Appearing earlier have not been completed s ziavras

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

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 or both 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 execution Scoreboarding technique: allows out-of-order instr. execution when there are sufficient resources & no data dependences – Named after the CDC 6600 scoreboard Tomasulo’s algorithm: more sophisticated algorithm more sophisticated S. Ziavras...
View Full Document

{[ snackBarMessage ]}

Ask a homework question - tutors are online