PCI外设配置空间,内存地址空间和I/O空间

发布于 2022-10-15 04:13:35 字数 365 浏览 22 评论 0

每个PCI外设都有自己的配置空间,可以通过0XCF8和0XCFC端口访问?这两个端口好像是通过北桥来实现的?

问题1:这两个端口位于哪?设备上还是?

在PCI外设的这些配置空间里面有一些基地址寄存器,里面存储了一些设备映射到内存或者I/O的基地址?

问题2:这些基地址在什么地方,映射到内存和I/O操作方式有什么不同?貌似都是32位的?

问题3:CPU通过这些基地址和外设通信,是怎么实现的?

问题4:这些地址是物理地址还是虚拟地址?

问题3:在进程通信里面共享内存方式里面将开辟的内存映射到进程的空间是什么原理?怎么映射?

求!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

怪我太投入 2022-10-22 04:13:35

难道我描述的有问题吗?
大家哪个问题看不懂的指出,我修改下,谢谢!!

奈何桥上唱咆哮 2022-10-22 04:13:35

端口在IO空间上,一条访问IO空间的汇编指令用以访问这两个端口。
#1,端口是IO空间上的,具体寄存器要看具体处理器的微体系结构,一般在北桥上,处理器发出IO访问时序,出发北桥对应IO空间中的这两个寄存器。
#2,基地址寄存器是BIOS或操作系统配置的,PCI上电枚举的过程会分配空间,然后配置基地址寄存器。
#3,有了基地址,然后在基地址上加偏移量,然后再访问。
#4,是总线地址,某些体系下总线地址与物理地址相等,但必须明确,是总线地址而不是物理地址。
#5,这是关于MMU的问题,你研究操作系统内存管理相关的东西吧。

都是基本概念,建议你阅读:http://product.china-pub.com/50432
或者访问作者博客:http://blog.sina.com.cn/s/blog_6472c4cc0100p13v.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文