# メモリウォール・電力の壁・ILP の壁 現代プロセッサの性能向上を制限する**3 つの根本的な壁**。どれも「やればやるほど逓減する」という性質を持ち、アーキテクチャ設計のトレードオフの核心にある。 --- ## 1. メモリウォール(Memory Wall) プロセッサのクロックが高速化するほど、相対的に**主記憶(DRAM)アクセスのレイテンシが長く**なる問題。 ### 実際の数字(DDR5-6400 + 4 GHz CPU) ``` アドレス送信: 1 バス周期 RAS-to-CAS 遅延: 30 バス周期 CAS レイテンシ: 30 バス周期 データ返送: 1 バス周期 CPU 内部処理: ~30 CPU クロック 合計: (1+30+30+1) × (4000 MHz/3200 MHz) + 30 ≒ 108 CPU クロック ``` **6 GHz** のプロセッサでは **147 クロック**以上になる。コンシューマ向け低速メモリでは **200 クロック超** もあり得る。 ### なぜ解消が難しいか - 光速の制限: 信号の往復距離は物理的に縮められない。 - DRAM の構造: セル内の微小コンデンサの充放電速度に物理的上限がある。 - 帯域 vs レイテンシの分離: バス幅を増やしても往復時間(レイテンシ)は下がらない。 ### SDRAM のパイプライン化 非同期 DRAM から SDRAM への移行で、複数のメモリアクセスをパイプライン化できるようになり**実効帯域**が 2〜3 倍向上。レイテンシは微減にとどまったが帯域向上でスループットが改善。 ### 帯域 vs レイテンシ - **帯域向上**: バス幅拡大・デュアル/クアッドチャネル → 画像処理・科学計算向け。 - **レイテンシ改善**: 困難。「金で神を買収できない(you can't bribe god)」。 - キャッシュ階層・3D V-Cache・HBM が実用的な対策。 --- ## 2. 電力の壁(Power Wall) クロック周波数を上げると消費電力が**超線形に増加**する問題。 ``` 消費電力 ∝ f × V² (f = 周波数、V = 電圧) ``` - クロック 30% 増 → 消費電力が約 2 倍になりうる(トリプルワーミー: 切り替えが増え + 電圧も上げ + 漏れ電流も増える)。 - 漏れ電流: オフ状態でも電流は完全にゼロにならず、温度が上がると漏れも増える(正帰還)。 ### 電力の壁の実際の天井 | 用途 | 電力上限の目安 | |---|---| | デスクトップ / サーバー | 150〜200 W | | プロ向けラップトップ | ~50 W | | 薄型ラップトップ | ~15 W | | タブレット | ~10 W | | スマートフォン | < 5 W | Pentium 4(31 段パイプライン・3.8 GHz)は電力の壁に激突した代表例。Athlon 64(2+ GHz)は低クロックながら高 IPC で Pentium 4 を超えた。→ [[Brainiac設計]] --- ## 3. ILP の壁(ILP Wall) OOO スーパースカラーがいくら賢くても、実アプリには**十分な命令レベル並列性が存在しない**という限界。 - 4-issue スーパースカラーには毎サイクル 4 つの独立命令が必要。 - 実際: L1 キャッシュのロードレイテンシ(3〜5 クロック)だけでほとんどの ILP を消費する。 - SPECint の平均 IPC: **2 未満**(ベンチマーク向けに最適化されたコードでも)。 - OOO による向上幅: インオーダーに対し **20〜40%** 程度(期待より低い)。 「ポインタチェーシング」コードでは、データ依存のロードが連鎖するため 1 IPC を維持することさえ困難。 --- ## 3 つの壁の相互関係 ``` 高クロック追求 → 電力の壁 ↓ ILP 追求 → ILP の壁 ↓ メモリアクセス → メモリの壁 ``` 現在のアーキテクチャトレンドはこれら 3 つへの**総合的な対応**: | 対策 | ターゲットとする壁 | |---|---| | 非対称マルチコア(big.LITTLE) | 電力の壁・ILP の壁 | | 大容量 LLC・3D V-Cache | メモリの壁 | | HBM・広帯域メモリ | メモリの壁(帯域) | | SIMD ベクトル化 | ILP の壁(DLP で補完) | | SMT | ILP の壁(TLP で補完) | | チップレット | 電力の壁・製造歩留まり | --- ## 横断的知見 - 今後の取り込みで、複数ソース間の関係を追記する。 ## 未解決の問い - この概念をどのソース群で継続的に検証するか。 ## 関連 - キャッシュによる対策 → [[メモリ階層とキャッシュ]] - ILP・TLP の基礎 → [[Brainiac設計]]、[[同時マルチスレッディング]] - 先進パッケージング → [[チップレット]]