TWI714643B - 處理器、運算系統以及非暫時性機器可讀媒體 - Google Patents
處理器、運算系統以及非暫時性機器可讀媒體 Download PDFInfo
- Publication number
- TWI714643B TWI714643B TW105132040A TW105132040A TWI714643B TW I714643 B TWI714643 B TW I714643B TW 105132040 A TW105132040 A TW 105132040A TW 105132040 A TW105132040 A TW 105132040A TW I714643 B TWI714643 B TW I714643B
- Authority
- TW
- Taiwan
- Prior art keywords
- processor
- power
- duration
- level
- power level
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Microcomputers (AREA)
Abstract
在一實施例中,一處理器包括至少一核心、至少一熱感測器、以及一功率控制器,該功率控制器包括一第一邏輯以動態地更新一持續時間,該至少一核心被致能可在該持續時間中處於一渦輪模式。其他的實施例被描述並要求保護。
Description
實施例涉及一系統的電源管理,且更具體地係涉及一多核心處理器的電源管理。
在半導體處理和邏輯設計中的進步已允許增加可能存在於積體電路裝置中的邏輯數量。因此,電腦系統組配已經從在一系統中之一單一或多個積體電路發展到在各自積體電路上之多個硬體執行緒、多個核心、多個裝置、及/或完整的系統。此外,隨著積體電路之密度的增加,運算系統(從嵌入式系統到伺服器)的該功率需求也已增加。此外,軟體低效率,以及其對硬體的要求,也已導致在運算裝置中能量消耗的增加。事實上,一些研究指出,運算裝置消耗了一個國家,諸如美國,整個電力供應之一相當大的百分比。因此,針對與積體電路相關聯的能量效率和節約存在有極大的需求。這些需求將隨著伺服器、桌上型電腦、筆記型電腦、UltrabookTM、平板電腦、行動電話、處理器、嵌入式系統、等等變得更加普遍(包括在從
典型的電腦、汽車、以及電視到生物技術中)而增加。
許多處理器實現渦輪模式電源管理以便在使總體功耗盡可能低的同時最大化效能。定義渦輪能力之最主要的部分係一處理器的功率預算和冷卻解決方案。由於與處理器操作時間常數(提高處理器頻率的該時間)相比,一熱時間常數(提高處理器溫度的該時間)相對較大,因此在高於一冷卻解決方案之穩態能力的功率(和頻率)位準上執行是有可能的。然而,這種操作可能受限於各種設定和限制。
依據本發明之一實施例,係特地提出一種處理器,包含:至少一核心;至少一熱感測器;以及一功率控制器,包括一第一邏輯以動態地更新用於該至少一核心之一渦輪模式的至少一操作參數,其中該處理器具有一支援值用於被儲存在一儲存器中之該至少一操作參數。
100、1200、1300、1400:系統
110、200、300、400、900、1410、1570、1580:處理器
120a~120n、210a~210n、310a~310n、401、402、500、600、700、800、1012a~1012d、1022a~1022d:核心
125a~125x:IVR
132、250a~250n、380a~380n:IF
134:PCIe IF
136、240、370:IMC
138、355:PCU
150:電源供應器
160:外部VR
162、163:數位介面
215、330:互連
220:非核心邏輯
230:共享快取
255:功率控制單元
310:核心域
320:圖形引擎
340a~340n:LLC
350:系統代理
352:顯示控制器
401a、401b、402a、402b:架構狀態暫存器
405:匯流排介面
410:高級快取
420:BTB及I-TLB
425、426:解碼
430、431:重新命名/分配器
435、436:重新排序/退出單元
440、441:排程器/執行單元
450、451:較低層級D-快取及D-TLB
460:功率控制單元
470、1050:記憶體控制器
501、710、810:提取單元
503、610:指令快取
505、615:指令解碼器
510:前端單元
515:亂序引擎
520:執行單元
522:ALU
524:VEU
530:暫存器檔案
535:經擴展的暫存器檔案
538:MSR
540:ROB
550、820:快取
605:分支預測器
620:IQ
618:微碼ROM
630:浮點管線
632:FP暫存器檔案
634:FP排程器
635、645:ALU
636:混洗
638:FP加法器
640:整數管線
642:INT暫存器檔案
644:IE排程器
646:移位器單元
648:JEU
650:ME排程器
652:AGU
654:TLB
660:資料快取
670:分配器/重新命名器
680:重新排序緩衝器
715:解碼單元
725、830:發佈邏輯
730、825:佇列
735、835:整數單元
740、840:乘法單元
750、850:浮點/向量單元
760:雙重發佈單元
770、870:載入/儲存單元
780、880:WB單元
815:解碼器/重新命名器/分派器
860:分支單元
910a~910n:核心單元
920:圖形單元
925:影像信號處理器
930:非依電性儲存器/ROM
935:MC
940:電源管理器
945、1250:安全處理器
950:視訊編碼器
955:顯示控制器
960a~960d:I/F
1000、1100、1310:SoC
1010:第一核心域
1020:第二核心域
1015、1025:快取記憶體
1030、1120:GPU
1040:同調互連
1110:CPU
1130、1460:DSP
1140:通信單元
1150:多媒體處理器
1160:感測器單元
1170:ISP
1180:顯示處理器
1190:位置單元
1205:基頻處理器
1210:應用程式處理器
1215、1380:PMIC
1220:UI/顯示器
1225、1360:感測器
1230、1340:快閃記憶體
1235、1350:DRAM
1240:UICC
1240:擷取裝置
1260:NFC非接觸式介面
1265:NFC天線
1270:RF收發器
1275:WLAN收發器
1280:GPS感測器
1290、1355:天線
1295:音訊輸出
1320:觸控面板
1330:以太網路IF
1325:週邊集線器
1350:WLAN單元
1365:音訊編解碼器
1370:音訊輸出裝置
1390:電池
1395:AC適配器
1415:LPDDR3
1420:SSD或HD
1422:BIOS、FW快閃
1424:顯示器
1425:觸控螢幕
1430:觸控板
1435:EC
1436:鍵盤
1437:風扇
1438:TPM
1439:熱感測器
1440:感測器集線器
1441:加速度計
1442:ALS
1443:羅盤
1444:陀螺儀
1445:NFC單元
1446:熱感測器
1450:WLAN單元
1452:藍牙單元
1454:USB 3.0相機
1455:GPS
1456:WWAN單元
1457:SIM
1462:音訊CODEC及D類放大器
1463:揚聲器
1464:耳機
1465:MIC
1500:多處理器系統
1514:I/O裝置
1516:第一匯流排
1518:匯流排橋接器
1520:第二匯流排
1522:鍵盤/滑鼠
1524:音訊I/O
1526:通信裝置
1528:資料儲存器
1530:程式碼
1532、1534:記憶體
1538:高效能圖形
1539、1550、1562、1564:點對點互連
1572、1582:MCH
1574a、1574b、1584a、1584b:處理器核心
1576、1578、1586、1588、1594、1598:P-P
1590:晶片組
1592、1596:I/F
1600:IP核心開發系統
1610:軟體模擬
1615:RTL設計
1620:硬體模型(HDL或實體設計資料)
1630:設計設施
1640:非依電性記憶體
1650:有線連接
1660:無線連接
1665:製造設施
1700、1800、1900:方法
1710~1770、1810~1850、1910~1940:方塊
圖1根據本發明的一實施例係一系統之一部分的方塊圖。
圖2根據本發明的一實施例係一處理器的方塊圖。
圖3根據本發明的另一實施例係一多域處理器的方塊圖。
圖4係包括多個核心之一處理器的一實施例。
圖5根據本發明的一實施例係一處理器核心之一微架構的方塊圖。
圖6根據另一實施例係一處理器核心之一微架構的方塊圖。
圖7根據又另一實施例係一處理器核心之一微架構的方塊圖。
圖8根據再另一實施例係一處理器核心之一微架構的方塊圖。
圖9根據本發明的另一實施例係一處理器的方塊圖。
圖10根據本發明的一實施例係一代表性SoC的方塊圖。
圖11根據本發明的一實施例係一實例SoC的方塊圖。
圖12係實施例可與其使用之一實例系統的方塊圖。
圖13係實施例可與其使用之另一實例系統的方塊圖。
圖14係一代表性電腦系統的方塊圖。
圖15根據本發明的一實施例係一系統的方塊圖。
圖16根據一實施例係一方塊圖,其圖示出使用來製造一積體電路以執行操作的一IP核心開發系統。
圖17根據一實施例係一種方法的流程圖,用
於最佳化經增加之功耗窗口的一時間常數。
圖18根據本發明的一實施例係一種方法的流程圖,用於最佳化一熱設計功率值。
圖19根據一實施例係一種方法的流程圖,用於最佳化另一功率限制值。
在各種實施例中,一處理器諸如一多核心處理器或其他系統單晶片(SoC)可被動態地控制來最佳化各種操作參數以使之能夠以經增加的效能位準,所謂的渦輪模式操作,來進行操作。當一操作頻率及/或操作電壓被增加以啟用來自該處理器的各種單元諸如一或多個核心或其他處理單元之更大的效能時,這種渦輪模式操作發生了。
在一給定的平台中,渦輪模式操作參數的決定係基於預先定義的平台規格並且針對一般使用者來進行調整。大多數渦輪模式和硬體效能狀態(HWP)決策係基於短期表徵和參數追踪(例如,數毫秒至數秒)來做出。加入較長期的資訊可有助於一功率控制器或其他控制電路做出更好的決策及更好的最佳化功率、效能和能量。例如,動態渦輪模式係高度取決於平台情況和環境溫度。僅使用功率設定檔可能會導致熱節流(這可能會非所欲地影響效能),或留下未被使用的效能。膚溫發展非常地緩慢並因此難以僅藉由使用功率追踪來進行控制,增加環境溫度預測技術可顯著地提高膚溫控制。回應式演算法嘗試跳過基於訊框的工作負荷,並藉由追踪訊框速率間隔來檢測使用者
互動,然而,DVD播放、3D遊戲等等係長時間的並可以容易地由一慢速剖析器來追踪。
實施例提供了技術以基於該處理器/電腦平台之自訓練/學習來啟用基於動態場之自最佳化渦輪模式控制以實現一功率效能的效益。使用一實施例,該處理器可被組配來在該現場之一實際系統內學習以最佳化對該冷卻解決方案能力的渦輪功率模式操作,及/或監控使用者行為以最佳化渦輪模式設置點。實施例還可以提供有關於使用者偏好的使用者輸入,並且至少部分地基於這樣的使用者輸入來實現在不同的設置點之間進行切換。因此,實施例可使得自最佳化渦輪模式控制能夠基於系統能力和需求的即時測量來調諧至少特定的功率效能限制。
儘管以下的實施例係參考諸如在運算平台或處理器之特定積體電路中的節能和能量效率來進行描述,但是其他的實施例亦可被應用於其他類型的積體電路及邏輯裝置。本文所描述實施例之類似技術及教導可被應用於亦可受益於更佳能量效率和節能之其他類型的電路或半導體裝置。例如,該等揭示的實施例並不侷限於任何特定類型的電腦系統。也就是說,所揭示的實施例可被使用在許多不同的系統類型中,範圍從伺服器電腦(例如,塔式、機架式、刀鋒式、微伺服器、等等)、通信系統、存儲系統、具任何組配的桌上型電腦、膝上型電腦、筆記型電腦、及平板電腦(包括2:1平板電腦、手機平板等等),並且還可被使用於其他裝置中,諸如手持式裝置、系統單晶
片(SoC)、以及嵌入式應用。手持式裝置的一些實例包括蜂巢式電話諸如智慧型手機、網際網路協定裝置、數位相機、個人數位助理(PDA)、以及手持式PC。嵌入式應用通常可以包括一微控制器、一數位信號處理器(DSP)、網路電腦(NetPC)、機上盒、網路集線器、廣域網路(WAN)交換機、可穿戴式裝置、或可執行以下教導之該等功能及操作之任何其他的系統。而且,實施例可被實現在具有標準語音功能之行動終端諸如行動電話、智慧型手機和手機平板中,及/或可被實現在不具有一標準無線語音功能通信能力之非行動式終端,諸如許多可穿戴式裝置、平板電腦、筆記型電腦、桌上型電腦、微伺服器、伺服器等等。此外,本文所描述之該等裝置、方法、以及系統並不侷限於實體的運算裝置,而也可涉及用於節能和效率的軟體最佳化。如在以下的描述中將變得顯而易見的,本文所描述的方法、裝置、以及系統的該等實施例(無論是關於硬體、韌體、軟體、或其之組合)對於一種「綠色科技」的未來係至關重要的,諸如用於含蓋美國經濟之一大部分產品中的節能和能源效率。
現在參考圖1,其根據本發明的一實施例展示出一系統之一部分的方塊圖。如在圖1中所示,系統100可以包括各種組件,包括被展示為一多核心處理器的一處理器110。處理器110可經由一外部電壓調節器160被耦合到一電源供應器150,該外部電壓調節器可執行一第一電壓轉換以為處理器110提供一主要經調節的電壓Vreg。
如圖所示,處理器110可以是包括多個核心120a-120n的一單一晶粒處理器。此外,每一核心可以與一整合式的電壓調節器(IVR)125a-125n相關聯,IVR接收該主要經調節的電壓並產生將要提供給與該IVR相關聯之該處理器的一或多個代理的一操作電壓。因此,一種IVR實現方式可被提供以允許對每一各別核心之電壓及因此功率及效能的精細控制。因此,每一核心可在一獨立的電壓和頻率下來操作,使得能夠具有很大的靈活性並提供可平衡功耗與效能之廣泛的機會。在一些實施例中,多個IVR的使用使得能夠把組件分組至各別的電源平面中,使得由該IVR所調節及提供的功率僅給在該群組中的那些組件。在電源管理期間,當該處理器被置於一特定低功率狀態中時,一IVR之一給定的功率平面可被斷電或關閉,而同時另一IVR的另一功率平面保持有效、或完全供電。類似地,核心120可以包括或與獨立時脈產生電路諸如一或多個鎖相迴路(PLL)相關聯以獨立地控制每一核心120的操作頻率。
仍然參考圖1,在該處理器內可存在額外的組件,包括輸入/輸出介面(IF)132、另一介面134、以及一整合式的記憶體控制器(IMC)136。如圖所示,這些組件中的每一個可由另一整合式的電壓調節器125x來供電。在一實施例中,介面132可以實現一Intel®快速路徑互連(QPI)的互連操作,其在一包括多層之快取一致性協定中提供點對點(PtP)連結,該等多層包括一實體層、一連結層及一協
定層。接下來,介面134可經由一高速週邊組件互連(PCIeTM)協定進行通信。
一功率控制單元(PCU)138也被示出,其可以包括具有硬體、軟體及/或韌體的電路以執行有關於處理器110之電源管理操作。如圖所示,PCU 138經由一數位介面162提供控制資訊給外部的電壓調節器160以使得該電壓調節器產生該適當經調節的電壓。PCU 138還經由另一數位介面163向IVR 125提供控制資訊以控制所產生的該工作電壓(或以致使一對應的IVR將在一低功率模式中被禁用)。在各種實施例中,PCU 138可包括各種電源管理邏輯單元以執行基於硬體的電源管理,包括如本文所描述之用於一渦輪模式之操作參數的該動態調整。這樣的電源管理可以完全由處理器控制(例如,通過各種處理器硬體,並且可由工作負荷及/或功率、熱或其他處理器限制來觸發)及/或該電源管理可被執行為回應於外部來源(諸如一平台或電源管理源或系統軟體)。
在圖1中,PCU 138被圖示成該處理器的一單獨的邏輯。在其他情況下,PCU邏輯138可以在核心120之一給定的一或多個上執行。在一些情況下,PCU 138可被實現為一微控制器(專用或通用)或其他控制邏輯其被組配來執行它自己的專用電源管理碼,有時稱為P碼。在另外其他的實施例中,將由PCU 138所執行的電源管理操作可在一處理器外部實現,諸如藉由一單獨的電源管理積體電路(PMIC)或該處理器外部的其他組件。在又其他的實施
例中,將由PCU 138所執行的電源管理操作可在BIOS或其他的系統軟體內來實現。
實施例可特別地適用於一多核心處理器,其中多個核心的每一個可以在一獨立的電壓和頻率點上操作。如在本文中所使用的,「域」一詞被使用來意指在該相同的電壓和頻率點下操作之硬體及/或邏輯的一集合。另外,一多核心處理器更可包括其他非核心處理引擎諸如固定功能單元、圖形引擎、等等。這樣的處理器可包括除了該等核心之外的獨立域,諸如與一圖形引擎相關聯的一或多個域(這裡稱為一圖形域)以及與非核心電路相關聯的一或多個域,這裡稱為一非核心或一系統代理。雖然多域處理器之許多的實現方式可被形成在一單一半導體晶粒上,但是其他的實現方式可由一種多晶片封裝來實現,其中不同域可存在於一單一封裝之不同的半導體晶粒上。
儘管為了便於圖示而未被示出,應理解的是處理器110內可存在額外的組件諸如非核心邏輯,以及其他組件諸如內部記憶體,例如,一種快取記憶體層級的一或多個級別,等等。此外,儘管在圖1的該實現方式中被展示成具有一整合式的電壓調節器,但實施例並不侷限於此。例如,可從外部電壓調節器160或經調節電壓之一或多個額外的外部來源提供其他經調節的電壓給晶片上的資源。
注意,在本文中所描述的該等電源管理技術可獨立於並互補於一種基於作業系統(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),其中一或多個核心或其他處理器邏輯的一操作電壓及/或操作頻
率可被動態控制以在某些情況下降低功耗。在一實例中,DVFS使用可購自美國加州聖克拉拉之英特爾公司的Enhanced Intel SpeedStepTM技術來執行,以在一最低功耗位準下提供最佳的效能。在另一實例中,可以使用Intel SpeedStepTM技術來執行IDVFS以使一或多個核心或其他運算引擎能夠基於條件(例如,工作負荷及可用性)操作在一高於保證的操作頻率上。
可被使用在某些實例中之另一種電源管理技術是在不同運算引擎之間工作負荷的動態交換。例如,該處理器可以包括以不同的功耗位準來操作之不對稱的核心或其他的處理引擎,使得在一功率受限的情況下,一或多個工作負荷可以動態地切換以在一較低功率核心或其他的運算引擎上執行。另一示例性電源管理技術係硬體工作循環(HDC),其可致使核心及/或其他運算引擎根據一工作周期來週期性地啟用和禁用,使得一或多個核心可以在該工作周期之一非活動期間使之不活動,並在該工作周期之一活動期間使之活動。
當在一操作環境中存在有限制時,電源管理技術也可被使用。例如,當遇到一功率及/或熱限制時,可以藉由降低工作頻率及/或電壓來降低功率。其他的電源管理技術包括節流指令執行速率或限制指令的排程。更再者,一給定指令集架構的指令係可能包括有關於電源管理操作之明確或隱藏式的指示。雖然是用這些特定的實例進行描述,但應理解的是許多其他的電源管理技術可被使用
在特定的實施例中。
實施例可被實現在各種市面上的處理器中,包括伺服器處理器、桌上型電腦處理器、行動處理器、等等。現在參考圖2,根據本發明的一實施例展示出一處理器的方塊圖。如在圖2中所示,處理器200可以是包括數個核心210a-210n之一種多核心處理器。在一實施例中,每一這樣的核心可以具有一獨立的電源域,並且可被組配為基於工作負荷進入及退出活動狀態及/或最大效能狀態。一或多個核心210可以與其他的核心異構,例如,具有不同的微架構、指令集架構、管線深度、功率和效能能力。該等各種核心可經由一互連215被耦合到包括各種組件之一系統代理或非核心220。如圖所示,該非核心220可包括一共享快取230,其可以是一末級快取。另外,該非核心可以包括整合式的記憶體控制器240以與一系統記憶體(未在圖2中被示出)進行通信,例如,經由一記憶體匯流排。非核心220還包括各種介面250及一功率控制單元255,其可以包括邏輯以執行在本文中所描述的該等電源管理技術,包括在本文中所描述之渦輪模式操作參數的該動態控制。
另外,藉由介面250a-250n,可以連接到各種晶片外的組件諸如週邊裝置、大容量記憶體等等。雖然在圖2的該實施例中係以這種特定的實現方式被示出,但本發明的範圍並不侷限於此。
現在參考圖3,根據本發明的另一實施例展
示出一種多域處理器的方塊圖。如在圖3的實施例中所示,處理器300包括多個域。具體地說,一核心域310可以包括數個核心310a-310n,一圖形域320可以包括一或多個圖形引擎,並且還可以存在有一系統代理域350。在一些實施例中,系統代理域350可以以獨立於該核心域之一頻率來執行,並可始終保持在通電狀態以處理功率控制事件及電源管理,使得域310及320可被控制以動態地進入及退出高功率及低功率狀態。域310及320中的每一個可以在不同的電壓及/或功率下操作。注意,儘管僅示出三個域,但應理解本發明的範圍並不侷限於此並且額外的域可以出現在於其他的實施例中。例如,可能存在多個核心域而每一個包括至少一核心。
通常,除了各種執行單元和附加處理元件之外,每一個核心310還可以包括低層級快取。進而,該等各個核心可被耦合到彼此以及耦合到由一種末級快取(LLC)340a-340n之數個單元所形成的一共享快取記憶體。在各種實施例中,LLC 340可在該等核心及該圖形引擎以及各種媒體處理電路之間被共享。如圖所示,一環形互連330因此把該等核心耦合在一起,並且提供在該等核心、圖形域320以及系統代理電路350之間的互連。在一實施例中,互連330可以是該核心域的一部分。然而在其他實施例中,該環形互連可以是其自己域的一部分。
如進一步可被看到的,系統代理域350可包括顯示控制器352,其可提供對一相關聯顯示器的控制及
對該顯示器之一介面。如進一步可被看到的,系統代理域350可包括一功率控制單元355,其可包括邏輯以執行在本文中所描述的該等電源管理技術,包括在本文中所描述之渦輪模式操作參數的該動態控制。
如進一步在圖3中所示,處理器300更可包括一整合式的記憶體控制器(IMC)370,其可提供介接諸如一動態隨機存取記憶體(DRAM)之一系統記憶體的介面。多個介面380a-380n可存在以實現在該處理器與其他電路之間的互連。例如,在一實施例中,可提供至少一直接媒體介面(DMI)介面以及一或多個PCIeTM介面。更進一步,為了提供在諸如額外處理器或其他電路之其他代理間的通信,還可以提供一或多個QPI介面。雖然在圖3的實施例中係以這種高階的方式示出,但應理解本發明的範圍並不侷限於此。
參考圖4,包括多個核心之一處理器的一實施例被圖示出。處理器400包括任何的處理器或處理裝置,諸如一微處理器、一嵌入式處理器、一數位信號處理器(DSP)、一網路處理器、一手持式處理器、一應用程式處理器、一協同處理器、一系統單晶片(SoC)、或其他裝置來執行程式碼。在一實施例中,處理器400包括至少兩個核心-核心401及402,其可以包括不對稱核心或對稱核心(該所示之實施例)。然而,處理器400可包括可以是對稱或不對稱之任何數量的處理元件。
在一實施例中,一處理元件係指支援一軟體
執行緒的硬體或邏輯。硬體處理元件的實例包括:一執行緒單元、一執行緒槽、一執行緒、一處理單元、一環境、一環境單元、一邏輯處理器、一硬體執行緒、一核心、及/或任何其他元件,其能夠保持一處理器的狀態,諸如一執行狀態或架構狀態。換句話說,在一實施例中,一處理元件係指能夠獨立地與程式碼相關聯的任何硬體,諸如一軟體執行緒、作業系統、應用程式、或其他程式碼。一實體的處理器通常指一積體電路,其可能包括任何數量的其他處理元件,諸如核心或硬體執行緒。
一核心通常指位於一積體電路上能夠維持一獨立架構狀態的邏輯,其中每一獨立維護的架構狀態與至少一些專用的執行資源相關聯。與核心相反,一硬體執行緒通常係指位於一積體電路上能夠維持一獨立架構狀態的任何邏輯,其中該等獨立維護的架構狀態共享對執行資源的存取。如可被看出的是,當某些資源被共享而其他資源被專用於一架構狀態時,在一硬體執行緒的該命名與核心之間的該界線重疊。然而通常,一核心及一硬體執行緒被一作業系統視為各自的邏輯處理器,其中該作業系統能夠各自地排程在每一邏輯處理器上的操作。
實體處理器400,如在圖4中所示,包括兩個核心,即核心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中,還可為執行緒401a及401b複製其他較小的資源,諸如在分配器和重新命名器方塊430中的指令指標和重新命名邏輯。一些資源,諸如在重新排序/退出單元435中的重新排序緩衝器、
分支目標緩衝器及指令轉譯後備緩衝器(BTB及I-TLB)420、載入/儲存緩衝器、以及佇列可透過分割來被共享。其他的資源諸如通用目的內部暫存器、頁表基底暫存器、低層級資料快取及資料-TLB 450、執行單元440、和亂序單元435的部分可能為完全共享的。
處理器400通常包括其他的資源,其可以被完全地共享、透過分割被共享、或由/給處理元件所專用。在圖4中,具有一處理器之說明性邏輯單元/資源的一純粹示例性處理器的一實施例被示出。注意,一處理器可包括或省略這些功能單元中的任何功能單元,以及可包括未被圖示出之任何其他已知的功能單元、邏輯、或韌體。如圖所示,核心401包括一經簡化的、代表性的亂序(OOO)處理器核心。但是在不同的實施例中可以使用一依序處理器。該OOO核心包括用於預測要被執行/採用之分支的一分支目標緩衝器420以及用於儲存指令之位址轉移條目的一指令轉譯緩衝器(I-TLB)420。
核心401更包括耦合到一提取單元的解碼模組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,並將把它們饋送到指令解碼器505以把它們解碼為基元,即,由該處理器所執行的微運算。
耦合在前端單元510與執行單元520之間的係一亂序(OOO)引擎515,其可被使用來接收該等微指令並把它們準備用於執行。更具體地說,OOO引擎515可以包括各種緩衝器以重新排序微指令流並分配執行所需之各種的資源,以及提供邏輯暫存器的重新命名至各種暫存器檔案諸如暫存器檔案530及經擴展的暫存器檔案535之內
的儲存位置上。暫存器檔案530可以包括用於整數和浮點運算之單獨的暫存器檔案。為了組配、控制、以及附加操作的目的,一組機器特定暫存器(MSR)538也可存在並可由在核心500內(及外部於該核心)之各種邏輯來存取。
各種資源可存在於執行單元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包括被耦合以向一指令解碼器615提供指令的一指令快取610。一分支預測器605可被耦合到指令快取610。注意,指令快取610更可被耦合到一快取記憶體的另一層級,諸如一L2快取(為了簡化圖6的圖示而未被示出)。接下來,指令解碼器615把經解碼的指令提供給一發布佇列(IQ)620用於儲存及遞送到一給定的執行管線。一微碼ROM 618被耦合到指令解碼器615。
一浮點管線630包括一浮點(FP)暫存器檔案632,其可包括一給定位元寬度諸如128、256或512位元之數個架構暫存器。管線630包括一浮點排程器634以排程指令用於在該管線的多個執行單元之一上執行。在該所示的實施例中,如此的執行單元包括一ALU 635、一混洗單元636、以及一浮點加法器638。進而,在這些執行單元中
所產生的結果可被提供回給暫存器檔案632的緩衝器及/或暫存器。當然,請理解雖以這些很少的實例執行單元來展示出,但是在另一實施例中可存在額外的或不同的浮點執行單元。
一整數管線640也可被提供。在該所示的實施例中,管線640包括一整數(INT)暫存器檔案642,其可以包括一給定位元寬度諸如128或256位元的數個架構暫存器。管線640包括一整數執行(IE)排程器644以排程指令用於在該管線的多個執行單元中之一上執行。在該所示的實施例中,這樣的執行單元包括一ALU 645、一移位器單元646、以及一跳躍執行單元(JEU)648。進而,在這些執行單元中所產生的結果可以被提供回給暫存器檔案642的緩衝器及/或暫存器。當然,請理解雖是以這些很少的實例執行單元來展示出,但是在另一實施例中可存在額外的或不同的整數執行單元。
一記憶體執行(ME)排程器650可排程記憶體操作用以執行在一位址產生單元(AGU)652中,其也被耦合到一TLB 654。如所見的,這些結構可耦合到一資料快取660,其可為一L0及/或L1資料快取,其接下來又耦合到一快取記憶體層級的額外層級,包括一L2快取記憶體。
為了提供對亂序執行的支援,除了一重新排序緩衝器680之外,一分配器/重新命名器670可被提供,其被組配來重新排序經亂序執行的指令用於依序的退出。雖然在圖6的該圖示中是以這種特定的管線結構來示出,
應理解的是許多的變化和替換是有可能的。
請注意在具有不對稱核心的一處理器中,諸如根據圖5和6的該微架構,工作負荷可以在該等核心之間動態地被交換用於電源管理的理由,由於這些核心,雖然具有不同的管線設計和深度,但是可以具有相同或相關的ISA。這種動態核心交換可以一種透明於一使用者應用(也可能是內核心)的方式來被執行。
參考圖7,根據又另一實施例展示出一處理器核心之一微架構的方塊圖。如圖7所示,一核心700可包括一多級依序管線以在非常低的功耗位準下來執行。作為一這樣的實例,處理器700可具有根據可購自美國加利福尼亞州桑尼維爾ARM Holdings,LTD.之一ARM Cortex A53設計的一微架構。在一種實現方式中,可提供被組配來執行32位元及64位元碼的一種8級管線。核心700包括一提取單元710,其被組配來提取指令並把它們提供給一解碼單元715,該解碼單元可以解碼指令,例如,一給定ISA諸如ARMv8 ISA的巨集指令。更要注意的是,一佇列730可耦合到解碼單元715以儲存經解碼的指令。經解碼的指令被提供給一發佈邏輯725,其中該等經解碼的指令可被發佈到多個執行單元中一給定的一個。
進一步地參考圖7,發佈邏輯725可以向多個執行單元中之一發出指令。在該所示的實施例中,這些執行單元包括一整數單元735、一乘法單元740、一浮點/向量單元750、一雙重發佈單元760、以及一載入/儲存單元
770。這些不同執行單元的該等結果可被提供給一寫回(WB)單元780。請理解,雖然為了便於圖示只示出了一單一寫回單元,但是在一些實現方式中,各別的寫回單元可以與該等執行單元的每一個相關聯。此外,應理解的是,雖然在圖7中所示之該等單元及邏輯的每一個係以一種高階的方式來表示,但一特定的實現方式可包括更多或不同的結構。使用具有如圖7所示管線之一或多個核心所設計的一處理器可被實現在許多不同的終端產品中,從行動裝置延伸到伺服器系統。
參考圖8,仍根據另一實施例展示出一處理器核心之一微架構的方塊圖。如圖8所示,一核心800可包括一個多級多發佈亂序管線以執行在非常高的效能位準下(其會發生在比圖7之核心700更高的功耗位準下)。作為一個如此的實例,處理器800可以具有根據一ARM Cortex A57設計的微結構。在一種實現方式中,可提供被組配來執行32位元及64位元碼的一種15(或更多)級管線。此外,該管線可以提供用於3(或更寬)面寬及3(或更多)次發佈操作。核心800包括一提取單元810其被組配來提取指令並把它們提供給耦合到一快取820的解碼器/重新命名器/分派器單元815。單元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公司購得之另一如此的處理器。然而,諸如可從美國加利福尼亞州桑尼維爾之Advanced Micro Devices,Inc.(AMD)購得之其他低功率處理器、來自ARM Holdings,Ltd.或其授權之基於ARM的設計或來自美國加利福尼亞州桑尼維爾之MIPS Technologies,Inc.基於MIPS的設計、或者它們的被授權者或採用者可以存在於其他實施例中,諸如一Apple A7處理器、一Qualcomm Snapdragon處理器、或Texas Instruments OMAP處理器。這樣的SoC可被使用在一低功率系統中,諸如一智慧型手機、平板電腦、手機平板電腦、UltrabookTM電腦或其他可攜式的運算裝置,其可結合具有一種基於異構系統架構之處理器設計的一異構性系統架構。
在圖9所示的該高階視圖中,處理器900包括數個核心單元910a-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來控制其功耗,該電源管理器可包括用以執行該等各種電源管理技術的控制邏輯,包括在本文中所描述之渦輪模式操作參數的該動態控制。
在一些實施例中,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包括具有數個第一核心1012a-1012d的一第一核心域1010。在一實例中,這些核心可以是低功率核心,諸如依序核心。在一實施例中,這些第一核心可以被實現為ARM Cortex A53核心。進而,這些核心耦合到核心域1010的一快取記憶體1015。此外,SoC 1000包括一第二核心域1020。在圖10的圖示中,第二核心域1020具有數個第二核心1022a-1022d。在一實例中,這些核心可以是比第一核心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適於併入到各種類行之可攜式及其他裝置之中,諸如智慧型手機、平板電腦、智慧型電視等等。在該展示的實例中,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更可包括可耦合到應用程式處理器1210的一安全處理器1250。數個感測器1225可耦合到應用程式處理器1210以啟用各種感測到資訊的輸入,諸如加速度計及其他的環境資訊。一音訊輸出裝置1295可提供一介面,例如,以語音通信、播放或串流音訊資料等等的形式用於輸出聲音。
如進一步所示,一近場通信(NFC)非接觸式介面1260被提供,其經由一NFC天線1265在一NFC近場中進行通信。雖然各別的天線被展示在圖12中,應理解在一些實現方式中一天線或一組不同天線可被提供以實現各種無線功能。
一電源管理積體電路(PMIC)1215耦合到應
用程式處理器1210以執行平台層級電源管理。為此目的,PMIC 1215可以如所欲地向應用程式處理器1210發出電源管理請求以進入特定的低功率狀態。再者,基於平台限制,PMIC1215還可以控制系統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之該等許多不同的組件進行通信,並且可以包括如本文所描述的電源管理電路。作為一實例,處理器1410被實現為一SoC。
在一實施例中,處理器1410與一系統記憶體1415進行通信。作為一說明性的實例,該系統記憶體1415經由多個記憶體裝置或模組來被實現以提供一給定數量的系統記憶體。
為了提供諸如資料、應用程式、一或多個作業系統等等之資訊的持久性儲存,一大容量儲存器1420也可被耦合到處理器1410。在各種實施例中,為了實現一更薄及更輕的系統設計以及要改進系統回應性,該大容量儲存器可以經由一SSD來被實現,或者該大容量儲存器的實現可以主要地使用一硬碟(HDD)並具有一較小量的SSD儲存器當作一SSD快取以實現在斷電事件期間環境狀態及其他如此資訊的非依電性儲存器,使得在系統活動的重新啟動時可以發生一快速的通電。也如圖14所示,
一快閃裝置1422可被耦合到處理器1410,例如,經由一串列週邊介面(SPI)。該快閃裝置可以提供系統軟體的非依電性儲存器,包括一基本輸入/輸出軟體(BIOS)以及該系統的其他韌體。
各種輸入/輸出(I/O)裝置可以存在於系統1400內。明確地展示在圖14該實施例中的是一顯示器1424,其可進一步地提供一觸控螢幕1425的一高解析度LCD或LED面板。在一實施例中,顯示器1424經由可實現為一高效能圖形互連之一顯示器互連被耦合到處理器1410。觸控螢幕1425可以經由另一互連,其在一實施例中可以是一I2C互連,被耦合到處理器1410。如在圖14中被進一步展示的,除了觸控螢幕1425之外,藉由觸控的使用者輸入也可經由一觸控板1430來發生,該觸控板可被組配在該底架內並也可被耦合到與觸控螢幕1425相同的I2C互連。
為了感知運算和其他目的,各種感測器可以存在於該系統內,並且可以以不同的方式被耦合到處理器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以及一BluetoothTM單元1452。使用WLAN單元1450,可以實現Wi-FiTM通信,而經由BluetoothTM單元1452,可以發生短距離BluetoothTM通信。這些單元可以經由一給定的連結與處理器1410進行通信。
另外,無線廣域通信,例如,根據一蜂巢式或其他無線廣域協定,可經由一WWAN單元1456來發
生,其接下來可耦合到一訂戶身份模組(SIM)1457。此外,為了能夠接收和使用位置資訊,還可以存在一GPS模組1455。注意,在圖14中所示的該實施例中,WWAN單元1456和諸如一相機模組1454之一整合式的擷取裝置可經由一給定的連結進行通信。
為了提供音訊輸入和輸出,一音訊處理器可經由數位信號處理器(DSP)1460來實現,該DSP可經由高解析度音訊(HDA)連結耦合到處理器1410。類似地,DSP 1460可以與一整合式的編碼器/解碼器(CODEC)及放大器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以把晶片組1590與一高效能圖形引擎1538耦合,藉由一P-P互連1539。繼而,晶片組1590可以經由一介面1596被耦合到一第一匯流排1516。如在圖15中所示,各種輸入/輸出(I/O)裝置1514可被耦合到第一匯流排1516,伴隨有把第一匯流排1516耦合到一第二匯流排1520的一匯流排橋接器1518。在一實施例中,各種裝置可被耦合到第二匯流排1520其包括,例如,一鍵盤/滑鼠1522、通信裝置
1526以及可包括程式碼1530的一資料儲存單元1528諸如一磁碟或其他的大容量儲存裝置。此外,一音訊I/O 1524可被耦合到第二匯流排1520。實施例可被併入到其他類型的系統中,包括行動裝置諸如一智慧型蜂巢式電話、平板電腦、輕薄型筆電、UltrabookTM、或等等。
至少一實施例之一或多個方面可由儲存在一機器可讀媒體上的代表性程式碼來實現,其代表及/或定義在一積體電路諸如一處理器內的邏輯。例如,該機器可讀媒體可包括代表在該處理器內之各種邏輯的指令。當由一機器讀取時,該等指令可致使該機器製造該邏輯以執行在本文中所描述的該等技術。這樣的表示,被稱為「IP核心」,係一積體電路之可重複使用的邏輯單元,其可被儲存在一有形的、機器可讀媒體上作為一描述該積體電路之該結構的一硬體模型。該硬體模型可被提供給各種客戶或製造設施,其在製造該積體電路的製造機器上載入該硬體模型。該積體電路可被製造使得該電路執行與本文所描述之該等實施例之任一相關聯描述的操作。
圖16係圖示出一IP核心開發系統1600的一方塊圖,其可被使用來製造一積體電路以執行根據一實施例的操作。該IP核心開發系統1600可被使用來產生成模組化的、可重複使用的設計,其可被併入到一較大的設計中或被使用來構建一整個積體電路(例如,一SoC積體電路)。一設計設施1630可以以一高階程式語言(例如,C/C++)來產生一IP核心設計的一軟體模擬1610。該軟體
模擬1610可被使用來設計、測試、以及驗證該IP核心的該行為。然後一暫存器轉移層級(RTL)設計可從該模擬模型來被創建或合成。該RTL設計1615係該積體電路之該行為的一抽象,其模型化在硬體暫存器之間數位信號的該流動,包括使用該經建模之數位信號所執行之該相關聯的邏輯。除了一RTL設計1615之外,在邏輯層次或電晶層次之較低階的設計也可被產生、設計、或合成。因此,該初始設計及模擬的該等具體細節可作變化。
該RTL設計1615或等效者可由該設計設施被進一步合成為一硬體模型1620,其可以是一硬體描述語言(HDL),或實體設計資料的一些其他表現方式。該HDL可進一步被模擬或測試以驗證該IP核心設計。該IP核心設計可以使用非依電性記憶體1640(例如,硬碟、快閃記憶體、或任何非依電性儲存媒體)來儲存用以傳送到一第三方製造設施1665。或者,可以透過一有線連接1650或無線連接1660來傳輸(例如,經由網際網路)該IP核心設計。該製造設施1665然後可以製造出至少部分地基於該IP核心設計的一積體電路。該製造出的積體電路可被組配成根據本文所描述之至少一實施例來執行操作。
如上所述,實施例提供了控制技術以使得包括多個功率位準及一持續時間的渦輪模式操作參數能夠被動態地最佳化。例如,藉由把這些值中的一或多個從由一平台或其他平台供應商的一原始設備製造商(OEM)所設置的固定的組配值(在本文中也稱為支援值)做增加,可以
實現增進的效能。這種增進的效能包括可在比其他可能之一種更高的操作頻率及/或操作電壓下操作,以及在一更長的持續時間內具增進的效能操作。因此,藉由增加這些操作參數,一處理器可在可能更大量的時間中以更高的功耗位準來執行,並且仍然保持在限制內,包括熱和電的限制,使得有正確的操作並且不會損壞處理器或其他平台組件結果。
在本文所討論的一實例實現方式中,可以被動態最佳化(例如,在實際現場操作中)的渦輪模式操作參數包括一持續時間,在本文中也被稱為Tau或一Tau值,其是高於一熱設計功率位準之允許持續時間的一時間限制;該熱設計功率位準,其係該處理器不會超過之一長期平均功耗位準(雖然它可在最高到該Tau值的持續時間內超過該位準),以及一較高的功率位準,其係高於該TDP位準的一位準(其實施例可以在大約1.2-1.5x TDP之間變化),其係一功率位準在其該處理器可以在較短的持續時間下安全操作,即一維持渦輪功率限制。如在本文中所使用的,TDP及該第二功率位準可等同地被稱為PL1和PL2。此外,應理解的是,在一些實現方式中,瞬時處理器操作可以超過PL2到一更高的電功率位準(其在實施例中可達到大約2x TDP),並且可以被稱為PL3,其係一最大功率限度,高於其一系統穩壓器將導致一立即失效狀況。附加的渦輪模式操作參數,諸如一最大電流消耗位準(Icc Max)也可被動態地更新。
作為一實例,假設一系統已經組配了(固定的)渦輪模式設定點(例如,在PL2)(由一OEM所定義)具有20瓦(W)、4.0十億赫茲(GHz)及一20秒(sec)的Tau值。至少部分地基於操作環境、工作負荷、及/或使用者輸入的一或多個,這些值可以被最佳化為,例如,25W、4.1GHz、以及30sec(注意,所有的3個參數,功率、頻率及持續時間可變化作為該最佳化的一結果)。實施例更可進一步監視系統狀況及更新參數諸如HWP、降檔、膚溫、等等。在一實施例中,一或多個功率計及/或熱感測器可被使用來測量處理器行為。
請注意,基於冷卻解決方案能力及最差情況條件的特性,如此組配值被設置以確保某些渦輪設定點被保證會滿足最差情況規格條件。此外,該使用者行為係未知的,並且由OEM對這些預先組配值之任何的最佳化係基於一般應用或特定的基準設定來被完成的。替代地,根據一實施例藉由動態最佳化這些預先配置值,可以最大化渦輪模式的機會並且基於需要向最終使用者提供最佳效能體驗。
另外,該系統可以向一使用者建議其他的功率/效能最佳化的選擇。例如,為了不使用高風扇頻率或根本不使用風扇,可以把處理器溫度控制成保持在某一點以下。在這種情況下,該自我學習演算法將學習新的冷卻能力,並提出適當的渦輪設定。
在一些實施例中,電源管理操作參數的該自動最佳化可被控制,例如,經由一種基於韌體的機制,諸如一BIOS指示符(例如,位元)以實現自動最佳化。在這種情況下,當該位元係無效時,該處理器使用預設的靜態值(例如,由OEM來設置),並且當該位元有效時,該處理器可被組配成執行該等操作參數的自動最佳化。
現在參考圖17,其根據實施例展示出一種方法的流程圖用以最佳化用於增加功耗窗口之一時間常數。在圖17的該圖示中,方法1700可至少部分地由一處理器的一PCU來執行,其如以上所述,可以被實現為硬體電路、軟體、及/或韌體的組合。在一實施例中,根據一預定的間隔(例如,每毫秒一次),該PCU可以判定是否已經發生一功率轉變,如果是的話,則測量該功率步階的該溫度回應。使用該資料,該PCU可以計算該系統當前的熱能力並基於其調整一最大的渦輪模式持續時間。在一些實施例中,方法1700可以以預定間隔執行,例如,根據該PCU的一慢循環,使得方法1700的該分析可大約每1毫秒被啟動。
如圖所示,方法1700始於判定一當前處理器溫度是否低於一熱臨界值(菱形方塊1710)。請注意,回應於由該處理器之一或多個溫度感測器所感測到的溫度這個處理器溫度可被決定。在其他情況下,該溫度決定可以至少部分地基於平台熱資訊,其可接收自一或多個基於平台的熱感測器。在任何情況下,(處理器及/或平台的)該當
前的溫度與一熱臨界值進行比較。在一實施例中,該熱臨界值可被設置在一相對低的溫度、一冷環境的指示,例如,由於冷環境溫度或該處理器/平台之一相對低的功耗位準。在一特定的實施例中,該熱臨界值可被儲存在該處理器(或耦合到其)的一組配儲存器中,在一實施例中。
若判定該處理器溫度低於這個熱臨界值位準,則控制前進到菱形1720其中它判定該處理器的功耗是否小於一第一功率臨界值。作為一實例,該第一功率臨界值可被設置在一低功率位準,例如,一TDP的5-10%或PL1值。這功耗判定可基於該處理器本身一實際測量到的功耗位準。在其他的情況下,一基於平台的功耗位準可被判定。在一實施例中,可基於一檢測到的電流來判定處理器功耗,例如,由一電壓調節器(其可由該處理器之一或多個電流感測器來測量)提供給該處理器以及該處理器的一工作電壓(其可由一請求的操作電壓來表示(例如,由該PCU發送給該電壓調節器作為一電壓請求(諸如一電壓ID(VID)碼)))。若在菱形1720判定該功耗超過該第一功率臨界值,則控制接下來前進到菱形1730以判定功耗是否超過一第二功率臨界值。這個第二功率臨界值可被設置成比該第一功率臨界值高的一位準。作為一實例,該第二功率臨界值可被設置在一更高的位準,例如對應於一TDP的50%或PL2值。
注意,由菱形1710-1730所實現的這些迴路因此可識別出具有冷平台的一種情況,其中實際的功耗轉
移一功率步階量(例如,至少在PL1與PL2之間的一功率步階,其中這些值對應於該第一和第二功率臨界值)。因此,當一冷卻解決方案(例如,散熱器)是冷的時,方法1700識別從低到高的一功率步階。當使用者互動將該處理器從一睡眠狀態喚醒時,這種環境可能會在回應式工作負荷發生。注意,一鏡像演算法可被使用來識別從高到低的功率轉移。在這種情況下,要被測試的該等功率限制始於一較高的功率位準,並進入到一較低的功率位準。注意,在某些情況下,冷卻具有與加熱時間不同的常數。因此,可設置有關於在增加到一新的渦輪模式之前功率需要降低多久的時間增量。仍然參考圖17,在判定該功耗超過這個第二功率臨界值的該情況下,控制前進到方塊1740其中可計算一Tau值。在一實施例中,此Tau值可以根據下式來計算:Tau(Tjmax-Tamb)*(dP/PL2)/(dT/dt) [公式1],其中Tjmax係在其處理器可以操作之一最大的接面溫度、Tamb係在一低功率狀態期間一測量到的環境溫度、dP/PL2係在該功率步階之測量功率中的變化與一設定功率限制相比的一比率、以及dT/dt係該測量到功率變化之該測量到的時間間隔(例如,從該較低功率臨界值到該較高功率臨界值)。注意公式1假設Tau及PL2被正確地初始設置以滿足該處理器的實體參數。即使不是的話,該演算法最終將鎖定在Tau的該正確值上。
控制接下來前進到菱形1750以判定該當前的Tau值(其是由該PCU使用來控制渦輪模式操作之持續時間的該當前值)是否小於這個經計算的Tau值。若是這樣的話,這意味著存在額外的時間餘量可使得能夠實現一增加功耗狀態之一較長的持續時間。如此,控制前進到方塊1760其中該Tau值可被增加。雖然可以使用不同的演算法來增加該Tau值,但是在一實施例中,可以把一預定值(例如,一常數)加入到該當前的Tau值以根據以下公式來獲得一更新的Tau值:更新的Tau=當前的Tau+K[公式2],其中K係一常數。
注意,這更新的Tau值可被儲存在,例如,該PCU之一可存取的控制暫存器中,使得這更新的Tau值可被使用來在更長的持續時間內實現增加的功率消耗(例如,在一渦輪模式位準下)同時該處理器係在一相對冷的操作狀態中。
仍然參考圖17,若相反地判定該當前的Tau值並不小於該經計算的Tau值,則這意味著該處理器由於增加的功耗位準而正在更快速地加熱,並且因此應該減小該Tau值。因此,控制前進到方塊1770其中該Tau值可被減少。在一實施例中,可以從該當前Tau值中減去一預定的值以根據以下公式來獲得一更新的Tau值:更新的Tau=當前的Tau-K[公式3],
其中K係一常數。在一些情況下,不是藉由恆定的增加/減少來控制Tau,可以使用更複雜的控制諸如一比例積分微分(PID)控制器以更佳地追踪在環境條件和其他特性中的變化。
在任何情況下,在把該經更新的Tau值寫入該控制暫存器之後,方法1700可再次開始另一評估間隔,以判定是否要執行額外的Tau值更新。請理解雖然在圖17的該實施例中是以這種高階的方式做描述,但許多的變化和替代是有可能的。
現在參考圖18,其根據本發明的一實施例展示出一種用於最佳化一熱設計功率值之方法的一流程圖。如在圖18中所示,方法1800可以由一PCU執行,如以上所述。在一些實施例中,可以以預定間隔執行方法1800,例如,根據該PCU的一慢循環,使得方法1800的該分析可以大約每1毫秒被啟動。方法1800始於判定該處理器的功耗是否處於一穩定的狀態中(菱形1810)。當該處理器功耗在多個評估間隔內保持在一相對緊湊之公差窗口內時,可以判定這一種穩態操作。例如,當該處理器的功耗在多個評估間隔上變化不大於一給定的百分比時,可判定功耗正在一穩定狀態。藉由這個判定,方法1800考慮長期活動和穩態下的功率/熱測量。
當判定功耗處於一穩定狀態位準時,控制前進到方塊1820其中可以計算一Psi值。在一實施例中,此Psi值可以根據下公式來計算:
Psi=(Tj_max-Tamb)/Power [公式4],其中Power係該處理器知該當前實際測量的功耗位準(或至少其之一合理/準確的近似值),使得Psi係一具有度數(例如,攝氏度)/瓦特之單位的一比率。在一主動冷卻解決方案中,該Psi的值將隨著風扇速度而改變。在穩態係處於低於全速所需之一溫度的這種情況下,可把另一因子添加到該Psi計算中以表徵該系統的該最大冷卻功率。
接下來,可判定此Psi值是否小於一指定值(菱形1830)。在一實施例中,此指定值可以對應於該處理器之一支援的Psi值(即,一配置熱功率比值),其可從一組配儲存器諸如一組配暫存器、熔絲設置等等來獲得。
若判定該經計算的Psi值小於該指定值,則控制前進到方塊1840其中該TDP值可被增加。在一實施例中,此增加可以根據以下公式:更新的TDP=當前的TDP+X[公式5],其中X係一常數。當然請理解可替代地使用其他的技術來更新該TDP值。
相反地,若判定該經計算的Psi不小於該指定值,則控制轉移到方塊1850,其中該TDP值可被減少。在一實施例中該減少可以根據以下公式:更新的TDP=當前的TDP-X[公式6]。
現在參考圖19,根據實施例展示出一種用於最佳化另一功率限制值之一方法的流程圖。這種最佳化可對該最大渦輪功率(PL2)來進行,因為可允許在較長的渦
輪模式週期與較小的渦輪功率峰值間做折衷。反之亦然,若縮短渦輪模式時間,則可允許更高的渦輪模式效能。為了最佳化效能,實施例可把一渦輪模式功率預算組配成精確地在或至少基本上在要執行之一工作負荷結束時來結束。
方法1900可以由一PCU來執行,如本文所描述。例如,方法1900可根據一慢循環來執行,其可能在大約每1毫秒發生。如圖所示,方法1900始於判定節流事件的一數量(菱形1910)。例如,一計數器可被提供來計數在一或多個評估窗口期間在該處理器的一或多個核心上所發生的該節流事件數目。在一實施例中,一週邊控制器集線器(PCH)可以包括一計數器來追踪一使用者的該節流事件數目。在執行包括方法1900之該最佳化技術的一循環期間,該計數器可被存取以判定自從包括方法1900該慢循環之一最後的執行開始,已經發生之該節流事件數目。
若判定該節流事件數目超過一臨界值(菱形1920),則可以減少PL2值(方塊1940)。在一實施例中,PL2可以根據以下公式減少一預定的常數:更新的PL2=當前的PL2-Y[公式7],
其中Y係一常數。也就是說,當節流活動發生一非所欲的數量時(其會不利地影響處理器效能),該PL2位準可被降低,使得該處理器在一較低的功耗位準(例如,較低頻
率及/或電壓)下操作,使得處理器限制(例如PL2)不會被經常地觸及,從而導致更少的節流事件。
否則,若在菱形1920處判定該節流事件數目小於該臨界值,則控制前進到方塊1930,其中該PL2值可被增加。在一實施例中,PL2可根據以下公式被增加一預定的常數:更新的PL2=當前的PL2+Y[公式8]
因此,在節流低於臨界值的該情況下,該PCU增加最大的渦輪模式功率並且允許對短渦輪模式爆發有更好的回應性。在節流過大的該情況下,該PCU降低該PL2限制以便為更長的工作負荷提供更佳的效能。請理解雖在圖19的該實施例中係以這種高階的方式被展示出,但是許多的變化和替代是有可能的。例如,在其他的情況下,要從該當前PL2值添加及減去的該等常數可以是不同的數值,使得PL2是以一種較慢於其被減少的速度來被增加。例如,一較大的常數可被使用於向上轉換以更快地獲得較高的PL2位準以及更緩慢地降低功耗。
以下實例涉及進一步的實施例。
在一實例中,一處理器包含:至少一核心;至少一熱感測器;以及一功率控制器,其包括一第一邏輯以動態地更新用於該至少一核心之一渦輪模式的至少一操作參數,其中該處理器具有一支援值用於被儲存在一儲存器中之該至少一操作參數,該儲存器可以是該處理器或處理器被包含於其中之一系統的一非依電性記憶體。
在一實例中,當該處理器的一溫度小於一熱臨界值時,該第一邏輯將動態地更新一持續時間,該至少一操作參數包含有該持續時間。
在一實例中,該第一邏輯基於一當前的持續時間以及一第一數值將該持續時間更新為一經更新的持續時間。
在一實例中,基於在該處理器之一第一測量功耗位準與該處理器之一第二測量功耗位準之間的一熱差、在該第一測量功耗位準與該第二測量功耗位準之間的一功率步階、以及該功率步階發生在其上的一時間間隔,該第一邏輯將計算一經計算的持續時間。
在一實例中,當該當前的持續時間小於該經計算的持續時間時,該第一邏輯將增加該持續時間。
在一實例中,基於一BIOS的一第一設定該第一邏輯將被禁用。
在一實例中,該第一邏輯將把該經更新的持續時間儲存在一非依電性儲存器中,以使得該第一邏輯能夠在該處理器的一下一次重置時存取該經更新的持續時間。
在一實例中,該持續時間之該支援值係由包括該處理器之一系統的一原始設備製造商來設置。
在一實例中,該第一邏輯將動態地更新對應於該處理器之一熱設計功率的一第一功率位準,其中該處
理器具有一支援值用於被儲存在該儲存器中的該熱設計功率,該至少一操作參數包含有該第一功率位準。
在一實例中,基於一經計算之熱功率比與一指定值的一比較,該第一邏輯將動態地更新該第一功率位準。
在一實例中,該第一邏輯將動態地更新該處理器的一第二功率位準,該第二功率位準高於該熱設計功率,其中該處理器具有一支援值用於被儲存在該儲存器中的該第二功率位準,該至少一操作參數包含有該第二功率位準。
在一實例中,基於在一時窗期間所發生之節流事件的一數目與一臨界值的一比較,該第一邏輯將動態地更新該第二功率位準。
在一實例中,該功率控制器包含將在該至少一核心上執行的程式碼。
注意,該上述處理器可以使用各種構件來被實現。
在一實例中,該處理器包含有被併入在一使用者設備經觸控致能裝置中的一SoC。
在另一實例中,一系統包含有一顯示器及一記憶體,以及包括該等上述實例中之一或多個的該處理器。
在另一實例中,一種方法包含有:回應於判定一處理器的一溫度小於一臨界溫度,測量一時窗其中該處理器的功耗從一第一功耗位準到一第二功率位準所上升
的一功率步階量;至少部分地基於該功率步階量以及在該時窗期間在處理器溫度中的一變化來計算持續時間值;以及基於該經計算的持續時間值來更新一配置持續時間,其中該經更新之配置持續時間將使得該處理器能夠在該經更新之配置持續時間中以一種渦輪模式位準下操作。
在一實例中,該方法更包含有若該經計算的持續時間超過該配置持續時間,則增加該配置持續時間值。
在一實例中,該方法更包含有基於該功率步階的一熱差、該功率步階量、以及該功率步階發生在其上的一時間間隔來計算該經計算的持續時間值,以及當該配置持續時間小於該經計算的持續時間值時,增加該配置持續時間。
在一實例中,該方法更包含有更新一配置第一功率位準及一配置第二功率位準中的一或多個,以使得該處理器能夠在一種渦輪模式下以一更高的效能位準下操作。
在另一實例中,包括指令的一電腦可讀媒體將執行上述實例之任一的該方法。
在另一實例中,包括資料的一電腦可讀媒體將被至少一機器使用來製造至少一積體電路以執行該等上述實例之任一的該方法。
在另一實例中,一種裝置包含有構件用於執行該等上述實例之任一的該方法。
在另一實例中,一種系統包含有一處理器,其包括數個核心及一邏輯以基於該處理器的一操作環境及一工作負荷動態地更新一第一支援的功率位準、高於該第一支援功率位準的一第二支援的功率位準以及一允許持續時間中的至少一個,該允許的持續時間對應於在高達該第二支援功率限制之一位準處一渦輪模式的一允許持續時間,其中該第一支援的功率位準、該第二支援的功率限制、以及該允許持續時間係由該系統的一原始設備製造商所設置。該系統更可包括耦合到該處理器的一DRAM。
在一實例中,該邏輯於該操作環境係處於小於一熱臨界值的一溫度時,且至少部分地基於功率步階及在一第一測量功耗位準與一第二測量功耗位準之間的一熱差、以及該功率步階發生在其上的一時間間隔,動態地增加該第一支援的功率位準。
在一實例中,當在一評估間隔期間中節流事件的一數目小於一臨界值時,該邏輯將動態地增加該第二支援的功率位準。
請理解該等上述實例的各種組合是有可能的。
實施例可被使用在許多不同類型的系統中。例如,在一實施例中,一通信裝置可以被佈置以執行本文所描述之等各種的方法和技術。當然,本發明的範圍並不侷限於一通信裝置,而是其他實施例可被導向到處理指令之其他類型的裝置,或包括指令之一或多個機器可讀
媒體,其回應於正被執行在一運算裝置上,致使該裝置執行本文所描述之該等方法和技術中的一或多個。
實施例可用程式碼來實現並且可被儲存於具有指令儲存在其上之一非暫時性儲存媒體,其可被使用來規劃一系統以執行該等指令。實施例也可以以資料來實現並且可被儲存在一非暫時性儲存媒體上,其若由至少一機器來使用,致使該至少一機器製造至少一積體電路以執行一或多個操作。仍有另外的實施例可被實現在一電腦可讀儲存媒體中其包括資訊,當被製造到一SoC或其他處理器中時,將組配該SoC或其他處理器來執行一或多個操作。該儲存媒體可以包括,但不侷限於,任何類型的碟,包括軟碟、光碟、固態硬碟(SSD)、光碟唯讀記憶體(CD-ROM)、可重寫光碟(CD-RW)、以及磁光碟、半導體裝置諸如唯讀記憶體(ROM)、隨機存取記憶體(RAM)諸如動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)、可擦除式可規劃唯讀記憶體(EPROM)、快閃記憶體、電可擦除式可規劃唯讀記憶體(EEPROM)、磁卡或光卡、或適於儲存電子指令之任何其他類型的媒體。
雖然本發明已經針對有限數量的實施例進行了描述,但本領域的習知技藝者將體認到來自它們之許多的修改和變化。本文旨在所附的權利請求項涵蓋所有這樣的修改和變化因為它們落入到本發明之真實的精神和範圍之內。
200:處理器
210a~210n:核心
215:互連
220:非核心邏輯
230:共享快取
240:IMC
250a~250n:IF
255:功率控制單元
Claims (18)
- 一種處理器,包含:至少一核心;至少一熱感測器;以及一功率控制器,包括一第一邏輯用以:動態地更新用於該至少一核心之一渦輪模式的至少一操作參數,其中該處理器具有一支援值用於被儲存在一儲存器中之該至少一操作參數,並且該第一邏輯在該處理器的溫度小於一熱臨界值且該處理器的功耗超過一第一功率臨界值及一大於該第一功率臨界值之第二功率臨界值時動態地更新一持續時間,該至少一操作參數包含該持續時間;施用經動態更新之該持續時間以最佳化渦輪模式操作;其中該第一功率臨界值及該第二功率臨界值係至少部分地基於該渦輪模式之額外的操作參數;其中該第一邏輯係用以:基於超過該第一功率臨界值的該處理器之一第一測量功耗位準與超過該第二功率臨界值的該處理器之一第二測量功耗位準之間的一熱差、該第一測量功耗位準與該第二測量功耗位準之間的一功率步階、及該功率步階發生的一時間間隔來計算一經計算持續時間;以及基於該經計算持續時間動態地更新該持續時間。
- 如請求項1之處理器,其中該第一邏輯基於該當前持續時間以及一第一恆定數值將該持續時間更新為一經更新的持續時間,該經更新的持續時間儲存在該處理器之一第二儲存器中。
- 如請求項1之處理器,其中該第一邏輯在該當前持續時間小 於該經計算持續時間時增加該持續時間。
- 如請求項1之處理器,其中該第一邏輯係基於一基本輸入/輸出系統(BIOS)的一第一設定而被禁用。
- 如請求項1之處理器,其中該第一邏輯將該經更新的持續時間儲存在一非依電性儲存器中,以使得該第一邏輯能夠在該處理器的下一次重置時存取該經更新的持續時間。
- 如請求項1之處理器,其中用於該持續時間之該支援值係由包括該處理器之一系統的一原始設備製造商來設定。
- 如請求項1之處理器,其中該第一邏輯要動態地更新對應於該處理器之一熱設計功率的一第一功率位準,其中該處理器更具有用於被儲存在該儲存器中的該熱設計功率之支援值,該至少一操作參數包含該第一功率位準。
- 如請求項7之處理器,其中該第一邏輯要基於一經計算之熱功率比與一指定值的比較來動態地更新該第一功率位準。
- 如請求項7之處理器,其中該第一邏輯要動態地更新該處理器的一第二功率位準,該第二功率位準高於該熱設計功率,其中該處理器更具有用於被儲存在該儲存器中的該第二功率位準之支援值,該至少一操作參數包含該第二功率位準。
- 如請求項9之處理器,其中該第一邏輯要基於在一時窗期間發生之一節流事件數目與一臨界值的比較來動態地更新該第二功率位準。
- 如請求項1之處理器,其中該功率控制器包含被執行在該至少一核心上的程式碼。
- 一種其上儲存有指令之非暫時性機器可讀媒體,該等指令在一運算裝置上回應於被執行而致使該運算裝置用以執行一種方法,該方法包含:回應於判定一處理器的溫度小於一臨界溫度且該處理器的功耗大於一第一臨界值及一第二臨界值,測量其中該處理器的該功耗從一個基於一配置第一功率位準之第一功 耗位準到一個基於一大於該配置第一功率位準的配置第二功率位準之第二功耗位準上升了一功率步階量的一時窗;至少部分地基於該功率步階量、該時窗期間處理器溫度的一變化及功率步階發生的該時窗來計算一持續時間值;基於該經計算持續時間值來更新一配置持續時間,其中該經更新之配置持續時間使得該處理器能夠於該經更新之配置持續時間在超過該配置第一功率位準之一渦輪模式位準下操作;施用該配置持續時間以最佳化渦輪模式操作;其中該第一功率臨界值小於該配置第一功率位準;且其中該第二功率臨界值小於該配置第二功率位準。
- 如請求項12之非暫時性機器可讀媒體,其中該方法更包含若該經計算持續時間值超過該配置持續時間,則增加該配置持續時間。
- 如請求項12之非暫時性機器可讀媒體,其中該方法更包含當該配置持續時間小於該經計算持續時間值時,增加該配置持續時間。
- 如請求項14之非暫時性機器可讀媒體,其中該方法更包含更新該配置第一功率位準及該配置第二功率位準中之一或多者,以使得該處理器能夠在一渦輪模式中以一更高效能位準操作。
- 一種運算系統,包含:一處理器,包括數個核心及一硬體電路用以:基於該處理器的一操作環境及一工作負荷來動態地更新一第一支援功率位準、一高於該第一支援功率位準的第二支援功率位準、及一允許持續時間;施用經更新之該第一支援功率位準、經更新之該第二支援功率位準、及經更新之該允許持續時間以最佳化渦輪模式操作; 該允許的持續時間對應於在高達該第二支援功率位準之位準之超過該第一支援功率位準的一渦輪模式的一允許持續時間,其中該第一支援功率位準、該第二支援功率位準、及該允許持續時間係由該系統的一原始設備製造商所設定,該硬體電路用以使得該等數個核心中之一或多者能夠在高達該允許持續時間的該第二支援功率位準之功率位準之該渦輪模式下操作;其中該允許持續時間係至少部分地基於一功率步階及一第一測量功耗位準與一第二測量功耗位準之間的一熱差、及該功率步階發生的一時間間隔來更新;以及一耦合到該處理器的一動態隨機存取記憶體(DRAM)。
- 如請求項16之運算系統,其中該硬體電路在該操作環境係處於小於一配置熱功率比臨界值的一溫度與功率的比率時,動態地增加該第一支援功率位準。
- 如請求項17之運算系統,其中該硬體電路在一評估間隔期間中節流事件的數目小於一臨界值時,動態地增加該第二支援功率位準。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/936,945 US9983644B2 (en) | 2015-11-10 | 2015-11-10 | Dynamically updating at least one power management operational parameter pertaining to a turbo mode of a processor for increased performance |
US14/936,945 | 2015-11-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201716926A TW201716926A (zh) | 2017-05-16 |
TWI714643B true TWI714643B (zh) | 2021-01-01 |
Family
ID=58663760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105132040A TWI714643B (zh) | 2015-11-10 | 2016-10-04 | 處理器、運算系統以及非暫時性機器可讀媒體 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9983644B2 (zh) |
TW (1) | TWI714643B (zh) |
WO (1) | WO2017083020A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10281975B2 (en) * | 2016-06-23 | 2019-05-07 | Intel Corporation | Processor having accelerated user responsiveness in constrained environment |
US10417054B2 (en) | 2017-06-04 | 2019-09-17 | Apple Inc. | Scheduler for AMP architecture with closed loop performance controller |
US10509449B2 (en) | 2017-07-07 | 2019-12-17 | Hewlett Packard Enterprise Development Lp | Processor power adjustment |
TWI627423B (zh) * | 2017-07-14 | 2018-06-21 | 華騰國際科技股份有限公司 | 電子組件之臨界測試條件控制系統及其方法 |
CN112074793A (zh) | 2018-06-21 | 2020-12-11 | 惠普发展公司,有限责任合伙企业 | 增加cpu时钟速度以改善系统性能 |
CN110716759B (zh) | 2018-06-26 | 2023-06-30 | 深圳富泰宏精密工业有限公司 | 电子设备、计算机可读存储介质及运行参数配置方法 |
TWI697841B (zh) * | 2018-12-18 | 2020-07-01 | 新唐科技股份有限公司 | 控制電路及快速設定電源模式的方法 |
WO2020145943A1 (en) * | 2019-01-08 | 2020-07-16 | Hewlett-Packard Development Company, L.P. | Stabilizing performance of processing devices |
US11157329B2 (en) | 2019-07-26 | 2021-10-26 | Intel Corporation | Technology for managing per-core performance states |
CN111506154B (zh) * | 2020-04-14 | 2021-05-25 | 深圳比特微电子科技有限公司 | 计算机提高算力和降低功耗算力比的方法及系统 |
TWI778601B (zh) * | 2021-04-29 | 2022-09-21 | 新唐科技股份有限公司 | 微控制器、操作系統及控制方法 |
TWI805447B (zh) * | 2022-07-14 | 2023-06-11 | 新唐科技股份有限公司 | 控制裝置及其操作方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080005592A1 (en) * | 2006-06-28 | 2008-01-03 | Jose Allarey | Method, apparatus, and system for increasing single core performance in a multi-core microprocessor |
US20100064162A1 (en) * | 2008-09-05 | 2010-03-11 | Efraim Rotem | Techniques to manage operational parameters for a processor |
US20120159201A1 (en) * | 2010-12-21 | 2012-06-21 | Eric Distefano | Method and apparatus to configure thermal design power in a microprocessor |
TW201333662A (zh) * | 2011-10-31 | 2013-08-16 | Intel Corp | 控制處理器之渦輪加速模式頻率的技術 |
Family Cites Families (78)
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 |
US7539885B2 (en) | 2000-01-13 | 2009-05-26 | Broadcom Corporation | Method and apparatus for adaptive CPU power management |
US7010708B2 (en) | 2002-05-15 | 2006-03-07 | 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 |
KR20050115227A (ko) | 2003-01-23 | 2005-12-07 | 유니버시티 오브 로체스터 | 다중 클록 도메인 마이크로프로세서 |
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 |
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 |
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 |
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 | 엘지전자 주식회사 | 전원관리 제어 장치 및 방법 |
US20090235108A1 (en) * | 2008-03-11 | 2009-09-17 | Gold Spencer M | Automatic processor overclocking |
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 |
US8700943B2 (en) | 2009-12-22 | 2014-04-15 | Intel Corporation | Controlling time stamp counter (TSC) offsets for mulitple cores and threads |
US8429441B2 (en) | 2010-04-19 | 2013-04-23 | International Business Machines Corporation | Operating processor below maximum turbo mode frequency by sending higher than actual current amount signal to monitor |
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 |
US8688883B2 (en) | 2011-09-08 | 2014-04-01 | Intel Corporation | Increasing turbo mode residency 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 |
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 |
US8832478B2 (en) | 2011-10-27 | 2014-09-09 | Intel Corporation | Enabling a non-core domain to control memory bandwidth in a processor |
US9158693B2 (en) | 2011-10-31 | 2015-10-13 | Intel Corporation | Dynamically controlling cache size to maximize energy efficiency |
US8862909B2 (en) | 2011-12-02 | 2014-10-14 | Advanced Micro Devices, Inc. | System and method for determining a power estimate for an I/O controller based on monitored activity levels and adjusting power limit of processing units by comparing the power estimate with an assigned power limit for the I/O controller |
US9436245B2 (en) | 2012-03-13 | 2016-09-06 | Intel Corporation | Dynamically computing an electrical design point (EDP) for a multicore processor |
WO2013137859A1 (en) | 2012-03-13 | 2013-09-19 | Intel Corporation | Providing energy efficient turbo operation of a processor |
WO2013137862A1 (en) | 2012-03-13 | 2013-09-19 | Intel Corporation | Dynamically controlling interconnect frequency in a processor |
US8984313B2 (en) | 2012-08-31 | 2015-03-17 | Intel Corporation | Configuring power management functionality in a processor including a plurality of cores by utilizing a register to store a power domain indicator |
US9317389B2 (en) * | 2013-06-28 | 2016-04-19 | Intel Corporation | Apparatus and method for controlling the reliability stress rate on a processor |
US9405345B2 (en) | 2013-09-27 | 2016-08-02 | Intel Corporation | Constraining processor operation based on power envelope information |
-
2015
- 2015-11-10 US US14/936,945 patent/US9983644B2/en active Active
-
2016
- 2016-09-25 WO PCT/US2016/053623 patent/WO2017083020A1/en active Application Filing
- 2016-10-04 TW TW105132040A patent/TWI714643B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080005592A1 (en) * | 2006-06-28 | 2008-01-03 | Jose Allarey | Method, apparatus, and system for increasing single core performance in a multi-core microprocessor |
US20100064162A1 (en) * | 2008-09-05 | 2010-03-11 | Efraim Rotem | Techniques to manage operational parameters for a processor |
US20120159201A1 (en) * | 2010-12-21 | 2012-06-21 | Eric Distefano | Method and apparatus to configure thermal design power in a microprocessor |
TW201333662A (zh) * | 2011-10-31 | 2013-08-16 | Intel Corp | 控制處理器之渦輪加速模式頻率的技術 |
Also Published As
Publication number | Publication date |
---|---|
WO2017083020A1 (en) | 2017-05-18 |
US9983644B2 (en) | 2018-05-29 |
US20170131754A1 (en) | 2017-05-11 |
TW201716926A (zh) | 2017-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI714643B (zh) | 處理器、運算系統以及非暫時性機器可讀媒體 | |
US20240028094A1 (en) | Techniques To Enable Communication Between A Processor And Voltage Regulator | |
US10908660B2 (en) | Determining thermal margins in a multi-die processor | |
TWI630476B (zh) | 執行平台裝置之動態功率控制的處理器、機器可讀取媒體及系統 | |
TWI610161B (zh) | 處理器溫度之均衡控制及儲存可執行指令的電腦可讀媒體 | |
US11435816B2 (en) | Processor having accelerated user responsiveness in constrained environment | |
TWI592794B (zh) | 用以提供多晶片封裝之熱參數報告的裝置與方法 | |
US11119555B2 (en) | Processor to pre-empt voltage ramps for exit latency reductions | |
US11481013B2 (en) | Multi-level loops for computer processor control | |
US10324519B2 (en) | Controlling forced idle state operation in a processor | |
US20200264996A1 (en) | Generation of processor interrupts using averaged data | |
US10234920B2 (en) | Controlling current consumption of a processor based at least in part on platform capacitance |