トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

PC/Ryzenのメモリクロックとの戦い方

PC/Ryzenのメモリクロックとの戦い方

Ryzenマシンのメモリクロック

Ryzenマシンにおいて、メモリのクロックを引き上げるには、

  • IF/メモリーコントローラのOC(メモリクロック・SoC電圧)
  • メモリのOC(メモリクロック・レイテンシ・DRAM電圧)

という二本立てのOCが必要になり、通常のメモリOCに比べて複雑になっています。

一般的なメモリOC

  • メモリクロックを上げて波形が鈍る分を電圧を上げて補う
  • メモリチップ固有のアクセスタイミングをレイテンシという形で調整する

メモリOCに失敗すると、以下のような現象が現れます。

  • MEMTESTで不規則にエラーが発生する
  • OS起動中にブルースクリーンが発生する
  • まったくPOSTしない

IF/メモリーコントローラのOC

Ryzenの設定項目にある、SoC電圧という珍妙で不可解なものの調整です。
System on Chip、つまりRyzenの石全体を指すような言葉ですが、不適切な設定をした時の挙動を見る限りでは、おそらくメモリーコントローラとInfinity Fabricに関連する部分(従来のノースブリッジに相当)と考えられます。
Infinity Fabricのクロックがメモリクロックに連動しているという仕組みから、この部分のOCの必要性が付いて回ります。
SoC電圧が適切でないと、以下のような現象が現れます。

  • MEMTESTは通るのにアプリケーションエラーが発生する
  • iGPUに負荷をかけた時だけエラーが起きる
  • iGPUの画面が乱れる
  • 突然ハングアップする
  • まったくPOSTしない

メモリの選び方

OCメモリ買ってもダメな時はダメなんで、無駄金使わないようにしましょう。
では、どんなメモリを買えばいいのか

  • 見た目が好みのメモリ
  • 好きなメーカー・チップベンダのメモリ
  • 予算に見合った価格のメモリ

月並みですね。では、どんなメモリを買わないほうがいいか。

  • 一番安いメモリ(だいたいトラブります。ほんと。)
  • リマーク品疑惑のあるメモリ、リマークベンダー製のメモリ

具体的には言いません。察してください;)

実施編

では実際にメモリOCをしてみましょう。

事例1

・Ryzen7 1700
・VSoCがモニタでき、設定ツールの付いた高級マザー
・定格2400MHzのMicron製メモリ
・ターゲット 2933MHz
1.まず、2933MHzに設定して起動させるため、メモリクロックを2933、レイテンシをAUTOにしてマザーの気分に任せます。だめだったら真面目にレイテンシを計算したり、DRAM電圧をちょっとだけ盛ってみたりします。
2.POSTしたら、AUTOで設定された値のうちクリティカルな上6項目くらいを手動設定で設定しなおします。不安定なら手動でレイテンシを緩めます。
3.SoC電圧はAUTOのままOSを起動し、FF14ベンチでエラーが出るまで1段階ずつ、MBのツール等でSoC電圧を下げます。
4.エラーが出たらSoC電圧を2段階上げ、この値をBIOSメニューから設定します。このときは1.075Vになりました。
5.もしまだメモリのレイテンシが詰められそうだったら詰めます。1でDRAM電圧を上げたら、下げられそうだったら下げます。

事例2

・Ryzen5 2400G
・VSoCがモニタできない廉価マザー
・定格2666MHzのMicron製メモリ
・ターゲット 3200MHz

1.まず、3200MHzに設定して起動させるため、SOC電圧を1.1Vあたりに設定し、メモリクロックを3200、レイテンシをAUTOにしてマザーの気分に任せます。だめだったら真面目にレイテンシを計算したり、DRAM電圧をちょっとだけ盛ってみたりします。
2.POSTしたら、AUTOで設定された値のうちクリティカルな上6項目くらいを手動設定で設定しなおします。不安定なら手動でレイテンシを緩めます。
3.不安定ならSoC電圧を一段階ずつ上げます。余裕がありそうなら一段階ずつ下げます。最終的に安定するところの一段階上にしておくといいでしょう。
4.このマザーボードはSoC電圧をVIDで設定するタイプだったため、最終的にはSoC VID=45 (1.11875V) となりました。
5.もしまだメモリのレイテンシが詰められそうだったら詰めます。1でDRAM電圧を上げたら、下げられそうだったら下げます。結局1.2Vのままで問題なく動きました。
☆2933MHz比でFFベンチのスコアはちょっとだけ伸びました。

Column:レイテンシとディレイ

どちらも遅れ時間を指す言葉として使われますが、こんな違いが。

  • 数えられるのがレイテンシ…クロック数で表される
  • 計らなければならないのがディレイ…時間で表される

メモリのタイミングはディレイで規定されていて、それに合わせてレイテンシを設定するので、 レイテンシ*1/周波数 は常に一定になるのです。