TWI724021B - 操作cpu的方法以及操作具有該cpu之系統的方法 - Google Patents
操作cpu的方法以及操作具有該cpu之系統的方法 Download PDFInfo
- Publication number
- TWI724021B TWI724021B TW105127973A TW105127973A TWI724021B TW I724021 B TWI724021 B TW I724021B TW 105127973 A TW105127973 A TW 105127973A TW 105127973 A TW105127973 A TW 105127973A TW I724021 B TWI724021 B TW I724021B
- Authority
- TW
- Taiwan
- Prior art keywords
- idle
- core
- work process
- processing unit
- central processing
- 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
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- 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/3243—Power saving in microcontroller unit
-
- 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/329—Power saving characterised by the action undertaken by task scheduling
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
-
- 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)
- Software Systems (AREA)
- Power Sources (AREA)
- Microcomputers (AREA)
Abstract
一種操作中央處理單元的方法,中央處理單元包括用於儲存負載追蹤器及增強器的記憶體及用於執行負載追蹤器及增強器的核心,方法包括:由負載追蹤器判斷是否在核心中執行空閒任務;由負載追蹤器產生對應於判斷的結果的事件;由負載追蹤器廣播所產生的事件至增強器;以及由增強器基於事件設定核心的服務品質最小值。操作中央處理單元的方法可更包括:當中央處理單元被初始化時,由負載追蹤器在空閒模組中登記空閒開始工作進程回叫及空閒結束工作進程回叫;且當中央處理單元被初始化時,由負載追蹤器產生空閒開始工作進程及空閒結束工作進程。
Description
本發明概念的實施例是有關於一種操作中央處理單元(central processing unit,CPU)的方法,且更具體而言是有關於能夠調整中央處理單元的服務品質(quality of service,QoS)的操作中央處理單元的方法、及一種操作包括所述中央處理單元的系統的方法。
本申請案主張於2015年8月31日提出申請的韓國專利申請案第10-2015-0122353號的優先權,所述韓國專利申請案的揭露內容全文併入本案供參考。
微處理器、特別是行動應用處理器使用對操作頻率進行動態改變的技術(例如,動態頻率縮放(dynamic frequency scaling,DFS)技術或動態電壓頻率縮放(dynamic voltage and
frequency scaling,DVFS)技術)來滿足效能及低功率兩方面的需求。微處理器使用各種策略來調整操作時脈訊號的頻率。行動環境可對欲使用的功率量施加限制且可使得易受熱損壞,且因此所述策略會約束微處理器的效能,且微處理器被設計成使功耗及發熱最小化。
在先前技術的微處理器中使用的動態電壓頻率縮放的動態電壓頻率縮放管控器被最佳化成限制在微處理器中消耗的功率,進而使得即便在某一任務連續使用微處理器的最大可用效能時微處理器的操作頻率亦不立即增大至最大操作頻率。
本發明概念的技術目的是提供一種操作中央處理單元的方法及一種操作包括所述中央處理單元的系統的方法,所述操作中央處理單元的方法可自動感測何時急需高效能並可根據所述感測的結果來自動設定服務品質最小值。
本發明概念的示例性實施例是有關於一種操作中央處理單元的方法,所述中央處理單元包括用於儲存第一負載追蹤器及增強器的第一記憶體以及用於執行所述第一負載追蹤器及所述增強器的第一核心,其中所述方法包括:由所述第一負載追蹤器判斷是否在所述第一核心中執行第一空閒任務;由所述第一負載追蹤器產生對應於所述判斷的結果的第一事件;由所述第一負載追蹤器廣播所產生的第一事件至所述增強器;以及由所述增強器基
於所述第一事件設定所述第一核心的服務品質(QoS)最小值。
所述操作中央處理單元的方法可更包括:當所述中央處理單元被初始化時,由所述第一負載追蹤器在空閒模組中登記空閒開始工作進程回叫及空閒結束工作進程回叫;以及當所述中央處理單元被初始化時,由所述第一負載追蹤器產生空閒開始工作進程及空閒結束工作進程。
所述操作中央處理單元的方法可更包括:當所述中央處理單元被初始化時,由所述增強器設定所述空閒開始工作進程的第一到期時間及所述空閒結束工作進程的第二到期時間。
所述方法可更包括:當執行所述第一空閒任務時,由所述空閒模組調用所述空閒開始工作進程回叫;以及當所述第一空閒任務結束時,由所述空閒模組調用所述空閒結束工作進程回叫。
所述方法可更包括:當執行所述第一空閒任務時,由所述空閒開始工作進程回叫對所述空閒開始工作進程進行排程;以及當所述第一空閒任務結束時,由所述空閒結束工作進程回叫對所述空閒結束工作進程進行排程。
所述方法可更包括當執行所述第一空閒任務時,由所述空閒開始工作進程回叫取消在工作隊列中存在的前一空閒結束工作進程的排程。
所述由所述第一負載追蹤器產生所述第一事件可包括:當經過所述第一到期時間時,由所述空閒開始工作進程產生指示所述服務品質最小值減小的所述第一事件;以及當經過所述第二
到期時間時,由所述空閒結束工作進程取消所述空閒開始工作進程的排程並產生指示所述服務品質最小值增大的所述第一事件。
所述操作中央處理單元的方法可更包括:由所述增強器基於所設定服務品質最小值向服務品質控制器輸出用於所述第一核心的動態電壓頻率縮放(DVFS)的控制訊號;以及由所述服務品質控制器因應於所述控制訊號而產生與所述第一核心的操作時脈訊號的頻率控制相關的頻率控制訊號以及與所述第一核心的操作電壓的控制相關的電壓控制訊號。
所述中央處理單元可更包括用於儲存第二負載追蹤器的第二記憶體及用於執行所述第二負載追蹤器的第二核心,且所述操作中央處理單元的方法可更包括:由所述第二負載追蹤器判斷是否在所述第二核心中執行第二空閒任務;由所述第二負載追蹤器產生對應於所述判斷的結果的第二事件;由所述第二負載追蹤器廣播所產生的第二事件至在所述第一核心中執行的所述增強器;以及由所述增強器基於所述第一事件及所述第二事件而設定所述第一核心的服務品質最小值及所述第二核心的服務品質最小值。
所述操作中央處理單元的方法可更包括基於所述第一核心的所設定服務品質最小值及所述第二核心的所設定服務品質最小值而將指派至所述第一核心的任務強制性地指派至所述第二核心。
本發明概念的示例性實施例是有關於一種操作系統晶片
的方法,所述系統晶片包括:中央處理單元,具有用於儲存第一負載追蹤器、增強器、及服務品質控制器的第一記憶體,且更具有用於執行所述第一負載追蹤器、所述增強器、及所述服務品質控制器的第一核心;時脈管理單元;以及電力管理單元。所述操作系統晶片的方法包括:由所述第一負載追蹤器判斷是否在所述第一核心中執行第一空閒任務;由所述第一負載追蹤器產生對應於所述判斷的結果的第一事件;由所述第一負載追蹤器廣播所產生的第一事件至所述增強器;由所述增強器基於所述第一事件而設定所述第一核心的服務品質(QoS)最小值;由所述服務品質控制器產生頻率控制訊號及電壓控制訊號;以及由所述時脈管理單元因應於所述頻率控制訊號而控制被供應至所述第一核心的第一時脈訊號的第一頻率;以及由所述電力管理單元因應於所述電壓控制訊號而產生用於控制電力管理積體電路供應第一操作電壓至所述第一核心的控制訊號。
所述操作系統晶片的方法可更包括:當所述中央處理單元被初始化時,由所述第一負載追蹤器在空閒模組中登記空閒開始工作進程回叫及空閒結束工作進程回叫;以及當所述中央處理單元被初始化時,由所述第一負載追蹤器產生空閒開始工作進程及空閒結束工作進程。
所述方法可更包括:當執行所述第一空閒任務時,由所述空閒模組調用所述空閒開始工作進程回叫;以及當所述第一空閒任務結束時,由所述空閒模組調用所述空閒結束工作進程回叫。
所述方法可更包括:當執行所述第一空閒任務時,由所述空閒開始工作進程回叫取消在工作隊列中存在的前一空閒結束工作進程的排程;由所述空閒開始工作進程回叫確定所述空閒開始工作進程的排程先決條件;以及當滿足所述排程先決條件時,由所述空閒開始工作進程回叫對所述空閒開始工作進程進行排程。所述排程先決條件可包括:其中所述空閒開始工作進程及所述空閒結束工作進程均不待決的情形;並且可包括其中所述空閒開始工作進程不待決且所述第一核心被增強的情形。
所述方法可更包括:當所述第一空閒任務結束時,由所述空閒結束工作進程回叫確定所述空閒結束工作進程的排程先決條件;以及當滿足所述排程先決條件時,由所述空閒結束工作進程回叫對所述空閒結束工作進程進行排程。所述排程先決條件可包括其中所述空閒結束工作進程不待決且所述空閒開始工作進程待決的情形,並且可包括其中所述空閒結束工作進程不待決且所述第一核心不被增強的情形。
所述中央處理單元可更包括用於儲存第二負載追蹤器的第二記憶體及用於執行所述第二負載追蹤器的第二核心,且所述方法可更包括:由所述第二負載追蹤器判斷是否在所述第二核心中執行第二空閒任務;由所述第二負載追蹤器產生對應於所述判斷的結果的第二事件;由所述第二負載追蹤器廣播所產生的第二事件至在所述第一核心中執行的所述增強器;由所述增強器基於所述第一事件及所述第二事件而設定所述第一核心的所設定服務
品質最小值及所述第二核心的所設定服務品質最小值;由所述服務品質控制器基於所述第一核心的所述所設定服務品質最小值及所述第二核心的所述所設定服務品質最小值而輸出所述頻率控制訊號及所述電壓控制訊號;由所述時脈管理單元因應於所述頻率控制訊號而控制所述第一頻率及被供應至所述第二核心的第二時脈訊號的第二頻率;以及由所述電力管理單元因應於所述電壓控制訊號而輸出用於控制所述電力管理積體電路供應所述第一操作電壓及供應第二操作電壓至所述第二核心的所述控制訊號。
本發明概念的示例性實施例是有關於一種操作計算系統的方法,所述計算系統包括:中央處理單元,具有用於儲存第一負載追蹤器、增強器、及服務品質控制器的第一記憶體,且更具有用於執行所述第一負載追蹤器、所述增強器、及所述服務品質控制器的第一核心;時脈管理單元;電力管理單元;以及電力管理積體電路,且所述方法包括:由所述第一負載追蹤器判斷是否在所述第一核心中執行第一空閒任務;由所述第一負載追蹤器產生對應於所述判斷的結果的第一事件;由所述第一負載追蹤器廣播所產生的第一事件至所述增強器;由所述增強器基於所述第一事件而設定所述第一核心的服務品質最小值;由所述服務品質控制器基於所設定服務品質最小值而產生第一頻率控制訊號及第一電壓控制訊號;由所述時脈管理單元因應於所述第一頻率控制訊號而控制被供應至所述第一核心的第一時脈的第一頻率;由所述電力管理單元因應於所述第一電壓控制訊號而輸出第一控制訊號
至所述電力管理積體電路;以及由所述電力管理積體電路因應於所述第一電壓控制訊號而控制被供應至所述第一核心的第一操作電壓。
所述操作計算系統的方法可更包括:當所述中央處理單元被初始化時,由所述第一負載追蹤器在空閒模組中登記空閒開始工作進程回叫及空閒結束工作進程回叫;以及當所述中央處理單元被初始化時,由所述第一負載追蹤器產生空閒開始工作進程及空閒結束工作進程。
所述中央處理單元更包括用於儲存第二負載追蹤器的第二記憶體及用於執行所述第二負載追蹤器的第二核心,且所述操作所述計算系統的方法更包括:由所述第二負載追蹤器判斷是否在所述第二核心中執行第二空閒任務;由所述第二負載追蹤器產生對應於所述判斷的結果的第二事件;由所述第二負載追蹤器廣播所產生的第二事件至在所述第一核心中執行的所述增強器;由所述增強器基於所述第一事件及所述第二事件而設定所述第一核心的服務品質最小值及所述第二核心的服務品質最小值;由所述服務品質控制器基於所述第一核心的所設定服務品質最小值及所述第二核心的所設定服務品質最小值而產生第二頻率控制訊號及第二電壓控制訊號;由所述時脈管理單元因應於所述第二頻率控制訊號而控制被供應至所述第一核心的所述第一時脈訊號的所述第一頻率及被供應至所述第二核心的第二時脈訊號的第二頻率;由所述電力管理單元因應於所述第二電壓控制訊號而向所述電力
管理積體電路輸出第二控制訊號;以及由所述電力管理積體電路因應於所述第二控制訊號而控制被供應至所述第一核心的所述第一操作電壓及被供應至所述第二核心的第二操作電壓。
本發明概念的示例性實施例是有關於一種方法,所述方法包括:中央處理單元(CPU)監測所述中央處理單元的第一核心的第一空閒任務的狀態;至少部分地基於所述中央處理單元的所述第一核心的所述第一空閒任務的所述所監測狀態而設定所述中央處理單元的增強水準;以及由時脈管理單元因應於所述增強水準而控制所述第一核心的第一操作時脈訊號的第一頻率。
所述方法亦可包括:所述中央處理單元(CPU)監測所述中央處理單元的第二核心的第二空閒任務的狀態;至少部分地基於所述中央處理單元的所述第一核心的所述第一空閒任務的所述所監測狀態以及所述中央處理單元的所述第二核心的所述第二空閒任務的所述所監測狀態而設定所述中央處理單元的所述增強水準;以及由所述時脈管理單元因應於所述增強水準而控制所述第一核心的所述第一操作時脈訊號的所述第一頻率及所述第二核心的第二操作時脈訊號的第二頻率。
所述方法亦可包括:基於所述中央處理單元的所述第一核心的所述第一空閒任務的所述所監測狀態而設定所述第一核心的服務品質(QoS)最小值;以及因應於所述第一核心的所述服務品質最小值而控制被供應至所述第一核心的第一操作電壓。
所述方法亦可包括:所述中央處理單元(CPU)監測所
述中央處理單元的第二核心的第二空閒任務的狀態;基於所述中央處理單元的所述第二核心的所述第二空閒任務的所述所監測狀態而設定所述中央處理單元的所述第二核心的服務品質(QoS)最小值;以及因應於所述第二核心的所述服務品質最小值而控制被供應至所述第二核心的第二操作電壓。
一種電腦可包括所述中央處理單元、用於與至少一個記憶體裝置進行通訊的至少一個記憶體介面、以及輸入/輸出介面。在此種情形中,所述方法亦可包括因應於所述增強水準而調整以下中的至少一者:所述記憶體介面的記憶體介面時脈的頻率、及所述輸入/輸出介面的輸入/輸出時脈的頻率。
100:電腦系統
200:控制電路/配置要素
201:匯流排
210:中央處理單元/配置要素
210A、210B:中央處理單元
210-1:第一核心/核心
210-2:第二核心/核心
210-3:第三核心/核心
210-4:第四核心/核心
211:核心
213:第一記憶體裝置/指令快取/層1快取/快取
215:第二記憶體裝置/資料快取/層1快取/快取
220:時脈控制單元/時脈管理單元
230:電力管理單元
240:圖形處理單元/配置要素/周邊裝置
250:第一記憶體介面/配置要素/記憶體介面/周邊裝置
260:第二記憶體介面/配置要素/記憶體介面/周邊裝置
265:輸入/輸出介面/配置要素/周邊裝置
270:電力管理積體電路
280:第一記憶體裝置/配置要素
290:第二記憶體裝置/配置要素
300:服務品質控制模組
301:不需要進行增強的任務
303:需要進行增強的任務
310:負載追蹤器
310A:負載追蹤器
310-1:第一負載追蹤器/配置要素/負載追蹤器
310-2:第二負載追蹤器/配置要素/負載追蹤器
310-3:第三負載追蹤器/配置要素/負載追蹤器
310-4:第四負載追蹤器/配置要素/負載追蹤器
311:空閒開始工作進程
313:空閒結束工作進程
330:增強器/配置要素
330A:增強器
330-1:主回路
330-2:系統檔案
330-3:參數
331:事件接收器
333:增強開始器
335:增強結束器
337:配置要素/服務品質相關系統檔案
340:服務品質控制器/配置要素
340A:服務品質控制器
341:動態電壓頻率縮放管控器
343:時脈管理單元驅動器
345:電力管理單元驅動器
350:配置要素/空閒模組
350A:空閒模組
350-1:空閒模組/配置要素/第一空閒模組
350-2:空閒模組/配置要素/第二空閒模組
350-3:空閒模組/配置要素/第三空閒模組
350-4:空閒模組/配置要素/第四空閒模組
351:空閒開始工作進程回叫
353:空閒結束工作進程回叫
370:空閒任務
371:執行/開始
373:空閒狀態
375:結束
380:配置要素/工作隊列
380-1:/工作隊列/配置要素/第一工作隊列
380-2:工作隊列/配置要素/第二工作隊列
380-3:工作隊列/配置要素/第三工作隊列
380-4:工作隊列/配置要素/第四工作隊列
381:空閒開始工作進程
382:配置檔案
383:空閒結束工作進程
384:排程器
CLK1:第一時脈訊號/時脈訊號
CLK1_1、CLK1_2、CLK1_3、CLK1_4:時脈訊號
CLK2:第二時脈訊號/時脈訊號
CLK3:第三時脈訊號/時脈訊號
CLK4:第四時脈訊號/時脈訊號
CLK5:時脈訊號/第五時脈訊號
CORE1:第一核心
CORE2:第二核心
CORE3:第三核心
CTR:控制訊號
CTR_C:時脈控制訊號/控制訊號/頻率控制訊號
CTR_P:電力控制訊號/控制訊號
D-Cache:資料快取
ETH:增強結束臨限時間/空閒開始工作進程的逾時時間/空閒開始工作進程的到期時間
EVENT:事件/減小指令事件/增大指令事件
EVENT1:事件/減小指令事件
EVENT2:事件/增大指令事件
EVENTA:減小指令事件/增大指令事件/事件
EVENTB:減小指令事件/增大指令事件/事件
EVENTC:減小指令事件/增大指令事件/事件
EVENTD:減小指令事件/增大指令事件/事件
I-Cache:指令快取
INT1、INT2:中斷
LV1:水準-1
LV2:水準-2
PW1:第一操作電壓/操作電壓
PW1_1、PW1_2、PW1_3、PW1_4:操作電壓
PW2:第二操作電壓/操作電壓
PW3:第三操作電壓/操作電壓
PW4:第四操作電壓/操作電壓
PW5:第五操作電壓/操作電壓
PW6:操作電壓
S110、S112、S114、S116、S118:過程
S210、S220、S222、S224、S226、S230、S232、S234、S236、S240、S242:過程
S310、S312、S314、S316、S318、S320、S322、S324、S326、S328、S330、S332、S340、S342、S344、S346、S348、S350、S352:過程
S410、S412、S414、S416、S418、S420、S422、S424:過程
S510、S512、S514、S516、S518、S520、S522、S524、S526、S528、S530、S532:過程
S610、S612、S614、S615、S618、S620:過程
STH:增強開始臨限時間/空閒結束工作進程的逾時時間/空閒
結束工作進程的到期時間
T1:第一時間
T2:第二時間
T3:第三時間
T4:第四時間
T5:第五時間
T6:第六時間
T7:第七時間
T8:第八時間
藉由結合附圖閱讀對實施例的以下說明,本發明總體發明概念的該些及/或其他態樣及優點將變得顯而易見且更易於理解,在附圖中:圖1是根據本發明概念示例性實施例的電腦系統的方塊圖。
圖2說明圖1中所示中央處理單元的示例性實施例。
圖3示出由圖1中所示中央處理單元執行的軟體組件。
圖4是用於闡述根據本發明概念示例性實施例進行的增強的概念圖。
圖5是闡述藉由圖3中所示軟體組件而實行的控制服務品質最小值的方法的流程圖。
圖6是闡述藉由圖3中所示軟體組件而實行的控制服務品質最小值的方法的示例性實施例的流程圖。
圖7及圖8是闡述藉由圖3中所示軟體組件而實行的控制服務品質最小值的方法的示例性實施例的流程圖。
圖9說明圖2中所示服務品質控制器的示例性實施例。
圖10說明圖1中所示中央處理單元的示例性實施例。
圖11是闡述利用圖10中所示中央處理單元而實行的控制增強水準的方法的概念圖。
圖12是闡述利用圖10中所示中央處理單元而實行的控制增強水準的方法的概念圖。
圖13是闡述利用由圖10中所示中央處理單元執行的軟體組件來控制服務品質最小值的方法的概念圖。
圖14、圖15、及圖16是闡述利用由圖10中所示中央處理單元執行的軟體組件來控制服務品質最小值的方法的示例性實施例的流程圖。
圖17是程式碼的示例性實施例,其用於闡述在圖3中所示空閒模組中登記空閒工作進程回叫的過程。
圖18是程式碼的示例性實施例,其用於闡述在圖3中所示空閒模組中登記的空閒工作進程回叫中對空閒開始工作進程及空閒結束工作進程實行的排程過程及取消過程。
現在將詳細參照本發明總體發明概念的實施例,在附圖中對所述實施例的實例加以說明,其中在所有附圖中相同的參考編號指代相同的元件。以下闡述所述實施例是為了藉由參照圖式來闡釋本發明總體發明概念。
根據本發明概念的示例性實施例是有關於用於提高中央處理單元(CPU)的效能的方法。根據示例性實施例,所述中央處理單元可包括一或多個核心。根據示例性實施例,所述核心中的每一者可共用一個半導體基板(或一個半導體晶片),且可被實施於不同的半導體晶片中。此處,核心可指代處理器或處理器核心。
根據是否執行空閒任務來設定中央處理單元或包括中央處理單元的電腦系統的服務品質(QoS)最小值在本文中可指代用於提高中央處理單元或電腦系統的效能的操作。所述設定服務品質最小值在本文中可包括設定中央處理單元或包括中央處理單元的電腦系統的增強水準。此處,所述設定可包括改變具體值的程式或所述具體值。當排程器被調用時,若沒有任務處於準備就緒狀態,則可執行空閒任務。此處,服務品質可指代動態電壓頻率縮放(DVFS),且服務品質最小值可指代動態電壓頻率縮放的最小操作頻率及最小操作電壓中的至少一者。
動態電壓頻率縮放管控器可由作業系統(operating system,OS)作為對中央處理單元(或核心)的操作頻率加以改變的模組(例如,軟體或軟體組件)來執行。增強可指代以下操
作:忽略動態電壓頻率縮放管控器的管理或動態電壓頻率縮放管控器的缺設值、並迅速增大所述中央處理單元(或所述核心)的操作頻率及/或操作電壓。
因此,所增強的核心可以動態電壓頻率縮放的最大操作頻率(或對應於最大操作頻率的操作頻率)及/或最大操作電壓(或對應於最大操作電壓的操作電壓)來運作。舉例而言,當中央處理單元執行基準程式(benchmark program)時,可能需要對中央處理單元進行增強。
增強在本文中可包括排程器增強及異質多處理器(heterogeneous multiprocessor,HMP)增強。所述排程器增強可指代藉由改變排程器的一或多個參數而達成的使中央處理單元的通量最大化的操作。舉例而言,排程器的參數可包括優先級(nice)、平衡間隔(balance interval)、及HZ;然而,其並不僅限於此。舉例而言,所述優先級可指代以經修改的排程優先權來運行程式,所述平衡間隔可指代用於藉由中央處理單元或核心之間的任務重新指派進行負載平衡的間隔,且HZ可指代每秒時脈律動的數目。
所述異質多處理器增強可指代將指派至低功率核心(例如,小核心)的任務強制性地指派至高效能核心(例如,大核心)的操作。
根據本發明概念示例性實施例的增強器可自至少一個負載追蹤器接收事件輸出,並基於所接收的事件來控制增強操作的
開始及結束、增強水準的改變、及/或相依於與增強相關的處理器(或由所述處理器執行的作業系統)而進行的操作。
排程在本文中可指代將逾時值(timeout value)及開始位址寫入工作隊列中的操作,且取消所述排程可指代抹除被寫入工作隊列中的逾時值及開始位址的操作。
圖1是根據本發明概念示例性實施例的電腦系統100的方塊圖。參照圖1,電腦系統100可包括控制電路200、電力管理積體電路(power management integrated circuit,PMIC)270、第一記憶體裝置280、及第二記憶體裝置290。
電腦系統100可實施於個人電腦(personal computer,PC)或行動裝置中。舉例而言,所述行動裝置可實施於以下中:膝上型電腦、行動電話、智慧型電話、平板個人電腦、個人數位助理(personal digital assistant,PDA)、企業數位助理(enterprise digital assistant,EDA)、數位照相機、數位攝像機、可攜式多媒體播放機(portable multimedia player,PMP)、個人導航裝置或可攜式導航裝置(personal navigation device/portable navigation device,PND)、手持式遊戲機(handheld game console)、行動網際網路裝置(mobile internet device,MID)、穿戴式電腦、物聯網(internet of things,IoT)裝置、萬聯網(internet of everything,IoE)裝置、無人機、或電子書(e-book)。然而,其並不僅限於此。
控制電路200可控制電力管理積體電路270、第一記憶體裝置280、及第二記憶體裝置290的操作。控制電路200可實施於
積體電路(integrated circuit,IC)、母板(motherboard)、系統晶片(system on chip,SoC)、微處理器、應用處理器(application processor,AP)、行動應用處理器、晶片組、一組半導體晶片中;然而,其並不僅限於此。
控制電路200可包括匯流排201、中央處理單元210、時脈控制單元(或時脈管理單元(clock management unit,CMU))220、電力管理單元(power management unit,PMU)230、圖形處理單元(graphic processing unit,GPU)240、第一記憶體介面250、第二記憶體介面260、及輸入/輸出(input/output,I/O)介面265。
配置要素210、240、250、260、及265可藉由匯流排201而將資料傳輸至彼此或自彼此接收資料。匯流排201可實施於以下中:進階微控制器匯流排架構(advanced microcontroller bus architecture,AMBA)、進階高效能匯流排(advanced high-performance bus,AHB)、進階周邊匯流排(advanced peripheral bus,APB)、進階可擴展介面(advanced eXtensible interface,AXI)、進階系統匯流排(advanced system bus,ASB)、進階可擴展介面一致性擴展(AXI Coherency Extensions,ACE)、或該些的組合;然而,其並不僅限於此。
中央處理單元210可包括一或多個核心。中央處理單元210可利用第一操作電壓PW1及第一時脈訊號CLK1來運作。中央處理單元210可執行本文欲闡述的軟體組件(例如,負載追蹤
器、增強器、及服務品質控制器)。根據示例性實施例,所述負載追蹤器、增強器、及服務品質控制器可實施於硬體組件中。根據示例性實施例,所述負載追蹤器、增強器、及服務品質控制器可儲存於中央處理單元210的記憶體(例如,指令快取(instruction cache))中。
中央處理單元210可利用所述軟體組件(或硬體組件)來產生時脈控制訊號CTR_C及電力控制訊號CTR_P,並且輸出時脈控制訊號CTR_C至時脈管理單元220且輸出電力控制訊號CTR_P至電力管理單元230。可將電力控制訊號CTR_P稱作電壓控制訊號。
時脈管理單元220可利用時脈控制訊號CTR_C來控制相應時脈訊號CLK1至CLK5的頻率。相應時脈訊號CLK1至CLK5的頻率可彼此相同或彼此不同。
電力管理單元230可利用電力控制訊號CTR_P來產生控制訊號CTR並輸出控制訊號CTR至電力管理積體電路270。電力管理積體電路270可利用控制訊號CTR來控制相應操作電壓PW1至PW6的位準。相應操作電壓PW1至PW6的位準可彼此相同或彼此不同。電力管理積體電路270可利用控制訊號CTR來控制被供應至配置要素200、280、及290中的每一者的操作電壓的位準。頻率的控制或位準的控制可包括增大、維持、或減小。控制訊號CTR_C、CTR_P、及CTR中的每一者可包括一或多個訊號(例如,類比訊號或數位訊號)。
根據時脈管理單元220及電力管理單元230的控制,可實行(或控制)電腦系統100的動態電壓縮放(dynamic voltage scaling,DVS)、動態頻率縮放(DFS)、或動態電壓頻率縮放(DVFS)。
圖形處理單元240可利用第二操作電壓PW2及第二時脈訊號CLK2來處理圖形資料。所述圖形資料可包括二維(2D)圖形資料及/或三維(3D)圖形資料。
第一記憶體介面250可利用第三操作電壓PW3及第三時脈訊號CLK3來對在匯流排201與第一記憶體裝置280之間傳輸或接收的資料進行處理(或介接)。第一記憶體介面250可充當記憶體控制器。第一記憶體裝置280可實施於隨機存取記憶體(random access memory,RAM)、動態隨機存取記憶體(dynamic RAM,DRAM)、或靜態隨機存取記憶體(static RAM,SRAM)中;然而,其並不僅限於此。
第二記憶體介面260可利用第四操作電壓PW4及第四時脈訊號CLK4來對在匯流排201與第二記憶體裝置290之間傳輸或接收的資料進行處理(或介接)。第二記憶體介面260可充當記憶體控制器。第二記憶體裝置290可實施於非揮發性記憶體裝置中。所述非揮發性記憶體裝置可實施於快閃式儲存器中;然而,其並不僅限於此。舉例而言,所述快閃式儲存器可實施於固態驅動機或固態碟(solid-state drive/solid-state disk,SSD)、嵌式固態驅動機或嵌式固態碟(embedded SSD,eSSD)、通用快閃儲存器
(universal flash storage,UFS)、多媒體卡(multimedia card,MMC)、嵌式多媒體卡(embedded MMC,eMMC)、或經管理反及閘(managed NAND)中;然而,其並不僅限於此。
輸入/輸出介面265可利用第五操作電壓PW5及第五時脈訊號CLK5來將資料傳輸至外部裝置或自外部裝置接收資料。輸入/輸出介面265可實施於串列周邊介面(Serial Peripheral Interface,SPI)、積體電路間通訊(Inter Integrated Circuit Communications,I2C)、串列進階技術附接(Serial Advanced Technology Attachment,SATA)、快速串列進階技術附接(SATA express,SATAe)、串列附接小電腦系統介面(small computer system interface,SCSI)(serial attached SCSI,SAS)、或能夠支援快速周邊組件互連(peripheral component interconnect express,PCIe)的介面或行動行業處理器介面(Mobile Industry Processor Interface,MIPI®)中;然而,其並不僅限於此。
圖2說明中央處理單元210A,中央處理單元210可為圖1中所示中央處理單元210的示例性實施例。根據圖1中所示中央處理單元210的示例性實施例的中央處理單元210A可包括一個核心211、以及第一記憶體裝置213及第二記憶體裝置215。核心211可控制第一記憶體裝置213及第二記憶體裝置215中的每一者的操作。第一記憶體裝置213可包括指令快取213,且第二記憶體裝置215可包括資料快取215。儘管圖2中示出層1(level-one)快取213及215,然而快取213及215中的每一者可實施於層2
(level-two)快取中。
圖2中亦示出根據本發明概念示例性實施例的服務品質控制模組300。服務品質控制模組300可包括負載追蹤器310、增強器330、及服務品質控制器340。如圖3中所示,服務品質控制模組300可更包括配置要素337、350、及380。
服務品質控制模組300可調整中央處理單元210A的服務品質,而無需修正動態頻率縮放策略或動態電壓頻率縮放策略,在所述動態電壓頻率縮放策略中,藉由當急需高效能時(例如,當執行基準程式時)自動感測所述基準程式的執行、並提高中央處理單元210/210A、控制電路200、或電腦系統100的效能來將功率最佳化。可將所述策略稱作管控器。
服務品質控制模組300可基於中斷(interrupt)來感測負載或任務的發生,而不依賴於週期性輪詢(periodic polling)。所述中斷可由使用者對電腦系統100進行的輸入、計時器的輸出、及來自另一核心的訊號輸出來產生。服務品質控制模組300可基於中斷來感測核心211無停歇地運作的時間及核心211停歇的時間,而無需進行輪詢。
圖3示出由圖1中所示中央處理單元210執行的軟體組件。如以上所述,服務品質控制模組300可包括負載追蹤器310、增強器330、及服務品質控制器340-其均示出於圖3中。根據示例性實施例,服務品質控制模組300可更包括服務品質相關系統檔案337、空閒模組350、及工作隊列380-亦示出於圖3中。負
載追蹤器310可判斷是否在核心211中執行空閒任務370,產生對應於所述判斷的結果的事件EVENT1或EVENT2,並廣播事件EVENT1或EVENT2至增強器330。增強器330可基於事件EVENT1或EVENT2來設定核心211的服務品質最小值。
圖4是用於闡述根據本發明概念示例性實施例進行的增強的概念圖。
參照圖4,參考編號301指代不需要進行增強的任務,且參考編號303指代需要進行增強的任務。就增強方面而言,STH表示增強開始臨限時間且ETH表示增強結束臨限時間。就空閒任務而言,STH表示空閒結束工作進程的逾時時間或空閒結束工作進程的到期時間,且ETH表示空閒開始工作進程的逾時時間或空閒開始工作進程的到期時間。
如圖4中所示,當核心211執行不需要進行增強的任務301時,則不對核心211進行增強。然而,當空閒時間即便在核心211進入空閒狀態中時仍為短的時(例如,當所述時間較STH短時),則可維持對核心211的增強。亦即,當增強核心211時,服務品質控制模組300可設定服務品質最小值。
圖5是闡述可藉由圖3中所示軟體組件而實行的控制服務品質最小值的方法的示例性實施例的流程圖。參照圖3至圖5,由核心211執行的服務品質控制模組300(例如,負載追蹤器310)可判斷是否執行空閒任務370(S110)。
當執行空閒任務370(圖3所示的371或S110中的「是」)
時,則負載追蹤器310可產生指示增強結束或增強水準減小的減小指令事件EVENT1(S112)。當不執行空閒任務370時(S110中的「否」)(例如,當空閒任務370完成(圖3所示的375)時),則負載追蹤器310可產生指示增強開始或增強水準增大的增大指令事件EVENT2(S114)。
服務品質控制模組300(例如,增強器330)可因應於減小指令事件EVENT1或增大指令事件EVENT2而設定服務品質最小值或用於控制增強(或增強水準)的增強控制值(S116)。亦即,增強器330可剖析減小指令事件EVENT1或增大指令事件EVENT2,並將對應於所述剖析的結果的值儲存於服務品質相關系統檔案337中。服務品質控制器340可基於儲存於服務品質相關系統檔案337中的增強控制值或服務品質最小值而產生用於增強控制或服務品質最小值控制的控制訊號(S118)。舉例而言,所述控制訊號可包括頻率控制訊號CTR_C及電力控制訊號CTR_P。服務品質相關系統檔案337可指代用於儲存與所述剖析的結果對應的效能相關參數或值的電腦檔案。
圖6是闡述可藉由圖3中所示軟體組件而實行的控制服務品質最小值的方法的示例性實施例的流程圖。參照圖3及圖6,負載追蹤器310可判斷空閒任務370是否開始(S210)。
當空閒任務370開始(圖3所示的371或S210中的「是」)時,則儲存於空閒模組350中的空閒開始工作進程回叫351可取消儲存於工作隊列380中的前一空閒結束工作進程的排程(或計
時器的逾時時間或到期時間)(S220)。然而,當所述前一空閒結束工作進程不存在於工作隊列380中時,則可省略(或跳過)過程S220。
空閒開始工作進程回叫351可對空閒開始工作進程311進行排程(S222)。因此,對應於空閒開始工作進程311的空閒開始工作進程381可在工作隊列380中進行排程或排隊。舉例而言,空閒開始工作進程回叫351可設定空閒開始工作進程311或381的計時器的逾時時間或到期時間。
工作隊列380可判斷在空閒開始工作進程381中設定的到期時間是否到期(或經過所述到期時間)(S224)。當所述到期時間未到期或未經過所述到期時間(S224中的「否」)時,則工作隊列380可重複或連續執行過程S224。然而,當所述到期時間到期或經過所述到期時間(S224中的「是」)時,則空閒開始工作進程311或381可產生指示增強結束或增強水準減小的減小指令事件EVENT1,並廣播減小指令事件EVENT1至增強器330(S226)。
增強器330可因應於減小指令事件EVENT1而設定服務品質最小值或用於控制增強(或增強水準)的增強控制值(S240)。亦即,增強器330可剖析減小指令事件EVENT1並將對應於所述剖析的結果的值儲存於服務品質相關系統檔案337中。服務品質控制器340可基於儲存於服務品質相關系統檔案337中的增強控制值或服務品質最小值而產生用於增強控制或服務品質最小值控制的控制訊號(S242)。舉例而言,所述控制訊號可包括頻率控制
訊號CTR_C及/或電力控制訊號CTR_P。
當處於空閒狀態373中的空閒任務370結束(圖3所示的375或S210中的「否」)時,則儲存於空閒模組350中的空閒結束工作進程回叫353可對空閒結束工作進程313進行排程(S230)。因此,對應於空閒結束工作進程313的空閒結束工作進程383可在工作隊列380中進行排程或排隊。舉例而言,空閒結束工作進程回叫353可設定空閒結束工作進程383的計時器的逾時時間或到期時間。
工作隊列380可判斷在空閒結束工作進程383中設定的到期時間是否到期(或經過所述到期時間)(S232)。當所述到期時間未到期或未經過所述到期時間(S232中的「否」)時,則工作隊列380可重複或連續執行過程S232。
然而,當所述到期時間到期或經過所述到期時間(S232中的「是」)時,則空閒結束工作進程313或383可取消空閒開始工作進程311或381的排程(或計時器的逾時值或到期時間)(S234)。空閒結束工作進程313或383可產生指示增強開始或增強水準增大的增大指令事件EVENT2,並廣播增大指令事件EVENT2至增強器330(S236)。
增強器330可因應於增大指令事件EVENT2而設定用於控制增強(或增強水準)的服務品質最小值或增強控制值(S240)。亦即,增強器330可剖析增大指令事件EVENT2,並將對應於所述剖析的結果的值儲存於服務品質相關系統檔案337中。服務品
質控制器340可基於儲存於服務品質相關系統檔案337中的增強控制值或服務品質最小值而產生用於增強控制或服務品質最小值控制的控制訊號(S242)。舉例而言,所述控制訊號可包括頻率控制訊號CTR_C及/或電力控制訊號CTR_P。
圖7及圖8是闡述可藉由圖3中所示軟體組件而實行的控制服務品質最小值的方法的示例性實施例的流程圖。
參照圖1、圖3、圖7、及圖8,當電腦系統100被初始化或啟動(S310)時,則負載追蹤器310可在空閒模組350中登記空閒回叫(例如,空閒開始工作進程回叫351及空閒結束工作進程回叫353)(S312)。在啟動(S310)期間,負載追蹤器310可產生空閒開始工作進程311及空閒結束工作進程313。在啟動(S310)期間,增強器330可設定由負載追蹤器310產生的空閒開始工作進程311及空閒結束工作進程313中的每一者的逾時時間或到期時間。
當執行空閒任務370(圖3所示的371或圖7所示的S314)時,則空閒模組350可感測藉由空閒任務370的執行371而產生的中斷INT1並調用空閒開始工作進程回叫351(S316)。
當工作隊列380中存在排隊的空閒結束工作進程時,空閒開始工作進程回叫351可取消或抹除空閒結束工作進程的排程(在計時器中設定的逾時時間或到期時間)(S318)。空閒開始工作進程回叫351可確定空閒開始工作進程311或381的排程先決條件(S320),且當滿足所述先決條件時,則空閒開始工作進程回
叫351可對空閒開始工作進程311或381進行排程(S322)。
舉例而言:(1)當工作隊列380中的空閒開始工作進程不待決且工作隊列380中的空閒結束工作進程不待決時、或(2)當工作隊列380中的空閒開始工作進程不待決且核心211被增強時,則空閒開始工作進程回叫351可對空閒開始工作進程311或381進行排程(S322)。
工作隊列380可判斷在空閒開始工作進程381中設定的到期時間是否到期(或經過所述到期時間)(S324)。當所述到期時間未到期或未經過所述到期時間(S324中的「否」)時,則工作隊列380可實行過程S324。然而,當所述到期時間到期或經過所述到期時間(S324中的「是」)時,則空閒開始工作進程311或381可產生指示增強結束或增強水準減小的減小指令事件EVENT1,並廣播減小指令事件EVENT1至增強器330(S326)。
增強器330的事件接收器331可因應於減小指令事件EVENT1而調用增強結束器335(S328)。舉例而言,增強器330可剖析減小指令事件EVENT1並根據剖析結果來調用增強結束器335(S328)。增強結束器335可將服務品質相關系統檔案337中的服務品質相關參數設定為預定義的(S330)。服務品質控制器340可基於儲存於服務品質相關系統檔案337中的增強控制值或服務品質最小值而產生用於增強控制或服務品質最小值控制的控制訊號(S332)。舉例而言,所述控制訊號可包括頻率控制訊號CTR_C及/或電力控制訊號CTR_P。隨著空閒任務370被執行,電腦系統
100可維持空閒任務370的空閒(或空閒狀態)(圖3所示的373)。當空閒任務370結束(圖3所示的375或圖7所示的S340)時,則空閒模組350可感測藉由空閒任務370的結束(圖3所示的375)而產生的中斷INT2並調用空閒結束工作進程回叫353(S342)。
空閒結束工作進程回叫353可確定空閒結束工作進程313或383的排程先決條件(S344),且當滿足所述先決條件時,則空閒結束工作進程回叫353可對空閒結束工作進程313或383進行排程(S346)。
舉例而言:(1)當空閒結束工作進程不在工作隊列380中待決且空閒開始工作進程在工作隊列380中待決時、或(2)當空閒結束工作進程不在工作隊列380中待決且核心211不被增強時,則空閒結束工作進程回叫353可對空閒結束工作進程313或383進行排程(S346)。
工作隊列380可判斷在空閒結束工作進程383中設定的到期時間是否到期(或經過所述到期時間)(S348)。當所述到期時間未到期或未經過所述到期時間(S348中的「否」)時,則工作隊列380可重複或連續執行過程S348。
然而,當所述到期時間到期或經過所述到期時間(S348中的「是」)時,則空閒結束工作進程313或383可在空閒開始工作進程在工作隊列380中排隊時取消或抹除空閒開始工作進程的排程(或在計時器中設定的逾時時間或到期時間)(S350)。
空閒結束工作進程313可產生指示增強開始或增強水準
增大的增大指令事件EVENT2並廣播增大指令事件EVENT2至增強器330(S352)。
增強器330的事件接收器331可因應於增大指令事件EVENT2而調用增強開始器333(S328)。舉例而言,增強器330可剖析增大指令事件EVENT2並根據所述剖析的結果來調用增強開始器333(S328)。增強開始器333可將服務品質相關系統檔案337中的服務品質相關參數設定為預定義的(S330)。服務品質控制器340可基於儲存於服務品質相關系統檔案337中的增強控制值或服務品質最小值而產生用於增強控制或服務品質最小值控制的控制訊號(S332)。舉例而言,所述控制訊號可包括頻率控制訊號CTR_C及/或電力控制訊號CTR_P。
圖9說明服務品質控制器340A,服務品質控制器340A可為圖2中所示服務品質控制器340的示例性實施例。根據圖2所示服務品質控制器340的示例性實施例的服務品質控制器340A可實施於動態電壓頻率縮放程式中。服務品質控制器340A可包括動態電壓頻率縮放管控器341、時脈管理單元驅動器343、及電力管理單元驅動器345。
動態電壓頻率縮放管控器341可自服務品質相關系統檔案337讀取並分析增強控制值或服務品質最小值,並且傳輸對應於所述分析的結果的分析值至時脈管理單元驅動器343及電力管理單元驅動器345。時脈管理單元驅動器343可基於所述分析值而產生頻率控制訊號CTR_C並傳輸頻率控制訊號CTR_C至時脈管
理單元220。時脈管理單元驅動器345可基於所述分析值而產生電力控制訊號CTR_P並傳輸電力控制訊號CTR_P至電力管理單元230。
圖10說明中央處理單元210B,中央處理單元210B可為圖1中所示中央處理單元210的示例性實施例。參照圖10,假定中央處理單元210B包括四個核心:分別為第一核心210-1、第二核心210-2、第三核心210-3、及第四核心210-4。然而,本發明概念的技術概念並不僅限於包含於中央處理單元210B中的核心的數目。假定中央處理單元210B包含與核心210-1、210-2、210-3、及210-4中的每一者相關的指令快取I-Cache及資料快取D-Cache,其中所述I-Cache及D-Cache包含中央處理單元210B的記憶體。
第一核心210-1可包括(或執行)第一負載追蹤器310-1、增強器330、服務品質相關系統檔案337、服務品質控制器340、空閒模組350-1、及工作隊列380-1。第一核心210-1可利用時脈訊號CLK1_1及操作電壓PW1_1來運作。舉例而言,配置要素310-1、330、337、340、350-1、及380-1中的每一者可儲存於第一核心210-1的指令快取I-Cache(即,記憶體)中,且配置要素310-1、330、337、340、350-1、及380-1中的每一者可由第一核心210-1執行。
當電腦系統100被初始化(或啟動)時,則第一負載追蹤器310-1可在第一空閒模組350-1中登記第一核心210-1的第一
空閒開始工作進程回叫及第一空閒結束工作進程回叫,並產生第一核心210-1的第一空閒開始工作進程及第一空閒結束工作進程。當電腦系統100被初始化時,則增強器330可設定第一空閒開始工作進程及第一空閒結束工作進程中的每一者的到期時間。
當在第一核心210-1中執行第一空閒任務時,則第一空閒模組350-1可調用在第一空閒模組350-1中登記的第一空閒開始工作進程回叫。當在第一核心210-1中執行第一空閒任務時,則第一空閒開始工作進程回叫可取消已經在第一工作隊列380-1中存在的空閒開始工作進程的排程。
當:(1)空閒開始工作進程不在第一工作隊列380-1中待決且空閒結束工作進程不在第一工作隊列380-1中待決時、或(2)空閒開始工作進程不在第一工作隊列380-1中待決且第一核心210-1被增強時,則第一空閒開始工作進程回叫可對第一空閒開始工作進程進行排程。
第一工作隊列380-1可判斷第一空閒開始工作進程的到期時間是否到期(或經過所述到期時間)。在第一空閒開始工作進程的到期時間到期(或經過所述到期時間)之後,所述第一空閒開始工作進程可使第一核心210-1的忙碌核心計數(busy core count)減小一,並傳輸減小指令事件EVENTA至增強器330。
當第一空閒任務的執行在第一核心210-1中結束時,則第一空閒模組350-1可調用在第一空閒模組350-1中登記的第一空閒結束工作進程回叫。
當:(1)空閒結束工作進程不在第一工作隊列380-1中待決且空閒開始工作進程在第一工作隊列380-1中待決時、或(2)空閒結束工作進程不在第一工作隊列380-1中待決且第一核心210-1不被增強時,則第一空閒結束工作進程回叫可對第一空閒結束工作進程進行排程。
第一工作隊列380-1可判斷第一空閒結束工作進程的到期時間是否到期(或經過所述到期時間)。在第一空閒結束工作進程的到期時間到期(或經過所述到期時間)之後,所述第一空閒結束工作進程可取消在第一工作隊列380-1中進行排程的空閒開始工作進程的排程,使第一核心210-1的忙碌核心計數增大一,並傳輸增大指令事件EVENTA至增強器330。
第二核心210-2可包括(或執行)第二負載追蹤器310-2、空閒模組350-2、及工作隊列380-2。第二核心210-2可利用時脈訊號CLK1_2及操作電壓PW1_2來運作。舉例而言,配置要素310-2、350-2、及380-2中的每一者可儲存於第二核心210-2的指令快取I-Cache(即,記憶體)中,且配置要素310-2、350-2、及380-2中的每一者可由如圖10中所示的第二核心210-2執行。
當電腦系統100被初始化(或啟動)時,第二負載追蹤器310-2可在第二空閒模組350-2中登記第二核心210-2的第二空閒開始工作進程回叫及第二空閒結束工作進程回叫,並產生第二核心210-2的第二空閒開始工作進程及第二空閒結束工作進程。當電腦系統100被初始化時,則第一核心210-1的增強器330可
設定第二空閒開始工作進程及第二空閒結束工作進程中的每一者的到期時間。
當在第二核心210-2中執行第二空閒任務時,則第二空閒模組350-2可調用在第二空閒模組350-2中登記的第二空閒開始工作進程回叫。當在第二核心210-2中執行第二空閒任務時,則第二空閒開始工作進程回叫可取消已在第二工作隊列380-2中存在的空閒開始工作進程的排程。
當空閒開始工作進程不在第二工作隊列380-2中待決且空閒結束工作進程不在第二工作隊列380-2中待決時、或(2)空閒開始工作進程不在第二工作隊列380-2中待決且第二核心210-2被增強時,則第二空閒開始工作進程回叫可對第二空閒開始工作進程進行排程。
第二工作隊列380-2可判斷第二空閒開始工作進程的到期時間是否到期(或經過所述到期時間)。在第二空閒開始工作進程的到期時間到期(或經過所述到期時間)之後,第二空閒開始工作進程可使第二核心210-2的忙碌核心計數減小一,並傳輸減小指令事件EVENTB至增強器330。
當第二空閒任務的執行在第二核心210-2中結束時,第二空閒模組350-2可調用在第二空閒模組350-2中登記的第二空閒結束工作進程回叫。
當:(1)空閒結束工作進程不在第二工作隊列380-2中待決且空閒開始工作進程在第二工作隊列380-2中待決時、或(2)
空閒結束工作進程不在第二工作隊列380-2中待決且第二核心210-2不被增強時,則第二空閒結束工作進程回叫可對第二空閒結束工作進程進行排程。
第二工作隊列380-2可判斷第二空閒結束工作進程的到期時間是否到期(或經過所述到期時間)。在第二空閒結束工作進程的到期時間到期(或經過所述到期時間)之後,所述第二空閒結束工作進程可取消在第二工作隊列380-2中進行排程的空閒開始工作進程的排程,使第二核心210-2的忙碌核心計數增大一,並傳輸增大指令事件EVENTB至增強器330。
第三核心210-3可包括(或執行)第三負載追蹤器310-3、空閒模組350-3、及工作隊列380-3。第三核心210-3可利用時脈訊號CLK1_3及操作電壓PW1_3來運作。舉例而言,配置要素310-3、350-3、及380-3中的每一者可儲存於第三核心210-3的指令快取I-Cache(即,記憶體)中,且配置要素310-3、350-3、及380-3中的每一者可由如圖10中所示的第三核心210-3執行。
當電腦系統100被初始化(或啟動)時,則第三負載追蹤器310-3可在第三空閒模組350-3中登記第三核心210-3的第三空閒開始工作進程回叫及第三空閒結束工作進程回叫,並產生第三核心210-3的第三空閒開始工作進程及第三空閒結束工作進程。當電腦系統100被初始化時,則增強器330可設定第三空閒開始工作進程及第三空閒結束工作進程中的每一者的到期時間。
當在第三核心210-3中執行第三空閒任務時,則第三空閒
模組350-3可調用在第三空閒模組350-3中登記的第三空閒開始工作進程回叫。當在第三核心210-3中執行第三空閒任務時,則第三空閒開始工作進程回叫可取消已在第三工作隊列380-3中存在的空閒開始工作進程的排程。
當空閒開始工作進程不在第三工作隊列380-3中待決且空閒結束工作進程不在第三工作隊列380-3中待決時、或(2)空閒開始工作進程不在第三工作隊列380-3中待決且第三核心210-3被增強時,則第三空閒開始工作進程回叫可對第三空閒開始工作進程進行排程。
第三工作隊列380-3可判斷第三空閒開始工作進程的到期時間是否到期(或經過所述到期時間)。在第三空閒開始工作進程的到期時間到期(或經過所述到期時間)之後,第三空閒開始工作進程可使第三核心210-3的忙碌核心計數減小一,並傳輸減小指令事件EVENTC至增強器330。
當第三空閒任務的執行在第三核心210-3中結束時,則第三空閒模組350-3可調用在第三空閒模組350-3中登記的第三空閒結束工作進程回叫。
當:(1)空閒結束工作進程不在第三工作隊列380-3中待決且空閒開始工作進程在第三工作隊列380-3中待決時、或(2)空閒結束工作進程不在第三工作隊列380-3中待決且第三核心210-3不被增強時,則第三空閒結束工作進程回叫可對第三空閒結束工作進程進行排程。
第三工作隊列380-3可判斷第三空閒結束工作進程的到期時間是否到期(或經過所述到期時間)。在第三空閒結束工作進程的到期時間到期(或經過所述到期時間)之後,所述第三空閒結束工作進程可取消在第三工作隊列380-3中進行排程的空閒開始工作進程的排程,使第三核心210-3的忙碌核心計數增大一,並傳輸增大指令事件EVENTC至增強器330。
第四核心210-4可包括(或執行)第四負載追蹤器310-4、空閒模組350-4、及工作隊列380-4。第四核心210-4可利用時脈訊號CLK1_4及操作電壓PW1_4來運作。舉例而言,配置要素310-4、350-4、及380-4中的每一者可儲存於第四核心210-4的指令快取I-Cache(即,記憶體)中,且配置要素310-4、350-4、及380-4中的每一者可由如圖10中所示的第四核心210-4執行。
當電腦系統100被初始化(或啟動)時,第四負載追蹤器310-4可在第四空閒模組350-4中登記第四核心210-4的第四空閒開始工作進程回叫及第四空閒結束工作進程回叫,並產生第四核心210-4的第四空閒開始工作進程及第四空閒結束工作進程。當電腦系統100被初始化時,則增強器330可設定第四空閒開始工作進程及第四空閒結束工作進程中的每一者的到期時間。
當在第四核心210-4中執行第四空閒任務時,則第四空閒模組350-4可調用在第四空閒模組350-4中登記的第四空閒開始工作進程回叫。當在第四核心210-4中執行第四空閒任務時,則第四空閒開始工作進程回叫可取消已在第四工作隊列380-4中存在
的空閒開始工作進程的排程。
當:(1)空閒開始工作進程不在第四工作隊列380-4中待決且空閒結束工作進程不在第四工作隊列380-4中待決時、或(2)空閒開始工作進程不在第四工作隊列380-4中待決且第四核心210-4被增強時,則第四空閒開始工作進程回叫可對第四空閒開始工作進程進行排程。
第四工作隊列380-4可判斷第四空閒開始工作進程的到期時間是否到期(或經過所述到期時間)。在第四空閒開始工作進程的到期時間到期(或經過所述到期時間)之後,第四空閒開始工作進程可使第四核心210-4的忙碌核心計數減小一,並傳輸減小指令事件EVENTD至增強器330。
當第四空閒任務的執行在第四核心210-4中結束時,則第四空閒模組350-4可調用在第四空閒模組350-4中登記的第四空閒結束工作進程回叫。
當:(1)空閒結束工作進程不在第四工作隊列380-4中待決且空閒開始工作進程在第四工作隊列380-4中待決時、或(2)空閒結束工作進程不在第四工作隊列380-4中待決且第四核心210-4不被增強時,則第四空閒結束工作進程回叫可對第四空閒結束工作進程進行排程。
第四工作隊列380-4可判斷第四空閒結束工作進程的到期時間是否到期(或經過所述到期時間)。在第四空閒結束工作進程的到期時間到期(或經過所述到期時間)之後,第四空閒結束
工作進程可取消在第四工作隊列380-4中進行排程的空閒開始工作進程的排程,使第四核心210-4的忙碌核心計數增大一,並傳輸增大指令事件EVENTD至增強器330。
當事件EVENTA、EVENTB、EVENTC、及EVENTD中的至少一者被廣播至增強器330時,則藉由內核系統調用應用程式化介面(application grogramming interface,API)來喚醒處於待用狀態的線程(thread)且增強器330可剖析至少一個所接收事件。當所述至少一個事件被剖析時,則增強器330可檢查(或確定)核心210-1、210-2、210-3、及210-4中的每一者的忙碌核心計數。增強器330可在服務品質相關系統檔案337中設定(或寫入)與對應於所述檢查的結果的總忙碌核心計數對應的服務品質最小值。服務品質控制器340可基於自服務品質相關系統檔案337輸出的服務品質最小值而產生用於控制核心210-1、210-2、210-3、及210-4中的每一者的服務品質最小值的控制訊號CTR_C及CTR_P。
第一時脈訊號CLK1籠統地表示時脈訊號CLK1_1至CLK1_4,且第一操作電壓PW1籠統地表示操作電壓PW1_1至PW1_4。然而,時脈管理單元220可基於頻率控制訊號CTR_C而控制時脈訊號CLK1_1至CLK1_4中的每一者的頻率。此外,電力管理單元230可基於電力控制訊號CTR_P而產生用於控制操作電壓PW1_1至PW1_4中的每一者的位準的控制訊號CTR,並輸出控制訊號CTR至電力管理積體電路270。
如參照圖3所述,事件EVENTA、EVENTB、EVENTC、及EVENTD中的每一者可表示減小指令事件EVENT1或增大指令事件EVENT2。
核心210-1、210-2、210-3、及210-4中的每一者的負載追蹤器310-1、310-2、310-3、及310-4中的每一者在結構及功能上相同於或相似於參照圖3至圖9所述的負載追蹤器310。核心210-1、210-2、210-3、及210-4中的每一者的空閒模組350-1、350-2、350-3、及350-4中的每一者在結構及功能上相同於或相似於參照圖3至圖9所述的空閒模組350。核心210-1、210-2、210-3、及210-4中的每一者的工作隊列380-1、380-2、380-3、及380-4中的每一者在配置及功能上相同於或相似於參照圖3至圖9所述的工作隊列380。
圖11是闡述利用圖10中所示中央處理單元210B而實行的控制增強水準的方法的概念圖。參照圖10及圖11,核心210-1、210-2、210-3、及210-4中的每一者的相應負載追蹤器310-1、310-2、310-3、及310-4的空閒開始工作進程可實行減小忙碌核心計數的操作,且相應負載追蹤器310-1、310-2、310-3、及310-4的空閒結束工作進程可實行增大忙碌核心計數的操作。此處,忙碌核心計數表示欲被增強的核心的數目。
舉例而言,當在核心210-1、210-2、210-3、及210-4中的每一者中執行空閒任務時,核心210-1、210-2、210-3、及210-4中的每一者的忙碌核心計數可減小,且當在核心210-1、210-2、
210-3、及210-4中的每一者中結束空閒任務時,核心210-1、210-2、210-3、及210-4中的每一者的忙碌核心計數可增大。
在第一核心210-1中執行的增強器330可剖析事件EVENTA、EVENTB、EVENTC、及EVENTD中的每一者,並根據所述剖析的結果來計算中央處理單元210B的總忙碌核心計數。
如圖11中所示,當僅第三核心CORE3(210-3)在第一時間T1處執行需要進行增強的任務時,第三核心CORE3(210-3)的第三負載追蹤器310-3傳輸增大指令事件EVENTC=EVENT2至增強器330,且因此由增強器330所計算的總忙碌核心計數為一。
當第一核心CORE1 210-1在第二時間T2處實行需要進行增強的任務時,第一核心CORE1 210-1的第一負載追蹤器310-1傳輸增大指令事件EVENTA=EVENT2至增強器330,且由此由增強器330所計算的總忙碌核心計數為二。
當第二核心CORE2 210-2在第三時間T3處實行需要進行增強的任務時,第二核心CORE2 210-2的第二負載追蹤器310-2傳輸增大指令事件EVENTB=EVENT2至增強器330,且由此由增強器330所計算的總忙碌核心計數為三。由增強器330所計算的總忙碌核心計數在第四時間T4處仍為三。
當即便在第二核心CORE2 210-2於第五時間T5處結束需要進行增強的任務時ETH亦不似參照圖4所述般到期或經過時,可將由增強器330所計算的總忙碌核心計數維持為三。在ETH到期或經過所述ETH之後,第二核心CORE2 210-2的第二負載追蹤
器310-2在第六時間T6處傳輸減小指令事件EVENTB=EVENT1至增強器330。因應於此,可將由增強器330所計算的總忙碌核心計數自三減小至二。
在第三核心CORE3結束需要進行增強的任務且ETH在第七時間T7處到期或經過所述ETH之後,第三核心CORE3的第三負載追蹤器310-3傳輸減小指令事件EVENTC=EVENT1至增強器330,且由此由增強器330所計算的總忙碌核心計數可自二減小至一。
在第八時間T8處,亦即在第一核心CORE1結束需要進行增強的任務且ETH到期或經過所述ETH之後,第一核心CORE1的第一負載追蹤器310-1傳輸減小指令事件EVENTA=EVENT1至增強器330,且由此由增強器330所計算的總忙碌核心計數可自一減小至零。圖11中所示的STH及ETH中的每一者相同於參照圖4所述的STH及ETH中的每一者。
圖12是闡述利用圖10中所示中央處理單元210B而實行的控制增強水準的方法的示例性實施例的概念圖。參照圖4、圖10、圖11、及圖12,假定當總忙碌核心計數為一或二時增強水準為水準-1(LV1),且當總忙碌核心計數為三或四時增強水準為水準-2(LV2)。
假定圖10中所示的第一核心210-1及第二核心210-2中的每一者為小核心,且第三核心210-3及第四核心210-4中的每一者是大核心。在圖12中,假定MIF是圖1中所示的記憶體介面
250及260中的至少一者,且INT是圖1中所示的輸入/輸出介面265。如參照圖10及圖11所述,由第一核心210-1執行的增強器330可基於自核心210-1、210-2、210-3、及210-4中的每一者輸出的事件EVENTA、EVENTB、EVENTC、及EVENTD中的每一者而計算總忙碌核心計數。
第一核心210-1的增強器330可基於所計算的總忙碌核心計數而在服務品質相關系統檔案337中設定服務品質最小值。因此,服務品質控制器340可產生用於控制服務品質最小值的控制訊號CTR_C及CTR_P。時脈管理單元220可因應於頻率控制訊號CTR_C而控制時脈訊號CLK1_1、CLK1_2、CLK1_3、CLK1_4、CLK2、CLK3、CLK4、及CLK5中的至少一個時脈訊號的頻率。
舉例而言,當增強水準為水準-1(LV1)時,則時脈管理單元220可將被供應至大核心的時脈訊號的頻率調整為1.5十億赫茲(GHz)並將被供應至小核心的時脈訊號的頻率調整為1.5十億赫茲,將被供應至INT的時脈訊號的頻率調整為500百萬赫茲(MHz),將被供應至MIF的時脈訊號的頻率調整為1.5十億赫茲,並且開啟異質多處理器增強。當異質多處理器增強開啟時,可將指派至小核心的任務強制性地指派至大核心。
舉例而言,當增強水準為水準-2(LV2)時,則時脈管理單元220可將被供應至大核心的時脈訊號的頻率調整為2.0十億赫茲,將被供應至小核心的時脈訊號的頻率調整為1.5十億赫茲,將被供應至INT的時脈訊號的頻率調整為600百萬赫茲,將被供應
至MIF的時脈訊號的頻率調整為1.6十億赫茲,並開啟異質多處理器增強。
圖13是闡述利用由圖10中所示中央處理單元210B實行的軟體組件來控制服務品質最小值的方法的示例性實施例的概念圖,且圖14、圖15、及圖16是闡述利用由圖10中所示中央處理單元210B實行的軟體組件來控制服務品質最小值的方法的示例性實施例的流程圖。
參照圖1至圖3、圖10、及圖13至圖16,當電腦系統100被初始化(或啟動)(S410)時,則負載追蹤器310、310-1、310-2、310-3、或310-4(統稱為310A)可在空閒模組350、350-1、350-2、350-3、或350-4(統稱為350A)中登記對應的核心211、210-1、210-2、210-3、或210-4的空閒工作進程回叫(例如,空閒開始工作進程回叫351及空閒結束工作進程回叫353)(S412)。
負載追蹤器310A可產生對應的核心211、210-1、210-2、210-3、或210-4的空閒開始工作進程311及空閒結束工作進程313(S414)。
當電腦系統100被初始化時,則增強器330可自第二記憶體裝置290讀取配置檔案382(S416),並由忙碌核心計數或由總忙碌核心計數藉由系統檔案330-2而將欲在排程器384及/或動態電壓頻率縮放(或動態頻率縮放)中設定的參數330-3加載至記憶體裝置215或280(S418)。舉例而言,配置檔案382可為圖12中所示例性地示出的增強水準配置;然而,其並不僅限於此。
圖13中所示的增強器330可包括主回路330-1,且主回路330-1可包括增強器330A,增強器330A包括事件接收器331、增強開始器333、及增強結束器335。舉例而言,增強器330及增強器330A可包含資料流;然而,增強器330的功能可相同於增強器330A的功能。
增強器330可設定由負載追蹤器310A產生的空閒開始工作進程311及空閒結束工作進程313中的每一者的到期時間(S420)。舉例而言,增強器330可設定圖4中示出的到期時間STH及ETH中的每一者。
增強器330可開啟用於自內核或內核區接收或聽取事件EVENT1、EVENT2、EVENTA、EVENTB、EVENTC、及/或EVENTD(統稱為EVENT)的通訊應用程式介面(application programming interface,API)。通訊應用程式介面可指代插口(socket)。所述通訊應用程式介面或插口可指代用於傳輸或接收包含忙碌核心計數的事件EVENT的通訊通道。
增強器330可開啟通訊應用程式介面,且可調用通訊應用程式介面的內核系統調用應用程式介面並進入待用狀態(S424)。
當空閒任務370開始(S510)時,則空閒模組350A可調用空閒開始工作進程回叫351(S512)。
空閒開始工作進程回叫351可取消在工作隊列380、380-1、380-2、380-3、及/或380-4(統稱為380)中存在的空閒結
束工作進程的排程(或計時器的到期時間)(S514)。如上所述,當欲取消的空閒結束工作進程不存在於工作隊列380中時,則將省略或跳過過程S514。
當:(1)空閒開始工作進程不在工作隊列380中待決且空閒結束工作進程不在工作隊列380中待決時、或(2)空閒開始工作進程不在工作隊列380中待決且對應的核心211、210-1、210-2、210-3、或210-4被增強(S516)時,則空閒開始工作進程回叫351可對空閒開始工作進程311進行排程(S518)。
工作隊列380可判斷空閒開始工作進程311的到期時間是否到期(或經過所述到期時間)(S520)。當空閒開始工作進程311的到期時間到期(或經過所述到期時間)(S520中的「是」)時,則空閒開始工作進程311可使對應的核心211、210-1、210-2、210-3、或210-4的忙碌核心計數減小一,並廣播指示增強結束或增強水準減小的減小指令事件EVENT至增強器330(S522)。
當減小指令事件EVENT被廣播至增強器330時,則可藉由增強器330的內核系統調用應用程式介面(例如,事件通知機制(epoll))來喚醒處於待用狀態的線程(S524)。舉例而言,主回路330-1的事件接收器331可接收自負載追蹤器310A傳輸的減小指令事件EVENT,剖析減小指令事件EVENT(S526),並根據所述剖析的結果而調用增強結束器335。
增強結束器335可根據所述剖析的結果而將對應於服務品質最小值的參數寫入服務品質相關系統檔案337(S528)。服務
品質控制器340可自服務品質相關系統檔案337讀取對應於服務品質最小值的參數,利用所述參數產生與對應的核心211、210-1、210-2、210-3、或210-4的服務品質相關的控制訊號CTR_C及CTR_P,並輸出控制訊號CTR_C及CTR_P(S530)。
控制電路200可根據基於控制訊號CTR_C及CTR_P而運作的時脈管理單元220及電力管理單元230的控制來控制控制電路200的服務品質或服務品質最小值(S532)。亦即,時脈管理單元220可基於頻率控制訊號CTR_C來調整時脈訊號CLK1、CLK2、CLK3、CLK4、及CLK5中的至少一者的頻率。電力管理積體電路270可基於與電力控制訊號CTR_P相關的控制訊號CTR來調整操作電壓PW1、PW2、PW3、PW4、PW5、及PW6中的至少一者的位準。
如以上參照圖10所述,時脈管理單元220可基於頻率控制訊號CTR_C來調整時脈訊號CLK1_1、CLK1_2、CLK1_3、及CLK1_4中的至少一者的頻率。電力管理積體電路270可基於與電力控制訊號CTR_P相關的控制訊號CTR來調整操作電壓PW1_1、PW1_2、PW1_3、及PW1_4中的至少一者的位準。繼續參照圖13、圖14、及圖16,當空閒任務370的執行結束(S610)時,則空閒模組350A可調用空閒結束工作進程回叫358(S612)。
當:(1)空閒結束工作進程不在工作隊列380中待決且空閒開始工作進程在工作隊列380中待決時、或(2)空閒結束工作進程不在工作隊列380中待決且對應的核心211、210-1、210-2、
210-3、或210-4不被增強(S614)時,則空閒結束工作進程回叫353可對空閒結束工作進程313進行排程(S615)。
工作隊列380可判斷空閒結束工作進程313的到期時間是否到期(或經過所述到期時間)(S616)。當空閒結束工作進程的到期時間到期(或經過所述到期時間)(S616中的「是」)時,則空閒結束工作進程313可取消或抹除對應的核心211、210-1、210-2、210-3、或210-4的空閒開始工作進程的排程(計時器的到期時間)(S618)。
空閒結束工作進程313可使對應的核心211、210-1、210-2、210-3、或210-4的忙碌核心計數增大一,並廣播指示增強開始或增強水準增大的增大指令事件EVENT至增強器330(S620)。
當增大指令事件EVENT被廣播至增強器330時,則可藉由增強器330的內核系統調用應用程式介面(例如,事件通知機制)來喚醒處於待用狀態的線程(S524)。舉例而言,主回路330-1的事件接收器331可接收自負載追蹤器310A傳輸的增大指令事件EVENT,剖析增大指令事件EVENT(S526),並根據所述剖析的結果而調用增強開始器333。
增強開始器333可根據所述剖析的結果而將對應於服務品質最小值的參數寫入服務品質相關系統檔案337(S528)。服務品質控制器340可自服務品質相關系統檔案337讀取對應於服務品質最小值的參數,利用所述參數產生與對應的核心211、210-1、
210-2、210-3、或210-4的服務品質相關的控制訊號CTR_C及CTR_P,並輸出控制訊號CTR_C及CTR_P(S530)。
控制電路200可根據基於控制訊號CTR_C及CTR_P而運作的時脈管理單元220及電力管理單元230的控制來控制控制電路200的服務品質或服務品質最小值(S532)。亦即,時脈管理單元220可基於頻率控制訊號CTR_C來調整時脈訊號CLK1、CLK2、CLK3、CLK4、及CLK5中的至少一者的頻率。電力管理積體電路270可基於與電力控制訊號CTR_P相關的控制訊號CTR來調整操作電壓PW1、PW2、PW3、PW4、PW5、及PW6中的至少一者的位準。如參照圖10所述,時脈管理單元220可基於頻率控制訊號CTR_C來調整時脈訊號CLK1_1、CLK1_2、CLK1_3、及CLK1_4中的至少一者的頻率。電力管理積體電路270可基於與電力控制訊號CTR_P相關的控制訊號CTR來調整操作電壓PW1_1、PW1_2、PW1_3、及PW1_4中的至少一者的位準。
圖17是程式碼的示例性實施例,其用於闡述在圖3中所示空閒模組中登記空閒工作進程回叫的過程。參照圖17,圖17中所示例性地示出的程式碼表示用於在空閒模組中登記空閒工作進程回叫(例如,空閒開始工作進程回叫及空閒結束工作進程回叫)的一部分碼。
圖18是程式碼的示例性實施例,其用於闡述在圖3中所示空閒模組中登記的空閒工作進程回叫中對空閒開始工作進程及空閒結束工作進程實行的排程過程及取消過程。參照圖18,圖18
中所示例性地示出的程式碼表示其中空閒開始工作進程回叫對空閒開始工作進程進行排程及取消的一部分碼、以及其中空閒結束工作進程回叫對空閒結束工作進程進行排程及取消的一部分碼。
如參照圖1至圖18所述,在其中當核心不運作時執行空閒任務的中央處理單元210及包括中央處理單元210的電腦系統100中,在空閒任務被執行時對空閒開始工作進程進行排程,且在所述空閒任務的執行結束時對空閒結束工作進程進行排程。
當空閒任務被執行時,則取消空閒結束工作進程的排程。當所排程空閒開始工作進程及所排程空閒結束工作進程中的每一者的排程未被取消且所排程空閒開始工作進程的到期時間未到期或未經過所述到期時間、或者所排程空閒結束工作進程到期或經過所述到期時間時,則可實行被指定用於所排程空閒開始工作進程的操作或可實行被指定用於所排程空閒結束工作進程的操作。
被指定用於空閒開始工作進程的操作是將用於減小增強水準的事件廣播至增強器330,且被指定用於空閒結束工作進程的操作是將用於增大增強水準的事件廣播至增強器330。增強器330即時地聽取所述事件。當增強器330接收到事件時,實行為所接收的事件而提前定義的操作。所述提前定義的操作可包括開始增強、結束增強、改變增強水準、控制與增強相關的周邊裝置240、250、260、及265中的至少一者的操作及/或相依於由電腦系統100執行的作業系統的操作。
根據本發明概念示例性實施例的一種操作中央處理單元的方法可在急需高效能時自動地進行感測並根據所述感測的結果而自動地設定服務品質最小值。根據本發明概念示例性實施例的所述操作中央處理單元的方法可基於中斷而偵測負載的發生,而無需週期性地對中央處理單元的負載進行輪詢。
儘管已示出並闡述了本發明總體發明概念的幾個實施例,然而熟習此項技術者應理解,可在不背離本發明總體發明概念的原理及精神的條件下對該些實施例作出改變,本發明總體發明概念的範圍在隨附申請專利範圍及其等效範圍中進行界定。
S110、S112、S114、S116、S118‧‧‧過程
Claims (25)
- 一種操作中央處理單元的方法,所述中央處理單元包括用於儲存第一負載追蹤器及增強器的第一記憶體以及用於執行所述第一負載追蹤器及所述增強器的第一核心,所述方法包括:由所述第一負載追蹤器判斷是否在所述第一核心中執行第一空閒任務;由所述第一負載追蹤器產生對應於所述判斷的結果的第一事件,所述第一事件指示增強結束、增強水準減小、增強開始或增強水準增大;由所述第一負載追蹤器廣播所產生的第一事件至所述增強器;以及由所述增強器基於所述第一事件設定所述第一核心的服務品質最小值。
- 如申請專利範圍第1項所述的操作中央處理單元的方法,更包括:當所述中央處理單元被初始化時,由所述第一負載追蹤器在空閒模組中登記空閒開始工作進程回叫及空閒結束工作進程回叫,以及當所述中央處理單元被初始化時,由所述第一負載追蹤器產生空閒開始工作進程及空閒結束工作進程。
- 如申請專利範圍第2項所述的操作中央處理單元的方法,更包括: 當所述中央處理單元被初始化時,由所述增強器設定所述空閒開始工作進程的第一到期時間及所述空閒結束工作進程的第二到期時間。
- 如申請專利範圍第3項所述的操作中央處理單元的方法,更包括:當執行所述第一空閒任務時,由所述空閒模組調用所述空閒開始工作進程回叫;以及當所述第一空閒任務結束時,由所述空閒模組調用所述空閒結束工作進程回叫。
- 如申請專利範圍第4項所述的操作中央處理單元的方法,更包括:當執行所述第一空閒任務時,由所述空閒開始工作進程回叫對所述空閒開始工作進程進行排程,以及當所述第一空閒任務結束時,由所述空閒結束工作進程回叫對所述空閒結束工作進程進行排程。
- 如申請專利範圍第5項所述的操作中央處理單元的方法,更包括當執行所述第一空閒任務時,由所述空閒開始工作進程回叫取消在工作隊列中存在的前一空閒結束工作進程的排程。
- 如申請專利範圍第5項所述的操作中央處理單元的方法,其中由所述第一負載追蹤器產生對應於所述判斷的所述結果的所述第一事件包括以下中的一者:當經過所述第一到期時間時,由所述空閒開始工作進程產生 指示所述服務品質最小值減小的所述第一事件,以及當經過所述第二到期時間時,由所述空閒結束工作進程取消所述空閒開始工作進程的排程並產生指示所述服務品質最小值增大的所述第一事件。
- 如申請專利範圍第1項所述的操作中央處理單元的方法,更包括:由所述增強器基於所設定服務品質最小值向服務品質控制器輸出用於所述第一核心的動態電壓頻率縮放的控制訊號;以及由所述服務品質控制器因應於所述控制訊號而產生與所述第一核心的操作時脈訊號的頻率控制相關的頻率控制訊號以及與所述第一核心的操作電壓的控制相關的電壓控制訊號。
- 如申請專利範圍第1項所述的操作中央處理單元的方法,其中所述中央處理單元更包括用於儲存第二負載追蹤器的第二記憶體及用於執行所述第二負載追蹤器的第二核心,所述操作中央處理單元的方法更包括:由所述第二負載追蹤器判斷是否在所述第二核心中執行第二空閒任務;由所述第二負載追蹤器產生對應於所述判斷的結果的第二事件;由所述第二負載追蹤器廣播所產生的第二事件至在所述第一核心中執行的所述增強器;以及由所述增強器基於所述第一事件及所述第二事件而設定所述 第一核心的服務品質最小值及所述第二核心的服務品質最小值。
- 如申請專利範圍第9項所述的操作中央處理單元的方法,更包括基於所述第一核心的所設定服務品質最小值及所述第二核心的所設定服務品質最小值而將指派至所述第一核心的任務強制性地指派至所述第二核心。
- 一種操作系統晶片的方法,所述系統晶片包括:中央處理單元,具有用於儲存第一負載追蹤器、增強器、及服務品質控制器的第一記憶體,且更具有用於執行所述第一負載追蹤器、所述增強器、及所述服務品質控制器的第一核心;時脈管理單元;以及電力管理單元,所述方法包括:由所述第一負載追蹤器判斷是否在所述第一核心中執行第一空閒任務;由所述第一負載追蹤器產生對應於所述判斷的結果的第一事件,所述第一事件指示增強結束、增強水準減小、增強開始或增強水準增大;由所述第一負載追蹤器廣播所產生的第一事件至所述增強器;由所述增強器基於所述第一事件而設定所述第一核心的服務品質最小值;由所述服務品質控制器基於所設定服務品質最小值而輸出頻率控制訊號及電壓控制訊號;以及由所述時脈管理單元因應於所述頻率控制訊號而控制被供應 至所述第一核心的第一時脈訊號的第一頻率;以及由所述電力管理單元因應於所述電壓控制訊號而輸出用於控制電力管理積體電路供應第一操作電壓至所述第一核心的控制訊號。
- 如申請專利範圍第11項所述的操作系統晶片的方法,更包括:當所述中央處理單元被初始化時,由所述第一負載追蹤器在空閒模組中登記空閒開始工作進程回叫及空閒結束工作進程回叫;以及當所述中央處理單元被初始化時,由所述第一負載追蹤器產生空閒開始工作進程及空閒結束工作進程。
- 如申請專利範圍第12項所述的操作系統晶片的方法,更包括:當執行所述第一空閒任務時,由所述空閒模組調用所述空閒開始工作進程回叫;以及當所述第一空閒任務結束時,由所述空閒模組調用所述空閒結束工作進程回叫。
- 如申請專利範圍第13項所述的操作系統晶片的方法,更包括:當執行所述第一空閒任務時,由所述空閒開始工作進程回叫取消在工作隊列中存在的前一空閒結束工作進程的排程;由所述空閒開始工作進程回叫確定所述空閒開始工作進程的 排程先決條件;以及當滿足所述排程先決條件時,由所述空閒開始工作進程回叫對所述空閒開始工作進程進行排程。
- 如申請專利範圍第14項所述的操作系統晶片的方法,其中所述排程先決條件包括其中所述空閒開始工作進程及所述空閒結束工作進程均不待決的情形、或者其中所述空閒開始工作進程不待決且所述第一核心被增強的情形。
- 如申請專利範圍第13項所述的操作系統晶片的方法,更包括:當所述第一空閒任務結束時,由所述空閒結束工作進程回叫確定所述空閒結束工作進程的排程先決條件;以及當滿足所述排程先決條件時,由所述空閒結束工作進程回叫對所述空閒結束工作進程進行排程。
- 如申請專利範圍第16項所述的操作系統晶片的方法,其中所述排程先決條件包括其中所述空閒結束工作進程不待決且所述空閒開始工作進程待決的情形、或者其中所述空閒結束工作進程不待決且所述第一核心不被增強的情形。
- 如申請專利範圍第16項所述的操作系統晶片的方法,更包括:當所述空閒結束工作進程的到期時間到期時,由所述空閒結束工作進程取消所述空閒開始工作進程的排程。
- 如申請專利範圍第11項所述的操作系統晶片的方法,其中所述中央處理單元更包括用於儲存第二負載追蹤器的第二記 憶體及用於執行所述第二負載追蹤器的第二核心,且所述方法更包括:由所述第二負載追蹤器判斷是否在所述第二核心中執行第二空閒任務;由所述第二負載追蹤器產生對應於所述判斷的結果的第二事件;由所述第二負載追蹤器廣播所產生的第二事件至在所述第一核心中執行的所述增強器;由所述增強器基於所述第一事件及所述第二事件而設定所述第一核心的服務品質最小值及所述第二核心的服務品質最小值;由所述服務品質控制器基於所述第一核心的所設定服務品質最小值及所述第二核心的所設定服務品質最小值而輸出所述頻率控制訊號及所述電壓控制訊號;由所述時脈管理單元因應於所述頻率控制訊號而控制被供應至所述第一核心的所述第一時脈訊號的所述第一頻率及被供應至所述第二核心的第二時脈訊號的第二頻率;以及由所述電力管理單元因應於所述電壓控制訊號而輸出用於控制所述電力管理積體電路供應所述第一操作電壓至所述第一核心及供應第二操作電壓至所述第二核心的所述控制訊號。
- 一種操作計算系統的方法,所述計算系統包括:中央處理單元,具有用於儲存第一負載追蹤器、增強器、及服務品質控制器的第一記憶體,且具有用於執行所述第一負載追蹤器、所 述增強器、及所述服務品質控制器的第一核心;時脈管理單元;電力管理單元;以及電力管理積體電路,所述方法包括:由所述第一負載追蹤器判斷是否在所述第一核心中執行第一空閒任務;由所述第一負載追蹤器產生對應於所述判斷的結果的第一事件,所述第一事件指示增強結束、增強水準減小、增強開始或增強水準增大;由所述第一負載追蹤器廣播所產生的第一事件至所述增強器;由所述增強器基於所述第一事件而設定所述第一核心的服務品質最小值;由所述服務品質控制器基於所設定服務品質最小值而輸出第一頻率控制訊號及第一電壓控制訊號;由所述時脈管理單元因應於所述第一頻率控制訊號而控制被供應至所述第一核心的第一時脈的第一頻率;由所述電力管理單元因應於所述第一電壓控制訊號而輸出第一控制訊號至所述電力管理積體電路;以及由所述電力管理積體電路因應於所述第一電壓控制訊號而控制被供應至所述第一核心的第一操作電壓。
- 一種操作中央處理單元的方法,包括:所述中央處理單元監測所述中央處理單元的第一核心的第一空閒任務的狀態; 至少部分地基於所述中央處理單元的所述第一核心的所述第一空閒任務的所述所監測狀態而設定所述中央處理單元的增強水準;以及由所述時脈管理單元因應於所述增強水準而控制所述第一核心的第一操作時脈訊號的第一頻率,其中設定所述中央處理單元的增強水準包括增強結束、增強水準減小、增強開始或增強水準增大。
- 如申請專利範圍第21項所述的操作中央處理單元的方法,更包括:所述中央處理單元監測所述中央處理單元的第二核心的第二空閒任務的狀態;至少部分地基於所述中央處理單元的所述第一核心的所述第一空閒任務的所述所監測狀態以及所述中央處理單元的所述第二核心的所述第二空閒任務的所述所監測狀態而設定所述中央處理單元的所述增強水準;以及由所述時脈管理單元因應於所述增強水準而控制所述第一核心的所述第一操作時脈訊號的所述第一頻率及所述第二核心的第二操作時脈訊號的第二頻率。
- 如申請專利範圍第21項所述的操作中央處理單元的方法,更包括:基於所述中央處理單元的所述第一核心的所述第一空閒任務的所述所監測狀態而設定所述第一核心的服務品質最小值;以及 因應於所述第一核心的所述服務品質最小值而控制被供應至所述第一核心的第一操作電壓。
- 如申請專利範圍第23項所述的操作中央處理單元的方法,更包括:所述中央處理單元監測所述中央處理單元的第二核心的第二空閒任務的狀態;基於所述中央處理單元的所述第二核心的所述第二空閒任務的所述所監測狀態而設定所述中央處理單元的所述第二核心的服務品質最小值;以及因應於所述第二核心的所述服務品質最小值而控制被供應至所述第二核心的第二操作電壓。
- 如申請專利範圍第21項所述的操作中央處理單元的方法,其中電腦包括所述中央處理單元、用於與至少一個記憶體裝置進行通訊的至少一個記憶體介面、以及輸入/輸出介面,所述方法更包括因應於所述增強水準而調整以下中的至少一者:所述記憶體介面的記憶體介面時脈的頻率、及所述輸入/輸出介面的輸入/輸出時脈的頻率。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150122353A KR102375925B1 (ko) | 2015-08-31 | 2015-08-31 | Cpu의 작동 방법과 상기 cpu를 포함하는 시스템의 작동 방법 |
KR10-2015-0122353 | 2015-08-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201710914A TW201710914A (zh) | 2017-03-16 |
TWI724021B true TWI724021B (zh) | 2021-04-11 |
Family
ID=58011595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105127973A TWI724021B (zh) | 2015-08-31 | 2016-08-31 | 操作cpu的方法以及操作具有該cpu之系統的方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10496149B2 (zh) |
JP (1) | JP6838897B2 (zh) |
KR (1) | KR102375925B1 (zh) |
CN (1) | CN106484527B (zh) |
DE (1) | DE102016116158A1 (zh) |
TW (1) | TWI724021B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10656701B2 (en) * | 2016-12-16 | 2020-05-19 | Red Hat, Inc. | Managing processor frequencies |
KR20180076631A (ko) * | 2016-12-28 | 2018-07-06 | 삼성전자주식회사 | 반도체 장치의 성능 부스팅 방법 및 시스템 |
CN107423135B (zh) * | 2017-08-07 | 2020-05-12 | 上海兆芯集成电路有限公司 | 均衡装置以及均衡方法 |
US10732694B2 (en) * | 2017-09-22 | 2020-08-04 | Qualcomm Incorporated | Power state control of a mobile device |
CN109992314B (zh) * | 2019-04-09 | 2022-03-29 | Oppo广东移动通信有限公司 | 数据上报方法、装置、终端和存储介质 |
US11927981B2 (en) | 2021-05-21 | 2024-03-12 | Samsung Electronics Co., Ltd. | Integrated circuit, dynamic voltage and frequency scaling (DVFS) governor, and computing system including the same |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110119682A1 (en) * | 2009-11-19 | 2011-05-19 | Qualcomm Incorporated | Methods and apparatus for measuring performance of a multi-thread processor |
US8756395B2 (en) * | 1998-03-10 | 2014-06-17 | Rambus Inc. | Controlling DRAM at time DRAM ready to receive command when exiting power down |
US20140173311A1 (en) * | 2012-12-17 | 2014-06-19 | Samsung Electronics Co., Ltd. | Methods and Systems for Operating Multi-Core Processors |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5414860A (en) * | 1991-01-29 | 1995-05-09 | International Business Machines Incorporated | Power management initialization for a computer operable under a plurality of operating systems |
US6298448B1 (en) | 1998-12-21 | 2001-10-02 | Siemens Information And Communication Networks, Inc. | Apparatus and method for automatic CPU speed control based on application-specific criteria |
KR100390645B1 (ko) * | 2001-07-27 | 2003-07-07 | 삼성전자주식회사 | 이동통신단말기 시스템에서 소모전류를 줄이기 위한 방법 |
JP2007334497A (ja) | 2006-06-13 | 2007-12-27 | Renesas Technology Corp | 情報処理装置の省電力化方法、プログラム、およびプログラム実行システム |
US7882379B2 (en) | 2006-09-22 | 2011-02-01 | Sony Computer Entertainment Inc. | Power consumption reduction in a multiprocessor system |
US7900069B2 (en) | 2007-03-29 | 2011-03-01 | Intel Corporation | Dynamic power reduction |
CN101067758B (zh) * | 2007-06-14 | 2010-05-19 | 华南理工大学 | 一种嵌入式系统的能耗管理方法 |
CN101493761B (zh) * | 2008-01-25 | 2013-05-29 | 国际商业机器公司 | 处理器流水线处理指令的方法及相应的处理器 |
JP2010176742A (ja) * | 2009-01-29 | 2010-08-12 | Elpida Memory Inc | 半導体装置及びデータ処理システム |
US8321614B2 (en) | 2009-04-24 | 2012-11-27 | Empire Technology Development Llc | Dynamic scheduling interrupt controller for multiprocessors |
US9563250B2 (en) | 2009-12-16 | 2017-02-07 | Qualcomm Incorporated | System and method for controlling central processing unit power based on inferred workload parallelism |
US9104411B2 (en) | 2009-12-16 | 2015-08-11 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
JP2011216004A (ja) | 2010-04-01 | 2011-10-27 | Toyota Motor Corp | マイクロプロセッサ、電子制御ユニット、実行比率切り替え方法 |
US8381004B2 (en) | 2010-05-26 | 2013-02-19 | International Business Machines Corporation | Optimizing energy consumption and application performance in a multi-core multi-threaded processor system |
US20120042313A1 (en) * | 2010-08-13 | 2012-02-16 | Weng-Hang Tam | System having tunable performance, and associated method |
US8942932B2 (en) * | 2010-08-31 | 2015-01-27 | Advanced Micro Devices, Inc. | Determining transistor leakage for an integrated circuit |
JP2012113558A (ja) | 2010-11-25 | 2012-06-14 | Panasonic Corp | 割込み制御装置、割込み制御方法及び集積回路 |
TWI454905B (zh) | 2011-09-30 | 2014-10-01 | Intel Corp | 在多核心平台中之受限制的啓動技術 |
US9395784B2 (en) * | 2013-04-25 | 2016-07-19 | Intel Corporation | Independently controlling frequency of plurality of power domains in a processor system |
US9483092B2 (en) | 2013-10-14 | 2016-11-01 | Advanced Micro Devices, Inc. | Performance state boost for multi-core integrated circuit |
KR20150050135A (ko) * | 2013-10-31 | 2015-05-08 | 삼성전자주식회사 | 복수의 이종 코어들을 포함하는 전자 시스템 및 이의 동작 방법 |
KR20150122353A (ko) | 2014-04-23 | 2015-11-02 | 스타 제너레이션 리미티드 타이완 브랜치 | 골성장분말/생의학적필러를 회전식으로 밀어주는 구조를 지닌 임플란트 |
US9378536B2 (en) * | 2014-04-30 | 2016-06-28 | Qualcomm Incorporated | CPU/GPU DCVS co-optimization for reducing power consumption in graphics frame processing |
US10203746B2 (en) * | 2014-05-30 | 2019-02-12 | Apple Inc. | Thermal mitigation using selective task modulation |
US9904612B2 (en) * | 2015-07-08 | 2018-02-27 | Futurewei Technologies, Inc. | Dynamic voltage/frequency scaling for multi-processors using end user experience metrics |
US9952651B2 (en) * | 2015-07-31 | 2018-04-24 | International Business Machines Corporation | Deterministic current based frequency optimization of processor chip |
-
2015
- 2015-08-31 KR KR1020150122353A patent/KR102375925B1/ko active IP Right Grant
-
2016
- 2016-08-30 US US15/251,373 patent/US10496149B2/en active Active
- 2016-08-30 DE DE102016116158.6A patent/DE102016116158A1/de active Pending
- 2016-08-31 JP JP2016169324A patent/JP6838897B2/ja active Active
- 2016-08-31 TW TW105127973A patent/TWI724021B/zh active
- 2016-08-31 CN CN201610797860.1A patent/CN106484527B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8756395B2 (en) * | 1998-03-10 | 2014-06-17 | Rambus Inc. | Controlling DRAM at time DRAM ready to receive command when exiting power down |
US20110119682A1 (en) * | 2009-11-19 | 2011-05-19 | Qualcomm Incorporated | Methods and apparatus for measuring performance of a multi-thread processor |
US20140173311A1 (en) * | 2012-12-17 | 2014-06-19 | Samsung Electronics Co., Ltd. | Methods and Systems for Operating Multi-Core Processors |
Also Published As
Publication number | Publication date |
---|---|
CN106484527A (zh) | 2017-03-08 |
CN106484527B (zh) | 2022-04-12 |
JP6838897B2 (ja) | 2021-03-03 |
KR20170025625A (ko) | 2017-03-08 |
US20170060222A1 (en) | 2017-03-02 |
DE102016116158A1 (de) | 2017-03-02 |
JP2017049999A (ja) | 2017-03-09 |
TW201710914A (zh) | 2017-03-16 |
US10496149B2 (en) | 2019-12-03 |
KR102375925B1 (ko) | 2022-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI724021B (zh) | 操作cpu的方法以及操作具有該cpu之系統的方法 | |
US10649935B2 (en) | Deferred inter-processor interrupts | |
US8726055B2 (en) | Multi-core power management | |
CN105183128B (zh) | 强制处理器进入低功率状态 | |
US7152169B2 (en) | Method for providing power management on multi-threaded processor by using SMM mode to place a physical processor into lower power state | |
TWI595418B (zh) | 用於排程任務之系統、電腦實施方法及電腦可讀媒體 | |
US20090172428A1 (en) | Apparatus and method for controlling power management | |
US9778949B2 (en) | Thread waiting in a multithreaded processor architecture | |
US7853817B2 (en) | Power management independent of CPU hardware support | |
US20130060555A1 (en) | System and Apparatus Modeling Processor Workloads Using Virtual Pulse Chains | |
CN103842933B (zh) | 多核平台中的受约束引导技术 | |
US20120072746A1 (en) | Facilitating power management in a multi-core processor | |
TWI670592B (zh) | 系統單晶片、關於其之方法及包括該系統單晶片之裝置 | |
US10459517B2 (en) | System and methods for scheduling software tasks based on central processing unit power characteristics | |
US9035956B1 (en) | Graphics power control with efficient power usage during stop | |
US10229088B2 (en) | Application processor and system on chip | |
TW201342027A (zh) | 於動作工作負載期間動態進入低功率狀態 | |
KR20160006328A (ko) | 멀티-코어 프로세서를 포함하는 시스템 온 칩 및 그것의 동적 전력 관리 방법 | |
KR20160128751A (ko) | 애플리케이션 프로세서, 시스템 온 칩, 및 이를 포함하는 컴퓨팅 장치 | |
KR20210017054A (ko) | 멀티-코어 시스템 및 그 동작 제어 방법 | |
US20230185623A1 (en) | Method of task transition between heterogenous processors | |
D'souza et al. | Cycletandem: Energy-saving scheduling for real-time systems with hardware accelerators | |
KR20210007417A (ko) | 멀티-코어 시스템 및 그 동작 제어 방법 |