This is a self-test that you can use to see if you understand the concepts presented in this web site. Simply drop the menu, and select the right answer, and press the submit button to get your score.
1) What is the RED flag that tells you for sure that a particular loop cannont be unrolled?
It has more than 4 dependant commands in the loop.
There is a Circular Dependance within the loop
There is an inter iteration dependance
Its Monday
2)Which of the following dependancies do you have to remove to make a loop parallel?
All Data dependancies
Control hazards
Inter-iteration dependancies
Structural hazards
3)Is the following loop parrallel?
for (i=0;i<=100;i++)
{
A[i] = B[i] + C[i];
B[i+1] = C[i];
}
YES
NO
4)Calculate the speedup for the last FP loop, where the CPI decreased.
2.12
3.12
2.98
1.90
5)What about the following loop, is It parrallel?
for (i=0;i<=100;i++)
{
A[i] = B[i] + C[i];
B[i+1] = A[i];
}
YES
NO
6)Calculate the speedup for the first integer loops. Note: we have changed the # instructions, be careful!
4.85
1.57
2.12
Too high to calculate
7)Calculate the speedup for the second integer loops. Note: we have changed the # instructions, be careful!
2.12
4.91
2.05
4.52
8)Suppose a loop contains a 100 instruction startup code, and a 30 instruction loop. The loop iterates 1000 times, CPIstartup=1, CPIloop=1.8. What will the NEW CPIloop be if there was a speedup of 2 after rescheduling? (We reschedule the loop, the loop speeds up)
1.01
3.15
2.12
Impossible to reach that speedup.
9)Suppose a loop contains a 100 instruction startup code, and a 30 instruction loop. The loop iterates 1000 times, CPIstartup=1, CPIloop=2.5. What will the NEW CPIloop be if there was a speedup of 2 after rescheduling? (We reschedule the loop, the loop speeds up)
Impossible to reach that speedup.
1.24
2.50
1.79