エンベデッドシステムスペシャリスト 2014年 午前2 問02
問題文
外部記憶をもたない組込みシステムにおけるMMU(Memory Management Unit)の活用法として、適切なものはどれか。
選択肢
ア:CPUを介さずにメモリ間データ転送を行うことによって、処理速度を向上させる。
イ:仮想アドレスで主記憶を管理することによって、実装されている物理メモリの容量を超えるメモリ割当てを要求されてもプログラムの動作を継続させる。
ウ:入出力レジスタの値をキャッシュすることによって、ハードウェアアクセスを高速化する。
エ:プログラムのメモリ領域へのアクセス権限を設定することによって、不正なメモリアクセスを防止する。(正解)
🔒 解説は解答すると表示されます
メモリ保護機能【午前2解説】
正解の理由
外部記憶をもたない組込みシステムでは、物理メモリの容量を超える領域を外部記憶に退避して使い続けることはできません。一方、MMUには、メモリ領域ごとにアクセス権限を設定し、許可されていない読み書きや実行を防ぐ機能があります。
この機能を活用するものとして適切なのは、エです。プログラムが割り当てられた領域以外にアクセスしようとしたときに検出し、他のプログラムやシステム領域を保護できます。
解法ステップ
- MMUの主な役割を確認します。MMUは、アドレス変換やメモリ領域のアクセス制御を行うハードウェアです。
- 問題の条件「外部記憶をもたない」に注目します。メモリ不足時に外部記憶へ退避する仮想記憶の仕組みは使えません。
- 選択肢をMMUの機能と照らし合わせます。CPUを介さないデータ転送はDMA、入出力レジスタの高速化はキャッシュに関する内容です。
- メモリ領域へのアクセス権限を設定する機能を選びます。
選択肢別の誤答解説
- ア:CPUを介さずにメモリ間のデータ転送を行うのは、DMA(Direct Memory Access)の役割です。MMUの主な機能ではありません。
- イ:仮想アドレスを使ったメモリ管理に関する説明ですが、物理メモリを超える領域を使い続けるには、通常、ページを退避する外部記憶が必要です。外部記憶をもたない条件では適切ではありません。
- ウ:入出力レジスタの値をキャッシュしてハードウェアアクセスを高速化する、という説明はMMUの役割ではありません。入出力レジスタは読み書きによって状態が変わることがあるため、一般に通常のメモリと同じようにキャッシュするのは適切でない場合があります。
- エ:メモリ領域に読み書き・実行などのアクセス権限を設定し、不正なアクセスを防ぐ機能です。MMUのメモリ保護機能に該当します。
よくある誤解
- アドレス変換とメモリ保護を別々の装置の機能だと思う
MMUはアドレス変換だけでなく、アクセス権限の確認によるメモリ保護も行います。 - 仮想アドレスを使えば、物理メモリより大きな領域を必ず使えると思う
仮想アドレスの仕組みだけでは、容量を超えたデータの保存場所は確保できません。退避先となる外部記憶などが必要です。 - データ転送を高速化する機能はすべてMMUだと思う
DMAやキャッシュは、MMUとは役割が異なる機能です。
補足コラム
MMUは、仮想アドレスを物理アドレスに変換するほか、アクセス権限に違反する操作を検出します。例えば、あるタスクが他のタスクのメモリ領域を書き換えようとした場合、そのアクセスを拒否して例外を発生させられます。
組込みシステムでは、外部記憶を使わない場合でも、メモリ保護によってタスク間の干渉や誤動作の影響を抑えられます。ただし、MMUを搭載しない小規模な組込みシステムもあります。
FAQ
Q. MMUがあれば、物理メモリの容量を超えてプログラムを実行できますか?
A. MMUだけではできません。容量を超える部分を退避する外部記憶などが必要です。
A. MMUだけではできません。容量を超える部分を退避する外部記憶などが必要です。
Q. MMUとDMAの違いは何ですか?
A. MMUはアドレス変換やメモリ保護を行います。DMAはCPUを介さずにデータを転送します。
A. MMUはアドレス変換やメモリ保護を行います。DMAはCPUを介さずにデータを転送します。
Q. メモリ保護は組込みシステムでも必要ですか?
A. 必要となる場合があります。複数のタスクが動作するシステムなどでは、誤ったメモリアクセスによる影響を抑えるのに役立ちます。
A. 必要となる場合があります。複数のタスクが動作するシステムなどでは、誤ったメモリアクセスによる影響を抑えるのに役立ちます。
関連キーワード: MMU、メモリ保護、仮想アドレス、物理アドレス、DMA、キャッシュ

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

