Assume that there are sufficient reservation stations, 1 fmul unit, one fadd unit,
and that we have the following execution times:
load:1, fadd:2, fmul:10, fdiv:40
We assume the integer operations complete in 1 cycle
We assume a dedicated ALU is used for address calculations and it can do one operation per cycle.
We assume that the floating point functional units become available on the cycle after the result is put on the CDB.
Fill in the
Instruction Summary Table or look at it
here
or tripled
here.
or for double-sided printing
here.
Here is an interactive table to be filled in.
Here is a solution after all instructions have completed, assuming that all memory accesses are cache hits and take one cycle.
Note that in order to issue:
A reservation unit must be available
Note that in order to start execution:
All operands must be available
An execution unit must be available
Today's News: November 4, 2015
Assignment 3 available
Change in quiz grade calculation
Tomasulo's Approach
Answer the following questions, each time starting with the original assumptions:
How would the results change if there were only one add reservation station?
answer
How would the results change if there were 2 multiply functional units?
answer
The last instruction modifies F6 before the previous instruction which uses F6 starts to execute.
Is this a problem?
answer
How would this change if the DIV.D instruction used F2 instead of F0?
answer
How would this change if the DIV.D instruction used F2 instead of F0 and there were 2 multiply functional units?
answer
The instruction ADD.D F0,F4,F4
is executed at the end of this code. On what cycle does it complete?
answer
Today's News: November 6, 2015
Assignment 3 available
Change in quiz grade calculation
How would this change if the second memory access is a cache miss with a miss penalty of 6 cycles?
answer
How would this change if the second memory access is a cache miss with a miss penalty of 6 cycles and the DIV.D instruction used F4 instead of F0?
answer
How would this change if the an fmul takes 5 cycles instead of 10?
answer