Ubuntu12.04安装gem5/M5模拟器

最近需要做系统结构的模拟实验,今天在Ubuntu12.04 上面成功安装 gem5 ,记录分享安装过程如下:


%-------------------------------------------------------------------------------%
必要文件:
gem5:到http://www.m5sim.org/Download下载stable版本源代码包。


g++: 使用g++ 4.5版本,不要使用4.6,否则会出现编译无法通过!!
可以通过命令:

[sudo apt-get install g++-4.5

sudo rm /usr/bin/g++

sudo ln -s /usr/bin/g++-4.5 /usr/bin/g++]


python:版本2.4或更高[一般系统自带]


SCons:版本0.98.1或更高 ***注:我使用的是scons-local包。***
http://sourceforge.net/projects/scons/files/


SWIG:版本1.3.34。***注意:不要太高的版本,否则需要Perl支持。***
http://www.swig.org/


zlib:最近的版本。
http://www.zlib.net/


m4:宏处理器。
http://www.gnu.org/software/m4/

官方说明,参见:http://www.m5sim.org/Compiling_M5


假设将这些下载的文件放在用户主目录 gem5 下面。
编译gem5之前必须先安装这些必要的文件包。每个包里都有一个install文件说明了安装了方法,基本就是三部曲。

 

%-------------------------------------------------------------------------------%
具体的安装过程如下
[具体情况,文件包名字略有不同]
%-------------------------------------------------------------------------------%

%-------------------------------------------------------------------------------%
解压gem5源文件:
bzip2 -d gem5-stable-1.tar.bz2
假设将gem5解压后的文件夹重命名为:gem5-stable

%-------------------------------------------------------------------------------%
安装zlib:
解压下载的压缩包:
tar -xzvf zlib-1.2.7.tar.gz
进入解压之后的文件夹 zlib-1.2.7
cd zlib-1.2.7


执行命令:
./configure
sudo make install

%-------------------------------------------------------------------------------%
安装SWIG:(注意版本!)
解压下载的压缩包:
tar -xzvf swig-1.3.34.tar.gz
进入解压后的文件夹:
cd swig-1.3.34


执行命令:
./configure
make
sudo make install

%-------------------------------------------------------------------------------%
安装M4:
解压下载的压缩包:
tar -xzvf m4-latest.tar.gz
进入解压之后的文件夹 m4-1.4.16
cd m4-1.4.16


执行命令:

./configure
make
sudo make install

%-------------------------------------------------------------------------------%
安装scons:
Scons的安装很简单,只需要将scons-local-2.2.0.tar.gz解压
tar -xzvf scons-local-2.2.0.tar.gz
将解压后的文件全部拷贝到gem5-stable中,得到结果如下

%-------------------------------------------------------------------------------%
编译:
进入gem5-stable文件夹:
cd gem5-stable

执行:
python scons.py build/<arch>/m5.<binary>
指定编译的选项,及目标文件,例如:
python scons.py build/ALPHA/m5.opt

如果出现如下错误:
错误:can't find Python.h header in ['/usr/include/python2.7']
解决:sudo apt-get install python-dev

重新执行命令,没有错误则说明编译成功。

%-------------------------------------------------------------------------------%

%-------------------------------------------------------------------------------%

测试:
se模式下执行hello测试程序。

执行命令:

build/ARM/m5.opt configs/example/se.py -c tests/test-progs/hello/bin/arm/linux/hello

部分输出:

**** REAL SIMULATION ****
info: Entering event queue @ 0.  Starting simulation...
Hello world!

%-------------------------------------------------------------------------------%
到此,安装测试成功!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
gem5学习基础完整版,介绍了gem5环境的安装,以及一些基本概念。 gem5仿真器用于计算机系统体系结构研究模块化平台,涵盖系统体系结构以及理器微体系结构。1、多个可互换的CPU型号。 gem5提供了四种基于解释的CPU模型:简单的单CPI CPU; 有序CPU的详细模型和无序CPU的详细模型。 这些CPU模型使用通用的高ISA描述。 此外,gem5具有基于KVM的CPU,该CPU使用虚拟化来加速仿真。 2、完全集成的GPU模型,可以执行真实计算机ISA,并支持与主机CPU共享的虚拟内存。 3、NoMali GPU模型。 gem5带有集成的NoMali GPU模型,该模型与Linux和Android GPU驱动程序堆栈兼容,因此无需进行软件渲染。 NoMali GPU不产生任何输出,但可以确保以CPU为中心的实验产生代表性的结果。 4、事件驱动的内存系统gem5具有详细的,事件驱动的内存系统包括高速缓存,交叉开关,探听过滤器以及快速而准确的DRAM控制器模型,用于捕获当前和新兴内存的影响,例如内存。 LPDDR3 / 4/5,DDR3 / 4,GDDR5,HBM1 / 2/3,HMC,WideIO1 / 2。 可以灵活地布置组件,例如,以具有异构存储器的复杂的多非均匀高速缓存层次结构来建模。 5、基于跟踪的CPU模型,可播放弹性跟踪,这些跟踪是由附着到乱序CPU模型的探针生成的依赖项和定时注释的跟踪。 跟踪CPU模型的重点是以快速,合理的方式而不是使用详细的CPU模型来实现内存系统(高速缓存层次结构,互连和主内存)的性能探索。 6、异构和异构多核。 可以将CPU模型和缓存组合到任意拓扑中,从而创建同构异构的多核系统。 MOESI侦听缓存一致性协议可保持缓存一致性。 7、多种ISA支持。 gem5将ISA语义与其CPU模型解耦,从而实现对多个ISA的有效支持。 目前gem5支持Alpha,ARM,SPARC,MIPS,POWER,RISC-V和x86 ISA。 有关更多信息,请参见支持的体系结构

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值