Professional Documents
Culture Documents
CPU
ROM/ RAM
DISK
KBD/ Display
MICROPROCESSOR
CPU on a Single VLSI Chip
WHAT IS INSTRUCTION ?
Tells the p what action to perform Arithmetic, Logic Operation Read Data from Input Device Write to memory Reset Stop
INSTRUCTION
ADD A, B, C
Address bus
BIU
Discs
Video
Data Bus
EU
Memory Interface
A B C D E F G H
ALU
EU Registers
SIZE OF A MICROPROCESSOR
Size of Data Bus
Size of Registers
Size of ALU
PROCESSOR BUSES
A0 A19 Processor D0 D15
Add Bus
Data Bus
Control signals
MEMORY
ROM
Non-Volatile Read Only
RAM
Volatile Random Access Memory
A0 A1 A2
D0 D1 D2
An-3 An-2
Dm-3 Dm-2
An-1
Dm-1
2n x m
ADDRESS BUS
No of Address lines
20 lines A19 A0 1 MB
Nibble Organised
Byte Organised
PROCESSORS
ISA
Execution model Processor registers Address and Data formats
Microarchitecture
Interconnections - various micro architectural elements of machine ALU Data Path Control Path
Physical Realization
INSTRUCTION
ADD A, B
INSTRUCTION
ADD M1, B
INSTRUCTION
ADD M1, M2
INSTRUCTION
ADD A, B, M1
INSTRUCTION
ADD A, M1,M2
INSTRUCTION
ADD M3, M1,M2
RISC Vs CISC
Goal: Multiply data in mem A with B- put it back in A A CISC: B MUL A,B C RISC: LDA LDA R0,A R1,B R0 R1
Mem
MUL
STR
R0,R1
A,R0
R2
R3
x,,+,-
Time Program
Time cycle
Cycles Inst
Instructions Program
RISC
CISC
CPU- SPEEDUP
1 Instruction Per Cycle (1 IPC)
Replication
INSTRUCTION PIPELINES
Instruction: Fetch Decode Execute
1. 2. 3.
IF1
ID1
IE1
IF2
ID2
IE2
IF3
ID3
IE3
9 cycles IF1 ID1 IF2 IE1 ID2 IF3 IE2 ID3 IE3
Register File
FLYNNS TAXNOMY
SISD
SIMD
MISD MIMD
SISD
Load A
Load B
C = A+B Store C A=B*2 Store A
time
SIMD
Load A(0) Load B(0) C(0) = A(0)+B(0) Store C(0) A (0)= B (0)* 2 Store A(0) Load A(1) Load B(1) C(1) = A(1)+B(1) Store C(1) A (1)= B (1)* 2 Store A(1) Load A(2) Load B(2) C(2) = A(2)+B(2) Store C(2) A (2)= B (2)* 2 Store A(2) time
MISD
Prev inst Prev Inst Prev Inst Load B(1) C(1) = B(1) *1 Store C(1) Next Inst Load B(1) C(2) = B(1) *2 Store C(2) Next Inst Load B(1) C(3) = B (1) *n Store C(3) Next Inst time
MIMD
Prev inst Prev Inst Call funcD x = y*z sum = x *2 Next Inst Prev Inst time
Data width 8 16 16 32
80486
Pentium Pentium II Pentium III Pentium 4
1989
1993
1.2 M
3.1M
20 -100 MHz
60-200 MHz 233-450 MHz 450 -933 MHz 1.5 GHz
32
32 /64 32/ 64 32 /64 32/ 64