< previous page page_195 next page >

Page 195
0195-01.gif
5. The weighted occurrence of this delay is added to the minimum execution time found in (3).
6. Continue until the major delay classes have been assessed.
Dependencies or breaks generally arise from one of three causes:
1. Procedural dependencies or branches. The pipeline is delayed because in-line fetching of instructions is disrupted. The branch target must first be fetched before the pipeline can resume execution.
2. Data conflictsunavailability of a source operand. This can occur for several reasons; typically, the current instruction requires an operand that is the result of a preceding uncompleted instruction.
3. Resource contention or run-on effectsmultiple successive instructions using the same resource or an instruction with a long execution time that delays a successor instruction to preserve in-order execution.
We now summarize these for a simple pipelined processor.
Simple Pipelined Processor Break Evaluation Rules
1. Branch
d87111c01013bcda00bb8640fdff6754.gif
(a) BC (in-line) instruction.
d87111c01013bcda00bb8640fdff6754.gif
For the next instruction (* + 1), the decode (D) waits until the cycle following the CC set.
d87111c01013bcda00bb8640fdff6754.gif
(b) BC (target).
d87111c01013bcda00bb8640fdff6754.gif
Decode of target instruction waits until target is fetched (TIF) and CC is set.
d87111c01013bcda00bb8640fdff6754.gif
(c) BR.
d87111c01013bcda00bb8640fdff6754.gif
Decode of target waits for TIF of the BR.
2. Data
d87111c01013bcda00bb8640fdff6754.gif
(a) Address dependency.
d87111c01013bcda00bb8640fdff6754.gif
The AG stage of the pipeline of the dependent instruction waits for the execution of a prior instruction.
d87111c01013bcda00bb8640fdff6754.gif
(b) Execution (PA).
d87111c01013bcda00bb8640fdff6754.gif
The EX stage of the dependent instruction waits for completion (PA) of a prior instruction.
3. Run-on
d87111c01013bcda00bb8640fdff6754.gif
On a run-on, the instruction following the run-on waits before entering execution (EX) for a time sufficient to ensure that its PA (final EX) occurs after the PA (or final EX) of the run-on instruction.

 
< previous page page_195 next page >