2002 · 54 citations · 33 references
EngineeringComputer EngineeringComputer ScienceCompilersComputer ArchitectureExperimental PerformanceBuffer ManagementCache Behavior AnalysisMulticore Processor DesignSpeculative ExecutionCompiler DesignMultiple-issue ArchitecturesRelative Performance AnalysisSpeculative Execution EffectsSpeculative Load ExecutionSpeculative Prefetching
We investigate the relative performance impact of non-blocking loads, stream buffers, and speculative execution both used individually and in conjunction with each other. We have simulated the SPEC92 benchmarks on a statically scheduled quad-issue processor model, running code from the Multiflow compiler. Non-blocking loads and stream buffers both provide a significant performance advantage, and their combination performs significantly better than either alone. For example, with a 64-byte, 2-way set associative cache with 32 cycle fetch latency, non-blocking loads reduce the run-time by 21% while stream-buffers reduce it by 26%, and the combined use of the two yields a 47% reduction. The addition of speculative execution further improves the performance of the systems that we have simulated, with or without non-blocking loads and stream buffers, by an additional 20% to 4O%. We expect that the use of all three of these techniques will be important in future generations of microprocessors.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
33
Amitabh Srivastava, Alan Eustace · 1994 · 1K citations · Full text
Design and evaluation of a compiler algorithm for prefetching
Todd C. Mowry, Monica S. Lam, Anoop Gupta · 1992 · 767 citations · Full text
David Callahan, Ken Kennedy, Allan Porterfield · 1991 · 489 citations