MPU(メモリ保護ユニット)とは?えむぴーゆー
MPU(メモリ保護ユニット)とは、メモリの領域ごとに読み・書き・実行の可否を設定しておき、規則に反したアクセスがあった時点で例外を上げるハードウェア機構。アドレス変換の機能を持たないぶん回路が小さく、仮想記憶を載せられない小規模なマイコンでもタスク間の相互破壊を止められる。機能安全での区画分離にも使われる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
組込みでは全タスクが同じ物理アドレス空間を共有するので、ポインタを1つ誤っただけで無関係なタスクのデータを壊せてしまう。しかも影響はずっと後の別の場所で症状として現れるため、原因の特定に時間がかかる。MPUは、誤りが起きたその瞬間に例外として止めることで、この追跡の困難さを取り除く仕組みである。
具体例
車載ECUでは、安全度水準の高い制御タスクの領域を他タスクから書込み禁止にしておき、診断用タスクが誤ってその番地を踏んだ時点で例外として捕捉する。設定できる領域数は8〜16程度と少ないため、リンカで同じ属性のセクションをまとめて配置し、切替えはコンテキストスイッチのときに行う。
試験での引っ掛け
MMUとの違いはアドレス変換をするかどうかで、MPUは物理アドレスのまま権限だけを判定する。したがって、断片化した領域を連続に見せることも、同じ番地を複数タスクへ別々に見せる仮想アドレス空間の分離もできない。保護と再配置は別の機能である点が問われる。
関連用語
出た過去問
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。