Software-assisted cache replacement mechanisms for embedded systems
- 13 November 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- No. 10923152,p. 119-126
- https://doi.org/10.1109/iccad.2001.968607
Abstract
We address the problem of improving cache predictability and performance in embedded systems through the use of software-assisted replacement mechanisms. These mechanisms require additional software controlled state information that affects the cache replacement decision. Software instructions allow a program to kill a particular cache element, i.e. effectively make the element the least recently used element, or keep that cache element, i.e. the element will never be evicted. We prove basic theorems that provide conditions under which kill and keep instructions can be inserted into program code, such that the resulting performance is guaranteed to be as good as or better than the original program run using the standard LRU policy. We developed a compiler algorithm based on the theoretical results that, given an arbitrary program, determines when to perform software-assisted replacement, i.e., when to insert either a kill or keep instruction. Empirical evidence is provided that shows that performance and predictability (worst-case performance) can be improved for many programs.Keywords
This publication has 9 references indexed in Scilit:
- A data-replace-controlled cache memory system and its performance evaluationsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Modified LRU policies for improving second-level cache behaviorPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Application-specific memory management for embedded systems using software-controlled cachesPublished by Association for Computing Machinery (ACM) ,2000
- On the existence of a spectrum of policies that subsumes the least recently used (LRU) and least frequently used (LFU) policiesPublished by Association for Computing Machinery (ACM) ,1999
- Active management of data caches by exploiting reuse informationIEEE Transactions on Computers, 1999
- Memory Issues in Embedded Systems-on-ChipPublished by Springer Nature ,1999
- Code placement techniques for cache miss rate reductionACM Transactions on Design Automation of Electronic Systems, 1997
- A task-level hierarchical memory model for system synthesis of multiprocessorsPublished by Association for Computing Machinery (ACM) ,1997
- Program optimization for instruction cachesPublished by Association for Computing Machinery (ACM) ,1989