IO端口与寻址(统一编址与独立编址)

编址的方法分为统一编址与独立编址:

        统一编址的原理是将IO的端口地址存储器寻址的地址空间范围之内,此方法也成为存储器映像编址。CPU访问一个端口的操作与访问内存的操作相同,也使用访问内存的指令。独立编址是为端口地址单独开辟一部分地址空间,其访问指令也需要使用单独的指令(不同于内存访问指令)。

例如:

CGA显示卡的内存地址直接编入内存地址空间范围,0xB800-0xBC00范围内,想在显示器上输出一个字符,可以直接使用内存操作指令进行操作。

采用独立的IO地址空间对控制设备中的寄存器进行寻址与访问。使用ISA总线结构的传统PC机其IO地址范围是0x000-0x3ff,共1024个。


普通Linux下查看/proc/ioports文件可得到相关控制器或设置使用的IO地址范围。

摘自《Linux内核完全剖析》P19-20

你可能感兴趣的:(笔记)