
This article introduces why DDR4 tuning is important when using a Ryzen processor. DDR4 tuning method was introduced in other article ( https://ocod.home.blog/2019/08/21/how-to-do-stable-dram-oc-on-ryzen/ ), so please have a look.
The Structure of Zen Architecture
If you want to know the importance of DRAM on Ryzen, you should understand the basics of the structure of the zen architecture. The latest product is the Zen2 architecture, so I will introduce it with Zen2 as an example.
The greatest feature of the Zen architecture is that it is modularized by combining CCX (Core Complex) which consist of 4 cores. It makes it easier to combine overwhelming many core processors than so far, and to prepare wide lineup of products, including products for enterprises, according to the number of CCX combinations. CCX is connected by fabrics called Infinity Fabric (consisting of Scalable Data Fabric and Scalable Control Fabric). This connection method of multiple cores is very different from the Ring Bus that Intel has adopted so far.
Two Types of Dies in Zen2 Architecture
The Zen2 architecture announced at Computex 2019 has a distinctive structure in which the compute die and the I/O die are separated and each is made by a different process.

The compute die consists of a CCD (Core complex Die) in which two CCXs manufactured in a 7nm process are connected by an Infinity Fabric, and the I/O die is manufactured in a 12nm process. The reason why the 12nm process is adopted for the I/O die is that the component size of the analog part cannot be changed, so it isn’t effective to adopt a small process; it is driven by various voltages (smaller process is unsuitable for use with high voltage); and the manufacturing cost of the 7nm process is expensive.

The design of the connection between the compute die and the I/O die is shown below. It should be noted that Infinity Fabric is used to connect CCXs and CCDs.

Why Tuning DDR4 is Important for Ryzen?
Let’s move on to the main subject. Why tuning DDR4 is important for Ryzen processors? The reason for this is, it is very interesting, the operating speed of Infinity Fabric (fClk) is synchronized to the memory controller clock (uClk), and uClk is according to the memory clock (mClk), so the memory clock is higher, Infinity Fabric will run faster. The feature that internal interconnect of the processor is defined by the operating frequency of external devices is not found in the Intel’s Ring Bus (thus, when using an Intel CPU, the importance of the memory clock is relatively lower).
However, the operating speed of Infinity Fabric has limited, so it cannot said always that you get higher performance with a higher memory clock indefinitely. AMD has be recommended to set mClk 3733 (thus, uClk and fClk take 1867), and fClk is halved if memory clocks is higher (if you have a fortunate CPU, it can achieve fClk1900 (= mClk3800)). Indeed, you can chose higher memory clocks even if Infinity Fabric is slow, but, an advantage of Ryzen is high performance with much cores, so it can be said that it is more reasonable to increase the connection speed between cores.

As of now, Ryzen has less possibility to achive a higher CPU overclocking than the Intel Core i series. Therefore, memory tuning is indispensable for pursuit of higher performance on Ryzen. Since an appropriate memory clock has already been apparent, it is necessary to reduce the memory latency if you attempt to get further performance improvement. Tuning memory, including reducing latency, is more complex than CPU overclocking (though the risk of breaking devices is low), so you should make trial and error while gaining a basic understanding of memory .

この記事では,なぜRyzenプロセッサを用いるに当たって,DDR4のチューニングが重要になるのかを紹介します.DDR4のチューニングの方法は別途記事にしていますので ( https://ocod.home.blog/2019/08/21/how-to-do-stable-dram-oc-on-ryzen/ ),是非ご覧ください.
Zenアーキテクチャの構造
RyzenにおけるDRAMの重要さを理解するためには,Zenアーキテクチャの構造の基礎を理解する必要があります.現在最新の製品はZen2アーキテクチャなので,Zen2を例に紹介します.
Zenアーキテクチャの最大の特徴は,それが4コアから成るCCX(Core Complex)を組み合わせるモジュール化されたものであることです.それにより,これまでに比べ圧倒的多コアのプロセッサを容易に可能にでき,CCXの組み合わせの数に応じて,エンタープライズ向けを含め幅広い製品ラインナップを用意できるようになります.CCXは,(Scalable Data FabricとScalable Control Fabricからなる)Infinity Fabricと呼ばれるファブリックで接続されます.この複数のコアの接続方式は,Intelが現在に至るまで採用してきたリングバスとは大きく異なる設計です.
Zen2アーキテクチャにおける2種類のダイ
Computex 2019にて発表されたZen2アーキテクチャは,コンピュートダイとI/Oダイが分離され,それぞれが異なるプロセスでつくられているという特徴的な構成になっています.

コンピュートダイは,7nmプロセスで製造されたCCX2つがInfinity Fabricで接続されたCCD (Core Complex Die)から成り,I/Oダイは12nmプロセスで製造されています.I/Oダイに12nmプロセスを採用しているのは,そのアナログ部のコンポーネントの大きさが変わらずプロセスを細かくする意義が薄いこと,様々な電圧によって駆動すること(より微細なプロセスは高電圧に不向きである),7nmプロセスの製造コストが高いこと,という理由からです.

コンピュートダイとI/Oダイの接続の設計は下図のようになっています.注目すべき点は,Infinity Fabricが,CCX同士の接続,及びCCD同士の接続に用いられているということです.

なぜRyzenとってDDR4のチューニングが重要なのか
本題に移りましょう.なぜRyzenプロセッサにおいてDDR4のチューニングが重要なのでしょうか.その理由は――非常に興味深いことに――Infinity Fabricの動作速度(fClk)はメモリーコントローラのクロック(uClk)に同期しており,uClkはメモリクロック(mClk)に対応しているため,メモリクロックが高くなればなるほどInfinity Fabricの動作速度が高くなるということです.このような,プロセッサ内部のインターコネクトが外部の動作周波数に規定されるという特徴は,Intelのリングバスには見られないものです(したがって、IntelのCPUを用いる場合、相対的にメモリクロックの重要性は低くなります).
しかし,Infinity Fabricの動作速度には限界があり,無際限にメモリクロックを高くすれば良いというわけではないのです.AMDは,mClk3733(したがって,uClk1867,fClk1867)を推奨しており,それ以上のメモリクロックではfClkが1/2になるようになっています(当たりのCPUでは,fClk1900(=mClk3800)を実現できるものもあります).確かに,Infinity Fabricが低速でもメモリを高クロックで運用する選択肢がないわけではありません.しかし,Ryzenの強みは多コアによるハイパフォーマンスなので,コア間の通信速度を高める方が理に適っていると言えるでしょう.

現状,RyzenはIntel Core iシリーズに比べ,CPUのより高いオーバークロックの可能性が低いです.したがって,Ryzenのより高いパフォーマンスの追求にはメモリのチューニングが欠かせないのです.そして,すでに適切なメモリクロックが明らかである以上,更なる性能向上を試みるのであれば,メモリレイテンシを下げることが必要になってきます.レイテンシを詰めることを含むメモリのチューニングは,CPUのオーバークロックに比べ複雑であるため(実は故障のリスクは低いのですが),メモリについて基礎的な理解を得つつ試行錯誤をしていく必要があります.