2 簡單的計算機模型MARIE

wajiez發表於2024-09-18

2 簡單的計算機模型MARIE

匯流排

分類1

  • 點對點匯流排
  • 多點匯流排

分類2

  • 資料線(並行 /序列)
  • 控制線(裝置使用匯流排的許可權 /傳輸匯流排請求的應答 /確認中斷和時鐘同步訊號)
  • 地址線
  • 電源線

主線仲裁機制

對於多個主控裝置的系統,為某些主控裝置設定優先順序別,又保證各個主控裝置都有機會使用匯流排

  1. 菊花鏈仲裁方式:從最高優先順序到最低(優先順序低的裝置可能被“餓死”,簡單但不公平)
  2. 集中式並行仲裁方式:仲裁控制器(所有請求都集中在一個仲裁器上,導致瓶頸)
  3. 採用自選擇的分配式仲裁方式:裝置自己決定
  4. 採用衝突檢測的分配式仲裁方式:如果多個請求者同時請求資源,系統會進行衝突檢測,以確定哪個請求可以被滿足(常見)

時鐘

控制指令執行速度的內部時鐘

指令的效能通常是透過時鐘週期(時脈頻率的倒數)的數目(而不是秒)來測量的

儲存器

儲存器通常使用符號 L x W(長 x 寬)表示

e.g. 4M x 8 = 222 x 8, (位元組)地址:0 ~ 222-1

​ 單個儲存器模組只能序列訪問(每次只能執行一次儲存器訪問); 交叉儲存器把儲存器分成多個模組,多個模組可以同時訪問。

​ 模組的數量取決於有多少個可定址單元,n個模組 = n路交叉

高位交叉:使用地址的高位選擇模組

2

低位交叉:使用地址的低位選項模組

IMG_20240918_174223

MARIE特點

E2467C4B50AD26942FF9F4E3E875811B

指令執行過程

577FB0DEE6B663F8B7447B5014CADA89

暫存器與指令集

Load X:將地址位X的儲存單元中的內容裝入AC

MAR <- X
MBR <- M[MAR]
AC <- MBR

Store X:將AC中的內容儲存到地址X的儲存單元中

MAR <- X, MBR <- AC
M[MAR] <- MBR

Add X:將地址X中的內容和AC中的內容相加,將結果存到AC中

MAR <- X
MAR <- M[MAR]
AC <- AC + MBR

Subt X:從AC中減去地址X中的內容,將結果存到AC中

MAR <- X
MAR <- M[MAR]
AC <- AC - MBR

Input

AC <- InREG

Output

OutREG <- AC

Halt:停止程式的執行

Skipcond:有條件地跳過下一條指令

If IR[11-10] = 00 then
    If AC < 0 then PC <- PC + 1
else If IR[11-10] = 01 then
    If AC = 0 then PC <- PC + 1
else If IR[11-10] = 10 then
    If AC > 0 then PC <- PC + 1

Jump X:無條件轉向給定地址X

PC <- X

中斷

  • 硬體中斷
  • 軟體中斷(陷阱 /異常)

中斷產生原因:

​ 程式錯誤、硬體錯誤、I/O完成、使用者中斷、定時器中斷

IMG_20240918_191329

中斷遮蔽:使用標誌暫存器中的特殊中斷遮蔽位暫停非關鍵中斷(可遮蔽中斷)

不可遮蔽中斷不能暫停

相關文章