錯誤!Program Counter (PC) 儲存的是「下一條要執行的指令位址」,不是「指令所需資料的位址」。資料位址是由指令解碼後才決定,通常放在 MAR (記憶體位址暫存器)。
B✕
正確。這是指令週期中的 Fetch 階段:控制單元依 PC 提供的位址,從記憶體擷取指令,放入指令暫存器 (IR) 等待解碼。
C✕
正確。這是 Decode + Execute 階段:控制單元將 IR 中的指令解碼,產生控制訊號,驅動 ALU 或其他單元執行操作。
D✕
正確。Pipelining 讓多條指令的 Fetch、Decode、Execute 階段重疊進行,提升 CPU 吞吐量與執行效率,是現代處理器標配技術。
指令週期 (Instruction Cycle) 五階段
階段
動作
關鍵暫存器
Fetch
依 PC 位址到記憶體取指令
PC → MAR → IR
Decode
解析指令內容與運算元
IR → 控制單元
Execute
ALU 執行運算或搬移資料
ALU、通用暫存器
Memory Access
存取記憶體資料
MAR、MDR
Write Back
將結果寫回暫存器
通用暫存器
陷阱提醒
PC(Program Counter)是 CPU 最常被誤解的暫存器:它存的是「下一條要執行的指令位址」,不是「指令要處理的資料位址」。出題者最愛混淆這兩種位址,因為初學者常只記「PC 存位址」就停住了。判斷準則:Fetch 階段是「把 PC 指向的指令抓進來」,不是「把資料抓進來」。如果選項說 PC 存「資料位址」或「運算元位址」,那就是把 PC 跟 MAR(Memory Address Register)的職責搞混了,後者才負責指向當下要存取的記憶體位置(可能是指令,也可能是資料)。