# メモリウォール・電力の壁・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設計]]、[[同時マルチスレッディング]]
- 先進パッケージング → [[チップレット]]