for class on Thursday Nov. 7, 1996
Please read Sections 6.4 and 6.5 of the Patterson & Hennessy text, and be prepared to discuss the following issues:
1. One advantage of pictures like Figures 6.11 and 6.36 (sometimes called ``waterfall charts'') is that they can show exactly how one instruction's results are communicated to future instructions. In a waterfall chart, it is possible to insist that all signals travel left-to-right or top-to-bottom. This is like insisting that information can only go forward in time: to a later pipeline stage or to a later instruction. How might adherents of this doctrine add explicit forwarding paths to a waterfall chart?
2. These sections of the chapter discuss data hazards and two solutions for avoiding them (forwarding and stalls), but only in the context of certain instructions from the 8-instruction subset. How could these two methods be expanded to include other instructions in the subset, or would the other instructions just work without any change? Consider that incorrect forwarding can lead to the wrong answer, and that incorrect stalling can lead to the wrong answer if a necessary stall is missed, or to a performance loss (but no wrong answers) if extra stalls are created.