Question: Every cycle that does not initiate a new operation in a pipe is a lost opportunity, in the sense that your hardware is not living
a. In your reordered code from Exercise 2.5, what fraction of all cycles, counting both pipes, were wasted (did not initiate a new op)?
b. Loop unrolling is one standard compiler technique for finding more parallelism in code, in order to minimize the lost opportunities for performance.
c. Hand-unroll two iterations of the loop in your reordered code from Exercise 2.5. What speedup did you obtain? (For this exercise, just color the N + 1 iteration's instructions green to distinguish them from the Nth iteration's; if you were actually unrolling the loop you would have to reassign registers to prevent collisions between the iterations)?
Step by Step Solution
3.30 Rating (162 Votes )
There are 3 Steps involved in it
a Fraction of all cycles counting both pipes wasted in the reordered code s... View full answer
Get step-by-step solutions from verified subject matter experts
Document Format (1 attachment)
903-C-S-S-A-D (3179).docx
120 KBs Word File
