Hardware Reference
In-Depth Information
C
Pipelining: Basic and Interme-
diate Concepts
It is quite a three-pipe problem.
Sir Arthur Conan Doyle
The Adventures of Sherlock Holmes
C.1 Introduction
C.2 The Major Hurdle of Pipelining—Pipeline Hazards
C.3 How Is Pipelining Implemented?
C.4 What Makes Pipelining Hard to Implement?
C.5 Extending the MIPS Pipeline to Handle Multicycle Operations
C.6 Puting It All Together: The MIPS R4000 Pipeline
C.7 Crosscuting Issues
C.8 Fallacies and Pitfalls
C.9 Concluding Remarks
C.10 Historical Perspective and References
Updated Exercises by Diana Franklin
C.1 Introduction
Many readers of this text will have covered the basics of pipelining in another text (such as
our more basic text Computer Organization and Design ) or in another course. Because Chapter 3
builds heavily on this material, readers should ensure that they are familiar with the concepts
discussed in this appendix before proceeding. As you read Chapter 2 , you may find it helpful
to turn to this material for a quick review.
We begin the appendix with the basics of pipelining, including discussing the data path im-
plications, introducing hazards, and examining the performance of pipelines. This section de-
scribes the basic five-stage RISC pipeline that is the basis for the rest of the appendix. Section
C.2 describes the issue of hazards, why they cause performance problems, and how they can
be dealt with. Section C.3 discusses how the simple five-stage pipeline is actually implemented,
focusing on control and how hazards are dealt with.
Section C.4 discusses the interaction between pipelining and various aspects of instruction
set design, including discussing the important topic of exceptions and their interaction with
pipelining. Readers unfamiliar with the concepts of precise and imprecise interrupts and re-
 
Search WWH ::




Custom Search