メモリを増やすと遅くなる?

メモリを64MBから128MBに増設してベンチマークを取ったところ,増設前よりも数値が悪くなりました。なぜですか。


表はメモリを64MB,128MBにしてそれぞれWinBench97でベンチマークを取ったものですが,確かに128MBのほうが数値が下回っています。なお,テスト環境は以下のとおりです。
マザーボード:Tyan S1573S(430TX)
CPU:MMX Pentium/233MHz
ビデオカード:Matrox MillenniumU
 CPUとメインメモリとの間には,メインメモリの内容を一時的にキャッシングして高速アクセスを実現するためのL2キャッシュが用意されています。
 L2キャッシュはPB SRAMが用いられているものが多く,SIMMなどのメインメモリに比べて2〜5倍速くアクセスすることができます。このL2キャッシュは,CPUがメインメモリの内容を読み込むときは「リードキャッシュ」,CPUが拡張メモリに書き込むときは「ライトキャッシュ」という手法を使って,メインメモリのアクセス速度を稼いでいます。
 さらにライトキャッシュには,CPUがメインメモリに書き込みを行うとき,書き込み完了を待って復帰するライトスルー方式と,拡張メモリの書き込み完了を待たずに処理を続行するライトバック方式とがあります。
 ライトバック方式はライトスルー方式に比べて,L2キャッシュに書き込みが完了した時点で処理を続行する(フライングする)ので,一貫性を保つためのハードウェアが複雑になりますが,高速なアクセスが可能となっています。
 インテルのPentium系チップセットでは,0〜64MBの拡張メモリについてライトバックが働く仕様になっており,これを超える拡張メモリについてはまったくキャッシュが働かないか,あるいはライトスルーとしてキャッシュが利用される仕様になっています(430HXのみ0〜512MBの範囲でライトバック動作が可能)。このため128MBのほうがベンチマークの数値が悪くなるのです。
 しかし,PCの速度はベンチマークの結果がすべてではありません。メモリを多く搭載しておくとライトバックキャッシュが働かなくても,HDDへのスワップがなくなるので,体感速度ははるかに向上します。
(三谷直之)

表 メインメモリ64MB時と128MB時のベンチマーク
64MB時
128MB時
Business Disk Win Mark
2460
1870
CPUMark32
409
412
Business Graphics WinMark
61.9
59.8