計算機體系結構中微指令的格式是什麼?


一個微指令格式總共包含20位。它們被分成四個元素,如圖所示。

F1、F2、F3是微操作欄位。它們確定計算機的微操作。

CD是分支條件。它們選擇狀態位條件。

BR是分支欄位。它確定分支的型別。

AD是地址欄位。它包含長度為7位的地址欄位。

微操作被分成三個欄位,每個欄位三個位。這三個位可以定義七個不同的微操作。總共有21個操作,如表中所示。

微指令欄位的二進位制程式碼及其符號


名稱程式碼符號
F1000無操作NOP
001AC ← AC + DRADD
010AC ← 0CLRAC
011AC ← AC + 1INCAC
100AC ← DRDRTAC
101AR ← DR(0 − 10)DRTAR
110AR ← PCPCTAR
111AC ← AC + DRWRITE
F2000無操作NOP
001AC ← AC + DRSUB
010AC ← AC ∨ DROR
011AC ← AC ∧ DRAND
100DR ← M[AR]READ
101DR ← ACACTDR
110DR ← DR + 1INCDR
111DR(0 − 10) ← PCPCTDR
F3000無操作NOP
001AC ← AC ⊕ DRXOR
010AC ← AC′COM
011AC ← shl ACSHL
100AC ← shr ACSHR
101PC ← PC + 1INCPC
110PC ← ARARTPC
111DR(0 − 10) ← PC保留

如表所示,每個微指令只能有三個微操作,每個欄位一個。如果它使用少於三個,則將導致多個操作使用無操作二進位制程式碼。

條件欄位

條件欄位包含2位。它們被編碼以定義四個狀態位條件。如表中所述,第一個條件總是為1,CD = 0。可以指示此條件的符號是“U”。該表以簡單的方式顯示了多個條件欄位及其摘要。

條件欄位符號和描述


條件符號註釋
00始終 = 1U無條件分支
01DR (15)I間接地址位
10AC (15)SAC的符號位
11AC = 0ZAC中的零值

如表所示,當條件00與BR(分支)欄位連線時,它會導致無條件分支操作。然後從記憶體中讀取執行,間接位I可以從DR的第15位訪問。下一位的狀態由AC符號位支援。如果AC中的所有位都是1,則表示為Z(其二進位制值為1)。符號U、I、SZ可以在編寫微程式時指示狀態位。

分支欄位

BR(分支)欄位包含2位。它可以透過與AD(地址)欄位連線來使用。與AD欄位連線的原因是選擇下一條微指令的地址。該表說明了各種分支欄位及其功能。

分支欄位符號和描述

BR符號註釋
00JMP如果條件 = 1,則CAR ←AD

如果條件 = 0,則CAR←CAR + 1
01CALL如果條件 = 1,則CAR ←AD,SBR ← CAR +1

如果條件 = 0,則CAR←CAR + 1
10RETCAR ←SBR(從子程式返回)
11MAPCAR(2-5) ←DR(11-14), CAR(0,1,6) ←0

如表所示,當BR = 00時,實現JMP操作;當BR = 01時,呼叫子程式。這兩個指令之間的唯一區別是,當儲存微指令時,返回地址儲存在子程式暫存器(SBR)中。

這兩個操作取決於CD欄位的值。當CD欄位的狀態位條件定義為1時,下一個地址被傳輸到CAR。否則,它會遞增。如果指令需要從子程式返回,則其BR欄位確定為10

這導致返回地址從SBR傳輸到CAR。如果BR欄位為11,則指令的opcode位可以與CAR的地址對映。它們存在於從記憶體讀取指令後DR (11 - 14)中。BR欄位中的最後兩個條件不依賴於CDAD欄位的值。

更新於:2021年7月24日

29K+ 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.