CN102246117B - 非对称多处理器上的自适应线程调度设备及方法 - Google Patents
非对称多处理器上的自适应线程调度设备及方法 Download PDFInfo
- Publication number
- CN102246117B CN102246117B CN200980149338.0A CN200980149338A CN102246117B CN 102246117 B CN102246117 B CN 102246117B CN 200980149338 A CN200980149338 A CN 200980149338A CN 102246117 B CN102246117 B CN 102246117B
- Authority
- CN
- China
- Prior art keywords
- core
- leakage current
- power
- sensor
- multiple core
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 98
- 230000008569 process Effects 0.000 claims description 67
- 238000010276 construction Methods 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 18
- 230000009977 dual effect Effects 0.000 description 10
- 230000003068 static effect Effects 0.000 description 9
- 238000003860 storage Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 230000006854 communication Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 239000003990 capacitor Substances 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001343 mnemonic effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Classifications
-
- 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
-
- 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
-
- 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]
-
- 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)
- Microcomputers (AREA)
Abstract
本发明描述用于在多个核心上进行自适应线程调度以减少系统能量的技术。在一个实施例中,线程调度器接收与所述多个核心相关联的泄漏电流信息。使用所述泄漏电流信息以在所述多个核心中的一者上调度线程以减少系统能量使用。还描述传感器的芯片上校准。
Description
技术领域
本发明大体来说涉及用于基于泄漏电流及动态功率而调适非对称多处理器系统中的线程调度以在低功率耗损下实现所需性能的技术。
背景技术
例如手机、膝上型计算机、个人数据助理(PDA)及其类似者的许多便携型产品利用执行例如通信及多媒体程序的程序的处理系统。用于所述产品的处理系统可包括多个处理器、用于存储指令及数据的存储器、控制器、例如通信接口的外围装置及配置于(例如)单芯片上的固定功能逻辑块。同时,便携型产品具有电池形式的有限能源,常常需要所述电池来支持来自处理系统的高性能操作。为增加电池寿命,在可能的情况下需要在减少的功率电平下执行这些操作。许多个人计算机还经开发以支持在低功率汲取(powerdrain)下的高性能操作以减少总能量消耗。
在处理系统内部,多个处理器可配置为若干不同的组织,例如,允许多个处理器之间的选择性负载平衡的非对称多处理组织,其可为不同的且针对特定系统功能或过程(例如,视频、图形或通信处理)而经优化。可将处理功能分成经调度以供在选定处理器上执行的若干个线程或任务。线程被认为是最小可个别调度过程或指令序列,其可与另一线程并行运行。在本发明的上下文中,可能可互换地使用线程与任务。任务或线程可为通常由操作系统(OS)调度器指派给处理器(例如)以满足与系统功能相关联的性能要求的子功能(sub-function)。由于与执行任务相关联的功率为频率、切换电容及供应电压的平方的函数,所以减少功率使用通常要求减少这些变量中的至少一者。为了更充分优化功率使用,许多处理系统具有对功率使用的一个或一个以上电路域中的频率及操作电压的控制。归因于在便携型装置上操作的例如视频、图形及通信的各种功能的高需求本质,可能需要多个处理器在千兆赫频率下操作以便满足产品的要求。由于对处理系统的功能需求不同,所以通常根据现有系统要求来调适操作频率。以类似方式,降低电压不仅影响功率,而且影响受影响的逻辑及存储器装置的操作频率,此继而又影响控制频率的方式。
由于电路密度随着每一新技术产生而增加,所以在闲置或待用状况期间的功率损耗也已增加。电路泄漏电流还倾向于随着增加的电路密度而增加,从而越来越变成大量功率损耗源。为实现允许更高时钟频率的增加的密度及更短电路装置延迟,通常使内部电路装置的阈值电压减小。减小阈值电压通常增加泄漏电流,其也受处理变化及温度影响。高密度芯片的能量使用的显著部分可归因于泄漏电流。
在操作系统调度器层级下,多处理系统中的任务指派为困难的问题,甚至在使芯片通过一致处理特性(P)而制造且在恒定及标称操作电压(V)及标称温度(T)内操作的标称操作环境(通常称作标称PVT环境)内也是如此。指派任务的问题归因于便携型装置的本质而变得甚至更困难,因为便携型装置可能使用通过不同工艺制造的多个芯片,且还可能经历在芯片内及芯片之间的处理特性的广泛变化、不同操作电压的使用,其可为可控的且经受周围温度的广泛变化。PVT的变化对芯片的功率利用(包括动态泄漏功率及静态泄漏功率)通常具有极大影响。
发明内容
本发明的一实施例提出一种用于在多个核心上进行自适应线程调度以减少系统能量的方法。线程调度器接收与所述多个核心相关联的泄漏电流信息。使用所述泄漏电流信息以在所述多个核心中的一者上调度线程以减少系统能量使用。
本发明的另一实施例提出一种用于在多个核心上进行自适应线程调度以减少系统能量的设备。与所述多个核心相关联的多个传感器提供泄漏电流信息。多个核心运行自适应线程调度器,每一核心具有一所指派的操作频率及源电压电平(取决于待指派给所述核心的任务)。所述自适应线程调度器使用所述泄漏电流信息以在所述多个核心中的一者上调度线程以减少系统能量使用。
本发明的另一实施例提出一种计算机可读存储媒体,其内容使非对称多处理器执行用于在多个处理器核心上进行自适应线程调度以减少系统能量的方法。线程调度器接收与所述多个核心相关联的泄漏电流信息。使用所述泄漏电流信息以在所述多个核心中的一者上调度线程以减少系统能量使用。
对于所属领域的技术人员来说,本发明的其它实施例将通过以下具体实施方式变得容易显而易见,其中作为说明展示并描述本发明的各种实施例。应认识到,本发明可用其它及不同的实施例体现且其若干细节能够具有在各种其它方面的修改,其全都不脱离本发明。因此,图式及具体实施方式应被看作本质上为说明性的而非限制性的。
附图说明
图1说明示范性无线通信系统;
图2A说明功率对操作频率的曲线图,其说明针对示范性双处理器核心的在低温的情况下的特定处理(P)、电压(V)、温度(T)PVT环境;
图2B说明功率对操作频率的曲线图,其说明针对图2A的双处理器核心的在高温的情况下的PVT环境;
图3为说明示范性非对称多处理器芯片上系统的框图;
图4A为说明示范性第一传感器电路的框图;
图4B为说明示范性第二传感器电路的框图;
图4C为说明示范性第三传感器电路的框图;
图5为示范性芯片上传感器校准过程的流程图;
图6A为示范性传感器轮询背景过程的流程图;
图6B为部分地基于泄漏电流信息的示范性第一自适应线程调度过程的流程图;
图7A说明功率对操作频率的曲线图,其说明针对示范性双处理器核心的在低温的情况下的处理(P)、电压(V)、温度(T)PVT环境;
图7B说明功率对操作频率的曲线图,其说明针对图7A的示范性双处理器核心的在高温的情况下的PVT环境;
图8为部分地基于泄漏电流信息的示范性第二自适应线程调度过程的流程图;及
图9为用于根据各种传感器输出确定静态泄漏电流及动态功率的示范性传感器轮询过程的流程图。
具体实施方式
下文结合随附图式所阐述的具体实施方式意在作为对本发明的各种示范性实施例的描述,且不意在表示可实践本发明的仅有实施例。出于提供对本发明的透彻理解的目的,具体实施方式包括特定细节。然而,对于所属领域的技术人员应显而易见,可在不具有这些特定细节的情况下实践本发明。在一些例子中,以框图的形式展示众所周知的结构及组件以便避免混淆本发明的概念。
可用例如C、C++、JAVASmalltalk、JavaScriptVisualBasicTSQL、Perl的高阶编程语言或以各种其它编程语言来撰写在根据本发明的教示执行操作时所操作的或用于根据本发明的教示执行操作的计算机程序代码或“程序代码”。也可用原生汇编语言直接撰写用于目标处理器架构的程序。原生组合程序使用机器级二进制指令的指令助记表示。如在本文中使用的存储于计算机可读存储媒体上的程序代码或程序指代机器语言代码,例如目标代码,其格式可由处理器理解。
图1说明可有利地使用本发明的实施例的示范性无线通信系统100。出于说明的目的,图1展示三个远程单元120、130及150及两个基站140。图1还展示从基站140及远程单元120、130及150的前向链路信号180及从远程单元120、130及150到基站140的反向链路信号190。应认识到,常用无线通信系统可具有更多远程单元及基站。远程单元120、130及150包括硬件组件、软件组件或两者(如由组件125A、125B及125C表示),其已经调适以体现本发明。举例来说,组件125A、125B及125C可包括传感器、处理器及自适应线程调度软件(如下文进一步论述)。
在图1中,远程单元120展示为移动电话,远程单元130展示为便携型计算机,且远程单元150展示为无线本地环路系统中的固定位置远程单元。作为实例,所述远程单元可替代地为手机、寻呼机、对讲机、手持型个人通信系统(PCS)单元、例如个人数据助理的便携型数据单元,或例如仪表读取设备的固定位置数据单元。尽管图1说明根据本发明的教示的远程单元,但本发明不限于这些示范性所说明单元。本发明的实施例可合适地用于具有两个或两个以上处理器及传感器(可根据其确定静态泄漏电流及动态功率)的任何装置中(如下文进一步详细描述)。
图2A说明以毫瓦(mW)为单位的功率204对以兆赫(MHz)为单位的操作频率206的曲线图200,其说明针对示范性双处理器核心的在低温(TL)的情况下的处理(P)、电压(V)、温度(T)PVTL环境。针对核心A的动态功率对频率(PvF)曲线208及针对核心B的PvF曲线210分别始于功率点212及214处。功率点212及214分别为在PVTL环境下针对核心A及核心B的静态泄漏功率。确切地说,如由功率点212所指示,核心A具有比核心B高的泄漏功率,但在超出频率F1的高频率下使用比核心B少的每操作动态功率。与核心A相比,核心B具有较低泄漏功率(如由功率点214所指示),且在低于F1的较低频率下更有效。交叉点(P1、F1)220表示被视为用于取决于双核心的操作频率及PVT环境而将任务分配给核心A或核心B的交叉决策点。
图2B说明功率254对操作频率256的曲线图250,其说明针对图2A的双处理器核心的在高温(TH)的情况下的PVTH环境。针对核心A的动态PvF曲线258及针对核心B的PvF曲线260分别始于功率点262及264处。功率点262及264分别为在PVTH环境下针对核心A及核心B的静态泄漏功率,其中TH>TL。确切地说,如由功率点262所指示,核心A具有比核心B高的泄漏功率,但在超出频率F2的高频率下使用比核心B小的每操作动态功率。与核心A相比,核心B具有较低泄漏功率(如由功率点264所指示)且在低于F2的较低频率下更有效。交叉点(P2、F2)270表示被视为用于取决于双核心的操作频率及PVT环境而将任务分配给核心A或核心B的另一决策点。
曲线图200与250的比较指示,与曲线图250相关联的较高温度使交叉点(P2、F2)270与交叉点(P1、F1)220相比处于较高功率电平,P2>P1,且处于较低频率,F2<F1。对于由两个曲线图200及250表征的示范性双处理器核心来说,将通过将具有低于交叉频率F1或F2的选定操作频率的任务分配给核心B,且对于操作频率超出交叉点频率的选定任务将任务分配给核心A而大体上获得较低功率使用。
可将图2A及图2B中评估的双核心设计成用于两种不同的制造工艺。举例来说,可主要通过低电压阈值(lo-Vt)晶体管工艺来制造核心A以实现高性能,但以增加的泄漏电流为代价。可主要通过高阈值(hi-Vt)晶体管工艺来制造核心B以实现伴随低泄漏电流的良好性能。又,可通过hi-Vt晶体管及lo-Vt晶体管的混合(例如,在时序关键性路径电路中使用lo-Vt晶体管)来制造两个核心中的任一者。本发明的技术可应用于通过一个或一个以上工艺而制造的核心,所述一个或一个以上工艺包括上文所提出的制造设计中的任一者以及本发明的原理现在或将来可应用于的其它者。
图3说明示范性非对称多处理器芯片上系统(SoC)300。应注意,图3所示的特定配置为示范性的,且本发明的技术可应用于由多个芯片及具有比图3所示的频率及电压可控功率域多或少的频率及电压可控功率域的芯片组成的其它系统配置。示范性非对称多处理器SoC300包括中央处理单元A(CPU-A)304、CPU-B306、共享存储器1(SMEM-1)308、SMEM-2310、数字信号处理器A(DSP-A)312、DSP-B314、控制器316、固定功能逻辑318及传感器320至326。放置传感器320至326以(例如)响应于关于非对称多处理器SoC300的交叉点信息而监视可影响各种核心(例如,CPU-A304、CPU-B306、DSP-A312及DSP-B314)上的任务指派及影响控制器316及固定功能逻辑318上的操作的条件。操作系统(OS)调度器(例如,OS调度器305)可在多处理器系统中的处理器中的一者或一者以上上操作。如下文更详细描述,所述调度器将基于多处理器系统跨越PVT操作空间的相对功率及性能曲线而对任务进行调度以在处理器上运行。
图4A为说明示范性第一传感器电路400的框图。第一传感器电路400包括直接泄漏电流传感器404、数字转换器406及在输出410上输出泄漏电流值的接口端口408。针对直接泄漏电流传感器404可使用各种类型的泄漏电流传感器。所述泄漏电流感测电路描述于D.H.金(D.H.Kim)、K.罗伊(K.Roy)、S.苏(S.Hsu)、R.K.克里斯纳姆士(R.K.Krishnamurthy)及S.波卡(S.Borkar)的“用于测量90nm以下的产生中的工艺变化的裸片上CMOS泄漏电流传感器(AnOn-DieCMOSLeakageCurrentSensorforMeasuringProcessVariationinSub-90nmgenerations)”(IEEE2004VLSI电路论坛技术论文摘要(IEEE2004SymposiumonVLSICircuitsdigestoftechnicalpapers),第250页及第251页,其以引用的方式并入本文中)中。基于所使用的泄漏电流传感器的类型,针对数字转换器406选择适当数字转换器。还在校准过程中利用输出410上的泄漏电流值(如下文中进一步详细描述)。可在芯片操作期间(例如,在特定电压及频率可控功率域处于闲置或低功率状态时,其中针对所述可控功率域的频率处于零赫兹(Hz))监视泄漏电流值。
图4B为说明示范性第二传感器电路430的框图。第二传感器电路430包括环形振荡器434、频率计数器436、接口端口438及输出440。环形振荡器434可通过在其所关联的可控功率域中所使用的晶体管而建构以确定相关联的可控功率域的泄漏电流。举例来说,环形振荡器可通过可主要地用于CPU-A304中的高阈值电压晶体管而建构,且在一频率下操作,根据所述频率可确定与CPU-A304相关联的泄漏电流。环形振荡器输出435由振荡波形组成,其在固定测量周期期间在频率计数器436中经计数以确定代表泄漏电流的频率计数。频率计数由接口端口438选择以供输出。
在另一实施例中,可基于用于核心中的晶体管的类型而利用多个环形振荡器。举例来说,在通过低阈值电压晶体管与高阈值电压晶体管的组合而建构的核心中,可利用两个环形振荡器。一个环形振荡器是通过低阈值电压晶体管建构,且另一环形振荡器是通过高阈值电压晶体管建构。将测量及读取两个环形振荡器,从而提供关于相关联的核心的泄漏电流信息。在另一实施例中,第二传感器电路430的设计可大体上重复,但通过与用于确定泄漏电流信息及用以计量工艺变化的一组晶体管不同的一组晶体管而建构。
图4C为说明示范性第三传感器电路470的框图。第三传感器电路470包括电压传感器474、温度传感器476、数字转换器478、接口端口480及输出484。电压传感器474及温度传感器476可针对可控功率域(例如,CPU-A304)各自产生分别与电压及温度相关联的电压电平。两个传感器的输出电压电平在数字转换器478中转换成数字格式(例如,使用模拟/数字转换器),且可根据所测量的传感器的类型及其位置而加标签。经转换的电压及温度值接着由接口端口440选择以供输出。
图5为关于芯片上传感器校准过程500的流程图。可用在多处理器OS的框架内操作的软件程序体现所述过程500,多处理器OS还可控制输出以调整测试配置中的环境温度。过程500包括:设定在被校准的芯片外部的操作环境;读取芯片上传感器值;评估所读取传感器值;确定交叉决策点;及确定芯片或系统是否针对所期望的应用而操作。又,可在可不控制环境温度的产品系统测试期间运行过程500。在此状况下,校准过程:从多个温度传感器对在测试时间的现有温度进行取样,而且将核心的所有可选择操作频率设定为零赫兹;比较多个温度传感器读数,以在处于可接受容差内的读数当中寻得平均温度;及相应地调整校准过程。又,可基于在产品操作条件(其在稍后系统使用时发生)期间获得的新读数而重新校准传感器。
在框502处,针对例如图3的CPU-A304的可控功率域设定初始环境温度、操作电压及操作频率。举例来说,可设定低温、低操作电压及零频率以确定(例如,可与图2A的功率点212相关联的)泄漏电流静态功率值。在框504处,对传感器进行轮询、根据所测量的传感器的类型对读数加标签且加标签到在测试中的可控功率域,且保存读数以用于稍后评估(如下文中更详细描述)。举例来说,读取图3的传感器320,加标签且保存读数。在框506处,将传感器值与预期值(例如,最小及最大预期值)比较。在决策框508处,确定传感器值是否在可接受范围内。如果传感器值是在可接受范围内,则过程500进行到决策框510。在决策框510处,确定是否校准所有选定的可控功率域。如果已校准所有选定的可控功率域,那么过程500进行到决策框512。在决策框512处,确定是否已评估所有可设定条件。如果已评估所有可设定条件,则传感器校准过程进行到框516。在框516处,针对适当核心组合、PVT特性及选定频率创建交叉决策点的表。在框518处,传感器校准过程结束,且可启用系统操作。在被启用之后,图3的OS调度器305可使用各种经校准的传感器读数在各种核心上调度线程(如下文中更详细描述)。
返回到决策框508,如果传感器值不在可接受范围内,那么过程500进行到框520。在框520处,将可控功率域标记为具有不可接受传感器值。在决策框522处,确定系统是否仍可用于当前应用。如果系统仍可用于当前应用,则过程500进行到框524。在框524处,向OS调度器305通知硬件损耗。举例来说,在容错系统中,使一个CPU离线(offline)及断电对于系统操作可为可接受的。如果系统不可用于当前应用,则过程500进行到框526。在决策框526处,确定系统是否可用于其它应用,例如,不需要电池操作的桌上型系统。如果系统可用于其它应用,则过程500进行到框528。在框528处,根据传感器值标记部件以用于分级(binning)。举例来说,可根据由传感器提供的泄漏电流信息的范围而对部件进行分级。如果系统不可用于其它应用,则过程500进行到框530。在框530处,向用户通知系统故障。
返回到决策框510,如果确定尚未校准所有选定的可控功率域,则过程500进行到框530。在框530处,选择例如CPU-B306的新的可控功率域以用于图3的传感器321的传感器校准。过程500返回到框502以针对所述新的可控功率域(在需要时)将环境温度、操作电压及操作频率调整成与在初始可控功率域的传感器的校准中所利用的环境温度、操作电压及操作频率相当的设定。
返回到决策框512,如果确定尚未评估所有可设定条件,则过程500进行到框534。在框534处,标记待设定成新评估状态的条件,且过程500返回到框502以设定新条件。
图6A为关于示范性传感器轮询背景过程600的流程图。过程600可用在多处理器OS的框架内操作的软件程序体现。在系统操作期间,(例如)在特定时间周期或在将任务指派给各种可控功率域之前对传感器进行轮询。在框504处,轮询传感器,将读数加标签到对应的可控功率域,且经保存以用于稍后评估。在决策框604处,确定是否需要更新任何交叉点。举例来说,环境温度可能快速改变以使便携型装置影响如通过图2A的曲线图200及图2B的曲线图250所说明的交叉点。如果交叉点需要更新,则背景过程600进行到框606。在框606处,更新适当交叉点。返回到决策框604,如果不存在需要更新的交叉点,那么背景过程600进行到决策框608。在决策框608处,确定是否到下一传感器轮询的时间。如果到下一传感器轮询的时间,则背景过程600进行到框504。如果未到下一传感器轮询的时间,则背景过程600一直等待到达到传感器轮询时间为止。在背景过程600处于操作中时,其它系统操作继续以满足产品操作要求。
图6B为部分地基于泄漏电流信息的示范性第一自适应线程调度过程650的流程图。过程650可用在多处理器OS(例如,图3的OS调度器305)的框架内操作的软件程序体现。针对可将任务指派给例如图3的CPU-A304及CPU-B306的两个处理器核心中的一者的示范性状况来说明过程650。多处理器OS调度器或其类似者确定待指派的任务。在框604处,评估待指派的任务以确定用于运行所述任务的适当操作电压及频率。在框606处,将任务的选定操作频率与可用于任务指派的可控功率域的交叉决策点值比较(作为用以确定哪一可控功率域将指派任务的输入中的一者)。在框608处,确定任务的选定频率是否小于适当交叉频率。如果任务的频率较小,则过程650进行到框610。在框610处,将任务指派给例如CPU-B306的第一核心可控功率域。如果任务的频率大于或等于适当交叉频率,则过程650进行到框612。在框612处,将任务指派给例如CPU-A304的第二核心可控功率域。在决策框614处,确定是否存在待指派的任何其它任务。如果存在待指派的其它任务,则过程650返回到框604。如果不存在待指派的其它任务,则过程650返回到调用例程。自适应线程调度过程可调节到两个以上核心。在三个或三个以上可控功率域的状况下,可在确定任务的指派时评估多个交叉点。
图7A说明以毫瓦(mW)为单位的功率704对以兆赫(MHz)为单位的操作频率706的曲线图700,其说明针对示范性双处理器核心的在低温(TL)的情况下的处理(P)、电压(V)、温度(T)PVTL环境。针对核心A的动态功率对频率(PvF)曲线708及针对核心B的PvF曲线710分别始于功率点712及714处。功率点712及714分别为在特定PVTL条件下针对核心A及核心B的静态泄漏功率。确切地说,如由功率点712所指示,核心A具有比核心B高的为约25mW的泄漏功率,但在超出频率F1的高频率下使用比核心B小的每操作动态功率。与核心A相比,核心B具有为约10mW的较低泄漏功率(如由功率点714所指示)且在低于F1的较低频率下更有效。交叉点(P1、F1)720表示可视为用于取决于双核心的操作频率及PVT环境而将任务分配给核心A或核心B的交叉点。
图7B说明功率754对操作频率756的曲线图750,其说明针对图7A的示范性双处理器核心的在高温(TH)的情况下的PVTH环境。针对核心A的动态PvF曲线758及针对核心B的PvF曲线760分别始于功率点762及764处。功率点762及764分别为在PVTH条件下针对核心A及核心B的静态泄漏功率,其中TH>TL。确切地说,如由功率点762所指示,核心A具有比核心B高的为约35mW的泄漏功率,但在超出频率F2的高频率下使用比核心B小的每操作动态功率。核心B具有为约20mW的较低泄漏功率(如由功率点764所指示),且在低于F2的较低频率下与核心A相比更有效。交叉点(P2、F2)770表示可被视为用于取决于双核心的操作频率及PVT环境而将任务分配给核心A或核心B的另一决策点。
作为一实例,待将特定任务分配给具有如在图7A中所说明的特性的两个处理器核心中的一者。所述特定任务需要任一核心上的频率x(Fx)满足要求。频率Fx还需要两个核心的最小核心电压源。在如在图7A中所说明的操作温度TL及频率Fx下,核心A将展现与点(Px,A,L,Fx)722相关联的动态功率Px,A,L,且核心B展现与点(Px,B,L,Fx)724相关联的动态功率Px,B,L。对于此特定任务,核心A功率包含泄漏功率(PL,A,L)加动态功率(PD,A,L),这等于(对于此实例)25mW+35mW=60mW。核心B功率等于PL,B,L+PD,B,L=10mW+40mW=50mW。基于此分析,应将此特定任务分配给核心B,尽管其超出交叉点720且具有高于核心A的动态功率(35mW)的动态功率分量(40mW)。在点712处的核心A的泄漏功率在确定待将此特定任务指派于何处方面作出显著功率贡献。
在如在图7B中所说明的较高温度TH(TH>TL)下重新考虑所述分析。在操作温度TH及频率Fx下,核心A将展现与点(Px,A,H,Fx)772相关联的动态功率Px,A,H,且核心B展现与点(Px,B,H,Fx)774相关联的动态功率Px,B,H。对于此特定任务,核心A功率包含泄漏功率(PL,A,H)加动态功率(PD,A,H),其在TH下等于35mW+45mW=80mW。核心B功率等于PL,B,H+PD,B,H=20mW+80mW=100mW。基于此分析,应将此特定任务分配给核心A。在较高温度下,核心B的动态功率分量在确定待将此特定任务指派于何处方面作出显著贡献。
基于如在图7A及图7B中说明的分析,可基于线性系统优化使用调度算法。举例来说,在温度“t”下的核心i的功率为Pi,t,其等于泄漏功率(PL,i,t)加动态功率(PD,i,t)。所有核心的功率为Pcores,t=∑Pi,t。
动态功率取决于大体上由方程式(1)管理的核心供应电压(V)、操作频率(F)及切换电容(C):
PD=CV2F(1)
其中V为操作电压;F为操作频率;且C为表示被评估的可控功率域的切换电容的常数。需要待分配给一核心的每一任务在针对所述核心的最小频率F(其由软件确定)下操作以便满足要求。还由软件确定供应电压以在提供足够功率以在指定频率F下操作核心的同时减少功率。切换电容由在产品发布之前的设计及制造工艺确定。因此,动态功率可为在无需传感器的情况下由操作系统调度器估算的经计算的值。
由于泄漏功率强烈地取决于温度及工艺,所以使用传感器以将泄漏信息提供到调度器。通过基于传感器输入估算泄漏功率及计算在特定频率F及电压V下待分配任务的每一核心的动态功率,调度器可选择具有最低功率额定值的核心。通过利用自适应调度方法,还可考虑到随着芯片老化而变化的泄漏电流的效应。又,作为容错机制,自适应调度方法可考虑到使泄漏电流增加超过可接受范围的任何芯片上故障。
图8为部分地基于泄漏电流信息的示范性第二自适应线程调度过程800的流程图。过程800可用在多处理器OS(例如,图3的OS调度器305)的框架内操作的软件程序体现。已针对在考虑中的核心的操作频率F及电压V评估待指派给多个核心中的一者的任务。在框804处,计算处于所指派的频率F、电压V及指定切换值C下的核心的动态功率。在框806处,读取与泄漏测量相关联的核心传感器。在框808处,根据传感器读数推断核心泄漏功率。在框810处,将推断出的泄漏功率加到动态功率以寻得核心功率。在决策框812处,确定是否已计算出待分配此任务的核心的核心功率。如果尚未计算出待分配此任务的核心的功率,那么过程800返回到框804以评估另一核心。过程800继续直到已评估被考虑用于此任务指派的所有核心为止。一旦已评估被考虑用于此任务指派的核心的个别核心功率,则过程800进行到框814。在框814处,将任务指派给具有最低核心功率的核心。在决策框816处,确定是否存在待指派的更多任务。如果存在待指派的更多任务,则过程800返回到框812。如果不存在待指派的更多任务,则过程800返回到调用例程。
图9为用以根据各种传感器输出确定静态泄漏电流及动态功率的示范性传感器轮询过程900的流程图。过程900可用在多处理器OS的框架内操作的软件程序体现。系统过程启用框504以对传感器进行轮询。在框904处,读取例如图4C的电压传感器474的电压传感器。在框906处,读取例如图4C的温度传感器476的温度传感器。在框908处,从例如图4B的频率计数器436的频率计数器读取频率计数值。在框910处,将所读取的传感器值转换成处理器可读取值,例如,代表所感测条件的数字值。将读数加标签到对应的可控功率域并保存。框910可(在硬件或软件控制下)个别地选择待读取、转换及加标签的传感器。
泄漏电流可源于多种因素,例如,漏极到源极泄漏电流与栅极泄漏电流。泄漏电流的主要形式通常根据所使用的工艺技术而变化。在传统工艺中的泄漏电流的最大来源中的一者已为漏极到源极泄漏电流。如在L.T.克拉克(LT.Clark)、M.毛罗(M.Morrow)及W.布朗(W.Brown)的“用于低效待机功率的反向主体偏压及供应崩溃(Reverse-BodyBiasandSupplyCollapseforLowEffectiveStandbyPower)”(“IEEE超大规模集成(VLSI)系统学报”(IEEETransactionsonVeryLargeScaleIntegration(VLSI)Systems),第12卷,第9期,2004年9月,其以引用的方式并入本文中)中所描述,可利用方程式2近似地计算漏极到源极泄漏电流(Ioff):
其中Vt为阈值电压;S为根据方程式3确定的亚阈值电压摆动:
其中k为波兹曼常数(Boltzmannconstant);T为以开尔文(Kelvin)为单位的操作温度;q为基本电荷;CD为耗尽层电容;且COX为栅极氧化物电容,使得泄漏电流Ioff取决于在制造被评估的可控功率域的过程中所使用的温度及工艺。基于例如在图9的框504处提供的特定温度传感器读数且利用方程式2及3,可估计泄漏电流信息。泄漏电流也可基于先前校准(如关于图5的校准过程500所描述),其中可校准如在图9中的框908处所提供的频率计数值以用于泄漏电流测量。另外,由图9的框904提供的电压读数也可用于确定泄漏电流信息及确定或验证动态功率利用。
可通过通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或经设计以执行本文中所描述的功能的其它可编程逻辑组件、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行结合本文中所揭示的实施例而描述的各种说明性逻辑块、模块、电路、元件及组件。通用处理器可为微处理器,但在替代例中,处理器可为任何常规处理器、控制器、微控制器或状态机。也可将处理器实施为计算组件的组合,例如,DSP与微处理器的组合、多个微处理器、结合DSP核心的一个或一个以上微处理器或适合于所要应用的任何其它所述配置。
结合本文中所揭示的实施例而描述的方法可直接用硬件、用由处理器执行的软件模块或用两者的组合体现。软件模块可驻留于RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可装卸盘、CD-ROM,或此项技术中已知的任何其它形式的计算机可读存储媒体中。计算机可读存储媒体可耦合到处理器,使得处理器可从所述计算机可读存储媒体读取信息及将信息写入到所述计算机可读存储媒体。在替代例中,计算机可读存储媒体可与处理器成一体式。
尽管在关于在多个核心上的自适应线程调度的说明性实施例的上下文中揭示本发明,但应认识到,所属领域的技术人员可使用与上文论述及所附权利要求书一致的各种各样的实施方案。
Claims (11)
1.一种用于在多个核心上进行自适应线程调度以减少系统能量使用的方法,其中每个核心具有一个或多个泄漏电流传感器,所述方法包含:
基于在特定温度下的泄漏电流传感器的读数与预期泄漏电流传感器值的比较来校准用于提供与所述多个核心相关联的泄漏电流信息的每一个所述泄漏电流传感器,其中所述特定温度由在每个所述核心的操作频率设为零赫兹的情况下读取多个温度传感器,并在多个位于特定容差内的温度读数当中最后找到的平均温度来确定;
接收所述多个核心的每一者的所述泄漏电流信息;
部分基于所述泄漏电流信息确定所述多个核心的每一者的泄漏功率;
确定与将分配到所述多个核心中的任一者的线程相关联的频率要求;
基于每个核心的当前操作温度和与所述线程相关联的所述频率要求确定所述多个核心中的每一者的动态功率;
将所述多个核心中的每一者的核心功率确定为所述泄漏功率和所述动态功率的和;以及
将所述线程调度到所述多个核心中的具有最低核心功率的一者上。
2.根据权利要求1所述的方法,其中所述一个或多个泄漏电流传感器是直接泄漏电流传感器,所述方法进一步包含:
读取所述多个核心中的所述直接泄漏电流传感器以确定与所述多个核心相关联的所述泄漏电流信息。
3.根据权利要求1所述的方法,所述方法进一步包含:
读取所述多个温度传感器以确定与对应核心相关联的操作温度,且基于所述操作温度及与所述核心相关联的预定工艺常数,计算与所述多个核心相关联的所述泄漏电流信息。
4.根据权利要求3所述的方法,其中根据来计算所述泄漏电流信息,其中Ioff为所述泄漏电流信息;Vt为阈值电压;S为根据确定的亚阈值电压摆动,其中k为波兹曼常数;T为以开尔文为单位的所述操作温度;q为基本电荷;CD为耗尽层电容;且COX为栅极氧化物电容,且Vt、k、q、CD及COX为所述预定工艺常数。
5.根据权利要求1所述的方法,所述方法进一步包含:
读取所述多个核心中的多个频率传感器,其中所述频率传感器中的至少一者为通过在相关联的核心中利用的晶体管而建构的环形振荡器,其中测量且读取所述环形振荡器的操作频率以确定所述相关联的核心的所述泄漏电流信息。
6.根据权利要求1所述的方法,其中在所述多个核心中的一者上调度线程包含:
确定与所述多个核心相关联的至少一个交叉频率;以及
在所述多个核心中的在较低所指派频率下具有比所述多个核心中的其它核心低的泄漏功率及高的效率的一个核心上调度所述线程。
7.根据权利要求1所述的方法,其中在所述多个核心中的一者上调度线程包含:
针对所述待分配的线程计算处于所指派的频率及电压下的所述多个核心的动态功率;
将所述多个核心的核心功率计算为各自的动态功率和泄漏功率的和;以及
将所述线程指派给具有最低核心功率的核心。
8.根据权利要求1所述的方法,其进一步包含:
确定核心的传感器读数不满足当前应用的预期传感器值,但确实满足另一应用的预期传感器值;以及
对所述核心进行分级以供在其它应用中使用。
9.一种用于在多个核心上进行自适应线程调度以减少系统能量使用的设备,所述设备包含:
与所述多个核心中的每一者相关联以用于提供与所述多个核心中的每一者相关联的泄漏电流信息的一个或更多泄漏电流传感器,其中每一个所述泄漏电流传感器是基于在特定环境温度下的泄漏电流传感器的读数与预期泄漏电流传感器值的比较来校准的,其中所述特定环境温度由在所述核心的操作频率设为零赫兹的情况下读取多个温度传感器,并在多个位于特定容差内的温度读数当中最后找到的平均温度来确定;以及
经配置以接收所述多个核心的每一者的所述泄漏电流信息的逻辑;
经配置以部分基于所述泄漏电流信息确定所述多个核心的每一者的泄漏功率的逻辑;
经配置以确定与将分配到所述多个核心中的任一者的线程相关联的频率要求的逻辑;
经配置以基于每个核心的当前操作温度和与所述线程相关联的所述频率要求确定所述多个核心中的每一者的动态功率的逻辑;
经配置以将所述多个核心中的每一者的核心功率确定为所述泄漏功率和所述动态功率的和的逻辑;以及
将所述线程调度到所述多个核心中的具有最低核心功率的一者上的逻辑。
10.根据权利要求9所述的设备,其中所述一个或更多泄漏电流传感器包括提供泄漏电流的直接读取以提供所述泄漏电流信息的至少一个传感器。
11.根据权利要求9所述的设备,其中所述一个或更多泄漏电流传感器包括为通过在相关联的核心中利用的晶体管而建构的环形振荡器的至少一个传感器,其中所述环形振荡器的操作频率经测量及读取以确定所述相关联的核心的所述泄漏电流信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/333,063 US9043795B2 (en) | 2008-12-11 | 2008-12-11 | Apparatus and methods for adaptive thread scheduling on asymmetric multiprocessor |
US12/333,063 | 2008-12-11 | ||
PCT/US2009/067654 WO2010068855A2 (en) | 2008-12-11 | 2009-12-11 | Apparatus and methods for adaptive thread scheduling on asymmetric multiprocessor |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102246117A CN102246117A (zh) | 2011-11-16 |
CN102246117B true CN102246117B (zh) | 2016-04-13 |
Family
ID=42242143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980149338.0A Expired - Fee Related CN102246117B (zh) | 2008-12-11 | 2009-12-11 | 非对称多处理器上的自适应线程调度设备及方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9043795B2 (zh) |
EP (1) | EP2374048A2 (zh) |
JP (3) | JP5283759B2 (zh) |
KR (1) | KR101284776B1 (zh) |
CN (1) | CN102246117B (zh) |
TW (1) | TW201035745A (zh) |
WO (1) | WO2010068855A2 (zh) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110213998A1 (en) * | 2008-06-11 | 2011-09-01 | John George Mathieson | System and Method for Power Optimization |
US20090309243A1 (en) * | 2008-06-11 | 2009-12-17 | Nvidia Corporation | Multi-core integrated circuits having asymmetric performance between cores |
US20110213950A1 (en) * | 2008-06-11 | 2011-09-01 | John George Mathieson | System and Method for Power Optimization |
US20110213947A1 (en) * | 2008-06-11 | 2011-09-01 | John George Mathieson | System and Method for Power Optimization |
US9043795B2 (en) * | 2008-12-11 | 2015-05-26 | Qualcomm Incorporated | Apparatus and methods for adaptive thread scheduling on asymmetric multiprocessor |
US8381004B2 (en) * | 2010-05-26 | 2013-02-19 | International Business Machines Corporation | Optimizing energy consumption and application performance in a multi-core multi-threaded processor system |
WO2012036954A2 (en) * | 2010-09-15 | 2012-03-22 | Rambus Inc. | Scheduling amongst multiple processors |
US9335805B2 (en) * | 2010-11-25 | 2016-05-10 | Freescale Semiconductor, Inc. | Method and apparatus for managing power in a multi-core processor |
US20120284729A1 (en) * | 2011-05-03 | 2012-11-08 | Microsoft Corporation | Processor state-based thread scheduling |
US8799693B2 (en) | 2011-09-20 | 2014-08-05 | Qualcomm Incorporated | Dynamic power optimization for computing devices |
US8601300B2 (en) * | 2011-09-21 | 2013-12-03 | Qualcomm Incorporated | System and method for managing thermal energy generation in a heterogeneous multi-core processor |
US9098309B2 (en) | 2011-09-23 | 2015-08-04 | Qualcomm Incorporated | Power consumption optimized translation of object code partitioned for hardware component based on identified operations |
US20130086395A1 (en) * | 2011-09-30 | 2013-04-04 | Qualcomm Incorporated | Multi-Core Microprocessor Reliability Optimization |
US8595520B2 (en) * | 2011-10-12 | 2013-11-26 | Qualcomm Incorporated | System and method for determining thermal management policy from leakage current measurement |
US9442773B2 (en) * | 2011-11-21 | 2016-09-13 | Qualcomm Incorporated | Thermally driven workload scheduling in a heterogeneous multi-processor system on a chip |
US9569278B2 (en) | 2011-12-22 | 2017-02-14 | Intel Corporation | Asymmetric performance multicore architecture with same instruction set architecture |
KR101885857B1 (ko) * | 2012-01-04 | 2018-08-06 | 삼성전자주식회사 | 온도 관리 회로, 이를 포함하는 시스템 온 칩 및 온도 관리 방법 |
US20130185581A1 (en) * | 2012-01-18 | 2013-07-18 | Qualcomm Incorporated | Efficient Code Dispatch Based on Performance and Energy Consumption |
US9569279B2 (en) | 2012-07-31 | 2017-02-14 | Nvidia Corporation | Heterogeneous multiprocessor design for power-efficient and area-efficient computing |
US8943252B2 (en) | 2012-08-16 | 2015-01-27 | Microsoft Corporation | Latency sensitive software interrupt and thread scheduling |
US9037889B2 (en) * | 2012-09-28 | 2015-05-19 | Intel Corporation | Apparatus and method for determining the number of execution cores to keep active in a processor |
US9110670B2 (en) * | 2012-10-19 | 2015-08-18 | Microsoft Technology Licensing, Llc | Energy management by dynamic functionality partitioning |
US8996902B2 (en) | 2012-10-23 | 2015-03-31 | Qualcomm Incorporated | Modal workload scheduling in a heterogeneous multi-processor system on a chip |
JP6202842B2 (ja) * | 2013-03-18 | 2017-09-27 | キヤノン株式会社 | 半導体集積回路および制御方法 |
US10151786B2 (en) * | 2013-09-09 | 2018-12-11 | Advanced Micro Devices, Inc. | Estimating leakage currents based on rates of temperature overages or power overages |
US9703613B2 (en) * | 2013-12-20 | 2017-07-11 | Qualcomm Incorporated | Multi-core dynamic workload management using native and dynamic parameters |
US9851771B2 (en) * | 2013-12-28 | 2017-12-26 | Intel Corporation | Dynamic power measurement and estimation to improve memory subsystem power performance |
KR102205836B1 (ko) * | 2014-01-29 | 2021-01-21 | 삼성전자 주식회사 | 태스크 스케줄링 방법 및 장치 |
US9582012B2 (en) | 2014-04-08 | 2017-02-28 | Qualcomm Incorporated | Energy efficiency aware thermal management in a multi-processor system on a chip |
US9557797B2 (en) * | 2014-05-20 | 2017-01-31 | Qualcomm Incorporated | Algorithm for preferred core sequencing to maximize performance and reduce chip temperature and power |
US9785481B2 (en) * | 2014-07-24 | 2017-10-10 | Qualcomm Innovation Center, Inc. | Power aware task scheduling on multi-processor systems |
US9519041B2 (en) | 2014-08-21 | 2016-12-13 | Qualcomm Incorporated | System and method for providing an accurate and cost-effective current sensor calibration |
US9898071B2 (en) * | 2014-11-20 | 2018-02-20 | Apple Inc. | Processor including multiple dissimilar processor cores |
US9939328B2 (en) * | 2015-03-12 | 2018-04-10 | Qualcomm Incorporated | Systems, apparatus, and methods for temperature detection |
JP6205401B2 (ja) * | 2015-03-13 | 2017-09-27 | 聯發科技股▲ふん▼有限公司Mediatek Inc. | 電力管理方法及び電力管理方法を適用する電力供給システム |
JP6481585B2 (ja) * | 2015-10-20 | 2019-03-13 | 株式会社デンソー | 並列化方法、並列化ツール、車載装置 |
CN108474812A (zh) * | 2015-10-29 | 2018-08-31 | 加利福尼亚大学董事会 | 老化传感器及假冒集成电路检测 |
US9733685B2 (en) * | 2015-12-14 | 2017-08-15 | International Business Machines Corporation | Temperature-aware microprocessor voltage management |
US10073718B2 (en) | 2016-01-15 | 2018-09-11 | Intel Corporation | Systems, methods and devices for determining work placement on processor cores |
CN106227639A (zh) * | 2016-07-25 | 2016-12-14 | 张升泽 | 多核芯片电压计算方法及系统 |
CN106155862A (zh) * | 2016-07-25 | 2016-11-23 | 张升泽 | 电子芯片内的电流计算方法及系统 |
CN106294063A (zh) * | 2016-07-26 | 2017-01-04 | 张升泽 | 基于芯片的温度控制方法及系统 |
US10372495B2 (en) | 2017-02-17 | 2019-08-06 | Qualcomm Incorporated | Circuits and methods providing thread assignment for a multi-core processor |
US11073884B2 (en) * | 2017-11-15 | 2021-07-27 | International Business Machines Corporation | On-chip supply noise voltage reduction or mitigation using local detection loops |
US20200317370A1 (en) * | 2019-04-05 | 2020-10-08 | United Technologies Corporation | Aircraft component repair system and process |
US11703927B2 (en) * | 2020-03-27 | 2023-07-18 | Intel Corporation | Leakage degradation control and measurement |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2998944B2 (ja) | 1991-12-19 | 2000-01-17 | シャープ株式会社 | リングオシレータ |
JP2006120175A (ja) | 2000-06-16 | 2006-05-11 | Renesas Technology Corp | 半導体集積回路装置 |
US6986066B2 (en) | 2001-01-05 | 2006-01-10 | International Business Machines Corporation | Computer system having low energy consumption |
JP2002288150A (ja) | 2001-03-28 | 2002-10-04 | Matsushita Electric Ind Co Ltd | 半導体集積回路装置 |
US7212022B2 (en) | 2002-04-16 | 2007-05-01 | Transmeta Corporation | System and method for measuring time dependent dielectric breakdown with a ring oscillator |
JP2003323417A (ja) | 2002-04-30 | 2003-11-14 | Matsushita Electric Ind Co Ltd | 半導体集積回路装置 |
JP2004280378A (ja) | 2003-03-14 | 2004-10-07 | Handotai Rikougaku Kenkyu Center:Kk | 半導体装置 |
US6954706B2 (en) | 2003-08-20 | 2005-10-11 | Hewlett-Packard Development Company, L.P. | Method for measuring integrated circuit processor power demand and associated system |
JP2005157620A (ja) | 2003-11-25 | 2005-06-16 | Matsushita Electric Ind Co Ltd | 半導体集積回路 |
US20050228967A1 (en) | 2004-03-16 | 2005-10-13 | Sony Computer Entertainment Inc. | Methods and apparatus for reducing power dissipation in a multi-processor system |
US7176508B2 (en) * | 2004-07-27 | 2007-02-13 | International Business Machines Corporation | Temperature sensor for high power very large scale integration circuits |
JP3914230B2 (ja) | 2004-11-04 | 2007-05-16 | 株式会社東芝 | プロセッサシステム及びその制御方法 |
US20060174683A1 (en) * | 2005-02-07 | 2006-08-10 | Ulrich Bonne | Functionalized field effect transistor sensor with self checking |
JP4630122B2 (ja) | 2005-05-11 | 2011-02-09 | 株式会社アドバンテスト | 試験装置、及び試験方法 |
JP2006319153A (ja) | 2005-05-13 | 2006-11-24 | Sony Corp | 半導体集積回路及びその制御方法 |
KR101108397B1 (ko) | 2005-06-10 | 2012-01-30 | 엘지전자 주식회사 | 멀티-코어 프로세서의 전원 제어 장치 및 방법 |
US7265639B2 (en) | 2005-08-05 | 2007-09-04 | International Business Machines Corporation | Methods and apparatus for ring oscillator based MOSFET gate capacitance measurements |
US7412353B2 (en) | 2005-09-28 | 2008-08-12 | Intel Corporation | Reliable computing with a many-core processor |
JP2007148952A (ja) | 2005-11-30 | 2007-06-14 | Renesas Technology Corp | 半導体集積回路 |
WO2007141870A1 (ja) | 2006-06-09 | 2007-12-13 | Fujitsu Limited | 温度センサ用リングオシレータ、温度センサ回路及びこれを備える半導体装置 |
US7814339B2 (en) | 2006-06-30 | 2010-10-12 | Intel Corporation | Leakage power estimation |
US20080127192A1 (en) | 2006-08-24 | 2008-05-29 | Capps Louis B | Method and System for Using Multiple-Core Integrated Circuits |
WO2008129625A1 (ja) | 2007-04-10 | 2008-10-30 | Fujitsu Microelectronics Limited | リーク電流検出回路、ボディバイアス制御回路、半導体装置及び半導体装置の試験方法 |
US8076946B1 (en) * | 2007-05-21 | 2011-12-13 | Marvell Israel (Misl) Ltd. | Leakage calibration |
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 |
US7991574B2 (en) * | 2008-01-29 | 2011-08-02 | International Business Machines Corporation | Techniques for filtering systematic differences from wafer evaluation parameters |
US7916571B2 (en) | 2008-05-21 | 2011-03-29 | Qualcomm Incorporated | Apparatus for implementing multiple integrated circuits using different gate oxide thicknesses on a single integrated circuit die |
US8296773B2 (en) * | 2008-06-30 | 2012-10-23 | International Business Machines Corporation | Systems and methods for thread assignment and core turn-off for integrated circuit energy efficiency and high-performance |
US9043795B2 (en) * | 2008-12-11 | 2015-05-26 | Qualcomm Incorporated | Apparatus and methods for adaptive thread scheduling on asymmetric multiprocessor |
-
2008
- 2008-12-11 US US12/333,063 patent/US9043795B2/en active Active
-
2009
- 2009-12-11 EP EP09799795A patent/EP2374048A2/en not_active Ceased
- 2009-12-11 JP JP2011540918A patent/JP5283759B2/ja not_active Expired - Fee Related
- 2009-12-11 WO PCT/US2009/067654 patent/WO2010068855A2/en active Application Filing
- 2009-12-11 KR KR1020117015868A patent/KR101284776B1/ko active IP Right Grant
- 2009-12-11 TW TW098142618A patent/TW201035745A/zh unknown
- 2009-12-11 CN CN200980149338.0A patent/CN102246117B/zh not_active Expired - Fee Related
-
2013
- 2013-05-30 JP JP2013113795A patent/JP5735038B2/ja not_active Expired - Fee Related
-
2015
- 2015-04-15 JP JP2015083210A patent/JP6019160B2/ja not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
"An On-Die CMOS Leakage Current Sensor for Measuring Process Variation in Sub-90nm Generations";Chris H. Kim等;《2005 IEEE International Conference on Integrated Circuit and Technology》;20050511;221-222 * |
"Reverse-Body Bias and Supply Collapse for Low Effective Standby Power";Lawrence T. Clark等;《IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS》;20040930;第12卷(第9期);947-956 * |
Also Published As
Publication number | Publication date |
---|---|
CN102246117A (zh) | 2011-11-16 |
EP2374048A2 (en) | 2011-10-12 |
JP5283759B2 (ja) | 2013-09-04 |
US20100153954A1 (en) | 2010-06-17 |
JP2015158938A (ja) | 2015-09-03 |
US9043795B2 (en) | 2015-05-26 |
WO2010068855A2 (en) | 2010-06-17 |
TW201035745A (en) | 2010-10-01 |
JP2013214313A (ja) | 2013-10-17 |
KR101284776B1 (ko) | 2013-07-23 |
WO2010068855A3 (en) | 2011-01-27 |
JP6019160B2 (ja) | 2016-11-02 |
JP5735038B2 (ja) | 2015-06-17 |
JP2012511788A (ja) | 2012-05-24 |
KR20110102449A (ko) | 2011-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102246117B (zh) | 非对称多处理器上的自适应线程调度设备及方法 | |
EP3036598B1 (en) | Power signal interface | |
Girban et al. | A glance on WSN lifetime and relevant factors for energy consumption | |
CN108027414A (zh) | 片上参数测量 | |
US20200401203A1 (en) | Energy-aware computing system | |
Wanner et al. | Variability-aware duty cycle scheduling in long running embedded sensing systems | |
WO2023045809A1 (zh) | 电量检测电路、终端、电量确定方法和可读存储介质 | |
Golanbari et al. | Runtime adjustment of IoT system-on-chips for minimum energy operation | |
Ionascu et al. | Energy profiling for different Bluetooth low energy designs | |
US11169586B2 (en) | Computing device and method of operating the same | |
Sieber et al. | Online device-level energy accounting for wireless sensor nodes | |
Abdal-Kadhim et al. | Investigation of wireless sensor node power consumption profile powered by heterogeneous hybrid energy harvesters with EPDD management algorithm | |
Liu et al. | A Sub-$\mu $ W Energy-Performance-Aware IoT SoC With a Triple-Mode Power Management Unit for System Performance Scaling, Fast DVFS, and Energy Minimization | |
KR102663815B1 (ko) | 컴퓨팅 장치 및 이의 동작 방법 | |
CN109765985A (zh) | 单片机间隙性工作控制方法、系统及装置 | |
Kallimani et al. | Investigation of power consumption in microcontroller based systems | |
Ghasemi et al. | PES: An energy and throughput model for energy harvesting IoT systems | |
Chang et al. | MORAS: An energy-scalable system using adaptive voltage scaling | |
Amor et al. | Energy management by different complexity level circuits | |
Liu et al. | A Process-Scheduler-Based Approach to Minimum Energy Point Tracking | |
Marcu et al. | Execution framework model for power-aware applications | |
CN202057706U (zh) | 功率计控制单元 | |
Cameron | Baseline measurement of software driven power consumption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160413 Termination date: 20211211 |