Cellだけじゃないけど2nd chasheのレイテンシが長いなあ

http://www.watch.impress.co.jp/game/docs/20060329/3dps3.htm
 Cellプロセッサのキャッシュ。メモリのレイテンシを眺めてみる。

レジスタ 1サイクル
L1キャッシュ 8サイクル
L2キャッシュ 32サイクル
メインメモリ 140サイクル

 Cellのメインメモリのレイテンシは思ったよりは少ないけど、キャッシュのレイテンシが大きいな。P4ではレジスタすら投機的にロードしていたというから、それよりはマシなのかもしれないけど。ちなにみx86のCPUでは以下のようなレイテンシだろそうだ。

CPU L1 L2
Athlon 64 3cycles 12cycles
Northwood 2cycles 18cycles
Prescott 4cycles 29cycles

 L1 chashe1に入っても8サイクルかかるので、早いうちにレジスタにロードしておく必要がある。L2キャッシュはヒットしても実行処理がストールしてしまうな。ほとんど外と思ったほうが良い。OoO未実装はコンパイラががんばるとしても32kのL1に収めるのは困難だろう。レポートでも指摘されているとおり、2スレッドでないと有効に使う事ができそうにない。x86系はレジスタの数が少ないままなので、ここまでレイテンシをとってしまうことはないと思うが、将来的にキャッシュは大きくなるけど、レイテンシも大きくなることを覚悟しなければいけないかな。