CPI由指令理想的,系统阻塞的,数据冒险,控制单元的阻塞

如果别的指令不需要读当前计算结果

第一个周期,记分牌是空的,功能部件也都是空闲的,度过发射阶段,,在周期结束是更新记分牌

在第二个周期,因为整数部件被占用了,所以第二条LD指令不能发射,同时第一条LD度过读书阶段

指令寄存器只有一个,所以发射阶段因为第二条指令LD不能发射,导致后续的所有指令都被阻塞

顺利渡过写回阶段,阶段结束时清空功能状态,并且解放了寄存器状态(清除 F6 下面的 Integer ),即 F6 已经被写完了,F6 不再是“即将被整数部件写”的状态。

但是记分牌算法还是会因为 WAR 和 WAW 冒险而产生阻塞,且一旦产生阻塞,后续相同类型的指令就没办法继续发射(在乱序执行过程中,记分牌规定每一条配置路线都只能同时存在一条指令),即图中所列的“ Limited waiting space at functional units ”,如果后续相同类型的指令没法发射,那么更后面的也许可以立马执行的指令也会被阻塞到,这对性能有很大的影响。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐