如何使用ALU,RAM,寄存器打造一个CPU 2

解码阶段现在我们拿到了指令, 「前四位是操作码」 对应的是指令表中的load a指令。对应的描述是**「将ram的值放入寄存器a」**
「后四位1110是ram的内存地址」 ,转成十进制就是14.
控制单元指令通过”控制单元“进行 「解码」 。解码的作用就是判断这个操作码对应的操作是什么(通过少量的逻辑门即可判断)
针对不同的操作码有对应的指令判断电路从而执行不同的操作。例如下面这个就是检查操作码是不是loada(0010)指令。
执行阶段指令寄存器拿到数据data后通过控制单元进行解码,现在我们知道了这个是loada指令,就可以进行执行阶段了
「打开ram允许读取线」 :我们将检查loada指令的电路连接到ram的read enbale中( 「如果loada输输出为1那么readn enanle也是1因此就会打开ram的允许读取线」 ),「并把地址14传入过去。」「读取ram 对应地址的值」 :ram拿到地址14上的值,0000 0001也就是十进制的三「ram data线连接所有的寄存器」 :load_a指令代表这个值存储在a寄存器中并不影响其他寄存器。因此需要将ram读出来的值给到寄存器,所以**「ram的data数据线需要将所有的寄存器都连接起来(data线既可以用来做输入又可以用来做输出使用)。」**「打开指定寄存器的允许输入线」 :用检查“是否为loada指令的电路” 「打开寄存器a的允许写入线」 (因为是loada指令,所以需要将a寄存器的允许写入打开),这样就将ram中地址为14的值输出保存到了寄存器a中。
「取下一条指令指令地址寄存器+1」 :执行阶段结束。开始下一个取指令阶段(读取0001的ram地址到指令寄存器中,然后在解码执行........之后一直重复这个过程)抽象--控制单元上面解释的只是一个loada指令,「不同的指令由不同的逻辑电路解码,这些逻辑电路会配置cpu内的组件来执行对应操作。这些逻辑电路太复杂我们可以把整个逻辑电路封装为上面所说的控制单元。」
小结也就是下图中的线路。可以看到控制单元 「链接了所有的寄存器」 (用于存放和读取数字),和ram链接的是 「允许读取和允许输入线」 (read enable write enable),还有一条线是**「address input」** ,这条线是用来告知使用的是16个地址空间中的哪个地址(比如之前的14)
上面解释了指令表中的loada指令,loadb指令和loada原理一致,包括storeb也是只不过是相反过来 「打开寄存器的允许读取和ram的允许写入传入地址最后将寄存器的值通过data线给到ram对应地址」 。但是add指令有些不同,我们看下这个操作码是如何做处理的。
参考资料[1]https://juejin.cn/post/7134166674160222221/:https://juejin.cn/post/7134166674160222221/

GDT放电管与MOV压敏电阻电路连接方式的作用
新颖、快速、高精度变压器直流电阻测试仪的研制与探讨
基于单片机的智能泊车系统设计方案
诺基亚在芬兰89%销售额的主要网络业务的营业利润率
找方案 | Semtech SX1262EVK测试软体补完计划
如何使用ALU,RAM,寄存器打造一个CPU 2
元宇宙是怎么诞生的
八大预测:未来两年人工智能要怎么走
嵌入式主板EMB-3870介绍
华为官宣,上市交付!
小到一个分子!研究人员开发一种微小的压电电阻器
以技术立标杆,诺安智能获评“2023年度新一批国家知识产权优势企业”
智能温湿度控制器的使用教程及注意事项
TWS耳机的性能测试中弹片微针模组有着出色的表现
RS485转PROFINET网关链接SJ700-2日立变频器与PLC的配置案例
大学毕业设计一席谈v2之十六 锁相环(12) 代码分析加经验总结
MACOM发布业内第一块用于400G及以上的64 Gbaud线性调制器驱动器
最新的Windows10对锐龙3000处理器进行优化 游戏性能可提升最多15%
金融卡/电子货币,什么是金融卡/电子货币
东芝新型IC芯片再创佳绩,可大幅提升可穿戴设备与物联网设备续航能力