Escolar Documentos
Profissional Documentos
Cultura Documentos
Anti-dependence
r3 r1 op r2 Write-after-Read
r1 r4 op r5 (WAR) hazard
Output-dependence
r3 r1 op r2 Write-after-Write
r3 r6 op r7 (WAW) hazard
Introduction to Superscalar Processor
Data
Cache
4 Read 2 Write
IR0 Ports Branch Cond. Ports
ALU
PC
addr
rdata A
RF RF
Instr. IR1 Read Write
Cache
ALU
addr
B rdata
Data
Fetch 2 Instructions at
Cache
same time
Pipe A: Integer Ops., Branches
Pipe B: Integer Ops., Memory
Baseline 2-Way In-Order Superscalar
Processor
Data
Issue Logic / Cache
Instruction
Steering Pipe A: Integer Ops., Branches
Pipe B: Integer Ops., Memory
Baseline 2-Way In-Order Superscalar
Duplicate Control
Processor
IR0 Decode A
IR1 Decode B
Data
Cache
ADDIU F D A0 A1 W
LW F D B0 B1 W
Instruction Issue Logic swaps from
LW F D B0 B1 W natural position
ADDIU F D A0 A1 W
LW F D B0 B1 W
LW F D Structural
D B0 B1 W Hazard
Dual Issue Data Hazards
No Bypassing:
ADDIU R1,R1,1 F D A0 A1 W
ADDIU R3,R4,1 F D B0 B1 W
ADDIU R5,R6,1 F D A0 A1 W
ADDIU R7,R5,1 F D D D D A0 A1 W
Full Bypassing:
ADDIU R1,R1,1 F D A0 A1 W
ADDIU R3,R4,1 F D B0 B1 W
ADDIU R5,R6,1 F D A0 A1 W
ADDIU R7,R5,1 F D D A0 A1 W
Dual Issue Data Hazards
Order Matters:
ADDIU R1,R1,1 F D A0 A1 W
ADDIU R3,R4,1 F D B0 B1 W
ADDIU R7,R5,1 F D A0 A1 W
ADDIU R5,R6,1 F D B0 B1 W
Ii-1 HI1
interrupt
program Ii HI2
handler
Ii+1 HIn
Inst. Data
PC D Decode E + M W
Mem Mem
Asynchronous Interrupts
time
t0 t1 t2 t3 t4 t5 t6 t7 ....
IF I1 I2 I3 I4 I5
ID I1 I2 I3 nop I5
Resource EX I1 I2 nop nop I5
Usage
MA I1 nop nop nop I5
WB nop nop nop nop I5
Agenda
Instruction-Level Parallelism
Fetch Logic and Alignment
Interrupts and Exceptions
Interrupts and Bypassing
Precise Exceptions and Superscalars
Similar to tracking program order for data
dependencies, we need to track order for
exceptions
LW F D B0 B1 W
SYSCALL F D A0 A1 W
Data
Cache
Bypassing in Superscalar Pipelines
Branch Cond.
ALU
A
RF
Write
ALU
addr
B rdata
Data
Cache
Bypassing in Superscalar Pipelines
Branch Cond.
ALU
A
RF
Write
ALU
addr
B rdata
Data
Cache
Bypassing in Superscalar Pipelines
Branch Cond.
ALU
A1 3 5
RF
Write
ALU
addr
B2 rdata
Data
4 6
Cache
123456
Breaking Decode and Issue Stage
Bypass Network can become very complex
Can motivate breaking Decode and Issue Stage
D = Decode, Possibly resolve structural Hazards
I = Register file read, Bypassing, Issue/Steer
Instructions to proper unit
OpA F D I A0 A1 W
OpB F D I B0 B1 W
OpC F D I A0 A1 W
OpD F D I B0 B1 W
Superscalars Multiply Branch Cost
BEQZ F D I A0 A1 W
OpA F D I B0 - -
OpB F D I - - -
OpC F D I - - -
OpD F D - - - -
OpE F D - - - -
OpF F - - - - -
OpG F - - - - -
OpH F D I A0 A1 W
OpI F D I B0 B1 W
Acknowledgements
These slides contain material developed and copyright by:
Arvind (MIT)
Krste Asanovic (MIT/UCB)
Joel Emer (Intel/MIT)
James Hoe (CMU)
John Kubiatowicz (UCB)
David Patterson (UCB)
Christopher Batten (Cornell)