元麻布春男の週刊PCホットライン

メインメモリが買いにくくなった理由【ベンチマーク編】



●実際にテストしてみる

 Intel 875PやIntel 865G/PE/Pチップセットでは、メインメモリに用いるDIMMの種類やインストール方法によって性能が変わるという。ならば、それを確かめてみようではないか。そう思って、4種類各2枚のメモリを用意して、実験してみることにした。表1が今回用いたPC3200 DIMMのスペック、表2がテストに用いたハードウェアである。

【表1:今回用いたPC3200 (DDR400) DIMM (各2枚使用)】
DIMM種別(呼称) DIMMメーカー 型番 容量 CAS Latency チップ構成
Samsung512 Samsung Electronics M368L6423DTM-CCC 512MB CL=3(3-3-3) 32Mbit×8bit×16(両面)
Samsung256 Samsung Electronics M368L3223DTM-CC4 256MB CL=3(3-4-4) 32Mbit×8bit×8(片面)
Crucial Micron Technology CT3264Z40B.8T *1 256MB CL=3(3-3-3) 32Mbit×8bit×8(片面)
KingMax KigMax Semiconductor MPXB62D-68KX3 256MB CL=2.5(2.5-3-3) 16Mbit×8bit×16(両面)
*1 販売元であるCrucial Technologyの型番で、Micron TechnologyのMT8VDDT3264AG-40BC4相当

Samsung512 Samsung256
Crucial KingMax

【表2:テストに用いたハードウェア】
マザーボード Intel D865GBF
BIOS P07
CPU Pentium 4 3GHz
ビデオ機能 内蔵(16MB割り当て)
OS Windows XP SP1
画面解像度 1,024x768ドット(32bit)
 表1の4種のうち、Samsung512とKingMaxが両面DIMMで、Samsung256とCrucialが片面DIMMだ。テストに際して内蔵グラフィックスを用いたのは、メインメモリをフレームバッファに用いる内蔵グラフィックスを利用した方が、メモリによる性能差が現れやすいからだ。言い換えると、外付けAGPビデオカードを利用するユーザーにとって、メインメモリやその組み合わせによる性能差は、今回のテストよりはるかに小さくなると考えられる、ということである。

 なお、Samsungの256MB DIMMがCrucialよりアクセスタイミングが遅い(Crucialの3-3-3に対し3-4-4)のは、たまたま今回用いたモジュールがそういうスペックのものであるというだけで、SamsungにもCrucialと同じアクセスタイミングのモジュールが存在する。


●DIMM 1枚使用時

 まず表3に示したのは、今回用いた4種のDIMMをそれぞれ1枚づつインストールした場合の性能だ。その結果は表1に示したスペック通りで、唯一CL=2.5のアクセスタイミングをサポートしたKingMax(構成4)が最も高い性能(メモリ帯域)を示した。が、CL=3であっても512MB DIMMであるSamsung512の性能はKingMaxに肉薄している。アクセスタイミングを考えれば、Samsung256の性能が悪いのはやむをえないところだろう。

【表3:今回用いた4種のDIMMの基本性能 (DIMM 1枚インストール時)】
  構成1 構成2 構成3 構成4
DIMM数 1本 1本 1本 1本
ChannelA Slot1 Samsung512 Samsung256 Crucial KingMax
ChannelA Slot2 空き 空き 空き 空き
ChannelB Slot1 空き 空き 空き 空き
ChannelB Slot2 空き 空き 空き 空き
Memory Channel Mode シングル シングル シングル シングル
Dynamic Paging Mode Yes Yes Yes Yes
メモリ実装量計 512MB 256MB 256MB 256MB
3DMark 2001 SE 2,332 2,059 2,231 2,336
PCMark 2002 Memory 6,261 5,923 6,085 6,283


●同一ベンダのDIMM 2枚使用時

 次に表4だが、同じベンダ製の同一の256MB DIMMを2枚使った場合のテスト結果だ。明らかなのは、どのベンダのDIMMであってもデュアルチャンネルモードを利用した場合の性能が高い、ということだ(同じモジュールであるため、自動的にダイナミックページングモードも有効になる)。ただし、KingMaxのデュアルチャンネルモードは、BIOSによる自動設定(アクセスタイミングはスペック通りの2.5-3-3)では動作が不安定で、3DMark 2001のスコアを得ることができなかった。そこでメモリのアクセスを遅くしたところ、3-4-4の設定で3DMark 2001がきちんと動作した。同じ構成でも外部AGPビデオカードを利用すると、問題なく3DMark 2001を実行できることから考えて、グラフィックスコアからのアクセスに対して問題があるようだ。

【表4:同一の256MB DIMMを2枚さした場合の性能】
  構成5 構成6 *2 構成7 構成8 構成9 *2 構成10 構成11 構成12 *2
DIMM数 2本 2本 2本 2本 2本 2本 2本 *5 2本
ChannelA Slot1 Crucial Crucial Crucial Samsung256 Samsung256 KingMax KingMax KingMax
ChannelA Slot2 空き Crucial 空き 空き Samsung256 空き 空き KingMax
ChannelB Slot1 Crucial 空き 空き Samsung256 空き KingMax KingMax 空き
ChannelB Slot2 空き 空き Crucial 空き 空き 空き 空き 空き
Memory Channel Mode デュアル シングル シングル デュアル シングル デュアル デュアル シングル
Dynamic Paging Mode Yes Yes Yes *3 Yes Yes Yes Yes Yes
メモリ実装量計 512MB 512MB 512MB 512MB 512MB 512MB 512MB 512MB
3DMark 2001 SE 2,777 2,323 2,326 2,571 2,174 N/A *4 2,718 2,440
PCMark 2002 Memory 7,117 6,269 6,166 6,881 6,128 7,654 7,260 6,325
*2 このメモリ構成では初回起動時BIOSによりエラーメッセージ(メモリの構成が最適でない)が出る
*3 D865GBFのマニュアルによるとDynamic Paging Modeにならないハズなのだが、BIOSはDynamic Pagin Modeであると表示し、テスト結果もそのように思われる
*4 エラーメッセージも出さず途中でプログラムが落ちる(外部AGPでは動作)
*5 BIOSセットアップにてマニュアルでアクセスタイミングを3-4-4に設定(3-3-3ではなぜかダメ)

 実は、今回用いたものより1つ前のリビジョンのBIOS(P06)では、外部AGPビデオカードを用いても3DMark 2001を完了させることができなかった。それを考えると、今後のBIOSのバージョンアップで問題が解決する可能性はある。と同時に、異なるベンダのマザーボード(つまりはBIOSが異なる)では、KingMaxによるデュアルチャネル構成が動作する可能性がある、ということでもある。

 さて表4でもう1つわかったのは、非対称にメモリをインストールした構成7でも、ダイナミックページングモードが有効になったことだ(BIOSのメッセージ的にも、得られたスコアからもダイナミックページングモードは有効だと考えられる)。同じチャネル内のメモリが同一、という条件を満たしているのだから、有効になっても不思議ではないのだが、D865GBFのマニュアルではダイナミックページングモードが無効になる例として、この実装例が挙げられている。Intel内部でも混乱(勘違い)があったのかもしれない。構成7のテストで、構成6のパターン(片側のチャネルにのみ2枚のDIMMをインストール)と変わらない、ということがわかったので、Samsung256とKingMaxについて構成7と同じ構成のテストは省略した。実際には、起動時にBIOSがメモリの構成が最適でないという警告を発してくれるため、構成6のパターンが使われることはないハズではある。


●異なるベンダのDIMM 2枚使用時

 いよいよ表5は異なるメーカー製の256MB DIMMを2枚利用した場合のスコアだ。上述したようにKingMaxは16チップを搭載した両面DIMMであり、明らかにほかの2種(Samsung256、Crucial)とは異なるモジュールである。一方、Samsung256とCrucialはアクセスタイミングこそ異なるものの、Intelの定義によると「同じ」メモリモジュールだと考えられる。表5の結果は、これを裏付けるものとなった。CrucialとSamsung256を対称にインストールした構成13は、問題なくデュアルチャネルモードが利用可能だったのに対し、CrucialとKingMaxを対称にインストールした構成14、同じくKingMaxとSamsung256による構成15は、いずれもシングルモードとなった。しかも、シングルモード(メモリチャネルは仮想的に1つの64bitチャネルとなっている)でチャネル内のメモリが同一でないため、ダイナミックページングモードの利用もできず、スコアは非常に低くなってしまった。

【表5:異なるメーカー製256MB DIMMによる組み合わせ】
  構成13 構成14 構成15 構成16 *2 構成17 構成18
DIMM数 2本 2本 2本 2本 2本 2本
ChannelA Slot1 Crucial Crucial KingMax Crucial Crucial KingMax
ChannelA Slot2 空き 空き 空き Samsung256 KingMax Samsung256
ChannelB Slot1 Samsung256 KingMax Samsung256 空き 空き 空き
ChannelB Slot2 空き 空き 空き 空き 空き 空き
Memory Channel Mode デュアル シングル シングル シングル シングル シングル
Dynamic Paging Mode Yes No No Yes No No
メモリ実装量計 512MB 512MB 512MB 512MB 512MB 512MB
3DMark 2001 SE 2,573 2,023 2,019 2,182 1,966 1,941
PCMark 2002 Memory 6,881 5,373 5,344 6,132 5,371 5,338
*2 このメモリ構成では初回起動時BIOSによりエラーメッセージ(メモリの構成が最適でない)が出る

 構成16から構成18は片側のメモリチャネルに異なるメモリを実装したもの。最初からシングルチャネルモードにしかなりようのない構成だが、構成16で表4の構成6などと同じ警告メッセージが出たのに対し、構成17と構成18ではそのメッセージが出なかった。やはりメモリコントローラにとって、CrucialとSamsung256は同じメモリ、KingMaxだけが異質なメモリと認識されているようだ。構成13のスコアが構成8と、構成16のスコアが構成9と、それぞれほぼ一致していることも、その証拠といえるだろう(構成13と構成16において、CrucialはSamsung256と等価なメモリになっている)。


●1GB実装テスト

 表6は1GBのメモリを実装する組み合わせのテストだ。表5の結果によりCrucialとSamsung256は同じメモリだと考えられるので、一部の組み合わせ(Samsung256とKingMax)は省略した。比較のために、512MB DIMMであるSamsung512による1GBメモリ実装例についてもテストしてみたが、性能的に優れていることが見て取れる。もちろんデュアルチャネルモードにした方が良いのは言うまでもない。構成19から構成22は256MB DIMMを4枚使ったもので、これまでのテストから予想できる通りの結果となっているが、同じメモリを同じ数だけ使っても構成19と構成22で3DMark 2001の性能差が35%もあるのに改めて驚かされる。

【表6:1GBメモリ実装時の組み合わせ】
  構成19 構成20 構成21 構成22 構成23 構成24
DIMM数 4本 4本 4本 4本 2本 2本
ChannelA Slot1 Crucial Crucial Crucial Crucial Samsung512 Samsung512
ChannelA Slot2 KingMax Samsung256 Crucial Crucial 空き Samsung512
ChannelB Slot1 Crucial Crucial Samsung256 KingMax Samsung512 空き
ChannelB Slot2 KingMax Samsung256 Samsung256 KingMax 空き 空き
Memory Channel Mode デュアル デュアル デュアル シングル デュアル シングル
Dynamic Paging Mode No Yes Yes No Yes Yes
メモリ実装量計 1GB 1GB 1GB 1GB 1GB 1GB
3DMark 2001 SE 2,557 2,707 2,696 2,004 2,877 2,416
PCMark 2002 Memory 6,272 7,261 7,281 5,480 7,390 6,299

 また、対称にインストールすることで異なるメモリモジュールであってもデュアルチャネルモードが実現できた構成19だが、ダイナミックページングモードをサポートした構成20にはかなわない。すなわち、1枚、あるいは2枚では高速なKingMaxであっても、異なるメモリとの組み合わせを前提にすると、必ずしもベストな選択ではなくなる、ということだ。

 現在、256MB DIMMはすでに主流が片面タイプになりつつある。ビットクロスを考えると、将来的に両面タイプの256MB DIMMを見つけるのは難しくなっていくだろう。将来、256MB DIMMを追加して1GBまでメモリを増設すると考えると、高速なものの両面タイプのKingMaxより、遅くても片面DIMMであるSamsung256の方が良い選択かもしれない。しかし、将来増設するのが512MB DIMMだと断言できるのであれば(トータルでメモリの実装量は1.5GBになる)、しょせん256MB DIMMとは同じにはならないのだから、最初に買うメモリが片面の256MB DIMMだろうと両面の256MB DIMMだろうと、同じだと考えられる。


●増設シナリオを意識したミックス環境でのテスト

 最後の表7は、この増設シナリオを意識して512MB DIMMと256MB DIMMのミックスを試してみた。すべての構成が、ダイナミックページングモードなしのデュアルチャネル動作という結果になっている。Intelは、複数のアクセスタイミングのメモリが混在した場合、最も遅いメモリにタイミングが揃えられるといっており、構成25は3-3-3(どちらのモジュールも同じ)、構成26はSamsung256の3-4-4、構成27はSamsung512の3-3-3になるハズで、構成25と構成27がほぼ同じ性能、構成26が若干遅い、という結果になるハズなのだが、実際には構成27が最も遅くなっている。その理由はハッキリしないが、構成10が動作しないなど、現行のD865GBFのBIOSとKingMaxには、何らかの問題(いわゆる相性問題)があるとも考えられる。

【表7:今回用いたメモリによる最大容量(1.5GB)の組み合わせ】
  構成25 構成26 構成27
DIMM数 4本 4本 4本
ChannelA Slot1 Samsung512 Samsung512 Samsung512
ChannelA Slot2 Crucial Samsung256 KingMax
ChannelB Slot1 Samsung512 Samsung512 Samsung512
ChannelB Slot2 Crucial Samsung256 KingMax
Memory Channel Mode デュアル デュアル デュアル
Dynamic Paging Mode No No No
メモリ実装量計 1.5GB 1.5GB 1.5GB
3DMark 2001 SE 2,883 2,668 2,553
PCMark 2002 Memory 7,002 6,891 6,667

 考察編に続く。

□関連記事
【6月11日】【元麻布】メインメモリが買いにくくなった理由【状況編】
http://pc.watch.impress.co.jp/docs/2003/0611/hot264.htm

バックナンバー

(2003年6月12日)

[Text by 元麻布春男]


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp 個別にご回答することはいたしかねます。

Copyright (c) 2003 Impress Corporation All rights reserved.