算术逻辑单元(How Computes Calculate——The ALU)
一.前言
前面文章学习了逻辑门,那么一个个逻辑门是如果组合进行运算的呢?我们首先来了解计算机的运算基础单元——ALU,ALU就是一个个逻辑门组成的运算单元。
下图为第一个在单个芯片内的完整ALU,他是1970年发布的,这个芯片可以说是当时科技领域惊人的壮举,但是通过这一章的学习,我们来简做一个简单ALU电路,功能和因特尔74181一样。
二.“算术逻辑单元”(ALU)
如果想让两个数字完成相加运算,我们就要用“算术逻辑单元”(ALU)来处理,ALU就是计算机负责计算的组件,基本其他的组件也会用到它。
ALU有1个“算术单元”和一个“逻辑单元”组成
1.“算术单元”实现一个行波进位加法器
下面就通过一个例子来实现:ALU实现两个数字相加。
我们可以用一个个晶体管去拼,把这个电路做出来,但很快就会复杂的难以理解,所以我们为了便于理解,用更高层的抽象,之前学到的逻辑门来做,我们会用到AND,OR,NOT和XOR逻辑门
1.“半加器”
我们用二进制计算时会有四种情况(要理解下面的知识,你必须要先搞懂二进制)
1.0+0=0
2.1+0=1
3.0+1=1
4.1+1=10
我们会发现前三种情况输出和我们前面讲到的异或门XOR完全一致
至于1+1=10这种情况,我们也可以用小学数学学加法的一种思想:满十近一,只不过在二进制里,最大的个位