Materi ORKOM Perkuliahan 11
Superscalar
What is Superscalar?
- Common instructions (arithmetic, load/store, conditional branch) can be initiated and executed independently
- Equally applicable to RISC & CISC
- In practice usually RISC
General Superscalar Organization
Superpipelined
- Many pipeline stages need less than half a clock cycle
- Double internal clock speed gets two tasks per external clock cycle
- Superscalar allows parallel fetch execute
Superscalar v
Superpipeline
Limitations
- Instruction level parallelism
- Compiler based optimisation
- Hardware techniques
- Limited by
- True data dependency
- Procedural dependency
- Resource conflicts
- Output dependency
- Antidependency
Procedural Dependency
- Can not execute instructions after a branch in parallel with instructions before a branch
- Also, if instruction length is not fixed, instructions have to be decoded to find out how many fetches are needed
- This prevents simultaneous fetches
Dependencies
Instruction Issue Policy
- Order in which instructions are fetched
- Order in which instructions are executed
- Order in which instructions change registers and memory
In-Order Issue In-Order Completion (Diagram)
In-Order Issue
Out-of-Order Completion
- Output dependency
- R3:= R3 + R5; (I1)
- R4:= R3 + 1; (I2)
- R3:= R5 + 1; (I3)
- I2 depends on result of I1 - data dependency
- If I3 completes before I1, the result from I1 will be wrong - output (read-write) dependency
Out-of-Order Issue
Out-of-Order Completion
- Decouple decode pipeline from execution pipeline
- Can continue to fetch and decode until this pipeline is full
- When a functional unit becomes available an instruction can be executed
- Since instructions have been decoded, processor can look ahead
Machine Parallelism
- Duplication of Resources
- Out of order issue
- Renaming
- Not worth duplication functions without register renaming
- Need instruction window large enough (more than 8)
Superscalar Execution
- Stallings chapter 13
- Manufacturers web sites
- IMPACT web site
- research on predicated execution
Komentar
Posting Komentar