Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Slide 1EECS 470
© Wenisch 2009
EECS 470Midterm Review
Fall 2019
Prof. Ron Dreslinski
http://www.eecs.umich.edu/courses/eecs470
Slide 2EECS 470
© Wenisch 2009
Announcements
Exam is Thursday, 10/17 7:00-8:30 in 1571 GGBLr I recommend bringing a scientific calculator
Slide 3EECS 470
© Wenisch 2009
Key Concepts
•Parallelism
• Locality
•Amortization
•Speculation
Slide 4EECS 470
© Wenisch 2009
Performance – Key PointsAmdahl’s law
Soverall = 1 / ( (1-f) + f/S )Iron law
Averaging Techniques
CycleTime
nInstructioCycles
ProgramnsInstructio
ProgramTime
´´=
å =
n
i iTimen 1
1å =
n
i
iRate
n
1
1 nn
iiRatioÕ
=1
ArithmeticTime
HarmonicRates
GeometricRatios
Slide 5EECS 470
© Wenisch 2009
Stuff from the first half• Averaging techniques• Instruction-level parallelism• Performance impact of in-order vs OoO
Slide 6EECS 470
© Wenisch 2009
Power
• Why do power and energy matter for various markets?• Dynamic, leakage• Power ~ ½ C V2 A f• Performance ~ f ~ V• Know how to compare voltage/freq scaling to other techniques• Power vs. energy• PDP, EDP, ED2P
Slide 7EECS 470
© Wenisch 2009
Hazards
• Register data hazards• WAR, WAW, RAW• How do we eliminate WAR, WAW hazards?
• Control hazards• Structural hazards• Memory data hazards
Slide 8EECS 470
© Wenisch 2009
Instruction level parallelism
• What is ILP?• How is it different from instructions per cycle?• What is the critical path?• What is a data flow graph?
Slide 9EECS 470
© Wenisch 2009
Scoreboarding
• How does the scoreboard machine improve over 5-stage pipe?• What are its limitations?
Slide 10EECS 470
© Wenisch 2009
Tomasulo’s algorithm
• What does it do?• What hazards does it address?• What hazards remain?• What are its limitations?
Slide 11EECS 470
© Wenisch 2009
Precise Interrupts
• What are precise interrupts?• How do we implement them?• What impact does maintaining precise state have on
performance?
Slide 12EECS 470
© Wenisch 2009
P6/R10K Microarchitecture
• What do the key structures contain?• What are the inputs/outputs from each structure?
• What are the advantages and disadvantages of P6/R10K?
Slide 13EECS 470
© Wenisch 2009
R10K Cycle # 0ROBht # Insn T Told S X Cth 1 R3=R1*R2
2 R1=R3+R23 R4=R4+10 4 R2=R2+55 R3=R4+R2
Map TableReg T+r1 p1+r2 p2+r3 p3+r4 p4+
Reservation Stations# Instruction # T T1 T21234
CDBT(s)
Free ListP5,p6,p7,p8,p9,p10
Slide 14EECS 470
© Wenisch 2009
R10K Cycle # 1ROBht # Insn T Told S X Ch 1 R3=R1*R2 p5 p3t 2 R1=R3+R2 p6 p1
3 R4=R4+10 4 R2=R2+55 R3=R4+R2
Map TableReg T+r1 p6r2 p2+r3 p5r4 p4+
Reservation Stations# Instruction # T T1 T21 (1) p5 p1+ p2+2 (2) p6 p5 p2+34
CDBT(s)
Free Listp5,p6,p7,p8,p9,p10
Slide 15EECS 470
© Wenisch 2009
R10K Cycle # 2ROBht # Insn T Told S X Ch 1 R3=R1*R2 p5 p3 c2
2 R1=R3+R2 p6 p13 R4=R4+10 p7 p4
t 4 R2=R2+5 p8 p25 R3=R4+R2
Map TableReg T+r1 p6r2 p8r3 p5r4 p7
Reservation Stations# Instruction # T T1 T21 (1) p5 p1+ p2+2 (2) p6 p5 p2+3 (3) p7 p4+ -4 (4) p8 p2+ -
CDBT(s)
Free Listp7,p8,p9,p10
Slide 16EECS 470
© Wenisch 2009
R10K Cycle # 3ROBht # Insn T Told S X Ch 1 R3=R1*R2 p5 p3 c2 c3
2 R1=R3+R2 p6 p13 R4=R4+10 p7 p4 c34 R2=R2+5 p8 p2 c3
t 5 R3=R4+R2 p9 p5
Map TableReg T+r1 p6r2 p8r3 p9r4 p7
Reservation Stations# Instruction # T T1 T21 (5) p9 p7 p82 (2) p6 p5 p2+3 (3) p7 p4+ -4 (4) p8 p2+ -
CDBT(s)
Free Listp9,p10
Slide 17EECS 470
© Wenisch 2009
R10K Cycle # 4ROBht # Insn T Told S X Ch 1 R3=R1*R2 p5 p3 c2 c3+
2 R1=R3+R2 p6 p13 R4=R4+10 p7 p4 c3 c44 R2=R2+5 p8 p2 c3 c4
t 5 R3=R4+R2 p9 p5
Map TableReg T+r1 p6r2 p8r3 p9r4 p7
Reservation Stations# Instruction # T T1 T21 (5) p9 p7 p82 (2) p6 p5 p2+34
CDBT(s)
Free Listp10
Slide 18EECS 470
© Wenisch 2009
R10K Cycle # 5ROBht # Insn T Told S X Ch 1 R3=R1*R2 p5 p3 c2 C3+ c5
2 R1=R3+R2 p6 p1 c53 R4=R4+10 p7 p4 c3 c4 c54 R2=R2+5 p8 p2 c3 c4
t 5 R3=R4+R2 p9 p5
Map TableReg T+r1 p6r2 p8r3 p9r4 p7+
Reservation Stations# Instruction # T T1 T21 (5) p9 p7+ p82 (2) p6 p5+ p2+34
CDBT(s)p5,p7
Free Listp10
Slide 19EECS 470
© Wenisch 2009
R10K Cycle # 6ROBht # Insn T Told S X Ct 1 R3=R1*R2 P3 or p10 p9
h 2 R1=R3+R2 p6 p1 c5 c6
3 R4=R4+10 p7 p4 c3 c4 c5
4 R2=R2+5 p8 p2 c3 c4 c6
5 R3=R4+R2 p9 p5 c6
Map TableReg T+r1 p6r2 p8+r3 p9r4 p7+
Reservation Stations# Instruction # T T1 T21 (5) p9 p7+ p8+2 (6) Or (1) p3 or p10 p6 p8+34
CDBT(s)p8
Free List(p10 or p3) Opposite of T