Академический Документы
Профессиональный Документы
Культура Документы
INSTITUT FR INFORMATIK
COMPUTER ARCHITECTURE
Lecture 8
CA - VIII - PU&MC - 1
FUNDAMENTAL CONCEPTS SEQUENCING OF CONTROL SIGNALS CONCEPTS OF MICROPROGRAMMING MICROINSTRUCTION FORMATS HARDWIRED vs. MICROPROGRAMMED CONTROL UNIT
CA - VIII - PU&MC - 2
The typical control unit consists mainly of registers and combinational execution logic (in hardwired systems) and additional fast control memory (in microprogrammed systems)
CA - VIII - PU&MC - 4
X
R ( i )
X
R ( i )O U T Y IN
X
Y YO U T
X
A B
ALU
Z IN
X Z
X
Z OU T
All signals R(i)in, R(i)out, Yin, Yout, Zin, Zout are triggered by a CONTROL UNIT CA - VIII - PU&MC - 5
Op-code IR
Address
SYNCHRONOUS
vs.
CA - VIII - PU&MC - 7
FIXED
vs.
VARIABLE
1) use of the fixed binary counter & decoder (cycle length corresponds to the maximum length control sequence) (slower but less expensive) 2) fixed counter with a cycle length determined by the fetch phase; for the longer control sequences multiple cycles of the counter are utilized
2) selectable-modulo counter where the length of the counter cycle is determined by the instruction to be executed (reset after instruction executed)
CA - VIII - PU&MC - 8
T0| PC MAR, 1 R T1| M (MAR) MDR T2| MDR IR; decode; restore memory T3| (PC + 1) PC EXECUTION PHASE T0| T1| T2| T3| 1 R; Ad (IR) MAR M (MAR) MDR MDR X; restore memory X+AZ
CA - VIII - PU&MC - 9
MAR T0 PC INCREMENT BY 1
FETCH
MDR
EXECUTE
0
Ad( IR)
PENTIUM LAYOUT
Instruction Fetch Code TLB
Clock Driver
Code Cache
Instruction Decode
Branch Prediction Logic Control Logic Complex Instruction Support Pipelined Floating Point
CA - VIII - PU&MC - 12
v pipeline
u pipeline
Floatingpoint pipeline
CA - VIII - PU&MC - 13
EFLAG register
0 31 16 15 0
EIP ESP
31 16 15
IP SP AL BL CL DL
FLAG
CS SS DS ES FS GS
0 19 0
TR LDTR
TSS base address LDT base address IDT base address GDT base address
TSS limit LDT limit IDT limit GDT limit Debug registers
Control registers
31 16 15 0
31
16 15
TR7 TR6
EFLAG register
0 31 16 15 0
EIP ESP
31 16 15
IP SP
FLAG
AH BH CH DH
SI DI BP
AL BL CL DL
CS SS DS ES FS GS
0 19 0
TSS base address LDT base address IDT base address GDT base address
0 31
Debug registers
0
CR4 CR3 CR2 CR1 CR0 Model-specific registers Machine check address register Machine check type register TR12
63
CA - VIII - PU&MC - 15
I-Cache
D-Cache
Caches
32KB instruction & 32KB data cache 64-way set associative, 32 byte line
I-Cache Control
MMU
D-Cache Control
Dynamic branch prediction Interrupt controller supports 12 external and 20 internal interrupts 36-bit real address 64-entry, unified, fully associative TLB
4-entry instruction TLB; 8-entry data TLB
Debug/Trace
Floating-point registers
63
PIPELINING
A TECHNIQUE OF OVERLAPPED PROCESSING IN ORDER TO INCREASE FREQUENCY OF TASK COMPLETIONS: A PIPELINE WORKS LIKE AN ASSEMBLY LINE. THERE ARE INSTRUCTION, ARITHMETIC AND PROCESSOR PIPELINES.
b) A PIPELINE OF ADDERS
Ai
Bi +
Ci +
Di + X i
Tpipe - pipeline processing time k - the number of stages in the pipeline Each addition requires one clock cycle: Tpipe = kTc + (n-1)Tc = (k+n-1)Tc
CA - VIII - PU&MC - 18
ADD eax, mem32 Decode ADD Fetch mem32 Add eax+ mem32 Result to eax
Decode
CA - VIII - PU&MC - 19
Write-back
Execution
D1, D2 - First / Second Decoding Stage (operand addresses) EX, X1, X2 - Execution WB - Write Back (in three stages), (Update the Status Register) WF Write Floating-Point Register, Rounding-off ER - Error checking
CA - VIII - PU&MC - 20
Time
F Fetch instruction
Time
Generation 4
F F D D F F A A D D F F R R A A D D F F E E R R A A D D W W E E R R A A W W E E R R W W E E W W F F F D D D F F F A A A D D D F F F R R R A A A D D D F F F E E E E E E E E E
Generation 5
E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E W W W W W W W W W W (some latency) W W
Time
Time
Dataflow model
CA - VIII - PU&MC - 22
A SIMPLE SEQUENCER
Add sequence
Fetch sequence
Multiply sequence
+
Divide sequence
CA - VIII - PU&MC - 23
Status
Control sequences
Control logic
Decoder
Counter Count
CA - VIII - PU&MC - 24
Step 2
Step 3
Transfer operand address to memory address register Fetch the operand(s) from main memory
Step 4
Step 5
Step 6
CA - VIII - PU&MC - 25
MDR Decoder X Control logic Control signals Adder Counter T Clock pulses ACC
CA - VIII - PU&MC - 26
DR<-AC
Write M
Yes
AC AR DR DR(OP) DR(ADR) IR M PC
= Accumulator = Memory Address Register = Memory Data Register = Opcode Field of DR = Address Field of DR = Instruction Register = Memory = Program Counter
Read M
Read M
PC<DR(ADR)
Fetch Cycle
CA - VIII - PU&MC - 27
Execute Cycle
c0 c1 c12
CA - VIII - PU&MC - 28
F2
F3
F 4
F 5
F 6
F7
F8
Instruction decoder
Combinational circuit N
IR AC = 0 (for JUMPZ)
c1
c 12
CA - VIII - PU&MC - 29