Ryzen9 5950Xのメモリ・キャッシュ帯域
Ryzen9 5950X 記事一覧
Ryzen9 5950Xの準備編
Ryzen9 5950Xで自作PC (組み立て)
Ryzen9 5950Xのメモリ設定
Ryzen9 5950XでのPBOとCOの効果
Ryzen9 5950Xでベンチマーク
Ryzen9 5950Xのメモリ・キャッシュ帯域
いつも測っているメモリやキャッシュの帯域を5950Xでも測ってみた。
Zen3ではCCXを統合してL3キャッシュの構成を見直したことが注目されているけど、その効果が確認できるだろうか?
比較環境
とりあえず、手持ちのCPUで比較してみた。
測定方法
とりあえず、いつもの自作アプリを使用して測定。(このアプリを作って遊ぶのが主目的なので)
まず、シングルスレッドのキャッシュ・メモリ帯域から。
5950Xと、前の世代の3700Xを比較するとクロックが上がっているのもあって全体的に帯域が底上げされ、さらにCCXが統合されてひとつのコアから見えるL3キャッシュが32MBまで広がった効果から32MBぐらいまで高い帯域を維持しているのがわかる。
7980XEに関してはAVX512効果でL1/L2の帯域は高いのだけど、L3キャッシュ帯域の低さは謎。なんかSkylake-Xになってメッシュが導入されたときに思ったより性能が上がっていない感じ。
次に、マルチスレッドのキャッシュ・メモリ帯域。
5950Xが64MB程度までの広い範囲をキャッシュでカバーできているのが印象的。16コアなので、キャッシュ領域では非常に高い帯域となっている。
1CCDのみ有効にして5800X(偽)みたいにした場合の結果も載せたけど、これを3700Xと比べるとL1/L2はクロックが上がっている分、帯域がやや増え、L3に関しては16MBx2から32MBになったことで微妙に帯域が下がっている。この辺りはCCX統合の副作用なのかもしれない。
次に、スレッド数を変えた時のメモリ帯域。
これはまあ、7980XEは4chなので最大値が高いのは当たり前。むしろ、1スレッドの時の帯域が4CPUの中で最も低く、5950Xとは倍近い差をつけられているのが気になる。
5950Xに関しては、同じDDR4-3600だけど、3700Xを上回る結果になっている。
今度はメモリアクセスのレイテンシ(遅延)の測定。まずは、なるべくTLBミスを発生させないアクセスパターン。
5950XではやはりCCX統合によるキャッシュ構造の変化が確認でき、3700Xと比べ一段と深く32MBまで低レンテンシを維持できている。
次に完全にランダムなアクセスパターン。
先ほどと同じようにキャッシュ構造の変化が確認できる。あと、データサイズの大きいメモリアクセスをしている領域で見ると、5950Xでは3700Xと比べてメモリアクセスのレイテンシが改善しているっぽい。
というわけで5950Xの64MB(32MBx2)という巨大なL3キャッシュを意識させられる結果となっていたと思う。前の世代と比べると、CCXの統合によってひとつのコアから32MBのキャッシュが見えるようになったのが大きく、これが5950Xの高い性能の底上げにつながっているのだと思う。
今回比較したIntel i9 7980XEは3年前の石ではあるが、Intelは現在も14nmにとどまっていることもあり、いまもそこまでキャッシュサイズは拡大していない。こうしたキャッシュ容量の差も、もしかすると地味に現状のZen3とSkylakeの性能差につながっているのかもしれない。
なお、そのほかのCPUでの測定結果をまとめたものはこちら。手持ちのいろいろなCPUで測った結果を載せてみた。
Ryzen9 5950X 記事一覧
Ryzen9 5950Xの準備編
Ryzen9 5950Xで自作PC (組み立て)
Ryzen9 5950Xのメモリ設定
Ryzen9 5950XでのPBOとCOの効果
Ryzen9 5950Xでベンチマーク
Ryzen9 5950Xのメモリ・キャッシュ帯域
Ryzen9 5950Xの準備編
Ryzen9 5950Xで自作PC (組み立て)
Ryzen9 5950Xのメモリ設定
Ryzen9 5950XでのPBOとCOの効果
Ryzen9 5950Xでベンチマーク
Ryzen9 5950Xのメモリ・キャッシュ帯域
いつも測っているメモリやキャッシュの帯域を5950Xでも測ってみた。
Zen3ではCCXを統合してL3キャッシュの構成を見直したことが注目されているけど、その効果が確認できるだろうか?
比較環境
とりあえず、手持ちのCPUで比較してみた。
CPU | Cores | RAM | RAM Timing |
---|---|---|---|
i9 7980XE @ 4.0GHz | 18C/36T | DDR4-3600 4ch | 17-19-19-41-1 |
Ryzen9 5950X | 16C/32T | DDR4-3600 2ch | 19-20-20-40-1 |
Ryzen7 3700X | 8C/16T | DDR4-3600 2ch | 18-22-22-43-1 |
Ryzen7 1700X | 8C/16T | DDR4-2666 2ch | 16-16-16-38-1 |
測定方法
とりあえず、いつもの自作アプリを使用して測定。(このアプリを作って遊ぶのが主目的なので)
まず、シングルスレッドのキャッシュ・メモリ帯域から。
5950Xと、前の世代の3700Xを比較するとクロックが上がっているのもあって全体的に帯域が底上げされ、さらにCCXが統合されてひとつのコアから見えるL3キャッシュが32MBまで広がった効果から32MBぐらいまで高い帯域を維持しているのがわかる。
7980XEに関してはAVX512効果でL1/L2の帯域は高いのだけど、L3キャッシュ帯域の低さは謎。なんかSkylake-Xになってメッシュが導入されたときに思ったより性能が上がっていない感じ。
次に、マルチスレッドのキャッシュ・メモリ帯域。
5950Xが64MB程度までの広い範囲をキャッシュでカバーできているのが印象的。16コアなので、キャッシュ領域では非常に高い帯域となっている。
1CCDのみ有効にして5800X(偽)みたいにした場合の結果も載せたけど、これを3700Xと比べるとL1/L2はクロックが上がっている分、帯域がやや増え、L3に関しては16MBx2から32MBになったことで微妙に帯域が下がっている。この辺りはCCX統合の副作用なのかもしれない。
次に、スレッド数を変えた時のメモリ帯域。
これはまあ、7980XEは4chなので最大値が高いのは当たり前。むしろ、1スレッドの時の帯域が4CPUの中で最も低く、5950Xとは倍近い差をつけられているのが気になる。
5950Xに関しては、同じDDR4-3600だけど、3700Xを上回る結果になっている。
今度はメモリアクセスのレイテンシ(遅延)の測定。まずは、なるべくTLBミスを発生させないアクセスパターン。
5950XではやはりCCX統合によるキャッシュ構造の変化が確認でき、3700Xと比べ一段と深く32MBまで低レンテンシを維持できている。
次に完全にランダムなアクセスパターン。
先ほどと同じようにキャッシュ構造の変化が確認できる。あと、データサイズの大きいメモリアクセスをしている領域で見ると、5950Xでは3700Xと比べてメモリアクセスのレイテンシが改善しているっぽい。
というわけで5950Xの64MB(32MBx2)という巨大なL3キャッシュを意識させられる結果となっていたと思う。前の世代と比べると、CCXの統合によってひとつのコアから32MBのキャッシュが見えるようになったのが大きく、これが5950Xの高い性能の底上げにつながっているのだと思う。
今回比較したIntel i9 7980XEは3年前の石ではあるが、Intelは現在も14nmにとどまっていることもあり、いまもそこまでキャッシュサイズは拡大していない。こうしたキャッシュ容量の差も、もしかすると地味に現状のZen3とSkylakeの性能差につながっているのかもしれない。
なお、そのほかのCPUでの測定結果をまとめたものはこちら。手持ちのいろいろなCPUで測った結果を載せてみた。
Ryzen9 5950X 記事一覧
Ryzen9 5950Xの準備編
Ryzen9 5950Xで自作PC (組み立て)
Ryzen9 5950Xのメモリ設定
Ryzen9 5950XでのPBOとCOの効果
Ryzen9 5950Xでベンチマーク
Ryzen9 5950Xのメモリ・キャッシュ帯域