Variation-aware software techniques for cache leakage reduction using value-dependence of SRAM leakage due to within-die process variation

  • Authors:
  • Maziar Goudarzi;Tohru Ishihara;Hamid Noori

  • Affiliations:
  • Kyushu Univesity, Fukuoka, Japan;Kyushu Univesity, Fukuoka, Japan;Kyushu Univesity, Fukuoka, Japan

  • Venue:
  • HiPEAC'08 Proceedings of the 3rd international conference on High performance embedded architectures and compilers
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

We observe that the same SRAM cell leaks differently, under withindie process variations, when storing 0 and 1; this difference can be up to 3 orders of magnitude (averaging 57%) at 60mv variation of threshold voltage (Vth). Thus, leakage can be reduced if most often the values with less leakage are stored in the cache SRAM cells. We show applicability of this proposal by presenting three binary-optimization and software-level techniques for reducing instruction cache leakage: we (i) reorder instructions within basic-blocks so as to match up the instructions with the less-leaky state of their corresponding cache cells, (ii) statically apply register-renaming with the same aim, and (iii) at boot time, initialize unused cache-lines to their corresponding less-leaky values. Experimental results show up to 54%, averaging 37%, leakage energy reduction at 60mv variation in Vth, and show that with technology scaling, this saving can reach up to 84% at 100mv Vth variation. Since our techniques are one-off and do not affect instruction cache hit ratio, this reduction is provided with only a negligible penalty, in rare cases, in the data cache.