Computer
Organization and Design
(Textbook. Click for information.)
 CS 2733/2731
 Computer Organization II
 Fall 2004

 Recitation 10
 Pipelining: Forwarding
    Week 10: Oct 25-29
 Due (on time): 2004-11-03  23:59:59
 Due (late):        2004-11-07  23:59:59

Recitation 10 must be submitted following directions at: submissions on or before
  • 2004-11-03  23:59:59 (that's Wednesday, 3 November 2004, 11:59:59 pm) for full credit.
  • 2004-11-07  23:59:59 (that's Sunday, 7 November 2004, 11:59:59 pm) for 75% credit.

Outline: This recitation studies the pipelined implementation of MIPS. In particular this part looks at the forwarding necessitated by data hazards. You are to turn in a annotated diagrams showing the flow of data and control signals under the circumstances made specific below. In summary you will be working on Exercises 6.15 and 6.16 on the CD under the For More Practice portions. This material is confusing in the way it is displayed, you I will be explaining it carefully below.


Exercise 6.15: Diagrams for Pipelined Control: In Chapter 6, under For More Practice, follow the link to Exercise 6.15, which starts on page 6.14-6. This exercise simply presents a sequence of 5 instructions on that page and asks you to review and study diagrams showing pipelined execution, with emphasis on control. (There is no repetition in the use of registers during the 5 instructions, so no forwarding is needed and no stalls are needed.)

On the CD, Figure 6.14.5 (Cycles 1 and 2), Figure 6.14.6 (Cycles 3 and 4), Figure 6.14.7 (Cycles 5 and 6), Figure 6.14.8 (Cycles 7 and 8), and Figure 6.14.9 (Cycle 9), give diagrams for successive cycles.

As the first part of this recitation, you are to use a xerox of the blank diagram given in Figure 6.14.10 on page 6.14-12. (GIF image of this figure: F6.14.10.gif.) You should fill in this diagram with 9 cycles of the following sequence:

The first three cycles are the same as on the CD (since the first three instructions are the same), you only need diagrams for Cycles 4 through 9. (Note that a fair amount of these cycles will also be the same as in the text.)


Exercise 6.16: Diagrams for Data Hazards and the Forwarding Unit: In Chapter 6, under For More Practice, follow the link to Exercise 6.16, which starts on page 6.14-13. First this exercise considers the following four instructions.

On the CD are diagrams of the pipelined implementation, with emphasis on the forwarding unit. The course of executing these four instructions, including the forwarding, is shown in Figure 6.14.11 (Cycles 3 and 4), and Figure 6.14.12 (Cycles 5 and 6). This exercise asks you to trace through the following three instructions in a similar way:

You are to use a xerox or printout of Figure 6.14.13, and trace Cycles 3, 4 and 5. (Here is a GIF image of a figure you can use for this part: F6.40.gif (from the 2nd ed). The actual Figure 6.14.13: F6.14.13.gif is the wrong diagram, since it is the same as Figure 6.14.17.) You should pay particular attention to the forwarding unit.


What you should submit: Refer to the submissions directions and to deadlines at the top of this page. The text file that you submit should first have Your Name, the Course Number, and the Recitation Number. The rest of the file should have the following in it, in the order below, and clearly labeled, including at the beginning the appropriate number 1-2.

  Contents of submission for Recitation 10:

Last Name, First Name; Course Number; Recitation Number (10).

  1. You will submit electronically a brief description of how the control and the forwarding work in this case. Just say how the control signals are determined and how each instruction gets its own proper signals. Then say what the 6 inputs and the two outputs of the forwarding unit.
  2. Separately you must submit diagrams on actual sheets of paper:
    • Diagrams showing the pipeline cycles 4 through 9 of the instructions in the first part above, with emphasis on control.
    • Diagrams showing the pipeline cycles 3, 4, and 5 of the instructions in the second part above, with emphasis on forwarding.


Revision date: 2004-10-26. (Please use ISO 8601, the International Standard.)