How Useful Are Non-blocking Loads, Stream Buffers, and Speculative Execution in Multiple Issue Processors? (1994)
| Citations: | 47 - 2 self |
BibTeX
@INPROCEEDINGS{Farkas94howuseful,
author = {Keith I. Farkas and Norman P. Jouppi and Paul Chow},
title = {How Useful Are Non-blocking Loads, Stream Buffers, and Speculative Execution in Multiple Issue Processors?},
booktitle = {},
year = {1994},
pages = {78--89}
}
OpenURL
Abstract
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 40%. We expect that the use of all three of these techniques will be important in future generations of microprocessor...







