特集、その他
DDR4メモリの“本当の性能”をあらゆる角度から徹底的に検証してみた
クロックやレイテンシ、チャネル数の違いや消費電力など、小ネタも併せて紹介 text by 坂本はじめ
2017年9月29日 12:20
メモリチャネルが増えると概ね枚数分の帯域が広がる
複数のメモリチャネルを同期して動作することで、メモリ帯域を増加させる技術を備えている。デュアルチャネル(2ch)やクアッドチャネル(4ch)と呼ばれるこの技術は、シングルチャネル(1ch)に比べてどの程度パフォーマンスが向上するのか確認してみた。
DDR4-2666動作のメモリを用いた今回の検証では、シングルチャネルのメモリ帯域が16.4GB/secだったのに対し、デュアルチャネルは32.07GB/sec (約1.96倍)、クアッドチャネルは57.74GB/sec (約3.52倍)と、大幅に帯域が増加していることが確認できる。一方、レイテンシについては僅かに悪化している。
4chメモリが性能を発揮するのは暗号処理、演算以外の用途は帯域幅の恩恵を受けにくい?
数値的な帯域幅が実際に広がることはわかったが、その帯域幅は性能の面で活かされるのだろうか。暗号処理とゲームで効果を見てみた。
暗号処理での性能向上はメモリ帯域のテスト結果より顕著で、シングルチャネルに対してデュアルチャネルは約1.99倍、クアッドチャネルは約3.95倍のパフォーマンスアップとなっている。
しかし、これだけのメモリ帯域差があってもゲームでの性能差は最大でも1%前後という結果だった。ゲームタイトルによって効果が異なる可能性はあるが、メモリ帯域の拡大がゲームでのパフォーマンスに直結するという訳では無いようだ。
メモリスロットは全て埋めた方が速くなるわけでは無い
今回テストに用いているX299環境では、メモリを最大8枚まで搭載することができる。この場合、例えば64GBのメモリ容量を実現しようとすれば、8GB×8枚か16GB×4枚という構成を選択できる訳だが、実際のところ8枚挿しと4枚挿しでメモリ性能に差がでるのだろうか。
シングルランクの8GBモジュールを8枚搭載しても、デュアルランクの16GBモジュールの4枚挿しと性能に大きな差はみられない。一方で、16GBモジュールを8枚挿しすると、メモリ帯域が1割弱ほど増加している。
このことから、デュアルランクモジュールの8枚挿しなら意味はあるが、ほとんどのメモリモジュールがシングルランク化している現代の8GBモジュールを8枚挿しするくらいなら、16GBモジュールを4枚搭載した方が効率的であると言える。
チップフル実装のメモリがより高速、メモリインターリーブの効果
メモリの同期技術として著名なのは先に紹介した「チャネル」の同期だが、1つのメモリチャネル内でもランク間でインターリーブすることでパフォーマンスを高めている。では、ランク数が多い方がメモリの性能が向上するのか確認してみた。
DDR4-2133動作の容量8GBという仕様で、シングルランクとデュアルランクのモジュールをそれぞれ用意し、これをシングルチャネルで利用した時のパフォーマンスを測定した。
シングルランクのモジュールを使用した場合のメモリ帯域幅が12.55GB/secだったのに対し、デュアルランクのモジュールを利用した場合は約8.7%高い13.64GB/secを記録した。レイテンシもデュアルランクモジュールの方が約7%ほど短い。この結果から、ランクインターリーブが有効な状況ではデュアルランクのメモリモジュールの方が高速であると言えるだろう。
DDR4-2400やDDR4-2666のデュアルランクメモリはほぼ16GBメモリしか存在しないので、パフォーマンスを最優先する場合はこれらを選んだ方が良いだろう。