Consider an architecture that has four types of instructions: additions, multiplications, memory operations, and branches. The following table gives the number of instructions that belong to each type in a program, the number of cycles it takes to execute each instruction of that type, and the speedup in execution of that instruction type from a proposed improvement.
a. What is the fraction of execution time for each type of instructions?
b. What is the value of CPI?
c. Using part a, determine and rank the overall speedups for the proposed improvements (from high to low).
Instruction Type
Inst. Count (in million)
Inst. Execution Time (in Cycles)
Speedup of Instruction Type
Addition 10 2 2.0
Multiplication 30 20 1.3
Memory 35 10 3.0
Branch 15 4 4.0