KR20090084255A - 멀티-코어 프로세서의 전원제어장치 및 방법 - Google Patents

멀티-코어 프로세서의 전원제어장치 및 방법 Download PDF

Info

Publication number
KR20090084255A
KR20090084255A KR1020080010316A KR20080010316A KR20090084255A KR 20090084255 A KR20090084255 A KR 20090084255A KR 1020080010316 A KR1020080010316 A KR 1020080010316A KR 20080010316 A KR20080010316 A KR 20080010316A KR 20090084255 A KR20090084255 A KR 20090084255A
Authority
KR
South Korea
Prior art keywords
delay time
state
core
power
cores
Prior art date
Application number
KR1020080010316A
Other languages
English (en)
Inventor
오장근
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020080010316A priority Critical patent/KR20090084255A/ko
Publication of KR20090084255A publication Critical patent/KR20090084255A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/263Arrangements for using multiple switchable power supplies, e.g. battery and AC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage

Landscapes

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

Abstract

본 발명은 멀티-코어 프로세서에 관한 것으로서, 더욱 상세하게는 멀티-코어 프로세서의 전원제어장치 및 방법에 관한 것이다. 본 발명의 구체적인 실시예에 의한 멀티-코어 프로세서의 전원제어장치는 본 발명은 복수 개의 코어(11,12,13)를 구비하는 멀티-코어 프로세서(10)와, 상기 코어(11,12,13)의 사용상태에 따라 상기 멀티-코어 프로세서(10)의 전원관리모드를 설정하는 컨트롤유닛(20)을 포함하여 구성되고, 상기 컨트롤유닛(20)은 지연시간산출부(25)를 포함하고, 상기 코어(11,12,13)가 유휴상태인 경우 전원관리모드를 슬립상태로 설정하며, 상기 지연시간산출부(25)는, 상기 코어(11,12,13)의 유휴상태가 해제된 경우, 컴퓨터 시스템의 입력 전원상태에 따라 상기 슬립상태를 해제하기 위한 지연시간을 산출한다. 이와 같은 본 발명에 의하면 휴대용 컴퓨터 시스템에서 멀티-코어 프로세서 전원관리모드의 설정에 코어의 사용상태뿐만 아니라 배터리의 잔량도 고려함으로써 배터리의 잔량에 따른 보다 효율적인 전원관리가 가능하고, 결과적으로 배터리의 연속동작 시간을 연장시킬 수 있는 장점이 있다.
코어, 프로세서, 전원관리, 배터리

Description

멀티-코어 프로세서의 전원제어장치 및 방법{Apparatus and method for controlling power supply in a multi-core processor}
본 발명은 멀티-코어 프로세서에 관한 것으로서, 더욱 상세하게는 멀티-코어 프로세서의 전원제어장치 및 방법에 관한 것이다.
휴대용 컴퓨터 시스템은 데스크탑 시스템의 대체로서 점차 대중화되어 가고 있다. 상기 휴대용 컴퓨터 시스템은 AC 전원과 같은 외부 전원에 연결되지 않는 경우에는 배터리에 전원을 의존하게 되는데, 이때 상기 배터리의 수명은 제한적이기 때문에 프로세서의 코어 클럭 주파수 및 코어 공급전압을 낮춤으로써 시스템에서의 전력소모를 줄일 수 있다.
한편, 최근 컴퓨터 분야에서는 멀티태스킹과 다수의 고속연산을 요구하는 멀티미디어 성능이 중시되어 하나의 프로세서 내에 복수 개의 코어를 구비하는 멀티-코어 프로세서들이 개발되었다. 상기 멀티-코어 프로세서는 작업을 복수의 코어들이 분담하여 처리하기 때문에 처리 성능을 향상시킬 수 있다. 또한, 여러 개의 프로세서를 부가하여 사용하는 것에 비해 코어 이외의 부분을 공용할 수 있기 때문에 제조비용이 저렴하고 크기를 소형화할 수 있는 이점이 있다.
종래의 멀티-코어 프로세서를 구비하는 휴대용 컴퓨터 시스템은 복수 개의 코어를 구비하는 프로세서, 비디오 컨트롤러, 메인 메모리, 상기 메인 메모리를 제어하는 노스 브리지, 입출력 컨트롤러, 주변장치의 입출력 기능을 관리하는 레지스터의 집합체인 사우스 브리지, 하드디스크, 키보드 컨트롤러 및 전력지연시간산출부를 포함하여 구성된다. 이때, 상기 전력지연시간산출부는 컴퓨터 시스템의 운영체계, CPU, 코어 칩셋과 연결되어 동작하면서, 각각의 코어에 대한 전력 공급을 제어한다.
상기 멀티-코어 프로세서는 복수 개의 코어가 동작하기 때문에 싱글-코어 프로세서에 비하여 소비전력이 증가하고, 상기 소비전력의 증가는 배터리의 연속동작 시간을 단축시킨다. 또한, 전력 소모가 증가할 경우 발열로 인하여 시스템의 수명이 단축되고, 더 나아가 시스템의 기능이 열화 될 수 있다.
따라서 멀티-코어 프로세서의 전력 소모를 줄이고, 복수의 코어를 최적의 상태로 동작시키기 위한 기술의 개발이 요구되고 있으며, 일반적으로 코어에 제공되는 클럭이나 버스에 공급되는 클럭을 비활성화하는 상태인 유휴(idle)상태를 지원함으로써 전력의 소모를 줄이는 기술이 개발되었다.
그러나 상기한 바와 같은 종래기술에서는 다음과 같은 문제점이 있었다.
즉, 종래의 멀티-코어 프로세서를 구비하는 휴대용 컴퓨터 시스템의 경우, 배터리의 잔량을 고려하지 않고 코어의 사용상태에 따라 멀티-코어 프로세서의 전원관리모드를 설정함으로써 배터리의 잔량이 일정 값 미만인 경우에는 전력의 최적 사용이라는 측면에서 전원관리가 효율적으로 이루어지지 못하는 문제점이 있었다.
따라서 본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 멀티-코어 프로세서를 구비하는 휴대용 컴퓨터 시스템에서 코어의 사용상태뿐만 아니라 배터리의 잔량을 고려하여 멀티-코어 프로세서의 전원관리모드를 설정함으로써 효율적인 전원관리가 가능한 멀티-코어 프로세서의 전원제어장치 및 방법을 제공하는 것이다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 특징에 따르면, 본 발명은 복수 개의 코어를 구비하는 멀티-코어 프로세서와, 상기 코어의 사용상태에 따라 상기 멀티-코어 프로세서의 전원관리모드를 설정하는 컨트롤유닛을 포함하여 구성되고, 상기 컨트롤유닛은 지연시간산출부를 포함하고, 상기 코어가 유휴상태인 경우 전원관리모드를 슬립상태로 설정하며, 상기 지연시간산출부는, 상기 코어의 유휴상태가 해제된 경우, 컴퓨터 시스템의 입력 전원상태에 따라 상기 슬립상태를 해제하기 위한 지연시간을 산출한다.
이때, 상기 슬립상태는 L1 및 L2 캐쉬, 코어 클럭 주파수 및 PLL(Phase Locked Loop)이 OFF되고 코어전압이 낮게 공급되는 딥파워다운(Deep Power Down)상태를 포함할 수 있다.
그리고 상기 지연시간산출부는 상기 입력 전원이 AC 전원상태인 경우, 상기 지연시간을 최소로 산출할 수 있다.
또한, 상기 지연시간산출부는 상기 입력 전원이 DC 전원상태인 경우, 상기 지연시간을 배터리 잔량에 따라 산출할 수 있다.
이때, 상기 지연시간산출부는 상기 지연시간을 상기 배터리 잔량에 반비례하게 산출할 수 있다.
그리고 상기 지연시간산출부는 상기 배터리 잔량이 제 1 임계값 이상인 경우, 상기 지연시간을 최소로 산출할 수 있다.
또한, 상기 지연시간산출부는 상기 배터리 잔량이 제 1 임계값 미만, 제 2 임계값 이상인 경우, 상기 복수 개의 코어 중 하나의 코어에 대해서는 상기 지연시간을 최소로 산출하고, 나머지 코어에 대해서는 상기 지연시간을 제 1 기설정값으로 산출할 수 있다.
이때, 상기 지연시간산출부는 상기 배터리 잔량이 제 2 임계값 미만인 경우, 상기 지연시간을 제 2 기설정값으로 산출할 수 있다.
한편, 본 발명은 (a) 멀티-코어 프로세서에 구비되는 복수 개의 코어들에 대한 사용상태를 판단하는 단계와, (b) 상기 코어가 유휴상태인 경우, 전원관리모드를 슬립상태로 설정하는 단계와, (c) 상기 코어의 유휴상태가 해제된 경우, 컴퓨터 시스템의 입력 전원상태에 따라 상기 슬립상태를 해제하기 위한 지연시간을 산출하는 단계, 그리고 (d) 상기 산출된 지연시간을 적용하여 상기 슬립상태를 해제하는 단계를 포함한다.
이때, 상기 슬립상태는 L1 및 L2 캐쉬, 코어 클럭 주파수 및 PLL(Phase Locked Loop)이 OFF되고 코어전압이 낮게 공급되는 딥파워다운(Deep Power Down)상 태를 포함할 수 있다.
그리고 상기 (c) 단계는 상기 입력 전원이 AC 전원상태인 경우, 상기 지연시간을 최소로 산출하도록 수행될 수 있다.
또한, 상기 (c) 단계는 상기 입력 전원이 DC 전원상태인 경우, 상기 지연시간을 배터리 잔량에 따라 산출하도록 수행될 수 있다.
이때, 상기 (c) 단계는 상기 지연시간을 상기 배터리 잔량에 반비례하게 산출하도록 수행될 수 있다.
그리고 상기 (c) 단계는 상기 배터리 잔량이 제 1 임계값 이상인 경우, 상기 지연시간을 최소로 산출하도록 수행될 수 있다.
또한, 상기 (c) 단계는 상기 배터리 잔량이 제 1 임계값 미만, 제 2 임계값 이상인 경우, 상기 복수 개의 코어 중 하나의 코어에 대해서는 상기 지연시간을 최소로 산출하고, 나머지 코어에 대해서는 상기 지연시간을 제 1 기설정값으로 산출하도록 수행될 수 있다.
이때, 상기 (c) 단계는 상기 배터리 잔량이 제 2 임계값 미만인 경우, 상기 지연시간을 제 2 기설정값으로 산출하도록 수행될 수 있다.
이상에서 상세히 설명한 바와 같이 본 발명에 의한 멀티-코어 프로세서의 전원제어장치 및 방법에 의하면 다음과 같은 효과를 기대할 수 있다.
즉, 휴대용 컴퓨터 시스템에서 멀티-코어 프로세서의 전원관리모드를 설정함에 있어서, 코어의 사용상태뿐만 아니라 배터리의 잔량도 고려함으로써 배터리의 잔량에 따른 보다 효율적인 전원관리가 가능한 장점이 있다.
그리고 멀티-코어 프로세서가 딥파워다운상태의 전원관리모드로부터 해제될 때, 배터리의 잔량을 고려하여 지연시간을 산출함으로써 배터리의 연속동작 시간을 연장시킬 수 있는 장점이 있다.
이하에서는 상기한 바와 같은 본 발명에 의한 멀티-코어 프로세서의 전원제어장치의 구체적인 실시예를 첨부한 도면을 참고하여 상세하게 설명한다.
도 1은 본 발명의 구체적인 실시예를 구성하는 멀티-코어 프로세서의 전원제어장치를 나타내는 블럭도이다.
도 1에 도시된 바와 같이, 본 발명의 구체적인 실시예에 의한 멀티-코어 프로세서의 전원제어장치는 복수 개의 코어(11,12,13)를 구비하는 프로세서(10)를 포함하여 구성된다.
상기 복수 개의 코어(11,12,13)를 구비하는 프로세서(10)는 상기 코어(11,12,13)의 사용상태에 따라 코어 클럭 주파수 및 코어 공급전압이 조정되고, PLL(phase locked loop)과 L1, L2 캐쉬(caches)가 ON/OFF됨으로써 전원관리가 수행된다.
한편, 본 발명의 구체적인 실시예에 의한 멀티-코어 프로세서의 전원제어장치는 컨트롤유닛(20)을 포함하여 구성된다. 상기 컨트롤유닛(20)은 상기 코어(11,12,13)의 사용상태에 따라 상기 멀티-코어 프로세서(10)의 전원관리모드를 설정하는 역할을 한다.
즉, 상기 컨트롤유닛(20)은 상기 코어(11,12,13)들이 유휴(idle)상태인 경우, 상기 멀티-코어 프로세서(10)를 슬립상태로 설정한다. 반면에 상기 컨트롤유닛(20)은 상기 코어(11,12,13)들이 활동(active)상태인 경우, 상기 멀티-코어 프로세서(10)에 대하여 상기 슬립상태를 해제한다.
여기서, 상기 슬립상태는 상기 코어(11,12,13)들이 유휴상태에 있는 경우, 소모되는 전력을 줄이기 위해 코어 클럭 주파수, PLL, 그리고 L1 및 L2 캐쉬의 ON/OFF를 제어하고, 코어전압이 정상상태에 비해 낮게 유지되는 상태를 의미한다.
상기 슬립상태는 L1 및 L2 캐쉬, 코어 클럭 주파수 및 PLL(Phase Locked Loop)이 OFF되고 코어전압이 낮게 공급되는 딥파워다운(Deep Power Down)상태를 포함한다.
여기서, 상기 딥파워다운상태는 인텔 코퍼레이션사의 펜린(Penryn) 프로세서에 적용되는 전원관리모드 중 하나의 상태를 의미한다. 상기 딥파워다운상태는 상기 코어 클럭 주파수 및 PLL이 OFF되고, 상기 L1 및 L2 캐쉬도 OFF된 상태이다. 특히, 상기 딥파워다운상태의 코어전압은 기존의 C5(Enhanced Deeper Sleep) 상태에서 상기 코어(11,12,13)의 상태를 보관 유지했던 레벨의 코어전압보다 더 낮은 레벨로 유지되어 상기 프로세서(10) 전체의 소비전력을 최소로 유지할 수 있는 상태이다.
상기 컨트롤유닛(20)은 상기 코어(11,12,13)들이 유휴상태인 경우, 상기 멀티-코어 프로세서(10)의 전원관리모드를 상기 딥파워다운상태로 설정한다. 또한, 상기 컨트롤유닛(20)은 후술할 지연시간산출부(25)를 포함한다.
이하에서는 상기 코어들(11,12,13)들이 유휴상태인 경우, 상기 멀티-코어 프로세서(10)의 전원관리모드를 상기 딥파워다운상태로 진입시키는 과정을 보다 구체적으로 설명한다.
먼저, 상기 프로세서(10)에 포함되는 복수 개의 코어(11,12,13)가 유휴상태에 들어가면, 코어 클럭의 공급이 정지됨으로써 상기 프로세서(10)는 C1, C2 상태에 들어간다. 여기서 상기 C1, C2 상태 및 이하에서 설명된 C3, C4 상태는 ACPI스펙(Advanced Configuration and Power Interface Specification, Revision 2.0)의 프로세서 상태에 따른 전원관리모드의 구분을 의미한다.
다음으로, 상기 프로세서(10)의 L1 캐쉬의 데이터가 플러시(flushed)되고, L2캐쉬에 데이터가 보내진다. 이때, 상기 복수 개의 코어(11,12,13) 상태(state)가 함께 세이브된다. 또한, 상기 PLL이 OFF됨으로써 상기 프로세서(10)는 C3 상태에 들어간다.
이어서, 상기 복수 개의 코어(11,12,13)의 유휴상태가 계속되면 C4 상태에 들어가 코어전압은 캐쉬의 데이터 내용을 유지할 수 있는 한계 레벨(Cahe sustain)까지 내려가게 된다.
다음으로 Dynamic Smart Cache Sizing 으로 L2 캐쉬를 라인마다 OFF 하고, 상기 L2 캐쉬의 데이터는 메모리에 저장되며, 상기 L2 캐쉬는 차례로 플러시되어 결국 OFF 상태가 된다. 여기서, 상기 복수 개의 코어(11,12,13)의 상태가 세이브되고 있기 때문에 기존의 C5(Enhanced Deeper Sleep) 상태에서 상기 코어(11,12,13)의 상태를 보관 유지했던 레벨의 코어전압보다 더 낮은 레벨로 코어전압을 낮출 수 있다.
이와 같이 C5 상태보다 더 낮은 레벨의 코어전압이 공급되고, L1 캐쉬도 OFF함으로써 상기 프로세서(10) 전체의 소비전력을 최소로 유지하는 상태가 딥파워다운상태이다.
한편, 본 발명의 구체적인 실시예에 의한 멀티-코어 프로세서의 전원제어장치를 구성하는 컨트롤유닛(20)은 지연시간산출부(25)를 포함한다. 상기 지연시간산출부(25)는 상기 코어(11,12,13)의 유휴상태가 해제된 경우, 컴퓨터 시스템의 입력 전원상태에 따라 상기 슬립상태를 해제하기 위한 지연시간을 산출하는 역할을 한다.
여기서, 상기 슬립상태는 딥파워다운상태를 포함한다. 즉, 상기 컨트롤유닛(20)은 상기 코어(11,12,13)가 유휴상태인 경우, 상기 멀티-코어 프로세서(10)의 전원관리모드를 상기 딥파워다운상태로 설정하고, 상기 지연시간산출부(25)는 상기 코어(11,12,13)의 유휴상태가 해제된 경우, 상기 딥파워다운상태를 해제하기 위한 지연시간을 산출한다.
이때, 상기 지연시간산출부(25)는 상기 컴퓨터 시스템의 입력 전원이 AC 전원상태인 경우에 상기 지연시간을 최소로 산출한다. 이는 상기 컴퓨터 시스템이 배터리의 전원에 의존하지 않고, 외부 전원에 의해 전력을 공급받음으로써 컴퓨터 시스템이 고성능의 상태로 동작하는 것이 가능하며, 전력소모를 줄여야 하는 필요성이 상대적으로 적기 때문이다.
그리고 상기 지연시간산출부(25)는 상기 컴퓨터 시스템의 입력 전원이 DC 전 원상태인 경우에 배터리의 잔량에 따라 상기 지연시간을 산출한다. 구체적으로 살펴보면, 상기 지연시간산출부(25)는 배터리의 잔량이 많을수록 상기 지연시간을 작게 산출하고, 배터리의 잔량이 적을수록 상기 지연시간을 크게 산출하여 상기 컨트롤유닛(20)에 의해 결정된 전원관리모드에의 진입을 제어한다.
이는 배터리 잔량이 적을수록 소비전력이 최소인 상태를 오랫동안 유지함으로써 전력소모를 최소로 하고, 특히 배터리의 잔량이 적은 경우 배터리의 연속동작 시간을 연장하기 위함이다.
이하에서는 두 개의 코어, 즉 제 1 코어(11) 및 제 2 코어(12)를 구비하는 프로세서가 유휴상태에서 딥파워다운상태로 설정된 이후, 프로세서가 활동상태로 변환됨에 따라 상기 딥파워다운상태가 해제되는 경우를 예로 들어 지연시간에 대하여 구체적으로 설명한다.
상기 두 개의 코어(11,12)를 구비하는 프로세서가 유휴상태에 있어 딥파워다운상태의 전원관리모드로 설정된 상태에서, 상기 코어(11,12)가 활동상태로 변환되면 상기 지연시간산출부(25)는 배터리의 잔량을 체크하여 상기 딥파워다운상태를 해제하기 위한 지연시간을 산출한다.
배터리의 잔량에 따라 구분하여 살펴보면, 먼저 배터리의 잔량이 75% 이상인 경우, 상기 지연시간산출부(25)는 상기 두 개의 코어(11,12)에 대해서 상기 딥파워다운상태를 해제하기 위한 지연시간을 최소로 산출하여 즉시 웨이크-업(wakeup) 시킨다. 이는 배터리의 잔량이 제 1 임계값 이상으로 충분한 경우에는 컴퓨터 시스템이 고성능의 상태로 동작하는 것이 가능하며, 전력소모를 줄여야 하는 필요성이 상 대적으로 작기 때문이다.
그리고 배터리의 잔량이 50% 이상 75% 미만인 경우, 상기 지연시간산출부(25)는 상기 두 개의 코어(11,12) 중 제 1 코어(11)에 대해서는 상기 지연시간을 제 1 기설정값으로 산출하고, 제 2 코어(12)에 대해서는 상기 지연시간을 최소로 산출하여 즉시 웨이크-업 시킨다. 이는 배터리의 잔량이 제 2 임계값 이상 제 1 임계값 미만인 경우 컴퓨터 시스템을 고성능의 상태로 동작시키기에 무리가 있고, 전력소모를 줄여야 할 필요성이 상대적으로 크기 때문이다.
또한, 배터리의 잔량이 50% 미만인 경우, 상기 지연시간산출부(25)는 상기 두 개의 코어(11,12)에 대해서 상기 지연시간을 제 2 기설정값으로 산출하여 지연한 다음에 웨이크-업 시킨다. 이는 배터리의 잔량이 제 2 임계값 미만으로 충분하지 않은 경우에는 컴퓨터 시스템을 고성능의 상태로 동작시키는 것보다 배터리의 사용시간을 연장시켜야 할 필요성이 상대적으로 크기 때문이다.
여기서, 배터리의 잔량 75% 및 50%는 각각 상기 지연시간을 산출하는 기준이 되는 제 1 임계값 및 제 2 임계값의 일례로써, 상기 제 1 임계값 및 제 2 임계값은 반드시 이에 한정되는 것은 아니다.
또한, 상기 제 1 기설정값 및 제 2 기설정값은 전력의 소모를 줄이기 위하여 실험에 의해 결정한 배터리의 잔량에 따른 적절한 지연시간을 나타낸다. 이때, 상기 제 2 기설정값은 상기 제 1 기설정값보다 더 큰 값으로 결정되는데, 이는 배터리의 잔량이 더 적을수록 소비전력을 최소로 할 수 있는 상태를 더 오랫동안 유지함으로써 전력소모를 줄이고, 배터리의 연속동작 시간을 연장하기 위함이다.
이하에서는 상기한 바와 같은 본 발명에 의한 멀티-코어 프로세서의 전원제어방법의 바람직한 실시예를 첨부한 도면을 참고하여 상세하게 설명한다.
도 2는 본 발명의 구체적인 실시예에 의한 멀티-코어 프로세서의 전원제어과정을 상세히 도시한 흐름도이다.
도 2에 도시된 바와 같이, 본 발명의 구체적인 실시예에 의한 멀티-코어 프로세서의 전원제어과정은 멀티-코어 프로세서에 구비되는 복수 개의 코어들에 대한 사용상태를 판단하여 상기 복수 개의 코어들이 유휴(idle)상태인지 여부를 판단하는 단계로부터 시작된다(S100). 이때, 상기 복수 개의 코어들이 유휴상태인 경우에는 제 110 단계를 수행하고, 반면에 상기 복수 개의 코어들이 유휴상태가 아닌 경우에는 다시 제 100 단계를 수행한다.
다음으로, 제 100 단계에서 판단한 결과 상기 복수 개의 코어들이 유휴상태인 경우, 전원관리모드를 슬립상태로 설정한다(S110).
여기서, 상기 슬립상태는 상기 코어들이 유휴상태에 있는 경우, 소모되는 전력을 줄이기 위해 코어 클럭 주파수, PLL, 그리고 L1 및 L2 캐쉬의 ON/OFF를 제어하고, 코어전압이 정상상태에 비해 낮게 유지되는 상태를 의미한다.
상기 슬립상태는 L1 및 L2 캐쉬, 코어 클럭 주파수 및 PLL(Phase Locked Loop)이 OFF되고 코어전압이 낮게 공급되는 딥파워다운(Deep Power Down)상태를 포함한다.
여기서, 상기 딥파워다운상태는 인텔 코퍼레이션사의 펜린(Penryn) 프로세서에 적용되는 전원관리모드 중 하나의 상태를 의미한다. 상기 딥파워다운상태는 상 기 코어 클럭 주파수 및 PLL이 OFF되고, 상기 L1 및 L2 캐쉬도 OFF된 상태이다. 특히, 상기 딥파워다운상태의 코어전압은 기존의 C5(Enhanced Deeper Sleep) 상태에서 상기 코어의 상태를 보관 유지했던 레벨의 코어전압보다 더 낮은 레벨로 유지되어 상기 프로세서 전체의 소비전력을 최소로 유지할 수 있는 상태이다.
이어서, 전원관리모드가 상기 슬립상태로 설정된 상태에서 상기 멀티-코어 프로세서에 구비되는 복수 개의 코어들이 활동상태인지 여부를 판단한다(S120). 이때, 상기 복수 개의 코어들이 활동상태인 경우에는 제 130 단계를 수행하고, 반면에 상기 복수 개의 코어들이 활동상태가 아닌 경우에는 다시 제 120 단계를 수행한다.
다음으로, 상기 제 120 단계에서 판단한 결과 상기 복수 개의 코어들이 활동상태인 경우, 컴퓨터 시스템의 입력 전원이 DC 전원상태인지 여부를 판단한다(S130). 이때, 상기 컴퓨터 시스템의 입력 전원이 DC 전원상태인 경우에는 제 140 단계를 수행하고, 반면에 상기 컴퓨터 시스템의 입력 전원이 DC 전원상태가 아닌 경우에는 제 150 단계를 수행한다.
이어서, 상기 제 130 단계에서 판단한 결과 상기 컴퓨터 시스템의 입력 전원이 DC 전원상태인 경우, 상기 슬립상태를 해제하기 위한 지연시간을 배터리 잔량에 반비례하게 산출한다(S140).
이는 배터리의 잔량이 많을수록 상기 지연시간을 작게 산출하고, 배터리의 잔량이 적을수록 상기 지연시간을 크게 산출하여 배터리 잔량이 적은 경우, 소비전력이 최소인 상태를 오랫동안 유지함으로써 전력소모를 최소로 하고, 배터리의 연 속동작 시간을 연장하기 위함이다.
한편, 상기 제 130 단계에서 판단한 결과 상기 컴퓨터 시스템의 입력 전원이 DC 전원상태가 아닌 경우, 상기 슬립상태를 해제하기 위한 지연시간을 최소로 산출한다(S150). 이는 상기 컴퓨터 시스템이 배터리의 전원에 의존하지 않고, 외부 전원에 의해 전력을 공급받음으로써 컴퓨터 시스템이 고성능의 상태로 동작하는 것이 가능하며, 전력소모를 줄여야 하는 필요성이 상대적으로 적기 때문이다.
마지막으로, 상기 산출된 지연시간을 적용하여 상기 슬립상태의 전원관리모드를 해제한다(S160).
도 3은 본 발명의 다른 실시예에 의한 멀티-코어 프로세서의 전원제어과정을 상세히 도시한 흐름도이다.
도 3에 도시된 바와 같이, 본 발명의 다른 실시예에 의한 멀티-코어 프로세서의 전원제어과정은 멀티-코어 프로세서에 구비되는 복수 개의 코어들에 대한 사용상태를 판단하여 상기 복수 개의 코어들이 유휴(idle)상태인지 여부를 판단하는 단계로부터 시작된다(S200). 이때, 상기 복수 개의 코어들이 유휴상태인 경우에는 제 210 단계를 수행하고, 반면에 상기 복수 개의 코어들이 유휴상태가 아닌 경우에는 다시 제 200 단계를 수행한다.
다음으로, 상기 제 200 단계에서 판단한 결과 상기 복수 개의 코어들이 유휴상태인 경우, 전원관리모드를 슬립상태로 설정한다(S210).
여기서, 상기 슬립상태는 상기 코어들이 유휴상태에 있는 경우, 소모되는 전력을 줄이기 위해 코어 클럭 주파수, PLL, 그리고 L1 및 L2 캐쉬의 ON/OFF를 제어 하고, 코어전압이 정상상태에 비해 낮게 유지되는 상태를 의미한다.
상기 슬립상태는 L1 및 L2 캐쉬, 코어 클럭 주파수 및 PLL(Phase Locked Loop)이 OFF되고 코어전압이 낮게 공급되는 딥파워다운(Deep Power Down)상태를 포함한다.
여기서, 상기 딥파워다운상태는 인텔 코퍼레이션사의 펜린(Penryn) 프로세서에 적용되는 전원관리모드 중 하나의 상태를 의미한다. 상기 딥파워다운상태는 상기 코어 클럭 주파수 및 PLL이 OFF되고, 상기 L1 및 L2 캐쉬도 OFF된 상태이다. 특히, 상기 딥파워다운상태의 코어전압은 기존의 C5(Enhanced Deeper Sleep) 상태에서 상기 코어의 상태를 보관 유지했던 레벨의 코어전압보다 더 낮은 레벨로 유지되어 상기 프로세서 전체의 소비전력을 최소로 유지할 수 있는 상태이다.
이어서, 전원관리모드가 슬립상태로 설정된 상태에서 상기 멀티-코어 프로세서에 구비되는 복수 개의 코어들이 활동상태인지 여부를 판단한다(S220). 이때, 상기 복수 개의 코어들이 활동상태인 경우에는 제 230 단계를 수행하고, 반면에 상기 복수 개의 코어들이 활동상태가 아닌 경우에는 다시 제 220 단계를 수행한다.
다음으로, 상기 제 220 단계에서 판단한 결과 상기 복수 개의 코어들이 활동상태인 경우, 컴퓨터 시스템의 입력 전원이 DC 전원상태인지 여부를 판단한다(S230). 이때, 상기 컴퓨터 시스템의 입력 전원이 DC 전원상태인 경우에는 제 240 단계를 수행하고, 반면에 상기 컴퓨터 시스템의 입력 전원이 DC 전원상태가 아닌 경우에는 제 250 단계를 수행한다.
이어서, 상기 제 230 단계에서 판단한 결과 상기 컴퓨터 시스템의 입력 전원 이 DC 전원상태인 경우, 배터리의 잔량이 제 1 임계값 미만인지 여부를 판단한다(S240). 이때, 상기 배터리의 잔량이 제 1 임계값 미만인 경우에는 제 260 단계를 수행하고, 반면에 상기 배터리의 잔량이 제 1 임계값 이상인 경우에는 제 250 단계를 수행한다.
다음으로, 상기 제 230 단계에서 판단한 결과 상기 컴퓨터 시스템의 입력 전원이 DC 전원상태가 아닌 경우와, 상기 제 240 단계에서 판단한 결과 상기 배터리의 잔량이 제 1 임계값 이상인 경우에는 상기 슬립상태를 해제하기 위한 지연시간을 최소로 산출한다(S250). 이는 상기 컴퓨터 시스템이 배터리 전원에 의존하지 않고, 외부 전원에 의해 전력을 공급받거나 또는 배터리의 잔량이 상기 제 1 임계값 이상으로 충분한 경우에는 컴퓨터 시스템이 고성능의 상태로 동작하는 것이 가능하며, 전력소모를 줄여야 하는 필요성이 상대적으로 적기 때문이다.
예컨대 상기 복수 개의 코어들이 유휴상태에 있어 상기 멀티-코어 프로세서가 슬립상태의 전원관리모드로 설정된 상태에서, 상기 코어들이 활동상태로 되어 상기 멀티-코어 프로세서의 전원관리모드가 변환되는 경우, 컴퓨터 시스템이 AC 전원으로부터 전력을 공급받거나 또는 상기 배터리의 잔량이 75% 이상이면 상기 딥파워다운상태를 해제하기 위한 지연시간을 최소로 산출한다.
여기서 배터리의 잔량 75%는 상기 복수 개의 코어에 대해서 상기 지연시간을 산출하는 기준이 되는 제 1 임계값의 일례로써, 상기 제 1 임계값은 반드시 이에 한정되는 것은 아니다.
이어서, 상기 제 240 단계에서 판단한 결과 상기 배터리의 잔량이 제 1 임계 값 미만인 경우에는 상기 배터리의 잔량이 제 2 임계값 이상인지 여부를 판단한다(S260). 이때, 상기 배터리의 잔량이 제 2 임계값 이상인 경우 제 270 단계를 수행하고, 반면에 상기 배터리의 잔량이 제 2 임계값 미만인 경우에는 제 280 단계를 수행한다.
다음으로, 상기 제 260 단계에서 판단한 결과 상기 배터리의 잔량이 제 2 임계값 이상인 경우에는 상기 복수 개의 코어 중 하나의 코어에 대해서는 지연시간을 최소로 산출하고, 나머지의 코어에 대해서는 지연시간을 제 1 기설정값으로 산출한다(S270). 이는 배터리의 잔량이 제 2 임계값 이상, 제 1 임계값 미만인 경우 컴퓨터 시스템을 고성능의 상태로 동작시키기에 무리가 있고, 전력소모를 줄여야 할 필요성이 상대적으로 크기 때문이다.
예컨대 상기 복수 개의 코어들이 유휴상태에 있어 상기 멀티-코어 프로세서가 슬립상태의 전원관리모드로 설정된 상태에서, 상기 복수 개의 코어들이 활동상태로 되어 상기 전원관리모드가 변환되는 경우, 상기 배터리의 잔량이 50%이상 75% 미만이면 하나의 코어에 대해서는 지연시간을 최소로 산출하고, 나머지 코어에 대해서는 지연시간을 제 1 기설정값으로 산출한다.
여기서 배터리의 잔량 75% 및 50%는 상기 복수 개의 코어에 대해서 상기 지연시간을 산출하는 기준이 되는 제 1 임계값 및 제 2 임계값의 일례로써, 상기 제 1 임계값 및 제 2 임계값은 반드시 이에 한정되는 것은 아니다. 또한, 상기 제 1 기설정값은 전력의 소모를 줄이기 위하여 실험에 의해 결정한 배터리의 잔량에 따른 적절한 지연시간을 나타낸다.
한편, 상기 제 260 단계에서 판단한 결과 상기 배터리의 잔량이 제 2 임계값 미만인 경우에는 상기 딥파워다운상태를 해제하기 위한 지연시간을 제 2 기설정값으로 산출한다(S280). 이는 배터리의 잔량이 제 2 임계값 미만으로 충분하지 않은 경우에는 컴퓨터 시스템을 고성능의 상태로 동작시키는 것보다 배터리의 사용시간을 연장시켜야 할 필요성이 상대적으로 크기 때문이다.
예컨대 상기 복수 개의 코어들이 유휴상태에 있어 상기 멀티-코어 프로세서가 슬립상태의 전원관리모드로 설정된 상태에서, 상기 복수 개의 코어들이 활동상태로 되어 상기 전원관리모드가 변환되는 경우, 상기 배터리의 잔량이 50% 미만이면 상기 딥파워다운상태를 해제하기 위한 지연시간을 제 2 기설정값으로 산출한다.
여기서 배터리의 잔량 50%는 상기 복수 개의 코어에 대해서 상기 지연시간을 산출하는 기준이 되는 제 2 임계값의 일례로써, 상기 제 2 임계값은 반드시 이에 한정되는 것은 아니다. 또한, 상기 제 2 기설정값은 전력의 소모를 줄이기 위하여 실험에 의해 결정한 배터리의 잔량에 따른 적절한 지연시간을 나타낸다.
마지막으로, 상기 설정된 지연시간을 적용하여 상기 슬립상태의 전원관리모드를 해제한다(S290).
본 발명의 권리는 위에서 설명된 실시예에 한정되지 않고 청구범위에 기재된 바에 의해 정의되며, 본 발명의 분야에서 통상의 지식을 가진 자가 청구범위에 기재된 권리범위 내에서 다양한 변형과 개작을 할 수 있다는 것은 자명하다.
도 1은 본 발명의 구체적인 실시예를 구성하는 멀티-코어 프로세서의 전원제어장치를 나타내는 블럭도.
도 2는 본 발명의 구체적인 실시예에 의한 멀티-코어 프로세서의 전원제어방법을 상세히 도시한 상세 흐름도.
도 3은 본 발명의 다른 실시예에 의한 멀티-코어 프로세서의 전원제어방법을 상세히 도시한 상세 흐름도.
* 도면의 주요부분에 대한 부호의 설명 *
10: 프로세서 11: 제 1 코어
12: 제 2 코어 13: 제 n 코어
20: 컨트롤유닛 25: 지연시간산출부

Claims (16)

  1. 복수 개의 코어를 구비하는 멀티-코어 프로세서와;
    상기 코어의 사용상태에 따라 상기 멀티-코어 프로세서의 전원관리모드를 설정하는 컨트롤유닛을 포함하여 구성되고:
    상기 컨트롤유닛은,
    지연시간산출부를 포함하고, 상기 코어가 유휴상태인 경우 전원관리모드를 슬립상태로 설정하며:
    상기 지연시간산출부는,
    상기 코어의 유휴상태가 해제된 경우, 컴퓨터 시스템의 입력 전원상태에 따라 상기 슬립상태를 해제하기 위한 지연시간을 산출함을 특징으로 하는 멀티-코어 프로세서의 전원제어장치.
  2. 제 1 항에 있어서,
    상기 슬립상태는,
    L1 및 L2 캐쉬, 코어 클럭 주파수 및 PLL(Phase Locked Loop)이 OFF되고 코어전압이 낮게 공급되는 딥파워다운(Deep Power Down)상태를 포함함을 특징으로 하는 멀티-코어 프로세서의 전원제어장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 지연시간산출부는,
    상기 입력 전원이 AC 전원상태인 경우, 상기 지연시간을 최소로 산출함을 특징으로 하는 멀티-코어 프로세서의 전원제어장치.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 지연시간산출부는,
    상기 입력 전원이 DC 전원상태인 경우, 상기 지연시간을 배터리 잔량에 따라 산출함을 특징으로 하는 멀티-코어 프로세서의 전원제어장치.
  5. 제 4 항에 있어서,
    상기 지연시간산출부는,
    상기 지연시간을 상기 배터리 잔량에 반비례하게 산출함을 특징으로 하는 멀티-코어 프로세서의 전원제어장치.
  6. 제 4 항에 있어서,
    상기 지연시간산출부는,
    상기 배터리 잔량이 제 1 임계값 이상인 경우, 상기 지연시간을 최소로 산출함을 특징으로 하는 멀티-코어 프로세서의 전원제어장치.
  7. 제 4 항에 있어서,
    상기 지연시간산출부는,
    상기 배터리 잔량이 제 1 임계값 미만, 제 2 임계값 이상인 경우, 상기 복수 개의 코어 중 하나의 코어에 대해서는 상기 지연시간을 최소로 산출하고, 나머지 코어에 대해서는 상기 지연시간을 제 1 기설정값으로 산출함을 특징으로 하는 멀티-코어 프로세서의 전원제어장치.
  8. 제 4 항에 있어서,
    상기 지연시간산출부는,
    상기 배터리 잔량이 제 2 임계값 미만인 경우, 상기 지연시간을 제 2 기설정값으로 산출함을 특징으로 하는 멀티-코어 프로세서의 전원제어장치.
  9. (a) 멀티-코어 프로세서에 구비되는 복수 개의 코어들에 대한 사용상태를 판단하는 단계와;
    (b) 상기 코어가 유휴상태인 경우, 전원관리모드를 슬립상태로 설정하는 단계와;
    (c) 상기 코어의 유휴상태가 해제된 경우, 컴퓨터 시스템의 입력 전원상태에 따라 상기 슬립상태를 해제하기 위한 지연시간을 산출하는 단계; 그리고
    (d) 상기 산출된 지연시간을 적용하여 상기 슬립상태를 해제하는 단계를 포함함을 특징으로 하는 멀티-코어 프로세서의 전원제어방법.
  10. 제 9 항에 있어서,
    상기 슬립상태는,
    L1 및 L2 캐쉬, 코어 클럭 주파수 및 PLL(Phase Locked Loop)이 OFF되고 코어전압이 낮게 공급되는 딥파워다운(Deep Power Down)상태를 포함함을 특징으로 하는 멀티-코어 프로세서의 전원제어방법.
  11. 제 9 항 또는 제 10 항에 있어서,
    상기 (c) 단계는,
    상기 입력 전원이 AC 전원상태인 경우, 상기 지연시간을 최소로 산출하도록 수행됨을 특징으로 하는 멀티-코어 프로세서의 전원제어방법.
  12. 제 9 항 또는 제 10 항에 있어서,
    상기 (c) 단계는,
    상기 입력 전원이 DC 전원상태인 경우, 상기 지연시간을 배터리 잔량에 따라 산출하도록 수행됨을 특징으로 하는 멀티-코어 프로세서의 전원제어방법.
  13. 제 12 항에 있어서,
    상기 (c) 단계는,
    상기 지연시간을 상기 배터리 잔량에 반비례하게 산출하도록 수행됨을 특징으로 하는 멀티-코어 프로세서의 전원제어방법.
  14. 제 12 항에 있어서,
    상기 (c) 단계는,
    상기 배터리 잔량이 제 1 임계값 이상인 경우, 상기 지연시간을 최소로 산출하도록 수행됨을 특징으로 하는 멀티-코어 프로세서의 전원제어방법.
  15. 제 12 항에 있어서,
    상기 (c) 단계는,
    상기 배터리 잔량이 제 1 임계값 미만, 제 2 임계값 이상인 경우, 상기 복수 개의 코어 중 하나의 코어에 대해서는 상기 지연시간을 최소로 산출하고, 나머지 코어에 대해서는 상기 지연시간을 제 1 기설정값으로 산출하도록 수행됨을 특징으로 하는 멀티-코어 프로세서의 전원제어방법.
  16. 제 12 항에 있어서,
    상기 (c) 단계는,
    상기 배터리 잔량이 제 2 임계값 미만인 경우, 상기 지연시간을 제 2 기설정값으로 산출하도록 수행됨을 특징으로 하는 멀티-코어 프로세서의 전원제어방법.
KR1020080010316A 2008-01-31 2008-01-31 멀티-코어 프로세서의 전원제어장치 및 방법 KR20090084255A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080010316A KR20090084255A (ko) 2008-01-31 2008-01-31 멀티-코어 프로세서의 전원제어장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080010316A KR20090084255A (ko) 2008-01-31 2008-01-31 멀티-코어 프로세서의 전원제어장치 및 방법

Publications (1)

Publication Number Publication Date
KR20090084255A true KR20090084255A (ko) 2009-08-05

Family

ID=41204832

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080010316A KR20090084255A (ko) 2008-01-31 2008-01-31 멀티-코어 프로세서의 전원제어장치 및 방법

Country Status (1)

Country Link
KR (1) KR20090084255A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013095943A1 (en) * 2011-12-22 2013-06-27 Intel Corporation System, method and apparatus for energy efficiency and energy conservation by configuring power management parameters during run time
US9360909B2 (en) 2012-04-19 2016-06-07 Intel Corporation System, method and apparatus for energy efficiency and energy conservation by configuring power management parameters during run time
WO2023048709A1 (en) * 2021-09-22 2023-03-30 Intel Corporation Controlling a power consumption of circuitry

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013095943A1 (en) * 2011-12-22 2013-06-27 Intel Corporation System, method and apparatus for energy efficiency and energy conservation by configuring power management parameters during run time
US9563254B2 (en) 2011-12-22 2017-02-07 Intel Corporation System, method and apparatus for energy efficiency and energy conservation by configuring power management parameters during run time
US9360909B2 (en) 2012-04-19 2016-06-07 Intel Corporation System, method and apparatus for energy efficiency and energy conservation by configuring power management parameters during run time
US10139882B2 (en) 2012-04-19 2018-11-27 Intel Corporation System, method and apparatus for energy efficiency and energy conservation by configuring power management parameters during run time
US10963028B2 (en) 2012-04-19 2021-03-30 Intel Corporation System, method and apparatus for energy efficiency and energy conservation by configuring power management parameters during run time
WO2023048709A1 (en) * 2021-09-22 2023-03-30 Intel Corporation Controlling a power consumption of circuitry

Similar Documents

Publication Publication Date Title
US7430673B2 (en) Power management system for computing platform
US10963037B2 (en) Conserving power by reducing voltage supplied to an instruction-processing portion of a processor
US10386915B2 (en) Distribution of tasks among asymmetric processing elements
US8826047B1 (en) Self governing power management architecture that allows independent management of devices based on clock signals and a plurality of control signals written to control registers
US6631474B1 (en) System to coordinate switching between first and second processors and to coordinate cache coherency between first and second processors during switching
TWI400604B (zh) 基於延遲引導的平台電源管理
US8112647B2 (en) Protocol for power state determination and demotion
US9074947B2 (en) Estimating temperature of a processor core in a low power state without thermal sensor information
KR101429299B1 (ko) 컴퓨터에 이용가능한 전력량에 기초하여 전력을 보존하는 컴퓨터 구현 방법, 컴퓨터상의 애플리케이션 프로그램들과 대화할 수 있는 기간을 연장하기 위한 소프트웨어 시스템, 및 컴퓨터 판독가능 매체
US20050132239A1 (en) Almost-symmetric multiprocessor that supports high-performance and energy-efficient execution
US9377841B2 (en) Adaptively limiting a maximum operating frequency in a multicore processor
US20110131427A1 (en) Power management states
US20110022857A1 (en) Throttling computational units according to performance sensitivity
AU2017247094A1 (en) Enhanced dynamic clock and voltage scaling (DCVS) scheme
JP2000039937A (ja) コンピュータシステムおよびそのパワーセーブ制御方法
TWI470410B (zh) 電子系統及其電源管理方法
US9612652B2 (en) Controlling power consumption by power management link
KR20090084255A (ko) 멀티-코어 프로세서의 전원제어장치 및 방법
KR20090086866A (ko) 멀티-코어 프로세서의 전원제어장치 및 방법
CN117032442A (zh) 一种集成深度学习加速器的低功耗SoC
JP2009122828A (ja) 中央処理装置、制御装置、及びプログラム

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination