[PDF][PDF] Limits of instruction-level parallelism

DW Wall - Proceedings of the fourth international conference on …, 1991 - dl.acm.org
Proceedings of the fourth international conference on Architectural support …, 1991dl.acm.org
Growing interest in ambitious multiple-issue machines and heavily-pipelined machines
requires a careful examination of how much instruction-level parallelism exists in typical
programs. Such an examination is complicated by the wide variety of hardware and software
techniques for increasing the parallelism that can be exploited, including branch prediction,
register renaming, and alias analysis. By performing simulations based on instruction
maces, we can model techniques at the limits of feasibility and even beyond. Our study …
Abstract
Growing interest in ambitious multiple-issue machines and heavily-pipelined machines requires a careful examination of how much instruction-level parallelism exists in typical programs. Such an examination is complicated by the wide variety of hardware and software techniques for increasing the parallelism that can be exploited, including branch prediction, register renaming, and alias analysis. By performing simulations based on instruction maces, we can model techniques at the limits of feasibility and even beyond. Our study shows a striking difference between assuming that the techniques we use are perfect and merely assuming that they are impossibly good. Even with impossibly good techniques, average parallelism rarely exceeds 7, with 5 more common.
ACM Digital Library