日常生活でもパソコンでもキャッシュは必要
今回は「キャッシュ」という用語を取り上げよう。日常会話でキャッシュといえば「現金」を意味することが多いが、もともとキャッシュには「たくわえる」という意味がある。パソコン用語のキャッシュは「データを一時的にたくわえる」ための高速なメモリーを指すことが多い。
キャッシュはCPUとメインメモリーの間、メインメモリーとHDDの間などに搭載されている。ここでは、CPUに搭載されているキャッシュについて解説していく。
キャッシュがCPU本来の性能を引き出している
CPUがデータの処理(演算など)をする際は、2つの作業を行なっている。まずはじめに、メインメモリーからデータやプログラムを読み込んで処理を行なう。その後に、その結果をメインメモリーに書き込んでいるのだ。
その際に問題になるのが、CPUとメインメモリーの速度差。CPUの動作速度(CPUクロック)が年々向上しているのに対して、メインメモリーのデータ転送速度やFSBクロックはあまり向上していない。そのため、両者の速度に大きな差が生じてしまっている。
メインメモリーの速度が遅いと、データを読み込んでいる間、CPUはすることがなく遊んでしまう。言ってみれば、本来の性能を持て余している状態だ。そこで考えられたのがキャッシュだ。
CPUが処理をする場合は、同じデータを何度も読み込むことが多い。そこでCPUの内部に、容量が小さく、コストが高い代わりに超高速なメモリー(SRAMメモリーなど)を搭載して、メインメモリーの一時的な「代わり」にしているのだ。
CPUがメインメモリーからデータを読み込む際にはまずデータがキャッシュ上にコピーされる。2回目からそのデータを読み込む際は、低速なメインメモリーではなく、高速なキャッシュから読み込むことでパフォーマンスを上げる。これがキャッシュの基本的な仕組みだ。
CPUのキャッシュには階層がある
キャッシュに使うメモリーは高速だが、コストやサイズの関係であまり大容量にはできない。そこで階層化することでより効率のいいデータ転送を行なっている。
階層化されたキャッシュは、CPUに近い側から、Level1キャッシュ(1次キャッシュ)、Level2キャッシュ(2次キャッシュ)、Level3キャッシュ(3次キャッシュ)のように呼ばれる。CPUに近い側のキャッシュほど、アクセス速度は高速だが、容量は小さくなる。
現在、パソコンで使われているCPUの大部分は、同じダイの中にL1キャッシュとL2キャッシュを搭載している。L2キャッシュの容量は「MB」で表され、同じ設計(アーキテクチャー)のCPUでも上位製品と下位製品ではL2キャッシュの容量が異なることが多い。
例えばインテルのCPUの場合、「Core 2 Duo E8xxx」シリーズは6MBのL2キャッシュを搭載しているが、「Core 2 Duo E6xxx」シリーズのL2キャッシュは4MB。また、廉価版である「Pentium Dual-Core」シリーズでは1MBとかなり小容量だ。
CPUのクロックが同じ場合はL2キャッシュの容量が大きい方がパフォーマンスは高くなる。L2キャッシュ容量が2倍になっても性能が2倍になるわけではない。だが、1~2割程度と少なくない差が出てくるため、CPUの性能に大きな影響を与える要素になる。
(次のページにつづく)
この連載の記事
-
第13回
PC
パソコンがうるさいと思ったときの「最高動作温度」 -
第12回
PC
パソコンが「故障かな?」と思ったときのエラッタ知識 -
第11回
PC
パソコンを速くしたい人の「ステッピング」教室 -
第10回
PC
モバイルPCユーザーなら常識?! TDPの最新知識 -
第9回
PC
ゲームマシン買うなら拡張命令の違いは知っとかなきゃ! -
第8回
PC
意外と知らない? 命令セットの正しい知識 -
第7回
PC
思わず人に教えたくなる64bit CPUの話 -
第6回
PC
知らなきゃPCは選べない、プロセスルールの基礎知識 -
第5回
PC
Centrino 2モデル購入以前のマルチコアCPUの基本 -
第4回
PC
3Dゲーム購入前に知っておきたいチップセットの常識 -
第3回
PC
KGBみたいなバスってな~んだ? - この連載の一覧へ