本文主要是介绍CPU中的算术逻辑单元(ALU),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
ALU有2个单元,1个算术单元和1个逻辑单元
算数单元
1 bit加法
半加器
由一个异或门(XOR)和与门(AND)两个逻辑门构成,异或门表示无进位加法(sum),而与门表示进位(carry) 。
全加器
由于存在进位关系,所以从右往左除了第一列不存在进位的加法,之后每一列都存在进位的加法,即从右往左除了第一列只需要处理两个bit,之后的每一列都需要处理三个bit,因此就需要全加器。
全加器由两个半加器构成,由于有三个输入,最大的二进制为两个二进制1相加得10,再与一个进位1相加得到二进制11,故有最多有两个输出,即前一个1为carry,而后一个1为sum。
8 bit加法
由1个半加器,7个全加器构成
如果第9位有进位,代表着2个数字的和太大了超过了8位,这便出现了溢出(overflow)现象。
逻辑单元
检测是否为0的电路(一堆OR门最后加个NOT门)
将ALU抽象成一个V符号
Flag标志
OVERFLOW表示是否溢出
ZERO表示是否为0
NEGATIVE表示是否为负值
即可以表示两个8位二进制相加是否溢出,相减是否得0,以及两个二进制的大小比较。
这篇关于CPU中的算术逻辑单元(ALU)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!