メモリマップドI/Oとは?
メモリマップドI/Oとは、周辺デバイスの制御レジスタを主記憶と同じアドレス空間に割り当て、通常のロード/ストア命令でアクセスできるようにする方式。専用の入出力命令が不要で、ポインタ操作でデバイスを扱える。
めもりまっぷどあいおー
メモリマップドI/Oの意味
周辺デバイスの制御レジスタを主記憶と同じアドレス空間に割り当て、通常のロード/ストア命令でアクセスできるようにする方式。専用の入出力命令が不要で、ポインタ操作でデバイスを扱える。
メモリマップドI/Oの具体例
C言語では、アドレスを volatile 修飾したポインタにキャストしてレジスタを読み書きする。volatile を付けないと、値が変わらないとみなしたコンパイラの最適化で読み書きが削除・移動されてしまう。
メモリマップドI/Oは試験でどう引っ掛けられる?
volatile は「最適化の抑止」であって、割込みやマルチコアに対する排他制御やアトミック性は保証しない。
メモリマップドI/Oと関連する用語
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。