Freedom251 › Emulator Software
gem5

What gem5 is
gem5 is a free, modular simulator for computer-system architecture research, covering system-level architecture and processor microarchitecture. The project says it is used in academia, industry research, and teaching. It includes four interpretation-based CPU models and a KVM-based model for faster simulation, plus an event-driven memory system with caches, crossbars, snoop filters, and a DRAM controller model. Supported instruction sets include Alpha, ARM, SPARC, MIPS, POWER, RISC-V, and x86. Users can run full-system simulations or application-only execution through Linux emulation. gem5 can run as a thread in the SystemC event kernel and provides a wrapper for SystemC Transaction Level Modelling. Its NoMali GPU model works with Linux and Android GPU driver stacks but does not produce visual output. The simulator has a Berkeley-style open-source license, while some portions retain their original licenses. gem5art provides Python modules for artifacts, reproducibility, and testing, and can store experiment inputs and results in a database. Builds are tested on Ubuntu 22.04 and 24.04; for v25.0, only specified Ubuntu and kernel combinations are regularly tested and supported.
Who it suits
gem5 suits researchers, educators, and industry teams working on system architecture or processor microarchitecture. It is also relevant to users who need simulation across the listed instruction sets or integration with SystemC.
What it does well
- Supports seven listed instruction sets.
- Offers full-system and application-only simulation.
- Includes memory-system models and multiple CPU models.
- gem5art supports experiment artifacts and reproducibility.
What to know first
- Regular v25.0 support is limited to specified Ubuntu and kernel combinations.
- The NoMali model does not produce visual output.
- Some portions retain their original licenses.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| gem5 | Open-source computer-system architecture simulator | Free |
As gem5.org lists them, read 3 Oct 2026. The maker's own page has the final word.
Verdict
gem5 provides a broad set of architecture simulation capabilities and research-oriented experiment tools. Users should check its documented build support and licensing details for the portions they plan to use.
Facts from gem5's own pages
- Build platforms
- The project tests builds on Ubuntu 22.04 and 24.04; it says other Linux-based operating systems can work with the required dependencies installed. · gem5.org, 3 Oct 2026
- Build requirements
- The building guide lists GCC version 10 or later, up to version 13, and says Clang is also supported. · gem5.org, 3 Oct 2026
- CPU models
- gem5 provides four interpretation-based CPU models and a KVM-based CPU model for faster simulation. · gem5.org, 3 Oct 2026
- GPU model
- gem5 includes a NoMali GPU model compatible with the Linux and Android GPU driver stack; it does not produce visual output. · gem5.org, 3 Oct 2026
- Instruction sets
- The about page lists Alpha, ARM, SPARC, MIPS, POWER, RISC-V, and x86 ISA support. · gem5.org, 3 Oct 2026
- Known support limit
- For gem5 v25.0, the documentation says only the listed Ubuntu 22.04/kernel 5.15 and Ubuntu 24.04/kernel 6.8.12 combinations are regularly tested and supported. · gem5.org, 3 Oct 2026
- License
- The simulator is released under a Berkeley-style open-source license, with portions derived from other sources subject to their original licenses. · gem5.org, 3 Oct 2026
- Memory modeling
- Its event-driven memory system includes caches, crossbars, snoop filters, and a DRAM controller model. · gem5.org, 3 Oct 2026
- Purpose
- gem5 is a modular platform for computer-system architecture research, covering system-level architecture and processor microarchitecture. · gem5.org, 3 Oct 2026
- Reproducibility
- gem5art provides Python modules for artifacts, reproducibility, and testing, and can store experiment inputs and results in a database. · gem5.org, 3 Oct 2026
- Simulation modes
- gem5 supports full-system simulation and application-only execution using Linux emulation. · gem5.org, 3 Oct 2026
- Support
- Users can ask questions through GitHub Discussions, Slack, or mailing lists; bug reports should be submitted through GitHub issues. · gem5.org, 3 Oct 2026
- SystemC integration
- gem5 can run as a thread inside the SystemC event kernel, and provides a wrapper for SystemC Transaction Level Modelling. · gem5.org, 3 Oct 2026
- Users
- The project says gem5 is used in academia, industry research, and teaching. · gem5.org, 3 Oct 2026
Where gem5 stands on Freedom251
- Emulator Software#18 of 39
