一次搞懂 CPU、GPU、TPU:差異、特色與實務應用場景全解析
在學習系統架構、雲端服務或 AI 技術時,常常會聽到 CPU、GPU、TPU 這三種處理器名詞。
它們看似都是「算東西的」,但實際上設計目的、適合的工作負載與效能衡量方式完全不同。
這篇文章會用工程師角度,帶你一步步理解:
-
CPU / GPU / TPU 各自是什麼
-
它們的核心設計差異
-
適合使用的實務情境
-
為什麼「誰比較快」其實是個錯誤問題
什麼是 CPU?(Central Processing Unit)
CPU 的角色
CPU 可以視為整個系統的「指揮中心」,負責:
-
程式流程控制
-
分支判斷(if / else)
-
任務排程
-
與記憶體、磁碟、網路設備互動
幾乎所有程式在執行時,一定會經過 CPU。
CPU 的設計特色
-
核心數量較少(通常 4~64 核)
-
每個核心效能極高
-
快取(L1/L2/L3 Cache)容量大
-
對複雜邏輯與低延遲反應非常擅長
適合的使用情境
-
作業系統
-
Web / API Server
-
商業邏輯處理
-
資料庫查詢
-
系統控制與流程判斷
👉 CPU 的強項不是「算得多」,而是「想得快、想得準」。
什麼是 GPU?(Graphics Processing Unit)
GPU 的起源與轉變
GPU 最早是為了「圖形渲染」而設計,用來處理大量像素運算。
後來發現它非常適合「大量資料做同一件事」,因此被廣泛用於:
-
科學運算
-
機器學習
-
影像與影片處理
GPU 的設計特色
-
擁有成千上萬個核心
-
單一核心運算能力較弱
-
極高的記憶體頻寬
-
非常適合高度平行的運算模型
適合的使用情境
-
圖形與影像處理
-
深度學習模型訓練
-
大規模矩陣計算
-
區塊鏈挖礦
-
科學模擬
👉 GPU 的核心概念是:一次算很多筆,而不是一次算很聰明。
什麼是 TPU?(Tensor Processing Unit)
TPU 是什麼?
TPU 是 Google 為了 AI / 深度學習 所設計的專用晶片(ASIC)。
它不是通用處理器,而是針對「Tensor(張量)」運算高度最佳化。
TPU 的設計特色
-
專注於矩陣乘法與向量運算
-
使用 Systolic Array 架構
-
能耗效率極高
-
幾乎只能用於機器學習工作負載
適合的使用情境
-
大型深度學習模型訓練
-
AI 推論(Inference)
-
雲端 AI 服務(如 Google Cloud TPU)
👉 TPU 就像是只會做一件事,但把那件事做到極致的處理器。
CPU / GPU / TPU 差異比較表
| 項目 | CPU | GPU | TPU |
|---|---|---|---|
| 核心數 | 少但強 | 非常多 | 為 AI 設計 |
| 平行能力 | 低~中 | 極高 | 極高 |
| 分支邏輯 | 強 | 弱 | 幾乎不支援 |
| 延遲 | 低 | 高 | 中 |
| 能耗效率 | 普通 | 高 | 非常高 |
| 程式彈性 | 最高 | 中 | 最低 |
| 主要用途 | 系統與商業邏輯 | 平行計算 | 深度學習 |
誰的效能比較好?
這是一個常見但錯誤的問題。
正確的觀念是:
效能必須搭配「工作負載類型」來看。
不同任務的最佳選擇
| 任務類型 | 最適合的處理器 |
|---|---|
| Web API / 後端服務 | CPU |
| SQL 查詢 | CPU |
| 影像處理 | GPU |
| 深度學習模型訓練 | GPU / TPU |
| AI 推論(Inference) | TPU |
| 大型矩陣 / 向量運算 | TPU > GPU > CPU |
| 單筆邏輯判斷 | CPU |
現代系統通常怎麼使用?
實務上,幾乎所有大型系統都採用混合架構:
-
CPU:負責控制流程、排程、資料前後處理
-
GPU / TPU:負責高強度運算
這樣的分工可以同時兼顧:
-
系統彈性
-
效能
-
成本與能耗效率
結語
CPU、GPU、TPU 並不是彼此取代的關係,而是各司其職:
-
CPU:負責「決定怎麼做」
-
GPU:負責「大量一起做」
-
TPU:負責「AI 計算做到最快」
理解它們的差異,才能在設計系統架構、選擇雲端服務或學習 AI 時,做出正確的技術決策。
參考資料(References)
-
Hennessy, J. L., & Patterson, D. A.
Computer Architecture: A Quantitative Approach
— 經典電腦架構教材,說明 CPU 設計理念、效能評估必須依賴工作負載(workload-dependent performance)。 -
Patterson, D. A., & Hennessy, J. L.
Computer Organization and Design
— 說明 CPU 在控制流程、分支判斷、快取(Cache)設計上的優勢。 -
Intel Corporation
Intel® 64 and IA-32 Architectures Software Developer’s Manual
— CPU 作為通用處理器(General-purpose Processor)的官方設計與使用說明。 -
Advanced Micro Devices (AMD)
AMD Architecture Programmer’s Manual (APM)
— 補充 CPU 在系統控制與高彈性程式執行上的設計特性。 -
NVIDIA
CUDA Programming Guide
— 說明 GPU 的平行運算架構(SIMT)、適合大量資料同時計算的設計原理。 -
NVIDIA Developer Blog / GTC Technical Presentations
— GPU 在科學運算、影像處理與機器學習中的實務應用。 -
Jouppi, N. P., et al.
In-Datacenter Performance Analysis of a Tensor Processing Unit (ISCA)
— Google TPU 的官方論文,說明 TPU 為 AI/深度學習設計的 ASIC 架構、Systolic Array 與能耗效率優勢。 -
Google Cloud
TPU Documentation / TensorFlow TPU Guide
— TPU 在模型訓練與推論(Inference)的實際使用情境與限制。 -
AWS / Google Cloud / Microsoft Azure 官方文件
— 雲端平台對 CPU、GPU、TPU 的實際分工與建議使用場景。
留言
張貼留言