KR102651874B1 - Method and apparatus for power management - Google Patents

Method and apparatus for power management Download PDF

Info

Publication number
KR102651874B1
KR102651874B1 KR1020160025762A KR20160025762A KR102651874B1 KR 102651874 B1 KR102651874 B1 KR 102651874B1 KR 1020160025762 A KR1020160025762 A KR 1020160025762A KR 20160025762 A KR20160025762 A KR 20160025762A KR 102651874 B1 KR102651874 B1 KR 102651874B1
Authority
KR
South Korea
Prior art keywords
power management
electronic device
hardware
information
load
Prior art date
Application number
KR1020160025762A
Other languages
Korean (ko)
Other versions
KR20170015097A (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 삼성전자주식회사
Priority to EP16181942.0A priority Critical patent/EP3125072B8/en
Priority to US15/223,396 priority patent/US10101800B2/en
Publication of KR20170015097A publication Critical patent/KR20170015097A/en
Application granted granted Critical
Publication of KR102651874B1 publication Critical patent/KR102651874B1/en

Links

Images

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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/18Packaging or power distribution
    • G06F1/189Power distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Quality & Reliability (AREA)

Abstract

상기 전자 디바이스가 수행하는 동작들 중, 상기 전자 디바이스에 포함된 하드웨어의 처리 결과를 통해 사용자가 인지 가능한 동작과 관련된 동작 정보를 획득하는 단계; 상기 전자 디바이스가 수행하는 동작에 의해 발생되는 부하와 관련된 부하 정보를 획득하는 단계; 및 상기 동작 정보와 상기 부하 정보를 기반으로 상기 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행하는 단계를 포함하는 전자 디바이스의 전력 관리 방법이 개시된다. Among the operations performed by the electronic device, obtaining operation information related to an operation perceptible to the user through a processing result of hardware included in the electronic device; Obtaining load information related to a load generated by an operation performed by the electronic device; and performing power management on hardware included in the electronic device based on the operation information and the load information.

Description

전력 관리 방법 및 장치{METHOD AND APPARATUS FOR POWER MANAGEMENT}Power management method and apparatus {METHOD AND APPARATUS FOR POWER MANAGEMENT}

본 발명은 전력 관리 방법 및 장치에 관한 것으로, 보다 구체적으로 사용자가 인지 가능한 동작과 관련된 동작 정보를 바탕으로 하는 전력 관리 방법 및 장치에 관한 것이다. The present invention relates to a power management method and device, and more specifically, to a power management method and device based on operation information related to an operation recognizable by a user.

전자 기기 관련 기술이 발전함에 따라 하나의 디바이스가 다양한 기능을 수행하게 되었고, 디바이스에는 해당 기능들을 뒷받침할 수 있는 다양한 하드웨어들이 내장되어 사용되고 있다. 하나의 디바이스에 다양한 하드웨어들이 내장됨에 따라, 각 하드웨어들에 대한 전력 관리의 중요성이 부각되고 있다. As technology related to electronic devices has developed, a single device has come to perform various functions, and various hardware that can support the functions are built into the device. As various hardware is built into one device, the importance of power management for each hardware is emerging.

하드웨어 전력 관리는 하드웨어를 인에이블/ 디스에이블하며, 서로 다른 하드웨어 모듈의 성능을 필요한 만큼 향상시키거나 감소시키고, 하드웨어 동작 속성, 예를 들어, 주파수, 전압 등을 변경하는 등 다양한 방법으로 수행된다. 위에서 설명한 것과 같이 근래에서는 다양한 하드웨어들이 내장되어 복합적으로 동작하므로, 단순히 하나의 하드웨어에 대한 전력 관리를 수행하는 것만으로는 충분한 효과를 이끌어내기 어렵다. 따라서, 서로 다른 하드웨어들의 사용 시나리오에 따라 전력 관리 방법을 수정하고 변경할 필요가 있다. 이러한 전력 관리 방법의 구체적인 예로, 인텔 및 마이크로소프트에 의해 개발되고 리눅스 커널에 의해 사용되고 지원되는 Advanced Power Management(APM)가 있다. Hardware power management is performed in a variety of ways, including enabling/disabling hardware, increasing or decreasing the performance of different hardware modules as needed, and changing hardware operating properties such as frequency, voltage, etc. As explained above, in recent years, various hardware is built in and operates complexly, so it is difficult to achieve sufficient effect simply by performing power management for one piece of hardware. Therefore, there is a need to modify and change the power management method according to the usage scenario of different hardware. A specific example of this power management method is Advanced Power Management (APM), developed by Intel and Microsoft and used and supported by the Linux kernel.

동적 전압 및 주파수 스케일링(Dynamic Voltage and Frequency Scaling, 이하 DVFS)은 전력 관리를 수행하기 위한 방법 중 하나이다. DVFS는 설정에 따라 하드웨어의 전압 및/또는 주파수가 증가하거나 감소하도록 제어할 수 있다. 일반적으로 처리 부하가 증가되는 경우와 같이 성능 향상이 필요한 경우, 하드웨어의 전압 및/또는 주파수가 증가하도록 제어하고, 반대로 소비 전력 감소가 필요한 경우, 하드웨어의 전압 및/또는 주파수가 감소하도록 제어할 수 있다. DVFS는 특히, 배터리를 사용하는 장치들, 예를 들어 랩탑, 태블릿 또는 이동 전화 등에서 전력을 보존하는데 유용하게 사용될 수 있다. Dynamic Voltage and Frequency Scaling (DVFS) is one of the methods for performing power management. DVFS can control the voltage and/or frequency of hardware to increase or decrease depending on settings. In general, when performance improvement is required, such as when the processing load increases, the voltage and/or frequency of the hardware can be controlled to increase, and conversely, when a reduction in power consumption is required, the voltage and/or frequency of the hardware can be controlled to decrease. there is. DVFS can be particularly useful for conserving power in battery-powered devices, such as laptops, tablets or mobile phones.

다만, 종래 기술에 따른 DVFS 에는 한계가 있다. 일반적으로 주파수의 증가는 전력의 소비를 증가시키고, 하드웨어의 성능을 향상시킨다. 이때, 성능 향상과 주파수 및/또는 전압의 증가는 선형적으로 이루어지는 반면, 전력은 제곱 함수로 증가한다. 따라서, 특정한 상황 하에서 하드웨어의 성능과 소비 전력은 균형을 이루지 못하고 최적화 되지 않을 수 있다. However, DVFS according to the prior art has limitations. In general, increasing frequency increases power consumption and improves hardware performance. At this time, performance improvement and increase in frequency and/or voltage occur linearly, while power increases as a square function. Therefore, under certain circumstances, hardware performance and power consumption may be unbalanced and not optimized.

나아가, 종래 기술에 따른 DVFS는 하드웨어 장치를 기반으로 동작하기 때문에, 애플리케이션 도메인 또는 애플리케이션 출력에 기반하여 주파수 및/또는 전압을 제어하기 어렵다는 단점이 있다. Furthermore, since the DVFS according to the prior art operates based on a hardware device, it has the disadvantage that it is difficult to control the frequency and/or voltage based on the application domain or application output.

따라서, 종래 기술에 따른 전력 관리 방법은, 특정한 상황 하에서 모순되는 결정을 하거나, 하드웨어의 성능 또는 소비 전력에 불필요한 변동을 유발하여, 하드웨어의 과열 또는 하드웨어가 충분한 성능을 발휘할 수 없는 상황을 발생시킬 수 있다.Therefore, the power management method according to the prior art may make contradictory decisions under certain circumstances or cause unnecessary fluctuations in the performance or power consumption of the hardware, resulting in overheating of the hardware or a situation in which the hardware cannot provide sufficient performance. there is.

일 실시예는 사용자가 인지 가능한 동작과 관련된 동작 정보를 바탕으로 하는 전력 관리 방법 및 장치를 제공한다. One embodiment provides a power management method and device based on operation information related to an operation that can be perceived by a user.

또한, 일 실시예에서는 하드웨어의 성능 또는 소비 전력 균형을 이룰 수 있는 전력 관리 방법 및 장치를 제공한다.Additionally, one embodiment provides a power management method and device that can balance hardware performance or power consumption.

일 실시예에 따른 전자 디바이스의 전력 관리 방법은, 상기 전자 디바이스가 수행하는 동작들 중, 상기 전자 디바이스에 포함된 하드웨어의 처리 결과를 통해 사용자가 인지 가능한 동작과 관련된 동작 정보를 획득하는 단계; 상기 전자 디바이스가 수행하는 동작에 의해 발생되는 부하와 관련된 부하 정보를 획득하는 단계; 및 상기 동작 정보와 상기 부하 정보를 기반으로 상기 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행하는 단계를 포함한다. A power management method for an electronic device according to an embodiment includes: acquiring operation information related to an operation perceptible to a user through a processing result of hardware included in the electronic device among operations performed by the electronic device; Obtaining load information related to a load generated by an operation performed by the electronic device; and performing power management on hardware included in the electronic device based on the operation information and the load information.

또한, 일 실시예에 따른 전자 디바이스의 전력 관리 장치는, 프로세스를 처리하는 하드웨어;Additionally, a power management apparatus for an electronic device according to an embodiment includes hardware that processes a process;

사용자에게 상기 하드웨어의 처리 결과를 출력하는 출력부; 및 상기 전자 디바이스가 수행하는 동작들 중, 상기 출력부를 통해 출력되는 상기 하드웨어의 처리 결과를 통해 사용자가 인지 가능한 동작과 관련된 동작 정보를 획득하고, 상기 전자 디바이스디바이스가 수행하는 동작에 의해 발생되는 부하와 관련된 부하 정보를 획득하며, 상기 동작 정보와 상기 부하 정보를 기반으로 상기 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행하는 제어부를 포함한다. an output unit that outputs processing results of the hardware to a user; And among the operations performed by the electronic device, operation information related to operations recognizable by the user is obtained through the processing results of the hardware output through the output unit, and the load generated by the operation performed by the electronic device is obtained. and a control unit that obtains load information related to and performs power management on hardware included in the electronic device based on the operation information and the load information.

도 1은 일 실시예에 따른 전력 관리 방법을 나타내는 도면이다.
도 2는 일 실시예에 따른 전력 관리 방법을 나타내는 순서도이다.
도 3 은 벤치마크 결과에 따른 주파수와 소비 전력과의 관계를 나타내는 그래프이다.
도 4는 벤치마크 결과에 따른 주파수와 초당 프레임 수(FPS)를 나타내는 그래프이다.
도 5는 일 실시예에 따른 전력 관리 방법을 나타내는 순서도이다.
도 6은 일 실시예에 따른 사용자 설정을 나타내는 도면이다.
도 7은 일 실시예에 따른 일반 모드와 절전 모드의 동작 과정을 나타내는 순서도이다.
도 8은 일 실시예에 따른 전력 관리 방법을 나타내는 순서도이다.
도 9는 일 실시예에 따라 보상을 결정하기 위한 그래프를 나타내는 도면이다.
도 10은 일 실시예 따라 보상을 결정하기 위한 그래프를 나타내는 도면이다.
도 11은 일 실시예에 따른 전력 관리 장치의 내부 구성을 나타내는 블록도이다.
도 12는 일 실시예에 따른 전력 관리 장치의 제어부를 나타내는 블록도이다.
도 13은 일 실시예에 따른 전력 관리 장치의 전력 사용량 계산부의 내부 구성을 나타내는 도면이다.
도 14는 일 실시예에 따른 전력 관리 장치의 제어부를 나타내는 블록도이다.
도 15는 일 실시예에 따른 전력 관리 장치의 부하 타입 감지부의 내부 구성을 나타내는 도면이다.
도 16은 일 실시예에 따른 전력 관리 장치의 제어부를 나타내는 블록도이다.
도 17은 일 실시예에 따른 전력 관리부를 나타내는 도면이다.
도 18은 일 실시예에 따른 전력 관리부를 나타내는 도면이다.
1 is a diagram illustrating a power management method according to an embodiment.
Figure 2 is a flowchart showing a power management method according to one embodiment.
Figure 3 is a graph showing the relationship between frequency and power consumption according to benchmark results.
Figure 4 is a graph showing frequency and frames per second (FPS) according to benchmark results.
Figure 5 is a flowchart showing a power management method according to one embodiment.
Figure 6 is a diagram showing user settings according to one embodiment.
Figure 7 is a flowchart showing the operation process of the normal mode and power saving mode according to one embodiment.
Figure 8 is a flowchart showing a power management method according to one embodiment.
Figure 9 is a diagram illustrating a graph for determining compensation according to an embodiment.
Figure 10 is a diagram illustrating a graph for determining compensation according to one embodiment.
Figure 11 is a block diagram showing the internal configuration of a power management device according to an embodiment.
Figure 12 is a block diagram showing a control unit of a power management device according to an embodiment.
FIG. 13 is a diagram showing the internal configuration of a power usage calculation unit of a power management device according to an embodiment.
Figure 14 is a block diagram showing a control unit of a power management device according to an embodiment.
Figure 15 is a diagram showing the internal configuration of a load type detection unit of a power management device according to an embodiment.
Figure 16 is a block diagram showing a control unit of a power management device according to an embodiment.
Figure 17 is a diagram illustrating a power management unit according to an embodiment.
Figure 18 is a diagram illustrating a power management unit according to an embodiment.

일 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 일 실시예는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 일 실시예의 개시가 완전하도록 하고, 일 실시예가 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 일 실시예는 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of one embodiment and methods of achieving them will become clear with reference to the embodiments described below in conjunction with the accompanying drawings. However, one embodiment is not limited to the embodiments disclosed below and may be implemented in various different forms. The present embodiments are merely provided to ensure that the disclosure of one embodiment is complete and that the present embodiment is not limited to the embodiments disclosed below and is not limited to the embodiments disclosed below. It is provided to fully inform those with knowledge of the scope of the invention, and one embodiment is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.Throughout the specification, when a part is said to be "connected" to another part, this includes not only the case where it is "directly connected," but also the case where it is "electrically connected" with another element in between. . In addition, when a part is said to "include" a certain element throughout the specification, this means that it does not exclude other elements but may further include other elements, unless specifically stated to the contrary. Additionally, the term “unit” used in the specification refers to a hardware component such as software, FPGA, or ASIC, and the “unit” performs certain roles. However, 'wealth' is not limited to software or hardware. The 'part' may be configured to reside on an addressable storage medium and may be configured to run on one or more processors. Thus, as an example, “part” refers to software components, such as object-oriented software components, class components, and task components, processes, functions, properties, procedures, Includes subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functionality provided within the components and “parts” may be combined into smaller numbers of components and “parts” or may be further separated into additional components and “parts”.

아래에서는 첨부한 도면을 참고하여 일 실시예의 실시예에 대하여 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 일 실시예는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 일 실시예를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.Below, with reference to the attached drawings, an embodiment of an embodiment will be described in detail so that a person skilled in the art can easily carry out the embodiment. However, an embodiment may be implemented in several different forms and is not limited to the embodiment described herein. In order to clearly explain an embodiment in the drawings, parts unrelated to the description are omitted.

일 실시예에서 사용되는 용어는 일 실시예에서의 기능을 고려하면서 가능한 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 일 실시예에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 일 실시예의 전반에 걸친 내용을 토대로 정의되어야 한다. The terms used in one embodiment are general terms that are widely used as much as possible while considering the function in one embodiment, but this may vary depending on the intention or precedent of a technician working in the art, the emergence of new technology, etc. In addition, in certain cases, there are terms arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the relevant invention. Therefore, terms used in an embodiment should be defined based on the meaning of the term and the overall content of the embodiment, rather than simply the name of the term.

본 명세서에서, 하드웨어는 전자 디바이스에 포함된 물리적인 구성 요소를 의미한다. 예를 들어, 하드웨어는 중앙 처리 장치(Central Processing Unit, CPU), 그래픽 처리 장치(Graphic Processing Unit, GPU)를 포함할 수 있으며, 전력 관리의 수행 대상이 될 수 있는 모든 하드웨어를 포함할 수 있다. In this specification, hardware refers to physical components included in an electronic device. For example, hardware may include a central processing unit (CPU), a graphics processing unit (GPU), and may include all hardware that can be subject to power management.

본 명세서에서, 사용자가 인지 가능한 동작과 관련된 동작 정보는 사용자에게 표현되어 사용자가 직간접적으로 경험할 수 있는 동작 정보를 의미한다. 즉, 전자 디바이스의 프로세싱 파이프 끝단에서 사용자에 의해 경험되거나, 사용자에게 제공되는 동작에 대한 정보를 의미한다. 예를 들어, 사용자에게 출력되는 화면의 단위 시간당 프레임 수는 사용자가 정확한 수치를 모르더라도 화면이 부드럽게 넘어가거나 끊기는 정도를 통해 사용자가 직접적으로 경험할 수도 있고, 그래픽 처리 장치에서 계산한 단위 시간당 프레임 수를 수치로 표현하여 사용자가 간접적으로 경험할 수도 있다. In this specification, motion information related to motion perceptible to the user refers to motion information that is expressed to the user and can be directly or indirectly experienced by the user. In other words, it refers to information about the operation experienced by the user or provided to the user at the end of the processing pipe of the electronic device. For example, the number of frames per unit time of the screen displayed to the user may be directly experienced by the degree to which the screen moves smoothly or is interrupted even if the user does not know the exact number, or the number of frames per unit time calculated by the graphics processing unit may be used. Users can also experience it indirectly by expressing it in numbers.

도 1은 일 실시예에 따른 전력 관리 방법을 나타내는 도면이다.1 is a diagram illustrating a power management method according to an embodiment.

도 1을 참조하면, 먼저, 110 단계에서 전자 디바이스는 사용자 디바이스의 인터페이스 등을 통해 애플리케이션 실행 명령을 수신한다. 여기서, 전자 디바이스는 배터리를 사용하는 디바이스, 예를 들어, 노트북, 태블릿 또는 모바일 단말기 등의 디바이스일 수 있고, 데스크탑 컴퓨터와 같이 적어도 부분적으로 콘센트를 이용하는 디바이스일 수도 있다. 또한, 애플리케이션 실행 명령은 사용자 입력으로 수신할 수 있다. 사용자 입력은 사용자에 의해 선택된 애플리케이션에 대한 실행 명령일 수 있다. 나아가, 애플리케이션 실행 명령은 유무선 통신부를 통해 외부 장치로부터 애플리케이션 실행 명령을 실행할 수도 있고, 설정된 조건이 만족되는 경우, 애플리케이션 실행 명령이 생성되도록 구성될 수도 있다. Referring to FIG. 1, first, in step 110, the electronic device receives an application execution command through the interface of the user device. Here, the electronic device may be a device that uses a battery, for example, a laptop, tablet, or mobile terminal, or may be a device that at least partially uses an outlet, such as a desktop computer. Additionally, application execution commands can be received as user input. The user input may be an execution command for an application selected by the user. Furthermore, the application execution command may be executed from an external device through a wired or wireless communication unit, or may be configured to be generated when a set condition is satisfied.

그 후, 120 단계에서 전자 디바이스, 보다 구체적으로 전자 디바이스의 프로세서 등은 애플리케이션 실행 명령에 따라 적어도 하나 이상의 애플리케이션을 실행한다. 이때, 애플리케이션의 실행에는 관련된 프로세스를 처리하는 하드웨어가 필요하다. Then, in step 120, the electronic device, more specifically, the processor of the electronic device, executes at least one application according to the application execution command. At this time, execution of the application requires hardware to process related processes.

130 단계에서 애플리케이션의 실행에 필요한 프로세스를 처리하는 하드웨어가 동작하게 된다. 여기서, 하드웨어는 중앙 처리 장치(Central Processing Unit, CPU), 그래픽 처리 장치(Graphic Processing Unit, GPU)를 포함할 수 있으며, 전력 관리의 수행 대상이 될 수 있는 모든 하드웨어를 포함할 수 있다. 일 실시예에 따르면, 120 단계의 애플리케이션의 실행과 130 단계의 하드웨어의 동작은 반드시 선후관계가 있는 것은 아니며, 동시에 이루어질 수도 있다. 또한, 애플리케이션과 관련된 프로세스를 처리하는 하드웨어가 복수 개인 경우, 130 단계에서 복수 개의 하드웨어가 동작할 수도 있다. In step 130, the hardware that processes the processes required to run the application comes into operation. Here, the hardware may include a central processing unit (CPU), a graphics processing unit (GPU), and may include all hardware that can be subject to power management. According to one embodiment, the execution of the application in step 120 and the operation of the hardware in step 130 do not necessarily have a precedence relationship and may occur simultaneously. Additionally, if there is a plurality of hardware that processes processes related to the application, the plurality of hardware may operate in step 130.

140 단계에서 전자 디바이스는 하드웨어가 동작하여 애플리케이션을 실행한 결과를 출력한다. 전자 디바이스는 애플리케이션 실행 결과로부터 사용자가 인지 가능한 동작과 관련된 동작 정보를 획득할 수 있다. 여기서 사용자가 인지 가능한 동작과 관련된 동작 정보는, 그래픽 관련 동작에 대해서는 단위 시간 당 프레임 수, 보다 구체적으로, 초당 프레임 수(Frames Per Second, 이하 FPS)가 될 수 있다. 또한, 애플리케이션 처리 동작에 대해서는 처리 속도, 설치 속도, 다운로드 속도 등으로 표현될 수 있다. In step 140, the electronic device operates its hardware and outputs the result of executing the application. The electronic device can obtain operation information related to an operation perceivable by the user from the application execution results. Here, the motion information related to motions that can be perceived by the user may be the number of frames per unit time, or more specifically, the number of frames per second (FPS) for graphics-related motions. Additionally, application processing operations can be expressed in terms of processing speed, installation speed, download speed, etc.

130 단계에서 하드웨어가 동작하는 경우, 하드웨어의 동작에 따른 부하가 발생한다. When the hardware operates in step 130, a load occurs according to the operation of the hardware.

150 단계에서는 전자 디바이스는 하드웨어가 동작함에 따라 전자 디바이스에 발생하는 부하를 계산한다. 130 단계에서 복수 개의 하드웨어가 동작하는 경우, 동작 중인 모든 하드웨어의 부하를 계산할 수 있다. 일 실시예에 따르면, 사용되는 하드웨어의 처리 전력의 사용 비율을 계산하거나 또는 실행 중인 태스크의 수를 계산하는 방법 등으로 부하를 계산할 수 있다. In step 150, the electronic device calculates the load that occurs on the electronic device as the hardware operates. If a plurality of hardware is operating in step 130, the load of all hardware in operation can be calculated. According to one embodiment, the load may be calculated by calculating the usage ratio of processing power of the hardware used or calculating the number of tasks being executed.

160 단계에서 전자 디바이스는 130 단계에서 획득한 동작 정보에 대한 피드백 정보와, 150 단계에서 계산한 부하를 바탕으로 전력 관리를 수행한다. 일 실시예에 따르면, 전자 디바이스는 하드웨어의 동작 속성을 변경하여 전력 관리를 수행할 수 있다. 특히, 전자 디바이스는 하드웨어의 전압 및/또는 주파수를 조절할 수 있다. 나아가, 전자 디바이스는 전력 관리 수행 결과에 대한 피드백 정보를 획득하고, 피드백 정보를 기반으로 상기 하드웨어에 대한 전력 관리를 수행할 수 있다. 여기서 피드백 정보는 사용자가 인지 가능한 동작과 관련된 동작 정보의 변화를 포함할 수 있다. 도 2에서 순서도를 참고하여 보다 자세히 설명한다.In step 160, the electronic device performs power management based on feedback information about the operation information obtained in step 130 and the load calculated in step 150. According to one embodiment, an electronic device may perform power management by changing the operating properties of hardware. In particular, the electronic device may adjust the voltage and/or frequency of the hardware. Furthermore, the electronic device may obtain feedback information on power management performance results and perform power management for the hardware based on the feedback information. Here, the feedback information may include changes in motion information related to motions that can be perceived by the user. This will be described in more detail with reference to the flow chart in FIG. 2.

도 2는 일 실시예에 따른 전력 관리 방법을 나타내는 순서도이다.Figure 2 is a flowchart showing a power management method according to one embodiment.

먼저, 210 단계에서 전자 디바이스는 전자 디바이스가 수행하는 동작들 중, 전자 디바이스에 포함된 하드웨어의 처리 결과를 통해 사용자가 인지 가능한 동작과 관련된 동작 정보를 획득한다. 여기서, 사용자가 인지 가능한 동작과 관련된 동작 정보는 사용자에게 표현되어 사용자가 직간접적으로 경험할 수 있는 동작 정보를 의미한다. 즉, 전자 디바이스의 프로세싱 파이프 끝단에서 사용자에 의해 경험되거나, 사용자에게 제공되는 동작에 대한 정보를 의미한다.First, in step 210, the electronic device obtains operation information related to operations perceptible to the user through processing results of hardware included in the electronic device among the operations performed by the electronic device. Here, motion information related to motions that can be perceived by the user refers to motion information that is expressed to the user and can be directly or indirectly experienced by the user. In other words, it refers to information about the operation experienced by the user or provided to the user at the end of the processing pipe of the electronic device.

일 실시예에 따르면, 사용자가 인지 가능한 동작과 관련된 동작 정보는 단위 시간 당 프레임 수, 보다 구체적으로, 초당 프레임 수(Frames Per Second, 이하 FPS)를 포함할 수 있다. 사용자에게 출력되는 화면의 단위 시간당 프레임 수는 사용자가 정확한 수치를 모르더라도 화면이 부드럽게 넘어가거나 끊기는 정도를 통해 사용자가 직접적으로 경험할 수도 있고, 그래픽 처리 장치에서 계산한 단위 시간당 프레임 수를 수치로 표현하여 사용자가 간접적으로 경험할 수도 있다. According to one embodiment, motion information related to motion perceivable by the user may include the number of frames per unit time, more specifically, the number of frames per second (FPS). Even if the user does not know the exact number, the number of frames per unit time of the screen displayed to the user can be directly experienced through the degree to which the screen moves smoothly or is interrupted, and the number of frames per unit time calculated by the graphics processing unit is expressed in numbers. Users can also experience it indirectly.

또한, 일 실시예에 따르면, 사용자가 인지 가능한 동작과 관련된 동작 정보는 처리 속도, 설치 속도, 다운로드 속도 등을 포함할 수 있다. 사용자는 처리, 설치 및 다운로드에 걸리는 시간 등을 통해 처리 동작을 직접적으로 경험할 수도 있고, 화면에 표시되는 수치를 통해 처리, 설치 및 다운로드 속도를 간접적으로 경험할 수도 있다. Additionally, according to one embodiment, operation information related to an operation perceivable by the user may include processing speed, installation speed, download speed, etc. Users can experience processing operations directly, such as the time it takes for processing, installation, and downloading, or indirectly experience processing, installation, and download speeds through numbers displayed on the screen.

나아가, 일 실시예에서 사용자가 인지 가능한 동작과 관련된 동작 정보는 UI 응답 시간, 예를 들어, 버튼을 누른 시간과 대응하는 동작이 완료된 시간 사이의 시간, 소리, 진동, 이미지, UI 변화, 또는 사용자에게 피드백 등을 포함할 수 있다. 또한, 일 실시예에서, 사용자가 인지 가능한 동작과 관련된 동작 정보는 애플리케이션 완료 시간, 예를 들어, 애플리케이션이 제공하는 정보를 수집하여 %, 바 또는 로딩 애니메이션으로 표현되는 로딩 지시자를 통한 UI 등을 포함할 수도 있다.Furthermore, in one embodiment, operation information related to an operation perceivable by the user may include UI response time, for example, the time between the time a button is pressed and the time the corresponding operation is completed, sound, vibration, image, UI change, or user This may include feedback to others. Additionally, in one embodiment, the operation information related to a user-perceivable operation includes application completion time, for example, UI through a loading indicator expressed as a percentage, bar, or loading animation by collecting information provided by the application. You may.

일 실시예에 따르면, 전자 디바이스는 전자 디바이스의 동작에 관련된 사용자가 인지 가능한 동작과 관련된 동작 정보를 계산하거나, 감지하여 획득할 수 있다. According to one embodiment, the electronic device may calculate or detect and obtain operation information related to a user-perceivable operation related to the operation of the electronic device.

그 후, 220 단계에서 전자 디바이스는 전자 디바이스의 부하 정보를 획득한다. 부하 정보는 전자 디바이스의 가용 자원에 대한 사용 비율로 나타낼 수 있다. 예를 들어, 전자 디바이스의 가용 자원을 100이라 할 때, 현재 30의 자원만 사용하고 있는 경우, 전자 디바이스의 가용 자원에 대한 사용 비율은 30%가 된다. 일 실시예에 따르면, 전자 디바이스는 현재 동작 중인 하드웨어 별로 부하 정보를 획득할 수 있다. Then, in step 220, the electronic device acquires load information of the electronic device. Load information can be expressed as a usage ratio of the available resources of the electronic device. For example, if the available resources of an electronic device are 100 and only 30 resources are currently being used, the usage ratio of the available resources of the electronic device is 30%. According to one embodiment, an electronic device may obtain load information for each currently operating hardware.

일 실시예에 따르면, 부하 정보는, 전자 디바이스가 실행 중인 애플리케이션의 종류에 따라 결정되는 부하 타입에 대한 정보를 포함할 수 있다. 예를 들어, 현재 실행 중인 애플리케이션이 3D 게임인 경우, 높은 단위 시간당 프레임 수가 요구된다. 하지만, 일반적인 프로세스, 예를 들어, 벤치마크에서는 3D 게임만큼 높은 단위 시간당 프레임 수가 요구되지 않는다. 또한, UI 동작을 수행하는 경우, 적은 전력으로도 동작 수행이 가능하다. 이와 같이, 부하 타입에 대한 정보는 현재 실행 중인 애플리케이션에 따라 달라질 수 있는 부하의 타입을 나타낼 수 있다. According to one embodiment, the load information may include information about the load type determined according to the type of application that the electronic device is executing. For example, if the currently running application is a 3D game, a high number of frames per unit time is required. However, typical processes, such as benchmarks, do not require as high a number of frames per unit of time as 3D games. Additionally, when performing a UI operation, the operation can be performed with low power. In this way, information about the load type may indicate the type of load that may vary depending on the currently executing application.

마지막으로, 230 단계에서 전자 디바이스는 동작 정보와 부하 정보를 기반으로 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행한다. 일 실시예에 따르면, 전자 디바이스는 하드웨어의 동작 속성, 보다 구체적으로, 하드웨어의 전압 및 주파수 중 적어도 하나 이상을 조절하여 해당 하드웨어 대한 전력 관리를 수행할 수 있다. 전압 및/또는 주파수를 조절하는 방법으로 동적 전압 및 주파수 스케일링(DVFS)이 사용될 수 있다. Finally, in step 230, the electronic device performs power management for hardware included in the electronic device based on operation information and load information. According to one embodiment, the electronic device may perform power management for the hardware by adjusting the operating properties of the hardware, more specifically, at least one of the voltage and frequency of the hardware. Dynamic voltage and frequency scaling (DVFS) may be used as a method to adjust voltage and/or frequency.

일 실시예에 따르면, 전반적으로 전자 디바이스는 부하가 증가하면 주파수 및/또는 전압이 증가하도록 조절하고 부하가 감소하면 주파수 및/또는 전압을 감소하도록 조절할 수 있다. 다만, 전자 디바이스는 부하에만 기반하여 주파수 및/또는 전압을 조절하는 것이 아니라 사용자가 인지 가능한 동작과 관련된 동작 정보를 함께 고려하여 주파수 및/또는 전압을 조절할 수 있다. 보다 구체적으로, 전자 디바이스는 가장 효율적인 와트 당 성능을 달성하기 위하여 주파수 및/또는 전압을 조절할 수 있다. 위에서 설명한 것과 같이 성능 향상과 주파수 및/또는 전압의 증가는 선형적으로 이루어지는 반면, 전력은 제곱 함수로 증가한다. 따라서, 부하에만 기반하여 가장 효율적인 동작 지점을 찾는 것은 쉽지 않다. 특히, 다양한 기능들을 뒷받침하기 위해 다양한 하드웨어들이 복합적으로 동작하는 전자 디바이스에서는 더욱 그러하다. 도 3 및 도 4를 참조하여 설명한다.According to one embodiment, the electronic device as a whole may adjust the frequency and/or voltage to increase when the load increases and adjust the frequency and/or voltage to decrease when the load decreases. However, rather than adjusting the frequency and/or voltage based only on the load, the electronic device may adjust the frequency and/or voltage by considering operation information related to an operation that can be perceived by the user. More specifically, electronic devices can adjust frequency and/or voltage to achieve the most efficient performance per watt. As explained above, performance improvements and increases in frequency and/or voltage occur linearly, while power increases as a square function. Therefore, it is not easy to find the most efficient operating point based on load alone. This is especially true in electronic devices where various hardware operates in combination to support various functions. This will be described with reference to FIGS. 3 and 4.

도 3 은 벤치마크 결과에 따른 주파수와 소비 전력과의 관계를 나타내는 그래프이고, 도 4는 벤치마크 결과에 따른 주파수와 초당 프레임 수(FPS)를 나타내는 그래프이다. Figure 3 is a graph showing the relationship between frequency and power consumption according to benchmark results, and Figure 4 is a graph showing frequency and frames per second (FPS) according to benchmark results.

도 3에서, X축은 주파수, Y축은 평균 소비 전력을 나타내며, 도 4에서 X축은 주파수, Y축은 초당 프레임 수(FPS)를 나타낸다. 도 3 및 도 4를 참조하면, 동일한 주파수에서 소비 전력과 초당 프레임 수(FPS)과의 관계를 비교할 수 있도록, 측정하는 주파수는 160 Hz(A), 266 Hz (B), 350 Hz (C), 420 Hz (D), 500 Hz (E), 550 Hz (F), 600 Hz (G), 700 Hz (H)를 사용하였다. 또한, 사용자가 인지 가능한 동작과 관련된 동작 정보를 반영하지 않고, 600-700 Hz에서 동적 전압 및 주파수 스케일링을 사용한 경우를 (I)로 표시하였다. 도 3에서, A ~ H를 살펴보면 주파수가 높아질수록 소비 전력이 증가하고, 도 4에서 A ~ H를 살펴보면 주파수가 높아질수록 초당 프레임 수(FPS)가 많아지는 것을 알 수 있다. In FIG. 3, the X-axis represents frequency and the Y-axis represents average power consumption, and in FIG. 4, the X-axis represents frequency and the Y-axis represents frames per second (FPS). Referring to Figures 3 and 4, to compare the relationship between power consumption and frames per second (FPS) at the same frequency, the measuring frequencies are 160 Hz (A), 266 Hz (B), and 350 Hz (C). , 420 Hz (D), 500 Hz (E), 550 Hz (F), 600 Hz (G), and 700 Hz (H) were used. In addition, the case where dynamic voltage and frequency scaling was used at 600-700 Hz without reflecting motion information related to motion perceptible to the user is indicated as (I). In FIG. 3, looking at A to H, it can be seen that power consumption increases as the frequency increases, and looking at A to H in FIG. 4, it can be seen that as the frequency increases, the number of frames per second (FPS) increases.

도 3 및 도 4를 참조하여 주파수 별 소비 전력과 초당 프레임 수(FPS)과의 관계를 비교할 수 있다. 이를 위하여, 동적 전압 및 주파수 스케일링을 사용한 경우(I)와 동적 전압 및 주파수 스케일링의 하한 주파수인 600 Hz(G) 및 상한 주파수인 700 Hz(H)의 경우에 프레임당 소비 전력을 계산해보도록 한다. Referring to Figures 3 and 4, the relationship between power consumption for each frequency and frames per second (FPS) can be compared. For this purpose, let's calculate the power consumption per frame in the case of using dynamic voltage and frequency scaling (I) and in the case of 600 Hz (G), the lower limit frequency of dynamic voltage and frequency scaling, and 700 Hz (H), the upper limit frequency.

전자 디바이스에서 동적 전압 및 주파수 스케일링을 사용한 경우(I), 600~700Hz 사이의 주파수에서 7.76 와트(Watt)의 소비 전력을 소모하고, 초당 10.02 프레임을 표시함을 알 수 있다. 이때, 프레임당 소비 전력을 계산하기 위하여 소비 전력을 초당 프레임 수로 나누면 0.77 Watt/FPS 가 된다. When dynamic voltage and frequency scaling is used in an electronic device (I), it can be seen that it consumes 7.76 Watts of power at a frequency between 600 and 700 Hz and displays 10.02 frames per second. At this time, to calculate the power consumption per frame, dividing the power consumption by the number of frames per second becomes 0.77 Watt/FPS.

600 Hz(G)에서는 6.11 (Watt)의 소비 전력을 소모하고, 초당 9.55 프레임을 표시함을 알 수 있다. 이때, 프레임당 소비 전력은 0.63 Watt/FPS 가 된다.It can be seen that at 600 Hz (G), the power consumption is 6.11 (Watt) and 9.55 frames per second are displayed. At this time, the power consumption per frame is 0.63 Watt/FPS.

700 Hz(H)에서는 8.8 (Watt)의 소비 전력을 소모하고, 초당 10.91 프레임을 표시함을 알 수 있다. 이때, 프레임당 소비 전력은 0.81 Watt/FPS 가 된다.It can be seen that at 700 Hz (H), the power consumption is 8.8 (Watt) and 10.91 frames per second are displayed. At this time, the power consumption per frame is 0.81 Watt/FPS.

주파수가 증가할수록, 소비 전력과 초당 프레임 수는 증가하나, 프레임당 소비 전력 역시 함께 증가하여, 전력 효율이 떨어짐을 알 수 있다. 동적 전압 및 주파수 스케일링을 사용한 경우(I), 프레임당 소비 전력이 하한 주파수인 600 Hz(G) 및 상한 주파수인 700 Hz(H)에서의 프레임당 소비 전력의 중간 정도가 되는 동작 지점이 선택되었다. As the frequency increases, power consumption and the number of frames per second increase, but power consumption per frame also increases, which shows that power efficiency decreases. When using dynamic voltage and frequency scaling (I), an operating point was selected such that the power consumption per frame was midway between the power consumption per frame at the lower frequency limit of 600 Hz (G) and the upper frequency limit of 700 Hz (H). .

여기서, 600 Hz(G)에서의 동작은 동적 전압 및 주파수 스케일링을 사용한 경우(I)의 동작에 비하여 단지 4%의 성능 저하로 22%의 전력을 아낄 수 있다. 전력 관리 측면에서 살펴보면, 약간의 성능 저하로 많은 소비 전력을 아낄 수 있는 600 Hz(G)가 가장 효율적인 동작 지점이 될 수 있음을 알 수 있다. 즉, 단순히 부하에만 기반하여 전력 관리를 수행하는 것 보다는 초당 프레임 수(FPS)와 같은 사용자가 인지 가능한 동작과 관련된 동작 정보를 함께 고려하여 전력관리를 수행하는 것이 더 효과적임을 알 수 있다. Here, operation at 600 Hz (G) can save 22% of power with only 4% performance degradation compared to operation when dynamic voltage and frequency scaling is used (I). From a power management perspective, it can be seen that 600 Hz(G) can be the most efficient operating point, saving a lot of power consumption with a slight performance loss. In other words, it can be seen that it is more effective to perform power management by considering motion information related to user-perceivable motion, such as frames per second (FPS), rather than simply performing power management based on the load.

또한, 부하에만 기반하여 전력 관리를 수행하는 경우, 전자 디바이스는 부하가 높은 상태일 때, 지속적으로 하드웨어의 주파수를 높이도록 조절할 가능성이 많다. 이 경우, 시간이 지날수록 하드웨어는 동작 한계점(특히, 온도 한계점)에 도달할 가능이 높고, 하드웨어가 동작 한계점에 도달하는 경우, 주파수가 제한되고, 사용자에게 표시되는 초당 프레임 수가 급격하게 떨어져 사용자가 오히려 성능이 나빠졌다고 느낄 수도 있다. 따라서, 단순히 부하에만 기반하여 전력 관리를 수행하는 것보다 사용자가 인지 가능한 동작과 관련된 동작 정보를 반영하여 보다 효율적으로 전력 관리를 수행할 수 있다. Additionally, when power management is performed based only on the load, there is a high possibility that the electronic device will continuously adjust the hardware frequency to increase when the load is high. In this case, over time, the hardware is likely to reach its operating limits (particularly its temperature limits), and when the hardware reaches its operating limits, its frequency will become limited and the number of frames per second displayed to the user will drop dramatically, reducing the user's risk. In fact, you may feel that performance has deteriorated. Therefore, rather than simply performing power management based on the load, power management can be performed more efficiently by reflecting operation information related to operations that the user can perceive.

나아가, 도 3 및 도 4는 주파수를 기반으로 소비 전력과 초당 프레임 수(FPS)와의 관계를 나타내고 있으나, 전압을 기반으로도 소비 전력과 초당 프레임 수(FPS)와의 관계를 그래프로 나타낼 수도 있음은 통상의 기술자에게 자명할 것이다. Furthermore, Figures 3 and 4 show the relationship between power consumption and frames per second (FPS) based on frequency, but the relationship between power consumption and frames per second (FPS) can also be graphed based on voltage. This will be obvious to those skilled in the art.

다시 도 2의 설명으로 돌아오면, 일 실시예에서, 전자 디바이스는 전자 디바이스가 동작 한계에 가까워지거나, 가까운 미래에 동작 한계에 가까워질 수 있는 경우, 주파수 및 전압을 감소하도록 조절할 수도 있다. Returning to the description of FIG. 2 , in one embodiment, the electronic device may adjust to reduce frequency and voltage when the electronic device is approaching its operating limits, or may approach its operating limits in the near future.

또한, 일 실시예에서, 전자 디바이스는 특정 하드웨어를 인에이블/디스에이블 하며, 서로 다른 하드웨어 중 하나를 선택하는 등의 방법으로 전력 관리를 수행할 수도 있다. Additionally, in one embodiment, the electronic device may perform power management by enabling/disabling specific hardware and selecting one of different hardware.

또한, 전자 디바이스는 전력 관리 수행 시, 적어도 하나 이상의 입력을 적어도 하나 이상의 기 설정된 값과 비교하고, 비교 결과에 기반하여 전력 관리를 수행할 수 있다. 여기서 기 설정된 값은 통상의 기술자에 의해 실험적으로 계산되거나 획득될 수 있다. 또한, 일 실시예에서, 이러한 전력 관리 방법은 결정론적 알고리즘을 포함할 수도 있고, 머신 러닝 프로세스를 포함할 수도 있다. Additionally, when performing power management, the electronic device may compare at least one input with at least one preset value and perform power management based on the comparison result. Here, the preset value can be experimentally calculated or obtained by a person skilled in the art. Additionally, in one embodiment, such power management methods may include deterministic algorithms and may include machine learning processes.

또한, 일 실시예에 따르면, 부하 정보가 부하 타입에 대한 정보를 포함하는 경우, 부하 타입에 맞게 전력 관리를 수행할 수 있다. 높은 성능이 필요한 경우, 전력 사용량보다는 성능에 보다 중점을 두어 전력 관리를 수행할 수 있다. 또한, 일반적인 프로세스는 전력 사용량에 중점을 두어 전력 관리를 수행할 수 있다.Additionally, according to one embodiment, when the load information includes information about the load type, power management can be performed according to the load type. When high performance is required, power management can be performed by focusing more on performance rather than power usage. Additionally, a typical process can perform power management by focusing on power usage.

예를 들어, FPS에 기반하여 전력 관리 수행 시, 게임 또는 벤치마크 시나리오 하에서 전력 관리 방법이 완전히 달라질 수 있다. 게임을 실행하는 경우, 주파수가 상승할 때 60FPS 에서 렌더링될 수 있어 FPS 임계값을 높게 설정하고, 벤치마크에서는 일반적으로 60FPS까지 올라가지 않으므로 FPS 임계값을 낮게 설정할 수 있다. 또한, 일 실시예에서는, UI 동작은 컴퓨터 장치의 온도를 높이지 않기 때문에, UI에서는 전력 및 온도조건을 무시할 수도 있다.For example, when performing power management based on FPS, the power management method may be completely different under a game or benchmark scenario. If you are running a game, you can set the FPS threshold high because it can render at 60FPS when the frequency rises, and set the FPS threshold low because benchmarks usually do not go up to 60FPS. Additionally, in one embodiment, because UI operations do not increase the temperature of the computer device, the UI may ignore power and temperature conditions.

일 실시예에 따르면, 전자 디바이스는 전력 관리 수행 시, 부하 정보와 사용자가 인지 가능한 상기 전자 디바이스의 동작 정보 외에 추가적으로 다른 파라미터들을 고려할 수도 있다. 예를 들어, 전력 사용량, 프로세서 부하, 프로세서 주파수, 버스 부하, 버스 주파수, 저장 디바이스(예를 들어, 디스크의 입출력 활동), 하드웨어의 온도 등을 고려할 수 있다. 이러한 파라미터들은 전자 디바이스의 커널, 센서 등으로부터 획득할 수 있다. According to one embodiment, when performing power management, an electronic device may additionally consider other parameters in addition to load information and operation information of the electronic device that can be perceived by the user. For example, power usage, processor load, processor frequency, bus load, bus frequency, storage device (e.g., disk I/O activity), hardware temperature, etc. can be considered. These parameters can be obtained from the kernel, sensor, etc. of the electronic device.

위에서 살펴본 것과 같이 현재 전자 디바이스의 동작 정보에 대한 고려 없이, 단순히 부하에만 기반하여 동적 전압 및 주파수 스케일링을 통한 전력 관리를 수행하는 경우, 효율적인 전력 관리를 수행하기 어렵다. As seen above, if power management is performed through dynamic voltage and frequency scaling simply based on the load without considering the operation information of the current electronic device, it is difficult to perform efficient power management.

일 실시예에 따르면, 초당 프레임 수(FPS)와 같은 사용자가 인지 가능한 동작과 관련된 동작 정보를 바탕으로 보다 효율적인 전력 관리를 수행할 수 있다. 또한, 일 실시예에 따르면, 하드웨어의 동작 상태가 아니라 사용자가 인지 가능한 동작과 관련된 동작 정보를 바탕으로 전력 관리를 수행함으로써, 복수 개의 하드웨어 간 관계에 따른 영향을 받지 않고 전력 관리를 수행할 수 있다.According to one embodiment, more efficient power management can be performed based on operation information related to user-perceivable operations, such as frames per second (FPS). In addition, according to one embodiment, power management is performed based on operation information related to operations perceivable by the user rather than the operating state of the hardware, so power management can be performed without being affected by the relationship between a plurality of pieces of hardware. .

도 5는 일 실시예에 따른 전력 관리 방법을 나타내는 순서도이다.Figure 5 is a flowchart showing a power management method according to one embodiment.

도 5에서 510 단계와 520 단계는 도 2의 210 단계와 220 단계와 동일하게 수행될 수 있으므로, 상세한 설명은 생략하기로 한다. Since steps 510 and 520 in FIG. 5 can be performed in the same manner as steps 210 and 220 in FIG. 2, detailed description will be omitted.

510 단계에서 전자 디바이스는 전자 디바이스가 수행하는 동작들 중, 전자 디바이스에 포함된 하드웨어의 처리 결과를 통해 사용자가 인지 가능한 동작과 관련된 동작 정보를 획득하고, 520 단계에서 전자 디바이스의 부하 정보를 획득한다. In step 510, the electronic device acquires operation information related to operations that the user can perceive through the processing results of hardware included in the electronic device among the operations performed by the electronic device, and in step 520, load information of the electronic device is obtained. .

530 단계에서, 전자 디바이스는 전자 디바이스의 전력 사용량 정보를 획득한다. 전자 디바이스는 전력 사용량을 측정하여 전력 사용량 정보를 획득할 수도 있고, 전력 사용량을 추정하여 전력 사용량 정보를 획득할 수도 있다. 일 실시예에 따르면, 전자 디바이스의 전력 사용량 정보는 신경망 네트워크 수단(means of neural networks) 또는 머신 러닝(machine learning)에 기반한 다른 수단 또는 머신 러닝과 관계 없는 다른 수단을 이용하여 획득할 수 있다. 이때, 신경망 네트워크는 주어진 입력에 대하여 희망하는 출력을 달성하기 위하여 뉴런들 간에 연결에 자동적으로 가중치를 튜닝하여 훈련될 수 있다.In step 530, the electronic device obtains power usage information of the electronic device. The electronic device may obtain power usage information by measuring power usage, or may obtain power usage information by estimating power usage. According to one embodiment, power usage information of an electronic device may be obtained using means of neural networks, other means based on machine learning, or other means unrelated to machine learning. At this time, the neural network can be trained by automatically tuning the weights of the connections between neurons to achieve the desired output for a given input.

540 단계에서 전자 디바이스는 사용자가 인지 가능한 동작과 관련된 동작 정보, 부하 정보 및 전력 사용량 정보를 기반으로 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행한다. 전력 관리는 도 2의 230 단계와 동일하게 수행될 수 있으므로, 상세한 설명은 생략한다.In step 540, the electronic device performs power management for hardware included in the electronic device based on operation information, load information, and power usage information related to operations that can be perceived by the user. Since power management can be performed in the same way as step 230 of FIG. 2, detailed description is omitted.

일 실시예에 따르면, 전자 디바이스는 전력 사용량을 줄이는 방향으로 전력 관리를 수행할 수 있다. According to one embodiment, an electronic device may perform power management to reduce power usage.

추가적으로, 540 단계에서는 수학식 (1)을 이용하여 전력 관리를 수행할 수 있다. Additionally, in step 540, power management can be performed using equation (1).

수학식 (1)Equation (1)

여기서, P는 전력, T는 온도, F는 FPS, GLoad는 부하, w는 중요도에 따라 구성 가능한 가중치 파라미터를 나타낸다. 즉, wp 는 전력에 대한 가중치, wt 는 온도에 대한 가중치, wf는 주파수에 대한 가중치 파라미터를 나타낸다. Here, P is power, T is temperature, F is FPS, G Load is load, and w is a weight parameter that can be configured according to importance. That is, w p represents the weight for power, w t represents the weight for temperature, and w f represents the weight parameter for frequency.

수학식 (1)의 결과 값이 1보다 큰 경우, 디바이스는 하드웨어의 주파수를 증가시키는 신호를 출력하고, 1보다 작은 경우, 주파수를 감소시키는 신호를 출력할 수 있다. 여기서, 가중치 파라미터는 사용자에 의해 조정될 수 있다. If the result of equation (1) is greater than 1, the device can output a signal that increases the frequency of the hardware, and if it is less than 1, the device can output a signal that decreases the frequency. Here, the weight parameters can be adjusted by the user.

도 6은 일 실시예에 따른 사용자 설정을 나타내는 도면이다. Figure 6 is a diagram showing user settings according to one embodiment.

도 6을 참조하면, 전자 디바이스는 입력부, 예를 들어, 사용자 인터페이스부 등을 통해 획득되는 사용자로부터의 입력 신호에 따라, 전자 디바이스의 동작 모드, 단위 시간 당 프레임 수와 관련된 F 파라미터, 전력 사용량과 관련된 P 파라미터를 설정할 수 있다. 도 7과 함께 설명한다.Referring to FIG. 6, the electronic device controls the operating mode of the electronic device, the F parameter related to the number of frames per unit time, the power usage, and the like, according to an input signal from the user obtained through an input unit, for example, a user interface unit. Related P parameters can be set. This will be explained together with FIG. 7.

도 7은 일 실시예에 따른 일반 모드와 절전 모드의 동작 과정을 나타내는 순서도이다. Figure 7 is a flowchart showing the operation process of the normal mode and power saving mode according to one embodiment.

먼저, 705 단계에서 전자 디바이스는 전자 디바이스의 동작 모드를 결정할 수 있다. 디바이스의 동작 모드는 도 6에서 살펴본 것과 같이 사용자가 설정한 동작 모드로 결정될 수 있다. 도 7에서는 일반 모드와 전력을 절약하기 위한 절전 모드를 예로 들고 있으나, 이는 하나의 예시에 불과하며 다양한 동작 모드를 설정할 수도 있다. First, in step 705, the electronic device may determine the operation mode of the electronic device. The operation mode of the device may be determined by the operation mode set by the user, as shown in FIG. 6. In Figure 7, a normal mode and a power saving mode to save power are used as examples, but this is only an example and various operation modes can be set.

705 단계에서 전자 디바이스가 동작 모드를 일반 모드로 결정하는 경우, 전자 디바이스는 710 단계로 진행하여 온도를 나타내는 입력이 특정 임계값, 예를 들어 70˚ C를 초과하는지 여부를 판단한다. 온도가 70˚ C 를 초과하는 경우, 전자 디바이스는 755 단계로 진행하여 동작과 관련된 하드웨어의 주파수가 감소하도록 주파수를 조절한다. 전자 디바이스가 동작 한계에 다다르지 않도록 주파수를 감소시키는 것이다. If the electronic device determines the operation mode to be a normal mode in step 705, the electronic device proceeds to step 710 to determine whether the input representing the temperature exceeds a certain threshold, for example, 70°C. If the temperature exceeds 70˚C, the electronic device proceeds to step 755 and adjusts the frequency to reduce the frequency of the hardware associated with the operation. The idea is to reduce the frequency so that electronic devices do not reach their operating limits.

710 단계에서 온도가 70˚ C 미만인 경우, 715 단계로 진행하여 단위 시간당 프레임 수, 예를 들어, FPS가 50과 F 파라미터의 합보다 큰지 여부를 판단한다. 일 실시예에서, F 파라미터는 도 6에서 살펴본 것과 같이 사용자가 설정할 수 있는 값이다. FPS가 50과 F 파라미터의 합보다 큰 경우, 전자 디바이스는 755 단계로 진행하여 동작과 관련된 하드웨어의 주파수가 감소하도록 주파수를 조절한다. If the temperature is less than 70˚ C in step 710, the process proceeds to step 715 to determine whether the number of frames per unit time, for example, FPS, is greater than the sum of 50 and the F parameter. In one embodiment, the F parameter is a value that can be set by the user, as shown in FIG. 6. If the FPS is greater than the sum of 50 and the F parameter, the electronic device proceeds to step 755 and adjusts the frequency so that the frequency of the hardware associated with the operation is reduced.

715 단계에서 FPS가 50과 F 파라미터의 합보다 작은 경우, 전자 디바이스는 720 단계로 진행하여, FPS가 40과 F 파라미터의 합보다 작은지 여부를 판단한다. FPS가 40과 F 파라미터의 합보다 작은 경우, 전자 디바이스는 750 단계로 진행하여 동작과 관련된 하드웨어의 주파수가 증가하도록 주파수를 조절한다. 710 단계와 715 단계에서는 사용자가 인지 가능한 상기 전자 디바이스의 동작 정보를 바탕으로 적정 주파수를 탐색하는 것이다. If the FPS is less than the sum of 50 and the F parameter in step 715, the electronic device proceeds to step 720 and determines whether the FPS is less than the sum of 40 and the F parameter. If the FPS is less than the sum of 40 and the F parameter, the electronic device proceeds to step 750 and adjusts the frequency to increase the frequency of the hardware associated with the operation. In steps 710 and 715, an appropriate frequency is searched based on operation information of the electronic device that can be recognized by the user.

720 단계에서 FPS가 40과 F 파라미터의 합보다 큰 경우, 전자 디바이스는 725 단계로 진행하여 전력 사용량이 기 설정된 값인 X와 전력과 P파라미터의 합보다 큰지 여부를 판단한다. 일 실시예에서, 기 설정된 값인 X는 하드웨어적으로 설계되어 사용자가 설정할 수 없는 값이며, P 파라미터는 도 6에서 살펴본 것과 같이 사용자가 설정할 수 있는 값이다. If the FPS is greater than the sum of the 40 and F parameters in step 720, the electronic device proceeds to step 725 and determines whether the power usage is greater than the preset value of X and the sum of the power and P parameters. In one embodiment, the preset value

725 단계에서 전력 사용량이 기 설정된 값인 X와 전력과 P파라미터의 합보다 큰 경우, 전자 디바이스는 755 단계로 진행하여 동작과 관련된 하드웨어의 주파수가 감소하도록 주파수를 조절한다. 또한, 전력 사용량이 기 설정된 값인 X와 전력과 P파라미터의 합보다 작거나 같은 경우 프로세스를 종료한다. 일 실시예에서는 프로세스가 종료되는 경우, 주파수는 변경되지 않고 유지된다. If the power usage in step 725 is greater than the preset value of Additionally, if the power usage is less than or equal to the preset value of X and the sum of the power and P parameters, the process is terminated. In one embodiment, when the process ends, the frequency remains unchanged.

705 단계에서 전자 디바이스가 동작 모드를 절전 모드로 결정하는 경우, 전자 디바이스는 730 단계로 진행하여 온도를 나타내는 입력이 특정 임계값, 예를 들어 70˚ C를 초과하는지 여부를 판단한다. 온도가 70˚ C 를 초과하는 경우, 전자 디바이스는 755 단계로 진행하여 동작과 관련된 하드웨어의 주파수가 감소하도록 주파수를 조절한다. 주파수를 감소시킴에 따라 전자 디바이스가 동작 한계에 다다르지 않게 된다. If the electronic device determines the operation mode to be a power saving mode in step 705, the electronic device proceeds to step 730 and determines whether the input representing the temperature exceeds a certain threshold, for example, 70°C. If the temperature exceeds 70˚C, the electronic device proceeds to step 755 and adjusts the frequency to reduce the frequency of the hardware associated with the operation. By reducing the frequency, electronic devices do not reach their operating limits.

절전 모드에서는 동작 성능에 앞서 전력을 먼저 고려하여 전력과 관련된 판단을 먼저 수행하고, 그 후, FPS와 관련된 판단을 수행하게 된다. In power saving mode, power is considered first before operating performance, and power-related decisions are made first, and then FPS-related decisions are made.

730 단계에서 온도가 70˚ C 미만인 경우, 전자 디바이스는 735 단계로 진행하여 전력 사용량이 기 설정된 값인 X와 전력과 P파라미터의 합보다 큰지 여부를 판단한다. 일 실시예에서, 기 설정된 값인 X는 하드웨어적으로 설계되어 사용자가 설정할 수 없는 값이며, P 파라미터는 도 6에서 살펴본 것과 같이 사용자가 설정할 수 있는 값이다. 735 단계에서 전력 사용량이 기 설정된 값인 X와 전력과 P파라미터의 합보다 큰 경우, 전자 디바이스는 755 단계로 진행하여 동작과 관련된 하드웨어의 주파수가 감소하도록 주파수를 조절한다. If the temperature is less than 70˚ C in step 730, the electronic device proceeds to step 735 and determines whether the power usage is greater than the preset value of X and the sum of the power and P parameters. In one embodiment, the preset value If the power usage in step 735 is greater than the preset value of

735 단계에서 전력 사용량이 기 설정된 값인 X와 P파라미터의 합보다 작은 경우, 전자 디바이스는 740 단계로 진행하여 단위 시간당 프레임 수, 예를 들어, FPS가 40과 F 파라미터의 합보다 큰지 여부를 판단한다. FPS가 40과 F 파라미터의 합보다 큰 경우, 전자 디바이스는 755 단계로 진행하여 동작과 관련된 하드웨어의 주파수가 감소하도록 주파수를 조절한다. If in step 735 the power usage is less than the sum of the . If the FPS is greater than the sum of 40 and the F parameter, the electronic device proceeds to step 755 and adjusts the frequency so that the frequency of the hardware associated with the operation is reduced.

또한, 740 단계에서 FPS가 40과 F 파라미터의 합보다 작은 경우, 전자 디바이스는 745 단계로 진행하여, FPS가 30과 F 파라미터의 합보다 작은지 여부를 판단한다. FPS가 30과 F 파라미터의 합보다 작은 경우, 전자 디바이스는 750 단계로 진행하여 동작과 관련된 하드웨어의 주파수가 증가하도록 주파수를 조절하고, FPS가 30과 F 파라미터의 합보다 큰 경우, 프로세스를 종료한다. 일 실시예에서, 프로세스가 종료되는 경우, 주파수는 변경되지 않고 유지된다. Additionally, if the FPS is less than the sum of 40 and the F parameter in step 740, the electronic device proceeds to step 745 and determines whether the FPS is less than the sum of 30 and the F parameter. If FPS is less than the sum of 30 and the F parameters, the electronic device proceeds to step 750 and adjusts the frequency to increase the frequency of the hardware involved in the operation, and if FPS is greater than the sum of 30 and the F parameters, the electronic device terminates the process. . In one embodiment, when the process ends, the frequency remains unchanged.

절전 모드에서는 동작 성능에 앞서 전력을 먼저 고려하여 전력과 관련된 판단을 먼저 수행하고, 그 후, FPS와 관련된 판단을 수행하게 된다. In power saving mode, power is considered first before operating performance, and power-related decisions are made first, and then FPS-related decisions are made.

도 7에서 전자 디바이스는 설정된 레벨만큼 주파수를 조절하거나 또는 주파수 값을 특정 값으로 조절하는 것도 가능하다. 즉, 750 단계, 755 단계에서 전자 디바이스는 주파수를 설정된 값만큼 상승 또는 감소 하도록 조절하거나, 설정된 값으로 조절할 수 있다. In FIG. 7, the electronic device can adjust the frequency by a set level or adjust the frequency value to a specific value. That is, in steps 750 and 755, the electronic device can adjust the frequency to increase or decrease by a set value, or adjust it to a set value.

일 실시예에서 판단 순서를 달리하거나, 2 개 이상의 판단을 동시에 수행하거나, 판단 과정을 생략할 수도 있다. 예를 들어, 715 단계 및 720 단계를 먼저 수행하고, 710 단계를 수행하는 것도 가능하다. 또한, 715 단계, 725 단계를 동시에 수행하는 것도 가능하며, 나아가, 720 단계를 생략하는 것도 가능하다. In one embodiment, the judgment order may be changed, two or more judgments may be performed simultaneously, or the judgment process may be omitted. For example, it is possible to perform steps 715 and 720 first, and then perform step 710. Additionally, it is possible to perform steps 715 and 725 simultaneously, and furthermore, it is possible to omit step 720.

일 실시예에서, 각 판단 과정들은 if-else 조건 세트를 포함할 수 있다. 한다. 또한, 동작 모드 또는 일부 파라미터의 값을 변경함으로써 사용자가 하드코드된 기능을 조정하는 것을 허용할 수도 있다. In one embodiment, each decision process may include a set of if-else conditions. do. It may also allow the user to adjust hardcoded functions by changing the operating mode or the value of some parameters.

도 8은 일 실시예에 따른 전력 관리 방법을 나타내는 순서도이다.Figure 8 is a flowchart showing a power management method according to one embodiment.

도 8에서 810 단계 내지 830 단계는 도 2의 210 단계와 220 단계와 동일하게 수행될 수 있으므로, 상세한 설명은 생략하기로 한다.Since steps 810 to 830 in FIG. 8 can be performed in the same manner as steps 210 and 220 in FIG. 2, detailed description will be omitted.

810 단계에서 전자 디바이스는 전자 디바이스는 전자 디바이스가 수행하는 동작들 중, 전자 디바이스에 포함된 하드웨어의 처리 결과를 통해 사용자가 인지 가능한 동작과 관련된 동작 정보를 획득하고, 520 단계에서 전자 디바이스의 부하 정보를 획득한다. 또한, 830 단계에서 전자 디바이스는 동작 정보와 부하 정보를 기반으로 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행한다.In step 810, the electronic device acquires operation information related to operations that the user can perceive through the processing results of hardware included in the electronic device among the operations performed by the electronic device, and in step 520, load information on the electronic device. obtain. Additionally, in step 830, the electronic device performs power management on hardware included in the electronic device based on operation information and load information.

840 단계에서 전자 디바이스는 전력 관리 수행 결과에 대하 피드백 정보를 획득한다. 일 실시예에서 피드백 정보는 전자 디바이스는 동작 정보의 변화를 포함할 수 있다. In step 840, the electronic device obtains feedback information about the results of power management. In one embodiment, the feedback information may include changes in operation information of the electronic device.

그 후, 850 단계에서 전자 디바이스는 피드백 정보를 기반으로 하드웨어에 대한 전력 관리를 수행할 수 있다. 일 실시예에 따르면, 전자 디바이스는 피드백 정보를 수신하여, 피드백 정보의 내용에 따라 직전에 수행한 전력 관리 동작에 대해 긍정 보상 또는 부정 보상을 부여할 수 있다. 일 실시예에서, 긍정 보상은 목표 달성에 가까워지는 경우 부여될 수 있고, 부정 보상은 목표에서 멀어지는 경우 부여될 수 있다. 일 실시예에서, 보상이 부여된 전력 관리 동작들은 다음 전력 관리 동작 결정에서 우선적으로 선택될 수 있거나(긍정 보상), 배제될 수도 있다(부정 보상). 즉, 전자 디바이스는 전력 관리 수행 결과에 대하 피드백 정보를 기반으로 전력 관리 수행 방법을 학습할 수 있다. Then, in step 850, the electronic device may perform power management for hardware based on the feedback information. According to one embodiment, the electronic device may receive feedback information and grant positive compensation or negative compensation to the power management operation immediately performed depending on the content of the feedback information. In one embodiment, positive rewards may be granted when a goal is being achieved, and negative rewards may be granted when a goal is being moved away from the goal. In one embodiment, rewarded power management operations may be selected preferentially (positive compensation) or excluded (negative compensation) in the next power management operation decision. That is, the electronic device can learn how to perform power management based on feedback information about the results of power management.

일 실시예에서, 이러한 학습 방법은, 머신 러닝에 의해 수행 될 수 있고, 특히, 강화된 학습의 타입(a type of reinforcement learning)인 Q-러닝 접근에 기반하여 이루어 질 수 있다. 강화된 학습은 수학식 (2)에 의해 계산될 수 있다. In one embodiment, this learning method may be performed by machine learning, and in particular, may be based on a Q-learning approach, a type of reinforcement learning. Enhanced learning can be calculated by equation (2).

y = f(x)/[Env, R] 수학식 (2)y = f(x)/[Env, R] Equation (2)

수학식 (2)에서 x는 전자 디바이스의 현재 상태이고, y는 프로세스에 의해 결정되는 동작을 의미한다. x, y의 휴리스틱 예가 주어진 경우, 프로세스는 환경(Env) 및 보상(R)을 통해 f()를 찾을 수 있다. 일 실시예에서, 전자 디바이스의 현재 상태는, 예를 들어, FPS, GPU 주파수, GPU 부하, 온도, 배터리 레벨 및/또는 전력 등을 포함할 수 있다. 또한, 프로세스에 의해 결정되는 동작은 주파수 증가, 주파수 감소 또는 주파수 유지를 포함할 수 있다. 이와 다르게 프로세스는 주파수 세트/범위에서 하나를 결정할 수도 있다. 프로세스에 의해 목표될 수 있는 수렴 지점/목표의 예는 특정 온도 지점, 가능한 최대 FPS 및/또는 높은 GPU 부하를 포함할 수 있다. 위에서 설명한 것과 같이 프로세스에 의해 사용되는 보상은 목표 달성에 가까워지는 긍정 보상 및 목표에서 멀어지는 부정 보상을 포함할 수 있다. In equation (2), x is the current state of the electronic device, and y refers to the operation determined by the process. Given a heuristic example of x, y, the process can find f() through the environment (Env) and reward (R). In one embodiment, the current state of the electronic device may include, for example, FPS, GPU frequency, GPU load, temperature, battery level and/or power, etc. Additionally, the actions determined by the process may include increasing frequency, decreasing frequency, or maintaining frequency. Alternatively, a process may decide on one set/range of frequencies. Examples of convergence points/goals that may be targeted by a process may include a specific temperature point, maximum possible FPS, and/or high GPU load. As described above, rewards used by a process can include positive rewards that move it closer to achieving its goal and negative rewards that move it away from its goal.

예를 들어, GPU 전력 관리를 제어하기 위한 강화된 학습 휴리스틱 모델은 아래와 같을 수 있다. For example, an enhanced learning heuristic model for controlling GPU power management could be as follows:

단계 1: 현재 상태(St)를 읽기Step 1: Read the current state (S t )

단계 2: 현재 상태(St)에 기반하여 동작을 선택Step 2: Select action based on current state (S t )

단계 3: 현재 상태(St)의 보상을 계산Step 3: Calculate the reward for the current state (S t )

단계 4: 가장 최근 동작을 업데이트(St-1, At-1)Step 4: Update most recent actions (S t-1 , A t-1 )

단계 5: 단계1로 진행Step 5: Proceed to Step 1

전력, 온도 및 FPS와 같이 복수 개의 목표가 있는 경우, 보상은 도 9 및 도 10과 같은 그래프에서 선택될 수 있다. If there are multiple targets such as power, temperature and FPS, compensation can be selected from graphs such as Figures 9 and 10.

도 9는 일 실시예에 따라 보상을 결정하기 위한 그래프를 나타내는 도면이고, 도 10은 일 실시예 따라 보상을 결정하기 위한 그래프를 나타내는 도면이다.FIG. 9 is a diagram illustrating a graph for determining compensation according to an embodiment, and FIG. 10 is a diagram illustrating a graph for determining compensation according to an embodiment.

도 9 및 도 10에서 x축은 보상 정도를 나타내고, y축은 FPS 의 많고 적음의 정도를 나타낸다. 도 9는 일반적인 경우로, 높은 성능을 나타내는 경우에, 즉, 단위 시간당 FPS가 높아질수록 긍정 보상을 부여하고, 낮은 성능을 나타내는 경우에, 즉, 단위 시간당 FPS가 낮아질수록 부정 보상을 부여할 수 있음을 알 수 있다. 이와 비교하여, 도 10은 특정 구간에 높은 보상을 부여할 수 있다. 보다 구체적으로 설정된 FPS 구간(1010)에 높은 보상을 부여하도록 할 수 있다. In FIGS. 9 and 10, the x-axis represents the degree of compensation, and the y-axis represents the degree of FPS. Figure 9 shows a general case, in which case a positive reward may be granted in the case of high performance, that is, as the FPS per unit time increases, and in the case of low performance, that is, as the FPS per unit time decreases, a negative reward may be granted. can be seen. In comparison, Figure 10 can provide high compensation to a specific section. High compensation can be given to a more specifically set FPS section 1010.

나아가, 전자 디바이스는 수학식 (3)을 이용하여 보상을 계산할 수도 있다.Furthermore, the electronic device may calculate compensation using equation (3).

수학식 (3)Equation (3)

여기서, p는 전력, t는 시간, f는 주파수, T는 온도, n은 현재 보상값, n-1은 마지막 보상값, L은 GPU의 부하값, R은 최종 보상값을 나타낸다. Here, p is power, t is time, f is frequency, T is temperature, n is the current compensation value, n-1 is the last compensation value, L is the GPU load value, and R is the final compensation value.

일 실시예에 따르면, 최적의 FPS/Watt에서 동작하기 위한 전력 관리 방법을 제공할 수 있다. 일 실시예에 따르면, 최적값은 실험 데이터로부터 도출할 수 있고, 전력은 주파수의 제곱으로 스케일되므로 그 중에서 가능한 가장 낮은 주파수가 될 수 있다. 일 실시예에 따르면, 너무 많은 전력을 사용하는 대신, "충분히 좋은" FPS를 갖도록 “보다 나은” 또는 "최적에 가까운" FPS/Watt에서 하드웨어가 동작할 수 있는 전력 관리 방법을 제공할 수 있다. According to one embodiment, a power management method for operating at optimal FPS/Watt may be provided. According to one embodiment, the optimal value can be derived from experimental data, and power is scaled as the square of the frequency, so it can be the lowest possible frequency. According to one embodiment, a power management method can be provided that allows the hardware to operate at a “better” or “near-optimal” FPS/Watt to have a “good enough” FPS, instead of using too much power.

지금까지 일 실시예에 따른 전력 관리 방법을 설명하였다. 아래에서는 일 실시예에 따른 전력 관리 장치에 대해 설명한다.일 실시예에 따른 전력 관리 방법은 아래서 설명하는 전력 관리 장치에 의해 수행될 수 있으며, 일 실시예에 따른 전력 관리 장치는 위에서 설명한 전력 관리 방법에 따라 전력 관리를 수행할 수 있다. So far, a power management method according to an embodiment has been described. Below, a power management device according to an embodiment will be described. The power management method according to an embodiment may be performed by the power management device described below, and the power management device according to an embodiment may perform the power management described above. Power management can be performed depending on the method.

도 11은 일 실시예에 따른 전력 관리 장치의 내부 구성을 나타내는 블록도이다. Figure 11 is a block diagram showing the internal configuration of a power management device according to an embodiment.

도 11을 참조하면, 일 실시예에 따른 전력 관리 장치(1100)는 출력부(1110), 하드웨어(1120) 및 제어부(1130)를 포함할 수 있다. Referring to FIG. 11 , the power management device 1100 according to an embodiment may include an output unit 1110, hardware 1120, and a control unit 1130.

출력부(1110)는 사용자에게 하드웨어의 처리 결과를 출력한다. 일 실시예에 따르면, 출력부(1110)는 디스플레이를 포함할 수 있다. 나아가, 출력부(110)는, 사용자에게 처리 결과를 출력할 수 있는 모든 장치, 예를 들어, LED 표시등, 스피커 등을 포함할 수 있다. The output unit 1110 outputs hardware processing results to the user. According to one embodiment, the output unit 1110 may include a display. Furthermore, the output unit 110 may include any device that can output processing results to the user, for example, an LED indicator, a speaker, etc.

하드웨어(1120)는 프로세스를 처리한다. 일 실시예에서, 하드웨어(1120)는 전자 디바이스에 포함된 물리적인 구성 요소를 포함할 수 있다. 예를 들어, 하드웨어(1120)는 중앙 처리 장치(Central Processing Unit, CPU), 그래픽 처리 장치(Graphic Processing Unit, GPU)를 포함할 수 있으며, 전력 관리의 수행 대상이 될 수 있는 모든 하드웨어를 포함할 수 있다. Hardware 1120 handles the process. In one embodiment, hardware 1120 may include physical components included in an electronic device. For example, the hardware 1120 may include a central processing unit (CPU), a graphics processing unit (GPU), and may include all hardware that may be subject to power management. You can.

제어부(1130)는 전력 관리 장치(1100)의 전반적인 동작을 제어하여 전력 관리를 수행할 수 있다. 일 실시예에서 제어부(1130)는 외부에서부터 입력되는 신호 또는 데이터를 저장하거나, 전자 장치에서 수행되는 다양한 작업에 대응되는 저장 영역으로 사용되는 램, 주변기기의 제어를 위한 제어 프로그램이 저장된 롬(ROM) 및 프로세서(Processor)를 포함할 수 있다. 프로세서는 코어(core, 도시되지 아니함)와 GPU(도시되지 아니함)를 통합한 SoC(System On Chip)로 구현될 수 있다. 또한, 프로세서는 복수의 프로세서를 포함할 수 있다. 또한, 제어부(1130)가 전력 관리 대상이 되는 경우, 제어부(1130)와 하드웨어(1120)는 동일한 구성요소가 될 수도 있다. The control unit 1130 may perform power management by controlling the overall operation of the power management device 1100. In one embodiment, the control unit 1130 stores signals or data input from the outside, RAM, which is used as a storage area corresponding to various tasks performed in the electronic device, and ROM, which stores control programs for controlling peripheral devices. and a processor. The processor may be implemented as a System On Chip (SoC) that integrates a core (not shown) and a GPU (not shown). Additionally, the processor may include a plurality of processors. Additionally, when the control unit 1130 is subject to power management, the control unit 1130 and hardware 1120 may be the same component.

일 실시예에 따르면, 제어부(1130)는 전자 디바이스가 수행하는 동작들 중, 출력부(1110)를 통해 출력되는 하드웨어(1120)의 처리 결과를 통해 사용자가 인지 가능한 상기 전자 디바이스의 동작 정보를 획득하고, 전자 디바이스가 수행하는 동작에 의해 발생되는 부하와 관련된 부하 정보를 획득하며, 동작 정보와 상기 부하 정보를 기반으로 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행할 수 있다. 이때, 사용자가 인지 가능한 동작과 관련된 동작 정보는 사용자에게 표현되어 사용자가 직간접적으로 경험할 수 있는 동작 정보를 의미한다. 즉, 전자 디바이스의 프로세싱 파이프 끝단에서 사용자에 의해 경험되거나, 사용자에게 제공되는 동작에 대한 정보를 의미한다. According to one embodiment, the control unit 1130 obtains operation information of the electronic device that can be recognized by the user through the processing results of the hardware 1120 output through the output unit 1110 among the operations performed by the electronic device. , obtain load information related to the load generated by the operation performed by the electronic device, and perform power management for hardware included in the electronic device based on the operation information and the load information. At this time, motion information related to motions that can be perceived by the user refers to motion information that is expressed to the user and can be directly or indirectly experienced by the user. In other words, it refers to information about the operation experienced by the user or provided to the user at the end of the processing pipe of the electronic device.

일 실시예에 따르면, 제어부(1130)는 하드웨어(1120)의 동작 속성을 변경하도록 제어할 수 있다. 또한, 제어부(1130)는 하드웨어(1120)의 전압 및 주파수 중 적어도 하나 이상을 조절할 수 있다. According to one embodiment, the control unit 1130 may control the operating properties of the hardware 1120 to be changed. Additionally, the control unit 1130 may adjust at least one of the voltage and frequency of the hardware 1120.

또한, 일 실시예에 따르면, 제어부(1130)는 전자 디바이스의 전력 사용량 정보를 획득하고, 전력 사용량 정보를 기반으로 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행할 수 있다. 도 12 및 도 13을 참조하여 설명한다. Additionally, according to one embodiment, the control unit 1130 may obtain power usage information of the electronic device and perform power management on hardware included in the electronic device based on the power usage information. This will be described with reference to FIGS. 12 and 13.

도 12는 일 실시예에 따른 전력 관리 장치의 제어부를 나타내는 블록도이다. Figure 12 is a block diagram showing a control unit of a power management device according to an embodiment.

도 12를 참조하면, 일 실시예에 따른 제어부(1130)는, 전력 사용량 계산부(1210)와 전력 관리부(1230)를 포함할 수 있다. 일 실시예에서 전력 사용량 계산부(1210)는 하드웨어 메트릭과 센서 데이터를 수신하여 전력 사용량을 계산할 수 있다. 일 실시예에서 전력 관리부(1230)는 전력 사용량 계산부(1210)로부터 전달 받은 전력 사용량과, 하드웨어 메트릭 및 센서 데이터를 바탕으로 전력 관리를 수행할 수 있다. 또한, 일 실시예에서 전력 관리부(1230)는 사용자 설정 또는 전자 디바이스의 설정(1220)에 따라 전력 관리를 수행할 수도 있다. Referring to FIG. 12, the control unit 1130 according to one embodiment may include a power usage calculation unit 1210 and a power management unit 1230. In one embodiment, the power usage calculation unit 1210 may calculate power usage by receiving hardware metrics and sensor data. In one embodiment, the power management unit 1230 may perform power management based on power usage received from the power usage calculation unit 1210, hardware metrics, and sensor data. Additionally, in one embodiment, the power management unit 1230 may perform power management according to user settings or electronic device settings 1220.

도 13은 일 실시예에 따른 전력 관리 장치의 전력 사용량 계산부의 내부 구성을 나타내는 도면이다. FIG. 13 is a diagram showing the internal configuration of a power usage calculation unit of a power management device according to an embodiment.

도 13을 참조하면, 전력 사용량 계산부(1210)는 값 스케일러(value scaler, 1310), 신경망 네트워크(1320) 및 전력 재스케일러(1330)를 포함할 수 있다. Referring to FIG. 13, the power usage calculation unit 1210 may include a value scaler (1310), a neural network (1320), and a power rescaler (1330).

값 스케일러(value scaler, 1310)는 하드웨어 메트릭을 수신한다. 일 실시예에서, 하드웨어 메트릭은 GPU 주파수, GPU 부하, GPU 온도, CPU 세트(CPU 0~7)의 주파수 및 부하 등을 포함할 수 있다. 일 실시예에서, 값 스케일러(value scaler, 1310)는 수신한 하드웨어 메트릭을 [-1,1] 범위로 스케일할 수 있다. 스케일된 값들은 알려진 방법으로 값을 처리하고 결과값을 출력하는 훈련된 신경망 네트워크(1320)로 입력된다. 훈련된 신경망 네트워크(1320)로 입력된 각 값들은 신경망 네트워크(1320)의 입력 레이어, 히든 레이어, 출력 레이어를 거치면서 전자 디바이스의 전력 사용량을 계산하는데 사용된다. 훈련된 신경망 네트워크(1320)에서 계산된 전력 사용량은 전력 재스케일러(1330)에서 와트(Watt)로 나타내어지는 실제 값으로 스케일-백된다. 이렇게 계산된 전력 사용량은 전력 관리부(1230)로 전달되어 전력 관리에 사용된다. A value scaler (1310) receives hardware metrics. In one embodiment, hardware metrics may include GPU frequency, GPU load, GPU temperature, frequency and load of the CPU set (CPU 0-7), etc. In one embodiment, the value scaler 1310 may scale the received hardware metric to the [-1,1] range. The scaled values are input to a trained neural network 1320, which processes the values in a known manner and outputs the results. Each value input into the trained neural network 1320 is used to calculate the power usage of the electronic device while passing through the input layer, hidden layer, and output layer of the neural network 1320. The power usage calculated in the trained neural network 1320 is scaled back to an actual value expressed in Watts in the power rescaler 1330. The power usage calculated in this way is transmitted to the power management unit 1230 and used for power management.

다시 도 11의 설명으로 돌아가면, 일 실시예에서, 부하 정보는, 전자 디바이스가 실행 중인 애플리케이션의 종류에 따라 결정되는 부하 타입에 대한 정보를 포함할 수 있다. 예를 들어, 현재 실행 중인 애플리케이션이 3D 게임인 경우, 높은 단위 시간당 프레임 수가 요구된다. 하지만, 일반적인 프로세스, 예를 들어, 벤치마크에서는 3D 게임만큼 단위 시간당 높은 프레임 수가 요구되지 않는다. 또한, UI 동작을 수행하는 경우, 적은 전력으로도 동작 수행이 가능하다. 이와 같이, 부하 타입에 대한 정보는 현재 실행 중인 애플리케이션에 따라 달라질 수 있는 부하의 타입을 나타낼 수 있다. 도 14 및 도 15를 참조하여 설명한다. Going back to the description of FIG. 11 , in one embodiment, the load information may include information about the load type determined according to the type of application that the electronic device is executing. For example, if the currently running application is a 3D game, a high number of frames per unit time is required. However, typical processes, such as benchmarks, do not require as high a number of frames per unit of time as 3D games. Additionally, when performing a UI operation, the operation can be performed with low power. In this way, information about the load type may indicate the type of load that may vary depending on the currently executing application. This will be described with reference to FIGS. 14 and 15.

도 14는 일 실시예에 따른 전력 관리 장치의 제어부를 나타내는 블록도이다. Figure 14 is a block diagram showing a control unit of a power management device according to an embodiment.

도 14를 참조하면, 일 실시예에 따른 제어부(1130)는, 전력 사용량 계산부(1410), 부하 타입 감지부(1420) 및 전력 관리부(1440)를 포함할 수 있다. 전력 사용량 계산부(1410)는 하드웨어 메트릭과 센서 데이터를 수신하여 전력 사용량을 계산할 수 있다. 부하 타입 감지부(1420)는 전자 디바이스에 의해 수행되는 태스크, 즉, 애플리케이션의 타입을 감지한다. 전력 관리부(1440)는 전력 사용량 계산부(1410)로부터 전달 받은 전력 사용량, 부하 타입 감지부(1420)로부터 전달받은 부하 타입 및 하드웨어 메트릭 및 센서 데이터를 바탕으로 전력 관리를 수행할 수 있다. 일 실시예에서, 전력 관리부(1440)는 사용자 설정 또는 전자 디바이스의 설정(1430)에 따라 전력 관리를 수행할 수도 있다. Referring to FIG. 14, the control unit 1130 according to one embodiment may include a power usage calculation unit 1410, a load type detection unit 1420, and a power management unit 1440. The power usage calculation unit 1410 may calculate power usage by receiving hardware metrics and sensor data. The load type detection unit 1420 detects the type of task performed by the electronic device, that is, the type of application. The power management unit 1440 may perform power management based on the power usage received from the power usage calculation unit 1410, the load type received from the load type detection unit 1420, hardware metrics, and sensor data. In one embodiment, the power management unit 1440 may perform power management according to user settings or electronic device settings 1430.

도 15는 일 실시예에 따른 전력 관리 장치의 부하 타입 감지부의 내부 구성을 나타내는 도면이다. Figure 15 is a diagram showing the internal configuration of a load type detection unit of a power management device according to an embodiment.

도 15를 참조하면, 부하 타입 감지부(1420)는 값 스케일러(value scaler, 1510), 지연부(1520), 신경망 네트워크(1530) 및 선택부(1540)를 포함할 수 있다. 일 실시예에서 부하 타입 감지부(1420)는 초당 프레임 수(FPS) 및 GPU Util(Util = 주파수 x 부하%)를 입력으로 수신한다. 다만, 이는 하나의 예시에 불과하며, 다른 다양한 종류의 입력을 수신할 수 있다. 일 실시예에서, 값 스케일러(value scaler, 1510)는 수신한 초당 프레임 수(FPS) 및 GPU Util 을 [-1,1] 범위로 스케일할 수 있다. 스케일된 값들은 훈련된 신경망 네트워크(1530) 및 지연부(1520)로 입력된다. Referring to FIG. 15 , the load type detection unit 1420 may include a value scaler (1510), a delay unit (1520), a neural network 1530, and a selection unit (1540). In one embodiment, the load type detection unit 1420 receives frames per second (FPS) and GPU Util (Util = frequency x load%) as input. However, this is just one example, and various other types of input can be received. In one embodiment, the value scaler 1510 may scale the received frames per second (FPS) and GPU Util in the [-1,1] range. The scaled values are input to the trained neural network 1530 and the delay unit 1520.

지연부(1520)는 스케일된 초당 프레임 수(FPS) 및 GPU Util 의 과거 값을 저장하고, 저장한 값을 신경망 네트워크(1530)으로 전달한다. 일 실시예에서, 지연부(1520)는 무빙 윈도우를 포함할 수 있다. The delay unit 1520 stores scaled past values of frames per second (FPS) and GPU Util, and transmits the stored values to the neural network 1530. In one embodiment, the delay unit 1520 may include a moving window.

신경망 네트워크(1530)는 수신한 각 값들을 입력 레이어, 히든 레이어, 출력 레이어에 차례로 통과시켜 처리 결과를 선택부(1540)로 전달한다. The neural network 1530 sequentially passes each received value through the input layer, hidden layer, and output layer and delivers the processing result to the selection unit 1540.

선택부(1540)는 신경망 네트워크(1530)로부터 수신한 처리 결과로부터 부하 타입을 결정할 수 있다. 일 실시예를 나타내는 도 15를 참조하면, 부하 타입 감지부(1420)는 부하 타입을 4 가지, 즉, 3D 게임, 2D 게임, 벤치마크 동작, 또는 사용자 인터페이스로 분류하고 있다. 선택부(1540)는 신경망 네트워크(1530)로부터 수신한 처리 결과를 바탕으로 4 가지의 부하 타입 중 하나를 선택할 수 있다. 선택부(1540)에서 선택된 부하 타입은 전력 관리부(1440)로 전달되어 전력 관리에 사용된다. The selection unit 1540 may determine the load type from the processing results received from the neural network 1530. Referring to FIG. 15 illustrating one embodiment, the load type detection unit 1420 classifies load types into four types: 3D game, 2D game, benchmark operation, or user interface. The selection unit 1540 may select one of four load types based on the processing results received from the neural network 1530. The load type selected in the selection unit 1540 is transmitted to the power management unit 1440 and used for power management.

다시 도 11의 설명으로 돌아가면, 일 실시예에 따른 제어부(1130)는 전력 관리 수행 결과에 대한 피드백 정보를 획득하고, 피드백 정보를 기반으로 하드웨어(1120)에 대한 전력 관리를 수행할 수 있다. 여기서, 피드백 정보는 동작 정보의 변화를 포함할 수 있다. Going back to the description of FIG. 11 , the control unit 1130 according to one embodiment may obtain feedback information on the results of power management and perform power management on the hardware 1120 based on the feedback information. Here, the feedback information may include changes in operation information.

도 16은 일 실시예에 따른 전력 관리 장치의 제어부를 나타내는 블록도이다. Figure 16 is a block diagram showing a control unit of a power management device according to an embodiment.

도 16에서 전력 사용량 계산부(1610), 부하 타입 감지부(1630) 및 사용자 설정 또는 디바이스 설정(1640)은 도 14의 전력 사용량 계산부(1410), 부하 타입 감지부(1420) 및 사용자 설정 또는 전자 디바이스의 설정(1430)과 동일한 동작을 수행하므로, 상세한 설명은 생략한다. In FIG. 16, the power usage calculation unit 1610, load type detection unit 1630, and user settings or device settings 1640 are the same as the power usage calculation unit 1410, load type detection unit 1420, and user settings of FIG. 14. Since the same operation as the electronic device setting 1430 is performed, detailed description is omitted.

보상 계산부(1620)는 전력 사용량 계산부(1410)로부터 수신한 전력 사용량, 하드웨어 메트릭 및 센서 데이터를 이용하여 직전에 수행한 전력 관리 동작에 대해 긍정 보상 또는 부정 보상을 부여할 수 있다. 긍정 보상은 목표 달성에 가까워지는 경우 부여될 수 있고, 부정 보상은 목표에서 멀어지는 경우 부여될 수 있다. The compensation calculator 1620 may use the power usage, hardware metrics, and sensor data received from the power usage calculator 1410 to grant positive compensation or negative compensation to the power management operation just performed. Positive rewards can be given when you are closer to achieving your goal, and negative rewards can be given when you are moving away from your goal.

전력 관리부(1650)는 보상 계산부(1620)로부터 전달받은 보상과 부하 타입 감지부(1630)로부터 전달받은 부하 타입, 하드웨어 메트릭 및 센서 데이터를 바탕으로 전력 관리를 수행할 수 있다. 일 실시예에 따르면, 전력 관리부(1650)는 보상이 부여된 전력 관리 동작들에 대하여, 다음 전력 관리 동작 결정에서 우선적으로 선택하거나(긍정 보상), 배제할 수도 있다(부정 보상). 즉, 전력 관리부(1650)는 보상 계산부(1620)를 이용하여 전력 관리 수행 결과에 대하 피드백 정보를 기반으로, 보다 나은 전력 관리 수행 방법을 학습할 수 있다. The power management unit 1650 may perform power management based on the compensation received from the compensation calculation unit 1620, the load type, hardware metrics, and sensor data received from the load type detection unit 1630. According to one embodiment, the power management unit 1650 may preferentially select (positive compensation) or exclude (negative compensation) power management operations for which compensation has been granted in determining the next power management operation. That is, the power management unit 1650 can learn how to perform better power management based on feedback information about the power management results using the compensation calculation unit 1620.

도 17은 일 실시예에 따른 전력 관리부를 나타내는 도면이다. Figure 17 is a diagram illustrating a power management unit according to an embodiment.

도 17을 참조하면, 일 실시예에 따른 전력 관리부(1650)는 신경망 네트워크 재구성부(1710)와 신경망 네트워크(1720)를 포함할 수 있다. 신경망 네트워크 재구성부(1710)는 보상 계산부(1620)로부터 보상을 전달받아, 보상 결과에 따라 신경망 네트워크(1720)를 재구성한다. 보다 구체적으로 긍정 보상, 부정 보상에 따라 신경망 네트워크(1720)를 긍정적 또는 부정적으로 재구성할 수 있다. 또한, 보상 정도에 따라 신경망 네트워크(1720)를 재구성할 수도 있다. Referring to FIG. 17, the power management unit 1650 according to one embodiment may include a neural network reconfiguration unit 1710 and a neural network network 1720. The neural network reconfiguration unit 1710 receives compensation from the compensation calculation unit 1620 and reconfigures the neural network network 1720 according to the compensation result. More specifically, the neural network 1720 can be reconfigured positively or negatively depending on positive reward and negative reward. Additionally, the neural network 1720 may be reconfigured according to the degree of compensation.

재구성된 신경망 네트워크(1720)는 전력 관리를 수행한다. 일 실시예에 따르면, 신경망 네트워크(1720)는 Q-러닝 신경망 네트워크를 포함할 수 있다. The reconfigured neural network 1720 performs power management. According to one embodiment, the neural network 1720 may include a Q-learning neural network.

도 18은 일 실시예에 따른 전력 관리부를 나타내는 도면이다. Figure 18 is a diagram illustrating a power management unit according to an embodiment.

도 18을 참조하면, 일 실시예에 따른 전력 관리부(1650)는 상태 업데이트부(1810), 상태 생성부(1820) 및 Q-테이블 관리부(1830)을 포함할 수 있다. 일 실시예에 따른 전력 관리부(1650)는 Q-테이블을 이용한 Q-러닝에 기반하여 전력 관리를 수행할 수 있다. Referring to FIG. 18, the power management unit 1650 according to one embodiment may include a state update unit 1810, a state generation unit 1820, and a Q-table manager 1830. The power management unit 1650 according to one embodiment may perform power management based on Q-learning using a Q-table.

아래 표 1에서 Q-테이블의 예시를 나타내고 있다. Table 1 below shows an example of a Q-table.

[표 1][Table 1]

표 1을 참조하면, Q-테이블에는 FPS와 부하(Load) 상황 별 동작(Action)이 규정되어 있다. 이러한 Q-테이블은 상태 업데이트부(1810)에 의해 업데이트 될 수 있다. Referring to Table 1, the Q-table specifies actions for each FPS and load situation. This Q-table can be updated by the status update unit 1810.

상태 업데이트부(1810)는 보상 계산부(1620)로부터 보상을 전달받아 Q-테이블을 업데이트 할 수 있다. 상태 업데이트부(1810)는 수학식 (4)로 표현될 수 있는 Update_Table(PrevS, Action, CurrS, Reward)을 이용하여 Q-테이블을 업데이트 할 수 있다. PrevS는 이전 상태, Action 은 전력 관리 동작, CurrS는 현재 상태, Reward는 보상을 나타낸다. 일 실시예에 따르면, 보다 나은 결정에 대하여 추가 보상을 주기 위하여, Update_Table(PrevS, Action, CurrS, Reward)을 이용하여 예측된 다음 상태의 최대값을 획득할 수 있다. The state update unit 1810 may receive compensation from the compensation calculation unit 1620 and update the Q-table. The status update unit 1810 can update the Q-table using Update_Table(PrevS, Action, CurrS, Reward), which can be expressed in equation (4). PrevS represents the previous state, Action represents the power management operation, CurrS represents the current state, and Reward represents compensation. According to one embodiment, in order to provide additional compensation for better decisions, the maximum value of the predicted next state can be obtained using Update_Table (PrevS, Action, CurrS, Reward).

위에서 설명한 Q-러닝은 하나의 예시에 불구하고, 통상의 기술자는 다른 다양한 변수를 이용하여 Q-러닝을 구현할 수 있으며, Q 값은 적절한 공식에 의해 업데이트 할 수 있을 것이다. Although the Q-learning described above is only an example, a person skilled in the art can implement Q-learning using various other variables, and the Q value can be updated using an appropriate formula.

상태 생성부(1820)는 하드웨어 메트릭과 센서 데이터를 수신하여 현재 Q 상태를 생성한다. The state generator 1820 receives hardware metrics and sensor data and generates the current Q state.

Q-테이블 관리부(1830)은 상태 업데이트부(1810) 및 상태 생성부(1820)로부터 입력을 수신하여, Q-테이블을 업데이트 한다. 현재 프로세스 이전의 상태는 보상 및 해당 상태에 의해 내려진 결정을 이용하여 업데이트 될 수 있다. 동일한 Q 상태를 위하여, 랜덤한 값이 선택될 수 있다. 일 실시예에 따르면, 주어진 상태에 대하여 선택되는 전력 관리 동작은 다양한 방법, 예를 들어, 알려진 알고리즘적 온도 공식(Algorithmic Temperature Function) 또는 볼츠만 확률(Boltzmann Probability )을 이용하여 결정될 수 있다. The Q-table management unit 1830 receives input from the status update unit 1810 and the status generator 1820 and updates the Q-table. The state before the current process can be updated using rewards and decisions made by that state. For the same Q state, a random value can be chosen. According to one embodiment, the power management operation selected for a given state may be determined using various methods, for example, a known algorithmic temperature function or Boltzmann probability.

한편, 상술한 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.Meanwhile, the above-described embodiments can be written as programs that can be executed on a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium.

상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다. The computer-readable recording media includes storage media such as magnetic storage media (eg, ROM, floppy disk, hard disk, etc.) and optical read media (eg, CD-ROM, DVD, etc.).

이상과 첨부된 도면을 참조하여 실시예를 설명하였지만, 일 실시예가 속하는 기술분야에서 통상의 지식을 가진 자는 일 실시예가 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Although the embodiment has been described with reference to the above and the attached drawings, those skilled in the art will understand that the embodiment can be implemented in another specific form without changing its technical idea or essential features. You will be able to. Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive.

710: 출력부
720: 하드웨어
730: 제어부
710: output unit
720: Hardware
730: Control unit

Claims (17)

전자 디바이스의 전력 관리 방법에 있어서,
상기 전자 디바이스가 수행하는 동작들 중, 상기 전자 디바이스에 포함된 하드웨어의 처리 결과를 통해 사용자가 인지 가능한 동작과 관련된 동작 정보를 획득하는 단계;
상기 전자 디바이스가 수행하는 동작에 의해 발생되는 부하와 관련된 부하 정보를 획득하는 단계; 및
상기 동작 정보와 상기 부하 정보를 기반으로 상기 전자 디바이스에 포함된 하드웨어의 전압 및 주파수 중 적어도 하나 이상을 조절하여 상기 하드웨어의 동작 속성을 변경하도록 전력 관리를 수행하는 단계를 포함하고,
상기 부하 정보는, 상기 전자 디바이스가 실행 중인 애플리케이션의 종류에 따라 결정되는 부하 타입에 대한 정보를 포함하며,
상기 동작 정보는, 단위 시간당 상기 하드웨어에 의해 생성된 프레임 수에 대한 정보를 포함하는 것을 특징으로 하는 전력 관리 방법.
In a method for power management of an electronic device,
Among the operations performed by the electronic device, obtaining operation information related to an operation perceptible to the user through a processing result of hardware included in the electronic device;
Obtaining load information related to a load generated by an operation performed by the electronic device; and
Comprising a step of performing power management to change the operating properties of the hardware by adjusting at least one of the voltage and frequency of the hardware included in the electronic device based on the operation information and the load information,
The load information includes information about the load type determined according to the type of application the electronic device is executing,
The operation information includes information on the number of frames generated by the hardware per unit time.
삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 전자 디바이스의 전력 사용량 정보를 획득하는 단계를 더 포함하고,
상기 전력 관리를 수행하는 단계는,
상기 전력 사용량 정보를 기반으로 상기 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행하는 단계를 포함하는 것을 특징으로 하는 전력 관리 방법.
According to paragraph 1,
Further comprising obtaining power usage information of the electronic device,
The step of performing the power management is,
A power management method comprising performing power management on hardware included in the electronic device based on the power usage information.
제1항에 있어서,
상기 전력 관리를 수행하는 단계는,
상기 전력 관리 수행 결과에 대한 피드백 정보를 획득하는 단계; 및
상기 피드백 정보를 기반으로 상기 하드웨어에 대한 전력 관리를 수행하는 단계를 더 포함하고,
상기 피드백 정보는 상기 동작 정보의 변화를 포함하는 것을 특징으로 하는 전력 관리 방법.
According to paragraph 1,
The step of performing the power management is,
Obtaining feedback information about the power management performance results; and
Further comprising performing power management for the hardware based on the feedback information,
A power management method, wherein the feedback information includes a change in the operation information.
삭제delete 제1항에 있어서,
상기 동작 정보와 상기 부하 정보를 기반으로 상기 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행하는 단계는,
전력 대비 가장 높은 성능을 제공하는 사용자가 인지 가능한 동작을 수행하도록 상기 하드웨어를 제어하는 단계를 포함하는 것을 특징으로 하는 전력 관리 방법.
According to paragraph 1,
The step of performing power management for hardware included in the electronic device based on the operation information and the load information includes:
A power management method comprising controlling the hardware to perform an operation recognizable by a user that provides the highest performance relative to power.
전자 디바이스에 있어서,
프로세스를 처리하는 하드웨어;
사용자에게 상기 하드웨어의 처리 결과를 출력하는 출력부; 및
상기 전자 디바이스가 수행하는 동작들 중, 상기 출력부를 통해 출력되는 상기 하드웨어의 처리 결과를 통해 사용자가 인지 가능한 동작과 관련된 동작 정보를 획득하고, 상기 전자 디바이스가 수행하는 동작에 의해 발생되는 부하와 관련된 부하 정보를 획득하며, 상기 동작 정보와 상기 부하 정보를 기반으로 상기 전자 디바이스에 포함된 하드웨어의 전압 및 주파수 중 적어도 하나 이상을 조절하여 상기 하드웨어의 동작 속성을 변경하도록 전력 관리를 수행하는 제어부를 포함하고,
상기 부하 정보는, 상기 전자 디바이스가 실행 중인 애플리케이션의 종류에 따라 결정되는 부하 타입에 대한 정보를 포함하며,
상기 동작 정보는, 단위 시간당 상기 하드웨어에 의해 생성된 프레임 수에 대한 정보를 포함하는 것을 특징으로 하는 전력 관리 장치.
In electronic devices,
hardware that handles the process;
an output unit that outputs processing results of the hardware to a user; and
Among the operations performed by the electronic device, operation information related to operations recognizable by the user is obtained through the processing results of the hardware output through the output unit, and operation information related to the load generated by the operation performed by the electronic device is obtained. A control unit that acquires load information and performs power management to change the operating properties of the hardware by adjusting at least one of the voltage and frequency of the hardware included in the electronic device based on the operation information and the load information. do,
The load information includes information about the load type determined according to the type of application the electronic device is executing,
The operation information is a power management device characterized in that it includes information about the number of frames generated by the hardware per unit time.
삭제delete 삭제delete 삭제delete 제9항에 있어서,
상기 제어부는,
상기 전자 디바이스의 전력 사용량 정보를 획득하고,
상기 전력 사용량 정보를 기반으로 상기 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행하는 것을 특징으로 하는 전력 관리 장치.
According to clause 9,
The control unit,
Obtain power usage information of the electronic device,
A power management device characterized in that it performs power management on hardware included in the electronic device based on the power usage information.
제9항에 있어서,
상기 제어부는,
상기 전력 관리 수행 결과에 대한 피드백 정보를 획득하고, 상기 피드백 정보를 기반으로 상기 하드웨어에 대한 전력 관리를 수행하며,
상기 피드백 정보는 상기 동작 정보의 변화를 포함하는 것을 특징으로 하는 전력 관리 장치.
According to clause 9,
The control unit,
Obtaining feedback information on the power management performance results, and performing power management for the hardware based on the feedback information,
A power management device, wherein the feedback information includes a change in the operation information.
삭제delete 제9항에 있어서,
상기 제어부는,
전력 대비 가장 높은 성능을 제공하는 상기 사용자가 인지 가능한 동작을 수행하도록 상기 하드웨어를 제어하는 것을 특징으로 하는 전력 관리 장치.
According to clause 9,
The control unit,
A power management device that controls the hardware to perform an operation recognizable to the user that provides the highest performance relative to power.
제1항, 제5항, 제6항 및 제8항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체.
A non-transitory computer-readable recording medium that records a program for executing the method of any one of paragraphs 1, 5, 6, and 8 on a computer.
KR1020160025762A 2015-07-29 2016-03-03 Method and apparatus for power management KR102651874B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP16181942.0A EP3125072B8 (en) 2015-07-29 2016-07-29 Method of managing power and electronic device
US15/223,396 US10101800B2 (en) 2015-07-29 2016-07-29 Method of managing power and electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1513348.1A GB2540804B (en) 2015-07-29 2015-07-29 Hardware power management apparatus and methods
GB1513348.1 2015-07-29

Publications (2)

Publication Number Publication Date
KR20170015097A KR20170015097A (en) 2017-02-08
KR102651874B1 true KR102651874B1 (en) 2024-03-27

Family

ID=54106787

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160025762A KR102651874B1 (en) 2015-07-29 2016-03-03 Method and apparatus for power management

Country Status (2)

Country Link
KR (1) KR102651874B1 (en)
GB (1) GB2540804B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102568686B1 (en) * 2018-02-09 2023-08-23 삼성전자주식회사 Mobile device including context hub and operation method thereof
KR20200017260A (en) 2018-08-08 2020-02-18 삼성전자주식회사 Method for executing application using clock speed of processor selected by external temperature and electronic device performing the method
CN109960395B (en) * 2018-10-15 2021-06-08 华为技术有限公司 Resource scheduling method and computer equipment
EP3908903A4 (en) * 2019-01-08 2022-08-17 Hewlett-Packard Development Company, L.P. Stabilizing performance of processing devices
TWI705377B (en) * 2019-02-01 2020-09-21 緯創資通股份有限公司 Hardware boost method and hardware boost system
WO2020231014A1 (en) * 2019-05-16 2020-11-19 Samsung Electronics Co., Ltd. Electronic device for performing power management and method for operating the same
KR20210017054A (en) 2019-08-06 2021-02-17 삼성전자주식회사 Multi-core system and controlling operation of the same
EP3987770A4 (en) 2019-08-20 2022-08-17 Samsung Electronics Co., Ltd. Electronic device for improving graphic performace of application program and operating method thereof
US11822926B2 (en) * 2019-09-13 2023-11-21 Nvidia Corporation Device link management

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110109624A1 (en) * 2009-11-12 2011-05-12 Shimeon Greenberg Power saving in mobile devices by optimizing frame rate output
US20140184619A1 (en) * 2013-01-03 2014-07-03 Samsung Electronics Co., Ltd. System-on-chip performing dynamic voltage and frequency scaling
US20140359324A1 (en) * 2013-06-04 2014-12-04 Qualcomm Incorporated System and method for intelligent multimedia-based thermal power management in a portable computing device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8199158B2 (en) * 2008-06-11 2012-06-12 Intel Corporation Performance allocation method and apparatus
KR101991682B1 (en) * 2012-08-29 2019-06-21 삼성전자 주식회사 A DVFS controlling method and A System-on Chip using thereof
US9128721B2 (en) * 2012-12-11 2015-09-08 Apple Inc. Closed loop CPU performance control

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110109624A1 (en) * 2009-11-12 2011-05-12 Shimeon Greenberg Power saving in mobile devices by optimizing frame rate output
US20140184619A1 (en) * 2013-01-03 2014-07-03 Samsung Electronics Co., Ltd. System-on-chip performing dynamic voltage and frequency scaling
US20140359324A1 (en) * 2013-06-04 2014-12-04 Qualcomm Incorporated System and method for intelligent multimedia-based thermal power management in a portable computing device

Also Published As

Publication number Publication date
GB201513348D0 (en) 2015-09-09
GB2540804B (en) 2018-03-07
GB2540804A (en) 2017-02-01
KR20170015097A (en) 2017-02-08

Similar Documents

Publication Publication Date Title
KR102651874B1 (en) Method and apparatus for power management
EP3125072B1 (en) Method of managing power and electronic device
US8856571B2 (en) Adjusting device performance over multiple time domains
US9329663B2 (en) Processor power and performance manager
EP3420551B1 (en) System and method for variable frame duration control in an electronic display
US8572421B2 (en) Adjusting device performance based on processing profiles
US20180224871A1 (en) System and method for thermal management of a wearable computing device based on proximity to a user
CN105068414A (en) Alarm clock awakening method and electronic equipment
US20150022360A1 (en) Input device and computer system with operating pattern analysis
KR20140010930A (en) Method and apparatus for providing efficient context classification
Pasricha et al. A middleware framework for application-aware and user-specific energy optimization in smart mobile devices
US20120102407A1 (en) Displaying battery life resulting from setting changes
CN106681833A (en) Method and device for regulating CPU frequency
CN112217699A (en) Control method and device of intelligent household equipment
JP2013029960A (en) Information processing device, input terminal selection method, program, and system
CN113873074B (en) Control method, electronic equipment and computer storage medium
JP2012168656A (en) Power control unit and power control method
JP6297748B2 (en) Processor state control based on detection of producer / consumer workload serialization
CN114706433A (en) Equipment control method and device and electronic equipment
KR102037479B1 (en) Method and apparatus for providing optimized game setting information, method and apparatus for optimizing game running
US20230171340A1 (en) Mobile device and method for providing personalized management system
JP2013238928A (en) Electronic device and power saving setting control method
CN112114649B (en) Temperature adjusting method and device, storage medium and mobile terminal
JP5835218B2 (en) Display control apparatus, method, and program
KR20200107743A (en) Method and apparatus for providing optimized game setting information, method and apparatus for optimizing game running

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right