CN114594849A - 执行动态电压和频率调节操作的集成电路及其操作方法 - Google Patents
执行动态电压和频率调节操作的集成电路及其操作方法 Download PDFInfo
- Publication number
- CN114594849A CN114594849A CN202111337343.3A CN202111337343A CN114594849A CN 114594849 A CN114594849 A CN 114594849A CN 202111337343 A CN202111337343 A CN 202111337343A CN 114594849 A CN114594849 A CN 114594849A
- Authority
- CN
- China
- Prior art keywords
- sub
- blocks
- power
- power consumption
- dvfs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000000694 effects Effects 0.000 claims abstract description 77
- 238000005070 sampling Methods 0.000 claims abstract description 56
- 230000008569 process Effects 0.000 claims abstract description 23
- 230000015654 memory Effects 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 3
- 230000001537 neural effect Effects 0.000 claims description 2
- 230000000903 blocking effect Effects 0.000 claims 1
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 description 49
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 6
- 230000004913 activation Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000004043 responsiveness Effects 0.000 description 4
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000005669 field effect Effects 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 101100113692 Caenorhabditis elegans clk-2 gene Proteins 0.000 description 1
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 description 1
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/28—Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/14—Time supervision arrangements, e.g. real time clock
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Power Sources (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
一种集成电路包括:多个子块,配置为根据操作条件来处理指令;多个活动计数器,配置为对活动时间进行计数,该活动时间是所述多个子块中的每个处理指令的时间;以及动态电压和频率调节(DVFS)控制器,配置为基于活动时间来计算所述多个子块在采样周期期间的功耗并基于功耗来调整所述多个子块的操作条件。
Description
相关申请的交叉引用
本申请基于2020年12月4日在韩国知识产权局提交的第10-2020-0168724号韩国专利申请并要求其优先权,该韩国专利申请的公开内容通过引用全文合并于此。
技术领域
本公开涉及集成电路,更具体地,涉及考虑到功耗而执行动态电压和频率调节(DVFS)操作的集成电路和操作其的方法。
背景技术
随着技术进步,诸如移动设备的计算系统的电力管理和用户体验很重要。为了提高移动环境中的多线程性能,随着核的数量增加以及取得专利的主知识产权(IP)在应用处理器中被不断添加到各种多媒体场景中,使用存储器的竞争实体的数量多样化。因此,应用处理器执行动态电压和频率调节(DVFS)操作来调整应用处理器中的频率和电压,从而控制性能和功耗。
发明内容
本公开涉及计算系统、包括集成电路的计算系统和操作该集成电路的方法。通过考虑到子块的功耗来执行动态电压和频率调节(DVFS)操作,集成电路反映性能改善内的功率裕度。
根据本公开的一方面,一种集成电路包括:多个子块,配置为根据操作条件来处理指令;多个活动计数器,配置为对活动时间进行计数,活动时间是所述多个子块中的每个处理指令的时间;以及动态电压和频率调节(DVFS)控制器,配置为基于活动时间来计算所述多个子块在采样周期期间的功耗,并基于功耗来调整所述多个子块的操作条件。
根据本公开的另一方面,一种操作包括根据操作条件来处理指令的多个子块的集成电路的方法包括:基于采样周期与所述多个子块中的至少一个活动的总活动时间之比来获得工作负载;基于所述多个子块在采样周期期间的功耗来获得功率使用率;以及根据工作负载与功率使用率之间的比率来调整操作条件。
根据本公开的另一方面,一种计算系统包括:多个子块,每个子块配置为处理指令;活动计数器,分别对应于所述多个子块并配置为对子活动时间进行计数,子活动时间是每个对应子块的活动时间;总计数器,配置为对所述多个子块中的至少一个活动的总活动时间进行计数;时钟管理单元,配置为生成施加到所述多个子块的时钟信号;电力管理单元,配置为生成施加到所述多个子块的电源电压;以及动态电压和频率调节(DVFS)控制器,配置为基于子活动时间和总活动时间来计算所述多个子块在采样周期期间消耗的功耗,并控制时钟管理单元或电力管理单元,使得时钟信号的频率或电源电压的幅度基于功耗来调整。
附图说明
本公开的实施例将由以下结合附图的详细描述被更清楚地理解,附图中:
图1是示出根据本公开的示例性实施例的系统的框图;
图2是示出根据本公开的示例性实施例的子块的功耗的图;
图3是示出根据本公开的示例性实施例的子块的功耗的图;
图4是示出根据本公开的示例性实施例的计算系统的框图;
图5是示出根据本公开的示例性实施例的功率系数表的图;
图6是示出根据本公开的示例性实施例的操作IP设备的方法的流程图;
图7是示出根据本公开的示例性实施例的包括门控电路的系统的框图;
图8是示出根据本公开的示例性实施例的操作IP设备的方法的流程图;
图9是示出根据本公开的示例性实施例的计算功率使用率的方法的流程图;
图10是示出根据本公开的示例性实施例的操作条件的变化的图;
图11是用于描述根据本公开的示例性实施例的动态电压和频率调节(DVFS)操作的响应度的图;
图12是示出根据本公开的示例性实施例的包括多个簇的系统的框图;
图13是示出根据本公开的示例性实施例的系统的框图;以及
图14是示出根据本公开的示例性实施例的包括应用处理器的通信设备的框图。
具体实施方式
在下文中,将参照附图描述本公开的各种实施例。
图1是示出根据本公开的示例性实施例的系统的框图。
参照图1,系统10可以包括知识产权(IP)设备11、时钟管理单元(CMU)12、电力管理单元(PMU)13和存储器14。
系统10可以对应于各种类型的数据处理设备,并且作为示例,可以对应于移动设备。此外,系统10可以对应于膝上型计算机、移动电话、智能电话、平板PC、个人数字助理PDA、企业数字助理(EDA)、数字静物相机、数字视频相机、便携式多媒体播放器(PMP)、个人导航设备或便携式导航设备(PND)、手持式游戏机、移动互联网设备(MID)、可穿戴计算机、物联网(IoT)设备、万物互联(IoE)设备或电子书。
系统10可以包括各种类型的存储器设备。例如,存储器14可以对应于各种类型的半导体存储器设备,并且可以是动态随机存取存储器(DRAM),诸如双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功耗双倍数据速率(LPDDR)SDRAM、图形双倍数据速率(GDDR)SDRAM和Rambus动态随机存取存储器(RDRAM)。此外,存储器14还可以是闪存、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、铁电RAM(FeRAM)中的任何一种。
在一些实施例中,系统10可以被实现为片上系统(SoC)。SoC可以包括应用具有预定标准总线标准的协议的系统总线,并且系统10中包括的组件可以连接到系统总线。例如,作为系统总线的标准,可以应用高级RISC机器(ARM)的高级微控制器总线结构(AMBA)协议。AMBA协议的总线类型可以包括高级高性能总线(AHB)、高级外设总线(APB)、高级可扩展接口(AXI)、AXI4、AXI一致性扩展(ACE)等。此外,可以应用其他类型的协议,诸如SonicsuNetwork、IBM CoreConnect和OCP-IP的开放核协议。
IP设备11可以包括多个子块11_1、多个活动计数器11_2、总计数器11_3和DVFS控制器11_4。IP设备11可以被设计为用多个晶体管实现的集成电路。IP设备11可以是例如中央处理单元(CPU)、图形处理单元(GPU)、神经处理单元(NPU)或图像信号处理器(ISP)。图1示出了一个IP设备11,但是系统10中包括的IP设备的类型和数量可以不限于此。在一些实施例中,多个活动计数器11_2、总计数器11_3和DVFS控制器11_4中的至少一些可以位于IP设备11之外。
多个子块11_1中的每个可以独立地处理命令。子块11_1可以是CPU核、GPU核、NPU核或ISP核。因为IP设备11包括多个核,所以系统10也可以被称为多核处理器。子块11_1也可以被称为子功能块。子块11_1处理指令的状态可以称为活动状态,子块11_1不处理指令的状态可以被称为空闲状态。子块11_1活动的时间可以被称为子活动时间,子块11_1空闲的时间可以被称为空闲时间。
多个子块11_1中的每个可以根据时钟信号CLK和电源电压VDD来处理指令。子块11_1的性能可以取决于时钟信号CLK和电源电压VDD。随着电源电压VDD的幅度增大以及时钟信号CLK的频率增大,IP设备11的性能可以得到改善并且IP设备11的功耗可以增大。在本说明书中,时钟信号CLK的频率和电源电压VDD的幅度可以被定义为IP设备11的操作条件。此外,时钟信号CLK的频率可以被称为操作频率。下面,为了便于描述,将主要参照与时钟信号CLK的频率对应的操作条件来描述本公开的示例性实施例。
多个活动计数器11_2中的每个可以对与子块11_1对应的子活动时间进行计数。例如,第一活动计数器可以对第一子块的子活动时间进行计数,第二活动计数器可以对第二子块的子活动时间进行计数。在本说明书中,一个子块的活动时间可以被称为子活动时间。多个活动计数器11_2可以分别对应于多个子块111。在一个示例中,如下面参照图7所述,活动计数器11_2可以基于施加到子块的时钟信号CLK或控制电源电压VDD的供应的门控信号对子活动时间进行计数。在另一示例中,当子块活动时,活动计数器11_2可以通过对施加到子块的时钟信号CLK的周期数进行计数来获取子活动时间。稍后可以参照图3描述子活动时间。
总计数器11_3可以对总活动时间进行计数。在本说明书中,总活动时间可以意味着IP设备110处于活动状态的时间。具体地,总活动时间可以是多个子块11_1中的至少一个活动的时间。稍后可以参照图3描述总活动时间。
DVFS控制器11_4可以在每个采样周期SP输出用于控制IP设备11的操作条件的控制信号CTRL_CLK和CTRL_VDD。具体地,DVFS控制器11_4可以输出控制时钟信号CLK的频率的时钟控制信号CTRL_CLK,并输出控制电源电压VDD的电平的电压控制信号CTRL_VDD。
DVFS控制器11_4可以基于多个子块11_1的子活动时间和IP设备11的总活动时间来计算多个子块11_1在采样周期SP期间消耗的功率。具体地,如稍后参照图4所述,DVFS控制器11_4可以通过参照存储在内部存储器14中的功率系数表来计算多个子块11_1消耗的功率。
DVFS控制器11_4可以基于多个子块11_1消耗的功率来控制操作条件。例如,当多个子块11_1消耗的功率相对低时,DVFS控制器11_4控制时钟管理单元12生成具有较高频率的时钟信号CLK,从而可以改善IP设备11的性能。
DVFS控制器11_4可以是指能够执行DVFS功能和操作的硬件,或者可以是指能够执行DVFS功能和操作的计算机程序代码。然而,本公开不限于此并且可以是指其上安装能够执行DVFS功能和操作的计算机程序代码的电子记录介质,诸如处理器。即,DVFS控制器11_4可以表示用于执行本公开的技术思想的硬件和/或用于驱动该硬件的软件的功能和/或结构组合。
时钟管理单元12可以生成时钟信号CLK,并且可以基于时钟控制信号CTRL_CLK来调整时钟信号CLK的频率。例如,时钟管理器120可以包括基于时钟控制信号CTRL_CLK来生成时钟信号CLK的振荡器。时钟管理单元120也可以被称为时钟发生器和时钟发生电路。
电力管理单元13可以生成电源电压VDD,并且可以基于电压控制信号CTRL_VDD来调整电源电压VDD的电平。例如,电力管理单元13可以包括基于控制信号CTRL_VDD来生成电源电压VDD的开关调节器。电力管理单元13也可以被称为电力管理集成电路(PMIC)。
存储器14可以被IP设备11访问,并且IP设备11可以将数据存储在存储器14中或读取存储在存储器140中的数据。存储器14可以包括诸如静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)的易失性存储器设备,并且可以包括诸如闪存或电阻式随机存取存储器(RRAM)的非易失性存储器设备。在一些实施例中,如下面参照图4所述,存储器14可以存储功率系数表。在一些实施例中,与图1所示不同,存储器14可以被包括在IP设备11中。
尽管未在图中示出,但是系统10可以包括各种类型的功能块,诸如与IP设备11通信的输入/输出(I/O)接口块、通用串行总线(USB)主机块、USB从块等。
如稍后参照附图所述,DVFS控制器11_4可以基于总活动时间和子活动时间来计算IP设备11在采样周期期间消耗的功率,并基于功耗来生成控制信号CTRL_CLK和CTRL_VDD,并且将生成的控制信号CTRL_CLK和CTRL_VDD提供给时钟管理单元12和电力管理单元13。因此,当功耗相对低时,IP设备11可以反映性能改善中的剩余功率裕度。
图2是示出根据本公开的示例性实施例的子块的功耗的图。参照图2,子块的功耗P可以被表示为[等式1]。
[等式1]
P=C·V·f2∝C·f3
这里,C是子块的电容,V是施加到子块的电源电压的幅度,f是施加到子块的时钟信号的频率。因为子块中包括的电容器可以随着电源电压增大而更快地充电,所以电源电压的幅度和时钟信号的频率可以成比例。因此,功耗可以与时钟信号的频率的立方成比例。
在本说明书中,在与功率相关的参数中,除了时钟信号的频率f和电源电压的幅度V以外的参数可以统称为功率系数。例如,在[等式1]中,子块的电容可以被称为功率系数。
多个子块11_1可以具有不同的电路结构,因此可以具有不同的性能。即,多个子块11_1每单位时间可处理的指令数量可以不同。此外,由于不同的电路结构,即使电源电压的幅度与时钟信号的频率相同,多个子块11_1消耗的功率也可以不同。即,多个子块的功率系数可以不同。
参照图2,第一子块SB1的功率系数可以是C1,第二子块SB2的功率系数可以是C4,第三子块SB3的功率系数可以是C2,第四子块SB4的功率系数可以是C3。此外,在一些实施例中,不同于图2,多个子块SB1、SB2、SB3和SB4中的一些子块的功率系数可以相同。例如,如稍后参照图12所述,可以将多个子块划分为多个簇,这些簇是具有相同性能的子块的集合。具体地,可以将多个子块划分为包括在第一簇中的子块和包括在第二簇中的子块。包括在第一簇中的子块比包括在第二簇中的子块消耗更少的功率,但是可以提供相对低的性能。
图3是示出根据本公开的示例性实施例的子块的功耗的图。稍后可以参照图1给出图3的描述。参照图3,当到达采样周期SP时,DVFS控制器11_4可以基于IP设备11在采样周期SP期间消耗的功率开始DVFS操作。DVFS操作可以是调整IP设备11的操作条件(即时钟信号CLK的频率或电源电压VDD的幅度)的操作。
IP设备11中包括的多个子块SB1至SB4可以在不同的时间被激活。第一子块SB1可以在第一子活动时间SACT1期间被激活,第二子块SB2可以在第二子活动时间SACT2期间被激活,第三子块SB3可以在第三子活动时间SACT3期间被激活,第四子块SB4可以在第四子活动时间SACT4期间被激活。多个子块SB1至SB4中的至少一个可以在总活动时间TACT期间被激活。
每个子块消耗的功率可以通过功率系数、时钟信号CLK的频率和电源电压VDD的幅度来确定,如以上参照图2所述。在采样周期SP期间施加到IP设备11的时钟信号CLK的频率以及电源电压VDD的幅度可以是固定的。因此,子块消耗的功率可以与对应于该子块的功率系数C成比例。参照图3,第一子块SB1消耗的功率可以是P1,第二子块SB2消耗的功率可以是P2,第三子块SB3消耗的功率可以是P3,第四子块SB4消耗的功率可以是P4。
IP设备11在采样周期SP期间消耗的能量可以是多个子块消耗的能量之和。因此,IP设备11在至少一个子块在其间被激活的总活动时间TACT期间的平均功耗Pave可以被表示为[等式2]。
[等式2]
DVFS控制器11_4可以在每次到达采样周期SP时计算IP设备11在采样周期SP期间的平均功耗Pave,并且可以基于平均功耗Pave来调整操作条件。
为了控制发热量或平稳地供应有限的功率,可以预先确定可分配给IP设备11的最大功率。当采样周期SP期间平均功耗Pave较低时,最大功率的功率裕度增加。根据本公开的示例性实施例的DVFS控制器11_4可以通过增大时钟信号CLK的频率或电源电压VDD的幅度来改善IP设备11的性能。
图4是示出根据本公开的示例性实施例的计算系统的框图。图5是示出根据本公开的示例性实施例的功率系数表的图。参照图4,计算系统400包括DVFS控制器410、多个活动计数器421、422和423、总计数器430、存储器440、时钟管理单元451、电力管理单元452以及定时器460。与图1的组件相同的组件的描述可以被省略。DVFS控制器410可以包括DVFS调控器模块411、时钟管理单元驱动器412和电力管理单元驱动器413。
DVFS调控器模块411可以控制总体DVFS操作。在一些示例中,DVFS调控器模块411可以从多个活动计数器421、422和423获取子活动时间,并从总计数器430获取总活动时间。DVFS调控器模块411可以访问存储器440并参照功率系数表。DVFS调控器模块411可以基于子块的功率系数、子活动时间和总活动时间来计算IP设备的功耗。DVFS调控器模块411可以控制时钟管理单元驱动器412和电力管理单元驱动器413,使得操作条件基于功耗被调整。
时钟管理单元驱动器412可以在DVFS调控器模块411的控制下向时钟管理单元451输出时钟控制信号CTRL_CLK。时钟管理单元451可以输出具有根据时钟控制信号CTRL_CLK调整的频率的时钟信号CLK。电力管理单元驱动器413可以在DVFS调控器模块411的控制下向电力管理单元452输出电压控制信号CTRL_VDD。电力管理单元452可以输出具有根据电压控制信号CTRL_VDD调整的幅度的电源电压VDD。
存储器440可以存储功率系数表。参照图5,功率系数表可以表示子块和功率系数之间的关系。具体地,如以上参照图2所述,功率系数表可以表示第一至第四子块SB1至SB4与第一至第四功率系数C1至C4之间的关系。
DVFS调控器模块411可以从总计数器430以及多个活动计数器421、422和423获取子活动时间和总活动时间,并通过参照功率系数表来计算IP设备11在采样周期内的功耗。
DVFS调控器模块411可以基于功耗来调整操作条件。例如,DVFS调控器模块411可以通过[等式3]来确定时钟信号CLK的下一频率Fnext。
[等式3]
这里,Fnext可以是采样周期SP之后时钟信号CLK的频率,工作负载WL可以是IP设备11在采样周期SP期间的工作负载,功率利用率PU可以是采样周期SP期间消耗的功率与最大允许功率之比,Fcurrent可以是采样周期SP期间时钟信号CLK的频率。时钟信号CLK的频率可以被称为操作频率。如以上通过[等式1]所述,因为功率可以与频率的立方成比例,所以与[公式3]不同,在一些实施例中,Fnext可以被计算为与功率使用率的立方根成反比,如[等式4]所示。另一方面,对于本领域技术人员将明显的是,可以将常数或变量乘以或添加到功率使用率或工作负载以调整Fnext。
[等式4]
根据[等式3]和[等式4],为了调整时钟信号CLK的频率,DVFS调控器模块411可以考虑采样周期SP期间的功率使用率以及工作负载。即,当IP设备11的功耗较低时,DVFS调控器模块411可以通过将操作频率提高到更高来改善IP设备11的性能。
DVFS调控器模块411可以根据[等式5]来确定功率使用率PU。
[等式5]
这里,Pave可以通过[等式2]被计算为平均功耗,Pmax是最大允许功率并且可以表示IP设备11在采样周期期间可消耗的最大功率。当IP设备11的功耗超过限制功率时,系统可以基于因流过超过参考电流的过电流或因系统温度升至超过参考温度导致的对系统的损坏而无法正常操作。因此,最大允许功率Pmax可以被设计为限制功率的一部分,例如处于80%的水平。
参照[等式3],功率使用率可以具有1或更小的值。即,当采样周期期间所有子块都活动时,功率使用率可以为1,在其他情况下,功率使用率可以低于1。参照[等式2],当功率使用率低于1时,操作频率与当只考虑工作负载时相比可以提高得相对更高。结果,根据本公开的示例性实施例的DVFS调控器模块411考虑功率使用率来确定操作频率,从而可以改善IP设备11的性能并且可以高效地管理功率。
工作负载WL可以通过多种方法来计算。例如,可以通过[等式6]来计算工作负载WL,[等式6]表示总活动时间TACT与采样周期SP之比。
[等式6]
然而,实施例不限于此并且可以基于采样周期期间处理的指令的数量、缓存命中的数量或缓存未命中的数量来计算工作负载WL。
图6是示出根据本公开的示例性实施例的操作IP设备的方法的流程图。具体地,图6是示出执行DVFS操作的IP设备的操作方法的流程图。参照图6,操作IP设备的方法可以包括多个步骤S610至S630。稍后可以参照图1来描述图6的每个步骤。
在步骤S610中,多个活动计数器11_2和总计数器11_3可以对多个子块11_1在采样周期SP期间的活动时间进行计数。多个活动计数器11_2可以分别对应于多个子块11。如以上参照图3所述,活动计数器可以对相应子块的活动时间进行计数。一个子块的活动时间可以被称为子活动时间SACT。如以上参照图3所述,总计数器11_3可以对多个子块11_1当中的至少一个子块活动的总活动时间TACT进行计数。
在步骤S620中,DVFS控制器11_4可以基于活动时间来计算IP设备11在采样周期SP期间消耗的功耗。具体地,DVFS控制器11_4可以通过参照功率系数表来计算多个子块11_1中的每个消耗的功率,并通过将多个子块11_1的功耗之和除以总活动时间TACT来计算IP设备11消耗的平均功耗。
在步骤S630中,DVFS控制器11_4可以基于IP设备11的功耗来执行DVFS操作。具体地,DVFS控制器11_4可以使用平均功耗和最大允许功率来计算功率使用率,并基于计算出的功率使用率来调整IP设备11的操作条件。例如,当功率使用率较低时,可以提高施加到IP设备11的时钟信号CLK的频率,或者IP设备11可以输出控制信号CTRL_CLK和CTRL_VDD,从而增大施加到IP设备11的电源电压VDD的幅度。
通过基于IP设备的功耗来执行DVFS操作,根据本公开的示例性实施例的操作IP设备的方法可以改善IP设备的性能和电力管理的效率。
图7是示出根据本公开的示例性实施例的包括门控电路的系统的框图。
参照图7,系统700可以包括门控电路713。门控电路713控制在空闲状态下施加到子块的时钟信号CLK或电源电压VDD被切断,从而最小化在空闲状态下浪费的功率。具体地,门控电路713输出多个门控信号CG1至CGN和PG1至PGN,使得时钟信号CLK或电源电压VDD可以被控制为选择性地施加到多个子块711和712。
系统700可以包括多个开关CS1、CS2、PS1和PS2。第一时钟开关CS1和第二时钟开关CS2可以根据时钟门控信号GC1至CGN来开关时钟信号CLK。例如,当时钟门控信号处于逻辑高电平时,时钟开关可以导通并且时钟信号CLK可以被提供给相应的子块。即,当时钟门控信号指示时钟信号的激活时,时钟信号CLK可以被提供给子块。然而,实施例不限于此并且时钟开关可以具有各种结构。第一和第二电源开关PS1和PS2可以根据电源门控信号PG1至PGN来开关电源电压VDD。例如,当电源门控信号处于逻辑高电平时,电源开关可以导通并且电源电压VDD可以被提供给相应的子块。即,当电源门控信号指示电源电压的激活时,电源电压VDD可以被提供给子块。然而,实施例不限于此并且时钟开关可以具有各种结构。在一些实施例中,功率开关可以是实现为P型场效应晶体管(PFET)的头开关或实现为N型场效应晶体管(NFET)的脚开关。
多个活动计数器741和742可以基于门控信号CG1至CGN和PG1至PGN对多个子块711和712的子活动时间进行计数。例如,当第一时钟门控信号CG1处于逻辑高电平时,因为第一子块711是活动的,所以第一活动计数器741可以通过对第一时钟门控信号CG1处于逻辑高电平的周期进行计数来获取第一子活动时间SACT1。即,子活动时间可以对应于时钟门控信号指示时钟信号的激活的时间。或者,子活动时间可以对应于电源门控信号指示电源电压的激活的时间。
根据本公开的示例性实施例的DVFS控制器750可以执行DVFS操作,在该操作中通过使用基于门控控制信号获取的子活动时间来反映功耗。因此,可以改善系统700的性能并且可以改善电力管理的效率。DVFS控制器750可以输出时钟控制信号CTRL_CLK和电压控制信号CTRL_VDD以执行DVFS操作。系统700可以包括时钟管理单元720和电力管理单元730。时钟管理单元720可以输出具有根据时钟控制信号CTRL_CLK调整的频率的时钟信号CLK。电力管理单元730可以输出具有根据电压控制信号CTRL_VDD调整的幅度的电源电压VDD。
图8是示出根据本公开的示例性实施例的操作IP设备的方法的流程图。具体地,图8是示出操作用于调整子块的操作条件的DVFS控制器的方法的流程图。参照图8,操作IP设备的方法可以包括多个步骤S810至S830。稍后可以参照图1或图4来描述图8的每个步骤。
在步骤S810中,DVFS控制器11_4可以基于总活动时间与采样周期SP之比来获取工作负载。具体地,DVFS控制器11_4可以通过参照[等式6]来获取工作负载。采样周期SP可以对应于DVFS控制器11_4执行DVFS操作的周期。定时器460周期性地对采样周期SP进行计数,并且每当过去采样周期SP时就向DVFS控制器410输出触发器信号Trigger_SG,从而指示DVFS操作的开始。总活动时间可以是多个子块中的至少一个处于活动状态的时间。获取工作负载的方法不限于此,并且可以基于采样周期期间处理的指令的数量、缓存命中的数量或缓存未命中的数量来计算。
在步骤S820中,DVFS控制器11_4可以基于多个子块在采样周期SP期间的功耗来获取功率使用率。例如,DVFS控制器11_4可以通过参照[等式5]来获取功率使用率。功率使用率可以表示实际使用的功耗与IP设备11可消耗的最大功率之比。
在步骤S830中,DVFS控制器11_4可以基于工作负载和功率使用率来调整子块的操作条件。例如,DVFS控制器11_4可以参照[等式3]或[等式4]来调整时钟信号CLK的频率。即,根据本公开的示例性实施例的DVFS控制器11_4基于功率使用率来调整操作条件,使得如果功率裕度有空间,则IP设备的性能可以得到改善。即使功耗由于性能改善(操作频率的提高或电源电压幅度的增大)而增加,但是因为功率裕度中有裕度,所以可以执行高效的电力管理。
图9是示出根据本公开的示例性实施例的计算功率使用率的方法的流程图。具体地,图9可以是对应于图8的步骤S820的方法。计算功率使用率的方法可以包括多个步骤S910至S930。稍后可以参照图1、图4或图7来描述图9的每个步骤。
在步骤S910中,DVFS控制器410可以从多个活动计数器421至423获取多个子块的子活动时间SACT1、SACT2、SACT3。子活动时间可以是子块处于活动状态的时间。如以上参照图7所述,子活动时间可以对应于从门控电路713输出的门控控制信号指示时钟信号或电源电压的激活的时间。
在步骤S920中,DVFS控制器410可以基于子活动时间和功率系数来计算IP设备在采样周期内的平均功耗。具体地,DVFS控制器410可以基于存储在存储器440中的功率系数表来识别与每个子块对应的功率系数,并使用[等式1]来计算每个子块消耗的单独功耗。此后,可以使用[等式2]来计算IP设备的平均功耗。具体地,可以通过将子块的单独功耗乘以子块的子活动时间来计算子块消耗的能量,并且可以通过将多个子块消耗的能量除以总活动时间TACT来计算平均功耗。
在步骤S930中,DVFS控制器410可以基于平均功耗与最大允许功率之间的比率来计算功率使用率。
图10是示出根据本公开的示例性实施例的操作条件的变化的图。具体地,图10是示出IP设备900中包括的多个子块910至940当中的第一子块910在采样周期SP期间处于活动状态的图。在图10中,当子块处于活动状态时,这可以显示为ON,当子块处于空闲状态时,这可以显示为OFF。在图10中,可以假设每个子块消耗的功率相同。即,与图2所示的图不同,多个子块的功率系数可以相同。
参照图10的左侧,在采样周期SP期间可以将具有第一频率F1的时钟信号CLK施加到IP设备900。子块910至940可以基于时钟信号CLK来处理指令。参照图10的右侧,当经过采样周期SP时,DVFS控制器11_4可以将时钟信号CLK的频率调整为第二频率F2。图10示出了使用[等式3]的频率调整,但是实施例不限于此。例如,DVFS控制器11_4可以使用[等式4]来调整频率。
因为在采样周期SP期间仅激活一个子块,所以功率使用率可以是1/4,并且因为在采样周期SP期间总是激活至少一个子块,所以工作负载可以是1。因此,第二频率F2可以被确定为第一频率F1的四倍。然而,实施例不限于此,并且可以将参数添加到或乘以工作负载和功率使用率中的每个,以便优化频率调整。
图11是用于描述根据本公开的示例性实施例的DVFS操作的响应度的图。具体地,参照图11,实线表示考虑到功率使用率的操作频率调整的曲线图,虚线表示不考虑功率使用率的操作频率调整的曲线图。例如,实线的曲线图可以是与以上参照图10描述的操作频率调整对应的曲线图。在图11中,可以针对每个采样周期SP调整操作频率。
如图11中的实线所示,在考虑到功率使用率来调整操作频率的情况下,当经过第一采样周期SP1时,操作频率可以从第一频率F1提高到第二频率F2。如以上参照图10所述,可以提高由于功率使用率引起的操作频率提高的程度。
另一方面,如图11中的虚线所示,在不考虑功率使用率来调整操作频率的情况下,当经过第一采样周期SP1时,操作频率可以从第一频率F1提高到第三频率F3。第三频率F3可以小于第二频率F2。当不考虑功率使用率来调整操作频率时,在经过第n采样周期SPn之后,操作频率可以达到第二频率F2。即,当考虑到功率使用率来调整操作频率时,操作频率可以迅速提高。
结果,当根据本公开的示例性实施例使用功率使用率来执行DVFS操作时,随着操作频率的范围增大,可以提高用于改善IP设备900的性能的响应度。
图12是示出根据本公开的示例性实施例的包括多个簇的系统的框图。参照图12,系统1000可以包括具有第一簇1110、第二簇1120、时钟管理单元1200和DVFS控制器1300的IP设备1100。第一簇1110可以包括第一至第四核1111至1114,第二核簇1120可以包括第五至第八核1121至1124。为了便于描述,图12示出了第一簇1110和第二簇1120均包括四个核,但是实施例不限于此。尽管未在图中示出,但是系统1000还可以包括计数器,其用于对第一簇1110中包括的核1111至1114和第二簇1120中包括的核1121至1124的子活动时间和总活动时间进行计数。
第一簇1110中包括的核1111至1114的性能可以不同于第二簇1120中包括的核1121至1124的性能。在下文中,假设第一簇1110中包括的核1111至1114的每单位时间的操作量小于第二簇1120中包括的核1121至1124的每单位时间的操作量。时钟管理单元1200可以输出第一时钟信号CLK1和第二时钟信号CLK2,第一簇1110可以根据第一时钟信号CLK1来处理命令,第二簇1120可以根据第二时钟信号CLK2来处理命令。
当核的工作负载大于参考值时,相应的核可以处于重负载状态。例如,第一簇1110的第二核1112可以处于重负载状态。当施加到处于重负载状态的第二核1112的第一时钟信号CLK1的频率达到参考频率时,分配给第二核1112的任务中的至少一些可以迁移到第二簇1120中包括的核。由于一部分任务迁移到具有相对大的计算量的核,因此可以改善系统1000的性能和电力管理效率。
随着操作频率更快地达到参考值,可以有利于任务迁移。如以上参照图11所述,根据本公开的示例性实施例的DVFS控制器1040基于功率使用率来调整操作频率,从而可以提高频率响应度并且可以相应地改善任务迁移性能。
图13是示出根据本公开的示例性实施例的系统的框图。参照图13,系统2000可以实现为手持式设备,诸如移动电话、智能电话、平板计算机、个人数字助理(PDA)、企业数字助理(EDA)、数字静物相机、数字视频相机、便携式多媒体播放器(PMP)、个人导航设备或便携式导航设备(PND)、手持式游戏机或电子书。
系统2000可以包括SoC 2200和存储器设备2300。SoC 2200可以包括CPU 2210、GPU2220、NPU 2230、ISP 2240、存储器接口(MIF)2250、时钟管理单元(CMU)2260和电力管理单元(PMU)2270。CPU 2210、GPU 2220、NPU 2230和ISP 2240可以被称为主IP设备,MIF 2250可以被称为从IP设备。CPU 2210、GPU 2220、NPU 2230、ISP 2240和MIF 2250中的至少一个可以是以上参照图1至图12描述的IP设备的示例实施方式。因此,CPU 2210、GPU 2220、NPU2230、ISP 2240和MIF 2250中的至少一个可以包括多个子块,并且可以包括基于多个子块消耗的功率来执行DVFS操作的DVFS控制器。CPU 2210、GPU 2220、NPU 2230、ISP 2240和MIF2250中包括的DVFS控制器可以控制CMU 2260或PMU 2270,并且CPU 2210、GPU 2220、NPU2230、ISP 2240和MIF 2250从CMU 2260接收时钟信号CLK并从PMU 2270接收电源电压以处理指令。
CPU 2210可以响应于CMU 2260生成的时钟信号来处理或运行存储在存储器设备2300中的指令和/或数据。
GPU 2220可以响应于CMU 2260生成的时钟信号来获取存储在存储器设备2300中的图像数据。GPU 2220可以从提供自MIF 2250的图像数据生成用于通过显示设备(未示出)输出的图像的数据,或者可以对图像数据进行编码。
NPU 2230可以是指运行机器学习模型的任何设备。NPU 2230可以是设计为运行机器学习模型的硬件块。机器学习模型可以是基于人工神经网络、决策树、支持向量机、回归分析、贝叶斯网络或遗传算法的模型。作为非限制性示例,人工神经网络可以包括卷积神经网络(CNN)、具有卷积神经网络的区域(R-CNN)、区域提议网络(RPN)、循环神经网络(RNN)、基于堆叠的深度神经网络(S-DNN)、状态空间动态神经网络(S-SDNN)、反卷积网络、深度信念网络(DBN)、受限玻尔兹曼机(RBM)、全卷积网络、长短期记忆(LSTM)网络和分类网络。
ISP 2240可以对从位于SoC 2200之外的图像传感器(未示出)接收的原始数据执行信号处理操作,并生成具有改善的图像质量的数字数据。
MIF 2250可以向位于SoC 2200之外的存储器设备2300提供接口。存储器设备2300可以是动态随机存取存储器(DRAM)、相变随机存取存储器(PRAM)、电阻式随机存取存储器(ReRAM)或闪存。
CMU 2260可以生成时钟信号并将时钟信号提供给SoC 2200的组件。CMU 2260可以包括时钟生成设备,诸如锁相环(PLL)、延迟锁定环(DLL)、和水晶。PMU 2270可以将外部电源转换为内部电源,并将内部电源提供给SoC 2200的组件作为电源。
图14是示出根据本公开的示例性实施例的包括应用处理器的通信设备的框图。
参照图14,通信设备3000可以包括应用处理器3010、存储器设备3020、显示器3030、输入设备3040和无线电收发器3050。应用处理器3010可以是以上参照图1至图13描述的IP设备中的至少一个的示例实施方式。
无线电收发器3050可以通过天线发送或接收无线信号。例如,无线电收发器3050可以将通过天线接收的无线信号改变为可由应用处理器3010处理的信号。
因此,应用处理器3010可以处理从无线电收发器3050输出的信号,并将处理后的信号发送到显示器3030。此外,无线电收发器3250可以将从应用处理器3010输出的信号改变为无线信号,并通过天线将改变后的无线信号输出到外部设备。
输入设备3040是能够输入用于控制应用处理器3010的操作的控制信号或将要由应用处理器3010处理的数据的设备,并且可以被实现为诸如触摸板和计算机鼠标、键板或键盘的定点设备。
根据实施例,应用处理器3010可以包括控制多个子块和所述多个子块的操作条件的DVFS控制器。如以上参照图1至图13所述,DVFS控制器可以基于多个子块消耗的功率来调整操作条件。
尽管未在图14中示出,但是可以进一步包括向通信设备3000中包括的各种组件提供时钟信号的时钟管理单元和提供电源电压的电力管理单元。时钟管理单元可以输出具有根据DVFS控制器的控制调整的频率的时钟信号,并且电力管理单元可以输出具有根据DVFS控制器的控制调整的幅度的电源电压。
本领域中传统的是,可以就执行所描述的一个或多个功能的块来描述和示出实施例。在此可称为单元或模块等的这些块由模拟和/或数字电路(诸如逻辑门、集成电路、微处理器、微控制器、存储器电路、无源电子组件、有源电子组件、光学组件、硬连线电路等)物理地实现,并且可以可选地由固件和/或软件驱动。例如,电路可以体现在一个或更多个半导体芯片中,或在诸如印刷电路板等的基板支撑件上。构成块的电路可以由专用硬件、或由处理器(例如,一个或更多个编程微处理器和相关电路)、或由专用硬件的组合来实现以执行该块的一些功能,并且可以由处理器实现以执行该块的其他功能。在不脱离本公开的范围的情况下,实施例的每个块可以物理地分成两个或更多个交互且离散的块。同样地,在不脱离本公开的范围的情况下,实施例的块可以物理地组合成更复杂的块。实施例的方面可以通过存储在非暂时性存储介质内并由处理器运行的指令来实现。
虽然已经参照本公开的实施例具体示出和描述了本公开,但是将理解,在不脱离所附权利要求的精神和范围的情况下,可以在其中进行形式和细节上的各种改变。
Claims (20)
1.一种集成电路,包括:
多个子块,配置为根据操作条件来处理指令;
多个活动计数器,配置为对活动时间进行计数,活动时间是所述多个子块中的每个处理指令的时间;以及
动态电压和频率调节(DVFS)控制器,配置为基于活动时间来计算所述多个子块在采样周期期间的功耗,并基于功耗来调整所述多个子块的操作条件。
2.根据权利要求1所述的集成电路,其中DVFS控制器计算所述多个子块的工作负载,基于功耗来计算功率使用率,并基于工作负载与功率使用量之比来调整操作条件。
3.根据权利要求2所述的集成电路,还包括:
总计数器,配置为对所述多个子块中的至少一个活动的总活动时间进行计数,其中
DVFS控制器通过将所述多个子块中的每个的活动时间乘以单独的功耗来计算所述多个子块在采样周期期间消耗的能量,并通过将所述多个子块消耗的能量之和除以总活动时间来计算功耗。
4.根据权利要求3所述的集成电路,其中DVFS控制器基于采样周期与所述多个子块中的至少一个活动的时间之比来获取工作负载。
5.根据权利要求3所述的集成电路,其中DVFS控制器通过参照存储在外部存储器中的功率系数表来获取与所述多个子块中的每个对应的功率系数,并使用功率系数和操作条件来计算单独的功耗。
6.根据权利要求5所述的集成电路,其中操作条件是施加到所述多个子块的时钟信号的频率或施加到所述多个子块的电源电压的幅度。
7.根据权利要求6所述的集成电路,还包括:
门控电路,用于使用门控控制信号向所述多个子块选择性地提供时钟信号或电源电压,其中
所述多个活动计数器中的每个基于门控控制信号对活动时间进行计数。
8.根据权利要求1所述的集成电路,其中:
所述多个子块包括:
第一子块,配置为根据第一时钟信号来处理指令;以及
第二子块,配置为根据第二时钟信号来处理指令,以及
当基于第一子块的功耗调整的第一时钟信号的频率超过参考值时,第二子块中的至少一个处理分配给第一子块中的至少一个的指令。
9.根据权利要求1所述的集成电路,其中所述多个子块中的每个是中央处理单元(CPU)核、图形处理单元(GPU)核、神经处理单元(NPU)核或图像信号处理器(ISP)核之一。
10.一种操作集成电路的方法,该集成电路包括根据操作条件来处理指令的多个子块,该方法包括:
基于采样周期与所述多个子块中的至少一个活动的总活动时间之比来获得工作负载;
基于所述多个子块在采样周期期间的功耗来获得功率使用率;以及
根据工作负载与功率使用率之间的比率来调整操作条件。
11.根据权利要求10所述的方法,其中功率使用率的获得包括:
获得所述多个子块中的每个在采样周期期间的子活动时间;
基于子活动时间来计算所述多个子块在采样周期期间的平均功耗;以及
基于平均功耗与预定最大允许功率之间的比率来计算功率使用率。
12.根据权利要求11所述的方法,其中操作条件是施加到所述多个子块的时钟信号的频率或施加到所述多个子块的电源电压的幅度。
13.根据权利要求12所述的方法,其中子活动时间的获得包括基于施加到所述多个子块的时钟信号或用于控制电源电压的阻断的门控控制信号来计算子活动时间。
14.根据权利要求11所述的方法,其中平均功耗的计算包括:
通过参照功率系数表来获得与所述多个子块中的每个对应的功率系数;
使用功率系数和操作条件来计算所述多个子块中的每个在采样周期期间的功耗;
基于所述多个子块中的每个的功耗和子活动时间来计算所述多个子块消耗的能量;以及
通过将能量除以总活动时间来计算平均功耗。
15.一种计算系统,包括:
多个子块,每个子块配置为处理指令;
活动计数器,分别对应于所述多个子块并配置为对子活动时间进行计数,子活动时间是每个对应子块的活动时间;
总计数器,配置为对所述多个子块中的至少一个活动的总活动时间进行计数;
时钟管理单元,配置为生成施加到所述多个子块的时钟信号;
电力管理单元,配置为生成施加到所述多个子块的电源电压;以及
动态电压和频率调节(DVFS)控制器,配置为基于子活动时间和总活动时间来计算所述多个子块在采样周期期间消耗的功耗,并控制时钟管理单元或电力管理单元,使得时钟信号的频率或电源电压的幅度基于功耗来调整。
16.根据权利要求15所述的计算系统,还包括:
定时器,配置为针对每个采样周期生成DVFS触发器信号,并将DVFS触发器信号输出到DVFS控制器,其中
DVFS控制器响应于DVFS触发器信号控制时钟管理单元或电力管理单元。
17.根据权利要求16所述的计算系统,还包括:
存储器,配置为存储功率系数表,该功率系数表指示与所述多个子块中的每个对应的功率系数,其中
DVFS控制器通过参照功率系数表来计算所述多个子块在采样周期期间消耗的功率。
18.根据权利要求15所述的计算系统,还包括:
门控电路,配置为输出门控控制信号,该门控控制信号用于控制将要提供给所述多个子块的时钟信号或电源电压,其中
DVFS控制器基于门控控制信号来获取子活动时间。
19.根据权利要求15所述的计算系统,其中:
所述多个子块包括:
具有相对低的性能的第一子块;以及
具有相对高的性能的第二子块,以及
当基于功耗调整的时钟信号的频率达到参考频率时,第二子块中的至少一个处理分配给第一子块中的至少一个的指令。
20.根据权利要求15所述的计算系统,其中DVFS控制器基于功耗与所述多个子块在采样周期期间能够消耗的最大允许功率之比来确定时钟信号在采样周期之后的频率。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0168724 | 2020-12-04 | ||
KR1020200168724A KR20220079196A (ko) | 2020-12-04 | 2020-12-04 | Dvfs 동작을 수행하는 집적 회로 및 이의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114594849A true CN114594849A (zh) | 2022-06-07 |
Family
ID=81803771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111337343.3A Pending CN114594849A (zh) | 2020-12-04 | 2021-11-12 | 执行动态电压和频率调节操作的集成电路及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11907036B2 (zh) |
KR (1) | KR20220079196A (zh) |
CN (1) | CN114594849A (zh) |
TW (1) | TW202230085A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117670647A (zh) * | 2022-09-08 | 2024-03-08 | 象帝先计算技术(重庆)有限公司 | 图像处理系统、gpu电源管理方法和电子设备 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8484498B2 (en) * | 2010-08-26 | 2013-07-09 | Advanced Micro Devices | Method and apparatus for demand-based control of processing node performance |
US9304570B2 (en) * | 2011-12-15 | 2016-04-05 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including power and performance workload-based balancing between multiple processing elements |
US9575542B2 (en) * | 2013-01-31 | 2017-02-21 | Hewlett Packard Enterprise Development Lp | Computer power management |
KR102086719B1 (ko) | 2014-03-11 | 2020-03-09 | 삼성전자주식회사 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
US9715272B2 (en) * | 2014-04-24 | 2017-07-25 | Htc Corporation | Portable electronic device and core swapping method thereof |
US9760160B2 (en) * | 2015-05-27 | 2017-09-12 | Intel Corporation | Controlling performance states of processing engines of a processor |
US9851774B2 (en) * | 2016-01-04 | 2017-12-26 | Qualcomm Incorporated | Method and apparatus for dynamic clock and voltage scaling in a computer processor based on program phase |
KR102670999B1 (ko) | 2016-12-28 | 2024-05-30 | 삼성전자주식회사 | Dvfs 동작을 수행하는 어플리케이션 프로세서, 이를 포함하는 컴퓨팅 시스템 및 이의 동작 방법 |
US10642338B2 (en) | 2017-09-28 | 2020-05-05 | Intel Corporation | Hierarchical power management unit for low power and low duty cycle devices |
WO2019117961A1 (en) * | 2017-12-15 | 2019-06-20 | Intel Corporation | Power governance of processing unit |
KR102118799B1 (ko) | 2018-10-15 | 2020-06-03 | 중앙대학교 산학협력단 | 모바일 단말 장치 내의 프로세서의 전력을 관리하는 장치 및 방법 |
KR102641520B1 (ko) | 2018-11-09 | 2024-02-28 | 삼성전자주식회사 | 멀티-코어 프로세서를 포함하는 시스템 온 칩 및 그것의 태스크 스케줄링 방법 |
KR20200101210A (ko) | 2019-02-19 | 2020-08-27 | 삼성전자주식회사 | 전자 장치 및 프로세서의 동작 주파수를 결정하는 방법 |
US10928886B2 (en) | 2019-02-25 | 2021-02-23 | Intel Corporation | Frequency overshoot and voltage droop mitigation apparatus and method |
WO2021184248A1 (zh) * | 2020-03-18 | 2021-09-23 | 华为技术有限公司 | 测量处理器核功率的方法和装置 |
-
2020
- 2020-12-04 KR KR1020200168724A patent/KR20220079196A/ko active Search and Examination
-
2021
- 2021-09-29 US US17/489,299 patent/US11907036B2/en active Active
- 2021-11-12 CN CN202111337343.3A patent/CN114594849A/zh active Pending
- 2021-11-29 TW TW110144303A patent/TW202230085A/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117670647A (zh) * | 2022-09-08 | 2024-03-08 | 象帝先计算技术(重庆)有限公司 | 图像处理系统、gpu电源管理方法和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20220179471A1 (en) | 2022-06-09 |
TW202230085A (zh) | 2022-08-01 |
US11907036B2 (en) | 2024-02-20 |
KR20220079196A (ko) | 2022-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200379541A1 (en) | Application processor performing a dynamic voltage and frequency scaling operation, computing system including the same, and operation method thereof | |
US9377830B2 (en) | Data processing device with power management unit and portable device having the same | |
KR101980502B1 (ko) | 동적 전압 마진 복구 | |
KR101324885B1 (ko) | 복수의 회로들에서의 성능 파라미터들 조정 | |
KR102190453B1 (ko) | 전력 관리 장치 및 이를 포함하는 시스템 온 칩 | |
US20140173311A1 (en) | Methods and Systems for Operating Multi-Core Processors | |
CN106415521B (zh) | 多处理动态非对称和对称模式切换的硬件设备和方法 | |
US11803225B2 (en) | Apparatus, method, and system for power consumption management of system-on-chip | |
US11385811B2 (en) | Storage device and method of operating the same | |
US11809263B2 (en) | Electronic circuit for controlling power | |
US10990153B2 (en) | Application processor and system on chip | |
US11243604B2 (en) | Method of performing dynamic voltage and frequency scaling based on power step | |
KR20160063974A (ko) | 워크로드를 이용하여 전력을 제어할 수 있는 시스템 온 칩, 이의 작동 방법, 및 이를 포함하는 컴퓨팅 장치 | |
US12021523B2 (en) | Integrated circuit and computing system performing dynamic voltage and frequency scaling and method of operating integrated circuit | |
CN114594849A (zh) | 执行动态电压和频率调节操作的集成电路及其操作方法 | |
CN118202319A (zh) | 电源电压下降期间的性能管理 | |
CN117597649A (zh) | 热优化功率输送 | |
US9983617B2 (en) | Integrated circuit and computing device having the same | |
Li et al. | Chip-specific power delivery and consumption co-management for process-variation-aware manycore systems using reinforcement learning | |
Li et al. | Co-manage power delivery and consumption for manycore systems using reinforcement learning | |
US11768531B2 (en) | Power management for storage controllers | |
Saha et al. | Integration of DVFS and multi CPUs scaling in a multi-processor | |
US20240193067A1 (en) | System on chip and operating method thereof | |
US11442522B2 (en) | Method of controlling performance boosting of semiconductor device based on at least user input and feedback from previous boosting policies and semiconductor device performing the method | |
US20240061492A1 (en) | Processor performing dynamic voltage and frequency scaling, electronic device including the same, and method of operating the same |
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 |