Uploaded by mfwankilaluyando

ENG2139 CH01 Fundamentals of Computer Hw Architecture 4

advertisement
ENG 2139 INTRODUCTION TO
INFORMATION
TECHNOLOGY (IT)
For 2ND Year Students doing
BEng. + BSc. Mines
ENG 2139
PART I
CH01 – INTRODUCTION TO
COMPUTER HARDWARE
1. HISTORICAL BACKGROUND OF
COMPUTING
STARTING FROM THE 1940s
• 1939: Hewlett-Packard is founded by David
Packard and Bill Hewlett in Palo Alto, California
(USA).
• 1943-1944: Two University of Pennsylvania
professors, John Mauchly and J. Presper Eckert,
build the Electronic Numerical Integrator and
Calculator (ENIAC).
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
3
1. HISTORICAL BACKGROUND OF
COMPUTING
• ENIAC is considered the grandfather of digital
computers, it fills a 6m x 12m room and has 18,000
vacuum tubes.
• 1946: Mauchly and Presper leave the University of
Pennsylvania.
• They then received funding from the Census
Bureau to build the UNIVAC.
• The first commercial computer for business and
government applications.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
4
1. HISTORICAL BACKGROUND OF
COMPUTING
• 1947: William Shockley, John Bardeen and Walter
Brattain of Bell Laboratories invent the transistor.
• They discovered how to make an electric switch
with solid materials and no need for a vacuum.
• This brought in the second generation of
computers, those based on transistors.
• The first generation was electro-mechanical and
vacuum tube computers.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
5
1. HISTORICAL BACKGROUND OF
COMPUTING
• 1953: Grace Hopper develops the first computer
language.
• Which eventually became known as COBOL.
• Thomas Johnson Watson Jr., son of IBM CEO
Thomas Johnson Watson Sr., conceives the IBM
701 EDPM to help the United Nations keep tabs on
Korea during the war.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
6
1. HISTORICAL BACKGROUND OF
COMPUTING
• 1958: Jack Kilby and Robert Noyce unveil the
integrated circuit, known as the computer chip.
• Kilby was awarded the Nobel Prize in Physics in
2000 for his work.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
7
1. HISTORICAL BACKGROUND OF
COMPUTING
• 1958 - 1962 – Programming languages
 FORTRAN (FORmula TRANslator)
 COBOL (COmmon Business Oriented Language)
 LISP (LISt Processor)
 ALGOL (ALGOrithmic Language)
 BASIC (Beginners All-purpose Symbolic Instruction
Code)
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
8
1. HISTORICAL BACKGROUND OF
COMPUTING
• 1964: Douglas Engelbart shows a prototype of
the modern computer, with a mouse and a
graphical user interface (GUI).
• This marks the evolution of the computer from a
device of geeks, to be more accessible to the
general public.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
9
1. HISTORICAL BACKGROUND OF
COMPUTING
• 1969: A group of developers at Bell Labs
produce UNIX operating system that addressed
compatibility issues.
• Written in the C programming language, UNIX
could run on multiple platforms.
• And became the operating system of choice
among mainframes at large companies and
government entities.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
10
1. HISTORICAL BACKGROUND OF
COMPUTING
• 1970: The newly formed Intel unveils the Intel
1103, the first Dynamic Access Memory (DRAM)
chip.
• 1971: Alan Shugart leads a team of IBM
engineers who invented the "floppy disk“.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
11
1. HISTORICAL BACKGROUND OF
COMPUTING
• The floppy was a removable magnetic storage
medium that allows recording and sharing of
data.
• 1973: Robert Metcalfe, a researcher at Xerox,
develops Ethernet for connecting multiple
computers and other hardware devices.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
12
1. HISTORICAL BACKGROUND OF
COMPUTING
• 1974 - 1977: A number of personal computers hit
the market: Scelbi & Mark-8 Altair, IBM 5100,
Radio Shack's TRS-80 and the Commodore PET.
• 1975: The Altair 8080 hits the market, described as
the "world's first minicomputer“.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
13
1. HISTORICAL BACKGROUND OF
COMPUTING
• 1976: Steve Jobs and Steve Wozniak start Apple
Computers on April Fool's Day and roll out the
Apple I.
• The first computer with a single-circuit board,
according to Stanford University.
• 1977: Jobs and Wozniak incorporate Apple and
show the Apple II to the public.
• It offers color graphics and incorporates an audio
cassette drive for storage.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
14
1. HISTORICAL BACKGROUND OF
COMPUTING
• Two "computer geeks," Paul Allen and Bill Gates,
offer to write software for the Altair, using the new
BASIC language.
• On April 4, 1975, the two childhood friends form
their own software company, called Microsoft.
• 1983: Apple's Lisa is the first personal computer
with a GUI (Graphical User Interface).
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
15
1. HISTORICAL BACKGROUND OF
COMPUTING
• 1985: Microsoft announces Windows operating
system.
• This was the company's response to Apple's GUI
(Graphical User Interface) design model.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
16
1. HISTORICAL BACKGROUND OF
COMPUTING
• 1981: The first IBM personal computer, codenamed "Acorn," is introduced.
• It uses Microsoft's MS-DOS operating system.
• It has an Intel chip, two floppy disks and an
optional color monitor.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
17
1. HISTORICAL BACKGROUND OF
COMPUTING
• Sears & Roebuck and Computerland sell the
machines.
• The first time a computer is sold through
distributors. It also popularizes the term PC
(Personal Computer).
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
18
1. HISTORICAL BACKGROUND OF
COMPUTING
• It also features a drop-down menu and icons.
• It flops but eventually evolves into the
Macintosh.
• The Gavilan SC is the first portable computer
with the familiar flip form factor, the first to be
marketed as a "laptop."
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
19
1. HISTORICAL BACKGROUND OF
COMPUTING
• 1985: The first dot-com domain name is
registered on March 15: Symbolics.com.
• This was the domain by the Symbolics Computer
Company, a small Massachusetts computer
manufacturer.
• More than two years later, only 100 dot-coms
had been registered.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
20
1. HISTORICAL BACKGROUND OF
COMPUTING
• 1986: Compaq brings the Deskpro 386 to market.
• Its 32-bit architecture provides a speed comparable
to mainframes.
• 1990: Tim Berners-Lee, a researcher at CERN, in
Geneva, develops HTML*, giving rise to the www.
• 1993: The Pentium microprocessor advances the
use of graphics and music on PCs.
(*) HyperText Markup Language
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
21
1. HISTORICAL BACKGROUND OF
COMPUTING
• 1994: PCs become gaming machines as:
 "Command & Conquer,"
"Alone in the Dark 2,"
"Theme Park,"
"Magic Carpet,"
"Descent" and
"Little Big Adventure"
are among the games to hit the market.
• 1996: Sergey Brin and Larry Page develop the
Google search engine at Stanford University.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
22
2. INTRODUCTION TO COMPUTER
HARDWARE ARCHTIECTURE
• This part of the course introduces you to the inner
working and organisation of a computing device.
• Computer Architecture may be defined as
describing the capabilities and programming model
of a computing device.
• It is a set of rules stating how computer’s elements
work together.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
23
2. INTRODUCTION TO COMPUTER
HARDWARE ARCHTIECTURE
• Any computing device takes input (by user or
another computer system)
• And produces an output, which can either be stored
or displayed.
Processing
Output
Figure 1.1: Desktop Computer
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
24
2. INTRODUCTION TO COMPUTER
HARDWARE ARCHTIECTURE
• Below is an example of a laptop as a computing
device; its different components are compact,
because it’s a portable “computer”.
Output (screen)
Figure 1.2: Laptop Computer
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
25
2. INTRODUCTION TO COMPUTER
HARDWARE ARCHTIECTURE
• Below is an example of a tablet as a computing
device; its different components are very compact,
because it’s a more versatile portable “computer”.
Output (screen)
Figure 1.3: Tablet
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
26
2. INTRODUCTION TO COMPUTER
HARDWARE ARCHTIECTURE
• Below is an example of a smart phone as a
computing device; its different components are
crammed, because it’s a mobile “computer”.
Output (screen)
Figure 1.4: A Mobile Phone
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
27
2. INTRODUCTION TO COMPUTER
HARDWARE ARCHTIECTURE
• It is important to note that computers do not speak
human languages!!!
• Computers are digital devices, i.e. they speak
“numbers” language.
• This means everything is converted into “numbers”;
in binary digits, simply known as “bits”.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
28
2. INTRODUCTION TO COMPUTER
HARDWARE ARCHTIECTURE
Figure 1.5: Computer Keyboard
• All letters, numbers and symbols are converted in binary, for
any computing device to process the input.
• There is a one-to-one conversion equivalence of every letter,
number and symbol into bit representation.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
29
2. INTRODUCTION TO COMPUTER
HARDWARE ARCHTIECTURE
• ASCII (American Standard Code for Information
Interchange) is is a character encoding that uses numeric
codes to represent characters.
• These include upper and lowercase English letters,
numbers, and punctuation symbols.
• Common numeric codes are hexadecimal, decimal, octal
and binary.
• The binary code has only digits ( 1 and 0) to represent
any input you feed into a computing device.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
30
2. INTRODUCTION TO COMPUTER
HARDWARE ARCHTIECTURE
EXAMPLE OF ASCII CODE AND ITS EQUIVALENT
Binary
0100000
0100001
0100010
0100011
0100100
30/03/2023
ASCII
Hex Decimal
Explanation
Symbol
20
32
SP
Blank space (Space)
21
33
!
Exclamation mark
22
34
“
Only quotes above
23
35
#
Pound sign
24
36
$
Dollar sign
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
31
2. INTRODUCTION TO COMPUTER
HARDWARE ARCHTIECTURE
EXAMPLE OF ASCII CODE AND ITS EQUIVALENT
Binary
0100101
0100110
0100111
010 1110
30/03/2023
ASCII
Hex Decimal
Symbol
25
37
%
26
38
&
27
39
’
2F
47
.
Explanation
Percentage sign
Commericial and
Apostrophe
dot
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
32
2. INTRODUCTION TO COMPUTER
HARDWARE ARCHTIECTURE
EXAMPLE OF ASCII CODE AND ITS EQUIVALENT
Binary
0101000
0101001
0101010
0101011
30/03/2023
ASCII
Hex Decimal
Symbol
28
40
(
29
41
)
2A
42
*
2B
43
+
Explanation
Left bracket
Right bracket
Asterisk
Plus symbol
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
33
2. INTRODUCTION TO COMPUTER
HARDWARE ARCHTIECTURE
EXAMPLE OF ASCII CODE AND ITS EQUIVALENT
Binary
0101100
0101101
0101110
0101111
30/03/2023
ASCII
Hex Decimal
Symbol
2C
44
,
2D
45
2E
46
.
2F
47
/
Explanation
Comma
Dash
Full stop
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
34
2. INTRODUCTION TO COMPUTER
HARDWARE ARCHTIECTURE
• These are some of computer architectures:
1.
2.
3.
4.
5.
30/03/2023
Von-Neumann Architecture
Harvard Architecture
Instruction Set Architecture
Microarchitecture
System Design
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
35
2. INTRODUCTION TO COMPUTER
HARDWARE ARCHTIECTURE
• It should be noted that there are three levels in
computer architecture:
Level 1 − Micro architectural level.
Level 2 − Instruction set architecture.
Level 3 − Operating system.
• In this course, we concentrate on the Von-Neumann
Architecture, which is widely used on most of
general-purpose computers.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
36
3. THE CPU (Central Processing Unit)
• The CPU is also called as a Central Processor or
Main Processor.
• The CPU is also referred as simply Microprocessor
• Basically, the microprocessor functions as the
‘brain’ of a computer system.
• It is one of the most important pieces of hardware in
any digital computing system – if not the most
important.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
37
3. THE CPU (Central Processing Unit)
• The CPU works as a processing engine (machine),
and the workhorse of the computer system.
• The CPU contains all the circuitry required to
process input, store data, and output results,
through its peripherals.
• At any given time, the CPU follows instructions it
receives through computer programs (software).
• The software instructs the CPU which data to
process and how to process it.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
38
3. THE CPU (Central Processing Unit)
Figure 1.7: Schematic Image of the CPU
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
39
3. THE CPU ELEMENTS
CONTROL UNIT (CU)
• The control unit (CU) is a component of a
computer's CPU that directs and supervises the
operation of the processor.
• The CU typically uses a binary decoder to convert
coded instructions into timing and control signals
that direct the operation of the other units.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
40
3. THE CPU ELEMENTS
ARITHMETIC LOGIC UNIT (ALU)
• An arithmetic-logic unit is the part of the CPU that
carries out arithmetic and logic operations on user inputs
(operands) in computer instruction payload.
• It is also known as an integer unit (IU) within the CPU or
GPU, which is the last component to perform
calculations in the processor.
• It has the ability to perform all arithmetic and logic
operations such as addition, subtraction, and shifting
operations, including Boolean comparisons (XOR, OR,
AND, and NOT operations).
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
41
3. THE CPU ELEMENTS
CPU REGISTERS
• Registers are a type of computer memory used to
quickly accept, store, and transfer data and
instructions that are being used immediately by the
CPU.
• They are also called Processor registers.
• Registers can hold any type of data, including a bit
sequence or a single piece of data.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
42
3. THE CPU ELEMENTS
CPU REGISTERS
The most common registers in a computer:
Register
Data register
Symbol
Number of bits
Function
Holds memory operand
DR
16
Address register
AR
12
Accumulator
Instruction register
AC
IR
16
16
Program counter
PC
12
Temporary register
TR
16
Holds address of the next
instruction
Holds temporary data
Input register
INPR
8
Carries input character
Output register
OUTR
8
Carries output character
Holds address for the
memory
Processor register
Holds instruction code
Table 1.1: Common CPU Registers
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
43
3. THE CPU ELEMENTS
CPU REGISTERS – PROGRAM COUNTER
The Program Counter is also referred to as:
⚫Instruction Counter
⚫Instruction Pointer (IP)
⚫Instruction Sequencer
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
44
3. THE CPU ELEMENTS
CPU REGISTERS – PROGRAM COUNTER
⚫It
is a Processor Register indicating
the machine position in its program
execution sequence.
⚫The Program counter will contain
the memory address of the next
program instruction.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
45
3. THE CPU ELEMENTS
CPU REGISTERS – PROGRAM COUNTER
⚫Instruction fetched, the P C
is incremented by 1
⚫The P C holds the memory address (“points to”) of the
next program instruction
⚫In a microprocessor where the fetch is first, P C holds
the memory address of the next instruction
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
46
3. THE CPU ELEMENTS
CPU REGISTERS – PROGRAM COUNTER
⚫Instructions are fetched
sequentially from
memory
⚫Three control transfer instructions place a new value
in the PC, these are:
◦ Jump
◦ Subroutine Call
◦ Subroutine Return
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
47
3. THE CPU ELEMENTS
CPU REGISTERS – PROGRAM COUNTER
⚫In a typical C P U
– P C is a binary counter, a
special register
⚫At Fetch instruction, C P U places the value of P C
on the address bus to send it to memory
⚫Memory responds by sending the content of that
memory location on the data bus.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
48
3. THE CPU ELEMENTS
CPU REGISTERS – PROGRAM COUNTER
⚫The above sequence is known as
stored-program
computer model based on Von Neumann
Architecture
⚫Executable Instructions are stored along side data
in memory – identical handling of the two.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
49
3. THE CPU ELEMENTS
CPU REGISTERS – PROGRAM COUNTER
Consequences in Machine Architecture
⚫A
Processor in which the P C that normally
increments is central to von Neumann Architecture
⚫The “von Neumann bottleneck” led to parallel
computing that do not use Program Counter (PC)
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
50
3. THE CPU ELEMENTS
CPU REGISTERS – PROGRAM COUNTER
Consequences in Machine Architecture
⚫The research also led to making
PC-based
CPUs run faster by:
◦ Pipelining – different hardware in the C P U executes different
phases of multiple instructions simultaneously;
◦ The Very Long Instruction Word (VLIW) architecture where a simple
instruction can achieve multiple effects;
◦ Techniques to predict out-of-order execution subsequent
instructions are executed out of the regular sequence
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
51
3. THE CPU ELEMENTS
CPU REGISTERS – PROGRAM COUNTER
Consequences in High-level Programming
⚫Though
execution of programs are still considered
sequential, there are new programming models:
◦ Multithreading – a concept of concurrency, several tasks are
seemingly executed at the “same” time;
◦ Event-driven programming – typical example is Graphical User
Interface - GUI;
◦ Dataflow programming each section of computing pipeline is
independent of other sections in terms of execution time
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
52
3. THE CPU ELEMENTS
CPU REGISTERS – STACK POINTER
⚫Subroutines are a very important
technique in
developing software:
◦ The Stack is a storage structure – abstract data type, a
collection of memory blocks - which is central to
subroutines;
◦ The Stack is defined (and reserved) area in the RAM, by
the Operating System.
◦ The Stack is a LIFO (Last-In-First-Out) memory buffer;
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
53
3. THE CPU ELEMENTS
CPU REGISTERS – STACK POINTER
The Stack andThe Stack Pointer (SP)
⚫In a computer system, execution of Subroutines is
a multi-steps operation:
◦ The two main operations that can be performed on a stack
are:
🞄 Push (addition) – write to the Stack;
🞄 Pop (removal) – Read from the Stack;
◦ The “Stack Pointer” is a special register in the Processor, which always
contains the memory address of the last program request on the
stack.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
54
3. THE CPU ELEMENTS
CPU REGISTERS – STACK POINTER
The Stack andThe Stack Pointer (SP)
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
55
3. THE CPU ELEMENTS
CPU REGISTERS – STACK POINTER
The Stack andThe Stack Pointer (SP)
⚫Example INTEL 8085
Microprocessor:
◦ Register A – Accumulator and the flag Register Fmake what is known as
Processor Status Word (PSW)
PUSH PSW
((SP) – 1)  (A)
((SP) – 2)  (F)
(SP)  (SP) – 2
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
56
3. THE CPU ELEMENTS
CPU REGISTERS – STACK POINTER
The Stack andThe Stack Pointer (SP)
⚫Example
INTEL 8085
Microprocessor:
POP PSW
(F)  (SP)
(A)  ((SP) + 1)
(SP)  (SP) + 2
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
57
3. THE CPU ELEMENTS
CPU REGISTERS – STACK POINTER
The Stack andThe Stack Pointer (SP)
⚫Stack overflow is a serious programming error
caused by overwriting of the stack
◦ The Stack overflow leads to program crash, it does corrupt the Stack
pointer;
◦ The Stack overflow is sometimes difficult to debug;
◦ Infinite loop – if not properly managed, may lead to stack overflow;
◦ Continuous recursive function – may also cause stack overflow.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
58
3. THE CPU ELEMENTS
FLOAT POINT PROCESSING UNIT (FPU)
• A floating point unit is an integrated circuit in the
CPU, which handles all mathematical operations on
floating point numbers or fractions.
• It is a dedicated chip specifically designed to work
on floating point numbers and nothing else.
• It can be defined as a specialised coprocessor that
can manipulate decimal numbers quicker than the
basic microprocessor circuitry itself.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
59
3. THE CPU ELEMENTS
CPU CACHE MEMORY
• Cache memory is a chip-based CPU component that
makes retrieving data more efficient.
• Cache memory is the temporary memory officially
termed as “CPU cache memory.”
• This cache memory feature of the computer lets the
user access some information more quickly than if
they accessed it from their computer's main
memory.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
60
3. THE CPU ELEMENTS
CPU SYSTEM BUSES
Figure 1.8: Schematic Diagram of CPU Buses
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
61
3. THE CPU ELEMENTS
CPU SYSTEM BUSES
• A system bus is a single set of electrical paths,
that connects the major components of a
computer system.
• They are combining the functions of:
 Address bus carries memory addresses from the processor to
other components such as primary storage and input/output
devices. The address bus is unidirectional;
 Data bus carries the data between the processor and other
components. The data bus is bidirectional
Control bus carries control signals from the processor to other
components. The control bus also carries the clock's pulses.
The control bus is unidirectional.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
62
4. THE CPU (Central Processing Unit)
COMPUTER ARCHITECTURE
• In this course, we concentrate on the Von-Neumann
Architecture, which is widely used on most of
general-purpose computers.
• This computer architecture was first
designed/defines around 1947 by John Von
Neumann, a Hungarian-American, who worked as a
Mathematics Professor at the Princeton University,
New Jersey, USA.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
63
4. THE VON NEUMANN ARCHITECTURE
• In this course, we concentrate on the Von-Neumann
Architecture, which is widely used general-purpose
computers.
Figure 1.16: Diagram of the Von
Neumann Architecture
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
64
4. THE VON NEUMANN ARCHITECTURE
• The Von-Neumann Architecture, is also known as a
Memory-based or Stored Program computer
architecture.
Figure 1.17: Diagram of the Von
Neumann Architecture
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
65
4. THE VON NEUMANN ARCHITECTURE
• The Von-Neumann Architecture, is based on the
principle of sequential execution of computer
programs
• This means that programs are executed on the
basis of one instruction at a time.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
66
4. THE VON NEUMANN ARCHITECTURE
Stored Program Concept
Figure 1.18: Another Diagram of the Von Neumann Architecture
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
67
4. THE VON NEUMANN ARCHITECTURE
Stored Program Concept
• There are three major parts
–The CPU (Central Processing Unit) which acts as the
brain coordinating all activities within the computer
–The memory unit where the program instructions and data
are temporarily stored
–The I/O (Input/Output) devices which allow the computer
to input information for processing and then output the
result
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
68
4. THE VON NEUMANN ARCHITECTURE
Stored Program Concept
• Today the CPU circuitry has been reduced to ICs
called the microprocessor, the entire computer with
the three parts is called a microcomputer
• Several registers (e.g., flip-flops wired in series with
each other)
 Some are general purpose, the accumulator for example
is reserved for performing complex mathematical
operations like multiply and divide, and all I/O data has
to go thru the accumulator
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
69
4. THE VON NEUMANN ARCHITECTURE
Stored Program Concept
• The basic timing of the computer is controlled
by a square wave oscillator or a clock
generator circuit.
 Synchronization
 Determines how fast the program can be fetched from
memory and executed
• Memory Read or Fetch Cycle
 IP: Instruction Pointer
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
70
4. THE VON NEUMANN ARCHITECTURE
Stored Program Concept
• Memory unit consists of a large number of storage
locations each with its own address. As a Prime
Memory it can be observed as:
–RAM (Random Access Memory) and its volatility.
Typically 8 bit wide
–ROM (Read Only Memory)
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
71
5. THE CPU & THE MOTHERBOARD
Figure 1.9: Computer Motherboard with CPU in focus
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
72
5. THE CPU & THE MOTHERBOARD
Figure 1.7: Computer Motherboard with CPU in focus
Figure 1.10: Computer Motherboard with Description of its Elements
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
73
5. THE CPU & THE MOTHERBOARD
• The motherboard is the main printed circuit board
(PCB) which is a connection junction of some of the most
important components inside a computer system.
• The motherboard (PCB) is a hardware component which
defines the system configuration in terms of
microprocessor and the main memory – RAM (Random
Access Memory).
• The computer motherboard is defined as an electronic
circuit board which facilitates the connection between the
central processing unit (CPU), its peripherals, and other
electronic devices connected to the system.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
74
6. MICROPROCESSORS
Figure 1.11: Classification of Microprocessors
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
75
6. MICROPROCESSORS
Figure 1.12: Types of Microprocessors (by Instruction Set)
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
76
6. MICROPROCESSORS
• Processors will differ depending on whether the
machine is a mobile phone, a tablet, a laptop, a
desktop or a server.
• By design, processors are made for a purpose; and
the estate of the host machine does count.
• Other factors are performance and heat dissipation,
i.e. heat sinks in the host machine.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
77
6. EVOLUTION OF MICROPROCESSORS
Figure 1.13: Moore’s Law
(up to 2020)
Source: https://en.wikipedia.org/wiki/Moore%27s_law
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
78
6. EVOLUTION OF MICROPROCESSORS
MOSFET scaling
(process nodes)
•10 µm – 1971
•6 µm – 1974
•3 µm – 1977
• 1.5 µm – 1981
•1 µm – 1984
•800 nm – 1987
•600 nm – 1990
•350 nm – 1993
•250 nm – 1996
•180 nm – 1999
•130 nm – 2001
•90 nm – 2003
•65 nm – 2005
•45 nm – 2007
•32 nm – 2009
•22 nm – 2012
•14 nm – 2014
•10 nm – 2016
•7 nm – 2018
•5 nm – 2020
•3 nm – 2022
Figure 1.14: MOSFET Scaling
Future
•2 nm ~ 2024
Source: https://en.wikipedia.org/wiki/Moore%27s_law
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
79
6. EVOLUTION OF MICROPROCESSORS
Figure 1.15: Moore’s Law
(over 122 years)
Source: https://www.unite.ai/moores-law/
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
80
7. THE CPU & ITS PERIPHERALS
MAIN MEMORY - RAM
• Random-access memory is a form of computer’s short-term
memory that can be read and changed in any order.
• It is typically used to store working data and machine code.
• The CPU can access RAM memory much faster than data
on a hard disk, SSD, or other long-term storage device.
• RAM capacity is therefore critical for system performance.
• RAM is also known as working memory
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
81
7. THE CPU & ITS PERIPHERALS
READ ONLY MEMORY - ROM
• Read-only memory, or ROM, is a computer storage
containing non-volatile, permanent data that, normally, can
only be read.
• ROM contains the programming that allows a computer to
start up or regenerate each time it is turned on.
• It is said that ROM is “stateful” in its enduring state,
whereas RAM is “stateless.”
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
82
7. THE CPU & ITS PERIPHERALS
HARD DISK DRIVE - HDD
• A hard drive or hard disk drive (HDD) is a type of data
storage device that is used in laptops, desktop or server
computers.
• An HDD is a “non-volatile” storage drive, which means it
can retain the stored data even when no power is supplied to
the device.
• The HDD is the main storage for installed applications in a
computing device.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
83
8. THE CPU & THE COMPUTER
• A computing device is made of Hardware and
Software.
CPU
Figure 1.16: Layers Models of a Computer
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
84
8. THE CPU & THE COMPUTER
Figure 1.17: Different Parts of a Computer
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
85
9. FORCES INFLUENCING COMPUTER
ARCHITECTURE
Technology
Programming
Languages
Applications
Computer
Architecture
Operating
Systems
History
Figure 1.18: Factors influencing Computer Architecture
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
86
9. FORCES INFLUENCING COMPUTER
ARCHITECTURE
APPLICATIONS
• Increased requirement of faster software applications by a
demanding consumer market, has lead to change in
computer hardware architecture.
• With the advent of advanced Chips, we now have multi-core
processors.
• This may open an opportunity of implementing parallel
computing by software engineers and developers.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
87
9. FORCES INFLUENCING COMPUTER
ARCHITECTURE
HISTORY
• Advances in technology have been made possible by
learning from past failures.
• The desire of humanity is to improve the living standards
through innovation.
• This can only be made possible if society looks back, learn
and correct mistakes of yesterday.
• It is common knowledge that IT has improved through past
lessons (History)!!!
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
88
9. FORCES INFLUENCING COMPUTER
ARCHITECTURE
OPERATING SYSTEMS
• Operating systems, being the “Virtual Machine” to the user;
to the user, it abstracts the complexity of computer
hardware architecture.
• Operating systems have historically been closely tied to the
architecture of the computers on which they run.
• At the same, Operating Systems have influenced computer
hardware architecture, especially in the area of multitasking or concurrency.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
89
9. FORCES INFLUENCING COMPUTER
ARCHITECTURE
PROGRAMMING LANGUAGES
• A primary concern of the hardware designer is with the
functionality provided to the programming user and
programming language compiler.
• The functionality is affected directly by the selection of an
instruction set for the computer.
• A determinant factor of the instruction set efficiency is its
usefulness to the compiler code generator and hardware
implementation consideration.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
90
9. FORCES INFLUENCING COMPUTER
ARCHITECTURE
TECHNOLOGY
• Advances in IC (Integrated Circuit a.k.a. Chip) industry has
enabled vendors to produce novel computer hardware.
• Computer Hardware Architecture has now moved from
single-core processors to multi-core processors.
• With multi-core processors, a number of constraints due to
the Van Neumann architecture have now been overcome,
due to high performance processors.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
91
10.SUPER COMPUTERS
INTRODUCTION
• As of May 2022, the fastest supercomputer on the
TOP500 supercomputer list is Frontier, in the US.
• LINPACK benchmark score of 1.102 ExaFlop/s,
followed by Fugaku.
• The US has five of the top 10; China has two; Japan,
Finland, and France have one each.
• Russia has also super computer(s); but their number
is not known!
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
92
10.SUPER COMPUTERS
INTRODUCTION
Source: https://unsplash.com/s/photos/super-computer
Source: https://stock.adobe.com/nl/search?k=supercomputer
Figure 1.19: Pictures of Some super computers
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
93
10.SUPER COMPUTERS
CURRENT USES
• Supercomputers are used for data-intensive and
computation-heavy scientific and engineering
purposes.
• Fields requiring super computers are:
Quantum mechanics;
Weather forecasting;
Oil and gas exploration;
Molecular modeling;
30/03/2023
Physical simulations;
Aerodynamics;
Nuclear fusion research;
And cryptoanalysis.
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
94
10.SUPER COMPUTERS
NEXT GENERATION
• The debut of a supercomputer called Frontier at Oak
Ridge National Laboratory marks the beginning of a
new era of computational chemistry.
• Frontier can perform more than a quintillion
operations per second, making it the first
supercomputer tested to break what is known as the
exascale barrier.
30/03/2023
Copyrights © 2020 -2024, Department of Electrical & Electronic Engineering, University of Zambia
95
Download