首页 > 编程知识 正文

cpu内部总线的数据通路和控制信号,cpu 单通道

时间:2023-05-05 01:37:25 阅读:277870 作者:1278

目录 一.整体结构图二.基本指令数据通路(1)取指令数据通路(2)LOAD执行指令数据通路(3)MOVE执行指令数据通路(4)ADD执行指令数据通路(5)STORE执行指令数据通路(6)JMP执行指令数据通路

一.整体结构图

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

基本指令有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中

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。