动手写CPU----day4数据相关和ori指令优化

本文深入探讨CPU中的数据相关问题,特别是ori指令优化,包括RAW、WAR、WAW和RAR四种类型的分析。针对相邻及间隔指令的情况,提出了解决RAW相关的方法,确保数据能在正确时刻被后续指令读取。通过仿真验证,优化方案有效。
摘要由CSDN通过智能技术生成


一、数据相关

1.定义

从名称其实就可以看出来其定义,就是指令在运行的时候前后的数据出现了相关联,或者说出现了后一条指令依赖于前一条指令的运算结果

2.分类

这里先给出设定:
指令1:inst1
指令2:inst2
指令3:inst3
指令4:inst4
指令5:inst5

  • RAW:inst2需要读取inst1的数据
  • WAR:inst2提前写了inst1需要读取的数据
  • WAW:inst2提前写了inst1需要写入的数据
  • RAR:inst2提前读取inst1的数据(本质是RAW)

3.ori指令存在的数据相关

显然不存在WAW,WAR,因为我们设计的时候写入一定是在读取寄存器之后的,是不会出现这种情况的。
所以我们要改进的是RAW,也就是我们要想办法使得数据在写入前就可以被后续的指令正确读取,那么这里后续指令又可以追溯到后续的多条指令,我们进行分来

  • 相邻指令
  • 间隔一条指令
  • 间隔两条指令
  • 间隔三条指令
    在这里插入图片描述
    其实可以看到间隔三条指令的时候,inst5的译码已经可以取得inst1写入的数据了所以间隔三条或者以上数据不会存在数据相关的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值