Pointer cache assisted prefetching

被引:41
作者
Collins, J [1 ]
Sair, S [1 ]
Calder, B [1 ]
Tullsen, DM [1 ]
机构
[1] Univ Calif San Diego, Dept Comp Sci & Engn, San Diego, CA 92103 USA
来源
35TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO-35), PROCEEDINGS | 2002年
关键词
Accuracy; Computer science; Data engineering; Data structures; Delay; Electronic switching systems; Hardware; History; Prefetching; Yarn;
D O I
10.1109/MICRO.2002.1176239
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Data Prefetching effectively reduces the negative effects of long load latencies on the performance of modern processors. Hardware prefetchers employ hardware structures to predict future memory addresses based on previous patterns. Thread-based prefetchers use portions of the actual program code to determine future load addresses for prefetching. This paper proposes the use of a pointer cache, which tracks pointer transitions, to aid prefetching. The pointer cache provides, for a given pointer's effective address, the base address of the object pointed to by the pointer We examine using the pointer cache in a wide issue superscalar processor as a value predictor and to aid prefetching when a chain of pointers is being traversed. When a load misses in the L1 cache, but hits in the pointer cache, the first two cache blocks of the pointed to object are prefetched. In addition, the load's dependencies are broken by using the pointer cache hit as a value prediction. We also examine using the pointer cache to allow speculative precomputation to run farther ahead of the main thread of execution than in prior studies. Previously proposed thread-based prefetchers are limited in how far they can run ahead of the main thread when traversing a chain of recurrent dependent loads. When combined with the pointer cache, a speculative thread can make better progress ahead of the main thread, rapidly traversing data structures in the face of cache misses caused by pointer transitions.
引用
收藏
页码:62 / 73
页数:12
相关论文
共 28 条
[1]  
ANNAVARAM M, 2001, 28 ANN INT S COMP AR
[2]  
CHARNEY MJ, 1997, IBM J RES DEV MAY, P41
[3]   EFFECTIVE HARDWARE-BASED DATA PREFETCHING FOR HIGH-PERFORMANCE PROCESSORS [J].
CHEN, TF ;
BAER, JL .
IEEE TRANSACTIONS ON COMPUTERS, 1995, 44 (05) :609-623
[4]  
CHILIMBI TM, 2002, P SIGPLAN 02 C PROGR
[5]  
COLLINS J, 2001, 28 ANN INT S COMP AR
[6]  
COLLINS JD, 2001, 34 INT S MICR DEC
[7]  
COOKSEY R, 2002, 10 INT C ARCH SUPP P
[8]  
FARKAS K, 1997, 24 ANN INT S COMP AR
[9]  
JOSEPH D, 1997, 24 ANN INT S COMP AR
[10]  
JOUPPI NP, 1990, P 17 ANN INT S COMP