memory than what a typical superscalar processor has. One of the drawbacks of conventional cache organizations is that they perform a blind management of all memory references, that is, all of them are handled in the same way: if the reference misses, a new block i s brought into cache at the expense of replacing another. When a reference does not exhibit any type of locality, this results in cache pollution and memory bandwidth waste. The pollution is due to the placement in cache of a non-reusable block whereas the memory bandwidth waste is caused by the additional data brought from L2 cache to L1 cache in the same block as the requested data. To cope with this issue, some current microprocessors provide memory reference instructions that can bypass the cache. When a reference has only temporal locality (i.e., only one data element of each cache block referenced by it is used by itself or any other instruction), it also results in cache pollution and memory bandwidth waste since only one element of the new block will be used. To overcome this problem, a cache could provide an additional module to store those data elements with just temporal locality. This was for instance proposed in the dual data cache organization [7]. In this paper we propose a static locality analysis to manage both selective data cache and dual data cache organizations. The locality analysis is inspired in the proposals presented in [ 181, [ 141 and [ 3 ] . However, these proposals do not consider conflict misses when performing the locality analysis. This may cause the analysis to be very inaccurate for programs with a high conflict miss ratio. To overcome this problem, we propose to extend those previous proposals for locality analysis with an interference analysis module. w e show that very simple interference analysis schemes may deliver a quite accurate estimation of the locality Of most The paper provides quantitative statistics about the different types of locality exhibited by the nested loops of the
A static analysis approach for avoiding data-cache interference is presented in REF .
Static locality analysis for cache management
Proceedings 1997 International Conference on Parallel Architectures and Compilation Techniques
Proceedings 1997 International Conference on Parallel Architectures and Compilation Techniques
Computer Science