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
Extending the memory system
How classic caches work
The coherence protocol (MOESI with a snoop filter)
MSHRs
Debugging
How to add a new replacement policy
How to add a new tag policy
About Request, MemCmd, and Packets
How to add a new
MemCmd
How to add information to packets (SenderState)
Previous submodule:
Adding instructions to gem5
Next submodule:
Developing cache coherence protocols in Ruby