Static locality analysis for cache management
- 1 January 1997
- proceedings article
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 261-271
- https://doi.org/10.1109/pact.1997.644022
Abstract
Most memory references in numerical codes correspond to array references whose indices are affine functions of surrounding loop indices. These array references follow a regular predictable memory pattern that can be analysed at compile time. This analysis can provide valuable information like the locality exhibited by the program, which can be used to implement more intelligent caching strategy. In this paper we propose a static locality analysis oriented to the management of data caches. We show that previous proposals on locality analysis are not appropriate when the proposals have a high conflict miss ratio. This paper examines those proposals by introducing a compile-time interference analysis that significantly improve the performance of them. We first show how this analysis can be used to characterize the dynamic locality properties of numerical codes. This evaluation show for instance that a large percentage of references exhibit any type of locality. This motivates the use of a dual data cache, which has a module specialized to exploit temporal locality, and a selective cache respectively. Then, the performance provided by these two cache organizations is evaluated. In both organizations, the static locality analysis is responsible for tagging each memory instruction accordingly to the particular type(s) of locality that it exhibits.Peer ReviewedPostprint (published versionKeywords
This publication has 12 references indexed in Scilit:
- Eliminating cache conflict misses through XOR-based placement functionsPublished by Association for Computing Machinery (ACM) ,1997
- A quantitative analysis of loop nest localityPublished by Association for Computing Machinery (ACM) ,1996
- Memory bandwidth limitations of future microprocessorsPublished by Association for Computing Machinery (ACM) ,1996
- A modified approach to data cache managementPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1995
- A limit study of local memory requirements using value reuse profilesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1995
- Storage in the power PCIEEE Micro, 1995
- Cache interference phenomenaPublished by Association for Computing Machinery (ACM) ,1994
- Design and evaluation of a compiler algorithm for prefetchingPublished by Association for Computing Machinery (ACM) ,1992
- A data locality optimizing algorithmPublished by Association for Computing Machinery (ACM) ,1991
- Unified management of registers and cache using liveness and cache bypassPublished by Association for Computing Machinery (ACM) ,1989