最終更新:2016-09-17 (土) 02:31:16 (2779d)
I/Oアドレス空間
I/OポートへIOマップトIO?でアクセスするときのアドレス
概要
- Z80やIntel x86などのCPUやPCIバスなどでは、メインメモリとは別のアドレス空間としてI/O空間があり、ペリフェラルのレジスタを接続するために用意されている。
- x86ではI/O空間はメモリ空間より狭く、アクセスできる命令も限定されている。
- I/Oアドレス空間のアドレスはI/Oアドレス?やI/Oポートアドレス?と呼ばれる。
メモ
- I/O空間を持たないCPUでは,メモリ空間にI/Oを配置(メモリマップドI/O)
- 8ビットを1つのブロックとして転送
x86
- I/Oアドレス空間として16ビット(2の16乗)、6万5535番地(64KB)までのアドレスが使える (0x0000~0xFFFF)
- 物理メモリとI/Oバスは、CPUからみる限り完全に分離されており、取り扱う命令も異なってくる。
- I/Oアクセスを行う場合には、必ずINなりOUTという特殊な命令を使う
- IN/OUT命令で1回に転送できるデータ量は最大でも32bit
例
- I/Oポートのページ参照。