多階層キャッシュ(L1・L2・L3)とは?たかいそうきゃっしゅ
多階層キャッシュ(L1・L2・L3)とは、速度と容量が異なるキャッシュを何段も重ねる構成。コア専用のL1が数十KBで数サイクル、コア専用または少数コア共有のL2が数百KB、全コアで共有するL3が数十MBという配置になる。参照は上の段から順に行われ、ミスしたときだけ下の段へ降りるので、平均アクセス時間は各段のヒット率の積み重ねで決まる。
最終更新:2026-10-06
エンベデッドSPを最短で暗記・合格する →背景
一段のキャッシュでは、容量を増やすと連想度と配線が増えてアクセス時間そのものが延びる、という板挟みが解けない。そこで極端に小さく速い段と、大きくてそこそこ速い段へ役目を分けた。組込みではもう一つ事情があり、DMAが主記憶を直接書き換えるためキャッシュの内容と主記憶がずれる。転送の前後でクリーンとインバリデートを入れる責務が、ソフトウェア側へ回ってくる。
具体例
L1が4サイクル、L2が12、L3が40、主記憶が200サイクルなら、L1で9割拾えるだけで平均は大きく縮む。またL1を命令用とデータ用へ分けるハーバード型が広く採られるのは、命令フェッチとデータアクセスが同じポートを取り合うのを避けるためである。
試験での引っ掛け
上位の内容を下位も必ず持つ包含(インクルーシブ)方式と、重複を持たない排他(エクスクルーシブ)方式では、階層全体の実効容量が変わる。平均アクセス時間の計算では、下位のヒット率が「上位でミスしたときの条件付き確率」として与えられているのか、全体に対する割合なのかを取り違えやすい。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。