4th Lecture Computer Architecture
4th Lecture Computer Architecture
ILP
Todays Agenda
Well consider techniques to increase instruction level
parallelism
o What limits ILP; how much we can expect to extract
o How to best exploit the available ILP
Pipeline Review
Pipeline CPI = Ideal pipeline CPI + Structural stalls + Data hazard stalls + Control stalls
Structural Hazards
o H/w cannot support this combination of instructions
Data Hazards
o Instruction consumes a result not yet produced
Control Hazards
o Caused by time required for branch and jump resolution
3
ILP Example
Caravanning on a trip,
must stay in order to
prevent losing anyone
Loop-Level Parallelism
Exploit parallelism among iterations of a loop
10
Data Dependence
Inst J is data dependent on Inst I if
o
11
Anti-dependence
o
12
13
Control Dependence
Every instruction (except in the very first basic block) is control
dependent on same set branches
In general, these control dependencies must be preserved to
preserve program order
o
o
S1 is control dependent on p1
S2 is control dependent on p2 but not on p1
14
THE END
15