歡迎來到電腦組織(主題 2)!

哈囉,未來的電腦科學家們!這一章非常重要,因為它將帶領你深入電腦這個「黑盒子」內部。如果說主題 1 是在介紹系統概念,那麼主題 2 就是要帶你拆解電腦的每一個細節——探究電腦在物理層面上究竟是「如何」運作的。

別擔心,如果現在看到 ALU 或 RAM 這類術語覺得像是在看「天書」也不要緊。我們將會把電腦拆解成簡單、容易理解的組成部分。理解這些組織架構是掌握後續效能、網絡技術及程式設計效率的關鍵!

1. 中央處理單元(CPU):電腦的大腦

中央處理單元(Central Processing Unit, CPU) 通常被稱為電腦的大腦。它的工作是處理所有指令並執行所有計算。CPU 的速度(以 GHz 為單位,即每秒執行數十億個週期)從根本上決定了你的電腦執行速度。

1.1 CPU 的核心組件

CPU 由三個主要部分組成,它們時刻緊密合作:

1. 算術邏輯單元(Arithmetic Logic Unit, ALU):
ALU 負責執行所有算術運算(如加、減、乘法)和邏輯運算(如 AND、OR、NOT 以及比較運算)。
類比:將 ALU 想像成電腦裡的計算機與決策者。

2. 控制單元(Control Unit, CU):
CU 負責管理並協調電腦的所有組件。它從記憶體中提取指令、解碼指令,並指揮 ALU、記憶體及輸入/輸出裝置來執行程式。
類比:CU 就像交通警察或管弦樂團的指揮,確保一切按照正確的順序進行。

3. 暫存器(Registers):
暫存器 是位於 CPU 內部、極小且高速的儲存位置。當 CPU 正在積極處理數據或指令時,暫存器會臨時將它們存放起來。它們是整個電腦中速度最快的記憶體形式。

處理過程中的關鍵暫存器(SL/HL 核心內容)

理解這些暫存器對於掌握「提取-執行週期」(Fetch-Execute cycle)至關重要:

- 程式計數器(Program Counter, PC): 存放「下一條」需要提取的指令的記憶體位址。
- 記憶體位址暫存器(Memory Address Register, MAR): 存放需要存取(讀取或寫入)的數據或指令的記憶體位址。
- 記憶體數據暫存器(Memory Data Register, MDR): 存放已經從記憶體提取出來,或正等待寫入記憶體的數據或指令。
- 指令暫存器(Instruction Register, IR): 存放當前已被提取並解碼、正在執行中的指令。

快速複習: 如果 CPU 需要尋找第 50 條指令,PC 會存入「50」。這個位址會被複製到 MAR。在該位址找到的指令會被取回並存入 MDR,然後移至 IR 進行解碼。

重點總結: CPU 由 ALU(計算器)、CU(管理者)和暫存器(草稿紙)組成,利用極高速的臨時內部儲存來執行核心處理任務。

2. 記憶體:RAM、ROM 與快取

電腦使用多種不同類型的記憶體,它們在速度、容量和永久性方面各有分工。

2.1 主記憶體類型

隨機存取記憶體(Random Access Memory, RAM):
- 用途: 儲存 CPU 當前正在使用的數據和程式。這是電腦的工作記憶體
- 特性: 揮發性(Volatile)。這意味著當電源關閉時,RAM 中儲存的所有數據都會遺失。
- 速度: 快速,讓 CPU 能夠迅速存取運作中的程式。
例子:當你開啟網頁瀏覽器或遊戲時,它會從硬碟(輔助儲存裝置)載入到 RAM 中。

唯讀記憶體(Read Only Memory, ROM):
- 用途: 儲存啟動電腦系統所需的重要永久指令(通常稱為 BIOS 或 UEFI)。
- 特性: 非揮發性(Non-volatile)。即使關閉電源,數據依然存在。
- 速度: 通常比 RAM 慢,但它包含 CPU 開機後必須立刻讀取的必要指令。
你知道嗎?ROM 之所以稱為「唯讀」,是因為它是在工廠生產時寫入的,使用者幾乎無法(甚至完全無法)進行更新。

2.2 快取記憶體(Cache Memory)

快取記憶體 是一種位於 CPU 和 RAM 之間、極小但速度極快的記憶體。它用於儲存經常被存取的數據和指令。

- 層級: 快取通常分為多個層級(L1、L2、L3)。L1 快取 是最快且最小的,直接位於 CPU 核心內。L3 快取 速度較慢但容量較大,通常由多個 CPU 核心共享。
- 優點: 如果 CPU 在快取中找到了它需要的指令(稱為 快取命中,Cache hit),就不必存取較慢的主 RAM,從而節省大量時間。
類比:RAM 就像你的書桌(中等速度)。快取就像把筆和計算機直接拿在手上(超高速)。

重點總結: RAM 速度快但具揮發性(工作記憶體);ROM 是必要且永久的(非揮發性啟動指令);快取是超高速、極小的記憶體,用於彌合 CPU 與 RAM 之間的速度差距。

3. 連接性:匯流排(Buses)

這些組件是如何溝通的呢?答案是透過稱為匯流排(Buses)的通道。匯流排是一組平行的電線或電子連接,允許數據和訊號在不同組件之間傳輸。

匯流排主要有三種類型:

- 數據匯流排(Data Bus): 承載組件之間實際傳輸的數據(例如:將指令從 RAM 傳輸到 CPU)。
- 位址匯流排(Address Bus): 承載 CPU 想要讀取或寫入的特定目標記憶體位址。
- 控制匯流排(Control Bus): 承載控制訊號和時序資訊(例如:讀取/寫入指令、時鐘訊號),以同步整個系統的活動。

類比:想像你在寄送包裹。位址匯流排 是包裹上的收件地址;數據匯流排 是包裹裡的內容物;控制匯流排 則是包裹上的「小心輕放」或「急件」標籤。

4. 提取-執行週期(指令週期)

提取-執行週期(Fetch-Execute Cycle) 是電腦執行程式指令的基本過程。這是一個由控制單元(CU)管理的連續循環。

步驟詳解

我們可以用助記詞 F.D.E.(Fetch 提取、Decode 解碼、Execute 執行)來記憶這個順序。

步驟 1:提取(FETCH)
a. 下一條指令的位址(儲存在 PC 中)被複製到 MAR
b. 該位址處的指令從記憶體中取回並複製到 MDR
c. 指令從 MDR 移至 IR
d. PC 遞增(更新以指向順序中的下一條指令)。

步驟 2:解碼(DECODE)
a. CU 檢查 IR 中存放的指令。
b. CU 解讀指令的含義(例如:「將這兩個數字相加」或「將數據移至此暫存器」)。
c. CU 為所需的任務準備相應的電路(如 ALU)。

步驟 3:執行(EXECUTE)
a. 執行所需的操作。如果是計算,則由 ALU 進行;如果涉及存取記憶體,則再次使用 MARMDR
b. 結果可能會存回暫存器或記憶體位址中。

步驟 4:儲存(或寫回,Store/Writeback)
執行結果會寫回記憶體或暫存器,完成整個週期。接著過程立即回到步驟 1,使用 PC 中已更新的位址重新開始。

學生常犯錯誤:很多同學會混淆 PC 和 MAR 的作用。請記住,PC 存放的是「下一條」指令的位址,而 MAR 存放的是「當前正在被存取」的位址

重點總結: 提取-執行週期是一個連續的 FDE 循環,CU 從中提取指令、理解含義,然後執行它,過程中通常會利用 ALU 進行計算。

5. 作業系統(OS):管理者

作業系統(Operating System, OS) 是一組管理電腦硬體資源並為電腦程式提供通用服務的軟體。它是使用者/應用程式與底層硬體之間的中介。

類比:如果硬體是一座強大的工廠,那麼作業系統就是那位技術精湛的經理,確保每個人都有合適的工具、知道自己的時間表,並且不會互相碰撞。

5.1 作業系統的基本功能

作業系統執行多項關鍵任務:

1. 使用者介面(UI)管理:
提供讓使用者與機器互動的機制(例如:圖形使用者介面 GUI,如 Windows/macOS;或命令列介面 CLI)。

2. 記憶體管理:
將記憶體(RAM)區塊分配給不同的執行程式,並確保一個程式不會覆寫另一個程式的記憶體空間。當記憶體不足時,它會處理分頁(paging)(在 RAM 和輔助儲存裝置之間移動數據)。

3. 週邊裝置/輸入/輸出(I/O)管理:
管理印表機、鍵盤、滑鼠和儲存裝置等設備。作業系統使用設備驅動程式(device drivers)(專門的軟體)來與這些硬體進行通訊。

4. 程序(行程)管理:
處理程式的執行。由於電腦通常看似同時執行多個應用程式,作業系統會使用排程(scheduling)來決定下一個程序何時獲得 CPU 的執行時間。

5. 安全管理:
保護系統資源,處理使用者帳戶、密碼及對檔案和資料夾的存取權限。

6. 檔案管理:
在輔助儲存裝置上組織、讀取、寫入和刪除檔案,確保數據的完整性與結構。

重點總結: 作業系統是至關重要的軟體層,負責資源分配、排程程序、管理記憶體,並為使用者與應用程式提供穩定且友善的介面。

6. 二進位表示法與儲存

電腦儲存和處理的所有數據——無論是數字、文字、影像還是指令——都必須使用二進位(binary)來表示。

6.1 基本單位

- 位元(Bit, b): 數據的最小單位,以 01(關閉或開啟)表示。
- 位元組(Byte, B):8 個位元組成。位元組是用來表示單一字元(如字母 'A' 或符號 '$')的標準單位。

儲存容量通常以 2 的冪次方計算(除了某些硬碟廠商有時會使用 10 的冪次方行銷)。

- 1 千位元組 (KB) = \(2^{10}\) bytes = 1,024 bytes
- 1 百萬位元組 (MB) = \(2^{20}\) bytes = 1,048,576 bytes
- 1 十億位元組 (GB) = \(2^{30}\) bytes
- 1 兆位元組 (TB) = \(2^{40}\) bytes

你知道嗎?之所以使用 2 的冪次方,是因為記憶體位址和儲存空間本質上就是依照二進位定址方案來組織的。

6.2 輔助儲存裝置

雖然 RAM 速度快但具揮發性,但輔助儲存裝置(Secondary Storage)則用於長期、非揮發性的數據保存。這就是檔案、應用程式以及作業系統本身永久存放的地方。

輔助儲存裝置的例子包括:

- 硬碟驅動器 (HDD): 使用旋轉的磁碟來儲存數據。它們便宜且容量大,但由於有機械部件,速度相對較慢。
- 固態硬碟 (SSD): 使用快閃記憶體(類似 RAM,但具備非揮發性)。它們沒有移動部件,因此比 HDD 更快、更安靜、更堅固,儘管每 GB 的成本通常較高。
- 光碟機 (CD/DVD/Blu-ray): 使用雷射讀寫反射塑膠盤上的數據。

重點總結: 所有數位數據都以位元(0 和 1)儲存,並編組成位元組。輔助儲存裝置提供永久的非揮發性保留,而 SSD 在速度上遠優於機械式的 HDD。

電腦組織總複習


本章將物理結構(硬體)與操作邏輯(軟體)結合在一起。如果你能理解資訊的流動——從作業系統排程任務、CU 透過匯流排將指令提取到暫存器、ALU 計算結果,最後將數據儲存在 RAM 中——那麼你就已經掌握了電腦組織的核心!

繼續練習那些類比,並且記住:每個組件都扮演著至關重要的角色!你一定沒問題的!