什么是计算机体系结构中的移位微操作?
移位微操作用于数据的串行传输,也支持与算术、逻辑和若干数据处理操作的结合。寄存器的内容可以左移或右移。
同时,在位移位时,第一个触发器保存来自串行输入的二进制数据。在左移操作中,串行输入将一位传输到最右边的位置。在右移操作中,串行输入将一位传输到最左边的位置。串行输入传输的数据决定了移位的类型。
班次微操作的类型
有以下三种类型的移位微操作-
逻辑转移
它通过串行输入传输0。符号“shl”可用于逻辑左移,“shr”可用于逻辑右移。
R1←R1shlR1
R2←R1shrR2
箭头两侧的寄存器符号应相同。
循环移位
这样就可以在两端循环或旋转寄存器的位,而不会造成数据或内容的任何麻烦。在循环移位中,移位寄存器的串行输出与其串行输入相连。"cil"和"cir"分别用于循环左移和右移。表中展示了班次微操作的符号文档。
班次微操作
算术移位
这会将有符号的二进制数向左或向右移动。算术左移将有符号二进制数乘以2,左移将数字除以2。算术移位微操作使符号位保持不变,因为有符号数在乘以或除以2时保持相等。
符号位
算术右移
寄存器中最左边的位影响符号位,其余位影响数字。符号位为0表示正,1表示负。负数采用2的补码形式。该图显示了一个n位的符号寄存器。
最左边的位Rn-1保存符号位。
Rn-2是数字的最高有效位,并且
R0是最低有效位。算术右移使符号位保持不变,并将数字(涉及符号位)向右移动。所以
Rn-1保持相等,
Rn-2从
Rn-1等用于寄存器中的其他位。位在
R0丢失。