Question: roblem 1 Consider the following MIPS code. I 0 : lw $s 1 , 0 ( $s 2 ) I 1 : add $s 5
roblem
Consider the following MIPS code.
I: lw $s$s
I: add $s$s$s # $s : $s $s
I: beq $s$s L # if $s $s goto L
I: lw $s$s
I: sw $s$s
I: L: sw $s$s
A Suppose a MIPS processor uses the simple stage pipeline, where the stages are instruction fetch IF instruction decode and operand fetch ID execute and calculate address EX memory access M and write back WB In addition, suppose that:
The instruction and data cache are unified and can only support one read or write or instruction fetch operation each cycle.
The pipeline does not have forwarding hardware. Thus, if an instruction i relies on a value written into a register by an instruction i then the execute stage for i cannot proceed until the register write stage for i has completed.
In the absence of hazards, a new instruction can be fed to the pipeline every cycle.
Assume the branch is not taken.
How many cycles does this code take to complete? Use the table below.
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
