半加器
复习
- 第一章:需要一台计算机,在研究其组成的方向上进行努力
- 第二章:知道了计算机由输入设备、存储器、运算器和输出设备组成,这个体系目前还在沿用
- 第三章:了解了计算机使用二进制(0 和 1)表示所有数据
- 第四章:基本逻辑门(与或非三门)是计算机处理二进制信号的基本单元
- 第五章:由基础逻辑门(与或非三门)搭建了更复杂的逻辑门:异或门,同或门,多路选择器
TL;DR
- 半加器用于计算两个一位二进制数的和
- 由异或门(计算和)和与门(计算进位)组成
正文
光说不练假把式。计算机体系结构的输入设备、存储器、运算器和输出设备,其中的输入和输出,因为逻辑门自带输入和输出,就先用着吧。剩下存储器和运算器,我们先来解决计算机的核心:运算器。我们先做即时运算,存储器之后再考虑。计算机不能计算就是残废,先把核心功能设计出来再说。
运算器,先从最简单的加法运算开始,就像我们小学时候学运算一样。十进制满 10 进 1,那么二进制满 2 进 1。
- 0011(3) + 0001(1) = 0100(4)
0 0 1 1 (3)
+ 0 0 0 1 (1)
-------------
0 1 0 0 (4)
看来十进制的加法规则,能直接套用到二进制上。既然这样,来看看最简单的 1 位加法的二进制加法的规则:
加数 A | 加数 B | 和(Sum) | 进位(Carry) |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
我们可以观察到:
- 和(Sum)的真值表,和 异或门 相同
- 进位(Carry)的真值表,和 与门 相同
画成组合逻辑电路图,大概长这样:
对,这就是半加器。就这么简单。
思考题
我们计算 11 + 01 时,从左到右可以拆解成 1 + 0 和 1 + 1,但后者明显有个进位,但我们目前设计的半加器输入只有两个输入。那么问题来了:要是低位本来就有一个进位怎么办?
小结
知识点
- 半加器的构成:异或门和与门
- 半加器的功能:计算两个一位二进制数的和
- 半加器的输出:和(Sum)和进位(Carry)
思考题答案(仅供参考)
将来自低位的进位也纳入成一个输入,构成 3 输入 2 输出的组合逻辑门。这就是我们下一章将看到的加法器。
参考资料
- Wikipedia(zh):半加器:半加器的详细工作原理
- Wikipedia(zh):二进制:二进制的基本概念
协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
封面图
设计师 | 南国微雪