Hardware Reference
In-Depth Information
FIGURE 3.18 The issue steps for a pair of dependent instructions (called 1 and 2)
where instruction 1 is FP load and instruction 2 is an FP operation whose first operand
is the result of the load instruction; r1 and r2 are the assigned reservation stations for
the instructions; and b1 and b2 are the assigned reorder buffer entries . For the issuing in-
structions, rd1 and rd2 are the destinations; rs1 , rs2 , and rt2 are the sources (the load only has
one source); r1 and r2 are the reservation stations allocated; and b1 and b2 are the assigned
ROB entries. RS is the reservation station data structure. RegisterStat is the register data struc-
ture, Regs represents the actual registers, and ROB is the reorder buffer data structure. Notice
that we need to have assigned reorder buffer entries for this logic to operate properly and re-
call that all these updates happen in a single clock cycle in parallel, not sequentially!
We can generalize the detail of Figure 3.18 to describe the basic strategy for updating the is-
sue logic and the reservation tables in a dynamically scheduled superscalar with up to n issues
per clock as follows:
1. Assign a reservation station and a reorder buffer for every instruction that might be issued
in the next issue bundle. This assignment can be done before the instruction types are
known, by simply preallocating the reorder buffer entries sequentially to the instructions
in the packet using n available reorder buffer entries and by ensuring that enough reserva-
tion stations are available to issue the whole bundle, independent of what it contains. By
 
Search WWH ::




Custom Search