Mechanistic Analytical Modeling of Superscalar In-Order Processor Performance

Maximilien B. Breugh, Stijn Eyerman, Lieven Eeckhout
2015 ACM Transactions on Architecture and Code Optimization (TACO)  
Superscalar in-order processors form an interesting alternative to out-of-order processors because of their energy efficiency and lower design complexity. However, despite the reduced design complexity, it is nontrivial to get performance estimates or insight in the application-microarchitecture interaction without running slow, detailed cycle-level simulations, because performance highly depends on the order of instructions within the application's dynamic instruction stream, as in-order
more » ... sors stall on interinstruction dependences and functional unit contention. To limit the number of detailed cycle-level simulations needed during design space exploration, we propose a mechanistic analytical performance model that is built from understanding the internal mechanisms of the processor. The mechanistic performance model for superscalar in-order processors is shown to be accurate with an average performance prediction error of 3.2% compared to detailed cycle-accurate simulation using gem5. We also validate the model against hardware, using the ARM Cortex-A8 processor and show that it is accurate within 10% on average. We further demonstrate the usefulness of the model through three case studies: (1) design space exploration, identifying the optimum number of functional units for achieving a given performance target; (2) program-machine interactions, providing insight into microarchitecture bottlenecks; and (3) compiler-architecture interactions, visualizing the impact of compiler optimizations on performance.
doi:10.1145/2678277 fatcat:cvx44nejindk7k2giqn6bafjxa