TWI432955B - 具備可調效能之系統、以及用來調整系統的效能之方法 - Google Patents
具備可調效能之系統、以及用來調整系統的效能之方法 Download PDFInfo
- Publication number
- TWI432955B TWI432955B TW100124464A TW100124464A TWI432955B TW I432955 B TWI432955 B TW I432955B TW 100124464 A TW100124464 A TW 100124464A TW 100124464 A TW100124464 A TW 100124464A TW I432955 B TWI432955 B TW I432955B
- Authority
- TW
- Taiwan
- Prior art keywords
- busy level
- units
- operating frequency
- overall
- partial
- Prior art date
Links
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
- 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
-
- 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
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Description
本發明係有關於一系統的效能調整,尤指一種具備可調效能之系統以及用來調整系統的效能之方法。
省電一直是電子裝置諸如行動電話、個人/可攜式導航裝置(Personal/Portable Navigation Device,PND)、數位相機、個人電腦等之實施的重要議題;這個事實不論在該等電子裝置是否為可攜式的狀況下都是不變的。為了減少該等電子裝置之電力消耗,尤其是減少那些以電池供電的電子裝置之電力消耗,相關技術中傳統方法通常關注於犧牲效能來省電。然而,基於傳統方法所實現的產品會出現許多問題。例如:當一個傳統產品運作於一省電模式時,可能出現音樂播放不順暢的問題。又例如:不論電力是否充足,傳統的產品為了要達到省電的目標會在以電池供電時飽受聲音播放效能低劣之苦,令使用者感到不便。如此,相關技術未能妥善地照顧到使用者的需要,因此,需要一種新穎的方法來改善該等電子裝置之效能控制。
本發明之目的之一在於提供一種具備可調效能之系統以及用來調整系統的效能之方法,以解決上述問題。
本發明之較佳實施例中提供一種具備可調效能之系統,該系統包含有:複數個單元,其中該複數個單元中之至少一單元包含一硬體電路;至少一整體/局部忙碌等級偵測器,其包含至少一整體忙碌等級偵測器及/或至少一局部忙碌等級偵測器,其中每一整體/局部忙碌等級偵測器係用來偵測該複數個單元中之至少一部分單元之一整體/局部忙碌等級;以及一整體/局部系統效能管理器,用來依據該至少一整體/局部忙碌等級偵測器所偵測之至少一整體/局部忙碌等級來調整該系統的效能,其中基於該至少一整體/局部忙碌等級且基於關聯於該系統的效能之至少一政策,該整體/局部系統效能管理器於需要時調整該系統之至少一參數,以省電及/或確保該系統之運作,並且該至少一參數對應於該系統的效能。
本發明之較佳實施例中提供一種用來調整一系統的效能之方法,偵測該系統的複數個單元中之至少一部分單元之至少一整體/局部忙碌等級,其中該複數個單元中之至少一單元包含一硬體電路;以及依據該至少一整體/局部忙碌等級來調整該系統的效能。尤其是,依據該至少一整體/局部忙碌等級來調整該系統的效能之步驟另包含:基於該至少一整體/局部忙碌等級且基於關聯於該系統的效能之至少一政策,於需要時調整該系統之至少一參數,以省電、及/或確保該系統之運作,其中該至少一參數對應於該系統的效能。
本發明的好處之一是,基於上述之至少一整體/局部忙碌等級且基於上述之至少一政策,上述之至少一參數可予以調整,以妥善地調整該系統之效能。另外,依據某些實施例,上述之至少一參數諸如一個或多個運作頻率於需要時可予以增加以確保該等單元中之至少一部分單元之運作、或是於需要時可予以減少以省電。
在本專利說明書及後續的申請專利範圍當中使用了某些詞彙來指稱特定的元件。所屬領域中具有通常知識者應可理解,硬體製造商可能會用不同的名詞來稱呼同一個元件。本說明書及後續的申請專利範圍並不以名稱的差異來作為區分元件的方式,而是以元件在功能上的差異來作為區分的準則。在通篇說明書及後續的請求項當中所提及的「包含」係為一開放式的用語,故應解釋成「包含但不限定於」。另外,「耦接」一詞在此係包含任何直接及間接的電氣連接手段。因此,若文中描述一第一裝置耦接於一第二裝置,則代表該第一裝置可直接電氣連接於該第二裝置,或透過其他裝置或連接手段間接地電氣連接至該第二裝置。
請參考第1圖,第1圖為依據本發明一第一實施例之一種具備可調效能之系統100的示意圖。例如:系統100可為對稱多處理(Symmetric Multiprocessing,以下簡稱為「SMP」)系統或不對稱多處理(Asymmetric Multiprocessing,以下簡稱為「AMP」)系統。系統100包含:複數個單元110,其包含單元112、114、與116;至少一整體/局部忙碌等級偵測器(Global/Local Busy Level Detector,以下簡稱為「G/L-BD」),其包含至少一整體忙碌等級偵測器(Global Busy Level Detector,以下簡稱為「GBD」)、及/或至少一局部忙碌等級偵測器(Local Busy Level Detector,以下簡稱為「LBD」),諸如GBD 120以及LBD 122與124;以及一整體/局部系統效能管理器(Global/Local System Performance Manger,以下簡稱為「G/L-SPM」)130。於本實施例中,該等單元110中之至少一單元包含一硬體電路。尤其是,該等單元110中之至少一單元包含一軟體模組。例如:該等單元110中之某些單元可為硬體電路,而該些單元110中之某些單元可為軟體模組。另外,本實施例之一G/L-BD,諸如LBD 122與124以及GBD 120當中之任一者,可藉由利用硬體電路或軟體模組來實施,或藉由利用硬體電路與軟體模組之組合來實施。相仿地,G/L-SPM 130可藉由利用硬體電路或軟體模組來實施,或藉由利用硬體電路與軟體模組之組合來實施。請注意,於本實施例中,系統100可為SMP系統或AMP系統。這只是為了說明的目的而已,並非對本發明之限制。依據本實施例之某些變化例,系統100可為分散式(Distributed)系統。例如:該分散式系統可包含幾部個人電腦(Personal Computer,以下簡稱為「PC」),每部PC可視為該等單元110中之一者。尤其是,針對這些PC,可安排複數個LBD來分別偵測對應於該等PC之複數個局部忙碌等級(Local Busy Level,以下簡稱為「LBL」)。依據本實施例之某些變化例,系統100可包含執行各自的操作系統(Operating Systems,以下簡稱為「OS」)之複數個虛擬機器(Virtual Machine),其中每一虛擬機器可視為該等單元110中之一者。尤其是,針對這些虛擬機器,可安排複數個LBD來分別偵測對應於該等虛擬機器之複數個LBL。另外,於這些變化例中,在包含該等虛擬機器之系統100當中,執行該等虛擬機器之一部PC可被配置諸如第1圖所示之一GBD。
依據本實施例,每一G/L-BD(例如:GBD 120,或LBD 122與124中之任一者)係用來偵測該等單元110中之至少一部分單元(諸如該等單元110中之一個或多個單元、或該等單元110中之全部單元)之一整體/局部忙碌等級(Global/Local Busy Level,以下簡稱為「G/L-BL」),其中一G/L-BD可位於一單元之外或一單元之內。例如:本實施例之GBD 120可用來偵測該等單元110中之上述至少一部分單元之一整體忙碌等級(Global Busy Level,以下簡稱為「GBL」)且可位於該等單元110之外,而本實施例之LBD 122可用來偵測單元112之一LBL且可位於單元112之外。又例如:LBD 124可用來偵測單元114之一LBL且可位於單元114之內。在本實施例之某些變化例中,該等單元中之任一者,諸如單元112,可被動地受該LBD諸如LBD 122之偵測,且可不察覺到該LBD的存在。在本實施例之某些變化例中,該等單元中之任一者,諸如單元114,可主動地回報其忙碌等級予該LBD諸如LBD 124。在本實施例之一特例中,單元114可備有對LBD 124之控制能力。在本實施例之另一特例中,單元114可利用來自LBD 124之LBL。
另外,本實施例之G/L-SPM 130係用來依據上述之至少一G/L-BD所偵測之至少一G/L-BL調整系統100的效能。基於上述之至少一G/L-BL且基於關聯於系統100的效能之至少一政策(Policy),G/L-SPM 130可於需要時調整系統100之至少一參數,以省電及/或確保系統100之運作,其中上述之至少一參數對應於系統100的效能。尤其是,上述之至少一參數可包含系統100之至少一運作頻率。基於上述之至少一G/L-BL且基於上述之至少一政策,G/L-SPM 130可於需要時減少系統100之上述至少一運作頻率以省電。例如:在系統100係以電池供電的狀況下,當偵測到電池的電力低於一閾值時,G/L-SPM 130可減少系統100之運作頻率以省電。基於上述之至少一G/L-BL且基於上述之至少一政策,G/L-SPM 130可於需要時增加上述之至少一運作頻率以確保系統100之運作,尤其是確保該等單元110中之至少一部分單元之運作,諸如該等單元110中之一部分單元或全部單元之運作。例如:在該等單元110包含一媒體播放器且發現該媒體播放器之音樂播放不平順的狀況下,G/L-SPM 130可增加該媒體播放器之運作頻率以確保音樂播放平順。
雖然上述之至少一G/L-BD包含至少一GBD(例如GBD 120)與至少一LBD(例如LBD 122與124),這絕對不表示G/L-SPM 130應當總是利用來自每一G/L-BD之G/L-BL。另外,這絕對不表示該GBD與該LBD兩者應當總是於系統100當中同時被使用。實作上,上述之至少一G/L-BD中之一LBD可暫時地或永久地被禁能(Disable)、及/或G/L-SPM 130可暫時地或永久地在不利用來自該LBD之任何LBL的狀況下運作。相仿地,上述之至少一G/L-BD中之一GBD可暫時地或永久地被禁能、及/或G/L-SPM 130可暫時地或永久地在不利用來自該GBD之任何GBL的狀況下運作。
尤其是,上述之至少一政策可包含複數個政策,且依照該等政策中之至少一部分政策,諸如該等政策中之一部分政策或全部政策,G/L-SPM 130動態地將該運作頻率保持於其一優化值。例如:G/L-SPM 130可於一第一時期動態地將該運作頻率保持於其一第一優化值,且於一第二時期動態地將該運作頻率保持於其一第二優化值。於是,G/L-SPM 130可兼顧系統100之效能與功率耗損。
請注意,於本實施例中,改變上述之至少一運作頻率可能會影響單元112與單元114兩者的效能,故單元112與114可視為系統效能相依單元(System Performance Dependent Unit,以下簡稱為「SPDU」),這是因為它們各自的效能中之每一者係為可調整。如此,單元112的效能與單元114的效能兩者均能受G/L-SPM 130之控制。相反地,改變上述之至少一運作頻率可能不會影響單元116的效能,故單元116可視為系統效能獨立單元(System Performance Independent Unit,以下簡稱為「SPIU」),這是因為它的效能是不可調整的。如此,單元116的效能可不受G/L-SPM 130所控制。尤其是,一SPIU諸如單元116可擁有其自己的運作頻率,這運作頻率是獨立於上述之至少一運作頻率。這只是為了說明的目的而已,並非對本發明之限制。依據本實施例之某些變化例,在G/L-SPM 130藉由改變該等單元之各自的頻寬(而非藉由改變上述之至少一運作頻率)來管理整體/局部系統效能的狀況下,一SPIU諸如單元116可具有與系統100相同的運作頻率。
依據本實施例之某些變化例,不論系統100當中單元的數量、SPDU的數量、SPIU的數量、GBD的數量、與LBD的數量中之任一者改變與否,上述之至少一政策,諸如一個或多個政策,仍可使系統100之效能被妥善地調整。實作上,針對該等單元110中之一特定單元,G/L-SPM 130可決定該特定單元對該運作頻率的需求值,其中對應於該特定單元之需求值代表該特定單元要妥善地運作時對該運作頻率的數值之基本需求。例如:在該特定單元代表一軟體模組諸如一音訊播放應用程式(例如一媒體播放器)的狀況下,對應於該特定單元之該需求值代表該音訊播放應用程式要平順地播放音樂時對該運作頻率的數值之基本需求。相仿地,針對該等單元110,G/L-SPM 130可分別決定各自對該運作頻率的各個需求值。由於分別對應於該等單元110之各個需求值代表該等單元110各自的基本需求,G/L-SPM 130可基於分別對應於該等單元110之各個需求值之至少一部分需求值(例如:一部分需求值或全部需求值)對該等單元110進行效能管理。
依據該等變化例中之一者,依照上述之至少一政策中之至少一部分政策,G/L-SPM 130暫時地將該運作頻率保持於一目標值,其中該目標值是該等單元110中之至少一部分單元(例如該等單元110中之一部分單元或全部單元)各自對該運作頻率的各個需求值中之最大值。例如:來自LBD 122之LBL指出單元112對該運作頻率的需求值等於一第一值,而來自LBD 124之LBL指出單元114對該運作頻率的需求值等於一第二值,其中來自GBD 120之GBL指出該等單元110對該運作頻率的需求值等於一第三值。請注意,該等單元110對該運作頻率的需求值可用來作為單元116對該運作頻率的需求值。亦即,已知該等單元110對該運作頻率的需求值等於該第三值,單元116對該運作頻率的需求值亦可等於該第三值。在該第三值小於該第一值與該第二值中之任一者且第二值大於該第一值的狀況下,G/L-SPM 130利用該第二值作為該目標值。於是,G/L-SPM 130可確保單元112、114、與116中之每一者的運作。因此,相關技術的問題,諸如為了省電而犧牲效能(例如犧牲單元114的效能)之問題,就不再發生了。
依據該等變化例中之另一者,依照上述之至少一政策中之至少一部分政策,G/L-SPM 130暫時地將該運作頻率保持於一目標值,其中該目標值是該等單元110中之至少一部分單元各自對該運作頻率的各個需求值之總和,諸如該等單元110中之一部分單元或全部單元各自對該運作頻率的各個需求值之總和。例如:在來自LBD 122之LBL指出單元112對該運作頻率的需求值等於一第四值且來自LBD 124之LBL指出單元114對該運作頻率的需求值等於一第五值的狀況下,G/L-SPM 130利用該第四值與該第五值的總和作為該目標值。又例如:在來自LBD 122之LBL指出單元112對該運作頻率的需求值等於一第六值、來自LBD 124之LBL指出單元114對該運作頻率的需求值等於一第七值、且GBD 120指出該等單元110(尤其是單元116)對該運作頻率的需求值等於一第八值的狀況下,G/L-SPM 130利用該第六值、該第七值與該第八值的總和作為該目標值。由於藉由利用該等單元110中之至少一部分單元各自對該運作頻率的各個需求值之總和來妥善地估測該目標值,G/L-SPM 130可確保單元112、114與116中之每一者的運作。因此,相關技術的問題,諸如為了省電而犧牲效能之問題,就不再發生了。
依據該等變化例中之另一者,依照上述之至少一政策中之至少一部分政策,G/L-SPM 130可在不妨礙該等單元110中之至少一部分單元(例如該等單元110中之一部分單元或全部單元)之運作的狀況下,暫時地將該等單元110之功率耗損最小化。例如:只要不妨礙該等單元110中之至少一部分單元(例如該等單元110中之一部分單元或全部單元)的運作,G/L-SPM 130暫時地將該運作頻率減少至一可達到之最小值。這只是為了說明的目的而已,並非對本發明之限制。依據該等變化例中之另一者,依照上述之至少一政策中之至少一部分政策,G/L-SPM 130可在不嚴重地妨礙該等單元110中之至少一部分單元(例如該等單元110中之一部分單元或全部單元)之運作的狀況下,暫時地將該等單元110之功率耗損最小化。例如:只要不嚴重地妨礙該等單元110中之至少一部分單元(例如該等單元110中之一部分單元或全部單元)的運作,G/L-SPM 130暫時地將該運作頻率減少至一可達到之最小值。依據該等變化例中之另一者,依照上述之至少一政策中之至少一部分政策,G/L-SPM 130可暫時地將該運作頻率保持於一可達到之最大值。例如:G/L-SPM 130暫時地將該運作頻率增加至一可達到之最大值,以達到所需的效能。
第2圖為依據本發明一實施例之一種用來調整一系統的效能之方法910的流程圖。該方法可應用於第1圖所示之系統100,尤其是上述該等G/L-BD 120至124、及/或G/L-SPM 130。另外,該方法可藉由利用第1圖所示之系統100來實施,尤其是藉由利用上述該等G/L-BD 120至124、及/或G/L-SPM 130來實施。該方法說明如下:
於步驟912中,上述之至少一G/L-BD偵測系統100的複數個單元中之至少一部分單元之至少一G/L-BL,諸如上述該等單元110中之至少一部分單元之至少一G/L-BL。尤其是,GBD 120可偵測該等單元110中之上述至少一部分單元之GBL,而LBD 122與124可分別偵測單元112與114各自的LBL。
於步驟914中,G/L-SPM 130依據上述之至少一G/L-BL調整系統100的效能。尤其是,基於上述之至少一G/L-BL且基於關聯於系統100的效能之至少一政策,G/L-SPM 130於需要時調整系統100之至少一參數,以省電、及/或確保系統100之運作,其中上述之至少一參數對應於系統100的效能。
尤其是,步驟914所述之至少一參數可包含系統100之至少一運作頻率,諸如第1圖所示實施例當中所述之至少一參數。基於上述之至少一G/L-BL且基於上述之至少一政策,G/L-SPM 130於需要時減少上述系統100之至少一運作頻率以省電。例如:當一G/L-BL達到一預定閾值時,G/L-SPM 130可決定需要減少該運作頻率,其中該預定閾值可關聯於一個或多個政策。另外,基於上述之至少一G/L-BL且基於上述之至少一政策,G/L-SPM 130於需要時增加該運作頻率以確保系統100之運作,尤其是確保該等單元110中之至少一部分單元之運作。例如:當一G/L-BL達到一預定閾值時,G/L-SPM 130可決定需要增加該運作頻率,其中該預定閾值可關聯於一個或多個政策。這只是為了說明的目的而已,並非對本發明之限制。依據本實施例之某些變化例,步驟914所述之至少一參數可包含該等單元110中之該至少一部分單元之至少一頻寬。尤其是,上述之至少一頻寬可對應於該等單元110中之該至少一部分單元分別使用系統100中之一中央處理單元(Central Processing Unit,以下簡稱為「CPU」)的時間。
依據本實施例,該GBL可從各種偵測來取得。例如:該GBL可對應於至少一CPU之閒置時間(例如,於步驟912中,系統100當中該等單元中之上述至少一部分單元包含該CPU),尤其是可對應於該CPU所虛擬執行之閒置任務(Idle Task)之至少一閒置時期(例如一個或多個閒置時期)。在上述之至少一CPU包含複數個CPU的狀況下,GBD的數量可等同於CPU的數量,其中該等GBD係用來偵測分別對應於該等CPU各自的閒置時間之各個GBL。請注意,某些實施例(例如第2圖所示實施例之某些變化例)中之該等GBL可藉由觀測時脈或觀測傳輸頻寬(例如,觀測是否存在任何資料傳輸運作、及/或觀測至少一資料傳輸運作之至少一時期)來予以偵測。在其它例子中,該GBL可對應於該等單元110中之上述至少一部分單元之至少一閒置時間,諸如該CPU之閒置時間、該等單元110中之全部單元的整體閒置時間(例如當該等單元110皆不忙碌時的整體閒置時間)、或該等單元110各自的閒置時間。在該GBL對應於該等單元110各自的閒置時間之狀況下,該等單元110可分別回報它們的閒置時間(尤其是,當它們分別不用該CPU時的閒置時間)予G/L-SPM 130、或者G/L-SPM 130可偵測該等單元110各自的閒置時間,因此,G/L-SPM 130可依據該等閒置時間來決定該GBL。
實作上,上述之至少一GBD諸如GBD 120可利用系統100中之一週期性/非週期性量測裝置(例如計時器)來偵測或計算該GBL。另外,該LBL可對應於系統100中之一儲存模組中之資料佔有(Data Occupation)程度,其中該儲存模組係用來暫時地儲存該等單元中之至少一單元當中傳送的資料、或暫時地儲存傳送至/傳送予該至少一單元的資料。請注意,針對該儲存模組之實施有許多選擇。例如:該儲存模組可為一緩衝器。又例如:該儲存模組可為一佇列(Queue)。又例如:該儲存模組可為一先進先出(First In First Out,FIFO)儲存器(例如一先進先出記憶體),其可簡稱為「FIFO」。又例如:該儲存模組可為一管道(Pipe)。藉由妥善地將一LBD關聯至對應於系統100當中一單元之一儲存模組,該單元之LBL可被正確地偵測或計算。
在本實施例之一特例中,當該等單元110中之一特定單元之LBL達到一預定閾值且因此指出需要增加該運作頻率,G/L-SPM 130可增加該運作頻率。尤其是,依據該特定單元相較於其它單元之優先順序,G/L-SPM 130可決定是否優先考慮該LBL。如此,依據該等單元110中之某些特定單元之各自的優先順序,G/L-SPM 130決定是否優先考慮該等特定單元之各自的LBL。例如:在一第一單元對應於相較其它單元更高之優先順序的狀況下,G/L-SPM 130優先利用該第一單元之LBL來決定於此狀況下是否改變或如何改變該運作頻率。又例如:在一第一單元對應於相較其它單元更高之優先順序且該第一單元之LBL指出針對該運作頻率之不同的改變方向(例如增加或減少該運作頻率)之狀況下,G/L-SPM 130僅僅利用該第一單元之LBL來決定於此狀況下是否改變或如何改變該運作頻率。這只是為了說明的目的而已,並非對本發明之限制。在本實施例之某些變化例中,在一第一單元對應於相較其它單元更高之優先順序且G/L-SPM 130已經決定該第一單元對該運作頻率之需求值的狀況下,G/L-SPM 130可將該運作頻率設定為對應於該第一單元之需求值。
在本實施例之不同的特例中,上述之至少一運作頻率的實施可予以變化。例如:上述之至少一運作頻率可包含至少一CPU運作頻率(例如至少一CPU之至少一運作頻率,諸如一個或多個CPU之運作頻率)、及/或至少一週邊裝置運作頻率(例如至少一週邊裝置之至少一運作頻率,諸如一個或多個週邊裝置之運作頻率)。為了調整該運作頻率,可對一時脈進行調整。例如:該CPU運作頻率之調整可藉由調整該CPU之時脈來達成;該週邊裝置運作頻率之調整可藉由調整該週邊裝置之時脈來達成。為了省電及/或確保該系統之運作,除了運作頻率之外,亦可針對運作電壓進行調整。例如:減少運作電壓可降低功率耗損,而增加運作電壓更能確保該系統之運作。在某些實施例中,該系統及/或該等單元中之至少一部分單元的運作電壓之調整可藉由調整該系統及/或該等單元中之至少一部分單元之至少一壓降轉換器(Buck Converter,以下簡稱為「BK」)電壓(例如:一BK諸如直流對直流轉換器(DC-to-DC Converter)之電壓)及/或至少一低壓差穩壓器(Low Drop-Out Regulator,以下簡稱為「LDO」)電壓(例如:一LDO之電壓)來達成。
第3A圖為第1圖所示之系統100於一實施例中的實施細節,其中本實施例是第1圖所示實施例之變化例。因應架構上的改變,標號100代換為100A。在此,本實施例之該等單元包含複數個軟體模組諸如複數個任務(Task)310,尤其是內建(Built-In)任務T(1)、T(2)、T(3)與T(n)以及非內建(Non-Built-In)任務T(A)、T(B)與T(m)。於運作時間(Run Time)執行一OS之CPU 305亦可執行該等軟體模組諸如任務310。另外,上述之GBD 120可代換為GBD 320,且LBD 122與124可代換為LBD 322與324,其中本實施例之LBD 322可為針對動態影像專家群體(Moving Picture Experts Group,以下簡稱為「MPEG」)處理之一LBD,而本實施例之LBD 324可為針對音訊處理之一LBD。此外,G/L-SPM 130可代換為G/L-SPM 330。系統100A之運作說明如下:
GBD 320係用來偵測任務310之一GBL,而LBD 322係用來偵測針對MPEG處理之內建任務T(2)(標示為「MPEG內建任務」)之一LBL,且LBD 324係用來偵測針對音訊處理之內建任務T(1)(標示為「音訊內建任務」)之一LBL。實作上,該GBL可藉由量測任務310當中閒置任務T(L)之某(些)閒置時期來予以偵測,且該等LBL可藉由量測關聯於內建任務T(1)與T(2)之各個輸出緩衝器的吞吐量(Throughput)來予以偵測。在此,當閒置任務T(L)被執行,它表示系統100正閒置著。更明確而言,本實施例之閒置任務T(L)可為系統100之閒置任務。另外,G/L-SPM 330可重新安排該等單元當中或該等單元之一個或多個任務以調整系統100A之效能。
請注意,針對改變上述之至少一運作頻率諸如一個或多個運作頻率之實施,在此提出一新穎的動態電壓與頻率調節(Dynamic Voltage and Frequency Scaling,以下簡稱為「DVFS」)方案,其異於相關技術中之任一者(若存在),且可應用於系統100A。基於上述之至少一G/L-BL(例如來自GBD 320之GBL,以及分別來自LBD 322與324之LBL)且基於上述之至少一政策,該一個或多個運作頻率可予以調整,以調整系統100A之效能。由於將本實施例之該DVFS方案應用於系統100A,該一個或多個運作頻率於需要時可予以增加以確保該等單元中之至少一部分單元之運作、或是於需要時可予以減少以省電。這只是為了說明的目的而已,並非對本發明之限制。為了調整該運作頻率,可針對一時脈予以調整。例如:CPU 305的運作頻率之調整可藉由調整供予CPU 305之時脈來達成;任務310的運作頻率之調整可藉由調整分別供予它們之各個時脈來達成。為了省電及/或確保該系統之運作,除了運作頻率之外,亦可針對運作電壓進行調整。例如:減少運作電壓可降低功率耗損,而增加運作電壓較能確保該系統之運作。在某些實施例中,該系統及/或該等單元中之至少一部分單元之運作電壓之調整可藉由調整該系統及/或該等單元中之至少一部分單元之至少一BK電壓(例如:一BK諸如DC-to-DC之電壓)及/或至少一LDO電壓(例如:一LDO之電壓)來達成。
於本實施例中,G/L-SPM 330包含一計時器型(Timer-Based)DVFS模組(以下簡稱為「T-DVFS模組」)332與一緩衝器型(Buffer-Based)DVFS模組(以下簡稱為「B-DVFS模組」)334,用來控制該一個或多個運作頻率。尤其是,該T-DVFS模組係用來依據本實施例之GBL來控制該一個或多個運作頻率,其中該GBL係藉由量測該閒置任務之某(些)閒置時間而偵測到的;並且,依據由量測相關輸出緩衝器的吞吐量所分別偵測到之各個LBL,該B-DVFS模組可控制該一個或多個運作頻率。
請注意,只要不妨礙系統100A的運作,該第一實施例的某些變化例諸如以上揭露者之相關實施方法可分別應用於本實施例。為了簡明起見,本實施例與前述實施例/變化例相仿之處不再重複贅述。
第3B圖為第1圖所示之系統100於一實施例中的實施細節,其中本實施例是第1圖所示實施例之變化例,且是第3A圖所示實施例之變化例。因應架構上的改變,標號100代換為100B。在此,本實施例之該等單元可包含複數個硬體電路,諸如前級(Front Stage)312-1、解多工器312-2、視訊解碼器312-3、視訊/音訊同步電路312-4、顯示電路312-5、視訊輸出電路312-6、音訊輸出電路312-7、以及分別關聯於前級312-1、解多工器312-2、視訊解碼器312-3、視訊/音訊同步電路312-4與顯示電路312-5之緩衝器314-1、314-2、314-3、314-4與314-5。另外,本實施例之該等單元可另包含複數個軟體模組,諸如核心(Core)模組316-1與音訊解碼器316-2,其中該複數個硬體電路包含分別關聯於核心模組316-1與音訊解碼器316-2之緩衝器318-1與318-2。尤其是,該等緩衝器均為FIFO。這只是為了說明的目的而已,並非對本發明之限制。依據本實施例之某些變化例,該等單元中之一部分單元當中起初以硬體電路實施者(例如視訊解碼器312-3)可改以軟體模組(而非硬體電路)來實施。依據本實施例之某些變化例,該等單元中之一部分單元當中起初以軟體模組實施者(例如音訊解碼器316-2)可改以硬體電路(而非軟體模組)來實施。
系統100B當中的G/L-SPM 330之計時器型控制機制(以下簡稱為「TC機制」)近似於系統100A當中之TC機制,其中系統100B當中G/L-SPM 330之緩衝器型控制機制(以下簡稱為「BC機制」)說明如下。G/L-SPM 330可控制前級312-1、解多工器312-2、視訊解碼器312-3、視訊/音訊同步電路312-4、顯示電路312-5、視訊輸出電路312-6、音訊輸出電路312-7、緩衝器314-1、314-2、314-3、314-4與314-5、核心模組316-1、音訊解碼器316-2、以及緩衝器318-1與318-2等諸多模組/元件/電路中之至少一部分(例如一部分或全部)。請參考第3B圖,緩衝器314-1、314-2與318-1中之每一者的兩端未加陰影,這表示它們的資料輸入速度與資料輸出速度兩者均未固定。另外,緩衝器314-4與314-5中之每一者的兩端加上陰影,這表示它們的資料輸入速度與資料輸出速度兩者均是固定的。此外,緩衝器314-3與318-2中之每一者的輸入端未加陰影而緩衝器314-3與318-2中之每一者的輸出端加上陰影,這表示它們的資料輸入速度未固定且它們的資料輸出速度是固定的。如此,緩衝器314-3與318-2可視為即時關鍵(Real Time Critical,RT Critical)緩衝器(以下簡稱為「RTCR緩衝器」)。於本實施例中,緩衝器314-3與318-2可視為RTCR緩衝器的重要原因是:緩衝器314-3與318-2的不當控制可導致音訊/視訊播放不平順、及/或音訊/視訊播放延遲。例如:在緩衝器314-3與318-2中之一者於音訊/視訊播放期間暫時地空著(例如其內資料用盡)的狀況下,可能出現某些異常播放現象。
更明確而言,緩衝器314-3是一視訊RTCR緩衝器,且緩衝器318-2是一音訊RTCR緩衝器。依據本實施例,GBD 320係用來偵測系統100B當中該等單元中之該至少一部分單元之一GBL,而LBD 322係用來偵測緩衝器314-3之一LBL,且LBD 324係用來偵測緩衝器318-2之一LBL。亦即,LBD 322與324兩者被用來偵測這些RTCR緩衝器各自的LBL。於系統100B之運作期間,在一個或多個RTCR緩衝器之緩衝佔用率(Occupancy)大於一預定閾值的狀況下,該等相關的LBL可能指出上述之至少一運作頻率諸如一個或多個運作頻率可被減少,因此,G/L-SPM 330可減少該一個或多個運作頻率,以便(舉例而言)減少該一個或多個RTCR緩衝器之資料輸入速度。相反地,在一個或多個RTCR緩衝器之緩衝佔用率小於一預定閾值的狀況下,相關的LBL可能指出上述之至少一運作頻率諸如一個或多個運作頻率可被增加,因此,G/L-SPM 330可增加該一個或多個運作頻率,以便(舉例而言)增加該一個或多個RTCR緩衝器之資料輸入速度。這只是為了說明的目的而已,並非對本發明之限制。依據本實施例之某些變化例,G/L-SPM 330依據該等RTCR緩衝器之資料輸入/輸出速度(而非任何RTCR緩衝器之緩衝佔用率)來決定是否增加/減少該一個或多個運作頻率。例如:針對該等RTCR緩衝器中之一特定RTCR緩衝器,當資料輸入速度大於資料輸出速度加上一預定值(例如一正的預定值),G/L-SPM 330可減少該一個或多個運作頻率,以便(舉例而言)減少該特定RTCR緩衝器之資料輸入速度。又例如:針對該等RTCR緩衝器中之一特定RTCR緩衝器,當資料輸入速度小於資料輸出速度減去一預定值(例如一正的預定值,諸如上述正的預定值),G/L-SPM 330可增加該一個或多個運作頻率,以便(舉例而言)增加該特定RTCR緩衝器之資料輸入速度。
如此,藉由利用對應於該等LBL之BC機制與對應於該GBL之TC機制,系統100B之效能可妥善地調整。基於上述之至少一G/L-BL(例如來自GBD 320之GBL,以及分別來自LBD 322與324之LBL)且基於上述之至少一政策,該一個或多個運作頻率可被優化,以調整系統100B之效能。由於將本實施例之該DVFS方案應用於系統100B,該一個或多個運作頻率於需要時可予以增加以確保該等單元中之至少一部分單元之運作、或是於需要時可予以減少以省電。
請注意,只要不妨礙系統100B之運作,該第一實施例的某些變化例諸如以上揭露者之相關實施方法可分別應用於本實施例。為了簡明起見,本實施例與前述實施例/變化例相仿之處不再重複贅述。
第3C圖為第1圖所示之系統100於一實施例中的實施細節,其中本實施例是第1圖所示實施例之變化例,且是第3A圖與第3B圖所示實施例中之任一者之變化例。因應架構上的改變,標號100代換為100C。
某些內建多媒體任務諸如內建多媒體任務#1與內建多媒體任務#2被作為任務310的例子。於本實施例中,內建多媒體任務#1、內建多媒體任務#2、與某(些)其它任務不同時存在。這只是為了說明的目的而已,並非對本發明之限制。依據本實施例之某些變化例,內建多媒體任務#1、內建多媒體任務#2、與某(些)其它任務可同時存在。依據本實施例之某些變化例,內建多媒體任務#1、內建多媒體任務#2、與某(些)其它任務等諸多任務中之至少一部分任務(例如一部分任務或全部任務)可處於一暫停(Suspended)模式。請參考第3C圖,可選用的各階電壓與頻率繪示於縱軸附近,而橫軸t代表時間軸。T-DVFS模組332收集整體忙碌資訊以進行計時器型任務負載預測且因此偵測或計算該GBL。如第3C圖所示,內建多媒體任務#1之開始時間點與內建多媒體任務#2之結束時間點之間的時期被作為用來偵測或計算該GBL的監控時期之例子。另外,B-DVFS模組334收集局部忙碌資訊以進行緩衝器型任務負載預測且因此偵測或計算該等LBL。於本實施例中,G/L-SPM 330包含一DVFS控制模組338,其中在G/L-SPM 330之內或之外可提供一個列有可選用的各階電壓與頻率之對照表336。DVFS控制模組338可從對照表336取得針對DVFS選擇之用的功率資訊,且可另從T-DVFS模組332與B-DVFS模組334分別取得針對DVFS需求的歷史資訊。請注意,閉迴路控制可藉由利用該歷史資訊來實施。這只是為了說明的目的而已,並非對本發明之限制。依據本實施例之某些變化例,開迴路控制可藉由忽略該歷史資訊來實施。一般而言,依據本實施例及其變化例當中之任一者,基於針對DVFS選擇之用的功率資訊(例如對照表336的內容)、來自T-DVFS模組332之GBL、來自B-DVFS模組334之LBL、以及來自T-DVFS模組332與B-DVFS模組334之針對DVFS需求的歷史資訊(該歷史資訊為非必須(Optional)選項),DVFS控制模組338可從該等可選用的各階電壓與頻率決定供下一次使用之某階電壓及/或某階頻率。
請注意,只要不妨礙系統100C的運作,該第一實施例的某些變化例諸如以上揭露者之相關實施方法可分別應用於本實施例。為了簡明起見,本實施例與前述實施例/變化例相仿之處不再重複贅述。
第3D圖為第1圖所示之系統100於一實施例中的實施細節,其中本實施例是第1圖所示實施例之變化例,且是第3A圖至第3C圖所示實施例中之任一者之變化例。因應架構上的改變,標號100代換為100D。尤其是,系統100D可用來實施一低電力架構。
如第3D圖所示,系統100D可分成複數層,其中該等層包含一應用程式(Application)層、一應用程式框架(Application Framework)層、一函式庫(Library)層、一核(Kernel)層、與一硬體平台(Hardware Platform)層。該應用程式層中可存在一個或多個應用程式。如第3D圖所示,該函式庫層可包含一媒體框架(Media Framework),其包含核心模組316-1與可選用的其它模組,且該函式庫層可另包含一個或多個其它框架與一政策模組(Policy Module)。另外,該核層可包含一音訊驅動程式、一視訊驅動程式、其它多媒體驅動程式與其它驅動程式,其中這些驅動程式可視為上述之該等單元,此外,該核層亦包括複數個LBD、一GBD 320與一G/L-SPM 330。符號「PLL」與「PMIC」分別代表該硬體平台層中之某些硬體電路諸如鎖相迴路與功率管理積體電路。此外,本實施例之這些驅動程式之每一者具有一相關的LBD。
請注意,只要不妨礙系統100D的運作,該第一實施例的某些變化例諸如以上揭露者之相關實施方法可分別應用於本實施例。為了簡明起見,本實施例與前述實施例/變化例相仿之處不再重複贅述。
第3E圖為第1圖所示之系統100於一實施例中的實施細節,其中本實施例是第1圖所示實施例之變化例,且是第3A圖至第3D圖所示實施例中之任一者之變化例。因應架構上的改變,標號100代換為100E。
於本實施例中,上述之至少一運作頻率可包含一個或多個運作頻率,諸如一記憶體之一記憶體頻率、CPU 305之一CPU頻率、一匯流排之一匯流排頻率、一個或多個裝置之裝置頻率、與一個或多個處理器之處理器頻率。GBD 320可實施成一OS排程器(OS Scheduler)。另外,本實施例之該等單元可另包含軟體應用程式、驅動程式及/或硬體裝置。該等LBD可偵測系統100E當中各個單元之各自的LBL,尤其是對應於系統100E當中這些單元的緩衝器之各個相關的LBL。此外,系統100E當中G/L-SPM 330之TC機制近似於系統100A當中之TC機制,且系統100E當中G/L-SPM 330之BC機制近似於系統100B當中之BC機制。
請注意,只要不妨礙系統100E的運作,該第一實施例的某些變化例諸如以上揭露者之相關實施方法可分別應用於本實施例。為了簡明起見,本實施例與前述實施例/變化例相仿之處不再重複贅述。
依據第3E圖所示實施例之一變化例,系統100可為包含複數個PC之分散式系統,而這些PC中之每一者依據一個或多個運作頻率諸如第3E圖所示系統100E之該等運作頻率來運作。本變化例與前述實施例/變化例相仿之處不再重複贅述。
第4圖為第1圖所示之系統100於一實施例中的實施細節,其中本實施例是第1圖所示實施例之變化例,且是第3A圖至第3E圖所示實施例中之任一者之變化例。因應架構上的改變,標號100代換為400。如第4圖所示,系統400包含一多處理器系統410。
於本實施例中,上述該等單元可包含複數個CPU,諸如多處理器系統410中之CPU 305-1、305-2、...、與305-N。該等LBD偵測CPU 305-1、305-2、...、與305-N各自內部的LBL,且該等GBD偵測CPU 305-1、305-2、...、與305-N之某些GBL,其中該等GBD當中的某些GBD係耦接至CPU 305-1、305-2、...、與305-N,且因此可和CPU 305-1、305-2、...、與305-N互動。於本實施例中,該等GBD可藉由偵測CPU 305-1、305-2、...、與305-N之閒置時間來分別偵測CPU 305-1、305-2、...、與305-N各自的GBL。另外,CPU 305-1、305-2、...、與305-N可被動地受該等GBD之偵測。這只是為了說明的目的而已,並非對本發明之限制。依據本實施例之某些變化例,該等GBD可藉由觀測CPU 305-1、305-2、...、與305-N之閒置任務來分別偵測CPU 305-1、305-2、...、與305-N各自的GBL。例如:CPU 305-1、305-2、...、與305-N中之至少一部分CPU(例如一部分CPU或全部CPU)可被動地受該等GBD之偵測。又例如:CPU 305-1、305-2、...、與305-N之至少一部分CPU(例如一部分CPU或全部CPU)可主動地回報它們的忙碌等級予相對應的GBD。
另外,系統400當中G/L-SPM 330之TC機制近似於系統100A當中之TC機制,且系統400當中G/L-SPM 330之BC機制近似於系統100B當中之BC機制。
請注意,只要不妨礙系統400的運作,該第一實施例的某些變化例諸如以上揭露者之相關實施方法可分別應用於本實施例。為了簡明起見,本實施例與前述實施例/變化例相仿之處不再重複贅述。
本發明的好處之一是,基於上述之至少一G/L-BL且基於上述之至少一政策,上述之至少一參數諸如上述之至少一運作頻率可予以調整,以妥善地調整該系統之效能。另外,依據某些實施例,上述之至少一運作頻率諸如一個或多個運作頻率於需要時可予以增加以確保該等單元中之至少一部分單元之運作、或是於需要時可予以減少以省電。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100,100A,100B,100C,100D,100E,400...具備可調效能之系統
110,112,114,116...單元
120,320...整體忙碌等級偵測器
122,124,322,324...局部忙碌等級偵測器
130,330...整體/局部系統效能管理器
305,305-1,305-2,...,305-N...中央處理單元
310,T(1),T(2),T(3),T(n),T(A),T(B),T(m),T(L),#1,#2...任務
312-1...前級
312-2...解多工器
312-3...視訊解碼器
312-4...視訊/音訊同步電路
312-5...顯示電路
312-6...視訊輸出電路
312-7...音訊輸出電路
314-1,314-2,314-3,314-4,314-5,318-1,318-2...緩衝器
316-1...核心模組
316-2...音訊解碼器
332...計時器型動態電壓與頻率調節模組
334...緩衝器型動態電壓與頻率調節模組
336...對照表
338...動態電壓與頻率調節控制模組
410...多處理器系統
910...用來調整系統的效能之方法
912,914...步驟
第1圖為依據本發明一第一實施例之一種具備可調效能之系統的示意圖。
第2圖為依據本發明一實施例之一種用來調整一系統的效能之方法的流程圖。
第3A圖至第3E圖為第1圖所示之系統於某些實施例中的實施細節。
第4圖為第1圖所示之系統於一實施例中的實施細節。
100...具備可調效能之系統
110,112,114,116...單元
120...整體忙碌等級偵測器
122...局部忙碌等級偵測器
130...整體/局部系統效能管理器
Claims (42)
- 一種具備可調效能之系統,該系統包含有:複數個單元,其中該複數個單元中之至少一單元包含一硬體電路;整體忙碌等級偵測器,其中該整體忙碌等級偵測器係用來偵測該複數個單元中之一整體忙碌等級;至少一局部忙碌等級偵測器,其中每個局部忙碌等級偵測器係用來偵測該複數個單元中之至少一部分單元之一局部忙碌等級;以及一整體/局部系統效能管理器,用來依據該整體忙碌等級偵測器所偵測之該整體忙碌等級和該至少一局部忙碌等級偵測器所偵測之該至少一局部忙碌等級來調整該系統的效能,其中基於該整體忙碌等級和該至少一局部忙碌等級且基於關聯於該系統的效能之至少一政策,該整體/局部系統效能管理器於需要時調整該系統之至少一參數,以省電及/或確保該系統之運作,並且該至少一參數對應於該系統的效能。
- 如申請專利範圍第1項所述之系統,其中該複數個單元中之至少一單元包含一軟體模組。
- 如申請專利範圍第1項所述之系統,其中該至少一參數包含該系統之至少一運作頻率;基於該整體忙碌等級和該至少一局部 忙碌等級且基於該至少一政策,該整體/局部系統效能管理器於需要時減少該至少一運作頻率以省電;以及基於該整體忙碌等級和該至少一局部忙碌等級且基於該至少一政策,該整體/局部系統效能管理器於需要時增加該至少一運作頻率以確保該系統之運作。
- 如申請專利範圍第3項所述之系統,其中依照該至少一政策中之至少一部分政策,該整體/局部系統效能管理器動態地將該運作頻率保持於一優化值。
- 如申請專利範圍第3項所述之系統,其中依照該至少一政策中之至少一部分政策,該整體/局部系統效能管理器暫時地將該運作頻率保持於一目標值;以及該目標值是該複數個單元中之至少一部分單元各自對該運作頻率的各個需求值中之最大值。
- 如申請專利範圍第3項所述之系統,其中依照該至少一政策中之至少一部分政策,該整體/局部系統效能管理器暫時地將該運作頻率保持於一目標值;以及該目標值是該複數個單元中之至少一部分單元各自對該運作頻率的各個需求值之總和。
- 如申請專利範圍第1項所述之系統,其中依照該至少一政策中之至少一部分政策,該整體/局部系統效能管理器在不妨礙該複數個單元中之至少一部分單元之運作的狀況下,暫時地將該 複數個單元之功率耗損最小化。
- 如申請專利範圍第1項所述之系統,其中該至少一參數包含該系統之至少一運作頻率;以及依照該至少一政策中之至少一部分政策,該整體/局部系統效能管理器暫時地將該運作頻率保持於一可達到之最大值。
- 如申請專利範圍第1項所述之系統,其中該複數個單元中之該至少一部分單元包含一中央處理單元。
- 如申請專利範圍第9項所述之系統,其中該整體/局部系統效能管理器暫時地在不利用來自該局部忙碌等級偵測器之任何局部忙碌等級的狀況下運作。
- 如申請專利範圍第9項所述之系統,其中該至少一整體忙碌等級偵測器利用該系統中之一週期性/非週期性量測裝置來偵測或計算該整體忙碌等級。
- 如申請專利範圍第1項所述之系統,其中該至少一局部忙碌等級偵測器係用來偵測該複數個單元中之一特定單元之一局部忙碌等級。
- 如申請專利範圍第12項所述之系統,其中該整體/局部系統 效能管理器暫時地在不利用來自該整體忙碌等級偵測器之任何整體忙碌等級的狀況下運作。
- 如申請專利範圍第12項所述之系統,其中該局部忙碌等級對應於該系統中之一儲存模組中之資料佔有程度;以及該儲存模組係用來暫時地儲存該複數個單元中之至少一單元當中傳送的資料、或暫時地儲存傳送至/傳送予該至少一單元的資料。
- 如申請專利範圍第14項所述之系統,其中該儲存模組是一緩衝器、一佇列、一先進先出儲存器或一管道。
- 如申請專利範圍第12項所述之系統,其中該至少一參數包含該系統之至少一運作頻率;以及該至少一運作頻率包含至少一中央處理單元運作頻率與至少一週邊裝置運作頻率。
- 如申請專利範圍第12項所述之系統,其中該至少一參數包含該系統之至少一運作頻率;以及當該局部忙碌等級達到一預定閾值且因此指出需要增加該運作頻率,該整體/局部系統效能管理器增加該運作頻率。
- 如申請專利範圍第17項所述之系統,其中依據該特定單元相較於其它單元之優先順序,該整體/局部系統效能管理器決定是否優先考慮該局部忙碌等級。
- 如申請專利範圍第1項所述之系統,其中該整體/局部系統效能管理器重新安排該複數個單元當中或該複數個單元之一個或多個任務以調整該系統之效能。
- 如申請專利範圍第1項所述之系統,其中該系統為對稱多處理系統、不對稱多處理系統或分散式系統。
- 如申請專利範圍第1項所述之系統,其中該至少一參數包含該複數個單元中之該至少一部分單元之至少一頻寬;以及該至少一頻寬對應於該複數個單元中之該至少一部分單元分別使用該系統中之一中央處理單元的時間。
- 一種用來調整一系統的效能之方法,該方法包含有:偵測該系統之複數個單元中之整體忙碌等級;偵測該系統的該等單元中之至少一部分單元之至少一局部忙碌等級,其中該複數個單元中之至少一單元包含一硬體電路;以及依據該整體忙碌等級和該至少一局部忙碌等級來調整該系統的效能,其中依據該整體忙碌等級和該至少一局部忙碌等級來調整該系統的效能之步驟另包含:基於該整體忙碌等級和該至少一局部忙碌等級且基於關聯於該系統的效能之至少一政策,於需要時調整該系統之至少一參數,以省電及/或確保該系統之運 作,其中該至少一參數對應於該系統的效能。
- 如申請專利範圍第22項所述之方法,其中該複數個單元中之至少一單元包含一軟體模組。
- 如申請專利範圍第22項所述之方法,其中該至少一參數包含該系統之至少一運作頻率;以及依據該整體忙碌等級和該至少一局部忙碌等級來調整該系統的效能之步驟另包含:基於該整體忙碌等級與該至少一局部忙碌等級且基於該至少一政策,於需要時減少該至少一運作頻率以省電;以及基於該整體忙碌等級與該至少一局部忙碌等級且基於該至少一政策,於需要時增加該至少一運作頻率以確保該系統之運作。
- 如申請專利範圍第24項所述之方法,其中該方法另包含:依照該至少一政策中之至少一部分政策,動態地將該運作頻率保持於其一優化值。
- 如申請專利範圍第24項所述之方法,其另包含有:依照該至少一政策中之至少一部分政策,暫時地將該運作頻率保持於一目標值,其中該目標值是該複數個單元中之至少一部分單元各自對該運作頻率的各個需求值中之最大值。
- 如申請專利範圍第24項所述之方法,其另包含有:依照該至少一政策中之至少一部分政策,暫時地將該運作頻率保持於一目標值,其中該目標值是該複數個單元中之至少一部分單元各自對該運作頻率的各個需求值之總和。
- 如申請專利範圍第22項所述之方法,其另包含有:依照該至少一政策中之至少一部分政策,在不妨礙該複數個單元中之至少一部分單元之運作的狀況下,暫時地將該複數個單元之功率耗損最小化。
- 如申請專利範圍第22項所述之方法,其中該至少一參數包含該系統之至少一運作頻率;以及該方法另包含:依照該至少一政策中之至少一部分政策,暫時地將該運作頻率保持於一可達到之最大值。
- 如申請專利範圍第22項所述之方法,其中該複數個單元中之該至少一部分單元包含一中央處理單元。
- 如申請專利範圍第30項所述之方法,其另包含有:暫時地在不利用任何局部忙碌等級的狀況下運作。
- 如申請專利範圍第30項所述之方法,其中偵測該整體忙碌等級之步驟另包含: 利用該系統中之一週期性/非週期性量測裝置來偵測或計算該整體忙碌等級。
- 如申請專利範圍第22項所述之方法,其中偵測該至少一局部忙碌等級之步驟另包含:偵測該複數個單元中之一特定單元之一局部忙碌等級。
- 如申請專利範圍第33項所述之方法,其另包含有:暫時地在不利用任何整體忙碌等級的狀況下運作。
- 如申請專利範圍第33項所述之方法,其中該局部忙碌等級對應於該系統中之一儲存模組中之資料佔有程度;以及該儲存模組係用來暫時地儲存該複數個單元中之至少一單元當中傳送的資料、或暫時地儲存傳送至/傳送予該至少一單元的資料。
- 如申請專利範圍第35項所述之方法,其中該儲存模組是一緩衝器、一佇列、一先進先出儲存器、或一管道。
- 如申請專利範圍第33項所述之方法,其中該至少一參數包含該系統之至少一運作頻率;以及該至少一運作頻率包含至少一中央處理單元運作頻率與至少一週邊裝置運作頻率。
- 如申請專利範圍第33項所述之方法,其中該至少一參數包含 該系統之至少一運作頻率,以及該方法另包含:當該局部忙碌等級達到一預定閾值且因此指出需要增加該運作頻率,增加該運作頻率。
- 如申請專利範圍第38項所述之方法,其另包含有:依據該特定單元相較於其它單元之優先順序,決定是否優先考慮該局部忙碌等級。
- 如申請專利範圍第22項所述之方法,其另包含有:重新安排該複數個單元當中或該複數個單元之一個或多個任務以調整該系統之效能。
- 如申請專利範圍第22項所述之方法,其中該系統為對稱多處理系統、不對稱多處理系統或分散式系統。
- 如申請專利範圍第22項所述之方法,其中該至少一參數包含該複數個單元中之該至少一部分單元之至少一頻寬;以及該至少一頻寬對應於該複數個單元中之該至少一部分單元分別使用該系統中之一中央處理單元的時間。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/855,707 US20120042313A1 (en) | 2010-08-13 | 2010-08-13 | System having tunable performance, and associated method |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201207611A TW201207611A (en) | 2012-02-16 |
TWI432955B true TWI432955B (zh) | 2014-04-01 |
Family
ID=45565724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100124464A TWI432955B (zh) | 2010-08-13 | 2011-07-11 | 具備可調效能之系統、以及用來調整系統的效能之方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20120042313A1 (zh) |
CN (1) | CN102375528A (zh) |
TW (1) | TWI432955B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI470402B (zh) * | 2012-04-25 | 2015-01-21 | Academia Sinica | 行動裝置cpu工作頻率控制方法 |
TWI477754B (zh) * | 2012-07-30 | 2015-03-21 | Universal Cement Corp | 壓力偵測電路 |
WO2014209023A1 (en) * | 2013-06-25 | 2014-12-31 | Samsung Electronics Co., Ltd. | Dynamic voltage/frequency scaling for video processing using embedded complexity metrics |
US9609329B2 (en) | 2013-06-25 | 2017-03-28 | Samsung Electronics Co., Ltd | Dynamic voltage/frequency scaling for video processing using embedded complexity metrics |
US9866846B2 (en) | 2014-10-14 | 2018-01-09 | Samsung Electronics Co., Ltd. | Method and apparatus for video processing with complexity information |
KR102375925B1 (ko) * | 2015-08-31 | 2022-03-17 | 삼성전자주식회사 | Cpu의 작동 방법과 상기 cpu를 포함하는 시스템의 작동 방법 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5218704A (en) * | 1989-10-30 | 1993-06-08 | Texas Instruments | Real-time power conservation for portable computers |
US6158012A (en) * | 1989-10-30 | 2000-12-05 | Texas Instruments Incorporated | Real-time power conservation and thermal management for computers |
US5396635A (en) * | 1990-06-01 | 1995-03-07 | Vadem Corporation | Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system |
US6192479B1 (en) * | 1995-01-19 | 2001-02-20 | Texas Instruments Incorporated | Data processing with progressive, adaptive, CPU-driven power management |
US5719800A (en) * | 1995-06-30 | 1998-02-17 | Intel Corporation | Performance throttling to reduce IC power consumption |
US5745375A (en) * | 1995-09-29 | 1998-04-28 | Intel Corporation | Apparatus and method for controlling power usage |
US7010708B2 (en) * | 2002-05-15 | 2006-03-07 | Broadcom Corporation | Method and apparatus for adaptive CPU power management |
US7539885B2 (en) * | 2000-01-13 | 2009-05-26 | Broadcom Corporation | Method and apparatus for adaptive CPU power management |
KR100361340B1 (ko) * | 2000-05-15 | 2002-12-05 | 엘지전자 주식회사 | 씨피유 클럭 제어 방법 |
US7032119B2 (en) * | 2000-09-27 | 2006-04-18 | Amphus, Inc. | Dynamic power and workload management for multi-server system |
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 |
US7058824B2 (en) * | 2001-06-15 | 2006-06-06 | Microsoft Corporation | Method and system for using idle threads to adaptively throttle a computer |
US7171570B2 (en) * | 2001-11-16 | 2007-01-30 | Apple Computer, Inc. | Method and apparatus for selectively increasing the operating speed of an electronic circuit |
US6996728B2 (en) * | 2002-04-26 | 2006-02-07 | Hewlett-Packard Development Company, L.P. | Managing power consumption based on utilization statistics |
US7043649B2 (en) * | 2002-11-20 | 2006-05-09 | Portalplayer, Inc. | System clock power management for chips with multiple processing modules |
US20040205757A1 (en) * | 2003-04-09 | 2004-10-14 | Pering Trevor A. | Performance scheduling using multiple constraints |
US7146514B2 (en) * | 2003-07-23 | 2006-12-05 | Intel Corporation | Determining target operating frequencies for a multiprocessor system |
US7219245B1 (en) * | 2004-06-03 | 2007-05-15 | Advanced Micro Devices, Inc. | Adaptive CPU clock management |
US8250394B2 (en) * | 2006-03-31 | 2012-08-21 | Stmicroelectronics International N.V. | Varying the number of generated clock signals and selecting a clock signal in response to a change in memory fill level |
KR20090005921A (ko) * | 2007-07-10 | 2009-01-14 | 삼성전자주식회사 | 대칭적 다중 프로세서 시스템에서의 로드 밸런싱 방법 및장치 |
-
2010
- 2010-08-13 US US12/855,707 patent/US20120042313A1/en not_active Abandoned
-
2011
- 2011-07-11 TW TW100124464A patent/TWI432955B/zh not_active IP Right Cessation
- 2011-07-14 CN CN2011101969305A patent/CN102375528A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN102375528A (zh) | 2012-03-14 |
US20120042313A1 (en) | 2012-02-16 |
TW201207611A (en) | 2012-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI432955B (zh) | 具備可調效能之系統、以及用來調整系統的效能之方法 | |
KR102114453B1 (ko) | 모바일 장치 및 그것의 제어 방법 | |
US11853809B2 (en) | Systems, methods and devices for determining work placement on processor cores | |
US9753771B2 (en) | System-on-chip including multi-core processor and thread scheduling method thereof | |
US8924758B2 (en) | Method for SOC performance and power optimization | |
JP6249953B2 (ja) | ヘテロジニアスマルチプロセッサシステムオンチップにおける熱駆動作業負荷スケジューリング | |
TWI260543B (en) | Performance scheduling method and system, and computer readable medium | |
US11113113B2 (en) | Systems and methods for scheduling virtual memory compressors | |
US8775834B2 (en) | Methods and apparatuses for controlling thread contention | |
TWI610161B (zh) | 處理器溫度之均衡控制及儲存可執行指令的電腦可讀媒體 | |
US7584312B2 (en) | Data processing apparatus having improved buffer management | |
CN110637271B (zh) | 用于对便携式计算设备中的沉浸式多媒体工作负载的智能调整的系统和方法 | |
TWI472914B (zh) | 具有可移除式非揮發性半導體記憶體模組之硬碟驅動器、硬碟總成、膝上型電腦和用於非揮發性半導體記憶體模組移除檢測之硬碟控制器積體電路 | |
JP5743245B2 (ja) | 性能スケーリングアルゴリズムのセットを公開して管理するためのモバイルデバイスおよび方法 | |
US8072459B2 (en) | Data processing unit with multi-graphic controller and method for processing data using the same | |
US8726055B2 (en) | Multi-core power management | |
US10372494B2 (en) | Thread importance based processor core partitioning | |
KR102169692B1 (ko) | 멀티-코어 프로세서를 포함하는 시스템 온 칩 및 그것의 동적 전력 관리 방법 | |
JP2008059054A (ja) | プロセッサシステム | |
JP2012150815A (ja) | 複数の回路における性能パラメータの整合 | |
JP2013222321A (ja) | メモリ制御装置、メモリ制御方法、情報処理装置、およびプログラム | |
US9753531B2 (en) | Method, apparatus, and system for energy efficiency and energy conservation including determining an optimal power state of the apparatus based on residency time of non-core domains in a power saving state | |
US20140089694A1 (en) | Dynamically controlling power based on work-loop performance | |
US10402413B2 (en) | Hardware accelerator for selecting data elements | |
US20140181550A1 (en) | System having tunable performance, and associated method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |