For this assignment, you will go through the first few parts of the gem5 tutorial we are currently constructing. This gem5 tutorial is a current work-in-progress and may have typos and bugs in it. Feedback about errors, big or small, is appreciated. There are currently four three complete chapters of this tutorial. The first chapter covers downloading and building gem5. The second chapter walks you through creating a simple configuration script and how to run gem5.
Learning gem5 Tutorial as ASPLOS 2018
CMPUT Assignment #1, the gem5 simulator
You may either use your own gem5 configuration script created during the tutorial although, that may be slightly more work in the end or you can use se. If you use your own configuration script, you will probably want to add parameters to the python file so that its easy to change CPU model, frequency, etc. Each run of the simulator will produce a statistics file as an output — save the statistics files generated from each run. Warning: by default, gem5 will write the output file to the same folder m5out every time. Make sure to move your output file before each subsequent run.
Many a times it gets difficult for the computer architects to get started with event-driven simulators. This document is written to target that audience and provide an overview of the minor cpu model in gem5 which implements an in-order pipelined processor. This tutorial will help the reader to understand how the event-driven minor cpu model is implemented in gem5 and will not go much into details of how to compile and build gem5, how to add tracing and what are ports and how do they work. This information can be found in Learning Gem5.
Part I: Getting started with gem5. Creating a simple configuration script. Add a pointer to the gem5 docker image. In fact, we may want to have a docker image for each section. See gem5 requirements for more details.