概述
我们知道CPU中含有运算器和控制器,其中运算器中的算术逻辑单元(ALU)非常重要,它让计算机可以实现加、减、乘、除的四则运算和与、或、非、异或等逻辑运算。
全加器抽象模型:
为了更好的体会计算机的运算本质,我们就来用一些门电路来做一个比较简单的8位并行加法器吧。其中加法器是用全加器(FA)来制作的。如下图,我们来看看全加器的抽象模型来快速了解一下。
从图中可以看到全加器的抽象模型还是很简单的,有三个输入端,分别A1、B1和C0,还有两个输出端,分别S1和C1。我制作的这个加法器由于是8位并行的,所以需要用到8个这样的全加器。
全加器的逻辑实现:
知道了全加器的抽象模型,接下来我们就需要用真正的逻辑门电路去构造这个全加器了,其实也不难,只需要用到两个与门(AND)、两个异或门(XOR)和一个或门(OR)就可以了。如下图所示:
接下来我们只要用8个这样的全加器,把当前全加器中的高位进位与下一级全加器的低位进位依次串接起来,就可以制作出一个8位的并行加法器了,这里的并行指的是每一个全加器都可以运算一位,8个全加器就可以并行运算8位,可以实现两个8位数的求和运算。
最终电路图:
最后我们来看看最终的电路图:
电路分析:
可以看到电路图包含了:
8个这样的全加器、两组8位的开关输入、8位的LED输出显示。通过8位开关输入,我们就可以手动输入加数,在图中上面的那组是输入加数A,下面那组是输入加数B。通过观察LED的输出显示就可以知道结果是否为正确。
举例验证:
为了验证这个加法器是否设计正确,我们来举个例子:
假设要计算十进制的1+1。我们知道1的8位二进制表示为0000 0001,所以要计算十进制1+1,就是计算二进制的0000 0001 + 0000 0001,结果为0000 0010,即十进制的2。
我们可以先手动输入这两个二进制的数0000 0001,在电路图中用高电平(接电源)表示1,低电平(接地)表示0,把开关依次打到高电平或者低电平就可以完成输入。最终观察上图,可以看到8位LED中从右到左第2个LED点亮了,表示二进制数0000 0010,即结果是正确的,也说明这个加法器是没问题的。
最后提醒一下:
最后提醒一下,电路图中的第一位全加器的低位进位默认是没有进位的,所以我直接连了低电平(接地)。
最后
以上就是繁荣钥匙为你收集整理的CPU基础---设计一个8位的并行加法器全加器抽象模型:全加器的逻辑实现:最终电路图:电路分析:举例验证:最后提醒一下:的全部内容,希望文章能够帮你解决CPU基础---设计一个8位的并行加法器全加器抽象模型:全加器的逻辑实现:最终电路图:电路分析:举例验证:最后提醒一下:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复