All instructions in a program are conditional branches


Suppose 25% of all instructions in a program are conditional branches (of which 65% are taken), and 10% are unconditional jumps and calls. Consider a four-deep pipeline, with each stage of the pipeline being executed in one cycle. Thus, each instruction takes four cycles in all to be executed, in the first of which the instruction is fetched. The branch is resolved at the end of the second cycle for unconditional jumps and calls, and at the end of the third cycle for conditional branches. Assuming that only the first pipeline stage can always be done independently of whether the branch is taken, and ignoring all other pipeline stalls, how much faster would the machine be without any branches in the workload? Also assume that without any branches, the machine completes on the average, one instruction every 1.3 clock cycles.

Request for Solution File

Ask an Expert for Answer!!
Basic Computer Science: All instructions in a program are conditional branches
Reference No:- TGS093625

Expected delivery within 24 Hours