キャッシュメモリとは?きゃっしゅめもり
キャッシュメモリとは、プロセッサと主記憶の速度差を埋める小容量・高速の記憶で、参照の局所性を利用してライン単位でデータを保持する。実効アクセス時間はヒット率×ヒット時間+ミス率×ミスペナルティで見積る。組込みではこの平均値より、ヒットとミスで実行時間がばらつき最悪応答時間の見積りを難しくする点のほうが重い。
最終更新:2026-10-06
この語が出る過去問を解く →背景
主記憶の速度向上はプロセッサの周波数向上に追いつかず、その差は世代ごとに開いた。全てを高速メモリで作れば単価も消費電力も成立しないため、よく使う一部だけを手元に置くという妥協が要る。局所性という経験則がこの妥協を成り立たせている。一方、時間の予測可能性を売りにする組込みでは、平均を速くする仕組みが最悪値を読みにくくするという逆向きの副作用を抱え込むことになる。
具体例
Arm Cortex‑R系やCortex‑M7は、指定した領域をキャッシュへ固定するロックダウンやTCM(密結合メモリ)を持ち、割込みハンドラのようにばらつきを許さないコードをそこへ置く。L1ヒット率90%・L2ヒット率80%なら、主記憶まで届くのは10%×20%=2%になる。
試験での引っ掛け
キャッシュがあるから速い、では答案にならない。DMAが主記憶を書き換えてもキャッシュ側は古いままになり得るため、転送の前後でクリーンとインバリデートが要る点が組込み特有の頻出論点。ライトスルーとライトバックの違い、コヒーレンシとの切り分けも合わせて押さえる。
関連用語
出た過去問
出典:平成28年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問1(IPA)
図に示すマルチプロセッサシステムにおいて、各MPUのキャッシュメモリの内容を正しく保つために、共有する主記憶の内容が変化したかどうかを監視する動作はどれか。
正解:バススヌープ
要点:バススヌープは共有バス監視でキャッシュ一貫性を保つ
複数のプロセッサがそれぞれキャッシュを持って主記憶を共有すると、あるプロセッサが書き換えた内容が他方の古いキャッシュに残り、内容が食い違うおそれがある。そこで各キャッシュ制御部が共有バス上のアドレスやトランザクションを常時見張り、自分が保持している行に関わる書込みを検知したら無効化や更新を行う。この監視動作がバススヌープで、キャッシュコヒーレンシを保つ基本的な手法である。
出典:平成28年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問2(IPA)
キャッシュメモリのアクセス時間が主記憶のアクセス時間の1/30で、ヒット率が95%のとき、主記憶の実効アクセス時間は、主記憶のアクセス時間の約何倍になるか。
正解:0.08
要点:実効時間=ヒット率×高速側+ミス率×低速側
実効アクセス時間は、ヒットしたときとミスしたときの時間を、それぞれの確率で重み付けした期待値になる。主記憶のアクセス時間を1とすればキャッシュは1/30なので、0.95×(1/30)+0.05×1 を計算する。前半が約0.032、後半が0.05で、合計は約0.08倍となる。ヒット率が高くてもミス時の重い代償が効いてくる点が読み取りどころである。
出典:平成30年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問2(IPA)
図に示すマルチプロセッサシステムにおいて、各MPUのキャッシュメモリの内容を正しく保つために、共有する主記憶の内容が変化したかどうかを監視する動作はどれか。
正解:バススヌープ
要点:バススヌープはバス監視でキャッシュ整合性を保つ動作
複数のMPUがそれぞれキャッシュをもって主記憶を共有すると、あるMPUが書き換えたデータが他方のキャッシュに古いまま残るキャッシュコヒーレンシの問題が起きる。これを防ぐため、各キャッシュ制御回路が共有バス上のアドレスとアクセス種別を常時監視し、自分が保持する行に関係する書込みを見つけたら該当行を無効化または更新する。この監視動作をバススヌープ(スヌーピング)と呼ぶ。
出典:令和2年度 10月試験 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問5(IPA)
キャッシュメモリのアクセス時間が主記憶のアクセス時間の1/30で、ヒット率が95%のとき、実効メモリアクセス時間は、主記憶のアクセス時間の約何倍になるか。
正解:0.08
要点:実効アクセス時間はヒット率で重み付けした加重平均で求める
実効アクセス時間は、ヒット時とミス時の時間をそれぞれの確率で重み付けして足し合わせる。主記憶のアクセス時間を1とすると、キャッシュは1/30なので、0.95×(1/30)+0.05×1=約0.0317+0.05=約0.082となる。したがって主記憶アクセス時間の約0.08倍である。
出典・参考
高度試験 午前I(ITパスポート 相当)のシラバスの8 コンピュータシステム > 41. メモリ > (3) 記憶階層に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。