TY - GEN
T1 - Data relocation and prefetching for programs with large data sets
AU - Yamada, Yoji
AU - Gyllenhall, John
AU - Haab, Grant
AU - Hwu, Wen Mei
N1 - Publisher Copyright:
© 1994 ACM.
PY - 1994/11/30
Y1 - 1994/11/30
N2 - Numerical applications frequently contain nested loop structures that process large arrays of data. The execution of these loop structures often produces memory reference patterns that poorly utilize data caches. Limited associativity and cache capacity result in cache conflict misses. Also, nonunit stride access patterns can cause low utilization of cache lines. Data copying has been proposed and investigated in order to reduce cache conflict misses [1][2], but this technique has a high execution overhead since it performs the copy operations entirely in software. We propose a combined hardware and software technique called data relocation and prefetching which eliminates much of the overhead of data copying through the use of special hardware. Furthermore, by relocating the data while performing software prefetching, the overhead of copying the data can be reduced further. Experimental results for data relocation and prefetching are encouraging and show a large improvement in cache performance.
AB - Numerical applications frequently contain nested loop structures that process large arrays of data. The execution of these loop structures often produces memory reference patterns that poorly utilize data caches. Limited associativity and cache capacity result in cache conflict misses. Also, nonunit stride access patterns can cause low utilization of cache lines. Data copying has been proposed and investigated in order to reduce cache conflict misses [1][2], but this technique has a high execution overhead since it performs the copy operations entirely in software. We propose a combined hardware and software technique called data relocation and prefetching which eliminates much of the overhead of data copying through the use of special hardware. Furthermore, by relocating the data while performing software prefetching, the overhead of copying the data can be reduced further. Experimental results for data relocation and prefetching are encouraging and show a large improvement in cache performance.
KW - Cache conflicts
KW - Data copying
KW - Data relocation
KW - Program optimization
KW - Software prefetching
UR - http://www.scopus.com/inward/record.url?scp=0006424869&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0006424869&partnerID=8YFLogxK
U2 - 10.1145/192724.192740
DO - 10.1145/192724.192740
M3 - Conference contribution
AN - SCOPUS:0006424869
T3 - Proceedings of the Annual International Symposium on Microarchitecture, MICRO
SP - 118
EP - 127
BT - Proceedings of the 27th Annual International Symposium on Microarchitecture, MICRO 1994
PB - IEEE Computer Society
T2 - 27th Annual International Symposium on Microarchitecture, MICRO 1994
Y2 - 30 November 1994 through 2 December 1994
ER -