PCI的配置空间、I/O空间、内存空间的具体区别
请帮忙解释一下三者之间的区别,并且它们的访问机理有何不同,谢谢了 计算机的几种重要资源,建议看看计算机结构方面的书籍.软件资源其中主要有:
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地址映射空间,当然这些空间都配置在你的计算机所支持的最大寻址范围内。
回复 2# 的帖子
多谢南狼大哥!如果针对于一个PCI device来讲,系统bios 会向PCI配置空间的基地址寄存器填写一个值,以此来告诉pci device系统为其分配了一段内存地址(当然是CPU未用到的),当上层程序要访问该段地址的数据时,那么就会转向访问pci device 的mmio寄存器,是这样的吗? 建议多看PCI Device和Host的spec.每种平台会有些不一样,你刚指的配置空间的基地址,不知道你是指IO地址还是Memory地址,当为memory地址时,大致情况如你所述。
我指的是memory地址
多谢了,南狼大哥,以后还望多多指教啊:lol bini老是在第一时间内回答问题!呵呵,欢迎老兄也指点一二啊
:lol :lol 原帖由 kelvinklee 于 2008-6-26 17:16 发表 http://www.ufoit.com/bbs/images/common/back.gifbini老是在第一时间内回答问题! 怎么访问PCI的内存空间和I/O空间呢
页:
[1]