ACM Home Page
Please provide us with feedback. Feedback
Execution-based prediction using speculative slices
Full text PdfPdf (1.03 MB)
Source International Symposium on Computer Architecture archive
Proceedings of the 28th annual international symposium on Computer architecture table of contents
Göteborg, Sweden
Pages: 2 - 13  
Year of Publication: 2001
ISBN:0-7695-1162-7
Also published in ...
Authors
Craig Zilles  Computer Sciences Dept. University of Wisconsin - Madison, 1210 West Dayton Street, Madison, WI
Gurindar Sohi  Computer Sciences Dept. University of Wisconsin - Madison, 1210 West Dayton Street, Madison, WI
Sponsors
SIGARCH: ACM Special Interest Group on Computer Architecture
IEEE-CS\TCCA : TC on Computer Arhitecture
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 29,   Citation Count: 55
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/379240.379246
What is a DOI?

ABSTRACT

A relatively small set of static instructions has significant leverage on program execution performance. These problem instructions contribute a disproportionate number of cache misses and branch mispredictions because their behavior cannot be accurately anticipated using existing prefetching or branch prediction mechanisms.

The behavior of many problem instructions can be predicted by executing a small code fragment called a speculative slice. If a speculative slice is executed before the corresponding problem instructions are fetched, then the problem instructions can move smoothly through the pipeline because the slice has tolerated the latency of the memory hierarchy (for loads) or the pipeline (for branches). This technique results in speedups up to 43 percent over an aggressive baseline machine.

To benefit from branch predictions generated by speculative slices, the predictions must be bound to specific dynamic branch instances. We present a technique that invalidates predictions when it can be determined (by monitoring the program's execution path) that they will not be used. This enables the remaining predictions to be correctly correlated.


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
D. Burger and T. Austin. The SimpleScalar Tool Set, Version 2.0. Technical Report CS-TR-97-1342, University of Wisconsin-Madison, Jun. 1997.
3
 
4
 
5
 
6
 
7
 
8
 
9
10
11
12
 
13
 
14
Y. Song and M. Dubois. Assisted Execution. Technical Report #CENG 98-25, Department of EE-Systems, University of Southern California, Oct. 1998.
15
16
17
 
18
M Weiser. Program Slicing. IEEE Transactions on Software Engineering, 10(4):352-357, 1984.
19

CITED BY  55

Collaborative Colleagues:
Craig Zilles: colleagues
Gurindar Sohi: colleagues