- ベストアンサー
キャッシュについて
L1(一次)キャッシュ L2(二次)キャッシュ の違いは何ですか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
L1(一次)キャッシュは、CPUと直結した最速経路でアクセスする緩衝装置です。普通のメインメモリに使われるDRAMとは異なりアクセス速度が極めて速く大容量化には向かないSRAM(スタティックランダムアクセスメモリ/static random access memory)が使われアクセス速度がCPUの周波数と100%リンクし、CPUの命令実行に直結されています。インテル製のCPUではi486時代頃から8KB程度のキャッシュを実装し、現在は最大で128KBを格納できる機種や、CPU処理で使う専用コードにあらかじめ変換して保存しておくTraceと呼ばれるキャッシュを使う物もある。最もアクセス頻度の高い命令がここに格納されるが、CPUに格納されCPUと直結するため設計上容量は極めて少ない。 L2(二次)キャッシュは、主にバックサイド(バックサイドバス)に実装されるSRAM媒体。バックサイドとはCPUとチップセットの中間に位置する部分のこと。最近はCPUの設計がより高度になったことでCPU内に格納されるようになったが、以前は外側に実装されていた。 ただ、CPUと直結しているわけではなくあくまで格納されていると言うだけ、基本的にこのL2は必ずL1を介してアクセスされる。CPUはL1に存在しないデータを参照する際は次にL2を参照する。アクセス速度はL1より遅いが、最近の物はCPUと同速度で動作する物も多くL1にだいぶ近い速度になっている。容量は64KB程度~3MB程度まで幅がある。 サーバ用ではL3(三次)キャッシュなどさらに大容量なキャッシュをサポートしたり、実装している物もある。一般向けでも以前AMD社のK6-3がL3をサポートしていました。下位になればなるほど容量が多くなりますが速度は遅くなります。ただ、メモリよりは数十倍~百倍ぐらい速いですけどね。そのため、L1キャッシュにWindows2000/XPが収まるなら一瞬で起動も出来るほどになる可能性も高い。 L2でもそのぐらいになる。L3までで収まるものでもそのぐらい可能。 しかも、それが1GHzや2GHzのプロセッサでも出来るぐらいと聞けばキャッシュには驚くべき性能があり、連続ヒットすればそれだけ強い。ただし、キャッシュがより多ければ必ず速いというわけでもなく、ヒットしなければ遅くなりますし、下手に多いと完全に外れたときにキャッシュ参照と入れ替えに時間が掛かりダメージが大きい可能性もある。あくまで、使うソフトやCPUの構造に合わせた適量であることが大事なのです。
その他の回答 (2)
- TT250SP
- ベストアンサー率41% (2393/5813)
#1です 誤解を生みそうなので、解説してあるページを貼っておきます 参考まで http://yougo.ascii24.com/gh/60/006006.html http://hp.vector.co.jp/authors/VA004323/zakki/021102.html
- TT250SP
- ベストアンサー率41% (2393/5813)
極簡単に説明します CPUが真っ先に参照するのが1次キャッシュ ただし、速度が速い代わりに用量が小さいので、次の容量は大きいけど1次よりは少し遅い2次キャッシュを参照しにいく。 Pentium4ExtremeEditionやXeonはこのあと3次キャッシュがありますね。 それでも収まりきらないものや不必要な物はメインメモリへ さらに、そこが濫れるとスワップファイルとしてハードディスクへ書き込まれます