DocumentCode :
2065901
Title :
Dynamic Code Value Specialization Using the Trace Cache Fill Unit
Author :
Zhang, Weifeng ; Checkoway, Steve ; Calder, Brad ; Tullsen, Dean M.
Author_Institution :
California Univ., San Diego
fYear :
2007
fDate :
1-4 Oct. 2007
Firstpage :
10
Lastpage :
16
Abstract :
Value specialization is a technique which can improve a program´s performance when its code frequently takes the same values. In this paper, speculative value specialization is applied dynamically by utilizing the trace cache hardware. We implement a small, efficient hardware profiler to identify loads that have semi-invariant runtime values. A specialization engine off the program´s critical path generates highly optimized traces using these values, which reside in the trace cache. Specialized traces are dynamically verified during execution, and mis-specialization is recovered automatically without new hardware overhead. Our simulation shows that dynamic value specialization in the trace cache achieves a 17% speedup, even over a system with support for hardware value prediction. When combined with other techniques aimed at tolerating memory latencies, this technique still performs well -this technique combined with an aggressive hardware prefetcher achieves 24% better performance than prefetching alone.
Keywords :
cache storage; cache fill unit; dynamic code value specialization; hardware profiler; trace cache hardware; value specialization; Acceleration; Computer science; Delay; Engines; Hardware; Optimizing compilers; Pipelines; Predictive models; Prefetching; Runtime;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Computer Design, 2006. ICCD 2006. International Conference on
Conference_Location :
San Jose, CA
ISSN :
1063-6404
Print_ISBN :
978-0-7803-9707-1
Electronic_ISBN :
1063-6404
Type :
conf
DOI :
10.1109/ICCD.2006.4380787
Filename :
4380787
Link To Document :
بازگشت