KR20220059617A - Apparatus and method for managing power of multi-core processor - Google Patents
Apparatus and method for managing power of multi-core processor Download PDFInfo
- Publication number
- KR20220059617A KR20220059617A KR1020200144969A KR20200144969A KR20220059617A KR 20220059617 A KR20220059617 A KR 20220059617A KR 1020200144969 A KR1020200144969 A KR 1020200144969A KR 20200144969 A KR20200144969 A KR 20200144969A KR 20220059617 A KR20220059617 A KR 20220059617A
- Authority
- KR
- South Korea
- Prior art keywords
- core
- idle
- period
- power
- cores
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000007726 management method Methods 0.000 claims description 82
- 238000011084 recovery Methods 0.000 claims description 13
- 230000000903 blocking effect Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000002093 peripheral effect Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000006866 deterioration Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- 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
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
Description
본 발명은 멀티 코어 프로세서 전력 관리 장치 및 방법에 관한 것으로서, 더 상세하게는, 상호 독립적인 연산 처리가 가능한 복수의 코어를 가진 멀티 코어 프로세서의 전력을 효율적으로 관리하는 멀티 코어 프로세서 전력 관리 장치 및 방법에 관한 것이다.The present invention relates to a multi-core processor power management apparatus and method, and more particularly, to a multi-core processor power management apparatus and method for efficiently managing power of a multi-core processor having a plurality of cores capable of mutually independent arithmetic processing. is about
멀티 코어 프로세서(multi-core processor)는 상호 독립적으로 연산 처리를 수행하는 복수의 코어를 가진 프로세서로서, 싱글 코어 프로세서에 비해 상대적으로 낮은 클럭 주파수로 동작되는 복수의 코어를 통해 작업을 분산 처리하는 프로세서이다.A multi-core processor is a processor having a plurality of cores that independently perform arithmetic processing, and is a processor that distributes tasks through a plurality of cores operated at a relatively lower clock frequency than a single-core processor. am.
그러나, 한국 등록특허공보 제10-1088563호에 개시된 바와 같이, 기존 기술은 멀티 코어 프로세서에 의한 프로그램 실행 시, 단순히 필요한 코어의 수를 판단하고 해당 판단을 기초로 구동할 코어의 수를 제어하기 때문에, 활성 상태(active state)에서 유휴 상태(idle state)로 전환되는 코어의 소비 전력을 신속히 제어할 수 없음은 물론, 유휴 상태에서 활성 상태로 전환되는 코어의 동작을 신속히 재개할 수 없고, 코어들의 불균일한 열화를 방지할 수 없다는 문제점이 있다.However, as disclosed in Korean Patent Publication No. 10-1088563, the existing technology simply determines the number of required cores when executing a program by a multi-core processor and controls the number of cores to be driven based on the determination. , it is not possible to quickly control the power consumption of the core that is switched from the active state to the idle state, and it is not possible to quickly resume the operation of the core that is switched from the idle state to the active state, There is a problem that non-uniform deterioration cannot be prevented.
본 발명이 해결하고자 하는 기술적 과제는, 멀티 코어 프로세서에서 활성 상태와 유휴 상태로 번갈아 전환되는 복수의 코어의 소비 전력과 동작을 신속히 제어하여 멀티 코어 프로세서의 전력 효율과 동작 성능을 개선하고, 코어들의 불균일한 열화를 방지하는 멀티 코어 프로세서 전력 관리 장치 및 방법을 제공하는 것이다.The technical problem to be solved by the present invention is to improve the power efficiency and operation performance of the multi-core processor by quickly controlling the power consumption and operation of a plurality of cores alternately switched between an active state and an idle state in a multi-core processor, and To provide a multi-core processor power management apparatus and method for preventing non-uniform degradation.
본 발명의 일 실시예에 따른 멀티 코어 프로세서 전력 관리 장치는, 상호 독립적인 연산 처리가 가능한 복수의 코어를 가진 멀티 코어 프로세서의 전력을 관리하는 장치로서, 일정 주기마다 해당 주기에 발생한 상기 복수의 코어의 유휴 기간들을 합산하여, 상기 복수의 코어의 주기별 토털 유휴 기간들을 산출하는 유휴 기간 산출부; 상기 주기별 토털 유휴 기간들을 이용하여 다음 주기에 발생 가능한 상기 복수의 코어의 토털 유휴 기간을 추정하는 유휴 기간 추정부; 추정된 토털 유휴 기간을 상기 복수의 코어에 각각 할당하여 상기 다음 주기 동안의 코어별 유휴 예정 기간과 상기 코어별 유휴 예정 기간의 개시 시점을 결정하고, 상기 코어별 유휴 예정 기간과 상기 코어별 유휴 예정 기간의 개시 시점을 포함한 스케줄 정보를 생성하는 스케줄링부; 및 상기 복수의 코어 중에서 상기 스케줄 정보에 따라 유휴 상태로 들어간 유휴 코어가 발생하면, 상기 스케줄 정보에 포함된 상기 유휴 코어의 유휴 예정 기간 동안 상기 유휴 코어에 제공되는 전력을 감소시키거나 차단하는 전력 제어부를 포함한다.A multi-core processor power management apparatus according to an embodiment of the present invention is an apparatus for managing power of a multi-core processor having a plurality of cores capable of mutually independent arithmetic processing, and the plurality of cores generated in a corresponding period at regular intervals. an idle period calculation unit calculating total idle periods for each cycle of the plurality of cores by summing the idle periods of ; an idle period estimator for estimating total idle periods of the plurality of cores that may occur in a next period using the total idle periods for each period; The estimated total idle period is allocated to each of the plurality of cores to determine the start time of the scheduled idle period for each core and the scheduled idle period for each core during the next cycle, and the scheduled idle period for each core and the idle schedule for each core a scheduling unit generating schedule information including a start time of a period; and when an idle core that enters an idle state according to the schedule information occurs among the plurality of cores, a power control unit configured to reduce or block power provided to the idle core during an idle predetermined period of the idle core included in the schedule information includes
일 실시예에 있어서, 상기 유휴 기간 추정부는, 상기 주기별 토털 유휴 기간들 중 상기 다음 주기와 시간상 더 가까운 주기의 토털 유휴 기간에 더 큰 가중치를 부여하는 방식으로 각각 가중치가 부여된 주기별 토털 유휴 기간들을 이용하여, 상기 다음 주기에 발생 가능한 상기 복수의 코어의 토털 유휴 기간을 추정하도록 구성된다.In an embodiment, the idle period estimator is configured to give a greater weight to a total idle period of a period closer in time to the next period among the total idle periods for each period. and use the periods to estimate a total idle period of the plurality of cores that may occur in the next period.
일 실시예에 있어서, 상기 스케줄링부는, 상기 추정된 토털 유휴 기간을 이용하여 상기 다음 주기에서의 코어별 평균 동작 시간을 산출하고, 산출된 평균 동작 시간에 대응하는 각각의 코어의 소비 전력량을 해당 코어의 전력량 상한치로 결정하는 제1 결정 모듈; 상기 다음 주기에서 각각의 코어에 의해 소비되는 전력량이 상기 전력량 상한치를 초과하지 않도록 상기 추정된 토털 유휴 기간을 상기 복수의 코어에 각각 할당하여 상기 코어별 유휴 예정 기간을 결정하는 제2 결정 모듈; 상기 다음 주기의 시간대별로 동시에 동작하는 코어의 개수가 최소화되도록 상기 코어별 유휴 예정 기간의 개시 시점을 결정하는 제3 결정 모듈; 및 상기 코어별 유휴 예정 기간과 상기 코어별 유휴 예정 기간의 개시 시점을 포함한 스케줄 정보를 생성하는 스케줄 정보 생성 모듈을 포함한다.In an embodiment, the scheduling unit calculates an average operating time for each core in the next cycle using the estimated total idle period, and calculates the power consumption of each core corresponding to the calculated average operating time of the corresponding core. a first determination module for determining the upper limit of the amount of power of ; a second determination module for allocating the estimated total idle period to the plurality of cores so that the amount of power consumed by each core in the next cycle does not exceed the upper limit of the amount of power, and determining a scheduled idle period for each core; a third determination module for determining a start time of the scheduled idle period for each core so that the number of cores simultaneously operating for each time zone of the next cycle is minimized; and a schedule information generation module that generates schedule information including the scheduled idle period for each core and a start time of the scheduled idle period for each core.
일 실시예에 있어서, 상기 전력 제어부는, 상기 유휴 코어의 유휴 예정 기간 동안 상기 유휴 코어에 제공되는 전력을 감소시키거나 차단하되, 해당 유휴 예정 기간의 종료 시점보다 일정 시간 앞선 시점으로 결정된 전력 복원 시점에 상기 유휴 코어에 제공되는 전력을 복원하도록 구성된다.In one embodiment, the power control unit reduces or blocks the power provided to the idle core during the scheduled idle period of the idle core, but a power restoration time determined to be a predetermined time earlier than the end time of the corresponding idle time period and restore power provided to the idle core.
일 실시예에 있어서, 상기 전력 제어부는, 상기 복수의 코어 중에서 상기 유휴 코어와 유휴 예정 기간이 시간상 상호 중첩되는 적어도 하나의 다른 유휴 코어가 발생하면, 상기 다른 유휴 코어에 제공되는 전력을 상기 다른 유휴 코어의 유휴 예정 기간 동안 감소시키거나 차단하되, 상기 유휴 코어의 전력 복원 시점과 상이한 전력 복원 시점에 복원하도록 구성된다.In one embodiment, the power control unit, when at least one other idle core in which the idle core and the scheduled idle period overlap each other in time occurs among the plurality of cores, the power provided to the other idle core is transferred to the other idle core. It is configured to reduce or cut off during the predetermined idle period of the core, and to restore power at a different power recovery time than that of the idle core.
본 발명의 일 실시예에 따른 멀티 코어 프로세서 전력 관리 방법은, 하드웨어와 소프트웨어가 결합된 전력 관리 장치를 이용하여, 상호 독립적인 연산 처리가 가능한 복수의 코어를 가진 멀티 코어 프로세서의 전력을 관리하는 방법으로서, 상기 전력 관리 장치가 일정 주기마다 해당 주기에 발생한 상기 복수의 코어의 유휴 기간들을 합산하여, 상기 복수의 코어의 주기별 토털 유휴 기간들을 산출하는 (a) 단계; 상기 전력 관리 장치가 상기 주기별 토털 유휴 기간들을 이용하여 다음 주기에 발생 가능한 상기 복수의 코어의 토털 유휴 기간을 추정하는 (b) 단계; 상기 전력 관리 장치가 상기 (b) 단계에서 추정된 토털 유휴 기간을 상기 복수의 코어에 각각 할당하여 상기 다음 주기 동안의 코어별 유휴 예정 기간과 상기 코어별 유휴 예정 기간의 개시 시점을 결정하고, 상기 코어별 유휴 예정 기간과 상기 코어별 유휴 예정 기간의 개시 시점을 포함한 스케줄 정보를 생성하는 (c) 단계; 및 상기 복수의 코어 중에서 상기 스케줄 정보에 따라 유휴 상태로 들어간 유휴 코어가 발생하면, 상기 전력 관리 장치가 상기 스케줄 정보에 포함된 상기 유휴 코어의 유휴 예정 기간 동안 상기 유휴 코어에 제공되는 전력을 감소키거나 차단하는 (d) 단계를 포함한다.A multi-core processor power management method according to an embodiment of the present invention is a method for managing power of a multi-core processor having a plurality of cores capable of mutually independent arithmetic processing using a power management device in which hardware and software are combined. (a) calculating, by the power management apparatus, the total idle periods for each period of the plurality of cores by summing the idle periods of the plurality of cores occurring in the corresponding period for each predetermined period; (b) estimating, by the power management device, total idle periods of the plurality of cores that may occur in a next period using the total idle periods for each period; The power management device allocates the total idle period estimated in step (b) to each of the plurality of cores to determine a scheduled idle period for each core and a start time of the respective scheduled idle period for the next cycle, and (c) generating schedule information including a scheduled idle period for each core and a start time of the scheduled idle period for each core; and when an idle core that enters an idle state according to the schedule information occurs among the plurality of cores, the power management device reduces the power provided to the idle core during an idle predetermined period of the idle core included in the schedule information. or (d) blocking it.
일 실시예에 있어서, 상기 (b) 단계는, 상기 전력 관리 장치가 상기 주기별 토털 유휴 기간들 중 상기 다음 주기와 시간상 더 가까운 주기의 토털 유휴 기간에 더 큰 가중치를 부여하는 방식으로 각각 가중치가 부여된 주기별 토털 유휴 기간들을 이용하여, 상기 다음 주기에 발생 가능한 상기 복수의 코어의 토털 유휴 기간을 추정하는 단계를 포함한다.In one embodiment, in the step (b), the power management device is weighted in such a way that a greater weight is given to a total idle period of a period closer in time to the next period among the total idle periods for each period. and estimating total idle periods of the plurality of cores that may occur in the next period by using the assigned total idle periods for each period.
일 실시예에 있어서, 상기 (c) 단계는, 상기 전력 관리 장치가 상기 추정된 토털 유휴 기간을 이용하여 상기 다음 주기에서의 코어별 평균 동작 시간을 산출하고, 산출된 평균 동작 시간에 대응하는 각각의 코어의 소비 전력량을 해당 코어의 전력량 상한치로 결정하는 단계; 상기 다음 주기에서 각각의 코어에 의해 소비되는 전력량이 상기 전력량 상한치를 초과하지 않도록 상기 전력 관리 장치가 상기 추정된 토털 유휴 기간을 상기 복수의 코어에 각각 할당하여 상기 코어별 유휴 예정 기간을 결정하는 단계; 상기 다음 주기의 시간대별로 동시에 동작하는 코어의 개수가 최소화되도록 상기 전력 관리 장치가 상기 코어별 유휴 예정 기간의 개시 시점을 결정하는 단계; 및 상기 전력 관리 장치가 상기 코어별 유휴 예정 기간과 상기 코어별 유휴 예정 기간의 개시 시점을 포함한 스케줄 정보를 생성하는 단계를 포함한다.In one embodiment, in step (c), the power management device calculates an average operating time for each core in the next cycle using the estimated total idle period, and each corresponding to the calculated average operating time. determining the power consumption of the core as the upper limit of the power consumption of the corresponding core; determining, by the power management device, the estimated total idle period to each of the plurality of cores so that the amount of power consumed by each core in the next cycle does not exceed the upper limit of the amount of power, and determining the scheduled idle period for each core ; determining, by the power management device, a start time of a scheduled idle period for each core so that the number of cores simultaneously operating for each time zone of the next cycle is minimized; and generating, by the power management device, schedule information including the scheduled idle period for each core and a start time of the scheduled idle period for each core.
일 실시예에 있어서, 상기 (d) 단계는, 상기 전력 관리 장치가 상기 유휴 코어의 유휴 예정 기간 동안 상기 유휴 코어에 제공되는 전력을 감소시키거나 차단하되, 해당 유휴 예정 기간의 종료 시점보다 일정 시간 앞선 시점으로 결정된 전력 복원 시점에 상기 유휴 코어에 제공되는 전력을 복원하는 단계를 포함한다.In one embodiment, in step (d), the power management device reduces or cuts off the power provided to the idle core during the idle scheduled period of the idle core, but a predetermined time from the end of the idle scheduled period and restoring power provided to the idle core at a power recovery time determined as a previous time point.
일 실시예에 있어서, 상기 방법은, 상기 복수의 코어 중에서 상기 유휴 코어와 유휴 예정 기간이 시간상 상호 중첩되는 적어도 하나의 다른 유휴 코어가 발생하면, 상기 전력 관리 장치가 상기 다른 유휴 코어에 제공되는 전력을 상기 다른 유휴 코어의 유휴 예정 기간 동안 감소시커나 차단하되, 상기 유휴 코어의 전력 복원 시점과 상이한 전력 복원 시점에 복원하는 (e) 단계를 더 포함한다.In one embodiment, in the method, when at least one other idle core in which the idle core and the scheduled idle period overlap each other in time occurs among the plurality of cores, the power management device provides power to the other idle cores The method further includes (e) reducing or blocking the other idle core during the predetermined idle period, and restoring the idle core at a different power recovery time point than that of the idle core power recovery time point.
본 발명에 따른 실시예들은, 상술한 동작 또는 방법을 컴퓨터 시스템을 통해 실행하는 컴퓨터 프로그램으로서 기록매체에 기록되는 컴퓨터 프로그램을 이용하여 구현될 수 있다.Embodiments according to the present invention may be implemented using a computer program recorded in a recording medium as a computer program for executing the above-described operation or method through a computer system.
본 발명에 따르면, 멀티 코어 프로세서의 코어들에 대해 일정 주기마다 산출된 토털 유휴 기간을 이용하여 다음 주기에 발생 가능한 상기 코어들의 토털 유휴 기간을 추정하고, 이와 같이 추정된 토털 유휴 기간을 기반으로 스케줄링된 코어별 유휴 예정 기간에 따라 상기 코어들의 소비 전력과 동작을 신속히 제어함으로써, 멀티 코어 프로세서의 전력 효율과 동작 성능을 개선할 수 있다.According to the present invention, the total idle period of the cores of the multi-core processor that can be generated in the next period is estimated using the total idle period calculated at every predetermined period, and scheduling is performed based on the estimated total idle period. By quickly controlling the power consumption and operation of the cores according to the scheduled idle period for each core, the power efficiency and operation performance of the multi-core processor can be improved.
주기별로 산출된 토털 유휴 기간들 중 다음 주기와 시간상 더 가까운 주기의 토털 유휴 기간에 더 큰 가중치를 부여하고, 이러한 가중치가 부여된 주기별 토털 유휴 기간들을 이용하여 상기 다음 주기에 발생 가능한 코어들의 토털 유휴 기간을 추정함으로써, 유휴 기간 추정의 정확성과 신뢰성을 개선할 수 있다.Among the total idle periods calculated for each period, a greater weight is given to a total idle period of a period closer in time to the next period, and the total number of cores that can be generated in the next period using the total idle periods for each period to which this weight is assigned By estimating the idle period, the accuracy and reliability of the idle period estimation can be improved.
또한, 유휴 코어의 유휴 기간 동안 상기 유휴 코어에 제공되는 전력을 감소시키거나 차단하되, 해당 유휴 기간의 종료 시점보다 일정 시간 앞선 시점으로 결정된 전력 복원 시점에 상기 유휴 코어에 제공되는 전력을 복원함으로써, 유휴 상태에서 활성 상태로 전환되는 코어의 동작을 신속히 재개할 수 있다.In addition, by reducing or blocking the power provided to the idle core during the idle period of the idle core, and restoring the power provided to the idle core at a power recovery time determined to be a predetermined time earlier than the end point of the idle period, A core that transitions from an idle state to an active state can quickly resume operation.
또한, 한 주기 동안 소비 가능한 코어별 전력량 상한치를 결정하고, 각각의 코어에 의해 소비되는 전력량이 상기 전력량 상한치를 초과하지 않도록 코어별 유휴 예정 기간을 스케줄링함으로써, 멀티 코어 프로세서에 포함된 코어들 간의 불균일한 열화를 방지할 수 있다.In addition, non-uniformity between cores included in the multi-core processor is determined by determining the upper limit of the amount of power consumed by each core during one cycle, and scheduling the idle period for each core so that the amount of power consumed by each core does not exceed the upper limit of the amount of power. deterioration can be prevented.
나아가, 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자라면, 본 발명에 따른 다양한 실시예들이 상기 언급되지 않은 여러 기술적 과제들을 해결할 수 있음을 이하의 설명으로부터 자명하게 이해할 수 있을 것이다.Furthermore, those of ordinary skill in the art to which the present invention pertains will clearly understand from the following description that various embodiments according to the present invention can solve various technical problems not mentioned above.
도 1은 본 발명이 적용되는 멀티 코어 프로세서의 일례를 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 멀티 코어 프로세서 전력 관리 장치를 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 멀티 코어 프로세서 전력 관리 방법의 전력 제어 프로세스를 나타낸 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 멀티 코어 프로세서 전력 관리 방법의 스케줄 정보 생성 프로세스를 나타낸 흐름도이다.
도 5는 본 발명에 따라 생성된 스케줄 정보의 일례를 나타낸 도면이다.
도 6은 본 발명에 따라 코어에 제공되는 시간별 전력 레벨의 일례를 나타낸 도표이다.1 is a diagram showing an example of a multi-core processor to which the present invention is applied.
2 is a block diagram illustrating a multi-core processor power management apparatus according to an embodiment of the present invention.
3 is a flowchart illustrating a power control process of a multi-core processor power management method according to an embodiment of the present invention.
4 is a flowchart illustrating a schedule information generation process of a multi-core processor power management method according to an embodiment of the present invention.
5 is a diagram illustrating an example of schedule information generated according to the present invention.
6 is a diagram illustrating an example of an hourly power level provided to a core in accordance with the present invention.
이하, 본 발명의 기술적 과제에 대한 해결 방안을 명확화하기 위해 첨부도면을 참조하여 본 발명의 실시예들을 상세하게 설명한다. 다만, 본 발명을 설명함에 있어서 관련 공지기술에 관한 설명이 오히려 본 발명의 요지를 불명료하게 하는 경우 그에 관한 설명은 생략하기로 한다. 또한, 본 명세서에서 사용되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이들은 설계자, 제조자 등의 의도 또는 관례 등에 따라 달라질 수 있을 것이다. 그러므로 후술되는 용어들의 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings in order to clarify solutions to the technical problems of the present invention. However, in the description of the present invention, if the description of the related known technology rather obscures the gist of the present invention, the description thereof will be omitted. In addition, the terms used in this specification are terms defined in consideration of functions in the present invention, and these may vary according to the intentions or customs of designers, manufacturers, and the like. Therefore, definitions of terms to be described below should be made based on the content throughout this specification.
도 1에는 본 발명이 적용되는 멀티 코어 프로세서(10)의 일례를 나타낸 도면이다.1 is a view showing an example of a
도 1에 도시된 바와 같이, 본 발명이 적용되는 멀티 코어 프로세서(10)는 상호 독립적으로 연산 처리를 수행하는 복수의 코어(11), 클럭 발생기(12), 전압 레귤레이터(13), 입출력 인터페이스(14), 노스 브리지(north bridge)(15), 메모리 컨트롤러(16) 등을 포함할 수 있다. 이러한 멀티 코어 프로세서(10)는 외부 메모리(20)와 연결될 수 있다. 이러한 멀티 코어 프로세서(10)는 일종의 온칩 시스템으로 구현될 수 있다.1, the
멀티 코어 프로세서(10)에 포함되는 코어(11)의 개수는 실시예에 따라 다양하게 변경될 수 있다. 멀티 코어 프로세서(10)에 포함된 코어들은 전부 동일하게 구성되거나, 1 이상의 코어가 다른 코어들과 상이하게 구성될 수 있다. 각각의 코어(11)는 적어도 하나의 실행 유닛, 캐시 메모리, 스케줄러, 분기 예측 회로 등을 포함할 수 있다.The number of
이러한 코어(11)는 노스 브리지(15)에 연결될 수 있다. 노스 브리지(15)는 메모리(20)나 다양한 주변 장치에 대한 인터페이스를 포함하여 각각의 코어(11)에 인터페이스 기능을 제공하도록 구성될 수 있다. 예컨대, 각각의 코어(11)는 메모리(20)에 액세스하기 위한 리퀘스트를 전송할 수 있다. 이러한 리퀘스트는 읽기 리퀘스트나 쓰기 리퀘스트를 포함할 수 있으며, 노스 브리지(15)를 통해 전송될 수 있다. 또한, 메모리(20)에 액세스하기 위한 리퀘스트는 메모리 컨트롤러(16)를 통해 라우팅될 수 있다.This
클럭 발생기(12)는 코어들 각각에 대응하는 클럭 신호를 생성하여 분배하도록 구성된 복수의 PLL(Phase-Locked Loop) 회로를 포함할 수 있다. 즉, 각각의 코어(11)에 제공되는 클럭 신호는 상호 독립적으로 구성될 수 있다. 아래에서 다시 설명하겠지만, 클럭 발생기(12)는 본 발명에 따른 전력 관리 장치(100)의 제어에 따라, 코어별로 제공되는 클럭 신호들의 주파수를 각각 개별적으로 변경하거나 차단할 수 있다. 예컨대, 전력 관리 장치(100)가 클럭 발생기(12)를 제어하는 디지털 신호를 변경하면, 클럭 발생기(12)는 디지털 신호의 변경에 대응하여 특정 코어에 제공되는 클럭 신호의 주파수를 변경하거나 차단할 수 있다. 코어(11)에 제공되는 클럭 신호의 주파수는 해당 코어(11)의 동작에 요구되는 성능에 따라 증가되거나 감소될 수 있다.The
전압 레귤레이터(13)는 각각의 코어(11)에 개별적으로 공급 전압을 제공하거나, 제공하고 있는 공급 전압을 변경할 수 있다. 아래에서 다시 설명하겠지만, 전압 레귤레이터(13)는 본 발명에 따른 전력 관리 장치(100)의 제어에 따라, 코어별로 제공되는 공급 전압을 각각 개별적으로 변경하거나 차단할 수 있다. 예컨대, 전력 관리 장치(100)가 전압 레귤레이터(13)를 제어하는 디지털 신호를 변경하면, 전압 레귤레이터(13)는 디지털 신호의 변경에 대응하여 해당 코어에 제공되는 전압을 변경하거나 차단할 수 있다.The
입출력 인터페이스(14)는 노스 브리지(15)에 연결될 수 있다. 입출력 인터페이스(14)는 컴퓨터 시스템에서 사우스 브리지(south bridge)로 기능할 수 있다. 이 경우, 입출력 인터페이스(14)에 다양한 주변 장치 버스들이 연결될 수 있다. 예컨대, PCI(Peripheral Component Interconnect) 버스, PCI-X(PCI-Extended) 버스, PCIE(PCI Express) 버스, GBE(Gigabit Ethernet) 버스, USB(Universal Serial Bus) 등이 입출력 인터페이스(14)에 연결될 수 있다. 이러한 주변 장치 버스에는 다양한 주변 장치들이 연결될 수 있다. 이러한 주변 장치들은 센서, 키보드, 마우스, 프린터, 스캐너, 외부 저장 장치, 네트워크 인터페이스 카드 등을 선택적으로 포함할 수 있다. 주변 장치 버스를 통해 입출력 인터페이스(14)에 연결되는 주변 장치들 중 적어도 일부는 DMA(Direct Memory Access)를 이용하여 메모리 액세스 리퀘스트를 전송할 수 있다. 이러한 리퀘스트들은 입출력 인터페이스(14)를 통해 노스 브리지(15)에 전달될 수 있으며, 메모리 컨트롤러(16)를 통해 라우팅될 수 있다.The input/
한편, 본 발명에 따른 전력 관리 장치(100)는 이러한 멀티 코어 프로세서(10)에서 복수의 코어(11)에 의해 소비되는 전력을 관리하도록 구성된다. 이를 위해, 상기 전력 관리 장치(100)는 멀티 코어 프로세서(10)의 노스 브리지(15)에 마련될 수 있다. 이러한 전력 관리 장치(100)는 일종의 컴퓨팅 장치로서 프로세서, 메모리 등과 같은 하드웨어와, 하드웨어를 통해 실행되는 소프트웨어의 결합으로 구성될 수 있다. 실시예에 따라, 상기 전력 관리 장치(100)는 멀티 코어 프로세서(10)의 외부에 마련되어 멀티 코어 프로세서(10)와 연동하도록 구성될 수도 있다.Meanwhile, the
도 2에는 본 발명의 일 실시예에 따른 멀티 코어 프로세서 전력 관리 장치(100)가 블록도로 도시되어 있다.2 is a block diagram illustrating a multi-core processor
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 전력 관리 장치(100)는 유휴 기간 산출부(110), 유휴 기간 추정부(120), 스케줄링부(130) 및 전력 제어부(140)를 포함한다.As shown in FIG. 2 , the
상기 유휴 기간 산출부(110)는 일정 주기마다 해당 주기에 발생한 복수의 코어(11)의 유휴 기간들을 모두 합산하여, 상기 복수의 코어(11)의 주기별 토털 유휴 기간들을 산출하도록 구성된다. 예컨대, 각각의 주기에 대응하는 복수의 코어(11)의 토털 유휴 기간 Pt은 아래 수학식 1과 같이 산출될 수 있다.The
[수학식 1][Equation 1]
Pt(N) = P1 + P2 + … + Pt(N) = P1 + P2 + … + PnPn
수학식 1에서, Pt(N)은 제N차 주기에서 발생한 복수의 코어의 토털 유휴 기간을 나타내고, Pn은 제N차 주기에서 발생한 코어n의 유휴 기간을 나타낸다.In
이 경우, 상기 유휴 기간 산출부(110)는 복수의 코어(11)에 각각 대응하는 복수의 타이머(timer)를 포함할 수 있다. 각각의 타이머는 대응 코어의 동작이 감지되면 정지되고, 대응 코어의 동작이 정지되면 동작 정지 후 경과 시간을 측정하여 대응 코어의 유휴 기간을 누적적으로 측정할 수 있다. 새로운 주기가 도래하면, 복수의 타이머는 리셋될 수 있다.In this case, the
상기 유휴 기간 추정부(120)는 상기와 같이 산출된 주기별 토털 유휴 기간들을 이용하여, 다음 주기에 발생 가능한 복수의 코어(11)의 토털 유휴 기간을 추정하도록 구성된다.The
이 경우, 유휴 기간 추정부(120)는 주기별 토털 유휴 기간들 중 다음 주기와 시간상 더 가까운 주기의 토털 유휴 기간에 더 큰 가중치(weight)를 부여하는 방식으로 각각 가중치가 부여된 주기별 토털 유휴 기간들을 이용하여, 다음 주기에 발생 가능한 복수의 코어(11)의 토털 유휴 기간을 추정하도록 구성될 수 있다. 예컨대, 유휴 기간 추정부(120)는 아래 수학식 2와 같이 가중 평균을 이용하여 다음 주기인 제N+1차 주기에 발생 가능한 복수의 코어(11)의 토털 유휴 기간을 추정할 수 있다.In this case, the
[수학식 2][Equation 2]
ePtePt (N+1) = ((N+1) = ( ww nn ·Pt(N) + ·Pt(N) + ww nn -1-One ·Pt(N-1) + … + · Pt(N-1) + … + ww nn -m-m ·Pt(N-m))/(m+1)Pt(N-m))/(m+1)
수학식 2에서, ePt(N+1)는 제N+1차 주기에 대해 추정된 토털 유휴 기간을 나타내고, Pt(N)은 제N차 주기에서 산출된 토털 유휴 기간을 나타내고, wn 는 가중치를 나타낸다.In
이 경우, 상기 유휴 기간 추정부(120)는 코어별로 현재 시점에서 소급하여 일정 시간 내에 도래했던 주기들에 대해서만 해당 주기에 측정된 토털 유휴 기간을 저장할 수 있다. 이를 위해, 유휴 기간 추정부(120)는 FIFO(First-In First-Out) 메모리를 포함할 수 있다. FIFO 메모리는 현재 시점에서 소급하여 일정 시간 내에 도래했던 주기들에서 각각 측정된 토털 유휴 기간들을 해당 주기별로 저장할 수 있다. 그리고 새로운 회차의 주기가 도래하면, FIFO 메모리에 저장된 토털 유휴 기간들 중 가장 오래된 주기에서 측정된 토털 유휴 기간이 삭제되고, 새로운 회차의 주기에 측정된 토털 유휴 기간이 FIFO 메모리에 새롭게 저장된다.In this case, the
상기 스케줄링부(130)는 상기와 같이 추정된 토털 유휴 기간을 상기 복수의 코어(11)에 각각 할당하여 다음 주기 동안의 코어별 유휴 예정 기간과 상기 코어별 유휴 예정 기간의 개시 시점을 결정하고, 상기 코어별 유휴 예정 기간과 상기 코어별 유휴 예정 기간의 개시 시점을 포함한 스케줄 정보를 생성하도록 구성된다.The
이를 위해, 상기 스케줄링부(130)는 제1 결정 모듈(132), 제2 결정 모듈(134), 제3 결정 모듈(136) 및 스케줄 정보 생성 모듈(138)을 포함할 수 있다.To this end, the
상기 제1 결정 모듈(132)은 상기 추정된 토털 유휴 기간을 이용하여 다음 주기에서의 코어별 평균 동작 시간을 산출하고, 산출된 평균 동작 시간에 대응하는 각각의 코어의 소비 전력량을 해당 코어의 전력량 상한치로 결정할 수 있다. 예컨대, 제1 결정 모듈(132)은 한 주기에 해당하는 시간에서 상기 추정된 토털 유휴 기간에 해당하는 시간을 감산하여 토털 동작 시간을 산출하고, 산출된 토털 동작 시간을 멀티 코어 프로세서(10)의 코어 개수로 나누어 코어별 평균 동작 시간을 산출할 수 있다. 그 다음, 제1 결정 모듈(132)은 각각의 코어의 시간당 소비 전력에 상기 평균 동작 시간을 곱하여 상기 소비 전력량을 산출할 수 있다.The
상기 제2 결정 모듈(134)은 상기 다음 주기에서 각각의 코어에 의해 소비되는 전력량이 상기 전력량 상한치를 초과하지 않도록 상기 추정된 토털 유휴 기간을 상기 복수의 코어에 각각 할당하여 상기 코어별 유휴 예정 기간을 결정할 수 있다. 이 경우, 코어별 유휴 예정 기간은 멀티 코어 프로세서(10)에 주어진 작업의 종류나 연산량 등을 고려하여 결정될 수 있다.The
상기 제3 결정 모듈(136)은 상기 다음 주기의 시간대별로 동시에 동작하는 코어의 개수가 최소화되도록 상기 코어별 유휴 예정 기간의 개시 시점을 결정할 수 있다. 예컨대, 제3 결정 모듈(136)은 멀티 코어 프로세서(10)에 주어진 작업의 종류나 연산량이 허용하는 한도 내에서 각 코어별 유휴 예정 기간이 시간상 서로 겹치지 않도록 상기 코어별 유휴 예정 기간의 개시 시점을 결정할 수 있다.The third determining
상기 스케줄 정보 생성 모듈(138)은 제2 결정 모듈(134)에 의해 결정된 코어별 유휴 예정 기간과 제3 결정 모듈(136)에 의해 결정된 상기 코어별 유휴 예정 기간의 개시 시점을 포함한 스케줄 정보를 생성할 수 있다.The schedule
일 실시예에 있어서, 상기 스케줄링부(130)는 상기와 같이 생성된 스케줄 정보를 해당 멀티 코어 프로세서(10)에 작업을 할당하는 소정 기능부로 전송하도록 구성될 수 있다. 이 경우, 상기 기능부는 멀티 코어 프로세서(10)를 운영하는 OS(Operating System)일 수 있다.In one embodiment, the
상기 전력 제어부(140)는 다음 주기가 도래하여 상기 복수의 코어(11) 중에서 상기 스케줄 정보에 따라 유휴 상태로 들어간 유휴 코어가 발생하면, 상기 스케줄 정보에 포함된 상기 유휴 코어의 유휴 예정 기간 동안 유휴 코어에 제공되는 전력을 감소시키거나 차단하도록 구성된다.When an idle core that enters an idle state according to the schedule information occurs among the plurality of
이를 위해, 상기 전력 제어부(140)는 클럭 발생기(12)를 제어하여 코어별로 제공되는 클럭 신호들의 주파수를 각각 개별적으로 변경하거나 차단하는 클럭 주파수 제어 모듈(142)과, 전압 레귤레이터(13)를 제어하여 코어별로 제공되는 공급 전압을 각각 개별적으로 변경하거나 차단하는 전압 제어 모듈(144)을 포함할 수 있다.To this end, the
일 실시예에 있어서, 상기 전력 제어부(140)는 상기 유휴 코어의 유휴 예정 기간 동안 상기 유휴 코어에 제공되는 전력을 감소시키거나 차단하되, 해당 유휴 예정 기간의 종료 시점보다 일정 시간 앞선 시점으로 결정된 전력 복원 시점에, 상기 유휴 코어에 제공되는 전력을 복원하도록 구성될 수 있다. 이는 유휴 코어로 하여금 활성 상태로 전환되기 전에 동작 재개 준비를 완료하여 작업이 요청된 순간 바로 작업을 개시하도록 하기 위함이다.In one embodiment, the
또한, 전력 제어부(140)는 복수의 코어(11) 중에서 상기 유휴 코어와 유휴 예정 기간이 시간상 상호 중첩되는 적어도 하나의 다른 유휴 코어가 발생하면, 상기 다른 유휴 코어에 제공되는 전력을 상기 다른 유휴 코어의 유휴 예정 기간 동안 감소시키거나 차단하되, 상기 유휴 코어의 전력 복원 시점과 상이한 전력 복원 시점에 복원하도록 구성될 수 있다. 이는 복수의 코어(11)에 공급되는 전체 전력이 순간적으로 급증하는 것을 방지하기 위함이다.In addition, when at least one other idle core in which the idle core and the scheduled idle period overlap in time from among the plurality of
도 3에는 본 발명의 일 실시예에 따른 멀티 코어 프로세서 전력 관리 방법의 전력 제어 프로세스가 흐름도로 도시되어 있다. 도 3을 참조하여 상기 전력 관리 장치(100)의 세부 동작들을 시계열적으로 설명한다.3 is a flowchart illustrating a power control process of a multi-core processor power management method according to an embodiment of the present invention. Detailed operations of the
도 3에 도시된 바와 같이, 상기 전력 관리 장치(100)는 일정 주기마다 해당 주기에 발생한 복수의 코어(11)의 유휴 기간들을 모두 합산하여, 상기 복수의 코어(11)의 주기별 토털 유휴 기간들을 산출할 수 있다.As shown in FIG. 3 , the
예컨대, 제N차 주기가 도래한 경우, 상기 전력 관리 장치(100)는 복수의 코어(11) 각각의 동작 상태를 모니터링하여 해당 주기에서의 코어별 유휴 기간을 측정할 수 있다(S300, S310).For example, when the Nth cycle arrives, the
그 다음, 상기 전력 관리 장치(100)는 제N차 주기에서 측정된 코어별 유휴 기간을 모두 합산하여 제N차 주기에서의 토털 유휴 기간을 산출 및 저장할 수 있다.Next, the
그 다음, 상기 전력 관리 장치(100)는 상기 제N차 주기까지 산출되어 주기별 토털 유휴 기간들을 이용하여, 제N+1차 주기에 발생 가능한 복수의 코어(11)의 토털 유휴 기간을 추정할 수 있다(S330).Next, the
이 경우, 상기 전력 관리 장치(100)는 주기별 토털 유휴 기간들 중 다음 주기와 시간상 더 가까운 주기의 토털 유휴 기간에 더 큰 가중치(weight)를 부여하는 방식으로 각각 가중치가 부여된 주기별 토털 유휴 기간들을 이용하여, 제N+1차 주기에 발생 가능한 복수의 코어(11)의 토털 유휴 기간을 추정할 수 있다. 예컨대, 상기 전력 관리 장치(100)는 상기 수학식 2와 같이 가중 평균을 이용하여 제N+1차 주기에 발생 가능한 복수의 코어(11)의 토털 유휴 기간을 추정할 수 있다.In this case, the
그 다음, 상기 전력 관리 장치(100)는 상기와 같이 추정된 토털 유휴 기간을 기초로 제N+1차 주기에서의 코어별 유휴 예정 기간을 스케줄링하여 스케줄 정보를 생성할 수 있다(S340). 즉, 상기 전력 관리 장치(100)는 상기 추정된 토털 유휴 기간을 복수의 코어(11)에 각각 할당하여 제N+1차 주기 동안의 코어별 유휴 예정 기간과 상기 코어별 유휴 예정 기간의 개시 시점을 결정하고, 상기 코어별 유휴 예정 기간과 상기 코어별 유휴 예정 기간의 개시 시점을 포함한 스케줄 정보를 생성할 수 있다.Next, the
그 다음, 상기 전력 관리 장치(100)는 제N+1차 주기가 도래하여 상기 복수의 코어(11) 중에서 상기 스케줄 정보에 따라 유휴 상태로 들어간 유휴 코어가 발생하면, 상기 스케줄 정보에 포함된 상기 유휴 코어의 유휴 예정 기간 동안 유휴 코어에 제공되는 전력을 감소시키거나 차단할 수 있다(S350). 이 경우, 상기 전력 관리 장치(100)는 클럭 발생기(12)를 제어하여 유휴 코어에 제공되는 클럭 신호들의 주파수를 제한 또는 차단하거나, 전압 레귤레이터(13)를 제어하여 유휴 코어에 제공되는 공급 전압을 제한 또는 차단하거나, 클럭 신호의 주파수와 공급 전압을 모두 제한 또는 차단할 수 있다.Next, when an idle core that enters an idle state according to the schedule information occurs among the plurality of
일 실시예에 있어서, 상기 전력 관리 장치(100)는 상기 유휴 코어의 유휴 예정 기간 동안 상기 유휴 코어에 제공되는 전력을 감소시키거나 차단하되, 해당 유휴 예정 기간의 종료 시점보다 일정 시간 앞선 시점으로 결정된 전력 복원 시점에, 상기 유휴 코어에 제공되는 전력을 복원할 수 있다. 이는 유휴 코어로 하여금 활성 상태로 전환되기 전에 동작 재개 준비를 완료하여 작업이 요청된 순간 바로 작업을 개시하도록 하기 위함이다.In one embodiment, the
또한, 상기 전력 관리 장치(100)는 복수의 코어(11) 중에서 상기 유휴 코어와 유휴 예정 기간이 시간상 상호 중첩되는 적어도 하나의 다른 유휴 코어가 발생하면, 상기 다른 유휴 코어에 제공되는 전력을 상기 다른 유휴 코어의 유휴 예정 기간 동안 감소시키거나 차단하되, 상기 유휴 코어의 전력 복원 시점과 상이한 전력 복원 시점에 복원할 수 있다. 이는 복수의 코어(11)에 공급되는 전체 전력이 순간적으로 급증하는 것을 방지하기 위함이다.In addition, when at least one other idle core in which the idle core and the scheduled idle period overlap in time from among the plurality of
그리고 상기 전력 관리 장치(100)는 멀티 코어 프로세서(10)의 전원이 턴오프될 때까지 상술한 과정들을 반복할 수 있다(S360, S370).In addition, the
도 4에는 본 발명의 일 실시예에 따른 멀티 코어 프로세서 전력 관리 방법의 스케줄 정보 생성 프로세스가 흐름도로 도시되어 있다. 도 4를 참조하여, 상기 전력 관리 장치(100)의 세부 동작들을 시계열적으로 설명한다.4 is a flowchart illustrating a schedule information generation process of a multi-core processor power management method according to an embodiment of the present invention. Detailed operations of the
도 4에 도시된 바와 같이, 상기 전력 관리 장치(100)는 상기와 같이 추정된 복수의 코어(11)의 토털 유휴 기간을 기초로, 다음 주기에 해당하는 제N+1차 주기에서의 코어별 유휴 예정 기간을 스케줄링할 수 있다.As shown in FIG. 4 , the
이 경우, 상기 전력 관리 장치(100)는 제N+1차 주기에 대해 추정된 토털 유휴 기간을 복수의 코어(11)에 각각 할당하여 제N+1차 주기 동안의 코어별 유휴 예정 기간과 상기 코어별 유휴 예정 기간의 개시 시점을 결정하고, 상기 코어별 유휴 예정 기간과 상기 코어별 유휴 예정 기간의 개시 시점을 포함한 스케줄 정보를 생성할 수 있다.In this case, the
즉, 상기 전력 관리 장치(100)는 우선 상기 추정된 토털 유휴 기간을 이용하여 제N+1차 주기에서의 코어별 평균 동작 시간을 산출할 수 있다(S400). 예컨대, 상기 전력 관리 장치(100)는 한 주기에 해당하는 시간에서 상기 추정된 토털 유휴 기간에 해당하는 시간을 감산하여 토털 동작 시간을 산출하고, 산출된 토털 동작 시간을 멀티 코어 프로세서(10)의 코어 개수로 나누어 코어별 평균 동작 시간을 산출할 수 있다.That is, the
그 다음, 상기 전력 관리 장치(100)는 산출된 평균 동작 시간에 대응하는 각각의 코어의 소비 전력량을 해당 코어의 전력량 상한치로 결정할 수 있다(S410). 이 경우, 상기 전력 관리 장치(100)는 각각의 코어의 시간당 소비 전력에 상기 평균 동작 시간을 곱하여 상기 소비 전력량을 산출할 수 있다.Next, the
그 다음, 상기 전력 관리 장치(100)는 상기 다음 주기에서 각각의 코어에 의해 소비되는 전력량이 상기 전력량 상한치를 초과하지 않도록 상기 추정된 토털 유휴 기간을 상기 복수의 코어에 각각 할당하여 상기 코어별 유휴 예정 기간을 결정할 수 있다(S420). 이 경우, 코어별 유휴 예정 기간은 멀티 코어 프로세서(10)에 주어진 작업의 종류나 연산량 등을 고려하여 결정될 수 있다.Then, the
그 다음, 상기 전력 관리 장치(100)는 제N+1차 주기의 시간대별로 동시에 동작하는 코어의 개수가 최소화되도록 상기 코어별 유휴 예정 기간의 개시 시점을 결정할 수 있다(S430). 예컨대, 상기 전력 관리 장치(100)는 멀티 코어 프로세서(10)에 주어진 작업의 종류나 연산량이 허용하는 한도 내에서 각 코어별 유휴 예정 기간이 시간상 서로 겹치지 않도록 상기 코어별 유휴 예정 기간의 개시 시점을 결정할 수 있다.Next, the
그 다음, 상기 전력 관리 장치(100)는 상기 코어별 유휴 예정 기간과 상기 코어별 유휴 예정 기간의 개시 시점을 포함한 스케줄 정보를 생성할 수 있다(S440). 실시예에 따라, 상기 전력 관리 장치(100)는 상기와 같이 생성된 스케줄 정보를 해당 멀티 코어 프로세서(10)에 작업을 할당하는 소정 기능부로 전송할 수 있다. 이 경우, 상기 기능부는 멀티 코어 프로세서(10)를 운영하는 OS(Operating System)일 수 있다.Next, the
도 5에는 본 발명에 따라 생성된 스케줄 정보의 일례가 나타낸 도면이다.5 is a diagram illustrating an example of schedule information generated according to the present invention.
도 5에 도시된 바와 같이, 상기 전력 관리 장치(100)에 의해 생성된 스케줄 정보는 멀티 코어 프로세서(10)의 코어들을 식별하는 코어 식별 정보(S1), 각각의 코어에 대해 결정된 다음 주기에서의 유휴 예정 기간에 관한 정보(S2), 각각의 유휴 예정 기간에 대해 결정된 다음 주기에서의 개시 시점에 관한 정보(S3) 등을 포함할 수 있다.As shown in FIG. 5 , the schedule information generated by the
도 6은 본 발명에 따라 코어에 제공되는 시간별 전력 레벨의 일례를 나타낸 도표이다.6 is a diagram illustrating an example of an hourly power level provided to a core in accordance with the present invention.
도 6에 도시된 바와 같이, 멀티 코어 프로세서(10)의 코어들 중 제1 코어가 t1 시점에, 작업을 수행하는 활성 상태(active state)에서 작업을 수행하지 않는 유휴 상태(idle state)로 전환되면, 제1 코어에 공급되는 전력이 감소 또는 차단되는 ti 시점까지 여러 준비 작업들이 수행된다. 즉, 제1 코어에 포함된 캐시(cache)의 플러싱(flushing), 유휴 코어의 상태 저장, 유휴 코어에 대응하는 PLL 회로의 전력다운 등이 수행될 수 있다.As shown in FIG. 6 , a first core among the cores of the
한편, 제1 코어가 다시 활성 상태로 전환되어 동작을 재개하기 위해서는 대응 PLL 회로의 웜업(warm-up) 시간과, 해당 코어의 종전 상태 회복을 위한 시간 등이 소요된다. 따라서, 상기 전력 관리 장치(100)는 상기 제1 코어의 해당 유휴 예정 기간이 종료되는 t1+ΔT1 시점보다 일정 시간 전인 to 시점에, 상기 제1 코어에 제공되는 전력을 복원할 수 있다. 그 결과, t1+ΔT1 시점 이후 제1 코어가 활성 상태로 재전환되면 최소한의 딜레이로 필요한 명령이나 작업을 처리할 수 있게 된다.Meanwhile, in order for the first core to return to the active state and resume operation, a warm-up time of the corresponding PLL circuit and time for recovery of the previous state of the corresponding core are required. Accordingly, the
한편, 본 발명에 따른 실시예들은 컴퓨터와 이러한 컴퓨터를 구동하는 컴퓨터 프로그램으로 구현될 수 있다. 본 발명의 실시예들이 컴퓨터 프로그램으로 구현되는 경우, 본 발명의 구성요소들은 해당 컴퓨터를 통해 해당 동작이나 작업을 실행하는 프로그램 세그먼트들을 포함할 수 있다. 이러한 컴퓨터 프로그램 내지 프로그램 세그먼트들은 컴퓨터로 판독 가능한 다양한 기록매체에 저장될 수 있다. 컴퓨터로 판독 가능한 기록매체에는 컴퓨터 시스템이 읽어들일 수 있는 데이터를 기록하는 모든 종류의 매체가 포함될 수 있다. 예컨대, 컴퓨터로 판독 가능한 기록매체에는 ROM, RAM, EEPROM, 레지스터, 플래시 메모리, CD-ROM, 자기 테이프, 하드 디스크, 플로피디스크, 또는 광 데이터 기록장치 등이 포함될 수 있다. 또한, 이러한 기록매체는 다양한 네트워크로 연결된 컴퓨터 시스템들에 분산 배치되어 프로그램 코드들을 분산 방식으로 저장하거나 실행시킬 수 있다.On the other hand, the embodiments according to the present invention may be implemented as a computer and a computer program for driving such a computer. When the embodiments of the present invention are implemented as a computer program, the components of the present invention may include program segments that execute corresponding operations or tasks through a corresponding computer. These computer programs or program segments may be stored in various computer-readable recording media. The computer-readable recording medium may include any type of medium for recording data readable by a computer system. For example, the computer-readable recording medium may include ROM, RAM, EEPROM, registers, flash memory, CD-ROM, magnetic tape, hard disk, floppy disk, or an optical data recording device. In addition, such a recording medium may be distributed in various network-connected computer systems to store or execute program codes in a distributed manner.
상술한 바와 같이, 본 발명에 따르면, 멀티 코어 프로세서의 코어들에 대해 일정 주기마다 산출된 토털 유휴 기간을 이용하여 다음 주기에 발생 가능한 상기 코어들의 토털 유휴 기간을 추정하고, 이와 같이 추정된 토털 유휴 기간을 기반으로 스케줄링된 코어별 유휴 예정 기간에 따라 상기 코어들의 소비 전력과 동작을 신속히 제어함으로써, 멀티 코어 프로세서의 전력 효율과 동작 성능을 개선할 수 있다.As described above, according to the present invention, the total idle period of the cores that may occur in the next period is estimated using the total idle period calculated for each predetermined period for the cores of the multi-core processor, and the total idle period estimated in this way is estimated. By quickly controlling the power consumption and operation of the cores according to the scheduled idle period for each core scheduled based on the period, power efficiency and operation performance of the multi-core processor may be improved.
주기별로 산출된 토털 유휴 기간들 중 다음 주기와 시간상 더 가까운 주기의 토털 유휴 기간에 더 큰 가중치를 부여하고, 이러한 가중치가 부여된 주기별 토털 유휴 기간들을 이용하여 상기 다음 주기에 발생 가능한 코어들의 토털 유휴 기간을 추정함으로써, 유휴 기간 추정의 정확성과 신뢰성을 개선할 수 있다.Among the total idle periods calculated for each period, a greater weight is given to a total idle period of a period closer in time to the next period, and the total number of cores that can be generated in the next period using the total idle periods for each period to which this weight is assigned By estimating the idle period, the accuracy and reliability of the idle period estimation can be improved.
또한, 유휴 코어의 유휴 기간 동안 상기 유휴 코어에 제공되는 전력을 감소시키거나 차단하되, 해당 유휴 기간의 종료 시점보다 일정 시간 앞선 시점으로 결정된 전력 복원 시점에 상기 유휴 코어에 제공되는 전력을 복원함으로써, 유휴 상태에서 활성 상태로 전환되는 코어의 동작을 신속히 재개할 수 있다.In addition, by reducing or blocking the power provided to the idle core during the idle period of the idle core, and restoring the power provided to the idle core at a power recovery time determined to be a predetermined time earlier than the end point of the idle period, A core that transitions from an idle state to an active state can quickly resume operation.
또한, 한 주기 동안 소비 가능한 코어별 전력량 상한치를 결정하고, 각각의 코어에 의해 소비되는 전력량이 상기 전력량 상한치를 초과하지 않도록 코어별 유휴 예정 기간을 스케줄링함으로써, 멀티 코어 프로세서에 포함된 코어들 간의 불균일한 열화를 방지할 수 있다.In addition, non-uniformity between cores included in the multi-core processor is determined by determining the upper limit of the amount of power consumed by each core during one cycle, and scheduling the idle period for each core so that the amount of power consumed by each core does not exceed the upper limit of the amount of power. deterioration can be prevented.
나아가, 본 발명에 따른 실시예들은, 당해 기술 분야는 물론 관련 기술 분야에서 본 명세서에 언급된 내용 이외의 다른 여러 기술적 과제들을 해결할 수 있음은 물론이다.Furthermore, it goes without saying that the embodiments according to the present invention can solve various technical problems other than those mentioned herein in the related technical field as well as the related technical field.
지금까지 본 발명에 대해 구체적인 실시예들을 참고하여 설명하였다. 그러나 당업자라면 본 발명의 기술적 범위에서 다양한 변형 실시예들이 구현될 수 있음을 명확하게 이해할 수 있을 것이다. 그러므로 앞서 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 할 것이다. 즉, 본 발명의 진정한 기술적 사상의 범위는 청구범위에 나타나 있으며, 그와 균등범위 내에 있는 모든 차이점은 본 발명에 포함되는 것으로 해석되어야 할 것이다.Up to now, the present invention has been described with reference to specific examples. However, those skilled in the art will clearly understand that various modified embodiments can be implemented within the technical scope of the present invention. Therefore, the embodiments disclosed above should be considered in an illustrative rather than a restrictive point of view. That is, the scope of the true technical spirit of the present invention is indicated in the claims, and all differences within the scope of equivalents thereto should be construed as being included in the present invention.
100 : 전력 관리 장치 110 : 유휴 기간 산출부
120 : 유휴 기간 추정부 130 : 스케줄링부
132 : 제1 결정 모듈 134 : 제2 결정 모듈
136 : 제3 결정 모듈 138 : 스케줄 정보 생성 모듈
140 : 전력 제어부 142 : 주파수 제어 모듈
144 : 전압 제어 모듈100: power management device 110: idle period calculator
120: idle period estimator 130: scheduling unit
132: first determining module 134: second determining module
136: third determination module 138: schedule information generation module
140: power control unit 142: frequency control module
144: voltage control module
Claims (11)
일정 주기마다 해당 주기에 발생한 상기 복수의 코어의 유휴 기간들을 합산하여, 상기 복수의 코어의 주기별 토털 유휴 기간들을 산출하는 유휴 기간 산출부;
상기 주기별 토털 유휴 기간들을 이용하여 다음 주기에 발생 가능한 상기 복수의 코어의 토털 유휴 기간을 추정하는 유휴 기간 추정부;
추정된 토털 유휴 기간을 상기 복수의 코어에 각각 할당하여 상기 다음 주기 동안의 코어별 유휴 예정 기간과 상기 코어별 유휴 예정 기간의 개시 시점을 결정하고, 상기 코어별 유휴 예정 기간과 상기 코어별 유휴 예정 기간의 개시 시점을 포함한 스케줄 정보를 생성하는 스케줄링부; 및
상기 복수의 코어 중에서 상기 스케줄 정보에 따라 유휴 상태로 들어간 유휴 코어가 발생하면, 상기 스케줄 정보에 포함된 상기 유휴 코어의 유휴 예정 기간 동안 상기 유휴 코어에 제공되는 전력을 감소시키거나 차단하는 전력 제어부를 포함하는 멀티 코어 프로세서 전력 관리 장치.A multi-core processor power management device for managing power of a multi-core processor having a plurality of cores capable of mutually independent computational processing, comprising:
an idle period calculation unit calculating total idle periods for each period of the plurality of cores by summing the idle periods of the plurality of cores occurring in the corresponding period for each predetermined period;
an idle period estimator for estimating total idle periods of the plurality of cores that may occur in a next period using the total idle periods for each period;
The estimated total idle period is allocated to each of the plurality of cores to determine the start time of the scheduled idle period for each core and the scheduled idle period for each core during the next cycle, and the scheduled idle period for each core and the idle schedule for each core a scheduling unit generating schedule information including a start time of a period; and
When an idle core that enters an idle state according to the schedule information occurs among the plurality of cores, a power control unit that reduces or blocks power provided to the idle core during an idle predetermined period of the idle core included in the schedule information; A multi-core processor power management unit.
상기 유휴 기간 추정부는, 상기 주기별 토털 유휴 기간들 중 상기 다음 주기와 시간상 더 가까운 주기의 토털 유휴 기간에 더 큰 가중치를 부여하는 방식으로 각각 가중치가 부여된 주기별 토털 유휴 기간들을 이용하여, 상기 다음 주기에 발생 가능한 상기 복수의 코어의 토털 유휴 기간을 추정하도록 구성된 것을 특징으로 하는 멀티 코어 프로세서 전력 관리 장치.According to claim 1,
The idle period estimator is configured to use the total idle periods for each period weighted in such a way that a greater weight is given to a total idle period of a period closer in time to the next period among the total idle periods for each period, Multi-core processor power management apparatus, characterized in that it is configured to estimate the total idle period of the plurality of cores that may occur in a next period.
상기 스케줄링부는,
상기 추정된 토털 유휴 기간을 이용하여 상기 다음 주기에서의 코어별 평균 동작 시간을 산출하고, 산출된 평균 동작 시간에 대응하는 각각의 코어의 소비 전력량을 해당 코어의 전력량 상한치로 결정하는 제1 결정 모듈;
상기 다음 주기에서 각각의 코어에 의해 소비되는 전력량이 상기 전력량 상한치를 초과하지 않도록 상기 추정된 토털 유휴 기간을 상기 복수의 코어에 각각 할당하여 상기 코어별 유휴 예정 기간을 결정하는 제2 결정 모듈;
상기 다음 주기의 시간대별로 동시에 동작하는 코어의 개수가 최소화되도록 상기 코어별 유휴 예정 기간의 개시 시점을 결정하는 제3 결정 모듈; 및
상기 코어별 유휴 예정 기간과 상기 코어별 유휴 예정 기간의 개시 시점을 포함한 스케줄 정보를 생성하는 스케줄 정보 생성 모듈을 포함하는 것을 특징으로 하는 멀티 코어 프로세서 전력 관리 장치.According to claim 1,
The scheduling unit,
A first determination module for calculating the average operating time for each core in the next cycle using the estimated total idle period, and determining the power consumption of each core corresponding to the calculated average operating time as the upper limit of the power amount of the core ;
a second determination module for allocating the estimated total idle period to the plurality of cores so that the amount of power consumed by each core in the next cycle does not exceed the upper limit of the amount of power, and determining a scheduled idle period for each core;
a third determination module for determining a start time of the scheduled idle period for each core so that the number of cores simultaneously operating for each time zone of the next cycle is minimized; and
and a schedule information generation module for generating schedule information including the scheduled idle period for each core and a start time of the scheduled idle period for each core.
상기 전력 제어부는, 상기 유휴 코어의 유휴 예정 기간 동안 상기 유휴 코어에 제공되는 전력을 감소시키거나 차단하되, 해당 유휴 예정 기간의 종료 시점보다 일정 시간 앞선 시점으로 결정된 전력 복원 시점에 상기 유휴 코어에 제공되는 전력을 복원하도록 구성된 것을 특징으로 하는 멀티 코어 프로세서 전력 관리 장치.According to claim 1,
The power control unit reduces or cuts off power provided to the idle core during a scheduled idle period of the idle core, but provides the idle core at a power restoration time determined to be a predetermined time earlier than an end time of the corresponding idle time period. Multi-core processor power management device, characterized in that configured to restore the power.
상기 전력 제어부는, 상기 복수의 코어 중에서 상기 유휴 코어와 유휴 예정 기간이 시간상 상호 중첩되는 적어도 하나의 다른 유휴 코어가 발생하면, 상기 다른 유휴 코어에 제공되는 전력을 상기 다른 유휴 코어의 유휴 예정 기간 동안 감소시키거나 차단하되, 상기 유휴 코어의 전력 복원 시점과 상이한 전력 복원 시점에 복원하도록 구성된 것을 특징으로 하는 멀티 코어 프로세서 전력 관리 장치.5. The method of claim 4,
The power control unit, when at least one other idle core in which the idle core and the scheduled idle period overlap each other in time occurs among the plurality of cores, the power provided to the other idle core during the idle predetermined period of the other idle core A multi-core processor power management device, characterized in that it is reduced or cut off, and is configured to restore a power recovery time different from that of the idle core.
상기 전력 관리 장치가 일정 주기마다 해당 주기에 발생한 상기 복수의 코어의 유휴 기간들을 합산하여, 상기 복수의 코어의 주기별 토털 유휴 기간들을 산출하는 (a) 단계;
상기 전력 관리 장치가 상기 주기별 토털 유휴 기간들을 이용하여 다음 주기에 발생 가능한 상기 복수의 코어의 토털 유휴 기간을 추정하는 (b) 단계;
상기 전력 관리 장치가 상기 (b) 단계에서 추정된 토털 유휴 기간을 상기 복수의 코어에 각각 할당하여 상기 다음 주기 동안의 코어별 유휴 예정 기간과 상기 코어별 유휴 예정 기간의 개시 시점을 결정하고, 상기 코어별 유휴 예정 기간과 상기 코어별 유휴 예정 기간의 개시 시점을 포함한 스케줄 정보를 생성하는 (c) 단계; 및
상기 복수의 코어 중에서 상기 스케줄 정보에 따라 유휴 상태로 들어간 유휴 코어가 발생하면, 상기 전력 관리 장치가 상기 스케줄 정보에 포함된 상기 유휴 코어의 유휴 예정 기간 동안 상기 유휴 코어에 제공되는 전력을 감소키거나 차단하는 (d) 단계를 포함하는 멀티 코어 프로세서 전력 관리 방법.A multi-core processor power management method for managing power of a multi-core processor having a plurality of cores capable of mutually independent arithmetic processing by using a power management device in which hardware and software are combined, the method comprising:
(a) calculating, by the power management apparatus, the total idle periods for each period of the plurality of cores by summing the idle periods of the plurality of cores occurring in the corresponding period at regular intervals;
(b) estimating, by the power management device, total idle periods of the plurality of cores that may occur in a next period using the total idle periods for each period;
The power management device allocates the total idle period estimated in step (b) to each of the plurality of cores to determine a scheduled idle period for each core and a start time of the respective scheduled idle period for the next cycle, and (c) generating schedule information including a scheduled idle period for each core and a start time of the scheduled idle period for each core; and
When an idle core that enters an idle state according to the schedule information occurs among the plurality of cores, the power management device reduces the power provided to the idle core during an idle predetermined period of the idle core included in the schedule information, or A multi-core processor power management method comprising the step of (d) shutting down.
상기 (b) 단계는, 상기 전력 관리 장치가 상기 주기별 토털 유휴 기간들 중 상기 다음 주기와 시간상 더 가까운 주기의 토털 유휴 기간에 더 큰 가중치를 부여하는 방식으로 각각 가중치가 부여된 주기별 토털 유휴 기간들을 이용하여, 상기 다음 주기에 발생 가능한 상기 복수의 코어의 토털 유휴 기간을 추정하는 단계를 포함하는 것을 특징으로 하는 멀티 코어 프로세서 전력 관리 방법.7. The method of claim 6,
In the step (b), the total idle period for each period in which the power management device is weighted in such a way that a greater weight is given to a total idle period of a period closer in time to the next period among the total idle periods for each period and estimating a total idle period of the plurality of cores that may occur in the next period by using the periods.
상기 (c) 단계는,
상기 전력 관리 장치가 상기 추정된 토털 유휴 기간을 이용하여 상기 다음 주기에서의 코어별 평균 동작 시간을 산출하고, 산출된 평균 동작 시간에 대응하는 각각의 코어의 소비 전력량을 해당 코어의 전력량 상한치로 결정하는 단계;
상기 다음 주기에서 각각의 코어에 의해 소비되는 전력량이 상기 전력량 상한치를 초과하지 않도록 상기 전력 관리 장치가 상기 추정된 토털 유휴 기간을 상기 복수의 코어에 각각 할당하여 상기 코어별 유휴 예정 기간을 결정하는 단계;
상기 다음 주기의 시간대별로 동시에 동작하는 코어의 개수가 최소화되도록 상기 전력 관리 장치가 상기 코어별 유휴 예정 기간의 개시 시점을 결정하는 단계; 및
상기 전력 관리 장치가 상기 코어별 유휴 예정 기간과 상기 코어별 유휴 예정 기간의 개시 시점을 포함한 스케줄 정보를 생성하는 단계를 포함하는 것을 특징으로 하는 멀티 코어 프로세서 전력 관리 방법.7. The method of claim 6,
Step (c) is,
The power management device calculates the average operating time for each core in the next cycle using the estimated total idle period, and determines the power consumption of each core corresponding to the calculated average operating time as the upper limit of the power amount of the core. to do;
determining, by the power management device, the estimated total idle period to each of the plurality of cores so that the amount of power consumed by each core in the next cycle does not exceed the upper limit of the amount of power, and determining the scheduled idle period for each core ;
determining, by the power management device, a start time of a scheduled idle period for each core so that the number of cores simultaneously operating for each time zone of the next cycle is minimized; and
and generating, by the power management device, schedule information including the scheduled idle period for each core and a start time of the scheduled idle period for each core.
상기 (d) 단계는, 상기 전력 관리 장치가 상기 유휴 코어의 유휴 예정 기간 동안 상기 유휴 코어에 제공되는 전력을 감소시키거나 차단하되, 해당 유휴 예정 기간의 종료 시점보다 일정 시간 앞선 시점으로 결정된 전력 복원 시점에 상기 유휴 코어에 제공되는 전력을 복원하는 단계를 포함하는 것을 특징으로 하는 멀티 코어 프로세서 전력 관리 방법.7. The method of claim 6,
In the step (d), the power management device reduces or cuts power provided to the idle core during the idle scheduled period of the idle core, but restores power determined to a point in time prior to the end time of the idle scheduled period Multi-core processor power management method comprising the step of restoring the power provided to the idle core at a point in time.
상기 복수의 코어 중에서 상기 유휴 코어와 유휴 예정 기간이 시간상 상호 중첩되는 적어도 하나의 다른 유휴 코어가 발생하면, 상기 전력 관리 장치가 상기 다른 유휴 코어에 제공되는 전력을 상기 다른 유휴 코어의 유휴 예정 기간 동안 감소시커나 차단하되, 상기 유휴 코어의 전력 복원 시점과 상이한 전력 복원 시점에 복원하는 (e) 단계를 더 포함하는 것을 특징으로 하는 멀티 코어 프로세서 전력 관리 방법.10. The method of claim 9,
When at least one other idle core in which the idle core and the scheduled idle period overlap in time from among the plurality of cores occurs, the power management device controls the power provided to the other idle core during the scheduled idle period of the other idle core. A multi-core processor power management method, characterized in that it further comprises the step of (e) reducing or blocking, but restoring the idle core at a power recovery time different from that of the idle core power recovery time.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200144969A KR102613979B1 (en) | 2020-11-03 | 2020-11-03 | Apparatus and method for managing power of multi-core processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200144969A KR102613979B1 (en) | 2020-11-03 | 2020-11-03 | Apparatus and method for managing power of multi-core processor |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220059617A true KR20220059617A (en) | 2022-05-10 |
KR102613979B1 KR102613979B1 (en) | 2023-12-14 |
Family
ID=81591658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200144969A KR102613979B1 (en) | 2020-11-03 | 2020-11-03 | Apparatus and method for managing power of multi-core processor |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102613979B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101492953B1 (en) * | 2012-05-14 | 2015-02-12 | 브로드콤 코포레이션 | Leakage variation aware power management for multicore processors |
KR20170042985A (en) * | 2015-10-12 | 2017-04-20 | 삼성전자주식회사 | Control circuit for estimating entry time of power save mode and device having the same |
KR20190002248A (en) * | 2017-06-29 | 2019-01-08 | 삼성전자주식회사 | Processor, computing device comprising thereof and processor low power mode selecting method |
-
2020
- 2020-11-03 KR KR1020200144969A patent/KR102613979B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101492953B1 (en) * | 2012-05-14 | 2015-02-12 | 브로드콤 코포레이션 | Leakage variation aware power management for multicore processors |
KR20170042985A (en) * | 2015-10-12 | 2017-04-20 | 삼성전자주식회사 | Control circuit for estimating entry time of power save mode and device having the same |
KR20190002248A (en) * | 2017-06-29 | 2019-01-08 | 삼성전자주식회사 | Processor, computing device comprising thereof and processor low power mode selecting method |
Also Published As
Publication number | Publication date |
---|---|
KR102613979B1 (en) | 2023-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10732684B2 (en) | Method and apparatus for managing global chip power on a multicore system on chip | |
US9074947B2 (en) | Estimating temperature of a processor core in a low power state without thermal sensor information | |
TWI525547B (en) | Mechanisms to avoid inefficient core hopping and provide hardware assisted low-power state selection | |
US7308591B2 (en) | Power management of multi-processor servers | |
US20160378168A1 (en) | Dynamic power management optimization | |
US20140181556A1 (en) | Idle Phase Exit Prediction | |
US20090150696A1 (en) | Transitioning a processor package to a low power state | |
JP4490298B2 (en) | Processor power control apparatus and processor power control method | |
US20120137295A1 (en) | Method for displaying cpu utilization in a multi-processing system | |
US20120297216A1 (en) | Dynamically selecting active polling or timed waits | |
US20140006666A1 (en) | Task scheduling method and multi-core system | |
JPWO2009150815A1 (en) | Multiprocessor system | |
JP2003271401A (en) | Microprocessor having load monitoring function | |
US8892923B2 (en) | Data processing apparatus and method for maintaining a time count value in normal and power saving modes of operation | |
US20130125131A1 (en) | Multi-core processor system, thread control method, and computer product | |
CN113841119B (en) | Control device and distributed processing method | |
Reghenzani et al. | A multi-level dpm approach for real-time dag tasks in heterogeneous processors | |
KR102613979B1 (en) | Apparatus and method for managing power of multi-core processor | |
CN116088662A (en) | Power consumption management method, multi-processing unit system and power consumption management module | |
JPH09265459A (en) | Method for controlling data processor | |
JP2016076249A (en) | Image processing device, control method thereof, and program | |
JP4798445B2 (en) | Power saving control method, image forming apparatus, and program | |
US20240004448A1 (en) | Platform efficiency tracker | |
JP7124592B2 (en) | Job execution system and job execution method | |
KR20230007774A (en) | Memory management system and method for edge type artificial intelligence SoC |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |