メモリマップドI/Oとデバイスドライバとは?
メモリマップドI/Oとデバイスドライバとは、周辺装置の制御レジスタをメモリ空間の一部に割り当て、通常のメモリ読み書き命令で操作する方式がメモリマップドI/O。専用のI/O命令を使う方式と対比される。この差異を吸収し、上位に統一的な操作を提供するソフトウェアがデバイスドライバ。
めもりまっぷどあいおーとでばいすどらいば
メモリマップドI/Oとデバイスドライバの意味
周辺装置の制御レジスタをメモリ空間の一部に割り当て、通常のメモリ読み書き命令で操作する方式がメモリマップドI/O。専用のI/O命令を使う方式と対比される。この差異を吸収し、上位に統一的な操作を提供するソフトウェアがデバイスドライバ。
メモリマップドI/Oとデバイスドライバの具体例
マイコンでGPIOのレジスタに1を書いてLEDを点灯させる、といった処理が典型。アプリからはドライバの読み書き関数を呼ぶだけにしておけば、センサの型番が変わっても上位を修正せずドライバの差し替えだけで済む。
メモリマップドI/Oとデバイスドライバは試験でどう引っ掛けられる?
I/Oレジスタは値がハードウェア側で勝手に変わるため、コンパイラが「変わらない」と判断して読み出しを削除・最適化すると動かなくなる。volatile指定などで最適化を抑止する必要がある点が実装上の定番の落とし穴。
メモリマップドI/Oとデバイスドライバと関連する用語
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。