前回までに、CPUには複数のキャッシュが搭載されていることを説明した。今回はそのキャッシュをどう制御するか、という話をしよう。 3階層のキャッシュのどこにデータを置くか? 例えば図1のように、1次~3次までキャッシュを持つCPUを考えてみる。ここでCPUがデータ(命令でもいい)のフェッチを掛けた場合、まずは1次キャッシュのタグを検索する(図1-①)。ここで見つかれば問題なく、単に1次キャッシュからそのデータを引っ張ってくる(図1-②)だけでいい。問題は1次キャッシュにデータがなかった場合(キャッシュミス)である。