多cpu系統(tǒng)及多cpu系統(tǒng)的調(diào)整方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及非對(duì)稱(chēng)多CPU(中央處理器)系統(tǒng)并且涉及其中的調(diào)整(scaling)方法,例如涉及通過(guò)應(yīng)用于攜帶信息終端裝置而有助于延長(zhǎng)電池驅(qū)動(dòng)時(shí)間的技術(shù)。
【背景技術(shù)】
[0002]作為用于保證高數(shù)據(jù)處理性能的同時(shí)延長(zhǎng)電池驅(qū)動(dòng)時(shí)間的技術(shù),存在專(zhuān)利文獻(xiàn)1記載的技術(shù)。在該技術(shù)中,除了執(zhí)行數(shù)據(jù)處理的第一 CPU以外,還設(shè)置了與該第一 CPU相比峰值性能更低而功率效率更高的第二 CPU,利用第二 CPU監(jiān)視負(fù)荷,在負(fù)荷大的情況下,通過(guò)第一 CPU執(zhí)行處理,在上述負(fù)荷小的情況下,代替第一 CPU,使第二 CPU執(zhí)行上述處理。由此,根據(jù)負(fù)荷的狀態(tài)或溫度變化,減少系統(tǒng)動(dòng)作時(shí)的漏電。
[0003]另外,專(zhuān)利文獻(xiàn)2記載了如下技術(shù),在多處理器系統(tǒng)中,設(shè)置對(duì)在利用各處理器執(zhí)行任務(wù)時(shí)所需的耗電信息進(jìn)行管理的管理部,在選擇執(zhí)行任務(wù)的處理器時(shí),使用上述耗電信息,選擇每單位耗電量的執(zhí)行處理量最大的處理器,將任務(wù)分配給該處理器。由此,能夠?qū)崿F(xiàn)在移動(dòng)終端等的能夠使用的電量有限的環(huán)境下能夠以有限的電量執(zhí)行更多的處理量的多處理器系統(tǒng)。
[0004]現(xiàn)有技術(shù)文獻(xiàn)
[0005]專(zhuān)利文獻(xiàn)
[0006]專(zhuān)利文獻(xiàn)1:日本特開(kāi)2004-280378號(hào)公報(bào)
[0007]專(zhuān)利文獻(xiàn)2:日本特開(kāi)2011-209846號(hào)公報(bào)
【發(fā)明內(nèi)容】
[0008]本發(fā)明人關(guān)于向多個(gè)CPU非對(duì)稱(chēng)地分配處理的非對(duì)稱(chēng)多CPU系統(tǒng)中的CPU處理的調(diào)整進(jìn)行了研究。即,使執(zhí)行任務(wù)的CPU的分配在數(shù)據(jù)處理性能高的CPU和低耗電的CPU之間可變。作為其方法提出了如下方法:在數(shù)據(jù)處理性能高的CPU的組和低耗電的CPU的組之間,根據(jù)系統(tǒng)負(fù)荷,排他地切換所使用的CPU的組。另外,還提出了如下方法:使數(shù)據(jù)處理性能高的CPU組所包含的CPU和低耗電的CPU組所包含的CPU——對(duì)應(yīng),在對(duì)應(yīng)的CPU彼此中使用DVFS (動(dòng)態(tài)電壓頻率調(diào)節(jié))處理等,由此根據(jù)系統(tǒng)負(fù)荷排他地切換所使用的CPU。但是,在這些提案中,由于任務(wù)處理能夠使用的CPU的最大數(shù)量被限制為屬于雙方CPU組的全部CPU的一半,所以存在CPU資源的運(yùn)轉(zhuǎn)效率差的問(wèn)題。而且,由于排他地切換高數(shù)據(jù)處理性能的CPU和低數(shù)據(jù)處理性能的CPU,所以能夠?qū)崿F(xiàn)的性能成為從數(shù)據(jù)處理性能高的組選擇的多個(gè)CPU和從數(shù)據(jù)處理性能低的組中選擇的多個(gè)CPU的總和,有時(shí)不能實(shí)現(xiàn)中間性的數(shù)據(jù)處理性能。換言之,不能控制成在某一瞬間非對(duì)稱(chēng)多CPU系統(tǒng)恰當(dāng)?shù)貪M(mǎn)足所需的處理性能,有可能會(huì)選擇超過(guò)滿(mǎn)足必要的處理性能的CPU的組合。由此,可能會(huì)造成不必要的耗電。但是,對(duì)于雙方的組,為了僅將負(fù)荷大的任務(wù)分配給數(shù)據(jù)處理性能高的CPU,并僅將負(fù)荷小的任務(wù)分配給低耗電的CPU而能夠最大限度地利用全部CPU,需要將OS的內(nèi)核、尤其是將任務(wù)調(diào)度器(task scheduler)或任務(wù)分配器(task dispatcher)在這樣的CPU系統(tǒng)中最優(yōu)化。但是,實(shí)現(xiàn)這樣的最優(yōu)化不是容易的。專(zhuān)利文獻(xiàn)1、2的技術(shù)也沒(méi)有啟示對(duì)此的解決對(duì)策。
[0009]本發(fā)明的上述以及其他目的和新的特征能夠從本說(shuō)明書(shū)的記載和附圖得以明確。
[0010]若針對(duì)本申請(qǐng)公開(kāi)的發(fā)明中的代表性的方案簡(jiǎn)單地進(jìn)行說(shuō)明,則如下所述。
[0011]S卩,在分別搭載有多個(gè)數(shù)據(jù)處理性能和耗電量不同的多種CPU的非對(duì)稱(chēng)多CPU系統(tǒng)中,以使整體性的數(shù)據(jù)處理性能和耗電量的最大值帶有變動(dòng)的方式(以使整體的數(shù)據(jù)處理性能和耗電量的最大值逐級(jí)不同的方式),預(yù)先對(duì)所述CPU的種類(lèi)和個(gè)數(shù)的組合的多個(gè)方式進(jìn)行多個(gè)定義,按照根據(jù)與數(shù)據(jù)處理的環(huán)境而從定義信息中選擇的方式,控制分配給數(shù)據(jù)處理的CPU的種類(lèi)和個(gè)數(shù)。
[0012]發(fā)明效果
[0013]若簡(jiǎn)單地說(shuō)明由本申請(qǐng)公開(kāi)的發(fā)明中的具有代表性的方案得到的效果,則如下所述。
[0014]S卩,能夠與數(shù)據(jù)處理負(fù)荷等的數(shù)據(jù)處理環(huán)境相應(yīng)地抑制不必要的耗電,并且能夠易于選擇滿(mǎn)足必要的數(shù)據(jù)處理性能的CPU的組合。
【附圖說(shuō)明】
[0015]圖1是層級(jí)地例示了處理器的硬件及軟件的結(jié)構(gòu)的說(shuō)明圖。
[0016]圖2是示出非對(duì)稱(chēng)多CPU系統(tǒng)的系統(tǒng)結(jié)構(gòu)例的系統(tǒng)結(jié)構(gòu)圖。
[0017]圖3是示出CPU (Big CPU) 8a?8d和CPU (Little CPU) 9a?9d的組合方式的說(shuō)明圖。
[0018]圖4A是作為比較例而示出根據(jù)系統(tǒng)負(fù)荷等排他地切換所使用的CPU組的方法的說(shuō)明圖。
[0019]圖4B是作為比較例而示出使數(shù)據(jù)處理性能高的CPU的組所包含的多個(gè)CPU和低耗電的CPU的組所包含的多個(gè)CPU——對(duì)應(yīng),并在對(duì)應(yīng)的CPU之間,根據(jù)系統(tǒng)負(fù)荷排他地切換所使用的CPU的方法的說(shuō)明圖。
[0020]圖5A是例示了與圖4A的情況下的CPU的種類(lèi)和個(gè)數(shù)相關(guān)的組合方式的說(shuō)明圖。
[0021]圖5B是例示了與圖4B的情況下的CPU的種類(lèi)和個(gè)數(shù)相關(guān)的組合方式的說(shuō)明圖。
[0022]圖6是例示了虛擬處理器的分配處理的控制流程的流程圖。
[0023]圖7是示出調(diào)節(jié)器(governor)如何取得熱量的發(fā)生狀況、電池剩余容量、處理負(fù)荷的信息的一例的說(shuō)明圖。
[0024]圖8是示出調(diào)節(jié)器如何判斷是否需要虛擬處理器的切換并根據(jù)其結(jié)果如何選擇適當(dāng)?shù)奶摂M處理器這樣的處理例的說(shuō)明圖。
[0025]圖9是例示了在采用虛擬處理器的逐級(jí)更新并且還能夠采用跳過(guò)更新的情況下的虛擬處理器的分配控制的流程圖。
[0026]圖10是層級(jí)地例示了還考慮了 CPU的電源控制時(shí)的處理器的硬件及軟件的結(jié)構(gòu)的說(shuō)明圖。
[0027]圖11是例示了在采用了圖10的結(jié)構(gòu)的情況下的初始化部分的處理流程的流程圖。
[0028]圖12是示出對(duì)在步驟18-4、18-5中減少不需要的CPU時(shí)的判斷所使用的標(biāo)準(zhǔn)進(jìn)行規(guī)定的表格的一例的說(shuō)明圖。
[0029]圖13是例示了通過(guò)在系統(tǒng)運(yùn)轉(zhuǎn)中也根據(jù)圖10的調(diào)節(jié)器控制CPU熱插拔來(lái)進(jìn)一步強(qiáng)化省電效果的情況下的處理流程的流程圖。
[0030]圖14是層級(jí)地例示了能夠進(jìn)行如下控制的處理器的硬件及軟件的結(jié)構(gòu)的說(shuō)明圖,即,通過(guò)對(duì)圖10的例子進(jìn)一步組合DVFS (動(dòng)態(tài)電壓頻率調(diào)整)控制而將耗電抑制到必要最低限度以實(shí)現(xiàn)連續(xù)的性能提高。
[0031]圖15是例示了向圖6追加了 DVFS處理的控制流程的流程圖。
[0032]圖16是例示了步驟25的DVFS處理的內(nèi)容的說(shuō)明圖。
[0033]圖17是示出在從所選擇的虛擬處理器的處理性能的范圍不進(jìn)入相鄰的處理性能范圍的范圍內(nèi),對(duì)CPU的同步時(shí)鐘頻率進(jìn)行調(diào)整的變形例的說(shuō)明圖。
【具體實(shí)施方式】
[0034]1.實(shí)施方式的概要
[0035]首先,關(guān)于本申請(qǐng)公開(kāi)的發(fā)明的代表性的實(shí)施方式,對(duì)其概要進(jìn)行說(shuō)明。在代表性的實(shí)施方式的概要說(shuō)明中,標(biāo)注括號(hào)進(jìn)行參考的附圖中的附圖標(biāo)記只不過(guò)是例示了被標(biāo)注該附圖標(biāo)記的結(jié)構(gòu)要素的概念所包含的結(jié)構(gòu)。
[0036](1) <數(shù)據(jù)處理性能和耗電量有多個(gè)不同等級(jí)的CPU的種類(lèi)和個(gè)數(shù)的組合方式>
[0037]按每個(gè)種類(lèi)搭載有多個(gè)數(shù)據(jù)處理性能和耗電量不同的多種CPU (8a?8d、9a?9d)的非對(duì)稱(chēng)多CPU系統(tǒng),具有定義信息(10、13),該定義信息(10、13)以使整體性的數(shù)據(jù)處理性能和耗電量的最大值存在變動(dòng)(整體性的數(shù)據(jù)處理性能和耗電量的最大值具有不同等級(jí))的方式,對(duì)CPU的種類(lèi)和個(gè)數(shù)的組合的多個(gè)方式進(jìn)行定義,并向以根據(jù)數(shù)據(jù)處理的環(huán)境從上述定義信息中選擇的方式而被特定的CPU分配數(shù)據(jù)處理(21)。
[0038]由此,能夠基于定義信息,以?xún)H將負(fù)荷大的任務(wù)分配給數(shù)據(jù)處理性能高的CPU,并僅將負(fù)荷小的任務(wù)分配給低耗電的CPU的方式,控制針對(duì)數(shù)據(jù)處理的CPU分配。因此,也可以不完全依賴(lài)于0S的任務(wù)調(diào)度器或任務(wù)分配器,不需要為了進(jìn)行這樣的處理而將0S的任務(wù)調(diào)度器或任務(wù)分配器最優(yōu)化。另外,能夠最大程度地利用全部CPU,從而CPU資源的運(yùn)轉(zhuǎn)效率也良好,而且,通過(guò)針對(duì)CPU的數(shù)據(jù)處理分配而能夠?qū)崿F(xiàn)的性能不限于高的數(shù)據(jù)處理性能或低的數(shù)據(jù)處理性能,還能夠?qū)崿F(xiàn)中間性的數(shù)據(jù)處理性能,因此認(rèn)為幾乎不會(huì)有不必要的耗電。因此,能夠與數(shù)據(jù)處理環(huán)境的負(fù)荷相應(yīng)地抑制不必要的耗電,并且能夠易于實(shí)現(xiàn)必要的數(shù)據(jù)處理性能。
[0039]⑵〈按數(shù)據(jù)處理性能和耗電量逐級(jí)增加的方向組合的方式>
[0040]在項(xiàng)1中,上述定義信息保有的CPU的種類(lèi)和個(gè)數(shù)的組合的多個(gè)方式是按照使數(shù)據(jù)處理性能和耗電量逐級(jí)增加的方向組合CPU的種類(lèi)和個(gè)數(shù)的方式(10、13)。
[0041]由此,能夠唯一地選擇能夠滿(mǎn)足必要處理性能的最小性能的方式。
[0042](3)〈按逐級(jí)滿(mǎn)足所要求的處理性能的方向組合的方式>
[0043]在項(xiàng)1中,上述定義信息保有的CPU的種類(lèi)和個(gè)數(shù)的組合的多個(gè)方式是按照逐級(jí)滿(mǎn)足根據(jù)數(shù)據(jù)處理的環(huán)境所要求的處理性能的方向組合CPU的種類(lèi)和個(gè)數(shù)的方式(10、13),選擇能夠滿(mǎn)足所要求的處理性能的最小性能的方式。
[0044]由此,能夠唯一地選擇能夠滿(mǎn)足必要處理性能的最小性能的方式。
[0045](4)〈數(shù)據(jù)處理的負(fù)荷、發(fā)熱狀況、電池余量、用戶(hù)設(shè)定>
[0046]在項(xiàng)2或3中,上述數(shù)據(jù)處理的環(huán)境是以數(shù)據(jù)處理的負(fù)荷(lb)的大小掌握的第一環(huán)境、以數(shù)據(jù)處理的負(fù)荷(lb)的大小及發(fā)熱狀況(lc)掌握的第二環(huán)境、以數(shù)據(jù)處理的負(fù)荷(lb)的大小、發(fā)熱狀況(lc)及電池余量(Id)掌握的第三環(huán)境、或者以用戶(hù)設(shè)定(le、lf)、數(shù)據(jù)處理的負(fù)荷(lb)的大小、發(fā)熱狀況(lc)及電池余量(Id)掌握的第四環(huán)境。
[0047]由此,根據(jù)第一環(huán)境,能夠就針對(duì)數(shù)據(jù)處理能力的富余度這一點(diǎn)來(lái)掌握數(shù)據(jù)處理的環(huán)境。根據(jù)第二環(huán)境,能夠就考慮了發(fā)熱狀況的數(shù)據(jù)處理能力的富余度這一點(diǎn)來(lái)掌握數(shù)據(jù)處理的環(huán)境。根據(jù)第三環(huán)境,能夠就考慮了發(fā)熱狀況和電源供給極限的數(shù)據(jù)處理能力的富余度這一點(diǎn)來(lái)掌握數(shù)據(jù)處理的環(huán)境。根據(jù)第四環(huán)境,能夠就考慮了發(fā)熱狀況和電源供給極限的數(shù)據(jù)處理能力的富余度這一點(diǎn)來(lái)掌握數(shù)據(jù)處理的環(huán)境,并且能夠?qū)⒂脩?hù)設(shè)定反映至數(shù)據(jù)處理環(huán)境。
[0048](5) <基于數(shù)據(jù)處理性能和耗電量的CPU的發(fā)熱狀況>
[0049]在項(xiàng)4中,上述發(fā)熱狀況是數(shù)據(jù)處理性能和耗電量相對(duì)大的CPU的組所包含的CPU的發(fā)熱狀況。
[0050]由此,能夠掌握對(duì)數(shù)據(jù)處理能力帶來(lái)影響的發(fā)熱狀態(tài)。當(dāng)然,還能夠監(jiān)視數(shù)據(jù)處理性能和耗電量小的CPU的發(fā)熱狀況。
[0051](6) <數(shù)據(jù)處理性能和耗電量大的種類(lèi)以及數(shù)據(jù)處理性能和耗電量小的種類(lèi)>
[0052]在項(xiàng)1中,上述CPU的種類(lèi)是根據(jù)CPU的數(shù)據(jù)處理性能和耗電量的大小不同來(lái)分類(lèi)的CPU的多個(gè)組。例如,上述CPU的種類(lèi)是數(shù)據(jù)處理性能和耗電量大的CPU的組(8)以及數(shù)據(jù)處理性能和耗電量小的CPU的組(9)。
[0053]由此,通過(guò)將分組設(shè)為2組,不會(huì)使控制過(guò)度復(fù)雜化,能夠針對(duì)每個(gè)方式的定義,來(lái)改變CPU的分配。當(dāng)然,也可以進(jìn)行3組以上的分組。
[0054](7) <比搭載CPU的個(gè)數(shù)多的組合方式數(shù)量>
[0055]在項(xiàng)1中,上述CPU的種類(lèi)和個(gè)數(shù)的組合的方式的數(shù)量比所搭載的CPU的個(gè)數(shù)多。
[0056]由此,能夠細(xì)分與CPU的種類(lèi)和個(gè)數(shù)的組合的方式相關(guān)的等級(jí),有助于提高耗電和數(shù)據(jù)處理性能的逐級(jí)的控制精度。此外,當(dāng)然,組合方式的數(shù)量也可以與所搭載的CPU的個(gè)數(shù)相同或?yàn)槠湟韵隆?br>[0057]⑶〈通過(guò)用戶(hù)空間的控制程序向內(nèi)核通知>
[0058]在項(xiàng)1中,分配給數(shù)據(jù)處理的CPU的種類(lèi)和個(gè)數(shù)的控制是通過(guò)用戶(hù)空間的控制程序(1),將能夠用于數(shù)據(jù)處理的CPU的種類(lèi)和個(gè)數(shù)向內(nèi)核通知的處理。
[0059]由此,能夠基于定義信息,容易地進(jìn)行CPU的分配控制。