Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Re-Order Buffer (ROB, or called Renaming Buffer): Consider a superscalar microprocessor with a superscalar factor of six. It has a design, using reservation stations, a

image text in transcribed

Re-Order Buffer (ROB, or called Renaming Buffer): Consider a superscalar microprocessor with a superscalar factor of six. It has a design, using reservation stations, a renaming butter, and a reorder buffer to support out-of-order execution. The functional units have the following latencies (measured in number of cycles): Register # Dest. Tag Value Value Valid? Busy taken)? Integer ALU: I cycle FP divide: 10 cycles FP multiply: 5 cycles FP add sub: 10 cycles Memory: 10 cycles Branch: I cycle a) [10 pts) Suppose that the superscalar pipeline is empty and the following instructions are issued. F3 holds value 80, F4 holds value 4. and FS holds value 2. Inst 12 13 14 IS Instruction ADDF FI, F3, F4 MULTF F2, F3, F5 ADDF F3, F1, F2 ADDF F2, F4,F3 DIVF F4. F2. F4 MULTF F3, F4, F5 (b) [10 pts Suppose the processor is executing the following code fragment: Inst 12 There are 3 reservation stations for the FPAdd functional unit, 2 reservation stations for the FPMultiply functional unit, and I reservation station for the FPDivide functional unit. Instruction DIVF FO, F1, F2 MULTF F3, F4, F5 ADDF FO, F7, F8 SUBF F9.FIO. FII SUBF F12, F13, F14 MULTF F15, F16, F17 15 What is the status of the reservation stations and renaming buffer once all the instructions have been issued and 12 has completed execution and its results have been broadcast? Assume that none of the other functional units have finished execution yet; only the MULTF for 12 has finished execution Suppose the reorder buffer has the state shown in the first 5 columns of this table: Busy? Operation RS name (Dest. Tag) FPAddi Sourcel Value Tag Source2 Value Tag Inst Reg # Dest. Tag Validaty Status Will Write to Register File Order in which results are written FO FPAdd2 FPDiv! FPMulti FPAddi FPAdd2 FPAdd3 FPMult2 F3 FO F9 F12 F15 FPAdd3 FPMultiply IS 16 FPMultiply2 FPDividel The meaning of the status codes are: C = execution has completed, P = execution is pending, E = an exception occurred, M = mispredicted instruction, Fill in the rightmost 2 columns in the table above. Indicate with a "Yes" which instructions will write their result back to the register file. For those instructions that will write to the register file, indicate in what order they write their results. (If an instruction's results are not written back to the register file, then put a "No" and a "X" in the last 2 columns.) Re-Order Buffer (ROB, or called Renaming Buffer): Consider a superscalar microprocessor with a superscalar factor of six. It has a design, using reservation stations, a renaming butter, and a reorder buffer to support out-of-order execution. The functional units have the following latencies (measured in number of cycles): Register # Dest. Tag Value Value Valid? Busy taken)? Integer ALU: I cycle FP divide: 10 cycles FP multiply: 5 cycles FP add sub: 10 cycles Memory: 10 cycles Branch: I cycle a) [10 pts) Suppose that the superscalar pipeline is empty and the following instructions are issued. F3 holds value 80, F4 holds value 4. and FS holds value 2. Inst 12 13 14 IS Instruction ADDF FI, F3, F4 MULTF F2, F3, F5 ADDF F3, F1, F2 ADDF F2, F4,F3 DIVF F4. F2. F4 MULTF F3, F4, F5 (b) [10 pts Suppose the processor is executing the following code fragment: Inst 12 There are 3 reservation stations for the FPAdd functional unit, 2 reservation stations for the FPMultiply functional unit, and I reservation station for the FPDivide functional unit. Instruction DIVF FO, F1, F2 MULTF F3, F4, F5 ADDF FO, F7, F8 SUBF F9.FIO. FII SUBF F12, F13, F14 MULTF F15, F16, F17 15 What is the status of the reservation stations and renaming buffer once all the instructions have been issued and 12 has completed execution and its results have been broadcast? Assume that none of the other functional units have finished execution yet; only the MULTF for 12 has finished execution Suppose the reorder buffer has the state shown in the first 5 columns of this table: Busy? Operation RS name (Dest. Tag) FPAddi Sourcel Value Tag Source2 Value Tag Inst Reg # Dest. Tag Validaty Status Will Write to Register File Order in which results are written FO FPAdd2 FPDiv! FPMulti FPAddi FPAdd2 FPAdd3 FPMult2 F3 FO F9 F12 F15 FPAdd3 FPMultiply IS 16 FPMultiply2 FPDividel The meaning of the status codes are: C = execution has completed, P = execution is pending, E = an exception occurred, M = mispredicted instruction, Fill in the rightmost 2 columns in the table above. Indicate with a "Yes" which instructions will write their result back to the register file. For those instructions that will write to the register file, indicate in what order they write their results. (If an instruction's results are not written back to the register file, then put a "No" and a "X" in the last 2 columns.)

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Larry Ellison Database Genius Of Oracle

Authors: Craig Peters

1st Edition

0766019748, 978-0766019744

More Books

Students also viewed these Databases questions