Monthly Archives: December 2019

Purchasing the Supreme DDR4 for Zen2 (at This Time)

I purchased a DRAM from G.Skill, F4-3600C14Q-32GTZN. This equips Samsung B-dies, and which has the lowest timings (14-15-15-35) in the range of 3600 MHz, at 1.4 V. G.Skill has also released the DRAM, F4-3800C14Q-32GTZN, which have a lower actual latency. But it requires 1.5 V, thus there are little potential. So I think that F4-3600C14Q-32GTZN is the best memory for Zen2 at this time.

私はG.SkillのDRAM,F4-3600C14Q-32GTZNを購入しました.これにはSamsung B-dieが用いられており,3600 MHz帯で最小のタイミング(14-15-15-35)を1.4 Vで達成できます.G.Skillはより低い実レイテンシを誇るF4-3800C14Q-32GTZNもリリースしていますが,これは1.5 Vが必要になり,伸びしろがあまりありません.したがって,私はF4-3600C14Q-32GTZNが現状Zen2にとって最高のメモリであると考えています.


Postscript (at December 16, 2019)

Using the previous article ,”How to do Stable DDR4 Tuning on Ryzen,” as a reference, I tuned two DIMMs for stable overclocking at 1900 MHz. Please see the results from “Benchmarks.”

以前の記事「How to do Stable DDR4 Tuning on Ryzen」を参考にして,私は2枚のDIMMを1900MHzで,安定したオーバークロックのためにチューニングを行いました.結果は「Benchmarks」からご覧ください.

What is the HBM2?: Is It a Relic for Consumers?

In this article, I will write about the HBM2 which had been used in high-end class GPU, especially Radeon Vega series from AMD or TITAN V from NVIDIA. The HBM (High Bandwidth Memory) is a stacked memory that realize the very high memory bus width.


Two ways to extend the memory bandwidth

There are two ways to extend the memory bandwidth. One is increasing the memory clock, which can be seen in the progress of GDDR. The other is expanding the bus width, and the stacked memory such as the HBM aims at this.

The memory clock and the memory bus width are related as shown below. Extending the memory bandwidth can be thought as conveying more cargo to a location. If cargo are carried by trucks, getting up speed the memory clock corresponds to accelerating the trucks, and expanding the bus width corresponds to increasing the lane of the road. It can be seen that both methods contribute to extending the memory bandwidth.


The Structure of the HBM

HBM has two main features. One is that multiple memories are stacked and connected by TSV (Through-Silicon Via), and the other is that a sub-board called Silicon Interposer is interposed between the processor and memory.

Some advantages of the HBM

When trying to achieve a high bus width, a physical distance between a memory and a processor has increased, and as a result, the operating voltage and the power consumption get higher. On the other hand, a stacking memory can save the mounting area (see below) and solves the above problems.

Also, a TSV has a short connection distance, so it makes less resistance and less possibility to suffer noise. Thus, power consumption can be reduced, waveform deterioration and signal delay can be restrained, and high-speed operation can be achieved.

The silicon Interposer is a substrate made from silicon, and it can reduce the operating voltage and the power consumption due to high electrical conductivity of silicon. In addition, silicon allows large amounts of wiring in tight spaces, so it can made that wire which has high bus width are connected directly between memory and processors (without to bundle signals). It also contributes to reduce in mounting area compared to wire on a substrate.

The serious disadvantage of the HBM

However, the HBM has a fatal disadvantage of high cost. It is inevitable as long as the TSV and the Silicon Interposer are adopted. Due to this problem, and the progress of GDDR, HBM2 is no longer used in GPUs for consumers (actually, AMD had adopted HBM2 in the Vega series, but in followng Navi series, they has adopted GDDR6).

Probably, the best and last GPU for consumers which equips HBM2 will be Radeon VII (with 16GB VRAM). HBM2 which realize high bus width is attractive, but will it become a relic?


この記事では,ハイエンドGPU,特にAMDのRadeon VegaシリーズやNVIDIAのTITAN Vで使用されていたHBM2について説明します.HBM2(High Bandwidth Memory 2)は非常に広いメモリバス幅を実現する積層型メモリです.


メモリ帯域を拡大する2つの方法

メモリ帯域を拡張する方法は大きく2つあります.1つはメモリクロックを高速化するというもので,これはGDDRの進歩に見ることができます.もう1つがバス幅を拡大するというもので,HBMをはじめとする積層型メモリはこれをねらうものです.

メモリクロックとメモリバス幅は下図のような関係にあります.メモリ帯域の向上は,より多くの荷物をある場所に届けられるようにすることだと考えられます.荷物をトラックによって運ぶとすると,メモリクロックの高速化はトラックの速度を上げること,バス幅の拡大は道路の車線を増やすことに対応しています.いずれの方法もメモリ帯域の拡張に寄与していることがわかります.


HBMの構造

HBMには大きく2つの特徴があります.1つは複数のメモリが積層されTSV (Through-Silicon Via)でつながれていること,もう1つはプロセッサとメモリの間にシリコンインターポーザというサブ基板が介されていることです.

HBMのいくつかの利点

高いバス幅を実現しようとすると,メモリとプロセッサの間の物理的距離が拡大し,それに伴って動作電圧が上昇,消費電力が増大してしまいます.これに対し, 積層メモリを使用すると実装面積が節約され (下図) ,上記の問題は解決されます.

Radeon VII (HBM2)
RTX 2080 (GRRR6)

また,TSVの接続距離は短いため,抵抗が少なくなりノイズが発生する可能性が低くなります.したがって,消費電力を削減でき,波形劣化や信号遅延を抑え,高速動作を実現できます.

シリコンインターポーザはシリコンを用いた基板であり,シリコンの高い電導特性によって動作電圧と消費電力を抑えることができます.さらに,シリコンは狭い場所での大量の配線が可能なため,高いバス幅の信号線を(一度束ねることなく)直接メモリとプロセッサに接続できます.また,基板に配線するのに比べ実装面積の縮小にも寄与します.

HBMの深刻な欠点

ただし,HBMにはコストが高いという致命的なデメリットがあります.それは,TSVとシリコンインターポーザを採用する以上避けられないものです.この問題とGDDRの進歩により,HBM2はコンシューマ向けのGPUには採用されなくなっています(実際,AMDはVegaシリーズでHBM2を採用していましたが,後続のNaviシリーズではGDDR6を採用するに至っています).

おそらく,コンシューマ向けのHBM2を採用した最高で最後のGPUはRadeon VIIになるでしょう (16GBのVRAMを搭載).高いバス幅を実現したHBM2は魅力あるものですが,それは過遺物になってしまうのでしょうか.

Types of Memory Layouts of Motherboards

This article introduces the types of memory layouts of the motherboard that connect memories and memory controllers in a CPU. Memory layouts affect raising a memory clock, so it can say that actual memory behavior depends not only on the CPU and memory but also on the motherboard (and these combination). Especially when using Ryzen, it is important to tune the memory ( https://ocod.home.blog/2019/12/08/why-tune-ddr4-is-important-for-ryzen/ ), and for example, when you attempt to overclock the memory while keeping low latency, should consider the memory layouts of the motherboard which you will use.

Two Types of Memory Layouts

For ATX motherboards, it is currently standard to equip 4 memory slots and support dual channels. Therefore, two memories are connected to one memory controller, and there are two patterns for connecting two memories.

One is called daisy chain (or flyby) and the other is t-topology. The outline of each is shown below.

daisy chain (fly-by)
t-topology

The most important difference between these two types is the distance of the transmission lines which connect the two memory slots corresponded to one channel and the memory controller. Daisy chain has the different distance between each memory slots and the memory controller, in contrast, the t-topology has the same distance.

The Distance of Transmission Lines and the Memory Clock

How does the distance between the slot and memory controller affects the memory clock? If the distance of the transmission lines is different as in a daisy chain, the characteristic impedance is different between two slots, thus it is hard to reduce noise with impedance matching. On contrary, as in a t-topology, the distance of the transmission lines between slots of the same channel is same, so the impedance matching can be done easily, thus the frequency of occurring noise and signal degradation can be reduced. Because of that, if you use two memories on the same channel in a daisy chain (that is, you use a total of four memories), there are more possibility that noise occur more than tolerability than in t-topology. And when a memory clock is faster, there are much frequently to occurring noise. In these sense, in a t-topology, there are more possibility to achieve a faster clock when you use four memories.

However, a t-topology has a disadvantage. A t-topology has a longer physical distance of transmission lines between slots to memory controllers than a daisy chain, and a long physical distance is not suitable for increasing a clock speed. Also, unused transmission lines will be source of noise. In these sense, a t-topology which have longer transmission lines have a disadvantage in achieving faster clock.

Conclusion

In summary, in memory overclocking, a daisy chain has advantage when operating two memories and a t-topology is advantageous when operating four memories. As the number of chips of memory are increases, it becomes more difficult to operate with a fast clock. When overclock memory, it is general to use only two memories which are single rank operated on separate channels. So if you try to operate memories in faster clock, you should choose motherboards which have daisy chain layouts about memory.


Appendix: ITX Motherboards is the Best for Pursuit the Faster Clock of Memories

Most of ITX motherboards which have only two memory slots are the best for challenging the fastest memory clock. This is because that these have short transmission lines between the memories and the memory controllers as shown below, and there is no extra transmission lines that cause noise.

ITX boards with only two memory slots

この記事では,CPUのメモリコントローラとメモリとを接続するマザーボードのメモリ配線の種類を紹介します.メモリの配線の仕方はメモリクロックの上昇に影響するため,実際のメモリの動作はCPUとメモリだけでなくマザーボード(およびこれらの組み合わせ)にも依存していると言えます.特にRyzenを使用する場合,メモリを調整することが重要です( https://ocod.home.blog/2019/12/08/why-tune-ddr4-is-important-for-ryzen/ ).例えば,低レイテンシを維持しながらメモリをオーバークロックしようとする場合,使用するマザーボードのメモリ配線を考慮することが重要です.

2種類のメモリ配線

ATXマザーボードの場合,メモリスロットが4本搭載され,デュアルチャネルに対応しているのが現在標準的です.したがって,1つのメモリコントローラに2本のメモリが接続されることになりますが,ここで2本のメモリをつなぐ方法に2パターンが存在します.

1つがデイジーチェーン(またはフライバイ),もう1つがTトポロジーと呼ばれるものです.それぞれの概要は下図のとおりです.

daisy chain (fly-by)
t-topology

この2方式のもっとも重要な違いは,1チャネルに対応するメモリスロットとメモリコントローラとを結ぶ伝送線路の距離です.デイジーチェーンは双方のメモリスロットとメモリコントローラとの距離が異なり,Tトポロジーは距離が等しくなっています.

伝送線路の距離とメモリクロック

スロットとメモリコントローラ間の距離の違いがどのようにメモリクロックに影響を与えるのでしょうか.デイジーチェーンのように伝送線路の距離が異なる場合,特性インピーダンスが2つのスロットで異なるため、インピーダンスマッチングでノイズを低減することは困難になります.それに対し,Tトポロジーでは同チャネルのメモリ同士の伝送路の距離が等しいため,インピーダンスマッチングが容易であり,ノイズと信号劣化の発生頻度を低下させることができます.したがって, デイジーチェーンで同チャネルに2本のメモリを用いると(つまり,合計4本のメモリを用いると),ノイズがその許容量を超えてしまう可能性が高くなります.また,メモリクロックが高速になるとノイズが頻繁に発生します.これらの点で,Tトポロジーでは4つのメモリを使用する場合,高いクロックを実現できる可能性が高くなります.

ただし,Tトポロジーには欠点があります.Tトポロジーはデイジーチェーンよりも,スロットとメモリコントローラーとの伝送線路の物理的距離が長くなっています.長い物理的距離はクロックを上げるのに適していません.また,使用していない伝送線路はノイズの原因になります.これらの点で,より長い伝送線路を持つTトポロジーは,より速いクロックを達成する上で不利です.

結論

要約すると,メモリのオーバークロックにおいて,デイジーチェーンは2枚のメモリを扱う場合に,Tトポロジーは4枚のメモリを扱う場合に有利になります.メモリのチップ数が増えると高速クロックでの動作が難しくなります.メモリをオーバークロックする場合,シングルランクのメモリを2枚だけ,別々のチャネルにおいて使用するのが一般的です.したがって,より速いメモリクロックを目指す場合は,メモリについてデイジーチェーンレイアウトのマザーボードを選択すると良いでしょう.


補足 ITXマザーボードはメモリの高速クロックを追求するのに最適である

ほとんどの(2つのみのメモリスロットを備える)ITXマザーボードは,最速のメモリクロックを目指すのに最適です.それは,下図のようにメモリとメモリコントローラとの伝送線路が短い上,ノイズ源となる余分な伝送線路がないからです.

ITX boards with only two memory slots

Why Tuning DDR4 is Important for Ryzen?

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のオーバークロックに比べ複雑であるため(実は故障のリスクは低いのですが),メモリについて基礎的な理解を得つつ試行錯誤をしていく必要があります.

Ryzen 9 3950X Already Have Been Driving

I integrated Ryzen 9 3950X into my existing PC because I couldn’t stand it and also I wanted to confirm if there was some defect. For the time being, it can achieve fClk 1900 but it is very unstable. I will attempt to achieve higher performance step by step while improving the environment.


我慢できず,また,不良の有無を見るために,Ryzen 9 3950Xを既存のPCに組み込みました.とりあえずfClk 1900で稼働させることができていますが,非常に不安定です.環境を整えつつ,徐々により高いパフォーマンスの達成を目指していきます.