Software-Level Instruction-Cache Leakage Reduction Using Value-Dependence of SRAM Leakage in Nanometer Technologies

  • Maziar Goudarzi
  • Tohru Ishihara
  • Hamid Noori
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6590)


Within-die process variation is increasing in nanometer-scale process technologies. We observe that the same SRAM cell leaks differently under within-die process variations when storing 0 compared to 1; this difference can be up to 3 orders of magnitude at 60mV variation of threshold voltage (Vth). Thus, leakage can be reduced if most often the values that dissipate less leakage are stored in the cache SRAM cells. We take advantage of this fact to reduce instruction-cache leakage by presenting three binary-optimization and software-level techniques: we (i) reorder instructions within basic-blocks so that their bits better match the less-leaky state of their corresponding cache cells, (ii) statically change the register operands of the instructions with the same aim, and (iii) at boot time, initialize unused cache-lines to their corresponding least-leaky values. Experimental results show up to 54%, averaging 35%, 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 data cache.


Leakage power software techniques compiler optimization process variation power reduction cache memory instruction rescheduling 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Moshnyaga, V.G., Inoue, K.: Low-Power Cache Design. In: Piguet, C. (ed.) Low-Power Electronics Design. CRC Press, Boca Raton (2005)Google Scholar
  2. 2.
    Roy, K., et al: Leakage Current Mechanisms and Leakage Reduction Techniques in Deep-Submicron CMOS Circuits. Proc. IEEE (2003) Google Scholar
  3. 3.
    Taur, Y., Ning, T.H.: Fundamentals of Modern VLSI Devices. Cambridge University Press, Cambridge (1998)Google Scholar
  4. 4.
    Kao, J.T., Chandrakasan, A.P.: Dual-Threshold Voltage Techniques for Low-Power Digital Circuits. IEEE Journal of Solid State Circuits 35, 1009–1018 (2000)CrossRefGoogle Scholar
  5. 5.
    Fallah, F., Pedram, M.: Circuit and System Level Power Management. In: Pedram, M., Rabaey, J. (eds.) Power Aware Design Methodologies, pp. 373–412. Kluwer Academic Pub., Dordrecht (2002)CrossRefGoogle Scholar
  6. 6.
    De, V., Borkar, S.: Low Power and High Performance Design Challenge in Future Technologies. In: Proc. Great Lake Symposium on VLSI (2000)Google Scholar
  7. 7.
    Kuroda, T., Fujita, T., Hatori, F., Sakurai, T.: Variable Threshold-Voltage CMOS Technology. IEICE Trans. on Fundamentals of Elec., Comm. and Comp. Sciences E83-C (2000)Google Scholar
  8. 8.
    Albonesi, D.: Selective Cache Ways: On-Demand Cache Resource Allocation. In: Proc. Int’l Symposium on Microarchitecture (1999)Google Scholar
  9. 9.
    Powell, M.D., et al.: Gated-Vdd: A Circuit Technique to Reduce Leakage in Cache Memories. In: Int’l Symposium on Low Power Electronics and Design (2000)Google Scholar
  10. 10.
    Kaxiras, S., Hu, Z., Martonosi, M.: Cache Decay: Exploiting Generational Behavior to Reduce Cache Leakage Power. In: Proc. Int’l Symposium on Computer Architecture, pp. 240–251 (2001)Google Scholar
  11. 11.
    Flautner, K., et al.: Drowsy Caches: Simple Techniques for Reducing Leakage Power. In: Proc. Int’l Symposium on Computer Architecture (2002)Google Scholar
  12. 12.
    Meng, K., Joseph, R.: Process Variation Aware Cache Leakage Management. In: Proc. Int’l Symposium on Low Power Electronics and Design (2006)Google Scholar
  13. 13.
    Steinke, S., Wehmeyer, L., Lee, B.S., Marwedel, P.: Assigning Program and Data Objects to Scratchpad for Energy Reduction. In: Proc. of Design Automation and Test in Europe (2002)Google Scholar
  14. 14.
    Verma, M., Wehmeyer, L., Marwedel, P.: Cache-Aware Scratchpad-Allocation Algorithms for Energy-Constrained Embedded Systems. IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems 25(10), 2035–2051 (2006)CrossRefGoogle Scholar
  15. 15.
    Tomiyama, H., Yasuura, H.: Code Placement Techniques for Cache Miss Rate Reduction. ACM Trans. on Design Automation of Electronic Systems (ToDAES) 2(4) (1997)Google Scholar
  16. 16.
    Tomiyama, H., Ishihara, T., Inoue, A., Yasuura, H.: Instruction Scheduling for Power Reduction in Processor-Based System Design. In: Proc. of Design Automation and Test in Europe (1998)Google Scholar
  17. 17.
    Panda, P.R., Catthoor, F., Dutt, N.D., Danckaert, K., Brockmeyer, E., Kulkarni, C., Vandercappelle, A., Kjeldsberg, P.G.: Data and Memory Optimization Techniques for Embedded Systems. ACM Trans. on Design Automation of Electronic Systems (ToDAES) 6(2) (2001)Google Scholar
  18. 18.
    Zhang, W., Kandemir, M., Karakoy, M., Chen, G.: Reducing Data Cache Leakage Energy Using a Compiler-Based Approach. ACM Trans. Embedded Computing Systems 4(3), 652–678 (2005)CrossRefGoogle Scholar
  19. 19.
    Huang, P.K., Ghiasi, S.: Leakage-Aware Intraprogram Voltage Scaling for Embedded Processors. In: Proc. Design Automation Conference, pp. 364–369 (2006)Google Scholar
  20. 20.
    Chang, J.M., Pedram, M.: Register Allocation and Binding for Low Power. In: Proc. Design Automation Conference (1995)Google Scholar
  21. 21.
    Gebotys, C.H.: Low Energy Memory and Register Allocation Using Network Flow. In: Proc. Design Automation Conference (1997)Google Scholar
  22. 22.
    Abdollahi, A., Fallah, F., Pedram, M.: Leakage Current Reduction in CMOS VLSI Circuits by Input Vector Control. IEEE Trans. VLSI 12(2), 140–154 (2004)CrossRefGoogle Scholar
  23. 23.
    Azizi, N., Najm, F.N., Moshovos, A.: Low-Leakage Asymmetric-Cell SRAM. IEEE Trans. VLSI 11(4), 701–715 (2003)CrossRefGoogle Scholar
  24. 24.
    Moshovos, A., Falsafi, B., Najm, F.N., Azizi, N.: A Case for Asymmetric-Cell Cache Memories. IEEE Trans. VLSI 13(7), 877–881 (2005)CrossRefGoogle Scholar
  25. 25.
    Clark, L., De, V.: Techniques for Power and Process Variation Minimization. In: Piguet, C. (ed.) Low-Power Electronics Design. CRC Press, Boca Raton (2005)Google Scholar
  26. 26.
    Goudarzi, M., Ishihara, T., Noori, H.: Variation-Aware Software Techniques for Cache Leakage Reduction using Value-Dependence of SRAM Leakage due to Within-Die Process Variation. In: Stenström, P., Dubois, M., Katevenis, M., Gupta, R., Ungerer, T. (eds.) HiPEAC 2007. LNCS, vol. 4917, pp. 224–239. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  27. 27.
    M32R family of 32-bit RISC microcomputers,
  28. 28.
    CACTI integrated cache access time, cycle time, area, leakage, and dynamic power model, HP Labs,
  29. 29.
    Agarwal, A., Paul, B.C., Mahmoodi, H., Datta, A., Roy, K.: A Process-Tolerant Cache Architecture for Improved Yield in Nanoscale Technologies. IEEE Trans. VLSI 13(1) (2005)Google Scholar
  30. 30.
    Luo, J., Sinha, S., Su, Q., Kawa, J., Chiang, C.: An IC Manufacturing Yield Model Considering Intra-Die Variations. In: Proc. of Design Automation Conference, pp. 749–754 (2006)Google Scholar
  31. 31.
    Agarwal, K., Nassif, S.: Statistical Analysis of SRAM Cell Stability. In: Proc. Design Automation Conference (2006)Google Scholar
  32. 32.
    Toyoda, E.: DFM: Device & Circuit Design Challenges. In: Proc. Int’l Forum on Semiconductor Technology (2004)Google Scholar
  33. 33.
    International Technology Roadmap for Semiconductors—Design (2006) (update),
  34. 34.
    Hill, S.: The ARM 10 Family of Embedded Advanced Microprocessor Cores. In: Proc. HOT-Chips (2001)Google Scholar
  35. 35.
    Suzuki, K., Arai, T., Kouhei, N., Kuroda, I.: V830R/AV: Embedded Multimedia Superscalar RISC Processor. IEEE Micro 18(2), 36–47 (1998)CrossRefGoogle Scholar
  36. 36.
    Hamdioui, S.: Testing Static Random Access Memories: Defects, Fault Models and Test Patterns. Kluwer Academic Publishers, Dordrecht (2004)CrossRefzbMATHGoogle Scholar
  37. 37.
    Thibeault, C.: On the Comparison of Delta IDDQ and IDDQ Testing. In: Proc. VLSI Test Symposium, pp. 143–150 (1999)Google Scholar
  38. 38.
  39. 39.
    Ferre, A., Isern, E., Rius, J., Rodriguez-Montanes, R., Figueras, J.: IDDQ Testing: State of the Art and Future Trends. Integration, the VLSI Journal 26(167-196) (1998)Google Scholar
  40. 40.
    Wallquist, K.M., Righter, A.W., Hawkins, C.F.: A General Purpose IDDQ Measurement Circuit. In: Proc. Int’l Test Conference, pp. 642–651 (1993)Google Scholar
  41. 41.
    Wallquist, K.M.: On the Effect of ISSQ Testing in Reducing Early Failure Rate. In: Proc. Int’l Test Conference, pp. 910–914 (1995)Google Scholar
  42. 42.
    Bushnell, M.L., Agrawal, V.D.: Essentials of Electronic Testing, for Digital, Memory and Mixed-Signal VLSI Circuits. Kluwer Academic Publishers, Dordrecht (2000)Google Scholar
  43. 43.
    Kanda, K., Duc Minh, N., Kawaguchi, H., Sakurai, T.: Abnormal Leakage Suppression (ALS) Scheme for Low Standby Current SRAMs. In: Proc. IEEE Int’l Solid-State Circuits Conference, pp. 174–176 (2001)Google Scholar
  44. 44.
    Feltham, D.B.I., Nigh, P.J., Carley, L.R., Maly, W.: Current Sensing for Built-In Testing of CMOS Circuits. In: Proc. Int’l Conference on Computer Design, pp. 454–457 (1988)Google Scholar
  45. 45.
    Stopjakova, V., Manhaeve, H.: CCII+ Current Conveyor Based BIC Monitor for IDDQ Testing of Complex CMOS Circuits. In: Proc. European Design and Test Conference (1997)Google Scholar
  46. 46.
    Shen, T.L., Daly, J.C., Lo, J.C.: 2-ns Detecting Time, 2-μm CMOS Built-In Current Sensing Circuit. IEEE Journal of Solid-State Circuits 28(1), 72–77 (1993)CrossRefGoogle Scholar
  47. 47.
    Antonioli, Y., et al.: 100 MHz IDDQ Sensor with 1μA Resolution for BIST Applications. In: Proc. IEEE Intl. Workshop on IDDQ Testing, pp. 64–68 (1998)Google Scholar
  48. 48.
    Liobe, J., Margala, M.: Novel Process and Temperature-Stable IDD Sensor for the BIST Design of Embedded Digital, Analog, and Mixed-Signal Circuits. IEEE Trans. Circuits and Systems 54(9), 1900–1915 (2007)CrossRefGoogle Scholar
  49. 49.
    Marinissen, E.J., Prince, B., Keitel-Schulz, D., Zorian, Y.: Challenges in Embedded Memory Design and Test. In: Proc. Design Automation and Test in Europe (2005)Google Scholar
  50. 50.
    Ghosh, S., Mukhopadhyay, S., Kim, K., Roy, K.: Self-Calibration Technique for Reduction of Hold Failures in Low-Power Nano-Scaled SRAM. In: Proc. Design Automation Conference (2006)Google Scholar
  51. 51.
  52. 52.

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Maziar Goudarzi
    • 1
    • 3
  • Tohru Ishihara
    • 3
  • Hamid Noori
    • 2
    • 3
  1. 1.Computer Engineering DepartmentSharif University of TechnologyTehranIran
  2. 2.School of Electrical and Computer Engineering, Faculty of EngineeringUniversity of TehranTehranIran
  3. 3.Kyushu UniversityFukuokaJapan

Personalised recommendations