什麼是通用暫存器組織?


一組觸發器構成一個暫存器。暫存器是CPU中獨特的、高速的儲存區域。它們包括實現資料處理的組合電路。在處理之前,資訊始終在暫存器中定義。暫存器加快了程式的執行速度。

暫存器在 CPU 操作中實現兩個重要的功能,如下所示:

  • 它可以為資料提供臨時儲存位置。這支援直接實現程式,以便在需要時快速訪問資料。
  • 它可以儲存 CPU 的狀態和有關直接實現程式的資料。

示例 - 下一個程式指令的地址、來自外部裝置的訊號和錯誤訊息,以及包括不同的資料都儲存在暫存器中。

如果 CPU 包含一些暫存器,則一個公共匯流排可以連線這些暫存器。圖中顯示了七個 CPU 暫存器的通用組織結構。

CPU 匯流排系統由控制單元管理。控制單元透過選擇 ALU 的功能和系統的元件來明確資料流經算術邏輯單元 (ALU)

考慮 R1 ← R2 + R3,以下是在 CPU 內實現的功能:

MUX A 選擇器 (SELA) - 它可以將 R2 放入匯流排 A。

MUX B 選擇器 (SELB) - 它可以將 R3 放入匯流排 B。

ALU 操作選擇器 (OPR) - 它可以選擇算術加法 (ADD)。

解碼器目標選擇器 (SELD) - 它可以將結果傳輸到 R1。

三態門的複用器由匯流排執行。14 個二進位制選擇輸入的狀態決定了控制字。14 位控制字定義了一個微操作。

暫存器選擇欄位的編碼在表中指定。

暫存器選擇欄位的編碼

二進位制程式碼SELASELBSELD
000輸入輸入
001R1R1R1
010R2R2R2
011R3R3R3
100R4R4R4
101R5R5R5
110R6R6R6
111R7R7R7

ALU 實現了一些微操作。表中顯示了 ALU 實現的一些操作。

ALU 操作的編碼

OPR 選擇操作符號
00000傳輸 ATSFA
00001遞增 AINCA
00010加 A + BADD
00101減 A - BSUB
00110遞減 ADECA
01000A 和 B 相加AND
01010A 和 B 或運算OR
01100A 和 B 異或運算XOR
01110A 的補碼COMA
10000右移 ASHRA
11000左移 ASHLA

表中顯示了一些 ALU 微操作。

ALU 微操作

微操作SELASELBSELDOPR控制字
R1 ← R2 – R3R2R3R1SUB01001100100101
R4 ← R4 ∨ R5R4R5R4OR10010110001010
R6 ← R6 + R1-R6R1INCA11000011000001
R7 ← R1R1-R7TSFA00100011100000
輸出 ← R2R2TSFA01000000000000
輸出 ← 輸入輸入-TSFA00000000000000
R4 ← shl R4R4-R4SHLA10000010011000
R5 ← 0R5R5R5XOR10110110101100

更新於: 2023年10月31日

71K+ 次檢視

開啟你的職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.