Question: Exercise 4.33 This exercise explores how branch prediction affects performance of a deeply pipelined multiple-issue processor. Problems in this exercise refer to a processor with
Exercise 4.33 This exercise explores how branch prediction affects performance of a deeply pipelined multiple-issue processor. Problems in this exercise refer to a processor with the following number of pipeline stages and instructions issued per cycle:
Pipeline depth Issue width
a. 10 4
b. 25 2 4.33.1 [10] <4.11> How many register read ports should the processor have to avoid any resource hazards due to register reads?
4.33.2 [10] <4.11> If there are no branch mispredictions and no data dependences, what is the expected performance improvement over a 1-issue processor with the classical fi ve-stage pipeline? Assume that the clock cycle time decreases in proportion to the number of pipeline stages.
4.33.3 [10] <4.11> Repeat Exercise 4.33.2, but this time every executed instruction has a RAW data dependence to the instruction that executes right after it.
You can assume that no stall cycles are needed, i.e., forwarding allows consecutive instructions to execute in back-to-back cycles.
For the remaining three problems in this exercise, unless the problem specifi es otherwise, assume the following statistics about what percentage of instructions are branches, predictor accuracy, and performance loss due to branch mispredictions:
Branches as a fraction of all executed instructions Branches execute in stage Predictor accuracy Performance loss
a. 30% 7 95% 10%
b. 15% 8 97% 2%
4.33.4 [10] <4.11> If we have the given fraction of branch instructions and branch prediction accuracy, what percentage of all cycles are entirely spent fetching wrong-path instructions? Ignore the performance loss number.
4.33.5 [20] <4.11> If we want to limit stalls due to mispredicted branches to no more than the given percentage of the ideal (no stalls) execution time, what should be our branch prediction accuracy? Ignore the given predictor accuracy number.
4.33.6 [10] <4.11> What should the branch prediction accuracy be if we are willing to have a speed-up of 0.5 (one half) relative to the same processor with an ideal branch predictor?
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
