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