「G.Skill TridentZ Neo F4-3600C16D-32GTZNC」を2セット使ってオーバークロックしてみたので、UEFIの設定方法を簡単に解説してみる。
オーバークロックメモリに搭載されているXMPプロファイルはインテル独自のメモリオーバークロック規格であり、AMDプラットフォームでのオーバークロックに最適化されているとは言い難い。XMPプロファイルを適用したままでも問題なく動作することもあるが、たまに不安定になったりOSが起動しなくなることもある。こういった場合は、手動で調整を行う必要がある。メモリのオーバークロックはCPUのオーバークロックに比べて安定させることが難しく、初心者にはハードルが高い。
しかし、嬉しいことにG.SkillからAMDプラットフォームに最適化された「TridentZ Neoシリーズ」がラインナップされている。このシリーズはRyzen 3000シリーズCPU・AMD X570マザーボードの構成に最適化されたメモリである。今回は、このTridentZ Neoシリーズの「F4-3600C16D-32GTZNC」を2セット(16GB x4枚)使い、オーバークロックしてみる。
※オーバークロックはメーカーや代理店の動作保証対象外になるので自己責任で行うこと。
XMPプロファイルを読み込ませたが問題発生
最初にXMPプロファイルを読み込んだ状態で起動してみた。メモリ合計は64GBになっており、4枚しっかりと認識されている。しかし、この状態でパソコンを起動をすると10回に3~4回程の割合でPOSTコード「8d」を表示したままフリーズしてしまう。UEFIを設定した後の再起動ではほぼ100%発生する。ググってみるとこの症状が出ている人(外国人の方)が何人もいるようだ。簡単に説明すると、マザーボードのメーカーを問わずUEFIに問題があるようだ。POSTコード8dはメモリのエラーである。ちなみに管理人の使用している「ASRock X570 Phantom Gaming X」マザーボードのUEFIバージョンは最新の2.70になっている。前のバージョンである2.10に変更しても症状は変わらず、更に前の1.80にするとXMPが適用された状態では毎回8dが表示され、UEFIすらまともに起動しなくなった。尚、この症状はXMPを読み込ませないデフォルト状態では起きない。
現状、安定しているのは2.10と2.70なので、メモリのオーバークロックを行うならこのどちらかにした方が良いかも知れない。
さて、オーバークロックを手動で調整するのだが、調整する項目は「DRAM周波数」「DRAM電圧」「SoC電圧」「レイテンシ調整」になる。この中で難しいのがレイテンシ調整だ。XMPを読み込ませたにも関わらずシステムが安定しない場合は、このレイテンシを調整することで安定することが多い。レイテンシとは、メモリのスペックにある「CL16-19-19-39」と書いてある値でタイミングとも言う。メモリ速度は2666や3200等、製品名や型番に書いてある事が多い。もちろんスペックを確認するのが確実である。メモリの性能を決めるのは「動作周波数」と「レイテンシ」である。動作周波数が高いほど高速で、レイテンシが低いほど高速になる。体感しやすいのは動作周波数の方であり、レイテンシの違いを体感することは難しい。
そして、レイテンシの低いオーバークロックメモリはかなり高額になる。競技や自己満足で性能を求めるのでなければ、レイテンシは妥協して良い。Ryzen 3000シリーズなら動作周波数3200~3800MHz辺りが一番美味しいと言われている。予算が限られている場合、レイテンシが高スペックなものより動作周波数が高いものを購入しよう。
「DRAM周波数」と「DRAM電圧」
最初に「DRAM周波数」と「DRAM電圧」を調整する。基本的にXMPプロファイルを読み込ませてから調整を行う方が楽。
調整するとは言うものの、これらは特に拘りがなければXMPで読み込まれた値のままで問題ない。DRAM周波数を4000MHz以上にするのであれば、DRAM電圧は1.400V以上にしないと安定させることが難しくなる。
「SoC電圧」の調整
XMPを読み込ませた状態では自動になっていたので、「固定モード(Fixed Mode)」を選択し、電圧は「1.200V」に設定した。このSoC電圧が自動のままだとシステムが不安定になることがあるので、安定性を重視するならこのように設定した方が良い場合もある。電圧の範囲は、デフォルト値から1.200Vが一般的に良いとされている。「F4-3600C16D-32GTZNC」は、XMPを読み込ませたままの状態だと、SoC電圧はソフト読みで1.194Vになっていた。
このメモリではロードラインキャリブレーション(LLC)がXMPプロファイルでは「レベル1」になる。ASRockの場合はレベルが低いほど電圧降下が少なくなる。つまり、レベル1は一番安定する設定ということになる。分からなければ「自動」にしておく。管理人の環境だと自動にするとレベル3になった。当然だが、電圧が上がると発熱が多くなるし、CPUやマザーボードへの負荷も大きくなる。バランスを考えて調整しよう。
SoC電圧は1.200Vであれば比較的安全な電圧だが、気になるのであれば徐々に電圧を落として下限値を探る方が良い。オーバークロックに不慣れの人であれば、いきなり1.200V付近に設定するのは危険なので、最初は1.100V辺りから徐々に電圧を上げていく方法が安全だ。
実際にステータスを確認したいのであれば、このようなモニタリングソフトを使用するのが良い。
「レイテンシ」の調整
メモリオーバークロックのキモであるレイテンシの調整。ASRockマザーボードでは「タイミング設定」という項目。調整するのは「tCL(tCAS)」「tRCDRD」「tRCDWR」「tPR」「tRAS」「tRC」の項目。これらの名称はマザーボードによって多少変わるのと、調整可能な項目がこのスクショのものより少ない場合がある。
レイテンシのイメージをエクセルで分かりやすくしてみた。メモリにはデータを記憶している素子があり、読み書きする場合はこの素子の場所を示す行と列を指定してアクセスする。大雑把に言うと、レイテンシとはそれぞれの動作にかかる時間のことである。
行を指定 | → | 列を指定 | → | データ読み書き | → | アクセス終了 | → | 別の行へ |
tRCD | tCAS | tRP | ||||||
tRAS |
システムが安定しているのであればXMPプロファイルで読み込まれた値のままで問題ないが、管理人のように不安定になる場合は手動で調整を行う。XMPを読み込むと「16-19-19-19-39」となるので、手動でスクリーンショットのような大きめの値「18-22-22-22-42」を入力した。tRCが何故か自動のままだったので、こちらも適切な値を入力する。tRCは、tRAS + tRP で算出するので「42+22=64」となる。tRCDRDとtRCDWRは同じ値で良いと思う。
ちなみに、これらの値は同シリーズのひとつ下位のモデルである「F4-3600C18D-32GTZN」と同じ。SoC電圧を調整すれば「CL16-19-19-39」でも問題なく起動することを確認したが、安定性を重視して「CL18-22-22-42」にした。このように、レイテンシを緩めるのであれば下位モデルの値を参考にするのが手っ取り早くておすすめ。逆に、更にオーバークロックしたい場合は上位モデルの値を参考にすれば良い。レイテンシが理解不能であれば、これらは「自動」にしておけばマザーボードが安定する最適な値に調整してくれる。
ここまで解説した設定で数日使ってみたが、とても安定していた。POSTコード8dは一切出なくなった。特に拘りが無いのであれば、このような緩い設定でも良いだろう。
取り付けているメモリのXMPプロファイルで設定されているレイテンシは「CPU-Z」で確認可能。「Timings Table」にある「XMP-3602」の項目が、このメモリのXMPで設定されるレイテンシとDRAM電圧になる。
「F4-3600C16D-32GTZNC」SPDをCPU-Zで確認した様子
「Infinity Fabric Divider」について
次に「Infinity Fabric Divider」について解説する。第2世代RyzenまではInfinity Fabricとメモリ動作周波数が同期されており、メモリ動作周波数を高く設定できてもInfinity Fabricが先に動作周波数の限界に達してしまう。つまり、メモリのオーバークロックがやり難いということになる。この問題を解決するのに第3世代Ryzenでは「Infinity Fabric Divider」という機能が追加された。これはInfinity Fabricの動作周波数をメモリ動作周波数の半分で動作させる機能である。Infinity Fabric Dividerが有効であれば「1:2モード」、無効であれば「1:1モード」になる。ここまで説明すると予想できると思うが、メモリ動作周波数が同一であれば、1:2モードより1:1モードの方がInfinity Fabricの動作周波数が高速なので性能が高いということになる。
上記のスクショを見て欲しい。「NB Frequency」が「DRAM Frequency」の半分の値になっている。比率で言えば1:2となっており、これはInfinity Fabric Dividerが有効の状態(1:2モード)になっていると言える。
この比率はUEFIで手動で1:1にすることが可能。Infinity Fabric Dividerの有効と無効を切り替える項目はないので、ASRockマザーボードの場合は「Infinity Fabric Frequency and Divider」の項目で、手動で適切な値を選択する。メモリの動作周波数を3600MHzで動作させる場合は半分の1800に設定する。ひとつ注意点があり、メモリの動作周波数が3800MHzを超えるとRyzenの仕様で1:2モードになってしまう。つまり、1:1モードの上限のメモリ動作周波数は3800MHzということになる。
Infinity Fabric DividerはXMPを読み込ませても自動のまま
しかし、比率が1:2になったからといって体感できるほど性能が下がることはない。あまり気にしない人であれば1:2のままでも問題ないだろう。1:1で設定を詰めるとCPUの負担も増す気がするので、管理人は3733MHz以上のOCでは1:2モードのまま使用している。3600MHzまでなら1:1にしても安定する場合が多いので、気になる人は手動で設定してみると良いだろう。4000MHz程度だと、3600MHzの1:1モードの方がパフォーマンスが高い場合が多い。管理人のおすすめは、3600MHzの1:1モードである。
レイテンシやInfinity Fabric等に関しては、管理人は最低限の知識しか持ち合わせてないため専門的な解説はできない。詳しく知りたい方は解説しているプロのサイトを参考にした方が良い。
少し詰めた設定にしてみる
Infinity Fabric Dividerを1:1モード、メモリクロック 3600MHz、レイテンシをXMPプロファイルと同じ値の CL16-19-19-39、SoC電圧 1.200V(LLCレベル3)で動作させてみた。
ド安定です、ありがとうございます。
X570マザーボードでもメモリ4枚をXMPプロファイルと同等のスペックで安定させることは難しい。なかなか上出来ではなかろうか。
ちなみに、検証はOCCTを30分程実行した方が良い気もするが、面倒なのでCinebench R20を連続実行してスコアが安定していれば良しとした(´・ω・`)
まとめ
これらの解説した設定で、3600MHzメモリ4枚を安定動作させることに成功した。元の設定からある程度レイテンシを緩めれば、余程の事がない限り不安定になることは稀。これで安定しないのであれば、更にレイテンシを緩めるか、メモリ動作周波数をワンランク落とせば良い。
簡単な解説であったが、AMD初心者の方の参考になれば幸いだ。インテルプラットフォームに関しては、XMPプロファイルを読み込めば殆どの場合調整無しで安定動作する。AMDプラットフォームでは、XMPプロファイルを読み込んだままだと不安定なことが多い。特に、動作周波数が高クロックになると安定する設定を探るのがインテルに比べて難しいので、ある程度妥協が必要なときもある。例えば、3200MHzで安定動作させたいなら、3600MHzのメモリにすれば良い。スペックに余裕のある選択をすれば安定動作も容易になる。
管理人は現状3600MHzのメモリをそのまま3600MHzで動かしているが、数日安定しているのを確認したら3200MHzに下げるつもり。安定しているというのは何よりも重要なことなのだ。
【追記:2020/3/25】
設定を下げずにしばらく3600MHzで使用していたが、マザーボードが微妙なのか稀に「8d」エラーが発生していた。3200MHzに落とせばエラーの頻度は落ちるが、それでも不安定に変わりない。CinebenchやOCCTを実行してもOS自体は不安定にはならないのだが。結局マザーボードを別のものに交換することでこの問題は解消された。XMPプロファイルだけ読み込ませた設定でもエラーは全く出ずに安定している。マザーボードが原因でメモリが安定しないことは良くあるので、思い切った行動も必要である。