CN112527709B - 一种PCIe扩展交换系统、方法及电子设备和存储介质 - Google Patents

一种PCIe扩展交换系统、方法及电子设备和存储介质 Download PDF

Info

Publication number
CN112527709B
CN112527709B CN202011438795.6A CN202011438795A CN112527709B CN 112527709 B CN112527709 B CN 112527709B CN 202011438795 A CN202011438795 A CN 202011438795A CN 112527709 B CN112527709 B CN 112527709B
Authority
CN
China
Prior art keywords
data
downstream
port
pcie
upstream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011438795.6A
Other languages
English (en)
Other versions
CN112527709A (zh
Inventor
王硕
李拓
满宏涛
刘凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202011438795.6A priority Critical patent/CN112527709B/zh
Publication of CN112527709A publication Critical patent/CN112527709A/zh
Application granted granted Critical
Publication of CN112527709B publication Critical patent/CN112527709B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4054Coupling between buses using bus bridges where the bridge performs a synchronising function where the function is bus cycle extension, e.g. to meet the timing requirements of the target bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请公开了一种PCIe扩展交换系统、方法及一种电子设备和计算机可读存储介质,该PCIe扩展交换系统包括交换逻辑模块和配置模块,交换逻辑模块包括:上游端口、多个下游端口和配置单元,上游端口与PCIe根节点相连,每个下游端口与对应的PCIe终端节点相连,上游端口与每个下游端口均相连;每个下游端口均包括配置接口,配置模块通过配置单元与每个配置接口均相连,配置模块用于配置PCIe扩展交换系统的连接模式和/或下游端口数量。由此可见,本申请提供的PCIe扩展交换系统,采用硬件逻辑实现,不需要额外的微处理器模块的资源,可以通过逻辑接口方式或发送配置数据的软件方式进行PCIe扩展交换系统的配置。

Description

一种PCIe扩展交换系统、方法及电子设备和存储介质
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种PCIe扩展交换系统、方法及一种电子设备和一种计算机可读存储介质。
背景技术
PCIe(peripheral component interconnect express)是一种高速串行计算机扩展总线标准,PCIe已经成为当前计算机系统中应用最为广泛的扩展总线。PCIe总线使用端到端的连接方式,一条PCIe链路只能连接一个设备。因此,当计算机系统中需要连接使用多个PCIe设备时,必须将PCIe链路进行扩展,这种扩展设备具有一个上游端口和多个下游端口。为了扩展设备的配置需要,通常在扩展设备中内置一个微处理器模块,这种方案一方面会增加设计成本,另一方面会加大设计复杂度,对扩展设备性能、功耗造成影响。
因此,如何在不影响性能和功耗的前提下实现扩展设备的配置是本领域技术人员需要解决的技术问题。
发明内容
本申请的目的在于提供一种PCIe扩展交换系统、方法及一种电子设备和一种计算机可读存储介质,在不影响性能和功耗的前提下实现了PCIe扩展交换系统的配置。
为实现上述目的,本申请提供了一种PCIe扩展交换系统,包括交换逻辑模块和配置模块,所述交换逻辑模块包括:上游端口、多个下游端口和配置单元,所述上游端口与PCIe根节点相连,每个所述下游端口与对应的PCIe终端节点相连,所述上游端口与每个所述下游端口均相连;
每个所述下游端口均包括配置接口,所述配置模块通过所述配置单元与每个所述配置接口均相连,所述配置模块用于配置所述PCIe扩展交换系统的连接模式和/或下游端口数量。
其中,还包括PCIe物理层,所述上游端口通过对应的PCIe物理层与PCIe的根节点相连,每个所述下游端口均通过对应的PCIe物理层与对应的所述PCIe终端节点相连。
其中,所述上游端口通过上游数据选择器、对应的下游数据选择器与对应的下游端口相连。
其中,所述上游数据选择器与上游数据仲裁单元相连,所述上游数据仲裁单元用于根据调度策略确定第一授权数据,所述上游数据选择器用于发送所述第一授权数据;
每个所述下游数据选择器与对应的下游数据仲裁单元相连,所述下游数据仲裁单元用于根据调度策略确定第二授权数据,所述下游数据选择器用于发送所述第二授权数据。
其中,所述交换逻辑模块还包括:
用于对所述上游端口发送的数据进行解析的上游数据解析单元;
用于对所述下游端口发送的数据进行解析的下游数据解析单元。
为实现上述目的,本申请提供了一种PCIe扩展交换方法,应用于如上述PCIe扩展交换系统中的交换逻辑模块,所述方法包括:
配置所述PCIe扩展交换系统的连接模式;其中,所述连接模式包括上游端口向下游端口发送数据的第一连接模式、下游端口向上游端口发送数据的第二连接模式、下游端口之间传输数据的第三连接模式;
若所述PCIe扩展交换系统为所述第一连接模式,则接收所述上游模块发送的第一数据,确定目标下游端口,并将所述第一数据发送至所述目标下游端口;
若所述PCIe扩展交换系统为所述第二连接模模式,则接收第一下游端口发送的第二数据,并将所述第二数据发送至所述上游端口;
若所述PCIe扩展交换系统为所述第三连接模式,则接收第二下游端口发送的第三数据,确定第三下游端口,并将所述第三数据发送至所述第三下游端口。
其中,所述配置所述PCIe扩展交换系统的连接模式,包括:
接收配置模块发送的配置命令,并通过所述交换逻辑模块中的配置单元基于所述配置命令直接配置对应的配置接口,以配置所述PCIe扩展交换系统的连接模式;
或,通过所述上游端口向对应的下游端口发送的配置数据,并基于所述配置数据配置对应的配置接口,以配置所述PCIe扩展交换系统的连接模式。
其中,若存在多个所述第一数据,则将所述第一数据发送至所述目标下游端口,包括:
利用上游数据仲裁单元根据调度策略在所有所述第一数据中确定第一授权数据,并将所述第一授权数据发送至所述目标下游端口;
若存在多个所述第二数据,则将所述第二数据发送至所述上游端口,包括:
利用所述第一下游端口对应的第一下游数据仲裁单元根据调度策略在所有所述第二数据中确定第二授权数据,并将所述第二授权数据发送至所述上游端口;
若存在多个所述第三数据,则将所述第三数据发送至所述第三下游端口,包括:
利用所述第二下游端口对应的第二下游数据仲裁单元根据调度策略在所有所述第三数据中确定第三授权数据,并将所述第三授权数据发送至所述第三下游端口。
为实现上述目的,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述PCIe扩展交换方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述PCIe扩展交换方法的步骤。
通过以上方案可知,本申请提供了一种PCIe扩展交换系统,包括交换逻辑模块和配置模块,所述交换逻辑模块包括:上游端口、多个下游端口和配置单元,所述上游端口与PCIe根节点相连,每个所述下游端口与对应的PCIe终端节点相连,所述上游端口与每个所述下游端口均相连;每个所述下游端口均包括配置接口,所述配置模块通过所述配置单元与每个所述配置接口均相连,所述配置模块用于配置所述PCIe扩展交换系统的连接模式和/或下游端口数量。
在本申请中,由交换逻辑模块实现PCIe链路的扩展功能,该交换逻辑模块包括一个上游端口、多个下游端口和配置单元,每个下游端口中均设置配置接口,可以通过配置单元直接配置每个下游数据单元的配置接口,也可以通过上游端口直接向需要配置的下游端口发送配置数据的方式,以实现PCIe扩展交换系统的配置。由此可见,本申请提供的PCIe扩展交换系统,采用硬件逻辑实现,不需要额外的微处理器模块的资源,可以通过逻辑接口方式或发送配置数据的软件方式进行PCIe扩展交换系统的配置。本申请还公开了一种PCIe扩展交换装置及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1为根据一示例性实施例示出的一种PCIe扩展交换系统的结构图;
图2为根据一示例性实施例示出的一种交换逻辑模块的结构图;
图3为根据一示例性实施例示出的一种PCIe扩展交换方法的流程图;
图4为根据一示例性实施例示出的一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。另外,在本申请实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例公开了一种PCIe扩展交换系统,在不影响性能和功耗的前提下实现了PCIe扩展交换系统的配置。
参见图1,根据一示例性实施例示出的一种PCIe扩展交换系统的结构图,如图1所示,包括交换逻辑模块和配置模块,所述交换逻辑模块包括:上游端口、多个下游端口和配置单元,所述上游端口与PCIe根节点相连,每个所述下游端口与对应的PCIe终端节点相连,所述上游端口与每个所述下游端口均相连;每个所述下游端口均包括配置接口,所述配置模块通过所述配置单元与每个所述配置接口均相连,所述配置模块用于配置所述PCIe扩展交换系统的连接模式和/或下游端口数量。
本实施例提供的PCIe扩展交换系统,可以扩展出多条PCIe链路,从而扩展出多个PCIe设备。具体的,PCIe扩展交换系统中的交换逻辑模块完成上游端口(UP)与下游端口(DP)之间的PCIe数据交互。包括一个上游端口和多个下游端口,上游端口通过PCIe链路连接到根节点(Root Complex),下游端口通过PCIe链路连接到多个PCIe终端节点(Endpoint),即PCIe终端设备。由此实现从一个PCIe根节点扩展出多个终端节点,从而实现挂接多个PCIe设备。
在具体实施中,所述PCIe扩展交换系统还包括PCIe物理层,所述上游端口通过对应的PCIe物理层与PCIe的根节点相连,每个所述下游端口均通过对应的PCIe物理层与对应的所述PCIe终端节点相连。PCIe物理层(PCIe PHY)用于进行PCIe物理信道和链路层数据之间的串并转换。
配置模块用于生成并向交换逻辑模块中的配置单元发送配置命令,以进行PCIe扩展交换系统的连接模式、下游端口数量等的配置。可以理解的是,还可以基于配置命令生成PCIe的配置数据,由上游端口发送至对应的下游端口的配置接口,完成PCIe扩展交换系统的配置。
作为一种优选实施方式,所述上游端口通过上游数据选择器、对应的下游数据选择器与对应的下游端口相连;所述上游数据选择器与上游数据仲裁单元相连,所述上游数据仲裁单元用于根据调度策略确定第一授权数据,所述上游数据选择器用于发送所述第一授权数据;每个所述下游数据选择器与对应的下游数据仲裁单元相连,所述下游数据仲裁单元用于根据调度策略确定第二授权数据,所述下游数据选择器用于发送所述第二授权数据。
在具体实施中,如图2所示,接收端口(RX)用于接收从上游端口或下游端口中传输来的PCIe TLP数据包,发送端口(TX)用于将将PCIe TLP数据包发送到上游端口或下游端口。本实施例中的交换逻辑模块还可以包括用于对所述上游端口发送的数据进行解析的上游数据解析单元;用于对所述下游端口发送的数据进行解析的下游数据解析单元。上游数据解析单元,即UP端口数据解码器(Upstream Decoder)用于解码从上游端口到来的PCIeTLP数据包,根据包类型做出具体响应,下游数据解析单元,即DP端口数据解码器(Downstream Decoder)用于解码从下游端口到来的PCIe TLP数据包,根据包类型做出具体响应,系统中扩展出了多个DP端口,因此存在多个下游数据解析单元。选择器(MUX)用于选择性地将PCIe TLP数据包从上游端口发送到某一下游端口,或者从某一下游端口发送到上游端口,或者从某一下游端口发送到另一下游端口。从上游端口发送到下游端口或者从下游端口发送到上游端口的多个PCIe TLP数据包经过仲裁单元的仲裁调度,再通过选择器发送。下游端口的配置接口(CFG)用于下游端口的数量、连接模式等配置,配置单元(ExternalCfg)为连接到外部的配置接口或模块,用于对配置接口进行配置。
在本申请实施例中,由交换逻辑模块实现PCIe链路的扩展功能,该交换逻辑模块包括一个上游端口、多个下游端口和配置单元,每个下游端口中均设置配置接口,可以通过配置单元直接配置每个下游数据单元的配置接口,也可以通过上游端口直接向需要配置的下游端口发送配置数据的方式,以实现PCIe扩展交换系统的配置。由此可见,本申请实施例提供的PCIe扩展交换系统,采用硬件逻辑实现,不需要额外的微处理器模块的资源,可以通过逻辑接口方式或发送配置数据的软件方式进行PCIe扩展交换系统的配置。
下面对本申请实施例提供的一种PCIe扩展交换方法进行介绍,下文描述的一种PCIe扩展交换方法与上文描述的一种PCIe扩展交换系统可以相互参照。
参见图3,根据一示例性实施例示出的一种PCIe扩展交换方法的流程图,如图3所示,包括:
S101:配置所述PCIe扩展交换系统的连接模式;其中,所述连接模式包括上游端口向下游端口发送数据的第一连接模式、下游端口向上游端口发送数据的第二连接模式、下游端口之间传输数据的第三连接模式;
在本实施例中,PCIe扩展交换系统的连接模式包括第一连接模式、第二连接模式和第三连接模式。当PCIe扩展交换系统工作在第一连接模式时,根节点经由上游端口向下游端口发送PCIe数据,进一步发送到终端节点的PCIe设备。当PCIe扩展交换系统工作在第二连接模式时,终端节点的PCIe设备经由下游端口向上游端口发送PCIe数据,进一步发送到根节点。当PCIe扩展交换系统工作在第三连接模式时,终端节点的PCIe设备之间可以发送和接收PCIe数据。
作为一种可行的实施方式,所述配置所述PCIe扩展交换系统的连接模式,包括:接收配置模块发送的配置命令,并通过所述交换逻辑模块中的配置单元基于所述配置命令直接配置对应的配置接口,以配置所述PCIe扩展交换系统的连接模式。在具体实施中,配置模块用于生成并向交换逻辑模块中的配置单元发送配置命令,配置单元基于该配置命令直接配置对应的配置接口,以进行PCIe扩展交换系统的连接模式、下游端口数量等的配置。
作为另一种实施方式,所述配置所述PCIe扩展交换系统的连接模式,包括:通过所述上游端口向对应的下游端口发送的配置数据,并基于所述配置数据配置对应的配置接口,以配置所述PCIe扩展交换系统的连接模式。在具体实施中,基于配置命令生成PCIe的配置数据,由上游端口发送至对应的下游端口的配置接口,完成PCIe扩展交换系统的配置。
S102:若所述PCIe扩展交换系统为所述第一连接模式,则接收所述上游模块发送的第一数据,确定目标下游端口,并将所述第一数据发送至所述目标下游端口;
在本步骤中,上游端口的接收端口接收到根节点下发的PCIe TLP数据,进一步发送到上游数据解析单元,上游数据解析单元解析PCIe的TLP(Transaction Layer Packet)数据包,判断具体是什么PCIe命令类型,并返回相应的响应。当上游数据解析单元判断出有数据要发送到下游端口时,上游数据选择器会根据解析出的数据包内容将数据发送到某一下游端口,例如当上游端口发送到下游端口1时,下游数据选择器1连通,TLP数据包通过发送端口发送到下游端口1。
当存在多个类型数据发送时,下游数据仲裁单元会根据轮询调度策略确定哪些请求被授权,进而将这些请求依此发送到下游端口1,即若存在多个所述第一数据,则将所述第一数据发送至所述目标下游端口,包括:利用上游数据仲裁单元根据调度策略在所有所述第一数据中确定第一授权数据,并将所述第一授权数据发送至所述目标下游端口。
S103:若所述PCIe扩展交换系统为所述第二连接模模式,则接收第一下游端口发送的第二数据,并将所述第二数据发送至所述上游端口;
在本步骤中,以下游端口1为例,下游端口1的接收端口接收PCIe设备发出的PCIeTLP数据包并发往下游数据解析单元1,下游数据解析单元1解析PCIe TLP数据包,判断具体是什么PCIe命令类型,并返回相应的响应。当下游数据解析单元1判断出有数据要发送到上游时,上游数据选择器连通,TLP数据包通过发送端口发送到上游端口。
当存在多个类型数据发送时,上游数据仲裁单元会根据轮询调度策略确定哪些请求被授权,进而将这些请求发送到上游端口,即若存在多个所述第二数据,则将所述第二数据发送至所述上游端口,包括:利用所述第一下游端口对应的第一下游数据仲裁单元根据调度策略在所有所述第二数据中确定第二授权数据,并将所述第二授权数据发送至所述上游端口。
S104:若所述PCIe扩展交换系统为所述第三连接模式,则接收第二下游端口发送的第三数据,确定第三下游端口,并将所述第三数据发送至所述第三下游端口。
在本步骤中,以下游端口1到下游端口n为例,下游端口1的接收端口接收PCIe设备发出的PCIe TLP数据包并发往解码模块下游数据解析单元,下游数据解析单元1解析PCIeTLP数据包,判断具体是什么PCIe命令类型,并返回相应的响应。下游数据解析单元1判断出有数据要发送到下游端口n时,下游数据选择器n连通,TLP数据包通过发送端口发送到下游端口n。
当存在多个类型数据发送时,下游数据仲裁单元n会根据轮询调度策略确定哪些请求被授权,进而将这些请求发送到下游端口n,即若存在多个所述第三数据,则将所述第三数据发送至所述第三下游端口,包括:利用所述第二下游端口对应的第二下游数据仲裁单元根据调度策略在所有所述第三数据中确定第三授权数据,并将所述第三授权数据发送至所述第三下游端口。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种电子设备,图4为根据一示例性实施例示出的一种电子设备的结构图,如图4所示,电子设备包括:
通信接口1,能够与其它设备比如网络设备等进行信息交互;
处理器2,与通信接口1连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的应用的访问方法。而所述计算机程序存储在存储器3上。
当然,实际应用时,电子设备中的各个组件通过总线系统4耦合在一起。可理解,总线系统4用于实现这些组件之间的连接通信。总线系统4除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统4。
本申请实施例中的存储器3用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
可以理解,存储器3可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器2旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器2中,或者由处理器2实现。处理器2可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器2可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器3,处理器2读取存储器3中的程序,结合其硬件完成前述方法的步骤。
处理器2执行所述程序时实现本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器3,上述计算机程序可由处理器2执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (8)

1.一种PCIe扩展交换系统,其特征在于,包括交换逻辑模块和配置模块,所述交换逻辑模块包括:上游端口、多个下游端口和配置单元,所述上游端口与PCIe根节点相连,每个所述下游端口与对应的PCIe终端节点相连,所述上游端口与每个所述下游端口均相连;
每个所述下游端口均包括配置接口,所述配置模块通过所述配置单元与每个所述配置接口均相连,所述配置模块用于配置所述PCIe扩展交换系统的连接模式和/或下游端口数量;
所述上游端口通过上游数据选择器、对应的下游数据选择器与对应的下游端口相连;
所述上游数据选择器与上游数据仲裁单元相连,所述上游数据仲裁单元用于根据调度策略确定第一授权数据,所述上游数据选择器用于发送所述第一授权数据;
每个所述下游数据选择器与对应的下游数据仲裁单元相连,所述下游数据仲裁单元用于根据调度策略确定第二授权数据,所述下游数据选择器用于发送所述第二授权数据。
2.根据权利要求1所述PCIe扩展交换系统,其特征在于,还包括PCIe物理层,所述上游端口通过对应的PCIe物理层与PCIe的根节点相连,每个所述下游端口均通过对应的PCIe物理层与对应的所述PCIe终端节点相连。
3.根据权利要求1所述PCIe扩展交换系统,其特征在于,所述交换逻辑模块还包括:
用于对所述上游端口发送的数据进行解析的上游数据解析单元;
用于对所述下游端口发送的数据进行解析的下游数据解析单元。
4.一种PCIe扩展交换方法,其特征在于,应用于如权利要求1至3中任一项所述PCIe扩展交换系统中的交换逻辑模块,所述方法包括:
配置所述PCIe扩展交换系统的连接模式;其中,所述连接模式包括上游端口向下游端口发送数据的第一连接模式、下游端口向上游端口发送数据的第二连接模式、下游端口之间传输数据的第三连接模式;
若所述PCIe扩展交换系统为所述第一连接模式,则接收所述上游端口发送的第一数据,确定目标下游端口,并将所述第一数据发送至所述目标下游端口;
若所述PCIe扩展交换系统为所述第二连接模式,则接收第一下游端口发送的第二数据,并将所述第二数据发送至所述上游端口;
若所述PCIe扩展交换系统为所述第三连接模式,则接收第二下游端口发送的第三数据,确定第三下游端口,并将所述第三数据发送至所述第三下游端口。
5.根据权利要求4所述PCIe扩展交换方法,其特征在于,所述配置所述PCIe扩展交换系统的连接模式,包括:
接收配置模块发送的配置命令,并通过所述交换逻辑模块中的配置单元基于所述配置命令直接配置对应的配置接口,以配置所述PCIe扩展交换系统的连接模式;
或,通过所述上游端口向对应的下游端口发送的配置数据,并基于所述配置数据配置对应的配置接口,以配置所述PCIe扩展交换系统的连接模式。
6.根据权利要求4所述PCIe扩展交换方法,其特征在于,若存在多个所述第一数据,则将所述第一数据发送至所述目标下游端口,包括:
利用上游数据仲裁单元根据调度策略在所有所述第一数据中确定第一授权数据,并将所述第一授权数据发送至所述目标下游端口;
若存在多个所述第二数据,则将所述第二数据发送至所述上游端口,包括:
利用所述第一下游端口对应的第一下游数据仲裁单元根据调度策略在所有所述第二数据中确定第二授权数据,并将所述第二授权数据发送至所述上游端口;
若存在多个所述第三数据,则将所述第三数据发送至所述第三下游端口,包括:
利用所述第二下游端口对应的第二下游数据仲裁单元根据调度策略在所有所述第三数据中确定第三授权数据,并将所述第三授权数据发送至所述第三下游端口。
7.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求4至6任一项所述PCIe扩展交换方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求4至6任一项所述PCIe扩展交换方法的步骤。
CN202011438795.6A 2020-12-10 2020-12-10 一种PCIe扩展交换系统、方法及电子设备和存储介质 Active CN112527709B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011438795.6A CN112527709B (zh) 2020-12-10 2020-12-10 一种PCIe扩展交换系统、方法及电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011438795.6A CN112527709B (zh) 2020-12-10 2020-12-10 一种PCIe扩展交换系统、方法及电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN112527709A CN112527709A (zh) 2021-03-19
CN112527709B true CN112527709B (zh) 2023-05-26

Family

ID=74999446

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011438795.6A Active CN112527709B (zh) 2020-12-10 2020-12-10 一种PCIe扩展交换系统、方法及电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN112527709B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113709066B (zh) * 2021-07-31 2023-04-07 浪潮电子信息产业股份有限公司 一种PCIe通信装置及BMC
CN113704166B (zh) * 2021-10-28 2022-02-18 苏州浪潮智能科技有限公司 一种fpga运算设备和运算算力提升系统
CN114281736A (zh) * 2021-12-29 2022-04-05 天津光电通信技术有限公司 基于fpga的串口仲裁通信装置
CN115914381A (zh) * 2022-10-27 2023-04-04 北京沃东天骏信息技术有限公司 上下游平台通信方法、装置和电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103117929B (zh) * 2013-01-31 2015-12-23 中国科学院计算技术研究所 一种基于PCIe数据交换的通信方法及系统

Also Published As

Publication number Publication date
CN112527709A (zh) 2021-03-19

Similar Documents

Publication Publication Date Title
CN112527709B (zh) 一种PCIe扩展交换系统、方法及电子设备和存储介质
KR100555394B1 (ko) Ngio/infiniband 어플리케이션용 리모트 키검증을 위한 방법 및 메커니즘
US7492710B2 (en) Packet flow control
US7290066B2 (en) Methods and structure for improved transfer rate performance in a SAS wide port environment
US7660932B2 (en) Composing on-chip interconnects with configurable interfaces
EP1719289B1 (en) Generating topology information identifying devices in a network topology
CN109857690B (zh) 驱动器的应用系统、驱动器和数据传输方法
JP4571671B2 (ja) 通信モジュールのメッセージメモリのデータへアクセスする方法および装置
US7904519B2 (en) Method for switching between embedded communications and external communications
US7254603B2 (en) On-chip inter-network performance optimization using configurable performance parameters
US6327637B1 (en) Interface tap for 1394-enabled serial bus device
US20200409706A1 (en) Apparatuses and methods involving selective disablement of side effects caused by accessing register sets
US10657074B2 (en) Connecting an external PHY device to a MAC device using a management data input/output interface
US9116881B2 (en) Routing switch apparatus, network switch system, and routing switching method
CN117520233A (zh) 一种均衡训练方法、装置及系统
KR20170117326A (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
CN112422485B (zh) 一种传输控制协议的通信方法及装置
EP3319249B1 (en) Transmission checking method, node, system and computer storage medium
US6606327B1 (en) Method to dynamically adjust the maximum back off time of an ethernet controller in a half duplex network
KR100643815B1 (ko) 링크-기반 컴퓨팅 시스템 내에서의 i/o 구성 메시징
US7653765B2 (en) Information communication controller interface apparatus and method
KR101593840B1 (ko) 캔 프레임 송신 방법 및 장치
CN115001627B (zh) 一种InfiniBand网络子网管理报文处理方法及系统
Esparza et al. Transitioning applications from CAN 2.0 to CAN FD
CN113742079B (zh) K8s七层负载均衡策略实现的方法及应用

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant