How useful are non-blocking loads, stream buffers and speculative execution in multiple issue processors?
How useful are non-blocking loads, stream buffers and speculative execution in multiple issue processors?
复制标题
非阻塞加载、流缓冲区和推测执行在多个问题处理器中有多有用?
DOI:
10.1109/hpca.1995.386553
复制
发表时间:
1995
期刊:
影响因子:
--
通讯作者:
P. Chow
中科院分区:
文献类型:
--
作者:
K. Farkas;N. Jouppi;P. Chow
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>>