TWI599960B - 在多核心處理器中執行電源管理 - Google Patents

在多核心處理器中執行電源管理 Download PDF

Info

Publication number
TWI599960B
TWI599960B TW105100560A TW105100560A TWI599960B TW I599960 B TWI599960 B TW I599960B TW 105100560 A TW105100560 A TW 105100560A TW 105100560 A TW105100560 A TW 105100560A TW I599960 B TWI599960 B TW I599960B
Authority
TW
Taiwan
Prior art keywords
core
processor
workload
cores
memory
Prior art date
Application number
TW105100560A
Other languages
English (en)
Other versions
TW201643714A (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 TW201643714A publication Critical patent/TW201643714A/zh
Application granted granted Critical
Publication of TWI599960B publication Critical patent/TWI599960B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • 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/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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/329Power saving characterised by the action undertaken by task scheduling
    • 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
    • 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]
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)

Description

在多核心處理器中執行電源管理
實施例關於系統之電源管理,更特定地關於多核心處理器之電源管理。
半導體處理及邏輯設計中先進之處允許可呈現於積體電路裝置之邏輯量增加。結果,電腦系統組態從系統中單一或多個積體電路進化為個別積體電路上之多個硬體執行緒、多個核心、多個裝置、及/或完整系統。此外,隨著積體電路之密度成長,運算系統之電力需求(從嵌入系統至伺服器)亦逐步升高。此外,軟體無效性及其硬體需求亦致使運算裝置能量消耗增加。事實上,若干研究指出運算裝置消耗整個國家電力供應之相當大比例,諸如美國。結果,存在與積體電路相關聯之能源效率及守恆的重大需要。隨著伺服器、桌上型電腦、筆記型電腦、UltrabooksTM(超筆電)、平板電腦、行動電話、處理器、嵌入系統等變得更普遍(從包含於典型電腦、汽車、及電視中,至生物技術),該些需要將增加。
100、1200、1300、1400‧‧‧系統
110、200、300、400、900、1410、1700‧‧‧處理器
120a-120n、210a-210n、3100-310n、401、402、500、600、700、800、1710、17100-1710n、2200‧‧‧核心
125、125a-125n、125x‧‧‧積體電壓調整器(IVR)
132‧‧‧輸入/輸出介面
134‧‧‧周邊組件高速互連介面
136、240、370、1050‧‧‧積體記憶體控制器
138、225、355‧‧‧電力控制單元(PCU)
150‧‧‧電源
160‧‧‧外部電壓調整器
215‧‧‧互連
220‧‧‧非核心
230‧‧‧共用快取記憶體
250、250a-250n、3800-380n、1592、1596‧‧‧介面
255‧‧‧電力控制單元
256、356‧‧‧工作負載分類邏輯
310‧‧‧核心域
320‧‧‧圖形域
330‧‧‧環形互連
340、3400-340n‧‧‧最後級快取記憶體(LLC)
350‧‧‧系統代理器域
352‧‧‧顯示器控制器
401a、401b、402a、402b‧‧‧架構狀態暫存器
405‧‧‧匯流排介面模組
410‧‧‧較高級快取記憶體
420、421、2222‧‧‧指令翻譯後備緩衝器(ITLB)
425、426‧‧‧解碼模組
430、431‧‧‧配置器及重命名程序方塊
435、436‧‧‧重排序/止用單元
440、441‧‧‧排程器及執行單元方塊
450、451‧‧‧較低級資料快取記憶體及資料翻譯緩衝器(D-TLB)
460、1750‧‧‧電力控制器
470、935‧‧‧記憶體控制器
501、710、810、2210‧‧‧提取單元
503、610‧‧‧指令快取記憶體
505、615‧‧‧指令解碼器
510‧‧‧前端單元
515‧‧‧亂序(OOO)引擎
520‧‧‧執行單元
522、635‧‧‧算術邏輯單元(ALU)
524‧‧‧向量執行單元
530‧‧‧暫存器檔案
535‧‧‧延伸暫存器檔案
538‧‧‧機器特定暫存器(MSR)
540‧‧‧重排序緩衝器(ROB)
550、820、1015、1025、1720‧‧‧快取記憶體
605‧‧‧分支預測器
618‧‧‧微碼唯讀記憶體
620‧‧‧發布佇列
630‧‧‧浮點管線
632‧‧‧浮點暫存器檔案
634‧‧‧浮點排程器
636‧‧‧重排單元
638‧‧‧浮點加法器
640‧‧‧整數管線
642‧‧‧整數暫存器檔案
644‧‧‧整數排程器
646‧‧‧移位器單元
648‧‧‧跳越執行單元
650‧‧‧記憶體執行排程器
652‧‧‧位址產生單元
654‧‧‧翻譯後備緩衝器(TLB)
660‧‧‧資料快取記憶體
670‧‧‧配置器/重命名程序
680‧‧‧重排序緩衝器
715‧‧‧解碼單元
725‧‧‧發布邏輯
730、825、22950-2295n‧‧‧佇列
735、835‧‧‧整數單元
740、840‧‧‧乘法單元
750、850‧‧‧浮點/向量單元
760‧‧‧雙發布單元
770、870‧‧‧負載/儲存單元
780、880‧‧‧寫回單元
815‧‧‧解碼器/重命名器/調度器
830‧‧‧發布邏輯
860‧‧‧分支單元
910、9100-910n‧‧‧核心單元
920‧‧‧圖形單元
925‧‧‧圖像信號處理器
930‧‧‧非揮發儲存體
940‧‧‧電力管理器
945‧‧‧安全處理器
950‧‧‧視訊編碼器
955‧‧‧顯示器控制器
960a-960d‧‧‧介面
1000、1100、1310‧‧‧系統晶片(SoC)
1010‧‧‧第一核心域
1012、10120-12123‧‧‧第一核心
1020‧‧‧第二核心域
1022、10220-10223‧‧‧第二核心
1030、1120‧‧‧圖形域
1040‧‧‧同調互連
1110‧‧‧中央處理器單元(CPU)域
1130‧‧‧數位信號處理器(DSP)單元
1140‧‧‧通訊單元
1150‧‧‧多媒體處理器
1160‧‧‧感測器單元
1170‧‧‧圖像信號處理器
1180‧‧‧顯示器處理器
1190‧‧‧位置單元
1205‧‧‧基帶處理器
1210‧‧‧應用處理器
1215、1380‧‧‧電源管理積體電路(PMIC)
1220‧‧‧使用者介面/顯示器
1225、1360‧‧‧感測器
1230‧‧‧快閃記憶體
1235、1345‧‧‧動態隨機存取記憶體(DRAM)
1240‧‧‧通用積體電路卡(UICC)
1240‧‧‧擷取裝置
1250‧‧‧安全處理器
1260‧‧‧近場通訊(NFC)無接觸介面
1265‧‧‧近場通訊(NFC)天線
1270‧‧‧射頻(RF)收發器
1275‧‧‧無線局域網路(WLAN)收發器
1280‧‧‧全球定位系統(GPS)感測器
1290、1355‧‧‧天線
1295、1370‧‧‧音頻輸出裝置
1320‧‧‧觸控面板
1325‧‧‧周邊集線器
1330‧‧‧乙太網路介面
1340‧‧‧快閃記憶體
1350、1450‧‧‧無線局域網路(WLAN)單元
1365‧‧‧音頻編解碼器
1390‧‧‧電池
1395‧‧‧交流(AC)變壓器
1415‧‧‧系統記憶體
1420‧‧‧大量儲存體
1422‧‧‧快閃裝置
1424‧‧‧顯示器
1425‧‧‧觸控螢幕
1430‧‧‧觸控板
1435‧‧‧嵌入控制器(EC)
1436‧‧‧鍵盤
1437‧‧‧風扇
1438‧‧‧可信平台模組(TPM)
1439、1446‧‧‧熱感測器
1440‧‧‧感測器集線器
1441‧‧‧加速計
1442‧‧‧環境光感測器(ALS)
1443‧‧‧羅盤
1444‧‧‧陀螺儀
1445‧‧‧近場通訊(NFC)單元
1452‧‧‧藍牙單元
1454‧‧‧相機模組
1455‧‧‧全球定位系統(GPS)模組
1456‧‧‧無線廣域網路(WWAN)單元
1457‧‧‧用戶識別模組(SEM)
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、1550、1562、1564‧‧‧點對點互連
1570‧‧‧第一處理器
1572、1582‧‧‧記憶體控制器集線器(MCH)
1574a、1574b、1584a、1584b‧‧‧處理器核心
1576、1578、1586、1588、1594、1598‧‧‧點對點(P-P)介面
1580‧‧‧第二處理器
1590‧‧‧晶片組
1600‧‧‧電力控制邏輯
1610‧‧‧性能特性緩衝器
1620‧‧‧預測邏輯
1630‧‧‧控制邏輯
1730‧‧‧內部記憶體
1760‧‧‧特性緩衝器
1770‧‧‧性能/能量模型邏輯
1780‧‧‧組態儲存體
1790‧‧‧電力組態選擇器
1792‧‧‧歷史邏輯
1794‧‧‧衝擊邏輯
1795‧‧‧更新邏輯
1800、1900、2000‧‧‧方法
1810、1820、1830、1840、1850、1860、1870、1880、1910、1920、1930、1940、1950、1960、1970、2010、2030、2050‧‧‧方塊
1835、1845、2020、2040‧‧‧菱形
2100‧‧‧狀態圖
2205‧‧‧分支單元
2208、22080-2208n‧‧‧程式計數器單元
2212‧‧‧政策邏輯
2220、2290‧‧‧快取記憶體
22250-2225n‧‧‧發布佇列
2230‧‧‧解碼器單元
2235‧‧‧重命名器/調度器單元
2240‧‧‧實體暫存器集區
2250、22500-2250n‧‧‧暫存器組
22550-2255n‧‧‧負載佇列
2260‧‧‧統一排程器
2265、22650-2265n‧‧‧儲存佇列
2270‧‧‧單一指令多個資料(SIMD)單元
2272‧‧‧算術邏輯單元(ALU)
2275‧‧‧浮點單元(FPU)
22800-2280n‧‧‧負載儲存單元(LSU)
2292‧‧‧資料翻譯後備緩衝器(TLB)
H1‧‧‧簡單分類試探模型
H2‧‧‧反饋分類試探模型
圖1為依據本發明之實施例之一部分系統的方塊圖。
圖2為依據本發明之實施例之處理器的方塊圖。
圖3為依據本發明之另一實施例之多域處理器的方塊圖。
圖4為包括多個核心之處理器的實施例。
圖5為依據本發明之一實施例之處理器核心之微架構的方塊圖。
圖6為依據另一實施例之處理器核心之微架構的方塊圖。
圖7為依據又另一實施例之處理器核心之微架構的方塊圖。
圖8為依據仍進一步實施例之處理器核心之微架構的方塊圖。
圖9為依據本發明之另一實施例之處理器的方塊圖。
圖10為依據本發明之實施例之代表SoC的方塊圖。
圖11為依據本發明之實施例之另一範例SoC的方塊圖。
圖12為範例系統之方塊圖,基此而可使用實 施例。
圖13為另一範例系統之方塊圖,基此而可使用實施例。
圖14為代表電腦系統之方塊圖。
圖15為依據本發明之實施例之系統的方塊圖。
圖16為依據本發明之實施例之電力控制邏輯的方塊圖。
圖17為依據本發明之另一實施例之包括硬體電力控制邏輯之處理器的方塊圖。
圖18為依據本發明之實施例之用於控制處理器之電力消耗之方法的流程圖。
圖19為依據本發明之另一實施例之用於控制處理器之電力消耗之方法的流程圖。
圖20為依據本發明之實施例之用於更新訓練模型參數之方法的流程圖。
圖21為依據本發明之實施例之遷移邏輯的狀態圖。
圖22為依據本發明之實施例之偏向記憶體核心的方塊圖。
【發明內容及實施方式】
在各式實施例中,提供用於處理器之智慧型多核心電源管理控制器,其即時學習工作負載特性及動態 地調整電力組態而提供每一能量之優化性能。在一實施例中,該等電力組態包括主動核心及執行緒之數量,以及用於每一主動核心之優化電壓及頻率。在各式實施例中,基於學習之機器性能及能量模型識別特定工作負載行為,諸如密集記憶體存取及預測優化電力控制,包括將一或更多個核心置入閒置或低電力狀態,同時使記憶體資源飽和。
在實施例中,電源管理控制器與決定優化電力組態及機構之政策組配,而施加決定之組態予基本系統。該等政策可包括專家發展之試探,及/或離線/線上機器學習方案,並可進一步包括若干使用者級及作業系統(OS)級核心對執行緒管理機構。
如文中所描述之電源管理控制器可組配而僅配置所需資源至工作負載,使得性能及能量效率可最大化。關於範例,記憶體界限工作負載使記憶體資源(諸如頻寬或佇列)在所有運算資源完全利用之前飽和。若以所有活動之執行緒及核心執行該等工作負載,將導致不良效率。若干計算界限工作負載亦因各式原因,諸如增加之同步開銷,而遭受折衷之可擴縮性。實施例同等地施加於造成核心中鬆弛之其他工作負載,使得核心變得利用不足。其他範例工作負載包括I/O或網路邊界工作負載。實施例因而可識別用於不同工作負載之最佳電力組態。例如,可識別特定工作負載,並可關閉工作負載之利用不足資源,或以減少之消耗位準操作,而致能顯著能量節省而未不利地影響性能。
在實施例中,用於工作負載之最佳電力組態定義執行緒及核心、執行單元、電壓及頻率等之優化數量。此電力組態取決於許多參數,包括運行時間工作負載行為及系統電力狀態。此外,當考量電力狀態間之轉變期間所招致之開銷時,選擇程序變得更複雜。單一固定的控制政策難以適於各式工作負載及不同系統。實施例因而提供一組不同模型評估,且智慧型選擇器從識別之模型挑選。此致能運行時間之多個控制政策及彈性選擇。因而,實施例可用以決定同時用於每一工作負載之優化電力組態(例如,核心/執行緒數量、及電壓/頻率),而非依據單一性能/能量預測模型之預先定義之控制政策。
實施例操作而節省能量,未不利地影響密集記憶體工作負載之性能,使記憶體資源於完全利用運算資源之前飽和,其浪費多核心處理器中之能量。實施例可識別該等行為並關閉利用不足之核心,而提供能量節省而無性能犧牲。
在若干實施例中,異質多處理器可包括二不同類型核心:一核心類型優化用於運算,及另一核心類型優化用於記憶體存取。在一範例中,二核心類型實施相同指令集架構(ISA),但具有不同微架構,可促進核心類型間之執行緒遷移。
程式之運算及記憶體界限階段可具有極不同處理器需求,而無法由單一核心類型優化。例如,優化用於計算工作負載之同質多處理器可以可維持每核心每週期 一融合乘加單元(FMA)之頻率運行的最高核心計數為目標。然而,此多處理器於程式階段期間能量效率不彰,大部分在等候記憶體返回。所以在記憶體界限階段期間,核心大部分閒置等候記憶體存取,但閒置時間不足以保證將核心置於低電力狀態。結果,處於高頻之閒置核心可消耗不必要功率。
同樣地,實施例提供異質多處理器,包括優化用於不同作業點之二或更多個專用核心類型。在文中所描述之範例中,提供二核心類型,運算優化核心(亦稱為偏向計算核心)及記憶體優化核心(亦稱為偏向記憶體核心)。然而,了解本發明之範圍不侷限於二核心類型,在其他狀況下,可呈現優化用於其他工作負載類型之其餘核心類型。
儘管參照特定積體電路中之能量守恆及能量效率而描述下列實施例,諸如運算平台或處理器中,其他實施例可應用於其他類型積體電路及邏輯裝置。文中所描述之實施例的類似技術及教學可應用於亦可獲益於較佳能量效率及能量守恆的其他類型電路或半導體裝置。例如,揭露之實施例不侷限於任何特定類型電腦系統。即,揭露之實施例可用於許多不同系統類型,範圍從伺服器電腦(例如,塔式、架式、刀鋒型、微伺服器等)、通訊系統、儲存系統、任何組態桌上型電腦、膝上型、筆記型電腦、及平板電腦(包括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實施而允許電壓之細粒控制,因而控制每一個別核心之電力及性能。同樣地,每一核心可以獨立電壓及頻率操作,致能大的彈性及提供廣泛機會來均衡電力消耗與性能。在若干實施例中,使用多個IVR致能將組件分組為個別電力平面,使得調整電力並由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狀態可因而為機運性或渦輪模式狀態,其中當電力及/或熱預算可用時,處理器硬體可組配處理器或至少 其部分而高於保障頻率地操作。在許多實施中,處理器可包括高於P1保障最大頻率之多個所謂箱頻率,超過特定處理器之最大峰值頻率,於製造期間熔合或另外地寫入處理器。此外,依據一OSPM機構,處理器可以各式電力狀態或位準操作。關於電力狀態,OSPM機構可指明不同電力消耗狀態,一般稱為C狀態,C0、C1至Cn狀態。當核心作用時,係以C0狀態運行,當核心閒置時,便置於核心低電力狀態,亦稱為核心非零C狀態(例如,C1-C6狀態),且每一C狀態處於較低電力消耗位準(使得C6為遠低於C1之低電力狀態等)。
了解許多不同類型電源管理技術可個別或組合用於不同實施例。關於代表範例,電力控制器可控制處理器為若干動態電壓頻率縮放(DVFS)形式管理之電力,其中可動態地控制一或更多個核心或其他處理器邏輯之操作電壓及/或操作頻率,而減少某情況下之電力消耗。在一範例中,可使用加州聖克拉拉Intel公司之動態節能(Enhanced Intel SpeedStepTM)技術執行DVFS,而以最低電力消耗位準提供優化性能。在另一範例中,可使用渦輪加速(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介面,用於諸如其餘處理器或其他電路之其他代理器間之通訊。儘管在圖3之實施例中以此高級顯示,了解本發明之範圍不侷限於此。
參照圖4,描繪包括多個核心之處理器的實施例。處理器400包括任何處理器或處理裝置,諸如微處理器、嵌入處理器、數位信號處理器(DSP)、網路處理器、手持式處理器、應用處理器、協處理器、系統晶片(SoC)、或執行碼之其他裝置。在一實施例中,處理器400包括至少二核心一核心401及402,其可包括非對稱核心或對稱核心(描繪之實施例)。然而,處理器400可包括任何數量處理元件,其可為對稱或非對稱。
在一實施例中,處理元件係指用以支援軟體 執行緒之硬體或邏輯。硬體處理元件之範例包括:執行緒單元、執行緒槽、執行緒、處理單元、情境、情境單元、邏輯處理器、硬體執行緒、核心、及/或任何其他元件,其可保持處理器之狀態,諸如執行狀態或架構狀態。換言之,在一實施例中,處理元件係指可獨立地與碼相關聯之任何硬體,諸如軟體執行緒、作業系統、應用程式、或其他碼。實體處理器典型地係指積體電路,其可能包括任何數量其他處理元件,諸如核心或硬體執行緒。
核心通常係指置於積體電路上,可維持獨立架構狀態之邏輯,其中,每一獨立地維持之架構狀態與至少若干專用執行資源相關聯。對比於核心,硬體執行緒典型地係指置於積體電路上,可維持獨立架構狀態之任何邏輯,其中,獨立地維持之架構狀態共用存取執行資源。如同可見,當共用某些資源且其他資源專用於架構狀態時,硬體執行緒及核心之術語間之線路重疊。通常,作業系統視核心及硬體執行緒為個別邏輯處理器,其中作業系統可個別排程每一邏輯處理器上之運算。
如圖4中所描繪,實體處理器400包括二核心,核心401及402。此處,核心401及402視為對稱核心,即具相同組態、功能單元、及/或邏輯之核心。在另一實施例中,核心401包括亂序處理器核心,同時核心402包括循序處理器核心。然而,核心401及402可個別地選自任何類型核心,諸如本機核心、軟體管理核心、適於執行本機指令集架構(ISA)之核心、適於執行轉換 ISA之核心、共同設計核心、或其他已知核心。進一步討論,以下進一步詳細描述核心401中所描繪之功能單元,如以類似方式操作之核心402中之單元。
如所描繪,核心401包括二硬體執行緒401a及401b,其亦可稱為硬體執行緒槽401a及401b。因此,在一實施例中,諸如作業系統之軟體實體可能將處理器400視為四不同處理器,即可同時執行四軟體執行緒之四邏輯處理器或處理元件。如上述,第一執行緒與架構狀態暫存器401a相關聯,第二執行緒與架構狀態暫存器401b相關聯,第三執行緒可與架構狀態暫存器402a相關聯,及第四執行緒可與架構狀態暫存器402b相關聯。此處,每一架構狀態暫存器(401a、401b、402a、及402b)可稱為處理元件、執行緒槽、或執行緒單元,如以上所描述。如所描繪,架構狀態暫存器401a係於架構狀態暫存器401b中複製,所以個別架構狀態/情境可儲存用於邏輯處理器401a及邏輯處理器401b。在核心401中,其他較小資源,諸如配置器及重命名程序方塊430中指令指標及重命名邏輯,亦可複製用於執行緒401a及401b。若干資源,諸如重排序/止用單元435中之重排序緩衝器、指令翻譯後備緩衝器(ITLB)420、負載/儲存緩衝器、及佇列,可經由分區而共用。其他資源,諸如通用內部暫存器、分頁表基址暫存器、較低級資料快取記憶體及資料-TLB 451、執行單元440、及部分亂序單元435可能完全共用。
處理器400通常包括其他資源,其可完全共用、經由分區共用、或由處理元件專用。在圖4中,描繪純示例處理器之實施例,具描繪之處理器的邏輯單元/資源。請注意,處理器可包括或省略任何該些功能單元,以及包括任何其他已知功能單元、邏輯、或未描繪之韌體。如所描繪,核心401包括簡化之代表亂序(OOO)處理器核心。但不同實施例中可利用循序處理器。OOO核心包括分支目標緩衝器420,預測將執行/採用之分支,及指令翻譯後備緩衝器(I-TLB)420,儲存指令之位址轉換條目。
核心401進一步包括解碼模組425,耦接至提取單元420而解碼提取之元件。在一實施例中,提取邏輯包括分別與執行緒槽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,並饋送至指令解碼器505而解碼為原指令,即供處理器執行之微運算。
耦接於前端單元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中執行,其亦耦接至TLB 654。如同所見,該些結構可耦接至資料快取記憶體660,其可為L0及/或L1資料快取記憶體,接著耦接至其餘級快取記憶體階層,包括L2快取記憶體。
為提供支援亂序執行,可提供配置器/重命名程序670,除了重排序緩衝器680外,其係組配而重排序亂序執行之指令,用於循序止用。儘管圖6之描繪中顯示了此特定管線架構,了解許多變化及替代是可能的。
請注意,在具有非對稱核心之處理器中,諸如依據圖5及6之微架構,工作負載可為電源管理原因而於核心之間動態地調換,因為該些核心儘管具有不同管線設計及深度,可為相同或相關ISA。該等動態核心置換可以使用者應用(亦可能是內核)易懂之方式執行。
參照圖7,顯示依據又另一實施例之處理器核心之微架構的方塊圖。如圖7中所描繪,核心700可包括多級循序管線,而以極低電力消耗位準執行。關於一該範例,處理器700可具有依據加州森尼維爾ARM集團公司之ARM Cortex A53設計的微架構。在實施中,可提供8級管線,其係組配而執行32位元及64位元碼。核心700包括提取單元710,其係組配而提取指令並提供至解碼單元715,其可解碼指令,例如特定ISA之巨集指令,諸如ARMv8 ISA。請進一步注意,佇列730可耦接至解碼單元715而儲存解碼之指令。解碼之指令被提供至發布邏輯 725,其中解碼之指令可發布至多個執行單元之一特定者。
進一步參照圖7,發布邏輯725可發布指令至多個執行單元之一者。在所示實施例中,該些執行單元包括整數單元735、乘法單元740、浮點/向量單元750、雙發布單元760、及負載/儲存單元770。該些不同執行單元之結果可提供至寫回單元780。了解雖然為描繪容易而顯示單一寫回單元,在若干實施中,不同寫回單元可與每一執行單元相關聯。此外,了解雖然圖7中所示每一單元及邏輯代表高級,特定實施可包括更多或不同結構。使用具有如圖7中管線之一或更多個核心設計的處理器,可於許多不同最終產品中實施,從行動裝置延伸至伺服器系統。
參照圖8,顯示依據仍進一步實施例之處理器核心之微架構的方塊圖。如圖8中所描繪,核心800可包括多級多發布亂序管線而執行極高性能位準(其可以較圖7之核心700更高電力消耗位準發生)。關於一該範例,處理器800可具有依據ARM Cortex A57設計之微架構。在實施中,可提供15(或更大)級管線,其係組配而執行32位元及64位元碼。此外,管線可提供用於3(或更大)寬及3(或更大)發布運算。核心800包括提取單元810,其係組配而提取指令並提供至解碼器/重命名器/調度器815,其可解碼指令,例如ARMv8指令集架構之巨集指令,重命名指令內之暫存器參考,及調度指令(最 終)至選擇之執行單元。解碼之指令可儲存於佇列825中。請注意,雖然圖8中為描繪容易而顯示單一佇列結構,了解可提供不同佇列用於多個不同類型執行單元之每一者。
圖8中亦顯示發布邏輯830,經此儲存於佇列825中之解碼之指令可發布至選擇之執行單元。發布邏輯830亦可於特定實施例中實施,其具不同發布邏輯用於耦接至發布邏輯830之多個不同類型執行單元之每一者。
解碼之指令可發布至多個執行單元之一特定者。在顯示之實施例中,該些執行單元包括一或更多個整數單元835、乘法單元840、浮點/向量單元850、分支單元860、及負載/儲存單元870。在實施例中,浮點/向量單元850可組配而處置128或256位元之SIMD或向量資料。此外,浮點/向量執行單元850可執行IEEE-754雙精度浮點運算。該些不同執行單元之結果可提供至寫回單元880。請注意,在若干實施中,不同寫回單元可與每一執行單元相關聯。此外,了解雖然圖8中以高級顯示每一單元及邏輯,特定實施可包括更多或不同結構。
請注意,在具有非對稱核心之處理器中,諸如依據圖7及8之微架構,工作負載可為電源管理原因而動態地調換,關於該些核心可為相同或相關ISA,儘管具有不同管線設計及深度。該等動態核心置換可以使用者應用(亦可能是內核)易懂之方式執行。
如圖5-8之任何一或更多者中,使用具有管 線之一或更多個核心設計之處理器,可以許多不同最終產品實施,從行動裝置延伸至伺服器系統。現在參照圖9,顯示依據本發明之另一實施例之處理器的方塊圖。在圖9之實施例中,處理器900可為包括多個域之SoC,每一者可經控制而以獨立操作電壓及操作頻率操作。關於特定描繪範例,處理器900可為基於Intel® Architecture CoreTM之處理器,諸如i3、i5、i7或另一來自Intel公司之該等處理器。然而,其他低電力處理器,諸如來自加州森尼維爾先進微裝置公司(AMD)、來自加州森尼維爾ARM集團公司或其被授權者之基於ARM之設計、或加州森尼維爾MIPS科技公司或其被授權者或用戶之基於M1PS之設計,可替代地呈現於其他實施例中,諸如Apple A7處理器、Qualcomm Snapdragon處理器、或Texas Instruments 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內或晶片外之一或更多個擷取裝置接收之匯入圖像資料。
亦可呈現其他加速計。在圖9之描繪中,視訊編碼器950可執行編碼運算,包括視訊資訊之編碼及解碼,例如提供高解析度視訊內容之硬體加速支援。可進一步提供顯示器控制器955而加速顯示器運算,包括提供系統內部及外部顯示器之支援。此外,可呈現安全處理器945而執行安全運算,諸如安全開機運算、各式加密運算等。
每一單元可具有經由電力管理器940控制之電力消耗,電力管理器940可包括控制邏輯而執行文中所描述之各式電源管理技術。例如,電力管理器940可包括機器學習/工作負載分類邏輯而分類將執行之工作負載,以及遷移邏輯,其可致使工作負載之至少若干執行緒動態地遷移至不同核心(及/或核心類型),使得不同數量核心可於下一作業間隔中作動。
在若干實施例中,SoC 900可進一步包括耦接至可與各式周邊裝置耦接之同調結構的非同調結構。一或更多個介面960a-960d致能與一或更多個晶片外裝置通訊。該通訊可經由各式通訊協定,諸如其他類型通訊協定之PCIeTM、GPIO、USB、I2C、UART、MIPI、SDIO、DDR、SPI、HDMI。儘管圖9之實施例中以高級顯示,了解本發明之範圍不侷限於此。
現在參照圖10,顯示代表SoC之方塊圖。在顯示之實施例中,SoC 1000可為組配用於低電力運算之多核心SoC,將優化併入智慧手機或其他低電力裝置,諸如平板電腦或其他可攜式運算裝置。關於範例,SoC 1000可使用非對稱或不同類型核心實施,諸如高電力及/或低電力核心之組合,例如亂序核心及循序核心。在不同實施例中,該些核心可依據Intel®ArchitectureTM核心設計或ARM架構設計。在其他實施例中,可於特定SoC中實施Intel及ARM核心之混合。
如同圖10中所見,SoC 1000包括第一核心域 1010,具有複數第一核心10120-12123。在一範例中,該些核心可為低電力核心,諸如循序核心。在一實施例中,該些第一核心可實施為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可標度為較高性能(及電力)位準,諸如桌上型電腦、伺服器、高性能運算系統、基地台等。關於一該範例,可提供各具有特定數量亂序核心之4核心域。此外,除了可選GPU支援(其做為範例可採GPGPU形式)外,亦可提供一或更多個加速計而提供特定功能(例如網路伺服、網路處理、切換等)之優化硬體支援。此外,可呈現輸入/輸出介面而耦接該等加速計至晶片外組件。
現在參照圖11,顯示另一範例SoC之方塊圖。在圖11之實施例中,SoC 1100可包括各式電路,而致能多媒體應用、通訊及其他功能之高性能。同樣地,SoC 1100適於併入廣泛可攜式及其他裝置,諸如智慧手機、平板電腦、智慧TV等。在所示範例中,SoC 1100包括中央處理器單元(CPU)域1110。在實施例中,CPU域 1110中可呈現複數個別處理器核心。關於一範例,CPU域1110可為具有4多執行緒核心之四核心處理器。該等處理器可為同質或異質處理器,例如低電力及高電力處理器核心之混合。
接著,提供GPU域1120而於一或更多個GPU中執行先進圖形處理,以處置圖形及計算API。DSP單元1130可提供一或更多個低電力DSP,除了多媒體指令執行期間可發生之先進計算外,用於處置低電力多媒體應用,諸如音樂播放、音頻/視訊等。接著,通訊單元1140可包括各式組件而經由各式無線協定提供連接性,諸如蜂巢式通訊(包括3G/4G LTE)、諸如BluetoothTM、IEEE 802.11等無線局域協定。
此外,多媒體處理器1150可用以執行高解析度視訊及音頻內容之擷取及播放,包括使用者手勢之處理。感測器單元1160可包括複數感測器及/或感測器控制器而與特定平台中呈現之各式晶片外感測器介接。圖像信號處理器1170可配置一或更多個不同ISP,而執行關於從平台之一或更多個相機擷取之內容的圖像處理,包括相機及攝影機。
顯示器處理器1180可提供支援,而連接至特定像素密度之高解析度顯示器,包括無線傳遞內容於該顯示器上播放之能力。此外,位置單元1190可包括GPS接收器,支援多個GPS群集提供應用高度準確定位資訊,該資訊係使用同樣GPS接收器獲得。了解雖然在圖11之 範例中顯示特定組件組,許多變化及替代是可能的。
現在參照圖12,顯示範例系統之方塊圖,基此可使用實施例。如同所見,系統1200可為智慧手機或其他無線通訊器。基帶處理器1205經組配而執行關於從系統傳送或由系統接收之通訊信號的各式信號處理。接著,基帶處理器1205耦接至應用處理器1210,其可為系統之主CPU,而執行除了諸如許多熟知社群媒體及多媒體應用程式之使用者應用程式外,OS及其他系統軟體。應用處理器1210可進一步經組配而執行裝置之各式其他運算作業。
接著,應用處理器1210可耦接至使用者介面/顯示器1220,例如觸控螢幕顯示器,此外,應用處理器1210可耦接至記憶體系統,其包括非揮發記憶體,即快閃記憶體1230,及系統記憶體,即動態隨機存取記憶體(DRAM)1235。如同進一步可見,應用處理器1210進一步耦接至擷取裝置1240,諸如一或更多個圖像擷取裝置,其可紀錄視訊及/或影像。
仍參照圖12,包含用戶識別模組及可能地安全儲存體及加密處理器之通用積體電路卡(UICC)1240亦耦接至應用處理器1210。系統1200可進一步包括安全處理器1250,其可耦接至應用處理器1210。複數感測器1225可耦接至應用處理器1210,而致能各式感測資訊之輸入,諸如加速計及其他環境資訊。音頻輸出裝置1295可提供介面而輸出聲音,例如以語音通訊、播放或串流音 頻資料等形式。
如進一步描繪,提供近場通訊(NFC)無接觸介面1260,其經由NFC天線1265而於NFC近場中通訊。雖然圖12中顯示不同天線,了解在若干實施中可提供一天線或不同天線組而致能各式無線功能。
電源管理積體電路(PMIC)1215耦接至應用處理器1210,而執行平台級電源管理。為此,PMIC 1215可發布電源管理要求至應用處理器1210,而視需要進入某低電力狀態。此外,依據平台限制,PMIC 1215亦可控制系統1200之其他組件的電力位準。
為致能將傳送及接收之通訊,各式電路可於基帶處理器1205及天線1290之間耦接。具體地,可呈現射頻(RF)收發器1270及無線局域網路(WLAN)收發器1275。通常,RF收發器1270可用以接收及傳送無線資料,及依據諸如3G或4G無線通訊協定之特定無線通訊協定的呼叫,諸如依據分碼多重存取(CDMA)、全球行動通訊系統(GSM)、長期演進(LTE)或其他協定。此外,可呈現GPS感測器1280。亦可提供諸如無線電信號之接收或傳輸的其他無線通訊,例如AM/FM及其他信號。此外,經由WLAN收發器1275,亦可實現本地無線通訊。
現在參照圖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實施此大量儲存體,或主要可使用具較小量SSD儲存體之硬碟機(HDD),做為SSD快取記憶體,致能停電事件期間情境狀態及其他該等資訊之非揮發儲存體,使得於系統動作重新啟動時可發生快速通電,而實施大量儲存體。圖14中亦顯示,快閃裝置1422可耦接至處理器1410,例如經 由串列周邊介面(SPI)。此快閃裝置可提供用於系統軟體之非揮發儲存體,包括基本輸入/輸出軟體(BIOS)以及系統之其他韌體。
系統1400內可呈現各式輸入/輸出(I/O)裝置。具體地,圖14之實施例中顯示顯示器1424,其可為高解析度LCD或LED面板,進一步提供用於觸控螢幕1425。在一實施例中,顯示器1424可經由顯示器互連而耦接至處理器1410,其可實施為高性能圖形互連。觸控螢幕1425可經由另一互連而耦接至處理器1410,其在實施例中可為I2C互連。如圖14中進一步顯示,除了觸控螢幕1425外,經由觸控板1430亦可發生藉由觸控之使用者輸入,觸控板1430可組配於機架內,且亦可耦接至相同I2C互連,做為觸控螢幕1425。
對感知運算及其他用途而言,各式感測器可呈現於系統內,並可以不同方式耦接至處理器1410。某慣性及環境感測器可經由感測器集線器1440,例如經由I2C互連,而耦接至處理器1410。在圖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,在一實施例中,其可經由SMBus而與處理器1410通訊。請注意,經由此NFC單元1445,相互接近之裝置可通訊。
如同圖14中進一步可見,其餘無線單元可包括其他短距離無線引擎,包括WLAN單元1450及藍牙單元1452。使用WLAN單元1450,可實現Wi-FiTM通訊,同時經由藍牙單元1452,可發生短距離藍牙(BluetoothTM)通訊。該些單元可經由特定鏈路而與處理器1410通訊。
此外,例如依據蜂巢式或其他無線廣域協定,可經由無線廣域網路(WWAN)單元1456,其接著可耦接至用戶識別模組(SEM)1457,而發生無線廣域通訊。此外,為致能接收及使用位置資訊,亦可呈現GPS模組1455。請注意,在圖14顯示之實施例中,WWAN單元1456及諸如相機模組1454之積體擷取裝置可經由特定 鏈路通訊。
積體相機模組1454可併入蓋部。為提供用於音頻輸入及輸出,可經由數位信號處理器(DSP)1460實施音頻處理器,其可經由高解析度音頻(HDA)鏈路而耦接至處理器1410。類似地,DSP 1460可與積體編碼器/解碼器(CODEC)及放大器1462通訊,放大器1462接著可耦接至輸出揚聲器1463,其可於機架內實施。類似地,放大器及CODEC 1462可耦接而接收來自麥克風1465之音頻輸入,在實施例中,麥克風1465可經由雙陣列麥克風(諸如數位麥克風陣列)實施,提供高品質音頻輸入,而致能系統內各式運算之聲控。亦請注意,音頻輸出可從放大器/CODEC 1462提供至耳機插孔1464。儘管圖14之實施例中顯示該些特定組件,了解本發明之範圍不侷限於此。
實施例可以許多不同系統類型實施。現在參照圖15,顯示依據本發明之實施例之系統的方塊圖。如圖15中所示,多處理器系統1500為點對點互連系統,包括經由點對點互連1550耦接之第一處理器1570及第二處理器1580。如圖15中所示,每一處理器1570及1580可為多核心處理器,包括第一及第二處理器核心(即處理器核心1574a及1574b及處理器核心1584a及1584b),儘管處理器中可能可呈現更多核心。每一處理器可包括PCU或其他電源管理邏輯而執行如文中所描述之基於處理器之電源管理,包括工作負載分類及動態執行緒遷移,及至少 部分依據其上之核心性能控制。
仍參照圖15,第一處理器1570進一步包括記憶體控制器集線器(MCH)1572及點對點(P-P)介面1576及1578。類似地,第二處理器1580包括MCH 1582及P-P介面1586及1588。如圖15中所示,MCH 1572及1582耦接處理器至個別記憶體,即記憶體1532及記憶體1534,其可為本機依附至個別處理器之系統記憶體(例如DRAM)的一部分。第一處理器1570及第二處理器1580可分別經由P-P互連1562及1564而耦接至晶片組1590。如圖15中所示,晶片組1590包括P-P介面1594及1598。
此外,晶片組1590包括介面1592,藉由P-P互連1539而耦接晶片組1590與高性能圖形引擎1538。接著,晶片組1590可經由介面1596而耦接至第一匯流排1516。如圖15中所示,各式輸入/輸出(I/O)裝置1514可耦接至第一匯流排1516,連同匯流排橋接器1518,其耦接第一匯流排1516至第二匯流排1520。各式裝置可耦接至第二匯流排1520,包括例如鍵盤/滑鼠1522、通訊裝置1526及資料儲存單元1528,諸如硬碟機或其他大量儲存體裝置,在一實施例中,其可包括程式碼1530。此外,音頻I/O 1524可耦接至第二匯流排1520。實施例可併入其他類型系統,包括諸如智慧手機之行動裝置、平板電腦、輕省筆電、超筆電(UltrabookTM)等。
在實施例中,預測邏輯適於決定優化電力組 態,及控制邏輯適於應用決定之電力組態。預測邏輯藉由讀取性能/能量計數器而定期地收集輸入統計,接著使用智慧型模型評估目前狀態及預測下一優化電力組態。在實施例中,控制邏輯經由執行緒遷移及動態電壓及頻率縮放,而將電力控制決定施加於基本系統。在若干實施例中,可呈現一或更多個異質核心,專用於密集記憶體工作負載。執行緒可遷移至該等核心而於記憶體受限階段節省更多能量。硬體執行緒遷移技術可用以遷移偏向計算核心及偏向記憶體核心間之執行緒,從使用者應用及作業系統觀點,其未包含任何軟體介入。
因為運算界限及記憶體界限工作負載具有極不同系統需求,模型解決分類問題。在目前時間樣本的一組特定電力組態參數(例如,核心數量、執行緒數量、時鐘頻率及電壓)及運行時間統計(例如,各式性能/能量計數器),目標為發現優化電力組態,而最大化下一間隔之性能及能量效率。在不同實施例中,可使用二類型預測模型、專家試探及機器學習。
現在參照圖16,顯示依據本發明之實施例之電力控制邏輯的方塊圖。如圖16中所示,電力控制邏輯1600可由硬體、軟體、及/或韌體之組合形成,可實施為諸如PCU之處理器的較大電力控制單元的一部分。接著,該PCU本身可實施為一或更多個微控制器或其他控制邏輯。在所示實施例中,電力控制邏輯1600包括性能特性緩衝器1610。如文中所描述,緩衝器1610可經組配 而儲存匯入性能特性,例如從處理器及/或具有該處理器之系統之各式核心的性能/能量計數器及其他邏輯獲得。
接著,特性資訊提供至預測邏輯1620。在不同實施中,可呈現不同類型預測邏輯。如文中所描述,該邏輯可包括依據專家試探及/或機器學習之一或更多個模型。從關於目前處理器運算之匯入特性資訊,預測邏輯1620可產生電力組態定義。該定義可用以定義下一運算間隔之適當處理器運算控制。在實施例中,該電力組態定義資訊可包括於下一運算間隔作動之若干核心、排程至該核心之相應執行緒、及操作選擇之核心的電壓/頻率。
如同所見,此電力組態定義資訊提供至控制邏輯1630,其可經組配而強制下一運算間隔中之解析度。同樣地,控制邏輯1630可經組配而提供控制資訊至各式處理器實體,包括諸如一或更多個鎖相迴路之時鐘產生器,諸如積體電壓調整器之一或更多個電壓調整器等。此外,控制資訊可提供至個別核心,而指出特定核心在下一運算間隔將開啟或關閉。若核心關閉,則核心可採各式動作,包括將其狀態儲存至適當儲存體,而致能核心進入要求之低電力狀態;閘控一或更多個時鐘信號;及閘控一或更多個電源閘。對下一運算間隔中啟動之核心而言,該控制可包括非閘控一或更多個時鐘信號、非閘控一或更多個電源閘、及重新儲存來自特定儲存體之核心狀態。當然,了解在各式實施例中,可發生其餘運算進入及離開該核心低電力狀態。此外,了解在不同實施中,可呈現各式 不同組態電力控制邏輯。
對專家試探模型而言,專家識別工作負載及系統的大部分相關參數,造成預測模型而分類運算或記憶體界限工作負載,及導向識別之工作負載的大部分能量效率組態。例如,可使用二直覺試探模型。因設計複雜性,試探可僅選擇許多可能參數的子集,稱為熱狀態,特徵來自設計空間探索中最普遍的組態。
對簡單分類試探模型(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)。該等屬性可最佳代表工作負載行為,及有效地協助減少性能/能量計數器數量。
在不同實施例中,可使用各式離線監督模型。在一範例中,具脊部估計器之多級邏輯回歸模型可用以測量二類別以上相依或獨立變數間之關係,其展現良好準確度及簡單實施。在另一範例中,可使用多層感知器。此模型為使用反向傳播之人工類神經網路分級器,可適於具非線性行為之大量資料。該些節點均為S函數(邏輯函數),且具有至少三層。輸入層採取所有選擇之屬性,及 輸出層產生優化電力組態。關於另一範例,可使用決定樹模型,其維持流程圖狀樹結構,其中葉子代表標籤(所有可能優化組態),及分支為屬性結合。在樹之每一節點,選擇屬性而有效地將資料點劃分為一級及其他級中之子集。
一旦訓練模型,係於電力控制器內實施用於線上預測。在運行時,收集相應於選擇屬性之性能/能量計數器,且訓練機器學習模型預測下一優化電力組態。為改進準確度,可使用運行時間反饋機構,且可覆寫更新電力組態之機器學習決定,而不採取動作。這是因為機器學習模型可能極頻繁地於若干電力組態之間反覆切換,導致高切換開銷。歷史追蹤之飽和計數器可用以避免該等過度敏感反應。而且,機器學習模型可能傾向於挑選節省高能量同時過度犧牲性能,尤其是針對運算界限工作負載,其中較弱系統資源直接相關於性能。每核心之IPS歷史暫存器可用以檢測因電力組態改變之突然性能降。
控制邏輯負責供應優化電力控制決定至基本系統,其包含硬體控制(例如,電壓及頻率縮放),及軟體控制(例如,核心及執行緒映射)。在不同實施例中,可使用各式執行緒映射機構。
在一實施例中,軟體層(使用者應用程式、運行時間函式庫、及/或作業系統)可修改。預測邏輯提供介面而傳遞優化電力控制決定,接著軟體經由使用者級執行緒(分流/結合)調整執行緒對核心映射;動態運行 時間函式庫,諸如OpenMP、Posix執行緒等;工作佇列排程器;或作業系統執行緒遷移。
可提供應用編程介面(API),使得使用者應用程式或運行時間函式庫可直接存取電力控制器而擷取優化電力組態決定。若改變電力組態較佳,則應用程式或運行時間調整執行緒對核心映射。
例如,若應用具有大平行迴路,程式設計者或編譯器可將迴路劃分為區段,並插入電力查詢及執行緒管理API呼叫,而獲得每一區段之優化組態,因此平行置放下一區段。諸如OpenMP之運行時間框架及工作佇列將使使用者應用程式免於編程開銷。例如,當使用者應用平行置放具OpenMP之迴路時,運行時間可呼叫電力查詢API,而獲得迴路之優化組態,並經由釘選API之執行緒,而適當地管理執行緒及核心。工作佇列函式庫亦可應用類似途徑。工作佇列排程器可用以依據優化電力決定而自動地遷移工作。
另一機構為擴大作業系統而提供用於所有使用者應用程式之執行緒管理。作業系統定期地與電力控制器互動,並獲得優化組態。其接著排程軟體執行緒為適當硬體情境。例如,假定使用者應用於四核心上運行八個執行緒;每一核心二執行緒,但通知作業系統,單一核心為優化組態。接著,作業系統將所有八個執行緒僅配賦於一核心上,即使總共有四核心可用。其從其他三核心遷移六個執行緒至選擇之一核心,並關閉未佔用之三核心以節省 能源。
實施例亦可使用透通執行緒遷移。在若干狀況下,處理器可包括異質核心,其包括偏向計算核心及記憶體優化核心。該設計係依據單一核心架構無法同時優化運算界限及記憶體界限工作負載之觀察。例如,傳統多處理器經常優化用於計算工作負載,目標為以高頻運行許多核心計數。然而,該等多處理器於大部分等候記憶體存取之階段可非能量效率。因此,可提供專用於密集記憶體階段之一或更多個核心(偏向記憶體或記憶體優化核心),其以低頻運行而使記憶體資源飽和,提供與許多計算核心相同之記憶體性能。請注意,該偏向記憶體核心對於系統軟體(包括OS)及處理器之客戶或採購者可為完全透明。例如,特定處理器可包括4個偏向計算核心及單一偏向記憶體核心。在此範例中,處理器產品可市售為具有4核心之多核心處理器(在促銷或行銷資訊中未提及係以偏向記憶體核心製造,使得客戶甚至不知道其餘核心)。同樣地,由於其為透明且僅在工作負載執行之特定階段啟動,偏向記憶體核心可稱為影子或輔助核心。
執行緒遷移機構可用以在對於使用者應用程式及作業系統二軟體明顯的二類型核心之間切換執行。例如,假定系統具有一記憶體優化核心及四運算優化核心。若每一計算核心為雙向表面貼裝(SMT),記憶體優化核心便配置共八種硬體情境。記憶體優化核心情境僅可見於硬體及完全隱藏軟體。而且,記憶體優化核心情境上之執 行緒遷移僅由硬體處置。硬體控制器於計算核心及記憶體優化核心之間複製確切相同執行緒情境,接著恢復在新核心上靜默執行。甚至作業系統無法檢測基本執行緒遷移。此外,因為記憶體優化核心恰為相同快取記憶體相干性域之另一核心,完全未產生任何記憶體一致性發布,儘管其可能從情境遷移而遭受資料遷移開銷。請注意,記憶體優化核心架構提供優化能量效率之新機會。因為僅於其上執行密集記憶體工作負載,其架構可專用於極端,以達成較通用核心更高效率之數量級。在若干狀況下,記憶體優化核心實施與計算核心相同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,避免電源管理之過度敏感控制,參考歷史狀態是必須的。在一實施例中,歷史邏輯1792可經由計數器(例如,2位元飽和計數器)實施每一可能決定之惰性切換方案。例如,當實施電力閘控決定時,計數器增量。參考計數器,在預定數量連續時間間隔(例如,3)期間,只有當實施相同決定時,才執行電力組態更新。在其他狀況下,歷史邏輯1792可實施歷史表而紀錄先前電力組態決定及系統狀態。
衝擊邏輯1794可經組配而決定衝擊,在處理器之電力及/或性能實施預測及組態更新,及限制或避免預測對於核心之控制。
如圖17中進一步顯示,電力組態選擇器1790進一步包括更新邏輯1795。更新邏輯1795可依據近期過去決定(例如,參照歷史表中條目)及久遠過去決定(經由長期累積功能),而決定是否致能電力組態更新。因而,更新邏輯1795可經組配,藉由依據處理器在現場實際使用,更新訓練模型參數,而於處理器運算之壽命期間(從處理器之最初開機至多個開機週期(及可能許多運算年))執行自我學習。了解雖然圖17之描繪中以高級顯示,許多變化及替代亦是可能。
現在參照圖18,顯示依據本發明之實施例之 控制處理器之電力消耗之方法的流程圖。在圖18顯示之實施例中,方法1800可由硬體、軟體、及/或韌體之適當組合執行,諸如文中所描述之硬體電力控制邏輯,其可實施為電力控制器之一部分,本身實施為一或更多個微控制器。在一實施例中,方法1800可由模型邏輯執行,其實施基於試探之模型。如同所見,方法1800始自接收工作負載特性資訊(方塊1810)。如所描述,可從處理器之各式核心之性能/能量計數器及其他邏輯接收該資訊。此外,亦接收組態及電力狀態資訊(方塊1820)。此組態資訊可相應於目前運算間隔中若干主動供電核心及其電力狀態(例如,核心作業之特定電力位準)。在若干實施例中,電力狀態資訊可進一步包括性能狀態資訊,其可相應於核心作業之特定電壓/頻率位準。在若干狀況下,核心之性能狀態可處於保障操作頻率(其係處理器保障操作之最大操作頻率)、渦輪模式頻率(其係高於此保障頻率之機運性操作頻率)、或效率頻率位準,其係低於保障頻率之操作頻率。
仍參照圖18,下一控制傳遞至方塊1830,其中工作負載可分類。更具體地,可依據若干或所有接收之工作負載特性資訊及電力狀態資訊而分類工作負載。在高級,此工作負載分類可決定為可能位準之有限數量之一者,包括記憶體界限位準、計算界限位準、或典型作業位準,其一般可相應於記憶體界限位準及計算界限位準之間操作之工作負載。控制接著傳遞至菱形1835,決定工作 負載是否為記憶體界限。儘管本發明之範圍不侷限於此,在實施例中,工作負載記憶體界限之決定可依據從運算中各式核心獲得之延遲資訊、與記憶體頻寬相關聯之頻寬資訊等之聚合。
若決定工作負載非記憶體界限,控制直接傳遞至方塊1850,其中可維持目前設定。同樣地,在下一運算間隔中,可開啟相同數量核心,且該些核心可持續以目前頻率及電壓位準執行目前執行緒。
若決定工作負載為記憶體界限,控制便從菱形1835傳遞至方塊1840,其中可產生組態預測。更具體地,此組態預測可用於具減少核心活動之方案,其中一或更多個目前主動核心可關閉,及/或為支持一或更多個記憶體密集核心而可關閉運算密集核心,而致能記憶體界限狀況之改進處置。控制接著傳遞至菱形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之實施例中以高級顯示,許多變化及 替代是可能的。
依據實施之特定模型邏輯(及處理器壽命期間執行之自我學習),許多記憶體界限及計算界限工作負載可以較少主動運算資源及/或較低頻率實現優化性能及能量效率。藉由識別及選擇每一特定工作負載之優化組態,實施例可提供約4x能量節省,同時維持小於約5%內之性能損耗。
在一實施例中,異質處理器可包括複數計算優化核心及一或更多個影子或輔助核心,經優化而有效地執行記憶體運算。在實施例中,輔助核心可實施與其他核心相同ISA,但具有具較淺管線之較簡單微架構。即,藉由提供具相同ISA之異質核心,可無縫地於二核心上執行雙值。對照於主核心中較大(例如20級)管線,輔助核心可具有較短管線(例如5級)。在若干狀況下,異質核心類型可解譯複雜指令(或使用微碼執行該等指令),因為該等指令之性能於程式之記憶體階段並非關鍵。在許多實施例中,輔助核心可以相對低頻操作(相較於主要核心),產生充分記憶體訊務而保持記憶體子系統忙線。在若干實施例中,此頻率可匹配記憶體系統操作之頻率(例如,耦接之DRAM操作的相同或實質上相同頻率)。此外,輔助核心可以較偏向計算核心低之電壓操作,使得其可以較低電力消耗位準及更有效率地操作。在實施例中,輔助核心可包括較少運算資源。例如,輔助核心可僅包括單一算術邏輯單元(ALU),同時偏向計算核心可包括複 數ALU(例如,6或更多)。
在實施例中,處理器可經組配而開始在一或更多個偏向計算核心上執行應用。接著,執行緒遷移機構可檢測程式特性,並將應用執行緒遷移至輔助核心,及回至偏向計算核心而無軟體介入。在若干狀況下,當於核心類型之間執行執行緒切換時,總執行緒計數保持固定,使得硬體可動態地切換應用執行緒從一核心類型至另一核心類型,而無軟體介入。在實施例中,為簡化執行緒遷移之軟體模型,輔助核心可具有與所有偏向計算核心統合相同數量之硬體執行緒情境。然而,該些輔助核心執行緒僅可見於硬體,而不可見於包括作業系統及使用者應用程式之軟體。例如,對每一核心中具二硬體執行緒之四計算核心處理器而言,輔助核心可具有共八個硬體執行緒。應用執行緒遷移至及自輔助核心可由硬體管理,並可完全透通而運行應用程式及作業系統。
決定程式階段為計算界限之模型之一範例為每週期高指令(IPC)值連同低記憶體佇列佔用。決定程式階段為記憶體界限之模型之範例為低IPC值連同高記憶體佇列佔用及長平均記憶體延遲。為此,在實施例中,運算/記憶體界限度量可包括關於指令執行率(例如IPC)是否超過第一閾值,及記憶體佇列佔用位準是否超過第二閾值(除了諸如平均記憶體延遲之其他可能決定外)之決定。在關於範例之該實施例中,若其IPC超過第一閾值及其記憶體佇列佔用位準小於第二閾值,可決定程式階段為 計算界限。類似地,若其IPC小於第一閾值及其記憶體佇列佔用位準超過第二閾值,程式階段可決定為記憶體界限。
執行緒遷移政策可決定何時應將執行緒遷移至及自輔助核心。由於每一遷移包含儲存及重新載入執行緒情境,招致延遲開銷。再者,由於核心優化用於特定執行特性,執行非優化核心類型之程式階段可招致性能損失。
為致能遷移政策具有高準確度,實施例可使用基於計數器之方案,而將應用從計算界限工作負載區移至具增加確定性之記憶體界限工作負載區(反之亦然)。在一實施例中,只有當決定執行緒於特定數量連續期間處於特定區中時,遷移硬體將致使遷移發生。例如,在一實施例中,遷移硬體可包括2位元計數器,其係於每一分析間隔更新,且只有當計數器至於飽和狀態時(例如,最大或最小),將允許遷移發生。
現在參照圖21,顯示依據本發明之實施例之遷移邏輯的狀態圖。如圖21中所示,狀態圖2100可相應於邏輯、有限狀態機器等,經組配而決定是否及何時遷移偏向計算核心及偏向記憶體核心間之執行緒之執行。在圖21顯示之實施例中,使用基於多位元計數器(例如,二位元計數器)之途徑。在每一分析間隔期間,可實施關於執行工作負載係記憶體界限工作負載或計算界限工作負載之工作負載決定。
在運算中,此計數器途徑可始自假設工作負載為計算界限,因而最初排程工作負載之執行緒而於偏向計算核心上執行。同樣地,計數器最初可設定為最大值(圖21之實施例中為3)。在顯示之實施例中,基於飽和類型計數器,因為分析指出工作負載類型為計算界限類型,而持續在計算核心上執行。該計數器可於決定記憶體界限工作負載之每一決定減量。在圖21所描繪之狀況下,實施三次連續記憶體界限工作負載決定而迭代地減量計數器,直至其抵達零值並致使執行緒遷移至偏向記憶體核心為止。一旦在此執行狀態中,工作負載持續於偏向記憶體核心上執行,直至發生三次連續決定計算界限工作負載,使得計數器值再次增量至其最大值3為止,使得執行緒遷移發生而將執行緒遷移回偏向計算核心。
因而,如圖21中所描繪,當計數器值在其最大(3)時,可確保計算界限工作負載執行,及執行因此在偏向計算核心上。類似地,當計數器值在其最小(0)時,可確保記憶體界限工作負載執行,及執行因此在一或更多個偏向記憶體核心上。當計數器之值從最大值減一(至值2)時,可能的是計算界限工作負載執行,及因而執行維持在偏向計算核心上(假定從最大值減量而達此計數器值)。類似地,當計數器之值從最小值加一(至值1),可能的是記憶體界限工作負載執行,及因而執行維持在偏向記憶體核心上(假定從最小值增量而達此計數器值)。了解雖然圖21中以此特定描繪顯示,本發明之範 圍不侷限於此,且在其他實施例中,可呈現其餘工作負載分類,且遷移邏輯可依據其他方案。
現在參照圖22,顯示依據本發明之實施例之偏向記憶體核心的方塊圖。在圖22顯示之實施例中,核心2200可經組配而偏向記憶體運算,使得其具有相對少的運算資源及較大記憶體存取資源。在實施例中,雖然核心2200可為與偏向計算核心相同ISA,為執行至少某運算密集運算,微碼可用以仿真該等運算。
在圖22之實施例中,核心2200包括複數邏輯、功能單元、,儲存體等。然而,了解圖22中之配置係用於依據一實施例之代表偏向記憶體核心。當然,在其他實施例中,可呈現許多其他變化及替代偏向記憶體核心。此外,了解偏向計算核心一般可包括諸如圖22中所示相同類型單元及邏輯。然而,對偏向計算核心而言,可呈現不同數量某單元,並優化而致能可呈現偏向計算核心之改進的計算能力。
如同所示,核心2200包括各式單元,其具有多個執行緒資源的能力,使得處理器之所有偏向計算核心內所呈現之硬體執行緒總數可具有偏向記憶體核心中獨立支援。同樣地,在偏向計算核心之所有硬體執行緒上運行之所有主動執行緒,可同時於偏向記憶體核心上執行。在其他實施例中,可提供多個偏向記憶體核心,且在該等狀況下,其可為僅一部分硬體執行緒之專用單元。如同所示,程式計數器單元22080-2208n為具有多個硬體執行緒 (n個硬體執行緒)之單元之一範例(其中n為處理器之所有偏向計算核心中可用之硬體執行緒的總數)。
接著,程式計數器單元2208耦接至提取單元2210,其包括政策邏輯2212。通常,政策邏輯2212可經組配而依據從程式計數器單元2208接收之程式計數器值,及從分支單元2205接收之分支資訊,而優化地處置提取運算,其中可執行各式分支預測。
仍參照圖22,提取單元2210耦接至快取記憶體2220,其可為私用一級指令快取記憶體,包括指令翻譯後備緩衝器(TLB)2222。同樣地,最近地存取及/或頻繁地存取之指令可儲存於快取記憶體2220中進行更有效率存取。由提取單元2210提取之該些指令可提供至複數發布佇列22250-2225n,使得每一硬體執行緒可具有相應發布佇列而提供指令至解碼器單元2230,其中該等匯入指令(在實施例中,其可為巨集指令形式)可經解碼並提供至重命名器/調度器單元2235。
如圖22中進一步顯示,單元2235接著可耦接至實體暫存器集區2240。暫存器集區2240包括大量暫存器,並可具有充分儲存能力,而致能所有硬體執行緒之主動暫存器情境的儲存。接著,可提供複數暫存器組22500-2250n。在實施例中,每一暫存器組2250為用於n個硬體執行緒之一的架構暫存器組。從重命名器/調度器單元2235,將用於該等指令執行之指令及資料可提供至相應重排序緩衝器(ROB)22500-2250n,具用於n個硬體 執行緒之每一者的相應重排序緩衝器。
負載運算可提供至一組負載佇列22550-2255n,每一者用於n個硬體執行緒之每一者。儲存運算可提供至一組儲存佇列22650-2265n,每一者用於n個硬體執行緒之每一者。請注意,儲存佇列2265可耦接至另一快取記憶體2290,在實施例中,其可為私用一級資料快取記憶體,進一步包括資料TLB 2292。
仍參照圖22,指令可經由統一排程器2260而排程至各式不同執行單元。如同所見,排程器2260可排程匯入指令,用於在單一指令多個資料(SIMD)單元2270、算術邏輯單元(ALU)2272、及浮點單元(FPU)2275中執行。請注意,並非提供多個該等執行資源以致能高效率運算操作,在顯示之實施例中,僅提供單一SIMD單元、ALU及FPU。對某高電力損耗執行單元而言,諸如SIMD單元,亦可能不呈現,且該單元之指令可於其他可用單元中仿真。如進一步顯示,一組佇列22950-2295n(每一者用於相應硬體執行緒)提供介面至一組負載儲存單元(LSU)22800-2280n(每一者用於特定硬體執行緒),其可用以與記憶體階層之較高部分介接,並提供匯入資訊,將用於快取記憶體2290中儲存體之運算的執行。
除了偏向記憶體核心及偏向計算核心間該些實體差異外,可呈現形成偏向記憶體及偏向計算核心之電晶體等之類型中的結構差異。例如,偏向記憶體核心可以 一或更多個類型電晶體形成,同時偏向計算核心可以不同類型電晶體形成。在該些或其他狀況下,不同核心類型之電晶體亦可能以不同電壓偏壓。例如,偏向計算核心可以第一偏壓(例如1伏)偏壓,同時偏向記憶體核心之電晶體可以不同的較低電壓(例如0.6V)偏壓。如此一來,可呈現不同類型核心之不同能量消耗特性。此外,偏向記憶體核心可具有較簡單(及可能較少)管線級,其以較低頻率操作,進一步簡化該核心類型之設計。了解雖然圖22之實施例中以此高級顯示,許多變化及替代是可能的。
下列範例於進一步實施例。
在一範例中,處理器包含:複數第一核心,用以獨立地執行指令,複數第一核心之每一者包括複數計數器而儲存性能資訊;至少一個第二核心,用以執行記憶體運算;以及電力控制器,用以接收來自複數計數器之至少若干者的性能資訊,至少部分依據性能資訊而決定於處理器上執行之工作負載類型,及依據工作負載類型而動態地從一或更多個複數第一核心遷移一或更多個執行緒至至少一個第二核心,用於在下一運算間隔期間執行。
在一範例中,電力控制器用以致使一或更多個複數第一核心於下一運算間隔期間置於低電力模式。
在一範例中,電力控制器用以當決定工作負載類型為記憶體界限工作負載時,動態地遷移一或更多個執行緒。
在一範例中,電力控制器包含計數器,電力控制器用以當決定工作負載類型為第一工作負載類型時,以第一方向更新計數器,及當決定工作負載類型為第二工作負載類型時,以第二方向更新計數器。
在一範例中,電力控制器用以當計數器之值至少符合第一閾值時,動態地遷移一或更多個執行緒。
在一範例中,電力控制器用以當計數器值小於或等於第二閾值時,動態地從至少一個第二核心遷移一或更多個執行緒至一或更多個複數核心。
在一範例中,至少一個第二核心異質於複數第一核心。
在一範例中,至少一個第二核心包括第一複數硬體執行緒資源,若干第一複數硬體執行緒資源整體地等於複數第一核心之若干硬體執行緒資源。
在一範例中,至少一個第二核心包含單一算術邏輯單元(ALU),及複數第一核心各包含複數ALU。
在一範例中,電力控制器用以致使至少一個第二核心以記憶體之第一頻率操作而耦接至處理器,及用以致使複數第一核心以高於第一頻率之第二頻率操作。
請注意,以上處理器可使用各式機制實施。
在一範例中,處理器包含SoC,併入使用者裝備觸控致能裝置。
在另一範例中,系統包含顯示器及記憶體及包括一或更多個以上範例之處理器。
在另一範例中,一種方法包含:經由處理器之遷移邏輯,依據從處理器之複數第一核心接收之性能度量資訊,而決定在處理器上執行之工作負載類型;若決定工作負載類型為第一工作負載類型,則經由遷移邏輯以第一方向更新計數值,及若決定工作負載類型為第二工作負載類型,則以第二方向更新計數值;以及若計數值符合第一閾值位準,則經由遷移邏輯將一或更多個執行緒從處理器之複數第一核心遷移至至少一個第二核心,否則便將一或更多個執行緒維持在複數第一核心上。
在一範例中,方法進一步包含若計數值符合第二閾值位準,則將一或更多個執行緒從至少一個第二核心遷移至一或更多個複數第一核心。
在一範例中,複數第一核心包含偏向計算核心,及至少一個第二核心包含偏向記憶體核心,第一工作負載類型包含記憶體界限工作負載,及第二工作負載類型包含計算界限工作負載。
在一範例中,方法進一步包含控制至少一個第二核心而以記憶體匹配頻率操作。
在一範例中,方法進一步包含從複數第一核心遷移工作負載之第一複數執行緒至至少一個第二核心,其中,至少一個第二核心為具有第一複數執行緒資源之單一核心,用以處置第一複數執行緒。
在一範例中,方法進一步包含明顯地遷移一或更多個執行緒至於處理器上執行之作業系統。
在一範例中,遷移邏輯包含試探邏輯,用以進一步依據從處理器之試探儲存體獲得的模型資訊,而決定工作負載類型。
在一範例中,遷移邏輯包含機器學習邏輯,用以進一步依據於處理器製造期間儲存於處理器之儲存體中的訓練資訊,而決定工作負載類型。
在另一範例中,電腦可讀取媒體包括指令,用以執行任一以上範例之方法。
在另一範例中,電腦可讀取媒體包括資料供至少一機器使用,而製造至少一積體電路以執行任一以上範例之方法。
在另一範例中,一種設備包含機制,用於執行任一以上範例之方法。
在仍進一步範例中,一種系統包含:處理器,包括:複數第一核心,用以獨立地執行指令;第二核心,用以執行記憶體運算;以及電力控制器,耦接至複數第一核心及第二核心,用以:接收於第一運算間隔中之第一批主動第一核心上執行之工作負載的工作負載特性資訊;至少部分依據工作負載特性資訊,而分類工作負載;以及至少部分依據記憶體界限工作負載之工作負載分類,而從第一批主動第一核心遷移工作負載之一或更多個執行緒至第二核心用於下一運算間隔,及致使一或更多個複數第一核心處於低電力狀態用於下一運算間隔;以及動態隨機存取記憶體(DRAM),耦接至處理器。
在一範例中,電力控制器用以明顯地遷移一或更多個執行緒至作業系統。
在一範例中,電力控制器用以致使第二核心以記憶體匹配頻率操作。
在一範例中,電力控制器用以使用工作負載特性資訊及從組態儲存體獲得之複數係數,而產生工作負載值,及依據工作負載值而分類工作負載。
在一範例中,複數第一核心用以執行計算運算,及第二核心用以執行記憶體運算,複數第一核心整體地具有第一批硬體執行緒,及第二核心具有第一批硬體執行緒,第二核心包括:複數程式計數器單元,各用於第一核心之一者之一硬體執行緒;複數重排序緩衝器,各用於第一核心之一者之一硬體執行緒;複數負載佇列,各用於第一核心之一者之一硬體執行緒;以及複數儲存佇列,各用於第一核心之一者之一硬體執行緒。
應理解的是以上範例之各式組合是可能的。
實施例可用於許多不同類型系統中。例如,在一實施例中,可配置通訊裝置而執行文中所描述之各式方法及技術。當然,本發明之範圍不侷限於通訊裝置,在其他實施例可指向其他類型設備用於處理指令,或一或更多個機器可讀取媒體包括指令,回應於在運算裝置上執行而致使裝置實施文中所描述之一或更多個方法及技術。
實施例可以碼實施,並可儲存於非暫態儲存媒體上,其具有儲存於其上之指令,可用以編程系統而執 行指令。實施例亦可以資料實施,並可儲存於非暫態儲存媒體上,若由至少一機器使用,則致使至少一機器製造至少一積體電路而執行一或更多個運算。儲存媒體可包括但不侷限於任何類型碟片,包括軟碟、光碟、固態驅動器(SSD)、光碟唯讀記憶體(CD-ROM)、可抹寫光碟(CD-RW)、及磁性光碟、諸如唯讀記憶體(ROM)之半導體裝置、諸如動態隨機存取記憶體(DRAM)及靜態隨機存取記憶體(SRAM)之隨機存取記憶體(RAM)、可抹除可編程唯讀記憶體(EPROM)、快閃記憶體、電可抹除可編程唯讀記憶體(EEPROM)、磁性或光學卡、或適於儲存電子指令之任何其他類型媒體。
雖然本發明已相對於有限數量實施例加以描述,熟悉本技藝之人士將理解許多修改及變化。希望申請項涵蓋所有該等修改及變化,而落入本發明之真實精神及範圍內。
200‧‧‧處理器
210a、210b、210n‧‧‧核心
215‧‧‧互連
230‧‧‧共用快取記憶體
250a-250n‧‧‧介面
220‧‧‧非核心
240‧‧‧積體記憶體控制器
255‧‧‧電力控制單元
256‧‧‧工作負載分類邏輯

Claims (24)

  1. 一種處理器,包含:複數第一核心,用以獨立地執行指令,該複數第一核心之每一者包括複數計數器而儲存性能資訊;至少一個第二核心,用以執行記憶體運算;以及電力控制器,用以接收來自該複數計數器之至少若干者的性能資訊,至少部分依據該性能資訊而決定於該處理器上執行之工作負載類型,及依據該工作負載類型而動態地從一或更多個該複數第一核心遷移一或更多個執行緒至該至少一個第二核心,用於在下一運算間隔期間執行,其中,該電力控制器包含計數器,該電力控制器用以當決定該工作負載類型為第一工作負載類型時,以第一方向更新該計數器,及當決定該工作負載類型為第二工作負載類型時,以第二方向更新該計數器。
  2. 如申請專利範圍第1項之處理器,其中,該電力控制器用以致使該一或更多個該複數第一核心於該下一運算間隔期間置於低電力模式。
  3. 如申請專利範圍第1項之處理器,其中,該電力控制器用以當決定該工作負載類型為記憶體界限工作負載時,動態地遷移該一或更多個執行緒。
  4. 如申請專利範圍第1項之處理器,其中,該電力控制器用以當該計數器之值至少符合第一閾值時,動態地遷移該一或更多個執行緒。
  5. 如申請專利範圍第4項之處理器,其中,該電力控 制器用以當該計數器值小於或等於第二閾值時,動態地從該至少一個第二核心遷移該一或更多個執行緒至一或更多個該複數第一核心。
  6. 如申請專利範圍第1項之處理器,其中,該至少一個第二核心異質於該複數第一核心。
  7. 如申請專利範圍第6項之處理器,其中,該至少一個第二核心包括第一複數硬體執行緒資源,若干該第一複數硬體執行緒資源整體地等於該複數第一核心之若干硬體執行緒資源。
  8. 如申請專利範圍第6項之處理器,其中,該至少一個第二核心包含單一算術邏輯單元(ALU),及該複數第一核心各包含複數ALU。
  9. 如申請專利範圍第6項之處理器,其中,該電力控制器用以致使該至少一個第二核心以記憶體之第一頻率操作而耦接至該處理器,及用以致使該複數第一核心以高於該第一頻率之第二頻率操作。
  10. 一種機器可讀取媒體,具有儲存於其上之資料,若該資料由至少一機器使用,則致使該至少一機器製造至少一積體電路而執行一種方法,包含;依據從處理器之複數第一核心接收之性能度量資訊,而經由該處理器之遷移邏輯,決定於該處理器上執行的工作負載類型;若決定該工作負載類型為第一工作負載類型,則經由該遷移邏輯而以第一方向更新計數值,及若決定該工作負 載類型為第二工作負載類型,則以第二方向更新該計數值;以及若該計數值符合第一閾值位準,則經由該遷移邏輯而從該複數第一核心遷移一或更多個執行緒至該處理器之至少一個第二核心,否則便於該複數第一核心上維持該一或更多個執行緒。
  11. 如申請專利範圍第10項之機器可讀取媒體,其中,該方法進一步包含若該計數值符合第二閾值位準,則從該至少一個第二核心遷移該一或更多個執行緒至一或更多個該複數第一核心。
  12. 如申請專利範圍第10項之機器可讀取媒體,其中,該複數第一核心包含偏向計算核心,及該至少一個第二核心包含偏向記憶體核心,該第一工作負載類型包含記憶體界限工作負載,及該第二工作負載類型包含計算界限工作負載。
  13. 如申請專利範圍第10項之機器可讀取媒體,其中,該方法進一步包含控制該至少一個第二核心而以記憶體匹配頻率操作。
  14. 如申請專利範圍第10項之機器可讀取媒體,其中,該方法進一步包含從該複數第一核心遷移該工作負載之第一複數執行緒至該至少一個第二核心,其中,該至少一個第二核心為具有第一複數執行緒資源之單一核心,用以處置該第一複數執行緒。
  15. 如申請專利範圍第10項之機器可讀取媒體,其 中,該方法進一步包含明顯地遷移該一或更多個執行緒至於該處理器上執行之作業系統。
  16. 如申請專利範圍第10項之機器可讀取媒體,其中,該遷移邏輯包含試探邏輯,用以進一步依據從該處理器之試探儲存體獲得的模型資訊,而決定該工作負載類型。
  17. 如申請專利範圍第10項之機器可讀取媒體,其中,該遷移邏輯包含機器學習邏輯,用以進一步依據於該處理器製造期間儲存於該處理器之儲存體中的訓練資訊,而決定該工作負載類型。
  18. 如申請專利範圍第10項之機器可讀取媒體,其中,該性能度量資訊包括指令執行率及佇列佔用。
  19. 如申請專利範圍第10項之機器可讀取媒體,其中,該性能度量資訊包括能量延遲積。
  20. 一種系統,包含:處理器,包括:複數第一核心,用以獨立地執行指令;第二核心,用以執行記憶體運算;以及電力控制器,耦接至該複數第一核心及該第二核心,用以:接收於第一運算間隔中之第一批主動第一核心上執行之工作負載的工作負載特性資訊;至少部分依據該工作負載特性資訊,而分類該工作負載;以及 至少部分依據記憶體界限工作負載之該工作負載分類,而從該第一批主動第一核心遷移該工作負載之一或更多個執行緒至該第二核心用於下一運算間隔,及致使一或更多個該複數第一核心處於低電力狀態用於該下一運算間隔;以及動態隨機存取記憶體(DRAM),耦接至該處理器,其中,該電力控制器包含計數器,該電力控制器用以當決定該工作負載分類為第一工作負載類型時,以第一方向更新該計數器,及當決定該工作負載分類為第二工作負載類型時,以第二方向更新該計數器。
  21. 如申請專利範圍第20項之系統,其中,該電力控制器用以明顯地遷移該一或更多個執行緒至作業系統。
  22. 如申請專利範圍第20項之系統,其中,該電力控制器用以致使該第二核心以記憶體匹配頻率操作。
  23. 如申請專利範圍第20項之系統,其中,該電力控制器用以使用該工作負載特性資訊及從組態儲存體獲得之複數係數,而產生工作負載值;及依據該工作負載值而分類該工作負載。
  24. 如申請專利範圍第20項之系統,其中,該複數第一核心用以執行計算運算,及該第二核心用以執行記憶體運算,該複數第一核心整體地具有第一批硬體執行緒,及該第二核心具有該第一批硬體執行緒,該第二核心包括:複數程式計數器單元,各用於該第一核心之一者之一該硬體執行緒; 複數重排序緩衝器,各用於該第一核心之一者之一該硬體執行緒;複數負載佇列,各用於該第一核心之一者之一該硬體執行緒;以及複數儲存佇列,各用於該第一核心之一者之一該硬體執行緒。
TW105100560A 2015-02-13 2016-01-08 在多核心處理器中執行電源管理 TWI599960B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/621,709 US10234930B2 (en) 2015-02-13 2015-02-13 Performing power management in a multicore processor

Publications (2)

Publication Number Publication Date
TW201643714A TW201643714A (zh) 2016-12-16
TWI599960B true TWI599960B (zh) 2017-09-21

Family

ID=56615065

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105100560A TWI599960B (zh) 2015-02-13 2016-01-08 在多核心處理器中執行電源管理

Country Status (5)

Country Link
US (2) US10234930B2 (zh)
EP (1) EP3256929B1 (zh)
CN (1) CN107209548B (zh)
TW (1) TWI599960B (zh)
WO (1) WO2016130311A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI767212B (zh) * 2020-04-16 2022-06-11 晶豪科技股份有限公司 有助於使記憶體系統在電源開啟期間提前運作的方法、使用該方法的記憶體控制器以及能夠在電源開啟期間提前運作的記憶體系統
TWI802951B (zh) * 2021-04-28 2023-05-21 廣達電腦股份有限公司 儲存有限狀態機之狀態資料的方法、電腦系統、及電腦程式產品
US11853140B2 (en) 2021-08-31 2023-12-26 Apple Inc. Power management based on limiting hardware-forced power control

Families Citing this family (139)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105446653B (zh) 2014-08-27 2018-12-14 阿里巴巴集团控股有限公司 一种数据合并方法和设备
US20160378471A1 (en) * 2015-06-25 2016-12-29 Intel IP Corporation Instruction and logic for execution context groups for parallel processing
US10129131B2 (en) * 2015-06-30 2018-11-13 Dell Products, Lp System and method for device optimization in a network of devices with embedded electronics
JP2017046084A (ja) * 2015-08-25 2017-03-02 コニカミノルタ株式会社 画像処理装置、制御タスクの割り当て方法及び割り当てプログラム
US10089155B2 (en) * 2015-09-22 2018-10-02 Advanced Micro Devices, Inc. Power aware work stealing
US10146286B2 (en) * 2016-01-14 2018-12-04 Intel Corporation Dynamically updating a power management policy of a processor
US10193442B2 (en) 2016-02-09 2019-01-29 Faraday Semi, LLC Chip embedded power converters
FR3054902B1 (fr) * 2016-08-04 2019-06-21 Thales Procede et dispositif de distribution de partitions sur un processeur multi-coeurs
US11295204B2 (en) * 2017-01-06 2022-04-05 International Business Machines Corporation Area-efficient, reconfigurable, energy-efficient, speed-efficient neural network substrate
US10698460B2 (en) * 2017-03-13 2020-06-30 Samsung Electronics Co., Ltd. Advanced thermal control for SSD
US10795836B2 (en) * 2017-04-17 2020-10-06 Microsoft Technology Licensing, Llc Data processing performance enhancement for neural networks using a virtualized data iterator
US10359954B2 (en) 2017-05-31 2019-07-23 Alibaba Group Holding Limited Method and system for implementing byte-alterable write cache
US10956220B2 (en) * 2017-06-04 2021-03-23 Apple Inc. Scheduler for amp architecture using a closed loop performance and thermal controller
US10884926B2 (en) 2017-06-16 2021-01-05 Alibaba Group Holding Limited Method and system for distributed storage using client-side global persistent cache
US10229003B2 (en) 2017-06-16 2019-03-12 Alibaba Group Holding Limited Method and system for iterative data recovery and error correction in a distributed system
US10303241B2 (en) 2017-06-19 2019-05-28 Alibaba Group Holding Limited System and method for fine-grained power control management in a high capacity computer cluster
US10678443B2 (en) 2017-07-06 2020-06-09 Alibaba Group Holding Limited Method and system for high-density converged storage via memory bus
US10564856B2 (en) 2017-07-06 2020-02-18 Alibaba Group Holding Limited Method and system for mitigating write amplification in a phase change memory-based storage device
US10303601B2 (en) 2017-08-11 2019-05-28 Alibaba Group Holding Limited Method and system for rearranging a write operation in a shingled magnetic recording device
US10423508B2 (en) 2017-08-11 2019-09-24 Alibaba Group Holding Limited Method and system for a high-priority read based on an in-place suspend/resume write
KR102480017B1 (ko) 2017-08-11 2022-12-21 삼성전자 주식회사 입출력 장치의 성능 및 전력소모를 조절하는 메모리 컨트롤러, 어플리케이션 프로세서 및 메모리 컨트롤러의 동작방법
US20190068466A1 (en) * 2017-08-30 2019-02-28 Intel Corporation Technologies for auto-discovery of fault domains
US10496829B2 (en) 2017-09-15 2019-12-03 Alibaba Group Holding Limited Method and system for data destruction in a phase change memory-based storage device
US10642522B2 (en) 2017-09-15 2020-05-05 Alibaba Group Holding Limited Method and system for in-line deduplication in a storage drive based on a non-collision hash
US10732694B2 (en) 2017-09-22 2020-08-04 Qualcomm Incorporated Power state control of a mobile device
US10789011B2 (en) 2017-09-27 2020-09-29 Alibaba Group Holding Limited Performance enhancement of a storage device using an integrated controller-buffer
US10503409B2 (en) 2017-09-27 2019-12-10 Alibaba Group Holding Limited Low-latency lightweight distributed storage system
US10545793B2 (en) * 2017-09-29 2020-01-28 Intel Corporation Thread scheduling using processing engine information
US10860334B2 (en) 2017-10-25 2020-12-08 Alibaba Group Holding Limited System and method for centralized boot storage in an access switch shared by multiple servers
WO2019079994A1 (zh) * 2017-10-25 2019-05-02 华为技术有限公司 核心调度方法和终端
KR102539044B1 (ko) * 2017-10-30 2023-06-01 삼성전자주식회사 시스템 온 칩의 구동 방법, 이를 수행하는 시스템 온 칩 및 이를 포함하는 전자 시스템
US10445190B2 (en) 2017-11-08 2019-10-15 Alibaba Group Holding Limited Method and system for enhancing backup efficiency by bypassing encoding and decoding
US10732698B2 (en) * 2017-11-15 2020-08-04 Nxp B.V. Event-based power manager
US10877898B2 (en) 2017-11-16 2020-12-29 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
WO2019108011A1 (ko) * 2017-11-30 2019-06-06 삼성전자 주식회사 운영 체제 설정 방법 및 그 장치
TW201926147A (zh) * 2017-12-01 2019-07-01 阿比特電子科技有限公司 電子裝置、加速器、適用於神經網路運算的加速方法及神經網路加速系統
US11132046B2 (en) * 2017-12-15 2021-09-28 Intel Corporation Power governance of processing unit
US10671147B2 (en) * 2017-12-18 2020-06-02 Facebook, Inc. Dynamic power management for artificial intelligence hardware accelerators
CN111542808B (zh) * 2017-12-26 2024-03-22 三星电子株式会社 预测电子设备上运行应用的线程的最优数量的方法和系统
KR102482896B1 (ko) 2017-12-28 2022-12-30 삼성전자주식회사 이종 휘발성 메모리 칩들을 포함하는 메모리 장치 및 이를 포함하는 전자 장치
US10891239B2 (en) 2018-02-07 2021-01-12 Alibaba Group Holding Limited Method and system for operating NAND flash physical space to extend memory capacity
US10496548B2 (en) 2018-02-07 2019-12-03 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
US10831404B2 (en) 2018-02-08 2020-11-10 Alibaba Group Holding Limited Method and system for facilitating high-capacity shared memory using DIMM from retired servers
WO2019157503A1 (en) 2018-02-12 2019-08-15 Massachusetts Institute Of Technology Systems and methods for providing secure communications using a protocol engine
US10402112B1 (en) 2018-02-14 2019-09-03 Alibaba Group Holding Limited Method and system for chunk-wide data organization and placement with real-time calculation
US11137807B2 (en) * 2018-03-28 2021-10-05 Intel Corporation System, apparatus and method for controllable processor configuration based on a temperature specification
US11379155B2 (en) 2018-05-24 2022-07-05 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
CN111902804B (zh) 2018-06-25 2024-03-01 阿里巴巴集团控股有限公司 用于管理存储设备的资源并量化i/o请求成本的系统和方法
US10994718B2 (en) 2018-06-27 2021-05-04 Hyundai Autron Co., Ltd. Multi-master system, power controller and operating method of the multi-master system
KR102604290B1 (ko) * 2018-07-13 2023-11-20 삼성전자주식회사 전자 장치의 데이터 패킷 처리 장치 및 방법
US10871921B2 (en) 2018-07-30 2020-12-22 Alibaba Group Holding Limited Method and system for facilitating atomicity assurance on metadata and data bundled storage
US10747673B2 (en) 2018-08-02 2020-08-18 Alibaba Group Holding Limited System and method for facilitating cluster-level cache and memory space
US10996886B2 (en) 2018-08-02 2021-05-04 Alibaba Group Holding Limited Method and system for facilitating atomicity and latency assurance on variable sized I/O
US11119788B2 (en) * 2018-09-04 2021-09-14 Apple Inc. Serialization floors and deadline driven control for performance optimization of asymmetric multiprocessor systems
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
KR102628010B1 (ko) * 2018-10-05 2024-01-22 삼성전자주식회사 가상 암호화 연산을 수행하는 암호화 회로
US11431565B2 (en) * 2018-10-15 2022-08-30 Intel Corporation Dynamic traffic-aware interface queue switching among processor cores
US10852948B2 (en) 2018-10-19 2020-12-01 Alibaba Group Holding System and method for data organization in shingled magnetic recording drive
US11106261B2 (en) * 2018-11-02 2021-08-31 Nvidia Corporation Optimal operating point estimator for hardware operating under a shared power/thermal constraint
US10795586B2 (en) 2018-11-19 2020-10-06 Alibaba Group Holding Limited System and method for optimization of global data placement to mitigate wear-out of write cache and NAND flash
CN109491494B (zh) * 2018-11-26 2020-04-17 北京地平线机器人技术研发有限公司 功率参数的调整方法、装置及强化学习模型训练方法
CN109542606B (zh) * 2018-11-27 2022-08-05 哈尔滨工业大学 一种面向穿戴设备应用的eas调度器的优化方法
US10769018B2 (en) 2018-12-04 2020-09-08 Alibaba Group Holding Limited System and method for handling uncorrectable data errors in high-capacity storage
US10963332B2 (en) * 2018-12-17 2021-03-30 Western Digital Technologies, Inc. Data storage systems and methods for autonomously adapting data storage system performance, capacity and/or operational requirements
US10884654B2 (en) 2018-12-31 2021-01-05 Alibaba Group Holding Limited System and method for quality of service assurance of multi-stream scenarios in a hard disk drive
US10977122B2 (en) 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11132291B2 (en) 2019-01-04 2021-09-28 Alibaba Group Holding Limited System and method of FPGA-executed flash translation layer in multiple solid state drives
US11544525B2 (en) 2019-02-04 2023-01-03 Sateesh Kumar Addepalli Systems and methods for artificial intelligence with a flexible hardware processing framework
US11507662B2 (en) 2019-02-04 2022-11-22 Sateesh Kumar Addepalli Systems and methods of security for trusted artificial intelligence hardware processing
US11150720B2 (en) 2019-02-04 2021-10-19 Sateesh Kumar Addepalli Systems and methods for power management of hardware utilizing virtual multilane architecture
US11200337B2 (en) 2019-02-11 2021-12-14 Alibaba Group Holding Limited System and method for user data isolation
US11423454B2 (en) 2019-02-15 2022-08-23 Sateesh Kumar Addepalli Real-time customizable AI model collaboration and marketplace service over a trusted AI model network
US10504848B1 (en) 2019-02-19 2019-12-10 Faraday Semi, Inc. Chip embedded integrated voltage regulator
WO2020172234A1 (en) * 2019-02-19 2020-08-27 Massachusetts Institute Of Technology Configurable lattice cryptography processor for the quantum-secure internet of things and related techniques
US11113216B2 (en) * 2019-03-20 2021-09-07 Mediatek Inc. Dispatching interrupts in a multi-processor system based on power and performance factors
US11121644B2 (en) 2019-03-25 2021-09-14 Semiconductor Components Industries, Llc Power supply system for optimizing overall efficiency using artificial intelligence
US11527950B2 (en) 2019-03-25 2022-12-13 Semiconductor Components Industries, Llc Power supply system for controlling load distribution across multiple converters for optimizing overall efficiency
US11258374B2 (en) 2019-03-25 2022-02-22 Semiconductor Components Industries, Llc Power supply system for optimizing standby power using artificial intelligence
US11036275B2 (en) * 2019-03-29 2021-06-15 Intel Corporation Detection of known workload patterns
US10922234B2 (en) 2019-04-11 2021-02-16 Alibaba Group Holding Limited Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US10908960B2 (en) 2019-04-16 2021-02-02 Alibaba Group Holding Limited Resource allocation based on comprehensive I/O monitoring in a distributed storage system
WO2020214857A1 (en) 2019-04-17 2020-10-22 Faraday Semi, Inc. Electrical devices and methods of manufacture
US10817462B1 (en) * 2019-04-26 2020-10-27 Xilinx, Inc. Machine learning model updates to ML accelerators
US11442529B2 (en) * 2019-05-15 2022-09-13 Intel Corporation System, apparatus and method for dynamically controlling current consumption of processing circuits of a processor
US11169873B2 (en) 2019-05-21 2021-11-09 Alibaba Group Holding Limited Method and system for extending lifespan and enhancing throughput in a high-density solid state drive
US11372711B2 (en) 2019-06-29 2022-06-28 Intel Corporation Apparatus and method for fault handling of an offload transaction
US20200409764A1 (en) * 2019-06-29 2020-12-31 Intel Corporation Core-to-core "snoop" instruction variants
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
CN114286984A (zh) * 2019-07-25 2022-04-05 惠普发展公司,有限责任合伙企业 工作负载性能预测
KR20210015332A (ko) 2019-08-01 2021-02-10 삼성전자주식회사 시스템 온 칩 및 이를 포함하는 전자 장치
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
CN111143275A (zh) * 2019-12-27 2020-05-12 南方电网科学研究院有限责任公司 一种ip管理和功耗优化系统及方法
US11042307B1 (en) 2020-01-13 2021-06-22 Alibaba Group Holding Limited System and method for facilitating improved utilization of NAND flash based on page-wise operation
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US10872622B1 (en) 2020-02-19 2020-12-22 Alibaba Group Holding Limited Method and system for deploying mixed storage products on a uniform storage infrastructure
US10923156B1 (en) 2020-02-19 2021-02-16 Alibaba Group Holding Limited Method and system for facilitating low-cost high-throughput storage for accessing large-size I/O blocks in a hard disk drive
US11150986B2 (en) 2020-02-26 2021-10-19 Alibaba Group Holding Limited Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction
US11144250B2 (en) 2020-03-13 2021-10-12 Alibaba Group Holding Limited Method and system for facilitating a persistent memory-centric system
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
CN111506154B (zh) * 2020-04-14 2021-05-25 深圳比特微电子科技有限公司 计算机提高算力和降低功耗算力比的方法及系统
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
CN115516425A (zh) * 2020-05-29 2022-12-23 英特尔公司 用于工作负载经优化中央处理单元(cpu)的系统、方法和装置
US20230205606A1 (en) * 2020-05-29 2023-06-29 Intel Corporation Systems, apparatus, and methods to workload optimize hardware
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
CN111541451B (zh) * 2020-06-23 2021-10-29 深圳比特微电子科技有限公司 用于对时钟信号进行升频的方法和时钟电路
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11063516B1 (en) 2020-07-29 2021-07-13 Faraday Semi, Inc. Power converters with bootstrap
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
CN112181124B (zh) * 2020-09-11 2023-09-01 华为技术有限公司 功耗管理的方法和相关设备
KR20220036232A (ko) * 2020-09-15 2022-03-22 에스케이하이닉스 주식회사 전자 장치 및 전자 장치의 동작 방법
US20220113784A1 (en) * 2020-10-12 2022-04-14 Nvidia Corporation Techniques to power balance multiple chips
US11640195B2 (en) * 2020-10-12 2023-05-02 Alibaba Group Holding Limited Service-level feedback-driven power management framework
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US20210136680A1 (en) * 2020-12-11 2021-05-06 Intel Corporation Energy aware network slicing
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11307634B1 (en) 2021-01-28 2022-04-19 Red Hat, Inc. Maintaining historical power level metadata for dynamic voltage and frequency scaling of processor instructions
KR20220114409A (ko) * 2021-02-08 2022-08-17 삼성전자주식회사 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템 및 비휘발성 메모리 장치의 동작 방법
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage
EP4328712A4 (en) * 2021-05-27 2024-06-19 Huawei Technologies Co., Ltd. METHOD AND APPARATUS FOR ADJUSTING ENERGY CONSUMPTION
US20210326171A1 (en) * 2021-06-26 2021-10-21 Intel Corporation Methods and apparatus for task relocation based on memory access patterns
US11921564B2 (en) 2022-02-28 2024-03-05 Intel Corporation Saving and restoring configuration and status information with reduced latency
US11990839B2 (en) 2022-06-21 2024-05-21 Faraday Semi, Inc. Power converters with large duty cycles
US20230418664A1 (en) * 2022-06-22 2023-12-28 Advanced Micro Devices, Inc. Adaptive thread management for heterogenous computing architectures
US20240004444A1 (en) * 2022-06-30 2024-01-04 Advanced Micro Devices, Inc. Rest-of-chip power optimization through data fabric performance state management
CN115168059B (zh) * 2022-09-07 2022-12-16 平安银行股份有限公司 系统内核监测方法、装置、终端设备及存储介质
WO2024085326A1 (en) * 2022-10-19 2024-04-25 Samsung Electronics Co., Ltd. System and method for maintaining a telecommunication event at a user equipment

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
US7089443B2 (en) 2003-01-23 2006-08-08 University Of Rochester Multiple clock domain microprocessor
JP4061492B2 (ja) 2003-02-10 2008-03-19 ソニー株式会社 情報処理装置および消費電力制御方法
US7093147B2 (en) 2003-04-25 2006-08-15 Hewlett-Packard Development Company, L.P. Dynamically selecting processor cores for overall power efficiency
US7272732B2 (en) 2003-06-30 2007-09-18 Hewlett-Packard Development Company, L.P. Controlling power consumption of at least one computer system
TW200502847A (en) 2003-07-08 2005-01-16 Benq Corp Control device and method for reducing number of interrupts in a processor
US7146514B2 (en) 2003-07-23 2006-12-05 Intel Corporation Determining target operating frequencies for a multiprocessor system
US7272730B1 (en) 2003-07-31 2007-09-18 Hewlett-Packard Development Company, L.P. Application-driven method and apparatus for limiting power consumption in a processor-controlled hardware platform
US7194643B2 (en) 2003-09-29 2007-03-20 Intel Corporation Apparatus and method for an energy efficient clustered micro-architecture
US7770034B2 (en) 2003-12-16 2010-08-03 Intel Corporation Performance monitoring based dynamic voltage and frequency scaling
US20070156992A1 (en) 2005-12-30 2007-07-05 Intel Corporation Method and system for optimizing latency of dynamic memory sizing
US7451333B2 (en) 2004-09-03 2008-11-11 Intel Corporation Coordinating idle state transitions in multi-core processors
US7827424B2 (en) * 2004-07-29 2010-11-02 Ati Technologies Ulc Dynamic clock control circuit and method
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
US7536681B2 (en) * 2005-03-22 2009-05-19 Intel Corporation Processing secure metadata at wire speed
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
US20070245163A1 (en) 2006-03-03 2007-10-18 Yung-Hsiang Lu Power management in computer operating systems
US7437270B2 (en) 2006-03-30 2008-10-14 Intel Corporation Performance state management
US7752468B2 (en) 2006-06-06 2010-07-06 Intel Corporation Predict computing platform memory power utilization
US7529956B2 (en) 2006-07-17 2009-05-05 Microsoft Corporation Granular reduction in power consumption
US7930564B2 (en) 2006-07-31 2011-04-19 Intel Corporation System and method for controlling processor low power states
US7730340B2 (en) 2007-02-16 2010-06-01 Intel Corporation Method and apparatus for dynamic voltage and frequency scaling
WO2008117133A1 (en) 2007-03-26 2008-10-02 Freescale Semiconductor, Inc. Anticipation of power on of a mobile device
JP2008257578A (ja) 2007-04-06 2008-10-23 Toshiba Corp 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法
US7971074B2 (en) 2007-06-28 2011-06-28 Intel Corporation Method, system, and apparatus for a core activity detector to facilitate dynamic power management in a distributed system
US20090089792A1 (en) 2007-09-27 2009-04-02 Sun Microsystems, Inc. Method and system for managing thermal asymmetries in a multi-core processor
US20090150696A1 (en) 2007-12-10 2009-06-11 Justin Song Transitioning a processor package to a low power state
US8024590B2 (en) 2007-12-10 2011-09-20 Intel Corporation Predicting future power level states for processor cores
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 엘지전자 주식회사 전원관리 제어 장치 및 방법
US7930574B2 (en) 2007-12-31 2011-04-19 Intel Corporation Thread migration to improve power efficiency in a parallel processing environment
US8156362B2 (en) 2008-03-11 2012-04-10 Globalfoundries Inc. Hardware monitoring and decision making for transitioning in and out of low-power state
US8954977B2 (en) 2008-12-09 2015-02-10 Intel Corporation Software-based thread remapping for power savings
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
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
US9069555B2 (en) 2011-03-21 2015-06-30 Intel Corporation Managing power consumption in a multi-core processor
US8949637B2 (en) 2011-03-24 2015-02-03 Intel Corporation Obtaining power profile information with low overhead
US8793515B2 (en) * 2011-06-27 2014-07-29 Intel Corporation Increasing power efficiency of turbo mode operation in a processor
US8769316B2 (en) 2011-09-06 2014-07-01 Intel Corporation Dynamically allocating a power budget over multiple domains of a processor
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
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
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
US9727388B2 (en) * 2011-12-29 2017-08-08 Intel Corporation Migrating threads between asymmetric cores in a multiple core processor
US9354689B2 (en) 2012-03-13 2016-05-31 Intel Corporation Providing energy efficient turbo operation of a processor
WO2013137860A1 (en) 2012-03-13 2013-09-19 Intel Corporation Dynamically computing an electrical design point (edp) for a multicore processor
US9323316B2 (en) 2012-03-13 2016-04-26 Intel Corporation Dynamically controlling interconnect frequency in a processor
US10185566B2 (en) * 2012-04-27 2019-01-22 Intel Corporation Migrating tasks between asymmetric computing elements of a multi-core processor
US8984313B2 (en) 2012-08-31 2015-03-17 Intel Corporation Configuring power management functionality in a processor including a plurality of cores by utilizing a register to store a power domain indicator
US20140089699A1 (en) 2012-09-27 2014-03-27 Advanced Micro Devices Power management system and method for a processor
US9223979B2 (en) * 2012-10-31 2015-12-29 Intel Corporation Detection of return oriented programming attacks
DE112012007115T5 (de) 2012-12-28 2015-08-20 Paul Brett Wahlweise Logikprozessor-Zählung und Typauswahl für eine gegebene Arbeitsbelastung basierend auf Wärme- und Leistungsbudget-Einschränkungen der Plattform
US9665154B2 (en) 2013-05-31 2017-05-30 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Subsystem-level power management in a multi-node virtual machine environment
US9292293B2 (en) * 2013-08-08 2016-03-22 Qualcomm Incorporated Intelligent multicore control for optimal performance per watt
US20150355700A1 (en) * 2014-06-10 2015-12-10 Qualcomm Incorporated Systems and methods of managing processor device power consumption

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI767212B (zh) * 2020-04-16 2022-06-11 晶豪科技股份有限公司 有助於使記憶體系統在電源開啟期間提前運作的方法、使用該方法的記憶體控制器以及能夠在電源開啟期間提前運作的記憶體系統
TWI802951B (zh) * 2021-04-28 2023-05-21 廣達電腦股份有限公司 儲存有限狀態機之狀態資料的方法、電腦系統、及電腦程式產品
US11853140B2 (en) 2021-08-31 2023-12-26 Apple Inc. Power management based on limiting hardware-forced power control
TWI836579B (zh) * 2021-08-31 2024-03-21 美商蘋果公司 基於限制硬體強制電力控制之電力管理
US11960341B2 (en) 2021-08-31 2024-04-16 Apple Inc. Power delivery reduction scheme for SoC

Also Published As

Publication number Publication date
US10234930B2 (en) 2019-03-19
EP3256929B1 (en) 2023-06-28
TW201643714A (zh) 2016-12-16
US20160239074A1 (en) 2016-08-18
EP3256929A4 (en) 2018-10-17
CN107209548A (zh) 2017-09-26
WO2016130311A1 (en) 2016-08-18
US10775873B2 (en) 2020-09-15
US20190265777A1 (en) 2019-08-29
EP3256929A1 (en) 2017-12-20
CN107209548B (zh) 2021-04-06

Similar Documents

Publication Publication Date Title
TWI599960B (zh) 在多核心處理器中執行電源管理
CN107209545B (zh) 在多核处理器中执行功率管理
US10146286B2 (en) Dynamically updating a power management policy of a processor
US11048318B2 (en) Reducing microprocessor power with minimal performance impact by dynamically adapting runtime operating configurations using machine learning
CN107533354B (zh) 控制处理器的处理引擎的性能状态
JP7547368B2 (ja) プロセッサの処理回路の電流消費を動的に制御するためのシステム、装置及び方法
US11775047B2 (en) System, apparatus and method for dynamically adjusting platform power and performance based on task characteristics
US11481013B2 (en) Multi-level loops for computer processor control
KR20210134322A (ko) 프로세서의 전력 라이센스 제어를 위한 시스템, 장치 및 방법
CN113448373A (zh) 用于处理器的电压调节器的功率状态缩放的装置和方法
CN109791427B (zh) 使用滑动平均值的处理器电压控制
BR112020019437A2 (pt) sistema, aparelho e método para controle de estado de desempenho de hardware autônomo responsivo de um processador