Home
Concepts
Classifications
Glossary Terms
References
Authors
Instruction Execution I-Unit Pipelining I-Unit Bypassing Die Size Technology Prediction
I-Unit Bypassing Overview Bypassing Example Bypassing Overview

Bypass Pipelining - Overview

Bypassing is when an interlocked instruction obtains a result from an earlier source instead of  waiting for the instruction that writes the result to complete. Here's an example: If an instruction is waiting for a LA instruction's result. Instead of waiting for the LA instruction to finish, the interlocked instruction can obtain what will be the result of the LA instruction from result of the LA when it was in the A-Stage. This would allow the instruction to get the value it needs up to 4 cycles earlier. It would look at the EA because the LA instruction has only one operand, and that operand would not change the value of the EA before actually writing it.
Another important bypass is from the result of the E-Unit. Many instructions will have source operands that are the result of a mathematical operation of another instruction. If the instruction that produces the result is too close to the instruction that needs the value, then the instruction will interlock. until the result is available. By having a bypass from the output of the E-Unit, the interlocked instruction can get the result directly out of the E-Unit. With out this bypass, the instruction would stay interlocked for another cycle waiting for the W-Stage to write the result.
Previous Home Next