PCIe交换机的作用和参数解读:PEX89144为例,PCIe交换机能做些什么

引言

超微的SYS-821GE-TNHR/FTNHR服务器的PCIe扩展接口数量确实超过了第四代英特尔至强处理器所能提供的通道数。这是因为该服务器采用了一种称为PCIe交换机的硬件设备,它可以将少量PCIe通道转换为更多的PCIe通道,以实现更多的扩展性和灵活性。

具体而言,超微的SYS-821GE-TNHR/FTNHR服务器采用了PCIe交换机来将CPU和主板芯片组提供的PCIe通道转换为更多的PCIe扩展接口。这些PCIe扩展接口可以用来连接其他PCIe设备,例如HGX H100 8-GPU和其他PCIe卡。

总的来说,超微的SYS-821GE-TNHR/FTNHR服务器通过使用PCIe交换机来扩展PCIe通道的数量,从而实现了更多的PCIe扩展接口和更高的灵活性。但是需要注意的是,不同的PCIe设备具有不同的PCIe带宽需求,因此在设计和配置PCIe扩展时,需要仔细考虑设备的带宽需求和PCIe交换机的性能限制,以实现最佳的性能和稳定性。

PCIe交换机的作用

PCIe交换机可以将CPU和主板芯片组提供的PCIe通道转换为更多的PCIe扩展接口。PCIe交换机可以通过将多个PCIe端口连接到一个高速交换机芯片上,实现更多的PCIe通道,从而支持连接更多的PCIe设备

PCIe交换机芯片内部通常由多个PCIe端口和一个交换机核心组成。当一个PCIe设备连接到PCIe交换机时,交换机会将该设备的PCIe端口和交换机核心连接起来。当多个设备连接到交换机时,交换机会根据需要将数据从一个端口转发到另一个端口,实现多个设备之间的数据传输。通过这种方式,PCIe交换机可以实现将多个PCIe通道连接到一个高速交换机芯片上,从而实现更多的PCIe通道。

需要注意的是,PCIe交换机内部的交换机核心需要具备足够的带宽和性能,以确保所有设备之间的数据传输能够实现最优性能。此外,PCIe交换机的带宽和性能也受限于其连接到的主机总线(例如CPU和主板芯片组)的带宽和性能,因此需要仔细考虑总体设计,以确保系统性能达到最优状态。

PCIe交换机本身会通过PCIe x16或者其他接口插入主板,并提供更多的PCIe插槽,其他PCIe设备则可插入这些交换机芯片上的PCIe插槽,从而实现更多的PCIe通道连接。这些PCIe交换机可以支持不同的PCIe版本和速率,例如PCIe 4.0、PCIe 5.0等,并提供不同的PCIe通道数和带宽。PCIe交换机通常会采用非阻塞交换技术,以确保设备之间的数据传输效率和稳定性

如果PCIe交换机上的设备需要传输超过PCIe 4.0 x16最大传输速度的数据,PCIe交换机通常会使用多个PCIe通道并行传输数据。例如,如果PCIe交换机有8个PCIe 4.0 x16插槽,则可以将每个插槽连接到一个独立的PCIe 4.0 x16通道,以提高总带宽。此外,一些PCIe交换机支持在多个设备之间动态切换带宽,以确保在任何给定时间内,每个设备都可以获得足够的带宽,从而实现最佳性能

对于一般的主板,CPU与主板芯片组之间通过多条高速互联接口连接,其中PCIe x16接口是主要的一种互联方式,可以提供高达16条PCIe 3.0或4.0通道,这些通道可以连接主板芯片组或PCIe设备。

当PCIe设备超过CPU的PCIe通道数量时,PCIe交换机的作用就显得尤为重要,PCIe交换机通过在自身内部组织PCIe通道之间的交换,将连接到交换机上的PCIe设备间的数据传输,实现数据的路由和转发。在这个过程中,PCIe交换机充当了一个类似于路由器的角色,将数据传输从CPU直接连接到各个PCIe设备,充分利用CPU的有限PCIe通道,实现PCIe通道资源的最大化利用。当然,对于特定的应用场景,需要根据实际情况选择更高速、更复杂的PCIe交换机方案,以满足更高的带宽需求

PCIe交换机可以帮助您将多个PCIe设备连接到CPU的有限PCIe通道上,并对这些设备进行带宽分配和数据整合,从而实现更高的性能和可扩展性。当PCIe交换机连接到CPU时,它会使用其中一个PCIe接口(例如PCIe 5.0 x16)作为“上行”接口,以连接到CPU的PCIe总线。然后,交换机上的每个PCIe插槽可以通过交换机芯片内部的转换和分配逻辑连接到“上行”接口,这样就可以实现独立的PCIe通道。当PCIe交换机上的多个设备都需要传输数据到CPU时,PCIe交换机会使用其内部的流量控制和排队机制,以确保所有数据都得到适当的带宽分配,并按照合适的顺序排队传输到CPU

一般来说,直接连接到CPU的PCIe设备的响应速度会更快,因为它们能够直接与CPU通信,而不需要通过PCIe交换机进行中转。而插在PCIe交换机上的设备可能会面临一些延迟,因为它们需要通过PCIe交换机才能与CPU通信。不过,这种延迟通常很小,对大多数应用程序来说不会有显著影响。同时,PCIe交换机可以帮助用户灵活地配置系统,同时增加扩展性,为用户提供更多的PCIe设备连接选项

PCIe交换机可以进行PCIe协议的转换。例如,如果一台服务器的CPU支持PCIe 5.0,但是某个PCIe设备只支持PCIe 4.0,那么可以在CPU和PCIe设备之间插入一个PCIe交换机来实现转换。PCIe交换机的内部结构可以支持多种PCIe协议,因此它可以转换PCIe 5.0、PCIe 4.0、PCIe 3.0等各种版本的PCIe协议。这也为系统设计师提供了更大的灵活性,使他们能够在不同版本的PCIe设备之间进行协议转换和互连

样式

PCIe交换机芯片是一个集成电路芯片,它的功能是将一个或多个PCIe接口连接到一个或多个PCIe接口,通常不会有自己的扩展插槽。这种PCIe交换机被称为集成PCIe交换机或PCIe交换机芯片。

在一些需要使用PCIe交换机的场景中,例如服务器、工作站等,PCIe交换机通常被集成到主板上,由主板制造商进行集成设计。在这种情况下,PCIe设备插入到主板上的PCIe插槽中,PCIe交换机和主板芯片组之间通过PCB电路板连接。这样,PCIe交换机就可以将CPU和主板芯片组提供的PCIe通道转换为更多的PCIe扩展接口

参数解读

SRIS:SRIS是“Spread Spectrum Clocking with Independent SSC Support”的缩写,是一种用于减少EMI(电磁干扰)的技术。SRIS是一种在PCIe系统中使用的时钟调制技术,可减少高频时钟信号的辐射干扰,提高系统的抗干扰性能。

SRNS:SRNS是“Spread Spectrum Clocking with Non-Independent SSC Support”的缩写,是一种类似于SRIS的时钟调制技术。与SRIS不同的是,SRNS使用的是全局扩频器(Global Spread Spectrum)而不是单独的扩频器,因此所有PCIe时钟都被同时调制,不能单独控制,但是SRNS具有更好的兼容性。

ClKS:ClKS是“Clock Requester”(时钟请求器)的缩写,是一种用于PCIe电源管理的功能。ClKS是一个信号线,用于向PCIe设备发送时钟请求。PCIe设备可以通过控制ClKS信号来控制其电源管理状态,包括进入睡眠模式以节省功耗。

MSI-X是一种扩展的中断传输机制,它是MSI(Message Signaled Interrupt)的一种扩展,用于在多处理器系统中支持高效的中断消息传输。与传统的中断处理方式不同,MSI-X机制使得PCIe设备可以直接向CPU发送中断消息,而不需要通过PCIe总线和PCIe控制器进行转发和处理,这样可以减少PCIe总线和PCIe控制器的负载,并且提高系统的响应速度和效率。

MSI-X机制通过为每个设备分配多个中断向量,并使用一个中断消息表(Interrupt Message Table,IMT)来描述每个中断向量对应的中断处理程序,从而支持多个设备同时发送中断消息。PCIe交换机中的MSI-X功能可以通过配置寄存器进行启用和配置。

DPC/Read Tracking和Shared I/O是PCIe交换机的两种不同功能。它们都是用于处理PCIe设备之间的冲突和错误,以提高系统的可靠性和稳定性。

DPC/Read Tracking是一种用于处理PCIe设备之间数据读取和写入的功能。当多个设备同时访问同一个PCIe地址时,DPC/Read Tracking功能可以跟踪这些访问,并确保它们不会产生冲突。如果发生冲突,交换机可以自动协调这些冲突,并防止数据损坏或丢失。

Shared I/O是一种用于处理PCIe设备之间共享I/O资源的功能。当多个设备需要访问同一I/O资源(如内存或端口)时,Shared I/O功能可以协调这些访问,以确保它们不会产生冲突。如果发生冲突,交换机可以自动协调这些冲突,并防止数据损坏或丢失。

在PCIe交换机中,SSC Clks指的是Spread Spectrum Clocking,即扩频时钟技术。它是一种用于减少电磁干扰(EMI)的技术,在PCIe交换机中通常用于降低高速时钟信号的辐射噪声,从而减少EMI的干扰。

而DMA指的是Direct Memory Access,即直接内存访问。在PCIe交换机中,DMA通常用于提高数据传输的效率,避免CPU参与每个数据传输操作。通过DMA,PCIe设备可以直接访问系统内存,从而实现高效的数据传输。

在PCIe交换机中,NT Ports指的是Non-Transparent Ports(非透明端口)。这是一种PCIe交换机端口类型,与Transparent Ports(透明端口)相对应。

透明端口(Transparent Port)是一种将PCIe TLP(Transaction Layer Packets,事务层数据包)透明地传输到目标端口的端口类型。透明端口将TLP中的信息直接转发到目标设备,目标设备无需知道中间存在的透明端口。

相比之下,非透明端口则会拦截TLP并在本地进行处理。这些端口通常被用于实现一些高级功能,例如PCIe交换机之间的互联,以及错误管理和诊断。在处理TLP时,非透明端口会检查TLP的头部,并根据需要进行修改或分析。

NT Ports通常与SR-IOV(Single Root I/O Virtualization,单根I/O虚拟化)和MR-IOV(Multi Root I/O Virtualization,多根I/O虚拟化)相关。这些技术允许将物理设备虚拟化为多个虚拟设备,并将其分配给不同的虚拟机。非透明端口可以提供对SR-IOV和MR-IOV所需的硬件功能的支持。

在PCIe交换机中,Lanes和Ports是两个不同的概念。

Lanes是指PCIe总线中的物理通道,也就是每个通道能够传输的数据位数。PCIe总线中的每个Lane都是一个单独的、全双工的通道,可以支持一定的数据传输速率。PCIe总线的版本号以及每个版本所支持的速率和Lane数目都是由Lane来定义的。例如,PCIe 3.0 x16就表示有16个Lanes,而每个Lane的数据传输速率则为8 GT/s。

Ports是指PCIe交换机上可用的物理端口,每个端口可以连接一个或多个设备。每个端口都包含多个Lanes,不同的PCIe总线版本和Lane数目决定了每个端口的总带宽。PCIe交换机上的每个端口都可以通过虚拟化技术划分成多个虚拟端口,每个虚拟端口可以连接到一个独立的设备。虚拟化技术可以有效提高PCIe交换机的利用率。

实际上

如果使用PEX89144作为交换机芯片,最多可以插入9个PCIe 5.0 x16显卡,此时144个lanes,也就是通道,都分配给了这9个显卡,其他67个ports,也就是端口,分配不到通道

如果72个端口都使用,最多可以接入72个设备,可以是显卡,也可以是其他的,这些设备以PCIe 5.0 x2速度运行

如果接入36个设备,则以PCIe 5.0 x4速度运行,如果接入18个设备,则以PCIe 5.0 x8速度运行

猜你喜欢

转载自blog.csdn.net/LingLing1301/article/details/129793620