Introduction_of_Gem5.pdf

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Introduction_of_Gem5

GEM5 简明使用文档 一.简介 GEM5,是一款高度可配置、集成多种 ISA(X86,ARM,ALPHA,MIPS,SPARC 等)和多 种 CPU 模型的体系结构模拟器。 官方网站:/Main_Page GEM5详细介绍:/Documentation 二.安装 GEM5 本机环境为 ubuntu 12.04, 运行环境要求:(强烈建议仔细阅读 /Compiling_M5) ? Gcc/g++ 4.2+(or clang 2.9+) ? Python 2.4+ ? Scons 0.98.1+ ? Swig 1.3.40+(Swig 2.0.9 和 Swig 2.0.10 不支持) ? Zlib ? M4 ? Protobuf 1. 针对 ubuntu 系统,只需在终端(terminal)中运行下述命令(注意顺序),即可完成安 装上述所有软件: s udo a pt-get i ns tall python-dev s cons m4 bui ld-es sential g++ s wig zl ib1g-dev l ibprotobuf-dev 效果如下图: 若非 ubuntu 系统,则需要依次下载上述软件的源码文件, /Compiling_M5#Required_Software 中有对应文件下载地址, 然后进行手工编译和安装。具体安装步骤可参考这篇博客: /wyj7260/article/details/8267345 2. 下载 gem5 源码文件。 (1)利用 mercurial 下载最新的 gem5 源代码,相关命令如下: sudo apt-get install mercurial cd ~ sudo hg clone /gem5 (运行完这条命令后,会在 主目录夹 下生成包含 gem5 源代码的文件夹 gem5)。 (2)鉴于下载时间太长,gem5 源代码已上传到嵌入式学科组服务器, 下载链接: /embed/gem5.tar.bz2 然后把下载文件 gem5.tar.bz2 放到主目录下 然后运行下面命令进行解压: cd ~ tar -xvf gem5.tar.bz2 mv gem5-st….xxxxx gem5(重命名) 3. 编译安装 gem5。命令如下: cd ~/gem5 sudo scons build/X86/gem5.opt (此步 骤需耗时 30—50min); 4. 验证 gem5 是否安装成功,输入以下命令 cd ~/gem5 build/X86/gem5.opt configs/example/se.py -c tests/test-progs/hello/bin/x86/linux/hello 效果如下图,说明安装成功。 三.编写并测试自己的程序,获得相关统计信息 1. 编写程序源文件: 假设文件名称为 test.c 2. 编译: gcc -o test test.c --static 注意: 要编译成静态程序。 3. 用 gem5 运行程序,并得到相关统计信息。 cd ~/gem5 build/x86/gem5.opt configs/example/se.py -c /xxxxxx/test 注意: 参数 -c 后面跟着的是编译所获得程序(此处为 test)的路径 (建议使用绝对路径)。详细参数 配置看下一节。 四.查看程序的统计信息 统计信息默认放在 gem5 安装目录下(~/gem5)的 m5out 文件夹下。 其中 config.init 为相关的配置信息。stats.txt 就是运行程序的统计信息。可通过 vim stats.txt (or gedit stats.txt) 命令进行查看,统计信息太多,此处仅列举部分 内容: //全局 Simseconds : #所测试程序的运行时间,单位为 s Sim_insts: #模拟运行的指令数 //内存统计信息 system.me m_ctrl s.b ytes_rea d::cpu.inst #从此内存读的所有指令字节数 system.mem_ctrls .bytes_read::cpu.data#从此内存读的所有数据字节数 System.mem_ctrls .bytes_read::total#从此内存读的所有字节数,包括指令和数据 system.mem_ctrls .bytes_w ritten::cpu.dat

文档评论(0)

l215322 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档