 |
|
|
|
|
3.4 Breaks in Machine Execution |
|
|
|
| |
 |
|
|
|
|
3.4.1 Instruction Run Length |
|
|
|
| |
 |
|
|
|
|
3.4.2 Branches |
|
|
|
| |
 |
|
|
|
|
3.4.3 Branch Target Distribution |
|
|
|
| |
 |
|
|
|
|
3.4.4 Condition Code Testing |
|
|
|
| |
 |
|
|
|
|
3.4.5 Move and Arithmetic Class Operations |
|
|
|
| |
 |
|
|
|
|
3.4.6 Register-Based Addressing |
|
|
|
| |
 |
|
|
|
|
3.4.7 Decimal and Character Operand Length |
|
|
|
| |
 |
|
|
|
|
3.5 Conclusions |
|
|
|
| |
 |
|
|
|
|
3.6 Some Areas for Further Research |
|
|
|
| |
 |
|
|
|
|
3.7 Data Notes |
|
|
|
| |
 |
|
|
|
|
3.8 Annotated Bibliography |
|
|
|
| |
 |
|
|
|
|
3.9 Problem Set |
|
|
|
| |
|
|
|
|
|
4
Pipelined Processor Design |
|
|
|
| |
 |
|
|
|
|
4.1 Introduction |
|
|
|
| |
 |
|
|
|
|
4.1.1 Evolution of a Computer Processor Family |
|
|
|
| |
 |
|
|
|
|
4.1.2 Processor Design |
|
|
|
| |
 |
|
|
|
|
4.1.3 Organization of the Chapter |
|
|
|
| |
 |
|
|
|
|
4.2 Approaching Pipelined Processors |
|
|
|
| |
 |
|
|
|
|
4.2.1 Examples of Pipeline Implementations |
|
|
|
| |
 |
|
|
|
|
4.3 Evaluating Pipelined Processor Performance |
|
|
|
| |
 |
|
|
|
|
4.4 Design of a Pipelined Processor |
|
|
|
| |
 |
|
|
|
|
4.4.1 Cache Access Controller |
|
|
|
| |
 |
|
|
|
|
4.4.2 Accounting for the Effect of Buffers in a Pipelined System |
|
|
|
| |
 |
|
|
|
|
4.4.3 Buffer Design |
|
|
|
| |
 |
|
|
|
|
4.4.4 Designing a Buffer for a Mean Request Rate |
|
|
|
| |
 |
|
|
|
|
4.4.5 I-Buffers Designed for Maximum Request Rates |
|
|
|
| |
 |
|
|
|
|
4.5 Branches |
|
|
|
| |
 |
|
|
|
|
4.5.1 Branch Elimination |
|
|
|
| |
 |
|
|
|
|
4.5.2 Branch Speedup |
|
|
|
| |
 |
|
|
|
|
4.5.3 Branch Prediction Strategies |
|
|
|
| |
 |
|
|
|
|
4.5.4 Branch Target Capture: Branch Target Buffers |
|
|
|
| |
 |
|
|
|
|
4.6 Interlocks |
|
|
|
| |
 |
|
|
|
|
4.6.1 Decoder and Interlocks |
|
|
|
| |
 |
|
|
|
|
4.6.2 Bypassing |
|
|
|
| |
 |
|
|
|
|
4.6.3 Address Generation Interlocks |
|
|
|
| |
 |
|
|
|
|
4.6.4 Execution Interlocks and Interlock Tables |
|
|
|
| |
 |
|
|
|
|
4.7 Run-On Delay |
|
|
|
| |