libeili 发表于 2008-6-24 17:34:40

PCI的配置空间、I/O空间、内存空间的具体区别

请帮忙解释一下三者之间的区别,并且它们的访问机理有何不同,谢谢了

bini 发表于 2008-6-24 23:28:50

计算机的几种重要资源,建议看看计算机结构方面的书籍.
软件资源其中主要有:
1、Memory
2、IO
3、IRQ
4、DMA

你所指的几个:
1、PCI配置空间,是指PCI Device上的一些寄存器,如果你看过ISA计算机架构以及不方便配置架构,就会知道这是主要来干吗用的。
2、I/O空间,X86为计算机各类设备提供64K的IO端口供Device使用,其中一路发展过来,很多端口都已经为某一功能而固定。
3、内存空间就是只你的计算机所能支持的Memory最大寻址范围。包括你的物理内存,也包括各类memory mapping IO和各Device的Memory地址映射空间,当然这些空间都配置在你的计算机所支持的最大寻址范围内。

libeili 发表于 2008-6-25 09:53:36

回复 2# 的帖子

多谢南狼大哥!
如果针对于一个PCI device来讲,系统bios 会向PCI配置空间的基地址寄存器填写一个值,以此来告诉pci device系统为其分配了一段内存地址(当然是CPU未用到的),当上层程序要访问该段地址的数据时,那么就会转向访问pci device 的mmio寄存器,是这样的吗?

bini 发表于 2008-6-25 10:12:54

建议多看PCI Device和Host的spec.每种平台会有些不一样,你刚指的配置空间的基地址,不知道你是指IO地址还是Memory地址,当为memory地址时,大致情况如你所述。

libeili 发表于 2008-6-25 15:08:18

我指的是memory地址

多谢了,南狼大哥,以后还望多多指教啊:lol

kelvinklee 发表于 2008-6-26 17:16:11

bini老是在第一时间内回答问题!

libeili 发表于 2008-6-27 13:23:12

呵呵,欢迎老兄也指点一二啊

:lol :lol 原帖由 kelvinklee 于 2008-6-26 17:16 发表 http://www.ufoit.com/bbs/images/common/back.gif
bini老是在第一时间内回答问题!

archmd_duwei 发表于 2011-5-26 22:27:18

怎么访问PCI的内存空间和I/O空间呢
页: [1]
查看完整版本: PCI的配置空间、I/O空间、内存空间的具体区别