Superscalar and Super Pipelined Processors
Superscalar and Super Pipelined Processors
Superscalar and Super Pipelined Processors
When instructions must be completed (i.e. have altered register and/or memory) in
program order, it is called in-order completion, otherwise out-of-order completion
may result. In-order issue is easier to implement but may not yield the optimal
performance. Proper scheduling can avoid stalling the pipelines. A number of possible
scheduling policies are possible. In the examples below, the pipeline cycle is the
minimum time between consecutive exchanges between each stage of the pipeline.
I1 requires two cycles to execute. I3 and I4 conflict for the same functional unit. I5
depends on the value produced by I4. I5 and I6 conflict for a functional unit.
Instructions are only decoded up to the point of a dependency or resource conflict. No
additional instructions are decoded until the conflict is resolved. This means a
maximum of two instructions can be in the execute stage as later instructions have a
time dependency on earlier ones executing first.