Abstract
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.
Keywords
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Moshnyaga, V.G., Inoue, K.: Low-Power Cache Design. In: Piguet, C. (ed.) Low-Power Electronics Design. CRC Press, Boca Raton (2005)
Roy, K., et al: Leakage Current Mechanisms and Leakage Reduction Techniques in Deep-Submicron CMOS Circuits. Proc. IEEE (2003)
Taur, Y., Ning, T.H.: Fundamentals of Modern VLSI Devices. Cambridge University Press, Cambridge (1998)
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)
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)
De, V., Borkar, S.: Low Power and High Performance Design Challenge in Future Technologies. In: Proc. Great Lake Symposium on VLSI (2000)
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)
Albonesi, D.: Selective Cache Ways: On-Demand Cache Resource Allocation. In: Proc. Int’l Symposium on Microarchitecture (1999)
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)
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)
Flautner, K., et al.: Drowsy Caches: Simple Techniques for Reducing Leakage Power. In: Proc. Int’l Symposium on Computer Architecture (2002)
Meng, K., Joseph, R.: Process Variation Aware Cache Leakage Management. In: Proc. Int’l Symposium on Low Power Electronics and Design (2006)
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)
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)
Tomiyama, H., Yasuura, H.: Code Placement Techniques for Cache Miss Rate Reduction. ACM Trans. on Design Automation of Electronic Systems (ToDAES) 2(4) (1997)
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)
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)
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)
Huang, P.K., Ghiasi, S.: Leakage-Aware Intraprogram Voltage Scaling for Embedded Processors. In: Proc. Design Automation Conference, pp. 364–369 (2006)
Chang, J.M., Pedram, M.: Register Allocation and Binding for Low Power. In: Proc. Design Automation Conference (1995)
Gebotys, C.H.: Low Energy Memory and Register Allocation Using Network Flow. In: Proc. Design Automation Conference (1997)
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)
Azizi, N., Najm, F.N., Moshovos, A.: Low-Leakage Asymmetric-Cell SRAM. IEEE Trans. VLSI 11(4), 701–715 (2003)
Moshovos, A., Falsafi, B., Najm, F.N., Azizi, N.: A Case for Asymmetric-Cell Cache Memories. IEEE Trans. VLSI 13(7), 877–881 (2005)
Clark, L., De, V.: Techniques for Power and Process Variation Minimization. In: Piguet, C. (ed.) Low-Power Electronics Design. CRC Press, Boca Raton (2005)
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)
M32R family of 32-bit RISC microcomputers, http://www.renesas.com
CACTI integrated cache access time, cycle time, area, leakage, and dynamic power model, HP Labs, http://www.hpl.hp.com/personal/Norman_Jouppi/cacti4.html and http://quid.hpl.hp.com:9082/cacti/
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)
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)
Agarwal, K., Nassif, S.: Statistical Analysis of SRAM Cell Stability. In: Proc. Design Automation Conference (2006)
Toyoda, E.: DFM: Device & Circuit Design Challenges. In: Proc. Int’l Forum on Semiconductor Technology (2004)
International Technology Roadmap for Semiconductors—Design (2006) (update), http://www.itrs.net/Links/2006Update/2006UpdateFinal.htm
Hill, S.: The ARM 10 Family of Embedded Advanced Microprocessor Cores. In: Proc. HOT-Chips (2001)
Suzuki, K., Arai, T., Kouhei, N., Kuroda, I.: V830R/AV: Embedded Multimedia Superscalar RISC Processor. IEEE Micro 18(2), 36–47 (1998)
Hamdioui, S.: Testing Static Random Access Memories: Defects, Fault Models and Test Patterns. Kluwer Academic Publishers, Dordrecht (2004)
Thibeault, C.: On the Comparison of Delta IDDQ and IDDQ Testing. In: Proc. VLSI Test Symposium, pp. 143–150 (1999)
DSM-8104 ammeter, http://www.nihonkaikeisoku.co.jp/densi/toadkk_zetuenteikou_dsm8104.htm
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)
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)
Wallquist, K.M.: On the Effect of ISSQ Testing in Reducing Early Failure Rate. In: Proc. Int’l Test Conference, pp. 910–914 (1995)
Bushnell, M.L., Agrawal, V.D.: Essentials of Electronic Testing, for Digital, Memory and Mixed-Signal VLSI Circuits. Kluwer Academic Publishers, Dordrecht (2000)
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)
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)
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)
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)
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)
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)
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)
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)
MiBench (ver. 1.0), http://www.eecs.umich.edu/mibench/
MediaBench, http://cares.icsl.ucla.edu/MediaBench
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Goudarzi, M., Ishihara, T., Noori, H. (2011). Software-Level Instruction-Cache Leakage Reduction Using Value-Dependence of SRAM Leakage in Nanometer Technologies. In: Stenström, P. (eds) Transactions on High-Performance Embedded Architectures and Compilers III. Lecture Notes in Computer Science, vol 6590. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-19448-1_15
Download citation
DOI: https://doi.org/10.1007/978-3-642-19448-1_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-19447-4
Online ISBN: 978-3-642-19448-1
eBook Packages: Computer ScienceComputer Science (R0)