补充英语

ALU通常支持许多基本的算术和位逻辑功能。基本通用ALU通常支持以下操作:

一.算术运算

1、?加法:将操作数A和B相加,并在y处得到它们的和。

2、?带进位的加法:将操作数A、B和进位相加,得到它们在y处的和。

3、?减法:将操作数A和B相减,得到Y处的差值..对于这个功能来说,结转其实是一个“借用”指标。这个运算也可以用来比较A和B的大小;在这种情况下,处理器可能会忽略Y输出,它只对操作产生的状态位(尤其是零和负)感兴趣。

4、?有借有减:借(进位)从A中减去B(反之亦然),差额出现在Y处并被结转(借入)。

5、?二进制补码(取反数):得到A或B的反数(A减0或B减0),在y处得到计算结果。

6、?加1:将A(或B)增加1,在y处得到计算结果。

7、?减去1:将A(或B)减去1,得到y处的计算结果。

8、?通过:保持A(或B)的所有位不变,在Y处得到原输入数;这种操作常用于检查操作数的奇偶性,判断是否为0,判断是否为负,或将操作数直接装入寄存器。

第二,按位逻辑运算

1、?AND: A和B按位AND,计算结果在y处得到。

2、?OR: OR A和B按位,在y处得到计算结果。

3、?XOR:将A和B按位进行XOR,并在y处得到计算结果。

4、?补码:将A(或B)的每一位取反,得到y处的计算结果。

三、移位操作

在不同的操作码下,ALU的移位运算可以将操作数A(或B)左移或右移,移位的结果会出现在y处,简单的ALU通常只能将操作数移位一位,而更复杂的ALU则使用桶形移位器,一次运算可以移位任意位数。

在移位操作中,移出操作数的位被传送到进位输出。移入操作数的位数取决于移位的类型,例如:

1、?算术移位:操作数被视为二进制补码整数,其高有效位是符号位,移位时会保留。

2、?逻辑移位:移位时,操作数补逻辑0,适用于无符号整数。

3、?循环移位:此时操作数被视为循环缓冲区,所以移位时其最低位和最高位相邻。

4、?循环移位(带进位):进位输入(c)和操作数被视为整个操作数的循环移位。

算术逻辑单元(ALU)是一种组合逻辑数字电路,可以对二进制整数执行算术运算或位运算。

扩展数据:

特性

ALU用于执行计算机指令集中的算术和逻辑运算;在某些处理器中,ALU分为两部分,即算术单元(AU)和逻辑单元(LU)。一些处理器包含多个AU,例如,一个用于定点操作,另一个用于浮点操作。在个人计算机中,浮点运算有时由称为数字协处理器的浮点单元来执行。

一般来说,ALU可以直接访问处理器控制器、存储器和输入输出设备。输入和输出是通过总线进行的。输入指令包含一个指令字,有时称为机器指令字,它包括操作码、单个或多个操作数,有时还包括格式码;操作码指示ALU机器要执行什么操作以及在该操作中要执行多少操作数。

例如,两个操作数可以比较或相加。格式码可以和操作码结合起来判断这是定点还是浮点指令;输出包括存储在存储寄存器中的结果和指示操作是否成功的设置。如果操作失败,相应的状态将显示在机器状态字中。

通常,输入操作数、操作数、累加和以及转换结果的存储位置都在ALU中。在算术单元中,乘法和除法运算是通过一系列的加法和减法运算得到的。在机器码中有很多表示负数的方法。

在一个逻辑单元中,一次只能执行16种可能的逻辑运算中的一种。

ALU的设计是处理器设计的关键部分。我们还在研究如何提高指令的处理速度。

参考资料:

百度百科-算术逻辑单元