pipelines
Table of Contents
Pipelining
This lecture covers the design and implementation of the MIPS CPU using a pipeline. This implementation addresses the two main faults of the single-cycle CPU not by eliminating hardware redundancy but by allowing more than one instruction to execute at the same time thereby no hardware unit will be idle. The high latency of the single-cycle approach is also not minimized but it is offset by high throughput. Stage balancing, pipeline structure, and hazard detection and avoidance are the key drivers of pipelining.
Outline
- The pipelining concept, balancing, and latency versus throughput
- The need for pipeline registers
- The MIPS ISA is designed to eliminate structural hazards
- Data hazards and forwarding
- Inserting a bubble into a pipeline
- Handling branch hazards
- Delayed branching and populating the delay slot
Big Ideas
- One can increase throughput despite an increase in latency
- For a process to be pipelined, the stages must be balanced and no structural violations should be allowed
- Dependencies tend to lower the pipeline's throughput
Slides from Lecture
To Do
- Read Sections 6.1 through 6.7 of the textbook.
- Do the pipeline exercises (in the Resources page).
pipelines.txt · Last modified: 2007/11/23 20:45 by 127.0.0.1