ACM Home Page
Please provide us with feedback. Feedback
Pointer cache assisted prefetching
Full text Publisher SitePublisher Site PdfPdf (1.21 MB)
Source International Symposium on Microarchitecture archive
Proceedings of the 35th annual ACM/IEEE international symposium on Microarchitecture table of contents
Istanbul, Turkey
SESSION: Multithreading I table of contents
Pages: 62 - 73  
Year of Publication: 2002
ISBN ~ ISSN:1072-4451 , 0-7695-1859-1
Authors
Jamison Collins  University of California, San Diego
Suleyman Sair  University of California, San Diego
Brad Calder  University of California, San Diego
Dean M. Tullsen  University of California, San Diego
Sponsors
SIGMICRO: ACM Special Interest Group on Microarchitectural Research and Processing
: IEEE TC-uArch
Publisher
IEEE Computer Society Press  Los Alamitos, CA, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 37,   Citation Count: 15
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  

ABSTRACT

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
 
3
4
 
5
6
7
8
9
10
 
11
M. Karlsson, P. Dahgren, and P. Stenstrom. A prefetching technique for irregular accesses to linked data structures. In Proceedings of the Sixth International Symposium on High Performance Computer Architecture, January 2000.
12
13
14
15
16
17
 
18
 
19
A. Roth, C. B. Zilles, and G. S. Sohi. Micro-architectural miss/execute decoupling. In International Workshop on Memory access Decoupled Architectures and Related Issues, October 2000.
20
 
21
22
23
 
24
Y. Song and M. Dubois. Assisted execution. Technical Report CENG 98-25, University of Southern California, October 1988.
 
25
D.M. Tullsen. Simulation and modeling of a simultaneous multithreading processor. In 22nd Annual Computer Measurement Group Conference, December 1996.
26
27
28

CITED BY  16

Collaborative Colleagues:
Jamison Collins: colleagues
Suleyman Sair: colleagues
Brad Calder: colleagues
Dean M. Tullsen: colleagues