歡迎來到引擎室!

在本章中,我們將拆開電腦的外殼,看看裡面的「器官」。你可以把這看作是機器的解剖學。我們將探索處理器是如何思考的、它在哪裡儲存數據,以及一切是如何通過被稱為匯流排(Buses)的「高速公路」進行通信的。如果起初看起來有太多專業術語,請別擔心——我們會用簡單且你容易理解的類比來逐一拆解。

1. 核心組件:盒中的團隊

每台電腦系統都依賴幾個主要的內部零件來運作。為了理解它們,讓我們把電腦想像成一間繁忙的專業廚房

處理器 (CPU):這是主廚。它遵循指令(食譜),並負責所有艱鉅的工作,如計算和做決定。
主記憶體 (RAM):這是主廚的工作檯。當主廚正在工作時,食材(數據)和食譜(程式)就放在這裡。它存取速度很快,但當廚房關閉時,工作檯就會被清空(這就是揮發性)。
I/O 控制器:這些是廚房雜工。他們管理貨物進來(鍵盤/滑鼠)和出去(螢幕/印表機)的流程。他們確保主廚不必擔心運貨卡車是如何運作的,他們只需要處理物資供應即可。

通信高速公路:系統匯流排 (System Bus)

在電腦內部,各個組件不能只是互相「大喊」。它們使用匯流排 (Bus),這是一組用於連接各組件的並行電線。將匯流排想像成我們廚房大樓裡的走廊

你需要知道三種主要的匯流排:
1. 數據匯流排 (Data Bus):攜帶實際的數據(「食材」)。這是雙向的(two-way),因為數據需要往返於記憶體。
2. 位址匯流排 (Address Bus):攜帶數據要去的位置。這是單向的(uni-directional),通常是從主廚(CPU)到工作檯(記憶體)。
3. 控制匯流排 (Control Bus):攜帶指令和狀態訊號。它告訴組件它們應該進行「讀取」還是「寫入」,並處理系統的「心跳」。

快速複習:
CPU:大腦/主廚。
主記憶體:當前任務的臨時、高速儲存空間。
匯流排:傳輸數據的電線。
位址匯流排:永遠是單向的!(從 CPU 到記憶體)。

2. 架構:建立電腦的兩種方式

組織這些零件有兩種著名的方式。你可以將它們視為兩種不同的廚房佈局。

馮·紐曼架構 (Von Neumann Architecture)

在這種佈局中,食譜(指令)和食材(數據)使用同一個記憶體。它們共享相同的「走廊」(匯流排)。
在哪裡使用? 你的筆電、個人電腦 (PC) 和大多數通用電腦。
類比: 一個把教科書和零食放在同一個書包裡的學生。

哈佛架構 (Harvard Architecture)

這種佈局為指令和數據使用獨立的記憶體獨立的匯流排。主廚可以同時拿取食譜和食材,因為它們在不同的架子上,有不同的走廊通往它們。
在哪裡使用? 嵌入式系統,例如微波爐、洗衣機內部的電腦,或數位訊號處理器 (DSPs)。
類比: 一個圖書館,非小說類和小說類書籍有完全不同的建築,並且有分開的道路通往各個建築。

關鍵要點: 馮·紐曼架構適用於通用目的(靈活性高),而哈佛架構適用於專業系統(針對特定任務高效且快速)。

3. 處理器內部:大腦的解剖

處理器 (CPU) 不只是一個塊狀物;它由幾個專業零件組成。讓我們看看「三大核心」:

算術邏輯單元 (ALU):這是計算機。它處理所有數學運算(加法、減法)和邏輯運算(比較數字大小)。
控制單元 (CU):這是經理。它協調一切。它解碼指令並告訴其他零件該做什麼。
時脈 (Clock):這是心跳。它發出連續的脈衝以保持一切同步。時脈越快,每秒可以處理的指令就越多。我們以吉赫 (GHz) 來衡量這個速度。

暫存器 (Registers):CPU 的「便利貼」

暫存器是 CPU 內部極小且速度極快的儲存位置。它們儲存了 CPU 在這一毫秒需要的數據。

通用暫存器

這些就像 CPU 可以用於任何臨時計算的「草稿紙」。

專用暫存器(必須知道的列表!)

1. 程式計數器 (PC):保存下一個要提取的指令的位址
2. 當前指令暫存器 (CIR):保存當前正在解碼和執行的指令。
3. 記憶體位址暫存器 (MAR):保存 CPU 即將從中讀取或寫入的記憶體位址
4. 記憶體緩衝暫存器 (MBR):保存剛剛從記憶體提取,或即將發送到記憶體的實際數據或指令。
5. 狀態暫存器:保存追蹤剛剛發生什麼事的「旗標」(例如:「上一個數學題的結果是負數嗎?」或「有錯誤發生嗎?」)。

記憶技巧:MAR 想成「信封上的地址」,把 MBR 想成「信封裡的信」。你需要地址來找到房子,但緩衝區裡裝的是真正的訊息!

4. 提取-執行週期 (Fetch-Execute Cycle)

電腦所做的每一件事都歸功於提取-執行週期。這是一個每秒運行數十億次的三步驟循環。

步驟 1:提取 (Fetch)
• 將 PC 中的位址複製到 MAR
• 將指令從記憶體移動到 MBR
PC 遞增(指向下一條指令)。
• 指令從 MBR 移動到 CIR

步驟 2:解碼 (Decode)
控制單元查看 CIR 中的指令,並弄清楚它的含義(例如:「喔,這是一條 ADD 指令!」)。

步驟 3:執行 (Execute)
• 執行指令。這可能涉及 ALU 進行數學運算,或數據在暫存器之間移動。

關鍵要點: 提取(獲取它)、解碼(理解它)、執行(完成它)。無限重複!

5. 影響效能的因素

為什麼一台電腦比另一台快?這通常取決於以下因素:

多核心 (Multiple Cores):一個「核心」就是一個完整的 CPU 複製品。雙核心處理器就像兩個「主廚」在同一個廚房工作。注意:核心加倍並不總是意味著速度加倍,因為主廚們必須花時間互相溝通並共享同一個工作檯(記憶體)。
快取記憶體 (Cache Memory):這是 CPU 內部一小塊非常快的記憶體。它儲存經常使用的數據,這樣 CPU 就不必一直跑到 RAM 那裡。想像它是主廚圍裙上的一個口袋
時脈速度 (Clock Speed):心跳越快 (GHz),每秒發生的提取-執行週期就越多。
字組長度 (Word Length):CPU 一次可以處理的位元數(例如 32-bit 或 64-bit)。字組長度越寬,就像鏟子越大,一次能挖掘的土就越多。
匯流排寬度 (Bus Width):更寬的匯流排(更多的電線)意味著同時可以傳輸更多的數據。如果位址匯流排更寬,CPU 就可以「定址」或存取更多的記憶體位置。位置的數量計算為 \( 2^n \),其中 \( n \) 是電線的數量。

你知道嗎?
如果你的位址匯流排有 32 條電線,它可以存取 \( 2^{32} \) 個不同的記憶體位置。大約是 4 Gigabytes 的 RAM!

快速複習欄

要避免的常見錯誤:許多學生會混淆 RAM暫存器。RAM 是「主記憶體」(CPU 外面的大工作檯),而暫存器是「內部儲存空間」(CPU 內部的微小便利貼)。暫存器快得多,但容量小得多!

要記住的關鍵術語:
儲存程式概念 (Stored Program Concept):指令儲存在主記憶體中,並逐一(序列地)提取/執行。
ALU:進行數學運算。
控制單元:指揮交通。
匯流排:連接一切的高速公路系統。