CN108255774B - 应用处理器、包括该处理器的计算系统及其操作方法 - Google Patents
应用处理器、包括该处理器的计算系统及其操作方法 Download PDFInfo
- Publication number
- CN108255774B CN108255774B CN201711078164.6A CN201711078164A CN108255774B CN 108255774 B CN108255774 B CN 108255774B CN 201711078164 A CN201711078164 A CN 201711078164A CN 108255774 B CN108255774 B CN 108255774B
- Authority
- CN
- China
- Prior art keywords
- period
- memory
- core
- cycle
- activity
- 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
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/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/329—Power saving characterised by the action undertaken by task scheduling
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- 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/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/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
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Power Sources (AREA)
Abstract
提供了一种包括具有至少一个核的中央处理单元(CPU)以及存储器接口的应用处理器、包括该应用处理器的计算系统及其操作方法。该方法包括:在第一时段内,测量所述至少一个核执行操作以运行指令的时段的核活动周期以及所述至少一个核处于空闲状态的时段的核空闲周期;产生关于所述至少一个核在核活动周期中访问存储器接口的时段的存储器访问停顿周期的信息;使用关于存储器访问停顿周期的信息来校正核活动周期以使用所校正的核活动周期来计算所述至少一个核上的负载;以及使用所计算的在所述至少一个核上的负载来对所述至少一个核执行DVFS操作。
Description
相关申请的交叉引用
本申请要求于2016年12月28日向韩国知识产权局提交的韩国专利申请No.10-2016-0181444的优先权,该申请的全部公开内容以引用方式并入本文中。
技术领域
本发明构思的示例性实施例涉及一种应用处理器,更具体地,涉及一种能够有效执行动态电压和频率缩放(DVFS)操作的应用处理器、包括该应用处理器的计算系统及其操作方法。
背景技术
随着在例如移动装置的计算系统中核的数量增加以提高移动环境中的多线程性能以及专利的主知识产权(IP)不断地添加用于其中的应用处理器中的各种多媒体场景,电源管理可以用于优化不同组件之间的资源分配。例如,应用处理器可以执行动态电压和频率缩放(DVFS)操作以调整其中的频率和电压以控制性能和功耗。
发明内容
根据本发明构思的示例性实施例,操作包括具有至少一个核的中央处理单元(CPU)以及存储器接口的应用处理器的方法包括步骤:在第一时段内,测量所述至少一个核执行用于运行指令的操作的时段的核活动周期以及所述至少一个核处于空闲状态的时段的核空闲周期;产生关于所述至少一个核在核活动周期中访问存储器接口的时段的存储器访问停顿周期的信息;使用关于存储器访问停顿周期的信息来校正核活动周期以使用所校正的核活动周期来计算所述至少一个核上的负载;以及使用所计算的在所述至少一个核上的负载来对所述至少一个核执行动态电压和频率缩放(DVFS)操作。
根据本发明构思的示例性实施例,操作包括多个主知识产权(IP)、存储器装置和存储器接口的计算系统的方法包括步骤:在预定时段内,测量存储器活动周期,存储器活动周期包括存储器接口响应于来自至少一个主IP的请求而使用存储器装置执行数据输入/输出操作的时段的数据事务周期和执行数据输入/输出操作所需的操作被执行的时段的就绪操作周期;使用存储器活动周期计算包括存储器装置和存储器接口的存储器时钟域上的负载;以及使用存储器时钟域上的负载来对存储器接口和存储器装置执行DVFS操作。
根据本发明构思的示例性实施例,应用处理器包括连接至至少一个外部存储器装置的存储器接口、连接至至少一个外部主IP的输入/输出接口、包括多个核的多核CPU、以及构造为储存DVFS程序的存储器。多个核的每一个构造为通过使用关于在核活动周期内每个核访问存储器接口的时段的存储器访问停顿周期的信息来校正在第一时段内执行操作以运行指令的时段的核活动周期,并且构造为使用所校正的核活动周期来运行存储在存储器中的程序以执行DVFS操作。
附图说明
通过参考附图详细描述示例性实施例,本发明构思的上述以及其它特征将变得更加清楚。
图1是示出根据本发明构思的示例性实施例的计算系统的框图。
图2是示出根据本发明构思的示例性实施例的中央处理单元(CPU)的框图。
图3是根据本发明构思的示例性实施例的相对于图2的CPU的动态电压和频率缩放(DVFS)操作的时序图。
图4A和图4B是示出根据本发明构思的示例性实施例的在DVFS操作中获得核上的负载的数学表达式的示图。
图5是示出根据本发明构思的示例性实施例的CPU的框图。
图6是示出根据本发明构思的示例性实施例的关于图5的CPU的DVFS操作的时序图。
图7是示出根据本发明构思的示例性实施例的应用处理器的操作方法的流程图。
图8是根据本发明构思的示例性实施例的操作应用处理器以产生关于存储器访问停顿周期的信息的方法的流程图。
图9是根据本发明构思的示例性实施例的操作应用处理器以计算核上负载的方法的流程图。
图10和图11分别是示出根据本发明构思的示例性实施例的产生阈值每指令周期(CPI)的方法的流程图和表格。
图12是示出根据本发明构思的示例性实施例的CPU的框图。
图13是示出根据本发明构思的示例性实施例的在关于存储器接口的DVFS操作中获取存储器接口上的负载的数学表达式的示图。
图14A和14B是示出根据本发明构思的示例性实施例的关于存储器时钟域的存储器活动周期的时序图。
图15是示出根据本发明构思的示例性实施例的执行关于存储器时钟域的DVFS操作的方法的流程图。
图16是示出根据本发明构思的示例性实施例的计算系统的框图。
图17是示出根据本发明构思的示例性实施例的操作图16中的计算系统的方法的框图。
图18是示出根据本发明构思的示例性实施例的包括多个核的应用处理器的框图。
图19是示出根据本发明构思的示例性实施例的包括多个核的应用处理器的框图。
图20是示出根据本发明构思的示例性实施例的包括应用处理器的通信设备的框图。
具体实施方式
在下文中,将参考附图详细说明本发明构思的示例性实施例。在本申请中相同的附图标记可以始终指代相同的元件。
本发明构思的示例性实施例提供了能够增强用户体验以及优化功耗的应用处理器、包括该应用处理器的计算系统及其操作方法。
图1是示出根据本发明构思的示例性实施例的计算系统的框图。
参考图1,计算系统10可以包括应用处理器100以及存储器装置MD。图1中所示的计算系统10可以与各种类型的数据处理装置对应,并且作为示例,计算系统10可以是采用应用处理器100的移动装置。此外,计算系统10可以是便携式计算机、移动电话、智能电话、平板个人计算机(PC)、个人数字助理(PDA)、企业数字助理(EDA)、数码相机、数码摄像机、便携式多媒体播放器(PMP)、个人导航装置或便携式导航装置(PND)、掌上游戏机、移动互联网装置(MID)、可佩戴式计算机、物联网(IoT)装置、万物互联(IoE)装置、电子书等。
计算系统10可以包括各种存储器装置MD。例如,存储器装置MD可以与各种半导体存储器装置相对应。根据本发明构思的示例性实施例,存储器装置MD可以是动态随机存取存储器(DRAM),例如双数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双数据速率(LPDDR)SDRAM、图形双数据速率(GDDR)SDRAM以及Rambus动态随机存取存储器(RDRAM)等。此外,存储器装置MD可以是闪速存储器、相变RAM(PRAM)、磁阻式RAM(MRAM)、电阻式RAM(ReRAM)或者铁电RAM(FeRAM)中的一个。
应用处理器100可以通过片上系统(SoC)来实现。SoC可以包括应用了具有预定的标准总线规范的协议的系统总线以及连接至系统总线的各种知识产权(IP)。可以应用高级RISC机器(ARM)的高级微控制器总线架构(AMBA)协议作为系统总线的标准规范。AMBA协议的总线类型可以包括高级高性能总线(AHB)、高级外设总线(APB)、高级可扩展接口(AXI)、AXI4、AXI一致性扩展(ACE)等。另外,可以使用诸如SONIC公司的uNetwork、IBM的CoreConnect、OCP-IP的开放核协议等的其他类型的协议。
应用处理器100可以包括中央处理单元(CPU)110、存储器接口120、时钟管理单元(CMU)130、电源管理集成电路(PMIC)140、内部存储器150以及周围块160。在图1示出的本示例实施例中,PMIC140在应用处理器100中实现,然而也可以在应用处理器100之外实现。此外,应用处理器100可以包括代替PMIC 140的电源管理单元来控制施加给应用处理器100中功能块的功率。
CPU 110可以包括至少一个核112并且可以由多核处理器来实现。核112可以是独立的处理器,并且核112可以读取和运行指令。核112可以从内部存储器150加载动态电压和频率缩放(以下简称“DVFS”)模块114并且运行DVDS模块114以执行DVFS操作。下文中使用的术语“模块”可以意味着能够执行功能或操作的硬件或计算机程序代码。然而,下文中使用的术语“模块”不应该仅限于此,并且也可以意味着其中具有执行特定功能和操作的计算机程序代码的电子记录介质,例如处理器。换句话说,术语“模块”可以意味着构造为实现本发明构思的技术理念的硬件和/或被构造为指示硬件进行操作的软件的功能和/或结构组合。
周围块160可以与除了CPU 110以外的外围块相对应,并且作为示例,周围块160可以包括与至少一个主知识产权(IP)通信的各种功能块,例如输入/输出(IO)接口块、通用串行总线(USB)主机块、通用串行总线(USB)从属块等。
DVFS模块114可以确定应用处理器100中各种功能块的运行状态,并且基于所确定的结果将控制信号提供给CMU 130以及PMIC 140以控制各种功能块的频率和/或功率。作为示例,DVFS模块114可以控制施加到CPU 110的时钟信号的频率和功率,并且可以分别控制施加到存储器接口120的时钟信号的频率和功率。
存储器接口120可以访问存储器装置MD以在存储器装置MD中写入数据,或者从存储器装置MD读出数据。存储器接口120可以与存储器装置MD相接,并且向存储器装置MD提供例如写入命令、读取命令等各种命令以执行存储器操作。因此,存储器接口120和存储器装置MD可以包括在同一存储器时钟域M_CLK_Domain中,并且包括在存储器时钟域M_CLK_Domain中的存储器接口120和存储器装置MD可以基于具有大致相同频率的时钟信号执行存储器操作。
当核112处理指令时发生L2高速缓存缺失时,核112暂时停止计算操作并访问存储器接口120以将处理指令所需的数据写入存储器装置MD中,或者从存储器装置MD读取数据。在下文中,核112访问存储器接口120的操作可以笼统地称为核112访问存储器装置MD的操作。核112停止关于指令的计算操作并访问存储器接口120的操作可以称为“存储器访问停顿”。
根据本示例性实施例的DVFS模块114可以通过考虑核112基本不执行计算操作的存储器访问停顿时段的周期来执行DVFS操作。下文中使用的术语“周期”可以表示预定时段的时间并且可以依据作为核112或者存储器接口120的操作基础的时钟信号的频率而改变。例如,当周期值为“n”时,周期可以对应于与作为核112或存储器接口120的操作基础的时钟信号的n个时段相对应的时间。作为示例,DVFS模块114可以基于关于存储器访问停顿周期的信息来校正核112在第一时段内处理指令的时段的核活动周期,使得核活动周期仅包括核112基本执行计算操作的周期。DVFS模块114可以通过从核活动周期减去存储器访问停顿周期来校正核活动周期。
DVFS模块114可以使用在第一时段内的所校正的核活动周期和核112处于空闲状态的时段的核空闲周期来计算核112上的负载。DVFS模块114可以基于核112上的负载将时钟控制信号CTR_CC提供给CMU 130或者将功率控制信号CTR_CP提供给PMIC 140。
CMU 130可以响应于时钟控制信号CTR_CC将具有缩放频率的时钟信号CLK_C提供给CPU 110。另外,PMIC 140可以响应于功率控制信号CTR_CP将具有缩放水平的功率PW_C提供给CPU 110。
根据本示例性实施例的DVFS模块114可以与CPU 110分离地对存储器接口120执行DVFS操作。DVFS模块114可以从存储器接口120收集存储器活动周期M_Tact。存储器活动周期M_Tact表示这样的周期:其中,包括在存储器时钟域M_CLK_Domain中的存储器接口120和存储器装置MD响应于来自CPU 110或者另一个主IP的预定请求执行存储器操作。
作为示例,在第二时段,存储器活动周期M_Tact可以包括存储器接口120使用存储器装置MD执行数据输入/输出操作的时段的数据事务周期和存储器接口120响应于来自CPU110或者另一个主IP的请求执行数据输入/输出操作所需的操作的时段的就绪操作周期。
DVFS模块114可以在除了与通过存储器接口120和存储器装置MD的数据输入和输出的带宽相对应的数据事务周期之外,还考虑到使用存储器装置MD执行数据输入/输出操作所需的时段来计算关于存储器接口120的负载。
DVFS模块114可以基于所收集的存储器活动周期M_Tact来计算包括存储器接口120和存储器装置MD的存储器时钟域M_CLK_Domain上的负载,并且基于所计算的负载对存储器接口120执行DVFS操作。如上所述,由于存储器接口120和存储器装置MD包括在同一存储器时钟域M_CLK_Domain中,所以存储器装置MD可以根据DVFS操作的结果接收与存储器接口120相同的时钟信号CLK_M,并且也可以接收与存储器接口120相同的功率PW_M。
根据本示例性实施例的应用处理器100通过考虑CPU 110和存储器接口120的每一个上的负载来单独地执行DVFS操作,因此,可以提高应用处理器100的性能。
图2是示出根据本发明构思的示例性实施例的CPU的框图,图3是示出根据本发明构思的示例性实施例的关于图2中的CPU的DVFS操作的时序图,图4A和图4B是示出根据本发明构思的示例性实施例在DVFS操作中获得核上负载的数学表达式的示图。
参考图2,CPU 110a可以包括DVFS模块114a和性能监控单元116a。为了便于说明,内部存储器150a可以包括存储器接口120a和阈值每指令周期(CPI)存储区域150_1a。性能监控单元116a是在CPU 110中实现的硬件并且测量核的性能参数。根据本示例性实施例的性能监控单元116a可以包括活动周期计数器116_1a和指令引退计数器116_3a。活动周期计数器116_1a对核在第一时段期间处理指令的时段的时间进行计数以测量核活动周期。第一时段可以是由DVFS调节器模块114_1a设置的调节器窗口,并且可以依据关于核的DVFS操作方案来改变第一时段的长度。指令引退计数器116_3a可以对在核活动周期时段中处理的指令数进行计数。
DVFS模块114a可以包括DVFS调节器模块114_1a、CMU装置驱动器114_2a以及PMIC装置驱动器114_3a。DVFS调节器模块114_1a可以控制DVFS操作。例如,DVFS调节器模块114_1a可以收集包括核活动周期的第一计数信息Count_1和包括来自性能监控单元116a的所执行的指令的数量的第二计数信息Count_2,并且可以从内部存储器150a收集阈值CPI TH_CPI。DVFS调节器模块114_1a可以使用阈值CPI TH_CPI来产生关于核的存储器访问停顿周期的信息。阈值CPI TH_CPI可以是通过如下方式获得的值,即,测量核用来运行无需访问存储器接口120a的多条指令所需的活动周期,并将所测量的活动周期转换为运行一条指令所需的周期。换句话说,DVFS调节器模块114_1a可以使用阈值CPI TH_CPI导出包括在核活动周期中的存储器访问停顿周期的比率。将在下面更详细地描述阈值CPI TH_CPI。此外,作为示例,由DVFS调节器模块114_1a产生的关于存储器访问停顿周期的信息可以包括SPI(每指令存储器访问停顿周期)。将在下面详细地描述SPI。
参考图2和图3,第一时段IV_1包括核活动周期Tact和核空闲周期Tidle。通过活动周期计数器116_1a测量的核活动周期Tact可以包括核执行计算操作的周期C和核访问存储器接口120a的时段(图3中“A”所示)的存储器访问停顿周期S。如上所述,由于在存储器访问停顿周期S中,核可以暂时停止计算操作,所以当精确计算核上的负载时可以排除存储器访问停顿周期S。在下文中,将描述通过考虑存储器访问停顿周期S来计算核上的负载的示例。
参考图4A,DVFS调节器模块114_1a可以使用核活动周期Tact和所运行的指令的数量来产生表示在核活动周期Tact期间运行一条指令所需的周期的CPI(Cycle PerInstruction,每指令周期)。由于核活动周期Tact可以包括当核访问存储器接口120a以运行指令时的存储器访问停顿周期S,所以DVFS调节器模块114_1a可以通过考虑存储器访问停顿周期S来校正核活动周期Tact。
作为示例,DVFS调节器模块114_1a可以将CPI和阈值CPI TH_CPI进行比较,并且可以假设当CPI超过阈值CPI时,预定的存储器访问停顿周期包括在核活动周期Tact中(情况1)。因此,DVFS调节器模块114_1a可以通过从CPI中减去阈值CPI TH_CPI来产生表示在核活动周期Tact期间通过一条指令访问存储器接口120a所需的周期的SPI(memory access Stall cycle Per Instruction,每指令存储器访问停顿周期)。DVFS调节器模块114_1a可以使用CPI和SPI来校正核活动周期Tact。DVFS调节器模块114_1a可以使用校正的核活动周期Tact'和校正的核活动周期与核空闲周期的和(Tact'+Tidle)之间的比率计算核的负载CLcore。DVFS调节器模块114_1a可以基于核的负载CLcore控制CMU装置驱动器114_2a和PMIC装置驱动器114_3a中的每个。CMU装置驱动器114_2a可以基于DVFS调节器模块114_1a的DVFS操作将时钟控制信号CTR_CC提供给CMU 130。因此,CMU 130可以将具有由DVFS操作产生的缩放频率的时钟信号提供给CPU 110a。另外,PMIC装置驱动器114_3a可以基于DVFS调节器模块114_1a的DVFS操作将功率控制信号CTR_CP提供给PMIC 140。因此,PMIC 140可以将具有由DVFS操作产生的缩放水平的功率提供给CPU 110a。
参考图4B,DVFS调节器模块114_1a可以将CPI和阈值CPI TH_CPI进行比较,并且当CPI小于或者等于阈值CPI TH_CPI时可以不产生SPI(情况2)。换句话说,当CPI小于或者等于阈值CPI TH_CPI时,DVFS调节器模块114_1a可以假设存储器访问停顿周期S不包括在核活动周期Tact中,并且可以不产生关于包括SPI的存储器访问停顿周期S的信息。因此,DVFS调节器模块114_1a可以使用核活动周期Tact和核活动周期与核空闲周期的和(Tact+Tidle)之间的比率来计算核的负载CLcore。
根据本示例性实施例的DVFS调节器模块114_1a可以通过使用阈值CPI TH_CPI的简单比较操作来确定存储器访问停顿周期S是否包括在核活动周期Tact中。此外,由于产生SPI和使用简单的计算操作来校正核活动周期Tact,所以可以有效地执行DVFS操作,并且可以提高应用处理器(例如图1中的应用处理器100)的性能。
图5是示出根据本发明构思的示例性实施例的CPU的框图,图6是示出根据本发明构思的示例性实施例的关于图5中的CPU的DVFS操作的时序图。
参考图5,除了存储器访问停顿周期计数器116_3b,CPU 110b可以与图2的CPU110a大致相同。例如,CPU 110b可以包括DVFS模块114b和性能监控单元116b。性能监控单元116b可以包括活动周期计数器116_1b和存储器访问停顿周期计数器116_3b。DVFS模块114b可以包括DVFS调节器模块114_1b、CMU装置驱动器114_2b以及PMIC装置驱动器114_3b。DVFS调节器模块114_1b可以连接至存储器接口120b。在下文中,将描述图2中的CPU 110a与CPU110b之间的区别。
存储器访问停顿周期计数器116_3b可以对在核活动周期内核访问存储器接口120b的时段进行计数,以测量存储器访问停顿周期。DVFS调节器模块114_1b可以从性能监控单元116b中收集包括核活动周期的第一计数信息Count_1和包括存储器访问停顿周期的第三计数信息Count_3。
参考图5和图6,DVFS调节器模块114_1b可以通过使用第一计数信息Count_1和第三计数信息Count_3从核活动周期Tact中减去存储器访问停顿周期S来产生仅包括核执行计算操作的周期C的所校正的核活动周期Tact'。DVFS调节器模块114_1b可以使用所校正的核活动周期Tact'和所校正的核活动周期与核空闲周期的和(Tact'+Tidle)之间的比率精确地计算核的负载CLcore。DVFS调节器模块114_1b可以基于核的负载CLcore来控制CMU装置驱动器114_2b和PMIC装置驱动器114_3b中的每一个。
根据本示例性实施例的DVFS模块114b可以精准地对包括在核活动周期Tact中的存储器访问停顿周期S进行计数和产生,并且使用所产生的存储器访问停顿周期S来计算核上的负载,因此,可以有效地执行DVFS操作。
图7是示出根据本发明构思的示例性实施例的应用处理器的操作方法的流程图。
参考图2和图7,活动周期计数器116_1a可以在由DVFS调节器模块114_1a设置的第一时段内对核执行用于运行指令的操作的时段的核活动周期进行计数和测量,并且DVFS调节器模块114_1a可以从第一时段的长度减去核活动周期以测量核处于空闲状态的时段的核空闲周期(S100)。然后,DVFS调节器模块114_1a可以产生关于存储器访问停顿周期的信息,该存储器访问停顿周期是在核活动周期内核访问存储器接口的时段(S110)。DVFS调节器模块114_1a可以基于关于存储器访问停顿周期的信息来校正核活动周期,并且基于所校正的核活动周期来计算核上的负载(S 120)。DVFS调节器模块114_1a可以基于核上的负载对核执行DVFS操作(S130)。
图8是根据本发明构思的示例性实施例的操作应用处理器以产生关于存储器访问停顿周期的信息的方法的流程图。
参考图2和图8,DVFS调节器模块114_1a可以从性能监控单元116a收集核活动周期和核活动周期中运行的指令的数量,并且可以产生表示在核活动周期期间运行一条指令所需的周期的CPI(S 111)。DVFS调节器模块114_1a可以将产生的CPI与从内部存储器150a提供的阈值CPI进行比较(S112)。DVFS调节器模块114_1a可以确定CPI是否超过了阈值CPI(S113)。当CPI超过阈值CPI(S113中为是)时,DVFS调节器模块114_1a可以从CPI中减去阈值CPI并且产生与关于存储器访问停顿周期的信息相对应的SPI(S114)。当CPI没有超过阈值CPI(S113中为否)时,DVFS调节器模块114_1a可以不产生SPI(S115)。
图9是根据本发明构思的示例性实施例的操作应用处理器来计算核上的负载的方法的流程图。
参考图2和图9,当DVFS调节器模块114_1a产生SPI时(从图8的步骤S114),DVFS调节器模块114_1a可以使用CPI和SPI校正由活动周期计数器116_1a测量的核活动周期(S121)。当不产生SPI时(从图8的步骤S115),DVFS调节器模块114_1a可以维持由活动周期计数器116_1a测量的核活动周期而不校正核活动周期(S123)。然后,DVFS调节器模块114_1a可以使用校正的或者未校正的核活动周期以及核空闲周期来计算核上的负载(S125)。
图10和图11分别是示出根据本发明构思的示例性实施例的产生阈值CPI的方法的流程图和表格。
参考图10,包含在应用处理器中的核可以对在计算阶段边界(computing phaseboundary)中的预定指令执行第N次运行操作,以设置用于执行DVFS操作的阈值CPI(S200)。核可以在计算阶段边界中而不是在核访问存储器接口的时段连续地执行计算操作以运行预定的指令。核可以测量运行预定指令所需的第N个候选活动周期并存储所测量的第N个候选活动周期(S210)。核可以确定根据测量结果产生的候选活动周期的数量是否是M(S220)。“M”可以是之前确定以设置阈值CPI的任意值。当根据测量结果产生的候选活动周期的数量是M(S220中为是)时,例如,当在计算阶段边界中对预定的指令执行第M次运行操作时,核可以使用测量的M个候选活动周期中的至少一个来设置阈值CPI(S240)。当根据测量结果产生的候选活动周期的数量不是M(S220中为否)时,核可以将N递增1并且再次对预定的指令执行运行操作。
如图11中所示,表格示出了与候选活动周期相对应的CPKI(Cycle Per Ki loInstructions,1000条指令执行周期)。
CPKI代表在计算阶段边界中用来运行1000条指令的周期。当运行指令时,由于例如浮动计算、分支预测失败等因素,与候选活动周期相对应的CPKI可以彼此具有不同的值。根据本示例性实施例,可以在M个候选活动周期当中选择具有最长长度的候选活动周期CM_1,并且可以使用所选择的候选活动周期CM_1来设置阈值CPI。然而,根据本发明构思的示例性实施例,可以基于DVFS操作方案选择M个候选活动周期中的任何一个,并且可以使用所选择的候选活动周期来设置阈值CPI。
图12是示出根据本发明构思的示例性实施例的CPU的框图,图13是示出根据本发明构思的示例性实施例的在关于存储器接口的DVFS操作中获取存储器接口上的负载的数学表达式的示图。
参考图12,CPU 110c可以操作DVFS模块114c,DVFS模块114c可以包括DVFS调节器模块114_1c、CMU装置驱动器114_2c和PMIC装置驱动器114_3c。存储器时钟域M_CLK_Domain可以包括存储器接口120c和存储器装置MD。DVFS调节器模块114_1c可以响应于来自CPU110c或者另一个主IP的请求在第二时段期间从存储器接口120c收集存储器活动周期M_Tact,其包括使用存储器装置MD执行数据输入/输出操作的时段的事务周期以及实施由存储器装置MD执行数据输入/输出操作所需的操作的时段的就绪操作周期。第二时段可以是由DVFS调节器模块114_1c设置的调节器窗口。可以依据关于存储器接口120c的DVFS操作方案改变第二时段的长度,并且第二时段的长度可以与图2中所描述的第一时段的长度相等或者不同。
参考图12和图13,DVFS调节器模块114_1c可以使用包括数据事务周期M_Tdata和就绪操作周期M_TRO的存储器活动周期M_Tact以及第二时段的长度M_Ttotal来计算存储器时钟域M_CLK_Domain的负载CLM。根据本示例性实施例的DVFS调节器模块114_1c可以基于存储器时钟域M_CLK_Domain的负载CLM来控制CMU装置驱动器114_2c和PMIC装置驱动器114_3c中的每一个。CMU装置驱动器114_2c可以基于DVFS调节器模块114_1c的DVFS操作将时钟控制信号CTR_MC提供给CMU。因此,CMU可以将具有由DVFS操作引起的缩放频率的时钟信号提供给存储器接口120c。此外,PMIC装置驱动器114_3c可以基于DVFS调节器模块114_1c的DVFS操作将功率控制信号CTR_MP提供给PMIC。因此,PMIC可以将具有由DVFS操作引起的缩放水平的功率提供给存储器接口120c。
根据本示例性实施例的DVFS模块114c通过考虑存储器接口120c和/或存储器装置MD上的负载(例如存储器时钟域M_CLK_Domain)来对存储器接口120c和存储器装置MD执行DVFS操作,因此可以提高应用处理器的性能。
图14A和图14B是示出根据本发明构思的示例性实施例的关于存储器时钟域的存储器活动周期的时序图。
参考图12和图14A,存储器时钟域M_CLK_Domain的存储器活动周期M_Tact_a可以依据连接至存储器接口120c的存储器装置MD的类型而改变。根据本发明构思的示例性实施例,当存储器装置MD与第一存储器装置相对应时,存储器装置MD可以预先执行预定的就绪操作RO_1a和RO_2a,以允许存储器接口120c响应于读出请求R1和R2执行针对读取的数据的输出操作D_1a和D_2a。因此,第二时段IV_2a中的存储器时钟域M_CLK_Domain的存储器活动周期M_Tact_a可以包括使用存储器装置MD执行数据输入/输出操作的时段的数据事务周期M_Tdata_1a和M_Tdata_2a以及通过存储器装置MD实施执行数据输入/输出操作所需的操作的时段的就绪操作周期M_TRO_1a和M_TRO_2a,以便允许存储器装置MD输出读取的数据。在第二时段IV_2a中除了存储器活动周期M_Tact_a之外的时段可以与存储器空闲周期M_Tidle_a相对应。
参考图12和图14B,当存储器装置MD与第二存储器装置相对应时,存储器装置MD可以比图14A中的存储器装置MD执行更多的就绪操作(例如RO_1a、RO_1b、RO_2a和RO_2b),以允许存储器接口120c响应于读出请求R1和R2执行针对读取的数据的输出操作D_1b和D_2b。因此,第二时段IV_2b中的存储器时钟域M_CLK_Domain的存储器活动周期M_Tact_b可以包括使用存储器装置MD执行数据输入/输出操作的时段的数据事务周期M_Tdata_1b和M_Tdata_2b、以及通过存储器装置MD实施执行数据输入/输出操作所需的操作的时段的就绪操作周期M_TRO_1a、M_TRO_1b、M_TRO_2a和M_TRO_2b,以便允许存储器装置MD输出读取的数据,因此第二周期IV_2b中的存储器时钟域M_CLK_Domain的存储器活动周期M_Tact_b可以具有大于图14A所示的存储器活动周期M_Tact_a的值。在第二时段IV_2b中除了存储器活动周期M_Tact_b之外的时段可以与存储器空闲周期M_Tidle_b相对应。
作为示例,假设存储器装置MD是DRAM,则存储器装置MD可以在执行输出操作D_1b之前使用包括在存储器装置MD中的读出放大器来执行放大读取的数据的就绪操作RO_1a,以输出读取的数据,并且存储器装置MD可以在执行输出操作D_1b之后执行对从中读出了数据的存储器单元进行预充电的就绪操作RO_1b。此外,存储器装置MD可以在执行输出操作D_2b之前使用包括在存储器装置MD中的读出放大器来执行放大读取的数据的就绪操作RO_2a,以输出读取的数据,并且存储器装置MD可以在执行输出操作D_2b之后执行对从中读出了数据的存储器单元进行预充电的就绪操作RO_2b。
如上所述,根据本示例性实施例的DVFS模块114c可以通过不仅考虑其中执行数据输入/输出操作的时段的数据事务周期,而且还考虑依据根据存储器装置MD的类型而不同的就绪操作所需的周期来计算反映存储器的实际操作状态的负载。
图15是根据本发明构思的示例性实施例的执行关于存储器时钟域的DVFS操作的方法的流程图。
参考图12和图15,存储器接口120c可以测量预定时段中的存储器活动周期M_Tact,其包括存储器接口120c响应于来自至少一个主IP的请求而使用存储器装置MD执行数据输入/输出操作的时段的数据事务周期以及实施执行数据输入/输出操作所需的操作的时段的就绪操作周期(S300)。DVFS模块114c可以基于存储器活动周期M_Tact计算存储器时钟域M_CLK_Domain上的负载(S310)。DVFS调节器模块114_1c可以基于存储器时钟域M_CLK_Domain上的负载来对存储器时钟域M_CLK_Domain执行DVFS操作(S320)。
图16是示出根据本发明构思的示例性实施例的计算系统的框图。
参考图16,计算系统20可以包括多个主IP210、220、230和240,RAM 250,ROM 260,存储器接口270,存储器装置280和总线290。主IP可以包括CPU 210、图形处理单元(GPU)220、显示器IP230和多媒体IP 240,但是主IP不限于此。例如,计算系统20还可以包括各种主IP。
如果需要,可以将存储在RAM 250、ROM 260和存储器装置280中的程序和/或数据加载到主IP 210、220、230和240的存储器中。RAM 250可以临时存储程序、数据或指令。例如,响应于主IP 210、220、230和240之一的控制或存储在ROM 260中的启动代码,可以将程序和/或数据临时存储在RAM 250中。RAM 250可以由DRAM或静态RAM(SRAM)来实现。ROM 260可以存储永久的程序和/或数据。ROM260可以由可擦除可编程只读存储器(EPROM)或电可擦除可编程只读存储器(EEPROM)来实现。
存储器接口270可以与存储器装置280相接并且控制存储器装置280的总体操作。此外,存储器接口270可以经由总线290控制主IP 210、220、230和240与存储器装置280之间的数据事务。例如,存储器接口270可以响应于来自CPU 210的请求而在存储器装置280中写入数据或从存储器装置280读取数据。
根据本示例性实施例,总线290可以包括通信量监控单元295,并且存储器接口270、存储器装置280和通信量监控单元295可以包括在同一存储器时钟域M_CLK_Domain中。通信量监控单元295可以测量预定时段内的存储器活动周期M_Tact,其包括存储器接口270响应于来自至少一个主IP的请求而使用存储器装置280执行数据输入/输出操作的时段的数据事务周期以及实施执行数据输入/输出操作所需的操作的时段的就绪操作周期。
根据本发明构思的示例性实施例,通信量监控单元295可以测量从来自至少一个主IP的请求到达存储器时钟域M_CLK_Domain的时间点起至完成数据输入/输出操作的时间点的周期来作为存储器活动周期M_Tact。
执行DVFS程序的CPU 210可以从通信量监控单元295收集存储器活动周期M_Tact,并且CPU 210可以基于存储器活动周期M_Tact执行对存储器接口270和存储器装置280的DVFS操作。
通信量监控单元295包括在如图16所示的总线290中,但不限于此。例如,通信量监控单元295可以位于能够精确检测请求到达存储器接口270的时间点以及响应于该请求完成数据输入/输出操作的时间点的存储器时钟域M_CLK_Domain中的任意位置。例如,通信量监控单元295可以包括在存储器接口270中。
图17是示出根据本发明构思的示例性实施例的操作图16的计算系统的方法的框图。
参考图17,GPU可以访问存储器接口270以执行图像处理操作。在该情况下,根据本示例性实施例的通信量监控单元295可以通过对从访问存储器接口270的请求(Req.)从GPU220到达通信量监控单元295的时间点起至数据从通信量监控单元295输出至GPU 220以作为对请求(Req.)的响应(Res.)的时间点的周期进行计数来测量存储器活动周期M_Tact。
CPU 210可以收集由通信量监控单元295测量的存储器活动周期M_Tact,并且CPU210可以基于存储器活动周期M_Tact对存储器接口270和存储器装置280执行DVFS操作。
图18是示出根据本发明构思的示例性实施例的包括多个核的应用处理器的框图。
参考图18,应用处理器300可以包括第一集群310、第二集群320、内部存储器330、CMU 340、PMIC 350和存储器接口360。为了便于说明,图18中示出的第一集群310和第二集群320中的每一个分别包括四个核312至318以及322至328,但是第一集群310和第二集群320中的每一个的核数量不限于此。
第一集群310可以包括第一核312、第二核314、第三核316和第四核318,并且第二集群320可以包括第五核322、第六核324、第七核326和第八核328。包括在第一集群310中的核312至核318可以具有与包括在第二集群320中的核322至核328相同或不同的性能。在下文中,将在以下假设下描述应用处理器300:包括在第一集群310中的核312至核318的每单位时间的计算量大于包括在第二集群320中的核322至核328的每单位时间的计算量。
第一集群310可以从内部存储器330接收第一阈值CPI TH_CPI_1,并且第二集群320可以从内部存储器330接收第二阈值CPI TH_CPI_2。因为第一阈值CPI TH_CPI_1和第二阈值CPI TH_CPI_2彼此可以具有不同的值,并且包括在第一集群310中的核312至核318的性能优于包括在第二集群320中的核322至核328的性能,所以第一阈值CPI TH_CPI_1的值可以小于第二阈值CPI TH_CPI_2的值。
第一集群310的核312至核318中的每一个可以基于使用第一阈值CPI TH_CPI_1的DVFS程序执行DVFS操作。详细地,核312至核318中的每一个可以测量每个核运行指令的时段的核活动周期和每个核处于空闲状态的时段的核空闲周期,并且可以产生关于在核活动周期中每个核访问存储器接口的时段的存储器访问停顿周期的信息。核312至核318中的每一个可以基于关于每个存储器访问停顿周期的信息来校正核活动周期并基于所校正的核活动周期来计算每个核上的负载。
在这种情况下,可以基于第一集群310中包括的核312至核318中具有最大负载的核来对第一集群310执行DVFS操作。例如,在第一核312上的负载为第一集群310的核312至核318中的最大负载的情况下(例如,第一核312上的负载处于重度负载状态),则可以基于第一核312上的负载对第一集群310执行DVFS操作。
第一集群310可以基于第一核312上的负载将第一时钟控制信号CTR_CC1提供给CMU 340,并且响应于第一时钟控制信号CTR_CC1来接收其频率被缩放的第一时钟信号CLK_C1。此外,第一集群310可以基于第一核312上的负载将第一功率控制信号CTR_CP1提供给PMIC 350,并且响应于第一功率控制信号CTR_CP1来接收其水平被缩放的第一功率PW_C1。
第二集群320的核322至核328中的每一个可以基于使用第二阈值CPI TH_CPI_2的DVFS程序执行DVFS操作。在这种情况下,可以基于第二集群320中包括的核322至核328中具有最大负载的核来对第二集群320执行DVFS操作。例如,在第六核324上的负载为第二集群320的核322至核328中的最大负载的情况下(例如,第六核324上的负载处于重度负载状态),可以基于第六核324上的负载对第二集群320执行DVFS操作。
第二集群320可以基于第六核324上的负载将第二时钟控制信号CTR_CC2提供给CMU 340,并且响应于第二时钟控制信号CTR_CC2来接收其频率被缩放的第二时钟信号CLK_C2。此外,第二集群320可以基于第六核324上的负载将第二功率控制信号CTR_CP2提供给PMIC 350,并且响应于第二功率控制信号CTR_CP2来接收其水平被缩放的第二功率PW_C2。
图19是示出根据本发明构思的示例性实施例的包括多个核的应用处理器的框图。
参考图19,应用处理器400可以包括第一集群410、第二集群420、CMU 440、PMIC450、存储器接口460和通信量监控单元470。第一集群410和第二集群420分别具有与图18所示的第一集群310和第二集群320大致相同的构造,因此,将省略对第一集群410和第二集群420的详细描述。存储器接口460和通信量监控单元470可以被包括在同一存储器时钟域中。根据本发明构思的示例性实施例,包括在第一集群410和第二集群420中的核412至核428之一可以基于DVFS程序对存储器接口460执行DVFS操作。例如,核412至核428中的每一个可以在对存储器接口460执行DVFS操作之前接收预定信号(或中断信号),并且可以选择首先接收到信号或首先响应于预定信号的核以执行对存储器接口460的DVFS操作。在下文中,假设选择了第二集群420的第八核428对存储器接口460执行DVFS操作。
第八核428可以收集由通信量监控单元470产生的存储器活动周期M_Tact,并且基于存储器活动周期M_Tact将时钟控制信号CTR_MC提供给CMU 440并将功率控制信号CTR_MP提供给PMIC 450。CMU 440可以响应于时钟控制信号CTR_MC将具有被缩放的频率的时钟信号CLK_M提供给存储器接口460,并且PMIC 450可以响应于功率控制信号CTR_MP将具有被缩放的水平的功率PW_C提供给存储器接口460。
图20是示出根据本发明构思的示例性实施例的包括应用处理器的通信设备的框图。
参考图20,通信设备1000可以包括应用处理器1010、存储器装置1020、显示器1030、输入装置1040和无线电收发机1050。
无线电收发机1050可以通过天线1060发送或接收无线电信号。例如,无线电收发机1050可以将通过天线1060提供的无线电信号转换成可由应用处理器1010处理的信号。
因此,应用处理器1010可以处理从无线电收发机1050输出的信号并将所处理的信号发送至显示器1030。另外,无线电收发机1050可以将从应用处理器1010输出的信号转换成无线电信号并且将所转换的无线电信号经由天线1060输出至外部装置。
输入装置1040可以是输入控制信号以控制应用处理器1010的操作或者是输入由应用处理器1010处理的数据的装置,并且可以由指向装置(诸如触控板、电脑鼠标等)、按键或键盘来实现。
根据本发明构思的示例性实施例,应用处理器1010可以单独地执行关于在应用处理器1010中包括的CPU的CPU时钟域的DVFS操作,以及关于包括了在应用处理器1010中包括的存储器接口和存储器装置1020的存储器时钟域的DVFS操作。当应用处理器1010执行关于CPU时钟域的DVFS操作时,应用处理器1010可以通过考虑CPU访问存储器接口的时段的存储器访问停顿周期来执行DVFS操作。此外,当应用处理器1010执行关于存储器时钟域的DVFS操作时,应用处理器1010可以通过不仅考虑数据被处理的时段的周期来执行DVFS操作,而且还考虑执行了输入/输出数据所需的操作的时段的周期来执行DVFS操作。为了执行DVFS操作,应用处理器1010还可以包括DVFS控制器。
通信设备1000还可以包括PMIC以将功率提供给包括在通信设备1000中的各种组件。
虽然已经参考本发明的示例性实施例描述了本发明构思,但是本领域普通技术人员应当理解,在不脱离如所附权利要求中所阐述的本发明构思的精神和范围的情况下,可以对其进行各种修改、替换和等效布置。
Claims (16)
1.一种操作应用处理器的方法,所述应用处理器包括具有至少一个核的中央处理器和存储器接口,所述方法包括步骤:
在第一时段期间,测量核活动周期和核空闲周期,所述核活动周期为所述至少一个核执行用于运行指令的操作的时段,所述核空闲周期为所述至少一个核处于空闲状态的时段;
产生关于存储器访问停顿周期的信息,所述存储器访问停顿周期为在所述核活动周期中所述至少一个核访问所述存储器接口的时段;
使用关于存储器访问停顿周期的信息来校正所述核活动周期,以使用所校正的核活动周期来计算所述至少一个核上的负载;以及
使用所计算的所述至少一个核上的负载来对所述至少一个核执行动态电压和频率缩放操作,
其中,关于所述存储器访问停顿周期的信息包括每指令存储器访问停顿周期,并且
产生关于所述存储器访问停顿周期的信息的步骤包括:
产生每指令周期,其指示在所述核活动周期期间运行一条指令所需的周期;
将所述每指令周期与阈值每指令周期进行比较;以及
当所述每指令周期超过所述阈值每指令周期时,从所述每指令周期中减去所述阈值每指令周期以产生所述每指令存储器访问停顿周期,
其中,所述每指令存储器访问停顿周期指示在所述核活动周期期间通过所述一条指令访问存储器接口所需的周期。
2.根据权利要求1所述的方法,其中,关于所述存储器访问停顿周期的信息包括所述存储器访问停顿周期,并且
计算所述至少一个核上的负载的步骤包括:
从所述核活动周期中减去所述存储器停顿周期以校正所述核活动周期。
3.根据权利要求1所述的方法,其中,执行所述动态电压和频率缩放操作的步骤包括:
通过使用所校正的核活动周期和所述核空闲周期来计算所述至少一个核上的负载。
4.根据权利要求1所述的方法,其中,产生所述每指令周期的步骤包括:
对在所述核活动周期期间执行的指令的数量进行计数;以及
通过使用所述核活动周期和所计数的指令数量来产生所述每指令周期。
5.根据权利要求1所述的方法,其中,通过使用当所述至少一个核运行不需要关于存储器接口的访问操作的多条指令时所产生的多个候选活动周期中的至少一个来设置所述阈值每指令周期,并且多次执行对运行所述多条指令所需的所述多个候选活动周期中的至少一个进行测量的循环。
6.根据权利要求5所述的方法,其中,所述阈值每指令周期是在所选的候选活动周期期间运行一条指令所需的周期,所选的候选活动周期在所述多个候选活动周期中具有最长的长度。
7.根据权利要求1所述的方法,其中,执行所述动态电压和频率缩放操作的步骤包括:
使用所述每指令周期和所述每指令存储器访问停顿周期来校正所述核活动周期。
8.根据权利要求6所述的方法,其中,当所述每指令周期小于或等于所述阈值每指令周期时,不产生关于所述存储器访问停顿周期的信息。
9.根据权利要求8所述的方法,其中,当所述每指令周期小于或等于所述阈值每指令周期时,在不校正所述核活动周期的情况下通过使用所述核活动周期和所述核空闲周期来计算所述至少一个核上的负载。
10.根据权利要求1所述的方法,其中,所述存储器接口连接至存储器装置,所述存储器接口和所述存储器装置包括在同一存储器时钟域中,并且所述方法还包括步骤:
在第二时段内,测量核活动周期,所述核活动周期包括数据事务周期和就绪操作周期,所述数据事务周期为使用所述存储器装置执行数据输入/输出操作的时段,所述就绪操作周期为执行用于执行所述数据输入/输出操作所需的操作的时段;
使用所述存储器活动周期来计算所述存储器时钟域上的负载;以及
使用所计算的存储器时钟域上的负载来对所述存储器接口执行动态电压和频率缩放操作。
11.根据权利要求10所述的方法,其中,使用频率彼此不同的时钟信号和电平彼此不同的电压来操作所述至少一个核和所述存储器接口。
12.一种操作计算系统的方法,所述计算系统包括多个主知识产权、存储器装置和存储器接口,所述方法包括步骤:
在预定时段内,测量存储器活动周期,所述存储器活动周期包括数据事务周期和就绪操作周期,所述数据事务周期为所述存储器接口响应于来自至少一个主知识产权的请求而使用所述存储器装置执行数据输入/输出操作的时段,所述就绪操作周期为执行用于执行所述数据输入/输出操作所需的操作的时段;
使用所述存储器活动周期计算包括存储器装置和存储器接口的存储器时钟域上的负载;以及
使用存储器时钟域上的负载对所述存储器接口和所述存储器装置执行动态电压和频率缩放操作,
其中,测量所述存储器活动周期的步骤包括:
测量从当来自所述至少一个主知识产权的请求到达所述存储器时钟域时的第一时间点起至当完成数据输入/输出操作时的第二时间点的周期。
13.根据权利要求12所述的方法,其中,计算所述存储器时钟域上的负载的步骤包括:
通过使用所述存储器活动周期与预定时段的长度之间的比率来计算所述存储器时钟域上的负载。
14.根据权利要求12所述的方法,其中,所述存储器装置包括动态随机存取存储器、闪速存储器、相变随机存取存储器、磁阻式随机存取存储器、电阻式随机存取存储器或铁电式随机存取存储器中的至少一个。
15.根据权利要求12所述的方法,其中,当所述存储器装置是动态随机存取存储器时,所述就绪操作周期是用于通过使用包括在所述存储器装置中的读出放大器来放大数据以输入和输出数据的操作以及对包括在所述存储器装置中的存储器单元进行预充电的操作的周期。
16.一种应用处理器,包括:
存储器接口,其连接至至少一个外部存储器装置;
输入/输出接口,其连接至至少一个外部主知识产权;
多核中央处理单元,其包括多个核;以及
存储器,其构造为存储动态电压和频率缩放程序,
其中,所述多个核的每一个构造为在第一时段内通过使用关于存储器访问停顿周期的信息来校正核活动周期,并构造为使用所校正的核活动周期来运行存储在所述存储器中的程序以执行动态电压和频率缩放操作,所述存储器访问停顿周期为每个核在所述核活动周期内访问所述存储器接口的时段,所述核活动周期为执行操作以运行指令的时段,
其中,关于所述存储器访问停顿周期的信息包括每指令存储器访问停顿周期,并且
其中,所述多个核的每一个构造为运行存储在所述存储器中的程序以执行:
产生每指令周期,其指示在所述核活动周期期间运行一条指令所需的周期;
将所述每指令周期与阈值每指令周期进行比较;以及
当所述每指令周期超过所述阈值每指令周期时,从所述每指令周期中减去所述阈值每指令周期以产生所述每指令存储器访问停顿周期,
其中,所述每指令存储器访问停顿周期指示在所述核活动周期期间通过所述一条指令访问存储器接口所需的周期。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160181444A KR102670999B1 (ko) | 2016-12-28 | Dvfs 동작을 수행하는 어플리케이션 프로세서, 이를 포함하는 컴퓨팅 시스템 및 이의 동작 방법 | |
KR10-2016-0181444 | 2016-12-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108255774A CN108255774A (zh) | 2018-07-06 |
CN108255774B true CN108255774B (zh) | 2023-09-22 |
Family
ID=62629968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711078164.6A Active CN108255774B (zh) | 2016-12-28 | 2017-11-06 | 应用处理器、包括该处理器的计算系统及其操作方法 |
Country Status (2)
Country | Link |
---|---|
US (3) | US10747297B2 (zh) |
CN (1) | CN108255774B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10747297B2 (en) | 2016-12-28 | 2020-08-18 | Samsung Electronics Co., Ltd. | Application processor performing a dynamic voltage and frequency scaling operation, computing system including the same, and operation method thereof |
DE102017128711A1 (de) * | 2017-05-24 | 2018-11-29 | Tu Dresden | Mehrkernprozessor und Verfahren zur dynamischen Einstellung einer Versorgungsspannung und einer Taktfrequenz |
KR102568686B1 (ko) * | 2018-02-09 | 2023-08-23 | 삼성전자주식회사 | 컨텍스트 허브를 포함하는 모바일 장치 및 그것의 동작 방법 |
US10469279B2 (en) * | 2018-04-09 | 2019-11-05 | Wealthsimple Technologies Inc. | Scalable computing systems for generating notifications, and methods of operating thereof |
US11023247B2 (en) * | 2018-06-29 | 2021-06-01 | Intel Corporation | Processor package with optimization based on package connection type |
KR20210017054A (ko) | 2019-08-06 | 2021-02-17 | 삼성전자주식회사 | 멀티-코어 시스템 및 그 동작 제어 방법 |
FR3100629B1 (fr) * | 2019-09-10 | 2023-04-07 | St Microelectronics Grenoble 2 | Communication par bus CAN |
KR20210150779A (ko) * | 2020-06-04 | 2021-12-13 | 에스케이하이닉스 주식회사 | 위임된 작업을 처리하는 메모리 시스템 및 동작 방법 |
TWI755830B (zh) * | 2020-08-28 | 2022-02-21 | 力晶積成電子製造股份有限公司 | 記憶體的讀取方法 |
WO2022041251A1 (zh) * | 2020-08-31 | 2022-03-03 | 华为技术有限公司 | 一种功率预算的分配方法及相关设备 |
KR20220079196A (ko) | 2020-12-04 | 2022-06-13 | 삼성전자주식회사 | Dvfs 동작을 수행하는 집적 회로 및 이의 동작 방법 |
US11927981B2 (en) | 2021-05-21 | 2024-03-12 | Samsung Electronics Co., Ltd. | Integrated circuit, dynamic voltage and frequency scaling (DVFS) governor, and computing system including the same |
CN114301504B (zh) * | 2021-12-20 | 2023-05-02 | 山东领能电子科技有限公司 | 基于dvfs的蓝牙基带芯片ip核架构及其工作方法 |
CN116320023B (zh) * | 2023-05-19 | 2023-08-15 | 小米汽车科技有限公司 | 服务请求处理方法、装置、车辆、存储介质及芯片 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101379453A (zh) * | 2006-03-07 | 2009-03-04 | 英特尔公司 | 使用动态工作负载特征来控制cpu频率和电压调节的方法和装置 |
US20090089598A1 (en) * | 2007-09-28 | 2009-04-02 | Fenger Russell J | System and method for selecting optimal processor performance levels by using processor hardware feedback mechanisms |
CN103426453A (zh) * | 2012-05-25 | 2013-12-04 | 华为技术有限公司 | 动态电压频率调节方法以及系统 |
US20140089699A1 (en) * | 2012-09-27 | 2014-03-27 | Advanced Micro Devices | Power management system and method for a processor |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7711966B2 (en) | 2004-08-31 | 2010-05-04 | Qualcomm Incorporated | Dynamic clock frequency adjustment based on processor load |
US7730340B2 (en) * | 2007-02-16 | 2010-06-01 | Intel Corporation | Method and apparatus for dynamic voltage and frequency scaling |
JP2010102808A (ja) * | 2008-10-27 | 2010-05-06 | Elpida Memory Inc | 半導体記憶装置 |
US8671413B2 (en) | 2010-01-11 | 2014-03-11 | Qualcomm Incorporated | System and method of dynamic clock and voltage scaling for workload based power management of a wireless mobile device |
US8438410B2 (en) | 2010-06-23 | 2013-05-07 | Intel Corporation | Memory power management via dynamic memory operation states |
US8327172B2 (en) | 2010-06-23 | 2012-12-04 | Intel Corporation | Adaptive memory frequency scaling |
US9086883B2 (en) | 2011-06-10 | 2015-07-21 | Qualcomm Incorporated | System and apparatus for consolidated dynamic frequency/voltage control |
JP5744650B2 (ja) * | 2011-07-06 | 2015-07-08 | オリンパス株式会社 | バスモニタ装置、バスモニタ方法、およびプログラム |
CN104169832B (zh) * | 2012-03-13 | 2017-04-19 | 英特尔公司 | 提供处理器的能源高效的超频操作 |
KR20130110459A (ko) * | 2012-03-29 | 2013-10-10 | 삼성전자주식회사 | 시스템-온 칩, 이를 포함하는 전자 시스템 및 그 제어 방법 |
KR101832821B1 (ko) | 2012-09-10 | 2018-02-27 | 삼성전자주식회사 | 동적 전압 주파수 스케일링 방법, 어플리케이션 프로세서 및 이를 구비하는 모바일 기기 |
JP6042217B2 (ja) | 2013-01-28 | 2016-12-14 | ルネサスエレクトロニクス株式会社 | 半導体装置、電子装置、及び半導体装置の制御方法 |
KR20140111896A (ko) * | 2013-03-12 | 2014-09-22 | 삼성전자주식회사 | 애플리케이션 프로세서 및 이의 동작 방법 |
KR101553649B1 (ko) * | 2013-05-13 | 2015-09-16 | 삼성전자 주식회사 | 멀티 코어 장치 및 멀티 코어 장치의 작업 스케줄링 방법 |
US9594560B2 (en) * | 2013-09-27 | 2017-03-14 | Intel Corporation | Estimating scalability value for a specific domain of a multicore processor based on active state residency of the domain, stall duration of the domain, memory bandwidth of the domain, and a plurality of coefficients based on a workload to execute on the domain |
US20150106649A1 (en) * | 2013-10-11 | 2015-04-16 | Qualcomm Innovation Center, Inc. | Dynamic scaling of memory and bus frequencies |
US9851771B2 (en) * | 2013-12-28 | 2017-12-26 | Intel Corporation | Dynamic power measurement and estimation to improve memory subsystem power performance |
KR20160063974A (ko) | 2014-11-27 | 2016-06-07 | 삼성전자주식회사 | 워크로드를 이용하여 전력을 제어할 수 있는 시스템 온 칩, 이의 작동 방법, 및 이를 포함하는 컴퓨팅 장치 |
US20160154449A1 (en) | 2014-11-27 | 2016-06-02 | Eui Choel LIM | System on chips for controlling power using workloads, methods of operating the same, and computing devices including the same |
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 |
US9684461B1 (en) * | 2016-10-31 | 2017-06-20 | International Business Machines Corporation | Dynamically adjusting read data return sizes based on memory interface bus utilization |
US10747297B2 (en) | 2016-12-28 | 2020-08-18 | Samsung Electronics Co., Ltd. | Application processor performing a dynamic voltage and frequency scaling operation, computing system including the same, and operation method thereof |
-
2017
- 2017-10-30 US US15/797,383 patent/US10747297B2/en active Active
- 2017-11-06 CN CN201711078164.6A patent/CN108255774B/zh active Active
-
2020
- 2020-08-17 US US16/994,894 patent/US11327555B2/en active Active
-
2022
- 2022-05-09 US US17/739,732 patent/US11656675B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101379453A (zh) * | 2006-03-07 | 2009-03-04 | 英特尔公司 | 使用动态工作负载特征来控制cpu频率和电压调节的方法和装置 |
US20090089598A1 (en) * | 2007-09-28 | 2009-04-02 | Fenger Russell J | System and method for selecting optimal processor performance levels by using processor hardware feedback mechanisms |
CN103426453A (zh) * | 2012-05-25 | 2013-12-04 | 华为技术有限公司 | 动态电压频率调节方法以及系统 |
US20140089699A1 (en) * | 2012-09-27 | 2014-03-27 | Advanced Micro Devices | Power management system and method for a processor |
Non-Patent Citations (1)
Title |
---|
可复用微处理器片上调试功能的设计与实现;王琪等;《计算机辅助设计与图形学学报》(10);全文 * |
Also Published As
Publication number | Publication date |
---|---|
KR20180076840A (ko) | 2018-07-06 |
US10747297B2 (en) | 2020-08-18 |
US20180181183A1 (en) | 2018-06-28 |
US11327555B2 (en) | 2022-05-10 |
US20220261060A1 (en) | 2022-08-18 |
US11656675B2 (en) | 2023-05-23 |
US20200379541A1 (en) | 2020-12-03 |
CN108255774A (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255774B (zh) | 应用处理器、包括该处理器的计算系统及其操作方法 | |
KR101526051B1 (ko) | 열적 제어 장치 및 방법론 | |
US20210247831A1 (en) | Application processor and system on chip | |
US20160154449A1 (en) | System on chips for controlling power using workloads, methods of operating the same, and computing devices including the same | |
KR20130110459A (ko) | 시스템-온 칩, 이를 포함하는 전자 시스템 및 그 제어 방법 | |
KR20140029721A (ko) | Dvfs 제어 방법 및 이를 이용한 시스템-온 칩 | |
US20210250028A1 (en) | Electronic system including fpga and operation method thereof | |
JP2014071903A (ja) | データトランザクションによって電力供給を制御するSoC、及びその動作方法 | |
TWI564684B (zh) | 一般主機控制器延遲方法及設備 | |
KR20160063974A (ko) | 워크로드를 이용하여 전력을 제어할 수 있는 시스템 온 칩, 이의 작동 방법, 및 이를 포함하는 컴퓨팅 장치 | |
CN114424144B (zh) | 自适应片上数字功率估计器 | |
KR20140078944A (ko) | 시스템-온 칩, 이의 동작 방법, 및 이를 포함하는 장치 | |
US20190129755A1 (en) | System and method for assisting charging to use of accelerator unit | |
KR102670999B1 (ko) | Dvfs 동작을 수행하는 어플리케이션 프로세서, 이를 포함하는 컴퓨팅 시스템 및 이의 동작 방법 | |
US11256537B2 (en) | Interrupt control apparatus, interrupt control method, and computer readable medium | |
KR20220113087A (ko) | Dvfs 동작을 수행하는 집적 회로, 컴퓨팅 시스템 및 집적 회로의 동작 방법 | |
US11927981B2 (en) | Integrated circuit, dynamic voltage and frequency scaling (DVFS) governor, and computing system including the same | |
US20240061492A1 (en) | Processor performing dynamic voltage and frequency scaling, electronic device including the same, and method of operating the same | |
US20240053809A1 (en) | Integrated circuit capable of performing dynamic voltage and frequency scaling operation based on workload and operating method thereof | |
US20240103601A1 (en) | Power management chip, electronic device having the same, and operating method thereof | |
US20220187866A1 (en) | Electronic device controlling frequency of clock signal and method of operating the electronic device | |
CN117590925A (zh) | 集成电路及其操作方法 | |
KR20220157845A (ko) | 집적 회로, dvfs 제어 장치 및 이들을 포함하는 컴퓨팅 시스템 | |
CN116635833A (zh) | 复杂cpu上的精确时间戳或导出计数器值生成 |
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 |