CN115905072A - 计算机系统、基于PCIe设备的控制方法及相关设备 - Google Patents

计算机系统、基于PCIe设备的控制方法及相关设备 Download PDF

Info

Publication number
CN115905072A
CN115905072A CN202110924620.4A CN202110924620A CN115905072A CN 115905072 A CN115905072 A CN 115905072A CN 202110924620 A CN202110924620 A CN 202110924620A CN 115905072 A CN115905072 A CN 115905072A
Authority
CN
China
Prior art keywords
logic chip
pcie device
pcie
signal
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
Application number
CN202110924620.4A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110924620.4A priority Critical patent/CN115905072A/zh
Priority to PCT/CN2022/110656 priority patent/WO2023016379A1/zh
Publication of CN115905072A publication Critical patent/CN115905072A/zh
Pending legal-status Critical Current

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/40Bus structure
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Bus Control (AREA)

Abstract

本申请实施例提供一种计算机系统、基于PCIe设备的控制方法及相关设备,该计算机系统可以包括处理器、主逻辑芯片、第一从逻辑芯片和第一PCIe设备,其中,处理器与主逻辑芯片通过集成电路间I2C总线连接,主逻辑芯片与第一从逻辑芯片连接,第一从逻辑芯片和第一PCIe设备连接,第一从逻辑芯片通过主逻辑芯片与处理器通信。采用本申请实施例,能够在控制PCIe设备时,减少逻辑芯片上的逻辑资源消耗。

Description

计算机系统、基于PCIe设备的控制方法及相关设备
技术领域
本申请涉及电子技术领域,尤其涉及一种计算机系统、基于PCIe设备的控制方法及相关设备。
背景技术
当前计算行业向多算力计算系统演进,对不同的输入/输出(Input/Output,IO)通信以及算力的要求越来越多元化。为了实现上述诉求,一般可以通过快捷外围部件互连总线标准(peripheral component interconnect express,PCIe)总线作为桥梁来完成所算力计算系统的集成工作。在硬件池化的思路下,基于PCIe协议的各种PCIe设备,比如说图像处理器(graphics processing unit,GPU),非易失性存储器(non-volatile memoryexpress,NVMe)、固态硬盘(solid state drives,SSD)、网卡等多种设备也可以被集成在一个硬件框架系统下工作。
随着PCIe池化技术的发展,对PCIe设备的管理提出了更高的要求,比如说资源利用最大化、PCIe设备可拓展性等。在这种背景下,PCIe设备对其他功能(比如说热插拔)的需求也越来越多。目前,通常使用分立管理和独立控制的方式对PCIe设备进行控制。以NVMe硬盘和网卡这两种类型的PCIe设备为例,请参见图1所示的分立控制方法的系统示意图,处理器可以通过集成电路间总线(Inter-Integrated Circuit,I2C)连接到主板逻辑芯片和副板逻辑芯片上。其中,NVMe硬盘连接在副板逻辑芯片上,网卡连接在主板逻辑芯片上。然后,由主板逻辑芯片与处理器进行通信来完成对网卡的控制,由副板逻辑芯片与处理器进行通信来完成对NVMe硬盘的控制。
但是,与处理器直接连接的逻辑芯片会消耗逻辑芯片大量的资源,因此,对网卡和NVMe硬盘进行控制过程中,会消耗主板逻辑芯片和副板逻辑芯片大量的资源。而随着越来越多PCIe设备对其他功能需求的增多,逻辑芯片的资源有限,现有的分立管理的方法可能不适合对PCIe设备的其他功能的持续开发。
发明内容
本申请实施例提供一种计算机系统、基于PCIe设备的控制方法及相关设备,能够在控制PCIe设备时,减少逻辑芯片上的逻辑资源消耗。
第一方面,本申请实施例提供了一种计算机系统,该计算机系统可以包括处理器、主逻辑芯片、第一从逻辑芯片和第一PCIe设备,其中,处理器与主逻辑芯片通过集成电路间I2C总线连接,主逻辑芯片与第一从逻辑芯片连接,第一从逻辑芯片和第一PCIe设备连接,第一从逻辑芯片通过上述主逻辑芯片可以与处理器通信。由于与处理器直接连接的逻辑芯片会消耗逻辑芯片大量的资源,因此在本申请实施例中,第一从逻辑芯片不与处理器直接连接,而是通过主逻辑芯片与处理器进行通信,这样可以减少第一从逻辑芯片上的逻辑资源的消耗。
可选地,主逻辑芯片与第一从逻辑芯片通过串行通用输入输出总线SGPIO连接。在逻辑芯片中,I2C总线会消耗大量的逻辑资源,而SGPIO总线不会消耗大量的逻辑资源。因此,可以减少逻辑资源的消耗。
一种可能的实施方式中,处理器,用于向主逻辑芯片发送针对第一PCIe设备的第一控制信号;主逻辑芯片,用于接收第一控制信号,并向第一从逻辑芯片发送第一控制信号;第一从逻辑芯片,用于根据第一控制信号对第一PCIe设备进行控制。比如说对第一PCIe设备进行热插拔控制。
由于与处理器直接连接的逻辑芯片会消耗逻辑芯片大量的资源,在本申请中通过一个主逻辑芯片与处理器直接连接,从逻辑芯片不与处理器直接连接,而是与主逻辑芯片连接。这样,在第一从逻辑芯片对第一PCIe设备进行控制时,只需要消耗主逻辑芯片上的大量的资源,不用消耗从逻辑芯片上的大量资源。举例来说,通过本申请对第一PCIe设备的热插拔进行控制时,第一从逻辑芯片接收来自主逻辑芯片的针对第一PCIe设备的控制信号,而不用从处理器处获得,因此可以减少从逻辑芯片上的逻辑资源的消耗。
一种可能的实施方式中,计算机系统还可以包括基板控制器BMC芯片,BMC芯片和第一从逻辑芯片连接;第一从逻辑芯片,还用于接收来自基板控制器BMC芯片的针对第一PCIe设备的第一触发信号,第一触发信号用于指示对第一PCIe设备执行热插拔;第一从逻辑芯片,还用于获取第一PCIe设备的在位信号;第一从逻辑芯片,还用于向主逻辑芯片发送第一PCIe设备的第一触发信号和第一PCIe设备的在位信号。
一种可能的实施方式中,主逻辑芯片中存储有第一PCIe设备的设备标识,主逻辑芯片,还用于接收第一触发信号和第一PCIe设备的在位信号,并向处理器发送第一PCIe设备的设备标识、第一PCIe设备的第一触发信号和第一PCIe设备的在位信号;处理器,具体用于基于所述第一PCIe设备的设备标识、第一触发信号以及第一PCIe设备的在位信号向主逻辑芯片发送第一控制信号,第二控制信号用于指示对第一PCIe设备执行热插拔。
可以看出,第一PCIe设备的在位信号、第一PCIe设备的第一触发信号不是由从逻辑芯片直接向处理器发送的,而是由主逻辑芯片向处理器发送的。这样,从逻辑芯片没有与处理器进行直接通信,在对第一PCIe执行热插时,可以减少从逻辑芯片上的逻辑资源的消耗。
一种可能的实施方式中,计算机系统还包括第二PCIe设备,第二PCIe设备与主逻辑芯片连接。第一从逻辑芯片,还用于接收来自BMC芯片的针对第二PCIe设备的第二触发信号,第二触发信息用于指示对第二PCIe设备执行热插拔;第一从逻辑芯片,用于向主逻辑芯片发送第二PCIe设备的第二触发信号。
一种可能的实施方式中,主逻辑芯片中存储有第二PCIe设备的设备标识,主逻辑芯片,还用于获取第二PCIe设备的在位信号;主逻辑芯片,还用于向处理器发送第二PCIe设备的设备标识、第二PCIe设备的在位信号和第二PCIe设备的第二触发信号;处理器,还用于基于基于所述第二PCIe设备的设备标识、所述第二PCIe设备的在位信号和所述第二PCIe设备的第二触发信号向主逻辑芯片发送第二控制信号;主逻辑芯片,还用于根据第二控制信号对第二PCIe设备进行控制,比如说对第二PCIe设备执行热插拔。
可以看出,主逻辑芯片也可以对连接在主逻辑芯片上的第二PCIe设备进行控制。这样,不论PCIe设备是与主逻辑芯片连接还是与从逻辑芯片,都可以对PCIe设备进行控制。
一种可能的实施方式中,上述计算机系统还可以包括第二从逻辑芯片和第三PCIe设备,第二从逻辑芯片和主逻辑芯片连接,第三PCIe设备和第二从逻辑芯片连接。由于与处理器直接连接的逻辑芯片会消耗逻辑芯片大量的资源,因此在本申请实施例中,第二从逻辑芯片不与处理器直接连接,而是通过主逻辑芯片与处理器进行通信,这样可以减少第二从逻辑芯片上的逻辑资源的消耗。
一种可能的实施方式中,主逻辑芯片为复杂可编程逻辑器件CPLD芯片或现场可编程门阵列FPGA芯片。
第二方面,本申请提供一种基于PCIe设备的控制方法,该方法应用于计算机系统,计算机系统包括处理器、主逻辑芯片、第一从逻辑芯片和第一PCIe设备,方法包括:
主逻辑芯片接收来自处理器的针对第一PCIe设备的第一控制信息,其中,处理器与主逻辑芯片通过集成电路间I2C总线连接;主逻辑芯片向第一从逻辑芯片发送第一控制器信号,第一控制信号用于指示第一从逻辑芯片对第一PCIe设备进行控制,其中,主逻辑芯片与第一从逻辑芯片连接,第一从逻辑芯片和第一PCIe设备连接。
一种可能的实施方式中,主逻辑芯片与第一从逻辑芯片通过串行通用输入输出总线SGPIO连接。
一种可能的实施方式中,主逻辑芯片中存储有第一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是本申请实施例提供的一种分立控制方法的系统示意图;
图2是本申请实施例提供的另一种分立控制系统的传输示意图;
图3是本申请实施例提供的一种计算机系统的示意图;
图4是本申请实施例提供的另一种计算机系统的示意图;
图5是本申请实施例提供的再一种计算机系统的示意图;
图6是本申请实施例提供的一种PCIe设备的热插拔控制方法的流程示意图;
图7是本申请实施例提供的另一种PCIe设备的热插拔控制方法的流程示意图;
图8是本申请实施例提供的再一种PCIe设备的热插拔控制方法的流程示意图。
具体实施方式
下面结合附图对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
本申请的说明书以及附图中的术语“第一”和“第二”等是用于区分不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。此外,本申请的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一些列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。需要说明的是,本申请实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方法不应被解释为比其他实施例或设计方案更优地或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。在本申请实施例中,“A和/或B”表示A和B,A或B两个含义。“A,和/或B,和/或C”表示A、B、C中的任一个,或者,表示A、B、C中的任两个,或者,表示A和B和C。下面将结合附图,对本申请中的技术方案进行描述。
首先,对本申请中所涉及的部分用语和相关技术进行解释说明,以便于本领域技术人员理解。
(1)高速串行计算机扩展总线标准
高速串行计算机扩展总线标准(peripheral component interconnect express,PCIe),主要用于中央处理器(central processing unit,CPU)与外围器件的数据交互。其中,外围器件可以是基于PCIe总线接口的多类别PCIe设备,比如说多类别PCIe设备可以包括非易失忆内存主机控制器接口规范(Non-Volatile Memory express,NVMe)硬盘、网卡、显卡、采集卡、标卡、GPU,等具有不同功能的设备。
(2)热插拔
热插拔即主机带电拔插,允许用户在不关闭系统,在不切断主机电源的情况下能够取出或更换主机下挂的PCIe设备,而不影响主机服务器系统的运行,从而提高系统对故障的及时恢复能力、扩展性和灵活性等。
请参见图2,图2是本申请实施例提供的另一种分立控制系统的传输示意图。需要说明的是,图2是以单处理器为例对N个PCIe设备进行控制,也可以通过多处理器对N个PCIe设备进行控制,比如说热插拔控制,本申请实施例对此不作任何限制。其中,N为大于等于2的正整数。需要说明的是,N个PCIe设备可以是包含多种功能类型的设备,比如说具有存储功能的NVMe硬盘,具有通信功能的网卡、具有显示功能的显卡、具有视频采集功能的采集卡等等。
从图2可以看出,N个逻辑芯片可以通过I2C链路分别连接到处理器上。也即,每个逻辑芯片与处理器之间可以通过I2C链路进行通信。每个逻辑芯片与每个PCIe设备进行连接,当需要对N个PCIe设备中的任意一个PCIe设备进行控制时,该PCIe设备所连接的逻辑芯片需要通过I2C接口与处理器进行数据交互,来对该PCIe设备进行控制,比如说热插拔控制。
综上所述,N个PCIe设备需要N个逻辑芯片,而处理器需要将I2C链路分别连接到N个逻辑芯片上,每个逻辑芯片再单独通过对应的I2C接口与处理器进行数据交互来控制PCIe设备的热插拔功能。而与处理器直接连接的逻辑芯片会消耗逻辑芯片大量的资源,所以可能会增加逻辑资源的消耗,不利于对PCIe设备的其他功能的持续开发。
本申请实施例为解决上述技术问题,提供了一种计算机系统、基于PCIe设备的控制方法及相关装置,可以通过一个主逻辑芯片与处理器进行数据交互,其他从逻辑芯片从主逻辑芯片获取处理后的数据来完成与上述从逻辑芯片连接的PCIe设备的控制。
请参见图3,图3是本申请实施例提供的一种计算机系统300的示意图。从图3可以看出,计算机系统300包括但不限于处理器301、主逻辑芯片302、第一从逻辑芯片303和第一PCIe设备304。其中,处理器301可以与主逻辑芯片302连接,主逻辑芯片302可以与第一从逻辑芯片303连接,第一从逻辑芯片303可以和第一PCIe设备304连接。进一步地,第一从逻辑芯片303可以通过主逻辑芯片302与处理器301通信。
需要说明的是,主逻辑芯片302还可以与其他从逻辑芯片连接,其他从逻辑芯片可以和其他PCIe设备连接。
进一步地,处理器301与主逻辑芯片302之间可以通过I2C总线连接,主逻辑芯片302与第一从逻辑芯片303通过非I2C总线连接。可以理解的是,主逻辑芯片302与其他逻辑芯片也可以通过非I2C总线连接,其中,非I2C总线可以包括以下一种或多种:串行通用输入输出总线(Serial general-purpose input/output,SGPIO)总线、通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART)总线、LPC总线(Low pin countBus),等等。
其中,处理器301可以通过PCIe总线与至少一个PCIe设备连接,进而处理器301可以与至少一个PCIe设备中的第一PCIe设备304进行读写交互。本申请实施例对PCIe设备的数量和类型不不进行任何限制。举例来说,至少一个PCIe设备包括但不限于网卡、NVMe硬盘、显卡、采集卡和标卡。
请参见图4,图4是本申请实施例提供的另一种计算机系统400的示意图。从图4可以看出,计算机系统400可以包括主板401,副板402和至少一个PCIe设备。其中,主板401上安装有处理器301和至少一个从逻辑芯片,副板402上安装有主逻辑芯片302。主板401上的处理器301可以与副板402上的主逻辑芯片302连接,主逻辑芯片302可以与主板401上的至少一个从逻辑芯片中的第一从逻辑芯片303连接,第一从逻辑芯片303可以与至少一个PCIe设备中的第一PCIe设备304连接。
进一步地,处理器301与主逻辑芯片302之间可以通过I2C总线连接,主逻辑芯片302与第一从逻辑芯片303之间可以通过非I2C总线(比如说SGPIO总线)连接。可以理解的是,主逻辑芯片302与至少一个从逻辑芯片中的其他逻辑芯片也可以通过非I2C总线连接。其中,非I2C总线可以包括以下一种或多种:SGPIO总线,通用异步收发传输器(UniversalAsynchronous Receiver/Transmitter,UART)总线,LPC总线(Low pin count Bus),等等。其中,处理器301可以通过PCIe总线与至少一个PCIe设备连接,进而处理器301可以与至少一个PCIe设备中的第一PCIe设备304进行读写交互。本申请实施例对PCIe设备的数量和类型不进行任何限制。举例来说,至少一个PCIe设备包括但不限于网卡、NVMe硬盘、显卡、采集卡和标卡。
可以理解的是,主板又叫主机板(main board)、系统板(system board)或母板(mother board),是计算机最重要的部件之一。在主板上安装了组成计算机的主要电路系统,比如说基本输入输出系统(Basic Input Output System,BIOS)芯片等等。主板是主机、服务器等系统中的核心部件,上面布满各种槽位,支持通用串行总线(Universal SerialBus,usb)、PCIE、通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,uart)等协议接口,并把各种周边设备紧紧连接一起,完成资源调度、分配等任务。计算机主机中的各个部件都是通过主板来连接的,计算机在正常运行时对系统内存、存储设备和其他I/O设备的操控都需要通过主板来完成。
副板是支撑其他电路板、器件和器件之间的相互连接,并为所支撑的器件提供电源和数据信号的电路板和框架。其中,副板可以包括以下一种或多种:硬件背板,信号背板,转接板,扩展板,等等。
可以看出,副板相对于主板来说,需要完成的功能较少。也即,当主逻辑芯片放置在副板上时,主逻辑芯片可以更好地支撑主逻辑芯片与处理器301之间的数据交互,提高对PCIe设备的热插拔控制速度。
请参见图5,图5是本申请实施例提供的再一种计算机系统500的示意图。从图5可以看出,计算机系统500可以包括主板501,副板502和至少一个PCIe设备。其中,主板501上安装有处理器301和主逻辑芯片302,副板502上安装有至少一个从逻辑芯片。主板501上的处理器301可以与主板501上的主逻辑芯片302连接,主逻辑芯片302可以与副板502上的至少一个从逻辑芯片中的第一从逻辑芯片303连接,第一从逻辑芯片303可以与至少一个PCIe设备中的第一PCIe设备304连接。
进一步地,处理器301与主逻辑芯片302之间可以通过I2C总线连接,主逻辑芯片302与第一从逻辑芯片303之间可以通过非I2C总线(比如说SGPIO总线)连接。可以理解的是,主逻辑芯片302与至少一个从逻辑芯片中的其他逻辑芯片也可以通过非I2C总线连接。
其中,处理器301可以通过PCIe总线与至少一个PCIe设备连接,进而处理器301可以与至少一个PCIe设备中的第一PCIe设备304进行读写交互。本申请实施例对PCIe设备的数量和类型不不进行任何限制。举例来说,至少一个PCIe设备包括但不限于网卡、NVMe硬盘、显卡、采集卡和标卡。
图3、图4和图5中所示的处理器301可以向主逻辑芯片302发送针对第一PCIe设备的第一控制信号。
主逻辑芯片302可以接收来自处理器301的第一控制信号,并向第一从逻辑芯片302发送第一控制信号。
第一从逻辑芯片303接收来自主逻辑芯片302的第一控制信号后,根据第一控制信号对第一PCIe设备304进行控制,比如说对第一PCIe设备执行热插拔。进一步地,第一控制信号可以包含电源控制信号和指示信号,其中,电源控制信号用于对第一PCIe设备进行热插拔控制(比如说上电控制或者下电控制),指示信号用于控制LED指示灯,上述LED指示灯用于表示是否完成对第一PCIe设备的上电控制或者下电控制。
可以理解的是,若第一控制信号包含第一上电信号和第一状态指示信号,则第一从逻辑芯片303可以根据第一上电信号启动第一PCIe设备304的上电时序控制。等待第一PCIe设备304上电完成后,第一从逻辑芯片303可以根据第一状态指示信号指示LED灯亮(比如说常亮)。在对第一PCIe设备304上电之后,第一从逻辑芯片对第一PCIe设备进行解复位操作。
若第一控制信号包含第一下电信号和第二状态指示信号,则第一从逻辑芯片303可以根据第一下电信号启动第一PCIe设备304的下电时序控制。等待第一PCIe设备304下电完成后,第一从逻辑芯片303可以根据第二状态指示信号指示LED灯灭。在对第一PCIe设备304下电之前,第一从逻辑芯片对第一PCIe设备进行复位操作。
在一种可能的实现方式中,如图3所示的计算机系统300、如图4所示的计算机系统400和如图5所示的计算机系统500还可以包括第二PCIe设备305。
其中,图3、图4和图5所示的第二PCIe设备305可以与主逻辑芯片302连接。需要说明的是第二PCIe设备与第一PCIe设备不是一个类型的PCIe设备。比如说第一PCIe设备可以是网卡,第二PCIe设备可以是NVMe硬盘。
处理器301可以向主逻辑芯片302发送针对第二PCIe设备的第二控制信号。
主逻辑芯片302可以接收来自处理器301的第二控制信号,根据第二控制信号对第二PCIe设备进行控制,比如说热插拔。其中,若第二控制信号包含第二上电信号和第三状态指示信号,则主逻辑芯片302可以根据第二上电信号启动第二PCIe设备305的上电时序控制。等待第二PCIe设备305上电完成后,主逻辑芯片302可以根据第三状态指示信号指示LED灯亮(比如说常亮)。若第二控制信号包含第二下电信号和第四状态指示信号,则主逻辑芯片302可以根据第二下电信号启动第二PCIe设备305的下电时序控制。等待第二PCIe设备305下电完成后,主逻辑芯片302可以根据第四状态指示信号指示LED灯灭。
在一种可能的实现方式中,如图3所示的计算机系统300、如图4所示的计算机系统400和如图5所示的计算机系统500还可以包括第二从逻辑芯片307和第三PCIe设备308。
其中,图3、图4和图5所示的第二从逻辑芯片307可以与主逻辑芯片302连接,第三PCIe设备308可以和第二从逻辑芯片307连接。需要说明的是第三PCIe设备308与第一PCIe设备304、第二PCIe设备305可以不是一个类型的PCIe设备。比如说第一PCIe设备304可以是网卡,第二PCIe设备305可以是NVMe硬盘,第三PCIe设备308可以是采集卡。
处理器301可以向主逻辑芯片302发送针对第三PCIe设备308的第三控制信号。
主逻辑芯片302可以接收来自处理器301的第三控制信号,并向第二从逻辑芯片307发送第三控制信号。
第二从逻辑芯片307可以根据第三控制信号对第三PCIe设备308进行控制,比如说热插拔。其中,若第三控制信号包含第三上电信号和第五状态指示信号,则第二从逻辑芯片307可以根据第三上电信号启动第三PCIe设备308的上电时序控制。等待第三PCIe设备308上电完成后,第二从逻辑芯片307可以根据第五状态指示信号指示LED灯亮(比如说常亮)。若第二控制信号包含第三下电信号和第六状态指示信号,则第二从逻辑芯片307可以根据第三下电信号启动第三PCIe设备308的下电时序控制。等待第三PCIe设备308下电完成后,第二从逻辑芯片307可以根据第六状态指示信号指示LED灯灭。
在一种可能的实现方式中,如图3所示的计算机系统300和如图4所示的计算机系统400还可以包括基板管理器(baseboard management controller,BMC)芯片306。其中,BMC芯片306可以与第一从逻辑芯片303或者第二从逻辑芯片307连接。进一步地,第一从逻辑芯片303可以第二从逻辑芯片307连接。在计算机系统300和计算机系统400中,BMC芯片306可以向第一从逻辑芯片303发送针对第一PCIe设备304的第一触发信号,第一触发信号用于指示对第一PCIe设备304执行控制,比如说热插拔控制。BMC芯片306还可以向第二从逻辑芯片307发送针对第三PCIe设备308的第三触发信号,第三触发信号用于指示对第三PCIe设备308执行控制,比如说热插拔控制。BMC芯片306还可以向第一从逻辑芯片303或者第二从逻辑芯片307发送针对第二PCIe设备的第二触发信号,第二触发信号用于指示对第二PCIe设备304执行控制,比如说热插拔。
在一种可能的实现方式,如图5所示的计算机系统500还可以包括BMC芯片306。其中,BMC芯片306可以和主逻辑芯片302连接。BMC芯片306可以向主逻辑芯片302发送针对第一PCIe设备304的第一触发信号,第一触发信号用于指示对第一PCIe设备304进行控制,比如说对第一PCIe设备304执行热插拔。BMC芯片306还可以向主逻辑芯片302发送针对第二PCIe设备305的第二触发信号,第二触发信号用于指示对第二PCIe设备305进行控制,比如说热插拔控制。BMC芯片306还可以向主逻辑芯片302发送针对第三PCIe设备308的第三触发信号,第三触发信号用于指示对第三PCIe设备308进行控制,比如说对第三PCIe设备308执行热插拔。
需要说明的是,第一从逻辑芯片303和第二从逻辑芯片307可以不在一个单板(比如说主板401)上。比如说第一从逻辑芯片在主板401上,第二从逻辑芯片在副板402上;或者第一从逻辑芯片303、第二从逻辑芯片307和主逻辑芯片302在不同的单板上。
需要说明的是,图3、图4和图5所示的处理器301可以是中央处理器(centralprocessing unit,CPU)、平台控制器(platform controller hub、PCH)或者专用处理器等具有计算处理能力的器件。进一步地,处理器301可以是单核处理器或多核处理器。
请参见图6,图6是本申请实施例提供的一种基于PCIe设备的控制方法的流程示意图,该方法可应用在图3或图4所示的计算机系统,该方法包括但不限于如下步骤:
需要说明的是,计算机系统还可以包括基本输入输出系统(Basic Input OutputSystem,BIOS)芯片,BIOS芯片是一块方块状的存储器,里面存储有基本输入输出系统程序,该程序在开机后首先运行,对系统的各个部件进行检测和初始化。处理器301还可以包括设备驱动和热插拔驱动,通过设备驱动(比如说PCIe设备的驱动)可以对PCIe设备进行读/写操作,通过热插拔驱动可以为PCIe设备分配内存资源。
步骤S601,第一从逻辑芯片接收来自BMC芯片的针对第一PCIe设备的第一触发信号。
具体地,计算机系统还可以包括基板管理器(baseboard managementcontroller,BMC),BMC芯片位于主板上,与处理器301连接。BMC可以为每一个PCIe设备设置对应的虚拟按钮BUTTON,当用户要控制第一PCIe设备时,比如说将第一PCIe设备热插入PCIe插槽中,或者将第一PCIe设备从PCIe插槽热拔出。用户通过BMC对第一PCIe设备对应的虚拟按钮BUTTON进行操作后,BMC可以向第一从逻辑芯片发送针对第一PCIe设备的第一触发信号,因此第一从逻辑芯片可以接收到来自BMC的针对第一PCIe设备到第一触发信号。
步骤S602,第一从逻辑芯片获取第一PCIe设备的在位信号。
具体地,对于热插拔来说,PCIe设备有两个用于热插拔机制的热插拔信号PRSNT1#和PRSNT2#对应的引脚。PCIe设备上的这两个信号引脚之间是短路的,PCIe插槽的PRSNT1#被固定连接到地,PRSNT2#则被上拉,且PCIe设备上的这两个信号的金手指长度要比其他的信号的金手指长度要短一点。当PCIe设备未被完全插入插槽时,插槽的PRSNT2#信号由于上拉的作用,将一直处于高电平状态,当PCIe设备被完全插入插槽后,插槽上的PRSNT2#信号则会被PCIE设备的短路线连接到地,从而使其变为低电平。第一PCIe设备与第一从逻辑芯片连接,第一从逻辑芯片可以根据第一PCIe设备的PRSNT1#和PRSNT2#得到第一PCIe设备的在位信号。
可以理解的是,当PCIe设备未被完全插入插槽时,插槽的PRSNT2#信号由于上拉的作用,将一直处于高电平状态,当PCIe设备被完全插入插槽后,插槽上的PRSNT2#信号则会被PCIe设备的短路线连接到地,从而使其变为低电平。换句话说,从插槽的角度看,当PRSNT2#为高电平时,则认为PCIe设备未能正确插入或者无PCIe设备,当PRSNT2#为低电平时,表明PCIe设备被正确地插入插槽中。而不同的PCIe设备,可能同一电压信号对应不同的在位信号。比如说,对于PCIe设备1来说,低电平可能对应的是在位信号是“0”,而对应PCIe设备2来说,低电平可能对应的是不在位信号是“0”。因此,不同的PCIe设备对应不同的处理规则,第一从逻辑芯片可以根据第一PCIe设备的处理规则确定PRSNT1#和PRSNT2#对应的第一PCIe设备的在位信号。
步骤S603,第一从逻辑芯片向主逻辑芯片发送第一PCIe设备的第一触发信号和第一PCIe设备的在位信号。
具体地,第一从逻辑芯片可以持续向主逻辑芯片发送针对第一PCIe设备的第一触发信号和第一在位信号。
步骤S604,主逻辑芯片向处理器发送第一PCIe设备的设备标识,第一PCIe设备的第一触发信号和第一PCIe设备的在位信号。
具体地,主逻辑芯片中存储有第一PCIe设备的设备标识,当接收到来自第一从逻辑芯片的第一PCIe设备的第一触发信号和第一PCIe设备的在位信号后,主逻辑芯片可以查询到存储在主逻辑芯片中的第一PCIe设备的设备标识,然后将第一PCIe设备的设备标识,第一PCIe设备的第一触发信号和第一PCIe设备的在位信号进行打包处理,将打包后的信号向处理器发送。
在一种可能的实现方式中,为了避免误触发热插拔事件,主逻辑芯片需要对接收到的第一触发信号进行判断,在第一触发信号的电平在预设时间段内保持不变的情况下,说明存在第一PCIe设备的热插拔事件;在第一触发信号的电平在预设时间段内发生变化时,说明可能是对BMC的虚拟按钮进行误操作。因此,主逻辑芯片根据第一触发信号在预设时间段内的电平变化判断存在第一PCIe设备的热插拔事件情况下,执行步骤S604;主逻辑芯片根据第一触发信号在预设时间段内的电平变化判断不存在第一PCIe设备的热插拔事件情况下,执行步骤S603。
步骤S605,处理器接收来自主逻辑芯片的第一PCIe设备的设备标识,第一PCIe设备的第一触发信号和第一PCIe设备的在位信号。
具体地,处理器中存储有第一PCIe设备的设备标识对应的槽位号,处理器可以根据第一PCIe设备的设备标识查询到第一PCIe设备的槽位号。处理器可以根据热插拔控制器检测第一PCIe设备的第一触发信号和第一PCIe设备的在位信号的变化等事件,来控制器热插拔驱动移除或添加第一PCIe设备,并根据第一PCIe设备的槽位号读写对应的PCIe插槽的寄存器状态来生成针对第一PCIe设备的第一控制信号。
步骤S606,处理器向主逻辑芯片发送第一控制信号。
具体地,处理器可以通过I2C总线向主逻辑芯片发送针对第一PCIe设备的第一控制信号。
步骤S607,主逻辑芯片向第一从逻辑芯片发送第一控制信号。
具体地,主逻辑芯片可以通过SGPIO总线向第一从逻辑芯片发送针对第一PCIe设备的第一控制信号。
步骤S608,第一从逻辑芯片根据第一控制信号对第一PCIe设备进行控制。
具体地,第一从逻辑芯片可以根据第一控制信号对第一PCIe设备执行热插拔。进一步地,当第一从逻辑芯片接收到的第一控制信号包含第一上电信号和第一状态指示信号,则第一从逻辑芯片可以根据第一上电信号启动第一PCIe设备的上电时序控制。等待第一PCIe设备上电完成后,第一从逻辑芯片可以根据第一状态指示信号指示LED灯亮(比如说常亮)。在对第一PCIe设备上电完成之后,第一从逻辑芯片对第一PCIe设备进行解复位操作。
当第一从逻辑芯片接收到的第一控制信号为第一下电信号和第二状态指示信号时,第一从逻辑芯片对第一PCIe设备进行复位操作之后,第一从逻辑芯片可以根据第一下电信号启动第一PCIe设备的下电时序控制。等待第一PCIe设备下电完成后,第一从逻辑芯片可以根据第二状态指示信号指示LED灯灭。
请参见图7,图7是本申请实施例提供的另一种基于PCIe设备的制方法的流程示意图,该方法可应用于图3或图4所示的计算机系统,该方法包括但不限于如下步骤:
步骤S701,第一从逻辑芯片接收来自BMC芯片的针对第二PCIe设备的第二触发信号。
具体地,BMC可以为每一个PCIe设备设置对应的虚拟按钮BUTTON,当用户要控制第二PCIe设备时,比如说将第二PCIe设备热插入PCIe插槽中,或者将第二PCIe设备从PCIe插槽热拔出。用户通过BMC对第二PCIe设备对应的虚拟按钮BUTTON进行操作后,BMC可以向第一从逻辑芯片发送针对第二PCIe设备的第二触发信号,因此第一从逻辑芯片可以接收到来自BMC的针对第二PCIe设备到第二触发信号。
步骤S702,第一从逻辑芯片向主逻辑芯片发送针对第二PCIe设备的第二触发信号。
具体地,第一从逻辑芯片可以通过SGPIO向主逻辑芯片发送针对第二PCIe设备的第二触发信号。
步骤S703,主逻辑芯片获取第二PCIe设备的在位信号。
具体地,第二PCIe设备与主逻辑芯片连接,主逻辑芯片可以根据第二PCIe设备的PRSNT1#和PRSNT2#得到第二PCIe设备的在位信号。
步骤S704,主逻辑芯片向处理器发送第二PCIe设备的设备标识,第二PCIe设备的在位信号和第二PCIe设备的第二触发信号。
具体地,主逻辑芯片中存储有第二PCIe设备的设备标识,当接收到来自第一从逻辑芯片的第二PCIe设备的第二触发信号后,主逻辑芯片可以读取到存储在主逻辑芯片中的第一PCIe设备的设备标识,然后将第一PCIe设备的设备标识,第一PCIe设备的第一触发信号和第一PCIe设备的在位信号进行打包处理,将打包后的信号向处理器发送。
在一种可能的实现方式中,为了避免误触发热插拔事件,主逻辑芯片需要对接收到的第二触发信号进行判断,在第二触发信号的电平在预设时间段内保持不变的情况下,说明存在第二PCIe设备的热插拔事件;在第二触发信号的电平在预设时间段内发生变化时,说明可能是对BMC的虚拟按钮进行误操作。因此,主逻辑芯片根据第二触发信号在预设时间段内的电平变化判断存在第二PCIe设备的热插拔事件情况下,执行步骤S704;主逻辑芯片根据第二触发信号在预设时间段内的电平变化判断不存在第二PCIe设备的热插拔事件情况下,执行步骤S702。
步骤S705,处理器接收来自主逻辑芯片的第二PCIe设备的设备标识,第二PCIe设备的第二触发信号和第二PCIe设备的在位信号。
具体地,处理器中存储有第二PCIe设备的设备标识对应的槽位号,处理器可以根据第二PCIe设备的设备标识查询到第二PCIe设备的槽位号。处理器可以根据热插拔控制器检测第二PCIe设备的第二触发信号和第二PCIe设备的在位信号的变化等事件,来控制器热插拔驱动移除或添加第二PCIe设备,并根据第二PCIe设备的槽位号读写对应的PCIe插槽的寄存器状态来生成针对第二PCIe设备的第二控制信号。
步骤S706,处理器向主逻辑芯片发送第二控制信号。
具体地,处理器可以通过I2C总线向主逻辑芯片发送针对第二PCIe设备的第二控制信号。
步骤S707,主逻辑芯片根据第二控制信号对第二PCIe设备进行控制。
具体地,主逻辑芯片可以根据第二控制信号对第二PCIe设备进行控制,比如说对第二PCIe设备执行热插拔。进一步地,当主逻辑芯片接收到的第二控制信号包含第二上电信号和第三状态指示信号,则主逻辑芯片可以根据第二上电信号启动第二PCIe设备的上电时序控制。等待第二PCIe设备上电完成后,主逻辑芯片可以根据第三状态指示信号指示LED灯亮(比如说常亮)。在对第二PCIe设备上电完成之后,主逻辑芯片对第一PCIe设备进行解复位操作。
当主逻辑芯片接收到的第一控制信号为第二下电信号和第四状态指示信号时,主逻辑芯片对第二PCIe设备进行复位操作后,主逻辑芯片可以根据第二下电信号启动第二PCIe设备的下电时序控制。等待第二PCIe设备下电完成后,主逻辑芯片可以根据第四状态指示信号指示LED灯灭。
请参见图8,图8是本申请实施例提供的另一种基于PCIe设备的控制方法的流程示意图,该方法可应用于图3或图4所示的计算机系统,该方法包括但不限于如下步骤:
步骤S801,第二从逻辑芯片接收来自BMC芯片的针对第三PCIe设备的第三触发信号。
具体地,计算机系统还可以包括基板管理器(baseboard managementcontroller,BMC),BMC芯片位于主板上,与处理器301连接。BMC可以为每一个PCIe设备设置对应的虚拟按钮BUTTON,当用户要控制第三PCIe设备时,比如说将第三PCIe设备热插入PCIe插槽中,或者将第三PCIe设备从PCIe插槽热拔出。用户通过BMC对第三PCIe设备对应的虚拟按钮BUTTON进行操作后,BMC可以向第二从逻辑芯片发送针对第三PCIe设备的第三触发信号,因此第二从逻辑芯片可以接收到来自BMC的针对第三PCIe设备到第三触发信号。
步骤S802,第二从逻辑芯片获取第三PCIe设备的在位信号。
具体地,对于热插拔来说,PCIe设备有两个用于热插拔机制的热插拔信号PRSNT1#和PRSNT2#对应的引脚。PCIe设备上的这两个信号引脚之间是短路的,PCIe插槽的PRSNT1#被固定连接到地,PRSNT2#则被上拉,且PCIe设备上的这两个信号的金手指长度要比其他的信号的金手指长度要短一点。当PCIe设备未被完全插入插槽时,插槽的PRSNT2#信号由于上拉的作用,将一直处于高电平状态,当PCIe设备被完全插入插槽后,插槽上的PRSNT2#信号则会被PCIE设备的短路线连接到地,从而使其变为低电平。第三PCIe设备与第二从逻辑芯片连接,第二从逻辑芯片可以根据第三PCIe设备的PRSNT1#和PRSNT2#得到第三PCIe设备的在位信号。
可以理解的是,当PCIe设备未被完全插入插槽时,插槽的PRSNT2#信号由于上拉的作用,将一直处于高电平状态,当PCIe设备被完全插入插槽后,插槽上的PRSNT2#信号则会被PCIe设备的短路线连接到地,从而使其变为低电平。换句话说,从插槽的角度看,当PRSNT2#为高电平时,则认为PCIe设备未能正确插入或者无PCIe设备,当PRSNT2#为低电平时,表明PCIe设备被正确地插入插槽中。而不同的PCIe设备,可能同一电压信号对应不同的在位信号。比如说,对于PCIe设备1来说,低电平可能对应的是在位信号是“0”,而对应PCIe设备2来说,低电平可能对应的是不在位信号是“0”。因此,不同的PCIe设备对应不同的处理规则,第二从逻辑芯片可以根据第三PCIe设备的处理规则确定PRSNT1#和PRSNT2#对应的第三PCIe设备的在位信号。
步骤S803,第二从逻辑芯片向主逻辑芯片发送第三PCIe设备的第三触发信号和第三PCIe设备的在位信号。
具体地,第二从逻辑芯片可以持续向主逻辑芯片发送针对第三PCIe设备的第三触发信号和第三在位信号。
步骤S804,主逻辑芯片向处理器发送第三PCIe设备的设备标识,第三PCIe设备的第三触发信号和第三PCIe设备的在位信号。
具体地,主逻辑芯片中存储有第三PCIe设备的设备标识,当接收到来自第二从逻辑芯片的第三PCIe设备的第三触发信号和第三PCIe设备的在位信号后,主逻辑芯片可以查询到存储在主逻辑芯片中的第三PCIe设备的设备标识,然后将第三PCIe设备的设备标识,第三PCIe设备的第三触发信号和第三PCIe设备的在位信号进行打包处理,将打包后的信号向处理器发送。
在一种可能的实现方式中,为了避免误触发热插拔事件,主逻辑芯片需要对接收到的第三触发信号进行判断,在第三触发信号的电平在预设时间段内保持不变的情况下,说明存在第三PCIe设备的热插拔事件;在第三触发信号的电平在预设时间段内发生变化时,说明可能是对BMC的虚拟按钮进行误操作。因此,主逻辑芯片根据第三触发信号在预设时间段内的电平变化判断存在第三PCIe设备的热插拔事件情况下,执行步骤S804;主逻辑芯片根据第三触发信号在预设时间段内的电平变化判断不存在第三PCIe设备的热插拔事件情况下,执行步骤S803。
步骤S805,处理器接收来自主逻辑芯片的第三PCIe设备的设备标识,第三PCIe设备的第三触发信号和第三PCIe设备的在位信号。
具体地,处理器中存储有第三PCIe设备的设备标识对应的槽位号,处理器可以根据第三PCIe设备的设备标识查询到第三PCIe设备的槽位号。处理器可以根据热插拔控制器检测第三PCIe设备的第三触发信号和第三PCIe设备的在位信号的变化等事件,来控制器热插拔驱动移除或添加第三PCIe设备,并根据第三PCIe设备的槽位号读写对应的PCIe插槽的寄存器状态来生成针对第三PCIe设备的第三控制信号。
步骤S806,处理器向主逻辑芯片发送第三控制信号。
具体地,处理器可以通过I2C总线向主逻辑芯片发送针对第三PCIe设备的第三控制信号。
步骤S807,主逻辑芯片向第二从逻辑芯片发送第三控制信号。
具体地,主逻辑芯片可以通过非I2C总线向第二从逻辑芯片发送针对第三PCIe设备的第三控制信号。
步骤S808,第二从逻辑芯片根据第三控制信号对第三PCIe设备进行控制。
具体地,第二从逻辑芯片可以根据第三控制信号对第三PCIe设备进行热插拔控制。进一步地,当第二从逻辑芯片接收到的第三控制信号包含第三上电信号和第五状态指示信号,则第二从逻辑芯片可以根据第三上电信号启动第三PCIe设备的上电时序控制。等待第三PCIe设备上电完成后,第二从逻辑芯片可以根据第五状态指示信号指示LED灯亮(比如说常亮)。在对第三PCIe设备上电完成之后,第二从逻辑芯片对第三PCIe设备进行解复位操作。
当第二从逻辑芯片接收到的第三控制信号为第三下电信号和第六状态指示信号时,第二从逻辑芯片对第三PCIe设备进行复位操作之后,第二从逻辑芯片可以根据第三下电信号启动第三PCIe设备的下电时序控制。等待第三PCIe设备下电完成后,第二从逻辑芯片可以根据第六状态指示信号指示LED灯灭。
需要说明的是,图8所示的步骤S801至步骤S808、图7所示的步骤S701至步骤S707和图6所示的步骤S601至步骤S608可以一起组合使用,应用于图3和图4所示的计算机系统。因此,图7所示的步骤S701可以替换为“第二从逻辑芯片接收来自BMC芯片的针对第二PCIe设备的第二触发信号。”步骤S702可以替换为“第二从逻辑芯片向主逻辑芯片发送针对第二PCIe设备的第二触发信号”。
可以理解的是,对于图5所示的计算机系统500,主板上安装有处理器和主逻辑芯片,副板上安装有第一从逻辑芯片或者第二从逻辑芯片。因为BMC安装在主板上,所以应用在图5所示的计算机系统上的方法相对于应用在图4所示的计算机系统上的方法而言,BMC可以直接向主逻辑芯片发送针对第一PCIe设备的第一触发信号或者针对第二PCIe设备的第二触发信号或者针对第三PCIe设备第三触发信号。
需要说明的是,图6所示的步骤S601至步骤S605可替换为如下步骤:
步骤S901,第一从逻辑芯片获取第一PCIe设备的在位信号。
步骤S902,第一从逻辑芯片向主逻辑芯片发送第一PCIe设备的在位信号。
步骤S903,主逻辑芯片向处理器发送第一PCIe设备的设备标识和第一PCIe设备的在位信号。
步骤S904,处理器接收来自系统应用层的针对第一PCIe设备的第一触发信号,以及来自主逻辑芯片的第一PCIe设备的设备标识和第一PCIe设备的在位信号。
具体地,第一触发信号携带有针对第一PCIe设备的控制指令,比如说热插指令或者热拔指令。
用户可以通过安装在系统应用层的应用来输入针对第一PCIe设备的第一触发信号,该第一触发信号包括用于对第一PCIe设备进行控制操作的控制指令,比如说用于对第一PCIe设备进行热插操作的热插指令或者用于对第一PCIe设备进行热拔操作的热拔指令。
处理器中存储有第一PCIe设备的设备标识对应的槽位号,处理器可以根据第一PCIe设备的设备标识查询到第一PCIe设备的槽位号。处理器可以根据热插拔控制器检测第一PCIe设备的第一触发信号和第一PCIe设备的在位信号的变化等事件,来控制器热插拔驱动移除或添加第一PCIe设备,并根据第一PCIe设备的槽位号读写对应的PCIe插槽的寄存器状态来生成针对第一PCIe设备的第一控制信号。
需要说明的是,图7所示的步骤S701至步骤S704可替换为如下步骤:
步骤S1001,主逻辑芯片获取第二PCIe设备的在位信号。
步骤S1002,主逻辑芯片向处理器发送第二PCIe设备的设备标识和第二PCIe设备的在位信号。
步骤S1003,处理器接收来自系统应用层的针对第二PCIe设备的操作指令,以及来自主逻辑芯片的二PCIe设备的设备标识和第二PCIe设备的在位信号。
具体地,其中,第一触发信号携带有针对第二PCIe设备的控制指令,比如说热插指令或者热拔指令。
用户可以通过安装在系统应用层的应用来输入针对第二PCIe设备的第二触发信号,该第二触发信号包括用于对第二PCIe设备进行控制操作的控制指令,比如说用于对第二PCIe设备进行热插操作的热插指令或者用于对第二PCIe设备进行热拔操作的热拔指令。
处理器中存储有第二PCIe设备的设备标识对应的槽位号,处理器可以根据第二PCIe设备的设备标识查询到第二PCIe设备的槽位号。处理器可以根据热插拔控制器检测第二PCIe设备的第二触发信号和第二PCIe设备的在位信号的变化等事件,来控制器热插拔驱动移除或添加第二PCIe设备,并根据第二PCIe设备的槽位号读写对应的PCIe插槽的寄存器状态来生成针对第二PCIe设备的第二控制信号。
需要说明的是,图8所示的步骤S801至步骤S805可替换为如下步骤:
步骤S1101,第二从逻辑芯片获取第三PCIe设备的在位信号。
步骤S1102,第二从逻辑芯片向主逻辑芯片发送第三PCIe设备的在位信号。
步骤S1103,主逻辑芯片向处理器发送第三PCIe设备的设备标识和第三PCIe设备的在位信号。
步骤S1104,处理器接收来自系统应用层的针对第三PCIe设备的第三触发信号,以及来自主逻辑芯片的第三PCIe设备的设备标识和第三PCIe设备的在位信号。
具体地,第三触发信号携带有针对第三PCIe设备的控制指令,比如说热插指令或者热拔指令。
用户可以通过安装在系统应用层的应用来输入针对第三PCIe设备的第三触发信号,该第三触发信号包括用于对第三PCIe设备进行控制操作的控制指令,比如说用于对第三PCIe设备进行热插操作的热插指令或者用于对第三PCIe设备进行热拔操作的热拔指令。
处理器中存储有第三PCIe设备的设备标识对应的槽位号,处理器可以根据第三PCIe设备的设备标识查询到第三PCIe设备的槽位号。处理器可以根据热插拔控制器检测第三PCIe设备的第三触发信号和第三PCIe设备的在位信号的变化等事件,来控制器热插拔驱动移除或添加第三PCIe设备,并根据第三PCIe设备的槽位号读写对应的PCIe插槽的寄存器状态来生成针对第三PCIe设备的第三控制信号。
本申请实施例提供的一种电子设备,该电子设备可以包括逻辑芯片,该逻辑芯片可以是图3、图4或图5中的主逻辑芯片302。其中,主逻辑芯片302具体可以是复杂可编程逻辑器件(Complex programmable logic device,CPLD),主逻辑芯片302中存储有计算机指令,当上述计算机指令在逻辑芯片上运行时,使得电子设备可以执行上述的基于PCIe设备的控制方法。例如图6、图7或图8任意一个实施例所描述的基于PCIe设备的控制方法流程。
以上所述仅为本发明的几个实施例,本领域的技术人员依据申请文件公开的可以对本发明进行各种改动或变型而不脱离本发明的精神和范围。例如本发明实施例的附图中的各个部件具体形状或结构是可以根据实际应用场景进行调整的。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

Claims (13)

1.一种计算机系统,其特征在于,所述计算机系统包括处理器、主逻辑芯片、第一从逻辑芯片和第一PCIe设备,其中,所述处理器与所述主逻辑芯片通过集成电路间I2C总线连接,所述主逻辑芯片与所述第一从逻辑芯片连接,所述第一从逻辑芯片和所述第一PCIe设备连接,所述第一从逻辑芯片通过所述主逻辑芯片与所述处理器通信。
2.根据权利要求1所述的系统,其特征在于,
所述处理器,用于向所述主逻辑芯片发送针对所述第一PCIe设备的第一控制信号;
所述主逻辑芯片,用于接收所述第一控制信号,并向所述第一从逻辑芯片发送所述第一控制信号;
所述第一从逻辑芯片,用于根据所述第一控制信号对所述第一PCIe设备进行控制。
3.根据权利要求2所述的系统,其特征在于,所述计算机系统还包括基板控制器BMC芯片,其中所述BMC芯片和所述第一从逻辑芯片连接;
所述第一从逻辑芯片,还用于接收来自BMC芯片的针对所述第一PCIe设备的第一触发信号,所述第一触发信号用于指示对所述第一PCIe设备执行热插拔;
所述第一从逻辑芯片,还用于获取所述第一PCIe设备的在位信号;
所述第一从逻辑芯片,还用于向所述主逻辑芯片发送所述第一PCIe设备的第一触发信号和所述第一PCIe设备的在位信号。
4.根据权利要求3所述的系统,其特征在于,所述主逻辑芯片中存储有所述第一PCIe设备的设备标识,
所述主逻辑芯片,还用于接收所述第一触发信号和所述第一PCIe设备的在位信号,并向所述处理器发送所述第一PCIe设备的设备标识、所述第一PCIe设备的第一触发信号和所述第一PCIe设备的在位信号;
所述处理器,具体用于基于所述第一PCIe设备的设备标识、所述第一触发信号以及所述第一PCIe设备的在位信号向所述主逻辑芯片发送所述第一控制信号,所述第一控制信号用于指示对所述第一PCIe设备执行热插拔。
5.根据权利要求1至4任一项所述的系统,其特征在于,所述计算机系统还包括第二PCIe设备,所述第二PCIe设备与所述主逻辑芯片连接;
所述第一从逻辑芯片,还用于接收来自BMC芯片的针对所述第二PCIe设备的第二触发信号,所述第二触发信息用于指示对所述第二PCIe设备执行热插拔;
所述第一从逻辑芯片,用于向所述主逻辑芯片发送所述第二PCIe设备的第二触发信号。
6.根据权利要求5所述的系统,其特征在于,所述主逻辑芯片中存储有所述第二PCIe设备的设备标识,
所述主逻辑芯片,还用于获取所述第二PCIe设备的在位信号;
所述主逻辑芯片,还用于向所述处理器发送所述第二PCIe设备的设备标识、所述第二PCIe设备的在位信号和所述第二PCIe设备的第二触发信号;
所述处理器,还用于基于所述第二PCIe设备的设备标识、所述第二PCIe设备的在位信号和所述第二PCIe设备的第二触发信号向所述主逻辑芯片发送第二控制信号;
所述主逻辑芯片,还用于根据所述第二控制信号对所述第二PCIe设备进行控制。
7.根据权利要求1至6任一项所述的系统,其特征在于,
所述计算机系统还包括第二从逻辑芯片和第三PCIe设备,所述第二从逻辑芯片和所述主逻辑芯片连接,所述第三PCIe设备和所述第二从逻辑芯片连接。
8.根据权利要求1至7任一项所述的系统,其特征在于,所述主逻辑芯片为复杂可编程逻辑器件CPLD芯片或现场可编程门阵列FPGA芯片。
9.一种基于PCIe设备的控制方法,其特征在于,所述方法应用于计算机系统,所述计算机系统包括处理器、主逻辑芯片、第一从逻辑芯片和第一PCIe设备,所述方法包括:
所述主逻辑芯片接收来自所述处理器的针对所述第一PCIe设备的第一控制信号,其中,所述处理器与所述主逻辑芯片通过集成电路间I2C总线连接;
所述主逻辑芯片向所述第一从逻辑芯片发送所述第一控制信号,所述第一控制信号用于指示所述第一从逻辑芯片对所述第一PCIe设备进行控制,其中,所述主逻辑芯片与所述第一从逻辑芯片连接,所述第一从逻辑芯片和所述第一PCIe设备连接。
10.根据权利要求9所述的方法,其特征在于,所述主逻辑芯片中存储有所述第一PCIe设备的设备标识,所述主逻辑芯片接收来自处理器的针对第一PCIe设备的第一控制信号之前,还包括:
所述主逻辑芯片接收来自所述从逻辑芯片的所述第一PCIe设备的第一触发信号和所述第一PCIe设备的在位信号,所述第一触发信号用于指示对所述第一PCIe设备执行热插拔;
所述主逻辑芯片向所述处理器发送所述第一PCIe设备的设备标识,所述第一PCIe设备的第一触发信号和所述第一PCIe设备的在位信号,其中,所述第一控制信号基于所述第一PCIe设备的设备标识、所述第一触发信号以及所述第一PCIe设备的在位信号生成,所述第一控制信号用于指示对所述第一PCIe设备执行热插拔。
11.根据权利要求9或10所述的方法,其特征在于,所述主逻辑芯片与第二PCIe设备连接,所述方法还包括:
所述主逻辑芯片接收来自所述处理器的针对所述第二PCIe设备的第二控制信号;
所述主逻辑芯片根据所述第二控制信号对所述第二PCIe设备进行控制。
12.根据权利要求11所述的方法,其特征在于,所述主逻辑芯片中存储有所述第二PCIe设备的设备标识,所述主逻辑芯片接收来自所述处理器的针对所述第二PCIe设备的第二控制信号之前,还包括:
所述主逻辑芯片接收来自所述第一从逻辑芯片的针对所述第二PCIe设备的第二触发信号,所述第二触发信息用于指示对所述第二PCIe设备执行热插拔;
所述主逻辑芯片获取所述第二PCIe设备的在位信号;
所述主逻辑芯片向所述处理器发送所述第二PCIe设备的设备标识,所述第二PCIe设备的在位信号和所述第二PCIe设备的第二触发信号,其中,所述第二控制信号基于所述第二PCIe设备的设备标识、所述第二触发信号以及所述第二PCIe设备的在位信号生成,所述第二控制信号用于指示对所述第二PCIe设备执行热插拔。
13.一种电子设备,其特征在于,所述电子设备包括逻辑芯片,所述逻辑芯片中存储有计算机指令,当所述计算机指令在所述逻辑芯片上运行时,使得所述电子设备执行如权利要求9至12任一项所述的方法。
CN202110924620.4A 2021-08-12 2021-08-12 计算机系统、基于PCIe设备的控制方法及相关设备 Pending CN115905072A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110924620.4A CN115905072A (zh) 2021-08-12 2021-08-12 计算机系统、基于PCIe设备的控制方法及相关设备
PCT/CN2022/110656 WO2023016379A1 (zh) 2021-08-12 2022-08-05 计算机系统、基于PCIe设备的控制方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110924620.4A CN115905072A (zh) 2021-08-12 2021-08-12 计算机系统、基于PCIe设备的控制方法及相关设备

Publications (1)

Publication Number Publication Date
CN115905072A true CN115905072A (zh) 2023-04-04

Family

ID=85200557

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110924620.4A Pending CN115905072A (zh) 2021-08-12 2021-08-12 计算机系统、基于PCIe设备的控制方法及相关设备

Country Status (2)

Country Link
CN (1) CN115905072A (zh)
WO (1) WO2023016379A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117648134A (zh) * 2024-01-26 2024-03-05 宝德计算机系统股份有限公司 一种服务器多背板丝印自适应定位方法、装置及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016170649A (ja) * 2015-03-13 2016-09-23 キヤノン株式会社 情報処理装置、情報処理装置の制御方法
CN109120143B (zh) * 2018-07-25 2021-08-10 郑州云海信息技术有限公司 一种控制上下电的方法、主控制器和系统
CN112825011A (zh) * 2019-11-20 2021-05-21 中兴通讯股份有限公司 PCIe设备的上下电控制方法以及系统
CN113064850B (zh) * 2021-04-09 2024-05-28 中科可控信息产业有限公司 拓扑检测处理方法、装置、服务器及可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117648134A (zh) * 2024-01-26 2024-03-05 宝德计算机系统股份有限公司 一种服务器多背板丝印自适应定位方法、装置及存储介质
CN117648134B (zh) * 2024-01-26 2024-05-14 宝德计算机系统股份有限公司 一种服务器多背板丝印自适应定位方法、装置及存储介质

Also Published As

Publication number Publication date
WO2023016379A1 (zh) 2023-02-16

Similar Documents

Publication Publication Date Title
CN107423169B (zh) 用于测试高速外围设备互连设备的方法和系统
US6438622B1 (en) Multiprocessor system including a docking system
US6282596B1 (en) Method and system for hot-plugging a processor into a data processing system
US9471126B2 (en) Power management for PCIE switches and devices in a multi-root input-output virtualization blade chassis
US20080126597A1 (en) Alternative Local Card, Central Management Module and System Management Architecture For Multi-Mainboard System
US9806959B2 (en) Baseboard management controller (BMC) to host communication through device independent universal serial bus (USB) interface
US20160011646A1 (en) Service processor (sp) intiateed data transaction with bios utilizing power off commands
CN113872796B (zh) 服务器及其节点设备信息获取方法、装置、设备、介质
US20160306634A1 (en) Electronic device
JPH11161625A (ja) コンピュータ・システム
CN110968352B (zh) 一种pcie设备的复位系统及服务器系统
US9779047B2 (en) Universal intelligent platform management interface (IPMI) host to baseboard management controller (BMC) communication for non-x86 and legacy free systems
US5867645A (en) Extended-bus functionality in conjunction with non-extended-bus functionality in the same bus system
US20120079306A1 (en) Memory Reconfiguration During System Run-Time
US20180081550A1 (en) System and method for detecting redundant array of independent disks (raid) controller state from baseboard management controller (bmc)
WO2023016379A1 (zh) 计算机系统、基于PCIe设备的控制方法及相关设备
CN109697179B (zh) 硬件资源扩充系统及热插入管理装置
CN112000545A (zh) 一种图形处理器板卡和图形处理器管理方法
CN216352292U (zh) 服务器主板及服务器
CN108733479B (zh) 卸载固态硬盘卡的方法以及使用该方法的装置
CN211375594U (zh) 一种基于sw421处理器的接口扩展机构
CN113344767A (zh) 数据处理装置、系统、板卡、方法、电子设备及存储介质
CN113867835B (zh) 用于dsp动态加载的装置及方法
CN209433361U (zh) 一种具有一键还原按键的工控主板
CN115454906A (zh) 一种数据通信系统、方法、装置及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication