Power optimisations targeting the memory subsystem have received considerable attention in recent years because of the dominant role played by memory in the overall system power. The more complex the application, the greater the volume of instructions and data involved, and hence, the greater the significance of issues involving power-efficient storage and retrieval of these instructions and data. In this chapter we give a brief overview of how memory architecture and accesses affect system power dissipation, and some recent proposals on reducing memory-related power through diverse mechanisms: optimisations of the traditional cache memory system, architectural innovations targeting application specific designs, compiler optimisations, and other techniques.
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
Bajwa, R.S., Hiraki, M., Kojima, H., Gorny, D.J.., Nitta, K., Shridhar, A., Seki, K., and Sasaki, K. (1997) Instruction buffering to reduce power in processors for signal processing. IEEE Transactions on VLSI Systems, 5 (4):417-424.
Bellas, N., Hajj, I., and Polychronopoulos, C. (1999) Using dynamic cache management techniques to reduce energy in a high-performance processor. In International Symposium on Low Power Electronics and Design, pages 64-69, San Diego, USA.
Bellas, N., Hajj, I.N., Polychronopoulos, C.D., and Stamoulis, G. (2000) Architectural and compiler techniques for energy reduction in high-performance microprocessors. IEEE Transactions on VLSI Systems, 8(3): 317-326.
Benini, L. and Micheli, G.De (2000) System level power optimization: Tech-niques and tools. ACM Transactions on Design Automation of Electronic Systems, 5(2):115-192.
Benini, L., de Micheli, G., Macii, E., Poncino, M., and Quer, S. (1998) Power optimization of core-based systems by address bus encoding. IEEE Trans-actions on VLSI Systems, 6(4):554-562.
Benini, L., Macii, A., Macii, E., and Poncino, M. (1999) Selective instruction compression for memory energy reduction in embedded systems. In Inter-national Symposium on Low Power Electronics and Design, pages 206-211, San Diego, USA.
Benini, L., Macii, A., and Poncino, M. (2000) A recursive algorithm for low-power memory partitioning. In International Symopsium on Low Power Electronics and Design, Rapallo, Italy.
Benini, L., Macii, A., and Nannarelli, A. (2001) Cached-code compression for energy minimization in embedded processors. In International symposium on Low Power Electronics and Design, pages 322-327, Huntington Beach, USA.
Benini, L., Bruni, D., Macii, A., and Macii, E. (2002) Hardware-assisted data compression for energy minimization in systems with embedded processors. In Design Automation and Test in Europe, pages 449-453, Paris, France.
Cao, Y., Tomiyama, H., Okuma, T., and Yasuura, H. (2002) Data memory design considering effective bitwidth for low-energy embedded systems. In International Symposium on System Synthesis, pages 201-206, Kyoto, Japan.
Chandar, S.G., Mehendale, M., and Govindarajan, R. (1999) Area and power reduction of embedded dsp systems using instruction compression and re-configurable encoding. In Proceedings of the IEEE/ACM International Conference on Computer Aided Design, pages 631-634, San Jose, CA.
Chiou, D., Jain, P., Rudolph, L., and Devadas, S. (2000) Application-specific memory management for embedded systems using software-controlled caches. In Design Automation Conference, pages 416-419, Los Angeles, USA.
Cho, Y. and Chang, N. (2004) Memory-aware energy-optimal frequency assignment for dynamic supply voltage scaling. In International Symposium on Low Power Electronics and Design, pages 387-392, Newport Beach, USA.
Choi, Y. and Kim, T. (2003) Memory layout techniques for variables utilizing efficient dram access modes in embedded system design. In Design Automa-tion Conference, pages 881-886, Anaheim, USA.
Cotterel, S. and Vahid, F. (2002) Synthesis of customized loop caches for core based embedded systems. In Proceedings of the IEEE International Confer-ence on Computer Aided Design, pages 665-662, San Jose, USA.
Delaluz, V., Sivasubramaniam, A., Kandemir, M., Vijaykrishnan, N., and Irwin, M.J. (2002) Scheduler-based dram energy management. In Design Automation Conference, New Orleans, USA.
Fan, X., Ellis, C., and Lebeck, A. (2001) Memory controller policies for dram power management. In International Symposium on Low Power Electronics and Design, pages 129-134, Huntington Beach, USA.
Flautner, K., Kim, N.S., Martin, S., Blaauw, D., and Mudge, T. (2002) Drowsy caches: Simple techniques for reducing leakage power. In International Symposium on Computer Architecture, pages 240-251, Anchorage, USA.
Francesco, P., Marchal, P., Atienza, D., Benini, L., Catthoor, F., and Mendias, J.M. (2004) An integrated hardware/software approach for run-time scratchpad management. In Design Automation Conference, pages 238-243, San Diego, USA.
Garey, M.R. and Johnson, D.S. (1979) Computers and Intractibility - A Guide to the Theory of NP-Completeness.
W.H. Freeman.Ghose, K. and Kamble, M.B. (1999) Reducing power in superscalar processor caches using subbanking, multiple line buffers and bit-line segmentation. In International Symposium on Low Power Electronics and Design, pages 70-75, San Diego, USA.
Givargis, T. (2003) Improved indexing for cache miss reduction in embed-ded systems. In Design Automation Conference, pages 875-880, Anaheim, USA.
Givargis, T., Henkel, J., and Vahid, F. (1999) Interface and cache power explo-ration for core-based embedded system design. In International Conference on Computer Aided Design, pages 270-273, San Jose, USA.
Grun, P., Dutt, N., and Nicolau, A. (2001) Access pattern based local memory customization for low power embedded systems. In Design Automation and Test in Europe, pages 778-784, Munich, Germany.
Hasegawa, A., Kawasaki, I., Yamada, K., Yoshioka, S., Kawasaki, S., and Biswas, P.(1995) SH3: High code density, low power. IEEE Micro, 15(6):11-19.
Hennessy, J.L. and Patterson, D.A. (1994) Computer Architecture - A Quanti-tative Approach. Morgan Kaufman, San Francisco, CA.
Hu, J.S., Nadgir, A., Vijaykrishnan, N., Irwin, M.J., and Kandemir, M. (2003) Exploiting program hotspots and code sequentiality for instruction cache leakage management. In International Symposium on Low Power Electron-ics and Design, pages 402-407, Seoul, Korea.
Huang, H., Shin, K.G., Lefurgy, C., and Keller, T. (2005) Improving energy efficiency by making dram less randomly accessed. In International Sym-posium on Low Power Electronics and Design, pages 393-398, San Diego, USA.
Inoue, K., Ishihara, T., and Murakami, K. (1999) Way-predicting set-associative cache for high performance and low energy consumption. In International Symposium on Low Power Electronics and Design, pages 273-275, San Diego, USA.
Inoue, K., Moshnyaga, V.G., and Murakami, K. (2002) A history-based I-cache for low-energy multimedia applications. In International Symposium on Low Power Electronics and Design, pages 148-153, Monterey, USA.
Ishihara, T. and Fallah, F. (2005) A non-uniform cache architecture for low power system design. In International Symposium on Low Power Electron-ics and Design, pages 363-368, San Diego, USA.
Janapsatya, A., Parameswaran, S., and Ignjatovic, A. (2004) Hard-ware/software managed scratchpad memory for embedded systems. In Proceedings of the IEEE/ACM International Conference on Computer Aided Design, pages 370-377, San Jose, USA.
Joo, Y., Choi, Y., Shim, H., Lee, H.G., Kim, K., and Chang, N. (2002) Energy exploration and reduction of sdram memory systems. In Design Automation Conference, pages 892-897, New Orleans, USA.
Kandemir, M., Ramanujam, J., Irwin, M.J., Vijaykrishnan, N., Kadayif, I., and Parikh, A. (2001) Dynamic management of scratch-pad memory space. In ACM/IEEE Design Automation Conference, pages 690-695, Los Vegas, USA.
Kandemir, M., Ramanujam, J., and Choudhary, A. (2002) Exploiting shared scratch pad memory space in embedded multiprocessor systems. In ACM/ IEEE Design Automation Conference, pages 219-224, New Orleans, USA.
Kaxiras, S., Hu, Z., and Martonosi, M. (2001) Cache decay: Exploiting genera-tional behavior to reduce cache leakage power. In International Symposium on Computer Architecture, pages 240-251, Goteberg, Sweden.
Kim, S., Vijaykrishnan, N., Kandemir, M., Sivasubramaniam, A., Irwin, M.J., and Geethanjali, E. (2001) Power-aware partitioned cache architectures. In International Symposium on Low Power Electronics and Design, pages 64-67, Huntington Beach, USA.
Kin, J., Gupta, M., and Mangione-Smith, W.H. (1997) The filter cache: an energy efficient memory structure. In International Symposium on Microar-chitecture, pages 184-193, Research Triangle Park, USA.
Ko, U., Balsara, P.T., and Nanda, A.K. (1995) Energy optimization of multi-level processor cache architectures. In International Symposium on Low Power Design, pages 45-49, New York, USA.
Kulkarni, C., Catthoor, F., and Man, H.De (2000) Advanced data layout orga-nization for multi-media applications. In Proceedings Workshop on Paral-lel and Distributed Computing in Image Processing, Video Processing, and Multimedia (PDIVM’2000), Cancun, Mexico.
Lekatsas, H., Henkel, J., and Wolf, W. (2002) Code compression for low power embedded system design. In Design Automation Conference, pages 294-299, Los Angeles, USA.
Li, Y. and Henkel, J. (1998) A framework for estimating and minimizing energy dissipation of embedded hw/sw systems. In Design Automation Con-ference, pages 188-193, San Francisco, USA.
Lyuh, C.-G. and Kim, T. (2004) Memory access scheduling and binding considering energy minimization in multi-bank memory systems. In Design Automation Conference, pages 81-86, San Diego, USA.
Macii, A., Macii, E., Crudo, F., and Zafalon, R. (2003) A new algorithm for energy-driven data compression in vliw embedded processors. In Design Automation and Test in Europe, pages 1024-1029, Munich, Germany.
Mallik, A., Wildrick, M.C., and Memik, G. (2004) Design and implementation of correlating caches. In International Symposium on Low Power Electron-ics and Design, pages 58-61, Newport Beach, USA.
Malik, A., Moyer, B., and Cermak, D. (2000) A low power unified cache archi-tecture providing power and performance flexibility. In International Sym-posium on Low Power Electronics and Design, pages 241-243, Rapallo, Italy.
Mamidipaka, M. and Dutt, N. (2003) On-chip stack based memory organiza-tion for low power embedded architectures. In Design Automation and Test in Europe, pages 1082-1089, Munich, Germany.
McFarling, S. (1989) Program optimization for instruction caches. In Third International Conference on Architectural Support for Programming Lan-guages and Operating Systems, pages 183-191, Boston, MA.
Min, R., Jone, W.-B., and Hu, Y. (2004) Location cache: A low-power l2 cache system. In International Symposium on Low Power Electronics and Design, pages 120-125, Newport Beach, USA.
Molina, C., Aliagas, C., Garcia, M., Gonzalez, A., and Tubella, J. (2003) Non redundant data cache. In International Symposium on Low Power Electron-ics and Design, pages 274-277, Seoul, Korea.
Muchnick, S. (1997) Advanced Compiler Design and Implementation. Morgan Kaufman, San Francisco, CA.
Musoll, E., Lang, T., and Cortadella, J. (1997) Exploiting the locality of mem-ory references to reduce the address bus energy. In International Symposium on Low Power Electronics and Design, pages 202-207, Monterey, CA.
Ozturk, O., Kandemir, M., Demirkiran, I., Chen, G., and Irwin, M.J. (2004) Data compression for improving spm behavior. In Design Automation Con-ference, pages 401-406, San Diego, USA.
Panda, P.R. and Dutt, N.D. (1999) Low-power memory mapping through re-ducing address bus activity. IEEE Transactions on VLSI Systems, 7(3): 309-320.
Panda, P.R., Dutt, N.D., and Nicolau, A. (1998) Incorporating DRAM access modes into high-level synthesis. IEEE Transactions on Computer Aided Design, 17(2):96-109.
Panda, P.R., Dutt, N.D., and Nicolau, A. (1999a) Local memory exploration and optimization in embedded systems. IEEE Transactions on Computer Aided Design, 18(1):3-13.
Panda, P.R., Dutt, N.D., and Nicolau, A. (1999b) Memory Issues in Embed-ded Systems-On-Chip: Optimizations and Exploration. Kluwer Academic Publishers, Norwell, MA.
Panda, P.R., Dutt, N.D., and Nicolau, A. (2000) On-chip vs. off-chip memory: The data partitioning problem in embedded processor-based systems. ACM Transactions on Design Automation of Electronic Systems, 5(3):682-704.
Panda, P.R., Semeria, L., and de Micheli, G. (2001) Cache-efficient memory layout of aggregate data structures. In International Symposium on System Synthesis, Montreal, Canada.
Panwar, R. and Rennels, D. (1995) Reducing the frequency of tag compares for low power i-cache design. In International Symposium on Low Power Design, pages 57-62, New York, USA.
Parameswaran, S. and Henkel, J. (2001) I-copes: Fast instruction code place-ment for embedded systems to improve performance and energy efficiency. In Proceedings of the IEEE/ACM International Conference on Computer Aided Design, pages 635-641.
Petrov, P. and Orailoglu, A. (2001) Data cache energy minimization through programmable tag size matching to the applications. In International Sym-posium on System Synthesis, pages 113-117, Montreal, Canada.
Petrov, P. and Orailoglu, A. (2002) Low-power data memory communication for application-specific embedded processors. In International Symposium on System Synthesis, pages 219-224, Kyoto, Japan.
Segars, S., Clarke, K., and Goudge, L. (1995) Embedded control problems, thumb, and the arm7tdmi. IEEE Micro, 15(5):20-30.
Shiue, W.-T. and Chakrabarti, C. (1999) Memory exploration for low power embedded systems. In Design Automation Conference, pages 140-145.
Stan, M.R. and Burleson, W.P. (1995) Bus-invert coding for low power I/O. IEEE Transactions on VLSI Systems, 3(1):49-58.
Steinke, S., Wehmeyer, L., Lee, B., and Marwedel, P. (2002) Assigning pro-gram and data objects to scratchpad for energy reduction. In Design Au-tomation and Test in Europe, pages 409-417, Paris, France.
Su, C.-L. and Despain, A.M. (1995) Cache design trade-offs for power and per-formance optimization: A case study. In International Symposium on Low Power Design, pages 63-68, New York, NY.
Tang, W., Gupta, R., and Nicolau, A. (2002) Power savings in embedded processors through decode filter cache. In Design Automation and Test in Europe, pages 443-448, Paris, France.
Tomiyama, H. and Yasuura, H. (1997) Code placement techniques for cache miss rate reduction. ACM Transactions on Design Automation of Electronic Systems, 2(4):410-429.
Yang, C.-L. and Lee, C.-H. (2004) Hotspot cache: Joint temporal and spa-tial locality exploitation for I-cache energy reduction. In International Sym-posium on Low Power Electronics and Design, pages 114-119, Newport Beach, USA.
Yoshida, Y., Song, B.-Y., Okuhata, H., Onoye, T., and Shirakawa, I. (1997) An object code compression approach to embedded processors. In Interna-tional Symposium on Low Power Electronics and Design, pages 265-268, Monterey, USA.
Zhang, C., Vahid, F., Yang, J., and Najjar, W. (2004) A way-halting cache for low-energy high-performance systems. In International Symposium on Low Power Electronics and Design, pages 126-131, Newport Beach, USA.
Zhang, W., Hu, J.S., Degalahal, V., Kandemir, M., Vijaykrishnan, N., and Irwin, M.J. (2002) Compiler directed instruction cache leakage optimiza-tion. In International Symposium on Microarchitecture, pages 208-218, Is-tanbul, Turkey.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2007 Springer
About this chapter
Cite this chapter
Panda, P.R. (2007). Power Optimisation Strategies Targeting the Memory Subsystem. In: Henkel, J., Parameswaran, S. (eds) Designing Embedded Processors. Springer, Dordrecht. https://doi.org/10.1007/978-1-4020-5869-1_6
Download citation
DOI: https://doi.org/10.1007/978-1-4020-5869-1_6
Publisher Name: Springer, Dordrecht
Print ISBN: 978-1-4020-5868-4
Online ISBN: 978-1-4020-5869-1
eBook Packages: EngineeringEngineering (R0)