Here the salient feature of the question is :
Speedup is asked between the two pipelined system instead of a non pipelined and a pipelined system..
We know :
Speedup = CPInon pipeline * Cycle timenon pipeline / (CPIpipeline * Cycle timepipeline)
As cycle time is same for both pipelined and non pipelined environment , the expression reduces to :
Speedup = CPInon pipeline / CPIpipeline
As CPIpipeline = 1 as the pipeline is without any stalls as mentioned in the question , hence
Speedup = CPInon pipeline
So we need to find Speedup1 and Speedup2 and then find their ratio accordingly..Thus we need to find CPI1 and CPI2 separately in non pipelined environment.
So the key thing is when we replace LOAD instruction in 2nd pipeline in order to find CPI in non pipelined system we need to take cycles of LOAD -A and LOAD - B instructions separately..Hence if a instruction is LOAD in 1st pipeline , for that we need 8 cycles in 2nd equivalent system..
Thus
CPInon pipeline for 1st case = 5 [ As no modification is done here ]
CPInon pipeline for 2nd case = (0.46 + 0.12 + 0.20) * 4 + 0.22 * 8
= 4.88
Hence
Speeduppipeline 1 / Speeduppipeline 2 = CPInon pipeline for 1st case / CPInon pipeline for 2nd case
= 5 / 4.88
= 1.025 (correct to three decimal places)
Hence speedup of pipeline 1 is 1.025 times more than that of pipeline 2..