午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

非對稱多處理器上的自適應(yīng)線程調(diào)度設(shè)備及方法

文檔序號:6595717閱讀:228來源:國知局
專利名稱:非對稱多處理器上的自適應(yīng)線程調(diào)度設(shè)備及方法
技術(shù)領(lǐng)域
本發(fā)明大體來說涉及用于基于泄漏電流及動態(tài)功率而調(diào)適非對稱多處理器系統(tǒng)中的線程調(diào)度以在低功率耗損下實(shí)現(xiàn)所需性能的技術(shù)。
背景技術(shù)
例如手機(jī)、膝上型計算機(jī)、個人數(shù)據(jù)助理(PDA)及其類似者的許多便攜型產(chǎn)品利用執(zhí)行例如通信及多媒體程序的程序的處理系統(tǒng)。用于所述產(chǎn)品的處理系統(tǒng)可包括多個處理器、用于存儲指令及數(shù)據(jù)的存儲器、控制器、例如通信接口的外圍裝置及配置于(例如) 單芯片上的固定功能邏輯塊。同時,便攜型產(chǎn)品具有電池形式的有限能源,常常需要所述電池來支持來自處理系統(tǒng)的高性能操作。為增加電池壽命,在可能的情況下需要在減少的功率電平下執(zhí)行這些操作。許多個人計算機(jī)還經(jīng)開發(fā)以支持在低功率汲取(power drain)下的高性能操作以減少總能量消耗。在處理系統(tǒng)內(nèi)部,多個處理器可配置為若干不同的組織,例如,允許多個處理器之間的選擇性負(fù)載平衡的非對稱多處理組織,其可為不同的且針對特定系統(tǒng)功能或過程(例如,視頻、圖形或通信處理)而經(jīng)優(yōu)化??蓪⑻幚砉δ芊殖山?jīng)調(diào)度以供在選定處理器上執(zhí)行的若干個線程或任務(wù)。線程被認(rèn)為是最小可個別調(diào)度過程或指令序列,其可與另一線程并行運(yùn)行。在本發(fā)明的上下文中,可能可互換地使用線程與任務(wù)。任務(wù)或線程可為通常由操作系統(tǒng)(OS)調(diào)度器指派給處理器(例如)以滿足與系統(tǒng)功能相關(guān)聯(lián)的性能要求的子功能 (sub-function)。由于與執(zhí)行任務(wù)相關(guān)聯(lián)的功率為頻率、切換電容及供應(yīng)電壓的平方的函數(shù),所以減少功率使用通常要求減少這些變量中的至少一者。為了更充分優(yōu)化功率使用,許多處理系統(tǒng)具有對功率使用的一個或一個以上電路域中的頻率及操作電壓的控制。歸因于在便攜型裝置上操作的例如視頻、圖形及通信的各種功能的高需求本質(zhì),可能需要多個處理器在千兆赫頻率下操作以便滿足產(chǎn)品的要求。由于對處理系統(tǒng)的功能需求不同,所以通常根據(jù)現(xiàn)有系統(tǒng)要求來調(diào)適操作頻率。以類似方式,降低電壓不僅影響功率,而且影響受影響的邏輯及存儲器裝置的操作頻率,此繼而又影響控制頻率的方式。由于電路密度隨著每一新技術(shù)產(chǎn)生而增加,所以在閑置或待用狀況期間的功率損耗也已增加。電路泄漏電流還傾向于隨著增加的電路密度而增加,從而越來越變成大量功率損耗源。為實(shí)現(xiàn)允許更高時鐘頻率的增加的密度及更短電路裝置延遲,通常使內(nèi)部電路裝置的閾值電壓減小。減小閾值電壓通常增加泄漏電流,其也受處理變化及溫度影響。高密度芯片的能量使用的顯著部分可歸因于泄漏電流。在操作系統(tǒng)調(diào)度器層級下,多處理系統(tǒng)中的任務(wù)指派為困難的問題,甚至在使芯片通過一致處理特性(P)而制造且在恒定及標(biāo)稱操作電壓(V)及標(biāo)稱溫度(T)內(nèi)操作的標(biāo)稱操作環(huán)境(通常稱作標(biāo)稱PVT環(huán)境)內(nèi)也是如此。指派任務(wù)的問題歸因于便攜型裝置的本質(zhì)而變得甚至更困難,因?yàn)楸銛y型裝置可能使用通過不同工藝制造的多個芯片,且還可能經(jīng)歷在芯片內(nèi)及芯片之間的處理特性的廣泛變化、不同操作電壓的使用,其可為可控的且經(jīng)受周圍溫度的廣泛變化。PVT的變化對芯片的功率利用(包括動態(tài)泄漏功率及靜態(tài)泄漏功率)通常具有極大影響。

發(fā)明內(nèi)容
本發(fā)明的一實(shí)施例提出一種用于在多個核心上進(jìn)行自適應(yīng)線程調(diào)度以減少系統(tǒng)能量的方法。線程調(diào)度器接收與所述多個核心相關(guān)聯(lián)的泄漏電流信息。使用所述泄漏電流信息以在所述多個核心中的一者上調(diào)度線程以減少系統(tǒng)能量使用。本發(fā)明的另一實(shí)施例提出一種用于在多個核心上進(jìn)行自適應(yīng)線程調(diào)度以減少系統(tǒng)能量的設(shè)備。與所述多個核心相關(guān)聯(lián)的多個傳感器提供泄漏電流信息。多個核心運(yùn)行自適應(yīng)線程調(diào)度器,每一核心具有一所指派的操作頻率及源電壓電平(取決于待指派給所述核心的任務(wù))。所述自適應(yīng)線程調(diào)度器使用所述泄漏電流信息以在所述多個核心中的一者上調(diào)度線程以減少系統(tǒng)能量使用。本發(fā)明的另一實(shí)施例提出一種計算機(jī)可讀存儲媒體,其內(nèi)容使非對稱多處理器執(zhí)行用于在多個處理器核心上進(jìn)行自適應(yīng)線程調(diào)度以減少系統(tǒng)能量的方法。線程調(diào)度器接收與所述多個核心相關(guān)聯(lián)的泄漏電流信息。使用所述泄漏電流信息以在所述多個核心中的一者上調(diào)度線程以減少系統(tǒng)能量使用。對于所屬領(lǐng)域的技術(shù)人員來說,本發(fā)明的其它實(shí)施例將通過以下具體實(shí)施方式
變得容易顯而易見,其中作為說明展示并描述本發(fā)明的各種實(shí)施例。應(yīng)認(rèn)識到,本發(fā)明可用其它及不同的實(shí)施例體現(xiàn)且其若干細(xì)節(jié)能夠具有在各種其它方面的修改,其全都不脫離本發(fā)明。因此,圖式及具體實(shí)施方式
應(yīng)被看作本質(zhì)上為說明性的而非限制性的。


圖1說明示范性無線通信系統(tǒng);圖2A說明功率對操作頻率的曲線圖,其說明針對示范性雙處理器核心的在低溫的情況下的特定處理⑵、電壓(V)、溫度(T)PVT環(huán)境;圖2B說明功率對操作頻率的曲線圖,其說明針對圖2A的雙處理器核心的在高溫的情況下的PVT環(huán)境;圖3為說明示范性非對稱多處理器芯片上系統(tǒng)的框圖;圖4A為說明示范性第一傳感器電路的框圖;圖4B為說明示范性第二傳感器電路的框圖;圖4C為說明示范性第三傳感器電路的框圖;圖5為示范性芯片上傳感器校準(zhǔn)過程的流程圖;圖6A為示范性傳感器輪詢背景過程的流程圖;圖6B為部分地基于泄漏電流信息的示范性第一自適應(yīng)線程調(diào)度過程的流程圖;圖7A說明功率對操作頻率的曲線圖,其說明針對示范性雙處理器核心的在低溫的情況下的處理⑵、電壓(V)、溫度(T)PVT環(huán)境;圖7B說明功率對操作頻率的曲線圖,其說明針對圖7A的示范性雙處理器核心的在高溫的情況下的PVT環(huán)境;圖8為部分地基于泄漏電流信息的示范性第二自適應(yīng)線程調(diào)度過程的流程圖;及圖9為用于根據(jù)各種傳感器輸出確定靜態(tài)泄漏電流及動態(tài)功率的示范性傳感器輪詢過程的流程圖。
具體實(shí)施例方式下文結(jié)合隨附圖式所闡述的具體實(shí)施方式
意在作為對本發(fā)明的各種示范性實(shí)施例的描述,且不意在表示可實(shí)踐本發(fā)明的僅有實(shí)施例。出于提供對本發(fā)明的透徹理解的目的,具體實(shí)施方式
包括特定細(xì)節(jié)。然而,對于所屬領(lǐng)域的技術(shù)人員應(yīng)顯而易見,可在不具有這些特定細(xì)節(jié)的情況下實(shí)踐本發(fā)明。在一些例子中,以框圖的形式展示眾所周知的結(jié)構(gòu)及組件以便避免混淆本發(fā)明的概念??捎美?C、C++、JAVA 、Smalltalk、JavaScript 、Visual Basic 、TSQL、Perl 的高階編程語言或以各種其它編程語言來撰寫在根據(jù)本發(fā)明的教示執(zhí)行操作時所操作的或用于根據(jù)本發(fā)明的教示執(zhí)行操作的計算機(jī)程序代碼或“程序代碼”。也可用原生匯編語言直接撰寫用于目標(biāo)處理器架構(gòu)的程序。原生組合程序使用機(jī)器級二進(jìn)制指令的指令助記表示。如在本文中使用的存儲于計算機(jī)可讀存儲媒體上的程序代碼或程序指代機(jī)器語言代碼,例如目標(biāo)代碼,其格式可由處理器理解。圖1說明可有利地使用本發(fā)明的實(shí)施例的示范性無線通信系統(tǒng)100。出于說明的目的,圖1展示三個遠(yuǎn)程單元120、130及150及兩個基站140。圖1還展示從基站140及遠(yuǎn)程單元120、130及150的前向鏈路信號180及從遠(yuǎn)程單元120、130及150到基站140的反向鏈路信號190。應(yīng)認(rèn)識到,常用無線通信系統(tǒng)可具有更多遠(yuǎn)程單元及基站。遠(yuǎn)程單元 120、130及150包括硬件組件、軟件組件或兩者(如由組件125A、125B及125C表示),其已經(jīng)調(diào)適以體現(xiàn)本發(fā)明。舉例來說,組件125A、125B及125C可包括傳感器、處理器及自適應(yīng)線程調(diào)度軟件(如下文進(jìn)一步論述)。在圖1中,遠(yuǎn)程單元120展示為移動電話,遠(yuǎn)程單元130展示為便攜型計算機(jī),且遠(yuǎn)程單元150展示為無線本地環(huán)路系統(tǒng)中的固定位置遠(yuǎn)程單元。作為實(shí)例,所述遠(yuǎn)程單元可替代地為手機(jī)、尋呼機(jī)、對講機(jī)、手持型個人通信系統(tǒng)(PCQ單元、例如個人數(shù)據(jù)助理的便攜型數(shù)據(jù)單元,或例如儀表讀取設(shè)備的固定位置數(shù)據(jù)單元。盡管圖1說明根據(jù)本發(fā)明的教示的遠(yuǎn)程單元,但本發(fā)明不限于這些示范性所說明單元。本發(fā)明的實(shí)施例可合適地用于具有兩個或兩個以上處理器及傳感器(可根據(jù)其確定靜態(tài)泄漏電流及動態(tài)功率)的任何裝置中(如下文進(jìn)一步詳細(xì)描述)。圖2A說明以毫瓦(mW)為單位的功率204對以兆赫(MHz)為單位的操作頻率206 的曲線圖200,其說明針對示范性雙處理器核心的在低溫(TJ的情況下的處理(P)、電壓 (V)、溫度(T)PVIY環(huán)境。針對核心A的動態(tài)功率對頻率(PvF)曲線208及針對核心B的 PvF曲線210分別始于功率點(diǎn)212及214處。功率點(diǎn)212及214分別為在PVIY環(huán)境下針對核心A及核心B的靜態(tài)泄漏功率。確切地說,如由功率點(diǎn)212所指示,核心A具有比核心B 高的泄漏功率,但在超出頻率F1的高頻率下使用比核心B少的每操作動態(tài)功率。與核心A 相比,核心B具有較低泄漏功率(如由功率點(diǎn)214所指示),且在低于F1的較低頻率下更有效。交叉點(diǎn)(PpF1) 220表示被視為用于取決于雙核心的操作頻率及PVT環(huán)境而將任務(wù)分配給核心A或核心B的交叉決策點(diǎn)。圖2B說明功率2M對操作頻率256的曲線圖250,其說明針對圖2A的雙處理器核心的在高溫(Th)的情況下的PVTh環(huán)境。針對核心A的動態(tài)PvF曲線258及針對核心B的PvF曲線260分別始于功率點(diǎn)262及264處。功率點(diǎn)262及264分別為在PVTh環(huán)境下針對核心A及核心B的靜態(tài)泄漏功率,其中Th > IV。確切地說,如由功率點(diǎn)262所指示,核心A 具有比核心B高的泄漏功率,但在超出頻率F2的高頻率下使用比核心B小的每操作動態(tài)功率。與核心A相比,核心B具有較低泄漏功率(如由功率點(diǎn)264所指示)且在低于&的較低頻率下更有效。交叉點(diǎn)(P2、F2) 270表示被視為用于取決于雙核心的操作頻率及PVT環(huán)境而將任務(wù)分配給核心A或核心B的另一決策點(diǎn)。曲線圖200與250的比較指示,與曲線圖250相關(guān)聯(lián)的較高溫度使交叉點(diǎn)(P2、 F2) 270與交叉點(diǎn)汜小)220相比處于較高功率電平,P2 > P1,且處于較低頻率,F(xiàn)2 < F115對于由兩個曲線圖200及250表征的示范性雙處理器核心來說,將通過將具有低于交叉頻率
的選定操作頻率的任務(wù)分配給核心B,且對于操作頻率超出交叉點(diǎn)頻率的選定任務(wù)將任務(wù)分配給核心A而大體上獲得較低功率使用。可將圖2A及圖2B中評估的雙核心設(shè)計成用于兩種不同的制造工藝。舉例來說, 可主要通過低電壓閾值(Io-Vt)晶體管工藝來制造核心A以實(shí)現(xiàn)高性能,但以增加的泄漏電流為代價??芍饕ㄟ^高閾值(hi-Vt)晶體管工藝來制造核心B以實(shí)現(xiàn)伴隨低泄漏電流的良好性能。又,可通過hi-Vt晶體管及Io-Vt晶體管的混合(例如,在時序關(guān)鍵性路徑電路中使用Io-Vt晶體管)來制造兩個核心中的任一者。本發(fā)明的技術(shù)可應(yīng)用于通過一個或一個以上工藝而制造的核心,所述一個或一個以上工藝包括上文所提出的制造設(shè)計中的任一者以及本發(fā)明的原理現(xiàn)在或?qū)砜蓱?yīng)用于的其它者。圖3說明示范性非對稱多處理器芯片上系統(tǒng)(SoC) 300。應(yīng)注意,圖3所示的特定配置為示范性的,且本發(fā)明的技術(shù)可應(yīng)用于由多個芯片及具有比圖3所示的頻率及電壓可控功率域多或少的頻率及電壓可控功率域的芯片組成的其它系統(tǒng)配置。示范性非對稱多處理器SoC 300包括中央處理單元A (CPU-A) 304、CPU-B 306、共享存儲器1 (SMEM-I) 308、 SMEM-2310、數(shù)字信號處理器A(DSP-A)312、DSP-B 314、控制器316、固定功能邏輯318及傳感器320至326。放置傳感器320至326以(例如)響應(yīng)于關(guān)于非對稱多處理器SoC 300 的交叉點(diǎn)信息而監(jiān)視可影響各種核心(例如,CPU-A 304、CPU-B 306、DSP-A 312及DSP-B 314)上的任務(wù)指派及影響控制器316及固定功能邏輯318上的操作的條件。操作系統(tǒng)(OS) 調(diào)度器(例如,OS調(diào)度器30 可在多處理器系統(tǒng)中的處理器中的一者或一者以上上操作。 如下文更詳細(xì)描述,所述調(diào)度器將基于多處理器系統(tǒng)跨越PVT操作空間的相對功率及性能曲線而對任務(wù)進(jìn)行調(diào)度以在處理器上運(yùn)行。圖4A為說明示范性第一傳感器電路400的框圖。第一傳感器電路400包括直接泄漏電流傳感器404、數(shù)字轉(zhuǎn)換器406及在輸出410上輸出泄漏電流值的接口端口 408。針對直接泄漏電流傳感器404可使用各種類型的泄漏電流傳感器。所述泄漏電流感測電路描述于D. H.金(D. H. Kim)、K.羅伊(K. Roy)、S.蘇(S. Hsu)、R. K.克里斯納姆士 (R. K. Krishnamurthy)及S.波卡(S. Borkar)的“用于測量90nm以下的產(chǎn)生中的工藝變化的裸片上 CMOS 泄漏電流傳感器(An On-Die CMOS Leakage Current Sensor for Measuring Process Variation in Sub-90nm generations) ”(IEEE 2004VLSI 電路論壇技術(shù)論文摘要 (IEEE 2004 Symposium on VLSI Circuits digest of technical papers),第 250 頁及第 251頁,其以引用的方式并入本文中)中。基于所使用的泄漏電流傳感器的類型,針對數(shù)字轉(zhuǎn)換器406選擇適當(dāng)數(shù)字轉(zhuǎn)換器。還在校準(zhǔn)過程中利用輸出410上的泄漏電流值(如下文中進(jìn)一步詳細(xì)描述)??稍谛酒僮髌陂g(例如,在特定電壓及頻率可控功率域處于閑置或低功率狀態(tài)時,其中針對所述可控功率域的頻率處于零赫茲(Hz))監(jiān)視泄漏電流值。圖4B為說明示范性第二傳感器電路430的框圖。第二傳感器電路430包括環(huán)形振蕩器434、頻率計數(shù)器436、接口端口 438及輸出440。環(huán)形振蕩器434可通過在其所關(guān)聯(lián)的可控功率域中所使用的晶體管而建構(gòu)以確定相關(guān)聯(lián)的可控功率域的泄漏電流。舉例來說, 環(huán)形振蕩器可通過可主要地用于CPU-A 304中的高閾值電壓晶體管而建構(gòu),且在一頻率下操作,根據(jù)所述頻率可確定與CPU-A 304相關(guān)聯(lián)的泄漏電流。環(huán)形振蕩器輸出435由振蕩波形組成,其在固定測量周期期間在頻率計數(shù)器436中經(jīng)計數(shù)以確定代表泄漏電流的頻率計數(shù)。頻率計數(shù)由接口端口 438選擇以供輸出。在另一實(shí)施例中,可基于用于核心中的晶體管的類型而利用多個環(huán)形振蕩器。舉例來說,在通過低閾值電壓晶體管與高閾值電壓晶體管的組合而建構(gòu)的核心中,可利用兩個環(huán)形振蕩器。一個環(huán)形振蕩器是通過低閾值電壓晶體管建構(gòu),且另一環(huán)形振蕩器是通過高閾值電壓晶體管建構(gòu)。將測量及讀取兩個環(huán)形振蕩器,從而提供關(guān)于相關(guān)聯(lián)的核心的泄漏電流信息。在另一實(shí)施例中,第二傳感器電路430的設(shè)計可大體上重復(fù),但通過與用于確定泄漏電流信息及用以計量工藝變化的一組晶體管不同的一組晶體管而建構(gòu)。圖4C為說明示范性第三傳感器電路470的框圖。第三傳感器電路470包括電壓傳感器474、溫度傳感器476、數(shù)字轉(zhuǎn)換器478、接口端口 480及輸出484。電壓傳感器474 及溫度傳感器476可針對可控功率域(例如,CPU-A 304)各自產(chǎn)生分別與電壓及溫度相關(guān)聯(lián)的電壓電平。兩個傳感器的輸出電壓電平在數(shù)字轉(zhuǎn)換器478中轉(zhuǎn)換成數(shù)字格式(例如, 使用模擬/數(shù)字轉(zhuǎn)換器),且可根據(jù)所測量的傳感器的類型及其位置而加標(biāo)簽。經(jīng)轉(zhuǎn)換的電壓及溫度值接著由接口端口 440選擇以供輸出。圖5為關(guān)于芯片上傳感器校準(zhǔn)過程500的流程圖??捎迷诙嗵幚砥鱋S的框架內(nèi)操作的軟件程序體現(xiàn)所述過程500,多處理器OS還可控制輸出以調(diào)整測試配置中的環(huán)境溫度。過程500包括設(shè)定在被校準(zhǔn)的芯片外部的操作環(huán)境;讀取芯片上傳感器值;評估所讀取傳感器值;確定交叉決策點(diǎn);及確定芯片或系統(tǒng)是否針對所期望的應(yīng)用而操作。又,可在可不控制環(huán)境溫度的產(chǎn)品系統(tǒng)測試期間運(yùn)行過程500。在此狀況下,校準(zhǔn)過程從多個溫度傳感器對在測試時間的現(xiàn)有溫度進(jìn)行取樣,而且將核心的所有可選擇操作頻率設(shè)定為零赫茲;比較多個溫度傳感器讀數(shù),以在處于可接受容差內(nèi)的讀數(shù)當(dāng)中尋得平均溫度;及相應(yīng)地調(diào)整校準(zhǔn)過程。又,可基于在產(chǎn)品操作條件(其在稍后系統(tǒng)使用時發(fā)生)期間獲得的新讀數(shù)而重新校準(zhǔn)傳感器。在框502處,針對例如圖3的CPU-A 304的可控功率域設(shè)定初始環(huán)境溫度、操作電壓及操作頻率。舉例來說,可設(shè)定低溫、低操作電壓及零頻率以確定(例如,可與圖2A的功率點(diǎn)212相關(guān)聯(lián)的)泄漏電流靜態(tài)功率值。在框504處,對傳感器進(jìn)行輪詢、根據(jù)所測量的傳感器的類型對讀數(shù)加標(biāo)簽且加標(biāo)簽到在測試中的可控功率域,且保存讀數(shù)以用于稍后評估(如下文中更詳細(xì)描述)。舉例來說,讀取圖3的傳感器320,加標(biāo)簽且保存讀數(shù)。在框 506處,將傳感器值與預(yù)期值(例如,最小及最大預(yù)期值)比較。在決策框508處,確定傳感器值是否在可接受范圍內(nèi)。如果傳感器值是在可接受范圍內(nèi),則過程500進(jìn)行到?jīng)Q策框 510。在決策框510處,確定是否校準(zhǔn)所有選定的可控功率域。如果已校準(zhǔn)所有選定的可控功率域,那么過程500進(jìn)行到?jīng)Q策框512。在決策框512處,確定是否已評估所有可設(shè)定條件。如果已評估所有可設(shè)定條件,則傳感器校準(zhǔn)過程進(jìn)行到框516。在框516處,針對適當(dāng)核心組合、PVT特性及選定頻率創(chuàng)建交叉決策點(diǎn)的表。在框518處,傳感器校準(zhǔn)過程結(jié)束, 且可啟用系統(tǒng)操作。在被啟用之后,圖3的OS調(diào)度器305可使用各種經(jīng)校準(zhǔn)的傳感器讀數(shù)在各種核心上調(diào)度線程(如下文中更詳細(xì)描述)。返回到?jīng)Q策框508,如果傳感器值不在可接受范圍內(nèi),那么過程500進(jìn)行到框520。 在框520處,將可控功率域標(biāo)記為具有不可接受傳感器值。在決策框522處,確定系統(tǒng)是否仍可用于當(dāng)前應(yīng)用。如果系統(tǒng)仍可用于當(dāng)前應(yīng)用,則過程500進(jìn)行到框524。在框5 處, 向OS調(diào)度器305通知硬件損耗。舉例來說,在容錯系統(tǒng)中,使一個CPU離線(off line)及斷電對于系統(tǒng)操作可為可接受的。如果系統(tǒng)不可用于當(dāng)前應(yīng)用,則過程500進(jìn)行到框526。 在決策框5 處,確定系統(tǒng)是否可用于其它應(yīng)用,例如,不需要電池操作的桌上型系統(tǒng)。如果系統(tǒng)可用于其它應(yīng)用,則過程500進(jìn)行到框528。在框5 處,根據(jù)傳感器值標(biāo)記部件以用于分級(binning)。舉例來說,可根據(jù)由傳感器提供的泄漏電流信息的范圍而對部件進(jìn)行分級。如果系統(tǒng)不可用于其它應(yīng)用,則過程500進(jìn)行到框530。在框530處,向用戶通知系統(tǒng)故障。返回到?jīng)Q策框510,如果確定尚未校準(zhǔn)所有選定的可控功率域,則過程500進(jìn)行到框530。在框530處,選擇例如CPU-B 306的新的可控功率域以用于圖3的傳感器321的傳感器校準(zhǔn)。過程500返回到框502以針對所述新的可控功率域(在需要時)將環(huán)境溫度、 操作電壓及操作頻率調(diào)整成與在初始可控功率域的傳感器的校準(zhǔn)中所利用的環(huán)境溫度、操作電壓及操作頻率相當(dāng)?shù)脑O(shè)定。返回到?jīng)Q策框512,如果確定尚未評估所有可設(shè)定條件,則過程500進(jìn)行到框534。 在框534處,標(biāo)記待設(shè)定成新評估狀態(tài)的條件,且過程500返回到框502以設(shè)定新條件。圖6A為關(guān)于示范性傳感器輪詢背景過程600的流程圖。過程600可用在多處理器OS的框架內(nèi)操作的軟件程序體現(xiàn)。在系統(tǒng)操作期間,(例如)在特定時間周期或在將任務(wù)指派給各種可控功率域之前對傳感器進(jìn)行輪詢。在框504處,輪詢傳感器,將讀數(shù)加標(biāo)簽到對應(yīng)的可控功率域,且經(jīng)保存以用于稍后評估。在決策框604處,確定是否需要更新任何交叉點(diǎn)。舉例來說,環(huán)境溫度可能快速改變以使便攜型裝置影響如通過圖2A的曲線圖200 及圖2B的曲線圖250所說明的交叉點(diǎn)。如果交叉點(diǎn)需要更新,則背景過程600進(jìn)行到框 606。在框606處,更新適當(dāng)交叉點(diǎn)。返回到?jīng)Q策框604,如果不存在需要更新的交叉點(diǎn),那么背景過程600進(jìn)行到?jīng)Q策框608。在決策框608處,確定是否到下一傳感器輪詢的時間。 如果到下一傳感器輪詢的時間,則背景過程600進(jìn)行到框504。如果未到下一傳感器輪詢的時間,則背景過程600 —直等待到達(dá)到傳感器輪詢時間為止。在背景過程600處于操作中時,其它系統(tǒng)操作繼續(xù)以滿足產(chǎn)品操作要求。圖6B為部分地基于泄漏電流信息的示范性第一自適應(yīng)線程調(diào)度過程650的流程圖。過程650可用在多處理器OS (例如,圖3的OS調(diào)度器30 的框架內(nèi)操作的軟件程序體現(xiàn)。針對可將任務(wù)指派給例如圖3的CPU-A 304及CPU-B 306的兩個處理器核心中的一者的示范性狀況來說明過程650。多處理器OS調(diào)度器或其類似者確定待指派的任務(wù)。在框604處,評估待指派的任務(wù)以確定用于運(yùn)行所述任務(wù)的適當(dāng)操作電壓及頻率。在框606 處,將任務(wù)的選定操作頻率與可用于任務(wù)指派的可控功率域的交叉決策點(diǎn)值比較(作為用以確定哪一可控功率域?qū)⒅概扇蝿?wù)的輸入中的一者)。在框608處,確定任務(wù)的選定頻率是否小于適當(dāng)交叉頻率。如果任務(wù)的頻率較小,則過程650進(jìn)行到框610。在框610處,將任務(wù)指派給例如CPU-B 306的第一核心可控功率域。如果任務(wù)的頻率大于或等于適當(dāng)交叉頻率,則過程650進(jìn)行到框612。在框612處,將任務(wù)指派給例如CPU-A 304的第二核心可控功率域。在決策框614處,確定是否存在待指派的任何其它任務(wù)。如果存在待指派的其它任務(wù),則過程650返回到框604。如果不存在待指派的其它任務(wù),則過程650返回到調(diào)用例程。自適應(yīng)線程調(diào)度過程可調(diào)節(jié)到兩個以上核心。在三個或三個以上可控功率域的狀況下,可在確定任務(wù)的指派時評估多個交叉點(diǎn)。圖7A說明以毫瓦(mW)為單位的功率704對以兆赫(MHz)為單位的操作頻率706 的曲線圖700,其說明針對示范性雙處理器核心的在低溫(TJ的情況下的處理(P)、電壓 (V)、溫度(T) PVTl環(huán)境。針對核心A的動態(tài)功率對頻率(PvF)曲線708及針對核心B的PvF 曲線710分別始于功率點(diǎn)712及714處。功率點(diǎn)712及714分別為在特定PVI;條件下針對核心A及核心B的靜態(tài)泄漏功率。確切地說,如由功率點(diǎn)712所指示,核心A具有比核心 B高的為約25mW的泄漏功率,但在超出頻率F1的高頻率下使用比核心B小的每操作動態(tài)功率。與核心A相比,核心B具有為約IOmW的較低泄漏功率(如由功率點(diǎn)714所指示)且在低于F1的較低頻率下更有效。交叉點(diǎn)(Pp F1) 720表示可視為用于取決于雙核心的操作頻率及PVT環(huán)境而將任務(wù)分配給核心A或核心B的交叉點(diǎn)。圖7B說明功率7M對操作頻率756的曲線圖750,其說明針對圖7A的示范性雙處理器核心的在高溫(Th)的情況下的PVTh環(huán)境。針對核心A的動態(tài)PvF曲線758及針對核心B的PvF曲線760分別始于功率點(diǎn)762及764處。功率點(diǎn)762及764分別為在PVTh條件下針對核心A及核心B的靜態(tài)泄漏功率,其中TH> IV。確切地說,如由功率點(diǎn)762所指示, 核心A具有比核心B高的為約35mW的泄漏功率,但在超出頻率F2的高頻率下使用比核心B 小的每操作動態(tài)功率。核心B具有為約20mW的較低泄漏功率(如由功率點(diǎn)764所指示), 且在低于F2的較低頻率下與核心A相比更有效。交叉點(diǎn)(P2、F2) 770表示可被視為用于取決于雙核心的操作頻率及PVT環(huán)境而將任務(wù)分配給核心A或核心B的另一決策點(diǎn)。作為一實(shí)例,待將特定任務(wù)分配給具有如在圖7A中所說明的特性的兩個處理器核心中的一者。所述特定任務(wù)需要任一核心上的頻率X(Fx)滿足要求。頻率Fx還需要兩個核心的最小核心電壓源。在如在圖7A中所說明的操作溫度IY及頻率Fx下,核心A將展現(xiàn)與點(diǎn)(Px,u,F(xiàn)x) 722相關(guān)聯(lián)的動態(tài)功率Px,u,且核心B展現(xiàn)與點(diǎn)(Ρχ,Μ,F(xiàn)x) 724相關(guān)聯(lián)的動態(tài)功率Px,^。對于此特定任務(wù),核心A功率包含泄漏功率(Lu)加動態(tài)功率(PD,u),這等于(對于此實(shí)例)25mW+;35mW = 60mW。核心 B 功率等于 PL,B,L+PD,B,L = 10mff+40mff = 50mW。 基于此分析,應(yīng)將此特定任務(wù)分配給核心B,盡管其超出交叉點(diǎn)720且具有高于核心A的動態(tài)功率(35mW)的動態(tài)功率分量GOmW)。在點(diǎn)712處的核心A的泄漏功率在確定待將此特定任務(wù)指派于何處方面作出顯著功率貢獻(xiàn)。在如在圖7B中所說明的較高溫度TH(TH > Tl)下重新考慮所述分析。在操作溫度 Th及頻率Fx下,核心A將展現(xiàn)與點(diǎn)(Px, A, H, Fx) 772相關(guān)聯(lián)的動態(tài)功率Px, A, H,且核心B展現(xiàn)與點(diǎn)(PX,B,H,F(xiàn)x) 774相關(guān)聯(lián)的動態(tài)功率Px, B,H。對于此特定任務(wù),核心A功率包含泄漏功率 (PL, α,Η)加動態(tài)功率(PD,A,H),其在Th下等于:35mW+45mW = 80mW。核心B功率等于Pl,b,h+Pd, B, H = 20mff+80mff = 100mW。基于此分析,應(yīng)將此特定任務(wù)分配給核心Α。在較高溫度下,核心B的動態(tài)功率分量在確定待將此特定任務(wù)指派于何處方面作出顯著貢獻(xiàn)。
基于如在圖7A及圖7B中說明的分析,可基于線性系統(tǒng)優(yōu)化使用調(diào)度算法。舉例來說,在溫度“t”下的核心i的功率為Pi, t,其等于泄漏功率i, t)加動態(tài)功率(PD, i, t)。 所有核心的功率為P。。res,t =Σ Pi,t。動態(tài)功率取決于大體上由方程式(1)管理的核心供應(yīng)電壓(V)、操作頻率(F)及切換電容(C)Pd = CV2F(1)其中V為操作電壓;F為操作頻率;且C為表示被評估的可控功率域的切換電容的常數(shù)。需要待分配給一核心的每一任務(wù)在針對所述核心的最小頻率F(其由軟件確定)下操作以便滿足要求。還由軟件確定供應(yīng)電壓以在提供足夠功率以在指定頻率F下操作核心的同時減少功率。切換電容由在產(chǎn)品發(fā)布之前的設(shè)計及制造工藝確定。因此,動態(tài)功率可為在無需傳感器的情況下由操作系統(tǒng)調(diào)度器估算的經(jīng)計算的值。由于泄漏功率強(qiáng)烈地取決于溫度及工藝,所以使用傳感器以將泄漏信息提供到調(diào)度器。通過基于傳感器輸入估算泄漏功率及計算在特定頻率F及電壓V下待分配任務(wù)的每一核心的動態(tài)功率,調(diào)度器可選擇具有最低功率額定值的核心。通過利用自適應(yīng)調(diào)度方法, 還可考慮到隨著芯片老化而變化的泄漏電流的效應(yīng)。又,作為容錯機(jī)制,自適應(yīng)調(diào)度方法可考慮到使泄漏電流增加超過可接受范圍的任何芯片上故障。圖8為部分地基于泄漏電流信息的示范性第二自適應(yīng)線程調(diào)度過程800的流程圖。過程800可用在多處理器OS (例如,圖3的OS調(diào)度器30 的框架內(nèi)操作的軟件程序體現(xiàn)。已針對在考慮中的核心的操作頻率F及電壓V評估待指派給多個核心中的一者的任務(wù)。在框804處,計算處于所指派的頻率F、電壓V及指定切換值C下的核心的動態(tài)功率。 在框806處,讀取與泄漏測量相關(guān)聯(lián)的核心傳感器。在框808處,根據(jù)傳感器讀數(shù)推斷核心泄漏功率。在框810處,將推斷出的泄漏功率加到動態(tài)功率以尋得核心功率。在決策框812 處,確定是否已計算出待分配此任務(wù)的核心的核心功率。如果尚未計算出待分配此任務(wù)的核心的功率,那么過程800返回到框804以評估另一核心。過程800繼續(xù)直到已評估被考慮用于此任務(wù)指派的所有核心為止。一旦已評估被考慮用于此任務(wù)指派的核心的個別核心功率,則過程800進(jìn)行到框814。在框814處,將任務(wù)指派給具有最低核心功率的核心。在決策框816處,確定是否存在待指派的更多任務(wù)。如果存在待指派的更多任務(wù),則過程800 返回到框812。如果不存在待指派的更多任務(wù),則過程800返回到調(diào)用例程。圖9為用以根據(jù)各種傳感器輸出確定靜態(tài)泄漏電流及動態(tài)功率的示范性傳感器輪詢過程900的流程圖。過程900可用在多處理器OS的框架內(nèi)操作的軟件程序體現(xiàn)。系統(tǒng)過程啟用框504以對傳感器進(jìn)行輪詢。在框904處,讀取例如圖4C的電壓傳感器474的電壓傳感器。在框906處,讀取例如圖4C的溫度傳感器476的溫度傳感器。在框908處, 從例如圖4B的頻率計數(shù)器436的頻率計數(shù)器讀取頻率計數(shù)值。在框910處,將所讀取的傳感器值轉(zhuǎn)換成處理器可讀取值,例如,代表所感測條件的數(shù)字值。將讀數(shù)加標(biāo)簽到對應(yīng)的可控功率域并保存???10可(在硬件或軟件控制下)個別地選擇待讀取、轉(zhuǎn)換及加標(biāo)簽的傳感器。泄漏電流可源于多種因素,例如,漏極到源極泄漏電流與柵極泄漏電流。泄漏電流的主要形式通常根據(jù)所使用的工藝技術(shù)而變化。在傳統(tǒng)工藝中的泄漏電流的最大來源中的一者已為漏極到源極泄漏電流。如在L. T.克拉克(L T. Clark)、Μ·毛羅(Μ. Morrow)及W.布朗(W.Brown)的“用于低效待機(jī)功率的反向主體偏壓及供應(yīng)崩潰(Reverse-Body Bias and Supply Collapse for Low Effective Standby Power) ”( “IEEE 超大規(guī)模集成(VLSI)系統(tǒng)學(xué)報,,(IEEE Transactions on Very Large Scale Integration (VLSI) Systems),第 12 卷,第9期,2004年9月,其以引用的方式并入本文中)中所描述,可利用方程式2近似地計算漏極到源極泄漏電流(I。ff)τ _ ^iSTblO5⑵
1Off ~β其中Vt為閾值電壓;S為根據(jù)方程式3確定的亞閾值電壓擺動5 = —1η(10){1 + ^}(3)其中k為波茲曼常數(shù)(Boltzmarm constant) ;T為以開爾文(Kelvin)為單位的操作溫度;q為基本電荷 ’Cd為耗盡層電容;且Cra為柵極氧化物電容,使得泄漏電流I。ff取決于在制造被評估的可控功率域的過程中所使用的溫度及工藝?;诶缭趫D9的框504處提供的特定溫度傳感器讀數(shù)且利用方程式2及3,可估計泄漏電流信息。泄漏電流也可基于先前校準(zhǔn)(如關(guān)于圖5的校準(zhǔn)過程500所描述),其中可校準(zhǔn)如在圖9中的框908處所提供的頻率計數(shù)值以用于泄漏電流測量。另外,由圖9的框904提供的電壓讀數(shù)也可用于確定泄漏電流信息及確定或驗(yàn)證動態(tài)功率利用??赏ㄟ^通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或經(jīng)設(shè)計以執(zhí)行本文中所描述的功能的其它可編程邏輯組件、離散門或晶體管邏輯、離散硬件組件或其任何組合來實(shí)施或執(zhí)行結(jié)合本文中所揭示的實(shí)施例而描述的各種說明性邏輯塊、模塊、電路、元件及組件。通用處理器可為微處理器,但在替代例中,處理器可為任何常規(guī)處理器、控制器、微控制器或狀態(tài)機(jī)。也可將處理器實(shí)施為計算組件的組合,例如,DSP與微處理器的組合、多個微處理器、結(jié)合DSP核心的一個或一個以上微處理器或適合于所要應(yīng)用的任何其它所述配置。結(jié)合本文中所揭示的實(shí)施例而描述的方法可直接用硬件、用由處理器執(zhí)行的軟件模塊或用兩者的組合體現(xiàn)。軟件模塊可駐留于RAM存儲器、快閃存儲器、ROM存儲器、EPROM 存儲器、EEPROM存儲器、寄存器、硬盤、可裝卸盤、⑶-R0M,或此項(xiàng)技術(shù)中已知的任何其它形式的計算機(jī)可讀存儲媒體中。計算機(jī)可讀存儲媒體可耦合到處理器,使得處理器可從所述計算機(jī)可讀存儲媒體讀取信息及將信息寫入到所述計算機(jī)可讀存儲媒體。在替代例中,計算機(jī)可讀存儲媒體可與處理器成一體式。盡管在關(guān)于在多個核心上的自適應(yīng)線程調(diào)度的說明性實(shí)施例的上下文中揭示本發(fā)明,但應(yīng)認(rèn)識到,所屬領(lǐng)域的技術(shù)人員可使用與上文論述及所附權(quán)利要求書一致的各種各樣的實(shí)施方案。
權(quán)利要求
1.一種用于在多個核心上進(jìn)行自適應(yīng)線程調(diào)度以減少系統(tǒng)能量的方法,所述方法包含在線程調(diào)度器處接收與所述多個核心相關(guān)聯(lián)的泄漏電流信息;以及使用所述泄漏電流信息以在所述多個核心中的一者上調(diào)度線程以減少系統(tǒng)能量使用。
2.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含 讀取所述多個核心中的多個直接泄漏電流傳感器以確定與所述多個核心相關(guān)聯(lián)的所述泄漏電流信息。
3.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含讀取多個溫度傳感器以確定與對應(yīng)核心相關(guān)聯(lián)的操作溫度,且基于所述操作溫度及與所述核心相關(guān)聯(lián)的預(yù)定工藝常數(shù),計算與所述多個核心相關(guān)聯(lián)的所述泄漏電流信息。
4.根據(jù)權(quán)利要求3所述的方法,其中根據(jù)/(#來計算所述泄漏電流信息,其中JrTΓI。ff為所述泄漏電流信息;vt為閾值電壓;S為根據(jù)S =+ 的亞閾值電壓擺動,其中k為波茲曼常數(shù);T為以開爾文為單位的所述操作溫度;q為基本電荷;Cd為耗盡層電容;且Cox為柵極氧化物電容,且Vt、k、q、Cd及Cra為所述預(yù)定工藝常數(shù)。
5.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含讀取所述多個核心中的多個頻率傳感器,其中所述頻率傳感器中的至少一者為通過在相關(guān)聯(lián)的核心中利用的晶體管而建構(gòu)的環(huán)形振蕩器,其中測量且讀取所述環(huán)形振蕩器的操作頻率以確定所述相關(guān)聯(lián)的核心的所述泄漏電流信息。
6.根據(jù)權(quán)利要求1所述的方法,其中在所述多個核心中的一者上調(diào)度線程包含 確定與所述多個核心相關(guān)聯(lián)的至少一個交叉頻率;以及在所述多個核心中的在較低所指派頻率下具有比所述多個核心中的其它核心低的泄漏功率及高的效率的一個核心上調(diào)度所述線程。
7.根據(jù)權(quán)利要求1所述的方法,其中在所述多個核心中的一者上調(diào)度線程包含 針對所述待分配的線程計算處于所指派的頻率及電壓下的所述多個核心的動態(tài)功率;基于所述泄漏電流信息確定所述多個核心的泄漏功率;以及將所述線程指派給具有最低核心功率的核心。
8.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含基于在特定環(huán)境溫度下的傳感器讀數(shù)與預(yù)期傳感器值的比較而校準(zhǔn)用以提供與所述多個核心相關(guān)聯(lián)的泄漏電流信息的芯片上傳感器。
9.根據(jù)權(quán)利要求8所述的方法,其進(jìn)一步包含確定傳感器讀數(shù)不滿足當(dāng)前應(yīng)用的預(yù)期傳感器值,但確實(shí)滿足另一應(yīng)用的預(yù)期傳感器值;以及對部件進(jìn)行分級以供在其它應(yīng)用中使用。
10.根據(jù)權(quán)利要求8所述的方法,其中通過讀取多個溫度傳感器來確定所述特定環(huán)境溫度,其中將所述核心的操作頻率設(shè)定為零赫茲以在指定溫度范圍內(nèi)尋得選出的溫度。
11.一種用于在多個核心上進(jìn)行自適應(yīng)線程調(diào)度以減少系統(tǒng)能量的設(shè)備,所述設(shè)備包含與所述多個核心相關(guān)聯(lián)以用于提供泄漏電流信息的多個傳感器;以及運(yùn)行自適應(yīng)線程調(diào)度器的多個核心,每一核心取決于待指派給所述核心的任務(wù)而具有所指派的操作頻率及源電壓電平,所述自適應(yīng)線程調(diào)度器使用所述泄漏電流信息以在所述多個核心中的一者上調(diào)度線程以減少系統(tǒng)能量使用。
12.根據(jù)權(quán)利要求11所述的設(shè)備,所述多個傳感器包括提供泄漏電流的直接讀取以提供所述泄漏電流信息的至少一個傳感器。
13.根據(jù)權(quán)利要求11所述的設(shè)備,其中所述多個傳感器包括為通過在相關(guān)聯(lián)的核心中利用的晶體管而建構(gòu)的環(huán)形振蕩器的至少一個傳感器,其中所述環(huán)形振蕩器的操作頻率經(jīng)測量及讀取以確定所述相關(guān)聯(lián)的核心的所述泄漏電流信息。
14.一種計算機(jī)可讀存儲媒體,其內(nèi)容使非對稱多處理器執(zhí)行用于在多個處理器核心上進(jìn)行自適應(yīng)線程調(diào)度以減少系統(tǒng)能量的方法,所述計算機(jī)可讀存儲媒體具有用以執(zhí)行以下步驟的程序在線程調(diào)度器處接收與所述多個核心相關(guān)聯(lián)的泄漏電流信息;以及使用所述泄漏電流信息以在所述多個核心中的一者上調(diào)度線程以減少系統(tǒng)能量使用。
15.根據(jù)權(quán)利要求14所述的計算機(jī)可讀存儲媒體,其進(jìn)一步包含讀取所述多個核心中的多個直接泄漏電流傳感器以確定與所述多個核心相關(guān)聯(lián)的所述泄漏電流信息。
16.根據(jù)權(quán)利要求14所述的計算機(jī)可讀存儲媒體,其進(jìn)一步包含讀取多個溫度傳感器以確定與對應(yīng)核心相關(guān)聯(lián)的操作溫度,且基于所述操作溫度及與所述核心相關(guān)聯(lián)的預(yù)定工藝常數(shù),計算與所述多個核心相關(guān)聯(lián)的所述泄漏電流信息。
17.根據(jù)權(quán)利要求14所述的計算機(jī)可讀存儲媒體,其進(jìn)一步包含讀取所述多個核心中的多個頻率傳感器,其中所述頻率傳感器中的至少一者為通過在相關(guān)聯(lián)的核心中利用的晶體管而建構(gòu)的環(huán)形振蕩器,其中所述環(huán)形振蕩器的操作頻率經(jīng)測量及讀取以確定所述相關(guān)聯(lián)的核心的所述泄漏電流信息。
18.根據(jù)權(quán)利要求14所述的計算機(jī)可讀存儲媒體,其中在所述多個核心中的一者上調(diào)度線程包含針對所述待分配的線程計算處于所指派的頻率及電壓下的所述多個核心的動態(tài)功率;基于所述泄漏電流信息確定所述多個核心的泄漏功率;以及將所述線程指派給具有最低核心功率的核心。
19.根據(jù)權(quán)利要求14所述的計算機(jī)可讀存儲媒體,其進(jìn)一步包含基于在特定環(huán)境溫度下的傳感器讀數(shù)與預(yù)期傳感器值的比較而校準(zhǔn)用以提供與所述多個核心相關(guān)聯(lián)的泄漏電流信息的芯片上傳感器。
20.根據(jù)權(quán)利要求19所述的計算機(jī)可讀存儲媒體,其中所述特定環(huán)境溫度是通過讀取多個溫度傳感器而確定,其中所述核心的操作頻率被設(shè)定為零赫茲以在指定溫度范圍內(nèi)尋得選出的溫度。
全文摘要
本發(fā)明描述用于在多個核心上進(jìn)行自適應(yīng)線程調(diào)度以減少系統(tǒng)能量的技術(shù)。在一個實(shí)施例中,線程調(diào)度器接收與所述多個核心相關(guān)聯(lián)的泄漏電流信息。使用所述泄漏電流信息以在所述多個核心中的一者上調(diào)度線程以減少系統(tǒng)能量使用。還描述傳感器的芯片上校準(zhǔn)。
文檔編號G06F9/50GK102246117SQ200980149338
公開日2011年11月16日 申請日期2009年12月11日 優(yōu)先權(quán)日2008年12月11日
發(fā)明者邁克爾·威廉·莫羅, 馬尼什·加爾吉 申請人:高通股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1