Select-free instruction scheduling logic

  • Authors:
  • Mary D. Brown;Jared Stark;Yale N. Patt

  • Affiliations:
  • The University of Texas, Austin;Intel Corporation;The University of Texas, Austin

  • Venue:
  • Proceedings of the 34th annual ACM/IEEE international symposium on Microarchitecture
  • Year:
  • 2001

Quantified Score

Hi-index 0.01

Visualization

Abstract

Pipelining allows processors to exploit parallelism. Unfortunately, critical loops---pieces of logic that must evaluate in a single cycle to meet IPC (Instructions Per Cycle) goals---prevent deeper pipelining. In today's processors, one of these loops is the instruction scheduling (wakeup and select) logic [10]. This paper describes a technique that pipelines this loop by breaking it into two smaller loops: a critical, single-cycle loop for wakeup; and a non-critical, potentially multi-cycle, loop for select. For the 12 SPECint*2000 benchmarks, a machine with two-cycle select logic (i. e., three-cycle scheduling logic) using this technique has an average IPC 15% greater than a machine with three-cycle pipelined conventional scheduling logic, and an IPC within 3% of a machine of the same pipeline depth and one-cycle (ideal) scheduling logic. Since select accounts for more than half the scheduling latency [10], this technique could significantly increase clock frequency while having minimal impact on IPC.