Processor and System-on-Chip Simulation pp 25-45 | Cite as
Full-System Simulation from Embedded to High-Performance Systems
Abstract
This chapter describes use cases for and benefits of full-system simulation, based on more than a decade of commercial use of the Simics simulator. Simics has been used to simulate a wide range of systems, from simple single-processor embedded boards to multiprocessor servers and heterogeneous telecom clusters, leading to an emphasis on scalability and flexibility. The most important features and implementation techniques for a high-performance full-system simulator will be described and the techniques to achieve high simulation performance will be discussed in detail. As the ability to efficiently model systems is critical for a full-system simulator, tools and best practices for creating such models will be described. It will be shown how full-system simulation plays a significant role in the development of complex electronic systems, from system definition through development to deployment.
References
- 1.Magnusson, P., Christensson, M., Eskilson, J., Forsgren, D., Hallberg, G., Hogberg, J., Larsson, F., Moestedt, A., Werner, B.: Simics: A full system simulation platform. Computer 35(2), 50–58 (2002).CrossRefGoogle Scholar
- 2.Embedded Multicore, An Introduction. Freescale Semiconductor (2009).Google Scholar
- 3.Introspection of a java virtual machine under simulation. Tech. Rep. SMLI TR-2006-159, Sun Labs (2006).Google Scholar
- 4.Engblom, J.: System architecture specification and exploration using a full-system simulator. Virtutech Whitepaper (2009).Google Scholar
- 5.Rosenblum, M., Varadarajan, M.: Simos: A fast operating system simulation environment. Technical Report CSL-TR-94-631, Stanford University (1994).Google Scholar
- 6.Alameldeen, A., Wood, D.: Ipc considered harmful for multiprocessor workloads. Micro, IEEE 26(4), 8–17 (2006). DOI 10.1109/MM.2006.73.Google Scholar
- 7.Engblom, J.: Why virtual platforms need cycle-accurate models. SCDSource (2008).Google Scholar
- 8.Shafi, H., Bohrer, P.J., Phelan, J., Rusu, C.A., Peterson, J.L.: Design and validation of a performance and power simulator for powerpc systems. IBM J Res Dev 47 (2003).Google Scholar
- 9.Albertsson, L.: “Holistic debugging – enabling instruction set simulation for software quality assurance.” In: Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS) (2006).Google Scholar
- 10.Stetter, M., von Buttlar, J., Chan, P.T., Decker, D., Elfering, H., Giquindo, P.M., Hess, T., Koerner, S., Kohler, A., Lindner, H., Petri, K., Zee, M.: IBM eserver z990 improvements in firmware simulation. IBM J Res Dev 48 (2004).Google Scholar
- 11.Aynsley, J.: OSCI TLM-2.0 Language Reference Manual. Open SystemC Initiative (OSCI) (2009).Google Scholar
- 12.Engblom, J., Monton, M., Burton, M.: Checkpoint and restore for systemc models. In: Forum on Specification and Design Languages (FDL) (2009).Google Scholar
- 13.Kraemer, S., Leupers, R., Petras, D., Philipp, T.: A checkpoint/restore framework for systemc-based virtual platforms. In: International Symposium on System-on-Chip (SoC) (2009).Google Scholar
- 14.Koerner, S., Kohler, A., Babinsky, J., Pape, H., Eickhoff, F., Kriese, S., Elfering, H.: Ibm system z10 firmware simulation. IBM J Res Dev 53 (2009).Google Scholar
- 15.Fuchi, K., Tanaka, H., Manago, Y., Yuba, T.: A program simulator by partial interpretation. In: SOSP ’69: Proceedings of the Second Symposium on Operating Systems Principles, pp. 97–104 (1969).Google Scholar
- 16.Cornet, J., Maraninchi, F., Maillet-Contoz, L.: “A method for the efficient development of timed and untimed transaction-level models of systems-on-chip.” In: DATE ’08: Proceedings of the Conference on Design, Automation and Test in Europe, pp. 9–14 (2008). DOI http://doi.acm.org/10.1145/1403375.1403381.