用于具有非同構(gòu)性能狀態(tài)的多核處理器的熱扼制的自適應算法
【技術(shù)領(lǐng)域】
[0001] 多個實施例涉及系統(tǒng)的功率管理和熱管理,更具體而言,涉及多核處理器的功率 管理和熱管理。
【背景技術(shù)】
[0002] 半導體處理和邏輯設(shè)計的進步已允許可存在于集成電路器件上的邏輯數(shù)量的增 長。結(jié)果,計算機系統(tǒng)配置已從系統(tǒng)中的單個或多個集成電路演進到單個集成電路上的多 個硬件線程、多個核、多個設(shè)備和/或多個完整系統(tǒng)。另外,隨著集成電路的密度增長,對計 算系統(tǒng)(從嵌入式系統(tǒng)到服務器)的功率要求也逐步升高。此外,軟件的低效率以及其對 硬件的要求也已導致計算設(shè)備能耗的增加。事實上,一些研究指出,計算設(shè)備消耗了諸如美 國之類的國家的全部電力供應中相當大的百分比。結(jié)果,具有與集成電路相關(guān)聯(lián)的能效和 節(jié)能的迫切需求。隨著服務器、臺式計算機、筆記本、超極本?、平板、移動電話、處理器、嵌 入式系統(tǒng)等變得越來越流行(從被包括在典型的計算機、汽車和電視機中到生物技術(shù)中), 這些需求將增長。
【附圖說明】
[0003] 圖1是根據(jù)本發(fā)明的一個實施例的系統(tǒng)的框圖。
[0004] 圖2是根據(jù)本發(fā)明的實施例的配置方法的流程圖。
[0005] 圖3A是根據(jù)實施例的用于執(zhí)行自適應熱控制技術(shù)的方法的流程圖。
[0006] 圖3B是根據(jù)另一實施例的自適應熱控制方法的流程圖。
[0007] 圖4是根據(jù)本發(fā)明實施例的熱控制邏輯的框圖。
[0008] 圖5是根據(jù)本發(fā)明的實施例的處理器的框圖。
[0009] 圖6是根據(jù)本發(fā)明的另一實施例的多域處理器的框圖。
[0010] 圖7是根據(jù)本發(fā)明的實施例的包括多個核的處理器的框圖。
[0011] 圖8是根據(jù)本發(fā)明的實施例的系統(tǒng)的框圖。
[0012] 圖9是根據(jù)本發(fā)明的另一實施例的處理器的框圖。
[0013] 圖10是根據(jù)本發(fā)明的實施例的代表性SoC的框圖。
[0014] 圖11是根據(jù)本發(fā)明的另一實施例的另一示例系統(tǒng)SoC的框圖。
[0015] 圖12是可利用其來使用多個實施例的示例系統(tǒng)的框圖。
[0016] 圖13是可利用其來使用多個實施例的另一示例系統(tǒng)的框圖。
【具體實施方式】
[0017] 在各實施例中,諸如多核處理器、片上系統(tǒng)(SoC)或其他此類處理器之類的處理 器可提供一個或多個熱機制的自適應控制。結(jié)果,可獨立地對處理器的每個處理邏輯(例 如,處理器核、圖形處理器和/或其他此類處理引擎)進行熱控制。按此方法,多個實施例可 避免處理器中熱點的創(chuàng)建,并且/或者可對此類熱點的發(fā)生快速反應以維持高性能等級, 同時減少可能導致性能降級的熱事件。
[0018] 每個核的性能狀態(tài)(P狀態(tài))使多核處理器的不同核能夠在不同的操作電壓/ 頻率點運行,這具有導致在不同的核中發(fā)生不同等級的硅加熱的副作用。由于由有效地 將功率預算分配給不同的核的機制動態(tài)地調(diào)節(jié)各個核的操作點,因此,當給定的核升溫并 且受到熱扼制(throttle)時,功率預算的增長對其他核可用,從而潛在地導致其他核升 溫并扼制。在這段時間期間,首先受到熱扼制的核已冷卻,并且隨后可能產(chǎn)生P狀態(tài)(和 功率)的提升,并且再次過熱。取決于每個核的工作負荷,當多個核全都以混亂的方式 升溫,熱扼制并再次升溫時,該情形可能橫跨這些核發(fā)生。將這類情形通俗地稱為"打鼴 鼠"("whack-a-mole")問題,因為不同核的溫度"突然升高"("pop up"),需要熱扼制, 卻使其他核突然升高,并且可能導致利用多核處理器的系統(tǒng)性能不穩(wěn)定。
[0019] 使用本文中所述的自適應熱扼制技術(shù),實現(xiàn)了提升的性能,因為每個核的P狀態(tài) 并不嚴格地受最熱的核的限制;經(jīng)由使其響應適應于處理器的總體溫度輪廓的協(xié)調(diào)算法來 管理核溫度。處理器的較熱的熱輪廓導致較激進的扼制,最劇烈的扼制用于最熱的核。反 過來,具有較冷的熱輪廓的處理器(但是其中仍然有至少一個核在最低的溫度閾值之上) 導致較不激進的扼制,但是較劇烈的扼制仍用于最熱的核。相反,當所有核低于最低的溫度 閾值時,溫和地退出扼制以避免快速返回到熱扼制狀態(tài)。此類行為通過改動扼制等級而不 是調(diào)節(jié)溫度閾值提供了滯后(hysteresis)。
[0020] 由此,在多個實施例中,可獨立地扼制微處理器的所有核,并且當任何核高于熱閾 值時,至少輕微地扼制微處理器的所有核。反過來,可較激進地扼制較熱的核,這可有效抑 制其中多個核突然進入或脫離扼制狀態(tài)的不穩(wěn)定的固有響應。
[0021] 根據(jù)各實施例,可至少部分地基于多個核或其他處理引擎中的每一個的熱狀態(tài)來 執(zhí)行多遍的(multi-pass)自適應技術(shù)以確定這些引擎中的一個或多個是否已超出多個熱 閾值中的一個。如果是,則可在冒犯性(offending)引擎(即超出給定熱閾值的那些引擎) 和非冒犯性(non-offending)引擎(即不超出任何熱閾值的那些引擎)兩者上執(zhí)行獨立的 以及潛在不同的扼制技術(shù)。注意,對非冒犯性引擎的扼制因此是搶先式(preemptive)扼 制。此外,相比不超出任何熱閾值的較冷的引擎,可更激進地扼制較熱的引擎。
[0022] 現(xiàn)在參考圖1,所示是根據(jù)本發(fā)明的實施例的系統(tǒng)的部分的框圖。如圖1所示,系 統(tǒng)100可以包括各種組件,其包括所示為多核處理器的處理器110。處理器110可經(jīng)由外部 電壓調(diào)節(jié)器160耦合至電源150,該外部電壓調(diào)節(jié)器160可執(zhí)行第一電壓轉(zhuǎn)換以將主調(diào)節(jié)電 壓提供給處理器110。
[0023] 如所看到的那樣,處理器110可以是包括多個核1203_120"的單管芯處理器。每一 個核120可包括用于使溫度或其他熱信息用于如本文中所述的熱控制的一個或多個對應 的熱傳感器122。-122"。此外,每一個核可與集成的調(diào)壓器(IVR)125 a-125n相關(guān)聯(lián),這些集 成的調(diào)壓器接收主調(diào)節(jié)電壓,并生成操作電壓,以提供給與IVR相關(guān)聯(lián)的處理器的一個或 多個代理。相應地,可提供IVR實現(xiàn)以允許對每一個單個核的電壓進而對功率和性能進行 細粒度的控制。由此,每一個核都可在獨立的電壓和頻率下操作,從而允許極大的靈活性, 并提供平衡功耗與性能的廣泛機會。
[0024] 仍參考圖1,附加的組件可存在于處理器內(nèi),包括輸入/輸出接口 132、另一接口 134以及集成存儲器控制器136。如所看到的那樣,這些組件中的每一個都可以由另一集成 的電壓調(diào)節(jié)器125x來供電。在一個實施例中,接口 132可符合英特爾快速路徑互連(QPI) 協(xié)議,該協(xié)議在包括多個層的高速緩存一致性協(xié)議中提供點對點(PtP)鏈路,多個層包括 物理層、鏈路層和協(xié)議層。接口 134轉(zhuǎn)而可符合外圍組件互連快速(PCIe?)規(guī)范,例如,PCI 快速?規(guī)范基礎(chǔ)規(guī)范版本2. O (2007年1月17日發(fā)布)。
[0025] 還示出了功率控制單元(P⑶)138,其可包括用于針對處理器110執(zhí)行功率管理操 作的硬件、軟件和/或固件。如所看到的那樣,PCU 138經(jīng)由數(shù)字接口將控制信息提供給外 部電壓調(diào)節(jié)器160以使該電壓調(diào)節(jié)器生成合適的經(jīng)調(diào)節(jié)電壓。P⑶138也經(jīng)由另一數(shù)字接 口將控制信息提供給多個IVR 125以控制所生成的操作電壓(或使對應的IVR在低功率模 式下被禁用)。在各實施例中,PCU 138可包括熱控制邏輯,該熱控制邏輯用于獨立地且自 適應地控制對具有不同性能狀態(tài)的一個或多個核的扼制。
[0026] 盡管為了易于說明,沒有示出諸如非核(uncore)邏輯和其他組件(諸如,內(nèi)部存 儲器(例如,一個或多個層級的高速緩存存儲器層次結(jié)構(gòu)等))之類的附加組件可存在于處 理器110內(nèi),但可理解這一點。此外,盡管在圖1的實現(xiàn)中示出為具有集成的調(diào)壓器,但是, 多個實施例不限于此。
[0027] 雖然參考在諸如計算平臺或處理器之類的特定集成電路中的節(jié)能和能效描述了 以下多個實施例,但是其他實施例也適用于其他類型的集成電路和邏輯設(shè)備??蓪⒈疚闹?所描述的多個實施例的類似技術(shù)和教導應用于也可受益于更佳的能效和節(jié)能的其他類型 的電路或半導體器件。例如,所公開的多個實施例不限于任何特定類型的計算機系統(tǒng),并且 也可用于諸如手持式設(shè)備、SoC和嵌入式應用之類的其他設(shè)備中。手持式設(shè)備的一些示例 包括,蜂窩電話、網(wǎng)際協(xié)議設(shè)備、數(shù)碼相機、個人數(shù)字助理(PDA)和手持式PC。嵌入式應用通 常包括微控制器、數(shù)字信號處理器(DSP)、網(wǎng)絡(luò)計算機(NetPC)、機頂盒、網(wǎng)絡(luò)集線器、廣域 網(wǎng)(WAN)交換機,或能夠執(zhí)行以下所教導的功能和操作的任何其他系統(tǒng)。此外,本文中描述 的裝置、方法和系統(tǒng)不限于物理計算設(shè)備,而也可涉及用于節(jié)能和能效的軟件優(yōu)化。如將在 以下描述變得顯而易見的那樣,本文中描述的方法、裝置和系統(tǒng)的多個實施例(無論是關(guān) 于硬件、固件、軟件還是它們的組合)對于"綠色技術(shù)"的未來(諸如,對于涵蓋美國經(jīng)濟大 部分的產(chǎn)品的節(jié)能和能效)是至關(guān)重要的。
[0028] 注意,本文中所描述的自適應熱控制可獨立于基于操作系統(tǒng)(OS)的機制(諸如, 高級配置和平臺接口(ACPI)標準(例如,2006年10月10日發(fā)布的Rev. 3.0b)),并與其互 補。根據(jù)ACPI,處理器可在各種性能狀態(tài)或等級(所謂的P狀態(tài),即從PO到PN)上操作。 一般而言,Pl性能狀態(tài)可對應于可由OS請求的最高保證的性能狀態(tài)。除此Pl狀態(tài)之外, OS可進一步請求更高的性能狀態(tài),即,PO狀態(tài)。該PO狀態(tài)因此可以是機會型狀態(tài)或超頻模 式狀態(tài),在該狀態(tài)中,當功率和/或熱預算是可用的時候,處理器硬件可配置處理器或其至 少多個部分,以便以高于保證頻率的頻率進行操作。在許多實現(xiàn)中,處理器可包括高于Pl 保證的最大頻率的多個所謂的元(bin)頻率,該頻率超出特定處理器的最大峰值頻率,在 制造期間融合或以其他方式寫入到處理器中。此外,根據(jù)ACPI,處理器也可在各種功率狀態(tài) 或等級上進行操作。對于功率狀態(tài),ACPI指定不同的功耗狀態(tài),一般將其稱為C狀態(tài)(C0、 Cl到Cn狀態(tài))。當核是活動的時候,它以CO狀態(tài)運行,而當該核是空閑的時候,可將其置 于核低功率狀態(tài),也將其稱為核非零C狀態(tài)(例如,C1-C6狀態(tài)),每一個C狀態(tài)都處于更低 的功耗等級(使得C6是比Cl更深的低功率狀態(tài),等等)。當處理器受約束(例如,功率和 /或熱約束)時,可采用附加的功耗等級。在實施例中,此類狀態(tài)可包括具有最小操作頻率 和/或電壓的CO狀態(tài)(在本文中被稱為Pn或Pm狀態(tài))。
[0029] 多個實施例可監(jiān)測對橫跨處理器或SoC的核或其他處理引擎的熱輪廓的總體評 估,并且采取合適的扼制動作,其中扼制的嚴重度是總體熱輪廓的函數(shù)。熱核是被最劇烈地 扼制的,但是一旦任何核已超出溫度閾值,則搶先地稍微扼制所有核。如果熱輪廓繼續(xù)升 溫,則對已超出所指定的熱閾值的最熱的核采取更激進的動作,但是也更多地稍微扼制較 冷的核以防止它們越過熱閾值并需要激進的扼制,那樣當然降低了性能。通過搶先地稍微 扼制不超過任何熱閾值的多個核扼制,多個實施例可將最高可能的性能維持在熱預算或熱 包絡(luò)下。
[0030] 在實施例中,可使用多遍(multiple-pass)的方法,按此方法,可分配多個核或基 于它們的溫度和/或最熱核的溫度對這些核估值。然后,基于該經(jīng)評估的值,可熱扼制一 個或多個核,經(jīng)由性能狀態(tài)降低使經(jīng)扼制的核實現(xiàn)冷卻的益處。取決于溫度,可產(chǎn)生不同 等級的扼制,其中,在一個實施例中,一個P狀態(tài)的降低對應于使操作頻率減少一個頻率元 (bin),并且將操作電壓減少到電壓/頻率表中對應的電壓。取決于配置值的值,如果指示 了更高等級的扼制,則可將P狀態(tài)降低到Pn(最小電壓(V_)處的最大頻率)或Pm(最小 頻率)。
[0031] 現(xiàn)在參考圖2,所示為根據(jù)本發(fā)明的實施例的配置方法的流程圖。如圖2中所示, 在實施例中,可由可以是諸如PCU之類的功率控制器的部分的熱控制邏輯來執(zhí)行方法200。 當然會理解,在其他實施例中,可由硬件、軟件和/或