逻辑电路补充——CPU


逻辑电路中控制模块一直学得不明不白,所以来补充以下。以函数分块

1、初始所有寄存器值为0

2、指令地址寄存器的数据线连接到RAM的地址线,RAM的数据线连接到指令寄存器的数据线,通电后实现读取指令。

3、判断当前操作码的逻辑电路,可以实现

if LOAD指令

指令寄存器后半位连接到RAM地址寄存器,RAM数据连接到LOAD通用寄存器,然后记得打开读开关。

指令完成,关闭线路(这个怎么实现?)

指令地址寄存器+1(这个应该是需要时钟周期了)

if STORE指令

读取RAM对应地址,把对应寄存器的数据连接到RAM的数据,完成。

if ADD指令

此时后面两位代表寄存器,所以还是有一个判断操作码的逻辑电路,激活对应寄存器。

寄存器将自己的数据通过线传入ALU,以及状态码,然后ALU端输出数据,输出到控制单元的一个暂存寄存器中

关闭ALU电路,将暂存寄存器的数据传递到第二个激活的通用寄存器中。(如果不关闭会导致循环,ALU不断相加就很难受)

(怎么关闭电路呢?)