PCIe扫盲——热插拔简要介绍

转载地址:http://blog.chinaaet.com/justlxy/p/5100057851

某些特殊的应用场合可能要求PCIe设备能够以高可靠性持续不间断运行,为此,PCIe总线采用热插拔(Hot Plug)和热切换(Hot Swap)技术,来实现不关闭系统电源的情况下更换PCIe卡设备。

注:热切换(Hot Swap)和热插拔的主要区别是应用领域不同,热插拔主要应用于PC以及服务器的主板上的板卡连接,而热切换主要针对的是CPCI(CompactPCI ,一种常用于仪器仪表的接口)应用的。具体请参考PCIe Spec和PCIe CEM Spec的相关章节。

PCIe总线的热插拔主要指的是PCIe卡设备的热插拔,以及相关的实现机制等。PCIe卡有两个用于热插拔机制的引脚——PRSNT1#和PRSNT2#。PCIe卡设备上的这两个信号之间是短路的,PCIe插槽的PRSNT1#被固定地连接到地,PRSNT2#则被上拉。且PCIe卡上的这两个信号的金手指长度要比其他的信号的金手指长度要短一点。如下图所示,当PCIe卡设备未被完全插入插槽时,插槽的PRSNT2#信号由于上拉的作用,将一直处于高点平状态。当PCIe卡设备被完全插入插槽后,插槽上的PRSNT2#信号则会被PCIe卡设备的短路线连接到地,从而使得其变为低电平。换句话说,从插槽的角度看,当PRSNT2#位高电平时,则认为PCIe卡设备未能正确插入或者无PCIe卡设备;当PRSNT2#位低电平时,表明PCIe卡设备被正确地插入插槽中。

image.png

注:PCIe总线除了有一个Base Spec之外,还有一个关于PCIe卡设备的Spec——PCIe Card ElectroMechanical Spec(CEM)。

与PCI总线不同,PCIe总线采用的是点到点的连接(Point-to-Point Connections),因此其并不像PCI总线那样需要用于卡设备的隔离逻辑(Isolation Logic),但是每个端口(桥设备中的,如Root和Switch)都必须包含一个独立的热插拔控制器(Hot Plug Controller),如下图所示:

image.png

当然,热插拔不仅仅是硬件的事,其需要软硬件协同实现。要想实现热插拔功能,操作系统、主板热插拔驱动器、PCIe卡设备驱动以及PCIe卡硬件功能都必须支持热插拔,缺一不可。从PCIe卡设备硬件功能的角度来看,其需要支持Quiesce命令、Pause命令(可选)、Start命令和Resume命令。

桥设备(Switch等)中还需要支持热插拔控制器(Hot Plug Controller),如下图所示,这里就不详细介绍了。具体请参考PCIe Spec相关章节内容。

image.png

配置空间中,与热插拔相关的寄存器如下图所示:

image.png

具体就不详细介绍了,请参考PCIe Spec 相关章节。

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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、付费专栏及课程。

余额充值