計算機體系結構中的移位微操作是什麼?


移位微操作用於資料的序列傳輸,並與算術、邏輯和幾種資料處理操作結合使用。暫存器的內容可以向左或向右移位。

同時,位移位時,第一個觸發器保持來自序列輸入的二進位制資料。在左移操作中,序列輸入將一位傳輸到最右端位置。在右移操作中,序列輸入將一位傳輸到最左端位置。由序列輸入傳輸的資料決定移位的型別。

移位微操作的型別

移位微操作共有三種類型:

邏輯移位

它透過序列輸入傳輸 0。符號 **"shl"** 可用於邏輯左移,**"shr"** 可用於邏輯右移。

R1 ←R1 shl R1

R2 ←R1 shr R2

暫存器符號應與箭頭兩側的符號等效。

迴圈移位

這會將暫存器的位在兩端迴圈或旋轉,而不會出現資料或內容的問題。在迴圈移位中,移位暫存器的序列輸出連線到其序列輸入。**"cil"** 和 **"cir"** 分別用於迴圈左移和右移。移位微操作的符號表示在表中顯示。

移位微操作

符號表示描述
R ←R1 shl R左移暫存器 R
R ←R1 shr R右移暫存器 R
R ←R1 cil R迴圈左移暫存器 R
R ←R1 cir R迴圈右移暫存器 R
R ←R1 ashl R算術左移 R
R ←R1 ashr R算術右移 R

算術移位

這會將帶符號二進位制數向左或向右移動。算術左移將帶符號二進位制數乘以 2,而左移則將該數除以 2。由於帶符號數在乘以或除以 2 時保持相等,因此算術移位微操作使符號位保持不變。

Rn-1Rn-2RR1R0

符號位

算術右移

暫存器中最左邊的位影響符號位,其餘位影響數字。正數的符號位為 0,負數的符號位為 1。負數採用二進位制補碼形式。該圖顯示了一個 n 位的符號暫存器。

最左端位置的位 Rn-1 保持符號位。

Rn-2 是數字的最高有效位,並且

R0 是最低有效位。算術右移使符號位保持不變,並將數字(包括符號位)向右移動。因此

Rn-1 保持不變,

Rn-2 接收到來自

Rn-1 的位,以此類推,直至暫存器中的其他位。中的位

R0 將丟失。

更新於:2021年7月24日

11K+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告