Determining the Optimal Size of a Reuse Buffer
Mark J. Boyd
Department of Computer Engineering
University of California, Santa Cruz
Santa Cruz, California 95064 USA
Abstract
Dynamic instruction reuse uses a buffer to
retain previously executed instructions.
If a new instruction matches one in the buffer, the previous result is
reused instead of being recalculated.
As the size of this Reuse Buffer (RB)
increases, the instruction reuse increases as well.
This paper describes this relationship based on simulations using various RB sizes. These simulations further show a theoretical upper bound on the amount of reuse and compare the amount of reuse contributed by program-specific instruction spatial locality vs. locality expected solely by chance. The paper also discusses how reuse can provide speedup in a multi-process environment.