第 4 章
微處理器架構基本概念
你現在正在上這一章。 這是期中前最關鍵的一章:搞懂 von Neumann 模型和指令週期,後面的指令集才會有意義。
- von Neumann 模型
- MAR / MDR
- 指令週期
- LC-3 資料路徑
概念 01
von Neumann 模型:五個部門
白話講
把電腦想成一間公司:
記憶體 (Memory)=檔案室,資料和指令都放這裡。
處理單元 (Processing Unit)=計算部門(ALU + 暫存器)。
控制單元 (Control Unit)=主管,決定下一步做什麼(含 PC 和 IR)。
輸入 / 輸出 (Input/Output)=收發室,鍵盤和螢幕。
關鍵洞見:程式和資料放在同一個檔案室。這就是 von Neumann 的核心——所以程式可以被當成資料來處理(這也是編譯器和病毒的原理)。
MAR(Memory Address Register)=「我要第幾號櫃子」
MDR(Memory Data Register) =「櫃子裡拿出來/要放進去的東西」
在說什麼存取記憶體一定要經過這兩個暫存器。讀:把位址放進 MAR → 記憶體把資料放進 MDR。寫:位址放 MAR、資料放 MDR → 下寫入訊號。
PC 和 IR 不要搞混:
PC(程式計數器)=下一條指令的地址(書籤夾在第幾頁)。
IR(指令暫存器)=正在執行的那條指令本身(正在讀的那一句)。
概念 02
指令週期:永遠在跑的六步迴圈
白話講
CPU 從開機到關機,就一直在跑這個迴圈,沒有一秒停過:
① FETCH 取指令(照 PC 去拿)→ ② DECODE 解碼(看是什麼指令)→ ③ EVALUATE ADDRESS 算位址 → ④ FETCH OPERANDS 拿運算元 → ⑤ EXECUTE 執行 → ⑥ STORE RESULT 存結果 → 回到 ①
FETCH 的三個動作 MAR ← PC PC ← PC + 1 IR ← MDR
在說什麼PC 在取指令階段就先加 1 了,不是執行完才加。這樣跳躍指令才能直接改寫 PC。這是考題的經典陷阱。
不是每條指令都跑滿六步。ADD 不需要算位址,JMP 不需要存結果。
考卷上會這樣寫
Describe the actions taken during the FETCH phase of the instruction cycle.
三個動作照順序寫:MAR ← PC;PC ← PC+1;MDR ← M[MAR];IR ← MDR。PC 遞增發生在這個階段要講出來。