找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 17678|回复: 7

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

[复制链接]
发表于 2008-6-24 17:34:40 | 显示全部楼层 |阅读模式
请帮忙解释一下三者之间的区别,并且它们的访问机理有何不同,谢谢了
发表于 2008-6-24 23:28:50 | 显示全部楼层
计算机的几种重要资源,建议看看计算机结构方面的书籍.
1 [9 _# i; k/ S" o$ f* U软件资源其中主要有:
' L+ ^2 |5 q3 H' j; q1、Memory+ g5 C% K6 x1 y( R
2、IO8 Z6 `0 o4 w0 w: m0 N  {6 V; X
3、IRQ
5 L- |. q. q. b9 ?4、DMA
) S+ g7 {, `; ?0 `  G! }2 i- m  [9 i2 i0 V6 R5 |  w( i
你所指的几个:
6 B9 H: ]4 L  M4 D* I' c1 D1、PCI配置空间,是指PCI Device上的一些寄存器,如果你看过ISA计算机架构以及不方便配置架构,就会知道这是主要来干吗用的。
2 x0 R: U: ~* z) ~0 c. z2、I/O空间,X86为计算机各类设备提供64K的IO端口供Device使用,其中一路发展过来,很多端口都已经为某一功能而固定。0 }$ N8 H+ ^% X* D. p
3、内存空间就是只你的计算机所能支持的Memory最大寻址范围。包括你的物理内存,也包括各类memory mapping IO和各Device的Memory地址映射空间,当然这些空间都配置在你的计算机所支持的最大寻址范围内。
回复

使用道具 举报

 楼主| 发表于 2008-6-25 09:53:36 | 显示全部楼层

回复 2# 的帖子

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

使用道具 举报

发表于 2008-6-25 10:12:54 | 显示全部楼层
建议多看PCI Device和Host的spec.每种平台会有些不一样,你刚指的配置空间的基地址,不知道你是指IO地址还是Memory地址,当为memory地址时,大致情况如你所述。
回复

使用道具 举报

 楼主| 发表于 2008-6-25 15:08:18 | 显示全部楼层

我指的是memory地址

多谢了,南狼大哥,以后还望多多指教啊
回复

使用道具 举报

发表于 2008-6-26 17:16:11 | 显示全部楼层
bini老是在第一时间内回答问题!
回复

使用道具 举报

 楼主| 发表于 2008-6-27 13:23:12 | 显示全部楼层

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

原帖由 kelvinklee 于 2008-6-26 17:16 发表 9 D- F% ]) B8 q6 n: S. _7 R; E
bini老是在第一时间内回答问题!
回复

使用道具 举报

发表于 2011-5-26 22:27:18 | 显示全部楼层
怎么访问PCI的内存空间和I/O空间呢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2025-12-1 02:18 , Processed in 0.186545 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表