单总线结构CPU数据通路

一.整体结构图

在这里插入图片描述

有很多的读写控制指令,需要分阶段来执行指令。

基本指令有LOAD,MOVE,ADD,STORE,JMP等等。

二.基本指令数据通路

(1)取指令数据通路

在这里插入图片描述

分四个阶段进行取指令操作
对于该指令我们需要将指令存入IR中,然后PC指向下一个地址

(1)将PC的值输出,需要给出一个PCout控制信号将其送到总线,然后给出ARin控制信号将其送入AR中,同时一个Xin控制信号将其送入X寄存器中。(注意是在时钟周期到来时将其写入)

(2)选择ALU的+1控制信号将X中存放的地址进行该操作(MIPS为+4),然后输入到Z中(因为Z没有输入控制信号所以直接输入,进入其中进行锁存)。同时主存给出Read信号开始读取地址中的内容。

(3)此时我们需要将更新后的PC值返回PC,所以给出Zout输入信号进入总线,并且有PCin输入信号进行输入操作。将主存中的内容读取到DR中。

(4)我们通过DRout和IRin将DR中的值送入到IR中。当指令取出后再送到指令译码器生成操作控制信号。

(2)LOAD执行指令数据通路

在这里插入图片描述

同样分四个阶段进行执行操作
对于该指令我们需要将IR中的指令取出放入主存中找到对应的值,然后存入R0

(1)我们通过IRout控制信号取出指令进入总线,然后通过ARin控制信号存入AR中。

(2)进行指令再主存中的读取

(3)通过DREin信号将结果输入DR中

(4)通过DRout和R0控制信号,将结果存入R0寄存器中,Load指令操作结束。

(3)MOVE执行指令数据通路

在这里插入图片描述

该操作只有一个阶段
我们将10即IRA中的值传递给寄存器R1

(1)通过IRout控制信号输出到总线,然后通过R1in控制信号输入到R1寄存器中。

(4)ADD执行指令数据通路

在这里插入图片描述

分三个阶段
将寄存器R0和R1中的值相加并返回到R0中

(1)通过R0out信号将R0中的值送入总线,然后通过Xin指令锁存到X寄存器中。

(2)通过R1out控制信号将结果输入到ALU的B端,然后通过ADD控制信号,将X中的值与其相加,求得结果放入暂时寄存器Z中。

(3)通过Zout控制信号和R0in控制信号将结果转移到R0中。

(5)STORE执行指令数据通路

在这里插入图片描述

分三个阶段
将R0的值写入主存,地址为R2的地址

(1)通过R2out和ARin信号将地址存放到AR中

(2)通过R0out和DRin信号将值存放到DR中

(3)通过主存的Write信号和DREout信号将该内容写入主存

(6)JMP执行指令数据通路

在这里插入图片描述

只有一个阶段
将PC跳转到1000的位置

(1)立即数存放再IR中,我们通过IRout和PCin信号将该地址输入到PC中

  • 15
    点赞
  • 101
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

比奇堡咻飞兜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值