首页 > 编程知识 正文

PCIe 总线基本概念,大数据的基本概念

时间:2023-05-04 14:55:14 阅读:285873 作者:3597

      PCIe总线(Bus)的提出代表传统并行总线向高速串行总线发展的时代到来,不过为了兼容PCI总线设备,虽然PCIe是一种串行总线,无法在物理层上兼容PCI总线,但是在软件上可以兼容PCI总线。
      和多数串行总线一样,PCIe采用全双工(Full Duplex)的传输设计,允许在同一时刻,同时进行发送和接收数据。如下图所示,设备A和设备B之间通过双向的Link链接,每个Link支持1到32个通道(Lane)。由于是串行总线,所有数据(含配置信息)都是以数据包(package)为单位进行发送的。

      与大部分的高速连接一样,PCIe采用了差分对进行首发,以提高总线的性能。一个PCIe Lane的例子如下图所示:

      除了差分总线,PCIe还引入了嵌入式时钟技术(Embedded Clock),即发送端不再向接收端发送时钟,但是接收端可以通过8b/10b的编码从数据Lane中恢复出时钟。下图是一个简单的时钟恢复电路模型:

:PCIe Gen3以及之后的版本采用了128b/130b的编码方式。
      PCIe总线相对于PCI总线的另一个大的优势是其Scalable Performance(可扩展性),即可以根据应用的需要来调整PCIe设备的带宽。如需要很高的带宽,则采用多个Lane(如显卡);如果不需要特别高的带宽,则只需要一个Lane就可以了(如网卡)。
和PCI-X总线一样,由于非常高的传输速度,PCIe是一种点对点连接的总线,不像PCI共享总线,但是PCIe总线系统可以通过Switch(转换器)连接多个PCI设备,也可以通过PCIe桥连接传统的PCI和PCI-X设备。一个简单的PCIe总线系统的拓扑结构图如下所示:
:这里的Switch实际上包含了多个类似于PCI总线的桥的概念。

      图中的Root Complex经常被称为RC或者Root。在PCIe的Spec中,并没有特别详细的关于Root Complex的定义,从实际的角度来讲,可以将Root Complex理解为CPU与PCIe总线系统通信的媒介。Endpoint处于PCIe总线系统拓扑结构中的最末端,一般作为总线操作的发起者(initiator,类似于PCI总线中的主机)或者结束者(Completers,类似于PCI总线中的从机)。显然,Endpoint只能接受来自上级拓扑的数据包或者向上级拓扑发送数据包。
      所谓Lagacy PCIe Endpoint是指那些原本设计为PCI-X总线接口的设备,但是却被改为PCIe接口的设备。而Native PCIe Endpoint则是标准的PCIe设备。其中,Lagacy PCIe Endpoint可以使用一些在Native PCIe Endpoint禁止使用的操作,如IO Space和Locked Request等。Native PCIe Endpoint 则全部通过Memory Map来进行操作,因此,Native PCIe Endpoint 也被称为Memory Mapped Devices(MMIO Devices)。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。