Duration-based Instruction Cache Locking
Cache locking is a commonly used mechanism to improve both performance and predictability for embedded programs. Dynamic cache locking methods proposed in the literature, where the locked content is modified during execution, require inserting locking and unlocking instructions in the program’s code. In this paper, we introduce a novel hardware mechanism that leverages the LRU age bits to perform duration-based locking. Our proposed mechanism dynamically locks and unlocks cache lines for different durations at run-time, without the need to modify the program’s code. We further devise a heuristic that analyzes a program’s loop structure and selects the set of addresses to be locked in a L1 instruction cache alongside their locking durations. Evaluation results show that our duration-based locking mechanism achieves comparable results to the dynamic approach while substantially reducing the initialization overhead and avoiding program code modifications.
Authors
- Rodolfo Pellizzoni (ORCID: https://orcid.org/0000-0002-7331-804X)
- Wafic Lawand (ORCID: https://orcid.org/0000-0002-9244-5722)
Institutions
- University of Waterloo (CA)
Publication Details
- Published
- 2024-08-21
- DOI
- https://doi.org/10.1109/rtcsa62462.2024.00021
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00