• DocumentCode
    299725
  • Title

    Streamlining data cache access with fast address calculation

  • Author

    Austin, Todd M. ; Pnevmatikatos, Dionisios N. ; Sohi, Gurindar S.

  • Author_Institution
    Dept. of Comput. Sci., Wisconsin Univ., Madison, WI, USA
  • fYear
    1995
  • fDate
    22-24 June 1995
  • Firstpage
    369
  • Lastpage
    380
  • Abstract
    For many programs, especially integer codes, untolerated load instruction latencies account for a significant portion of total execution time. In this paper, we present the design and evaluation of a fast address generation mechanism capable of eliminating the delays caused by effective address calculation for many loads and stores. Our approach works by predicting early in the pipeline (part of) the effective address of a memory access and using this predicted address to speculatively access the data cache. If the prediction is correct, the cache access is overlapped with non-speculative effective address calculation. Otherwise, the cache is accessed again in the following cycle, this time using the correct effective address. The impact on the cache access critical path is minimal; the prediction circuitry adds only a single OR operation before cache access can commence. In addition, verification of the predicted effective address is completely decoupled from the cache access critical path. Analyses of program reference behavior and subsequent performance analysis of this approach shows that this design is a good one, servicing enough accesses early enough to result in speedups for all the programs we tested. Our approach also responds well to software support, which can significantly reduce the number of mispredicted effective addresses, in many cases providing better program speedups and reducing cache bandwidth requirements.
  • Keywords
    cache storage; computer architecture; program testing; software performance evaluation; cache bandwidth requirements; data cache access streamlining; delays; fast address calculation; integer codes; load instruction latencies; memory access; performance analysis; program reference behavior; program speedups; single OR operation; Bandwidth; Circuits; Computer architecture; Delay effects; Hazards; Impedance; Microprocessors; Permission; Pipelines; Testing;
  • 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
    524576