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.