• DocumentCode
    1572101
  • Title

    Tango: a hardware-based data prefetching technique for superscalar processors

  • Author

    Pinter, Shlomit S. ; Yoaz, Adi

  • Author_Institution
    IBM Sci. & Technol., MATAM Adv. Technol. Center, Haifa, Israel
  • fYear
    1996
  • Firstpage
    214
  • Lastpage
    225
  • Abstract
    We present a new hardware-based data prefetching mechanism for enhancing instruction level parallelism and improving the performance of superscalar processors. The emphasis in our scheme is on the effective utilization of slack time and hardware resources not used for the main computation. The scheme suggests a new hardware construct, the program progress graph (PPG), as a simple extension to the branch target buffer (BTB). We use the PPG for implementing a fast pre-program counter pre-PC, that travels only through memory reference instructions (rather than scanning all the instructions sequentially). In a single clock cycle the pre-PC extracts all the predicted memory references in some future block of instructions, to obtain early data prefetching. In addition, the PPG can be used for implementing a pre-processor and for instruction prefetching. The prefetch requests are scheduled to “range” with the core requests from the data cache, by using only free time slots on the existing data cache tag ports. Employing special methods for removing prefetch requests that are already in the cache (without utilizing the cache-tag ports bandwidth) and a simple optimization on the cache LRU mechanism reduce the number of prefetch requests sent to the core-cache bus and to the memory (second level) bus. Simulation results on the SPEC92 benchmark for the base line architecture (32 K-byte data cache and 12 cycles fetch latency) show an average speedup of 1.36 (CPI ratio)
  • Keywords
    digital simulation; instruction sets; parallel processing; performance evaluation; storage management; LRU mechanism; SPEC92 benchmark; Tango; base line architecture; branch target buffer; hardware resources; hardware-based data prefetching technique; instruction level parallelism; instruction prefetching; memory reference instructions; performance; program progress graph; simulation results; slack time; superscalar processors; Bandwidth; Clocks; Data mining; Delay; Electronic mail; Hardware; Microprocessors; Optimization methods; Parallel processing; Prefetching;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Microarchitecture, 1996. MICRO-29.Proceedings of the 29th Annual IEEE/ACM International Symposium on
  • Conference_Location
    Paris
  • Print_ISBN
    0-8186-7641-8
  • Type

    conf

  • DOI
    10.1109/MICRO.1996.566463
  • Filename
    566463