KR20130087583A - 컴퓨터 플랫폼의 시스템 전력 상태를 전환하는 방법, 장치 및 시스템 - Google Patents

컴퓨터 플랫폼의 시스템 전력 상태를 전환하는 방법, 장치 및 시스템 Download PDF

Info

Publication number
KR20130087583A
KR20130087583A KR1020137016043A KR20137016043A KR20130087583A KR 20130087583 A KR20130087583 A KR 20130087583A KR 1020137016043 A KR1020137016043 A KR 1020137016043A KR 20137016043 A KR20137016043 A KR 20137016043A KR 20130087583 A KR20130087583 A KR 20130087583A
Authority
KR
South Korea
Prior art keywords
processor
transition
idle
platform
state
Prior art date
Application number
KR1020137016043A
Other languages
English (en)
Other versions
KR101464911B1 (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 KR20130087583A publication Critical patent/KR20130087583A/ko
Application granted granted Critical
Publication of KR101464911B1 publication Critical patent/KR101464911B1/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
    • 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/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • 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/3268Power saving in hard disk drive
    • 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/325Power saving in peripheral device
    • G06F1/3278Power saving in modem or I/O interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Power Sources (AREA)
  • Hardware Redundancy (AREA)

Abstract

플랫폼에서의 프로세서 전력 상태 전환을 플랫폼에서의 또 다른 전력 상태 전환에 결속(tie)하는 기술이 개시된다. 일 실시예에서, 운영 체제의 프로세서 관리자 기능성은 운영 체제를 실행하는 프로세서의 유휴 상태를 검출한다. 프로세서 유휴 상태 및 다른 플랫폼 디바이스들에 대한 하나 이상의 표시된 상태들에 기초하여, 결속 로직은 플랫폼을 전환할 시스템 전력 상태를 결정할 수 있다. 예를 들어, 결속 로직은 복수의 유휴 대기 시스템 전력 상태 중 하나로부터 선택할 수 있다.

Description

컴퓨터 플랫폼의 시스템 전력 상태를 전환하는 방법, 장치 및 시스템{METHOD, APPARATUS AND SYSTEM TO TRANSITION SYSTEM POWER STATE OF A COMPUTER PLATFORM}
실시예들은 일반적으로 컴퓨터 플랫폼의 디바이스들의 전력 관리에 관한 것이다. 더 구체적으로, 특정 실시예들은 플랫폼상의 프로세서 전력 상태 전환을 플랫폼의 또 다른 전력 상태 전환에 결속하는(tying) 방법을 제공한다.
기존의 컴퓨터 플랫폼에서, OS(operating systems)는 - 예컨대, 종래의 ACPI(Advanced Configuration and Power Interface) 기반 메커니즘을 갖는 - 특정한 프로세서에 고유한 전력 관리 기술들을 다양하게 지원한다. 예를 들어, 현재의 OS 전력 관리(OSPM) 메커니즘은, C6 전력 상태와 같은, 프로세서-고유의 유휴 프로세서 전력 상태로의 플랫폼 프로세서 코어의 전환을 제공한다.
자율적인 디바이스 전력 관리의 도입으로 인해, 컴퓨터 플랫폼들은, 그들 자신의 각각의 플랫폼 디바이스에 대한, 디바이스-고유의 전력 상태들 사이에서의 전환을 독립적으로 관리하는 다양한 유형의 디바이스를 위한 드라이버들에 점점 더 의존하게 되었다.
그러나, 지금까지, 플랫폼의 프로세서의 특정한 프로세서-고유의 전력 상태로의 전환은 플랫폼의 다른 유형의 디바이스의 그들 각각의 디바이스-고유의 전력 상태로의 임의의 전환에 독립적이었다. 예를 들어, 기존의 OS 전력 관리(OSPM) 메커니즘은, 프로세서 전력 상태 전환과 플랫폼에서의 또 다른 전력 상태 전환의 임의의 상관을 용이하게 하지 않고, 여기서, 다른 전력 상태 전환은, 또 다른 - 예컨대, 논-프로세서 - 유형의 플랫폼 디바이스의 전력 상태 전환에 고유한 것이거나 그를 포함한다.
별도의 전력 관리 결정 및 그들의 대응하는 별도의 플랫폼 상태 전환 - 예컨대, 프로세서-고유의 전력 상태 전환 및 별도의 (추가-프로세서) 디바이스 전력 상태 전환 - 에 의존함으로써, 기존의 컴퓨터 플랫폼 전력 관리 기술은, 컴퓨터 플랫폼의 관점에서 더 효율적인 전력 상태를 이용할 가능한 기회를 전체적으로 설명하는 것에 실패한다.
본 발명의 다양한 실시예들은, 첨부 도면에서, 제한으로서가 아니라 예로서 도시된다.
도 1은 일 실시예에 따른 전력 관리를 구현하기 위한 시스템의 선택 요소들을 도시하는 블록도이다.
도 2는 일 실시예에 따른 시스템 전력 상태 전환을 수행하기 위한 시스템-온-칩의 선택 요소들을 도시하는 블록도이다.
도 3은, 일 실시예에 따라, 프로세서 전력 상태 전환을 또 다른 전력 상태 전환에 결속하기 위한 플랫폼의 선택 요소들을 도시하는 블록도이다.
도 4는, 일 실시예에 따라, 플랫폼에 대한 시스템 전력 상태 전환을 식별하기 위한 방법의 선택 요소들을 도시하는 블록도이다.
실시예들은, 플랫폼의 프로세서에 대한 프로세서-고유의 전력 상태 전환을, 플랫폼에서의 하나 이상의 다른 디바이스에 대한 전력 상태 전환과 함께 결속하는 기법들을을 다양하게 제공한다. 전환들의 이러한 결속은 더 효율적인 플랫폼-와이드(platform-wide) 전력 상태를 인식 및 구현할 기회를 제공한다.
일 실시예에서, 플랫폼에 대한 전력 관리 기능성은, 예컨대, 플랫폼의 프로세서에서 실행되는 OS의 프로세서 관리자(processor governor)에 의해 제공된다. 프로세서 관리자는 OS를 실행하는 프로세서의 유휴 상태(idleness condition)를 검출하고 그에 응답할 수 있다. 예를 들어, 일부 현재의 또는 예상되는 프로세서 유휴의 표시에 응답하여, 프로세서 관리자는 C6와 같은 유휴 전력 상태(또는 저전력 상태)로의 프로세서의 전환을 개시할 수 있다. 표시된 프로세서 유휴에 대한 프로세서 관리자의 응답은, 프로세서-고유의 전력 상태 전환이 단지 하나의 컴포넌트 파트인, 플랫폼-와이드 시스템 전력 상태 전환의 개시를 포함할 수 있다.
제한이 아닌 예시로서, 프로세서 관리자는, 프로세서 유휴 전력 상태로의 프로세서의 진입을 플랫폼의 시스템 관리자에게 표시할 수 있다. 시스템 관리자는, 예를 들어, 프로세서 이외의 플랫폼의 하나 이상의 디바이스에 고유한 전력 상태 정보를 식별하는 기능성을 포함할 수 있다. 대안적으로 또는 추가로, 시스템 관리자는 - 예컨대, 식별된 디바이스-고유의 전력 상태 정보에 기초하여 - 디바이스-고유의 전력 상태 전환을 구현하는 하나 이상의 디바이스 드라이버 또는 유사한 로직을 포함하거나 그렇지 않으면 거기에 액세스할 수 있다.
일 실시예에서, 플랫폼은, 프로세서의 프로세서-고유의 전력 상태로의 전환을, 하나 이상의 다른 플랫폼 디바이스의 각각의 디바이스-고유의 전력 상태로의 전환과 결속하는 결속 로직(tying logic)을 포함한다. 예를 들어, 결속 로직은, 다수의 플랫폼 디바이스의 각각의 디바이스 전력 상태의 전환을 포함하는 플랫폼-와이드 시스템 전력 상태 전환의 가용성에 대한 식별에 응답하여, 그러한 결속을 기회주의적으로 수행할 수 있다.
도 1은 특정 실시예에 따른 컴퓨터 시스템(100)의 선택 요소들을 도시한다. 시스템(100)은 플랫폼(105)의 하나 이상의 컴포넌트에 전력을 다양하게 제공하기 위한 전원 공급 장치(power supply; 155)를 갖는 플랫폼(105)을 포함할 수 있다. 다양한 실시예의 범위가 이러한 점에서 제한되는 것은 아니지만, 플랫폼(105)은 PC(personal computer), PDA(personal digital assistant), 인터넷 어플라이언스, 셀룰러 전화, 랩톱 컴퓨터, 태블릿 디바이스, 모바일 유닛, 무선 통신 디바이스 및/또는 전력 관리를 구현하기 위한 메커니즘을 포함하는 임의의 다른 그러한 컴퓨팅 디바이스 중 하나 이상을 포함할 수 있다.
예시적인 실시예에 따르면, 플랫폼(105)은 하나 이상의 다른 컴포넌트 - 예컨대, 메모리(125) 및 시스템 상호접속(135) - 에 직접적으로 또는 간접적으로 결합된 처리 유닛(110)을 포함할 수 있다. 메모리(125)는 DRAM(dynamic random access memory), 비-휘발성 메모리 등을 포함할 수 있다. 하나의 예제에서, 메모리(125)는 처리 유닛(110)에 의해 실행될 수 있는 소프트웨어 프로그램을 저장할 수 있다. 추가로 또는 대안적으로, 처리 유닛(110)은 - 예컨대, 메모리(125)에 또는 별도의 저장 디바이스에 저장된 - BIOS(Basic Input/Output System) 명령어(120)에 액세스할 수 있다.
처리 유닛(110)은 하나 이상의 주소 및/또는 데이터 버스를 통해 플랫폼(105)의 컴포넌트들에 다양하게 결합될 수 있다. 그러한 버스 이외의 또는 그에 더한 상호접속이 처리 유닛(110)을 접속하는데 사용될 수 있다는 것이 이해되어야 한다. 상이한 실시예들에 따르면, 예를 들어, 하나 이상의 전용 데이터 및/또는 제어 라인, 크로스바 등이 처리 유닛(110)을 메모리(125) 또는 다른 디바이스에 접속하는데 사용될 수 있다.
아래에 논의된 바와 같이, 처리 유닛(110)은, 도시되지 않은, OS를 실행하는 하나 이상의 코어(115)를 포함할 수 있다. 다양한 실시예에서, 실행중인 OS는 하나 이상의 특징 - 예컨대, ACPI(Advanced Configuration and Power Interface) 및/또는 OSPM(operating system power management) 코드 - 을 구현하여, 전원 공급 장치(155)에 의한 전력 분배의 관리를 다양하게 제공할 수 있다. 또한, 처리 유닛(110)은, 예를 들어, SRAM(static random access memory) 등과 같은 캐시 메모리(도시되지 않음), 또는 다양한 유형의 내부 통합 메모리 중 임의의 것을 포함할 수 있다.
상호접속(135)은 데이터 및/또는 제어 메시지의 다양한 교환을 위해 플랫폼(105)의 다양한 컴포넌트들을 서로 결합할 수 있다. 제한이 아닌 예시로서, 상호접속(135)은 이더넷 인터페이스, USB(Universal Serial Bus) 인터페이스, PCI(Peripheral Component Interconnect) 인터페이스 등 중 하나 이상을 포함할 수 있다. 추가로 또는 대안적으로, 상호접속(135)은 그렇게 상호접속된 다양한 컴포넌트들을 제어하는 회로를 나타낼 수 있다. 예를 들어, 상호접속(135)은 I/O 제어기 허브, 플랫폼 제어기 허브, 메모리 제어기 허브 및/또는 등과 같은 하나 이상의 제어기 허브를 포함할 수 있다.
특정 실시예들의 다양한 특징들을 예시하기 위해, 상호접속(135)은, 플랫폼(105)에서 통신을 수신하기 위한 입력 디바이스(130), 플랫폼(105)으로부터 통신을 전송하기 위한 출력 디바이스(140), 및 플랫폼(105)에서 데이터를 저장하기 위한 저장 디바이스(145)에 처리 유닛(110)을 결합하는 것으로 도시된다. 제한이 아니라 예시로서, 입력 디바이스(130)와 출력 디바이스(140) 중 어느 하나 또는 양쪽은 키보드, 키패드, 마우스, 터치 패드, 터치 스크린, 디스플레이, 생체 인식 디바이스 등 중 하나 이상을 포함할 수 있다. 저장 디바이스(145)는 하드 디스크 드라이브(HDD), 솔리드 스테이트 드라이브(SSD), 컴팩트 디스크(CD) 드라이브, 디지털 다용도 디스크 드라이브(DVD), 및/또는 다른 컴퓨터 매체 입/출력(I/O) 디바이스 중 하나 이상을 포함할 수 있다. 일 실시예에서, 입력 디바이스(130), 출력 디바이스(140) 및 저장 디바이스(145) 중 하나 이상은 - 예컨대, 플랫폼(105)에 부수적인 다양한 디바이스로서 - 플랫폼(105) 외부에 있을 수도 있고, 그에 결합될 수도 있다.
다양한 실시예에 따르면, 플랫폼(105)의 다양한 추가의 혹은 대안적인 디바이스들, 회로 블록들 등 중 임의의 것은, 처리 유닛(110)에 결합될 수 있다는 것을 이해한다. 또한, 플랫폼(105)의 특정한 아키텍처 - 예컨대, 처리 유닛(110)에 대한 플랫폼(105)의 디바이스들, 회로 블록들 등의 상대적 구성 - 는 특정 실시들에서 제한적이지 않다는 것을 이해한다.
예시적인 실시예에 따르면, 시스템(100)은 네트워크(160)로의 접속을 통해 다른 디바이스들과 데이터를 교환할 수 있다. 예를 들어, 플랫폼(105)은 네트워크(160)와 함께 네트워크 트래픽을 교환하는 네트워크 인터페이스 디바이스(150)를 포함할 수 있다. 네트워크 접속은, 이더넷 접속, 디지털 가입자 회선(DSL), 전화 회선, 동축 케이블 등과 같은, 임의의 유형의 네트워크 접속을 포함할 수 있다. 네트워크(160)는 임의의 유형의 네트워크, 이를테면, 인터넷, 전화 네트워크, 케이블 네트워크, 및 무선 네트워크, 이를테면, 예를 들어, 하나 이상의 IEEE 802.11 관련 표준들을 포함하는 IEEE 표준 802.11(1999년), WMAN(Wireless Metropolitan Area Network)을 위한 IEEE 802.16 표준 및/또는 등을 준수하는 네트워크일 수 있다.
하나의 예시적인 실시예에 따르면, 처리 유닛(110) - 예컨대, 처리 유닛(110)의 처리 코어(115) - 은 두 개 이상의 프로세서 전력 상태에서 상이한 시간에 동작할 수 있다. 플랫폼(105)은 그러한 프로세서 전력 상태들 사이에서 프로세서 코어(115)의 전환을 지원, 개시, 또는 그렇지 않으면 구현하는 하드웨어 및/또는 소프트웨어 수단을 제공할 수 있다.
일 실시예에 따르면, 도 2는 컴퓨터 플랫폼에 대한 시스템 전력 상태의 전환을 구현하기 위한 시스템-온-칩(SoC)(200)의 선택 요소들을 도시한다. SoC(200)은, 예를 들어, 일 실시예에서, 프로세서 전력 상태 전환을, 하나 이상의 다른 플랫폼 디바이스의 또 다른 전력 상태 전환에 결속하는, 전력 관리 메커니즘의 대상이 되는 플랫폼(105)의 디바이스 세트의 일부 또는 전부를 포함할 수 있다.
SoC(200)는, 적어도 하나의 프로세서 코어(210)를 갖는 CPU(205)과 같은, 하나 이상의 프로세서를 포함할 수 있다. 대안적인 실시예에서, CPU(205)는, 플랫폼의 하나의 또는 임의의 SoC의 외측에 - 예컨대, 별도의 단일- 혹은 다중-코어 CPU IC 칩 내에 - 상주할 수 있다는 것을 이해한다. 프로세서 코어(210)는 - 예컨대, SoC(200) 안에 혹은 밖에 상주하는 컴포넌트들을 포함하는 - 하나 이상의 다른 플랫폼 디바이스에 다양하게 결합될 수 있다.
SoC(200)는 CPU(205), SoC(200)의 하나 이상의 다른 컴포넌트 디바이스들, 및/또는 SoC(200)에 결합되는 하나 이상의 다른 플랫폼 디바이스(도시되지 않음)에 대한 전력 관리를 제공할 수 있다. 예를 들어, 프로세서 코어(210)는 OS 전력 관리(OSPM) 기능성을 제공하는 OS를 실행할 수 있다. 대안적으로 혹은 추가로, SoC(200)는, SoC(200)의 디바이스들 및/또는 SoC(200)에 결합된 플랫폼 디바이스들(도시되지 않음)에 대한 전력 특성을 모니터링 및/또는 제어하기 위해 데이터 및/또는 제어 메시지를 다양하게 검출, 결정 또는 그렇지 않으면 제공하는 전력 관리 유닛(PMU)(220)을 포함할 수 있다. 예를 들어, PMU(220)는 코어(210) 및/또는 하나 이상의 다른 플랫폼 디바이스들의 전력 관리를 위해 PMU 상태 정보(225)를 수신하거나 생성하거나 그렇지 않으면 그에 액세스할 수 있다. 일 실시예에서, 프로세서 코어(210)의 전력 관리는 - 프로세서 코어(210)와 함께 다양하게 동작하는 - SoC(200)의 하나 이상의 다른 디바이스 및/또는 SoC(200) 외부의 하나 이상의 플랫폼 디바이스들의 전력 관리에 결속될 수 있다.
이러한 전력 관리는 플랫폼 디바이스의 다양한 조합 중 임의의 것으로 확장할 수 있다. 제한이 아닌 예로서, SoC(200)는, 그래픽 데이터의 렌더링 계산이나 다른 처리를 수행하는 회로 또는 다른 로직을 갖는 그래픽 모듈(240)을 포함할 수 있다. 대안적으로 또는 추가로, SoC(200)는 - 예컨대, 플랫폼들 사이에서 교환된 비디오 데이터를 처리하는 - 비디오 인코드 모듈(245) 및/또는 비디오 디코드 모듈(255)을 포함할 수 있다. 대안적으로 또는 추가로, SoC(200)는, - 예컨대, SoC(200)의 디스플레이 포트(265)를 통해 - 비디오 정보를 디스플레이에 제공하기 위한 인터페이스, 드라이버 또는 다른 회로/로직을 갖는 디스플레이 모듈(250)을 포함할 수 있다. 또한, SoC(200)는 추가로 또는 대안적으로, SoC(200)가 상주하는 플랫폼의 데이터 저장 디바이스들에 대한 액세스를 관리하는 회로 또는 다른 로직을 포함하는 메모리 제어기(215)를 포함할 수 있다.
추가로 또는 대안적으로, SoC(200)는 클록, 전력, 데이터, 제어 또는 다른 신호를 수신 및/또는 전송하기 위한 하나 이상의 수단을 다양하게 포함할 수 있다. 제한이 아닌 예시로서, SoC(200)는 SoC(200)가 하나 이상의 클록 신호를 수신, 처리 및/또는 다양한 컴포넌트 디바이스로 배포하도록 하는 위상 동기 루프(PLL) 모듈(230)을 포함할 수 있다. SoC(200)는 회로를 저-전력 상태에서 벗어나도록 전환하기 위한 웨이크업 이벤트를 나타내는 입력 신호를 검출하는 회로 또는 다른 로직을 갖는 웨이크업 모듈(235)을 포함할 수 있다. 다양한 실시예에 따르면, 추가로 또는 대안적으로, SoC(200)는 SoC(200)가 다양한 클록, 전력, 데이터, 제어 또는 다른 신호를 수신 및/또는 전송할 수 있도록 하는 클라우드 데이터 관리 인터페이스(cDMI)(260), 더블 데이터 레이트(DDR) I/O 인터페이스(270), 디스플레이 포트(265) 및/또는 SoC(200)를 위한 추가의 또는 대안적인 수단들의 다양한 조합 중 임의의 것을 포함할 수 있다.
다양한 실시예에서, 프로세서 코어(210)에 결합된 SoC(200)의 컴포넌트들의 일부 또는 전부는, 다양한 대안적인 실시예에서, 플랫폼의 하나의 또는 임의의 SoC로부터 분리되어 상주할 수 있다. 또한, SoC(200)의 그러한 다른 결합된 컴포넌트들의 조합 및/또는 구성은 단순히 예시적인 것이고, 상이한 실시예들에 따르면, SoC(200)는 프로세서 코어(210)에 결합된 하나 이상의 추가의 또는 대안적인 컴포넌트들의 다양한 조합 중 임의의 것을 포함할 수 있다는 것을 이해한다.
도 3은 일 실시예에 따른 시스템 전력 상태들 사이에서 이송하는 플랫폼(300)의 선택 요소들을 도시한다. 플랫폼(300)은, 예를 들어, 플랫폼(105)의 특징들의 일부 또는 전부를 포함할 수 있다. 일 실시예에서, 도 3에 도시된 디바이스들 전체 중 일부는 단일 SoC - 예컨대, SoC(200)에 상주할 수 있다.
플랫폼(300)은, 예를 들어, 프로세서(315) 및 메모리(320)와 실행하는 OS(305)를 포함할 수 있다. OS(305)는 프로세서 관리자(processor governor; 310) - 예컨대, 프로세서(315)의 전력 상태를 관리하도록 동작하는 실행 OS 명령어들의 세트 - 를 포함할 수 있다. 일 실시예에서, 프로세서 관리자(310)는 프로세서(315)의 하나 이상의 프로세서 유휴 상태를 평가, 식별 또는 그렇지 않으면 검출할 수 있다. 제한이 아닌 예시로서, 프로세서 관리자(310)는 적어도 Linux OS의 CPUIDLE 관리자 루틴의 것과 같은 기능성을 구현할 수 있다. 대안적으로 또는 추가로, 프로세서 관리자(310)는 - 예컨대, 2010년 4월 5일 발표된, ACPI(Advanced Configuration and Power Interface) 개정 4.0a와 같은 ACPI 표준에 따른 - 프로세서 유휴 검출 및 응답을 위한 다른 OS 전력 관리(OSPM) 기술을 사용할 수 있다.
제한이 아닌 예시로서, 프로세서 관리자(315)는, 현재의 프로세서 유휴, 현재의 프로세서 유휴의 변화율, 예상된 미래의 프로세서 유휴, 예상된 미래의 프로세서 유휴의 변화율, 및/또는 등을 계산하거나, 그에 대한 표시를 수신하거나, 그렇지 않으면 그에 대한 레벨(및/또는 유형)을 검출하도록 실행할 수 있다. 프로세서의 유휴 상태의 검출은 프로세서의 대응하는 부하 상태의 검출을 포함할 수 있다는 것을 이해한다.
예를 들어, OS(305)는 OS(305)가 실행할 다음 동작, 스레드 등의 스케줄링을 생각해 보는 스케줄러(도시되지 않음)를 포함하거나 그렇지 않으면 그에 액세스할 수 있다. 프로세서 관리자(310)는, 실행을 위한 어떠한 준비 동작이나 스레드도 스케줄링되지 않은 상태이거나, 상태일 것으로 예상된다고, OS(305)를 위한 스케줄러가 결정했음을 검출할 수 있다.
현재 또는 예상된 미래의 프로세서 유휴 상태의 검출에 기초하여, 프로세서 관리자(310)는, 유휴 상태가 프로세서(315)를 특정한 프로세서-고유의 전력 상태 - 예컨대, C6과 같은 프로세서 유휴 전력 상태(또는 더 낮은 프로세서 전력 상태) - 로 전환할 기회를 나타낸다고 결정할 수 있다. 이러한 기회를 식별하는 것에 응답하여, 프로세서 관리자(310)는 OS의 C-상태 드라이버를 시그널링함으로써, 또는 프로세서를 유휴상태로 하기 위한 다양한 대안적인 기술들 중 임의의 것을 통해 - 예컨대, 기존의 ACPI 메커니즘에 따라 - 그러한 전력 상태 전환을 개시할 수 있다.
일 실시예에서, 프로세서(315)가 유휴 상태라는 검출에 대한 응답은, 프로세서 관리자(310)가 시스템 전력 상태 전환을 개시하는 것을 포함할 수 있다 - 예컨대, 프로세서(315)에 대한 프로세서 전력 상태 전환은 이중 하나의 요소에 지나지 않음 - .
제한이 아니라 예시로서, 프로세서 관리자(310)의 실행 기능성은, 프로세서(315)가, 특정한 프로세서 전력 상태 - 예컨대, C6 또는 다른 프로세서 유휴 전력 상태 - 로의 프로세서(315)의 진입을 표시하는 메시지(325)를 생성하게 할 수 있다.
메시지(325)는 - 예컨대, 플랫폼(300)의 시스템 관리자(330)에서 - 결속 로직(355)에 의해 수신될 수 있는데, 여기서, 시스템 관리자(330)는 프로세서(315) 이외의 플랫폼(300)의 하나 이상의 디바이스에 대한 디바이스-고유의 전력 관리를 구현하기 위한 하드웨어 및/또는 소프트웨어 수단을 포함한다. 제한이 아닌 예시로서, 시스템 관리자(330)는 하나 이상의 다른 플랫폼 디바이스들(340a, ..., 340n)에 결합되거나, 그렇지 않으면, 플랫폼 상태 정보에 액세스할 수 있어, 하나 이상의 플랫폼 디바이스(340a, ..., 340n)가, 유휴 대기 시스템 전력 상태를 위해 충분히 비활성적인(quiescent) 활동 레벨에 있는지, 또는 그러한 레벨로 들어갈 것으로 예상되는지 여부를 결정할 수 있다. 시스템 관리자(330)는, 예를 들어, 스크린 세이버 타임아웃, 네트워크 스택 비활성, 현재 실행중인 애플리케이션 아래 실행중인 서브-프로세스의 비활성, 또는 개별 디바이스들을 위한 플랫폼 비활성의 다양한 추가의 또는 대안적인 표시자 중 임의의 것에 대한 통지를 받을 수 있다. 다양한 실시예에 따르면, 결속 로직(tying logic; 355)은 시스템 관리자(300) 외부의 전력 관리 수단에 상주할 수 있다는 것을 이해한다.
일 실시예에서, 시스템 관리자(330)는 OS(305)에서 실행하는 기능성이다. 대안적으로 또는 추가로, 시스템 관리자(330)는 다른 플랫폼 전력 관리 로직 - 예컨대, PMU(220)와 같은 전력 관리 유닛 - 에 의해 OS(305)의 외측에 구현될 수 있다. 시스템 관리자(330)는 OS(305)의 프로세서-고유의 또는 다른 전력 관리 기능성에 단단히 결합될 수 있다. 예를 들어, 시스템 관리자(330)는 OS(305)와의 직접 전력 관리 통신을 위한 전용 채널 및/또는 프로토콜을 포함하거나 그에 액세스할 수 있다. 일 실시예에서, 시스템 관리자(330)는, 플랫폼(300)이 여러 번 들어갈 수 있는 시스템 전력 상태를 결정하는데 사용되는 플랫폼(300)에 대한 메트릭의 가시성을 갖는다. 또한, 시스템 관리자(330)는 다수의 상이한 시스템 유휴 상태를 지원하는 세분화(granularity)의 레벨을 구현하는 전력 관리 특징들을 가질 수 있다.
시스템 관리자(330)가 플랫폼(300)의 하나 이상의 다른 플랫폼 디바이스에 관한 것을 검출한 메시지(325) 및 다른 상태 정보에 기초하여, 결속 로직(355)은 - 예컨대, 전체적으로 플랫폼(300)에 대한 총 시스템 전력 상태 전환에 대한 구현을 지원하기 위해 - 프로세서 유휴 전력 상태로의 프로세서(315)의 진입이 추가의 디바이스-고유의 전력 상태 전환들의 기회인지 여부를 식별할 수 있다. 이러한 시스템 전력 상태 전환의 식별에 응답하여, 결속 로직(355)은 시스템 관리자(330)에 포함되거나, 그렇지 않으면 그에 액세스가능한 메커니즘들(도시되지 않음) - 예컨대, 하나 이상의 디바이스 드라이버, 클록 게이팅 로직, 전력 게이팅 로직, PMU 등 - 에 지시하여, 시스템 전력 상태 변환을 구현할 수 있다. 그러한 지시는, 예를 들어, 시스템 관리자(330)가 제어 신호(345)를 전송하여, 전원 공급 장치(335)로부터, 하나 이상의 플랫폼 디바이스(340a, ..., 340n)로의 전압, 전류 또는 다른 신호에 대한 다양한 레벨/주파수/등의 공급(350)을 조절하는 것을 포함할 수 있다.
도 4는 일 실시예에 따른 컴퓨터 플랫폼의 전력 상태 전환을 식별하는 방법(400)의 선택 요소들을 도시한다. 방법(400)은, 예를 들어, 플랫폼(300)에 의해 수행될 수 있다. 특히, 방법(400)은, OS(305), 시스템 관리자(330) 및 결속 로직(355)(시스템 관리자(330)에 포함되거나 그 외부에 있을 수 있음)의 것과 같은 각각의 기능성들을 보여주는 플랫폼 엔티티에 의해 수행될 수 있다.
방법(400)에서, OS의 프로세서 관리자는, 410에서, OS를 실행하는 프로세서의 유휴 상태를 검출할 수 있다. 프로세서 유휴 상태의 검출에 응답하여, 프로세서 관리자는, 420에서, 프로세서 유휴 전력 상태로의 프로세서의 전환을 식별할 수 있다. 또한, 프로세서 유휴 상태를 검출하는 것에 대한 응답은 프로세서 유휴 전력 상태로의 프로세서의 전환이 결정되었음을 나타내는 메시지의 전송을 야기하는 프로세서 관리자를 포함할 수 있다.
프로세서 관리자의 상술한 동작들과 함께, 방법(400)은, 430에서, 프로세서 이외의 플랫폼 디바이스의 유휴 상태를 검출하는 시스템 관리자를 포함할 수 있다. 다양한 실시예는, 430에서, 검출이 동작(410, 420)과 관련하여 발생할 수 있는 경우로 제한되지 않는다. 결속 로직은, 440에서, 검출된 디바이스 유휴 상태의 표시 및 프로세서 유휴 전력 상태로의 프로세서의 전환이 결정되었음을 나타내는 메시지를 수신할 수 있다.
프로세서 유휴 전력 상태로의 프로세서의 전환이 결정되었음을 표시하는 메시지 및 표시된 디바이스 유휴 상태에 기초하여, 방법(400)은, 450에서, 플랫폼의 시스템 전력 상태 전환을 식별할 수 있다.
일 실시예에서, 시스템 전력 상태 전환의 식별은, 복수의 유휴 대기 시스템 전력 상태 중에서 전환할 선호하는 시스템 전력 상태의 선택을 포함할 수 있다. 여기에 사용된, 유휴 대기 시스템 전력 상태는, 각각의 플랫폼 디바이스에 대한, 동시 전력 상태들의 조합을 지칭하는 것으로, 여기서, 조합은 플랫폼 프로세서 - 예컨대, 플랫폼 CPU의 특정한 프로세서 코어 - 에 고유한 유휴 전력 상태를 포함한다.
아래의 표 1은, 일 실시예에 따른, 두 가지 예시적인 유휴 대기 시스템 전력 상태 각각에 대한 컴포넌트 디바이스 전력 상태의 목록을 포함한다.
Figure pct00001
다양한 실시예에서, 다양한 추가의 또는 대안적인 유휴 대기 시스템 전력 상태 중 임의의 것이 구현될 수 있다는 것을 이해한다.
식별하는 단계(450)는 복수의 후보 유휴 대기 시스템 전력 상태 각각이 하나 이상의 각각의 성능 이점 및/또는 단점과 연관되는 상태에 기초한 것일 수 있다. 예를 들어, 특정한 유휴 대기 시스템 전력 상태의 구현은 결과적으로 특정한 전력 절감을 야기할 수 있는 반면, 동시에, 특정한 전력 상태 진입 및/또는 복구 지연 시간을 필요로 할 수 있다.
일 실시예에서, 식별하는 단계(450)는 너무 큰 전력 상태 전환 대기 시간을 필요로 하지 않고도, 그렇지 않으면 일부 성능 제약 조건을 위반하지 않고도 최대의 전력 절감을 제공하는 시스템 전력 상태를 추구할 수 있다. 제한이 아닌 예시로서, 결속 로직은 프로세서 또는 다른 플랫폼 디바이스에 대한 예상 유휴 존속(idle residency)을 - 예컨대, 프로세서 관리자 또는 시스템 관리자로부터 - 식별할 수 있다. 예상 유휴 존속은, 예를 들어, 처리할 특정한 플랫폼 디바이스를 위한 다음 동작이 준비된 것으로 예상되기 전의 시간 기간을 나타낼 수 있다. 일 실시예에서, 예상 유휴 존속은 임의의 수락할 수 없는 유휴 대기 시스템 전력 상태를 제거하기 위해, 전력 상태 진입(또는 복구) 지연 시간에 기초하여, 비교 또는 그렇지 않으면 평가될 수 있다.
식별하는 단계(450)의 구현을 위한 정책의 또 다른 레벨은, 임의의 남아 있는 수락가능한 유휴 대기 시스템 전력 상태가 플랫폼 자원에 대한 일부 요구된 액세스를 방지하지 않고 전환될 수 있는지 여부를 결정하는 단계를 포함할 수 있다. 예를 들어, 특정한 시스템 전력 상태로의 전환이 일부 공유된 플랫폼 자원(예컨대, 특정한 전압 레일, PLL 등)의 관리에 영향을 미치는 경우, 결속 로직은 그러한 자원을 공유하는 플랫폼 디바이스가 공유된 자원 액세스에 대한 영향을 허용하는 적절한 전력 상태에 있는지 확인할 수 있다. 공유된 플랫폼 자원에 액세스하는 것에 대한 임의의 수락할 수 없는 규제는 하나 이상의 추가의 후보 시스템 전력 상태를 수락할 수 없는 것으로서 더 제거할 수 있다.
식별하는 단계(450)의 구현을 위한 정책의 또 다른 레벨은, 임의의 남아 있는 후보 시스템 전력 상태가 디바이스-고유의 서비스 품질(QoS) 요구조건을 위반하는지 여부를 결정하는 단계를 포함할 수 있다. 임의의 후보 시스템 전력 상태가 수락할 수 없는 것으로 식별되지 않고 남아있는 경우, 결속 로직은 - 예컨대, 비교적 큰 전력 절감을 제공하는 수락가능한 시스템 전력 상태를 선택함으로써 - 전환할 시스템 전력 상태를 식별할 수 있다.
컴퓨터 플랫폼 전력 관리를 위한 기술 및 아키텍처가 본원에 설명되어 있다. 본원의 설명에서, 설명을 목적으로, 특정 실시예들에 대한 철저한 이해를 제공하기 위해 다수의 특정 상세가 명시되어 있다. 그러나, 특정 실시예는 이러한 특정 상세 없이 실행될 수 있다는 것이 당업자에게 명백할 것이다. 다른 경우에, 구조 및 디바이스는 설명을 왜곡을 방지하기 위해 블록 다이어그램 형태로 표시된다.
명세서에서 "하나의 실시예" 또는 "일 실시예"라는 언급은, 실시예와 관련하여 설명된 특정한 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함되어 있다는 것을 의미한다. 명세서의 다양한 장소에서 "하나의 실시예에서"라는 문구의 등장이 반드시 모두 동일한 실시예를 지칭하는 것일 필요는 없다.
여기에서 상세한 설명의 일부는 컴퓨터 메모리 내의 데이터 비트에 대한 동작들의 알고리즘 및 상징적 표현의 측면에서 제시된다. 이러한 알고리즘 설명 및 표현은 당업자에게 작업의 요점을 가장 효과적으로 전달하는 컴퓨팅 기술의 당업자에 의해 사용되는 수단이다. 알고리즘은 여기에서 일반적으로 원하는 결과로 이어지는 단계들의 일관성 있는 시퀀스인 것으로 간주된다. 단계들은 물리적인 양의 물리적인 조작을 필요로 하는 것들이다. 필수적인 것은 아니지만, 보통, 이러한 양은 저장, 전송, 조합, 비교, 및 그렇지 않으면 조작될 수 있는 전기 또는 자기 신호의 형태를 취한다. 주로, 일반적인 이유로, 이러한 신호들을, 비트, 값, 요소, 기호, 문자, 용어, 숫자 등으로 지칭하는 것이 때때로 편리하다는 것이 입증되었다.
그러나, 그러한 및 유사한 용어는 모두 적절한 물리량과 연관될 것이고, 단순히 이러한 양에 적용된 편리한 라벨이라는 것을 명심해야 한다. 달리 명시되지 않는 한, 여기에 있는 논의에서 명백한 바와 같이, 설명 전체에 걸친, "처리" 또는 "컴퓨팅" 또는 "계산" 또는 "결정" 또는 "표시" 등과 같은 용어들을 이용하는 논의는, 컴퓨터 시스템의 레지스터와 메모리 내의 물리(전자)량으로 표현된 데이터를, 컴퓨터 시스템 메모리 또는 레지스터 또는 다른 그러한 정보 저장, 전송 혹은 디스플레이 디바이스 내의 물리량으로 유사하게 표현된 다른 데이터로 조작 및 변환하는, 컴퓨터 시스템, 또는 유사한 전자 컴퓨팅 디바이스의 액션 및 프로세스를 지칭한다는 것이 인정된다.
특정 실시예는 또한 여기에 있는 동작들을 수행하기 위한 장치에 관한 것이다. 이 장치는 특히 요구된 목적을 위해 구성될 수 있고, 또는 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은, 이로 제한되는 것은 아니지만, 플로피 디스크, 광 디스크, CD-ROM, 및 광 자기 디스크를 포함하는 임의의 유형의 디스크, 판독 전용 메모리(ROM), 동적 RAM(DRAM)과 같은 랜덤 액세스 메모리(RAM), 소거가능한 프로그램가능 판독 전용 메모리(EPROM), 전기적인 EPROM(EEPROM), 자기 또는 광 카드, 또는 전자 명령어들을 저장하기에 적합하고, 컴퓨터 시스템 버스에 각각 결합된 임의의 유형의 매체와 같은, 컴퓨터 판독가능한 저장 매체에 저장될 수 있다.
여기에 제시된 알고리즘과 디스플레이는 본질적으로 임의의 특정한 컴퓨터 나 다른 장치에 관련되지 않는다. 다양한 범용 시스템은 여기에서의 가르침에 따라 프로그램과 함께 사용될 수 있고, 또는 요구된 방법 단계들을 수행하기 위해 더 전문화된 장치를 구성하는 것이 편리한 것으로 판명될 수 있다. 다양한 이러한 시스템에 대해 요구된 구조는 여기에 있는 설명으로부터 나타날 것이다. 또한, 특정 실시예는 임의의 특정한 프로그래밍 언어를 참조하여 설명되지 않는다. 여기에 설명된 바와 같은 그러한 실시예의 가르침을 구현하기 위해 다양한 프로그래밍 언어가 사용될 수 있다는 것이 인정될 것이다.
여기에서 설명하는 것 외에, 그들의 범위에서 벗어나지 않고 개시된 실시예 및 그의 구현에 대한 다양한 수정이 실시될 수 있다. 따라서, 여기에 있는 예시 및 예제는 예시적인 것으로 해석되어야 하고, 제한적인 의미로 해석되어서는 안 된다. 본 발명의 범위는 전적으로 후속하는 청구항들을 참조하여 측정되어야 한다.

Claims (30)

  1. 컴퓨터 플랫폼에 의해 수행되는 방법으로서,
    상기 컴퓨터 플랫폼의 프로세서에서 실행되는 OS(operating system)에 의해,
    상기 프로세서의 프로세서 유휴 상태를 검출하는 단계;
    상기 프로세서 유휴 상태의 검출에 응답하여,
    상기 프로세서의 프로세서 유휴 전력 상태로의 전환을 식별하는 단계와,
    상기 프로세서의 상기 전환을 표시하는 메시지를 전송하는 단계;
    상기 프로세서 이외의 상기 플랫폼의 디바이스의 유휴 상태의 표시를 제공하는 단계; 및
    상기 프로세서의 상기 전환을 표시하는 메시지와 상기 디바이스의 유휴 상태의 표시 양측에 응답하여, 상기 컴퓨터 플랫폼의 시스템 유휴 전력 상태로의 전환을 식별하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 OS의 프로세서 관리자(processor governor)가 상기 프로세서 유휴 상태를 검출하는 단계를 수행하는 방법.
  3. 제1항에 있어서, 시스템 관리자가 상기 프로세서 이외의 상기 플랫폼의 디바이스의 유휴 상태의 표시를 제공하는 단계를 수행하는 방법.
  4. 제1항에 있어서, 상기 컴퓨터 플랫폼의 결속 로직(tying logic)은 상기 컴퓨터 플랫폼의 상기 시스템 유휴 전력 상태로의 전환을 식별하고, 상기 결속 로직은 성능 파라미터의 표시를 수신하고, 상기 컴퓨터 플랫폼의 상기 시스템 유휴 전력 상태로의 전환을 식별하는 단계는 상기 성능 파라미터의 표시의 수신에 더 응답하는 방법.
  5. 제4항에 있어서, 상기 성능 파라미터는 예상 유휴 존속(idle residency) 및 서비스의 품질 중 하나 이상을 포함하는 방법.
  6. 제1항에 있어서, 상기 컴퓨터 플랫폼의 상기 시스템 유휴 전력 상태로의 전환을 식별하는 단계는 복수의 시스템 유휴 전력 상태로부터 선택하는 단계를 포함하는 방법.
  7. 명령어들을 저장한 컴퓨터 판독가능한 저장 매체로서, 상기 명령어들은,
    하나 이상의 프로세서에서 실행될 때, 상기 하나 이상의 프로세서로 하여금,
    OS에 의해,
    상기 프로세서의 프로세서 유휴 상태를 검출하고;
    상기 프로세서 유휴 상태의 검출에 응답하여,
    상기 프로세서의 프로세서 유휴 전력 상태로의 전환을 식별하고,
    상기 프로세서의 상기 전환을 표시하는 메시지를 전송하고;
    상기 프로세서 이외의 플랫폼의 디바이스의 유휴 상태의 표시를 제공하고;
    상기 프로세서의 상기 전환을 표시하는 메시지와 상기 디바이스의 유휴 상태의 표시 양측에 응답하여, 컴퓨터 플랫폼의 시스템 유휴 전력 상태로의 전환을 식별하게 하는
    컴퓨터 판독가능한 저장 매체.
  8. 제7항에 있어서, 상기 OS의 프로세서 관리자가 상기 프로세서 유휴 상태의 검출을 수행하는 컴퓨터 판독가능한 저장 매체.
  9. 제7항에 있어서, 시스템 관리자가 상기 프로세서 이외의 플랫폼의 디바이스의 유휴 상태의 표시의 제공을 수행하는 컴퓨터 판독가능한 저장 매체.
  10. 제7항에 있어서, 상기 컴퓨터 플랫폼의 결속 로직은 상기 컴퓨터 플랫폼의 상기 시스템 유휴 전력 상태로의 전환을 식별하고, 상기 결속 로직은 성능 파라미터의 표시를 수신하고, 상기 컴퓨터 플랫폼의 상기 시스템 유휴 전력 상태로의 전환의 식별은 상기 성능 파라미터의 표시의 수신에 더 응답하는 컴퓨터 판독가능한 저장 매체.
  11. 제10항에 있어서, 상기 성능 파라미터는 예상된 유휴 존속 및 서비스의 품질 중 하나 이상을 포함하는 컴퓨터 판독가능한 저장 매체.
  12. 제11항에 있어서, 상기 서비스의 품질은 지연 시간 허용 오차(latency tolerance)를 포함하는 컴퓨터 판독가능한 저장 매체.
  13. 제7항에 있어서, 상기 컴퓨터 플랫폼의 상기 시스템 유휴 전력 상태로의 전환의 식별은 복수의 시스템 유휴 전력 상태로부터의 선택을 포함하는 컴퓨터 판독가능한 저장 매체.
  14. 제13항에 있어서, 상기 복수의 시스템 유휴 전력 상태로부터의 선택은, 제1 시스템 유휴 전력 상태와 연관된 하나 이상의 메트릭에 기초하여, 상기 제1 시스템 유휴 전력 상태로 전환할 기회에 대한 표시의 검출을 포함하는 컴퓨터 판독가능한 저장 매체.
  15. 제14항에 있어서, 상기 하나 이상의 메트릭은 지연 시간 및 전환 비용을 포함하는 컴퓨터 판독가능한 저장 매체.
  16. 제14항에 있어서, 상기 복수의 시스템 유휴 전력 상태로부터의 선택은, 상기 제1 시스템 유휴 전력 상태로 전환할 기회에 대한 표시의 검출에 응답하여, 상기 제1 시스템 유휴 전력 상태로의 전환이 상기 플랫폼의 공유된 자원의 요구된 이용을 금지하는지 여부에 대한 식별을 더 포함하는 컴퓨터 판독가능한 저장 매체.
  17. 프로세서의 프로세서 유휴 상태를 검출하는 제1 로직 - 상기 제1 로직은, 상기 프로세서 유휴 상태의 검출에 응답하여, 상기 프로세서의 프로세서 유휴 전력 상태로의 전환을 식별하고, 상기 프로세서의 상기 전환을 표시하는 메시지를 전송함 - ;
    상기 프로세서 이외의 컴퓨터 플랫폼의 디바이스의 유휴 상태를 검출하고, 상기 디바이스의 검출된 유휴 상태의 표시를 제공하는 제2 로직; 및
    상기 프로세서의 상기 전환을 표시하는 메시지와 상기 디바이스의 유휴 상태의 표시 양측에 응답하여, 상기 컴퓨터 플랫폼의 시스템 유휴 전력 상태로의 전환을 식별하는 제3 로직
    을 포함하는 장치.
  18. 제17항에 있어서, 상기 제1 로직은 상기 프로세서에서 실행되는 운영 체제(OS)의 프로세서 관리자를 포함하는 장치.
  19. 제17항에 있어서, 상기 제2 로직은 시스템 관리자를 포함하는 장치.
  20. 제19항에 있어서, 상기 시스템 관리자는 전력 관리 유닛에 상주하는 장치.
  21. 제19항에 있어서, 상기 시스템 관리자는 성능 파라미터의 표시를 수신하고, 상기 컴퓨터 플랫폼의 상기 시스템 유휴 전력 상태로의 전환에 대한 식별은 수신된 상기 성능 파라미터의 표시에 더 응답하는 장치.
  22. 제21항에 있어서, 상기 성능 파라미터는 예상된 유휴 존속 및 서비스의 품질 중 하나 이상을 포함하는 장치.
  23. 제22항에 있어서, 상기 서비스의 품질은 지연 시간 허용 오차를 포함하는 장치.
  24. 제17항에 있어서, 상기 컴퓨터 플랫폼의 상기 시스템 유휴 전력 상태로의 전환을 식별하는 제3 로직은 복수의 시스템 유휴 전력 상태로부터 선택하는 제3 로직을 포함하는 장치.
  25. 시스템으로서,
    프로세서의 프로세서 유휴 상태를 검출하는 제1 로직 - 상기 제1 로직은, 상기 프로세서 유휴 상태의 검출에 응답하여, 상기 프로세서의 프로세서 유휴 전력 상태로의 전환을 식별하고, 상기 프로세서의 상기 전환을 표시하는 메시지를 전송함 - ;
    상기 프로세서 이외의 컴퓨터 플랫폼의 디바이스의 유휴 상태를 검출하고, 상기 디바이스의 검출된 유휴 상태의 표시를 제공하는 제2 로직;
    상기 프로세서의 상기 전환을 표시하는 메시지와 상기 디바이스의 유휴 상태의 표시 양측에 응답하여, 상기 컴퓨터 플랫폼의 시스템 유휴 전력 상태로의 전환을 식별하는 제3 로직; 및
    상기 시스템을 네트워크에 결합하는 안테나
    를 포함하는 시스템.
  26. 제25항에 있어서, 상기 제1 로직은 상기 프로세서에서 실행되는 운영 체제(OS)의 프로세서 관리자를 포함하는 시스템.
  27. 제25항에 있어서, 상기 제2 로직은 시스템 관리자를 포함하는 시스템.
  28. 제27항에 있어서, 상기 시스템 관리자는 전력 관리 유닛에 상주하는 시스템.
  29. 제27항에 있어서, 상기 시스템 관리자는 성능 파라미터의 표시를 수신하고, 상기 컴퓨터 플랫폼의 상기 시스템 유휴 전력 상태로의 전환에 대한 식별은 수신된 상기 성능 파라미터의 표시에 더 응답하는 시스템.
  30. 제25항에 있어서, 상기 컴퓨터 플랫폼의 상기 시스템 유휴 전력 상태로의 전환을 식별하는 제3 로직은 복수의 시스템 유휴 전력 상태로부터 선택하는 제3 로직을 포함하는 시스템.
KR1020137016043A 2010-12-23 2011-12-08 컴퓨터 플랫폼의 시스템 전력 상태를 전환하는 방법, 장치 및 시스템 KR101464911B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN3083/DEL/2010 2010-12-23
IN3083DE2010 2010-12-23
PCT/US2011/063907 WO2012087593A2 (en) 2010-12-23 2011-12-08 Method, apparatus and system to transition system power state of a computer platform

Publications (2)

Publication Number Publication Date
KR20130087583A true KR20130087583A (ko) 2013-08-06
KR101464911B1 KR101464911B1 (ko) 2014-11-24

Family

ID=46314733

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137016043A KR101464911B1 (ko) 2010-12-23 2011-12-08 컴퓨터 플랫폼의 시스템 전력 상태를 전환하는 방법, 장치 및 시스템

Country Status (7)

Country Link
US (2) US8775836B2 (ko)
EP (3) EP3190478B1 (ko)
JP (1) JP5697284B2 (ko)
KR (1) KR101464911B1 (ko)
CN (1) CN102741775B (ko)
TW (1) TWI474158B (ko)
WO (1) WO2012087593A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170016712A (ko) 2015-08-04 2017-02-14 한국전자통신연구원 시스템의 유휴 상태 감지를 통한 대기 전력 절감 방법 및 이를 이용한 장치
KR20200083173A (ko) * 2018-12-27 2020-07-08 기가 바이트 테크놀러지 컴퍼니 리미티드 성능 관리 시스템, 성능 설정 파라미터 조합을 제공하는 방법, 성능 파라미터를 업데이트하는 방법, 컴퓨터 소프트웨어 및 저장 매체

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8862920B2 (en) * 2011-06-16 2014-10-14 Advanced Micro Devices, Inc. Power state management of an input/output servicing component of a processor system
TWI454905B (zh) 2011-09-30 2014-10-01 Intel Corp 在多核心平台中之受限制的啓動技術
JP5893336B2 (ja) * 2011-10-24 2016-03-23 キヤノン株式会社 電源制御装置、電源制御装置の制御方法、およびプログラム
US9619006B2 (en) * 2012-01-10 2017-04-11 Intel Corporation Router parking in power-efficient interconnect architectures
KR20130087853A (ko) * 2012-01-30 2013-08-07 삼성전자주식회사 파워 컨트롤 시스템 및 그 동작 방법
US10007323B2 (en) 2012-12-26 2018-06-26 Intel Corporation Platform power consumption reduction via power state switching
US20140344599A1 (en) * 2013-05-15 2014-11-20 Advanced Micro Devices, Inc. Method and System for Power Management
US20160091957A1 (en) * 2014-09-26 2016-03-31 Suketu R. Partiwala Power management for memory accesses in a system-on-chip
US10275853B2 (en) 2015-04-15 2019-04-30 Intel Corporation Media hub device and cache
US20170038813A1 (en) * 2015-08-05 2017-02-09 Qualcomm Incorporated System and method for cache aware low power mode control in a portable computing device
US20170177068A1 (en) * 2015-12-17 2017-06-22 Intel Corporation Systems, methods and devices for standby power savings
US10481661B2 (en) 2016-03-30 2019-11-19 Intel Corporation Power supply interface light load signal
US10956345B2 (en) * 2016-04-01 2021-03-23 Intel Corporation Enhanced directed system management interrupt mechanism
US10275008B2 (en) * 2016-09-22 2019-04-30 Intel Corporation Methods and apparatus to reduce computing device power consumption
CN109983418B (zh) * 2016-12-20 2023-02-10 英特尔公司 功率状态管理
US11171983B2 (en) * 2018-06-29 2021-11-09 Intel Corporation Techniques to provide function-level isolation with capability-based security
BR112021019115A2 (pt) 2019-05-20 2021-11-30 Google Llc Sistema de radar baseado em dispositivo móvel para fornecer uma interface multimodo e método para o mesmo
WO2020256692A1 (en) 2019-06-17 2020-12-24 Google Llc Mobile device-based radar system for applying different power modes to a multi-mode interface
US12013743B2 (en) * 2021-10-29 2024-06-18 Verizon Patent And Licensing Inc. Software-based power management for virtualization platforms

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2974950B2 (ja) * 1995-10-26 1999-11-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 情報処理システム
US5919264A (en) * 1997-03-03 1999-07-06 Microsoft Corporation System and method for using data structures to share a plurality of power resources among a plurality of devices
JP3943665B2 (ja) * 1997-09-01 2007-07-11 株式会社東芝 スリープ制御方法、およびイベント通知方法
US6260150B1 (en) * 1998-03-10 2001-07-10 Agere Systems Guardian Corp. Foreground and background context controller setting processor to power saving mode when all contexts are inactive
US6317839B1 (en) 1999-01-19 2001-11-13 International Business Machines Corporation Method of and apparatus for controlling supply of power to a peripheral device in a computer system
US6802018B2 (en) 2000-12-27 2004-10-05 Intel Corporation Method and apparatus to directly access a peripheral device when central processor operations are suspended
JP3983026B2 (ja) * 2001-10-22 2007-09-26 シャープ株式会社 情報処理装置
US7634668B2 (en) * 2002-08-22 2009-12-15 Nvidia Corporation Method and apparatus for adaptive power consumption
US7313797B2 (en) 2002-09-18 2007-12-25 Wind River Systems, Inc. Uniprocessor operating system design facilitating fast context switching
KR100563691B1 (ko) * 2003-06-09 2006-03-28 엘지전자 주식회사 컴퓨터 시스템에서의 전원 관리장치 및 방법
US7353413B2 (en) * 2003-08-18 2008-04-01 Intel Corporation Computer system power policy adjustment in response to an affirmative indication from a user
US20050138443A1 (en) * 2003-12-23 2005-06-23 Barnes Cooper Method for C state management
US7174471B2 (en) * 2003-12-24 2007-02-06 Intel Corporation System and method for adjusting I/O processor frequency in response to determining that a power set point for a storage device has not been reached
JP4387815B2 (ja) * 2004-01-30 2009-12-24 富士通株式会社 シリアルタイプのインターフェイス回路、そのパワーセーブ方法及びシリアルインターフェイスを持つデバイス
US7565562B2 (en) * 2004-09-03 2009-07-21 Intel Corporation Context based power management
US7373530B2 (en) 2005-03-16 2008-05-13 Microsoft Corporation Systems and methods for providing power-loss protection to sleeping computers systems
US20070043965A1 (en) * 2005-08-22 2007-02-22 Intel Corporation Dynamic memory sizing for power reduction
US20080098245A1 (en) * 2006-03-22 2008-04-24 G2 Microsystems, Inc. Power management system and method
US7685409B2 (en) * 2007-02-21 2010-03-23 Qualcomm Incorporated On-demand multi-thread multimedia processor
CN100517180C (zh) * 2007-06-01 2009-07-22 惠州市Tcl电脑科技有限责任公司 一种智能电源管理方法和系统
US8762692B2 (en) 2007-09-27 2014-06-24 Intel Corporation Single instruction for specifying and saving a subset of registers, specifying a pointer to a work-monitoring function to be executed after waking, and entering a low-power mode
US8140823B2 (en) * 2007-12-03 2012-03-20 Qualcomm Incorporated Multithreaded processor with lock indicator
US8458722B2 (en) * 2008-06-09 2013-06-04 International Business Machines Corporation Thread selection according to predefined power characteristics during context switching on compute nodes
US8683247B2 (en) 2008-06-12 2014-03-25 Advanced Micro Devices, Inc. Method and apparatus for controlling power supply to primary processor and portion of peripheral devices by controlling switches in a power/reset module embedded in secondary processor
US8255713B2 (en) * 2008-06-26 2012-08-28 Intel Corporation Management of link states using plateform and device latencies
US8954977B2 (en) * 2008-12-09 2015-02-10 Intel Corporation Software-based thread remapping for power savings
JP2010152853A (ja) * 2008-12-26 2010-07-08 Toshiba Corp データ記憶装置
US8495403B2 (en) * 2008-12-31 2013-07-23 Intel Corporation Platform and processor power management
CN101526845B (zh) * 2009-04-24 2011-02-16 威盛电子股份有限公司 电源管理方法及其相关芯片组
US8656198B2 (en) * 2010-04-26 2014-02-18 Advanced Micro Devices Method and apparatus for memory power management
US8438416B2 (en) * 2010-10-21 2013-05-07 Advanced Micro Devices, Inc. Function based dynamic power control

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170016712A (ko) 2015-08-04 2017-02-14 한국전자통신연구원 시스템의 유휴 상태 감지를 통한 대기 전력 절감 방법 및 이를 이용한 장치
KR20200083173A (ko) * 2018-12-27 2020-07-08 기가 바이트 테크놀러지 컴퍼니 리미티드 성능 관리 시스템, 성능 설정 파라미터 조합을 제공하는 방법, 성능 파라미터를 업데이트하는 방법, 컴퓨터 소프트웨어 및 저장 매체

Also Published As

Publication number Publication date
US20120166779A1 (en) 2012-06-28
EP3190478B1 (en) 2020-12-23
WO2012087593A2 (en) 2012-06-28
CN102741775A (zh) 2012-10-17
TWI474158B (zh) 2015-02-21
KR101464911B1 (ko) 2014-11-24
CN102741775B (zh) 2015-11-25
US8601304B2 (en) 2013-12-03
JP5697284B2 (ja) 2015-04-08
US20120166843A1 (en) 2012-06-28
US8775836B2 (en) 2014-07-08
TW201232242A (en) 2012-08-01
JP2014501987A (ja) 2014-01-23
EP3190478A1 (en) 2017-07-12
EP2656168A4 (en) 2016-01-06
WO2012087593A3 (en) 2012-08-16
EP2656168A2 (en) 2013-10-30
EP3187965A1 (en) 2017-07-05

Similar Documents

Publication Publication Date Title
KR101464911B1 (ko) 컴퓨터 플랫폼의 시스템 전력 상태를 전환하는 방법, 장치 및 시스템
US8656196B2 (en) Hardware automatic performance state transitions in system on processor sleep and wake events
US10248183B2 (en) System and method for power management
US9547359B2 (en) Dynamic system management communication path selection
KR20140025556A (ko) 플랫폼에서 유휴 링크 전력을 감소시키는 방법 및 장치
US9886081B2 (en) Managing power-down modes
KR20100051113A (ko) 전압 레귤레이터, 전압 레귤레이터의 통신을 위한 시스템 및 방법, 및 집적 회로
US9753531B2 (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
US20130332639A1 (en) Electronic apparatuses and related controlling methods using the same
KR20150019457A (ko) 시스템 온 칩, 이의 동작 방법, 및 이를 포함하는 시스템
WO2020068319A1 (en) System, apparatus and method for collective power control of multiple intellectual property agents and a shared power rail
JP6535749B2 (ja) 入出力動作特性に基づくシステムオンチップアイドル電力状態制御のシステムと方法
CN114153303B (zh) 一种功耗控制系统和功耗控制方法、装置、介质
KR101896494B1 (ko) 컴퓨팅 디바이스들에서의 전력 관리
US10936037B2 (en) Multi-power rail power supply unit mismatch detection system
TW201237615A (en) Method, apparatus and system to save processor state for efficient transition between processor power states

Legal Events

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

Payment date: 20171027

Year of fee payment: 4