CN118035150A - 外围器件互联扩展设备热插拔系统、方法、设备以及集群 - Google Patents
外围器件互联扩展设备热插拔系统、方法、设备以及集群 Download PDFInfo
- Publication number
- CN118035150A CN118035150A CN202410431750.8A CN202410431750A CN118035150A CN 118035150 A CN118035150 A CN 118035150A CN 202410431750 A CN202410431750 A CN 202410431750A CN 118035150 A CN118035150 A CN 118035150A
- Authority
- CN
- China
- Prior art keywords
- state
- equipment
- hot plug
- peripheral device
- processor
- 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.)
- Pending
Links
- 230000002093 peripheral effect Effects 0.000 title claims abstract description 108
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000003993 interaction Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 43
- 230000015654 memory Effects 0.000 description 37
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000007704 transition Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本申请提供了一种外围器件互联扩展设备热插拔系统、方法、设备以及集群。包括:数据处理器用于提供外围器件互联扩展设备,外围器件互联扩展设备包括外围器件互联扩展桥设备、第一外围器件互联扩展端设备以及第二外围器件互联扩展端设备,外围器件互联扩展桥设备包括第一端设备槽位,第一端设备槽位的电源指示灯状态包括第一状态、第二状态以及第三状态;数据处理器用于在为第一外围器件互联扩展端设备向处理器发送第一热插拔中断之前,将热插拔标记进行置位,在电源指示灯状态从第二状态转为其他状态之后,将热插拔标记进行复位;数据处理器用于在热插拔标记置位之后,复位之前,禁止为第二外围器件互联扩展端设备向处理器发送第二热插拔中断。
Description
技术领域
本申请涉及数据处理领域,尤其涉及一种外围器件互联扩展设备热插拔系统、方法、设备以及集群。
背景技术
外围器件互联(peripheral component interconnect,PCI)是由PCISIG(PCIspecial interest group)推出的一种局部并行总线标准。PCI总线是一种树型结构,并且独立于中央处理器(central processing unit,CPU)总线,可以和CPU总线并行操作。PCI总线上可以挂接PCI设备和PCI桥片,PCI总线上只允许有一个PCI主设备,其他的均为PCI从设备,而且读写操作只能在主从设备之间进行,从设备之间的数据交换需要通过主设备中转。其中,外围器件互联扩展(PCI Express,PCIE)由早期的PCI扩展衍生而来并且对PCI兼容,两者的主要区别在于并行到串行的切换,且速率更快。PCI Express是一种分层协议,由事务层,数据链路层和物理层组成。
数据处理单元(Data Processing Unit,DPU)场景下,为了使DPU能够模拟出多个不同类型的PCIE设备,DPU需要模拟出整个PCIE拓扑结构和各种PCIE设备。主机侧操作系统则枚举PCIE拓扑结构和PCIE设备。最后主机侧通过各种驱动程序驱动不同类型的PCIE设备。
但是,在同时收到多个PCIE设备的热插拔中断时,只会处理第一个中断,这就导致其他PCIE设备的热插拔请求无法被处理,进而导致PCIE设备无法被加载或者卸载,如果同时收到多个PCIE设备的热插拔请求,还可能导致主机侧的系统挂死。
发明内容
本申请提供了一种外围器件互联扩展设备热插拔系统、方法、设备以及集群,能够避免同时向处理器提出热插拔请求而出现的PCIE设备无法被加载或者卸载以及主机侧的系统挂死的问题。
第一方面,提供了一种外围器件互联扩展设备热插拔系统,包括:
数据处理器,用于提供外围器件互联扩展设备以及所述外围器件互联扩展设备的拓扑关系的硬件逻辑,所述数据处理器还设置有模拟器,所述模拟器用于提供外围器件互联扩展设备以及所述外围器件互联扩展设备的拓扑关系的软件逻辑,并与所述硬件逻辑之间协商交互以实现对所述外围器件互联扩展设备的模拟,所述外围器件互联扩展设备包括外围器件互联扩展桥设备、第一外围器件互联扩展端设备以及第二外围器件互联扩展端设备,所述外围器件互联扩展桥设备包括第一端设备槽位,所述第一端设备槽位用于挂载所述第一外围器件互联扩展端设备,所述第一端设备槽位的电源指示灯状态包括第一状态、第二状态以及第三状态,所述第一状态用于指示电源指示灯为关闭状态,所述第二状态用于指示电源指示灯为闪烁状态,所述第三状态用于指示电源指示灯为开启状态;
处理器,用于通过驱动程序驱动所述外围器件互联扩展设备;
所述数据处理器,还用于在为所述第一外围器件互联扩展端设备向所述处理器发送第一热插拔中断之前,将所述热插拔标记进行置位,在所述电源指示灯状态从所述第二状态转为其他状态之后,将所述热插拔标记进行复位;
所述数据处理器,还用于在所述热插拔标记置位之后,复位之前,禁止为所述第二外围器件互联扩展端设备向所述处理器发送第二热插拔中断。
在一些可能的设计中,所述处理器,还用于在接收到所述第一热插拔中断之后,向所述数据处理器发送第一事务层协议报文;
所述数据处理器,还用于基于第一事务层协议报文将所述电源指示灯状态从其他状态转为所述第二状态。
在一些可能的设计中,在所述第一热插拔中断为热插入中断的情况下,基于第一事务层协议报文将所述电源指示灯状态从所述第一状态转为所述第二状态;
在所述第一热插拔中断为热拔出中断的情况下,基于第一事务层协议报文将所述电源指示灯状态从所述第三状态转为所述第二状态。
在一些可能的设计中,所述处理器,还用于在所述电源指示灯状态从其他状态转为所述第二状态之后,通过第一外围器件互联扩展端设备的驱动程序加载或者卸载所述第一外围器件互联扩展端设备。
在一些可能的设计中,所述处理器,还用于加载或者卸载所述第一外围器件互联扩展端设备之后,向所述数据处理器发送第二事务层协议报文;
所述数据处理器,还用于基于第二事务层协议报文将所述电源指示灯状态从所述第二状态转为其他状态。
在一些可能的设计中,在所述处理器加载所述第一外围器件互联扩展端设备的驱动程序的情况下,所述电源指示灯状态从所述第二状态转为所述第三状态。
在所述处理器卸载所述第一外围器件互联扩展端设备的驱动程序的情况下,所述电源指示灯状态从所述第二状态转为所述第一状态。
在一些可能的设计中,所述数据处理器还用于在所有外围器件互联扩展端设备的热插拔标记都是复位状态的情况下,允许为所述第二外围器件互联扩展端设备向所述处理器发送第二热插拔中断。
第二方面,提供了一种外围器件互联扩展设备热插拔方法。所述方法包括:
通过数据处理器提供至外围器件互联扩展设备以及所述外围器件互联扩展设备的拓扑关系的硬件逻辑,所述数据处理器还设置有模拟器,所述模拟器用于提供外围器件互联扩展设备以及所述外围器件互联扩展设备的拓扑关系的软件逻辑,并与所述硬件逻辑之间协商交互以实现对所述外围器件互联扩展设备的模拟,所述外围器件互联扩展设备包括外围器件互联扩展桥设备、第一外围器件互联扩展端设备以及第二外围器件互联扩展端设备,所述外围器件互联扩展桥设备包括第一端设备槽位,所述第一端设备槽位用于挂载所述第一外围器件互联扩展端设备,所述第一端设备槽位的电源指示灯状态包括第一状态、第二状态以及第三状态,所述第一状态用于指示电源指示灯为关闭状态,所述第二状态用于指示电源指示灯为闪烁状态,所述第三状态用于指示电源指示灯为开启状态;
通过处理器提供通过驱动程序驱动所述外围器件互联扩展设备;
通过所述数据处理器在为所述第一外围器件互联扩展端设备向所述处理器发送第一热插拔中断之前,将所述热插拔标记进行置位,在所述电源指示灯状态从所述第二状态转为其他状态之后,将所述热插拔标记进行复位;
通过所述数据处理器在所述热插拔标记置位之后,复位之前,禁止为所述第二外围器件互联扩展端设备向所述处理器发送第二热插拔中断。
第三方面,提供了一种计算设备,包括如第一方面任一项所述的外围器件互联扩展设备热插拔系统。
第四方面,提供了一种计算机可读存储介质,包括指令,所述指令被计算设备执行的时候,能够实现如第二方面所述的方法。
第五方面,提供了一种计算集群,包括多个计算设备,其中,至少一个计算设备包括如第一方面任一项所述的外围器件互联扩展设备热插拔系统。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1是本申请提供的一种外围器件互联扩展设备热插拔系统的结构示意图;
图2是本申请提供的一种中央处理器的结构示意图;
图3是本申请提供的一种DPU的结构示意图;
图4是本申请中的PCIE设备的电源指示灯的变化示意图;
图5是本申请提供的一种外围器件互联扩展设备热插拔方法的流程示意图;
图6是本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。本发明的实施方式部分使用的术语仅用于对本发明的具体实施例进行解释,而非旨在限定本发明。
参见图1,图1是本申请提供的一种外围器件互联扩展设备热插拔系统的结构示意图。如图1所示,本申请提供的外围器件互联扩展设备热插拔系统包括:中央处理器(central processing unit,CPU)11和数据处理器(Data Processing Unit,DPU)12。
CPU 11是运算核心和控制核心,能够对复杂的情况进行处理。CPU 11可以是一块超大规模的集成电路。在CPU 11中安装有主操作系统和其他软件程序,从而CPU 11能够实现对内存及各种PCIE设备的访问。CPU 11可以通过片内总线快速访问本地内存。CPU 11中可以包括一个或多个处理器核(core)。在一种实现中,CPU 11可以是一个多核芯片,即包含多个处理核心的芯片。在另一种实现中,CPU 11中可以包括一个或多个处理器核(core)。可以为具有一个处理核心的芯片。
参见图2,图2是本申请提供的一种中央处理器的结构示意图。如图2所示,CPU 可以包括存储器地址寄存器101、存储器数据寄存器102、程序计数器103、指令寄存器104、指令译码器105、微码只读存储器106、操作控制器107、计算单元108、通用寄存器组109、累加器110、程序状态字寄存器111、时序电路112以及处理器总线120。其中,处理器总线120也可以是数据总线、电源总线、控制总线或者状态信号总线等。
CPU 用于处理内存113中存放的指令和数据。在一些实施例中,指令可以包括一个或多个指令格式。指令格式可以指示各种字段(位的数量、位的位置等)来指定待执行的数据处理的操作和操作数,其中该操作将在该操作数上被执行。一些指令格式可以进一步由指令模板(或子格式)定义。
在CPU 中,存储器地址寄存器101用于保存CPU当前所要访问的内存的地址。存储器数据寄存器102用于保存CPU 从该地址中读取或写入的数据和读取或写入的指令,以便弥补中央处理器和存储器之间存在的操作速度上的差异。
时序电路112通过固定时钟为各部件提供一个时间基准,中央处理器执行一条指令的时间为一个指令周期。程序计数器103用于存放下一条指令的地址,当指令顺序执行时,每取一条指令后程序计数器103自动加上一条指令的字节数。当遇到转移指令时,程序计数器103通过转移指令中的地址码字段来指定下一条指令的地址。指令寄存器104用于保存当前正在执行的指令。指令包括操作码和地址码两个字段,操作码部分由指令译码器105对操作码部分进行译码,以产生指令所要求操作的控制电位。操作控制器107可以根据指令译码器输出的控制电位信号和时序电路112产生的时序信号,生成各种操作控制信号,控制CPU 其余部件完成取指令和执行指令的操作。
微指令是中央处理器执行指令的最小单位,一条指令可以是单个微指令,也可以由若干个微指令组成。由多条微指令组合的指令称为复杂指令,可以使用各种不同的机制来实现指令译码器105对复杂指令的解码。具体的解码机制包括但不限于查找表,硬件实现,可编程逻辑阵列(PLA),微码只读存储器(ROM)等方式。在一个实施例中,可以将复杂指令对应的微指令的步骤存储在微码只读存储器106中,指令译码器105在译码的过程中,可以从微码只读存储器106中查询并得到组成复杂指令的微指令的操作码和地址码,依次对微指令的操作码部分进行译码,产生微指令所要求操作的控制电位。
操作控制器107具有多个缓冲器,可以根据指令的种类,将解码后的指令送往各自的保留站中保存下来。并根据计算单元的硬件电路的状态和各指令能否提前执行的具体情况分析后,将能提前执行的指令调度给相应计算单元108执行。在这期间对指令流进行重新排序,以使指令流水线行进并被平滑调度。示例性地,对于整数计算的指令,操作控制器107可以使用整数保留站保存指令,并分配给整数计算单元执行计算;对于浮点数计算的指令,操作控制器107可以使用浮点数保留站保存指令,并分配给浮点数计算单元执行计算。
通用寄存器组109用于根据指令的地址码,保存地址码对应的数据。计算单元108用于接收操作控制器107的操作控制信号并对保存在通用寄存器组109中的数据执行计算,包括算术运算(包括加减乘数等基本运算及其附加运算)和逻辑运算(包括移位、逻辑测试或两个值比较)。计算中产生的临时变量存放在累加器110中,产生的状态的信息存放在程序状态字寄存器111中,例如运算结果进/借位标志(C)、运算结果溢出标志(O)、运算结果为零标志(Z)、运算结果为负标志(N)、运算结果符号标志(S)等。程序状态字寄存器还用来保存中断和计算设备工作状态等信息,以便CPU及时了解机器运行状态和程序运行状态。
计算单元108中包含多种不同的电路模块,可以分别用于执行不同的指令。例如,整数计算单元1081以及浮点数计算单元1082,分别用于对整数和浮点数进行算术运算和逻辑运算。
可以理解,上述CPU仅仅为一具体的实施例,在实际应用中,还可以具有更多或者更少的部件,此处不展开描述。
DPU 12中包含多个处理核(core),多个处理核可以并行进行数据处理,因此,DPU12往往具有强大的计算能力。参见图3,DPU 包括:多个存储器121、多个处理核122和通讯接口123等等硬件资源。例如,处理核122可以包括第一处理核、第二处理核、…、第N处理核,存储器121包括第一存储器、第二存储器、…、第N存储器。在一种可能的实施例中,DPU 12中的处理核122的计算能力弱于CPU 11的计算能力,DPU 12中的存储器121的存储能力弱于CPU11中的存储器的存储能力。因此,CPU 11适合处理数量不多的复杂指令,而DPU 12适合处理批量的简单指令。存储器121可以是非易失性固态存储器。在一种可能的实施例中,存储器121包括只读存储器ROM(Read—Only Memory)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable ROM,PROM)、可擦除PROM(Electrical Programmable ROM,EPROM)、电可擦除PROM(Electrically Erasable Programmable ROM,EEPROM)、电可改写ROM(Electrically Alterable ROM,EAROM)或闪存,或者两个或及其以上这些的组合。DPU上可以安装从操作系统,从操作系统用于对DPU上的硬件资源进行管理。在一种可能的实施例中,DPU 12中的从操作系统的功能弱于CPU 11中的主操作系统。DPU 12可以用于对至少一个外围器件互联扩展设备以及至少一个PCIE设备的拓扑关系进行模拟。DPU的硬件资源用于提供PCIE设备以及PCIE设备的拓扑关系的硬件逻辑。DPU 12中可以安装有模拟器,模拟器用于提供PCIE设备以及PCIE设备的拓扑关系的软件逻辑。DPU 12通过软件逻辑与硬件逻辑之间协商交互以实现对PCIE设备的模拟。
DPU中模拟的PCIE设备可以包括PCIE端设备以及PCIE桥设备。PCIE端设备可以提供各种功能,例如,PCIE端设备可以是网卡,提供网络数据传输的功能,可以是声卡,提供对音源的处理。PCIE桥设备用于连接多个PCIE端设备,组成不同的拓扑关系。具体地,PCIE桥设备包括多个端设备槽位,每个端设备槽位用于挂载一个外围器件互联扩展端设备。每个端设备槽位的电源指示灯状态包括第一状态、第二状态以及第三状态。其中,第一状态用于指示电源指示灯为关闭状态,第二状态用于指示电源指示灯为闪烁状态,第三状态用于指示电源指示灯为开启状态。PCIE设备的拓扑关系可以包括星型关系、树形关系,环形关系、总线关系等等中的一种或多种。以图1所述PCIE设备的拓扑关系为例,PCIE桥设备作为树的根节点,第一PCIE端设备以及第二PCIE端设备分别连接到根节点PCIE桥设备之上。PCIE端设备和PCIE桥设备之间通过无意外(no surprises)方式实现热插拔,即,用户不允许在未告知中央处理器的情况下插入或者移除PCIE端设备;用户告知中央处理器将要插入或者移除PCIE端设备之后,将进行相关操作,之后告知用户是否可以安全地进行这个操作(通过相应的指示器);然后用户才可以进行接下来的操作。
下面将分别对PCIE端设备选择PCIE桥设备进行挂载以及从PCIE桥设备卸载PCIE端设备的过程进行详细的介绍。
结合图4的上半部分,对PCIE端设备选择PCIE桥设备进行挂载的过程为:
(1)在DPU中创建一个PCIE端设备,并选择一个PCIE桥设备进行挂载。
(2)DPU将PCIE桥设备的热插拔标记置位,并且,触发第一定时器。
(3)DPU为PCIE端设备向中央处理器发送热插入中断。
(4)中央处理器接收到热插入中断之后,向数据处理器发送第一个事务层协议(Transaction Layer Protocol,TLP)报文。
(5)数据处理器基于第一个事务层协议报文将电源指示灯状态从第一状态转为第二状态。
(6)在电源指示灯状态从第一状态转为第二状态之后,中央处理器则继续调用相应的驱动程序加载PCIE端设备。
(7)在中央处理器调用相应的驱动程序加载PCIE端设备之后,向DPU发送第二个事务层协议报文。
(8)数据处理器基于第二个事务层协议报文将电源指示灯状态从第二状态转为第三状态,并将热插拔标记复位,并关闭第一定时器。
(9)如果第一定时器超时,但是,热插拔标记还没复位,则将热插拔标记复位。这里,当热插拔标记置位为“1”时,热插拔标记复位为“0”;当热插拔标记置位为“0”时,热插拔标记复位为“1”。
结合图4的下半部分,PCIE端设备从PCIE桥设备进行卸载的过程为:
(1)在DPU中删除一个PCIE端设备。
(2)DPU将PCIE桥设备的热插拔标记置位,并且,触发第二定时器。
(3)DPU为PCIE端设备向中央处理器发送热拔出中断。
(4)中央处理器接收到热拔出中断之后,向数据处理器发送第三个事务层协议报文。
(5)数据处理器基于第三个事务层协议报文将电源指示灯状态从第三状态转为第二状态。
(6)在电源指示灯状态从第三状态转为第二状态之后,中央处理器调用驱动程序卸载PCIE端设备。
(7)在调用PCIE端设备的驱动程序卸载完PCIE端设备之后,向数据处理器发送第四个事务层协议报文。
(8)数据处理器接收到第四个事务层协议报文之后,将电源指示灯状态从第二状态转为第一状态,将热插拔标记复位,并关闭定时器。
(9)最后,如果第二定时器超时,但是,热插拔标记还没复位,则将热插拔标记复位。这里,当热插拔标记置位为“1”时,热插拔标记复位为“0”;当热插拔标记置位为“0”时,热插拔标记复位为“1”。
在PCIE端设备选择PCIE桥设备进行挂载的过程中,步骤(2)至步骤(8),热插拔标记都是置位状态。在PCIE端设备从PCIE桥设备进行卸载的过程,步骤(2)至步骤(8),热插拔标记都是置位状态。为了避免在同时收到多个PCIE设备的热插拔中断,只要有一个PCIE端设备的热插拔标记被置位时,就禁止为其他PCIE端设备向中央处理器发送热插拔中断(包括热插入中断以及热拔出中断)。也就是说,只有在所有的PCIE端设备的热插拔标记被复位时,才允许其他PCIE端设备向中央处理器发送热插拔中断(包括热插入中断以及热拔出中断)。
参见图5,图5是本申请提供的一种外围器件互联扩展设备热插拔方法的流程示意图。如图5所示,本申请的外围器件互联扩展设备热插拔方法,包括:
S101:通过数据处理器提供PCIE设备以及PCIE设备的拓扑关系的硬件逻辑。
数据处理器可以是DPU、网络处理器(Network Processing Unit,NPU)、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application-SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)等等。
数据处理器还设置有模拟器。模拟器用于提供外围器件互联扩展设备以及外围器件互联扩展设备的拓扑关系的软件逻辑,并与硬件逻辑之间协商交互以实现对外围器件互联扩展设备的模拟。
PCIE设备包括PCIE桥设备、第一PCIE端设备以及第二PCIE端设备。PCIE端设备可以提供各种功能,例如,PCIE端设备可以是网卡,提供网络数据传输的功能,可以是声卡,提供对音源的处理。PCIE桥设备用于连接多个PCIE端设备,组成不同的拓扑关系。具体地,PCIE桥设备包括多个端设备槽位,每个端设备槽位用于挂载一个外围器件互联扩展端设备。每个端设备槽位的电源指示灯状态包括第一状态、第二状态以及第三状态。其中,第一状态用于指示电源指示灯为关闭状态,第二状态用于指示电源指示灯为闪烁状态,第三状态用于指示电源指示灯为开启状态。PCIE设备的拓扑关系可以包括星型关系、树形关系,环形关系、总线关系等等中的一种或多种。以图1所述PCIE设备的拓扑关系为例,PCIE桥设备作为树的根节点,第一PCIE端设备以及第二PCIE端设备分别连接到根节点PCIE桥设备之上。PCIE端设备和PCIE桥设备之间通过无意外(no surprises)方式实现热插拔,即,用户不允许在未告知中央处理器的情况下插入或者移除PCIE端设备;用户告知中央处理器将要插入或者移除PCIE端设备之后,将进行相关操作,之后告知用户是否可以安全地进行这个操作(通过相应的指示器);然后用户才可以进行接下来的操作。
S102:通过中央处理器提供通过驱动程序驱动PCIE设备。
S103:通过数据处理器在为第一PCIE端设备向中央处理器发送第一热插拔中断之前,将热插拔标记进行置位。
中央处理器在接收到第一热插拔中断之后,向数据处理器发送第一TLP报文,数据处理器基于第一TLP报文将电源指示灯状态从其他状态转为第二状态。更具体地,在第一热插拔中断为热插入中断的情况下,基于第一TLP报文将所述电源指示灯状态从第一状态转为第二状态,在第一热插拔中断为热拔出中断的情况下,基于第一TLP报文将电源指示灯状态从第三状态转为第二状态。
S104:通过数据处理器在电源指示灯状态从第二状态转为其他状态之后,将热插拔标记进行复位。
中央处理器加载或者卸载所述第一PCIE端设备之后,向数据处理器发送第二TLP报文。数据处理器基于第二TLP报文将电源指示灯状态从第二状态转为其他状态。具体地,在第一热插拔中断为热插入中断的情况下,基于第二TLP报文将电源指示灯状态从第二状态转为第三状态。在第一热插拔中断为热拔出中断的情况下,基于第二TLP报文将电源指示灯状态从第二状态转为第一状态。
S105:通过数据处理器在热插拔标记置位之后,复位之前,禁止为第二PCIE端设备向中央处理器发送第二热插拔中断。
参见图6,图6是本申请实施例提供的一种计算设备的结构示意图,该计算设备400包括:一个或者多个第一处理器410、通信接口420以及存储器430。所述第一处理器410、通信接口420以及存储器430通过总线440相互连接。可选地,该计算设备400还可以包括输入/输出接口450,输入/输出接口450连接有输入/输出设备,用于接收用户设置的参数等。该计算设备400能够用于实现上述的本申请实施例中设备实施例或者系统实施例的部分或者全部功能;第一处理器410还能够用于实现上述的本申请实施例中方法实施例的部分或者全部操作步骤。例如,该计算设备400执行各种操作的具体实现可参照上述实施例中的具体细节,如第一处理器410用于执行上述方法实施例中部分或者全部步骤或者上述方法实施例中的部分或者全部操作。再例如,本申请实施例中,计算设备400可用于实现上述装置实施例中一个或者多个部件的部分或者全部功能,此外通信接口420具体可用于为了实现这些装置、部件的功能所必须的通讯功能等,以及第一处理器410具体可用于为了实现这些装置、部件的功能所必须的处理功能等。
应当理解的是,图6的计算设备400可以包括一个或者多个第一处理器410,并且多个第一处理器410可以按照并行化连接方式、串行化连接方式、串并行连接方式或者任意连接方式来协同提供处理能力,或者多个第一处理器410可以构成处理器序列或者处理器阵列,或者多个第一处理器410之间可以分成主处理器和辅助处理器,或者多个第一处理器410之间可以具有不同的架构如采用异构计算架构。另外,图6所示的计算设备400,相关的结构性描述及功能性描述是示例性且非限制性的。在一些示例性实施例中,计算设备400可以包括比图6所示的更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。
第一处理器410可以有多种具体实现形式,例如第一处理器410可以包括中央处理器(central processingunit,CPU)、图形处理器(graphic processing unit,GPU)、神经网络处理器(neural-networkprocessing unit,NPU)、张量处理器(tensor processingunit,TPU)或数据处理器(data processing unit,DPU)等一种或多种的组合,本申请实施例不做具体限定。第一处理器410还可以是单核处理器或多核处理器。第一处理器410可以由CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specificintegrated circuit,ASIC),可编程逻辑器件(programmable logicdevice,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。第一处理器410也可以单独采用内置处理逻辑的逻辑器件来实现,例如FPGA或数字信号处理器(digital signal processor,DSP)等。
通信接口420可以为有线接口或无线接口,用于与其他模块或设备进行通信,有线接口可以是以太接口、局域互联网络(local interconnect network,LIN)等,无线接口可以是蜂窝网络接口或使用无线局域网接口等。
存储器430可以是非易失性存储器,例如,只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electricallyEPROM,EEPROM)或闪存。存储器430也可以是易失性存储器,易失性存储器可以是随机存取存储器(randomaccess memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(doubledatarate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。存储器430也可用于存储程序代码和数据,以便于第一处理器410调用存储器430中存储的程序代码执行上述方法实施例中的部分或者全部操作步骤,或者执行上述设备实施例中的相应功能。此外,计算设备400可能包含相比于图6展示的更多或者更少的组件,或者有不同的组件配置方式。
总线440可以是快捷外设部件互连标准(peripheral component interconnectexpress,PCIe)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherentinterconnect for accelerators,CCIX)等。总线440可以分为地址总线、数据总线、控制总线等。总线440除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例还提供一种计算集群,该集群包括多个计算设备,每个计算设备的结构可以参照上述的计算设备的结构。该系统可实现的功能或者操作可以参照上述方法实施例中的具体实现步骤和/或上述装置实施例中所描述的具体功能,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机设备(如一个或者多个中央处理器)上运行时可以实现上述方法实施例中的方法步骤。所述计算机可读存储介质的中央处理器在执行上述方法步骤的具体实现可参照上述方法实施例中所描述的具体操作和/或上述装置实施例中所描述的具体功能,在此不再赘述。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行上述方法实施例中的方法步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者任意组合来实现。当使用软件实现时,可以全部或者部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网络站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、微波等)方式向另一个网络站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,也可以是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如DVD等)、或者半导体介质(例如固态硬盘)等等。
在上述实施例中,对各个实施例的描述各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
Claims (10)
1.一种外围器件互联扩展设备热插拔系统,其特征在于,包括:
数据处理器,用于提供外围器件互联扩展设备以及所述外围器件互联扩展设备的拓扑关系的硬件逻辑,所述数据处理器还设置有模拟器,所述模拟器用于提供外围器件互联扩展设备以及所述外围器件互联扩展设备的拓扑关系的软件逻辑,并与所述硬件逻辑之间协商交互以实现对所述外围器件互联扩展设备的模拟,所述外围器件互联扩展设备包括外围器件互联扩展桥设备、第一外围器件互联扩展端设备以及第二外围器件互联扩展端设备,所述外围器件互联扩展桥设备包括第一端设备槽位,所述第一端设备槽位用于挂载所述第一外围器件互联扩展端设备,所述第一端设备槽位的电源指示灯状态包括第一状态、第二状态以及第三状态,所述第一状态用于指示电源指示灯为关闭状态,所述第二状态用于指示电源指示灯为闪烁状态,所述第三状态用于指示电源指示灯为开启状态;
处理器,用于通过驱动程序驱动所述外围器件互联扩展设备;
所述数据处理器,还用于在为所述第一外围器件互联扩展端设备向所述处理器发送第一热插拔中断之前,将热插拔标记进行置位,在所述电源指示灯状态从所述第二状态转为其他状态之后,将所述热插拔标记进行复位;
所述数据处理器,还用于在所述热插拔标记置位之后,复位之前,禁止为所述第二外围器件互联扩展端设备向所述处理器发送第二热插拔中断。
2.根据权利要求1所述的系统,其特征在于,
所述处理器,还用于在接收到所述第一热插拔中断之后,向所述数据处理器发送第一事务层协议报文;
所述数据处理器,还用于基于第一事务层协议报文将所述电源指示灯状态从其他状态转为所述第二状态。
3.根据权利要求2所述的系统,其特征在于,
在所述第一热插拔中断为热插入中断的情况下,基于第一事务层协议报文将所述电源指示灯状态从所述第一状态转为所述第二状态;
在所述第一热插拔中断为热拔出中断的情况下,基于第一事务层协议报文将所述电源指示灯状态从所述第三状态转为所述第二状态。
4.根据权利要求2或3所述的系统,其特征在于,
所述处理器,还用于在所述电源指示灯状态从其他状态转为所述第二状态之后,通过第一外围器件互联扩展端设备的驱动程序加载或者卸载所述第一外围器件互联扩展端设备。
5.根据权利要求4所述的系统,其特征在于,
所述处理器,还用于加载或者卸载所述第一外围器件互联扩展端设备之后,向所述数据处理器发送第二事务层协议报文;
所述数据处理器,还用于基于第二事务层协议报文将所述电源指示灯状态从所述第二状态转为其他状态。
6.根据权利要求5所述的系统,其特征在于,
在所述处理器加载所述第一外围器件互联扩展端设备的驱动程序的情况下,所述电源指示灯状态从所述第二状态转为所述第三状态;
在所述处理器卸载所述第一外围器件互联扩展端设备的驱动程序的情况下,所述电源指示灯状态从所述第二状态转为所述第一状态。
7.根据权利要求1-3任一项所述系统,其特征在于,
所述数据处理器还用于在所有外围器件互联扩展端设备的热插拔标记都是复位状态的情况下,允许为所述第二外围器件互联扩展端设备向所述处理器发送第二热插拔中断。
8.一种外围器件互联扩展设备热插拔方法,其特征在于,
通过数据处理器提供至外围器件互联扩展设备以及所述外围器件互联扩展设备的拓扑关系的硬件逻辑,所述数据处理器还设置有模拟器,所述模拟器用于提供外围器件互联扩展设备以及所述外围器件互联扩展设备的拓扑关系的软件逻辑,并与所述硬件逻辑之间协商交互以实现对所述外围器件互联扩展设备的模拟,所述外围器件互联扩展设备包括外围器件互联扩展桥设备、第一外围器件互联扩展端设备以及第二外围器件互联扩展端设备,所述外围器件互联扩展桥设备包括第一端设备槽位,所述第一端设备槽位用于挂载所述第一外围器件互联扩展端设备,所述第一端设备槽位的电源指示灯状态包括第一状态、第二状态以及第三状态,所述第一状态用于指示电源指示灯为关闭状态,所述第二状态用于指示电源指示灯为闪烁状态,所述第三状态用于指示电源指示灯为开启状态;
通过处理器提供通过驱动程序驱动所述外围器件互联扩展设备;
通过所述数据处理器在为所述第一外围器件互联扩展端设备向所述处理器发送第一热插拔中断之前,将热插拔标记进行置位,在所述电源指示灯状态从所述第二状态转为其他状态之后,将所述热插拔标记进行复位;
通过所述数据处理器在所述热插拔标记置位之后,复位之前,禁止为所述第二外围器件互联扩展端设备向所述处理器发送第二热插拔中断。
9.一种计算设备,其特征在于,包括如权利要求1至7任一项所述的外围器件互联扩展设备热插拔系统。
10.一种计算集群,其特征在于,包括多个计算设备,其中,至少一个计算设备包括如权利要求1至7任一项所述的外围器件互联扩展设备热插拔系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410431750.8A CN118035150A (zh) | 2024-04-11 | 2024-04-11 | 外围器件互联扩展设备热插拔系统、方法、设备以及集群 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410431750.8A CN118035150A (zh) | 2024-04-11 | 2024-04-11 | 外围器件互联扩展设备热插拔系统、方法、设备以及集群 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118035150A true CN118035150A (zh) | 2024-05-14 |
Family
ID=90989754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410431750.8A Pending CN118035150A (zh) | 2024-04-11 | 2024-04-11 | 外围器件互联扩展设备热插拔系统、方法、设备以及集群 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118035150A (zh) |
-
2024
- 2024-04-11 CN CN202410431750.8A patent/CN118035150A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10157060B2 (en) | Method, device and system for control signaling in a data path module of a data stream processing engine | |
KR101996842B1 (ko) | 사용자 정의 명령어 셋을 지원하는 하드웨어 고속 연산 결합형 risc-v 기반 연산 장치 및 그 방법 | |
US9405552B2 (en) | Method, device and system for controlling execution of an instruction sequence in a data stream accelerator | |
CN107548488B (zh) | 具有dsp引擎及增强上下文切换能力的中央处理单元 | |
JP6998991B2 (ja) | 情報処理用方法及び装置 | |
US7054802B2 (en) | Hardware-assisted design verification system using a packet-based protocol logic synthesized for efficient data loading and unloading | |
CN113849433B (zh) | 一种总线控制器的执行方法、装置、总线控制器、计算机设备和存储介质 | |
CN113656227A (zh) | 一种芯片验证方法、装置、电子设备及存储介质 | |
US11698825B2 (en) | Application programming interface compatibility | |
CN111666210A (zh) | 一种芯片验证方法及装置 | |
CN116909639B (zh) | 一种挂载系统、方法、集群以及存储介质 | |
CN115017845A (zh) | 用于ip单元级别验证的总线驱动式芯片仿真激励模型 | |
CN114691224A (zh) | 设备加载系统、方法及电子设备 | |
RU2598594C2 (ru) | Нечувствительный к задержке буфер транзакции для связи с квитированием | |
CN118035150A (zh) | 外围器件互联扩展设备热插拔系统、方法、设备以及集群 | |
US11507378B1 (en) | Hardware engine with configurable instructions | |
CN117480498A (zh) | 在运行时间为裸金属服务器动态提供PCIe器件 | |
US11392406B1 (en) | Alternative interrupt reporting channels for microcontroller access devices | |
CN116795605B (zh) | 一种外围器件互联扩展设备异常自动恢复系统以及方法 | |
CN112232004B (zh) | 片上系统芯片设计方案的测试方法及片上系统 | |
US20240111694A1 (en) | Node identification allocation in a multi-tile system with multiple derivatives | |
US11829733B2 (en) | Synthesis flow for data processing engine array applications relying on hardware library packages | |
CN117724874B (zh) | 用于管理共享接收队列的方法、计算机设备及介质 | |
CN114579189B (zh) | 单核以及多核访问寄存器数据的方法、处理器和系统 | |
US20230333921A1 (en) | Input/output (i/o) virtualization acceleration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |