两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

在多核處理器內(nèi)管理功率的方法及裝置的制作方法

文檔序號(hào):6352506閱讀:154來源:國知局
專利名稱:在多核處理器內(nèi)管理功率的方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明通常涉及數(shù)據(jù)處理系統(tǒng),具體是在多核處理器內(nèi)管理功率的改進(jìn)裝置及方法。
背景技術(shù)
例如PC、移動(dòng)平板電腦、智能手機(jī)等等的數(shù)據(jù)處理系統(tǒng)常常包括多核設(shè)計(jì),通常是以多核處理器的形式存在。多核也可以被形成為片上系統(tǒng)(SoC)的一部分。高頻多核設(shè)計(jì)都面臨著一些需要克服的技術(shù)問題。這些包括當(dāng)所有核心都以全速運(yùn)行的時(shí)候遭受高功率利用(消耗)以及由為多核環(huán)境優(yōu)化的軟件和非為多核環(huán)境優(yōu)化的軟件兩者的運(yùn)行引起的問題。

發(fā)明內(nèi)容
如所附權(quán)利要求中所描述的,本發(fā)明提供了一種在具有兩個(gè)或更多個(gè)處理核心的多核數(shù)據(jù)處理系統(tǒng)內(nèi)管理功率的方法及裝置。本發(fā)明的具體實(shí)施例在從屬權(quán)利要求中被闡述。參考下文中描述的實(shí)施例,本發(fā)明的這些或其它方面將會(huì)很明顯并且被闡述。


參考附圖,僅僅通過示例的方式,將描述本發(fā)明的進(jìn)一步細(xì)節(jié)、方面和實(shí)施例。在附圖中,類似的符號(hào)被用于表示相同的或功能相似的元件。為了簡便以及清晰,附圖中的元件不一定按比例繪制。圖1示意性地示出了根據(jù)本發(fā)明的實(shí)施例的具有多核處理器的數(shù)據(jù)處理系統(tǒng)的第一不例的方框圖;圖2示意性地示出了根據(jù)本發(fā)明的實(shí)施例的具有SoC多核處理器的數(shù)據(jù)處理系統(tǒng)的第二示例的方框圖;圖3圖形地示出了多核系統(tǒng)內(nèi)的核心的功率損耗根據(jù)啟用的核心數(shù)量是如何變化的簡化圖;圖4圖形地示出了在示范性高泄露電流情況下多核系統(tǒng)內(nèi)的核心的功率損耗根據(jù)啟用的核心數(shù)量是如何變化的;圖5圖形地示出了在示范性低分裂能力的應(yīng)用程序情況下多核系統(tǒng)內(nèi)的核心功率損耗根據(jù)啟用的核心數(shù)量是如何變化的;圖6示出了根據(jù)本發(fā)明的實(shí)施例的方法的高級(jí)別示范 性流程圖。
具體實(shí)施例方式由于所示出的本發(fā)明的實(shí)施例可能大部分是通過使用本領(lǐng)域技術(shù)人員所熟知的電子元件和電路來實(shí)施的,細(xì)節(jié)不會(huì)在理解和評(píng)價(jià)本發(fā)明的基本概念認(rèn)為有必要的程度大的任何程度上進(jìn)行解釋。以不混淆或偏離本發(fā)明的教導(dǎo)。
圖1示意性地示出了本發(fā)明的實(shí)施例可以應(yīng)用于的數(shù)據(jù)處理系統(tǒng)IOOa的第一示例。它是典型臺(tái)式計(jì)算機(jī)配置的簡化示意圖,所述配置具有有4個(gè)獨(dú)立的處理核心114的多核中央處理器(CPU) 110,并且包括2級(jí)高速緩沖存儲(chǔ)器113和核心管理實(shí)體112。如下面更詳細(xì)地討論的,關(guān)于所使用的硬件和軟件的操作特性,核心管理實(shí)體112在數(shù)據(jù)處理期間指引核心的利用,包括但不限于單獨(dú)調(diào)整每一個(gè)核心的操作頻率/功率、單獨(dú)啟用/禁用核心等等。
多核CPUl 10通過接口 125連接到北/南橋芯片組120。所述北/南橋芯片組120充當(dāng)中心集線器以將整個(gè)數(shù)據(jù)處理系統(tǒng)IOOa的不同電子組件連接到一起,所述不同電子組件例如主外部系統(tǒng)存儲(chǔ)器130、離散圖形處理單元(GPU) 140、以及例如通用串行總線(USB)121、音頻輸入/輸出(I/O) 122、IEEE1394bl23、系統(tǒng)互連(例如,PCIe等等)124的外部連接,具體是將它們?nèi)窟B接到所述CPUl 10。
在圖1中所示出的示例中,主外部系統(tǒng)存儲(chǔ)器130 (例如,DDR隨機(jī)存取存儲(chǔ)器)可以通過外部存儲(chǔ)器接口 135連接到所述北/南橋芯片組120,或者CPUllO可以進(jìn)一步包括集成的高速外部存儲(chǔ)器控制器111,用于向主外部系統(tǒng)存儲(chǔ)器130提供高速外部存儲(chǔ)器接口 135b。在這種情況下,主外部系統(tǒng)存儲(chǔ)器130可以不使用至北/南橋芯片組120的標(biāo)準(zhǔn)外部存儲(chǔ)器接口 135。將外部存儲(chǔ)器控制器111集成到CPUllO本身被看作是一種增加整個(gè)系統(tǒng)的數(shù)據(jù)吞吐量的方式,也減少了組件數(shù)量和制造成本同時(shí)提高了可靠性等等。
離散圖形處理單元(GPU) 140可以通過專用圖形接口 145 (例如,高級(jí)圖形端口 -AGP)連接到北/南橋芯片組120,以及通過顯示互連155 (例如,數(shù)字視頻接口(DVI)、高清晰度多媒體接口(HDMI)、D-sub (模擬)等等)連接到顯示器150。在其它示例中,離散GPU140可以通過某個(gè)非專用接口 /互連連接到北/南橋芯片組120,非專用接口 /互連例如外圍連接接口(PC1-建立的并行接口標(biāo)準(zhǔn))或PCI Express (PCIe—較新的、更快的串行接口標(biāo)準(zhǔn))、或其它類似功能接口(標(biāo)準(zhǔn)或非標(biāo)準(zhǔn)的)。
其它外圍設(shè)備可以通過其它專用外部連接接口,例如USB121、音頻輸入/輸出接口 122、IEEE1394a/b接口 123、以太網(wǎng)接口(未示出)、主互連124 (例如,PCIe)等等被連接。本發(fā)明的不同示例可以存在有不同組的外部連接接口,即本發(fā)明不限于外部連接接口(或?qū)嶋H上內(nèi)部連接接口)的任何特定選擇。
先前見到的將在北/南橋芯片組120內(nèi)的接口(或整個(gè)系統(tǒng)的其它離散部分)集成到中央處理單元Iio本身已經(jīng)有一種增`加的趨勢(shì)(產(chǎn)生了所謂的片上(SoC)設(shè)計(jì))。這是因?yàn)閷⒏鼈鹘y(tǒng)的離散組件集成到主CPUllO降低了制造成本、故障率、功率使用、終端設(shè)備的大小等等。
圖2示意性地示出了本發(fā)明可以應(yīng)用于的數(shù)據(jù)處理系統(tǒng)IOOb的第二、更集成的示例。在這個(gè)示例中,所述數(shù)據(jù)處理系統(tǒng)與圖1相比更簡化些,并且它代表了商品化的移動(dòng)數(shù)據(jù)處理系統(tǒng),例如平板計(jì)算設(shè)備。
圖2的所述移動(dòng)數(shù)據(jù)處理系統(tǒng)IOOb包括SoC多核CPUl 10b,所述SoC多核CPUllOb具有4個(gè)處理核心114,并且包括集成的高速緩沖存儲(chǔ)器113、集成的核心管理實(shí)體112(以與圖1非常類似的方式操作)、集成的GPU141、集成的外部存儲(chǔ)器接口 111、以及其它集成的外部接口 115。在這種情況下,所述系統(tǒng)的所有其它部分直接連接到所述集成的CPUllOb,例如主外部系統(tǒng)存儲(chǔ)器130通過接口連接135、觸摸顯示器151通過雙向接口 155、以及無線模塊通過USB接口 121。雙向觸摸接口 155可操作以允許顯示信息被發(fā)送到觸摸顯示器151,同時(shí)也允許來自觸摸顯示器151的觸摸控制輸入通過集成的GPU141被發(fā)送回CPUllObo所述無線模塊還包括天線165,用于接收和發(fā)射無線通信信號(hào)。移動(dòng)數(shù)據(jù)處理系統(tǒng)100b,具體是外部接口 115,還可以包括任何其它標(biāo)準(zhǔn)化的內(nèi)部或外部連接接口(例如,圖1的IEEE1394b、以太網(wǎng)、音頻輸入/輸出接口)。具體地,移動(dòng)設(shè)備還可以包括一些非標(biāo)準(zhǔn)的外部連接接口(例如,專有對(duì)接站接口)。這都是說,本發(fā)明并不限于由移動(dòng)數(shù)據(jù)處理系統(tǒng)IOOb提供的內(nèi)部/外部連接接口的類型或提供給移動(dòng)數(shù)據(jù)處理系統(tǒng)IOOb的內(nèi)部/外部連接接口的類型。通常,在這樣的消費(fèi)/商品化數(shù)據(jù)處理系統(tǒng)中,供全球使用的單一設(shè)備IOOb可以被開發(fā),只有某些部分根據(jù)預(yù)期銷售地區(qū)(即,地方、聯(lián)邦政府、州政府或其它限制或需求)的需要/需求被改變。例如,在圖2的移動(dòng)數(shù)據(jù)處理系統(tǒng)IOOb中,無線模塊可以根據(jù)地方/國家的需求被互換。例如,IEEE802.1ln和通用移動(dòng)電信系統(tǒng)(UMTS)無線模塊160可以在歐洲使用,而IEEE802.1ln和碼分多址(CDMA)無線模塊可以在美國使用。在任何一種情況下,各自的無線模塊 160通過相同的外部連接接口連接,在這種情況下,是通過標(biāo)準(zhǔn)化的USB連接121連接。不管數(shù)據(jù)處理系統(tǒng)(100a或100b)的形式怎么樣,多核處理器操作的方式是大致相似的。在操作中,數(shù)據(jù)處理系統(tǒng)(100a/b)通過跨越多核處理核心114執(zhí)行多個(gè)數(shù)據(jù)處理指令(即,程序代碼和內(nèi)容數(shù)據(jù))起到實(shí)現(xiàn)各種數(shù)據(jù)處理功能的作用。高速緩沖存儲(chǔ)器113是用于中央處理單元110/b的多處理核心所需的頻繁使用的信息的臨時(shí)數(shù)據(jù)存儲(chǔ)。所述多個(gè)數(shù)據(jù)處理指令常常分成單獨(dú)的執(zhí)行任務(wù)、或線程,它們彼此作用以執(zhí)行在所述多核數(shù)據(jù)處理系統(tǒng)上執(zhí)行的應(yīng)用/程序的整體功能。這些任務(wù)可以取決于整個(gè)數(shù)據(jù)處理系統(tǒng)的工作負(fù)荷在單獨(dú)的核心上執(zhí)行。單一應(yīng)用可以由多個(gè)任務(wù)/線程形成。同樣,多個(gè)單個(gè)任務(wù)應(yīng)用可以被同時(shí)執(zhí)行。所描述的方法和裝置可以適用于上述任何一種情況或兩者的結(jié)合,因此,對(duì)應(yīng)用、程序、線程或任務(wù)中的任何一個(gè)的引用參考大體上可以被理解為在適用的情況下對(duì)計(jì)算機(jī)代碼的任何這些形式的引用。多核數(shù)據(jù)處理系統(tǒng)的一般使用情況(B卩,用例)往往不需要完全使用多核心CPU的所有可用性能。因此,執(zhí)行應(yīng)用/程序/線程/任務(wù)跨越多核可以被分離和負(fù)載平衡。通常,可以有兩個(gè)或更多個(gè)對(duì)核間負(fù)載平衡可用的選項(xiàng),包括:在較低數(shù)量的核心上運(yùn)行應(yīng)用,但每一個(gè)以較高的負(fù)載操作,例如,以高頻率和高電壓操作的單核心;在較高數(shù)量的核心上運(yùn)行應(yīng)用,但每一個(gè)以較低的負(fù)載操作,例如,以低頻率和低電壓操作的多個(gè)核心。圖3示出了多核系統(tǒng)內(nèi)的核心的功率損耗根據(jù)啟用的核心數(shù)量是如何變化的簡化圖300。圖中示出了三種使用情況:單一操作核心301;兩個(gè)操作核心302 ;以及三個(gè)操作核心303。在多核環(huán)境中,如果啟用了更多處理核心,則得到預(yù)定數(shù)量的計(jì)算量允許每一個(gè)處理核心降低其操作頻率。在同質(zhì)多核系統(tǒng)中,頻率降低可以通過與核心的數(shù)量成反比的因數(shù)在所有處理核心上同樣地進(jìn)行操作,即它們每一個(gè)具有相同的可用相對(duì)降低因數(shù)。這是因?yàn)槊恳粋€(gè)處理核心每時(shí)間單位執(zhí)行較少的計(jì)算,但也有更多的計(jì)算單元(即,處理核心)一起工作以提供總處理量。在基本的示例中,如果有兩倍可用處理核心,處理頻率可以減半,而如果有三個(gè)處理核心,處理頻率可按因數(shù)3來減少。這在圖3被示出為當(dāng)和兩個(gè)核心版本302的兩個(gè)理論功率條水平306、以及與三個(gè)核心版本303的三個(gè)理論功率條水平312進(jìn)行比較的時(shí)候,單一處理器核心情況301的功率條水平304的高度之間的差異。在異質(zhì)多核環(huán)境中,類似的方法適用,但允許的頻率中的相對(duì)變化根據(jù)提供的處理資源(即,核心)的相關(guān)類型有變化。
此外,至少部分地由于集成電路的物理性質(zhì),集成電路的功耗與其操作頻率和其操作電壓的平方成正比。因此,隨著處理核心降低其操作頻率,它們每一個(gè)執(zhí)行必要計(jì)算實(shí)際需要的功率量成比例下降。因此,處理核心所需要的功率降低(即,省電)與處理核心的數(shù)量和它們的操作頻率相關(guān),并且隨著使用的處理核心的數(shù)量增加,可以逐步變好。由于所使用的處理核心的數(shù)量,該操作電壓功率降低和在功率的降低導(dǎo)致了雙核示例(功率條水平305)和三核示例(功率條水平309)內(nèi)的較低的組合的總功率條水平。
基于這個(gè)理解,可以看出由于功耗在低電壓最有效(因?yàn)楣呐c電壓的平方成比例,請(qǐng)參閱下面的公式),在較低的功率包絡(luò)情況下,使用更多的在較低頻率和電壓下操作的處理核心是合理的,否則將會(huì)是這種情況:
單核功率(SOl)P1=OVi^F
雙核功率(302)P2=2* (C* (V/a) 2*F/2) =C*V2*F* (1/a) 2=P^ (1/a)2
N-核功率 P1=Ii* (C* (V/b) 2*F/n) =C*V2*F* (1/b) (1/b)2
其中C=多核處理器的所有組件的寄生電容;
V=操作電壓;
F=操作頻率;
a=由于相應(yīng)的頻率降低對(duì)于2核情況可用的相對(duì)電壓降低;
b=由于相應(yīng)的頻率降低對(duì)于η-核情況可用的相對(duì)電壓降低。
上面的等式示出 了由于有較多處理核心進(jìn)行操作,頻率可以降低,從而需要更少的電壓,從而加倍地降低了整體功耗。因此,可以理解,“人為地”跨越多個(gè)處理核心散布應(yīng)用可以優(yōu)選于在單一處理核心上運(yùn)行相同的應(yīng)用。
然而,在現(xiàn)實(shí)情況下,采取這樣的直截了當(dāng)?shù)姆椒赡軙?huì)導(dǎo)致相反的結(jié)果一即實(shí)際上使用/浪費(fèi)更多的功率。發(fā)生這種情況的原因之一是因?yàn)楸粓?zhí)行/使用的特定應(yīng)用在多個(gè)處理核心上可能沒有被很好地分裂開。也就是說,它是不容易被并行化的應(yīng)用。
另一個(gè)原因可能是由于多核集成電路的泄漏電流,可以通過電壓/頻率減少被保存在特定處理核心,具體是在該處理核心/處理核心的類型,中功率的量有理論極限。泄漏電流可能會(huì)導(dǎo)致處理核心內(nèi)的功率浪費(fèi),并在相同的特定核心結(jié)構(gòu)在同質(zhì)多核環(huán)境中被多次使用,對(duì)于每處理核心,泄漏電流大致相同。因此,泄漏電流損失和操作中的處理核心的數(shù)量成比例增加。
當(dāng)與某些構(gòu)造中的處理核心的動(dòng)態(tài)功率(B卩,取決于核心處理負(fù)荷的動(dòng)態(tài)變化功率負(fù)荷)使用需求進(jìn)行比較的時(shí)候,處理核心的泄漏可以被考慮,具體是在較高的工作溫度。
此外,也提供了首要的限制以確保多核處理器不會(huì)超過預(yù)定晶體管結(jié)溫度(Tj),其是實(shí)際晶體管硅結(jié)溫度允許的最大值,以避免穿過離子/電子造成的晶體管退化。圖4示出了多核集成電路內(nèi)的高泄漏電流的影響400,具體是它是如何影響同質(zhì)多核處理器內(nèi)的每一個(gè)啟用的處理核心的功率使用。單一處理核心情況401的總功耗是動(dòng)態(tài)功率部分P1和泄漏功率部分L1的和(即,Σ I=P^L1)。雙核情況402的總功耗是動(dòng)態(tài)功率部分P2和泄漏功率部分L2的和的兩倍(即,Σ 2=2* (P2+L2))。η核多核情況403的總功耗是動(dòng)態(tài)功率部分P1^P泄漏功率部分Ln的和的η倍卿,Ση=η* (Pn+Ln))??梢钥闯觯恳粋€(gè)啟用的處理核心導(dǎo)致了泄漏電流,因此導(dǎo)致了泄漏功耗,并且該泄漏功率耗小于動(dòng)態(tài)功耗縮放。圖5示出了多核系統(tǒng)內(nèi)的處理核心的功耗500是如何根據(jù)在示范性低分裂能力應(yīng)用情況下啟用的處理核心的數(shù)量進(jìn)行變化的。具體地,示出了單一處理核心(501)、兩個(gè)處理核心(502)和多個(gè)(η)的處理核心(503)的情況?!暗头至涯芰Α笔菓?yīng)用在多個(gè)處理核心上沒有被很好地分裂開,例如是由于具有低水平固有并行性的應(yīng)用。在這類情況下,高負(fù)荷可以會(huì)在主處理核心(即,通常是第一編號(hào)的處理核心,它首先被任何應(yīng)用所使用。然而,“主核”的任何其它選擇也可以被使用)上發(fā)生。這可能會(huì)阻止共同的頻率和電壓水平被分配到多核處理器,因?yàn)槊恳粋€(gè)處理核心所需的操作水平有差異一尤其從示例502和503可以看到。從以上的圖中我們了解每一個(gè)啟用的處理核心導(dǎo)致了泄漏電流,從而增加了總的泄漏功耗。因此,提出關(guān) 于施加在多核處理器的頻率/電壓縮放的決定(包括對(duì)特定處理核心的啟用/禁用狀態(tài)的任何決定)可能考慮下列附加新的參數(shù)中的一個(gè)或多個(gè):一在多核處理器上運(yùn)行/執(zhí)行的特定應(yīng)用程序的分裂能力,是指相應(yīng)程序在多個(gè)處理核心上被分裂開以執(zhí)行的能力(即,它是可實(shí)現(xiàn)的/潛在并行的程序水平)。一種確定“分裂能力”的方法是在單核心啟用的處理器上運(yùn)行程序并且然后分析什么樣的任務(wù)和多少數(shù)量的任務(wù)在所述單一處理核心上執(zhí)行。如果只有少數(shù)(或甚至一個(gè))任務(wù)在所述單核心上運(yùn)行,那么該程序固有的分裂能力很低。然而,如果有許多單獨(dú)任務(wù)在所述單核心上運(yùn)行,在程序中則有高程度的“分裂能力”。該分析階段可能在實(shí)際的單核心處理器上執(zhí)行,或在禁用了一個(gè)外的所有處理核心的多核處理器上執(zhí)行。在這種情況下,如果處理核心同質(zhì),該方法還進(jìn)一步通過執(zhí)行多個(gè)分析階段來改進(jìn),對(duì)于分析階段中的一個(gè),每種類型的處理核心至少使用一次,以便每種類型的處理核心的所有能力的完整畫面是眾所周知的。“分裂能力”分析階段可以離線或在線執(zhí)行,即,在編譯期間,或在實(shí)際執(zhí)行相應(yīng)應(yīng)用的“運(yùn)行”期間不斷執(zhí)行。然而,越早確定應(yīng)用程序的分裂能力,響應(yīng)可以越好。類似的“分裂能力”分析可以在一組同時(shí)被執(zhí)行的應(yīng)用上執(zhí)行。在這種情況下,多核處理器是否是異質(zhì)或同質(zhì)可能更受影響,因?yàn)樘囟ê诵脑趫?zhí)行某些任務(wù)時(shí)可能會(huì)更好或更壞。一多核處理器的單獨(dú)的(例如,在異質(zhì)多核處理器環(huán)境)或多核心(例如,在同質(zhì)多核處理器環(huán)境)的動(dòng)態(tài)功率特性的估計(jì)。這就是說,估計(jì)單一處理核心使用多少功率對(duì)多處理核心使用多少功率將根據(jù)動(dòng)態(tài)功率使用進(jìn)行,如參照?qǐng)D3— 5所解釋的。
一用于特定處理核心(例如,在異質(zhì)多核處理器環(huán)境)或所有核心(例如,在同質(zhì)多核處理器環(huán)境)的熱結(jié)點(diǎn)限制Τ」。
——多核處理器的單獨(dú)的(例如,在異質(zhì)多核處理器環(huán)境)或多核心(例如,在同質(zhì)多核處理器環(huán)境)的泄漏功率特性的估計(jì),即,單一處理核心使用多少功率對(duì)多處理核心使用多少功率將根據(jù)泄漏功率使用進(jìn)行,如參照?qǐng)D3 - 5所解釋的。
一泄漏功率可以與特定部分(B卩,整個(gè)多核處理器)相關(guān),或與單獨(dú)的處理核心、生產(chǎn)參數(shù)/特性以及溫度(具體地,(預(yù)期的)操作溫度)相關(guān)。
圖6示出了根據(jù)本發(fā)明的實(shí)施例的在多核處理環(huán)境中管理功率的方法的簡化高級(jí)別示范性流程圖600。具體地,該圖是一種狀態(tài)轉(zhuǎn)變圖,頻率在Y軸上,所使用的核心的數(shù)量在X軸上。如在下面將更詳細(xì)描述的,根據(jù)影響多核處理器的受測(cè)參數(shù),功率管理實(shí)體可以然后在不同狀態(tài)之間移動(dòng)多核處理器。
在這個(gè)簡化示例中,存在多核處理器可以位于的四個(gè)主狀態(tài):“單核啟用,低性能”狀態(tài)620 ;“單核啟用,高性能”狀態(tài)630; “N核啟用,高性能”狀態(tài)640和“N核啟用,低性能”狀態(tài)650。每一個(gè)狀態(tài)中啟用的核心數(shù)量是不證自明的。同時(shí),“低性能”指以低頻率/功率使用水平運(yùn)行核心,“高性能”指以高頻率/功率使用水平運(yùn)行核心。
采用狀態(tài)620 (有單一處理核心被啟用,在低性能操作)的任意起點(diǎn),核心管理實(shí)體112可以確定沒有足夠的整體性能被提供。因此,需要更多的性能,并且可以通過增加單個(gè)處理核心性能,或通過簡單地啟用多個(gè)處理核心被提供(正如上文中更詳細(xì)討論的)。
然而,如果每一個(gè)處理核心具有相對(duì)高的泄漏電流特性,通過簡單地啟用/操作多個(gè)(高泄漏)處理核心提供增加的性能是不現(xiàn)實(shí)的,因?yàn)樵黾拥母咝孤╇娏?并且因此高功率損耗)將會(huì)抑制多核同時(shí)運(yùn)行。
因此,狀態(tài)轉(zhuǎn)變601到單一處理核心被啟用的狀態(tài),但以(非常)高的性能(狀態(tài)630)操作。
在相反的情況下,即,已經(jīng)有太多可用的性能(并且有高泄漏電流),該方法于是可以通過“需要低性能”轉(zhuǎn)變602從“啟用的單核,高性能”狀態(tài)630轉(zhuǎn)變到“啟用單核,低性能”狀態(tài)620。
替選地,當(dāng)在狀態(tài)620的時(shí)候(“單核,低性能”),如果類似的“需要高性能”轉(zhuǎn)變發(fā)生,但是相應(yīng)的處理核心沒有高泄漏電流問題(即,轉(zhuǎn)變603),通過啟用更多處理核心而不是使單一處理核心單獨(dú)地以高性能操作可以是有益的。因此,可以會(huì)有到“啟用N核,高性能”狀態(tài)650的轉(zhuǎn)變。當(dāng)只需要低性能的時(shí)候,相反轉(zhuǎn)變604可能發(fā)生,使得沒有必要保持很多數(shù)量的運(yùn)行處理核心。
當(dāng)在狀態(tài)650的時(shí)候(“啟用N核,低性能”),如果隨后發(fā)生了被執(zhí)行/將要執(zhí)行的應(yīng)用是低分裂能力(即,不容易被并行)或每一個(gè)啟用的處理核心的泄漏電流是高(例如,多核處理器在高于預(yù)期的溫度操作)的情形,那么核心管理實(shí)體112可以替代地將多核處理器中的核心605轉(zhuǎn)變到狀態(tài)630,其中只有單一處理核心被啟用,但是以高性能。如果例如結(jié)溫度(τρ落回到低于目標(biāo)水平的溫度,指示單一高性能處理核心可能足夠用,這也可能發(fā)生。如果例如達(dá)到最大值結(jié)溫度(TP并且仍然需要高(更高)的性能,相反的轉(zhuǎn)變606可能發(fā)生,即從“啟用單核,高性能”狀態(tài)630轉(zhuǎn)變到“啟用N核,低性能”狀態(tài)650。這可能會(huì)在存在低泄漏電流的地方定期地發(fā)生。如果還檢測(cè)到一致的負(fù)荷,“啟用η核,低性能”狀態(tài)650可以被保持。當(dāng)在狀態(tài)650的時(shí)候,提供更多性能(尤其是當(dāng)檢測(cè)到某種形式的超負(fù)荷的時(shí)候-轉(zhuǎn)變607)的替選方法是轉(zhuǎn)變到狀態(tài)640 (“啟用N核,高性能”),尤其是當(dāng)處理核心的單個(gè)泄漏電流是低以及被執(zhí)行/將要執(zhí)行的應(yīng)用是更加一致并且很容易被并行的時(shí)候。在通過多核處理器已經(jīng)達(dá)到了最大規(guī)定結(jié)溫度(Tj)的情況下,這種提供更多性能的方式特別有用。在需要降低結(jié)溫度(Tj),同時(shí)保持或增加性能的情況下,不可能使用單個(gè)處理核心性能水平中的增加,并且通常增加的性能只能通過增加操作的處理核心的數(shù)量被增加。啟用更多處理核心有附加的益處,因?yàn)樾纬啥嗪颂幚砥鞯募呻娐飞系臒狳c(diǎn)可以被避免或均勻地散布在集成電路的物理表面上。也可能使用多核處理器自身內(nèi)的集成溫度傳感器來檢測(cè)結(jié)溫度(Tj),以及定位熱點(diǎn)以便它們可以被避免(例如,通過將負(fù)荷散布到多核處理器內(nèi)的其它處理核心)。而且,如果原始處理核心變得太熱的話,例如,如果它是直接相鄰的另一個(gè)操作處理核心,處理可以移動(dòng)到不同等效的處理核心(即,將處理從啟用的處理核心移動(dòng)到當(dāng)前被禁用的但是相同的處理核心,并且禁用原始處理核心)。在相反的方向上,即,從狀態(tài)640到狀態(tài)650,類似的一致的負(fù)荷,低泄漏和結(jié)溫度考慮適用,如轉(zhuǎn)變608示出的。當(dāng)在狀態(tài)640的時(shí)候(“啟用N核,高性能”),可以需要朝著狀態(tài)630 (“啟用單核,高性能”)的轉(zhuǎn)變,例如,當(dāng)檢測(cè)到非一致的負(fù)荷的時(shí)候,或每一個(gè)啟用的處理核心有高泄漏的時(shí)候一轉(zhuǎn)變610。在相反的方向上,例如當(dāng)超負(fù)荷發(fā)生的時(shí)候,從狀態(tài)630到狀態(tài)640的轉(zhuǎn)變可能發(fā)生(在需要超出單核物理上能夠提供的的處理功率的情況下一 609)。由于通常優(yōu)選采取慎重的步驟來將多核處理器的功率使用匹配到處理需求負(fù)荷,兩個(gè)極端狀態(tài)620和640 (即,“啟用單核,低性能”以及“啟用N核,高性能”)之間的轉(zhuǎn)變通常通過其它兩個(gè)、更多中間狀態(tài)630和650中的一個(gè)發(fā)生并且不是直接地進(jìn)行。然而,當(dāng)處理功率需要是極其懸殊的時(shí)候,直接的轉(zhuǎn)變(未示出)可能同樣地被使用。

當(dāng)決定哪些處理核心啟用/禁用,以及什么功率和頻率水平應(yīng)用于啟用的核心的時(shí)候,上述圖6描述示出了并且解釋了功率管理實(shí)體的主要考慮。應(yīng)用于處理核心的功率選項(xiàng)的準(zhǔn)確選擇根據(jù)一起使用的硬件和軟件的固有特性以及它們操作的環(huán)境來變化。通過仿真或演習(xí)來預(yù)測(cè)試這些特性對(duì)于最佳的多核功率管理可能是需要的。因此,示例示出了在多核處理環(huán)境,具體是在具有多核處理器的數(shù)據(jù)處理系統(tǒng)內(nèi),管理功率的方法。上述描述的方法及裝置可以例如通過調(diào)整數(shù)據(jù)處理系統(tǒng)的結(jié)構(gòu)/操作,特別是多核處理器內(nèi)的核心功率管理實(shí)體112來完成。本發(fā)明也可以在計(jì)算機(jī)程序中被實(shí)現(xiàn)。該程序用于在計(jì)算機(jī)系統(tǒng)上運(yùn)行,計(jì)算機(jī)系統(tǒng)至少包括用于當(dāng)在諸如計(jì)算機(jī)系統(tǒng)或啟動(dòng)可編程的裝置以執(zhí)行根據(jù)本發(fā)明的設(shè)備或系統(tǒng)的功能的可編程的裝置上運(yùn)行時(shí),執(zhí)行根據(jù)本發(fā)明的方法的步驟的代碼部分。計(jì)算機(jī)程序是一系列指令,例如特定應(yīng)用程序和/或操作系統(tǒng)。計(jì)算機(jī)程序可能例如包括以下中的一個(gè)或多個(gè):子程序、函數(shù)、程序、對(duì)象方法、對(duì)象實(shí)現(xiàn)、可執(zhí)行的應(yīng)用、小程序、小服務(wù)程序、源代碼、對(duì)象代碼、共享庫/動(dòng)態(tài)裝載庫和/或設(shè)計(jì)用于在計(jì)算機(jī)系統(tǒng)上的執(zhí)行的其它指令序列。計(jì)算機(jī)程序可以在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上被內(nèi)部地存儲(chǔ)或通過計(jì)算機(jī)可讀傳輸介質(zhì)傳輸?shù)接?jì)算機(jī)系統(tǒng)?;蛘咭恍┯?jì)算機(jī)程序可以被永久地、可移除地提供在計(jì)算機(jī)可讀介質(zhì)或遠(yuǎn)程地耦合于信息處理系統(tǒng)。計(jì)算機(jī)可讀介質(zhì)可以包括,例如但不限于以下的任何數(shù)量:磁存儲(chǔ)介質(zhì),包括磁盤和磁帶存儲(chǔ)介質(zhì);光學(xué)存儲(chǔ)介質(zhì),例如光盤介質(zhì)(例如,CD-ROM、CD-R等等)以及數(shù)字視盤存儲(chǔ)介質(zhì);非易失性存儲(chǔ)器存儲(chǔ)介質(zhì),包括半導(dǎo)體存儲(chǔ)單元,例如FLASH存儲(chǔ)、EEPROM、EPROM、ROM ;鐵磁數(shù)字存儲(chǔ);MRAM ;易失性存儲(chǔ)介質(zhì),包括寄存器、緩沖或緩存、主存儲(chǔ)器、等等;以及數(shù)字傳輸介質(zhì),包括計(jì)算機(jī)網(wǎng)絡(luò)、點(diǎn)對(duì)點(diǎn)通信設(shè)備、以及載波傳輸介質(zhì),僅舉幾例。
計(jì)算機(jī)過程通常地包括執(zhí)行(運(yùn)行)程序或程序的部分,現(xiàn)有的程序值和狀態(tài)信息,以及操作系統(tǒng)用于管理過程的執(zhí)行的資源。操作系統(tǒng)(OS)是管理管理計(jì)算機(jī)的資源共享以及提供給程序員用于訪問這些資源的接口的軟件。操作系統(tǒng)處理系統(tǒng)數(shù)據(jù)和用戶輸入,以及通過作為服務(wù)向系統(tǒng)的用戶和程序分配和管理任務(wù)以及內(nèi)部系統(tǒng)資源來進(jìn)行響應(yīng)。
計(jì)算機(jī)系統(tǒng)可能例如包括至少處理單元、關(guān)聯(lián)內(nèi)存和大量的輸入/輸出(I/O)設(shè)備。當(dāng)執(zhí)行計(jì)算機(jī)程序時(shí),計(jì)算機(jī)系統(tǒng)根據(jù)計(jì)算機(jī)程序處理信息并且通過I/O設(shè)備生產(chǎn)作為結(jié)果的輸出信息。
計(jì)算機(jī)可讀媒介可以永久地、可移動(dòng)地或遠(yuǎn)程地耦合于信息處理系統(tǒng),例如數(shù)據(jù)處理系統(tǒng)100a/b。
本發(fā)明實(shí)施例的一些上述示例在應(yīng)用時(shí)可以在各種不同的信息/數(shù)據(jù)處理系統(tǒng)內(nèi)被實(shí)施。例如,雖然附圖以及其中的討論描述了示例信息處理架構(gòu),這些示例架構(gòu)被陳述僅僅是為了在討論本發(fā)明各個(gè)方面提供有用的參考。當(dāng)然,架構(gòu)的描述已經(jīng)被簡化以便于討論,并且其僅僅是根據(jù)本發(fā)明可以被使用的多種不同類型合適架構(gòu)中的一個(gè)。本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到邏輯塊之間的界限僅僅是說明性的并且替選實(shí)施例可能合并邏輯塊或電路元素或在各種邏輯塊或電路元素上施加替代的分解功能。
因此,應(yīng)了解本發(fā)明描述的架構(gòu)僅僅是示范性的,并且事實(shí)上實(shí)現(xiàn)相同功能的很多其它架構(gòu)可以被實(shí)現(xiàn)。從一種抽象的,但仍確定的意義上來說,為實(shí)現(xiàn)相同功能的任何元件的排列是有效地“關(guān)聯(lián)”以便所需的功能得以實(shí)現(xiàn)。因此,為實(shí)現(xiàn)特定功能,本發(fā)明中結(jié)合在一起的任何兩個(gè)元件可以被看作彼此“相關(guān)聯(lián)”以便所需的功能得以實(shí)現(xiàn),不論架構(gòu)還是中間元件。同樣地,如此關(guān)聯(lián)的任何兩個(gè)元件還可以被認(rèn)為是彼此被“可操作連接”或“可操作耦合”以實(shí)現(xiàn)所需的功能。
此外,本領(lǐng)域 技術(shù)人員將認(rèn)識(shí)到上述描述的操作之間的界限只是說明性的。多個(gè)操作可以組合成單一的操作,單一的操作可以分布在附加操作中,并且操作可以至少在時(shí)間上部分重疊被執(zhí)行。而且,替代實(shí)施例可能包括特定操作的多個(gè)實(shí)例,并且操作的順序在各種其它實(shí)施例中會(huì)改變。
又如,在一些實(shí)施例中,數(shù)據(jù)處理系統(tǒng)100a/b的所說明的元件是位于單一集成芯片或電路或相同設(shè)備內(nèi)的電路。替選地,數(shù)據(jù)處理系統(tǒng)100a/b可能包括任何數(shù)量的彼此互聯(lián)的單獨(dú)集成電路或單獨(dú)設(shè)備。例如,功率管理實(shí)體112可以位于與CPUl 10相同的集成電路上或位于單獨(dú)集成電路上或位于另一個(gè)離散地從數(shù)據(jù)處理系統(tǒng)100a/b分離出來的外圍或從屬設(shè)備內(nèi)。還例如,數(shù)據(jù)處理系統(tǒng)100a/b或其中的一部分可能作為物理電路的軟或代碼表征,或作為能夠轉(zhuǎn)化成物理電路的邏輯表征。同樣地,數(shù)據(jù)處理系統(tǒng)100a/b可以用任何合適類型的硬件描述語言實(shí)現(xiàn)。然而,其它修改、變化和替代也是可能的。說明書和附圖相應(yīng)地被認(rèn)為是從說明性的而不是嚴(yán)格意義上來講的。如所討論的,在實(shí)施例中,數(shù)據(jù)處理系統(tǒng)是計(jì)算機(jī)系統(tǒng),例如個(gè)人計(jì)算機(jī)系統(tǒng)IOOa0其它實(shí)施例可能包括不同類型的計(jì)算機(jī)系統(tǒng),例如移動(dòng)數(shù)據(jù)處理系統(tǒng)100b。數(shù)據(jù)處理系統(tǒng)是可以被設(shè)計(jì)以向一個(gè)或多個(gè)用戶提供獨(dú)立的計(jì)算功率的信息處理系統(tǒng)。數(shù)據(jù)處理系統(tǒng)可以是多種形式包括但不限定于主機(jī)、微型計(jì)算機(jī)、服務(wù)器、工作站、個(gè)人電腦、筆記本、個(gè)人數(shù)字助理、電子游戲、汽車和其它嵌入式系統(tǒng)、手機(jī)和其它無線設(shè)備。典型的計(jì)算機(jī)系統(tǒng)包括至少處理單元、關(guān)聯(lián)內(nèi)存和大量的輸入/輸出(I/o)設(shè)備。數(shù)據(jù)處理系統(tǒng)根據(jù)程序(B卩,應(yīng)用)處理信息并且通過I/O設(shè)備生產(chǎn)作為結(jié)果的輸出信息。程序是一系列指令,例如特定應(yīng)用程序和/或操作系統(tǒng)。計(jì)算機(jī)程序通常在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上被內(nèi)部地存儲(chǔ)或通過計(jì)算機(jī)可讀傳輸介質(zhì),例如無線模塊160傳輸?shù)接?jì)算機(jī)系統(tǒng)。計(jì)算機(jī)處理通常包括執(zhí)行(運(yùn)行)程序或程序的一部分、當(dāng)前程序值和狀態(tài)信息、以及通過操作系統(tǒng)用于管理處理的執(zhí)行的資源。母過程可能產(chǎn)生其它子過程以有助于執(zhí)行母過程的所有功能。因?yàn)槟高^程明確地產(chǎn)生子過程以執(zhí)行母過程的所有功能的一部分,子過程執(zhí)行的功能(以及子孫過程等等)可能有時(shí)被描述為通過木過程執(zhí)行。本發(fā)明所使用的術(shù)語“耦合”不旨在限定為直接耦合或機(jī)械耦合。在權(quán)利要求中,放置在括號(hào)之間的任何參考符號(hào)不應(yīng)被解釋為限定權(quán)利要求。單詞“包括”不排除其它元件或然后在權(quán)利要求中列出的那些步驟的存在。此外,本發(fā)明所用的“a”或“an”被定義為一個(gè)或多個(gè)。并且,在權(quán)利要求中的例如“至少一個(gè)”以及“一個(gè)或多個(gè)”的引入詞語不應(yīng)該被解釋為暗示通過不定冠詞“a”或“an”引入的其它權(quán)利要求元素限定任何其它特定權(quán)利要求。所述特定權(quán)利要求包括這些所介紹的對(duì)發(fā)明的權(quán)利元件,所述權(quán)利元件不僅僅包括這 樣的元件。即使當(dāng)同一權(quán)利要求中包括引入短語“一個(gè)或一組多個(gè)”或“至少一個(gè)”以及不定冠詞,例如“a”或“an”。使用定冠詞也是如此。除非另有說明,使用術(shù)語如“第一”以及“第二”是用于任意區(qū)分這些術(shù)語描述的元件的。因此,這些術(shù)語不一定表示時(shí)間或這些元件的其它優(yōu)先次序。某些措施在相互不同的權(quán)利要求中被列舉的事實(shí)并不表示這些措施的組合不能被用于獲取優(yōu)勢(shì)。在前面的說明中,參照本發(fā)明實(shí)施例的特定示例已經(jīng)對(duì)本發(fā)明進(jìn)行了描述。然而,很明顯各種修改和變化可以在不脫離附屬權(quán)利要求中所陳述的本發(fā)明的寬范圍精神及范圍的情況下被做出。
權(quán)利要求
1.一種在具有兩個(gè)或更多個(gè)處理核心的多核數(shù)據(jù)處理系統(tǒng)中管理功率的方法,包括: 為所述多核處理單元內(nèi)的所述兩個(gè)或更多個(gè)處理核心確定使用特性;以及 取決于所確定的使用特性: 調(diào)整提供給所述兩個(gè)或更多個(gè)處理核心中的每一個(gè)的頻率或電壓;和/或 調(diào)整提供給所述兩個(gè)或更多個(gè)處理核心中的每一個(gè)的啟用信號(hào)。
2.根據(jù)權(quán)利要求1所述的方法,其中所述使用特性依賴于以下中的任何一個(gè)或多個(gè): 將或當(dāng)前被所述多核數(shù)據(jù)處理系統(tǒng)執(zhí)行的應(yīng)用或應(yīng)用組跨越多處理核心分裂開的能力; 所述多核數(shù)據(jù)處理系統(tǒng)的動(dòng)態(tài)功率估計(jì); 預(yù)確定的結(jié)溫度; 所述多核數(shù)據(jù)處理系統(tǒng)的泄漏功率估計(jì);以及 所需要的性能水平。
3.根據(jù)權(quán)利要求1或2所述的方法,其中所述泄漏功率估計(jì)是基于所述多核數(shù)據(jù)處理系統(tǒng)的生產(chǎn)參數(shù)或所述多核數(shù)據(jù)處理系統(tǒng)的操作溫度。
4.根據(jù)權(quán)利要求1至3中的任何一項(xiàng)所述的方法,其中調(diào)整提供給所述兩個(gè)或更多個(gè)處理核心中的每一個(gè)的頻率或電壓包括: 增加提供給所述多核數(shù)據(jù)處理系統(tǒng)內(nèi)的所述兩個(gè)或更多個(gè)處理核心中的相應(yīng)一個(gè)或多個(gè)的操作頻率和操作電壓;或 降低提供給所述多 核數(shù)據(jù)處理系統(tǒng)內(nèi)的所述兩個(gè)或更多個(gè)處理核心中的相應(yīng)一個(gè)或多個(gè)的所述操作頻率和所述操作電壓。
5.根據(jù)權(quán)利要求1至4中的任何一項(xiàng)所述的方法,其中調(diào)整提供給所述兩個(gè)或更多個(gè)處理核心中的每一個(gè)的啟用信號(hào)包括: 啟用所述多核數(shù)據(jù)處理系統(tǒng)內(nèi)的一個(gè)或多個(gè)處理核心;或 禁用所述多核數(shù)據(jù)處理系統(tǒng)內(nèi)的一個(gè)或多個(gè)處理核心。
6.根據(jù)權(quán)利要求5所述的方法,進(jìn)一步包括將線程從先前啟用的處理核心移動(dòng)到先前禁用的、新啟用的處理核心以及禁用所述先前啟用的處理核心。
7.根據(jù)權(quán)利要求4至6中的任何一項(xiàng)所述的方法,其中調(diào)整提供給所述兩個(gè)或更多個(gè)處理核心中的每一個(gè)的操作頻率和操作電壓以及調(diào)整提供給所述兩個(gè)或更多個(gè)處理核心中的每一個(gè)的啟用信號(hào)包括圖6中所示的轉(zhuǎn)變中的任何一個(gè)或多個(gè)。
8.根據(jù)權(quán)利要求7所述的方法,其中,響應(yīng)于存在以下的確定,減少啟用的處理核心的數(shù)目: 將或當(dāng)前被所述多核數(shù)據(jù)處理系統(tǒng)執(zhí)行的應(yīng)用或應(yīng)用組跨越多處理核心分裂開的低能力;和/或 高處理核心泄漏電流;和/或 過度的可用性能水平。
9.根據(jù)權(quán)利要求7所述的方法,其中,響應(yīng)于存在以下的確定,增加啟用的處理核心的數(shù)目: 將或當(dāng)前被所述多核數(shù)據(jù)處理系統(tǒng)執(zhí)行的應(yīng)用或應(yīng)用組跨越多處理核心分裂開的高能力;和/或低處理核心泄漏電流;和/或 不足的可用性能水平;和/或 已達(dá)到最大晶體管結(jié)溫度Tj。
10.根據(jù)權(quán)利要求8或9所述的方法,其中,響應(yīng)于不足性能水平的確定,所述啟用的處理核心的所述操作頻率和操作電壓能夠被增加。
11.根據(jù)權(quán)利要求8或9所述的方法,其中,響應(yīng)于過度性能水平的確定,所述啟用的處理核心的所述操作頻率和操作電壓能夠被減少。
12.根據(jù)權(quán)利要求4至11中的任何一項(xiàng)所述的方法,其中增加的性能通過增加所述啟用的處理核心的數(shù)目和增加所述啟用的核心的操作頻率以及操作電壓的合適組合被實(shí)現(xiàn)。
13.根據(jù)權(quán)利要求4至12中的任何一項(xiàng)所述的方法,其中降低性能通過減少所述啟用的處理核心的數(shù)目和減少所述啟用的核心的操作頻率以及操作電壓的合適組合被實(shí)現(xiàn)。
14.根據(jù)權(quán)利要求12或13所述的方法,其中啟用的處理核心的數(shù)目和所述啟用的處理核心的操作頻率以及操作電壓傾向于維持所需的性能水平的最小值。
15.一種裝置,包括: 多核處理單元,具有兩個(gè)或更多個(gè)處理核心;以及 功率管理實(shí)體,可操作地耦合于所述兩個(gè)或更多個(gè)處理核心; 其中,所述功率管理實(shí)體 被布置為執(zhí)行方法權(quán)利要求1至14中的任何一個(gè)。
全文摘要
本發(fā)明提供了一種在具有兩個(gè)或更多個(gè)處理核心的多核數(shù)據(jù)處理系統(tǒng)中管理功率的方法,包括為所述多核處理單元內(nèi)的所述兩個(gè)或多個(gè)處理核心確定使用特性,以及取決于所述確定的使用特性,調(diào)整提供給所述兩個(gè)或更多個(gè)處理核心中的每一個(gè)的頻率或電壓,和/或調(diào)整提供給所述兩個(gè)或更多個(gè)處理核心中的每一個(gè)的啟用信號(hào)。還提供了一種執(zhí)行公開的方法的裝置。
文檔編號(hào)G06F1/28GK103229123SQ201080070336
公開日2013年7月31日 申請(qǐng)日期2010年11月25日 優(yōu)先權(quán)日2010年11月25日
發(fā)明者邁克爾·普里爾, 安東·羅森, 列昂尼德·斯莫良斯基 申請(qǐng)人:飛思卡爾半導(dǎo)體公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
千阳县| 南靖县| 阿克苏市| 水城县| 邵阳市| 太和县| 本溪| 宜城市| 闻喜县| 雅安市| 垦利县| 阿图什市| 古丈县| 尚义县| 蕉岭县| 南陵县| 台中县| 临海市| 镇雄县| 突泉县| 浏阳市| 韩城市| 鸡泽县| 临清市| 肇庆市| 凤山县| 澄城县| 沙河市| 东明县| 云南省| 东莞市| 三穗县| 梁河县| 鹿泉市| 南丰县| 漯河市| 高安市| 鄂托克前旗| 安丘市| 焦作市| 新野县|