TW201140452A - Mechanisms to avoid inefficient core hopping and provide hardware assisted low-power state selection - Google Patents

Mechanisms to avoid inefficient core hopping and provide hardware assisted low-power state selection Download PDF

Info

Publication number
TW201140452A
TW201140452A TW099144196A TW99144196A TW201140452A TW 201140452 A TW201140452 A TW 201140452A TW 099144196 A TW099144196 A TW 099144196A TW 99144196 A TW99144196 A TW 99144196A TW 201140452 A TW201140452 A TW 201140452A
Authority
TW
Taiwan
Prior art keywords
core
idle
duration
predicted
period
Prior art date
Application number
TW099144196A
Other languages
English (en)
Other versions
TWI525547B (zh
Inventor
Justin J Song
John H Crawford
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of TW201140452A publication Critical patent/TW201140452A/zh
Application granted granted Critical
Publication of TWI525547B publication Critical patent/TWI525547B/zh

Links

Classifications

    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30058Conditional branch instructions
    • 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
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition code generation, e.g. Carry, Zero flag
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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

Landscapes

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

Description

201140452 六、發明說明: c發明所屬之技術領域3 發明領域 本發明是與處理器執行的領域有關,且尤其是與最佳 化處理器運作有關。 c先前技術3 發明背景 在半導體處理及邏輯設計上的進步已允許了可存在於 積體電路裝置上之邏輯的數量增加。因此,電腦系統架構 已經從在一系統中的單一個或多個積體電路進化成存在於 個別積體電路上的多處理器粒、多核心、多硬體執行緒以 及多邏輯處理器。一個處理器或積體電路一般包含單一實 體的處理器晶粒,其中該處理器晶粒可包括任何數目的核 心、硬體執行緒或邏輯處理器。 在積體電路上不斷增加的處理元件(核心、硬體、執行 緒以及邏輯處理器)的數目使得更多任務需被平行完成。然 而,對於所增加的處理功率而言,其必然結果就是熱密度 和洩漏功率的問題也會被放大。因此,有多核心的處理器 可能使用被稱為核心跳換(將至少一核心的架構狀態/脈絡 移動到另一核心)的熱散逸技術。然而將整個脈絡從一核心 移動到另一核心的潛在問題是耗費成本一浪費的執行週 期、花在移動上的能量以及冷快取。除了基於熱密度的最 原始核心跳換判斷之外,對於何時進行核心跳換,目前尚 未有聰明的判斷。因此,當不需要一核心跳換(一觸發、熱 201140452 密度狀況可自身減緩)或其可能是不可行(跳換產生相同或 較糟的熱狀況)時,一核心跳換可能被發動。因此,有一些 情況下,一核心跳換是由於熱狀況被觸發,但是避免此核 心跳換是較有利的。 當對於處理器的熱和功率考量繼續增加時,明智的使 用低功率狀態變得更加重要。目前,今日的特權等級軟體 (作業系統)在請求轉換到低功率狀態時沒有非常正確。因 此,以前的軟體可請求一核心進入一特定低功率狀態,但 無論到太深(較低的功率被消耗,但是相較於核心未來將被 閒置的時間量,並沒有充足的喚醒時間)或太淺(當閒置的時 間量大於喚醒的時間時,更多的功率被消耗),那都是沒有 效率的。 【發明内容】 依據本發明之一實施例,係特地提出一種設備,其包 含:多個處理器核心;一預測機構,用於預測該等處理器 核心於一未來期間的未來活動;以及一核心跳換機構,用 於基於該等處理器核心於該未來期間的該未來活動判斷核 心跳換是否有效率的,以及用於響應於基於該等處理器核 心之該未來活動而判斷出該核心跳換是無效率的而不允許 一核心跳換事件。 圖式簡單說明 本發明透過舉例的方式來說明且不意欲被所附加圖式 的圖形所限制。 第1圖說明了包括多個處理元件之一處理器的一實施例。 201140452 第2圖說明了包括多個處理元件之一處理器的另一實 施例。 第3圖說明了避免無效率之核心跳換的機構的一實施例。 第4圖說明了第3圖中用於預測未來活動的一預測機構 的一實施例。 第5圖說明了使用用於未來活動之預測的閒置-活動模 式之持續性的一實施例。 第6圖說明了預取避免一無效率的核心跳換之方法的 一流程圖的一實施例。 第7圖說明了提供硬體輔助低功率狀態選擇的一實施例。 第8圖說明了提供硬體輔助低功率狀態選擇的另一實 施例。 第9a圖說明了用於提供硬體輔助低功率狀態選擇之方 法的流程圖的一實施例。 第9b圖說明了第8圖中的所預測的閒置狀態機的一狀 態機的一實施例。 L實施方式3 較佳實施例之詳細說明 在下面的詳細說明中,多個特定的細節是予以提出, 例如用於閒置活動預測、閒置持續時間量測、正確性判斷 的特定硬體結構/機構;特定處理器架構、特定核心跳換狀 況、特定低功率狀態、特定處理器單元/邏輯、處理元件的 特定範例等等,以提供對本發明的通盤瞭解。然而,對此 技術領域中具有通常知識者而言,很顯然的是,這些特定 201140452 的細節不需要被使用來實現本發明。在其他例子中,熟知 的元件或方法,例如特定和可替換的多核心及多執行緒處 理器架構、用於所說明之模組/塊組的特定邏輯電路,以及 微處理器的特定操作細節並沒有予以样細描述,以避免不 必要地模糊了本發明。 本文中所描述之方法和設備是用於避免在處理器中的 無效率核心跳換且提供硬體輔助低功率狀態選擇。尤其這 些最佳化主要是在參考基於在一處理器中之核心的所預測 的未來活動或不活動的跳換和功率狀態選擇而受到討論。 事實上,處理器核心之間用於通訊的一說明性環形組成在 以下將參考第2圖來簡短地予以描述,以說明一可能的處理 器上核心(on-processor core)架構的實施例。然而,本文中 所描述的設備和方法並沒有被此限制住,因為它們可實現 在任何積體電財,且該韻電路對於該㈣電路的個別 部分使用脈絡跳換或功率狀態選擇。 多核心處理器的實施例 參考第1圖,包括多核心的-實施例是予以說明。在一 實施例中,處理器⑽包括用以於核心之間移動脈絡的核心 跳換硬體(未顯示)。在另-實施例中,處理器⑽包括用以 嵌入式處理器、 個別使核心處於低功率狀態之功率硬體(未顯示卜處理器 100包括任何處理器,例如一微處理器、一 ° 一數位信號處理II (DSP)、-網路處理 的裝置。如所示,處理請包括多個處 執行緒單 在一實施例中,一處理元件意指 ———一— 執 201140452 行緒槽、-處理單元、_脈 一&、 磓輯處理益、—硬體執 灯,、⑼’及/或任何可保持—處理器之狀態(例如一執 打狀態或架構狀態)的其他元件。換句話說,在-實施例 綠作㈣任何可獨立地與碼⑽如—軟體執行 緒、作業U、應用程式或其他碼)產生關聯的硬體。 體的處理器—般意指-積體電路’其可能包括任何數目的 其他處理元件’例如核,《、或硬體執行緒。 核、u ,¾、指a於-積體電路上且可維持—獨立的 架構狀態的邏輯’且其中每—獨立被維持的架構狀態是與 至少-些專用的執行資源有關。與核心相反,—硬體執行 緒-般意指任何設於—積體電路上且可維持―獨立的架構 狀態的邏輯’且其中該獨立被維持的架構狀態對執行資源 共用存取。如所見,當某些資源是被制且其他是專用於 -架構狀態時,介於-硬體執行緒之命名和核心之間的線 重疊。然而’常常-核心和—硬體執行緒是被—作業系統 視為個別的邏輯處理器,其中該作業系統可個別地對每一 邏輯處理器排程運算。 貫體的處理器1 〇〇如第1圖所示包括兩個核心1⑴、 102。在此,可利用核心跳換來減輕在一處理器的一部份上 的熱狀況。然而,從核心101跳換到核心1〇2可能在核心1〇2 產生與核心101所存在的相同熱狀況,而造成核心跳換的損 失。因而,在一實施例中,處理器100包括可使用核心跳換 的任何數目核心。此外,處理器100所包括的功率管理硬體 可使個別的單元及/或核心成為低功率狀態以節省功率。在 201140452 此,在一實施例中,處理器100提供硬體來辅助處理器ι〇〇 之處理元件的低功率狀態選擇,以及可能還有個別的模組/ 單元’其等將於稍後再詳細說明和討論。 雖然處理器100可包括不對稱的核心,即有不同架構、 功flb單元及/或邏輯的核心,然而對稱的核心是予以說明。 因此,核心10 2 (如所示是與核心101 —致)將不會予以詳細討 論以避免重複性的討論。此外,核心101包括兩個硬體執行 緒101a及101b,同時核心1〇2包括兩個硬體執行緒1〇2&及 102b。因而,軟體實體,例如一作業系統可能視處理器 為四個各自的處理器,即,可同時執行四個軟體執行緒的 四個邏輯處理器或處理元件。在一實施例中,脈絡的跳換 意指核心跳換;然而,在其他實施例中,執行緒跳換可與 核心跳換個別執行或與核心跳換一起執行。 在此’一第一執行緒與架構狀態暫存器1〇la有關,一 第二執行緒與架構狀態暫存器1〇11?有關,一第三執行緒與 架構狀態暫存器102a有關,以及一第四執行緒與架構狀態 暫存器102b有關。如所說明的,架構狀態暫存器1〇la是在 架構狀態暫存器101b中被複製,所以個別的架構狀態/脈絡 可關於邏輯處理器101a和邏輯處理器101b被儲存。其他較 小的資源’例如指令指標和在重新命名分配器邏輯13〇中的 重新命名邏輯也可關於執行緒1〇la*1〇lb被複製。一些資 源’例如在重新排序器/引退單元135中的重新排序緩衝 器、4日令旁看轉換緩衝器(instruction lookaside translation buffer,ILTB) 120、負载/儲存緩衝器以及佇列可經由分割共 201140452 用。其他資源,例如通用内部暫存器、頁表式暫存器、低 階資料快取以及資料轉換旁看缓衝器(TLB) 115、一或多個 執行單元140以及一部份亂序單元135可能被完全共用。 處理器100常常包括其他資源,該等資源可完全被共 用、透過分割被共用或由處理元件專用。在第1圖中,具有 一處理器之說明性的邏輯單元/資源的純粹示範性的處理器 的一實施例是予以說明。值得注意的是,一處理器可包括或 省略任何這些功能單元,以及包括未描述的任何其他已知 的功能單元、邏輯或韌體。如所示,處理器100包括一分支 目標緩衝器120以預測將被執行/選取的分支,以及一指令_ 轉換緩衝器(I-TLB) 120以儲存用於指令的位址轉換實體。 處理器100更包括耦接到提取單元120的解碼模組 125 ’其用以解碼所提取的元件。在一實施例中,處理器1〇〇 是與一指令集架構(ISA)有關,ISA定義/指定了在處理器1〇〇 上可執行的指令。在此,常常ISA所承認的機器碼指令包括 稱為一運算碼的指令的一部份,該運算碼參考/指定要被執 行的一指令或運算。 在一範例中’分配器和重新命名塊組丨3〇包括一分配 器,該分配器用於保存資源,例如儲存指令處理結果的暫 存器檔案。然而,執行緒1〇la*1〇lb可能可以亂序執行, 其中分配器和重新命名塊組丨3 〇也保存其他資源,例如重新 排序緩衝器用以追蹤指令結果。單元130也可包括一暫存器 重新。卩名器以重新命名程式/指令參考暫存器為處理器1⑼ 内的其他暫存器。重新排序器/引退單元135包括一些元 201140452 :’例如上述提及的重新排序緩 存緩衝器,以支援亂序執行以及二,衝器以及儲 序弓丨退。 歧錢彳令的依 在-實施例中’排程器和執 器單元以排程錢行單元的指令/運算。咕括一排程 疋在-執行單元的—埠(具有—可用 飞點指令 程。與該執行單元相關的暫存器也被執行單元赚排 指令處理結果。示範性的執行單元包括二=資訊 =執行單元―、-*載執:::二 儲存執行單元以及其他已知的執行單元。 較低階的資料快取和資料轉換緩衝器(D_TLB) i 5〇 β 輕接到執彳f單以〇。該t料㈣奸近被使用疋/ 運算的元件’例如資料運算元,該等運算元可能被保留在 記憶體相干性狀態巾。該D.TLBU _存最近的虛擬/線 性到實體的位址轉換。以一特定的範例來說,—處理器可 包括一頁表結構以打散實體的記憶體成為多個虛擬的頁。 如所描述的,核心101和102對較高階或較遠的快取 “〇(其快取最近被提取的元件)共用存取。值得注意的是, 較高階或較遠意指快取階增加或離執行單元變得較遠。在 一實施例中,較高階快取1丨〇是一最後階資料快取(在處理 器100中的記憶體階層的最後一個快取),例如第二或第三 階的資料快取。然而’較高階的快取110並不限於此,因為 它可與一指令快取有關聯或包括一指令快取。一追蹤快取 (一種類型的指令快取)在解碼器125之後可被搞接以储存最 201140452 近解碼出的追蹤。 需注意的是,在所描述的架構中,處理器100也包括匯 流排介面模組105以與處理器100外部的裝置溝通,該等裝 置例如系統記憶體175、一晶片組、一北橋或其他積體電 路。記憶體175可專用於處理器100或被一系統中的其他裝 置共用。記憶體175之類型的普遍範例包括動態隨機存取記 憶體(DRAM)、一靜態RAM (SRAM)、非依電性(NV)記憶體 以及其他已知的儲存裝置。 第1圖說明了具有不同模組、單元及/或邏輯之表示型 態的一示範性處理器的抽象、邏輯性的視圖。然而,應注 意的是,使用在此所描述之方法和設備的一處理器不需要 包括所列示的單元。且該處理器可省略所顯示之單元的一 些或全部。為了說明一個不同架構的可能性,現在參考第2 圖來進行討論,第2圖描述了一處理器200的一實施例,其 包括一處理器上記憶體介面模組[一非核心(uncore)模組]具 有一環狀架構以互連多個核心。處理器200如所說明的包括 一實體分散式快取;一環狀互連;以及核心、快取和記憶 體控制器元件。然而,此描述是純說明性的,因為實現此 描述之方法和設備的處理器可包括任何處理元件、任何類 型或位階的快取以及/或記憶體、前端匯流排或與外部裝置 通訊的其他介面。 在一實施例中,快取代理器221-224的每一個是用於管 理一實體分散式快取的一片段。作為一範例,每一快取元 件,例如元件221,是對於一所搭配核心(該核心是在出於 201140452 管理該快取的一分散式片段下,該快取代理器與其相關聯 的一核心)管理一快取的一片段。如所描述的’快取代理器 221-224是稱為快取片段介面邏輯(CSIL);其等也可稱為快 取元件、代理器、或用以與一快取或其片段介接的其他已 知邏輯、單元或模組。應注意的是,該快取可是任何位階 的快取;然而對於此示範性實施例而言,討論是著重在由 核心201-204共用的一最後階快取(LLC)。 就像快取代理器處理在環狀互連250上的流量且與快 取片段介接一樣,核心代理器/元件211-214是用以處理流量 且分別介接核心201-204。如所描述的,核心代理器221-224 是稱為處理器核心介面邏輯(PCIL);其等也可以稱為核心 元件、代理器或其他已知用於介接一處理元件的邏輯、單 元或模組。此外’環250也被顯示包含記憶體控制器介面邏 輯(MCIL) 230以及圖形集線器(GFX) 240,以介接其他模 組’例如記憶體控制器(IMC) 231以及圖形處理器(未顯 示)。然而,環250可包括或省略任何上述所提及之模組以 及包括其他未說明的已知處理器模組。此外,相似的模組 可經由其他已知的互連(例如一點對點互連或一多點分支 互連)產生連接。 避免無效率核心跳換的實施例 在—實施例中,一處理器,例如第1圖所說明的、第2 圖所說明的或其他未說明到的處理器,是用以避免無效率 的核心跳換。參閱第3圖,可以避免此等無效率核心跳換之 處理器的一實施例是予以說明。在此說明中,一核心跳換 12 201140452 意指-脈絡或架構狀態 核心(例如核心卿核心跳換觸核⑽^ 的任何已知的狀況來觸發—核,、機構31G是基於核心跳換 件。俗丨士 A'"跳換,或一核心跳換事 話說,當—處理_ A —度狀況被觸發。換句 (或更特定而言是-處理器的-核〜)太熱時;那麼一核心跳換 以減輕此熱密度狀況—分攤工作:些可能的情形下可能可 器的其他㈣Μ。 u因此熱擴散到此處理 -處料的說錄範例,”核《是設於 處理^滿負荷的運作下,此造成太多熱將在一 備或方晶上產生(―熱密度狀況)。基於任何已知的設 /觸ΓΓ用於指示出此狀況,核心跳換觸發邏輯观生 求。響應於該請求,一核心跳換機構/ =可執行-核心跳換。在此情形下,核心跳換機構320 可發動將核心301之架構狀態(其可能包括在核心則的-個或多個或可能全部的硬體執行緒脈絡)遷移到另一核心 (例m3G4)。因此’處理器的卫作量在處理器上被分攤 掉,其也可能分散了熱。 而如上所述,只基於目前的熱資訊而沒有基於與 未來活動預測相_-些額外f訊來執行—核心跳換,可 能產生被容許的無效率核心跳換。以上述的情形作為一範 例,在下一期間的核心301可能被規劃為間置,其將產生熱 密度狀況的自我減輕;此間置將不會產生許多熱。但是沒 有此預測,此核心跳換造成在功率和所浪費之執行時間的 13 201140452 成本,而透過預測到未來的閒置,此成本是可予以避免的。 在另一範例中’此四個所說明的核心中的三個(301、302和 3〇4)有造成熱密度狀況的龐大工作量,而此將產生核心跳 換。然而’將一忙碌核心的脈絡跳換到核心303可能無法減 輕熱密度狀/兄因為核心303鄰近其他仍忙碌的核心。 因此’在一實施例中,預測機構315是用以預測該等處 理器核心未來期間的未來活動。在此所稱的一期間可意指 一時間量’ 一些執行週期或任何其他時間上的量測。例如, 該期間巧具有幾週期至幾千微秒的範圍。相似的,任何用 於預測一處理器、核心、處理元件或其他執行引擎之活動 的已知方法可用於預測處理器核心301-304在一未來/下一 期間内的活動°普遍來說,此種預測的說明性範例包括: 利用該等處理器核心於先前期間内的一過去活動當作該等 處理器核心未來期間的未來活動;從一軟體實體接收一活 動提示以及基於該活動提示預測未來活動’執行未來活動 的一算術或統計預測;利用一預測演算法,例如卡爾曼濾 波器演算法,來預測未來活動;以及利用過去閒置、低功 率狀態持續性來預測未來活動。 參考第4圖,預測未來活動和閒置狀態持續性的一實施 例是予以說明。在一實施例中,預測器435 ’其是被包含在 預測機構315中,可使用一卡爾曼濾波器演算法。基於來自 核心301-30N之活動(有時稱為工作或狀態)以及較低功 率(有時稱為非工作或C2-CN狀態)持續性的資料,一預測是 予以計算。應注意到在此討論中,是對特定、低功率狀態, 14 201140452 例如c狀態作出特定的參考,以有助於此討論。,然而,使用 閒置及/或活動持續性可與任何型式的功率狀態執行狀 〜〜體狀怨或活動或非活動指示器的其他型式相關。 C-狀態最常意指由先進組態與電力介面(ACPI)所定義 的功率狀態。處理器或核心、類型的範例,依據ACPI的功率 狀態包括:CG是運作/活動類型的狀態;C1 (常常被熟知為 停i)是一類處理器沒有正執行指令但基本上可立刻返回 一執行狀態的狀態;C2 (常常被熟知為淨乂碎鑊)是一種處 理器維持全軟體可見但可能要花較長的時間來喚醒的狀 心,以及C3 (常常被熟知為访紙)是一種處理器不需要保持 其快取相干性但維持其他狀態的狀態。一些處理器在C3上 有一些變化一深度休眠(C4)、更深度休眠(C5)、最深度休眠 (C6) ’其等不同之處在於要花多久來喚醒處理器以及功率 節省的量。注意到,在此所描述的一些此類型的C狀態是用 於一示範性的處理器,例如自美國加州聖塔克萊拉市的英 特爾公司取得的一先進英特爾®架構32 (IA-32)處理器;雖 然實施例可同樣用於其他處理器。在此,一英特爾處理器 的C狀態可能沒有直接對應ACPI的規格;但是對於此討論 而言’兩組活動/非活動狀態是同樣適用的。換句話說,處 理器可對應其等自身的客製化C狀態的任何數目至以上所 描述的C狀態的ACPI類型。 繼續上述的討論,一旦預測器435利用卡爾曼濾波器演 算法基於來自活動監視器430的資料計算出此預測,則核心 跳換管理器440基於該預測判斷是否要避免一核心跳換而 15 201140452 可做出一判定。因此,活動監視器430可監視資料以判斷活 動或閒置資訊,如以上所討論的。與這些功率狀態相關的 資料之範例(其可被監視器43 0監視)包括功率狀態進入/離 開事件,例如核心301-30N在一監視時期或期間的進入/離 開事件,以及基於此等進入/離開事件或其他計數在此等狀 態之持續性的計算。基於此’在相同封裝中的活動_閒置核 心的重疊是予以計算。在一實施例中,活動監視和預測的 期間可為每500 ps ;然而,此可輕易地自一些執行週期至幾 千微秒的範圍内變化。 如上述所提到的,活動監視器430因此可自各個核心 301-30N接收有關其等目前或過去活動程度的輸入資料。在 一實施例中,活動監視器430包括一緩衝器,其可以各種方 式予以安排。例如,對每一核心301-30N而言,該緩衝器可 適用於儲存與每一功率狀態改變事件相關的時戳的一指 示。在此’活動監視器430從而對CPU核心301-30N進入和 離開功率狀態的事件進行擷取並加上時戳。在一實施例 中,該記錄是儲存於一核心緩衝器。接著,在事先預定的 期間’例如上述所描述的期間,活動監視器43〇提供所監視 的資料給預測器435。此所監視的資料可從而包括時戳資料 以及活動狀態,以指出在儲存期間内,每一核心是在一給 定狀態下多久了。 響應上述’預測器435可使用此資訊以產生一模式分 佈’以用於所預測的核心狀態的下一期間。然而在此點上 沒有限制,在—實施例中,預測器435可執行一給定預測演 16 201140452 算法’例如卡《濾波器演算法以產生此模式分佈。此外, 應理解到此模式分佈可廣泛地變化,取決於所支援的一些 低功率狀態,以及給定數目的心、_期_長度等。 為了簡化討論,包括三個不同模式的_模式分佈在此將予 以描述,例如參考第5圖所詳細討論的三個總計模式 (aggregate pattern)。然而,應理解的是,本發明的範圍不 限於此點且在不同的實施例中,更多或較少的此等模式可 予以提供,例如關於-些核心在—給㈣活動程度上有著 變化的精細度。 此模式分佈資訊從而由預測器435提供給核心跳換管 理器440 ’核心跳換管理器_可基於該模式分佈允許或不 允許一核心跳換請求。作為一範例,對於一下一期間的— 特定的總計閒置-活動模式可指示出一核心跳換是有效率 的。在此,核心跳換管理器440響應於該模式分佈及/或持 續性是超過一臨界持續性而允許此核心跳換。換句話說, 如果核心301-30N被預測出有一活動-閒置模式持續的夠久 (一核心跳換將視為可實行的且有效率的),則該核心跳換是 被允許的。相反的,如果其他閒置-活動模式(這些是沒有效 率或不可實行的)被預測出取代有效率的模式而持續著(其 是藉由有效率模式的持續性低於該臨界而予以指示出),則 核心跳換管理器440不允許或拒絕該核心跳換請求。因此, 在此範例中,不必要的、無效率的或不可實行的核心跳換 可基於核心301-30N之活動的未來預測而予以避免。 在一實施例中,以下三個模式可用來計算以預測活 17 201140452 動·(1)模式A:封裝是間置的(内部所有的核心是閒置的); ·封裝是忙碌的(内部所有的核心是忙碌的)·,以及 (3)模式C :封裝是部分閒置的(剩下的情形-至少一核心是忙 碌的且同時至少—核心是閒置的)。這三種模式描述了一閒 置/匕碌重疊現象。由上述範例可發現核心301-30Ν的進入/ 離開功率狀態時戳是藉由活動監視器430而成為可得的。此 外,因此,這三個模式分佈,預測可予以計算出。依據本 發明之一實施例的—預測之輸出範例是顯示於表丨,在假定 500 ps的期間下。 表1 在下一 ΊΊ,模的百分比 在下—Τ1,模式Β的百分比 &下一 T1 , 25% (25%*500=125 岬在模式 15% (15%*500=75 在模^ 60% (60%*500=300 岬在 從而,如表1所示,對於一期間T1,一閒置封裝楔式被 預測佔了該時間的25%(即125 μ3),同時所有核心被預測為 活動的則為該時間的丨5 % (即7 5 μ s ),且在該下一預測期間的 剩下60%内’至少一核心是活動的且至少一核心是 J夏的 (即300 產生這些模式預測的方式可在不同實施例中變 化。在一實施例中,這些預測可使用卡爾曼濾波器, 具馬 上在下文中會做進一步討論;然而’其他的實施方式也θ 可能的。 一卡爾曼濾波器模型(KFM)以都受到高斯雜訊的線性 動態和線性觀察點模型化一部份觀察到的隨機過程。其β 自一連串未完整且有雜訊的量測中估計一動態系統之狀熊 18 201140452 的有效率遞迴型濾波器。基於一KFM,核心301-30N的活動 可以一些預定的模式被指出(例如:模式A、B及C和其他模 式(例如以下參考第5圖所描述的那些)的百分比/持續性), 其等被視為在時域上被離散化的一實數隨機過程的觀察 點,被表示為Λ'=(υ')。此過程的隱藏狀態,, 也以一實數向量來表示。在KFM的線性隨機微分方程式是: 冲)=沦(卜丨)+ _-1) p(w)~#(〇,ρ) X⑼〜w、,‘)[方程式 i] 以及量測方程式是: y(t) = Cx(t) + V(t) /7(v)~ #(〇,/?) [方程式 2] 在此微分方程式1中的ηχη轉換矩陣A將先前t-i時階的 狀態與目前時階t的狀態產生關連’且是在沒有驅動函數或 過私雜§fl之下。在此η疋藏狀態的數目^在我們的任務 中’ m = η是可能的CPU活動狀態的數目。5。,%。是狀離的初 始平均及方差,Q是轉換動態雜訊的系統協方差,以及尺是 觀察雜訊的觀察協方差。觀察函數的轉移對於所有時間而 言是相同的,且此模型被稱為是非時變的或同質的。 示為=七|7) ’其中k>0是水平, 使用KFM’在給定直到目前為止的所有觀察點之下, 在未來時間的值可以被預測出。“,未來通常無法予以 掌握,且從而最好的一猜測是予以計算,以及一置作位準。 因此在可能的未來觀察點上的一機率分佈是予以計算,表 即離預測的未來多遠。 是對於—些水平k>0到未
來隱藏狀_ _而與未來觀察點有_ _的計算。 在給定觀察值(yl-yt)序列下, 來計算八,) 19 201140452 -川凡)=2/Ί =少K+A = x)尸(χ'+Λ = x|少,')[方程式3] 在方程式的右半部,是藉由固定滯後平緩化的演算法 (即’ L是滯後)來計算似,一U}。所以在分割 此演算法的細節之前,在KFM的一固定滯後平緩化是首先 被引入。 一固定滞後卡爾曼平緩器(FLKS)是執行回溯性資料同 化的一種方法。其在給定到目前為止的所有證據下,估計 過去的狀態,即,其中L是滞後,例如,我 們可能想要在給定目前的感應器讀數下,找出L分鐘前管子 是否破裂。傳統上這是稱為「固定滯後平緩化」,雖然「後 見之明」此用語可能是更適當的。在離線的情況下,此稱 為(固定間隔)平緩化;此對應到計算= χ丨。 在此預測演算法中,有更多/»個向前和向後的通過 (pass)。這些通過的計算是相似於在平緩化過程中的。唯一 的差異是在此預測步驟中,新的觀察點的初始值是空的, 其意指λ7+α=[λ7义,〃··.尤^此預測演算法藉由對直到目前的 所有證據加上= [λ,丹+1執行回溯性資料同化,以估 什Am 乂的值。事實上,我們考慮使用之前的階 當作先前資料,例如,如果 Λ = 1 ,貝ij ;v+l =〇v_丨+升)/2,而非 yT+l = null。 表2顯示此預測演算法的虛擬碼。 表2 20 201140452 函式預測 Ο,:.,. x〇i〇 = x\\o K〇l〇 = Κ|0 Λ+ι =(>/-ι+^·)/2; for t = 1:7^+1 (½ Λ,Δ,)= Fwda,〆 c, /?) end for t = Γ:-1:1 (¾ ’ Kr,K-M7.) = Back(x,+丨丨7.,K+1|7·,x巾,、,/1,0 end____ 在表2中,Fwd及Back是抽象運算子。對於第一迴圈 (t=l:T)的每一Fwd(向前通過)運算,首先藉由 ή 計算推論平均(inference mean)和方差·,接著 分別藉由叫=乂-Cx'm 、乂 =CU··^ 、尺,=匕 |C.V ,、,n 4=㈣計算在推論中的誤差(新信息)、誤差的方差、 卡爾曼增益矩陣以及此觀察的條件對數似然度;最後,藉 由〜=W /C,%及Κ^,_, - ^Λ,,更新平均和方差的估計值。 對於第二迴圈(t=T-l:-l:l)的每一向後(向後通過)運 算,首先藉由^=Ai,及%dv<’+e計算推論量;接著藉由 ’ Φ '+11'計算平緩器增益矩陣;最後,分別藉由 V - \ 〜〜',及%丨〆'為(其等已知 為勞奇-同-斯特利波爾(Rauch-Tung-Striebel,RTS)方程式) 計算平均、方差以及互協方差的估計值。 如表2所提出的計算可能是複雜的,例如,當在Fwd運 算子中計算卡爾曼增益矩陣以及在Back運算子中計算平緩 器增益矩陣時,在T+1階迴圈中有矩陣求逆。且此計算複雜 21 201140452 度將是,其中Γ是歷史觀察點的數目;#是活動狀態 的數目’因為對於一通常的矩陣而言,用於解出此矩 陣求逆的高斯消去法會導致0(7\力的複雜度。然而,在各個 實施例中’此演算法的實施可予以簡化。利用一KFM來預 測用於功率狀態選擇的未來活動的一較特定討論是在名稱 為 “Saving Power in A Computer System” 的一共同申請的申 請案第11/955,326號中描述。 現在參考第5圖,可能的活動模式(也可稱為間置_活動 模式、所預測的活動、未來活動、下一期間活動、活動表 示型態、閒置-活動表示型態等等)的一實施例是予以說明。 在此,預測器435是被描述為預測三個總計、閒置_活動模 式501、502及503。在此說明中,一邏輯丨表示一核心是活 動的(在工作或C0狀態)’且一邏輯〇代表該核心是閒置(在一 非工作或非C0功率狀態)。然而,在「活動」和「閒置」的 定義中,功率狀態的任何群集可被含括進來,例如和d 被視為活動的,且C2-C6被視為間置/非活動的。因此,在 所描述的可能的活動模式5G5的範例中,欄位5Q5a d分別對 應到核心301-304的活動❹在此,每一攔位可代表在一接下 來或未來期間中的一預測的活動或非活動,對於4個核心產 生有16個可能的間置.活動模式。從此簡單的例子中可推斷 出對於N個核心可能存在2N個模式。 可對於所有可能的2n個 續的形式’且接著總計 而,此2N個模式的任何 一預測機構’包括預測器435, 模式的一未來/下一期間預測任何持 它們成為如所說明的總計模式。然 22 201140452 子集可被預測為總汁模式。此外,甚至當預測總計模式時 母一可能的模式的持續性也可予以預測出。此外,模式的 總計也可以任何方式來執行,例如群集可不同於第5圖中所 說明的。此外,一模式之持續性的表示可以任何形式執行, 例如持續性的分佈、在一期間的持續性的百分比、在下— 期間的持續性的時間量,或一模式被預測為將在—未來期 間發生的一時間或數量的其他表示。 在此,所預測到核心301-304的活動模式是總計分為三 組:501、502、503。雖然沒有描述,最基本的方式來判斷 是否一核心跳換是有效率的(將被允許的),是將模式總計分 為兩組:核心跳換是有效率的活動模式以及核心跳換是無 效率的活動模式。基本上’如所顯示的,在此範例中,總 計模式502包括被判斷為「有效率」的核心跳換的總計模 式,同時模式503以及501包括被判斷為「無效率」的模式。 然而’此範例將無效率做出區分。模式5 01包括核心跳換是 可實行的模式(可以輕易地執行)’但是沒有必要進行核心跳 換。具體來說’當權衡時間上的損失(暫停其他執行而進行 跳換的時間)時,與模式501(例如〇〇〇〇或〇1 〇1)所聚集之模式 相關的熱密度狀況的獲益不被認為是有益的。 例如’假設核心301-3〇4是處於環形的布局,使得核心 301因而是相鄰於核心302和304。在此’當目前活動包括 0101時,如果核心304的核心跳換是被請求,從核心go#到 核心303的脈絡跳換可能暫時減輕了在核心3〇4上的熱問 題。然而,從整體的觀點來看,熱問題可能變的更糟,因 23 201140452 為活動模式現在是Olio,其中核心302和303的位置是彼此 相鄰,而不是如同在0101時的分散開。在此情形中不只處 理器封裝的整個熱狀況可能變糟,在每一核心為基礎上的 熱狀況也可能僅僅轉移到核心303。然而,在一些實作中, 設計者可能視此模式是有效率的,且因而將其與其他有效 率的模式總計在一起。 另一方面,模式503包括可能自一核心跳換中受益的模 式。但是當相比於由一核心跳換所引起的時間上執行損 失,由於不能實行或缺乏實質上的熱狀況減輕,一核心跳 換可能是無效率的。例如,1111的模式代表核心301-304都 是忙碌的。因而,從一核心到另一核心的跳換僅僅是自一 活動核心到另一個的切換。此外,例如1011的模式可被含 括於此子集群組中,因為自核心301到核心302的脈絡切換/ 跳換以得到模式0111可能使得最初的熱狀況變得更糟,如 以上所描述的。 應注意的是,可能的2N個模式的這些分組、總計或子 集不限於基於權衡可能的熱狀況減輕與用於執行的時間損 失或時間上的損失的分組方式。事實上,在一些情況下, 核心跳換的策略可純粹基於可實行性分組。在此實施例 中,如果一核心跳換是可實行的,則其被判斷為有效率。 同時,不可實行的核心跳換被判斷為無效率的。因而,一 預測機構可實現任何策略以分組閒置-活動模式成為總計 模式。此外,總計可包括任何模式的分組或結合。在一實 施例中,總計包括總計模式的持續性。例如,假設持續性, 24 201140452 例如總計模式502的持續性,是被表示為一期間的百分比, 例如7〇%’其可輕易地被轉換成一期間的時間量(70% * 500 Μ = 350㈣。此實質上意指預測器435預測在未來500 με的 期間内’組成總計模式5〇2的模式的一些形式將持續35〇 叩’或佔此期間的70%。 進一步說明此範例’假設預測器435預測模式11〇〇在下 一期間的10%中是持續的,模式0011在下一期間的30%中是 持續的’且模式10〇1在下一期間的10%中是持續的。在此 範例中’總計就是包括這些個別模式的和(10%+20°/。+30+ 10%) ’以得到7〇%的總持續性。然而,如以上所陳述的, 總计可包括模式的任何群集,或從而的持續性。應注意的 疋個別或總計模式的實際持續性可以相較於所預測的持續 性變化。然而,在模擬過程中’發現到預測器,例如預測 器435可疋非$準確的。事實上,一組模擬指出在四個核 〜的處理器中,—預測器只有4.34%的相對誤差。換句話 忒,如果預測器預測一模式(例如〇1〇1)的持續性是5〇〇 p期 間中的300叩,則實際量測到的結果顯示出該模式於287 以及313 ps間是持續的。 在—實施例中,在一期間,核心跳換機構320或核心管 理器440是基於該期間該等處理器核心的未來/所預測活動 來判斷是否核心跳換是有效率的。應注意到,一些或全部 的判斷可在預測機構3丨5以及可能在其他邏輯中進行。繼續 上述的範例,一旦預測器435已預測到總計模式5〇卜5〇2及 503的持續性’核心跳換管理器判斷一核心跳換是否是 25 201140452 有效率的。在—脊— &例中’判定一核心跳換是有效率的包 括判斷有政率的核心跳換模式的總計群集是否被預測出於 下』間持續的夠久以將核心跳換視為有效率的。 '如果有效率的核心跳換模式的總計模式502的持 續性是超過-臨界(例如_持續性臨界),則其被判定為有效 率的應4⑦到,此臨界可包括任何百分比、時間分佈或 對應到模式持續性之表示的其他值。出於說明的目的,假 界疋6G/。。在上述範例巾其巾總計模式撕的持續性 包括7 0 % ’所_的有效率閒置活動模式超過此臨界(被預 測出相較於臨界還持續的更久)。在此,核心跳換管理器4 4 〇 允許核心跳換,因為其被判定為有效率的。然而,如果臨 界是75%,則核心跳換管理器44〇將拒絕此核心跳換,因為 有效率的模式沒有被預測出將於該期間内持續的夠久。應 注意到在一些實施例中,此持續性臨界可被預先決定,同 時在其他實施例中,其可藉由特權等級實體、非特權等級 實體或其等結合來動態調整。 在一實施例中,核心跳換管理器440也可基於核心跳換 〇月求判斷核心跳換的一最佳配置。例如,核心跳換管理芎 440 ’響應於接收來自核心3〇4的一跳換請求,可輪詢活動 監祝器430以判斷一目前活動-閒置模式或利用在該期間的 一模式的持續性的預測來選擇最佳配置的跳換。在此,假 叹~'單一模式0011被預測出在下一期間具有最長的持續 性。接著,響應於該核心跳換請求,核心管理器可判定304 的脈絡要被跳換到核心301 ’而非302,因為在該期間最持 26 201140452 續的模式0011 ;鄰近於彼此的核心302和303將在同一時間 都是活動的。一最佳配置的判斷不限於基於一單一模式。 相反的,一個組合或總計可被使用。例如,指示出特定核 心是活動的所預測的模式可予以組合且該組合的持續性被 評斷來判斷出一最佳核心跳換。 也應注意到,核心跳換機構320的判斷可能沒有在活動 模式上進行,而是在一些實施例中可在任何未來活動預測 上進行,其可用來指示出是否一核心跳換是有效率的。事 實上,在第4圖用於未來活動預測的討論之前,以上有描述 了多個範例。因而,用於判定是否一核心跳換將是有效率 的任何已知的方法或設備可予以使用。再者,值得注意的 是,再次重申,所描述的總計模式的子群集在數量和内容 上純粹都只是說明性的。 回歸第6圖的討論,用於避免無效率核心跳換的方法的 一實施例是予以描述。雖然第6圖和底下第9a圖的流程是以 實質上一連串的方式來說明,但這些流程的每一個可以至 少部分並行或以不同的順序來執行。此外,一些所說明的 流程可予以省略,而在其他實施例中,其他的流程可被含 括進來。例如,下一或未來期間的持續性可在先前期間結 束時來預測。模擬過程中,預測平均約6.5微秒。因而,一 期間可能結束,預測可能開始,以及一核心跳換請求可能 都部分並行發生。因此,第6圖和第9a圖所顯示之流程的順 序純粹都是說明性的。 在流程605中,在一處理器的多個核心在一未來期間内 27 201140452 的-間置-活動表示型態的持續性是受到預測。如以上所陳 述的,該閒置活動表示型態可包括處理元件活動的任何已 知的表示型態。在—範例中,該閒置-活動表示型態包括— 些有效率的閒置-活動模式的-第-總計㈣·活動模式。在 N個核’。的/¾動可由’個模式來表示其中有效率的閒 置活動模式Φ平台策略(例如權衡用於減輕熱密度狀況之 核心跳換的受益和執行該核心跳換的時間上執行成本)判 斷為有效率的。此—有效率的閒置·活動模式的"特定說明 性範例是以第2®的總計模式5{)2來予以描述。應注意到, 如第2圖所顯示’超過—個總計模式可受到預測和計算。事 實上,在一實施例中,所有可能的2n個模式之持續性可受 到預測和總什,而在其他實施例中,只有2>)個模式和總計 模式的子集合可受到預測和計算。 在此期間,一核心跳換請求是予以接收。應注意到, 夕個核心跳換請求及其等的產生在此沒有詳細討論,以避 H肴;!:否避免該核心、跳換請求的討論。然而,—核心跳 換請求可基則ϊ何已知的狀況(例如:—熱密度狀況、_工 作量狀況、一故障狀況等)而產生。此外,任何實體可產生 該核心跳換請求。例如,難心、跳換請求4由硬體觸發, 例如由第3圖的核心跳換觸發器邏輯310觸發。該核心跳換 4求也可以由一特權等級軟體實體產生,例如由一核心或 作業系、、充(〇8)產生。事實上,—些處理器的設計者可選擇 開啟該請求機制給使用者·位階碼,使得核心、跳換觸發器邏 輯310接收一使用者請求且產生該核心跳換請求。 28 201140452 在判斷流程615中,判斷該有效率的閒置-活動表示型 態的一預定持續性是否超過一臨界。例如,判斷總計模式 502的持續性是否超過一持續性臨界。應注意到,替代此判 斷以實現相同目的之方式包括對無效率模式(例如模式501 和503)的一總計的持續性進行預測。以及接著,判斷是否 該總計是低於該臨界。實質上,取代判斷有效率的核心跳 換模式是否持續夠久以致於一核心跳換是有效率的,最後 一個範例是判斷無效率的核心跳換模式是否沒有持續夠久 以致於一核心跳換是有效率的。 響應於該判斷(該判斷可包括所預測之持續性與該持 續性臨界之比較的一些形式),如果所預測之持續性超過該 臨界,在流程625中,該請求會受到允許(此核心跳換是有 效率的),或者如果所預測之持續性沒有超過該臨界,則在 流程620中,該請求會被拒絕/避免(此核心跳換是沒有效率 的)。允許一核心跳換可僅僅是包括讓正常的核心跳換邏輯 (例如使一核心的狀態變換到另一狀態的邏輯)執行其工 作,同時拒絕可包括阻擋、不允許、拒絕或停止此核心跳 換發生的其他操作的任何形式。 硬體輔助低功率狀態選擇的實施例 接著參閱第7圖,包括一功率機構以基於預測正確性在 一所請求功率狀態和一所預測功率狀態之間選擇的一處理 器的一實施例是予以描述。如所說明的,功率機構710接收 一核心(例如核心701 -704中的核心701)進入一所請求功率 狀態的一請求。從以上的討論可注意到,所請求的功率狀 29 201140452 癌可包括任何功率狀態,例如一C狀態、ACPI功率狀態或 其他已知的功率狀態。以往,所請求的功率狀態純粹是基 於軟體請求741而被一功率控制單元使用。因此,一軟體實 體740,例如一作業系統(OS)、核心、超管理器或虛擬機器 監視器(VMM),請求核心701的一功率狀態,以及因而進入 該功率狀態。然而,與上述核心跳換很像,沒有核心7〇1之 閒置持續時間的預測,核心701可能造成進入低功率狀態的 成本/花費,且接著在短時間下被重新喚醒。事實上,在此 情形中’核心701可能進入低功率狀態且停留在那狀態一段 較從該功率狀態中喚醒核心7 01所花的時間還少的時間。作 為—額外的部分,一共同申請中且具有申請號11/955,326 的申請案“Saving Power in a Computer System”討論當一核 心處於一功率狀態一段期間時,功率狀態的硬體升級/降 級。應注意的是,硬體升級和降級可與此處所描述的設備 和方法一同使用。例如,硬體可預測一所預測的間置持續 時間或一所預測的功率狀態,且軟體可請求一所請求的功 率狀態。如果該硬體是正確的,則所預測的功率狀態被選 擇。然而,如果該核心處於所預測的功率狀態太久或不夠 久’該功率狀態隨後可如共同申請中的申請案裡所討論的 受到降級/升級。 在一實施例中,功率機構是提供硬體輔助功率狀態 選擇。事實上,作為一可能的最佳化,該功率狀態選擇可 基於預測正確性,使得當硬體預測正確性高時,一硬體預 測功率狀態是受到選擇。且當硬體預測正確性是低時,該 30 201140452 軟體請求功率狀態是受到選擇。因此,當硬體是正確地預 測出正確的(對於一未來期間而言是最有效率的)功率狀態 時,那麼硬體的選擇優先,而當預測機構不是高度正確時, 硬體讓出優先權給軟體。事實上,在模擬過程中,可發現 作業系統功率管理功率-狀態選擇於該時間的34.8%是正確 的;純硬體預測的一實施例於該時間的92.7%是正確的;且 基於該硬體正確性的硬體輔助功率狀態選擇之混合的一實 施例於該時間的94_3%實現正確的功率狀態。 在一實施例中,功率機構710包括預測機構720以預測 一閒置持續時間或一所預測的功率狀態。應注意到,預測 機構可預測該閒置持續時間,例如非常長、長、短或非常 短的持續時間,以及功率狀態是經由硬體、韌體、軟體或 其等組合與其相關。為了說明,一非常長和長的持續時間 可與一最深度睡眠狀態(C6)有關,而短和非常短的持續時 間是與一睡眠狀態(C3)有關。在此說明中,所使用的預測 一低功率狀態(例如C3和C6)的用語是與陳述一閒置持續時 間受到預測同義,或反之亦然。 在一實施例中,預測機構720響應於所量測到的閒置持 續時間增加或減少所預測到的閒置持續時間。例如,在一 期間内,一活動監視器,例如第4圖的監視器430,利用計 數器邏輯及/或時戳,判斷/量測例如核心701的一核心的閒 置持續時間。基於該閒置持續時間,一未來的/所預測的閒 置持續時間因而受到更新。作為一說明性的範例,所預測 的閒置持續時間響應於所量測到的閒置持續時間相較於一 31 201140452 損益平衡臨界(break even threshold)而增加或減少。如果功 率被軟體實體740請求’則在一實施例中,該損益平衡臨界 包括一最深度(例如C6)功率狀態的一損益平衡時間。注意 到’ C6的損益平衡時間可預先決定。該損益平衡時間也可 包括從C6功率狀態喚醒到一活動狀態的時間量,以及與進 入/離開一功率狀態相關的任何其他時間度量。 繼續此範例,如果在先前期間所量測到的閒置持續時 間疋長於C6損益平衡時間,則所預測到的閒置持續時間被 預測機構72G增加。或者,如果在先前期間所量測到的閒置 持,’只a夺間疋短於C6損好衡時間,則測到的閒置持續 時間被預測機構72G減少。值得注意的是…功率狀態的損 益平衡時間是崎說明性的臨界值。此外,任何時間量, 或其他值’ §將其與-期間中所量測到/實際的—閒置持續 時間比較時’都可被用來作為—臨界值。如上所述,所預 測到的間置持續時間可對應到一功率狀熊。 …、而在-些實施例中,所預測到閒置持續時間的更 新不必域表在所關功輪態中的改變。為了說明起 見’在上述的例子巾,長和非常㈣的·持續時間是與 C6相關’且短和非常短的間置持續相是與⑶目關。因 此,所預測„持續時間從長到㈣長的增加仍代表⑽ 的力率狀⑥。然而,如果所量剛到的閒置持續時間是 低於損益平衡臨界,_預測_置持續時間從長到短的 減少’則的確代表所預測功率狀態從以⑽的變化。在後 者的情形中,假定來自軟體實體740的核心7〇1進入—低功 32 201140452 率狀態(例如C6)的-請求是被接收。預測機構72〇已完成量 測核。7〇 1在-期間内的閒置持續時間。在此,所量測的閒 置持續時間是低於-C6損益平衡時間,其使得該預測機構 7 2 0預測出一短的閒置持續時間。假設硬體預測在此時被視 為正確的’功率管理器715可為核心7〇1選擇該硬體所預測 的C3狀態(基於該硬體所預測的短閒置持續時間),勝於該 軟體所請求的C6狀態。 然而,在一實施例中’選擇一硬體所預測的功率狀態 是有條件的基於該硬體預測機構720的預測正確性。實質 上,在此實施例中,存在一防護措施,從而當硬體沒有正 確地預測時,硬體所預測的功率狀態沒有勝於軟體所請求 的功率狀態而受到選擇。因而,在一實施例中,預測正確 性機構725是用於預測該預測機構720的預測正確性。以— 範例來說,預測正確性機構725響應於該期間内所量測到的 閒置持續時間超過該損益平衡臨界/持續時間,且所預測的 閒置持續時間對應到一長的閒置持續時間而增加預測正確 性。換句話說,如果所預測的閒置持續時間是長的閒置(比 一臨界持續時間長),且實際所量測到的閒置持續時間也超 過5玄損盈平衡臨界,則該間置預測是正確的。所以,預則 正確性機構725基於所判斷出的正確預測增加正確性。然 而,一長的閒置持續時間的預測以及—相似的長閒置(超過 才貝益平衡持續時間)的量測不是可被判定為正確的唯一預 測。以另-例子來說,當-短閒置持續時間被預測出時, 一短閒置持續時間(少於該損益平衡時間)的量測也增加該 33 201140452 預測正確性。 以一相似的方式,預測正確性機構725是響應於該期間 内所量測到的閒置持續時間超過該損益平衡持續時間且所 預測到的閒置持續時間對應到一短閒置持續時間而減少該 預測正確性。此外,預測正確性機構725響應於該期間内所 量測到的閒置持續時間沒有超過該損益平衡持續時間(一 量測到的短閒置持續時間)且所預測到的閒置持續時間對 應到長的閒置持續時間而減少該預測正確性。 應注意到,上述的範例已經討論了處理預測閒置持續 時間以及判斷此預測的正確性。然而,預測不受此限制。 以一例子說明,預測可包括實際功率狀態或在一期間内功 率狀態持續性的預測。在此,一活動監視器可蒐集關於進 入/離開此等功率狀態的資料。此外,該等預測是與此資料 比較以判斷直接功率狀態預測的正確性。 然而,不管預測的方法為何,一旦硬體預測受到執行, 功率管理器715則基於功率機構720之預測正確性選擇例如 核心701的一核心的所預測狀態,或選擇核心701的所請求 狀態。在一實施例中,一正確性臨界是予以提供。在此, 如果該預測正確性超過此正確性臨界,則硬體所預測的功 率狀態是受到選擇/使用。然而,如果該預測正確性沒有超 過此正確性臨界,則所請求的功率狀態是受到選擇。 接下來參考第8圖,用於預測閒置持續時間/功率狀態 的預測邏輯以及用於判斷預測正確性的正確性邏輯的一特 定說明性實施例是予以描述。事實上,使用示範性數目和 34 201140452 狀態的一個簡化過的說明性範例在此予以討論,以提供第8 圖中的邏輯之操作的大致情形。預測邏輯720是基於在一期 間内該多個核心中的一核心(例如核心7〇 1)的至少一閒置持 續時間預測一所預測的低功率狀態。在此,閒置持續時間 邏輯805是判斷該核心在該期間内的間置持續時間。作為一 範例’該期間可是例如500 期間的一時間期間。或者,該 期間可包括閒置持續時間本身。在此實施例中,當例如核 心701的一核心進入一低功率狀態(閒置),例如一計數器的 計數邏輯用於計數核心7〇1的該閒置持續時間。注意到,如 第4圖所討論的,一活動監視器使用時戳也可用來判斷一閒 置持續時間。一旦核心701喚醒時,預測邏輯72〇更新其預 測,且因而預測正確性邏輯725更新預測邏輯72〇的正確 性。響應於該喚醒,閒置持續時間邏輯8〇5提供所量測的閒 置持續時間806給損益平衡邏輯81 〇。 損益平衡邏輯810判斷所量測的間置持續時間8〇6是否 是長的持續時間或者是短的持續時間。如以上所討論的, 在一實施例中,例如C6狀態的一功率狀態的一損益平衡時 間疋被使用為一損益平衡臨界。雖然任何損益平衡值可予 以使用,但在此範例中,是假設該損益平衡臨界為1〇〇 ^。 因此’如果閒置持續時間8〇6超過1〇〇网,則核心7〇1的該閒 置持續時間被判定為長的持續時間。相反的,如果閒置持 續時間806疋1〇〇叩或低於1〇〇 μ8,則該閒置持續時間被判 定為短的持續時間。以一個簡單的範例來說 ,損益平衡邏 輯81 〇可包括比較邏輯以比較閒置持續時間8 〇 6和 100 ps的 35 201140452 損益平衡持續時間。 預測狀態邏輯815、820基於該損益平衡邏輯(即來自損 益平衡邏輯810的長或短的閒置判斷)來判斷所預測的低功 率狀態。所預測的閒置/功率狀態元件820是用於保存一先 前所預測的功率狀態。注意到,任何數目的功率狀態及/或 閒置持續時間可在元件820中表示。以一說明性的實施例來 說,儲存元件820保存一閒置狀態的一個兩位元表示型態, 且其對應到功率狀態。在此,〇〇代表非常短的閒置持續時 間,且其對應到C3功率狀態;01代表短的閒置持續時間, 且其也對應到C3功率狀態;10代表長的閒置持續時間,且 其對應到C6功率狀態;以及11代表非常長的閒置持續時 間,且其也對應到C6功率狀態。因此,當核心701的一所請 求的功率狀態是自軟體實體740接收時,所預測的閒置持續 時間/功率狀態822是被提供給功率管理器715以做為硬體 所預測的功率狀態。 然而,繼續上述的範例,所預測的閒置功率狀態820可 基於長/短閒置持續時間資訊811被所預測閒置狀態機構 815更新。快速地參考第9b圖,所預測閒置狀態機815的流 程圖的一實施例是予以說明。如所見,基於來自損益平衡 邏輯810的長/短閒置判斷,狀態機815的狀態因而受到更 新。例如,如果元件820所保存的先前狀態包括01(所預測 的短閒置持續時間816b),且長的閒置持續時間被判定,則 長的閒置持續時間移動該狀態機到狀態816c(所預測的長 閒置狀態)。此結果可保存在狀態機815中且直接提供給功 36 201140452 率官理器715。或者如所說明的,此結果是儲存在元件82〇 中—旦更新過的閒置持續時間預測8丨6被提供 ,此預測週 期實貪上就完成了。因而’響應於來自軟體實體的進入一 所請求功率狀態(例如C3)的—請求;最新更新過的所預測 1置持續時間/功率狀態(對應到C6功率狀態的長閒置持續 時間)是被提供給功率管理器爪。功率管理器在所請求 的力率狀悲)和C6(所預測的功率狀態)之間做出選擇。 在一實施例中,是基於預測邏輯720之正確性做出此選 擇。返回討論損益平衡邏輯81〇,該長/短閒置持續時間判 斷也提供給㈣JL確性判斷邏輯。此外,元件⑽所保存的 先别狀態在狀態機815更新之前也提供給邏輯825。實質 上,先前預測出的閒置持續時間是與新量測的持續時間比 車乂 ’且比較的模式是所量測到的閒置和所預測的閒置是否 都疋長的閒置或是短的閒L換句話說,邏輯825判斷是否 核心701之閒置的預測是正確的。 期間正確性判斷邏輯提供一正確性判斷826。在一實施 例中,如果預测是正確的,則信號826是一遞增信號以增加 •^確性邏輯830。相似的,如果該預測不是正確的,信號826 L括一不遞増信號。因此,正確性邏輯830實質上計數預測 、輯正確時的閒置期間的數目。此外,在每一閒置持續時 曰量測之後’總期間追蹤邏輯830被遞增。因此,核心7〇1 的正確間置持續時間在正確性邏輯83G中是可得的,以及期 間的總數目在期間追蹤邏輯830中是可得的。因而,正確性 、輯830可將正確期間的數目除以總期間數以得到—正確 37 201140452 性值831,例如一正確性百分比。 因此,功率管理器715或正確性邏輯830可比較此正確 性值和一臨界(例如90%)。如果此正確性超過90%的臨界, 則硬體所預測的C6狀態就用於核心70卜反之’如果此正確 性沒有超過90%的臨界,則所請求的功率狀態就用於核心 701。應注意的是,該正確性邏輯在另一範例中可輕易地以 相反方式執行,其中在正確性邏輯830中的一計數器是在不 正確的閒置期間下被遞增,且除以期間的總數以得到一不 正確值。接著此值可與一不正確臨界(例如10°/❶)比較。在運 作上,此等使用實質上是相同的。應注意到’參考第8圖提 供的範例中,此等正確性臨界以及其餘的數目和狀態純粹 是說明性的。此外,例如一損益平衡臨界或正確性臨界的 此等臨界可動態地被硬體、特權級軟體、使用者軟體或其 等組合調整。 返回參考第9a-9b圖,用於預測間置持續時間且判斷此 預測之正確性的方法之一實施例是予以說明。在流程901 中’一核心自一閒置或非活動狀態中被喚醒或自一閒置或 非活動狀態中離開。應注意到,該核心可是一組核心的一 部分或一完整的處理器。在閒置過程中,該閒置持續時間 在流程905中被量測/判斷。例如,一計數器計數該閒置的 持續時間。 在流程910中,一總閒置計數被判斷出。以一範例說 明,在每一閒置期間之後,該總閒置計數被遞增。在流程 915中’判斷該閒置持續時間是否大於一損益平衡臨界(例 38 201140452 如一功率狀態的一損益平衡時間)。如果該閒置持續時間沒 有大於該損益平衡臨界’在流程920中則判斷該閒置持續時 間是短的。相似的,如果該閒置持續時間大於該損益平衡 臨界,在流程925中則判斷該閒置持續時間是長的。再次快 速地參考第9b圖’其中繪示基於在流程920及925中的判斷 而於狀態之間移動的一狀態機。例如,如果該閒置持續時 間是長的,如流程925,則該狀態機移動狀態8163_8丨6(1以 朝向較長的間置狀態。且反之,一短的持續時間判斷92〇移 動該等狀態以朝向較短的閒置狀態,例如朝向狀態8丨6a。 此外,在流程930-945中,預測硬體的預測正確性是受 到判斷。在此,如果閒置持續時間在流程92〇中是判定為短 的,則有來自流程930的兩種可能的正確性結果:先前所 預測的閒置狀態是正確的一所預測的閒置持續時間是狀態 816a或816b,其等代表短的間置持續時間;或者(2)先前所 預測的閒置狀態是不正確的—所預測的閒置持續時間是狀 態816c或816d,其等代表長的閒置持續時間。相似的,在 流程935中,有兩種相似的結果:(1)先前所預測的閒置狀態 是正確的—所預測的間置持續時間是狀態816c或816d,其 等代表長的閒置持續時間;或者(2)先前所預測的間置狀態 是不正確的一所預測的閒置持續時間是狀態8丨6 a或8丨6 b, 其4代表短的間置持續時間。因此,當來自任一路徑的預 測是正確時,正確性計數在流程94〇中被遞增。如果該預測 疋不正確,則流程跳到流程945,流程945藉由將此正確性 汁數除以來自流程91〇的總閒置計數而判斷出一正確性 39 201140452 值因而如果正確性疋超過一臨界正確性,則該硬體所預 測功率狀態就用於核心7〇1。且相反的,如果該正確性沒有 超過该臨界正確性,則所請求的功率狀態就用於核心7〇卜 軟體請求以及正確性硬體預測的結合可能產生高度的正確 性功率狀態選擇’例如如模擬的略高於94%的正確選擇。 在本文所使用的一模組意指任何硬體、軟體、韌體或 其等組合。通常’被說明為獨立的模組界線常常改變且可 能重疊。例如,一第一和一第二模組可共用硬體、軟體、 動體或其等組合’而同時可能保有一些獨立的硬體、軟體 或勒體。在一實施例中,所使用的邏輯用語包括硬體,例 如電晶體、暫存器或例如可規劃邏輯裝置的其他硬體。然 而’在另一實施例中,邏輯也包括軟體或與硬體整合的碼, 例如韌體或微碼。 在本文中所使用的一數值包括一數字、一狀態、一邏 輯狀態或一二進制邏輯狀態的任何已知表示型態。通常, 邏輯位準或邏輯值也稱為1和〇,其簡明地代表二進制邏輯 狀態。例如,1意指一高邏輯位準且〇意指一低邏輯位準。 在一實施例中,一儲存胞元,例如一電晶體或快閃胞元, 可以保留一單一邏輯值或多個邏輯值。然而,在電腦系統 中的數值的其他表示型態也予以使用。例如’十進制數字 10也可被表示為1〇1〇的二進制值和A的十六進制字母。因 而,一個數值包括可保留在/電腦系統中的資訊的任何表 示塑態。 此外,狀態可由數值或數值的局部來表示。以一個範 40 201140452 例來說’例如邏輯1可表示一預設或初始狀態,同時第二數 值,例如邏輯〇可表示一未預設狀態。此外,在一實施例中, 重設和設定的用語是分別意指一預設值(或狀態)和一更新 值(或狀態)。例如,一預設值可能包括一高邏輯值,即重設, 而更新值可能包括一低邏輯值,即設定。應注意到,數 值的任意組合可予以使用以代表任何數目的狀態。 上述所提出的方法、硬體、軟體、韌體或碼的實施例 可經由儲存在一機器可存取或機器可讀取媒體中且一處理 兀件可執行的指令或碼來實現。一機器可存取/可讀取媒體 包括提供(即儲存及/或傳輸)一機器(例如一電腦或電子系 )賣取之形式的資訊的任何機構。例如,一機器可存取 媒體包括隨機存取記憶體(RAM),例如靜態RAM或動態 RAM ’ R〇M ·’磁性或光學儲存媒體;快閃記憶體裝置;電 性儲存裝置、光學儲存裝置、聲學儲存裝置或可傳播信號 (例>如栽波、紅外線信號、數位信號)儲存裝置的其他形式; 等等。例如,一機器可經由接收來自一媒體(該媒體玎保留 人在忒可傳播信號上傳送之資訊)的一傳播信號(例如一載 波)而存取—儲存裝置。 整篇說明書中所提到的「一(個)實施例」意指與此實施 例相關而描述的-特定特徵、結構或特性是被包含在本發 明的至,1、— ^ 夕一貫施例中。從而,在通篇說明書中各處出現的 ^ 貫施例」不必然全意指相同的實施例。此外,此 :特定的特徵、結構或特性在-或多個實施例巾可以任何 適虽的方式結合。 41 201140452 在前述的說明書中,詳細的描述已經參考特定的示範 性實施例而呈現出。然而,可對其做出各種修改和變化而 沒有脫離所附加之申請專利範圍中所指出的本發明之較廣 精神和範圍是很明顯的。因而’此§兒明書和圖式應被視為 具有說明性的意涵而非具有限制性的意涵。此外,前述實 施例和其他示範性用語的使用不必然意指相同的實施例或 相同的範例,而是可意指不同和有區別的實施例以及可能 是相同的實施例。 【圖式簡單說明3 第1圖說明了包括多個處理元件之一處理器的一實施例。 第2圖說明了包括多個處理元件之一處理器的另一實 施例。 第3圖說明了避免無效率之核心跳換的機構的一實施例。 第4圖說明了第3圖中用於預測未來活動的一預測機構 的一實施例。 第5圖說明了使用用於未來活動之預測的閒置-活動模 式之持續性的一實施例。 第6圖說明了預取避免一無效率的核心跳換之方法的 一流程圖的一實施例。 第7圖說明了提供硬體輔助低功率狀態選擇的一實施例。 第8圖說明了提供硬體輔助低功率狀態選擇的另一實 施例。 第9a圖說明了用於提供硬體輔助低功率狀態選擇之方 法的流程圖的一實施例。 42 201140452 第9b圖說明了第8圖中的所預測的閒置狀態機的一狀 態機的一實施例。 【主要元件符號說明】 100、 200.··處理器 101、 102、201-204、301-30N、 701-704...核心 101a、101b.._硬體執行緒/架構 狀態暫存器/邏輯處理器 102a、102b_·.硬體執行緒/架構 狀態暫存器 105…匯流排介面模組 110.,·較尚階或較遠的快取 115·..資料轉換旁看緩衝器 120_··指令旁看轉換緩衝器/分 支目標緩衝器/指令-轉換 緩衝器/提取單元 125…解碼模組/解碼器 130."重新命名分配器邏輯/分 配器和重新命名塊組/單元 135.··重新排序器/引退單元/亂 序單元 ··排程器和執行單元塊組/ 執行單元 150…資料快取和資料轉換緩 衝器 175· · · §己憶體 211-214…核心代理器 221 -224…快取代理器 230··· s己憶體控制器介面邏輯 231.. .記憶體控制器 240…圖形集線器 250.. .環狀互連/環 310…核心跳換觸發機構/核心 跳換觸發器邏輯 315…預測機構 320…核心跳換機構 430…活動監視器/監視器 435.. .預測器 440…核心跳換管理器 501 -503…總計模式/模式 505a-d...欄位 605、615、620、625.·.流程 710…功率機構 715.. .功率管理器 720…預測機構/預測邏輯 725…預測正確性機構/預測正 確性邏輯 740…軟體實體 741.. .軟體請求 43 201140452 805...閒置持續時間邏輯 820...所預測的閒置/功率狀態 806...所量測的閒置持續時間 元件/儲存元件 810...損益平衡邏輯 822...所預測的閒置持續時間/ 811...長/短閒置持續時間資訊 功率狀態 815...所預測閒置狀態機構/預 825...邏輯 測狀態邏輯/所預測閒置 826…正確性判斷/信號 狀態機 830...正確性邏輯/總期間追蹤 816...更新過的閒置持續時間 邏輯 預測 831...正確性值 816a-816d...狀態 901-945...流程 44

Claims (1)

  1. 201140452 七、申請專利範圍: 1· 一種設備,其包含: 多個處理β核心; 一預測機構,用於預測該等處理器核心於一未來期 間的未來活動;以及 一核心跳換機構,用於基於該等處理器核心於該未 來期間的該未來活動判斷核心跳換是否有效率的,以及 用於響應於基於該等處理器核心之該未來活動而判斷 出該核心跳換是無效率的而不允許一核心跳換事件。 2. 如申請專利範圍第1項所述之設備,其中用於預測該等 處理器核心於s亥未來期間的未來活動的該預測機構包 含用於預測一第一閒置-忙碌模式於該未來期間之—第 一持續性的預測機構。 3. 如申請專利範圍第2項所述之設備,其中於該未來期間 的該第一閒置-忙碌模式包含一第一總計閒置_忙碌模 式’其是一些有效率的核心跳換閒置_忙碌模式的一總計。 4·如申請專利範圍第3項所述之設備,其中用於基於該等 處理器核心於該未來期間的該未來活動判斷核心跳換 是否有效率的該核心跳換機構,包含響應於該第一總計 閒置Κ:碌模式的该第一持續性是超過一臨界而判斷該 核心跳換是有效率的、以及響應於該第—總計閒置忙 碌模式的該第一持續性沒有超過該臨界而判斷該核心 跳換是沒有效率的核心跳換機構。 5·如申請專利範圍第1項所述之設備,其中用於預測該等 45 201140452 處理器核心於該未來期間的未來活動的該預測機構,包 含用以使用該等處理器核心於一先前期間的一過去活 動當作該等處理器核心於該未來期間的該未來活動的 預測機構。 6. 如申請專利範圍第1項所述之設備,其中用於預測該等 處理器核心於該未來期間的未來活動的該預測機構,包 含自一軟體實體接收一活動提示以及基於來自該軟體 實體的該活動提示預測該未來期間的該未來活動的預 測機構。 7. 如申請專利範圍第1項所述之設備,更包含基於至少一 熱密度狀況產生該核心跳換事件的一核心跳換觸發邏 輯,其中該核心跳換事件包括用於執行一核心跳換的一 請求,且其中不允許該核心跳換事件的該核心跳換機構 包含拒絕用於執行該核心跳換的該請求的核心跳換機 構。 8. 如申請專利範圍第7項所述之設備,其中用於基於該等 處理器核心於該未來期間的該未來活動判斷核心跳換 是否有效率的該核心跳換機構,包含判斷該等處理器核 心的該未來活動是否指示出用於減輕該熱密度狀況的 一核心跳換是可實行的。 9. 如申請專利範圍第1項所述之設備,其中該等核心、該 預測機構以及該核心跳換機構是包括在一微處理器 中,該微處理器供耦接到一記憶體,其中該記憶體選自 於由一動態隨機存取記憶體(DRAM)、雙資料率(DDR) 46 201140452 RAM以及一靜態隨機存取記憶體(SRAM)所組成的一群 組。 10. —種設備,其包含一處理器,該處理器包括: 多個核心; 核心跳換邏輯組件,耦接到該等核心以觸發一核心 跳換請求; 一預測邏輯組件,耦接到該等核心以預測該等核心 於一下一期間的一活動;以及 一核心跳換管理器邏輯組件,耦接到該核心跳換邏 輯組件以及該預測邏輯組件,該核心跳換管理器邏輯組 件用於響應於該核心跳換管理器判斷該等核心於該下 一期間的該活動指示出核心跳換是無效率的而拒絕該 核心跳換請求。 11. 如申請專利範圍第10項所述之設備,其中用以觸發一核 心跳換請求的該核心跳換邏輯組件是基於一熱密度狀 況。 12. 如申請專利範圍第11項所述之設備,其中該等核心的該 活動包括在該下一期間中的一總計活動模式的一所預 測持續性。 13. 如申請專利範圍第12項所述之設備,其中該等核心包括 N個核心,以及一些可能的活動模式包括2N個模式,且 其中該總計活動模式包括該2~個活動模式中可用於減 輕該熱密度狀況的一子集。 14. 如申請專利範圍第13項所述之設備,其中判斷該等核心 47 201140452 於6亥下一期間的該活動指示出核心跳換是無效率的該 人跳換f理器,包含判斷可用於減輕該熱密度狀況的 3亥2個活動模式中的該子集的所預測持續性沒有超過 —臨界持續性的核心跳換管理器。 15. 如申請專利範圍第14項所述之設備,其巾雜心跳換管 理器響應於該核心跳換管理器判斷該等核心於該下— 期間的s玄活動指示出核心跳換是有效率的而回應該核 〜跳換凊求以發動一核心跳換來減輕該熱密度狀況,且 其中該核心跳換管理器判斷該等核心於該下一期間的 "亥活動指示出核心跳換是有效率的,包含該核心跳換管 理器判斷可用於減輕該熱密度狀況的該2N個活動模式中 的該子集的所預測持續性有超過該臨界持續性。 16. 如申請專利範圍第14項所述之設備,其中該核心跳換管 理器回應該核心跳換請求以發動一核心跳換來減輕該 熱密度狀況,包含該核心跳換管理器判斷出減輕該熱密 度狀況的一最佳活動模式、且至少發動該核心跳換以得 到該最佳活動模式。 17·如申請專利範圍第10項所述之設備,其中該等核心、該 核心跳換邏輯組件、該預測邏輯組件以及該核心跳換管 理器邏輯組件是包括在一微處理器中,該微處理器供耦 接到一記憶體,其中該記憶體選自於由一動態隨機存取 記憶體(DRAM)、雙資料率(DDR) RAM以及一靜態隨機 存取記憶體(SRAM)所組成的一群組。 18. —種方法,其包含以下步驟: 48 201140452 ::在—處理器上的多個核心於一未來期間内的 動表示型態的—所_持續性; 接收一核心跳換請求; 湖⑽該未來㈣⑽制置活動表 不㈣的所__性是否大於-持續性臨界; ^響應於判斷出於該未來期間内的該閒置、活動表示 心跳 =的所預測持續性大於該持續性臨界,回應該核 換凊求來執行一核心跳換;以及 響應於判斷出於該未來期間内的該閒置·活動表示 型態的所預測持續性沒有大於該持續性臨界不回應該 核心跳換請求來執行該核心跳換。 19·如申請專利範圍第18項所述之方法,其中簡置-活動 表不型態包括全部的可能閒置.活動模式之一第一數量 閒置-活動模式的-第-總計,其中該第-數量閒置-活 動模式被判定為針對核心跳換有效率。 2〇·如申請專利範圍第19項所述之方法,其中該第一數量間 置-活動模式被判定為針對核^跳換有效率,是基於權 衡與執行該核心跳換相關聯的一時間損失以及與執行 該核心跳換相關聯的一熱密度獲益的一策略。 21·如申請專利範圍第2〇項所述之方法,其中權衡與執行該 核心跳換相關聯的該時間損失以及與執行該核心跳換 相關聯的該熱密度獲益的該策略,包含將全部的可能間 置-活動模式分組為下列群組的策略:該第一數量閒置· 活動模式、全部間置-活動模式中的一第二數量閒置-活 49 201140452 動模式以及全部閒置-活動模式中的一第三數量閒置-活 動模式,且該第一數量閒置-活動模式係響應於該第一 數量閒置-活動模式與核心跳換的可實行性相關聯,該 第二數量閒置-活動模式係響應於該第二數量閒置-活動 模式與一最小熱密度獲益相關聯,以及該第三數量閒置 -活動模式係響應於該第三數量閒置-活動模式與核心跳 換的不可實行性相關聯。 22. 如申請專利範圍第18項所述之方法,進一步包含以下步 驟:響應於一熱密度狀況產生該核心跳換請求。 23. 如申請專利範圍第18項所述之方法,其中該持續性臨界 可藉由一特權等級實體而受到動態調整。 24. —種包括程式碼的電腦可讀取媒體,該程式碼在由一機 器執行時,會執行如申請專利範圍第18項所述之方法。 25. —種設備,其包含用於執行如申請專利範圍第18項所述 之方法的裝置。 26. —種設備,其包含: 多個核心;以及 一功率機構,耦接到該多個核心,該功率機構用於 接收該多個核心中之一個核心進入一所請求功率狀態 的一請求;用於預測一所預測功率狀態;用於基於該功率 機構的一預測正確性為該核心選擇該所預測功率狀態。 27. 如申請專利範圍第26項所述之設備,其中用以基於該功 率機構的該預測正確性為該核心選擇該所預測功率狀 態之該功率機構,包含該功率機構用以響應於該功率機 50 201140452 構的該預測正確性超過一正確性臨界而為該核心選擇 斤預測功率狀態,以及其中該功率機構更用以響應於 該功率機構的該預測正確性沒有超過該正確性臨界而 為該核心選擇該所請求功率狀態。 28. 如申請專利範圍第27項所述之設備,其中用以預測該所 預、力率狀‘4的⑦功率機構,包含該功率機構用以基於 在—期間内所量測到的一間置持續時間預測該所預測 功率狀態。 29. 如申請專利範圍第28項所述之設備,其中用以基於在該 1内所量測到的閒置持續時間預測該所預測功率狀 態的該功率機構,包含用以響應於該期間内所量測到的 間置持續時間超過一損益平衡持續時間而增加—所預 測閒置持續時間、以及響應於該期間内所量測到的閒置 持續時間沒有超過該損益平衡持續時間而減少該所預 剛閒置持續時間的功率機構。 30. 如申請專利範圍第29項所述之設備,其中該功率機構更 用以判斷該功率機構的該預測正確性。 31. 如申請專利範圍第30項所述之設備,其中更用以判斷該 功率機構的該預測正確性的該功率機構,包含用以進行 以下動作的功率機構:響應於職間_量測到之間置 =續時間超㈣損財㈣續相域所制閒置持 時間對應於-長的間置持續時間而增加該預測正確 ^ ’響應於該期間内所量_之閒置持續時間超過該損 益平衡持續時間且該所預測間置持續時間對應於一短 51 201140452 的閒置持續時間而減少該預測正確性;響應於該期間内 所量測到之閒置持續時間沒有超過該損益平衡持續時 間且該所預測閒置持續時間對應於該短的閒置持續時 間而增加該預測正確性;響應於該期間内所量測到之閒 置持續時間沒有超過該損益平衡持續時間且該所預測 閒置持續時間對應於該長的閒置持續時間而減少該預 測正確性。 32. 如申請專利範圍第26項所述之設備,其中該多個核心以 及該功率機構是包括在一微處理器中,該微處理器供耦 接到一記憶體,其中該記憶體選自於由一動態隨機存取 記憶體(DRAM)、雙資料率(DDR) RAM以及一靜態隨機 存取記憶體(SRAM)所組成的一群組。 33. —種設備,其包含: 多個核心; 預測邏輯組件,耦接到該多個核心中的一核心,該 預測邏輯組件用以基於該多個核心中的一核心於一期 間内的至少一閒置持續時間來預測一所預測低功率狀 態; 預測正確性邏輯組件,用於判斷該預測邏輯組件的 一預測正確性;以及 功率控制邏輯組件,耦接到該預測邏輯組件,用於 接收來自一軟體實體的一所請求低功率狀態以及來自 該預測邏輯組件的該所預測低功率狀態;其中該功率控 制邏輯組件用以響應於該預測正確性大於一臨界正確 52 201140452 性而為該心選擇該所預測低功率狀態,以及響應於該 預測正確性沒有大於該臨界正確性而為該核心選擇該 所請求低功率狀態。 34.如申請專利範圍第33項所述之設備,其中用以基於一核 心的至少-閒置持續時間來制_所預測低功率狀態 的該預測邏輯組件包含: 閒置持續時間邏輯組件,用於判斷該核心於該期間 内的該閒置持續時間; 損益平衡邏輯組件,耦接到該間置持續時間邏輯組 件,該損益平衡邏輯組件用以響應於該間置持續時間超 過一損盈平衡持續時間而判斷該間置持續時間是一長 的閒置時間,以及響應於該閒置持續時間沒有超過該損 益平衡持續時間而判斷該閒置持續時間是一短的閒置 時間;以及 預測狀態邏輯組件,耦接於該損益平衡邏輯組件, 該預測狀態邏輯組件用以基於該損益平衡邏輯組件響 應於a玄間置持續時間超過該損益平衡持續時間而判斷 該間置持續時間是長的閒置時間、以及響應於該間置持 續時間沒有超過該損益平衡持續時間而判斷該閒置持 續時間是短的閒置時間,來判斷該所預測低功率狀態。 35·如申请專利範圍第34項所述之設備,其中該閒置持續時 間邏輯組件包含用以為該核心計數該期間内的該間置 持續時間的計數邏輯組件,且該損益平衡邏輯組件包含 用以比較該閒置持續時間與該損益平衡持續時間的比 53 201140452 較邏輯組件。 36. 如申請專利範圍第35項所述之設備,其中該預測狀態邏 輯組件包含: 一狀態機,用以響應於該損益平衡邏輯組件判斷該 閒置持續時間是長的持續時間而移動到一較長的所預 測閒置狀態,以及響應於該損益平衡邏輯組件判斷該閒 置持續時間是短的持續時間而移動到一較短的所預測 閒置狀態;以及 一儲存元件,用以基於該較長的所預測閒置狀態或 該較短的所預測閒置狀態儲存該所預測低功率狀態的 一表示型態。 37. 如申請專利範圍第34項所述之設備,其中用以判斷該預 測邏輯組件之預測正確性的該預測正確性邏輯組件包 含: 期間邏輯組件,用於判斷包括該期間的總期間數; 正確性判斷邏輯組件,耦接到該損益平衡邏輯組件 和該預測狀態邏輯組件,該正確性判斷邏輯組件用以基 於欲由該預測狀態邏輯組件先前所預測的於該總期間 數中先前所預測低功率狀態結合該損益平衡邏輯組件 判斷的於該總期間數中的長的持續時間和判斷的短的 持續時間來判斷該總期間數中的正確性期間的數目;以 及 正確性邏輯組件,用以基於該總期間數中的正確性 期間的該數目判斷該預測正確性。 54 201140452 38·如申請專利範圍第37項所述之設備’其中該期間邏輯組 件包含用以計數該總期間數的計數邏輯組件,以及該正 確性邏輯組件包括用以經由正確性期間的該數目除以 5亥總期間數來判斷該預測正4性的算術邏輯組件。 39. 如申請專利範圍第38項所述之設備’其中該正確性判斷 邏輯組件包含比較邏輯組件,該比較邏輯組件用以比較 於該總期間數中先前所預測低功率狀態的表示型態與 遠總期間數中的長持續時間或短持續時間之相對應表 示型態,以及該正確性判斷邏輯組件包含用以計數於該 總期間數中正確性期間之數目的計數邏輯組件。 40. 如申請專利範圍第33項所述之設備,其中該多個核心以 及该功率機構是包括在一微處理器中,該微處理器供耦 接到一記憶體,其中該記憶體選自於由一動態隨機存取 記憶體(DRAM)、雙資料率(DDR) RAM以及一靜態隨機 存取記憶體(SRAM)所組成的一群組。 41. 一種方法’其包含以下步驟: 在處理器的預測硬體中判斷核心的一所預測功率 狀態; 判斷該預測硬體的一預測正確性; 自一軟體實體接收-方玄心的一所請求功率狀態; 響應於該預測正確性小於一臨界正確性而為該核 心選擇該所請求功率狀態;以及 響應於該預測正確性沒有小於該臨界正確性而為 該核心選擇該所預測功率狀熊。 55 201140452 42·如申請專利範圍第項騎之方法,*包含以下步驟: 判斷該核心於一期間内的一閒置持續時間;以及 判斷該核心於該期間的該閒置持續時間是否超過 —損益平衡臨界。 4 3.如申請專利範圍第4 2項所述之方法,其巾在該處理器的 預測硬體中判斷該核心的所預測功率狀態之步驟包含 以下步驟: 在έ亥預測硬體中響應於判斷該核心於該期間内的 该閒置持續時間超過該損益平衡臨界而判斷出一較長 的所預測閒置狀態; 在该預測硬體中響應於判斷該核心於該期間内的 該間置持續時間超過該損益平衡臨界而判斷出較一先 月1J所預測間置狀態更短的一較短的所預測閒置狀態;以及 基於響應於判斷該核心於該期間内的該閒置持續 時間超過該損益平衡臨界而判斷較該先前所預測間置 狀態更長的該較長的所預測閒置狀態、以及響應於判斷 該核心於該期間内的該閒置持續時間超過該損益平衡 臨界而判斷出的該較短的所預測閒置狀態,來判斷該核 心的該所預測功率狀態。 44·如申請專利範圍第43項所述之方法,更包含響應於判斷 該核心於該期間内的該閒置持續時間來判斷一總期間 計數的步驟,其中判斷該預測硬體的預測正確性之步驟 包含以下步驟: 回應於在該預測硬體中響應於判斷該核心於該期 56 201140452 間内的該閒置持續時間超過該損益平衡臨界而判斷出 /較長的所預測閒置狀態’而: 響應於該先前所預測閒置狀態指示出—i % 所預測閒置狀態而遞增一正確性期間計數,以及 響應於該先前所預測間置狀態指示出一短的 所預測閒置狀態而遞減該正確性期間計數; 回應於在該預測硬體中響應於判斷該核心於該期 間内的該閒置持續時間超過該損益平衡臨界而判斷出 一較短的所預測閒置狀態,而: 響應於該先前所預測閒置狀態指示出—短的 所預測間置狀態而遞增一正確性期間計數,以及 響應於該先前所預測間置狀態指示出—長的 所預測閒置狀態而遞減該正確性期間計數,·以及 基於該正確性期間計數和該總期間計數來判斷該 預測正確性。 45. 46. :種包括程式碼的電腦可讀取媒體,該程式碼在由一機 :執P,會執行”料鄕_4丨韻述之方法。 2叹備’其包含用於執行如巾料職圍第4】項所述 之方法的裝置 57
TW099144196A 2009-12-28 2010-12-16 用以避免無效率核心跳換及提供硬體輔助低功率狀態選擇之機構 TWI525547B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/647,671 US8887171B2 (en) 2009-12-28 2009-12-28 Mechanisms to avoid inefficient core hopping and provide hardware assisted low-power state selection

Publications (2)

Publication Number Publication Date
TW201140452A true TW201140452A (en) 2011-11-16
TWI525547B TWI525547B (zh) 2016-03-11

Family

ID=44174195

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099144196A TWI525547B (zh) 2009-12-28 2010-12-16 用以避免無效率核心跳換及提供硬體輔助低功率狀態選擇之機構

Country Status (5)

Country Link
US (1) US8887171B2 (zh)
JP (1) JP5460565B2 (zh)
CN (2) CN102110025B (zh)
DE (1) DE102010054337B4 (zh)
TW (1) TWI525547B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI459400B (zh) * 2012-04-17 2014-11-01 Phison Electronics Corp 記憶體儲存裝置、及其記憶體控制器與電源控制方法
TWI512623B (zh) * 2013-12-26 2015-12-11 Phison Electronics Corp 休眠模式啓動方法、記憶體控制電路單元及儲存裝置
TWI649693B (zh) * 2013-10-09 2019-02-01 Arm股份有限公司 用於控制推測向量運算效能的資料處理設備、方法及電腦程式產品

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8219834B2 (en) * 2009-08-12 2012-07-10 International Business Machines Corporation Predictive power gating with optional guard mechanism
US8219833B2 (en) * 2009-08-12 2012-07-10 International Business Machines Corporation Two-level guarded predictive power gating
US8812674B2 (en) * 2010-03-03 2014-08-19 Microsoft Corporation Controlling state transitions in a system
US8238290B2 (en) * 2010-06-02 2012-08-07 Erik Ordentlich Compressing data in a wireless multi-hop network
US20120166731A1 (en) * 2010-12-22 2012-06-28 Christian Maciocco Computing platform power management with adaptive cache flush
US8527994B2 (en) 2011-02-10 2013-09-03 International Business Machines Corporation Guarded, multi-metric resource control for safe and efficient microprocessor management
US8954017B2 (en) * 2011-08-17 2015-02-10 Broadcom Corporation Clock signal multiplication to reduce noise coupled onto a transmission communication signal of a communications device
KR101859188B1 (ko) 2011-09-26 2018-06-29 삼성전자주식회사 매니코어 시스템에서의 파티션 스케줄링 장치 및 방법
US9158693B2 (en) 2011-10-31 2015-10-13 Intel Corporation Dynamically controlling cache size to maximize energy efficiency
CN103218032B (zh) * 2011-11-29 2017-07-14 英特尔公司 利用相对能量损益平衡时间的功率管理
US9075609B2 (en) * 2011-12-15 2015-07-07 Advanced Micro Devices, Inc. Power controller, processor and method of power management
US9400545B2 (en) * 2011-12-22 2016-07-26 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including autonomous hardware-based deep power down in devices
US9218045B2 (en) * 2012-06-30 2015-12-22 Intel Corporation Operating processor element based on maximum sustainable dynamic capacitance associated with the processor
US9164931B2 (en) 2012-09-29 2015-10-20 Intel Corporation Clamping of dynamic capacitance for graphics
US9311209B2 (en) * 2012-11-27 2016-04-12 International Business Machines Corporation Associating energy consumption with a virtual machine
US9183144B2 (en) * 2012-12-14 2015-11-10 Intel Corporation Power gating a portion of a cache memory
US9110671B2 (en) * 2012-12-21 2015-08-18 Advanced Micro Devices, Inc. Idle phase exit prediction
US20140181553A1 (en) * 2012-12-21 2014-06-26 Advanced Micro Devices, Inc. Idle Phase Prediction For Integrated Circuits
US9395804B2 (en) * 2013-02-08 2016-07-19 International Business Machines Corporation Branch prediction with power usage prediction and control
DE102013106699B3 (de) * 2013-06-26 2014-02-27 Fujitsu Technology Solutions Intellectual Property Gmbh Computersystem mit einem Abwesenheitsmodus
US9250910B2 (en) 2013-09-27 2016-02-02 Intel Corporation Current change mitigation policy for limiting voltage droop in graphics logic
US9514715B2 (en) 2013-12-23 2016-12-06 Intel Corporation Graphics voltage reduction for load line optimization
US9851777B2 (en) 2014-01-02 2017-12-26 Advanced Micro Devices, Inc. Power gating based on cache dirtiness
US10289437B2 (en) 2014-01-07 2019-05-14 Red Hat Israel, Ltd. Idle processor management in virtualized systems via paravirtualization
US9720487B2 (en) * 2014-01-10 2017-08-01 Advanced Micro Devices, Inc. Predicting power management state duration on a per-process basis and modifying cache size based on the predicted duration
US10365936B2 (en) 2014-02-27 2019-07-30 Red Hat Israel, Ltd. Idle processor management by guest in virtualized systems
US9507410B2 (en) 2014-06-20 2016-11-29 Advanced Micro Devices, Inc. Decoupled selective implementation of entry and exit prediction for power gating processor components
US10114448B2 (en) 2014-07-02 2018-10-30 Intel Corporation Autonomous C-state algorithm and computational engine alignment for improved processor power efficiency
WO2016203647A1 (ja) * 2015-06-19 2016-12-22 株式会社日立製作所 計算機及び処理のスケジューリング方法
US9891695B2 (en) * 2015-06-26 2018-02-13 Intel Corporation Flushing and restoring core memory content to external memory
US20170039093A1 (en) * 2015-08-04 2017-02-09 Futurewei Technologies, Inc. Core load knowledge for elastic load balancing of threads
CN106055079B (zh) * 2016-05-31 2017-11-24 广东欧珀移动通信有限公司 一种中央处理器的管理方法、及装置
US10275008B2 (en) * 2016-09-22 2019-04-30 Intel Corporation Methods and apparatus to reduce computing device power consumption
US20180188797A1 (en) * 2016-12-29 2018-07-05 Intel Corporation Link power management scheme based on link's prior history
US11054883B2 (en) * 2017-06-19 2021-07-06 Advanced Micro Devices, Inc. Power efficiency optimization in throughput-based workloads
US10565079B2 (en) 2017-09-28 2020-02-18 Intel Corporation Determination of idle power state
US11119830B2 (en) * 2017-12-18 2021-09-14 International Business Machines Corporation Thread migration and shared cache fencing based on processor core temperature
US11275430B2 (en) 2018-08-28 2022-03-15 Advanced Micro Devices, Inc. Power management advisor to support power management control
US10817046B2 (en) * 2018-12-31 2020-10-27 Bmc Software, Inc. Power saving through automated power scheduling of virtual machines
US11740679B2 (en) 2020-09-08 2023-08-29 Micron Technology, Inc. Adaptive sleep transition techniques

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8224639B2 (en) * 2004-03-29 2012-07-17 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling
JP3914230B2 (ja) * 2004-11-04 2007-05-16 株式会社東芝 プロセッサシステム及びその制御方法
US20060156041A1 (en) * 2005-01-07 2006-07-13 Lee Zaretsky System and method for power management of plural information handling systems
US7924925B2 (en) * 2006-02-24 2011-04-12 Freescale Semiconductor, Inc. Flexible macroblock ordering with reduced data traffic and power consumption
JP2008191949A (ja) * 2007-02-05 2008-08-21 Nec Corp マルチコアシステムおよびマルチコアシステムの負荷分散方法
US7886172B2 (en) * 2007-08-27 2011-02-08 International Business Machines Corporation Method of virtualization and OS-level thermal management and multithreaded processor with virtualization and OS-level thermal management
US7934110B2 (en) * 2007-09-25 2011-04-26 Intel Corporation Dynamically managing thermal levels in a processing system
JP4649456B2 (ja) * 2007-09-26 2011-03-09 株式会社東芝 べき乗計算装置、べき乗計算方法及びプログラム
US20090150696A1 (en) * 2007-12-10 2009-06-11 Justin Song Transitioning a processor package to a low power state
US20090235108A1 (en) * 2008-03-11 2009-09-17 Gold Spencer M Automatic processor overclocking
JP2009251967A (ja) * 2008-04-07 2009-10-29 Toyota Motor Corp マルチコアシステム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI459400B (zh) * 2012-04-17 2014-11-01 Phison Electronics Corp 記憶體儲存裝置、及其記憶體控制器與電源控制方法
TWI649693B (zh) * 2013-10-09 2019-02-01 Arm股份有限公司 用於控制推測向量運算效能的資料處理設備、方法及電腦程式產品
US10261789B2 (en) 2013-10-09 2019-04-16 Arm Limited Data processing apparatus and method for controlling performance of speculative vector operations
TWI512623B (zh) * 2013-12-26 2015-12-11 Phison Electronics Corp 休眠模式啓動方法、記憶體控制電路單元及儲存裝置

Also Published As

Publication number Publication date
US8887171B2 (en) 2014-11-11
JP2011150694A (ja) 2011-08-04
JP5460565B2 (ja) 2014-04-02
DE102010054337B4 (de) 2016-09-15
CN102110025B (zh) 2016-04-27
CN102110025A (zh) 2011-06-29
CN105912303B (zh) 2018-11-13
DE102010054337A1 (de) 2011-06-30
US20110161627A1 (en) 2011-06-30
TWI525547B (zh) 2016-03-11
CN105912303A (zh) 2016-08-31

Similar Documents

Publication Publication Date Title
TW201140452A (en) Mechanisms to avoid inefficient core hopping and provide hardware assisted low-power state selection
US9904346B2 (en) Methods and apparatus to improve turbo performance for events handling
US8181047B2 (en) Apparatus and method for controlling power management by comparing tick idle time data to power management state resume time data
CN105183128B (zh) 强制处理器进入低功率状态
JP5688462B2 (ja) 処理ノードの動的パフォーマンス制御
TWI550518B (zh) 用於包括執行緒合併之能源效率及能源節約的方法、裝置及系統
JP5932044B2 (ja) 消費電力を低減する優先度に基づくアプリケーションイベント制御(paec)
US8291249B2 (en) Method and apparatus for transitioning devices between power states based on activity request frequency
TWI475369B (zh) 用於處理器中功率及性能權衡的設備、方法及系統
TW201015318A (en) Performance based cache management
KR20060031868A (ko) 다중 코어 프로세서 성능을 개선하기 위한 방법, 시스템 및장치
TW201205274A (en) Microprocessor, method of operating microprocessor and computer program product
Mittal et al. EnCache: Improving cache energy efficiency using a software-controlled profiling cache
ul Islam et al. Task aware hybrid DVFS for multi-core real-time systems using machine learning
Kahng et al. Many-core token-based adaptive power gating
Li et al. Operating system scheduling for efficient online self-test in robust systems
US20120173904A1 (en) Method, apparatus, and system for energy efficiency and energy conservation including determining an optimal power state of the apparatus based on residency time of non-core domains in a power saving state
Lukefahr et al. Exploring fine-grained heterogeneity with composite cores
Chakraborty et al. Prepare: P owe r-Awar e A p proximate Re a l-time Task Scheduling for Ene r gy-Adaptiv e QoS Maximization
Wang et al. Cache latency control for application fairness or differentiation in power-constrained chip multiprocessors
Park et al. A way-filtering-based dynamic logical–associative cache architecture for low-energy consumption
Niu et al. Leakage-aware scheduling for embedded real-time systems with (m, k)-constraints
US20200264925A1 (en) Systems, methods and devices for standby power savings
Shifer et al. Low-latency adaptive mode transitions and hierarchical power management in asymmetric clustered cores
Saha et al. DELICIOUS: Deadline-aware approximate computing in cache-conscious multicore