Lec12c - COMP 4300 Computer Architecture Scoreboard Dr....

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

View Full Document Right Arrow Icon
1 COMP 4300 Computer Architecture Scoreboard Dr. Xiao Qin Auburn University http://www.eng.auburn.edu/~xqin xqin@auburn.edu Fall, 2010
Background image of page 1

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

View Full DocumentRight Arrow Icon
2 Typical Scoreboard Structure 2 FP multiply, 1 FP adder, 1 FP divider, 1 integer
Background image of page 2
3 1. Issue —decode instructions & check for If a functional unit for the instruction is free ( no structural hazards ) and no other active instruction has the same destination register ( no WAW ), the scoreboard issues the instruction to the functional unit and updates its internal data structure. If a structural or WAW hazard exists, then the instruction issue stalls , and no further instructions will issue until these hazards are cleared. 2. Read operands —wait until no data hazards, then read operands (ID2) A source operand is available if no earlier issued active instruction is going to write it, or if the register containing the operand is being written by a currently active functional unit ( no RAW ). When the source operands are available, the scoreboard tells the functional unit to proceed to read the operands from the registers and begin execution. The scoreboard resolves RAW hazards dynamically in this step , and instructions may be sent into execution out of order. Using A Scoreboard: 4 stages Always done in program order Can be done out of program order
Background image of page 3

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

View Full DocumentRight Arrow Icon
4 3. Execution — operate on operands (EX) The functional unit begins execution upon receiving operands. When the result is ready, it notifies the scoreboard that it has completed execution. 4. Write result — finish execution (WB) Once the scoreboard is aware that the functional unit has completed execution, the scoreboard checks for WAR hazards. If none, it writes results. If WAR, then it stalls the instruction. Example: DIVD F0, F2, F4 ADDD F10, F0, F8 SUBD F8 , F8, F14 Scoreboard would stall SUBD until ADDD reads operands Using A Scoreboard: 4 stages (cont.)
Background image of page 4
5 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. Set to No after operands are read. 3. Register result status —Indicates which functional unit will write each register, if one exists. Blank when no pending instructions will write that register Using A Scoreboard: 3 parts
Background image of page 5

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

View Full DocumentRight Arrow Icon
6 A Scoreboard Example The following code is run on the MIPS with a scoreboard given earlier with: L.D F6, 34(R2) L.D F2, 45(R3) MUL.D F0, F2, F4 SUB.D F8, F6, F2 DIV.D F10, F0, F6 ADD.D F6, F8, F2 Functional Unit (FU) # of FUs EX cycles Integer 1 1 Floating Point Multiply 2 10 Floating Point add 1 2 Floating point Divide 1 40 Real Data Dependence (RAW) Anti-dependence (WAR) Output Dependence (WAW) All functional units are not pipelined (similar to CDC6600)
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.

Page1 / 32

Lec12c - COMP 4300 Computer Architecture Scoreboard Dr....

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