0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

#0126(2025/05/07)CPUアーキテクチャとは

Last updated at Posted at 2025-05-07

CPUアーキテクチャとは

1. 序文

CPUアーキテクチャはハードウェアとソフトウェアをつなぐ“最小の契約書”であり、Instruction Set Architecture (ISA)マイクロアーキテクチャ半導体実装という階層に分離されます。本稿では、設計哲学 (CISC/RISC/VLIW)、代表的 ISA、PPA 最適化、セキュリティ、クロスコンパイル/エミュレーション、そして Docker によるマルチアーキテクチャ運用まで、上級エンジニアの武器となる包括的知識を整理します。


2. アーキテクチャ三層モデル

役割 変化速度
ISA CPU が理解する命令語とメモリモデル 数十年単位 (後方互換重視) x86‑64, AArch64, RV64GCV
マイクロアーキテクチャ 命令を実行する内部パイプライン構造 2–4 年 Intel Core Ultra, Apple Firestorm, AMD Zen 4
実装 (プロセス/レイアウト) トランジスタ寸法・電圧・配線 1.5–2 年 TSMC N3E 5 GHz, Intel 20A

契約境界は ISA。上層 (OS/アプリ) は ISA のみを意識すればよく、下層は独立に進化できます。


3. ISA 設計哲学

3.1 CISC・RISC・VLIW/EPIC 

分類 秘密兵器 一言 採用 ISA / メーカー例
CISC
(Complex Instruction Set)
可変長・高機能命令 “1 命令で何でも屋” x86/x86‑64 (Intel, AMD), 68000, VAX
RISC
(Reduced Instruction Set)
単純固定長 + Deep Pipeline “ハードで並列度を稼ぐ” ARM/AArch64 (Arm, Apple), POWER 10, MIPS, SPARC, RISC‑V
VLIW / EPIC 静的命令束 (Very‑Long Word) “並列性はコンパイラに丸投げ” Itanium (HP+Intel), TI C66 DSP

注意: 同じメーカーでも複数思想を実装する。Intel = CISC (x86) + GPU RISC + AI NPU。

3.2 ハイブリッド化の現在

現代の CISC CPU はデコード後に内部 RISC‑like µOP に翻訳し OoO 実行するため、三分類は“スペクトル”として理解すると実態に近い。


4. 代表的 ISA と進化年表

主流 ISA トピック
1978 x86 (8086) 16‑bit CISC 誕生
1985 MIPS R2000 RISC 商用化
1993 PowerPC 601 AIM 連合、RISC in Mac
1999 x86‑64 (AMD64) 64‑bit 拡張を AMD が主導
2011 ARMv8‑A (AArch64) スマホ→サーバーの転機
2015 RISC‑V RV64G オープン ISA 公開
2020 Apple M1 PC 市場へ Arm64 侵攻

5. PPA (Power–Performance–Area)

半導体設計の KPI 三角形。周波数向上は電力 (P) と面積 (A) 増に跳ね返り、P・P・A の重心移動が製品差別化。

  • DVFS: 需要に応じた電圧/周波数可変。
  • Chiplet: I/O と演算ダイ分割で A/W あたり性能改善。
  • AI 盛り: TOPS/W 指標が次世代サーバーで支配的。

6. セキュリティアーキテクチャ

  1. 特権階層: x86 Ring0‑3, ARM EL0‑3, RISC‑V M/S/U。
  2. MMU & IOMMU: ページ保護 + デバイス DMA 隔離。
  3. エンクレーブ: Intel SGX, AMD SEV‑SNP, ARM TrustZone, RISC‑V Keystone。
  4. サイドチャネル対策: Spectre/Meltdown → 投機制御、キャッシュフラッシュ、FEAT_DPB+L1D randomize。

7. クロスコンパイル & エミュレーション

技術 主目的 メリット 代表ツール
クロスコンパイル 異なる ISA 用バイナリを生成 ネイティブ速度 GCC/Clang --target, Rust cargo --target, Go GOARCH
エミュレーション 異なる ISA のバイナリをそのまま動かす 実機不要で検証 QEMU (TCG), Apple Rosetta 2, Unicorn, Renode
# x86_64 ホストで ARM64 Linux バイナリをビルド
$ aarch64-linux-gnu-gcc main.c -o app_arm64
# QEMU user‑mode で即実行確認
$ qemu-aarch64 -L /usr/aarch64-linux-gnu ./app_arm64

8. Docker × マルチアーキテクチャ

  1. イメージはプラットフォーム固有: ELF, glibc, musl が ABI を固定。
  2. OCI Manifest List で 1 タグに複数アーキテクチャ変種を格納。
  3. buildx + binfmt_misc + QEMU がクロスビルド/テストを自動化。
# binfmt_misc で全 ISA エミュレータを登録
$ docker run --rm --privileged tonistiigi/binfmt --install all
# マルチプラットフォームイメージをビルド&Push
$ docker buildx build --platform linux/amd64,linux/arm64 -t user/app:1.0 --push .

制約: AVX‑512/SVE などハード固有拡張はエミュレーション不可。GPU パススルーもホスト依存。


9. マイクロアーキテクチャ最新トピック (2024‑2025)

  • Apple M3: 3 nm, Aggressive µOP Fusion, HW AMX。
  • Intel Core Ultra (Meteor Lake): 3D Foveros、E/P/LP‑E コア 3 タイア。
  • AMD Zen 5: 4 nm + 3D V‑Cache、AI NPU (XDNA 2)。
  • SiFive P870: RISC‑V OoO, TileLink 3.x, Vector RVV 1.0。

10. まとめ & 推奨アクション

  1. 抽象化境界を意識し ISA ↔ µarch ↔ 実装 を分離して学ぶ。
  2. PPA とセキュリティのトレードオフを設計初期から数値化。
  3. クロスコンパイル + Docker buildx を CI に統合し、マルチアーキテクチャのリリースパイプラインを自動化。
  4. VLIW/EPIC の教訓を AI 専用アクセラレータ設計に活かす (コンパイラ依存度)。

11. 用語速習リスト

略語 正式名 / 日本語 意味・用途
ISA Instruction Set Architecture 命令セットとメモリモデルの仕様書
PPA Power, Performance, Area 電力・性能・面積の最適化指標
DVFS Dynamic Voltage & Frequency Scaling 動的電圧周波数制御
SMT Simultaneous Multithreading ハード同時マルチスレッド
MMU/IOMMU Memory/IO Management Unit 仮想アドレス変換 & デバイス隔離
QEMU Quick EMUlator TCG (Tiny Code Generator) による動的バイナリ翻訳
OCI Open Container Initiative Docker イメージ仕様策定団体

12. 参考文献

  • Patterson & Hennessy, Computer Architecture – A Quantitative Approach, 6th Ed.
  • ARM ARM v8‑A Architecture Reference Manual
  • RISC‑V ISA Spec v2.3 & Vector v1.0
  • Intel® 64 and IA‑32 Architectures Optimization Manual (2024)
  • AMD Zen 5 Microarchitecture (Hot Chips 2024)
  • Apple Silicon SoC Blueprint (WWDC 2024, Session 10205)
  • Docker buildx & OCI Image Spec v1.1
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?