Instruction Scheduling Flashcards
1
Q
What is instruction scheduling?
A
how the processor does register renaming and out-of-order execution
2
Q
What are the differences between Tomasulo’s Algorithm and modern processors?
A
- Only handles floating point instructions (now: all instructions)
- Looks ahead at a fewer number of instructions (now: 100s)
- Hardware didn’t directly support exception handling
3
Q
What are the steps in Tomasulo’s Algorithm?
A
- instruction queue - fetch unit pushes instructions into the instruction queue
- Issue - instruction is dequeued and sent to a reservation station, where it waits to be executed
- Dispatch - Instruction dequeued from reservation station and sent to an ALU to be executed
- Write result / broadcast - Instruction has been executed and we broadcast the results back to the instruction queue, registers, and reservation stations so that their values can be updated
4
Q
How does Tomasulo’s algorithm handle load / store instructions?
A
Just do them in order (memory locations can also have data dependencies)