文章目录
- 一、IO端口和IO内存的区分及联系
- IO端口和IO内存的定义
- Linux下访问 IO 端口
- I/O映射方式
- 内存映射方式
- 参考
一、IO端口和IO内存的区分及联系
这两者如何区分就涉及到硬件知识,X86体系中,具有两个地址空间:IO空间和内存空间,而RISC指令系统的CPU(如ARM、PowerPC等)通常只实现一个物理地址空间,即内存空间。
- 内存空间:内存地址寻址范围,32位操作系统内存空间为2的32次幂,即4G。
- IO空间:X86特有的一个空间,与内存空间彼此独立的地址空间,32位X86有64K的IO空间。
IO端口和IO内存的定义
-
IO端口:当寄存器或内存位于IO空间时,称为IO端口。一般寄存器也俗称I/O端口,或者说I/O ports,这个I/O端口可以被映射在Memory Space,也可以被映射在I/O Space。
-
IO内存:当寄存器或内存位于内存空间时,称为IO内存。
Linux下访问 IO 端口
I/O映射方式
内存映射方式
参考
io端口与io内存详解
Linux系统对IO端口和IO内存的管理
【统一编址应用详解】:如何在现代系统中最大化IO端口与IO内存的潜力
☆