I/O Address Space的空间很有限(64KB),所以一般在I/O Space中都有两个寄存器,第一个指向要操作的内部地址,第二个存放读或者写的数据。因此,对于PCI的配置周期来说,包含了两个步骤:
Step1:CPU先对IO Address中的0xCF8~0xCFB写入要操作的配置寄存器的地址。如下图所示,其中包括了总线号(Bus Number)、设备号(Device Number)、功能号(Function Number)和寄存器指针。
Step2:CPU向IO Address中的0xCFC~0xCFF中写入读或者写的数据。
前面介绍过,每一个PCI功能(Function)都包含256个字节的配置空间(Configuration Space),其中前64个字节被称为Header,剩余的192个字节用于一些可选的功能。PCI Spec规定了两种类型的Header:Type1 和Type0。其中,Type1 Header表示该PCI设备功能为桥(Brige),而Type0 Header则表示该PCI设备功能不是桥。两种Header的结构图分别如下所示:
注:因为PCIe完整的继承了PCI Header相关的内容,所以关于Header的详细介绍和操作会放在后面关于PCIe的介绍中。
-
寄存器
+关注
关注
31文章
5336浏览量
120260 -
pci总线
+关注
关注
1文章
203浏览量
31822
原文标题:【博文连载】PCIe扫盲——PCI总线配置周期产生和配置寄存器
文章出处:【微信号:ChinaAET,微信公众号:电子威廉希尔官方网站 应用ChinaAET】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论