Flexible register management using reference counting

S Battle, AD Hilton, M Hempstead… - … Symposium on High …, 2012 - ieeexplore.ieee.org
IEEE International Symposium on High-Performance Comp Architecture, 2012ieeexplore.ieee.org
Conventional out-of-order processors that use a unified physical register file allocate and
reclaim registers explicitly using a free list that operates as a circular queue. We describe
and evaluate a more flexible register management scheme-reference counting. We
implement reference counting using a bit-matrix with a column for every physical register
and a row for every entity that can hold a physical register, eg, an in-flight instruction.
Columns are NOR'ed together to create a bitvector free list from which registers are …
Conventional out-of-order processors that use a unified physical register file allocate and reclaim registers explicitly using a free list that operates as a circular queue. We describe and evaluate a more flexible register management scheme - reference counting. We implement reference counting using a bit-matrix with a column for every physical register and a row for every entity that can hold a physical register, e.g., an in-flight instruction. Columns are NOR'ed together to create a bitvector free list from which registers are allocated using priority encoders. We describe reference counting designs that support micro-architectural techniques including register file power gating, dynamic register move elimination, register file checkpointing, and latency tolerant execution. Performance and circuit simulation show that the energy cost of reference counting is low and is easily recouped by the savings of the techniques it enables.
ieeexplore.ieee.org