KR101896494B1 - 컴퓨팅 디바이스들에서의 전력 관리 - Google Patents

컴퓨팅 디바이스들에서의 전력 관리 Download PDF

Info

Publication number
KR101896494B1
KR101896494B1 KR1020167010069A KR20167010069A KR101896494B1 KR 101896494 B1 KR101896494 B1 KR 101896494B1 KR 1020167010069 A KR1020167010069 A KR 1020167010069A KR 20167010069 A KR20167010069 A KR 20167010069A KR 101896494 B1 KR101896494 B1 KR 101896494B1
Authority
KR
South Korea
Prior art keywords
processor
state
idle state
power
enter
Prior art date
Application number
KR1020167010069A
Other languages
English (en)
Other versions
KR20160055919A (ko
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 인텔 코포레이션
Publication of KR20160055919A publication Critical patent/KR20160055919A/ko
Application granted granted Critical
Publication of KR101896494B1 publication Critical patent/KR101896494B1/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/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/3243Power saving in microcontroller unit
    • 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/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • 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/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • Y02D10/152

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)

Abstract

프로세서의 동작 상태를 변경하기 위한 다양한 기술들이 본 명세서에 설명된다. 일례에서, 전자 디바이스는 프로세서가 프로세서의 동작 상태를 변경할 수 없다는 것을 결정할 수 있는 로직을 포함한다. 일부 실시예들에서, 이 로직은 또한 전자 디바이스가 유휴 상태에 들어가야 한다는 표시를 검출하고, 프로세서로부터의 상태 정보를 휘발성 메모리 디바이스에 저장할 수 있다. 이 로직은 또한 프로세서로 하여금 유휴 상태에 들어가게 할 수 있다.

Description

컴퓨팅 디바이스들에서의 전력 관리{POWER MANAGEMENT IN COMPUTING DEVICES}
본 기술들은 일반적으로 컴퓨팅 디바이스들에서의 전력 관리에 관한 것이고, 더 상세하게는 컴퓨팅 디바이스들에서의 전력 소비를 감소시키는 것에 관한 것이지만, 오로지 이것에만 관한 것은 아니다.
전자 디바이스에서의 전력 소비의 감소는 일반적으로 이층 체계(two-tiered scheme)로 다루어졌다. 인쇄 회로 기판과 다양한 커넥터 및 케이블에 의해 상호 연결된, 다수의 집적 회로 칩(IC)으로 일반적으로 구성된 시스템들과 서브시스템들은 개개의 단일 기능 IC들이 대기 전압에서 동작되거나 전력 절약을 위해 완전히 파워 오프되는 것을 가능하게 하였다. 예를 들어, 메모리 IC들이 프로세서와는 크게 다른 전압에서 동작할 수 있거나, 또는 네트워크 컨트롤러들이 물리 계층 트랜시버 등과는 상이한 전력 요구를 가질 수 있다. 그러나, IC 제조 기술이 진보함에 따라, 한 때는 다수의 그리고 개별 IC들에 의해 수행된 기능들이 이제는 시스템-온-칩 IC(SoC)와 같은 더욱 복잡한 IC의 내장된 부분에 의해 수행될 수 있다.
도 1은 프로세서의 동작 상태를 변경할 수 있는 컴퓨팅 시스템의 일례의 블록도이다.
도 2는 프로세서의 동작 상태를 변경할 수 있는 전자 디바이스의 예시적인 동작 모드들을 예시하는 블록도이다.
도 3은 프로세서의 동작 상태를 변경하기 위한 예시적인 실시예의 실행 시퀀스를 예시하는 블록도이다.
도 4는 프로세서의 동작 상태를 변경하기 위한 방법의 예시적인 블록도이다.
개시 내용과 도면들의 전체에 걸쳐 같은 컴포넌트들과 특징들을 참조하기 위해 동일한 번호들이 사용된다. 100 계열의 번호들은 도 1에서 처음 발견된 특징들을 참조하고; 200 계열의 번호들은 도 2에서 처음 발견된 특징들을 참조하고; 기타 등등이다.
시스템 온 칩 내에서, 모든 기능들에는 전통적으로 동일한 전압 레벨에서 그리고, 대개는, 단일 동작 또는 클록 주파수에서 전력이 공급되었다. 전력 관리는 전력 절약을 위하여 비활성 기능들을 오프시키도록 클록들을 게이팅하는 것으로 제한되었다. 예를 들어, 입출력 컨트롤러 IC가 현재 어떤 디바이스에도 연결되어 있지 않은 특정 인터페이스들을 오프시키는 것이 가능할 수 있다. 위에서 설명된 접근법의 단점은 칩 내의 개개의 기능들의 세분화된 제어를 허용하지 않는다는 점이다. SoC 디바이스들의 증가하는 인기와 함께, 개별 칩들에 있곤 했던 기능들 중 다수가 하나의 칩에 통합되고 이로 인해 클록을 게이팅하거나 SoC 칩의 동작 전압을 감소시키는 것이 어려워지거나 불가능해졌다. 파워 아일랜드(power islands)(전압 아일랜드(voltage islands)라고도 알려짐)의 개념은 단일 칩의 상이한 영역들 또는 기능들을 상이하고 독립적인 전압 레벨들 및 클록 주파수들에서 동작시키는 이점을 제공한다. 예를 들어, 칩은 메모리, 입출력 및 프로세서 기능들에 대해 개별 파워 아일랜드를 갖도록 설계될 수 있다. 파워 아일랜드를 구현하는 것에 의해 많은 칩 설계가 이익을 얻을 수 있지만, 그러한 칩들의 설계 및 개발에는 막대한 자원이 요구된다. 더욱이, 많은 칩들은 동일한 칩 상의 다른 디바이스들 또는 기능들에 의해 이용되는, 예를 들어, 공유 입출력(I/O) 디바이스들과 같은 공유 디바이스들을 포함하고, 이러한 공유 디바이스들은 독립적으로 셧 다운될 수 없고 이로 인해 그러한 설계들에서 파워 아일랜드를 구현하는 것으로부터 얻어지는 이익이 감소하게 된다.
서스펜드 투 랜덤 액세스 메모리(suspend to random access memory)(Suspend to RAM 또는 STR) 기술이 시스템들이 전력 소비를 감소시키는 데 이용될 수도 있다. 일반적으로, STR 기술은 저전력 셀프-리프레시(self-refresh) 동작 모드에 놓여 있는, 주 메모리와, 웨이크 이벤트(wake events)를 야기할 수 있는 디바이스들/기능들은 제외하고 칩의 기능들을 파워 오프시킨다. 그러나, 파워 아일랜드가 없는 칩들 및 공유 I/O 디바이스들이 있는 칩들은 STR 기술로부터 전력 소비 감소의 관점에서 설령 있더라도 매우 적은 이익을 얻는다. 따라서, 파워 아일랜드를 구현하지 않은 칩들 및 공유 디바이스들을 포함하는 칩들에서 전력 소비의 감소는 도전적인 과제이다.
본 명세서에 설명된 실시예들에 따르면, 컴퓨팅 디바이스의 로직이 컴퓨팅 디바이스 내의 프로세서가 다양한 유휴 상태(본 명세서에서 C 상태라고도 부름)를 지원하지 않는다는 것을 검출할 수 있다. 예를 들어, 프로세서가 고급 구성 및 전력 인터페이스(advanced configuration and power interface) 규격(본 명세서에서 ACPI라고도 부름)의 기능을 지원하지 않을 수 있다. 본 명세서에서 언급된, 유휴 상태는 프로세서의 전력 소비가 동작 상태에서의 전력 소비보다 낮은 프로세서의 임의의 적합한 상태를 포함할 수 있다. 예를 들어, 유휴 상태는 프로세서가 프로세서 내의 임의의 적합한 수의 컴포넌트들에 대한 전력을 수신하지 않는 임의의 상태를 포함할 수 있다. 본 명세서에서 언급된, 동작 상태는 프로세서가 최대 전력을 유지하고 프로세서 내의 임의의 적합한 수의 컴포넌트들을 이용하여 명령어들을 실행할 수 있는 임의의 상태를 포함할 수 있다. 일부 예들에서, 로직은 유휴 상태로 전환하는 것에 의해 프로세서의 동작 상태를 변경할 수 있다. 예를 들어, 로직은 프로세서에 대한 임의의 적합한 상태 정보를 프로세서 내의 메모리에 저장하고 프로세서 내의 임의의 적합한 수의 컴포넌트들에 대한 클록 신호를 중지하거나 프로세서가 명령어들을 실행하는 주파수를 변경하는 것에 의해 프로세서의 전력 소비를 감소시킬 수 있다. 일부 예들에서, 프로세서 내의 메모리는 메모리 내의 데이터 손실을 막기 위해 셀프-리프레시 상태에 들어갈 수 있다.
다음의 설명과 청구항들에서는, "결합된" 및 "연결된"이라는 용어들과 함께 이들의 파생어들이 사용될 수 있다. 이들 용어는 서로에 대한 동의어로 의도된 것이 아님을 이해해야 한다. 오히려, 특정 실시예들에서, "연결된"은 2개 이상의 요소가 서로 직접 물리적으로 또는 전기적으로 접촉하고 있는 것을 표시하기 위해 사용될 수 있다. "결합된"은 2개 이상의 요소가 직접 물리적으로 또는 전기적으로 접촉하고 있는 것을 의미할 수 있다. 그러나, "결합된"은 2개 이상의 요소가 서로 직접 접촉하고 있지 않음에도, 여전히 서로 협력하거나 상호 작용하는 것을 의미할 수도 있다.
일부 실시예들은 하드웨어, 펌웨어, 및 소프트웨어 중 하나로 또는 이들의 조합으로 구현될 수 있다. 일부 실시예들은 본 명세서에 설명된 동작들을 수행하기 위해 컴퓨팅 플랫폼에 의해 판독되어 실행될 수 있는, 머신 판독 가능 매체에 저장된 명령어들로서 구현될 수도 있다. 머신 판독 가능 매체는 머신, 예컨대, 컴퓨터가 판독할 수 있는 형태로 정보를 저장하거나 송신하기 위한 임의의 메커니즘을 포함할 수 있다. 예를 들어, 머신 판독 가능 매체는, 특히, ROM(read only memory); RAM(random access memory); 자기 디스크 저장 매체; 광 저장 매체; 플래시 메모리 디바이스; 또는 전기, 광학, 음향 또는 다른 형태의 전파 신호, 예컨대, 반송파, 적외선 신호, 디지털 신호, 또는 신호를 송신 및/또는 수신하는 인터페이스를 포함할 수 있다.
실시예는 구현 또는 예이다. 본 명세서에서, "실시예", "일 실시예", 일부 실시예들", "다양한 실시예들", 또는 "다른 실시예들"에 대한 언급은 해당 실시예들과 관련하여 설명된 특정한 특징, 구조, 또는 특성이 본 기술들의 적어도 일부 실시예들에 포함되지만, 반드시 모든 실시예들에 포함되는 것은 아니라는 것을 의미한다. "실시예", "일 실시예", 또는 "일부 실시예들"의 다양한 출현들은 반드시 모두가 동일한 실시예들을 언급하고 있는 것은 아니다. 한 실시예로부터의 요소들 또는 양태들은 다른 실시예들의 요소들 또는 양태들과 결합될 수 있다.
본 명세서에 설명되고 예시된 컴포넌트들, 특징들, 구조들, 특성들 등이 전부 다 특정 실시예 또는 실시예들에 포함될 필요가 있는 것은 아니다. 본 명세서가 어떤 컴포넌트, 특징, 구조, 또는 특성이, 예를 들어, 포함될 수 있다("may", "might", "can" or "could" be included)라고 서술한다면, 그 특정한 컴포넌트, 특징, 구조, 또는 특성이 포함되어야 하는 것은 아니다. 본 명세서 또는 청구항이 어떤("a" 또는 "an") 요소를 언급한다면, 그것은 해당 요소가 하나만 있다는 것을 의미하지 않는다. 본 명세서 또는 청구항들이 "부가" 요소를 언급한다면, 그것은 그 부가 요소가 둘 이상 있는 것을 배제하지 않는다.
일부 실시예들이 특정 구현들과 관련하여 설명되었지만, 일부 실시예들에 따라 다른 구현들도 가능하다는 점에 유의해야 한다. 게다가, 도면들에 예시된 그리고/또는 본 명세서에 설명된 회로 요소들 또는 다른 특징들의 배열 및/또는 순서는 예시되고 설명된 특정한 방식으로 배열되어야 하는 것은 아니다. 일부 실시예들에 따라 많은 다른 배열들도 가능하다.
도면에 도시된 각 시스템에서, 일부 사례들에서 요소들은 나타내어진 그 요소들이 상이하고/하거나 유사할 수 있다는 것을 시사하기 위해 동일한 참조 번호 또는 상이한 참조 번호를 각각 가질 수 있다. 그러나, 한 요소는 상이한 구현들을 갖고 본 명세서에 도시되거나 설명된 시스템들의 일부 또는 전부와 함께 작동하기에 충분할 정도로 적응성이 있을 수 있다. 도면들에 도시된 다양한 요소들은 동일하거나 상이할 수 있다. 어느 하나를 제1 요소라고 부르고 어느 것을 제2 요소라고 부르는 것은 임의적이다.
도 1은 프로세서의 동작 상태를 변경할 수 있는 컴퓨팅 시스템의 일례의 블록도이다. 컴퓨팅 디바이스(본 명세서에서 전자 디바이스라고도 부름)(100)는, 예를 들어, 특히, 컴퓨팅 전화, 랩톱 컴퓨터, 데스크톱 컴퓨터, 또는 태블릿 컴퓨터일 수 있다. 컴퓨팅 디바이스(100)는 저장된 명령어들을 실행하도록 적응된 프로세서(102)뿐만 아니라, 프로세서(102)에 의해 실행 가능한 명령어들을 저장하는 메모리 디바이스(104)도 포함할 수 있다. 프로세서(102)는 단일 코어 프로세서, 멀티-코어 프로세서, 컴퓨팅 클러스터, 또는 임의의 수의 다른 구성일 수 있다. 메모리 디바이스(104)는 랜덤 액세스 메모리, 판독 전용 메모리, 플래시 메모리, 또는 임의의 다른 적합한 메모리 시스템들을 포함할 수 있다. 프로세서(102)에 의해 실행되는 명령어들은 프로세서의 동작 상태를 변경할 수 있는 방법을 구현하는 데 이용될 수 있다.
프로세서(102)는 컴퓨팅 디바이스(100)를 하나 이상의 입출력(I/O) 디바이스(110)에 연결하도록 적응된 I/O 디바이스 인터페이스(108)에 시스템 인터커넥트(106)(예컨대, PCI®, PCI-Express®, 기타 등등)를 통하여 연결될 수 있다. I/O 디바이스들(110)은, 예를 들어, 키보드 및 포인팅 디바이스를 포함할 수 있고, 여기서 포인팅 디바이스는, 특히, 터치패드 또는 터치스크린을 포함할 수 있다. I/O 디바이스들(110)은 컴퓨팅 디바이스(100)의 내장형 컴포넌트들일 수 있거나, 또는 컴퓨팅 디바이스(100)에 외부적으로 연결되는 디바이스들일 수 있다.
프로세서(102)는 또한 컴퓨팅 디바이스(100)를 디스플레이 디바이스(114)에 연결하도록 적응된 디스플레이 인터페이스(112)에 시스템 인터커넥트(106)를 통하여 연결될 수도 있다. 디스플레이 디바이스(114)는 컴퓨팅 디바이스(100)의 내장형 컴포넌트인 디스플레이 스크린을 포함할 수 있다. 디스플레이 디바이스(114)는 또한 컴퓨팅 디바이스(100)에 외부적으로 연결되는, 특히, 컴퓨터 모니터, 텔레비전, 또는 프로젝터를 포함할 수도 있다. 게다가, 네트워크 인터페이스 컨트롤러(본 명세서에서 NIC라고도 부름)(116)가 컴퓨팅 디바이스(100)를 시스템 인터커넥트(106)를 통하여 네트워크(미도시)에 연결하도록 적응될 수 있다. 네트워크(미도시)는, 특히, 셀룰러 네트워크, 라디오 네트워크, 광역 네트워크(WAN), 근거리 네트워크(LAN), 또는 인터넷일 수 있다.
프로세서(102)는 또한 시스템 인터커넥트(106)를 통하여 유휴 상태 로직(118)(본 명세서에서 전력 관리 유닛 또는 P-유닛이라고도 부름)에 연결될 수도 있다. 일부 실시예들에서, 유휴 상태 로직(118)은 프로세서(102)의 동작 상태를 변경할 수 있다. 예를 들어, 특히, Intel Atom®과 같은 일부 프로세서들은 유휴 상태를 지원하지 않을 수 있다. 전술한 바와 같이, 유휴 상태는 프로세서가 동작 상태에서보다 적은 전력을 소비하는 프로세서의 임의의 적합한 상태를 포함할 수 있다. 예를 들어, 유휴 상태는 프로세서(102) 내의 임의의 적합한 수의 컴포넌트들에 대한 클록 신호로의 전력을 제거하는 것을 포함할 수 있다. 유휴 상태는 또한 프로세서(102) 내에 위치하는, 캐시 디바이스들(120)이라고도 부르는, 임의의 적합한 수의 휘발성 메모리 디바이스들로부터 전력을 제거하는 것을 포함할 수도 있다. 일부 실시예들에서, 유휴 상태 로직(118)은 캐시 디바이스들(120)을 셀프-리프레시 상태로 전환하도록 프로세서(102)에 표시할 수 있다. 유휴 상태를 지원할 수 없는 프로세서들(102)은 프로세서(102)의 개개의 기능 영역들로의 공급 전압을 감소시키거나, 또는 그 개개의 기능 영역들을 다른 방법으로 파워 게이팅하는 기능을 포함하지 않을 수 있다. 일부 실시예들에서, 유휴 상태 로직(118)은 또한 I/O 디바이스 인터페이스(108)와 같은 컴퓨팅 디바이스(100) 내의 공유 디바이스들의 동작 상태를 변경할 수 있다.
프로세서(102)는 또한 하드 드라이브, 광 드라이브, USB 플래시 드라이브, 드라이브들의 어레이, 또는 이들의 임의의 조합들을 포함할 수 있는 저장 디바이스(122)에 시스템 인터커넥트(106)를 통하여 연결될 수 있다. 저장 디바이스(122)는 유휴 상태 로직(118)에 의해 프로세서(102)로부터 검색된 데이터를 저장할 수 있다. 일부 실시예들에서, 저장 디바이스(122)는 또한 고급 구성 및 전력 인터페이스(ACPI) 규격 및 운영 체제 전력 관리(operating system power management)(OSPM)를 구현하는 기능을 포함할 수 있는 운영 체제(124)를 저장할 수 있다. 일부 실시예들에서, 운영 체제(124)는 컴퓨팅 디바이스(100)가, 특히, suspend-to-ram과 같은 유휴 상태에 들어가야 한다는 것을 표시할 수 있다. 일부 예들에서, 유휴 상태 로직(118)은 레지스터(126)를 모니터링하는 것에 의해 프로세서(102)의 동작 상태를 유휴 상태로 변경하는 표시를 검출할 수 있다. 예를 들어, 프로세서(102)는 운영 체제(122)로부터의 명령어를 수신할 수 있고 그 명령어의 출력은 레지스터(124)에 저장될 수 있다. 일부 실시예들에서, 유휴 상태 로직(118)은 유휴 상태 동안에 프로세서(102)의 전력 소비를 변경하기 위해 파워 게이팅과 같은 기술들을 이용할 수 있다. 예를 들어, 유휴 상태 로직(118)은 프로세서(102)를 리셋 상태로 전환할 수 있다.
도 1의 블록도는 컴퓨팅 디바이스(100)가 도 1에 도시된 컴포넌트들 전부를 포함해야 한다는 것을 표시하기 위해 의도된 것이 아님을 이해해야 한다. 오히려, 컴퓨팅 디바이스(100)는 더 적은 수의 또는 도 1에 예시되지 않은 부가의 컴포넌트들(예컨대, 부가의 메모리 컴포넌트, 내장형 컨트롤러, 부가의 모듈, 부가의 네트워크 인터페이스, 기타 등등)을 포함할 수 있다. 더욱이, 유휴 상태 로직(118)의 기능들 중 임의의 것이 부분적으로 또는 전적으로 하드웨어로 그리고/또는 프로세서(102)에 구현될 수 있다. 예를 들어, 그 기능은 특수 용도 집적 회로로, 특히, I/O 디바이스(110)에 구현된 로직, 내장형 컨트롤러에 구현된 로직, 또는 마이크로컨트롤러에 구현된 로직으로 구현될 수 있다. 일부 실시예들에서, 유휴 상태 로직(118)의 기능들은 로직으로 구현될 수 있고, 여기서 본 명세서에서 언급된, 로직은 임의의 적합한 하드웨어(예컨대, 특히, 프로세서), 소프트웨어(예컨대, 특히, 애플리케이션), 펌웨어, 또는 하드웨어, 소프트웨어, 및 펌웨어의 임의의 적합한 조합을 포함할 수 있다.
도 2는 도 1의 컴퓨팅 디바이스(100)와 같은 프로세서의 동작 상태를 변경할 수 있는 전자 디바이스의 실시예의 예시적인 동작 모드들을 예시하는 블록도이다. 일부 실시예들에서, 컴퓨팅 디바이스(100)는 비-시스템 관리 모드(202)에서 동작할 수 있고, 이 모드에서 운영 체제(124)는 프로세서의 동작 상태를 변경하지 않을 수도 있다. 일부 실시예들에서, 운영 체제(124)는 suspend-to-ram(본 명세서에서 STR이라고도 부름) 프레임워크(204)를 포함할 수 있다. 운영 체제(124)는 STR 동작 모드와 같은 유휴 상태에 들어가기 위한, 인터럽트 또는 다른 신호와 같은, 요청을 수신할 수 있다.
일부 실시예들에서, 운영 체제(124)는 또한 시스템 관리 모드(208)에 들어가기 위한 명령어 또는 호출(206)을 생성할 수 있다. 시스템 관리 모드(208)에서, 유휴 상태 로직(118)은 시스템 관리 모드(208)에 들어가기 위한 명령어 또는 호출을 검출하고, 특히, 프로세서, 이더넷 또는 네트워크 인터페이스, 범용 직렬 버스 인터페이스 및 메모리 디바이스와 같은 임의의 적합한 수의 컴포넌트들의 동작 상태를 변경할 수 있다. 일부 예들에서, 유휴 상태 로직(118)은 컴포넌트의 동작 상태를 변경할지를 표시하는 레지스터를 모니터링할 수 있다. 예를 들어, 유휴 상태 로직(118)은 프로세서가 전력 소비를 감소시키는 유휴 상태에 놓이는 저전력 모드(210)에 들어갈 수 있다. 일부 예들에서, 유휴 상태들은 ACPI 규격 및/또는 임의의 다른 적합한 규격에 의해 정의된 C0, C1, C2, C3, C4, C5, C6, 또는 C7 프로세서 상태들에 대응할 수 있다. 저전력 모드(210)에서, 특히, 이더넷 포트와 범용 직렬 버스와 같은 컴포넌트들의 클록 신호들이 게이팅되거나, 리셋 상태로 전환되거나, 오프될 수 있다. 일부 예들에서, 메모리 디바이스들은 셀프-리프레시 모드로 전환될 수 있다. 일부 실시예들에서, 프로세서는 ARM-타입 프로세서일 수 있고 메모리 디바이스들은 셀프-리프레시 모드로 전환되지 않을 수 있다.
일부 예들에서, 유휴 상태 로직(118)은 웨이크 이벤트(212)를 검출할 수 있고, 이 이벤트에서 컴퓨팅 디바이스는 최대 전력 모드(214)에 들어간다. 일부 실시예들에서, 최대 전력 모드(214)는 프로세서를 유휴 상태로부터 동작 상태로 변경하고, 특히, 이더넷 포트, 범용 직렬 버스, 및 메모리와 같은 임의의 적합한 수의 컴포넌트들에 대한 클록 신호들로의 전력을 복귀시키는 것을 포함한다. 그 후 유휴 상태 로직(118)은 규격 운영 체제(124)에게 정상 동작을 재개하도록 표시할 수 있다(216).
도 3은 프로세서의 동작 상태를 변경하기 위한 예시적인 실시예의 실행 시퀀스(300)를 예시하는 블록도이다. 302에서, 컴퓨팅 디바이스(100)의 BIOS가 초기화된다. 일부 실시예들에서, BIOS는 컴퓨팅 디바이스가 재시동되거나 전력을 수신할 때마다 초기화될 수 있다. 304에서, 시스템 관리 인터페이스(본 명세서에서 SMI라고도 부름) 핸들러들이 BIOS에 의해 설치된다. 일부 실시예들에서, SMI 핸들러들은 프로세서의 동작 상태가 변경되어야 한다는 것을 유휴 상태 로직(118)에게 통지할 수 있다.
306에서, 프로세서의 동작 상태를 변경하기 위한 명령어들을 포함하는, 펌웨어가 유휴 상태 로직(118)에 로딩된다. 308에서, 고급 구성 및 전력 인터페이스(ACPI) 테이블이 초기화되고 ACPI 유닛에 설치된다. 일부 실시예들에서, ACPI 테이블은 프로세서에 대한 임의의 적합한 수의 유휴 상태들 및 동작 상태들과 대응하는 전압들 및 주파수들을 표시할 수 있다.
310에서, BIOS는 운영 체제(124)의 부팅을 개시한다. 312에서, 운영 체제(124)는 ACPI 유닛을 초기화하고, 314에서 운영 체제(124)는 운영 셸로 부팅한다. 316에서, suspend to ram 또는 STR 요청이 운영 체제(124)에 의해 수신된다. 318에서, ACPI는 운영 체제(124)에 타겟 중단 상태(suspend target state)를 제공하고 320에서 디바이스들과 전자 디바이스(100)의 프로세서가 중단된다. 322에서, GTS(go to sleep) 방법이 실행된다. 324에서, 운영 체제(124)는 미리 결정된 값을 레지스터에 기입하거나 플래그를 설정한다. SMI는 326에서 전자 디바이스(100)가 슬립(sleep) 또는 suspend to ram 모드에 들어가고 있는 것을 유휴 상태 로직(118)에게 통지한다. 328에서, SMI는 예를 들어 I/O 디바이스들(110)을 포함하는, 전자 디바이스(100) 내의 제어 가능한 디바이스들의 클록 신호들을 게이팅하고, 메모리(104)가 셀프-리프레시 모드에 들어가게 하고, 프로세서(102)가 유휴 상태에 들어가게 한다.
330에서, 웨이크업 요청이 유휴 상태 로직(118)에 의해 수신된다. 332에서, 유휴 상태 로직(118)은 유휴 상태로부터 동작 상태로 복귀하도록 프로세서에 웨이크업 요청을 보낸다. 334에서, 메모리 디바이스는 셀프-리프레시 모드를 종료하고 최대 전력 모드로 복귀하고, 프로세서는 유휴 상태를 종료하고, 파워 오프된 임의의 다른 디바이스들이 파워 온된다. 336에서, SMI는 슬립 또는 suspend to ram 모드를 종료할 것을 유휴 상태 로직(118)에게 통지하고, 338에서 전자 디바이스(100)의 동작을 제어하는 운영 체제(124)로 복귀한다. 340에서, 운영 체제(124)는 정상 동작에 들어가서 정상 동작을 계속한다.
도 4는 프로세서의 동작 상태를 변경하기 위한 방법의 예시적인 블록도이다. 이 방법(400)은 도 1의 컴퓨팅 디바이스(100)와 같은 임의의 적합한 컴퓨팅 디바이스로 구현될 수 있다.
블록 402에서, 유휴 상태 로직(118)은 프로세서가 프로세서의 동작 상태를 변경할 수 없다는 것을 결정할 수 있다. 일부 실시예들에서, 프로세서는 고급 구성 및 전력 인터페이스 규격에 의해 명시된 유휴 상태들을 구현하는 명령어들을 지원하거나 인식하지 않을 수 있다. 예를 들어, Intel Atom®과 같은 프로세서는 프로세서로의 최대 전력을 포함하는 동작 상태를 지원할 수 있거나 프로세서는 오프될 수 있다. 일부 예들에서, 프로세서는 유휴 상태들에서 프로세서의 전력 소비를 변경할 수 있는 기능을 지원하지 않을 수 있다. 전술한 바와 같이, 유휴 상태들은 프로세서의 전력 소비를 감소시키는 임의의 적합한 수의 상태들을 포함할 수 있다. 예를 들어, 중지 유휴 상태(halt idle state)(C1이라고도 부름)는 프로세서 내의 명령어들을 실행하지 않을 수 있고 명령어들을 실행하는 것으로 프로세서를 복귀시키기 위한 대기 시간 기간이 작을 수 있다. 일부 예들에서, 프로세서는 프로세서 내에 위치하는 캐시 디바이스들과 같은 휘발성 메모리 디바이스들에 전력을 제공하지 않을 수 있다.
유휴 상태 로직(118)이 프로세서가 프로세서의 동작 상태를 변경할 수 있는 것으로 결정하면, 프로세스 흐름은 블록 404에서 종료된다. 유휴 상태 로직(118)이 프로세서가 프로세서의 동작 상태를 변경할 수 없다는 것으로 결정하면, 프로세스 흐름은 블록 406에서 계속된다.
블록 406에서, 유휴 상태 로직(118)은 전자 디바이스가 유휴 상태에 들어가고 있다는 표시를 검출할 수 있다. 일부 실시예들에서, 유휴 상태 로직(118)은 프로세서가 유휴 상태에 들어가야 한다고 표시하는 표시를 운영 체제로부터 수신할 수 있다. 일부 실시예들에서, 운영 체제는 또한 프로세서가 실행을 위해 이용해야 하는 다양한 유휴 상태들 중 하나를 표시할 수 있다. 예를 들어, 프로세서는, 특히, 최대 전력의 동작 상태로부터 프로세서의 전력 소비를 감소시키는 중지 상태로 전환할 수 있다.
블록 408에서, 유휴 상태 로직(118)은 프로세서로부터의 상태 정보를 메모리 디바이스에 저장할 수 있다. 일부 예들에서, 메모리 디바이스는 프로세서 내에 상주할 수 있다. 본 명세서에서 언급된, 상태 정보는 프로세서 내에서 명령어들을 실행하는 동안에 사용되는 임의의 적합한 데이터를 포함할 수 있다. 예를 들어, 상태 정보는 메모리 디바이스 내에서 실행될 명령어들의 위치, 임의의 적합한 수의 출력 값들, 및 기타 등등을 표시할 수 있다. 일부 실시예들에서, 유휴 상태 로직(118)은 프로세서의 휘발성 메모리에 저장된 데이터를 비휘발성 메모리 디바이스로 이송하여 프로세서가 나중에 현재 데이터로 동작 상태를 재개하는 것을 가능하게 할 수 있다. 예를 들어, 프로세서 내의 캐시 저장 영역은 프로세서 내에서 명령어들을 실행하는 데 이용되는 임의의 적합한 양의 데이터를 포함할 수 있다. 일부 예들에서, 유휴 상태 로직(118)은 캐시 저장 영역, 또는 프로세서 내의 임의의 적합한 휘발성 메모리 디바이스로부터, 특히, 플래시 메모리와 같은 비휘발성 메모리 디바이스로 데이터를 이송할 수 있다. 일부 실시예들에서, 유휴 상태 로직(118)은 프로세서 내의 휘발성 메모리가 셀프-리프레시 상태에 들어가야 하고 휘발성 메모리 내의 데이터가 비휘발성 메모리 디바이스로 이송되지 않을 수 있음을 표시할 수 있다.
블록 410에서, 유휴 상태 로직(118)은 프로세서로 하여금 유휴 상태에 들어가게 할 수 있다. 예를 들어, 유휴 상태 로직(118)은 프로세서를 유휴 상태에 두기 위해 프로세서의 전력 소비를 감소시킬 수 있다. 일부 실시예들에서, 유휴 상태 로직(118)은 프로세서 내의 임의의 적합한 수의 코어들 또는 컴포넌트들로의 전력을 제거할 수 있다. 유휴 상태 로직(118)은 또한 프로세서의 일부 컴포넌트들로의 시스템 클록 신호들로의 전력을 제거할 수 있다. 일부 실시예들에서, 유휴 상태 로직(118)은 또한, 특히, 산술 논리 유닛, 또는 제어 유닛과 같은 프로세서 내의 임의의 적합한 수의 컴포넌트들로의 전력을 제거할 수 있다. 또한, 유휴 상태 로직(118)은 프로세서가 명령어들을 실행하는 주파수를 변경할 수 있다.
도 4의 프로세스 흐름도는 방법(400)의 동작들이 임의의 특정 순서로 실행되어야 하는 것, 또는 방법(400)의 동작들 전부가 모든 사례에 포함되어야 하는 것을 표시하기 위해 의도된 것이 아니다. 게다가, 방법(400)은 임의의 적합한 수의 부가 동작들을 포함할 수 있다. 예를 들어, 일부 실시예들에서, 유휴 상태 로직(118)은 프로세서가 유휴 상태로부터 동작 상태로 전환해야 하는 것을 검출할 수 있고 유휴 상태 로직(118)은 프로세서의 휘발성 메모리로부터 비휘발성 메모리에 저장된 데이터를 검색하고 검색된 데이터를 휘발성 메모리에 저장할 수 있다. 더욱이, 일부 실시예들에서, 방법(400)은 프로세서가 동작 상태로 복귀해야 한다는 신호를 얻기 위해 프로세서에 송신된 데이터를 모니터링하는 것을 포함할 수 있다.
예 1
프로세서의 동작 상태를 변경하기 위한 전자 디바이스가 본 명세서에 설명된다. 일부 실시예들에서, 상기 전자 디바이스는 로직을 포함한다. 일부 예들에서, 상기 로직은 프로세서가 프로세서의 동작 상태를 변경할 수 없다는 것을 결정할 수 있다. 상기 로직은 또한 상기 전자 디바이스가 유휴 상태에 들어가야 한다는 표시를 검출할 수 있다. 게다가, 상기 로직은 상기 프로세서로부터의 상태 정보를 메모리 디바이스에 저장할 수 있다. 더욱이, 상기 로직은 상기 프로세서로 하여금 상기 유휴 상태에 들어가게 할 수 있다.
일부 실시예들에서, 상기 로직은 상기 프로세서 내에서 시스템 클록 신호를 중지할 수 있다. 상기 로직은 또한 고급 구성 및 전력 인터페이스 명령어들을 포함하는 운영 체제로부터 상기 전자 디바이스가 상기 유휴 상태에 들어가야 한다는 표시를 검출할 수 있다. 일부 예들에서, 상기 유휴 상태는 suspend-to-ram 상태를 포함한다.
예 2
프로세서의 동작 상태를 변경하기 위한 방법이 또한 본 명세서에 설명된다. 상기 방법은 상기 프로세서가 상기 프로세서의 동작 상태를 변경할 수 없다는 것을 결정하는 단계를 포함할 수 있다. 상기 방법은 또한 전자 디바이스가 유휴 상태에 들어가야 한다는 표시를 검출하는 단계를 포함할 수 있다. 게다가, 상기 방법은 상기 프로세서로부터의 상태 정보를 메모리 디바이스에 저장하는 단계를 포함할 수 있다. 더욱이, 상기 방법은 상기 프로세서로 하여금 상기 유휴 상태에 들어가게 하는 단계를 포함할 수 있다.
일부 실시예들에서, 상기 프로세서는 상기 유휴 상태 동안에 명령어들을 실행하지 않는다. 게다가, 일부 실시예들에서, 상기 방법은 상기 전자 디바이스가 상기 유휴 상태에 들어가고 있다는 표시를 검출하는 것에 응답하여 상기 전자 디바이스의 하나 이상의 컴포넌트로의 전류의 흐름을 중지하는 단계를 포함한다. 일부 예들에서, 상기 유휴 상태는 상기 동작 상태보다 적은 전력을 소비하는 프로세서 상태를 포함한다.
예 3
동작 상태를 변경하기 위한 전자 디바이스가 또한 본 명세서에 설명된다. 상기 전자 디바이스는 로직을 포함할 수 있다. 일부 실시예들에서, 상기 로직은 상기 전자 디바이스가 유휴 상태에 들어가야 한다는 표시를 검출할 수 있고, 상기 유휴 상태는 프로세서의 전력 소비를 감소시킨다. 상기 로직은 또한 상기 프로세서가 상기 프로세서의 동작 상태를 상기 유휴 상태로 변경할 수 없다는 것을 결정한다. 일부 실시예들에서, 상기 로직은 또한 상기 프로세서로부터의 상태 정보를 비휘발성 메모리 디바이스에 저장하고 상기 프로세서로 하여금 상기 유휴 상태에 들어가게 할 수 있다. 상기 로직은 또한 상기 프로세서가 상기 동작 상태로 복귀해야 한다는 신호를 얻기 위해 상기 프로세서에 송신된 데이터를 모니터링할 수 있다.
일부 실시예들에서, 상기 로직은 상기 전자 디바이스가 상기 유휴 상태에 들어가고 있다는 표시를 검출하는 것에 응답하여 상기 전자 디바이스의 하나 이상의 컴포넌트로의 전류의 흐름을 중지하는 것이다. 일부 예들에서, 상기 프로세서는 상기 유휴 상태 동안에 명령어들을 실행하지 않는다.
예 4
동작 상태를 변경하기 위한 전자 디바이스가 본 명세서에 설명된다. 일부 예들에서, 상기 전자 디바이스는 상기 전자 디바이스가 유휴 상태에 들어가야 한다는 표시를 검출하는 수단을 포함하고, 상기 유휴 상태는 프로세서의 전력 소비를 감소시킨다. 상기 전자 디바이스는 또한 상기 프로세서가 상기 프로세서의 동작 상태를 상기 유휴 상태로 변경할 수 없다는 것을 결정하는 수단 및 상기 프로세서로부터의 상태 정보를 비휘발성 메모리 디바이스에 저장하는 수단을 포함할 수 있다. 게다가, 상기 전자 디바이스는 상기 프로세서로 하여금 상기 유휴 상태에 들어가게 하는 수단 및 상기 프로세서가 상기 동작 상태로 복귀해야 한다는 신호를 얻기 위해 상기 프로세서에 송신된 데이터를 모니터링하는 수단을 포함할 수 있다.
일부 실시예들에서, 상기 전자 디바이스는 또한 상기 프로세서 내에서 시스템 클록 신호를 중지하는 수단을 포함할 수 있다. 상기 전자 디바이스는 또한 고급 구성 및 전력 인터페이스 명령어들을 포함하는 운영 체제로부터 상기 전자 디바이스가 상기 유휴 상태에 들어가야 한다는 상기 표시를 검출하는 수단을 포함할 수 있다.
예 5
프로세서와 로직을 포함하는 시스템이 본 명세서에 설명된다. 일부 실시예들에서, 상기 로직은 상기 프로세서가 상기 프로세서의 동작 상태를 변경할 수 없다는 것을 결정하고 상기 전자 디바이스가 유휴 상태에 들어가야 한다는 표시를 검출할 수 있다. 상기 로직은 또한 상기 프로세서로부터의 상태 정보를 메모리 디바이스에 저장하고; 상기 프로세서로 하여금 상기 유휴 상태에 들어가게 할 수 있다. 일부 실시예들에서, 상기 시스템은 또한 저장 디바이스를 포함할 수 있다.
전술한 예들에서의 세부 사항은 하나 이상의 실시예에서 어디에서나 이용될 수 있다는 것을 이해해야 한다. 예를 들어, 위에서 설명된 예시적인 디바이스들의 모든 선택적인 특징들이 본 명세서에 설명된 다른 예시적인 디바이스들 및/또는 방법 중 임의의 것에 관하여 구현될 수도 있다. 더욱이, 실시예들을 설명하기 위해 본 명세서에서 흐름도들 및/또는 상태도들이 사용되었을 수 있지만, 본 기술들은 그러한 도면들로 또는 그들의 대응 설명들로 제한되지 않는다. 예를 들어, 예시된 흐름은 각각의 박스 또는 상태를 통하여 또는 도시되고 설명된 것과 정확히 동일한 순서로 진행할 필요는 없다.
본 기술들은 본 명세서에 열거된 특정 세부 사항들로 한정되지 않는다. 사실, 이 개시 내용의 혜택을 받은 통상의 기술자들은 전술한 설명과 도면들로부터 많은 다른 변형들이 본 기술들의 범위 내에서 이루어질 수 있다는 것을 알 것이다. 따라서, 본 기술들의 범위를 정의하는 것은 임의의 보정들을 포함하는 다음의 청구항들이다.

Claims (30)

  1. 프로세서의 상태를 변경하기 위한 전자 디바이스로서,
    상기 전자 디바이스는 파워 아일랜드들(power islands)을 갖지 않고 공유 I/O 디바이스들을 갖는 시스템 온 칩 디바이스이고,
    상기 시스템 온 칩 디바이스는:
    프로세서; 및
    전력 관리 유닛을 포함하고,
    상기 전력 관리 유닛은,
    상기 프로세서가 상기 프로세서의 상태를 동작 상태로부터 유휴 상태(idle state)로 전환하도록 변경할 수 없다는 것을 결정하고;
    상기 프로세서가 상기 유휴 상태에 들어가야 한다는 표시를 검출하고;
    상기 프로세서로부터의 상태 정보를 셀프-리프레시(self-refresh) 메모리 디바이스에 저장하고;
    상기 시스템 온 칩 디바이스가 시스템 관리 모드에 들어가게 하고, 시스템 관리 핸들러가 상기 동작 상태로부터 상기 유휴 상태로의 상기 프로세서의 상태의 변화를 관리하게 함으로써, 상기 프로세서로 하여금 상기 유휴 상태에 들어가게 하고,
    시스템 클록 게이팅 기능으로 하여금 제어 가능한 디바이스들에 대한 각각의 디바이스 클록들을 리셋 상태로 게이팅하게 하는, 전자 디바이스.
  2. 제1항에 있어서,
    상기 전력 관리 유닛은 상기 프로세서 내에서 시스템 클록 신호를 중지하는 전자 디바이스.
  3. 제1항에 있어서,
    상기 전력 관리 유닛은, ACPI(advanced configuration and power interface) 명령어들을 포함하는 운영 체제로부터 상기 프로세서가 상기 유휴 상태에 들어가야 한다는 표시를 검출하는 전자 디바이스.
  4. 제1항에 있어서,
    상기 유휴 상태는 STR(suspend-to-ram) 상태를 포함하는 전자 디바이스.
  5. 제1항에 있어서,
    상기 프로세서는 상기 유휴 상태 동안 명령어들을 실행하지 않는 전자 디바이스.
  6. 제1항에 있어서,
    상기 전력 관리 유닛은, 상기 프로세서가 상기 유휴 상태에 들어가고 있다는 표시를 검출하는 것에 응답하여, 상기 프로세서의 하나 이상의 컴포넌트로의 전류의 흐름을 중지하는 전자 디바이스.
  7. 제1항에 있어서,
    상기 유휴 상태는 상기 동작 상태보다 적은 전력을 소비하는 프로세서 상태를 포함하는 전자 디바이스.
  8. 파워 아일랜드들을 갖지 않고 공유 I/O 디바이스들을 갖는 시스템 온 칩 디바이스의 프로세서의 상태를 변경하기 위한 방법으로서,
    상기 프로세서가 상기 프로세서의 상태를 동작 상태로부터 유휴 상태로 전환하도록 변경할 수 없다는 것을 결정하는 단계;
    상기 프로세서가 상기 유휴 상태에 들어가야 한다는 표시를 검출하는 단계;
    상기 프로세서로부터의 상태 정보를 메모리 디바이스에 저장하는 단계;
    상기 시스템 온 칩 디바이스가 시스템 관리 모드에 들어가게 하고, 시스템 관리 핸들러가 상기 동작 상태로부터 상기 유휴 상태로의 상기 프로세서의 상태의 변화를 관리하게 함으로써, 상기 프로세서로 하여금 상기 유휴 상태에 들어가게 하는 단계; 및
    시스템 클록 게이팅 기능으로 하여금 제어 가능한 디바이스들에 대한 각각의 디바이스 클록들을 리셋 상태로 게이팅하게 하는 단계
    를 포함하는 방법.
  9. 제8항에 있어서,
    상기 프로세서가 상기 유휴 상태에 들어가고 있다는 표시를 검출하는 것에 응답하여, 상기 프로세서 내에서 시스템 클록 신호를 중지하는 단계를 포함하는 방법.
  10. 제8항에 있어서,
    ACPI(advanced configuration and power interface) 명령어들을 포함하는 운영 체제로부터 상기 프로세서가 상기 유휴 상태에 들어가야 한다는 표시를 검출하는 단계를 포함하는 방법.
  11. 제8항에 있어서,
    상기 유휴 상태는 STR(suspend-to-ram) 상태를 포함하는 방법.
  12. 제8항에 있어서,
    상기 프로세서는 상기 유휴 상태 동안 명령어들을 실행하지 않는 방법.
  13. 제8항에 있어서,
    상기 프로세서가 상기 유휴 상태에 들어가고 있다는 표시를 검출하는 것에 응답하여, 상기 프로세서의 하나 이상의 컴포넌트로의 전류의 흐름을 중지하는 단계를 포함하는 방법.
  14. 제8항에 있어서,
    상기 유휴 상태는 상기 동작 상태보다 적은 전력을 소비하는 프로세서 상태를 포함하는 방법.
  15. 프로세서의 상태를 변경하기 위한 전자 디바이스로서,
    상기 전자 디바이스는 파워 아일랜드들을 갖지 않고 공유 I/O 디바이스들을 갖는 시스템 온 칩 디바이스이고, 상기 시스템 온 칩 디바이스는,
    프로세서; 및
    전력 관리 유닛을 포함하고,
    상기 전력 관리 유닛은,
    상기 프로세서가 유휴 상태에 들어가야 한다는 표시를 검출하고 - 상기 유휴 상태는 상기 프로세서의 전력 소비를 감소시킴 -;
    상기 프로세서가 상기 프로세서의 상태를 동작 상태로부터 상기 유휴 상태로 전환하도록 변경할 수 없다는 것을 결정하고;
    상기 프로세서로부터의 상태 정보를 비휘발성 메모리 디바이스에 저장하고;
    상기 시스템 온 칩 디바이스가 시스템 관리 모드에 들어가게 하고, 시스템 관리 핸들러가 상기 동작 상태로부터 상기 유휴 상태로의 상기 프로세서의 상태의 변화를 관리하게 함으로써, 상기 프로세서로 하여금 상기 유휴 상태에 들어가게 하고;
    시스템 클록 게이팅 기능으로 하여금 제어 가능한 디바이스들에 대한 각각의 디바이스 클록들을 리셋 상태로 게이팅하게 하고;
    상기 프로세서가 상기 동작 상태로 복귀해야 한다는 신호에 대하여 상기 프로세서에 송신된 데이터를 모니터링하는, 전자 디바이스.
  16. 제15항에 있어서,
    상기 전력 관리 유닛은 상기 프로세서 내에서 시스템 클록 신호를 중지하는 전자 디바이스.
  17. 제15항에 있어서,
    상기 전력 관리 유닛은, ACPI(advanced configuration and power interface) 명령어들을 포함하는 운영 체제로부터 상기 프로세서가 유휴 상태에 들어가야 한다는 표시를 검출하는 전자 디바이스.
  18. 제15항에 있어서,
    상기 유휴 상태는 STR(suspend-to-ram) 상태를 포함하는 전자 디바이스.
  19. 제15항에 있어서,
    상기 전력 관리 유닛은, 상기 프로세서가 상기 유휴 상태에 들어가고 있다는 표시를 검출하는 것에 응답하여, 상기 프로세서의 하나 이상의 컴포넌트로의 전류의 흐름을 중지하는 전자 디바이스.
  20. 제15항에 있어서,
    상기 프로세서는 상기 유휴 상태 동안 명령어들을 실행하지 않는 전자 디바이스.
  21. 삭제
  22. 삭제
  23. 제1항에 있어서,
    상기 유휴 상태는 ACPI(advanced configuration and power interface) 상태인 전자 디바이스.
  24. 제1항에 있어서,
    상기 전력 관리 유닛은 상기 프로세서로 하여금 상기 동작 상태에서 동작을 재개하게 하는 전자 디바이스.
  25. 제8항에 있어서,
    상기 유휴 상태는 ACPI(advanced configuration and power interface) 상태인 방법.
  26. 제8항에 있어서,
    상기 프로세서로 하여금 상기 동작 상태에서 동작을 재개하게 하는 단계를 포함하는 방법.
  27. 제15항에 있어서,
    상기 유휴 상태는 ACPI(advanced configuration and power interface) 상태인 전자 디바이스.
  28. 제15항에 있어서,
    상기 전력 관리 유닛은 상기 프로세서로 하여금 상기 동작 상태에서 동작을 재개하게 하는 전자 디바이스.
  29. 삭제
  30. 삭제
KR1020167010069A 2013-11-29 2013-11-29 컴퓨팅 디바이스들에서의 전력 관리 KR101896494B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/088155 WO2015077981A1 (en) 2013-11-29 2013-11-29 Power management in computing devices

Publications (2)

Publication Number Publication Date
KR20160055919A KR20160055919A (ko) 2016-05-18
KR101896494B1 true KR101896494B1 (ko) 2018-09-11

Family

ID=53198226

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167010069A KR101896494B1 (ko) 2013-11-29 2013-11-29 컴퓨팅 디바이스들에서의 전력 관리

Country Status (5)

Country Link
US (1) US20160216756A1 (ko)
EP (1) EP3074840A4 (ko)
KR (1) KR101896494B1 (ko)
CN (1) CN105683862B (ko)
WO (1) WO2015077981A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10437310B2 (en) * 2016-12-21 2019-10-08 Intel Corporation Technologies for secure hybrid standby power management

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060143485A1 (en) * 2004-12-28 2006-06-29 Alon Naveh Techniques to manage power for a mobile device
JP2012203518A (ja) * 2011-03-24 2012-10-22 Toshiba Corp 動作切替装置およびプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100281535B1 (ko) * 1997-02-12 2001-02-15 윤종용 컴퓨터 시스템 및 그의 제어 방법
US6988214B1 (en) * 2000-11-06 2006-01-17 Dell Products L.P. Processor power state transistions using separate logic control
US6738068B2 (en) * 2000-12-29 2004-05-18 Intel Corporation Entering and exiting power managed states without disrupting accelerated graphics port transactions
US6990594B2 (en) * 2001-05-02 2006-01-24 Portalplayer, Inc. Dynamic power management of devices in computer system by selecting clock generator output based on a current state and programmable policies
US7089433B2 (en) * 2003-09-26 2006-08-08 Dell Products L.P. Method and system for operating system quiescent state
US7664970B2 (en) * 2005-12-30 2010-02-16 Intel Corporation Method and apparatus for a zero voltage processor sleep state
US7725747B2 (en) * 2006-03-29 2010-05-25 Intel Corporation Methods and apparatus to perform power management in processor systems
JP2010157995A (ja) * 2008-12-01 2010-07-15 Ricoh Co Ltd 電子装置および信号断続方法
US7853817B2 (en) * 2009-02-26 2010-12-14 Apple Inc. Power management independent of CPU hardware support
CN101859172B (zh) * 2009-04-07 2012-02-08 上海摩波彼克半导体有限公司 集成电路SoC芯片实现功耗降低的电路结构及其方法
US8909962B2 (en) * 2009-12-16 2014-12-09 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
CN102122203A (zh) * 2011-03-03 2011-07-13 徐坚 自记忆式开关电脑的智能控制方法及控制系统
US8671299B2 (en) * 2011-05-26 2014-03-11 Google Inc. Delaying the initiation of transitioning to a lower power mode by placing a computer system into an intermediate power mode between a normal power mode and the lower power mode
JP6063941B2 (ja) * 2011-08-30 2017-01-18 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. システム管理要求のための仮想高特権モード
JP5939890B2 (ja) * 2012-05-30 2016-06-22 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060143485A1 (en) * 2004-12-28 2006-06-29 Alon Naveh Techniques to manage power for a mobile device
JP2012203518A (ja) * 2011-03-24 2012-10-22 Toshiba Corp 動作切替装置およびプログラム

Also Published As

Publication number Publication date
EP3074840A4 (en) 2017-06-28
WO2015077981A1 (en) 2015-06-04
US20160216756A1 (en) 2016-07-28
KR20160055919A (ko) 2016-05-18
CN105683862B (zh) 2019-11-05
CN105683862A (zh) 2016-06-15
EP3074840A1 (en) 2016-10-05

Similar Documents

Publication Publication Date Title
US9471121B2 (en) Microprocessor based power management system architecture
EP3872604B1 (en) Hardware automatic performance state transitions in system on processor sleep and wake events
US8977880B2 (en) Method for managing power supply of multi-core processor system involves powering off main and slave cores when master bus is in idle state
US8402291B2 (en) Method, device, and system for guaranteed minimum processor power state dwell time
US9128703B1 (en) Processor that transitions to an idle mode when no task is scheduled to execute and further enters a quiescent doze mode or a wait mode depending on the value of a reference counter
JP2015064676A (ja) 情報処理装置、半導体装置、情報処理方法およびプログラム
US9329658B2 (en) Block-level sleep logic
CN103282854A (zh) 用于功率管理的系统和方法
US11797456B2 (en) Systems and methods for coordinating persistent cache flushing
TW201423361A (zh) 處理器、資訊處理設備、及電力消耗管理方法
US10732697B2 (en) Voltage rail coupling sequencing based on upstream voltage rail coupling status
EP4085317A1 (en) Long-idle state system and method
US20120173904A1 (en) Method, apparatus, and system for energy efficiency and energy conservation including determining an optimal power state of the apparatus based on residency time of non-core domains in a power saving state
US9575543B2 (en) Providing an inter-arrival access timer in a processor
KR101896494B1 (ko) 컴퓨팅 디바이스들에서의 전력 관리
US20140281635A1 (en) Reducing power consumption during idle state
US9891691B2 (en) Reducing pin count requirements for implementation of interconnect idle states
US7634672B2 (en) Power saving method of central processing unit
KR101285665B1 (ko) 수면 모드를 지원하는 멀티 코어 시스템 온 칩
JP2024512689A (ja) 持続性キャッシュフラッシュのためのシステムサポート
JP2024513385A (ja) 持続性メモリ状態を維持しながら非同期リセットイベントを処理するためのシステムおよび方法
CN117396828A (zh) 对持久性高速缓存刷新的系统支持

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant