指令集架構
3 秒看懂
指令集架構(ISA)是軟體與硬體之間的“契約”,定義了處理器能直接理解和執行的操作、資料格式、暫存器及記憶體訪問方式。在智慧計算時代,ISA 決定了 AI 晶片能否高效執行矩陣乘法、稀疏計算與量化推論,是連線上層架構與底層電晶體的核心樞紐。
3 分鐘產業解釋
如果把晶片比作一個國家,ISA 就是它的官方語言。x86、ARM、RISC‑V、NVIDIA PTX 是不同的“語系”,每一種都有獨特的“詞彙”(指令)和“語法”(編碼格式)。AI 訓練與推論極度依賴大維度矩陣運算,通用 ISA 逐漸暴露出效率瓶頸,於是各大體系競相引入專用擴充套件——Intel 增加 AMX 矩陣單元,ARM 推出 SME 流式矩陣擴充套件,NVIDIA 在 CUDA 之下暴露 via PTX 的 Tensor Core 操作,RISC‑V 則通過向量 V 擴充套件及自定義 op 來迎合 AI。
選擇 ISA 既要看單位能耗吞吐的 FLOPS,也要看軟體生態:PyTorch/TensorFlow 的一層卷積能否直接編譯為那條矩陣乘積累加指令。當前 AI 晶片 ISA 正從“一枝獨秀”走向“開放融合”,RISC‑V 的迅猛生長、Arm v9 的可擴充套件矩陣支援,以及 x86 在伺服器端的累積最佳化,構成了多層次競爭。產業深處,ISA 的設計與編譯器、運算元庫、執行時緊密咬合,牽一髮而動全身。
15 分鐘專家深入
ISA 分層與 AI 加速的關係
微架構(具體硬體實現,現代 x86 內部包含微碼/微操作機制,用於將複雜指令拆解為多條類 RISC 操作)處於底層,再往上才是對程式設計師可見的 ISA。AI 加速的本質,是將高維張量運算對映為儘可能少的、寬位寬的指令。按資料並行度,ISA 可劃分為:
- 標量指令(每指令處理一個數據)
- 向量指令(SIMD,一條指令處理多個同構資料,如 AVX‑512、ARM SVE)
- 矩陣指令(一條指令啟動二維分塊乘法,如 Intel AMX、ARM SME、NVIDIA wmma)
- 空間陣列指令(類似脈動陣列的控制字,如 Google TPU 的 CISC 指令集)
當前 AI 訓練/推論的核心計算是 GEMM(通用矩陣乘),單精度或半精度浮點,甚至 INT8。單條矩陣乘加指令可以將多層迴圈壓縮到一條指令的硬體排程中,極大減少取指、譯碼和暫存器bank訪問能耗。
AI 落地中的 ISA 設計權衡
- 暫存器數量與寬度:向量暫存器越多,編譯器越容易分配,減少資料溢位;寬度(如 128→256→512 位)決定每個時鐘週期能塞入多少個乘加操作。
- 資料型別覆蓋:bfloat16、FP8、INT4 等格式直接對應指令,避免複雜的軟體轉置。
- 靈活度 vs. 峰值效能:靈活的可程式設計向量 ISA 可以適配各種運算元,但能效往往不如為特定網路定製的脈動陣列“硬連線”,後者通過少量控制指令驅動片上網路,犧牲通用性換取極致能效(見圖 1)。
[軟體層] PyTorch / TensorFlow
↓ 運算元庫
[編譯層] MLIR / TVM / LLVM → 虛擬 IR → 目標 ISA
↓
[ISA 層] x86-AMX | ARM-SME | RISC-V "V" | PTX/Tensor Core
↓ 譯碼
[微架構] 向量流水線 / 脈動陣列 / GPU SM
編譯器與 ISA 的共生
沒有優秀的編譯器支援,再強大的 ISA 也只是空中樓閣。TVM 採用 HalideIR 分離演算法與排程,自動生成各種後端 ISA 的程式碼;MLIR 則在 TensorFlow/Ecosystem 中建置多層抽象,逐步降低到特定 ISA。許多 AI 晶片公司選擇基於 LLVM 開發私有編譯器,將自定義矩陣指令對映到 LLVM 內部表示,同時向上提供標準的 TFLite/ONNX 運算元介面,以此降低使用者遷移成本。
典型指令的執行流水
假設一條 vmatmul.f16 acc, src1, src2 矩陣乘法指令,其流水大致為:
- 取指、譯碼,識別為矩陣乘融合操作。
- 從矩陣暫存器檔案讀取 16×16 的分塊(或從向量暫存器組合)。
- 塞入脈動陣列或乘加樹,在多個週期內完成 16×16×K 的部分積累。
- 將結果寫回累加暫存器,可能自動再啟用下一塊資料的取指(某些架構支援矩陣指令鏈)。
在這樣的流水裡,解耦的訪存、計算與資料重排至關重要,許多 AI 專用 ISA 設計了軟體控制的 scratchpad 定址模式,以減少 cache 衝突。
技術原理(最深層)
指令編碼:把 “C = A × B” 對映為機器指令
一條典型的矩陣操作指令必須攜帶足夠資訊:操作型別(MUL/ADD/FMA)、輸入/輸出暫存器、資料格式、分塊形狀、甚至記憶體快取提示。例如,Intel AMX 通過 tile 配置指令(LDTILECFG)預先設定 tile 的形狀和資料型別,然後用 TDPBF16PS 這樣的指令觸發 tile 間的 bfloat16 乘加。其編碼在 x86 字首域內嵌入 tile 編號與定址模式,複用 vEX/EVEX 編碼風格。
暫存器堆的革新
傳統標量 ISA 只有少數通用暫存器;SIMD ISA 增加獨立的向量暫存器組(如 x86 的 YMM/ZMM)。矩陣 ISA 進一步引入二維 tile 暫存器:每個 tile 可以容納 16 行 × 64 位元組的資料,由硬體管理其跨步訪問。這種暫存器被看作一種軟體管理的快取,程式設計師必須顯式地將記憶體資料載入 tile (TILELOAD)、運算、再存回 (TILESTORE)。圖 2 展示了一個 tile 暫存器與記憶體矩陣的對映關係。
記憶體矩陣 (M×K) tile 暫存器 (16×K)
┌─────────────┐ ┌────────────────────┐
│ a₀₀ a₀₁ ... │ TILELOAD │ a₀₀ a₀₁ ... a₀ₖ │
│ a₁₀ a₁₁ ... │ ─────────→ │ a₁₀ a₁₁ ... a₁ₖ │
│ ... │ │ ... │
└─────────────┘ └────────────────────┘
矩陣乘法的指令級分解
對於不支援矩陣指令的向量 ISA,一個 16×16 的 fp16 矩陣乘需要將外層迴圈全部展開為向量乘加。典型的外積累加策略為:
- 將 A 矩陣中的一個標量元素廣播至向量暫存器的所有通道。
- 使用
vfmadd將該廣播值與 B 矩陣的一整行做逐元素乘加,結果累加到 C 矩陣的對應行。 - 重複上述過程覆蓋 16×16 的二維組合,共需約 256 條向量乘加指令,外加地址更新與迴圈分支。
一旦轉向矩陣指令,所有內部迴圈被一條指令吞併,僅保留外層 tile 滑窗的邏輯,指令流簡短且控制開銷銳減。這既降低了前端壓力,也允許硬體專注於資料流排程,顯著提高能效。
與微架構的互動
先進的矩陣 ISA 通常要求微架構支援:
- 硬體脈動陣列(如 Google TPUv1)或混合式乘加樹(如 NVIDIA Tensor Core)。
- 交錯的主存/scratchpad 資料通路,常採用 2D 轉置單元避免記憶體跨步。
- 靈活的分塊大小配置,匹配不同層次的存內計算。
因此,ISA 並非獨立存在,它必須與晶片內部的 mesh 網路、快取層次、算術單元三者協同設計。
技術演進史
- 1970s–1990s:CISC 與 RISC 之爭,確立 ISA 基礎。x86 由 8086 演進;MIPS、SPARC、ARM 各自定義精簡指令,彼時與 AI 無關。
- 1990s–2000s:多媒體擴充套件興起:MMX、SSE、3DNow!,引入 SIMD 概念,初步支援並行處理。
- 2000s–2015:GPU 稱霸 AI 訓練。NVIDIA 推出 CUDA,底層 PTX ISA 統一各種 SM,採用 SIMT 模型,雖非傳統 ISA,但實質是面向海量執行緒的虛擬指令集。
- 2015–2020:專用 AI 晶片 ISA 誕生。Google TPU 採用 CISC 風格指令驅動脈動陣列(v1 限定推論);Intel 將 AVX‑512 和 VNNI 引入伺服器;ARM 釋出 SVE 可伸縮向量擴充套件。
- 2020–至今:矩陣 ISA 全面爆發。Intel 在 Sapphire Rapids 中加入 AMX;ARM v9 帶來 SME;RISC‑V 向量 V 擴充套件 1.0 獲批,多家公司自定義矩陣 op;NVIDIA 連續強化 Tensor Core 的 PTX 指令(wmma / mma)。ISA 爭奪轉變為軟體棧和生態之爭。
技術路線對比(量化表)
| 維度 | x86‑AMX | ARM SME | NVIDIA PTX+TensorCore | RISC‑V Vector + 自定義 | Google TPU 專用 |
|---|---|---|---|---|---|
| 架構型別 | 混合(標量+向量+矩陣) | 混合(標量+向量+矩陣) | SIMT + 矩陣加速單元 | 純向量/可擴充套件自定義 | 脈動陣列控制指令 |
| 典型資料位寬 | Tile 16×32 BF16 (16行×64位元組) | 流式矩陣暫存器 ZA(SVL×SVL,大小可變) | 執行緒級 warp 內矩陣分塊 | 取決於 vlen(可至 2048 位) | 控制字驅動大規模脈動陣列(如 256×256 MAC) |
| 可程式設計靈活性 | 高(在 x86 生態內部) | 高(與 ARM 軟體棧整合) | 中高(需要 CUDA/PTX 層級) | 極高(可自由擴充套件) | 中等(支援 CNN、MLP、RNN、Transformer 等訓練與推論) |
| 能效(每瓦 TFLOPS) | 中(伺服器級) | 中高(行動端最佳化) | 中(GPU 功耗大) | 視設計而定,潛力高 | 極高(專用設計) |
| 軟體生態成熟度 | 強(PyTorch/ONNX 原生) | 較強(Android/Linux 生態) | 最強(AI 架構第一公民) | 發展中(LLVM 支援,生態初具) | 封閉(支援TensorFlow、PyTorch/XLA、JAX等架構) |
| 典型應用場景 | 雲端端推論/訓練 | 邊緣推論、行動端 | 雲端端訓練至高/高效能推論 | 嵌入式 AI、定製加速 | Google資料中心訓練與推論(已升級至 v4) |
注:具體效能數值受制程、頻率、儲存影響,不屬於 ISA 固有屬性,此處僅作模式對比。
上下游
- 上游:
- 智慧財產權與標準:ARM(Cortex/X 系列 ISA 許可)、RISC‑V 國際基金會(開源 ISA 規範)、Intel/AMD(x86 標準交叉授權)。
- EDA/IP 工具:Cadence、Synopsys 提供 ISA 模擬模型與驗證工具;Andes、SiFive 等供應 RISC‑V 處理器 IP 核。
- 中游:
- 晶片設計:NVIDIA、Google(自研 TPU ISA)、Apple(自研 ARM 相容+M 系列 NPU 指令)、大量 AI 初創公司(Graphcore、寒武紀等)自定義 ISA。
- 編譯器與中介軟體:LLVM 社群、TVM、MLIR、NVIDIA nvcc、Intel oneAPI DPC++、ARM ACL。
- 下游:
- AI 架構:TensorFlow、PyTorch、JAX 的運算元庫與 kernel 編譯器。
- 終端應用:雲端伺服器、智慧手機、自動駕駛、IoT 裝置。
關鍵指標
- 指令計算密度:每條指令完成的 FLOP 數(如矩陣指令可單條完成 512~4096 FLOP)。
- 指令吞吐率:每時鐘週期可發射的向量/矩陣指令數,受限於譯碼寬度和功能單元數量。
- 單位運算能耗:pJ/FLOP 級別,尤其關注保持暫存器讀寫的功耗佔比。
- 程式碼密度:相同運算所需的指令位元組數,影響 I‑cache 命中率。矩陣指令能極大幅度提高密度。
- 生態繫結度:該 ISA 是否被主流架構一鍵支援,遷移成本高不高。
- 擴充套件性:是否允許使用者自定義域專用指令,RISC‑V 在這方面優勢明顯。
供需與市場資料
(由於搜尋受限,以下用定性闡述,部分資料據行業共識估算)
- 需求端:AI 訓練/推論晶片市場年複合增長超過 30%,推動對高效矩陣/向量 ISA 的強勁需求。邊緣端偏好低功耗 ARM 或 RISC‑V 搭配半精度/INT8 指令;雲端端則看重高吞吐 x86/GPU 及專用 ISA。
- 供給端:
- x86 系列仍佔據資料中心 AI 推論約 40% 的存量份額(估算),主要透過 AMX 與 AVX‑512 在 Xeon 上實現。
- ARM v8/v9 建置了從 Cortex‑A 到 Neoverse 的全線 ISA,邊緣推論裝置中份額超 60%。
- RISC‑V 處理器 IP 核出貨量預計 2023‑2025 年 CAGR 超 50%,大量用於 AIoT 加速器。
- 專用 ISA(如 NVIDIA PTX+TensorCore)在訓練市場擁有事實上的統治地位,但存在依賴單一供應商的風險,催生對開放 ISA 的訴求。
整體上,ISA 不存在普遍的短缺,但優秀矩陣擴充套件的成熟編譯器支援是稀缺資源。
代表公司與資本對映
- Intel:x86 ISA 的守成者,憑藉 AMX 鞏固伺服器 AI 推論地位;同時推出 oneAPI 統一程式設計模型,嘗試解耦 ISA 鎖定。
- AMD:基於 x86 的銳龍 EPYC 增加 AVX‑512,與 Xilinx 的 AIE 指令配合,形成異構 ISA 融合。
- NVIDIA:雖然不對外授權 ISA,但其 PTX 與 SASS(底層硬體指令)的迭代速度決定了 GPU AI 算力的領先週期。
- ARM:憑藉 v9 架構的 SME 和可伸縮向量,正從移動向伺服器、AI 滲透,生態合作為高通、亞馬遜等提供基礎。
- SiFive/Andes:RISC‑V 處理器 IP 供應商,推出預整合向量 V 擴充套件的 AI 核,吸引中小晶片設計公司。
- 上市公司對映:手握自主 ISA 且有軟體護城河的企業(Intel、AMD、NVIDIA);RISC‑V 產業鏈成長型標的(SiFive 尚未上市,但相關晶片設計服務公司受益);EDA 與編譯器服務商(Cadence/Synopsys/新思)間接獲利。
投資邏輯
- 生態黏性與轉換成本:ISA 的軟體棧已投入海量最佳化,遷移至全新 ISA 需重寫 kernel 庫,成本極高。因此,生態成熟度 > 紙面 FLOPS,投資要關注 AI 架構官方支援度。
- 開放 ISA 的歷史性機遇:RISC‑V 使中小公司可低成本定製 AI 加速指令,催生百家爭鳴。但成敗取決於能否建置起涵蓋編譯器、運算元庫、部署工具的一整套“軟 ISA”。密切關注 LLVM/MLIR 上 RISC‑V 後端的發展,以及頭部 RISC‑V AI 晶片的 tapeout 節奏。
- 矩陣擴充套件的軍備競賽:每當一家公司推出新的 FP8 或稀疏矩陣指令,就會拉動一輪架構升級和客戶採購。擁有搶先定義行業事實標準矩陣指令能力的公司(如 NVIDIA 的 mma,ARM 的 SME)將攫取溢價。
- 地緣政治維度:x86 與 ARM 的授權受限促使中國等地大力扶持自有 ISA(如龍芯 LoongArch,玄鐵系列基於 RISC‑V),這為國內 IP 和晶片公司帶來結構性資本流入,但軟體生態建設極為漫長,短期業績存在泡沫風險。
常見誤讀糾偏
誤讀 1:“ISA 是 CISC 的就慢,是 RISC 的就快”
現代處理器早已淡化 CISC/RISC 的速度分野。x86 前端將複雜指令分解為類 RISC 的微操作,執行引擎本質也是 RISC 流水線。AI 效能更多取決於向量/矩陣單元寬度與編譯器最佳化,而非 ISA 表面的“精簡”或“複雜”標籤。
誤讀 2:“有了強大的矩陣指令,AI 晶片就不需要微架構創新”
矩陣指令只是介面,其效能釋放極度依賴微架構:能否在一個週期內讀出足夠的矩陣分塊、能否無縫連線多級快取/儲存、能否支援稀疏掩模等。ISA 和微架構同等關鍵,硬體必須為指令提供匹配的執行資源。
誤讀 3:“RISC‑V 指令免費,所以用 RISC‑V 做 AI 晶片成本幾乎為零”
ISA 規範本身免費,但實現高質量 RISC‑V 處理器(超標量、向量、矩陣單元)的 IP 仍需付費授權(如 SiFive 商業核)。更關鍵的是,適配 PyTorch 等架構的軟體投資不菲,這些隱性成本遠超 ISA 許可費。
誤讀 4:“Tensor Core 是一條指令”
Tensor Core 是硬體單元,可通過 PTX 的 wmma(warp‑level matrix multiply‑accumulate)或 mma 指令來排程,但程式設計師看到的是 warp 內協同操作,與傳統單指令流含義不完全一樣。嚴格來說,它是多執行緒並行執行的矩陣運算原語,依賴於 CUDA 程式設計模型。
學習路徑
- 基礎入門:閱讀《計算機體系結構:量化研究方法》(Hennessy & Patterson)中指令集原理章節,理解操作碼、定址方式、流水線基礎。
- 向量與矩陣 ISA:研讀 ARM SVE/SVE2 及 SME 技術手冊,以及 Intel® 64 and IA-32 Architectures Software Developer Manuals 中 AMX 說明。
- GPU ISA 精髓:學習 NVIDIA PTX ISA 規範,結合 cuda-samples 中的 wmma 示例,體會 SIMT 下的矩陣運算。
- 開放 ISA 實踐:跟隨 RISC‑V Vector 1.0 標準文件,在 QEMU/Spike 模擬器上寫向量程式碼;嘗試用 LLVM 後端生成自定義 RISC‑V 指令。
- 編譯器鏈條:學習 MLIR 的 Toy 教程,認識如何從高層 Tensor 運算元逐層降低到 ISA;也可上手 TVM 的自定義後端註冊。
- 前沿動態:關注 Hot Chips、ISCA 等頂會關於 AI ISA 的論文,追蹤 ARM、RISC‑V 基金會的技術部落格。
一句話總結
指令集架構是 AI 晶片的“DNA”,它既抽象了千差萬別的硬體實現,又定義了軟體棧的效率上限;在開放與專用、靈活與極效的永恆張力中,ISA 的進化將持續重塑智慧計算的終局。
延伸閱讀與來源
- Hennessy J L, Patterson D A. Computer Architecture: A Quantitative Approach (第 6 版). 附錄 A‑I 關於向量、SIMD 和域特定架構的討論。
- ARM 官網公開文件:《Arm Architecture Reference Manual for A‑profile architecture》中 SVE/SME 章節。
- Intel 軟體開發手冊 (
Intel® 64 and IA-32 Architectures Software Developer’s Manual) Volume 1‑3,第 4 卷涉及 AMX 指令。 - NVIDIA PTX ISA 規範最新版 (
docs.nvidia.com/cuda/parallel-thread-execution/),wmma 與 mma 指令描述。 - RISC‑V 基金會向量擴充套件規範:“RISC‑V “V” Vector Extension Version 1.0”。
- 李沐等:《動手學深度學習》附錄部分對 GPU 計算與底層指令的講解。
(注:以上來源基於行業公開文件,因檢索異常未直接抓取連結,但均可從官方渠道獲取。)