15
for class on Thursday Nov. 12, 1998
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. Think about how you might 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 focus on R-type instructions. How do you think these two methods would work for code containing load and store instructions? (Branches are a matter for another class.) 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.