首页
学习
活动
专区
圈层
工具
发布

PCIe热插拔技术

某些特殊的应用场合可能要求PCIe设备能够以高可靠性持续不间断运行,为此,PCIe总线采用热插拔(Hot Plug)和热切换(Hot Swap)技术,来实现不关闭系统电源的情况下更换PCIe卡设备。...注:本文将简单地介绍一下PCIe总线的热插拔机制,关于热切换(Hot Swap),请参考PCIe Spec的相关章节。 PCIe设备使用两种电源信号供电,分别是Vcc与Vaux,其额定电压为3.3V。...除此之外PCIe总线还使用了下面重要的辅助信号-PRSNT1#和PRSNT2#信号。 PCIe总线的热插拔主要指的是PCIe卡设备的热插拔,以及相关的实现机制等。...PRSNT1#和PRSNT2#信号与PCIe设备的热插拔相关。...当然,热插拔不仅仅是硬件的事,其需要软硬件协同实现。要想实现热插拔功能,操作系统、主板热插拔驱动器、PCIe卡设备驱动以及PCIe卡硬件功能都必须支持热插拔,缺一不可。

5K41

PCIe卡的主要引脚 及 热插拔

目录 1 PCIe 总线使用的信号 1.1 收发数据信号 1.2 辅助信号 2 热插拔 参考资料 1 PCIe 总线使用的信号 PCIe x1,x4,x8,x16 卡的连接器引脚如下图所示,数据收发引脚为白色...1.1 收发数据信号 PCIe总线的层次分层图: 与收发数据相关的线就是每个通路(lane)的两对差分传输线。PCIe x1,x2,x4,x8,x16分别代表有1,2,4,8,16条lane。...PRSNT1# (必要): 插件卡存在检测引脚,用于实现热插拔。 PRSNT2# (必要): 插件卡存在检测引脚,用于实现热插拔。...2 热插拔 没有插入时,PCIe卡端的PRSNT1#与PRSNT2#连接在一起。而插槽端的PRSNT1#接地,PRSNT2#通过上拉电阻拉高。...同理也可以检测到卡拔出了,系统知道了卡是否插入就可以实现对应的处理过程来实现热插拔功能。

8.5K12
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux 与 PCIe:深入理解PCIe在内核中的实现

    从而纳入Linux Driver Model,实现 PCIe 设备的统一拓扑组织、资源管理、热插拔支持以及全生命周期管理。...PCIe 设备业务功能的正常运转,依赖设备驱动与 Linux 内核的深度协同; 而DMA是支撑 PCIe 设备高速批量数据传输的核心能力。...PCI/PCIe 驱动注册:内核与驱动的“对接桥梁” Linux 内核为 PCIe 设备驱动提供了标准化开发与注册框架。...热插拔与复位 (1)热插拔:内核hotplug 核心子系统实时监控 PCIe 链路变化,检测到新设备插入时自动触发枚举、注册设备并加载驱动;设备移除时自动注销并释放资源,无需重启。...错误、热插拔事件、链路状态变化、驱动加载状态 可配合`dmesg | grep pci` 快速过滤 PCIe 相关事件 结合`/sys/bus/pci/devices/` 可查看内核 PCIe 设备状态

    44510

    Linux PCIe P2PDMA 技术介绍

    Linux PCIe P2PDMA 技术介绍 从 PCIe 硬件机制到内核实现,再到 Nvidia GDS 场景实践。 1....TLP 转发路径与 Linux 的 P2P 策略: 在 PCIe 中,TLP 在到达 Root Port 之前的路由规则相对明确;若拓扑中包含 Switch,则基于 ACS(Access Control...由于 PCIe 规范并不要求跨 PCIe hierarchy domain 的转发,Linux 内核默认会阻止这类不确定路径,仅在“同一 Root Port 之下”或 Host Bridge 处于已知安全的...Linux 提供 pci=pcie_bus_perf、pci=pcie_bus_safe、pci=pcie_bus_peer2peer 等参数用于统一/调优 MPS,并在 pcie_bus_perf 模式下同时尝试设置更合适的...Linux 软件栈深度解析 Linux 内核提供了 pci_p2pdma 子系统,用于在可证明安全的前提下支持 PCIe 设备间的 P2P DMA,并对拓扑可达性、生命周期与页面语义做出约束。

    1.3K10

    PCIe(一)、PCIe PIO分析一

    一、PCIe基础知识 1.1 关于接口 PCIe2x接口,对比其他系列,该接口包含2对发送与接收接口, 数据部分包含双向八个接口: PETp0与PETn0:发送器差动线对,通道0 PETp1与PETn1...1.2 TLP包 1.2.1 AXI-Stream总线上的数据 在赛灵思7系列FPGA中,使用AXIStream总线进行通信,PCIe的TLP包使用AXI总线传输,在AXI总线上数据大端对齐,即高位数据在地址的高位...在使用强序模型时,在数据的整个传送路径中,PCIe设备在处理相同类型的TLP时,如PCIe设备发送两个存储器写TLP时,后面的写TLP必须等待前一个存储器写TLP完成后才能被处理,几遍当前报文在传输过程中阻塞...但是对于不同类型的TLP间可以乱序通过同一条PCIe链路。 在使用Realaxed Ordering模型时,后一个写TLP可以越过前一个存储器写TLP提前执行,从而能提高PCIe总线利用率。...1.2.3 TLP的路由 TLP的路由指的是TLP通过Switch或者PCIe桥片时采用哪一条路景,最终到达EP或者RC(Root Complex,跟联合体)的方法,一共有三种:基于地址的路由、基于ID

    4.1K30

    漫谈PCIe之如何理解PCIe驱动

    前言 我们习惯了用 Verilog 去死磕 PCIe 的底层协议状态机。但一旦越过硬件边界来到操作系统层面,Linux 内核是如何接管并驱动这些 PCI/PCIe 设备的呢?...系统上电或有 PCIe 设备热插拔时,底层的总线枚举其实已经完成了。...设备被物理拔出时:当设备从支持热插拔 (hot-pluggable) 的插槽中被手动拔出时。...整个驱动模块的执行 在 Linux 内核驱动的架构中,如果把 probe 和 remove 比作针对单个具体 PCIe 硬件的上岗和下岗,那么module_init和module_exit就是整个驱动程序模块本身的出生和消亡...写在最后 习惯了使用 Verilog 雕琢 PCIe 的底层状态机,再回过头来看看 Linux 内核是如何以软件的视角接管这些硬件的,是一件非常有趣的事情。

    40610

    PCIE时钟解说

    接上篇文章《clock oscillator,generator,buffer选型杂谈》,今天我们来说下PCIE时钟的要求: 首先先看下PCIE架构组件:下图中主要包括了CPU(ROOT COMPLEX...),PCIE SWITCH,BUFFER以及一些PCIE ENDPOINT;而且可知各个器件的时钟来源都是由100MHz经过Buffer后提供。...接着上图的架构,我们来简单看下PCIE时钟的三种架构: Common Clock Architecture:所有设备的参考时钟分布必须匹配到15英寸以内在系统板上。...鉴于PCIE时钟要求多且复杂的,故此文章主要鉴于上一篇文章,给出主要的参数要求,其它详细的要求以及测试方法,后续有机会再编写分享。...抖动:如下CC模式的要求: 注意:上图给出的是CC时钟架构下的抖动要求;仿真PCIE4.0时候,抖动是按照0.7ps RMS来的;仿真PCIE5.0时候,抖动是按照0.25ps RMS来的;因为标准考虑了实际系统中的额外噪声

    2.3K01

    深入理解PCIe:协议原理、版本演进、未来生态全景解析

    随着PCIe规范从早期版本发展到PCIe6.0、7.0,乃至未来的8.0,它不仅推动硬件性能持续提升,也支撑了Linux等操作系统在设备管理、虚拟化与高性能I/O上的创新能力。...:Linux及各类操作系统,均通过Root Complex访问下游设备的BAR寄存器、I/O端口与MMIO内存映射空间,实现软硬件交互。...Linux下查看与管理: Lspci -vv:查看设备详细信息,包括BAR映射。 setpci:直接访问或修改设备的配置空间。...注意事项:Linux支持P2P DMA,但需考虑设备拓扑结构和IOMMU限制,确保地址映射安全。...热插拔、Hot Reset、FLR是PCIe自1.0规范起就确立的高可用核心基石:热插拔实现设备免关机在线更换,Hot Reset负责故障链路快速自愈重启,FLR则针对虚拟化场景提供细粒度功能复位,互不干扰同设备其他业务模块

    1.2K10

    PCIe系列第六讲、PCIe的数据链路层

    数据链路层的状态 数据链路层通过物理层监控当前PCIe链路层的状态,数据链路层会处于以下3种状态: (1)、DL Interactive:物理层通知数据链路层当前PCIe链路不可用,此时PCIe链路的对端可能未连接设备或未检测到对端设备...(3)、DL Active:物理层通知数据链路层当前PCIe链路正常,此时物理层已经训练或重训练完毕。...数据链路层的管理DL_DOWN&DL_UP 当出现以下三种情况时,DL DOWN有效: (1)、无当前PCIe链路对端设备的连接 (2)、数据链路层或物理层出现了异常 (3)、软件禁用当前PCIe链路...当链路处于DL DOWN状态时,Switch和PCIe桥的上游端口,将复位相关的内部逻辑和状态,并丢弃所有正在处理的TLP,此时Switch和PCIe桥将使用hot reset的方式复位所有下游端口。...3、 Power Management DLLPs:PCIe设备使用过该组DLLPs进行电源管理,并向对端设备通知当前PCIe链路的状态,拥有保证电源管理状态机的正确运行。

    4.6K12
    领券