TWI528168B - 微處理器、操作微處理器的方法以及電腦程式產品 - Google Patents

微處理器、操作微處理器的方法以及電腦程式產品 Download PDF

Info

Publication number
TWI528168B
TWI528168B TW103107842A TW103107842A TWI528168B TW I528168 B TWI528168 B TW I528168B TW 103107842 A TW103107842 A TW 103107842A TW 103107842 A TW103107842 A TW 103107842A TW I528168 B TWI528168 B TW I528168B
Authority
TW
Taiwan
Prior art keywords
value
microprocessor
core
processing core
frequency
Prior art date
Application number
TW103107842A
Other languages
English (en)
Other versions
TW201426280A (zh
Inventor
G 葛蘭 亨利
達魯斯D 嘉斯金斯
史蒂芬 嘉斯金斯
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 TW201426280A publication Critical patent/TW201426280A/zh
Application granted granted Critical
Publication of TWI528168B publication Critical patent/TWI528168B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Description

微處理器、操作微處理器的方法以及電腦程式產品
本發明係關於微處理器之電源管理,特別係有關多核心微處理器之電源管理。
於2009年3月12日公開之美國專利應用公開第12/403,195(CNTR.2475)號,揭露一適應性之功率調節特性用以當於一時間間距T低於一最大功耗P時,提供使用者最佳效能。P與T值一般由結合一包括適應性之功率調節特性之微處理器的系統之製造商指定。微處理器知道其可在耗損不超過P瓦特之一頻率Xp上操作(在一實施例中,操作點Xp之頻率對應至一P狀態,作為P0)。然而,在多數T之子區間上(此為時間分格),微處理器計算最近T時間之平均功耗A以及比較A與P。若A足夠地低於P(也就是微處理器具有功率“評價值”),微處理器可自行決定於高於Xp之一頻率上運作。
單一微處理器組件上之雙核心介紹功率調節特性或功率評價值。這是由於系統製造商強加P與T需求在微處理器組件基底上,而非在每一核心上。然而,獨立核心可能在一給定時間間距T中耗損不同功率。首先,作業系統獨立改變每一核心之操作點(如P狀態與C狀態)使得核心消耗不同功率。再 者,軟體工作量在兩個核心上可能不相同。此外,獨立核心可能在真實時間之不同時間點到達其時間分格區間。對整體來說,P與T需求還是必須滿足微處理器組件。
本發明提供一種微處理器,用以在具有記憶體之一系統中運作。微處理器包括複數處理核心,其中處理核心之每一處理核心用以當偵測到一電源事件發生時,計算一第一值,其中第一值代表處理核心在電源事件之一時間間距中所消耗之能量值,其中時間間距之長度為一既定時間值;從記憶體中讀取一或複數第二值,其中或第二值代表在時間間距中由處理核心之其他者所消耗之能量值,其中或第二值已預先由處理核心之其他者計算出以及寫入至記憶體;以及根據第一值與或第二值調整處理核心之操作頻率。
本發明提供一種操作微處理器的方法,在具有一記憶體之一系統中包括複數處理核心,其中記憶體可被處理核心存取,方法包括:當偵測到一電源事件發生時,藉由處理核心之一處理核心計算一第一值,其中第一值代表處理核心在電源事件之一時間間距中所消耗之能量值,其中時間間距之長度為一既定時間值;藉由處理核心從記憶體中讀取一或複數第二值,其中或第二值代表在時間間距中由處理核心之其他者所消耗之能量值,其中或第二值已預先由處理核心之其他者計算出以及寫入至記憶體;以及藉由處理核心根據第一值與或第二值調整處理核心之操作頻率。
本發明提供一種電腦程式產品,於電腦裝置中嵌 入可用之一至少電腦可讀儲存媒體。電腦程式產品包括在電腦可讀儲存媒體中嵌入電腦可讀程式碼。在電腦可讀儲存媒體中嵌入電腦可讀程式碼,用以指定一微處理器用以在具有一記憶體之一系統中操作,電腦可讀程式碼包括指定複數處理核心之程式碼,其中複數處理核心之每一處理核心用以:當偵測到一電源事件發生時,計算一第一值,其中第一值代表處理核心在電源事件之一時間間距中所消耗之能量值,其中時間間距之長度為一既定時間值;從記憶體中讀取一或複數第二值,其中或第二值代表在時間間距中由處理核心之其他者所消耗之能量值,其中或第二值已預先由處理核心之其他者計算出以及寫入至記憶體;以及根據第一值與或第二值調整處理核心之操作頻率。
本發明提供一種微處理器,包括一輸入端以及複 數處理核心。輸入端用以接收一外部電源施加在微處理器之瞬間功率大小的一指標。複數處理核心中每一處理核心用以:接收來自輸入端的指標以及判定於一前段週期中由微處理器所消耗之能量值,其中前段週期為一既定時間長度;以及操作處理核心於高於一既定頻率之一頻率,以回應於前段週期中判定之由微處理器所消耗之能量值低於一既定能量值。
本發明提供一種操作微處理器的方法,包括藉由 一輸入端上之微處理器接收一外部電源施加在微處理器之瞬間功率大小的一指標;藉由微處理器之每一處理核心,根據指標判定於前段週期中由微處理器所消耗之能量值,其中週期為一既定時間長度;以及操作處理核心於高於一既定頻率之一頻 率,以回應於前段週期中判定之由微處理器所消耗所之能量值低於一既定能量值。
本發明提供一種電腦程式產品,於電腦裝置中嵌 入可用之一至少電腦可讀儲存媒體。電腦程式產品包括在電腦可讀儲存媒體中嵌入電腦可讀程式碼,用以指定一微處理器用以在具有一記憶體之一系統中操作。電腦可讀程式碼包括一第一程式碼以及一第二程式碼。第一程式碼,指定一輸入端,用以接收一外部電源施加在微處理器之瞬間功率大小的一指標。第二程式碼,指定複數處理核心,其中每一處理核心用以:接收來自輸入端的指標以及判定於前段週期中由微處理器所消耗之能量值,其中週期為一既定時間長度;以及操作處理核心於高於一既定頻率之一頻率,以回應於前段週期中判定之由微處理器消耗所之能量值低於一既定能量值。
本發明提供一種微處理器,包括複數處理核心, 其中每一處理核心用以:在每一接續之當時情況下,判定於當時情況之前的一週期中,由微處理器消耗之能量值,其中週期為一既定時間長度;以及操作處理核心在高於一既定頻率之一頻率下,以回應於當時情況之前的週期中,由微處理器消耗之能量值係低於一既定能量值之判定。其中,微處理器用以致使所有處理核心同時操作在高於既定頻率之頻率下,直到處理核心中之一者判定微處理器於當時情況之前的週期中已經消耗多於既定能量值之能量。
本發明提供一種操作微處理器的方法包括:藉由 每一複數處理核心:在每一接續之當時情況下,判定於當時情 況之前的一週期中,由微處理器消耗之能量值,其中週期為一既定時間長度;以及操作處理核心在高於一既定頻率之一頻率下,以回應於當時情況之前的週期中,由微處理器消耗之能量值係低於一既定能量值之判定。其中,微處理器用以致使所有處理核心同時操作在高於既定頻率之頻率下,直到處理核心中之一者判定微處理器於當時情況之前的週期中已經消耗多於既定能量值之能量。
本發明提供一種電腦程式產品,於電腦裝置中嵌 入可用之一至少電腦可讀儲存媒體,電腦程式產品包括在電腦可讀儲存媒體中嵌入電腦可讀程式碼,用以指定一微處理器用以在具有一記憶體之一系統中操作。電腦可讀程式碼包括指定複數處理核心之程式碼,其中每一處理核心用以:在每一接續之當時情況下,判定於當時情況之前的一週期中,由微處理器消耗之能量值,其中週期為一既定時間長度;以及操作處理核心在高於一既定頻率之一頻率下,以回應於當時情況之前的週期中,由微處理器消耗之能量值係低於一既定能量值之判定;其中,微處理器可致使所有處理核心同時操作在高於既定頻率之頻率下,直到處理核心中之一者判定微處理器於當時情況之前的週期中已經消耗多於既定能量值之能量。
100‧‧‧電腦系統
108‧‧‧電壓調節模組
158‧‧‧VID訊號
156‧‧‧VCORE訊號
104A‧‧‧核心0
104B‧‧‧核心1
102‧‧‧組件
129‧‧‧功率評價值暫存器
126‧‧‧鎖相迴路
128‧‧‧溫度感測器
127‧‧‧微碼
124‧‧‧常駐計時器
122‧‧‧匯流排時脈計時器
146‧‧‧匯流排時脈
154‧‧‧匯流排
106‧‧‧記憶體
138‧‧‧功率資訊共享區域(PISA)
132A、132B‧‧‧功率資訊
114‧‧‧動態能量
116‧‧‧漏損能量
202‧‧‧SMM記憶體空間
1102‧‧‧放大器
1152‧‧‧VINSTCUR訊號
1104‧‧‧類比乘法器
1154‧‧‧VINSTPWR訊號
1144‧‧‧能量監視器
1162‧‧‧PKGENERGY訊號
第1圖係本發明描述之一種電腦系統之方塊圖;第2圖係第1圖之電腦系統之記憶體中之功率資訊共享區域的之方塊圖; 第3圖係根據本發明之第1圖的組件所實施之操作流程圖;第4圖係根據本發明之第1圖電腦系統所實施之操作流程圖;第5A以及5B圖係根據本發明之第1圖電腦系統所實施之操作流程圖;第6圖係根據本發明之第1圖電腦系統執行副程式Z之操作流程圖;第7圖係根據本發明之第1圖電腦系統執行副程式V之操作流程圖;第8圖係根據本發明之第1圖電腦系統執行副程式X之操作流程圖;第9圖係根據本發明之第1圖電腦系統執行副程式W之操作流程圖;第10圖係根據本發明之第1圖電腦系統執行副程式Y之操作流程圖;第11圖係本發明另一實施例之包括一雙核心微處理器組件的一電腦系統之方塊圖;第12圖係根據本發明之第11圖電腦系統所實施之操作流程圖;第13圖係根據本發明之第11圖電腦系統所實施之操作流程圖;第14圖係根據本發明之第11圖電腦系統執行副程式Z之操作流程圖;第15圖係根據本發明之第11圖電腦系統執行副程式V之操 作流程圖;第16圖係根據本發明之第11圖電腦系統執行副程式X之操作流程圖;第17圖係根據本發明之第1圖電腦系統執行副程式Y之操作流程圖;第18圖係本發明另一實施例之包括一雙核心微處理器組件的一電腦系統100之方塊圖。
下面描述在一多核心組件執行功率評價值(power credit)特性的實施例。根據一實施例,核心共享資訊使得其中一核心可對整個組件執行功率評價值(power credit)運算。當一核心判定該必需組件寬帶(package-wide)功率評價值(power credit)不可用時,該核心轉換至一較低功率P狀態以確保可滿足組件寬帶(package-wide)P與T。仔細而言,核心操作於Xp或低於Xp以確保可滿足組件寬帶(package-wide)P與T,其中Xp為微處理器之所有核心在該既定時間值T可在該微處理器消耗不超過一既定能量值的情況下之一頻率,該既定能量值為P瓦特與T秒的乘積,Xp為系統軟體要求該核心操作之最高頻率,在某些系統中通常為P狀態P0。
在一實施例中,兩個核心透過記憶體共享功率評價值(power credit)資訊。在一實施例中,使用SMM記憶體中之區域。BIOS寫入該區域之基底位址(base address)至每一核心之MSR。核心每經歷一次既定列表中的一事件(如頻率/電壓轉換、進入/離開休眠狀態、計時器更新平均核心功率等),即更 新功率評價值(power credit)資訊至共享記憶體區域。
第1圖係本發明描述之一種電腦系統100之方塊 圖,電腦系統100包括雙核心微處理器組件102,組件102包括功率評價值(power credit)特性。組件102包括兩核心:核心0 104A與核心1 104B。雖然第1圖之實施例包含兩個核心,本發明之實施例亦可應用多核心之功率評價值(power credit)特性。
除了雙核心微處理器組件102,電腦系統100更包 括電壓調節模組108(VRM)耦接至組件102。電壓調節模組108藉由VCORE訊號156提供電源至組件102。組件102提供VID訊號158至電壓調節模組108用以控制電壓準位,該電壓準位為電壓調節模組108提供VCORE訊號156至組件102。
電腦系統100也包括記憶體106藉由處理器匯流排 154耦接至組件102。一般而言,記憶體控制器(未標明)如晶片組之北橋,放置在記憶體106與處理器匯流排154之間。藉由系統軟體配置記憶體之一區域如BIOS或作業系統,作為功率資訊共享區域(PISA)138。功率資訊共享區域138包括核心0 104A分享給核心1 104B的功率資訊132A,以及核心1 104B分享給核心0 104A的功率資訊132B。每一核心104功率資訊132包括一動態能量114值,其用以代表在最近時間間距T核心104各自消耗之動態能量值,以及一漏損能量116值,其用以代表在最近時間間距T核心104各自消耗之漏損能量值。在一實施例中,每一核心104功率資訊132也包括一動態功率常數,其用以計算核心104各自之動態能量,如下描述。有益的是,功率資訊共享區域138提供一方法用以使雙核心104互相溝通功率資訊以在多 核心方式實現功率評價值特性,如下面詳細描述,在雙核心104間不需透過訊號電線溝通功率資訊。
每一核心104包括鎖相迴路(PLL)126,該鎖相迴路 126用以提供核心時脈訊號至核心104電路。每一核心104也包括溫度感測器128用以感測核心104之溫度。在一實施例中,可藉由核心104之微碼127從溫度感測器128中讀取核心104之溫度。
核心104也包括匯流排時脈計時器122,匯流排時 脈計時器122耦接至接收匯流排時脈訊號146,匯流排時脈訊號146由耦接至組件102之處理器匯流排154提供。當匯流排時脈146與核心104主動將匯流排時脈計時器122致能,匯流排時脈計時器122則進行計時,使得匯流排時脈計時器122於核心104在此狀態中繼續追蹤時間。匯流排時脈計時器122以匯流排時脈訊號146之速率計時。在這種方式中,匯流排時脈146提供一通用源(common source),每一核心104可透過匯流排時脈計時器122追蹤時間。仔細而言,每一核心104為功率評價值(power credit)目的設計匯流排時脈計時器122以提供一週期性之中斷至核心104。更準確而言,時間間距T(如一秒)被分割成等長之分格(bin)(如分格數128),且核心104對匯流排時脈計時器122進行編程,以中斷每一分格之區間、或分格之時間或分格之長度。在一實施例中,處理器匯流排154包括Pentium處理器匯流排之STPCLK與SLP訊號。在一實施例中,於發出(assert)SLP之後,匯流排時脈計時器122開始運作。
每一核心104也包括常駐計時器124,即使當核心 104時脈不被用以使常駐計時器124保持時間時,常駐計時器124進行計時。在一實施例中,常駐計時器124被自激震盪器驅動,即使當核心104時脈停止時,常駐計時器124亦會持續計時。在一實施例中,因為自激震盪器會在兩個核心104間改變,因此每一核心104在一初始時間會將其常駐計時器124校正至匯流排時脈146之值。
每一核心104也包括功率評價值暫存器129用以維 持每一核心104所使用的資訊,以執行功率評價值特性。以下將討論功率評價值包括之資訊,例如,最大功率消耗P值;時間間距T值;與功率計算有關之多個常數(例如,核心104之動態功率常數,其已於產生組件102之時被決定);功率資訊共享區域138之基底位址(base address);分格數;不利於核心104之功率評價值的溫度限制;以及用於計算動態能量消耗之動態功率因子。一些功率評價值可藉由系統軟體被寫入功率評價值暫存器129,一些功率評價值可在製造中如透過熔絲(fuses)及/或固線式值(hardwired value)被寫入功率評價值暫存器129。一些功率評價值暫存器129可為核心104之特定模式記憶體(MSRs)。
第2圖係第1圖之電腦系統100之記憶體106中之功率資訊共享區域138的之方塊圖。根據一實施例,核心104為x86架構核心用以支援系統管理模式(SMM)。若處理器可正確地執行在x86處理器上的應用程式,則該處理器為x86架構處理器。若一應用程式可得到可預期之結果,則顯示該應用程式被正確地執行。仔細而言,核心104執行x86指令集與包含x86用戶暫存器集的指令。如第2圖所示,根據一實施例,系統軟體(如作 業系統、BIOS)為功率資訊共享區域138分配SMM記憶體空間202之一部分,該部分係未被其他函數使用的SMM記憶體空間202。因此,系統軟體設計功率評價值暫存器129具有功率資訊共享區域138的基底位址。在其他實施例中,系統軟體配置記憶體106空間之一部分給功率資訊共享區域138(該部分尚未被其他軟體程式使用),並且使用功率資訊共享區域138的基底位址對功率評價值暫存器129進行編程。
第3圖係根據本發明之第1圖的組件102所實施之操作流程圖,流程開起始於步驟302。
在步驟302中,重置核心104。核心104可藉由電源開啟(power-on)、組件102之重置腳位之判斷或軟體重置對核心104進行重置。接著流程進行至步驟304。
在步驟304中,每一核心104校正其常駐計時器124,也就是每一核心104判定常駐計時器124之循環週期(以判定每一常駐計時器124刻點之匯流排時脈刻點數)。如上所述,常駐計時器124可被自激震盪器驅動,導致常駐計時器124之循環週期在獨立積體電路間之變動非常小。因此,每一核心104基於匯流排時脈146之頻率,將其常駐計時器124進行校正。仔細而言,每一核心104判定由於常駐計時器124之每一循環發生之匯流排時脈146之循環數。在一實施例中,運作微碼127,以回應核心104之重置,其同時啟動常駐計時器124以及匯流排時脈計時器122,並且將其編程使其於匯流排時脈146週期之一既定數目後形成中斷。當匯流排時脈計時器122中斷時,微碼127讀取常駐計時器124之值,以判定在常駐計時器124上發生之循 環數目,並且藉由常駐計時器124循環數目將匯流排時脈計時器122循環之既定數目與常駐計時器124之循環進行相除,以決定由於常駐計時器124之每一循環發生之匯流排時脈146循環的數目。流程結束於步驟304。
第4圖係根據本發明之第1圖電腦系統100所實施 之操作流程圖。流程開起始於步驟402。
在步驟402中,系統軟體對一或多個功率評價值暫 存器129進行寫入,以初始功率評價值特性。如上所述,該寫入可指定與功率評價值有關之資料值。在一實施例中,該寫入至功率評價值暫存器129可啟動第1圖之微碼127。接著流程進行至步驟404。
在步驟404中,微碼127產生以及初始分格結構以 回應在步驟402中之初始化。也就是說,微碼127產生一分格結構,其包括項目之循環佇列。項目之數目對應於時間間距T之分格之時間數目。每一項目用以儲存相應之分格中有關功率消耗的資訊。在一實施例中,於分格之時間中,每一分格儲存核心104所消耗之動態能量值與漏損能量值。在一實施例中,微碼127藉由動態能量與漏損能量之既定值對每一分格進行初始化。在一實施例中,微碼127於核心104之私有隨機存取記憶體中產生分格結構,使用者指令無法對該私有隨機存取記憶體進行存取而,只有微碼127能對其進行存取。微碼127動態地更新分格結構與使用該分格結構執行功率評價值特性。接著流程進行至步驟406。
在步驟406中,微碼127初始與功率評價值特性有 關之變數,該變數存放於私有隨機存取記憶體中。從功率評價值(power credit)暫存器129讀取多數變數,其餘變數係經由計算得到的。舉例而言,分格之時間係經由時間間距T與分格數相除而得到的。其他得到之參數包括(但本發明不限於此):最近計算之核心104之時間間距漏損與動態能量;最近計算之核心104之時間間距總能量;最近更新之分格結構之時間;臨界值,若組件102時間間距能量低於該臨界值,核心104判定於高於Xp之操作點操作(在一實施例中,有兩頻率高於Xp與兩相異臨界值);臨界值,若系統軟體最近要求該臨界值,核心104判定於高於Xp之操作點操作;動態能量因子;分格項目之佇列指標;最後採樣之核心104之溫度;最後之核心104之電壓;最後之核心104之頻率。核心104也判定其動態能量常數,該動態能量常數為該頻率與該電壓平方之乘積所得之值,用以計算核心104之動態能量消耗。在一實施例中,微碼127計算動態功率常數作為功率評價值暫存器129中之資訊函數。在一實施例中,為了減少運算量的需求,核心104在分格項目、時間間距與功率資訊共享區域138中分開保持動態與漏損能量值。仔細而言,該值為換算值,動態能量值沒有加入因子至動態功率常數。然而當最後組件間距能量值在副程式W中(請見第9圖)運算時,係將動態功率常數只與間距動態能量進行相乘。在此實施例中,核心104也於初始時間寫入動態功率常數值至功率資訊共享區域138。接著進行至步驟412。
在步驟412中,微碼127設定匯流排時脈計時器 122,並且於一分格之時間發生後啟動匯流排時脈計時器122以 產生中斷。每一次匯流排時脈計時器122中斷發生時,微碼127重新設計匯流排時脈計時器122以在分格之時間發生時產生中斷。此外,每一次核心104從核心104時脈沒有運作之休眠狀態啟動時,微碼127重新設計匯流排時脈計時器122以在分格之時間發生時產生中斷。流程結束於步驟412。
第5圖係根據本發明之第1圖電腦系統100所實施 之操作流程圖。第5圖包括第5A與5B圖。第5A圖包括步驟502至539,第5B圖包括步驟542至588。流程開起始於步驟502。
在步驟502中,於核心104有一功率事件發生。功 率事件包括核心104時脈頻率更新、匯流排時脈計時器122之中斷、核心104進入休眠、核心104從匯流排時脈計時器122休眠狀態啟動、或核心104從常駐計時器124休眠狀態啟動。在一實施例中,功率事件引發微碼127。接著流程進行至步驟504。
在決定步驟504中,微碼127判定是否更新核心104 時脈頻率,微碼127更新核心104時脈頻率的原因包括(但本發明不限於此)系統軟體要求改變核心104之P狀態或溫度事件,如核心104之溫度高於或低於既定臨界值。若核心104更新時脈頻率,流程進行至步驟522,否則流程進行至步驟506。
在決定步驟506中,微碼127判定匯流排時脈計時 器122是否產生中斷。若匯流排時脈計時器122產生中斷,流程進行至步驟528,否則流程進行至步驟508。
在步驟508中,微碼127判定核心104是否進入休眠 狀態。進入休眠狀態代表核心104不再執行使用者指令。在一實施例中,休眠狀態可對應至一眾所皆知之C狀態。舉例而言, 核心104在暫停狀態如C1 C狀態,以回應溫度調節事件或執行HALT指令或MWAIT指令。再者,電腦系統100晶片組發出(assert)處理器匯流排154上之STPCLK訊號,以要求允許發出(assert)SLP訊號以停止核心104時脈,作為C2。直到發出(assert)SLP為止,核心104時脈仍處於運作狀態且匯流排時脈計時器122也仍在運作。然後,一旦發出(assert)SLP,作為C3,匯流排時脈計時器122將不再運作且核心104一定需依賴常駐計時器124以判定核心104之休眠時間。此外,核心104能藉由關閉鎖相迴路126,以減少休眠功率消耗,作為C4。最後,核心104能藉由停止一部分或全部之快取記憶體以及中斷功率減少休眠功率消耗,作為C5。值得注意的是,核心104於休眠狀態相較於操作狀態時消耗較少功率,當於最近時間間距計算總組件102能量消耗時,考慮到功率評價值(power credit)特性。 系統軟體可要求核心104及/或組件102改變休眠狀態,或者核心104可自行改變。若核心104即將休眠,流程進行至步驟534,否則;流程進行至步驟512。
在步驟512中,於匯流排時脈計時器122仍在操作 的期間中,微碼127判定核心104是否從休眠狀態(匯流排計時器之休眠狀態)中啟動,使得微碼127可更新分格結構與間距能量值。若核心104從匯流排時脈計時器122之休眠狀態啟動,流程進行至步驟538,否則;流程進行至步驟514。
在決定步驟514中,於匯流排時脈計時器122不再 操作的期間中,微碼127判定核心104是否從休眠狀態(常駐計時器之休眠狀態)中啟動,使得微碼127不再能夠更新分格結構 與間距能量值,且核心104一定需依靠常駐計時器124以判定核心104之休眠時間。若核心104從常駐計時器124之休眠狀態啟動,流程進行至步驟542,否則流程結束於步驟514。
在步驟522中,呼叫一副程式,在此指副程式Z。 副程式Z將於第6圖中詳細描述。從副程式Z獲得回報並且流程進行至步驟524。
在步驟524中,呼叫一副程式,在此指副程式X。 副程式X將於第8圖中詳細描述。從副程式X獲得回報並且流程結束步驟524。
在步驟528中,呼叫副程式Z。從副程式Z獲得回報並且流程進行至步驟532。
在步驟532中,呼叫一副程式,在此指副程式Y。副程式Y將於第10圖中詳細描述。流程結束於步驟532。
在步驟534中,呼叫一副程式。獲得回報並且流程進行至步驟536。
在步驟536中,微碼127使核心104進入休眠狀態。流程結束於步驟536。
在步驟538中,呼叫副程式Z。從副程式Z獲得回報並且流程進行至步驟539。
在步驟538中,呼叫副程式Y。流程結束於步驟539。
在步驟542中,微碼127讀取常駐計時器124以及計算休眠時間(TSLP)。在一實施例中,微碼127以匯流排時脈146循環計算休眠時間。流程進行至步驟544。
在步驟544中,微碼127計算分格剩下的時間,利 用分格之時間減去當時分格最後更新之時間,其用以作為微碼127之變數。接著流程進行至步驟546。
在步驟546中,微碼127判定在步驟544中,計算之 休眠時間是否大於時間間距。若休眠時間大於時間間距,流程進行至步驟548,否則流程進行至步驟564。
在步驟548中,微碼127計算於核心104處於休眠狀 態時,核心104所消耗的漏損能量。計算漏損能量用以作為溫度感測器128與操作電壓提供之核心104溫度的函數。接著流程進行至步驟552。
在步驟552中,微碼127設定當核心104在休眠狀態 時消耗之動態能量為0,因為核心104時脈沒有操作。接著流程進行至步驟554。
在步驟554中,微碼127將在步驟548與552中計算 之核心間距漏損能量與動態能量,寫入功率資訊132之區域,該功率資訊132之區域與功率資訊共享區域138之核心104有關。接著流程進行至步驟556。
在步驟556中,微碼127計算於分格之時間中,當 核心104休眠時所消耗的動態能量,將核心間距動態能量除以分格數,以獲得動態能量。接著流程進行至步驟558。
在步驟558中,微碼127計算於分格之時間中,當 核心104休眠時所消耗的漏損能量,將核心間距漏損能量除以分格數,以獲得漏損能量。接著流程進行至步驟562。
在步驟562中,微碼127將步驟556與558中計算之 分格動態能量與分格漏損能量,填至佇列中之所有分格項目 中。接著流程進行至步驟562。
在步驟564中,微碼127判定休眠時間是否小於目 前分格剩餘的時間。若休眠時間小於前分格剩餘的時間,流程進行至步驟566,若否,流程進行至步驟572。
在步驟566中,微碼127設定動態功率因子為0使得 在步驟712中計算之動態能量為0。接著流程進行至步驟568。
在步驟568中,呼叫一副程式,在此指副程式V, 其中係利用一時間參數呼叫副程式V,該時間參數為時間分格最後更新時間與休眠時間的加總。副程式V於第7圖中詳細描述。該流程結束於副程式V。
在步驟572中,微碼127判定休眠時間是否大於分 格之時間。若休眠時間大於時間分格之時間,流程進行至步驟574,否則,流程進行至步驟584。
在步驟574中,微碼127設定動態功率因子為0,使 得於步驟712中計算之動態能量為0。接著流程進行至步驟576。
在步驟576中,利用一相等於時間分格之時間的時 間參數呼叫副程式V。接著從副程式V獲得回報並且流程進行至步驟578。
在步驟578中,呼叫副程式Y。獲得回報並且進行 至步驟582。
在步驟582中,藉由時間分格之時間減少休眠時間 減去時間分格之時間。有益的是,從步驟572至582中之迴圈與步驟584至588中之流程掌握了核心104處於休眠狀態的可能性,其為核心時脈不為多重時間分格之時間運作並且其必計算 為在更新時間分格結構之過程。接著流程進行至步驟572。
在步驟584中,微碼127設定動態功率因子為0,使 得於步驟712計算之動態能量為0。接著流程進行至步驟586。
在步驟586中,利用一相等於時間分格之時間的時 間參數呼叫副程式V。接著從副程式V獲得回報,流程進行至步驟588。
在步驟588中,呼叫副程式Y,流程結束於步驟588。
第6圖係根據本發明之第1圖電腦系統100執行副 程式Z之操作流程。流程開始於步驟602。
在步驟602中,微碼127根據核心104是否處於運作 狀態或者一特定之休眠狀態設定動態功率因子。運作狀態之動態功率因子為1,以及由於一般核心104於每一接續地低休眠狀態中消耗之功率較低,每一接續地低休眠狀態具有一較小之動態功率因子。舉例而言,C1狀態之動態功率因子係運作狀態之動態功率因子之分數(fraction),既使如此在步驟712中計算之乘積亦可與運作狀態相同,由於處於C1狀態中之動態功率常數、電壓以及頻率可與運作狀態相同,而核心104可消耗較低之功率由於其可由執行指令中暫停。另外,在一實施例中,步驟708可加入一漏損功率因子。舉例而言,在C4狀態中,C4狀態之漏損功率因子小於C3狀態之漏損功率因子,由於核心104因鎖相迴路126被去能而消耗較少之功率,以及在C5狀態中,C5狀態之漏損功率因子小於C4狀態之漏損功率因子,由於核心104因快取記憶體之電壓被去能而消耗較少之功率。流程進行至步驟604。
在步驟604中,微碼127讀取匯流排時脈計時器122之值以判定核心104自電流分格時間起開始操作了多久時間。流程進行至步驟606。
在步驟606中,呼叫副程式V與在步驟604中讀取之匯流排時脈計時器122之值。流程結束於步驟606。
第7圖係根據本發明之第1圖電腦系統100執行副程式V之操作流程圖。流程開始於步驟702。
在步驟702中,微碼127自目前分格(current bin)最後被更新(最後更新TLUP)開始,根據計時器輸入至副程式V之值計算時間,其可為在第6圖之步驟604中讀取自匯流排時脈計時器122之值或者通過第5圖之步驟568、576或586中之值。流程進行至步驟706。
在步驟706中,微碼127讀取溫度感測器128以獲得目前溫度。流程進行至步驟708。
在步驟708中,微碼127根據電壓以及目前溫度計算於最後更新(TLUP)中消耗之漏損能量。流程進行至步驟712。
在步驟712中,微碼127於最後更新(TLUP)中計算由核心104消耗之動態能量做為最後更新(TLUP)、其頻率、動態功率常數、動態功率因子以及其電壓平方之乘積。在一實施例中,微碼127計算新與舊電壓之平均以及新與舊頻率之平均以進行上述計算。在多數情況下,例如當一匯流排時脈計時器122發生中斷,舊電壓以及頻率將與新電壓以及頻率相同,致使新與舊電壓之平均以及新與舊頻率之平均與目前之數值相同。另外,在頻率及/或電壓改變的情況下,新與舊電壓之平 均以及新與舊之平均將會與目前之數值不同。流程進行至步驟716。
在步驟716中,微碼127藉由在步驟708計算之漏損 能量增加目前分格之漏損能量。另外,微碼127藉由在步驟712計算之動態能量增加目前分格動態能量。自功率資訊共享區域138之值係在最舊(初)之分格中,以及分格數相對較大(在一實施例中分格數為128),數值中不準確之電壓可歸咎於時間間距(T)之量子化(quantization)一般相對較小(近乎1%)。流程進行至步驟718。
在步驟718中,微碼127藉由在步驟708中計算之漏 損能量增加目前時間間距之漏損能量給此核心104。另外,並且微碼127藉由在步驟712中計算之動態能量增加目前時間間距之動態能量給此核心104。流程進行至步驟722。
在步驟722中,微碼127寫入漏損能量以及動態能量至功率資訊共享區域138給在步驟718中計算之此核心104。流程結束於步驟722。
第8圖係根據本發明之第1圖電腦系統100執行副程式X之操作流程圖。流程開始於步驟802。
在步驟802中,微碼127判定要求之頻率是否與功率評價值特性觸發頻率相同。若要求之頻率與功率評價值特性觸發頻率相同,流程進行至步驟804;否則,流程進行至步驟803。
在步驟803中,微碼127控制電壓調節模組108以及核心104鎖相迴路126,致使核心104操作於要求之P-狀態。在 一實施例中,一比較器比較兩核心104之VID訊號158輸出,並且當兩核心104之VID訊號158輸出不同時,選擇較大之一者。流程結束於步驟803。
在步驟804中,微碼127自溫度感測器128獲得核心104之溫度以及判定核心104之溫度是否大於一既定溫度臨限值。在一實施例中,溫度臨限值由功率評價值129。當核心104之溫度高於既定溫度臨限值時,流程進行至步驟803;否則,流程進行至步驟806。
在步驟806,呼叫一副程式W。副程式W之詳細說明可參考關於第9圖之敘述。流程從副程式W獲得回報,其回報在最新時間間距中藉由組件102所計算之消耗能量,或者組件時間間距能量(PIE)之數值(即副程式W之回報係為組件時間間距能量)。流程進行至步驟808。
在步驟808中,微碼127判定在步驟806中接收到之組件時間間距能量是否大於一既定能量臨限值。既定能量臨限值略小於最大消耗功率(P)以及時間間距(T)之乘積。在另一實施例中,另外藉由核心104外部消耗許多功率之微處理器100電路可減少既定能量臨限值,例如一共用之快取記憶體;或者,副程式W可包括組件時間間距能量計算核心104外部之微處理器100電路消耗之能量。在一實施例中,既定能量臨限值係由功率評價值暫存器129所提供的。若組件時間間距能量大於既定能量臨限值,流程進行至步驟803;否則,流程進行至步驟812。
在步驟812中,微碼127有利地控制電壓調節模組 108以及核心104鎖相迴路126以致使核心104操作於高於Xp之操作點上。流程結束於812。
第9圖係根據本發明之第1圖電腦系統100執行副程式W之操作流程圖。流程開始於步驟902。
在步驟902中,微碼127從功率資訊共享區域138中,讀取核心104之其他者的時間間距動態能量以及時間間距漏損能量。值得注意的是在多於兩個核心104之實施例中,微碼127可讀取時間間距動態能量以及時間間距漏損能量之數值給每一核心之其他者,並且於以下步驟904以及908之計算流程中使用時間間距動態能量以及時間間距漏損能量之數值,以計算組件102之時間間距能量。流程進行至步驟904。
在步驟904,微碼127使用在步驟902中獲得之數值,以將核心104之其他者之漏損能量以及核心104之其他者之動態能量進行相加,以作為時間間距能量。流程進行至步驟906。
在步驟906中,微碼127將此核心104之漏損能量以及此核心104之動態能量進行相加,以作為此核心104之時間間距能量。流程進行至步驟908。
在步驟908,微碼127將核心104之其他者在步驟904中計算之時間間距能量以及此核心104在在步驟906中計算之時間間距能量進行相加,以作為組件102之時間間距能量。流程進行至步驟912。
在步驟912中,微碼127回報組件102在步驟908中計算之時間間距能量。流程結束於步驟912。
第10圖係根據本發明之第1圖電腦系統100執行副 程式Y之操作流程圖。流程開始於步驟1002。
在步驟1002中,微碼127重新啟動匯流排時脈計時 器122。也就是說,微碼127對匯流排時脈計時器122進行編程,以運作其他分格之時間以及產生一中斷至核心104。流程進行至步驟1004。
在步驟1004中,微碼127自溫度感測器128獲得核 心104之溫度,並且判定核心104之溫度是否高於既定溫度臨限值。若核心104之溫度高於既定溫度臨限值,流程進行至步驟1024;否則,流程進行至步驟1006。
在步驟1006中,呼叫副程式。流程自副程式W回報 已計算之組件102於最近時間間距中消耗之能量(組件時間間距能量)。流程進行至步驟1008。
在步驟1008中,微碼127判定在步驟1006中接收之 組件時間間距能量是否大於既定能量臨限值。若組件時間間距能量大於既定能量臨限值,流程進行至步驟1024;否則,流程進行至步驟1014。
在步驟1014中,微碼127有利地控制電壓調節模組 108以及核心104之鎖相迴路126以致使核心104操作於操作點Xp之上。在一實施例中,一比較器比較兩個核心104之VID訊號158輸出,並且當兩個核心104之VID訊號158輸出不同時,選擇較大之一者。流程進行至步驟1016。
在步驟1016中,微碼127藉由在佇列之最舊分格項 目的特定漏損能量,減少時間間距漏損能量給此核心104。因 此,給此核心104之目前時間間距漏損能量,相較於加總所有分格漏損能量,可藉由第7圖之步驟718以及第10圖之步驟1016之操作更有效率的運算。相似地,微碼127藉由在佇列之最舊分格項目的特定動態能量,減少目前時間間距動態能量給核心104。流程進行至步驟1018。
在步驟1018,微碼127將在步驟1016中計算之漏損 能量以及動態能量寫入功率資訊共享區域138給核心104。流程進行至步驟1022。
在步驟1022中,微碼127清除在佇列中最舊之分 格,使得最舊之分格變成最新的分格或者目前分格。流程結束於步驟1022。
在步驟1024中,微碼127控制電壓調節模組108以 及核心104之鎖相迴路126以致使核心104操作在先前之操作點,例如Xp或者更低(below)。流程進行至步驟1016。
由上述說明可知,有利地,只要累積足夠的功率 評價值(例如,在一時間週期中之所有核心104判定組件時間間距能量皆沒有超過既定能量臨限值),所有核心皆可操作在Xp以上之頻率。本發明較優於僅依據一粗糙指標以操作一個或更多之核心於一升高頻率的多核心處理器,如這種做法不會致能所有核心操作在一升高之頻率,因此無論如何多個核心中之一者會處於休眠狀態。
第11圖係本發明另一實施例之包括一雙核心微處 理器組件102的一電腦系統100之方塊圖,其包括一功率評價值特性。第11圖所示之電腦系統100相似於第1圖所示之電腦系統 100,其包括組件102經由匯流排154耦皆至記憶體106與電壓調節模組108,以及組件102包括兩個核心104A/104B。另外,第11圖之電腦系統之組件102裝置的能量消耗已判定(由於功率評價值特性)為不同於第1圖之電腦系統。第1圖所示之電腦系統11中的核心104根據各種輸入(例如電壓、頻率以及溫度)計算其功率消耗(能量消耗速率),以計算時間間距內之能量消耗,第11圖所示之電腦系統100包括組件102外部之電路,其提供瞬間功率消耗指標VINSTPWR訊號1154,核心104使用瞬間功率消耗指標VINSTPWR訊號1154計算時間間距內之能量消耗。另外,每一核心104包括一能量監視器1144,能量監視器1144取樣VINSTPWR訊號1154訊號以及在每一次能量監視器1144讀取訊號時累積當時由VCORE訊號156訊號消耗之能量值。已累積之能量可由微碼127讀取,以作為PKGENERGY訊號1162之數值。
在組件102外部之電路包括一電阻(R)串聯於VRM 108至VCORE訊號156之輸出上以及一放大器1102(DIFF.AMP.)跨接於在電阻(R)之兩端點,以產生一VINSTCUR訊號1152。 VINSTCUR訊號1152係一類比電壓訊號,其數值與經由VCORE訊號156提供至組件102之瞬間電流成比例。一類比乘法器1104(MUL)亦接收VCORE訊號156以及相其與VINSTCUR訊號1152相乘,以產生VINSTPWR訊號1154。VINSTPWR訊號1154係一類比電壓,其數值與經由VCORE訊號156提供至組件102之瞬間功率成比例。能量監視器1144於每一核心104中,轉換VINSTPWR訊號1154為一數位訊號PKGENERGY訊號1162。能 量監視器1144包括一狀態暫存器,微碼127可由狀態暫存器中讀取PKGENERGY訊號1162之值。PKGENERGY訊號1162指出自能量監視器1144最後一次讀取以來提供給VCORE訊號156之能量值。因此,每次微碼127自能量監視器1144讀取PKGENERGY訊號1162之值,能量監視器1144重置能量值為0,並且開始累積一新的由組件102所消耗之能量值直到下次微碼127讀取PKGENERGY訊號1162之值為止。能量監視器1144藉由除以電阻R之值(以及當並聯之放大器對VINSTCUR訊號1152放大時,與一分數常數相乘),轉換VINSTPWR訊號1154之類比電壓值為提供至組件102之瞬間功率值。
第12圖係根據本發明之第11圖電腦系統100所實 施之操作流程圖。第12圖之流程相似於第4圖。另外,在第12圖中,流程從步驟412進行至新的步驟1216。
在步驟1216中,每一核心104之微碼127將各別之 能量監視器1144之值寫入控制暫存器,以設定並且啟動能量監視器1144累積組件102之能量消耗。流程結束於步驟1216。
第13圖係根據本發明之第11圖電腦系統100所實 施之操作流程圖。第13圖之流程相似於第5B圖。另外,以下將詳述第13圖以及第5B圖之流程的差異。
第13圖並無繪示步驟566、574以及584,因此流程 直接由步驟564至步驟568之分支“是”開始進行;流程直接由步驟572至步驟576之分支“是”開始進行;以及流程直接由步驟576至步驟586之分支“是”開始進行。另外,第13圖將原本第5圖之步驟548、552、556以及562取代為步驟1348、1352、 1356以及1362。最後,步驟554以及558並無繪示於第13圖但未被取代;因此,流程自步驟1352直接進行至步驟1356以及自步驟1356直接進行至步驟1362。
若在步驟546中,微碼127判定在步驟544中計算之休眠時間大於時間間距之時間時,流程進行至新的步驟1348。
在步驟1348中,微碼127自能量監視器1144讀取PKGENERGY訊號1162之值。流程進行至新的步驟1352。
在步驟1352中,微碼127於時間間距中,當核心104處於休眠狀態時,根據在步驟1348中獲得之PKGENERGY訊號1162以及在步驟542獲得之休眠時間之值,計算由組件102所消耗之組件時間間距能量(組件時間間距能量)。在一實施例中,時間間距以及休眠時間之值係以匯流排時脈146之一刻點為單位,計算組件時間間距能量值係作為PKGENERGY值之乘績,一分數之分子係為時間間距以及分母為休眠時間。流程自步驟1352進行至步驟1356。
在步驟1356中,當核心104一分格之時間處於休眠狀態,微碼127將在步驟1352中所判定之組件時間間距能量除以分格數之商數(quotient),作為由分格組件102所消耗的能量。流程由步驟1356進行至1356至步驟1362。
在步驟1362中,微碼127將在步驟1356中計算之分格組件102的能量填入在佇列中之所有分格項目。流程結束於步驟1362。
第14圖係根據本發明之第11圖電腦系統100執行副程式Z之操作流程圖。第14圖與第6圖相同,除了第14不包括 步驟602,故流程開始於在步驟604。因此,第14圖所示之另一實施例不使用第1圖之實施例的動態功率因子。由於實際瞬間功率之值係經由VINSTPWR訊號1154提供至核心104,故本實施例不需要動態功率因子。
第15圖係根據本發明之第11圖電腦系統100執行 副程式V之操作流程圖。流程開始於步驟702,其相似於第7圖所示之步驟702。流程進行至步驟1512。
在步驟1512中,微碼127自能量監視器1144讀取 PKGENERGY訊號1162之值,以判定在最後更新中由組件102所消耗之能量值。流程進行至步驟1516。
在步驟1516,微碼127藉由在步驟1512中獲得之 PKGENERGY訊號1162之值,減少目前分格能量。有利地,由於分格數相對較大(在一實施例中分格數為128),數值中不準確之電壓可歸咎於時間間距(T)之量子化(quantization)一般相對較小(近乎1%)。流程進行至步驟1518。
在步驟1518中,微碼127藉由在步驟1512中獲得之 PKGENERGY訊號1162之值,減少組件時間間距能量。流程結束於步驟1518。
第16圖係根據本發明之第11圖電腦系統100執行 副程式X之操作流程圖。第16圖與第8圖相同,除了第16圖不包括步驟806以外;故流程直接由步驟804至步驟808之分支“否”開始進行故流程。因此,第16圖所示之另一實施例不要求如第1圖之實施例之組件時間間距能量之計算結果。這是因為組件時間間距能量係由讀取自能量監視器1144之每一時間 之PKGENERGY訊號1162所維持的。再者,值得注意的是,如第11圖所示之另一實施例不需要副程式W,因為組件時間間距能量係由讀取自能量監視器1144之每一時間之PKGENERGY訊號1162所維持的。
第17圖係根據本發明之第1圖電腦系統100執行副 程式Y之操作流程圖。第17圖除了以下不同之外,相似於第10圖。
第17圖不包括步驟1006;故流程直接由步驟1004 至步驟1008之分支“否”開始進行。因此,第17圖所示之另一實施例不要求如第1圖之實施例之組件時間間距能量之計算結果。這是因為組件時間間距能量係由讀取自能量監視器1144之每一時間之PKGENERGY訊號1162所維持的。
另外,第10圖之步驟1016被第17圖所示之步驟 1716取代,使得流程直接由步驟1014以及1024進行至步驟1716。
在步驟1716中,微碼127藉由在佇列之最舊分格項 目的特定能量,減少組件時間間距能量。因此,相較於加總所有分格之能量,藉由第15圖之步驟1518中以及第17圖所示之步驟1716的操作,可對組件時間間距能量進行更有效率之運算。 第7圖不包括步驟1018;故流程直接由步驟1716進行至步驟1022。
第18圖係本發明另一實施例之包括一雙核心微處 理器組件102的一電腦系統100之方塊圖,其包括一功率評價值特性。第18圖所示之電腦系統100相似於第11圖所示之電腦系 統100,另外,第18圖所示之電腦系統100不包括第4圖之類比乘法器1104。取而代之的是由能量監視器1144執行類比乘法器之功。因此,能量監視器1144接收每一VINSTCUR訊號1152以及VCORE訊號156。
以下將詳述本實施例之諸多有利之功效。首先, 其中一種致能核心以與另一核心傳送電源資訊之方法為製造兩匹配之核心,並且直接架設訊號線於在兩核心中間,使得該兩核心可彼此互相溝通。另外,本實施利之另一優點為,核心可經由記憶體彼此溝通,因此不需要製造匹配之複數核心,但必需分別製造再進行封裝。因此,本發明之實施利可具有更高於製造匹配核心方法之產量。
第二,本實施例之核心使用記憶體以進行電源資 訊之溝通,相較於透過訊號線直接進行溝通之核心,本實施例之規模可更佳於兩個以上之核心,由於訊號線之數量會基於核心的數量而指數增加。
第三,功率評價值特性之實施例的優點為,其可 允許具有良好溫度環境/解決方案之使用者/系統可不需受至於其他不具有良好溫度環境/解決方案之使用者/系統,而享受額外之高效能。
第四,有些指令(例如,非代數的函數指令 (transcendental function instructions)或者具有巨大運算域之相乘模數指(modulo multiply instructions with extremely large operands))可能相對的執行時間較長,可能約為一分格或者時間間具T之時間。由於根據本發明所述之實施例,一個核心可 判定必要的功率評價值是否為目前項目之組件並且根據其調整本身之效能,本發明所述之實施例可在當時一長指令之下操作適當的事件,既使其他核心無法回應其匯流排時脈計時器之中斷。
第五,如前所述,在累積足夠之功率評價值的條 件下,所有核心皆可操作於高於Xp之頻率。
雖然本發明之實施例已於上述說明其目標、特性 以及優點,其他實施例亦為本發明之考量。舉例而言,雖然本發明之實施例的瞬間功率指標係由第11圖以及第18圖所示之多核心架構之組件的外部電路所提通的,但單核心組件亦在本發明之範疇。再者,雖然本發明已說明動態以及漏損能量代表之值係各別維持的,在其他實施例中亦可考慮維持一單一代表能量之值。另外,在其他實施例中,訊號VINSTPWR訊號1154或者訊號VINSTCUR訊號1152係由電壓調節模組108或者由電源供應直接提供至組件102。最後,雖然本發明之實施例已說明功率評價值特性大量用於微碼,其他實施例亦考量將功率評價值特性大量用於硬體邏輯或者微碼與硬體邏輯之組合。
本發明的不同實施例已於本文敘述,但本領域具 有通常知識者應能瞭解這些實施例僅作為範例,而非限定於此。本領域具有通常知識者可在不脫離本發明之精神的情況下,對形式與細節上做不同的變化。例如,軟體可致能本發明實施例所述的裝置與方法之功能、組建(fabrication)、塑造(modeling)、模擬、描述(description)、以及/或測試,亦可透過一般程式語言(C、C++)、硬體描述語言(Hardware Description Languages,HDL)(包括Verilog HDL、VHDL等等)、或其他可利用的程式語言來完成。此軟體可配置在任何已知的電腦可使用媒介,例如磁帶、半導體、磁碟,或是光碟(例如CD-ROM、DVD-ROM等等)、網際網路、有線、無線、或其他通訊媒介的傳輸方式之中。本發明所述之裝置與方法實施例可被包括於半導體智慧財產核心,例如微處理器核心(以HDL來實現),並轉換成積體電路產品的硬體。此外,本發明所述之裝置與方法透過硬體與軟體的結合來實現。因此,本發明不應侷限於所揭露之實施例,而是依後附之申請專利範圍與等效實施所界定。特別是,本發明可實施在使用於一般用途電腦中的微處理器裝置內。最後,本發明雖以較佳實施例揭露如上,然其並非用以限定本發明的範圍,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100‧‧‧電腦系統
108‧‧‧電壓調節模組
158‧‧‧VID訊號
156‧‧‧VCORE訊號
104A‧‧‧核心0
104B‧‧‧核心1
102‧‧‧組件
129‧‧‧功率評價值暫存器
126‧‧‧鎖相迴路
128‧‧‧溫度感測器
127‧‧‧微碼
124‧‧‧常駐計時器
122‧‧‧匯流排時脈計時器
146‧‧‧匯流排時脈
154‧‧‧匯流排
106‧‧‧記憶體
138‧‧‧功率資訊共享區域(PISA)
132A‧‧‧功率資訊
132B‧‧‧功率資訊
114‧‧‧動態能量
116‧‧‧漏損能量

Claims (54)

  1. 一種微處理器,包括:一輸入端,用以接收一外部電源施加在該微處理器之瞬間功率大小的一指標;以及複數處理核心,其中該等處理核心係設置於一微處理器組件上,每一該等處理核心具有一適應性之功率調節邏輯用以:分別獨立於該等處理核心中之其他者,接收來自該輸入端的該指標以及判定於一前段週期中由該微處理器所消耗之能量值,其中該前段週期為一既定時間長度;以及操作該處理核心於高於一既定頻率之一頻率,以回應於該前段週期中判定之由該微處理器所消耗之能量值低於一既定能量值,其中每一該等處理核心係獨立地決定其相應之一功率評價值是否足夠允許該處理核心操作於高於該既定頻率之該頻率,其中該等處理核心之每一核心包括一分格結構,該分格結構之每一項目儲存相應之分格中有關該微處理器之功率消耗的資訊,其中該核心更用以動態更新該分格結構以獨立地決定其相應之該功率評價值是否足夠允許該處理核心操作於高於該既定頻率之該頻率,其中當該核心之休眠時間超過該前段周期之該既定時間長度時,該核心使用該輸入端所接收之該指標計算該前段週期中該微處理器所消耗之能量值並且平均分配給該分格結構中之該等項目。
  2. 如申請專利範圍第1項所述之微處理器,其中該既定頻率係 為在該微處理器之消耗不多於該既定能量值的情況下使該微處理器之該等處理核心可維持操作於該既定時間值之一頻率。
  3. 如申請專利範圍第1項所述之微處理器,其中該既定頻率係為系統軟體可要求該等處理核心操作之一最大頻率。
  4. 如申請專利範圍第1項所述之微處理器,其中每一處理核心包括:一微碼;以及一能量監視器,用以接收來自該輸入端的該指標,以及相應地判定在微碼自該能量監視器讀取該能量之複數情況之間的一時間長度中由該微處理器消耗之能量值。
  5. 如申請專利範圍第1項所述之微處理器,其中每一處理核心用以使系統軟體將一列表之一或複數既定值寫入至該處理核心,該列表包括該既定時間長度、該既定頻率以及該既定能量值。
  6. 如申請專利範圍第1項所述之微處理器,其中該微處理器所消耗之瞬間功率之指標包括正施加於該微處理器之一瞬間電流之指標以及一瞬間電壓之指標。
  7. 如申請專利範圍第1項所述之微處理器,其中當該微處理器之操作溫度低於一既定溫度時,則每一處理核心用以於高於該既定頻率之一頻率操作該處理核心。
  8. 如申請專利範圍第1項所述之微處理器,其中當系統軟體要求一既定操作頻率,則每一處理核心用以於高於該既定頻率之一頻率操作該處理核心。
  9. 如申請專利範圍第1項所述之微處理器,其中每一處理核心包括:一私有隨機存取記憶體,其無法存取使用者指令且只存取該處理核心之微碼,其中該微碼將複數分格之一陣列儲存於該私用隨機存取記憶體中,該等複數分格之該陣列儲存於該前段週期之複數接續子集合間儲存該微處理器所消耗之能量值。
  10. 一種操作微處理器的方法,其中該微處理器包括設置於一微處理器組件上之複數處理核心,每一該等處理核心具有一適應性之功率調節邏輯以操作於可調之頻率上,該操作微處理器方法包括:藉由一輸入端上之一微處理器接收一外部電源施加在該微處理器之瞬間功率大小的一指標;藉由該微處理器之每一該等處理核心,分別獨立於該等處理核心中之其他者,根據該指標判定於一前段週期中由該微處理器所消耗之能量值,其中該前段週期為一既定時間長度;以及操作該處理核心於高於一既定頻率之一頻率,以回應於該前段週期中判定之由該微處理器所消耗所之能量值低於一既定能量值,其中每一該等處理核心係獨立地決定其相應之一功率評價值是否足夠允許該處理核心操作於高於該既定頻率之該頻率,其中該等處理核心之每一核心包括一分格結構,該分格結構之每一項目儲存相應之分格中有關該微處理器之功率消耗的資訊,其中該核心更用以動態更新 該分格結構以獨立地決定其相應之該功率評價值是否足夠允許該處理核心操作於高於該既定頻率之該頻率,其中當該核心之休眠時間超過該前段周期之該既定時間長度時,該核心使用該輸入端所接收之該指標計算該前段週期中該微處理器所消耗之能量值並且平均分配給該分格結構中之該等項目。
  11. 如申請專利範圍第10項所述之操作微處理器的方法,其中該既定頻率係為在該微處理器消耗不多於該既定能量值的情況下使該微處理器之該等處理核心可維持操作長於該既定時間長度之一頻率。
  12. 如申請專利範圍第10項所述之操作微處理器的方法,其中該既定頻率係為系統軟體可要求該等處理核心操作之一最大頻率。
  13. 如申請專利範圍第10項所述之操作微處理器的方法,其中藉由該處理核心判定於由微碼執行之該前段週期中該微處理器所消耗的能量值,以及該處理核心之一能量監視器,用以接收來自該輸入端的該指標,以及相應地判定在該微碼自該能量監視器讀取該能量之複數情況之間的一時間長度中該微處理器消耗之能量值。
  14. 如申請專利範圍第10項所述之操作微處理器的方法,其中每一處理核心用以使系統軟體可將一列表之一或複數既定值寫入該處理核心,該列表包括該既定時間長度、該既定頻率以及該既定能量值。
  15. 如申請專利範圍第10項所述之操作微處理器的方法,其中 該微處理器所消耗之瞬間功率之指標包括正施加於該微處理器之一瞬間電流之指標以及一瞬間電壓之指標。
  16. 如申請專利範圍第10項所述之操作微處理器的方法,其中當該微處理器之操作溫度低於一既定溫度時,則每一處理核心用以於高於該既定頻率之頻率操作該處理核心。
  17. 如申請專利範圍第10項所述之操作微處理器的方法,其中當系統軟體要求一既定操作頻率,則每一處理核心用以於高於該既定頻率之頻率操作該處理核心。
  18. 如申請專利範圍第10項所述之操作微處理器的方法,其中每一處理核心包括一私有隨機存取記憶體,其無法存取使用者指令且只存取該處理核心之微碼,其中該微碼將複數分格之一陣列儲存於該私用隨機存取記憶體中,該等複數分格之該陣列儲存於該前段週期之複數接續子集合間儲存該微處理器所消耗之能量值。
  19. 一種電腦程式產品,於電腦裝置中嵌入可用之一至少電腦可讀儲存媒體,該電腦程式產品包括:在該電腦可讀儲存媒體中嵌入電腦可讀程式碼,用以指定一微處理器用以在具有一記憶體之一系統中操作,其中該微處理器包括設置於一微處理器組件上之複數處理核心,每一該等處理核心具有一適應性之功率調節邏輯,並且該電腦可讀程式碼包括:一第一程式碼,指定一輸入端,用以接收一外部電源施加在該微處理器之瞬間功率大小的一指標;以及一第二程式碼,指定該等處理核心,其中每一處理核心用 以:分別獨立於該等處理核心中之其他者,接收來自該輸入端的該指標以及判定於一前段週期中由該微處理器所消耗之能量值,其中該前段週期為一既定時間長度;以及操作該處理核心於高於一既定頻率之一頻率,以回應於該前段週期中判定之由該微處理器消耗所之能量值低於一既定能量值,其中每一該等處理核心係獨立地決定其相應之一功率評價值是否足夠允許該處理核心操作於高於該既定頻率之該頻率,其中該等處理核心之每一核心包括一分格結構,該分格結構之每一項目儲存相應之分格中有關該微處理器之功率消耗的資訊,其中該核心更用以動態更新該分格結構以獨立地決定其相應之該功率評價值是否足夠允許該處理核心操作於高於該既定頻率之該頻率,其中當該核心之休眠時間超過該前段周期之該既定時間長度時,該核心使用該輸入端所接收之該指標計算該前段週期中該微處理器所消耗之能量值並且平均分配給該分格結構中之該等項目。
  20. 如申請專利範圍第19項所述之電腦程式產品,其中該至少電腦可讀儲存媒體可為一光碟、一磁帶、或其他磁性、光學性、或電子儲存媒體以及一網路、電纜線、無線或其他通訊媒體。
  21. 一種微處理器,用以在具有一記憶體之一系統中運作,該微處理器包括:複數處理核心,其中該等處理核心係設置於一微處理器組 件上,該等處理核心之每一處理核心具有一適應性之功率調節邏輯,並且每一處理核心用以:操作於可調整之一操作頻率;當偵測到一電源事件發生時,計算一第一值,其中該第一值代表該處理核心在該電源事件之一時間間距中所消耗之能量值,其中該時間間距之長度為一既定時間值;將該第一值寫入該記憶體;從該記憶體中讀取一或複數第二值,其中該或該等第二值代表在該時間間距中由該等處理核心之其他者所消耗之能量值,其中該或該等第二值已預先由該等處理核心之其他者計算出以及寫入至該記憶體;以及根據該第一值與該或該等第二值獨立於該等處理核心中之其他者調整該處理核心之該操作頻率,其中該處理核心之該適應性之功率調節邏輯使用該處理核心之動態能量常數計算該第一值,該處理核心之動態功率常數係在生產該微處理器組件的過程決定的,並且該處理核心之動態能量常數為該處理核心在導致該電源事件之該時間間距中所操作之一頻率與一電壓平方之乘積所得之值,其中每一該等處理核心中之其他者之該適應性之功率調節邏輯使用該等處理核心中之其他者之動態能量常數計算該第一或者該等第二值,該等處理核心中之其他者之動態功率常數係在生產該微處理器組件的過程決定的,並且該等處理核心中之其他者之動態能量常數為該等處理核心中之其他者在接近該時間間距中所操作之一頻率與一電壓平方之乘積所得之 值。
  22. 如申請專利範圍第21項所述之微處理器,其中只有當根據該第一值與該或該等第二值之一既定條件存在時,每一處理核心藉由設定該處理核心之該操作頻率高於一既定頻率以調整該操作頻率。
  23. 如申請專利範圍第22項所述之微處理器,其中該既定頻率係為在該微處理器之消耗不多於一既定能量值的情況下使該微處理器之該等處理核心可維持操作於該既定時間值之一頻率。
  24. 如申請專利範圍第22項所述之微處理器,其中該既定頻率係為系統軟體可要求該處理核心操作之一最大頻率。
  25. 如申請專利範圍第22項所述之微處理器,其中每一處理核心更包括用以:利用該第一值與該或該等第二值計算一第三值,其中該第三值約代表該微處理器在該時間間距中所消耗之能量值。
  26. 如申請專利範圍第25項所述之微處理器,其中若該第三值小於一第四值,則根據該第一值與該或該等第二值之該既定條件成立,其中在長度為該既定時間值之任意時間間距中,該第四值代表該微處理器在該系統之可允許消耗之一能量既定最大值。
  27. 如申請專利範圍第22項所述之微處理器,其中若該第一值與該或該等第二值的加總小於一第四值,則根據該第一值與該或該等第二值之該既定條件成立,其中在長度為該既定時間值之任意時間間距中,該第四值代表該等處理核心 在該系統之可允許消耗之一能量既定最大值。
  28. 如申請專利範圍第22項所述之微處理器,其中若該既定條件不成立時,每一處理核心更用以藉由設定該處理核心之該操作頻率在該既定頻率或低於該既定頻率以調整該操作頻率。
  29. 如申請專利範圍第21項所述之微處理器,其中該第一值與該或該等第二值皆包括一動態能量元件以及一漏損能量元件。
  30. 如申請專利範圍第21項所述之微處理器,其中每一處理核心用以自該記憶體中之一位置讀取該或該等第二值,且更包括用以:於該或該等第二值讀取自該記憶體之前,接收該記憶體中之該位置之一位址。
  31. 如申請專利範圍第30項所述之微處理器,其中每一處理核心用以接收該位置之該位址,以回應系統軟體將該位址寫入處理核心。
  32. 如申請專利範圍第30項所述之微處理器,其中該記憶體之該位置之該位址存放在該記憶體之一系統管理模式(SMM)區域。
  33. 如申請專利範圍第21項所述之微處理器,其中每一處理核心包括微碼用以計算該第一值、讀取該或該等第二值以及調整該操作頻率。
  34. 如申請專利範圍第21項所述之微處理器,其中該電源事件包括來自一列表之一事件包括:來自一計時器用以指出超 過一既定時間週期之指標,一用以讓該處理核心休眠之要求,該處理核心從休眠狀態回復操作、以及一用以更新該處理核心之操作頻率之要求。
  35. 如申請專利範圍第34項所述之微處理器,其中該既定時間週期小於兩數量級之該既定時間值。
  36. 如申請專利範圍第34項所述之微處理器,其中該休眠狀態包括去能一時脈訊號於大部分之該處理核心的狀態。
  37. 一種操作微處理器的方法,適用於具有記憶體之一系統中設置於一微處理器組件上之複數處理核心,每一該等處理核心具有一適應性之功率調節邏輯並且操作於可調整之一操作頻率,其中該記憶體可被該等處理核心存取,該方法包括:當偵測到一電源事件發生時,藉由該等處理核心計算一第一值,其中該第一值代表該處理核心在該電源事件之一時間間距中所消耗之能量值,其中該時間間距之長度為一既定時間值;將該第一值寫入該記憶體;藉由該處理核心從該記憶體中讀取一或複數第二值,其中該或該等第二值代表在該時間間距中由該等處理核心之其他者所消耗之能量值,其中該或該等第二值已預先由該等處理核心之其他者計算出以及寫入至該記憶體;以及藉由該處理核心根據該第一值與該或該等第二值獨立於該等處理核心中之其他者調整該處理核心之該操作頻率,其中該處理核心之該適應性之功率調節邏輯使用該處理核心 之動態能量常數計算該第一值,該處理核心之動態功率常數係在生產該微處理器組件的過程決定的,並且該處理核心之動態能量常數為該處理核心在導致該電源事件之該時間間距中所操作之一頻率與一電壓平方之乘積所得之值,其中每一該等處理核心中之其他者之該適應性之功率調節邏輯使用該等處理核心中之其他者之動態能量常數計算該第一或者該等第二值,該等處理核心中之其他者之動態功率常數係在生產該微處理器組件的過程決定的,並且該等處理核心中之其他者之動態能量常數為該等處理核心中之其他者在接近該時間間距中所操作之一頻率與一電壓平方之乘積所得之值。
  38. 如申請專利範圍第37項所述之操作微處理器的方法,其中只有當根據該第一值與該或該等第二值之一既定條件存在時,藉由設定該處理核心之該操作頻率高於一既定頻率以調整該操作頻率。
  39. 如申請專利範圍第38項所述之操作微處理器的方法,其中該既定頻率係為在該微處理器之消耗不多於一既定能量值的情況下使該微處理器之該等處理核心可維持操作於該既定時間值之一頻率。
  40. 如申請專利範圍第38項所述之操作微處理器的方法,其中該既定頻率係為系統軟體可要求該處理核心操作之一最大頻率。
  41. 如申請專利範圍第38項所述之操作微處理器的方法,更包括: 藉由該處理核心利用該第一值與該或該等第二值計算一第三值,其中該第三值約代表該微處理器在該時間間距中所消耗之能量值。
  42. 如申請專利範圍第41項所述之操作微處理器的方法,其中若該第三值小於一第四值,則根據該第一值與該或該等第二值之該既定條件成立,其中在長度為該既定時間值之任意時間間距中,該第四值代表該微處理器在該系統之可允許消耗之一能量既定最大值。
  43. 如申請專利範圍第41項所述之操作微處理器的方法,其中若該第一值與該或該等第二值的加總小於一第四值,則根據該第一值與該或該等第二值之該既定條件成立,其中在長度為該既定時間值之任意時間間距中,該第四值代表該等處理核心在該系統之可允許消耗之一能量既定最大值。
  44. 如申請專利範圍第38項所述之操作微處理器的方法,其中若該既定條件不成立時,更藉由設定該處理核心之該操作頻率在該既定頻率或低於該既定頻率以調整該操作頻率。
  45. 如申請專利範圍第37項所述之操作微處理器的方法,其中該第一值與該或該等第二值皆包括一動態能量元件以及一漏損能量元件。
  46. 如申請專利範圍第37項所述之操作微處理器的方法,其中自該記憶體讀取該或該等第二值方法包括自該記憶體中之一位置讀取該或該等第二值,更包括:藉由該處理核心於該或該等第二值讀取自該記憶體之前,接收該記憶體中之該位置之一位址。
  47. 如申請專利範圍第46項所述之操作微處理器的方法,其中接收該位置之該位址,以回應系統軟體將該位址寫入處理核心。
  48. 如申請專利範圍第46項所述之操作微處理器的方法,其中該記憶體之該位置之該位址存放在該記憶體之一系統管理模式(SMM)區域。
  49. 如申請專利範圍第37項所述之操作微處理器的方法,其中藉由該處理核心之微碼執行計算、讀取以及調整。
  50. 如申請專利範圍第37項所述之操作微處理器的方法,其中該電源事件包括來自一列表之一事件包括:來自一計時器用以指出超過一既定時間週期之指標,一用以讓該處理核心休眠之要求,該處理核心從休眠狀態回復操作、以及一用以更新該處理核心之操作頻率之要求。
  51. 如申請專利範圍第50項所述之操作微處理器的方法,其中該既定時間週期小於兩數量級之該既定時間值。
  52. 如申請專利範圍第50項所述之操作微處理器的方法,其中該休眠狀態包括去能一時脈訊號於大部分之該處理核心的狀態。
  53. 一種電腦程式產品,於電腦裝置中嵌入可用之一至少非易失性電腦可讀儲存媒體,該電腦程式產品包括:在該電腦可讀儲存媒體中嵌入電腦可讀程式碼,用以指定一微處理器用以在具有一記憶體之一系統中操作,該電腦可讀程式碼包括:指定設置於一微處理器組件上複數處理核心之程式碼,其 中該複數處理核心之每一處理核心具有一適應性之功率調節邏輯並且,每一處理核心之程式碼用以:操作於可調整之一操作頻率;當偵測到一電源事件發生時,計算一第一值,其中該第一值代表該處理核心在該電源事件之一時間間距中所消耗之能量值,其中該時間間距之長度為一既定時間值;將該第一值寫入該記憶體;從該記憶體中讀取一或複數第二值,其中該或該等第二值代表在該時間間距中由該等處理核心之其他者所消耗之能量值,其中該或該等第二值已預先由該等處理核心之其他者計算出以及寫入至該記憶體;以及根據該第一值與該或該等第二值獨立於該等處理核心中之其他者調整該處理核心之該操作頻率,其中該處理核心之程式碼致使該適應性之功率調節邏輯使用該處理核心之動態能量常數計算該第一值,該處理核心之動態功率常數係在生產該微處理器組件的過程決定的,並且該處理核心之動態能量常數為該處理核心在導致該電源事件之該時間間距中所操作之一頻率與一電壓平方之乘積所得之值,其中每一該等處理核心中之其他者之程式碼致使該適應性之功率調節邏輯使用該等處理核心中之其他者之動態能量常數計算該第一或者該等第二值,該等處理核心中之其他者之動態功率常數係在生產該微處理器組件的過程決定的,並且該等處理核心中之其他者之動態能量常數為該等處理核心中之其他者在接近該時間間距中所操作之一頻率與一電 壓平方之乘積所得之值。
  54. 如申請專利範圍第53項所述之電腦程式產品,其中該至少非易失性電腦可讀儲存媒體可為一光碟、一磁帶、或其他磁性、光學性、或電子儲存媒體以及一網路、電纜線、無線或其他非易失性通訊媒體。
TW103107842A 2010-06-30 2011-06-30 微處理器、操作微處理器的方法以及電腦程式產品 TWI528168B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US36000510P 2010-06-30 2010-06-30
US13/157,498 US8935549B2 (en) 2010-06-30 2011-06-10 Microprocessor with multicore processor power credit management feature
US13/157,555 US8615672B2 (en) 2010-06-30 2011-06-10 Multicore processor power credit management to allow all processing cores to operate at elevated frequency
US13/157,436 US8914661B2 (en) 2010-06-30 2011-06-10 Multicore processor power credit management in which multiple processing cores use shared memory to communicate individual energy consumption

Publications (2)

Publication Number Publication Date
TW201426280A TW201426280A (zh) 2014-07-01
TWI528168B true TWI528168B (zh) 2016-04-01

Family

ID=45400663

Family Applications (3)

Application Number Title Priority Date Filing Date
TW103107842A TWI528168B (zh) 2010-06-30 2011-06-30 微處理器、操作微處理器的方法以及電腦程式產品
TW103107841A TWI528167B (zh) 2010-06-30 2011-06-30 微處理器、操作微處理器的方法以及電腦程式產品
TW100123031A TWI454901B (zh) 2010-06-30 2011-06-30 微處理器、操作微處理器的方法以及電腦程式產品

Family Applications After (2)

Application Number Title Priority Date Filing Date
TW103107841A TWI528167B (zh) 2010-06-30 2011-06-30 微處理器、操作微處理器的方法以及電腦程式產品
TW100123031A TWI454901B (zh) 2010-06-30 2011-06-30 微處理器、操作微處理器的方法以及電腦程式產品

Country Status (2)

Country Link
US (3) US8935549B2 (zh)
TW (3) TWI528168B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI604326B (zh) * 2016-10-27 2017-11-01 財團法人工業技術研究院 基於fpga之系統功率評估裝置與方法

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8135970B2 (en) 2009-03-06 2012-03-13 Via Technologies, Inc. Microprocessor that performs adaptive power throttling
US8637212B2 (en) 2010-12-22 2014-01-28 Via Technologies, Inc. Reticle set modification to produce multi-core dies
US8782451B2 (en) 2010-12-22 2014-07-15 Via Technologies, Inc. Power state synchronization in a multi-core processor
US9460038B2 (en) 2010-12-22 2016-10-04 Via Technologies, Inc. Multi-core microprocessor internal bypass bus
US8972707B2 (en) 2010-12-22 2015-03-03 Via Technologies, Inc. Multi-core processor with core selectively disabled by kill instruction of system software and resettable only via external pin
US8930676B2 (en) 2010-12-22 2015-01-06 Via Technologies, Inc. Master core discovering enabled cores in microprocessor comprising plural multi-core dies
US8631256B2 (en) * 2010-12-22 2014-01-14 Via Technologies, Inc. Distributed management of a shared power source to a multi-core microprocessor
US8635476B2 (en) 2010-12-22 2014-01-21 Via Technologies, Inc. Decentralized power management distributed among multiple processor cores
US8924752B1 (en) 2011-04-20 2014-12-30 Apple Inc. Power management for a graphics processing unit or other circuit
US8856566B1 (en) * 2011-12-15 2014-10-07 Apple Inc. Power management scheme that accumulates additional off time for device when no work is available and permits additional power consumption by device when awakened
US8943341B2 (en) * 2012-04-10 2015-01-27 International Business Machines Corporation Minimizing power consumption for fixed-frequency processing unit operation
US9390461B1 (en) 2012-05-08 2016-07-12 Apple Inc. Graphics hardware mode controls
US9694448B2 (en) * 2012-05-11 2017-07-04 Universal Laser Systems, Inc. Methods and systems for operating laser processing systems
DE102013108041B4 (de) * 2012-07-31 2024-01-04 Nvidia Corporation Heterogene Mehrprozessor-Anordnung für ein leistungseffizientes und flächeneffizientes Rechnen
US20150277520A1 (en) * 2012-09-28 2015-10-01 Hewlett-Packard Development Company, L.P. Temperature regulation of a cpu
US9430346B2 (en) 2013-03-26 2016-08-30 Texas Instruments Incorporated Processor power measurement
US9804650B2 (en) 2014-09-04 2017-10-31 Qualcomm Incorporated Supply voltage node coupling using a switch
US9952651B2 (en) * 2015-07-31 2018-04-24 International Business Machines Corporation Deterministic current based frequency optimization of processor chip
US9798375B1 (en) 2016-01-05 2017-10-24 Apple Inc. Credit-based processor energy consumption rate limiting system
US10452117B1 (en) * 2016-09-22 2019-10-22 Apple Inc. Processor energy management system
TWI645282B (zh) * 2017-05-24 2018-12-21 瑞昱半導體股份有限公司 單晶片系統與具有其之積體電路裝置
JP7271973B2 (ja) * 2019-02-01 2023-05-12 株式会社デンソー 車両制御装置、動作クロック切換方法
US11054882B2 (en) 2019-02-21 2021-07-06 Apple Inc. Externally-triggered throttling
US11281279B2 (en) * 2019-04-02 2022-03-22 Apple Inc. Tracking power consumption using multiple sampling frequencies
US11048323B2 (en) 2019-04-29 2021-06-29 Apple Inc. Power throttling in a multicore system
US11079822B2 (en) * 2019-06-28 2021-08-03 Western Digital Technologies, Inc. Integrated power and thermal management in non-volatile memory
US11157329B2 (en) * 2019-07-26 2021-10-26 Intel Corporation Technology for managing per-core performance states
US20230101217A1 (en) * 2021-09-24 2023-03-30 Apple Inc. Global Integrated Circuit Power Control

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4569589A (en) 1983-05-25 1986-02-11 University Of Pennsylvania Lung water computer system
US4591841A (en) 1983-11-01 1986-05-27 Wisconsin Alumni Research Foundation Long range optical pointing for video screens
US4615014A (en) 1984-04-16 1986-09-30 Lincoln Manufacturing Company, Inc. Bake time display for cooking oven
JP2634147B2 (ja) * 1994-09-16 1997-07-23 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータシステム、キャッシュヒットの判定方法
US6367023B2 (en) 1998-12-23 2002-04-02 Intel Corporation Method and apparatus of measuring current, voltage, or duty cycle of a power supply to manage power consumption in a computer system
US6651176B1 (en) 1999-12-08 2003-11-18 Hewlett-Packard Development Company, L.P. Systems and methods for variable control of power dissipation in a pipelined processor
US6920572B2 (en) * 2000-11-15 2005-07-19 Texas Instruments Incorporated Unanimous voting for disabling of shared component clocking in a multicore DSP device
US6802015B2 (en) 2000-12-29 2004-10-05 Hewlett-Packard Development Company, L.P. Method for accelerating the speed of a CPU using a system command having an operation not associated with changing the speed of the CPU
DK1428412T3 (da) 2001-09-21 2007-04-02 Microsound As Höreapparat med ydelsesoptimeret effektforbrug for variabel clock, forsyningsspænding og DSP-behandlingsparametre
US7171570B2 (en) 2001-11-16 2007-01-30 Apple Computer, Inc. Method and apparatus for selectively increasing the operating speed of an electronic circuit
US6813719B2 (en) 2001-11-16 2004-11-02 Apple Computer, Inc. Method and apparatus for increasing the operating frequency of an electronic circuit
JP3692089B2 (ja) 2002-04-02 2005-09-07 株式会社東芝 消費電力制御方法及び情報処理装置
KR100663408B1 (ko) 2003-07-14 2007-01-02 엘지전자 주식회사 씨피유 속도 트랜지션 제어장치 및 방법
US7426657B2 (en) * 2004-07-09 2008-09-16 International Business Machines Corporation System and method for predictive processor failure recovery
US7451333B2 (en) 2004-09-03 2008-11-11 Intel Corporation Coordinating idle state transitions in multi-core processors
CN100412814C (zh) * 2005-04-12 2008-08-20 鸿富锦精密工业(深圳)有限公司 中央处理器超频系统及方法
US7490254B2 (en) 2005-08-02 2009-02-10 Advanced Micro Devices, Inc. Increasing workload performance of one or more cores on multiple core processors
US7562234B2 (en) 2005-08-25 2009-07-14 Apple Inc. Methods and apparatuses for dynamic power control
US7669071B2 (en) 2006-05-05 2010-02-23 Dell Products L.P. Power allocation management in an information handling system
US7818596B2 (en) 2006-12-14 2010-10-19 Intel Corporation Method and apparatus of power management of processor
CN101241390B (zh) * 2007-02-07 2011-04-13 华硕电脑股份有限公司 多核心处理器的效能调整方法
US8082454B2 (en) 2007-11-07 2011-12-20 International Business Machines Corporation Managing power consumption based on historical average
US8578193B2 (en) * 2007-11-28 2013-11-05 International Business Machines Corporation Apparatus, method and program product for adaptive real-time power and perfomance optimization of multi-core processors
US8010824B2 (en) 2008-04-11 2011-08-30 Advanced Micro Devices , Inc. Sampling chip activity for real time power estimation
US20110213998A1 (en) * 2008-06-11 2011-09-01 John George Mathieson System and Method for Power Optimization
TWI374355B (en) 2008-08-22 2012-10-11 Asustek Comp Inc Computer system capable of dynamically changing core voltage/frequency of cpu
US7861024B2 (en) * 2008-09-30 2010-12-28 Intel Corporation Providing a set aside mechanism for posted interrupt transactions
US8707060B2 (en) * 2008-10-31 2014-04-22 Intel Corporation Deterministic management of dynamic thermal response of processors
US20100180136A1 (en) * 2009-01-15 2010-07-15 Validity Sensors, Inc. Ultra Low Power Wake-On-Event Mode For Biometric Systems
US8135970B2 (en) 2009-03-06 2012-03-13 Via Technologies, Inc. Microprocessor that performs adaptive power throttling
CN102119380B (zh) * 2009-06-10 2014-04-02 松下电器产业株式会社 跟踪处理装置及跟踪处理系统
CN101576768A (zh) * 2009-06-15 2009-11-11 北京中星微电子有限公司 切换设备频率的方法以及设备
US8601302B2 (en) * 2009-06-22 2013-12-03 Amazon Technologies, Inc. Processor system in low power state retention mode with linear regulator off and switch regulator low in power management IC
US8589709B2 (en) 2009-07-23 2013-11-19 Carnegie Mellon University Systems and methods for managing power consumption and performance of a processor
US8667308B2 (en) 2010-06-18 2014-03-04 Apple Inc. Dynamic voltage dithering

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI604326B (zh) * 2016-10-27 2017-11-01 財團法人工業技術研究院 基於fpga之系統功率評估裝置與方法
US10324517B2 (en) 2016-10-27 2019-06-18 Industrial Technology Research Institute FPGA-based system power estimation apparatus and method

Also Published As

Publication number Publication date
TW201205274A (en) 2012-02-01
US20120005514A1 (en) 2012-01-05
US20120047385A1 (en) 2012-02-23
US8914661B2 (en) 2014-12-16
TW201426280A (zh) 2014-07-01
US8935549B2 (en) 2015-01-13
TW201426279A (zh) 2014-07-01
TWI454901B (zh) 2014-10-01
TWI528167B (zh) 2016-04-01
US20120047377A1 (en) 2012-02-23
US8615672B2 (en) 2013-12-24

Similar Documents

Publication Publication Date Title
TWI528168B (zh) 微處理器、操作微處理器的方法以及電腦程式產品
US11513585B1 (en) Power management for a graphics processing unit or other circuit
US8856566B1 (en) Power management scheme that accumulates additional off time for device when no work is available and permits additional power consumption by device when awakened
EP2596413B1 (en) Managing current and power in a computing system
US9952655B1 (en) Graphics hardware mode controls
US9261949B2 (en) Method for adaptive performance optimization of the soc
US8261112B2 (en) Optimizing power consumption by tracking how program runtime performance metrics respond to changes in operating frequency
US8112642B2 (en) Method and system for controlling power in a chip through a power-performance monitor and control unit
US8176347B1 (en) Microprocessor that performs adaptive power throttling
US8942932B2 (en) Determining transistor leakage for an integrated circuit
US20130205149A1 (en) Apparatus and method for dynamically adjusting frequency of central processing unit
US8171319B2 (en) Managing processor power-performance states
US20130328890A1 (en) GPU with Dynamic Performance Adjustment
EP2635948A1 (en) Method and apparatus for thermal control of processing nodes
WO2018148665A1 (en) Systems and methods for coherent power management
JP2017102790A (ja) 情報処理装置、演算処理装置および情報処理装置の制御方法
CN102221875B (zh) 微处理器、操作微处理器的方法
CN117546121A (zh) 用于通过减少每周期指令数来控制多处理器核心系统中的电流供应的系统和方法
US11169586B2 (en) Computing device and method of operating the same
US20230071427A1 (en) Providing deterministic frequency and voltage enhancements for a processor