Arm Research Starter Kit:
System Modeling using gem5

Download

 

About

System-on-chip (SoC) computing systems are complex, and prototyping such systems is extremely expensive. Simulation is a cost-effective way to evaluate new ideas. Modern simulators, like gem5 are capable of modeling various system components, such as different CPU models, interconnection topologies, memory subsystems, etc. gem5 also models the interactions among system components.

This Research Starter Kit will guide you through Arm-based system modeling using the gem5 simulator and a 64-bit processor model based on Armv8-A.

 

Why use this Research Starter Kit?

gem5 is a well-known sophisticated simulator used for computer system research at both architecture and micro-architecture levels. It is capable of modeling several ISAs, and does so with enough details such that booting unmodified Linux distributions is possible.

This Research Starter Kit introduces the first Armv8-A based CPU timing model in gem5 that has been released by Arm. It shows you how to simulate this model and run benchmarks on top of it.

 

 

 


Suitable for:

Computer system researchers looking to:

  • develop Arm-based system modeling experience using gem5
  • use a modern Armv8-A based processor model in their research

You will need:

  • Linux: Intermediate knowledge
  • Computer architecture: Intermediate knowledge
  • C++: Working knowledge
  • Python: Working knowledge

Topics covered:

  • Introduction to gem5
  • Arm system modelling in gem5 in different modes
  • A High-Performance In-order (HPI) Arm-based CPU model
  • Benchmarking the HPI model

Download

From your Linux machine, click ‘Get clone script’. This will download a ‘clone.sh’ script. Running this script ‘bash clone.sh’ will create two directories:

  1. gem5: the latest gem5 source code, cloned from its main repository at:
    https://gem5.googlesource.com/public/gem5
  2. arm-gem5-rsk: the scripts, documents and files required to run the examples and benchmarks, cloned from the Arm gem5 RSK repository at:
    https://github.com/arm-university/arm-gem5-rsk