一次搞懂 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 的實際分工與建議使用場景。

留言

熱門文章