KR100838438B1 - Task management method, task management device, semiconductor integrated circuit, electronic device, task management system, and recording medium storing program - Google Patents
Task management method, task management device, semiconductor integrated circuit, electronic device, task management system, and recording medium storing program Download PDFInfo
- Publication number
- KR100838438B1 KR100838438B1 KR1020067011159A KR20067011159A KR100838438B1 KR 100838438 B1 KR100838438 B1 KR 100838438B1 KR 1020067011159 A KR1020067011159 A KR 1020067011159A KR 20067011159 A KR20067011159 A KR 20067011159A KR 100838438 B1 KR100838438 B1 KR 100838438B1
- Authority
- KR
- South Korea
- Prior art keywords
- task
- processor
- executed
- band
- unit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
이 태스크 관리방법은, 처리의 단위시간을 실시간성을 보증하는 보호 대역과 실시간성을 보증하지 않는 비보호 대역으로 분할하여, 프로세서의 처리능력이 저하했을 때, 비보호영역에 있어서 실행해야 할 태스크의 실행을 적의 스킵하는 것이다. 즉, 프로세서의 발열을 억제할 목적으로 동작주파수를 낮게 한 경우, 비보호 대역에 있어서 실행해야 할 태스크를 베스트 에포트에서 처리하는 대신에 보호 대역에서 실행해야 할 태스크의 실시간성을 보증하는 것이다. 이에 따라, 동작주파수가 변동할 경우에도 적절하게 태스크의 관리가 행해져 프로세서의 처리능력이 충분히 발휘된다.This task management method divides the unit time of processing into a guard band that guarantees real time and an unprotected band that does not guarantee real time, and executes a task to be executed in an unprotected area when the processing power of the processor decreases. To skip the enemy. In other words, when the operating frequency is lowered for the purpose of suppressing the heat generation of the processor, instead of processing the task to be executed in the unprotected band at the best effort, it guarantees the real-time performance of the task to be executed in the guard band. As a result, even when the operating frequency fluctuates, task management is appropriately performed, and the processing power of the processor is sufficiently exhibited.
태스크, 제어목표 테이블, 주파수 검출부, 등록부, 스케줄 작성부, 태스크 테이블, 전환지시부, 태스크 관리부 Task, control target table, frequency detector, register, schedule preparation unit, task table, switching instruction unit, task manager
Description
이 발명은 프로세서에 실행되는 태스크를 관리하는 방법, 그 방법을 이용하여 태스크를 관리하는 장치, 그 장치의 실체로서의 반도체 집적회로, 및 그 반도체 집적회로를 구비하는 전자장치에 관한 것이다.The present invention relates to a method of managing a task executed in a processor, an apparatus for managing a task using the method, a semiconductor integrated circuit as an entity of the apparatus, and an electronic device having the semiconductor integrated circuit.
LSI 설계에 있어서 제조 프로세스의 미세화와 소자의 고집적화가 한층 진행되어, 칩의 성능한계로서 발열량을 고려하는 것이 설계상 매우 중요하게 되었다. 칩이 고온이 되면 동작불량을 일으키거나, 장기 신뢰성이 저하하거나 하기 때문에 여러 가지 발열대책이 취해지고 있다. 예를 들면, 칩의 상부에 방열 핀을 설치하여 칩으로부터 발생하는 열을 내보내는 방법이 이용된다.In the LSI design, the manufacturing process and the integration of devices have been further progressed, and it is very important in the design to consider the amount of heat generation as the performance limit of the chip. When the chip is heated to high temperature, various heat countermeasures are taken because it causes malfunction or deteriorates long-term reliability. For example, a method of dissipating heat generated from a chip by providing a heat radiation fin on an upper portion of the chip is used.
또한 칩의 소비전력 분포에 기초하여, 프로세서의 태스크를 스케줄링하는 것도 검토되고 있다. 또한 칩이 고온이 되는 것을 회피하는 방법으로서, 프로세서에 있어서의 동작주파수를 낮게 하는 것도 검토되고 있다(예를 들면, 특허문헌 1 참조).In addition, scheduling tasks of the processor based on the distribution of power consumption of the chip is also considered. In addition, as a method of avoiding the high temperature of the chip, it is also considered to lower the operating frequency in the processor (see
특허문헌 1: 미국 특허출원 공개 제2002/0065049호 명세서Patent Document 1: US Patent Application Publication No. 2002/0065049
동작주파수를 낮게 함으로써 칩의 발열량을 낮출 수는 있지만, 단위시간에 있어서의 처리단계 수가 감소해 버리기 때문에, 단위시간 내에 완료해야 할 태스크가 단위시간 내에 완료되지 못하는 경우가 있다. 이 때문에, 미리 최저의 동작주파수 베이스에서 프로그램의 설계를 행할 필요가 있다. 그러나 이것으로는 프로세서의 처리능력이 충분히 발휘되지 않는다.Although the heat generation amount of the chip can be lowered by lowering the operating frequency, the number of processing steps in the unit time is reduced, so that the task to be completed in the unit time may not be completed in the unit time. For this reason, it is necessary to design a program on the lowest operating frequency base in advance. However, this does not provide enough processor power.
본 발명은 이러한 과제에 비추어 이루어진 것으로, 그 목적은, 이러한 이율 배반되는 목표를 실현하여 효과적인 태스크의 관리방법, 그 방법에 기초한 태스크 관리장치, 그 장치의 실체로서의 반도체 집적회로, 및 그 반도체 집적회로를 구비하는 전자장치를 제공하는 데 있다.SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and an object thereof is to realize such an objectionable goal, a method of effective task management, a task management apparatus based on the method, a semiconductor integrated circuit as the substance of the apparatus, and the semiconductor integrated circuit. To provide an electronic device having a.
본 발명의 어떤 형태는 태스크의 실행방법에 관한다. 이 방법은 프로세서에 의해 태스크를 실행할 때, 처리의 단위시간을, 실시간성을 보증하기 위한 보호 대역과 실시간성을 보증하지 않는 비보호 대역으로 분할하여, 프로세서의 처리능력이 저하했을 때, 비보호 대역에 있어서 실행해야 할 태스크의 실행을 적의 스킵한다. 엄밀하게는, 태스크를 실행한다거나 또는 태스크를 스킵한다고 하는 것은 그 태스크에 관한 프로세스, 즉 프로그램을 실행 또는 스킵하는 것인데, 이하 간결하게 하기 위해 간단히 "태스크를 실행한다" 또는 "태스크를 스킵한다" 등과 같이 표현한다. "태스크"는 프로그램상의 볼륨에 관계없이 하나의 기능의 블록을 가리키는 것으로 한다. 따라서 실제로 보급하고 있는 OS가 파악하는 태스크보다도 큰 기능단위를 가리키는 것도 있다.Some aspects of the invention relate to how a task is executed. This method divides the unit time of processing into a guard band for guaranteeing real-time and an unprotected band for not guaranteeing real-time when the task is executed by the processor. To skip the execution of the task to be executed. Strictly, executing a task or skipping a task means executing or skipping a process, that is, a program associated with the task, for the sake of brevity, simply "execute a task" or "skip a task", or the like. Express it together. "Task" refers to a block of one function regardless of the program volume. Therefore, there is a point that it refers to a functional unit larger than the task grasped by the OS which is actually spreading.
"프로세서의 처리능력의 저하"는 프로세서의 동작주파수의 저감에 기인하는 것이어도 된다. 프로세서의 동작주파수는 프로세서 또는 그 주변회로의 온도가 소정의 역치값을 초과했을 때에 저감되어도 된다. 또한 프로세서의 소비전력에 응하여 저감되어도 된다.The "degradation of the processing power of the processor" may be due to the reduction of the operating frequency of the processor. The operating frequency of the processor may be reduced when the temperature of the processor or its peripheral circuit exceeds a predetermined threshold value. It may also be reduced in response to the power consumption of the processor.
이 형태에 따르면, 프로세서의 처리능력이 저하했을 때, 비보호 대역에 있어서 실행해야 할 태스크의 실행이 적의 스킵되기 때문에, 보호 대역에 있어서 실행되어야 할 태스크의 실시간성이 보증되거나, 적어도 그 정확도가 대폭으로 증가한다(단, 이후 간단히 "보증된다"라고 함). 바꿔 말하면, 실시간성을 보증해야 할 태스크를 보호 대역에 포함되도록 설계해 두면, 보호 대역을 포함하지 않는 범위에서 프로세서의 처리능력을 변경시킬 수 있고, 프로세서의 열 제어를 유연하게 행할 수 있다.According to this aspect, since the execution of the task to be executed in the unprotected band is appropriately skipped when the processing power of the processor decreases, the real-time performance of the task to be executed in the guard band is guaranteed or at least the accuracy thereof is greatly improved. (Also referred to simply as "guaranteed"). In other words, by designing a task to be guaranteed in real-time to be included in the guard band, the processor's processing power can be changed within the range not including the guard band, and the processor's thermal control can be flexibly performed.
본 발명의 다른 형태는 태스크 관리장치이다. 이 장치는, 프로세서에 실행시키는 복수의 태스크의 전환지시를 행하는 전환지시부와 프로세서의 처리능력을 검출하는 검출부를 구비하고, 전환지시부는, 처리의 단위시간을, 실시간성을 보증하기 위한 보호 대역과 실시간성을 보증하지 않는 비보호 대역으로 분할하여, 프로세서의 처리능력이 저하했을 때, 비보호 대역에 있어서 실행해야 할 태스크의 실행을 적의 스킵시킨다.Another aspect of the present invention is a task management apparatus. The apparatus includes a switching instructing unit for instructing the switching of a plurality of tasks to be executed by the processor and a detecting unit for detecting the processing capability of the processor. The switching instructing unit includes a guard band for guaranteeing real time of unit time of processing; By dividing into an unprotected band that does not guarantee real-time performance, when the processor's processing power is reduced, the execution of tasks to be executed in the unprotected band is appropriately skipped.
이 장치는, 각 태스크로 실행되는 프로그램 내에 기술(記述)된 실시간성에 대한 요청을 해석하는 해석부를 더 구비해도 된다. 그 경우, 전환지시부는 그 해석에 기초하여 각 태스크를 보호 대역 또는 비보호 대역의 어느 쪽에 할당해도 된다. "실시간성에 대한 요청"은, 예를 들면 태스크를 보호 대역에서 실행해야 하는지의 여부의 판정에 이용가능한 정보여도 되고, 프로그램 내에 기술된 속성을 나타내는 정보여도 되며, 태스크의 중요도나 우선도를 나타내는 정보여도 된다.The apparatus may further include an analyzing unit that analyzes a request for real-timeness described in a program executed by each task. In that case, the switching instruction unit may assign each task to either the guard band or the unprotected band based on the analysis. The "request for real time" may be information available for determining whether a task should be executed in a guard band, for example, or information representing an attribute described in a program, and information representing the importance or priority of a task. You may also.
이 장치는, 각 태스크로 실행되는 프로그램의 성질을 프로세서에서 판단하는 판단부를 더 구비해도 된다. 그 경우, 전환지시부는 그 판단에 기초하여 각 태스크를 보호 대역 또는 비보호 대역의 어느 쪽에 할당해도 된다. "프로그램의 성질"은 그 프로그램에서 호출되는 명령이어도 되고, 그 프로그램에 의한 프로세서의 점유율이나 점유시간이어도 되며, 태스크를 실행함으로써 간접적으로 얻어지는 특징이어도 된다.The apparatus may further include a judging section for judging by the processor the nature of the program executed by each task. In that case, the switching instructing unit may assign each task to either the guard band or the unprotected band based on the determination. The "characteristic of the program" may be an instruction called by the program, may be the share of the processor or the time occupied by the program, or may be a feature obtained indirectly by executing a task.
본 발명의 다른 형태는 태스크 관리시스템이다. 이 시스템은, 소정의 동작주파수에서 태스크를 실행하는 프로세서와, 그 동작주파수의 클럭(clock)을 프로세서에 공급하는 클럭생성부와, 프로세서에 실행시키는 복수의 태스크의 전환지시를 행하는 전환지시부를 구비하고, 전환지시부는, 처리의 단위시간을, 실시간성을 보증하기 위한 보호 대역과 실시간성을 보증하지 않는 비보호 대역으로 분할하여, 프로세서의 동작주파수가 저하했을 때, 비보호 대역에 있어서 실행해야 할 태스크의 실행을 적의 스킵시킨다.Another aspect of the present invention is a task management system. The system includes a processor for executing a task at a predetermined operating frequency, a clock generator for supplying a clock of the operating frequency to the processor, and a switching instructing unit for instructing switching of a plurality of tasks to be executed by the processor. The switching instruction unit divides the unit time of processing into a guard band for guaranteeing real time and an unprotected band for not guaranteeing real time, and the task to be performed in the unprotected band when the operating frequency of the processor decreases. Skip the enemy's execution.
한편, 이상의 구성요소의 임의의 조합, 본 발명의 표현을 방법, 장치, 시스템, 컴퓨터 프로그램 등의 사이에서 변환한 것도 또한 본 발명의 형태로서 유효하다.On the other hand, any combination of the above components and converting the expression of the present invention between a method, an apparatus, a system, a computer program, and the like are also effective as aspects of the present invention.
[발명의 효과][Effects of the Invention]
본 발명에 따르면, 실시간 태스크와 비 실시간 태스크를 멀티 태스크로 실행하고 있을 때의 프로세서의 처리능력이 저하한 경우에도 실시간 태스크의 실시간성을 보증할 수 있다.According to the present invention, even if the processing power of the processor when the real-time task and the non-real-time task are executed in multiple tasks is reduced, the real-time performance of the real-time task can be guaranteed.
도 1의 (a)는 통상시의 동작주파수에서 동작하는 프로세서에 있어서의 태스크의 처리상태를 시계열적으로 나타내는 도이고, (b)는 동작주파수가 저하한 경우의 프로세서에 있어서의 태스크의 처리상태를 시계열적으로 나타내는 도이며, (c)는 동작주파수가 더 저하한 경우의 프로세서에 있어서의 태스크의 처리상태를 시계열적으로 나타내는 도이다.FIG. 1A is a time series diagram showing a processing state of a task in a processor operating at an operating frequency in normal time, and FIG. 1B shows a processing state of a task in a processor when the operating frequency decreases. Is a time series, and (c) is a time series showing a processing state of a task in a processor when the operating frequency is further lowered.
도 2의 (a)는 동작주파수가 f0인 경우, 즉 프로세서의 발열을 억제할 필요가 없는 통상의 동작주파수 때의 태스크의 실행상태를 나타내는 도이고, (b)는 동작주파수가 0.7f0인 때의 태스크의 실행상태를 나타내는 도이며, (c)는 본 실시의 형태에 관련된 태스크 관리방법에 기초하여 태스크를 관리한 경우의, 동작주파수가 0.7f0인 때의 태스크의 실행상태를 나타내는 도이다.FIG. 2 (a) is a diagram showing the execution state of a task when the operating frequency is f 0 , that is, at a normal operating frequency at which the processor does not need to suppress heat generation, and (b) shows an operating frequency of 0.7f 0. (C) shows the execution state of the task when the operation frequency is 0.7f 0 when the task is managed based on the task management method according to the present embodiment. It is also.
도 3은 도 2를 사용하여 설명한 태스크 관리방법을 이용하여 태스크를 실행하는 프로세서 시스템의 구성도이다.3 is a configuration diagram of a processor system that executes a task using the task management method described with reference to FIG. 2.
도 4는 도 3의 태스크 관리부의 내부 구성도이다.4 is a diagram illustrating an internal configuration of the task manager of FIG. 3.
도 5는 도 3의 제어목표 테이블에 보유되어 있는 데이터를 그래프 표시한 도이다.FIG. 5 is a graph showing data held in the control target table of FIG. 3.
도 6은 도 4의 태스크 테이블의 데이터 구조의 일례를 나타내는 도이다.FIG. 6 is a diagram illustrating an example of a data structure of the task table of FIG. 4.
도 7은 도 4의 스케줄 작성부(156)의 내부 구성도이다.7 is a diagram illustrating an internal configuration of the
도 8은 도 4의 태스크 관리부에 있어서의 태스크를 관리하는 처리의 플로우 차트이다.FIG. 8 is a flowchart of a process for managing a task in the task manager of FIG. 4.
도 9는 실시의 형태 2에 관련된 태스크 관리부의 내부 구성도이다.9 is an internal configuration diagram of a task manager according to the second embodiment.
도 10은 도 9의 갱신부에 의해 최적화된 제어목표 테이블에 보유되어 있는 데이터를 그래프 표시한 도이다.FIG. 10 is a graph showing data held in the control target table optimized by the updating unit of FIG. 9.
도 11은 도 9의 태스크 관리부에 있어서의 태스크 관리처리의 플로우 차트이다.FIG. 11 is a flowchart of task management processing in the task manager of FIG. 9.
도 12는 도 9의 제어목표 테이블 갱신처리의 상세한 플로우 차트이다.12 is a detailed flowchart of the control target table update process of FIG. 9.
도 13의 (a)는 동작주파수가 f0인 경우의 태스크의 실행상태를 나타내는 도이며, (b)는 동작주파수가 0.8f0인 경우의 태스크의 실행상태를 나타내는 도이다.FIG. 13A is a diagram showing an execution state of a task when the operating frequency is f 0 , and (b) is a diagram showing an execution state of a task when the operating frequency is 0.8f 0 .
도 14는 실시의 형태 3에 관련된 태스크 관리부의 내부 구성도의 일례를 나타내는 도이다.14 is a diagram showing an example of an internal configuration diagram of a task manager according to the third embodiment.
도 15는 도 14의 제어목표 테이블에 보유되어 있는 데이터를 그래프 표시한 도이다.FIG. 15 is a graph showing data held in the control target table of FIG. 14.
도 16은 실시의 형태 4에 관련된 태스크 관리부의 내부 구성도이다.16 is an internal configuration diagram of a task management unit according to the fourth embodiment.
도 17은 도 16의 갱신부에 의해 최적화된 제어목표 테이블에 보유되어 있는 데이터를 그래프 표시한 도이다.FIG. 17 is a graph showing data held in the control target table optimized by the updater of FIG. 16.
[부호의 설명][Description of the code]
10 프로세서 시스템 12 버스10
14 메인 메모리 16 프로그램14
18 연산결과 30 베이스 클럭 공급부18 Calculation Result 30 Base Clock Supply
100 반도체 집적회로 102 온도센서100 semiconductor integrated
110 주파수 제어부 120 주처리부110
130 내부 클럭 생성부 150 태스크 관리부130
152 주파수 검출부 154 전환지시부152 Frequency detector 154 Switching indicator
156 스케줄 작성부 158 지시부156
160 제어목표 테이블 162 등록부160 Control Target Table 162 Register
164 태스크 테이블 170 제1계획부164 Task Table 170 First Planning Department
172 제2계획부 174 설정부172
176 카운터 190 프로세서 사용률 검출부176
192 갱신부192 update department
실시의 형태를 설명하기 전에 과제를 명확히 한다. 예를 들면 게임의 경우, 프레임(frame) 기간에 CG의 랜더링(rendering) 등의 묘화처리가 완료하도록 설계된다. 이렇게 소정의 시간 내에 처리가 완료하지 않으면 안 되는 태스크를, 이하 "실시간 태스크"라고 부른다. 실시간 태스크와 같이 시간제한이 설정되어 있지 않은 태스크를, 이하 "비 실시간 태스크"라고 부른다. 이러한 시간에 대한 설계사상이 다른 2종류의 태스크를 병행하여 실행하는 경우, 실시간 태스크의 실시간성은 비 실시간 태스크의 처리시간에 크게 영향을 받는다.The problem should be clarified before explaining the embodiment. For example, in the case of a game, it is designed so that rendering processing such as rendering of CG is completed in a frame period. The task that must be completed within such a predetermined time is referred to as a "real time task" hereinafter. Tasks that do not have a time limit set like a real time task are hereinafter referred to as "non-real time tasks". When two kinds of tasks having different design ideas for such time are executed in parallel, the real time of the real time task is greatly influenced by the processing time of the non real time task.
도 1의 (a)는 통상시의 동작주파수 f0에서 작동하는 프로세서에 있어서의 태스크의 처리상태를 시계열적으로 나타내는 도이다. 시각 T0에서 T1, 시각 T1에서 T2, 및 시각 T2에서 T3는 각각 1프레임 기간이다. 본 도면에서는, 프레임의 묘화를 행하기 위한 실시간 태스크(RT), 및 2개의 비 실시간 태스크(NRT)가 순서대로 실행되고 있다. 시각 T1, T2, T3에서 프레임의 표시가 행해지게 된다. 시각 T0에서 T1까지의 사이에 실시간 태스크(RT), 제1 비 실시간 태스크(NRT1), 및 제2 비 실시간 태스크(NRT2)가 순차 실행된다. 그 후, 시각 T2에서 표시하는 프레임을 묘화하는 실시간 태스크(RT)가 실행되고, 이어서 제1 비 실시간 태스크(NRT1), 제2 비 실시간 태스크(NRT2)가 순차 실행된다. 시각 T1, T2, T3에 프레임을 표시하기 위한 실시간 태스크(RT)는, 각각 시각 T1, T2, T3보다 앞에서 처리가 완료하고 있기 때문에, 드롭(dropping)되지 않고 프레임이 표시된다.FIG. 1A is a diagram showing in time series the processing state of a task in a processor operating at an operating frequency f 0 of normal operation. T1 at time T0, T2 at time T1, and T3 at time T2 are each one frame period. In this figure, a real time task RT and two non-real time tasks NRT for drawing a frame are executed in order. The display of the frame is performed at the times T1, T2, and T3. The real time task RT, the first non real time task NRT1, and the second non real time task NRT2 are executed sequentially from the time T0 to T1. Thereafter, the real time task RT for drawing the frame displayed at the time T2 is executed, and then the first non real time task NRT1 and the second non real time task NRT2 are sequentially executed. The real-time task RT for displaying the frame at the times T1, T2, and T3 has been processed before the times T1, T2, and T3, respectively, so that the frame is displayed without dropping.
도 1의 (b)는 동작주파수 0.8f0인 경우의 프로세서에 있어서의 태스크의 처리상태를 시계열적으로 나타내는 도이다. 프로세서의 동작주파수는, 예를 들면 프로세서에 있어서의 열 제어를 위해 조정되고, 프로세서의 온도가 높아지면 동작주파수가 낮게 조정된다. 동작주파수가 낮아지면, 프레임 기간에 있어서의 프로세서의 실행 사이클 수가 적어진다. 이 때문에, 각 태스크를 완료하기까지의 시간이 길어져 프레임 기간마다 실행되어야 할 실시간 태스크(RT), 제1 비 실시간 태스크(NRT1) 및 제2 비 실시간 태스크(NRT2)가, 본래 실행되어야 할 프레임 기간을 초과 해 다음 프레임 기간에서 실행되게 된다. 본 도면에서는, 실시간 태스크(RT)의 실시간성은 거의 유지되지만, 장기적으로는 프레임의 드롭이 생겨 버린다.FIG. 1B is a diagram showing in time series the processing state of a task in a processor when the operating frequency is 0.8f 0 . The operating frequency of the processor is, for example, adjusted for thermal control in the processor, and the operating frequency is adjusted lower when the temperature of the processor is increased. When the operating frequency is lowered, the number of execution cycles of the processor in the frame period is reduced. For this reason, the time period until each task is completed is long, so that the real time task RT, the first non real time task NRT1 and the second non real time task NRT2, which should be executed for each frame period, should be originally executed. Will be executed in the next frame period. In this figure, the real-time performance of the real-time task RT is almost maintained, but the drop of the frame occurs in the long term.
도 1의 (c)는 동작주파수 0.7f0인 경우의 프로세서에 있어서의 태스크의 처리상태를 시계열적으로 나타내는 도이다. 본 도면에서는, 곧바로 프레임의 드롭이 생겨 버려 게임으로서의 기능을 달성할 수 없게 된다. 이와 같이, 동작주파수가 저하한 상태에서 통상시의 동작주파수와 동일하게 태스크를 실행하면, 실시간 태스크의 실시간성을 보증하는 것이 곤란해진다.FIG. 1C is a diagram showing in time series the processing state of a task in a processor when the operating frequency is 0.7f 0 . In this figure, a drop of a frame occurs immediately, and the function as a game cannot be achieved. In this way, if the task is executed in the same state as the operating frequency in the normal state while the operating frequency is lowered, it becomes difficult to guarantee the real time of the real time task.
종래, 컴퓨터의 일반적인 사용방법에서는 워드프로세서 소프트나 메일 소프트가 병행하여 동작하고 있는 정도여서, 그다지 태스크의 실시간성을 의식할 필요가 없었다. 그러나 범용적인 기능을 함께 가진 게임기가 보급되기 시작하면서, 게다가 프로세서의 열의 문제로부터 프로세서의 동작주파수를 떨어뜨리는 스로틀(throttle) 기술이 필요해졌다는 점에서, 본 발명자는 전술한 CG영상의 프레임 드롭이라는, 과거에는 존재하지 않았던 문제를 인식하기에 이르렀다.In the conventional method of using a computer, the word processor software and the mail software are operated in parallel, and it is not necessary to be conscious of the real time of the task. However, as game consoles with general-purpose functions began to spread, in addition to the need for a throttle technology that lowers the operating frequency of the processor from the thermal problem of the processor, the present inventors have referred to the aforementioned frame drop of the CG image. It came to recognize problems that did not exist in the past.
(실시의 형태 1)(Embodiment 1)
실시의 형태 1 및 실시의 형태 2에서는, 비선점형(non-preemptive)의 태스크 관리가 행해지는 경우, 즉 태스크의 전환이 태스크의 자주성에 맡겨져 있는 경우에 있어서의 태스크 관리방법에 대해서 설명한다. 실시의 형태 1에 관련된 태스크 관리방법은 처리의 단위시간을 실시간성을 보증하는 보호 대역과 실시간성을 보증하지 않는 비보호 대역으로 분할하여, 프로세서의 처리능력이 저하했을 때, 비보호 영역에 있어서 실행해야 할 태스크의 실행을 적의 스킵하는 것이다. 즉, 프로세서의 발열을 억제할 목적으로 동작주파수를 낮게 했을 경우, 비보호 대역에 있어서 실행해야 할 태스크를 베스트 에포트(best-efforts)에서 처리하는 대신에, 보호 대역에서 실행해야 할 태스크의 실시간성을 보증하는 것이다.In the first and second embodiments, a task management method is described when non-preemptive task management is performed, that is, when task switching is left to task independence. The task management method according to the first embodiment is to divide the unit time of processing into a guard band that guarantees real time and an unprotected band that does not guarantee real time, and to execute in the unprotected area when the processing power of the processor decreases. It is to skip the execution of the task to be done. In other words, if the operating frequency is lowered for the purpose of suppressing the heat generation of the processor, instead of processing the task to be executed in the unprotected band in the best-efforts, the real-time performance of the task to be executed in the guard band. Is to guarantee.
"보호 대역"은 단위시간에 있어서 보증해야 할 프로세서의 실행 사이클 수로서 고정값이다. "비보호 대역"은 단위시간에 있어서 보증하지 않는 프로세서의 실행 사이클 수이며, 0부터 소정의 값까지 소정의 범위를 갖는 변동값이다. 프로세서의 처리능력이 최대일 때, 그 실행 사이클 수는 보호 대역에 있어서의 실행 사이클 수와 비보호 대역에 있어서의 최대의 실행 사이클 수와의 합계값이다. 예를 들면, 프로세서의 열 제어를 위해 동작주파수를 낮게 하는 경우, 실행 사이클 수의 변동이 비보호 대역에 있어서 취할 수 있는 실행 사이클 수의 범위에 포함되도록 동작주파수를 낮게 한다. 역으로 말하면, 이 범위에서 동작주파수를 제어하면, 보호 대역에서 실행해야 할 태스크의 실시간성이 보증된다.The "guard band" is a fixed value as the number of execution cycles of the processor to be guaranteed in unit time. The "unprotected band" is the number of execution cycles of a processor that is not guaranteed in unit time, and is a variation value having a predetermined range from 0 to a predetermined value. When the processing capacity of the processor is maximum, the number of execution cycles is the sum of the number of execution cycles in the guard band and the maximum number of execution cycles in the unprotected band. For example, if the operating frequency is lowered for thermal control of the processor, the operating frequency is lowered so that variation in the number of run cycles falls within the range of run cycles that can be taken in the unprotected band. Conversely, controlling the operating frequency in this range ensures the real-time performance of the task to be performed in the guard band.
실시의 형태 1에 관련된 태스크 관리방법은 실시간 태스크와 비 실시간 태스크가 혼재하는 때에 실시간 태스크를 보호 대역에 할당하고, 비 실시간 태스크를 비보호 대역에 할당하여 태스크를 실행하는 것이다. 그리고 프로세서의 열 제어를 위해 행하는 동작주파수의 제어는, 동작주파수의 제어에 수반하는 실행 사이클 수의 변동이 비보호 대역에 포함되는 범위에서 행해진다. 이에 따라, 프로세서의 열 제어를 위해 행하는 동작주파수의 제어를 프로그램 설계와 분리해서 행할 수 있다. 즉, 프로그램 설계의 자유도를 제한하는 일 없이 유연하게 열 제어를 행할 수 있 다. 따라서, 프로세서의 처리능력을 충분히 발휘시킬 수 있고, 또한 동작주파수를 바꾸는데 따르는 열 제어도 효율적으로 행할 수 있다.In the task management method according to the first embodiment, when a real time task and a non-real time task are mixed, the real time task is assigned to the guard band, and the non real time task is assigned to the unprotected band to execute the task. Control of the operating frequency for thermal control of the processor is performed in a range in which the variation in the number of execution cycles accompanying the control of the operating frequency is included in the unprotected band. As a result, the control of the operating frequency for the column control of the processor can be performed separately from the program design. That is, the column control can be performed flexibly without restricting the degree of freedom of program design. Therefore, the processing power of the processor can be sufficiently exhibited, and the thermal control accompanying changing the operating frequency can be efficiently performed.
도 2의 (a)는 동작주파수가 f0인 경우, 즉 프로세서의 발열을 억제할 필요가 없는 통상의 동작주파수 때의 태스크의 실행상태를 나타내는 도이다. 동작주파수가 f0인 경우, 각각의 프레임 기간에 있어서 A, B, C의 3개의 태스크가 실행된다. 태스크 A는 보호 대역에 할당되어야 할 실시간 태스크이다. 태스크 B 및 C는 비보호 대역에 할당되어야 할 비 실시간 태스크이다.FIG. 2A is a diagram showing an execution state of a task when the operating frequency is f 0 , that is, at a normal operating frequency at which the processor does not need to suppress heat generation. When the operating frequency is f 0 , three tasks A, B, and C are executed in each frame period. Task A is a real time task to be allocated to the guard band. Tasks B and C are non real-time tasks that should be allocated to the unprotected band.
도 2의 (b)는 동작주파수가 0.7f0인 때의 태스크의 실행상태를 나타내는 도이다. 실시간 태스크 A2 및 A3는 시각 T2 및 T3를 지나서 처리가 완료되어 있다. 이러면 프레임의 드롭이 발생해 버린다.FIG. 2B is a diagram illustrating an execution state of a task when the operating frequency is 0.7f 0 . The real-time tasks A2 and A3 have completed processing beyond the times T2 and T3. This causes a drop of the frame.
도 2의 (c)는 본 실시의 형태에 관련된 태스크 관리방법에 기초하여 태스크를 관리한 경우의, 동작주파수가 0.7f0인 때의 태스크의 실행상태를 나타내는 도이다. 본 도면에서는 비 실시간 태스크(C1)가 스킵되어 있다. 이처럼 비 실시간 태스크를 실행하지 않음으로써 후속의 실시간 태스크를 실행하는 타이밍이 빨라진다. 이에 따라, 실시간 태스크의 실시간성을 보증할 수 있다. 즉 본 실시의 형태에서는 보호 대역이 0.7f0로 설정되어 있기 때문에, 비보호 대역이 0이 된다. 이 때문에, 0.7f0를 경계로 태스크 관리의 제어가 전환되어 있다.FIG. 2C is a diagram showing an execution state of a task when the operation frequency is 0.7f 0 when the task is managed based on the task management method according to the present embodiment. In this figure, the non-real time task C1 is skipped. By not running non-real-time tasks in this way, the timing of executing subsequent real-time tasks is faster. As a result, it is possible to ensure real-time performance of the real-time task. That is, in the present embodiment, since the guard band is set to 0.7f 0 , the unprotected band is zero. For this reason, the switching control of the task managing 0.7f 0 as a boundary.
도 3은 도 2의 (c)를 사용하여 설명한 태스크 관리방법을 이용하여 태스크를 실행하는 프로세서 시스템(10)의 구성도이다. 이 프로세서 시스템(10)이 게임기에 탑재된다. 프로세서 시스템(10)은 프로세서인 반도체 집적회로(100)와 메인 메모리(14)를 포함하며, 이들은 버스(12)에 접속되어 있다. 버스(12)는 어드레스 버스, 데이터 버스 및 컨트롤 버스를 포함한다. 반도체 집적회로(100)는 주처리부(120), 내부 클럭 생성부(130), 태스크 관리부(150), 및 주파수제어부(110)를 갖는다. 메인 메모리(14)는 반도체 집적회로(100)에서 실행되는 프로그램(16)과, 각 프로그램(16)을 실행함으로써 얻어진 연산결과(18)를 보유한다. 프로그램(16)이 반도체 집적회로(100)에 읽어 들여짐으로써 태스크가 실행된다.3 is a configuration diagram of a
반도체 집적회로(100)는, 예를 들면 도시하지 않은 캐쉬 메모리, 명령 레지스터, 연산 레지스터, 디코더, 제어부, 연산기 등의 회로를 포함하며, 그들의 회로를 이용하여 태스크를 실행한다. 캐쉬 메모리 또는 메인 메모리(14)에 기억되어 있는 명령은 인출되어 명령 레지스터에 받아들여진다. 디코더는 명령 레지스터에 보유된 명령을 디코드하여 오퍼레이션 코드에 대응하는 제어신호를 제어부에 공급한다. 제어부는, 예를 들면 제어신호에 기초하여, 그 오퍼레이션 코드에 대한 처리를 실행하기 위한 연산기를 선택하고, 피연산자로 지정된 어드레스로부터 연산에 필요한 데이터를 받아들여 연산 레지스터에 기록한다. 연산기는, 예를 들면 연산 레지스터에 보유되어 있는 데이터를 이용하여 연산처리를 행하고, 피연산자로 지정된 어드레스에 기록한다.The semiconductor integrated
본 도면 및 이로부터 설명하는 각 도면은 하드웨어 단위의 구성이 아니라, 기능 단위의 구성을 나타내고 있다. 또한 각 기능 블록은 동시에 반도체 집적회로 (100)의 내부에 정적으로 형성되어 있을 필요는 없고, 일정한 기간에 동적으로 형성되면 된다. 본 실시의 형태에서는, 태스크 관리부(150) 및 주파수제어부(110)는, 예를 들면 오퍼레이팅 시스템에 내장된 프로그램이 실행됨으로써 반도체 집적회로(100)에 동적으로 형성되는 것으로 한다. 또한 주처리부(120)는, 본래는 반도체 집적회로(100) 전체로 생각할 수도 있으나, 여기서는 이해를 돕기 위해 주파수제어부(110), 내부 클럭 생성부(130), 태스크 관리부(150)를 제외한 기능부분을 가리키는 것으로 한다.This figure and each figure demonstrated from this do not show the structure of a hardware unit but the structure of a functional unit. In addition, each functional block need not be statically formed inside the semiconductor integrated
베이스 클럭 공급부(30)는 반도체 집적회로(100)에 대해 베이스 클럭을 공급한다. 내부 클럭 생성부(130)는, 예를 들면 PLL(Phase Locked Loop)을 포함하고, 베이스 클럭의 주파수의 정수배의 클럭을 생성한다. 내부 클럭 생성부(130)가 생성하는 클럭을 동작 클럭이라고 부르고, 동작 클럭의 주파수를 동작주파수라고 부른다. 반도체 집적회로(100)에 포함되는 각 회로는, 동작 클럭의 상승 또는 하강의 타이밍에서 동작한다. 내부 클럭 생성부(130)는, PLL을 구성하는 회로에 포함되는 카운터의 카운터값을 조정함으로써 동작주파수를 바꿀 수 있다.The base clock supply unit 30 supplies a base clock to the semiconductor integrated
온도센서(102)는 주처리부(120) 또는 그 주변회로의 온도를 측정하고, 측정한 온도를 주파수제어부(110)에 출력한다. 온도센서(102)는 반도체 집적회로(100)의 외부에 설치되어도 되며, 반도체 집적회로(100)의 내부, 즉 다이(die) 상에 설치되어도 된다.The
주파수제어부(110)는 반도체 집적회로(100)의 온도에 따라 열 제어를 위해 필요한 동작주파수를 산출하고, 그 주파수에서 동작 클럭을 생성하도록 내부 클럭 생성부(130)를 제어한다. 주파수제어부(110)는 온도가 소정의 역치값보다 높아진 경우에, 동작주파수를 낮게 하도록 내부 클럭 생성부(130)를 제어한다. 동작주파수를 낮게 함으로써, 반도체 집적회로(100)에 있어서의 발열량을 억제할 수 있으며, 나아가 히트싱크 등의 방열(放熱)기구가 작용하여 반도체 집적회로(100)의 온도를 낮출 수 있다.The
열 제어를 위해 조정하는 동작주파수의 범위는 보호 대역보다 낮아지지 않는 것이 바람직하고, 반도체 집적회로(100)의 온도에 따라 단계적으로 동작주파수를 조정해도 된다. 실행해야 할 태스크가 적을 때나 반도체 집적회로(100)의 발열량이 많아서 비보호 대역만으로는 온도를 충분히 낮출 수 없는 비상사태라고 판단한 경우, 주파수제어부(110)는 동작주파수를 보호 대역보다 낮게 해도 된다. 이러한 발열량에 대한 동작주파수의 제어방법은 여러 가지가 있으며, 주파수제어부(110)는 임의의 방법에 기초하여 동작주파수를 산출해도 된다.It is preferable that the range of the operating frequency adjusted for the thermal control is not lower than the guard band, and the operating frequency may be adjusted stepwise in accordance with the temperature of the semiconductor integrated
예를 들면, 주파수제어부(110)는 반도체 집적회로(100)의 온도와 동작주파수를 대응시킨 테이블을 참조하여 동작주파수를 산출한다. 그리고 주파수제어부(110)는 내부 클럭 생성부(130)에 그 동작주파수의 동작 클럭을 생성시킨다.For example, the
주처리부(120)는 태스크 관리부(150)에 지시된 태스크에 대응하는 프로그램(16)을 메인 메모리(14)로부터 읽어들여 태스크를 실행한다. 그리고 주처리부(120)는 그 태스크를 실행함으로써 얻은 연산결과(18)를 메인 메모리(14)에 기록한다.The
태스크 관리부(150)는 주파수제어부(110)로부터 주처리부(120)의 동작주파수를 특정하는 주파수 정보를 접수하고, 그 정보에 기초하여 전술한 태스크 관리방법 에 따라 태스크의 스케줄링을 행한다.The
도 4는 도 3의 태스크 관리부(150)의 내부 구성도이다. 주파수검출부(152)는 동작주파수를 검출한다. 본 실시의 형태에서는, 주파수검출부(152)는, 주파수제어부(110)로부터 주파수 정보를 접수함으로써 동작주파수를 파악한다. 주파수검출부(152)는 주파수 정보를 전환지시부(154)에 출력한다.4 is a diagram illustrating an internal configuration of the
전환지시부(154)는 스케줄 작성부(156) 및 지시부(158)를 가지며, 주처리부(120)에 실행시키는 태스크의 전환지시를 행한다. 상세하게는 후술하겠으나, 스케줄 작성부(156)는, 제어목표 테이블(160)과 태스크 테이블(164)을 참조하여 동작주파수에 따른 태스크의 스케줄링을 행한다. 지시부(158)는 스케줄 작성부(156)에서 생성된 스케줄에 기초하여, 각각의 태스크의 실행지시를 주처리부(120)에 대해 행한다.The switching instruction unit 154 includes a
도 5는 도 3의 제어목표 테이블(160)에 보유되어 있는 데이터를 그래프 표시한 도이다. 제어목표 테이블(160)은 동작주파수와 비 실시간 태스크를 어느 정도 실행할지를 결정하는 제어목표를 대응시켜서 보유한다. 이 제어목표는 실시간 태스크의 실행횟수에 대한 비 실시간 태스크의 실행횟수의 비율이다. 이 비율을, 이하 "실행률"이라고 부른다. 제어목표 테이블(160)에 보유되어 있는 이들 데이터를, 가로축에 동작주파수를 취하고 세로축에 비 실시간 태스크의 실행률을 취하여 그래프로 하면, 본 도면과 같이 0.7f0를 경계로 하여 다른 양상이 된다. 본 실시의 형태에서는 보호 대역이 0.7f0로 설정되어 있다. 비보호 대역인 f0에서 0.9f0인 때는 비 실시간 태스크의 실행률이 100%이며, 0.9f0에서 0.7f0인 때는, 100%에서 10%까지 비 실시간 태스크의 실행률이 선형으로 감소된다. 또한 동작주파수가 보호 대역인 0.7f0보다 낮아지면 비 실시간 태스크의 실행률이 10%가 된다. 0.7f0보다 낮아진 경우, 실시간 태스크의 실시간성을 보증한다고 하는 의미에서 비 실시간 태스크의 실행률을 0%로 해도 되지만, 본 실시의 형태에서는 비 실시간 태스크가 전혀 실행되지 않는다고 하는 상황을 피하기 위해 실행률이 10%로 되어 있다. 예를 들면 실행률 "30%"는, 실시간 태스크를 10회 실행하는 데 대해 비 실시간 태스크를 3회 실행하는 것을 나타낸다. 도 3의 스케줄 작성부(156)는 이 제어목표에 기초하여 비 실시간 태스크를 실행하는 타이밍을 조정한다.FIG. 5 is a graph showing data held in the control target table 160 of FIG. 3. The control target table 160 corresponds to and holds an operating frequency and a control target for determining how much to execute the non-real-time task. This control goal is the ratio of the number of executions of the non-real time task to the number of executions of the real time task. This ratio is called "running rate" below. When these data held in the control target table 160 are plotted with the operating frequency on the horizontal axis and the execution rate of the non-real time task on the vertical axis, the data becomes different from 0.7f 0 as shown in the figure. In the present embodiment, the guard band is set to 0.7f 0 . In the unprotected band f 0 to 0.9f 0 , the execution rate of the non-real time task is 100%, and in 0.9f 0 to 0.7f 0 , the execution rate of the non real time task is linearly reduced from 100% to 10%. In addition, when the operating frequency is lower than the guard band 0.7f 0 , the execution rate of the non-real time task becomes 10%. When the value is lower than 0.7f 0 , the execution rate of the non-real time task may be 0% in the sense of guaranteeing the real time of the real time task. However, in this embodiment, the execution is performed to avoid the situation that the non real time task is not executed at all. The rate is 10%. For example, the execution rate " 30% " indicates that the non-real time task is executed three times for 10 executions of the real time task. The
도 6은 도 4의 태스크 테이블(164)의 데이터 구조의 일례를 나타내는 도이다. 태스크 테이블(164)은, 속성 필드(184), 태스크 필드(186) 및 우선도 필드(188)를 대응시켜서 갖는다. 속성 필드(184)는 태스크의 속성(屬性)을 나타내는 속성정보를 보유한다. 본 실시의 형태에서는, 속성으로서 실시간 태스크와 비 실시간 태스크가 있다. 본 도면에서 "RT"는 실시간 태스크를 나타내며, "NRT"는 비 실시간 태스크를 나타낸다. 태스크 필드(186)는, 예를 들면 프로그램의 파일명이나 태스크의 식별정보 등 태스크를 특정하기 위한 정보를 보유한다. 본 도면에서, 예를 들면 "랜더링" 태스크는 실시간 태스크로서 등록되며, "브라우저" 태스크는 비 실시간 태스크로서 등록되어 있다. 우선도 필드(188)는 태스크의 우선도를 나타내는 정보를 보유한다. 본 도면에서는, 우선도는 10단계로 나타나 있으며, "10"이 가장 우선도가 높고, "1"이 가장 우선도가 낮다.6 is a diagram illustrating an example of a data structure of the task table 164 of FIG. 4. The task table 164 has an
도 4로 돌아가서, 등록부(162)는, 예를 들면 사용자가 프로그램의 실행지시를 한 경우에, 프로그램 코드에 포함되는 속성정보를 해석하고, 그 프로그램을 특정하는 정보에 대응시켜서 태스크 테이블(164)에 등록한다. 속성정보가 프로그램 코드에 포함되어 있지 않은 경우, 등록부(162)는 그 프로그램을 실시간 태스크로서 태스크 테이블(164)에 등록한다. 이에 따라, 예를 들면 속성정보를 포함하지 않는 오래된 프로그램도 실행할 수 있다.Returning to Fig. 4, the
또한 다른 예에서는, 등록부(162)는 각 태스크로 실행되는 프로그램의 성질을 판단하고, 그 판단에 기초하여 그 프로그램의 속성을 추정하여 태스크 테이블(164)에 등록해도 된다. 등록부(162)는 그 프로그램에 포함되는 명령, 그 프로그램에 의한 프로세서의 점유율이나 점유시간 등의, 태스크를 실행함으로써 간접적으로 얻어지는 특징에 기초하여 속성을 추정한다. 예를 들면 등록부(162)는, 비선점형의 태스크 관리가 행해지는 경우는, 일정기간에 있어서의 프로세서의 점유시간을 태스크마다 측정해 점유시간이 긴 태스크를 실시간 태스크로서 추정하고, 점유시간이 짧은 태스크를 비 실시간 태스크로서 추정해도 된다. 이에 따라, 프로그램 코드에 속성정보가 포함되어 있지 않은 프로그램에 대해서도 적절한 태스크 관리를 행할 수 있다.In another example, the
도 7은 도 4의 스케줄 작성부(156)의 내부 구성도이다. 제1계획부(170)는 태스크 테이블(164)을 참조하여 실시간 태스크의 실행순서를 결정한다. 실시간 태스크가 복수 있는 경우, 제1계획부(170)는 도 6의 우선도 필드(188)를 참조하여 우선 도가 높은 실시간 태스크가 우선이 되도록 실행순서를 결정한다. 그리고 제1계획부(170)는 실시간 태스크의 실행순서를 통합부(178)에 출력한다.7 is a diagram illustrating an internal configuration of the
제2계획부(172)는 태스크 테이블(164)을 참조하여 비 실시간 태스크의 실행순서를 결정하고, 실행순서를 통합부(178)에 출력한다. 제2계획부(172)는 설정부(174), 제1카운터(176a), 및 제2카운터(176b)를 갖는다. 제1카운터(176a) 및 제2카운터(176b)를 총칭하여 카운터(176)로 부른다. 카운터(176)는 비 실시간 태스크의 스케줄링 처리를 행할 때마다 계수를 행하고, 설정된 비율로 비 실시간 태스크의 실행을 허가한다.The
예를 들면, 제1카운터(176a)는 25%의 비율로 비 실시간 태스크의 실행을 허가하는 카운터이며, 실시간 태스크를 3회 실행하는 데 대해 비 실시간 태스크를 1회 실행하는 것을 허가한다. 또한 허가의 타이밍은 임의로 결정할 수 있다. 본 도면에서는, 제1카운터(176a)의 허가 타이밍은 "○×××"로서 도시되어 있다. "○"가 허가하는 것을 나타내며, "×"가 허가하지 않는 것을 나타내므로, 제1카운터(176a)는 최초로 비 실시간 태스크의 실행을 허가한 후, 3회 스킵하는 것을 나타낸다.For example, the
설정부(174)는 주파수 검출부(152)로부터 현재의 동작주파수를 접수하고, 그 동작주파수에 따른 비 실시간 태스크의 제어목표를 제어목표 테이블(160)로부터 읽어들인다. 그리고 설정부(174)는 제어목표에 따라 카운터(176)가 비 실시간 태스크의 실행을 허가하는 비율을 설정한다. 예를 들면, 25%로 비 실시간 태스크를 실행하는 경우, 설정부(174)는 카운터(176)에 4회에 1회의 비율로 비 실시간 태스크의 실행을 허가하도록 설정한다.The
비 실시간 태스크가 복수 있는 경우, 설정부(174)는 비 실시간 태스크마다 카운터(176)를 설정하여, 복수의 비 실시간 태스크의 실행횟수를 합계한 값이 제어목표가 되도록 각각의 카운터(176)의 설정을 행한다. 예를 들면, 비 실시간 태스크가 2개 있고, 25%의 비율로 비 실시간 태스크를 실행하는 경우, 설정부(174)는 제1카운터(176a) 및 제2카운터(176b)의 각각에 실시간 태스크를 8회 실행하는 데 대해 비 실시간 태스크의 실행을 1회 허가하도록 설정한다. 더욱이 설정부(174)는 2개의 비 실시간 태스크를 실행하는 타이밍이 겹치지 않도록 허가 타이밍을 설정한다. 즉 제1카운터(176a)의 허가 타이밍을 "×○××××××"라고 하고, 제2카운터(176b)의 허가 타이밍을 "××××××○×"라고 한다.When there are a plurality of non-real time tasks, the
또한, 예를 들면 50%의 비율로 비 실시간 태스크를 실행하는 경우, 설정부(174)는 허가 타이밍을 "○○××"가 아니라, "○×○×"와 같이 "○"와 "×"를 분리하여, 즉 비 실시간 태스크의 실행을 허가하는 타이밍을 분산하도록 허가 타이밍을 설정한다. 이와 같이 비 실시간 태스크의 실행을 허가하는 타이밍을 분산함으로써, 비 실시간 태스크가 보다 스무스하게 체감된다.In addition, for example, when executing a non real-time task at a rate of 50%, the
통합부(178)는 제1계획부(170)로부터 공급되는 실시간 태스크의 실행순서와, 제2계획부(172)로부터 공급되는 비 실시간 태스크의 실행순서를, 실시간 태스크의 실행순서가 먼저가 되도록 나열하여 스케줄을 작성한다. 그리고 통합부(178)는 작성한 스케줄을 지시부(158)에 출력한다.The
도 8은 도 4의 태스크 관리부(150)에 있어서의 태스크를 스케줄링하는 처리 의 플로우 차트이다. 도 4의 주파수 검출부(152)는 동작주파수를 검출한다(S10). 도 4의 스케줄 작성부(156)는 동작주파수에 기초하여 도 4의 제어목표 테이블(160)을 참조하고 실시간 태스크와 비 실시간 태스크의 실행순서를 스케줄링한다(S12). 도 4의 지시부(158)는 스케줄 작성부(156)에 스케줄링된 순서로 태스크의 실행지시를 행한다(S14).8 is a flowchart of a process of scheduling a task in the
(실시의 형태 2)(Embodiment 2)
도 9는 실시의 형태 2에 관련된 태스크 관리부(150)의 내부 구성도이다. 실시의 형태 2는 반도체 집적회로(100)의 사용률에 따라 제어목표 테이블(160)을 최적화하는 형태이다. 이미 설명한 구성과 동일한 부호를 붙인 본 도면의 구성은, 기능 및 동작이 이미 설명한 구성과 거의 동일하다. 이하, 이미 설명한 구성에 있어서의 기능과는 다른 점을 중심으로 설명한다.9 is an internal configuration diagram of a
프로세서 사용률 검출부(190)는, 도 3의 반도체 집적회로(100)의 사용률을, 예를 들면 프레임 기간마다 검출한다. 그리고 프로세서 사용률 검출부(190)는 사용률을 갱신부(192)에 출력한다. 갱신부(192)는 소정의 기간에 있어서의 사용률의 평균값을 산출하고, 그 평균값에 기초하여 비 실시간 태스크의 실행률을 증대하도록 제어목표 테이블(160)을 최적화한다. 예를 들면 갱신부(192)는 0.5초간, 즉 30프레임 분의 사용률의 평균값을 산출한다. 그리고 평균값이 역치값보다 낮을 경우, 즉 부하가 비교적 적은 경우, 갱신부(192)는 제어목표 테이블(160)에 있어서의 비 실시간 태스크의 실행률을 높인다. 평균값이 역치값보다 높을 경우, 갱신부(192)는 제어목표 테이블을 디폴트(default)값으로 되돌린다. 역치값이나 비 실시간 태스크 의 실행률의 높임 폭은 실험에 의해 적절한 값이 설정되어도 되며, 실행에 수반하여 서서히 반영되어도 된다.The
도 10은 도 9의 갱신부(192)에 의해 최적화된 제어목표 테이블(160)에 보유되어 있는 테이터를 그래프 표시한 도이다. 본 도면에서는, 보호 대역이 0.5f0까지 시프트되고, 0.9f0에서 0.5f0인 때는 100%에서 10%까지 비 실시간 태스크의 실행률이 선형으로 감소된다. 이와 같이, 프로세서의 사용률에 따라 보호 대역을 조정함으로써 프로세서의 처리능력을 유효하게 이용할 수 있다.FIG. 10 is a graph showing data held in the control target table 160 optimized by the
도 11은 도 9의 태스크 관리부(150)에 있어서의 태스크를 스케줄링하는 처리의 플로우 차트이다. 도 9의 태스크 관리부(150)에 있어서의 스케줄링 처리는, 도 8을 이용하여 설명한 도 4의 태스크 관리부(150)에 있어서의 스케줄링 처리에, 제어목표 테이블을 최적화하는 처리(S20)를 부가함으로써 실현된다.FIG. 11 is a flowchart of a process for scheduling a task in the
도 12는 도 11의 제어목표 테이블을 최적화하는 처리(S20)의 상세한 플로우 차트이다. 도 9의 프로세서 사용률 검출부(190)는 도 3의 반도체 집적회로(100)의 사용률을 검출한다(S22). 도 9의 갱신부(192)는 소정의 기간이 경과했는지 여부를 판정한다(S24). 소정의 기간이 경과한 경우(S24의 Y), 갱신부(192)는 그 기간에 있어서의 사용률의 평균값을 산출한다(S26). 그리고 사용률이 소정의 역치값보다 높을 경우(S28의 Y), 디폴트의 제어목표 테이블로 되돌린다(S34). 스텝 28에서 사용률이 소정의 역치값보다 낮을 경우(S28의 N), 갱신부(192)는 제어목표 테이블을 비 실시간 태스크의 실행률을 높이도록 변경한다(S30). 스텝 24에서 소정의 기간이 경 과하고 있지 않은 경우(S24의 N), 도 11의 스텝 10으로 진행한다. 이와 같이 제어목표 테이블(160)을 주처리부(120)의 사용률에 따라 최적화함으로써 주처리부(120)의 처리능력을 끌어낼 수 있다.12 is a detailed flowchart of the process of optimizing the control target table in FIG. 11 (S20). The
(실시의 형태 3)(Embodiment 3)
실시의 형태 3 및 실시의 형태 4에서는, 선점형(preemptive)의 태스크 관리가 행해져 있는 경우, 즉 타이머 인터럽트에 의해 강제적으로 태스크의 전환이 행해지는 경우에 있어서의 태스크 관리방법에 대해서 설명한다. 이하, 프레임 기간을 "t"로 한다. 실시의 형태 3에 관련된 태스크 관리방법은, 비 실시간 태스크를 비보호 대역으로서 할당된 기간에 실행하는 것이다. 이하, 보호 대역으로서 할당된 기간을 "보호기간(tr)"이라고 하고, 비보호 대역으로서 할당된 기간을 "비보호기간(tn)"이라고 한다. 복수의 비 실시간 태스크가 있는 경우에는, 비보호기간(tn)을 등분하여 각각의 비 실시간 태스크가 실행된다.In the third and fourth embodiments, a task management method will be described when preemptive task management is performed, that is, when a task is forcibly switched by a timer interrupt. Hereinafter, the frame period is referred to as "t". The task management method according to the third embodiment is to execute a non-real time task in a period allocated as an unprotected band. Hereinafter, the period allocated as the guard band is referred to as "protection period tr", and the period allocated as the unprotected band is referred to as "unprotected period tn". When there are a plurality of non real time tasks, each non real time task is executed by dividing the non-protection period tn.
도 13의 (a)는 동작주파수가 f0인 경우의 태스크의 실행상태를 나타내는 도이다. 동작주파수가 f0인 때, 보호기간(tr)은 0.7t이고 비보호기간(tn)은 0.3t이다. 비 실시간 태스크가 2개 있으므로, 각각의 비 실시간 태스크는 0.15t의 기간씩 순서대로 실행된다.FIG. 13A is a diagram illustrating an execution state of a task when the operating frequency is f 0 . When the operating frequency is f 0 , the guard period tr is 0.7t and the unprotected period tn is 0.3t. Since there are two non-real time tasks, each non-real time task is executed in order of a period of 0.15t.
도 13의 (b)는 동작주파수가 0.8f0인 경우의 태스크의 실행상태를 나타내는 도이다. 동작주파수가 0.8f0인 때, 동작주파수의 주기는 t/(0.8·f0)이므로 보호기 간(tr)은 0.7f0·t/(0.8·f0)=7/8·t이고, 비보호기간(tn)은 1/8·t이다. 비 실시간 태스크가 2개 있으므로, 각각의 비 실시간 태스크는 1/16·t의 기간씩 순서대로 실행된다. 본 도면에서는, 보호기간(tr) 사이를 실시간 태스크(RT)가 점유하고 있으나, 실시간 태스크(RT)의 프로그램은 보호기간(tr)보다 짧은 기간에서 처리가 완료하도록 설계되므로, 일반적으로는 보호기간(tr)의 전부를 점유하는 일은 없다.FIG. 13B is a diagram illustrating an execution state of a task when the operating frequency is 0.8f 0 . When the operating frequency is 0.8f 0 , the period of the operating frequency is t / (0.8 · f 0 ), so the guard period tr is 0.7f 0 · t / (0.8 · f 0 ) = 7/8 · t and is unprotected. The period tn is 1/8 · t. Since there are two non-real time tasks, each non-real time task is executed in order of a period of 1/16 · t. In the figure, the real time task RT occupies between the protection period tr, but since the program of the real time task RT is designed to complete processing in a period shorter than the protection period tr, generally, the protection period It does not occupy all of (tr).
도 14는 실시의 형태 3에 관련된 태스크 관리부(150)의 내부 구성도의 일례를 나타내는 도이다. 이미 설명한 구성과 동일한 부호를 붙인 본 도면의 구성은, 기능 및 동작이 이미 설명한 구성과 거의 동일하다. 이하, 이미 설명한 구성에 있어서의 기능과는 다른 점을 중심으로 설명한다. 스케줄 작성부(156)는 도 13을 이용하여 설명한 바와 같이 태스크의 스케줄링을 행한다. 스케줄 작성부(156)는 태스크 테이블(164)로부터 실시간 태스크와 비 실시간 태스크를 읽어들여, 실시간 태스크에 이어서 비 실시간 태스크를 실행하도록 스케줄을 작성한다. 또한, 스케줄 작성부(156)는 스케줄링을 위해 제어목표 테이블(160)을 참조하여, 동작주파수에 따른 비 실시간 태스크의 실행시간을 산출한다. 그리고 스케줄 작성부(156)는, 예를 들면 비 실시간 태스크마다 실행시간을 대응시켜서 스케줄을 작성한다. 지시부(158)는 스케줄에 포함되는 실행시간에 기초하여 비 실시간 태스크를 전환하기 위한 인터럽트 타이머를 설정한다.14 is a diagram illustrating an example of an internal configuration diagram of the
도 15는 도 14의 제어목표 테이블(160)에 보유되어 있는 데이터를 그래프 표시한 도이다. 제어목표 테이블(160)은 동작주파수와, 비 실시간 태스크를 실행하기 위해 프로세서를 점유할 수 있는 시간, 즉 비보호기간(tn)을 대응시켜서 보유한다. 제어목표 테이블(160)에 보유되어 있는 이들 데이터를, 가로축에 동작주파수를 취하고 세로축에 비보호기간(tn)을 취하여 그래프로 하면, 본 도면과 같이 0.7f0를 경계로 하여 다른 양상이 된다. 본 실시의 형태에서는 보호 대역이 0.7f0로 설정되어 있다. 비보호 대역인 f0에서 0.9f0인 때는 비보호기간(tn)이 0.3t이고, 0.9f0에서 0.7f0인 때는 0.3t에서 1.01t까지 선형으로 비보호기간(tn)이 짧아져 있다. 또한 동작주파수가 보호 대역인 0.7f0보다 낮아지면 보호기간(tn)이 0.01t이 된다. 0.7f0보다 낮아진 경우, 실시간 태스크의 실시간성을 보증한다는 의미로서 비보호기간(tn)을 0으로 해도 되지만, 본 실시의 형태에서는 비 실시간 태스크가 전혀 실행되지 않는다고 하는 상황을 피하기 위해 비보호기간(tn)이 0.01t로 되어 있다. 예를 들면, 비보호기간(tn)이 "0.1t"이고 비 실시간 태스크가 2개 있는 경우, 각각의 비 실시간 태스크의 실행시간은 0.05t가 된다. 도 14의 스케줄 작성부(156)는 이 제어목표에 기초하여 비 실시간 태스크의 실행시간을 조정한다.FIG. 15 is a graph showing data held in the control target table 160 of FIG. 14. The control target table 160 keeps the operating frequency corresponding to the time that can occupy the processor to execute the non-real time task, that is, the non-protection period tn. When these data held in the control target table 160 are plotted with the operating frequency on the horizontal axis and the non-protection period tn on the vertical axis, the data becomes different from 0.7f 0 as shown in the figure. In the present embodiment, the guard band is set to 0.7f 0 . In the unprotected band f 0 to 0.9f 0 , the unprotected period tn is 0.3t, and in the 0.9f 0 to 0.7f 0 , the unprotected period tn is linearly shortened from 0.3t to 1.01t. In addition, when the operating frequency is lower than 0.7f 0 , the guard band, the guard period tn is 0.01t. When it is lower than 0.7f 0 , the non-protection period tn may be set to 0 to guarantee the real-time performance of the real-time task. However, in the present embodiment, the non-protection period (tn ) Is 0.01t. For example, when the non-protection period tn is "0.1t" and there are two non-real time tasks, the execution time of each non-real time task is 0.05t. The
(실시의 형태 4)(Embodiment 4)
도 16은 실시의 형태 4에 관련된 태스크 관리부(150)의 내부 구성도이다. 실시의 형태 4는, 반도체 집적회로(100)의 사용률에 따라 제어목표 테이블(160)을 최적화하는 형태이다. 이미 설명한 구성과 동일한 부호를 붙인 본 도면의 구성은, 기능 및 동작이 이미 설명한 구성과 거의 동일하다. 이하, 이미 설명한 구성에 있어 서의 기능과는 다른 점을 중심으로 설명한다.16 is an internal configuration diagram of a
갱신부(192)는 소정의 기간에 있어서의 반도체 집적회로(100)의 사용률의 평균값을 산출하고, 그 평균값에 기초하여 비보호기간(tn)을 늘리도록 제어목표 테이블(160)을 최적화한다. 평균값이 역치값보다 작은 경우, 즉 부하가 비교적 적은 경우, 갱신부(192)는 제어목표 테이블(160)에 있어서의 비보호기간(tn)을 길게 한다. 평균값이 역치값보다 높을 경우, 갱신부(192)는 제어목표 테이블을 디폴트값으로 되돌린다. 갱신의 판단에 이용하는 역치값이나 비보호기간(tn)을 연장하는 길이는 실험에 의해 적절한 값이 설정되어도 되고, 실행에 수반하여 서서히 반영되어도 된다.The
도 17은 도 16의 갱신부(192)에 의해 최적화된 제어목표 테이블(160)에 보유되어 있는 데이터를 그래프 표시한 도이다. 본 도면에서는, 보호 대역이 0.5f0까지 시프트되고, 0.9f0에서 0.5f0인 때는 0.3t에서 0.01t까지 선형으로 비보호기간(tn)이 짧아져 있다. 이와 같이, 프로세서의 사용률에 따라 보호 대역을 조정함으로써 프로세서의 처리능력을 유효하게 이용할 수 있다.FIG. 17 is a graph showing data held in the control target table 160 optimized by the
이상, 본 발명을 실시의 형태를 바탕으로 설명했다. 이들의 실시의 형태는 예시이며, 그들의 각 구성요소나 각 처리 프로세스의 조합에 여러 가지 변형예가 가능하다는 것, 또 그러한 변형예도 본 발명의 범위에 있다는 것은 당업자에게 이해되는 부분이다. 이러한 변형예로서, 실시의 형태 1에서 실시의 형태 4에서는, 1프레임 기간에 묘화처리를 완료해야 할 시간적 제약이 있는 태스크를 보호 대역에 할당하고, 시간적 제약이 없는 태스크를 비보호 대역에 할당하는 것으로서 설명했으나, 보호 대역 또는 비보호 대역에 할당하는 조건은 이것에 한정되지 않는다.In the above, this invention was demonstrated based on embodiment. These embodiments are illustrative, and it is understood by those skilled in the art that various modifications are possible to the combinations of their respective components and respective treatment processes, and that such modifications are also within the scope of the present invention. As such a modification, in the first to fourth embodiments, a task having a time constraint for completing a drawing process in one frame period is allocated to a guard band, and a task without a time constraint is allocated to an unprotected band. Although it demonstrated, the conditions assigned to a guard band or an unprotected band are not limited to this.
시간적 제약과는 다른 관점에서 태스크를 보호 대역 또는 비보호 대역에 할당해도 되는데, 예를 들면 데이터를 확실하게 기록할 필요가 있는지 여부의 관점에서 태스크를 보호 대역 또는 비보호 대역의 어느 쪽에 할당해도 된다. 이 경우, 예를 들면 프로그램 방송을 녹화하는 태스크와 워드프로세서의 태스크가 있는 경우, 녹화의 태스크를, 데이터를 확실하게 기록한다는 관점에서 보호 대역에 할당하고, 워드프로세서의 태스크를 비보호 대역에 할당해도 된다. 이와 같이, 보호 대역과 비보호 대역에 분배하는 조건을 바꿈으로써, 실시의 형태에서 설명한 태스크 관리방법을, 예를 들면 항공기의 제어용 컴퓨터나 자동차의 제어용 컴퓨터 등 실시간 OS를 탑재하는 전자장치에 채용할 수 있다.The task may be allocated to the guard band or the unprotected band from a viewpoint different from the time constraint. For example, the task may be allocated to either the guard band or the unprotected band from the viewpoint of whether data needs to be recorded reliably. In this case, for example, if there are a task of recording a program broadcast and a task of a word processor, the task of recording may be assigned to the guard band in terms of reliably recording data, and the task of the word processor may be assigned to the unprotected band. do. In this way, by changing the conditions to be allocated to the guard band and the unprotected band, the task management method described in the embodiment can be employed in an electronic device equipped with a real-time OS such as, for example, a control computer for an aircraft or a control computer for an automobile. have.
다른 변형예로서, 실시의 형태에서는 열 제어라는 관점에서 반도체 집적회로(100)의 동작주파수가 제어되는 것으로 했으나, 예를 들면, 전력소비라는 관점에서 동작주파수가 제어되어도 된다. 소비전력은 클럭의 동작주파수, 회로의 트랜지스터 수, 및 전원전압의 2승에 비례한다. 역으로 말하면, 동작주파수, 부하가 되는 트랜지스터 수, 및 전원전압을 알면 소비전력을 산출할 수 있다. 예를 들면, 도 3의 주파수제어부(110)는 레귤레이터의 출력 전압값을 측정하는 센서로부터 전압값을 취득하여, 그 전압값으로부터 산출되는 소비전력이 소정의 역치값보다 높아진 경우, 열 폭주를 방지하기 위해 동작주파수를 낮게 해도 된다. 또한, 전원 모드가 배터리 모드인지 AC전원 모드인지를 판단하여 배터리 모드의 경우면 절전을 위해 동작주파 수를 낮게 해도 된다. 이러한 경우에도, 실시의 형태에서 설명한 태스크 관리방법에 따르면 실시간 태스크의 실시간성이 보증된다.As another modification, in the embodiment, the operating frequency of the semiconductor integrated
다른 변형예로서, 실시의 형태에서는 주처리부(120)에 있어서의 동작주파수에 따라 비 실시간 태스크의 실행률이 조정되는 것으로 했으나, 주처리부(120) 또는 그 주변회로의 온도에 따라 비 실시간 태스크의 실행률이 조정되어도 된다. 예를 들면, 주처리부(120)에 공급하는 클럭의 동작주파수를 주처리부(120) 또는 그 주변회로의 온도에 따라 소프트웨어와는 독립적으로 제어하는 회로가 설치되어 있는 경우, 동작주파수는 주처리부(120) 또는 그 주변회로의 온도에 따라 하드웨어적으로 제어된다. 이러한 회로에 있어서, 소프트웨어적으로 취득할 수 있는 정보가 주파수 정보가 아니라 온도 정보인 경우, 즉 도 3의 태스크 관리부(150)가 주파수 정보가 아니라 온도 정보를 취득할 수 있는 경우, 온도 정보에 기초하여 태스크의 실행률이 조정되어도 된다. 이 경우, 예를 들면 도 4의 제어목표 테이블(160)은 주처리부(120) 또는 그 주변회로의 온도와 실행률을 대응시켜서 보유하고, 도 4의 스케줄 작성부(156)는 이 테이블에 기초하여 비 실시간 태스크를 실행하는 타이밍을 조정한다.As another variation, in the embodiment, the execution rate of the non-real time task is adjusted according to the operating frequency in the
또한, 주처리부(120) 또는 반도체 집적회로(100)의 소비전력에 따라 비 실시간 태스크의 실행률이 조정되어도 된다. 각종 전원관리 소프트웨어 등으로부터 도 3의 태스크 관리부(150)가 주파수 정보가 아니라 소비전력 정보를 취득할 수 있는 경우, 소비전력 정보에 기초하여 태스크의 실행률이 조정되어도 된다. 이 경우, 예를 들면 도 4의 제어목표 테이블(160)은 소비전력 정보와 실행률을 대응시켜서 보 유하고, 도 4의 스케줄 작성부(156)는 이 테이블에 기초하여 비 실시간 태스크를 실행하는 타이밍을 조정한다.In addition, the execution rate of the non-real time task may be adjusted according to the power consumption of the
본 발명은 프로세서의 태스크 관리의 분야에 적용할 수 있다.The present invention can be applied to the field of task management of a processor.
Claims (29)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020067011159A KR100838438B1 (en) | 2004-06-01 | 2005-04-08 | Task management method, task management device, semiconductor integrated circuit, electronic device, task management system, and recording medium storing program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2004-00163649 | 2004-06-01 | ||
KR1020067011159A KR100838438B1 (en) | 2004-06-01 | 2005-04-08 | Task management method, task management device, semiconductor integrated circuit, electronic device, task management system, and recording medium storing program |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070022198A KR20070022198A (en) | 2007-02-26 |
KR100838438B1 true KR100838438B1 (en) | 2008-06-16 |
Family
ID=43653973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067011159A KR100838438B1 (en) | 2004-06-01 | 2005-04-08 | Task management method, task management device, semiconductor integrated circuit, electronic device, task management system, and recording medium storing program |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100838438B1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101466399B1 (en) * | 2008-05-06 | 2014-11-27 | 엘지전자 주식회사 | Data processing device and method for controlling the operating period thereof |
KR102326945B1 (en) * | 2014-03-14 | 2021-11-16 | 삼성전자 주식회사 | Task Migration Method and Apparatus |
KR20200101199A (en) * | 2019-02-19 | 2020-08-27 | 삼성전자주식회사 | Electronic device for performing thermal controlling and method for operating thefeof |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10171668A (en) * | 1996-12-05 | 1998-06-26 | Fujitsu Ltd | Cyclic process load control system and cyclic process storage medium |
JP2003108260A (en) * | 2001-09-28 | 2003-04-11 | Hitachi Ltd | Information processer and controlling method therefor |
-
2005
- 2005-04-08 KR KR1020067011159A patent/KR100838438B1/en not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10171668A (en) * | 1996-12-05 | 1998-06-26 | Fujitsu Ltd | Cyclic process load control system and cyclic process storage medium |
JP2003108260A (en) * | 2001-09-28 | 2003-04-11 | Hitachi Ltd | Information processer and controlling method therefor |
Also Published As
Publication number | Publication date |
---|---|
KR20070022198A (en) | 2007-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3862715B2 (en) | Task management method, task management device, semiconductor integrated circuit, electronic device, and task management system | |
JP3830491B2 (en) | Processor, multiprocessor system, processor system, information processing apparatus, and temperature control method | |
US7921313B2 (en) | Scheduling processor voltages and frequencies based on performance prediction and power constraints | |
Shen et al. | Learning based DVFS for simultaneous temperature, performance and energy management | |
US9081557B2 (en) | Dynamically allocating a power budget over multiple domains of a processor | |
US20080162965A1 (en) | Managing performance of a processor in a data processing image | |
US8069444B2 (en) | Method and apparatus for achieving fair cache sharing on multi-threaded chip multiprocessors | |
JP2004199659A (en) | Performance counter of data processing system | |
US7512820B2 (en) | Performance level selection in a data processing system by combining a plurality of performance requests | |
Li et al. | Performance directed energy management for main memory and disks | |
KR101518440B1 (en) | Dynamic performance control of processing nodes | |
US20130173946A1 (en) | Controlling power consumption through multiple power limits over multiple time intervals | |
JP2010079726A (en) | Program, device and method for supporting dynamic reconfiguration | |
Haghbayan et al. | Performance/reliability-aware resource management for many-cores in dark silicon era | |
JP2005285093A (en) | Processor power control apparatus and processor power control method | |
KR100838438B1 (en) | Task management method, task management device, semiconductor integrated circuit, electronic device, task management system, and recording medium storing program | |
Azhar et al. | SLOOP: QoS-supervised loop execution to reduce energy on heterogeneous architectures | |
US20240272699A1 (en) | Power management | |
JP4397843B2 (en) | Processor, multiprocessor system, and temperature control method | |
Ahn | Real-time task scheduling under thermal constraints | |
Yun | Operating system level resource management for real-time systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120521 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |