PCI Address Space Map

在这里插入图片描述

PCI体系结构中支持三种地址空间:Memory空间、I/O空间、Configuration空间

x86的处理器可以直接访问Memory空间和I/O空间。PCI的设备可以直接映射到处理器的Memory空间中,支持32bit/64bit寻址。在I/O地址空间中,PCI支持32bit地址,但是x86只用了16bit访问I/O空间,所以很多平台的I/O空间大小限制在64KB

PCI还引入了配置空间(Configuration Space),而且CPU只能间接访问配置空间。每个功能(Function)包含配置空间的内部寄存器,允许软件以一种标准化的方式显示和控制其地址和资源,在PC中提供一个真正的“即插即用”环境。每个PCI功能(PCI Function)最大包含256 Bytes配置空间。鉴于在一个系统中,最多支持256条总线,每条总线最多支持32个设备,每个设备最多支持8个功能(Function),那么总的配置空间大小就是:256 Bytes * 8 * 32 * 256 = 16MB

鉴于CPU不能直接访问PCI设备的配置空间,所以只能通过IO寄存器进行间接访问(PCIe设备还支持将配置空间映射到Memory空间进行访问)。就像图1-10所展现的那样,CPU通过配置地址端口(Configuration Address Space)配置数据端口(Configuration Data Port)访问PCI设备的配置空间。配置地址端口的地址是CF8h~CFBh,配置地址端口的地址是CFCh~CFFh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值