質問: l2キャッシュ(二次キャッシュ)の効果について、教えてください。 l2キャッシュ(二次キャッシュ)の効果について、教えてください。 core2シリーズ限定でお願いします。 core2duo e8600には6mbもキャッシュが搭載されています。しかし、ベンチマークでは同クロックのpentium dual-core(キャッシュ2mb)や celeron dual-core(キャッシュ1mb)と対して変わりません。 二次キャッシュには本当に効果があるのでしょうか? また、キャッシュ1mb,2mb,6mbではどれほどの差があるのでしょうか? それぞれの用途での差を教えてください。 ・エンコード ・動画観覧(youtubeやニコニコ) ・ネットサーフィン ・3dゲーム(fpsなど) ・2dゲーム(東方profectなどのstgや、横スクロールアクションなど)
回答: 一度cpuで実行した命令を蓄える場所です。 1次>2次>3次とアクセス速度が変わります。 用途での差と言うよりも実行されたプログラムの長さ、ヒット率(アルゴリズム)、容量が関係します。 また、処理にはキャッシュだけでなくcpuそのものの速度(クロック)も関係します。 cpuキャッシュは一度実行された命令がキャッシュ内で見つかればそこから実行しcpuで新たに実行しなおす時間を省きます。 cpuキャッシュのの検索、実行には専用にアルゴリズムが組まれ効率的に動作するようになっています。 同系列のcpuでキャッシュが違えばメモリの違い分差は出ますが実際の動作でcpuの速度が1mのものが6mの6分の1の速度になる事はありません。 また、cpuキャッシュは上位に行くほど値段が高くなります。 つまり積めば積むほどバカみたいに高くなります。 少ないキャッシュでより高いヒット率(アルゴリズム)があれば少なくても高い能力を発揮します。 因みに、エンコード処理ではcpuキャッシュよりも動作クロック(ソフトがマルチコア対応であればコア数)が速度の差の大きな要因になります。 逆に、ネットサーフィンやyoutubeの動画程度ではそれほど大きなcpu処理を必要としません。 2dスクロール、3dゲームでは影響するでしょう・・・ しかし、それもキャッシュのヒット率具合次第です。 結局、6mbあってもキャッシュがうまくヒットできなければ意味がありません。 逆に言えば、キャッシュのヒット率が低いから6mbもあるとも言えます。 因みに、amdのcpu(同系列)で3次キャッシュのあるcpuと無いcpuでは最大?1コアぐらいの違いが出るそうです。 amdはキャッシュの効率はintelよりも高いと言っていたと思います。