Average CPIold = Σ Ci x Ii
= CPIfp × No. FP instr. + CPIint × No. INT instr. + CPIl/s × No. L/S instr. + CPIbranch × No. branch
= 50 x 106 x 1 +110 x 106 x 1 +80 x 106 x 4 +16 x 106 x 2 =512 x106
As we want the program to run two times faster,
To half the number of clock cycles by improving the CPI of FP instructions:
Average CPIold=2 x Average CPInew
Average CPInew= 0.5 x Average CPIold
Average CPInew =CPIimproved fp × No. FP instr. + CPIint × No. INT instr. + CPIl/s × No. L/S instr. +
CPIbranch × No. branch instr.
0.5 x Average CPIold= CPIimproved fp × 50 x 106 +110 x 106 x 1 +80 x 106 x 4 +16 x 106 x 2
256= CPIimproved fp × 50 +110 +320 +32
CPIimproved fp × 50 =-206
CPIimproved fp =-4.12
Hence quedtion is wrong...If CPI of FP becomes 0 still program execution not to be 2 times faster.
But we can't reduce the clock from 1 to any becoz that is minimum already..of they have asked clk time then the question is ok