TW201629760A - System on chips for controlling power using workloads, methods of operating the same, and computing devices including the same - Google Patents

System on chips for controlling power using workloads, methods of operating the same, and computing devices including the same Download PDF

Info

Publication number
TW201629760A
TW201629760A TW104136402A TW104136402A TW201629760A TW 201629760 A TW201629760 A TW 201629760A TW 104136402 A TW104136402 A TW 104136402A TW 104136402 A TW104136402 A TW 104136402A TW 201629760 A TW201629760 A TW 201629760A
Authority
TW
Taiwan
Prior art keywords
count value
frequency scaling
dynamic voltage
event
processing unit
Prior art date
Application number
TW104136402A
Other languages
Chinese (zh)
Other versions
TWI694379B (en
Inventor
林義哲
吳昌勳
韓東熙
Original Assignee
三星電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三星電子股份有限公司 filed Critical 三星電子股份有限公司
Publication of TW201629760A publication Critical patent/TW201629760A/en
Application granted granted Critical
Publication of TWI694379B publication Critical patent/TWI694379B/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/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

Abstract

A system on chip may include: a master device configured to execute a dynamic voltage and frequency scaling (DVFS) program; a slave device configured to communicate with the master device; and/or a performance monitoring unit configured to receive first events generated while instructions are being processed by the master device, configured to generate a first count value by counting a number of second events corresponding to a total number of the instructions related with the first events and configured to generated a second count value counting a number of third events related with first instructions that can be processed by interaction between the master device and the slave device among the first events. The DVFS program may be configured to generate a control signal for controlling DVFS of at least one of the master device and the slave device based on the first count value and the second count value.

Description

使用工作負載控制電力的系統晶片、其操作方法以及包含上述的計算裝置System wafer for controlling power using a workload, method of operating the same, and computing device comprising the same

本發明概念的某些示例性實施例可大體是有關於一種系統晶片(system on chip,SoC)。本發明概念的某些示例性實施例可大體是有關於用於根據主設備的工作負載類型而控制動態電壓及頻率縮放(dynamic voltage and frequency scaling,DVFS)且控制與主設備通訊的從設備的動態電壓及頻率縮放的系統晶片。本發明概念的某些示例性實施例可大體是有關於所述系統晶片的操作方法。本發明概念的某些示例性實施例可大體是有關於包括所述系統晶片的計算裝置。Certain exemplary embodiments of the inventive concept may be generally related to a system on chip (SoC). Certain exemplary embodiments of the inventive concept may be generally related to a slave device for controlling dynamic voltage and frequency scaling (DVFS) and controlling communication with a master device according to a workload type of the master device. System chip for dynamic voltage and frequency scaling. Certain exemplary embodiments of the inventive concept may be generally related to methods of operation of the system wafer. Certain exemplary embodiments of the inventive concept may be generally related to computing devices including the system wafers.

傳統上,可使用僅關於動態電壓及頻率縮放的目標裝置的資訊而在計算系統中執行動態電壓及頻率縮放。在中央處理單元(central processing unit,CPU)的動態電壓及頻率縮放中,當在中央處理單元中所量測的當前負載高於上臨限值時被施加至中央處理單元的時脈訊號的頻率及操作電壓的位準可增大,且當所述當前負載低於下臨限值時可減小。Traditionally, dynamic voltage and frequency scaling can be performed in a computing system using information only about dynamic voltage and frequency scaling of the target device. In the dynamic voltage and frequency scaling of a central processing unit (CPU), the frequency of the clock signal applied to the central processing unit when the current load measured in the central processing unit is above the upper threshold And the level of the operating voltage can be increased and can be reduced when the current load is below the lower threshold.

倘若在記憶體系統的運作頻率低的同時與記憶體系統通訊的中央處理單元的運作頻率高,則傳統動態電壓及頻率縮放方法可在中央處理單元的工作負載增大時增大中央處理單元的運作頻率及操作電壓。然而,當中央處理單元的工作負載為記憶體導向(memory-oriented)的工作負載時,即使中央處理單元的運作頻率及操作電壓增大,中央處理單元的效能仍可能不會增大,而是僅中央處理單元的功率消耗可能會增大。If the operating frequency of the central processing unit communicating with the memory system is low while the operating frequency of the memory system is low, the conventional dynamic voltage and frequency scaling method can increase the central processing unit when the workload of the central processing unit increases. Operating frequency and operating voltage. However, when the workload of the central processing unit is a memory-oriented workload, even if the operating frequency and operating voltage of the central processing unit increase, the performance of the central processing unit may not increase, but Only the power consumption of the central processing unit may increase.

本發明概念的某些示例性實施例可提供用於根據主設備的工作負載類型而控制動態電壓及頻率縮放的系統晶片。Certain exemplary embodiments of the inventive concept may provide a system wafer for controlling dynamic voltage and frequency scaling based on the type of workload of the primary device.

本發明概念的某些示例性實施例可提供用於控制與所述主設備通訊的從設備的動態電壓及頻率縮放的系統晶片。Certain exemplary embodiments of the inventive concept may provide a system wafer for controlling dynamic voltage and frequency scaling of a slave device in communication with the master device.

本發明概念的某些示例性實施例可提供所述系統晶片的操作方法。Certain exemplary embodiments of the inventive concept may provide a method of operation of the system wafer.

本發明概念的某些示例性實施例可提供包括所述系統晶片的計算裝置。Certain exemplary embodiments of the inventive concept may provide a computing device including the system wafer.

在某些示例性實施例中,一種系統晶片可包括:主裝置,用以執行動態電壓及頻率縮放(DVFS)程式;從裝置,用以與所述主裝置通訊;及/或效能監測單元,用以接收在所述主裝置處理指令的同時所產生的第一事件,用以藉由對第二事件的數目進行計數而產生第一計數值,並用以藉由對所述第一事件中的第三事件的數目進行計數而產生第二計數值,所述第二事件的數目對應於與所述第一事件相關的所述指令的總數目,所述第三事件與能夠藉由所述主裝置與所述從裝置之間的交互作用而得到處理的第一指令相關。所述動態電壓及頻率縮放程式可用以基於所述第一計數值及所述第二計數值而產生用於控制所述主裝置及所述從裝置中的至少一者的動態電壓及頻率縮放的控制訊號。In some exemplary embodiments, a system die may include: a master device for performing a dynamic voltage and frequency scaling (DVFS) program; a slave device for communicating with the master device; and/or a performance monitoring unit, And a first event generated by the processing of the instruction by the primary device to generate a first count value by counting the number of the second event, and used to Counting the number of third events to generate a second count value, the number of second events corresponding to a total number of the instructions associated with the first event, the third event being capable of being A first instruction that is processed by the interaction between the device and the slave device is associated. The dynamic voltage and frequency scaling program can be configured to generate dynamic voltage and frequency scaling for controlling at least one of the primary device and the secondary device based on the first count value and the second count value Control signal.

在某些示例性實施例中,所述主裝置可為中央處理單元(central processing unit,CPU)、圖形處理單元(graphics processing unit,GPU)、影像訊號處理器(image signal processor,ISP)、數位訊號處理器(digital signal processor,DSP)、及多媒體處理器中的一者。所述從裝置可為記憶體介面及輸入/輸出(input/output)介面中的一者。In some exemplary embodiments, the main device may be a central processing unit (CPU), a graphics processing unit (GPU), an image signal processor (ISP), and a digital device. One of a digital signal processor (DSP) and a multimedia processor. The slave device can be one of a memory interface and an input/output interface.

在某些示例性實施例中,所述系統晶片可更包括:時脈管理單元(clock management unit),用以因應於所述控制訊號而控制被施加至所述主裝置的第一時脈訊號的第一頻率及被施加至所述從裝置的第二時脈訊號的第二頻率中的至少一者。In some exemplary embodiments, the system chip may further include: a clock management unit configured to control the first clock signal applied to the host device according to the control signal At least one of a first frequency and a second frequency applied to the second clock signal of the slave device.

在某些示例性實施例中,所述系統晶片可更包括:電力管理單元(power management unit),用以因應於所述控制訊號而控制電力管理積體電路來控制被施加至所述主裝置的第一電壓的位準及被施加至所述從裝置的第二電壓的位準中的至少一者。In some exemplary embodiments, the system chip may further include: a power management unit configured to control the power management integrated circuit to control the applied to the host device according to the control signal At least one of a level of the first voltage and a level of a second voltage applied to the slave device.

在某些示例性實施例中,所述第二事件與由所述主裝置執行的指令相關,且所述第三事件與L2快取未中(cache miss)相關。In some exemplary embodiments, the second event is associated with an instruction executed by the primary device, and the third event is associated with an L2 cache miss.

在某些示例性實施例中,所述動態電壓及頻率縮放程式可用以基於所述第一計數值及所述第二計數值而計算每千指令未中數(misses-per-kilo-instructions,MPKI)值,及/或可用以基於所述每千指令未中數值而產生所述控制訊號。所述第二計數值可為L2快取未中計數(cache miss count)。In some exemplary embodiments, the dynamic voltage and frequency scaling program may be used to calculate misses-per-kilo-instructions based on the first count value and the second count value. The MPKI) value, and/or can be used to generate the control signal based on the value per thousand instructions. The second count value may be an L2 cache miss count.

在某些示例性實施例中,一種計算裝置可包括:主裝置,用以執行動態電壓及頻率縮放(DVFS)程式;從裝置,用以與所述主裝置通訊;效能監測單元,用以接收在所述主裝置處理指令的同時所產生的第一事件,用以藉由對第二事件的數目進行計數而產生第一計數值,並用以藉由對所述第一事件中的第三事件的數目進行計數而產生第二計數值,所述第二事件的數目對應於與所述第一事件相關的所述指令的總數目,所述第三事件與能夠藉由所述主裝置與所述從裝置之間的交互作用而得到處理的第一指令相關;及/或電力管理積體電路(power management integrated circuit,PMIC),用以提供對應操作電壓至所述主裝置、所述從裝置、及所述效能監測單元。所述動態電壓及頻率縮放程式可用以基於所述第一計數值及所述第二計數值而產生用於控制所述主裝置及所述從裝置中的至少一者的動態電壓及頻率縮放的控制訊號。In some exemplary embodiments, a computing device may include: a master device to perform a dynamic voltage and frequency scaling (DVFS) program; a slave device to communicate with the master device; and a performance monitoring unit to receive a first event generated while the master device processes the instruction to generate a first count value by counting the number of second events, and for using the third event in the first event Counting the number to generate a second count value, the number of second events corresponding to a total number of the instructions associated with the first event, the third event being capable of being a first instruction related to the interaction between the devices; and/or a power management integrated circuit (PMIC) for providing a corresponding operating voltage to the master device, the slave device And the performance monitoring unit. The dynamic voltage and frequency scaling program can be configured to generate dynamic voltage and frequency scaling for controlling at least one of the primary device and the secondary device based on the first count value and the second count value Control signal.

在某些示例性實施例中,所述主裝置可為中央處理單元(CPU)、圖形處理單元(GPU)、影像訊號處理器(ISP)、數位訊號處理器(DSP)、及多媒體處理器中的一者。所述從裝置可為記憶體介面及輸入/輸出介面中的一者。In some exemplary embodiments, the main device may be a central processing unit (CPU), a graphics processing unit (GPU), an image signal processor (ISP), a digital signal processor (DSP), and a multimedia processor. One of them. The slave device can be one of a memory interface and an input/output interface.

在某些示例性實施例中,所述計算裝置可更包括:時脈管理單元,用以因應於所述控制訊號而控制被施加至所述主裝置的第一時脈訊號的第一頻率及被施加至所述從裝置的第二時脈訊號的第二頻率中的至少一者。In some exemplary embodiments, the computing device may further include: a clock management unit configured to control a first frequency of the first clock signal applied to the host device according to the control signal and At least one of a second frequency applied to the second clock signal of the slave device.

在某些示例性實施例中,所述計算裝置可更包括:電力管理單元,用以因應於所述控制訊號而控制所述電力管理積體電路來控制被施加至所述主裝置的第一電壓的位準及被施加至所述從裝置的第二電壓的位準中的至少一者。In some exemplary embodiments, the computing device may further include: a power management unit configured to control the power management integrated circuit to control the first applied to the primary device in response to the control signal A level of voltage and at least one of a level of a second voltage applied to the slave device.

在某些示例性實施例中,所述第二事件與由所述主裝置執行的指令相關,且所述第三事件與L2快取未中相關。In some exemplary embodiments, the second event is related to an instruction executed by the primary device, and the third event is associated with an L2 cache miss.

在某些示例性實施例中,所述動態電壓及頻率縮放程式可用以基於所述第一計數值及所述第二計數值而計算每千指令未中數(MPKI)值,及/或可用以基於所述每千指令未中數值而產生所述控制訊號。所述第二計數值可藉由對L2快取未中進行計數而得出。In some exemplary embodiments, the dynamic voltage and frequency scaling program may be used to calculate a value per thousand instructions (MPKI) based on the first count value and the second count value, and/or available The control signal is generated based on the value per thousand instructions. The second count value can be obtained by counting the L2 cache miss.

在某些示例性實施例中,所述計算裝置可更包括:記憶體。所述主裝置可為中央處理單元(CPU)、圖形處理單元(GPU)、影像訊號處理器(ISP)、數位訊號處理器(DSP)、及多媒體處理器中的一者。所述從裝置可為記憶體介面,所述記憶體介面用以根據所述主裝置的控制而控制所述記憶體的運作。In some exemplary embodiments, the computing device may further include: a memory. The main device may be one of a central processing unit (CPU), a graphics processing unit (GPU), an image signal processor (ISP), a digital signal processor (DSP), and a multimedia processor. The slave device can be a memory interface for controlling the operation of the memory according to the control of the master device.

在某些示例性實施例中,提供一種系統晶片的操作方法,所述系統晶片包括用於執行動態電壓及頻率縮放(DVFS)程式的主裝置及與所述主裝置通訊的從裝置,所述方法可包括:接收在所述主裝置處理指令的同時所產生的第一事件,並產生所述第一事件中對應於所述指令的數目的第一計數值;及/或所述動態電壓及頻率縮放程式基於所述第一計數值而控制所述主裝置的動態電壓及頻率縮放及所述從裝置的動態電壓及頻率縮放。In certain exemplary embodiments, a method of operating a system wafer including a master device for performing a dynamic voltage and frequency scaling (DVFS) program and a slave device in communication with the master device is provided, The method can include receiving a first event generated while the master device processes the instruction, and generating a first count value corresponding to the number of the instructions in the first event; and/or the dynamic voltage and A frequency scaling program controls dynamic voltage and frequency scaling of the master device and dynamic voltage and frequency scaling of the slave device based on the first count value.

在某些示例性實施例中,所述主裝置可為中央處理單元(CPU)、圖形處理單元(GPU)、影像訊號處理器(ISP)、數位訊號處理器(DSP)、及多媒體處理器中的一者。所述從裝置可為記憶體介面及輸入/輸出介面中的一者。In some exemplary embodiments, the main device may be a central processing unit (CPU), a graphics processing unit (GPU), an image signal processor (ISP), a digital signal processor (DSP), and a multimedia processor. One of them. The slave device can be one of a memory interface and an input/output interface.

在某些示例性實施例中,所述方法可更包括:藉由對所述第一事件中的第二事件的數目進行計數而產生第二計數值,所述第二事件與能夠藉由所述主裝置與所述從裝置之間的交互作用而得到處理的第一指令相關。所述動態電壓及頻率縮放程式可用以基於所述第一計數值及所述第二計數值而控制所述主裝置的所述動態電壓及頻率縮放及所述從裝置的動態電壓及頻率縮放。In some exemplary embodiments, the method may further include: generating a second count value by counting a number of the second events in the first event, the second event being capable of A first instruction that is processed by the interaction between the master device and the slave device is associated. The dynamic voltage and frequency scaling program can be used to control the dynamic voltage and frequency scaling of the primary device and the dynamic voltage and frequency scaling of the slave device based on the first count value and the second count value.

在某些示例性實施例中,所述第一計數值可為每一指令循環數(cycles per instruction,CPI)值且所述第二計數值是L2快取未中計數。In some exemplary embodiments, the first count value may be a cycles per instruction (CPI) value and the second count value is an L2 cache miss count.

在某些示例性實施例中,所述動態電壓及頻率縮放程式可用以在所述每一指令循環數值小於第一參考值時控制所述主裝置的所述動態電壓及頻率縮放。所述動態電壓及頻率縮放程式可用以在所述每一指令循環數值大於所述第一參考值且所述L2快取未中計數小於第二參考值時控制所述主裝置的所述動態電壓及頻率縮放。In some exemplary embodiments, the dynamic voltage and frequency scaling program can be used to control the dynamic voltage and frequency scaling of the primary device when the each command cycle value is less than the first reference value. The dynamic voltage and frequency scaling program may be configured to control the dynamic voltage of the master device when each command cycle value is greater than the first reference value and the L2 cache miss count is less than a second reference value And frequency scaling.

在某些示例性實施例中,所述動態電壓及頻率縮放程式可用以基於所述第一計數值及所述第二計數值而計算每千指令未中數(MPKI)值,及/或可用以基於所述每千指令未中數值而控制所述主裝置的所述動態電壓及頻率縮放及所述從裝置的所述動態電壓及頻率縮放,其中所述第一計數值是所述指令的總數目,其中所述第二計數值是L2快取未中計數。In some exemplary embodiments, the dynamic voltage and frequency scaling program may be used to calculate a value per thousand instructions (MPKI) based on the first count value and the second count value, and/or available Controlling the dynamic voltage and frequency scaling of the master device and the dynamic voltage and frequency scaling of the slave device based on the value per thousand instructions, wherein the first count value is The total number, wherein the second count value is an L2 cache miss count.

在某些示例性實施例中,所述動態電壓及頻率縮放程式可用以在所述每千指令未中數值小於第一參考值時控制所述主裝置的所述動態電壓及頻率縮放,可用以在所述每千指令未中數大於或等於第二參考值時控制所述從裝置的所述動態電壓及頻率縮放,及/或可用以在所述每千指令未中數值大於或等於所述第一參考值但小於所述第二參考值時控制所述主裝置的所述動態電壓及頻率縮放及所述從裝置的所述動態電壓及頻率縮放。In some exemplary embodiments, the dynamic voltage and frequency scaling program may be used to control the dynamic voltage and frequency scaling of the primary device when the value per thousand instructions is less than the first reference value, and may be used to Controlling the dynamic voltage and frequency scaling of the slave device when the number of misses per thousand instructions is greater than or equal to a second reference value, and/or may be used to have a value greater than or equal to the value in the thousand instructions per thousand instructions The dynamic voltage and frequency scaling of the primary device and the dynamic voltage and frequency scaling of the slave device are controlled when the first reference value is less than the second reference value.

在某些示例性實施例中,一種計算裝置可包括:第一裝置,用以執行程式;第二裝置,用以與所述第一裝置通訊;第三裝置,用以接收在所述第一裝置處理指令的同時所產生的第一事件,用以藉由對第二事件的數目進行計數而產生第一計數值,並用以藉由對所述第一事件中的第三事件的數目進行計數而產生第二計數值,所述第二事件的數目對應於與所述第一事件相關的所述指令的總數目,所述第三事件與能夠藉由所述第一裝置與所述第二裝置之間的交互作用而得到處理的第一指令相關;及/或第四裝置,用以提供一操作電壓至所述第一裝置或所述第二裝置。所述程式可用以基於所述第一計數值及所述第二計數值而產生用於控制所述第一裝置、所述從設備、或所述第一裝置及所述第二裝置的控制訊號。In some exemplary embodiments, a computing device may include: a first device to execute a program; a second device to communicate with the first device; and a third device to receive the first device And generating, by the device, the first event generated by the instruction, by using the number of the second event to generate a first count value, and for counting the number of the third event in the first event Generating a second count value, the number of the second events corresponding to a total number of the instructions associated with the first event, the third event being capable of being by the first device and the second The first instruction associated with the interaction between the devices is associated; and/or the fourth device is configured to provide an operating voltage to the first device or the second device. The program may be configured to generate a control signal for controlling the first device, the slave device, or the first device and the second device based on the first count value and the second count value .

在某些示例性實施例中,所述程式可包括動態電壓及頻率縮放(DVFS)程式。In some exemplary embodiments, the program may include a dynamic voltage and frequency scaling (DVFS) program.

在某些示例性實施例中,所述程式可用以控制提供操作電壓至所述第一裝置及所述第二裝置。In certain exemplary embodiments, the program can be used to control the supply of operating voltages to the first device and the second device.

在某些示例性實施例中,所述第一裝置可包括中央處理單元(CPU)、圖形處理單元(GPU)、影像訊號處理器(ISP)、數位訊號處理器(DSP)、或多媒體處理器。In some exemplary embodiments, the first device may include a central processing unit (CPU), a graphics processing unit (GPU), an image signal processor (ISP), a digital signal processor (DSP), or a multimedia processor. .

在某些示例性實施例中,所述第二裝置可包括記憶體介面或輸入/輸出介面。In some exemplary embodiments, the second device may include a memory interface or an input/output interface.

在某些示例性實施例中,所述計算裝置可更包括:第五裝置,用以控制被提供至所述第一裝置或所述第二裝置的頻率。In some exemplary embodiments, the computing device may further include: a fifth device to control a frequency provided to the first device or the second device.

在某些示例性實施例中,所述計算裝置可更包括:第五裝置,用以控制被提供至所述第一裝置或所述第二裝置的操作電壓的位準。In certain exemplary embodiments, the computing device may further include: a fifth device to control a level of an operating voltage provided to the first device or the second device.

現在將參照以下附圖來更充分地闡述示例性實施例。然而,實施例可實施為諸多不同形式,而不應被視為僅限於本文所說明的實施例。更確切而言,提供該些示例性實施例是為了使本揭露內容將透徹及完整,並將向熟習此項技術者充分傳達本揭露內容的範圍。在圖式中,為清晰起見,可誇大層及區的厚度。Exemplary embodiments will now be more fully explained with reference to the following drawings. However, the embodiments may be embodied in many different forms and should not be construed as being limited to the embodiments described herein. Rather, the exemplary embodiments are provided so that this disclosure will be thorough and complete, and the scope of the disclosure will be fully conveyed by those skilled in the art. In the drawings, the thickness of layers and regions may be exaggerated for clarity.

應理解,當稱一個元件位於另一組件「上(on)」,或「連接至(connected to)」、「電性連接至(electrically connected to)」、或「耦接至(coupled to)」另一組件時,所述元件可直接位於所述另一組件上,或連接至、電性連接至、或耦合至所述另一組件,抑或可存在中間組件。相反,當稱一個組件「直接(directly)」位於另一組件「上(on)」,或「直接連接至(directly connected to)」、「直接電性連接至(directly electrically connected to)」、或「直接耦接至(directly coupled to)」至另一組件時,則不存在中間組件。本文中所用用語「及/或(and/or)」包含相關列出項其中一或多個項的任意及所有組合。It should be understood that when a component is referred to as being "on" or "connected to", "electrically connected to", or "coupled to" In another component, the component can be directly located on the other component, or connected to, electrically connected to, or coupled to the other component, or an intermediate component can be present. Conversely, when a component is referred to as being "directly", or "directly connected to" or "directly electrically connected to", or When "directly coupled to" another component, there is no intermediate component. The term "and/or" as used herein includes any and all combinations of one or more of the associated listed items.

應理解,儘管本文中可能使用第一(first)、第二(second)、第三(third)等用語來闡述各種元件、組件、區、層、及/或區段,但該些元件、組件、區、層、及/或區段不應受該些用語限制。該些用語僅用於區分各個元件、組件、區、層、及/或區段。舉例而言,第一元件、組件、區、層、及/或區段可被稱為第二元件、組件、區、層、及/或區段,而此並不背離示例性實施例的教示內容。It will be understood that, although the terms "first", "second", "third" and the like may be used herein to describe various elements, components, regions, layers, and/or sections, the elements, components , zones, layers, and/or sections should not be limited by these terms. The terms are only used to distinguish between various elements, components, regions, layers, and/or sections. The elements, components, regions, layers, and/or sections may be referred to as the second elements, components, regions, layers, and/or sections, without departing from the teachings of the exemplary embodiments. content.

如圖式所示,為便於說明,本文中可使用例如「在…之下(beneath)」、「在…下方(below)」、「下部(lower)」、「在…上方(above)」、「上部(upper)」等空間相對關係用語來闡述一個組件及/或特徵與另一組件及/或特徵、或其他組件及/或特徵的關係。應理解,除圖中所繪示的定向外,空間相對關係用語旨在涵蓋裝置在使用或操作中的不同定向。As shown in the figure, for convenience of explanation, for example, "beeath", "below", "lower", "above", Spatially relative terms such as "upper" are used to describe a component and/or feature in relation to another component and/or feature, or other component and/or feature. It will be understood that the spatially relative terms are intended to encompass different orientations of the device in use or operation, in addition to the orientation illustrated.

本文中所使用術語僅是為了闡述特定示例性實施例而並非旨在限制示例性實施例。除非上下文清楚地另外指明,否則本文中所使用的單數形式「一(a、an)」及「所述(the)」旨在亦包括複數形式。更應理解,當在本說明書中使用用語「包括(comprises及/或comprising)」或「包含(includes及/或including)」時,是表示所陳述特徵、整數、步驟、操作、元件、及/或組件的存在,但不排除一或多個其他特徵、整數、步驟、操作、元件、組件、及/或其群組的存在或添加。The terminology used herein is for the purpose of the description of the exemplary embodiments embodiments The singular forms "a", "an" and "the" It is to be understood that the terms "comprises and/or "comprising" or "includes" and "includes" when used in this specification mean the stated features, integers, steps, operations, components, and / The existence of components or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, components, components, and/or groups thereof.

在本文中可參照剖視圖來闡述示例性實施例,其中剖視圖是理想化示例性實施例(及中間結構)的示意性說明。因此,可預期存在由例如製造技術及/或容差所造成的與圖示形狀的偏差。因此,示例性實施例不應被視作僅限於本文中所示區的特定形狀,而是包括由例如製造所導致的形狀偏差。舉例而言,被示出為矩形的植入區將通常具有圓形特徵或曲線特徵及/或在其邊緣處具有植入濃度的梯度,而非自植入區至非植入區為二元變化。相同地,藉由植入而形成的隱埋區可在隱埋區與在進行植入時所經過的表面之間的區中造成某些植入。因此,圖中所示的區為示意性的,其形狀並非旨在說明裝置的區的實際形狀,且其形狀並非旨在限制示例性實施例的範圍。Exemplary embodiments may be described herein with reference to cross-sectional illustrations, which are schematic illustrations of idealized exemplary embodiments (and intermediate structures). Thus, deviations from the shapes of the illustrations as a result of, for example, manufacturing techniques and/or tolerances are contemplated. Thus, the exemplary embodiments should not be construed as limited to the specific shapes of the regions illustrated herein. For example, an implanted region shown as a rectangle will typically have a circular or curved feature and/or a gradient of implant concentration at its edges, rather than a binary from the implanted region to the non-implanted region. Variety. Similarly, a buried region formed by implantation can cause some implantation in the region between the buried region and the surface through which the implantation takes place. The area illustrated in the figures is therefore intended to be illustrative, and is not intended to limit the scope of the exemplary embodiments.

除非另有定義,否則本文中所用的全部用語(包括技術用語及科學用語)的意義皆與示例性實施例所屬技術領域中的通常知識者所通常理解的意義相同。更應理解,用語(例如在常用辭典中所定義的用語)應被解釋為具有與其在相關技術的上下文中的意義一致的意義,且除非在本文中進行明確定義,否則不應將其解釋為具有理想化或過於正式的意義。Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning meaning meaning It should be further understood that terms (such as those defined in commonly used dictionaries) should be interpreted as having a meaning consistent with their meaning in the context of the related art, and should not be construed as being Ideal or too formal.

現在將參照附圖中所示的示例性實施例,其中通篇中相同的參考編號可指代相同的組件。Reference will now be made to the exemplary embodiments illustrated in the drawings in which the same reference

圖1是根據本發明概念的某些示例性實施例的計算裝置100的示意性方塊圖。計算裝置100可包括控制器200、電力管理積體電路(PMIC)300、及記憶體400。計算裝置100可為個人電腦(personal computer,PC)或行動計算裝置(mobile computing device)。所述行動計算裝置可為膝上型電腦(laptop computer)、行動電話(cellular phone)、智慧型電話(smart phone)、平板個人電腦(tablet PC)、個人數位助理(personal digital assistant,PDA)、企業數位助理(enterprise digital assistant,EDA)、數位照相機(digital still camera)、數位視訊相機(digital video camera)、可攜式多媒體播放機(portable multimedia player,PMP)、個人導航裝置(personal navigation device)或可攜式導航裝置(portable navigation device,PND)、手持式遊戲機(handheld game console)、行動網際網路裝置(mobile internet device,MID)、穿戴式電腦(wearable computer)、物聯網(internet of things,IoT)裝置、萬聯網(internet of everything,IoE)裝置、或電子書(e-book),但本發明概念並非僅限於該些示例性實施例。FIG. 1 is a schematic block diagram of a computing device 100 in accordance with some exemplary embodiments of the inventive concept. The computing device 100 can include a controller 200, a power management integrated circuit (PMIC) 300, and a memory 400. Computing device 100 can be a personal computer (PC) or a mobile computing device. The mobile computing device can be a laptop computer, a cellular phone, a smart phone, a tablet PC, a personal digital assistant (PDA), Enterprise digital assistant (EDA), digital still camera, digital video camera, portable multimedia player (PMP), personal navigation device Or portable navigation device (PND), handheld game console, mobile internet device (MID), wearable computer, internet of things (internet of Things, IoT) devices, internet of everything (IoE) devices, or e-books, but the inventive concept is not limited to the exemplary embodiments.

控制器200可控制電力管理積體電路300的運作及記憶體400的運作。控制器200可被實作為主機(host)、積體電路(integrated circuit,IC)、母板(mother board)、系統晶片(SoC)、應用處理器(application processor,AP)、行動應用處理器(mobile AP)、或晶片組(chipset)。當控制器200被形成為包括系統晶片、應用處理器、或行動應用處理器的第一封裝(package)且記憶體400被形成為第二封裝時,所述第二封裝可堆疊於所述第一封裝上。控制器200可包括匯流排架構(bus architecture)201、中央處理單元(CPU)210、記憶體介面220、時脈管理單元(CMU)230、電力管理單元(PMU)240、輸入/輸出(I/O)介面250、及內部記憶體(internal memory)260。The controller 200 can control the operation of the power management integrated circuit 300 and the operation of the memory 400. The controller 200 can be implemented as a host, an integrated circuit (IC), a mother board, a system chip (SoC), an application processor (AP), and a mobile application processor ( Mobile AP), or chipset. When the controller 200 is formed as a first package including a system wafer, an application processor, or a mobile application processor and the memory 400 is formed as a second package, the second package may be stacked on the first package On a package. The controller 200 may include a bus architecture 201, a central processing unit (CPU) 210, a memory interface 220, a clock management unit (CMU) 230, a power management unit (PMU) 240, and an input/output (I/). O) interface 250 and internal memory 260.

在本發明概念的某些示例性實施例中,主設備或主裝置可為中央處理單元210、圖形處理單元(CPU)、影像訊號處理器(ISP)、數位訊號處理器(DSP)、通訊處理器(communication processor,CP)、或多媒體處理器,但本發明概念並非僅限於該些示例性實施例。所述通訊處理器可為數據機晶片。在本發明概念的某些示例性實施例中,從設備或從裝置可為記憶體介面220或輸入/輸出介面250,但本發明概念並非僅限於該些示例性實施例。In some exemplary embodiments of the inventive concept, the master device or the master device may be a central processing unit 210, a graphics processing unit (CPU), an image signal processor (ISP), a digital signal processor (DSP), and a communication process. (communication processor, CP), or multimedia processor, but the inventive concept is not limited to the exemplary embodiments. The communication processor can be a data processor chip. In some exemplary embodiments of the inventive concept, the slave device or the slave device may be the memory interface 220 or the input/output interface 250, but the inventive concept is not limited to the exemplary embodiments.

主設備可在給定時間週期期間獨立地處理欲自行處理的至少某些指令,並可聯合從設備一起處理其餘指令。所述指令可表示工作負載。至少一個主設備與至少一個從設備經由匯流排架構201而彼此傳送訊號及/或資料。The master device can independently process at least some of the instructions to be processed by itself during a given time period and can process the remaining instructions together with the slave device. The instructions may represent a workload. The at least one master device and the at least one slave device transmit signals and/or data to each other via the bus bar architecture 201.

在本發明概念的某些示例性實施例中,假定中央處理單元210為主設備且記憶體介面220或輸入/輸出介面250為從設備,但本發明概念並非僅限於該些示例性實施例。在某些示例性實施例中,作為主設備運作的組件可作為從設備運作,且反之亦然。In some exemplary embodiments of the inventive concept, it is assumed that the central processing unit 210 is a master device and the memory interface 220 or the input/output interface 250 is a slave device, but the inventive concept is not limited to the exemplary embodiments. In some exemplary embodiments, a component that operates as a master device can operate as a slave device, and vice versa.

匯流排架構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)、或上述者的組合,但本發明概念並非僅限於該些示例性實施例。The busbar architecture 201 can be implemented as an advanced microcontroller bus architecture (AMBAÒ), an advanced high-performance bus (AHB), and an advanced peripheral bus (APB). , advanced extensible interface (AXI), advanced system bus (ASB), AXI Coherency Extensions (ACE), or a combination of the above, but the inventive concept It is not limited to the exemplary embodiments.

根據本發明概念的某些示例性實施例,中央處理單元210可執行動態電壓及頻率縮放(DVFS)程式。一種根據動態電壓及頻率縮放程式來控制的動態電壓及頻率縮放方法是由主設備執行(例如,中央處理單元210可應用於以上已闡述的主設備及/或從設備)。According to certain exemplary embodiments of the inventive concept, central processing unit 210 may execute a dynamic voltage and frequency scaling (DVFS) program. A dynamic voltage and frequency scaling method that is controlled according to a dynamic voltage and frequency scaling program is performed by the master device (e.g., the central processing unit 210 can be applied to the master device and/or slave device as set forth above).

效能監測單元211可實作於中央處理單元210內的硬體(例如,效能監測電路)中。效能監測單元211可對中央處理單元210的效能參數進行量測或計數。舉例而言,效能監測單元211可對例如指令循環(instruction cycle)、快取命中(cache hit)、快取未中、及分支未中(branch miss)等參數進行量測或計數。舉例而言,效能監測單元211可對在給定持續時間期間發生的事件的總數目中與對應效能參數相關的事件的數目進行量測或計數。The performance monitoring unit 211 can be implemented in a hardware (eg, a performance monitoring circuit) within the central processing unit 210. The performance monitoring unit 211 can measure or count the performance parameters of the central processing unit 210. For example, the performance monitoring unit 211 can measure or count parameters such as an instruction cycle, a cache hit, a cache miss, and a branch miss. For example, performance monitoring unit 211 can measure or count the number of events associated with corresponding performance parameters among the total number of events that occurred during a given duration.

效能監測單元211可接收在給定持續時間由中央處理單元210處理指令(例如,工作負載)的同時所產生的所有事件(例如第一事件),可藉由對所有事件(例如,第一事件)中與所述(被執行)指令的總數目對應的事件(例如,第二事件)的數目進行計數而產生第一計數值,可藉由對可藉由中央處理單元210與記憶體介面220之間的交互作用而得到處理的指令相關的事件(例如,第三事件)的數目進行計數而產生第二計數值,並且可輸出第一計數值及第二計數值。舉例而言,效能監測單元211可包括用於產生第一計數值的第一計數器211-1及用於產生第二計數值的第二計數器211-2。The performance monitoring unit 211 can receive all events (eg, first events) generated while the instructions (eg, workloads) are processed by the central processing unit 210 for a given duration, by all events (eg, the first event) The number of events (eg, the second event) corresponding to the total number of the (executed) instructions is counted to generate a first count value, which can be obtained by the central processing unit 210 and the memory interface 220 The number of events (eg, third events) associated with the processed instruction is counted to generate a second count value, and the first count value and the second count value may be output. For example, the performance monitoring unit 211 can include a first counter 211-1 for generating a first count value and a second counter 211-2 for generating a second count value.

由中央處理單元210執行的動態電壓及頻率縮放程式可利用第一計數值及第二計數值計算每千指令未中數(MPKI),並可根據所述每千指令未中數產生用於控制中央處理單元210的動態電壓及頻率縮放、記憶體介面220的動態電壓及頻率縮放、及輸入/輸出介面250的動態電壓及頻率縮放的控制訊號。此時,第二計數值可為可指示L2快取未中的數目的L2快取未中計數。The dynamic voltage and frequency scaling program executed by the central processing unit 210 can calculate the number of misses per thousand instructions (MPKI) using the first count value and the second count value, and can be generated for control according to the number of misses per thousand instructions. The dynamic voltage and frequency scaling of the central processing unit 210, the dynamic voltage and frequency scaling of the memory interface 220, and the dynamic voltage and frequency scaling control signals of the input/output interface 250. At this time, the second count value may be an L2 cache miss count that may indicate the number of L2 cache misses.

作為另一種選擇,效能監測單元211可產生與CPI(每一指令循環數(cycles per instruction),每一指令時脈循環數(clock cycles per instruction),或每一指令時脈數(clocks per instruction))相關的第一計數值,及/或對應於L2快取未中計數的第二計數值。此時,由中央處理單元210執行的動態電壓及頻率縮放程式可利用第一計數值及/或第二計數值而產生用於控制中央處理單元210的動態電壓及頻率縮放、記憶體介面220的動態電壓及頻率縮放、及輸入/輸出介面250的動態電壓及頻率縮放的控制訊號。Alternatively, the performance monitoring unit 211 can generate and CPI (cycles per instruction, clock cycles per instruction, or number of clocks per instruction). )) the associated first count value, and/or the second count value corresponding to the L2 cache miss count. At this time, the dynamic voltage and frequency scaling program executed by the central processing unit 210 can generate the dynamic voltage and frequency scaling for controlling the central processing unit 210 and the memory interface 220 by using the first count value and/or the second count value. Dynamic voltage and frequency scaling, and control signals for dynamic voltage and frequency scaling of the input/output interface 250.

眾所習知,所述CPI可由以下方程式定義:,   其中CCI為給定指令類型的時脈循環的數目或給定類型的指令的數目,且IC為總指令計數。As is well known, the CPI can be defined by the following equation: Where CCI is the number of clock cycles of a given instruction type or the number of instructions of a given type, and IC is the total instruction count.

作為從設備的實例,記憶體介面220可根據中央處理單元210的控制而控制對記憶體400的寫入操作或讀取操作。記憶體介面220可基於自時脈管理單元230輸出的第二時脈訊號CLK2的第二頻率及自電力管理積體電路300輸出的第四操作電壓PW4的位準而控制對記憶體400的寫入操作或讀取操作。可根據動態電壓及頻率縮放而調整第二時脈訊號CLK2的第二頻率及第四操作電壓PW4的位準中的每一者。As an example of the slave device, the memory interface 220 can control a write operation or a read operation to the memory 400 according to the control of the central processing unit 210. The memory interface 220 can control the writing to the memory 400 based on the second frequency of the second clock signal CLK2 output from the clock management unit 230 and the level of the fourth operating voltage PW4 output from the power management integrated circuit 300. Enter an operation or a read operation. Each of the second frequency of the second clock signal CLK2 and the level of the fourth operating voltage PW4 can be adjusted according to the dynamic voltage and the frequency scaling.

儘管為便於說明起見而在圖1示出一個記憶體介面220及一個記憶體400,然而記憶體介面220可為包含多個不同記憶體介面的記憶體介面組,且記憶體400可為包含不同記憶體的記憶體組。舉例而言,當記憶體400為包含動態隨機存取記憶體(dynamic random access memory,DRAM)及快閃記憶體(flash memory)(例如,反及型快閃記憶體(邏輯反及)或反或型快閃記憶體(邏輯反或))的記憶體組時,記憶體介面220可為包含動態隨機存取記憶體控制器及快閃記憶體控制器的記憶體介面組,但本發明概念並非僅限於該些示例性實施例。Although a memory interface 220 and a memory 400 are shown in FIG. 1 for convenience of explanation, the memory interface 220 may be a memory interface group including a plurality of different memory interfaces, and the memory 400 may be included. Memory groups of different memories. For example, when the memory 400 is a dynamic random access memory (DRAM) and a flash memory (for example, a reverse flash memory (logical inverse) or a reverse Or a type of memory of a flash memory (logical inverse), the memory interface 220 may be a memory interface group including a dynamic random access memory controller and a flash memory controller, but the inventive concept It is not limited to the exemplary embodiments.

記憶體400可由揮發性記憶體及/或非揮發性記憶體形成。揮發性記憶體可為隨機存取記憶體(random access memory,RAM)、動態隨機存取記憶體、靜態隨機存取記憶體(static RAM,SRAM)、閘流體隨機存取記憶體(thyristor RAM,T-RAM)、零電容器隨機存取記憶體(zero capacitor RAM,Z-RAM)、或雙電晶體隨機存取記憶體(twin transistor RAM,TTRAM),但本發明概念並非僅限於該些示例性實施例。非揮發性記憶體可為電可抹除可程式化唯讀記憶體(electrically erasable programmable read-only memory,EEPROM)、快閃記憶體、磁性隨機存取記憶體(magnetic RAM,MRAM)、自旋轉移矩(spin-transfer torque)磁性隨機存取記憶體、鐵電隨機存取記憶體(ferroelectric RAM,FeRAM)、相變隨機存取記憶體(phase-change RAM,PRAM)、電阻式隨機存取記憶體(resistive RAM,RRAM)、奈米管電阻式隨機存取記憶體(nanotube RRAM)、聚合物隨機存取記憶體(polymer RAM,PoRAM)、奈米浮閘記憶體(nano floating gate memory,NFGM)、全像記憶體(holographic memory)、分子電子記憶體裝置(molecular electronics memory device)、或絕緣體阻變記憶體(insulator resistance change memory),但本發明概念並非僅限於該些示例性實施例。The memory 400 can be formed from volatile memory and/or non-volatile memory. Volatile memory can be random access memory (RAM), dynamic random access memory, static random access memory (SRAM), thyristor RAM (thyristor RAM, T-RAM), zero-capacitor random access memory (Z-RAM), or twin transistor RAM (TTRAM), but the inventive concept is not limited to the exemplary Example. Non-volatile memory can be electrically erasable programmable read-only memory (EEPROM), flash memory, magnetic random access memory (MRAM), spin Spin-transfer torque magnetic random access memory, ferroelectric random access memory (FRAM), phase-change RAM (PRAM), resistive random access Resistive RAM (RRAM), nanotube RRAM, polymer RAM (PoRAM), nano floating gate memory (nano floating gate memory, NFGM), holographic memory, molecular electronic memory device, or insulator resistance change memory, but the inventive concept is not limited to the exemplary embodiments. .

記憶體400可被實作成固態驅動機(solid state drive)或固態磁碟(solid state disk,SSD)、嵌式固態磁碟(embedded SSD,eSSD)、多媒體卡(multimedia card,MMC)、嵌式多媒體卡(embedded MMC,eMMC)、或萬能快閃儲存器(universal flash storage,UFS),但本發明概念並非僅限於該些示例性實施例。The memory 400 can be implemented as a solid state drive or a solid state disk (SSD), an embedded solid state disk (eSSD), a multimedia card (MMC), and a built-in type. An embedded card (embedded MMC, eMMC), or a universal flash storage (UFS), but the inventive concept is not limited to the exemplary embodiments.

時脈管理單元230可因應於自中央處理單元210或自中央處理單元210所執行的動態電壓及頻率縮放程式輸出的第一控制訊號CTR1而調整被施加至中央處理單元210的第一時脈訊號CLK1的第一頻率、被施加至記憶體介面220的第二時脈訊號CLK2的第二頻率、及/或被施加至輸入/輸出介面250的第三時脈訊號CLK3的第三頻率。在某些示例性實施例中,「用於調整(to adjust)」可意指用於增大、用於維持、或用於減小。The clock management unit 230 can adjust the first clock signal applied to the central processing unit 210 according to the first control signal CTR1 output from the central processing unit 210 or the dynamic voltage and frequency scaling program executed by the central processing unit 210. The first frequency of CLK1, the second frequency of the second clock signal CLK2 applied to the memory interface 220, and/or the third frequency of the third clock signal CLK3 applied to the input/output interface 250. In some exemplary embodiments, "for adjustment" may mean for increasing, for maintaining, or for reducing.

電力管理單元240可因應於自中央處理單元210或自中央處理單元210所執行的動態電壓及頻率縮放程式輸出的第二控制訊號CTR2而產生用於控制電力管理積體電路300的運作的第三控制訊號CTR3。The power management unit 240 may generate a third for controlling the operation of the power management integrated circuit 300 in response to the second control signal CTR2 output from the central processing unit 210 or the dynamic voltage and frequency scaling program executed by the central processing unit 210. Control signal CTR3.

電力管理積體電路300可因應於第三控制訊號CTR3而調整第一操作電壓PW1至第七操作電壓PW7中每一者的位準。舉例而言,電力管理積體電路300可因應於第三控制訊號CTR3而控制被施加至中央處理單元210的第一操作電壓PW1的位準、被施加至時脈管理單元230的第二操作電壓PW2的位準、被施加至電力管理單元240的第三操作電壓PW3的位準、被施加至記憶體介面220的第四操作電壓PW4的位準、被施加至記憶體400的第五操作電壓PW5的位準、被施加至輸入/輸出介面250的第六操作電壓PW6的位準、及被施加至內部記憶體260的第七操作電壓PW7的位準,但本發明概念並非僅限於該些示例性實施例。The power management integrated circuit 300 can adjust the level of each of the first to seventh operating voltages PW1 to PW7 in response to the third control signal CTR3. For example, the power management integrated circuit 300 can control the level of the first operating voltage PW1 applied to the central processing unit 210 and the second operating voltage applied to the clock management unit 230 in response to the third control signal CTR3. The level of PW2, the level of the third operating voltage PW3 applied to the power management unit 240, the level of the fourth operating voltage PW4 applied to the memory interface 220, and the fifth operating voltage applied to the memory 400 The level of PW5, the level of the sixth operating voltage PW6 applied to the input/output interface 250, and the level of the seventh operating voltage PW7 applied to the internal memory 260, but the inventive concept is not limited to these An exemplary embodiment.

第一控制訊號CTR1、第二控制訊號CTR2、及第三控制訊號CTR3中的每一者可包含至少一個類比訊號或至少一個數位訊號。Each of the first control signal CTR1, the second control signal CTR2, and the third control signal CTR3 may include at least one analog signal or at least one digital signal.

提供輸入/輸出介面250來用於資料的輸入及輸出。輸入/輸出介面250可基於自時脈管理單元230輸出的第三時脈訊號CLK3及自電力管理積體電路300輸出的第六操作電壓PW6而傳輸資料或接收資料。可根據動態電壓及頻率縮放而調整第三時脈訊號CLK3的第三頻率及第六操作電壓PW6的位準。An input/output interface 250 is provided for inputting and outputting data. The input/output interface 250 can transmit data or receive data based on the third clock signal CLK3 output from the clock management unit 230 and the sixth operating voltage PW6 output from the power management integrated circuit 300. The third frequency of the third clock signal CLK3 and the level of the sixth operating voltage PW6 can be adjusted according to the dynamic voltage and the frequency scaling.

輸入/輸出介面250可支援序列先進技術附接(serial advanced technology attachment,SATA)、快速序列先進技術附接(SATA express,SATAe)、序列附加小電腦系統介面(serial attached SCSI(small computer system interface),SAS)、快速周邊組件互連(peripheral component interconnect-express,PCIeÒ)、快速非揮發性記憶體(non-volatile memory express,NVMe)、或行動工業處理器介面(mobile industry processor interface,MIPIÒ)、但本發明概念並非僅限於該些示例性實施例。The input/output interface 250 can support serial advanced technology attachment (SATA), SATA express (SATAe), serial attached SCSI (small computer system interface) , SAS), peripheral component interconnect-express (PCIe), non-volatile memory express (NVMe), or mobile industry processor interface (MIPIÒ), However, the inventive concept is not limited to the exemplary embodiments.

內部記憶體260可為中央處理單元210的運作記憶體。舉例而言,內部記憶體260可由唯讀記憶體(read-only memory,ROM)或靜態隨機存取記憶體(SRAM)形成,但本發明概念並非僅限於該些示例性實施例。倘若記憶體400由非揮發性記憶體形成,則儲存於記憶體400中的動態電壓及頻率縮放程式可在計算裝置100啟動時被加載至內部記憶體260並由中央處理單元210執行。Internal memory 260 can be the operational memory of central processing unit 210. For example, the internal memory 260 may be formed of a read-only memory (ROM) or a static random access memory (SRAM), but the inventive concept is not limited to the exemplary embodiments. If the memory 400 is formed of non-volatile memory, the dynamic voltage and frequency scaling program stored in the memory 400 can be loaded into the internal memory 260 and executed by the central processing unit 210 when the computing device 100 is booted.

圖2是包括在由圖1所示主設備執行的動態電壓及頻率縮放(DVFS)程式213中的模組的圖。參照圖1及圖2,動態電壓及頻率縮放程式213可包括動態電壓及頻率縮放(DVFS)調節器215、時脈管理單元裝置驅動機217、及電力管理單元裝置驅動機218。2 is a diagram of a module included in a dynamic voltage and frequency scaling (DVFS) program 213 executed by the master device of FIG. Referring to FIGS. 1 and 2, the dynamic voltage and frequency scaling program 213 may include a dynamic voltage and frequency scaling (DVFS) regulator 215, a clock management unit device driver 217, and a power management unit device driver 218.

動態電壓及頻率縮放調節器215、時脈管理單元裝置驅動機217、及電力管理單元裝置驅動機218可為模組。在某些示例性實施例中,模組可為執行與其名稱對應的功能及操作的電腦程式碼或軟體。動態電壓及頻率縮放調節器215可控制動態電壓及頻率縮放程式213或動態電壓及頻率縮放總體運作。動態電壓及頻率縮放調節器215可包括工作負載意識程式(workload awareness program,WAP)216。動態電壓及頻率縮放調節器215可控制工作負載意識程式216的執行。The dynamic voltage and frequency scaling adjuster 215, the clock management unit device driver 217, and the power management unit device driver 218 may be modules. In some exemplary embodiments, a module may be a computer code or software that performs the functions and operations corresponding to its name. The dynamic voltage and frequency scaling regulator 215 can control the dynamic voltage and frequency scaling program 213 or the overall operation of the dynamic voltage and frequency scaling. The dynamic voltage and frequency scaling adjuster 215 can include a workload awareness program (WAP) 216. The dynamic voltage and frequency scaling regulator 215 can control the execution of the workload awareness program 216.

工作負載意識程式216可因應於第一計數值NOI及/或第二計數值NOCM而控制時脈管理單元裝置驅動機217及電力管理單元裝置驅動機218。第一計數值NOI及第二計數值NOCM可為具有不同資訊或資料的值。The workload awareness program 216 can control the clock management unit device driver 217 and the power management unit device driver 218 in response to the first count value NOI and/or the second count value NOCM. The first count value NOI and the second count value NOCM may be values having different information or materials.

如上所述,第一計數值NOI可對應於在中央處理單元210在給定時間期間處理指令(例如工作負載)的同時所產生的第一事件中對應於所有所執行(所承擔)指令的第二事件的數目,或可為計算每一指令循環數值所需的值。第二計數值NOCM可對應於在中央處理單元210在所述給定時間期間處理所有指令的同時所產生的第一事件中第三事件的數目,所述第三事件與能夠藉由主設備(例如,中央處理單元210)與從設備(例如,記憶體介面220或輸入/輸出介面250)之間的交互作用而得到處理的指令相關。舉例而言,第二計數值NOCM可對應於L2快取未中計數,但並非僅限於此。As described above, the first count value NOI may correspond to the first event corresponding to all executed (committed) instructions in the first event generated while the central processing unit 210 processes the instruction (eg, workload) during a given time period. The number of two events, or the value required to calculate the value of each instruction cycle. The second count value NOCM may correspond to the number of third events in the first event generated while the central processing unit 210 processes all of the instructions during the given time, the third event being capable of being For example, central processing unit 210) is associated with instructions that are processed from interactions between devices (eg, memory interface 220 or input/output interface 250). For example, the second count value NOCM may correspond to the L2 cache miss count, but is not limited thereto.

舉例而言,利用在AMRÒ CortexÒ-A系列處理器中所使用的電力管理單元事件來闡述所述第一事件、所述第二事件、及所述第三事件。For example, the first event, the second event, and the third event are illustrated using power management unit events used in an AMRÒ Cortex(R)-A series processor.

表1 Table 1

第一事件可指代與在處理指令的同時所產生的所有事件(例如表1中所述的SW_INCR、L1I_CACHE_REFILL、INST_RETIRED、CPU_CYCLES、MEM_ACCESS、L2D_CACHE_REFILL、及BUS_CYCLES)具有相同功能或相似功能的事件。第二事件可指代與第一事件中的事件INST_RETIRED具有相同功能或相似功能的事件。第三事件可指代與第一事件中的事件L2D_CACHE_REFILL具有相同功能或相似功能的事件。The first event may refer to an event having the same function or similar function as all events generated while processing the instruction, such as SW_INCR, L1I_CACHE_REFILL, INST_RETIRED, CPU_CYCLES, MEM_ACCESS, L2D_CACHE_REFILL, and BUS_CYCLES described in Table 1. The second event may refer to an event having the same function or similar function as the event INST_RETIRED in the first event. The third event may refer to an event having the same function or similar function as the event L2D_CACHE_REFILL in the first event.

工作負載意識程式216可基於第一計數值NOI及/或第二計數值NOCM而計算每千指令未中數值或每一指令循環數值,並可根據計算結果而傳送第一中間控制訊號至時脈管理單元裝置驅動機217。時脈管理單元裝置驅動機217可因應於第一中間控制訊號而輸出第一控制訊號CTR1至時脈管理單元230。The workload awareness program 216 may calculate a value per thousand instructions or a value of each instruction cycle based on the first count value NOI and/or the second count value NOCM, and may transmit the first intermediate control signal to the clock according to the calculation result. The management unit device drives the machine 217. The clock management unit device driver 217 can output the first control signal CTR1 to the clock management unit 230 in response to the first intermediate control signal.

工作負載意識程式216可基於第一計數值NOI及/或第二計數值NOCM而計算每千指令未中數值或每一指令循環數值,並可根據計算結果而傳送第二中間控制訊號至電力管理單元裝置驅動機218。電力管理單元裝置驅動機218可因應於第二中間控制訊號而輸出第二控制訊號CTR2至電力管理單元240。The workload awareness program 216 may calculate a value per thousand instructions or a value of each instruction cycle based on the first count value NOI and/or the second count value NOCM, and may transmit the second intermediate control signal to the power management according to the calculation result. The unit device drives the machine 218. The power management unit device driver 218 can output the second control signal CTR2 to the power management unit 240 in response to the second intermediate control signal.

效能監測單元211可藉由對中央處理單元210在給定時間期間處理所有指令的同時所產生的第一事件中的第四事件的數目進行計數而產生第三計數值,所述第四事件對應於中央處理單元210可獨立處理的指令的數目。可向工作負載意識程式216提供第三計數值。此時,工作負載意識程式216可基於第一計數值NOI、第二計數值NOCM、及/或第三計數值而計算每千指令未中數值或每一指令循環數值。The performance monitoring unit 211 may generate a third count value by counting the number of fourth events in the first event generated by the central processing unit 210 while processing all the instructions during a given time period, the fourth event corresponding to The number of instructions that can be processed independently by central processing unit 210. A third count value can be provided to the workload awareness program 216. At this time, the workload awareness program 216 may calculate a value per thousand instructions or a value of each instruction cycle based on the first count value NOI, the second count value NOCM, and/or the third count value.

當記憶體介面220為從設備時,第二計數值NOCM可對應於記憶體約束且第三計數值可對應於計算約束。用語「計算約束」可指代核心約束、計算約束、或中央處理單元約束。When the memory interface 220 is a slave device, the second count value NOCM may correspond to a memory constraint and the third count value may correspond to a computation constraint. The term "computation constraint" can refer to a core constraint, a computational constraint, or a central processing unit constraint.

用語「記憶體約束」可指代其中用於完成由中央處理單元210執行的任務的時間是由對記憶體400的存取速度決定的情況。然而,計算約束可指代其中用於完成由中央處理單元210執行的任務的時間主要由中央處理單元210的速度決定的情況。The term "memory constraint" may refer to a situation in which the time for completing the task performed by the central processing unit 210 is determined by the access speed to the memory 400. However, the computational constraints may refer to the situation in which the time for completing the tasks performed by the central processing unit 210 is primarily determined by the speed of the central processing unit 210.

當輸入/輸出介面250為從設備時,第二計數值NOCM可對應於輸入/輸出約束且第三計數值可對應於計算約束。輸入/輸出約束可指代其中用於完成由中央處理單元210執行的任務的時間是由輸入/輸出介面250的速度決定的情況。舉例而言,當第一計數值NOI為第二計數值NOCM與第三計數值之和時,工作負載意識程式216可利用第一計數值NOI及第二計數值NOCM計算第三計數值。第一計數值NOI可對應於主設備(例如,中央處理單元210)的工作負載。When the input/output interface 250 is a slave device, the second count value NOCM may correspond to an input/output constraint and the third count value may correspond to a calculation constraint. The input/output constraints may refer to the case where the time for completing the tasks performed by the central processing unit 210 is determined by the speed of the input/output interface 250. For example, when the first count value NOI is the sum of the second count value NOCM and the third count value, the workload awareness program 216 can calculate the third count value by using the first count value NOI and the second count value NOCM. The first count value NOI may correspond to the workload of the master device (eg, central processing unit 210).

圖3是主設備與從設備(例如,記憶體約束)之間的交互作用的概念圖。從設備(例如,記憶體介面220)可在寫入操作期間將自主設備(例如中央處理單元210)輸出的資料儲存於記憶體400中,並可根據主設備的控制而在讀取操作期間將自記憶體400所讀取的資料傳送至主設備。3 is a conceptual diagram of the interaction between a master device and a slave device (eg, a memory constraint). The slave device (eg, the memory interface 220) can store the data output by the autonomous device (eg, the central processing unit 210) in the memory 400 during the write operation, and can be during the read operation according to the control of the master device. The data read from the memory 400 is transferred to the host device.

圖4是根據計算約束(「CB」)工作負載或記憶體約束(「MB」)工作負載,主設備及從設備中的至少一者的動態電壓及頻率縮放的概念圖。圖5是根據主設備的工作負載,主設備及從設備中的至少一者的動態電壓及頻率縮放的流程圖。在主設備(例如,中央處理單元210)中執行的動態電壓及頻率縮放程式213可基於自效能監測單元211輸出的第一計數值NOI及第二計數值NOCM中的至少一者而偵測中央處理單元210的當前工作負載是計算約束還是記憶體約束(或輸入/輸出約束),並可根據偵測結果而控制主設備(例如,中央處理單元210)的動態電壓及頻率縮放及從設備(例如,記憶體介面220或輸入/輸出介面250)的動態電壓及頻率縮放。4 is a conceptual diagram of dynamic voltage and frequency scaling of at least one of a master device and a slave device based on a computational constraint ("CB") workload or a memory constraint ("MB") workload. 5 is a flow chart of dynamic voltage and frequency scaling of at least one of a master device and a slave device based on a workload of the master device. The dynamic voltage and frequency scaling program 213 executed in the master device (eg, the central processing unit 210) may detect the center based on at least one of the first count value NOI and the second count value NOCM output from the performance monitoring unit 211. The current workload of the processing unit 210 is a computational constraint or a memory constraint (or an input/output constraint), and can control the dynamic voltage and frequency scaling of the master device (eg, the central processing unit 210) and the slave device according to the detection result ( For example, dynamic voltage and frequency scaling of memory interface 220 or input/output interface 250).

舉例而言,當動態電壓及頻率縮放程式213偵測到中央處理單元210的工作負載為記憶體約束或輸入/輸出約束時,即使中央處理單元210的工作負載大或中央處理單元210的負載高,動態電壓及頻率縮放程式213亦不對中央處理單元210執行增大電壓及/或頻率的操作,但動態電壓及頻率縮放程式213對從設備(例如,記憶體介面220或輸入/輸出介面250)執行增大電壓及/或頻率的操作。換言之,動態電壓及頻率縮放程式213對從設備(例如,記憶體介面220或輸入/輸出介面250)執行增大電壓及/或頻率的操作,且因此,可存在對中央處理單元210的記憶體導向工作負載的改進。For example, when the dynamic voltage and frequency scaling program 213 detects that the workload of the central processing unit 210 is a memory constraint or an input/output constraint, even if the workload of the central processing unit 210 is large or the load of the central processing unit 210 is high. The dynamic voltage and frequency scaling program 213 also does not perform an operation of increasing the voltage and/or frequency on the central processing unit 210, but the dynamic voltage and frequency scaling program 213 is for the slave device (eg, the memory interface 220 or the input/output interface 250). Perform an operation to increase the voltage and/or frequency. In other words, the dynamic voltage and frequency scaling program 213 performs an operation of increasing the voltage and/or frequency on the slave device (eg, the memory interface 220 or the input/output interface 250), and thus, there may be a memory for the central processing unit 210. Guided workload improvements.

然而,當動態電壓及頻率縮放程式213偵測到中央處理單元210的工作負載為記憶體約束或輸入/輸出約束且中央處理單元210的工作負載大或中央處理單元210的負載高時,傳統動態電壓及頻率縮放程式僅執行對中央處理單元210增大電壓及/或頻率的操作,但不執行對從設備(例如,記憶體介面220或輸入/輸出介面250)增大電壓及/或頻率的操作。此時,儘管中央處理單元210的電壓及/或頻率增大,然而包括中央處理單元210及從設備(例如,記憶體介面220或輸入/輸出介面250)的控制器200的效能不增大且中央處理單元210的功率消耗增大。因此,中央處理單元210的功率效率降低。However, when the dynamic voltage and frequency scaling program 213 detects that the workload of the central processing unit 210 is a memory constraint or an input/output constraint and the workload of the central processing unit 210 is large or the load of the central processing unit 210 is high, the conventional dynamic The voltage and frequency scaling routine only performs operations to increase voltage and/or frequency to the central processing unit 210, but does not perform voltage and/or frequency increases on the slave device (eg, memory interface 220 or input/output interface 250). operating. At this time, although the voltage and/or frequency of the central processing unit 210 increases, the performance of the controller 200 including the central processing unit 210 and the slave device (eg, the memory interface 220 or the input/output interface 250) does not increase and The power consumption of the central processing unit 210 is increased. Therefore, the power efficiency of the central processing unit 210 is lowered.

在操作S10中,效能監測單元211可基於在中央處理單元210處理指令的同時所產生的第一事件、第二事件、及/或第三事件而對工作負載執行計算,並可將對應於計算結果的第一計數值NOI及第二計數值NOCM中的至少一者輸出至動態電壓及頻率縮放程式213的工作負載意識程式216。工作負載意識程式216可利用第一計數值NOI及第二計數值NOCM中的至少一者而計算每一指令循環數值或每千指令未中數值。每千指令未中數值可指代第二計數值NOCM除以第一計數值NOI(例如,NOCM/NOI)。換言之,第二計數值NOCM可指代L2快取未中計數且第一計數值NOI可指代中央處理單元210在給定時間期間所執行指令的總數目。In operation S10, the performance monitoring unit 211 may perform calculation on the workload based on the first event, the second event, and/or the third event generated while the central processing unit 210 processes the instruction, and may correspond to the calculation At least one of the resulting first count value NOI and second count value NOCM is output to the workload awareness program 216 of the dynamic voltage and frequency scaling program 213. The workload awareness program 216 can calculate each instruction cycle value or the value per thousand instructions by using at least one of the first count value NOI and the second count value NOCM. The value per thousand instructions may refer to the second count value NOCM divided by the first count value NOI (eg, NOCM/NOI). In other words, the second count value NOCM may refer to the L2 cache miss count and the first count value NOI may refer to the total number of instructions executed by the central processing unit 210 during a given time.

在操作S20中,當從設備為記憶體介面220時,工作負載意識程式216可基於第一計數值NOI及第二計數值NOCM中的至少一者而偵測中央處理單元210的工作負載為計算約束還是記憶體約束。當在操作S20中偵測到中央處理單元210的工作負載為計算約束(在為「是」的情形中)時,工作負載意識程式216可產生第一中間控制訊號及第二中間控制訊號以使中央處理單元210的動態電壓及頻率縮放得以執行。時脈管理單元裝置驅動機217可因應於第一中間控制訊號而產生第一控制訊號CTR1,且電力管理單元裝置驅動機218可因應於第二中間控制訊號而產生第二控制訊號CTR2。電力管理單元240可基於第二控制訊號CTR2而產生第三控制訊號CTR3。In operation S20, when the slave device is the memory interface 220, the workload awareness program 216 may detect the workload of the central processing unit 210 as a calculation based on at least one of the first count value NOI and the second count value NOCM. Constraints are still memory constraints. When it is detected in operation S20 that the workload of the central processing unit 210 is a computational constraint (in the case of YES), the workload awareness program 216 may generate the first intermediate control signal and the second intermediate control signal to enable The dynamic voltage and frequency scaling of the central processing unit 210 is performed. The clock management unit device driver 217 can generate the first control signal CTR1 according to the first intermediate control signal, and the power management unit device driver 218 can generate the second control signal CTR2 according to the second intermediate control signal. The power management unit 240 may generate the third control signal CTR3 based on the second control signal CTR2.

因應於第一控制訊號CTR1而運作的時脈管理單元230可增大被施加至中央處理單元210的第一時脈訊號CLK1的第一頻率。因應於第三控制訊號CTR3而運作的電力管理積體電路300可增大被施加至中央處理單元210的第一操作電壓PW1的位準。換言之,可在操作S30中執行中央處理單元210的動態電壓及頻率縮放。The clock management unit 230 operating in response to the first control signal CTR1 can increase the first frequency of the first clock signal CLK1 applied to the central processing unit 210. The power management integrated circuit 300 operating in response to the third control signal CTR3 can increase the level of the first operating voltage PW1 applied to the central processing unit 210. In other words, the dynamic voltage and frequency scaling of the central processing unit 210 can be performed in operation S30.

然而,當在操作S20中偵測到中央處理單元210的工作負載不為計算約束(在為「否」的情形中)時,工作負載意識程式216可在操作S40中偵測中央處理單元210的工作負載是否為記憶體約束。當在操作S40中偵測到中央處理單元210的工作負載為記憶體約束(在為「是」的情形中)時,工作負載意識程式216可產生第一中間控制訊號及第二中間控制訊號以執行記憶體介面220的動態電壓及頻率縮放。換言之,即使在中央處理單元210的工作負載大時,工作負載意識程式216亦可產生第一中間控制訊號及第二中間控制訊號以執行記憶體介面220的動態電壓及頻率縮放而非執行中央處理單元210的動態電壓及頻率縮放。However, when it is detected in operation S20 that the workload of the central processing unit 210 is not a computational constraint (in the case of NO), the workload awareness program 216 may detect the central processing unit 210 in operation S40. Whether the workload is a memory constraint. When it is detected in operation S40 that the workload of the central processing unit 210 is a memory constraint (in the case of YES), the workload awareness program 216 may generate the first intermediate control signal and the second intermediate control signal to The dynamic voltage and frequency scaling of the memory interface 220 is performed. In other words, even when the workload of the central processing unit 210 is large, the workload awareness program 216 can generate the first intermediate control signal and the second intermediate control signal to perform dynamic voltage and frequency scaling of the memory interface 220 instead of performing central processing. The dynamic voltage and frequency scaling of unit 210.

時脈管理單元裝置驅動機217可因應於第一中間控制訊號而產生第一控制訊號CTR1,且電力管理單元裝置驅動機218可因應於第二中間控制訊號而產生第二控制訊號CTR2。電力管理單元240可基於第二控制訊號CTR2而產生第三控制訊號CTR3。The clock management unit device driver 217 can generate the first control signal CTR1 according to the first intermediate control signal, and the power management unit device driver 218 can generate the second control signal CTR2 according to the second intermediate control signal. The power management unit 240 may generate the third control signal CTR3 based on the second control signal CTR2.

因應於第一控制訊號CTR1而運作的時脈管理單元230可增大被施加至記憶體介面220的第二時脈訊號CLK2的第二頻率。因應於第三控制訊號CTR3而運作的電力管理積體電路300可增大被施加至記憶體介面220的第四操作電壓PW4的位準。換言之,可在操作S50中執行記憶體介面220的動態電壓及頻率縮放。The clock management unit 230 operating in response to the first control signal CTR1 can increase the second frequency of the second clock signal CLK2 applied to the memory interface 220. The power management integrated circuit 300 operating in response to the third control signal CTR3 can increase the level of the fourth operating voltage PW4 applied to the memory interface 220. In other words, the dynamic voltage and frequency scaling of the memory interface 220 can be performed in operation S50.

當偵測到中央處理單元210的工作負載既非為計算約束亦非為記憶體約束時(例如,在操作S20及操作S40中均為「否」的情形中),工作負載意識程式216可產生第一中間控制訊號及第二中間控制訊號以使中央處理單元210的動態電壓及頻率縮放及記憶體介面220的動態電壓及頻率縮放被同時地或並列地執行。When it is detected that the workload of the central processing unit 210 is neither a computational constraint nor a memory constraint (for example, in the case of "NO" in operations S20 and S40), the workload awareness program 216 may generate The first intermediate control signal and the second intermediate control signal are such that the dynamic voltage and frequency scaling of the central processing unit 210 and the dynamic voltage and frequency scaling of the memory interface 220 are performed simultaneously or in parallel.

時脈管理單元裝置驅動機217可因應於第一中間控制訊號而產生第一控制訊號CTR1,且電力管理單元裝置驅動機218可因應於第二中間控制訊號而產生第二控制訊號CTR2。電力管理單元240可基於第二控制訊號CTR2而產生第三控制訊號CTR3。The clock management unit device driver 217 can generate the first control signal CTR1 according to the first intermediate control signal, and the power management unit device driver 218 can generate the second control signal CTR2 according to the second intermediate control signal. The power management unit 240 may generate the third control signal CTR3 based on the second control signal CTR2.

因應於第一控制訊號CTR1而運作的時脈管理單元230可增大被施加至中央處理單元210的第一時脈訊號CLK1的第一頻率。因應於第三控制訊號CTR3而運作的電力管理積體電路300可增大被施加至中央處理單元210的第一操作電壓PW1的位準。換言之,可在操作S60中執行中央處理單元210的動態電壓及頻率縮放。因應於第一控制訊號CTR1而運作的時脈管理單元230可同時地或並列地增大被施加至記憶體介面220的第二時脈訊號CLK2的第二頻率。因應於第三控制訊號CTR3而運作的電力管理積體電路300可增大施加至記憶體介面220的第四操作電壓PW4的位準。換言之,可在操作S60中執行記憶體介面220的動態電壓及頻率縮放。The clock management unit 230 operating in response to the first control signal CTR1 can increase the first frequency of the first clock signal CLK1 applied to the central processing unit 210. The power management integrated circuit 300 operating in response to the third control signal CTR3 can increase the level of the first operating voltage PW1 applied to the central processing unit 210. In other words, the dynamic voltage and frequency scaling of the central processing unit 210 can be performed in operation S60. The clock management unit 230 operating in response to the first control signal CTR1 can simultaneously or in parallel increase the second frequency of the second clock signal CLK2 applied to the memory interface 220. The power management integrated circuit 300 operating in response to the third control signal CTR3 can increase the level of the fourth operating voltage PW4 applied to the memory interface 220. In other words, the dynamic voltage and frequency scaling of the memory interface 220 can be performed in operation S60.

當從設備為輸入/輸出介面250時,在操作S20中,工作負載意識程式216可基於第一計數值NOI及第二計數值NOCM中的至少一者而偵測中央處理單元210的工作負載為計算約束還是輸入/輸出約束。當在操作S20中偵測到中央處理單元210的工作負載為計算約束時(在為「是」的情形中),可在操作S30中執行中央處理單元210的動態電壓及頻率縮放。然而,當在操作S20中偵測到中央處理單元210的工作負載並非為計算約束時(在為「否」的情形中),工作負載意識程式216可在操作S40中偵測中央處理單元210的工作負載是否為輸入/輸出約束。When the slave device is the input/output interface 250, the workload awareness program 216 can detect the workload of the central processing unit 210 based on at least one of the first count value NOI and the second count value NOCM in operation S20. Calculate constraints or input/output constraints. When it is detected in operation S20 that the workload of the central processing unit 210 is a computational constraint (in the case of YES), the dynamic voltage and frequency scaling of the central processing unit 210 may be performed in operation S30. However, when it is detected in operation S20 that the workload of the central processing unit 210 is not a computational constraint (in the case of NO), the workload awareness program 216 may detect the central processing unit 210 in operation S40. Whether the workload is an input/output constraint.

當在操作S40中偵測到中央處理單元210的工作負載為輸入/輸出約束時(在為「是」的情形中),工作負載意識程式216可產生第一中間控制訊號及第二中間控制訊號以執行輸入/輸出介面250的動態電壓及頻率縮放。換言之,即使在中央處理單元210的工作負載大時,工作負載意識程式216亦可產生第一中間控制訊號及第二中間控制訊號以執行輸入/輸出介面250的動態電壓及頻率縮放而非中央處理單元210的動態電壓及頻率縮放。When it is detected in operation S40 that the workload of the central processing unit 210 is an input/output constraint (in the case of YES), the workload awareness program 216 can generate the first intermediate control signal and the second intermediate control signal. The dynamic voltage and frequency scaling of the input/output interface 250 is performed. In other words, even when the workload of the central processing unit 210 is large, the workload awareness program 216 can generate the first intermediate control signal and the second intermediate control signal to perform dynamic voltage and frequency scaling of the input/output interface 250 instead of central processing. The dynamic voltage and frequency scaling of unit 210.

因應於第一控制訊號CTR1而運作的時脈管理單元230可增大被施加至輸入/輸出介面250的第三時脈訊號CLK3的第三頻率。因應於第三控制訊號CTR3而運作的電力管理積體電路300可增大被施加至輸入/輸出介面250的第六操作電壓PW6的位準。換言之,可在操作S50中執行輸入/輸出介面250的動態電壓及頻率縮放。The clock management unit 230 operating in response to the first control signal CTR1 can increase the third frequency of the third clock signal CLK3 applied to the input/output interface 250. The power management integrated circuit 300 operating in response to the third control signal CTR3 can increase the level of the sixth operating voltage PW6 applied to the input/output interface 250. In other words, the dynamic voltage and frequency scaling of the input/output interface 250 can be performed in operation S50.

當偵測到中央處理單元210的工作負載既非計算約束亦非輸入/輸出約束時(例如,在操作S20及操作S40中均為「否」的情形中),工作負載意識程式216可產生第一中間控制訊號及第二中間控制訊號以使中央處理單元210的動態電壓及頻率縮放以及輸入/輸出介面250的動態電壓及頻率縮放被同時地或並列地執行。When it is detected that the workload of the central processing unit 210 is neither a computational constraint nor an input/output constraint (for example, in the case of "NO" in operations S20 and S40), the workload awareness program 216 may generate a An intermediate control signal and a second intermediate control signal are used to cause dynamic voltage and frequency scaling of the central processing unit 210 and dynamic voltage and frequency scaling of the input/output interface 250 to be performed simultaneously or in parallel.

因應於第一控制訊號CTR1而運作的時脈管理單元230可增大被施加至中央處理單元210的第一時脈訊號CLK1的第一頻率。因應於第三控制訊號CTR3而運作的電力管理積體電路300可增大被施加至中央處理單元210的第一操作電壓PW1的位準。換言之,可在操作S60中執行中央處理單元210的動態電壓及頻率縮放。因應於第一控制訊號CTR1而運作的時脈管理單元230可同時地或並列地增大被施加至輸入/輸出介面250的第三時脈訊號CLK3的第三頻率。因應於第三控制訊號CTR3而運作的電力管理積體電路300可增大被施加至輸入/輸出介面250的第六操作電壓PW6的位準。換言之,可在操作S60中執行輸入/輸出介面250的動態電壓及頻率縮放。The clock management unit 230 operating in response to the first control signal CTR1 can increase the first frequency of the first clock signal CLK1 applied to the central processing unit 210. The power management integrated circuit 300 operating in response to the third control signal CTR3 can increase the level of the first operating voltage PW1 applied to the central processing unit 210. In other words, the dynamic voltage and frequency scaling of the central processing unit 210 can be performed in operation S60. The clock management unit 230 operating in response to the first control signal CTR1 can simultaneously or in parallel increase the third frequency of the third clock signal CLK3 applied to the input/output interface 250. The power management integrated circuit 300 operating in response to the third control signal CTR3 can increase the level of the sixth operating voltage PW6 applied to the input/output interface 250. In other words, the dynamic voltage and frequency scaling of the input/output interface 250 can be performed in operation S60.

如圖4所示,工作負載意識程式216可利用第一計數值NOI及第二計數值NOCM中的至少一者而計算每一指令循環數值或每千指令未中數值。當每一指令循環數值或每千指令未中數值小於第一參考值REF1時,工作負載意識程式216可偵測到中央處理單元210的工作負載為計算約束,並可產生用於控制中央處理單元210的動態電壓及頻率縮放的第一控制訊號CTR1及第二控制訊號CTR2。當每一指令循環數值或每千指令未中數值等於或大於第一參考值REF1且小於第二參考值REF2時,工作負載意識程式216可同時地或並列地產生用於控制中央處理單元210的動態電壓及頻率縮放以及從設備(例如,記憶體介面220或輸入/輸出介面250)的動態電壓及頻率縮放的第一控制訊號CTR1及第二控制訊號CTR2。當每一指令循環數值或每千指令未中數值等於或大於第二參考值REF2時,工作負載意識程式216可偵測到中央處理單元210的工作負載為記憶體約束或輸入/輸出約束,並可產生用於控制從設備(例如,記憶體介面220或輸入/輸出介面250)的動態電壓及頻率縮放的第一控制訊號CTR1及第二控制訊號CTR2。中央處理單元210可根據設計規格而將第一參考值REF1及第二參考值REF2程式化。As shown in FIG. 4, the workload awareness program 216 can calculate each instruction cycle value or the value per thousand instructions by using at least one of the first count value NOI and the second count value NOCM. When each command cycle value or value per thousand command is less than the first reference value REF1, the workload awareness program 216 can detect that the workload of the central processing unit 210 is a computational constraint and can be generated for controlling the central processing unit. The dynamic voltage and frequency of 210 are scaled by a first control signal CTR1 and a second control signal CTR2. The workload awareness program 216 may generate the control unit 216 for controlling the central processing unit 210 simultaneously or in parallel when each instruction cycle value or value per thousand command is equal to or greater than the first reference value REF1 and less than the second reference value REF2. The dynamic voltage and frequency scaling and the first control signal CTR1 and the second control signal CTR2 of the dynamic voltage and frequency scaling of the slave device (eg, the memory interface 220 or the input/output interface 250). The workload awareness program 216 can detect that the workload of the central processing unit 210 is a memory constraint or an input/output constraint when each instruction cycle value or a value per thousand instructions is equal to or greater than the second reference value REF2, and A first control signal CTR1 and a second control signal CTR2 for controlling dynamic voltage and frequency scaling of the slave device (eg, memory interface 220 or input/output interface 250) may be generated. The central processing unit 210 can program the first reference value REF1 and the second reference value REF2 according to design specifications.

圖6是用於控制主設備的動態電壓及頻率縮放及從設備的動態電壓及頻率縮放的方案的概念圖。當中央處理單元210的工作負載為計算約束(CB)時,被施加至中央處理單元210的第一時脈訊號CLK1的第一頻率(例如CPU頻率)可沿第一條線GP1增大且被施加至中央處理單元210的第一操作電壓PW1的位準亦可沿第一條線GP1增大。曲線EP1至曲線EPn中的每一者可指代等效電壓線。6 is a conceptual diagram of a scheme for controlling dynamic voltage and frequency scaling of a master device and scaling of dynamic voltage and frequency from a device. When the workload of the central processing unit 210 is a computational constraint (CB), the first frequency (eg, CPU frequency) of the first clock signal CLK1 applied to the central processing unit 210 may increase along the first line GP1 and be The level of the first operating voltage PW1 applied to the central processing unit 210 may also increase along the first line GP1. Each of the curves EP1 to EPn may refer to an equivalent voltage line.

當中央處理單元210的工作負載為記憶體約束(MB)時,被施加至記憶體介面220的第二時脈訊號CLK2的第二頻率(記憶體介面頻率(memory interface frequency,MIF))可沿第五條線GP5增大且被施加至記憶體介面220的第四操作電壓PW4的位準亦可沿第五條線GP5增大。When the workload of the central processing unit 210 is a memory constraint (MB), the second frequency (memory interface frequency (MIF)) of the second clock signal CLK2 applied to the memory interface 220 may be along The level of the fifth line GP5 is increased and the fourth operating voltage PW4 applied to the memory interface 220 may also increase along the fifth line GP5.

當中央處理單元210的動態電壓及頻率縮放及從設備(例如,記憶體介面220或輸入/輸出介面250)的動態電壓及頻率縮放根據中央處理單元210的工作負載而被同時地或並列地執行時,被施加至中央處理單元210的第一時脈訊號CLK1的第一頻率及第一操作電壓PW1的位準、以及被施加至從設備(例如,記憶體介面220或輸入/輸出介面250)的第二時脈訊號CLK2或第三時脈訊號CLK3的頻率及第四操作電壓PW4或第六操作電壓PW6的位準可沿第二條線GP2至第四條線GP4中的一者增大。The dynamic voltage and frequency scaling of the central processing unit 210 and the dynamic voltage and frequency scaling of the slave device (eg, the memory interface 220 or the input/output interface 250) are performed simultaneously or in parallel according to the workload of the central processing unit 210. The first frequency of the first clock signal CLK1 applied to the central processing unit 210 and the level of the first operating voltage PW1 are applied to the slave device (eg, the memory interface 220 or the input/output interface 250). The frequency of the second clock signal CLK2 or the third clock signal CLK3 and the level of the fourth operating voltage PW4 or the sixth operating voltage PW6 may increase along one of the second line GP2 to the fourth line GP4. .

線GP1至線GP5及等效電壓線EP1至等效電壓線EPn均僅為實例。本發明概念並非僅限於線GP1至線GP5的數目及形狀、等效電壓線EP1至等效電壓線EPn的數目、或等效電壓線EP1至等效電壓線EPn之間的間隙。The line GP1 to the line GP5 and the equivalent voltage line EP1 to the equivalent voltage line EPn are only examples. The inventive concept is not limited to the number and shape of the line GP1 to the line GP5, the number of the equivalent voltage line EP1 to the equivalent voltage line EPn, or the gap between the equivalent voltage line EP1 to the equivalent voltage line EPn.

圖7是根據本發明概念的某些示例性實施例的系統晶片的操作方法的流程圖。參照圖1至圖7,在操作S110中,效能監測單元211可對在主設備(例如,中央處理單元210)在給定時間期間處理所有指令(或所有工作負載)的同時所產生的第一事件中的第二事件的數目(例如,所執行指令的總數目)進行計數,並可產生第一計數值NOI。在操作S120中,效能監測單元211可對第一事件中的第三事件的數目(例如,L2快取未中的數目)進行計數並可產生第二計數值NOCM,所述第三事件與能夠藉由主設備(例如,中央處理單元210)與從設備(例如,記憶體介面220或輸入/輸出介面250)之間的交互作用而得到處理的指令(或工作負載)相關。7 is a flow chart of a method of operating a system wafer in accordance with certain exemplary embodiments of the inventive concepts. Referring to FIGS. 1 through 7, in operation S110, the performance monitoring unit 211 may generate a first generated while the master device (eg, the central processing unit 210) processes all instructions (or all workloads) during a given time. The number of second events in the event (eg, the total number of instructions executed) is counted and a first count value NOI can be generated. In operation S120, the performance monitoring unit 211 may count the number of third events in the first event (eg, the number of L2 cache misses) and may generate a second count value NOCM, the third event and capable The processed instructions (or workload) are related by the interaction between the master device (e.g., central processing unit 210) and the slave device (e.g., memory interface 220 or input/output interface 250).

在操作S130中,動態電壓及頻率縮放程式213及更具體而言工作負載意識程式216可基於第一計數值NOI及第二計數值NOCM而選擇動態電壓及頻率縮放的一或多個目標裝置。選擇動態電壓及頻率縮放的一或多個目標裝置的方法與以上參照圖4或圖5所述的方法相同或相似。In operation S130, the dynamic voltage and frequency scaling program 213 and, more specifically, the workload awareness program 216 may select one or more target devices for dynamic voltage and frequency scaling based on the first count value NOI and the second count value NOCM. The method of selecting one or more target devices for dynamic voltage and frequency scaling is the same or similar to the method described above with reference to FIG. 4 or FIG.

工作負載意識程式216可產生用於控制至少一個目標裝置的動態電壓及頻率縮放的第一控制訊號CTR1及第二控制訊號CTR2。時脈管理單元230可因應於第一控制訊號CTR1而調整(例如,增大或減小)第一時脈訊號CLK1、第二時脈訊號CLK2、及第三時脈訊號CLK3中的至少一者的頻率。電力管理積體電路300可因應於第三控制訊號CTRL3而調整(例如,增大或減小)第一操作電壓PW1、第四操作電壓PW4、及第六操作電壓PW6中的至少一者的位準。換言之,在操作S140中,控制器200可利用基於第一計數值NOI及第二計數值NOCM所決定的每千指令未中數值而執行至少一個目標裝置的動態電壓及頻率縮放。The workload awareness program 216 can generate a first control signal CTR1 and a second control signal CTR2 for controlling dynamic voltage and frequency scaling of at least one target device. The clock management unit 230 can adjust (eg, increase or decrease) at least one of the first clock signal CLK1, the second clock signal CLK2, and the third clock signal CLK3 according to the first control signal CTR1. Frequency of. The power management integrated circuit 300 can adjust (eg, increase or decrease) the bit of at least one of the first operating voltage PW1, the fourth operating voltage PW4, and the sixth operating voltage PW6 in response to the third control signal CTRL3. quasi. In other words, in operation S140, the controller 200 may perform dynamic voltage and frequency scaling of at least one target device using a value per thousand instructions determined based on the first count value NOI and the second count value NOCM.

圖8是根據本發明概念的示例性實施例的系統晶片的操作方法的流程圖。參照圖1至圖6及圖8,在操作S210中,效能監測單元211可基於中央處理單元210在給定時間期間所處理的指令(或工作負載)的總數目而計算每一指令循環數值,並可輸出每一指令循環數值作為第一計數值NOI。每一指令循環數值可並非在真正字面意義上為計數值,但將其稱為第一計數值NOI以與參照圖1至圖7所述的第一計數值NOI一致。FIG. 8 is a flowchart of a method of operating a system wafer, according to an exemplary embodiment of the inventive concept. Referring to FIGS. 1 through 6 and 8, in operation S210, the performance monitoring unit 211 may calculate each instruction cycle value based on the total number of instructions (or workloads) processed by the central processing unit 210 during a given time, Each command cycle value can be output as the first count value NOI. Each command cycle value may not be a count value in a true literal sense, but is referred to as a first count value NOI to coincide with the first count value NOI described with reference to FIGS. 1 through 7.

若為計算約束程式,則不存在與用於存取記憶體400的指令(或工作負載)相關的諸多事件。該些事件可大多與L1快取命中或L2快取命中相關。此時,記憶體延遲可接近為0個循環,因此每一指令循環數值可小於1或接近於1。If the constraint program is calculated, there are no many events associated with the instructions (or workloads) used to access the memory 400. These events can mostly be related to L1 cache hits or L2 cache hits. At this point, the memory delay can be close to 0 cycles, so each command cycle value can be less than 1 or close to 1.

在操作S220中,工作負載意識程式216可將每一指令循環數值與參考值REF進行比較並可偵測中央處理單元210的工作負載是否為計算約束或記憶體約束。當在操作S220中每一指令循環數值小於參考值REF(例如,1)時(在為「是」的情形中),工作負載意識程式216可在操作S230中偵測中央處理單元210的工作負載為計算約束並可根據偵測結果而產生用於控制中央處理單元210的動態電壓及頻率縮放的第一控制訊號CTR1及第二控制訊號CTR2。然而,當在中央處理單元210中執行的操作是複雜的或涉及到浮點(floating point)時,則在操作S220中,即使不存在對記憶體400的存取,每一指令循環數值亦可大於參考值REF(例如,1)(即,其可為「否」)。In operation S220, the workload awareness program 216 may compare each instruction cycle value with a reference value REF and may detect whether the workload of the central processing unit 210 is a computational constraint or a memory constraint. When the value of each instruction loop is less than the reference value REF (for example, 1) in operation S220 (in the case of YES), the workload awareness program 216 may detect the workload of the central processing unit 210 in operation S230. The first control signal CTR1 and the second control signal CTR2 for controlling the dynamic voltage and frequency scaling of the central processing unit 210 are generated according to the detection result. However, when the operation performed in the central processing unit 210 is complicated or involves a floating point, in operation S220, even if there is no access to the memory 400, the value of each instruction cycle may be Greater than the reference value REF (eg, 1) (ie, it may be "No").

效能監測單元211可對與中央處理單元210在給定時間期間所處理的所有指令(或工作負載)相關的第一事件中的第三事件的數目進行計數,可產生第二計數值NOCM,並可為工作負載意識程式216提供第二計數值NOCM,其中所述第三事件與可藉由主設備(例如,中央處理單元210)與從設備(例如,記憶體介面220或輸入/輸出介面250)之間的交互作用而得到處理的指令(或工作負載) 相關,所述第一事件。如上所述,第二計數值NOCM可為L2快取未中計數。The performance monitoring unit 211 can count the number of third events in the first event related to all instructions (or workloads) processed by the central processing unit 210 during a given time, and can generate a second count value NOCM, and A second count value NOCM can be provided to the workload awareness program 216, wherein the third event can be coupled to the slave device (eg, the memory interface 220 or the input/output interface 250 by the master device (eg, central processing unit 210) The interaction between the instructions (or workload) that is processed by the interaction, the first event. As described above, the second count value NOCM can be an L2 cache miss count.

工作負載意識程式216可基於第二計數值NOCM來偵測中央處理單元210的工作負載是計算約束還是記憶體約束。舉例而言,在操作S240中,工作負載意識程式216可基於第二計數值NOCM來偵測每一指令循環數值是否已因與用於存取記憶體400的指令相關的事件或已因複雜的操作而實際地增大。The workload awareness program 216 can detect whether the workload of the central processing unit 210 is a computational constraint or a memory constraint based on the second count value NOCM. For example, in operation S240, the workload awareness program 216 can detect whether each instruction loop value has been caused by an event related to an instruction for accessing the memory 400 or has been complicated based on the second count value NOCM. The operation actually increases.

當每一指令循環數值因與用於存取記憶體400的指令相關的事件而大於參考值REF時,在操作S250中,工作負載意識程式216可偵測到中央處理單元210的工作負載為記憶體約束,並可根據偵測結果而產生用於控制從設備(例如,記憶體介面220或輸入/輸出介面250)的動態電壓及頻率縮放的第一控制訊號CTR1及第二控制訊號CTR2。When the value of each instruction loop is greater than the reference value REF due to an event related to the instruction for accessing the memory 400, the workload awareness program 216 can detect the workload of the central processing unit 210 as a memory in operation S250. The first control signal CTR1 and the second control signal CTR2 for controlling the dynamic voltage and frequency scaling of the slave device (for example, the memory interface 220 or the input/output interface 250) are generated according to the detection result.

然而,當每一指令循環數值因複雜的操作而大於參考值REF時,在操作S230中,工作負載意識程式216可偵測到中央處理單元210的工作負載為計算約束,並可根據偵測結果而產生用於控制中央處理單元210的動態電壓及頻率縮放的第一控制訊號CTR1及第二控制訊號CTR2。換言之,當第二計數值NOCM小於參考值REF時,可執行操作S230。當第二計數值NOCM等於或大於參考值REF時,可執行操作S250。每一指令循環數值可受第二計數值NOCM影響。However, when the value of each instruction loop is greater than the reference value REF due to a complicated operation, in operation S230, the workload awareness program 216 can detect that the workload of the central processing unit 210 is a calculation constraint, and can be based on the detection result. The first control signal CTR1 and the second control signal CTR2 for controlling the dynamic voltage and frequency scaling of the central processing unit 210 are generated. In other words, when the second count value NOCM is smaller than the reference value REF, operation S230 may be performed. When the second count value NOCM is equal to or greater than the reference value REF, operation S250 may be performed. Each command cycle value can be affected by the second count value NOCM.

如上所述,根據本發明概念的某些示例性實施例,系統晶片根據主設備的工作負載的類型而控制主設備的動態電壓及頻率縮放及與所述主設備通訊的從設備的動態電壓及頻率縮放,進而提高效能。As described above, according to some exemplary embodiments of the inventive concept, the system wafer controls the dynamic voltage and frequency scaling of the master device and the dynamic voltage of the slave device communicating with the master device according to the type of the workload of the master device. Frequency scaling to improve performance.

用於實作或控制本申請案中所論述(例如,針對系統晶片、針對動態電壓及頻率縮放、針對使用工作負載來控制電力、針對操作方法、及針對相關聯計算裝置所論述)的技術的演算法可用於實作或控制更一般用途的裝置及/或裝置控制方法。Techniques for implementing or controlling the techniques discussed in this application (eg, for system wafers, for dynamic voltage and frequency scaling, for controlling power using a workload, for operating methods, and for associated computing devices) Algorithms can be used to implement or control more general purpose devices and/or device control methods.

用於實作或控制本申請案中所論述的技術的方法可被編寫成電腦程式並可實作於利用電腦可讀取記錄媒體執行程式的通用數位電腦中。此外,在所述方法中所使用的資料結構可以各種方式記錄於電腦可讀取記錄媒體中。電腦可讀取記錄媒體的實例包括儲存媒體,例如磁性儲存媒體(例如,唯讀記憶體、隨機存取記憶體、通用序列匯流排(universal serial bus,USB)、軟碟、硬碟等)及光學記錄媒體(例如,光碟-唯讀記憶體(compact disc read-only memory,CD-ROM)或數位視訊光碟(digital video disc,DVD))。The method for implementing or controlling the techniques discussed in this application can be written as a computer program and can be implemented in a general-purpose digital computer that uses a computer-readable recording medium to execute the program. Furthermore, the data structures used in the method can be recorded in a computer readable recording medium in various ways. Examples of computer readable recording media include storage media such as magnetic storage media (eg, read only memory, random access memory, universal serial bus (USB), floppy disk, hard disk, etc.) and An optical recording medium (for example, a compact disc read-only memory (CD-ROM) or a digital video disc (DVD)).

此外,某些示例性實施例亦可藉由媒體(例如,電腦可讀取媒體)中/上的電腦可讀取碼/指令而實作,以控制至少一個處理元件來實作某些示例性實施例。所述媒體可對應於允許儲存及/或傳輸電腦可讀取碼的任何媒體。Moreover, certain exemplary embodiments may also be implemented by computer readable code/instructions in/on a medium (eg, computer readable medium) to control at least one processing element to implement certain exemplary Example. The media may correspond to any medium that allows storage and/or transmission of computer readable codes.

電腦可讀取碼可以各種方式在媒體上記錄/傳遞,所述媒體的實例包括:記錄媒體,例如磁性儲存媒體(例如,唯讀記憶體、軟碟、硬碟等)及光學記錄媒體(例如,光碟-唯讀記憶體或數位視訊光碟);以及傳輸媒體,例如網際網路傳輸媒體。因此,所述媒體可為包含或承載訊號或資訊的此種經定義的及可量測的結構,例如根據某些示例性實施例承載位元流的裝置。所述媒體亦可為分佈式網路,以使電腦可讀取碼以分佈方式得到儲存/傳遞及執行。此外,處理元件可包含處理器或電腦處理器,且處理元件可為分佈式的及/或包含於單一裝置中。Computer readable codes can be recorded/delivered on the media in a variety of ways, including recording media such as magnetic storage media (eg, read only memory, floppy disks, hard drives, etc.) and optical recording media (eg, , CD-read-only memory or digital video discs; and transmission media, such as Internet transmission media. Thus, the media can be such defined and measurable structures that contain or carry signals or information, such as devices that carry bitstreams in accordance with certain exemplary embodiments. The media may also be a distributed network such that the computer readable code is stored/delivered and executed in a distributed manner. Furthermore, the processing elements can include a processor or a computer processor, and the processing elements can be distributed and/or included in a single device.

在某些示例性實施例中,某些元件可被實作為「模組」。根據某些示例性實施例,「模組」可被解釋為基於軟體的組件或硬體組件,例如現場可程式化閘陣列(field programmable gate array,FPGA)或應用專用積體電路(application specific integrated circuit,ASIC),且所述模組可執行某些功能。然而,所述模組並非僅限於軟體或硬體。所述模組可被配置成置於可執行定址的儲存媒體中或用於執行一或多個過程。In some exemplary embodiments, certain components may be implemented as "modules." According to certain exemplary embodiments, a "module" may be interpreted as a software-based component or a hardware component, such as a field programmable gate array (FPGA) or an application specific integrated circuit (application specific integrated) Circuit, ASIC), and the module can perform certain functions. However, the module is not limited to software or hardware. The module can be configured to be placed in an executable storage medium or to perform one or more processes.

舉例而言,模組可包括例如軟體組件、物件導向軟體組件(object-oriented software component)、類別組件(class component)及任務組件(task component)等組件、過程、功能、屬性、程序、次常式、程式碼段、驅動機、韌體、微碼、電路、資料、資料庫、資料結構、表、陣列及變數。由組件及模組提供的功能可組合成較小數目的組件及模組,或者可被分離成額外的組件及模組。此外,組件及模組可在裝置中執行一或多個中央處理單元(CPU)。For example, a module may include components such as a software component, an object-oriented software component, a class component, and a task component, processes, functions, attributes, programs, and secondary functions. , code segments, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functions provided by the components and modules can be combined into a smaller number of components and modules, or can be separated into additional components and modules. In addition, the components and modules can execute one or more central processing units (CPUs) in the device.

某些示例性實施例可藉由包含電腦可讀取碼/指令的媒體而實作以控制上述實施例中的至少一個處理元件,例如電腦可讀取媒體。此種媒體可對應於可儲存及/或傳送電腦可讀取碼的媒體。Certain exemplary embodiments may be implemented by controlling a medium comprising computer readable code/instructions to control at least one processing element of the above-described embodiments, such as a computer readable medium. Such media may correspond to media that can store and/or transmit computer readable codes.

電腦可讀取碼可記錄於媒體中或者可在網際網路上傳送。舉例而言,所述媒體可包括唯讀記憶體、隨機存取記憶體、光碟-唯讀記憶體、磁帶、軟碟、光學記錄媒體、或載波(例如網際網路上的資料傳輸)。此外,所述媒體可為非暫時性電腦可讀取媒體。因媒體可為分佈式網路,故可以分佈方式儲存、傳送、及執行電腦可讀取碼。此外,舉例而言,處理元件可包括處理器或電腦處理器,且可為分佈式的及/或包括於一個裝置中。The computer readable code can be recorded in the media or can be transmitted over the Internet. For example, the media can include read only memory, random access memory, optical disk-read only memory, magnetic tape, floppy disk, optical recording medium, or carrier wave (eg, data transmission over the Internet). Additionally, the media can be a non-transitory computer readable medium. Since the media can be a distributed network, the computer readable code can be stored, transmitted, and executed in a distributed manner. Moreover, by way of example, processing elements can include a processor or a computer processor, and can be distributed and/or included in a device.

儘管已具體示出並參照某些示例性實施例闡述了本發明概念的某些示例性實施例,然而此項技術中具有通常知識者應理解,在不背離由下文申請專利範圍所界定的本發明概念的精神及範圍的條件下,可對其在形式及細節上作出各種改變。While certain exemplary embodiments of the present invention have been shown and described with reference to certain exemplary embodiments, Various changes in form and detail may be made in the spirit and scope of the inventive concept.

應理解,本文所述示例性實施例應僅以闡述性意義考量而並非用於限制目的。對示例性實施例內的特徵或態樣的闡述應通常被視作可供用於其他示例性實施例中的其他相似的特徵或態樣。It is understood that the exemplary embodiments described herein are to be considered in a Descriptions of features or aspects within the exemplary embodiments are generally considered to be available for other similar features or aspects in other exemplary embodiments.

100‧‧‧計算裝置
200‧‧‧控制器
201‧‧‧匯流排架構
210‧‧‧中央處理單元(CPU)
211‧‧‧效能監測單元
211-1‧‧‧第一計數器
211-2‧‧‧第二計數器
213‧‧‧動態電壓及頻率縮放(DVFS)程式
215‧‧‧動態電壓及頻率縮放(DVFS)調節器
216‧‧‧工作負載意識程式(WAP)
217‧‧‧時脈管理單元(CMU)裝置驅動機
218‧‧‧電力管理單元(PMU)裝置驅動機
220‧‧‧記憶體介面
230‧‧‧時脈管理單元(CMU)
240‧‧‧電力管理單元(PMU)
250‧‧‧輸入/輸出(I/O)介面
260‧‧‧內部記憶體
300‧‧‧電力管理積體電路(PMIC)
400‧‧‧記憶體
CB‧‧‧計算約束
CLK1‧‧‧第一時脈訊號
CLK2‧‧‧第二時脈訊號
CLK3‧‧‧第三時脈訊號
CTR1‧‧‧第一控制訊號
CTR2‧‧‧第二控制訊號
CTR3‧‧‧第三控制訊號
EP1、EP2、EPn‧‧‧等效電壓線
GP1~GP5‧‧‧線
MB‧‧‧記憶體約束
NOCM‧‧‧第二計數值
NOI‧‧‧第一計數值
PW1‧‧‧第一操作電壓
PW2‧‧‧第二操作電壓
PW3‧‧‧第三操作電壓
PW4‧‧‧第四操作電壓
PW5‧‧‧第五操作電壓
PW6‧‧‧第六操作電壓
PW7‧‧‧第七操作電壓
REF1‧‧‧第一參考值
REF2‧‧‧第二參考值
S10、S20、S30、S40、S50、S60‧‧‧操作
S110、S120、S130、S140‧‧‧操作
S210、S220、S230、S240、S250‧‧‧操作
100‧‧‧ computing device
200‧‧‧ controller
201‧‧‧ Bus Bar Architecture
210‧‧‧Central Processing Unit (CPU)
211‧‧‧ Performance Monitoring Unit
211-1‧‧‧First counter
211-2‧‧‧Second counter
213‧‧‧Dynamic Voltage and Frequency Scaling (DVFS) Program
215‧‧‧Dynamic Voltage and Frequency Scaling (DVFS) Regulator
216‧‧‧Workload Awareness Program (WAP)
217‧‧‧ Clock Management Unit (CMU) device driver
218‧‧‧Power Management Unit (PMU) device driver
220‧‧‧ memory interface
230‧‧‧ Clock Management Unit (CMU)
240‧‧‧Power Management Unit (PMU)
250‧‧‧Input/Output (I/O) interface
260‧‧‧ internal memory
300‧‧‧Power Management Integrated Circuit (PMIC)
400‧‧‧ memory
CB‧‧‧ Calculation constraints
CLK1‧‧‧ first clock signal
CLK2‧‧‧ second clock signal
CLK3‧‧‧ third clock signal
CTR1‧‧‧ first control signal
CTR2‧‧‧second control signal
CTR3‧‧‧ third control signal
EP1, EP2, EPn‧‧‧ equivalent voltage line
GP1~GP5‧‧‧ line
MB‧‧‧ memory constraints
NOCM‧‧‧second count value
NOI‧‧‧ first count value
PW1‧‧‧First operating voltage
PW2‧‧‧second operating voltage
PW3‧‧‧ third operating voltage
PW4‧‧‧ fourth operating voltage
PW5‧‧‧ fifth operating voltage
PW6‧‧‧ sixth operating voltage
PW7‧‧‧ seventh operating voltage
REF1‧‧‧ first reference value
REF2‧‧‧ second reference value
S10, S20, S30, S40, S50, S60‧‧‧ operations
S110, S120, S130, S140‧‧‧ operations
S210, S220, S230, S240, S250‧‧‧ operations

結合附圖閱讀以下示例性實施例的詳細說明,上述及/或其他態樣以及優點將變得更顯而易見且更容易理解,其中: 圖1是根據本發明概念的某些示例性實施例的計算裝置的示意性方塊圖。 圖2是包括在由圖1所示主設備執行的動態電壓及頻率縮放(DVFS)程式中的模組的圖。 圖3是主設備與從設備之間的交互作用的概念圖。 圖4是根據計算約束工作負載或記憶體約束工作負載,主設備及從設備中的至少一者的動態電壓及頻率縮放的概念圖。 圖5是根據主設備的工作負載,主設備及從設備中至少一者的動態電壓及頻率縮放的流程圖。 圖6是用於控制主設備的動態電壓及頻率縮放及從設備的動態電壓及頻率縮放的方案的概念圖。 圖7是根據本發明概念的某些示例性實施例的系統晶片(SoC)的操作方法的流程圖。 圖8是根據本發明概念的某些示例性實施例的系統晶片的操作方法的流程圖。The above and/or other aspects and advantages will become more apparent and more readily understood from the following detailed description of exemplary embodiments of the invention in which <RTIgt; A schematic block diagram of the device. 2 is a diagram of a module included in a dynamic voltage and frequency scaling (DVFS) program executed by the master device shown in FIG. 1. Figure 3 is a conceptual diagram of the interaction between a master device and a slave device. 4 is a conceptual diagram of dynamic voltage and frequency scaling of at least one of a master device and a slave device based on a computationally constrained workload or a memory-constrained workload. 5 is a flow chart of dynamic voltage and frequency scaling of at least one of a master device and a slave device based on a workload of the master device. 6 is a conceptual diagram of a scheme for controlling dynamic voltage and frequency scaling of a master device and scaling of dynamic voltage and frequency from a device. 7 is a flow chart of a method of operating a system wafer (SoC) in accordance with certain exemplary embodiments of the inventive concepts. 8 is a flow chart of a method of operating a system wafer in accordance with certain exemplary embodiments of the inventive concept.

213‧‧‧動態電壓及頻率縮放(DVFS)程式 213‧‧‧Dynamic Voltage and Frequency Scaling (DVFS) Program

215‧‧‧動態電壓及頻率縮放(DVFS)調節器 215‧‧‧Dynamic Voltage and Frequency Scaling (DVFS) Regulator

216‧‧‧工作負載意識程式(WAP) 216‧‧‧Workload Awareness Program (WAP)

217‧‧‧時脈管理單元(CMU)裝置驅動機 217‧‧‧ Clock Management Unit (CMU) device driver

218‧‧‧電力管理單元(PMU)裝置驅動機 218‧‧‧Power Management Unit (PMU) device driver

CTR1‧‧‧第一控制訊號 CTR1‧‧‧ first control signal

CTR2‧‧‧第二控制訊號 CTR2‧‧‧second control signal

NOCM‧‧‧第二計數值 NOCM‧‧‧second count value

NOI‧‧‧第一計數值 NOI‧‧‧ first count value

Claims (25)

一種系統晶片,包括: 主裝置,用以執行動態電壓及頻率縮放程式; 從裝置,用以與所述主裝置通訊;以及 效能監測單元,用以接收在所述主裝置處理指令的同時所產生的第一事件,用以藉由對第二事件的數目進行計數而產生第一計數值,並用以藉由對所述第一事件中的第三事件的數目進行計數而產生第二計數值,所述第二事件的數目對應於與所述第一事件相關的所述指令的總數目,所述第三事件與能夠藉由所述主裝置與所述從裝置之間的交互作用而得到處理的第一指令相關, 其中所述動態電壓及頻率縮放程式用以基於所述第一計數值及所述第二計數值而產生用於控制所述主裝置及所述從裝置中的至少一者的動態電壓及頻率縮放的控制訊號。A system chip comprising: a master device for performing a dynamic voltage and frequency scaling program; a slave device for communicating with the master device; and a performance monitoring unit for receiving a command generated while the master device processes the command a first event, configured to generate a first count value by counting the number of second events, and to generate a second count value by counting the number of third events in the first event, The number of the second events corresponds to a total number of the instructions associated with the first event, the third event being able to be processed by interaction between the master device and the slave device The first instruction related, wherein the dynamic voltage and frequency scaling program is configured to generate at least one of the master device and the slave device based on the first count value and the second count value Dynamic voltage and frequency scaling control signals. 如申請專利範圍第1項所述的系統晶片,其中所述主裝置是中央處理單元、圖形處理單元、影像訊號處理器、數位訊號處理器、及多媒體處理器中的一者,且 其中所述從裝置是記憶體介面及輸入/輸出介面中的一者。The system chip of claim 1, wherein the main device is one of a central processing unit, a graphics processing unit, a video signal processor, a digital signal processor, and a multimedia processor, and wherein The slave device is one of a memory interface and an input/output interface. 如申請專利範圍第1項所述的系統晶片,更包括: 時脈管理單元,用以因應於所述控制訊號而控制被施加至所述主裝置的第一時脈訊號的第一頻率及被施加至所述從裝置的第二時脈訊號的第二頻率中的至少一者。The system chip of claim 1, further comprising: a clock management unit configured to control a first frequency of the first clock signal applied to the main device according to the control signal At least one of a second frequency applied to the second clock signal of the slave device. 如申請專利範圍第1項所述的系統晶片,更包括: 電力管理單元,用以因應於所述控制訊號而控制電力管理積體電路來控制被施加至所述主裝置的第一電壓的位準及被施加至所述從裝置的第二電壓的位準中的至少一者。The system chip of claim 1, further comprising: a power management unit configured to control the power management integrated circuit to control a bit of the first voltage applied to the main device in response to the control signal At least one of a level of a second voltage applied to the slave device is permitted. 如申請專利範圍第1項所述的系統晶片,其中所述第二事件與由所述主裝置執行的指令相關,且所述第三事件與L2快取未中相關。The system wafer of claim 1, wherein the second event is related to an instruction executed by the host device, and the third event is associated with an L2 cache miss. 如申請專利範圍第1項所述的系統晶片,其中所述動態電壓及頻率縮放程式用以基於所述第一計數值及所述第二計數值而計算每千指令未中數值,且用以基於所述每千指令未中數值而產生所述控制訊號,且 其中所述第二計數值是L2快取未中計數。The system chip of claim 1, wherein the dynamic voltage and frequency scaling program is configured to calculate a value per thousand instructions based on the first count value and the second count value, and The control signal is generated based on the number of values per thousand instructions, and wherein the second count value is an L2 cache miss count. 一種計算裝置,包括: 主裝置,用以執行動態電壓及頻率縮放程式; 從裝置,用以與所述主裝置通訊;以及 效能監測單元,用以接收在所述主裝置處理指令的同時所產生的第一事件,用以藉由對第二事件的數目進行計數而產生第一計數值,並用以藉由對所述第一事件中的第三事件的數目進行計數而產生第二計數值,所述第二事件的數目對應於與所述第一事件相關的所述指令的總數目,所述第三事件與能夠藉由所述主裝置與所述從裝置之間的交互作用而得到處理的第一指令相關, 電力管理積體電路,用以提供對應操作電壓至所述主裝置、所述從裝置、及所述效能監測單元; 其中所述動態電壓及頻率縮放程式用以基於所述第一計數值及所述第二計數值而產生用於控制所述主裝置及所述從裝置中的至少一者的動態電壓及頻率縮放的控制訊號。A computing device comprising: a master device for performing a dynamic voltage and frequency scaling program; a slave device for communicating with the master device; and a performance monitoring unit for receiving a command generated while the master device processes the command a first event, configured to generate a first count value by counting the number of second events, and to generate a second count value by counting the number of third events in the first event, The number of the second events corresponds to a total number of the instructions associated with the first event, the third event being able to be processed by interaction between the master device and the slave device The first instruction related, the power management integrated circuit is configured to provide a corresponding operating voltage to the main device, the slave device, and the performance monitoring unit; wherein the dynamic voltage and frequency scaling program is used to The first count value and the second count value generate a control signal for controlling dynamic voltage and frequency scaling of at least one of the master device and the slave device. 如申請專利範圍第7項所述的計算裝置,其中所述主裝置是中央處理單元、圖形處理單元、影像訊號處理器、數位訊號處理器、及多媒體處理器中的一者,且 其中所述從裝置是記憶體介面及輸入/輸出介面中的一者。The computing device of claim 7, wherein the main device is one of a central processing unit, a graphics processing unit, a video signal processor, a digital signal processor, and a multimedia processor, and wherein The slave device is one of a memory interface and an input/output interface. 如申請專利範圍第7項所述的計算裝置,更包括: 時脈管理單元,用以因應於所述控制訊號而控制被施加至所述主裝置的第一時脈訊號的第一頻率及被施加至所述從裝置的第二時脈訊號的第二頻率中的至少一者。The computing device of claim 7, further comprising: a clock management unit configured to control a first frequency of the first clock signal applied to the main device and to be controlled according to the control signal At least one of a second frequency applied to the second clock signal of the slave device. 如申請專利範圍第7項所述的計算裝置,更包括: 電力管理單元,用以因應於所述控制訊號而控制所述電力管理積體電路來控制被施加至所述主裝置的第一電壓的位準及被施加至所述從裝置的第二電壓的位準中的至少一者。The computing device of claim 7, further comprising: a power management unit configured to control the power management integrated circuit to control a first voltage applied to the primary device in response to the control signal a level and at least one of a level of a second voltage applied to the slave device. 如申請專利範圍第7項所述的計算裝置,其中所述第二事件與由所述主裝置執行的指令相關,且所述第三事件與L2快取未中相關。The computing device of claim 7, wherein the second event is related to an instruction executed by the host device, and the third event is associated with an L2 cache miss. 如申請專利範圍第7項所述的計算裝置,其中所述動態電壓及頻率縮放程式用以基於所述第一計數值及所述第二計數值而計算每千指令未中數值,且用以基於所述每千指令未中數值而產生所述控制訊號,且 其中所述第二計數值是L2快取未中計數。The computing device of claim 7, wherein the dynamic voltage and frequency scaling program is configured to calculate a value per thousand instructions based on the first count value and the second count value, and The control signal is generated based on the number of values per thousand instructions, and wherein the second count value is an L2 cache miss count. 如申請專利範圍第7項所述的計算裝置,更包括: 記憶體; 其中所述主裝置是中央處理單元、圖形處理單元、影像訊號處理器、數位訊號處理器、及多媒體處理器中的一者,且 其中所述從裝置是記憶體介面,用以根據所述主裝置的控制而控制所述記憶體的運作。The computing device of claim 7, further comprising: a memory; wherein the main device is one of a central processing unit, a graphics processing unit, a video signal processor, a digital signal processor, and a multimedia processor. And wherein the slave device is a memory interface for controlling the operation of the memory device according to the control of the master device. 一種操作系統晶片的方法,所述系統晶片包括用於執行動態電壓及頻率縮放程式的主裝置及與所述主裝置通訊的從裝置,所述方法包括: 接收在所述主裝置處理指令的同時所產生的第一事件,並產生所述第一事件中對應於所述指令的數目的第一計數值;以及 所述動態電壓及頻率縮放程式基於所述第一計數值而控制所述主裝置的動態電壓及頻率縮放及所述從裝置的動態電壓及頻率縮放。A method of operating system chips, the system wafer including a master device for performing a dynamic voltage and frequency scaling program and a slave device in communication with the master device, the method comprising: receiving a processing instruction at the same time as the master device a first event generated, and generating a first count value corresponding to the number of instructions in the first event; and the dynamic voltage and frequency scaling program controlling the master device based on the first count value Dynamic voltage and frequency scaling and dynamic voltage and frequency scaling of the slave device. 如申請專利範圍第14項所述的操作系統晶片的方法,其中所述主裝置是中央處理單元、圖形處理單元、影像訊號處理器、數位訊號處理器、及多媒體處理器中的一者,且 其中所述從裝置是記憶體介面及輸入/輸出介面中的一者。The method of claim 14, wherein the master device is one of a central processing unit, a graphics processing unit, a video signal processor, a digital signal processor, and a multimedia processor, and The slave device is one of a memory interface and an input/output interface. 如申請專利範圍第14項所述的操作系統晶片的方法,更包括: 藉由對所述第一事件中的第二事件的數目進行計數而產生第二計數值,所述第二事件與能夠藉由所述主裝置與所述從裝置之間的交互作用而得到處理的第一指令相關; 其中所述動態電壓及頻率縮放程式用以基於所述第一計數值及所述第二計數值而控制所述主裝置的所述動態電壓及頻率縮放及所述從裝置的動態電壓及頻率縮放。The method of claim 14, wherein the method further comprises: generating a second count value by counting the number of the second events in the first event, the second event The first instruction related to the processing by the interaction between the master device and the slave device; wherein the dynamic voltage and frequency scaling program is configured to be based on the first count value and the second count value And controlling the dynamic voltage and frequency scaling of the master device and the dynamic voltage and frequency scaling of the slave device. 如申請專利範圍第16項所述的操作系統晶片的方法,其中所述第一計數值是每一指令循環數值且所述第二計數值是L2快取未中計數。The method of claim 16, wherein the first count value is each instruction cycle value and the second count value is an L2 cache miss count. 如申請專利範圍第17項所述的操作系統晶片的方法,其中所述動態電壓及頻率縮放程式用以在所述每一指令循環數值小於第一參考值時控制所述主裝置的所述動態電壓及頻率縮放,且 其中所述動態電壓及頻率縮放程式用以在所述每一指令循環數值大於所述第一參考值且所述L2快取未中計數小於第二參考值時控制所述主裝置的所述動態電壓及頻率縮放。The method of claim 16, wherein the dynamic voltage and frequency scaling program is configured to control the dynamics of the master device when each of the command cycle values is less than a first reference value Voltage and frequency scaling, and wherein the dynamic voltage and frequency scaling program is configured to control the each of the command cycle values when the value is greater than the first reference value and the L2 cache miss count is less than a second reference value The dynamic voltage and frequency scaling of the master device. 如申請專利範圍第16項所述的操作系統晶片的方法,其中所述動態電壓及頻率縮放程式用以基於所述第一計數值及所述第二計數值而計算每千指令未中數值,且用以基於所述每千指令未中數值而控制所述主裝置的所述動態電壓及頻率縮放及所述從裝置的所述動態電壓及頻率縮放, 其中所述第一計數值是所述指令的總數目, 其中所述第二計數值是L2快取未中計數。The method of claim 16, wherein the dynamic voltage and frequency scaling program is configured to calculate a value per thousand instructions based on the first count value and the second count value. And controlling the dynamic voltage and frequency scaling of the master device and the dynamic voltage and frequency scaling of the slave device based on the value of the per thousand instructions, wherein the first count value is the The total number of instructions, wherein the second count value is an L2 cache miss count. 如申請專利範圍第19項所述的操作系統晶片的方法,其中所述動態電壓及頻率縮放程式用以在所述每千指令未中數值小於第一參考值時控制所述主裝置的所述動態電壓及頻率縮放,用以在所述每千指令未中數值大於或等於第二參考值時控制所述從裝置的所述動態電壓及頻率縮放,且用以在所述每千指令未中數值大於或等於所述第一參考值但小於所述第二參考值時控制所述主裝置的所述動態電壓及頻率縮放及所述從裝置的所述動態電壓及頻率縮放。The method of claim 19, wherein the dynamic voltage and frequency scaling program is configured to control the master device when the value per thousand instructions is less than a first reference value Dynamic voltage and frequency scaling for controlling the dynamic voltage and frequency scaling of the slave device when the value per thousand instructions is greater than or equal to a second reference value, and is used to The dynamic voltage and frequency scaling of the master device and the dynamic voltage and frequency scaling of the slave device are controlled when the value is greater than or equal to the first reference value but less than the second reference value. 一種計算裝置,包括: 第一裝置,用以執行程式; 第二裝置,用以與所述第一裝置通訊; 第三裝置,用以接收在所述第一裝置處理指令的同時所產生的第一事件,用以藉由對第二事件的數目進行計數而產生第一計數值,並用以藉由對所述第一事件中的第三事件的數目進行計數而產生第二計數值,所述第二事件的數目對應於與所述第一事件相關的所述指令的總數目,所述第三事件與能夠藉由所述第一裝置與所述第二裝置之間的交互作用而得到處理的第一指令相關;以及 第四裝置,用以提供一操作電壓至所述第一裝置或所述第二裝置; 其中所述程式用以基於所述第一計數值及所述第二計數值而產生用於控制所述第一裝置、所述從設備、或所述第一裝置及所述第二裝置的控制訊號。A computing device, comprising: a first device for executing a program; a second device for communicating with the first device; and a third device for receiving a first generated by the first device processing an instruction An event for generating a first count value by counting the number of second events, and for generating a second count value by counting the number of third events in the first event, The number of second events corresponds to a total number of the instructions associated with the first event, the third event being capable of being processed by interaction between the first device and the second device And the fourth device is configured to provide an operating voltage to the first device or the second device; wherein the program is configured to be based on the first count value and the second count value And generating a control signal for controlling the first device, the slave device, or the first device and the second device. 如申請專利範圍第21項所述的計算裝置,其中所述封裝括動態電壓及頻率縮放程式。The computing device of claim 21, wherein the package comprises a dynamic voltage and frequency scaling program. 如申請專利範圍第21項所述的計算裝置,其中所述程式用以提供操作電壓至所述第一裝置及所述第二裝置。The computing device of claim 21, wherein the program is configured to provide an operating voltage to the first device and the second device. 如申請專利範圍第21項所述的計算裝置,其中所述第一裝置包括中央處理單元、圖形處理單元、影像訊號處理器、數位訊號處理器、或多媒體處理器。The computing device of claim 21, wherein the first device comprises a central processing unit, a graphics processing unit, an image signal processor, a digital signal processor, or a multimedia processor. 如申請專利範圍第21項所述的計算裝置,其中所述第二裝置包括記憶體介面或輸入/輸出介面。The computing device of claim 21, wherein the second device comprises a memory interface or an input/output interface.
TW104136402A 2014-11-27 2015-11-05 System on chips for controlling power using workloads, methods of operating the same, and computing devices including the same TWI694379B (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2014-0167104 2014-11-27
KR20140167104 2014-11-27
KR10-2015-0144046 2015-10-15
KR1020150144046A KR20160063974A (en) 2014-11-27 2015-10-15 System on chip for controlling power using workload, method thereof, and computing device having the same

Publications (2)

Publication Number Publication Date
TW201629760A true TW201629760A (en) 2016-08-16
TWI694379B TWI694379B (en) 2020-05-21

Family

ID=56193020

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104136402A TWI694379B (en) 2014-11-27 2015-11-05 System on chips for controlling power using workloads, methods of operating the same, and computing devices including the same

Country Status (3)

Country Link
KR (1) KR20160063974A (en)
CN (1) CN105653005A (en)
TW (1) TWI694379B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11347292B2 (en) 2017-01-19 2022-05-31 Samsung Electronics Co., Ltd. System on chip controlling memory power using handshake process and operating method thereof

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9778871B1 (en) * 2016-03-27 2017-10-03 Qualcomm Incorporated Power-reducing memory subsystem having a system cache and local resource management
CN106126841B (en) * 2016-06-30 2019-08-23 福州瑞芯微电子股份有限公司 A kind of method and apparatus based on hardware frequency conversion
KR20180076840A (en) 2016-12-28 2018-07-06 삼성전자주식회사 Application processor performing dynamic voltage and frequency scaling operation, computing system including the same, and operation method of thereof
KR102009425B1 (en) * 2018-02-09 2019-08-09 울산과학기술원 Method for managing performance of computing system, program and computer readable storage medium therefor
US11169953B2 (en) * 2018-02-28 2021-11-09 SK Hynix Inc. Data processing system accessing shared memory by using mailbox
CN113220108B (en) 2018-08-21 2023-09-26 慧荣科技股份有限公司 Computer readable storage medium, operating frequency adjustment method and device
KR102346890B1 (en) * 2019-12-18 2022-01-03 고려대학교 산학협력단 Apparatus for Predicting Optimal CPU Frequency Based on Machine learning

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7840825B2 (en) * 2006-10-24 2010-11-23 International Business Machines Corporation Method for autonomous dynamic voltage and frequency scaling of microprocessors
GB201008785D0 (en) * 2009-12-18 2010-07-14 Univ Gent A counter architecture for online dvfs profitability estimation
US20120297232A1 (en) * 2011-05-16 2012-11-22 Bircher William L Adjusting the clock frequency of a processing unit in real-time based on a frequency sensitivity value
CN103246340A (en) * 2012-02-06 2013-08-14 索尼公司 Device and method for dynamically adjusting frequency of central processing unit
US20140089699A1 (en) * 2012-09-27 2014-03-27 Advanced Micro Devices Power management system and method for a processor
US9575542B2 (en) * 2013-01-31 2017-02-21 Hewlett Packard Enterprise Development Lp Computer power management
US9395784B2 (en) * 2013-04-25 2016-07-19 Intel Corporation Independently controlling frequency of plurality of power domains in a processor system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11347292B2 (en) 2017-01-19 2022-05-31 Samsung Electronics Co., Ltd. System on chip controlling memory power using handshake process and operating method thereof
TWI775788B (en) * 2017-01-19 2022-09-01 南韓商三星電子股份有限公司 System on chip controlling memory power using handshake process and operating method thereof
US11836029B2 (en) 2017-01-19 2023-12-05 Samsung Electronics Co., Ltd. System on chip controlling memory power using handshake process and operating method thereof

Also Published As

Publication number Publication date
CN105653005A (en) 2016-06-08
KR20160063974A (en) 2016-06-07
TWI694379B (en) 2020-05-21

Similar Documents

Publication Publication Date Title
TWI694379B (en) System on chips for controlling power using workloads, methods of operating the same, and computing devices including the same
US20160154449A1 (en) System on chips for controlling power using workloads, methods of operating the same, and computing devices including the same
US11656675B2 (en) Application processor performing a dynamic voltage and frequency scaling operation, computing system including the same, and operation method thereof
US11693466B2 (en) Application processor and system on chip
US20170277446A1 (en) Memory controller and storage device including the same
US11126246B2 (en) Apparatus, method, and system for power consumption management of system-on-chip
US9996398B2 (en) Application processor and system on chip
US9864526B2 (en) Wear leveling using multiple activity counters
US11550496B2 (en) Buffer management during power state transitions using self-refresh and dump modes
US10672451B2 (en) Storage device and refresh method thereof
KR20120116976A (en) Controlling and staggering operations to limit current spikes
JP6333971B2 (en) Generic host based controller latency method and apparatus
EP3705979A1 (en) Ssd restart based on off-time tracker
US11385811B2 (en) Storage device and method of operating the same
US11797196B2 (en) Solid state drive (SSD) and operating method
US20170125070A1 (en) System and method for hibernation using a delta generator engine