跳轉至

建立 2026-11-12 更新 2026-11-12 SL HL

A1.1 電腦硬體與運作

電腦硬體與運作(Computer hardware and operation)探討 CPU、記憶體與儲存裝置如何合作執行程式。重點是 CPU 內部元件的功能、fetch–decode–execute 循環、CPU 與 GPU 的差異,以及為什麼電腦需要由快到慢的多層記憶體。

CPU 由哪些元件組成?

中央處理器(Central Processing Unit, CPU)負責執行程式指令,主要元件如下:

元件 功能
算術邏輯單元(Arithmetic Logic Unit, ALU) 執行加減等算術運算與 AND、OR、比較等邏輯運算
控制單元(Control Unit, CU) 解碼指令,送出控制訊號協調其他元件
程式計數器(Program Counter, PC) 存放「下一條指令」的記憶體位址
記憶體位址暫存器(Memory Address Register, MAR) 存放即將讀寫的記憶體位址
記憶體資料暫存器(Memory Data Register, MDR) 存放剛從記憶體讀出、或即將寫入的資料
指令暫存器(Current Instruction Register, CIR) 存放目前正在解碼與執行的指令
累加器(Accumulator, AC) 暫存 ALU 運算結果

CPU 透過三種 匯流排(bus) 和記憶體溝通:位址匯流排(address bus)傳送位址、資料匯流排(data bus)傳送資料、控制匯流排(control bus)傳送讀/寫等控制訊號。

Fetch–decode–execute 循環怎麼運作?

CPU 不斷重複以下三個步驟執行程式:

  1. Fetch(擷取):PC 的位址複製到 MAR,經位址匯流排送到 RAM;RAM 把該位址的指令經資料匯流排送到 MDR,再複製到 CIR;PC 加 1,指向下一條指令。
  2. Decode(解碼):CU 解讀 CIR 中的指令,判斷要做什麼運算、需要哪些資料。
  3. Execute(執行):ALU 執行運算,或從記憶體讀取/寫入資料,結果存入 AC 或其他暫存器。
flowchart LR
    F["Fetch<br/>PC → MAR → RAM → MDR → CIR"] --> D["Decode<br/>CU 解讀指令"]
    D --> E["Execute<br/>ALU 運算 / 存取記憶體"]
    E --> F

多核心與管線化如何提升效能?

  • 多核心(multi-core):一顆 CPU 內有多個核心,可同時執行多個指令流。程式必須能拆成可平行處理的工作,才能真正受益。
  • 管線化(pipelining):當一條指令在執行時,下一條指令已經在解碼、再下一條在擷取,像生產線一樣重疊進行,提高每秒完成的指令數。

CPU 和 GPU 有什麼不同?

圖形處理器(Graphics Processing Unit, GPU)原本為繪圖設計,擁有 數千個簡單核心,擅長對大量資料做同一種運算(平行處理)。

比較 CPU GPU
核心數 少(數個到數十個),每個核心很強 多(數千個),每個核心較簡單
擅長 複雜邏輯、分支判斷、循序工作 大量重複的平行運算
典型用途 作業系統、一般應用程式 3D 繪圖、影片編碼、機器學習訓練

這就是為什麼訓練神經網路(見 A4 機器學習)通常使用 GPU:矩陣乘法可以拆成大量獨立的小運算同時進行。

為什麼需要多層記憶體?

越快的記憶體越貴、容量越小,所以電腦用 記憶體階層(memory hierarchy) 兼顧速度與容量:

層級 速度 容量 是否揮發
暫存器(registers) 最快 數百 bytes 是
快取(cache,L1/L2/L3) 很快 KB–MB 是
主記憶體 RAM 快 GB 是
次要儲存:SSD 中 數百 GB–TB 否
次要儲存:HDD 慢 TB 否
  • RAM(Random Access Memory):存放正在執行的程式與資料,斷電後內容消失(揮發性,volatile)。
  • ROM(Read-Only Memory):存放開機程式(例如 BIOS/UEFI 韌體),斷電不消失。
  • 快取(cache):位於 CPU 內或旁邊,存放最近或最常使用的資料。CPU 要資料時先查快取,找到稱為 cache hit,找不到(cache miss)才去 RAM 拿,因此快取能大幅降低平均存取時間。

次要儲存裝置有哪些類型?

  • 內接(internal):HDD(機械硬碟,用磁頭讀取旋轉磁碟)、SSD(固態硬碟,快閃記憶體,無移動零件)。
  • 外接(external):USB 隨身碟、外接硬碟、光碟、記憶卡。
  • 網路與雲端儲存:NAS、雲端硬碟,透過網路存取,方便分享與備份,但依賴網路連線。

什麼是嵌入式系統?

嵌入式系統(embedded system)是放在更大裝置裡、只負責特定功能的電腦,例如洗衣機控制器、汽車防鎖死煞車系統(ABS)、智慧手錶。特色是功能固定、資源有限、常需要即時反應與低耗電。

推薦影音

中央處理器 CPU

簡述:Crash Course 用動畫拆解 CPU 如何依 PC、指令暫存器與 ALU 一步步執行程式,正好對應本頁的 fetch–decode–execute 循環。

Fetch–decode–execute 循環與暫存器

簡述:逐一說明 PC、MAR、MDR、CIR、累加器在每個步驟扮演的角色,適合考前複習暫存器之間的資料流向。

進階 CPU 設計:快取、管線化與多核心

簡述:介紹快取、管線化、超純量與多核心如何讓 CPU 更快,對應本頁「多核心與管線化」與「記憶體階層」兩節。

記憶體與儲存裝置

簡述:從打孔卡、磁帶講到硬碟與 SSD,說明不同儲存技術的速度與容量取捨,對應本頁次要儲存裝置一節。

練習題

練習 1:暫存器的角色

在 fetch 階段,PC、MAR、MDR、CIR 的內容依序發生什麼變化?

參考答案

PC 的位址複製到 MAR → 透過位址匯流排向 RAM 要資料 → 指令經資料匯流排放進 MDR → MDR 內容複製到 CIR → PC 加 1 指向下一條指令。

練習 2:快取的效果

說明為什麼增加快取容量通常能提升效能,但不會無限提升。

參考答案

快取越大,cache hit 機率越高,CPU 不必常去較慢的 RAM 取資料。但快取越大成本越高、搜尋時間也會增加,而且程式的存取模式有限,命中率提升到一定程度就趨於飽和。

練習 3:CPU 還是 GPU?

下列工作較適合 CPU 還是 GPU:(a) 訓練影像辨識神經網路;(b) 執行作業系統的檔案管理;(c) 即時算繪 3D 遊戲畫面。

參考答案

(a) GPU,大量矩陣運算可平行化;(b) CPU,包含大量分支判斷與循序邏輯;(c) GPU,每個像素可獨立平行計算。

練習 4:選擇儲存裝置

一位攝影師要在外拍時備份大量照片,應選 HDD、SSD 還是雲端儲存?請說明理由。

參考答案

外拍時建議用外接 SSD:無移動零件、耐震、讀寫快、不需要網路。回到工作室後可再上傳雲端做異地備份。HDD 容量便宜但怕摔,雲端則受限於外拍地點的網路。