Jump to content

gem5

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Tuankiet65 (talk | contribs) at 19:43, 25 April 2022. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

gem5
Developer(s)Community
Initial releaseAugust 2011; 13 years ago (2011-08)
Stable release
v21.2.0.0 / December 27, 2021; 2 years ago (2021-12-27)
Written inC++, Python
Operating systemLinux
LicenseRevised BSD License
Websitewww.gem5.org

The gem5 simulator is an open-source system-level and processor simulator. It is utilized in academic research and in industry by companies such as ARM Research, AMD Research, Google, Micron, Metempsy, HP, and Samsung.[1]

History

gem5 was born out of the merger of m5 (CPU simulation framework) and GEMS (memory timing simulator).[2]

Features

gem5 is an event-driven simulator with multiple execution modes.[2]

  • full-system emulation (simulating the whole OS) and syscall emulation (just user-space is emulated)
  • multiple ISAs (Alpha, ARM, SPARC, MIPS, POWER, RISC-V, and x86 ISAs)[1]
  • timing model for the full cache hierarchy with support for custom coherence protocols
  • simplistic CPU, in-order CPU, out-of-order CPU
  • serialize/deserialization from checkpoints

References

  1. ^ a b "gem5: About". Retrieved 14 November 2019.{{cite web}}: CS1 maint: url-status (link)
  2. ^ a b Binkert, Nathan; Sardashti, Somayeh; Sen, Rathijit; Sewell, Korey; Shoaib, Muhammad; Vaish, Nilay; Hill, Mark D.; Wood, David A.; Beckmann, Bradford; Black, Gabriel; Reinhardt, Steven K. (2011-08-31). "The gem5 simulator". ACM SIGARCH Computer Architecture News. 39 (2): 1. doi:10.1145/2024716.2024718.