專利名稱:通過將處理器架構(gòu)事件算為pmu的因素來優(yōu)化功率使用的制作方法
通過將處理器架構(gòu)事件算為PMU的因素來優(yōu)化功率使用本申請是優(yōu)先權(quán)日為2006年12月四日、優(yōu)先權(quán)號為11/618,477、中國國家申請?zhí)枮?00710307364. 4、題為“通過將處理器架構(gòu)事件算為PMU的因素來優(yōu)化功率使用”的申請的分案申請。
背景技術(shù):
處理器功耗已經(jīng)變?yōu)榻┠陙硭媾R的主要問題。當(dāng)前的多核架構(gòu)處理器設(shè)計趨勢減輕了功耗方面的壓力。然而,功耗仍然會隨著所設(shè)計的核的數(shù)量線性增長。近來技術(shù)的發(fā)展已經(jīng)提供了進(jìn)一步優(yōu)化功耗的新機遇。然而,這些技術(shù)仍然具有諸多缺點。更具體地,當(dāng)前新技術(shù)內(nèi),OS并不理解工作負(fù)荷如何在硬件內(nèi)中有效地運行以及硬件內(nèi)關(guān)聯(lián)的功耗。第二,OS交互的反應(yīng)很慢。第三,當(dāng)前OS不控制每核性能功率狀態(tài)。 最后,turbo模式僅接受熱和傳感器反饋,它并不考慮各核更高的性能要求。
本發(fā)明的各特征將從以下在附圖中示出的對較佳實施例的描述中變得顯而易見, 在附圖中相同的編號通常在各附圖中都指代相同的部分。附圖不必按比例繪出,而是重點示出本發(fā)明的各原理。圖1示出了根據(jù)本發(fā)明一個實施例對PCU的熱傳感器和架構(gòu)事件連接的圖示。圖2示出了根據(jù)本發(fā)明一個實施例的一種架構(gòu)事件功率控制器的方法的流程圖。圖3是根據(jù)本發(fā)明實施例的計算機系統(tǒng)的框圖。圖4是根據(jù)本發(fā)明一個實施例的以點對點構(gòu)造排列的計算系統(tǒng)的框圖。
具體實施例方式在隨后的描述中,將出于解釋性而非限制性的目的闡述諸如特定結(jié)構(gòu)、架構(gòu)、接口、技術(shù)等的具體細(xì)節(jié)以提供對本發(fā)明各方面的全面理解。然而,對已從本公開中獲益的本領(lǐng)域普通技術(shù)人員來說顯而易見的是可以用背離這些具體細(xì)節(jié)的其他示例來實現(xiàn)本發(fā)明的各方面。在某些情況中,省略了對公知設(shè)備、電路和方法的描述以免用不必要的細(xì)節(jié)淡化對本發(fā)明的描述。在此討論的某些實施例中的某些可用于執(zhí)行事件處理操作。在一個實施例中,“事件”指的是可能要求也可能不要求邏輯采取某動作的條件。此外,可以基于要采取的動作將各事件分類為不同的類型。在一個實施例中,“架構(gòu)事件”指的是可能被監(jiān)視的事件或條件(例如,通過將與該架構(gòu)事件相對應(yīng)的信息編程為一狀態(tài))。在一個實施例中,軟件可以配置一通道來監(jiān)視在其他情況下可能不會被軟件和/或硬件觀察的特定架構(gòu)事件。在一個實施例中,架構(gòu)事件通??梢灾冈谂c處理器相同的集成電路芯片上呈現(xiàn)的處理資源或其他邏輯內(nèi)出現(xiàn)的事件或條件。在一個實施例中,架構(gòu)事件是做出功率管理決定的一個因素。架構(gòu)事件可被廣泛地用于軟件性能優(yōu)化。通過將架構(gòu)事件算為做出功率管理決定的因素,該實施例可以有效檢測OS和turbo模式當(dāng)前都無法檢測的核執(zhí)行條件。一個實施例向功率控制單元(PCU)提供了額外的值用以使用現(xiàn)有設(shè)計做出適當(dāng)?shù)墓β蕸Q定。PCU處理熱事件,調(diào)度/管理每核的頻率增加/降低。在此實施例中,邏輯被添加給該PCU。PCU隨后獲取來自計數(shù)器的反饋以便參與做出決定來提高某一核的功率。處理器內(nèi)的架構(gòu)事件通常由在處理器的不同區(qū)域內(nèi)實現(xiàn)的一系列物理計數(shù)器檢測。這些計數(shù)器可被稱為EMON計數(shù)器。EMON計數(shù)器是駐留在每個功能單元內(nèi)且用來計數(shù)一時間段內(nèi)特定事件已出現(xiàn)的次數(shù)的性能監(jiān)視計數(shù)器??梢源嬖谟泄肊MON計數(shù)器和專用EMON計數(shù)器。公用EMON計數(shù)器是那些可由廠商和用戶訪問的EMON計數(shù)器,而專用EMON計數(shù)器則用于內(nèi)部調(diào)試。公用和專用EMON計數(shù)器都可用于軟件和硬件調(diào)諧。EMON計數(shù)器是用來了解應(yīng)用程序行為以及當(dāng)前應(yīng)用程序在處理器內(nèi)效率如何的很有用的工具。指令重試是一類EMON計數(shù)器。通過知曉每循環(huán)的指令重試,系統(tǒng)就知曉了處理器內(nèi)部正在執(zhí)行的當(dāng)前應(yīng)用程序有多快。每循環(huán)的指令重試越多,該應(yīng)用程序獲取的性能就越好。另一類EMON計數(shù)器是MLC/LLC高速緩存未命中。程序經(jīng)歷了許多MLC/LLC高速緩存未命中通常意味著它們需要更高的至系統(tǒng)互連的BW。它還意味著該程序?qū)⒁驗樵诖蠖鄶?shù)時間問題將會被停止以等待數(shù)據(jù)返回而無法有效地執(zhí)行指令。分支誤預(yù)測也是一類EMON計數(shù)器。這是一種用于示出核因其正在指令流的錯誤分支上工作而沒有做出許多“有用”工作的良好指示器。TLB未命中也是一類EMON計數(shù)器。類似于MLC/LLC未命中,TLB未命中通常意味著停止該核直到數(shù)據(jù)已返回。任何處理器內(nèi)還可以定義有更多的計數(shù)器。例如,Intel的P4處理器含有200個以上計數(shù)器。某些計數(shù)器用于性能調(diào)諧而其他則用于調(diào)試/確認(rèn)目的。以上提到的四個計數(shù)器指令重試、MLC/LLC高速緩存未命中、分支誤預(yù)測和TLB未命中是對于在此討論的功率管理頗為關(guān)鍵的計數(shù)器。然而,應(yīng)該注意到本公開不限于以上識別的計數(shù)器。相反地,本公開可以按需采用許多架構(gòu)事件。本系統(tǒng)利用一種推入總線機制,該機制能夠?qū)⑺杏嫈?shù)器串聯(lián)地連接到同一總線,因為這些計數(shù)器不需要高帶寬或高刷新率。圖1示出了根據(jù)本發(fā)明的一個實施例的對PCU的熱傳感器和架構(gòu)事件連接100的圖示。圖1示出了帶有八個核105和四個共享的末級高速緩存(LLC) 107的處理器。應(yīng)該注意到示出的八個核和四個共享的LLC僅出于說明性的目的。任何數(shù)量的核或LLC都可用于該實施例。功能單元110在各核105之間共享。P⑶115是由核105共享的單元之一。核105內(nèi)的黑方塊表示熱傳感器120。核105具有熱傳感器105來防止核105的過熱。串行推入總線125將所有傳感器120連接到總線上。推入總線125可以具有許多分支。推入總線125的第一分支127可以采用多達(dá)96個時隙,其中每個時隙都為熱傳感器 120之一所保留。在每個核105中至少有一個推入總線125的分支127。推入總線105的每一分支127都可用所有的熱傳感器120來監(jiān)視一個核105。由推入總線125從熱傳感器 120中收集來的所有數(shù)據(jù)隨后被發(fā)送給P⑶115。
通過經(jīng)由相同的串行推入總線機制和每個具有指定的時隙的計數(shù)器來鏈接不同的計數(shù)器,就可以做出類似的方法來監(jiān)視架構(gòu)事件。亮方塊是EMON計數(shù)器130。虛線135 是串行推入總線的另一分支。推入總線125的第二分支135可以采用多達(dá)96個時隙,其中每個時隙都為EMON計數(shù)器之一所保留。在每個核105中至少有一個推入總線125的一個分支135。推入總線125的每一分支135都用所有的EMON計數(shù)器130來監(jiān)視一個核105。 由推入總線125從EMON計數(shù)器130中收集來的所有數(shù)據(jù)隨后被發(fā)送給P⑶115。P⑶115可以具有極低的采樣率以檢索來自推入總線125的信息,這也是所有的傳感器可以共享一窄總線的一個原因。串行推入總線125可以不寬于10位并且以較低的采樣率運行。正由于此,監(jiān)視這些事件就不需要高帶寬。每1000循環(huán)采樣這些計數(shù)器就足夠了。采樣頻率應(yīng)該用熱傳感器調(diào)諧,以使得在架構(gòu)事件130和熱傳感器120之間做出一致的P⑶115決定。圖2示出了根據(jù)本發(fā)明一個實施例的用于架構(gòu)事件功率控制器的方法200的流程圖。該方法200在系統(tǒng)處于空閑模式205時開始。當(dāng)?shù)竭_(dá)每個定時器間隔時,架構(gòu)事件功率優(yōu)化邏輯(AEPOL)就檢測計數(shù)并判定是應(yīng)該啟動一提高功率還是降低功率序列210。對于提高功率序列而言,AEPOL詢問P⑶115以判定turbo模式是否可用215。如果turbo模式不可用,就意味著沒有備用功率可用,AEPOL就返回到空閑模式205直到下一個定時器間隔到達(dá)。如果turbo模式可用,AEPOL就啟動提高功率序列220。一旦提高功率序列完成,AEPOL就進(jìn)入空閑模式205直到下一個定時器間隔到達(dá)。對于降低功率序列而言,AEPOL通知P⑶115啟動降低功率序列225。一旦降低功率序列完成,AEPOL就進(jìn)入空閑模式205直到下一個定時器間隔到達(dá)。圖2中提及的AEPOL在每個核中實現(xiàn)。邏輯可以持續(xù)地監(jiān)視架構(gòu)事件以確保各核在其最佳功率/性能狀態(tài)下運行。在一個實施例中,對所關(guān)注的架構(gòu)事件計數(shù)進(jìn)行計數(shù)并將其發(fā)送給P⑶115。P⑶ 115隨后分析它從每個計數(shù)器中接收的計數(shù)并判定是應(yīng)該提升還是降低某一特定核105的功率。在一個實施例中,如果系統(tǒng)互連(共享的高速緩存、總線控制邏輯、管芯上的存儲器控制等)也支持功率調(diào)整,則可以使用相同的機制來調(diào)整系統(tǒng)互連邏輯。在實施例中,應(yīng)該一并參考所有被監(jiān)視的EMON計數(shù)器130,從而更好地理解AEPOL 的行為。例如,每循環(huán)低指令重試(IPC)計數(shù)并不意味著核正以低效率運行,除非知曉它還遭受著較高的高速緩存未命中和較高的分支誤預(yù)測。如下表1所示,將所關(guān)注的架構(gòu)事件一并分組以做出決定。同樣還定義了每個架構(gòu)事件計數(shù)器的閾值計數(shù)。該閾值是基于對某一具體架構(gòu)的性能研究來定義的,因為性能取決于系統(tǒng)的架構(gòu)而有所不同。在表1中,如果所有相關(guān)的架構(gòu)計數(shù)器為低,這暗示系統(tǒng)沒有遭受任何系統(tǒng)限制動作。因此,調(diào)高核頻率有助于增加該應(yīng)用程序的性能。另一方面,如果核正遭受相當(dāng)高計數(shù)的MLC/LLC未命中,增加核頻率就沒有益處,因為性能會受到對片外組件的存取等待時間的限制。在此情況下,系統(tǒng)應(yīng)該調(diào)低核頻率并將節(jié)省下的功率轉(zhuǎn)給正進(jìn)行有用工作的其他核。因此,AEPOL允許對何時打開其中性能將會提升并可被觀察的turbo做出智能決定,并且它通過微調(diào)停止執(zhí)行指令的核上的性能功率狀態(tài)而降低了功耗。權(quán)利要求
1.一種處理器,包括用以檢測架構(gòu)事件是否已在核內(nèi)出現(xiàn)的總線;以及響應(yīng)于所述架構(gòu)事件的出現(xiàn)引起一功率序列的功率單元。
2.如權(quán)利要求1所述的處理器,其特征在于,所述架構(gòu)事件是EMON計數(shù)器。
3.如權(quán)利要求1所述的處理器,其特征在于,所述功率單元是為所述核管理熱和功率事件的功率控制單元。
4.如權(quán)利要求1所述的處理器,其特征在于,所述總線是連接所述核內(nèi)全部架構(gòu)事件的串行推入總線。
5.如權(quán)利要求4所述的處理器,其特征在于,所述總線包括多個分支并且每個分支用一個核的全部架構(gòu)事件監(jiān)視所述一個核。
6.如權(quán)利要求5所述的處理器,其特征在于,所述總線把從所述架構(gòu)事件收集的全部數(shù)據(jù)發(fā)送給所述功率單元。
7.如權(quán)利要求1所述的處理器,其特征在于,還包括共享的末級高速緩存。
8.如權(quán)利要求1所述的處理器,其特征在于,還包括耦合至所述功率單元的功能單元。
9.如權(quán)利要求1所述的處理器,其特征在于,所述總線、功率單元、多個核或末級高速緩存在同一集成電路管芯上。
10.一種方法,包括生成指示架構(gòu)事件出現(xiàn)的信號;基于所述架構(gòu)事件的所述出現(xiàn)引起一功率序列。
11.如權(quán)利要求10所述的方法,其特征在于,引起一功率序列包括如果備用功率可用, 就提高所述核的功率。
12.如權(quán)利要求10所述的方法,其特征在于,引起一功率序列包括如果沒有備用功率可用,就保持空閑。
13.如權(quán)利要求10所述的方法,其特征在于,引起一功率序列包括降低所述核的功率。
14.如權(quán)利要求10所述的方法,其特征在于,所述生成信號對于每一個核都發(fā)生。
15.一種系統(tǒng),包括用以存儲與要被監(jiān)視的一個或多個事件相對應(yīng)的架構(gòu)事件數(shù)據(jù)的存儲器;用以檢測架構(gòu)事件是否已在核內(nèi)出現(xiàn)的總線;以及響應(yīng)于所述架構(gòu)事件的出現(xiàn)引起一功率序列的功率單元。
16.如權(quán)利要求15所述的系統(tǒng),其特征在于,架構(gòu)事件是EMON計數(shù)器。
17.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述功率單元是為所述核管理熱和功率事件的功率控制單元。
18.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述總線是連接所述核內(nèi)全部架構(gòu)事件的串行推入總線。
19.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述總線包括多個分支并且每個分支用一個核的全部架構(gòu)事件監(jiān)視所述一個核。
20.如權(quán)利要求19所述的系統(tǒng),其特征在于,所述總線把從所述架構(gòu)事件收集的全部數(shù)據(jù)發(fā)送給所述功率單元。
21.如權(quán)利要求15所述的系統(tǒng),其特征在于,還包括共享的末級高速緩存。
22.如權(quán)利要求15所述的系統(tǒng),其特征在于,還包括耦合至所述功率單元的功能單元。
23.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述總線、功率單元、多個核或末級高速緩存在同一集成電路管芯上。
24.如權(quán)利要求15所述的系統(tǒng),其特征在于,還包括耦合至所述存儲器的音頻設(shè)備。
全文摘要
通過將處理器架構(gòu)事件算為PMU的因素來優(yōu)化功率使用。公開了一種監(jiān)視架構(gòu)事件的方法和裝置。各架構(gòu)事件經(jīng)由推入總線機制被鏈接在一起,而其中每個架構(gòu)事件都具有指定的時隙。每個核內(nèi)都存在推入總線的至少一個分支。推入總線的每個分支都可以用所有的架構(gòu)事件監(jiān)視一個核。由推入總線從各事件收集的全部數(shù)據(jù)隨后被發(fā)送給功率控制單元。
文檔編號G06F1/20GK102200828SQ20111011873
公開日2011年9月28日 申請日期2007年12月28日 優(yōu)先權(quán)日2006年12月29日
發(fā)明者G·N·斯瑞尼瓦薩, K·V·西斯特拉, P·K·奧爾, Y-C·劉 申請人:英特爾公司