Semiconductor Compute Unit(半導体演算ユニット)

article technology medium #compute-unit#cpu-core#simd-vector#gpu-sm#tensor-core#systolic-array#npu-accelerator#numeric-formats
Created: 2026-05-30 Updated:

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 解消、ROBRAT) → 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/BlackholeRISC-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/bytebatch=1 推論は帯域バウンドゆえ Tensor Core 増設は無効。数値フォーマット:

形式bit指数仮数用途
FP64641152科学 HPC
FP3232823訓練(旧)・累算
TF3219810Ampere+
BF161687訓練 (安定性で FP16 優先)
FP1616510訓練(ロススケーリング要)
FP8 E4M3843順伝播 重み/活性
FP8 E5M2852勾配
FP44極限量子化推論 [VERIFY]
INT88推論PTQ
INT44積極量子化

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 エントリ実数

Local graph