在現代計算領域中,根據處理數據類型的維度與運算方式的不同,運算單元主要分為處理純量 (Scalar)、向量 (Vector) 與 張量 (Tensor) 三大類。
數據結構與運算單元定義
1. 純量運算單元 (Scalar Processing Unit, SPU)
純量 (Scalar) 是指一個單一的數值,例如 $x = 5$。
純量運算單元 (SPU) 每次指令只處理一對數據。這種處理模式稱為 單一指令單一數據 (Single Instruction, Single Data, SISD)。中央處理器 (Central Processing Unit, CPU) 的核心主要就是針對複雜的邏輯判斷與純量運算設計的。
2. 向量運算單元 (Vector Processing Unit, VPU)
向量 (Vector) 是一組有序的一維數值序列,例如 $\mathbf{v} = [1, 2, 3, 4]$。
向量運算單元 (VPU) 可以透過一次指令同時處理多組數據運算,這稱為 單一指令多重數據 (Single Instruction, Multiple Data, SIMD)。圖形處理器 (Graphics Processing Unit, GPU) 的早期設計主要是為了處理 3D 座標的向量位移與光影計算,因此具備強大的向量處理能力。
3. 張量運算單元 (Tensor Processing Unit, TPU)
張量 (Tensor) 是多維數組的總稱。在深度學習中,張量通常指二維(矩陣)或更高維度的數據結構。
張量運算單元 (TPU) 專門優化大規模的矩陣乘法與累加運算 (Multiply-Accumulate, MAC)。這類單元常見於人工智慧 (Artificial Intelligence, AI) 加速器,如 Google 開發的 TPU 或 NVIDIA 的 張量核心 (Tensor Core)。
運算能力與架構對比
下表對比三種運算單元在處理模式、硬體代表及主要用途上的差異:
| 特性 | 純量運算 (Scalar) | 向量運算 (Vector) | 張量運算 (Tensor) |
| 數據維度 | 0 維 (單一數值) | 1 維 (數值序列) | 多維 (矩陣或更高維) |
| 處理架構 | SISD | SIMD | 脈動陣列 (Systolic Array) |
| 主要硬體 | CPU 核心 | GPU 流處理器 | AI 加速器 (TPU, NPU) |
| 擅長任務 | 邏輯控制、作業系統運行 | 影像處理、科學計算 | 深度學習模型訓練與推論 |
| 並行程度 | 低 (循序執行為主) | 中 (數百至數千執行緒) | 高 (大規模矩陣並行) |
不同角度看運算單元演進
1. 效率角度:運算密度的極大化
-
純量單元 著重於「低延遲」,確保單一指令能最快完成,適合處理不可預測的邏輯分支。
-
向量與張量單元 著重於「高吞吐量」,透過犧牲單一指令的執行速度,換取單位時間內處理數萬個數據的能力。
2. 應用角度:從通用到專用
-
計算機發展初期以 CPU 純量運算為主,因為當時任務多樣且複雜。
-
隨著神經網絡 (Neural Network, NN) 的興起,由於其運算核心 90% 以上由矩陣乘法構成,這促使硬體設計從通用的向量計算轉向專化的張量計算,以達到更高的能效比。
參考資料來源
-
Google Cloud: Cloud TPU 系統架構說明。
-
NVIDIA: Tensor Core 深度學習核心技術文檔。
-
Intel: SIMD 向量指令集 (AVX-512) 介紹。
隨機文章
- 使用Windows Server別給自己找麻煩?Amazon EC2免費雲端 (2013-02-18)
- GPhone呼之欲出!Google研發中品牌手機傳在台灣設計-將提供比目前手機功能更強大的網路瀏覽器 (2007-11-06)
- My Spam “procmail: Skipped “|/usr/bin/php -Cq /var/www/html/myspam/web/index.php save_spam” 問題處理 (2010-03-03)
- 用AirTag 來追蹤非Apple用戶? (2021-04-30)
- Win7 64Bit OS NB入手 (2011-05-22)








