Lecture 5 - Instruction Level Parallelism (OOO) Flashcards
(3 cards)
1
Q
Dynamic Scheduling [Definition, advantages and disadvantages]
A
- Dynamic scheduling rearranges the order of instructions to reduce stalls while maintaining data flow.
- (Advantage) It handles cases where dependencies are unknown at compile time and tolerates cache delays (through hiding latency).
- (Disadvantage) It increases hardware complexity and complicates exception handling.
- Out-of-order execution and completion create the possibility for WAR (Write After Read) and WAW (Write After Write) hazards
2
Q
Register Renaming (Definition, Explain Mechanism)
A
- Register Renaming is a technique used to allow instructions to use different physical registers, even if its the same logical register.
- Register renaming is introduced in hardware to minimize WAR and WAW hazards, and also allow out-of-order execution.
- It is provided by reservation stations (RS)
3
Q
Tomasulo’s Algorithm
(Definition, Mechanism - 3 Steps IEW)
A
Tomasulo’s Algorithm is a technique that uses dynamic scheduling of instructions that allow out-of-oder executions.
Tomasulo’s Algorithm involves three main steps:
- Issue:
- Get the next instruction from the FIFO queue.
- If a reservation station is available, issue the instruction to the RS with operand values (if available).
- If operand values are not available, stall the instruction. - Execute:
- When an operand becomes available, store it in all RSs waiting for it.
- When all operands are ready in an RS, execute the instruction. - Write Result:
- Write the result of the operation onto the CDB.