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

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

[复制链接]
发表于 2008-6-24 17:34:40 | 显示全部楼层 |阅读模式
请帮忙解释一下三者之间的区别,并且它们的访问机理有何不同,谢谢了
发表于 2008-6-24 23:28:50 | 显示全部楼层
计算机的几种重要资源,建议看看计算机结构方面的书籍.0 b) y+ ~+ L2 V4 E9 g3 A0 P
软件资源其中主要有:
& f7 i/ c7 d+ y& g5 k1 R1、Memory0 h& L9 k8 N3 [5 X4 r8 a! E
2、IO
0 }' z: z2 \! s/ L( u& `7 B( k3、IRQ
0 F" Q% G4 z3 ?$ ]) d8 c" w& s4、DMA* O% n. y. u3 {# _( t
/ I3 M2 L( a8 [) q
你所指的几个:
1 S) z9 _" I/ Y% T- ^9 O1、PCI配置空间,是指PCI Device上的一些寄存器,如果你看过ISA计算机架构以及不方便配置架构,就会知道这是主要来干吗用的。0 i4 A3 J6 ?3 z; @! _, c% e
2、I/O空间,X86为计算机各类设备提供64K的IO端口供Device使用,其中一路发展过来,很多端口都已经为某一功能而固定。
* F0 k( C4 y( @* }! z3、内存空间就是只你的计算机所能支持的Memory最大寻址范围。包括你的物理内存,也包括各类memory mapping IO和各Device的Memory地址映射空间,当然这些空间都配置在你的计算机所支持的最大寻址范围内。
回复

使用道具 举报

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

回复 2# 的帖子

多谢南狼大哥!
  h) V0 U  m( n* C9 j4 v9 n如果针对于一个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 发表 0 m5 y/ k% e& K7 L( m2 o( B& r
bini老是在第一时间内回答问题!
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-14 21:51 , Processed in 0.038160 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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