控制處理器的可配置的峰值性能極限的制作方法
【專利說明】控制處理器的可配置的峰值性能極限
【背景技術(shù)】
[0001] 半導(dǎo)體加工和邏輯設(shè)計的發(fā)展已允許可存在于集成電路器件上的邏輯的量增加。 因此,計算機(jī)系統(tǒng)配置已經(jīng)從系統(tǒng)中的單個或多個集成電路進(jìn)化至各個集成電路上的多個 硬件線程、多個核、多個設(shè)備和/或完整的系統(tǒng)。此外,隨著集成電路密度增長,計算系統(tǒng) (從嵌入式系統(tǒng)到服務(wù)器)的功率需求也逐步提高。此外,軟件低效率及其對硬件的要求也 已造成了計算設(shè)備能耗的提高。事實(shí)上,一些研宄表明計算設(shè)備消耗了國家(諸如美國) 的整個電力供應(yīng)中的顯著百分比。因此,存在對與集成電路相關(guān)聯(lián)的能效和節(jié)能的關(guān)鍵需 求。當(dāng)服務(wù)器、桌面型計算機(jī)、筆記本、超級本?、平板電腦、移動電話、處理器、嵌入式系統(tǒng) 等變得甚至更為盛行(從包括在典型計算機(jī)、汽車和電視機(jī)中到包括在生物技術(shù)中),這些 需要將增加。
[0002] 在某些軟件應(yīng)用中,跨計算集群的節(jié)點(diǎn)的各個處理器性能差異性會導(dǎo)致軟件故 障。同時,現(xiàn)代的處理器的本質(zhì)是利用諸如功率或熱約束之類的環(huán)境能力并增大處理器時 鐘頻率,直到到達(dá)這些極限中的一個或多個。在管芯與管芯硅變化的情況下,處理器操作一 般是非確定性的。對于試圖跨多個節(jié)點(diǎn)歸一化性能的許多用戶的解決方案是完全禁用其中 處理器的時鐘頻率被增大的機(jī)會性超頻模式操作。盡管這可以比較輕松地確保跨多個節(jié)點(diǎn) 的操作的確定性,但是,會丟失大量的性能。
[0003] 附圖簡述
[0004] 圖1是根據(jù)本發(fā)明一個實(shí)施例的系統(tǒng)的框圖。
[0005] 圖2是根據(jù)本發(fā)明的一個實(shí)施例的可配置的峰值性能極限控制機(jī)制的框圖。
[0006] 圖3是根據(jù)本發(fā)明的實(shí)施例的用于動態(tài)地限制處理器頻率的方法的流程圖。
[0007] 圖4是根據(jù)本發(fā)明的一個實(shí)施例的處理器的框圖。
[0008] 圖5是根據(jù)本發(fā)明的實(shí)施例的處理器的框圖。
[0009] 圖6是根據(jù)本發(fā)明一實(shí)施例的系統(tǒng)的框圖。
【具體實(shí)施方式】
[0010] 在各實(shí)施例中,可以按實(shí)現(xiàn)某種超頻模式性能優(yōu)勢而不會有通常與它相關(guān)聯(lián)的差 異性的方式,控制處理器的峰值性能級別。一般而言,處理器超頻模式操作是利用控制算法 實(shí)現(xiàn)的,這些控制算法使低于封裝級別功率預(yù)算的性能最大化,以便當(dāng)預(yù)算可用時,處理器 的一個或多個域可以以大于保證的最大頻率的頻率操作。各實(shí)施例可以特別適用于兩種情 況:當(dāng)應(yīng)用在一般低功率級別執(zhí)行時,最大化處理器核頻率;以及,當(dāng)應(yīng)用隨著低核利用率 (例如,多核處理器的8個核中的4個活躍)時,最大化處理器核頻率。
[0011] 在大量制造中,大多數(shù)處理器能夠以峰值頻率(即,對于特定基于硅的處理器,最 大峰值頻率)運(yùn)行,當(dāng)某些應(yīng)用正在運(yùn)行時,這些峰值頻率會輕松地超出平臺功率輸送約 束。這自然會產(chǎn)生軟件執(zhí)行時間的非確定性。然而,當(dāng)處理器應(yīng)用正在以較低的核利用率 運(yùn)行時,理論上可以以較高時鐘頻率運(yùn)行它們,并仍確保確定性,因?yàn)樘幚砥鞣庋b的最大可 能的功耗仍低于電壓調(diào)節(jié)器、電源以及所有功率輸送約束。如此,各實(shí)施例提供將機(jī)會性處 理器操作限制到低于這些約束中的任何一種的級別的技術(shù)。
[0012] 現(xiàn)在參考圖1,所示是根據(jù)本發(fā)明的實(shí)施例的系統(tǒng)的一部分的框圖。如圖1所示, 系統(tǒng)100可以包括各種組件,包括處理器110,如圖所示,該處理器110是多核處理器。處理 器110可以通過外部電壓調(diào)節(jié)器160耦合到電源150,調(diào)節(jié)器160可以執(zhí)行第一電壓轉(zhuǎn)換, 以向處理器110提供經(jīng)初步調(diào)節(jié)的電壓。
[0013] 可以看出,處理器110可以是包括多個核120a-120n的單管芯處理器插槽。另外,每 一個核都可以與單個電壓調(diào)節(jié)器125a-125n相關(guān)聯(lián),以允許對每一個單個核的電壓進(jìn)行細(xì) 粒度的控制,因而對每一個單個核的功率和性能進(jìn)行細(xì)粒度的控制。如此,每一個核都可以 在獨(dú)立電壓和頻率下操作,允許大靈活性,并提供用于平衡功率消耗與性能的廣泛的機(jī)會。
[0014] 仍參考圖1,額外的組件可以存在于處理器內(nèi),包括輸入/輸出接口 132、另一接口 134以及集成的存儲器控制器136??梢钥闯?,這些組件中的每一個都可以由另一集成的電 壓調(diào)節(jié)器125x來供電。在一個實(shí)施例中,接口 132可以符合Intel?快速路徑互連(QPI)協(xié) 議,該協(xié)議在高速緩存一致性協(xié)議中提供點(diǎn)對點(diǎn)(PtP)鏈路,該高速緩存一致性協(xié)議包括 多個層,包括物理層、鏈路層以及協(xié)議層。接口 134又可以符合外圍組件互連快速(PCIe?) 規(guī)范,例如,PCIExpress?規(guī)范基礎(chǔ)規(guī)范版本2. 0 (2007年1月17日)。
[0015] 還示出了功率控制單元(P⑶)138,該功率控制單元(P⑶)138可包括對于處理器 110執(zhí)行功率管理操作的硬件、軟件和/或固件。在各實(shí)施例中,PCU138可包括根據(jù)本發(fā) 明的一個實(shí)施例,將低于所支持的級別的處理器頻率和/或其他操作參數(shù)限制到動態(tài)地可 配置的極限的邏輯。此外,P⑶138還可以通過專用接口耦合到外部電壓調(diào)節(jié)器160。如 此,P⑶138可以指示電壓調(diào)節(jié)器向處理器提供請求的被調(diào)節(jié)的電壓。
[0016] 盡管為便于說明未示出,但是,可以理解,額外的組件可以存在于處理器110內(nèi), 諸如額外的非核邏輯、及其他組件,諸如內(nèi)部存儲器,例如,一個或多個級別的高速緩存存 儲器層次結(jié)構(gòu)等等。此外,盡管在圖1的實(shí)現(xiàn)中是利用集成的電壓調(diào)節(jié)器示出的,但是,各 實(shí)施例不是限制性的。
[0017] 盡管下面的實(shí)施例是參照例如計算平臺或處理器的特定集成電路中的節(jié)能和能 效來描述的,然而其它實(shí)施例適用于其它類型的集成電路和邏輯器件。在此描述的實(shí)施例 的相似的技術(shù)和教導(dǎo)可適用于也可受益于更好能效和節(jié)能的其它類型的電路或半導(dǎo)體器 件。例如,所披露的實(shí)施例不限于任何具體類型的計算機(jī)系統(tǒng),并也可用于其它設(shè)備,例如 手持設(shè)備、芯片上系統(tǒng)(SoC)以及嵌入式應(yīng)用。手持設(shè)備的一些例子包括蜂窩電話、互聯(lián)網(wǎng) 協(xié)議設(shè)備、數(shù)字相機(jī)、個人數(shù)字助理(PDA)和手持PC。嵌入式應(yīng)用一般包括微控制器、數(shù)字 信號處理器(DSP)、網(wǎng)絡(luò)計算機(jī)(上網(wǎng)本)、機(jī)頂盒、網(wǎng)絡(luò)集線器、廣域網(wǎng)(WAN)交換機(jī)或能 執(zhí)行下面教示的功能和操作的任何其它系統(tǒng)。此外,本申請中描述的裝置、方法和系統(tǒng)不限 于物理計算設(shè)備,而是也涉及用于節(jié)能和能效的軟件優(yōu)化。如將在以下描述中變得顯而易 見的,本文描述的方法、裝置和系統(tǒng)的實(shí)施例(無論是關(guān)于硬件、固件、軟件還是它們的組 合)對于"綠色技術(shù)"未來是至關(guān)重要的,諸如對于包含US經(jīng)濟(jì)大部分的產(chǎn)品的節(jié)能和能 量效率。
[0018] 注意,此處所描述的可配置的頻率和/或其他操作參數(shù)控制可以獨(dú)立于基于操作 系統(tǒng)(OS)的機(jī)制,諸如高級配置和平臺接口(ACPI)標(biāo)準(zhǔn)(例如,2006年10月10日發(fā)布的 Rev. 3.Ob),并與其互補(bǔ)。根據(jù)ACPI,處理器可以操作在各種性能狀態(tài)或級別,S卩,從PO到 PN。一般而言,Pl性能狀態(tài)可以對應(yīng)于可以由OS請求的最高保證的性能狀態(tài)。除此Pl狀 態(tài)之外,OS還可以請求較高性能狀態(tài),S卩,PO狀態(tài)。如此,此PO狀態(tài)可以是機(jī)會性狀態(tài)或 超頻模式狀態(tài),其中,當(dāng)有電能和/或熱預(yù)算可用時,處理器硬件可以配置處理器或其至少 一些部分以高于保證的頻率操作。在許多實(shí)現(xiàn)中,處理器可包括高于保證的最大頻率的多 個所謂的元頻率,也被稱為Pl頻率,超出特定處理器的最大峰值頻率,這是在制造過程中 熔合或以別的方式寫入到處理器中。另外,根據(jù)ACPI,處理器還可以在各種功率狀態(tài)或級 別下操作。相對于功率狀態(tài),ACPI指定不同的功率消耗狀態(tài),一般被稱為C狀態(tài),CO,Cl到 Cn狀態(tài)。當(dāng)核活躍時,它在CO狀態(tài)運(yùn)行,而當(dāng)核空閑時,它可以被置于核低功率狀態(tài),也叫 做核非零C狀態(tài)(例如,C1-C6狀態(tài)),每一個C狀態(tài)都處于低功率消耗級別(以便C6是比 Cl更株的低功率狀態(tài),等等)。
[0019] 各實(shí)施例為諸如軟件實(shí)體之類的實(shí)體提供作為活躍的核的數(shù)量的函數(shù)控制處理 器峰值頻率級別的接口。默認(rèn)地,處理器被配置成利用在高達(dá)硅的最大頻率能力的頻率操 作的活躍的核操作,其中,此最大峰值頻率作為一個或多個熔合值(諸如用于給定數(shù)量的 活躍的核的給定最大峰值頻率)被配置到處理器。通常,當(dāng)請求處理器在ACPIPO狀態(tài)下 操作時,此最大峰值頻率對應(yīng)于在最高超頻模式下可用的值。注意,如此,此最大頻率高于 保證的最大頻率(諸如ACPIPl狀態(tài))。通過使用本發(fā)明的實(shí)施例,可以通過導(dǎo)致較低的每 個核超頻頻率約束被這些算法使用,可以降低或消減(clipped)頻率控制算法可用的最大 峰值頻率。在一個實(shí)施例中,可以提供接口,以使諸如基本輸入/輸出系統(tǒng)(BIOS)配置代 碼之類的軟件能設(shè)置這些消減值(此處也被稱為消減或約束頻率)。雖然此處所描述的特 定示例關(guān)于通過核頻率控制的核域控制,但是,可以理解,類似的技術(shù)可用于控制處理器的 其他領(lǐng)域,諸如圖形域、互連域、非核域等等。
[0020] 可以提供可配置的每核頻率極限,這些可配置的每核頻率極限可以作為正在執(zhí)行 的工作負(fù)荷的類型的函數(shù)被更新,假設(shè)用戶具有工作負(fù)荷的特征的先驗(yàn)知識。如此,對于某 些應(yīng)用,消費(fèi)者可以基于應(yīng)用的先驗(yàn)知識,配置這些值。在一個實(shí)施例中,這些最大超頻頻 率約束(這是通常比最大峰值頻率的處理器配置的熔合值低的值的一組約束)可以在運(yùn)行 時動態(tài)地配置。
[0021] 此控制接口可用于一般地覆蓋所有工作負(fù)荷,它也可以被用來自動地校準(zhǔn)峰值性 能級別,假設(shè)用戶可以預(yù)測它將先驗(yàn)地運(yùn)行的工作負(fù)荷的類型。為執(zhí)行此校準(zhǔn),軟件可以運(yùn) 行工作負(fù)荷套件,并掃描超頻頻率約束以確定失效面。用戶可以通過