メモリマップドI/Oとは?めもりまっぷどあいおー
メモリマップドI/Oとは、周辺装置のレジスタを主記憶と同じアドレス空間に割り当て、通常のロード・ストア命令で入出力を行う方式。専用の入出力命令と別空間を用いるI/Oマップド方式に比べ、命令セットが単純になりアドレッシングの機能をそのまま使えるが、主記憶に使えるアドレスは減る。
最終更新:2026-10-06
応用情報を最短で暗記・合格する →具体例
組込み機器では、決められた番地へ書き込むとGPIOの出力が変わり、別の番地を読むとA/D変換結果が得られる。C言語ではその番地へのポインタとして扱うが、値がハードウェア側で変わるためvolatile指定が必要で、付け忘れると最適化で読出しが消える。
試験での引っ掛け
I/O領域はキャッシュしてはならない。キャッシュされると装置に届かない書込みや古い値の読出しが起きるため、その領域はキャッシュ禁止に設定する。この点が「ただのメモリアクセスと同じ」という理解の落とし穴になる。
関連用語
出典・参考
公式シラバスの2 コンピュータシステム > 1. オペレーティングシステム > (6) 入出力管理に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。