Rah*_*hul 8 kernel linux-kernel
我只是想知道I/O端口和I/O内存之间的区别,因为我很困惑.如果有人解释它的使用,那将是伟大的.通过使用我的意思是,当首选I/O端口和首选I/O内存时.
小智 10
存储区和I/O区之间没有概念上的区别:通过在地址总线和控制总线上断言电信号来访问它们
虽然一些CPU制造商在其芯片中实现了单个地址空间,但其他人认为外围设备与存储器不同,因此需要单独的地址空间.某些处理器(最值得注意的是x86系列)具有用于I/O端口的独立读写电源线和用于访问端口的特殊CPU指令.
Linux在其运行的所有计算机平台上实现I/O端口的概念,即使在CPU实现单个地址空间的平台上也是如此.端口访问的实现有时取决于主计算机的具体品牌和型号(因为不同的模型使用不同的芯片组将总线事务映射到存储器地址空间).
即使外围总线具有用于I/O端口的单独地址空间,也不是所有设备都将其寄存器映射到I/O端口.虽然ISA外围板通常使用I/O端口,但大多数PCI设备将寄存器映射到存储器地址区域.这种I/O存储器方法通常是首选,因为它不需要使用专用处理器指令; CPU内核更有效地访问内存,编译器在访问内存时可以更自由地进行寄存器分配和寻址模式选择.
更多详情请访问http://www.makelinux.net/ldd3/chp-9-sect-1
| 归档时间: |
|
| 查看次数: |
5403 次 |
| 最近记录: |