Processor X has a clock speed of 2Ghz and takes 1 cycle for integer operations, 2 cycles for memory operations, and 4 cycles for floating point operations. Empirical data shows that programs run on Processor X are typically composed of 35% floating point operations, 30% memory operations, and 35% integer operations.
You are designing Processor Y, and improvement on Processor X which will run the same programs and you have 2 options to improve the performance:
-Increase the clock speed to 2.4Ghz, but memory operations take 3 cycles.
-Decrease the clock speed to 1.8 ghz, but floating point operations only take 3 cycles.
Compute the speedup for options and decide the option Processor Y should take.
Average instruction execution time for programs on processor X = 1 * 35% + 2 * 30% + 4 * 35% cycles
= 0.35 + 0.60 + 1.40 cycles
= 2.35 cycles
Average number of program instructions executed per second on processor X = 2 GHz / 2.35 cycles
= 0.8510638298 * 10^9 instructions/second
= 851063829.8 or 851063830 ...
Solution evaluates the options in terms of average instructions executed per second.