實施例涉及系統的功率管理,并且更具體地說,涉及多核處理器的功率管理。
背景技術:
半導體工藝和邏輯設計中的進步已經允許在集成電路器件上可存在的邏輯量增大。作為結果,計算機系統配置已經從系統中的單個或多個集成電路演進成多個硬件線程、多核、多裝置和/或各個集成電路上的完整系統。此外,隨著集成電路的密度已經增長,對于計算系統(從嵌入式系統到服務器)的功率要求也已經逐步升級。更進一步,軟件無效性以及其對硬件的要求也已經引起在計算裝置能耗上的增大。實際上,一些研究指示,計算裝置消耗了一個國家(諸如美利堅合眾國)的整個電力供應的相當大的百分比。因此,存在對于與集成電路關聯的能量效率和能量節約的關鍵需要。這些需要將隨著服務器、臺式計算機、筆記本、ultrabooks?、平板計算機、移動電話、處理器、嵌入式系統等變得愈加流行(從包含在典型的計算機、汽車和電視中到生物技術)而增大。
附圖說明
圖1是按照本發明實施例的系統一部分的框圖。
圖2是按照本發明實施例的處理器的框圖。
圖3是按照本發明另一實施例的多域處理器的框圖。
圖4是包含多核的處理器的實施例。
圖5是按照本發明一個實施例的處理器核的微架構的框圖。
圖6是按照另一實施例的處理器核的微架構的框圖。
圖7是按照還有的另一實施例的處理器核的微架構的框圖。
圖8是按照仍有的進一步實施例的處理器核的微架構的框圖。
圖9是按照本發明另一實施例的處理器的框圖。
圖10是按照本發明實施例的代表性soc的框圖。
圖11是按照本發明實施例的另一示例soc的框圖。
圖12是能使用實施例的示例系統的框圖。
圖13是可使用實施例的另一示例系統的框圖。
圖14是代表性計算機系統的框圖。
圖15是按照本發明實施例的系統的框圖。
圖16是按照實施例的系統一部分的框圖。
圖17是按照本發明實施例用于動態控制系統裝置的功率限制的方法的流程圖。
圖18是按照本發明實施例的功率控制邏輯的框圖。
圖19是按照本發明另一實施例的方法的流程圖。
具體實施方式
許多平臺諸如便攜式、連接的、電池操作的裝置(示例包含蜂窩電話諸如智能電話、平板計算機、膝上型電腦、健康跟蹤器、全球定位系統(gps)單元和可穿戴裝置或其它物聯網(iot)裝置)具有消耗突發的較高活動性的組件。此類組件的示例包含無線通信組件(例如3g/4g/lte調制解調器、局域和廣域無線網絡裝置、近場通信裝置、其它無線電)、gps傳感器和攝像機,及其它。
系統或平臺設計成具有最大功率規范,其中功率遞送系統設計成提供此類功率。然而,將平臺功率遞送系統設計成基于所有平臺組件的最壞情況功耗之和來遞送最大功率在價格、大小(空間容積)、重量和復雜性方面是成本高的。代替對于組件的最壞情況功耗之和級別來設計功率遞送系統,降額某一靜態量,能導致其中降額不是在所有時間都有效(并且從而平臺不能如期望地操作)的情況。
實施例可提供具有減小的大小、成本等的平臺設計,因為功率控制實體可配置成動態地使平臺的一個或更多裝置進入(和退出)較高功耗模式,本文稱為裝置turbo模式,以對于使用較高功耗的裝置能夠實現使用情況的動態執行。
盡管參考特定集成電路中(諸如在計算平臺或處理器中)的能量節約和能量效率描述了如下實施例,但其它實施例可應用于其它類型集成電路和邏輯器件。本文描述的實施例的類似技術和教導可應用于其它類型電路或半導體器件,它們也可受益于更好的能量效率和能量節約。例如,所公開的實施例不限于任何具體類型的計算機系統。也就是,所公開的實施例能用在許多不同系統類型中,范圍從服務器計算機(例如塔、架、刀片、微服務器等等)、通信系統、存儲系統、任何配置的臺式計算機、膝上型電腦、筆記本、和平板計算機(包含2:1平板計算機、平板手機等等),并且還可用在其它裝置中,諸如手持裝置、片上系統(soc)和嵌入式應用。手持裝置的一些示例包含蜂窩電話(諸如智能電話)、因特網協議裝置、數字攝像機、個人數字助理(pda)和手持pc。嵌入式應用通常可包含微控制器、數字信號處理器(dsp)、網絡計算機(netpc)、機頂盒、網絡集線器、廣域網(wan)交換機、可穿戴裝置或者能執行下面教導的功能和操作的任何其它系統。更是如此,實施例可實現在具有標準語音功能性的移動終端(諸如移動電話、智能電話和平板手機)中,和/或實現在沒有標準無線語音功能通信能力的非移動終端(諸如許多可穿戴、平板、筆記本、臺式、微服務器、服務器等等)中。而且,本文描述的設備、方法和系統不限于物理計算裝置,而且還可涉及用于能量節約和效率的軟件優化。正如將在下面描述中變得容易顯而易見的是,本文描述的方法、設備和系統的實施例(不管是關于硬件、固件、軟件或是它們的組合)對“綠色技術”未來諸如對于涵蓋大部分美國經濟的產品上的功率節約和能量效率都是至關重要的。
現在參考圖1,示出的是按照本發明實施例的系統一部分的框圖。如圖1中所示,系統100可包含各種組件,包含處理器110,處理器110如所示是多核處理器。處理器110可經由外部電壓調節器160耦合到電源150,外部電壓調節器160可執行第一電壓轉換以向處理器110提供初級調節電壓。
如所看到的,處理器110可以是包含多核120a-120n的單管芯處理器。此外,每個核可與集成電壓調節器(ivr)125a-125n關聯,其接收初級調節電壓并生成操作電壓以提供給與ivr關聯的處理器的一個或更多代理。相應地,可提供ivr實現以允許對電壓且因而每個單獨核的功率和性能的細粒度控制。像這樣,每個核能操作在獨立的電壓和頻率下,能夠實現很大的靈活性,并給予廣泛的機會以便平衡功耗與性能。在一些實施例中,使用多個ivr能夠實現組件分組到單獨的功率平面中,使得功率被調節,并由ivr僅提供給該組中的那些組件。在功率管理期間,當處理器被置于某一低功率狀態時,可使一個ivr的給定功率平面掉電或停電,而另一ivr的另一功率平面保持活動,或者完全供電。
仍參考圖1,在處理器內可存在附加組件,包含輸入/輸出接口132、另一接口134和集成存儲器控制器136。如所看到的,這些組件中的每個可由另一集成電壓調節器125x供電。在一個實施例中,接口132可能夠實現intel?快速路徑互連(qpi)互連的操作,其提供在包含多層(包含物理層、鏈路層和協議層)的高速緩存一致性協議中的點對點(ptp)鏈路。進而,接口134可經由外圍組件互連高速(pcie?)協議進行通信。
還示出了功率控制單元(pcu)138,其可包含硬件、軟件和/或固件以執行有關處理器110的功率管理操作。如所看到的,pcu138經由數字接口向外部電壓調節器160提供控制信息以使電壓調節器生成適當的調節電壓。pcu138還經由另一數字接口向ivr125提供控制信息,以控制生成的操作電壓(或使對應ivr在低功率模式下被禁用)。在各種實施例中,pcu138可包含各種各樣的功率管理邏輯單元以執行基于硬件的功率管理。此類功率管理可整個是處理器控制的(例如由各種處理器硬件,并且其可由工作負載和/或功率、熱或其它處理器約束所觸發),和/或功率管理可響應于外部源(諸如平臺或管理功率管理源或系統軟件)被執行。
進一步如本文所描述的,pcu138可包含附加功率控制邏輯以輔助耦合到處理器100的裝置(諸如移動系統的一個或更多組件)的功率管理活動,用來使給定裝置進入增大性能狀態持續有限的持續時間以使該裝置能夠執行具體操作或功能,并且然后返回到較低性能(和功率)狀態。此外,此類功率控制邏輯可在系統的多個裝置之間協調功率管理,以使裝置能夠進入增大功率(和性能)狀態以執行具體使用情況,而同時使一個或更多其它裝置進入較低功率(和性能)狀態以能夠實現該使用情況,如本文進一步所描述的。
雖然為了易于說明而未被示出,但要理解到,在處理器110內可存在附加組件,諸如非核邏輯,以及其它組件,諸如內部存儲器,例如高速緩存存儲器層級的一級或更多級,等等。更進一步,雖然在圖1的實現中示出具有集成電壓調節器,但實施例不被如此限制。
要指出,本文描述的功率管理技術可獨立于基于操作系統(os)的功率管理(ospm)機制,以及作為其的補充。根據一個示例ospm技術,處理器能操作在各種性能狀態或級別,所謂的p狀態,即從p0到pn。一般而言,p1性能狀態可對應于os能請求的最高保證的性能狀態。除了這個p1狀態,os能進一步請求較高性能狀態,即p0狀態。這個p0狀態從而可以是機會型或turbo模式狀態,其中當功率和/或熱預算可用時,處理器硬件能將處理器或至少其部分配置成操作在高于保證的頻率。在許多實現中,處理器能包含在p1保證的最大頻率以上的多個所謂格頻率(binfrequency),其超過如在制造期間熔合的或以其它方式寫入處理器的具體處理器的最大峰值頻率。此外,根據一個ospm機制,處理器能操作在各種功率狀態或級別。關于功率狀態,ospm機制可規定不同的功耗狀態,一般稱為c狀態,c0、c1至cn狀態。當核活動時,它運行在c0狀態,而當核空閑時,它可處于核低功率狀態中,也稱為核非零c狀態(例如c1-c6狀態),其中每個c狀態在較低功耗級別(使得c6是比c1更深的低功率狀態,等等)。
要理解到,在不同實施例中可單獨或組合使用許多不同類型的功率管理技術。作為代表性示例,功率控制器可以控制處理器按照某一形式的動態電壓頻率定標(dvfs)來受功率管理,其中一個或更多核或其它處理器邏輯的操作電壓和/或操作頻率可被動態控制以在某些情形下降低功耗。在一個示例中,dvfs可使用從英特爾公司,santaclara,ca可得到的增強英特爾speedstep?技術來被執行,以提供在最低功耗級別的最優性能。在另一示例中,dvfs可使用英特爾turboboost?技術來被執行,以使一個或更多核或其它計算引擎能夠基于條件(例如工作負載和可用性)操作在高于保證的操作頻率。
在某些示例中可使用的另一功率管理技術是在不同計算引擎之間的工作負載的動態調換。例如,處理器可包含操作在不同功耗級別的不對稱核或其它處理引擎,使得在功率受限的情形下,一個或更多工作負載能被動態切換以在較低功率核或其它計算引擎上執行。另一示范功率管理技術是硬件工作循環(hdc),其可使核和/或其它計算引擎根據工作循環定期被啟用和禁用,使得一個或更多核在工作循環的不活動周期期間變得不活動,并且在工作循環的活動周期期間變得活動。盡管用這些具體示例進行了描述,但要理解,在具體實施例中可使用許多其它功率管理技術。
實施例能在各種市面上的處理器中被實現,包含服務器處理器、臺式處理器、移動處理器等等。現在參考圖2,示出的是按照本發明實施例的處理器的框圖。如圖2中所示,處理器200可以是多核處理器,包括多個核210a-210n。在一個實施例中,每個此類核可具有獨立功率域,并且能配置成基于工作負載進入和退出活動狀態和/或最大性能狀態。各種核可經由互連215耦合到包含各種組件的系統代理或非核220。如所看到的,非核220可包含可以是末級高速緩存的共享高速緩存230。此外,非核可包含集成存儲器控制器240以例如經由存儲器總線與系統存儲器(圖2中未示出)通信。非核220還包含各種接口250和功率控制單元255,其可包含執行本文描述的功率管理技術的邏輯。在所示出的實施例中,功率控制單元255包含功率控制邏輯256,其可配置成執行對于耦合的裝置的功率管理操作,以使一個或更多此類裝置能夠適時地進入裝置turbo模式以執行期望使用情況的具體操作或功能。
此外,通過接口250a-250n,能進行到各種片外(off-chip)組件諸如外圍裝置、大容量存儲裝置等的連接。雖然在圖2的實施例中用這個具體實現示出,但本發明的范圍不受限在這個方面中。
現在參考圖3,示出了按照本發明另一實施例的多域處理器的框圖。如在圖3的實施例中所示出的,處理器300包含多域。具體地說,核域310能包含多個核3100-310n,圖形域320能包含一個或更多圖形引擎,并且可進一步存在系統代理域350。在一些實施例中,系統代理域350可不同于核域而執行在獨立的頻率,并且可總是保持上電,以處置功率控制事件和功率管理,使得能控制域310和320動態地進入和退出高功率及低功率狀態。域310和320中的每個都可在不同電壓和/或功率下操作。要指出,雖然僅用三個域示出,但要理解,本發明的范圍不限于這方面,并且在其它實施例中能存在附加域。例如,可存在多個核域,每個包含至少一個核。
一般而言,每個核310除了各種執行單元和附加處理元件之外可進一步包含低級高速緩存。進而,各種核可耦合到彼此以及由多個末級高速緩存(llc)3400-340n單元形成的共享高速緩存存儲器。在各種實施例中,llc340可在核與圖形引擎以及各種媒體處理電路之間被共享。如所看到的,環形互連330從而將核耦合在一起,并提供核、圖形域320與系統代理電路350之間的互連。在一個實施例中,互連330能是核域的部分。然而,在其它實施例中,環形互連能具有它自己的域。
如進一步所看到的,系統代理域350可包含顯示器控制器352,其可提供對關聯顯示器的控制及對關聯顯示器的接口。如進一步所看到的,系統代理域350可包含功率控制單元355,其能包含執行本文描述的功率管理技術的邏輯。在所示出的實施例中,功率控制單元355包含功率控制邏輯356,其可配置成執行對耦合的裝置的功率管理操作,以使一個或更多此類裝置能夠適時地進入裝置turbo模式來執行期望使用情況的具體操作或功能。
如圖3中所進一步看到的,處理器300能進一步包含集成存儲器控制器(imc)370,其能提供到系統存儲器(諸如動態隨機存取存儲器(dram))的接口。可存在多個接口3800-380n以能夠實現處理器與其它電路之間的互連。例如,在一個實施例中,可提供至少一個直接媒體接口(dmi)接口以及一個或更多pcie?接口。更進一步,為了提供其它代理諸如附加處理器或其它電路之間的通信,還可提供一個或更多qpi接口。盡管圖3的實施例中在這個高級別示出,但要理解,本發明的范疇不受限在這個方面中。
參考圖4,示出了包含多核的處理器的實施例。處理器400包含任何處理器或處理裝置,諸如微處理器、嵌入式處理器、數字信號處理器(dsp)、網絡處理器、手持處理器、應用處理器、協處理器、片上系統(soc)或執行代碼的其它裝置。在一個實施例中,處理器400包含至少兩個核——核401和核402,它們可包含不對稱核或對稱核(所示出的實施例)。然而,處理器400可包含任何數量的處理元件,它們可以是對稱的或不對稱的。
在一個實施例中,處理元件指的是支持軟件線程的硬件或邏輯。硬件處理元件的示例包含:線程單元、線程槽、線程、處理單元、上下文、上下文單元、邏輯處理器、硬件線程、核、和/或任何其它元件,其能夠保持處理器的狀態,諸如執行狀態或架構狀態。換言之,處理元件在一個實施例中指的是能夠與代碼(諸如軟件線程、操作系統、應用或其它代碼)獨立關聯的任何硬件。物理處理器通常指的是集成電路,其潛在地包含任何數量的其它處理元件,諸如核或硬件線程。
核經常指的是位于集成電路上能夠維持獨立架構狀態的邏輯,其中每個獨立維持的架構狀態與至少一些專用執行資源相關聯。與核相比,硬件線程通常指的是位于集成電路上能夠維持獨立架構狀態的任何邏輯,其中獨立維持的架構狀態共享對執行資源的訪問。如能夠看到的,當某些資源被共享并且其它資源專用于架構狀態時,核與硬件線程的命名之間的線路交疊。不過,核和硬件線程被操作系統視為單獨邏輯處理器,其中操作系統能夠在每個邏輯處理器上單獨地調度操作。
如圖4中所示出的物理處理器400包含兩個核,核401和402。在此,核401和402被視為對稱核,即,具有相同配置、功能單元和/或邏輯的核。在另一實施例中,核401包含無序(out-of-order)處理器核,而核402包含有序(in-order)處理器核。然而,核401和402可各自選自任何類型核,諸如原生核、軟件管理核、適合于執行原生指令集架構(isa)的核、適合于執行轉換的isa的核、協同設計的核或其它已知核。然而為了推進論述,下面更詳細描述在核401中示出的功能單元,因為核402中的單元以類似方式操作。
如所描繪的,核401包含兩個硬件線程401a和401b,它們也可被稱為硬件線程槽401a和401b。因此,軟件實體(諸如操作系統)在一個實施例中潛在地將處理器400視為四個單獨處理器,即,能夠同時執行四個軟件線程的四個邏輯處理器或處理元件。如上面所影射的,第一線程與架構狀態寄存器401a關聯,第二線程與架構狀態寄存器401b關聯,第三線程可與架構狀態寄存器402a關聯,并且第四線程可與架構狀態寄存器402b關聯。在此,每一個架構狀態寄存器(401a、401b、402a和402b)可被稱為處理元件、線程槽或線程單元,正如上面所描述的。如所示出的,在架構狀態寄存器401b中復制架構狀態寄存器401a,因此各個架構狀態/上下文能夠被存儲用于邏輯處理器401a和邏輯處理器401b。在核401中,對于線程401a和401b,也可復制其它較小資源,諸如分配器和重命名塊430中的重命名邏輯和指令指針。通過分區可共享一些資源,諸如重新排序器/隱退單元435中的重新排序緩沖器、iltb420、負載/存儲緩沖器以及隊列。其它資源,諸如通用內部寄存器、頁表基礎寄存器、低級數據高速緩存和數據tlb415、執行單元440、和部分無序單元435,潛在地被完全共享。
處理器400經常包含其它資源,它們可被完全共享、通過分區共享或者由處理元件專用/專用于處理元件。在圖4中,示出了具有處理器的說明性邏輯單元/資源的純示范性處理器的實施例。要指出,處理器可包含或省略這些功能單元中的任何單元,以及包含未描繪的任何其它已知功能單元、邏輯、或固件。如所示出的,核401包含簡化的、代表性的無序(ooo)處理器核。但是在不同實施例中可利用有序處理器。ooo核包含用來預測要執行/采取的分支的分支目標緩沖器420以及用來存儲用于指令的地址轉換條目的指令轉換緩沖器(i-tlb)420。
核401進一步包含耦合到取單元420用來解碼取元素的解碼模塊425。取邏輯在一個實施例中包含分別與線程槽401a、401b關聯的各個定序器。通常,核401與第一isa關聯,第一isa定義/規定在處理器400上可執行的指令。是第一isa的部分的機器碼指令經常包含一部分指令(稱為操作碼),其涉及/規定要執行的指令或操作。解碼邏輯425包含從它們的操作碼中識別這些指令并在管線中傳遞解碼指令以便如第一isa所定義的進行處理的電路。例如,解碼器425在一個實施例中包含設計成或適合于識別特定指令諸如事務性指令的邏輯。作為解碼器425識別的結果,架構或核401采取特定的預先定義的動作以執行與適當指令關聯的任務。重要的是要指出,本文描述的任何任務、塊、操作和方法都可響應于單個或多個指令被執行;其中一些可以是新指令或老指令。
在一個示例中,分配器和重命名塊430包含用來預留資源(諸如用來存儲指令處理結果的寄存器文件)的分配器。然而,線程401a和401b潛在地能夠無序執行,其中分配器和重命名器塊430還預留其它資源,諸如重排序緩沖器,以跟蹤指令結果。單元430還可包含寄存器重命名器以將程序/指令參考寄存器重命名成處理器400內部的其它寄存器。重排序/隱退單元435包含部件諸如上面提到的重排序緩沖器、負載緩沖器和存儲緩沖器,用以支持無序執行以及被無序執行的指令的稍后有序隱退。
在一個實施例中,調度器和執行單元塊440包含調度器單元以調度執行單元上的指令/操作。例如,在具有可用浮點執行單元的執行單元端口上調度浮點指令。還包含與執行單元相關聯的寄存器文件以存儲信息指令處理結果。示范執行單元包含浮點執行單元、整數執行單元、跳躍執行單元、負載執行單元、存儲執行單元、和其它已知執行單元。
較低級數據高速緩存和數據轉換緩沖器(d-tlb)450耦合到執行單元440。數據高速緩存存儲近來使用/操作的單元,諸如數據操作數,它們潛在地保持在存儲器一致性狀態中。d-tlb要存儲近來對物理地址轉換的虛擬/線性。作為特定示例,處理器可包含頁表結構以將物理存儲器分成多個虛擬頁。
在此,核401和402共享對較高級或更遠的高速緩存410(其要高速緩存最近取的元素)的訪問。要指出,較高級或更遠的指的是增大或進一步遠離執行單元的高速緩存級。在一個實施例中,較高級高速緩存410是末級數據高速緩存——處理器400上的存儲器層級中的最后高速緩存——諸如第二級或第三級數據高速緩存。然而,較高級高速緩存410不如此被限制,因為它可與指令高速緩存關聯,或包含指令高速緩存。痕跡高速緩存——指令高速緩存的一種類型——相反可耦合在解碼器425后面以存儲最近解碼的痕跡。
在所描繪的配置中,處理器400還包含總線接口模塊405和功率控制器460,其可執行按照本發明實施例的功率管理。在此情形下,總線接口405要與處理器400外部的裝置(諸如系統存儲器和其它組件)通信。
存儲器控制器470可與其它裝置(諸如一個或許多存儲器)進行接口。在一個示例中,總線接口405包含與用于與存儲器接口的存儲器控制器和用于與圖形處理器接口的圖形控制器的環形互連。在soc環境中,甚至更多的裝置,諸如網絡接口、協處理器、存儲器、圖形處理器以及任何其它已知的計算機裝置/接口可被集成在單個管芯或集成電路上,以提供具有高功能性和低功耗的小形狀因子。
現在參考圖5,示出了按照本發明的一個實施例的處理器核的微架構的框圖。如圖5中所示,處理器核500可以是多階段管線型無序處理器。核500可操作在基于可從集成電壓調節器或外部電壓調節器接收的接收操作電壓的各種電壓。
如圖5中所示,核500包含前端單元510,其可用于取要執行的指令,并且準備它們供隨后在處理器管線中使用。例如,前端單元510可包含取單元501、指令高速緩存503和指令解碼器505。在一些實現中,前端單元510可進一步包含痕跡高速緩存,連同微代碼存儲裝置以及微操作存儲裝置。取單元501例如可從存儲器或指令高速緩存503取宏指令,并將它們饋送到指令解碼器505,以將它們解碼成基元,即,用于由處理器執行的微操作。
耦合在前端單元510與執行單元520之間的是無序(ooo)引擎515,其可用于接收微指令,并且準備它們以用于執行。更具體地說,ooo引擎515可包含各種緩沖器用以對微指令流重新排序并分配對于執行所需的各種資源,以及用以提供將邏輯寄存器重命名到各種寄存器文件(諸如寄存器文件530和擴展寄存器文件535)內的存儲位置上。寄存器文件530可包含用于整數和浮點操作的單獨寄存器文件。為了配置、控制和附加操作的目的,一組機器特定寄存器(msr)538也可存在,并且對核500內(以及核外部)的各種邏輯可訪問。例如,功率限制信息可被存儲在一個或更多msr中,并且動態地被更新,如本文所描述的。
在執行單元520中可存在各種資源,例如除了其它專用硬件包含各種整數、浮點、和單指令多數據(simd)邏輯單元。例如,此類執行單元可包含一個或更多算數邏輯單元(alu)522和一個或更多向量執行單元524,以及其它此類執行單元。
來自執行單元的結果可被提供給隱退邏輯,即,重新排序緩沖器(rob)540。更具體地說,rob540可包含用來接收與被執行的指令關聯的信息的各種陣列和邏輯。這個信息然后由rob540檢查以確定指令是否能有效隱退,并且結果數據是否能提交給處理器的架構狀態,或者是否發生了防止指令正當隱退的一個或更多例外。當然,rob540可處置與隱退關聯的其它操作。
如圖5中所示,rob540耦合到高速緩存550,其在一個實施例中可以是低級高速緩存(例如l1高速緩存),盡管本發明的范疇不受限于這個方面。執行單元520也能夠直接耦合到高速緩存550。從高速緩存550,數據通信可同較高級高速緩存、系統存儲器等進行。雖然在圖5的實施例中用這個高級別示出,但要理解,本發明的范疇不受限于這個方面。例如,雖然圖5的實現有關諸如intel?x86指令集架構(isa)的無序機器,但本發明的范疇不限于這個方面。也就是,其它實施例可在有序處理器、精簡指令集計算(risc)處理器(諸如基于arm的處理器)或者能經由仿真引擎及關聯的邏輯電路仿真不同isa的指令和操作的另一類型isa的處理器中實現。
現在參考圖6,示出了按照另一實施例的處理器核的微架構的框圖。在圖6的實施例中,核600可以是不同微架構的低功率核,諸如具有設計成降低功耗的相對有限管線深度的基于intel?atom?的處理器。如所看到的,核600包含耦合的用來向指令解碼器615提供指令的指令高速緩存610。分支預測器605可耦合到指令高速緩存610。要指出,指令高速緩存610可進一步耦合到高速緩存存儲器的另一級,諸如l2高速緩存(在圖6中為了便于說明未示出)。進而,指令解碼器615將解碼的指令提供到發布隊列620以便存儲并遞送到給定執行管線。微代碼rom618耦合到指令解碼器615。
浮點管線630包含浮點寄存器文件632,其可包含具有諸如128位、256位或512位的給定位的多個架構寄存器。管線630包含浮點調度器634以調度指令以便在管線的多個執行單元之一上執行。在所示的實施例中,此類執行單元包含alu635、混洗單元636和浮點加法器638。進而,在這些執行單元中生成的結果可被提供回寄存器文件632的寄存器和/或緩沖器。當然要理解,雖然用這幾個示例執行單元示出了,但在另一實施例中可存在附加或不同的浮點執行單元。
也可提供整數管線640。在所示的實施例中,管線640包含整數寄存器文件642,其可包含具有諸如128位或256位的給定位的多個架構寄存器。管線640包含整數調度器644以調度指令以便在管線的多個執行單元之一上執行。在所示的實施例中,此類執行單元包含alu645、混洗單元646和跳躍執行單元648。進而,在這些執行單元中生成的結果可被提供回寄存器文件642的寄存器和/或緩沖器。當然要理解,雖然用這幾個示例執行單元示出了,但在另一實施例中可存在附加或不同的整數執行單元。
存儲器執行調度器650可以調度存儲器操作以便在地址生成單元652中執行,地址生成單元652還耦合到tlb654。如所看到的,這些結構可耦合到數據高速緩存660,其可以是l0和/或l1數據高速緩存,其進而耦合到高速緩存存儲器層級的另外級,包含l2高速緩存存儲器。
為了提供對于無序執行的支持,可提供分配器/重命名器670,還有重新排序緩沖器680,其配置成對無序執行的指令重新排序以便有序隱退。盡管在圖6的說明中用這個具體管線架構示出,但要理解,許多變形和備選是可能的。
要指出,在具有不對稱核的處理器中,諸如按照圖5和圖6的微架構,工作負載可在核之間出于功率管理原因動態地被調換,因為這些核盡管具有不同管線設計和深度,但可具有相同或相關isa。此類動態核調換可以對用戶應用(并且可能還有內核)以透明的方式執行。
參考圖7,示出了按照還有的另一實施例的處理器核的微架構的框圖。如在圖7中所示出的,核700可包含多階段有序管線以在非常低的功耗級別執行。作為一個此類示例,處理器700可具有按照從armholdings,ltd.,sunnyvale,ca可得到的armcortexa53設計的微架構。在實現中,可提供8階段管線,其配置成執行32位和64位代碼兩者。核700包含取單元710,其配置成取指令并將它們提供給解碼單元715(其可解碼指令),例如給定isa(諸如armv8isa)的宏指令。進一步指出,隊列730可耦合到解碼單元715以存儲解碼的指令。解碼的指令被提供給發布邏輯725,其中解碼的指令可被發布到多個執行單元的給定單元。
進一步參考圖7,發布邏輯725可向多個執行單元之一發布指令。在所示的實施例中,這些執行單元包含整數單元735、乘法單元740、浮點/向量單元750、雙發布單元760、和負載/存儲單元770。這些不同的執行單元的結果可被提供給寫回單元780。要理解,雖然為了便于說明而示出了單個寫回單元,但在一些實現中,每個執行單元可與單獨的寫回單元關聯。更進一步,要理解,雖然在高級別表示了圖7中示出的每個單元和邏輯,但具體實現可包含更多或不同的結構。使用具有如圖7中的管線的一個或更多核而設計的處理器可在許多不同末端產品(從移動裝置擴展到服務器系統)中實現。
參考圖8,示出了按照仍有的進一步實施例的處理器核的微架構的框圖。如圖8中所示出的,核800可包含多階段多發布無序管線以在非常高的性能級別執行(其可發生在比圖7的核700更高的功耗級別)。作為一個此類示例,處理器800可具有按照armcortexa57設計的微架構。在實現中,可提供15(或更大)階段管線,其配置成執行32位和64位代碼兩者。此外,管線可供給3(或更大)寬和3(或更大)發布的操作。核800包含取單元810,其配置成取指令并將它們提供給解碼器/重命名器/分派器815,其可解碼指令(例如armv8指令集架構的宏指令),重命名指令內的寄存器參考,并將指令(最終)分派到選擇的執行單元。解碼的指令可被存儲在隊列825中。要指出,雖然在圖8中為了便于說明而示出了單個隊列結構,但要理解,可為多個不同類型執行單元中的每個提供單獨隊列。
在圖8中還示出了發布邏輯830,從其可將存儲在隊列825中的解碼的指令發布到選擇的執行單元。在具體實施例中,還可對于發布邏輯830耦合到的多個不同類型執行單元中的每個有一個單獨發布邏輯,來實現發布邏輯830。
解碼的指令可被發布到多個執行單元的給定單元。在所示的實施例中,這些執行單元包含一個或更多整數單元835、乘法單元840、浮點/向量單元850、分支單元860、和負載/存儲單元870。在實施例中,浮點/向量單元850可配置成處置128位或256位的simd或向量數據。更進一步,浮點/向量執行單元850可執行ieee-754雙精度浮點運算。這些不同的執行單元的結果可被提供給寫回單元880。要指出,在一些實現中,每個執行單元可與單獨寫回單元關聯。更進一步,要理解,雖然在高級別表示了圖8中示出的每個單元和邏輯,但具體實現可包含更多或不同的結構。
要指出,在具有不對稱核的處理器中,諸如按照圖7和圖8的微架構,工作負載可出于功率管理原因動態地被調換,因為這些核盡管具有不同管線設計和深度,但可具有相同或相關isa。此類動態核調換可以對用戶應用(并且可能還有內核)以透明的方式執行。
使用具有如圖5-8中任一圖或多圖中的管線的一個或更多核而設計的處理器可在許多不同末端產品(從移動裝置擴展到服務器系統)中實現。現在參考圖9,示出了按照本發明另一實施例的處理器的框圖。在圖9的實施例中,處理器900可以是包含多個域的soc,每個域都可被控制成操作在獨立的操作電壓和操作頻率。作為特定的說明性示例,處理器900可以是基于intel?架構core?的處理器,諸如i3、i5、i7或從英特爾公司可得到的另一此類處理器。然而,在其它實施例(諸如蘋果a7處理器、高通驍龍處理器或德州儀器omap處理器)中,代替地可存在諸如從sunnyvale,ca的advancedmicrodevices公司(amd)可得到的、來自armholdings有限公司或其被許可方的基于arm的設計或來自sunnyvale,ca的mips技術公司或者它們的被許可方或采納方的基于mips的設計的其它低功率處理器。此類soc可用在低功率系統(諸如智能電話、平板計算機、平板手機計算機、ultrabook?計算機或其它便攜式計算裝置)中。
在圖9中所示的高級別視圖中,處理器900包含多個核單元9100-910n。每個核單元可包含一個或更多處理器核、一個或更多高速緩存存儲器以及其它電路。每個核單元910可支持一個或更多指令集(例如,x86指令集(具有已經用較新版本添加的一些擴展);mips指令集;arm指令集(具有可選的附加擴展諸如neon))或其它指令集或其組合。要指出,其中一些核單元可以是異質資源(例如具有不同設計)。此外,每個此類核可耦合到高速緩存存儲器(未示出),其在實施例中可以是共享級(l2)高速緩存存儲器。非易失性存儲裝置930可用于存儲各種程序和其它數據。例如,這個存儲裝置可用于存儲至少部分微代碼、引導信息諸如bios、其它系統軟件等。
每個核單元910還可包含接口(諸如總線接口單元)以能夠實現到處理器附加電路的互連。在實施例中,每個核單元910耦合到一致性組構(fabric),其可充當初級高速緩存一致性管芯上互連,該互連進而耦合到存儲器控制器935。進而,存儲器控制器935控制與存儲器諸如dram(在圖9中為了便于說明未示出)的通信。
除了核單元,在處理器內存在附加處理引擎,包含至少一個圖形單元920,其可包含一個或更多圖形處理單元(gpu)以執行圖形處理,以及可能執行圖形處理器上的通用操作(所謂的gpgpu操作)。此外,可存在至少一個圖像信號處理器925。信號處理器925可配置成處理從一個或更多捕獲裝置(或者soc內部或片外的)接收的進來的圖像數據。
還可存在其它加速計。在圖9的示出中,視頻譯碼器950可執行譯碼操作,包含對于視頻信息的編碼和解碼,例如提供對于高清視頻內容的硬件加速支持。可進一步提供顯示器控制器955以加速顯示器操作,包含提供對于系統的內部和外部顯示器的支持。此外,可存在安全處理器945以執行安全操作,諸如安全引導操作、各種密碼操作等等。
每個單元可經由功率管理器940控制其功耗,功率管理器940可包含控制邏輯以執行本文描述的各種功率管理技術,包含對于耦合到處理器900的外圍裝置的功率管理。
在一些實施例中,soc900可進一步包含耦合到各種外圍裝置可耦合到的一致性組構的非一致性組構。一個或更多接口960a-960d能夠實現與一個或更多片外裝置的通信。此類通信可經由各種各樣的通信協議,諸如pcie?、gpio、usb、i2c、uart、mipi、sdio、ddr、spi、hdmi,以及其它類型通信協議。盡管在圖9的實施例中在這個高級別示出,但要理解,本發明的范疇不限于這方面。
現在參考圖10,示出了代表性soc的框圖。在所示實施例中,soc1000可以是配置成用于要被優化的低功率操作的多核soc,以便合并到智能電話或其它低功率裝置中,諸如平板計算機或其它便攜式計算裝置。作為示例,可使用不對稱或者不同類型的核(諸如較高功率和/或低功率核(例如無序核和有序核)的組合)實現soc1000。在不同實施例中,這些核可基于intel?architecture?核設計或arm架構設計。在還有的其它實施例中,可在給定soc中實現英特爾和arm核的混合。
如在圖10中所看到的,soc1000包含具有多個第一核10120—10123的第一核域1010。在示例中,這些核可以是低功率核,諸如有序核。在一個實施例中,這些第一核可實現為armcortexa53核。進而,這些核耦合到核域1010的高速緩存存儲器1015。此外,soc1000包含第二核域1020。在圖10的示出中,第二核域1020具有多個第二核10220-10223。在示例中,這些核可以是比第一核1012更高功耗的核。在實施例中,第二核可以是無序核,其可被實現為armcortexa57核。進而,這些核耦合到核域1020的高速緩存存儲器1025。要指出,雖然圖10中示出的示例在每個域中包含4個核,但要理解,在其它示例中,在給定域中可存在更多或更少的核。
進一步參考圖10,還提供了圖形域1030,其可包含配置成獨立執行圖形工作負載(例如由核域1010和1020的一個或更多核提供)的一個或更多圖形處理單元(gpu)。作為示例,gpu域1030可用于提供對于各種各樣屏幕大小的顯示支持,此外還提供圖形和顯示繪制操作。
如所看到的,各種域耦合到一致性互連1040,其在一個實施例中可以是高速緩存一致性互連組構,該組構進而耦合到集成存儲器控制器1050。在一些實施例中,一致性互連1040可包含共享高速緩存存儲器,諸如l3高速緩存。在實施例中,存儲器控制器1050可以是直接存儲器控制器以提供與片外存儲器通信的多個信道,諸如dram的多個信道(在圖10中為了便于說明而未示出)。
在不同示例中,核域的數量可變化。例如,對于適合于合并到移動計算裝置中的低功率soc,可存在有限數量的核域,諸如圖10中所示。更進一步,在此類低功率soc中,包含較高功率核的核域1020可具有較少數量的此類核。例如,在一個實現中,可提供兩個核1022以能夠實現在降低功耗級別的操作。此外,不同核域還可耦合到中斷控制器以能夠實現不同域之間的工作負載的動態調換。
在還有的其它實施例中,可存在更大數量的核域,以及附加可選ip邏輯,因為soc能被定標到較高性能(和功率)級別,以便合并到其它計算裝置諸如臺式計算機、服務器、高性能計算系統、基站等中。作為一個此類示例,可提供4個核域,其每個具有給定數量的無序核。更進一步,除了可選gpu支持(其作為示例可采取gpgpu形式),還可提供一個或更多加速計,以提供對于具體功能(例如web服務、網絡處理、交換等)的優化硬件支持。此外,可存在輸入/輸出接口以將此類加速計耦合到片外組件。
現在參考圖11,示出了另一示例soc的框圖。在圖11的實施例中,soc1100可包含各種電路以能夠實現多媒體應用、通信和其它功能的高性能。像這樣,soc1100適合于合并到廣泛各種便攜式和其它裝置諸如智能電話、平板計算機、智能tv等中。在所示的示例中,soc1100包含中央處理單元(cpu)域1110。在實施例中,在cpu域1110中可存在多個單獨處理器核。作為一個示例,cpu域1110可以是具有4個多線程核的四核處理器。此類處理器可以是同質或異質處理器,例如低功率和高功率處理器核的混合。
進而,提供gpu域1120來執行一個或更多gpu中的高級圖形處理以處置圖形和計算api。dsp單元1130可提供一個或更多低功率dsp以便處置低功率多媒體應用,諸如音樂回放、音頻/視頻等,還有在多媒體指令執行期間可發生的高級計算。進而,通信單元1140可包含各種組件以經由各種無線協議諸如蜂窩通信(包含3g/4glte)、無線局域協議諸如bluetooth?、ieee802.11等提供連接性。
更進一步,多媒體處理器1150可用于執行高清視頻和音頻內容的捕獲和回放,包含對用戶手勢的處理。傳感器單元1160可包含多個傳感器和/或傳感器控制器以接口到在給定平臺中存在的各種片外傳感器。可給圖像信號處理器1170提供一個或更多單獨isp,以執行有關從平臺的一個或更多攝像機(包含靜態和視頻攝像機)捕獲的內容的圖像處理。
顯示器控制器1180可提供對于到給定像素密度的高清顯示器的連接的支持,包含無線地傳遞內容以便在此類顯示器上回放的能力。更進一步,位置單元1190可包含gps接收器,具有對于多個gps星座的支持,以給應用提供使用此類gps接收器獲得的高度準確的定位信息。要理解,雖然在圖11的示例中采用該具體組的組件來示出,但許多變形和備選是可能的。
現在參考圖12,示出了能使用實施例的示例系統的框圖。如所看到的,系統1200可以是智能電話或其它無線通信器。基帶處理器1205配置成執行有關從系統傳送或由系統接收的通信信號的各種信號處理。進而,基帶處理器1205耦合到應用處理器1210,其可以是系統的主cpu,用來執行os和其它系統軟件,還有用戶應用,諸如許多眾所周知的社交媒體和多媒體app。應用處理器1210可進一步配置成執行裝置的各種其它計算操作。
進而,應用處理器1210能耦合到用戶界面/顯示器1220,例如觸摸屏顯示器。此外,應用處理器1210可耦合到存儲器系統,包含非易失性存儲器(即閃速存儲器1230)和系統存儲器(即動態隨機存取存儲器(dram)1235)。如進一步所看到的,應用處理器1210進一步耦合到捕獲裝置1240,諸如能記錄視頻和/或靜態圖像的一個或更多圖像捕獲裝置。
仍參考圖12,包括訂戶身份模塊及可能還有安全存儲裝置和密碼處理器的通用集成電路卡(uicc)1240也耦合到應用處理器1210。系統1200可進一步包含安全處理器1250,其可耦合到應用處理器1210。多個傳感器1225可耦合到應用處理器1210以能夠實現各種感測信息(諸如加速計和其它環境信息)的輸入。音頻輸出裝置1295可提供用來輸出聲音(例如以語音通信、播放或流播音頻數據等形式)的接口。
如進一步示出的,提供近場通信(nfc)無接觸接口1260,其在nfc近場中經由nfc天線1265通信。雖然在圖12中示出了單獨天線,但要理解,在一些實現中可提供一個天線或不同組天線來能夠實現各種無線功能性。
功率管理集成電路(pmic)1215耦合到應用處理器1210以執行平臺級別功率管理。為此,pmic1215可向應用處理器1210發布功率管理請求以進入所期望的某些低功率狀態。更進一步,基于平臺限制,pmic1215也可控制系統1200的其它組件的功率級別。在一些實施例中,本文描述的用來執行裝置turbo模式的功率控制邏輯可在pmic1215中存在,和/或分布在pmic1215與應用處理器1210之間。
為了使能夠傳送和接收通信,在基帶處理器1205與天線1290之間可耦合各種電路。具體地說,可存在射頻(rf)收發器1270和無線局域網(wlan)收發器1275。一般而言,rf收發器1270可用于根據給定無線通信協議(諸如按照碼分多址(cdma)、全球移動通信系統(gsm)、長期演進(lte)的3g或4g無線通信協議)或其它協議接收和傳送無線數據和呼叫。此外,可存在gps傳感器1280。還可提供其它無線通信,諸如無線電信號(例如am/fm和其它信號)的接收或傳送。此外,經由wlan收發器1275,還能實現局部無線通信。
現在參考圖13,示出了可使用實施例的另一示例系統的框圖。在圖13的示出中,系統1300可以是移動低功率系統,諸如平板計算機、2:1平板、平板手機或其它可轉變或獨立平板系統。如所示出的,soc1310存在,并且可配置成作為用于裝置的應用處理器來操作。
各種裝置可耦合到soc1310。在所示的說明中,存儲器子系統包含耦合到soc1310的dram1345和閃速存儲器1340。此外,觸摸板1320耦合到soc1310以提供顯示器能力和經由觸摸的用戶輸入,包含在觸摸板1320的顯示器上提供虛擬鍵盤。為了提供有線網絡連接性,soc1310耦合到以太網接口1330。外圍集線器1325耦合到soc1310以能夠實現與各種外圍裝置的接口,諸如可通過各種端口或其它連接器中的任一個耦合到系統1300。
除了soc1310內的內部功率管理電路和功能性,pmic1380耦合到soc1310以提供基于平臺的功率管理,例如基于系統是由電池1390還是由經由ac適配器1395的ac電來供電。除了這個基于電源的功率管理,pmic1380可基于環境和使用條件進一步執行平臺功率管理活動。更進一步,pmic1380可向soc1310傳遞控制和狀況信息以引起soc1310內的各種功率管理動作。在一些實施例中,本文描述的用來執行裝置turbo模式的功率控制邏輯可在pmic1380中存在,和/或分布在pmic1380與soc1310之間。
仍參考圖13,為了供給無線能力,wlan單元1350耦合到soc1310,并且進而耦合到天線1355。在各種實現中,wlan單元1350可根據一個或更多無線協議供給通信。
如進一步所示出的,多個傳感器1360可耦合到soc1310。這些傳感器可包含各種加速計、環境和其它傳感器,包含用戶手勢傳感器。最后,音頻編解碼器1365耦合到soc1310以提供到音頻輸出裝置1370的接口。當然,要理解,雖然在圖13中用這個具體實現示出,但許多變形和備選是可能的。
現在參考圖14,示出的是代表性計算機系統諸如筆記本、ultrabook?或其它小形狀因子系統的框圖。在一個實施例中,處理器1410包含微處理器、多核處理器、多線程處理器、超低電壓處理器、嵌入式處理器或其它已知處理元件。在示出的實現中,處理器1410充當主處理單元和中央集線器,以便與系統1400的各種組件中的許多組件通信。作為一個示例,處理器1400實現為soc。
處理器1410在一個實施例中與系統存儲器1415通信。作為說明性示例,系統存儲器1415經由多個存儲器裝置或模塊實現,以供給給定量的系統存儲器。
為了供給諸如數據、應用、一個或更多操作系統等信息的永久存儲,大容量存儲裝置1420也可耦合到處理器1410。在各種實施例中,為了能夠實現更薄并且更輕的系統設計以及改進系統響應性,此大容量存儲裝置可經由ssd實現,或者大容量存儲裝置可主要使用具有較小量ssd存儲的硬盤驅動器(hdd)實現,其中較小量ssd存儲用來充當ssd高速緩存以能夠實現在掉電事件期間對上下文狀態和其它此類信息進行非易失性存儲,使得在重新發起系統活動時能發生快速上電。還如圖14中所示,閃速裝置1422例如可經由串行外圍接口(spi)耦合到處理器1410。這個閃速裝置可供給系統軟件(包含系統的基本輸入/輸出軟件(bios)以及其它系統固件)的非易失性存儲。
在系統1400內可存在各種輸入/輸出(i/o)裝置。具體地說,在圖14的實施例中示出的是顯示器1424,其可以是進一步供給觸摸屏1425的高清lcd或led面板。在一個實施例中,顯示器1424可經由能夠實現為高性能圖形互連的顯示器互連耦合到處理器1410。觸摸屏1425可經由另一互連(其在一個實施例中能是i2c互連)耦合到處理器1410。如圖14中進一步示出的,除了觸摸屏1425,還能經由觸摸墊1430發生通過觸摸的用戶輸入,觸摸墊1430可配置在底座內,并且也可耦合到與觸摸屏1425相同的i2c互連。
為了感知的計算和其它目的,各種傳感器可存在于系統內,并且可以不同方式耦合到處理器1410。某些慣性和環境傳感器可通過傳感器集線器1440(例如經由i2c互連)耦合到處理器1410。在圖14中所示的實施例中,這些傳感器可包含加速計1441、周圍光傳感器(als)1442、羅盤1443和陀螺儀1444。其它環境傳感器可包含一個或更多熱傳感器1446,它們在一些實施例中經由系統管理總線(smbus)總線耦合到處理器1410。
還如在圖14中所看到的,各種外圍裝置可經由低管腳計數(lpc)互連耦合到處理器1410。在所示的實施例中,各種組件能夠通過嵌入式控制器1435耦合。此類組件能包含鍵盤1436(例如經由ps2接口耦合)、風扇1437、和熱傳感器1439。在一些實施例中,觸摸墊1430還可經由ps2接口耦合到ec1435。此外,安全處理器諸如可信平臺模塊(tpm)1438還可經由這個lpc互連耦合到處理器1410。
系統1400能以各種各樣的方式(包含無線)與外部裝置通信。在圖14中所示的實施例中,存在各種無線模塊,它們中的每個能對應于為具體無線通信協議配置的無線電。用于短程(諸如近場)中無線通信的一種方式可經由nfc單元1445,其在一個實施例中可經由smbus與處理器1410通信。要指出,經由這個nfc單元1445,彼此靠得很近的裝置能進行通信。
如在圖14中進一步看到的,附加無線單元能包含其它短程無線引擎,包含wlan單元1450和藍牙單元1452。使用wlan單元1450,能實現wi-fi?通信,而經由藍牙單元1452,能發生短程bluetooth?通信。這些單元可經由給定鏈路與處理器1410通信。
此外,例如根據蜂窩或其它無線廣域協議的無線廣域通信能經由wwan單元1456發生,wwan單元556進而可耦合到訂戶身份模塊(sim)1457。此外,為了能夠實現位置信息的接收和使用,也可存在gps模塊1455。要指出,在圖14中所示的實施例中,wwan單元1456和集成捕獲裝置諸如攝像機模塊1454可經由給定鏈路通信。
集成攝像機模塊1454能合并在機蓋中。為了供給音頻輸入和輸出,音頻處理器能經由數字信號處理器(dsp)1460實現,dsp可經由高清音頻(hda)鏈路耦合到處理器1410。類似地,dsp1460可與集成編碼器/解碼器(codec)和放大器1462通信,放大器進而可耦合到輸出揚聲器1463,揚聲器可在底座內實現。類似地,放大器和codec1462能被耦合以從麥克風1465接收音頻輸入,麥克風1465在實施例中能經由雙陣列麥克風(諸如數字麥克風陣列)實現,來供給高質量音頻輸入以能夠實現對系統內的各種操作進行語音激活的控制。還要指出,音頻輸出能從放大器/codec1462被提供到耳機插孔1464。盡管在圖14的實施例中用這些具體組件示出,但要理解,本發明的范疇不限于這個方面。
實施例可實現在許多不同系統類型中。現在參考圖15,示出了按照本發明實施例的系統的框圖。如圖15中所示,多處理器系統1500是點對點互連系統,并且包含經由點對點互連1550耦合的第一處理器1570和第二處理器1580。如圖15中所示,處理器1570和1580中的每個可以是多核處理器,包含第一和第二處理器核(即處理器核1574a和1574b以及處理器核1584a和1584b),盡管在處理器中可存在潛在的許多更多的核。所述處理器中的每個能包含pcu或其它功率管理邏輯以執行本文所描述的基于處理器的功率管理,包含對系統1500的各種其它組件的控制以能夠實現裝置turbo模式操作。
仍參考圖15,第一處理器1570進一步包含存儲器控制器集線器(mch)1572和點對點(p-p)接口1576和1578。類似地,第二處理器1580包含mch1582以及p-p接口1586和1588。如圖15中所示,mch的1572和1582將處理器耦合到相應存儲器,即存儲器1532和存儲器1534,它們可以是局部附連到相應處理器的系統存儲器(例如dram)的部分。第一處理器1570和第二處理器1580可分別經由p-p互連1562和1564耦合到芯片集1590。如圖15中所示,芯片集1590包含p-p接口1594和1598。
更進一步,芯片集1590包含接口1592用來通過p-p互連1539將芯片集1590與高性能圖形引擎1538耦合。進而,芯片集1590可經由接口1596耦合到第一總線1516。如圖15中所示,各種輸入/輸出(i/o)裝置1514可耦合到第一總線1516,連同將第一總線1516耦合到第二總線1520的總線橋1518。在一個實施例中,各種裝置可耦合到第二總線1520,例如包含鍵盤/鼠標1522、通信裝置1526和數據存儲單元1528(諸如盤驅動器或可包含代碼1530的其它大容量存儲裝置)。另外,音頻i/o1524可耦合到第二總線1520。實施例能被合并到包含移動裝置(諸如智能蜂窩電話、平板計算機、上網本、ultrabook?等等)的其它類型系統中。
現在參考圖16,示出的是按照實施例的系統的部分的框圖。在圖16的實施例中,假定系統1600是給定平臺,例如移動裝置,諸如智能電話、平板計算機、平板手機、電子閱讀器等等。在所示的實施例中,系統1600包含處理器1610,其可以是包含本文所描述的功率控制邏輯1615的多核處理器。功率控制邏輯1615可采取許多不同形式(來自獨立硬件、微控制器、pcu邏輯或其它功率控制電路,還有其它可能實現)。一般而言,功率控制邏輯1615可基于當前操作條件向系統的各種各樣裝置動態分配功率限制,并且從而能確保這些裝置接收到用來使各種各樣使用情況能夠發生的具體功率級別。在各種實施例中,功率控制邏輯1615可包含或關聯策略邏輯(在圖16中為了便于說明而未示出),以使能夠進行判定以根據需要在組件之間重新平衡功率。實施例從而可改進在固定功率包絡內系統組件的性能,和/或通過主動管理對于給定組的平臺組件的功率需要來降低平臺功率成本和復雜性。
仍參考圖6,存在多個裝置16200-1620n。作為示例,這些裝置可采取一個或更多集成電路(諸如gps裝置、無線接口、攝像機裝置等)的形式。更進一步,裝置1620中的一個或更多裝置可采取其它形式,諸如與捕獲裝置(諸如靜態或視頻攝像機裝置)結合使用的閃光燈裝置。要指出,術語“裝置”涵蓋不只單個的組件,如在一些情況下,裝置可以是由構成組件形成的子系統。
在所示的實施例中,每個裝置1620包含接口機構以實現功率控制邏輯1615與對應裝置之間的交互。在圖16的實施例中,這個接口機構包含能力存儲裝置16220-1622n、功率限制存儲裝置16240-1624n和通知邏輯16260-1626n。能力存儲裝置1622可配置成存儲用于裝置的一組功率級別。這個能力存儲裝置在實施例中可以是非易失性存儲裝置以存儲裝置在某些狀態下(以及在給定時間幀中)能按照其進行操作的一組功率級別。在一個實施例中,可對于功率可被控制的關注的每個時間幀,提供最少三個功率級別。在實施例中,所述三個功率級別包含:最大功率級別,其可對應于發生裝置的最大使用情況所在的最高功耗級別;典型功率級別,其可對應于發生裝置的正常使用情況所在的標稱功耗級別;以及最小功率級別,其可對應于能發生裝置的最小使用情況所在的最低功耗級別。此類能力存儲裝置1622可在裝置制造期間基于設計信息、測試或特征信息等來被寫。
進而,功率限制存儲裝置1624可配置成存儲功率限制,其可以是基于當前系統操作條件裝置被分配按照其被供電的當前級別的指示。可給這個功率限制存儲裝置提供從處理器1610接收的功率限制值(例如對應于每個置換時間幀的最大級別、最小級別或典型級別之一)。更具體地說,在實施例中,功率控制邏輯1615可傳遞對于要被編程(例如瞬時、中期和長期或平均)的每個時間幀的功率限制(例如選自作為功率能力信息提供的多個功率級別之一或者確定的或計算的功率限制)。仍參考圖16,裝置1620進一步包含通知邏輯1626。一般而言,通知邏輯1626可配置成基于有關裝置的當前和將來操作的信息來通知處理器1610(并且更具體地說是功率控制邏輯1615)對于增大的功率狀態諸如對于由于較高裝置使用情況(例如觸發閃光燈來拍照、引起較高gps裝置使用情況以鎖定在當前位置上等)而引起的增大的功率狀態的請求。
從而,在各種實施例中,可提供接口機構以在各種時間窗口上動態配置每個裝置的功率限制。例如,裝置可配置成在長時間段例如1秒(s)上平均消耗不超過1瓦特(w),在中間(例如10毫秒(ms))時間段上不超過1.5w,并且作為瞬時上限不超過2w。裝置(包含關聯的固件和/或裝置的其它控制邏輯)可配置成施加這些功率限制。
在一些實施例中,接口機構可使裝置能夠傳遞以裝置對于給定時間幀和/或使用情況要求高于當前編程的功率級別的裝置通知形式的反饋信息。像這樣,功率控制邏輯1615然后可實現功率管理策略以供給裝置turbo模式,其中平臺功率預算可動態地被重新平衡,同時允許對于較小的最大功率級別設計總體平臺。當被重新平衡時,接收增大功率分配的裝置從而可操作在turbo模式中,其中一個或更多操作參數(例如頻率)可被增大高于標稱(例如保證的)限制,使得裝置可執行給定使用情況(通過具有充足功率)和/或在較高性能級別執行使用情況。
在實施例中,源裝置16201發送通知以告知功率控制邏輯1615存在對于超過編程的功率限制的增大功率的暫時需要。這個通知消息可包含每個時間幀的請求功率級別以及(可選地)請求代碼或用來指示請求原因的其它信息,諸如具體使用情況。
要指出,功率控制邏輯1615與裝置1620之間的通信可通過握手過程,一般按照下面進行。首先,功率控制邏輯1615向每個組件分配可用的功率預算以便進行正常操作(例如至少部分基于信息或涉及os和/或系統固件做出的確定)。這個分配可通過將每個組件的功率限制設置成那個裝置的典型值來進行。當裝置16201要求比配置的限制更高的功率級別時,它向功率控制邏輯1615發送通知。功率控制邏輯進而讀所要求的新功率級別和關聯的請求信息(例如通知的原因或使用情況)。取決于使用情況,功率控制邏輯1615然后可通過暫時配置新(較高)功率限制來準予該請求。當裝置1620已經完成使用情況時,它向功率控制邏輯1615發送另一通知,通知帶有較低(例如典型)請求的功率限制。功率控制邏輯1615進而將功率限制返回到正常級別,并且操作繼續。
要理解,雖然在圖16的實施例中在這個高級別示出,但許多變形和備選是可能的。例如,雖然在圖16中在基于平臺的系統(諸如具有包含多核處理器和其它集成電路(和/或耦合到那里的一個或更多外圍裝置)的電路板的便攜式裝置)的上下文中進行描述,但在其它實施例中,合并本發明實施例的系統可以是配置在具有例如不同供應商的全異ip邏輯塊并具有不同功能性和能力(包含功率能力)的單個半導體管芯上的片上系統,使得能實現對不同ip塊的動態使用情況的公共功率控制。更進一步,本文所描述的功率控制邏輯可被實現為平臺的單獨組件(例如單獨的集成電路)。
在一個示例中,考慮具有處理器、gps裝置和4g數據連接裝置的平臺。gps裝置對于鎖定在gps衛星上的初始鎖定操作可需要消耗持續幾秒的附加功率,之后它能消耗較低功率來跟蹤其位置。采用裝置turbo模式,功率控制邏輯可配置成對于具體使用情況增大gps裝置的功率限制,以通過初始鎖定操作獲取其位置。為此,如果充足的功率余量不可用,則作為示例,功率控制邏輯可使4g數據通信裝置(例如4g調制解調器)降低其功耗級別(以及從而數據速度)以補償這個增大。一旦獲取衛星鎖定,就能將兩個裝置的原始功率限制返回到它們的正常級別。此操作使gps裝置能夠具有突發能力以更快地獲取鎖定。
在另一示例中,考慮具有處理器、顯示器、攝像機、閃光燈和無線調制解調器(除了別的以外)的平臺。當用戶拍照時,給閃光燈充電或操作閃光燈消耗了突發的電力。如果處理器忙于運行背景任務或在那時忙于下載無線數據,則平臺總功耗可達到(或潛在地超過)平臺功率預算。使用具有裝置turbo模式能力的實施例,正好在閃光燈在點亮中消耗較高功率之前,功率控制邏輯能編程較低功率限制以用于處理器(其可通過降低操作頻率來適應這個限制)和無線調制解調器(其可通過降低數據傳遞速度來適應這個限制),并且然后在閃光燈操作完成之后將這些裝置返回到正常級別。用這種方式,降低了平臺上組合的最大電負載。
實施例從而基于使用情況能夠實現對裝置功率限制的主動管理,從而實現了具有較低平臺功率設計限制的平臺。備選地,實施例可用于將較高性能組件組合在同一平臺功率包絡內。
現在參考圖17,示出了按照本發明實施例的用于動態控制系統的裝置的功率限制的方法的流程圖。在實施例中,方法1700可由處理器的功率控制邏輯執行,該邏輯能使用給定硬件邏輯實現。此類邏輯范圍能從一個或更多專用微控制器或硬譯碼邏輯到通用處理器核。如所看到的,方法1700開始于基于用于這些裝置的典型功率級別向系統的所有裝置分配功率(框1710)。例如,在系統上電時,每個裝置可對于所關注的時間幀,向功率控制邏輯傳遞其操作在多個功率級別諸如最小、典型和最大級別的能力。在此類分配之后,控制傳到框1720,其中可對每個裝置的功率限制進行編程。為此,功率控制邏輯可將分配的功率限制(例如單位是瓦特)傳遞到每個裝置(對于每個相關時間幀),以便存儲在對應裝置的功率限制存儲裝置中。像這樣,在此時,系統的每個裝置配置成開始操作在具有典型功耗級別的正常操作級別。也就是,每個裝置可配置成讀功率限制(例如,如用單位瓦特表達的)并將這個功率級別與適當操作條件相關聯以確保裝置操作在這個功率級別或以下(諸如通過適當頻率和電壓級別)。
方法1700在菱形框1730繼續,其中確定裝置是否需要較高功率級別來執行給定使用情況。此類確定可基于從一個或更多裝置接收對于較高功耗級別的請求的通知。在其中接收到多個請求的情形下,此類請求可按照基于例如參考一個或更多表而確定的裝置的相對優先級(或使用情況的優先級)的給定優先級次序來被處置。在實施例中,這些接收的通知可包含請求的功率級別的指示和/或使用情況的指示,諸如數據通信速度、gps鎖定操作或閃光燈點亮。如果沒有裝置發送如在菱形框1730所確定的對于較高功率級別的請求,則沒有另外動作發生,并且控制可回環到(例如在給定間隔之后)菱形框1730。
仍參考圖17,假定從第一裝置接收到請求。控制從而傳到框1740,在框1740中能降低一個或更多選擇的裝置的功率預算。更具體地說,這一個或更多裝置可以是在當前使用情況期間能被置于較低操作狀態中的裝置。這個確定可參考將給定使用情況與在此類使用情況期間活動的裝置相關聯的表來做出。例如,假定對要被拍攝的照片來點亮閃光燈。在此情況下,其它操作諸如數據通信、gps操作等不是必要的,并且從而,與此類使用相關聯的裝置可被置于較低功率狀態(其在一些情況下可以是諸如裝置在其中不主動執行操作的睡眠狀態的低功率狀態)中。
在一些情形下,僅單個裝置可能需要使其功率級別降低以使得較高功率級別能夠被分配給請求裝置,因為一個裝置的降低的功耗能被分配給請求裝置,而整個系統保持在給定功率預算內。然而在其它情況下,多于一個其它裝置可使其功率限制被降低,以使得請求的功率級別被分配給請求裝置。雖然為了便于說明而未示出,但要理解,功率控制邏輯可向此類裝置發送更新的功率級別信號以使功耗降低。
進一步參考圖17,控制接下來傳到框1750,在此可向請求裝置提供功率預算增大。例如,增大的功率限制響應可從功率控制邏輯發送到裝置,以使裝置能夠相應地更新其功率限制存儲,并使裝置能夠操作在這個較高功率限制。像這樣,控制傳到框1760,在此可執行這個裝置的使用情況。例如,當充足電力可用并且閃光燈被適當充電時,可點亮閃光燈。此后,控制傳回到框1710,其中在使用情況完成之后,所有裝置都可被分配回典型級別。要指出,從框1760返回到框1710可在經過使用情況(例如在表中所闡述的并且向裝置指示的)的預定時間之后自動發生,或響應于來自裝置的它已經完成其(高功耗)使用情況的指示而發生。要理解,雖然在圖17的實施例中在這個高級別示出,但許多變形可發生。
現在參考圖18,示出的是按照本發明的實施例的功率控制邏輯的框圖。如在圖18中所示的,功率控制邏輯1800包含構成組件,它們可用硬件、軟件和/或固件的各種組合實現。在一實施例中,邏輯1800可使用處理器的硬件邏輯(如在圖16的功率控制邏輯1615中的一樣)實現,諸如包含或關聯適當存儲裝置的一個或更多專用微控制器。
如圖18中所示出的,功率控制邏輯1800包含功率分配邏輯1810、平臺功率預算存儲裝置1820、和裝置功率能力存儲裝置1830。一般而言,功率分配邏輯1810可配置成接收各種進來的信息,并向平臺裝置(包含處理器自身)分配平臺功率預算。此類分配可在平臺上電時執行,并且可通過使一個或更多裝置進入裝置turbo模式以執行具體使用情況操作來恰當地動態更新以適應各種各樣的使用情況,并且此后返回到原始分配(其還可被再次更新以適應相同或其它裝置的另一使用情況)。
如所看到的,功率控制邏輯1810包含(或關聯)使用情況存儲裝置18150—1815n(各自與給定裝置或裝置組合的具體使用情況關聯)。盡管本發明的范疇不限于這方面,但在一實施例中,每個使用情況存儲裝置1815可存儲有關使用情況的信息,諸如初級裝置(其要執行使用情況的初級操作)進行的具體使用情況操作、能夠實現使用情況操作的性能的那個裝置的關聯功率級別、以及在使用情況情形中涉及的一個或更多其它裝置的列表。此外,還可存儲使用情況的一個或更多未使用裝置的標識。當然,要理解,雖然在圖18的示例中用這個具體信息進行了描述,但使用情況存儲裝置的許多變形和備選是可能的。
仍參考圖18,平臺功率預算存儲裝置1820耦合到功率分配邏輯1810。在一實施例中,存儲裝置1820可以是配置存儲裝置,諸如配置成存儲總平臺功率預算(例如單位是瓦特)的非易失性存儲器。使用本發明的實施例,此類平臺功率預算可以在比如果平臺被設計用于其中平臺的每個裝置要同時操作在最大功率級別的最壞情況情形下要低的級別。像這樣,這個平臺功率預算可在設計和制造平臺時設置,并且可以至少是使平臺的每個裝置能夠同時操作在標稱功率級別所在的級別,可選地,帶有一定量的附加功率余量以使其中一個或更多裝置能夠操作在較高功耗級別。
還如圖18中所示,裝置功率能力存儲裝置1830耦合到功率分配邏輯1810。在所示的實施例中,能力存儲裝置1830包含多個條目18350-1835n,其中每個條目1835與平臺的具體裝置關聯。在一實施例中,每個條目1835包含多個字段,每個字段存儲裝置的多個功率級別之一。如在本文中描述的示例中那樣,每條目(每關注的時間幀)可存在3個字段,每個字段存儲裝置的最小、標稱和最大功率級別之一。有關不同裝置的功率能力的這個信息可在裝置上電時(諸如在引導操作期間)從裝置它們自身傳遞到存儲裝置1830。為此,每個裝置可包含固件或其它控制邏輯二者以維持這個功率能力信息,并在引導操作期間將信息傳遞到功率控制邏輯1800。
如在圖18中所進一步示出的,功率分配邏輯1810接收平臺功率預算信息和裝置功率能力信息,并基于此類信息,可在各種裝置之間分配平臺功率預算。在一實施例中,在上電和正常使用操作期間,每個裝置可被分配其標稱功率級別,并且從而,功率分配邏輯1810可向不同裝置發送功率分配消息,使得每個裝置都可操作在其標稱功率級別。在一實施例中,此類裝置分配消息可包含單位為瓦特的功率級別(例如標稱功率級別),因為每個裝置可配置成包含固件或其它控制邏輯以理解這個功率信息,并控制對應裝置的一個或更多操作參數(例如電壓和/或頻率)以能夠實現在分配的功率級別的操作。
此外,當在平臺操作期間具體裝置追求執行可要求較高功率級別的使用情況操作時,裝置可向功率控制邏輯1800發布裝置通知(并且更具體地說,由功率分配邏輯1810接收)。進而,功率分配邏輯1810可確定充足功率余量在平臺功率預算中是否可用,以使這種使用情況能夠發生。如果是,則裝置turbo消息可被發送到對應裝置,以使裝置能夠操作在較高功率級別以實現該使用情況。如果相反地不充足功率余量可用,則功率分配邏輯1810可確定是否可給一個或更多其它裝置(包含處理器本身)提供降低的功率分配以使該使用情況能夠發生(或不提供,這取決于平臺限制,諸如熱限制或電限制)。要理解,雖然在圖18的實施例中在這個高級別示出,但許多變形和備選是可能的。
現在參考圖19,示出了按照本發明的另一實施例的方法的流程圖。如圖19中所示,方法1900例如可由圖18的功率分配邏輯1800執行。如所示,方法1900開始于確定平臺功率預算(框1910)。作為示例,平臺功率預算可從平臺的配置存儲裝置(諸如處理器本身的配置存儲裝置)獲得。接下來,控制傳到框1915,其中功率能力信息可從平臺的各種裝置被接收,并存儲在能力存儲裝置中(框1915)。如上面所論述的,這個功率能力信息可包含至少3個功率級別(每時間幀),在此給定裝置可操作在不同模式。接下來,控制傳到框1920,在此標稱功率級別可被分配并傳遞到每個裝置(框1920)。從而,在這點,平臺配置用于正常操作,其中每個裝置被分配了其標稱功率級別。
仍參考圖19,能確定是否接收到對于增大功率級別的裝置通知(菱形框1930)。要指出,這個裝置通知可包含各種信息,諸如具體使用情況的標識、此類使用情況的請求的功率級別(例如單位為瓦特)以及其它信息諸如使用情況長度等。
當接收到此類裝置通知時,控制傳到菱形框1940,以確定是否存在充足功率預算以將增大的功率級別分配給這個請求裝置。在框1940的這個確定可基于平臺功率預算與到平臺各種裝置的總的功率分配之間的比較。作為示例,基于到每個裝置的標稱級別的初始裝置分配,有可能存在可用的功率余量(其可以是由功率分配邏輯跟蹤和存儲的動態值)。在其它情況下,可用最小功率余量設計系統,使得對于針對平臺而被定大小的給定功率遞送系統,如果所有裝置操作在它們的標稱級別,則沒有附加功率余量可用。
在任何事件中,在菱形框1940,確定充足功率預算是否可用,以向請求裝置分配增大的功率級別。如果是,則控制傳到框1950,其中可向裝置分配增大的功率級別,并且可向這個裝置發送裝置turbo消息。在一實施例中,裝置turbo消息可包含各種信息,包含增大的功率級別(例如諸如從能力存儲裝置獲得的裝置的最大功率級別),其可以瓦特為單位傳遞。在裝置turbo消息中可發送附加信息,諸如對于允許裝置操作在這個增大的功率級別的時間長度,還有其它可能信息,諸如在裝置能再次請求這個模式之前要過多久,以提供對滯后的度量,用來防止同一裝置以所有其它裝置為代價請求和接收裝置turbo模式。
仍參考圖19,假定在其中當完成具體使用情況時裝置通知功率控制邏輯的實施例,控制接下來傳到框1960,其中可接收對于降低的功率級別的裝置通知(在一實施例中,裝置可在完成使用情況時自主進入)。這個通知可采取許多不同形式,并且在一個實施例中可簡單地是完成使用情況的指示。從而,在框1965,可向這個裝置分配標稱功率級別,其可選地可被傳遞給該裝置。較高功耗級別與這個標稱級別之間的差也可被往回加到可用功率余量量。此外,如果任何其它裝置被分配了降低的功率級別以使這個使用情況能夠發生(下面進行描述),則在框1965(其能被傳遞到裝置)也可發生對此類裝置的標稱功率級別的重新分配,連同對可用功率余量的恰當更新。
仍參考圖19,如果在菱形框1940確定不充足功率預算是可用的以向請求裝置分配增大的功率級別,則控制相反傳到框1970,在此能標識一個或更多裝置接收降低的功率分配以使使用情況能夠發生。在一實施例中,功率分配邏輯可參考使用情況表來對于由請求裝置請求的具體使用情況確定在此類使用情況中要涉及的裝置和/或對于該使用情況可在較低級別被適當地供電的裝置(如本文所描述的)。控制接下來傳到框1980,其中降低的功率消息可被發送到標識的裝置。在一實施例中,這個降低的功率消息可包含對于標識的裝置的降低的功率級別(例如最小功率級別),諸如從能力存儲裝置所獲得的降低的功率級別。要理解,標識的裝置在一些情況下可包含或者可以是主處理器本身,諸如當對于外圍裝置使用情況(諸如閃光燈裝置和捕獲裝置的組合)需要附加功率時。在框1980進行的一個或更多降低功率消息的這個傳遞之后,控制傳到框1950(上面論述的)。要理解,雖然在圖19的實施例中在這個高級別示出,但許多變形和備選是可能的。
如下示例涉及另外的實施例。
在一個示例中,處理器包括:至少一個核,用來執行指令;以及功率控制邏輯,耦合到所述至少一個核以從耦合到所述處理器的多個裝置接收功率能力信息并向所述多個裝置分配平臺功率預算,設置分配對應裝置被供電所在的用于所述多個裝置中每個裝置的第一功率級別,向所述多個裝置中的每個裝置傳遞所述第一功率級別,并且動態降低要分配給第一裝置的第一功率,并響應于來自第二裝置的對于較高功率級別的請求而增大要分配給第二裝置的第二功率。
在一示例中,響應于來自所述第二裝置的所述請求,所述功率控制邏輯要向所述第一裝置發送第一消息以使所述第一裝置操作在比所述第一功率級別小的第三功率級別,并向所述第二裝置發送第二消息以使所述第二裝置操作在比所述第一功率級別要大的第二功率級別。
在一示例中,功率控制邏輯要發送所述第二消息以使所述第二裝置能夠執行使用情況。
在一示例中,第二裝置包括閃光燈裝置,并且使用情況包括所述閃光燈裝置的點亮以使用戶能夠經由捕獲裝置捕獲圖像。
在一示例中,在執行所述使用情況之后,所述功率控制邏輯要設置所述多個裝置中每個裝置的所述第一功率級別,并向所述多個裝置中每個裝置傳遞所述第一功率級別。
在一示例中,功率控制邏輯要向數據通信裝置發送所述第一消息以使在所述使用情況期間降低所述數據通信裝置的通信頻率。
在一示例中,第一功率級別對于所述多個裝置中的至少一些是不同的。
在一示例中,功率能力信息包含多個時間幀中每個時間幀的所述第一功率級別、第二功率級別和第三功率級別,功率能力信息從所述多個裝置中每個裝置傳遞到所述功率控制邏輯。
在一示例中,第一功率級別包括所述對應裝置要操作在的標稱功率級別,所述第二功率級別包括所述對應裝置要操作在的最大功率級別,并且所述第三功率級別包括所述對應裝置要操作在的最小功率級別。
要指出,上面的處理器能使用各種部件實現。
在一示例中,處理器包括合并在用戶設備觸摸使能裝置中的soc。
在另一示例中,系統包括顯示器和存儲器,并且包含上面示例中一個或更多示例的處理器。
在另一示例中,方法包括:經由處理器的功率分配邏輯分配對于平臺的多個裝置中每個裝置的標稱功率級別,所述平臺包含處理器;從多個裝置的第一裝置接收對于增大的功率級別的裝置通知;以及向第一裝置分配增大的功率級別,以使第一裝置能夠執行第一使用情況的操作。
在一示例中,所述方法進一步包括:確定是否存在可用功率余量以分配增大的功率級別,并且如果不存在,則標識所述多個裝置中的一個或更多其它裝置以接收降低的功率分配,并向所述一個或更多其它裝置發送降低的功率消息。
在一示例中,所述方法進一步包括:向所述第一裝置分配所述增大的功率級別,并在發送所述降低的功率消息之后向所述第一裝置發送裝置turbo消息,其中所述第一裝置要更新所述第一裝置的一個或更多操作參數以操作在所述增大的功率級別。
在一示例中,所述方法進一步包括:從所述多個裝置接收功率能力信息,并將所述功率能力信息存儲在能力存儲裝置中。
在一示例中,所述方法進一步包括:訪問所述能力存儲裝置以確定所述第一裝置的所述增大的功率級別,并至少部分基于所述增大的功率級別來確定是否存在可用功率余量以分配所述增大的功率級別。
在一示例中,所述方法進一步包括:接收具有所述裝置通知的所述第一使用情況的指示,并且訪問與所述第一使用情況關聯的存儲裝置。
在一示例中,所述方法進一步包括:響應于存儲在與所述第一使用情況關聯的所述存儲裝置中的使用情況信息,標識所述多個裝置中的至少一個裝置來接收降低的功率分配。
在另一示例中,包含指令的計算機可讀介質要執行上面任一示例的方法。
在另一示例中,包含數據的計算機可讀介質要由至少一個機器用于制作至少一個集成電路來執行上面示例中任一個示例的方法。
在另一示例中,設備包括用于執行上面示例中任一個示例的方法的部件。
在另一示例中,系統包括:處理器,包含多個核,每個核獨立執行指令,還包含功率控制單元,用來控制所述多個核的功耗;多個裝置,耦合到所述處理器,所述多個裝置中的每個裝置包含能力存儲裝置,用來存儲對應裝置在關聯的操作模式中要操作在的多個功率級別,以及控制邏輯,用來接收功率分配消息并用來控制所述對應裝置的一個或更多操作參數以能夠實現在與所述功率分配消息關聯的功率級別的操作;以及功率控制器,包含功率分配邏輯用來從所述多個裝置接收所述多個功率級別,向所述多個裝置分配功率預算,向所述多個裝置中的每個裝置發送包含分配所述對應裝置被供電所在的第一功率級別的所述功率分配消息,以及響應于來自所述第一裝置的與在所述第一裝置上要執行的使用情形相關的通知來動態更新要分配給第一裝置的功率。
在一示例中,系統進一步包括用來存儲各自與使用情形關聯的多個條目的存儲裝置,其中所述功率控制器響應于所述通知而要訪問所述存儲裝置的條目,并響應于存儲在所述存儲裝置的所述條目中的使用情況信息而要標識所述多個裝置中的至少一個裝置來接收降低的功率分配。
在一示例中,系統進一步包括用來存儲所述多個裝置的所述多個功率級別的第二能力存儲裝置,其中響應于所述通知,所述功率分配邏輯要訪問所述第二能力存儲裝置,獲得所述第一裝置的所述多個功率級別,確定對于所述使用情形的所述第一裝置的更新的功率級別,并向所述第一裝置發送具有所更新的功率級別的更新的功率分配消息。
在一示例中,功率控制單元包括功率控制器。
在一示例中,多個裝置中的至少一些包括處理器的知識產權邏輯。
理解到,上面示例的各種組合是可能的。
實施例可被用在許多不同類型的系統中。例如,在一個實施例中,通信裝置能布置成執行本文描述的各種方法和技術。當然,本發明的范疇不限于通信裝置,并且相反,其它實施例能夠針對用于處理指令的其它類型設備或者針對包含指令的一個或更多機器可讀介質,所述指令響應于在計算裝置上被執行而引起該裝置實行本文中所描述的一個或更多方法和技術。
實施例可以用代碼實現,并且可被存儲在其上存儲有指令的非暫態存儲介質(其能用于對系統進行編程以執行指令)上。實施例還可用數據實現,并且可被存儲在非暫態存儲介質上,其如果由至少一個機器使用則使所述至少一個機器制作至少一個集成電路來執行一個或更多操作。存儲介質可包含但不限于任何類型盤(包含軟盤、光盤、固態驅動器(ssd)、緊致盤只讀存儲器(cd-rom)、緊致盤可重寫裝置(cd-rw)、和磁光盤)、半導體器件諸如只讀存儲器(rom)、隨機存取存儲器(ram)諸如動態隨機存取存儲器(dram)、靜態隨機存取存儲器(sram)、可擦可編程只讀存儲器(eprom)、閃速存儲器、電可擦可編程只讀存儲器(eeprom)、磁卡或光卡或者適合于存儲電子指令的任何其它類型介質。
雖然本發明已經關于有限數量的實施例進行了描述,但本領域技術人員將領會到根據其的眾多修改和改變。所附權利要求書旨在覆蓋落入此呈現的發明的真實精神和范疇內的所有此類修改和改變。