プロが教える店舗&オフィスのセキュリティ対策術

Athlon64 X2のスペックについて。
2次キャッシュ、L2キャッシュとは何ですか?
単純な動作周波数とどう違うのでしょうか?

この値が高いor低いでどのような状況で性能差が出るのでしょうか?

ご教示お願いいたします。

A 回答 (4件)

L2キャッシュの搭載量による処理速度の差は実行するソフト次第となりますので通常は動作クロックの高い方が高性能となります。



L2キャッシュが多い場合は特定のソフトで動作が早くはなりますが、世間一般のソフトの大多数は動作クロックの高いCPUの方が高速に処理が可能です。

その為Athlon64 X2 4000+と4200+を比較すると当然後者の方が高性能となります。
(まぁ、販売価格を見れば明らかですね)

L2キャッシュに収まる程度の命令を使うかどうかはソフトの設計次第となるので一般人にはさほど気にする要素ではありませんよ。

Pentium4の5x0シリーズと6x0シリーズの同じくロックで速度差が体感出来るか出来ないかで比較するのが一番わかりやすいはずです。
(両者の違いはL2キャッシュの容量のみ)
    • good
    • 0

> L1キャッシュとL2キャッシュの違い



キャッシュはCPUに比べて遅いメモリへのアクセスを減らすために導入されましたが、単純にキャッシュが多ければ速くなるというものではありません。これはキャッシュが大きくなるほどキャッシュにデータがあるかないかの判定に時間が掛かるようになるためです。
このため最近のCPUではキャッシュを多段にしてCPUに直結した小容量だが高速のL1キャッシュ、L1キャッシュでミスしたときだけアクセスされる大容量のL2キャッシュ、そして低速のメインメモリという3階層メモリを使います。
# サーバなどではさらにL3キャッシュを使うこともあります

最近のCPUでは、CPUアーキテクチャをL1キャッシュの容量に合わせて最適化して設計しているためL1キャッシュの容量変更はCPU設計ごと変えないとできなくなっています。従ってL1キャッシュ容量をCPUの性能バリエーションに使うのは現実的ではなくなっています。実際のCPUではL2キャッシュ容量とクロックでバリエーションを出しています。

この回答への補足

ご回答ありがとうございます。

Athlon 64 X2についてですと、
4200+ と4400+ は動作周波数2.2GHzが同じですが
L2キャッシュが順に512KB、1MB ですね。
http://oshiete1.goo.ne.jp/kotaeru_hosoku.php3?a= …

この4200+ と4400+ の場合、L2キャッシュの差でどれほど体感及び数値上違いが出るのでしょうか?

また、似たようなことで、4200+と4000+では、順に動作周波数2.2GHz、2.0GHzですが、L2キャッシュは逆転して512KB、1MBとなっています。
この場合は、やはり4200+の方が高性能と言えるのでしょうか?

補足日時:2006/06/04 16:39
    • good
    • 0
この回答へのお礼

参照URLを間違えました。

「多和田新也のニューアイテム診断室」です。
http://pc.watch.impress.co.jp/docs/2006/0523/taw …

お礼日時:2006/06/04 16:57

Q/2次キャッシュ、L2キャッシュとは何ですか?



A/CPUパッケージに格納された記憶装置のことです。

主にスタティック型のメモリが採用されており、極めて高速なアクセスが可能なのが特徴。その昔は、バックサイドバスで実装された専用メモリであったが、近年は完全にCPUの周波数と同期にダイに格納され、プロセッサの周波数と同期したパフォーマンスが発揮できるため、データ転送の遅れがほとんどない。よって、メモリなどCPUの1/10程度しか速度のないデバイスから頻繁に使うデータを貯めておくことで、メモリからデータが届くまでの遅延を少なくすることができます。これは、完全に統合されたファーストキャッシュ(L1)に継ぐパソコンで2番目に高速なメモリとなります。

ちなみに、呼び名がいろいろあり、L2のLはLevelの頭文字そのため、レベル2キャッシュやセカンドキャッシュとも呼ばれます。これらは全て同じ意味です。

Q/単純な動作周波数とどう違うのでしょうか?

A/周波数は同期できる回数です。これは、半導体装置や回路では必ず使われているもので、キャッシュメモリでも同期周波数は存在します。周波数が高ければ、それだけたくさんの単位データ(一般のPCは64KB)を転送できるというのが動作周波数で性能が向上するという所以になります。

具体的に言えば、2GHzであれば20億回のデータの固まりを飛ばすことができます。そのため、Athlon64ならば20億×64KBのデータを1秒間に扱うことができるということになります。

L2キャッシュの動作周波数はCPUと同期します。しかし、その下にあるメインメモリは頑張っても現在ではDDR667×2倍(1.3GHz相当)が限度です。

これらの速度隠蔽を行うのがキャッシュの意味です。


Q/どのような状況で性能差が出るのでしょうか?

A/例えば同じ処理を繰り返して処理するループという作業があるとします。キャッシュ容量が128KBで、ループする命令の全データが1MBだとしましょう。128KBでは、メモリへのアクセスが最低で8回必要になりますよね。
その間で待ち時間が生じコンマ以下のCPUの待ち時間が発生します。
これを長時間繰り返せば、恐ろしいほどのロスが生じます。(既に2GHz時で数字を上げているため必要ならご自身で計算しましょう)

それが、2MBあればキャッシュに十分に収まることになります。メモリへのアクセスはなく、CPUの最高性能を常に維持した状態で処理が可能です。

また例え収まり切らなくとも、一度に扱えるデータ量が増えるため遅延率は低く抑えられるため実質待ち時間は減り体感速度が向上します。

この差になります。多くのソフトウェアでは頻繁に使う命令はある程度決まっていますので、キャッシュが多ければ性能はある程度向上します。

その向上率は搭載するキャッシュ容量によって変化し、使うプログラムによって変わります。周波数などのように絶対性能を高めるものではなく、あくまで速度隠蔽(キャッシュ)を目的としており全く向上しない場合も時にあります。

この回答への補足

ご回答ありがとうございます。

L1キャッシュとL2キャッシュの違いをより詳しく教えていただけませんか?
CPUスペックでは、もっぱらL2キャッシュに重きが置かれているような気がしまして、L1キャッシュが表に出てこない気がします。

補足日時:2006/06/04 10:30
    • good
    • 0

Athlon 64/X2に限りませんが・・・・



L2キャッシュの容量が大きいことで
・大規模なアプリケーションがさくさく動きやすくなる
・環境によってはタスク切り替えもさくさくになり

という感じです。

平均的には、L2キャッシュが倍増することで、10%程度の速度向上が見られますが、それ以上の効果があることもあります。

ちなみに、Athlon 64 3200(Socket939 DDR400@Dualchunnel)で計測しますと
L1:L2:実メモリの速度比率は、10:6:1 程度になります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!