gem5-v21.2.0最详细的安装步骤

GEM5是一个非常强大的模拟平台,服务于计算机系统架构相关研究,包括系统级架构和处理器微架构。最近在做GEM5相关的研究工作,顺便在blog上记下学习笔记。本文主要描述怎么正确地在Linux系统上安装和运行GEM5。

一、安装一些依赖软件

运行GEM5需要一些依赖软件,包括:g++ (4.7版本及以上)、Python (3.6版本及以上)、 SCons (0.98.1版本及以上)、 SWIG (2.0.4版本及以上)、zlib、m4、 protobuf (2.1版本及以上)。

1. 安装g++

g++一般系统自带,可用 g++ -v 查看版本号。

如果系统没有的话,使用如下命令安装:

sudo apt-get install g++

2. 安装Python

2.1Python一般系统自带,可用 python --version 查看版本号。

安装依赖工具

sudo apt-get install -y gcc make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev

2.1.1下载源码文件压缩包

wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz

2.1.2解压源码文件压缩包

tar -xzf Python-3.6.8.tgz
cd Python-3.6.8
sudo ./configure --enable-optimizations --prefix=/usr/local/bin/python3.6

–prefix=/usr/local/bin/python3.6:编译的时候用来指定程序存放路径。

2.1.3编译

sudo make

2.1.4安装

sudo make install

2.1.5设置软链接

sudo ln -s -f /usr/local/bin/python3.6/bin/python3.6 /usr/bin/python3.6
sudo ln -s -f /usr/local/bin/python3.6/bin/pip3.6 /usr/bin/pip3.6

2.2ubuntu下切换默认python版本

2.2.1.以 root 身份登录,首先罗列出所有可用的python 替代版本信息

update-alternatives --list python 

这一步可能会报错update-alternatives: error: no alternatives for python

2.2.2.如果出现以上所示的错误信息,则表示 Python 的替代版本尚未被update-alternatives 命令识别。想解决这个问题,我们需要更新一下替代列表,将python2.7 和 python3.6 放入其中。

update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1  
update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2 

最后的1、2、3...代表优先级,后面会有用

2.2.3.再次列出可用的 Python 替代版本

update-alternatives --list python 

2.2.4.我们就可以使用下方的命令随时在列出的 Python 替代版本中任意切换了

update-alternatives --config python 

2.2.5输入数字,选择版本,选择3.6的版本

3. 安装Scons

使用以下命令安装SCons:

sudo apt-get install scons

安装后查看版本号:

scons -v

4. 安装SWIG

使用以下命令安装SWIG:

sudo apt-get install swig

安装后查看版本号:

swig -version

5. 安装zlib

zlib一般系统自带,使用 whereis zlib 查看安装位置,如果系统没有的话,使用如下步骤安装:

zlib下载地址,解压后安装:

./configure
make
sudo make install

6. 安装m4

一般系统自带,使用 m4 --veriosn 查看版本,如果系统没有的话,使用以下命令安装m4:

sudo apt-get install m4

7. 安装protobuf

protobuf下载

https://github.com/protocolbuffers/protobuf/releases

解压后安装:

./configure
make
sudo make install

如果您在安装protobuf时没有找到configureautogen.sh文件,可能是因为您下载的是最新版本的protobuf(3.x),而不是旧版本(2)。

在最新版本的protobuf中,使用了CMake来构建和安装protobuf。因此,您需要执行以下步骤来安装protobuf:

  1. 下载最新版本的protobuf源代码:https://github.com/protocolbuffers/protobuf/releases

  1. 解压缩源代码文件。

  1. 进入解压缩后的录。

  1. 执行以下命令:

mkdir build
cd build
cmake ..
make
sudo make install

这将使用CMake构建和安装protobuf。

请注意,如果您使用的是旧版本的protobuf(2.x),则应该可以在源代码目录中找到autogen.sh文件,并按照以下步骤进行安装:

  1. 下载protobuf源代码:https://github.com/buffers/protobuf/releases

  1. 解压缩源代码文件。

  1. 进入解压缩后的目录。

  1. 执行以下命令:

./autogen.sh
./configure
make
sudo make install

这将使用autogen.sh脚本构建和安装protobuf

然后使用如下命令可以查看版本号,检查是否安装完成:

protoc --version

8. 安装 libprotobuf-dev 和 libgoogle-perftools-dev

sudo apt-get install libprotobuf-dev
sudo apt-get install libgoogle-perftools-dev

二、运行GEM5

  1. 下载gem5-v21.2.0.0

Gitee 极速下载/gem5 - Gitee.com

git clone -b v.2.0.0 https://gem5.googlesource.com/public/gem5

2.编译gem5,以ARM处理器为例

scons build/ARM/gem5.opt

3.SE测试

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

Error: Can’t find a suitable python-config, tried [‘python2.7-config’, ‘python-config’]

解决方案: 安装python-dev

sudo apt-get install python-dev

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值