【gem5】gem5模拟器中三种访存模式Atomic、Timing、Functional的总结对比
创始人
2025-05-30 20:53:01
0

gem5模拟器的内存系统中,有三种不同的访存模式实现,分别有不同的功能与用途,本文对这三种模式做一个对比总结。三种模式的代码位置在gem5\src\mem\protocol\下。

文章目录

  • Atomic VS Timing
    • timing模式的访存过程
    • atomic模式的访存过程
    • atomic模式的作用与适用场景
    • 两种模式与CPU模型的关系
  • Functional
  • 参考

Atomic VS Timing

鉴于它们的用法呢,atomictiming两种模式可以对比说明,functional在后面单独说明。

理解atomic模式与timing模式的要点有两个:

  1. atomic模式下在内存系统中不会调度新的事件timing模式会不断调度新的事件加入事件队列。
  2. atomic模式不会出现排队延迟或者资源争夺;而timing模式则会进行排队延迟和资源争夺的一个详细建模。

从gem5模拟器中的时间线上来看呢:

  • atomic模式是当请求发起,立即就会得到一个return,return的是本次请求的一个估计时间
  • 下面的timing模式,当请求发起后,会在内存系统中进行排队,延迟一段时间后得到响应。
    在这里插入图片描述

问题:atomic模式仅仅估计一个访存时间而不发生事件调度,为什么也能得到程序的正确结果?换句话说就是该模式下访存这个动作到底有没有发生,如果发生了为什么可以瞬间完成,如果没有发生为什么可以得到正确的结果?

要回答这个问题,那么需要理解gem5是一个事件驱动的模拟器,下面通过timing模式的事件调度进行解释:

一个事件包括动作tick两部分,一个事件的调度意思就是在多少tick后发生什么动作。

timing模式的访存过程

观察这里的timing模式,上边的一条是访存链,packet就沿着访存链一步步传递;
下边的是事件队列,每调度一个事件就会插入事件队列,队列里面的事件是按照他们各自的tick严格排序的,gem5中的时间就随着一个个事件在他们约定好的tick发生,而一步步向前推进。

在这里插入图片描述

那么对于一条访存指令,CPU就会将一个请求包沿着访存链往下传递,传递过程中产生一个一个事件,完成访存过程中该完成的动作。

atomic模式的访存过程

观察atomic模式,对于一条访存指令,则可以看做事件队列里面只插入了一个事件,该事件的tick就是现在,当packet沿着访存链传递时,各种需要完成的操作还是会完成,但是不再调度新的事件加入队列

那么当整个访存指令完成,后面却没有新的事件发生,也就是说gem5中的时间没有推进,看上去就好像瞬间完成了访存操作。所以将该模式成为原子访存。

在这里插入图片描述

atomic模式的作用与适用场景

  • 写了一个程序,想要知道运行是否正确,可以使用该模式快速得到结果。后面再使用能得到更详细的结果的CPU模型或者说访存模式;
  • 当本次模拟不关心访存时间,那么可以使用该模式快速得到结果;
  • 用于cache的预热。

两种模式与CPU模型的关系

  • 两种访存模式各自对应一种CPU模型,两种CPU都是单周期CPU,一个周期完成一条指令;
  • 两种模式不能够共存。
    在这里插入图片描述

Functional

functional模式,有以下特点:

  • 官方介绍说他更适合被称做调式模式,这种模式没有对应的CPU模型;
  • 因此是可以与atomic或timing共存于内存系统中的。
  • 与Atomic相同,访存是瞬间发生的
  • 用于加载二进制文件、检查/更改模拟系统中的变量以及允许远程调试器连接到模拟器等

也就是截图中的这个例子,这是python脚本构建完系统后,将一个编译好的二进制文件加载到系统中运行的操作。我理解就是用于gem5模拟系统和主机交互在这里插入图片描述

  • 当设备接收到功能访问时,如果它包含一个数据包队列,则必须搜索所有数据包以查找功能访问正在影响的请求或响应,并且必须适当地更新它们。
    也就是下图中在bridge对象中的recvFunctional(pkt)先后检查响应队列与请求队列中的每个数据包是否需要更新
    在这里插入图片描述
    functional模式目前用的貌似不多,暂时没有更深入的理解。

参考

gem5:Memory system
youtube视频:gem5 bootcamp 2022: CPU models

相关内容

热门资讯

什么项目投资小赚钱快,如何投资...   现在大环境下风险投资越来越难。今天的市场已经不是改革开放时期卖货的时候了。现在人们的觉悟越来越高...
重庆市专升本政策 重庆市专升本...   目前,已有多个省市公布了升本考试的时间点。今天“川爱升本科之家”根据目前的信息做了一个总结,方便...
普通人创业的真实故事,创新创业...   一个客户来我们公司申请营业执照。我们来听听这位企业家的故事吧!            像有些人一...
武汉,武汉青年创业中心 武汉,...   @还真是第一次听说呢:怎么样能够称得上大厂?为什么在996被吐槽的时候,还有更多人去?之前字节调...
绿植盆卧室,稳重的人适合卧室装...   深冬时节,很多植物已经落叶归根,进入休眠期。外面寒冷刺骨。虽然室内的温度会控制的很暖,但是晴天我...
机器印花机,打印机创业 机器印...   现在流行的手机和数码产品市场,有相当一部分用户是年轻时尚的群体。如果他们想更个性化,除了换手机,...
让国通语成为滋养学生心灵的清泉 转自:内蒙古日报□本报记者  宋阿男  通讯员  冯雪  “我坚信花朵开放的时候有声音,它们唱歌、演...
以会为媒 成都精准对接促投引资 转自:成都日报锦观以会为媒 成都精准对接促投引资 活动围绕精准服务外资、外贸企业发展搭建沟通...
天谕手游快速升级,天谕手游帝王...   客观地说,只要说到近年来的MMORPG手游,很多玩家的抵触情绪就会油然而生,就像本能的条件反射一...
养老保险具体内容 养老保险具体...   首先,让我们明确一点。非分红型年金保险只要保额确定,从规定或约定的年龄开始就可以拿到钱,每年能拿...
非深户怎么申请创业补贴,深户人...   在深圳,这些人可以拿到60w的创业补贴!如果你是毕业五年内的大学生,或者深圳户口,那么我建议你看...
适合农村创业的小项目,关于老年...   最近有很多农村的粉丝朋友咨询我,都是关于农村商业项目的。其实现在的农村,有很多小生意能赚够,有的...
conda@tensorflo... 文章目录ref前言查找当前channel可用的tensorflowCPU版本gpu版本英文网站...
田径亚锦赛收官 中国队再添四金 转自:内蒙古日报据新华社首尔5月31日电  (记者  陆睿  孙一然)在韩国龟尾市举行的第26届亚洲...
东湖高新相关公司新增一项234... (转自:快查一企业中标了)快查APP显示,东湖高新相关公司武汉光谷环保科技股份有限公司于2025年5...
小程序的page.json如何... 本文小编为大家详细介绍“小程序的page.json如何配置”,内容详细,...
我区启动青少年阅读行动 转自:内蒙古日报本报5月31日讯  (记者  孙柳)5月30日,由自治区团委、自治区少工委、内蒙古新...
船桨翻飞 龙舟劈浪 转自:成都日报锦观船桨翻飞 龙舟劈浪 “百舟竞渡迎端午”主题活动是四川省近年打造的传统...
尽管俄罗斯心存疑虑 欧佩克+仍...   尽管主要成员国俄罗斯持保留意见,欧佩克 + 仍连续第三个月同意增加石油产量,进一步强化了一项已导...
余承东最新发声:有公司一款车就... 5月31日,在2025未来汽车先行者大会上,华为常务董事余承东表示,当前汽车企业不仅要有制造、销售、...