TwitterでRyzen 7 2700X(“Zen+”)と12-core "Zen 2"のEngineering Sampleのレイテンシを比較したグラフが掲載された。
両者とも4MBまではほぼ同一の曲線を描くが、8MB以降が変化する。
Ryzen 7 2700X(L3=8MB×2)では、8MB(16.59ns)からレイテンシのカーブが立ち上がり、16MBで59.06nsとなり、32MB以降は80ns付近で一定となる。
一方、12-core "Zen 2"では8MB(12.07ns)から16MB(19.09ns)の変化は緩やかで、16MB以降でカーブが立ち上がり、32MB付近で98ns付近の山を作った後、64MB以降90ns付近で一定となる。
Finally! Double L3 cache in Zen2 chiplet 100% confirmed. Big difference on 8MB and 16MB blocks. Overall good latency considering IMC is off-core, slow RAM with unknown timings and early sample. What about integer IPC? I think too early to tell but the higher freq will compensate. pic.twitter.com/OeWd9Xr2wt
— mustmann (@mustmann) 2019年1月26日
Ryzen 7 2700XのL3 cacheのレイテンシは17ns前後という数字がRyzen 7 2700Xの登場少し前に出てきている。上記のグラフにおいて8MBまで16.59nsで一定であることはこれを反映しているとみて良さそうである。8MBから16MBでレイテンシが立ち上がってくるのは、Ryzen 7 2700Xの構造が4-core+L3=8MB×2のCCXを2つ載せたものになっており、1つのCCXのL3 cacheの容量を超える形になったからであろう。
一方、12-core "Zen 2"でキャッシュのレイテンシが増大するのは16MB以降である。このことから、“Zen 2”のCCXあたりのL3 cache容量は16MBではないかと推測されている。
“Zen 2”でL3 cache容量が増量されるという話は、今回に始まった話ではなく、11月にSiSoftware Sandra Databaseに掲載された“Rome”×2のシステムにおいても、CCXあたりのL3 cache容量が16MBであることを示唆する記載が見られた。また1つのchipletに2つCCXが載せられていることも(64-coreで)16MB×16という表記により推測された。
今回の12-core "Zen 2"においても16MBからレイテンシが増大しているのは、いわゆる“CCXまたぎ”が起きているからとしても矛盾はしない。12-coreであれば、3-core×2 CCX×2 chipletの構成になると推測される。L3 cacheの一部無効がこれまで通りなければ、12-core "Zen 2"のL3 cache容量は64MBとなるだろう。
○まとめ
・“Zen 2”のキャッシュ容量はL1, L2はおそらくこれまでと同様
・“Zen 2”のL3 cacheはCCXあたりの容量が倍増されて16MBとなる
上のグラフにおいてメモリのレイテンシが“Zen+”より大きくみえるが、両者のメモリが同一のものかどうかも不明なので現段階で“Zen 2”のメモリレイテンシが“Zen+”より大きいと結論づけるのはやめておいた方がよさそう(I/Oダイの採用という大きな変革があったため、メモリレイテンシは非常に気になる事柄ではあるのだが)。
(過去の関連エントリー)
AMDは“Zen 2”世代の“Rome”でCCXあたりのL3 cacheを増量する(2018年11月26日)

どう評していいのか困りますな。
素人目では、この後さらにI/Oダイを通すわけで、L3はむしろレイテインシを見越しての大容量化を施したのでは、と。
一応OCメモリ使う予定ではあるしレイテンシ気にする用途でもないんですけどね
その程度の識者からの情報はさすがに当てに出来ないな・・・
そこにZen2アーキテクチャの謎が潜んでそう
信じないのは勝手だけど、説明できないからデータもろとも信用できないというなら論理が飛躍してないかと。
このソースのレイテンシの値は、一つのグラフ内の個々の値には相対的に意味があるが、2つのグラフの値を比較してはならない。Chiplet(たぶんI/Oダイも同期?)の動作周波数もメモリも2700Xのシステムと違うものだからね。
だから2700Xの16.59 ns:59.06 nsと、ESの12.07 ns:19.09 nsの比は比較していいんだけど、16.59 ns(2700X):12.07 ns(ES)という話はできない。
現状、理由を推測はいくらでもできるだろうけど、確実な証拠を集めて断定するのは難しくないか?
モジュールのスペックすらわからないデータなのにレイテンシの数値についてあれこれ考察や説明なんて無駄なことしないよ。
Zen2はプリフェッチャが強化されているとの事ですし
でもZen2ではL0キャッシュというか、μOPキャッシュが増量
されているという話なのでそっちの方が気になりますね
多分I/Oダイにセンサーをのっけてキャッシュが足らなくなったと判断したら整理するような仕組みになってるんだと思う。
とはいえまだZen 2はESの状態だし、メモリ自体もどんなもんかわからないからまだどうとも言えない。
この記事にトラックバックする(FC2ブログユーザー)