CN104679586B - 包括异构多核处理器的电子系统及其操作方法 - Google Patents
包括异构多核处理器的电子系统及其操作方法 Download PDFInfo
- Publication number
- CN104679586B CN104679586B CN201410602301.1A CN201410602301A CN104679586B CN 104679586 B CN104679586 B CN 104679586B CN 201410602301 A CN201410602301 A CN 201410602301A CN 104679586 B CN104679586 B CN 104679586B
- Authority
- CN
- China
- Prior art keywords
- core
- small
- temperature
- load
- cores
- 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
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000004044 response Effects 0.000 claims abstract description 12
- 238000010586 diagram Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 12
- 238000012546 transfer Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000013021 overheating Methods 0.000 description 2
- 230000035939 shock Effects 0.000 description 2
- 230000003685 thermal hair damage Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 210000002231 macronucleus Anatomy 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 210000004940 nucleus Anatomy 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static 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/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/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
-
- 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/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- 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
-
- 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
-
- 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/329—Power saving characterised by the action undertaken by task scheduling
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Power Sources (AREA)
- Microcomputers (AREA)
Abstract
提供了操作包括异构多核处理器的电子系统的方法。该方法包括测量大(高性能)核的温度和/或工作负载,并且响应于测量的大核的温度和工作负载,将当前核负载从大核切换到小(低性能)核。
Description
相关申请的交叉引用
本申请要求2013年10月31日提交的第10-2013-0131589号韩国专利申请的优先权,其公开通过引用整体并入本文。
技术领域
本发明构思涉及包括低功率核和高性能核(core)的电子系统及其操作方法。
背景技术
为了选择性地提供具有相对高功耗的高速性能和具有相对低功耗的低速性能,某些移动应用处理器包括单独的“高性能”和“低功率”处理“核”。这种不同配置的核提供了不同的系统性能能力、优点和局限性,并通常集成在单一芯片上。当然,高性能核不仅消耗更多的功率,而且也产生更多的热量。与此相比,低功率核消耗更少的功率,而且产生更少的热量,但是这样的优势以较慢的(或更少的)处理能力为代价。
当放在多核中央处理单元(CPU)上的与计算有关的“负载”在低功率核的操作期间增加到第一阈值时,CPU可以将负载的运行从低功率核切换到高性能核,以便及时完成形成负载的一组任务。类似地,当放在CPU上的负载降到第二阈值之下时,可以将负载的运行从高性能核切换到低功率核以便节省功率。
发明内容
根据本发明构思的一些实施例,提供了一种操作包括异构多核处理器的电子系统的方法,所述异构多核处理器包括大核和小核。该方法包括:测量大核的温度并且确定与大核相关联的当前核负载;以及响应于测量的温度和确定的当前核负载,确定是否将大核的当前核负载切换到小核,大核是相对高性能/高功耗的核,而且小核是相对低性能/低功耗的核。
大核被动态地映射到小核以形成核对,以及将当前核负载从大核切换到小核包括内核内(in-kernel)切换,以使得在任一给定时间核对中的大核和小核中只有一个被激活。
大核被静态地映射到小核以形成核对,以及将当前核负载从大核切换到小核包括内核内切换,以使得在任一给定时间核对中的大核和小核中只有一个被激活。
将当前核负载从大核切换到小核可以包括:当测量的大核的温度达到第一温度阈值时,将组成当前核负载的至少一个任务重新分配到小核来执行;以及在大核上执行时钟选通和功率选通中的至少一个。
重新分配所述至少一个任务可以包括将大核的存储当前核负载的剩余任务的作业队列迁移到小核。
将大核的作业队列迁移到小核可以包括将用于大核的标准动态电压频率调节(DVFS)表的使用交换为定义了仅用于小核的性能范围的节流DVFS表的使用。
标准DVFS表和节流DVFS表在定义用于小核的各性能范围方面彼此不同。
异构多核处理器可以包括多个大核,并且所述标准DVFS表和节流DVFS表根据所述多个大核当中的激活的大核的数目而不同。
该方法还可以包括:当测量的大核的温度降到低于第一温度阈值的第二温度阈值之下时,将小核的作业队列迁移回到大核。
使用与大核集成在一起的温度传感器来执行大核的温度的测量。
根据本发明构思的其他实施例,提供了一种操作包括异构多核处理器的电子系统的方法,所述异构多核处理器包括大核簇和小核簇,所述大核簇包括第一大核和被布置为在物理上与第一大核相邻的第二大核,所述小核簇包括第一小核和第二小核,其中,第一大核和第二大核分别是高性能/高功耗的核,而且第一小核和第二小核分别是低性能/低功耗的核。所述方法包括:使用温度传感器测量第一大核的温度;当测量的第一大核的温度超过第一温度阈值时,将分配给第一大核的第一当前核负载中的至少一个任务切换到第一小核;以及当测量的第一大核的温度超过高于第一温度阈值的第二温度阈值时,将分配给第二大核的第二当前核负载中的至少一个任务切换到第二小核。
所述方法还可以包括将第一大核映射到第一小核以形成第一核对,以及将第二大核映射到第二小核以形成第二核对,其中,将第一当前核负载中的至少一个任务切换到第一小核包括内核内切换,以使得在任一给定时间第一核对中的第一大核和第一小核中只有一个被激活,以及将第二当前核负载中的至少一个任务切换到第二小核包括内核内切换,以使得在任一给定时间第二核对中的第二大核和第二小核中只有一个被激活。
该方法还可以包括对第一大核和第二大核中的至少一个执行时钟选通和功率选通中的至少一个,直到测量的第一大核的温度降到低于第一温度阈值的第三温度阈值之下。
将第一当前核负载中的至少一个任务切换到第一小核可以包括将第一大核的存储第一当前核负载的剩余任务的第一作业队列迁移到第一小核,以及将第二当前核负载中的至少一个任务切换到第二小核可以包括将第二大核的存储第二当前核负载的剩余任务的第二作业队列迁移到第二小核。
将第一大核的第一作业队列迁移到第一小核可以包括将用于第一大核的第一标准动态电压频率调节(DVFS)表的使用交换为定义了仅用于第一小核的性能范围的第一节流DVFS表的使用,以及将第二大核的第二作业队列迁移到第二小核可以包括将用于第二大核的第二标准DVFS表的使用交换为定义了仅用于第二小核的性能范围的第二节流DVFS表的使用。
第一标准DVFS表和第一节流DVFS表在定义用于第一小核的各性能范围方面彼此不同,以及第二标准DVFS表和第二节流DVFS表在定义第二小核的各性能范围方面彼此不同。
第一标准DVFS表和第二标准DVFS表以及第一节流DVFS表和第二节流DVFS表根据异构多核处理器中的多个大核当中的激活的大核的数目而改变。
该方法还可以包括:当测量的第一大核的温度降到第三温度阈值之下时,将第一当前核负载从第一小核切换回到第一大核;以及当测量的第一大核的温度降到第四温度阈值之下时,将第二当前核负载从第二小核切换回到第二大核。
根据本发明构思的另一些实施例,提供了一种电子系统,包括:异构多核处理器,包括包含第一类型的核和第二类型的核的核对,第一类型的核以高功耗提供高性能,而且第二类型的核相对于第一类型的核以低功耗提供低性能;以及内核,被配置为响应于测量的第一类型的核的温度,将不同的动态电压频率调节(DVFS)表应用于核对。
内核被配置为,只要测量的第一类型的核的温度保持低于或等于第一温度阈值,就将标准DVFS表应用于核对,以及所述内核还被配置为,当测量的第一类型的核的温度超过第一温度阈值时,将节流DVFS表应用于核对。
附图说明
当参照附图考虑本发明构思的某些示例性实施例时,本发明构思的以上和其他特征及优点将变得更加明显,在附图中:
图1是根据本发明构思的实施例的电子系统的框图;
图2是进一步示出图1的中央处理单元(CPU)100的一个例子的框图;
图3是示出可以由图2的CPU执行的“内核内(in-kernel)”切换操作的概念图;
图4是进一步示出图2的切换器300的一个例子的框图;
图5是示出根据本发明构思的某些实施例的图2的CPU的一个示例操作的概念图;
图6是示出可以应用于核对的示例性动态电压频率调节(dynamic voltage andfrequency scaling,DVFS)策略的概念图;
图7A是示出根据可以由本发明构思的某些实施例使用的DVFS策略提供性能的范围的核对的概念图;
图7B是示出由图7A的核对表现的性能与功率关系的曲线图;
图7C是示出根据本发明构思的某些实施例的核对的比较性能与功率关系的曲线图;
图8是总结从标准DVFS表转换到节流DVFS表的方法的流程图;
图9是总结从节流DVFS表转换到标准DVFS表的方法的流程图;
图10和图11分别是根据本发明构思的各种实施例的、总结某些CPU操作的流程图;以及
图12是示出包括根据本发明构思的片上系统(SoC)的电子系统的框图。
具体实施方式
现在将参考附图更详细地描述本发明构思的某些实施例。然而,本发明构思可以被实施为许多不同的形式,并且不应当被理解为仅限于示出的实施例。相反,提供这些实施例以使得本公开是彻底且完全的,并且将本发明构思的范围完全传达给本领域技术人员。贯穿撰写的说明书和附图,相同的参考标号和标记被用于指代相同或相似的元件。
应当理解,当元件被称为“连接到”或“耦接到”另一元件时,其可以直接连接到或耦接到另一元件,或者可以存在居间的元件。相比之下,当称一个元件“直接连接到”或“直接耦接到”另一元件时,不存在居间元件。如这里使用的,术语“和/或”包括相关列出的项中的一个或多个的任意和所有组合,而且可以被缩写为“/”。
应当理解,虽然此处可以使用术语第一、第二等等以描述多个元件,但是这些元件不应该限于这些术语。这些术语仅用于区分一个元件与另一元件。例如,第一信号可以称作第二信号,而且,类似地,第二信号可以称作第一信号而不脱离本公开的教导。
如这里使用的,单数形式“一”、“一个”和“该”意欲也包括复数形式,除非上下文明显指示。还应该理解,当本说明书中使用术语“包括”和/或“包含”时,指定所述特征、范围、整数、步骤、操作、元件和/或组件的存在,但是不排除一个或多个其它特征、范围、整数、步骤、操作、元件、组件和/或它们的组合的存在或添加。
除非特别定义,否则这里使用的所有术语(包括技术和科学术语)具有本发明构思所属的领域的普通技术人员所通常理解的含义。还应当理解,诸如在通常使用的词典中定义的那些术语应当被解释为具有与相关领域/本申请的背景下的含义一致的含义,并且不会被在理想化或过度正式的意义上解释,除非这里明确说明。
图1是示出根据本发明构思的实施例的电子系统1的框图。参照图1,电子系统1可以被实现为手持式设备,诸如移动电话、智能电话、平板个人计算机(PC)、个人数字助理(PDA)、企业数字助理(EDA)、数字静态相机、数字视频相机、便携式多媒体播放器(PMP)、个人导航设备和便携式导航设备(PND)、手持式游戏机或电子书。电子系统1可以包括片上系统(SoC)10、外部存储器30和显示设备20。
SoC 10可以包括中央处理单元(CPU)100、只读存储器(ROM)110、随机存取存储器(RAM)120、定时器130、显示控制器140、图形处理单元(GPU)150、存储器控制器160、时钟管理单元(CMU)170和总线180。本领域技术人员将理解,SoC 10将包括其它元件。
电子系统1还包括功率管理集成电路(PMIC)40。在本发明构思的某些实施例中,PMIC 40可以被实现为在SoC 10的外部。可替换地,SoC 10可以包括功率管理单元(PMU),其能够实现本文相对于PMIC 40所描述的功能。
CPU 100(或可替换地使用术语“处理器”)可以被用来与相关联的数据一起,运行(例如)从外部存储器30接收到的命令、指令和程序。举例来说,CPU 100可以根据由(例如)CMU 170提供的操作时钟信号,相对于相关联的数据运行某些程序。
在以下所示的实施例中,CPU 100被假定为包括多个异构核。在此上下文中,术语“异构”并不意味着多核CPU中的所有核都是不同类型的。而是,这个术语表示由多核CPU提供的至少两(2)个核在类型和/或构造方面足够地不同,从而表现出实质性不同的计算速度和/或功耗要求。因此,CPU 100可以被理解为在电子系统1中作为单一计算组件操作的“多核处理器”,其中,两个或更多个核独立地用作单独而协调的处理器,其能够接收、解释和运行程序命令、指令、代码等,此后将其所有可能的变体单独或共同地称为“程序指令”。
因此,程序指令和相关联的数据可以被存储在ROM 110、RAM 120和/或外部存储器30中,并且可以例如在程序运行期间被加载到与CPU 100相关联的运行存储器(未示出)中。例如,在本发明构思的某些实施例中,ROM110可以被用于使用非易失性存储器来存储程序指令和/或相关联的数据。因此,ROM 110可以被实现为可擦除可编程只读存储器(ROM)或EPROM,或实现为电可擦除可编程ROM或EEPROM,诸如快闪存储器。
RAM 120可以被用于使用易失性存储器来暂时存储程序指令和/或相关联的数据。因此,存储在ROM 110或外部存储器30中的程序指令和/或相关联的数据可以在CPU 100的控制下或响应于从ROM 110中检索到的引导代码的运行而被临时存储在RAM 120中。因此,RAM 120可以被实现为动态随机存取存储器(RAM)或DRAM、或者静态RAM或SRAM。
定时器130可以被用于根据(例如)由CMU 170提供的一个或多个操作时钟信号,来提供用作(或指示)定时控制信号的某些计数值。
GPU 150可以用于将由存储器控制器160从外部存储器30读出的数据转换成适合于由显示设备20有效显示的数据。
CMU 170可以被用于产生一个或多个时钟信号,并且可以包括时钟信号发生器,诸如锁相环(PLL)、延迟锁定环(DLL)或晶体振荡器。在某些实施例中,一个或多个操作时钟信号可以被提供给GPU 150、CPU 100和/或存储器控制器160。进一步说明的是,CMU 170可以被用于响应于系统因素(诸如剩余可用功率、一个或多个系统温度等)而改变任一操作时钟信号的频率。
如上面所指出的,CPU 100被假定为包括至少两个异构核(例如,第一类型的核和第二类型的核)。在某些实施例中,CPU 100被假定为还至少包括第三类型的核。在下文中,第一类型的核被假定为高性能核,而且将被称为“大核(big core)”,而第二类型的核被假定为低功率核并且将被称为“小核(little core)”–这与这些术语的上述描述一致。
在由相应程序指令和/或相关联的数据定义的一组任务(其可以统称为“CPU负载”)的执行期间,CPU 100可以最初将该组任务中的一个或多个任务分配为由小核执行。此后,CPU可以确定小核的当前核负载,并且根据当前核负载来调整用于施加到小核的控制时钟信号的操作频率。在此上下文中,本领域的技术人员将理解的是,随着更多任务被分配和/或随着已经分配的任务被完成,术语“当前核负载”相对于特定核将时刻变化。
在某些实施例中,CPU 100可以被用于当小核的当前核负载超过“第一工作负载阈值”时,将当前核负载从小核切换到大核。第一工作负载阈值将相对于电子系统1之中的小核的处理能力和各个任务运行窗口来定义。类似地,CPU 100还可以被用于当大核的当前核负载降到“第二工作负载阈值”之下时,将当前核负载从大核切换到小核。此外在这里,第二工作负载阈值将相对于电子系统1之中的大核的处理能力、小核的处理能力和各个任务运行窗口来定义。
存储器控制器160本质上用作与外部存储器30的接口,并且可以被用于控制外部存储器30的整体操作以及一个或多个主机与外部存储器30之间的数据交换。例如,存储器控制器160可以响应于从主机接收到的(多个)请求,控制将数据写入外部存储器30和从外部存储器30读取数据。这里,主机可以是主设备,诸如CPU 100、GPU 150或显示控制器140。
外部存储器30将被实现为存储介质(例如,非易失性和/或易失性半导体存储器),其能够存储各种程序指令,诸如用于在功能上实现操作系统(OS)、各种应用和/或相关联的数据的程序指令。在某些实施例中,外部存储器30可以使用一个或多个类型的RAM来实现,诸如快闪存储器、相变RAM(PRAM)、磁RAM(MRAM)、电阻RAM(ReRAM)或铁电RAM(FeRAM)。
在本发明构思的某些其它实施例中,外部存储器30可以被整体提供为SoC 10的嵌入式存储器。可替换地或附加地,外部存储器30可以被实现为嵌入式多媒体卡(eMMC)或者通用快闪存储装置(UFS)。
如本领域技术人员将理解的,可以使用具有任何数目的特定配置的总线180,以全部地或部分地方便前述元件和组件之间的程序指令和/或相关联的数据的交换。
显示设备20可以被用于显示(例如)从显示控制器140提供的图像信号,该显示控制器140被专门配置为控制显示设备20的操作。显示设备20可以被实现为液晶显示器(LCD)设备、发光二极管(LED)显示设备、有机发光二极管(OLED)显示设备、有源矩阵OLED(AMOLED)显示设备或者柔性显示设备。
图2是进一步示出图1的CPU 100的一个例子的框图。参照图1和图2,CPU 100被假定为包括大簇(cluster)220、小簇230、内核(kernel)301、和高速缓存一致性互连(cachecoherent interconnect,CCI)210。
至少一个应用被假定为在CPU 100上运行,这使得能够相对于一个或多个任务选择性地操作(多个)特定核。因而,内核301将响应于应用而接收一组(或一系列)任务,然后将分配来自某个簇的资源(例如,一个或多个核)以运行(多个)任务。
在图2中,进一步假定大簇220包括与第一高速缓存225共同操作的“N”个大核221,而且小簇230包括与第二高速缓存235共同操作的“M”个小核231。这里,变量N和M是大于1的正整数,并且可以是彼此相等或不同的值。N个大核221的特征在于高功耗和高操作频率,而且M个小核231的特征在于低功耗和低操作频率。
在这方面,CPU 100能够根据(例如)由在CPU 100上运行的应用所确定的当前核负载在N个大核221中的一个或多个或者M个小核231中的一个或多个上“驱动”(例如,在功能上分配以用于运行)(多个)适当任务。
以这种方式,CPU 100能够根据许多外部提供的请求、(多个)不同的用户配置、接收到的数据的体积和/或质量、不同的系统配置、热条件等,控制分配任务到大核221和小核231。以这种方式,图1的SoC 10可以以(例如)性能和功耗之间的改进的平衡来可靠地操作。
因此,当在第一时间相对于小核231确定的当前核负载超过预定的第一工作负载阈值时,内核301将当前核负载从小核231切换到可用的大核221。然后,在稍后的第二时间,如果大核221的当前核负载降到第二工作负载阈值之下,内核301可以将当前核负载从大核221切换到可用的小核231。这里,第一工作负载阈值和第二工作负载阈值相对于彼此可以是相同的或者是不同的。
由内核301提供的切换操作可以在缺乏预定的“成对”关系的各个大/小核之间执行。为了允许内核301执行异构(例如,大和小)核之间的切换,第一高速缓存225和第二高速缓存235可以被用于同步随后经由CCI 210进行通信的数据。由于在通过CCI 210连接时在高速缓存225和235之间的数据同步,“切换到的核(switched-in core)”235(即,当前核负载从“切换出的核(switched-out core)”转移到该核)可以立即开始运行转移的任务。
第一高速缓存225可以被实现为包括在每个大核221中的高速缓存存储器,而第二高速缓存235可以被实现为包括在每个小核231中的高速缓存存储器。内核301可以包括切换器300,其能够切换到/出具有不同性能能力的核。
在某些实施例中,内核301和切换器300可以通过能够执行上述功能和操作的硬件来实现,和/或被实现为计算机程序代码,其能够在运行时执行相同的功能和操作。在全部或部分在软件中实现的情况下,软件可以被存储在各种通常理解的电子记录介质中。
当分配给小核231的当前核负载超过由第一工作负载阈值所指示的小核231的能力时,切换器300将组成当前核负载的一组任务中的至少一个任务从小核231切换到可用的大核221。可替换地,当分配给大核221的当前核负载不适当地低于由第二工作负载阈值所指示的大核221的能力、但是落入可用的小核231的能力之内时,切换器300将当前核负载的所有剩余任务从大核221切换到小核231。
图3是示出可以由图1和图2的CPU 100执行的内核内切换操作的一个例子的概念图。参照图1、图2和图3,当使用内核内切换时,大核221-1至221-4中的每一个都被假定为被动态地(或静态地)并且分别地映射到小核231-1至231-4中的相应一个上。无论是动态地映射还是静态地映射,小核231-1至231-4都可以一对一地对应于大核221-1至221-4。
在大核和小核相互映射的情况下,它们被称为“核对(core pair)”。例如,第K核对可以包括第K大核221-K和第K小核231-K,这里K是正整数。
在这里所描述的内核内切换操作期间,为了清楚说明起见,每个核对中只有一个核被假定为被选择性地激活。但是在本发明构思的某些实施例中不必是这种情况。
给定已定义的核对关系,内核301可以将特定的动态电压/频率调节(dynamicvoltage/frequency scaling,DVFS)关系(例如,使用相应的DVFS表)应用于每个核对,其中特定的DVFS关系是(例如)对于大核221-1至221-4测量的(多个)温度的函数。
因此,根据本发明构思的某些实施例,切换器300可以根据对于每个核对的一个或多个热操作点建立的DVFS关系来执行(多个)大核和(多个)小核之间的“核切换”。例如,切换器300可以将当前核负载从第一核对中的第一小核231-1转移到第一大核221-1,然后在第一小核231-1上执行时钟选通(gating)和/或电源选通。
图4是进一步示出图2的切换器300的一个例子的框图。参照图4,切换器300被配置成根据整体CPU负载来选择性地驱动一个或多个大核221-1至221-N和/或小核231-1至231-M。例如,当小核231-3的当前核负载超过相应的第一工作负载阈值时,切换器300可以将组成小核231-3的当前核负载的已分配的任务中的一个、一些或全部切换到大核221-N。同样地,当大核221-1的当前核负载降到相应的第二工作负载阈值之下、但落入小核231-2的能力之内时,切换器300可以将分配给大核221-1的任务切换到小核231-2。
根据前述的例子,可以理解的是,可以在各小核和大核之间保持控制任务分配的转移的一一配对关系。可替换地,任务可以在任意两个小核和大核之间自由转移,而不管之前的成对关系定义(如果有的话)。
图5是示出根据本发明构思的某些实施例的图1和图2的CPU 100的另一示例操作的概念图。参照图1、图2、图3、图4和图5,可以根据一个或多个定义的“监控间隔”相对于一个或多个“温度阈值”来监控大核221-1至221-4中的一个或多个的各自(多个)温度。因此,大核221-1至221-4中的每一个(或某一些)可以包括能够测量操作上的相关温度的温度传感器(例如,221-1TS)。可替换地,大核221-1至221-4可以不包括作为组成部分的温度传感器,而是依靠与大核221-1至221-4热相邻并且能够测量操作上的相关温度的单独的模块。然而,经配置的一个或多个温度传感器可以被用于周期性地或基于控制的中断来监控温度。
可以根据大核的温度来执行大核及其相应小核之间的核切换。例如,当第一大核221-1的温度达到第一温度阈值时,提供的温度传感器可以产生中断。响应于所产生的中断,第一大核221-1的当前核负载将通过切换器300转移到第一小核231-1,并且此后可以执行第一大核221-1的时钟选通和/或功率选通以便减轻不利的温度指示。
使用异构核的各种配置,至少一个小核(例如,231-1)将是热安全的,从而从过热的大核221-1接收当前核负载的转移。根据本发明构思的某些实施例,当对于过热的大核发生与热相关的性能“节流(throttled)”(例如,时钟选通和/或功率选通)时,只有一个或多个小核将被用于从大核的当前核负载接收转移的任务。这种方法防止对大核造成热冲击(这可以是由从大核到小核的负载转移导致的),从而提高了整个电子系统的稳定性。
根据预定的条件,切换器300可以将与过热的第一大核221-1相邻的大核221-2和221-3的各自(多个)电流核负载中的一个、一些或所有任务分别转移到小核231-2和231-3。可以根据相应的温度阈值由切换器300控制与过热的第一大核相邻的一个或多个大核的核负载的各自转移。此后,切换器300还可以选择性地对相邻的大核221-2和221-3执行时钟选通或电源选通。
以这种方式,过热的大核可以非常迅速地冷却,从而防止周围组件遭受额外的热冲击。而且一旦过热的第一大核221-1的温度下降到如由另一温度阈值所指示的可接受的水平,切换器300就再次分配要由第一大核221-1运行的任务。
将合理分配各种温度阈值,从而不仅保护重要电路免受热损害,而且也避免过于频繁的负载转移。
图6是示出可以应用于核对的集合的DVFS策略的概念图。图7A是示出根据本发明构思的某些实施例中的DVFS策略的可用性能的范围的另一概念图。参照图1、图2、图6和图7A,每个核对被假定为具有单一作业队列,其定义将要在异构核系统中处理的整体核负载。
内核301可以被用于控制每个核对。当核对1至N中的大核221-1至221-N没有过热时,内核301可以在任务的运行流动通过核对1至N中的每一个的作业队列期间,使用标准DVFS表。
在使用标准DVFS表的情况下,可以表现出与其当前核负载相匹配的性能能力的核可以被分配相应的任务。在核对1到核对N中的每一个中,功率选通可以被动态或静态地映射到该核的另一核上执行。例如,第一组合E1到第(X+Y)组合E(X+Y)表示频率和/或电压。第一组合E1可以表示最低频率和/或电压,而且第(X+Y)组合可以表示最高频率和/或电压。
在使用标准DVFS表时,当处理的工作负载是最低的时可以根据第一组合E1操作每个核对中的小核,而且当处理的工作负载是最高的时可以根据第(X+Y)组合E(X+Y)操作核对中的大核。
当使用大核221-1至221-N,而且大核221-1至221-N之一(例如,第一大核221-1)的温度达到第一温度阈值时,加载到与过热的第一大核221-1相关联的作业队列中的当前任务将被转移到相应的第一小核231-1。
然后,内核301可以将节流DVFS表,而不是标准DVFS表,应用于第一核对-现在包括过热的大核221-1。根据本发明构思的某些实施例,节流DVFS表仅允许使用与第一小核231-1相对应的性能范围。例如,节流DVFS表可以仅使用第一组合E1至第X组合EX。因此,在内核301的的控制下,第一核对中的第一大核221-1可以被功率选通或时钟选通,并且第一小核231-1可以被操作。
当使用要求高于参考性能P的性能和节流DVFS表的过程时,第一小核231-1可以使用第X组合EX。然而,本发明构思不仅局限于这个关系。
图7B是示出图7A假定的核对的性能与功率关系的曲线图。参照图7A和图7B,当由于在已经运行第(X+Y)组合E(X+Y)的第一大核221-1中发生热节流而改变为运行第(X+1)组合E(X+1)时,第一核对由于第一大核221-1的高温而消耗大量功率。
当由于第一大核221-1过热而改变为运行第(X+1)组合E(X+1)时,即使在运行要求高性能的过程时,第一核对可以使性能仅类似于第一小核231-1的第X组合EX。因此,可以进行核负载从第一大核221-1切换到第一小核231-1,从而运行第X组合EX。相比于常规运行第(X+1)组合E(X+1),当进行切换来运行第X组合EX时,功耗降低而且操作稳定性增加,同时给出几乎相同的性能。
图7C是示出根据本发明构思的某些实施例的核对的比较性能与功率关系的曲线图。参照图7C,可以定义DVFS表,以使得大核的性能与小核的性能重叠。在比较大核和小核之间的功率性能特性的过程中,当使用小核来代替大核时,在相同的性能水平功率被节省,并且在给定的功耗水平整体性能可以被提高。
返回参照图1、图2、图6和图7A,内核301可以被用于将标准DVFS表,而不是节流DVFS表,应用于第一芯对,从而当第一大核221-1的温度等于或小于第二参考温度时操作第一核对中的第一大核221-1。
在图7A所示的实施例中,标准DVFS表和节流DVFS表在与小核相对应的性能范围内具有相同的组合值E1至EX。然而,在其他实施例中,标准DVFS表和节流DVFS表可以在与小核相对应的性能范围内具有不同的值。例如,在参考性能P之下的组合的数目可以是不同于节流DVFS表中的X的Z,其中Z是至少为1的整数。Z可以大于X。因此,当由于大核过热而将过程集中到小核上时,小核被更有效地控制。
标准DVFS表和节流DVFS表可以根据激活的大核的数目被不同地设置。可替换地,标准DVFS表和节流DVFS表可以根据激活的大核的位置被不同地设置。例如,当多个大核被激活时,或当邻近的大核被激活时,热损坏可能出现。因此,可以以较低的操作频率和电压建立相应核对的标准DVFS表或节流DVFS表。
图8是在一个例子中总结的流程图,该例子是图2的内核301的操作从受标准DVFS表控制转换到受节流DVFS表控制的的方法。参照图8,测量大核的一个或多个温度(S11)。然后,确定大核的温度是否超过上(或第一)温度阈值(S13)。当大核的温度超过上阈值时,将当前核对的标准DVFS表交换为节流DVFS表(S15)。
图9是在一个例子中总结的流程图,该例子是图2的内核301的操作从受节流DVFS表控制转换到受标准DVFS表控制的方法。参照图9,再次测量大核的温度(S21)。这可以持续地或周期性地测量。然后,确定大核的温度是否低于下(或第二)温度阈值(S23)。当大核的温度降到下阈值之下时,将当前核对的节流DVFS表交换为标准DVFS表(S25)。
图10是根据本发明构思的某些实施例的、总结图2的CPU 100的操作的流程图。参照图2、图3和图10,测量大核221-1至221-4中的每一个的温度和工作负载二者(S31)。然后,切换器300可以根据大核221-1至221-4的温度和工作负载测量,执行大核221-1至221-4和小核231-1至231-4之间的核切换(S33)。
图11是根据本发明构思的某些实施例、总结图2的CPU 100的操作的流程图。参照图2、图3和图11,内核301确定第一类型的核,例如,221-1,的温度是否等于或高于第一参考温度(S41)。
当第一类型的核221-1的温度等于或高于第一参考温度时,内核301迁移第一类型的核221-1的作业队列(或转移构成当前核负载的任务)到第二类型的核,例如,231-1(S43)。然后,内核301在第一类型的核221-1上执行时钟选通或功率选通(S45)。
根据本发明构思的某些实施例,内核301可以确定所述第一类型的核221-1的温度是否等于或高于第三参考温度。当第一类型的核的温度等于或高于第三参考温度时,内核301可以将与第一类型的核221-1相邻的各个第一类型的核221-2和221-3的作业队列分别迁移到分别与相邻的第一类型的核221-2和221-3相对应的第二类型的内核231-2和231-3。
内核301确定第一类型的核221-1的温度是否等于或小于第二参考温度(S47)。当第一类型的核221-1的温度等于或小于第二参考温度时,内核301将第二类型的核231-1的作业队列迁移到第一类型的核221-1(S49)。
图12是包括根据本发明构思的某些实施例的片上系统(SoC)的电子系统的框图。参照图12,电子系统可以被实现为个人计算机(PC)、数据服务器或便携式电子设备。便携式电子设备可以是膝上型计算机、蜂窝电话、智能电话、平板个人计算机(PC)、个人数字助理(PDA)、企业数字助理(EDA)、数字静态相机、数字视频相机、便携式多媒体播放器(PMP)、便携式导航设备(PND)、手持式游戏机或电子书设备。
电子系统包括SoC 10、电源910、储存装置920、存储器930、I/O端口940、扩展卡950、网络设备960和显示器970。电子系统还可以包括相机模块980。
SoC 10可以包括图1中所示的中央处理单元(CPU)100。CPU 100可以是多核处理器。
SoC 10可以控制元件910至980中的至少一个的操作。电源910可以向元件910至980中的至少一个提供操作电压。电源910可以由图1所示的PMIC40控制。
储存装置920可以由硬盘驱动器(HDD)或固态驱动器(SSD)来实现。
存储器930可以利用易失性或非易失性存储器来实现,并且它可以对应于图1中所示的外部存储器30。控制存储器930上的数据访问操作,例如,读操作、写操作(或编程操作)或擦除操作的存储器控制器(未示出)可以被集成到或嵌入SoC 10中。可替换地,存储器控制器可以提供在SoC 10和存储器930之间。
I/O端口940是接收发送到电子系统的数据、或者将数据从电子系统发送到外部设备的端口。例如,I/O端口940可以包括与诸如计算机鼠标的定点设备连接的端口、与打印机连接的端口、以及与USB驱动器连接的端口。
扩展卡950可以被实现为安全数字(SD)卡或多媒体卡(MMC)。扩展卡950可以是用户身份模块(SIM)卡或通用SIM(USIM)卡。
网络设备960使电子系统能够与有线或无线网络连接。显示器970显示从储存装置920、存储器930、I/O端口940、扩展卡950或网络设备960输出的数据。显示器970可以是图1所示的显示设备20。
相机模块980将光图像转换成电图像。因此,从相机模块980输出的电图像可以被存储在储存装置920、存储器930或扩展卡950中。此外,从相机模块980输出的电图像可以通过显示器970显示。
如上关于本发明构思的所选实施例的描述,可以响应于在异构多核架构中测量的一个或多个温度阈值来执行异构核之间的核切换,从而可以满足用于任一应用处理器的温度条件,而且因为使用在物理上不同的核所以可以使能有效的热管理。
虽然已经参照本发明构思的示例性实施例具体地示出和描述了本发明构思,但是本领域术人员应当理解,可以在形式和细节上对其做出各种改变而不脱离由所附权利要求定义的本发明构思的精神和范围。
Claims (18)
1.一种操作包括异构多核处理器的电子系统的方法,所述异构多核处理器包括大核和小核,该方法包括:
测量大核的温度并且确定与大核相关联的当前核负载;以及
响应于测量的温度和确定的当前核负载,确定是否将当前核负载从大核切换到小核,
其中,大核是相对高性能/高功耗的核,而且小核是相对低性能/低功耗的核;
其中,将大核的当前核负载切换到小核包括:
当测量的大核的温度达到第一温度阈值时,将组成当前核负载的至少一个任务重新分配到小核来运行;以及
在大核上执行时钟选通和功率选通中的至少一个,
其中,基于控制的中断来测量大核的温度。
2.如权利要求1所述的方法,其中,所述大核被动态地映射到小核以形成核对,以及
将当前核负载从大核切换到小核包括内核内切换,以使得在任一给定时间核对中的大核和小核中只有一个被激活。
3.如权利要求1所述的方法,其中,所述大核被静态地映射到小核以形成核对,以及
将当前核负载从大核切换到小核包括内核内切换,以使得在任一给定时间核对中的大核和小核中只有一个被激活。
4.如权利要求1所述的方法,其中,重新分配所述至少一个任务包括将大核的存储当前核负载的剩余任务的作业队列迁移到小核。
5.如权利要求4所述的方法,其中,将大核的作业队列迁移到小核包括将用于大核的标准动态电压频率调节DVFS表的使用交换为定义了仅用于小核的性能范围的节流DVFS表的使用。
6.如权利要求5所述的方法,其中,所述标准DVFS表和节流DVFS表在定义小核的各个性能范围方面彼此不同。
7.如权利要求5所述的方法,其中,所述异构多核处理器包括多个大核,以及
根据所述多个大核当中的激活的大核的数目,所述标准DVFS表和节流DVFS表是不同的。
8.如权利要求5所述的方法,还包括:
当测量的大核的温度降到低于第一温度阈值的第二温度阈值之下时,将小核的作业队列迁移回到大核。
9.如权利要求1所述的方法,其中,使用与大核集成在一起的温度传感器来执行大核的温度的测量。
10.一种操作包括异构多核处理器的电子系统的方法,所述异构多核处理器包括大核簇和小核簇,所述大核簇包括第一大核和被布置为在物理上与第一大核相邻的第二大核,所述小核簇包括第一小核和第二小核,其中,第一大核和第二大核分别是高性能/高功耗的核,而且第一小核和第二小核分别是低性能/低功耗的核,其中将第一大核映射到第一小核以形成第一核对,以及将第二大核映射到第二小核以形成第二核对,该方法包括:
使用温度传感器测量第一大核的温度;
当测量的第一大核的温度超过第一温度阈值时,将分配给第一大核的第一当前核负载中的至少一个任务切换到第一小核;以及
当测量的第一大核的温度超过高于第一温度阈值的第二温度阈值时,分配给第二大核的第二当前核负载中的至少一个任务切换到第二小核,
其中,响应于测量第一大核的温度,将不同的动态电压频率调节DVFS表应用于第一核对和第二核对,
其中,基于控制的中断来测量第一大核的温度。
11.如权利要求10所述的方法,还包括:
其中,将第一当前核负载中的所述至少一个任务切换到第一小核包括内核内切换,以使得在任一给定时间第一核对中的第一大核和第一小核中只有一个被激活,以及
将第二当前核负载中的所述至少一个任务切换到第二小核包括内核内切换,以使得在任一给定时间第二核对中的第二大核和第二小核中只有一个被激活。
12.如权利要求10所述的方法,还包括:
在第一大核和第二大核中的至少一个上执行时钟选通和功率选通中的至少一个,直到测量的第一大核的温度降到低于第一温度阈值的第三温度阈值之下。
13.如权利要求12所述的方法,其中,将第一当前核负载中的至少一个任务切换到第一小核包括将第一大核的存储第一当前核负载的剩余任务的第一作业队列迁移到第一小核,以及
将第二当前核负载中的所述至少一个任务切换到第二小核包括将第二大核的存储第二当前核负载的剩余任务的第二作业队列迁移到第二小核。
14.如权利要求13所述的方法,其中,将第一大核的第一作业队列迁移到第一小核包括将用于第一大核的第一标准动态电压频率调节DVFS表的使用交换为定义了仅用于第一小核的性能范围的第一节流DVFS表的使用,以及
将第二大核的第二作业队列迁移到第二小核包括将用于第二大核的第二标准DVFS表的使用交换为定义了仅用于第二小核的性能范围的第二节流DVFS表的使用。
15.如权利要求14所述的方法,其中,第一标准DVFS表和第一节流DVFS表在定义第一小核的各个性能范围方面彼此不同,以及
第二标准DVFS表和第二节流DVFS表在定义第二小核的各个性能范围方面彼此不同。
16.如权利要求10所述的方法,其中,第一标准DVFS表和第二标准DVFS表以及第一节流DVFS表和第二节流DVFS表根据异构多核处理器中的多个大核当中的激活的大核的数目而改变。
17.如权利要求10所述的方法,还包括:
当测量的第一大核的温度降到第三温度阈值之下时,将第一当前核负载从第一小核切换回到第一大核;以及
当测量的第一大核的温度降到第四温度阈值之下时,将第二当前核负载从第二小核切换回到第二大核。
18.一种电子系统,包括:
异构多核处理器,包括包含第一类型的核和第二类型的核的核对,第一类型的核以高功耗提供高性能,而且第二类型的核相对于第一类型的核以低功耗提供低性能;以及
内核,被配置为响应于测量的第一类型的核的温度,将不同的动态电压频率调节DVFS表应用于核对;
其中,所述内核被配置为,只要测量的第一类型的核的温度保持低于或等于第一温度阈值,就将标准DVFS表应用于核对,以及
所述内核还被配置为,当测量的第一类型的核的温度超过第一温度阈值时,将定义了仅用于第二类型的核的性能范围的节流DVFS表应用于核对,
其中,基于控制的中断来测量第一类型的核的温度。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130131589A KR20150050135A (ko) | 2013-10-31 | 2013-10-31 | 복수의 이종 코어들을 포함하는 전자 시스템 및 이의 동작 방법 |
KR10-2013-0131589 | 2013-10-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104679586A CN104679586A (zh) | 2015-06-03 |
CN104679586B true CN104679586B (zh) | 2020-10-27 |
Family
ID=52996847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410602301.1A Active CN104679586B (zh) | 2013-10-31 | 2014-10-31 | 包括异构多核处理器的电子系统及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9588577B2 (zh) |
KR (1) | KR20150050135A (zh) |
CN (1) | CN104679586B (zh) |
TW (1) | TWI675289B (zh) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9785481B2 (en) * | 2014-07-24 | 2017-10-10 | Qualcomm Innovation Center, Inc. | Power aware task scheduling on multi-processor systems |
US20160327999A1 (en) * | 2014-09-17 | 2016-11-10 | Mediatek Inc. | Dynamic frequency scaling in multi-processor systems |
US9958932B2 (en) | 2014-11-20 | 2018-05-01 | Apple Inc. | Processor including multiple dissimilar processor cores that implement different portions of instruction set architecture |
US9898071B2 (en) * | 2014-11-20 | 2018-02-20 | Apple Inc. | Processor including multiple dissimilar processor cores |
US9703358B2 (en) * | 2014-11-24 | 2017-07-11 | Intel Corporation | Controlling turbo mode frequency operation in a processor |
US10101786B2 (en) | 2014-12-22 | 2018-10-16 | Intel Corporation | Holistic global performance and power management |
US10466754B2 (en) * | 2014-12-26 | 2019-11-05 | Intel Corporation | Dynamic hierarchical performance balancing of computational resources |
WO2016195274A1 (en) * | 2015-06-01 | 2016-12-08 | Samsung Electronics Co., Ltd. | Method for scheduling entity in multi-core processor system |
US10234932B2 (en) * | 2015-07-22 | 2019-03-19 | Futurewei Technologies, Inc. | Method and apparatus for a multiple-processor system |
CN105045359A (zh) * | 2015-07-28 | 2015-11-11 | 深圳市万普拉斯科技有限公司 | 散热控制方法和装置 |
CN105068872B (zh) | 2015-07-28 | 2018-11-23 | 深圳市万普拉斯科技有限公司 | 运算单元的控制方法和系统 |
KR102375925B1 (ko) * | 2015-08-31 | 2022-03-17 | 삼성전자주식회사 | Cpu의 작동 방법과 상기 cpu를 포함하는 시스템의 작동 방법 |
US9928115B2 (en) | 2015-09-03 | 2018-03-27 | Apple Inc. | Hardware migration between dissimilar cores |
US20170083336A1 (en) * | 2015-09-23 | 2017-03-23 | Mediatek Inc. | Processor equipped with hybrid core architecture, and associated method |
KR20170069730A (ko) * | 2015-12-11 | 2017-06-21 | 삼성전자주식회사 | 온도 및 공간적인 위치에 따라 코어들의 동작들을 관리하는 연산 처리 장치, 및 연산 처리 장치를 포함하는 전자 장치 |
US10621008B2 (en) * | 2016-01-25 | 2020-04-14 | Htc Corporation | Electronic device with multi-core processor and management method for multi-core processor |
US10255106B2 (en) | 2016-01-27 | 2019-04-09 | Qualcomm Incorporated | Prediction-based power management strategy for GPU compute workloads |
KR102578648B1 (ko) * | 2016-03-14 | 2023-09-13 | 삼성전자주식회사 | 모뎀 데이터에 따라 코어 스위칭이 수행되는 애플리케이션 프로세서 및 이를 포함하는 시스템 온 칩 |
US10496141B2 (en) * | 2016-03-17 | 2019-12-03 | Qualcomm Incorporated | System and method for intelligent thermal management in a system on a chip having a heterogeneous cluster architecture |
US10860499B2 (en) | 2016-03-22 | 2020-12-08 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd | Dynamic memory management in workload acceleration |
US10203747B2 (en) | 2016-03-22 | 2019-02-12 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Workload placement based on heterogeneous compute performance per watt |
US10503524B2 (en) | 2016-03-22 | 2019-12-10 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Interception of a function call, selecting a function from available functions and rerouting the function call |
US10884761B2 (en) * | 2016-03-22 | 2021-01-05 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd | Best performance delivery in heterogeneous computing unit environment |
CN106095544B (zh) * | 2016-05-31 | 2019-10-11 | 北京小米移动软件有限公司 | 中央处理器控制方法及装置 |
CN106776004A (zh) * | 2016-11-18 | 2017-05-31 | 努比亚技术有限公司 | Cpu资源分配装置及方法 |
TWI693548B (zh) | 2016-12-07 | 2020-05-11 | 聯發科技股份有限公司 | 動態調整多核心處理器的任務負載配置的裝置以及方法 |
CN106774808B (zh) * | 2016-12-22 | 2019-11-26 | 杭州朔天科技有限公司 | 一种异构多核芯片的多级低功耗管理单元及其方法 |
CN106776039B (zh) * | 2016-12-30 | 2020-04-03 | Oppo广东移动通信有限公司 | 一种数据处理方法及装置 |
US10459517B2 (en) * | 2017-03-31 | 2019-10-29 | Qualcomm Incorporated | System and methods for scheduling software tasks based on central processing unit power characteristics |
US10884811B2 (en) | 2017-06-04 | 2021-01-05 | Apple Inc. | Scheduler for AMP architecture with closed loop performance controller using static and dynamic thread grouping |
CN107390834A (zh) * | 2017-06-30 | 2017-11-24 | 广东欧珀移动通信有限公司 | 终端设备、温升控制方法、控制装置及存储介质 |
CN117519454A (zh) | 2017-09-06 | 2024-02-06 | 株式会社半导体能源研究所 | 运算装置及电子设备 |
US11119830B2 (en) * | 2017-12-18 | 2021-09-14 | International Business Machines Corporation | Thread migration and shared cache fencing based on processor core temperature |
CN109996185B (zh) * | 2017-12-29 | 2022-02-15 | 腾讯科技(深圳)有限公司 | 终端的定位方法和装置、存储介质、电子装置 |
US11579770B2 (en) | 2018-03-15 | 2023-02-14 | Western Digital Technologies, Inc. | Volatility management for memory device |
US11157319B2 (en) * | 2018-06-06 | 2021-10-26 | Western Digital Technologies, Inc. | Processor with processor memory pairs for improved process switching and methods thereof |
US11048540B2 (en) * | 2018-06-29 | 2021-06-29 | Intel Corporation | Methods and apparatus to manage heat in a central processing unit |
US11119788B2 (en) * | 2018-09-04 | 2021-09-14 | Apple Inc. | Serialization floors and deadline driven control for performance optimization of asymmetric multiprocessor systems |
CN109445918B (zh) * | 2018-10-17 | 2021-06-18 | Oppo广东移动通信有限公司 | 任务调度方法、装置、终端及存储介质 |
JP7146622B2 (ja) * | 2018-12-26 | 2022-10-04 | ルネサスエレクトロニクス株式会社 | 半導体装置、温度制御装置、及び方法 |
KR20210045544A (ko) | 2019-10-16 | 2021-04-27 | 삼성전자주식회사 | 클럭 사이클에 기반하여 전력을 모니터링하는 동적 전력 모니터, 프로세서, 및 시스템 온 칩 |
CN110764605B (zh) * | 2019-10-30 | 2021-11-02 | Oppo广东移动通信有限公司 | 多核处理器控制方法、装置、电子设备及存储介质 |
KR20210101081A (ko) * | 2020-02-07 | 2021-08-18 | 삼성전자주식회사 | 프로세스를 제어하는 전자 장치 및 그 방법 |
CN112181124B (zh) * | 2020-09-11 | 2023-09-01 | 华为技术有限公司 | 功耗管理的方法和相关设备 |
KR20220036232A (ko) * | 2020-09-15 | 2022-03-22 | 에스케이하이닉스 주식회사 | 전자 장치 및 전자 장치의 동작 방법 |
CN112416586A (zh) * | 2020-11-20 | 2021-02-26 | 北京灵汐科技有限公司 | 任务分配方法、处理核、电子设备和计算机可读介质 |
CN114690883B (zh) * | 2020-12-28 | 2024-09-27 | Oppo广东移动通信有限公司 | 可穿戴设备控制方法、装置、可穿戴设备以及存储介质 |
KR102570905B1 (ko) * | 2021-05-17 | 2023-08-29 | 주식회사 엘지유플러스 | 클라우드 환경에서의 컨테이너 기반 자원의 최적화 시스템 |
CN113553176A (zh) * | 2021-07-13 | 2021-10-26 | 北京比特大陆科技有限公司 | 芯片的内核切换方法、芯片、电子设备及存储介质 |
WO2023093984A1 (en) * | 2021-11-25 | 2023-06-01 | Huawei Cloud Computing Technologies Co., Ltd. | Method and computing device for processing task request |
CN114637387B (zh) * | 2022-05-09 | 2022-10-11 | 南京芯驰半导体科技有限公司 | 一种多核异构芯片的性能与功耗管理系统及方法 |
US20230367377A1 (en) * | 2022-05-10 | 2023-11-16 | Western Digital Technologies, Inc. | Solid-state device with multi-tier extreme thermal throttling |
CN115237582B (zh) * | 2022-09-22 | 2022-12-09 | 摩尔线程智能科技(北京)有限责任公司 | 处理多个任务的方法、处理设备以及异构计算系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6631474B1 (en) * | 1999-12-31 | 2003-10-07 | Intel Corporation | System to coordinate switching between first and second processors and to coordinate cache coherency between first and second processors during switching |
CN101814048A (zh) * | 2009-02-23 | 2010-08-25 | 鸿富锦精密工业(深圳)有限公司 | 主机板 |
Family Cites Families (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7167993B1 (en) | 1994-06-20 | 2007-01-23 | Thomas C Douglass | Thermal and power management for computer systems |
JPH0816531A (ja) | 1994-06-28 | 1996-01-19 | Hitachi Ltd | プロセススケジュール方式 |
GB0011974D0 (en) * | 2000-05-19 | 2000-07-05 | Smith Neale B | rocessor with load balancing |
EP1182548A3 (en) | 2000-08-21 | 2003-10-15 | Texas Instruments France | Dynamic hardware control for energy management systems using task attributes |
JP2002189602A (ja) | 2000-12-22 | 2002-07-05 | Toshiba Corp | プロセッサ及びプロセッサの発熱予測制御プログラムを記録した記録媒体 |
US7231531B2 (en) | 2001-03-16 | 2007-06-12 | Dualcor Technologies, Inc. | Personal electronics device with a dual core processor |
US7086058B2 (en) | 2002-06-06 | 2006-08-01 | International Business Machines Corporation | Method and apparatus to eliminate processor core hot spots |
US6908227B2 (en) | 2002-08-23 | 2005-06-21 | Intel Corporation | Apparatus for thermal management of multiple core microprocessors |
JP2004126968A (ja) | 2002-10-03 | 2004-04-22 | Fujitsu Ltd | 並列計算機のジョブスケジューリング装置 |
US20040122973A1 (en) | 2002-12-19 | 2004-06-24 | Advanced Micro Devices, Inc. | System and method for programming hyper transport routing tables on multiprocessor systems |
JP2004240669A (ja) | 2003-02-05 | 2004-08-26 | Sharp Corp | ジョブスケジューラおよびマルチプロセッサシステム |
US7093147B2 (en) * | 2003-04-25 | 2006-08-15 | Hewlett-Packard Development Company, L.P. | Dynamically selecting processor cores for overall power efficiency |
US20050050310A1 (en) | 2003-07-15 | 2005-03-03 | Bailey Daniel W. | Method, system, and apparatus for improving multi-core processor performance |
US8237386B2 (en) | 2003-08-15 | 2012-08-07 | Apple Inc. | Methods and apparatuses for operating a data processing system |
JP3830491B2 (ja) | 2004-03-29 | 2006-10-04 | 株式会社ソニー・コンピュータエンタテインメント | プロセッサ、マルチプロセッサシステム、プロセッサシステム、情報処理装置および温度制御方法 |
US8224639B2 (en) | 2004-03-29 | 2012-07-17 | Sony Computer Entertainment Inc. | Methods and apparatus for achieving thermal management using processing task scheduling |
JP2005316764A (ja) | 2004-04-28 | 2005-11-10 | Toshiba Corp | 情報処理装置および同装置のシステム制御方法 |
JP3862715B2 (ja) | 2004-06-01 | 2006-12-27 | 株式会社ソニー・コンピュータエンタテインメント | タスク管理方法、タスク管理装置、半導体集積回路、電子装置、およびタスク管理システム |
JP3805344B2 (ja) | 2004-06-22 | 2006-08-02 | 株式会社ソニー・コンピュータエンタテインメント | プロセッサ、情報処理装置およびプロセッサの制御方法 |
JP4197673B2 (ja) | 2004-09-30 | 2008-12-17 | 株式会社東芝 | マルチプロセッサ計算機及びタスク実行方法 |
JP4197672B2 (ja) | 2004-09-30 | 2008-12-17 | 株式会社東芝 | マルチプロセッサ計算機及びプログラム |
US9063785B2 (en) | 2004-11-03 | 2015-06-23 | Intel Corporation | Temperature-based thread scheduling |
JP3914230B2 (ja) | 2004-11-04 | 2007-05-16 | 株式会社東芝 | プロセッサシステム及びその制御方法 |
US7793291B2 (en) | 2004-12-22 | 2010-09-07 | International Business Machines Corporation | Thermal management of a multi-processor computer system |
US7194645B2 (en) | 2005-02-09 | 2007-03-20 | International Business Machines Corporation | Method and apparatus for autonomic policy-based thermal management in a data processing system |
US7454631B1 (en) | 2005-03-11 | 2008-11-18 | Sun Microsystems, Inc. | Method and apparatus for controlling power consumption in multiprocessor chip |
JP2006277637A (ja) | 2005-03-30 | 2006-10-12 | Nec Corp | 温度監視によってジョブを割り当てるマルチプロセッサ計算機システム、及びコンピュータプログラム |
US7461275B2 (en) * | 2005-09-30 | 2008-12-02 | Intel Corporation | Dynamic core swapping |
US7460932B2 (en) | 2005-11-29 | 2008-12-02 | International Business Machines Corporation | Support of deep power savings mode and partial good in a thermal management system |
US7512513B2 (en) | 2005-11-29 | 2009-03-31 | International Business Machines Corporation | Thermal throttling control for testing of real-time software |
WO2007099181A1 (es) | 2006-02-28 | 2007-09-07 | Intel Corporation | Mejora de la fiabilidad de un procesador de muchos nucleos |
US7784050B2 (en) | 2006-03-09 | 2010-08-24 | Harris Technology, Llc | Temperature management system for a multiple core chip |
US7596430B2 (en) | 2006-05-03 | 2009-09-29 | International Business Machines Corporation | Selection of processor cores for optimal thermal performance |
US7584369B2 (en) | 2006-07-26 | 2009-09-01 | International Business Machines Corporation | Method and apparatus for monitoring and controlling heat generation in a multi-core processor |
US8214660B2 (en) | 2006-07-26 | 2012-07-03 | International Business Machines Corporation | Structure for an apparatus for monitoring and controlling heat generation in a multi-core processor |
US7617403B2 (en) | 2006-07-26 | 2009-11-10 | International Business Machines Corporation | Method and apparatus for controlling heat generation in a multi-core processor |
US20080127192A1 (en) * | 2006-08-24 | 2008-05-29 | Capps Louis B | Method and System for Using Multiple-Core Integrated Circuits |
US20080115010A1 (en) | 2006-11-15 | 2008-05-15 | Rothman Michael A | System and method to establish fine-grained platform control |
US7992151B2 (en) * | 2006-11-30 | 2011-08-02 | Intel Corporation | Methods and apparatuses for core allocations |
US7886172B2 (en) | 2007-08-27 | 2011-02-08 | International Business Machines Corporation | Method of virtualization and OS-level thermal management and multithreaded processor with virtualization and OS-level thermal management |
US7934110B2 (en) | 2007-09-25 | 2011-04-26 | Intel Corporation | Dynamically managing thermal levels in a processing system |
US20090089792A1 (en) | 2007-09-27 | 2009-04-02 | Sun Microsystems, Inc. | Method and system for managing thermal asymmetries in a multi-core processor |
JP2009110404A (ja) | 2007-10-31 | 2009-05-21 | Toshiba Corp | 仮想計算機システム及び同システムにおけるゲストosスケジューリング方法 |
US8032772B2 (en) | 2007-11-15 | 2011-10-04 | Intel Corporation | Method, apparatus, and system for optimizing frequency and performance in a multi-die microprocessor |
US8615647B2 (en) * | 2008-02-29 | 2013-12-24 | Intel Corporation | Migrating execution of thread between cores of different instruction set architecture in multi-core processor and transitioning each core to respective on / off power state |
US8209493B2 (en) | 2008-03-26 | 2012-06-26 | Intel Corporation | Systems and methods for scheduling memory requests during memory throttling |
JP2010231511A (ja) | 2009-03-27 | 2010-10-14 | Panasonic Corp | 情報処理装置および情報処理方法 |
US8224693B2 (en) | 2009-05-14 | 2012-07-17 | Hewlett-Packard Development Company, L.P. | Advertisement selection based on key words |
JP4585598B1 (ja) | 2009-06-30 | 2010-11-24 | 株式会社東芝 | 情報処理装置 |
US8819686B2 (en) | 2009-07-23 | 2014-08-26 | Empire Technology Development Llc | Scheduling threads on different processor cores based on memory temperature |
US8543857B2 (en) * | 2009-09-26 | 2013-09-24 | Intel Corporation | Method and apparatus for low power operation of multi-core processors |
US20110138395A1 (en) | 2009-12-08 | 2011-06-09 | Empire Technology Development Llc | Thermal management in multi-core processor |
US8595731B2 (en) | 2010-02-02 | 2013-11-26 | International Business Machines Corporation | Low overhead dynamic thermal management in many-core cluster architecture |
US8418187B2 (en) * | 2010-03-01 | 2013-04-09 | Arm Limited | Virtualization software migrating workload between processing circuitries while making architectural states available transparent to operating system |
JP5621287B2 (ja) | 2010-03-17 | 2014-11-12 | 富士通株式会社 | 負荷分散システムおよびコンピュータプログラム |
KR20110128023A (ko) | 2010-05-20 | 2011-11-28 | 삼성전자주식회사 | 멀티 코어 프로세서, 멀티 코어 프로세서의 태스크 스케줄링 장치 및 방법 |
US8424006B2 (en) | 2010-06-03 | 2013-04-16 | International Business Machines Corporation | Task assignment on heterogeneous three-dimensional/stacked microarchitectures |
US20110320766A1 (en) | 2010-06-29 | 2011-12-29 | Youfeng Wu | Apparatus, method, and system for improving power, performance efficiency by coupling a first core type with a second core type |
US8495395B2 (en) | 2010-09-14 | 2013-07-23 | Advanced Micro Devices | Mechanism for controlling power consumption in a processing node |
US8776069B2 (en) | 2010-12-07 | 2014-07-08 | International Business Machines Corporation | Energy and performance optimizing job scheduling |
KR101770587B1 (ko) | 2011-02-21 | 2017-08-24 | 삼성전자주식회사 | 멀티코어 프로세서의 핫 플러깅 방법 및 멀티코어 프로세서 시스템 |
US9069555B2 (en) | 2011-03-21 | 2015-06-30 | Intel Corporation | Managing power consumption in a multi-core processor |
US8484496B2 (en) * | 2011-04-22 | 2013-07-09 | Qualcomm Incorporated | Method and system for thermal management of battery charging concurrencies in a portable computing device |
TWI561995B (en) * | 2011-04-26 | 2016-12-11 | Intel Corp | Load balancing in heterogeneous computing environments |
KR20120131797A (ko) | 2011-05-26 | 2012-12-05 | 서울대학교산학협력단 | 프로세서 온도 정보를 이용한 프로세서 전력/발열 모델의 동적 계산 |
JP2013025541A (ja) | 2011-07-20 | 2013-02-04 | Kyocera Corp | マルチプロセッサシステムのタスク処理方法 |
US9513884B2 (en) | 2011-08-16 | 2016-12-06 | International Business Machines Corporation | Thermal-aware source code compilation |
US8954017B2 (en) | 2011-08-17 | 2015-02-10 | Broadcom Corporation | Clock signal multiplication to reduce noise coupled onto a transmission communication signal of a communications device |
US8601300B2 (en) * | 2011-09-21 | 2013-12-03 | Qualcomm Incorporated | System and method for managing thermal energy generation in a heterogeneous multi-core processor |
KR101858159B1 (ko) * | 2012-05-08 | 2018-06-28 | 삼성전자주식회사 | 멀티-cpu 시스템과 이를 포함하는 컴퓨팅 시스템 |
CN102707996A (zh) * | 2012-05-15 | 2012-10-03 | 江苏中科梦兰电子科技有限公司 | 一种异构多核处理器上的任务调度方法 |
KR102005765B1 (ko) * | 2012-12-17 | 2019-07-31 | 삼성전자주식회사 | 시스템-온 칩과, 이의 동작 방법 |
US10423216B2 (en) * | 2013-03-26 | 2019-09-24 | Via Technologies, Inc. | Asymmetric multi-core processor with native switching mechanism |
CN103294550B (zh) * | 2013-05-29 | 2016-08-10 | 中国科学院计算技术研究所 | 一种异构多核线程调度方法、系统及异构多核处理器 |
US9715272B2 (en) * | 2014-04-24 | 2017-07-25 | Htc Corporation | Portable electronic device and core swapping method thereof |
-
2013
- 2013-10-31 KR KR1020130131589A patent/KR20150050135A/ko active Application Filing
-
2014
- 2014-10-03 US US14/505,952 patent/US9588577B2/en active Active
- 2014-10-14 TW TW103135430A patent/TWI675289B/zh active
- 2014-10-31 CN CN201410602301.1A patent/CN104679586B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6631474B1 (en) * | 1999-12-31 | 2003-10-07 | Intel Corporation | System to coordinate switching between first and second processors and to coordinate cache coherency between first and second processors during switching |
CN101814048A (zh) * | 2009-02-23 | 2010-08-25 | 鸿富锦精密工业(深圳)有限公司 | 主机板 |
Also Published As
Publication number | Publication date |
---|---|
TWI675289B (zh) | 2019-10-21 |
KR20150050135A (ko) | 2015-05-08 |
TW201527950A (zh) | 2015-07-16 |
CN104679586A (zh) | 2015-06-03 |
US9588577B2 (en) | 2017-03-07 |
US20150121105A1 (en) | 2015-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104679586B (zh) | 包括异构多核处理器的电子系统及其操作方法 | |
KR102082859B1 (ko) | 복수의 이종 코어들을 포함하는 시스템 온 칩 및 그 동작 방법 | |
US9696771B2 (en) | Methods and systems for operating multi-core processors | |
KR101703467B1 (ko) | 액티브 프로세서에 기초한 동적 전압 및 주파수 관리 | |
US20130262894A1 (en) | System-on-chip, electronic system including same, and method controlling same | |
KR101476568B1 (ko) | 코어 마다의 전압 및 주파수 제어 제공 | |
CN106598184B (zh) | 在处理器中执行跨域热控制 | |
JP5989574B2 (ja) | 計算機、メモリ管理方法およびプログラム | |
US9766647B2 (en) | Clock circuit for generating clock signal and semiconductor integrated circuit device including the same | |
US11693466B2 (en) | Application processor and system on chip | |
KR20140088691A (ko) | Dvfs 정책을 수행하는 시스템-온 칩 및 이의 동작 방법 | |
US20140095896A1 (en) | Exposing control of power and clock gating for software | |
US9996398B2 (en) | Application processor and system on chip | |
TWI570548B (zh) | 包括執行指令集架構之不同部分之多個相異處理器核心之處理器 | |
US20130297874A1 (en) | Semiconductor device | |
US10572183B2 (en) | Power efficient retraining of memory accesses | |
KR20170129709A (ko) | 고체 상태 드라이브에서 가비지 수집 리소스 할당을 적응시키는 메커니즘 | |
TW201631467A (zh) | 包括多個不同處理器核心之處理器 | |
KR102166644B1 (ko) | 복수의 이종 코어들을 포함하는 전자 시스템 및 이의 동작 방법 | |
KR20140021283A (ko) | 다중 dvfs 정책을 이용한 soc 및 이의 동작 방법 | |
US20220317749A1 (en) | Method and apparatus for low level utilization of excess power within a data center | |
US20220326962A1 (en) | Accelerator capable of executing fast dynamic change in acceleration type | |
US20170153902A1 (en) | System suspending method, system resuming method and computer system using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20150603 Assignee: Intelligent Cornerstone Technology Co.,Ltd. Assignor: SAMSUNG ELECTRONICS Co.,Ltd. Contract record no.: X2023990000786 Denomination of invention: Electronic systems including heterogeneous multi-core processors and their operating methods Granted publication date: 20201027 License type: Exclusive License Record date: 20230830 |