CN102822803A - 多核处理器系统、电力控制方法及电力控制程序 - Google Patents
多核处理器系统、电力控制方法及电力控制程序 Download PDFInfo
- Publication number
- CN102822803A CN102822803A CN201080065829XA CN201080065829A CN102822803A CN 102822803 A CN102822803 A CN 102822803A CN 201080065829X A CN201080065829X A CN 201080065829XA CN 201080065829 A CN201080065829 A CN 201080065829A CN 102822803 A CN102822803 A CN 102822803A
- Authority
- CN
- China
- Prior art keywords
- software
- arithmetic capability
- nuclears
- softwares
- specific software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
- 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
- G06F9/5044—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 considering hardware capabilities
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- 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
Abstract
APL(103)由检测部(202)对在与执行特定处理的特定核不同的其他核中,多个软件中特定软件具有与特定处理同等的功能并与特定软件不同的其他软件正在执行的状态进行检测。在检测后,APL(103)由提取部(203)从软件能力要求表(201)中提取特定软件与其他软件的运算能力的要求值。当使用提取出的要求值由剩余判断部(204)判断出特定软件与其他软件的运算能力的要求值的合计在其他核的运算能力值以下时,APL(103)由分配部(205)来分配特定软件。在分配后,PMU(102)通过休止部(206)使DSP(104)休止。
Description
技术领域
本发明涉及控制电力的多核处理器系统、电力控制方法以及电力控制程序。
背景技术
在现有的移动电话中,由基带处理器(以下,称为“BP”)承担通信、通话功能,由应用处理器(以下,称为“APL”)承担其他多媒体处理。进而,BP使DSP(Digital Signal Processor:数字信号处理器)执行对通话功能中使用的声音进行编码与解码的声音编解码处理(例如参照非专利文献1~3)。DSP以高速地进行特定运算处理为目的,是主要用于声音处理、图像处理等的处理器。这样,控制移动电话的处理器是具有BP、APL、DSP这类执行不同处理的处理器的异构多核处理器系统。
作为异构多核处理器系统的省电力的技术,公开了下述技术,即在专用CPU(Central Processing Unit)和通用CPU中根据是外部电源还是电池驱动来选择分配程序的CPU,来实现省电力化(例如,参照下述专利文献1)。
另外,由于APL承担负荷高的多媒体处理,所以正在执行的多媒体处理会导致运算能力大幅地变化。因此,APL有时也具有时钟齿轮(clock gear)功能作为使运算能力变化的功能。时钟齿轮功能是能够使频率分等级地变更的功能。APL具有的时钟齿轮功能往往可以将频率变更为3~5等级。这样,APL通过根据正在执行的多媒体处理来变更时钟齿轮,能够实现省电力化。
专利文献1:日本特开2008-276395号公报
非专利文献1:頭脳放談:第20回日立がS-MAPでケ一タィを変ぇる?,[online],[平成22年03月18日検索],ィンタ一ネット<http://www.atmarkit.co.jp/fpc/rensai/zunouhoudan020/smap.html>
非专利文献2:IT:頭脳放談:第44回ニッポン半導体,復活のカギは携帯電話?,[online],[平成22年03月18日検索],ィンタ一ネット<http://www.atmarkit.co.jp/fsys/zunouhoudan/044zunou/app_processor.html>
非专利文献3:Mobile:TI の“OMAP”、NEC、松下、富士通が3G携帯に採用,[online],[平成22年03月18日検索],ィンタ一ネット<http://plusd.itmedia.co.jp/mobile/0203/18/n__omap.html>
发明内容
但是,在上述的现有技术中,专利文献1所涉及的技术根据电源的利用方式是外部电源还是电池驱动来选择分配程序的CPU。在电池驱动之时,会选择为省电力状态的低性能的CPU,从而存在着即使电池中有余量,程序的执行速度也总是为低速这样的问题。另外,存在下述问题点,即、即使使用时钟齿轮功能来进行省电力化,也会由于在时钟齿轮中设定的等级数少,从而执行中的多媒体处理在适当的运算能力和APL的运算能力上产生差异,产生运算能力的剩余。
本发明为消除上述的现有技术中的问题点,其目的在于提供减少运算能力的剩余并且省电力化的多核处理器系统、电力控制方法以及电力控制程序。
为了解决上述的课题并达成目的,公开的多核处理器系统的技术特征是:对在与执行特定处理的特定核不同的其他核中,多个软件中特定软件具有与特定处理同等的功能并且多个软件中与特定软件不同的其他软件正在执行的状态进行检测,当检测出其他软件正在其他核中执行的状态时从以多个软件中该各个软件为单位存储有运算能力的要求值的数据库中,提取特定软件与其他软件的运算能力的要求值,判断提取出的特定软件与其他软件的运算能力的要求值的合计是否在其他核的运算能力值以下,当判断为运算能力的要求值的合计在其他核的运算能力值以下时,向其他核分配特定软件,当向其他核分配了特定软件时,使特定核休止。
根据本多核处理器系统、电力控制方法以及电力控制程序,可起到能够减少运算能力的剩余并且省电力化这一效果。
附图说明
图1是表示本实施方式所涉及的多核处理器系统的硬件的框图。
图2是表示多核处理器系统100的框图。
图3是表示多核处理器系统100的各CPU的执行状态的转变的说明图。
图4是图3的状态302下的各CPU的执行状况和消耗电力的说明图。
图5是图3的状态304下的各CPU的执行状况和消耗电力的说明图。
图6是图3的状态303下的各CPU的执行状况和消耗电力的说明图。
图7是表示软件能力要求表201的存储内容的一个例子的说明图。
图8A是表示多核处理器系统100的调度处理的流程图(其1)。
图8B是表示多核处理器系统100的调度处理的流程图(其2)。
图9是表示PMU事件获取处理的流程图。
图10是表示外部中断检测处理的流程图。
图11是表示编解码结果处理的流程图。
图12是表示DSP起动要求处理的流程图。
图13是表示有剩余的处理的流程图。
图14是表示APL103为一个时的剩余判断处理的流程图。
图15A是表示APL103为多个时的剩余判断处理的流程图(其1)。
图15B是表示APL103为多个时的剩余判断处理的流程图(其2)。
图16是表示编解码开始处理的流程图。
图17是表示DSP编解码处理的流程图。
图18是表示外部中断结束处理的流程图。
图19是表示步骤S1517中的作为变换对象的移动对象软件的检索处理的一个例子的流程图。
具体实施方式
以下,参照附图,详细地说明本发明的多核处理器系统、电力控制方法以及电力控制程序的优选实施方式。
(多核处理器系统的硬件)
图1是表示本实施方式的多核处理器系统的硬件的框图。在图1中,多核处理器系统100具备:基带处理器(BP)101、PMU(PowerManagement Unit:电源管理单元)102、应用处理器(APL)103和DSP104。
多核处理器系统是指含有安装了多个核的处理器的计算机系统。安装了多个核即可,可以是安装了多个核的单一处理器,也可以是单核处理器被并列而成的处理器组。优选多核处理器系统100可以是具备多个性能不同的核的异构多核处理器系统。
另外,作为专用的存储区域,多核处理器系统100具备:BP101可以访问的RAM(Random Access Memory)107和APL103可以访问的RAM108。作为共用的存储区域,多核处理器系统100具备:ROM(Read Only Memory)109、RAM110和闪存ROM111。另外,作为与用户、其他设备的输入输出装置,多核处理器系统100具备:天线105、RF电路106、显示器112和键盘113。另外,各部分分别通过总线114连接。
这里,BP101通过控制RF电路106来进行通话检测,是承担通信、通话功能的处理器核。另外,本实施方式的BP101根据APL103的运算能力是否有剩余,将伴随通话的声音编解码处理分配给APL103或DSP104。PMU102是按装置管理消耗电力的装置,在本实施方式中,使APL103和DSP104休眠。
APL103是承担多媒体处理的处理器核。另外,APL103当运算能力有剩余时,也承担声音编解码。APL103作为能够变更APL103与RAM108等的动作频率的功能,也可以具有时钟齿轮功能。APL103根据正在执行的软件的负荷来切换时钟齿轮,从而能够得到省电力效果。例如,APL103能够将时钟齿轮变更为3~5等级。作为具体的动作频率的例子,有100[MHz]、200[MHz]、600[MHz],作为与各个动作频率对应的消耗电力的例子,有100[mW]、200[mW]、600[mW]。
DSP104是承担声音编解码的处理器核。作为声音编解码的格式,存在PCM(Pulse Code Modulation:脉冲编解码调制)、ADPCM(Adaptive Differential Pulse Code Modulation:自适应差值脉冲编解码调制)。虽未图示DSP104的专用RAM,但也可以存在DSP104专用RAM。另外,多核处理器系统100在APL103访问RAM108来执行声音编解码处理的中途,也可以将声音编解码处理移向DSP104。此时,为了访问保存于RAM108中的声音编解码的中途结果,DSP104也可以按照能够访问RAM108的方式接线。
天线105发送接收无线信号。RF电路106是高频处理部,经由天线105从因特网等网络接收数据,或者向网络发送数据。这里,假设RF电路106具备A(Analog)/D(Digital)转换器、D/A转换器等,将来自网络的数据变换为数字信号,或者将来自BP101的数据变换为模拟信号。
ROM109存储有引导程序等程序。RAM110作为BP101、PMU102、APL103、DSP104的工作区域被使用。闪存ROM111存储有OS(Operating System:操作系统)等系统软件、应用程序软件等。
显示器112显示以光标、图标或者工具箱为代表的文件、图像、功能信息等数据。显示器112例如能够采用TFT液晶显示器等。键盘113具备用于输入文字、数字、各种指示等的键,进行数据的输入。图1中图示的例子是数字键,将来自用户的输入作为外部中断发送至PMU102。
(多核处理器系统100)
接下来,对多核处理器系统100进行说明。图2是表示多核处理器系统100的框图。多核处理器系统100包含:检测部202、提取部203、剩余判断部204、分配部205、休止部206、决定部207、移动部208、休止通知部209、编解码处理检测部210和编解码处理分配部211。作为该控制部的功能(检测部202~编解码处理分配部211)通过BP101、PMU102、APL103中的任意一个执行存储于存储装置中的程序,来实现其功能。存储装置是指例如图1所示的RAM107、RAM108、ROM109、RAM110、闪存ROM111等。
另外,多核处理器系统100可以访问软件能力要求表201。软件能力要求表201按多个软件中的各个软件存储运算能力的要求值。访问软件能力要求表201的是APL103,因此在图2中,软件能力要求表201保存于RAM108中,但也可以保存于RAM110等中。
另外,各控制部中的检测部202~分配部205、决定部207~休止通知部209由APL103执行。休止部206由PMU102执行。编解码处理检测部210、编解码处理分配部211由BP101执行。
检测部202具有下述功能,即检测多个软件中与特定软件不同的其他软件正在与执行特定处理的特定核不同的其他核中执行的状态。特定软件属于多个软件,具有与特定处理同等的功能。另外,特定处理是指例如声音的编解码处理,特定核是指DSP104。另外,作为特定处理,也可以是DSP104通常擅长的数字图像处理。
与特定核不同的其他核是APL103。另外,其他软件只要是由APL103执行的特定软件以外的软件即可,可以是任意软件。例如,其他软件也可以是作为特定处理以外的多媒体处理的流影像再生处理。例如,除了执行多媒体处理以外,若其他软件是作为商务软件的文字处理器软件,也可以执行文章编辑处理。
另外,特定核与其他核也可以是性能不同的CPU。图1、图2所示的APL103是1个CPU,但执行多媒体处理的APL103也可以包含多个CPU。具有与特定处理同等功能的特定软件是指例如具有与DSP104承担的编解码处理同等的功能的编解码处理软件。
具体而言,例如检测部202检测在DSP104中正在执行声音编解码处理,在APL103中正在执行与编解码处理软件不同的其他软件的状态。其中,检测到的信息被存储于RAM108、RAM110等存储区域中。
提取部203具有下述功能,即当由检测部202检测到其他软件正在其他核中执行的状态时,从软件能力要求表201中提取特定软件和其他软件的运算能力的要求值。运算能力的要求值是指软件正常动作所用的运算能力。运算能力的要求值使用执行前的模拟、分析器(Profiler)来事先测量。另外,APL103也可以在软件执行时取得记录,来更新软件能力要求表201。具体而言,例如在由检测部202进行了检测的情况下,提取部203提取特定软件的运算能力的要求值。
提取出的值例如由MIPS(Million Instructions Per Second)来表示,该MIPS表示1秒钟能够执行几百万个命令。例如,通过提取部203提取出作为特定软件的编解码处理软件的运算能力的要求值为60[MIPS]。同样地,通过提取部203提取出作为其他软件的流再生软件的运算能力的要求值为100[MIPS],声音再生软件的运算能力的要求值为40[MIPS]。其中,提取出的运算能力的要求值存储于RAM108、RAM110等存储区域中。
剩余判断部204具有下述功能,即判断由提取部203提取出的特定软件和其他软件的运算能力的要求值的合计是否在其他核的运算能力值以下。另外,剩余判断部204当由移动部208使移动对象软件移动时,也可以判断与移动源的核的移动对象软件以外的其余软件的运算能力的要求值的合计是否在移动源的核的运算能力值以下。另外,剩余判断部204也可以判断是否在移动源的核的运算能力值以下,并且特定软件与正在每个其他核中执行的软件组的运算能力的要求值的合计是否在其他核的运算能力值的合计以下。
具体而言,例如假设下述状态,即特定软件的运算能力的要求值为60[MIPS],其他软件的运算能力的要求值为100[MIPS]、40[MIPS],APL103的运算能力值为200[MIPS]。由于60+100+40≤200,因此剩余判断部204判断为运算能力的要求值的合计在APL103的运算能力值以下。其中,判断出的信息被存储于RAM108、RAM110等存储区域中。
分配部205具有下述功能,即当由剩余判断部204判断为在其他核的运算能力值以下时,向其他核分配特定软件。另外,分配部205也可以向由决定部207决定的核分配特定软件。具体而言,例如当由剩余判断部204判断为在APL103的运算能力值以下时,分配部205向APL103分配编解码处理软件。其中,分配结果存储于RAM108、RAM110等存储区域中。
休止部206具有下述功能,即由分配部205向其他核分配了特定软件时,从休止通知部209接受通知,使特定核休止。另外,休止部206当由分配部205向由决定部207决定的核分配了特定软件时,也可以使特定核休止。具体而言,例如,当向APL103分配了编解码处理软件时,PMU102使DSP104休止。其中,使其休止的信息存储于RAM110等存储区域中。
决定部207具有下述功能,即由剩余判断部204判断为在其他核的运算能力值以下时,从其他核之中,决定运算能力值与特定软件以及其他软件的运算能力的要求值的合计的差值为最大的核。
例如,APL103包含APL#1~APL#3这3个CPU。另外,APL#1的运算能力值是100[MIPS],若要求值的合计为70[MIPS],则差值为30[MIPS]。同样地,APL#2的运算能力值为200[MIPS],若要求值的合计为120[MIPS],则差值为80[MIPS]。同样地,APL#3的运算能力值为600[MIPS],若要求值的合计为580[MIPS],则差值为20[MIPS]。
此时,决定部207从APL#1~APL#3中将差值为最大的APL#2决定为要分配编解码处理软件的CPU。其中,被决定的CPU的信息存储于RAM108、RAM110等存储区域中。
移动部208具有下述功能,即,使正在其他核中的移动源的核中执行的移动对象软件向其他核中的移动目的地的核移动。另外,移动部208当由剩余判断部204判断为特定软件与移动源的核的移动对象软件以外的其余软件的运算能力的要求值的合计在移动源的核的运算能力值以下时,也可以使移动对象软件移动。
例如,APL103包含APL#1、APL#2这2个CPU。进而,假设APL#1为移动源的核,APL#2为移动目的地的核。若正在APL#1中执行的软件的运算能力的要求值为160[MIPS],移动对象软件的运算能力的要求值为20[MIPS],则其余软件的运算能力的要求值的合计为160-20=140[MIPS]。
进而,若APL#1的运算能力值为200[MIPS],特定软件的运算能力的要求值为60[MIPS],则140+60≤200,从而剩余判断部204判断为在移动源的核的运算能力值以下。因此,移动部208使移动对象软件移向APL#2。其中,使其移动的移动对象软件的信息也可以存储于RAM108、RAM110等存储区域中。
休止通知部209具有下述功能,即当由分配部205向其他核分配了特定软件时,通知特定核的休止请求。具体而言,例如向APL103分配了作为特定软件的编解码处理软件后,休止通知部209对PMU102通知DSP104的休止请求。其中,休止请求信息也可以存储于RAM108、RAM110等存储区域中。
编解码处理检测部210具有下述功能,即基于由RF电路106输入输出的数据,检测是否发生了编解码处理。具体而言,例如对于依据在多核处理器系统100中应用输入的数据的协议而变换后的结果,当输入的数据的格式为PCM、ADPCM时,BP101检测出发生了编解码处理。其中,检测出的数据存储于RAM107、RAM110等存储区域中。
编解码处理分配部211具有下述功能,即基于APL103的运算能力的剩余,向APL103或DSP104分配由编解码处理检测部210检测出的编解码处理。具体而言,例如若APL103的运算能力有剩余,则BP101向APL103分配编解码处理。若APL103的运算能力没有剩余,则BP101向DSP104分配编解码处理。其中,向APL103或DSP104中的哪一个分配编解码处理这一信息存储于RAM107、RAM110等存储区域中。
图3是表示多核处理器系统100的各CPU的执行状态的转变的说明图。多核处理器系统100的状态为以下5种状态中的任意一种状态。状态301不是通话中,仅正在BP101中执行。状态302是通话中,正在BP101与DSP104中执行。状态303是通话中,正在BP101与APL103中执行。状态304是通话中,正在BP101、APL103和DSP104中执行。状态305不是通话中,正在BP101与APL103中执行。
在多核处理器系统100为状态301的状态下,当BP101进行通话检测时,PMU102使进行声音编解码处理的DSP104从休止状态恢复。结果,多核处理器系统100从状态301转变为状态302。另外,多核处理器系统100在状态301的状态下,当PMU102检测出来自键盘113的外部中断时,PMU102使进行多媒体处理的APL103从休止状态恢复。结果,多核处理器系统100从状态301转变为状态305。
在多核处理器系统100为状态302的状态下,当BP101进行通话结束检测时,PMU102使进行声音编解码处理的DSP104休止。结果,多核处理器系统100从状态302转变为状态301。
另外,在多核处理器系统100为状态302的状态下,当PMU102检测出来自键盘113的外部中断时,PMU102使进行多媒体处理的APL103从休止状态恢复。进而,当APL103的运算能力有剩余时,PMU102使编解码处理从DSP104移向APL103。结果,多核处理器系统100从状态302转变为状态303。如果当APL103的运算能力没有剩余时,DSP104继续编解码处理。结果,多核处理器系统100从状态302转变为状态304。
在多核处理器系统100为状态303的状态下,当无操作状态超过一定时间而超时时,APL103结束多媒体处理。接下来,PMU102使DSP104从休止状态恢复后,并将编解码处理从APL103移向DSP104后,使APL103休止。结果,多核处理器系统100从状态303转变为状态302。
另外,在多核处理器系统100为状态303的状态下,检测更进一步的外部中断,多媒体处理增加,当APL103的运算能力不再有剩余时,PMU102首先使DSP104从休止状态恢复。然后,PMU102使编解码处理从APL103移向DSP104。结果,多核处理器系统100从状态303转变为状态304。另外,在多核处理器系统100为状态303的状态下,当BP101进行通话结束检测时,APL103结束声音编解码处理。结果,多核处理器系统100从状态303转变为状态305。
在多核处理器系统100为状态304的状态下,多媒体处理中的几个处理结束,当APL103的运算能力产生了剩余时,PMU102使编解码处理从DSP104移向APL103。然后,PMU102使DSP104休止。结果,多核处理器系统100从状态304转变为状态303。另外,在多核处理器系统100为状态304的状态下,当BP101进行通话结束检测时,PMU102使进行声音编解码处理的DSP104休止。结果,多核处理器系统100从状态304转变为状态305。
在多核处理器系统100为状态305的状态下,当BP101进行通话检测时,APL103的运算能力存在剩余的情况下,APL103执行编解码处理。结果,多核处理器系统100从状态305转变为状态303。另外,在APL103的运算能力没有剩余的情况下,PMU102使DSP104从休止状态恢复。结果,多核处理器系统100从状态305转变为状态304。
另外,在多核处理器系统100为状态305的状态下,当无操作状态超过一定时间而超时时,APL103结束多媒体处理。在多媒体处理全部都结束了的情况下,PMU102使APL103休止。结果,多核处理器系统100从状态305转变为状态301。
图4是图3的状态302下的各CPU的执行状况与消耗电力的说明图。当多核处理器系统100的状态为状态302时,BP101与DSP104正在执行通话处理。另外,假设DSP104的消耗电力为50[mW],APL103的消耗电力按时钟齿轮低的顺序为100[mW]、200[mW]、600[mW]。多核处理器系统100的状态302下的DSP104与APL103的合计消耗电力为50+0=50[mW]。
图5是图3的状态304下的各CPU的执行状况与消耗电力的说明图。当多核处理器系统100的状态为状态304时,BP101、APL103和DSP104正在执行。假设APL103以从下开始第2个时钟齿轮进行动作。多核处理器系统100的状态304下的DSP104与APL103的合计消耗电力为50+200=250[mW]。
图6是图3的状态303下的各CPU的执行状况与消耗电力的说明图。当多核处理器系统100的状态为状态303时,BP101与APL103正在执行。多核处理器系统100的状态303下的DSP104与APL103的合计消耗电力为0+200=200[mW]。这样,当比较状态304与状态303时,虽然作为多核处理器系统100执行的处理一致,但是由于将APL103的运算能力的剩余量在编解码处理中使用,因此状态303省电力。
图7是表示软件能力要求表201的存储内容的一个例子的说明图。表具有软件名称、运算能力的要求值这2个字段。软件名称字段保存软件的名称。运算能力的要求值字段保存软件的运算能力的要求值。
为使“流播放再生”软件正常动作,例如运算能力为100[MIPS]。同样地,为使“声音再生”软件正常动作,例如运算能力为40[MIPS],为使“地图显示”软件正常动作,运算能力例如为110[MIPS]。另外,为使具有与DSP104进行的编解码处理同等的功能的“PCM编解码”软件正常动作,运算能力例如为60[MIPS]。关于具体的运算能力的要求值的设定方法,设定使用执行前的模拟、分析器事先测量而得的结果。
使用图7,表示多核处理器系统100从状态304变为状态303时在APL103中执行多媒体处理的例子。例如,APL103的消耗电力为200[mW],对应的运算能力为200[MIPS]。此时,若APL103中执行的软件是“流播放再生”软件与“声音再生”软件,则两软件的运算能力的要求值的合计为140[MIPS]。由于APL103的运算能力为200[MIPS],剩余运算能力为200-140=60[MIPS],因此APL103对于“PCM编解码”软件的正常动作,能够确保60[MIPS]。该情况下,存在着剩余,多核处理器系统100的状态从状态304变为状态303。
另外,假设APL103中执行的软件是“地图显示”软件与“声音再生”软件的情况。该情况的两软件的运算能力的要求值的合计为110+40=150[MIPS]。由于剩余运算能力为200-150=50[MIPS],因此APL103不能确保60[MIPS],因此不能使“PCM编解码”软件正常动作。因此,多核处理器系统100的状态维持状态304。
图8A、图8B是表示多核处理器系统100的调度处理的流程图。图8A中表示PMU102与APL103的调度处理,图8B中表示BP101的调度处理。
PMU102若从后述的步骤S826、步骤S828、步骤S830、步骤S832、步骤S846、步骤S850、步骤S851接收到通知,则执行PMU事件获取处理(步骤S801)。PMU事件获取处理的详细内容在图9中后述。PMU102根据PMU事件获取处理中输出的事件来使处理分支(步骤S802)。若输出的事件是“外部中断事件”(步骤S802:外部中断事件),则PMU102执行外部中断检测处理(步骤S803)。外部中断检测处理的详细内容在图10中后述。在步骤S803的处理内,根据APL103的状态,PMU102向APL103发送外部中断通知。外部中断检测处理执行后,PMU102移向步骤S801的处理。
若输出的事件是“编解码结果事件”(步骤S802:编解码结果事件),则PMU102执行编解码结果处理(步骤S804)。编解码结果处理的详细内容在图11中后述。编解码结果处理执行后,PMU102移向步骤S801的处理。若输出的事件是“DSP起动要求事件”(步骤S802:DSP起动要求事件),则PMU102执行DSP起动要求处理(步骤S805)。DSP起动要求处理的详细内容在图12中后述。在步骤S805的处理内,根据进行了DSP起动要求的要求源的不同,PMU102向APL103或BP101发送DSP起动结束通知。DSP起动要求处理执行后,PMU102移向步骤S801的处理。
若输出的事件是“存在剩余的事件”(步骤S802:存在剩余的事件),则PMU102执行存在剩余处理(步骤S806)。存在剩余处理的详细内容在图13中后述。另外,在步骤S806的处理内,PMU102向BP101发送存在剩余的通知。存在剩余处理执行后,PMU102移向步骤S801的处理。若输出的事件是“APL休眠要求事件”(步骤S802:APL休眠要求事件),则PMU102使APL103休止(步骤S807)。执行后,PMU102移向步骤S801的处理。
然后,说明APL103的流程图。APL103在接收到通知前休止(步骤S821)。作为具体的休止方法,例如PMU102对APL103停止电力供给,从而使APL103为休止状态。
接下来,当从步骤S803、步骤S805、或者从后述的步骤S845、步骤S849接收到通知时,APL103获取接收到的通知(步骤S822)。然后,APL103开始外部中断处理(步骤S823)。具体而言,APL103作为与外部中断处理对应的多媒体处理,执行流播放再生软件、声音再生软件等。
外部中断处理开始后,APL103执行剩余判断处理(步骤S824)。剩余判断处理的详细内容在图14、图15A、图15B中后述。APL103根据判断结果来判断是否存在剩余(步骤S825)。当判断为存在剩余时(步骤S825:是),APL103向PMU102发送存在剩余的通知(步骤S826)。发送后,APL103判断在步骤S822的处理中是否接收到编解码处理请求通知(步骤S827)。
当接受了编解码处理请求通知时(步骤S827:是),APL103执行编解码开始处理(步骤S828)。编解码开始处理的详细内容在图16中后述。在步骤S828的处理内,若DSP104为休止状态,则APL103向PMU102发送DSP起动要求通知。另外,当编解码处理结束时,APL103向BP101通知编解码处理的结果。
编解码开始处理执行后,APL103判断外部中断处理是否结束(步骤S831)。当外部中断处理结束时(步骤S831:是),APL103执行外部中断结束处理(步骤S832)。外部中断结束处理的详细内容在图18中后述。在步骤S832的处理内,当向PMU102发送了存在剩余的通知时,APL103向PMU102发送存在剩余的取消通知。
外部中断结束处理结束后,APL103移向步骤S821的处理。当外部中断处理未结束时(步骤S831:否),APL103判断是否发生了任务调度(步骤S833)。当发生了任务调度时(步骤S833:是),会再次发生外部中断处理,因此APL103移向步骤S823的处理。当未发生任务调度时(步骤S833:否),APL103移向步骤S831的处理。
当判断为不存在剩余时(步骤S825:否),APL103判断是否接受了编解码处理请求通知(步骤S829)。当接受了编解码处理请求通知时(步骤S829:是),APL103执行DSP编解码处理(步骤S830)。DSP编解码处理的详细内容在图17中后述。在步骤S830的处理内,若DSP104为休止状态,则APL103向PMU102发送DSP起动要求通知。DSP编解码处理后,APL103移向步骤S831的处理。当未接受编解码处理请求通知时(步骤S827:否,步骤S829:否),APL103也移向步骤S831的处理。
接下来,使用图8B来说明BP101的调度处理。BP101判断是否发生了编解码处理(步骤S841)。当未发生编解码处理时(步骤S841:否),BP101在一定时间后,再次执行步骤S841的处理。当发生了编解码处理时(步骤S841:是),BP101获取从步骤S805、步骤S806、步骤S828发送,BP101接收到的通知(步骤S842)。获取通知后,BP101判断DSP104或APL103当前是否正在执行编解码处理(步骤S843)。
当执行编解码处理时(步骤S843:是),BP101判断是否从PMU102接收到APL103存在剩余的通知(步骤S844)。当未接收到存在剩余的通知时(步骤S844:否),BP101判断是否从DSP104或者APL103接收到编解码处理的结果(步骤S847)。当接收到编解码处理的结果时(步骤S847:是),BP101向PMU102发送编解码处理结果受取通知(步骤S851)。发送后,BP101移向步骤S841的处理。
当未接收编解码处理的结果时(步骤S847:否),BP101移向步骤S842的处理。当接收到存在剩余的通知时(步骤S844:是),BP101向APL103发送编解码处理请求通知(步骤S845)。在发送后,BP101向PMU102、APL103发送分配完成通知(步骤S846),移向步骤S842的处理。
当编解码处理既不在DSP104中,也不在APL103中执行时(步骤S843:否),BP101判断是否从PMU102接收了APL103存在剩余的通知(步骤S848)。当接收了存在剩余的通知时(步骤S848:是),BP101向APL103发送编解码处理请求通知(步骤S849),移向步骤S842的处理。当未接收到存在剩余的通知时(步骤S848:否),BP101执行DSP编解码处理(步骤S850),移向步骤S842的处理。在步骤S850的处理内,若DSP104处于休止状态,则BP101向PMU102发送DSP起动要求通知。
图9是表示PMU事件获取处理的流程图。PMU102在接收到中断或者通知前待机(步骤S901)。PMU102获取中断或者通知(步骤S902),判断是否获取了存在剩余的取消通知(步骤S903)。当获取了存在剩余的取消通知时(步骤S903:是),PMU102从存储通知的队列之中删除存在剩余的通知(步骤S904),再次移向步骤S901的处理。
当获取到的通知不是存在剩余的取消通知时(步骤S903:否),PMU102判断是否获取了外部中断(步骤S905)。当获取了外部中断时(步骤S905:是),PMU102输出外部中断事件(步骤S906),来结束PMU事件处理。当未获取外部中断时(步骤S905:否),PMU102判断是否获取了来自BP101的编解码处理结果受取通知(步骤S907)。当获取了编解码处理结果受取通知时(步骤S907:是),PMU102输出编解码结果事件(步骤S908),来结束PMU事件处理。
当未获取编解码处理结果受取通知时(步骤S907:否),PMU102判断是否获取了DSP起动要求通知(步骤S909)。当获取了DSP起动要求通知时(步骤S909:是),PMU102输出DSP起动要求事件(步骤S910),结束PMU事件处理。当未获取DSP起动要求通知时(步骤S909:否),PMU102判断是否获取了存在剩余的通知(步骤S911)。当获取了存在剩余的通知时(步骤S911:是),PMU102输出存在剩余的事件(步骤S912),结束PMU事件处理。
当未获取存在剩余的通知时(步骤S911:否),PMU102判断是否获取了来自APL103的休眠要求通知(步骤S913)。当获取了休眠要求通知时(步骤S913:是),PMU102输出APL休眠要求事件(步骤S914),结束PMU事件处理。当未获取APL休眠要求通知时(步骤S913:否),废弃在步骤S902中获取到的通知,移向步骤S901的处理。
图10是表示外部中断检测处理的流程图。PMU102判断APL103是否正在起动(步骤S1001)。当APL103不是正在起动时(步骤S1001:否),PMU102使APL103起动(步骤S1002)。当APL正在起动中时(步骤S1001:是),或者步骤S1002处理后,PMU102向APL103发送外部中断通知(步骤S1003),结束外部中断检测处理。
图11是表示编解码结果处理的流程图。PMU102判断DSP104是否正在起动(步骤S1101)。当正在起动时(步骤S1101:是),PMU102使DSP104休止(步骤S1102),结束编解码结果处理。当DSP104不正在起动时(步骤S1101:否),PMU102也结束编解码结果处理。
图12是表示DSP起动要求处理的流程图。PMU102使DSP104起动(步骤S1201)。DSP104起动后,PMU102判断是否从APL103接收到DSP起动要求通知(步骤S1202)。当从APL103接收到DSP起动要求通知时(步骤S1202:是),PMU102向APL103发送DSP起动结束通知(步骤S1203)。步骤S1203处理后,另外未从BP101接收到DSP起动要求通知时(步骤S1202:否),PMU102向BP101发送DSP起动结束通知(步骤S1204),来结束DSP起动要求处理。
图13是表示存在剩余处理的流程图。PMU102向BP101发送存在剩余的通知(步骤S1301)。发送后,PMU102判断是否接收到从BP101向APL103的分配完成通知(步骤S1302)。当未接收到分配完成通知时(步骤S1302:否),PMU102在一定时间后,再次移向步骤S1302的处理。
当接收到分配完成通知时(步骤S1302:是),PMU102判断DSP104是否正在起动(步骤S1303)。当DSP104正在起动时(步骤S1303:是),PMU102使DSP104休止(步骤S1304),结束存在剩余处理。当DSP104不正在起动时(步骤S1303:否),PMU102结束存在剩余处理。
图14、图15A、图15B是表示剩余判断处理的流程图。图14表示多核处理器系统100中的APL103的个数为一个时的流程图,图15A、图15B表示多核处理器系统100中的APL103的个数为多个时的流程图。
图14是表示APL103为一个时的剩余判断处理的流程图。APL103从软件能力要求表201获取编解码处理软件的运算能力的要求值C(步骤S1401)。然后,APL103将变量k设定为1(步骤S1402)。
设定后,APL103从软件能力要求表201获取在APL103中执行的第k个软件的运算能力的要求值A(k)(步骤S1403)。获取后,APL103对变量k进行增量处理(步骤S1404),判断变量k是否在正在APL103中执行的软件数以下(步骤S1405)。当变量k在正在执行的软件数以下时(步骤S1405:是),APL103移向步骤S1403的处理。
当变量k超过了正在执行的软件数时(步骤S1405:否),APL103获取APL103的相对于当前的时钟齿轮n的运算能力P(n)(步骤S1406)。APL103使用步骤S1403、步骤S1406中获取到的值来判断不等式ΣkA(k)+C≤P(n)是否成立(步骤S1407)。当不等式成立时(步骤S1407:是),APL103判断为存在剩余(步骤S1408),结束剩余判断处理。当不等式不成立时(步骤S1407:否),APL103判断为不存在剩余(步骤S1409),结束剩余判断处理。
图15A、图15B是表示APL103为多个时的剩余判断处理的流程图。在图15A、图15B中,APL103包含APL#1、APL #2、…、APL #M这M个CPU。另外,当APL103存在多个时,APL103执行的调度处理由APL #1~APL #M中的任意一个CPU执行。图15A、图15B的流程图说明APL #1执行的状态。
APL#1从软件能力要求表201获取编解码处理软件的运算能力的要求值C(步骤S1501)。获取后,APL #1对变量x设定1(步骤S1502)。设定后,APL#1选择第x个APL(步骤S1503)。选择后,APL #1对变量k设定1(步骤S1504)。设定后,APL #1从软件能力要求表201获取在APL #x中执行的第k个软件的运算能力的要求值Ax(k)(步骤S1505)。
获取后,APL #1对变量k进行增量处理(步骤S1506),判断变量k是否在正在APL #x中执行的软件数以下(步骤S1507)。当变量k在正在执行的软件数以下时(步骤S1507:是),APL #1移向步骤S1505的处理。当变量k超过了正在执行的软件数时(步骤S1507:否),APL
#1获取APL #x的相对于当前的时钟齿轮nx的运算能力Px(nx)(步骤S1508)。获取后,APL #1对变量x进行增量处理(步骤S1509),判断变量x是否在APL的个数以下(步骤S1510)。当变量x在APL的个数以下时(步骤S1510:是),移向步骤S1503的处理。
当变量x不在APL的个数以下时(步骤S1510:否),APL #1判断不等式ΣxΣkAx(k)+C≤ΣxPx(nx)是否成立(步骤S1511)。当不等式不成立时(步骤S1511:否),APL #1判断为不存在剩余(步骤S1520),结束剩余判断处理。当不等式成立时(步骤S1511:是),APL
#1将变量x设定为1(步骤S1512)。
然后,APL#1将APL #x中的编解码分配后的剩余运算能力S(x)计算为S(x)=Px(nx)-{ΣkAx(k)+C}(步骤S1513)。在计算后,APL #1对变量x进行增量处理(步骤S1514),判断变量x是否在APL的个数以下(步骤S1515)。当变量x在APL的个数以下时(步骤S1515:是),APL#1移向步骤S1513的处理。
当变量x不在APL的个数以下时(步骤S1515:否),APL #1判断Max(S(x))是否为0以上(步骤S1516)。当Max(S(x))在0以上时(步骤S1516:是),APL #1将作为Max(S(x))的APL#x判断为存在剩余的CPU(步骤S1519),结束剩余判断处理。当Max(S(x))小于0时(步骤S1516:否),APL#1~APL#M在APL#1~APL#M中进行软件的重新调度、或者变换(步骤S1517)。
对于步骤S1517的处理结果,APL#1判断在APL#1~APL#M之中是否存在作为Max(S(x))≥0的APL#x(步骤S1518)。当APL#x存在时(步骤S1518:是),APL#1移向步骤S1519的处理。当APL#x不存在时(步骤S1518:否),APL#1移向步骤S1520的处理。
作为步骤S1517的处理的重新调度、或者变换按照APL#1~APL
#M的剩余运算能力S(x)超过编解码处理软件的运算能力的要求值C的方式被执行。以下,表示具体的变换的例子。具体而言,例如APL存在APL#1、APL#2这2个,根据各个时钟齿轮,假设APL#1的运算能力为100[MIPS],APL#2的运算能力为200[MIPS]的情况。
另外,在APL#1中执行的软件为软件A、软件B这2个,运算能力的要求值分别为60[MIPS]、20[MIPS]。另外,在APL#2中执行的软件为软件C、软件D这2个,运算能力的要求值为140[MIPS]、20[MIPS]。另外,编解码处理软件的运算能力的要求值C为60[MIPS]。
此时,步骤S1511的不等式为(60+20)+(140+20)+60≤100+200,因此APL#1在步骤S1511中,处理“是”这一路径。接下来,在步骤S1516中,S(1)=-40,S(2)=-20,APL#1在步骤S1517中,处理“否”这一路径。
在步骤S1517的处理中,APL#1、APL#2将正在APL#2中执行的软件D作为移动对象软件,移向APL#1,从而S(2)=0,APL#1会在步骤S1518中处理“是”这一路径。这样,在APL#1、APL#2中,为了超过编解码处理软件的运算能力的要求值C,APL#1、APL#2进行重新调度或者变换。表示作为变换对象的移动对象软件的检索处理的一个例子的流程图在图19中后述。
图16是表示编解码开始处理的流程图。APL103开始编解码处理(步骤S1601)。在编解码处理中,APL103判断外部中断处理是否已结束,或者APL103的运算能力是否已无剩余(步骤S1602)。当外部中断处理未结束,并且APL103的运算能力有剩余时(步骤S1602:否),APL103判断编解码处理是否已结束(步骤S1603)。当编解码处理未结束时,APL103移向步骤S1602的处理。
当编解码处理结束了时(步骤S1603:是),APL103向BP101归还编解码处理的结果(步骤S1604)。归还结果后,APL103判断是否接着接收了编解码处理的请求通知(步骤S1606)。当未接收时(步骤S1606:否),APL103结束编解码开始处理。
当接收了编解码处理的请求通知时(步骤S1606:是),APL103移向步骤S1601的处理。当外部中断处理已结束或者APL103的运算能力中已无剩余时(步骤S1602:是),APL103执行DSP编解码处理(步骤S1605),结束编解码开始处理。
图17是表示DSP编解码处理的流程图。DSP编解码处理由BP101或APL103执行。在图17的例子中,假设DSP编解码处理由BP101执行的情况。
BP101向PMU102发送DSP起动要求通知(步骤S1701)。发送了DSP起动要求通知后,BP101判断是否从PMU102接收了DSP起动结束通知(步骤S1702)。当未接收DSP起动结束通知时(步骤S1702:否),BP101在一定时间后,再次移向步骤S1702的处理。
当接收了DSP起动结束通知时(步骤S1702:是),BP101判断是否在APL103中执行了编解码处理(步骤S1703)。当在APL103中执行了编解码处理时(步骤S1703:是),BP101使编解码处理从APL103移向DSP104(步骤S1704),来结束DSP编解码处理。当未在APL103中执行编解码处理时(步骤S1703:否),BP101向DSP104分配编解码处理(步骤S1705),来结束DSP编解码处理。
图18是表示外部中断结束处理的流程图。APL103判断是否向PMU102发送了存在剩余通知(步骤S1801)。当发送了存在剩余通知时(步骤S1801:是),APL103向PMU102发送存在剩余的取消通知(步骤S1802)。当未发送存在剩余通知时(步骤S1801:否),或者步骤S1802结束后,APL103向PMU102发送APL休眠要求(步骤S1803),来结束外部中断结束处理。
此外,在发送存在剩余的取消通知之时,APL103也可以在保存PMU102的通知的队列的最前头保存存在剩余的取消通知。由此,PMU102在步骤S902中获取通知之时,能够在存在剩余通知之前获取存在剩余的取消通知,PMU102能够删除存在剩余通知。
图19是表示步骤S1517中的作为变换对象的移动对象软件的检索处理的一个例子的流程图。APL#1对变量x设定1(步骤S1901),对变量k也设定1(步骤S1902)。设定后,APL#1在APL#x的第k个软件中,计算S(x)+A(k)(步骤S1903)。
计算后,APL#1增加变量k(步骤S1904),判断变量k是否在正在执行的软件以下(步骤S1905)。当变量k在正在执行的软件数以下时(步骤S1905:是),APL#1移向步骤S1903的处理。当变量k超过了正在执行的软件数时(步骤S1905:否),APL#1对变量x进行增量处理(步骤S1906),判断变量x是否在APL的个数以下(步骤S1907)。当变量x在APL的个数以下时(步骤S1907:是),APL#1移向步骤S1902的处理。
当变量x比APL的个数大时(步骤S1907:否),APL#1将计算出的S(x)+A(k)中的、S(x)+A(k)≥0并且为最小的S(x)+A(k)的x、k设定为x1、k1(步骤S1908)。APL#x1为移动源的CPU,APL#x1的第k1个软件变为移动对象软件。当不存在S(x1)+A(k1)≥0的x1、k1时,APL#1不设定值。此外,关于S(x1)+A(k1)≥0,能够如下变形。
{ΣkAx(k)-A(k1)}+C为移动对象软件以外的其余软件和编解码处理的运算能力的要求值的合计。因此,满足S(x1)+A(k1)≥0与前述的合计在APL#x1的运算能力值以下为相同的值。
APL#1判断是否对x1、k1设定了值(步骤S1909)。当未设定值时(步骤S1909:否),APL#1输出为未发现移动对象软件(步骤S1916),来结束移动对象软件的检索处理。当设定了值时(步骤S1909:是),APL#1对变量x设定1(步骤S1910)。
设定后,APL#1判断变量x是否在APL的个数以下(步骤S1911)。当变量x比APL的个数大时(步骤S1911:否),APL#1移向步骤S1916的处理。当变量x在APL的个数以下时(步骤S1911:是),APL#1判断变量x与x1是否相等(步骤S1912)。当变量x与x1相等时(步骤S1912:是),APL#1对变量x进行增量处理(步骤S1914),移向步骤S1911的处理。
当变量x与x1不相等时(步骤S1912:否),APL#1判断不等式Px(nx)-ΣkA(k)-A(k1)≥0是否成立(步骤S1913)。当不等式不成立时(步骤S1913:否),APL#1移向步骤S1914的处理。当不等式成立时(步骤S1913:是),APL#1输出为:APL#x1是移动源的CPU,APL#x1的第k1个软件是移动对象软件,APL#x是移动目的地的CPU(步骤S1915)。在输出后,APL#1结束移动对象软件的检索处理。
在图19的例子中,举出了移动对象软件为1个的例子,也可以将多个软件作为移动对象软件,以便在移动源的APL的运算能力中产生编解码处理软件的运算能力的要求值C所对应的量的剩余。
如以上说明的那样,根据多核处理器系统、电力控制方法以及电力控制程序,判断具有在特定核中执行的功能的特定软件和在其他核中正在执行的其他软件的运算能力的合计是否在其他核的运算能力以内。若在运算能力以内,则多核处理器系统将特定软件分配给其他核,来使特定核休止。由此,多核处理器系统能够有效地活用在其他核中产生的运算能力的剩余,能够实现特定核使用的电力的量的省电力化。
另外,多核处理器系统也可以将特定软件分配给其他核之中的运算能力的剩余最大的核。由此,多核处理器系统能够实现特定核的相应的省电力化。进而,多核处理器系统能够按照其他核的负荷近似相等的方式来分配特定软件。
另外,多核处理器系统也可以使正在移动源的核中执行的移动对象软件移动到移动目的地的核中,来向移动源的核分配特定软件。由此,多核处理器系统即使其他核各自的运算能力的剩余达不到特定软件的运算能力的要求值,也能够通过将运算能力的剩余集中在1个核中来在前述的1个核中执行特定软件,从而实现省电力化。
另外,多核处理器系统当特定软件和正在各个其他核中执行的软件的运算能力的要求值的合计在其他核的运算能力值的合计以下时,也可以移动移动对象软件。由此,多核处理器系统在集中运算能力的剩余前,能够判断是否可在其他核的1个核中执行特定软件,可以不进行多余的移动处理来实现。
此外,本实施方式中说明的电力控制方法能够通过利用个人计算机、工作站等计算机执行预先准备的程序来实现。本电力控制程序被记录于硬盘、软盘、CD-ROM、MO、DVD等计算机可读的记录介质,通过利用计算机从记录介质中将其读出来执行。另外,本电力控制程序也可以经由因特网等网络来分配。
附图标记的说明
101BP;102PMU;103APL;104DSP;105天线;106RF电路;108RAM;114总线;201软件能力要求表;202检测部;203提取部;204剩余判断部;205分配部;206休止部;207决定部;208移动部;209休止通知部;210编解码处理检测部;211编解码处理分配部。
Claims (6)
1.一种多核处理器系统,其特征在于,具备:
检测单元,所述检测单元对在与执行所述特定处理的特定核不同的其他核中,多个软件中特定软件具有与特定处理同等的功能并且所述多个软件中与所述特定软件不同的其他软件正在执行的状态进行检测;
提取单元,当由所述检测单元检测到所述其他软件正在所述其他核中执行的状态时,所述提取单元从数据库中提取所述特定软件与所述其他软件的运算能力的要求值,其中,所述数据库以所述多个软件中的各个该软件为单位存储有运算能力的要求值;
判断单元,所述判断单元判断由所述提取单元提取出的所述特定软件与所述其他软件的运算能力的要求值的合计是否在所述其他核的运算能力值以下;
分配单元,当由所述判断单元判断为所述运算能力的要求值的合计在所述其他核的运算能力值以下时,所述分配单元向所述其他核分配所述特定软件;以及
休止单元,当由所述分配单元向所述其他核分配了所述特定软件时,所述休止单元使所述特定核休止。
2.根据权利要求1所述的多核处理器系统,其特征在于,
所述多核处理器系统具备决定单元,当由所述判断单元判断为所述运算能力的要求值的合计在所述其他核的运算能力值以下时,所述决定单元从所述其他核中决定所述运算能力值与运算能力要求值的合计之间的差值为最大的核,其中,所述运算能力要求值的合计是所述特定软件以及所述其他软件的运算能力值的合计,
所述分配单元向由所述决定单元决定出的核分配所述特定软件,
当由所述分配单元向所述决定出的核分配了所述特定软件时,所述休止单元使所述特定核休止。
3.根据权利要求2所述的多核处理器系统,其特征在于,
所述多核处理器系统还具备移动单元,所述移动单元使正在所述其他核中的移动源的核中执行的移动对象软件向所述其他核中的移动目的地的核移动,
所述判断单元判断由所述提取单元提取出的所述特定软件与所述移动源的核的所述移动对象软件以外的其余软件的运算能力的要求值的合计是否在所述移动源的核的运算能力值以下,
当由所述判断单元判断为在所述移动源的核的运算能力值以下时,所述移动单元使所述移动源的核的所述移动对象软件向所述移动目的地的核移动,
当由所述移动单元使所述移动对象软件移动后,所述分配单元向所述移动源的核分配所述特定软件。
4.根据权利要求3所述的多核处理器系统,其特征在于,
所述判断单元判断:
由所述提取单元提取出的所述特定软件与正在各个所述其他核中执行的软件组的运算能力的要求值的合计是否在所述其他核的运算能力值的合计以下,并且
由所述提取单元提取出的所述移动源的核的所述移动对象软件以外的其余软件与所述特定软件的运算能力的要求值的合计是否在所述移动源的核的运算能力值以下。
5.一种电力控制方法,其特征在于,与执行特定处理的特定核不同的其他核执行下述步骤:
检测步骤,对在所述其他核中,多个软件中的特定软件具有与所述特定处理同等的功能并且所述多个软件中与所述特定软件不同的其他软件正在执行的状态进行检测;
提取步骤,当由所述检测步骤检测出所述其他软件正在所述其他核中执行的状态时,从数据库中提取所述特定软件与所述其他软件的运算能力的要求值,其中,所述数据库以所述多个软件中的各个该软件为单位存储有运算能力的要求值;
判断步骤,判断由所述提取步骤提取出的所述特定软件与所述其他软件的运算能力的要求值的合计是否在所述其他核的运算能力值以下;
分配步骤,当由所述判断步骤判断为所述运算能力的要求值的合计在所述其他核的运算能力值以下时,向所述其他核分配所述特定软件;以及
休止通知步骤,当由所述分配步骤向所述其他核分配了所述特定软件时,通知所述特定核的休止请求。
6.一种电力控制程序,其特征在于,使与执行特定处理的特定核不同的其他核执行下述步骤:
检测步骤,对在所述其他核中,多个软件中的特定软件具有与所述特定处理同等的功能并且所述多个软件中与所述特定软件不同的其他软件正在执行的状态进行检测;
提取步骤,当由所述检测步骤检测出所述其他软件正在所述其他核中执行的状态时,从数据库中提取所述特定软件与所述其他软件的运算能力的要求值,其中,所述数据库以所述多个软件中的各个该软件为单位存储有运算能力的要求值;
判断步骤,判断由所述提取步骤提取出的所述特定软件与所述其他软件的运算能力的要求值的合计是否在所述其他核的运算能力值以下;
分配步骤,当由所述判断步骤判断为所述运算能力的要求值的合计在所述其他核的运算能力值以下时,向所述其他核分配所述特定软件;以及
休止通知步骤,当由所述分配步骤向所述其他核分配了所述特定软件时,通知所述特定核的休止请求。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/055966 WO2011121786A1 (ja) | 2010-03-31 | 2010-03-31 | マルチコアプロセッサシステム、電力制御方法、および電力制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102822803A true CN102822803A (zh) | 2012-12-12 |
Family
ID=44711571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080065829XA Pending CN102822803A (zh) | 2010-03-31 | 2010-03-31 | 多核处理器系统、电力控制方法及电力控制程序 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9037888B2 (zh) |
EP (1) | EP2555112A4 (zh) |
JP (1) | JP5472449B2 (zh) |
CN (1) | CN102822803A (zh) |
WO (1) | WO2011121786A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150005A (zh) * | 2013-03-01 | 2013-06-12 | 福州瑞芯微电子有限公司 | 非对称低功耗移动设备的多核结构 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104348764B (zh) * | 2013-07-31 | 2017-09-19 | 国际商业机器公司 | 在数据接收链路中分配计算单元的方法和装置 |
US9785481B2 (en) * | 2014-07-24 | 2017-10-10 | Qualcomm Innovation Center, Inc. | Power aware task scheduling on multi-processor systems |
CN105005373A (zh) * | 2015-07-13 | 2015-10-28 | 中国科学院计算机网络信息中心 | 超级计算机中基于PCI Express总线的多GPU供电控制装置及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11202988A (ja) * | 1998-01-13 | 1999-07-30 | Hitachi Ltd | システム消費電力制御方法 |
US7093147B2 (en) * | 2003-04-25 | 2006-08-15 | Hewlett-Packard Development Company, L.P. | Dynamically selecting processor cores for overall power efficiency |
CN1906587A (zh) * | 2004-03-16 | 2007-01-31 | 索尼计算机娱乐公司 | 降低多处理器系统中的功耗的方法和装置 |
JP2008191949A (ja) * | 2007-02-05 | 2008-08-21 | Nec Corp | マルチコアシステムおよびマルチコアシステムの負荷分散方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09185589A (ja) | 1996-01-05 | 1997-07-15 | Toshiba Corp | 情報処理システムと情報処理システムの省電力方法 |
JPH09274608A (ja) | 1996-04-04 | 1997-10-21 | Hitachi Ltd | マルチプロセッサシステムにおけるプロセッサ間の負荷配分制御方法 |
US6006248A (en) | 1996-07-12 | 1999-12-21 | Nec Corporation | Job application distributing system among a plurality of computers, job application distributing method and recording media in which job application distributing program is recorded |
JP3006551B2 (ja) | 1996-07-12 | 2000-02-07 | 日本電気株式会社 | 複数コンピュータ間の業務分散システム、業務分散方法および業務分散プログラムを記録した記録媒体 |
JP2000137692A (ja) | 1998-10-30 | 2000-05-16 | Toshiba Corp | 分散ノード間負荷分散方式 |
US6804632B2 (en) | 2001-12-06 | 2004-10-12 | Intel Corporation | Distribution of processing activity across processing hardware based on power consumption considerations |
JP2004126968A (ja) * | 2002-10-03 | 2004-04-22 | Fujitsu Ltd | 並列計算機のジョブスケジューリング装置 |
JP4090908B2 (ja) | 2003-02-21 | 2008-05-28 | シャープ株式会社 | 画像処理装置および画像形成装置 |
JP2004287801A (ja) | 2003-03-20 | 2004-10-14 | Sony Computer Entertainment Inc | 情報処理システム、情報処理装置、分散情報処理方法及びコンピュータプログラム |
EP1715405A1 (en) | 2005-04-19 | 2006-10-25 | STMicroelectronics S.r.l. | Processing method, system and computer program product for dynamic allocation of processing tasks in a multiprocessor cluster platforms with power adjustment |
US20080263324A1 (en) * | 2006-08-10 | 2008-10-23 | Sehat Sutardja | Dynamic core switching |
US8161482B1 (en) * | 2007-04-13 | 2012-04-17 | Marvell International Ltd. | Power optimization for multi-core devices |
JP2008276395A (ja) | 2007-04-26 | 2008-11-13 | Toshiba Corp | 情報処理装置およびプログラム実行制御方法 |
JP2009175850A (ja) * | 2008-01-22 | 2009-08-06 | Nec Corp | マルチ演算処理システム、マルチ演算処理方法、およびマルチ演算処理プログラム |
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 |
US20100318827A1 (en) * | 2009-06-15 | 2010-12-16 | Microsoft Corporation | Energy use profiling for workload transfer |
US8381005B2 (en) * | 2009-12-18 | 2013-02-19 | International Business Machines Corporation | Processor and memory folding for managing power consumption in information processing systems |
-
2010
- 2010-03-31 WO PCT/JP2010/055966 patent/WO2011121786A1/ja active Application Filing
- 2010-03-31 CN CN201080065829XA patent/CN102822803A/zh active Pending
- 2010-03-31 EP EP10848962.6A patent/EP2555112A4/en not_active Withdrawn
- 2010-03-31 JP JP2012508002A patent/JP5472449B2/ja not_active Expired - Fee Related
-
2012
- 2012-09-28 US US13/630,526 patent/US9037888B2/en not_active Expired - Fee Related
-
2015
- 2015-04-17 US US14/689,603 patent/US20150220362A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11202988A (ja) * | 1998-01-13 | 1999-07-30 | Hitachi Ltd | システム消費電力制御方法 |
US7093147B2 (en) * | 2003-04-25 | 2006-08-15 | Hewlett-Packard Development Company, L.P. | Dynamically selecting processor cores for overall power efficiency |
CN1906587A (zh) * | 2004-03-16 | 2007-01-31 | 索尼计算机娱乐公司 | 降低多处理器系统中的功耗的方法和装置 |
JP2008191949A (ja) * | 2007-02-05 | 2008-08-21 | Nec Corp | マルチコアシステムおよびマルチコアシステムの負荷分散方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150005A (zh) * | 2013-03-01 | 2013-06-12 | 福州瑞芯微电子有限公司 | 非对称低功耗移动设备的多核结构 |
Also Published As
Publication number | Publication date |
---|---|
WO2011121786A1 (ja) | 2011-10-06 |
EP2555112A1 (en) | 2013-02-06 |
JP5472449B2 (ja) | 2014-04-16 |
US20130031391A1 (en) | 2013-01-31 |
US20150220362A1 (en) | 2015-08-06 |
JPWO2011121786A1 (ja) | 2013-07-04 |
US9037888B2 (en) | 2015-05-19 |
EP2555112A4 (en) | 2014-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104753911B (zh) | 一种基于社交应用的信息处理方法、相关装置及系统 | |
CN111913629A (zh) | 信息发送方法、装置和电子设备 | |
CN103677587B (zh) | 一种Android系统中快速切换主界面的方法及系统 | |
CN103795607A (zh) | 一种消息处理方法、即时通信客户端及即时通信系统 | |
CN101963976A (zh) | 一种用于移动终端的信息搜索方法及移动终端 | |
CN102713820A (zh) | 一种操作界面管理方法、装置及移动终端 | |
CN104281472A (zh) | 一种资源预加载方法和装置 | |
CN102326444A (zh) | 一种旅行协助方法及终端 | |
CN102822803A (zh) | 多核处理器系统、电力控制方法及电力控制程序 | |
CN104253896A (zh) | 基于短信内容的事件提醒方法、装置与移动终端 | |
CN103353957A (zh) | 一种以人为中心的协同型工作流系统实现方法和装置 | |
CN109726000A (zh) | 多应用视图的管理方法、用于多应用视图的管理的装置及操作方法 | |
CN109412821A (zh) | 消息处理方法和装置以及电子设备 | |
CN108171339A (zh) | 基于移动互联的配网综合业务管理系统及其抢修方法 | |
CN103167171A (zh) | 一种联系方式选择方法及移动终端 | |
CN112465615A (zh) | 账单数据的处理方法、装置及系统 | |
JP2015530049A (ja) | 共通アカウントでの通信サービスの処理方法及び処理装置 | |
CN106933822A (zh) | 一种内容推荐方法及装置 | |
CN104010154A (zh) | 信息处理方法及电子设备 | |
CN103049244A (zh) | 一种传输操作指令的方法及装置 | |
CN105991829A (zh) | 一种内容推荐方法及终端 | |
CN106302250A (zh) | 移动终端的网络流量控制方法及装置 | |
CN104932661A (zh) | 一种信息提示方法及电子设备 | |
CN103713946A (zh) | 一种操作指令调度方法及装置 | |
Shao et al. | Aspiration level-based strategy dynamics on the coexistence of spectrum cooperation and leasing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121212 |