欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

理解 PCIe 5.0 协议:背景知识

最编程 2024-08-11 08:16:01
...

下图为PCI总线的架构图,与PCIe类似。
连接层

PCIe总线是从PCI基础上发展而来的,所以本文会存在PCI的概念,基本上都是公用的。由于PCI的带宽捉襟见肘,流量控制和数据传输质量等原因,发展出了PCIe。

分析PCI被替代原因也能得到PCIe的一些优点:

  1. PCI为共享总线,所有的设备使用总线带宽,使得数据带宽的利用率很低。
  2. PCI采取的是提高总线宽度和频率的方法提高的传输带宽,这样并不是最优的。当然自己在简单设计时,也可以考虑使用这样的方法提高传输带宽
  3. 提高频率后负载的驱动能力变得更差,33Mhz可以驱动10个,66Mhz只能驱动4个了。
  4. 并未考虑数据质量的问题,实时设备只能轮流使用总线,当一个设备长期占用总线时,其他的设备无法传输。
  5. 并行总线

所以,PCIe应运而生,PCIe几个关键特点:

  1. 采用虚通路的方式进行连接,计算机网络的内容,可以百度一下,相较于固定通路能够更加灵活,可以解决服务质量问题。
  2. PCIe总线由若干层次组成,事务层,数据链路层,物理层。类似于互联网使用的TCP/IP协议。对于IC设计开发者,最需要关心的是事务层的设计。分层设计会带来延时。
  3. PCIe 总线在系统软件级与 PCI 总线兼容,基于 PCI 总线的系统软件几乎可以不经修改直接移植到 PCIe 总线中。绝大多数 PCI/PCI-X 总线使用的总线事务都被 PCIe 总线保留,而PCI 设备使用的配置空间也被 PCIe 总线继承。基于 PCI 体系结构的系统编程模型,几乎可以在没有本质变化的前提下,直接在 PCIe 体系结构中使用
  4. Root Complex (RC) 从Host主桥的基础上发展而来的,相比Host主桥多了更多的功能。
  5. 端到端的高速差分串行总线,使能能够支持更高的时钟频率和更少的数据线。但是在数据的接收和发送端都要进行串并转换,这样会带来较大的延时。
  6. 无单独的时钟线,通过CDR(Clock Data Recovery)在数据报文中提取本地参考时钟。

由于端到端方式的连接,在总线拓扑结构上,PCIe略有不同:
PCIe链路总线拓扑
设计时的难度 RC>Switch>EP