多cpu系统及多cpu系统的调整方法

文档序号:9493657阅读:1020来源:国知局
多cpu系统及多cpu系统的调整方法
【技术领域】
[0001]本发明涉及非对称多CPU(中央处理器)系统并且涉及其中的调整(scaling)方法,例如涉及通过应用于携带信息终端装置而有助于延长电池驱动时间的技术。
【背景技术】
[0002]作为用于保证高数据处理性能的同时延长电池驱动时间的技术,存在专利文献1记载的技术。在该技术中,除了执行数据处理的第一 CPU以外,还设置了与该第一 CPU相比峰值性能更低而功率效率更高的第二 CPU,利用第二 CPU监视负荷,在负荷大的情况下,通过第一 CPU执行处理,在上述负荷小的情况下,代替第一 CPU,使第二 CPU执行上述处理。由此,根据负荷的状态或温度变化,减少系统动作时的漏电。
[0003]另外,专利文献2记载了如下技术,在多处理器系统中,设置对在利用各处理器执行任务时所需的耗电信息进行管理的管理部,在选择执行任务的处理器时,使用上述耗电信息,选择每单位耗电量的执行处理量最大的处理器,将任务分配给该处理器。由此,能够实现在移动终端等的能够使用的电量有限的环境下能够以有限的电量执行更多的处理量的多处理器系统。
[0004]现有技术文献
[0005]专利文献
[0006]专利文献1:日本特开2004-280378号公报
[0007]专利文献2:日本特开2011-209846号公报

【发明内容】

[0008]本发明人关于向多个CPU非对称地分配处理的非对称多CPU系统中的CPU处理的调整进行了研究。即,使执行任务的CPU的分配在数据处理性能高的CPU和低耗电的CPU之间可变。作为其方法提出了如下方法:在数据处理性能高的CPU的组和低耗电的CPU的组之间,根据系统负荷,排他地切换所使用的CPU的组。另外,还提出了如下方法:使数据处理性能高的CPU组所包含的CPU和低耗电的CPU组所包含的CPU——对应,在对应的CPU彼此中使用DVFS (动态电压频率调节)处理等,由此根据系统负荷排他地切换所使用的CPU。但是,在这些提案中,由于任务处理能够使用的CPU的最大数量被限制为属于双方CPU组的全部CPU的一半,所以存在CPU资源的运转效率差的问题。而且,由于排他地切换高数据处理性能的CPU和低数据处理性能的CPU,所以能够实现的性能成为从数据处理性能高的组选择的多个CPU和从数据处理性能低的组中选择的多个CPU的总和,有时不能实现中间性的数据处理性能。换言之,不能控制成在某一瞬间非对称多CPU系统恰当地满足所需的处理性能,有可能会选择超过满足必要的处理性能的CPU的组合。由此,可能会造成不必要的耗电。但是,对于双方的组,为了仅将负荷大的任务分配给数据处理性能高的CPU,并仅将负荷小的任务分配给低耗电的CPU而能够最大限度地利用全部CPU,需要将OS的内核、尤其是将任务调度器(task scheduler)或任务分配器(task dispatcher)在这样的CPU系统中最优化。但是,实现这样的最优化不是容易的。专利文献1、2的技术也没有启示对此的解决对策。
[0009]本发明的上述以及其他目的和新的特征能够从本说明书的记载和附图得以明确。
[0010]若针对本申请公开的发明中的代表性的方案简单地进行说明,则如下所述。
[0011]S卩,在分别搭载有多个数据处理性能和耗电量不同的多种CPU的非对称多CPU系统中,以使整体性的数据处理性能和耗电量的最大值带有变动的方式(以使整体的数据处理性能和耗电量的最大值逐级不同的方式),预先对所述CPU的种类和个数的组合的多个方式进行多个定义,按照根据与数据处理的环境而从定义信息中选择的方式,控制分配给数据处理的CPU的种类和个数。
[0012]发明效果
[0013]若简单地说明由本申请公开的发明中的具有代表性的方案得到的效果,则如下所述。
[0014]S卩,能够与数据处理负荷等的数据处理环境相应地抑制不必要的耗电,并且能够易于选择满足必要的数据处理性能的CPU的组合。
【附图说明】
[0015]图1是层级地例示了处理器的硬件及软件的结构的说明图。
[0016]图2是示出非对称多CPU系统的系统结构例的系统结构图。
[0017]图3是示出CPU (Big CPU) 8a?8d和CPU (Little CPU) 9a?9d的组合方式的说明图。
[0018]图4A是作为比较例而示出根据系统负荷等排他地切换所使用的CPU组的方法的说明图。
[0019]图4B是作为比较例而示出使数据处理性能高的CPU的组所包含的多个CPU和低耗电的CPU的组所包含的多个CPU——对应,并在对应的CPU之间,根据系统负荷排他地切换所使用的CPU的方法的说明图。
[0020]图5A是例示了与图4A的情况下的CPU的种类和个数相关的组合方式的说明图。
[0021]图5B是例示了与图4B的情况下的CPU的种类和个数相关的组合方式的说明图。
[0022]图6是例示了虚拟处理器的分配处理的控制流程的流程图。
[0023]图7是示出调节器(governor)如何取得热量的发生状况、电池剩余容量、处理负荷的信息的一例的说明图。
[0024]图8是示出调节器如何判断是否需要虚拟处理器的切换并根据其结果如何选择适当的虚拟处理器这样的处理例的说明图。
[0025]图9是例示了在采用虚拟处理器的逐级更新并且还能够采用跳过更新的情况下的虚拟处理器的分配控制的流程图。
[0026]图10是层级地例示了还考虑了 CPU的电源控制时的处理器的硬件及软件的结构的说明图。
[0027]图11是例示了在采用了图10的结构的情况下的初始化部分的处理流程的流程图。
[0028]图12是示出对在步骤18-4、18-5中减少不需要的CPU时的判断所使用的标准进行规定的表格的一例的说明图。
[0029]图13是例示了通过在系统运转中也根据图10的调节器控制CPU热插拔来进一步强化省电效果的情况下的处理流程的流程图。
[0030]图14是层级地例示了能够进行如下控制的处理器的硬件及软件的结构的说明图,即,通过对图10的例子进一步组合DVFS (动态电压频率调整)控制而将耗电抑制到必要最低限度以实现连续的性能提高。
[0031]图15是例示了向图6追加了 DVFS处理的控制流程的流程图。
[0032]图16是例示了步骤25的DVFS处理的内容的说明图。
[0033]图17是示出在从所选择的虚拟处理器的处理性能的范围不进入相邻的处理性能范围的范围内,对CPU的同步时钟频率进行调整的变形例的说明图。
【具体实施方式】
[0034]1.实施方式的概要
[0035]首先,关于本申请公开的发明的代表性的实施方式,对其概要进行说明。在代表性的实施方式的概要说明中,标注括号进行参考的附图中的附图标记只不过是例示了被标注该附图标记的结构要素的概念所包含的结构。
[0036](1) <数据处理性能和耗电量有多个不同等级的CPU的种类和个数的组合方式>
[0037]按每个种类搭载有多个数据处理性能和耗电量不同的多种CPU (8a?8d、9a?9d)的非对称多CPU系统,具有定义信息(10、13),该定义信息(10、13)以使整体性的数据处理性能和耗电量的最大值存在变动(整体性的数据处理性能和耗电量的最大值具有不同等级)的方式,对CPU的种类和个数的组合的多个方式进行定义,并向以根据数据处理的环境从上述定义信息中选择的方式而被特定的CPU分配数据处理(21)。
[0038]由此,能够基于定义信息,以仅将负荷大的任务分配给数据处理性能高的CPU,并仅将负荷小的任务分配给低耗电的CPU的方式,控制针对数据处理的CPU分配。因此,也可以不完全依赖于0S的任务调度器或任务分配器,不需要为了进行这样的处理而将0S的任务调度器或任务分配器最优化。另外,能够最大程度地利用全部CPU,从而CPU资源的运转效率也良好,而且,通过针对CPU的数据处理分配而能够实现的性能不限于高的数据处理性能或低的数据处理性能,还能够实现中间性的数据处理性能,因此认为几乎不会有不必要的耗电。因此,能够与数据处理环境的负荷相应地抑制不必要的耗电,并且能够易于实现必要的数据处理性能。
[0039]⑵〈按数据处理性能和耗电量逐级增加的方向组合的方式>
[0040]在项1中,上述定义信息保有的CPU的种类和个数的组合的多个方式是按照使数据处理性能和耗电量逐级增加的方向组合CPU的种类和个数的方式(10、13)。
[0041]由此,能够唯一地选择能够满足必要处理性能的最小性能的方式。
[0042](3)〈按逐级满足所要求的处理性能的方向组合的方式>
[0043]在项1中,上述定义信息保有的CPU的种类和个数的组合的多个方式是按照逐级满足根据数据处理的环境所要求的处理性能的方向组合CPU的种类和个数的方式(10、13),选择能够满足所要求的处理性能的最小性能的方式。
[0044]由此,能够唯一地选择能够满足必要处理性能的最小性能的方式。
[0045](4)〈数据处理的负荷、发热状况、电池余量、用户设定>
[0046]在项2或3中,上述数据处理的环境是以数据处理的负荷(lb)的大小掌握的第一环境、以数据处理的负荷(lb)的大小及发热状况(lc)掌握的第二环境、以数据处理的负荷(lb)的大小、发热状况(lc)及电池余量(Id)掌握的第三环境、或者以用户设定(le、lf)、数据处理的负荷(lb)的大小、发热状况(lc)及电池余量(Id)掌握的第四环境。
[0047]由此,根据第一环境,能够就针对数据处理能力的富余度这一点来掌握数据处理的环境。根据第二环境,能够就考虑了发热状况的数据处理能力的富余度这一点来掌握数据处理的环境。根据第三环境,能够就考虑了发热状况和电源供给极限的数据处理能力的富余度这一点来掌握数据处理的环境。根据第四环境,能够就考虑了发热状况和电源供给极限的数据处理能力的富余度这一点来掌握数据处理的环境,并且能够将用户设定反映至数据处理环境。
[0048](5) <基于数据处理性能和耗电量的CPU的发热状况>
[0049]在项4中,上述发热状况是数据处理性能和耗电量相对大的CPU的组所包含的CPU的发热状况。
[0050]由此,能够掌握对数据处理能力带来影响的发热状态。当然,还能够监视数据处理性能和耗电量小的CPU的发热状况。
[0051](6) <数据处理性能和耗电量大的种类以及数据处理性能和耗电量小的种类>
[0052]在项1中,上述CPU的种类是根据CPU的数据处理性能和耗电量的大小不同来分类的CPU的多个组。例如,上述CPU的种类是数据处理性能和耗电量大的CPU的组(8)以及数据处理性能和耗电量小的CPU的组(9)。
[0053]由此,通过将分组设为2组,不会使控制过度复杂化,能够针对每个方式的定义,来改变CPU的分配。当然,也可以进行3组以上的分组。
[0054](7) <比搭载CPU的个数多的组合方式数量>
[0055]在项1中,上述CPU的种类和个数的组合的方式的数量比所搭载的CPU的个数多。
[0056]由此,能够细分与CPU的种类和个数的组合的方式相关的等级,有助于提高耗电和数据处理性能的逐级的控制精度。此外,当然,组合方式的数量也可以与所搭载的CPU的个数相同或为其以下。
[0057]⑶〈通过用户空间的控制程序向内核通知>
[0058]在项1中,分配给数据处理的CPU的种类和个数的控制是通过用户空间的控制程序(1),将能够用于数据处理的CPU的种类和个数向内核通知的处理。
[0059]由此,能够基于定义信息,容易地进行CPU的分配控制。
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1