歡迎來到電腦的大腦!
你好!今天,我們要拆開電腦的塑膠與金屬外殼,一探電腦最核心的部分:中央處理器 (CPU, Central Processing Unit)。你可以把 CPU 想像成系統的大腦。沒有它,電腦就無法思考、運算或執行任何指令。
如果剛開始覺得這些概念有點技術性,別擔心!我們會透過「廚房」和「郵局」等簡單的例子來解釋,讓你輕鬆搞懂!
1.1.1 CPU 的架構
CPU 的用途是什麼?
CPU 的主要工作是處理數據和執行指令。它透過不斷循環的三個步驟來完成任務。
你知道嗎?現代的 CPU 每秒鐘可以進行數十億次的循環!
提取-執行循環 (Fetch-Execute Cycle)
為了完成工作,CPU 會遵循提取-解碼-執行循環 (Fetch-Decode-Execute Cycle)。試想一位在廚房裡的廚師:
1. 提取 (Fetch): CPU 從主記憶體 (RAM) 中獲取 (提取) 一條指令。
比喻:廚師走到儲藏室拿出一份食譜。
2. 解碼 (Decode): 控制單元 (Control Unit) 解析該指令的實際含義。
比喻:廚師閱讀食譜,理解需要烹飪什麼料理。
3. 執行 (Execute): CPU 執行該指令。這可能是一項數學運算或移動數據的動作。
比喻:廚師動手切菜並烹煮食物。
重點總結:
提取-執行循環就是一個持續進行的過程:取得指令、理解它,然後將其完成。
常見的 CPU 組件
CPU 並非一整塊單一零件;它是由多個各司其職的組件共同運作組成的。
1. 控制單元 (Control Unit, CU)
CU 就像 CPU 的經理。其主要職責包括:
• 控制 CPU 內部以及 CPU 與其他裝置之間的數據流動。
• 管理提取-解碼-執行循環。
2. 算術邏輯單元 (Arithmetic Logic Unit, ALU)
ALU 就是計算機。它負責處理兩件事:
• 算術 (Arithmetic): 加、減、乘、除運算。
• 邏輯 (Logic): 進行比較 (例如:5 大於 3 嗎?) 並使用邏輯閘 (如 AND、OR、NOT)。
3. 快取記憶體 (Cache)
快取 (Cache) 是一種內建在 CPU 中、速度極快的記憶體。
• 它儲存經常使用的數據,讓 CPU 不必等待速度較慢的 RAM。
• 比喻:如果 RAM 是房間另一端的書架,Cache 就是你手裡正拿著的那本書。閱讀手上的書絕對快得多!
4. 暫存器 (Registers)
暫存器是 CPU 內部極小且超高速的儲存空間。它們保存著 CPU 當下所需要的特定資訊。我們稍後會詳細介紹這些暫存器!
快速回顧:
• CU: 經理。
• ALU: 計算機。
• Cache: 用於存放常用數據的高速臨時儲存空間。
馮紐曼架構 (Von Neumann Architecture)
大多數現代電腦都基於馮紐曼架構。這種設計將程式指令和數據都儲存在同一個記憶體 (RAM) 中。為了運作順暢,CPU 使用了特定的暫存器:
1. 程式計數器 (Program Counter, PC)
PC 保存著下一條要提取的指令的記憶體位址。它就像書籤一樣,告訴 CPU 下一步該讀取哪裡。
2. 記憶體位址暫存器 (Memory Address Register, MAR)
MAR 保存著 CPU 想要讀取或寫入的記憶體位置的位址。
記憶法:MAR 中的 "A" 代表 "Address" (位址,即在哪裡)。
3. 記憶體數據暫存器 (Memory Data Register, MDR)
MDR 保存著剛從記憶體提取,或即將寫入記憶體的實際數據或指令。
記憶法:MDR 中的 "D" 代表 "Data" (數據,即是什麼)。
4. 累積器 (Accumulator, ACC)
累積器是暫時存放 ALU 運算結果的地方。
比喻:如果你在腦中計算一連串數字,你腦中記住的「累積總和」就像累積器一樣。
重要區別:數據 vs. 位址
分不清楚嗎?想一想房子的概念:
• 位址 (Address) 是門牌號碼 (例如:貝克街 22 號)。它告訴你在哪裡可以找到東西。MAR 和 PC 處理的是位址。
• 數據 (Data) 是屋子裡的人或家具。它是實際的內容。MDR 處理的是數據。
暫存器摘要表
PC: 保存「下一條」指令的位址。
MAR: 保存當前正在存取的指令/數據的位址。
MDR: 保存實際的數據/指令本身。
累積器: 保存數學運算的結果!
要避免的常見錯誤:
學生常會搞混 MAR 和 MDR。請隨時問自己:「我現在是在找位置 (位址) 還是裡面的東西 (數據)?」
• MAR = 地圖 (位址)。
• MDR = 盒子 (數據)。
快速檢測!
在繼續之前,看看你能不能回答這些問題:
1. CPU 的哪個部分負責進行數學運算? (ALU)
2. CPU 循環的三個階段是什麼? (提取-解碼-執行)
3. 哪個暫存器充當運算的「累積總和」? (累積器)
4. 為什麼 Cache 很有用? (因為它比 RAM 快)
太棒了!你已經掌握了 CPU 架構的基礎。在接下來學習是什麼因素讓一顆 CPU 比另一顆更快時,請記住這些「大腦」邏輯!