- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PCIE 3.0
7.软件初始化和配置
PCIE 配置模型支持两种配置空间访问机制:
PCI兼容配置访问机制(CAM)
PCIE 增强的配置访问机制(ECAM)
配置拓扑结构
为了兼容PCI配置机制,所有的PCIE单元拥有一个PCI兼容的配置空间。每一个PCIE连接引自一个逻辑P2P桥,而且被作为该桥的次级总线映射到配置空间。根端口是一个P2P桥结构,该结构从PCIE Root Complex引出一个PCIE连接(见图7-1)。
多重的P2P桥结构提供一个PCIE开关来连接PCIE Links和一个内部逻辑PCI总线(见图7-2)。开关的上行端口是一个P2P桥;该桥的次级总线提供开关的内部路由逻辑。开关的下行端口是由P2P桥桥接内部总线到从PCIE开关引出的PCIE Links。只有提供开关下行端口的P2P桥可以出现在内部总线上。由方式0配置头给出的终端节点不允许出现在内部总线上。
一个PCIE终端作为一个单独的设备功能函数映射到配置空间,而该设备可能具有多种功能函数。PCIE终端和遗留的终端以一个以根端口为根的树状结构出现在配置空间中。而集合了终端和Root Complex事件采集器的Root Complex不出现在该树中。这些东西作为和Root Port同等级的东西出现在配置空间中。
除非另有特别说明,否则在配置空间的定义中,一个只有单功能的设备和一个具有多功能且各功能独立的设备是一样的。
7.2. PCIE配置机制
和PCI局部总线标准允许的256字节配置空间相比,PCIE规范将配置空间扩展到每个功能函数4096字节。PCIE配置空间分为 1个PCI3.0兼容区域(前256字节)和剩余的PCIE配置空间(见图7-3)。PCI3.0兼容配置空间既可以被PCI局部总线标准定义的机制访问,也可以被PCIE增强配置访问机制(ECAM)访问。两者是等同的。而PCIE扩展的配置空间只能够通过ECAM机制访问。
PCI3.0 兼容配置机制
PCI3.0兼容PCIE配置机制支持在PCI局部总线规范中定义的PCI配置空间编程模型。通过依附于这个模型,系统纳入支持传统PCI总线枚举和配置软件的PCIE接口。
和PCI3.0一样,PCIE设备功能函数也被要求提供一个用于驱动软件初始化和配置的配置空间。
PCI3.0兼容配置访问机制使用和ECAM相同的“请求”格式。对于PCI兼容配置请求,扩展的寄存器地址区域必须为0。.
PCIE 增强的配置访问机制(ECAM)
ECAM使用一个平坦内存映射的地址空间来访问设备配置寄存器。在这种情况下,配置寄存器的访问、内存数据刷新、返回寄存器的内容等操作都是在内存中完成的。PCIE配置空间在内存中的映射地址在表7-1中定义。
映射空间的大小和基址由host桥和固件决定。由硬件在“应用规范”行为中向操作系统汇报。总线范围的大小由host桥映射到Bus Number field在配置地址空间中的二进制位数决定的。在表7-1中,二进制位数表示为n,n取值1~8。一个映射了n个内存地址位的host桥支持0~2n-1个总线,除此之外,范围的基址要和2(n+20)-byte memory address bounary。任何在Bus Number field中没有映射到内存地址的位必须被清零。
例如,如果一个系统映射了3个内存地址位到Bus Number field,如下可得:
n = 3;
地址位 A[63:23]被用作基地址,和223-byte(8-MB)对齐;
地址位 A[22:20]被映射到Bus Number field的[2:0];
Bus Number field 的[7:3]位被清零;
除此之外,系统可以寻址的总线号在0~7之间。
内存地址位至少要为1(n=1)。一个4GB的内存最好映射8位内存地址(n = 8)。
配置处理规则
设备号
对于非ARI设备,PCIE部件被约束在它们的接口(上行端口)上使用单一的设备号,但是被允许使用高达8个独立的功能函数。每一个内部的功能通过译码地址信息(配置请求包的一部分)选中。
没有ARI Forwarding使能的下行端口必须只能关联局部总线的0号设备。目标为0号设备的配置请求包将被送往该设备;而其他设备(1-31)必须被开关的下行端口或者由一个“不支持的请求状态”信号(等同于PCI的Master Abort)激发根端口终结。
想要在它们的上行端口并入超过8个功能函数的开关和部件,被允许使用一个或多个“虚拟开关”,这种开关由P2P桥方式1配置头提供。这些虚拟开关允许超过8个功能。鉴于开关下行端口被允许出现在任何设备号上,在这种情况下,所有的地址信息区域(Bus,Device,Function Numbers)必须完全译码为正
文档评论(0)