專利名稱:用于基于溫度動(dòng)態(tài)地控制多核中央處理單元中的多個(gè)核的系統(tǒng)和方法
技術(shù)領(lǐng)域:
背景技術(shù):
便攜式計(jì)算裝置(PD)普遍存在。這些裝置可包含蜂窩式電話、便攜式數(shù)字助理(PDA)、便攜式游戲控制臺(tái)、掌上型計(jì)算機(jī),和其它便攜式電子裝置。除了這些裝置的主要功能外,許多裝置還可包含外圍功能。舉例來說,蜂窩式電話可包含進(jìn)行蜂窩式電話呼叫的主要功能,以及照相機(jī)、攝像機(jī)、全球定位系統(tǒng)(GPS)導(dǎo)航、網(wǎng)絡(luò)瀏覽、發(fā)送和接收電子郵件、發(fā)送和接收文本消息、即按即說能力等外圍功能。隨著此裝置的功能性增加,支持此功能性所需的計(jì)算或處理能力也增加。此外,隨著計(jì)算能力增加,更加需要有效管理提供計(jì)算能力的處理器。因此,需要控制多核CPU內(nèi)的功率的改進(jìn)的方法
發(fā)明內(nèi)容
圖式中,除非另外指示,否則貫穿于各圖的相同參考數(shù)字指代相同零件。圖I是處于關(guān)閉位置的便攜式計(jì)算裝置(P⑶)的第一方面的平面前視圖;圖2是處于打開位置的P⑶的第一方面的平面前視圖;圖3是rcD的第二方面的框圖;圖4是處理系統(tǒng)的框圖;圖5是說明基于溫度控制多核中央處理單元的方法的第一方面的流程圖;圖6是說明基于溫度控制多核中央處理單元的方法的第二方面的流程圖;圖7是說明基于溫度控制多核中央處理單元的方法的第三方面的第一部分的流程圖;以及圖8是說明基于溫度控制多核中央處理單元的方法的第三方面的第二部分的流程圖。
具體實(shí)施例方式本文使用詞語“示范性”來表示“充當(dāng)實(shí)例、例子或說明”。本文描述為“示范性”的任何方面不必解釋為比其它方面優(yōu)選或有利。
在此描述中,術(shù)語“應(yīng)用程序”還可包含具有可執(zhí)行內(nèi)容的文件,例如對(duì)象代碼、腳本、字節(jié)代碼、標(biāo)記語言文件和修補(bǔ)程序。另外,本文引用的“應(yīng)用程序”還可包含本質(zhì)上不可執(zhí)行的文件,例如可能需要打開的文檔或需要存取的其它數(shù)據(jù)文件。術(shù)語“內(nèi)容”也可包含具有可執(zhí)行內(nèi)容的文件,例如對(duì)象代碼、腳本、字節(jié)代碼、標(biāo)記語言文件和修補(bǔ)程序。另外,本文引用的“內(nèi)容”還可包含本質(zhì)上不可執(zhí)行的文件,例如可能需要打開的文檔或需要存取的其它數(shù)據(jù)文件。如此描述中使用,術(shù)語“組件”、“數(shù)據(jù)庫”、“模塊” “系統(tǒng)”等意在指代計(jì)算機(jī)相關(guān)實(shí)體,其為硬件、固件、硬件與軟件的組合、軟件,或執(zhí)行中的軟件。舉例來說,組件可為(但不限于為)在處理器上運(yùn)行的進(jìn)程、處理器、對(duì)象、可執(zhí)行程序、執(zhí)行線程、程序,和/或計(jì)算機(jī)。借助說明,在計(jì)算裝置上運(yùn)行的應(yīng)用程序和計(jì)算裝置兩者均可為組件。ー個(gè)或ー個(gè)以上組件可駐留在進(jìn)程和/或執(zhí)行線程內(nèi),且組件可局限于ー個(gè)計(jì)算機(jī)上且/或分布于兩個(gè)或兩個(gè)以上計(jì)算機(jī)之間。另外,這些組件可從上面存儲(chǔ)有各種數(shù)據(jù)結(jié)構(gòu)的各種計(jì)算機(jī)可讀媒體執(zhí)行。所述組件可借助本地和/或遠(yuǎn)程進(jìn)程,例如根據(jù)具有ー個(gè)或ー個(gè)以上數(shù)據(jù)包的信號(hào)(例如,來自一個(gè)與本地系統(tǒng)、分布式系統(tǒng)中的另ー組件和/或借助所述信號(hào)越過例如因特網(wǎng)等網(wǎng)絡(luò)與其它系統(tǒng)交互的組件的數(shù)據(jù))來通信。首先參看圖I和圖2,展示示范性便攜式計(jì)算裝置(P⑶),且其一般表示為100。如圖所示,P⑶100可包含外殼102。外殼102可包含上部外殼部分104和下部外殼部分106。圖I展示上部外殼部分104可包含顯示器108。在特定方面中,顯示器108可為觸摸屏顯示器。上部外殼部分104還可包含跟蹤球輸入裝置110。此外,如圖I所示,上部外殼部分104可包含通電按鈕112和斷電按鈕114。如圖I所示,P⑶100的上部外殼部分104可包含多個(gè)指示燈116和一揚(yáng)聲器118。每ー指示燈116可為發(fā)光二極管(LED)。在特定方面中,如圖2中描繪,上部外殼部分104可相對(duì)于下部外殼部分106移動(dòng)。特定來說,上部外殼部分104可相對(duì)于下部外殼部分106滑動(dòng)。如圖2所示,下部外殼部分106可包含多按鈕鍵盤120。在特定方面中,多按鈕鍵盤120可為標(biāo)準(zhǔn)QWERTY鍵盤。多按鈕鍵盤120可在上部外殼部分104相對(duì)于下部外殼部分106移動(dòng)時(shí)顯露。圖2進(jìn)一步說明P⑶100可包含在下部外殼部分106上的復(fù)位按鈕122。參看圖3,展示便攜式計(jì)算裝置(P⑶)的示范性非限定性方面,且其一般表示為320。如圖所示,P⑶320包含包括多核CPU 324的芯片上系統(tǒng)322。多核CPU 324可包含第零核325、第一核326和第N核327。如圖3中說明,顯示器控制器328和觸摸屏控制器330耦合到多核CPU 324。芯片上系統(tǒng)322外部的觸摸屏顯示器332又耦合到顯示器控制器328和觸摸屏控制器330。圖3進(jìn)ー步指示視頻編碼器334(例如,逐行倒相(PAL)編碼器、順序傳送與彩色存儲(chǔ)電視系統(tǒng)(SECAM)編碼器或國家電視系統(tǒng)委員會(huì)(NTSC)編碼器)耦合到多核CPU324。此外,視頻放大器336耦合到視頻編碼器334和觸摸屏顯示器332。并且,視頻端ロ338耦合到視頻放大器336。如圖3中所描繪,通用串行總線(USB)控制器340耦合到多核CPU 324。并且,USB端ロ 342耦合到USB控制器340。存儲(chǔ)器344和訂戶身份模塊(SM)卡346也可耦合到多核CPU 324。此外,如圖3所示,數(shù)碼相機(jī)348可耦合到多核CPU 324。在示范性方面中,數(shù)碼相機(jī)348是電荷耦合裝置(CCD)相機(jī)或互補(bǔ)金屬氧化物半導(dǎo)體(CMOS)相機(jī)。如圖3中進(jìn)ー步說明,立體聲音頻CODEC 350可耦合到多核CPU 324。此外,音頻放大器352可耦合到立體聲音頻CODEC 350。在示范性方面中,第一立體聲揚(yáng)聲器354和第二立體聲揚(yáng)聲器356耦合到音頻放大器352。圖3展示麥克風(fēng)放大器358也可耦合到立體聲音頻CODEC 350。另外,麥克風(fēng)360可耦合到麥克風(fēng)放大器358。在特定方面中,調(diào)頻(FM)無線電調(diào)諧器362可耦合到立體聲音頻CODEC 350。并且,F(xiàn)M天線364耦合到FM無線電調(diào)諧器362。此外,立體聲頭戴式耳機(jī)366可耦合到立體聲音頻CODEC 350。圖3進(jìn)ー步指示射頻(RF)收發(fā)器368可耦合到多核CPU 324。RF開關(guān)370可耦合到RF收發(fā)器368和RF天線372。如圖3所示,小鍵盤374可耦合到多核CPU 324。并且,具有麥克風(fēng)的單聲道耳機(jī)376可耦合到多核CPU 324。此外,振動(dòng)器裝置378可耦合到多核CPU 324。圖3還展示電源380可耦合到芯片上系統(tǒng)322。在特定方面中,電源380為直流(DC)電源,其將功率提供到P⑶320的需要功率的各個(gè)組件。此外,在特定方面中,電源為 可再充電DC電池或從連接到AC電源的交流(AC)/DC變換器導(dǎo)出的DC電源。P⑶320可進(jìn)ー步包含溫度傳感器382,其可用于感測(cè)與P⑶320相關(guān)聯(lián)的裸片溫度。換句話說,溫度傳感器382可充當(dāng)用于感測(cè)與PCD 320相關(guān)聯(lián)的裸片溫度的裝置。圖3進(jìn)ー步指示P⑶320還可包含可用于接入數(shù)據(jù)網(wǎng)絡(luò)(例如,局域網(wǎng)、個(gè)域網(wǎng),或任何其它網(wǎng)絡(luò))的網(wǎng)卡388。網(wǎng)卡388可為藍(lán)牙網(wǎng)卡、WiFi網(wǎng)卡、個(gè)域網(wǎng)(PAN)網(wǎng)卡、個(gè)域網(wǎng)超低功率技術(shù)(PeANUT)網(wǎng)卡,或此項(xiàng)技術(shù)中眾所周知的任何其它網(wǎng)卡。此外,網(wǎng)卡388可并入到芯片中,即網(wǎng)卡388可為芯片中的整套解決方案(full solution),且可并非単獨(dú)的網(wǎng)卡388。如圖3中所描繪,觸摸屏顯示器332、視頻端ロ 338、USB端ロ 342、相機(jī)348、第一立體聲揚(yáng)聲器354、第二立體聲揚(yáng)聲器356、麥克風(fēng)360、FM天線364、立體聲頭戴式耳機(jī)366、RF開關(guān)370、RF天線372、小鍵盤374、單聲道耳機(jī)376、振動(dòng)器378和電源380在芯片上系統(tǒng)322外部。在特定方面中,本文描述的方法步驟中的一者或一者以上可作為計(jì)算機(jī)程序指令而存儲(chǔ)在存儲(chǔ)器344中。這些指令可由多核CPU 324執(zhí)行以便執(zhí)行本文描述的方法。此外,多核CPU 324、存儲(chǔ)器344、溫度傳感器382或其組合可充當(dāng)用于執(zhí)行本文描述的方法步驟中的一者或一者以上以便基于溫度控制多核中央處理單元。參看圖4,展示處理系統(tǒng),且其一般表示為500。在特定方面中,處理系統(tǒng)500可并入到上文結(jié)合圖3描述的P⑶320中。如圖所示,處理系統(tǒng)500可包含多核中央處理單元(CPU) 402和連接到多核CPU 402的存儲(chǔ)器404。多核CPU 402可包含第零核410、第一核412和第N核414。第零核410可包含在其上執(zhí)行的第零動(dòng)態(tài)時(shí)鐘和電壓縮放(DCVS)算法416。第一核412可包含在其上執(zhí)行的第一 DCVS算法417。此外,第N核414可包含在其上執(zhí)行的第N DCVS算法418。在特定方面中,每ー DCVS算法416、417、418可在相應(yīng)核412、414、416上獨(dú)立地執(zhí)行。此外,如所說明,存儲(chǔ)器404可包含存儲(chǔ)于其上的操作系統(tǒng)420。操作系統(tǒng)420可包含調(diào)度器422,且調(diào)度器422可包含第一運(yùn)行隊(duì)列424、第二運(yùn)行隊(duì)列426和第N運(yùn)行隊(duì)列428。存儲(chǔ)器404還可包含存儲(chǔ)于其上的第一應(yīng)用程序430、第二應(yīng)用程序432和第N應(yīng)用程序434。
在特定方面中,應(yīng)用程序430、432、434可將ー個(gè)或ー個(gè)以上任務(wù)436發(fā)送到操作系統(tǒng)420以在多核CPU 402內(nèi)的核410、412、414處進(jìn)行處理。任務(wù)436可作為單獨(dú)任務(wù)、線程或其組合而被處理或執(zhí)行。此外,調(diào)度器422可調(diào)度任務(wù)、線程或其組合以在多核CPU402內(nèi)執(zhí)行。另外,調(diào)度器422可將任務(wù)、線程或其組合置于運(yùn)行隊(duì)列424、426、428中。核410、412、414可例如通過操作系統(tǒng)420如所指示從運(yùn)行隊(duì)列424、426、428檢索任務(wù)、線程或其組合以在核410、412、414處處理或執(zhí)行那些任務(wù)和線程。圖4還展示存儲(chǔ)器404可包含存儲(chǔ)于其上的并行性監(jiān)視器440。并行性監(jiān)視器440可連接到操作系統(tǒng)420和多核CPU 402。特定來說,并行性監(jiān)視器440可連接到操作系統(tǒng)420內(nèi)的調(diào)度器422。如本文所描述,并行性監(jiān)視器440可監(jiān)視核410、412、414上的工作負(fù) 載,且并行性監(jiān)視器440可如下文描述控制到核410、412、414的功率。在特定方面中,并行性監(jiān)視器440可為監(jiān)視調(diào)度器422中的運(yùn)行隊(duì)列424、426、428的軟件程序。每ー運(yùn)行隊(duì)列424、426、428(也稱為,準(zhǔn)備好運(yùn)行的隊(duì)列)可包含可用于在ー個(gè)或ー個(gè)以上核410、412、414上進(jìn)行調(diào)度的當(dāng)前任務(wù)、線程或其組合的列表。一些多核系統(tǒng)可僅具有單個(gè)準(zhǔn)備好運(yùn)行的隊(duì)列。其它多核系統(tǒng)可具有多個(gè)準(zhǔn)備好運(yùn)行的隊(duì)列。不論準(zhǔn)備好運(yùn)行的隊(duì)列的數(shù)目如何,在任何時(shí)刻,在這些隊(duì)列上等待的任務(wù)、線程或其組合的總數(shù)目加上實(shí)際正運(yùn)行的任務(wù)、線程或其組合的數(shù)目可為工作負(fù)載中的并行性程度的近似。參看圖5,展示基于溫度控制多核中央處理單元的方法的第一方面,且其一般表示為500。方法500可以do回路在框502處開始,其中當(dāng)裝置被通電時(shí),可執(zhí)行以下步驟。在框504處,可監(jiān)視裸片溫度。此外,在框506處,功率控制器可確定與核相關(guān)聯(lián)的工作負(fù)載中的并行性程度。移動(dòng)到框508,功率控制器可基于工作負(fù)載并行性程度、裸片溫度或其組合獨(dú)立地將核上電或掉電。接下來,在決策510處,功率控制器可確定裝置是否被斷電。如果裝置被斷電,那么所述方法可結(jié)束。否則,如果裝置保持通電,那么方法500可返回到框504,且方法500可如所描述而繼續(xù)。參看圖6,展示基于溫度控制多核中央處理單元的方法的第二方面,且其一般表示為600。方法600可在框602處開始,其中動(dòng)態(tài)時(shí)鐘和電壓縮放(DCVS)算法在多核中央處理單元內(nèi)的所有正操作的核上運(yùn)行或執(zhí)行。移動(dòng)到框604,可執(zhí)行取樣延遲。在特定方面中,取樣延遲可為ー百毫秒或更短。在另一方面中,取樣延遲可為五十毫秒或更短。取樣延遲可經(jīng)引入以便防止系統(tǒng)中的非常快的攪動(dòng)。此外,通?;ㄙM(fèi)ー些時(shí)間來喚醒另一核,且取樣延遲可大于喚醒時(shí)間。移動(dòng)到?jīng)Q策606,核控制器可確定裸片溫度是否等于臨界條件。舉例來說,臨界條件可為閾值溫度,裝置的操作可在所述閾值溫度以上開始?xì)w因于溫度問題而失敗。在決策606處,如果裸片溫度不等于臨界條件,那么方法600可返回到框602,且方法600可如本文所描述而繼續(xù)。否則,如果裸片溫度確實(shí)等于臨界條件,那么方法600可移動(dòng)到?jīng)Q策608,且核控制器可確定第二核是否休眠,例如所述第二核可為CPUl (第一核可為CPU0)。如果第二核不休眠,即CPUl正在作用中且執(zhí)行任務(wù)和線程,那么方法600可進(jìn)行到框610。在框610處,可將第一核CPUO的頻率設(shè)定(或以另外的方式移動(dòng))為將第一核的頻率降低一個(gè)遞增步長和最佳頻率Ftjpt當(dāng)中的最大值。換句話說,核控制器可將第二核的頻率減小一個(gè)遞增步長而不下降到最佳頻率F_以下。所述遞增步長可為ー百兆赫(100MHz)或更小。此外,所述遞增步長可為五十兆赫(50MHz)或更小。方法600可從框610返回到框602,且方法600可如所描述而繼續(xù)。返回到?jīng)Q策608,如果CPUl休眠,即CPUl被斷電,那么方法600可進(jìn)行到?jīng)Q策612。在決策612處,控制器可確定并行性程度是否滿足一條件。特定來說,控制器可確定所述并行性程度是否大于預(yù)定閾值從而指示系統(tǒng)中存在足夠并行性來保證第二核CPUl的操作。在決策612處,如果并行性程度不滿足所述條件,那么方法可移動(dòng)到框614,且可將第一核CPUO的頻率設(shè)定(或以另外的方式移動(dòng))為將第一核的頻率降低ー個(gè)遞增步長和最佳頻率F_當(dāng)中的最大值。換句話說,核控制器可將第二核的頻率減小一個(gè)遞增步長而不下降到最佳頻率Ftjpt以下。隨后,方法600可返回到框602,且方法600可如本文所描述而繼續(xù)。返回到?jīng)Q策612,如果并行性程度滿足所述條件,那么方法可進(jìn)行到框616,且可接通第二 CPU(CPUl)。隨后,在框618處,可將第二核CPUl的頻率設(shè)定為最佳頻率F_。并且,在框618處,可將第一核CPUO的頻率設(shè)定為第一核的當(dāng)前頻率減去最佳頻率Ftjpt或最佳頻率Ftjpt當(dāng)中的最大值。舉例來說,如果CPUO正在一千兆赫(1000MHz)下操作且CPUl通電到六百兆赫(600MHz)的最佳頻率,那么CPUO的頻率可改變?yōu)榱僬缀?600MHz),因?yàn)?000MHz減去600MHz等于四百兆赫(400MHz),且600MHz (最佳頻率Fopt)大于400MHz (減法運(yùn)算的結(jié)果)。在其它實(shí)例中,如果CPUO正在一千兆赫(1400MHz)下操作且CPUl通電到六百兆赫(600MHz)的最佳頻率,那么CPUO的頻率可改變?yōu)榘税僬缀?800MHz),因?yàn)?400MHz減去600MHz等于八百兆赫(800MHz),且800MHz (減法運(yùn)算的結(jié)果)大于600MHz (最佳頻率
I opt) °移動(dòng)到?jīng)Q策620,控制器可確定系統(tǒng)中是否存在持續(xù)并行性。換句話說,控制器可確定系統(tǒng)中的并行性程度是否滿足一條件持續(xù)至少預(yù)定時(shí)間量。所述條件可為并行性的閾值,且如果系統(tǒng)中的并行性大于所述閾值,那么可認(rèn)為滿足所述條件。在決策620處,如果并行性是持續(xù)的,那么方法600可返回到框602,且方法600可如本文所描述而繼續(xù)。返回到?jīng)Q策620,如果并行性不是持續(xù)的,那么方法600可進(jìn)行到框622,且可關(guān)斷第二核CPUl。隨后,方法600可返回到框602,且方法600可如本文所描述而繼續(xù)?,F(xiàn)參看圖7和圖8,展示基于溫度控制多核中央處理單元的方法的第三方面,且其一般表示為700。方法700可在框702處開始,其中動(dòng)態(tài)時(shí)鐘和電壓縮放(DCVS)算法在多核中央處理單元內(nèi)的所有正操作的核上運(yùn)行或執(zhí)行。移動(dòng)到框704,可執(zhí)行取樣延遲。在特定方面中,取樣延遲可為ー百毫秒或更短。在另一方面中,取樣延遲可為五十毫秒或更短。取樣延遲可經(jīng)引入以便防止系統(tǒng)中的非常快的攪動(dòng)。此外,通?;ㄙM(fèi)ー些時(shí)間來喚醒另一核,且取樣延遲可大于喚醒時(shí)間。移動(dòng)到?jīng)Q策706,核控制器可確定裸片溫度是否等于臨界條件。舉例來說,臨界條件可為閾值溫度,裝置的操作可在所述閾值溫度以上開始?xì)w因于溫度問題而失敗。在決策706處,如果裸片溫度不等于臨界條件,那么方法700可返回到框702,且 方法700可如本文所描述而繼續(xù)。否則,如果裸片溫度確實(shí)等于臨界條件,那么方法700可移動(dòng)到?jīng)Q策708,且核控制器可確定第二核是否休眠,例如所述第二核可為CPUl (第一核可為CPUO)。如果第二核不休眠,那么方法700可進(jìn)行到圖8的決策802,且方法700可如本文所描述而繼續(xù)。否則,如果CPUl不休眠,即CPUl被斷電,那么方法700可進(jìn)行到?jīng)Q策710。在決策710處,控制器可確定并行性程度是否滿足一條件。特定來說,控制器可確定所述并行性程度是否大于預(yù)定閾值從而指示系統(tǒng)中存在足夠的并行性來保證第二核CPUl的操作。在決策710處,如果并行性程度不滿足所述條件,那么方法可移動(dòng)到框712,且可將第一核CPUO的頻率設(shè)定(或以另外的方式移動(dòng))到將第一核的頻率降低ー個(gè)遞增步長與最佳頻率F_當(dāng)中的最大值。換句話說,核控制器可將第二核的頻率減小一個(gè)遞增步長而不下降到最佳頻率Ftjpt以下。隨后,方法700可返回 到框702,且方法700可如本文所描述而繼續(xù)。返回到?jīng)Q策710,如果并行性程度滿足所述條件,那么方法可進(jìn)行到框714,且可接通第二 CPU(CPUl)。隨后,在框716處,可將第二核CPUl的頻率設(shè)定為最佳頻率F_。并且,在框716處,可將第一核CPUO的頻率設(shè)定為第一核的當(dāng)前頻率減去最佳頻率Ftjpt或最佳頻率Ftjpt當(dāng)中的最大值。移動(dòng)到?jīng)Q策718,控制器可確定系統(tǒng)中是否存在持續(xù)并行性。換句話說,控制器可確定系統(tǒng)中的并行性程度是否滿足一條件持續(xù)至少預(yù)定時(shí)間量從而保證兩個(gè)核的持續(xù)操作。所述條件可為并行性的閾值,且如果系統(tǒng)中的并行性大于所述閾值,那么可認(rèn)為滿足所述條件。在決策718處,如果并行性是持續(xù)的,那么方法700可返回到框702,且方法700可如本文所描述而繼續(xù)。返回到?jīng)Q策718,如果并行性不是持續(xù)的,那么方法700可進(jìn)行到框720,且可關(guān)斷第二核CPU1。隨后,方法700可返回到框702,且方法700可如本文所描述而繼續(xù)。返回到?jīng)Q策708,如果第二核CPUl不休眠,那么方法700可移動(dòng)到?jīng)Q策802。在決策802處,核控制器可確定第N核CPUN是否休眠。如果第N核不休眠,那么方法700可進(jìn)行到框804。在框804處,可將第一核CPUO的頻率設(shè)定(或以另外的方式移動(dòng))為將第一核的頻率降低一個(gè)遞增步長和最佳頻率F_當(dāng)中的最大值。換句話說,核控制器可將第二核的頻率減小一個(gè)遞增步長而不下降到最佳頻率F_以下。此外,可將第二核CPUl的頻率設(shè)定(或以另外的方式移動(dòng))為將第一核的頻率降低一個(gè)遞增步長和最佳頻率Ftjpt當(dāng)中的最大值。并且,可將第N核CPUN的頻率設(shè)定(或以另外的方式移動(dòng))為將第一核的頻率降低一個(gè)遞增步長和最佳頻率Ftjpt當(dāng)中的最大值。方法700可從框804返回到圖7的框702,且方法700可如所描述而繼續(xù)。返回到?jīng)Q策802,如果CPUN不休眠,即CPUl正在作用中且正執(zhí)行任務(wù)和線程,那么方法700可進(jìn)行到?jīng)Q策806。在決策806處,控制器可確定并行性程度是否滿足一條件。特定來說,控制器可確定所述并行性程度是否大于預(yù)定閾值從而指示系統(tǒng)中存在足夠并行性來保證第N核CPUN的操作。在決策806處,如果并行性程度不滿足所述條件,那么方法可移動(dòng)到框808,且可將第一核CPUO的頻率設(shè)定(或以另外的方式移動(dòng))為將第一核的頻率降低ー個(gè)遞增步長和最佳頻率Ftjpt當(dāng)中的最大值。換句話說,核控制器可將第二核的頻率減小一個(gè)遞增步長而不下降到最佳頻率F_以下。并且,在框808處,可將第二核CPU2的頻率設(shè)定(或以另外的方式移動(dòng))為將第一核的頻率降低一個(gè)遞增步長和最佳頻率F_當(dāng)中的最大值。隨后,方法700可返回到圖7的框702,且方法700可如本文所描述而繼續(xù)。返回到?jīng)Q策806,如果并行性程度滿足所述條件,那么方法可進(jìn)行到框810,且可接通第N CPU(CPUN)。隨后,在框812處,可將第N核CPUN的頻率設(shè)定為最佳頻率F。#。此夕卜,在框812處,可將第一核CPUO和第二核CPUl的頻率設(shè)定為第一核的當(dāng)前頻率減去最佳
頻率Ftjpt或最佳頻率Ftjpt當(dāng)中的最大值。移動(dòng)到?jīng)Q策814,控制器可確定系統(tǒng)中是否存在持續(xù)并行性。換句話說,控制器可確定系統(tǒng)中的并行性程度是否滿足一條件持續(xù)至少預(yù)定時(shí)間量從而保證N個(gè)核的操作。所述條件可為并行性的閾值,且如果系統(tǒng)中的并行性大于所述閾值,那么可認(rèn)為滿足所述條件。在決策814處,如果并行性是持續(xù)的,那么方法700可返回到框802,且方法700可如本文所描述而繼續(xù)。
返回到?jīng)Q策814,如果并行性不是持續(xù)的,那么方法700可進(jìn)行到框822,且可關(guān)斷ー個(gè)或ー個(gè)以上核。隨后,方法700可返回到圖7的框702,且方法700可如本文所描述而繼續(xù)。應(yīng)了解,本文描述的方法步驟無需一定以所描述的次序執(zhí)行。此外,例如“隨后”、“接著”、“接下來”等詞語不希望限制步驟的次序。這些詞語僅用于引導(dǎo)讀者通讀方法步驟的描述。此外,本文描述的方法描述為可在便攜式計(jì)算裝置(PCD)上執(zhí)行。PCD可為移動(dòng)電話裝置、便攜式數(shù)字助理裝置、智能本計(jì)算裝置、上網(wǎng)本計(jì)算裝置、膝上型計(jì)算裝置、桌上型計(jì)算裝置,或其組合。在特定方面中,可了解,系統(tǒng)中的動(dòng)態(tài)功率與V~2f成比例,其中f是時(shí)鐘頻率且V表示電壓。電壓還與頻率正相關(guān)。換句話說,存在在給定時(shí)鐘頻率下運(yùn)行的CPU的最小電壓。如此,裸片處產(chǎn)生的熱量大致與Γ3成比例。在某些方面中,有可能當(dāng)組裝特定裝置吋,所述裝置可能不能充分耗散在CPU核在其最高頻率下或接近其最高頻率運(yùn)行時(shí)產(chǎn)生的熱量。本文掲示的系統(tǒng)和方法提供一種通過利用系統(tǒng)中的并行性且在多個(gè)核上分布エ作負(fù)載借此在低得多的頻率下運(yùn)行每一核來防止裝置過熱的方式。由于熱產(chǎn)生相對(duì)于時(shí)鐘頻率的三次非線性的緣故,在較低頻率下運(yùn)行兩個(gè)核將導(dǎo)致產(chǎn)生比當(dāng)其在單個(gè)核上運(yùn)行時(shí)少得多的熱量,而不會(huì)損害用戶體驗(yàn)。在特定方面中,可通過監(jiān)視操作系統(tǒng)狀態(tài)來在任務(wù)/線程級(jí)動(dòng)態(tài)地推斷工作負(fù)載中的并行性程度。舉例來說,ー個(gè)可監(jiān)視的操作系統(tǒng)狀態(tài)是所有OS調(diào)度器準(zhǔn)備好運(yùn)行的隊(duì)列的長度。調(diào)度器準(zhǔn)備好運(yùn)行的隊(duì)列是可用于在CPU上進(jìn)行調(diào)度的線程的當(dāng)前任務(wù)的列表。使用并行性監(jiān)視器,系統(tǒng)可能夠確定在任何時(shí)間點(diǎn)系統(tǒng)中是否存在足夠的并行性,以及所述并行性是否在ー時(shí)間周期內(nèi)是持續(xù)的。這兩者均可用于本文描述的負(fù)載平衡算法中。本文掲示的負(fù)載平衡算法可取周期性測(cè)得的裸片溫度作為輸入之一。此外,負(fù)載平衡算法可將裸片溫度與閾值溫度Ths進(jìn)行比較,所述閾值溫度Ths是尚認(rèn)為對(duì)于手持機(jī)的適當(dāng)操作是安全的最高溫度。在特定實(shí)施例中,Ths可經(jīng)由實(shí)驗(yàn)得到。在特定方面中,對(duì)于甸一核,存在最具功率效M的電壓和頻率點(diǎn)F。-。Fopt可接近最小操作電壓可維持的最高頻率水平。對(duì)于基于同類雙CPU核的系統(tǒng),在F_下運(yùn)行的兩個(gè)核可能不產(chǎn)生足夠的熱量以使溫度超過THS。在操作期間,CPU操作頻率可遞增地改變且常常是幾個(gè)離散值,通常為50-100MHZ的步長。在任何時(shí)間點(diǎn)開始,如果溫度傳感器曾經(jīng)跨越溫度閾值Ths,那么控制器可檢查ー個(gè)核還是兩個(gè)核正在運(yùn)行。如果ー個(gè)核正在運(yùn)行,那么控制器檢查系統(tǒng)中是否存在足夠的并行性。如果存在足夠的并行性,那么控制器可將第二核帶到Ftjpt下,同時(shí)將第一核的頻率減小某一量(除非這樣做會(huì)使頻率下降到Ftjpt以下)。如果減小第一核的頻率將使頻率下降到F_以下,那么控制器保持第一核處于F_。同樣,可了解,在Fopt下運(yùn)行兩個(gè)核可能不增加溫度使其超過THS。在兩個(gè)核之間分布工作可使系統(tǒng)冷卻而不會(huì)有MIPS的損失和損害用戶體驗(yàn)。在ー個(gè)或ー個(gè)以上示范性方面中,所描述的功能可用硬件、軟件、固件或其任何組合實(shí)施。如果用軟件實(shí)施,那么所述功能可作為ー個(gè)或ー個(gè)以上指令或代碼存儲(chǔ)在例如機(jī)器可讀媒體(即,計(jì)算機(jī)可讀媒體)等計(jì)算機(jī)程序產(chǎn)品上或經(jīng)由計(jì)算機(jī)程序產(chǎn)品傳輸。計(jì)算機(jī)可讀媒體包含計(jì)算機(jī)存儲(chǔ)媒體和通信媒體兩者,通信媒體包含促進(jìn)將計(jì)算機(jī)程序從ー處 傳送到另ー處的任何媒體。存儲(chǔ)媒體可為可通過計(jì)算機(jī)存取的任何可用媒體。借助實(shí)例而非限制,此類計(jì)算機(jī)可讀媒體可包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲(chǔ)裝置、磁盤存儲(chǔ)裝置或其它磁性存儲(chǔ)裝置,或任何其它可用于載運(yùn)或存儲(chǔ)呈指令或數(shù)據(jù)結(jié)構(gòu)的形式的所需程序代碼且可通過計(jì)算機(jī)存取的媒體。并且,任何連接適當(dāng)?shù)乇环Q作計(jì)算機(jī)可讀媒體。舉例來說,如果使用同軸電纜、光纖電纜、雙絞線、數(shù)字訂戶線(DSL)或例如紅外線、無線電和微波等無線技術(shù)從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源傳輸軟件,那么同軸電纜、光纖電纜、雙絞線、DSL或例如紅外線、無線電和微波等無線技術(shù)包含于媒體的定義中。如本文所使用的磁盤(Disk)與光盤(Disc)包含壓縮光盤(⑶)、激光光盤、光學(xué)光盤、數(shù)字多功能光盤(DVD)、軟性磁盤和藍(lán)光光盤,其中磁盤通常以磁性方式再現(xiàn)數(shù)據(jù),而光盤利用激光以光學(xué)方式再現(xiàn)數(shù)據(jù)。上述內(nèi)容的組合也應(yīng)包含于計(jì)算機(jī)可讀媒體的范圍內(nèi)。盡管已詳細(xì)說明和描述選定方面,但將了解,可在不脫離如所附權(quán)利要求書界定的本發(fā)明的精神和范圍的情況下在其中作出各種替代和更改。
權(quán)利要求
1.一種控制多核中央處理單元CPU內(nèi)的功率的方法,所述方法包括 監(jiān)視裸片溫度; 確定所述CPU的工作負(fù)載內(nèi)的并行性程度;以及 基于所述并行性程度、所述裸片溫度或其組合將所述CPU的ー個(gè)或ー個(gè)以上核上電或掉電。
2.根據(jù)權(quán)利要求I所述的方法,其進(jìn)ー步包括 確定所述裸片溫度是否等于臨界條件。
3.根據(jù)權(quán)利要求2所述的方法,其進(jìn)ー步包括 確定第二核是否休眠。
4.根據(jù)權(quán)利要求3所述的方法,其進(jìn)ー步包括 當(dāng)所述第二核在作用中時(shí),將第一核的頻率減小一個(gè)遞增步長而不下降到最佳頻率以下。
5.根據(jù)權(quán)利要求4所述的方法,其進(jìn)ー步包括 當(dāng)所述第二核在作用中吋,將所述第二核的頻率減小一個(gè)遞增步長而不下降到最佳頻率以下。
6.根據(jù)權(quán)利要求3所述的方法,其進(jìn)ー步包括 確定所述并行性是否等于一條件。
7.根據(jù)權(quán)利要求6所述的方法,其進(jìn)ー步包括 當(dāng)所述并行性等于一條件時(shí),將第二核上電到最佳頻率。
8.根據(jù)權(quán)利要求7所述的方法,其進(jìn)ー步包括 將所述第一核的頻率減小到ー值,所述值是當(dāng)前操作頻率減去最佳頻率與所述最佳頻率當(dāng)中的最大值。
9.根據(jù)權(quán)利要求8所述的方法,其進(jìn)ー步包括 確定所述并行性程度在ー時(shí)間周期內(nèi)是否是持續(xù)的。
10.根據(jù)權(quán)利要求9所述的方法,其進(jìn)ー步包括 當(dāng)所述并行性程度不持續(xù)吋,將所述第二核斷電。
11.一種無線裝置,其包括 用于監(jiān)視裸片溫度的裝置; 用于確定所述CPU的工作負(fù)載內(nèi)的并行性程度的裝置;以及 用于基于所述并行性程度、所述裸片溫度或其組合將所述CPU的ー個(gè)或ー個(gè)以上核上電或掉電的裝置。
12.根據(jù)權(quán)利要求11所述的無線裝置,其進(jìn)ー步包括 用于確定所述裸片溫度是否等于臨界條件的裝置。
13.根據(jù)權(quán)利要求12所述的無線裝置,其進(jìn)ー步包括 用于確定第二核是否休眠的裝置。
14.根據(jù)權(quán)利要求13所述的無線裝置,其進(jìn)ー步包括 用于當(dāng)所述第二核在作用中時(shí)將第一核的頻率減小一個(gè)遞增步長而不下降到最佳頻率以下的裝置。
15.根據(jù)權(quán)利要求14所述的無線裝置,其進(jìn)ー步包括用于當(dāng)所述第二核在作用中時(shí)將所述第二核的頻率減小一個(gè)遞增步長而不下降到最佳頻率以下的裝置。
16.根據(jù)權(quán)利要求13所述的無線裝置,其進(jìn)一步包括 用于確定所述并行性是否等于一條件的裝置。
17.根據(jù)權(quán)利要求16所述的無線裝置,其進(jìn)一步包括 用于當(dāng)所述并行性等于一條件時(shí)將第二核上電到最佳頻率的裝置。
18.根據(jù)權(quán)利要求17所述的無線裝置,其進(jìn)一步包括 用于將所述第一核的頻率減小到一值的裝置,所述值是當(dāng)前操作頻率減去最佳頻率與所述最佳頻率當(dāng)中的最大值。
19.根據(jù)權(quán)利要求18所述的無線裝置,其進(jìn)一步包括 用于確定所述并行性程度在一時(shí)間周期內(nèi)是否持續(xù)的裝置。
20.根據(jù)權(quán)利要求19所述的無線裝置,其進(jìn)一步包括 用于當(dāng)所述并行性程度不持續(xù)時(shí)將所述第二核斷電的裝置。
21.一種無線裝置,其包括 處理器,其中所述處理器可操作以 監(jiān)視裸片溫度; 確定CPU的工作負(fù)載內(nèi)的并行性程度;以及 基于所述并行性程度、所述裸片溫度或其組合將所述CPU的一個(gè)或一個(gè)以上核上電或掉電。
22.根據(jù)權(quán)利要求21所述的無線裝置,其中所述處理器進(jìn)一步可操作以 確定所述裸片溫度是否等于臨界條件。
23.根據(jù)權(quán)利要求22所述的無線裝置,其中所述處理器進(jìn)一步可操作以 確定第二核是否休眠。
24.根據(jù)權(quán)利要求23所述的無線裝置,其中所述處理器進(jìn)一步可操作以 當(dāng)所述第二核在作用中時(shí),將第一核的頻率減小一個(gè)遞增步長而不下降到最佳頻率以下。
25.根據(jù)權(quán)利要求24所述的無線裝置,其中所述處理器進(jìn)一步可操作以 當(dāng)所述第二核在作用中時(shí),將所述第二核的頻率減小一個(gè)遞增步長而不下降到最佳頻率以下。
26.根據(jù)權(quán)利要求23所述的無線裝置,其中所述處理器進(jìn)一步可操作以 確定所述并行性是否等于一條件。
27.根據(jù)權(quán)利要求26所述的無線裝置,其中所述處理器進(jìn)一步可操作以 當(dāng)所述并行性等于一條件時(shí),將第二核上電到最佳頻率。
28.根據(jù)權(quán)利要求27所述的無線裝置,其中所述處理器進(jìn)一步可操作以 將所述第一核的頻率減小到一值,所述值是當(dāng)前操作頻率減去最佳頻率以及所述最佳頻率當(dāng)中的最大值。
29.根據(jù)權(quán)利要求28所述的無線裝置,其中所述處理器進(jìn)一步可操作以 確定所述并行性程度在一時(shí)間周期內(nèi)是否是持續(xù)的。
30.根據(jù)權(quán)利要求29所述的無線裝置,其中所述處理器進(jìn)一步可操作以當(dāng)所述并行性程度不持續(xù)時(shí),將所述第二核斷電。
31.一種存儲(chǔ)器媒體,其包括 用于監(jiān)視裸片溫度的至少一個(gè)指令; 用于確定所述CPU的工作負(fù)載內(nèi)的并行性程度的至少一個(gè)指令;以及用于基于所述并行性程度、所述裸片溫度或其組合將所述CPU的一個(gè)或一個(gè)以上核上電或掉電的至少一個(gè)指令。
32.根據(jù)權(quán)利要求11所述的存儲(chǔ)器媒體,其進(jìn)一步包括 用于確定所述裸片溫度是否等于臨界條件的至少一個(gè)指令。
33.根據(jù)權(quán)利要求32所述的存儲(chǔ)器媒體,其進(jìn)一步包括 用于確定第二核是否休眠的至少一個(gè)指令。
34.根據(jù)權(quán)利要求33所述的存儲(chǔ)器媒體,其進(jìn)一步包括 用于當(dāng)所述第二核在作用中時(shí)將第一核的頻率減小一個(gè)遞增步長而不下降到最佳頻率以下的至少一個(gè)指令。
35.根據(jù)權(quán)利要求34所述的存儲(chǔ)器媒體,其進(jìn)一步包括 用于當(dāng)所述第二核在作用中時(shí)將所述第二核的頻率減小一個(gè)遞增步長而不下降到最佳頻率以下的至少一個(gè)指令。
36.根據(jù)權(quán)利要求33所述的存儲(chǔ)器媒體,其進(jìn)一步包括 用于確定所述并行性是否等于一條件的至少一個(gè)指令。
37.根據(jù)權(quán)利要求36所述的存儲(chǔ)器媒體,其進(jìn)一步包括 用于當(dāng)所述并行性等于一條件時(shí)將第二核上電到最佳頻率的至少一個(gè)指令。
38.根據(jù)權(quán)利要求37所述的存儲(chǔ)器媒體,其進(jìn)一步包括 用于將所述第一核的頻率減小到一值的至少一個(gè)指令,所述值是當(dāng)前操作頻率減去最佳頻率與所述最佳頻率當(dāng)中的最大值。
39.根據(jù)權(quán)利要求38所述的存儲(chǔ)器媒體,其進(jìn)一步包括 用于確定所述并行性程度在一時(shí)間周期內(nèi)是否持續(xù)的至少一個(gè)指令。
40.根據(jù)權(quán)利要求39所述的存儲(chǔ)器媒體,其進(jìn)一步包括 用于當(dāng)所述并行性程度不持續(xù)時(shí)將所述第二核斷電的至少一個(gè)指令。
全文摘要
本文揭示一種控制多核中央處理單元CPU內(nèi)的功率的方法。所述方法可包含監(jiān)視裸片溫度;確定所述CPU的工作負(fù)載內(nèi)的并行性程度;以及基于所述并行性程度、所述裸片溫度或其組合將所述CPU的一個(gè)或一個(gè)以上核加電或斷電。
文檔編號(hào)G06F1/20GK102652296SQ201080056570
公開日2012年8月29日 申請(qǐng)日期2010年12月8日 優(yōu)先權(quán)日2009年12月16日
發(fā)明者博胡斯拉夫·雷赫利克, 史蒂文·S·湯姆森, 布萊恩·J·薩爾斯貝瑞, 素密·蘇爾, 阿里·伊蘭里 申請(qǐng)人:高通股份有限公司