三位加法器实现原理详解
近日在读集智俱乐部里面的大牛们写的一本《科学的极致:漫谈人工智能》。看到了简单的数学计算计算机是如何实现的。一切的一切都起于逻辑门,本是本科已经学过的东西,现在早已经忘得一干二净。算是重新学习吧!看到这些基本原理,很感慨前人的智慧,太美了!太值得欣赏了!
和大家分享一个三位加法器的实现原理。感受物质最本质的美!
计算机的计算功能是通过最基本的门电路组合最终形成的。三位加法器首先是实现一个半加器,然后通过半加器实现全加器,最后通过三个全加器来实现三位加法器。
半加器
X,Y表示输入的两个数(只能取0/1);S表示和(通过异或门实现);C表示进位(通过与门实现)。下表是半加器的输入和输出:
X | Y | S(和) | C(进位) |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
全加器
A, B表示输入的两个数(只能取0/1);S表示和(通过异或门实现);C0表示进位(通过与门实现)。下表是全加器的输入和输出:
A | B | 进位输入 | 加和输出 | 进位输出 |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 0 |
1 | 0 | 0 | 1 | 0 |
1 | 1 | 0 | 0 | 1 |
0 | 0 | 1 | 1 | 0 |
0 | 1 | 1 | 0 | 0 |
1 | 0 | 1 | 0 | 0 |
1 | 1 | 1 | 1 | 1 |
三位加法器
(自觉画不出这样的图,网上也没有找到匹配的,遂截取书本上的图,多多包涵。)
通过三个全加器的组合,实现任意三位的二进制数加法运算。
(想实现多少位的二进制加法,就组合多少个全加器,就可以实现,从而可以实现各种运算。神奇不神奇?太强大了!)
("The man who has made up his mind to win will never say impossible.
FIGHTING…")