|
|
|
|
|
2
Time, Area, and Instruction Sets |
|
|
|
| |
 |
|
|
|
|
2.1 Introduction |
|
|
|
| |
 |
|
|
|
|
2.2 Time |
|
|
|
| |
 |
|
|
|
|
2.2.1 The Nature of a Cycle |
|
|
|
| |
 |
|
|
|
|
2.2.2 Partitioning Instruction Execution into Cycles |
|
|
|
| |
 |
|
|
|
|
2.2.3 Clocking Overhead and Reliable Clocking |
|
|
|
| |
 |
|
|
|
|
2.2.4 Pipelined Processors |
|
|
|
| |
 |
|
|
|
|
2.2.5 Optimum Pipelining |
|
|
|
| |
 |
|
|
|
|
2.2.6 Cycle Quantization |
|
|
|
| |
 |
|
|
|
|
2.2.7 Wave Pipelining |
|
|
|
| |
 |
|
|
|
|
2.3 Cost-Area |
|
|
|
| |
 |
|
|
|
|
2.3.1 Area |
|
|
|
| |
 |
|
|
|
|
2.3.2 Data Storage |
|
|
|
| |
 |
|
|
|
|
2.4 Technology State of the Art |
|
|
|
| |
 |
|
|
|
|
2.5 The Economics of a Processor Project: A Study |
|
|
|
| |
 |
|
|
|
|
2.5.1 Phase 1: Development |
|
|
|
| |
 |
|
|
|
|
2.5.2 Phase 2: Early Manufacturing |
|
|
|
| |
 |
|
|
|
|
2.5.3 Phase 3: Production |
|
|
|
| |
 |
|
|
|
|
2.5.4 Phase 4: All Good Things Must Come to an End |
|
|
|
| |
 |
|
|
|
|
2.6 Instruction Sets: Processor Evaluation Metrics |
|
|
|
| |
 |
|
|
|
|
2.6.1 Program Execution |
|
|
|
| |
 |
|
|
|
|
2.6.2 Instruction Set Comparisons |
|
|
|
| |
 |
|
|
|
|
2.6.3 Invariant Effects |
|
|
|
| |
 |
|
|
|
|
2.6.4 Code Density |
|
|
|
| |
 |
|
|
|
|
2.6.5 Role of Registers, Evaluation Stacks, and Data Buffers |
|
|
|
| |
 |
|
|
|
|
2.7 Conclusions |
|
|
|
| |
 |
|
|
|
|
2.8 Some Areas for Further Research |
|
|
|
| |
 |
|
|
|
|
2.9 Data Notes |
|
|
|
| |
 |
|
|
|
|
2.10 Annotated Bibliography |
|
|
|
| |
 |
|
|
|
|
2.11 Problem Set |
|
|
|
| |
|
|
|
|
|
3
Data: How Programs Behave |
|
|
|
| |
 |
|
|
|
|
3.1 Introduction |
|
|
|
| |
 |
|
|
|
|
3.2 Instruction Usage |
|
|
|
| |
 |
|
|
|
|
3.2.1 Data Categories |
|
|
|
| |
 |
|
|
|
|
3.2.2 Format Distribution |
|
|
|
| |
 |
|
|
|
|
3.2.3 Operation Set Distribution |
|
|
|
| |
 |
|
|
|
|
3.3 Process Management |
|
|
|
| |
 |
|
|
|
|
3.3.1 Procedure Calls: User State |
|
|
|
| |
 |
|
|
|
|
3.3.2 Calls to the System |
|
|
|
| |