一貫性とは?
一貫性とは、トランザクションの実行前後で、データベースが定義された制約を満たす矛盾のない状態に保たれる性質。
エンベデッドシステムスペシャリスト試験の過去問では4回出題されています(2016年度〜2022年度)。
いっかんせい
一貫性の意味
トランザクションの実行前後で、データベースが定義された制約を満たす矛盾のない状態に保たれる性質。
一貫性の具体例
借方と貸方の合計が常に一致する、在庫数が負にならない、といった不変条件が崩れない。
一貫性は試験でどう引っ掛けられる?
隔離性と役割が違う。一貫性は制約を満たしているかの話、隔離性は同時実行で互いに干渉しないかの話。またACIDの一貫性は単一DB内の制約を指し、複製間で同じ値が見えるというCAP定理の一貫性とは別物。
一貫性と関連する用語
一貫性が出た過去問
図に示すマルチプロセッサシステムにおいて、各MPUのキャッシュメモリの内容を正しく保つために、共有する主記憶の内容が変化したかどうかを監視する動作はどれか。
正解:バススヌープ
要点:バススヌープは共有バス監視でキャッシュ一貫性を保つ
複数のプロセッサがそれぞれキャッシュを持って主記憶を共有すると、あるプロセッサが書き換えた内容が他方の古いキャッシュに残り、内容が食い違うおそれがある。そこで各キャッシュ制御部が共有バス上のアドレスやトランザクションを常時見張り、自分が保持している行に関わる書込みを検知したら無効化や更新を行う。この監視動作がバススヌープで、キャッシュコヒーレンシを保つ基本的な手法である。
出典:平成28年度 春期 エンベデッドシステムスペシャリスト試験 am2 問1(IPA)図に示すマルチプロセッサシステムにおいて、各MPUのキャッシュメモリの内容を正しく保つために、共有する主記憶の内容が変化したかどうかを監視する動作はどれか。
正解:バススヌープ
要点:バススヌープはバス監視でキャッシュ整合性を保つ動作
複数のMPUがそれぞれキャッシュをもって主記憶を共有すると、あるMPUが書き換えたデータが他方のキャッシュに古いまま残るキャッシュコヒーレンシの問題が起きる。これを防ぐため、各キャッシュ制御回路が共有バス上のアドレスとアクセス種別を常時監視し、自分が保持する行に関係する書込みを見つけたら該当行を無効化または更新する。この監視動作をバススヌープ(スヌーピング)と呼ぶ。
出典:平成30年度 春期 エンベデッドシステムスペシャリスト試験 am2 問2(IPA)マルチコアプロセッサで用いられるスヌープキャッシュの説明として、適切なものはどれか。
正解:共有バスを介して、各コアのキャッシュが他コアのキャッシュの更新状態を管理し、コヒーレンシを保つ。
要点:スヌープ方式は共有バス監視でキャッシュ整合性を保つ
マルチコアでは各コアが専用キャッシュをもつため、同じ主記憶の内容が複数のキャッシュに重複して存在し、一方の更新が他方に伝わらないと不整合が生じる。スヌープキャッシュは、各キャッシュの制御回路が共有バス上のアクセスを常時監視し、他コアの書込みを検知したら自分の該当ブロックを無効化・更新することで整合性を保つ方式である。バスを共有する比較的少数のコア構成に適している。
出典:令和2年度 10月 エンベデッドシステムスペシャリスト試験 am2 問4(IPA)マルチコアプロセッサで用いられるスヌープキャッシュの説明として、適切なものはどれか。
正解:共有バスを介して、各コアのキャッシュが他コアのキャッシュの更新状態を管理し、コヒーレンシを保つ。
要点:共有バスを監視して他コアの書換えを検知するのがスヌープ方式
スヌープキャッシュは、各コアのキャッシュコントローラが共有バス上のトランザクションを常時監視(スヌープ)し、他コアが自分の保持するブロックを書き換えたことを検知して無効化や更新を行う方式である。これによりコア間でキャッシュの内容が食い違わないよう一貫性(コヒーレンシ)を保つ。バス監視という仕組み上、共有バス型の小〜中規模マルチコアに適し、コア数が増えるとバス帯域がボトルネックになる。
出典:令和4年度 秋期 エンベデッドシステムスペシャリスト試験 am2 問1(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。