KR20170015097A - Method and apparatus for power management - Google Patents
Method and apparatus for power management Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 52
- 238000007726 management method Methods 0.000 claims abstract description 143
- 238000012545 processing Methods 0.000 claims abstract description 35
- 230000008569 process Effects 0.000 claims description 27
- 230000008859 change Effects 0.000 claims description 7
- 238000013528 artificial neural network Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 22
- 238000004364 calculation method Methods 0.000 description 16
- 230000007423 decrease Effects 0.000 description 13
- 230000009471 action Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000000875 corresponding effect Effects 0.000 description 4
- 238000009434 installation Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013021 overheating Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/18—Packaging or power distribution
- G06F1/189—Power distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring 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/3062—Monitoring 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Power Sources (AREA)
- Quality & Reliability (AREA)
Abstract
Description
본 발명은 전력 관리 방법 및 장치에 관한 것으로, 보다 구체적으로 사용자가 인지 가능한 동작과 관련된 동작 정보를 바탕으로 하는 전력 관리 방법 및 장치에 관한 것이다. 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
그 후, 120 단계에서 전자 디바이스, 보다 구체적으로 전자 디바이스의 프로세서 등은 애플리케이션 실행 명령에 따라 적어도 하나 이상의 애플리케이션을 실행한다. 이때, 애플리케이션의 실행에는 관련된 프로세스를 처리하는 하드웨어가 필요하다. Then, in
130 단계에서 애플리케이션의 실행에 필요한 프로세스를 처리하는 하드웨어가 동작하게 된다. 여기서, 하드웨어는 중앙 처리 장치(Central Processing Unit, CPU), 그래픽 처리 장치(Graphic Processing Unit, GPU)를 포함할 수 있으며, 전력 관리의 수행 대상이 될 수 있는 모든 하드웨어를 포함할 수 있다. 일 실시예에 따르면, 120 단계의 애플리케이션의 실행과 130 단계의 하드웨어의 동작은 반드시 선후관계가 있는 것은 아니며, 동시에 이루어질 수도 있다. 또한, 애플리케이션과 관련된 프로세스를 처리하는 하드웨어가 복수 개인 경우, 130 단계에서 복수 개의 하드웨어가 동작할 수도 있다. In
140 단계에서 전자 디바이스는 하드웨어가 동작하여 애플리케이션을 실행한 결과를 출력한다. 전자 디바이스는 애플리케이션 실행 결과로부터 사용자가 인지 가능한 동작과 관련된 동작 정보를 획득할 수 있다. 여기서 사용자가 인지 가능한 동작과 관련된 동작 정보는, 그래픽 관련 동작에 대해서는 단위 시간 당 프레임 수, 보다 구체적으로, 초당 프레임 수(Frames Per Second, 이하 FPS)가 될 수 있다. 또한, 애플리케이션 처리 동작에 대해서는 처리 속도, 설치 속도, 다운로드 속도 등으로 표현될 수 있다. In
130 단계에서 하드웨어가 동작하는 경우, 하드웨어의 동작에 따른 부하가 발생한다. If the hardware operates in
150 단계에서는 전자 디바이스는 하드웨어가 동작함에 따라 전자 디바이스에 발생하는 부하를 계산한다. 130 단계에서 복수 개의 하드웨어가 동작하는 경우, 동작 중인 모든 하드웨어의 부하를 계산할 수 있다. 일 실시예에 따르면, 사용되는 하드웨어의 처리 전력의 사용 비율을 계산하거나 또는 실행 중인 태스크의 수를 계산하는 방법 등으로 부하를 계산할 수 있다. In
160 단계에서 전자 디바이스는 130 단계에서 획득한 동작 정보에 대한 피드백 정보와, 150 단계에서 계산한 부하를 바탕으로 전력 관리를 수행한다. 일 실시예에 따르면, 전자 디바이스는 하드웨어의 동작 속성을 변경하여 전력 관리를 수행할 수 있다. 특히, 전자 디바이스는 하드웨어의 전압 및/또는 주파수를 조절할 수 있다. 나아가, 전자 디바이스는 전력 관리 수행 결과에 대한 피드백 정보를 획득하고, 피드백 정보를 기반으로 상기 하드웨어에 대한 전력 관리를 수행할 수 있다. 여기서 피드백 정보는 사용자가 인지 가능한 동작과 관련된 동작 정보의 변화를 포함할 수 있다. 도 2에서 순서도를 참고하여 보다 자세히 설명한다.In
도 2는 일 실시예에 따른 전력 관리 방법을 나타내는 순서도이다.2 is a flow diagram illustrating a power management method in accordance with one embodiment.
먼저, 210 단계에서 전자 디바이스는 전자 디바이스가 수행하는 동작들 중, 전자 디바이스에 포함된 하드웨어의 처리 결과를 통해 사용자가 인지 가능한 동작과 관련된 동작 정보를 획득한다. 여기서, 사용자가 인지 가능한 동작과 관련된 동작 정보는 사용자에게 표현되어 사용자가 직간접적으로 경험할 수 있는 동작 정보를 의미한다. 즉, 전자 디바이스의 프로세싱 파이프 끝단에서 사용자에 의해 경험되거나, 사용자에게 제공되는 동작에 대한 정보를 의미한다.First, in
일 실시예에 따르면, 사용자가 인지 가능한 동작과 관련된 동작 정보는 단위 시간 당 프레임 수, 보다 구체적으로, 초당 프레임 수(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
일 실시예에 따르면, 부하 정보는, 전자 디바이스가 실행 중인 애플리케이션의 종류에 따라 결정되는 부하 타입에 대한 정보를 포함할 수 있다. 예를 들어, 현재 실행 중인 애플리케이션이 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
일 실시예에 따르면, 전반적으로 전자 디바이스는 부하가 증가하면 주파수 및/또는 전압이 증가하도록 조절하고 부하가 감소하면 주파수 및/또는 전압을 감소하도록 조절할 수 있다. 다만, 전자 디바이스는 부하에만 기반하여 주파수 및/또는 전압을 조절하는 것이 아니라 사용자가 인지 가능한 동작과 관련된 동작 정보를 함께 고려하여 주파수 및/또는 전압을 조절할 수 있다. 보다 구체적으로, 전자 디바이스는 가장 효율적인 와트 당 성능을 달성하기 위하여 주파수 및/또는 전압을 조절할 수 있다. 위에서 설명한 것과 같이 성능 향상과 주파수 및/또는 전압의 증가는 선형적으로 이루어지는 반면, 전력은 제곱 함수로 증가한다. 따라서, 부하에만 기반하여 가장 효율적인 동작 지점을 찾는 것은 쉽지 않다. 특히, 다양한 기능들을 뒷받침하기 위해 다양한 하드웨어들이 복합적으로 동작하는 전자 디바이스에서는 더욱 그러하다. 도 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,
510 단계에서 전자 디바이스는 전자 디바이스가 수행하는 동작들 중, 전자 디바이스에 포함된 하드웨어의 처리 결과를 통해 사용자가 인지 가능한 동작과 관련된 동작 정보를 획득하고, 520 단계에서 전자 디바이스의 부하 정보를 획득한다. In
530 단계에서, 전자 디바이스는 전자 디바이스의 전력 사용량 정보를 획득한다. 전자 디바이스는 전력 사용량을 측정하여 전력 사용량 정보를 획득할 수도 있고, 전력 사용량을 추정하여 전력 사용량 정보를 획득할 수도 있다. 일 실시예에 따르면, 전자 디바이스의 전력 사용량 정보는 신경망 네트워크 수단(means of neural networks) 또는 머신 러닝(machine learning)에 기반한 다른 수단 또는 머신 러닝과 관계 없는 다른 수단을 이용하여 획득할 수 있다. 이때, 신경망 네트워크는 주어진 입력에 대하여 희망하는 출력을 달성하기 위하여 뉴런들 간에 연결에 자동적으로 가중치를 튜닝하여 훈련될 수 있다.In
540 단계에서 전자 디바이스는 사용자가 인지 가능한 동작과 관련된 동작 정보, 부하 정보 및 전력 사용량 정보를 기반으로 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행한다. 전력 관리는 도 2의 230 단계와 동일하게 수행될 수 있으므로, 상세한 설명은 생략한다.In
일 실시예에 따르면, 전자 디바이스는 전력 사용량을 줄이는 방향으로 전력 관리를 수행할 수 있다. According to one embodiment, the electronic device can perform power management in a direction to reduce power usage.
추가적으로, 540 단계에서는 수학식 (1)을 이용하여 전력 관리를 수행할 수 있다. In addition, in
수학식 (1)Equation (1)
여기서, 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
705 단계에서 전자 디바이스가 동작 모드를 일반 모드로 결정하는 경우, 전자 디바이스는 710 단계로 진행하여 온도를 나타내는 입력이 특정 임계값, 예를 들어 70˚ C를 초과하는지 여부를 판단한다. 온도가 70˚ C 를 초과하는 경우, 전자 디바이스는 755 단계로 진행하여 동작과 관련된 하드웨어의 주파수가 감소하도록 주파수를 조절한다. 전자 디바이스가 동작 한계에 다다르지 않도록 주파수를 감소시키는 것이다. If the electronic device determines that the operation mode is the normal mode in
710 단계에서 온도가 70˚ C 미만인 경우, 715 단계로 진행하여 단위 시간당 프레임 수, 예를 들어, FPS가 50과 F 파라미터의 합보다 큰지 여부를 판단한다. 일 실시예에서, F 파라미터는 도 6에서 살펴본 것과 같이 사용자가 설정할 수 있는 값이다. FPS가 50과 F 파라미터의 합보다 큰 경우, 전자 디바이스는 755 단계로 진행하여 동작과 관련된 하드웨어의 주파수가 감소하도록 주파수를 조절한다. If it is determined in
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
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
725 단계에서 전력 사용량이 기 설정된 값인 X와 전력과 P파라미터의 합보다 큰 경우, 전자 디바이스는 755 단계로 진행하여 동작과 관련된 하드웨어의 주파수가 감소하도록 주파수를 조절한다. 또한, 전력 사용량이 기 설정된 값인 X와 전력과 P파라미터의 합보다 작거나 같은 경우 프로세스를 종료한다. 일 실시예에서는 프로세스가 종료되는 경우, 주파수는 변경되지 않고 유지된다. If it is determined in
705 단계에서 전자 디바이스가 동작 모드를 절전 모드로 결정하는 경우, 전자 디바이스는 730 단계로 진행하여 온도를 나타내는 입력이 특정 임계값, 예를 들어 70˚ C를 초과하는지 여부를 판단한다. 온도가 70˚ C 를 초과하는 경우, 전자 디바이스는 755 단계로 진행하여 동작과 관련된 하드웨어의 주파수가 감소하도록 주파수를 조절한다. 주파수를 감소시킴에 따라 전자 디바이스가 동작 한계에 다다르지 않게 된다. If the electronic device determines that the operation mode is the power save mode in
절전 모드에서는 동작 성능에 앞서 전력을 먼저 고려하여 전력과 관련된 판단을 먼저 수행하고, 그 후, 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
735 단계에서 전력 사용량이 기 설정된 값인 X와 P파라미터의 합보다 작은 경우, 전자 디바이스는 740 단계로 진행하여 단위 시간당 프레임 수, 예를 들어, FPS가 40과 F 파라미터의 합보다 큰지 여부를 판단한다. FPS가 40과 F 파라미터의 합보다 큰 경우, 전자 디바이스는 755 단계로 진행하여 동작과 관련된 하드웨어의 주파수가 감소하도록 주파수를 조절한다. If it is determined in
또한, 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
절전 모드에서는 동작 성능에 앞서 전력을 먼저 고려하여 전력과 관련된 판단을 먼저 수행하고, 그 후, 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
일 실시예에서 판단 순서를 달리하거나, 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
일 실시예에서, 각 판단 과정들은 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,
810 단계에서 전자 디바이스는 전자 디바이스는 전자 디바이스가 수행하는 동작들 중, 전자 디바이스에 포함된 하드웨어의 처리 결과를 통해 사용자가 인지 가능한 동작과 관련된 동작 정보를 획득하고, 520 단계에서 전자 디바이스의 부하 정보를 획득한다. 또한, 830 단계에서 전자 디바이스는 동작 정보와 부하 정보를 기반으로 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행한다.In
840 단계에서 전자 디바이스는 전력 관리 수행 결과에 대하 피드백 정보를 획득한다. 일 실시예에서 피드백 정보는 전자 디바이스는 동작 정보의 변화를 포함할 수 있다. In
그 후, 850 단계에서 전자 디바이스는 피드백 정보를 기반으로 하드웨어에 대한 전력 관리를 수행할 수 있다. 일 실시예에 따르면, 전자 디바이스는 피드백 정보를 수신하여, 피드백 정보의 내용에 따라 직전에 수행한 전력 관리 동작에 대해 긍정 보상 또는 부정 보상을 부여할 수 있다. 일 실시예에서, 긍정 보상은 목표 달성에 가까워지는 경우 부여될 수 있고, 부정 보상은 목표에서 멀어지는 경우 부여될 수 있다. 일 실시예에서, 보상이 부여된 전력 관리 동작들은 다음 전력 관리 동작 결정에서 우선적으로 선택될 수 있거나(긍정 보상), 배제될 수도 있다(부정 보상). 즉, 전자 디바이스는 전력 관리 수행 결과에 대하 피드백 정보를 기반으로 전력 관리 수행 방법을 학습할 수 있다. Thereafter, in
일 실시예에서, 이러한 학습 방법은, 머신 러닝에 의해 수행 될 수 있고, 특히, 강화된 학습의 타입(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
나아가, 전자 디바이스는 수학식 (3)을 이용하여 보상을 계산할 수도 있다.Further, the electronic device may calculate the compensation using equation (3).
수학식 (3)Equation (3)
여기서, 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
출력부(1110)는 사용자에게 하드웨어의 처리 결과를 출력한다. 일 실시예에 따르면, 출력부(1110)는 디스플레이를 포함할 수 있다. 나아가, 출력부(110)는, 사용자에게 처리 결과를 출력할 수 있는 모든 장치, 예를 들어, LED 표시등, 스피커 등을 포함할 수 있다. The
하드웨어(1120)는 프로세스를 처리한다. 일 실시예에서, 하드웨어(1120)는 전자 디바이스에 포함된 물리적인 구성 요소를 포함할 수 있다. 예를 들어, 하드웨어(1120)는 중앙 처리 장치(Central Processing Unit, CPU), 그래픽 처리 장치(Graphic Processing Unit, GPU)를 포함할 수 있으며, 전력 관리의 수행 대상이 될 수 있는 모든 하드웨어를 포함할 수 있다.
제어부(1130)는 전력 관리 장치(1100)의 전반적인 동작을 제어하여 전력 관리를 수행할 수 있다. 일 실시예에서 제어부(1130)는 외부에서부터 입력되는 신호 또는 데이터를 저장하거나, 전자 장치에서 수행되는 다양한 작업에 대응되는 저장 영역으로 사용되는 램, 주변기기의 제어를 위한 제어 프로그램이 저장된 롬(ROM) 및 프로세서(Processor)를 포함할 수 있다. 프로세서는 코어(core, 도시되지 아니함)와 GPU(도시되지 아니함)를 통합한 SoC(System On Chip)로 구현될 수 있다. 또한, 프로세서는 복수의 프로세서를 포함할 수 있다. 또한, 제어부(1130)가 전력 관리 대상이 되는 경우, 제어부(1130)와 하드웨어(1120)는 동일한 구성요소가 될 수도 있다. The
일 실시예에 따르면, 제어부(1130)는 전자 디바이스가 수행하는 동작들 중, 출력부(1110)를 통해 출력되는 하드웨어(1120)의 처리 결과를 통해 사용자가 인지 가능한 상기 전자 디바이스의 동작 정보를 획득하고, 전자 디바이스가 수행하는 동작에 의해 발생되는 부하와 관련된 부하 정보를 획득하며, 동작 정보와 상기 부하 정보를 기반으로 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행할 수 있다. 이때, 사용자가 인지 가능한 동작과 관련된 동작 정보는 사용자에게 표현되어 사용자가 직간접적으로 경험할 수 있는 동작 정보를 의미한다. 즉, 전자 디바이스의 프로세싱 파이프 끝단에서 사용자에 의해 경험되거나, 사용자에게 제공되는 동작에 대한 정보를 의미한다. According to one embodiment, the
일 실시예에 따르면, 제어부(1130)는 하드웨어(1120)의 동작 속성을 변경하도록 제어할 수 있다. 또한, 제어부(1130)는 하드웨어(1120)의 전압 및 주파수 중 적어도 하나 이상을 조절할 수 있다. According to one embodiment, the
또한, 일 실시예에 따르면, 제어부(1130)는 전자 디바이스의 전력 사용량 정보를 획득하고, 전력 사용량 정보를 기반으로 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행할 수 있다. 도 12 및 도 13을 참조하여 설명한다. Also, according to one embodiment, the
도 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
도 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
값 스케일러(value scaler, 1310)는 하드웨어 메트릭을 수신한다. 일 실시예에서, 하드웨어 메트릭은 GPU 주파수, GPU 부하, GPU 온도, CPU 세트(CPU 0~7)의 주파수 및 부하 등을 포함할 수 있다. 일 실시예에서, 값 스케일러(value scaler, 1310)는 수신한 하드웨어 메트릭을 [-1,1] 범위로 스케일할 수 있다. 스케일된 값들은 알려진 방법으로 값을 처리하고 결과값을 출력하는 훈련된 신경망 네트워크(1320)로 입력된다. 훈련된 신경망 네트워크(1320)로 입력된 각 값들은 신경망 네트워크(1320)의 입력 레이어, 히든 레이어, 출력 레이어를 거치면서 전자 디바이스의 전력 사용량을 계산하는데 사용된다. 훈련된 신경망 네트워크(1320)에서 계산된 전력 사용량은 전력 재스케일러(1330)에서 와트(Watt)로 나타내어지는 실제 값으로 스케일-백된다. 이렇게 계산된 전력 사용량은 전력 관리부(1230)로 전달되어 전력 관리에 사용된다. A
다시 도 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
도 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
지연부(1520)는 스케일된 초당 프레임 수(FPS) 및 GPU Util 의 과거 값을 저장하고, 저장한 값을 신경망 네트워크(1530)으로 전달한다. 일 실시예에서, 지연부(1520)는 무빙 윈도우를 포함할 수 있다. The
신경망 네트워크(1530)는 수신한 각 값들을 입력 레이어, 히든 레이어, 출력 레이어에 차례로 통과시켜 처리 결과를 선택부(1540)로 전달한다. The
선택부(1540)는 신경망 네트워크(1530)로부터 수신한 처리 결과로부터 부하 타입을 결정할 수 있다. 일 실시예를 나타내는 도 15를 참조하면, 부하 타입 감지부(1420)는 부하 타입을 4 가지, 즉, 3D 게임, 2D 게임, 벤치마크 동작, 또는 사용자 인터페이스로 분류하고 있다. 선택부(1540)는 신경망 네트워크(1530)로부터 수신한 처리 결과를 바탕으로 4 가지의 부하 타입 중 하나를 선택할 수 있다. 선택부(1540)에서 선택된 부하 타입은 전력 관리부(1440)로 전달되어 전력 관리에 사용된다. The selecting
다시 도 11의 설명으로 돌아가면, 일 실시예에 따른 제어부(1130)는 전력 관리 수행 결과에 대한 피드백 정보를 획득하고, 피드백 정보를 기반으로 하드웨어(1120)에 대한 전력 관리를 수행할 수 있다. 여기서, 피드백 정보는 동작 정보의 변화를 포함할 수 있다. Referring again to FIG. 11, the
도 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
보상 계산부(1620)는 전력 사용량 계산부(1410)로부터 수신한 전력 사용량, 하드웨어 메트릭 및 센서 데이터를 이용하여 직전에 수행한 전력 관리 동작에 대해 긍정 보상 또는 부정 보상을 부여할 수 있다. 긍정 보상은 목표 달성에 가까워지는 경우 부여될 수 있고, 부정 보상은 목표에서 멀어지는 경우 부여될 수 있다. The
전력 관리부(1650)는 보상 계산부(1620)로부터 전달받은 보상과 부하 타입 감지부(1630)로부터 전달받은 부하 타입, 하드웨어 메트릭 및 센서 데이터를 바탕으로 전력 관리를 수행할 수 있다. 일 실시예에 따르면, 전력 관리부(1650)는 보상이 부여된 전력 관리 동작들에 대하여, 다음 전력 관리 동작 결정에서 우선적으로 선택하거나(긍정 보상), 배제할 수도 있다(부정 보상). 즉, 전력 관리부(1650)는 보상 계산부(1620)를 이용하여 전력 관리 수행 결과에 대하 피드백 정보를 기반으로, 보다 나은 전력 관리 수행 방법을 학습할 수 있다. The
도 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
재구성된 신경망 네트워크(1720)는 전력 관리를 수행한다. 일 실시예에 따르면, 신경망 네트워크(1720)는 Q-러닝 신경망 네트워크를 포함할 수 있다. The reconfigured
도 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
아래 표 1에서 Q-테이블의 예시를 나타내고 있다. An example of the Q-table is shown in Table 1 below.
[표 1][Table 1]
표 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
상태 업데이트부(1810)는 보상 계산부(1620)로부터 보상을 전달받아 Q-테이블을 업데이트 할 수 있다. 상태 업데이트부(1810)는 수학식 (4)로 표현될 수 있는 Update_Table(PrevS, Action, CurrS, Reward)을 이용하여 Q-테이블을 업데이트 할 수 있다. PrevS는 이전 상태, Action 은 전력 관리 동작, CurrS는 현재 상태, Reward는 보상을 나타낸다. 일 실시예에 따르면, 보다 나은 결정에 대하여 추가 보상을 주기 위하여, Update_Table(PrevS, Action, CurrS, Reward)을 이용하여 예측된 다음 상태의 최대값을 획득할 수 있다. The
위에서 설명한 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
Q-테이블 관리부(1830)은 상태 업데이트부(1810) 및 상태 생성부(1820)로부터 입력을 수신하여, Q-테이블을 업데이트 한다. 현재 프로세스 이전의 상태는 보상 및 해당 상태에 의해 내려진 결정을 이용하여 업데이트 될 수 있다. 동일한 Q 상태를 위하여, 랜덤한 값이 선택될 수 있다. 일 실시예에 따르면, 주어진 상태에 대하여 선택되는 전력 관리 동작은 다양한 방법, 예를 들어, 알려진 알고리즘적 온도 공식(Algorithmic Temperature Function) 또는 볼츠만 확률(Boltzmann Probability )을 이용하여 결정될 수 있다. The Q-
한편, 상술한 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.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.
상기 전력 관리를 수행하는 단계는,
상기 하드웨어의 동작 속성을 변경하는 단계를 포함하는 것을 특징으로 하는 전력 관리 방법.
The method according to claim 1,
Wherein performing the power management comprises:
And changing an operation attribute of the hardware.
상기 하드웨어의 동작 속성을 변경하는 단계는,
상기 하드웨어의 전압 및 주파수 중 적어도 하나 이상을 조절하는 단계를 포함하는 것을 특징으로 하는 전력 관리 방법.
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.
상기 동작 정보는,
단위 시간당 상기 하드웨어에 의해 생성된 프레임 수에 대한 정보를 포함하는 것을 특징으로 하는 전력 관리 방법.
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.
상기 전자 디바이스의 전력 사용량 정보를 획득하는 단계를 더 포함하고,
상기 전력 관리를 수행하는 단계는,
상기 전력 사용량 정보를 기반으로 상기 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행하는 단계를 포함하는 것을 특징으로 하는 전력 관리 방법.
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.
상기 전력 관리를 수행하는 단계는,
상기 전력 관리 수행 결과에 대한 피드백 정보를 획득하는 단계; 및
상기 피드백 정보를 기반으로 상기 하드웨어에 대한 전력 관리를 수행하는 단계를 더 포함하고,
상기 피드백 정보는 상기 동작 정보의 변화를 포함하는 것을 특징으로 하는 전력 관리 방법.
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.
상기 부하 정보는,
상기 전자 디바이스가 실행 중인 애플리케이션의 종류에 따라 결정되는 부하 타입에 대한 정보를 포함하는 것을 특징으로 하는 전력 관리 방법.
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.
상기 동작 정보와 상기 부하 정보를 기반으로 상기 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행하는 단계는,
전력 대비 가장 높은 성능을 제공하는 사용자가 인지 가능한 동작을 수행하도록 상기 하드웨어를 제어하는 단계를 포함하는 것을 특징으로 하는 전력 관리 방법.
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.
상기 제어부는,
상기 하드웨어의 동작 속성을 변경하도록 제어하는 것을 특징으로 하는 전력 관리 장치.
10. The method of claim 9,
Wherein,
And changes the operation attribute of the hardware.
상기 제어부는,
상기 하드웨어의 전압 및 주파수 중 적어도 하나 이상을 조절하는 것을 특징으로 하는 전력 관리 장치.
10. The method of claim 9,
Wherein,
And adjusts at least one of voltage and frequency of the hardware.
상기 동작 정보는,
단위 시간 당 상기 하드웨어에 의해 생성된 프레임 수에 대한 정보를 포함하는 것을 특징으로 하는 전력 관리 장치.
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.
상기 제어부는,
상기 전자 디바이스의 전력 사용량 정보를 획득하고,
상기 전력 사용량 정보를 기반으로 상기 전자 디바이스에 포함된 하드웨어에 대한 전력 관리를 수행하는 것을 특징으로 하는 전력 관리 장치.
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.
상기 제어부는,
상기 전력 관리 수행 결과에 대한 피드백 정보를 획득하고, 상기 피드백 정보를 기반으로 상기 하드웨어에 대한 전력 관리를 수행하며,
상기 피드백 정보는 상기 동작 정보의 변화를 포함하는 것을 특징으로 하는 전력 관리 장치.
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.
상기 부하 정보는,
상기 전자 디바이스가 실행 중인 애플리케이션의 종류에 따라 결정되는 부하 타입에 대한 정보를 포함하는 것을 특징으로 하는 전력 관리 장치.
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.
상기 제어부는,
전력 대비 가장 높은 성능을 제공하는 상기 사용자가 인지 가능한 동작을 수행하도록 상기 하드웨어를 제어하는 것을 특징으로 하는 전력 관리 장치.
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.
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.1 | 2015-07-29 | ||
GB1513348.1A GB2540804B (en) | 2015-07-29 | 2015-07-29 | Hardware power management apparatus and methods |
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)
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)
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 |
WO2020145943A1 (en) * | 2019-01-08 | 2020-07-16 | 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)
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)
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 |
-
2015
- 2015-07-29 GB GB1513348.1A patent/GB2540804B/en not_active Expired - Fee Related
-
2016
- 2016-03-03 KR KR1020160025762A patent/KR102651874B1/en active IP Right Grant
Patent Citations (4)
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)
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 |
GB2540804A (en) | 2017-02-01 |
GB201513348D0 (en) | 2015-09-09 |
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 | |
US8856571B2 (en) | Adjusting device performance over multiple time domains | |
US9210662B1 (en) | Adaptive battery life extension | |
US11042174B2 (en) | System and method for thermal management of a wearable computing device based on proximity to a user | |
CN112529301B (en) | Power consumption prediction method, device and storage medium | |
JP6632770B1 (en) | Learning device, learning inference device, method, and program | |
US11270228B2 (en) | Information processing method and information processing system | |
KR20140010930A (en) | Method and apparatus for providing efficient context classification | |
US10082598B2 (en) | Sensor power management | |
Dey et al. | User interaction aware reinforcement learning for power and thermal efficiency of CPU-GPU mobile MPSoCs | |
GB2588701A (en) | Predicting a remaining battery life in a device | |
CN104572150B (en) | Information processing method and device | |
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 | |
Vinay et al. | Light weight rl based run time power management methodology for edge devices | |
KR20200101210A (en) | Electronic device and method for determining operating frequency of processor | |
CN111684485B (en) | Video playback energy consumption control | |
US20230171340A1 (en) | Mobile device and method for providing personalized management system | |
WO2022250673A1 (en) | Power consumption controls | |
JP2013238928A (en) | Electronic device and power saving setting control method | |
KR20160042618A (en) | Mobile terminal and method for controlling the same | |
US20230088429A1 (en) | Processing device, processing method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |