【转载】PCIe扫盲——PCI Express物理层接口(PIPE)

PCIe扫盲——PCI Express物理层接口(PIPE)

连载目录篇:http://blog.chinaaet.com/justlxy/p/5100057779

 

PCIe物理层接口(Physical Interface for PCI Express,PIPE)定义了物理层中的,媒介层(Media Access Layer,MAC)和物理编码子层(Physical Coding Sub-layer,PCS)之间的统一接口,旨在为提供一种统一的行业标准。如下图所示:

image.png

其中MAC和PCS都属于PCIe中的物理层逻辑子层部分,而PMA(Physical Media Attachment Layer)则属于物理层电气子层。需要注意的是,PIPE规范是由Intel提出的行业建议,并非PCI-SIG规定的PCIe标准之一。PCIe设备厂家完全可以自主选择是否采用PIPE规范。

由于业界通常采用SerDes器件(包括FPGA中集成的SerDes模块)来实现PCIe中的PCS和PMA,所以往往MAC(以及事务层和数据链路层等)和PCS/PMA是独立设计的,甚至是不同厂家设计的。为这之间提供统一的行业标准——PIPE,有助于使不同厂家之间的设备有更好的兼容性。当然,也有很多PCIe设备完全是由一个厂家设计的(如部分基于PCIe的ASIC等),此时是否采用PIPE的必要性就不是那么重要了。

随着高速串行技术的发展,各种串行通信技术的物理层逐渐走向了统一,用户甚至可以基于FPGA中的SerDes/PCS完成多种高速串行通信接口的设计。这些通信接口的区别往往只是体现在高层协议(数据链路层与事务层等),在物理层上(尤其是物理层电气子层上)基本上是一致的。

虽然PIPE规范最早是用于PCIe总线中的(从命名方式就可以看出来),但是该规范的后续版本逐渐开始支持了其他的串行接口。以Intel发布的最新版本的PIPE Spec为例(v5.1),该版本涉及PCI Express、SATA、USB、DisplayPort和Converged IO等多种高速串行接口。

USB中的PHY/MAC接口,如下图所示:

image.png

详细的PHY/MAC接口(PIPE)的示意图如下(PCIe、USB等):

image.png

 

PCIE(Peripheral Component Interconnect Express)是一种计算机扩展总线标准,用于连接外部设备与计算机主板之间的数据传输。PCIe连接的设备可以是显卡、声卡、网卡等。 Flow control(流量控制)是PCIE中的一种基础机制,用于在设备之间传输数据时确保数据的可靠传输。 PCIE的flow control可以分为两种方式:Credit-based Flow Control(基于信用控制)和Acknowledgment/Negative Acknowledgment Flow Control(确认/否定确认控制)。 基于信用控制是PCIE中最常用的流量控制机制。发送方设备在发送数据之前会向接收方设备发送一个信用(credit)值,表示发送方设备可以发送的最大数据量。接收方设备在接收到数据后会发回一个更新的信用值给发送方设备,发送方设备根据接收到的信用值确定下一次可以发送的数据量。通过这种方式,可以有效控制不同速度的设备之间的数据传输,避免数据丢失或信道阻塞。 确认/否定确认控制是PCIE中的一种备用方式,当发送方设备发送数据后,接收方设备会发回一个确认或否定确认信号给发送方设备,以告知是否成功接收数据。如果发送方设备收到否定确认信号,则会重新发送数据,确保数据的可靠性。 总结来说,PCIE中的flow control机制是为了确保数据的可靠传输而设计的。基于信用控制和确认/否定确认控制是两种常用的流量控制方式,可以根据不同的需求选择适合的方式来控制数据的传输。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值