さて、前書きはこの位にして実際に試してみたい。今回利用したM3A32-MVP DELUXEの場合、BIOS Setup→Advanced Configuration→Memory Configurationの中にGanged/Unganged(Photo19)という項目がある。

Photo19:DCTというのはDRAM Controllerの事。なんでDC'T'なのかは不明だが、BIOS and Kernel Developer's Guide For AMD Family 10h Processorsにもはっきり"DRAM Controllers (DCTs)"と記載されている。

実はこの表記が非常に微妙で、例えばSoftware Optimization Guide for AMD Family 10h Processorsの中では"Both dual-independent 64-bit channel and single 128-bit channel operation."というソフィストケートされた書き方で示されているが、それぞれのモードを何と呼ぶかは記されていない。ではこのGanged/Ungangedという呼称がどこから来たかというと、BIOS and Kernel Developer's Guide For AMD Family 10h Processorsの中の2.8に"A logical DIMM is either one 64-bit DIMM (as in unganged mode) or two identical DIMMs in parallel to create a 128-bit interface (as in ganged mode)"という記載があり、つまり128bit×1で動く状態をGanged Mode、64bit×2で動くモードをUnganged Modeと称している。BIOS Setupの表記も、恐らくここから来ているのだと想像される。

では実際にいくつか結果を見てみよう。既にGanged ModeにおけるRMMAの結果はずいぶん示していているので、Sandra VIIのCache & Memory Testの一部(グラフ66)とPCMark 05のMemory Testの結果(グラフ67、68)だけを追加しておく。グラフ66は、グラフ55だと16MBから先が全然判読できないので、16MB以降の結果だけをまとめたものである。

グラフ66

グラフ67

グラフ68

Read Requestのみなので、やはりPhenomが最速であり、ついでCore 2 Quadとなり、Athlon 64 X2はやや遅めである。もっとも一応Athlon 64 X2の擁護をしておけば、2.6GHz駆動のWindsorコアの場合、DDR2-800を装着した場合のメモリのアクセス速度は742.8MHz(371.4MHz DDR:2.6GHzの7分周)となる。このあたりが従来のAthlon 64 X2の欠点の1つであったわけで、そこから考えればこのスコアは健闘していると言ってよいだろう。一方グラフ67ではCore 2 Quadが突出しているが、これはテスト項目に4KB/192KBでのスコアを含むから。グラフ55で判る通り、この4KB/192KBのスコアはCore 2 Quadがダントツで良いから、この程度の差で済んだことがむしろ不思議とも言える。では、例えば16MBにおけるRead/Write/Copyのスコアは? というのがグラフ68で、意外にAthlon 64 X2が健闘しているのがわかる。Phenomは? というと、Core 2 Quadよりはマシだが特にWrite/CopyでAthlon 64に勝てないというのはちょっと面白い。

グラフ69

さて、以上のテスト結果を前提にしたうえで、Ganged/Ungangedでの比較を見てみよう。まずグラフ69はグラフ66と同じ条件であるが、何とUnganged Modeでぐんと成績が伸びているのが判る。もっとも、1GB位になるとあまり差が無いのは、結局両チャネルにバッファ領域がまたがってしまい、あまり効果がなくなってきている(つまり図6の状態になっている)ためでは無いか? と想像される。

グラフ70

グラフ71

んじゃ効果があるのか? というと、逆の結果を示すのがグラフ70、71である。こちらはグラフ67、68と同じ条件だが、Unganged Modeの方が良いスコアをだしている。もっともグラフ71でWriteのみUngangedのスコアが良いのいはちょっと興味深いところだ。

グラフ72

もう少しテスト結果をみてみよう。グラフ72はRAMMのAverage RAM Bandwidthである。先のグラフ54と同じ条件であるが、こちらで見るとUnganged Modeにいいところがまるで無い。Writeの結果も、Ganged Modeなら1.35Bytes/cycle程度出るのに、Unganged Modeだと1Byte/cycleどまりである。少なくともここからはUnganged Modeのアドバンテージは一切感じられない。

グラフ73

グラフ74

グラフ75

グラフ76

これはレイテンシでも同じだ。グラフ73~76はグラフ13~16と同じ条件だが、1MB~10MBの範囲に絞って示したものだ(1MB以下の範囲では、両者のグラフは完全に一致する。まぁキャッシュアクセスの範囲ではGangedもUngangedも無いからという話なのだが)。面白いのは、2MB~2.5MBのあたりまでは、Unganged Modeが踏ん張ること。ひょっとするとGanged ModeとUnganged ModeではL3キャッシュの振る舞いが少し変わるのかもしれない。ただその先は、Unganged Modeの方がレイテンシが大きくなっており、やはりここでもアドバンテージはなさそうだ。一見Random Accessでは差が縮まっている(グラフ75)様に感じるかもしれないが、縦軸が違うことに注意。

実際、1MB~10MBの範囲における差の平均を取ってみると、

Forward : 0.71 Cycle
Backward : 0.80 Cycle
Random : 1.73 Cycle
Pseudo Random : 2.13 Cycle

といったところで、どう見てもUnganged Modeに不利である。グラフ77~79はグラフ10~12同様の条件で、やはり1MB~10MBの範囲に絞ったものだが、やはり明らかにUnganged Modeが不利である。

グラフ77

グラフ78

グラフ79