Assume for a given processor the CPI of arithmetic instructions is 2, the CPI of load/store instructions is 6, and the CPI of branch instructions is 3. Assume a program has the following instruction breakdowns: 240 million arithmetic instructions, 70 million load/store instructions, 100 million branch instructions. (a)Suppose we find a way to double the performance of the arithmetic instructions. What is the speedup of our machine

Respuesta :

Answer:

The answer is below

Explanation:

Suppose that we find a way to double the performance of arithmetic instructions. What is the speedup of our machine? What if we find a way to improve the performance of arithmetic instructions by 10 times?

Solution:

a) number of clock cycles = (240 million * 2) + (70 million * 6) + (100 million * 3) = 1200 * 10⁶

If the performance of arithmetic instructions is doubled, the CPI of arithmetic instructions would be halved. Hence the CPI would be 1 (2 / 2). Therefore:

number of clock cycles = (240 million * 1) + (70 million * 6) + (100 million * 3) = 960 * 10⁶

Hence:

[tex]\frac{CPU\ time_c}{CPU\ time_A} =\frac{960*10^6}{1200*10^6}=0.8 \\\\[/tex]

Therefore they would be an increase of 20%

b) If the performance of arithmetic instructions is multiplied by 10, the CPI of arithmetic instructions would be halved. Hence the CPI would be 0.2 (2 / 10). Therefore:

number of clock cycles = (240 million * 0.2) + (70 million * 6) + (100 million * 3) = 768 * 10⁶

Hence:

[tex]\frac{CPU\ time_c}{CPU\ time_A} =\frac{768*10^6}{1200*10^6}=0.64 \\\\[/tex]

Therefore they would be an increase of 36%