L4キャッシュ

HASWELL GT3eのeはeDRAMのe。
このeはエンベロープ、即ち、CPUと一緒って意味。
過去には【初代Pentium II】がCPUと2次キャッシュメモリ(SRAM)をドータカードに搭載していた。
なぜ、2次キャッシュメモリが必要だったのか?
理由は、バス(66MHz)が遅かったから・・・
と、その前にL1、L2キャッシュの説明が必要だろう。
L1キャッシュはCPUのコア専属のキャッシュで、複数ある他のCPUコアとは基本的には無関係で、CPUコアと等速あるいは半分の速度で非常に速いが容量は数+KBだったりする。
このL1キャッシュさえ常時アクセスしていれば、遅いDRAMに毎回アクセスして、CPUを待ちぼうけさせずに済む。
だが、L1キャッシュだけだと、CPU同士のデータをDRAM経由で行うことになる。これではCPU同士の通信がトンデモナク遅いものになってしまうので、とりあえずCPUの複数のコアで共有して使うL2キャッシュをCPUの近くやチップの中に設置するしかないのだ。
さらに、マルチメディア(単に動画再生でもいい)ではDRAM相手に大量のデータ転送を行うので、もっと容量が大きく、うまくDRAMと調子を合わせて、DRAMのアクセスの遅さを隠ぺいしたくなる。それがL3キャッシュだ。
そして、今ではL3キャッシュ(3MB~6MB)までオンダイとなっており、DRAMもDDR3-1600のデュアル・チャンネル構成なら転送速度も25.6G/秒まで上がっている。
とは云え、CPU(4GHzなら1サイクルは0.25ns)から見れば、DDR3メモリから最初に転送が始まるまでの待ち時間(レイテンシ:9~13ns)がとても長いのだ。CPUのサイクルの単位に変えれば、36~52サイクルにもなってしまう。
今でもCPUをDDR3に直結したら、DDR3を読み書きする度に50サイクルの待機状態になったら、いくらシステムクロックを上げても効果はほとんどない。※唯一の効果としてはCPUファンが滅多に回らなくなるだろう。
そのため、多少面倒でもキャッシュ(DDR3のデータのコピー)を使いこなさないと4GHzになっても意味がないのだ。
HASWELLのキャッシュの容量は概ねL1(不明)<L2(不明)<L3(3MB~6MB)の順になっていて、L4は128GBらしい、そして転送速度は50G/秒とDDR3の倍速だそうだ。
オンダイのグラフィックス・エンジンもL3キャッシュ経由でDRAMを使っているハズで、CPU以上にDRAMをアクセスするので、CPU以上にDRAMの転送速度で性能に差がでる。
しかも大方は決まり切ったパターンのアクセスが多いので、レイテンシは意外と気にならないからL4キャッシュをうまく調整すれば、いい感じになるかもしれない。
メーカーにより切り口は、AMDはDRAMのアクセスの仕方を深く見直し、INTELはキャッシュのコントロールを見直し、手法に違いがでているが、どちらもなかなかに難しいようだ。
それに、AMDだって負けじと、DRAMアクセラレータと称して、CPUのDRAMコントローラを、マザボの裏側に配置した大容量L4キャッシュ(ハイパートランスポート×256?)用のコントローラに換えてくるかもしれない。
マザボ・メーカーもL4キャッシュの特盛で協賛とか、ゲーマー用に特化しそうなATX系マザボでは、ありえないシナリオではない。
そんな妄想をしてると来年もパソコンはとても楽しみである。
 
 
 
 
 
 




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA