• DocumentCode
    3105589
  • Title

    Link-time optimization for power efficiency in a tagless instruction cache

  • Author

    Jones, Timothy M. ; Bartolini, Sandro ; Maebe, Jonas ; Chanet, Dominique

  • Author_Institution
    Sch. of Inf., Univ. of Edinburgh, Edinburgh, UK
  • fYear
    2011
  • fDate
    2-6 April 2011
  • Firstpage
    32
  • Lastpage
    41
  • Abstract
    The instruction cache is a critical component in any microprocessor. It must have high performance to enable fetching of instructions on every cycle. However, current designs waste a large amount of energy on each access as tags and data banks from all cache ways are consulted in parallel to fetch the correct instructions as quickly as possible. Existing approaches to reduce this overhead remove unnecessary accesses to the data banks or to the ways that are not likely to hit. However, tag hunks still need to be checked. This paper considers a new hybrid hardware and linker-assisted approach to tagless instruction caching. Our novel cache architecture, supported by the compilation toolchain, removes the need for tag checks entirely for the majority of cache accesses. The linker places frequently-executed instructions in specific program regions that are then mapped into the cache without the need for tag checks. This requires minor hardware modifications, no ISA changes and works across cache configurations. Our approach keeps the software and hardware independent, resulting in both backward and forward compatibility. evaluation on a superscalar processor with and without SMI´ support shows power savings of 66% within the instruction cache with no loss of performance. This translates to a 49% saving when considering the combined power of the instruction cache and translation lookaside buffer, which is involved in managing our tagless scheme.
  • Keywords
    cache storage; microprocessor chips; multi-threading; optimisation; power aware computing; SMT; compilation toolchain; data banks; hybrid hardware-linker assisted approach; link time optimization; microprocessor; power efficiency; superscalar processor; tag banks; tagless instruction caching; translation lookaside buffer; Aerospace electronics; Arrays; Benchmark testing; Clustering algorithms; Hardware; Logic gates; Program processors;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Code Generation and Optimization (CGO), 2011 9th Annual IEEE/ACM International Symposium on
  • Conference_Location
    Chamonix
  • Print_ISBN
    978-1-61284-356-8
  • Electronic_ISBN
    978-1-61284-358-2
  • Type

    conf

  • DOI
    10.1109/CGO.2011.5764672
  • Filename
    5764672