linux-kernel – IO端口和IO内存之间的区别

linux-kernel – IO端口和IO内存之间的区别,第1张

概述我只是想知道I / O端口和I / O内存之间的区别,因为我很困惑.如果有人解释它的使用,那将是伟大的.通过使用我的意思是,当首选I / O端口和首选I / O内存时. 存储区和I / O区之间没有概念上的区别:通过在地址总线和控制总线上断言电信号来访问它们 虽然一些CPU制造商在其芯片中实现了单个地址空间,但其他人认为外围设备与存储器不同,因此需要单独的地址空间.某些处理器(最值得注意的是x86 我只是想知道I / O端口和I / O内存之间的区别,因为我很困惑.如果有人解释它的使用,那将是伟大的.通过使用我的意思是,当首选I / O端口和首选I / O内存时.解决方法 存储区和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

总结

以上是内存溢出为你收集整理的linux-kernel – I / O端口和I / O内存之间的区别全部内容,希望文章能够帮你解决linux-kernel – I / O端口和I / O内存之间的区别所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1039894.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存