authors: Jason Lowe-Power
last edited: 2024-06-01 14:26:34 +0000

gem5 Documentation

Learning gem5

Learning gem5 gives a prose-heavy introduction to using gem5 for computer architecture research written by Jason Lowe-Power. This is a great resource for junior researchers who plan on using gem5 heavily for a research project.

It covers details of how gem5 works starting with how to create configuration scripts. It then goes on to describe how to modify and extend gem5 for your research including creating SimObjects, using gem5’s event-driven simulation infrastructure, and adding memory system objects. In Learning gem5 Part 3 the Ruby cache coherence model is discussed in detail including a full implementation of an MSI cache coherence protocol.

More Learning gem5 parts are coming soon including:

Note: this has been migrated from and there are minor problems due to this migration (e.g., missing links, bad formatting). Please contact Jason ( or create a PR if you find any errors!

gem5 101

gem5 101 is a set of assignments mostly from Wisconsin’s graduate computer architecture classes (CS 752, CS 757, and CS 758) which will help you learn to use gem5 for research.

gem5 API documentation

You can find the doxygen-based documentation here:

Other general gem5 documentation

See the navigation on the left side of the page!