Skip to main content
Log in

A tagless cache design for power saving in embedded systems

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

In embedded systems, cache is commonly used to improve system performance. However, the cache consumes a large amount of power, and among the components of the cache memory, tag comparisons consume the most amount of power. Therefore, how to design a cache that does not consume so much power when comparing tags and that has a high hit ratio is an important challenge. In this paper, we propose a Tagless Instruction Cache, called TL-IC, that does not perform tag comparisons in order to save power in embedded systems. To guarantee that an instruction fetched from TL-IC is the desired instruction, instead of cache lines being used, the basic blocks of programs are placed into TL-IC. In addition, to utilize TL-IC as much as possible in order to save the most amount of power and to take into account the general-purpose and special-purpose applications, both the static allocation and the dynamic allocation of basic blocks are used to select the frequently executed basic blocks of programs in TL-IC. With a high utilization of TL-IC that does not perform tag comparisons, the power consumed in fetching instructions can be efficiently reduced. In the simulation results, we show and compare the power consumption of our proposed TL-IC, L0 cache, Linebuffer, and TH-IC.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Ali K, Aboelaze M, Datta, S (2006) Modified hotspot cache architecture: a low energy fast cache for embedded processors. In: Proceedings of 2006 international conference on embedded computer systems, July 2006, pp 35–42

    Google Scholar 

  2. Chen C-W, Chang C-H, Ku C-J (2005) A low power-consuming embedded system design by reducing memory access frequencies with multiple reference tables and encoding the most executed instructions. IEICE Trans Inf Syst E88-D(12):2748–2756

    Article  Google Scholar 

  3. Chung E-Y, Kim CH, Chung SW (2008) An accurate and energy-efficient way determination technique for instruction caches by using early tag matching. In: 4th IEEE international symposium on electronic design, test & applications, pp 190–195

    Google Scholar 

  4. Efthymiou A, Garside JD (2002) An adaptive serial-parallel CAM architecture for low power cache blocks. In: ISLPED’02: proceedings of the design, pp 136–141

    Google Scholar 

  5. Ghose K, Kamble MB (1998) Energy efficient cache organizations for superscalar processors. In: Power driven microarchitecture workshop, held in conjunction with ISCA 98, June 1998

    Google Scholar 

  6. Ghose K, Kamble MB (1999) Reducing power in superscalar processor caches using subbanking, multiple line buffers and bit-line segmentation. In: Proceedings of the 1999 international symposium on low power electronics and design, pp 70–75

    Chapter  Google Scholar 

  7. Gordon-Ross A, Cotterell S, Vahid F (2002) Exploiting fixed programs in embedded systems: a loop cache example. IEEE Comput Archit Lett 1(1):2

    Article  Google Scholar 

  8. Hines S, Whalley D, Tyson G (2007) Guaranteeing hits to improve the efficiency of a small instruction cache. In: 40th annual IEEE/ACM international symposium on microarchitecture (MICRO 2007), Dec. 2007, pp 434–444

    Google Scholar 

  9. http://www.spec.org/cpu2000/

  10. Inoue K, Ishihara T, Murakami K (1999) Way-predicting set-associative cache for high performance and low energy consumption. In: Proceedings of the 1999 international symposium on low power electronics and design, August 1999, pp 273–375

    Chapter  Google Scholar 

  11. Jourdant S, Hsing T-H, Stark J, Patt YN (1996) The effects of mispredicted-path execution on branch prediction structures. In: Proceedings of the PACT ’96, pp 58–67

    Google Scholar 

  12. Kin J, Gupta M, Mangione-Smith WH (1997) The filter cache: an energy efficient memory structure. In: Proc of 30th international symposium on microarchitecture, Dec 1997, pp 184–193

    Chapter  Google Scholar 

  13. Lee C, Potkonjak M, Mangione-Smith WH (1997) MediaBench: a tool for evaluating and synthesizing multimedia and communications systems. In: 30th international symposium on microarchitecture, pp 330–335

    Google Scholar 

  14. Lee LH, Moyer W, Arends J (1999) Instruction fetch energy reduction using loop caches for embedded applications with small tight loops. In: Proceedings of the international symposium on low power electronics and design, Aug 1999, pp 267–269

    Google Scholar 

  15. Panwar R, Rennels D (1995) Reducing the frequency of tag compares for low power I-cache design. In: International symposium on low power electronics and design, pp 57–62

    Google Scholar 

  16. Petrov P, Orailoglu A (2001) Data cache energy minimizations through programmable tag size matching to the applications. In: ISSS’01: international symposium on system synthesis, Montreal, Oct 2001, pp 113–117

    Google Scholar 

  17. Powell MD, Agarwal A, Vijaykumar TN, Falsafi B, Roy K (2001) Reducing set-associative cache energy via way-prediction and selective direct-mapping. In: Proceedings of the 34th international symposium on micro architecture, pp 54–65

    Chapter  Google Scholar 

  18. Raveendran BK, Sudarshan TSB, Patil A, Randive K, Gurunarayanan S (2008) Predictive placement scheme in set-associative cache for energy efficient embedded systems. In: IEEE international conference on signal processing, communications and networking, Jan 2008, pp 152–157

    Chapter  Google Scholar 

  19. Rawlins M, Gordon-Ross A (2010) Lightweight runtime control flow analysis for adaptive loop caching. In: Proceedings of the 20th symposium on Great lakes symposium on VLSI

    Google Scholar 

  20. Skadron K, Ahuja PS, Martonosi M, Clark DW (1998) Improving prediction for procedure returns with return-address-stack repair mechanisms. In: Proceedings of the 31st annual ACM/IEEE international symposium on micro architecture, pp 259–271

    Chapter  Google Scholar 

  21. Su C-L, Despain AM (1995) Cache designs for energy efficiency. In: Proceedings of the 28th annual Hawaii international conference on system sciences, Jan 1995, pp 306–315

    Google Scholar 

  22. Suresh DC, Najjar WA, Yang J (2005) Power efficient instruction caches for embedded systems. In: SAMOS 2005. LNCS, vol 3553, pp 182–191

    Google Scholar 

  23. Tarjan D, Thoziyoor S, Jouppi NP (2006) CACTI 4.0. HP Laboratories, Palo Alto, June 2006

  24. Vivekanandarajah K, Srikanthan T (2005) Custom instruction filter cache synthesis for low-power embedded systems. In: Proceedings of the 16th international workshop on rapid system prototyping (RSP’05), pp 151–157

    Chapter  Google Scholar 

  25. Vivekanandarajah K, Srikanthan T, Bhattacharyya S (2004) Dynamic filter cache for low power instruction memory hierarchy. In: Proceedings of the EUROMICRO systems on Digital System Design (DSD’04), pp 607–610

    Google Scholar 

  26. Yang M, Yu L (2007) Tag compression for low power in instruction caches. In: Proceedings of electron devices and solid-state circuits, IEEE 2007, Dec 2007, pp 837–840

    Chapter  Google Scholar 

  27. Zhang M, Chang X, Zhang G (2007) Reducing cache energy consumption by tag encoding in embedded processors. In: Proceedings of the ISLPED’07, ACM 2007, August 2007, pp 367–370

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ching-Wen Chen.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Chen, CW., Ku, CJ. A tagless cache design for power saving in embedded systems. J Supercomput 62, 174–198 (2012). https://doi.org/10.1007/s11227-011-0694-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-011-0694-1

Keywords

Navigation