KR20170015097A - Method and apparatus for power management - Google Patents

Method and apparatus for power management Download PDF

Info

Publication number
KR20170015097A
KR20170015097A KR1020160025762A KR20160025762A KR20170015097A KR 20170015097 A KR20170015097 A KR 20170015097A KR 1020160025762 A KR1020160025762 A KR 1020160025762A KR 20160025762 A KR20160025762 A KR 20160025762A KR 20170015097 A KR20170015097 A KR 20170015097A
Authority
KR
South Korea
Prior art keywords
electronic device
hardware
power management
information
load
Prior art date
Application number
KR1020160025762A
Other languages
Korean (ko)
Other versions
KR102651874B1 (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 US15/223,396 priority Critical patent/US10101800B2/en
Priority to EP16181942.0A priority patent/EP3125072B8/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

Abstract

The present invention provides a power management method of an electronic device, comprising: a step of allowing a user to obtain operation information related to a recognizable operation through a processing result of hardware included in the electronic device among performing operations; a step of obtaining load information related to load generated by operation which the electronic device performs; and a step of performing power management for hardware included in the electronic device based on the operation information and the load information.

Description

전력 관리 방법 및 장치{METHOD AND APPARATUS FOR POWER MANAGEMENT}[0001] METHOD AND APPARATUS FOR POWER MANAGEMENT [0002]

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

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

하드웨어 전력 관리는 하드웨어를 인에이블/ 디스에이블하며, 서로 다른 하드웨어 모듈의 성능을 필요한 만큼 향상시키거나 감소시키고, 하드웨어 동작 속성, 예를 들어, 주파수, 전압 등을 변경하는 등 다양한 방법으로 수행된다. 위에서 설명한 것과 같이 근래에서는 다양한 하드웨어들이 내장되어 복합적으로 동작하므로, 단순히 하나의 하드웨어에 대한 전력 관리를 수행하는 것만으로는 충분한 효과를 이끌어내기 어렵다. 따라서, 서로 다른 하드웨어들의 사용 시나리오에 따라 전력 관리 방법을 수정하고 변경할 필요가 있다. 이러한 전력 관리 방법의 구체적인 예로, 인텔 및 마이크로소프트에 의해 개발되고 리눅스 커널에 의해 사용되고 지원되는 Advanced Power Management(APM)가 있다. Hardware power management is performed in various ways such as enabling / disabling hardware, improving or decreasing the performance of different hardware modules as needed, and changing hardware operating attributes such as frequency, voltage, and the like. As described above, since various hardware is embedded and operated in a complex manner in recent years, it is difficult to achieve sufficient effect by merely performing power management for one hardware. Therefore, it is necessary to modify and modify the power management method according to the usage scenarios of different hardware. A specific example of this power management approach is Advanced Power Management (APM), developed by Intel and Microsoft, 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. The DVFS can be controlled to increase or decrease the voltage and / or frequency of the hardware according to the setting. In general, when the performance increase is required, such as when the processing load is increased, the voltage and / or frequency of the hardware is controlled to increase. Conversely, when power consumption reduction is required, the voltage and / have. DVFS can be particularly useful for conserving power in devices that use batteries, such as laptops, tablets, or mobile phones.

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

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

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

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

또한, 일 실시예에서는 하드웨어의 성능 또는 소비 전력 균형을 이룰 수 있는 전력 관리 방법 및 장치를 제공한다.Also, in one embodiment, a power management method and apparatus capable of balancing hardware performance or power consumption is provided.

일 실시예에 따른 전자 디바이스의 전력 관리 방법은, 상기 전자 디바이스가 수행하는 동작들 중, 상기 전자 디바이스에 포함된 하드웨어의 처리 결과를 통해 사용자가 인지 가능한 동작과 관련된 동작 정보를 획득하는 단계; 상기 전자 디바이스가 수행하는 동작에 의해 발생되는 부하와 관련된 부하 정보를 획득하는 단계; 및 상기 동작 정보와 상기 부하 정보를 기반으로 상기 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행하는 단계를 포함한다. According to an embodiment of the present invention, there is provided a method of managing power of an electronic device, including: obtaining operation information related to a user-recognizable operation 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.

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

사용자에게 상기 하드웨어의 처리 결과를 출력하는 출력부; 및 상기 전자 디바이스가 수행하는 동작들 중, 상기 출력부를 통해 출력되는 상기 하드웨어의 처리 결과를 통해 사용자가 인지 가능한 동작과 관련된 동작 정보를 획득하고, 상기 전자 디바이스디바이스가 수행하는 동작에 의해 발생되는 부하와 관련된 부하 정보를 획득하며, 상기 동작 정보와 상기 부하 정보를 기반으로 상기 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행하는 제어부를 포함한다. An output unit outputting a processing result of the hardware to a user; And acquiring operation information related to a user-perceivable operation through the processing result of the hardware output through the output unit among operations performed by the electronic device, wherein a load generated by an operation performed by the electronic device device And a controller for performing 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.
2 is a flow diagram illustrating a power management method in accordance with one embodiment.
3 is a graph showing the relationship between the frequency and the power consumption according to the benchmark result.
4 is a graph showing frequency and frames per second (FPS) according to benchmark results.
5 is a flowchart illustrating a power management method according to an embodiment.
6 is a diagram illustrating user settings according to one embodiment.
7 is a flowchart illustrating an operation of a general mode and a power saving mode according to an embodiment of the present invention.
8 is a flowchart illustrating a power management method according to an embodiment.
9 is a graph showing a graph for determining compensation according to an embodiment.
10 is a graph showing a graph for determining compensation according to an embodiment.
11 is a block diagram illustrating an internal configuration of a power management apparatus according to an embodiment.
12 is a block diagram illustrating a control unit of the power management apparatus according to an embodiment.
13 is a diagram illustrating an internal configuration of a power consumption calculation unit of the power management apparatus according to an embodiment.
14 is a block diagram showing a control unit of the power management apparatus according to an embodiment.
15 is a diagram illustrating an internal configuration of a load type sensing unit of a power management apparatus according to an embodiment.
16 is a block diagram illustrating a control unit of a power management apparatus according to an embodiment.
17 is a diagram illustrating a power management unit according to an embodiment.
18 is a diagram illustrating a power management unit according to an embodiment.

일 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 일 실시예는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 일 실시예의 개시가 완전하도록 하고, 일 실시예가 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 일 실시예는 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of one embodiment, and how to accomplish them, will become apparent with reference to the embodiments described below with reference to the accompanying drawings. It should be understood, however, that one embodiment may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein, that only those embodiments are intended to be exemplary of the invention, Is provided to fully convey the scope of the invention to those skilled in the art, and an 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 referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when an element is referred to as "including" an element throughout the specification, it is to be understood that the element may include other elements, Also, as used herein, the term "part " refers to a hardware component such as software, FPGA or ASIC, and" part " However, 'minus' is not limited to software or hardware. The " part " may be configured to be in an addressable storage medium and configured to play back one or more processors. Thus, by way of example, and not limitation, "part (s) " refers to components such as software components, object oriented software components, class components and task components, and processes, Subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays and variables. The functions provided in the components and "parts " may be combined into a smaller number of components and" parts " or further separated into additional components and "parts ".

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

일 실시예에서 사용되는 용어는 일 실시예에서의 기능을 고려하면서 가능한 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 일 실시예에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 일 실시예의 전반에 걸친 내용을 토대로 정의되어야 한다. Although the terms used in one embodiment have selected general terms that are as widely used as possible in consideration of the functions in one embodiment, they may vary depending on the intention or circumstance of a person skilled in the art, the emergence of new techniques and the like. Also, in certain cases, there may be a term selected arbitrarily by the applicant, in which case the meaning thereof will be described in detail in the description of the corresponding invention. Therefore, the term used in an embodiment should be defined based on the meaning of the term, not on the name of a simple term, but on the contents of one embodiment.

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

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

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

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

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

130 단계에서 애플리케이션의 실행에 필요한 프로세스를 처리하는 하드웨어가 동작하게 된다. 여기서, 하드웨어는 중앙 처리 장치(Central Processing Unit, CPU), 그래픽 처리 장치(Graphic Processing Unit, GPU)를 포함할 수 있으며, 전력 관리의 수행 대상이 될 수 있는 모든 하드웨어를 포함할 수 있다. 일 실시예에 따르면, 120 단계의 애플리케이션의 실행과 130 단계의 하드웨어의 동작은 반드시 선후관계가 있는 것은 아니며, 동시에 이루어질 수도 있다. 또한, 애플리케이션과 관련된 프로세스를 처리하는 하드웨어가 복수 개인 경우, 130 단계에서 복수 개의 하드웨어가 동작할 수도 있다. In step 130, hardware for processing a process necessary for executing the application is operated. Here, the hardware may include a central processing unit (CPU), a graphic processing unit (GPU), and may include all hardware that can be subjected to power management. According to an embodiment, the execution of the application of step 120 and the operation of the hardware of step 130 are not necessarily related to each other, and may be performed at the same time. In addition, when there are a plurality of hardware processes for processes related to the application, a plurality of hardware may be operated in step 130. [

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

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

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

160 단계에서 전자 디바이스는 130 단계에서 획득한 동작 정보에 대한 피드백 정보와, 150 단계에서 계산한 부하를 바탕으로 전력 관리를 수행한다. 일 실시예에 따르면, 전자 디바이스는 하드웨어의 동작 속성을 변경하여 전력 관리를 수행할 수 있다. 특히, 전자 디바이스는 하드웨어의 전압 및/또는 주파수를 조절할 수 있다. 나아가, 전자 디바이스는 전력 관리 수행 결과에 대한 피드백 정보를 획득하고, 피드백 정보를 기반으로 상기 하드웨어에 대한 전력 관리를 수행할 수 있다. 여기서 피드백 정보는 사용자가 인지 가능한 동작과 관련된 동작 정보의 변화를 포함할 수 있다. 도 2에서 순서도를 참고하여 보다 자세히 설명한다.In operation 160, the electronic device performs power management based on the feedback information on the operation information acquired in operation 130 and on the load calculated in operation 150. According to one embodiment, the electronic device can perform power management by changing the operating attributes of the hardware. In particular, the electronic device can adjust the voltage and / or frequency of the hardware. Further, the electronic device may obtain feedback information on the result of performing the power management, and perform power management on the hardware based on the feedback information. Wherein the feedback information may include a change in operation information associated with a user-perceptible operation. Will be described in more detail with reference to the flowchart in Fig.

도 2는 일 실시예에 따른 전력 관리 방법을 나타내는 순서도이다.2 is a flow diagram illustrating a power management method in accordance with one embodiment.

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

일 실시예에 따르면, 사용자가 인지 가능한 동작과 관련된 동작 정보는 단위 시간 당 프레임 수, 보다 구체적으로, 초당 프레임 수(Frames Per Second, 이하 FPS)를 포함할 수 있다. 사용자에게 출력되는 화면의 단위 시간당 프레임 수는 사용자가 정확한 수치를 모르더라도 화면이 부드럽게 넘어가거나 끊기는 정도를 통해 사용자가 직접적으로 경험할 수도 있고, 그래픽 처리 장치에서 계산한 단위 시간당 프레임 수를 수치로 표현하여 사용자가 간접적으로 경험할 수도 있다. According to one embodiment, the operational information associated with a perceivable operation by a user may include a number of frames per unit time, more specifically, frames per second (FPS). The number of frames per unit time of the screen output to the user may be directly experienced by the user through the degree of smoothness of the screen or the degree of breakage even if the user does not know the correct numerical value or the number of frames per unit time, It may be experienced indirectly by the user.

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

나아가, 일 실시예에서 사용자가 인지 가능한 동작과 관련된 동작 정보는 UI 응답 시간, 예를 들어, 버튼을 누른 시간과 대응하는 동작이 완료된 시간 사이의 시간, 소리, 진동, 이미지, UI 변화, 또는 사용자에게 피드백 등을 포함할 수 있다. 또한, 일 실시예에서, 사용자가 인지 가능한 동작과 관련된 동작 정보는 애플리케이션 완료 시간, 예를 들어, 애플리케이션이 제공하는 정보를 수집하여 %, 바 또는 로딩 애니메이션으로 표현되는 로딩 지시자를 통한 UI 등을 포함할 수도 있다.Further, in one embodiment, the action information associated with a user-recognizable action may include a UI response time, e.g., a time between the time the button was pressed and the corresponding action completed, sound, vibration, image, UI change, And feedback to the user. Also, in one embodiment, the action information associated with the action that the user can perceive includes an application completion time, e.g., a UI via a loading indicator represented by%, bar, or loading animation, You may.

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

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

일 실시예에 따르면, 부하 정보는, 전자 디바이스가 실행 중인 애플리케이션의 종류에 따라 결정되는 부하 타입에 대한 정보를 포함할 수 있다. 예를 들어, 현재 실행 중인 애플리케이션이 3D 게임인 경우, 높은 단위 시간당 프레임 수가 요구된다. 하지만, 일반적인 프로세스, 예를 들어, 벤치마크에서는 3D 게임만큼 높은 단위 시간당 프레임 수가 요구되지 않는다. 또한, UI 동작을 수행하는 경우, 적은 전력으로도 동작 수행이 가능하다. 이와 같이, 부하 타입에 대한 정보는 현재 실행 중인 애플리케이션에 따라 달라질 수 있는 부하의 타입을 나타낼 수 있다. According to one embodiment, the load information may include information about load types that are determined by the type of application 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, a typical process, for example, a benchmark, does not require as many frames per unit time as a 3D game. In addition, when the UI operation is performed, the operation can be performed even with a small power. As such, the information about the load type may indicate the type of load that may vary depending on the currently running application.

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

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

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

도 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 the frequency and the Y axis represents the average power consumption. In FIG. 4, the X axis represents frequency and the Y axis represents the number of frames per second (FPS). Referring to FIG. 3 and FIG. 4, the frequencies to be measured are 160 Hz (A), 266 Hz (B), and 350 Hz (C), so that the relationship between power consumption and frame per second (FPS) , 420 Hz (D), 500 Hz (E), 550 Hz (F), 600 Hz (G), and 700 Hz (H). Also, (I) represents the case where the dynamic voltage and frequency scaling are used at 600-700 Hz, without reflecting the operation information related to the perceptible operation by the user. Referring to FIGS. 3A to 3H, the power consumption increases as the frequency increases. Referring to FIGS. 4A to 4H, as the frequency increases, the number of frames per second (FPS) increases.

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

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

600 Hz(G)에서는 6.11 (Watt)의 소비 전력을 소모하고, 초당 9.55 프레임을 표시함을 알 수 있다. 이때, 프레임당 소비 전력은 0.63 Watt/FPS 가 된다.At 600 Hz (G), it consumes 6.11 (Watts) of power and displays 9.55 frames per second. 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 가 된다.At 700 Hz (H), it consumes 8.8 (Watts) of power and displays 10.91 frames per second. At this time, the power consumption per frame is 0.81 Watt / FPS.

주파수가 증가할수록, 소비 전력과 초당 프레임 수는 증가하나, 프레임당 소비 전력 역시 함께 증가하여, 전력 효율이 떨어짐을 알 수 있다. 동적 전압 및 주파수 스케일링을 사용한 경우(I), 프레임당 소비 전력이 하한 주파수인 600 Hz(G) 및 상한 주파수인 700 Hz(H)에서의 프레임당 소비 전력의 중간 정도가 되는 동작 지점이 선택되었다. As the frequency increases, the power consumption and the frame rate per second increase, but the power consumption per frame also increases, and the power efficiency deteriorates. In the case of using dynamic voltage and frequency scaling (I), an operating point was selected that consumes power per frame at a mid-point of the power consumption per frame at the lower frequency of 600 Hz (G) and the upper frequency 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 (I) using dynamic voltage and frequency scaling. In terms of power management, it can be seen that 600 Hz (G), which saves a lot of power consumption due to slight performance degradation, can be the most efficient operating point. That is, it is more effective to perform the power management by considering the operation information related to the recognizable operation by the user such as the frame rate per second (FPS) rather than merely performing the power management based only on the load.

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

나아가, 도 3 및 도 4는 주파수를 기반으로 소비 전력과 초당 프레임 수(FPS)와의 관계를 나타내고 있으나, 전압을 기반으로도 소비 전력과 초당 프레임 수(FPS)와의 관계를 그래프로 나타낼 수도 있음은 통상의 기술자에게 자명할 것이다. 3 and 4 illustrate the relationship between the power consumption and the frame rate per second (FPS) on the basis of the frequency. However, the relationship between the power consumption and the frame per second (FPS) Will be apparent to those of ordinary skill in the art.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

수학식 (1)Equation (1)

Figure pat00001
Figure pat00001

Figure pat00002
Figure pat00002

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

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

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

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

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

먼저, 705 단계에서 전자 디바이스는 전자 디바이스의 동작 모드를 결정할 수 있다. 디바이스의 동작 모드는 도 6에서 살펴본 것과 같이 사용자가 설정한 동작 모드로 결정될 수 있다. 도 7에서는 일반 모드와 전력을 절약하기 위한 절전 모드를 예로 들고 있으나, 이는 하나의 예시에 불과하며 다양한 동작 모드를 설정할 수도 있다. First, in step 705, the electronic device can determine an operation mode of the electronic device. The operation mode of the device can be determined to be the operation mode set by the user as shown in FIG. In FIG. 7, the normal mode and the power saving mode for power saving are taken as an example, 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 that the operation mode is the normal mode in step 705, the electronic device proceeds to step 710 and determines whether the input indicating the temperature exceeds a specific threshold value, for example, 70 deg. If the temperature exceeds 70 [deg.] C, the electronic device proceeds to step 755 and adjusts the frequency so that the frequency of the hardware associated with the operation decreases. Reducing the frequency so that the electronic device does not reach the operating limit.

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

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 to adjust the frequency to increase the frequency of the hardware associated with the operation. In steps 710 and 715, a suitable frequency is searched based on the operation information of the electronic device that the user can recognize.

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

725 단계에서 전력 사용량이 기 설정된 값인 X와 전력과 P파라미터의 합보다 큰 경우, 전자 디바이스는 755 단계로 진행하여 동작과 관련된 하드웨어의 주파수가 감소하도록 주파수를 조절한다. 또한, 전력 사용량이 기 설정된 값인 X와 전력과 P파라미터의 합보다 작거나 같은 경우 프로세스를 종료한다. 일 실시예에서는 프로세스가 종료되는 경우, 주파수는 변경되지 않고 유지된다. If it is determined in step 725 that the power consumption is greater than the predetermined value X and the sum of the power and the P parameter, the electronic device proceeds to step 755 and adjusts the frequency so that the frequency of the hardware related to the operation decreases. If the power consumption is less than or equal to the predetermined value X and the sum of the power and the P parameter, 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 that the operation mode is the power save mode in step 705, the electronic device proceeds to step 730 and determines whether or not the input indicating the temperature exceeds a predetermined threshold value, for example, 70 degrees Celsius. If the temperature exceeds 70 [deg.] C, the electronic device proceeds to step 755 and adjusts the frequency so that the frequency of the hardware associated with the operation decreases. As the frequency is reduced, the electronic device will not reach the operating limits.

절전 모드에서는 동작 성능에 앞서 전력을 먼저 고려하여 전력과 관련된 판단을 먼저 수행하고, 그 후, FPS와 관련된 판단을 수행하게 된다. In the power saving mode, power is firstly considered in advance of operation performance, power determination is performed first, and then determination related to FPS is performed.

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

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

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

절전 모드에서는 동작 성능에 앞서 전력을 먼저 고려하여 전력과 관련된 판단을 먼저 수행하고, 그 후, FPS와 관련된 판단을 수행하게 된다. In the power saving mode, power is firstly considered in advance of operation performance, power determination is performed first, and then determination related to FPS is performed.

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

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

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

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

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

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

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

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

일 실시예에서, 이러한 학습 방법은, 머신 러닝에 의해 수행 될 수 있고, 특히, 강화된 학습의 타입(a type of reinforcement learning)인 Q-러닝 접근에 기반하여 이루어 질 수 있다. 강화된 학습은 수학식 (2)에 의해 계산될 수 있다. In one embodiment, this learning method can be performed by machine learning, and in particular, based on a Q-learning approach that is a type of reinforcement learning. The 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 represents the current state of the electronic device, and y represents an operation determined by the process. Given a heuristic example of x, y, the process can find f () through the environment Env and the compensation (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, and the like. Also, the operations determined by the process may include frequency increase, frequency decrease, or frequency maintenance. Alternatively, the process may determine one in the frequency set / range. Examples of convergence points / targets that may be targeted by the process may include specific temperature points, maximum possible FPS, and / or high GPU load. The compensation used by the process as described above may include a positive compensation approaching the goal attainment and a negative compensation away from the goal.

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

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

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

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

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

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

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

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

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

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

수학식 (3)Equation (3)

Figure pat00003
Figure pat00003

Figure pat00004
Figure pat00004

Figure pat00005
Figure pat00005

Figure pat00006
Figure pat00006

Figure pat00007
Figure pat00007

여기서, p는 전력, t는 시간, f는 주파수, T는 온도, n은 현재 보상값, n-1은 마지막 보상값, L은 GPU의 부하값, R은 최종 보상값을 나타낸다. Where p is the power, t is the time, f is the frequency, T is the 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 an optimal FPS / Watt can be provided. According to one embodiment, the optimal value can be derived from the experimental data, and the power is scaled by the square of the frequency, so it can be the lowest possible frequency. According to one embodiment, instead of using too much power, a power management method may be provided that allows the hardware to operate in a "better" or "near optimal" FPS / Watt to have a "good enough" FPS.

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

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

도 11을 참조하면, 일 실시예에 따른 전력 관리 장치(1100)는 출력부(1110), 하드웨어(1120) 및 제어부(1130)를 포함할 수 있다. Referring to FIG. 11, the power management apparatus 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 the processing result of the hardware to the user. According to one embodiment, output 1110 may include a display. Furthermore, the output unit 110 may include any device capable of outputting a processing result to a user, for example, an LED indicator, a speaker, and the like.

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

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

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

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

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

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

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

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

도 13을 참조하면, 전력 사용량 계산부(1210)는 값 스케일러(value scaler, 1310), 신경망 네트워크(1320) 및 전력 재스케일러(1330)를 포함할 수 있다. Referring to FIG. 13, the power consumption 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, the hardware metrics may include GPU frequency, GPU load, GPU temperature, frequency and load of CPU sets (CPUs 0-7), and the like. In one embodiment, a value scaler 1310 may scale the received hardware metric to a range of [-1, 1]. The scaled values are input to a trained neural network 1320 that processes values and outputs the results in a known manner. Each value input to the trained neural network 1320 is used to calculate the power usage of the electronic device through the input layer, the hidden layer, and the output layer of the neural network 1320. The computed power usage at the trained neural network 1320 is scaled back to the actual value expressed in watts (Watt) at the power rescaler 1330. The calculated power usage amount is transmitted to the power management unit 1230 and used for power management.

다시 도 11의 설명으로 돌아가면, 일 실시예에서, 부하 정보는, 전자 디바이스가 실행 중인 애플리케이션의 종류에 따라 결정되는 부하 타입에 대한 정보를 포함할 수 있다. 예를 들어, 현재 실행 중인 애플리케이션이 3D 게임인 경우, 높은 단위 시간당 프레임 수가 요구된다. 하지만, 일반적인 프로세스, 예를 들어, 벤치마크에서는 3D 게임만큼 단위 시간당 높은 프레임 수가 요구되지 않는다. 또한, UI 동작을 수행하는 경우, 적은 전력으로도 동작 수행이 가능하다. 이와 같이, 부하 타입에 대한 정보는 현재 실행 중인 애플리케이션에 따라 달라질 수 있는 부하의 타입을 나타낼 수 있다. 도 14 및 도 15를 참조하여 설명한다. Returning again to the description of FIG. 11, in one embodiment, the load information may include information about load types that are determined by the type of application 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, a typical process, for example, a benchmark, does not require as many frames per unit time as a 3D game. In addition, when the UI operation is performed, the operation can be performed even with a small power. As such, the information about the load type may indicate the type of load that may vary depending on the currently running application. Will be described with reference to Figs. 14 and 15. Fig.

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

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

도 15는 일 실시예에 따른 전력 관리 장치의 부하 타입 감지부의 내부 구성을 나타내는 도면이다. 15 is a diagram illustrating an internal configuration of a load type sensing unit of a power management apparatus 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)로 입력된다. 15, the load type sensing 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 sensing unit 1420 receives as inputs the number of frames per second (FPS) and GPU Util (Util = frequency x load%). However, this is only an example, and it is possible to receive other various kinds of input. In one embodiment, a value scaler 1510 may scale the received frames per second (FPS) and GPU Util in the range [-1,1]. 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 the scaled frames per second (FPS) and the past values of the GPU Util and transfers 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 the received values to the input layer, the hidden layer, and the output layer, and transmits the processed result to the selector 1540.

선택부(1540)는 신경망 네트워크(1530)로부터 수신한 처리 결과로부터 부하 타입을 결정할 수 있다. 일 실시예를 나타내는 도 15를 참조하면, 부하 타입 감지부(1420)는 부하 타입을 4 가지, 즉, 3D 게임, 2D 게임, 벤치마크 동작, 또는 사용자 인터페이스로 분류하고 있다. 선택부(1540)는 신경망 네트워크(1530)로부터 수신한 처리 결과를 바탕으로 4 가지의 부하 타입 중 하나를 선택할 수 있다. 선택부(1540)에서 선택된 부하 타입은 전력 관리부(1440)로 전달되어 전력 관리에 사용된다. The selecting unit 1540 can determine the load type from the processing result received from the neural network 1530. [ Referring to FIG. 15 illustrating an embodiment, the load type sensing unit 1420 classifies the load type into four types, that is, a 3D game, a 2D game, a benchmark operation, or a user interface. The selecting unit 1540 can select one of the four load types based on the processing result 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)에 대한 전력 관리를 수행할 수 있다. 여기서, 피드백 정보는 동작 정보의 변화를 포함할 수 있다. Referring again to FIG. 11, the controller 1130 according to an exemplary embodiment may obtain feedback information on the power management result and perform power management on the hardware 1120 based on the feedback information. Here, the feedback information may include a change in operation information.

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

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

보상 계산부(1620)는 전력 사용량 계산부(1410)로부터 수신한 전력 사용량, 하드웨어 메트릭 및 센서 데이터를 이용하여 직전에 수행한 전력 관리 동작에 대해 긍정 보상 또는 부정 보상을 부여할 수 있다. 긍정 보상은 목표 달성에 가까워지는 경우 부여될 수 있고, 부정 보상은 목표에서 멀어지는 경우 부여될 수 있다. The compensation calculation unit 1620 can give positive compensation or negative compensation to the power management operation performed immediately before using the power consumption amount, the hardware metric, and the sensor data received from the power consumption calculation unit 1410. [ Positive compensation can be granted when it is close to achieving its goal, and negative compensation can be given when it is far from the goal.

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

도 17은 일 실시예에 따른 전력 관리부를 나타내는 도면이다. 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 an embodiment may include a neural network reconfiguration unit 1710 and a neural network network 1720. The neural network reconstructing unit 1710 receives the compensation from the compensation calculating unit 1620, and reconstructs the neural network 1720 according to the compensation result. More specifically, the neural network 1720 can be reconfigured as positive or negative according to the positive compensation and the negative compensation. In addition, 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은 일 실시예에 따른 전력 관리부를 나타내는 도면이다. 18 is a diagram illustrating a power management unit according to an embodiment.

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

아래 표 1에서 Q-테이블의 예시를 나타내고 있다. An example of the Q-table is shown in Table 1 below.

[표 1][Table 1]

Figure pat00008
Figure pat00008

표 1을 참조하면, Q-테이블에는 FPS와 부하(Load) 상황 별 동작(Action)이 규정되어 있다. 이러한 Q-테이블은 상태 업데이트부(1810)에 의해 업데이트 될 수 있다. Referring to Table 1, the Q-table defines FPS and load-specific actions. 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 status update unit 1810 may receive the compensation from the compensation calculation unit 1620 and update the Q-table. The state update unit 1810 can update the Q-table using Update_Table (PrevS, Action, CurrS, Reward) that can be expressed by Equation (4). PrevS indicates the previous state, Action indicates the power management operation, CurrS indicates the current state, and Reward indicates the compensation. According to one embodiment, the maximum value of the next predicted state may be obtained using Update_Table (PrevS, Action, CurrS, Reward) to give additional compensation for a better decision.

위에서 설명한 Q-러닝은 하나의 예시에 불구하고, 통상의 기술자는 다른 다양한 변수를 이용하여 Q-러닝을 구현할 수 있으며, Q 값은 적절한 공식에 의해 업데이트 할 수 있을 것이다. The Q-learning described above, despite one example, could allow a typical descriptor to implement Q-learning using a variety of other variables, and the Q value could be updated by an appropriate formula.

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

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

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

상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다. The computer readable recording medium may be a magnetic storage medium such as a ROM, a floppy disk, a hard disk, etc., an optical reading medium such as a CD-ROM or a DVD and a carrier wave such as the Internet Lt; / RTI > transmission).

이상과 첨부된 도면을 참조하여 실시예를 설명하였지만, 일 실시예가 속하는 기술분야에서 통상의 지식을 가진 자는 일 실시예가 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is evident that many alternatives, modifications, and variations will be apparent to those skilled in the art. It will be possible. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive.

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

Claims (17)

전자 디바이스의 전력 관리 방법에 있어서,
상기 전자 디바이스가 수행하는 동작들 중, 상기 전자 디바이스에 포함된 하드웨어의 처리 결과를 통해 사용자가 인지 가능한 동작과 관련된 동작 정보를 획득하는 단계;
상기 전자 디바이스가 수행하는 동작에 의해 발생되는 부하와 관련된 부하 정보를 획득하는 단계; 및
상기 동작 정보와 상기 부하 정보를 기반으로 상기 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행하는 단계를 포함하는 것을 특징으로 하는 전력 관리 방법.
1. A power management method for an electronic device,
Obtaining operation information related to a user-recognizable operation through processing results 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
And performing power management on hardware included in the electronic device based on the operation information and the load information.
제1항에 있어서,
상기 전력 관리를 수행하는 단계는,
상기 하드웨어의 동작 속성을 변경하는 단계를 포함하는 것을 특징으로 하는 전력 관리 방법.
The method according to claim 1,
Wherein performing the power management comprises:
And changing an operation attribute of the hardware.
제2항에 있어서,
상기 하드웨어의 동작 속성을 변경하는 단계는,
상기 하드웨어의 전압 및 주파수 중 적어도 하나 이상을 조절하는 단계를 포함하는 것을 특징으로 하는 전력 관리 방법.
3. The method of claim 2,
Wherein the step of changing an operation attribute of the hardware comprises:
And adjusting at least one of voltage and frequency of the hardware.
제1항에 있어서,
상기 동작 정보는,
단위 시간당 상기 하드웨어에 의해 생성된 프레임 수에 대한 정보를 포함하는 것을 특징으로 하는 전력 관리 방법.
The method according to claim 1,
Wherein the operation information includes:
And information on the number of frames generated by the hardware per unit time.
제1항에 있어서,
상기 전자 디바이스의 전력 사용량 정보를 획득하는 단계를 더 포함하고,
상기 전력 관리를 수행하는 단계는,
상기 전력 사용량 정보를 기반으로 상기 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행하는 단계를 포함하는 것을 특징으로 하는 전력 관리 방법.
The method according to claim 1,
Further comprising obtaining power usage information of the electronic device,
Wherein performing the power management comprises:
And performing power management on hardware included in the electronic device based on the power usage information.
제1항에 있어서,
상기 전력 관리를 수행하는 단계는,
상기 전력 관리 수행 결과에 대한 피드백 정보를 획득하는 단계; 및
상기 피드백 정보를 기반으로 상기 하드웨어에 대한 전력 관리를 수행하는 단계를 더 포함하고,
상기 피드백 정보는 상기 동작 정보의 변화를 포함하는 것을 특징으로 하는 전력 관리 방법.
The method according to claim 1,
Wherein performing the power management comprises:
Obtaining feedback information on the power management execution result; And
Further comprising performing power management on the hardware based on the feedback information,
And the feedback information includes a change in the operation information.
제1항에 있어서,
상기 부하 정보는,
상기 전자 디바이스가 실행 중인 애플리케이션의 종류에 따라 결정되는 부하 타입에 대한 정보를 포함하는 것을 특징으로 하는 전력 관리 방법.
The method according to claim 1,
The load information includes:
Wherein the electronic device includes information on a load type determined according to a type of an application being executed.
제1항에 있어서,
상기 동작 정보와 상기 부하 정보를 기반으로 상기 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행하는 단계는,
전력 대비 가장 높은 성능을 제공하는 사용자가 인지 가능한 동작을 수행하도록 상기 하드웨어를 제어하는 단계를 포함하는 것을 특징으로 하는 전력 관리 방법.
The method according to claim 1,
Performing power management on hardware included in the electronic device based on the operation information and the load information,
And controlling the hardware to perform a perceptible operation by a user providing the highest performance relative to the power.
전자 디바이스에 있어서,
프로세스를 처리하는 하드웨어;
사용자에게 상기 하드웨어의 처리 결과를 출력하는 출력부; 및
상기 전자 디바이스가 수행하는 동작들 중, 상기 출력부를 통해 출력되는 상기 하드웨어의 처리 결과를 통해 사용자가 인지 가능한 동작과 관련된 동작 정보를 획득하고, 상기 전자 디바이스가 수행하는 동작에 의해 발생되는 부하와 관련된 부하 정보를 획득하며, 상기 동작 정보와 상기 부하 정보를 기반으로 상기 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행하는 제어부를 포함하는 것을 특징으로 하는 전력 관리 장치.
In an electronic device,
Hardware to process processes;
An output unit outputting a processing result of the hardware to a user; And
Wherein the control unit acquires operation information related to a user-recognizable operation through the processing result of the hardware output through the output unit, the operation information being related to a load generated by an operation performed by the electronic device And a controller for acquiring load information and performing power management on hardware included in the electronic device based on the operation information and the load information.
제9항에 있어서,
상기 제어부는,
상기 하드웨어의 동작 속성을 변경하도록 제어하는 것을 특징으로 하는 전력 관리 장치.
10. The method of claim 9,
Wherein,
And changes the operation attribute of the hardware.
제9항에 있어서,
상기 제어부는,
상기 하드웨어의 전압 및 주파수 중 적어도 하나 이상을 조절하는 것을 특징으로 하는 전력 관리 장치.
10. The method of claim 9,
Wherein,
And adjusts at least one of voltage and frequency of the hardware.
제9항에 있어서,
상기 동작 정보는,
단위 시간 당 상기 하드웨어에 의해 생성된 프레임 수에 대한 정보를 포함하는 것을 특징으로 하는 전력 관리 장치.
10. The method of claim 9,
Wherein the operation information includes:
And information on the number of frames generated by the hardware per unit time.
제9항에 있어서,
상기 제어부는,
상기 전자 디바이스의 전력 사용량 정보를 획득하고,
상기 전력 사용량 정보를 기반으로 상기 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행하는 것을 특징으로 하는 전력 관리 장치.
10. The method of claim 9,
Wherein,
Acquiring power usage information of the electronic device,
And performs power management for hardware included in the electronic device based on the power usage information.
제9항에 있어서,
상기 제어부는,
상기 전력 관리 수행 결과에 대한 피드백 정보를 획득하고, 상기 피드백 정보를 기반으로 상기 하드웨어에 대한 전력 관리를 수행하며,
상기 피드백 정보는 상기 동작 정보의 변화를 포함하는 것을 특징으로 하는 전력 관리 장치.
10. The method of claim 9,
Wherein,
Acquiring feedback information on the result of the power management, performing power management on the hardware based on the feedback information,
And the feedback information includes a change in the operation information.
제9항에 있어서,
상기 부하 정보는,
상기 전자 디바이스가 실행 중인 애플리케이션의 종류에 따라 결정되는 부하 타입에 대한 정보를 포함하는 것을 특징으로 하는 전력 관리 장치.
10. The method of claim 9,
The load information includes:
Wherein the electronic device includes information on a load type determined according to a type of an application being executed.
제9항에 있어서,
상기 제어부는,
전력 대비 가장 높은 성능을 제공하는 상기 사용자가 인지 가능한 동작을 수행하도록 상기 하드웨어를 제어하는 것을 특징으로 하는 전력 관리 장치.
10. The method of claim 9,
Wherein,
And controls the hardware to perform the recognizable operation by the user providing the highest performance relative to the power.
제1항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체.A computer readable nonvolatile recording medium recording a program for causing a computer to execute the method of claim 1.
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
US15/223,396 US10101800B2 (en) 2015-07-29 2016-07-29 Method of managing power and electronic device
EP16181942.0A EP3125072B8 (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 true KR20170015097A (en) 2017-02-08
KR102651874B1 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)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020231014A1 (en) * 2019-05-16 2020-11-19 Samsung Electronics Co., Ltd. Electronic device for performing power management and method for operating the same
US11195496B2 (en) 2019-08-20 2021-12-07 Samsung Electronics Co., Ltd. Electronic device for improving graphic performance of application program and operating method thereof
US11366486B2 (en) 2018-08-08 2022-06-21 Samsung Electronics Co., Ltd Method for executing application by using clock speed of processor selected according to external temperature, and electronic device including same
US11734067B2 (en) 2019-08-06 2023-08-22 Samsung Electronics Co., Ltd. Multi-core system and controlling operation of the same

Families Citing this family (5)

* 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
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
US11822926B2 (en) * 2019-09-13 2023-11-21 Nvidia Corporation Device link management

Citations (4)

* 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
KR20140029721A (en) * 2012-08-29 2014-03-11 삼성전자주식회사 A dvfs controlling method and a system-on chip using thereof
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 (2)

* 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
US9128721B2 (en) * 2012-12-11 2015-09-08 Apple Inc. Closed loop CPU performance control

Patent Citations (4)

* 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
KR20140029721A (en) * 2012-08-29 2014-03-11 삼성전자주식회사 A dvfs controlling method and a system-on chip using thereof
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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11366486B2 (en) 2018-08-08 2022-06-21 Samsung Electronics Co., Ltd Method for executing application by using clock speed of processor selected according to external temperature, and electronic device including same
WO2020231014A1 (en) * 2019-05-16 2020-11-19 Samsung Electronics Co., Ltd. Electronic device for performing power management and method for operating the same
US11379025B2 (en) 2019-05-16 2022-07-05 Samsung Electronics Co., Ltd. Electronic device for performing power management and method for operating the same
US11734067B2 (en) 2019-08-06 2023-08-22 Samsung Electronics Co., Ltd. Multi-core system and controlling operation of the same
US11195496B2 (en) 2019-08-20 2021-12-07 Samsung Electronics Co., Ltd. Electronic device for improving graphic performance of application program and operating method thereof

Also Published As

Publication number Publication date
GB2540804B (en) 2018-03-07
GB201513348D0 (en) 2015-09-09
GB2540804A (en) 2017-02-01
KR102651874B1 (en) 2024-03-27

Similar Documents

Publication Publication Date Title
KR20170015097A (en) Method and apparatus for power management
US10101800B2 (en) Method of managing power and electronic device
US9329663B2 (en) Processor power and performance manager
EP3274827B1 (en) Technologies for offloading and on-loading data for processor/coprocessor arrangements
US9210662B1 (en) Adaptive battery life extension
US8856571B2 (en) Adjusting device performance over multiple time domains
US11042174B2 (en) System and method for thermal management of a wearable computing device based on proximity to a user
KR101529802B1 (en) Method and apparatus for providing efficient context classification
JP6632770B1 (en) Learning device, learning inference device, method, and program
KR20160089417A (en) System and method for multi-correlative learning thermal management of a system on a chip in a portable computing device
US10082598B2 (en) Sensor power management
Dey et al. User interaction aware reinforcement learning for power and thermal efficiency of CPU-GPU mobile MPSoCs
US20210123982A1 (en) Apparatus and method for predicting a remaining battery life in a device
KR20200100404A (en) Electronic device for adaptive power management
JP2020513613A (en) Application profiling for power performance management
CN113873074B (en) Control method, electronic equipment and computer storage medium
CN106462456B (en) Processor state control based on detection of producer/consumer workload serialization
KR20200139909A (en) Electronic apparatus and method of performing operations thereof
KR20200101210A (en) Electronic device and method for determining operating frequency of processor
CN111684485B (en) Video playback energy consumption control
CN114706433A (en) Equipment control method and device and electronic equipment
US20230171340A1 (en) Mobile device and method for providing personalized management system
Vinay et al. Light weight rl based run time power management methodology for edge devices
KR20160042618A (en) Mobile terminal and method for controlling the same
JP5835218B2 (en) Display control apparatus, method, and program

Legal Events

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