算力芯片 — 高性能 CPU/GPU/NPU 微架構分析

濮元愷

  • 出版商: 電子工業
  • 出版日期: 2024-08-01
  • 售價: $774
  • 貴賓價: 9.5$735
  • 語言: 簡體中文
  • 頁數: 456
  • ISBN: 7121483793
  • ISBN-13: 9787121483790
  • 相關分類: 半導體
  • 立即出貨 (庫存 < 3)

買這商品的人也買了...

商品描述

本書介紹了超級電腦算力和AI算力的異同,從CPU流水線開始,描述主要的眾核處理器架構和功能部件設計。在GPU和NPU等加速器部分,介紹了GPU為何能從單純的圖形任務處理器變成通用處理器。GPU在設計邏輯、存儲體系、線程管理,以及面向AI的張量處理器方面成為最近幾年全世界科技行業最矚目的明星。本書對華為等廠商推出的NPU芯片設計也做了架構描述,中國也擁有獨立自主知識產權的高算力芯片,並且支持多芯片、高帶寬互連。本書也回顧了近20年來主流的CPU、GPU芯片架構的特點,介紹了存儲與互連總線技術,即大模型專用AI超級電腦的中樞核心。

目錄大綱

目 錄

第1章 從TOP500和MLPerf看算力芯片格局 1
1.1 科學算力最前沿TOP500 1
1.1.1 TOP500的測試方式HPL 3
1.1.2 TOP500與算力芯片行業發展 5
1.2 AI算力新標準MLPerf 9
第2章 高性能CPU流水線概覽 14
2.1 什麽是指令 14
指令集的設計哲學 14
2.2 流水線與MIPS 17
2.2.1 經典5級流水線概述 18
2.2.2 超流水線及其挑戰 21
2.3 分支預測 25
2.3.1 先進分支預測之“感知機分支預測器” 29
2.3.2 先進分支預測之“TAGE分支預測器” 31
2.4 指令緩存體系 33
2.5 解碼單元 37
2.6 數據緩存 39
2.6.1 多級緩存的數據包含策略 41
2.6.2 緩存映射關系 42
2.6.3 受害者緩存 45
2.6.4 寫入策略與一致性協議 47
2.7 TLB(旁路快表緩沖) 49
2.8 亂序執行引擎 52
2.8.1 指令相關的解決方案 53
2.8.2 寄存器重命名 55
2.8.3 指令提交與ROB單元 57
2.8.4 發射隊列 59
2.8.5 數據旁路 65
2.9 超線程技術 66
第3章 緩存硬件結構 71
3.1 DRAM與SRAM設計取捨 71
3.2 DRAM讀寫過程 72
3.3 SRAM讀寫過程(以6T SRAM為例) 74
3.4 Intel對8T SRAM的探索 76
3.5 不同規格SRAM物理特性 78
3.6 非一致性緩存架構 79
第4章 CPU計算單元設計 82
4.1 計算單元邏輯構成 82
4.2 整數和浮點數的差異 83
4.3 算術邏輯單元 84
4.3.1 ALU加法器與減法器 85
4.3.2 ALU比較單元和位移單元 85
4.3.3 ALU乘法器與除法器 86
4.4 浮點數單元 87
4.4.1 浮點加法器與減法器 88
4.4.2 浮點乘法器與除法器 91
4.5 指令的加載和存儲單元 93
4.6 單指令多數據 95
4.6.1 MMX指令集 97
4.6.2 3DNow!指令集 101
4.6.3 SSE指令集及其擴展指令集 102
4.6.4 AVX指令集及其擴展指令集 104
4.6.5 AVX-512指令集與下一代AVX10指令集 105
4.6.6 對AVX指令集的間接實施 112

4.7 矩陣加速指令集 113
4.8 ARM SVE指令集 115
第5章 邏輯拓撲結構 120
5.1 環形拓撲方式 120
5.2 Infinity Fabric拓撲方式 124
5.3 網格拓撲方式 129
5.4 片上網絡(NoC) 133
5.4.1 NoC分析重點 135
5.4.2 NoC高速發展的原因 136
5.4.3 常見NoC拓撲結構及特性 136
5.4.4 拓撲結構指標參數 139
5.4.5 拓撲結構改進案例 140
5.4.6 路由器微架構設計 142
5.5 近存計算拓撲特性 144
5.5.1 IPU芯片 145
5.5.2 WSE芯片 147
5.6 單芯片UMA與NUMA 151
第6章 經典算力CPU芯片解讀 155
6.1 申威處理器 155
6.1.1 SW26010單芯片設計 155
6.1.2 “神威?太湖之光”系統設計 157
6.1.3 SW26010對比CPU+協處理器方案 158
6.1.4 針對SW26010的OpenCL編譯系統設計 159
6.1.5 SW26010後期迭代 161
6.2 富士通A64FX處理器 162
A64FX指令流水線設計 163
6.3 蘋果M1處理器 165
6.3.1 SoC模塊化設計 166
6.3.2 高性能核心流水線設計 167
6.3.3 計算單元資源 168
6.3.4 UltraFusion芯片擴展 169
6.4 Ampere處理器 171
6.4.1 Ampere Altra 171
6.4.2 AmpereOne 174
6.5 IBM POWER處理器 177
6.5.1 POWER9架構設計 179
6.5.2 POWER9拓撲技術 181
6.5.3 POWER10架構分析 183
6.5.4 POWER10拓撲技術 183
6.5.5 POWER10 SIMD單元改進與MMA加速器 186
6.6 EPYC 9004處理器 187
6.6.1 Zen微架構介紹 187
6.6.2 EPYC處理器設計 200
6.6.3 Zen4c小核心設計策略 202
6.7 Sapphire Rapids微架構Xeon處理器 205
6.7.1 EMIB封裝 206
6.7.2 Golden Cove微架構 209
6.7.3 其他硬件加速單元——Intel IAA存內分析加速器 211
6.7.4 其他硬件加速單元——Intel DSA數據流加速器 212
6.7.5 Intel QAT數據保護與壓縮加速技術 213
6.7.6 Intel DLB動態負載均衡器 215
6.8 Tesla Dojo超級電腦和D1處理器 217
6.8.1 D1芯片微架構 218
6.8.2 訓練瓦片和存儲資源 220
6.8.3 豐富的低精度數據類型 221
6.8.4 設計獨特性與思考 223
第7章 從圖形到計算的GPU架構演進 224
7.1 GPU圖形計算發展 224
7.1.1 從三角形開始的幾何階段 224
7.1.2 光柵化銜接3D和2D世界 227
7.1.3 像素著色階段 228
7.1.4 DirectX API推動GPU演進 229
7.2 GPGPU 指令流水線 233
7.2.1 取指階段 234
7.2.2 解碼階段 235
7.2.3 發射階段 238
7.2.4 執行階段 240
7.2.5 寫回階段 242
第8章 GPGPU存儲體系與線程管理 245
8.1 GPGPU多級別存儲體系 245
8.1.1 大容量寄存器與倒金字塔結構 248
8.1.2 不同時代NVIDIA GPU片上存儲器容量 250
8.1.3 GPGPU存儲組織模式之合並訪存 253
8.1.4 GPGPU存儲組織模式之板塊沖突 255
8.2 GPGPU線程管理 258
8.2.1 GPU線程定義 259
8.2.2 線程束寬度 261
8.2.3 線程調度和管理 265
8.2.4 線程塊在線程管理中的作用 268
8.2.5 SIMT堆棧與Volta架構對線程管理的改進 270
8.2.6 Cooperative Group 275
8.2.7 Hopper架構對線程管理的改進 278
8.3 通用矩陣乘法與AI類任務 279
8.3.1 利用線程塊優化矩陣計算 280
8.3.2 通過流實現任務級並行 281
8.4 VLIW指令結構在GPU中的應用歷史 283
第9章 張量處理器設計 287
9.1 張量的定義 287
9.2 脈動陣列計算單元 288
9.2.1 谷歌TPU處理器 291
9.2.2 TPU v4芯片概覽 293
9.2.3 自研光學芯片用於TPU節點拓撲 295
9.3 Volta架構引入張量核心 298
9.3.1 張量核心設計細節 298
9.3.2 張量核心數據加載與指令編譯 303
9.3.3 矩陣乘法訪存優勢與數據佈局 306
9.3.4 Ampere架構引入稀疏性張量加速 308
9.3.5 Hopper架構改進張量內存加速器 311
9.3.6 低精度性能增益 313
9.4 華為昇騰Ascend 910 NPU芯片 315
9.4.1 達芬奇架構AI Core分析 316
9.4.2 拓撲互連能力 319
9.4.3 CANN與AI框架MindSpore 321
第10章 經典GPU算力芯片解讀 324
10.1 NVIDIA GPU芯片 324
10.1.1 G80架構 324
10.1.2 GT200架構 326
10.1.3 Fermi架構 329
10.1.4 Kepler架構 333
10.1.5 Maxwell架構 337
10.1.6 Pascal架構 338
10.1.7 Volta架構 340
10.1.8 Turing架構 343
10.1.9 Ampere架構 345
10.1.10 Hopper架構 351
10.2 AMD GPU芯片 357
10.2.1 TeraScale架構 357
10.2.2 GCN架構 364
10.2.3 RDNA架構 371
10.3 Intel Xe GPU架構 386
10.3.1 x86指令集Larrabee GPGPU 386
10.3.2 Xe-core高端核心與EU低端核心 389
10.3.3 子片和擴展結構 395
10.3.4 超大芯片Ponte Vecchio 396
第11章 存儲與互連總線技術 400
11.1 從DDR到HBM 400
11.1.1 為更高帶寬持續改進——GDDR 400
11.1.2 新封裝方式——HBM 405
11.2 PCI Express總線概況 407
11.2.1 由需求驅動的PCIe總線發展歷程 408
11.2.2 PCIe物理和數據鏈路層技術概覽 411
11.3 CXL擴展技術 414
11.3.1 CXL的3個子協議 416
11.3.2 CXL 2.0主要特性:內存池化 417
11.3.3 CXL 3.0主要特性:內存共享、多級拓撲 418
11.3.4 CXL協議細節 419
11.3.5 CXL延遲拆解 421
11.4 NVLink互連技術與GPU超級電腦 424
11.4.1 Pascal架構第一代NVLink 424
11.4.2 Volta架構第二代NVLink 428
11.4.3 Ampere架構第三代NVLink 429
11.4.4 Hopper架構第四代NVLink 429
11.4.5 Grace Hopper超級芯片 432