A performance analysis of automatically managed top of stack buffers

In this paper, the feasibility of using register banks as a top of stack (TOS) buffer is demonstrated. A quantitative performance evaluation is made of three automatic TOS buffer management algorithms: a simple single pointer algorithm, an intelligent single pointer algorithm, and a sophisticated double pointer algorithm. An automatically managed TOS buffer can effectively cache local data accesses resulting in a large memory traffic reduction. Results demonstrate that a small (with respect to the size of the benchmark data set) TOS buffer provides a very high data reference hit ratio and requires minimal processor intervention for TOS buffer management. The simple single pointer algorithm is shown to provide the best overall performance for various metrics including memory bandwidth, TOS buffer hit ratio, processor intervention, and processor execution speed.