ただしTLB自体が全く同じか、というとそういうわけでもなさそうだ。続いてがI-TLBのAssociativityの確認であるが、16 Entriesの場合は全てのケースで全く差が見られなかった。ところが32 Entries以降は結構大きく差が出ている。グラフ55~64がNear Jump、グラフ65~72がFar Jumpで、それぞれ32 Entries/64 Entries/128 EntriesについてForward/Backward/Randomでの結果となっている。

当然ながらそもそものTLBのWay数を超えてアクセスをすればL1 I-TLBでMissし、L2 TLBのアクセスとなり、これでも溢れるとL2キャッシュやL3キャッシュ経由で、最終的にはメモリアクセスになる訳で、当然これはLatency増加になる。このあたりでどう増えるか、はTLB管理のメカニズムに依存するのでしばしば変なグラフになるのはTrinityの記事の時にも説明した通りである。

実際にアクセスパターンはご覧の通り複雑であるが、注目すべきはいずれのケースでも、L1 I-TLB Miss/L2 TLB Hitとなる領域でのLatencyが大分改善されていることだ。どの位、というのは当然ケースによって変わってくるが、平均5cycleほど高速にアクセスできるようになっている。

L1 I-TLB Hitの領域では両者に差はないので、細工はL2 TLBそのもの、もしくはL1 I-TLB-L2 TLB間の接続のどちらかということになる。見てみるとグラフの形そのものはFX-8150とFX-8350で相似しており、ただ値だけがことなるという事になる。これはつまり、TLBの制御メカニズム自体は同じだが、L2 TLBのアクセスに行ったときのレスポンスが高速化された結果としてLatencyが削減されている、という事なのではないかと思う。

次ページRMMA - D-TLB