Question: Problem #3 How would the following loop be scheduled on a static 2-issue pipeline for MIPS (where one of the instructions can be integer ALU

Problem #3 How would the following loop be scheduled on a static 2-issue pipeline for MIPS (where one of the instructions can be integer ALU or branch and the other can be load or storc)? Reorder the instructions to avoid as many pipeline stalls as possible and unroll the loop two times. Assume branches are predicted, so that control hazards are handled by the hardware. Compute the IPC for the code too ; This code add a scalar constant to each element of the array pointed by $sl Loop: lw $t0, 0(Ss1) addu t0, $t0, $s2 sw St0, 0(Ss1) addi $s1,$s1,#-4 bne $s, $zero, Loop;Continue until Ssl !-0 ; Load clement from array ; Add a scalar in $s2 ; Store result ; Decrement pointer Problem #3 How would the following loop be scheduled on a static 2-issue pipeline for MIPS (where one of the instructions can be integer ALU or branch and the other can be load or storc)? Reorder the instructions to avoid as many pipeline stalls as possible and unroll the loop two times. Assume branches are predicted, so that control hazards are handled by the hardware. Compute the IPC for the code too ; This code add a scalar constant to each element of the array pointed by $sl Loop: lw $t0, 0(Ss1) addu t0, $t0, $s2 sw St0, 0(Ss1) addi $s1,$s1,#-4 bne $s, $zero, Loop;Continue until Ssl !-0 ; Load clement from array ; Add a scalar in $s2 ; Store result ; Decrement pointer
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
