Ideally in a pipelined machine you want to get a CPI as close to 1 as possible. The first example showed the simple 5 stage DLX pipe-like-pipe and the improvements with unrolling and rescheduling. The longer example, using Multi-Cycle DLX, shows a better view of real world code, as just having integer capablity is not practical in this day an age. As the previous examples have shown with unrolling and rescheduling lowers the CPI. You have to remember though, that besides lowering the CPI, unrolling allows you to lessen the number of times you hit a control hazard which causes stalls.

Now it is time to try the self-test. Remember, there are usually more then one way to reschedule commands, and the only limitation on unrolling is the number of registers you have available to use.


Prev Next