MPKI ROB Learning

MPKI:

读论文的时候碰到:High MPKI (greater than 20 misses per 1000 instructions) and Low MPKI (less than 10 misses per 1000 instructions),记录如下:

MPKI即每一千条指令中错误预测数,MPKI已经成为现代衡量分支预测的指标,引入这个指标主要因为预测准确率已经非常高,用传统的准确率衡量差异已经很小,所以引入了新的衡量指标。此外引入MPKI的另一个好处就是可以比较直观的估计出由于分支预测错误导致的CPU cycle开销。
链接:https://www.zhihu.com/question/486239354/answer/2129757853

ROB:

乱序执行、顺序提交

在推测型动态调度乱序处理器中,重排序缓冲区(Reorder Buffer, ROB)在保证指令按顺序提交方面起着重要作用,ROB的核心思想是记录下指令在程序中的顺序,一条指令在执行完毕之后不会立马提交(这里的提交指的是修改处理器状态,如修改逻辑寄存器堆),而是先在Buffer中等待,等到前面的所有指令都提交完毕,才可以提交结果到逻辑寄存器堆。

链接:https://zhuanlan.zhihu.com/p/501631371

想象一个FIFO队列,指令在发射的时候进队,然后在提交的时候出队,通过这么一个FIFO逻辑就可以实现指令的按序提交。

下图显示了ROB所包含的信息,PPT里还解读了ROB这么做的优点。ROB中包含Busy位,指示某一行是否正保存有指令;State位用来指示保存的指令当前的运行情况,ROB就是通过State的信息来判断某条指令是否可以提交,当最老的指令还没到提交阶段时,ROB中的所有指令都要等待,不能提交;Destination指示指令的目的寄存器;Value保存指令的结果,当指令可以提交,就直接提交Value到逻辑寄存器。

通过ROB可以实现顺序提交和精确中断。同时,ROB的结构对分支预测也十分友好,因为分支预测有可能失败,所以处理器有处理错误预测的需求,而ROB的存在为此提供了两点便利:一是方便清除错误的指令,因为ROB保证了指令的顺序,所以只需要在分支指令提交的时候检查分支结果,如果分支错误,就清除掉ROB现存的所有指令;二是方便恢复处理器状态,ROB通过各个表项实现了寄存器重命名,ROB实际上在用表项充当物理寄存器,而指令修改ROB物理寄存器不修改逻辑寄存器的做法便于在分支预测失败时恢复处理器状态(因为分支指令之后的所有指令都没有提交,没有修改逻辑寄存器)。

  • 在使用ROB的Tomasulo中,指令能否发射主要观察两点——保留站是否有空闲ROB是否有空闲,如果都有空闲,就可以发射,发射之后指令会分别占据保留站、ROB一个表项,并用ROB的编号标记寄存器结果状态表;论文是这样说的——(i) a free entry available in ROB (ii) a free reservation station entry in the functional unit where the operation is to be executed.
  • 一旦指令的数据准备完毕,就开始执行,执行可能需要很多个周期,此时别的类似指令就要在保留站中等待,值得注意的是,在上面的案例中指令在执行时并不会清除保留站,而实际上此时可以清除保留站了,这样做的优点会在第四节说明;
  • 指令执行完毕后就可以写回,数据会被写回到ROB,但是暂时还不会更新逻辑寄存器堆,同时数据会由CDB广播出去;
  • 当一条指令成为ROB中最老的指令时,即ROB的头指针指向该指令时,该指令就可以提交,提交周期结束时逻辑寄存器会被更新,ROB的对应Busy位会被置为无效,头指针会指向下一条指令。

重排序缓存(ROB)通过一个类似FIFO的结构让Tomasulo算法实现了指令的顺序提交,为程序员调试程序、处理器处理中断异常提供了便利,同时让分支预测的处理变得更简单。ROB可以被用作寄存器重命名中的物理寄存器,借助ROB,Tomasulo中的保留站(在此之前保留站被当作物理寄存器)得以被解放,处理器的发射效率进一步提高,但是ROB也增加了处理器的资源消耗和布线压力。总的来说,在需要精确中断和分支预测的现代处理器中,ROB是一个基石性质的概念,每一个高性能处理器核都要有ROB。

MSHR:

MSHR是(Miss-status Handling Registers)一个计算机体系结构用语,用来记录每一项未完成的事务,记录的信息包括失效地址、关键字信息以及重命名寄存器信息。
  一旦存储控制器返回失效访存所需要的数据,这些信息就用于重新执行。MSHR还用于合并对同一行的多个请求,防止将同一个请求发送多次。

当发生Cache Miss时:

        首先搜索MSHR看是否有相同的Block也是处于缺失状态:

        如果找到了,分配一个Load/Store直接装入,一起解决历史和此次缺失(请求合并,向下一级缓存请求数据);

        如果未找到,且MSHR尚有余位,分配一个位置;

        如果未找到,且没有余位,发生资源冲突。

对于MSHR本身:

类似一个Miss缓冲数组,依次向下一级请求数据,得到返回数据后,首先查看哪些L/S在等待,数据前推,然后删除相应的MSHR记录。

同时将子块写入Cache或MSHR,如果是最后一块,在写入Cache后释放其在MSHR中的分配位
原文链接:https://blog.csdn.net/Sensente/article/details/117154415

学习记录帖!

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Rob Groves 是一位英国足球运动员和专业球队的主教练。他在英超俱乐部教练过多年,对足球战术和训练方法有着丰富的经验。 Rob Groves 从小就对足球充满热爱,他很早就开始参加校内和校间的足球比赛。他的天赋和努力使他成为一名顶尖的中锋并且得到了许多职业球队的关注。 随着他的职业生涯的发展,Rob Groves 选择了踏入教练的领域。他认为,能够传授自己的经验和知识给年轻球员是一种非常有意义和有益的事情。他希望通过自己的指导和教育,能够帮助年轻球员实现他们的梦想,并成为优秀的足球运动员。 作为一名主教练,Rob Groves 对战术训练非常注重。他相信,良好的战术意识和训练能力是球员成功的关键。他会根据球员的特点和球队的实际情况,制定出最适合的战术策略和训练计划。他始终鼓励球员们保持专注、团结和奋斗的精神,以取得最好的成绩。 Rob Groves 对足球的热忱和敬业精神使他受到了球员们的尊重和信任。他是一位很好的领导者和榜样,通过自己的实际行动和言行,鼓励球员们不断努力进步。他的教练才能和人格魅力使他在足球界广受赞誉。 总之,Rob Groves 是一位充满激情和经验丰富的足球教练。他通过自己的教导和引导,帮助年轻球员实现他们的足球梦想,并为足球界的发展做出了重要的贡献。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值