ABSTRACT
Approximate timed co-simulation has been proposed as a fast solution for system modeling in early design steps. This co-simulation technique enables the simulation of systems at speeds close to functional execution, while considering timing effects. As a consequence, system performance estimations can be obtained early, enabling efficient design space exploration and system refinement. To achieve fast simulation speeds, first the SW code is pre-annotated with time information and then it is natively executed, performing what is called native-based co-simulation. To obtain sufficiently accurate performance estimations, the effect of the system components must be considered. Among them, processor caches are really important, as they have a strong impact on the overall system performance. However, no efficient techniques for cache modeling in native-based co-simulation have been proposed. Previous works considering caches apply slow cache models based on tag search, similar to ISS-based models. This solution slows down the simulation speed, greatly reducing the efficiency of native based co-simulations. In this paper, a high-level instruction cache model is proposed, along with the required instrumentation for native simulation. This model allows the designer to obtain cache hit/miss rate estimations with simulation speeds very close to native execution. Results present a speed-up of two orders of magnitude with respect to ISS and one order of magnitude regarding previous approaches in native simulation. Miss rate estimation error remains below 5%.
- Y. Steven Li, S. Malik, A. Wolfe. "Performance Estimation of Embedded Software with Instruction Cache Modeling". In proc. of ACM Transactions on Design Automation of Electronic Systems, 1999. Google ScholarDigital Library
- R. Arnold, F. Mueller, D. Whalley, M. Harmon. "Bounding worst-case instruction cache performance", 15th Real-Time Systems Symposium, 1994.Google ScholarCross Ref
- C.M. Kirchsteiger, H. Schweitzer, C. Trummer, C. Steger, R. Wei², M. Pistauer. "A Software Performance Simulation Methodology for Rapid System Architecture Exploration". In proc. of ICECS, 2008.Google Scholar
- J. Schnerr, O. Bringmann, A. Viehl, W. Rosenstiel. "High-Performance Timing Simulation of Embedded Software". In proc. of DAC, 2008. Google ScholarDigital Library
- E.S. Sorenson, J.K. Flanagan. "Cache Characterization Surfaces and Predicting Workload Miss Rates". In proc. of the Workload Characterization, 2001. WWC-4. 2001 IEEE International Workshop. Google ScholarDigital Library
- T.D. Givargis, F. Vahid, J. Henkel. "Fast Cache and Bus Power Estimation for Parametrized System-on-a-Chip Design". In proc. of DATE, 2000. Google ScholarDigital Library
- F. Wolf, J. Staschulat, R. Ernst. "Hybrid Cache Analysis in Running Time Verification of Embedded Software". In Design Automation for Embedded Systems, 2002.Google Scholar
- N. Kroupis, S. Mamagkakis, D. Soudris. "An Estimation Methodology for Designing Instruction Cache Memory of Embedded Systems". IEEE/ACM/IFIP Workshop on Embedded Systems for Real Time Multimedia, 2006. Google ScholarDigital Library
- N. Tojo, N. Togawa, M. Yanagisawa, T. Ohtsuki. "Exact and Fast L1 Cache Simulation for Embedded Systems". In proc. of ASP-DAC, 2009. Google ScholarDigital Library
- J.J. Pieper, A. Mellan, J.M. Paul, D.E. Thomas, F. Karim. "High Level Cache Simulation for Heterogeneous Multiprocessors". In proc. of DAC, 2004. Google ScholarDigital Library
- Hennessy & Patterson, "Computer Architecture: A Quantitative Approach", Elsevier ARM920T Technical Reference Manual, chapter 4. (http://www.arm.com/).Google Scholar
- C. Cifuentes. "Reverse Compilation Techniques". PhD thesis, Queensland University of Technology, 1994.Google Scholar
- A. Bouchhima, P. Gerin, F. Pétrot. "Automatic Instrumentation of Embedded Software for High Level Hardware/Software Co-Simulation". ASP-DAC 2009. Google ScholarDigital Library
- Edward D. Willink. "Meta-Compilation for C++". PhD thesis, University of Surrey, June 2001.Google Scholar
- Bison, http://www.gnu.org/software/bison/Google Scholar
- DineroIV, http://pages.cs.wisc.edu/~markhill/DineroIV/Google Scholar
- M. Lajolo, L. Lavegno & A. Sangioanni-Vincentelli: "Fast instruction cache simlation strategies in a HW/SW co-design environment", ASP-DAC 1999Google Scholar
Index Terms
- Fast instruction cache modeling for approximate timed HW/SW co-simulation
Recommendations
Fast data-cache modeling for native co-simulation
ASPDAC '11: Proceedings of the 16th Asia and South Pacific Design Automation ConferenceEfficient design of large multiprocessor embedded systems requires fast, early performance modeling techniques. Native co-simulation has been proposed as a fast solution for evaluating systems in early design steps. Annotated SW execution can be ...
Set-associative cache simulation using generalized binomial trees
Set-associative caches are widely used in CPU memory hierarchies, I/O subsystems, and file systems to reduce average access times. This article proposes an efficient simulation technique for simulating a group of set-associative caches in a single pass ...
Analytical Modeling of Set-Associative Cache Behavior
Cache behavior is complex and inherently unstable, yet it is a critical factor affecting program performance. A method of evaluating cache performance is required, both to give quantitative predictions of miss-ratio and information to guide optimization ...
Comments