CN117215992B - 异构内核处理器、异构处理器和电源管理方法 - Google Patents
异构内核处理器、异构处理器和电源管理方法 Download PDFInfo
- Publication number
- CN117215992B CN117215992B CN202311484553.4A CN202311484553A CN117215992B CN 117215992 B CN117215992 B CN 117215992B CN 202311484553 A CN202311484553 A CN 202311484553A CN 117215992 B CN117215992 B CN 117215992B
- Authority
- CN
- China
- Prior art keywords
- power management
- processor
- kernel
- command
- core
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 346
- 238000000034 method Methods 0.000 claims description 18
- 230000006854 communication Effects 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
Abstract
本申请提供一种异构内核处理器、异构处理器和电源管理方法,所述异构内核处理器,包括:第一内核和与第一内核连接的多个第二内核;多个第二内核运行有多种操作系统;第一内核和多个第二内核中分别配置有管理接口,第一内核与多个第二内核通过管理接口进行通信;第二内核通过自身配置的管理接口向第一内核发送电源管理命令;第一内核中配置有电源管理固件,第一内核通过自身配置的管理接口接收各个第二内核发送的电源管理命令,并通过电源管理固件响应各个第二内核发送的电源管理命令,对各个第二内核进行电源管理。该异构内核处理器用以实现对异构内核处理器中的各个内核进行统一的电源管理。
Description
技术领域
本申请涉及多核处理器领域,具体而言,涉及一种异构内核处理器、异构处理器和电源管理方法。
背景技术
处理器的工作温度、工作电压等参数对处理器的寿命有较大的影响,为了使得处理器拥有较长的寿命,需要对处理器进行实时的电源管理。目前的电源管理方法,通常是针对对称多核或大小核处理器的电源管理方法。此类电源管理方法一般只有大型操作系统才会自身集成相应的电源管理方法,比如Linux操作系统和Windows操作系统。
随着处理器的不断发展,出现了异构内核处理器、异构处理器等跨平台的处理器,此类处理器由多种不同操作系统的处理器集成。由于此类处理器中不同的内核或处理器中运行的操作系统不相同,Linux操作系统自带的电源管理方法无法实现对此类处理器进行统一的电源管理。
发明内容
本申请实施例的目的在于提供一种异构内核处理器、异构处理器和电源管理方法,用以实现对异构处理器中的各个内核进行统一的电源管理。
第一方面,本申请提供一种异构内核处理器,包括:第一内核和与所述第一内核连接的多个第二内核;所述多个第二内核运行有多种操作系统;
所述第一内核和多个所述第二内核中分别配置有管理接口,所述第一内核与多个所述第二内核通过所述管理接口进行通信;
所述第二内核通过自身配置的管理接口向所述第一内核发送电源管理命令;
所述第一内核中配置有电源管理固件,所述第一内核通过自身配置的管理接口接收各个所述第二内核发送的所述电源管理命令,并通过所述电源管理固件响应各个所述第二内核发送的电源管理命令,对各个所述第二内核进行电源管理。
在本申请实施例中,在第一内核上配置电源管理固件,异构内核处理器中的第二内核与第一内核连接。通过第一内核响应第二内核发送的电源管理命令,对各个第二内核进行电源管理,实现对异构内核处理器中运行有不同操作系统的各个内核进行统一的电源管理。采用上述方式一方面可以解决因异构内核处理器中不同内核间操作系统不相同而无法实现统一电源管理的问题。另一方面,由第一内核对异构内核处理器中的各个内核进行统一电源管理,可以减少第二内核的业务负载。尤其是在异构内核处理器中的第二内核为轻量化操作系统的情况下,第二内核可以专注于实现自身需要执行的主要业务,电源管理的业务由第一内核实现,从而减少第二内核的负载,降低第二内核的功耗。此外,第二内核也无需再配置电源管理相关的软件,降低第二内核的软件复杂度。
在可选的实施方式中,所述电源管理命令包括:发送方标识和命令类型;所述发送方标识表征发送该电源管理命令的第二内核,所述命令类型表征该电源管理命令的操作类型。
在可选的实施方式中,所述电源管理命令还包括:操作对象;所述第一内核根据电源管理命令中的操作对象确定该电源管理命令对应的操作对象;根据所述操作对象和预设的管理权限,确定发送所述电源管理命令的第二内核是否具备对所述操作对象进行管理的权限;在所述第二内核具备管理权限的情况下,响应该电源管理命令。
在本申请实施例中,对不同的第二内核赋予不同的操作权限,第二内核只能对一定范围内的操作对象进行电源管理,避免当某个第二内核被攻击后,攻击者可以通过该第二内核发送恶意电源管理命令,对其他第二内核或异构内核处理器中的其他模块进行恶意控制,从而提高异构内核处理器的稳定性。
在可选的实施方式中,所述异构内核处理器还包括:邮箱通道;每个邮箱通道设置在所述第一内核和一个所述第二内核之间,设置在邮箱通道两侧的第一内核和第二内核具有访问该邮箱通道的权限,所述第一内核和所述第二内核通过所述邮箱通道实现内核之间的数据传输。
在本申请实施例中,在第一内核和每个第二内核之间设置邮箱通道,只有设置在邮箱通道两端的内核有权限访问邮箱通道,从而可以减少电源管理命令被外部改写的风险,进而提高异构内核处理器的安全性及稳定性。
在可选的实施方式中,所述邮箱通道还包括:存储器;所述存储器用于存储所述第一内核和多个所述第二内核在通信过程中的电源管理命令。
在本申请实施例中,通过上述方式,在邮箱通道中设置存储器,只有设置在邮箱通道两端的内核有权限访问邮箱通道中的存储器,从而可以减少电源管理命令被外部改写的风险,进而提高异构内核处理器的安全性及稳定性。此外,目前采用共享内存存储电源管理命令的方式中,当多个内核同时发起电源管理命令时,存在多个内核抢占共享内存的情况。每个邮箱通道中均设置存储器存储电源管理命令,多个内核之间不会再出现抢占共享内存的情况,从而提高异构内核处理器的稳定性。
第二方面,本申请提供一种异构处理器,包括:第一处理器和与所述第一处理器连接的多个第二处理器;所述多个第二处理器运行有多种操作系统;所述第一处理器和多个所述第二处理器中分别配置有管理接口,所述第一处理器与多个所述第二处理器通过所述管理接口进行通信;所述第二处理器通过自身配置的管理接口向所述第一处理器发送电源管理命令;所述第一处理器中配置有电源管理固件,所述第一处理器通过自身配置的管理接口接收各个所述第二处理器发送的所述电源管理命令,并通过所述电源管理固件响应各个所述第二处理器发送的电源管理命令,对各个所述第二处理器进行电源管理。
在可选的实施方式中,所述电源管理命令包括:发送方标识和命令类型;所述发送方标识表征发送该电源管理命令的第二处理器,所述命令类型表征该电源管理命令的操作类型。
在可选的实施方式中,所述电源管理命令还包括:操作对象;所述第一处理器根据电源管理命令中的操作对象确定该电源管理命令对应的操作对象;根据所述操作对象和预设的管理权限,确定发送所述电源管理命令的第二处理器是否具备对所述操作对象进行管理的权限;在所述第二处理器具备管理权限的情况下,响应该电源管理命令。
在可选的实施方式中,所述异构处理器还包括:邮箱通道;每个邮箱通道设置在所述第一处理器和一个所述第二处理器之间,设置在邮箱通道两侧的第一处理器和第二处理器具有访问该邮箱通道的权限,所述第一处理器和所述第二处理器通过所述邮箱通道实现处理器之间的数据传输。
在可选的实施方式中,所述邮箱通道还包括:存储器;所述存储器用于存储所述第一处理器和多个所述第二处理器通信过程中的电源管理命令。
第三方面,本申请提供一种电源管理方法,应用于前述第一方面的异构内核处理器,所述方法包括:所述第二内核通过自身配置的管理接口向所述第一内核发送电源管理命令;所述第一内核通过自身配置的管理接口接收各个所述第二内核发送的所述电源管理命令,并通过所述电源管理固件响应各个所述第二内核发送的电源管理命令,对各个所述第二内核进行电源管理。
在可选的实施方式中,在所述第一内核通过自身配置的管理接口接收各个所述第二内核发送的所述电源管理命令之后,所述方法还包括:所述第一内核解析所述电源管理命令,确定所述电源管理命令对应的操作对象;根据所述操作对象和预设的管理权限,确定发送所述电源管理命令的第二内核是否具备对所述操作对象进行管理的权限。
第四方面,本申请提供一种电源管理方法,应用于前述第二方面的异构处理器,所述方法包括:所述第二处理器通过自身配置的管理接口向所述第一处理器发送电源管理命令;所述第一处理器通过自身配置的管理接口接收各个所述第二处理器发送的所述电源管理命令,并通过所述电源管理固件响应各个所述第二处理器发送的电源管理命令,对各个所述第二处理器进行电源管理。
在可选的实施方式中,在所述第一处理器通过自身配置的管理接口接收各个所述第二处理器发送的所述电源管理命令之后,所述方法还包括:所述第一处理器解析所述电源管理命令,确定所述电源管理命令对应的操作对象;根据所述操作对象和预设的管理权限,确定发送所述电源管理命令的第二处理器是否具备对所述操作对象进行管理的权限。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种异构内核处理器的结构框图;
图2为本申请实施例提供的一种异构内核处理器的示意图;
图3为本申请实施例提供的一种异构处理器的结构框图;
图4为本申请实施例提供的一种电源管理方法的流程图;
图5为本申请实施例提供的另一种电源管理方法的流程图。
图标:100-异构内核处理器;101-第一内核;102-第二内核;300-异构处理器;301-第一处理器;302-第二处理器。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请实施例的目的在于提供一种异构内核处理器、异构处理器和电源管理方法,用以实现对异构处理器进行统一的电源管理。
请参阅图1,图1为本申请实施例提供的一种异构内核处理器的结构框图,该异构内核处理器100包括第一内核101和多个第二内核102。
异构内核处理器100可以是一种集成电路芯片,具有信号处理能力。在本申请实施例中,异构内核处理器100可以理解为一个中央处理器(Central Processing Unit,CPU)。异构内核处理器100包括多个内核,多个内核之间的操作系统不相同。
举例来说,一个异构内核处理器100包括三个内核,其中一个内核类型为ARM-A(ARM公司提供的一种操作内核),该内核的操作系统为RTOS2操作系统(ARM公司提供的一种操作系统);一个内核的操作系统为FreeRTOS(Free Real Time Operating System,一种实时操作系统);一个内核类型为RISC-V(Reduced Instruction Set Computing – Five,RISC-V指令集),该内核的操作系统为RT-thread(Real Time-Thread,一种实时操作系统)。
又例如,一个异构内核处理器100包括四个内核,其中一个内核的RTOS2操作系统、一个内核的操作系统为FreeRTOS、一个内核的操作系统为RT-thread、一个内核的操作系统为ThreadX(一种嵌入式操作系统)。
为了实现对异构内核处理器进行统一的电源管理,本申请实施例提供的异构内核处理器100中,从多个内核中确定一个内核作为第一内核101,其他内核作为第二内核102。在第一内核101上配置电源管理固件,异构内核处理器100中的其他内核(即各个第二内核102)与第一内核101连接。第二内核102向第一内核101发起电源管理命令,第一内核101响应接收到的电源管理命令,对各个第二内核102进行电源管理,从而实现对异构内核处理器100中运行有不同操作系统的各个内核进行统一的电源管理。
通过上述方式,一方面可以解决因异构内核处理器100中不同内核间操作系统不相同而无法实现统一电源管理的问题。另一方面,由第一内核101对异构内核处理器100中的各个内核进行统一电源管理,可以减少第二内核102的业务负载。尤其是在异构内核处理器100中的第二内核102为轻量化操作系统(例如:ThreadX、FreeRTOS等操作系统)的情况下,第二内核102可以专注于实现自身需要执行的主要业务,电源管理的业务由第一内核101实现,从而减少第二内核102的负载,降低第二内核102的功耗。此外,第二内核102也无需再配置电源管理相关的软件,降低第二内核102的软件复杂度。
第一内核101中配置的电源管理固件定义有各种电源管理命令,例如:内核性能管理命令,用于调整内核的频率和电压;电压域管理命令,用于调整电压域;电源域管理命令,用于调整电压源等。本申请对电源管理命令的类型和具体形式不做限定。
在电源管理过程中,第二内核102向第一内核101发送电源管理命令,第一内核101接收到电源管理命令后,根据电压管理固件提供的命令解析服务,对电源管理命令进行解析,确定该电源管理命令处理的具体模块。经过命令解析后,第一内核101将该电源管理命令转发至对应的具体模块,对具体模块实现电源管理。
进一步地,第一内核101和多个第二内核102中分别设置有管理接口,第一内核101与多个第二内核102通过管理接口进行通信。管理接口用于实现异构内核处理器100中的核间通信。第二内核102通过管理接口将电源管理命令发送给第一内核101,第一内核101通过管理接口接收各个第二内核102发送的电源管理命令。
本申请对管理接口采用的协议不做限定,管理接口可以采用各种核间通信协议,例如:系统控制管理接口(System Control and Management Interface,SCMI)协议、RPMsg(Remote Processor Messaging,一种核间通信协议)协议等。
进一步地,异构内核处理器100还包括邮箱通道。每个邮箱通道设置在第一内核101和多一个所述第二内核101之间,设置在邮箱通道两侧的第一内核101和第二内核102具有访问该邮箱通道的权限,第一内核101和第二内核102通过邮箱通道用于实现内核之间的数据传输。
本申请实施例中,第一内核101与各个第二内核102之间设置有至少一个邮箱通道,第一内核101与第二内核102之间通过对应的邮箱通道实现电源管理命令的传输。只有设置在邮箱通道两端的内核有权限访问该邮箱通道的权限,其他内核不可以访问该邮箱通道,电源管理命令在邮箱通道中传出,从而减少电源管理命令被外部改写的风险,进而提高异构内核处理器的安全性及稳定性。
邮箱通道mailbox是一种基于缓存的通信机制。异构内核处理器100中每个内核有一组相应的32bit的mailbox寄存器,每一位可被单独地设置或清零。任意内核可直接通过其它内核的mailbox对其它内核发出中断。当mailbox被置位时,相应内核的中断寄存器也同时被置位,软件可实现其中断处理。
作为一种可选的实施方式,邮箱通道中设置有存储器,该存储器用于存储第一内核和多个第二内核在通信过程中的电源管理命令。
本申请实施例中,由于电源管理命令对异构内核处理器100的正常工作影响较大,在mailbox中设置存储器,只有设置在mailbox两端的内核有权限访问该mailbox中的存储器。在第一内核101与第二内核102传输电源管理命令过程中,电源管理命令存储在这两个内核之间的mailbox中的存储器中。
具体地,考虑到电源管理命令具有时序性,存储器可以设置为先入先出(FirstInput First Output,FIFO)队列,先进入FIFO队列的电源管理命令先从FIFO队列中发出。
进一步地,在一些实施例中,第一内核101和第二内核102之间的mailbox存在多个通道,对应每个通道设置1个FIFO队列用于存储,分别存储通过每个通道发送的电源管理命令。
通过上述方式,只有设置在mailbox两端的内核有权限访问mailbox中的存储器,从而可以减少电源管理命令被外部改写的风险,进而提高异构内核处理器100安全性及稳定性。此外,目前采用共享内存存储电源管理命令的方式中,当多个内核同时发起电源管理命令时,存在多个内核抢占共享内存的情况。此外,每个mailbox中均设置存储器存储电源管理命令,多个内核之间不会再出现抢占共享内存的情况。
进一步地,电源管理命令包括:发送方标识和命令类型。发送方标识表征发送该电源管理命令的第二内核,命令类型表征该电源管理命令的操作类型。
进一步地,电源管理命令还包括:操作对象;第一内核根据电源管理命令中的操作对象确定该电源管理命令对应的操作对象;根据操作对象和预设的管理权限,确定发送电源管理命令的第二内核是否具备对操作对象进行管理的权限;在第二内核具备管理权限的情况下,响应该电源管理命令。
以下结合图2对本申请实施例提供的异构内核处理器100进行进一步说明。
如图2所示,异构内核处理器100中设置有3个内核,内核A、内核B和内核C。内核C为第一内核101,内核A和内核B为第二内核102。
内核C上运行SCP-Firmware(System Control Processor Firmware,系统控制管理固件)作为电源管理固件。内核C通过SCP-Firmware响应内核A和内核B发起的电源管理命令,对内核A和内核B进行电源管理。
内核A、内核B和内核C上分别设置有SCMI接口(即管理接口),各个内核之间通过SCMI接口进行通信。SCMI接口用于系统管理的一组独立于操作系统的软件接口,各个内核初始化SCMI接口,初始化SCMI接口过程中需要配置传输层参数,如传输类型、地址、端口等,并建立与底层设备的连接。初始化SCMI接口后,各个内核通过SCMI接口向其他内核发送根据SCMI协议生成的电源管理命令。其他内核通过SCMI接口接收并响应电源管理命令。
内核C与内核A之间设置有mailbox(即邮箱通道),内核C与内核B之间同样设置有mailbox。各个内核之间通过mailbox硬件实现电源管理命令多通道传输。
内核间的mailbox中设置有FIFO,FIFO用于存储mailbox传输中的电源管理命令。对于内核C与内核A之间设置的mailbox,只有内核C和内核A有权限访问该mailbox中的FIFO;同理,对于内核C与内核B之间设置的mailbox,只有内核C和内核B有权限访问该mailbox中的FIFO。
举例来说,内核A通过SCMI接口向内核C发送电源管理命令,该电源管理命令通过内核C与内核A之间设置的mailbox传输给内核C。在传输过程中,电源管理命令存储在内核C与内核A之间设置的mailbox的FIFO中。内核C通过SCMI接口接收内核A发送的电源管理命令。
异构内核处理器100中还设置有以下模块:若干个电源域、若干个电压域、若干个时钟域、若干个复位域、若干个IP(Intellectual Property,知识产权)核和PVT(ProcessVoltage Temperature,工艺 电压 温度)传感器。其中,PVT传感器包括工艺传感器Processsensor,用于通过动态电压频率来监控芯片上工艺偏差以及测量门延时;电压传感器Voltage sensor,用于测量芯片的供电电压;温度传感器Temperature sensor,用于测量芯片的工作温度。
内核C运行的SCP-Firmware提供多种不同类型的SCMI命令,SCMI命令中与电源管理相关的命令类型可以如下所示:
Performance命令:性能域管理,用于动态调整各个内核中的频率和电压。
Voltage命令:电压域管理,用于控制电压域的电压。
Power命令:电源域管理,用于控制电源域的开启和关闭。
Clock命令:时钟域管理,用于控制IP核的时钟。
Sensor命令:传感器管理,用于获取PVT传感器的测量值。
Reset命令:复位域管理,用于控制IP核的复位。
System Power命令:系统电源管理,用于控制整个处理器的关机、复位或内核的上电及下电。
SCP-Firmware在内核C上提供一个SCMI命令解析服务,对SCMI命令进行解析以及转发。SCMI命令中包括agent_id(即发送方标识)和protocol_id(命令类型)。其中,每个内核预先配置有一个agent_id,agent_id用于表示该SCMI命令自于内核A还是内核B。不同类型的SCMI命令对应不同的protocol_id,例如,protocol_id=1表示SCMI命令的命令类型为Voltage命令,protocol_id=2表示SCMI命令的命令类型为Power命令。
内核C接收到一个SCMI命令后,经过SCMI命令解析服务对该SCMI命令的解析并执行该SCMI命令。
进一步地,为了提高电源管理过程中的安全性,对各个内核进行权限管理。SCP-Firmware通过数组定义内核A和内核B的管理权限,该数组用于表征各个内核能够处理的电源域、电压域、时钟域、复位域、IP核和PVT传感器。SCMI命令还包括操作对象,当接收到一个SCMI命令后,对SCMI命令解析确定发送该SCMI命令的内核和该SCMI命令的操作对象。将该SCMI命令的操作对象与发送该SCMI命令的内核的管理权限进行对比,确定该内核是否具备对该SCMI命令的操作对象进行管理的权限。在内核具备管理权限的情况下,内核C响应该内核发送的SCMI命令;反之,在内核不具备管理权限的情况下,内核C忽略该内核发送的SCMI命令。
在一些实施例中,第二内核的管理权限可以配置为与该内核相关的操作对象以及内核自身。即一个第二内核可以对自身以及与该第二内核相关的操作对象进行电源管理,一个第二内核不能对其他内核进行电源管理。
通过上述方式,对不同的第二内核赋予不同的操作权限,第二内核只能对一定范围内的操作对象进行电源管理,避免当某个第二内核被攻击后,攻击者可以通过该第二内核发送恶意电源管理命令,对其他第二内核或异构内核处理器中的其他模块进行恶意控制,从而提高异构内核处理器的稳定性。
以下结合实例对内核之间进行电源管理控制的过程进行说明。
假设异构内核处理器100配置的管理权限为内核A管理电压域1,内核B管理电压域2。
当内核A控制电压域1的电压时,通过SCMI接口向内核C发送Voltage命令,该Voltage命令的agent_id为内核A的id,protocol_id为Voltage命令对应的id。内核C通过SCMI接口接收到Voltage命令后,通过SCMI命令解析服务确定该Voltage命令由内核A发送,该Voltage命令用于控制电压域1的电压。根据管理权限可知,内核A具有管理电压域1的权限,内核C将Voltage命令转发至电压域1,实现内核A对电压域1的管理。
当内核A发送出一个控制电压域2的Voltage命令时,内核C解析后,根据管理权限确定内核A不具有管理电压域2的权限,内核C忽略该Voltage命令。
基于同一发明构思,本申请实施例中还提供一种异构处理器。请参阅图3,图3为本申请实施例提供的一种异构处理器的结构框图,该异构处理器300包括第一处理器301和多个第二处理器302。
异构处理器300包括多个处理器,每个处理器可以为一个CPU,不同CPU之间的操作系统不相同,从而构成异构处理器。每个CPU中可以包括一个或多个内核。
在一些实施方式中,一个CPU中各个内核可以运行相同的操作系统。在另一些实施方式中,一个CPU中各个内核也可以运行不同的操作系统。一个CPU中的各个内核运行不同的操作系统即为前述异构内核处理器。
举例来说,异构处理器300包括三个处理器,其中一个处理器中设置有3个内核,三个内核的操作系统均为RTOS2;另一个处理器中设置有3个内核,其中一个内核的操作系统为FreeRTOS,另外两个内核的操作系统为RT-thread;另一个处理器中设置有1个内核,内核的操作系统为ThreadX。
为了实现对异构处理器进行统一的电源管理,本申请实施例提供的异构处理器300中,从多个处理器中确定一个处理器作为第一处理器301,其他处理器作为第二处理器302。第一处理器301和多个第二处理器302中分别配置有管理接口,第一处理器301与多个第二处理器302通过管理接口进行通信。在第一处理器301上配置电源管理固件,异构处理器300中的其他处理器(即各个第二处理器302)通过自身配置的管理接口向第一处理器301发送电源管理命令,第一处理器301通过自身配置的管理接口接收各个第二处理器302发送的所述电源管理命令并通过电源管理固件响应各个第二处理器302发送的电源管理命令,对各个第二处理器302进行电源管理,从而实现对异构处理器300中运行有不同操作系统的各个处理器进行统一的电源管理。
进一步地,异构处理器300还包括邮箱通道。每个邮箱通道设置在第一处理器和一个第二处理器之间,设置在邮箱通道两侧的第一处理器和第二处理器具有访问该邮箱通道的权限,第一处理器和第二处理器通过邮箱通道实现处理器之间的数据传输。
作为一种可选的实施方式,邮箱通道中设置有寄存器,该寄存器用于存储第一处理器和多个第二处理器在通信过程中的电源管理命令。
进一步地,第一处理器301和多个第二处理器302中分别设置有管理接口,第一处理器301与多个第二处理器302通过管理接口进行通信。第二处理器302通过管理接口将电源管理命令发送给第一处理器301,第一处理器301通过管理接口接收各个第二处理器302发送的电源管理命令。
本申请对管理接口采用的协议不做限定,管理接口可以采用各种核间通信协议,例如:系统控制管理接口协议、RPMsg协议等。
可以理解的是,第一处理器301和第二处理器302之间的交互与前述第一内核101和第二内核102之间的交互对应,为使说明书简洁,相同或相近部分可互相参照,在此不再赘述。
进一步地,作为一种可选的实施方式,电源管理固件可以运行在第一处理器301中一个内核上,由该内核对第一处理器301中的其他内核及各个第二处理器302中的各个内核进行电源管理。
本实施方式中,运行电源管理固件的内核与前述第一内核101类似,第一处理器301中的其他内核及各个第二处理器302中的各个内核与前述第二内核102类似,运行电源管理固件的内核对第一处理器301中的其他内核及各个第二处理器302中的各个内核进行电源管理的具体方式可以参考前述第一内核101对第二内核102进行电源管理的过程,为使说明书简洁,相同或相近部分可互相参照,在此不再赘述。
作为另一种可选的实施方式,电源管理固件可以运行在第一处理器301中的多个内核上,将第一处理器301中没有运行电源管理固件的内核及各个第二处理器302中的各个内核进行分组,由运行有电源管理固件的各个内核分别对分组后的各组内核进行电源管理。
举例来说,异构处理器300包括一个第一处理器301和2个第二处理器302,第一处理器301包括三个内核:内核A1、内核A2、内核A3和内核A4;一个第二处理器302包括三个内核:内核B1、内核B2和内核B3;另一个第二处理器302包括三个内核:内核C1、内核C2和内核C3。内核A1、内核A2和内核A3均运行电源管理固件。内核A1用于对内核A4进行电源管理,内核A2用于对内核B1、内核B2和内核B3进行电源管理,内核A3用于对内核C1、内核C2和内核C3进行电源管理。
本实施方式中,运行电源管理固件的多个内核与前述第一内核101类似,第一处理器301中没有运行电源管理固件的内核及各个第二处理器302中的各个内核与前述第二内核102类似,运行电源管理固件的多个内核对第一处理器301中没有运行电源管理固件的内核及各个第二处理器302中的各个内核进行电源管理的具体方式可以参考前述第一内核101对第二内核102进行电源管理的过程,为使说明书简洁,相同或相近部分可互相参照,在此不再赘述。
基于同一发明构思,本申请实施例中还提供一种电源管理方法。请参阅图4,图4为本申请实施例提供的一种电源管理方法的流程图,该电源管理方法应用于前述实施方式中的异构内核处理器,该电源管理方法可以包括以下内容:
S401:第二内核通过自身配置的管理接口向第一内核发送电源管理命令。
S402:第一内核通过自身配置的管理接口接收各个第二内核发送的电源管理命令,并通过电源管理固件响应各个第二内核发送的电源管理命令,对各个第二内核进行电源管理。
在可选的实施方式中,在第一内核通过自身配置的管理接口接收各个第二内核发送的所述电源管理命令之后,本申请实施例提供的电源管理方法还包括:第一内核解析电源管理命令,确定电源管理命令对应的操作对象;根据操作对象和预设的管理权限,确定发送电源管理命令的第二内核是否具备对操作对象进行管理的权限。
可以理解,本申请提供的电源管理方法与前述第一内核101和第二内核102之间的交互对应,为使说明书简洁,相同或相近部分可互相参照,在此不再赘述。
基于同一发明构思,本申请实施例中还提供一种电源管理方法。请参阅图5,图5为本申请实施例提供的另一种电源管理方法的流程图,该电源管理方法应用于前述实施方式中的异构处理器,该电源管理方法可以包括以下内容:
S501:第二处理器通过自身配置的管理接口向第一处理器发送电源管理命令。
S502:第一处理器通过自身配置的管理接口接收各个第二处理器发送的电源管理命令,并通过电源管理固件响应各个第二处理器发送的电源管理命令,对各个第二处理器进行电源管理。
在可选的实施方式中,在第一处理器通过自身配置的管理接口接收各个第二处理器发送的所述电源管理命令之后,本申请实施例提供的电源管理方法还包括:第一处理器解析电源管理命令,确定电源管理命令对应的操作对象;根据操作对象和预设的管理权限,确定发送电源管理命令的第二处理器是否具备对操作对象进行管理的权限。
可以理解,本申请提供的电源管理方法与前述第一处理器301和第二处理器302之间的交互对应,为使说明书简洁,相同或相近部分可互相参照,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种异构内核处理器,其特征在于,包括:第一内核和与所述第一内核连接的多个第二内核;所述多个第二内核运行有多种操作系统;
所述第一内核和多个所述第二内核中分别配置有管理接口,所述第一内核与多个所述第二内核通过所述管理接口进行通信;
所述第二内核通过自身配置的管理接口向所述第一内核发送电源管理命令;
所述第一内核中配置有电源管理固件,所述第一内核通过自身配置的管理接口接收各个所述第二内核发送的所述电源管理命令,并通过所述电源管理固件响应各个所述第二内核发送的电源管理命令,对各个所述第二内核进行电源管理;其中,所述电源管理固件定义有各种电源管理命令,包括:内核性能管理命令,用于调整内核的频率和电压;电压域管理命令,用于调整电压域;电源域管理命令,用于调整电压源;
其中,所述第一内核具体用于:
针对一个电源管理命令,通过所述电源管理固件对所述电源管理命令进行解析,确定所述电源管理命令处理的具体模块;其中,所述具体模块为所述第二内核自身以及与所述第二内核相关的操作对象;
将所述电源管理命令转发至对应的具体模块,对所述具体模块进行电源管理;
所述电源管理命令包括:操作对象;
所述第一内核根据电源管理命令中的操作对象确定该电源管理命令对应的操作对象;
根据所述操作对象和预设的管理权限,确定发送所述电源管理命令的第二内核是否具备对所述操作对象进行管理的权限;
在所述第二内核具备管理权限的情况下,响应该电源管理命令。
2.根据权利要求1所述的异构内核处理器,其特征在于,所述电源管理命令包括:发送方标识和命令类型;所述发送方标识表征发送该电源管理命令的第二内核,所述命令类型表征该电源管理命令的操作类型。
3.根据权利要求1所述的异构内核处理器,其特征在于,所述异构内核处理器还包括:邮箱通道;每个邮箱通道设置在所述第一内核和一个所述第二内核之间,设置在邮箱通道两侧的第一内核和第二内核具有访问该邮箱通道的权限,所述第一内核和所述第二内核通过所述邮箱通道实现内核之间的数据传输。
4.根据权利要求3所述的异构内核处理器,其特征在于,所述邮箱通道还包括:存储器;所述存储器用于存储所述第一内核和多个所述第二内核在通信过程中的电源管理命令。
5.一种异构处理器,其特征在于,包括:第一处理器和与所述第一处理器连接的多个第二处理器;所述多个第二处理器运行有多种操作系统;
所述第一处理器和多个所述第二处理器中分别配置有管理接口,所述第一处理器与多个所述第二处理器通过所述管理接口进行通信;
所述第二处理器通过自身配置的管理接口向所述第一处理器发送电源管理命令;
所述第一处理器中配置有电源管理固件,所述第一处理器通过自身配置的管理接口接收各个所述第二处理器发送的所述电源管理命令,并通过所述电源管理固件响应各个所述第二处理器发送的电源管理命令,对各个所述第二处理器进行电源管理;其中,所述电源管理固件定义有各种电源管理命令,包括:内核性能管理命令,用于调整内核的频率和电压;电压域管理命令,用于调整电压域;电源域管理命令,用于调整电压源;
其中,所述第一处理器具体用于:
针对一个电源管理命令,通过所述电源管理固件对所述电源管理命令进行解析,确定所述电源管理命令处理的具体模块;其中,所述具体模块为所述第二处理器自身以及与所述第二处理器相关的操作对象;
将所述电源管理命令转发至对应的具体模块,对所述具体模块进行电源管理;
所述电源管理命令包括:操作对象;
所述第一处理器根据电源管理命令中的操作对象确定该电源管理命令对应的操作对象;
根据所述操作对象和预设的管理权限,确定发送所述电源管理命令的第二处理器是否具备对所述操作对象进行管理的权限;
在所述第二处理器具备管理权限的情况下,响应该电源管理命令。
6.根据权利要求5所述的异构处理器,其特征在于,所述电源管理命令包括:发送方标识和命令类型;所述发送方标识表征发送该电源管理命令的第二处理器,所述命令类型表征该电源管理命令的操作类型。
7.根据权利要求5所述的异构处理器,其特征在于,所述异构处理器还包括:邮箱通道;每个邮箱通道设置在所述第一处理器和一个所述第二处理器之间,设置在邮箱通道两侧的第一处理器和第二处理器具有访问该邮箱通道的权限,所述第一处理器和所述第二处理器通过所述邮箱通道实现处理器之间的数据传输。
8.根据权利要求7所述的异构处理器,其特征在于,所述邮箱通道还包括:存储器;所述存储器用于存储所述第一处理器和多个所述第二处理器通信过程中的电源管理命令。
9.一种电源管理方法,其特征在于,应用于如权利要求1-4任一项所述的异构内核处理器,所述方法包括:
所述第二内核通过自身配置的管理接口向所述第一内核发送电源管理命令;
所述第一内核通过自身配置的管理接口接收各个所述第二内核发送的所述电源管理命令,并通过所述电源管理固件响应各个所述第二内核发送的电源管理命令,对各个所述第二内核进行电源管理。
10.一种电源管理方法,其特征在于,应用于如权利要求5-8任一项所述的异构处理器,所述方法包括:
所述第二处理器通过自身配置的管理接口向所述第一处理器发送电源管理命令;
所述第一处理器通过自身配置的管理接口接收各个所述第二处理器发送的所述电源管理命令,并通过所述电源管理固件响应各个所述第二处理器发送的电源管理命令,对各个所述第二处理器进行电源管理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311484553.4A CN117215992B (zh) | 2023-11-09 | 2023-11-09 | 异构内核处理器、异构处理器和电源管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311484553.4A CN117215992B (zh) | 2023-11-09 | 2023-11-09 | 异构内核处理器、异构处理器和电源管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117215992A CN117215992A (zh) | 2023-12-12 |
CN117215992B true CN117215992B (zh) | 2024-01-30 |
Family
ID=89046638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311484553.4A Active CN117215992B (zh) | 2023-11-09 | 2023-11-09 | 异构内核处理器、异构处理器和电源管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117215992B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901207A (zh) * | 2010-07-23 | 2010-12-01 | 中国科学院计算技术研究所 | 异构共享存储多处理机系统的操作系统及其工作方法 |
CN103793255A (zh) * | 2014-02-27 | 2014-05-14 | 重庆邮电大学 | 可配置的多主模式多os内核实时操作系统架构与启动方法 |
CN105793819A (zh) * | 2013-12-23 | 2016-07-20 | 英特尔公司 | 包括混合处理器核的片上系统(soc) |
CN110083547A (zh) * | 2018-01-25 | 2019-08-02 | 三星电子株式会社 | 异构计算系统及其操作方法 |
CN112181639A (zh) * | 2020-09-11 | 2021-01-05 | 江苏航天龙梦信息技术有限公司 | 基于龙芯平台的动态调频调压方法 |
CN114327930A (zh) * | 2021-11-23 | 2022-04-12 | 北京智芯微电子科技有限公司 | 用于异构多核核间通信的系统架构和系统架构的运行方法 |
CN114564435A (zh) * | 2022-02-25 | 2022-05-31 | 中国农业银行股份有限公司 | 异构多核芯片的核间通信方法、装置及介质 |
CN114817120A (zh) * | 2022-06-29 | 2022-07-29 | 湖北芯擎科技有限公司 | 一种跨域数据共享方法、系统级芯片、电子设备及介质 |
CN115048226A (zh) * | 2022-08-15 | 2022-09-13 | 南京芯驰半导体科技有限公司 | 一种多核异构处理器的虚拟控制系统及方法 |
CN115509986A (zh) * | 2022-09-28 | 2022-12-23 | 美的集团(上海)有限公司 | 核间通信方法、电子设备及存储介质 |
KR20230087336A (ko) * | 2021-12-09 | 2023-06-16 | 삼성전자주식회사 | 가상화 시스템 및 그 구동 방법 |
CN116627886A (zh) * | 2023-04-11 | 2023-08-22 | 杭州华橙软件技术有限公司 | 核间通信方法及其设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8789063B2 (en) * | 2007-03-30 | 2014-07-22 | Microsoft Corporation | Master and subordinate operating system kernels for heterogeneous multiprocessor systems |
US20130060555A1 (en) * | 2011-06-10 | 2013-03-07 | Qualcomm Incorporated | System and Apparatus Modeling Processor Workloads Using Virtual Pulse Chains |
-
2023
- 2023-11-09 CN CN202311484553.4A patent/CN117215992B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901207A (zh) * | 2010-07-23 | 2010-12-01 | 中国科学院计算技术研究所 | 异构共享存储多处理机系统的操作系统及其工作方法 |
CN105793819A (zh) * | 2013-12-23 | 2016-07-20 | 英特尔公司 | 包括混合处理器核的片上系统(soc) |
CN103793255A (zh) * | 2014-02-27 | 2014-05-14 | 重庆邮电大学 | 可配置的多主模式多os内核实时操作系统架构与启动方法 |
CN110083547A (zh) * | 2018-01-25 | 2019-08-02 | 三星电子株式会社 | 异构计算系统及其操作方法 |
CN112181639A (zh) * | 2020-09-11 | 2021-01-05 | 江苏航天龙梦信息技术有限公司 | 基于龙芯平台的动态调频调压方法 |
CN114327930A (zh) * | 2021-11-23 | 2022-04-12 | 北京智芯微电子科技有限公司 | 用于异构多核核间通信的系统架构和系统架构的运行方法 |
KR20230087336A (ko) * | 2021-12-09 | 2023-06-16 | 삼성전자주식회사 | 가상화 시스템 및 그 구동 방법 |
CN114564435A (zh) * | 2022-02-25 | 2022-05-31 | 中国农业银行股份有限公司 | 异构多核芯片的核间通信方法、装置及介质 |
CN114817120A (zh) * | 2022-06-29 | 2022-07-29 | 湖北芯擎科技有限公司 | 一种跨域数据共享方法、系统级芯片、电子设备及介质 |
CN115048226A (zh) * | 2022-08-15 | 2022-09-13 | 南京芯驰半导体科技有限公司 | 一种多核异构处理器的虚拟控制系统及方法 |
CN115509986A (zh) * | 2022-09-28 | 2022-12-23 | 美的集团(上海)有限公司 | 核间通信方法、电子设备及存储介质 |
CN116627886A (zh) * | 2023-04-11 | 2023-08-22 | 杭州华橙软件技术有限公司 | 核间通信方法及其设备 |
Non-Patent Citations (1)
Title |
---|
一种基于异构双核处理器的嵌入式操作系统构架设计;蒋建春;曾素华;岑明;;计算机应用(第10期);正文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117215992A (zh) | 2023-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6067628A (en) | Method to monitor universal serial bus hub overcurrent | |
KR101979363B1 (ko) | 애플리케이션 토폴로지 관계의 발견 방법, 장치, 및 시스템 | |
CN107924341B (zh) | 基于平台遥测数据的实时的本地和全局数据中心网络优化 | |
US7853958B2 (en) | Virtual machine monitor management from a management service processor in the host processing platform | |
KR100727050B1 (ko) | 전력 관리가능 자원을 모니터링하고 제어하는 시스템 및방법 | |
Larsen et al. | Architectural breakdown of end-to-end latency in a TCP/IP network | |
US20140068134A1 (en) | Data transmission apparatus, system, and method | |
US8359408B2 (en) | Enabling functional dependency in a multi-function device | |
US8495265B2 (en) | Avoiding non-posted request deadlocks in devices by holding the sending of requests | |
US7768907B2 (en) | System and method for improved Ethernet load balancing | |
US20080043769A1 (en) | Clustering system and system management architecture thereof | |
US9734100B2 (en) | Network controller sharing between SMM firmware and OS drivers | |
US7979686B1 (en) | System and method for isochronous task switching via hardware scheduling | |
JP2008199138A (ja) | 情報処理装置及び情報処理システム | |
EP2472355B1 (en) | Graceful out-of-band power control of remotely-managed computer systems | |
US20100333112A1 (en) | Method and System for Secure Communication Between Processor Partitions | |
US7506074B2 (en) | Method, system, and program for processing a packet to transmit on a network in a host system including a plurality of network adaptors having multiple ports | |
WO2021120671A1 (zh) | 一种基于请求应答的半虚拟化i/o系统和方法 | |
US8285893B2 (en) | System and method for adaptively setting connections to input/output hubs within an information handling system | |
CN101232556A (zh) | 半导体集成电路和数据处理系统 | |
JP2013508833A (ja) | 論理的にパーティション化されたシステムにおいてパーティション間の効率的なコミュニケーションを行うための装置、方法、及びコンピュータ・プログラム | |
CN117215992B (zh) | 异构内核处理器、异构处理器和电源管理方法 | |
US20130151885A1 (en) | Computer management apparatus, computer management system and computer system | |
US9755892B2 (en) | Integrated device managment over Ethernet network | |
JP5091975B2 (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 |