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

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

[复制链接]
发表于 2008-6-24 17:34:40 | 显示全部楼层 |阅读模式
请帮忙解释一下三者之间的区别,并且它们的访问机理有何不同,谢谢了
发表于 2008-6-24 23:28:50 | 显示全部楼层
计算机的几种重要资源,建议看看计算机结构方面的书籍.$ A1 Y% w5 \8 c. X! p% Z
软件资源其中主要有:: r* Y* [& m# a5 R2 T
1、Memory2 E4 j7 L# E4 f# I8 y
2、IO) M7 k7 T& t7 n/ y! f' g& [" L: l  K
3、IRQ+ M2 ~; _: f1 B$ `
4、DMA
. J: t' w2 a# }5 @) n0 u/ j: ?, ]$ T5 i4 \% w
你所指的几个:
) T, k& y. c. W0 |1、PCI配置空间,是指PCI Device上的一些寄存器,如果你看过ISA计算机架构以及不方便配置架构,就会知道这是主要来干吗用的。
9 d' E/ B/ ?0 ?+ c2、I/O空间,X86为计算机各类设备提供64K的IO端口供Device使用,其中一路发展过来,很多端口都已经为某一功能而固定。% _: G/ R3 a& y5 F1 D$ h+ E
3、内存空间就是只你的计算机所能支持的Memory最大寻址范围。包括你的物理内存,也包括各类memory mapping IO和各Device的Memory地址映射空间,当然这些空间都配置在你的计算机所支持的最大寻址范围内。
回复

使用道具 举报

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

回复 2# 的帖子

多谢南狼大哥!
' F+ @' R1 a- v如果针对于一个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 发表
1 r: t8 N  ^7 D' J* v/ Ebini老是在第一时间内回答问题!
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-18 22:41 , Processed in 0.182408 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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