《PCI Express体系结构导读》随记 —— 第II篇 PCI Express体系结构概述(1)
发布时间:2024年01月18日
PCI的提出是为了解决当时的ISA/EISA、MCA、VLB等总线速度太慢,接口混乱不统一而提出的,因为它的统一和开放,PCI获得了厂商的欢迎和支持,各种PCI设备应运而生丰富了PC的生态。虽然PCI总线取得了巨大成功,但是随着处理器主频的不断提高,PCI总线提供的带宽愈发显得捉襟见肘。PCI总线也在不断地进行升级,其位宽和频率从最初的32位/33MHz扩展到64位/66MHz,而PCI-X总线更是将总线频率提高到533MHz,能够提供的最大理论带宽为4263MB。但是PCI总线仍无法解决其体系结构中存在的一些缺陷,它总线面临着一系列挑战,包括带宽、流量控制和数据传送质量等。
PCI体系结构中存在的一些先天不足如下:
- PCI总线的最高工作频率为66M,最大位宽为64b,从理论上讲,PCI总线可以提供的最大传输带宽为532MB。然而PCI总线作为一个共享总线,在其上的所有PCI设备必须要共享PCI总线的带宽。同时由于PCI总线的协议开销,导致PCI总线可以实际利用的数据带宽远小于其峰值带宽。也就是说,PCI是共享总线,总线上的所有设备必须共享带宽,另外总线协议还有一些开销,虽然64位/64MHz理论上可以提供最大带宽为532MB,但是实际可以利用的数据带宽远低于峰值。
- PCI总线采用提高总线位宽和频率的方法增加其传输带宽。但是这种方法从性能价格比的角度上看,并不是最优的。数据总线位宽的提高将直接影响芯片的生产成本,64位的PCI总线接口需要设计者使用更多的芯片引脚,从而导致64位的PCI总线接口芯片的价格远高于32位的PCI总线接口芯片。与32位PCI总线接口相比,设计者还需要使用更多的印制板层数来实现64位PCI总线接口。也就是说,PCI总线是并行的,它通过提高总线频率和位宽的方式增加传输带宽,但是这种方式的性价比比较低,因为位宽的增加需要更多的芯片管脚,从而导致64位的芯片价格远高于32位,另外在主板设计的时候也需要更多层的PCB实现64位芯片接口,增加成本和布线难度;而且因为频率和位宽的增加带来了信号完整性的问题。
- 而提高总线频率,除了给硬件工程师带来了一系列信号完整性的问题之外,更直接影响PCI总线的负载能力。一条33MHz的PCI总线最多可以驱动10个负载,而66Mhz的PCI总线最多只能驱动4个负载。因此片面提高PCI总线的频率和位宽,并不能有效地提高PCI总线的带宽。
- 除此之外,PCI总线在设计之初并没有考虑服务质量的问题。有些实时数据采集卡、音频或视频的多媒体应用需要PCI总线提供额定带宽,而PCI总线上的设备只能轮流使用PCI总线。PCI总线并没有考虑服务质量QoS,因为PCI总线是并行的主从式的总线,总线上的设备只能轮流使用PCI总线,当一个设备长期占用总线时,将阻止其它设备对总线的使用,从而影响了PCI总线的传送质量。比如,有些实时的设备如数据采集卡,音频或者视频的应用需要额定的带宽,因此就没法得以满足。
基于以上几个原因,PCI总线在某种程度上说并不能完全适应现代处理器系统的需要,而使用PCIe总线可以有效解决PCI总线存在的一些问题。
- 首先,PCIe总线可以提供更大的总线带宽,PCIe V3.0支持的最高总线频率为4GHz,远高于PCI-X总线提供的最高总线频率。
- 其次,PCIe总线支持虚通路VC(Virtual Channel)技术,优先级不同的数据报文可以使用不同的虚通路,而每一路虚通路可以独立设置缓冲,从而相对合理地解决了数据传送过程中存在的服务质量问题。
更具体地说,PCIe是如何解决PCI体系结构存在的问题的呢?
- PCIe使用了高速差分总线端到端的连接方式替代并行总线,与并行总线相比,高速差分信号可以使用更高的时钟频率、更少的信号线实现之前需要更多的芯片管脚才能实现的总线带宽,而且与单端信号相比差分信号的抗干扰能力更强。
- PCIe使用了网络通信中使用的技术,如基于多种数据路由方式,报文数据传送,以及Traffic class和virtual channel以解决数据传输过程中的QoS问题。
- PCIe的链路可以由多条Lane组成,换句话来说它的性能可扩展。可以像搭积木一样增加Lane或者减少Lane的组合来提高性能。
- PCIe总线在系统软件编程上和PCI总线兼容,绝大多数的PCI总线事务都被PCIe总线保留,PCI设备的配置空间也被PCIe继承。
更多内容请看下回。
文章来源:https://blog.csdn.net/phmatthaus/article/details/135669935
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!