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.
Original language | English |
---|---|
Title of host publication | Proceedings of the 18th International Symposium on Real-Time Distributed Computing Workshops (ISORCW 2015) |
Publisher | IEEE |
Publication date | 2015 |
Pages | 66-73 |
ISBN (Print) | 978-1-4799-7709-6 |
DOIs | |
Publication status | Published - 2015 |
Event | 18th IEEE International Symposium on Real-time Computing - Auckland, New Zealand Duration: 13 Apr 2015 → 17 Apr 2015 Conference number: 18 http://www.isorc2015.org/ |
Conference
Conference | 18th IEEE International Symposium on Real-time Computing |
---|---|
Number | 18 |
Country/Territory | New Zealand |
City | Auckland |
Period | 13/04/2015 → 17/04/2015 |
Internet address |
Keywords
- Cache Memory
- Microprocessors
- Stack Caching