I-TLB(グラフ95~124)

Photo07でもPiledriverの改良点として"Larger L1 TLB"が挙げられている。実を言うとこのスライド、一見してPiledriverのBulldozerに対する改良点と読めてしまいそうだが、実はこれBulldozerと比較しての改良とStarsと比較しての改良が入り混じっているようで、正直どこからどこまでがBulldozerに対する改良なのか良くわからなかったりする。そんなわけで、まずはI-TLBの方からみてゆきたい。

まずグラフ95~100がTLB Sizeである。まずNear Jump(グラフ95~97)では一応10cycle未満のLatencyだとまだTurboが有効かも、ということで補正側のグラフで見ることにすると、L1 TLBが50Entry前後、L2 TLBが512 Entryといったあたりで、この傾向はFX-4100と変わらない。Latencyも概ね同等の範囲と思われる。512 Entryを超えるとA10-4600MのLatencyが増えているが、この範囲だとどこまでTurboが掛かっているかちょっと微妙なところである。とは言え、若干Latencyは悪化しているかもしれない。

一方Far Jump(グラフ98~100)、Forward/Backwardはまぁ同じであるが、RandomではFX-4100が激しく暴れており、全体にLatencyも大き目になっているのにA10-4600Mは割りと大きく増えない印象で、このあたりは少し手が入ったのかな? という気がする。ただここで判るとおり、L1 TLBがBulldozerに比べて特に大きくなったという訳ではなく、そのあたりはほぼ同等で、ただ内部に多少のチューニングを掛けた結果、Near JumpにおけるRandom AccessのLatencyはやや増えたがFar JumpにおけるRandom AccessのLatencyを安定させて下げることに成功した、というあたりであろう。

グラフ101~124はAssociativityの確認である。グラフ101~112がNear Jump、グラフ113~124がFar Jumpで、それぞれ16/32/64/128 EntryでForward/Backward/Randomの各アクセスパターンを行った場合のLatencyである。

まずNear Jumpの16 Entry(グラフ101~103)だが、そもそもFX-4100とA8-3870Kはグラフが殆ど重なっており、A10-4600Mも単体ではやや低めに触れるが補正するとほぼ同等ということで、概ね3cycle未満のLatencyでアクセスできている。これが32 Entry(グラフ104~106)になると、23 Entryあたりまでは3cycleでアクセスできているのに、その先はFX-4100とA10-4600Mは溢れるようでLatencyが増えている。ただその際のLatency、補正を掛けてもまだFX-4100より下がっており、実際はこのあたりだとあまりTurboが効かないことを考慮すると、だいぶ改善したと見ても良さそうに思える。

64 Entry(グラフ107~109)や128 Entry(グラフ110~112)はA8-3870Kを含んですべてI-TLBが溢れているので激しい波形になっているが、A10-4600Mのグラフは概ねFX-4100と同じで、ただしSegment Countが24を超えた先でのLatencyは明確にFX-4100より下がっており、このあたりは明確に変更された部分と判断してもよさそうだ。

こうした傾向はFar Jumpでもおなじである。16 Entry(グラフ113~115)はやはり3cycle弱で一定、32 EntryではA8-3870K以外24 SegmentあたりでLatencyが急増、32 Entry以降はLatencyが大暴れという傾向は同じで、そしてA10-4770のLatencyが24 Segment以降でFX-4100より低めという点も変わらない。大雑把に言って、TrinityのI-TLBはBulldozerのI-TLBと基本的には同じで、ただ若干改善が施されているという程度と考えれば良いだろう。