RMMAによる内部解析 - Minimal D-Cache Latency(グラフ164~179)

念のためにL1/L2に関してはMinimal D-Cache Latencyも確認してみた。横軸がNOP数なのは、予めNOPで埋め尽くしたページを用意し、これをL1/L2にFillする速度を計算しているためである。対象はL1/L2で、それぞれ2種類のFill方法を用い、さらにアクセスパターン4種類ということで無駄にグラフが多くなっている。

まずL1 Fill/Method 1(グラフ164~167)で、どのパターンでもIntelが平均5cycleのLatencyなのに対しRYZEN 7 1800Xは4cycle以下になっていることが分かる。

Method 2(グラフ168~171)は、累積のLatencyを測定するもので、最初4cycleほどのLatencyがあるが、その後は単調に1 NOP/cycleで累積しており、Througputは1NOP/cycleであり、最小のLatencyが4であることがこちらからも確認できた。

一方L2であるが、Method 1(グラフ172~175)の場合、Forward/Backward(グラフ172/173)は4cycleそこそこであるが、Random(グラフ174)は17cycle程度、Pseudo-Random(グラフ175)は10cycle弱で、こちらはL1に比べると不規則なアクセスに弱いことが判った。

この傾向はMethod 2でも明確に出ている。Forward/Backward(グラフ176とグラフ177)は最小が4cycleなのに対し、Random(グラフ178)は17cycleほど、Pseudo-Random(グラフ179)では10cycleほどがY軸切片の値となっており、やはりアクセスパターンでRYZEN 7 1800XのL2のLatencyは変化するのは間違いない。とはいえ、この程度ならば十分に高速なのだが。