TWI725086B - 動態更新處理器的電源管理政策 - Google Patents

動態更新處理器的電源管理政策 Download PDF

Info

Publication number
TWI725086B
TWI725086B TW105140473A TW105140473A TWI725086B TW I725086 B TWI725086 B TW I725086B TW 105140473 A TW105140473 A TW 105140473A TW 105140473 A TW105140473 A TW 105140473A TW I725086 B TWI725086 B TW I725086B
Authority
TW
Taiwan
Prior art keywords
processor
logic
cores
core
power
Prior art date
Application number
TW105140473A
Other languages
English (en)
Other versions
TW201800898A (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 TW201800898A publication Critical patent/TW201800898A/zh
Application granted granted Critical
Publication of TWI725086B publication Critical patent/TWI725086B/zh

Links

Images

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/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • 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/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • 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)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Power Sources (AREA)

Abstract

在一實施例中,一種處理器包括邏輯,用以從複數個核心之至少若干者接收效能監控資訊,並根據電源管理模式來判定基於該效能監控資訊的該複數個核心之一或多者的效能狀態,及第二邏輯,用以接收該效能監控資訊,並根據增強學習過程來動態更新該電源管理模式。並說明及請求其他實施例。

Description

動態更新處理器的電源管理政策
實施例相關於系統之電源管理,且更明確地相關於多核心處理器之電源管理。
在半導體處理及邏輯設計中的演進令可存在於積體電路裝置上的邏輯之數量得以增加。結果導致電腦系統組態已經從系統中的單一或多積體電路發展成多硬體執行緒、多核心、多裝置、及/或在獨立積體電路上之完整系統。附加地,隨著積體電路之密度有所成長,針對計算系統(從嵌入式系統到伺服器)之電源需求亦已被提升。此外,軟體無效率及其硬體之需求亦已導致計算裝置能量消耗中的增加。事實上,若干研究指示計算裝置消耗了國家(諸如美國)整體電力供應的可觀大小百分比。結果導致有對與積體電路相關之能量效率及保存的嚴重需求。隨著伺服器、桌上型電腦、筆記型電腦、超薄型電腦(UltrabooksTM)、平板電腦、行動電話、處理器、嵌入式系統等趨向流行(從包括於典型電腦、車輛、及電視到 生物科技),這些需求將增加。
能量及電源效率在電腦系統(從小型可攜式裝置到大型資料中心)中係關鍵議題。然而,許多當代處理器典型最佳化於效能,而在能量/電源控制中的無效率較未被處理。在當代處理器中,電源管理通常由特別控制器執行。此控制器使用一模式以評估系統輸入諸如作為效能事件,以作出處理器電源狀態之決策。電源管理模式可係分析性或統計性的,但典型上係統計並需要系統之先驗知識。該模式在設計階段被研發並且在出貨後是無法改變。為了使該模式可有效運作橫跨廣泛範圍的應用,該模式被保守地設定,並且因此在許多情況中並非最佳的。
100‧‧‧系統
110‧‧‧處理器
120a-120n‧‧‧核心
125a-125n‧‧‧整合電壓調節器(IVR)
125x‧‧‧整合電壓調節器(IVR)
132‧‧‧輸入/輸出介面
134‧‧‧PCIe介面
136‧‧‧整合記憶體控制器(IMC)
138‧‧‧電源控制單元(PCU)
150‧‧‧電源供應器
160‧‧‧外部電壓調節器(VR)
200‧‧‧處理器
210a-210n‧‧‧核心
215‧‧‧互連
220‧‧‧非核心
230‧‧‧共享快取
240‧‧‧整合記憶體控制器
250a-250n‧‧‧介面
255‧‧‧電源控制單元
256‧‧‧工作量分類邏輯
300‧‧‧處理器
310‧‧‧核心域
3100-310n‧‧‧核心
320‧‧‧圖形域
330‧‧‧互連
3400-340n‧‧‧最終層級快取(LLC)
350‧‧‧系統代理器電路
352‧‧‧顯示器控制器
355‧‧‧電源控制單元
356‧‧‧工作量分類邏輯
370‧‧‧整合記憶體控制器(IMC)
3800-380n‧‧‧介面
400‧‧‧處理器
401‧‧‧核心
401a‧‧‧架構狀態暫存器
401b‧‧‧架構狀態暫存器
402‧‧‧核心
402a‧‧‧架構狀態暫存器
402b‧‧‧架構狀態暫存器
405‧‧‧匯流排介面
410‧‧‧較高層級存取
420‧‧‧分支目標緩衝器(BTB)及指示轉譯緩衝器(I-TLB)
421‧‧‧分支目標緩衝器(BTB)及指示轉譯緩衝器(I-TLB)
425‧‧‧解碼模組
426‧‧‧解碼模組
430‧‧‧更名器/分配器
431‧‧‧更名器/分配器
435‧‧‧重排序/退役單元
436‧‧‧重排序/退役單元
440‧‧‧排程器/執行單元
441‧‧‧排程器/執行單元
450‧‧‧較低層級資料快取及資料轉譯緩衝器(D-TLB)
451‧‧‧較低層級資料快取及資料轉譯緩衝器(D-TLB)
460‧‧‧電源控制器
470‧‧‧記憶體控制器
500‧‧‧處理器核心
501‧‧‧提取單元
503‧‧‧指令快取
505‧‧‧指令解碼器
510‧‧‧前端單元
515‧‧‧失序(OOO)引擎
520‧‧‧執行單元
522‧‧‧算數邏輯單元(ALU)
524‧‧‧向量執行單元(VEU)
530‧‧‧暫存器檔案
535‧‧‧擴充暫存器檔案
538‧‧‧機器特定暫存器(MSR)
540‧‧‧重排序緩衝器(ROB)
550‧‧‧快取
600‧‧‧核心
605‧‧‧分支預測子
610‧‧‧指令快取
615‧‧‧指令解碼器
618‧‧‧微碼ROM
620‧‧‧發出佇列(IQ)
630‧‧‧浮點管線
632‧‧‧浮點(FP)暫存器檔案
634‧‧‧浮點排程器
635‧‧‧算數邏輯單元(ALU)
636‧‧‧混洗單元
638‧‧‧浮點加法器
640‧‧‧整數管線
642‧‧‧整數暫存器檔案
644‧‧‧整數排程器
645‧‧‧算數邏輯單元(ALU)
646‧‧‧移位器單元
648‧‧‧跳越執行單元(JEU)
650‧‧‧記憶體執行(ME)排程器
652‧‧‧位址產生單元(AGU)
654‧‧‧轉譯緩衝器(TLB)
660‧‧‧資料快取
670‧‧‧分配器/更名器
680‧‧‧重排序緩衝器
700‧‧‧核心
710‧‧‧提取單元
715‧‧‧解碼單元
725‧‧‧發出邏輯
730‧‧‧佇列
735‧‧‧整數單元
740‧‧‧乘法單元
750‧‧‧浮點/向量單元
760‧‧‧雙發出單元
770‧‧‧載入/儲存單元
780‧‧‧寫回單元
800‧‧‧核心
810‧‧‧提取單元
815‧‧‧解碼器/更名器/調度器
820‧‧‧快取
825‧‧‧佇列
830‧‧‧發出邏輯
835‧‧‧整數單元
840‧‧‧乘法單元
850‧‧‧浮點/向量單元
860‧‧‧分支單元
870‧‧‧載入/儲存單元
880‧‧‧寫回單元
900‧‧‧處理器
9100-910n‧‧‧核心單元
920‧‧‧圖形單元
925‧‧‧影像訊號處理器
930‧‧‧非揮發性儲存器
935‧‧‧記憶體控制器
940‧‧‧電源管理器
945‧‧‧安全處理器
950‧‧‧視訊編碼器
955‧‧‧顯示器控制器
960a‧‧‧介面(I/F)
960b‧‧‧介面(I/F)
960c‧‧‧介面(I/F)
960d‧‧‧介面(I/F)
1000‧‧‧系統單晶片(SoC)
1010‧‧‧第一核心域
10120-10123‧‧‧第一核心
1015‧‧‧快取記憶體
1020‧‧‧第二核心域
10220-10223‧‧‧第二核心
1025‧‧‧快取記憶體
1030‧‧‧GPU域
1040‧‧‧同調互連
1050‧‧‧記憶體控制器
1100‧‧‧系統單晶片(SoC)
1110‧‧‧CPU域
1120‧‧‧GPU域
1130‧‧‧DSP單元
1140‧‧‧通訊單元
1150‧‧‧多媒體處理器
1160‧‧‧感測器單元
1170‧‧‧影像訊號處理器
1180‧‧‧顯示器處理器
1190‧‧‧位置單元
1200‧‧‧系統
1205‧‧‧基頻處理器
1210‧‧‧應用處理器
1215‧‧‧電源管理積體電路(PMIC)
1220‧‧‧使用者介面(UI)/顯示器
1225‧‧‧感測器
1230‧‧‧快閃記憶體
1235‧‧‧動態隨機存取記憶體(DRAM)
1240‧‧‧擷取裝置
1245‧‧‧通用積體電路卡(UICC)
1250‧‧‧安全處理器
1260‧‧‧近場通訊(NFC)無接觸式介面
1265‧‧‧近場通訊(NFC)天線
1270‧‧‧射頻(RF)收發器
1275‧‧‧無線區域網路(WLAN)收發器
1280‧‧‧GPS感測器
1290‧‧‧天線
1295‧‧‧音訊輸出裝置
1300‧‧‧系統
1310‧‧‧系統單晶片(SoC)
1320‧‧‧觸控面板
1325‧‧‧週邊集線器
1330‧‧‧乙太網路介面
1340‧‧‧快閃記憶體
1345‧‧‧動態隨機存取記憶體(DRAM)
1350‧‧‧無線區域網路(WLAN)單元
1355‧‧‧天線
1360‧‧‧感測器
1365‧‧‧音訊編解碼器
1370‧‧‧音訊輸出裝置
1380‧‧‧電源管理積體電路(PMIC)
1390‧‧‧電池
1395‧‧‧AC轉接器
1400‧‧‧系統
1410‧‧‧處理器
1415‧‧‧系統記憶體
1420‧‧‧大容量儲存器
1422‧‧‧快閃裝置
1424‧‧‧顯示器
1425‧‧‧觸控螢幕
1430‧‧‧觸控板
1435‧‧‧嵌入式控制器
1436‧‧‧鍵盤
1437‧‧‧風扇
1438‧‧‧可信賴平台模組(TPM)
1439‧‧‧熱感測器
1440‧‧‧感測器集線器
1441‧‧‧加速器
1442‧‧‧環境光感測器(ALS)
1443‧‧‧羅盤
1444‧‧‧陀螺儀
1445‧‧‧NFC單元
1446‧‧‧熱感測器
1450‧‧‧無線區域網路(WLAN)單元
1452‧‧‧藍芽單元
1454‧‧‧照相機模組
1455‧‧‧GPS模組
1456‧‧‧WWAN單元
1457‧‧‧訂閱者身分模組(SIM)
1460‧‧‧數位訊號處理器(DSP)
1462‧‧‧整合編碼器/解碼器(CODEC)及放大器
1463‧‧‧輸出揚聲器
1464‧‧‧耳機插口
1465‧‧‧麥克風
1500‧‧‧多處理器系統
1514‧‧‧輸入/輸出(I/O)裝置
1516‧‧‧第一匯流排
1518‧‧‧匯流排橋接器
1520‧‧‧第二匯流排
1522‧‧‧鍵盤/滑鼠
1524‧‧‧音訊I/O
1526‧‧‧通訊裝置
1528‧‧‧資料儲存單元
1530‧‧‧碼
1532‧‧‧記憶體
1534‧‧‧記憶體
1538‧‧‧高效能圖形引擎
1539‧‧‧點對點(P-P)互連
1550‧‧‧點對點(P-P)互連
1562‧‧‧點對點(P-P)互連
1564‧‧‧點對點(P-P)互連
1570‧‧‧第一處理器
1572‧‧‧記憶體控制器集線器(MCH)
1574a‧‧‧處理器核心
1574b‧‧‧處理器核心
1576‧‧‧點對點(P-P)介面
1578‧‧‧點對點(P-P)介面
1580‧‧‧第二處理器
1582‧‧‧記憶體控制器集線器(MCH)
1584a‧‧‧處理器核心
1584b‧‧‧處理器核心
1586‧‧‧點對點(P-P)介面
1588‧‧‧點對點(P-P)介面
1590‧‧‧晶片組
1592‧‧‧介面(I/F)
1594‧‧‧點對點(P-P)介面
1596‧‧‧介面(I/F)
1598‧‧‧點對點(P-P)介面
1600‧‧‧電源控制邏輯
1610‧‧‧效能特徵緩衝器
1620‧‧‧預測邏輯
1630‧‧‧控制邏輯
1700‧‧‧處理器
17100-1710n‧‧‧核心
1720‧‧‧快取記憶體
1730‧‧‧內部記憶體
1750‧‧‧電源控制器
1760‧‧‧特徵緩衝器
1770‧‧‧效能/能量模式邏輯
1780‧‧‧組態儲存器
1790‧‧‧電源組態選擇器
1792‧‧‧歷史邏輯
1794‧‧‧影響邏輯
1795‧‧‧更新邏輯
2100‧‧‧處理器
2110‧‧‧電源控制器
2112‧‧‧電源控制邏輯
2114‧‧‧電源管理(PM)模式
2116‧‧‧增強學習(RL)邏輯
2200‧‧‧系統
2210‧‧‧代理器
2220‧‧‧環境
2400‧‧‧增強學習(RL)硬體邏輯
2410‧‧‧預處理器
2415‧‧‧硬體緩衝器
2420‧‧‧查詢邏輯
2422‧‧‧相鄰計算邏輯
2425‧‧‧硬體緩衝器
2430‧‧‧θ(theta)計算邏輯
2432‧‧‧Q值計算邏輯
2435‧‧‧硬體緩衝器
2440‧‧‧θ更新邏輯
2442‧‧‧標準型態更新邏輯
2445‧‧‧硬體緩衝器
2450‧‧‧Q最大值判定邏輯
2460‧‧‧標準型態表
圖1係根據本發明之實施例的系統之一部分的方塊圖。
圖2係根據本發明之實施例的處理器的方塊圖。
圖3係根據本發明之另一實施例的多域處理器的方塊圖。
圖4係包括多核心之處理器的實施例。
圖5係根據本發明之一實施例的處理器核心之微架構的方塊圖。
圖6係根據另一實施例的處理器核心之微架構的方塊圖。
圖7係根據又另一實施例的處理器核心之微架構的方 塊圖。
圖8係根據仍進一步實施例的處理器核心之微架構的方塊圖。
圖9係根據本發明之另一實施例的處理器的方塊圖。
圖10係根據本發明之實施例的代表性SoC的方塊圖。
圖11係根據本發明之實施例的另一例示性SoC的方塊圖。
圖12係可使用實施例之例示性系統的方塊圖。
圖13係可使用實施例之另一例示性系統的方塊圖。
圖14係代表性電腦系統的方塊圖。
圖15係根據本發明之實施例的系統的方塊圖。
圖16係根據本發明之實施例的電源控制邏輯的方塊圖。
圖17係根據本發明之另一實施例的包括硬體電源控制邏輯之處理器的方塊圖。
圖18係根據本發明之實施例的用於控制處理器之電源消耗之方法的流程圖。
圖19係根據本發明之另一實施例的用於控制處理器之電源消耗之方法的流程圖。
圖20係根據本發明之實施例的用於更新經訓練的模式參數之方法的流程圖。
圖21係根據另一實施例的處理器的高層級方塊圖。
圖22係根據本發明之實施例的增強學習系統的方塊 圖。
圖23係根據實施例的增強學習方法的流程圖。
圖24係根據本發明之實施例的增強學習硬體邏輯的方塊圖。
【發明內容及實施方式】
在各種實施例中,用於處理器之智慧多核心電源管理控制器被提供,其即時學習工作量特徵並動態地調整電源組態以根據能量提供最佳化效能。在一實施例中,此類電源組態包括有效核心及執行緒的數量,以及用於各有效核心之最佳化電壓及頻率。在各種實施例中,機器學習基礎效能及能量模式識別諸如密集記憶體存取之特定工作量行為並預測最佳化電源控制,包括在記憶體資源飽和(saturate)時將一或多核心置於閒置或低電源狀態。
在一實施例中,使用判定最佳化電源組態之政策及用以將經決策之組態應用到基本系統之機制來組態電源管理控制器。此類政策可包括由專家研發之試探式(heuristics),及/或下線/上線機器學習方案,且可進一步包括數個使用者層級及作業系統(OS)層級核心到執行緒管理機制。
在各種實施例中,處理器之電源控制器的電源管理模式可被動態地更新,例如在處理器已被釋出於市面上之後。以此方式,可為了在處理器上執行給定工作量/應用而動態調整電源管理及效能之平衡。在各種實施例中,增 強學習演算法可被使用以動態地(線上)更新該電源管理模式。
本增強學習(RL)實作可係可攜式、適應性及無模式之RL方法,以將最佳化政策使用於運行期間之任意系統及工作量有所演進,例如,以使總體能量消耗最小化到參數化的效能限制之下。
本文所述電源管理控制器可被組態以僅將所需資源分配給工作量,使得效能及能量效率可被最大化。例如,在完全運用所有的計算資源之前,受記憶體限制的工作量使記憶體資源(諸如頻寬或佇列)飽和。若執行此類工作量時所有的執行緒及核心都是有效(active),則結果將導致效率為差。由於諸如增加的同步管理負擔之各種原因,若干受計算限制工作量亦受經妥協的縮放性影響。實施例等效地應用於在核心中創造鬆弛(slack)之其他工作量,使得該核心變得不常運用的。其他例示性工作量包括I/O或受網路限制之工作量。實施例可因此識別用於不同工作量之最佳電源組態。舉例而言,特定工作量可被識別,且針對該工作量之不常運用資源可被斷電或以降低消耗層級操作,以在不負面地影響效能之前提下賦能顯著能量節約。
在一實施例中,針對工作量之最佳電源組態界定了執行緒及核心、執行單元之最佳數量、與電壓及頻率等。此電源組態取決於許多參數,包括運行期間工作量行為及系統電源狀態兩者。此外,當考慮到在電源狀態之間轉換期間發生的管理負擔(overhead)時,該選擇處理甚至變得更 為複雜。單一固定的控制政策難以適用於各種工作量及不同系統。因此,實施例提供一組不同模式用來評估,且提供智慧選擇器以從該等識別模式中選擇。此將賦能多控制政策及在運行期間的有彈性選擇。因此實施例可被使用以同時對各工作量判定最佳化電源組態(例如,核心/執行緒之數量、及電壓/頻率),而非基於單一效能/能量預測模式之預定義控制政策。
針對在多核心處理器中為浪費能量的記憶體密集之工作量(其在完全運用計算資源之前將記憶體資源飽和),實施例操作以節省能量而不負面地影響其效能。實施例可識別此類行為並將不常運用之核心斷電,以提供節省能量之功能而不犧牲效能。
在一些實施例中,異質多處理器可包括兩種不同類型的核心:一種核心類型最佳化用於計算;而另一種核心類型最佳化用於記憶體存取。在一實例中,兩種類型之核心實作相同的指令集架構(ISA),但具有不同微架構,其可能促進該等核心類型之間的執行緒遷移。
程式之受計算限制相位及受記憶體限制相位可具有極為不同的處理器需求,其無法被單一核心類型最佳化。舉例而言,最佳化用於計算工作量之同質多處理器可將目標定為以可維持每核心每週期一積和熔加運算(FMA)的頻率運行之最高核心計數。然而,此多處理器在程式相位期間可能不係非常節能,在該相位期間主要在等待記憶體回覆。這是為了,如在受記憶體限制相位期間,核心主要係 閒置等待記憶體存取,但該閒置時間可能沒有長到可以保證將核心置於低電源狀態。結果導致高頻之該閒置核心可消耗不必要電源。
如此,實施例提供包括對不同操作點最佳化的二或更多專用核心類型之異質多處理器。在本文所述實例中,提供兩種核心類型:一為計算最佳化核心(亦以偏計算式核心來參照);且一為記憶體最佳化核心(亦以偏記憶體式核心來參照)。然而應瞭解本發明之範圍並未限制於2種核心類型,且在其他情況中可存在最佳化用於其他工作量類型之附加核心類型。
雖然參照在特定積體電路(諸如在計算平台或處理器)中的能量節約及能量效率來說明以下實施例,但其它實施例可應用於其他類型之積體電路及邏輯裝置。本文所述實施例之相似技術及教義可應用於亦可受益於較佳能量效率及能量節約的其他類型之電路或半導體裝置。舉例而言,所揭示實施例並未受限於任何特定類型之電腦系統。亦即,所揭示實施例可使用於許多不同系統類型,範圍包括從伺服器電腦(例如,塔型伺服器、機架型伺服器、刀鋒型伺服器、及微伺服器等)、通訊系統、儲存系統、任何組態之桌上型電腦、膝上型電腦、筆記型電腦、到平板電腦(包括,2:1平板電腦及平板手機等),且亦可被使用於其他裝置中,諸如手持裝置、系統單晶片(SoC)、及嵌入式應用。手持裝置之一些實例包括諸如智慧型電話之蜂巢式電話、網際網路協定裝置、數位照相機、個人數位助理 (PDA)、及手持PC。嵌入式應用典型上包括微控制器、數位訊號處理器(DSP)、網路電腦(NetPC)、機上盒、網路集線器、廣域網路(WAN)切換器、可穿式裝置、或任何其他可執行下述功能及操作之系統。此外,實施例可被實作於具有標準語音功能性之行動終端中,諸如行動電話、智慧型手機、及平板手機;及/或實作於不具有標準無線語音功能通訊能力之非行動終端終,諸如許多穿戴式裝置、平板電腦、筆記型電腦、桌上型電腦、微伺服器、及伺服器等。另外,本文所述設備、方法、及系統未限於實體計算裝置,亦可相關於針對能量節約及能量效率之軟體最佳化。如同將於以下說明趨向明顯地,本文所述方法、設備、及系統之實施例(不論係參照硬體、韌體、軟體、或其組合)對「綠色科技」的未來係不可或缺的,諸如用於在涵蓋美國經濟大部分的產品中之電源節約及能量效率。
現在參照圖1,所顯示係根據本發明之實施例的系統之一部分的方塊圖。如圖1所示,系統100可包括各種組件,包括顯示為係多核心處理器之處理器110。處理器110可經由外部電壓調節器160被耦接到電源供應器150,該電壓調節器160可執行第一電壓轉換以提供主要調節電壓到處理器110。
如所示一般,處理器110可係包括多核心120a-120n之單一晶粒處理器。此外,各核心可結合整合電壓調節器(IVR)125a-125n,其接收主要調節電壓並產生將被供應到 與IVR結合之處理器的一或多代理器之操作電壓。據此,IVR實作可被提供以允許電壓之精細顆粒(fine-grained)控制,並因此可控制各獨立核心之電源及效能。如此,各核心可在獨立電壓及頻率上操作,賦能很大的彈性並提供廣泛機會用於平衡電源消耗與效能。在若干實施例中,多IVR之使用賦能了將組件分組成獨立電源面(power plane),使得電源被調節且僅被IVR供應到該群組中的那些組件。在電源管理期間,當處理器被置於特定低電源狀態時,一IVR之給定電源面可被關機或斷電,但另一IVR之另一電源面仍保持有效或完全供電的。
仍參照圖1,附加組件可存在於處理器之內,包括輸入/輸出介面132、另一介面134、及整合記憶體控制器136。如所示,此些組件之各者可被另一整合電壓調節器125x供電。在一實施例中,介面132可為用於Intel®快速通道互連(QPI)互連之賦能操作,該互連提供用於快取同調協定中的點對點(PtP)鏈路,該協定包括多層,包含實體層、鏈路層級協定層。隨後,介面134可經由週邊組件互連特快(PCIeTM)協定來通訊。
所示為電源控制單元(PCU)138,其可包括硬體、軟體及/或韌體,以執行相關於處理器110之電源管理操作。如所示,PCU 138經由數位介面提供控制資訊到外部電壓調節器160,以導致該電壓調節器產生適當調節的電壓。PCU 138亦經由另一數位介面提供控制資訊到IVR 125,以控制所產生的操作電壓(或用以導致對應IVR於低電源 模式中被去能)。在各種實施例中,PCU 138可包括多種的電源管理邏輯單元以執行硬體為基的電源管理。此類電源管理可全然被處理器控制(例如,被各種處理器硬體控制,且其可被工作量及/或電源、熱能、或其他處理器限制觸發)及/或該電源管理可回應於外部源而被執行(諸如平台或管理電源管理源或系統軟體)。如本文所進一步說明的,PCU 138可包括控制邏輯以基於被執行的工作量類型而執行工作量分類,並至少部分基於該工作量類型而導致對潛在不同數目的核心(且潛在地不同效能狀態)執行該工作量。
雖然為了易於說明而未示出,但應瞭解附加組件可存在於處理器110內,諸如非核心邏輯、及諸如內部記憶體之其他組件,例如一或多層級之快取記憶體階層等。此外,雖然以整合電壓調節器顯示於圖1之實作中,但實施例未如此限制。
應注意本文所述電源管理技術可獨立於且互補於作業系統(OS)為基之電源管理(OSPM)機制。根據一例示OSPM技術,處理器可於各種效能狀態或層級(所謂P狀態,亦即從P0到PN)操作。一般而言,P1效能狀態可對應於可由OS請求之最高保證效能狀態。除P1狀態之外,OS可進一步請求更高效能狀態,亦即P0狀態。此P0狀態可因此係伺機性或加速(turbo)模式狀態,其中當電源及/或熱預算係可用時,處理器硬體可組態該處理器或其至少部分以在比保證頻率更高的頻率操作。在許多實 作中,處理器可包括多個所謂槽頻率在P1保證最大頻率之上,超越特定處理器之最大峰頻率,如在製造期間併入(fused)或另外寫入到處理器之中。此外,根據一OSPM機制,處理器可於各種電源狀態或層級操作。有鑒於電源狀態,OSPM機制可指定不同電源消耗狀態,一般指作C狀態、C0、C1到Cn狀態。當核心係有效時,其在C0狀態上運行,且當該核心係閒置時,其被置於核心低電源狀態,亦稱作核心非零C狀態(例如,C1-C6狀態),其中各C狀態係在更低的電源消耗層級(諸如C6係較C1更為低電源狀態,等)。
應瞭解許多不同類型之電源管理技術可被獨立地使用或組合地使用於不同實施例中。作為代表性實例,電源控制器可控制將被若干形式之動態電壓頻率縮放(DVFS)電源管理之處理器,其中在特定情形下,一或多核心或其他處理器邏輯之操作電壓及/或操作頻率可被動態地控制以降低電源消耗。作為一實例,可使用Enhanced Intel SpeedStepTM技術來執行DVFS,該技術可從加州聖克拉拉之Intel公司獲得,以提供在最低電源消耗層級之最佳化效能。在另一實例中,可使用Intel TurboBoostTM技術來執行DVFS,以基於條件(例如工作量及可用性)來賦能一或多核心或其他計算引擎用以在高於保證操作頻率之頻率上操作。
另一可被使用於特定實例中之電源管理技術係在不同計算引擎之間工作量之動態置換。舉例而言,處理器可包 括非對稱核心或其他處理引擎,其在不同電源消耗層級上操作,諸如在電源限制情形中,一或多工作量可被動態切換以在較低電源核心或其他計算引擎上執行。另一例示性電源管理技術係硬體工作循環(HDC),其可能導致核心及/或其他計算引擎根據工作週期而被週期性地賦能及去能,使得一或多核心可在工作週期之無效期間保持無效且在工作週期之有效期間保持有效。雖然描述多種特定實例,但應瞭解許多其他電源管理技術可用於特定實施例中。
實施例可被實作於用於各種市場之處理器中,包括伺服器處理器、桌上型處理器、行動處理器等。現在參照圖2,所顯示係根據本發明之實施例的處理器的方塊圖。如圖2所示,系統200可係多核心處理器,包括複數個核心210a-210n。在一實施例中,各個此類核心可係獨立電源域,且可經組態成基於工作量而進入及離開有效狀態及/或最大效能狀態。可經由互連215將各種核心耦接到系統代理器或包括各種組件之非核心220。如所示,非核心220可包括共享快取230,其可係最終層級快取。此外,非核心可包括整合記憶體控制器240,以例如經由記憶體匯流排而與系統記憶體(未示於圖2)通訊。非核心220亦包括各種介面250及電源控制單元255,其可包括工作量分類邏輯256(其可包括或結合機器學習邏輯),用以將正被執行之工作量分類並至少部分基於其而執行數個核心及/或效能狀態之動態控制,如本文所述。
此外,藉由使用介面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,其可包括工作量分類邏輯356(其本身包括機器學習邏輯),用以執行工作量分類為基之執行緒遷移及如本文所述之電源控制技術。
如圖3中進一步所示,處理器300可進一步包括整合記憶體控制器(IMC)370,其可提供到諸如動態隨機存取記憶體(DRAM)的系統記憶體之介面。多介面3800-380n可存在以賦能處理器及其他電路之間的互連。舉例而言在一實施例中,至少一直接媒體介面(DMI)介面以及一或多PCIeTM介面可被提供。仍進一步所示,為了提供其他諸如附加處理器或其他電路之代理器之間的通訊,亦提供一或多QPI介面。雖然以此高層級(high level)地顯示於圖3之實施例中,但應瞭解本發明之範疇並未受限於此。
參照圖4,說明包括多核心之處理器的實施例。處理器400包括任何處理器或處理裝置,諸如微處理器、嵌入式處理器、數位訊號處理器(DSP)、網路處理器、手持式處理器、應用處理器、共處理器、系統單晶片(SoC)、或其他裝置,以執行碼。在一實施例中,處理器400包括至少兩核心一核心401及402,其可包括非對稱核心或對稱核心(所說明之實施例)。然而,處理器400可包括任何數量的對稱或非對稱處理元件。
在一實施例中,處理元件係參照硬體或邏輯以支援軟體執行緒。硬體處理元件之實例包括:執行緒單元、執行緒槽、執行緒、處理單元、配置(context)、配置單元、邏輯處理器、硬體執行緒、核心、及/或能為處理器保持一狀態(諸如執行狀態或架構狀態)之任何其他元件。換言之,在一實施例中,處理元件係參照能夠與碼(諸如軟體執行緒、作業系統、應用程式、或其他碼)獨立地結合之任何硬體。實體處理器典型上參照潛在包括任意數量的其他處理元件(諸如核心或硬體執行緒)之積體電路。
核心通常參照位於積體電路上能夠維持獨立架構狀態之邏輯,其中各獨立維持的架構狀態係與至少若干專用執行資源相關。與核心相比之下,硬體執行緒典型地參照位於積體電路上能夠維持獨立架構狀態之任何邏輯,其中該獨立維持的架構狀態共享到執行資源之存取。如所示,當特定資源被共享且其它資源係專用於架構狀態時,硬體執行緒與核心的命名之界線模糊。仍通常地,核心及硬體執行緒被作業系統視作獨立邏輯處理器,其中作業系統能夠獨立地排程操作在各邏輯處理器上。
如圖4中所說明的,實體處理器400包括兩核心,核心401及402。在此,核心401及402被認為係對稱核心,亦即具有相同組態、功能單元、及/或邏輯之核心。在另一實施例中,核心401包括失序處理器核心,而核心402包括有序處理器核心。然而核心401及402可係獨立地選自任何類型的核心,諸如本機核心(native core)、軟 體管理核心、適用以執行本機指令集架構(ISA)之核心、適用以執行轉譯ISA之核心、共設計核心、或其它已知核心。仍進一步討論,於核心401中說明的功能單元將於下文中被更詳細說明,因為核心402中的單元係以類似方式操作。
如所示,核心401包括兩個硬體執行緒401a及401b,其亦可被參照為硬體執行緒槽401a及401b。此外,諸如作業系統之軟體實體,於一實施例中潛在地視處理器400為四個獨立處理器,亦即能夠同時執行四個軟體執行緒之四個處理元件或邏輯處理器。如上文所暗示,第一執行緒係與架構狀態暫存器401a相關,第二執行緒係與架構狀態暫存器401b相關,第三執行緒係與架構狀態暫存器402a相關,及第四執行緒係與架構狀態暫存器402b相關。在此,各架構狀態暫存器(401a、401b、402a、及402b)可被參照為處理元件、執行緒槽、或執行緒單元,如上述。如所說明,架構狀態暫存器401a被複製於架構狀態暫存器401b中,使得能夠針對邏輯處理器401a及邏輯處理器401b儲存獨立架構狀態/配置(context)。在核心401中,其他較小資源,諸如在分配器及更名器430方塊中的指令指標與更名邏輯亦可針對執行緒401a及401b而被複製。諸如重排序/退役單元435中的重排序緩衝器、I-TLB 420、載入/儲存緩衝器、及佇列之一些資源可透過分割而被共享。其他資源,諸如通用內部暫存器、頁表為基暫存器、低層級資料快取及資料TLB 415、執行單元440、及失序單元435之部分被潛在地完全共享。
處理器400一般包括其他資源,其可被完全共享、透過分割共享、或被處理元件專用/專用於處理元件。在圖4中,說明具有說明性的處理器之邏輯單元/資源之純例示性處理器的實施例。應注意,處理器可包括或省略此些功能單元之任意者,以及包括未述及之任何其他已知功能單元、邏輯、或韌體。如所說明,核心401包括簡化代表性地失序(OOO)處理器核心。但是有序處理器可被運用於不同實施例中。OOO核心包括分支目標緩衝器420,用以預測要被執行/採取之分支;以及包括指示轉譯緩衝器(I-TLB)420,用以儲存針對指令之位址轉譯條目。
核心401進一步包括耦接到提取單元420之解碼模組425,用以解碼所提取之元件。在一實施例中,提取邏輯包括個別與執行緒槽401a、401b相關之獨立定序器。一般而言,核心401係與第一ISA相關,其界定/指定要在處理器400上執行的指令。通常係第一ISA之部分的機械碼指令包括指令之一部分(參照為運算碼),其參照/指定要被執行之指令或操作。解碼邏輯425包括將此些指令從其運算碼辨識並將經解碼指令遞送到管線中用於如由第一ISA所界定般地處理之電路。舉例而言,在一實施例中,解碼器425包括設計成或適用於辨識特定指令(諸如交易指令)之邏輯。由解碼器425辨識之結果為,架構或核心401採取特定、預定義動作來執行與適當指令相關之工 作。重要地係要注意本文所述之工作、方塊、操作、及方法之任意者可回應於單一或多指令(其中若干者可係新的或舊的指令)而被執行。
在一實施例中,分配器及更名器方塊430包括分配器用以保留資源,諸如用以儲存指令處理結果之暫存器檔案。然而,執行緒401a及401b潛在能夠執行失序執行,其中分配器及更名器方塊430亦保留其它資源,諸如用以追蹤指令結果之重排序緩衝器。單元430亦可包括暫存器更名器以將程式/指令參考暫存器更名成其他在處理器400內部的暫存器。重排序/退役單元435包括組件,諸如上述重排序緩衝器、載入緩衝器、及儲存緩衝器,用以支援失序執行及稍後失序執行指令的有序退役。
在一實施例中,排程器及執行單元方塊440包括排程器單元,用以將指令/操作排程於執行單元上。舉例而言,浮點指令被排程於執行單元之具有可用浮點執行單元的一埠上。與執行單元相關之暫存器檔案亦被包括,以儲存資訊指令處理結果。例示性執行單元包括浮點執行單元、整數執行單元、跳越執行單元、載入執行單元、儲存執行單元、及其他已知執行單元。
較低層級資料快取及資料轉譯緩衝器(D-TLB)450被耦接到執行單元440。資料快取係用以儲存最近使用/操作於元件上,諸如資料運算元,其潛在地保持在記憶體同調性狀態中。該D-TLB係用以儲存最近虛擬/線性到實體位址轉譯。作為特定實例,處理器可包括頁表結構,以將實 體記憶體打散成複數個虛擬頁面。
在此,核心401及402共享到較高層級或進一步快取410之存取,該快取係用以將最近提取元件快取。應注意,較高層級或進一步係指增加或遠離執行單元之快取層級。在一實施例中,較高層級快取410係最終層級資料快取-在處理器400上記憶體階層中的最終快取-諸如第二或第三層級資料快取。然而,較高層級快取410並未如此受限,因為其可能與指令快取結合或可能包括指令快取。追蹤快取-一種類型之指令快取-取而代之可能被耦接在解碼器425後以儲存最近解碼之追蹤。
在所述組態中,處理器400亦包括匯流排介面模組405及電源控制器460,其可根據本發明之實施例執行電源管理。在此情境中,匯流排介面405係用以與在處理器400外部之裝置通訊,諸如系統記憶體及其他組件。
記憶體控制器470可與其他裝置(諸如一或多記憶體)介接。在實例中,匯流排介面405包括環狀互連,其具有用於與記憶體介接之記憶體控制器及具有用於與圖形處理器介接之圖形控制器。在SoC環境中,諸如網路介面、共處理器、記憶體、圖形處理器、及任何其他已知電腦裝置/介面之甚至更多的裝置可被整合於單一晶粒或積體電路上,以提供具有高功能性及低電源消耗之小的形狀因子。
現在參照圖5,其顯示根據本發明之一實施例的處理器核心之微架構的方塊圖。如圖5所示,處理器核心500可係多階管線的失序處理器。核心500可基於所接收的操 作電壓而在各種電壓上操作,該所接收操作電壓可從整合電壓調節器或外部電壓調節器接收。
如圖5所示,核心500包括前端單元510,其可被使用以提取將被執行之指令,並將其準備用於稍後在處理器管線中使用。舉例而言,前端單元510可包括提取單元501、指令快取503、及指令解碼器505。在若干實作中,前端單元510可進一步包括追蹤快取,還包括微碼儲存器以及微操作儲存器。提取單元501可例如從記憶體或指令快取503提取巨集指令(macro-instruction),並將其饋送到指令解碼器505以將其解碼成基元(primitives),亦即用於由處理器執行之微操作。
耦接在前端單元510與執行單元520之間的係失序(OOO)引擎515,其可被使用以接收微指令並準備其用於執行。更明確地,OOO引擎515可包括各種緩衝器,用以重排序微指令流並分配各種用於執行所需之資源,以及提供邏輯暫存器之更名到各種暫存器檔案內儲存器位置上,諸如暫存器檔案530及擴充暫存器檔案535。暫存器檔案530可包括獨立暫存器檔案用於整數及浮點運算。為了組態、控制、及附加操作之目的,一組機器特定暫存器(MSR)538亦可存在且可存取至核心500內(及在核心外部)之各種邏輯。舉例而言,電源限制資訊可被儲存在一或多MSR中且可如本文所述地被動態更新。
各種資源可存在於執行單元520中,舉例而言包括在其他專用硬體中的各種整數、浮點、及單一指令多資料 (SIMD)邏輯單元。舉例而言,此類執行單元可包括在其他此類執行單元中的一或多算數邏輯單元(ALU)522,及一或多向量執行單元524。
來自執行單元之結果可被提供到退役邏輯,亦即重排序緩衝器(ROB)540。更明確而言,ROB 540可包括各種陣列及邏輯以接收與被執行指令相關之資訊。此資訊接著被ROB 540檢查以判定該指令是否可被有效地退役且結果資料被提交給處理器之架構狀態,或是否發生一或多阻止指令適當退役之例外。當然,ROB 540可處理與退役相關之其他操作。
如於圖5中所示,ROB 540係耦接到快取550,其在一實施例中可係低層級快取(例如,L1快取),雖然本發明之範疇並未限於此方面。再者,執行單元520可直接耦接到快取550。從快取550開始,可發生與較高層級快取、系統記憶體等之資料通訊。雖然以此高層級顯示於圖5之實施例中,但應瞭解本發明之範疇並未受限於此。舉例而言,雖然圖5之實作係相關於諸如Intel® x86指令集架構(ISA)之失序機器,本發明之範疇並未受限於此。亦即,其他實施例可被實作於有序處理器中、諸如ARM為基處理器的精簡指令集計算(RISC)處理器中、或可經由仿真引擎及相關邏輯電路仿真不同ISA之指令及操作的其他類型ISA之處理器中。
現在參照圖6,其顯示根據另一實施例的處理器核心之微架構的方塊圖。在圖6之實施例中,核心600可係不 同微架構之低電源核心,諸如具有相對受限管線深度設計成用以降低電源消耗之Intel® AtomTM為基之處理器。如所示,核心600包括指令快取610,其耦接以提供指令到指令解碼器615。分支預測子605可被耦接到指令快取610。應注意指令快取610可進一步耦接到另一層級之快取記憶體,諸如L2快取(為了易於說明而未示出於圖6中)。隨後,指令解碼器615提供解碼指令到發出佇列620用於儲存並傳送到給定執行管線。微碼ROM 618係耦接到指令解碼器615。
浮點管線630包括浮點暫存器檔案632,其可包括複數個給定位元(諸如128、256或512位元)之架構暫存器。管線630包括浮點排程器634,用以將指令排程用於執行於管線的多執行單元之一者上。在所顯示實施例中,此類執行單元包括ALU 635、混洗單元636、及浮點加法器638。隨後,產生於此些執行單元中的結果可被提供回到暫存器檔案632之暫存器及/或緩衝器。理當瞭解到雖然顯示此些些許例示執行單元,但附加或不同浮點執行單元可存在於其他實施例中。
整數管線640亦可被提供。在所示實施例中,管線640包括整數暫存器檔案642,其可包括複數個給定位元(諸如128或256位元)之架構暫存器。管線640包括整數排程器644,用以將指令排程用於執行於管線的多執行單元之一者上。在所顯示實施例中,此類執行單元包括ALU 645、移位器單元646、及跳越執行單元648。隨後,產生 於此些執行單元中的結果可被提供回到暫存器檔案642之暫存器及/或緩衝器。理當瞭解到雖然顯示此些些許例示執行單元,但附加或不同整數執行單元可存在於其他實施例中。
記憶體執行排程器650可排程記憶體操作用於在位址產生單元652中執行,該位址產生單元652亦耦接到TLB 654。如所示,此些結構可耦接到資料快取660,其可係隨後耦接到附加層級之快取記憶體階層(包括L2快取記憶體)的L0及/或L1資料快取。
為了提供失序執行之支援,除了重排序緩衝器680外提供分配器/更名器670,其經組態以將為有序退役而失序執行的指令重排序。雖然以此特定管線架構顯示於圖6之說明中,但應瞭解許多變體及替代方案係可能的。
應注意在具有非對稱核心之處理器中(諸如根據圖5及6之微架構),為了電源管理原因,工作量可被動態置換於核心之間,這是因為雖然這些核心具有不同管線設計及深度,其可能係相同或相關ISA者。此類動態核心置換可能以對使用者應用(以及可能亦對核心(kernel))透明之方式執行。
參照圖7,其顯示根據又另一實施例的處理器核心之微架構的方塊圖。如於圖7中所說明的,核心700可包括多階有序管線,以在極低電源消耗層級上執行。作為此類一實例,處理器700可具有根據從加州桑尼維爾ARM Holdings,LTD獲得的ARM Cortex A53設計之微架構。在 實作中,可提供經組態以執行32位元及64位元碼兩者之8階管線。核心700包括提取單元710,其經組態以提取指令並將其提供到解碼單元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,其經組態以提取指令並將其提供到解碼器/更名器/調度器815,其可將指令(例如,ARMv8指令集架構之巨集指令)解碼;將指令內之暫存器參考更名;及調度指令(最終)到所選執行單元。解碼指令可被儲存於佇列825中。應注意雖然為了易於說明顯示單一佇列結構於圖8中,瞭解到可提供獨立佇列用於多不同類型之執行單元之各者。
亦顯示於圖8的係發出邏輯830,從其將儲存在佇列825中的經解碼指令發出到所選執行單元。發出邏輯830亦可被實作於特定實施例中,具有獨立發出邏輯用於多不同類型之執行單元之各者,其中發出邏輯830耦接到該執行單元。
經解碼指令可被發出到多執行單元之給定一者。在所顯示實施例中,此類執行單元包括一或多整數單元835、乘法單元840、浮點/向量單元850、分支單元860、及載入/儲存單元870。在實施例中,浮點/向量單元850可經組態以處理128或256位元之向量資料或SIMD。仍進一步,浮點/向量執行單元850可執行IEEE-754雙精準浮點運算。此些不同執行單元之結果可被提供到寫回單元880。應注意,在若干實作中獨立寫回單元可結合執行單元之各者。此外,應瞭解雖然顯示於圖8之單元及邏輯之各者被表示為高層級,特定實作可包括更多或不同結構。
應注意在具有非對稱核心之處理器中(諸如根據圖7 及8之微架構),為了電源管理原因,工作量可被動態置換,這是因為雖然這些核心具有不同管線設計及深度,其可能係相同或相關ISA者。此類動態核心置換可能以對使用者應用(以及可能亦對核心(kernel))透明之方式執行。
使用具有圖5-8之任一或多者之管線的一或多核心設計之處理器可被實作於許多不同終端產品(從行動裝置到伺服器系統)中。現在參照圖9,其顯示根據本發明之另一實施例的處理器的方塊圖。在圖9之實施例中,處理器900可係包括多域之SoC,該多域可能各被控制以在獨立操作電壓及操作頻率上操作。作為特定說明性實例,處理器900可係Intel®架構核心TM為基之處理器,諸如i3、i5、i7或另外此類處理器可自Intel公司獲得。然而,諸如可自加州桑尼維爾Advanced Micro Devices,Inc.(AMD)獲得之其他低電源處理器、來自ARM Holdings,Ltd.之ARM為基設計或其授權人或者來自加州桑尼維爾MIPS Technologies,Inc.之MIPS為基設計或其授權人或採用者,可取而代之存在其他實施例中,如Apple A7處理器、Qualcomm Snapdragon處理器、或德州儀器OMAP處理器。此類SoC可被使用於低電源系統中,諸如智慧型手機、平板電腦、平板手機電腦、UltrabookTM電腦或其他可攜式計算裝置。
如圖9所示高層級視圖,處理器900包括複數個核心單元9100-910n。各核心單元可包括一或多處理器核心、一或多快取記憶體及其他電路。各核心單元910可支援一 或多指令集(例如,x86指令集(具有較新版本已加入之若干擴充);MIPS指令集;ARM指令集(具有諸如NEON之可選額外擴充))或其他指令集或其組合。應注意該等核心單元之若干者可能係異質資源(例如,係不同設計)。此外,各個此類核心可被耦接到快取記憶體(未示出),其在一實施例中可能係共享層級(L2)快取記憶體。非揮發性儲存器930可被使用以儲存各種程式及其他資料。舉例而言,此儲存器可被使用以儲存至少部分的微碼、諸如BIOS之啟動資訊、或其他系統軟體等。
各核心單元910亦可包括諸如匯流排介面單元之介面,用以賦能到處理器的附加電路之互連。在一實施例中,各核心單元910耦接到同調構造,其可作為主要快取同調晶粒上互連之角色,其隨後耦接到記憶體控制器935。隨後,記憶體控制器935控制與諸如DRAM(為了易於說明而未示出於圖9中)的記憶體之通訊。
除了核心單元以外,附加處理引擎存在於處理器內,至少包括一圖形單元920,其可包括一或多圖形處理單元(GPU)以執行圖形處理以及有可能執行在圖形處理器上之通用操作(所未GPGPU操作)。此外,至少一影像訊號處理器925可存在。訊號處理器925可經組態以處理從一或多擷取裝置(不論在SoC內部或在晶片外)接收之來訊(incoming)影像資料。
其他加速器亦可能存在。在圖9之說明中,視訊編碼器950可執行包括將視訊資訊編碼及解碼之編碼操作,例 如提供針對高解析視訊內容之硬體加速支援。顯示器控制器955可進一步被提供以加速顯示器操作,包括提供針對系統之內部及外部顯示器之支援。此外,安全處理器945可存在以執行諸如安全啟動操作、各種加密技術操作等等之安全操作。
該等單元之各者可經由電源管理器940控制其本身之電源消耗,該電源管理器可包括控制邏輯以執行本文所述之各種電源管理技術。舉例而言,電源管理器940可包括機器學習/工作量分類邏輯,以將正被執行之工作量分類;及包括遷移邏輯,其可使工作量之至少若干執行緒被動態遷移到不同核心(及/或核心類型),使得不同數量的核心可在下一個操作區間中為有效的。
在若干實施例中,SoC 900可進一步包括耦接到同調構造之非同調構造,其可耦接各種週邊裝置。一或多介面960a-960d賦能與一或多晶片外裝置之通訊。此類通訊可能係經由諸如在其他類型通訊協定中的PCIeTM、GPIO、USB、I2C、UART、MIPI、SDIO、DDR、SPI、HDMI之多種通訊協定。雖然以此高層級(high level)地顯示於圖9之實施例中,但應瞭解本發明之範疇並未受限於此。
現在參照圖10,其顯示代表性SoC的方塊圖。在所示實施例中,SoC 1000可係組態用於低電源操作之多核心SoC,其將被最佳化用於被包括在智慧型手機或其他諸如平板電腦或其它可攜式計算裝置之低電源裝置中。作為實例,可使用非對稱或不同類型之核心來實作SoC 1000,該不同類型之核心諸如較高電源及/或低電源核心(例如,失序核心及有序核心)之組合。在不同實施例中,此些核心可基於Intel®架構TM核心設計或ARM架構設計。仍在其他實施例中,Intel與ARM核心之混合可被實作於給定SoC中。
如圖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,其可包括一或多圖形處理單元(GPU),經組態以獨立地執行(例如,由核心域1010及1020之一或多核心所提供之)圖形工作量。作為一實例,GPU域1030可被使用以提供針對多種螢幕尺寸之支援,此外還提供圖形及顯示器演色操作。
如所示,各種域耦接到同調互連1040,其在一實施 例中可能係隨後耦接到整合記憶體控制器1050之快取同調互連構造。在一些實例中,同調互連1040可包括共享快取記憶體,諸如L3快取。在一實施例中,記憶體控制器1050可能係直接記憶體控制器,用以提供與晶片外記憶體之多通道通訊,諸如DRAM之多通道(為了易於說明而未示出於圖10中)。
在不同實例中,核心域之數量可能有所差異。舉例而言,針對適用於包括在行動計算裝置中的低電源SoC,可能存在限制數量之核心域(如圖10所示)。仍進一步地,在此類低電源SoC中,包括較高電源核心之核心域1020可能具有較少數量之此類核心。舉例而言,在一實作中,二核心1022可被提供以賦能降低電源消耗層級之操作。此外,不同核心域亦可被耦接到中斷控制器,用以賦能不同域之間的工作量動態置換。
仍在另一實施例中,可能存在有較大數量之核心域(以及附加可選IP邏輯),其中SoC可被縮放到較高效能(及電源)層級,用於被包括在其他計算裝置(諸如桌上型電腦、伺服器、高效能計算系統、基地台等)之中。作為一此類實例,可設置各具有給定數量的失序核心之四個核心域。仍進一步地,在可選GPU支援(其作為實例可能採取GPGPU之形式)以外,亦可設置用以提供特定功能(例如,網路伺服、網路處理、開關或等等)的最佳化硬體支援之一或多加速器。此外,輸入/輸出介面可存在以將此類加速器耦接到晶片外組件。
現在參照圖11,其顯示另一例示SoC的方塊圖。在圖11之實施例中,SoC 1100可包括各種電路以針對多媒體應用、通訊及其他功能賦能高效能。如此,SoC 1100適用於被包括在廣泛種類之可攜式及其他裝置中,諸如智慧型手機、平板電腦、及智慧型電視等。在所示實例中,SoC 1100包括中央處理器單元(CPU)域1110。在實施例中,複數個獨立處理器核心可存在於CPU域1110。作為一實例,CPU域1110可能係具有4多執行緒核心之四核心處理器。此類處理器可能係同質或異質處理器,例如,低電源及高電源處理器核心之混合。
隨後,提供GPU域1120以執行先進圖形處理於一或多GPU中,以處理圖形及計算API。除了在多媒體指令之執行期間可能發生之先進計算以外,DSP單元1130可提供一或多低電源DSP用於處理低電源多媒體應用(諸如音樂播放、音訊/視訊及等等)。隨後,通訊單元1140可包括各種組件以經由各種無線協定(諸如,蜂巢式通訊(包括3G/4G LTE)、諸如藍芽TM之無線區域協定、及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可進一步耦接到擷取裝置1240,諸如可錄製視訊及/或靜態影像之一或多影像擷取裝置。
現在參照圖12,通用積體電路卡(UICC)1245包含訂閱者身分模組,且安全儲存器以及加密處理器可能亦耦接到應用處理器1210。系統1200可進一步包括安全處理器1250,其可耦接到應用處理器1210。複數個感測器1225可耦接到應用處理器1210,以賦能多種經感測資訊之輸入,諸如加速器及其他環境資訊。音訊輸出裝置1295可介面以輸出聲音,例如,在語音通訊、播放或串流音訊資料等之形式中。
如進一步說明的,提供經由近場通訊(NFC)天線1265於NFC近場中通訊之NFC無接觸式介面1260。雖然獨立天線顯示於圖12中,但應瞭解在若干實作中,一天線或不同組的天線可被提供以賦能各種無線功能。
電源管理積體電路(PMIC)1215耦接到應用處理器1210以執行平台層級電源管理。為此,PMIC 1215可發出電源管理請求到應用處理器1210以進入所期望之特定低電源狀態。此外,基於平台限制,PMIC 1215亦可控制系統1200之其他組件的電源層級。
為了要賦能通訊被傳輸及接收,各種電路可經耦接在基頻處理器1205及天線1290之間。更明確地,射頻(RF)收發器1270及無線區域網路(WLAN)收發器1275可存在。普遍而言,RF收發器1270可被使用以根據給定無線通訊協定(諸如3G或4G無線通訊協定(諸如根據分碼多存取(CDMA)、全球行動通訊系統(GSM)、長程演進(LTE)或其他協定))來接收及傳輸無線資料和撥話(call)。此外 可能存在GPS感測器1280。亦可提供諸如無線電訊號(例如,AM/FM及其他訊號)之接收或傳輸的其他無線通訊。此外,經由WLAN收發器1275,亦可實現本地無線通訊。
現在參考圖13,其顯示可使用實施例之另一例示性系統的方塊圖。在圖13之說明中,系統1300可能係諸如平板電腦、2:1平板電腦、平板手機、或其他可變換或獨立平板電腦系統之行動低電源系統。如所示,存在SoC 1310且可經組態以如同用於裝置之應用處理器般地操作。
多種裝置可被耦接到SoC 1310。如所示之說明,記憶體子系統包括耦接到SoC 1310之快閃記憶體1340及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可根據一或多無線協定而提供用於通訊。
如進一步說明的,複數個感測器1360可耦接到SoC 1310。此些感測器可包括各種加速器、環境及其他感測器,包括使用者手勢感測器。最終地,音訊編解碼器1365經耦接到SoC 1310以提供到音訊輸出裝置1370之介面。理當瞭解到雖然以圖13之特定實作來顯示,但許多變體及替代方案係可行的。
現在參照圖14,所顯示係代表性電腦系統(諸如,筆記型電腦、UltrabookTM或其他小形狀因子系統)之方塊圖。在一實施例中,處理器1410包括微處理器、多核心處理器、多執行緒處理器、超低電壓處理器、嵌入式處理器、或其他已知處理元件。在所說明實作中,處理器1410作為主處理單元及中央集線器之角色,該中央集線器之角色係用於與系統1400之各種組件的多者通訊。作為一實例,處理器1400經實作為SoC。
在一實施例中,處理器1410與系統記憶體1415通訊。作為說明性實例,系統記憶體1415經由多記憶體裝置或模組而被實作,以提供給給定量之系統記憶體。
為提供資訊(諸如資料、應用、及一或多作業系統等) 之持久儲存,大容量儲存器1420亦可被耦接到處理器1410。在各種實施例中,為賦能更薄更輕的系統設計,以及為改善系統響應性,此大容量儲存器可經由SSD被實作或該大容量儲存器可主要使用硬碟機(HDD)並使用少量SSD儲存器被實作,該SSD儲存器係作為SSD快取之角色,以賦能在斷電情形期間配置狀態(context state)及其它此類資訊之非揮發性儲存,以使得快速供電可發生以再啟動系統活動。亦顯示於圖14中,快閃裝置1422可耦接到處理器1410,例如經由序列性週邊介面(SPI)。此快閃裝置可提供用於系統軟體(包括基本輸入/輸出軟體(BIOS)以及系統之其他韌體)之非揮發性儲存。
各種輸入/輸出(I/O)裝置可存在於系統1400內。明確顯示於圖14之實施例中的係顯示器1424,其可能係高解析LCD或LED面板,其進一步提供觸控螢幕1425。在一實施例中,顯示器1424可經由顯示器互連而耦接到處理器1410,該顯示器互連可經實作為高效能圖形互連。觸控螢幕1425可經由另一互連(其在一實施例中可係I2C互連)而被耦接到處理器1410。如進一步顯示於圖14中,除了觸控螢幕1425外,藉由觸碰之使用者輸入亦可經由觸控板1430發生,其可經組態於機身內,且亦可耦接到與觸控螢幕1425耦接到相同之I2C互連。
針對感知計算及其他目的,各種感測器可能存在於系統內,且可以不同方式耦接到處理器1410。特定慣性及環境感測器可透過感測器集線器1440耦接到處理器 1410,例如經由I2C互連。在圖14所顯示之實施例中,此些感測器可包括加速器1441、環境光感測器(ALS)1442、羅盤1443及陀螺儀1444。其他環境感測器可包括一或多熱感測器1446,其在一些實施例中經由系統管理匯流排(SMBus)匯流排而耦接到處理器1410。
亦參見圖14,各種週邊裝置可經由低接腳數(LPC)互連耦接到處理器1410。在所示實施例中,各種組件可透過嵌入式控制器1435而耦接。此類組件可包括鍵盤1436(例如,經由PS2介面耦接)、風扇1437、及熱感測器1439。在若干實施例中,觸控板1430亦可經由PS2介面耦接到EC 1435。此外,諸如可信賴平台模組(TPM)1438之安全處理器亦可經此LPC互連耦接到處理器1410。
系統1400可以多種方式(包括無線地)與外部裝置通訊。如所示於圖14之實施例中,存在各種無線模組,各對應於針對特定無線通訊協定組態之無線電。無線通訊之一種方式係短程(諸如可經由NFC單元1445之近場),該NFC單元1445可在一實施例中經由SMBus而與處理器1410通訊。應注意經由此NFC單元1445,彼此在近距離內之裝置可互相通訊。
如進一步示於圖14,附加無線單元可包括其他短程無線引擎,包括WLAN單元1450及藍芽單元1452。使用WLAN單元1450,Wi-FiTM通訊可被實現,雖然經由藍芽單元1452,短程藍芽TM通訊可能發生。此些單元可能經由給定鏈路而與處理器1410通訊。
此外,無線廣域通訊(例如,根據蜂巢式或其他無線廣域協定)可經由WWAN單元1456發生,該WWAN單元1456隨後耦接到訂閱者身分模組(SIM)1457。此外,為了賦能位置資訊之接收與使用,GPS模組1455亦可能存在。應注意於圖14所示之實施例中,WWAN單元1456及諸如照相機模組1454之整合擷取裝置可經由給定鏈路通訊。
整合照相機模組1454可結合於蓋(Lid)中。為提供音訊輸入及輸出,音訊處理器可經由數位訊號處理器(DSP)1460而被實作,該數位訊號處理器(DSP)1460可經由高解析音訊(HDA)鏈路而耦接到處理器1410。相似地,DSP 1460可與整合編碼器/解碼器(CODEC)及放大器1462通訊,其隨後耦接到可實作於機身中的輸出揚聲器1463。相似地,放大器及CODEC 1462可耦接以從麥克風1465接收音訊輸入,該麥克風在一實施例中可經由雙陣列麥克風(諸如數位麥克風陣列)來實作,以提供高品質音訊輸入以賦能系統內各種操作之語音啟動控制。亦應注意到音訊輸出可從放大器/CODEC 1462提供到耳機插口1464。雖然以此些特定組件顯示於圖14之實施例中,應瞭解本發明之範疇並未受限於此。
可以許多種不同系統類型來實作實施例。現在參照圖15,所顯示係根據本發明之實施例的系統之方塊圖。如圖15所示,多處理器系統1500係點對點互連系統,且包括經由點對點互連1550耦接之第一處理器1570及第二處理 器1580。如圖15所示,處理器1570及1580之各者可係多核心處理器,包括第一及第二處理器核心(亦即,處理器核心1574a與1574b及處理器核心1584a與1084b),雖然潛在地許多更多核心可存在於處理器中。該等處理器之各者可包括PCU或其他電源管理邏輯,以執行如本文所述之處理器為基電源管理,包括工作量分類及動態執行緒遷移以及至少部分基於其之核心效能控制。
仍參照圖15,第一處理器1570進一步包括記憶體控制器集線器(MCH)1572及點對點(P-P)介面1576及1578。相似地,第二處理器1580包括MCH 1582及P-P介面1586及1588。如圖15所示,MCH之1572及1582將處理器耦接到個別記憶體,亦即記憶體1532及記憶體1534,其可係局部地附接到個別處理器的系統記憶體(例如,DRAM)之部分。第一處理器1570及第二處理器1580可個別經由P-P互連1562及1564而被耦接到晶片組1590。如圖15所示,晶片組1590包括P-P介面1594及1598。
此外,晶片組1590包括介面1592以藉由P-P互連1539將晶片組1590與高效能圖形引擎1538耦接。隨後,晶片組1590可經由介面1596而被耦接到第一匯流排1516。如於圖15中所顯示,各種輸入/輸出(I/O)裝置1514可連同匯流排橋接器1518而被耦接到第一匯流排1516,該匯流排橋接器1518可將第一匯流排1516耦接到第二匯流排1520。在一實施例中,可被耦接到第二匯流排1520 之各種裝置包括,例如,鍵盤/滑鼠1522、通訊裝置1526及可能包括碼1530的諸如硬碟機或其他大容量儲存裝置之資料儲存單元1528。進一步地,音訊I/O 1524可被耦接到第二匯流排1520。實施例可被結合於其他類型的包括行動裝置之系統中,諸如智慧型手機、平板電腦、易網機、或UltrabookTM等。
在實施例中,預測邏輯係適用以判定最佳化電源組態,且控制邏輯係適用以應用該判定電源組態。預測邏輯藉由讀取效能/能量計數器而週期性地收集輸入統計,並接著使用智慧模式以評估當前狀態並預測下一個最佳化電源組態。在一實施例中,經由執行緒遷移及動態電壓及頻率縮放,控制邏輯將此電源控制決策應用到基本系統。在若干實施例中,可存在一或多異質核心,其係專用於記憶體密集之工作量。執行緒可遷移到此類(一或多)核心,以在受記憶體限制相位期間節省更多能量。可使用硬體執行緒遷移技術以將執行緒遷移於偏計算式核心與偏記憶體式核心之間,其不涉及任何軟體介入,兩者皆來自使用者應用及作業系統之觀點。
由於受計算限制及受記憶體限制之工作量具有極為不同之系統需求,故該模式解決分類問題。給定一組電源組態參數(例如,核心數量、執行緒數量、時脈頻率及電壓)及運行期間統計(例如,各種效能/能量計數器)於一當前時間取樣,則目標係用以找到最佳化電源組態用於下一時間區間,以將效能及能量效率最大化。在不同實施例中,可 使用兩類型之預測模式(專家試探式及機器學習)。
現在參照圖16,所顯示係根據本發明之實施例的電源控制邏輯之方塊圖。如圖16所示,電源控制邏輯1600(其可由硬體、軟體及/或韌體之組合形成)可被實作為處理器之較大電源控制單元(諸如PCU)之部分。此類PCU本身隨後可被實作為一或多微控制器或其他控制邏輯。在所示實施例中,電源控制邏輯1600包括效能特徵緩衝器1610。如本文所述,緩衝器1610可經組態以儲存來訊效能特徵,例如由各種核心之效能/能量計數器及處理器之其他邏輯及/或具有此類處理器之系統獲得。
隨後,該特徵資訊被提供到預測邏輯1620。在不同實作中,不同類型之預測邏輯可能存在。如本文所述,此類邏輯可根據專家試探式及/或機器學習包括一或多模式。從與當前處理器操作相關之來訊特徵資訊,預測邏輯1620可產生電源組態之定義。可使用此類定義以界定用於下一操作區間之適當處理器操作控制。在實施例中,此類電源組態定義資訊可包括數個將在下一個操作區間為有效之核心、將被排程給此類核心之對應執行緒、及其中所選核心將被操作之電壓/頻率。
如所示,此電源組態定義資訊被提供到控制邏輯1630,其可經組態以實施(enforce)下一個操作區間中的定義。如此,控制邏輯1630可經組態以提供控制資訊到各種處理器實體,包括諸如一或多鎖相迴路之時脈產生器、諸如整合電壓調節器之一或多電壓調節器、或類似者。仍 進一步的,控制資訊可被提供到獨立核心,以指示該給定核心在下一個操作區間將被通電或斷電。若核心將被斷電,則該核心可採取各種動作,包括將其狀態儲存到適當儲存器,以賦能該核心進入到所請求之低電源狀態中、閘控一或多時脈訊號、及閘控一或多電源閘。對於在下一個操作區間將被通電之核心,此類控制可包括將一或多時脈訊號去閘控、將一或多電源閘去閘控、及從給定儲存器復原該核心之狀態。理當理解在各種實施例中,針對此類核心低電源狀態的進入與離開之附加操作可發生。仍進一步瞭解到在不同實作中,電源控制邏輯之數種不同組態可能存在。
針對專家試探式模式,專家識別了最相關之工作量及系統的參數,建立預測模式以分類計算或受記憶體限制工作量,並針對識別的工作量往最節能組態前進。舉例而言,二直覺試探式模式可被使用。有鑒於設計複雜度,試探式可能僅選擇許多可能參數之子集,稱作熱狀態(hot states),其係來自設計空間探索中的最受歡迎組態之特徵。
對於簡易分類試探式模式(H1),兩參數可被使用以作出決策,例如每秒指令(IPS)及記憶體頻寬(memBW)。IPS係核心運用之指示器;而memBW直接顯示記憶體佔有率。具有低IPS及高memBW之工作量被分類為受記憶體限置,而高IPS及低memBW之工作量被分類為受計算限制。該高及低之臨界值係可例如在若干實施例中藉由使用 者調整的。該決策策略可如下:賦能弱電源組態(較少核心/執行緒及較低電壓/頻率)給受記憶體限制工作量;及賦能強電源組態(其可係基線組態)給受計算限制工作量。
回饋分類試探式模式(H2)首先分類相似於H1之工作量。接著,各分類具有較佳動作:例如,受記憶體限制工作量將導致較弱組態被賦能(首先較少核心/執行緒,接著較少電壓/頻率);且受計算限制應用將導致較強組態被賦能。混合工作量可具有一定的機率會變弱或變強。接著,能量效率度量(EE)被計算為IPS*IPS/PCL,以估計當前能量效率,其中PCL係從主要電源組件導出之估計電源消耗層級(諸如漏電)。基於來自上一個動作之正或負EE回饋,作出以下新決策:採取較佳動作、採取與上一個動作相同之動作、或什麼都不做。
綜合性成套的運行期間工作量及系統統計可大到上百或上千個特徵,諸如許多佇列結構之佔有率、各功能單元之運用、且依此類推。考慮到所有此些組合,該設計空間爆炸性成長。因此,實施例可使用機器學習技術用於資料處理及決策。
在機器學習模式中,運行期間統計可被包括為屬性。多維記錄係在取樣時間期間所有屬性之平均統計值之收集。針對時間區間之最節能組態被指定一標記,其具有核心、執行緒、電壓、及頻率之資訊。該模式預測下一個最佳化電源組態。
在機器學習訓練處理期間,特定效能/能量特徵可自 大量資料識別,並被使用以作出智慧自動決策。離線訓練處理在定時間佔據大維度之工作量/系統統計作為輸入以預測最佳電源組態。離線訓練處理可產生一組係數(或權重),其可被程式化到電源控制器(例如,藉由在非揮發性記憶體中的儲存器)中,用於即時使用。
因此在設計或組態處理期間,發生離線資料收集。此離線資料收集處理可在設計相位期間及/或製造後例如藉由處理器設計師來執行。在該處理中,多種不同工作量可被執行(及/或被模擬),諸如代表性基準工作量以賦能處理器上工作量之特徵化(如藉由效能及能量參數資訊來判定)。在若干情況中,大量的基準工作量可被使用以適當地訓練機器學習分類器。
作為一實例,在代表性工作量之離線資料收集期間,多工作量相位被識別,且在各工作量相位期間,可產生資料點用於特定電源組態。接著針對所有可能組態之窮舉式搜尋被執行以收集一組代表性工作量資料。該計算的效能及能量被使用以預處理該最佳節能組態,而效能降低之限制將被實施以濾掉太多的效能犧牲。接著,各資料點被標記,該標記具有其用於稍後監督學習過程之最佳組態名稱。
在不同實施例中,給定組之相關屬性可被考慮。在一實施例中,此些屬性包括IPS、memBW、平均往返記憶體潛時(memLat)、記憶體指令百分比(memInst)、浮點指令百分比(FPinst)、ALU指令百分比(ALUinst)、待決發出記 憶體請求佇列佔有率(memQ)、及最終層級快取未中率(LLCMiss)。此類屬性可最佳代表工作量行為並有效地幫助降低效能/能量計數器之數量。
在不同實施例中,各種離線監督模式可被使用。在一實例中,具有嶺迴歸估計量之多類別(multi-class)邏輯迴歸模型可被使用以測量多於二個的分類相依或獨立變數之間的關係,其展現優良準確度及簡易實作。在另一實例中,可使用多層感知器。此模式係使用後向傳播之人工類神經網路分類器,其可適用於豐富的具有非線性行為之資料。該等節點皆係S狀(邏輯功能)且具有至少三層。該輸入層佔據所有所選之屬性,且該輸出層產生該最佳化電源組態。作為另一實例,決策樹模型可被使用,其維持流程圖樣之樹狀結構,其中的葉代表標記(所有可能最佳化組態),且樹枝係屬性之連接。在該樹之各節點處,屬性被選擇以有效地將資料點分割成在一類別或另一類別之子集。
一旦該等模式經訓練後,其被實作成用於線上預測之電源控制器。在運行期間,對應於所選屬性之效能/能量計數器被收集,且經訓練機器學習模式預測下一個最佳化電源組態。為改善準確度,運行期間回饋機制可被使用,且該用以更新電源組態之機器學習決策可被越權取消並不採取動作。由於機器學習模式可能在若干電源組態間極頻繁地來回切換,故此導致高切換管理負擔。用於歷史追蹤之飽和計數器可被使用以避免此類過敏感反應。再者,該 機器學習模式可趨向於選擇高能量節省,但過於犧牲效能,在受計算限制之工作量特別為此,其中較弱系統資源直接相關於效能。每核心之IPS歷史暫存器可被使用以偵測由於電源組態改變所導致之突然效能降低。
控制邏輯負責將最佳化電源控制決策應用到基本系統,其涉及硬體控制(例如,電壓及頻率縮放)及軟體控制(例如,核心及執行緒對映)。在不同實施例中,各種執行緒對映機制可被使用。
在一實施例中,軟體層(使用者應用、運行期間庫、及/或作業系統)可被修改。預測邏輯提供介面以通訊該最佳化電源控制決策,接著軟體經由使用者層級執行緒(fork/join)、諸如Posix執行緒等之動態運行期間庫、工作佇列排程器、或作業系統執行緒遷移來調整執行緒到核心對映。
應用程式化介面(API)可被提供,使得使用者應用或運行期間庫可直接存取該電源控制器以提取該最佳化電源組態決策。若改變電源組態係較佳的,則應用或運行期間調整執行緒到核心之對映。
舉例而言,若應用具有大平行迴路,則程式設計師或編譯器可將該迴路拆成若干片段,並安插電源查詢與執行緒管理API呼叫以獲得用於各片段之最佳化組態,並依據地將下一片段平行化。諸如OpenMP之運行期間框架與工作佇列將從使用者應用清空該程式化管理負擔(overhead)。舉例而言,當使用者應用以OpenMP將迴 路平行化時,該運行期間(runtime)可呼叫電源查詢API以獲得針對該迴路之最佳化組態,並經由執行緒固定API來適當管理執行緒與核心。工作佇列庫亦可應用相似方法。工作佇列排程器可被使用以根據最佳化電源決策來自動遷移工作。
另一機制係用以擴充(augment)作業系統以提供執行緒管理給所有使用者應用。作業系統週期性地與電源控制器互動並獲得該最佳化組態。其接著排程軟體執行緒到適當硬體配置。舉例而言,假設使用者應用係在四個核心上運行八個執行緒;亦即每核心兩執行緒,但該作業系統被知會單一核心係最佳化組態。接著,作業系統指定全部八個執行緒僅在一核心上,即使總共有四個核心可用。其遷移六個執行緒從該另外三個核心到所選的一核心,並將該空閒三個核心斷電以節省能量。
實施例亦可使用透明的執行緒遷移。在若干情況中,處理器可包括異質核心,包括偏計算式核心及記憶體最佳化的核心。此類設計係基於單一核心架構無法同時為受計算限制及受記憶體限制之工作量最佳化之觀察。舉例而言,習知多處理器通常針對目標針對在高頻率運行之許多核心計數之計算工作量而最佳化。然而,此類多處理器在主要在等待記憶體存取之相位期間可能不節能。因此,專用於記憶體密集相位之一或多核心(偏記憶體式或記憶體最佳化核心)可被提供,其在低頻率運行以將記憶體資源飽和,提供與許多計算核心相同之記憶體效能。
執行緒遷移機制可被使用以在兩種類型之核心之間對軟體(對使用者應用及作業系統兩者皆係)透明地切換執行。舉例而言,假設系統具有一記憶體最佳化核心及四個計算最佳化核心。若各計算核心係能夠雙向SMT,則記憶體最佳化核心具備有總共八個硬體配置。該記憶體最佳化核心配置僅對硬體係可視且完全隱藏自軟體。且到記憶體最佳化核心配置之執行緒遷移僅由硬體處理。硬體控制器複製計算核心與記憶體最佳化核心之間完全相同執行緒配置(thread context),並接著靜靜回復對新核心之執行。即使係作業系統也無法偵測該基本執行緒遷移。此外,由於記憶體最佳化核心僅係在相同快取同調性域上之另一核心,其完全不會發生任何記憶體一致性問題,雖然其可能受源自配置遷移之資料遷移管理負擔影響。應注意,記憶體最佳化核心架構提供將能量效率最佳化之新的機會。因為僅有記憶體密集工作量對其執行,故其架構可專用於極端狀況以達到較通用核心更高效率之級度層級。在若干情況中,記憶體最佳化核心實作與計算核心相同之ISA。
現在參照圖17,所顯示係根據本發明之另一實施例的包括硬體電源控制邏輯之處理器的方塊圖。如於圖17所說明,處理器1700係多核心處理器,其中特定實作可能係具有多種核心之SoC,該等核心包括至少若干具有不同計算及記憶體能力之異質核心。由此,藉由有效核心之適當控制,工作量可被分配在該等核心之間,以提供電源及效能之有效混合。如所示,處理器1700包括複數個核 心17100-1710n。在不同實施例中,此些核心可能係有序及失序核心之混合,以及偏計算式核心與一或多偏記憶體式核心之混合,以在有效率與低核心電源上提供受記憶體限制之操作。
如進一步說明於圖17中,核心1710耦接到快取記憶體1720,其在實施例中可被實作為諸如最終層級快取之共享快取記憶體。仍進一步地,處理器1700可包括內部記憶體1730,諸如可能置於多晶粒處理器封裝之獨立晶粒上。
在操作期間,包括於各種核心內之效能/能量計數器可經組態成提供特徵資訊到電源控制器1750。在各種實施例中,電源控制器1750可經實作為PCU,其包括用於執行如本文所述的模式為基電源控制之專用硬體邏輯。
在圖17之說明中,電源控制器1750包括特徵緩衝器1760,其可儲存從各種核心來訊之資訊。雖然本發明之範疇並未受限於此方面,此類效能/能量特徵可包括在其他此類資訊中的每週期資訊之指令、指令混合資訊、載入/儲存佇列資訊、快取命中/未中資訊、記憶體潛時資訊、及記憶體頻寬資訊。
如所示,緩衝器1760經耦接到效能/能量模式邏輯1770,其可基於來訊特徵資訊來判定效能與能量預測。在不同實施例中,效能/能量模式邏輯1770可包括硬體以實作給定模式,諸如專家試探式為基模式、機器學習為基模式及/或其組合。仍參照圖17,應注意效能/能量邏輯1770 進一步從組態儲存器1780接收輸入。一般而言,組態儲存器1780包括相關於可能操作特徵之資訊,包括有效核心之數量(例如從0到n)及針對給定數量有效核心之電壓/頻率對。在其中效能/能量邏輯1770係試探式為基邏輯之實施例中,組態儲存器1780可進一步提供試探式儲存器以儲存一或多具有複數個條目之查找表,該等條目之各者係被使用以儲存與特定工作量分類與對應電源組態相關之工作量特徵資訊。在其中效能/能量邏輯1770係機器學習為基邏輯之實施例中,組態儲存器1780可進一步提供經訓練模式參數儲存器(例如,經由非揮發性儲存器)以儲存一或多具有複數個條目之表,該等條目之各者係被使用以儲存在離線訓練處理期間獲得之經訓練模式參數。
在若干實施例中,用於機器學習與試探式方法兩者之模式可被實作為一方程式,其包括輸入參數(諸如IPS之工作量特徵等)及一組係數以提供各參數之權重。該方程式可被使用以計算代表用於下一操作區間之處理器的最佳化組態狀態之數值。此值可被使用作為到具有不同組態參數之表的索引。在許多情況中,組態儲存器1780提供一表之用於各參數的係數。一般而言,該方程式(或該方程式之格式)係固定。因此,僅有係數可能會改變。在試探式方法中,一旦在製造期間,該等係數係固定。在機器學習方法中,該等係數係在離線訓練期間獲得並被程式化到儲存器中。當操作時,該等係數可基於機器學習而被線上更新。
仍參照圖17,電源控制器1750進一步包括電源組態選擇器1790,其可接收給定效能能量預測用於下一個操作區間,並判定適當下一個電源組態以提供操作控制到核心1710用於下一個操作區間。在圖17所顯示之實施例中,電源組態選擇器1790包括歷史邏輯1792、影響邏輯1794、及更新邏輯1795。
一般而言,歷史邏輯1792可經組態以分析來訊預測及基於短期及/或長期歷史來判定該預測是否適用且是否應被提供以控制用於下一個操作區間之核心。舉例而言,在發生改變組態以影響降低數量之核心之前,特定組態之數個預測(例如,針對降低數量之核心)可被連續地做出(例如3或更多)。藉由參照必要歷史狀態,歷史邏輯1792亦可被使用以避開電源管理之過度敏感控制。在一實施例中,經由計數器(例如,2位元飽和計數器),歷史邏輯1792可實作遲緩切換方案用於各可能決策。舉例而言,當電源閘控決策被做出時,此計數器被增加。僅當相同決策於預判定數量之連續時間區間(例如3)期間被做出時,藉由參照計數器,電源組態更新被執行。在其他情況中,歷史邏輯1792可實作歷史表以記錄先前電源組態決策及系統狀態。
影響邏輯1794可係組態以判定預測與組態更新對處理器之電源及/或效能所產生之影響,並用以限制或使預測免於被提供作為對該等核心之控制。
進一步顯示於圖17中,電源組態選擇器1790包括更 新邏輯1795。基於近期的過去決策(例如,參考歷史表中之條目)與遠期的過去決策(經由長期累計功能),更新邏輯1795可判定是否賦能電源組態更新。因此,在處理器操作之生命週期期間(從處理器之初始啟動經過多啟動週期(以及可能許多年之操作)),藉由基於現場中處理器之實際使用來更新經訓練模式參數,更新邏輯1795可經組態以執行自我學習。應瞭解雖然以此高層級顯示於圖17之說明中,但許多變體及替代方案是可能的。
現在參照圖18,其顯示根據本發明之實施例的用於控制處理器之電源消耗之方法的流程圖。在圖18所示實施例中,方法1800可被適當組合之硬體、軟體、及/或韌體(諸如本文所述硬體電源控制邏輯)來執行,該硬體電源控制邏輯可被實作為電源控制器之部分,其本身實作為一或多微控制器。在一實施例中,方法1800可被實作試探式為基模式之模式邏輯來執行。如所示,方法1800藉由接收工作量特徵資訊來開始(方塊1810)。如所述,此類資訊可自處理器之各種核心與其他邏輯的效能/能量計數器來接收。此外,組態及電源狀態資訊亦被接收(方塊1820)。此組態資訊可對應於當前操作區間中數個有效地供電之核心及其電源狀態(例如,在其上操作核心之給定電源層級)。在若干實施例中,電源狀態資訊可進一步包括效能狀態資訊,其可對應於特定電壓/頻率層級,且該等核心在該特定電壓/頻率層級上操作。在若干情況中,針對核心之效能狀態可在保證操作頻率(其係處理器被保 證操作之最大操作頻率)、加速模式頻率(其係比此保證頻率更高之伺機性操作頻率)、或有效頻率層級(其係比保證頻率更低之操作頻率)上。
仍參見圖18,接下來,控制繼續到方塊1830,其中該工作量可被分類。更明確地,該工作量可基於所接收工作量特徵資訊及電源狀態資訊之若干者或全部而被分類。在高層級,此工作量分類可經判定為在限定數量之可能層級之一,包括受記憶體限制層級、受計算限制層級、或典型操作層級,其可能一般對應於在受記憶體限制層級與受計算限制層級之間操作的工作量。控制接下來繼續到菱形1835,以判定該工作量是否係受記憶體限制。雖然本發明之範疇並未受限於此,在實施例中,工作量是否受限於記憶體之判定可係基於在操作中自各核心獲得之潛時資訊、或是與記憶體頻寬相關之頻寬資訊等之聚集。
若經判定該工作量並非受記憶體限制,則控制直接繼續到方塊1850,其中當前設定被維持。如此,在下一個操作區間中,相同數量之核心可被通電,且此些核心可繼續用以在當前頻率與電壓層級上執行當前執行緒。
取而代之地,若經判定該工作量係受記憶體限制,則控制從菱形1835繼續到方塊1840,其中可產生組態預測。更明確地,此組態預測可能係用於具有降低核心活動之情境,在其中一或多當前有效核心可被關機(powered down)及/或為幫助一或多記憶體密集核心,計算密集核心可被關機,以賦能對受記憶體限制情形之改良處理。控制 接下來繼續到菱形1845,以判定該組態預測是否與歷史資訊一致。此類判定可係基於指示先前預測之適當程度的歷史資訊。若該預測不一致,則控制繼續到方塊1850,其中該當前設定可被維持。應注意在若干情況中,除了此歷史分析外,亦可做出該經預測組態是否會負面地影響效能之判定。舉例而言,假設該組態預測受影響則將增加效能懲罰大於臨界值層級(例如,5%)時,該新組態可能未被影響且該控制可因此繼續到方塊1850。
若反之晶判定該組態預測係與歷史資訊(及/或未被預測以負面影響效能超過一臨界值)一致時,控制繼續到方塊1860,其中將被執行於下一個操作區間之執行緒可被排程/再排程到該降低數量之核心。舉例而言,當前在核心上執行且將被關機的執行緒可被再排程到將保持通電之核心。這情況如同在各種實施例中一樣,該等核心可係多執行緒,使得多個執行緒可同時地執行於單一核心上,例如經由多個邏輯處理器,其提供適當硬體執行緒資源以賦能並行執行。在其他情況中,執行緒可從特定有效核心再排程到其他有效核心以較佳地容納並提供有效操作(諸如從計算核心移動到偏記憶體式核心)。接著控制繼續到方塊1870,其中該核心之電源狀態可被更新。亦即,各種控制訊號被傳送到核心、時脈產生器、電壓調節器、及依此類推,以賦能給定核心之適當啟用/停用。此後,操作發生於下一個區間中,在該操作區間其中該等執行緒在有效核心上執行(方塊1880)。應瞭解雖然以此高層級顯示於 圖18之實施例中,但許多變體及替代方案是可能的。
現在參照圖19,其顯示根據本發明之另一實施例的用於控制處理器之電源消耗之方法的流程圖。參見圖19,方法1900可被適當組合之硬體、軟體、及/或韌體(諸如本文所述硬體電源控制邏輯)來執行。在一實施例中,方法1900可被實作機器學習為基模式之模式邏輯來執行。方法1900藉由接收工作量特徵資訊來開始,例如,從處理器內之效能/能量計數器接收(方塊1910)。此外,組態及電源狀態資訊亦被接收(方塊1920)。此組態資訊可對應於當前操作區間中數個有效地供電之核心及其電源狀態。
接著,控制繼續到方塊1930,其中基於工作量特徵及電源狀態資訊,經訓練模式參數可自組態儲存器獲得。更明確地,基於工作量特徵資訊與電源狀態資訊,機器學習控制邏輯可執行工作量之分類,以獲得經訓練模式參數。此些參數可對應於給定類型之經分類工作量,諸如受計算限制、受記憶體限制、或典型工作量等。此外,由於機器學習分類器為基邏輯(如與試探式為基邏輯之比較)之較高計算能力,工作量層級之更精細顆粒分析及分類可發生。如此,除了受計算限制、受記憶體限制及典型分類外,複數個層級的受計算限制分類、複數個層級的受記憶體限制分類、除了複數個層級的一般操作分類亦可經識別及分類。
仍參見圖19,控制繼續到方塊1940,其中組態預測 可自經訓練模式參數產生。應注意在許多情況中,在更新電源組態之前,機器學習邏輯可根據先前採取動作而估計長期及短期效能/能量之影響。在實施例中,兩個報酬函數經實作於電源控制器中用於短期與長期之影響評估。舉例而言,若總體報酬值(短期與長期報酬之加權組合)指示該模式正建立過於積極預測(並負面地影響效能)時,則此電源組態更新不會發生。此外,如所述,參照圖20,自我學習可發生,其中經訓練模式參數可藉由更新到(例如,相關於效能影響更為保守之)經訓練模式參數來調整。爾後,控制繼續到方塊1950,其中執行緒可被排程(並且如有需要被再排程)以判定核心之數量。在若干實施例中,可以對OS或其他軟體透明之硬體方式來執行此類執行緒排程。在其他情況中,OS本身可對所指示數量之核心執行執行緒排程。
控制接著繼續到方塊1960,其中該等核心之電源狀態可被更新。舉例而言,各種控制訊號被傳送到核心、時脈產生器、電壓調節器、及依此類推,以賦能給定核心之適當啟用/停用。此後,操作發生於下一個區間中,在該操作區間其中該等執行緒在有效核心上執行(方塊1970)。應瞭解雖然以此高層級顯示於圖19之實施例中,但許多變體及替代方案是可能的。
應瞭解根據本發明之實施例的機器學習邏輯提供機器為基自我學習之能力,使得經訓練模式參數(例如,在處理器之生產時提供)之基線可基於在現場中處理器之實際 使用而被(例如,操作系統(包括在處理器之生命週期期間具有一般相似工作量之處理器)之特定終端使用者)更新。此外,隨著工作量與處理器之使用在其生命週期間變化,此些經訓練模式參數可基於此類自我學習而被更新,以賦能在處理器生命週期期間之最佳化效能與電源管理。
現在參照圖20,所顯示係根據本發明之實施例的用於更新經訓練的模式參數之方法的流程圖。如圖20所示,方法2000可被適當組合之硬體、軟體、及/或韌體(諸如實作機器學習為基模式之本文所述硬體電源控制邏輯)來執行。
如所示,方法2000由針對受分析之工作量估計先前組態預測之效能/能量影響而開始(方塊2010)。作為一實例,此影響可能係相關於由降低數量之有效核心(及/或核心操作之降低頻率)所導致之效能損失。接著,控制繼續到菱形2020以判定此影響是否大於第一影響臨界值。舉例而言,在若干實施例中此影響臨界值可能係高影響臨界值,且可被設為預判定層級,例如,以效能損失之百分比計之效能影響。作為一實例,此臨界值層級可能比約10%之效能損失小。若經判定該影響係大於該第一影響臨界值,則控制繼續到方塊2030,其中一或多經訓練模式參數可被更新。更特定地,針對受分析之特定工作量類型,一或多經訓練模式參數可被更新以限制在經訓練模式參數中識別的電源管理組態之效能影響。如此,動態機器或自我學習在處理器生命週期間發生,使得效能與電源管理之 適當平衡可被實現。
仍參照圖20,若取而代之地在方塊2020判定影響未大於此第一影響臨界值,則接著控制繼續到菱形2040以判定該影響是否小於第二影響臨界值。作為一實例,在一實施例中此第二影響臨界值可係低影響臨界值且可能被設定一不同預判定層級,例如少於大約2-3%之效能損失。若經判定該影響係高於此臨界值,則沒有發生更新或自我學習,這是因為用於當前執行之適當經訓練模式參數已存在。另外,若經判定該影響係小於該第二影響臨界值,則控制繼續到方塊2050,其中一或多經訓練模式參數可被更新。更明確地,針對受分析之特定工作量類型,一或多經訓練模式參數可被更新以藉由使用在經訓練模式參數中識別的電源管理組態來提供用於進一步之電源節省控制。如此,動態機器或自我學習在處理器生命週期間發生,使得效能與電源管理之適當平衡可被實現。應瞭解雖然以此高層級顯示於圖20之實施例中,但許多變體及替代方案是可能的。
基於實作之特定模式邏輯(與在處理器生命週期期間執行之自我學習),許多受記憶體限制及受計算限制之工作量可使用較少的有效計算資源及/或較低頻率來實現最佳化效能與能量效率。藉由識別與選擇用於各特定工作量之最佳化組態,實施例可提供大約4倍之能量節省,並同時維持具有少於約5%之效能損失。
現在參照圖21,所顯示係根據另一實施例的處理器 的高層級方塊圖。如圖21所示,處理器2100(其可係多核心處理器或其他SoC)包括電源控制器2110。此類電源控制器2110可藉由硬體、軟體、及/或韌體之各種組合而被實作。在一此類實施例中,電源控制器2110可被實作為獨立微控制器。在其他情況中,電源控制器2110可被實作為通用處理器核心(例如,被分配到電源管理)。作為一實例,此核心可係隱蔽核心以執行電源管理韌體及/或其他電源管理碼。
在任何情況中,所示於圖21之電源控制器2110包括電源控制邏輯2112。一般而言,電源控制邏輯2112可接收各種系統輸入,諸如效能監控資訊、及環境條件監控等,並判定來自系統輸入之適當目標系統狀態。雖然本發明之範疇並未受限於此,但此類目標系統狀態可包括包含電壓與頻率之效能參數。為此,電源控制邏輯2112包括電源管理(PM)模式2114,其可被實作於硬體中以基於系統輸入而產生目標系統狀態。
此外,為賦能到PM模式2114之動態更新,例如藉由使用機器學習,增強學習(RL)邏輯2116亦可實作於電源控制器2110內。更特定顯示地,RL邏輯2116相似地接收系統輸入並執行線上增強學習以判定到PM模式2114之適當更新。因此在各種實施例中,PM模式2114(用於做出電源管理決策)在線上(而非離線)被研發/更新,此相對於預定義控制模式,其係在設計相位期間被編碼(例如到唯讀記憶體中)。在若干實施例中,RL邏 輯2116可被實作為硬體控制單元,其自系統接收與PS模式2114所接收相同之輸入並處理輸入以判定對於模式之任何更新是否適當以改善當前PM模式之準確度/效率。應瞭解有許多可能方法來實作RL邏輯2116(諸如使用具有批量為一之卷積神經網路(convolutional neural network,CNN))。在一特定實施例中,RL邏輯2116可使用適應Kanerva編碼機制來實作,如下述,其可係節省空間之方案。
雖然可使用許多不同系統輸入(包括效能監控資訊、環境資訊與其他資訊之一或多者的組合)作為用於增強學習之屬性,但在實施例中,所選屬性之子集可被使用以代表系統狀態。在一特定實施例中,8種效能監控屬性可被選擇:指令組成(ALU指令vs.分支指令)、記憶體存取率及快取命中/未中率、及本地存取vs.總體存取,如以下表1所示,其係針對一實施例之所選屬性之列表。此些屬性可在每10000週期被讀取並被饋送到RL模組中(例如,圖21之RL邏輯2116),以賦能邏輯以判定要採取哪個PM動作並在必要時更新該模式。使用具有增強學習為基PM之實施例,可實現在能量效率方面大約20%之改善。
Figure 105140473-A0202-12-0061-1
在處理器這裡,RL係用於經由與環境互動來學習一目標之計算方法。增強學習係由人類學習過程之特定態樣所啟發,諸如嘗試與錯誤與延遲報酬,其造成與其他機器學習方法之差別。應瞭解雖然以此高層級顯示於圖21之實施例中,但變體及替代方案是可能的。
現在參照圖22,所顯示係根據本發明之實施例的增強學習系統之方塊圖。如圖22所示,系統2200可實作於處理器之硬體內。如所示,系統2200包括代理器2210。在實施例中,代理器2210可對應於圖21之RL邏輯2116。到代理器2210之輸入包括在給定時間(ST)的系統之狀態。應注意此狀態可包括大量資訊,包括自效能監控硬體、環境監控器、及感測器等所獲得之資訊。此外,代理器2210進一步接收用於給定時間步驟之報酬(RT)。在本文之實施例中,此報酬可係在給定時間步驟或區間處理器內消耗能量之測量。此測量可能採取能量消 耗度量之型式,其可能係估計能量消耗、經計算能量消耗、或另一度量,已使用於特定時間步驟之給定能量消耗層級相關。
基於此輸入資訊(亦即狀態與報酬),代理器2210可經組態以判定適當動作(AT)以應用到環境2220。此環境可在本發明實施例中係多核心處理器或其他SoC本身。並且該動作可對應於用以控制處理器之操作參數的資訊,諸如控制資訊以控制操作參數(亦即電壓與頻率)。應瞭解在其他情況中,操作參數可能係非電壓/頻率之參數或可能除了電壓/頻率外還包括其他參數,諸如對系統/處理器組態之改變、資源之分割、及執行緒控制等。如此,環境2220可調整各種操作參數以導致經更新狀態(ST+1)與經更新報酬(RT+1)。
因此所示於圖22中,增強學習框架2200結合代理器2210(其可係處理器之電源控制器,諸如電源管理器或PM),其作用為學習者與決策者,且環境2220(該系統),其涵蓋代理器2210外部所有物件並與代理器2210互動。此些互動發生於離散時間步驟(t=0,1,2,...N)之序列中。在各步驟中,代理器選擇動作並將其應用到該環境;該環境回應於該動作並將新的情況呈現回去給代理器。政策(其係從環境狀態到選擇不同可能動作之機率的對映)指明該代理器在不同情況中有如何不同行為。增強學習可被如處理般被對待,其中代理器將政策演進,作為其本身經驗之結果。在各步驟,環境回覆立即報酬(immediate reward), 亦即其長期總和係代理器目標要最佳化之數值。
系統之電源管理器(PM)係由RL代理器2210所建立模式。其做出有關哪個電壓-頻率(VF)對要被應用到系統之決策。該代理器亦感測剩餘之系統環境,收集系統統計作為屬性,並自系統接收立即報酬。整個處理發生在各取樣區間(步驟),其可係固定時間週期。雖然本發明之範疇並未受限於此,但各取樣區間可能係在大約1微秒到1毫秒之間。
如圖22所示,代理器2210與環境2220藉由使用動作、狀態與報酬來互動。在實施例中,動作可以係VF對到系統之應用。該VF空間被分成許多VF層級。在實施例中,狀態空間係經實作為運行期間屬性之向量。一屬性係由處理器所追蹤之經觀察效能度量(例如,最終層級快取未中率)。此些屬性典型上自效能與電源統計所選,並被離散化以建立代表一狀態之向量。
為了學習要使長期能量消耗最小化,立即報酬R被指定一-1×(在區間中的能量消耗)之值,使得累積報酬係總能量消耗的負數。結果,將總報酬最大化等效於將總能量最小化。在區間中的能量消耗可藉由平均電源×執行時間來計算出,其中執行時間係自週期數與當前頻率導出。在實施例中,電源消耗可在運行期間自電壓調節器測量出。然而在若干情況中,報酬被指定一為大負數(large negative numbe)之懲罰值,以避免不期望之效能損失。當採取動作時,該效能損失係在相鄰區間之間被計算出。藉 由調整懲罰值,效能可被改變,其允許在運行期間該能量延遲空間被完全地探索。應注意,可藉由經執行之數個指令、或完成之數個浮點運算、及載入/儲存之資料的數個位元組等來測量出效能。當絕對懲罰值係小時,增強學習演算法追求DVFS管理政策往最低能量邁進,並不論任何效能損失。若絕對懲罰值係足夠大時,該政策會經訓練以追求最低能量而不具有效能損失。在其間之任何懲罰值將會使線上學習導向以找尋在特定效能限制下的最低能量。
特徵或屬性選擇係選擇最相關特徵之子集的處理,以建立機器學習中的模式與統計。為達到該特徵子集,具有上千特徵之初始屬性空間可被最佳第一演算法搜尋,並由相關性特徵選擇(CFS)子集評估器所評估。在特徵選擇處理後,屬性之數量最終被刪減到相對小之數量。雖然本發明之範疇並未受限於此,但在實施例中,屬性之所選數量可在3至50之間。
Kanerva編碼係有效概括與功能近似方法,以降低高維度狀態-動作空間之複雜度。一改良方法(適應性Kanerva編碼)被應用到在此之電源管理應用,以選擇狀態之代表性子集以代表整個狀態空間。此選擇可隨時間被動態地改變以改善效能。於增強學習中的一值函數Q(s,a)係與每狀態-動作對相關,且在適應性Kanerva編碼之情境中,各值函數對應於狀態與動作之子集。
經選擇以作為狀態之子集的代表之一狀態被稱為標準型態(prototype)。就像任何其他狀態,其係屬性之向 量,且各屬性具有不同數量之可能值。若兩狀態之值代表在至多一處不同,則該兩狀態係相鄰。舉例而言,若標準型態具有兩屬性<attr1,attr2>,其中attr1可選自{0,1},且attr2可選自{a,b,c},則狀態<1,a>係相鄰於狀態<0,a>、<1,b>及<1,c>但是不相鄰於狀態<2,b>或<2,c>,這係因為在此些狀態中有多於一元件係不同。
針對實作於處理器內之最小空間中,模式實作標準型態表以儲存一組所選之標準型態,其實質上小於整體組之狀態。在實施例中,此標準型態表儲存狀態之子集,其形成PM模式。在實施例中,PM模式可包括其他項目,諸如更新規則、epsilon-greedy政策、決策邏輯、及動作採取邏輯等。該第i個表條目結合標準型態pi,及標準型態值θ(pi,a)用於各動作a。當動作a被採取於狀態s中時,結果導致報酬r與到下一個狀態s'之轉換,該標準型態值θ(pi,a)被更新如下:θ(pi,a)=(1-α)θ(pi,a)+μi(s)α(r+γ‧max Q^(s',a')),其中若狀態s相鄰於標準型態pi則μi(s)係1,且反之係0。隨後,調整參數包括α,其係學習率參數,且其可在0到1之間,以指示該模式多快速地被設定以學習。隨後,γ係折扣率,在0到1之間,以指示過去報酬係值多少。
近似Q值,Q^(s,a),係由相鄰標準型態值的所有者之總和所給定:Q^(s,a)=sum(θ(pi,a)μi(s))。
Kanerva編碼允許標準型態表示多相鄰狀態。當狀態轉換發生時,所有的相鄰標準型態值被更新,以及所有的相鄰狀態動作對之Q值亦被更新。請注意使用Kanerva編碼係可選的,且建立RL系統而未使用Kanerva編碼係有可能的。
標準型態表之大小與所選標準型態於完整狀態空間中之分佈影響Kanerva編碼之效能。必需確保兩準則:(1)沒有標準型態被過於頻繁的拜訪以避免碰撞,其係其中太多狀態相鄰於一標準型態之狀況,且該標準型態無法分辨該等不同狀態;及(2)沒有標準型態被過於不頻繁的拜訪。為遵循此等兩個競爭準則,適應性Kanerva編碼技術被採用以動態地更新該標準型態表。
在實施例中,標準型態表可首先隨機地初始化。為此,給定標準型態表大小k,所有條目被隨機選自該完整狀態空間。在標準型態表中的各條目維持一計數器,稱作nVisit,以計數其拜訪頻率。當觀察到之狀態導致在標準型態表中的未中時,亦即,無尋獲相鄰標準型態,則一新狀態被插入於表中作為新的標準型態。具有最小nVisit計數之現存標準型態被替換掉。
為避免標準型態表具有些許極有效或熱標準型態且其它很少被拜訪之標準型態的情型,實施例可進一步尋求將此類很少被拜訪之標準型態移除。為此,標準型態表可實作由標準型態表更新率所實施之更新規則。在各更新週期之起始處,具有機率pr=exp(-nVisit)之各標準型態被刪 除。為填回該標準型態表,藉由隨機增加該等屬性之一者的值,最常被拜訪之標準型態被分成多相鄰標準型態。此方法週期地清理不頻繁存取的或冷標準型態,並將熱標準型態分割,使得標準型態表在運行期間可有效率地涵蓋狀態空間。
根據實施例的線上增強學習使政策外(off-policy)時間差異方法(Q-學習)到最大效益,以在運行期間學習最佳化控制政策用於精細顆粒DVFS電源管理。該程序(在以下表2(與圖23中)之虛擬碼中進一步說明)可被使用以執行線上學習與線上預測處理。首先,演算法初始化相關學習參數與標準型態表於Kanerva編碼中。接著其在3步驟迴路中迭代,其中步驟1為藉由基於當前政策選擇VF層級來完成預測處理;步驟2為藉由以經感測報酬更新相關值來促進學習過程;及步驟3為藉由更新標準型態表來改善學習之品質。
Figure 105140473-A0202-12-0067-26
Figure 105140473-A0202-12-0068-27
現在參照圖23,所顯示係根據實施例的增強學習方法的流程圖。如圖23所示,方法2300可如上述至少部分由RL邏輯實作,並可實作該表2之虛擬碼。為此,RL邏輯可執行在處理器核心、微控制器或其他可程式化硬體上,以執行所述方法。
如所述,藉由將學習參數與標準型態表初始化(方塊 2310)來開始方法2300。應注意,此些學習參數可根據所欲使用情況而被設定,以控制學習積極度之量。有關於標準型態表,此表可被初始化並具有k個條目之大小,各條目被提供隨機標準型態(或零值)用於該初始化處理。
在完成初始化後,在正常執行期間,控制繼續到方塊2315,其中迴路開始於給定操作區間。在此迴路之起始處,可將隨機值與給定學習參數(例如,sigma值)做比較。在表2之實例中,其中此sigma值被設定在0.05,可判定該隨機數是否小於此學習參數值。在實施例中,處理器之真實隨機數產生器或虛擬隨機數產生器可產生此隨機值。在實施例中,隨機數可被產生於特定限制內,例如在0與1之間。在菱形2320,可判定隨機操作參數動作是否被選擇。此判定可基於以上隨機值與學習參數之比較。作為實例,假設隨機值係小於學習參數值,則隨機操作參數動作可被選擇。
若此類隨機操作參數動作被選擇,則控制繼續到方塊2325,其中RL邏輯可隨機地選擇該操作參數動作。此隨機動作可包括任意可能操作電壓-頻率對之隨機選擇。應瞭解藉由此隨機選擇,處理器效能與電源管理可能不係最佳。然而,此類隨機選擇可發生以賦能改良學習。
反之,若隨機操作參數動作並未被選擇,則控制繼續到方塊2330,其中操作參數動作可基於當前電源管理政策而被選擇。此當前電源管理政策可能係如同實作在電源控制器之PM模式中者一般。如此,針對較典型之操作區 間,一適當與更新(基於增強學習)之操作參數選擇可發生。
仍參見圖23,接下來,控制繼續到方塊2335,其中該RL邏輯可基於此更新的動作來觀察報酬及下一個狀態。應注意該報酬可能在給定實施例中對應於針對評估區間之電源或能量消耗測量,且該下一個狀態可包括效能監控及其他在評估區間期間獲得之資訊。接著在方塊2340,基於此觀察之報酬,所選標準型態值可被計算。此所選標準型態值可能係針對給定狀態之標準型態值,以及一或多相鄰標準型態值。此後在方塊2345,基於該所計算標準型態值,所選標準型態表條目可被更新。
仍參見圖23,可在菱形2350判定下一個狀態是否未中於標準型態表中,意旨針對該狀態沒有條目存在於標準型態表中。若此係該情況,則控制繼續到方塊2355,其中標準型態表之所選條目可被清除並且可儲存新的標準型態條目。在實施例中,清除此條目可包括儲存該條目之資訊到記憶體階層之另外部分。
針對菱形2350與方塊2355兩者,控制繼續到菱形2360,其中判定標準型態更新週期是否已逾期(expired)。應注意,此標準型態更新週期可對應於大量的評估區間。雖然本發明之範疇並未受限於此,但在實施例中,此標準型態更新週期可能在千萬到億個機器週期之間。
若經判定該標準型態更新週期已逾期,則控制繼續到方塊2370,其中給定標準型態條目可被刪除。更特定 地,此條目可能係具有低存取機率之給定條目。接著,最頻繁存取之標準型態條目可被分成兩個獨立條目,以改善增強學習與標準型態表之有效性。應瞭解雖然以此高層級顯示於圖23之實施例中,但許多變體及替代方案是可能的。
現在參照圖24,所顯示係根據本發明之實施例的增強學習硬體邏輯之方塊圖。更明確地,RL硬體邏輯2400可經實作為五階管線,其對來訊資訊執行各種操作(並且期係分離自任何處理器核心管線)。在若干情況中,此硬體邏輯之多例示可被提供,各與多核心處理器之核心相關。如此,至少若干核心可包括或結合此些RL硬體邏輯之給定一者。如所示,各種效能監控資訊(包括數種核心統計及/或記憶體統計)可被提供到預處理器2410。預處理器2410可將此類資訊預處理,例如以選擇對應於給定狀態之適當監控資訊,並將其提供通過硬體緩衝器2415到查詢邏輯2420及相鄰計算邏輯2422。如所示,查詢邏輯2420係耦接到標準型態表2460。在實施例中,標準型態表2460可實作為處理器內之SRAM。在若干情況中,針對降低之大小,此標準型態表可受限於64個條目,其可能消耗大約1kB之空間。
基於該所接收狀態資訊,查詢邏輯2420可存取標準型態表2460內之一或多條目。相鄰條目之存取可至少部分基於相鄰計算邏輯2422而被判定。從該表獲得之資訊與計算之相鄰資訊可被提供通過硬體緩衝器2425到 θ(theta)計算邏輯2430與Q值計算邏輯2432。此類邏輯可基於所接收輸入而計算適當θ與Q值。所完成之值可被提供通過硬體緩衝器2435到θ更新邏輯2440與標準型態更新邏輯2442。基於所計算之值,此類邏輯可適當地更新標準型態表2460內之一或多條目。如進一步所示,此些計算值可被提供通過硬體緩衝器2445到Q最大值判定邏輯2450,其可判定針對給定狀態之Q最大值及標準型態值,以賦能對應將被提供到處理器之控制操作的操作參數。
因此所示於圖24中,在實施例中,RL邏輯2400可經實作為硬體控制單元,其係以處理器核心時脈頻率而完全地管線化。RL邏輯2400可被分成5階管線,其中第一階被使用以感測與離散化來自系統之屬性;第二階被使用以查詢值及計算相鄰;第三階與第四階被使用以並行地更新θ-值及標準型態表;且最終地第五階被使用以計算該最大Q^值,使得VF層級可被選擇。應注意僅有最終階產生要在一步驟內完成之預測,而其他所有階可在多步驟期間執行以完成該學習過程,並且因此不在關鍵路徑上。應瞭解雖然以此高層級顯示於圖24之實施例中,但許多變體及替代方案是可能的。
以下實例關於進一步實施例。
在一實例中,處理器包含:複數個核心;及耦接到該複數個核心之電源控制器。該電源控制器可包括:第一邏輯,用以從該複數個核心之至少若干者接收效能監控資 訊,並根據電源管理模式來判定基於該效能監控資訊的該複數個核心之一或多者的效能狀態;及第二邏輯,用以從該複數個核心之至少若干者接收該效能監控資訊,並根據增強學習過程來動態更新該電源管理模式。
在一實例中,該第二邏輯包含預處理器,用以接收該效能監控資訊並產生具有複數個從該效能監控資訊獲得之屬性的向量。
在一實例中,該第二邏輯可進一步包含第一計算邏輯,用以至少部分基於所儲存之標準型態值及在當前效能狀態之電源消耗層級、及相鄰標準型態值之總和來計算針對該處理器之該當前效能狀態的標準型態值。
在一實例中,該第二邏輯進一步包含第二計算邏輯,用以計算相鄰效能值之該總合。
在一實例中,該處理器進一步包含第一表,其具有各用以儲存標準型態之第一複數個條目,該第一複數個條目之各者包括:針對複數個效能狀態之各者的標準型態值及用以計數對該條目之存取次數的計數器。
在一實例中,該標準型態包含屬性之向量,該等屬性之各者係自該效能監控資訊獲得。
在一實例中,該等屬性之向量包含該效能監控資訊之子集。
在一實例中,該第二邏輯包含預處理器,用以接收包含核心統計資訊及記憶體統計資訊之該效能監控資訊,並從其選擇該效能監控資訊之該子集。
在一實例中,該第二邏輯進一步包含判定邏輯,用以基於最大Q值判定針對該複數個核心之一或多者的該效能狀態。
在一實例中,該第二邏輯係用以導致該第一邏輯在評估區間之第一部分隨機地更新針對該複數個核心之一或多者的該效能狀態,並在該評估區間之剩餘部份根據該電源管理模式更新針對該複數個核心之一或多者的該效能狀態。
在一實例中,該第二邏輯進一步包含多階硬體管線,該多階硬體管線分離自該複數個核心之硬體管線。
在一實例中,該複數個核心之至少若干者包含該第二邏輯,用以從該對應核心接收該效能監控資訊。
應注意以上所述處理器可使用各種機制來實作。
在一實例中,該處理器包含結合於使用者設備觸控裝置中之SoC。
在另一實例中,系統包含顯示器及記憶體,並包括上述實例之一或多者的處理器。
在另一實例中,一種方法包含:根據該處理器之增強學習邏輯的學習參數值來隨機地選擇操作參數動作,以導致處理器之效能狀態改變;基於該隨機操作參數動作來觀察該處理器之系統狀態及電源消耗值;至少部分基於該觀察的電源消耗值來計算一或多標準型態值;及基於該一或多計算的標準型態值來動態地更新該處理器之電源管理模式。
在一實例中,該方法進一步包含回應於隨機值與該學習參數值之比較而隨機地選擇該操作參數動作。
在一實例中,該方法進一步包含若該隨機值超越該學習參數值,則從該電源管理模式選擇操作參數動作。
在一實例中,該方法進一步包含至少部分基於對該增強學習邏輯之標準型態表的一或多條目之更新來動態地更新該電源管理模式。
在一實例中,該方法進一步包含當標準型態未命中於該標準型態表中時,清除該標準型態表之經選擇條目並儲存新條目於該標準型態表中。
在一實例中,該方法進一步包含基於存取之機率而刪除該標準型態表之條目,並基於該標準型態表之最頻繁存取條目而建立新條目於該標準型態表中。
在另一實例中,電腦可讀取媒體包括指令,該等指令係用以執行該上述實例之任意者的方法。
在另一實例中,電腦可讀取媒體包括資料,該資料係由至少一機器所使用以製造至少一機體電路,用以執行該上述實例之任一者的方法。
在另一實例中,設備包含用於執行該上述實例之任一者的方法之機構。
在另一實例中,系統包括:具有複數個核心之處理器;電源控制器,用以基於電源管理模式來控制針對該複數個核心之操作參數;及第一邏輯,用以從該複數個核心之至少若干者接收效能監控資訊,並根據至少部分基於該 效能監控資訊及觀察的該處理器之電源消耗資訊之增強學習處理來動態地更新該電源管理模式。該系統可進一步包括耦接到該處理器之電壓調節器,其中該電源控制器係用以指示該電壓調節器以提供至少一操作電壓到該處理器。
在一實例中,該第一邏輯係用以隨機選擇該等操作參數之一或多者,基於該隨機選擇的該等操作參數之一或多者來觀察系統狀態及該電源消耗資訊,至少部分基於該觀察的電源消耗資訊來計算一或多標準型態值,及基於該計算的一或多標準型態值來動態地更新該電源管理模式。
在一實例中,該第一邏輯係用以隨機地選擇該一或多操作參數,以回應於隨機值與該增強學習過程之學習參數值之間的比較之第一結果,及從該電源管理模式選擇該一或多操作參數,以回應於該比較之第二結果。
在一實例中,該複數個核心之該等操作參數包含第一數目之該複數個核心變為有效之選擇及第二數目之該複數個核心被置於低電源狀態之選擇。
應瞭解該上述實例之各種組合係可能的。
實施例可被使用於許多不同類型之系統中。舉例而言,在一實施例中,通訊裝置可被以執行本文所述之各種方法及技術。理當而言,本發明之範疇不限於通訊裝置,而是其他實施例可專用於用於處理指令的其他類型之設備,或包括指令之一或多機器可讀取媒體,其回應於被執行於計算裝置上,導致該裝置執行出本文所述之方法與技術之一或多者。
實施例可被實作於碼中,且可被儲存於非暫態儲存器媒體上,其具有指令儲存於其上,其可被使用以將系統程式化以執行該等指令。實施例亦可被實作於資料中,且可係儲存在非暫態儲存器媒體上,其若被至少一機器使用,將導致該至少一機器製造至少一積體電路,以執行一或多操作。仍進一步實施例可被實作於包括資訊之電腦可讀取儲存媒體中,當其被製成SoC或其他處理器時,係用以組態該SoC或其他處理器以執行一或多操作。該儲存器媒體可包括,但未受限於,包括軟碟、光碟、固態硬碟(SSD)、光碟唯讀記憶體(CD-ROM)、光碟可覆寫記憶體(CD-RW)、及磁光碟之任何類型之碟片;諸如唯讀記憶體(ROM)、諸如動態隨機存取記憶體(DRAM)與靜態隨機存取記憶體(SRAM)之隨機存取記憶體(RAM)、可抹除可程式化唯讀記憶體(EPROM)、快閃記憶體、及電性可抹除可程式化唯讀記憶體(EEPROM)之半導體裝置;磁或光卡、或適用於儲存電子指令之任何其他類型的媒體。
雖然本發明已參照有限數目之實施例而被描述,但熟悉該技術領域者將能瞭解從其中衍伸出的各種修改及變體。其目的在於由所附申請專利範圍涵蓋落入本發明之範圍及真實精神之內的所有此類修改及變體。
200‧‧‧處理器
210a-210n‧‧‧核心
215‧‧‧互連
220‧‧‧非核心
230‧‧‧共享快取
240‧‧‧整合記憶體控制器
250a-250n‧‧‧介面
255‧‧‧電源控制單元
256‧‧‧工作量分類邏輯

Claims (19)

  1. 一種處理器,包含:複數個核心;及耦接到該複數個核心之電源控制器,該電源控制器包括:第一邏輯,用以從該複數個核心之至少若干者接收效能監控資訊,並根據電源管理模式來判定基於該效能監控資訊的該複數個核心之一或多者的效能狀態;及第二邏輯,用以從該複數個核心之至少若干者接收該效能監控資訊,並根據增強學習過程來動態更新該電源管理模式,其中,該第二邏輯包含預處理器,用以接收該效能監控資訊並產生具有複數個從該效能監控資訊獲得之屬性的向量,其中,該第二邏輯進一步包含第一計算邏輯,用以至少部分基於所儲存之標準型態值及在當前效能狀態之電源消耗層級、及相鄰標準型態值之總和來計算針對該處理器之該當前效能狀態的標準型態值。
  2. 如申請專利範圍第1項之處理器,其中該第二邏輯進一步包含第二計算邏輯,用以計算相鄰標準型態值之該總和。
  3. 如申請專利範圍第1項之處理器,進一步包含第一表,其具有各用以儲存標準型態之第一複數個條目,該 第一複數個條目之各者包括:針對複數個效能狀態之各者的標準型態值及用以計數對該條目之存取次數的計數器。
  4. 如申請專利範圍第3項之處理器,其中該標準型態包含屬性之向量,該等屬性之各者係自該效能監控資訊獲得。
  5. 如申請專利範圍第4項之處理器,其中該等屬性之向量包含該效能監控資訊之子集。
  6. 如申請專利範圍第5項之處理器,其中該第二邏輯包含預處理器,用以接收包含核心統計資訊及記憶體統計資訊之該效能監控資訊,並從其選擇該效能監控資訊之該子集。
  7. 如申請專利範圍第1項之處理器,其中該第二邏輯進一步包含判定邏輯,用以基於最大Q值判定針對該複數個核心之一或多者的該效能狀態。
  8. 如申請專利範圍第1項之處理器,其中該第二邏輯係用以導致該第一邏輯在評估區間之第一部分隨機地更新針對該複數個核心之一或多者的該效能狀態,並在該評估區間之剩餘部份根據該電源管理模式更新針對該複數個核心之一或多者的該效能狀態。
  9. 如申請專利範圍第1項之處理器,其中該第二邏輯包含多階硬體管線,該多階硬體管線分離自該複數個核心之硬體管線。
  10. 如申請專利範圍第1項之處理器,其中該複數個核心之至少若干者包含該第二邏輯,用以至少從該對應核 心接收該效能監控資訊。
  11. 一種具有資料儲存於其上的機器可讀取媒體,其若被至少一機器使用,將導致該至少一機器製造至少一積體電路以執行方法,該方法包含:根據該處理器之增強學習邏輯的學習參數值來隨機地選擇操作參數動作,以導致處理器之效能狀態改變;基於該隨機操作參數動作來觀察該處理器之系統狀態及電源消耗值;至少部分基於該觀察的電源消耗值來計算一或多標準型態值;及基於該一或多計算的標準型態值來動態地更新該處理器之電源管理模式。
  12. 如申請專利範圍第11項之機器可讀取媒體,其中該方法進一步包含回應於隨機值與該學習參數值之比較而隨機地選擇該操作參數動作。
  13. 如申請專利範圍第12項之機器可讀取媒體,其中該方法進一步包含若該隨機值超越該學習參數值,則從該電源管理模式選擇操作參數動作。
  14. 如申請專利範圍第11項之機器可讀取媒體,其中該方法進一步包含至少部分基於對該增強學習邏輯之標準型態表的一或多條目之更新來動態地更新該電源管理模式。
  15. 如申請專利範圍第14項之機器可讀取媒體,其中該方法進一步包含當標準型態未命中於該標準型態表中 時,清除該標準型態表之經選擇條目並儲存新條目於該標準型態表中。
  16. 如申請專利範圍第14項之機器可讀取媒體,其中該方法進一步包含基於存取之機率而刪除該標準型態表之條目,並基於該標準型態表之最頻繁存取條目而建立新條目於該標準型態表中。
  17. 一種系統,其包含:具有複數個核心之處理器;電源控制器,用以基於電源管理模式來控制針對該複數個核心之操作參數;及第一邏輯,用以從該複數個核心之至少若干者接收效能監控資訊,並根據至少部分基於該效能監控資訊及觀察的該處理器之電源消耗資訊之增強學習過程來動態地更新該電源管理模式;及耦接到該處理器之電壓調節器,其中該電源控制器係用以指示該電壓調節器以提供至少一操作電壓到該處理器,其中,該第一邏輯係用以隨機選擇該等操作參數之一或多者,基於該隨機選擇的該等操作參數之一或多者來觀察系統狀態及該電源消耗資訊,至少部分基於該觀察的電源消耗資訊來計算一或多標準型態值,及基於該計算的一或多標準型態值來動態地更新該電源管理模式。
  18. 如申請專利範圍第17項之系統,其中該第一邏輯係用以隨機地選擇該一或多操作參數,以回應於隨機值與該增強學習過程之學習參數值之間的比較之第一結果, 及從該電源管理模式選擇該一或多操作參數,以回應於該比較之第二結果。
  19. 如申請專利範圍第17項之系統,其中該複數個核心之該等操作參數包含第一數目之該複數個核心變為有效之選擇及第二數目之該複數個核心被置於低電源狀態之選擇。
TW105140473A 2016-01-14 2016-12-07 動態更新處理器的電源管理政策 TWI725086B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/995,263 US10146286B2 (en) 2016-01-14 2016-01-14 Dynamically updating a power management policy of a processor
US14/995,263 2016-01-14

Publications (2)

Publication Number Publication Date
TW201800898A TW201800898A (zh) 2018-01-01
TWI725086B true TWI725086B (zh) 2021-04-21

Family

ID=59311539

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105140473A TWI725086B (zh) 2016-01-14 2016-12-07 動態更新處理器的電源管理政策

Country Status (3)

Country Link
US (1) US10146286B2 (zh)
TW (1) TWI725086B (zh)
WO (1) WO2017123334A1 (zh)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10621008B2 (en) * 2016-01-25 2020-04-14 Htc Corporation Electronic device with multi-core processor and management method for multi-core processor
US10445235B2 (en) * 2016-07-29 2019-10-15 Seagate Technology Llc Weighted data striping
US10360128B2 (en) * 2017-01-23 2019-07-23 American Express Travel Related Services Company, Inc. System and method for dynamic scaling of concurrent processing threads
US10949743B2 (en) * 2017-03-09 2021-03-16 Alphaics Corporation Method and system for implementing reinforcement learning agent using reinforcement learning processor
US10878314B2 (en) * 2017-03-09 2020-12-29 Alphaics Corporation System and method for training artificial intelligence systems using a SIMA based processor
JP6530783B2 (ja) * 2017-06-12 2019-06-12 ファナック株式会社 機械学習装置、制御装置及び機械学習プログラム
US10509449B2 (en) * 2017-07-07 2019-12-17 Hewlett Packard Enterprise Development Lp Processor power adjustment
US10732694B2 (en) * 2017-09-22 2020-08-04 Qualcomm Incorporated Power state control of a mobile device
US11593658B2 (en) 2017-10-20 2023-02-28 Shanghai Cambricon Information Technology Co., Ltd Processing method and device
WO2019104228A1 (en) * 2017-11-21 2019-05-31 Google Llc Low-power ambient computing system with machine learning
CN111356958A (zh) * 2017-11-23 2020-06-30 西门子股份公司 用于减少技术系统中振荡的方法、控制器和计算机程序产品
CN111406266A (zh) * 2017-12-01 2020-07-10 瑞典爱立信有限公司 选择学习模型
FR3075409B1 (fr) * 2017-12-15 2020-01-03 Commissariat A L'energie Atomique Et Aux Energies Alternatives Dispositif electronique de traitement de signaux a optimisation integree de consommation d'energie electrique et procede correspondant
CN108197705A (zh) * 2017-12-29 2018-06-22 国民技术股份有限公司 卷积神经网络硬件加速装置及卷积计算方法及存储介质
KR102533241B1 (ko) * 2018-01-25 2023-05-16 삼성전자주식회사 적응적으로 캐시 일관성을 제어하도록 구성된 이종 컴퓨팅 시스템
US11568236B2 (en) 2018-01-25 2023-01-31 The Research Foundation For The State University Of New York Framework and methods of diverse exploration for fast and safe policy improvement
KR102568686B1 (ko) 2018-02-09 2023-08-23 삼성전자주식회사 컨텍스트 허브를 포함하는 모바일 장치 및 그것의 동작 방법
TWI639075B (zh) 2018-02-12 2018-10-21 創意電子股份有限公司 電腦執行方法、時脈資料處理系統以及電腦可讀取儲存媒體
CN109388484B (zh) * 2018-08-16 2020-07-28 广东石油化工学院 一种基于Deep Q-network算法的多资源云作业调度方法
US11502934B2 (en) * 2018-08-21 2022-11-15 The George Washington Univesity EZ-pass: an energy performance-efficient power-gating router architecture for scalable on-chip interconnect architecture
US11320883B2 (en) * 2018-09-28 2022-05-03 Intel Corporation Multi-die stacks with power management
US10942562B2 (en) * 2018-09-28 2021-03-09 Intel Corporation Methods and apparatus to manage operation of variable-state computing devices using artificial intelligence
US11106261B2 (en) 2018-11-02 2021-08-31 Nvidia Corporation Optimal operating point estimator for hardware operating under a shared power/thermal constraint
US11252046B2 (en) * 2018-12-14 2022-02-15 Juniper Networks, Inc. System for identifying and assisting in the creation and implementation of a network service configuration using Hidden Markov Models (HMMs)
US11199895B2 (en) * 2018-12-27 2021-12-14 Intel Corporation Classification prediction of workload thermal behavior
US11579680B2 (en) * 2019-02-01 2023-02-14 Alibaba Group Holding Limited Methods and devices for power management based on synthetic machine learning benchmarks
US11150720B2 (en) * 2019-02-04 2021-10-19 Sateesh Kumar Addepalli Systems and methods for power management of hardware utilizing virtual multilane architecture
US11036275B2 (en) * 2019-03-29 2021-06-15 Intel Corporation Detection of known workload patterns
DE102019109597B4 (de) 2019-04-11 2023-02-16 Bayerische Motoren Werke Aktiengesellschaft Verfahren, Bussystem und Fortbewegungsmittel zum Steuern einer Auslastung des Bussystems des Fortbewegungsmittels
WO2021011577A1 (en) * 2019-07-15 2021-01-21 Intel Corporation Dynamic energy performance preference based on workloads using an adaptive algorithm
US10755772B1 (en) 2019-07-31 2020-08-25 Shanghai Cambricon Information Technology Co., Ltd Storage device and methods with fault tolerance capability for neural networks
KR20210045544A (ko) 2019-10-16 2021-04-27 삼성전자주식회사 클럭 사이클에 기반하여 전력을 모니터링하는 동적 전력 모니터, 프로세서, 및 시스템 온 칩
US11580421B2 (en) * 2019-10-16 2023-02-14 Qualcomm Incorporated Weakly supervised learning for improving multimodal sensing platform
US11809250B2 (en) * 2019-10-29 2023-11-07 Intel Corporation Workload aware power limiting and multiple-input multiple-output control
TWI760722B (zh) * 2019-11-10 2022-04-11 瑞昱半導體股份有限公司 自適性電壓定比量測方法及相關的電子裝置
TWI726502B (zh) * 2019-11-26 2021-05-01 神雲科技股份有限公司 更新韌體不需斷電的伺服器及主機板模組
US11782755B2 (en) * 2019-12-02 2023-10-10 Intel Corporation Methods, systems, articles of manufacture, and apparatus to optimize thread scheduling
US11874761B2 (en) * 2019-12-17 2024-01-16 The Boeing Company Apparatus and method to assign threads to a plurality of processor cores for virtualization of a hardware configuration
TWI736079B (zh) * 2019-12-23 2021-08-11 瑞昱半導體股份有限公司 晶片及其異常處理方法
US11657273B2 (en) 2019-12-27 2023-05-23 Industrial Technology Research Institute Hardware structure aware adaptive learning based power modeling method and system
US11301298B2 (en) 2020-03-28 2022-04-12 Intel Corporation Apparatus and method for dynamic control of microprocessor configuration
US11663039B2 (en) 2020-04-07 2023-05-30 International Business Machines Corporation Workload management using reinforcement learning
GB2597277B (en) * 2020-07-17 2022-07-13 Sky Cp Ltd Predictive power management using machine learning
US20220043414A1 (en) * 2020-08-05 2022-02-10 Korea Advanced Institute Of Science And Technology Apparatus and method for operating energy storage system
TWI749728B (zh) * 2020-08-24 2021-12-11 和碩聯合科技股份有限公司 可攜式電子裝置
TW202236053A (zh) * 2020-10-22 2022-09-16 美國亞利桑那州立大學亞利桑那州評議委員會 Hilite﹔用於嵌入式系統單晶片(soc)之電源管理的分層及輕量級模仿學習
US20220197856A1 (en) * 2020-12-22 2022-06-23 Shadi Khasawneh System, Apparatus And Method For Dynamically Configuring One Or More Hardware Resources Of A Processor
TWI774320B (zh) * 2021-04-14 2022-08-11 新唐科技股份有限公司 晶片結構及晶片功能控制方法
US20230136437A1 (en) * 2021-10-29 2023-05-04 Verizon Patent And Licensing Inc. Software-based power management for virtualization platforms
US20240004444A1 (en) * 2022-06-30 2024-01-04 Advanced Micro Devices, Inc. Rest-of-chip power optimization through data fabric performance state management
US20240118740A1 (en) * 2022-10-06 2024-04-11 Google Llc Workload-Aware Voltage Regulator Tuning

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080201591A1 (en) * 2007-02-16 2008-08-21 Chunling Hu Method and apparatus for dynamic voltage and frequency scaling
US20100191997A1 (en) * 2006-06-06 2010-07-29 Intel Corporation Predict computing platform memory power utilization
US20110173617A1 (en) * 2010-01-11 2011-07-14 Qualcomm Incorporated System and method of dynamically controlling a processor
US20140195829A1 (en) * 2012-03-13 2014-07-10 Malini K. Bhandaru Dynamically computing an electrical design point (edp) for a multicore processor
US20150373036A1 (en) * 2014-06-24 2015-12-24 Qualcomm Incorporated Methods and Systems for Side Channel Analysis Detection and Protection

Family Cites Families (88)

* 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
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
JP2006518064A (ja) 2003-01-23 2006-08-03 ユニバーシティー オブ ロチェスター マルチクロックドメインを有するマイクロプロセッサ
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
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
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
US20070106827A1 (en) 2005-11-08 2007-05-10 Boatright Bryan D Centralized interrupt controller
US20070208463A1 (en) * 2006-03-02 2007-09-06 International Business Machines Corporation Learning a predicted voltage to supply an electronic device based on dynamic voltage variation
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
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
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
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 엘지전자 주식회사 전원관리 제어 장치 및 방법
US7992015B2 (en) * 2008-02-05 2011-08-02 Dell Products L.P. Processor performance state optimization
US8156362B2 (en) 2008-03-11 2012-04-10 Globalfoundries Inc. Hardware monitoring and decision making for transitioning in and out of low-power state
US8219994B2 (en) * 2008-10-23 2012-07-10 Globalfoundries Inc. Work balancing scheduler for processor cores and methods thereof
US8954977B2 (en) 2008-12-09 2015-02-10 Intel Corporation Software-based thread remapping for power savings
US9189282B2 (en) 2009-04-21 2015-11-17 Empire Technology Development Llc Thread-to-core mapping based on thread deadline, thread demand, and hardware characteristics data collected by a performance counter
US8924975B2 (en) * 2009-07-23 2014-12-30 Empire Technology Development Llc Core selection for applications running on multiprocessor systems based on core and application characteristics
US8700943B2 (en) 2009-12-22 2014-04-15 Intel Corporation Controlling time stamp counter (TSC) offsets for mulitple cores and threads
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
US8943340B2 (en) 2011-10-31 2015-01-27 Intel Corporation Controlling a turbo mode frequency of a processor
US9158693B2 (en) 2011-10-31 2015-10-13 Intel Corporation Dynamically controlling cache size to maximize energy efficiency
US9098261B2 (en) 2011-12-15 2015-08-04 Intel Corporation User level control of power management policies
US9323316B2 (en) 2012-03-13 2016-04-26 Intel Corporation Dynamically controlling interconnect frequency in a processor
CN104169832B (zh) 2012-03-13 2017-04-19 英特尔公司 提供处理器的能源高效的超频操作
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
US9995655B2 (en) * 2012-11-19 2018-06-12 Abb Schweiz Ag Assessment of power system equipment for equipment maintenance and/or risk mitigation
US9939883B2 (en) * 2012-12-27 2018-04-10 Nvidia Corporation Supply-voltage control for device power management
US9304573B2 (en) * 2013-06-21 2016-04-05 Apple Inc. Dynamic voltage and frequency management based on active processors
US9348401B2 (en) * 2013-06-25 2016-05-24 Intel Corporation Mapping a performance request to an operating frequency in a processor
US9292293B2 (en) 2013-08-08 2016-03-22 Qualcomm Incorporated Intelligent multicore control for optimal performance per watt
US9563724B2 (en) 2013-09-28 2017-02-07 International Business Machines Corporation Virtual power management multiprocessor system simulation
US9459689B2 (en) * 2013-12-23 2016-10-04 Intel Corporation Dyanamically adapting a voltage of a clock generation circuit
US9489031B2 (en) * 2014-03-10 2016-11-08 Apple Inc. Method to reduce acoustic noise induced by processor performance state changes in response to periodic application workloads
US9660649B2 (en) * 2014-11-17 2017-05-23 Qualcomm Incorporated Voltage scaling for holistic energy management
US10101786B2 (en) * 2014-12-22 2018-10-16 Intel Corporation Holistic global performance and power management
US10234930B2 (en) * 2015-02-13 2019-03-19 Intel Corporation Performing power management in a multicore processor
US10101800B2 (en) * 2015-07-29 2018-10-16 Samsung Electronics Co., Ltd. Method of managing power and electronic device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100191997A1 (en) * 2006-06-06 2010-07-29 Intel Corporation Predict computing platform memory power utilization
US20080201591A1 (en) * 2007-02-16 2008-08-21 Chunling Hu Method and apparatus for dynamic voltage and frequency scaling
US20110173617A1 (en) * 2010-01-11 2011-07-14 Qualcomm Incorporated System and method of dynamically controlling a processor
US8671413B2 (en) * 2010-01-11 2014-03-11 Qualcomm Incorporated System and method of dynamic clock and voltage scaling for workload based power management of a wireless mobile device
US20140195829A1 (en) * 2012-03-13 2014-07-10 Malini K. Bhandaru Dynamically computing an electrical design point (edp) for a multicore processor
US20150373036A1 (en) * 2014-06-24 2015-12-24 Qualcomm Incorporated Methods and Systems for Side Channel Analysis Detection and Protection

Also Published As

Publication number Publication date
TW201800898A (zh) 2018-01-01
US20170205863A1 (en) 2017-07-20
US10146286B2 (en) 2018-12-04
WO2017123334A1 (en) 2017-07-20

Similar Documents

Publication Publication Date Title
TWI725086B (zh) 動態更新處理器的電源管理政策
US10775873B2 (en) Performing power management in a multicore processor
CN107209545B (zh) 在多核处理器中执行功率管理
CN107533354B (zh) 控制处理器的处理引擎的性能状态
CN108885483B (zh) 确定多管芯处理器中的热余量
TWI592794B (zh) 用以提供多晶片封裝之熱參數報告的裝置與方法
CN109564526B (zh) 使用封装和线程提示信息的组合来控制处理器的性能状态
KR20210134322A (ko) 프로세서의 전력 라이센스 제어를 위한 시스템, 장치 및 방법
CN113448423A (zh) 用于基于任务特性动态调整平台功率和性能的装置和方法
CN114207597A (zh) 用于向异构处理器中的操作系统提供硬件状态反馈的系统、装置和方法
CN113448373A (zh) 用于处理器的电压调节器的功率状态缩放的装置和方法
CN112835443A (zh) 用于控制功率消耗的系统、装置和方法
CN111936952A (zh) 用于处理器的响应式自主硬件性能状态控制的系统、装置和方法
CN118113127A (zh) 用于基于任务特性动态调整平台功率和性能的装置和方法