Skip to main content Link Menu Expand (external link) Copy Copied
  • Welcome
    • Supplementary knowledge checklist
  • Unit I: Introduction
    • Section 1: Why simulation?
    • Section 2: Enter gem5
    • Section 3: Installing gem5
    • Section 4: Your first configuration script
      • 01-04 Workspace
        • hello_world.py
  • Unit II: Beginning Simulation
    • Section 1: The gem5 standard library and resources
      • 02-01 Workspace
        • stdlib_hello_world.py
      • 02-01 Completed Files
    • Section 2: Processors
      • 02-02 Workspace
        • my_processors.py
        • atomic_vs_timing.py
        • hello_processors.py
      • 02-02 Completed Files
        • atomic-normal-cache
          • config.json
          • config.ini
          • stats.txt
        • atomic-small-cache
          • config.json
          • config.ini
          • stats.txt
        • big-o3
          • config.json
          • config.ini
          • stats.txt
        • little-o3
          • config.json
          • config.ini
          • stats.txt
        • timing-normal-cache
          • config.json
          • config.ini
          • stats.txt
        • timing-small-cache
          • config.json
          • config.ini
          • stats.txt
    • Section 3: Caches
      • 02-03 Workspace
        • my_cache_hierarchy.py
        • hello_caches.py
        • my_processors.py
      • 02-03 Completed Files
        • hello_caches_ubuntu
          • config.json
          • config.ini
          • board.pc.com_1.device
          • stats.txt
        • hello_caches
          • config.json
          • config.ini
          • board.pc.com_1.device
          • stats.txt
    • Section 4: Memory
      • 02-04 Workspace
        • my_cache_hierarchy.py
        • hello_memory.py
        • simple_vs_channeled.py
        • my_lpddr2.py
        • my_processors.py
      • 02-04 Completed Files
        • channeled
          • config.json
          • config.ini
          • stats.txt
        • hello_memory
          • config.json
          • config.ini
          • board.pc.com_1.device
          • stats.txt
        • simple
          • config.json
          • config.ini
          • stats.txt
  • Unit III: Intermediate Features
    • Section 1: Simulation modes
      • 03-01 Workspace
        • SE_hello_world.py
        • FS_hello_world.py
      • 03-01 Completed Files
        • FS_mode
          • config.json
          • simerr.txt
          • board.realview.uart2.device
          • config.ini
          • board.terminal
          • stats.txt
          • board.realview.uart1.device
          • simout.txt
          • board.realview.uart3.device
        • SE_mode
          • config.json
          • simerr.txt
          • config.ini
          • stats.txt
          • simout.txt
    • Section 2: gem5 resources
      • 03-02 Workspace
        • suite_example.py
        • workload_example.py
        • json_resource.py
        • local_resources.json
        • local_path.py
        • binary_example.py
        • pattern.c
      • 03-02 Completed Files
    • Section 3: Traffic generators
      • 03-03 Workspace
        • traffic_gen.py
        • hybrid_generator.py
      • 03-03 Completed Files
        • hybrid_traffic
          • config.json
          • simerr.txt
          • config.ini
          • stats.txt
          • simout.txt
        • linear_traffic
          • config.json
          • simerr.txt
          • config.ini
          • stats.txt
          • simout.txt
        • random_traffic
          • config.json
          • simerr.txt
          • config.ini
          • stats.txt
          • simout.txt
    • Section 4: Communication from simulation to simulator
      • 03-04 Workspace
        • exit_events.py
        • Makefile
        • WIP-address-mode
          • address_annotated_workload.c
          • Makefile
        • run_annotated_workload.py
        • annotated_workload.c
      • 03-04 Completed Files
        • WIP-address-mode
          • address_annotated_workload.c
          • Makefile
  • Unit IV: Developing gem5 Models
    • Unit IV: Processors Track
      • Section 1: SimObjects
        • 04a-01 Workspace
          • README.md
          • hello_sim_object_config.py
          • hello-sim-object
            • hello_sim_object.cc
            • HelloSimObject.py
            • hello_sim_object.hh
        • 04a-01 Completed Files
          • hello-sim-object-params
            • hello_sim_object.cc
            • HelloSimObject.py
            • hello_sim_object.hh
          • hello-sim-object
            • hello_sim_object.cc
            • HelloSimObject.py
            • hello_sim_object.hh
      • Section 2: Event-driven simulation
        • 04a-02 Workspace
          • hello_sim_object_config.py
          • hello-sim-object
            • hello_sim_object.cc
            • HelloSimObject.py
            • hello_sim_object.hh
        • 04a-02 Completed Files
          • event-class
            • hello_sim_object.cc
            • hello_sim_object.hh
          • event-function-wrapper
            • hello_sim_object.cc
            • hello_sim_object.hh
      • Section 3: Ports
      • Section 4: Debugging
        • 04a-04 Workspace
          • minor_config.py
          • branch_pred_processor.py
        • 04a-04 Completed Files
          • m5out
            • config.json
            • simerr.txt
            • config.ini
            • stats.txt
            • simout.txt
      • Section 5: Branch predictors
        • 04a-05 Workspace
          • branch_pred_processor.py
          • simulate_branch_pred.py
        • 04a-05 Completed Files
          • not-taken-branch-pred
            • hello_predictor.hh
            • hello_predictor.cc
            • HelloPredictor.py
          • simple-branch-pred
            • hello_predictor.hh
            • hello_predictor.cc
            • HelloPredictor.py
      • Section 6: ISAs
        • 04a-06 Workspace
          • inst_trace.py
    • Unit IV: Caches Track
    • Unit IV: Memory Track
  • Unit V: Advanced Topics
    • Section 1: KVM fast-forwarding
      • 05-01 Workspace
        • kvm_time.py
      • 05-01 Completed Files
        • m5out
          • config.json
          • simerr.txt
          • config.ini
          • board.pc.com_1.device
          • stats.txt
          • simout.txt
    • Section 2: Checkpointing
      • 05-02 Workspace
        • restore_checkpoint.py
        • take_a_checkpoint.py
    • Section 3: Sampled simulation
      • 05-03 Workspace
        • SMARTS
          • SMARTS.py
          • predict_ipc.py
        • elfies
          • run_elfies.py
        • simpoint
          • simpoint_checkpoint.py
          • simpoint_analysis.py
          • full_detailed_run.py
          • predict_overall_ipc.py
          • simpoint3.2_cmd.sh
          • run_all_simpoint.sh
          • simpoint_run.py
      • 05-03 Completed Files
        • SMARTS
          • SMARTS.py
          • predict_ipc.py
          • m5out
            • simerr.txt
            • stats.txt
            • simout.txt
        • elfies
          • run_elfies.py
          • m5out
            • simerr.txt
            • stats.txt
            • simout.txt
        • simpoint
          • full-detailed-run.py
          • results.weights
          • full-detailed-run-m5out
            • simerr.txt
            • stats.txt
            • simout.txt
          • simpoint-analysis-m5out
            • simpoint.bb
            • simerr.txt
            • stats.txt
            • simout.txt
          • simpoint-checkpoint-m5out
            • simerr.txt
            • stats.txt
            • simout.txt
          • simpoint-run.py
          • simpoint0-run
            • simerr.txt
            • stats.txt
            • simout.txt
          • simpoint1-run
            • simerr.txt
            • stats.txt
            • simout.txt
          • simpoint2-run
            • simerr.txt
            • stats.txt
            • simout.txt
          • predict_overall_ipc.py
          • simpoint-checkpiont.py
          • results.simpts
          • simpoint3.2-cmd.sh
          • simpoint-analysis.py
    • Section 4: MultiSim
      • 05-04 Workspace
        • multisim_experiment.py
      • 05-04 Completed Files
        • m5out
          • stats.txt
          • process_16KiB_16KiB
            • config.json
            • config.ini
            • stats.txt
          • process_16KiB_8KiB
            • config.json
            • config.ini
            • stats.txt
          • process_8KiB_16KiB
            • config.json
            • config.ini
            • stats.txt
          • process_8KiB_8KiB
            • config.json
            • config.ini
            • stats.txt
    • Section 5: Disk images
      • 05-05 Workspace
        • local-gapbs-resource.json
        • x86-fs-gapbs-run.py
        • x86-ubuntu
          • build.sh
          • x86-ubuntu-24-04.pkr.hcl
      • 05-05 Completed Files
    • Section 6: Power modeling
This site uses Just the Docs, a documentation theme for Jekyll.
  • gem5 Official Website
  • gem5 GitHub Repository
  • gem5 Resources
  1. Unit V: Advanced Topics
  2. Section 5: Disk images
  3. 05-05 Completed Files

This course is a work in progress!

This site uses Just the Docs, a documentation theme for Jekyll.