简介
ALU(Arithmetic Logic Unit)是计算机CPU中的算术逻辑单元,它负责处理计算机中的数学运算和逻辑运算。它可以执行基本的算术运算(加减乘除)和逻辑运算(与或非),并且根据运算结果产生相应的输出。ALU是CPU中最重要的部分之一,负责实现计算机的基本运算功能,
半加器
半加器,只能完成一半功能的加法器,这里说的一半功能就是他不能接收到进位,思考一下两个1位的二进制相加:
- 0 + 0 = 0 进位是0
- 1 + 0 = 1 进位是0
- 0 + 1 = 1 进位是0
- 1 + 1 = 0 进位是1
通过分析得知我们的和相当于异或门(相同为0,不同为1);进位相当于与门(同1为1)

A(输入) | B(输入) | SUM(输出) | Carry(进位) |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 0 | 1 | 0 |
0 | 1 | 1 | 0 |
1 | 1 | 0 | 1 |
Digital仿真电路

全加器
如果一个加法器能接收进位,还能完成加法,那他就是一个全加器,一个全加器由两个半加器组合而成。

A(输入) | B(输入) | C(输入) | SUM(输出) | Carry(进位) |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 0 |
0 | 1 | 0 | 1 | 0 |
1 | 1 | 0 | 0 | 1 |
0 | 0 | 1 | 0 | 1 |
1 | 0 | 1 | 0 | 1 |
0 | 1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 1 |
Digital仿真电路

8位加法器

上述元件中输入用到了分裂器,输出用到了合并器,这是Digital帮我们简化输入和输出的。


并且输入和输出的数据位数都改为了8位,且为了方便查看同时将数据格式改为十进制(Decimal)

使用我们之前搭建的基础电路来完成此加法器时,会出现Bug,由于我们之前很多电路在未导通输出时都是浮空的高阻态,当电路中磁场干扰信号很多时容易产生干扰,因此需要将我们之前的基础电路在输出端接上“下拉电阻”,如下所示:

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 生活中的tree!