This preview shows page 1. Sign up to view the full content.
Unformatted text preview: vior must be preserved,
dynamically scheduled processors may generate
imprecise exceptions (processor state not identical to
one corresponding to in-order execution). Raised:
– Instrs. appearing later (program order) completed
appearing later (program order) completed
– Instrs. appearing earlier have not been completed
S. Ziavras Supporting Out-Of-Order Execution
• Divide ID (instruction decode) stage in:
1. Issue: Decode instrs., check for structural hazards
2. Read operands: Wait until no data hazards, then
read operands We distinguish among
1. instr. begins execution
2. instr. completes execution
3. Between these times, instr. is in execution
• Multiple instrs. can be in execution at the same time
instrs can be in execution at the same time
• Having multiple instrs. in execution at once requires
• Multiple FUs
• Pipelined FUs
S. Ziavras Dynamic Scheduling: Basic Techniques
• • • All instrs. pass through the issue stage in order (inorder issue)
However, they can be stalled or bypass each other in
the second stage (read operands) & thus result in outof-order execution
Scoreboarding technique: allows out-of-order instr.
execution when there are sufficient resources & no
– Named after the CDC 6600 scoreboard
Tomasulo’s algorithm: more sophisticated
algorithm more sophisticated S. Ziavras...
View Full Document
This document was uploaded on 02/09/2014.
- Fall '09