CN116028430B - 一种pcie设备扫描方法及片上系统 - Google Patents
一种pcie设备扫描方法及片上系统 Download PDFInfo
- Publication number
- CN116028430B CN116028430B CN202310309556.8A CN202310309556A CN116028430B CN 116028430 B CN116028430 B CN 116028430B CN 202310309556 A CN202310309556 A CN 202310309556A CN 116028430 B CN116028430 B CN 116028430B
- Authority
- CN
- China
- Prior art keywords
- root port
- equipment
- upstream
- closed
- pcie
- 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
Links
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Transfer Systems (AREA)
Abstract
本申请提出一种pcie设备扫描方法及片上系统,该方法应用于片上系统,所述片上系统包括根复合体RC设备,以及连接于所述RC设备的上游设备,所述方法包括:所述RC设备接收来自所述上游设备的第一访问请求,所述第一访问请求用于请求所述RC设备的第一根端口是否连接有pcie设备的响应信息;所述RC设备在确认所述第一根端口被关闭的情况下,向所述上游设备发送第一响应信息,所述第一响应信息表示所述第一根端口未连接有pcie设备。采用该方法能够在RC设备的根端口关闭的情况下,实现正常的pcie设备扫描处理逻辑。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种pcie设备扫描方法及片上系统。
背景技术
计算机的pcie(peripheralcomponent interconnect express,高速串行计算机扩展总线标准)系统在使用之前,需要先经过枚举扫描过程。系统软件在进行pcie设备枚举扫描时,会向pcie系统的终端设备发送访问请求,读取设备标识,例如读取设备的VendorID,从而使得系统软件确定pcie系统结构。
在某些情况下,用于连接pcie终端设备的RC(Root Complex,根复合体)根端口处于关闭状态,此时系统软件发出的访问请求无法达到请求目的地,从而会导致pcie设备枚举扫描过程出错,系统软件无法确定pcie系统结构。
发明内容
基于上述技术现状,本申请提出一种pcie设备扫描方法及片上系统,能够在RC设备的根端口被关闭的情况下,依然实现正常的pcie设备扫描处理逻辑。
为了达到上述技术目的,本申请提出如下技术方案:
第一方面,本申请提出一种pcie设备扫描方法,应用于片上系统,所述片上系统包括根复合体RC设备,以及连接于所述RC设备的上游设备,所述方法包括:所述RC设备接收来自所述上游设备的第一访问请求,所述第一访问请求用于请求所述RC设备的第一根端口是否连接有pcie设备的响应信息;所述RC设备在确认所述第一根端口被关闭的情况下,向所述上游设备发送第一响应信息,所述第一响应信息表示所述第一根端口未连接有pcie设备。
在该pcie设备扫描方法中,根复合体RC设备在接收到上游设备发送的用于请求RC设备的第一根端口是否连接有pcie设备的第一访问请求后,先确认第一根端口的状态,当确认第一根端口被关闭时,RC设备向上游设备返回表示所述第一根端口未连接有pcie设备的第一响应信息,从而实现对第一访问请求的响应。上述方案使得在RC设备的根端口关闭的情况下,也能使执行pcie设备扫描的系统软件收到请求响应信息,从而能够顺利执行pcie设备扫描,使系统软件确定pcie系统结构。
在一些实施例中,所述RC设备包括主设备桥,所述主设备桥用于连接所述RC设备的上游设备以及所述RC设备的根端口;其中,所述主设备桥用于接收来自所述上游设备的第一访问请求,以及,所述主设备桥在确认所述第一根端口被关闭的情况下,向所述上游设备发送第一响应信息。
在该方法中,通过RC设备中的主设备桥来响应上游设备发送的第一访问请求,能够提高对上游设备的响应效率。
在一些实施例中,所述方法还包括:所述主设备桥在确认所述第一根端口未被关闭的情况下,将所述第一访问请求转发给所述第一根端口,以使所述第一根端口响应所述第一访问请求。
在该方法中,主设备桥在确认第一根端口未关闭的情况下,将第一访问请求转发给第一根端口,从而实现了正常的访问请求响应逻辑。
在一些实施例中,所述方法还包括:所述主设备桥接收所述上游设备发送的第一指令,所述第一指令中携带有第一状态信息,所述第一状态信息用于表征所述RC设备中的第一根端口被关闭。
在该方法中,主设备桥接收上游设备发送的第一指令,能够使主设备桥及时或者第一根端口被关闭的状态,从而便于后续在pcie设备扫描过程中准确确定第一根端口是否被关闭。
在一些实施例中,所述方法还包括:所述主设备桥基于所述第一指令,将所述第一根端口的状态标识设置为关闭状态。
在该方法中,主设备桥在接收到第一指令后,对第一根端口的状态标识进行设置,从而能够实现对第一根端口的状态的实时记录和更新,有利于主设备桥在pcie设备扫描过程中更加方便地确认第一根端口的状态。
在一些实施例中,所述主设备桥接收第一访问请求之后,所述方法还包括:所述主设备桥通过查询所述第一根端口的状态标识,确定所述第一根端口是否被关闭。
在该方法中,主设备桥通过查询第一根端口的状态标识即可确定第一根端口是否被关闭,使得主设备桥能够快速、高效地确定第一根端口的状态,利于提高pcie设备扫描的处理效率。
在一些实施例中,通过所述片上系统的程序代码中对应所述第一根端口的端口状态参数,表示所述第一根端口是否关闭。
在该方法中,通过第一根端口的端口状态参数表示第一根端口是否关闭,同时,通过调整第一根端口的端口状态参数能够实现对第一根端口的开关调整,能够提高对第一根端口的开关控制的效率。
第二方面,本申请提出一种片上系统,包括:根复合体RC设备,以及与所述RC设备连接的上游设备;所述上游设备,用于向所述RC设备发送第一访问请求,所述第一访问请求用于请求所述RC设备的第一根端口是否连接有pcie设备的响应信息;所述RC设备,用于接收所述第一访问请求,在确认所述第一根端口被关闭的情况下,向所述上游设备发送第一响应信息,所述第一响应信息表示所述第一根端口未连接有pcie设备。
该片上系统中的根复合体RC设备在接收到上游设备发送的用于请求RC设备的第一根端口是否连接有pcie设备的第一访问请求后,先确认第一根端口的状态,当确认第一根端口被关闭时,RC设备向上游设备返回表示所述第一根端口未连接有pcie设备的第一响应信息,从而实现对第一访问请求的响应。上述方案使得在RC设备的根端口关闭的情况下,也能使执行pcie设备扫描的系统软件收到请求响应信息,从而能够顺利执行pcie设备扫描,使系统软件确定pcie系统结构。
在一些实施例中,所述上游设备包括处理器,所述RC设备包括主设备桥,所述主设备桥用于连接所述RC设备的上游设备以及所述RC设备的根端口;其中,所述主设备桥,用于接收所述第一访问请求,以及,所述主设备桥在确认所述第一根端口被关闭的情况下,向所述上游设备发送第一响应信息。
在该片上系统中,通过主设备桥响应上游设备发送的第一访问请求,能够缩短请求路由路径,提高请求相应效率。
在一些实施例中,所述主设备桥还用于:在确认所述第一根端口未关闭的情况下,将所述第一访问请求转发给所述第一根端口,以使所述第一根端口响应所述第一访问请求。
在该片上系统中,主设备桥确认第一根端口未关闭的情况下,将第一访问请求转发给第一根端口,从而实现了正常的pcie设备扫描处理逻辑。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种pcie总线系统的拓扑结构示意图。
图2为本申请实施例提供的一种RC设备的内部结构示意图。
图3为本申请实施例提供的pcie总线系统的应用场景示意图。
图4为本申请实施例提供的pcie设备控制方法及pcie设备扫描方法的处理流程示意图。
图5是本申请实施例提供的一种片上系统的结构示意图。
图6是本申请实施例提供的另一种片上系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
高速串行计算机扩展总线标准(peripheral component interconnect express,PCIe)普遍应用于计算机系统的数据通信中,例如用于处理器与高速外设之间的通信。在实际应用中,pcie总线系统包括多个点对点相互连接的组件。
图1示出了一种pcie总线系统的拓扑结构图。参见图1所示,该pcie总线系统的拓扑结构为树形拓扑结构,其主要包括根复合体(Root Complex,RC)设备、交换设备(Switch)、终端(Endpoint,EP)设备和pcie-pci桥(pcie-pci Bridge)等pcie节点。
其中,RC设备是pcie总线的根,该RC设备可以位于片上系统(Systemon Chip,SOC)中,并将片上系统中的处理器(Central Processing Unit,CPU)和内存(Memory)等上游设备连接至pcie总线,并通过pcie总线实现上游设备与其挂载的交换设备、EP设备和PCIE-PCI桥等下游设备的连接。RC设备的主要功能是完成存储器域到pcie总线域的地址转换,pcie总线系统和外设的接口都能够集成于RC设备,它能够引出若干个pcie接口,各接口都能够与pcie节点进行衔接。RC设备能够获取pcie节点传输的请求信息,从而对内存进行访问,相应的,RC设备也可以把处理器的请求信息发送至系统上挂载的EP设备,进而实现处理器与EP设备之间的通信。
交换设备的主要作用是对pcie链路进行扩展,pcie总线的各数据链路只涵盖两个设备,这必然无法符合需求,因此可通过交换设备对其进行扩展。
EP设备,可以理解为pcie总线系统中实现独立功能的设备,不同的EP设备往往支持不同的功能,使得pcie总线系统整体上能够支持多样性的应用功能。在实际应用中,比较具有典型意义的EP设备包括显卡、网卡等,同时,EP设备也是pcie事务的发起方和响应方。
pcie-pci桥的主要作用是对第二代外部部件互连标准(peripheral componentinterconnect,pci)进行有效兼容,其能够支持两个功能:一、能够对pcie总线系统进行转换,从而得到pci总线,并与pci设备进行稳定连接。二、它能够对pci总线进行有效转换,从而得到pcie总线,并与pcie节点进行衔接。
可以理解的是,图1仅是一种pcie总线系统的拓扑结构图的示例,在另一些示例中,交换设备也可以设置在片上系统内部,或者,pcie-pci桥也可以设置于片上系统外部等等,类似的pcie总线系统的拓扑结构不再一一赘述。
图2示出了一种RC设备内部结构的示意图。参见图2所示,RC内部包括一个主设备桥(Host Pcie Bridge,HPB),主设备桥连接多个根端口(Root Port,RP)。在图2中示例性的展示了RC设备中的4个根端口,实际上,RC设备的根端口数量可以根据需求或者根据RC设备的性能灵活设置。
主设备桥HPB与RC设备的上游设备连接,以及与RC设备的各个根端口RP连接。基于该连接关系,主设备桥HPB作为RC设备的上游设备与RC设备的根端口RP之间的桥梁,实现RC设备的上游设备与RC设备的根端口RP之间的数据通信和路由。
根端口RP作为终端设备与RC设备进行数据通信的接口,可用于连接终端设备,从而实现终端设备在RC设备的挂载。多个根端口RP在RC设备中顺序编号以便于区分和寻址。
结合上述介绍,图3示出了pcie总线系统的一种应用场景示意图。参见图3所示,处理器可以同时与多个RC设备连接,RC设备之间可以根据顺序预先编号,以便于区分和管理,RC设备通过根端口RP与EP设备点对点的直接相连。
在实际应用中,处理器通常使用深度优先算法 (Breadth First Serach,BFS)遍历pcie总线系统的树形结构,实现对pcie设备枚举扫描。通过这个枚举扫描,处理器可以发现整个系统中的pcie设备,并对扫描发现的pcie设备进行配置,之后才能正常使用;如果枚举扫描过程中,没有发现某个pcie设备,则后续将不会使用对应的设备,因此后续也不会有请求访问给这个pcie设备。
处理器在遍历pcie树结构的时候,会去读每个设备的设备标识,例如读取设备的Vendor ID,如果读到的值不是FFFF,则表示此位置有设备存在,若为FFFF,则表示设备不存在。VendorID是出厂时就固定在pcie设备配置空间中的数据,表示每个不同的设备,同理,处理器也可以通过Vendor ID值来寻找指定的pcie设备。
参见图3所示的pcie树结构,对CPU来说,最开始仅仅知道Bus0的存在,Bus0下面都有什么设备,pcie树是怎么样的一概不知。因此CPU首先从Bus0,device0开始,先去读device0中Fun0的Vendor ID,如果返回的值不是FFFF,则表示设备存在,继续下一步;若返回FFFF,则device0中没有Fun0,因此该设备不存在,继续探查Bus0,device1,Fun0,以此类推。
在上述的枚举扫描过程中,CPU发出的读VendorID的请求首先到达主设备桥HPB,主设备桥HPB判断当前的请求需要转发给哪一个根端口RP,然后直接将请求进行转发,交由根端口RP作进一步的处理。根端口RP在收到读Vendor ID的请求时,检测在该根端口RP下是否连接有pcie终端设备,若连接有pcie终端设备,则会返回非FFFF的有效VendorID值,从而告诉CPU,当前根端口RP存在于pcie设备树里面,可以进行下一步操作;若未连接有pcie设备,则会返回FFFF,从而告诉CPU当前根端口未连接pcie设备。
在实际应用中,计算机系统的pcie总线系统的结构通常是固定的,即,在根复合体(Root Complex,RC)设备中存在几个根端口(Root Port,RP),在硬件上是已经确定好的。在这种结构中,系统支撑RC中所有RP的运行功耗,即便RP故障或者没有外接设备,也会产生额外的功耗,从而会造成系统功耗浪费。
基于上述问题,本申请实施例提出一种pcie设备控制方法,该方法应用于片上系统,该片上系统包括根复合体RC设备以及与RC设备连接的上游设备,该RC设备中包括至少一个根端口RP。
参见图4所示,上述的pcie设备控制方法,包括:
S101、RC设备的上游设备检测RC设备的第一根端口是否空闲和/或故障。
其中,RC设备的上游设备,可以是处理器、内存等。RC设备的第一根端口,代表RC设备的所有根端口RP中的任意一个或多个。
RC设备的上游设备在对pcie总线系统进行枚举扫描之前,先对RC设备的根端口的状态进行检测,确认其是否空闲,以及确认其是否故障。根端口RP空闲,是指根端口RP未连接pcie终端设备,而根端口RP故障,则表示根端口RP不可用。
示例性的,上游设备监测RC设备的根端口RP是否空闲和/或故障,可以通过读取根端口RP的配置文件,确认根端口RP是否空闲,以及,可以通过与根端口RP发送握手信号,确认根端口RP是否故障。
或者,也可以由工作人员在确认RC设备的根端口RP闲置或故障的情况下,向上游设备发送信息或写入信息,主动告知上游设备该RC设备的根端口存在空闲和/或故障的情况。
在确认RC设备的第一根端口空闲和/或故障的情况下,RC设备的上游设备执行步骤S102、关闭RC设备的第一根端口。
具体的,当上游设备确认RC设备的第一根端口空闲和/或故障的情况下,可以确定该第一根端口下不存在有效的pcie终端设备。此时,上游设备控制该第一根端口关闭,从而能够降低系统功耗。
作为一种示例,上游设备向第一根端口发送关闭指令,控制第一根端口关闭,或者,上游设备也可以向计算机系统发送请求,使计算机系统控制RC设备的第一根端口关闭。
作为另一种优选的实施方式,上游设备通过修改第一根端口的端口状态参数,实现对第一根端口的关闭。
具体而言,片上系统通过运行该片上系统的程序代码,例如运行片上系统固件,能够实现对片上系统各硬件部件的初始化。在片上系统的程序代码中,具有对应RC设备的第一根端口的端口状态参数,第一根端口的端口状态参数,用于表示第一根端口的开关状态,即,可以用于表示第一根端口是否关闭。通过修改第一根端口的端口状态参数,可以使得程序代码对第一根端口进行初始化时对第一根端口进行相应操作。
基于上述系统结构特点,当上游设备需要关闭RC设备的第一根端口时,将片上系统程序代码中的对应第一根端口的端口状态参数,设置为表示端口关闭的目标参数值。例如,假设用0表示端口关闭,用1表示端口开启,则上游设备可以将片上系统程序代码中的对应第一根端口的端口状态参数,设置为0。
当上游设备将RC设备的第一根端口的端口状态参数设置为表征端口关闭的目标参数值后,当片上系统程序代码运行时,例如当片上系统上电初始化时,会将该第一根端口初始化为关闭状态,从而实现第一根端口的关闭。
在确认RC设备的第一根端口被关闭的情况下,该上游设备执行步骤S103、向RC设备发送第一指令。
其中,该第一指令中携带有第一状态信息,该第一状态信息用于表征第一根端口被关闭。
可以理解,上游设备在确认RC设备的第一根端口被关闭的情况下,向RC设备发送指令,告知RC其第一根端口已经被关闭。
具体的,参见图3所示的pcie系统结构示意图,上游设备与RC设备连接,具体是上游设备与RC设备的主设备桥HPB连接。
因此,上游设备向RC设备发送第一指令,具体是上游设备向RC设备的主设备桥HPB发送第一指令,从而使主设备桥HPB获知与其连接的第一根端口已经被关闭。
S104、该上游设备向第一时钟电路发送第二指令。
其中,上述的第一时钟电路,是指设置于片上系统的与第一根端口连接,用于为第一根端口提供时钟信号的时钟电路。
该第一时钟电路,可以设置于RC设备内部,也可以设置于RC设备外部,本申请实施例不做限定,同时,对于第一时钟电路的具体电路结构、工作方式等也不做限定。理论上,在计算机系统或上述的片上系统中,能够为第一根端口提供时钟信号的时钟电路,均可以作为上述的第一时钟电路。
上游设备在确认第一根端口被关闭时,向上述的第一时钟电路发送第二指令,控制该第一时钟电路关闭,从而可以使得在第一根端口关闭的情况下,将第一根端口的时钟也关闭,从而降低时钟功耗。
需要说明的是,上述步骤S103和S104的执行顺序可以灵活调整,可以先执行步骤S103再执行步骤S104,也可以先执行步骤S104再执行步骤S103,或者可以同时执行步骤S103和步骤S104。
S105、RC设备接收上游设备发送的第一指令。
具体的,与上游设备执行上述步骤S103相对应的,RC设备能够接收到该第一指令,通过该第一指令中的第一状态信息,可以使RC设备确定该RC设备中的第一根端口已经被关闭。
参见图3所示的pcie系统结构示意图,上游设备与RC设备连接,具体是上游设备与RC设备的主设备桥HPB连接。
因此, RC设备接收来自上游设备的第一指令,具体是RC设备的主设备桥HPB接收上游设备发送的第一指令,从而使主设备桥HPB获知与其连接的第一根端口已经被关闭。
S106、RC设备基于上述第一指令,将第一根端口的状态标识设置为关闭状态。
具体的,在RC设备中存储有对应的第一根端口的状态标识,该状态标识用于表示第一根端口的开关状态。
当RC设备接收到上述的第一指令,并且基于该第一指令确认第一根端口已经被关闭时,将第一根端口对应的状态标识设置为关闭状态。
参见上述步骤S105的介绍,在实际场景中,由于是主设备桥HPB接收的上游设备发送的第一指令,因此,在执行步骤S106时,也是由RC设备中的主设备桥HPB基于上述的第一指令,将第一根端口的状态标识设置为关闭状态。
此时,该第一根端口的状态标识,可以是存储于主设备桥HPB中。
通过上述的处理过程可以理解,本申请实施例提出的pcie设备的控制方法,实现了通过RC设备的上游设备控制RC设备的关闭,从而能够实现在RC设备的根端口故障或未连接外接设备等情况发生时,及时关闭根端口,从而能够降低系统功耗。并且,在该方法中,与RC设备连接的上游设备能够在RC设备中的第一根端口被关闭的情况下,向RC设备发送表征第一根端口被关闭的第一指令。该方案能够适应RC设备的根端口被关闭的工作模式,上游设备在确认RC设备的根端口关闭的情况下,能够及时告知RC设备,从而使片上系统的各方都获知根端口被关闭的状态,实现了片上系统的根端口的有效关闭,有利于降低系统功耗。
上述处理过程实现了RC设备的第一根端口的有效关闭,并且上游设备能够将第一根端口被关闭的状态信息通过指令传输的方式告知RC设备。
但是,关闭RC设备的根端口会导致原本的RC设备枚举扫描过程无法完成。比如,在RC设备的第一根端口被关闭的情况下,上游设备的系统软件发出的用于读取设备ID的访问请求无法达到第一根端口对应的请求目的地,从而无法对该访问请求进行响应,也就导致上游设备无法确定pcie总线系统的具体结构。
为了解决上述技术问题,本申请实施例继续提出了一种pcie设备扫描方法,该方法应用于上述的片上系统,具体应用户片上系统中的RC设备,并且在上述的pcie设备控制方法执行之后执行。
继续参见图4所示,该pcie设备扫描方法,可以包括上述步骤S101-S106所示的pcie设备控制方法的全部或部分内容,尤其是包括上述步骤S105和S106的处理,即RC设备,具体是RC设备中的主设备桥HPB,接收RC设备的上游设备发送的第一指令,通过该第一指令确定第一根端口被关闭的情况下,将第一根端口的状态标识设置为关闭状态。
S107、上游设备向RC设备发送第一访问请求。
其中,该第一访问请求用于请求RC设备的第一根端口是否连接有pcie设备的响应信息。
具体的,在上游设备执行pcie设备的枚举扫描过程中,当扫描到RC设备的第一根端口时,向RC设备发送第一访问请求,用于请求RC设备向该上游设备反馈表征第一根端口是否连接有pcie设备的响应信息。
上述的响应信息的具体信息形式和信息内容可以灵活设定,比如,可以设定当第一根端口连接有pcie设备时,将该响应信息设置为该pcie设备的ID,当第一根端口未连接有pcie设备时,将该响应信息设置为表征第一根端口未连接有pcie设备的标识信息,比如FFFF。
S108、RC设备接收来自上游设备的第一访问请求。
参见上述图3所示的RC结构示意图,在RC设备中,主设备桥HPB与RC设备的上游设备连接,并且与RC设备的各个根端口RP连接。因此,RC接收来自上游设备的第一访问请求,具体是由RC设备中的主设备桥HPB接收来自上游设备的第一访问请求。
S109、RC设备通过查询第一根端口的状态标识,确定第一根端口是否被关闭。
基于上述步骤S106的处理,RC设备中的主设备桥HPB在接收到RC设备的上游设备发送的第一指令后,根据该第一指令,将RC设备的第一根端口的状态标识设置为关闭状态。
在上述处理的基础上,当RC设备的主设备桥HPB接收到RC设备的上游设备发送的第一访问请求后,首先查询第一根端口的状态标识,确认第一根端口的状态是否为关闭状态,从而确认第一根端口是否被关闭。
在确认第一根端口被关闭的情况下,RC设备执行步骤S110、向上游设备发送第一响应信息。
其中,该第一响应信息表示第一根端口未连接有pcie设备。
具体的,当RC设备确认第一根端口被关闭时,生成表征第一根端口未连接有pcie设备的第一响应信息。并将该第一响应信息发送给上游设备,从而使上游设备确定在第一根端口下未挂载pcie设备。
上述的第一响应信息的具体形式和内容,可以灵活设置,在本申请实施例中,上述的第一响应信息采用特定标识,比如FFFF。即,当RC设备确认第一根端口被关闭时,向上游设备发送FFFF的标识码,以使上游设备确认第一根端口未连接有pcie设备。
在确认第一根端口未被关闭的情况下,RC设备执行步骤S111、将第一访问请求转发给第一根端口,以使第一根端口响应第一访问请求。
具体的,当RC设备确认第一根端口未被关闭时,将该第一访问请求发送至第一根端口,由第一根端口来相应该第一访问请求,即由第一根端口读取与其连接的pcie设备的标识信息,或者读取自身标识信息,并将读取的pcie设备标识信息和/或自身标识信息作为对第一访问请求的响应信息,返回给上游设备。
参见上述实施例内容介绍,RC设备接收上游设备发送的第一访问请求,可以是由RC设备中的主设备桥HPB接收的,而且,查询第一根端口的状态标识确定第一根端口是否被关闭,也可以是由主设备桥HPB来执行的,因此,在本申请实施例中,当主设备桥HPB确认第一根端口被关闭的情况下,由主设备桥HPB直接向上游设备发送上述的第一响应信息。
同理,若主设备桥HPB通过查询第一根端口的状态标识确认第一根端口未被关闭,则主设备桥HPB将接收的第一访问请求转发给第一根端口,由第一根端口来响应该第一访问请求。
通过上述介绍可见,在本申请实施例提出的pcie设备扫描方法中,根复合体RC设备在接收到上游设备发送的用于请求RC设备的第一根端口是否连接有pcie设备的第一访问请求后,先确认第一根端口的状态,当确认第一根端口被关闭时,RC设备向上游设备返回表示所述第一根端口未连接有pcie设备的第一响应信息,从而实现对第一访问请求的响应。
上述方案使得在RC设备的根端口关闭的情况下,也能使执行pcie设备扫描的系统软件收到请求响应信息,从而能够顺利执行pcie设备扫描,使系统软件确定pcie系统结构。
与上述实施例相对应的,本申请实施例还提出一种应用于RC设备的上游设备的pcie设备控制方法,该RC设备,以及与该RC设备连接的上游设备同属于一个片上系统,该RC设备还包括至少一个根端口。
该方法包括:
在RC设备的第一根端口被关闭的情况下,与RC设备连接的上游设备向该RC设备发送第一指令,该第一指令中携带有第一状态信息,该第一状态信息用于表征该RC设备的第一根端口被关闭。
该方法的具体处理过程,可参见上述实施例中的相应内容的介绍。通过该方法,上游设备实现了第一根端口关闭状态的识别,并且将第一根端口被关闭的信息告知RC设备,从而使片上系统中与第一根端口相关的各方都获知第一根端口被关闭的状态,各方可以以此为依据关闭第一根端口相关的功耗,有利于降低系统功耗。
同时,本申请实施例还提出一种应用于片上系统中的RC设备的pcie设备控制方法,在该片上系统中,该RC设备与上游设备连接,并且该RC设备包括至少一个根端口,该方法包括:
该RC设备接收与其连接的上游设备发送的第一指令,该第一指令中携带有第一状态信息,该第一状态信息用于表征该RC设备中的第一根端口被关闭。
该方法的具体处理过程,可参见上述实施例中的相应内容的介绍。在该方法中,RC设备接收上游设备发送的指令,能够获知第一根端口被关闭的状态信息,从而能够有利于RC设备及时优化对第一根端口的功耗支持,有利于降低设备功耗。
此外,本申请实施例还提出一种应用于片上系统的RC设备的pcie设备扫描方法,在该片上系统中,RC设备与上游设备连接,该方法包括:
RC设备接收来自上游设备的第一访问请求,该第一访问请求用于请求RC设备的第一根端口是否连接有pcie设备的响应信息;
RC设备在确认第一根端口被关闭的情况下,向上游设备发送第一响应信息,该第一响应信息表示第一根端口未连接有pcie设备。
该方法的具体处理过程,可参见上述实施例中的相应内容的介绍。通过执行该方法,RC设备在确认第一根端口被关闭时,向上游设备返回表示所述第一根端口未连接有pcie设备的第一响应信息,从而实现对第一访问请求的响应。上述方案使得在RC设备的根端口关闭的情况下,也能使执行pcie设备扫描的系统软件收到请求响应信息,从而能够顺利执行pcie设备扫描,使系统软件确定pcie系统结构。
基于与上述的方法实施例相同的技术构思,本申请实施例还提出一种片上系统,参见图5所示,该片上系统包括:
根复合体RC设备001以及与RC设备001连接的上游设备002,在RC设备001中包括至少一个根端口003。
其中,该片上系统的上游设备,用于执行上述的任意一种pcie设备控制方法实施例中介绍的由上游设备执行的处理过程。
该片上系统的RC设备,用于执行上述的任意一种pcie设备控制方法实施例中介绍的由RC设备执行的处理过程。
此外,本申请实施例还提出另外一种片上系统,参见图6所示,该片上系统包括:
根复合体RC设备011,以及与RC设备011连接的上游设备012;
其中,该上游设备012,用于向RC设备011发送第一访问请求,该第一访问请求用于请求RC设备011的第一根端口是否连接有pcie设备的响应信息;
该RC设备011,用于接收上述的第一访问请求,在确认第一根端口关闭的情况下,向上游设备012发送第一响应信息,该第一响应信息表示第一根端口未连接有pcie设备。
在一些实施例中,上述的上游设备012包括处理器,上述的RC设备011包括主设备桥,该主设备桥用于连接RC设备011的上游设备012以及RC设备011的根端口;
其中,该主设备桥,用于接收第一访问请求,以及,主设备桥在确认第一根端口被关闭的情况下,向上游设备012发送第一响应信息。
在一些实施例中,上述主设备桥还用于:
在确认第一根端口未关闭的情况下,将第一访问请求转发给第一根端口,以使第一根端口响应第一访问请求。
上述的片上系统的各部分的具体工作内容以及各部分的具体结构,均可参见上述方法实施例中的相应介绍。基于上述的片上系统的结构和各部分结构的功能,该片上系统能够将pcie总线系统中的RC设备根端口关闭,并且在根端口关闭的状态下依然能保证正常的pcie设备扫描枚举实现逻辑,从而能够在不影响正常的pcie总线系统工作逻辑的情况下降低系统功耗。
本申请实施例还提出一种计算机设备,该计算机设备包括上述任一实施例中所介绍的片上系统。基于该片上系统的应用,该计算机设备能够及时关闭空闲或故障的RC设备根端口,从而能够降低设备功耗。并且,在RC设备的根端口被关闭的情况下,该计算机设备也能够执行正常的pcie总线系统扫描枚举过程,从而实现了在不影响正常的pcie总线系统工作逻辑的情况下降低设备功耗。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,各实施例中记载的技术特征可以进行替换或者组合。
本申请所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件单元,或者二者的结合来实施。软件单元可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种pcie设备扫描方法,其特征在于,应用于片上系统,所述片上系统包括根复合体RC设备,以及连接于所述RC设备的上游设备,所述方法包括:
所述RC设备接收来自所述上游设备的第一访问请求,所述第一访问请求用于请求所述RC设备的第一根端口是否连接有pcie设备的响应信息;
所述RC设备在确认所述第一根端口被关闭的情况下,向所述上游设备发送第一响应信息,所述第一响应信息表示所述第一根端口未连接有pcie设备,所述第一根端口被关闭用于表征所述上游设备发出的访问请求无法到达所述第一根端口。
2.根据权利要求1所述的方法,其特征在于,所述RC设备包括主设备桥,所述主设备桥用于连接所述RC设备的上游设备以及所述RC设备的根端口;
其中,所述主设备桥用于接收来自所述上游设备的第一访问请求,以及,所述主设备桥在确认所述第一根端口被关闭的情况下,向所述上游设备发送第一响应信息。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述主设备桥在确认所述第一根端口未被关闭的情况下,将所述第一访问请求转发给所述第一根端口,以使所述第一根端口响应所述第一访问请求。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述主设备桥接收所述上游设备发送的第一指令,所述第一指令中携带有第一状态信息,所述第一状态信息用于表征所述RC设备中的第一根端口被关闭。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述主设备桥基于所述第一指令,将所述第一根端口的状态标识设置为关闭状态。
6.根据权利要求5所述的方法,其特征在于,所述主设备桥接收第一访问请求之后,所述方法还包括:
所述主设备桥通过查询所述第一根端口的状态标识,确定所述第一根端口是否被关闭。
7.根据权利要求1-6任一项所述的方法,其特征在于,通过所述片上系统的程序代码中对应所述第一根端口的端口状态参数,表示所述第一根端口是否关闭。
8.一种片上系统,其特征在于,包括:
根复合体RC设备,以及与所述RC设备连接的上游设备;
所述上游设备,用于向所述RC设备发送第一访问请求,所述第一访问请求用于请求所述RC设备的第一根端口是否连接有pcie设备的响应信息;
所述RC设备,用于接收所述第一访问请求,在确认所述第一根端口被关闭的情况下,向所述上游设备发送第一响应信息,所述第一响应信息表示所述第一根端口未连接有pcie设备,所述第一根端口被关闭用于表征所述上游设备发出的访问请求无法到达所述第一根端口。
9.根据权利要求8所述的片上系统,其特征在于,所述上游设备包括处理器,所述RC设备包括主设备桥,所述主设备桥用于连接所述RC设备的上游设备以及所述RC设备的根端口;
其中,所述主设备桥,用于接收所述第一访问请求,以及,所述主设备桥在确认所述第一根端口被关闭的情况下,向所述上游设备发送第一响应信息。
10.根据权利要求9所述的片上系统,其特征在于,所述主设备桥还用于:
在确认所述第一根端口未关闭的情况下,将所述第一访问请求转发给所述第一根端口,以使所述第一根端口响应所述第一访问请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310309556.8A CN116028430B (zh) | 2023-03-28 | 2023-03-28 | 一种pcie设备扫描方法及片上系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310309556.8A CN116028430B (zh) | 2023-03-28 | 2023-03-28 | 一种pcie设备扫描方法及片上系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116028430A CN116028430A (zh) | 2023-04-28 |
CN116028430B true CN116028430B (zh) | 2023-06-13 |
Family
ID=86089609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310309556.8A Active CN116028430B (zh) | 2023-03-28 | 2023-03-28 | 一种pcie设备扫描方法及片上系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116028430B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114390114A (zh) * | 2021-12-17 | 2022-04-22 | 苏州浪潮智能科技有限公司 | 用户数据包协议端口扫描方法、系统、终端及存储介质 |
CN115442259A (zh) * | 2022-08-30 | 2022-12-06 | 奇安信网神信息技术(北京)股份有限公司 | 系统识别方法及装置 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819447B (zh) * | 2012-05-29 | 2015-06-03 | 中国科学院计算技术研究所 | 一种用于多根共享系统的直接i/o虚拟化方法和装置 |
US9800461B2 (en) * | 2014-12-11 | 2017-10-24 | Elbit Systems Of America, Llc | Ring-based network interconnect |
US9747245B2 (en) * | 2014-12-17 | 2017-08-29 | Intel Corporation | Method, apparatus and system for integrating devices in a root complex |
JP6582503B2 (ja) * | 2015-04-08 | 2019-10-02 | 富士通株式会社 | 情報処理装置 |
CN104820646B (zh) * | 2015-05-25 | 2018-02-16 | 烽火通信科技股份有限公司 | 在Linux系统下支持多RC的PCIE设备动态扫描方法 |
US10572434B2 (en) * | 2017-02-27 | 2020-02-25 | International Business Machines Corporation | Intelligent certificate discovery in physical and virtualized networks |
CN110688237B (zh) * | 2019-06-25 | 2024-02-09 | 华为技术有限公司 | 转发报文的方法、中间设备和计算机设备 |
CN113297124B (zh) * | 2020-04-08 | 2022-05-06 | 阿里巴巴集团控股有限公司 | 设备枚举方法、设备、系统及存储介质 |
CN113986800A (zh) * | 2020-07-10 | 2022-01-28 | 华为技术有限公司 | 多处理器系统及配置多处理器系统的方法 |
CN114006875A (zh) * | 2020-07-13 | 2022-02-01 | 华为技术有限公司 | 扩展PCIe系统的方法、PCIe交换设备及PCIe系统 |
CN112256618B (zh) * | 2020-10-23 | 2022-10-21 | 新华三信息安全技术有限公司 | 一种映射关系确定方法及装置 |
CN115480628A (zh) * | 2021-05-31 | 2022-12-16 | 华为技术有限公司 | 一种芯片端口控制的方法和计算机系统 |
CN113934674B (zh) * | 2021-12-17 | 2022-03-01 | 飞腾信息技术有限公司 | 基于pcie总线的命令传输方法及片上系统 |
CN115080479B (zh) * | 2022-06-14 | 2024-03-26 | 阿里巴巴(中国)有限公司 | 传输方法、服务器、设备、裸金属实例及基板管理控制器 |
CN115102780B (zh) * | 2022-07-15 | 2022-12-06 | 飞腾信息技术有限公司 | 数据传输方法、相关装置、系统及计算机可读存储介质 |
CN114912107B (zh) * | 2022-07-15 | 2022-10-25 | 飞腾信息技术有限公司 | 访问管理方法、相关装置、系统及计算机可读存储介质 |
CN115481070A (zh) * | 2022-10-21 | 2022-12-16 | 苏州浪潮智能科技有限公司 | 一种pcie设备扫描方法、装置及其介质 |
-
2023
- 2023-03-28 CN CN202310309556.8A patent/CN116028430B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114390114A (zh) * | 2021-12-17 | 2022-04-22 | 苏州浪潮智能科技有限公司 | 用户数据包协议端口扫描方法、系统、终端及存储介质 |
CN115442259A (zh) * | 2022-08-30 | 2022-12-06 | 奇安信网神信息技术(北京)股份有限公司 | 系统识别方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116028430A (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5559885B2 (ja) | 自己構成可能な周辺装置に適合するホスト/周辺装置ローカル相互接続 | |
JPH1093635A (ja) | ネットワークのトポロジを識別するためのシステムおよび方法 | |
JP6625077B2 (ja) | Usb中継装置を用いたウイルス検出システム及びウイルス検出方法 | |
CN115277348B (zh) | 一种服务器管理方法、服务器及服务器管理系统 | |
JP7317727B2 (ja) | 複数のチップ間の通信をサポートする方法、装置、電子機器およびコンピューター記憶媒体 | |
EP2093973B1 (en) | Information processing apparatus, information processing system and information processing method | |
CN115632900B (zh) | 一种计算设备 | |
JP2002016613A (ja) | 電子機器、電子機器システムおよび通信制御方法 | |
CN116028430B (zh) | 一种pcie设备扫描方法及片上系统 | |
CN116049044B (zh) | 一种pcie设备控制方法、计算机设备及片上系统 | |
CN117312067A (zh) | 网卡调试系统、方法、设备及存储介质 | |
US20120011384A1 (en) | Network Apparatus Having Routing Function and Power Management Method Thereof | |
EP1829335B1 (en) | Network interface with remote control functionality | |
CN110050265A (zh) | 使用了usb中继装置的usb管理系统以及usb管理方法 | |
CN101116040A (zh) | 控制至少一个能联网设备、尤其是家用设备从第一网络接入装置转换到第二网络接入装置的方法和装置 | |
CN101599050A (zh) | 可适配的pci-e控制器核及其方法 | |
KR100412365B1 (ko) | 브릿지 수단을 가지는 가전기기 네트워크 시스템과 그동작방법 | |
CN115865944A (zh) | 设备间点对点通信方法、系统、装置、设备及存储介质 | |
CN113688084B (zh) | 一种实现pcie资源自动分配的电路、方法及存储介质 | |
US6941451B2 (en) | Management subsystem and method for discovering management device functions | |
CN111177061A (zh) | 一种plc扩展模块通信方法、plc及计算机可读存储介质 | |
JP2004005514A (ja) | 多元サービスプラットフォームモジュール | |
KR20000035025A (ko) | 클라이언트 전원이 오프되어 있는 동안에 클라이언트 컴퓨터 시스템의 개개의 초기화 셋팅에 원격으로 억세스하기 위한 데이터 처리 시스템 및 방법 | |
CN113709066B (zh) | 一种PCIe通信装置及BMC | |
JP2012053648A (ja) | 多機能装置および多機能装置の制御方法 |
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 |