如何查看pcie插槽的协议_如何查看pcie插槽的协议信息

如何查看pcie插槽的协议_如何查看pcie插槽的协议信息那些协议之-PCIe概述PCIe是什么?PCIe(外围组件快速互连)是一种高带宽扩展总线,通常用于连接显卡、固态硬盘以及采集卡和无线网卡等外设。PCIe 4.0 M.2插槽1.PCIe出现的背景计算机系统硬件结构的基础是系统总线,用系统总线将处理器、主存储器和外围设备连接起来,传输

那些协议之-PCIe概述   PCIe是什么?   PCIe(外围组件快速互连)是一种高带宽扩展总线,通常用于连接显卡、固态硬盘以及采集卡和无线网卡等外设。
如何查看pcie插槽的协议_如何查看pcie插槽的协议信息
如何查看pcie插槽的协议_如何查看pcie插槽的协议信息PCIe 4.0 M.2插槽   1.PCIe出现的背景   计算机系统硬件结构的基础是系统总线,用系统总线将处理器、主存储器和外围设备连接起来,传输数据、控制和状态信息。系统总线包括处理器总线和IO总线。处理器总线因处理器而异,随着处理器的变化和发展而更新。IO总线是通用总线,用于硬件平台中外围设备的互连和外围设备与主存储器的通信。处理器也经过IO总线对外围设备进行访问。IO总线是PC计算机平台的骨架,它的协议直接决定了计算机的硬件架构与配置,它的性能与指标直接影响着计算机IO子系统的数据传输和处理能力。   IO总线的发展大致可以划分位三代。第一代IO总线包括ISA(工业标准总线)、EISA(增强的ISA)、MC(微通道结构总线)和VESA(视频电子标准协会)。   下表列出了第一代总线对应的数据宽度及速率总线数据宽度速率ISA16位5MBpsEISA32位33MBpsMC32位132MBpsVESA32位(可扩展至64位)132MBps   第二代IO总线包括PCI、AGP和PCI-X。PCI总线(Peripheral Component Interface外设组件接口)是一个标准的、与处理器无关的局部外围总线,不受制于系统所使用的处理器的种类,通用性更强,由Intel在1991年推出。PCI将多级总线结构引入个人计算机,不同总线之间通过相应的桥芯片来转接。在基于 PCI的计算机中,主存储器设备挂在主桥上,PCI总线专用于外围设备的互连,开始称之为IO总线。1999年又出现了PCI-X总线。PCI-X总线在PCI总线的基础上,进一步提高时钟频率,改进数据传输协议使之更加合理。在当时,PCI这种新型总线体系结构在性能上大大的优于ISA,而且它在每个设备内部新定义了一组寄存器,称之为配置空间(configuration space)。这些寄存器使得软件可以查看一个PCI设备内部所需的存储和IO资源,同时让软件为一个系统下的各个设备分配互不冲突的地址。这些特性:开放式设计、高速、软件可见性与可控性(software visibility and control),帮助PCI克服了限制ISA与其他总线的发展障碍,让PCI迅速地成为了PC中的标准外设总线。   下表列出了PCI及PCI-X不同版本总线的时钟频率、带宽及每个总线上能挂载的卡槽数总线时钟频率带宽总线上卡槽数PCI33MHz133-266MB/s4-5PCI66MHz266-533MB/s1-2PCI-X1.066MHz266-533MB/s4PCI-X1.0133MHz533-1066MB/s1-2PCI-X2.0(ddr)133MHz1066-2132MB/s1PCI-X2.0(qdr)133MHz2132-4262MB/s1   以上第一代和第二代IO总线都是并行总线,有多条地址线、数据线和控制线,挂连多个设备,称为多下挂式总线,总线带宽由多个设备共享。显然,在并行总线上挂接多个高速设备,比如Gbps以太网、音频流数据处理设备等, 必须进一步提高时钟频率。但是,以提高总线频率来提高带宽并不是无限制的,频率越高总线上能够挂连的电气负载的个数越少。也就是说,对于一种给定的总线结构,存在其频率上限。   为了克服上述问题,第三代高性能IO总线PCIExpress(下称PCIe)出现了。PCIe在总线结构上采取了根本性的变革,主要体现在两个方面:一是由并行总线变为串行总线;二是采用点到点的互连。 将原并行总线结构中桥下面挂连设备的一条总线变成了一条链路,一条链路可包含 一条或多条通路,每条通路由两对差分信号线组成双单工的串行传输通道,没有专用的数据、地址、控制和时钟线,总线上各种事务组织成信息包来传送。PCIe突破传统总线的另一个特点是采用点到点的互连方法,每 个设备都由独立的链路连接,独享带宽,这是提高传输率的有效解决方案。 PCIe总线结构将一条链路视为一条总线,从而从地址空间、配置机制及软件 上均保持与传统 PCI总线的兼容。一个PCIe设备占一条总线(链路),所以在基于PCIe的计算机里,桥和总线的数目很多。传 统PCI设 备 亦可在PCIe平台上运行,通过PCIe到PCI(或 PCI-X)的桥,可引出PCI(或PCI-X)总线,传统PCI设备挂在这样的总线上便可融入PCIExpress结构。   第 11 代英特尔酷睿CPU和主板增加了对 PCIe 4.0 的支持,而现在,第 12 代平台提供 PCIe 5.0 并对 4.0 和 3.0 设备完全向后兼容。第 12 代英特尔酷睿CPU 提供多达 16 条 CPU PCIe 5.0 通道和多达 4 条 CPU PCIe 4.0 通道,而第 11 代英特尔酷睿CPU(如英特尔酷睿i9-11900K)提供多达 20 条 CPU PCIe 4.0 通道。
如何查看pcie插槽的协议_如何查看pcie插槽的协议信息
如何查看pcie插槽的协议_如何查看pcie插槽的协议信息每一代 PCIe 的吞吐量   2.PCIe体系结构概述   由于PCIe是由PCI发展而来,两者有些相同的思想,为说明更好的说明PCIe,下面先介绍PCI的体系结构   2.1 PCI总线结构   下图展示出了一个最基本的基于PCI总线的平台。该平台包含三级总线: FSB(Front-SideBus)、PCI和ISA,FSB是处理器子系统的总线,原称为Host总线,总线定义完全取决于系统所使用的处理器;PCI局部总线是一个完全与处理器无关的总线, 不受制于系统所使用的微处理器的种类;ISA总线亦称为IO扩展总线。不同的总线之间通过相应的桥芯片来隔离和转接。 平台中两级桥是必须具有的,一是Host到PCI的桥(常称为主桥),即图中的North Bridge;另一个是PCI到扩展IO总线的桥(常称为扩展总线桥),即图中的South Bridge。主桥应该与系统所使用的处理器相配套,不论何种Host桥芯片,其宏观功能是类似的,其中最主要的一个功能就是把处理器的Host总线周期转换并组织成PCI总线上的周期,同时实现处理器的地址到PCI地址空间的映射。
如何查看pcie插槽的协议_如何查看pcie插槽的协议信息
如何查看pcie插槽的协议_如何查看pcie插槽的协议信息最基本的基于PCI总线的系统   图中NorthBridge、SouthBridge、Ethernet等均为挂载在PCI上的设备。一条PCI总线上的电气负载数是一定的,随总线频率的上升而下降,而且一个扩展槽加上槽内的PCI外围设备插卡相当于两个负载。总线上的负载数越多,信号的驱动器将信号驱动至稳定的有效电平所需的时间越长,在规定的总线时钟频率之下,要想保证从驱动器开始驱动一个信号到接收器检测到该有效信号的总时间小于时钟的周期,总线上的电气负载必须在规定数目之下。此时可以通过PCI桥扩展下级PCI总线,形成分级式的结构。发展到PCI-X时,一条PCI总线上只能挂载一个电气设备,造价也过于昂贵。   2.2 PCIe结构   PCI Express 的出现代表了其前身并行总线的重大转变。PCIe在总线技术与结构 上 实 现了新的飞跃,提供高速的、高性能的、点到点的、双单工的、串行、差分信号链路来互连设备。作为一种串行总线,它与早期的串行设计有许多的共同点,但是它完全保持了在软件层面对 PCI 的后向兼容。   下图展示了一个基于PCIe的系统,以此说明PCIe的拓扑结构。
如何查看pcie插槽的协议_如何查看pcie插槽的协议信息
如何查看pcie插槽的协议_如何查看pcie插槽的协议信息基于PCIe总线的系统   1.链路和带宽   PCIe系统中以链路(Link)进行两个PCIe设备间的物理连接,图中PCI-XP1~PCI-XP7均为PCIe链路,每条链路点到点地互连两个设备。一条链路相当于一条只挂连一个设备的总线,每个链路分配有链路号。一条链路中包含多条通路,可选择的通路数为:x1、x2、x4、x8、x12、x16或x32。每条通路有四条信号线,每个信号方向上都有一对差分信号,可同时发送或者接受数据,实现两个设备之间双单工、串行的差分数据传输。下表列出了第一代PCIe各种链路的峰值总带宽。链路宽度x1x2x4x8x12x16x32PCIe1.x(GB/S)0.PCIe2.x(GB/S)PCIe3.x(GB/S)   2.差分信号传送   PCIe设备在电气上使用差分驱动和差分接收器来发送和接受信号。每个通道都使用差分信号进行传输,差分信号是指每次传输一个信号时同时发送它的正信号和负信号(D+ 和 D-,这两种信号振幅相同相位相反)差分信号提高了噪声容限,并降低了信号电压。   差分信号的接收端将会接收这一对相位相反的信号,用正信号的电压减去其反相信号的电压,得到它们的差值,以此来判定这个比特的逻辑电平值。差分传输设计内置了抗噪声干扰的设计,因为它要求成对的差分信号必须位于每个设备的相邻的引脚上,它们的走线也必须彼此非常靠近,以保持合适的传输线阻抗。因此,任何因素在影响差分对中的一个信号的时候,都会同等程度且同样方向地影响到另一个信号。但是接收端所在意的是它们的差值,而这些噪声干扰并不会改变这个差值,所以带来的结果就是大多数情况下噪声对信号的影响并不会引起接收端对比特值的错误判别。
如何查看pcie插槽的协议_如何查看pcie插槽的协议信息
如何查看pcie插槽的协议_如何查看pcie插槽的协议信息差分信号示意图   3.PCIe设备   PCIe设备包括根复合体、交换开关、端点、PCIe到PCI的桥等。   (1)根复合体   CPU 与 PCIe 总线之间的接口可能包含一系列的组件(处理器接口,DRAM 接口等等),甚至是包含多个芯片。将这些组件合起来,称这一组组件为根复合体。根复合体内部有一条虚拟PCI总线,可以下挂多个PCIe端口,每个端口连出一条PCIe链路,下挂一个端点设备或交换开关。根复合体可以被理解为系统 CPU 与 PCIe 拓扑之间的接口。   (2)交换开关   交换开关是一个具有2~n端口的设备,每个端口连一条PCIe链路,在系统中用于多设备互联。交换开关可以将事务从一个端口路由到另一个端口。   (3)端点   端点是一个具体的设备,如以太网、USB或者图形设备,是PCIe事务的请求者和完成者。   (4)端口   端口是PCIe设备和链路之间的接口,由差分发送器和接收器组成。指向根复合体方向的端口为上游端口;离开根复合体方向的是下游端口。   (5)PCIe到PCI/PCI-X的桥   为了能够兼容原来的PCI/PCI-X总线和设备而引入,它使得一个旧的 PCI 或者 PCI-X 板卡可以插入一个新PCIe 系统中。   4.PCIe设备层次结构   PCIe的规范规定了对于设备的设计采用分层的结构。下图展示了PCIe设备的层次结构
如何查看pcie插槽的协议_如何查看pcie插槽的协议信息
如何查看pcie插槽的协议_如何查看pcie插槽的协议信息PCIe设备层次结构示意图   (1)设备核心层   设备核心层实现设备的主要功能。如果设备是一个端点,那么它最多可以包含 8 个功能(function),每个功能实现自己的配置空间。如果设备是一个交换机,那么它的核心由数据包路由逻辑和为了实现路由的内部总线构成。如果设备是一个 RC,那么其核心会实现一个虚拟的 PCI 总线 0,在这个虚拟的 PCI 总线 0中存在着所有的芯片组嵌入式端点以及虚拟桥。   (2)事务层   事务层负责在发送端产生 TLP(Transaction Layer Packet,事务层包),在接收端对 TLP 进行译码。这一层也负责 QoS(Quality of Service,服务质量)、流量控制以及事务排序。   (3)数据链路层   数据链路层负责在发送端产生 DLLP(Data Link Layer Packet,数据链路层包),在接收端对 DLLP 进行译码。这一层也负责链路错误检测以及修正,这个数据链路层功能被称为 Ack/Nak 协议。   (4)物理层   物理层负责在发送端产生字符序列包,在接收端对字符序列包进行译码。这一层将处理上述三种类型的包(TLP、DLLP、字符序列包)在物理链路上的发送与接收。数据包在发送端要经过字节条带化逻辑、扰码器、8b/10b 编码器(对于 Gen1/Gen2)或是 128b/130b 编码器(对于 Gen3)以及数据包并串转换模块的处理。最终数据包以训练后的链路速率在所有通道上按照时钟以差分形式输出。在物理层的接收端,数据包处理包括串行地接收差分形式的比特信号,将其转换为数字信号形式,然后将输入比特流做串并转换。这个操作基于来源于 CDR(Clock and Data Recovery,时钟数据恢复)电路所提供的恢复时钟。接收下来的数据包要经过弹性缓存、8b/10b 解码器(对于 Gen1/Gen2)或者 128b/130b 解码器(对于 Gen3)、解扰器以及字节交换恢复逻辑。最终,物理层的 LTSSM(Link Training and Status State Machine,链路训练状态机)负责进行链路初始化以及训练。   3.小结   PCIe(外围组件快速互连)是一种高带宽扩展总线,用于连接各种外部设备,例如显卡、固态硬盘、采集卡和无线网卡等。它是由并行总线发展而来,但采用了串行总线结构和点对点互连的方式,以提高数据传输速度和性能。PCIe设备包括根复合体、交换开关、端点和PCIe到PCI/PCI-X的桥等。它的体系结构包括设备核心层、事务层、数据链路层和物理层,分层设计提供了高效的数据传输和管理机制。随着技术的发展,PCIe不断更新迭代,比如出现了PCIe 4.0和PCIe 5.0版本,提供了更高的吞吐量和更多的通道,满足了不断增长的数据传输需求。   当涉及到PCIe应用程序开发时,开发人员需要熟悉PCIe的架构和工作原理,以便能够充分利用其高带宽和低延迟的特性。在进行PCIe应用程序开发时,需要考虑适当的数据传输方法和优化技巧,以确保应用程序能够充分利用PCIe的性能优势。   PCIe应用程序开发通常涉及与设备驱动程序、中间件和硬件交互的编程任务。开发人员需要了解PCIe驱动程序的编写和管理,以便与PCIe设备进行通信和控制。此外,他们还应该熟悉PCIe的内存映射和DMA(直接内存访问)技术,以实现高效的数据传输和处理。   在开发PCIe应用程序时,了解PCIe的传输协议和通信机制是至关重要的。开发人员需要了解TLP(事务层包)和DLLP(数据链路层包)等PCIe传输层协议,并了解如何处理错误检测和流量控制等方面的问题。此外,对PCIe的特定配置空间和寄存器也需要有基本的了解,以便进行适当的配置和管理。   因此,PCIe应用程序开发需要开发人员具备深厚的硬件和软件知识,包括驱动程序开发、传输协议、数据传输优化和设备通信等方面的知识。掌握这些关键概念和技能将有助于开发高效、稳定且可靠的PCIe应用程序。   更新预告:PCIe应用编程测试

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/24689.html

(0)
上一篇 2024年 9月 14日
下一篇 2024年 9月 14日

相关推荐

关注微信