Question: roblem 1 Consider the following MIPS code. I 0 : lw $s 1 , 0 ( $s 2 ) I 1 : add $s 5

roblem 1
Consider the following MIPS code.
I0: lw $s1,0($s2)
I1: add $s5,$s1,$s3 # $s5 := $s1+ $s3
I2: beq $s5,$s7, L1 # if ($s5= $s7) goto L1
I3: lw $s3,12($s4)
I4: sw $s5,0($s3)
I5: L1: sw $s5,12($s4)
A) Suppose a MIPS processor uses the simple 5-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 +1) relies on a value written into a register by an instruction (i), then the execute stage for (i +1) 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 blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Accounting Questions!