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

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

[复制链接]
发表于 2008-6-24 17:34:40 | 显示全部楼层 |阅读模式
请帮忙解释一下三者之间的区别,并且它们的访问机理有何不同,谢谢了
发表于 2008-6-24 23:28:50 | 显示全部楼层
计算机的几种重要资源,建议看看计算机结构方面的书籍.
; P5 k. R" o/ a/ S, c8 H8 X7 `5 [软件资源其中主要有:
! O: \4 @, x' e( ?5 ^1、Memory; I/ ~. s3 P6 \  ?
2、IO- J- O9 b7 i3 ^4 M" d
3、IRQ5 z+ N. z8 b# b' P+ d0 H5 @7 H
4、DMA* M- ]' Y2 B* S0 F- b, k  z6 b

" K( ?3 k" {" R# ^  k( B你所指的几个:
: p  z# O3 m3 I8 g3 E7 y% R1、PCI配置空间,是指PCI Device上的一些寄存器,如果你看过ISA计算机架构以及不方便配置架构,就会知道这是主要来干吗用的。$ i* s3 n' ?2 t# H7 D% X9 a
2、I/O空间,X86为计算机各类设备提供64K的IO端口供Device使用,其中一路发展过来,很多端口都已经为某一功能而固定。0 q' K! G7 [5 b5 ~* c
3、内存空间就是只你的计算机所能支持的Memory最大寻址范围。包括你的物理内存,也包括各类memory mapping IO和各Device的Memory地址映射空间,当然这些空间都配置在你的计算机所支持的最大寻址范围内。
回复

使用道具 举报

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

回复 2# 的帖子

多谢南狼大哥!  y: ~) {0 e6 M& N, c: [5 o( c$ b
如果针对于一个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 发表 , |) \" p7 _5 S. p' ^
bini老是在第一时间内回答问题!
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-1 17:36 , Processed in 0.179312 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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