計算機體系結構中的算術邏輯移位單元是什麼?


計算機系統使用多個儲存暫存器,這些暫存器連線到一個稱為算術邏輯單元 (ALU) 的公共運算單元。ALU 是 CPU 內部最核心和最重要的單元之一。

計算機的所有邏輯和數值運算都在這裡實現。特定暫存器的內容被安排到 ALU 的輸入端。ALU 執行給定的運算,然後將其傳輸到目標暫存器。

圖中展示了算術邏輯移位單元的一個階段。下標 i 表示一個典型的階段。算術單元和邏輯單元都使用兩個輸入。

使用輸入 S1 和 S0 選擇特定的微操作。輸出端的 4x1 多路複用器在算術輸出和邏輯輸出之間進行選擇。多路複用器中的資料由輸入 S3 和 S2 選擇。

多路複用器有兩個資料輸入,接收用於右移運算的輸入 Ai-1 和用於左移運算的輸入 Ai+1。對於 n 位 ALU,電路應重複 n 次。

給定算術階段的輸出進位 Ci+1 應連線到系列中下一階段的輸入進位 Ci。第一個階段的輸入進位是輸入進位 Cin。它可以支援算術運算的選擇變數。

圖中確定了一個階段的電路。它提供八種算術運算、四種邏輯運算和兩種移位運算。每個運算都由五個變數 S3、S2、S1、S0 選擇。輸入進位 Ci∧Cin 只能用於選擇算術運算。

算術邏輯移位單元功能表

S3S2S1S0Cin操作功能
00000F = A傳輸 A
00001F = A + 1A 加 1
00010F = A + B加法
00011F = A + B + 1帶進位的加法
00100F = A + B’帶借位的減法
00101F = A + B’ + 1減法
00110F = A – 1A 減 1
00111F = A傳輸 A
0100XF = A $\wedge$ B
0101XF = A $\vee$ B
0110XF = A$\oplus$B異或
0111XF = A’A 的補碼
10XXXF = shr A將 A 右移到 F
11XXXF = shl A將 A 左移到 F

此表顯示了 ALU 的 14 個操作。前八個是算術運算,由 S3S2 = 00 選擇。接下來的四個是邏輯運算,由 S3S2 = 01 選擇。最後兩個運算是移位運算,由 S3S2 = 10 和 11 選擇。其他三個選擇輸入不影響移位。

更新於:2021年7月24日

9K+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告