Reusing cached schedules in an out-of-order processor with in-order issue logic

  • Authors:
  • Oscar Palomar;Toni Juan;Juan J. Navarro

  • Affiliations:
  • Departament d'Arquitectura de Computadors, Universitat Politècnica de Catalunya and Barcelona Supercomputing Center;Intel® Corporation;Departament d'Arquitectura de Computadors, Universitat Politècnica de Catalunya.

  • Venue:
  • ICCD'09 Proceedings of the 2009 IEEE international conference on Computer design
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

The complex and powerful out-of-order issue logic dismisses the repetitive nature of the code, unlike what caches or branch predictors do. We show that 90% of the cycles, the group of instructions selected by the issue logic belongs to just 13% of the total different groups issued: the issue logic of an out-of-order processor is constantly re-discovering what it has already found. To benefit from the repetitive nature of instruction issue, we move the scheduling logic after the commit stage, out of the critical path of execution. The schedules created there are cached and reused to feed a simple in-order issue logic, that could result in a higher frequency design. We present the complete design of our ReLaSch processor, that achieves the same average IPC than a conventional out-of-order processor, and a 1.56 speed-up over the IPC of an in-order processor. We actually surpass the out-of-order IPC in 23 out of 40 SPEC benchmarks, mainly because the broader vision of the code after the commit stage allows creating better schedules.