4 - Tomasulo

4 - Tomasulo - Lecture 4: Tomasulo Algorithm and Dynamic...

Info iconThis preview shows pages 1–7. Sign up to view the full content.

View Full Document Right Arrow Icon
DAP Spr.‘98 © UCB 1 Lecture 4: Tomasulo Algorithm and Dynamic Branch Prediction Professor David A. Patterson Computer Science 252 Spring 1998
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
DAP Spr.‘98 © UCB 2 Review: Summary Instruction Level Parallelism (ILP) in SW or HW Loop level parallelism is easiest to see SW parallelism dependencies defined for program, hazards if HW cannot resolve SW dependencies/compiler sophistication determine if compiler can unroll loops Memory dependencies hardest to determine HW exploiting ILP Works when can’t know dependence at run time Code for one machine runs well on another Key idea of Scoreboard: Allow instructions behind stall to proceed (Decode => Issue instr & read operands) Enables out-of-order execution => out-of-order completion ID stage checked both for structural & data dependencies
Background image of page 2
DAP Spr.‘98 © UCB 3 Review: Three Parts of the Scoreboard 1.Instruction status —which of 4 steps the instruction is in 2.Functional unit status —Indicates the state of the functional unit (FU). 9 fields for each functional unit Busy —Indicates whether the unit is busy or not Op —Operation to perform in the unit (e.g., + or –) Fi —Destination register Fj, Fk —Source-register numbers Qj, Qk —Functional units producing source registers Fj, Fk Rj, Rk —Flags indicating when Fj, Fk are ready 3.Register result status —Indicates which functional unit will write each register, if one exists. Blank when no pending instructions will write that register
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
DAP Spr.‘98 © UCB 4 Review: Scoreboard Example Cycle 3 Instruction status Read ExecutioWrite Instruction j k Issue operandcompletResult LD F6 34+ R2 1 2 3 F2 45+ R3 MULT F0 F2 F4 SUBD F8 F6 F2 DIVD F10 F0 F6 ADDDF6 F8 F2 Functional unit status dest S1 S2 FU for FU for kFj? Fk? Time Name Busy Op Fi Fj Fk Qj Qk Rj Rk Integer Yes Load F6 R2 Mult1 No Mult2 Add Divide Register result status Clock F0 F2 F4 F6 F8 F10 F12 ... F30 3 FU Integer Issue MULT? No, stall on structural hazard
Background image of page 4
DAP Spr.‘98 © UCB 5 Review: Scoreboard Example Cycle 9 Instruction status Read ExecutioWrite Instruction j k Issue operandcompletResult LD F6 34+ R2 1 2 3 4 F2 45+ R3 5 6 7 8 MULT F0 F2 F4 6 9 SUBD F8 F6 F2 7 9 DIVD F10 F0 F6 8 ADDDF6 F8 F2 Functional unit status dest S1 S2 FU for FU for kFj? Fk? Time Name Busy Op Fi Fj Fk Qj Qk Rj Rk Integer No 10 Mult1 Yes Mult F0 F2 F4 Mult2 2 Add Sub F8 F6 F2 Divide Div F10 F0 F6 Mult1 Register result status Clock F0 F2 F4 F6 F8 F10 F12 ... F30 9 FU Mult1 Add Divide Read operands for MULT & SUBD? Issue ADDD?
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
DAP Spr.‘98 © UCB 6 Review: Scoreboard Example Cycle 17 Instruction status Read ExecutioWrite Instruction j k Issue operandcompletResult LD F6 34+ R2 1 2 3 4 F2 45+ R3 5 6 7 8 MULT F0 F2 F4 6 9 SUBD F8 F6 F2 7 9 11 12 DIVD F10 F0 F6 8 ADDDF6 F8 F2 13 14 16 Functional unit status dest S1 S2 FU for FU for kFj? Fk?
Background image of page 6
Image of page 7
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 01/21/2012 for the course CSCI 593 taught by Professor Hamnes during the Spring '11 term at St. Cloud.

Page1 / 60

4 - Tomasulo - Lecture 4: Tomasulo Algorithm and Dynamic...

This preview shows document pages 1 - 7. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online