Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
BEC30303
Computer Architecture and Organization
Chapter 1:
Basic Structure of Computers
Mohamad Hairol Jabbar
Department of Computer Engineering
http://fkee.uthm.edu.my/mhjabbar
COURSE CHAPTERS
OUTLINE
Computer types
Functional units
Basic operational concepts
Performance
Computer evolution
COMPUTER TYPES
WHAT IS A COMPUTER?
An electronic device that can input, process,
output and store data.
It takes data and converts it into information
Data is a single fact of idea
Information is data that has been processed
so that it can be presented in an organized
and meaningful way.
Data = pieces of jigsaw puzzle, information =
finished puzzle
Source: Go! All in One: Computer Concepts
and Applications, Pearson Education, 2012
Computer Architecture and Organization (BEC30303) | Chapter 1: Basic Structure of Computers
COMPUTER TYPES
Embedded computers application specific
computers
Personal computers general purpose
computers
Servers and enterprise systems
Supercomputers and grid computers
highest performance computers
FUNCTIONAL UNITS
Input
Memory
Output
Arithmetic
and
logic
Control
I/O
Processor
INFORMATION HANDLED
Instructions/machine instructions:
Govern the transfer of information within a
computer (between functional unit blocks)
Specify the arithmetic and logic operations to be
performed by the computer
It is the program
Data:
Used as operands by the instructions
It is the source of the program
10
MEMORY UNIT
Store programs and data
Two classes of storage:
Primary storage: fast, store program in memory
while they are being executed, large number of
semiconductor storage cells
Secondary storage: larger and cheaper
Primary storage
Secondary storage
11
ALU
Arithmetic logic unit
Execute most computer operations add,
sub, multiply
Primary functions:
Load operands into memory, bring them to the
processor, perform operations in ALU, store the
results back to memory or retain in the processor
12
CONTROL UNIT
Control all computer operations
Also manage timing signals for IO transfers
Operation of computer:
Accept information in the form of programs and
data through an input unit and store it in the
memory
Fetch the information stored in the memory,
under program control, into an ALU, when data is
processed
Output the processed data through an output unit
Control all activities inside the machine through a
control unit
Computer Architecture and Organization (BEC30303) | Chapter 1: Basic Structure of Computers
13
14
15
EXECUTION STEPS
Step name
Instruction fetch
Action for
branches
IR = MEM[PC]
PC = PC + 4
Instruction decode/
register fetch
Execution, address
computation, branch /
jump completion
A = Reg[IR[25-21]]
B = Reg[IR[20-16]]
ALUOut = PC + (sign extend (IR[15-0])<<2)
ALUOut = A op B
ALUOut = A+sign
IF (A==B)
extend(IR[15-0])
Then PC =
ALUOut
Memory access or
R-type completion
Reg[IR[15-11]] =
ALUOut
Memory read
5 completion
Action for
jumps
Load: MDR =
Mem[ALUOut]
or
Store: Mem[ALUOut] =
B
Load: Reg[IR[20-16]] =
MDR
16
PC =
PC[3128]||(IR[2
5-0]<<2)
REVIEW UNDERSTANDING
Activity in a computer in governed by
instructions
To perform a task, a program consists of a list
of instructions is stored in the memory
Individual instructions are brought from the
memory into the processor, which executes
the specified operations
Data to be used as operands are also stored
in the memory
18
19
20
PROCESSOR-MEMORY CONNECTION
Memory
MAR
MDR
Control
PC
R0
R1
Processor
IR
ALU
Rn -
n general purpose
registers
Connection between
processor and memory
21
REGISTERS
Common registers in processors:
Instruction register (IR)
Program counter (PC)
General purpose register (R0-Rn-1)
Memory address register (MAR)
Memory data register (MDR)
22
23
24
INTERRUPT
Normal execution of programs may be
preempted if some devices requires urgent
servicing
The normal execution of the current program
must be interrupted the device raises an
interrupt signal
The process interrupt service routine
Examples:
Current system information backup and restore
(PC, general purpose registers, control
information, specific information)
Computer Architecture and Organization (BEC30303) | Chapter 1: Basic Structure of Computers
25
BUS STRUCTURES
There are many ways to connect different
components inside a computer
A group of lines that serves as a connecting
path for several devices is called a bus
Address/data/control bus
26
Input
Output
Memory
Processor
27
28
PERFORMANCE
PERFORMANCE
The most important measure of a computer
is:
How quickly it can execute programs
How many instructions it can execute within a
period of time
30
PERFORMANCE HARDWARE
Processor time to execute a program
depends on the hardware involved in the
execution of individual machine instructions.
Main
memory
Cache
memory
Processor
Bus
31
PERFORMANCE MEMORY
High speed and high capacity of primary
memory can improve the performance of a
computer
The processor and a relatively small cache
memory can be fabricated on a single
integrated circuit.
Consideration when integrating cache
memories:
Speed
Cost
Memory management
Computer Architecture and Organization (BEC30303) | Chapter 1: Basic Structure of Computers
32
33
PERFORMANCE EQUATION
T processor time required to execute a
program that has been prepared in high level
language
N number of actual machine language
instructions needed to complete the execution
S average number of basic steps needed to
execute one machine instruction. Each step
completes in one clock cycle
R clock rate/speed T = N S How to improve T?
R
34
PIPELINE/SUPERSCALAR PROCESSOR
Instructions are not necessarily executed one
after another
The value of S does not have to be the
number of clock cycles to execute one
instruction
Pipeline overlapping the execution of
successive instructions
Superscalar multiple instruction pipelines
are implemented in the processor
Goal reduce S (could become <1!)
Computer Architecture and Organization (BEC30303) | Chapter 1: Basic Structure of Computers
35
CLOCK RATE/SPEED
Increase clock rate:
Improve the IC technology to make circuits faster
Reduce the amount of processing done in one
basic step (but may increase the number of basic
steps needed)
36
CISC/RISC
37
COMPILER
A compiler translates a high level program
into a sequence of machine instructions
To reduce N, we need a suitable machine
instruction set and a compiler that makes
good use of it.
Goal reduce N x S
A compiler may not be designed for a specific
processor, but a high quality compiler is
usually designed for specific processor
38
PERFORMANCE MEASURE
T is difficult to measure depends on various
elements
Measure computer performance using
benchmark programs
System performance evaluation corporation
(SPEC) selects and publishes representative
application programs for different applications
domains, together with test results for many
commercial available computers
39
SPEC MEASUREMENT
1
n
i =1
40
MULTIPROCESSOR COMPUTER
Can be:
Execute a number of different application tasks in
parallel
Execute subtasks of a single large task in parallel
41
COMPUTER EVOLUTION
COMPUTER EVOLUTION
43
Source: http://classes.soe.ucsc.edu/
44
To picture the
relative size of a
vacuum tube.
45
ENIAC CHARACTERISTICS
Weight 30 tons
1500 sq feet of area
Why it is so large?
18,000 vacuum tubes
140 kW power consumption
5,000 addition operations per second
Decimal machine
Memory consists of 20 accumulator, each
with 10 digit number
Manual programming setting switches,
plug/unplug cables
Computer Architecture and Organization (BEC30303) | Chapter 1: Basic Structure of Computers
46
EDVAC
Electronic discrete variable computer
Completed 1945
Stored program concept:
Attributed to ENIAC designers, most notably the
mathematician John Von Neumann
Program represented in a form suitable for
storing in memory alongside the data
IAS computer:
Princeton Institute of Advanced Studies (IAS)
Prototype of all subsequent general-purpose
computers
Computer Architecture and Organization (BEC30303) | Chapter 1: Basic Structure of Computers
47
EDVAC PICTURE
Source: http://web.soi.city.ac.uk/archive/image/lists/computers.html
48
49
50
Detailed structure
of IAS computer
51
IAS REGISTERS
Memory buffer register
(MBR)
Memory address
register (MAR)
Instruction buffer
register (IBR)
52
IAS OPERATIONS
Flowchart of IAS
operation
53
Instructions to be
executed on the IAS
computer
54
COMMERCIAL COMPUTERS
UNIVAC:
Universal automatic computer
First commercial general purpose computers
For both scientific and commercial applications
Several version: UNIVAC I (1951), UNIVAC II
(1958), UNIVAC III (1962)
55
IBM COMPUTERS
IBM 700 series computers:
Based on vacuum tubes technology
IBM 701:
1953, for scientific applications
Known as Defense Calculator
IBM 702:
Targeted for business applications
56
Advantages:
Dissipates less heat than a vacuum tube
Smaller
Cheaper
Source: www.nobelprize.org
Computer Architecture and Organization (BEC30303) | Chapter 1: Basic Structure of Computers
57
58
59
60
An IBM 7094
configuration
61
62
INTEGRATED CIRCUIT
A computer consists of gates, memory cells,
interconnection among this elements
The gates and memory cells are constructed
of simple digital electronic components
Many transistors can be produced at the
same time on a single silicon wafer
Transistors can be connected with a
processor metallization to/from circuits
63
WAFER/CHIP/GATE
Relationship among
silicon wafer, chip and
logic gate
64
CHIP GROWTH
Continuous growth of
transistor count in IC for
DRAM memory
Transistor
number
Year
65
66
67
68
69
70
71
CHARACTERISTICS
Source: http://www.csi.ucd.ie/
72
1970s Processors
73
1980s Processors
74
1990s Processors
75
Recent Processors
76
77
Source: http://www.csi.ucd.ie/
78
79
80
81
X86 ARCHITECTURE
82
X86
EVOLUTION (1/2)
8080:
First general purpose microprocessor
8 bits machine with 8 bits data path to memory
8086:
16 bits machine
Used an instruction cache or queue
80286:
Enabled addressing a 16 MB memory instead of
just 1 MB
83
X86
EVOLUTION (2/2)
80386:
Intels first 32 bit machine
First Intel processor to support multitasking
80486:
More sophisticated cache technology and
instruction pipelining
Built-in math coprocessor
84
X86
EVOLUTION PENTIUM
Pentium
Superscalar
Multiple
instructions
executed in
parallel
Pentium Pro
Increased
superscalar
organization
Aggressive
register
renaming
Branch
prediction
Data flow
analysis
Speculative
execution
Pentium II
MMX
technology
Designed
specifically to
process video,
audio, and
graphics data
Pentium III
Additional
floating-point
instructions to
support 3D
graphics
software
Pentium 4
Includes
additional
floating-point
and other
enhancements
for multimedia
85
Memory latency:
Memory speeds lag processor speed
86
87
Huge speed
gap and
increasing!
88
X86
EVOLUTION MULTICORE
Instruction set
architecture is
backward
compatible with
earlier versions
X86 architecture
continues to
dominate the
processor
market outside
of embedded
systems
Core
First Intel x86 microprocessor
with a dual core, referring to
the implementation of two
processors on a single chip
Core 2
Extends the architecture to 64
bits
Recent Core offerings have up
to 10 processors per chip
89
Frequency
has stalled
Number of
processor cores
is increasing
Year
90
MULTICORE
Strategy use two (or more) simple
processors on the chip rather than one more
complex processor
The use of multiple processors on the same
chip provides the potential to increase
performance without increasing the clock rate
Increasing performance through parallel
execution/processing
91
Source: intel.com
92
GPU
Graphic processing unit
Core designed to perform parallel operations
on graphics data
Used as vector processors for a variety of
applications that require repetitive
computations
High computational density and high memory
bandwidth
Throughput processor: many concurrent
threads
Computer Architecture and Organization (BEC30303) | Chapter 1: Basic Structure of Computers
93
EMBEDDED SYSTEMS
General definition:
A combination of computer hardware and
software, and perhaps additional mechanical or
other parts, designed to perform a dedicated
function.
In many cases, embedded systems are part of a
larger system of product, as in the case of an
antilock braking system in a car.
94
95
ARM PROCESSORS
Advanced RISC Machine
Family of RISC-based microprocessors and
microcontrollers
Design microprocessors and license them to
manufacturers
Most widely used embedded processor
architecture
Why RISC is used widely in
embedded system devices?
www.arm.com
Computer Architecture and Organization (BEC30303) | Chapter 1: Basic Structure of Computers
96
ARM3
ARM6
ARM7
ARM8
Notable Features
32-bit RISC
Multiply and swap
instructions;
Integrated memory
management unit,
graphics and I/O
processor
First use of processor
cache
First to support 32-bit
addresses; floatingpoint unit
Integrated SoC
5-stage pipeline; static
branch prediction
ARM9
ARM9E
ARM10E
ARM11
Cortex
XScale
Cache
Typical MIPS @
MHz
None
None
7 MIPS @ 12 MHz
4 KB unified
12 MIPS @ 25 MHz
4 KB unified
28 MIPS @ 33 MHz
8 KB unified
8 KB unified
60 MIPS @ 60 MHz
84 MIPS @ 72 MHz
16 KB/16 KB
Enhanced DSP
instructions
6-stage pipeline
9-stage pipeline
16 KB/16 KB
13-stage superscalar
pipeline
Applications
processor; 7-stage
pipeline
Variable
32 KB/32 KB L1
512 KB L2
32 KB/32 KB
Variable
97
FINISH