gem5
Appearance
Developer(s) | Community |
---|---|
Initial release | August 2011 |
Stable release | v20.1.0.0
/ October 1, 2020 |
Written in | C++, Python |
Operating system | Linux |
License | Revised BSD License |
Website | gem5 |
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
- ^ a b "gem5: About". Retrieved 14 November 2019.
{{cite web}}
: CS1 maint: url-status (link) - ^ 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.