半加器

复习

  1. 第一章:需要一台计算机,在研究其组成的方向上进行努力
  2. 第二章:知道了计算机由输入设备、存储器、运算器和输出设备组成,这个体系目前还在沿用
  3. 第三章:了解了计算机使用二进制(0 和 1)表示所有数据
  4. 第四章:基本逻辑门(与或非三门)是计算机处理二进制信号的基本单元
  5. 第五章:由基础逻辑门(与或非三门)搭建了更复杂的逻辑门:异或门,同或门,多路选择器

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)
0000
0110
1010
1101

  我们可以观察到:

  • 和(Sum)的真值表,和 异或门 相同
  • 进位(Carry)的真值表,和 与门 相同

  画成组合逻辑电路图,大概长这样:

  对,这就是半加器。就这么简单。

思考题

  我们计算 11 + 01 时,从左到右可以拆解成 1 + 0 和 1 + 1,但后者明显有个进位,但我们目前设计的半加器输入只有两个输入。那么问题来了:要是低位本来就有一个进位怎么办?

小结

知识点

  • 半加器的构成:异或门和与门
  • 半加器的功能:计算两个一位二进制数的和
  • 半加器的输出:和(Sum)和进位(Carry)

思考题答案(仅供参考)

  将来自低位的进位也纳入成一个输入,构成 3 输入 2 输出的组合逻辑门。这就是我们下一章将看到的加法器。

参考资料

  1. Wikipedia(zh):半加器:半加器的详细工作原理
  2. Wikipedia(zh):二进制:二进制的基本概念

协议

  本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

封面图

设计师 | 南国微雪