上一篇通过设定了框架指令,我们继续设计我们的Y86处理器,上一篇地址: https://www.cnblogs.com/Benjious/p/9749483.html
逻辑设计和硬件控制
对硬件的了解,需要知道计算机处理器是从最开始的晶体管到逻辑门(or,and , 非)到组合电路,这样的思路。
逻辑门
常见组合电路
以下总结和图片来自参考文章。
将许多的逻辑门组合成一个网,形成一个构建计算块,称为组合电路.下面介绍几种常用的组合电路,并且使用HCL进行描述.
1.位级相等测试电路
[HCL描述] bool eq = (a&&b) || (!a&& !b);
2.字级相等测试电路
[HCL描述 ] bool Eq = (A == B);
3.位级多路复用器
[HCL描述] int out = (s && a) || (!s&& b)
4.字级多路复用器
注: HCL的Case语句:对选择表达式顺序求值,选中第一个值为1的Case.
5.四路复用器
6. ALU(CPU的重要组件)
ALU是一个组合电路,输出持续响应输入.上图中(0, 1, 2, 3)是控制信号,对应于Y86的四种算术/逻辑功能
储存器和时钟寄存器
下图的寄存器文件,指的是硬件寄存器,是CPU 里面的那个,它在Y86中的输入输出入下图所示
为什么寄存器中要放有时钟寄存器呢?有什么作用?可以查看这篇文章,
为什么CPU需要时钟才能工作? - 胖君的回答 - 知乎 https://www.zhihu.com/question/21981280/answer/126921197
总的来说就是时钟寄存器让各个部件保持在同一个时间标准,保证输出输入正确。