メモリーコントローラーは内蔵へ
マルチコアでCPUの性能が上がると、問題になるのはメモリーバスの帯域だ。マルチコアでは、プロセッサー全体でクロックあたりに実行される命令数が増えるため、当然、シングルコアよりも多くのデータ読み書きが必要になる。しかしメモリーは汎用品であり、技術開発による速度向上がCPUほど急速ではない。また、デュアルチャネルなどの方法(いわゆるメモリーインターリーブ)により、2つのメモリーを交互にアクセスしたり、一度に読み書きする単位を増やしたりする手法もすでに限界に達し、メモリーアクセスの周波数も向上ペースが落ちてしまった。
一般にメモリーとCPUコアの間には、メモリーにアクセスする「メモリーコントローラー」が存在する。メモリーコントローラーは、メモリーコントローラーチップセット内にあるため、どうしても経路が長くなり、CPUがメモリー上のデータを読み書きする指令を出してから実際に得られるまでの時間の遅延(レイテンシ)は長くなる。
AMDは、OpteronやAthlon 64といったプロセッサーにメモリーコントローラーを内蔵し、CPUとメモリー間のレイテンシを少なくした。PCアーキテクチャー以外に目を向けると、この構成はUltraSparcなどですでに実装されており、システムの高速化には欠かせない技術だ。
インテルのCoreマイクロアーキテクチャーでは、メモリーコントローラーはチップセットの内部にある。現行の45nmプロセスで作られたPenrynプロセッサー(製品名としては従来と共通の「Core2」を名のる)でも構成は同じだが、今年11月以降に登場するIntel Core i7(インテル コア アイセブン)など、コードネームNehalemで知られる一連の製品群では、ついにメモリーコントローラーをCPU内部に搭載することになる。
メモリーコントローラーをCPUに内蔵すると、メモリーはCPUに直接接続されるため、マルチプロセッサー構成では、他のCPUに接続されたメモリーを高速でアクセスする手段が必要となる。また、I/Oの接続でも同様のことがいえる。
こうした問題に対応するのが、CPUに内蔵される高速インターフェイスだ。AMDは、Opteronシリーズで「HyperTransport」という高速インターフェイスをCPUに搭載し、I/O接続及びプロセッサー間接続に利用している。一方のインテルも、メモリーコントローラーを内蔵するNehalemで「QuickPath」と呼ばれる高速シリアルインターフェイスをCPUに搭載している。
(次ページ「超低消費電力プロセッサーの登場」に続く)