Title :
Stack Caching Using Split Data Caches
Author :
Nielsen, Carsten ; Schoeberl, Martin
Author_Institution :
Dept. of Appl. Math. & Comput. Sci., Tech. Univ. of Denmark, Lyngby, Denmark
Abstract :
In most embedded and general purpose architectures, stack data and non-stack data is cached together, meaning that writing to or loading from the stack may expel non-stack data from the data cache. Manipulation of the stack has a different memory access pattern than that of non-stack data, showing higher temporal and spatial locality. We propose caching stack and non-stack data separately and develop four different stack caches that allow this separation without requiring compiler support. These are the simple, window, and prefilling with and without tag stack caches. The performance of the stack cache architectures was evaluated using the Simple Scalar toolset where the window and prefilling stack cache without tag resulted in an execution speedup of up to 3.5% for the MiBench benchmarks, executed on an out-of-order processor with the ARM instruction set.
Keywords :
cache storage; ARM instruction set; MiBench benchmarks; general purpose architectures; memory access pattern; nonstack data cache; out-of-order processor; simple Scalar toolset; spatial locality; split data caches; stack cache architectures; temporal locality; Benchmark testing; Distributed databases; Memory management; Multicore processing; Real-time systems; Registers; cache memory; microprocessors; stack caching;
Conference_Titel :
Object/Component/Service-Oriented Real-Time Distributed Computing Workshops (ISORCW), 2015 IEEE International Symposium on
Conference_Location :
Auckland
DOI :
10.1109/ISORCW.2015.59