Miguel Reynolds
Answered
2021-12-23
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
nghodlokl
Expert
2021-12-24Added 33 answers
Step 1
a) Remember that
thus
Here cycle time . Additionally, execution time in this context . So, for complier A, we have that
For compiler B, we have
Step 2
b) Recall that
So, since execution times in both cases are the same,
which yields
Therefore, after rearranging,
So,
So, the clock rate of processor 1 is actually approximately slower than the clock rate of processor 2.
Step 3
c) We use the same formula as in (a):
So,
So, C is faster than A approximately 1.67 times, and faster than B approximately 2.27 times.
Paineow
Expert
2021-12-25Added 30 answers
Step 1
Given
Cycle Time
CPU Time for A
Instruction count
CPU Time for B
Instruction Count
So,
CPI for
CPI for
Step 2
Given
CPU Time for
Instruction Count
Make Clock Rate A the subject of formula
So the clock rate of A is
Step 3
For compiler A and C,
Using ratio of CPU time and Compiler performance i,e.
Given
Most Popular Questions