EOLE: Paving the Way for an Effective Implementation of Value Prediction
Résumé
Even in the multicore era, there is a continuous demand to increase the performance of single-threaded applications. However, the conventional path of increasing both issue width and instruction window size inevitably leads to the power wall. Value prediction (VP) was proposed in the mid 90's as an alternative path to further enhance the performance of wide-issue superscalar processors. Still, it was considered up to recently that a performance-effective implementation of Value Prediction would add tremendous complexity and power consumption in almost every stage of the pipeline. Nonetheless, recent work in the field of VP has shown that given an efficient confidence estimation mechanism, prediction validation could be removed from the out-of-order engine and delayed until commit time. As a result, recovering from mispredictions via selective replay can be avoided and a much simpler mechanism – pipeline squashing – can be used, while the out-of-order engine remains mostly unmodified. Yet, VP and validation at commit time entails strong con-straints on the Physical Register File. Write ports are needed to write predicted results and read ports are needed in order to validate them at commit time, potentially rendering the overall number of ports unbearable. Fortunately, VP also implies that many single-cycle ALU instructions have their operands pre-dicted in the front-end and can be executed in-place, in-order. Similarly, the execution of single-cycle instructions whose re-sult has been predicted can be delayed until commit time since predictions are validated at commit time. Consequently, a significant number of instructions – 10% to 60% in our experiments – can bypass the out-of-order en-gine, allowing the reduction of the issue width, which is a major contributor to both out-of-order engine complexity and register file port requirement. This reduction paves the way for a truly practical implementation of Value Prediction. Fur-thermore, since Value Prediction in itself usually increases performance, our resulting {Early | Out-of-Order | Late} Ex-ecution architecture, EOLE, is often more efficient than a baseline VP-augmented 6-issue superscalar while having a significantly narrower 4-issue out-of-order engine.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...