自己组件一个ALU

  • 基本门电路
  • 半加器
  • 全加器
  • 加法器
  • Conclusion
    ===== ===============================
    基本门电路:
    不知道朋友们还记不记得这些最基本的门电路:
    自己组件一个ALU
    这些门电路对应的功能,如果不清楚的话可以自己百度了解一下,真的属于那种一看就会的那种。

半加器:
如何利用几个基本的门电路实现两位数加法的功能?
答: 一个 AND 门 + XOR 门
自己组件一个ALU
xor门的功能是 “相同为0,不同为 1”,重点体现在
而与门只需要记住“有0全为0”,如果没有0 ,则都为 1 。
在上面的两条规律基础下,那么下面这个举例你就能懂:
自己组件一个ALU
所谓半加器,顾名思义就是只能计算一位的加法,和标记是否产生进位,你可以自己用一些数试试。
我们常见的门电路是只有两个输入一个输出,如果要计算两位数的加法,那么在考虑有进位的情况下,就对应着三位输入,一位输出的情况了,这时我们在2个半加器的基础+ OR门就OK。

全加器

自己组件一个ALU
举例:
自己组件一个ALU
到这,我们就将两位数的加法完成了,而现代计算机一般计算的是 8 bit , 16 bit 等位的计算,那有什么办法能解决呢?

加法器:
即将多个全加器组合起来就能实现相应的位数加法。
如 N bit:
自己组件一个ALU
这里要注意,初始的进位应该设置为0,因为根本无法产生进位信号。
不管你是8位加法,还是16位加法,只要你产生了计算结果的溢出,我就有相应的电信号产生,并将CPU内某个标识寄存器设置为相应的状态。

Conclusion:
我们可不能小瞧最基本的门电路,他可是组成CPU,乃至现代整个电子设备中最重要的一员。
组成了加法器,就可实现减法的操作。那在设计一个乘法器,也就能实现除法的操作。再将 加法器和除法器进行封装就能组成一个 ALU 。