Abstract
Data cache hit ratio has a major impact on execution performance of programs by effectively reducing average data access time. Prefetching mechanisms improve this ratio by fetching data items that shall soon be required by the running program. Software-driven prefetching enables application-specific policies and potentially provides better results in return for some instruction overhead, whereas hardware-driven prefetching gives little overhead, however general-purpose processors cannot adapt to the specific needs of the running application. In the application-specific processors that we develop customized to an object-oriented application, we implement application-specific hardware prefetching to benefit from both worlds. This prefetching policy prefetches all data items that shall be unconditionally accessed by a class method when the class method is called. We mathematically analyze this mechanism and present its simulation results using some object-oriented benchmarks. Simulation results in absence and presence of the proposed prefetching mechanism confirm the theoretical results and show that on average, the miss ratio is reduced by 73%.
This work is supported by a research grant from the Department of High-Tech. Industries, Ministry of Industries and Mines of the Islamic Republic of Iran.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Hennessy, J., Patterson, D.: Computer Architecture: a Quantitative Approach, 3rd edn. Morgan Kaufmann, San Francisco (2003)
Chan, K.K., et al.: Design of the HP PA 7200 CPU. Hewlett-Packard Journal 47(1) (February 1996)
Przybylski, S.: The Performance Impact of Block Sizes and Fetch Strategies. In: Proc. 17th ISCA, Seattle, WA, May 1990, pp. 160–169 (1990)
Dahlgren, F., Dubois, M., Stenstrom, P.: Fixed and Adaptive Sequential Prefetching in Shared-memory Multiprocessors. In: Proc. International Conference on Parallel Processing, St. Charles, IL, August 1993, pp. I-56–63 (1993)
Chen, T.-F., Baer, J.-L.: Effective Hardware-Based Data Prefetching for High Performance Processors. IEEE Transactions on Computers 44(5), 609–623 (1995)
Joseph, D., Grunwald, D.: Prefetching using Markov Predictors. In: Proc. 24th ISCA, Denver, CO, June 1997, pp. 252–263 (1997)
VanderWiel, S.P., Lilja, D.J.: Data prefetch mechanisms. ACM Computing Surveys 32(2), 174–199 (2000)
Chen, T.-F., Baer, J.L.: A Performance Study of Software and Hardware Data Prefetching Schemes. In: Proc. of the 21st Annual International Symposium on Computer Architecture, Chicago, IL, April 1994, pp. 223–232 (1994)
http://research.sun.com/projects/dashboard.php?id=13 Mayhem research group (March 2005)
Goudarzi, M., Hessabi, S., Mycroft, A.: Object-oriented ASIP design and synthesis. In: Proc. of Forum on specification and Design Languages (FDL 2003) (September 2003)
Goudarzi, M., Hessabi, S., Mycroft, A.: No-overhead polymorphism in network-on-chip implementation of object-oriented models. In: Proc. of Design Automation and Test in Europe (DATE 2004) (February 2004)
Goudarzi, M., Hessabi, S., Mycroft, A.: Object-aware Cache: Higher Cache Hit-ratio in Object- Oriented ASIPs. In: Proc. of IEEE Canadian Conference on Electrical and Computer Engineering (CCECE 2004), Ontario, Canada (May 2004)
Luk, C.-K., Cohn, R., Muth, R., Patil, H., Klauser, A., Lowney, G., Wallace, S., Reddi, V.J., Hazelwood, K.: Pin: Building Customized Program Analysis Tools with Dynamic Instrumentation. In: Programming Language Design and Implementation (PLDI), Chicago, IL (June 2005)
OOCSB C++ Benchmark suit, http://www.cs.ucsb.edu/labs/oocsb
http://www.gnuenterprise.org/~neilt/code/html/files.html (March 2005)
Chu, Y., Ito, M.R.: An efficient instruction cache scheme for object-oriented languages. In: IEEE International Conference on Performance, Computing and Communications, April 2001, pp. 329–336 (2001)
Dinero cache simulator, http://www.cs.wisc.edu/~markhill/DineroIV
Bernstein, D., Doron, C., Freund, A.: Compiler techniques for data prefetching on the PowerPC. In: Proc. of International Conf. on Parallel Architectures and Compilation Techniques (June 1995)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Modarressi, M., Goudarzi, M., Hessabi, S. (2005). Application-Specific Hardware-Driven Prefetching to Improve Data Cache Performance. In: Srikanthan, T., Xue, J., Chang, CH. (eds) Advances in Computer Systems Architecture. ACSAC 2005. Lecture Notes in Computer Science, vol 3740. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11572961_62
Download citation
DOI: https://doi.org/10.1007/11572961_62
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29643-0
Online ISBN: 978-3-540-32108-8
eBook Packages: Computer ScienceComputer Science (R0)