TWI515553B - 包括可組配最大處理器電流之用於能源效率及節能之方法、裝置及系統 - Google Patents

包括可組配最大處理器電流之用於能源效率及節能之方法、裝置及系統 Download PDF

Info

Publication number
TWI515553B
TWI515553B TW101146196A TW101146196A TWI515553B TW I515553 B TWI515553 B TW I515553B TW 101146196 A TW101146196 A TW 101146196A TW 101146196 A TW101146196 A TW 101146196A TW I515553 B TWI515553 B TW I515553B
Authority
TW
Taiwan
Prior art keywords
maximum current
processor
maximum
combinations
overclocking
Prior art date
Application number
TW101146196A
Other languages
English (en)
Other versions
TW201339822A (zh
Inventor
凱坦 莎
伊瑞克 迪斯特芬諾
史蒂芬 剛勒
傑瑞米 雪羅
Original Assignee
英特爾股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 英特爾股份有限公司 filed Critical 英特爾股份有限公司
Publication of TW201339822A publication Critical patent/TW201339822A/zh
Application granted granted Critical
Publication of TWI515553B publication Critical patent/TWI515553B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Sources (AREA)

Description

包括可組配最大處理器電流之用於能源效率及節能之方法、裝置及系統
本發明係有關於在積體電路中的能源效率及節能及在其上所執行之程式碼,以及特別係有關於組配處理器之最大電流。
半導體處理及邏輯設計的進步已允許在積體電路裝置上增加可展現的邏輯量。因此,電腦系統組配(configuration)已從一系統中一或多積體電路轉為在個別積體電路上具多硬體執行緒(thread)、多核心(multiple core)、多裝置及/或完整系統。此外,隨著積體電路密度的增加,計算系統(從內嵌式系統到伺服器)的電源要求必須隨之升級。再者,軟體的無效率以及對硬體的要求也同時導致計算裝置能源消耗的增加。事實上,在若干研究中指出,對美國而言電腦消耗整體電力供應的一大部分。
有鑒於此,對於與積體電路相關之能源效率及節能實具迫切需求。而且當伺服器、桌上型電腦、筆記型電腦、超輕薄筆電(ultrabook)平板電腦(tablet)、手機(mobile phone)、處理器、內嵌式系統(embedded system)等變的更加普及時(從包含在典型電腦、汽車及電視到生物技術),計算裝置銷售的影響從能源消耗變成對經濟系統實質、直接的影響。
當電源消耗變成一重要因素,趨勢由以往增加執行 效率轉為目前關注的電源消耗。因此,許多如處理器之矽裝置(silicon device)以標稱(nominal)、操作電流(operating current)(即特定支援頻率)執行,以及“渦輪加速頻率”(即暫時最大值)頻率提供給此裝置。此導致在特定時間中,處理器可暫時以較高、最大渦輪加速頻率執行。不幸地,渦輪加速頻率通常基於處理器電容量以及平台電容量/組配兩者燒熔(如永久選擇)為處理器之一部分。然而,當處理器設計者燒熔頻率時,由於可能被建置在不同設計平台中,處理器設計者通常會選擇安全的渦輪加速頻率(即具有防護頻帶(guard band)的頻率以確保在所有平台上均可執行)。因此,渦輪加速頻率對最具限制性的平台來說可能是準確的,但對較穩健設計的平台來說可能留下實際潛在效率在表格中。
於下說明中描述許多特定細節,如特定處理器及系統組配的特定類型之範例、特定硬體結構、特定架構及微架構細節、特定暫存器組配、決定能源消耗的特定演算法、效能度量的特定類型、特定最大電流、特定頻率、特定裝置類型、特定表格格式及位置、特定電源事件等。顯而可知地,任何熟習本發明之技術領域者實無需施用此等特定細節。另一方面,眾所周知的元件及方法,如特定及不同的處理器架構、所述演算法的特定邏輯電路/程式碼特定韌體程式碼、特定互連操作、特定最大電流決定以及其他 處理器的特定操作細節未加以贅述以免對本發明造成不必要的混淆。
雖然以下說明實施例係參照如計算平台或微處理器等特定積體電路中的節能及能源效率,然其他實施例可應用在其他類型的積體電路及邏輯裝置中。在此所述實施例的類似技術及例示可施用在其他類型的電路或半導體裝置中,仍可獲得較佳能源效率及節能之益處。例如,所揭露之實施例不限於桌上型電腦系統。並可應用在如手持裝置、單晶片系統(SOC)以及內嵌式應用等之裝置中。手持裝置的範例包括手機、網際網路協定裝置、數位相機、個人數位助理(PDA)以及手持PC等。內嵌式應用通常包括微控制器、數位信號處理器(DSP)、單晶片系統、網路電腦(NetPC)、機頂盒(set-top box)、網路集線器、廣域網路(WAN)交換器、或其他任何系統可執行於下所例示之功能及操作。再者,在此所述之裝置、方法以及系統不限於實體計算裝置,同時可用於軟體最佳化的節能能源效率。顯而易見地,下述方法、裝置及系統之實施例(無論參照為硬體、韌體、軟體或其結合)對未來“綠能技術(green technology)”與效率考量的平衡是至關重要的。
在此所述的方法及裝置提供積體電路可組配的最大電流。特別地,於下所討論的可組配最大電流主要參照微處理器(microprocessor)。然而,所述裝置及方法並不限於此,其可實現在任何積體電路裝置中。例如,可組配最大電流可應用在圖形裝置中。或者可應用在如前所述之小形 數(form-factor)裝置、手持裝置、SOC或內嵌式應用中。
請參照第1圖,第1圖說明包含具多核心之處理器之系統之一實施例。處理器100可為任何處理器或處理裝置,如微處理器(microprocessor)、內嵌式處理器(embedded processor)、數位信號處理器(DSP)、網路處理器(network processor)、手持處理器(handheld processor)、應用處理器(application processor)、協同處理器(co-processor)或其他可執行程式碼之裝置。在一實施例中,處理器100包含至少2個核心核心101及核心102,其可包括不對稱核心或對稱核心(如實施例所示)。然而,處理器100可包含任何數目的對稱或不對稱處理元件。
在一實施例中,處理元件參照為支援軟體執行緒(thread)的硬體或邏輯。硬體處理元件之範例包括:執行緒單元(thread unit)、執行緒槽(thread slot)、執行緒(thread)、處理單元(process unit)、本文(context)、本文單元(context unit)、邏輯處理器(logic processor)、硬體執行緒(hardware thread)、核心(core)及/或任何其他可用於儲存處理器狀態(如執行狀態或架構狀態)的元件。換言之,在一實施例中,處理元件可參照為任何與核心獨立的硬體,如軟體執行緒、作業系統、應用程式或其他程式碼。實體處理器典型參照為積體電路,其可能包含任何數目如核心或硬體執行緒之其他處理元件。
核心通常參照為位在積體電路上可用來保留獨立架構狀態之邏輯,其中每一獨立被保留架構狀態與至少若干專 用執行資源相關聯。與核心對比,硬體執行緒通常參照為任何位在積體電路電路上可用來保留獨立架構狀態之邏輯,其中獨立的被保留架構狀態分享存取給執行資源。由此可看出,當特定資源被分享以及其他資源為架構狀態專用,在硬體執行緒及核心的命名法(nomenclature)中的線發生重疊。然而通常,作業系統會將核心及硬體執行緒視為個別的邏輯處理器,在此作業系統可在每一邏輯處理器上個別對操作進行排程。
實體處理器100,如第1圖所示,包括雙核心,核心101及102。在此,考慮核心101及102為對稱核心,即核心具有相同組配、功能單元及/或邏輯。在另一實施例中,核心101包含失序(out-of-order)處理器核心,而核心102包含順序(in-order)處理器核心。然而,核心101及102可由任何類型的核心個別選出,如原生核心(native core)、軟體管理核心、用以執行原生指令集架構(ISA)之核心、用以執行轉譯指令集架構(ISA)之核心、協同設計核心或其他已知核心。更進一步討論,如核心101所示之功能單元於下詳述,核心102中的單元以類似方法操作。
如圖所示,核心101包含2個硬體執行緒101a及101b,其同時參照為硬體執行緒槽101a及101b。因此,如作業系統之軟體實體,在一實施例中可能將處理器100視為4個分別的處理器,即4個用來同時執行4個軟體執行緒的邏輯處器或處理元件。如前所述,第一執行緒與架構狀態暫存器101a相關聯,第二執行緒與架構狀態暫存 器101b相關聯,第三執行緒與架構狀態暫存器102a相關聯,第四執行緒與架構狀態暫存器102b相關聯。在此,每一架構狀態暫存器(101a、101b、102a、102b)可參照為前述之處理元件、執行緒槽、或執行緒單元。如圖所示,架構狀態暫存器101a被複製在架構狀態暫存器101b中,因此個別的架構狀態/本文(context)可為邏輯處理器101a及邏輯處理器101b所儲存。在核心101中,其他較小資源,如指令指標(pointer)以及在重命名定址邏輯130中重命名邏輯也可為執行緒101a及101b複製。若干資源,如在重排序/報廢單元135中的重排序(re-order)緩衝器、ILTB 120、載入/儲存緩衝器以及透過分割(partitioning)可被分享的佇列。其他資源,如通用目的內部暫存器、頁-表格基礎暫存器、低階資料快取以及資料-TLB 115、執單元140以及失序(out-of-order)單元的部分135都可能完全被分享。
處理器100通常包含其他資源,其可被完全分享,透過分割分享或由/至處理單元專用。在第1圖中,說明具有處理器的說明性邏輯單元/資源之一單純範例處理器之一實施例。請留意處理器可包含或略去任一此等功能單元,就如同可包含任何其他未圖示的已知功能單元、邏輯或韌體。如圖所示,核心101包含已簡化代表性的失序(OOO)處理器核心。但順序(in-order)處理器可被使用在不同實施例中。OOO核心包含分支目標緩衝器120以預測被執行/提取的分支,以及指令轉譯緩衝器(I-TLB)120以儲 存指令的位址轉譯項目。
核心101更包含解碼模組125其耦接至擷取單元120以解碼所擷取的元件。在一實施例中,擷取邏輯包含依次與執行緒槽101a、101b相關聯的個別定序器(sequencer)。通常核心101與第一指令集架構(ISA)相關聯,其定義/設定可在處理器100上執行的指令。機器碼指令為第一ISA的一部分通常包含指令之一部分(參照為opcode),其定義/設定將被執行的指令或操作。解碼邏輯125包含從opcode辨識此等指令之電路並在管線(pipeline)傳輸已解碼的指令以進行處理如第一ISA所定義。舉例而言,在一實施例中,如下所詳述之解碼器125包含被設計或施用以辨識如交易指令(transactional indtruction)等特定指令之邏輯。由於解碼器125的辨識,架構或核心101採取特定、預先定義的作為以執行與對應指令相關聯之工作。值得注意的是在此所述之任何工作(task)、區塊(block)、操作(operation)以及方法可響應單一或多重指令執行;其中若干可為新或舊的指令。
在一範例中,定址器或重命名器區塊130包含用來保留資源之定址器,如用以儲存指令處理結果之暫存器檔案。然而,執行緒101a及101b可能用於失序執行,在此定址器及重命名器區塊130也保留其他資源,如用以來追蹤指令結果之重排序緩衝器。單元130也可包含暫存器重命名器以對程式/指令參照暫存器進行重命名為處理器100內部之其他暫存器。重排序/報廢單元135包含如前述記 錄器緩衝器、載入緩衝器、以及儲存緩衝器之元件,以支援失序執行及稍後執行失序指令的順序報廢。
在一實施例中,排程器(scheduler)及執行單元區塊140包含用於在執行單元上排程指令/操作之排程器。例如,浮點(floating point)指令會排程在具有可用浮點執行單元之執行單元埠上。與此執行單元相關聯之暫存器檔案會被包含以儲存資訊指令處理結果。範例執行單元包含浮點執行單元、整數執行單元、跳躍執行單元、載入執行單元、儲存執行單元以及其他已知執行單元。
較低階資料快取及資料轉譯緩衝器(D-TLB)150耦接至執行單元140。資料快取用以儲存最近使用/運算元件,如資料運算元,其可能被保留在記憶體內聚狀態(memory coherency state)中。D-TLB用來儲存最近虛擬/線性至實體位址轉譯。在一特定範例中,處理器可包含頁表格結構以切分實體記憶體為複數的虛擬頁。
在此,核心101及102共享較高階(higher-level)或進階(further-out)快取110的存取,其用以快取最近提取的元件。請注意較高階或進階係指從執行單元的快取階層增加或進階方式。在一實施例中,較高階快取110為一最後階層(last-level)資料快取-在記憶體階層或處理器100中的最後快取-如第二或第三階層資料快取。然而,較高階快取110不受限於此,其可相關聯或包含指令快取。追蹤快取-指令快取之一類型-其反而可能被耦接於解碼器125後以儲存最近的解碼追蹤。
在圖示組配中,處理器100同時包含匯流排介面模組105。傳統上,於下詳述的控制器170是包含在計算系統中處理器100外部。在此情形下,匯流排介面模組105會與處理器100外部裝置進行溝通,如系統記憶體175、晶片集(通常包含連接至記憶體175之記憶體控制器集線器以及I/O控制器集線器以連接至週邊裝置)、記憶體控制器集線器、北橋或其他積體電路。以及在此情形下,匯流排105可包含任何已知互連(interconnect),如多點匯流排(multi-drop bus)、點對點互連(point-to-point interconnect)、序列互連(serial interconnect)、平行匯流排(parallel bus)、內聚(如快取內聚)匯流排(coherent bus)、階層協定架構(layered protocol architecture)、差動匯流排(differ Ntial bus)以及GTL匯流排。
記憶體175可為處理器100專用或與系統中其他裝置共享。記憶體175最普遍的範例類型包含動態隨機存取記憶體DRAM)、靜態RAM(SRAM)、非揮發性記憶體(NV memory)以及其他已知的記憶體裝置。請注意裝置180可包含圖形加速器、耦接至記憶體控制器集線器之處理器或卡、耦接至I/O控制器集線器之資料儲存、無線收發器、快閃裝置、音訊控制器、網路控制器或其他已知裝置。
然而請注意,在圖示實施例中,控制器170例示為處理器100的一部分。近來,由於更多的邏輯與裝置被整合在單一晶粒(single die)上,如晶片上系統(SOC),每一此等裝置可與處理器100協同運作。例如在一實施例中,記 憶體控制器集線器170與處理器100在同一封裝(package)及/或晶粒(die)上。在此,核心的一部分(on-core部分)包含一或多控制器170以與其他如記憶體175或圖形裝置180進行介面溝通。此種包含與其他裝置介面溝通的互連及控制器之組配通常參照為on-core(或un-core組配)。舉例而言,匯流排介面105包含具有記憶體控器的環狀互連(ring interconnect)以作為記憶體175之介面以及圖形控制器以作為圖形處理器180之介面。然而,在SOC環境中,尚有更多裝置如網路介面、協同處理器、記憶體175、圖形處理器180以及任何其他可整合於晶粒或積體電路之已知電腦裝置/介面,以提供小型但具高功能及低電源消耗。
在一實施例中,處理器100用於執行編譯器(compiler)、最佳化及/或轉譯器程式碼177進行編譯、轉譯及/或最佳化應用程式碼176以支援在此所述之裝置及方法或其中之介面。編譯器通常包含程式或程式集以轉譯來源本文(text)/程式碼(code)為目標本文/程式碼。通常編譯器對程式/應用程式程式碼的編譯會以多個階段(phase)及過程(pass)完成以轉換高階程式語言碼為低階機器碼或組合語言程式碼。然而,單一過程編譯器仍可為簡單編譯所應用。編譯器可利用任何已知的編譯技術及執行任何已知的編譯操作,如語法分析(lexical analysis)、預處理(preprocessing)、剖析(parsing)、語意分析(semantic analysis)、程式碼產生(code generation)、程式碼轉換(code transformation) 以及程式碼最佳化(code optimization)。
較大型的編譯器通常包含多個階段,但這些階段通常可總括為2個通用階段:(1)前端(front-end),例如通常在此進行語法處理、語意處理以及若干轉換/最佳化,以及(2)後端(back-end),例如通常在此進行分析、轉換、最佳化以及程式碼產生。有些編譯器為中間型,其展示在編譯器前端及後端間的模擬切分。因此,編譯器的插入、結合、產生或其他已知操作可發生於前述任何階段或過程,以及編譯器的其他任何已知階段或過程。舉例而言,編譯器可在一或多編譯階段插入操作、呼叫、功能等等,例如在編譯的前端階段插入呼叫/操作以及接著在轉換階段期間轉換此呼叫/操作為低階程式碼。請注意在動態編譯期間編譯器程式碼或動態最佳化程式碼可插入此等操作/呼叫,如同在執行期間可最佳化程式碼以利執行。作為一特定例示,二進制碼(已編譯碼)可在執行期間動的進行最佳化。在此,程式碼可包含動態最佳化程式碼、二進制程式碼(binary code)或兩者之結合。
類似於編譯器,如二進制轉譯器之轉譯器可靜態或動態的轉譯程式碼為最佳化及/或轉譯程式碼。因此,程式碼、應用程式碼、程式程式碼或其他軟體環境可參照為:(1)動態或靜態的執行編譯器程式、最佳化程式碼最佳化工具或轉譯器以編譯程式碼、維持軟體結構、執行其他操作、最佳化程式碼或轉譯程式碼;(2)主要程式碼的執行包含操作/呼叫,如已被最佳化/編譯的應用程碼;(3)執行其 他程碼,如公用程式(library)、與主程式程式碼相關聯以維持軟體結構、執行其他軟體相關操作或最佳化程式碼;(4)其上所述之結合。
先前,如處理器100之處理器通常只具有一個可用最大電流選項;並且通常是由處理器製造商以處理器部分及相關平台的電子假設預先選取。因此,在一實施例中,處理器100可用以提供(或從中選擇)多重最大電流選項。例如,處理器100的製造商為處理器100燒熔最大電流值之一集合。以及既然電流通常直接影響處理器的頻率,每一最大電流值與一或多最大頻率相關聯。
在此,值得注意的是當更多邏輯(如多核心)以相同最大電流啟動時,通常僅較小頻率可用。因此,在一實施例中,每一最大電流與每一啟動處理元件的最大頻率相關聯。例如,假設最大電流值25A、50A、75A及100A提供給核心100以及處理器100的公稱(或基本)操作頻率為3.0GHz。在此情形下,每一最大電流值,如100A,與一核心啟動(核心101或102)之一第一暫態(或渦輪加速)最大頻率以及被啟動之核心兩者之一第二渦輪加速頻率相關聯。
在渦輪加速頻率領域中,以大於操作頻率的相對量來參照渦輪加速頻率是常見的。事實上,此相對頻率經常參照為大於處理器100的操作頻率的頻率區(bucket)或波段(bin)。繼續前例,假設一頻率波段包含100MH,對啟動處理器100的一核心之第一渦輪加速頻率包含3.9GHz, 以及對處理器100雙核心啟動之第二頻率包含3.5GHz。結果,處理器100的最大電流值100A可說與一核心啟動之9波段以及雙核心啟動之5波段相關聯。
在一實施例中,處理器100的最大電流組配選項是在基本輸入/輸出系統(BIOS)介面中透過效率支援狀態(PSS)成為可用的。如接收處理器100之主機板製造商,平台設計者及製造商可接著根據處理器100的電源傳輸設計處理器製造商設計規格。而且若平台設計者如此選擇,藉由在規格中最佳化電源傳輸網路,可設計朝向較高或較低之電流選項。因此,每一平台設計者可客製化其設計並從多重可用選項中選擇最準確之最大電流組配選項。另一潛在優點為最高效率最大電流組配會使用在每一平台以獲得最高可能頻率以及效率,取代依賴處理器100單一、保守、以消耗為主的最大電流值而忽略平台。
再者,在一實施例中,無論作為選項之一或與靜態電流組配結合,採用從多重最大電流組配中動態選擇。在此,處理器100、在其上執行的程式碼、BIOS、其他模組或其結合以處理器100或處理器100的平台所存在的電子特性為基礎動態選擇最佳化最大電流。例如,根據偵測電源事件或電流組配事件,如移除電源供應、增加電源供應、高熱密度、低熱密度、電源策略決定、電源限制已到達等等,選擇新的最大電流組配。
作為一特定範例,假設初始選擇一最大電流組配。以及接著一電源供應備移除(使用者從牆上拔除筆記型電腦 的A/C接頭)。根據電源策略,平台設計者會希望較少最大電流以及較少渦輪加速頻率以節省電源。因此,硬體、軟體、韌體或其結合選擇一較低最大電流組配以節省電源。以及類似地,當筆記型電腦被重插回時,會動態重新選擇最大電流組配。在前述情形下,處理器100中的暫存器會用來選擇最大電流組配,如特殊模組暫存器(Model Specific Register)其可製成硬體、軟體、韌體或其結合可存取的。結果,無論使用靜態或動態選擇最大電流組配,選擇會具智能的對每一平台進行以達成每一平台最佳可能效率,而非使用通用最大電流假設,為了相容性可能導致較差的效率。
請參照第2-4圖,說明適應於包含具可組配最大電流之處理器之電腦系統組配之一實施例。請參照第2圖,圖示說明雙處理器系統200具有整合的記憶體控制器以及輸入/輸出(I/O)控制器在每一處理器205、210中。雖未詳述細節以免混淆討論,平台200圖示多重互連以在元件間傳輸資訊。例如,在一實施例中,點對點(P2P)互連215包含序列P2P、雙向(bi-directional)、具階層協定架構之快取-內聚匯流排(cache-coherent bus)以進行高速資料傳輸。再者,公知的介面(週邊元件高速互連、PCIE)或其變型使用作為I/O裝置245、250間的介面240。然而,任何已知之互連或介面可用來進行電腦系統或領域中之溝通。
請參照第3圖,說明四核心處理器平台。如第2圖中所示,處理器301-304透過高速P2P互連305彼此耦接。 而處理器301-304包含整合控制器301c-304c。第4圖說明具有不同組配之另一四核心處理器平台400。在此,不採用處理器上(on-processor)I/O控制器與I/O裝置透過I/O介面(如PCI-E介面)進行溝通,而使用P2P互連以耦接處理器及I/O控制器集線器420。集線器420接著透過類似PCIE介面與I/O裝置進行溝通。
請參照第5圖,第5圖說明為最大頻率提供多重最大電流組配選項之一裝置之一邏輯演示之一實施例。如前所述,裝置505包含任何積體電路裝置,如處理器、SOC、微控制器等。舉例而言,裝置505包含多處理器元件(多核心或多硬體執行緒)處理器。
在一實施例中,處理器505包含儲存510以保留裝置複數最大電流組配之表示法。儲存510包含任何已知的儲存結構,如一或多暫存器、快取、記憶體裝置等。在此,每一最大電流組配與複數渦輪加速頻率相關聯。例如,渦輪加速頻率(或可用之頻率波段)提供給處理器505中啟動處理元件之每一結合。因此,若處理器505包含8核心,則8個最大頻會如圖示提供(如對8核心啟動之一的頻率波段之第一數目,對8核心啟動之二的頻率波段之第二數目等等)。
雖然儲存510圖示是在裝置505中,這樣的儲存位置並非必須的。事實上,在一實施例中,儲存510被保留在非揮發性記憶體中,如基本輸入/輸出軟體(BIOS)快閃記憶體裝置。作為組何,多重電流組配被保留在處理器505 外部。以及一或多此等組配可被寫入處理器505內部的儲存中,如處理器505中的特殊模組暫存器(MSR)510。
忽略置放,如第一範例所示,儲存510用以保留表格520a、520b或其組合。在此,表格520a中的最大電流值如75A及112A與複數渦輪加速頻率相關聯。在所示實施例中,假設處理器505包含4個處理單元,如4核心。因此,4渦輪加速頻率會提供每一最大電流(如對112A->1000MHz或對1個核心啟動10波段可用,1000MHz或對2核心啟動10波段可用,900MHz或對3核心啟動9波段可用,以及700MHz或對3核心啟動7波段可用)。
如從表格520a簡化的範例中可看出,最大電流組配間可能存在實質差異(即1波段對2核心啟動較為可用,4波段對3核心啟動較為可用,以及6波段對4核心啟動較為可用)。然而,若處理器505單純限制於一個最大電流組配,則製造商可能必須選擇75A以確保處理器505在每一可能平台中都能正確操作,包含只具有2相位電壓調器(voltage regulator)的平台。但具有3相位電壓調器的平台使用75A電流組配可能會留下所有表格上的額外的渦輪加速頻率以及相關效率。
因此,在一實施例中,渦輪加速模組515被選用,及/或從多重可能組配中之一選擇組配實現渦輪加速頻率。舉例而言,當工作量要求額外效率,渦輪加速模組515或啟動組被限制中的頻率(即若從表格520a中選擇75A最大電流值以及3核心啟動,則操作頻率被升壓最高至 500MHz)。然而,升壓頻率可由其他考量限制,如預估電流假設、預估電源假設、處理器溫度、電源限制、電源單元指標或其他已知之電流度量。舉例來說,假設工作量要求額外效率以及基於所選擇之組配,渦輪加速模組505決定對額外效率頻率的5波段可用。但若處理器505因處理器溫度因素在熱調節條件下,根據熱調節策略渦輪加速模組505可能無法增加操作頻率。
請參照第6圖,第6圖說明支援從複數選項中選擇最大電流組配之平台之一實施例。在此,表格635類似於表格520a、520b或其組合,被保留在BIOS裝置630中,如非揮發性快閃記憶體裝置中。在一實施例中,處理器605的製造商燒熔最大電流組配之一集合。以及BIOS解譯熔線以建立表格635。基於所提供的設定,客戶(即主機板、元件、平台或其他設計者/製造商)提供選擇標準650o以選擇最大電流組配。作為第一範例,選擇標準為表格項目或電流值之直接表示法。在此,基於使用3相位電壓調節器,平台製造商可能直接從表格520a中選擇112A。此外,平台製造商指出3相位電壓調節器在平台中被使用,以及BIOS選擇在表格635中的適當電流值。作為另一範例,BIOS發現平台的電子性能並基於所發現的資訊650o進行選擇。在此,平台可被測試及/或有關平台/元件性能(如電壓調節器之相位數目)的資訊會揭露給BIOS。
在一選項中,由平台製造商所選擇的組配是可鎖定的(無論永久的或半永久的)。在永久情形下,一旦作成選擇 並且鎖定,則其他電流組配選擇可能無法再進行。然而,在半永久情形下,初始電流組配選擇成為一基線或預設。以及動態選擇(如下所討論)可基於定義的事件進行。然而,組配回傳預設選擇重設或正常操作。請注意在另一實施例中,電流組配是完全可修改的。
無論電流組配是否基於平台電容量在初始由平台製造商選擇,由BIOS選擇電流組配,初始選擇可以另一方式進行,或不進行初始選擇,在一實施例中電流組配在執行期間動態的進行選擇。例如,響應電流組配事件650a,控制邏輯607動態的從初始保留在BIOS儲存630表格635的複數電流組配選項中選擇最大電流組配。在一範例中,表格635可保留在儲存606中。相對地,如實施例所示儲存元件606設定以保留所選擇的組配而非整個表格635。如下更詳細的討論,儲存元件606可被硬體、軟體或其結合進行存取以指示或代表電流組配選擇。
電流組配選擇事件650a包含指示最大電流組配可被修改之任何事件,如電源事件、軟體指示、使用者指示、熱事件或其他任何已知由最大電流改變從中受益之事件。電源事件之範例包含移除電源供應、增加電源供應、接收更多電力的要求、決定額外處理元件啟動、決定額外處理元件關閉、決定工作量要求更多或更少效率/電源以及裝置在電源狀態間轉換。在另一例示中,軟體(無論是特權階層(privileged level)軟體、使用者階層軟體、驅動程式階層軟體或其結合)可執行寫入到儲存元件606中,如暫 存器(如寫入到記憶體映射I/O空間616,其載入儲存元件606)以選擇一電流組配。在此,組配選項由BIOS揭露,由硬體/軟體選擇,以及由控制邏輯607實現。在此情形下,從硬體/軟體的寫入會被決定為一電流組配事件。
作為一特定範例,假設表格635保來自表格520b之表格資訊。以及MSR 606保留50A電流組配之表示法(即用以指示最大電流50A之項目2,存在可用最大頻率波段依次對700、600、400及200MHz之1-4核心啟動),由於平台600並無插電且在省電模式中。電源控制單元(PCU)-具有搭配電源程式碼之微控器-並無特別圖示但可為控制邏輯607之一部分,以偵測平台600是否插電。結果,無論從軟體直接寫入儲存元件606或透過記憶體映射空間616;具有如BIOS程式碼之硬體介面;硬體或韌體(電源單元、PCU、BIOS等)基於控制信號直接更新儲存元件606;或其結合,表格635複數電流組配中的最大電流組配(如75A)會基於電源供應的增加而被選擇。
雖然表格520b顯示與特定電源事件相關聯之最大電流值,此等關聯並非必要的。事實上在一實施例中,表格635包含與啟動處理元件可用頻率波段相關聯之可能最大電流。以及當偵測到一電源事件時,PSU或軟體基於特定事件或事件類型從表個635中決定最佳電流。換言之,在BIOS 630揭露處理器605可能組配選項的情形下,以及平台設計者、軟體設計者及/或使用者基於實現進行從所提供選項選擇最適當組配之工作。越接近執行時間基於事件 選擇最大電流組配的策略決定可提供更彈性及最佳化的選擇。然而下,在某些情形下彈性可能被犧牲以確保適當操作以及對不同事件保證效率最小化。
因此如前所述,在一實施例中,電流組配的動態選擇包含將儲存元件606從已存在電流組配更新至新的電流組配選項。以及BIOS揭露選項,以使策略製造者(硬體、軟體、韌體或其結合)基於執行期間平台資訊及/或事件由選項中動態的選擇新的電流組配選項。請注意電流組配選項的動態選擇可獨立於或協同於平台製造商的初始選擇。例如,處理器設計者燒熔複數電流選項,其由BIOS揭露以進行選擇。基於平台VR設計,平台設計者會選擇預設的最大電流。再者,平台製造商可選擇原始可用最大電流的子集以便稍後揭露給操作的硬體及/或軟體。因此在執行期間,硬體/軟體由所揭露的子集中作出動態選擇。結果,軟體/硬體可透過記體映射I/O、BIOS執行期間介面或處理器暫存器的直接介面選擇一更加適合的最大電流。以及當工作量要求更多或更少電源消耗/效率,處理器可從所選擇電流組配決定一適合的最大/渦輪加速頻率。重啟動(reboot)後,回傳最大電流組配給平台設計者預設選擇。藉由在任何不同電源限制上啟用更多準確的最大電流選擇,可提供更有效的能源消耗與使用。
請參照第7圖,第7圖說明為一電腦裝置提供多重最大電流組配之一流程圖之一實施例。請注意流程(或模組)是以實際序列方式說明。但無論流程的序列性質或所述之 順序皆為非必要的。例如,參照第7圖,接收選擇資訊可能不會設定執行。取而代之的是選擇資訊可能被產生,如透過平台電容量的動態自我決定。同時,流程705-715說明實質線性或序列方式。然而,流程可在相同時間區段中平行執行。此外,任何例示的流程或邏輯區塊可在硬體、軟體、韌體或其結合中執行。如前及如下所述,在一實施例中每一流程代表模組、模組的部分或模組的重疊。再者,以一或多指令或操作為型式的程式,當執行時可使一機器執行如下所例示或描述者。
在流程705中,提供處理裝置複數最大電流組配選項。例如,一或多熔線由部件設計者設定以指示複數最大電流組配選項。以及熔線可由硬體、軟體或其結合(如BIOS)進行解譯以指示裝置可用的組配選項。例如,每一最大電流組配包含最大電流表示法,其對應一或多相關聯最大頻率之表示法。最大頻率可包含絕對頻率(一部件或處理元件的總頻率)或相對頻率(在公稱或操作頻率之上可用的頻率或頻率波段)。
在一實施例中,提供最大電流組被包含保留具有相關聯頻率之最大電流值之表格。例如,BIOS解譯處理器的熔癬並建立在非揮發性記憶體中,其中每一項目包含對應至可用頻率之最大電流值。在此,在一實施例中可用的頻率包含裝置的處理元件被啟動或關閉每一情形下的可用頻率。例如,若處理器具有8核心,則對一最大電流組配可能有8個頻率(如對1、2、3...8核心被啟動之每一情形有 一頻率)。在另一實施例中,表格選項同時保留組配指示器,如相關聯的電源事件(如增加或移除A/C插座)或平台電子度量(如電壓調節器之相位)。
在流程710中,用以指示所選擇最大電流組配選項之選擇資訊被接收(在建立、初始化或執行期間)。作為第一實施例,選擇資訊包含選擇的形式或電流組配的選擇。此等選擇之範例包括硬體、BIOS、韌體、軟體或其結合參照表格中之一項目、參照最大電流值、參照電源事件、參照電容量或其他與最大電流組配相關聯之事件/度量。由於接收選擇資訊的多樣選項,許多裝置可接收此資訊。例如,BIOS可從平台製造商或平台本身接收選擇資訊以作為使用者輸入。處理器可透過記憶體映射I/O、寫入至暫存器或其他來自硬體、BIOS、韌體、軟體或其結合之匯流排接收此等資訊。
作為一特定示例,平台製造商在處理器包含3相位電壓調器之BIOS中選擇選項。而BIOS接收選擇資訊並從3相位電壓調節器被包含的指示中決定適當的最大電流組配。作為另一特定示例,在裝置執行期間,電流組配事件(移除電源供應、增加電源供應、熱電源密度指示器、工作量指示器、電容量指示器、執行期間電源事件以及電源限制)會被偵測。基於電流組配事件(如由硬體、軟體、韌體其結合寫入至處理器中的MSR會直接或間接執行以選擇新的電流組配)新的電流組配選擇會被進行。
在一實施例中,選擇最大電流組配在接收選擇資訊後 會被鎖定。繼續前述之一範例,在平台製造商提供電容量(選擇)資訊後,所選擇的最大電流組配被決定。以及接著所選擇的組配會被鎖定,因此稍後如由終端使用者發起的修改將無法進行。
在流程715中,所選擇的最大電流組配選項會揭露給處理器裝置。揭露組配給處理器裝置包含:將所選擇最大電流組配選項的表示法寫入處理器裝置的一或多儲存元件中;將所選擇最大電流組配選項的表示法寫入處理器裝置可見的記憶體空間中;允許處理器裝置從保留複數最大電流組配選項之儲存媒體中讀取所選擇最大電流組配選項的表示法。
接著,在流程720中,在處理器裝置渦輪加速期間使用與所選擇電流組配相關聯之頻率。例如,工作量需要或要求更多效率。因此,處理器中一或多暫存器為啟動處理器元件不同情形保留最大電流值以及相關聯頻率。因此在此,處理器決定如核心之多少元件會被啟動(或反之被關閉)。以及為所決定的處理器活動來自最大電流及相關聯頻率之適當可用頻率。結果,處理器執行在較高(渦輪加速)頻率一段時間以提高效率。
在此所述之模組參照為硬體、軟體及/或韌體之任何結合。作為一範例,一模組包括如微控制器之硬體,其與非暫態媒體相關聯以儲存由此微控制器執行之程式碼。因此,在一實施例中參照一模組指示為硬體,其特別設定以辨識及/或執行保留在非暫態媒體中之程式碼。再者,在 另一實施例中,模組的使用指示包含程式碼的非暫態媒體,程式碼特別用於由微控制器執行以進行預定之操作。由此可推論,即使在另一實施例中,模組(在本例中)一詞可指示為微控制器及非暫態媒體之結合。通常模組邊界如圖示分隔及可能重疊。例如,第一及第二模組可共享硬體、軟體、韌體或其結合,然也可保留若干獨立的硬體、軟體或韌體。在一實施例中,邏輯一詞使用包含如電晶體、暫存器之硬體或其他如可程式化邏輯裝置之軟體。
在此,值一詞使用包含任何數目、狀態、邏輯狀態或二進制邏輯狀態之已知表示法。通常,邏輯階層或邏輯值的使用參照為1及0,其簡單表示二進制邏輯狀態。例如1表示高邏輯階層及0表示低邏輯階層。在一實施例中,如電晶體或快閃單元之儲存單元可用以保留單一邏輯值或多重邏輯值。然其他表示法可使用於電腦系統中。例如,十進制的10可以二進制表示為1010,以十六進制表示為A。因此,值包含保留在電腦系統中資訊的任何表示法。
再者,狀態可以值或部分值加以表示。例如,第一值如邏輯1可表示預設或初始狀態,而第二值如邏輯0可表示非預設狀態。此外,在一實施例中重設及設定一詞參照為依次預設及更新的值或狀態。例如,預設值可包含高邏輯值,即重設,而更新值可包含低邏輯值,即設定。請注意值得任何結合可用來表示任何狀態的數目。
本方法之實施例,前述之硬體、軟體、韌體或程式碼可以儲存於處理元件可執行之機器可存取、機器可讀取、 電腦可存取或電腦可讀取媒體之指令加以實現。非暫態機器可存取/可讀媒體包含提供(即儲存及/或傳送)機器可讀形式資訊之任何機制,如電腦或電子系統。例如,非暫態機器可存取媒體包含動態隨機存取記憶體(RAM)如靜態RAM或動態RAM;ROM;磁或光儲存媒體;快閃記憶體裝置;電子儲存裝置;光儲存裝置;聲儲存裝置;其他可用來保留來自短暫(傳播)信號(如載波、紅外線信號、數位信號)資訊之儲存裝置等,其與接收資訊之非暫態媒體不同。
本說明書中之一實施例意指實施例中所描述的特殊特徵、結構或特性被包含在本發明之至少一實施例中。因此,在本說明書中所稱之“在一實施例中”不必然指稱相同實施例。再者特殊特徵、結構或特性可在一或多實施例中以任何適當之方式結合。
為說明之便以上所述參照特定實施範例以助充分理解本發明之實例。然在不脫離本發明之精神和範圍內,任何熟習此技藝者當可更動與潤飾。所揭露之說明及圖式並非用以限定本發明。再者,前述實施例及其他範例文字不必然指稱相同實施例或相範例,也可如參照為相同實施例一般參照為不同實施例。
160‧‧‧電源控制
101‧‧‧核心
101a‧‧‧架構暫存器
101b‧‧‧架構暫存器
120‧‧‧BTB及I-TLB
125‧‧‧解碼
130‧‧‧重命名/定址器
140‧‧‧排程器/執行單元
135‧‧‧記錄器/報廢單元
150‧‧‧低階D-快取及D-TLB
102‧‧‧核心
102a‧‧‧架構暫存器
102b‧‧‧架構暫存器
121‧‧‧BTB及I-TLB
126‧‧‧解碼
131‧‧‧重命名/定址器
141‧‧‧排程器/執行單元
136‧‧‧記錄器/報廢單元
151‧‧‧低階D-快取及D-TLB
110‧‧‧高階快取
105‧‧‧匯流排介面
170‧‧‧控制器
180‧‧‧裝置
175‧‧‧系統記憶體
225‧‧‧記憶體
220‧‧‧記憶體互連
207‧‧‧MC
205‧‧‧處理器
209‧‧‧IOM
240‧‧‧PCIE
245‧‧‧I/O裝置
215‧‧‧P2P互連
230‧‧‧記憶體
220‧‧‧記憶體互連
212‧‧‧MC
210‧‧‧處理器
214‧‧‧IOM
240‧‧‧PCIE
250‧‧‧I/O裝置
310‧‧‧記憶體
315‧‧‧記憶體互連
301c‧‧‧MC
301‧‧‧處理器
330‧‧‧PCIE
305‧‧‧P2P互連
303‧‧‧處理器
303c‧‧‧MC
312‧‧‧記憶體
311‧‧‧記憶體
302c‧‧‧MC
302‧‧‧處理器
304‧‧‧處理器
304c‧‧‧MC
313‧‧‧記憶體
410‧‧‧記憶體
415‧‧‧記憶體互連
401c‧‧‧MC
401‧‧‧處理器
405‧‧‧P2P互連
420‧‧‧IOH
403‧‧‧處理器
403c‧‧‧MC
402c‧‧‧MC
402‧‧‧處理器
404‧‧‧處理器
404c‧‧‧MC
510‧‧‧儲存
515‧‧‧渦輪加速模組
615‧‧‧記憶體
620‧‧‧互連
610‧‧‧記憶體控制器
606‧‧‧儲存元件
607‧‧‧控制邏輯
650a‧‧‧選擇
625‧‧‧控制器
635‧‧‧表格
650o‧‧‧選擇
63‧‧‧BIOS裝置
本發明之較佳實施例輔以圖式說明,然非用以限定本發明,其中: 第1圖說明包含具多重處理元件(2核心及4執行緒槽)之處理器之系統之一邏輯演示之一實施例。
第2圖說明電腦系統組配之一邏輯演示之一實施例。
第3圖說明電腦系統組配之一邏輯演示之另一實施例。
第4圖說明電腦系統組配之一邏輯演示之另一實施例。
第5圖說明為最大頻率提供多重最大電流組配選項之一裝置之一邏輯演示之一實施例。
第6圖說明為最大頻率提供多重最大電流組配選項之一裝置之一邏輯演示之另一實施例。
第7圖說明為一電腦裝置提供多重最大電流組配之一流程圖之一實施例。

Claims (37)

  1. 一種用於有效率的能源消耗之處理器,包括:複數處理元件;儲存體,其用以保存該處理器之複數最大電流組配之一表示法,每一該等最大電流組配與儲存在該儲存體之複數最大超頻(turbo frequency)相關聯;以及一渦輪加速模組,其適應於基於一電源事件動態選擇該等複數最大電流組配中之一選定最大電流組配,決定啟動的該等複數處理元件之數目以及,基於該等複數處理元件之數目決定與該選定最大電流組配相關聯之該等複數最大超頻中之一最大超頻。
  2. 如申請專利範圍第1項所述之處理器,其中用以保存該等複數最大電流組配之該表示法之該儲存體包含一非揮發性記憶體,用以保存一表格,該表格包含複數最大電流值,每一該等最大電流值與該等複數最大超頻相關聯。
  3. 如申請專利範圍第1項所述之處理器,其中用以保存該等複數最大電流組配之該表示法之該儲存體包含一或多個暫存器,用以保存與該等複數最大超頻相關聯之複數最大電流值。
  4. 如申請專利範圍第1項所述之處理器,其中該電源事件包含移除一電源供應,以及其中適應於基於該電源供應之移除動態選擇該等複數最大電流組配中之一選定最大電流組配之一渦輪加速模組包括該渦輪加速模組,用以響應該能源供應之移除動態選擇該等複數最大電流組配中之 一選定最大電流組配,其包含小於一先前最大電流值之一較小最大電流值。
  5. 如申請專利範圍第1項所述之處理器,其中與複數最大超頻相關聯之每一該等最大電流組配包括針對啟動的該等複數處理元件之每一整數之與一最大超頻相關聯之每一該等最大電流組配。
  6. 一種用於有效率的能源消耗之處理器,包括:一或多個暫存器,其適應以保存對應該處理器之最大頻率之一第一集合之一第一最大電流組配之一表示法,該一或多個暫存器更適應以保存最大頻率之該第一集合之一表示法;以及一控制模組,其適應於在該處理器執行期間以複數可能最大電流組配之一第二最大電流組配之一表示法更新該一或多個暫存器,該第二最大電流組配對應最大頻率之一第二集合,以及然後決定啟動的複數處理元件之數目以及,基於該等複數處理元件之數目,決定該第二集合之最大頻率在其中該處理器操作的一最大頻率。
  7. 如申請專利範圍第6項所述之處理器,其中該一或多個暫存器包括一或多個特殊模組暫存器(MSR)。
  8. 如申請專利範圍第6項所述之處理器,其中該一或多個暫存器組配以保存對應一裝置之最大頻率之一第一集合之一第一最大電流組配之一表示法包括該一或多個暫存器組配以保存對應最大頻率之一第一集合之一第一最大電流值,該最大頻率之第一集合包含在該裝置中啟動的處理 元件數目之每一組合之一最大頻率。
  9. 如申請專利範圍第8項所述之處理器,其中該控制模組適應於在該裝置執行期間以複數可能最大電流組配之一第二最大電流組配之一表示法更新該一或多個暫存器,該第二最大電流組配對應最大頻率之一第二集合,包括該控制模組適應於在執行期間將對應該最大頻率之第一集合之該第一最大電流值更新為對應該最大頻率之第二集合之一第二最大電流值。
  10. 如申請專利範圍8項所述之處理器,其中該控制模組包括:基本輸入/輸出軟體(BIOS),其適應以揭露複數最大電流組配,其包含該裝置之該第一及該第二最大電流組配,以及將該第二最大電流組配寫入該一或多個暫存器中。
  11. 如申請專利範圍第8項所述之處理器,其中適應於該第二最大電流組配之該表示法更新該一或多個暫存器之該控制模組係響應一電源事件,該電源事件係由以下所組成之群組中選出:插入電源供應、移除電源供應、接收更多電源之一要求、決定一額外處理元件為啟動的、決定一額外處理元件為關閉的、以及該處理器於電源狀態間轉換。
  12. 一種用於有效率的能源消耗之方法,包括:提供一處理器的最大電流值及對應超頻之一集合,其中該集合包含多於一個最大電流值,及對應超頻之各者與 處理器之啟動核心數目相關聯;以及基於一最大電流組配及該處理器之啟動核心之數目考量選擇一最大電流值以及最大電流值及對應超頻之該集合的對應超頻。
  13. 如申請專利範圍第12項所述之方法,其中該最大電流組配考量包含一執行期間電源事件、該執行期間電源事件係由以下所組成之一群組中選出:移除電源供應、增加電源供應、熱電源密度指示器、工作量指示器、電容量指示器、以及電源限制,以及其中基於一最大電流組配考量選擇一最大電流值以及最大電流值及對應超頻之該集合的對應超頻係於該處理器執行期間進行。
  14. 如申請專利範圍第12項所述之方法,其中該最大電流組配考量包括包含該處理器之一平台之一電容量度量。
  15. 如申請專利範圍第14項所述之方法,其中提供一處理器的最大電流值及對應超頻之一集合包括在基本輸入/輸出軟體(BIOS)韌體中保存該處理器之最大電流值及對應超頻之該集合之一表格。
  16. 如申請專利範圍第15項所述之方法,其中在基本輸入/輸出軟體(BIOS)韌體中保存該處理器之最大電流值及對應超頻之該集合之該表格係響應BIOS韌體,其解譯(interpreting)定義最大電流值之該集合之熔線(fuse)。
  17. 如申請專利範圍第16項所述之方法,其中基於該電容量度量以選擇一最大電流值以及最大電流值及對應超 頻之該集合的對應超頻,包含以該BIOS韌體接收資訊指示該電容量度量以及以該BIOS韌體根據事先定義在該BIOS韌體中關於該電容量度量的策略由該表格中選擇該最大電流值以及該對應超頻。
  18. 如申請專利範圍第17項所述之方法,其中該電容量度量包含與該處理器相關聯之一電壓調節器之一相位數。
  19. 一種非暫態電腦可讀媒體,其包含程式碼,當執行時,促使一機器執行如申請專利範圍第12-18項所述之方法。
  20. 一種用於有效率的能源消耗之處理器,包括:電流手段,用以提供該處理器最大電流值及對應超頻之一集合,其中該集合包含多於一個最大電流值,該最大電流值之集合的各者與用於該處理器之超頻之集合相關聯;以及選擇手段,用以基於一最大電流組配考量選擇一最大電流值以及最大電流值及對應超頻之該集合的對應超頻,且用於選擇與該超頻之集合對應之以選擇的超頻係基於該處理器之複數處理元件的啟動數目。
  21. 如申請專利範圍第20項所述之處理器,其中該最大電流組配考量包含一執行期間電源事件、該執行期間電源事件係由以下所組成之一群組中選出:移除電源供應、增加電源供應、熱電源密度指示器、工作量指示器、電容量指示器、以及電源限制,以及其中基於一最大電流組配 考量選擇一最大電流值以及最大電流值及對應超頻之該集合的對應超頻係於該處理器執行期間進行。
  22. 如申請專利範圍第20項所述之處理器,其中該最大電流組配考量包括包含該處理器之一平台之一電容量度量。
  23. 如申請專利範圍第22項所述之處理器,其中用以提供一處理器之最大電流值及對應超頻之一集合之電流手段包括在基本輸入/輸出軟體(BIOS)韌體中保存該處理器之最大電流值及對應超頻之該集合之一表格。
  24. 如申請專利範圍第23項所述之處理器,其中在基本輸入/輸出軟體(BIOS)韌體中保存該處理器之最大電流值及對應超頻之該集合之一表格之該電流手段係響應BIOS韌體,其解譯定義最大電流值之該集合的熔線。
  25. 如申請專利範圍第24項所述之處理器,其中用以基於該電容量度量選擇一最大電流值以及最大電流值及對應超頻之該集合的對應超頻之選擇手段,包含該選擇手段以BIOS韌體接收資訊指示該電容量度量以及以BIOS韌體根據事先定義在BIOS韌體中關於該電容量度量的策略由該表格中選擇該最大電流值以及對應超頻。
  26. 如申請專利範圍第25項所述之處理器,其中該電容量度量包含與該處理器相關聯之一電壓調節器之一相位數。
  27. 一種用於有效率的能源消耗之方法,包括:對一處理裝置提供複數最大電流組配選項,每一該等 複數電流組配選項與該處理裝置之複數個最大頻率之一表示法相關聯,該等複數最大頻率與該處理裝置之啟動處理元件之數目相關聯;接收選擇資訊以指出該等複數最大電流組配選項之一選定最大電流組配選項之選擇;揭露該等複數最大電流組配選項之該選定最大電流組配選項給該處理處理器;以及接收增加工作量之效率的請求,決定處理元件之啟動處理元件之該數目,且選擇與該處理裝置之啟動處理元件之該數目相關聯之該等複數最大頻率在其中該啟動處理元件操作的一者。
  28. 如申請專利範圍第27項所述之方法,其中對一處理裝置提供複數最大電流組配選項,每一該等複數最大電流組配選項與該處理裝置之至少一最大頻率之一表示法相關聯包括:對該處理裝置燒熔該等複數電流組配選項。
  29. 如申請專利範圍第28項所述之方法,其中對一處理裝置提供複數最大電流組配選項,每一該等複數最大電流組配選項與該處理裝置之至少一最大頻率之一表示法相關聯更包括:保存一最大電流表格在一非揮發性記憶體中,該最大電流表格包含與該處理裝置之該至少一最大頻率相關聯之每一最大電流組配的一項目。
  30. 如申請專利範圍29項所述之方法,其中每一最大電流組配之該項目更與該裝置之處理元件為啟動或關閉之每一可能情形之一最大頻率相關聯。
  31. 如申請專利範圍29項所述之方法,其中接收選擇資訊以指出該等複數最大電流組配選項之一選定最大電流組配選項之選擇包括:接收對應該選定最大電流組配選項之平台電容量資訊。
  32. 如申請專利範圍31項所述之方法,其中該選擇最大電流組配在接收選擇資訊後被鎖定,以及其中當該選定最大電流組配被鎖定時,另外的選擇資訊不會選擇該等複數最大電流組配選項之一不同電流組配選項。
  33. 如申請專利範圍29項所述之方法,其中接收選擇資訊以指出該等複數最大電流組配選項之一選定最大電流組配選項之選擇包括:在該裝置執行期間接收選擇資訊以響應一電流組配事件,該電流組配事件係由以下所組成之一群組中選出:移除電源供應、增加電源供應、熱電源密度指示器、工作量指示器、電容量指示器、以及電源限制。
  34. 如申請專利範圍29項所述之方法,其中揭露該等複數最大電流組配選項之該選定最大電流組配選項給該處理裝置包括:寫入該選定最大電流組配選項之一表示法至該處理裝置之一或多個儲存元件。
  35. 如申請專利範圍29項所述之方法,其中揭露該等複數最大電流組配選項該選擇之最大電流組配選項給該處理裝置包括:寫入該選定最大電流組配選項之一表示法至該處理裝置可見之一記憶體空間。
  36. 如申請專利範圍29項所述之方法,其中揭露該等 複數最大電流組配選項該選擇之最大電流組配選項給該處理裝置包括:允許該處理裝置從保存該等複數最大電流組配選項之一儲存媒體讀取該選定最大電流組配選項之一表示法。
  37. 一種非暫態電腦可讀媒體,其包含程式碼,當執行時,促使一機器執行如申請專利範圍第27-36項所述之方法。
TW101146196A 2011-12-14 2012-12-07 包括可組配最大處理器電流之用於能源效率及節能之方法、裝置及系統 TWI515553B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/326,105 US9052901B2 (en) 2011-12-14 2011-12-14 Method, apparatus, and system for energy efficiency and energy conservation including configurable maximum processor current

Publications (2)

Publication Number Publication Date
TW201339822A TW201339822A (zh) 2013-10-01
TWI515553B true TWI515553B (zh) 2016-01-01

Family

ID=46653737

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101146196A TWI515553B (zh) 2011-12-14 2012-12-07 包括可組配最大處理器電流之用於能源效率及節能之方法、裝置及系統

Country Status (4)

Country Link
US (1) US9052901B2 (zh)
CN (1) CN104205077B (zh)
TW (1) TWI515553B (zh)
WO (1) WO2013090348A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8972667B2 (en) * 2011-06-28 2015-03-03 International Business Machines Corporation Exchanging data between memory controllers
US8984313B2 (en) * 2012-08-31 2015-03-17 Intel Corporation Configuring power management functionality in a processor including a plurality of cores by utilizing a register to store a power domain indicator
CN105068637A (zh) * 2015-07-17 2015-11-18 浪潮电子信息产业股份有限公司 一种确定主板上的vr的方法及装置、一种主板
CN105068872B (zh) * 2015-07-28 2018-11-23 深圳市万普拉斯科技有限公司 运算单元的控制方法和系统
CN110199242B (zh) * 2017-02-24 2023-08-29 英特尔公司 基于使用参数配置处理器的基本时钟频率
US10627885B2 (en) * 2018-01-09 2020-04-21 Intel Corporation Hybrid prioritized resource allocation in thermally- or power-constrained computing devices

Family Cites Families (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163153A (en) 1989-06-12 1992-11-10 Grid Systems Corporation Low-power, standby mode computer
US5522087A (en) 1994-03-22 1996-05-28 Verifone Inc. System for selectively operating in different modes depending upon receiving signal from a host computer within a time window upon power up
US5590341A (en) 1994-09-30 1996-12-31 Intel Corporation Method and apparatus for reducing power consumption in a computer system using ready delay
US5621250A (en) 1995-07-31 1997-04-15 Ford Motor Company Wake-up interface and method for awakening an automotive electronics module
US5931950A (en) 1997-06-17 1999-08-03 Pc-Tel, Inc. Wake-up-on-ring power conservation for host signal processing communication system
US6823516B1 (en) 1999-08-10 2004-11-23 Intel Corporation System and method for dynamically adjusting to CPU performance changes
US7010708B2 (en) 2002-05-15 2006-03-07 Broadcom Corporation Method and apparatus for adaptive CPU power management
US7539885B2 (en) 2000-01-13 2009-05-26 Broadcom Corporation Method and apparatus for adaptive CPU power management
JP3389914B2 (ja) 2000-03-03 2003-03-24 日本電気株式会社 集積回路の電源電流値のサンプリング方法及び装置、及びその制御プログラムを記録した記憶媒体
JP2001318742A (ja) 2000-05-08 2001-11-16 Mitsubishi Electric Corp コンピュータシステムおよびコンピュータ読み取り可能な記録媒体
KR100361340B1 (ko) 2000-05-15 2002-12-05 엘지전자 주식회사 씨피유 클럭 제어 방법
US6792392B1 (en) 2000-06-30 2004-09-14 Intel Corporation Method and apparatus for configuring and collecting performance counter data
US6748546B1 (en) 2000-09-26 2004-06-08 Sun Microsystems, Inc. Method and apparatus for reducing power consumption
US6829713B2 (en) 2000-12-30 2004-12-07 Intel Corporation CPU power management based on utilization with lowest performance mode at the mid-utilization range
US7058824B2 (en) 2001-06-15 2006-06-06 Microsoft Corporation Method and system for using idle threads to adaptively throttle a computer
US20030061383A1 (en) 2001-09-25 2003-03-27 Zilka Anthony M. Predicting processor inactivity for a controlled transition of power states
US7111179B1 (en) 2001-10-11 2006-09-19 In-Hand Electronics, Inc. Method and apparatus for optimizing performance and battery life of electronic devices based on system and application parameters
US6996728B2 (en) 2002-04-26 2006-02-07 Hewlett-Packard Development Company, L.P. Managing power consumption based on utilization statistics
US7051227B2 (en) 2002-09-30 2006-05-23 Intel Corporation Method and apparatus for reducing clock frequency during low workload periods
US6898689B2 (en) 2002-11-15 2005-05-24 Silicon Labs Cp, Inc. Paging scheme for a microcontroller for extending available register space
US7043649B2 (en) 2002-11-20 2006-05-09 Portalplayer, Inc. System clock power management for chips with multiple processing modules
US6971033B2 (en) 2003-01-10 2005-11-29 Broadcom Corporation Method and apparatus for improving bus master performance
US7089443B2 (en) 2003-01-23 2006-08-08 University Of Rochester Multiple clock domain microprocessor
JP4061492B2 (ja) 2003-02-10 2008-03-19 ソニー株式会社 情報処理装置および消費電力制御方法
US7093147B2 (en) 2003-04-25 2006-08-15 Hewlett-Packard Development Company, L.P. Dynamically selecting processor cores for overall power efficiency
US7272732B2 (en) 2003-06-30 2007-09-18 Hewlett-Packard Development Company, L.P. Controlling power consumption of at least one computer system
TW200502847A (en) 2003-07-08 2005-01-16 Benq Corp Control device and method for reducing number of interrupts in a processor
US7146514B2 (en) 2003-07-23 2006-12-05 Intel Corporation Determining target operating frequencies for a multiprocessor system
US7272730B1 (en) 2003-07-31 2007-09-18 Hewlett-Packard Development Company, L.P. Application-driven method and apparatus for limiting power consumption in a processor-controlled hardware platform
US7194643B2 (en) 2003-09-29 2007-03-20 Intel Corporation Apparatus and method for an energy efficient clustered micro-architecture
US7770034B2 (en) 2003-12-16 2010-08-03 Intel Corporation Performance monitoring based dynamic voltage and frequency scaling
US7284137B2 (en) 2004-06-29 2007-10-16 Intel Corporation System and method for managing power consumption within an integrated circuit
US7451333B2 (en) 2004-09-03 2008-11-11 Intel Corporation Coordinating idle state transitions in multi-core processors
US20070156992A1 (en) 2005-12-30 2007-07-05 Intel Corporation Method and system for optimizing latency of dynamic memory sizing
US9001801B2 (en) 2004-09-07 2015-04-07 Broadcom Corporation Method and system for low power mode management for complex Bluetooth devices
US7941585B2 (en) 2004-09-10 2011-05-10 Cavium Networks, Inc. Local scratchpad and data caching system
US7426648B2 (en) 2004-09-30 2008-09-16 Intel Corporation Global and pseudo power state management for multiple processing elements
US7434073B2 (en) 2004-11-29 2008-10-07 Intel Corporation Frequency and voltage scaling architecture
US7502948B2 (en) 2004-12-30 2009-03-10 Intel Corporation Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores
US8041967B2 (en) 2005-02-15 2011-10-18 Hewlett-Packard Development Company, L.P. System and method for controlling power to resources based on historical utilization data
US7739531B1 (en) 2005-03-04 2010-06-15 Nvidia Corporation Dynamic voltage scaling
US7454632B2 (en) 2005-06-16 2008-11-18 Intel Corporation Reducing computing system power through idle synchronization
US7430673B2 (en) 2005-06-30 2008-09-30 Intel Corporation Power management system for computing platform
US8301868B2 (en) 2005-09-23 2012-10-30 Intel Corporation System to profile and optimize user software in a managed run-time environment
US20070079294A1 (en) 2005-09-30 2007-04-05 Robert Knight Profiling using a user-level control mechanism
US7971073B2 (en) 2005-11-03 2011-06-28 Los Alamos National Security, Llc Adaptive real-time methodology for optimizing energy-efficient computing
US20070106827A1 (en) 2005-11-08 2007-05-10 Boatright Bryan D Centralized interrupt controller
US20070245163A1 (en) 2006-03-03 2007-10-18 Yung-Hsiang Lu Power management in computer operating systems
US7437270B2 (en) 2006-03-30 2008-10-14 Intel Corporation Performance state management
US7752468B2 (en) 2006-06-06 2010-07-06 Intel Corporation Predict computing platform memory power utilization
US7689847B2 (en) * 2006-06-13 2010-03-30 Via Technologies, Inc. Method for increasing the data processing capability of a computer system
US7529956B2 (en) 2006-07-17 2009-05-05 Microsoft Corporation Granular reduction in power consumption
US7930564B2 (en) 2006-07-31 2011-04-19 Intel Corporation System and method for controlling processor low power states
US7730340B2 (en) 2007-02-16 2010-06-01 Intel Corporation Method and apparatus for dynamic voltage and frequency scaling
WO2008117133A1 (en) 2007-03-26 2008-10-02 Freescale Semiconductor, Inc. Anticipation of power on of a mobile device
JP2008257578A (ja) 2007-04-06 2008-10-23 Toshiba Corp 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法
US7971074B2 (en) 2007-06-28 2011-06-28 Intel Corporation Method, system, and apparatus for a core activity detector to facilitate dynamic power management in a distributed system
US8032772B2 (en) * 2007-11-15 2011-10-04 Intel Corporation Method, apparatus, and system for optimizing frequency and performance in a multi-die microprocessor
US8024590B2 (en) 2007-12-10 2011-09-20 Intel Corporation Predicting future power level states for processor cores
US20090150696A1 (en) 2007-12-10 2009-06-11 Justin Song Transitioning a processor package to a low power state
US7966506B2 (en) 2007-12-12 2011-06-21 Intel Corporation Saving power in a computer system
US8442697B2 (en) 2007-12-18 2013-05-14 Packet Digital Method and apparatus for on-demand power management
KR101459140B1 (ko) 2007-12-26 2014-11-07 엘지전자 주식회사 전원관리 제어 장치 및 방법
US8156362B2 (en) 2008-03-11 2012-04-10 Globalfoundries Inc. Hardware monitoring and decision making for transitioning in and out of low-power state
US8954977B2 (en) 2008-12-09 2015-02-10 Intel Corporation Software-based thread remapping for power savings
US8245070B2 (en) 2008-12-30 2012-08-14 Intel Corporation Method for optimizing voltage-frequency setup in multi-core processor systems
US7928813B1 (en) * 2009-09-01 2011-04-19 Cisco Technology, Inc. Transient noise control for digital RF modulation
US8700943B2 (en) 2009-12-22 2014-04-15 Intel Corporation Controlling time stamp counter (TSC) offsets for mulitple cores and threads
US9171165B2 (en) * 2009-12-23 2015-10-27 Intel Corporation Methods, systems, and apparatuses to facilitate configuration of a hardware device in a platform
EP2362297B1 (en) * 2010-02-25 2014-05-14 Telefonaktiebolaget L M Ericsson (publ) Technique for selecting a frequency of operation in a processor system
US8943334B2 (en) 2010-09-23 2015-01-27 Intel Corporation Providing per core voltage and frequency control
US8949637B2 (en) 2011-03-24 2015-02-03 Intel Corporation Obtaining power profile information with low overhead
US8769316B2 (en) 2011-09-06 2014-07-01 Intel Corporation Dynamically allocating a power budget over multiple domains of a processor
US8954770B2 (en) 2011-09-28 2015-02-10 Intel Corporation Controlling temperature of multiple domains of a multi-domain processor using a cross domain margin
US9074947B2 (en) 2011-09-28 2015-07-07 Intel Corporation Estimating temperature of a processor core in a low power state without thermal sensor information
US8832478B2 (en) 2011-10-27 2014-09-09 Intel Corporation Enabling a non-core domain to control memory bandwidth in a processor
US9026815B2 (en) 2011-10-27 2015-05-05 Intel Corporation Controlling operating frequency of a core domain via a non-core domain of a multi-domain processor
US9158693B2 (en) 2011-10-31 2015-10-13 Intel Corporation Dynamically controlling cache size to maximize energy efficiency
US8943340B2 (en) 2011-10-31 2015-01-27 Intel Corporation Controlling a turbo mode frequency of a processor
US8984313B2 (en) 2012-08-31 2015-03-17 Intel Corporation Configuring power management functionality in a processor including a plurality of cores by utilizing a register to store a power domain indicator

Also Published As

Publication number Publication date
CN104205077B (zh) 2017-07-14
WO2013090348A1 (en) 2013-06-20
US9052901B2 (en) 2015-06-09
US20120216029A1 (en) 2012-08-23
CN104205077A (zh) 2014-12-10
TW201339822A (zh) 2013-10-01

Similar Documents

Publication Publication Date Title
US11221762B2 (en) Common platform for one-level memory architecture and two-level memory architecture
TWI515553B (zh) 包括可組配最大處理器電流之用於能源效率及節能之方法、裝置及系統
AU2011276656B2 (en) Apparatus, method, and system for improving power performance efficiency by coupling a first core type with a second core type
US9075610B2 (en) Method, apparatus, and system for energy efficiency and energy conservation including thread consolidation
US9720488B2 (en) Apparatus, method, and system for early deep sleep state exit of a processing element
CN106843430B (zh) 用于能效和节能的方法、装置和系统
US9619251B2 (en) Techniques for dynamic system performance tuning
US20150135189A1 (en) Software-based thread remapping for power savings
CN112445310A (zh) 主动di/dt电压下降抑制
JP2015187878A (ja) 異種マルチコアシステム用のダイナミックコア選択
US20120185714A1 (en) Method, apparatus, and system for energy efficiency and energy conservation including code recirculation techniques
CN101634884B (zh) 电源管理控制器与方法
BR102014006299A2 (pt) método para inicializar um sistema heterogêneo e apresentar uma vista simétrica do núcleo
US9292294B2 (en) Detection of memory address aliasing and violations of data dependency relationships
CN113656076A (zh) 一种基于硬件复用通道的bios启动方法及装置
US10996876B2 (en) Systems and methods for dynamically modifying memory namespace allocation based on memory attributes and application requirements
CN103197933A (zh) 计算机及其快速启动方法
WO2012145154A2 (en) Methods and systems for mapping a function pointer to the device code
CN106951268A (zh) 一种申威平台支持NVMe硬盘启动的实现方法
US7634672B2 (en) Power saving method of central processing unit
CN103136140A (zh) 一种用于数控总线通讯板的数据读写装置和方法
US20160216756A1 (en) Power management in computing devices
CN116009671A (zh) 一种服务器断电时使PCIeAIC工作的装置及方法