gem5简介:
关于gem5的详细介绍,其官方论坛上有,这里不再详述,给出重点的总结:
一、gem5模拟器是一款高度可配置、集成多种ISA和多种CPU模型的体系结构模拟器,它是结合了M5和GEMS中最优秀的部分而形成的。
二、gem5的功能是非常强大的,它支持:
1、SE和FS两种模式的系统模型(其中FS模式的系统模型对于典型的交互式应用下系统性能的测试是很有用的);
2、从简单到复杂分别是Atomic、Timing、In- order、O3(Out of Order)的四种CPU模型;
3、Classic和Ruby两种存储器模型。
gem5编译过程:
(这一部分参考了部分官网和网上前辈的资料,补充了自己实践中的
思考)
软硬件环境:intel(64)+ubuntu12.04(64)+gem5-stable
gem5模拟器的安装过程可以分为两个阶段:第一个阶段是下载gem5的源码包(1)并配置安装gem5的环境(2、3);第二个阶段是根据自己模拟的需求选择相关的选项或这自己创建脚本,利用安装好的工具对gem5源码包进行编译安装(4)并进行调试(5)。
1、下载gem5源代码包
在gem5的官网(http://www.m5sim.org/Download)上面提供了最新版本的和稳定版本的gem5源码包都可以下载安装,一般选用stable版本的gem5源码包进行下载安装。
2、安装g++编译器,需要注意版本(g++4.5)
为了对gem5源码包和以后需要在gem5上运行的C和C++程序进行编译需要合适版本的g++,推荐使用g++4.5版本的。
3、依次安装python(version 2.4 - 2.7)、scons(version 0.98.1 or newer.)、swig(version 1.3.34 or newer)、zlib、m4这些gem5所依靠的工具和环境。
gem5是连接到python解析器的因此需要python的头文件和一些共享库,所以必须安装python(版本要高于2.4,安装前可以查看系统是否已经自带,若自带则不需要安装);
gem5的安装是通过scons工具完成的,因此需要安装scons(版本在0.98.1之上)。注意scons的安装与其他文件安装的区别(解压即可)。
其他的swig、zlib、m4也是安装gem5必不可少的工具。
4、构建gem5模拟器,可以选择不同处理器的配置(X86、ARM、ALPHA)gem5的构建是通过scons工具来完成的,可以通过进入解压gem5源文件的目录运行下面的命令来完成构建:
python scons.py <build dir>/<configuration>/<target> .............(1)
具体的例子如:
python scons.py build/ARM/m5.opt .............(2)
说明:其中<build dir>项指明了构建gem5模拟器的目录(对应与2中的build,当然也可以指向不同的目录);<configuration>项指明了对构建模拟器的配置信息包括指令集结构、cpu模型等该项对应于(2)中的ARM(这是build_opts目录下一个配置文件的名称)在以(2)的方式的构建过程中利用ARM文件所指明的指令集结构、cpu模型等的配置信息进行了构建,这是在初次构建的过程中所使用的方法,在之后的模拟中可以通过在构建项后面加选项的方式来改变模拟器的配置;<target>项指明了要构建的gem5的二进制文件,申明了所要用到的编译器标志集(对编译器的配置以产生不同的2进制文件),不同的不同的文件具有不同的特点和优势,现在可用的类别有:gem5.debug, gem5.opt, gem5.fast, gem5.prof and gem5.perf。他们各自的特点如下: