2 簡單的計算機模型MARIE
匯流排
分類1
- 點對點匯流排
- 多點匯流排
分類2
- 資料線(並行 /序列)
- 控制線(裝置使用匯流排的許可權 /傳輸匯流排請求的應答 /確認中斷和時鐘同步訊號)
- 地址線
- 電源線
主線仲裁機制
對於多個主控裝置的系統,為某些主控裝置設定優先順序別,又保證各個主控裝置都有機會使用匯流排
- 菊花鏈仲裁方式:從最高優先順序到最低(優先順序低的裝置可能被“餓死”,簡單但不公平)
- 集中式並行仲裁方式:仲裁控制器(所有請求都集中在一個仲裁器上,導致瓶頸)
- 採用自選擇的分配式仲裁方式:裝置自己決定
- 採用衝突檢測的分配式仲裁方式:如果多個請求者同時請求資源,系統會進行衝突檢測,以確定哪個請求可以被滿足(常見)
時鐘
控制指令執行速度的內部時鐘
指令的效能通常是透過時鐘週期(時脈頻率的倒數)的數目(而不是秒)來測量的
儲存器
儲存器通常使用符號 L x W(長 x 寬)表示
e.g. 4M x 8 = 222 x 8, (位元組)地址:0 ~ 222-1
單個儲存器模組只能序列訪問(每次只能執行一次儲存器訪問); 交叉儲存器把儲存器分成多個模組,多個模組可以同時訪問。
模組的數量取決於有多少個可定址單元,n個模組 = n路交叉
高位交叉:使用地址的高位選擇模組
低位交叉:使用地址的低位選項模組
MARIE特點
指令執行過程
暫存器與指令集
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完成、使用者中斷、定時器中斷
中斷遮蔽:使用標誌暫存器中的特殊中斷遮蔽位暫停非關鍵中斷(可遮蔽中斷)
不可遮蔽中斷不能暫停