Jump to content

Simics

From Wikipedia, the free encyclopedia
Simics
Original authorPeter S. Magnusson
DevelopersSwedish Institute of Computer Science (1991–1998)
Virtutech (1998–2010)
Intel (2010–present)
Release1998[1]
Stable release
6 / 2019
Written inC, DML, Python, Simgen, Simics CLI scripts, C++, Rust, Javascript, Java
Operating systemLinux, Windows
Platformx86-64
TypeFull-system simulator
LicenseProprietary
Websitedeveloper.intel.com/simics-simulator

Simics is a full-system simulator, or virtual platform, that runs unmodified production software, including operating systems and firmware, on a software model of the target hardware.[2] Development began in 1991 at the Swedish Institute of Computer Science (SICS), where it was written by Peter S. Magnusson as a simulator for multiprocessor architecture research.[1][3] In 1998 the SICS simulation group founded Virtutech to develop it commercially, and the product was launched in June of that year; the 2002 paper describing it in IEEE Computer called Simics the first commercial full-system simulator.[1][4][3] Virtutech was acquired by Intel in 2010.[5] Simics is developed by Intel, which has offered a free public release since 2021,[2] and is sold commercially by Wind River Systems, formerly an Intel subsidiary.[6]

Simics contains both instruction set simulators and hardware models, and is or has been used to simulate systems such as Alpha, ARM (32- and 64-bit), IA-64, MIPS (32- and 64-bit), MSP430, PowerPC (32- and 64-bit), RISC-V (32- and 64-bit), SPARC-V8 and V9, and x86 and x86-64 CPUs.

Many different operating systems have been run on various simulated virtual platforms, including Linux, MS-DOS, Windows, VxWorks, OSE, Solaris, FreeBSD, QNX, RTEMS, UEFI, and Zephyr.

The NetBSD AMD64 port was initially developed using Simics before the public release of the chip.[7] The purpose of simulation in Simics is often to develop software for a particular type of hardware without requiring access to that precise hardware, using Simics as a virtual platform. This can applied both to pre-release and pre-silicon software development for future hardware, as well as for existing hardware. Intel uses Simics to provide its ecosystem with access to future platform months or years ahead of the hardware launch.[8]

The current version of Simics is 6 which was released publicly in 2019.[9][10] Simics runs on 64-bit x86-64 machines running Microsoft Windows and Linux (32-bit support was dropped with the release of Simics 5, since 64-bit provides significant performance advantages and is universally available on current hardware). The previous version, Simics 5, was released in 2015.[11]

Simics has the ability to execute a system in forward and reverse direction.[12] Reverse debugging can illuminate how an exceptional condition or bug occurred. When executing an OS such as Linux in reverse using Simics, previously deleted files reappear when the deletion point is passed in reverse and scrolling and other graphical display and console updates occur backwards as well.

Simics is built for high performance execution of full-system models, and uses both binary translation and hardware-assisted virtualization to increase simulation speed. It is natively multithreaded and can simulate multiple target (or guest) processors and boards using multiple host threads. It has been used to run simulations containing hundreds of target processors.

History

[edit]

Origins at SICS (1991–1998)

[edit]

Development began in 1991 at the Swedish Institute of Computer Science (SICS), where Peter S. Magnusson wrote the simulator for the institute's research on the Data Diffusion Machine, a cache-only memory architecture.[1][4] Magnusson's first simulator, gsim, extended g88, a Motorola 88000 simulator by Robert Bedichek of the University of Washington, to model multiple processors with shared memory; SimICS, begun in 1993, was a from-scratch rewrite that replaced it.[13][14] SimICS modelled a SPARC V8 processor and was developed to the point of booting and running unmodified Solaris images on a multiprocessor model.[4][14] The name was a play on "Simulator from SICS".[1] A simulation group formed around the project; by 1998 it comprised Magnus Christensson, Fredrik Larsson, Magnusson, Andreas Moestedt and Bengt Werner.[4]

Research from this period included Partial Translation (1993), a technique for generating native code at run time inside an interpreter,[15] and techniques for fast simulation of memory hierarchies.[16] In 1997 the group booted an unmodified Solaris 2.6 on a simulated four-processor sun4m SPARCstation, directly from disk images taken from a real machine; the result was published at the 1998 USENIX Annual Technical Conference.[13][1]

Virtutech (1998–2010)

[edit]

In 1998 the five members of the SICS simulation group founded Virtutech AB in Stockholm, the first spin-off company in SICS's history; SICS licensed the simulator's development and exploitation rights to the new company, and the product was launched in June 1998.[4][1] Early customers included Sun Microsystems, Ericsson and Hewlett-Packard; David Yen, Sun's vice president and general manager of enterprise server products, called the group "one of the world's foremost research groups in system level simulation" and said that Sun had "worked with them for many years".[4] Werner later recalled that although the tool had been pitched to industrial partners as a cache-analysis tool, it was quickly found to be most valuable for developing software that interacted with hardware, and that companies could not depend on a tool maintained by a research institute, which drove the decision to form a company.[1]

In January 2001 AMD licensed Simics under the name "VirtuHammer", a simulator of its forthcoming 64-bit x86-64 "Hammer" processors that ran on ordinary 32-bit PCs, and delivered it to the software companies porting operating systems to the new architecture more than two years before the first Opteron shipped. SuSE ported Linux on it, Wasabi Systems ported NetBSD on it, and Microsoft used it to develop the x64 version of Windows: Dave Cutler, who led that effort, and Forrest Foltz developed the port on simulators alone, logging on to a desktop under simulation for the first time on October 25, 2001, and when AMD delivered the first x86-64 machine to Microsoft on February 7, 2002, the 64-bit build booted two hours later. Virtutech began selling the x86-64 model directly as Simics/x86-64 in 2002.[17][18][19][20][21][22][23][24][25][26][27][28]

Simics was a finalist for the Best of COMDEX award in November 2001,[29] and Simics 1.0 was released in February 2002.[30] That year the Virtutech team published "Simics: A Full System Simulation Platform" in IEEE Computer, describing the architecture and calling Simics the first commercial full-system simulator.[3] By 2003 the company reported Simics in use at some 300 universities,[31] and by 2004 the simulator used just-in-time compilation and had demonstrated a simulated network of 1,000 machines.[32]

Simics 3.0, released in March 2005, introduced "Hindsight", the ability to run a simulated system backwards.[33] Later in 2005 IBM selected Simics for development of its POWER6 platform,[34] and Iridium adopted it for satellite software development and testing;[35] Wind River Systems became a customer in 2006.[36] Simics 4.0, launched in 2008, added multithreaded simulation within a single process.[37]

Intel and Wind River (2010–present)

[edit]

On February 5, 2010, Intel announced an agreement to acquire Virtutech, with the Simics product line placed in Intel's Wind River subsidiary.[5][38] Wind River released Simics 4.4 in 2010, Simics 5 in 2015 and Simics 6 in 2019.[39][40][41] In 2013 Intel devoted an issue of the Intel Technology Journal to Simics,[42] and a textbook on development with Simics by Daniel Aarno and Jakob Engblom was published in 2014.[43] Intel provides customers with Simics models of future platforms before hardware is available,[44] and in 2021 released the Intel Simics Simulator as a free public download.[2]

See also

[edit]
  • ARM Fastsim, an instruction-set simulator and set of system models for ARM IP.
  • Gem5, an open source full-system and ISA simulator and framework.
  • OVPsim, a full-system simulation framework which is free for non-commercial use, and which comes with over 100 open source models and platforms that run Linux, Android, and many other operating systems.
  • QEMU, open-source program that can do full-system simulation in the same way as Simics, including using hardware virtualization to accelerate the execution of X86 or X86.
  • SPIM, MIPS processor simulator designed to run R2000, R3000 etc.
  • Instruction set simulator

References

[edit]
  1. 1 2 3 4 5 6 7 8 Engblom, Jakob (11 July 2018). "The Early Days of Simics – An Interview with Bengt Werner". Intel. Archived from the original on 1 October 2023. Retrieved 27 October 2026.
  2. 1 2 3 "Simics® Simulator". Intel. 2021-05-14. Retrieved 2022-02-02.
  3. 1 2 3 Magnusson, Peter S.; Christensson, Magnus; Eskilson, Jesper; Forsgren, Daniel; Hållberg, Gustav; Högberg, Johan; Larsson, Fredrik; Moestedt, Andreas; Werner, Bengt (February 2002). "Simics: A Full System Simulation Platform". Computer. 35 (2): 50–58. doi:10.1109/2.982916.
  4. 1 2 3 4 5 6 Magnusson, Peter (April 1999). "Virtutech Commercializes SimICS". ERCIM News (37). Retrieved 27 October 2026.
  5. 1 2 Brown, Eric (5 February 2010). "Intel to acquire virtualization firm and embed software in Wind River". LinuxDevices. Retrieved 27 October 2026.
  6. ↑ "Intel Simics". Wind River Systems. Retrieved 28 October 2026.
  7. ↑ "Simics used to port an OS". NetBSD Wiki. NetBSD.
  8. ↑ Engblom, Jakob (March 17, 2020). "Simics 6 at the Mountain Top". Intel Developer Zone.
  9. ↑ Engblom, Jakob (September 10, 2019). "Seeing the Early Snow on the Ridge". Intel Developer Zone Blog.
  10. ↑ Evoy, Sean (November 5, 2019). "Simics: Just when you thought it couldn't get any better". Wind River Blog.
  11. ↑ Engblom, Jakob (June 30, 2015). "Simics 5 is here - More Parallel than Ever". Wind River Blog.
  12. ↑ Engblom, Jakob (2017-10-01). "Back to Reverse Execution - Tools, Testing, & Virtual Systems". Archived from the original on 2017-10-01. Retrieved 2022-02-02.
  13. 1 2 Magnusson, Peter S.; Larsson, Fredrik; Moestedt, Andreas; Werner, Bengt; Nilsson, Jim; Stenström, Per; Lundholm, Fredrik; Karlsson, Magnus; Dahlgren, Fredrik; Grahn, Håkan (1998). SimICS/sun4m: A Virtual Workstation. USENIX Annual Technical Conference.
  14. 1 2 "SimICS". Computer Architecture Simulation Tools (bibliography). xsim.com. Retrieved 27 October 2026.
  15. ↑ Magnusson, Peter S. (October 1993). Partial Translation (Report). SICS Technical Report. Swedish Institute of Computer Science.
  16. ↑ Magnusson, Peter S.; Werner, Bengt (1995). Efficient Memory Simulation in SimICS. 28th Annual Simulation Symposium. pp. 62–73. doi:10.1109/SIMSYM.1995.393589.
  17. ↑ Bekker, Scott (16 January 2001). "AMD Offers More 64-bit Development Tools". Redmond Magazine. Retrieved 10 November 2026.
  18. ↑ Smith, Tony (16 January 2001). "AMD signs Swedes to build better SledgeHammer sim". The Register. Retrieved 10 November 2026.
  19. ↑ "AMD adopts Virtutech Simics" (Press release). Virtutech. 16 January 2001. Archived from the original on 3 December 2002.
  20. ↑ "AMD Showcases First "Virtuhammer" Simulator at Linuxworld shows in New York, Paris" (Press release). AMD. 31 January 2001. Archived from the original on 3 December 2002.
  21. ↑ "LinuxWorld: AMD shows off VirtuHammer simulator". Computerworld. February 2001. Retrieved 27 October 2026.
  22. ↑ "Wasabi Systems Ports NetBSD to the AMD X86-64 Architecture" (Press release). Wasabi Systems. 22 June 2001. Archived from the original on 3 December 2002.
  23. ↑ "NetBSD/amd64". The NetBSD Project. Retrieved 27 October 2026.
  24. ↑ Cutler, Dave; Plummer, Dave (2023). The Mind Behind Windows: Dave Cutler. Dave's Garage. Event occurs at 1:55:39. Retrieved 10 November 2026 – via YouTube.
  25. ↑ Rodriguez, Clyde (5 April 2005). "Windows Server 2003 SP1 and X64 Editions – A Historical Perspective". Windows Server Blog. Microsoft. Retrieved 10 November 2026.
  26. ↑ Galli, Peter; Popovich, Ken (24 April 2002). "Leaked Memo: AMD/Microsoft Smoking Gun". eWeek. Archived from the original on 19 June 2005 – via ExtremeTech.
  27. ↑ "AMD launches Opteron". The Register. 22 April 2003. Retrieved 10 November 2026.
  28. ↑ Maliniak, David (15 April 2002). "64-Bit Simulator Mimics AMD's Hammer CPU". Electronic Design. Retrieved 10 November 2026.
  29. ↑ "Virtutech Simics Named Finalist for Best of Comdex Award" (Press release). Virtutech. 15 November 2001. Archived from the original on 17 March 2006.
  30. ↑ "Virtutech Announces Simics 1.0 Full System Simulation Platform" (Press release). Virtutech. 19 February 2002. Archived from the original on 17 March 2006.
  31. ↑ "Virtutech Simics Reaps Success in Worldwide Academic Usage" (Press release). Virtutech. 3 March 2003. Archived from the original on 17 March 2006.
  32. ↑ Engblom, Jakob (2018). "1000 Machines in a Simulation". Intel. Retrieved 27 October 2026.
  33. ↑ "Virtutech Unveils Simics Hindsight" (Press release). Virtutech. 7 March 2005. Archived from the original on 1 May 2006.
  34. ↑ "IBM Selects Virtutech Simics for Development of POWER6 Platform" (Press release). Virtutech. 25 July 2005.
  35. ↑ "Virtutech Simics Selected for Use in Iridium Satellite Software Development and Testing" (Press release). Virtutech. 29 August 2005.
  36. ↑ "Wind River Selects Virtutech Simics for Device Software Development" (Press release). Virtutech. 4 April 2006.
  37. ↑ Engblom, Jakob; Aarno, Daniel; Werner, Bengt (2010). "Full-System Simulation from Embedded to High-Performance Systems". Processor and System-on-Chip Simulation. Springer. doi:10.1007/978-1-4419-6175-4_3.
  38. ↑ "Wind River to Add Virtutech Simics Products to Comprehensive Embedded Software Portfolio" (Press release). Wind River. 5 February 2010. Archived from the original on 9 February 2010.
  39. ↑ "Multicore simulation engine gains GUI analysis tools". LinuxDevices. May 2010. Retrieved 27 October 2026.
  40. ↑ Engblom, Jakob (30 June 2015). "Simics 5 is here – More Parallel than Ever". Wind River Blog.
  41. ↑ Engblom, Jakob (10 September 2019). "Simics 6 at the Mountain Top". Intel Developer Zone. Retrieved 10 November 2026.
  42. ↑ "Simics Unleashed – Applications of Virtual Platforms" (PDF). Intel Technology Journal. 17 (2). 2013.
  43. ↑ Aarno, Daniel; Engblom, Jakob (2014). Software and System Development using Virtual Platforms: Full-System Simulation with Wind River Simics. Morgan Kaufmann. ISBN 978-0-12-800725-9.
  44. ↑ Engblom, Jakob (17 March 2020). "Seeing the Early Snow on the Ridge". Intel Developer Zone. Retrieved 10 November 2026.
[edit]