加载中…
个人资料
sailing
sailing
  • 博客等级:
  • 博客积分:0
  • 博客访问:863,123
  • 关注人气:638
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
正文 字体大小:

4.3 PCIe设备的扩展配置空间

(2011-07-22 14:28:34)
标签:

杂谈

分类: 浅谈PCIe体系结构

本书在第2.3.2节讲述了PCI设备使用的基本配置空间。这个基本配置空间共由64个字节组成,其地址范围为0x00~0x3F,这64个字节是所有PCI设备必须支持的。事实上,许多PCI设备也仅支持这64个配置寄存器。

此外PCI/PCI-XPCIe设备还扩展了0x40~0xFF这段配置空间,在这段空间主要存放一些与MSI或者MSI-X中断机制和电源管理相关的Capability结构。其中所有能够提交中断请求的PCIe设备,必须支持MSI或者MSI-X Capability结构。

PCIe设备还支持0x100~0xFFF这段扩展配置空间。PCIe设备使用的扩展配置空间最大为4KB,在PCIe总线的扩展配置空间中,存放PCIe设备所独有的一些Capability结构,而PCI设备不能使用这段空间。

x86处理器中,使用CONFIG_ADDRESS寄存器与CONFIG_DATA寄存器访问PCIe配置空间的0x00~0xFF,而使用ECAM方式访问0x000~0xFFF这段空间;而在PowerPC处理器中,可以使用CFG_ADDRCFG_DATA寄存器访问0x000~0xFFF,详见第2.2节。

PCI-XPCIe总线规范要求其设备必须支持Capabilities结构。在PCI总线的基本配置空间中,包含一个Capabilities Pointer寄存器,该寄存器存放Capabilities结构链表的头指针。在一个PCIe设备中,可能含有多个Capability结构,这些寄存器组成一个链表,其结构如414所示。


4.3 <wbr>PCIe设备的扩展配置空间



其中每一个Capability结构都有唯一的ID号,每一个Capability寄存器都有一个指针,这个指针指向下一个Capability结构,从而组成一个单向链表结构,这个链表的最后一个Capability结构的指针为0

一个PCIe设备可以包含多个Capability结构,包括与电源管理相关、与PCIe总线相关的结构、与中断请求相关的Capability结构、PCIe Capability结构和PCIe扩展的Capability结构。在本书的其他章节也将讲述这些Capability结构,读者在继续其他章节的学习之前,需要简单了解这些Capability结构的寄存器组成和使用方法。

其中读者需要重点关注的是MSI/MSI-X Capability结构本篇在6详细将讨论MSI/MSI-X Capability结构。在PCIe总线规范中,定义了较多的Capability结构,这些结构适用于不同的应用场合,在一个指定的PCIe设备中,并不一定支持本篇中涉及的所有Capability结构。系统软件程序员也不需要完全掌握PCIe总线规范定义的这些Capability结构。

4.4 小结

    本章简要介绍了PCIe总线的各个组成部件,包括RCSwitchEP等,并介绍了PCIe总线的层次组成结构,和PCIe设备使用的Capability结构。本章是读者了解PCIe体系结构的基础。本篇将在下文逐步对PCIe体系结构进行详细说明。

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有