●Intelのフレックスモードを検証する 前々回、メモリのテストをした際、メモリチャネルの動作モードについて、一部、不正確な記述があった。メモリチャネルの片側に1GB DIMM、もう片側に2GB DIMMをインストールした場合、昔のチップセットなら完全にシングルチャネルモード(メモリに対するアクセスが64bitになる)だったのに対し、現在のIntelチップセット(P965/G965以降)では、両チャネルで共通する1GBまでの領域(計2GB)まではデュアルチャネルモードになり、それを越える部分がシングルチャネルモードになる。 つまり前々回の構成3の場合、1GB DIMMの2枚分についてはデュアルチャネル動作、追加した2GB DIMMがシングルチャネルモードになる、というわけだ。同様に構成4は1GB DIMMと2GB DIMMの1GBまでの領域がデュアルチャネル動作、残り1GBがシングルチャネルモード動作、ということになる。このように、柔軟にデュアルチャネル動作するメモリコントローラの仕様を、Intelは「フレックスモード」と呼んでいる。 デュアルチャネルモードについて、Intelはインターリーブモードとも呼んでいる。つまり、2つのチャネルに同時アクセスすることで、アクセスに要する見かけのレイテンシを削減する、というわけだ。 前々回のテストでシングルチャネルモードとしていた構成は、一部がシングルチャネルモードとして動作している構成であり、すべてのメモリがシングルチャネル動作していたわけではないことになる。テストの結果では、シングルチャネルのデメリットが軽減されていた可能性がある。 ならばというわけで、ここではシングルチャネルでの動作しかあり得ない構成と、デュアルチャネルの構成を比較してみることにした。構成Aは2つのメモリチャネルに1本づつ1GB DIMMをセットしたデュアルチャネル構成。構成Bは1つのメモリチャネルに2GB DIMMを1本だけインストールした、シングルチャネル動作以外に考えられない構成。そして構成Cは片側のメモリチャネルに2本のDIMMをセットした、シングルチャネル構成である。筆者が用意したDIMMは、1GB DIMMも2GB DIMMも両面で、16チップを搭載したもの。同じ容量でも構成BのDRAMチップは計16チップ、構成Cは32チップということになる。
これを表1の構成のシステムと組み合わせ、Windows Vista Ultimate 32bit版上でPCMark Vantateを計4回づつ実行した。その結果が表2で、4回のスコアを全部並べてある。さらに、それぞれの構成での平均値を構成上最も不利だと思われる構成Bを1としたパーセンテージでも示した。
【表1】テスト環境
【表2】メモリ構成の違いによるPCMark Vantageのスコア
なお、PCMark Vantageのスコアにおいて、PCMarkとMemoriesは完全に独立したものになっている。PCMark値を算出するのにCPUやメモリ、グラフィックスなど多くのテストを行なうが、Memoriesのスコアは、そのデータを流用して算出するのではなく、別途Memories用にメモリのテストを行ない算出する仕組みだ。したがって、それぞれの測定誤差の範囲においてスコアがばらけるため、Memoriesのスコアが良い時と、PCMarkのスコアが良い時は必ずしも一致しない。 というわけで、この結果をどう見るか。まず間違いなく言えるのは、その差は微々たるものに過ぎない、ということだ。平均値の数字だけを見るとPCMarkはともかく、Memoriesについては構成Aが最も良く、構成Cがそれに続き、構成Bが最も悪い、というもっともらしい結果にはなっている。しかし、構成AのMemoriesのスコアでバラつきが50、構成CのMemoriesのスコアでバラツキが68ある。これをパーセンテージにすると、前者で約1.27%、後者で1.73%ということになる。テストそのものにこのくらいの誤差が生じることを考えると、果たして1.85%の差を優位と言って良いのか、疑問が残る。 これがPCMarkになると、最もメモリアクセスで不利なハズの構成Bが2.8%あまりも良いことになる。では構成Bが最も性能が良いのか。こちらも測定誤差を見てみると、構成Aの最良値と最悪値の差が368、構成Bで139、構成Cでも307あり、それぞれ構成BのPCMark平均値に対し7.82%、2.95%、6.52%に値する。2.8%良いからといって、性能が良いと断言するのは難しそうだ。筆者はこのスコアの差は測定誤差のうちだろうと思っている。 数字で判断してこの差であるということは、動画のエンコードなど、インタラクティブな操作が必要でないアプリケーションでもほとんど差は出ない、ということである。ましてや性能差を人間が体感することはまず不可能といっていい。シングルチャネルとデュアルチャネルといっても、この程度の差でしかない。 これまでにもメモリのクロックが上がった際などに、以前のメモリに対してどれくらい速くなったのか、という議論があり、結果としてほとんど変わらない(性能向上はごくわずか)という結論が毎回にように出ている。大量のキャッシュメモリを搭載した今のCPUで、一般的なアプリケーションを使う限り、多少のメモリ性能差はキャッシュでマスクされてしまう。 だからこそ、DDR3への移行は困難なのである。DDR3になってメモリバスのクロックが、現行の800MHzから1,333MHzになった程度の性能向上では、10倍の価格差はとうてい埋めきれない(しかもクロックは上がってもレイテンシは増える)。もちろんDDR3メモリにはクロックの向上以外に、動作電圧の低減というメリットがある。これは消費電力の低下にもつながるが、それ以上にメリットが大きいのは、おそらく作る側にとって、である。すでにAMDはメモリコントローラをCPUに内蔵しており、IntelもNehalemで内蔵する方向に動いている。1.1~1.4V程度で動作するCPUが内蔵するメモリコントローラーの相手は、1.8V動作のDDR2メモリより、1.5V動作のDDR3メモリの方が望ましいに違いない。 現状でDDR3メモリへ移行することは、ユーザーメリットより、プラットフォームベンダー側のメリットの方がどうみても大きい。もしそうであれば、プラットフォームベンダー(端的に言えばIntelだが)は、DDR3への移行を、もっと積極的に手助けする必要があるだろう。具体的にはIntelがメモリを直接購入することであり、実際、過去に同社は何回かこのようなオペレーションを実施している。今回、DDR3に関して伝家の宝刀は抜かれるのか、それによってDDR3への移行タイミングは大きく変わることになるかもしれない。
□関連記事 (2007年12月27日) [Reported by 元麻布春男]
【PC Watchホームページ】
|