CN112579513B - 芯片自适应控制电路、方法和系统级芯片 - Google Patents

芯片自适应控制电路、方法和系统级芯片 Download PDF

Info

Publication number
CN112579513B
CN112579513B CN202011442788.3A CN202011442788A CN112579513B CN 112579513 B CN112579513 B CN 112579513B CN 202011442788 A CN202011442788 A CN 202011442788A CN 112579513 B CN112579513 B CN 112579513B
Authority
CN
China
Prior art keywords
core
cores
chip
state
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011442788.3A
Other languages
English (en)
Other versions
CN112579513A (zh
Inventor
王琦玮
李凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Haiguang Microelectronics Technology Co Ltd
Original Assignee
Chengdu Haiguang Microelectronics Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Haiguang Microelectronics Technology Co Ltd filed Critical Chengdu Haiguang Microelectronics Technology Co Ltd
Priority to CN202011442788.3A priority Critical patent/CN112579513B/zh
Publication of CN112579513A publication Critical patent/CN112579513A/zh
Application granted granted Critical
Publication of CN112579513B publication Critical patent/CN112579513B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • 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)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Power Sources (AREA)

Abstract

本公开提供了一种芯片自适应控制电路、方法和系统级芯片。根据本公开的芯片自适应控制电路包括:微处理器电路,配置成发送采集触发信号;计数器电路,配置成响应于采集触发信号,采集芯片内的至少一部分核心的工作状态;微处理器电路还配置成:基于至少一部分核心的工作状态确定是否开启或关闭芯片内的部分核心,并基于确定生成第一指示信号,第一指示信号用于指示按照核心顺序开启或关闭部分核心;以及控制电路:配置成基于第一指示信号按照核心顺序开启或关闭部分核心。

Description

芯片自适应控制电路、方法和系统级芯片
技术领域
本公开涉及处理器技术领域,更具体地,涉及一种芯片自适应控制电路、方法和系统级芯片。
背景技术
随着制造技术的进步,芯片的规模越来越大,能源效率与性能也不断得到提高。随着晶体管的尺寸变得越来越小,芯片的运行速度也随着功率效率的提高而提高。为了实现更强的性能和更高的功效,系统级芯片(System-on-a-Chip,SoC),也称为片上系统中大多设计有多个核心(Core)以并行运转。在传统的设计中,SoC中所有的核心均处于活跃状态,在计算量较大的情况下,这种设计方式会使得芯片的效能得到提高。
然而,在实际应用中,SoC并非一直处于繁重的工作负荷下。大多数情况中,SoC的工作负荷并不需要芯片内所有的核心均满负荷运行,此时,保持SoC内所有核心皆处于活跃状态将会导致严重的功耗浪费。
发明内容
本公开提供了一种芯片自适应控制电路、方法和系统级芯片,用于对芯片内的核心进行自适应控制,以避免功率浪费,从而提升芯片的性能和运行效率。
根据本公开的一方面,提供了一种芯片自适应控制电路,包括:微处理器电路,配置成发送采集触发信号;计数器电路,配置成响应于采集触发信号,采集芯片内的至少一部分核心的工作状态;微处理器电路还配置成:基于至少一部分核心的工作状态确定是否开启或关闭芯片内的部分核心,并基于确定生成第一指示信号,第一指示信号用于指示按照核心顺序开启或关闭部分核心;以及控制电路,配置成基于第一指示信号按照核心顺序开启或关闭部分核心。
根据本公开的另一方面,提供了一种芯片自适应控制方法,包括:响应于采集触发信号,采集芯片内的至少一部分核心的工作状态;基于至少一部分核心的工作状态确定是否开启或关闭芯片内的部分核心,并基于确定生成第一指示信号,第一指示信号用于指示按照核心顺序开启或关闭部分核心;以及基于第一指示信号按照核心顺序开启或关闭部分核心。
根据本公开的又一方面,提供了一种系统级芯片,包括:多个核心;以及如上所描述的芯片自适应控制电路。
根据本公开提供的芯片自适应控制电路、方法以及系统级芯片,通过监控核心的工作状态,自适应地控制芯片内的核心的开启或关闭状态,避免在较低的工作负荷下开启芯片内的全部核心而造成的资源浪费,从而有效提高芯片的运行效率。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本公开提供的芯片自适应控制电路的示意性框图;
图2示出了根据本公开实施例的芯片示意图;
图3示出了本公开提供的芯片自适应控制方法的示意性流程图;
图4示出了根据本公开实施例的方法流程图;
图5示出了本公开提供的系统级芯片的示意性框图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
对于包括多个核心的芯片,相关技术中只同时控制芯片内全部核心的开关状态,这使得在应用过程中,即使是在较低的工作负载,也将开启全部核心。即,芯片内所有核心均处于工作状态,造成不必要的功耗浪费。
本公开提出了一种芯片自适应控制电路,通过监控芯片内核心的工作状态,自适应地控制核心的开启或关闭状态,避免在较低的工作负荷下开启全部核心而造成的资源浪费。利用本公开提供的电路,通过自适应控制的方式来控制核心的开关状态,能够提升芯片的运行效率,降低功耗。
图1示出了本公开提供的芯片自适应控制电路的示意性框图。如图1所示,芯片自适应控制电路1000可以包括微处理器电路1010、计数器电路1020以及控制电路1030。具体地,微处理器电路1010可以配置成发送采集触发信号。采集触发信号用于触发诸如计数器电路1020进行采集核心的工作状态。例如,微处理器电路1010可以定时地发送采集触发信号,诸如每隔1小时。又例如,微处理器电路可以基于外部的输入信号来发送采集触发信号,该输入信号例如可以由芯片的使用者经由输入/输出接口传输至微处理器电路。
计数器电路1020可以配置成响应于采集触发信号,采集芯片内的至少一部分核心的工作状态。根据本公开实施例,核心的工作状态可以包括:核心内的算术逻辑单元(arithmetic and logic unit,ALU)的工作状态、存储器的工作状态以及有限状态机(Finite State Machine,FSM)的工作状态。其中,工作状态可以包括活跃状态和闲置状态。需要注意的是,计数器电路1020还可以监控核心内其他单元或模块的工作状态,即,监控的内容不限于ALU、存储器以及FSM。此外,作为根据本公开的其他实施例,计数器电路还可以只监控上述ALU、存储器以及FSM三者中的一部分。
在接收到采集触发信号之后,计数器电路1020可以采集芯片内至少一部分核心的工作状态,例如,采集芯片内所有核心的工作状态。在此情形下,微处理器电路1010可以基于所有核心的工作状态来确定是否开启或关闭芯片内的部分核心,诸如关闭其中一个核心。又例如,计数器电路1020还可以采集芯片内一部分核心的工作状态。假设芯片内共包括12个核心,则计数器电路1020可以采集芯片内诸如10个核心的工作状态。在此情形下,微处理器电路1010可以基于采集的10个核心的工作状态来确定是否开启或关闭芯片内的部分核心,诸如开启其中一个核心。
具体的,针对需要采集其工作状态的核心,计数器电路1020可以分别采集该核心内的ALU、存储器以及FSM的工作状态。其中,采集ALU的工作状态可以是指记录ALU的工作周期(work cycle)和等待周期(wait cycle)。采集存储器的工作状态可以是指记录存储器的读/写请求(Wr/Rd request)的工作状态,具体是指记录存储器的读/写请求的工作周期和等待周期。对于FSM,可以直接记录FSM的状态,其包括活跃状态和闲置状态两种情形。
在下文中,将以芯片共包括12个核心且采集所有核心的工作状态作为具体示例来描述根据本公开的方法。需要注意的是,本公开的方法可以广泛适用于其他的情形,例如,芯片可以包括其他数目的核心,或者可以采集一部分核心(而非全部核心)的工作状态。
具体的,在上述示例中,计数器电路1020在接收到采集触发信号后,将针对12个核心中的每个核心分别采集该核心内的ALU、存储器和FSM的工作状态。采集的数据用于微处理器电路1010进行判断,即,确定是否需要开启或关闭芯片内的部分核心。
根据本公开实施例,如图1所示,芯片自适应控制电路1000还可以包括寄存器电路1040,配置成存储预定阈值。此外,寄存器电路1040还可以用于存储计数器电路1020采集的数据。例如,计数器电路1020可以将采集到的数据通过数据线存储至寄存器电路1040中。接着,寄存器电路1040可以将其中存储的预定阈值与采集的收据传输至微处理器电路1010。
根据本公开实施例,微处理器电路1010还可以配置成:基于至少一部分核心的工作状态确定是否开启或关闭芯片内的部分核心。具体的,微处理器电路1010可以配置成基于预定阈值与采集的核心的工作状态确定是否开启或关闭芯片内的部分核心。
对于12个核心中的每个核心,微处理器电路1010可以将采集的ALU的工作周期和等待周期与其预定阈值进行比较,以判断ALU是处于活跃状态还是闲置状态,接着,可以将采集的存储器的读/写请求的工作周期和等待周期与其预定阈值进行比较,以判断存储器是处于活跃状态还是闲置状态。然后,微处理器电路1010可以基于ALU的工作状态、存储器的工作状态以及FSM的工作状态来确定当前核心的工作状态。换句话说,针对每个核心,微处理器电路1010可以基于其核心的内部电路工作状态来判断该核心的工作状态,从而可以基于芯片内12个核心的工作状态来进行综合地判断,以确定当前芯片的运行负载情形。例如,基于芯片内大部分核心均处于闲置状态,则可以确定芯片的计算量较少,由此可以适当地关闭部分核心以降低功耗。又例如,基于芯片内大部分核心均处于工作状态,并且还存在处于关闭状态的核心,则可以确定芯片的计算量较大,由此可以适当地开启处于关闭状态的部分核心,以提升芯片的运行效率。此外,微处理器电路1010还可以按照其他的判断方式来确定是否有必要开启或关闭部分核心,本公开对判断的逻辑不进行限制。
具体的,根据本公开实施例,微处理器电路1010还可以配置成基于以上确定而生成第一指示信号。其中,第一指示信号用于指示按照核心顺序开启或关闭部分核心。控制电路1030可以配置成基于第一指示信号按照核心顺序开启或关闭部分核心。由此,在判断需要开启或关闭部分核心之后,微处理器电路1010可以生成第一指示信号,以指示控制电路1030来进行相应的控制处理。对于核心顺序,以12个bit分别对应于12个核心为例,在需要关闭诸如1个核心的情况下,控制电路1030将按照bit 11到bit 0的顺序关闭对应位置的一个核心。或者,在需要开启诸如1个核心的情况下,控制电路1030将按照相反的顺序控制开启一个核心。
基于此,芯片自适应控制电路1000可以基于芯片内部核心的工作状态来自行判断需要投入使用的核心数目,使得核心的运行数目与当前计算量相匹配,既可以保证较大计算量时的运行效率又可以自适应地避免较小计算量时的功耗浪费。
在实际制造芯片的过程中,可能存在故障核心。一般地,将通过掩码技术来覆盖该故障核心,以使其处于关闭状态。由此,根据本公开实施例的微处理器电路1010还可以配置成确定该部分核心(即,确定需要开启或者关闭的那部分核心)中是否存在被掩码覆盖的核心。例如,电路1010可以将确定开启的部分核心与记录的被掩码的核心进行比较。如果确定该部分核心中存在被掩码覆盖的核心,则微处理器电路1010可以生成第二指示信号。其中,第二指示信号用于指示控制电路1030不对被掩码覆盖的核心进行操作,而按照上述核心顺序开启或关闭被掩码覆盖的核心之后的核心。
例如,在确定需要开启对应于bit 0至bit 8的9个核心的情况下,微处理器电路1010还进一步判断bit 0至bit 8这9个核心内是否存在被掩码覆盖的核心,假设确定对应于bit 3的核心是被掩码覆盖的故障核心,则微处理器电路1010可以对应的生成第二指示信号,用于指示控制电路跳过该对应于bit 3的核心,而按照核心顺序开启其之后的核心。接着,控制电路1030可以配置成基于第二指示信号不对被掩码覆盖的核心进行操作,而按照核心顺序开启或关闭被掩码覆盖的核心之后的核心。作为示例,控制电路1030可以基于第二指示信号而开启bit 0至bit 2以及bit 4至bit 9这9个核心,由此,可以避免对被掩码覆盖的核心进行不必要的操作。
对于芯片内的核心,其内部由多个功能模块组成。作为示例,功能模块可以是知识产权核(intellectual property core),其通常是指应用在系统级芯片中且具有特定功能且可复用的电路模块,具有标准性和可交易性。一般地,核心内的多个功能模块均处于工作状态。
根据本公开实施例的芯片自适应控制电路不仅可以按照如上所描述的方式来控制核心的工作状态,还可以进一步地控制核心内包括的多个功能模块的工作状态。
根据本公开实施例,计数器电路1020还可以配置成采集芯片内的核心内的功能模块的工作状态。对于多个功能模块中的每个功能模块,控制方式是类似的,以下将详细描述一个功能模块的控制过程。例如,功能模块的工作状态包括:功能模块内的算术逻辑单元(ALU)的工作状态、存储器的工作状态以及有限状态机(FSM)的工作状态,其中,工作状态包括活跃状态和闲置状态。需要注意的是,计数器电路1020还可以监控功能模块内其他单元或模块的工作状态,即,监控的内容不限于ALU、存储器以及FSM。此外,作为根据本公开的其他实施例,计数器电路还可以只监控功能模块中的上述ALU、存储器以及FSM三者中的一部分。
与进行核心控制的过程类似,计数器电路1020在接收到采集触发信号后,可以在采集每个核心的ALU、存储器、FSM的工作状态的同时,还采集核心内的每个功能模块内的ALU、存储器以及FSM的工作状态。接着,计数器电路1020可以将采集的数据全部传输至寄存器电路1040,并由电路1040提供至微处理器电路1010以进行后续的判断。
按照本公开提供的方式,对于芯片的核心需要进行的操作对应于4种情形,包括:保持开启的核心(即,之前处于开启状态且经过微处理器电路确定为仍需开启的核心)、新开启的核心(即,之前处于关闭状态且经过微处理器电路确定为需要开启的核心)、保持关闭的核心(即,之前处于关闭状态且经过微处理器电路确定为仍需关闭的核心)以及新关闭的核心(即,之前处于开启状态且经过微处理器电路确定为需要关闭的核心)。针对以上4种情形,根据本公开的微处理器电路1010将分别进行以下处理。
首先,对于保持开启的核心,微处理器电路1010可以进一步配置成:基于该核心的工作状态以及该核心内的功能模块的工作状态确定是否开启或关闭该功能模块,并基于确定结果生成第三指示信号。其中,第三指示信号用于指示控制电路1030开启或关闭该功能模块。例如,对于此类保持开启的核心,可以进一步确定其内部的多个功能模块是否需要进行进一步的自适应控制。假设,对于一个保持开启的核心,微处理器电路1010首先判断该核心的整体工作状态,例如是闲置状态。接着,微处理器电路1010可以判断其内部的一个功能模块的工作状态,假设该功能模块内的ALU、FSM以及存储器均处于闲置状态,则可以确定关闭该闲置的功能模块,以降低功耗。假设,该功能模块内的ALU、FSM以及存储器中存在处于工作状态的情形,则保持开启该功能模块。
接着,对于新开启的核心,一般地,微处理器电路1010可以配置成开启该核心内的所有功能模块。这是由于新开启的核心其之前是处于关闭状态,则可以使其内部的全部功能模块均投入使用,进行计算处理,以快速提高芯片的处理速度。
对于新关闭或者保持关闭的核心,微处理器电路1010可以配置成关闭该核心内的所有功能模块,这样可以使得核心的控制状态与其内部的功能模块的控制状态保持一致,避免指示关闭核心而指示开启该核心内的功能模块的矛盾情形。
图2示出了根据本公开实施例的芯片2000示意图,以下将结合图2具体描述根据本公开提供的芯片自适应控制电路。
如图2所示,芯片2000可以包括多个核心,例如核心0至核心n,其中n可以等于11,即芯片共包括12个核心。示意性地,对于核心n,其内部可以包括多个功能模块,例如,功能模块0至功能模块m,其中m示例性的也可以等于11,即核心内共包括12个功能模块。具体的,每个核心内可以包括其各自的FSM、ALU、存储器,以及用于提供时钟信号的时钟电路。对于核心内的每个功能模块,也可以包括其各自的FSM、ALU、存储器。
例如,在接收到采集触发信号之后,计数器电路可以采集每个核心的工作状态以及核心内每个功能模块的工作状态,并将采集的数据传输至寄存器电路。接着,寄存器电路将存储的预定阈值以及采集的数据发送至微处理器电路,以进行工作状态的判断。接着,微处理器电路可以按照如上结合图1所描述的方式确定是否有必要开启或关闭部分核心,以及是否需要开启或关闭核心内的部分功能模块,并基于确定的结果生成对应的指示信号。控制电路基于指示信号来对芯片的工作状态进行对应的控制操作。
具体的,图2中示出的微处理器电路、控制电路、计数器电路以及寄存器电路(其中,计数器电路和寄存器电路统称为监控电路)可以构成根据本公开提供的芯片自适应控制电路(如图1所描述的),其可以与芯片内的核心相互配合地进行芯片自适应控制。
根据本公开提供的芯片自适应控制电路,通过监控核心的工作状态,自适应地控制芯片内的核心的开启或关闭状态,避免在较低的工作负荷下开启芯片内的全部核心而造成的资源浪费,从而有效提高芯片的运行效率。
根据本公开的另一方面,还提供了一种芯片自适应控制方法。图3示出了本公开提供的芯片自适应控制方法的示意性流程图。
如图3所示,首先,在步骤S110,响应于采集触发信号,采集芯片内的至少一部分核心的工作状态。接着,在步骤S120,基于至少一部分核心的工作状态确定是否开启或关闭芯片内的部分核心,并基于确定生成第一指示信号,其中,第一指示信号用于指示按照核心顺序开启或关闭部分核心。在步骤S130,基于第一指示信号按照核心顺序开启或关闭部分核心。其中,在步骤S120中,基于至少一部分核心的工作状态确定是否开启或关闭芯片内的部分核心包括:基于预定阈值与至少一部分核心的工作状态确定是否开启或关闭芯片内的部分核心。
例如,可以利用上文结合图1和图2所描述的芯片自适应控制电路来执行本公开的芯片自适应控制方法的流程,两者的处理过程类似,在此不再重复描述。
根据本公开实施例,核心的工作状态包括:核心内的算术逻辑单元的工作状态、存储器的工作状态以及有限状态机的工作状态,其中,工作状态包括活跃状态和闲置状态。
根据本公开实施例,芯片自适应控制方法还可以包括:确定部分核心中是否存在被掩码覆盖的核心;在确定部分核心内存在被掩码覆盖的核心的情况下,生成第二指示信号,其中,第二指示信号用于指示不对被掩码覆盖的核心进行操作,而按照核心顺序开启或关闭被掩码覆盖的核心之后的核心,基于第二指示信号不对被掩码覆盖的核心进行操作,而按照核心顺序开启或关闭被掩码覆盖的核心之后的核心。
根据本公开实施例,芯片自适应控制方法还可以包括:采集芯片内的核心内的功能模块的工作状态,其中,功能模块的工作状态包括:功能模块内的算术逻辑单元的工作状态、存储器的工作状态以及有限状态机的工作状态,其中,工作状态包括活跃状态和闲置状态。作为一个示例,功能模块可以是知识产权核心。
根据本公开实施例,芯片自适应控制方法还可以包括:对于保持开启的核心,基于该核心的工作状态以及该核心内的功能模块的工作状态确定是否开启或关闭功能模块,并基于确定的结果生成第三指示信号;基于第三指示信号开启或关闭功能模块。对于新开启的核心,开启该核心内的所有功能模块。对于新关闭或者保持关闭的核心,关闭该核心内的所有功能模块。
作为一个示例,图4示出了根据本公开实施例的方法流程图。首先,在步骤S210,计数器电路可以响应于采集触发信号,采集芯片内每个核心的工作状态以及每个核心内的每个功能模块的工作状态。此外,计数器电路还可以将采集的数据传输至寄存器电路以用于存储。接着,在步骤S220,寄存器电路内可以存储有预定阈值以及计数器电路采集的数据,并将以上两者传输至微处理器电路。
在步骤S230,微处理器电路可以接收寄存器电路内存储的预定阈值以及采集的数据,将采集的数据与预定阈值进行比较以确定是否开启或关闭部分核心,并基于确定的结果生成第一指示信号。例如,对于芯片内包括12个的情形,微处理器电路可以基于每个核心的工作状态综合地判断是否有需要关闭部分核心,以节省功耗,在确定需要关闭部分核心的情况下,生成第一指示信号。接着,微处理器电路还可以进一步确定部分核心内是否存在被掩码覆盖的核心,基于确定结果生成第二指示信号。此处判断是用于避免对处于掩码覆盖状态的核心进行不必要的操作。
接着,在步骤S240,如果存在保持开启的核心,即,之前处于开启状态且经过微处理器电路确定为仍需开启的核心,微处理器电路可以进一步确定是否开启或关闭该核心内的功能模块,并对应的生成第三指示信号。
最后,在步骤S250,控制电路可以基于接收到的指示信号来进行对应的控制操作,以关闭或开启芯片内的对应核心以及核心内的某些功能模块。
在本公开提供的芯片自适应控制方法中,通过监控核心的工作状态,能够自适应地控制芯片内的核心的开启或关闭状态,避免在较低的工作负荷下开启芯片内的全部核心而造成的资源浪费,从而有效提高芯片的运行效率。
根据本公开的又一方面,还提供了一种系统级芯片,包括:多个核心;以及如上所描述的芯片自适应控制电路。
图5示出了本公开提供的系统级芯片的示意性框图。如图5所示,系统级芯片(SoC)3000可以包括多个核心3010以及芯片自适应控制电路3020。其中,多个核心3010可以是图2中示出的核心0至核心n,芯片自适应控制电路3020可以具有如图1所示的电路,并能够实现根据本公开提供的芯片自适应控制方法,对芯片内的核心进行自适应控制,以避免功率浪费,从而提升芯片的性能和运行效率。
本领域技术人员能够理解,本公开所披露的内容可以出现多种变型和改进。例如,以上所描述的各种设备或组件可以通过硬件实现,也可以通过软件、固件、或者三者中的一些或全部的组合实现。
此外,虽然本公开对根据本公开的实施例的系统中的某些单元做出了各种引用,然而,任何数量的不同单元可以被使用并运行在客户端和/或服务器上。单元仅是说明性的,并且系统和方法的不同方面可以使用不同单元。
本公开中使用了流程图用来说明根据本公开的实施例的方法的步骤。应当理解的是,前面或后面的步骤不一定按照顺序来精确的进行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中。
本领域普通技术人员可以理解上述方法中的全部或部分的步骤可通过程序来指令相关硬件完成,程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本公开并不限制于任何特定形式的硬件和软件的结合。
除非另有定义,这里使用的所有术具有与本公开所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
以上是对本公开的说明,而不应被认为是对其的限制。尽管描述了本公开的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本公开的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本公开范围内。应当理解,上面是对本公开的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本公开由权利要求书及其等效物限定。

Claims (17)

1.一种芯片自适应控制电路,包括:
微处理器电路,配置成发送采集触发信号;
计数器电路,配置成响应于所述采集触发信号,采集芯片内的至少一部分核心的工作状态,并且采集所述芯片内的核心内的功能模块的工作状态;
所述微处理器电路还配置成:基于所述至少一部分核心的工作状态确定是否开启或关闭所述芯片内的部分核心,并基于所述确定生成第一指示信号,所述第一指示信号用于指示按照核心顺序开启或关闭所述部分核心,并且,对于保持开启的核心,基于所述保持开启的核心的工作状态以及所述保持开启的核心内的功能模块的工作状态确定是否开启或关闭所述保持开启的核心内的功能模块,并且,基于所述确定是否开启或关闭所述保持开启的核心内的功能模块生成第三指示信号;以及
控制电路,配置成基于所述第一指示信号按照核心顺序开启或关闭所述部分核心,并且,基于所述第三指示信号开启或关闭所述保持开启的核心内的功能模块。
2.根据权利要求1所述的电路,其中,所述核心的工作状态包括:核心内的算术逻辑单元的工作状态、存储器的工作状态以及有限状态机的工作状态,其中,所述工作状态包括活跃状态和闲置状态。
3.根据权利要求2所述的电路,其中,所述微处理器电路还配置成:
确定所述部分核心中是否存在被掩码覆盖的核心;
在确定所述部分核心中存在被掩码覆盖的核心的情况下,生成第二指示信号,所述第二指示信号用于指示不对所述被掩码覆盖的核心进行操作,而按照所述核心顺序开启或关闭所述被掩码覆盖的核心之后的核心,
所述控制电路还配置成:基于所述第二指示信号不对所述被掩码覆盖的核心进行操作,而按照所述核心顺序开启或关闭所述被掩码覆盖的核心之后的核心。
4.根据权利要求1所述的电路,其中,所述功能模块的工作状态包括:功能模块内的算术逻辑单元的工作状态、存储器的工作状态以及有限状态机的工作状态,其中,所述工作状态包括活跃状态和闲置状态。
5.根据权利要求1所述的电路,其中,所述控制电路还配置成:
对于新开启的核心,开启该核心内的所有功能模块。
6.根据权利要求1所述的电路,其中,所述控制电路还配置成:
对于新关闭或者保持关闭的核心,关闭该核心内的所有功能模块。
7.根据权利要求4-6中任一项所述的电路,其中,所述功能模块是知识产权核心。
8.根据权利要求1所述的电路,还包括寄存器电路,配置成:存储预定阈值,其中,所述微处理器电路配置成基于所述预定阈值与所述至少一部分核心的工作状态确定是否开启或关闭所述芯片内的部分核心。
9.一种芯片自适应控制方法,包括:
响应于采集触发信号,采集芯片内的至少一部分核心的工作状态,并且采集所述芯片内的核心内的功能模块的工作状态;
基于所述至少一部分核心的工作状态确定是否开启或关闭所述芯片内的部分核心,并基于所述确定生成第一指示信号,所述第一指示信号用于指示按照核心顺序开启或关闭所述部分核心,并且,对于保持开启的核心,基于所述保持开启的核心的工作状态以及所述保持开启的核心内的功能模块的工作状态确定是否开启或关闭所述保持开启的核心内的功能模块,并且,基于所述确定是否开启或关闭所述保持开启的核心内的功能模块生成第三指示信号;以及
基于所述第一指示信号按照核心顺序开启或关闭所述部分核心,并且,基于所述第三指示信号开启或关闭所述保持开启的核心内的功能模块。
10.根据权利要求9所述的方法,其中,所述核心的工作状态包括:核心内的算术逻辑单元的工作状态、存储器的工作状态以及有限状态机的工作状态,其中,所述工作状态包括活跃状态和闲置状态。
11.根据权利要求10所述的方法,还包括:
确定所述部分核心中是否存在被掩码覆盖的核心;
在确定所述部分核心中存在被掩码覆盖的核心的情况下,生成第二指示信号,所述第二指示信号用于指示不对所述被掩码覆盖的核心进行操作,而按照所述核心顺序开启或关闭所述被掩码覆盖的核心之后的核心,
基于所述第二指示信号不对所述被掩码覆盖的核心进行操作,而按照所述核心顺序开启或关闭所述被掩码覆盖的核心之后的核心。
12.根据权利要求9所述的方法,还包括:所述功能模块的工作状态包括:功能模块内的算术逻辑单元的工作状态、存储器的工作状态以及有限状态机的工作状态,其中,所述工作状态包括活跃状态和闲置状态。
13.根据权利要求9所述的方法,还包括:
对于新开启的核心,开启该核心内的所有功能模块。
14.根据权利要求9所述的方法,还包括:
对于新关闭或者保持关闭的核心,关闭该核心内的所有功能模块。
15.根据权利要求12-14中任一项所述的方法,其中,所述功能模块是知识产权核心。
16.根据权利要求9所述的方法,其中,所述基于所述至少一部分核心的工作状态确定是否开启或关闭所述芯片内的部分核心包括:
基于预定阈值与所述至少一部分核心的工作状态确定是否开启或关闭所述芯片内的部分核心。
17.一种系统级芯片,包括:
多个核心;以及
如权利要求1-8中任一项所述的芯片自适应控制电路。
CN202011442788.3A 2020-12-08 2020-12-08 芯片自适应控制电路、方法和系统级芯片 Active CN112579513B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011442788.3A CN112579513B (zh) 2020-12-08 2020-12-08 芯片自适应控制电路、方法和系统级芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011442788.3A CN112579513B (zh) 2020-12-08 2020-12-08 芯片自适应控制电路、方法和系统级芯片

Publications (2)

Publication Number Publication Date
CN112579513A CN112579513A (zh) 2021-03-30
CN112579513B true CN112579513B (zh) 2023-04-25

Family

ID=75130765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011442788.3A Active CN112579513B (zh) 2020-12-08 2020-12-08 芯片自适应控制电路、方法和系统级芯片

Country Status (1)

Country Link
CN (1) CN112579513B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101324802A (zh) * 2007-06-11 2008-12-17 联发科技股份有限公司 集成电路及其减少电源消耗的方法
CN104182278A (zh) * 2013-05-23 2014-12-03 华为技术有限公司 一种判定计算机硬件资源繁忙程度的方法和装置
CN104204999A (zh) * 2012-03-13 2014-12-10 英特尔公司 用于按照核心的性能状态的方法和装置
CN105608049A (zh) * 2015-12-23 2016-05-25 魅族科技(中国)有限公司 智能终端的cpu控制方法及控制装置
CN105786674A (zh) * 2016-03-24 2016-07-20 华为技术有限公司 一种调度方法及电子设备
CN110069810A (zh) * 2019-03-11 2019-07-30 北京百度网讯科技有限公司 电池故障预测方法、装置、设备和可读存储介质
CN110764605A (zh) * 2019-10-30 2020-02-07 Oppo广东移动通信有限公司 多核处理器控制方法、装置、电子设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101324802A (zh) * 2007-06-11 2008-12-17 联发科技股份有限公司 集成电路及其减少电源消耗的方法
CN104204999A (zh) * 2012-03-13 2014-12-10 英特尔公司 用于按照核心的性能状态的方法和装置
CN104182278A (zh) * 2013-05-23 2014-12-03 华为技术有限公司 一种判定计算机硬件资源繁忙程度的方法和装置
CN105608049A (zh) * 2015-12-23 2016-05-25 魅族科技(中国)有限公司 智能终端的cpu控制方法及控制装置
CN105786674A (zh) * 2016-03-24 2016-07-20 华为技术有限公司 一种调度方法及电子设备
CN110069810A (zh) * 2019-03-11 2019-07-30 北京百度网讯科技有限公司 电池故障预测方法、装置、设备和可读存储介质
CN110764605A (zh) * 2019-10-30 2020-02-07 Oppo广东移动通信有限公司 多核处理器控制方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN112579513A (zh) 2021-03-30

Similar Documents

Publication Publication Date Title
US20200159279A1 (en) Low power autonomous peripheral management
US20210064117A1 (en) Optimizing power usage by factoring processor architectural events to pmu
US10877766B2 (en) Embedded scheduling of hardware resources for hardware acceleration
TWI512448B (zh) 用以啟用處理器等待狀態之指令
US8356194B2 (en) Method and apparatus for estimating overshoot power after estimating power of executing events
CN101464819B (zh) 进入低功率模式前的硬件驱动处理器状态存储
US9652252B1 (en) System and method for power based selection of boot images
EP0662652B1 (en) Method and apparatus for reducing power consumption in a computer system
CN112486312B (zh) 一种低功耗的处理器
US20090259862A1 (en) Clock-gated series-coupled data processing modules
MX2007015555A (es) Microprocesador con seleccion automatica de paralelismo de simd.
US20080098245A1 (en) Power management system and method
CN110399034B (zh) 一种SoC系统的功耗优化方法及终端
CN111819630A (zh) 动态存储器电力管理
CN116301294B (zh) 一种系统芯片低功耗实现方法、系统芯片、车机及设备
US8578384B2 (en) Method and apparatus for activating system components
CN112162710A (zh) 降低芯片功耗的方法、装置、计算机设备及存储介质
CN112579513B (zh) 芯片自适应控制电路、方法和系统级芯片
EP4425368A1 (en) Chip internal voltage prediction model generation method, chip internal voltage prediction method, and related apparatuses
US7024570B2 (en) Low-power indicator
US20040059954A1 (en) Automatic low power state entry
US7634672B2 (en) Power saving method of central processing unit
CN111176409B (zh) 一种通用可在线编程的功耗控制电路、系统与方法
US11223351B1 (en) Activity-aware clock gating for switches
RU2427883C2 (ru) Окончание инструкции с учетом потребляемой энергии

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
TA01 Transfer of patent application right

Effective date of registration: 20230313

Address after: 610216 building 4, No. 171, hele'er street, Chengdu hi tech Zone, China (Sichuan) pilot Free Trade Zone, Chengdu, Sichuan

Applicant after: CHENGDU HAIGUANG MICROELECTRONICS TECHNOLOGY Co.,Ltd.

Address before: 300392 North 2-204 industrial incubation-3-8, 18 Haitai West Road, Huayuan Industrial Zone, Tianjin

Applicant before: Haiguang Information Technology Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant