算术逻辑移位单元(ALSU)是计算机系统中算术逻辑单元(ALU)的成员。它是执行逻辑,算术和移位运算的数字电路。计算机没有部署多个存储寄存器,而是直接连接到称为算术逻辑单元或ALU的通用运算单元,而不是让单个寄存器直接计算微操作。
现在,为了实现微操作,在通用算术逻辑单元的输入中分配了指定寄存器的内容。算术逻辑单元执行的操作将导致结果并转移到目标寄存器。算术逻辑单元可以是组合电路,以便在一个时钟脉冲量内完成从电源寄存器通过ALU到目的寄存器的完整寄存器传输操作。有时,移位微操作是在单独的单元中执行的,但有时它是完整ALU的一部分。
通过添加算术,逻辑和移位电路,我们可以将一个ALU与通用选择变量组合在一起并制成一个。我们可以在下图中看到“算术逻辑移位单元的一级”。通过输入S1和S0选择一些特定的微操作。
输出处的4 x 1多路复用器在Ei之间的相关算术输出与Hi中的逻辑输出之间进行选择。多路复用器中的数据通过输入S3和S2进行选择,另外两个输入到多路复用器的数据获得shr操作的输入Ai – 1和shl操作的输入Ai + 1。
注意:必须将指定算术级的输出进位Ci +1附加到序列中下一级的输入进位Ci。
下图中给出一级电路的电路提供8个算术运算,4个逻辑运算和2个移位运算,每个运算由5个变量S3,S2,S1,S0和Cin选择。
下表显示了算术逻辑单元执行的14个操作:
- 前8个是通过S3 S2 = 00选择的算术运算
- 接下来的4个逻辑运算由S3 S2 = 01选择
- 最后两个是通过S3 S2 = 10&11选择的移位操作