• DocumentCode
    1992752
  • Title

    Issues in the design of store buffers in dynamically scheduled processors

  • Author

    Bhargava, Ravi ; John, Lizy K.

  • Author_Institution
    Lab. for Comput. Archit., Texas Univ., Austin, TX, USA
  • fYear
    2000
  • fDate
    2000
  • Firstpage
    76
  • Lastpage
    87
  • Abstract
    Processor performance can be sensitive to load-store ordering, memory bandwidth, and memory access latency. A store buffer is a mechanism that exists in many current processors to accomplish one or more of the following: store access ordering, latency hiding, and data forwarding. Different policies that govern store buffer behavior can affect overall processor performance. However, the performance impact of various store buffer policies is not clearly analyzed in available literature. In this paper, we look into various store buffer issues such as i) where to place it in the pipeline, ii) when to remove a store entry from the store buffer, iii) when to allow the stores to be retired, and iv) if, when, and how to set the contention priority of memory operations. These issues are explained in detail while design and performance tradeoffs are assessed. Using a variety of C, C++, and Java benchmarks, we establish how these design policies influence performance. We find that the policies for store entry removal and store buffer pipeline placement have a large effect on the overall performance of a microprocessor. In addition, we see that smaller, well-designed store buffers can achieve comparable performance to larger, basic store buffers. Combining these results with an analysis of the benchmarks can help one fully understand the role of the store buffer and the tradeoffs involved
  • Keywords
    buffer storage; processor scheduling; C benchmarks; C++ benchmarks; Java benchmarks; contention priority; data forwarding; dynamically scheduled processors; latency hiding; load-store ordering; memory access latency; memory bandwidth; processor performance; store access ordering; store buffer design; store buffer pipeline placement; store entry removal; Bandwidth; Buffer storage; Computer architecture; Delay; Dynamic scheduling; Java; Laboratories; Microprocessors; Pipelines; Processor scheduling;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Performance Analysis of Systems and Software, 2000. ISPASS. 2000 IEEE International Symposium on
  • Conference_Location
    Austin, TX
  • Print_ISBN
    0-7803-6418-X
  • Type

    conf

  • DOI
    10.1109/ISPASS.2000.842285
  • Filename
    842285