L2キャッシュ

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

L2キャッシュ (level2 cache) とは、L1キャッシュより下位のキャッシュメモリである。CPUが動作する時に、CPUの速度とメモリの速度のギャップを埋めるために使われるメインメモリーより小容量ながら高速メモリのこと。2次キャッシュ、あるいはセカンダリキャッシュなどとも呼ばれる。

CPUのキャッシュとしては、L2キャッシュよりもさらに高速なL1キャッシュが存在する。L1キャッシュはCPUのアーキテクチャと密接に連動して動くため、高速だが容量を増やすことが難しい。そのためメインメモリよりは高速で、L1キャッシュよりも容量を増やすことが容易なL2キャッシュがCPUの性能向上の手段として有効である。

PentiumIIなどのCPUでは、CPUダイと独立したSRAMをL2キャッシュとしてCPUボードに実装していたが、現在[いつ?]ではCPUのシリコンダイの上に演算回路と一緒に形成する手法が一般的である。

昨今[いつ?]のGHzオーダーで駆動されるCPUではメインメモリの速度に比べてCPUの速度が圧倒的に速すぎるため、メインメモリへのアクセスで多大なウェイト時間(概して数百クロック)が挿入されることになり、高速なCPUリソースを十二分に活用できない。

そこでアプリケーションのコードの一部をL2キャッシュに置くことで低速なメインメモリーより早くCPUにロードすることができる。

しかしアプリケーションやOSの高度化、マルチメディア化により、肥大化したコードやデータが非同期的かつ動的に読み込まれる近代のOSではサイズに限りのあるL2キャッシュの効率が低下している。また複数の物理的、論理的CPUがL2キャッシュを共有する場合、キャッシュ不整合を避けるためにロックがかかり効率が低下することがある。

そこでこれらのボトルネックを無くしメインメモリーへのアクセス速度を向上させるのが近年[いつ?]の高性能CPUのもっとも大きな課題であり、 現在[いつ?]ではAthlon 64シリーズのようにチップセットでなくCPUにメモリコントローラーを内蔵させるようになってきている。その場合、CPUの端子数が飛躍的に増加するとともに、微細なタイミングで障害が発生するため、CPUとメモリーの相性が強く意識されるようになっている。