《PCI Express体系结构导读》随记 —— 第I篇 第2章 PCI总线的桥与配置(20)

这篇具有很好参考价值的文章主要介绍了《PCI Express体系结构导读》随记 —— 第I篇 第2章 PCI总线的桥与配置(20)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

接前一篇文章:《PCI Express体系结构导读》随记 —— 第I篇 第2章 PCI总线的桥与配置(19)

2.4 PCI总线的配置

PCI总线定义了两类配置请求,一个是Type 00h配置请求,另一个是Type 01h配置请求。PCI总线使用这些配置请求访问PCI总线树上的设备配置空间,包括PCI桥和PCI Agent设备的配置空间。

其中,HOST主桥或者PCI桥使用Type 00h配置请求,来访问与HOST主桥或者PCI桥直接相连的PCI Agent设备或者PCI桥(此时PCI桥作为一个PCI设备,接收访问其配置空间的读写请求);而HOST主桥或者PCI桥使用Type 01h配置请求,需要至少穿越一个PCI桥,访问没有与其直接相连的PCI Agent设备或者PCI桥。如图2-8所示,HOST主桥可以使用Type 00h配置请求访问PCI设备01,而使用Type 01h配置请求通过PCI桥1、2或者3转换为Type 00h配置请求之后,访问PCI总线树上的PCI设备11、21、22、31和32。也就是说,最终Type 01h配置请求(都)将会被转换为Type 00h配置请求,然后再访问PCI Agent设备。

《PCI Express体系结构导读》随记 —— 第I篇 第2章 PCI总线的桥与配置(20),PCI Express,PCI,PCIe

2.4.1 Type 01h和Type 00h配置请求

(1)Type 01h配置请求

本节首先介绍Type 01h配置请求,并从PCI总线使用的信号线的角度上,讲述HOST主桥如何生成Type 01配置请求。在PCI总线中,只有PCI桥能够接收Type 01h配置请求。Type 01h配置请求不能直接发向最终的PCI Agent设备,而只能由PCI桥将其转换为Type 01h继续发向其它PCI桥或者转换为Type 00h配置请求发向PCI Agent设备。PCI桥还可以将Type 01h配置请求转换为Special Cycle总线事务(HOST主桥也可以实现该功能),本节对这种情况不做介绍。

地址周期中,HOST主桥使用配置读写总线事务将CONFIG_ADDRESS寄存器的内容拷贝到PCI总线的AD[31:0]信号线中。CONFIG_ADDRESS寄存器与Type 01h配置请求的对应关系如图2-11所示:

《PCI Express体系结构导读》随记 —— 第I篇 第2章 PCI总线的桥与配置(20),PCI Express,PCI,PCIe

从图2-11中可以发现,CONFIG_ADDRESS寄存器的内容基本上是原封不动地拷贝到PCI总线的AD[31:0]信号线上的。其中CONFIG_ADDRESS的Enable位不被拷贝,而AD总线的第0位为必须为1,表示当前配置请求是Type 01h。

为了便于理解和参照,将CONFIG_ADDRESS寄存器结构图再次贴出,如下图所示:

《PCI Express体系结构导读》随记 —— 第I篇 第2章 PCI总线的桥与配置(20),PCI Express,PCI,PCIe

当PCI总线接收到Type 01h配置请求时,将寻找合适的PCI桥接收这个配置信息(Type 01h配置头信息存在于PCI总线事务的地址周期中)。如果这个配置请求是直接发向PCI桥下的PCI设备时,PCI桥将接收个Type 01配置请求,并将其转换为Type 00h配置请求否则PCI桥将当前Type 01h配置请求原封不动的传递给下一级PCI总线

(2)Type 00h配置请求

如果HOST主桥或者PCI桥发起的是Type 00h配置请求,CONFIG_ADDRESS寄存器与AD[31:0]的转换如图2-12所示:

《PCI Express体系结构导读》随记 —— 第I篇 第2章 PCI总线的桥与配置(20),PCI Express,PCI,PCIe

从图2-12中可以发现,此时处理器对CONFIG_DATA寄存器进行读写时,处理器将CONFIG_ADDRESS寄存器中的Function Number和Register Number字段拷贝到PCI的AD总线的第10~2位将AD总线的第1~0位赋值为0b00PCI总线在配置请求总线事务的地址周期根据AD[1:0]判断当前配置请求是Type 00h还是Type 01h,如果AD[1:0]等于0b00,表示是Type 00h配置请求;如果AD[1:0]等于0b01,表示是Type 01h配置请求。

AD[31:11]与CONFIG_ADDRESS的Device Number字段有关。在Type 00h配置请求的地址周期中,AD[31:11]位有且只有一位为1,其中AD[31:11]的每一位选通一个PCI设备的配置空间PCI设备配置空间的片选信号是IDSEL,因此AD[31:11]将与PCI设备的IDSEL信号对应相连

《PCI Express体系结构导读》随记 —— 第I篇 第2章 PCI总线的桥与配置(20),PCI Express,PCI,PCIe

当以下两种请求之一满足时,HOST主桥或者PCI桥将生成Type 00h配置头,并将其发送到指定的PCI总线上

1)CONFIG_ADDRESS寄存器的Bus Number字段为0时,处理器访问CONFIG_DATA寄存器时,HOST主桥将直接向PCI总线0发出Type 00h配置请求。因为与HOST主桥直接相连的PCI总线号为0,此时表示HOST主桥需要访问与其直接相连的PCI设备。

2)当PCI桥收到Type 01h配置头时,将检查Type 01h配置头的Bus Number字段,如果这个Bus Number与PCI桥的Secondary Bus Number相同,则将这个Type 01h配置头转换为Type 00h配置头,并发送到该PCI桥的Secondary总线上。

更多内容请看下回。文章来源地址https://www.toymoban.com/news/detail-812752.html

到了这里,关于《PCI Express体系结构导读》随记 —— 第I篇 第2章 PCI总线的桥与配置(20)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机网络七层体系结构(OSI七层结构)、TCP/IP四层模型、网络五层体系结构

    计算机网络七层体系结构(OSI七层结构)、TCP/IP四层模型、网络五层体系结构 七层体系结构(OSI七层结构) :为了使全世界不同体系结构的计算机能够互联,国际化标准组织ISO提出开放系统互联基本参考模型,简称OSI,即所谓的7层协议体系结构。 TCP/IP四层模型 :是由实际

    2024年02月06日
    浏览(64)
  • 计算机网络——计算机网络体系结构(2/4)-分层的必要性(五层协议原理体系结构)

    目录 物理层 数据链路层 网络层 运输层 应用层 计算机网络是个非常复杂的系统。 早在最初的ARPANET设计时就提出了分层的设计理念。 \\\"分层\\\"可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。 下面,我们以五层原理结构体系

    2024年02月07日
    浏览(59)
  • 冯诺依曼体系结构

    冯·诺依曼体系结构(von Neumann architecture)是现代计算机体系结构的基础,也是目前广泛应用的计算机体系结构之一。它是由物理学家、数学家冯·诺依曼在1945年提出的,被认为是现代计算机的奠基之作。冯·诺依曼体系结构具有存储程序和通用性的特点,这意味着计算机的指

    2023年04月23日
    浏览(42)
  • JVM 体系结构

    JVM: 跨平台语言 需要不同语言由自己编译器,生成符合 JSR-292 JVM规范的字节码文件,即可在 Java 虚拟机中运行  多语言混合编程: Java 平台上的多语言混合编程正成为主流,通过特定领域的语言去解决特定领域的问题是当前软件开发应对日趋复杂的项目需求的一个方向 每个应

    2024年02月03日
    浏览(49)
  • MySQL体系结构

     🎉欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹 ✨博客主页:小小恶斯法克的博客 🎈该系列文章专栏:重拾MySQL-进阶篇 🍹文章作者技术和水平很有限,如果文中出现错误,希望大家能指正🙏 📜 感谢大家的关注! ❤️ 目录 🚀 MySQL体系

    2024年01月22日
    浏览(91)
  • 了解 PostgreSQL 体系结构

    PostgreSQL 是客户端/服务器关系数据库管理系统 (RDMS)。 PostgreSQL 还支持各种扩展插件,例如 Azure Database for PostgreSQL 超大规模 Citus 选项中的 Citus 扩展插件。 将扩展插件加载到数据库中后,它将像任何内置功能一样正常运行。 PostgreSQL 也有自己的查询语言,称为 pgsql。 此外,

    2024年02月16日
    浏览(44)
  • Spring的体系结构

    【Spring技术】Spring的体系结构 【Spring技术】Spring之IOC和DI入门案例 【Spring技术】Spring之Bean的配置与实例 【Spring技术】Spring依赖注入(DI配置) 【Spring技术】Spring第三方资源配置管理 【Spring技术】Spring容器技术 【Spring技术】Spring注解开发 【Spring技术】Spring整合MybatisJunit单元测

    2023年04月22日
    浏览(45)
  • 计算机体系结构

    目录 第一章 基本概念 1.虚拟计算机 2.计算机系统结构的定义 3.佛林(Flynn)分类法 4.Amdahl定律 5.CPU性能公式 6.程序访问的局部性原理 第二章 指令系统 1.数据表示与数据类型 2.浮点数的表示方式 3.编址方式 4.寻址方式 5.指令系统的优化设计  6.Huffman编码法 7.拓展编码 8.两种方

    2024年02月06日
    浏览(61)
  • 集合体系结构

    List系列集合:添加的元素有序,可重复,有索引 Collection:是单列集合的祖宗接口,它的功能是全部单列集合都可以继承使用的 set系列集合:添加的元素无序,不重复,无索引   方法名 说明 public boolean add(E e) 把给定的对象添加到当前集合中 public void clear() 清空集合中所有的

    2024年02月09日
    浏览(47)
  • Oracle的体系结构(一)

                                                                                     ------------学习者:张源凯 目录                               Oracle的体系结构(一) 1.1 Oracle引入复杂的体系结构的原因 1.2 Oracle数据库中常用的术语 1.3 Oracle数据库管理系统得体系结

    2024年02月09日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包