KR20140067072A - 전력 소비를 감소시키기 위한 우선순위 기반 애플리케이션 이벤트 제어(paec) - Google Patents

전력 소비를 감소시키기 위한 우선순위 기반 애플리케이션 이벤트 제어(paec) Download PDF

Info

Publication number
KR20140067072A
KR20140067072A KR1020147008097A KR20147008097A KR20140067072A KR 20140067072 A KR20140067072 A KR 20140067072A KR 1020147008097 A KR1020147008097 A KR 1020147008097A KR 20147008097 A KR20147008097 A KR 20147008097A KR 20140067072 A KR20140067072 A KR 20140067072A
Authority
KR
South Korea
Prior art keywords
applications
processor
policy information
power consumption
subsystems
Prior art date
Application number
KR1020147008097A
Other languages
English (en)
Other versions
KR101597167B1 (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 KR20140067072A publication Critical patent/KR20140067072A/ko
Application granted granted Critical
Publication of KR101597167B1 publication Critical patent/KR101597167B1/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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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

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

애플리케이션 이벤트를 감소시키기 위한 우선순위 기반 애플리케이션 이벤트 제어(PAEC)에 관한 방법 및 장치가 설명된다. 일 실시예에서, PAEC는 어느 애플리케이션(그리고 이들의 대응 서브 시스템(들))이 프로세서나 플랫폼으로 하여금 저전력 소비 상태를 종료하게 하는지를 판단할 수 있다. 일 실시예에서, PAEC는 프로세서 또는 플랫폼이 저전력 소비 상태를 종료한 이후에 어느 애플리케이션(그리고 이들의 대응 서브 시스템(들))이 동작을 재개할 수 있는지를 판단할 수 있다. 다른 실시예들이 또한 청구되고 개시된다.

Description

전력 소비를 감소시키기 위한 우선순위 기반 애플리케이션 이벤트 제어(PAEC){PRIORITY BASED APPLICATION EVENT CONTROL (PAEC) TO REDUCE POWER CONSUMPTION}
본 개시물은 전반적으로 전자기기 분야에 관한 것이다. 특히, 본 발명의 실시예는 컴퓨팅 디바이스에서의 전력 소비를 감소시키기 위한 우선순위 기반 애플리케이션 이벤트 제어(Priority Based Application Event Control; PAEC)에 관한 것이다.
일반적으로, 컴퓨팅 시스템 내 고전력 소비 컴포넌트들 중 하나는 프로세서이다. 전력 소비를 감소시키기 위해, 일부 구현들은 프로세서가 가능한 오래 그리고 자주 슬립 또는 스탠바이 모드에 진입하게 하도록 시도할 수 있다. 그러나, 이러한 시도들은, 다양한 이벤트, 예를 들어, 시스템 내 다른 컴포넌트들에 의한 트리거링의 발생으로 인해 무산될 수 있고, 이는 프로세서가 저전력 소비 상태(a lower power consumption state)를 종료하게 만들 수 있다.
이에 따라, 고전력 소비는 열 발생을 또한 증가시킬 수 있다. 과도한 열은 컴퓨터 시스템의 컴포넌트들을 손상시킬 수 있다. 또한, 고전력 이용은 예를 들어 모바일 컴퓨팅 디바이스에서의 배터리 소비를 증가시킬 수 있고, 이는 재충전하기 전 모바일 디바이스가 동작될 수 있는 시간을 감소시킨다. 추가 전력 소비는 더 무거울 수 있는 더 큰 배터리의 사용을 추가적으로 요구할 수 있다. 더 무거운 배터리는 모바일 컴퓨팅 디바이스의 휴대성 또는 유용성을 감소시킨다.
따라서, 전체 시스템 전력 소비 및 유틸리티는 프로세서가 저전력 소비 상태에서 얼마나 오래 유지되는지와 직접적으로 관련될 수 있다.
첨부된 도면을 참조하여 상세한 설명이 제공된다. 도면들에서, 참조 번호의 가장 좌측의 숫자(들)는 참조 번호가 처음 나타난 도면을 식별한다. 상이한 도면들에서의 동일한 참조 번호의 사용은 유사하거나 동일한 아이템을 나타낸다.
도 1, 3, 및 5-6은 본원에서 설명된 다양한 실시예들을 구현하는데 사용될 수 있는, 컴퓨팅 시스템의 실시예들에 관한 블록도를 도시한다.
도 2는 일 실시예에 따라, 프로세서 코어의 일부 및 컴퓨팅 시스템의 다른 컴포넌트에 관한 블록도를 도시한다.
도 4는 일부 실시예들에 따른 흐름도를 도시한다.
다음의 설명에서, 다수의 특정 세부사항은 다양한 실시예들에 관한 전반적인 이해를 제공하기 위해 개시된다. 그러나, 본 발명의 다양한 실시예들은 그러한 특정 세부사항 없이 실시될 수 있다. 다른 경우에서, 잘 알려진 방법, 절차, 컴포넌트, 및 회로는 본 발명의 특정 실시예들을 모호하게 하지 않기 위해 상세히 설명되지 않는다. 또한, 본 발명의 실시예들의 다양한 양태들은 다양한 수단, 예컨대, 집적 반도체 회로("하드웨어"), 하나 이상의 프로그램으로 조직된 컴퓨터 판독가능 인스트럭션("소프트웨어"), 또는 하드웨어와 소프트웨어의 일부 조합을 사용하여 구현될 수 있다. 본 개시물의 목적을 위해 "로직"에 관한 언급은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합을 의미할 수 있다. 또한, "인스트럭션" 및 "마이크로-동작(micro-operation)"(uop)은 본원에서 설명되는 바와 같이 교체가능하다.
본원에서 설명되는 일부 실시예들은 프로세서로 하여금 저전력 소비 상태를 종료(exit)하게 하는 애플리케이션 이벤트의 개수를 감소시키기 위해 우선순위 기반 애플리케이션 이벤트 제어(Priority Based Application Event Control; PAEC)를 이용할 수 있다. 일 실시예에서, PAEC는 모바일 디바이스 또는 임의의 다른 타입의 컴퓨팅 디바이스에서 이용될 수 있다. 일 실시예에서, PAEC 기법은, 애플리케이션("apps")에 우선순위를 할당하고 이러한 애플리케이션 우선순위 또는 애플리케이션을 플랫폼 서브 시스템 상태(모드)와 연관시키기 위해, 예를 들어, QOS(Quality Of Service) 또는 사용자 경험을 위해(compromising)하지 않으면서, 예를 들어, 우선순위 및/또는 정책 구성(policy configuration)에 기초하여 플랫폼 전력 인지(platform-power-aware) 및/또는 플랫폼 전력 비인지(platform-power-unaware) 애플리케이션 양자에 의해 생성되는 플랫폼 이벤트를 제어하기 위해, 하드웨어(예를 들어, SOC(System on Chip) 또는 온다이 시스템 패브릭(On-Die System Fabric; OSF))을 레버리지(leverage)할 수 있다. 일 실시예에서, PAEC는, 예를 들어, QOS 요구조건 및/또는 사용자 경험에 영향을 미치지 않으면서 어느 애플리케이션이 시스템이나 프로세서를 웨이크(wake)할 수 있는지, 시스템 웨이크업 또는 프로세서 웨이크업 등 이후에 어느 애플리케이션들이 작동해야하거나 작동할 수 있는지 등을 명시 및/또는 우선순위화하는 메커니즘을 제공하도록, 애플리케이션을 플랫폼 서브 시스템(들)에 연관시킴으로써, 세밀한 전력 관리(fine grain power management)를 제공한다.
일부 실시예들에서, (플랫폼/시스템 및/또는 프로세서가 저전력 소비 상태로 진입한 이후) 하나 이상의 애플리케이션의 재시작(resumption)은 일부 정책(또한 교환가능하게 본원에서 구성으로 언급됨) 정보 또는 설정에 기초하여 PAEC에 의해 제한될 수 있다. 일부 실시예들에서 이러한 정보는 작동시간 동안 적응(adaptive)되거나 변경(change)할 수 있다. 또한, 이러한 정책 정보는 플랫폼/시스템 및/또는 프로세서가 저전력 소비 상태로부터 종료되고 나서 하나 이상의 애플리케이션 및/또는 이들의 연관 서브 시스템(들)이 웨이크되는지의 여부, 순서, 시기, 및/또는 어느 애플리케이션이 웨이크되는지에 관한 정보를 포함할 수 있다. 일 실시예에서, 정책 정보는 또한 어느 애플리케이션 및/또는 서브 시스템이 시스템을 웨이크할 수 있는지를 표시 및/또는 우선순위화할 수 있다.
본원에서 설명되는 기법은 도 1-2 및 5-6에 관하여 설명되는 시스템과 같은 임의의 타입의 컴퓨팅 시스템에서 사용될 수 있다. 특히, 도 1은 본 발명에 따른, 컴퓨팅 시스템(100)에 관한 블록도를 도시한다. 시스템(100)은 하나 이상의 프로세서(102-1 내지 102-N)(일반적으로 "프로세서들(102)" 또는 "프로세서(102)"로 지칭됨)를 포함할 수 있다. 프로세서(102)는 상호접속 네트워크 또는 버스(104)를 통해 통신할 수 있다. 각 프로세서는 다양한 컴포넌트를 포함할 수 있고 이들 중 일부만이 명료성을 위해 프로세서(102-1)를 참조하여 설명된다. 따라서, 나머지 프로세서(102-2 내지 102-N) 각각은 프로세서(102-1)에 관하여 설명되는 동일하거나 유사한 컴포넌트들을 포함할 수 있다.
일 실시예에서, 프로세서(102-1)는 하나 이상의 프로세서 코어(106-1 내지 106-M)(본원에서 "코어들(106)" 또는 더 일반적으로 "코어(106)"로 지칭됨), 공유 캐시(108), 라우터(110), 및/또는 로직(120)을 포함할 수 있다. 프로세서 코어들(106)은 단일 집적 회로(IC) 칩 상에 구현될 수 있다. 또한, 칩은 하나 이상의 공유 및/또는 개인 캐시(가령, 캐시(108)), 버스 또는 상호접속부(가령, 버스 또는 상호접속 네트워크(122)), 메모리 제어기들(가령, 도 5-6에 관하여 설명되는 것들), 또는 다른 컴포넌트들을 포함할 수 있다.
일 실시예에서, 라우터(110)는 프로세서(102-1) 및/또는 시스템(100)의 다양한 컴포넌트들 사이에서 통신하는데 사용될 수 있다. 또한, 프로세서(102-1)는 하나 이상의 라우터(110)를 포함할 수 있다. 더욱이, 복수의 라우터(110)는 프로세서(102-1)의 내부의 또는 외부의 다양한 컴포넌트들 사이의 데이터 라우팅을 가능하게 하기 위해 통신할 수 있다.
공유 캐시(108)는 프로세서(102-1)의 하나 이상의 컴포넌트, 예컨대, 코어들(106)에 의해 이용되는 데이터(예를 들어, 인스트럭션을 포함하는)를 저장할 수 있다. 예를 들어, 공유 캐시(108)는 프로세서(102)의 컴포넌트들에 의한 더 빠른 액세스를 위해 메모리(114) 내에 저장된 데이터를 국부적으로 캐싱할 수 있다. 일 실시예에서, 캐시(108)는 중간 레벨 캐시(예컨대, 레벨 2(L2), 레벨 3(L3), 레벨 4(L4), 또는 다른 레벨의 캐시), 최하위 레벨(last level cache; LLC), 및/또는 이들의 조합을 포함할 수 있다. 더욱이, 프로세서(102-1)의 다양한 컴포넌트는 버스(예를 들어, 버스(112))를 통해 공유 캐시(108)와 직접적으로, 및/또는 메모리 제어기 또는 허브와 통신할 수 있다. 도 1에 도시된 바와 같이, 일부 실시예들에서, 코어들(106) 중 하나 이상은 레벨 1(L1) 캐시(116-1)(본원에서 전반적으로 "L1 캐시(116)"로 언급됨)를 포함할 수 있다.
일 실시예에서, PAEC 로직(120)은 프로세서/플랫폼으로 하여금 저전력 소비 상태를 종료하게 할 수 있는 애플리케이션 이벤트의 개수를 감소시키고/시키거나 프로세서/플랫폼이 저전력 소비 상태를 종료한 이후의 애플리케이션에 의한 동작의 재시작(및 이들의 대응 서브 시스템의 전력 인가(powering on))을 제한할 수 있다. 로직(120)은, 메모리(114)에 저장될 수 있는 애플리케이션("apps")에 우선순위를 할당할 수 있고, 또한, 예를 들어, QOS(서비스 품질) 또는 사용자 경험을 위해하지 않으면서 애플리케이션 우선순위 및/또는 정책 구성에 기초하여 플랫폼 전력 인지 및/또는 플랫폼 전력 비인지 애플리케이션 양자에 의해 생성되는 플랫폼 이벤트를 제어하도록, 애플리케이션을 플랫폼 서브 시스템 상태(모드)와 연관시킬 수 있다. 일부 실시예들에서, 로직(120)에 의해 수행되는 동작들은, 예를 들어, (일부 실시예에서 사용자 인터페이스(예컨대, 도 3의 UI(314)로부터의 정보에 기초하여)) 사용자 또는 주문자 상표 부착품(original equipment manufactures; OEMs) 마다, OS 및/또는 (예를 들어, 메모리(114)에 저장될 수 있는) 소프트웨어 애플리케이션(들)을 통해 제어되거나 구성될 수 있다. 추가적으로, 애플리케이션 우선순위 및/또는 애플리케이션 정책 구성에 관한 정보는, 예를 들어, 메모리(114) 및/또는 캐시(108, 116) 등을 포함하는, 본원에서 설명되는 임의의 메모리에 저장될 수 있다.
도 2는 본 발명의 일 실시예에 따라, 프로세서 코어(106)의 일부 및 컴퓨팅 시스템의 다른 컴포넌트들에 관한 블록도를 도시한다. 일 실시예에서, 도 2에 도시된 화살표는 코어(106)를 통한 인스트럭션들의 흐름 방향을 도시한다. 하나 이상의 프로세서 코어(예컨대, 프로세서 코어(106))는 도 1에 관하여 설명된 바와 같이 단일 집적 회로 칩(또는 다이) 상에서 구현될 수 있다. 더욱이, 칩은 하나 이상의 공유 및/또는 개인 캐시(예를 들어, 도 1의 캐시(108)), 상호접속부(예를 들어, 도 1의 상호접속부(104 및/또는 112)), 제어 유닛, 메모리 제어기, 또는 다른 컴포넌트를 포함할 수 있다.
도 2에 도시된 바와 같이, 프로세서 코어(106)는 코어(106)에 의한 실행을 위해 인스트럭션(조건부 브랜치(conditional branches)를 갖는 인스트럭션 포함)을 페치하도록 페치 유닛(a fetch unit)(202)을 포함할 수 있다. 인스트럭션은 메모리(114) 및/또는 도 5-6에 관하여 설명된 메모리 디바이스와 같은 임의의 저장 디바이스로부터 페치될 수 있다. 코어(106)는 또한 페치된 인스트럭션을 디코딩하도록 디코드 유닛(204)을 포함할 수 있다. 예를 들어, 디코드 유닛(204)은 페치된 인스트럭션을 복수의 uop(마이크로-동작)로 디코딩할 수 있다. 추가적으로, 코어(106)는 스케줄 유닛(a schedule unit)(206)을 포함할 수 있다. 스케줄 유닛(206)은 인스트럭션이 디스패치를 위해 준비될 때까지, 예를 들어, 디코딩된 인스트럭션의 모든 소스 값이 이용가능해질 때까지, (예컨대, 디코드 유닛(204)으로부터 수신된) 디코딩된 인스트럭션을 저장하는 것과 연관된 다양한 동작을 수행할 수 있다. 일 실시예에서, 스케줄 유닛(206)은 실행을 위한 실행 유닛(an execution unit)(208)에 디코딩된 인스트럭션을 스케줄링 및/또는 발행(또는 디스패치)할 수 있다. 실행 유닛(208)은, 인스트럭션이 (예를 들어, 디코드 유닛(204)에 의해) 디코딩되고 (예를 들어, 스케줄 유닛(206)에 의해) 디스패치된 이후에 디스패치된 인스트럭션을 실행할 수 있다. 일 실시예에서, 실행 유닛(208)은 하나 이상의 실행 유닛을 포함할 수 있다. 실행 유닛(208)은 또한 덧셈, 뺄셈, 곱셈, 및/또는 나눗셈과 같은 다양한 산술 동작을 수행할 수 있고, 하나 이상의 산술 로직 유닛(ALU)을 포함할 수 있다. 일 실시예에서, 보조 프로세서(co-processor)(미도시)는 실행 유닛(208)과 함께 다양한 산술 동작을 수행할 수 있다.
또한, 실행 유닛(208)은 인스트럭션을 비순차적으로(out-of-order) 실행할 수 있다. 이로 인해, 프로세서 코어(106)는 일 실시예에서 비순차 프로세서 코어일 수 있다. 코어(106)는 또한 폐기 유닛(a retirement unit)(210)을 포함할 수 있다. 폐기 유닛(210)은 인스트럭션이 이행된(committed) 이후에 실행된 인스트럭션을 폐기할 수 있다. 일 실시예에서, 실행된 인스트럭션의 폐기는 인스트럭션의 실행으로부터 프로세서 상태의 이행, 인스트럭션에 의해 사용된 물리적 레지스터의 할당해제(de-allocated) 등을 야기할 수 있다.
코어(106)는 또한 하나 이상의 버스(예를 들어, 버스(104 및/또는 112))를 통해 프로세서 코어(106)의 컴포넌트들과 다른 컴포넌트들(예컨대, 도 1에 관하여 설명된 컴포넌트들) 사이의 통신을 가능하게 하도록 버스 유닛(214)을 포함할 수 있다. 코어(106)는 또한 코어(106)의 다양한 컴포넌트들에 의해 액세스된 데이터(예컨대, 할당된 애플리케이션 우선순위 및/또는 서브 시스템 상태(모드) 연계와 관련된 값)를 저장하도록 하나 이상의 레지스터(216)를 포함할 수 있다.
더욱이, 도 1에는 PAEC 로직(120)이 상호접속부(112)를 통해 코어(106)에 연결되는 것으로 도시되지만, 다양한 실시예들에서, PAEC 로직(120)은, 예컨대, 코어(106) 내부에 있거나, 버스(104)를 통해 코어에 연결되는 등, 어디든지 위치할 수 있다.
또한, 현재 세대의 스마트 폰 및 노트북 플랫폼은 OSPM(Operating System Power Management), PMU(Power Management Unit), 및 SCU(System Controller Unit)을 통해 세분화된 전력 관리(granular power management)를 지원할 수 있다. 오퍼레이팅 시스템과 함께 SCU는 항시 온 항시 접속(Always On Always Connected; AOAC) 능력을 플랫폼에 제공할 수 있다. OS 전력 매니저의 가이던스에 기초하여, SCU는 플랫폼 내 상이한 서브 시스템(CPU(중앙 처리 유닛) 또는 프로세서를 포함)에 대한 정확한 전력 레벨을 결정할 수 있다. 타이머 인터럽트, 통신(Comms) 모듈로부터의 인터럽트 등과 같은 외부 이벤트는 SCU에 의해 CPU로 포워딩될 수 있고 이로써 CPU를 웨이크 업할 수 있다. 서브 시스템 인터럽트 외에도, CPU는 또한 AOAC 기능을 제공하는 이벤트 또는 타이머로 인해 애플리케이션(apps)에 의해 웨이크 업될 수 있다. 이러한 웨이크(들)는, 슬립 또는 딥 슬립 상태에서의 CPU의 상주 시간(residency time)을 감소시키고, 이는 추가 전력 소비로 이어진다. 또한, 전력 매니저 엔티티는 플랫폼이 스탠바이/슬립 모드에 있게 하였지만, 플랫폼 전력 비인지 애플리케이션이 CPU 및 다른 서브 시스템의 웨이크를 야기하는 활성 상태일 수 있다. 또한 애플리케이션은 타이머를 설정하여 고려 중인 리소스에 어떠한 변경도 존재하지 않더라도 CPU를 주기적으로 웨이크 업할 수 있다.
더욱이, 일부 현재 플랫폼은 외부 이벤트의 연합(coalescing)을 지원할 수 있고, 일부 웨이크 구성에 기초하여 이벤트(웨이크)를 대기/전달할 수 있다. 현재 구현예들은 일반적으로 플랫폼 내 애플리케이션에 우선순위를 할당하고 이러한 애플리케이션 우선순위를 플랫폼의 상이한 동작 모드(예컨대, 브라우징, 비디오 플레이백 등)와 연관시키는 방법을 갖지 않고, 그 결과, 애플리케이션이 동결(frozen)/해동(thawed)될 수 있는데, 즉 슬립/딥 슬립/스탠바이 상태에 두거나 강제로 일시중지 상태(suspended state)에 있게 되거나 작동되도록 허용된다. 또한, 일반적으로 어떤 애플리케이션이 시스템을 일시중지 상태로부터 웨이크할 수 있는지, 그리고 또한 플랫폼이 웨이크 업하고 나서 어떤 애플리케이션이 작동되어야/작동될 수 있는지 등을 명시하고 우선순위화하는 메커니즘이 존재하지 않는다. 예를 들어, 일부 현 시스템에서, SCU는 서브 시스템 상태를 제어하기만 할 뿐 서브 시스템 상태와 연관된 애플리케이션을 제어하지 않는다. 또한, 현 방법론은 강제로 슬립/스탠바이 상태가 되는 애플리케이션/서브 시스템에 QOS 또는 사용자 경험이 영향을 미친다는 것을 고려하지 못한다.
도 3은 일부 실시예들에 따라 PAEC 기법이 구현될 수 있는 시스템(300)에 관한 블록도를 도시한다. 계산 및 저장 능력을 제공하기 위해, 시스템(300)은 호스트 CPU(또는 GFX(그래픽)(302)(예컨대, 도 1-2 및 5-6에 관하여 설명된 프로세서)), 메모리(304)(예컨대, 도 1-2 및 5-6에 관하여 설명된 메모리), 드라이브(예를 들어, 서브 시스템(1 내지 X) 중 일부)를 포함할 수 있다. 전반적으로, 도시된 서브 시스템(예를 들어, 1, 2 내지 X)은, 전력 게이팅(power gated)될 수 있고/있거나 컴퓨팅 시스템/플랫폼 및/또는 프로세서를 웨이크할 수 있는, 도 1-2 및 4-6에 관하여 설명된 컴포넌트들과 같은 컴퓨팅 시스템 내 임의의 컴포넌트를 포함할 수 있다.
더욱이, 시스템(300)은 디스플레이 능력을 제공하기 위한 디스플레이 제어기(308), 임의의 필요한 암호화 동작 및/또는 조작 방지 실행 환경(a tamper proof execution environment)을 제공하기 위한 하드웨어 보안 엔진(310), OS(313) 내부에서 작동하도록 OS 컴포넌트로서 구현된 PAEC 컴포넌트(312)(일 실시예에서 PAEC(312)는 OS(313)의 스케줄러 및 OS 전력 매니저에 강하게(tightly) 통합될 수 있고, 일부 실시예들에서는 현재 작동중인 프로세스/프로그램을 중단/동결/해동하고 나중에 재시작하는 권한(ability)을 가질 수 있음), 관리자나 사용자가 우선순위를 명시하고 및/또는 이들을 플랫폼 내 서브 시스템의 모드와 이들을 연관시키기는 능력을 제공하기 위한 (일 실시예에 따라 애플리케이션 컴포넌트일 수 있는) PAEC UI(사용자 인터페이스)(314), 사용자/관리자 정보에 의해 구성된 PAEC 정책을 저장하는 조작 방지 보안 저장을 제공하기 위한 보안 스토리지(316), 세밀한 플랫폼 전력 관리 지원(fine-grained platform power management support)을 제공하기 위한 시스템 제어기 유닛(SCU) 및/또는 전력 관리 유닛(PMU)(318)을 포함할 수 있다.
도 4는 일부 실시예들에 따라, PAEC를 구현하기 위한 방법에 관한 흐름도를 도시한다. 일 실시예에서, 도 4는 일부 실시예들에 따라, PAEC 로직(120), PAEC 컴포넌트(312), 및/또는 PAEC UI(314)의 동작을 예시한다. 더욱이, 도 4에 관하여 설명된 동작들은 도 1-3 및 5-6의 하나 이상의 컴포넌트들에 의해 수행될 수 있다.
도 1-4를 참조하면, PAEC 기능이 402에서 인에이블되고/되거나 PAEC UI가 403에서 호출되면(invoked)(예컨대, 사용자/OEM/OS/ 등에 의해서 그리고 비트와 같은 일부 저장된 값마다), PAEC UI(314)는 404에서 보안 스토리지(316)에 저장된 현재 정책 설정을 사용자에게 제공할 수 있다. PAEC UI(314)는 406에서 정책 및/또는 우선순위 설정을 변경하는 옵션(들)을 사용자에게 제공할 수 있다. 408에서, 예를 들어, 정책 설정을 업데이트하도록, PAEC UI(314)는 사용자나 관리자가 애플리케이션에 우선순위를 할당할 수 있게 하고 이들을 서브 시스템 동작 모드(들)(예를 들어, 브라우징, 비디오 플레이백 등)과 연계하도록 허용할 수 있다.
일 실시예에서, 408에서 우선순위는 OEM, OS, 또는 애플리케이션 제공자에 의해 할당될 수 있다. 더욱이, 우선순위는 일 실시예에서 애플리케이션 등록 동안 애플리케이션에 의해 배치된 QOS API(Application Program Interface) 요구조건에 기초하여 결정 및 할당될 수 있다. 전력 인지 애플리케이션은, PAEC 메커니즘(예를 들어, 아이템(120 또는 312)이 애플리케이션의 우선순위를 결정하기 위해, 예를 들어, 벡터로서 사용하는, 이들의 QOS 요구조건을 명시하도록 QOS API를 사용할 수 있다. 정책 설정에 기초하여, PAEC는 410에서 웨이크 이벤트를 허용하는 임계 우선순위(threshold priorities)를 결정하고 시스템/플랫폼이 재시작한 이후 동결될 애플리케이션의 리스트를 구축한다. 일 실시예에서 임계 우선순위는 또한 PAEC가 CPU를 웨이크 업 하기 전에 얼마나 오래 이벤트를 연기할 수 있는지를 판단할 수 있다.
412에서, 플랫폼이 플랫폼 저전력 상태(예를 들어, S0ix)에 진입할 때쯤에, 예를 들어, 일부 우선순위 스킴 및 정책 설정에 기초하여, 모든 애플리케이션이 동결되고 프로세스 실행이 중단된다(예를 들어, PAEC 메커니즘(120 또는 312)에 의해). 일반적으로 "S0ix"는, 주기적이거나 폴링된 활성상태(a polled activity)에 기초하는 전형적인 유휴 전력 상태 대신에 (예를 들어, OS 또는 소프트웨어 애플리케이션 입력에 기초하여) 이벤트 구동되는 플랫폼 레벨 전력 관리에 의해 달성되는 향상된 유휴 전력 상태(들)를 지칭한다. 일부 실시예들에서, 본원에서 설명된 전력 소비 상태 중 적어도 일부는, 2010년 4월 5일의 ACPI(Advanced Configuration and Power Interface) 규격, 개정 4.0a 하에서 정의되는 것을 따를 수 있으며, 이는 예를 들어, 프로세서가 동작중임을 표시할 수 있는 C0, 프로세서가 명령어를 실행중인 것은 아니지만 거의 즉시 실행 상태로 전환할 수 있음을 표시할 수 있는 C1, 프로세서가 모든 소프트웨어 가시 정보를 유지하지만 완전 실행 상태로 전환하는데 시간이 걸릴 수 있음을 표시할 수 있는 C2, 프로세서가 슬립이고 이의 캐시 코히런트(cache coherent)를 유지할 필요는 없음을 표시하는 C3를 포함한다.
일 실시예에서, PAEC 메커니즘(예를 들어, 아이템(120 또는 312)은 애플리케이션 등록 또는 호출(invacation) 동안 획득된 정보에 기초하여 애플리케이션(들)을 동결한다. 일부 실시예들에서, 412에서, PAEC가 동결시키지 않아야 하는 예외의 애플리케이션에 대하여, PAEC는 그러한 애플리케이션에 이용가능한 최상위/최하위 우선순위를 할당하도록 구성되고 그에 따라 애플리케이션의 웨이크 이벤트가 CPU에 랜딩(land)하도록 허용한다. PAEC는, 예를 들어, PAEC UI(314)를 통해, 이러한 애플리케이션에 대한 통지를 사용자에게 송신하거나(이와 같이 구성되는 경우), 이러한 애플리케이션에 대한 정보를 로깅(log)할 수 있다. 이는 사용자로 하여금 미래에 기본 설정을 오버라이드(override)할 수 있게 한다.
414에서, 구성 설정에 기초하여, PAEC 메커니즘(예를 들어, 아이템(120 또는 312))은 시스템/프로세서를 웨이크하거나 (S0ix와 같은 저전력 상태로부터의) 재시작 후에 작동되도록 선택적인 애플리케이션을 허용하거나 제한할 수 있어 대응하는 서브 시스템을 저전력 상태로 유지하고 저전력 상태에서의 CPU 상주(residency)를 증가시킨다. 또한, PAEC 메커니즘(예를 들어, 아이템(120 또는 312))은, 파라미터의 미세 조정(fine tuning)을 위해 정책 매니저에게 정책 설정에 대한 피드백을 제공하도록, 플랫폼 저전력 소비 상태(들)(예를 들어, S0ix) 동안 웨이크 이벤트를 추적할 수 있다. 이는, 예를 들어, 작동시간 동안 웨이크 이벤트를 추적함으로써, PAEC가 적응적이게 할 수 있다.
다양한 실시예들에서, PAEC는 OS/애플리케이션/전력 매니저 로직에 더 많은 유연성(flexibility)을 제공하여 매우 세분화된 방식으로 전력을 감소시키도록 애플리케이션과 서브 시스템 전력 상태 사이의 관계를 수립한다. 또한, PAEC는 적응적일 수 있고 플랫폼에서의 QOS 또는 사용자 경험에 영향을 미치지 않을 수 있다. 일부 실시예들에서, PAEC는 구성가능하고, 악성 프로그램(malware program), 시청 규제(parental control) 등과 같은 다른 컴포넌트들과 통합될 수 있어 특정 애플리케이션을 제한할 수 있다. PAEC는 웨이크를 감소시킬 수 있고 CPU가 유휴 상태에 더 오래 있도록 유지할 수 있다. 애플리케이션 개발자는 QOS API를 레버리지하여 강화된 전력 절약과 함께 사용자 경험을 개선할 수 있다. 일부 실시예들에서, PAEC는 애플리케이션을 플랫폼 서브 시스템 동작 모드와 연관시키고 저전력 상태로부터(예컨대, S0ix 상태로부터의 웨이크)의 재시작 이후에 선택적인 애플리케이션을 웨이크/작동시키는 옵션을 제공한다.
일 실시예에서, PAEC는 정책 설정에 기초하여 선택적인 서브 시스템/애플리케이션으로부터의 웨이크 이벤트를 마스킹(mask)할 수 있다. 또한 PAEC는 추후 시간 프레임에서 낮은 우선순위 웨이크를 합치고(coalesce) 전달할 수 있다. 그리고, PAEC는, 예를 들어, 서브 시스템이 저전력 상태(예를 들어, S0ix) 동안 턴 온되는 것을 방지하기 위해, 사용자 경험 또는 QOS를 위해하지 않으면서, 이들의 우선순위 설정 및/또는 이들의 연관된 서브 시스템 상태에 기초하여 애플리케이션을 동결시킬 수 있다. 또한, (보안 최적화 등을 위해) 애플리케이션 단위의 구성 "놉(knobs)"에 관한 더 많은 사용자 제어가 존재할 수 있다. 그리고, PAEC는 보안 스토리지에 정책 설정을 안전하게 저장하는 능력(ability)을 제공할 수 있다.
일부 실시예들에서, PAEC는 다음 중 하나 이상의 포함하는 다수의 이점을 제공할 수 있다: (1) 플랫폼 내 애플리케이션에 우선순위를 할당하고 애플리케이션을 서브 시스템 동작 모드와 연관시키는 능력. 우선순위는 애플리케이션 제공자/시스템 관리자/서비스 제공자에 의해서 또는 사용자 구성가능한 정책 설정에 또한 기초하여 할당될 수 있다. 더욱이, 일 실시예는, 예를 들어, 더 용이한 애플리케이션 관리를 제공하기 위해, 애플리케이션들이 이들의 우선순위에 기초하여 범주화될 수 있게 한다. (2) PAEC는 오버레이 영역(a overaly region)에서 마스킹 아웃되는 애플리케이션을 중지/동결하도록 구성되어 이들의 이벤트를 방지한다. (3) PAEC는 선택적인 애플리케이션 및 이들의 연관된 서브 시스템을 구성 설정에 기초하여 웨이크 업하는 메커니즘을 제공한다. PAEC는 OS/애플리케이션 관점으로부터의 미세하게 세분화된 제어를 제공한다. (4) PAEC는 적응적일 수 있는데, 예를 들어, 일시중지된 상태 동안 웨이크를 추적하고 파라미터를 미세 조정하도록 피드백을 제공한다. (5) 가장 깊은 저전력 상태에서의 CPU 및 다른 서브 시스템의 상주를 증가시킨다. (6) 조작 방지 보안 스토리지에 사용자 구성 정책을 저장한다.
도 5는 본 발명의 일 실시예에 따른 컴퓨팅 시스템(500)에 관한 블록도를 도시한다. 컴퓨팅 시스템(500)은 상호접속 네트워크(또는 버스)(504)를 통해 통신하는 하나 이상의 중앙 프로세싱 유닛(들)(CPU)(502) 또는 프로세서를 포함한다. 프로세서(502)는 범용 프로세서, (컴퓨터 네트워크(503)를 통해 통신된 데이터를 프로세싱하는) 네트워크 프로세서, 또는 (RISC(reduced instruction set computer) 프로세서 또는 CISC(complex instruction set computer)를 포함하는) 다른 타입의 프로세서를 포함할 수 있다. 더욱이, 프로세서(502)는 단일의 또는 복수의 코어 설계를 가질 수 있다. 복수의 코어 설계를 갖는 프로세서(502)는 상이한 타입의 프로세서 코어들을 동일한 집적 회로(IC) 다이에 통합할 수 있다. 또한, 복수의 코어 설계를 갖는 프로세서(502)는 대칭 또는 비대칭 멀티프로세서로서 구현될 수 있다. 일 실시예에서, 프로세서들(502) 중 하나 이상은 도 1의 프로세서(102)와 동일하거나 유사할 수 있다. 예를 들어, 프로세서들(502) 중 하나 이상은 도 1-4에 관하여 설명된 PAEC 로직(120)을 포함할 수 있다. 또한, 도 1-4에 관하여 설명된 동작은 시스템(500)의 하나 이상의 컴포넌트에 의해 수행될 수 있다.
칩셋(506)은 또한 상호접속 네트워크(504)와 통신할 수 있다. 칩셋(506)은 또한 메모리 제어 허브(memory control hub; MCH)(508)를 포함할 수 있다. MCH(508)는 메모리(512)(도 1의 메모리(114)와 동일하거나 유사할 수 있음)와 통신할 수 있는 메모리 제어기(510)를 포함할 수 있다. 메모리(512)는 CPU(502) 또는 컴퓨팅 시스템(500) 내 포함된 임의의 다른 디바이스에 의해 실행될 수 있는, 인스트럭션의 시퀀스를 포함하는, 데이터를 저장할 수 있다. 예를 들어, 메모리(512)는 도 3-4에 관하여 설명된, PAEC(312), OS(313), 및/또는 PAEC UI(314)를 저장할 수 있다. 본 발명의 일 실시예에서, 메모리(512)는 랜덤 액세스 메모리(RAM), 동적 RAM(DRAM), 동기 DRAM(SDRAM), 정적 RAM(SRAM), 또는 다른 타입의 저장 디바이스와 같은 하나 이상의 휘발성 저장(또는 메모리) 디바이스를 포함할 수 있다. 하드 디스크와 같은 비휘발성 메모리 또한 이용될 수 있다. 추가적인 디바이스는 복수의 CPU 및/또는 복수의 시스템 메모리와 같이, 상호접속 네트워크(504)를 통해 통신할 수 있다.
MCH(308)는 또한 디스플레이 디바이스(516)와 통신하는 그래픽 인터페이스(514)를 포함할 수 있다. 본 발명의 일 실시예에서, 그래픽 인터페이스(514)는 가속 그래픽 포트(accelerated graphics port; AGP)를 통해 디스플레이 디바이스(516)와 통신할 수 있다. 본 발명의 일 실시예에서, 디스플레이(516)(가령, 평판 디스플레이)는, 예를 들어, 비디오 메모리 또는 시스템 메모리와 같은 저장 디바이스에 저장된 이미지의 디지털 표현을 디스플레이(516)에 의해 해석되고 디스플레이되는 디스플레이 신호로 번역하는 신호 컨버터를 통해, 그래픽 인터페이스(514)와 통신할 수 있다. 디스플레이 디바이스에 의해 생성된 디스플레이 신호는 디스플레이(516)에 의해 해석되고 디스플레이(516) 상에 디스플레이되기 전에 다양한 제어 디바이스를 통과할 수 있다.
허브 인터페이스(518)는 MCH(508)와 입력/출력 제어 허브(input/output control hub; ICH)(520)가 통신하게 할 수 있다. ICH(520)는 컴퓨팅 시스템(500)과 통신하는 I/O 디바이스(들)에 인터페이스를 제공할 수 있다. ICH(520)는 주변장치 브리지(또는 제어기)(524), 예컨대, 주변장치 컴포넌트 상호접속(peripheral component interconnect; PCI) 브리지, 범용 시리얼 버스(USB) 제어기, 또는 다른 타입의 주변장치 브리지나 제어기를 통해 버스(522)와 통신할 수 있다. 브리지(524)는 CPU(502)와 주변 디바이스 사이에 데이터 경로를 제공할 수 있다. 다른 타입의 토폴로지가 이용될 수 있다. 또한 복수의 버스는, 예를 들어, 복수의 브리지 또는 제어기를 통해, ICH(520)와 통신할 수 있다. 더욱이, ICH(520)와 통신하는 다른 주변장치는, 본 발명의 다양한 실시예들에서, 통합 드라이브 전자기기(integrated drive electronics; IDE) 또는 소형 컴퓨터 시스템 인터페이스(SCSI) 하드 드라이브(들), USB 포트(들), 키보드, 마우스, 터치 스크린, 카메라, 병렬 포트(들), 직렬 포트(들), 플로피 디스크 드라이브(들), 디지털 출력 서포트(예를 들어, 디지털 비디오 인터페이스(DVI)), 또는 다른 디바이스를 포함할 수 있다.
버스(522)는 오디오 디바이스(526), 하나 이상의 디스크 드라이브(들)(528), 및 (컴퓨터 네트워크(503)와 통신하는) 네트워크 인터페이스 디바이스(530)와 통신할 수 있다. 다른 디바이스가 버스(522)를 통해 통신할 수 있다. 또한, 본 발명의 일부 실시예들에서 다양한 컴포넌트(가령, 네트워크 인터페이스 디바이스(530))는 MCH(508)와 통신할 수 있다. 또한, 프로세서(502) 및 MCH(508)는 단일 칩을 형성하도록 조합될 수 있다. 더욱이, 본 발명의 다른 실시예들에서, 그래픽 가속기(516)는 MCH(508) 내에 포함될 수 있다.
또한, 컴퓨팅 시스템(500)은 휘발성 및/또는 비휘발성 메모리(또는 스토리지)를 포함할 수 있다. 예를 들어, 비휘발성 메모리는 다음 중 하나 이상을 포함할 수 있다: 판독 전용 메모리(ROM), 프로그램가능 ROM(PROM), 소거가능 PROM(EPROM), 전기 EPROM(EEPROM), 디스크 드라이브(예를 들어, 528), 플로피 디스크, 컴팩트 디스크 ROM(CD-ROM), DVD(digital versatile disk), 플래시 메모리, 자기광학 디스크, 또는 (예를 들어, 인스트럭션을 포함하는) 전자 데이터를 저장할 수 있는 다른 타입의 비휘발성 머신 판독가능 매체.
도 6은 본 발명의 일 실시예에 따라, 점대점(PtP) 구성으로 배치되는 컴퓨팅 시스템(600)을 도시한다. 특히, 도 6은 프로세서, 메모리, 및 입력/출력 디바이스가 다수의 점대점 인터페이스에 의해 상호접속되는 시스템을 도시한다. 도 1-5에 관하여 설명된 동작은 시스템(600)의 하나 이상의 컴포넌트들에 의해 수행될 수 있다.
도 6에 도시된 바와 같이, 시스템(600)은 다수의 프로세서를 포함할 수 있으며, 여기서는 명료성을 위해 두 개의 프로세서(602 및 604)만이 도시된다. 프로세서(602 및 604)는 메모리(610 및 612)와의 통신을 가능하게 하기 위해 로컬 메모리 제어기 허브(MCH)(606 및 608)를 각각 포함할 수 있다. 메모리(610 및/또는 612)는 도 5의 메모리(512)에 관하여 설명된 것과 같이 다양한 데이터를 저장할 수 있다.
일 실시예에서, 프로세서들(602 및 604)은 도 5에 관하여 설명된 프로세서들(502) 중 하나일 수 있다. 프로세서(602 및 604)는 PtP 인터페이스 회로(616 및 618)를 사용하여 점대점(PtP) 인터페이스(614)를 통해 데이터를 각각 교환할 수 있다. 또한, 프로세서(602 및 604) 각각은 점대점 인터페이스 회로(626, 628, 630 및 632)를 사용하여 개별 PtP 인터페이스(622 및 624)를 통해 칩셋(620)과 데이터를 교환할 수 있다. 칩셋(620)은 또한, 예를 들어, PtP 인터페이스 회로(637)를 사용하여, 그래픽 인터페이스(636)를 통해 그래픽 회로(634)와 데이터를 교환할 수 있다.
본 발명의 적어도 하나의 실시예는 프로세서(602 및 604) 내에 제공될 수 있다. 예를 들어, 도 1-4의 PAEC 로직(120)은 프로세서(602 및 604) 내에 위치될 수 있다. 그러나, 본 발명의 다른 실시예들은 도 6의 시스템(600)내 다른 회로, 로직 유닛, 또는 디바이스 내에 존재할 수 있다. 더욱이, 본 발명의 다른 실시예들은 도 6에 도시된 다수의 회로, 로직 유닛, 또는 디바이스 전체에 걸쳐 분산될 수 있다.
칩셋(620)은 PtP 인터페이스 회로(641)를 사용하여 버스(640)와 통신할 수 있다. 버스(640)는 버스 브리지(642) 및 I/O 디바이스(643)와 같은 하나 이상의 디바이스와 통신할 수 있다. 버스(644)를 통해, 버스 브리지(642)는 다른 디바이스, 예컨대 키보드/마우스/터치스크린/카메라(645), 통신 디바이스(646)(예컨대, 모뎀, 네트워크 인터페이스 디바이스, 또는 컴퓨터 네트워크(503)와 통신할 수 있는 다른 통신 디바이스), 오디오 I/O 디바이스(647), 및/또는 데이터 저장 디바이스(648)와 통신할 수 있다. 데이터 저장 디바이스(648)는 프로세서(602 및/또는 604)에 의해 실행될 수 있는 코드(649)를 저장할 수 있다.
본 발명의 다양한 실시예들에서, 예를 들어, 도 1-6에 관하여, 본원에서 설명된 동작은 하드웨어(예를 들어, 로직 회로), 소프트웨어, 펌웨어, 또는 이들의 조합으로서 구현될 수 있고, 이는 예를 들어, 본원에서 설명된 프로세스를 수행하도록 컴퓨터를 프로그래밍하는데 사용된 인스트럭션(또는 소프트웨어 절차)을 내부에 저장한 (예를 들어, 비일시적) 머신 판독가능 또는 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로서 제공될 수 있다. 머신 판독가능 매체는 도 1-6에 관하여 설명된 것과 같이 저장 디바이스를 포함할 수 있다.
추가적으로, 그러한 컴퓨터 판독가능 매체는 컴퓨터 프로그램 제품으로 다운로드될 수 있는데, 여기서 프로그램은 통신 링크(예를 들어, 버스, 모뎀, 또는 네트워크 접속)를 통해 반송파 또는 다른 전파 매체에 포함된 데이터 신호에 의해 원격의 컴퓨터(예를 들어, 서버)로부터 요청 컴퓨터(예를 들어, 클라이언트)로 전송될 수 있다.
명세서에서 "일 실시예", "실시예", 또는 "일부 실시예들"에 관한 언급은 실시예(들)와 함께 설명된 특정 피쳐, 구조, 또는 특성이 적어도 하나의 구현예에 포함될 수 있다는 것을 의미한다. 본 명세서의 다양한 위치에서 문구 "일 실시예에서"의 등장은 모두 동일한 실시예에 관하여 언급하는 것일 수 있거나 아닐 수 있다.
또한, 설명 및 청구항에서, 용어 "연결된(coupled)" 및 "접속된(connected)"은 이들의 파생어와 함께 사용될 수 있다. 본 발명의 일부 실시예들에서, "접속된"은 두 개 이상의 요소들이 서로 직접 물리적으로 또는 전기적으로 접촉하고 있음을 나타내는데 사용될 수 있다. "연결된"은 두 개 이상의 요소들이 서로 직접 물리적으로 또는 전기적으로 접촉하고 있음을 나타내는데 사용될 수 있다. 그러나, "연결된"은 두 개 이상의 요소들이 서로 직접 접촉하고 있지 않을 수 있지만, 여전히 서로 협력하거나 상호작용하고 있을 수 있음을 또한 의미할 수 있다.
따라서, 본 발명의 실시예들이 구조적 피쳐 및/또는 방법론적 방식에 특정한 언어로 설명되었으나, 청구된 주제는 설명된 특정 피쳐 또는 방식으로 제한되지 않을 수 있다는 것이 이해되어야 한다. 오히려, 특정 피쳐 및 방식은 청구된 주제를 구현하는 예시적 형태로서 개시된다.

Claims (30)

  1. 프로세서와,
    상기 프로세서가 저전력 소비 상태(a low power consumption state)를 종료(exit)한 이후에, 복수의 애플리케이션에 대응하는, 정책 정보(policy information)에 기초하여 상기 복수의 애플리케이션 중 하나 이상의 애플리케이션이 실행되도록 허용하는 로직을 포함하되,
    상기 정책 정보는 상기 프로세서가 상기 저전력 소비 상태를 종료한 이후에 상기 복수의 애플리케이션 중 어느 애플리케이션이 재개될지(awakened)를 표시하는
    장치.
  2. 제 1 항에 있어서,
    상기 로직은 상기 복수의 애플리케이션 중 하나 이상의 애플리케이션에 대응하는 하나 이상의 서브 시스템이 상기 프로세서가 상기 저전력 소비 상태를 종료한 이후에 상기 정책 정보에 기초하여 전력이 인가되도록 허용하는
    장치.
  3. 제 2 항에 있어서,
    상기 정책 정보는 상기 하나 이상의 서브 시스템 중 어느 서브 시스템이 상기 복수의 애플리케이션 중 하나 이상의 애플리케이션 중 어느 애플리케이션에 대응하는지를 표시하는
    장치.
  4. 제 2 항에 있어서,
    상기 정책 정보는 상기 하나 이상의 서브 시스템의 어느 전력 상태가 상기 복수의 애플리케이션 중 하나 이상의 애플리케이션 중 어느 애플리케이션에 대응하는지를 표시하는
    장치.
  5. 제 1 항에 있어서,
    상기 로직은 상기 복수의 애플리케이션 중 하나 이상의 애플리케이션 중 어느 애플리케이션이 상기 프로세서를 상기 저전력 소비 상태로부터 웨이크(wake)하도록 허용되는지 우선순위화(prioritize)하는
    장치.
  6. 제 1 항에 있어서,
    상기 복수의 애플리케이션은 하나 이상의 플랫폼 전력 인지(platform-power-aware) 애플리케이션 또는 하나 이상의 플랫폼 전력 비인지 애플리케이션(platform-power-unaware applications)을 포함하는
    장치.
  7. 제 1 항에 있어서,
    상기 프로세서는 복수의 프로세서 코어를 포함하는
    장치.
  8. 제 1 항에 있어서,
    메모리, 상기 프로세서, 및 상기 로직 중 하나 이상은 동일한 집적 회로 디바이스 상에 존재하는
    장치.
  9. 프로세서와,
    상기 프로세서로 하여금 복수의 애플리케이션에 대응하는 정책 정보에 기초하여 저전력 소비 상태를 종료하게 하도록 상기 복수의 애플리케이션 중 하나 이상의 애플리케이션을 허용하는 로직을 포함하되,
    상기 정책 정보는 상기 복수의 애플리케이션 중 어느 애플리케이션이 상기 프로세서로 하여금 상기 저전력 소비 상태를 종료하게 하도록 허용될지 표시하는
    장치.
  10. 제 9 항에 있어서,
    상기 로직은, 상기 복수의 애플리케이션 중 하나 이상의 애플리케이션에 대응하는, 하나 이상의 서브 시스템이 상기 프로세서로 하여금 상기 정책 정보에 기초하여 상기 저전력 소비 상태를 종료하게 하도록 하는
    장치.
  11. 제 10 항에 있어서,
    상기 정책 정보는, 상기 하나 이상의 서브 시스템 중 어느 서브 시스템이 상기 복수의 애플리케이션 중 하나 이상의 애플리케이션 중 어느 애플리케이션에 대응하는지를 표시하는
    장치.
  12. 제 10 항에 있어서,
    상기 정책 정보는, 상기 하나 이상의 서브 시스템의 어느 전력 상태가 상기 복수의 애플리케이션 중 하나 이상의 애플리케이션 중 어느 애플리케이션에 대응하는지를 표시하는
    장치.
  13. 제 9 항에 있어서,
    상기 로직은, 상기 복수의 애플리케이션 중 하나 이상의 애플리케이션 중 어느 애플리케이션이 상기 프로세서를 상기 저전력 소비 상태로부터 웨이크하도록 허용되는지 우선순위화하는
    장치.
  14. 제 9 항에 있어서,
    상기 복수의 애플리케이션은 하나 이상의 플랫폼 전력 인지 애플리케이션 또는 하나 이상의 플랫폼 전력 비인지 애플리케이션을 포함하는
    장치.
  15. 제 9 항에 있어서,
    상기 프로세서는 복수의 프로세서 코어를 포함하는
    장치.
  16. 제 9 항에 있어서,
    메모리, 상기 프로세서 및, 상기 로직 중 하나 이상은 동일한 집적 회로 디비이스 상에 존재하는
    장치.
  17. 인스트럭션을 저장하는 컴퓨터 판독가능 매체로서,
    상기 인스트럭션은 프로세서에 의해 실행될 때 상기 프로세서로 하여금,
    상기 프로세서가 저전력 소비 상태를 종료한 이후에, 복수의 애플리케이션에 대응하는 정책 정보에 기초하여, 상기 복수의 애플리케이션 중 하나 이상의 애플리케이션이 실행되도록 허용하게 하되,
    상기 정책 정보는, 상기 프로세서가 상기 저전력 소비 상태를 종료한 이후에 상기 복수의 애플리케이션 중 어느 애플리케이션이 재개될지를 표시하는
    컴퓨터 판독가능 매체.
  18. 제 17 항에 있어서,
    상기 인스트럭션은 상기 프로세서로 하여금 상기 복수의 애플리케이션 중 하나 이상의 애플리케이션에 대응하는 하나 이상의 서브 시스템이, 상기 프로세서가 상기 저전력 소비 상태를 종료한 이후에 상기 정책 정보에 기초하여 전력이 인가되도록 허용하게 하는
    컴퓨터 판독가능 매체.
  19. 제 18 항에 있어서,
    상기 정책 정보는 상기 하나 이상의 서브 시스템 중 어느 서브 시스템이 상기 복수의 애플리케이션 중 하나 이상의 애플리케이션 중 어느 애플리케이션에 대응하는지를 표시하는
    컴퓨터 판독가능 매체.
  20. 제 18 항에 있어서,
    상기 정책 정보는 상기 하나 이상의 서브 시스템의 어느 전력 상태가 상기 복수의 애플리케이션 중 하나 이상의 애플리케이션 중 어느 애플리케이션에 대응하는지를 표시하는
    컴퓨터 판독가능 매체.
  21. 제 17 항에 있어서,
    상기 인스트럭션은 상기 프로세서로 하여금 상기 복수의 애플리케이션 중 하나 이상의 애플리케이션 중에서 어느 애플리케이션이 상기 프로세서를 상기 저전력 소비 상태로부터 웨이크하도록 허용되는지 우선순위화하게 하는
    컴퓨터 판독가능 매체.
  22. 제 17 항에 있어서,
    상기 복수의 애플리케이션은 하나 이상의 플랫폼 전력 인지 애플리케이션 또는 하나 이상의 플랫폼 전력 비인지 애플리케이션을 포함하는
    컴퓨터 판독가능 매체.
  23. 제 17 항에 있어서,
    상기 프로세서에 연결된, 메모리는 오퍼레이팅 시스템 소프트웨어를 저장하는
    컴퓨터 판독가능 매체.
  24. 인스트럭션을 저장하는 컴퓨터 판독가능 매체로서,
    상기 인스트럭션은 프로세서에 의해 실행될 때 상기 프로세서로 하여금,
    상기 프로세서가 복수의 애플리케이션에 대응하는 정책 정보에 기초하여 저전력 소비 상태를 종료하게 하도록 상기 복수의 애플리케이션 중 하나 이상의 애플리케션을 허용하게 하되,
    상기 정책 정보는 상기 복수의 애플리케이션 중 어느 애플리케이션이 상기 프로세서가 상기 저전력 상태를 종료하게 하도록 허용될지를 표시하는
    컴퓨터 판독가능 매체.
  25. 제 24 항에 있어서,
    상기 인스트럭션은 상기 프로세서로 하여금, 상기 복수의 애플리케이션 중 하나 이상의 애플리케이션에 대응하는 하나 이상의 서브 시스템이 상기 프로세서가 상기 저전력 소비 상태를 종료하기 이전에 상기 프로세서로 하여금 상기 정책 정보에 기초하여 상기 저전력 소비 상태를 종료하게 하도록 허용하는
    컴퓨터 판독가능 매체.
  26. 제 25 항에 있어서,
    상기 정책 정보는 상기 하나 이상의 서브 시스템 중 어느 서브 시스템이 상기 복수의 애플리케이션 중 하나 이상의 애플리케이션 중 어느 애플리케이션에 대응하는지를 표시하는
    컴퓨터 판독가능 매체.
  27. 제 25 항에 있어서,
    상기 정책 정보는 상기 하나 이상의 서브 시스템의 어느 전력 상태가 상기 복수의 애플리케이션 중 하나 이상의 애플리케이션 중 어느 애플리케이션에 대응하는지를 표시하는
    컴퓨터 판독가능 매체.
  28. 제 24 항에 있어서,
    상기 인스트럭션은 상기 프로세서로 하여금 상기 복수의 애플리케이션 중 하나 이상의 애플리케이션 중에서 어느 애플리케이션이 상기 프로세서가 상기 저전력 소비 상태로부터 웨이크하도록 허용되는지 우선순위화하게 하는
    컴퓨터 판독가능 매체.
  29. 제 24 항에 있어서,
    상기 복수의 애플리케이션은 하나 이상의 플랫폼 전력 인지 애플리케이션 또는 하나 이상의 플랫폼 전력 비인지 애플리케이션을 포함하는
    컴퓨터 판독가능 매체.
  30. 제 24 항에 있어서,
    상기 프로세서에 연결된, 메모리는 오퍼레이팅 시스템 소프트웨어를 저장하는
    컴퓨터 판독가능 매체.
KR1020147008097A 2011-09-30 2012-09-27 전력 소비를 감소시키기 위한 우선순위 기반 애플리케이션 이벤트 제어(paec) KR101597167B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN2849/DEL/2011 2011-09-30
IN2849DE2011 2011-09-30
PCT/US2012/057525 WO2013049326A2 (en) 2011-09-30 2012-09-27 Priority based application event control (paec) to reduce power consumption

Publications (2)

Publication Number Publication Date
KR20140067072A true KR20140067072A (ko) 2014-06-03
KR101597167B1 KR101597167B1 (ko) 2016-02-24

Family

ID=47996734

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147008097A KR101597167B1 (ko) 2011-09-30 2012-09-27 전력 소비를 감소시키기 위한 우선순위 기반 애플리케이션 이벤트 제어(paec)

Country Status (7)

Country Link
US (3) US9383803B2 (ko)
EP (2) EP3742256A1 (ko)
JP (1) JP5932044B2 (ko)
KR (1) KR101597167B1 (ko)
CN (1) CN103842934B (ko)
TW (1) TWI556092B (ko)
WO (1) WO2013049326A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021049770A1 (ko) * 2019-09-11 2021-03-18 삼성전자 주식회사 복수의 어플리케이션을 실행하는 전자 장치 및 방법

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10474213B1 (en) * 2005-05-30 2019-11-12 Invent.Ly, Llc Predictive power management in a wireless sensor network using scheduling data
TWI556092B (zh) 2011-09-30 2016-11-01 英特爾公司 用以減少電力消耗之基於優先順序的應用程式事件控制技術
US9588568B2 (en) 2012-11-16 2017-03-07 Samsung Electronics Co., Ltd. Monitoring and managing processor activity in power save mode of portable electronic device
US10007323B2 (en) 2012-12-26 2018-06-26 Intel Corporation Platform power consumption reduction via power state switching
US9904575B2 (en) 2013-05-15 2018-02-27 Apple Inc. System and method for selective timer rate limiting
US9703355B2 (en) * 2013-08-28 2017-07-11 Qualcomm Incorporated Method, devices and systems for dynamic multimedia data flow control for thermal power budgeting
TW201516634A (zh) * 2013-10-16 2015-05-01 Wistron Corp 磁碟陣列儲存裝置、伺服器系統及其電源管理方法
USRE49652E1 (en) 2013-12-16 2023-09-12 Qualcomm Incorporated Power saving techniques in computing devices
CN110058889B (zh) * 2014-08-21 2023-10-20 斑马智行网络(香港)有限公司 一种应用唤醒方法及装置
US9958933B2 (en) 2015-06-04 2018-05-01 Apple Inc. Opportunistic waking of an application processor
TWI612475B (zh) * 2015-09-09 2018-01-21 緯創資通股份有限公司 伺服器及其控制方法
US10560317B2 (en) 2015-12-11 2020-02-11 Hewlett Packard Enterprise Development Subscription to a subset of switching events
WO2017217592A1 (en) 2016-06-16 2017-12-21 Samsung Electronics Co., Ltd. Method for providing notifications
CN106127037A (zh) * 2016-06-21 2016-11-16 依偎科技(南昌)有限公司 一种应用冻结处理的方法、装置以及终端
KR101989033B1 (ko) * 2016-09-28 2019-06-13 한국전자통신연구원 플랫폼 관리 장치 및 방법
US11815979B2 (en) 2017-08-22 2023-11-14 Intel Corporation Application priority based power management for a computer device
JP6409240B1 (ja) * 2017-09-06 2018-10-24 レノボ・シンガポール・プライベート・リミテッド 情報処理装置、制御方法、及びプログラム
KR102327878B1 (ko) * 2017-11-07 2021-11-17 삼성전자주식회사 반도체 장치 및 반도체 시스템
CN109783202A (zh) * 2017-11-15 2019-05-21 阿里巴巴集团控股有限公司 事件处理方法、系统、设备和存储介质
CN109992309B (zh) * 2017-12-29 2021-03-12 Oppo广东移动通信有限公司 应用程序处理方法和装置、电子设备、计算机可读存储介质
JP7032497B1 (ja) 2020-09-11 2022-03-08 レノボ・シンガポール・プライベート・リミテッド 情報処理装置、及び制御方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008107914A (ja) * 2006-10-23 2008-05-08 Denso Corp マイクロコンピュータ、プログラム及び車両用電子制御装置
JP2009223866A (ja) * 2008-02-19 2009-10-01 Canon Inc 情報処理装置及び情報処理方法
JP2010097427A (ja) * 2008-10-16 2010-04-30 Autonetworks Technologies Ltd 処理装置、処理方法及びコンピュータプログラム

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0727728A1 (en) * 1995-02-15 1996-08-21 International Business Machines Corporation Computer system power management
EP0910015B1 (en) * 1997-10-08 2005-08-24 Sony Corporation Program startup apparatus and methods for use in electronic machines and associated media
WO2001015159A1 (en) * 1999-08-24 2001-03-01 O2 Micro International Limited Launch key, low power cd-rom player for portable computers
US6965763B2 (en) * 2002-02-11 2005-11-15 Motorola, Inc. Event coordination in an electronic device to reduce current drain
US7191349B2 (en) * 2002-12-26 2007-03-13 Intel Corporation Mechanism for processor power state aware distribution of lowest priority interrupt
US7539994B2 (en) * 2003-01-03 2009-05-26 Intel Corporation Dynamic performance and resource management in a processing system
US20050108717A1 (en) * 2003-11-18 2005-05-19 Hong Steve J. Systems and methods for creating an application group in a multiprocessor system
US7624257B2 (en) * 2005-11-30 2009-11-24 International Business Machines Corporation Digital data processing apparatus having hardware multithreading support including a register set reserved for special class threads
US7689838B2 (en) 2005-12-22 2010-03-30 Intel Corporation Method and apparatus for providing for detecting processor state transitions
US7598702B2 (en) * 2006-04-27 2009-10-06 Hewlett-Packard Development Company, L.P. Power management system and method for controlling use of power-consuming applications
US7849334B2 (en) * 2006-09-29 2010-12-07 Intel Coporation Transitioning a computing platform to a low power system state
WO2008075137A1 (en) * 2006-12-21 2008-06-26 Nokia Corporation Data processing apparatus
US8041968B2 (en) * 2007-01-04 2011-10-18 Apple Inc. Power management for driving display with baseband portion when application portion is in low power mode
US8171321B2 (en) 2007-12-26 2012-05-01 Intel Corporation Method and apparatus for cost and power efficient, scalable operating system independent services
US20090210519A1 (en) 2008-02-18 2009-08-20 Microsoft Corporation Efficient and transparent remote wakeup
US8762759B2 (en) * 2008-04-10 2014-06-24 Nvidia Corporation Responding to interrupts while in a reduced power state
US9027027B2 (en) * 2008-06-09 2015-05-05 Microsoft Technology Licensing, Llc Thread management based on device power state
US7861024B2 (en) * 2008-09-30 2010-12-28 Intel Corporation Providing a set aside mechanism for posted interrupt transactions
US8555100B2 (en) * 2008-12-10 2013-10-08 Verizon Patent And Licensing Inc. Selective low power management prioritization in a mobile device
US9152199B2 (en) * 2008-12-16 2015-10-06 Microsoft Technology Licensing, Llc Power state dependent wake-up alarm
US8595740B2 (en) * 2009-03-31 2013-11-26 Microsoft Corporation Priority-based management of system load level
US8213971B2 (en) * 2009-04-27 2012-07-03 Qualcomm Incorporated Apparatus and method for activating computer applications with SMS messaging
JP5278221B2 (ja) * 2009-07-21 2013-09-04 富士ゼロックス株式会社 情報処理装置、画像処理システム、及びプログラム
US8626141B2 (en) * 2009-07-30 2014-01-07 Qualcomm Incorporated Method and apparatus for customizing a user interface menu
JP5418097B2 (ja) * 2009-09-14 2014-02-19 株式会社リコー 情報処理装置、画像形成装置、動作モード切替方法
US20110099507A1 (en) * 2009-10-28 2011-04-28 Google Inc. Displaying a collection of interactive elements that trigger actions directed to an item
US8578384B2 (en) * 2009-10-28 2013-11-05 Freescale Semiconductor, Inc. Method and apparatus for activating system components
TWI556092B (zh) 2011-09-30 2016-11-01 英特爾公司 用以減少電力消耗之基於優先順序的應用程式事件控制技術
US9021287B2 (en) * 2012-09-04 2015-04-28 Intel Mobile Communications GmbH Circuit arrangement and method for low power mode management with delayable request

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008107914A (ja) * 2006-10-23 2008-05-08 Denso Corp マイクロコンピュータ、プログラム及び車両用電子制御装置
JP2009223866A (ja) * 2008-02-19 2009-10-01 Canon Inc 情報処理装置及び情報処理方法
JP2010097427A (ja) * 2008-10-16 2010-04-30 Autonetworks Technologies Ltd 処理装置、処理方法及びコンピュータプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021049770A1 (ko) * 2019-09-11 2021-03-18 삼성전자 주식회사 복수의 어플리케이션을 실행하는 전자 장치 및 방법

Also Published As

Publication number Publication date
CN103842934B (zh) 2017-08-15
US9383803B2 (en) 2016-07-05
US10254818B2 (en) 2019-04-09
EP2761395A2 (en) 2014-08-06
EP2761395A4 (en) 2016-03-30
US20190294231A1 (en) 2019-09-26
JP2015507771A (ja) 2015-03-12
TW201329695A (zh) 2013-07-16
US20160252951A1 (en) 2016-09-01
WO2013049326A2 (en) 2013-04-04
CN103842934A (zh) 2014-06-04
JP5932044B2 (ja) 2016-06-08
WO2013049326A3 (en) 2013-06-27
EP3742256A1 (en) 2020-11-25
US20140237279A1 (en) 2014-08-21
TWI556092B (zh) 2016-11-01
KR101597167B1 (ko) 2016-02-24
US11112853B2 (en) 2021-09-07

Similar Documents

Publication Publication Date Title
KR101597167B1 (ko) 전력 소비를 감소시키기 위한 우선순위 기반 애플리케이션 이벤트 제어(paec)
US11768533B2 (en) Platform power consumption reduction via power state switching
TWI725086B (zh) 動態更新處理器的電源管理政策
CN105183128B (zh) 强制处理器进入低功率状态
CN107209548B (zh) 在多核处理器中执行功率管理
EP2939079B1 (en) Communication link and network connectivity management in low power mode
CN106383570B (zh) 在处理器的异质核之间动态切换工作载荷
US10908660B2 (en) Determining thermal margins in a multi-die processor
TWI592794B (zh) 用以提供多晶片封裝之熱參數報告的裝置與方法
US10324519B2 (en) Controlling forced idle state operation in a processor

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: 20190129

Year of fee payment: 4