Compilers can significantly affect how well an application performs. Assume that for a program, compiler A results in a dynamic instruction count of 1.0E9 and has an execution time of 1.1 s, while compiler B results in a dynamic instruction count of 1.2E9 and an execution time of 1.5 s.
a. Find the average CPI for each program given that the processor has a clock cycle time of 1 ns.
b. Assume there are two processors being used to run the compiled programs. If the execution times on the two processors are the same, how much faster is the clock of the processor running compiler A’s code versus the clock of the processor running compiler B’s code?
c. A new compiler is developed that uses only 6.0E8 instructions and has an average CPI of 1.1. What is the speedup of using this new compiler versus using compiler A or B on the original processor?
Answer & Explanation
a) Remember that
Here cycle time . Additionally, execution time in this context . So, for complier A, we have that
For compiler B, we have
b) Recall that
So, since execution times in both cases are the same,
Therefore, after rearranging,
So, the clock rate of processor 1 is actually approximately slower than the clock rate of processor 2.
c) We use the same formula as in (a):
So, C is faster than A approximately 1.67 times, and faster than B approximately 2.27 times.
CPU Time for A
CPU Time for B
CPU Time for
Make Clock Rate A the subject of formula
So the clock rate of A is
For compiler A and C,
Using ratio of CPU time and Compiler performance i,e.
Most Popular Questions