KR20190036307A - Mobile devices using dynamic voltage and frequency scaling - Google Patents

Mobile devices using dynamic voltage and frequency scaling Download PDF

Info

Publication number
KR20190036307A
KR20190036307A KR1020170125383A KR20170125383A KR20190036307A KR 20190036307 A KR20190036307 A KR 20190036307A KR 1020170125383 A KR1020170125383 A KR 1020170125383A KR 20170125383 A KR20170125383 A KR 20170125383A KR 20190036307 A KR20190036307 A KR 20190036307A
Authority
KR
South Korea
Prior art keywords
interval
frequency
operating frequency
processor
frame
Prior art date
Application number
KR1020170125383A
Other languages
Korean (ko)
Other versions
KR101983463B1 (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 KR1020170125383A priority Critical patent/KR101983463B1/en
Publication of KR20190036307A publication Critical patent/KR20190036307A/en
Application granted granted Critical
Publication of KR101983463B1 publication Critical patent/KR101983463B1/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/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

Provided is a mobile device including a processor. The mobile device can comprise: a calculation unit calculating work load of a second interval corresponding to a current frame using an operation frequency and utilization of a first interval corresponding to a previous frame; and a frequency setting unit setting the operation frequency for the second interval using the workload of the second interval and a preset threshold value.

Description

DVFS 기법을 이용하는 모바일 디바이스{MOBILE DEVICES USING DYNAMIC VOLTAGE AND FREQUENCY SCALING}[0001] MOBILE DEVICES USING DYNAMIC VOLTAGE AND FREQUENCY SCALING [0002]

이하의 설명은 모바일 디바이스에 관한 것이다. 보다 구체적으로는, DVFS(Dynamic Voltage and Frequency Scaling) 기법이 적용된 모바일 디바이스에 연관된다.The following description relates to a mobile device. More specifically, the present invention relates to a mobile device to which a Dynamic Voltage and Frequency Scaling (DVFS) technique is applied.

오늘날 널리 이용되고 있는 모바일 디바이스는 배터리 환경의 제한적인 특성 때문에 에너지 소비 효율을 관리하는 것이 중요한 이슈로 존재한다. 그에 따라, GPU(Graphics Processing Units)가 내장된 모바일 디바이스에서 에너지를 효율적으로 관리하기 위한 다양한 소프트웨어 기법들이 소개되고 있으며, DVFS 기법은 그 중 하나이다.Because of the limited nature of the battery environment, management of energy consumption efficiency is an important issue for mobile devices that are widely used today. Accordingly, various software techniques for efficiently managing energy in mobile devices with embedded Graphics Processing Units (GPUs) are introduced, and the DVFS technique is one of them.

예시적으로, 인터벌 기반 DVFS 기법(interval-based DVFS technique)은 각 인터벌마다 사용량을 예측하고, 예측된 사용량에 기반하여 동적 주파수를 조절하는 기법이다. 그러나, 종래 방식은 사용량 변화가 심한 전역조명(global illumination) 렌더링 방식에는 적절한 솔루션을 제공하지 못한다는 한계가 존재한다.Illustratively, the interval-based DVFS technique is a technique for predicting the usage for each interval and adjusting the dynamic frequency based on the expected usage. However, there is a limitation that the conventional method does not provide an appropriate solution for the global illumination rendering method in which the usage change is severe.

대한민국 공개특허 제10-2014-0088691호는 GPU의 작업량을 측정하고, 상기 GPU의 프레임 처리 속도와 디스플레이 장치의 프레임 레이트를 비교하고, 그 비교 결과와 상기 GPU의 작업량에 기초하여 상기 GPU의 동작 주파수를 조절하는 구성을 포함하고 있다.Korean Patent Laid-Open No. 10-2014-0088691 discloses a method of measuring a workload of a GPU, comparing a frame processing rate of the GPU with a frame rate of a display device, and comparing an operation frequency of the GPU As shown in FIG.

일측에 따르면, 프로세서를 포함하는 모바일 디바이스가 제공된다. 상기 모바일 디바이스는 이전 프레임에 대응하는 제1 인터벌(interval) 의 동작 주파수 및 사용율(utilization)을 이용하여 현재 프레임에 대응하는 제2 인터벌의 워크로드(work load)를 계산하는 계산부 및 상기 제2 인터벌의 워크로드와 미리 설정된 임계치를 이용하여 상기 제2 인터벌 동안의 동작 주파수를 설정하는 주파수 설정부를 포함할 수 있다.According to one aspect, a mobile device comprising a processor is provided. Wherein the mobile device comprises: a calculation unit for calculating a work load of a second interval corresponding to a current frame using an operation frequency and utilization of a first interval corresponding to a previous frame; And a frequency setting unit for setting an operation frequency for the second interval using a workload of the interval and a preset threshold value.

일실시예에 따르면, 상기 제1 인터벌은 상기 제2 인터벌이 상기 현재 프레임에 포함되는 시간 구간과 상기 제1 인터벌이 상기 이전 프레임에 포함되는 시간 구간이 동일하도록 선택될 수 있다.According to an embodiment, the first interval may be selected so that the time interval in which the second interval is included in the current frame and the time interval in which the first interval is included in the previous frame are the same.

다른 일실시예에 따르면, 상기 현재 프레임이 상기 프로세서에 의해 구현되는 첫 번째 프레임인 경우, 상기 계산부는 상기 현재 프레임에 포함되는 제2 인터벌 바로 이전의 동작 주파수 및 사용율을 이용하여 상기 제2 인터벌의 워크로드를 계산할 수 있다.According to another embodiment, when the current frame is the first frame implemented by the processor, the calculation unit may calculate the current frame using the operation frequency and the usage rate immediately before the second interval included in the current frame, The workload can be calculated.

또 다른 일실시예에 따르면, 상기 현재 프레임이 상기 프로세서에 의해 구현되는 두 번째 프레임인 경우, 상기 주파수 설정부는 상기 제1 인터벌의 동작 주파수를 미리 지정된 크기만큼 증가시키거나 또는 감소시켜 상기 제2 인터벌 동안의 동작 주파수를 설정할 수 있다.According to another embodiment, when the current frame is the second frame implemented by the processor, the frequency setting unit may increase or decrease the operating frequency of the first interval by a predetermined size, Can be set.

또 다른 일실시예에 따르면, 상기 현재 프레임이 상기 프로세서에 의해 구현되는 세 번째 프레임 또는 세 번째 이후의 프레임인 경우, 상기 주파수 설정부는 상기 미리 설정된 임계치와 상기 모바일 디바이스가 제공하는 동작 주파수들 중 하나를 곱한 값과 상기 제2 인터벌의 워크로드를 비교하여 상기 제2 인터벌 동안의 동작 주파수를 설정할 수 있다.According to another embodiment, when the current frame is a third frame or a third or later frame implemented by the processor, the frequency setting unit may set the frequency to be one of the preset thresholds and the operating frequencies provided by the mobile device And a workload of the second interval may be compared to set the operating frequency for the second interval.

또 다른 일실시예에 따르면, 상기 주파수 설정부는 상기 미리 설정된 임계치와 상기 모바일 디바이스가 제공하는 최대 동작 주파수를 곱한 값보다 상기 제2 인터벌의 워크로드가 크거나 같은 경우에 상기 제2 인터벌 동안의 동작 주파수를 상기 최대 동작 주파수로 설정할 수 있다.According to another embodiment, the frequency setting unit may set the frequency of the operation during the second interval when the workload of the second interval is equal to or greater than a value obtained by multiplying the predetermined threshold value by the maximum operation frequency provided by the mobile device. The frequency can be set to the maximum operating frequency.

또 다른 일실시예에 따르면, 상기 주파수 설정부는 상기 미리 설정된 임계치와 상기 모바일 디바이스가 제공하는 최소 동작 주파수를 곱한 값보다 상기 제2 인터벌의 워크로드가 작거나 같은 경우에 상기 제2 인터벌 동안의 동작 주파수를 상기 최소 동작 주파수로 설정할 수 있다.According to yet another embodiment, the frequency setting unit may set the frequency of the operation during the second interval when the workload of the second interval is smaller than or equal to the value obtained by multiplying the preset threshold by the minimum operating frequency provided by the mobile device. The frequency can be set to the minimum operating frequency.

또 다른 일실시예에 따르면, 상기 주파수 설정부는 상기 제2 인터벌 동안의 동작 주파수를 지정된 조건에 상응하는 동작 주파수들 중 가장 작은 동작 주파수로 설정하고, 상기 지정된 조건은 상기 미리 지정된 임계치와 상기 모바일 디바이스가 제공하는 동작 주파수들 각각을 곱한 값들 중 상기 제2 인터벌의 워크로드보다 크거나 같은 값에 대응하는 동작 주파수를 선택하는 조건을 나타낼 수 있다.According to yet another embodiment, the frequency setting unit sets the operating frequency for the second interval to the smallest operating frequency among the operating frequencies corresponding to the specified condition, and the specified condition is determined by the predetermined threshold, Lt; RTI ID = 0.0 > a < / RTI > value that is greater than or equal to a workload of the second interval among values multiplied by each of the operating frequencies provided by the processor.

또 다른 일실시예에 따르면, 상기 제1 인터벌의 사용율이 100%인 경우에, 상기 계산부는 상기 이전 프레임 내에서 상기 제1 인터벌 이후 사용율이 100%보다 작아지는 시간 구간까지 각각의 동작 주파수와 사용율을 곱한 값의 합을 상기 제2 인터벌의 워크로드로 계산할 수 있다.According to another embodiment, in the case where the usage rate of the first interval is 100%, the calculation unit may calculate the operation frequency and the usage rate from the first interval to the time interval in which the usage rate after the first interval becomes less than 100% To the workload of the second interval.

다른 일측에 따르면, 프로세서를 포함하는 모바일 디바이스가 제공된다. 상기 모바일 디바이스는 그래픽 어플리케이션에 대한 상기 프로세서의 처리 기여율을 계산하고, 상기 처리 기여율, 이전 프레임에 대응하는 제1 인터벌의 동작 주파수 및 사용율을 이용하여 현재 프레임에 대응하는 제2 인터벌의 워크로드를 계산하는 계산부 및 상기 제2 인터벌의 워크로드와 미리 설정된 임계치를 이용하여 상기 제2 인터벌 동안의 동작 주파수를 설정하는 주파수 설정부를 포함할 수 있다.According to another aspect, a mobile device including a processor is provided. The mobile device calculates a processing contribution rate of the processor to the graphics application and calculates a workload of a second interval corresponding to the current frame using the processing contribution rate, the operating frequency of the first interval corresponding to the previous frame, And a frequency setting unit for setting an operation frequency for the second interval using a preset threshold value and a workload of the second interval.

일실시예에 따르면, 상기 계산부는 상기 그래픽 어플리케이션에 연관되는 동일한 데이터 처리의 반복 수행 결과에 기초하여 제1 처리 시간, 제1 동작 주파수 및 메모리의 제1 동작 주파수 및 제2 처리 시간, 제2 동작 주파수 및 메모리의 제2 동작 주파수를 비교하여 상기 프로세서의 처리 기여율을 계산할 수 있다.According to one embodiment, the calculation unit calculates a first processing time, a first operating frequency and a first operating frequency and a second processing time of the memory, and a second processing time, And compare the frequency and the second operating frequency of the memory to calculate the processing contribution rate of the processor.

다른 일실시예에 따르면, 상기 제1 인터벌은 상기 제2 인터벌이 상기 현재 프레임에 포함되는 시간 구간과 상기 제1 인터벌이 상기 이전 프레임에 포함되는 시간 구간이 동일하도록 선택될 수 있다.According to another embodiment, the first interval may be selected such that the time interval in which the second interval is included in the current frame and the time interval in which the first interval is included in the previous frame are the same.

또 다른 일실시예에 따르면, 상기 현재 프레임이 상기 프로세서에 의해 구현되는 세 번째 프레임 또는 세 번째 이후의 프레임인 경우, 상기 주파수 설정부는 상기 미리 설정된 임계치와 상기 모바일 디바이스가 제공하는 동작 주파수들 중 하나를 곱한 값과 상기 제2 인터벌의 워크로드를 비교하여 상기 제2 인터벌 동안의 동작 주파수를 설정할 수 있다.According to another embodiment, when the current frame is a third frame or a third or later frame implemented by the processor, the frequency setting unit may set the frequency to be one of the preset thresholds and the operating frequencies provided by the mobile device And a workload of the second interval may be compared to set the operating frequency for the second interval.

또 다른 일측에 따르면, 프로세서의 동작 주파수를 설정하는 프로그램을 수록한 컴퓨터 판독 가능한 기록 매체가 제공된다. 상기 프로그램은 실행 중인 그래픽 어플리케이션에 대한 상기 프로세서의 처리 기여율을 계산하는 명령어 세트, 이전 프레임에 대응하는 제1 인터벌의 동작 주파수 및 사용율을 이용하여 현재 프레임에 대응하는 제2 인터벌의 워크로드를 계산하는 명령어 세트 및 상기 제2 인터벌의 워크로드와 미리 설정된 임계치를 이용하여 상기 제2 인터벌 동안의 동작 주파수를 설정하는 명령어 세트를 포함할 수 있다.According to another aspect, there is provided a computer-readable recording medium containing a program for setting an operating frequency of a processor. The program comprising instructions for calculating a processing contribution rate of the processor for a running graphics application, calculating a workload of a second interval corresponding to a current frame using an operating frequency and utilization rate of a first interval corresponding to a previous frame And a set of instructions for setting an operating frequency for the second interval using a command set and a workload of the second interval and a preset threshold.

일실시예에 따르면, 상기 프로그램은 상기 제2 인터벌이 상기 현재 프레임에 포함되는 시간 구간과 상기 제1 인터벌이 상기 이전 프레임에 포함되는 시간 구간이 동일하도록 상기 제1 인터벌을 선택하는 명령어 세트를 더 포함할 수 있다.According to one embodiment, the program further comprises a command set for selecting the first interval such that the time interval in which the second interval is included in the current frame and the time interval in which the first interval is included in the previous frame are the same .

도 1은 일실시예에 따른 DVFS 기법을 도시하는 예시도이다.
도 2는 이전 프레임을 이용하여 동작 주파수를 설정하는 과정을 설명하는 예시도이다.
도 3은 각각의 인터벌에 상응하는 워크로드를 계산하는 과정을 설명하는 예시도이다.
도 4는 일실시예에 따른 모바일 디바이스를 도시하는 블록도이다.
도 5a는 일실시예에 따라 동작 주파수를 설정하는 과정을 설명하는 흐름도이다.
도 5b는 도 5a에서 설명된 프레임 기반의 DVFS 알고리즘을 구체적으로 설명하는 흐름도이다.
도 6은 다른 일실시예에 따라 동작 주파수를 설정하는 과정을 설명하는 흐름도이다.
1 is an exemplary diagram illustrating a DVFS technique in accordance with an embodiment.
2 is an exemplary diagram illustrating a process of setting an operation frequency using a previous frame.
3 is an exemplary diagram illustrating a process of calculating a workload corresponding to each interval.
4 is a block diagram illustrating a mobile device in accordance with one embodiment.
5A is a flowchart illustrating a process of setting an operation frequency according to an embodiment.
FIG. 5B is a flowchart illustrating the frame-based DVFS algorithm described in FIG. 5A in detail.
6 is a flowchart illustrating a process of setting an operation frequency according to another embodiment.

실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of embodiments are set forth for illustration purposes only and may be embodied with various changes and modifications. Accordingly, the embodiments are not intended to be limited to the specific forms disclosed, and the scope of the disclosure includes changes, equivalents, or alternatives included in the technical idea.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.The terms first or second, etc. may be used to describe various elements, but such terms should be interpreted solely for the purpose of distinguishing one element from another. For example, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.It is to be understood that when an element is referred to as being "connected" to another element, it may be directly connected or connected to the other element, although other elements may be present in between.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having", etc. are intended to designate the presence of stated features, integers, steps, operations, components, parts or combinations thereof, , &Quot; an ", " an ", " an "

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.

이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In the following description of the present invention with reference to the accompanying drawings, the same components are denoted by the same reference numerals regardless of the reference numerals, and a duplicate description thereof will be omitted.

도 1은 일실시예에 따른 DVFS 기법을 도시하는 예시도이다. 도 1을 참조하면, 복수의 인터벌(interval)들을 포함하는 두 개의 프레임이 도시된다. 구체적으로, 제1 인터벌(111), 제2 인터벌(112) 및 제3 인터벌(113)을 포함하는 제1 프레임과 제4 인터벌(121), 제5 인터벌(122) 및 제6 인터벌(123)을 포함하는 제2 프레임이 도시된다. 모바일 디바이스는 휴대할 수 있는 특성 때문에 배터리 환경이 제한적인 특징을 가진다. 따라서, 비교적 긴 시간 동안 배터리를 사용하기 위해 모바일 디바이스는 필요 성능을 유지하면서 에너지 소비는 최소로 줄여야 할 필요가 존재한다. 이러한 목적을 달성하기 위해 다양한 기술들이 있으며, 동적 전압 및 주파수 설정 방법(dynamic voltage and frequency scaling; DVFS)은 그 중 하나이다. 아래의 수학식 1은 에너지와 전압, 주파수 등의 상관관계를 나타내는 식이다.1 is an exemplary diagram illustrating a DVFS technique in accordance with an embodiment. Referring to Figure 1, two frames are shown that include a plurality of intervals. Specifically, a first frame including a first interval 111, a second interval 112 and a third interval 113, a fourth interval 121, a fifth interval 122 and a sixth interval 123, Lt; / RTI > is shown. Mobile devices are characterized by limited battery environment due to their portable nature. Therefore, there is a need for mobile devices to minimize energy consumption while maintaining the required performance in order to use the battery for a relatively long period of time. There are a variety of techniques to accomplish this, and dynamic voltage and frequency scaling (DVFS) is one of them. Equation (1) below expresses a correlation between energy, voltage, and frequency.

Figure pat00001
Figure pat00001

상기 수학식 1에서 E는 모바일 디바이스에 포함되는 프로세서의 소비 에너지, P는 소비 전력, c는 프로세서에 따른 상수 값, F는 상기 프로세서의 동작 주파수, V는 동작 주파수에 따라 요구되는 전압, t는 F 와 V 값이 유지되는 동안의 시간 구간을 나타낸다. 전압 V 는 동작 주파수 F 값에 대하여 직접적으로 비례하는 것은 아니지만, 동작 주파수 값이 높아질수록 요구되는 전압 값 역시 디바이스의 안정적인 동작을 위해서 높아지게 된다. 따라서, 동작 주파수가 증가하면 소비되는 전력 및 에너지 역시 상당하게 증가하게 되므로 소비되는 에너지를 최소화하기 위해서는 동작 주파수를 효율적으로 조절하는 것이 필요할 것이다.In Equation (1), E is the consumed energy of the processor included in the mobile device, P is the power consumption, c is a constant value according to the processor, F is the operating frequency of the processor, V is the voltage required according to the operating frequency, And the time interval during which the F and V values are maintained. Although the voltage V is not directly proportional to the operating frequency F, the higher the operating frequency value, the higher the required voltage value for stable operation of the device. Therefore, as the operating frequency increases, the consumed power and energy also increase considerably. Therefore, it is necessary to efficiently adjust the operating frequency in order to minimize the energy consumed.

본 실시예에 따른 모바일 디바이스는 각각의 프레임에 상응하는 인터벌 별로 적절한 크기의 동작 주파수를 설정할 수 있다. 보다 구체적으로, 모바일 디바이스는 이전 프레임에 포함되는 인터벌에서의 프로세서 사용량(utilization) 및 동작 주파수를 이용하여 현재 프레임의 인터벌의 동작 주파수를 설정할 수 있다.The mobile device according to the present embodiment can set an appropriate operating frequency for each interval corresponding to each frame. More specifically, the mobile device can set the operating frequency of the interval of the current frame using the processor utilization and operating frequency in the interval included in the previous frame.

도 1을 참조하면, 제1 프레임 내의 제2 인터벌(112)에서 모바일 디바이스는 제1 동작 주파수 f1으로 제1 시간 T1만큼 지정된 태스크(task)를 처리한다. 제1 프레임에 후속하여 제2 프레임이 구현되는 경우, 모바일 디바이스는 제1 프레임의 처리 결과를 이용하여 제2 프레임에서의 동작 주파수를 설정할 수 있다. 구체적으로, 제2 프레임에 포함되는 제5 인터벌(122)의 경우, 모바일 디바이스는 기존의 제1 동작 주파수 f1를 기준으로 소정의 주파수 크기만큼 감소된 제2 동작 주파수 f2로 동작할 수 있다. 이에 따라, 지정된 태스크를 처리하는 시간은 제2 시간 T2만큼 소요될 수 있다. 이하에서는 모바일 디바이스가 이전 프레임의 처리 결과를 이용하여 현재 프레임에 포함되는 인터벌의 동작 주파수를 설정하는 과정에 대해 보다 자세하게 설명될 것이다.Referring to FIG. 1, at a second interval 112 in a first frame, the mobile device processes a task designated by a first time T 1 at a first operating frequency f 1 . If the second frame is implemented subsequent to the first frame, the mobile device can set the operating frequency in the second frame using the processing result of the first frame. Specifically, in the case of the fifth interval 122 included in the second frame, the mobile device can operate with the second operating frequency f 2 reduced by a predetermined frequency magnitude based on the existing first operating frequency f 1 . Accordingly, the time for processing the designated task can take a second time T 2 . Hereinafter, the process of setting the operation frequency of the interval included in the current frame using the processing result of the previous frame by the mobile device will be described in more detail.

도 2는 이전 프레임을 이용하여 동작 주파수를 설정하는 과정을 설명하는 예시도이다. 도 2를 참조하면, 복수의 프레임에 따라 프로세서 및 메모리 각각의 사용율을 나타내는 그래프가 도시된다. 그래프의 X 축은 하나의 인터벌에 대응하는 인터벌 인덱스(index)를 나타내고, Y 축은 프로세서 및 메모리 각각의 사용율(%)을 나타낸다. 이를테면, 하나의 인터벌은 100ms의 시간 간격으로 정의될 수 있다. 보다 구체적으로, 제1 그래프(210)는 복수의 프레임에 따른 프로세서의 사용율 변화를 나타내고, 제2 그래프(220)는 복수의 프레임에 따른 메모리의 사용율 변화를 나타낸다. 도 2의 실시예에서는 연속하는 세 개의 프레임(231, 232, 233)에 대한 사용율 변화가 도시된다. 다만, 세 개의 프레임(231, 232, 233)은 이해를 돕기 위한 예시적 기재일 뿐, 다른 실시예를 제한하거나 한정하는 것으로 해석하여서는 안될 것이다.2 is an exemplary diagram illustrating a process of setting an operation frequency using a previous frame. Referring to FIG. 2, there is shown a graph illustrating the utilization of each of the processor and memory in accordance with a plurality of frames. The X-axis of the graph represents an interval index corresponding to one interval, and the Y-axis represents the usage percentage (%) of each of the processor and the memory. For example, one interval may be defined with a time interval of 100 ms. More specifically, the first graph 210 represents a change in occupancy rate of a processor according to a plurality of frames, and the second graph 220 shows a change in occupancy rate of a memory according to a plurality of frames. In the embodiment of FIG. 2, a change in duty cycle for three consecutive frames 231, 232, and 233 is shown. However, the three frames 231, 232, and 233 are merely exemplary descriptions for the sake of understanding, and should not be construed as limiting or limiting other embodiments.

전역조명(global illumination) 렌더링 방식은 지역조명(local illumination) 렌더링 방식과 대비되는 방식으로, 화면을 렌더링하는 경우에 광원으로부터 카메라로 직접 들어오는 빛 이외에도 다른 물체에 부딪치고 반사되어 카메라로 들어오는 빛까지 고려하여 높은 품질의 이미지(image)들을 생성할 수 있다. 전역조명 방식을 실제로 구현하기 위한 방법들 중의 하나인 경로 추적(path tracing)은 카메라의 위치에서 디스플레이에 포함되는 모든 픽셀들로 향하는 빛들을 생성하고 3D 장면의 물체들과 충돌하였을 경우의 임의의 한 방향으로 반사되는 것을 가정한다. 한 방향으로의 반사만을 가정하였으므로 잡음(noise)이 존재하는 이미지가 생성되지만 시간의 흐름에 따라 렌더링 결과는 더욱 정확해진다. 경로 추적은 각각의 인터벌 별로 사용량의 변화가 심하다는 특징이 존재하기 때문에 미래의 워크로드를 정확하게 예측하는 것이 적절한 동작 주파수 설정에 있어 중요한 이슈가 된다.The global illumination rendering method contrasts with the local illumination rendering method. In the case of rendering the screen, in addition to the light coming directly from the light source to the camera, Thereby producing high quality images. Path tracing, one of the ways to actually implement global illumination schemes, generates light directed to all the pixels included in the display at the location of the camera, Direction. Since only one direction of reflection is assumed, an image with noise exists, but the rendering result becomes more accurate as time passes. Since path tracing is characterized by a large amount of usage change for each interval, accurately predicting future workloads is an important issue in setting an appropriate operating frequency.

도 2에는 연속하는 세 개의 프레임(231, 232, 233)에 대한 프로세서 및 메모리 각각의 사용율 변화가 나타난다. 도 2에서 도시된 것과 같이, 경로 추적에서 각각의 프레임들은 렌더링 패턴 및 사용율 변화가 유사하게 진행되는 경향을 가지고 있다. 구체적으로, 경로 추적의 경우에 시점의 변화가 없다면 레이 생성(ray generation), BVH(Bounding Volume Hierarchies) 순회(traversal), 교차 테스트(intersection test) 및 컬러 쉐이딩(color shading)과 같은 동일한 프로세스들이 반복되기 때문에 유사한 사용율 변화를 나타낸다.In FIG. 2, a change in utilization rate of each of the processor and the memory for three consecutive frames 231, 232, and 233 is shown. As shown in FIG. 2, in the path tracing, each frame has a tendency that a change in the rendering pattern and the utilization rate proceeds in a similar manner. Specifically, in the case of path tracing, the same processes such as ray generation, Bounding Volume Hierarchies (BVH) traversal, intersection test, and color shading are repeated And thus shows a similar rate of change in utilization.

본 실시예에 따른 모바일 디바이스는 이전 프레임에 대응하는 제1 인터벌(241)의 동작 주파수 및 사용율을 이용하여 현재 프레임에 대응하는 제2 인터벌(242)의 워크로드를 계산할 수 있다. 이하에서는 추가적인 도면과 함께 모바일 디바이스가 각각의 인터벌에 상응하는 워크로드를 계산하는 과정을 보다 상세하게 설명한다.The mobile device according to the present embodiment can calculate the workload of the second interval 242 corresponding to the current frame using the operation frequency and the usage rate of the first interval 241 corresponding to the previous frame. Hereinafter, the process of calculating the workload corresponding to each interval by the mobile device in conjunction with the additional drawings will be described in more detail.

도 3은 각각의 인터벌에 상응하는 워크로드를 계산하는 과정을 설명하는 예시도이다. 도 3을 참조하면, 각각의 인터벌에 상응하는 적절한 크기의 동작 주파수를 설정하기 위해, 모바일 디바이스가 이전 프레임의 동작 주파수 및 사용율을 이용하여 현재 프레임의 워크로드를 계산하는 과정이 도시된다. 구체적으로, 모바일 디바이스는 아래의 수학식 2와 같이, 제i 번째 프레임의 제j 인터벌 구간의 워크로드 Wi j를 계산할 수 있다.3 is an exemplary diagram illustrating a process of calculating a workload corresponding to each interval. Referring to FIG. 3, a process is shown in which a mobile device calculates the workload of a current frame using the operating frequency and utilization rate of a previous frame, in order to set an appropriate size of operating frequency corresponding to each interval. Specifically, the mobile device can calculate the workload W i j of the j-th interval of the i-th frame, as shown in Equation (2) below.

Figure pat00002
Figure pat00002

상기 수학식 2에서, fi -1 j는 제i-1 번째 프레임의 제j 인터벌 구간의 동작 주파수를 나타내고, Ui -1 j는 제i-1 번째 프레임의 제j 인터벌 구간의 사용율을 나타낸다.In Equation (2), f i -1 j represents the operating frequency of the j-th interval interval of the (i-1) th frame, and U i -1 j represents the occupancy rate of the j-th interval of the .

본 실시예에 따른 모바일 디바이스는 이전 프레임의 사용량뿐만 아니고 동작 주파수까지를 함께 고려하여 미래의 워크로드를 정의한다. 예를 들어, 100%의 사용율로서 프로세서가 동작하는 인터벌들이 존재하더라도 각 인터벌 별로 서로 다른 동작 주파수로서 동작할 수 있기 때문에, 사용율만으로는 정확하게 태스크 크기를 예측하기 어렵다. 그에 따라, 모바일 디바이스는 사용율과 함께 동작 주파수를 이용하여 워크로드를 정의하여 현재 프레임의 동작 주파수를 보다 정확하게 예측할 수 있다.The mobile device according to the present embodiment defines a future workload by considering not only the usage amount of the previous frame but also the operation frequency. For example, even though there are intervals at which the processor operates at a utilization rate of 100%, it is difficult to accurately estimate the task size only by the usage rate because each interval can operate as a different operating frequency. Accordingly, the mobile device can estimate the operation frequency of the current frame more accurately by defining the workload using the operation frequency together with the utilization rate.

도 3을 참조하면, 연속적으로 구현되는 제1 프레임(310) 및 제2 프레임(320)에서의 프로세서의 동작 주파수(Hz)를 나타내는 그래프가 도시된다. 상기 그래프의 X 축은 시간(sec)을 나타내고, Y 축은 프로세서의 동작 주파수(Hz)를 나타낸다. 본 실시예의 모바일 디바이스는 제2 프레임(320) 내의 첫 번째 인터벌 T2 1의 워크로드를 예측하기 위해 제1 프레임(310) 내 동일한 순서의 첫 번째 인터벌 T1 1의 사용율 및 동작 주파수를 이용할 수 있다.Referring to FIG. 3, there is shown a graph illustrating the operating frequency (Hz) of the processor in successively implemented first and second frames 310 and 320. The X-axis of the graph represents time (sec), and the Y-axis represents the operating frequency (Hz) of the processor. The mobile device of this embodiment may use the utilization rate and the operating frequency of the first interval T 1 1 of the same order in the first frame 310 to predict the workload of the first interval T 2 1 in the second frame 320 have.

그러나 제1 프레임(310) 내의 첫 번째 인터벌 T1 1의 전체 시간 구간 동안 프로세서의 사용율이 100%인 경우가 있을 수 있다. 이 경우에, 프로세서는 첫 번째 인터벌 T1 1 내에서 주어진 태스크 전체를 완료하지 못하고 다음 인터벌 T1 2까지 해당 태스크를 지속적으로 수행하게 될 것이다.However, there may be a case where the utilization rate of the processor is 100% during the entire time interval of the first interval T 1 1 in the first frame 310. In this case, the processor will not be able to complete the entire task within the first interval T 1 1 and will continue to perform the task until the next interval T 1 2 .

그에 따라, 본 실시예에 따른 모바일 디바이스는 첫 번째 인터벌 T1 1 이후의 인터벌들 중 사용율이 100% 미만이 되는 시점까지의 워크로드를 더한 값으로 제2 프레임(320) 내의 첫 번째 인터벌 T2 1의 워크로드를 예측할 수 있다. 구체적으로, 모바일 디바이스는 이전 프레임의 동일한 인터벌 내의 사용율이 100%인 경우, 아래 수학식 3과 같이 워크로드를 계산할 수 있다.Accordingly, the mobile device according to the present embodiment calculates the first interval T 2 (T 2 ) in the second frame 320 as a value obtained by adding the workload up to the point when the usage rate becomes less than 100% of the intervals after the first interval T 1 1 1 workload can be predicted. Specifically, if the utilization rate in the same interval of the previous frame is 100%, the mobile device can calculate the workload as shown in Equation (3) below.

Figure pat00003
Figure pat00003

상기 수학식 3에서, Wi j는 제i 번째 프레임의 제j 인터벌 구간의 워크로드를 나타낸다. 이전 제i-1 번째 프레임의 제j 인터벌 구간의 사용율 Ui -1 j이 100%인 경우에, 모바일 디바이스는 사용율이 100% 미만이 되는 시간 구간까지의 동작 주파수 및 사용율 각각의 곱을 더해나가는 방식으로 제i 번째 프레임의 제j 인터벌 구간의 워크로드 Wi j를 계산할 수 있다.In Equation (3), W i j represents the workload of the j-th interval interval of the i-th frame. When the usage rate U i -1 j of the j-th interval interval of the (i-1) -th frame is 100%, the mobile device adds a product of the operating frequency and the usage rate up to the time interval in which the usage rate is less than 100% The workload W i j of the j-th interval of the i-th frame can be calculated.

도 3의 실시예에서, 모바일 디바이스는 워크로드 W1 1 및 W1 2를 이용하여 제2 프레임(320) 내의 동작 주파수를 설정할 수 있다. 보다 구체적으로, 워크로드 W1 1 및 W1 2는 제1 프레임(310) 중 사용율이 100% 미만이 되는 시간 구간(330)에 상응하는 워크로드들의 합을 나타낼 수 있다.In the embodiment of Figure 3, a mobile device by using the work load W 1 1 W 1 and 2 it may set the operating frequency in the second frame 320. More specifically, the workloads W 1 1 and W 1 2 may represent the sum of the workloads corresponding to the time period 330 in which the usage rate of the first frame 310 is less than 100%.

도 4는 일실시예에 따른 모바일 디바이스를 도시하는 블록도이다. 도 4를 참조하면, 모바일 디바이스(400)는 계산부(410) 및 주파수 설정부(420)를 포함할 수 있다. 모바일 디바이스(400)는 적어도 하나의 프로세서를 포함할 수 있으며, 상기 적어도 하나의 프로세서는 GPU로 구현될 수 있다. 계산부(410) 및 주파수 설정부(420) 각각은 상기 적어도 하나의 프로세서에 의해 적어도 일시적으로 구현될 수 있다.4 is a block diagram illustrating a mobile device in accordance with one embodiment. Referring to FIG. 4, the mobile device 400 may include a calculation unit 410 and a frequency setting unit 420. The mobile device 400 may include at least one processor, and the at least one processor may be implemented as a GPU. Each of the calculation unit 410 and the frequency setting unit 420 may be implemented at least temporarily by the at least one processor.

계산부(410)는 이전 프레임에 대응하는 제1 인터벌의 동작 주파수 및 사용율을 이용하여 현재 프레임에 대응하는 제2 인터벌의 워크로드를 계산할 수 있다. 상기 제1 인터벌은 상기 제2 인터벌이 상기 현재 프레임에 포함되는 시간 구간과 상기 제1 인터벌이 상기 이전 프레임에 포함되는 시간 구간이 동일하도록 선택될 수 있다.The calculation unit 410 may calculate the workload of the second interval corresponding to the current frame using the operation frequency and the utilization rate of the first interval corresponding to the previous frame. The first interval may be selected so that the time interval in which the second interval is included in the current frame and the time interval in which the first interval is included in the previous frame are the same.

또한, 계산부(410)는 상기 제1 인터벌의 사용율이 100%인 경우에, 상기 계산부는 상기 이전 프레임 내에서 상기 제1 인터벌 이후 사용율이 100%보다 작아지는 시간 구간까지 각각의 동작 주파수와 사용율을 곱할 수 있다. 계산부(410)는 각각의 동작 주파수와 사용율을 곱한 값들의 합을 상기 제2 인터벌의 워크로드로 계산할 수 있다. 주파수 설정부(420)는 상기 제2 인터벌의 워크로드와 미리 설정된 임계치를 이용하여 상기 제2 인터벌 동안의 동작 주파수를 설정할 수 있다.In addition, when the usage rate of the first interval is 100%, the calculation unit 410 may calculate the operation frequency and the usage rate of the first interval from the first interval to the time interval during which the usage rate becomes less than 100% ≪ / RTI > The calculation unit 410 may calculate the sum of the values obtained by multiplying the respective operating frequencies and utilization rates by the workload of the second interval. The frequency setting unit 420 may set the operation frequency for the second interval using the workload of the second interval and a preset threshold value.

또 다른 일실시예에 따르면, 계산부(410)는 그래픽 어플리케이션에 대한 상기 프로세서의 처리 기여율을 계산할 수 있다. 계산부(410)는 상기 처리 기여율, 이전 프레임에 대응하는 제1 인터벌의 동작 주파수 및 사용율을 이용하여 현재 프레임에 대응하는 제2 인터벌의 워크로드를 계산할 수 있다. 계산부(410)에 의해 그래픽 어플리케이션에 대한 프로세서 및 메모리 각각의 처리 기여율이 계산되는 과정은 이하의 추가적인 도면과 함께 보다 자세히 설명될 것이다.According to another embodiment, the calculation unit 410 may calculate the processing contribution rate of the processor to the graphics application. The calculation unit 410 may calculate the workload of the second interval corresponding to the current frame using the processing contribution rate, the operation frequency of the first interval corresponding to the previous frame, and the utilization rate. The process of calculating the processing contribution rate of each of the processor and the memory for the graphics application by the calculation unit 410 will be described in detail with the following additional drawings.

도 5a는 일실시예에 따라 동작 주파수를 설정하는 과정을 설명하는 흐름도이다. 도 5a를 참조하면, 모바일 디바이스가 동작 주파수를 설정하는 과정이 도시된다. 단계(510)에서 모바일 디바이스는 구현하고자 하는 현재 프레임이 프로세서에 의해 구현되는 첫 번째 프레임인지 여부를 확인할 수 있다. 현재 프레임이 상기 프로세서에 의해 구현되는 첫 번째 프레임인 경우, 단계(511)가 수행될 수 있다. 단계(511)에서 모바일 디바이스는 인터벌 기반의 DVFS 알고리즘을 적용하여 동작 주파수를 설정할 수 있다. 보다 구체적으로, 모바일 디바이스에 포함되는 계산부는 상기 현재 프레임에 포함되는 제2 인터벌 바로 이전의 동작 주파수 및 사용율을 이용하여 상기 제2 인터벌의 워크로드를 계산할 수 있다. 주파수 설정부는 계산된 워크로드에 기반하여 상기 제2 인터벌 동안의 동작 주파수를 설정할 수 있다.5A is a flowchart illustrating a process of setting an operation frequency according to an embodiment. Referring to FIG. 5A, the process of setting the operating frequency of the mobile device is shown. In step 510, the mobile device can determine whether the current frame to be implemented is the first frame implemented by the processor. If the current frame is the first frame implemented by the processor, step 511 may be performed. In step 511, the mobile device may apply an interval based DVFS algorithm to set the operating frequency. More specifically, the calculation unit included in the mobile device can calculate the workload of the second interval using the operation frequency and the usage rate immediately before the second interval included in the current frame. The frequency setting unit may set an operation frequency for the second interval based on the calculated workload.

현재 프레임이 상기 프로세서에 의해 구현되는 첫 번째 프레임이 아닌 경우, 단계(520)가 수행될 수 있다. 단계(520)에서 모바일 디바이스는 구현하고자 하는 현재 프레임이 프로세서에 의해 구현되는 두 번째 프레임인지 여부를 확인할 수 있다. 현재 프레임이 상기 프로세서에 의해 구현되는 두 번째 프레임인 경우, 단계(521)가 수행될 수 있다. 단계(521)에서 모바일 디바이스의 주파수 설정부는 이전 프레임 내 동일한 인터벌의 동작 주파수를 미리 지정된 크기만큼 증가시키거나 감소시키는 방식으로 동작 주파수를 설정할 수 있다.If the current frame is not the first frame implemented by the processor, step 520 may be performed. In step 520, the mobile device may determine whether the current frame to be implemented is a second frame implemented by the processor. If the current frame is the second frame implemented by the processor, step 521 may be performed. In step 521, the frequency setting unit of the mobile device may set the operating frequency in such a manner as to increase or decrease the operating frequency of the same interval in the previous frame by a predetermined amount.

단계(520)에서 현재 프레임이 상기 프로세서에 의해 구현되는 세 번째 프레임 또는 세 번째 이후의 프레임인 것으로 확인 된 경우, 모바일 디바이스의 주파수 설정부는 프레임 기반의 DVFS 알고리즘을 적용하여 동작 주파수를 설정할 수 있다. 이하에 추가될 도 5b와 함께, 프레임 기반의 DVFS 알고리즘이 보다 자세히 설명된다.If it is determined in step 520 that the current frame is the third or later frame implemented by the processor, the frequency setting unit of the mobile device may set the operating frequency by applying a frame-based DVFS algorithm. Along with FIG. 5b, which will be added below, the frame-based DVFS algorithm is described in more detail.

도 5b는 도 5a에서 설명된 프레임 기반의 DVFS 알고리즘을 구체적으로 설명하는 흐름도이다. 도 5b를 참조하면, 모바일 디바이스는 세 번째 프레임 또는 세 번째 이후의 프레임에 대해 이하의 단계들(531, 532)을 수행하며 동작 주파수를 설정할 수 있다.FIG. 5B is a flowchart illustrating the frame-based DVFS algorithm described in FIG. 5A in detail. Referring to FIG. 5B, the mobile device may perform the following steps 531 and 532 for the third frame or the third and subsequent frames, and may set the operating frequency.

단계(531)에서 모바일 디바이스는 이전 프레임에 대응하는 제1 인터벌의 동작 주파수 및 사용율을 이용하여 현재 프레임에 대응하는 제2 인터벌의 워크로드를 계산할 수 있다. 모바일 디바이스가 상기 제2 인터벌의 워크로드를 계산하는 과정에 대해서는 도 3의 설명이 그대로 적용될 수 있어 중복되는 설명은 생략하기로 한다.In step 531, the mobile device may calculate the workload of the second interval corresponding to the current frame using the operating frequency and duty cycle of the first interval corresponding to the previous frame. The process of calculating the workload of the second interval by the mobile device can be applied as it is in the description of FIG. 3, so that redundant description will be omitted.

또한, 단계(532)에서 모바일 디바이스는 제2 인터벌의 워크로드와 미리 설정된 임계치를 이용하여 제2 인터벌 동안의 동작 주파수를 설정할 수 있다. 보다 구체적으로, 주파수 설정부는 상기 미리 설정된 임계치와 상기 모바일 디바이스가 제공하는 동작 주파수들 중 하나를 곱한 값과 상기 제2 인터벌의 워크로드를 비교하여 상기 제2 인터벌 동안의 동작 주파수를 설정할 수 있다. 상기 미리 설정된 임계치는 운영자에 의해 지정된 임계 사용율(%)을 나타낼 수 있다. 상기 미리 설정된 임계치가 크게 설정되면 동작 주파수의 가파른 증가를 방지하게 되어 에너지 효율은 높이지만 그래픽 처리 성능이 떨어질 수 있다. 또한, 상기 미리 설정된 임계치가 작게 설정되면 동작 주파수가 빠르게 증가될 수 있어 그래픽 처리 성능을 높일 수 있지만 에너지 효율이 떨어지는 한계가 존재한다. 미리 설정된 임계치는 그래픽 어플리케이션에서 요구하는 성능, 모바일 디바이스의 스펙, 성능과 에너지 효율성의 중요도 등을 고려하여 운영자에 의해 설정되는 값을 나타낸다.Also, at step 532, the mobile device may set the operating frequency for the second interval using the workload of the second interval and a predetermined threshold. More specifically, the frequency setting unit may set the operation frequency for the second interval by comparing the work value of the second interval with a value obtained by multiplying the preset threshold value and one of the operation frequencies provided by the mobile device. The predetermined threshold may represent the threshold utilization percentage (%) designated by the operator. If the preset threshold value is set to be large, a sharp increase in the operating frequency is prevented, and the energy efficiency is high, but the graphics processing performance may be deteriorated. In addition, if the preset threshold value is set to be small, the operating frequency can be rapidly increased to improve the graphic processing performance, but there is a limit to the energy efficiency. The predetermined threshold represents a value set by the operator in consideration of the performance required in the graphic application, the specification of the mobile device, the importance of performance and energy efficiency, and the like.

일실시예로서, 상기 미리 설정된 임계치와 상기 모바일 디바이스가 제공하는 최대 동작 주파수를 곱한 값보다 상기 제2 인터벌의 워크로드가 크거나 같은 경우에, 모바일 디바이스의 주파수 설정부는 상기 제2 인터벌 동안의 동작 주파수를 상기 최대 동작 주파수로 설정할 수 있다.In one embodiment, if the workload of the second interval is greater than or equal to the value obtained by multiplying the preset threshold value by the maximum operating frequency provided by the mobile device, the frequency setting unit of the mobile device may set the frequency of the operation during the second interval The frequency can be set to the maximum operating frequency.

다른 일실시예로서, 상기 미리 설정된 임계치와 상기 모바일 디바이스가 제공하는 최소 동작 주파수를 곱한 값보다 상기 제2 인터벌의 워크로드가 작거나 같은 경우에, 모바일 디바이스의 주파수 설정부는 상기 제2 인터벌 동안의 동작 주파수를 상기 최소 동작 주파수로 설정할 수 있다.In another embodiment, when the workload of the second interval is smaller than or equal to the value obtained by multiplying the preset threshold value by the minimum operating frequency provided by the mobile device, the frequency setting unit of the mobile device may set The operating frequency can be set to the minimum operating frequency.

또 다른 일실시예로서, 모바일 디바이스는 상기 미리 지정된 임계치와 상기 모바일 디바이스가 제공하는 동작 주파수들 각각을 곱할 수 있다. 또한, 모바일 디바이스는 상기 미리 지정된 임계치와 상기 모바일 디바이스가 제공하는 동작 주파수들 각각을 곱한 값들 중 상기 제2 인터벌의 워크로드보다 크거나 같은 값에 대응하는 동작 주파수를 선택할 수 있다. 상기 모바일 디바이스의 주파수 설정부는 지정된 조건에 상응하는 동작 주파수들 중 가장 작은 동작 주파수를 제2 인터벌 동안의 동작 주파수로 설정할 수 있다. 도 5a 및 도 5b에서 설명된 동작 주파수 설정 과정에 대한 의사 코드(pseudo code)는 아래의 표 1과 같이 정리될 수 있다.In yet another embodiment, the mobile device may multiply each of the operating frequencies provided by the mobile device with the predetermined threshold. The mobile device may also select an operating frequency corresponding to a value that is greater than or equal to a workload of the second interval among the values of the predetermined threshold and each of the operating frequencies provided by the mobile device. The frequency setting unit of the mobile device may set the smallest operating frequency among the operating frequencies corresponding to the specified condition as the operating frequency for the second interval. The pseudo code for the operation frequency setting process described in FIGS. 5A and 5B can be summarized as shown in Table 1 below.

Figure pat00004
Figure pat00004

도 6은 다른 일실시예에 따라 동작 주파수를 설정하는 과정을 설명하는 흐름도이다. 도 6을 참조하면, 다른 일실시예에 따라 모바일 디바이스가 동작 주파수를 계산하는 과정이 도시된다. 모바일 디바이스는 복수의 단계들(610, 620, 630)을 수행하여 동작 주파수를 설정할 수 있다.6 is a flowchart illustrating a process of setting an operation frequency according to another embodiment. Referring to FIG. 6, the process of calculating the operating frequency by the mobile device according to another embodiment is shown. The mobile device may perform a plurality of steps 610, 620, 630 to set the operating frequency.

단계(610)에서 모바일 디바이스는 실행 중인 그래픽 어플리케이션에 대한 프로세서의 처리 기여율을 계산할 수 있다. 구체적으로, 모바일 디바이스의 계산부는 상기 그래픽 어플리케이션에 연관되는 동일한 데이터 처리의 반복 수행 결과에 기초하여 제1 처리 시간, 제1 동작 주파수 및 메모리의 제1 동작 주파수 및 제2 처리 시간, 제2 동작 주파수 및 메모리의 제2 동작 주파수를 비교하여 상기 프로세서의 처리 기여율을 계산할 수 있다.In step 610, the mobile device may calculate the processor contribution percentage of the processor to the running graphics application. Specifically, the calculation unit of the mobile device calculates a first processing time, a first operating frequency and a first operating frequency and a second processing time of the memory, a second operating frequency And a second operating frequency of the memory to calculate a processing contribution rate of the processor.

경로 추적 과정 내에는 메모리 접근이 필요한 일련의 태스크들이 존재한다. 이 경우에, 프로세서에 높은 동작 주파수가 설정된다 하더라도 메모리로부터의 로딩 또는 저장이 완료되는 시간을 기다리게 되면 에너지를 낭비하는 결과를 초래할 수 있다. 프로세서의 작업 시간을 효율적으로 계산하기 위해서는 메모리 접근에 의한 지연 시간을 제거할 필요가 존재한다. 본 실시예의 모바일 디바이스는 그래픽 어플리케이션에 관한 전체 인스트럭션 중 메모리에 연관되는 인스트럭션의 비율을 계산할 수 있다.There are a series of tasks that require memory access within the path tracing process. In this case, even if a high operating frequency is set for the processor, waiting for a time to complete loading or storing from the memory may result in wasting energy. There is a need to eliminate latency due to memory accesses in order to efficiently calculate the work time of the processor. The mobile device of the present embodiment may calculate the percentage of instructions associated with the memory among the total instructions for the graphics application.

구체적으로, 모바일 디바이스는 서로 다른 인터벌 내에서 그래픽 어플리케이션에 연관되는 동일한 데이터 처리를 반복 수행할 수 있다. 모바일 디바이스는 동일한 태스크를 제1 처리 시간, 제1 동작 주파수 및 메모리의 제1 동작 주파수에 기반하여 한 번 수행하고, 이어서 제2 처리 시간, 제2 동작 주파수 및 메모리의 제2 동작 주파수에 기반하여 반복 수행할 수 있다. 또한, 모바일 디바이스는 두 번의 수행 결과를 상호 비교하여 프로세서 및 메모리 각각의 처리 기여율 R을 계산할 수 있다. 보다 구체적으로, 모바일 디바이스는 아래의 수학식 4와 같이 두 번의 수행 결과를 비교할 수 있다.Specifically, the mobile device can repeat the same data processing associated with the graphics application within different intervals. The mobile device performs the same task once based on the first processing time, the first operating frequency, and the first operating frequency of the memory, and then based on the second processing time, the second operating frequency, and the second operating frequency of the memory Repeat can be done. In addition, the mobile device can compute the processing contribution rate R of each of the processor and the memory by comparing the results of two runs. More specifically, the mobile device can compare the results of two runs as shown in Equation (4) below.

Figure pat00005
Figure pat00005

상기 수학식 4에서, T1은 첫 번째 인터벌 구간의 제1 처리 시간을 나타내고, fg 1 및 fm 1은 첫 번째 인터벌 구간에 상응하는 GPU의 제1 동작 주파수 및 메모리의 제1 동작 주파수를 나타낸다. 마찬가지로, T2는 두 번째 인터벌 구간의 제2 처리 시간을 나타내고, fg 2 및 fm 2은 두 번째 인터벌 구간에 상응하는 GPU의 제2 동작 주파수 및 메모리의 제2 동작 주파수를 나타낸다. R은 그래픽 어플리케이션에 관한 프로세서의 처리 기여율을 나타낸다. 상기 수학식 4에서

Figure pat00006
는 GPU 인스트럭션에 의한 처리 시간을 나타내고,
Figure pat00007
는 메모리 지연 시간을 나타낸다.In Equation (4), T 1 represents the first processing time of the first interval, f g 1 and f m 1 are the first operating frequency of the GPU corresponding to the first interval and the first operating frequency of the memory . Similarly, T 2 represents the second processing time of the second interval interval, and f g 2 and f m 2 represent the second operating frequency of the GPU and the second operating frequency of the memory corresponding to the second interval interval. R represents the processing contribution rate of the processor with respect to the graphics application. In Equation (4)
Figure pat00006
Represents the processing time by the GPU instruction,
Figure pat00007
Represents the memory delay time.

모바일 디바이스는 상기 수학식 4를 이용하여 정리된 아래의 수학식 5에 기반하여 프로세서의 처리 기여율 R 값을 계산할 수 있다.The mobile device may calculate the processing contribution rate R value of the processor based on Equation (5) summarized below using Equation (4).

Figure pat00008
Figure pat00008

단계(620)에서 모바일 디바이스는 처리 기여율, 이전 프레임에 대응하는 제1 인터벌의 동작 주파수 및 사용율을 이용하여 현재 프레임에 대응하는 제2 인터벌의 워크로드를 계산할 수 있다. 구체적으로, 모바일 디바이스는 처리 기여율 R 값과 함께 이전 프레임에 대응하는 제1 인터벌의 동작 주파수 및 사용율을 곱하여 현재 프레임에 대응하는 제2 인터벌의 워크로드를 계산할 수 있다. 또한, 단계(630)에서 모바일 디바이스는 제2 인터벌의 워크로드와 미리 설정된 임계치를 이용하여 제2 인터벌 동안의 동작 주파수를 설정할 수 있다. 도 6에서 설명된 동작 주파수 설정 과정에 대한 의사 코드(pseudo code)는 아래의 표 2와 같이 정리될 수 있다.In step 620, the mobile device may calculate the workload of the second interval corresponding to the current frame using the processing contribution rate, the operating frequency of the first interval corresponding to the previous frame, and the utilization rate. Specifically, the mobile device may calculate the workload of the second interval corresponding to the current frame by multiplying the processing frequency and utilization factor of the first interval corresponding to the previous frame with the processing contribution rate R value. In addition, in step 630, the mobile device may set the operating frequency for the second interval using the workload of the second interval and a preset threshold. The pseudo code for the operation frequency setting process described in FIG. 6 can be summarized as shown in Table 2 below.

Figure pat00009
Figure pat00009

본 실시예의 모바일 디바이스는 그래픽 어플리케이션에 대한 프로세서의 처리 기여율을 고려하여 워크로드를 계산할 수 있다. 이에 따라, 메모리 지연에 의해 에너지가 낭비되는 것을 방지하고 보다 효율적으로 동작 주파수를 설정하는 효과가 존재한다.The mobile device of this embodiment can calculate the workload considering the processing contribution rate of the processor to the graphics application. Thus, there is an effect of preventing the energy from being wasted by the memory delay and setting the operation frequency more efficiently.

위와 같이 설명된 동작 주파수 설정 방법은 프로그램을 수록한 컴퓨터 판독 가능한 기록 매체 형태로 구현될 수 있을 것이다. 이를테면, 상기 프로그램은 실행 중인 그래픽 어플리케이션에 대한 상기 프로세서의 처리 기여율을 계산하는 명령어 세트, 이전 프레임에 대응하는 제1 인터벌의 동작 주파수 및 사용율을 이용하여 현재 프레임에 대응하는 제2 인터벌의 워크로드를 계산하는 명령어 세트, 상기 제2 인터벌의 워크로드와 미리 설정된 임계치를 이용하여 상기 제2 인터벌 동안의 동작 주파수를 설정하는 명령어 세트 및 상기 제2 인터벌이 상기 현재 프레임에 포함되는 시간 구간과 상기 제1 인터벌이 상기 이전 프레임에 포함되는 시간 구간이 동일하도록 상기 제1 인터벌을 선택하는 명령어 세트를 포함할 수 있다.The operating frequency setting method described above may be implemented in the form of a computer-readable recording medium containing a program. For example, the program may include a set of instructions to calculate a processing contribution rate of the processor for a running graphics application, a workload of a second interval corresponding to a current frame using an operating frequency and utilization rate of a first interval corresponding to a previous frame A set of instructions to set an operating frequency for the second interval using a workload of the second interval and a preset threshold and a set of instructions to set the operating frequency for the first interval and the first interval, And to select the first interval such that an interval is equal to a time interval included in the previous frame.

또한, 본 실시예에서 설명된 동작 주파수 설정 방법은 메모리에도 적용 가능할 것이다. 다만, 메모리의 경우에는 처리 기여율을 고려하지 않고 동작 주파수 설정에 대한 일련의 과정을 그대로 적용할 수 있다. 구체적으로, 메모리에 대한 동작 주파수 설정 과정의 의사 코드(pseudo code)는 아래의 표 3과 같이 정리될 수 있다.Also, the operating frequency setting method described in this embodiment may be applied to a memory. However, in the case of memory, a series of processes for setting the operating frequency can be directly applied without considering the processing contribution rate. Specifically, the pseudo code of the operation frequency setting process for the memory can be summarized as shown in Table 3 below.

Figure pat00010
Figure pat00010

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented in hardware components, software components, and / or a combination of hardware components and software components. For example, the devices, methods, and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, such as an array, a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. Program instructions to be recorded on a computer-readable medium may be those specially designed and constructed for an embodiment or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described with reference to the drawings, various technical modifications and variations may be applied to those skilled in the art. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

Claims (14)

프로세서를 포함하고, 상기 프로세서에 의해 적어도 일시적으로 구현되는:
이전 프레임에 대응하는 제1 인터벌(interval)의 동작 주파수 및 사용율(utilization)을 이용하여 현재 프레임에 대응하는 제2 인터벌의 워크로드(work load)를 계산하는 계산부; 및
상기 제2 인터벌의 워크로드와 미리 설정된 임계치를 이용하여 상기 제2 인터벌 동안의 동작 주파수를 설정하는 주파수 설정부
를 포함하고,
상기 제1 인터벌은,
상기 제2 인터벌이 상기 현재 프레임에 포함되는 시간 구간과 상기 제1 인터벌이 상기 이전 프레임에 포함되는 시간 구간이 동일하도록 선택되는 모바일 디바이스.
A processor comprising: at least temporarily implemented by the processor:
A calculation unit for calculating a work load of a second interval corresponding to a current frame using an operation frequency and utilization of a first interval corresponding to a previous frame; And
A frequency setting unit for setting an operation frequency for the second interval using a workload of the second interval and a preset threshold value,
Lt; / RTI >
Wherein the first interval comprises:
Wherein the time interval in which the second interval is included in the current frame and the time interval in which the first interval is included in the previous frame are the same.
제1항에 있어서,
상기 현재 프레임이 상기 프로세서에 의해 구현되는 첫 번째 프레임인 경우, 상기 계산부는 상기 현재 프레임에 포함되는 제2 인터벌 바로 이전의 동작 주파수 및 사용율을 이용하여 상기 제2 인터벌의 워크로드를 계산하는 모바일 디바이스.
The method according to claim 1,
Wherein if the current frame is a first frame implemented by the processor, the calculation unit calculates the workload of the mobile station using the operating frequency and the utilization rate immediately before the second interval included in the current frame, .
제1항에 있어서,
상기 현재 프레임이 상기 프로세서에 의해 구현되는 두 번째 프레임인 경우, 상기 주파수 설정부는 상기 제1 인터벌의 동작 주파수를 미리 지정된 크기만큼 증가시키거나 또는 감소시켜 상기 제2 인터벌 동안의 동작 주파수를 설정하는 모바일 디바이스.
The method according to claim 1,
Wherein the frequency setting unit sets the operating frequency for the second interval by increasing or decreasing the operating frequency of the first interval by a predetermined size when the current frame is the second frame implemented by the processor, device.
제1항에 있어서,
상기 현재 프레임이 상기 프로세서에 의해 구현되는 세 번째 프레임 또는 세 번째 이후의 프레임인 경우, 상기 주파수 설정부는 상기 미리 설정된 임계치와 상기 모바일 디바이스가 제공하는 동작 주파수들 중 하나를 곱한 값과 상기 제2 인터벌의 워크로드를 비교하여 상기 제2 인터벌 동안의 동작 주파수를 설정하는 모바일 디바이스.
The method according to claim 1,
When the current frame is a third frame or a third or later frame implemented by the processor, the frequency setting unit may multiply a value obtained by multiplying the preset threshold by one of operating frequencies provided by the mobile device, And sets the operating frequency during the second interval.
제4항에 있어서,
상기 주파수 설정부는 상기 미리 설정된 임계치와 상기 모바일 디바이스가 제공하는 최대 동작 주파수를 곱한 값보다 상기 제2 인터벌의 워크로드가 크거나 같은 경우에 상기 제2 인터벌 동안의 동작 주파수를 상기 최대 동작 주파수로 설정하는 모바일 디바이스.
5. The method of claim 4,
Wherein the frequency setting unit sets the operating frequency for the second interval to the maximum operating frequency when the workload of the second interval is equal to or greater than a value obtained by multiplying the preset threshold by the maximum operating frequency provided by the mobile device Mobile devices.
제4항에 있어서,
상기 주파수 설정부는 상기 미리 설정된 임계치와 상기 모바일 디바이스가 제공하는 최소 동작 주파수를 곱한 값보다 상기 제2 인터벌의 워크로드가 작거나 같은 경우에 상기 제2 인터벌 동안의 동작 주파수를 상기 최소 동작 주파수로 설정하는 모바일 디바이스.
5. The method of claim 4,
Wherein the frequency setting unit sets the operating frequency for the second interval to the minimum operating frequency when the workload of the second interval is smaller than or equal to a value obtained by multiplying the preset threshold by the minimum operating frequency provided by the mobile device Mobile devices.
제4항에 있어서,
상기 주파수 설정부는 상기 제2 인터벌 동안의 동작 주파수를 지정된 조건에 상응하는 동작 주파수들 중 가장 작은 동작 주파수로 설정하고,
상기 지정된 조건은 상기 미리 지정된 임계치와 상기 모바일 디바이스가 제공하는 동작 주파수들 각각을 곱한 값들 중 상기 제2 인터벌의 워크로드보다 크거나 같은 값에 대응하는 동작 주파수를 선택하는 조건을 나타내는 모바일 디바이스.
5. The method of claim 4,
The frequency setting unit sets the operating frequency for the second interval to the smallest operating frequency among the operating frequencies corresponding to the specified condition,
Wherein the designated condition indicates a condition for selecting an operating frequency corresponding to a value greater than or equal to a workload of the second interval among values obtained by multiplying the predetermined threshold and each of the operating frequencies provided by the mobile device.
제1항에 있어서,
상기 제1 인터벌의 사용율이 100%인 경우에, 상기 계산부는 상기 이전 프레임 내에서 상기 제1 인터벌 이후 사용율이 100%보다 작아지는 시간 구간까지 각각의 동작 주파수와 사용율을 곱한 값의 합을 상기 제2 인터벌의 워크로드로 계산하는 모바일 디바이스.
The method according to claim 1,
When the usage rate of the first interval is 100%, the calculation unit calculates a sum of values obtained by multiplying the usage frequency by the respective operating frequencies up to a time interval in which the usage rate after the first interval in the previous frame becomes less than 100% A mobile device that counts as a workload of two intervals.
프로세서를 포함하고, 상기 프로세서에 의해 적어도 일시적으로 구현되는:
그래픽 어플리케이션에 대한 상기 프로세서의 처리 기여율을 계산하고, 상기 처리 기여율, 이전 프레임에 대응하는 제1 인터벌의 동작 주파수 및 사용율을 이용하여 현재 프레임에 대응하는 제2 인터벌의 워크로드를 계산하는 계산부; 및
상기 제2 인터벌의 워크로드와 미리 설정된 임계치를 이용하여 상기 제2 인터벌 동안의 동작 주파수를 설정하는 주파수 설정부
를 포함하는 모바일 디바이스.
A processor comprising: at least temporarily implemented by the processor:
A calculation unit for calculating a processing contribution rate of the processor to the graphics application and calculating a workload of a second interval corresponding to the current frame using the processing contribution rate, the operation frequency of the first interval corresponding to the previous frame, and the utilization rate; And
A frequency setting unit for setting an operation frequency for the second interval using a workload of the second interval and a preset threshold value,
≪ / RTI >
제9항에 있어서,
상기 계산부는 상기 그래픽 어플리케이션에 연관되는 동일한 데이터 처리의 반복 수행 결과에 기초하여 제1 처리 시간, 제1 동작 주파수 및 메모리의 제1 동작 주파수 및 제2 처리 시간, 제2 동작 주파수 및 메모리의 제2 동작 주파수를 비교하여 상기 프로세서의 처리 기여율을 계산하는 모바일 디바이스.
10. The method of claim 9,
Wherein the calculation unit is configured to calculate a first processing time and a second processing time based on the first processing time and the first processing time and the second processing time and the second processing time and the second processing time, And compares the operating frequency to calculate a processing contribution rate of the processor.
제9항에 있어서,
상기 제1 인터벌은,
상기 제2 인터벌이 상기 현재 프레임에 포함되는 시간 구간과 상기 제1 인터벌이 상기 이전 프레임에 포함되는 시간 구간이 동일하도록 선택되는 모바일 디바이스.
10. The method of claim 9,
Wherein the first interval comprises:
Wherein the time interval in which the second interval is included in the current frame and the time interval in which the first interval is included in the previous frame are the same.
제11항에 있어서,
상기 현재 프레임이 상기 프로세서에 의해 구현되는 세 번째 프레임 또는 세 번째 이후의 프레임인 경우, 상기 주파수 설정부는 상기 미리 설정된 임계치와 상기 모바일 디바이스가 제공하는 동작 주파수들 중 하나를 곱한 값과 상기 제2 인터벌의 워크로드를 비교하여 상기 제2 인터벌 동안의 동작 주파수를 설정하는 모바일 디바이스.
12. The method of claim 11,
When the current frame is a third frame or a third or later frame implemented by the processor, the frequency setting unit may multiply a value obtained by multiplying the preset threshold by one of operating frequencies provided by the mobile device, And sets the operating frequency during the second interval.
프로세서의 동작 주파수를 설정하는 프로그램을 수록한 컴퓨터 판독 가능한 기록 매체에 있어서, 상기 프로그램은:
실행 중인 그래픽 어플리케이션에 대한 상기 프로세서의 처리 기여율을 계산하는 명령어 세트;
이전 프레임에 대응하는 제1 인터벌의 동작 주파수 및 사용율을 이용하여 현재 프레임에 대응하는 제2 인터벌의 워크로드를 계산하는 명령어 세트; 및
상기 제2 인터벌의 워크로드와 미리 설정된 임계치를 이용하여 상기 제2 인터벌 동안의 동작 주파수를 설정하는 명령어 세트
를 포함하는 컴퓨터 판독 가능한 기록 매체.
A program for setting an operating frequency of a processor, the program comprising:
A set of instructions for computing the processing contribution rate of the processor to a running graphics application;
A set of instructions for calculating a workload of a second interval corresponding to a current frame using an operating frequency and a duty cycle of a first interval corresponding to a previous frame; And
Setting an operating frequency for the second interval using a workload of the second interval and a preset threshold,
Readable recording medium.
제13항에 있어서,
상기 프로그램은,
상기 제2 인터벌이 상기 현재 프레임에 포함되는 시간 구간과 상기 제1 인터벌이 상기 이전 프레임에 포함되는 시간 구간이 동일하도록 상기 제1 인터벌을 선택하는 명령어 세트
를 더 포함하는 컴퓨터 판독 가능한 기록 매체.
14. The method of claim 13,
The program includes:
Selecting a first interval such that a time interval in which the second interval is included in the current frame and a time interval in which the first interval is included in the previous frame are the same,
Further comprising: a computer readable medium having computer readable program code embodied thereon.
KR1020170125383A 2017-09-27 2017-09-27 Mobile devices using dynamic voltage and frequency scaling KR101983463B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170125383A KR101983463B1 (en) 2017-09-27 2017-09-27 Mobile devices using dynamic voltage and frequency scaling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170125383A KR101983463B1 (en) 2017-09-27 2017-09-27 Mobile devices using dynamic voltage and frequency scaling

Publications (2)

Publication Number Publication Date
KR20190036307A true KR20190036307A (en) 2019-04-04
KR101983463B1 KR101983463B1 (en) 2019-05-28

Family

ID=66105595

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170125383A KR101983463B1 (en) 2017-09-27 2017-09-27 Mobile devices using dynamic voltage and frequency scaling

Country Status (1)

Country Link
KR (1) KR101983463B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210026871A (en) 2019-09-02 2021-03-10 에스케이하이닉스 주식회사 Memory controller and operating method thereof
US11507310B2 (en) 2019-09-02 2022-11-22 SK Hynix Inc. Memory controller and operating method thereof
KR20210061174A (en) 2019-11-19 2021-05-27 에스케이하이닉스 주식회사 Memory controller and operating method thereof
US11501808B2 (en) 2019-09-02 2022-11-15 SK Hynix Inc. Memory controller and operating method thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008198072A (en) * 2007-02-15 2008-08-28 Mitsubishi Electric Corp Real-time computer
KR20110043193A (en) * 2009-10-21 2011-04-27 삼성전자주식회사 Appratus and method for power control of central processing unit in a multi-core system
KR20110050010A (en) * 2009-11-06 2011-05-13 삼성전자주식회사 Method of scaling voltage and frequency dynamically
KR20140030823A (en) * 2012-09-04 2014-03-12 삼성전자주식회사 Soc performing dynamic voltage and frequency scaling policies using 3d workload and method using the same
KR101655027B1 (en) * 2015-04-22 2016-09-06 한양대학교 산학협력단 Method and apparatus for determining valid work load of electronic device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008198072A (en) * 2007-02-15 2008-08-28 Mitsubishi Electric Corp Real-time computer
KR20110043193A (en) * 2009-10-21 2011-04-27 삼성전자주식회사 Appratus and method for power control of central processing unit in a multi-core system
KR20110050010A (en) * 2009-11-06 2011-05-13 삼성전자주식회사 Method of scaling voltage and frequency dynamically
KR20140030823A (en) * 2012-09-04 2014-03-12 삼성전자주식회사 Soc performing dynamic voltage and frequency scaling policies using 3d workload and method using the same
KR101655027B1 (en) * 2015-04-22 2016-09-06 한양대학교 산학협력단 Method and apparatus for determining valid work load of electronic device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
대한민국 공개특허 제10-2014-0088691호는 GPU의 작업량을 측정하고, 상기 GPU의 프레임 처리 속도와 디스플레이 장치의 프레임 레이트를 비교하고, 그 비교 결과와 상기 GPU의 작업량에 기초하여 상기 GPU의 동작 주파수를 조절하는 구성을 포함하고 있다.

Also Published As

Publication number Publication date
KR101983463B1 (en) 2019-05-28

Similar Documents

Publication Publication Date Title
KR101983463B1 (en) Mobile devices using dynamic voltage and frequency scaling
US11062673B2 (en) Closed loop CPU performance control
US10175745B2 (en) Optimizing power consumption by dynamic workload adjustment
Guérout et al. Energy-aware simulation with DVFS
EP3667498A1 (en) Amplifying scaling elasticity of microservice meshes
JP6526920B2 (en) Frame based clock rate adjustment for processing unit
US9164931B2 (en) Clamping of dynamic capacitance for graphics
US8655610B2 (en) Virtual machine placement for minimizing total energy cost in a datacenter
US10007292B2 (en) Energy aware dynamic adjustment algorithm
US9812093B2 (en) Programmable power performance optimization for graphics cores
US9218045B2 (en) Operating processor element based on maximum sustainable dynamic capacitance associated with the processor
EP3436894B1 (en) Active and stall cycle based dynamic scaling of processor frequency and bus bandwidth
US20170255240A1 (en) Energy efficient workload placement management based on observed server efficiency measurements
KR20130011491A (en) Apparatus or task assignment, method for task assignment and a computer-readable storage medium
US20170199558A1 (en) Flexible and scalable energy model for estimating energy consumption
US20190018469A1 (en) Method and apparatus for limiting rack power consumption
JP5296669B2 (en) Approximate computer system resource consumption
US10877545B2 (en) Energy management in graphics processing units
US9679398B2 (en) Rendering images using color contribution values of render elements
US11137815B2 (en) Metering GPU workload with real time feedback to maintain power consumption below a predetermined power budget
US20190129463A1 (en) Fine-grained speed binning in an accelerated processing device
KR101674324B1 (en) Task scheduling device and method for real-time control applications
WO2016195225A1 (en) Mobile device to which dvfs technique for gpgpu application is applied
KR20210016707A (en) Scheduling method and scheduling device based on performance efficiency and computer readable medium
US20210019377A1 (en) Techniques for pre-silicon testing integrated circuit designs that accommodate power-supply noise and adaptive-clock aware timing

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant