本發明涉及通信
技術領域:
,尤其涉及一種多核處理器調度方法、裝置及移動終端。
背景技術:
:隨著移動通信技術的發展,移動終端的處理器(cpu,centralprocessingunit)從單核升級為多核(例如雙核、四核、八核等),從而為視頻、游戲等開銷較大的應用等提供了更好的運行條件。目前,移動終端多核cpu的工作狀態多采用應用列表調控,即,將應用按照cpu開銷歸類,根據當前運行的應用類別來調整多核cpu的工作狀態。例如,若當前移動終端中運行了游戲、視頻等開銷較大的應用,則設置cpu工作于多核、高頻的狀態;若當前運行了社交、資訊等開銷較小的應用,則設置cpu工作于少核、低頻的狀態。但是,這種調控方法是狹隘且機械的,其無法適用于所有的應用場景。此外,實際上,并非所有的游戲、視頻應用必然占用較多的cpu資源,也不是所有的社交、資訊應用必然占用較少的cpu資源。上述調控方法仍可能會出現cpu資源不足或浪費的情況,當cpu資源不足時,無法滿足當前應用的需求;當cpu資源過剩時,降低了cpu資源的實際利用率,徒增了功耗。技術實現要素:為此,本發明提供一種多核處理器調度方法、裝置及移動終端,以解決或至少緩解上面存在的問題。根據本發明的一個方面,提供一種多核處理器調度方法,在移動終端中執行,該方法包括:每隔預定間隔時間,獲取處理器的最小使用率,最小使用率為處于工作狀態的各核心的使用率的最小值;當最小使用率大于等于第一閾值時,判斷當前是否存在空閑核心;若存在空閑核心,則開啟一個空閑核心,并將其時鐘頻率設置為中間頻率;若不存在空閑核心,則判斷最小使用率是否大于等于第二閾值,其中,第二閾值大于第一閾值;當最小使用率大于等于第二閾值時,調高一個未滿頻核心的時鐘頻率,其中,未滿頻核心為時鐘頻率小于最大頻率的核心。可選地,在根據本發明的多核處理器調度方法中,在獲取處理器的最小使用率的步驟之前,還包括步驟:獲取當前處于工作狀態的核心的數量;若當前僅有一個核心處于工作狀態,則獲取該核心的使用率和時鐘頻率;當該核心的時鐘頻率等于中間頻率,且使用率大于等于第一閾值時,開啟一個空閑核心,并將其時鐘頻率設置為中間頻率;當該核心的時鐘頻率小于中間頻率,且使用率大于等于第二閾值時,將該核心的時鐘頻率設置為中間頻率。可選地,在根據本發明的多核處理器調度方法中,開啟一個空閑核心的步驟包括:開啟編號最小的空閑核心;調高一個未滿頻核心的時鐘頻率的步驟包括:調高編號最小的未滿頻核心的時鐘頻率。可選地,在根據本發明的多核處理器調度方法中,中間頻率為處理器核心的頻率列表中與最大頻率的一半最接近的時鐘頻率。可選地,在根據本發明的多核處理器調度方法中,當所有核心均處于工作狀態,且最小使用率小于第三閾值時,調低一個核心的時鐘頻率;其中,第三閾值小于第二閾值。可選地,在根據本發明的多核處理器調度方法中,調低一個核心的時鐘頻率的步驟包括:調低編號最大的核心的時鐘頻率。可選地,在根據本發明的多核處理器調度方法中,第一閾值為60%,第二閾值為90%,第三閾值為80%。可選地,在根據本發明的多核處理器調度方法中,還包括步驟:當一個核心的使用率為0時,關閉該核心。可選地,在根據本發明的多核處理器調度方法中,當調度操作為開啟一個空閑核心或調高一個未滿頻核心的時鐘頻率時,將預定間隔時間設置為第一值;當調度操作為調低一個核心的時鐘頻率或關閉一個核心時,將預定間隔時間設置為第二值;其中,第一值小于第二值。可選地,在根據本發明的多核處理器調度方法中,第一值為20ms,第二值為80ms。根據本發明的一個方面,提供一種多核處理器調度裝置,駐留于移動終端中,其被配置為適于使移動終端執行如上所述的多核處理器調度方法。根據本發明的一個方面,提供一種移動終端,包括:多核處理器,多核處理器中各核心的工作狀態可以由程序指令來調度;和存儲有程序指令的存儲器,所述程序指令包括如上所述的多核處理器調度裝置,使得移動終端可以執行如上所述的多核處理器調度方法。根據本發明的一個方面,提供一種存儲有程序指令的可讀存儲介質,當該可讀存儲介質中存儲的程序指令被移動終端讀取時,使得該移動終端執行如上所述的多核處理器調度方法。根據本發明的技術方案,可以根據各核心的使用率(使用率可以反映負載情況)自適應地調整處于工作狀態的核心的數量以及各核的時鐘頻率。當處理器資源不滿足當前應用的需求時,觸發升核、升頻機制:當處理器的最小使用率大于等于第一閾值且存在空閑核心時,新開啟一個空閑核心;當最小使用率大于等于第二閾值且不存在空閑核心時,調高一個未滿頻核心的時鐘頻率。上述第一閾值小于第二閾值,這樣,本發明的技術方案相當于在處理器資源不足時,先升核、再升頻,從而使處理器資源可以與應用需求相匹配,保證了應用運行時的流暢性,同時避免增加太多功耗,節省電量。當處理器資源過剩時,觸發降頻、降核機制:當所有核心均處于工作狀態,且最小使用率小于第三閾值時,降低一個核心的時鐘頻率。當某個核心的使用率為0時,關閉該核心,其中,第三閾值小于第二閾值。這樣,本發明的技術方案相當于在處理器資源過剩時,先降頻、再降核,關閉不必要的處理器資源,提高處理器資源的實際利用率,降低功耗,節省電量。此外,本發明的多核處理器調度方案是持續進行的,即,每隔預定間隔時間,獲取處理器各核心的使用率,根據各核心的使用率來調整處于工作狀態的核心的數量以及各核心的時鐘頻率。特別地,當調度操作為升核或升頻時,將預定間隔時間設置為第一值,當調度操作為降頻或降核時,將預定間隔時間設置為第二值,其中,第一值小于第二值。這樣,本發明可以實現快速升核/升頻,慢速降頻/降核,保證了應用運行時的流暢性,避免了系統卡頓,同時降低功耗,節省電量。上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段,而可依照說明書的內容予以實施,并且為了讓本發明的上述和其它目的、特征和優點能夠更明顯易懂,以下特舉本發明的具體實施方式。附圖說明為了實現上述以及相關目的,本文結合下面的描述和附圖來描述某些說明性方面,這些方面指示了可以實踐本文所公開的原理的各種方式,并且所有方面及其等效方面旨在落入所要求保護的主題的范圍內。通過結合附圖閱讀下面的詳細描述,本公開的上述以及其它目的、特征和優勢將變得更加明顯。遍及本公開,相同的附圖標記通常指代相同的部件或元素。圖1示出了根據本發明一個實施例的移動終端100的結構圖;圖2示出了根據本發明一個實施例的多核處理器調度方法200的流程圖;圖3示出了根據本發明一個實施例的多核處理器調度過程的示意圖。具體實施方式下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。圖1示出了根據本發明一個實施例的移動終端100的結構圖。如圖1所示,移動終端100可以包括存儲器接口102、多核處理器104,以及外圍接口106。存儲器接口102、多核處理器104和/或外圍接口106既可以是分立元件,也可以集成在一個或多個集成電路中。在移動終端100中,各種元件可以通過一條或多條通信總線或信號線來耦合。傳感器、設備和子系統可以耦合到外圍接口106,以便幫助實現多種功能。例如,加速度傳感器110、磁場傳感器112和重力傳感器114可以耦合到外圍接口106,加速度傳感器110可以采集在機身坐標系的三個坐標軸方向上的加速度數據,磁場傳感器112可以采集在機身坐標系的三個坐標軸方向上的磁場數據(磁感應強度),重力傳感器114可以采集在機身坐標系的三個坐標軸上的重力數據,以上傳感器可以方便實現計步、定向、橫豎屏智能切換等功能。其他傳感器116同樣可以與外圍接口106相連,例如定位系統(例如gps接收機)、溫度傳感器、生物測定傳感器或其他感測設備,由此可以幫助實施相關的功能。相機子系統120和光學傳感器122可以用于方便諸如記錄照片和視頻剪輯的相機功能的實現,其中所述相機子系統和光學傳感器例如可以是電荷耦合器件(ccd)或互補金屬氧化物半導體(cmos)光學傳感器。可以通過一個或多個無線通信子系統124來幫助實現通信功能,其中無線通信子系統可以包括射頻接收機和發射機和/或光(例如紅外)接收機和發射機。無線通信子系統124的特定設計和實施方式可以取決于移動終端100所支持的一個或多個通信網絡。例如,移動終端100可以包括被設計成支持lte、3g、gsm網絡、gprs網絡、edge網絡、wi-fi或wimax網絡以及blueboothtm網絡的通信子系統124。音頻子系統126可以與揚聲器128以及麥克風130相耦合,以便幫助實施啟用語音的功能,例如語音識別、語音復制、數字記錄和電話功能。i/o子系統140可以包括觸摸屏控制器142和/或一個或多個其他輸入控制器144。觸摸屏控制器142可以耦合到觸摸屏146。舉例來說,該觸摸屏146和觸摸屏控制器142可以使用多種觸摸感測技術中的任何一種來檢測與之進行的接觸和移動或是暫停,其中感測技術包括但不局限于電容性、電阻性、紅外和表面聲波技術。一個或多個其他輸入控制器144可以耦合到其他輸入/控制設備148,例如一個或多個按鈕、搖桿開關、拇指旋輪、紅外端口、usb端口、和/或指示筆之類的指點設備。所述一個或多個按鈕(未顯示)可以包括用于控制揚聲器128和/或麥克風130音量的向上/向下按鈕。存儲器接口102可以與存儲器150相耦合。該存儲器150可以包括內部存儲器和外部存儲器,內部存儲器例如可以是靜態隨機存取存儲器(sram)、非易失性存儲器(nvram)等,但不限于此;外部存儲器例如可以是硬盤、可移動硬盤、u盤等,但不限于此。存儲器150可以存儲程序指令,程序指令例如可以包括操作系統152和應用154。操作系統152例如可以是android、ios、windowsphone等,其包括用于處理基本系統服務以及執行依賴于硬件的任務的程序指令。存儲器150還可以存儲應用154,應用154可以包括用于實現各種用戶期望的功能的程序指令。應用154可以是獨立于操作系統提供的,也可以是操作系統自帶的。另外,應用154被安裝到移動終端100中時,也可以向操作系統添加驅動模塊。在移動設備運行時,會從存儲器150中加載操作系統152,并且由處理器104執行。應用154在運行時,也會從存儲器150中加載,并由處理器104執行。應用154運行在操作系統之上,利用操作系統以及底層硬件提供的接口實現各種用戶期望的功能,如硬件管理、即時通信、網頁瀏覽等。在上述各種應用154中,其中的一種應用為根據本發明的多核處理器調度裝置160,其可以獲取當前多核處理器104中各核心的使用率,根據各核心的使用率動態調整處于工作狀態的核心的數量以及各核的時鐘頻率,實現多核處理器104中各核心的自適應調度,使各核心所提供的計算資源與當前移動終端中的應用負載需求相匹配,從而提高了多核處理器104的利用效率,保證應用運行時的流暢性,同時減少功耗,節省電量。圖2示出了根據本發明一個實施例的多核處理器調度方法200的流程圖。方法200適于在駐留有多核處理器調度裝置160的移動終端中執行。如圖2所示,方法200始于步驟s210。在步驟s210中,每隔預定間隔時間,獲取處理器的最小使用率。處理器的最小使用率為處于工作狀態的各核心的使用率的最小值。例如,當前處于工作狀態的核心有cpu0、cpu1、cpu2,各核心的使用率分別為80%、75%、70%,那么,處理器的最小使用率上述三個使用率的最小值,即70%。應當指出,一般來說,最近開啟的核心的使用率最小,因此,在大多數情況下,步驟s210等價于獲取最近開啟的核心的使用率。隨后,在步驟s220中,判斷最小使用率是否大于等于第一閾值,若是,則執行步驟s230;若否,則不做任何操作。應當指出,第一閾值的具體取值可以由本領域技術人員自行設置,例如,第一閾值可以是60%,當然,其也可以被設置為其他數值,本發明對第一閾值的具體取值不做限制。在步驟s230中,判斷當前是否存在空閑核心。空閑核心即當前未處于工作狀態的核心。若是,則執行步驟s240;若否,則執行步驟s250。在步驟s240中,開啟一個空閑核心,并將其時鐘頻率設置為中間頻率。應當指出,某一時刻可能存在多個空閑核心。這時,根據一種實施例,開啟編號最小的空閑核心,以方便處理器資源的管理。例如,某多核處理器包括四個核心cpu0~cpu3,當前處于工作狀態的核心是cpu0和cpu1,cpu2和cpu3是空閑核心,且最小使用率大于等于第一閾值。這時,開啟編號最小的空閑核心,即開啟cpu2。根據一種實施例,中間頻率為處理器核心的頻率列表中與最大頻率的一半最接近的時鐘頻率,即與(最大頻率*0.5)的差值的絕對值最小的時鐘頻率。例如,cpu2的頻率列表如下表1所示。表1.cpu2頻率列表頻率等級時鐘頻率(khz)工作電壓(10^(-5)v)備注11391000105000最大頻率213390001040003128700010200041222000100000511180009500061092000950007949000900008897000890009806000860001071500083000中間頻率116240008000012559000790001348100079000144160007900015338000790001622100078000最小頻率由表1可知,cpu2的最大頻率為1391000khz,最大頻率的一半為695500khz,列表中與695500khz最接近的時鐘頻率為715000khz,因此,cpu2的中間頻率為715000khz。當開啟cpu2時,將cpu2的時鐘頻率設置為中間頻率715000khz。應當指出,多核處理器中各核心的頻率列表可能相同,也可能不同。基于此,各核心的最大頻率、中間頻率、最小頻率也不一定相同。當不存在空閑核心時,執行步驟s250。在步驟s250中,判斷最小使用率是否大于等于第二閾值,若是,則執行步驟s260;若否,則不執行任何操作。此處,第二閾值應大于前述第一閾值。具體地,第二閾值的取值可以由本領域技術人員自行設置。例如,第二閾值可以是90%(大于前述第一閾值60%),當然,其也可以被設置為其他數值,本發明對第二閾值的具體取值不做限制。在步驟s260中,調高一個未滿頻核心的時鐘頻率。未滿頻核心為時鐘頻率小于最大頻率的核心。應當指出,某一時刻可能存在多個未滿頻核心。這時,根據一種實施例,調高編號最小的未滿頻核心的時鐘頻率。另外,根據一種實施例,在調高未滿頻核心的時鐘頻率時,可以根據該未滿頻核心的頻率列表中所列出的頻率等級,逐級調高該核心的時鐘頻率;也可以隔級調高該核心的時鐘頻率;還可以直接將該核心的時鐘頻率調高至最大頻率。應當指出,在執行步驟s260時,時鐘頻率的具體調高規則可以由本領域技術人員自行設置,本發明對其不做限制。例如,某多核處理器包括四個核心cpu0~cpu3,當前四個核心均處于工作狀態且均工作于各自的中間頻率(均未滿頻),最小使用率大于等于第二閾值。這時,調高編號最小的未滿頻核心的時鐘頻率,即調高cpu0的時鐘頻率。假設cpu0的頻率列表如前述表1,將cpu0調高至上一個頻率等級,即將cpu0的時鐘頻率調整為0.806ghz。步驟s210~s260示出了一個根據各核心的使用率進行升核、升頻的過程。對于處理器來說,存在以下公式:處理器性能=時鐘頻率*ipc(1)處理器功耗∝電容*電壓*電壓*時鐘頻率(2)上述兩個公式中,時鐘頻率即為每秒執行的時鐘周期數,ipc(instructionpercycle)即一個時鐘周期內完成的指令數,符號∝表示“正比于”。基于以上公式,為了增加處理器性能,可以增加時鐘頻率或ipc。而ipc與電容成正比、也與處理器核心的數量成正比,時鐘頻率與電壓成正比(可參見表1),因此,實際上,有處理器功耗∝核心數量*時鐘頻率3(3)因此,增加主頻會以三次方的速率增加功耗,增加核數會以線性速率增加功耗,因此,在增加處理器性能時,優先增加核心數量,當核心數量已滿時,再增加時鐘頻率,可以在提高處理器性能的同時,功耗增加得不至于太多,即,在提高處理器性能的同時節省電力。在步驟s210~s260所示出的方法中,由于第一閾值小于第二閾值,故該方法相當于先升核、再升頻,這與前述公式(1)~(3)所示出的原理相符,可以使處理器資源與應用需求相匹配,保證應用運行時的流暢性,同時避免增加太多功耗,節省電量。根據一種實施例,在步驟s210之前,還包括以下步驟(圖2中未示出)s201~s206:步驟s201:獲取當前處于工作狀態的核心的數量。步驟s202:判斷當前處于工作狀態的核心的數量是否等于1,若是,則執行步驟s203;若否,則執行步驟s210。步驟s203:判斷是否該核心的時鐘頻率等于中間頻率且使用率大于等于第一閾值,若是,執行步驟s204;若否,執行步驟s205。步驟s204:開啟一個空閑核心,并將其時鐘頻率設置為中間頻率。步驟s204的過程與前述步驟s240相同,此處不再贅述。步驟s205:判斷是否該核心的時鐘頻率小于中間頻率且使用率大于等于第二閾值,若是,執行步驟s206;若否,不執行任何操作。步驟s206:將該核心的時鐘頻率設置為中間頻率。上述步驟s201~s206示出了在當前只有一個核心處于工作狀態時,根據該核心的使用率和時鐘頻率進行升核、升頻的過程。步驟s201~s206與前述步驟s210~s260所示的方法略有不同,其區別在于,步驟s201~s206需要先將當前處于工作狀態的唯一的核心的時鐘頻率調整至中間頻率,再執行如步驟s210~s260的方法,這樣,可以保證新開啟的核心與已開啟的核心的時鐘頻率一致(均為各核心的中間頻率),有利于多核處理器的負載均衡。步驟s201~s206示出了在當前只有一個核心處于工作狀態時,進行升核、升頻的過程;步驟s210~s260示出了在當前有兩個及以上核心處于工作狀態時,進行升核、升頻的過程。根據一種實施例,本發明還包括降頻、降核過程,即:當所有核心均處于工作狀態,且最小使用率小于第三閾值時,調低一個核心的時鐘頻率。其中,第三閾值小于前述第二閾值。應當指出,第三閾值的具體取值可以由本領域技術人員自行設置,例如,第三閾值可以是80%(小于前述第二閾值90%),當然,其也可以被設置為其他數值,本發明對第三閾值的具體取值不做限制。另外,應當指出,某一時刻可能有多個核心的時鐘頻率可以被調低(只要核心的時鐘頻率不是頻率列表中的最小頻率,該核心的時鐘頻率就可以被調低)。這時,根據一種實施例,調低編號最大的核心的時鐘頻率,以方便處理器資源的管理。另外,在調低某核心的時鐘頻率時,可以根據該核心的頻率列表中所列出的頻率等級,逐級調低該核心的時鐘頻率;也可以隔級調低該核心的時鐘頻率;還可以直接將該核心的時鐘頻率調低至最小頻率。應當指出,時鐘頻率的具體調低規則可以由本領域技術人員自行設置,本發明對其不做限制。例如,某多核處理器包括四個核心cpu0~cpu3,當前所有核心均處于工作狀態且均工作于各自的中間頻率,最小使用率小于第三閾值。這時,調低編號最大的核心的時鐘頻率,即調低cpu3的時鐘頻率。假設cpu3的頻率列表如前述表1,將cpu0調低至下一個頻率等級,即將cpu0的時鐘頻率調整為0.624ghz。根據一種實施例,當一個核心的使用率為0時,關閉該核心。這樣,本發明的技術方案在處理器資源過剩時,先降頻、再降核,關閉不必要的處理器資源,提高處理器資源的實際利用率,降低功耗,節省電量。應當指出,本發明的多核處理器調度方案是持續進行的,每隔預定間隔時間(參見步驟s210),獲取處理器各核心的使用率,根據各核心的使用率來調整處于工作狀態的核心的數量以及各核心的時鐘頻率。根據一種實施例,當調度操作為開啟一個空閑核心或調高一個未滿頻核心的時鐘頻率時,將預定間隔時間設置為第一值;當調度操作為降低一個核心的時鐘頻率或關閉一個核心時,將預定間隔時間設置為第二值;其中,第一值小于第二值。第一值和第二值的具體取值可以由本領域技術人員自行設置,本發明對此不做限制。例如,可以將第一值設置為20ms,第二值設置為80ms。由于第一值小于第二值,故本發明的技術方案可以實現快速升核/升頻,慢速降頻/降核,保證了應用運行時的流暢性,避免了系統卡頓,同時可以降低功耗,節省電量。圖3示出了根據本發明一個實施例的多核處理器調度過程的示意圖。圖3所示的多核處理器包括四個核心cpu0~cpu3,各核心的頻率列表如前述表1所示,則各核心的最大頻率為1.391ghz,最小頻率為0.221ghz,中間頻率為0.715ghz。設置調高時鐘頻率或調低時鐘頻率的規則為隔兩級調整(即按照頻率等級±3來調整);第一閾值為60%,第二閾值為90%,第三閾值為80%;預定間隔時間的第一值為20ms,第二值為80ms;規定當未執行任何操作時,將預定間隔時間也設為第一值20ms。在t1時刻,只有cpu0處于工作狀態,其時鐘頻率為0.416ghz,小于中間頻率0.715ghz;但其使用率為82%,未達到第二閾值90%,故該時刻不執行任何操作,將預定間隔時間設置為第一值20ms。20ms后,到達t2時刻。在該時刻,仍然只有cpu0處于工作狀態,其時鐘頻率仍小于中間頻率,但其使用率變為95%,超過了第二閾值,故需要將cpu0的時鐘頻率升至中間頻率0.715ghz。由于執行了升頻操作,將預定時間間隔設置為第一值20ms。20ms后,到達t3時刻。在該時刻,仍然只有cpu0處于工作狀態,其時鐘頻率為中間頻率0.715ghz;使用率為80%,超過了第一閾值60%,故需要開啟編號最小的空閑核心cpu1。由于執行了升核操作,將預定時間間隔設置為第一值20ms。20ms后,到達t4時刻。在該時刻,cpu0、cpu1處于工作狀態,處理器的最小使用率為75%,大于第一閾值60%,故需要開啟編號最小的空閑核心cpu2。由于執行了升核操作,將預定時間間隔設置為第一值20ms。20ms后,到達t5時刻。在該時刻,cpu0~cpu2處于工作狀態,處理器的最小使用率為68%,大于第一閾值60%,故需要開啟編號最小的空閑核cpu3。由于執行了升核操作,將預定時間間隔設置為第一值20ms。20ms后,到達t6時刻。在該時刻,cpu0~cpu3均處于工作狀態,不存在空閑核心,處理器的最小使用率為70%,未達到第二閾值90%,故該時刻不執行任何操作,將預定間隔時間設置為第一值20ms。20ms后,到達t7時刻。在該時刻,cpu0~cpu3均處于工作狀態,不存在空閑核心,且各核心均未滿頻(時鐘頻率小于最大頻率)。處理器的最小使用率為91%,大于第二閾值90%,故需要將編號最小的核心cpu0的時鐘頻率調高三個等級,變為0.949ghz。由于執行了升頻操作,將預定間隔時間設置為第一值20ms。20ms后,到達t8時刻。在該時刻,cpu0~cpu3均處于工作狀態,不存在空閑核心,且各核心均未滿頻。處理器的最小使用率為85%,小于第二閾值90%,故不執行任何操作,將預定間隔時間設置為第一值20ms。20ms后,到達t9時刻。在該時刻,cpu0~cpu3均處于工作狀態,不存在空閑核心,且各核心均未滿頻。處理器的最小使用率為81%,小于第二閾值90%,故不執行任何操作,將預定間隔時間設置為第一值20ms。20ms后,到達t10時刻。在該時刻,cpu0~cpu3均處于工作狀態,不存在空閑核心,且各核心均未滿頻也不處于最低頻率。處理器的最小使用率為74%,小于第三閾值80%,故需要將編號最大的核心cpu3的時鐘頻率調低三個等級,變為0.481ghz。由于執行了降頻操作,將預定間隔時間設置為第二值80ms。80ms后,到達t11時刻。在該時刻,cpu0~cpu3均處于工作狀態,不存在空閑核心,且各核心均未滿頻也不處于最低頻率。處理器的最小使用率為30%,小于第三閾值80%,故需要將編號最大的核心cpu3的時鐘頻率調低三個等級,變為0.221ghz。由于執行了降頻操作,將預定間隔時間設置為第二值80ms。80ms后,到達t12時刻。在該時刻,cpu3的使用率降為0,故關閉該核心。由于執行了降核操作,將預定間隔時間設置為第二值80ms。80ms后,到達t13時刻。在該時刻,cpu0~cpu2處于工作狀態,處理器的最小使用率為50%,未達到第一閾值60%,故不執行任何操作,將預定時間間隔設置為第一值20ms。20ms后,到達t14時刻。在該時刻,cpu2的使用率降為0,故關閉該核心。由于執行了降核操作,將預定間隔時間設置為第二值80ms。t14時刻之后,根據各核心的使用率,可以繼續調整處于工作狀態的核心的數量以及各核的時鐘頻率。由于篇幅所限,此處不再一一列舉。a8:a5-7中任一項所述的方法,其中,還包括步驟:當一個核心的使用率為0時,關閉該核心。a9:a8所述的方法,其中,當調度操作為開啟一個空閑核心或調高一個未滿頻核心的時鐘頻率時,將預定間隔時間設置為第一值;當調度操作為調低一個核心的時鐘頻率或關閉一個核心時,將預定間隔時間設置為第二值;其中,所述第一值小于第二值。a10:a9所述的方法,其中,所述第一值為20ms,第二值為80ms。這里描述的各種技術可結合硬件或軟件,或者它們的組合一起實現。從而,本發明的方法和設備,或者本發明的方法和設備的某些方面或部分可采取嵌入有形媒介,例如可移動硬盤、u盤、軟盤、cd-rom或者其它任意機器可讀的存儲介質中的程序代碼(即指令)的形式,其中當程序被載入諸如計算機、移動終端之類的機器,并被所述機器執行時,所述機器變成實踐本發明的設備。在程序代碼在可編程計算機上執行的情況下,移動終端一般包括處理器、處理器可讀的存儲介質(包括易失性和非易失性存儲器和/或存儲元件),至少一個輸入裝置,和至少一個輸出裝置。其中,存儲器被配置用于存儲程序代碼;處理器被配置用于根據該存儲器中存儲的所述程序代碼中的指令,執行本發明的多核處理器調度方法。以示例而非限制的方式,可讀介質包括可讀存儲介質和通信介質。可讀存儲介質存儲諸如計算機可讀指令、數據結構、程序模塊或其它數據等信息。通信介質一般以諸如載波或其它傳輸機制等已調制數據信號來體現計算機可讀指令、數據結構、程序模塊或其它數據,并且包括任何信息傳遞介質。以上的任一種的組合也包括在可讀介質的范圍之內。在此處所提供的說明書中,算法和顯示不與任何特定計算機、虛擬系統或者其它設備固有相關。各種通用系統也可以與本發明的示例一起使用。根據上面的描述,構造這類系統所要求的結構是顯而易見的。此外,本發明也不針對任何特定編程語言。應當明白,可以利用各種編程語言實現在此描述的本發明的內容,并且上面對特定語言所做的描述是為了披露本發明的最佳實施方式。在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施例可以在沒有這些具體細節的情況下被實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。類似地,應當理解,為了精簡本公開并幫助理解各個發明方面中的一個或多個,在上面對本發明的示例性實施例的描述中,本發明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發明要求比在每個權利要求中所明確記載的特征更多特征。更確切地說,如下面的權利要求書所反映的那樣,發明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權利要求書由此明確地并入該具體實施方式,其中每個權利要求本身都作為本發明的單獨實施例。本領域那些技術人員應當理解在本文所公開的示例中的設備的模塊或單元或組件可以布置在如該實施例中所描述的設備中,或者可替換地可以定位在與該示例中的設備不同的一個或多個設備中。前述示例中的模塊可以組合為一個模塊或者此外可以分成多個子模塊。本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發明的范圍之內并且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。此外,所述實施例中的一些在此被描述成可以由計算機系統的處理器或者由執行所述功能的其它裝置實施的方法或方法元素的組合。因此,具有用于實施所述方法或方法元素的必要指令的處理器形成用于實施該方法或方法元素的裝置。此外,裝置實施例的在此所述的元素是如下裝置的例子:該裝置用于實施由為了實施該發明的目的的元素所執行的功能。如在此所使用的那樣,除非另行規定,使用序數詞“第一”、“第二”、“第三”等等來描述普通對象僅僅表示涉及類似對象的不同實例,并且并不意圖暗示這樣被描述的對象必須具有時間上、空間上、排序方面或者以任意其它方式的給定順序。盡管根據有限數量的實施例描述了本發明,但是受益于上面的描述,本
技術領域:
內的技術人員明白,在由此描述的本發明的范圍內,可以設想其它實施例。此外,應當注意,本說明書中使用的語言主要是為了可讀性和教導的目的而選擇的,而不是為了解釋或者限定本發明的主題而選擇的。因此,在不偏離所附權利要求書的范圍和精神的情況下,對于本
技術領域:
的普通技術人員來說許多修改和變更都是顯而易見的。對于本發明的范圍,對本發明所做的公開是說明性的而非限制性的,本發明的范圍由所附權利要求書限定。當前第1頁12