Question: 6 . 4 Consider the following piece of C code: for ( j = 2 ;j < 1 0 0 0 ;j + + )

6.4 Consider the following piece of C code: for (j=2;j<1000;j++) D[j]= D[j1]+D[j2];
Th e MIPS code corresponding to the above fragment is: addiu $s2,$zero,7992 addiu $s1,$zero,16 loop: l.d $f0,16($s1) l.d $f2,8($s1) add.d $f4, $f0, $f2 s.d $f4,0($s1) addiu $s1, $s1,8 bne $s1, $s2, loop Instructions have the following associated latencies (in cycles): add.d l.d s.d addiu 4612
6.4.1[10]<6.2> How many cycles does it take for all instructions in a single iteration of the above loop to execute?
6.4.2[10]<6.2> When an instruction in a later iteration of a loop depends upon a data value produced in an earlier iteration of the same loop, we say that there is a loop carried dependence between iterations of the loop. Identify the loop-carried dependences in the above code. Identify the dependent program variable and assembly-level registers. You can ignore the loop induction variable j.

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 Programming Questions!