gem5学习笔记01,fs模式下运行ALPHA编译的hello程序

1.fs模式需要两个额外的包

  Full System Files : http://www.m5sim.org/dist/current/m5_system_2.0b3.tar.bz2

  linux-dist : http://www.m5sim.org/dist/current/linux-dist.tgz

2.安装(gem5安装目录为cb@ubuntu:~/gem5$ )    

  a)$ mkdir dist

  b) 将包m5_system_2.03.tar.bz2 复制到dist目录

  c) 解压 ~gem5/dist$ tar -xvf m5_system_2.03.tar.bz2

  d)解压后的文件夹内容放到dist目录下

     ~/gem5/dist$ cd m5_system_2.0b3/

    ~/gem5/dist/m5_system_2.0b3$ mv./binaries/ ../binaries

     ~/gem5/dist/m5_system_2.0b3$ mv./disks/ ../disks

    ~/gem5/dist$ rm -rfm5_system_2.0b3
  e)修改$GEM5/config/common/SysPath.py 文件:
    把exceptKeyError:path = [ '/dist/m5/system', '/n/poolfs/z/dist/m5/system
    修改成
    except KeyError:
           path = [ '/dist/m5/system', ' /home/<用户名>/gem5/dist' ]

3运行

     进入gem5目录 ./build/ALPHA/gem5.opt ./configs/example/fs.py

gem5 Simulator System. http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 compiled Apr 18 2016 19:51:09
gem5 started Apr 20 2016 06:09:41
gem5 executing on ubuntu
command line: ./build/ALPHA/gem5.opt ./configs/example/fs.py

Global frequency set at 1000000000000 ticks per second
warn: DRAM device capacity (8192 Mbytes) does not match the address range assigned (512 Mbytes)
info: kernel located at: /home/cb/gem5/dist/binaries/vmlinux
Listening for system connection on port 3456
0: system.tsunami.io.rtc: Real-time clock set to Thu Jan 1 00:00:00 2009
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
**** REAL SIMULATION ****
info: Entering event queue @ 0. Starting simulation...
warn: Prefetch instructions in Alpha do not do anything
warn: Prefetch instructions in Alpha do not do anything

4 开启新终端,使用M5Term来与simulatedsystem进行交互

~/gem5$cd ./util/term
~/gem5$make
~/gem5$sudo make install
~/gem5$m5term localhost 3456

ls

EXT2-fs warning: checktime reached, running e2fsck is recommended
loading script...
Script from M5 readfile is empty, starting bash shell...
# ls
benchmarks  etc         linuxrc     modules     sys         usr
bin         iscsi       lost+found  proc        testGem5    var
dev         lib         mnt         sbin        tmp
# 

 

5 testGem5文件夹

1、将ALPHA下编译好的hello执行文件拷贝到当前路径(也可以自己交叉编译)
~/gem5$ cp./tests/test-progs/hello/bin/alpha/linux/hello ./hello
2、挂载
~/gem5$ sudo mount -o,loop,offset=32256 ./dist/disks/linux-latest.img /mnt
偏移量32256=63*512
3、显示一下/mnt,可以看到挂载好的操作系统
~@ubuntu:/mnt$ ls
benchmarks  dev  iscsi  linuxrc     mnt      proc  sys  usr
bin         etc  lib    lost+found  modules  sbin  tmp  var

4、加待运行的hello
~@ubuntu:/mnt$ sudo mkdir testGem5
~@ubuntu:/mnt$ cd ../home/~/gem5/
~@ubuntu:~/gem5$ sudo cp hello /mnt/testGem5
~@ubuntu:~/gem5$ cd /mnt
~@ubuntu:/mnt$ ls
benchmarks  dev  iscsi  linuxrc     mnt      proc  sys       tmp  var
bin         etc  lib    lost+found  modules  sbin  testGem5  usr
~@ubuntu:/mnt$ ls testGem5
hello

5、  在使用linux的image文件之前,应该执行umount操作。
~/gem5$ sudo umount /mnt

 

6.测试

  1,运行fs模式./build/ALPHA/gem5.opt ./configs/example/fs.py

  2,新终端,./util/term/m5term localhost 3456

# ls                               
benchmarks  etc         linuxrc     modules     sys         usr
bin         iscsi       lost+found  proc        testGem5    var
dev         lib         mnt         sbin        tmp
# cd testGem5
# ls
hello
# ./hello
Hello world!
# 

 

转载于:https://www.cnblogs.com/chaobing/p/5414533.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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。 有关更多信息,请参见支持的体系结构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值