  The gem5 simulator is a modular platform for computer-system 
architecture research, encompassing system-level architecture as 
well as processor microarchitecture. gem5 is a community led project
 with an open governance model.

  gem5 was originally conceived for computer architecture research
in academia, but it has grown to be used in computer system design
by academia, industry for research, and in teaching. 

By default it's build the X86 simulator, you can set to other
architectures with a environment variable as following:
 - MIPS=yes
 - POWER=yes
 - RISCV=yes
 - SPARC=yes

Optional:
 - protobuf-c (for tracing support)
 - hdf5

