Homework 02 (45 Points)
1. Identify the data dependencies in the following instructions when processed in a five-stage pipeline. (5 points)
ADD R1,R1, R2
2. Draw a pipeline diagram for the following instructions when processed in a five-stage pipeline. Identify the data dependencies and show forwarding if it can reduce the data hazards. (5 points)
3. Consider the following loop.
Assume that perfect branch prediction is used (no stalls due to control hazards), that there are no delay slots, that the pipeline has full forwarding support. Draw a pipeline execution diagram with forwarding (if any) for the first two iterations of this loop. Give how many clock cycles it takes to iterate twice? (10 points)
4. Pipeline performance. Suppose processor X executes instructions in the following 4 stages (no pipeline), where each stage could run this fast. Compare the performance of a pipelined vs. unpipelined implementation of processor X. (10 points)
Draw the pipeline diagram to show clock cycles with time. Compare the performance of a pipelined vs. unpipelined implementation of processor X.
5. Consider an instruction pipeline with five stages without any branch prediction. The stage delays for each stage are 5 n sec, 6 n sec, 10 n sec, 8 n sec and 6 n sec, respectively. There are intermediate storage buffers after each stage and the delay of each buffer is 1 n sec. A program consisting of 12 instructions 1, 2, …, 12 is executed in the pipelined processor. Instruction 3 is the only branch instruction and its branch target is 8. If the branch is taken during the execution of this program, what is the time needed to complete the program. Draw the pipeline diagram to show clock cycles with time. (10 points)
6. Consider a loop branch that branches nine times in a row, then is not taken once. What is the prediction accuracy for this branch, assuming the initial prediction is Not Taken in the Branch History Table? Show how many correct predictions and how many mispredictions. (5 Points)