メモリーはPCの一時的なデータ置き場で、CPUの動作を助ける働きがある。メモリーが速くなると、PCの動作が全体的に高速になる。そのためPC用のメモリーは常に高速化を続けているのは知ってのとおりだ。
メモリーを制御するメモリーコントローラーは、現在のインテル、AMD両プラットフォームではCPUが搭載している。両社はCPUの世代が新しくなるごとにメモリーの対応速度を引き上げており、それにともなってメモリーも速度を向上させてきた。
しかし、このハイペースな高速化は少し複雑な事情を生んでいる。今回はメモリー周りの「きちんと動いていない」現象とその背景を紹介しよう。
先に用語を確認しておこう。ただメモリーと言うと、何を指しているかわかりにくくなるためだ。
PCがCPUの補助の目的で使うメモリーは「メインメモリー」と呼ぶ。さらに、基板に諸々の部品を実装して製品として完成しているものを「メモリーモジュール」、メモリーモジュールの主要部品となるICチップを「メモリーチップ」と呼ぶ。つまり、自作PCではメモリーチップを搭載したメモリーモジュールをメインメモリーとして利用していることになる。
メモリーモジュールにはメモリーチップが実装されている。モジュールの速度とチップの速度は一致しないことが多い。写真はノートPC用のDDR4 SO-DIMM。デスクトップ用も基本的な作りは同じだ
先述の少し複雑な事情とは、メモリーチップの速度とメモリーモジュールの速度、そしてPCで実際に動作している速度が必ずしも一致するとは限らないことだ。もちろんBIOS(UEFI)の設定を変更することでメモリーの動作速度は変えられるが、ただ挿して動かしただけの場合にどうなるかはケースバイケースとなる。
なぜこんなことが起こるかというと、メモリーチップの高速化がCPUほど速くないことが理由だ。基本的に、新しいCPUが発表された時点で、対応する高速なメモリー速度に対応したメモリーチップはまだない。しかしメモリーモジュールのメーカーは対応した製品を販売したい。そこでメーカーはメモリーチップを独自にオーバークロックした製品を投入する。このようにして生まれたオーバークロック製品を「オーバークロックメモリー」と呼ぶ。それに対してメモリーチップの仕様どおりの製品を「ネイティブメモリー」と呼ぶ。
メモリーモジュールには「SPD(Serial Presence Detect)」という情報を格納しているチップがある。メモリーの動作設定が記録されており、マザーボードは起動時に新しいメモリーモジュールを検出するとSPDを読み込んで動作設定を行う。SPDには基本的にメモリーチップの仕様に沿った内容が記録されているため、ネイティブメモリーであれば仕様どおり、オーバークロックメモリーであれば仕様より遅い設定になる。これが製品の仕様どおり動作しないことがある理由だ。
オーバークロックメモリーは、挿しただけでは製品本来の速度で動作しない。そこで、本来の速度に設定する仕組みがある。それがインテルの「XMP(Extreme Memory Profile)」などだ。メモリーの動作タイミングなどを1つひとつ設定しなくとも、「XMP」を有効にするだけで本来の速度で動作するようになる。似た機能にAMDの「EXPO(Extended Profiles for Overclocking)」もあるが、EXPOは「Ryzen 7000シリーズ」と同時に発表した新しいもののため、対応製品がまだ多くない。「XMP」対応製品のほうが目にする機会は多いだろう。
「XMP」はバージョンアップを重ねており、最新版は「XMP 3.0」となっている。DDR4は「XMP 2.0」、DDR5は「XMP 3.0」と分かれているため、メモリーとマザーボードで対応するバージョンが合わないといったトラブルが起こる心配はない。
オーバークロックとは、本来の仕様よりも高いクロックで動作させることを言う。その意味では、オーバークロックメモリーはオーバークロックをしている。ただ、一般的なオーバークロックは保証外の使い方のため、オーバークロック状態で動作しない、故障したといったトラブルが起こっても保証は受けられない。
いっぽう、オーバークロックメモリーはそのオーバークロック状態が製品としての仕様なので、メーカーの保証が受けられる。こちらの意味では、オーバークロックメモリーを使うことはオーバークロックではないとも言える。ただし、この場合でもCPUが対応するメモリー速度より高いクロックで使用するのであれば、CPUの仕様に対してはオーバークロックとなる。要は、メーカーがうたう製品仕様の範囲に収まっているかがポイントだ。
パッケージには動作速度が表示してあるが、オーバークロックメモリーであることは明示されていない場合も多い
それでは、実際の製品で使い方とその影響を見ていこう。
オーバークロックメモリーがやっかいなのは、見た目でそれとわからないことだ。ネイティブメモリーであることやオーバークロックメモリーであること自体を売りにしている製品なら表記されている場合もあるが、わからないことも多い。動作クロックが特に高い製品ならオーバークロックメモリーだとわかりやすいが、両方のパターンがある動作クロックでは試すまでわからないこともある。
その点、WebサイトでSPDの設定値もあわせて公開しているメーカーは安心して選べる。Corsairはその1つだ。オーバークロックメモリーの製品ページでは、製品本来の速度に加えて「SPD Speed」という項目がある。
Corsairの「DOMINATOR PLATINUM RGB」。DDR5-5600モデルだが、それだけではオーバークロックメモリーかどうかわからない
「DOMINATOR PLATINUM RGB」の製品ページ。「技術仕様」という項目に、「SPD Speed 4800MHz」という表記がある。製品はDDR5-5600だが、SPDの設定値はDDR5-4800であることがわかる
購入後であれば、オーバークロックメモリーであることの確認方法はとても簡単だ。BIOS設定画面を開き、メモリー速度の数値を見ればよい。CPUやマザーボードが対応しているにもかかわらず購入した製品よりも遅いようであれば、オーバークロックメモリーだと判断できる。設定項目はマザーボードのモデルによって異なるが、多くの場合はオーバークロック設定をまとめたページに含まれている。今回使用したASRockの「Z790 LiveMixer」は「EZ MODE」にも「XMP」の設定項目がある。
「XMP」の使い方はとても簡単。メモリーの設定で選択肢から「XMP」を選び、有効にすればよい。メモリーの設定は動作クロックだけでなく、動作プロセスごとに設けるレイテンシー(遅延)もある。レイテンシーは数字を小さくするほど動作は速くなるが、下げ過ぎると正常に動作しなくなる。また動作クロックが高くなるほどレイテンシーを大きくする必要がある。手動でオーバークロックする場合はこれらも自分で設定するのだが、慣れていない人には感覚がわからないだろう。「XMP」はこれらのわかりにくい設定を一括設定してくれるので、オーバークロックの知識は必要ない。
BIOS設定画面。メモリーが4800MHz(DDR5-4800)で動作しているのがわかる
製品本来の速度で動かすには、「XMP」を有効にするだけでよい。「Z790 LiveMixer」では「EZ MODE」の画面で「XMP Profile」をクリックすればよい。すぐ上に「XMP」の設定値が表示される
設定を保存して再起動し、再度メモリーの速度を確認した。きちんとスペックどおりの速度になっていた
さて、それではメモリーの速度がどれだけPC全体の性能に影響を与えているかを見ていこう。今回は「DOMINATOR PLATINUM RGB(DDR5-5600 16GB×2)」を使い、SPDの設定(DDR5-4800)で利用していると「XMP」利用時(DDR5-5600)よりどの程度性能が落ちてしまうかを検証する。テストは「PCMark 10」(UL)、「3DMark」(UL)、「CINEBENCH R23」(UL)を使用した。
テスト環境は以下のとおり。テストはそれぞれ3回ずつ実行し、おおむね中央の結果を採用した。
前回とほぼ同じ環境だ。3D描画のテストも行うため、グラフィックボードを搭載している。
まずPCの総合性能をテストする「PCMark 10」だ。これは「Essentials」「Productivity」「Digital Content Creation」のテスト群の結果から総合スコアを導くテストだ。ブラウジングやスプレッドシートの操作、画像や動画の編集などさまざまなPC作業を実行する。
結果は以下のとおり。DDR5-5600で動作させたときのほうがすべてのスコアが高くなっている。ただ、その差は最大でも2%に届かなかった。テストを実行するたびにある程度スコアは変動するので、一部のテストでは逆転してしまう場合もあった。
「PCMark 10」のスコア。おおむねDDR5-5600のほうがスコアは高くなったものの、差は2%以内と大きくはない
次に3Dゲームへの影響を見るため、「3DMark」の「Time Spy」を試した。「Graphics」と「CPU」のテストがあり、名前のとおりそれぞれグラフィックボードとCPUの性能がスコアに影響する。
結果は、「CPUスコア」のみ5%弱と大きめの差が生まれた。ただし「Graphicsスコア」と総合スコアはほぼ同じスコア。3Dテストの平均フレームレートもほぼ同じだった。
「3DMark」の「Time Spy」。「CPUスコア」は若干の差があったものの、総合スコアに大きな差はつかなかった
最後にCPU性能への影響を見るために「CINEBENCH R23」(MAXON Computer)を実行した。CPUで3D画像のをレンダリングし、スコアを算出するテストだ。CPUコアを1個だけ使うテストとすべて使うテストがあり、シングルスレッド性能とマルチスレッド性能を測れる。
シングルスレッドではほぼ同じスコア、マルチスレッドでも2%台と小さい差となった。それでも、スコアそのものはDDR5-5600で動作させたほうがわずかに高い。
「CINEBENCH R23」のスコア。DDR5-5600のほうが高いものの、スコアの差は「CPU(Multi Core)」で2%台とほかのテストとほぼ同じだった
3種類のテストを行ったところ、ほとんどの場合でスコアそのものは順当にDDR5-5600のほうが高かった。しかしその差はおおむね1〜2%台。劇的な性能差は確認できなかった。
「XMP 3.0」には、「XMP」情報の編集機能がある。「XMP」はメーカーが設定したオーバークロック情報だが、それをユーザー側で編集できるというものだ。この機能は2023年リリース予定で、本稿の執筆時点ではまだ正式にリリースされていない。
編集にはそのためのソフトが必要で、Corsairは同社の「iCUEソフトウェア」にその機能を盛り込む予定だ。正式な実装はまだだが、執筆時点ではプレビュー版が製品ページからダウンロードできるようになっている。そちらを使ってみた。
Corsairの「iCUEソフトウェア」の画面。メニューに「XMP」という項目がある
設定画面を開くと、動作クロックだけでなく動作電圧や動作タイミングが変更できた。確認のため、ここから動作クロックをDDR5-5200に設定してみた
BIOS設定画面で確認すると、保存したプロファイルは「XMP Profile 4」として表示された。有効にすると、ちゃんとDDR5-5200として認識した
メモリーを手動でオーバークロックした際、設定値を保存しておくには通常マザーボードの機能を使う。しかし、この方法ではマザーボードを交換した際に移行させられない。「XMP 3.0」の編集機能はメモリーモジュールに設定値が保存されるため、マザーボードを交換しても利用できるというメリットがある。もちろん手動でオーバークロックするようなエンスージアスト向けだが、これまでにはなかった機能だ。
テスト結果からわかるとおり、メモリーの高速化はPC全体の性能を少し引き上げる。ただし影響は限定的と言ってよいだろう。もちろんできるだけ性能を引き出したいという人は多いだろうし、「XMP」の設定をしていないことで1〜5%ほどとはいえ性能が下がっているのはもったいない。
長年の進化によって、ほとんどのパーツが設定なしで性能を発揮できるようになっている。その中で、確認しよう、設定しようという手順が残っているのは珍しい。ただ、こういう最新規格を使えるがゆえのちょっとした不便さも、自作PCらしさと言えるのではないだろうか。
編集プロダクション「スプール」所属。PCパーツショップ店員から雑誌編集部アシスタントを経て現職。Windows Vista発売の時は深夜販売のスタッフをしていました。自作PCを中心にPC全般が好きで、レビューやノウハウ記事を中心に執筆しています。