CPU
上級
SMT (Simultaneous Multithreading)(エスエムティー)
1物理コアで複数スレッドを並列実行するCPU技法。Intel Hyper-Threading (1999) が代表、CPU使用率向上で実効性能20-40%向上。
0 回閲覧
0 いいね
2026/5/15 更新
関連タグ
CPU
アーキ
SMT
HyperThreading
概要
SMT (Simultaneous Multithreading) は1物理CPUコアで複数のハードウェアスレッドを並列実行する技法。1968年Edward Sussenguth (IBM) が概念提案、1995年Dean Tullsen / Susan Eggers (UWashington) チームの論文「Simultaneous Multithreading: Maximizing On-Chip Parallelism」(ISCA 1995) で本格化。Intel Pentium 4 (2002) のHyper-Threading で商業展開、現在は Intel / AMD / IBM POWER / ARM Neoverse 等多くのCPU に搭載。
SMT vs CMT vs Fine-grained MT
| 方式 | 説明 | 採用例 |
|---|---|---|
| SMT (Simultaneous) | 同時並列実行 | Intel HT / AMD Zen / IBM POWER |
| CMT (Cluster) | 物理ユニット部分共有 | AMD Bulldozer (2011-2017) |
| Fine-grained MT | クロック単位切替 | Sun UltraSPARC T1 |
| Coarse-grained MT | キャッシュミス時切替 | Intel Itanium |
SMT2 / SMT4 / SMT8
| 技術 | スレッド数 | 採用 |
|---|---|---|
| SMT2 | 2 (物理1 + 仮想1) | Intel HT / AMD Zen |
| SMT4 | 4 (物理1 + 仮想3) | IBM POWER7 / POWER8 |
| SMT8 | 8 (物理1 + 仮想7) | IBM POWER9 / POWER10 |
性能向上効果
| ワークロード | SMT2 効果 |
|---|---|
| 並列処理 (Render / 動画エンコード) | 20-40% |
| 数値計算 (HPC) | 10-30% |
| Web Server | 25-40% |
| Database | 30-50% |
| ゲーム | -5%〜+10% (混合) |
| シングルスレッド | -2%〜+2% (キャッシュ汚染) |
Apple Silicon は SMT 採用なし
Apple は M1 (2020) 以降のApple Silicon でSMT を採用しない設計。理由:
- 大型ROB (630 entries・業界最大級) でシングルスレッド性能を最大化
- E-core 多搭載 (4-12個) で並列性確保
- セキュリティ (SMT サイドチャネル攻撃回避)
- 設計シンプル化
SMT セキュリティ問題
| 脆弱性 | 年 | 影響 |
|---|---|---|
| TLBleed | 2018 | SMT で同物理コアのTLB 共有が漏洩 |
| L1TF (Foreshadow) | 2018 | L1 キャッシュ汚染攻撃 |
| MDS (Zombieload等) | 2019 | マイクロアーキバッファ漏洩 |
| ScarBleed | 2024 | AMD Zen 系列対象 |
Intel / Microsoft / Google は機密ワークロードでSMT 無効化を推奨する場面多。
関連用語との違い
- vs OoO: 1スレッド内並列 (OoO) / 複数スレッド並列 (SMT)
- vs Multi-Core: 物理コア複数 / 論理スレッド複数
- vs SIMD: データ並列 / 命令並列
FAQ
Q1: SMT 有効/無効で性能差? A: 並列ワークロードで20-40%向上・シングルスレッド-2%〜+2%。ゲームによっては SMT 無効化で安定性向上。
Q2: Apple なぜSMT 非採用? A: 大型OoO + E-core 多数で代替・SMT 由来のサイドチャネル脆弱性回避・電力効率優先の設計選択。
Q3: SMT サイドチャネルは怖い? A: 共有仮想ホスト・マルチテナント環境で危険。クラウド事業者は機密ワークロード分離でSMT 制限。