Semiconductor Compute Unit(半導体演算ユニット)
8 階層で半導体演算ユニットを俯瞰(スカラーコア→SIMD/ベクトル→GPU SM→シストリック/テンソル→SoC NPU→固定機能→空間/データフロー→横断指標)、tech-84 の演算側として配置。
article technology ja 8 階層で半導体演算ユニットを俯瞰(スカラーコア→SIMD/ベクトル→GPU SM→シストリック/テンソル→SoC NPU→固定機能→空間/データフロー→横断指標)、tech-84 の演算側として配置。Semiconductor Compute Unit(半導体演算ユニット)
半導体演算ユニットは トランジスタが構成する「演算の心臓部」 で、シリコン内部で算術を実行する実行エンジン群を指す。本記事はこれを 8 階層 (スカラーコア / SIMD・ベクトル / GPU SM / シストリック・テンソル / SoC NPU / 固定機能 / 空間・データフロー / 横断指標) で並べる 地図層。ユニット間の配線・パッケージング (HBM/UCIe/CoWoS) は tech-84、プログラミングモデルは tech-70、量子化・推論実装は tech-46、スケールアウトは tech-71、電力・冷却は tech-90 へ委譲。情報カットオフ ~2025-08、confidence: medium 固定(2026-05 時点での外部再検証は未実施)。未確認は [VERIFY]。
なぜ演算ユニットの分類が重要か
ユニット選定は メモリウォール に律速される。FLOPS は世代あたり 2–4× で伸びるが DRAM 帯域は ~30%/世代で、帯域が頭打ちならユニットを増やしても性能は伸びない。roofline (性能 = min(peak FLOPS, 帯域 × arithmetic intensity)) がこのバランスを定量化し、計算/帯域バウンドで最適ユニットが変わる。さらに TOPS マーケ値と実効の乖離 — 公称は 100% 稼働・最大バッチ前提で batch=1 では数%〜数十%へ落ちる。「何を何個積むか」はピーク TOPS でなく roofline と arithmetic intensity の事前分析で決まる。
Layer 1 — スカラー / 汎用コア(CPU)
CPU コアは逐次・汎用計算の基本単位で、OoO スーパースカラコアは投機並列を隠蔽実行する。パイプライン: Fetch (分岐予測/BTB/RAS) → Decode (µop 分解) → Rename (WAW/WAR 解消、ROB・RAT) → Execute (複数ポート ALU/FPU/AGU/branch) → Retire (プログラム順に状態確定)。ALU は整数、FPU は IEEE 754 で乗加算融合の FMA (a×b+c) が遅延半減。IPC が主指標 (実負荷で 4–6)、ROB は Golden Cove ~512・Apple Firestorm ~630 [VERIFY]。分岐予測は TAGE 系・間接用 ITTAGE、誤予測ペナルティ ~15–25 サイクル。P-core/E-core 異種混在: Arm DynamIQ/big.LITTLE、Intel Hybrid (P-core は深 OoO・AVX-512、E-core Gracemont は AVX-512 非搭載)。代表: Intel Core Ultra 9 285K、Apple M3、Snapdragon 8 Gen 3、AMD Zen 4 [VERIFY]。
Layer 2 — データ並列 / SIMD・ベクトル
SIMD は 1 命令をベクタ全要素にロックステップ適用する。x86: SSE (128-bit) → AVX (256-bit, YMM) → AVX2 (整数 + FMA) → AVX-512 (512-bit, ZMM, k-mask 述語化、BF16/VNNI) → AMX (1KB タイルの 2D 行列積)。AVX-512 は一部 Intel SKU で周波数スロットルを招くが Zen 4 は無問題。Arm: NEON (128-bit) → SVE/SVE2 (128–2048-bit 実装定義、VLA でベクタ長非依存・再コンパイル不要、富岳 A64FX は 512-bit)。RISC-V RVV: VLEN 実装定義、LMUL でレジスタ群を拡幅、マスクで述語化。GPU SIMT: 独立スカラスレッドを warp (NVIDIA 32) / wavefront (AMD 64、RDNA 32) にまとめ毎サイクル同一命令を実行 — 制御フローの ダイバージェンスは直列化 (active/inactive マスク)。
Layer 3 — GPU コンピュートユニット
NVIDIA SM が演算単位 (ダイあたり数十〜千超)。SM 内部 (Ampere/Hopper): CUDA core 128/SM、warp scheduler 4/SM、共有メモリ/L1 192–228 KB、Tensor Core 4/SM。Tensor Core 世代: Volta (FP16→FP32) → Turing (+INT8/INT4) → Ampere (+BF16/TF32/FP64) → Hopper (+FP8 E4M3/E5M2) → Blackwell (+FP4) [VERIFY: 各世代ピーク]。FP8 は E4M3 (順伝播)/E5M2 (勾配) でいずれも per-tensor スケーリング必須。2:4 構造化スパースは 4 中 2 非ゼロでゼロ乗算を飛ばし実効倍化。occupancy ≠ peak — 計算バウンドは 25–50% でも十分。代表: A100、H100、B200 [VERIFY]。AMD CU/CDNA: CU は SM 相当 (64 SIMD レーン + LDS)、Matrix Core は MI250X=FP64、MI300X=FP8 (304 CU) [VERIFY] — AMD は HBM 容量、NVIDIA は世代と CUDA で勝る。Intel Xe-core/XMX: XVec + XMX (シストリック INT8/BF16/FP16)。Gaudi 3 は別系統で MME アレイ [VERIFY]。
Layer 4 — 行列 / テンソル / シストリックエンジン
シストリックアレイは PE の 2D メッシュで、データが隣接 PE 間を律動的に流れ大域メモリバスを使わない。weight-stationary で重みを留めオフチップトラフィック最小化、充填時は全 PE が稼働し高利用率。代償は充填バブル O(array_dim)、弱点は不規則/スパースで PE 遊休・パディング必須。Google TPU MXU: 128×128 BF16 アレイ/チップ、v2 (2017) が BF16 主訓練導入 (8e7m, FP16 より広レンジ)、v4 3D torus (4096 pod)、v6 “Trillium” INT8/FP8 [VERIFY]。MXU は単独でなく VPU + 埋込スカラコア併持。AWS Trainium/Inferentia: Inferentia は NeuronCore INT8/BF16 推論、Trainium NeuronCore-v2 BF16/FP8、Trainium2 [VERIFY]、Neuron SDK (XLA) で移植。systolic vs dataflow: シストリック (TPU/NPU) は規則形状で利用率最大・不規則でパディング浪費、dataflow (Groq/SambaNova) は不規則でも利用率を保つ。
Layer 5 — SoC NPU / AI アクセラレータ
SoC NPU はモバイル/PC の SoC 統合 AI ユニットで、CPU/GPU と UMA 密結合し PCIe レイテンシなしで推論する。Apple Neural Engine: A/M シリーズ統合、A17 Pro で 16-core ~35 TOPS [VERIFY: マーケ値]、INT8/INT16 専用で Core ML 経由のみ。Qualcomm Hexagon/HVX: 旧世代は HVX (1024-bit SIMD) + スカラコア、新世代は専用 INT8/INT4 MAC アレイ、X Elite ~45 TOPS NPU [VERIFY]、QNN EP でアクセス。ハイパスケーラ自社シリコン: Microsoft Maia 100 (Azure ASIC、FP8/BF16) [VERIFY]、Meta MTIA v1/v2 [VERIFY]。edge TOPS の現実: 公称はピーク INT8 で実効はバッチ/トポロジ/コンパイラ依存、目安 公称 ÷2〜4、INT4 ネイティブなら effective TOPS は INT8 の 2×。
Layer 6 — DSP / 固定機能ユニット
専用化は汎用比 ~10–20× 電力効率で勝つため特定ワークロードは固定機能化される。DSP: Harvard アーキ・単一サイクル MAC・ゼロオーバヘッドループ・飽和演算、現代 SoC DSP (Hexagon, TI C66x) は VLIW+SIMD で DSP と AI を兼務。ISP: レンズ補正→demosaic→ノイズ除去→トーンマッピング→HDR の固定パイプ、再構成不可だが画像で優れた電力効率。ビデオコーデック: NVENC/NVDEC、Intel QuickSync (AV1)、AMD VCN (AV1 encode)、Apple VideoToolbox (ProRes) — H.265 encode を CUDA で回すと ASIC 比 ~10–20× 浪費ゆえ専用ブロック化。暗号エンジン: AES-NI が AES を 1 命令で、SHA 拡張、RISC-V Zkn、ビットコインマイナーはチップ全体が SHA-256d。
Layer 7 — 空間 / データフロー / 再構成可能
固定 ASIC と汎用の中間に再構成可能アーキが位置する。CGRA: ALU/MAC グリッドを再構成可能インターコネクトで結ぶ、FPGA より粗 (語レベル vs bit) で固定 ASIC より柔軟。FPGA DSP スライス: Versal/UltraScale+ の DSP48/DSP58、推論優位は構成可能データパス (カスタム量子化 INT4/INT6)・決定論レイテンシ・batch=1 効率的、劣位は ASIC 比スループット/W と長コンパイル。Cerebras WSE: WSE-3 ~900K コア・4nm [VERIFY] — オフチップボトルネック撤廃で 全重みオンチップ (超過は weight streaming)、代償は巨大面積・歩留。Groq LPU: キャッシュ/DRAM なし (SRAM ストリーミング)、FU 同期の 決定論実行 [VERIFY] — 低レイテンシ小バッチ向け・大バッチ訓練に非効率。SambaNova RDU: データフローグラフを 静的コンパイル、全データ移動を compile-time 解決。Tenstorrent Tensix: Wormhole/Blackhole は RISC-V Tensix を NoC メッシュ結合、各 Tensix は複数スカラコア + SRAM + 行列エンジン [VERIFY]。
横断指標と概念
FLOPS/TOPS: TOPS は AI で通常 INT8、1 MAC = 2 FLOP で換算。“sparse TOPS”・“peak vs sustained”・“TOPS/W” の枠違いに注意。arithmetic intensity & roofline: AI = FLOP / 転送バイト、ridge point = peak FLOPS / 帯域 で AI ≷ ridge が計算/帯域バウンド。H100 は ~3 PFLOPS / ~3.35 TB/s ≈ ~900 FLOP/byte、batch=1 推論は帯域バウンドゆえ Tensor Core 増設は無効。数値フォーマット:
| 形式 | bit | 指数 | 仮数 | 用途 |
|---|---|---|---|---|
| FP64 | 64 | 11 | 52 | 科学 HPC |
| FP32 | 32 | 8 | 23 | 訓練(旧)・累算 |
| TF32 | 19 | 8 | 10 | Ampere+ |
| BF16 | 16 | 8 | 7 | 訓練 (安定性で FP16 優先) |
| FP16 | 16 | 5 | 10 | 訓練(ロススケーリング要) |
| FP8 E4M3 | 8 | 4 | 3 | 順伝播 重み/活性 |
| FP8 E5M2 | 8 | 5 | 2 | 勾配 |
| FP4 | 4 | — | — | 極限量子化推論 [VERIFY] |
| INT8 | 8 | — | — | 推論PTQ |
| INT4 | 4 | — | — | 積極量子化 |
BF16 は FP32 と同指数幅でロススケーリング不要、FP16 は狭指数で勾配 over/underflow を招く。compute density: TOPS/W (edge NPU 5–20、server GPU 0.5–3 TFLOPS/W) と TFLOPS/mm² はトレードオフ。memory wall: 計算が帯域より速く伸び、HBM でも H100 ridge ~900 FLOP/byte は埋まらない。Amdahl/Gustafson: Speedup = 1/(S+(1−S)/N) は直列割合 S が小さい時のみ増設が効く (強スケーリング)、Gustafson は問題規模が資源比例なら効率維持 (弱スケーリング) — 帯域バウンドモデルは増設で線形スケールせず事前分析が前提。
アンチパターン 8 種
- AP-1 [High] タイル非整合の Tensor Core 低稼働: 行列次元が 8 (FP16/BF16)/16 (INT8) の倍数でないとピーク未達 (WMMA 規則)、非 2 冪語彙はパディング浪費。Fix: 語彙を 8/64 の倍数へ丸め、batch×seqlen も整合。
- AP-2 [High] arithmetic intensity 未分析の GPU 増設: 分析せず増設するが AI < ridge_point の帯域バウンドで無効。Fix: 先に roofline 分析し帯域バウンドなら融合カーネル/FlashAttention で改善。
- AP-3 [Critical] FP8 スケーリング欠落オーバーフロー: E4M3 は ±448 max と極狭、per-tensor amax スケーリングなしに超過が無音で inf/NaN へ溢れ不安定化。Fix: amax 追跡 (Transformer Engine delayed scaling 相当)。
- AP-4 [High] NPU INT8 キャリブレーションドリフト: PTQ の較正分布が本番と乖離 (英語較正→コード推論) すると per-channel スケール誤り、症状はベンチ良好・本番劣化。Fix: 本番代表分布で較正、ドリフト監視。
- AP-5 [Medium] TOPS マーケ値の実効性能誤認: ピークは 100% 稼働前提、モバイル NPU batch=1 で ~20–40%、GPU 帯域バウンド batch=1 で <5%。Fix: 対象バッチ/モデルの実測で評価。
- AP-6 [High] P-core/E-core の AVX-512 ディスパッチフォルト: Alder/Raptor Lake で AVX-512 を E-core 発行すると不正命令フォルト。Fix: AVX-512 パスを P-core 親和性指定。
- AP-7 [Medium] 小行列でのシストリック充填バブル: head_dim=64 等に 128×128 MXU を当てると充填/排出で利用率急落。Fix: 小行列を 1 つの大融合 matmul にバッチ化。
- AP-8 [Medium] Cerebras/Groq 静的スケジュール / on-chip 容量過信: WSE はモデルがオンチップ SRAM 超過で streaming レイテンシ加算、Groq は動的形状で再コンパイル/パディング要。Fix: 容量とモデルサイズを事前照合。
要確認事項
情報カットオフ ~2025-08、confidence: medium。2026-05 時点で外部検証できていない項目 (本文 [VERIFY] 該当):
- NVIDIA Blackwell B200/GB200 の FP4 実測 PFLOPS と各 Tensor Core 世代 (Volta〜Blackwell) ピーク値
- AMD MI300X 系 / Google TPU v6 / AWS Trainium2 / Intel Gaudi 3 の正確な FLOPS・帯域・ベンチ値
- 各社 SoC NPU の TOPS マーケ値 (Apple Neural Engine、Qualcomm Hexagon ~45 TOPS ほか)
- Microsoft Maia 100 / Meta MTIA v2 / Tenstorrent Blackhole / Groq LPU / SambaNova RDU の本番スペック・実測スループット
- CPU コアの ROB エントリ実数
Backlinks
9 backlinks
- related Silicon Implementation Targets: ASIC, FPGA, Custom Silicon, and IP Cores
- related Hardware Description Languages: Verilog, SystemVerilog, VHDL, and Modern HDLs
- related Hardware Design Verification and Test: Simulation, UVM, Formal Methods, and DFT
- related Cache Hierarchy and Locality (キャッシュ階層とローカリティ)
- related Emerging Memory Technologies (新規・不揮発メモリ技術)
- related Memory System Concepts (メモリシステム概念)
- related Semiconductor Foundry(半導体ファウンドリ)
- related Semiconductor Process Node(半導体プロセスノード)
- related Semiconductor Packaging(半導体パッケージング)