キャッシュメモリとは?
キャッシュメモリとは、プロセッサと主記憶の速度差を埋めるために置かれる小容量・高速の記憶。参照の局所性を利用して、直前に使ったデータや近傍のデータをブロック(ライン)単位で保持する。L1・L2・L3と多段に構成されることが多い。
エンベデッドシステムスペシャリスト試験の過去問では4回出題されています(2016年度〜2020年度)。
きゃっしゅめもり
キャッシュメモリの意味
プロセッサと主記憶の速度差を埋めるために置かれる小容量・高速の記憶。参照の局所性を利用して、直前に使ったデータや近傍のデータをブロック(ライン)単位で保持する。L1・L2・L3と多段に構成されることが多い。
キャッシュメモリの具体例
多段構成では、L1でミスした分だけがL2へ流れる。L1ヒット率90%、L2ヒット率80%なら、主記憶まで届くのは全体の10%×20%=2%。
キャッシュメモリは試験でどう引っ掛けられる?
実時間性の観点では、キャッシュヒット・ミスによる実行時間のばらつきが最悪応答時間の見積りを難しくする。組込みではあえてキャッシュをロックしたり無効化したりすることがある。
キャッシュメモリと関連する用語
キャッシュメモリが出た過去問
図に示すマルチプロセッサシステムにおいて、各MPUのキャッシュメモリの内容を正しく保つために、共有する主記憶の内容が変化したかどうかを監視する動作はどれか。
正解:バススヌープ
要点:バススヌープは共有バス監視でキャッシュ一貫性を保つ
複数のプロセッサがそれぞれキャッシュを持って主記憶を共有すると、あるプロセッサが書き換えた内容が他方の古いキャッシュに残り、内容が食い違うおそれがある。そこで各キャッシュ制御部が共有バス上のアドレスやトランザクションを常時見張り、自分が保持している行に関わる書込みを検知したら無効化や更新を行う。この監視動作がバススヌープで、キャッシュコヒーレンシを保つ基本的な手法である。
出典:平成28年度 春期 エンベデッドシステムスペシャリスト試験 am2 問1(IPA)キャッシュメモリのアクセス時間が主記憶のアクセス時間の1/30で、ヒット率が95%のとき、主記憶の実効アクセス時間は、主記憶のアクセス時間の約何倍になるか。
正解:0.08
要点:実効時間=ヒット率×高速側+ミス率×低速側
実効アクセス時間は、ヒットしたときとミスしたときの時間を、それぞれの確率で重み付けした期待値になる。主記憶のアクセス時間を1とすればキャッシュは1/30なので、0.95×(1/30)+0.05×1 を計算する。前半が約0.032、後半が0.05で、合計は約0.08倍となる。ヒット率が高くてもミス時の重い代償が効いてくる点が読み取りどころである。
出典:平成28年度 春期 エンベデッドシステムスペシャリスト試験 am2 問2(IPA)図に示すマルチプロセッサシステムにおいて、各MPUのキャッシュメモリの内容を正しく保つために、共有する主記憶の内容が変化したかどうかを監視する動作はどれか。
正解:バススヌープ
要点:バススヌープはバス監視でキャッシュ整合性を保つ動作
複数のMPUがそれぞれキャッシュをもって主記憶を共有すると、あるMPUが書き換えたデータが他方のキャッシュに古いまま残るキャッシュコヒーレンシの問題が起きる。これを防ぐため、各キャッシュ制御回路が共有バス上のアドレスとアクセス種別を常時監視し、自分が保持する行に関係する書込みを見つけたら該当行を無効化または更新する。この監視動作をバススヌープ(スヌーピング)と呼ぶ。
出典:平成30年度 春期 エンベデッドシステムスペシャリスト試験 am2 問2(IPA)キャッシュメモリのアクセス時間が主記憶のアクセス時間の1/30で、ヒット率が95%のとき、実効メモリアクセス時間は、主記憶のアクセス時間の約何倍になるか。
正解:0.08
要点:実効アクセス時間はヒット率で重み付けした加重平均で求める
実効アクセス時間は、ヒット時とミス時の時間をそれぞれの確率で重み付けして足し合わせる。主記憶のアクセス時間を1とすると、キャッシュは1/30なので、0.95×(1/30)+0.05×1=約0.0317+0.05=約0.082となる。したがって主記憶アクセス時間の約0.08倍である。
出典:令和2年度 10月 エンベデッドシステムスペシャリスト試験 am2 問5(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。