實施例涉及存儲器的熱管理。
背景技術:
在現代數據中心和云環境中,已經做出大量努力來維護服務質量(QoS)和消除系統停機時間。歸功于綠色計算倡議和必要性,在近些年中許多數據中心和云計算提供商選擇通過增加操作環境空氣溫度超過推薦的設置點來以較高環境溫度操作其設施。雖然該哲理帶來冷卻成本和環境影響方面的降低,但可能存在負面效應,包括系統及其組件上的凈熱應力以及正常操作范圍外的意外溫度漂移,其可以不利地影響操作、設備壽命和性能。
附圖說明
圖1是根據本發明的實施例的系統的一部分的框圖。
圖2是根據本發明的實施例的處理器的框圖。
圖3是根據本發明的另一個實施例的多域處理器的框圖。
圖4是圖示包括多個核的處理器的實施例。
圖5是根據本發明的一個實施例的處理器核的微架構的框圖。
圖6是根據另一個實施例的處理器核的微架構的框圖。
圖7是根據又另一個實施例的處理器核的微架構的框圖。
圖8是根據再一個實施例的處理器核的微架構的框圖。
圖9是根據本發明的另一個實施例的處理器的框圖。
圖10是根據本發明的實施例的代表性SoC的框圖。
圖11是根據本發明的實施例的另一個示例SoC的框圖。
圖12是實施例可以與其一起使用的示例系統的框圖。
圖13是實施例可以與其一起使用的另一個示例系統的框圖。
圖14是代表性計算機系統的框圖。
圖15是根據本發明的實施例的系統的框圖。
圖16A是根據本發明的實施例的系統的一部分的框圖。
圖16B是圖示使用本發明的實施例的操作的定時圖。
圖17是根據本發明的實施例的方法的流程圖。
圖18是根據本發明的實施例的配置儲存器的框圖。
圖19是根據本發明的實施例的用于執行動態存儲器跳轉的方法的流程圖。
具體實施方式
在各種實施例中,可以在溫度漂移期間執行存儲器設備的動態熱管理。這樣的熱管理技術通過在熱影響的主設備(例如,雙列直插存儲器模塊(DIMM)或通道)和備用設備(例如,DIMM或通道)之間動態移動數據(本文中也稱為動態跳轉)而實現存儲器設備的熱節流的推遲,直到把熱漂移控制起來為止。該控制可以由于自然手段(例如,工作負載的熱階段結束,或者異常熱事件結束)或者因為通過跳轉操作所實現的平衡而發生。使用本發明的實施例,與規則熱節流相關聯的性能懲罰可以被延遲或避免。
根據實施例的動態存儲器跳轉可以因而延遲或避免存儲器設備的熱節流。這樣的熱節流在可編程閾值或超過可編程閾值而激活以通過使活動/性能節流來控制設備溫度。然而,熱節流影響性能,并且相當于停機時間,就考慮服務保證而言。因此,如果存儲器設備被節流,則整個服務受影響,由于服務可能必須臨時掛起,直到服務的受影響的部分(例如,一個或多個虛擬機)遷移到新服務器為止。或者,在最壞情況下,可能迫使服務在被影響的存儲器上運行,直到高性能條件減輕為止。兩個事件構成停機時間,并且實施例可以用于避免或延遲這樣的熱節流。
實施例因而使用備用存儲器設備來使數據在兩個或更多存儲器設備之間跳轉以解決超溫情況。盡管本發明的范圍在這方面不被限制,但實施例可以部分地通過集成存儲器控制器(IMC)中的邏輯來實現,所述集成存儲器控制器諸如可以被合并在片上系統(SoC)或其他處理器內。
盡管參考特定集成電路中(諸如計算平臺或處理器中)的能量節省和能量效率來描述以下實施例,但其他實施例可應用于其他類型的集成電路和邏輯設備。本文描述的實施例的類似技術和教導可以應用于其他類型的電路或半導體設備,其還可受益于更好的能量效率和能量節省。例如,所公開的實施例不限于任何特定類型的計算機系統。也就是說,所公開的實施例可以用于許多不同的系統類型,范圍從服務器計算機(例如,塔、機架、刀片、微服務器等等)、通信系統、存儲系統、任何配置的臺式計算機、膝上型計算機、筆記本和平板計算機(包括2:1平板電腦、平板手機等等),并且還可以在諸如手持設備、片上系統(SoC)和嵌入式應用之類的其他設備中使用。手持設備的一些示例包括諸如智能電話之類的蜂窩電話、互聯網協議設備、數字攝像機、個人數字助理(PDA)和手持PC。嵌入式應用典型地可以包括微控制器、數字信號處理器(DSP)、網絡計算機(NetPC)、機頂盒、網絡集線器、廣域網(WAN)交換機、可穿戴設備或可以執行以下教導的功能和操作的任何其他系統。更是這樣,實施例可以在具有標準語音功能的移動終端(諸如移動電話、智能電話和平板手機)中和/或在沒有標準無線語音功能通信能力的非移動終端(諸如,許多可穿戴裝置、平板電腦、筆記本、臺式機、微服務器、服務器等等)中實現。此外,本文描述的裝置、方法和系統不限于物理計算設備,但還可以與用于能量節省和效率的軟件優化相關。如在以下描述中將容易地明顯的,本文描述的方法、裝置和系統的實施例(無論是否參考硬件、固件、軟件或其組合)是對“綠色技術”未來至關重要的,諸如對涵蓋大部分美國經濟的產品中的功率節省和能量效率而言。
現在參考圖1,其示出了根據本發明的實施例的系統的一部分的框圖。如圖1中所示,系統100可以包括各種組件,所述組件包括如示出為多核處理器的處理器110。處理器110可以經由外部電壓調節器160耦合到電源供應150,所述外部電壓調節器160可以執行第一電壓變換以向處理器110提供主調節電壓。
如所見,處理器110可以是包括多個核120a-120n的單管芯處理器。此外,每個核可以與集成電壓調節器(IVR)125a-125n相關聯,所述集成電壓調節器125a-125n接收主調節電壓并且生成要被提供到與IVR相關聯的處理器的一個或多個代理的操作電壓。因此,IVR實現方式可以被提供以允許電壓以及從而每個單獨的核的功率和性能的精細粒度控制。同樣,每個核可以以獨立的電壓和頻率操作,這使得能夠實現大靈活性并且提供用于平衡功率消耗與性能的廣泛機會。在一些實施例中,多個IVR的使用使得能夠將組件分組成單獨的功率平面,以使得功率被IVR調節并供應到分組中的僅那些組件。在功率管理期間,一個IVR的給定功率平面可以被降低動力消耗或斷電,當處理器被置于某個低功率狀態時,而另一個IVR的另一個功率平面保持活動,或完全供電。
又參考圖1,可以在處理器內存在附加組件,所述附加組件包括輸入/輸出接口132、另一個接口134和集成存儲器控制器(IMC)136。如所見,這些組件中的每一個可以由另一個集成電壓調節器125x供電。
在所示的實施例中,IMC 136耦合到存儲器140,所述存儲器140可以是系統存儲器,例如實現為動態隨機存取存儲器(DRAM)。存儲器140可以包括多個設備或通道,并且在一些情況下,設備可以被劃分成主通道和輔通道,其中主通道用于活動存儲,并且輔通道被保存備用以在需要時(例如由于故障、錯誤、熱條件等)置于服務。在各種實施例中IMC 136可以包括邏輯,以執行存儲在主設備上的信息到輔設備的動態跳轉,例如由于檢測到在至少閾值持續時間內超過至少閾值水平的主設備上的熱條件,如本文將進一步描述的。
在一個實施例中,接口132可以根據Intel?快速路徑互連(QPI)協議,所述快速路徑互連協議提供包括多個層的高速緩存一致協議中的點對點(PtP)鏈路,所述多個層包括物理層、鏈路層和協議層。繼而,接口134可以根據快速外圍組件互連(PCIe?)規范,例如,快速PCI?規范基本規范版本2.0(2007年1月17日公開)。
還示出了功率控制單元(PCU)138,其可以包括執行關于處理器110的功率管理操作的硬件、軟件和/或固件。如所見,PCU 138經由數字接口向外部電壓調節器160提供控制信息以使電壓調節器生成適當的調節電壓。PCU 138還經由另一個數字接口向IVR 125提供控制信息以控制所生成的操作電壓(或者使對應IVR要在低功率模式中被禁用)。在各種實施例中,PCU 138可以包括各種各樣的功率管理邏輯單元以執行基于硬件的功率管理。這樣的功率管理可以是完全處理器控制的(例如,通過各種處理器硬件,并且其可以由工作負載和/或功率、熱量或其他處理器約束來觸發)以及/或者功率管理可以響應于外部源(諸如平臺或管理功率管理源或系統軟件)來執行。
雖然為了易于圖示而未示出,要理解的是在處理器110內可以存在附加組件,諸如非核邏輯和諸如內部存儲器(例如,高速緩存存儲器層級的一個或多個級等等)之類的其他組件。此外,雖然在圖1的實現方式中以集成電壓調節器示出,但實施例并不被如此限制。
注意到本文描述的熱量和功率管理技術可以獨立于和補充于基于操作系統(OS)的機制,諸如高級配置和平臺接口(ACPI)標準(例如,2006年10月10日公開的版本3.0b)。根據ACPI,處理器可以以各種性能狀態或級別(所謂的P狀態,即從P0到PN)操作。通常,P1性能狀態可以對應于可被OS請求的最高保證性能狀態。除了該P1狀態之外,OS還可以請求較高性能狀態,即P0狀態。該P0狀態可以從而是機會或渦輪(turbo)模式狀態,其中當功率和/或熱量預算可用時,處理器硬件可以將處理器或至少其部分配置成以比保證頻率更高的頻率操作。在許多實現方式中,處理器可以包括高于P1保證最大頻率的多個所謂的箱(bin)頻率,所述箱頻率超過如在制造期間被熔斷或以其他方式寫入到處理器中的特定處理器的最大峰值頻率。此外,根據ACPI,處理器可以以各種功率狀態或級別操作。關于功率狀態,ACPI指定不同功率消耗狀態,通常稱為C狀態,C0、C1到Cn狀態。當核是活動的時,其以C0狀態運行,并且當核是空閑的時,它可以被置于核低功率狀態,也稱為核非零C狀態(例如,C1-C6狀態),其中每個C狀態處于較低功率消耗級別(以使得C6是比C1更深的低功率狀態,等等)。
要理解的是在不同實施例中可以單獨地或組合地使用許多不同類型的功率管理技術。作為代表性示例,功率控制器可以控制處理器以通過某個形式的動態電壓頻率調節(DVFS)進行功率管理,其中一個或多個核或其他處理器邏輯的操作電壓和/或操作頻率可以被動態控制成降低某些情形中的功率消耗。在示例中,可以使用可從加利福尼亞州圣克拉拉的Intel公司得到的Enhanced Intel SpeedStep?技術來執行DVFS以提供最低功率消耗等級處的最優性能。在另一個示例中,可以使用Intel TurboBoost?技術來執行DVFS以使得一個或多個核或其他計算引擎能夠基于條件(例如,工作負載和可用性)而以比保證操作頻率更高的頻率來操作。
可以在某些示例中使用的另一個功率管理技術是不同計算引擎之間的工作負載的動態交換。例如,處理器可以包括以不同功率消耗級別來操作的非對稱核或其他處理引擎,以使得在功率受限情形中,一個或多個工作負載可以被動態切換到在較低功率核或其他計算引擎上執行。另一個示例性功率管理技術是硬件工作循環(HDC),其可以使核和/或其他計算引擎根據工作循環而周期性地被啟用和禁用,以使得可以使一個或多個核在工作循環的不活動時段期間不活動并且使其在工作循環的活動時段期間活動。盡管利用這些特定示例進行描述,但要理解的是在特定實施例中可以使用許多其他功率管理技術。
實施例可以在包括服務器處理器、臺式處理器、移動處理器等的針對各種市場的處理器中實現。現在參考圖2,示出了根據本發明的實施例的處理器的框圖。如圖2中所示,處理器200可以是包括多個核210a-210n的多核處理器。在一個實施例中,每個這樣的核可以具有獨立功率域,并且可以被配置成基于工作負載而進入和離開活動狀態和/或最大性能狀態。各種核可以經由互連215耦合到包括各種組件的系統代理或非核220。如所見的,非核220可以包括共享高速緩存230,所述共享高速緩存230可以是最后一級高速緩存。此外,非核可以包括集成存儲器控制器240以例如經由存儲器總線與系統存儲器(圖2中未示出)通信。如圖2中所見,IMC 240包括備用邏輯242,所述備用邏輯242可以被配置成執行存儲在系統存儲器的一個存儲器設備上的信息到系統存儲器的不同存儲器設備的動態跳轉,例如由于檢測到在至少閾值持續時間內超過至少閾值水平的第一存儲器設備的熱條件。此外,對于更嚴重的熱條件,例如在由備用邏輯242執行的動態跳轉變得不足以將溫度降低到期望水平之后,IMC還包括節流邏輯244,所述節流邏輯244可以被配置成對去往和來自系統存儲器的事務的量節流以更完全處理熱條件。非核220還包括各種接口250和功率控制單元255,所述功率控制單元255可以包括執行本文所述的功率管理技術的邏輯。
此外,通過接口250a-250n,可以做出到各種芯片外組件(諸如,外圍設備、大容量儲存器等)的連接。雖然在圖2的實施例中以該特定實現方式示出,但本發明的范圍在這方面不被限制。
現在參考圖3,示出了根據本發明的另一實施例的多域處理器的框圖。如圖3的實施例中所示,處理器300包括多個域。具體地,核域310可以包括多個核3100-310n,圖形域320可以包括一個或多個圖形引擎,并且還可以存在系統代理域350。在一些實施例中,系統代理域350可以以與核域獨立的頻率來執行,并且可以總是保持通電以處理功率控制事件和功率管理,以使得域310和320可以被控制成動態進入和離開高功率和低功率狀態。域310和320中的每一個可以以不同的電壓和/或功率操作。注意到雖然僅示出有三個域,但要理解的是本發明的范圍在這方面不被限制,并且在其他實施例中可以存在附加的域。例如,可以存在多個核域,每一個核域包括至少一個核。
通常,除了各種執行單元和附加處理元件之外,每個核310還可以包括低級高速緩存。繼而,各種核可以耦合到彼此,并且耦合到由最后一級高速緩存(LLC)3400-340n的多個單元形成的共享高速緩存存儲器。在各種實施例中,LLC 340可以在核和圖形引擎以及各種媒體處理電路之間共享。如所見的,環互連330因而將核耦合在一起,并且提供核、圖形域320和系統代理電路350之間的互連。在一個實施例中,互連330可以是核域的部分。然而,在其他實施例中,環互連可以具有其自己的域。
如進一步所見的,系統代理域350可以包括顯示器控制器352,其可以提供關聯的顯示器的控制和到關聯的顯示器的接口。如進一步所見的,系統代理域350可以包括功率控制單元355,所述功率控制單元355可以包括執行本文所述的功率管理技術的邏輯。
如圖3中進一步所見的,處理器300還可以包括集成存儲器控制器(IMC)370,其可以提供到系統存儲器(諸如,動態隨機存取存儲器(DRAM))的接口。在圖3的實施例中,MC 370包括備用邏輯375,其可以如上所述被配置成響應于檢測到在至少閾值持續時間內超過至少閾值水平的第一DIMM上的熱條件而執行存儲在一個DIMM(或行列(rank))上的信息到不同的DIMM(或行列)的動態跳轉。雖然為了易于圖示而未示出,但要理解的是,IMC 370還可以包括節流邏輯。多個接口3800-380n可以存在以使得能夠實現處理器與其他電路之間的互連。例如,在一個實施例中,可以提供至少一個直接媒體接口(DMI)接口以及一個或多個PCIe?接口。又進一步,為了提供諸如附加處理器或其他電路之類的其他代理之間的通信,還可以提供根據Intel?快速路徑互連(QPI)協議的一個或多個接口。盡管在圖3的實施例中以該高級示出,但要理解的是本發明的范圍在這方面不被限制。
參考圖4,圖示了包括多個核的處理器的實施例。處理器400包括任何處理器或處理設備,諸如微處理器、嵌入式處理器、數字信號處理器(DSP)、網絡處理器、手持處理器、應用處理器、協處理器、片上系統(SoC)或執行代碼的其他設備。在一個實施例中,處理器400包括至少兩個核——核401和402,其可以包括非對稱核或對稱核(所圖示的實施例)。然而,處理器400可以包括可以是對稱的或非對稱的任何數目的處理元件。
在一個實施例中,處理元件指的是支持軟件線程的硬件或邏輯。硬件處理元件的示例包括:線程單元、線程槽、線程、處理單元、上下文、上下文單元、邏輯處理器、硬件線程、核和/或任何其他元件,其能夠保持針對處理器的狀態,諸如執行狀態或架構狀態。換言之,在一個實施例中,處理元件指的是能夠獨立地與代碼(諸如軟件線程、操作系統、應用或其他代碼)關聯的任何硬件。物理處理器典型地指的是集成電路,其潛在地包括任何數目的其他處理元件,諸如核或硬件線程。
核經常指的是位于集成電路上的能夠維持獨立架構狀態的邏輯,其中每個獨立維持的架構狀態與至少一些專用執行資源相關聯。與核相比,硬件線程典型地指的是位于集成電路上的能夠維持獨立架構狀態的任何邏輯,其中獨立維持的架構狀態共享對執行資源的訪問。如可以看到的,當某些資源被共享并且其他資源專用于架構狀態時,硬件線程和核的命名之間的界限重疊。又經常,核和硬件線程被操作系統視為單獨的邏輯處理器,其中操作系統能夠單獨地調度每個邏輯處理器上的操作。
如在圖4中所圖示的,物理處理器400包括兩個核,核401和402。此處,核401和402被視為對稱核,即具有相同配置、功能單元和/或邏輯的核。在另一個實施例中,核401包括無序處理器核,而核402包括有序處理器核。然而,核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中,諸如分配器和重命名器塊430中的指令指針和重命名邏輯之類的其他較小資源也可以針對線程401a和401b復制。諸如重排序/退役單元435中的重排序緩沖器、ILTB 420、加載/存儲緩沖器和隊列之類的一些資源可以通過劃分而被共享。諸如通用內部寄存器、(一個或多個)頁表基址的寄存器、低級數據高速緩存和數據TLB 415、(一個或多個)執行單元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要對近來取出的元素進行高速緩存。注意到較高級或較遠指的是越來越遠離或變得遠離(一個或多個)執行單元的高速緩存級。在一個實施例中,較高級高速緩存410是最后一級數據高速緩存(在處理器400上的存儲器層級中的最后高速緩存),諸如第二或第三級數據高速緩存。然而,較高級高速緩存410不如此受限,由于它可以與指令高速緩存相關聯或包括指令高速緩存。代替地,追蹤(trace)高速緩存(一種類型的指令高速緩存)可以耦合在解碼器425之后以存儲近來解碼的追蹤。
在所描繪的配置中,處理器400還包括總線接口模塊425和功率控制器460,其可以執行根據本發明的實施例的功率管理。在該場景下,總線接口405與處理器400外部的設備(諸如系統存儲器和其他組件)通信。
存儲器控制器470可以與諸如一個或多個存儲器之類的其他設備對接,并且可以被配置成執行如本文所述的動態存儲器跳轉。在示例中,總線接口405包括與用于與存儲器對接的存儲器控制器以及用于與圖形處理器對接的圖形控制器的環互連。在SoC環境中,甚至更多設備(諸如網絡接口、協處理器、存儲器、圖形處理器和任何其他已知的計算機設備/接口)可以集成在單個管芯或集成電路上以在高功能性和低功率消耗的情況下提供小形狀因子。
現在參考圖5,示出了根據本發明的一個實施例的處理器核的微架構的框圖。如圖5中所示,處理器核500可以是多級流水線無序處理器。核500可以基于接收的操作電壓而以各種電壓操作,所述接收的操作電壓可以是從集成電壓調節器或外部電壓調節器接收的。
如圖5中所見,核500包括前端單元510,其可以用于取出要被執行的指令并準備好它們以供稍后在處理器流水線中使用。例如,前端單元510可以包括取出單元501、指令高速緩存503以及指令解碼器505。在一些實現方式中,前端單元510還可以包括追蹤高速緩存連同微代碼儲存器以及微操作儲存器。取出單元501可以例如從存儲器或指令高速緩存503取出宏指令并將其饋送到指令解碼器505以將其解碼成原語(primitive)(即微操作)以供處理器執行。
在前端單元510和執行單元520之間耦合無序(OOO)引擎515,所述OOO引擎515可以用于接收微指令并準備好它們以供執行。更具體地,OOO引擎515可以包括各種緩沖器以對微指令流重排序并分配對于執行所需的各種資源以及提供邏輯寄存器到各種寄存器文件(諸如寄存器文件530和擴展寄存器文件535)內的存儲位置上的重命名。寄存器文件530可以包括用于整數和浮點操作的單獨的寄存器文件。擴展寄存器文件535可以提供針對矢量大小單元(例如每寄存器256或512位)的儲存器。
各種資源可以存在于執行單元520中,所述執行單元520除其他專用硬件之外尤其包括例如各種整數、浮點和單指令多數據(SIMD)邏輯單元。例如,這樣的執行單元除其他這樣的執行單元外尤其可以包括一個或多個算術邏輯單元(ALU)522以及一個或多個矢量執行單元524。
來自執行單元的結果可以被提供到退役邏輯,即重排序緩沖器(ROB)540。更具體地,ROB 540可以包括接收與被執行的指令相關聯的信息的各種陣列和邏輯。該信息然后被ROB 540審查以確定是否指令被有效退役以及結果數據被提交到處理器的架構狀態,或者是否發生阻止指令的適當退役的一個或多個異常。當然,ROB 540可以處理與退役相關聯的其他操作。
如圖5中所示,ROB 540耦合到高速緩存550,在一個實施例中所述高速緩存550可以是低級高速緩存(例如L1高速緩存),盡管本發明的范圍在此方面不被限制。執行單元520還可以直接耦合到高速緩存550。來自高速緩存550的數據通信可以與較高級高速緩存、系統存儲器等一起發生。雖然在圖5的實施例中以該高級示出,但要理解的是本發明的范圍在這方面不被限制。例如,雖然圖5的實現方式關于無序機器,諸如Intel?x86指令集架構(ISA)的無序機器,但本發明的范圍在這方面不被限制。也就是說,在有序處理器、諸如基于ARM的處理器之類的精簡指令集計算(RISC)處理器或可以經由仿真引擎和關聯的邏輯電路仿真不同ISA的指令和操作的另一個類型的ISA的處理器中可以實現其他實施例。
現在參考圖6,示出了根據本發明的另一個實施例的處理器核的微架構的框圖。在圖6的實施例中,核600可以是不同微架構的低功率核,諸如基于Intel?AtomTM的處理器,其具有被設計成降低功率消耗的相對有限的流水線深度。如所見的,核600包括指令高速緩存610,所述指令高速緩存610被耦合以向指令解碼器615提供指令。分支預測器605可以耦合到指令高速緩存610。注意到指令高速緩存610還可以耦合到另一級高速緩存存儲器,諸如L2高速緩存(在圖6中為了易于圖示而未示出)。繼而,指令解碼器615將經解碼的指令提供到發布隊列620以供存儲和遞送到給定執行流水線。微代碼ROM 618耦合到指令解碼器615。
浮點流水線630包括浮點寄存器文件632,所述浮點寄存器文件632可以包括具有諸如128、256或512位的給定位的多個架構寄存器。流水線630包括調度指令以供在流水線的多個執行單元之一上執行的浮點調度器634。在所示的實施例中,這樣的執行單元包括ALU 635、置亂(shuffle)單元636和浮點加法器638。繼而,在這些執行單元中所生成的結果可以被提供回到緩沖器和/或寄存器文件632的寄存器。當然要理解的是,雖然以這幾個示例執行單元示出,但在另一個實施例中可以存在附加的或不同的浮點執行單元。
還可以提供整數流水線640。在所示的實施例中,流水線640包括整數寄存器文件642,所述整數寄存器文件642可以包括具有諸如128或256位的給定位的多個架構寄存器。流水線640包括調度指令以供在流水線的多個執行單元之一上執行的整數調度器644。在所示的實施例中,這樣的執行單元包括ALU 645、置亂單元646和跳躍執行單元648。繼而,在這些執行單元中所生成的結果可以被提供回到緩沖器和/或寄存器文件642的寄存器。當然要理解的是,雖然以這幾個示例執行單元示出,但在另一個實施例中可以存在附加的或不同的整數執行單元。
存儲器執行調度器650可以調度存儲器操作以供在地址生成單元652中執行,所述地址生成單元652還耦合到TLB 654。如所見的,這些結構可以耦合到數據高速緩存660,所述數據高速緩存660可以是L0和/或L1數據高速緩存,其繼而耦合到高速緩存存儲器層級的附加級,包括L2高速緩存存儲器。
為了提供對無序執行的支持,除了重排序緩沖器680之外,還可以提供分配器/重命名器670,所述重排序緩沖器680可以被配置成對無序執行的指令進行重排序以供有序退役。盡管在圖6的圖示中以該特定流水線架構示出,但要理解的是許多變型和替換方案是可能的。
注意到,在具有非對稱核的處理器中,諸如根據圖5和6的微架構,工作負載可以出于功率管理原因而在核之間動態地交換,由于這些核盡管具有不同的流水線設計和深度但可以具有相同或相關的ISA。這樣的動態核交換可以以對用戶應用(并且可能地也對內核)透明的方式來執行。
參考圖7,示出了根據又另一個實施例的處理器核的微架構的框圖。如圖7中所圖示的,核700可以包括以非常低功率消耗級別執行的多級有序流水線。作為一個這樣的示例,處理器700可以具有根據可從加利福尼亞州森尼維爾的ARM控股有限公司得到的ARM Cortex A53的微架構。在實現方式中,可提供被配置成執行32位和64位代碼二者的8級流水線。核700包括取出單元710,所述取出單元710被配置成取出指令并將其提供到解碼單元715,所述解碼單元715可以對指令(例如諸如ARMv8 ISA之類的給定ISA的宏指令)進行解碼。還注意到,隊列730可以耦合到解碼單元715以存儲經解碼的指令。經解碼的指令被提供到發布邏輯725,其中經解碼的指令可以被發布到多個執行單元中的給定的一個執行單元。
進一步參考圖7,發布邏輯725可以將指令發布到多個執行單元之一。在所示的實施例中,這些執行單元包括整數單元735、乘法單元740、浮點/矢量單元750、雙發布單元760和加載/存儲單元770。這些不同執行單元的結果可以被提供到寫回單元780。要理解的是,雖然為了易于圖示而示出單個寫回單元,但在一些實現方式中單獨的寫回單元可以與每一個執行單元相關聯。此外,要理解的是雖然在圖7中示出的每個單元和邏輯以高級別來表示,但特定實現方式可以包括更多或不同的結構。使用具有如圖7中的流水線的一個或多個核設計的處理器可以以從移動設備擴展到服務器系統的許多不同最終產品來實現。
參考圖8,示出了根據再一個實施例的處理器核的微架構的框圖。如圖8中所圖示的,核800可以包括以非常高性能級別執行的多級多發布無序流水線(其可以以比圖7的核700更高的功率消耗級別發生)。作為一個這樣的示例,處理器800可以具有根據ARM Cortex A57設計的微架構。在實現方式中,可提供被配置成執行32位和64位代碼二者的15(或更多)級流水線。此外,流水線可以提供3(或更多)寬和3(或更多)發布操作。核800包括取出單元810,所述取出單元810被配置成取出指令并將其提供到解碼器/重命名器/分派器815,其可以對指令(例如ARMv8指令集架構的宏指令)進行解碼、重命名指令內的寄存器引用和將指令(最終)分派到所選執行單元。經解碼的指令可以被存儲在隊列825中。注意到雖然在圖8中為了易于圖示而示出單個隊列結構,但要理解的是可以針對多個不同類型的執行單元中的每一個而提供單獨的隊列。
在圖8中還示出了存儲在隊列825中的經解碼的指令可以從其發布到所選執行單元的發布邏輯830。發布邏輯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?Architecture CoreTM的處理器,諸如i3、i5、i7或從Intel公司可得到的另一個這樣的處理器。然而,諸如從加利福尼亞州森尼維爾的超威半導體公司(AMD)可得到的、來自ARM控股有限公司或其被許可方的基于ARM的設計或來自加利福尼亞州森尼維爾的MIPS技術有限公司或其被許可方或采納方的基于MIPS的設計之類的其他低功率處理器可以代替地存在于其他實施例中,諸如蘋果A7處理器、高通Snapdragon處理器、或德克薩斯州儀器OMAP處理器。這樣的SoC可以用于低功率系統中,諸如智能電話、平板計算機、平板手機計算機、UltrabookTM計算機或其他便攜式計算設備。
在圖9中所示的高級視圖中,處理器900包括多個核單元9100-910n。每個核單元可以包括一個或多個處理器核、一個或多個高速緩存存儲器和其他電路。每個核單元910可以支持一個或多個指令集(例如,x86指令集(具有已經添加有較新版本的一些擴展);MIPS指令集;ARM指令集(具有諸如NEON之類的可選附加擴展))或其他指令集或其組合。注意到核單元中的一些可以是(例如,不同設計的)異構資源。此外,每個這樣的核可以耦合到高速緩存存儲器(未示出),在實施例中所述高速緩存存儲器可以是共享級(L2)高速緩存存儲器。非易失性儲存器930可以用于存儲各種程序和其他數據。例如,該儲存器可以用于存儲微代碼、引導信息(諸如BIOS)、其他系統軟件等的至少部分。
每個核單元910還可以包括使得能夠實現到處理器的附加電路的互連的諸如總線接口之類的接口。在實施例中,每個核單元910耦合到一致性結構,所述一致性結構可以充當主高速緩存一致性管芯上互連,其繼而耦合到存儲器控制器930。繼而,存儲器控制器935控制與諸如DRAM之類的存儲器(在圖9中為了易于圖示而未示出)的通信,并且還可以執行如本文所述的動態存儲器跳轉和/或節流。
除了核單元之外,在處理器內存在附加處理引擎,包括至少一個圖形單元920,所述至少一個圖形單元920可以包括執行圖形處理以及可能地執行圖形處理器上的通用操作(所謂的GPGPU操作)的一個或多個圖形處理單元(GPU)。此外,可以存在至少一個圖像信號處理器925。信號處理器925可以被配置成處理從(SoC內部的或芯片外的)一個或多個捕獲設備接收的傳入圖像數據。
還可以存在其他加速器。在圖9的圖示中,視頻編碼器950可以執行編碼操作,包括針對視頻信息而編碼和解碼,例如提供對高清晰度視頻內容的硬件加速支持。顯示器控制器955還可以被提供以對顯示器操作進行加速,包括提供對系統的內部和外部顯示器的支持。此外,安全處理器945可以存在以執行安全性操作,諸如安全引導操作、各種密碼操作等。
每一個單元可以使其功率消耗經由功率管理器940來控制,所述功率管理器940可以包括執行本文所述的各種功率管理技術的控制邏輯。
在一些實施例中,SoC 900還可以包括非一致性結構,其耦合到各種外圍設備可以耦合到的一致性結構。一個或多個接口960a-960d使得能夠實現與一個或多個芯片外設備的通信。這樣的通信可以根據各種各樣的通信協議,除其他類型的通信協議之外尤其諸如PCIeTM、GPIO、USB、I2C、UART、MIPI、SDIO、DDR、SPI、HDMI。盡管在圖9的實施例中以該高級示出,但要理解的是本發明的范圍在這方面不被限制。
現在參考圖10,示出了代表性SoC的框圖。在所示的實施例中,SoC 1000可以是多核SoC,所述多核SoC被配置用于為了合并到智能電話或其他低功率設備(諸如平板計算機或其他便攜式計算設備)中而要被優化的低功率操作。作為示例,SoC 1000可以使用諸如較高功率和/或低功率核(例如無序核和有序核)的組合之類的非對稱或不同類型的核來實現。在不同實施例中,這些核可以基于Inte?ArchitectureTM核設計或ARM架構設計。在又其他實施例中,可以在給定SoC中實現Intel和ARM核的混合。
如圖10中所見,SoC 1000包括具有多個第一核10120-10123的第一核域1010。在實施例中,這些核可以是低功率核,諸如有序核。在一個實施例中,這些第一核可以被實現為ARM Cortex A53核。繼而,這些核耦合到核域1010的高速緩存存儲器1015。此外,SoC 1000包括第二核域1020。在圖10的圖示中,第二核域1020具有多個第二核10220-10223。在示例中,這些核可以是與第一核1012相比的更高功率消耗的核。在實施例中,第二核可以是無序核,其可以被實現為ARM Cortex A57核。繼而,這些核耦合到核域1020的高速緩存存儲器1025。注意到雖然在圖10中示出的示例包括每個域中的4個核,但要理解的是在其他實施例中在給定域中可以存在更多或更少的核。
進一步參考圖10,還提供了圖形域1030,其可以包括被配置成獨立地執行例如由核域1010和1020的一個或多個核提供的圖形工作負載的一個或多個圖形處理單元(GPU)。作為示例,除了提供圖形和顯示再現操作之外,GPU域1030還可以用于提供對各種各樣的屏幕大小的顯示支持。
如所見的,各種域耦合到一致性互連1040,其在實施例中可以是高速緩存一致性互連結構,其繼而耦合到集成存儲器控制器1050。一致性互連1040可以包括共享高速緩存存儲器,諸如L3高速緩存,一些示例。在實施例中,存儲器控制器1050可以是提供與芯片外存儲器的通信的多個通道(諸如(在圖10中為了易于圖示而未示出的)DRAM的多個通道)的直接存儲器控制器,并且進一步執行基于DRAM的熱條件的動態存儲器跳轉和/或節流,如本文所述的。
在不同的示例中,核域的數目可以變化。例如,對于適合于合并到移動計算設備中的低功率SoC而言,可以存在諸如圖10中示出的有限數目的核域。又進一步,在這樣的低功率SoC中,包括較高功率核的核域1020可以具有較少數目的這樣的核。例如,在一個實現方式中,兩個核1022可以被提供以使得能夠實現以降低的功率消耗級別的操作。此外,不同的核域還可以耦合到中斷控制器以使得能夠實現不同域之間的工作負載的動態交換。
在又其他實施例中,可以存在較大數目的核域以及附加可選IP邏輯,因為SoC可以縮放到用于合并到其他計算設備(諸如臺式機、服務器、高性能計算系統、基站等)中的較高性能(和功率)級別。作為一個這樣的示例,可以提供均具有給定數目的無序核的4個核域。又進一步,除了可選GPU支持(其作為示例可以采取GPGPU的形式)之外,還可以提供用于提供對特定功能(例如,web(網絡)服務、網絡處理、切換等)的優化的硬件支持的一個或多個加速器。此外,可以存在輸入/輸出接口以將這樣的加速器耦合到芯片外組件。
現在參考圖11,示出了另一個示例SoC的框圖。在圖11的實施例中,SoC 1100可以包括使得能夠實現針對多媒體應用、通信和其他功能的高性能的各種電路。同樣,SoC 1100適合于合并到各種各樣的便攜式和其他設備(諸如智能電話、平板計算機、智能TV等)中。在所示的示例中,SoC 1100包括中央處理器單元(CPU)域1110。在實施例中,多個單獨的處理器核可以存在于CPU域1110中。作為一個示例,CPU域1110可以是具有4個多線程核的四核處理器。這樣的處理器可以是同構或異構處理器,例如,低功率和高功率處理器核的混合。
繼而,GPU域1120被提供以執行一個或多個GPU中的高級圖形處理以處理圖形和計算API。DSP單元1130可以提供一個或多個低功率DSP以用于除了可以在多媒體指令的執行期間發生的高級計算之外處理低功率多媒體應用,諸如音樂回放、音頻/視頻等。繼而,通信單元1140可以包括經由各種無線協議提供連接性的各種組件,所述各種無線協議諸如蜂窩通信(包括3G/4G LTE)、無線局域技術(諸如Bluetooth?、IEEE 802.11)等。
又進一步,多媒體處理器1150可以用于執行高清晰度視頻和音頻內容的捕獲和回放,包括用戶手勢的處理。傳感器單元1160可以包括多個傳感器和/或傳感器控制器以對接到在給定平臺中存在的各種芯片外傳感器。圖像信號處理器1170可以被提供有一個或多個單獨的ISP以執行關于從平臺的一個或多個攝像機(包括靜止和視頻攝像機)捕獲的內容的圖像處理。
顯示器處理器1180可以提供對到給定像素密度的高清晰度顯示器的連接的支持,包括無線傳送內容以供在這樣的顯示器上回放的能力。又進一步,位置單元1190可以包括GPS接收器,其具有對多個GPS星座的支持以為應用提供使用這樣的GPS接收器獲得的高準確的定位信息。要理解的是雖然在圖11的示例中以該特定組件集合示出,但許多變型和替換方案是可能的。
現在參考圖12,示出了實施例可以與其一起使用的示例系統的框圖。如所見的,系統1200可以是智能電話或其他無線通信器。基帶處理器1205被配置成執行關于要從系統傳送或由系統接收的通信信號的各種信號處理。繼而,基帶處理器1205耦合到應用處理器1210,其可以是執行除了用戶應用(諸如許多公知的社交媒體和多媒體應用)之外的OS和其他系統軟件的系統的主CPU。應用處理器1210還可以被配置成執行針對設備的各種其他計算操作。
繼而,應用處理器1210可以耦合到用戶接口/顯示器1220,例如觸摸屏顯示器。此外,應用處理器1210可以耦合到存儲器系統,所述存儲器系統包括非易失性存儲器(即閃速存儲器1230)和系統存儲器(即動態隨機存取存儲器(DRAM)1235)。為此,應用處理器1210可以包括集成存儲器控制器以處理與DRAM 1235的通信,并且執行如本文所述的動態存儲器跳轉和/或存儲器熱節流。如進一步所見的,應用處理器1210還耦合到捕獲設備1240,諸如可以記錄視頻和/或靜止圖像的一個或多個圖像捕獲設備。
又參考圖12,包括訂戶身份模塊和可能地安全存儲和密碼處理器的通用集成電路卡(UICC)1240也耦合到應用處理器1210。系統1200還可以包括安全處理器1250,所述安全處理器1250可以耦合到應用處理器1210。多個傳感器1225可以耦合到應用處理器1210以使得能夠實現各種感測到的信息(諸如,加速度計和其他環境信息)的輸入。音頻輸出設備1295可以提供接口以輸出聲音,例如以語音通信、播放或流式傳輸音頻數據等的形式。
如進一步圖示的,提供了近場通信(NFC)無接觸接口1260,其經由NFC天線1265在NFC近場中進行通信。雖然在圖12中示出了分離的天線,但要理解的是在一些實現方式中,可以提供一個天線或不同的天線集以使得能夠實現各種無線功能。
功率管理集成電路(PMIC)1215耦合到應用處理器1210以執行平臺級功率管理。為此,PMIC 1215可以向應用處理器1210發布功率管理請求以進入某些低功率狀態,如期望的那樣。此外,基于平臺約束,PMIC 1215還可以控制系統1200的其他組件的功率級。
為了使得通信能夠被傳送和接收,各種電路可以耦合在基帶處理器1205和天線1290之間。具體地,可以存在射頻(RF)收發器1270和無線局域網(WLAN)收發器1275。通常,RF收發器1270可以用于根據諸如3G或4G無線通信協議(諸如根據碼分多址(CDMA)、全球移動通信系統(GSM)、長期演進(LTE)或其他協議)之類的給定無線通信協議接收和傳送無線數據和呼叫。此外,可以存在GPS傳感器1280。還可以提供諸如無線電信號(例如AM/FM和其他信號)的接收或傳送之類的其他無線通信。此外,還可以經由WLAN收發器1275來實現局部無線通信,諸如根據Bluetooth?標準或IEEE 802.11標準(諸如IEEE 802.11a/b/g/n)。
現在參考圖13,示出了實施例可以與其一起使用的另一個示例系統的框圖。在圖13的圖示中,系統1300可以是移動低功率系統,諸如平板計算機,2:1平板電腦、平板手機或其他可轉換或獨立平板系統。如所圖示的,SoC 1310存在,并且可以被配置成操作為針對該設備的應用處理器。
各種設備可以耦合到SoC 1310。在所示的圖示中,存儲器子系統包括耦合到SoC 1310的閃速存儲器1340和DRAM 1345。為此,SoC 1310可以包括集成存儲器控制器以處理與DRAM 1345的通信,并且執行如本文所述的動態存儲器跳轉和/或存儲器熱節流。此外,觸摸面板1320耦合到SoC 1310以提供顯示能力和經由觸摸的用戶輸入,包括在觸摸面板1320的顯示器上供應虛擬鍵盤。為了提供有線網絡連接性,SoC 1310耦合到以太網接口1330。外圍中心1325耦合到SoC 1310以使得能夠實現與各種外圍設備對接,諸如可以通過各種端口或其他連接器中的任一個而耦合到系統1300。
除了SoC 1310內的內部功率管理電路和功能之外,PMIC 1380耦合到SoC 1310以提供基于平臺的功率管理,例如基于系統是由電池1390還是由經由AC適配器1395的AC功率供電。除了該基于功率源的功率管理之外,PMIC 1380還可以執行基于環境和使用條件的平臺功率管理活動。又進一步,PMIC 1380可以向SoC 1310傳送控制和狀態信息以引起SoC 1310內的各種功率管理動作。
又參考圖13,為了提供無線能力,WLAN單元1350耦合到SoC 1310并繼而到天線1355。在各種實現方式中,WLAN單元1350可以提供根據一個或多個無線協議(包括IEEE 802.11協議、Bluetooth?協議或任何其他無線協議)的通信。
如進一步圖示的,多個傳感器1360可以耦合到SoC 1310。這些傳感器可以包括各種加速度計、環境和其他傳感器,其包括用戶手勢傳感器。最終,音頻編解碼器1365耦合到SoC 1310以提供到音頻輸出設備1370的接口。當然,要理解的是雖然在圖13中以該特定實現方式示出,但許多變型和替換方案是可能的。
現在參考圖14,代表性計算機系統(諸如,筆記本、Ultrabook?或其他小形狀因子系統)的框圖。在一個實施例中,處理器1410包括微處理器、多核處理器、多線程處理器、超低電壓處理器、嵌入式處理器或其他已知的處理元件。在所圖示的實現方式中,處理器1410充當用于與系統1400的各種組件中的許多組件通信的主處理單元和中央中心。作為一個示例,處理器1400被實現為SoC。
在一個實施例中,處理器1410與系統存儲器1415通信。作為說明性示例,系統存儲器1415經由多個存儲器設備或模塊來實現以提供給定量的系統存儲器。在實施例中,處理器1410包括集成存儲器控制器以處理與系統存儲器1415的通信,并且執行如本文所述的動態存儲器跳轉和/或存儲器熱節流。
為了提供諸如數據、應用、一個或多個操作系統等之類的信息的持久性存儲,大容量儲存器1420還可以耦合到處理器1410。在各種實施例中,為了使得能夠實現較薄和較輕系統設計以及為了改進系統響應性,該大容量儲存器可以經由SSD來實現,或者大容量儲存器可以主要使用具有較小量SSD儲存器充當SSD高速緩存的硬盤驅動器(HDD)來實現以使得能夠實現在斷電事件期間的上下文狀態和其他這樣的信息的非易失性存儲,以使得在系統活動的重新初始化時可以發生快速上電。在圖14中還示出了,閃速設備1422可以例如經由串行外圍接口(SPI)耦合到處理器1410。該閃速設備可以提供系統軟件的非易失性存儲,所述系統軟件包括基本輸入/輸出軟件(BIOS)以及系統的其他固件。
在系統1400內可以存在各種輸入/輸出(I/O)設備。具體地在圖14的實施例中示出了顯示器1424,所述顯示器1424可以是高清晰度LCD或LED面板,其可以進一步提供觸摸屏1425。在一個實施例中,顯示器1424可以經由顯示器互連耦合到處理器1410,所述顯示器互連可以被實現為高性能圖形互連。觸摸屏1425可以經由另一個互連耦合到處理器1410,所述另一個互連在實施例中可以是I2C互連。如圖14中進一步所示的,除了觸摸屏1425之外,通過觸摸的方式的用戶輸入還可以經由觸摸板1430而發生,所述觸摸板1430可以被配置在底架內并且還可以與觸摸屏1425耦合到相同的I2C互連。
為了感知計算和其他目的,各種傳感器可以存在于系統內,并且可以以不同的方式耦合到處理器1410。某些慣性和環境傳感器可以通過傳感器中心1440(例如經由I2C互連)耦合到處理器1410。在圖14中所示的實施例中,這些傳感器可以包括加速度計1441、環境光傳感器(ALS)1442、羅盤1443和陀螺儀1444。其他環境傳感器可以包括一個或多個熱傳感器1446,在一些實施例中,所述熱傳感器1446經由系統管理總線(SMBus)總線耦合到處理器1410。
在圖14中還看到,各種外圍設備可以經由低引腳數(LPC)互連耦合到處理器1410。在所示的實施例中,可以通過嵌入式控制器1435來耦合各種組件。這樣的組件可以包括鍵盤1436(例如,經由PS2接口耦合)、風扇1437和熱傳感器1439。在一些實施例中,觸摸板1430還可以經由PS2接口耦合到EC 1435。此外,諸如根據日期2003年10月2日的可信計算組(TCG)TPM規范版本1.2的可信平臺模塊(TPM)1438之類的安全處理器還可以經由該LPC互連耦合到處理器1410。
系統1400可以以各種各樣的方式(包括無線地)與外部設備通信。在圖14中所示的實施例中,存在各種無線模塊,其中的每一個可以對應于被配置用于特定無線通信協議的無線電。用于在短距離(諸如近場)中的無線通信的一個方式可以是經由NFC單元1445,所述NFC單元1445在一個實施例中可以經由SMBus與處理器1410通信。注意到,經由該NFC單元1445,與彼此緊密接近的設備可以通信。
如圖14中進一步所見,附加無線單元可以包括其他短距離無線引擎,包括WLAN單元1450和藍牙單元1452。使用WLAN單元1450,可以實現根據給定IEEE 802.11標準的Wi-Fi?通信,而經由藍牙單元1452,可以發生經由藍牙協議的短距離通信。這些單元可以經由例如USB鏈路或通用異步接收器發射器(UART)鏈路與處理器1410通信。或者這些單元可以經由根據PCIe?協議或另一個這樣的協議(諸如串行數據輸入/輸出(SDIO)標準)的互連耦合到處理器1410。
此外,例如根據蜂窩或其他無線廣域協議的無線廣域通信可以經由WWAN單元1456發生,所述WWAN單元1456繼而可以耦合到訂戶身份模塊(SIM)1457。此外,為了使得能夠實現位置信息的接收和使用,還可以存在GPS模塊1455。注意到,在圖14中所示的實施例中,WWAN單元1456和集成的捕獲設備(諸如攝像機模塊1454)可以經由給定USB協議(諸如USB 2.0或3.0鏈路)或UART或I2C協議進行通信。
集成的攝像機模塊1454可以合并在蓋中。為了提供音頻輸入和輸出,音頻處理器可以經由數字信號處理器(DSP)1460來實現,所述DSP 1460可以經由高清晰度音頻(HDA)鏈路耦合到處理器1410。類似地,DSP 1460可以與集成編碼器/解碼器(CODEC)和放大器1462通信,其繼而可以耦合到輸出揚聲器1463,所述輸出揚聲器1463可以在底架內實現。類似地,放大器和編解碼器 1462可以被耦合以從麥克風1465接收音頻輸入,所述麥克風1465在實施例中可以經由雙陣列麥克風(諸如數字麥克風陣列)來實現以提供高質量音頻輸入以使得能夠實現系統內的各種操作的語音激活的控制。還注意到,可以將音頻輸出從放大器/編解碼器 1462提供到耳機插口1464。盡管在圖14的實施例中以這些特定組件示出,但要理解的是本發明的范圍在這方面不被限制。
可以以許多不同的系統類型來實現實施例。現在參考圖15,示出了根據本發明的實施例的系統的框圖。如圖15中所示,多處理器系統1500是點對點互連系統,并且包括經由點對點互連1550耦合的第一處理器1570和第二處理器1580。如圖15中所示,處理器1570和1580中的每一個可以是多核處理器,其包括第一和第二處理器核(即,處理器核1574a和1574b以及處理器核1584a和1584b),盡管在處理器中潛在地可以存在更多的核。每一個處理器可以包括PCU或其他功率管理邏輯以執行如本文所述的基于處理器的功率管理。
又參考圖15,第一處理器1570還包括存儲器控制器中心(MCH)1572和點對點(P-P)接口1576和1578。類似地,第二處理器1580包括MCH 1582以及P-P接口1586和1588。如圖15中所示,MCH 1572和1582將處理器耦合到相應的存儲器,即存儲器1532和存儲器1534,所述存儲器可以是本地附接到相應處理器的系統存儲器(例如,DRAM)的部分。此外,MCH 1572和1582中的每一個可以包括備用邏輯和節流邏輯以執行如本文所述的動態存儲器跳轉和/或存儲器熱節流。第一處理器1570和第二處理器1580可以分別經由P-P互連1562和1564耦合到芯片組1590。如圖15中所示,芯片組1590包括P-P接口1594和1598。
此外,芯片組1590包括通過P-P互連1539將芯片組1590與高性能圖形引擎1538耦合的接口1592。繼而,芯片組1590可以經由接口1596耦合到第一總線1516。如圖15中所示,各種輸入/輸出(I/O)設備1514可以耦合到第一總線1516連同總線橋1518,所述總線橋1518將第一總線1516耦合到第二總線1520。在一個實施例中,各種設備可以耦合到第二總線1520,所述各種設備包括例如鍵盤/鼠標1522、通信設備1526和可以包括代碼1530的數據存儲單元1528(諸如盤驅動器或其他大容量存儲設備)。另外,音頻I/O 1524可以耦合到第二總線1520。實施例可以被合并到其他類型的系統中,所述其他類型的系統包括移動設備,諸如智能蜂窩電話、平板計算機、筆記本、Ultrabook?等。
現在參考圖16A,其示出了根據實施例的系統的一部分的框圖。如圖16A中所示,系統1600的一部分包括系統存儲器1610的多個存儲器設備和存儲器控制器1630,所述存儲器控制器1630可以是SoC或其他處理器的集成存儲器控制器(在圖16A中未示出處理器的剩余部分)。如所見的,系統存儲器1610可以用多個單獨的DIMM來實現,所述DIMM包括第一主DIMM 1612a和第二主DIMM 1612b以及第一備用DIMM 1614a和第二備用DIMM 1614b。這些存儲器設備中的每一個可以包括被配置成傳送一個或多個熱傳感器和超溫條件的邏輯,所述超溫條件可以作為對應存儲器事件(MEM_EVENT#)而發送到存儲器互連的門邏輯(GTL)1625,所述存儲器互連將存儲器1610耦合到IMC 1630。GTL 1625可以是將多個DIMM與存儲器控制器1630耦合的門電路。此外,在實現方式中,熱信息可以被傳送到基板管理控制器1620,其中系統1600具有多服務器環境,諸如服務器平臺。注意到,在一些情況下,基板管理控制器1620可以被配置成執行平臺級熱管理(例如,經由板載風扇設備的動作),以使得本文所述的動態存儲器跳轉僅在平臺級熱管理變得不足以將存儲器溫度維持在期望的容限內(例如,在風扇以其最大速度操作的情況下,超過所述最大速度,風扇不能提供進一步冷卻)之后發生。
又參考圖16A,存儲器控制器1630被耦合以從對應存儲器設備接收存儲器事件的指示。當給定熱事件被傳送時,可以在與給定存儲器設備相關聯的對應漏桶計數器1632內發生活動。如以下將進一步討論的,漏桶計數器1632可以被配置成測量在向備用邏輯1634觸發閾值事件之前可以允許發生的溫度漂移的持續時間。在各種實施例中,備用邏輯1634包括被配置成執行備用故障轉移、狀態管理和DIMM溫度監視的關聯的邏輯/電路。
為了確定存儲器溫度,實施例利用DIMM上的溫度傳感器(TSOD),熱信息可以從所述TSOD獲得并被存儲器控制器或其他邏輯使用。在一些實現方式中,DIMM可以包括附加(非地址/數據)引腳以報告超溫條件。此外,存儲器設備可以被配置有邏輯,所述邏輯被編程為當檢測到超溫條件時(諸如每當TSOD溫度超過閾值時)在這些引腳上發信號通知事件。在實施例中,這些附加熱信號可以使用邊帶機制(例如I2C總線)從DIMM傳送到存儲器控制器。在不同的實施例中,備用邏輯1634或者讀取存儲器設備上的熱傳感器,或者每當發生超溫條件時被中斷。
如圖16A中所見,備用邏輯1634包括執行如本文所述的地址重映射的重映射邏輯1635。備用邏輯1634可以使用如當給定漏桶計數器1632的計數值超過閾值時接收的溫度閾值事件來激活,這指示對應存儲器設備已經超過熱閾值達閾值持續時間。此外,多個跳轉計數器1636可以耦合到備用邏輯1634。在不同的實現方式中,可以存在單個全局跳轉計數器,或者可以提供多個跳轉計數器,每一個與給定的存儲器設備相關聯。在任一情況中,跳轉計數器1636被配置成維持在對應主存儲器設備和備用存儲器設備之間發生的動態跳轉的計數。當已經發生給定閾值計數的這樣的動態跳轉時,備用邏輯1634可以與節流邏輯1650通信,所述節流邏輯1650可以被配置成當達到該閾值時執行存儲器事務的節流以使得進一步冷卻能夠在存儲器設備內發生,在此時跳轉操作終止,并且作為節流的結果性能影響開始。
如進一步在圖16A中所圖示的,地址解碼器1642耦合到備用邏輯1634,并且進一步耦合到存儲器事務隊列1652,所述存儲器事務隊列1652可以存儲要被發送到存儲器的待決存儲器事務。如所看見的,當指示節流時,節流信號從節流邏輯1650發送到存儲器事務隊列1652以使得節流能夠發生。為了實施與處理器的其他部分的通信,存儲器控制器1630還可以包括CPU接口1640。繼而,CPU接口1640耦合到地址解碼器1642,所述地址解碼器對地址進行解碼并且與備用邏輯1634和存儲器事務隊列1652對接。
重映射邏輯1635被配置成例如基于是否設置內部標志以及啟用備用特征而將傳入存儲器請求重定向到主設備或備用設備。備用邏輯1634可以被配置成當不活動時將備用DIMM維持在低功率狀態。在實施例中,備用邏輯1634可以執行備用拷貝流以當從主跳轉到備用時將主DIMM的內容拷貝到備用DIMM。當執行反向跳轉時,拷貝操作在反向方向(即,備用到主)進行類似的操作。前向和反向備用操作一起構成單片存儲器跳轉操作。
在實施例中,故障預測可以經由溫度閾值和漏桶計數器來執行,其二者可編程成允許平臺確定備用熱行列或DIMM的適當時間。為了實現這一點,處理器可以實現每個DIMM或行列一個漏桶計數器以測量溫度漂移和每DIMM或行列一個溫度閾值。當行列溫度超過閾值時,漏桶計數器增加,并且當行列溫度返回到低于閾值時,漏桶計數器制止。因而,漏桶計數器有效地測量在其內溫度漂移允許發生或被容忍的持續時間。如果行列溫度在大于漏桶編程值的持續時間內保持高于編程的閾值,則發信號通知熱事件。當對應設備溫度低于計及遲滯的閾值時,漏桶計數器開始使持續時間計數器泄露。盡管在圖16A的實施例中以該高級示出,但要理解的是變型和替換方案是可能的。
根據圖16B中所示的實際工作負載溫度分布以及主DIMM/通道和輔DIMM/通道的實際工作負載溫度分布的比較,圖16B是圖示使用本發明的實施例的操作的定時圖,在主DIMM/通道和輔DIMM/通道之間的切換活動角色實現低于存儲器溫度閾值MEMHOT的總體冷卻器存儲器子系統。更具體地,圖16B示出針對工作負載的實際溫度分布和虛擬溫度分布,所述虛擬溫度分布是當工作負載在設備之間動態跳轉時針對主存儲器設備和輔存儲器設備的總體溫度的卷積。為了防止反應性跳轉,監視窗口被配置成對應于每個漏桶計數器的計數(表示為圖16B中的觀察點A處的Lc)。每當當前活動的存儲器上的工作負載引起高于MEMHOT(熱閾值)的漂移時,該觀察窗口發生。如果漂移維持達大于Lc的持續時間,則存儲在主存儲器中的數據跳轉到輔存儲器以便使主存儲器冷卻以維持總體溫度分布低于MEMHOT。還如圖16B中所見,如果高于MEMHOT的漂移僅如觀察點B處觀察到的那樣簡短(例如,在“熱突發”期間),則數據不跳轉,從而優化總體性能。因而,在圖16B中僅發生從主到輔并回到主的存儲器跳轉的單個完全循環。
現在參考圖17,其示出了根據實施例的方法的流程圖。更具體地,圖17示出可以在存儲器初始化期間由系統軟件(例如BIOS)執行的方法1700,諸如可以在BIOS的上電自測試(POST)部分中發生,以確定是否啟用本文所述的溫度感知存儲器跳轉技術。如所見,方法1700通過確定是否啟用溫度感知跳轉技術而開始(菱形1710),例如,如通過參考配置儲存器中的信息而確定(進一步關于圖18描述)。如果是這樣的,則控制傳遞到塊1720,其中可以執行存儲器發現操作。更具體地,在該操作中,可以確定存儲器配置以及每個存儲器設備和每個通道的品牌和類型。接下來,控制傳遞到塊1730,其中可以驗證/選擇和配置一個或多個備用DIMM或行列。在實施例中,可以通過將系統內的最大DIMM或行列選擇為備用存儲器設備來實現備用存儲器的該選擇。當然,選擇的其他方式是可能的。
又參考圖17,接下來控制傳遞到塊1740,其中可以配置系統存儲器映射。注意到控制還直接從菱形1710傳遞到此,如果確定不啟用溫度感知存儲器跳轉技術的話。
又參考圖17,控制接下來傳遞到塊1750,其中可以配置存儲器熱節流邏輯。如上所述,這樣的邏輯可以存在于集成存儲器控制器內。最后,在塊1760處,啟用存儲器。要理解的是雖然在圖17的實施例中以該高級示出,但如本文所述的初始化存儲器和啟用存儲器跳轉的許多變型和替換方案是可能的。
在實施例中,可以由存儲在圖18中圖示的控制和狀態寄存器對中的信息來控制存儲器跳轉。配置儲存器1800存儲控制和狀態寄存器集合,其向軟件接口以提供如本文所述的初始化、配置和監視動態跳轉。如所見,配置儲存器1800包括存儲器跳轉配置寄存器1810和存儲器跳轉狀態寄存器1820,其中每一個包括存儲不同值的多個字段。在實施例中,可以由系統軟件(例如,BIOS或OS)和/或在用戶控制下設置針對配置儲存器的字段或參數的值。繼而,狀態寄存器1820的狀態值可以被本文所述的各種邏輯用來執行存儲器備用操作。在一些實施例中,在包括多個存儲器控制器(并且因而可以存在多個備用邏輯、計數器等)的實現方式中可以存在每IMC的控制和狀態寄存器對。
現在參考表1,示出了根據實施例的配置和狀態寄存器的示例性字段和字段值。
表1
。
現在參考圖19,示出了根據本發明的實施例的用于執行動態存儲器跳轉的方法的流程圖。如圖19中所示,在塊1905處,可以至少部分地由集成存儲器控制器內的備用邏輯執行的方法1900通過將跳轉計數初始化到預定值(例如,零)而開始。接下來,控制傳遞到塊1910,其中可以監視DIMM溫度。注意到,在不同實現方式中,監視可以采取不同的形式。例如,在一個實施例中,IMC以預定周期性監視主(活動)DIMM上的TSOD以確定是否特定主DIMM上的報告的TSOD溫度值超過可編程閾值。
接下來,在菱形1915處,可以確定DIMM溫度是否超過熱閾值。如果是這樣的,則控制傳遞到塊1920,其中可以開始漏桶計數器。注意到在實施例中,BIOS用在其內測量DIMM溫度漂移的最大允許持續時間來對漏桶閾值進行編程。接下來控制傳遞到菱形1925以確定漏桶計數器值是否超過漏桶閾值。如果不是這樣的話,則控制傳遞到菱形1950以確定溫度是否仍超過溫度閾值,并且如果是這樣,則控制傳遞到塊1960,其中漏桶計數器可以增加。這樣的操作可以在循環中發生,直到漏桶計數器超過閾值為止。因此,IMC監視主(活動)DIMM上的TSOD并且增加漏桶計數器以測量超過熱閾值的溫度漂移的持續時間。以此方式,IMC最初計及遲滯。
一旦已經做出遲滯相關的調整,并且發現溫度漂移持續高于編程的漏桶閾值持續時間,則觸發熱跳轉備用事件。更具體地,當在菱形1925處確定漏桶計數器值超過閾值時,控制傳遞到菱形1930,以確定跳轉計數是否超過最大跳轉計數值。如果不是這樣,則熱跳轉備用操作發生,在塊1970開始,其中信號被發送到備用邏輯以發起存儲器跳轉。在實施例中,當溫度超過溫度閾值并且保持持續達編程的持續時間,則IMC可以設置對應狀態寄存器中(例如針對熱行列)的跳轉指示器,以生成系統管理中斷(SMI)。在實施例中,該指示器一旦被設置就保持設置直到被BIOS清除為止。
在實施例中,SMI或機器檢查異常(MCE)可以被引起以觸發該跳轉備用事件。例如,SMI可以觸發SMI處理器以在BIOS中執行某些跳轉操作和/或為了執行事件記錄的目的而告知系統軟件。在某些實施例中,在發生基于溫度的熱跳轉事件時生成信號(例如SMI/MCE)允許系統軟件在跳轉操作之前使受影響的存儲器或其他硬件的部分靜默,如果需要的話。
又進一步,使用機器檢查異常,可以告知OS即將到來的跳轉以使得OS能夠選擇要被選擇以用于交換的較大存儲器設備內的某些存儲器區域,以使得可以避免將存儲在存儲器中的所有數據從主動態跳轉到輔所引致的開銷。例如,在一些實施例中,OS可以提供關于數據的一個或多個關鍵區域的信息,以使得相對大的存儲器設備(例如,1太字節(TB)DIMM)的僅一小部分可以實際上響應于存儲器跳轉而轉移。
在塊1975處,發生各種操作以執行備用操作,以使得主存儲器設備的內容被轉移到輔存儲器設備,并且地址被重映射。在實施例中,備用操作可以包括以下。在BIOS或OS從SMI/MCE處理機返回,并且BIOS已經靜默其他硬件之后,發起從主DIMM到備用DIMM的備用拷貝操作。未來的訪問也被重映射到備用DIMM。此后,主DIMM被置于電氣空閑狀態。然后,備用DIMM被設置成活動狀態。在一些實施例中,可選信號(例如,SMI/MCE)可以被發送到系統軟件以用于錯誤處理等。
又參考圖19,在塊1980處,交換主存儲器和輔存儲器的標識,并且在塊1985處跳轉計數增加。因而,在此時,兩個存儲器設備的身份已經交換,并且控制返回(在跳轉計數增加之后)到塊1910以開始監視備用DIMM的溫度。
注意到,如果在菱形1950處確定存儲器溫度不再超過閾值水平,則控制傳遞到塊1955,其中IMC泄漏漏桶計數器或減少漏桶計數器,在其中溫度漂移不維持高于閾值溫度達編程閾值持續時間的情況下。控制從塊1955傳遞到菱形1965以確定漏桶計數器是否等于預定值(例如,零)。如果是這樣,則控制返回到塊1910。如果漏桶計數器不等于零,則控制傳遞到以上討論的菱形1925。
注意到,一旦備用DIMM溫度達到溫度漂移閾值達長于編程漏桶閾值持續時間,則可以執行反向備用操作(其中,具有主和輔的角色的以上操作序列反向)。注意到,當該反向跳轉發生時,跳轉計數器增加。還注意到,備用跳轉操作可以被重復,無論何時持續性溫度漂移條件發生時。
又參考圖19,如果在菱形1930處跳轉計數器計數達到可編程閾值MAX_HOP(指示異常熱條件跨多個熱跳轉持續),則控制傳遞到塊1935,其中信號被發送到例如存儲器控制器內的節流邏輯以觸發熱節流,并且進一步在塊1940處,可以重置與熱跳轉相關聯的各種計數值。注意到,在塊1935處,除了用于熱節流的信令之外,還可以執行禁用另外動態存儲器跳轉的各種操作。在實施例中,這樣的操作可以包括:禁用備用邏輯;靜默主裝置中的存儲器內容;將一個或多個備用DIMM設置成電氣空閑狀態;去激活(de-activate)一個或多個備用設備;以及最終將信號發送到熱節流邏輯以使得未來的熱漂移要由熱節流邏輯處理。雖然在圖19中示出有該細節,但要理解的是本發明的范圍在這方面不被限制,并且變型和替換方案是可能的。
在各種實施例中,用戶輸入可以用于實現存儲器設備的有效熱控制。在實施例中,這樣的用戶輸入可以包括跳轉計數、閾值熱溫度以及熱監視時間。本文所述的動態存儲器跳轉技術可以使用這些輸入來確定是否以及何時在存儲器設備(備用和主要的)之間跳轉存儲器內容以處理溫度問題以便防止由于事務的熱節流而引起的對存儲器的性能損失。
以下示例關于另外的實施例。
在一個示例中,一種處理器包括:執行指令的至少一個核;以及耦合到至少一個核的存儲器控制器。所述存儲器控制器可以包括備用邏輯以響應于第一存儲器設備的溫度超過熱閾值而引起存儲在耦合到處理器的第一存儲器設備上的數據到耦合到處理器的第二存儲器設備的動態轉移。
在示例中,所述存儲器控制器還包括多個第一計數器,每一個與耦合到處理器的存儲器設備相關聯并且對關聯的存儲器設備的溫度超過熱閾值的持續時間進行計數。
在示例中,所述備用邏輯要進一步在與第一存儲器設備相關聯的多個第一計數器中的第一計數器超過第二閾值時引起動態轉移。
在示例中,所述存儲器控制器還包括第二計數器,其對動態轉移已經在第一和第二存儲器設備之間發生的次數進行計數。所述備用邏輯可以在發生動態轉移時更新第二計數器。
在示例中,所述備用邏輯響應于第二計數器超過第三閾值而禁用動態轉移以及引起第一存儲器設備被節流。
在示例中,配置寄存器可以被配置成存儲熱閾值和第三閾值,并且可以被系統軟件設置。
在示例中,狀態寄存器可以被配置成存儲指示備用邏輯是否是活動的第一狀態指示器以及指示是否已經發生至少一個動態轉移的第二狀態指示器。
在示例中,第二存儲器設備包括備用存儲器設備,并且所述存儲器控制器要在動態轉移之前引起第二存儲器設備處于低功率狀態中。
在示例中,所述備用邏輯還要:將存儲器訪問從第一存儲器設備重映射到第二存儲器設備;將第一存儲器設備置于電氣空閑狀態;以及將第二存儲器設備設置成活動狀態。
注意到,以上處理器可以使用各種裝置來實現。
在示例中,所述處理器包括合并在用戶設備啟用觸摸的設備中的SoC。
在另一個示例中,一種系統包括顯示器和存儲器,并且包括以上示例中的一個或多個的處理器。
在另一個示例中,一種方法包括:在耦合到處理器的第一存儲器設備的溫度超過熱閾值的同時更新第一計數器;以及響應于第一計數器超過第一閾值而在處理器上的應用的運行時間期間引起耦合到處理器的第一存儲器設備和第二存儲器設備之間的信息的交換。
在示例中,所述方法還包括將第一存儲器設備內的第一地址重映射到第二存儲器設備內的第二地址。
在示例中,所述方法還包括響應于所述交換而更新第二計數器;以及響應于第二計數器超過第二閾值而防止在第一和第二存儲器設備之間的進一步交換。在示例中,防止進一步交換包括:靜默第一存儲器設備中的信息;將第二存儲器設備設置成電氣空閑狀態;以及去激活第二存儲器設備。
在示例中,所述方法還包括響應于第二計數器超過第二閾值而使第一和第二存儲器設備的至少一個節流。
在示例中,所述方法還包括如果第一存儲器設備的溫度超過熱閾值,則在第一方向更新第一計數器;以及如果第一存儲器設備的溫度不超過熱閾值,則在第二方向更新第一計數器。
在示例中,所述方法還包括:用熱閾值和第一閾值來對配置寄存器進行配置;以及響應于信息交換而更新狀態寄存器的第一字段以指示已經在第一和第二存儲器設備之間發生至少一個信息交換。
在另一個示例中,一種包括指令的計算機可讀介質要執行以上示例中的任一個的方法。
在另一個示例中,一種設備包括用于執行以上示例中的任一個的方法的裝置。
在另一個示例中,一種系統包括:具有執行指令的至少一個核以及與系統存儲器對接的存儲器控制器的處理器,所述存儲器控制器包括動態跳轉邏輯,其在系統存儲器的第一部分的溫度超過閾值溫度達長于閾值持續時間時使得存儲在系統存儲器的第一部分中的數據能夠被動態轉移到系統存儲器的第二部分;以及包括第一部分和第二部分的系統存儲器。
在示例中,系統存儲器的第一部分包括主存儲器設備,并且系統存儲器的第二部分包括輔存儲器設備,并且系統存儲器的第二部分要在系統存儲器的第一部分超過閾值溫度達長于閾值持續時間時被激活,以及否則要處于低功率狀態中。
在示例中,所述動態跳轉邏輯要在系統存儲器的第一部分超過閾值溫度達長于閾值持續時間時被激活,以及否則要處于低功率狀態中。
要理解的是,以上示例的各種組合是可能的。
實施例可以用于許多不同類型的系統中。例如,在一個實施例中,通信設備可以被布置成執行本文所述的各種方法和技術。當然,本發明的范圍不限于通信設備,并且代替地其他實施例可以針對用于處理指令的其他類型的裝置或包括指令的一個或多個機器可讀介質,所述指令響應于在計算設備上運行而引起設備執行本文所述的方法和技術中的一個或多個。
實施例可以以代碼來實現,并且可以被存儲在非臨時性存儲介質上,所述非臨時性存儲介質具有存儲在其上的指令,所述指令可以用于將系統編程為執行所述指令。所述存儲介質可以包括但不限于任何類型的盤(包括軟盤、光盤、固態驅動器(SSD)、壓縮盤只讀存儲器(CD-ROM)、壓縮盤可重寫器(CD-RW)和磁光盤)、半導體設備(諸如只讀存儲器(ROM)、諸如動態隨機存取存儲器(DRAM)、靜態隨機存取存儲器(SRAM)之類的隨機存取存儲器(RAM)、可擦除可編程只讀存儲器(EPROM)、閃速存儲器、電可擦除可編程只讀存儲器(EEPROM)、磁卡或光卡)或者適合于存儲電子指令的任何其他類型的介質。
雖然已經關于有限數目的實施例描述了本發明,但本領域技術人員將領會到各種修改及根據其的變型。意圖在于隨附權利要求涵蓋如落入該本發明的真實精神和范圍內的所有這樣的修改和變型。