>>410 そのハードウェア・プリフェッチが敗因かもしれないね。
ベンチマークでは128バイト毎あるいは4224バイト毎に先頭4バイトだけを飛び石で読んでいる。
1. 先頭4バイトのために、キャッシュラインのサイズである64バイトをDRAMから読む。
2. さらにプリフェッチによって次の64バイトもDRAMに読みに行くが、それは使われない
3. 次の先頭4バイトのためにDRAMを読みたくても、まだ2番目が進行中なので待たされる
こんな具合かな?
>>396の数字を比較すると、30nsくらいの差で、
30nsといえば、133MHzで4クロック、つまり64バイト分の転送時間だから、
間髪入れずにバースト8の転送を2回連続でやれるなら、だいたい合致すると思う。
>>411 TLBミスやキャッシュミスを頻発するようなプログラムだと、効いてくると思いますが?