Introduction
Using gem5
Developing gem5 models
Extra topics
Previous module:
Using gem5
Developing new models for gem5
Creating a `SimObject`
Using events-driven programming in gem5
Creating a SimObject in the memory system
Creating a full cache model
Instruction execution in gem5
Adding instructions to gem5
Extending the memory system
Developing cache coherence protocols in Ruby
Ruby cache part 1: Creating a state machine in SLICC
Ruby Cache Part 23: In port code blocks
Ruby cache part 3: Actions and transitions in state machines
Ruby Cache Part 4: MSI Directory implementation
Ruby Cache Part 5: Building, configuring, and running the MSI cache
Ruby Caches Part 6: Debugging Ruby protocols
Ruby network and Garnet
gem5's GPGPU model
Next module:
Extra topics
Instruction execution in gem5
View the slides
here
.
The below is in no particular order.
Translation in CPUs
Overview of O3
Steps to execute instruction (decode, execute/initiateAcc)
Execution context
Thread context
Branch predictor
Previous submodule:
Creating a full cache model
Next submodule:
Adding instructions to gem5