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.
Similar content being viewed by others
References
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Suresh DC, Najjar WA, Yang J (2005) Power efficient instruction caches for embedded systems. In: SAMOS 2005. LNCS, vol 3553, pp 182–191
Tarjan D, Thoziyoor S, Jouppi NP (2006) CACTI 4.0. HP Laboratories, Palo Alto, June 2006
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
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
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
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
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-011-0694-1