Skip to Main Content
Increasing the locality of a memory access profile is an interesting optimization problem, whose solution has implications on both performance and energy consumption of a processor-based system. High-locality memory access patterns are normally obtained through software-driven transformations, applied either at the source-code level or during compilation and machine-code generation. For some specific classes of systems, e.g., embedded systems, hardware-oriented, on-the-fly access pattern modification is also an option, as it trades generality in the applicability for better performance. This paper presents a class of algorithms for improving the locality of a given memory access profile through selective address relocation that require a very low-overhead custom hardware unit. Results obtained on a set of typical embedded applications show an average reduction in the complexity of the address relocation unit around 40%, yet with the best achievable increase in memory access locality.