• DocumentCode
    299723
  • Title

    Instruction fetching: Coping with code bloat

  • Author

    Uhlig, Richard ; Nagle, David ; Mudge, Trevor ; Sechrest, Stuart ; Emer, Joel

  • Author_Institution
    Gesellshaft fur Math. und Datenverarbeitung, Sankt Augustin, Germany
  • fYear
    1995
  • fDate
    22-24 June 1995
  • Firstpage
    345
  • Lastpage
    356
  • Abstract
    Previous research has shown that the SPEC benchmarks achieve low miss ratios in relatively small instruction caches. This paper presents evidence that current software-development practices produce applications that exhibit substantially higher instruction-cache miss ratios than do the SPEC benchmarks. To represent these trends, we have assembled a collection of applications, called the instruction benchmark suite (IBS), that provides a better test of instruction-cache performance. We discuss the rationale behind the design of IBS and characterize its behavior relative to the SPEC benchmark suite. Our analysis is based on trace-driven and trap-driven simulations and takes into full account both the application and operating-system components of the workloads. This paper then reexamines a collection of previously-proposed hardware mechanisms for improving instruction-fetch performance in the context of the IBS workloads. We study the impact of cache organization transfer bandwidth, prefetching, and pipe-lined memory systems on machines that rely on the use of relatively small primary instruction caches to facilitate increased clock rates. We find that, although of little use for SPEC, the right combination of these techniques substantially benefits IBS. Even so, under IBS, a stubborn lower bound on the instruction-fetch CPI remains as an obstacle to improving overall processor performance.
  • Keywords
    computer architecture; discrete event simulation; instruction sets; performance evaluation; SPEC benchmarks; cache organization transfer bandwidth; code bloat; hardware mechanisms; instruction benchmark suite; instruction caches; instruction fetching; instruction-cache performance; operating-system components; processor performance; trace-driven simulations; trap-driven simulations; Analytical models; Application software; Assembly; Bandwidth; Benchmark testing; Clocks; Hardware; Operating systems; Permission; Prefetching;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Architecture, 1995. Proceedings., 22nd Annual International Symposium on
  • Conference_Location
    Santa Margherita Ligure, Italy
  • ISSN
    1063-6897
  • Print_ISBN
    0-89791-698-0
  • Type

    conf

  • Filename
    524574