Software:gem5

From HandWiki
Short description: Software for simulating computer architecture
gem5
Gem5 Logo, Veritcal Color Version.png
Developer(s)Community
Initial releaseAugust 2011; 12 years ago (2011-08)
Stable release
v22.1 / December 30, 2022; 13 months ago (2022-12-30)
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][2] Arm has developed further software called Streamline for developers working with gem5 which aims to present "a graphical view of system execution".[3]

History

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

Features

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

  • 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. 1.0 1.1 "gem5: About". http://www.gem5.org/about/. Retrieved 14 November 2019. 
  2. "Simulation Research and gem5". https://arch.cs.ucdavis.edu/projects/gem5. 
  3. "Streamline for gem5". https://developer.arm.com/tools-and-software/embedded/legacy-tools/ds-5-development-studio/streamline/streamline-for-gem5. 
  4. 4.0 4.1 Binkert, Nathan; Sardashti, Somayeh; Sen, Rathijit; Sewell, Korey; Shoaib, Muhammad; Vaish, Nilay; Hill, Mark D.; Wood, David A. et al. (2011-08-31). "The gem5 simulator" (in en). ACM SIGARCH Computer Architecture News 39 (2): 1–7. doi:10.1145/2024716.2024718. http://dl.acm.org/citation.cfm?doid=2024716.2024718. 

External links