ALU(Arithmetic and Logic Unit)原理————CPU的"大脑"


运算部分

半加器:执行一位数二进制的加法运算,SUM端输出个位数结果,CARRY位输出进位结果。

全加器:支持三个个位数的加法运算

 加法器:一个半加器和n-1个全加器组成了n位二进制的加法器

 这种加法器有一个弊端:每次等进位才能进行下一步运算可能会导致延迟很长,所以现代计算机一般使用的是超前进位加法器(提前算好进位同时相加),相当于是计算效率的优化,但是原理并没有改变。

加法器同样可以执行减法:具体方法是通过反码和补码。

加法器可以进行乘法,原理是把乘法转换成加法。一般比较低级的CPU会采用这种方式。

对于手机、PC等高级终端,其芯片会内置乘法模块。乘法器需要用到更多的逻辑门,但是处理效率会快,相当于用空间去换时间了。

逻辑部分

负责执行逻辑运算:或与非。判断一个数是不是负数。

下面这个逻辑电路可以用来判断当前输入是否全为0,是为0(True),不是为1(False)。(也可以最后加一个非门来扭转定义,看你心情喽)

 

整体部分

输入:两个个n位二进制数、操作码(提供执行加法/减法等信息)

输出:一个n位二进制数(运算结果)、Flags状态码(比如逻辑部分的判0状态,判断正负状态等)