• DocumentCode
    3134996
  • Title

    Pointer cache assisted prefetching

  • Author

    Collins, Jamison ; Sair, Suleyman ; Calder, Brad ; Tullsen, Dean M.

  • Author_Institution
    Dept. of Comput. Sci. & Eng., California Univ., San Diego, La Jolla, CA, USA
  • fYear
    2002
  • fDate
    2002
  • Firstpage
    62
  • Lastpage
    73
  • Abstract
    Data prefetching effectively reduces the negative effects of long load latencies on the performance of modern processors. Hardware prefetchers employ hardware structures to predict future memory addresses based on previous patterns. Thread-based prefetchers use portions of the actual program code to determine future load addresses for prefetching. This paper proposes the use of a pointer cache, which tracks pointer transitions, to aid prefetching. The pointer cache provides, for a given pointer´s effective address, the base address of the object pointed to by the pointer. We examine using the pointer cache in a wide issue superscalar processor as a value predictor and to aid prefetching when a chain of pointers is being traversed. When a load misses in the L1 cache, but hits in the pointer cache, the first two cache blocks of the pointed to object are prefetched. In addition, the load´s dependencies are broken by using the pointer cache hit as a value prediction. We also examine using the pointer cache to allow speculative precomputation to run farther ahead of the main thread of execution than in prior studies. Previously proposed thread-based prefetchers are limited in how far they can run ahead of the main thread when traversing a chain of recurrent dependent loads. When combined with the pointer cache, a speculative thread can make better progress ahead of the main thread, rapidly traversing data structures in the face of cache misses caused by pointer transitions.
  • Keywords
    computer architecture; data structures; multi-threading; performance evaluation; storage management; data structures; long load latencies; performance; pointer cache; pointers; prefetching; thread; Accuracy; Computer science; Data engineering; Data structures; Delay; Electronic switching systems; Hardware; History; Prefetching; Yarn;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Microarchitecture, 2002. (MICRO-35). Proceedings. 35th Annual IEEE/ACM International Symposium on
  • ISSN
    1072-4451
  • Print_ISBN
    0-7695-1859-1
  • Type

    conf

  • DOI
    10.1109/MICRO.2002.1176239
  • Filename
    1176239