新四季網

非對稱多處理器上的自適應線程調度設備及方法

2023-10-05 15:14:09

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

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


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

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀