KR101483897B1 - 휴대용 컴퓨팅 디바이스의 프로세서들에 대한 슬립 상태들로의 신속한 진입 및 슬립 상태들로부터의 신속한 퇴장을 위한 방법 및 시스템 - Google Patents

휴대용 컴퓨팅 디바이스의 프로세서들에 대한 슬립 상태들로의 신속한 진입 및 슬립 상태들로부터의 신속한 퇴장을 위한 방법 및 시스템 Download PDF

Info

Publication number
KR101483897B1
KR101483897B1 KR1020137018825A KR20137018825A KR101483897B1 KR 101483897 B1 KR101483897 B1 KR 101483897B1 KR 1020137018825 A KR1020137018825 A KR 1020137018825A KR 20137018825 A KR20137018825 A KR 20137018825A KR 101483897 B1 KR101483897 B1 KR 101483897B1
Authority
KR
South Korea
Prior art keywords
processor
sleep
states
trigger
computing device
Prior art date
Application number
KR1020137018825A
Other languages
English (en)
Other versions
KR20130095842A (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 KR20130095842A publication Critical patent/KR20130095842A/ko
Application granted granted Critical
Publication of KR101483897B1 publication Critical patent/KR101483897B1/ko

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 방법 및 시스템이 기술된다. 그 방법 및 시스템은 리소스 상태들의 슬립 세트 및 리소스 상태들의 액티브 세트를 메모리에 유지하는 것을 포함한다. 프로세서가 슬립 상태로 진입하기 위한 요청이 발행될 수도 있다. 이는 제어기로 하여금 프로세서에 대한 셧다운 조건이 트리거 세트에 리스팅된 하나 이상의 조건들과 매칭하는지를 결정하기 위해 트리거 세트를 리뷰하게 한다. 각각의 트리거 세트는, 제어기로 하여금 시스템 전력 매니저에 의해 검출된 트리거 이벤트에 기초하여 특정 프로세서에 의해 요구되는 특정 리소스 세트를 선택하게 할 수도 있는 "트리거 이벤트" 를 포함할 수도 있다. 트리거 세트가 셧다운 조건과 매칭하면, 슬립 세트에 따라 하나 이상의 리소스들의 상태들을 스위칭하는 것이 소프트웨어 핸드쉐이크를 이용하지 않고도 제어기에 의해 행해질 수도 있다.

Description

휴대용 컴퓨팅 디바이스의 프로세서들에 대한 슬립 상태들로의 신속한 진입 및 슬립 상태들로부터의 신속한 퇴장을 위한 방법 및 시스템{METHOD AND SYSTEM FOR RAPID ENTRY INTO AND FOR RAPID EXITING FROM SLEEP STATES FOR PROCESSORS OF A PORTABLE COMPUTING DEVICE}
우선권 및 관련 출원들의 스테이트먼트
본 출원은 "Method and system for rapid entry into and for rapid exiting from sleep states for processors of a portable computing device"의 명칭으로 2010년 12월 21일자로 출원된 미국 가특허출원 제61/425,677호에 대해 35 U.S.C.§119(e) 하에서 우선권 주장한다. 이 미국 가특허출원의 전체 내용들은 본 명세서에 참조로 통합된다.
휴대용 컴퓨팅 디바이스("PCD")들은 퍼스널 및 프로페셔널 레벨들로 사람들에 대해 필수품이 되고 있다. 이들 디바이스들은 셀룰러 전화기들, 휴대용 디지털 보조기("PDA")들, 휴대용 게임 콘솔들, 팜탑 컴퓨터들, 및 다른 휴대용 전자 디바이스들을 포함할 수도 있다.
PCD들은 통상적으로, 중앙 프로세싱 유닛들, 디지털 신호 프로세서들 등을 포함하는 다중의 프로세싱 유닛들로 일반적으로 이루어진 복잡하고 컴팩트한 전자 패키징을 가진다. 이러한 하드웨어의 다수는, 당업자에 의해 이해되는 바와 같이, 시스템 온 칩 ("SOC") 설계의 일부일 수도 있다.
종래의 PCD들은 통상, 상이한 SOC들의 각각의 프로세서들이 저 전력 상태들로 진입하려고 시도할 경우에 현저한 래그 시간 (lag time) 을 경험한다. 저 전력 상태들은 또한, 당업자에 의해 이해되는 바와 같이, 슬립 상태들로 지칭된다.
종래의 프로세서들에 의해 직면하게 되는 하나의 문제점은, 프로세서가 슬립 상태로 진입하기 위해 수개의 통신들이 통상 소프트웨어로 발생한다는 점이다. 이러한 문제점은 일부 리소스들이 공유 리소스들이고 그 공유 리소스들의 상태가 다중의 SOC 서브시스템들 사이에서 조정될 필요가 있다는 점에 의해 더 복잡해진다.
SoC 의 소정의 서브시스템 내에서, 로컬 리소스들의 관리는 통상 용이하며 각각의 오퍼레이팅 시스템들의 유휴 콘텍스트로부터 종료될 수 있다. 하지만, 공유 리소스들의 셧다운을 관리하는 것은 통상, 그 리소스의 제어기로 조정되어야 한다. 종래의 솔루션들은, 서브시스템들이 슬립 상태로 진입하도록 허용되기 전에 이러한 셧다운 문제를 소프트웨어의 동기식 핸드쉐이크의 이용을 통해 해결하였다. 이러한 접근법은 몇가지 이유로 불리하다: 즉, 소프트웨어 핸드쉐이크들은 저속이다. 소프트웨어 핸드쉐이크들은 모든 종류들의 지연: 특히, 인터럽트 서비스 및 콘텍스트 스위치 문제들에 당하기 쉽다.
소프트웨어 핸드쉐이크들은 전력 절약을 지연시킨다. 핸드쉐이크가 소프트웨어로 되기 때문에, 전체 핸드쉐이크가 완료될 때까지 명령 프로세싱 코어가 남겨질 것이 필요하다. 프로세서 코어들은 대형이고 복잡하며, 따라서, 이는 지불할 전력 절약에 있어서 상당한 페널티이다.
이에 따라, PCD들의 프로세서들로 하여금 소프트웨어 핸드쉐이크들없이 슬립 상태들로 진입하게 하는 방법 및 시스템이 당업계에 필요하다.
휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 방법 및 시스템이 기술된다. 그 방법 및 시스템은 리소스 상태들의 슬립 세트 및 리소스 상태들의 액티브 세트를 메모리에 유지하는 것을 포함한다. 슬립 세트 및 액티브 세트는 휴대용 컴퓨팅 디바이스의 이전의 이용에 기초하여 변경될 수도 있다. 프로세서가 슬립 상태로 진입하기 위한 요청이 발행될 수도 있다. 이는 제어기로 하여금 프로세서에 대한 셧다운 조건이 트리거 세트에 리스팅된 하나 이상의 조건들과 매칭하는지를 결정하기 위해 트리거 세트를 리뷰하게 한다. 각각의 트리거 세트는, 제어기로 하여금 시스템 전력 매니저에 의해 검출된 트리거 이벤트에 기초하여 특정 프로세서에 의해 요구되는 특정 리소스 세트를 선택하게 할 수도 있는 "트리거 이벤트" 를 포함할 수도 있다. 트리거 세트가 셧다운 조건과 매칭하면, 슬립 세트에 따라 하나 이상의 리소스들의 상태들을 스위칭하는 것이 소프트웨어 핸드쉐이크를 이용하지 않고도 제어기에 의해 행해질 수도 있다.
도면들에 있어서, 동일한 참조부호들은, 달리 나타내지 않으면 다양한 도면들 전반에 걸쳐 동일한 부분들을 지칭한다. "102A" 또는 "102B" 와 같은 문자 지정을 갖는 참조부호들에 있어서, 그 문자 지정은 동일한 도면에 존재하는 2개의 동일한 부분들 또는 엘리먼트들을 구별할 수도 있다. 참조부호들에 대한 문자 지정은, 참조부호가 모든 도면들에 있어서 동일한 참조부호를 갖는 모든 부분들을 포괄하도록 의도될 경우에 생략될 수도 있다.
도 1 은 휴대용 컴퓨팅 디바이스 (PCD) 의 일 실시형태를 나타낸 기능 블록 다이어그램이다.
도 2 는 제어기, 시스템 전력 매니저, 마스터 프로세서들, 저 레벨 구동기들, 공유 리소스들, 및 로컬 리소스들 간의 관계들을 나타낸 기능 블록 다이어그램이다.
도 3 은 제어기 및 트리거 세트들에 관한 상세들을 나타낸 기능 블록 다이어그램이다.
도 4 는 프로세서에 대한 예시적인 액티브-슬립 트리거 세트를 도시한 것이다.
도 5 는 프로세서를 슬립 상태에 두기 위해 트리거 세트들을 관리하는 방법을 나타낸 논리 플로우차트이다.
도 6 은 프로세서를 슬립 상태로부터 액티브 상태에 두기 위해 트리거 세트들을 관리하는 방법을 나타낸 논리 플로우차트이다.
단어 "예시적인" 은 "예, 예증, 또는 예시로서 기능하는" 을 의미하도록 본 명세서에서 사용된다. "예시적인" 것으로서 본 명세서에서 설명되는 임의의 양태는 다른 양태들에 비해 반드시 바람직하거나 유리한 것으로서 해석되지는 않아야 한다.
이 설명에 있어서, 용어 "어플리케이션" 은 또한 오브젝트 코드, 스크립트들, 바이트 코드, 마크업 언어 파일들, 및 패치들과 같은 실행가능 컨텐츠를 갖는 파일들을 포함할 수도 있다. 부가적으로, 본 명세서에서 지칭되는 "어플리케이션" 은 또한, 공개될 필요가 있을 수도 있는 문헌들 또는 액세스될 필요가 있는 다른 데이터 파일들과 같이 본질적으로 실행가능하지 않는 파일들을 포함할 수도 있다.
용어 "컨텐츠" 는 또한 오브젝트 코드, 스크립트들, 바이트 코드, 마크업 언어 파일들, 및 패치들과 같은 실행가능 컨텐츠를 갖는 파일들을 포함할 수도 있다. 부가적으로, 본 명세서에서 지칭되는 "컨텐츠" 는 또한, 공개될 필요가 있을 수도 있는 문헌들 또는 액세스될 필요가 있는 다른 데이터 파일들과 같이 본질적으로 실행가능하지 않는 파일들을 포함할 수도 있다.
이 설명에 있어서 사용되는 바와 같이, 용어들 "컴포넌트", "데이터베이스", "모듈", "시스템" 등은 컴퓨터 관련 엔터티, 즉, 하드웨어, 펌웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행 중인 소프트웨어 중 어느 하나를 지칭하도록 의도된다. 예를 들어, 컴포넌트는 프로세서 상에서 구동하는 프로세스, 프로세서, 오브젝트, 실행 가능물 (executable), 실행 스레드 (thread of execution), 프로그램, 및/또는 컴퓨터일 수도 있지만, 이에 한정되지 않는다. 예시로서, 컴퓨팅 디바이스 상에서 구동하는 어플리케이션 및 컴퓨팅 디바이스 양자는 컴포넌트일 수도 있다. 하나 이상의 컴포넌트들은 프로세스 및/또는 실행 스레드 내에 상주할 수도 있고, 컴포넌트는 하나의 컴퓨터에 국부화되고/되거나 2 이상의 컴퓨터들 사이에서 분산될 수도 있다. 부가적으로, 이들 컴포넌트들은 다양한 데이터 구조들이 저장된 다양한 컴퓨터 판독가능 매체로부터 실행할 수도 있다. 컴포넌트들은 하나 이상의 데이터 패킷들을 갖는 신호 (예를 들어, 로컬 시스템에서, 분산 시스템에서 및/또는 신호에 의한 다른 시스템들과의 인터넷과 같은 네트워크에 걸쳐 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터의 데이터) 에 따라서와 같은 로컬 및/또는 원격 프로세스들에 의해 통신할 수도 있다.
이 설명에 있어서, 용어들 "통신 디바이스", "무선 디바이스", "무선 전화기", "무선 통신 디바이스", 및 "무선 핸드셋" 은 대체가능하게 사용된다. 제 3 세대 ("3G") 및 제 4 세대 ("4G") 무선 기술의 도래로, 더 큰 대역폭 가용성은 더 다양한 무선 능력들을 갖는 더 휴대성의 컴퓨팅 디바이스들을 인에이블시켰다.
이 설명에 있어서, 용어 "휴대용 컴퓨팅 디바이스" ("PCD") 는 배터리와 같은 제한된 용량의 전력 공급부에 대해 동작하는 임의의 디바이스를 설명하는데 사용된다. 배터리 동작식 PCD들이 수십년 동안 사용되고 있었지만, 제 3 세대 ("3G") 및 제 4 세대 ("4G") 무선 기술의 도래와 연결된 재충전가능 배터리들에 있어서의 기술적 진보는 다중의 능력들을 갖는 다수의 PCD들을 인에이블시켰다. 따라서, PCD 는, 다른 것들 중에서, 셀룰러 전화기, 위성 전화기, 페이저, PDA, 스마트폰, 네비게이션 디바이스, 스마트북 또는 리더, 미디어 플레이어, 전술한 디바이스들의 조합, 및 무선 접속을 갖는 랩탑 컴퓨터일 수도 있다.
도 1: 프로세서 슬립 상태들의 신속한 진입 및 퇴장을 촉진하는 PCD (100) 의 엘리먼트들
도 1 을 참조하면, 이 도면은 PCD (100) 내에서 프로세서들 (110, 126) 의 신속한 슬립 상태들을 관리하는 방법들 및 시스템들을 구현하기 위해 무선 전화기의 형태의 PCD (100) 의 예시적인 비한정적 양태의 기능 블록 다이어그램이다. 도시된 바와 같이, PCD (100) 는, 멀티코어 제 1 중앙 프로세싱 유닛 ("CPU") (110A), 단일 코어 타입인 제 2 CPU (110B), 및 아날로그 신호 프로세서 (126) 를 포함하는 온-칩 시스템 (102) 을 포함한다.
이들 3개의 프로세서들 (110A, 110B, 및 126) 은 함께 커플링될 수도 있다. 제 1 CPU (110A) 는, 당업자에 의해 이해되는 바와 같이, 제 0 코어 (222), 제 1 코어 (224), 및 제 N 코어 (230) 를 포함할 수도 있다. 대안적인 실시형태에 있어서, 2개의 CPU들 (110) 을 사용하는 대신, 2개의 디지털 신호 프로세서("DSP")들이 또한 당업자에 의해 이해되는 바와 같이 채용될 수도 있다. 추가의 예시적인 실시형태에 있어서, 임의의 전술된 바들이, 당업자에 의해 이해되는 바와 같이, 조합으로 사용될 수도 있다.
도 1 은 하나 이상의 제어기 모듈(들) (101) 을 포함한다. 이 설명의 나머지에 있어서, 제어기 모듈(들) (101) 은 제어기 (101) 로서 복수가 아닌 단수로 지칭될 것이다. 당업자는 제어기 (101) 가 본 발명으로부터 일탈함없이 다양한 부분들로 분할되고 상이한 프로세서들 (110, 126) 에 의해 실행될 수도 있음을 인식할 것이다. 대안적으로, 제어기 (101) 는 단일 엘리먼트로서 구성되고 단일 프로세서 (110 또는 126) 에 의해 실행될 수도 있다.
도 1 은 또한 시스템 전력 매니저 (157) 를 도시한다. 시스템 전력 매니저 ("SPM") (157) 는 CPU (110A) 및 제어기 (101) 에 커플링된다. SPM (157) 은 일반적으로, 프로세서와 같은 하드웨어를 포함한다. 하지만, 소프트웨어 및/또는 펌웨어가, 당업자에 의해 이해되는 바와 같이, SPM (157) 에 대해 채용될 수도 있다. SPM (157) 은 프로세서 (110, 126) 및 전력 레일의 상태를 모니터링하는 것을 책임질 수도 있다. SPM (157) 은 프로세서 (110, 126) 가 슬립 상태에 진입하려 하거나 슬립 상태를 떠나려 할 때를 검출할 수도 있다. SPM (157) 은 프로세서 (110, 126) 의 이들 상태들을 제어기 (101) 로 통신할 수도 있다.
제어기 (101) 는, CPU들 (110) 에 의해 실행되는 소프트웨어를 포함할 수도 있다. 하지만, 제어기 (101) 는 또한, 당업자에 의해 이해되는 바와 같이, 하드웨어 및/또는 펌웨어로부터 형성될 수도 있다.
일반적으로, 제어기 (101) 는 프로세서들 (110, 126) 에 대해 슬립 상태들로의 신속한 진입 및 슬립 상태들로부터의 신속한 퇴장을 촉진하는 것을 책임질 수도 있다. 제어기 (101) 는, 도 3 과 관련하여 하기에 더 상세히 설명될 바와 같이, 리소스 세트들 및 트리거 세트들을 포함하는 하나 이상의 테이블들을 포함할 수도 있다. 제어기 (101) 는 또한, PCD (100) 의 다른 모든 하드웨어 엘리먼트들이 저 전력 상태로 되거나 기능하지 않을 경우에 대해 자신의 인터럽트 제어기 (도시 안됨) 를 가질 수도 있다.
제어기 (101) 는 또한, 하나 이상의 마스터 프로세서들 (110, 126) 간의 리소스 요청들을 관리한다. 리소스 요청들은, 리소스 (105; 도 2 참조) 로부터 액션 또는 기능을 요청하기 위해 마스터 프로세서 (110) 에 의해 발행될 수도 있다.
리소스들 (105) 은, 하나 이상의 마스터 프로세서들 (110, 126) 에 의해 실행되는 소프트웨어 어플리케이션들의 태스크들, 커맨드들, 및 피처들을 지원하는 클록들 및 다른 저레벨 프로세서들을 포함할 수도 있다. 제어기 (101) 는, 복수의 마스터 프로세서들 (110, 126) 간의 리소스 요청 충돌들을 방지하도록 설계될 수도 있다.
도 1 은 PCD (100) 가 메모리 (112) 를 포함할 수도 있음을 나타낸다. CPU들 (110) 상에서 구동하는 제어기 (101) 는 메모리 (112) 에 액세스하여, 하기에 더 상세히 설명될 바와 같이, 신속한 슬립 상태들을 촉진하고 슬립 상태들로부터 신속한 퇴장을 촉진할 수도 있다.
특정 양태에 있어서, 본 명세서에서 설명되는 방법 단계들 중 하나 이상은, 제어기 (101) 를 형성하는 메모리 (112) 에 저장된 실행가능 명령들 및 파라미터들에 의해 구현될 수도 있다. 제어기 (101) 를 형성하는 이들 명령들은 CPU들 (110), 아날로그 신호 프로세서 (126), 또는 다른 프로세서에 의해 실행될 수도 있다. 또한, 프로세서들 (110, 126), 메모리 (112), 그들에 저장되는 명령들, 또는 이들의 조합은 본 명세서에서 설명되는 방법 단계들 중 하나 이상을 수행하는 수단으로서 기능할 수도 있다.
도 1: PCD (100) 의 다른 엘리먼트들
도 1 에 도시된 바와 같이, 디스플레이 제어기 (128) 및 터치스크린 제어기 (130) 가 디지털 신호 프로세서 (110) 에 커플링된다. 온-칩 시스템 (102) 외부의 터치스크린 디스플레이 (132) 가 디스플레이 제어기 (128) 및 터치스크린 제어기 (130) 에 커플링된다.
도 1 은, 비디오 코더/디코더 ("codec")(134), 예를 들어, PAL (phase-alternating line) 인코더, SECAM (sequential couleur avec memoire) 인코더, NTSC (national television system(s) committee) 인코더 또는 임의의 다른 타입의 비디오 인코더 (134) 를 포함하는 휴대용 컴퓨팅 디바이스 (PCD) 의 일 실시형태를 나타낸 개략 다이어그램이다. 비디오 codec (134) 은 멀티코어 중앙 프로세싱 유닛 ("CPU"; 110) 에 커플링된다. 비디오 증폭기 (136) 가 비디오 인코더 (134) 및 터치스크린 디스플레이 (132) 에 커플링된다. 비디오 포트 (138) 가 비디오 증폭기 (136) 에 커플링된다. 도 1 에 도시된 바와 같이, 유니버셜 직렬 버스 ("USB") 제어기 (140) 가 CPU (110) 에 커플링된다. 또한, USB 포트 (142) 가 USB 제어기 (140) 에 커플링된다. 가입자 아이덴터티 모듈 (SIM) 카드 (146) 가 또한 CPU (110) 에 커플링될 수도 있다. 또한, 도 1 에 도시된 바와 같이, 디지털 카메라 (148) 가 CPU (110) 에 커플링될 수도 있다. 예시적인 양태에 있어서, 디지털 카메라 (148) 는 전하 커플링형 디바이스 ("CCD") 카메라 또는 상보적 금속 산화물 반도체 ("CMOS") 카메라이다.
도 1 에 추가로 도시된 바와 같이, 스테레오 오디오 CODEC (150) 이 아날로그 신호 프로세서 (126) 에 커플링될 수도 있다. 더욱이, 오디오 증폭기 (152) 가 스테레오 오디오 CODEC (150) 에 커플링될 수도 있다. 예시적인 양태에 있어서, 제 1 스테레오 스피커 (154) 및 제 2 스테레오 스피커 (156) 가 오디오 증폭기 (152) 에 커플링된다. 도 1 은, 마이크로폰 증폭기 (158) 가 또한 스테레오 오디오 CODEC (150) 에 커플링될 수도 있음을 나타낸다. 부가적으로, 마이크로폰 (160) 이 마이크로폰 증폭기 (158) 에 커플링될 수도 있다. 특정 양태에 있어서, 주파수 변조 ("FM") 라디오 튜너 (162) 가 스테레오 오디오 CODEC (150) 에 커플링될 수도 있다. 또한, FM 안테나 (164) 가 FM 라디오 튜너 (162) 에 커플링된다. 또한, 스테레오 헤드폰들 (166) 이 스테레오 오디오 CODEC (150) 에 커플링될 수도 있다.
도 1 은 또한, 라디오 주파수 ("RF") 트랜시버 (168) 가 아날로그 신호 프로세서 (126) 에 커플링될 수도 있음을 나타낸다. RF 스위치 (170) 가 RF 트랜시버 (168) 및 RF 안테나 (172) 에 커플링될 수도 있다. 도 1 에 도시된 바와 같이, 키패드 (174) 가 아날로그 신호 프로세서 (126) 에 커플링될 수도 있다. 또한, 마이크로폰을 갖는 모노 헤드셋 (176) 이 아날로그 신호 프로세서 (126) 에 커플링될 수도 있다. 또한, 바이브레이터 디바이스 (178) 가 아날로그 신호 프로세서 (126) 에 커플링될 수도 있다. 도 1 은 또한, 전력 공급부 (180), 예를 들어 배터리가 온-칩 시스템 (102) 에 커플링됨을 나타낸다. 특정 양태에 있어서, 전력 공급부 (180) 는, AC 전력원에 접속되는 교류 (AC)-DC 변압기로부터 도출되는 DC 전력 공급부 또는 재충전식 DC 배터리를 포함한다.
도 1 에 도시된 바와 같이, 터치 스크린 디스플레이 (132), 비디오 포트 (138), USB 포트 (142), 카메라 (148), 제 1 스테레오 스피커 (154), 제 2 스테레오 스피커 (156), 마이크로폰 (160), FM 안테나 (164), 스테레오 헤드폰들 (166), RF 스위치 (170), RF 안테나 (172), 키패드 (174), 모노 헤드셋 (176), 바이브레이터 (178), 열 센서들 (157B), 및 전력 공급부 (180) 는 온-칩 시스템 (102) 외부에 있다.
도 2 는, 시스템 (103) 을 형성하는, 제어기 (101), 시스템 전력 매니저 (157), 마스터 프로세서들 (110, 126), 저 레벨 구동기들 (103), 공유 리소스들 (105A-C), 및 로컬 리소스들 (105D-H) 간의 관계들을 나타낸 기능 블록 다이어그램이다. 시스템 (103) 은 소프트웨어 핸드쉐이크없이 프로세서 (110) 에 의해 요구된 리소스 상태들 간을 스위칭할 수도 있다.
도 2 는 또한, 터치스크린 (132) 이 터치스크린 구동기/제어기 (130) 에 어떻게 커플링될 수 있는지를 나타낸다. 터치스크린 구동기/제어기 (130) 는 제 1 마스터 프로세서 (110A) 의 클록 코드 (113A) 에 커플링될 수도 있다.
제 1 마스터 프로세서 (110A) 는 시스템 전력 매니저 (157) 및 제어기 (101) 에 커플링될 수도 있다. 제어기 (101) 는 제 1 마스터 프로세서 (110A) 의 클록 코드 (113A) 에 커플링될 수도 있다. 제어기 (101) 는 하나 이상의 저 레벨 구동기들 (103) 을 포함할 수도 있다. 하나 이상의 저 레벨 구동기들 (103) 은 하나 이상의 공유 리소스들 (105A-C) 과 통신하는 것을 책임질 수도 있다. 공유 리소스들 (105A-C) 은, 마스터 프로세서 (110) 의 태스크들 또는 기능들을 지원하는 임의의 타입의 디바이스를 포함할 수도 있다. 공유 리소스들 (105A-C) 은 다른 프로세서들의 클록들과 같은 디바이스들뿐 아니라 그래픽 프로세서들, 디코더들 등과 같은 단일 기능 엘리먼트들을 포함할 수도 있다.
공유 리소스들 (105A-C) 은 하나 이상의 로컬 리소스들 (105D-H) 에 커플링될 수도 있다. 하나 이상의 로컬 리소스들 (105D-H) 은, 마스터 프로세서 (110) 의 태스크들 또는 기능들을 지원하는 임의의 타입의 디바이스를 포함할 수도 있다는 점에 있어서 공유 리소스들 (105A-C) 과 유사할 수도 있다. 로컬 리소스들 (105D-H) 은 다른 프로세서들의 클록들과 같은 디바이스들뿐 아니라 그래픽 프로세서들, 디코더들 등과 같은 단일 기능 엘리먼트들을 포함할 수도 있다. 로컬 리소스들 (105D-H) 은 리프 노드들을 포함할 수도 있다. 리프 노드들은, 통상적으로 다른 종속 리소스들 (105) 을 참조하거나 포함하지 않는 로컬 리소스들 (105D-H) 로서 당업자에 의해 이해된다.
제어기 (101) 는, 하나 이상의 마스터 프로세서들 (110, 126) 로부터 발행되는 요청들을 관리하는 것을 책임질 수도 있다. 예를 들어, 제어기 (101) 는 제 1 마스터 프로세서 (110A) 로부터 발신하는 요청을 관리할 수도 있다. 제 1 마스터 프로세서 (110A) 는 터치스크린 (132) 을 조작하는 오퍼레이터에 응답하여 이 요청을 발행할 수도 있다. 터치스크린 (132) 은 터치스크린 구동기/제어기 (130) 에 신호들을 발행할 수도 있다. 터치스크린 구동기/제어기 (130) 는 차례로, 제 1 마스터 프로세서 (110A) 의 클록 코드 (113A) 에 신호들을 발행할 수도 있다.
제어기 (101) 는 또한, 특정 프로세서 (110) 에 대한 슬립 상태들을 관리하는 것을 책임질 수도 있다. 슬립 상태에 진입하기 전에, 프로세서 (110) 는 슬립 상태들을 관리하기 위한 정보를 제공할 것이다. 슬립 상태들을 관리하기 위한 정보는 슬립 상태로의 진입 및 슬립 상태로부터의 퇴장을 포함한다. 슬립 상태들을 관리하기 위한 이러한 정보는 하기에서, 트리거들 및 리소스 상태들로서 지칭될 것이다.
트리거들은 프로세서 (110) 로 하여금 슬립 상태에 진입하게 하거나 슬립 상태를 떠나게 하는 이벤트들을 정의할 수도 있다. 트리거들은 일반적으로, 제어기 (101) 내에 포함되거나 제어기에 의해 액세스가능한 리소스 상태들을 참조할 것이다. 리소스 상태들은 특정 프로세서 (110) 에 의해 필요한 리소스들 (105) 의 원하는 상태를 정의한다. 각각의 프로세서 (110) 는 리소스 상태들의 적어도 2개의 세트들, 즉, 리소스 상태들의 액티브 세트 및 리소스 상태들의 슬립 세트를 제어기 (101) 에 제공할 수도 있다.
리소스 상태들의 액티브 세트는, 프로세서 (110) 가 액티브 상태이고 그 리소스들 (105) 로부터의 액션/기능들을 요구할 경우에 대해 리소스들 (105) 의 상태들을 정의할 수도 있다. 리소스 상태들의 슬립 세트는, 프로세서 (110) 가 슬립 또는 휴면 상태일 경우에 리소스들 (105) 의 상태들을 정의할 수도 있다. 트리거들 및 리소스 상태들에 관한 추가의 상세들이 도 3 과 관련하여 하기에 설명될 것이다.
도 3 은 제어기 (101), 리소스 세트들 (304), 및 트리거 세트들 (314) 에 관한 상세들을 나타낸 기능 블록 다이어그램이다. 이전에 언급된 바와 같이, 제어기 (101) 는 PCD (100) 의 프로세서들 (110, 126) 중 하나 이상에 의해 실행된 소프트웨어를 포함할 수도 있다. 제어기 (101) 는, 당업자에 의해 이해되는 바와 같은 로컬 저장부와 같이 메모리 (112) 또는 제어기 (101) 내의 영역에 정보를 저장할 수도 있다. 이러한 정보는, 제어기 (101) 에 의해 서비스되는 각각의 마스터 프로세서 (110) 에 할당되는 리소스 세트들 (304) 을 포함하는 리소스 테이블 (302) 을 포함할 수도 있다. 이러한 정보는 또한, 각각의 마스터 프로세서 (110) 에 또한 할당되고 각각의 마스터 프로세서 (110) 에 고유할 수도 있는 트리거 세트들 (314) 을 포함할 수도 있다.
각각의 리소스 세트 (304) 는 일반적으로, 특정 마스터 프로세서 (110) 에 의해 요구된 리소스들 (105) 의 상태들에 관련된 정보를 포함한다. 특정 마스터 프로세서 (110) 에 할당된 각각의 리소스 세트 (304) 는 액티브 리소스 세트 (306) 및 슬립 리소스 세트 (308) 를 포함할 수도 있다. 액티브 리소스 세트 (306) 는, 특정 마스터 프로세서 (110) 가 액티브이거나 정상적으로 기능하고 있을 경우에 리소스들 (105) 의 상태들을 정의 또는 기술할 수도 있다. 슬립 리소스 세트 (308) 는, 당업자에 의해 이해되는 바와 같이 특정 마스터 프로세서가 슬립 또는 휴면 상태일 경우에 리소스들 (105) 의 상태들을 정의 또는 기술할 수도 있다. 각각의 리소스 세트 (304) 는 또한, 도 3 에 도시된 예시적인 실시형태에 있어서 제 1 마스터 프로세서 (110) 에 할당된 "세트 1" 및 "세트 2" 와 같은 부가적인 세트들을 포함할 수도 있다.
일 예로서, 도 3 에 도시된 바와 같은 제 1 마스터 프로세서(A) (110A) 에 대한 액티브 리소스 세트 (306) 는 그 리소스들 (105) 각각에 대해 다음의 값들을 할당하였으며, 즉, 제 1 공유 리소스 (SR#1)(105A) 에 대해, 값은 1이고; 제 2 공유 리소스 (SR#2)(105B) 에 대한 값은 1 이고; 제 N 공유 리소스 (SR#N)(105C) 에 대한 값은 1 이지만; 제 1 로컬 리소스 (LR#1)(105D) 에 대한 4개의 값들은 1, 0, 1, 및 1 이다.
이전에 언급된 바와 같이, 리소스들 (105) 의 상태들은 단일 값들로 한정되지 않으며, 복수의 값들을 포함할 수도 있다. 또한, 리소스들의 상태들은 다수의 상이한 타입들의 파라미터들 중 임의의 파라미터를 포함할 수도 있다. 예를 들어, 일 상태는, 리소스 (105) 로서 기능할 수도 있는 특정 클록의 클록 속도의 양에 대해 수백 메가헤르쯔를 지정할 수도 있다.
다른 예로서, 도 3 에 도시된 바와 같은 제 1 마스터 프로세서(A) (110A) 에 대한 슬립 리소스 세트 (308A) 는 그 리소스들 (105) 각각에 대해 다음의 값들을 할당하였으며, 즉, 제 1 공유 리소스 (SR#1)(105A) 에 대해, 이 리소스에는 0 의 값이 할당되었고; 제 2 공유 리소스 (SR#2)(105B) 는 0 의 할당된 값을 갖지만; 제 N 공유 리소스 (SR#N)(105C) 는 0 의 할당된 값을 가진다. 제 1 로컬 리소스 (LR#1)(105D) 는 0, 1, 0, 및 0 의 할당된 값들을 가질 수도 있다.
특정 마스터 프로세서 (110) 에 할당된 각각의 트리거 세트 (314) 는 적어도 3개의 필드들: 즉, 인터럽트 필드 (316); "시발점 세트 (from set)" (318); 및 "종착점 세트" (320) 을 포함할 수도 있다. 트리거 세트 (314) 의 이들 3개의 필드들 각각은 또한, 대응하는 3개의 컬럼 세트: 즉, 트리거 시작 컬럼 (322); 클리어 컬럼 (324); 및 타이머 컬럼 (326) 을 포함할 수도 있다.
인터럽트 필드 (316) 는 시스템 전력 매니저 (157) 에 의해 생성 및/또는 검출될 수도 있는 액션 또는 활성도를 기술한다. 인터럽트 필드 (316) 는 일반적으로, 제어기 (101) 로 하여금 SPM (157) 에 의해 검출된 트리거 이벤트에 기초하여 특정 프로세서 (110) 에 의해 요구되는 특정 리소스 세트 (304) 를 선택하게 할 수도 있는 "트리거 이벤트" 로서 특징을 나타낼 수도 있다. 제어기 (101) 에 의한 리소스 세트 (304) 의 선택은 배경기술 섹션에서 상기 설명된 시간 소모적 소프트웨어 핸드쉐이크를 회피시킬 수도 있다.
제 1 마스터 프로세서(A) (110A) 에 대해 도 3 의 제 1 트리거 세트 (트리거 세트 #1) 를 리뷰하여, 그 세트의 필드들이 컬럼들에 의해 순서대로 논의되었다. 트리거 세트 (314A) 의 제 1 컬럼으로 시작하여, 트리거 시작 컬럼 (322) 은 인터럽트 필드 (316) 에 대응하는 그 제 1 로우에서 "디코드 인터럽트" 로서 리스팅된 액션을 가진다.
이전에 언급된 바와 같이, 인터럽트 필드 (316) 는, 제어기 (101) 로 하여금 트리거 시작 필드 (322) 의 검출에 응답하여 리소스 세트 (304) 의 상태들을 활성화하게 하는 파라미터들을 정의할 수도 있다. 도 3 에 도시된 예시적인 실시형태에 있어서, 인터럽트 필드 (316A) 는, PCD (100) 가 비디오를 디코딩하고 있는 중인 때와 같은 "디코드 인터럽트" 를 시스템 전력 매니저 (157) 가 검출할 경우에 이 이벤트는 "트리거 시작" 컬럼 아래의 제 1 컬럼 (322A1) 에서 "시발점 세트" 필드 (318) 를 리뷰하도록 제어기 (101) 에게 경고할 수도 있음을 의미하는 "디코드 인터럽트" 로서 정의 또는 기술되었다.
"시발점 세트" 필드 (318) 는, 제어기 (101) 에 의해 리뷰되는 특정 마스터 프로세서 (110) 에 대해 현재의 리소스 세트 (304) 가 무엇이어야 하는지를 나타내는 값을 포함할 수도 있다. 이 필드 (318) 는 "액티브 세트", "슬립 세트", 또는 "세트 1" 또는 "세트 2" 와 같은 세트 번호와 같은 그 식별자에 의해 리소스 세트 (304) 를 리스팅할 수도 있다. 필드 (320) 는 또한 별표와 같은 "와일드 카드" 를 포함할 수도 있다.
"시발점 세트" 필드 (318) 에서의 와일드 카드 지정은 제어기 (101) 로 하여금 특정 마스터 프로세서 (110) 에 의해 사용되었던 마지막으로 공지된 액티브 리소스 세트 (304) 를 취출하게 할 수도 있다. 도 3 에 도시된 예시적인 실시형태에 있어서, "시발점 세트" 로우 (318A) 및 트리거 시작 컬럼 (322A1) 은 별표 또는 와일드 카드의 값을 가진다.
"종착점 세트" (320) 는, "시발점 세트" (318) 와 유사하게, "액티브 세트", "슬립 세트", 또는 "세트 1" 또는 "세트 2" 와 같은 세트 번호와 같은 그 식별자에 의한 리소스 세트 (304) 의 리스팅을 포함할 수도 있다. 필드 (320) 는 또한, 마지막 리소스 세트 (304) 가 프로세서 (110) 에 의해 활용됨을 의미하는 별표와 같은 "와일드 카드" 를 포함할 수도 있다. 도 3 에 도시된 예시적인 실시형태에 있어서, "종착점 세트" 필드 (320A) 및 트리거 시작 필드 컬럼 (322A1) 은, 제 1 리소스 세트 (304A) 의 컬럼 (310A) 에 리스팅된 리소스 세트 1 인 "세트 1" 의 값을 가진다.
도 3 에 도시된 예에 있어서, 디코드 인터럽트 이벤트가 SPM (157) 에 의해 검출될 경우, 이 이벤트는 제어기 (101) 에 경고한다. 제어기 (101) 는 제 1 마스터 프로세서 (110) 에 대한 제 1 트리거 세트를 리뷰한다. 트리거 시작 컬럼 (322A1) 이 매칭 값 (디코드 인터럽트) 을 리스팅하기 때문에, 제어기 (101) 는 "시발점 세트" 필드 (318A) 를 리뷰하고 그 값이 와일드 카드 값 또는 별표임을 결정한다. 그 후, 제어기 (101) 는, 특정 리소스 세트 (304A) 를 지정하는 "세트 1" 의 값을 갖는 "종착점" 필드 (320A) 를 리뷰한다. 제어기 (101) 에 의해 리뷰된 이러한 정보에 기초하여, 제어기 (101) 는 제 1 마스터 프로세서 (110A) 에 대한 현재 리소스 세트 (304A) 를 그 현재 세트로부터 리소스 세트 "세트 1" 로 스위칭할 것이다. 리소스 세트 1 은 제 1 마스터 프로세서 (110A) 에 할당된 리소스 세트 (304A) 의 컬럼 (310A) 에 리스팅된다.
또한, SPM (157) 또는 제어기 (101) 가 제 1 트리거 세트의 클리어 컬럼 (324A1) 에 도시된 바와 같은 "디코딩 안함" 이벤트를 검출할 경우, 제어기 (101) 는 그 후 "시발점 세트" 필드 (318A) 를 리뷰하고 이 값이 "세트 1" 을 포함함을 결정할 것이다. 그 후, 제어기 (101) 는 이 예에 있어서 와일드 카드 또는 별표의 값을 갖는 "종착점 세트" 필드 (320) 를 리뷰할 것이다. 이는, 제어기 (101) 가 제 1 마스터 프로세서 (110A) 의 리소스 세트 (304A) 를 "세트 1" 리소스 세트로부터 프로세서 (110A) 에 의해 사용된 마지막 액티브 리소스 세트로 스위칭할 것이다.
트리거 세트의 타이머 필드 (326) 는, 특정 리소스 세트 (304) 가 제어기 (101) 에 의해 사용될 수도 있는 시간량을 나타낼 수도 있다. 따라서, 도 3 을 예시하는 예시적인 실시형태에 있어서, 제 1 트리거 세트의 타이머 필드 (326A1) 에 대해, 이 필드는 3 밀리초의 값을 가진다. 이는, 디코드 인터럽트 이벤트가 제 1 트리거 세트의 트리거 시작 필드 (322A1) 와 매칭될 경우, 제어기 (101) 가 오직 3 밀리초의 기간 동안에만 "종착점 세트" 필드 (320A) 에 특정된 리소스 세트 (304) 를 활용함을 의미한다. 다른 예시적인 실시형태들에 있어서, 이러한 천이에 대해 어떠한 타이머 트리거 (326) 도 없음 및 천이가 디코딩 없음 필드에만 적용함을 나타내는 값과 대응하도록 값이 정의되거나 타이머 필드 (326) 에 어떠한 정보도 없는 상황들이 발생하거나 존재할 수도 있다. 도 3 에 도시된 바와 같은 타이머 필드, 즉, 타이머 필드들 (326A1 및 326A2) 이 정의되는 상황에 있어서, 타이머 필드 (326) 와 클리어 필드 (324) 사이에서 어느 이벤트가 먼저 발생하든지 통상적으로 천이를 개시할 것이다.
도 4 는 프로세서 (110) 에 대한 예시적인 액티브-슬립 트리거 세트 (314) 를 도시한 것이다. 이 예시적인 실시형태에 있어서, 제 1 컬럼 (322) 에서의 인터럽트 필드 (316) 는 액션으로서 "셧 다운" 이벤트를 정의하여 특정 프로세서 (110) 에 대한 슬립 세트 (308; 도 3) 를 개시한다. "셧 다운" 이벤트는, 오퍼레이터가 PCD (100) 를 셧 다운하기 위한 온/오프 버튼을 선택하는 것과 같은 액션을 포함할 수도 있다.
도 4 에서의 예시적인 실시형태에 있어서, "셧 다운" 이벤트가 검출될 경우, 제어기 (101) 는 현재의 액티브 리소스 세트 (306) 를 슬립 세트 (308) 로 천이시킨다. 슬립 세트 (308) 는 도 3 에서의 테이블 (302) 의 마스터 리소스 세트 (304) 에 리스팅된다.
PCD (100) 의 오퍼레이터에 의해 개시된 파워-온 이벤트와 같은 "브링 업 (bring up)" 이벤트가 발생했다는 메시지를 SPM (157) 으로부터 제어기 (101) 가 수신할 경우, 제어기는 트리거 세트 (314) 의 "종착점 세트" 필드 (320) 에 리스팅된 와일드 카드 또는 별표 값에 기초하여 프로세서 (110) 를 그 슬립 세트 (308) 로부터 마지막 액티브 리소스 세트 (304) 로 천이시킬 것이다.
상기 설명된 바와 같이, 시스템 (103) 은 액티브 및 슬립 세트들 (306, 308) 로 한정되지 않는다. 시스템 (103) 은, 도 3 에 도시된 바와 같이 슬립 상태들에 진입하거나 슬립 상태들을 퇴장하는 것 이외의 이벤트들에 대해 리소스 세트들 (304) 간을 스위칭하는데 이용될 수도 있다.
도 5 는 프로세서 (110) 를 슬립 상태에 두기 위해 트리거 세트들 (314) 을 관리하는 방법 (500) 을 나타낸 논리 플로우차트이다. 블록 505 는 방법 (500) 의 제 1 단계이다. 블록 505 에 있어서, 각각의 프로세서 (110) 는 PCD (100) 의 이전의 이용 케이스들로부터의 데이터에 기초하여, 필요에 따라, 제어기 (101) 에서의 그 리소스 세트들 (304)뿐 아니라 그 트리거 세트들 (314) 을 업데이트할 수도 있다.
블록 510 에 있어서, 프로세서 (110) 는 제어기 (101) 에 대한 셧다운 신호를 생성하도록 시스템 전력 매니저 ("SPM") (157) 에게 요청할 수도 있다. 블록 515 에 있어서, SPM (157) 은 셧다운 신호를 제어기 (101) 로 전송할 수도 있다.
제어기 (101) 는 블록 520 에서 셧다운 신호를 수신하고, 도 4 에 도시된 바와 같이 셧다운 이벤트에 할당될 수도 있는 트리거 세트들 (314) 을 활성화시킬 수도 있다. 도 4 에 도시된 예시적인 실시형태에 있어서, 셧다운 신호는 트리거 세트 (314) 의 인터럽트 필드 (316) 에 대해 매칭된다. 트리거 세트 (314) 는 제어기 (101) 로 하여금 "종착점 세트" 필드 (320) 에 표시된 바와 같은 슬립 세트 (308) 에 액세스하도록 안내한다. 블록 525 에 있어서, 제어기 (101) 는 셧다운 신호 이벤트에 매칭하는 트리거 세트들 (314) 에 의해 참조되는 리소스 세트들 (304) 을 계속 할성화하면서, 제어기 (101) 가 확인응답 신호를 SPM (157) 으로 즉시 전송할 수도 있다.
블록 530 에 있어서, 도 4 에 도시된 대응하는 인터럽트 필드 (316) 에서의 "셧다운" 이벤트를 리스팅한 매칭 트리거 세트 (314) 와 같은 각각의 매칭 트리거 세트 (314) 에 대해, 제어기 (101) 는 현재의 리소스 세트 (304) 를, 도 3 의 마스터 프로세서 (110A) 에 대한 제 1 리소스 세트 (304A) 의 슬립 세트 (308A) 와 같은 슬립 세트 (308) 로 스위칭할 수도 있다.
다음으로, 블록 535 에 있어서, 제어기 (101) 는 도 2 에 도시된 바와 같은 저 레벨 구동기들 (103) 로 슬립 요청 상태들을 발행할 수도 있다. 저 레벨 구동기들 (103) 은 요청된 상태들을, 대응하는 리소스들 (105) 로 전달할 수도 있다.
블록 540 에 있어서, 각각의 리소스 (105) 는 셧다운 신호 확인응답을 제어기 (101) 및 SPM (157) 으로 발행할 수도 있다. 그 후, 방법 (500) 은 종료할 수도 있다.
도 6 은 프로세서 (110) 를 슬립 상태로부터 액티브 상태에 두기 위해 트리거 세트들 (314) 을 관리하는 방법 (600) 을 나타낸 논리 플로우차트이다. 블록 605 는 방법 (600) 에서의 제 1 단계이다. 블록 605 에 있어서, 웨이크-업 상태 또는 웨이크-업 이벤트가 SPM (157) 을 사용하여 검출되거나, 자신의 인터럽트 제어기 (도시 안됨) 를 가질 수도 있는 제어기 (101) 에 의해 웨이크-업 이벤트가 직접 검출된다. 예시적인 실시형태들은 웨이크업 인터럽트들이 SPM (157) 에 의해 검출가능하지 않을 수도 있도록 설계될 수도 있다. 그러한 예시적인 실시형태들에 있어서, 제어기 (101) 는 그 인터럽트 제어기를 사용하여 검출하고, 마스터 프로세서 (110) 에 대한 슬립 세트 요건들로 이들을 "매핑"되게 할 수도 있다.
다음으로, 블록 610 에 있어서, SPM (157) 은 웨이크-업 신호를 제어기 (101) 로 전송할 수도 있다. 블록 615 에 있어서, 제어기 (101) 는 SPM (157) 으로부터 웨이크-업 신호를 수신하고, 웨이크-업 신호에 매칭하였던 하나 이상의 트리거 세트들 (314) 을 활성화할 수도 있다. 예를 들어, 제어기 (101) 는 웨이크-업 신호를, 도 4 의 트리거 세트 (314) 의 "액티브" 컬럼에서의 인터럽트 필드 (316) 에 리스팅된 "브링 업" 이벤트와 매칭시킬 수도 있다. 도 4 의 예시적인 실시형태에 있어서, 액티브 컬럼 (324) 에서의 "종착점 세트" 필드 (320) 는 제어기로 하여금 현재의 프로세서 (110) 에 의해 사용되었던 마지막 리소스 세트 (304) 로 안내한다.
따라서, 블록 620 에 있어서, 제어기 (101) 는 이러한 매칭 트리거 세트 (314) 에 기초하여 프로세서 (110) 에 대한 현재의 리소스 세트 (304) 를 변경할 것이다. 당업자는, 제어기 (101) 가 도 3 에 도시된 바와 같이 유지한 그 트리거 세트들 모두에 걸쳐 사이클링할 것임을 인식한다.
다음으로, 블록 625 에 있어서, 제어기 (101) 는, 마스터 프로세서들 (110) 이 슬립 상태로부터 어웨이크했음을 식별하는 웨이크-업 확인응답을 SPM (157) 으로 전송할 수도 있다. 다음으로, 블록 630 에 있어서, 매칭 웨이크 업 트리거 세트 (314) 를 갖는 각각의 프로세서 (110) 가 슬립 상태로부터 릴리스되고 SPM (157) 에 의해 공급된 전력을 사용하여 그 액티브 상태로 복원된다. 그 후, 방법 (600) 은 종료한다.
본 명세서에 설명된 프로세스들 또는 프로세스 플로우들에서의 특정 단계들은 자연스럽게, 본 발명이 설명된 바와 같이 기능하도록 다른 것들보다 선행한다. 하지만, 본 발명은, 그러한 순서 또는 시퀀스가 본 발명의 기능을 변경하지 않는다면, 설명된 단계들의 순서로 한정되지 않는다. 즉, 일부 단계들은 개시된 시스템 및 방법으로부터 일탈함없이 다른 단계들 이전에, 그 이후에 또는 그와 병렬로 (실질적으로 동시에) 수행될 수도 있음이 인식된다. 일부 경우들에 있어서, 특정 단계들은, 당업자에 의해 이해되는 바와 같은 방법으로부터 일탈함없이 생략되거나 수행되지 않을 수도 있다. 또한, "그 이후", "그 후", "다음으로" 등과 같은 단어들은 단계들의 순서를 한정하도록 의도되지 않는다. 이들 단어들은 단순히, 예시적인 방법의 설명을 통해 독자를 가이드하도록 사용된다.
상기 개시의 관점에서, 프로그래밍에 있어서의 당업자는, 예를 들어, 본 명세서에 있어서의 플로우 차트들 및 관련 설명에 기초하여 어려움없이, 개시된 발명을 구현하기 위해 컴퓨터 코드를 기입하거나 적절한 하드웨어 및/또는 회로들을 식별할 수 있다. 따라서, 프로그램 코드 명령들 또는 상세한 하드웨어 디바이스들의 특정 세트의 개시는 본 발명을 제조 및 이용하는 방법의 적절한 이해에 필수적인 것으로 고려되지 않는다. 청구된 컴퓨터 구현 프로세스들의 본 발명의 기능은, 다양한 프로세스 플로우들을 예시할 수도 있는 도면들과 함께 상기 설명에서 더 상세히 설명된다.
하나 이상의 예시적인 양태들에 있어서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에서 구현될 수도 있다. 소프트웨어에서 구현된다면, 그 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상으로 저장 또는 전송될 수도 있다. 컴퓨터 판독가능 매체는, 일 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 컴퓨터 저장 매체 및 통신 매체 양자를 포함한다. 저장 매체는, 컴퓨터에 의해 액세스될 수도 있는 임의의 가용 매체일 수도 있다. 한정이 아닌 예로서, 그러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장부, 자기 디스크 저장부 또는 다른 자기 저장 디바이스들, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 수록 또는 저장하는데 이용될 수도 있고 컴퓨터에 의해 액세스될 수도 있는 임의의 다른 매체를 포함할 수도 있다.
또한, 임의의 커넥션이 컴퓨터 판독가능 매체로 적절히 명명된다. 예를 들어, 동축 케이블, 광섬유 케이블, 꼬임쌍선, 디지털 가입자 라인 ("DSL"), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 소프트웨어가 송신된다면, 동축 케이블, 광섬유 케이블, 꼬임쌍선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의에 포함된다.
본 명세서에서 사용되는 바와 같은 디스크 (disk) 및 디스크 (disc) 는 컴팩트 디스크 ("CD"), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 ("DVD"), 플로피 디스크 및 블루레이 디스크를 포함하며, 여기서, 디스크 (disk) 는 통상적으로 데이터를 자기적으로 재생하지만 디스크 (disc) 는 레이저를 이용하여 데이터를 광학적으로 재생한다. 상기의 조합들이 또한, 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
따라서, 선택된 양태들이 상세히 도시 및 설명되었지만, 다양한 치환물들 및 변경물들이 다음의 청구항들에 의해 정의되는 바와 같은 본 발명의 사상 및 범위로부터 일탈함없이 그 안에서 행해질 수도 있음이 이해될 것이다.

Claims (40)

  1. 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 방법으로서,
    리소스 상태들의 슬립 세트 및 리소스 상태들의 액티브 세트를 메모리에 유지하는 단계로서, 상기 리소스 상태들의 슬립 세트는 프로세서가 슬립 상태에 있을 경우에 상기 휴대용 컴퓨팅 디바이스의 상기 프로세서의 리소스들의 상태들을 정의하고, 상기 리소스 상태들의 액티브 세트는 상기 프로세서가 액티브일 경우에 상기 휴대용 컴퓨팅 디바이스의 상기 프로세서의 리소스들의 상태들을 정의하며, 상기 슬립 세트 및 액티브 세트 각각은 트리거 세트에서의 값들과 연관되는 리소스 상태들의 조합들을 포함하는, 상기 리소스 상태들의 슬립 세트 및 리소스 상태들의 액티브 세트를 유지하는 단계;
    상기 휴대용 컴퓨팅 디바이스의 이전의 이용에 기초하여 상기 슬립 세트 및 액티브 세트를 업데이트하는 단계;
    상기 프로세서가 슬립 상태로 진입하기 위한 요청을 발행하는 단계;
    상기 프로세서에 대한 슬립 상태 요청과 연관된 셧다운 신호가 상기 트리거 세트에 리스팅된 하나 이상의 값들과 매칭하는지를 결정하기 위해 상기 트리거 세트를 리뷰하는 단계; 및
    트리거 세트 값이 셧다운 신호와 매칭하면, 상기 슬립 세트에서의 상기 트리거 세트 값과 연관된 리소스 상태들의 조합에 따라 하나 이상의 리소스들의 상태들을 스위칭하는 단계를 포함하는, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 방법.
  2. 제 1 항에 있어서,
    상기 슬립 상태로 진입하기 위한 상기 프로세서로부터의 요청이 수신되었다는 확인응답을 생성하는 단계를 더 포함하는, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 방법.
  3. 제 1 항에 있어서,
    상기 리소스 상태들의 액티브 세트와 리소스 상태들의 슬립 세트는 서로 상이한, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 방법.
  4. 제 1 항에 있어서,
    상기 프로세서에 대한 셧다운 신호들이 매칭되는지를 결정하기 위해 상기 트리거 세트를 리뷰하는 단계는 제어기에 의해 수행되는, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 방법.
  5. 제 4 항에 있어서,
    상기 제어기는 소프트웨어와 하드웨어 중 적어도 하나를 포함하는, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 방법.
  6. 제 1 항에 있어서,
    각각의 트리거 세트는 인터럽트 필드, 시발점 세트 (from set) 필드, 종착점 세트 (go to set) 필드, 트리거 시작 필드, 클리어 필드 및 타이머 필드 중 적어도 하나를 포함하는, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 방법.
  7. 제 1 항에 있어서,
    상기 휴대용 컴퓨팅 디바이스 (PCD) 의 각각의 마스터 프로세서에 대한 액티브 세트 및 슬립 세트를 유지하는 단계를 더 포함하는, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 방법.
  8. 제 7 항에 있어서,
    PCD 의 각각의 마스터 프로세서에 대한 적어도 하나의 트리거 세트를 유지하는 단계를 더 포함하는, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 방법.
  9. 제 1 항에 있어서,
    상기 프로세서에 대한 웨이크-업 이벤트가 트리거 세트에 리스팅된 하나 이상의 값들과 매칭하는지를 결정하기 위해 상기 트리거 세트를 리뷰하는 단계; 및
    트리거 세트 값이 웨이크-업 이벤트와 매칭하면, 상기 액티브 세트에 따라 하나 이상의 리소스들의 상태들을 스위칭하는 단계를 더 포함하는, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 방법.
  10. 제 1 항에 있어서,
    상기 휴대용 컴퓨팅 디바이스는 셀룰러 전화기, 위성 전화기, 페이저, PDA, 스마트폰, 네비게이션 디바이스, 스마트북 또는 리더, 미디어 플레이어, 및 무선 접속을 갖는 랩탑 컴퓨터 중 적어도 하나를 포함하는, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 방법.
  11. 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 컴퓨터 시스템으로서,
    프로세서를 포함하고,
    상기 프로세서는,
    리소스 상태들의 슬립 세트 및 리소스 상태들의 액티브 세트를 메모리에 유지하는 것으로서, 상기 리소스 상태들의 슬립 세트는 프로세서가 슬립 상태에 있을 경우에 상기 휴대용 컴퓨팅 디바이스의 상기 프로세서의 리소스들의 상태들을 정의하고, 상기 리소스 상태들의 액티브 세트는 상기 프로세서가 액티브일 경우에 상기 휴대용 컴퓨팅 디바이스의 상기 프로세서의 리소스들의 상태들을 정의하며, 상기 슬립 세트 및 액티브 세트 각각은 트리거 세트에서의 값들과 연관되는 리소스 상태들의 조합들을 포함하는, 상기 리소스 상태들의 슬립 세트 및 리소스 상태들의 액티브 세트를 유지하고;
    상기 휴대용 컴퓨팅 디바이스의 이전의 이용에 기초하여 상기 슬립 세트 및 액티브 세트를 업데이트하고;
    상기 프로세서가 슬립 상태로 진입하기 위한 요청을 발행하고;
    상기 프로세서에 대한 슬립 상태 요청과 연관된 셧다운 신호가 상기 트리거 세트에 리스팅된 하나 이상의 값들과 매칭하는지를 결정하기 위해 상기 트리거 세트를 리뷰하며; 그리고
    트리거 세트 값이 셧다운 신호와 매칭하면, 상기 슬립 세트에서의 상기 트리거 세트 값과 연관된 리소스 상태들의 조합에 따라 하나 이상의 리소스들의 상태들을 스위칭하도록
    동작가능한, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 컴퓨터 시스템.
  12. 제 11 항에 있어서,
    상기 프로세서는 또한, 상기 슬립 상태로 진입하기 위한 상기 프로세서로부터의 요청이 수신되었다는 확인응답을 생성하도록 동작가능한, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 컴퓨터 시스템.
  13. 제 11 항에 있어서,
    상기 리소스 상태들의 액티브 세트와 리소스 상태들의 슬립 세트는 서로 상이한, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 컴퓨터 시스템.
  14. 제 11 항에 있어서,
    상기 프로세서에 대한 셧다운 신호들이 매칭되는지를 결정하기 위해 상기 트리거 세트를 리뷰하도록 동작가능한 상기 프로세서는 제어기에 의해 수행되는, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 컴퓨터 시스템.
  15. 제 14 항에 있어서,
    상기 제어기는 소프트웨어와 하드웨어 중 적어도 하나를 포함하는, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 컴퓨터 시스템.
  16. 제 11 항에 있어서,
    각각의 트리거 세트는 인터럽트 필드, 시발점 세트 필드, 종착점 세트 필드, 트리거 시작 필드, 클리어 필드 및 타이머 필드 중 적어도 하나를 포함하는, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 컴퓨터 시스템.
  17. 제 11 항에 있어서,
    상기 프로세서는 또한, 상기 휴대용 컴퓨팅 디바이스 (PCD) 의 각각의 마스터 프로세서에 대한 액티브 세트 및 슬립 세트를 유지하도록 동작가능한, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 컴퓨터 시스템.
  18. 제 17 항에 있어서,
    상기 프로세서는 또한, PCD 의 각각의 마스터 프로세서에 대한 적어도 하나의 트리거 세트를 유지하도록 동작가능한, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 컴퓨터 시스템.
  19. 제 11 항에 있어서,
    상기 프로세서는 또한,
    상기 프로세서에 대한 웨이크-업 이벤트가 트리거 세트에 리스팅된 하나 이상의 값들과 매칭하는지를 결정하기 위해 상기 트리거 세트를 리뷰하고; 그리고
    트리거 세트 값이 웨이크-업 이벤트와 매칭하면, 상기 액티브 세트에 따라 하나 이상의 리소스들의 상태들을 스위칭하도록
    동작가능한, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 컴퓨터 시스템.
  20. 제 11 항에 있어서,
    상기 휴대용 컴퓨팅 디바이스는 모바일 전화기, 퍼스널 디지털 보조기, 페이저, 스마트폰, 네비게이션 디바이스, 및 무선 접속 또는 링크를 갖는 핸드헬드 컴퓨터 중 적어도 하나를 포함하는, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 컴퓨터 시스템.
  21. 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 컴퓨터 시스템으로서,
    리소스 상태들의 슬립 세트 및 리소스 상태들의 액티브 세트를 메모리에 유지하는 수단으로서, 상기 리소스 상태들의 슬립 세트는 프로세서가 슬립 상태에 있을 경우에 상기 휴대용 컴퓨팅 디바이스의 상기 프로세서의 리소스들의 상태들을 정의하고, 상기 리소스 상태들의 액티브 세트는 상기 프로세서가 액티브일 경우에 상기 휴대용 컴퓨팅 디바이스의 상기 프로세서의 리소스들의 상태들을 정의하며, 상기 슬립 세트 및 액티브 세트 각각은 트리거 세트에서의 값들과 연관되는 리소스 상태들의 조합들을 포함하는, 상기 리소스 상태들의 슬립 세트 및 리소스 상태들의 액티브 세트를 유지하는 수단;
    상기 휴대용 컴퓨팅 디바이스의 이전의 이용에 기초하여 상기 슬립 세트 및 액티브 세트를 업데이트하는 수단;
    상기 프로세서가 슬립 상태로 진입하기 위한 요청을 발행하는 수단;
    상기 프로세서에 대한 슬립 상태 요청과 연관된 셧다운 신호가 상기 트리거 세트에 리스팅된 하나 이상의 값들과 매칭하는지를 결정하기 위해 상기 트리거 세트를 리뷰하는 수단; 및
    트리거 세트 값이 셧다운 신호와 매칭하면, 상기 슬립 세트에서의 상기 트리거 세트 값과 연관된 리소스 상태들의 조합에 따라 하나 이상의 리소스들의 상태들을 스위칭하는 수단을 포함하는, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 컴퓨터 시스템.
  22. 제 21 항에 있어서,
    상기 슬립 상태로 진입하기 위한 상기 프로세서로부터의 요청이 수신되었다는 확인응답을 생성하는 수단을 더 포함하는, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 컴퓨터 시스템.
  23. 제 21 항에 있어서,
    상기 리소스 상태들의 액티브 세트와 리소스 상태들의 슬립 세트는 서로 상이한, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 컴퓨터 시스템.
  24. 제 21 항에 있어서,
    상기 프로세서에 대한 셧다운 신호들이 매칭되는지를 결정하기 위해 상기 트리거 세트를 리뷰하는 수단은 제어기를 포함하는, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 컴퓨터 시스템.
  25. 제 24 항에 있어서,
    상기 제어기는 소프트웨어와 하드웨어 중 적어도 하나를 포함하는, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 컴퓨터 시스템.
  26. 제 21 항에 있어서,
    각각의 트리거 세트는 인터럽트 필드, 시발점 세트 필드, 종착점 세트 필드, 트리거 시작 필드, 클리어 필드 및 타이머 필드 중 적어도 하나를 포함하는, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 컴퓨터 시스템.
  27. 제 21 항에 있어서,
    상기 휴대용 컴퓨팅 디바이스 (PCD) 의 각각의 마스터 프로세서에 대한 액티브 세트 및 슬립 세트를 유지하는 수단을 더 포함하는, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 컴퓨터 시스템.
  28. 제 21 항에 있어서,
    PCD 의 각각의 마스터 프로세서에 대한 적어도 하나의 트리거 세트를 유지하는 수단을 더 포함하는, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 컴퓨터 시스템.
  29. 제 21 항에 있어서,
    상기 프로세서에 대한 웨이크-업 이벤트가 트리거 세트에 리스팅된 하나 이상의 값들과 매칭하는지를 결정하기 위해 상기 트리거 세트를 리뷰하는 수단; 및
    트리거 세트 값이 웨이크-업 이벤트와 매칭하면, 상기 액티브 세트에 따라 하나 이상의 리소스들의 상태들을 스위칭하는 수단을 더 포함하는, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 컴퓨터 시스템.
  30. 제 21 항에 있어서,
    상기 휴대용 컴퓨팅 디바이스는 모바일 전화기, 퍼스널 디지털 보조기, 페이저, 스마트폰, 네비게이션 디바이스, 및 무선 접속 또는 링크를 갖는 핸드헬드 컴퓨터 중 적어도 하나를 포함하는, 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 컴퓨터 시스템.
  31. 컴퓨터 판독가능 프로그램 코드가 수록된 컴퓨터 판독가능 저장 매체로서,
    상기 컴퓨터 판독가능 프로그램 코드는 휴대용 컴퓨팅 디바이스의 슬립 상태들을 관리하는 방법을 구현하기 위해 실행되도록 구성되고,
    상기 방법은,
    리소스 상태들의 슬립 세트 및 리소스 상태들의 액티브 세트를 메모리에 유지하는 단계로서, 상기 리소스 상태들의 슬립 세트는 프로세서가 슬립 상태에 있을 경우에 상기 휴대용 컴퓨팅 디바이스의 상기 프로세서의 리소스들의 상태들을 정의하고, 상기 리소스 상태들의 액티브 세트는 상기 프로세서가 액티브일 경우에 상기 휴대용 컴퓨팅 디바이스의 상기 프로세서의 리소스들의 상태들을 정의하며, 상기 슬립 세트 및 액티브 세트 각각은 트리거 세트에서의 값들과 연관되는 리소스 상태들의 조합들을 포함하는, 상기 리소스 상태들의 슬립 세트 및 리소스 상태들의 액티브 세트를 유지하는 단계;
    상기 휴대용 컴퓨팅 디바이스의 이전의 이용에 기초하여 상기 슬립 세트 및 액티브 세트를 업데이트하는 단계;
    상기 프로세서가 슬립 상태로 진입하기 위한 요청을 발행하는 단계;
    상기 프로세서에 대한 슬립 상태 요청과 연관된 셧다운 신호가 상기 트리거 세트에 리스팅된 하나 이상의 값들과 매칭하는지를 결정하기 위해 상기 트리거 세트를 리뷰하는 단계; 및
    트리거 세트 값이 셧다운 신호와 매칭하면, 상기 슬립 세트에서의 상기 트리거 세트 값과 연관된 리소스 상태들의 조합에 따라 하나 이상의 리소스들의 상태들을 스위칭하는 단계를 포함하는, 컴퓨터 판독가능 저장 매체.
  32. 제 31 항에 있어서,
    상기 방법을 구현하는 상기 컴퓨터 판독가능 프로그램 코드는,
    상기 슬립 상태로 진입하기 위한 상기 프로세서로부터의 요청이 수신되었다는 확인응답을 생성하는 것을 더 포함하는, 컴퓨터 판독가능 저장 매체.
  33. 제 31 항에 있어서,
    상기 리소스 상태들의 액티브 세트와 리소스 상태들의 슬립 세트는 서로 상이한, 컴퓨터 판독가능 저장 매체.
  34. 제 31 항에 있어서,
    상기 프로세서에 대한 셧다운 신호들이 매칭되는지를 결정하기 위해 상기 트리거 세트를 리뷰하는 단계는 제어기에 의해 수행되는, 컴퓨터 판독가능 저장 매체.
  35. 제 34 항에 있어서,
    상기 제어기는 소프트웨어와 하드웨어 중 적어도 하나를 포함하는, 컴퓨터 판독가능 저장 매체.
  36. 제 31 항에 있어서,
    각각의 트리거 세트는 인터럽트 필드, 시발점 세트 필드, 종착점 세트 필드, 트리거 시작 필드, 클리어 필드 및 타이머 필드 중 적어도 하나를 포함하는, 컴퓨터 판독가능 저장 매체.
  37. 제 31 항에 있어서,
    상기 방법을 구현하는 상기 컴퓨터 판독가능 프로그램 코드는,
    상기 휴대용 컴퓨팅 디바이스 (PCD) 의 각각의 마스터 프로세서에 대한 액티브 세트 및 슬립 세트를 유지하는 것을 더 포함하는, 컴퓨터 판독가능 저장 매체.
  38. 제 31 항에 있어서,
    상기 방법을 구현하는 상기 컴퓨터 판독가능 프로그램 코드는,
    PCD 의 각각의 마스터 프로세서에 대한 적어도 하나의 트리거 세트를 유지하는 것을 더 포함하는, 컴퓨터 판독가능 저장 매체.
  39. 제 31 항에 있어서,
    상기 방법을 구현하는 상기 컴퓨터 판독가능 프로그램 코드는,
    상기 프로세서에 대한 웨이크-업 이벤트가 트리거 세트에 리스팅된 하나 이상의 값들과 매칭하는지를 결정하기 위해 상기 트리거 세트를 리뷰하는 것; 및
    트리거 세트 값이 웨이크-업 이벤트와 매칭하면, 상기 액티브 세트에 따라 하나 이상의 리소스들의 상태들을 스위칭하는 것을 더 포함하는, 컴퓨터 판독가능 저장 매체.
  40. 제 31 항에 있어서,
    상기 휴대용 컴퓨팅 디바이스는 모바일 전화기, 퍼스널 디지털 보조기, 페이저, 스마트폰, 네비게이션 디바이스, 및 무선 접속 또는 링크를 갖는 핸드헬드 컴퓨터 중 적어도 하나를 포함하는, 컴퓨터 판독가능 저장 매체.
KR1020137018825A 2010-12-21 2011-12-19 휴대용 컴퓨팅 디바이스의 프로세서들에 대한 슬립 상태들로의 신속한 진입 및 슬립 상태들로부터의 신속한 퇴장을 위한 방법 및 시스템 KR101483897B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201061425677P 2010-12-21 2010-12-21
US61/425,677 2010-12-21
US13/069,071 2011-03-22
US13/069,071 US9285856B2 (en) 2010-12-21 2011-03-22 Method and system for rapid entry into and for rapid exiting from sleep states for processors of a portable computing device
PCT/US2011/065885 WO2012087957A1 (en) 2010-12-21 2011-12-19 Method and system for rapid entry into and for rapid exiting from sleep states for processors of a portable computing device

Publications (2)

Publication Number Publication Date
KR20130095842A KR20130095842A (ko) 2013-08-28
KR101483897B1 true KR101483897B1 (ko) 2015-01-16

Family

ID=46236060

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137018825A KR101483897B1 (ko) 2010-12-21 2011-12-19 휴대용 컴퓨팅 디바이스의 프로세서들에 대한 슬립 상태들로의 신속한 진입 및 슬립 상태들로부터의 신속한 퇴장을 위한 방법 및 시스템

Country Status (6)

Country Link
US (1) US9285856B2 (ko)
EP (1) EP2656172A1 (ko)
JP (1) JP5649254B2 (ko)
KR (1) KR101483897B1 (ko)
CN (1) CN103229124B (ko)
WO (1) WO2012087957A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11887105B2 (en) 2010-04-09 2024-01-30 Paypal, Inc. Transaction token issuing authorities
US10304051B2 (en) 2010-04-09 2019-05-28 Paypal, Inc. NFC mobile wallet processing systems and methods
US9104499B2 (en) 2010-12-21 2015-08-11 Qualcomm Incorporated System for minimizing resource latency between processor application states in a portable computing device by scheduling resource state set transitions
US8954980B2 (en) 2011-11-11 2015-02-10 Qualcomm Incorporated Conserving power through work load estimation for a portable computing device using scheduled resource set transitions
US8996898B2 (en) * 2012-04-24 2015-03-31 The Morey Corporation Alarm-based power saving mode for electronic device where a power latch controls power switch based on a control value
US9927866B2 (en) * 2013-11-21 2018-03-27 Qualcomm Incorporated Method and system for optimizing a core voltage level and enhancing frequency performance of individual subcomponents for reducing power consumption within a PCD
US9612651B2 (en) * 2014-10-27 2017-04-04 Futurewei Technologies, Inc. Access based resources driven low power control and management for multi-core system on a chip
US9658893B2 (en) * 2015-05-06 2017-05-23 Runtime Design Automation Multilayered resource scheduling

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090049314A1 (en) * 2007-08-13 2009-02-19 Ali Taha Method and System for Dynamic Voltage and Frequency Scaling (DVFS)

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5461266A (en) * 1990-11-27 1995-10-24 Hitachi, Ltd. Power consumption control system
US5692197A (en) * 1995-03-31 1997-11-25 Sun Microsystems, Inc. Method and apparatus for reducing power consumption in a computer network without sacrificing performance
US5812860A (en) 1996-02-12 1998-09-22 Intel Corporation Method and apparatus providing multiple voltages and frequencies selectable based on real time criteria to control power consumption
JPH09244940A (ja) 1996-03-12 1997-09-19 Hitachi Ltd 分散計算機資源の管理方法
EP2211251A3 (en) 1996-05-22 2011-03-30 Qualcomm Incorporated Method and apparatus for controlling electrical devices in response to sensed conditions
JP3463555B2 (ja) 1998-03-17 2003-11-05 ソニー株式会社 無線通信方法、無線通信システム、通信局、及び制御局
SG83684A1 (en) 1998-07-07 2001-10-16 Compaq Computer Corp Computer system performing machine specific tasks before going to a low power state
US6535798B1 (en) 1998-12-03 2003-03-18 Intel Corporation Thermal management in a system
US6823516B1 (en) 1999-08-10 2004-11-23 Intel Corporation System and method for dynamically adjusting to CPU performance changes
GB2360670B (en) 2000-03-22 2004-02-04 At & T Lab Cambridge Ltd Power management system
US7062302B2 (en) 2000-05-12 2006-06-13 Denso Corporation Mobile terminal having power saving function variable with microphone usage conditions
GB0021171D0 (en) 2000-08-30 2000-10-11 Gibbs Int Tech Ltd Power train
US20030061383A1 (en) 2001-09-25 2003-03-27 Zilka Anthony M. Predicting processor inactivity for a controlled transition of power states
US20030110153A1 (en) 2001-12-11 2003-06-12 Sprint Communications Company L.P. Database performance monitoring method and tool
US7089430B2 (en) 2001-12-21 2006-08-08 Intel Corporation Managing multiple processor performance states
US6848057B2 (en) * 2002-05-28 2005-01-25 Nvidia Corporation Method and apparatus for providing a decoupled power management state
JP4749793B2 (ja) 2004-08-05 2011-08-17 パナソニック株式会社 省電力処理装置、省電力処理方法、及び省電力処理プログラム
US7360106B2 (en) 2004-08-05 2008-04-15 Matsushita Electric Industrial Co., Ltd. Power-saving processing unit, power-saving processing method and program record medium
US7383450B2 (en) * 2004-12-22 2008-06-03 Intel Corporation Low power firmware
US20060146769A1 (en) 2004-12-31 2006-07-06 Patel Anil N Method of operating a WLAN mobile station
KR101114984B1 (ko) 2005-03-14 2012-03-06 삼성전자주식회사 가변적인 웨이크업 레이턴시를 가진 프로세싱 장치에서전원 관리 방법 및 장치
KR100685664B1 (ko) 2005-08-12 2007-02-26 삼성전자주식회사 호스트 및 클라이언트로 구성된 데이터 통신 시스템 및데이터 통신 시스템의 작동 방법
JP2007232588A (ja) 2006-03-01 2007-09-13 Nec Electronics Corp 半導体集積回路装置、及び、その制御方法
US7929912B2 (en) 2006-04-04 2011-04-19 Texas Instruments Incorporated Apparatus for and method of Bluetooth and WiMAX coexistence in a mobile handset
US8041972B2 (en) 2006-04-04 2011-10-18 Qualcomm Incorporated Apparatus and method for setting wakeup times in a communication device based on estimated lock on time of frequency synthesizer
FI20065449A0 (fi) 2006-06-29 2006-06-29 Nokia Corp Tehonkulutuksen valvontamenetelmä, tehonkulutuksen valvontalaite, tietokoneohjelmatuote, tietokoneohjelman jakeluväline ja kommunikaatioväline
US7689849B2 (en) * 2006-08-28 2010-03-30 Ati Technologies Ulc Reduction of power consumption by throttling processor requests
US9146600B2 (en) * 2006-10-11 2015-09-29 Texas Instruments Incorporated Array and peripheral power control decoded from circuitry and registers
TWI320908B (en) 2006-10-27 2010-02-21 Ind Tech Res Inst Apparatus and method for increasing the utilization by the processors on the shared resources
JP4748057B2 (ja) 2006-12-28 2011-08-17 ソニー株式会社 情報処理装置、起動方法、およびプログラム
US7962775B1 (en) 2007-01-10 2011-06-14 Marvell International Ltd. Methods and apparatus for power mode control for PDA with separate communications and applications processors
US7941682B2 (en) 2007-05-09 2011-05-10 Gainspan, Inc. Optimum power management of system on chip based on tiered states of operation
US8725488B2 (en) 2007-07-26 2014-05-13 Qualcomm Incorporated Method and apparatus for adaptive voltage scaling based on instruction usage
US8176341B2 (en) * 2008-03-31 2012-05-08 Intel Corporation Platform power management based on latency guidance
US8020025B2 (en) 2008-06-04 2011-09-13 Sony Ericsson Mobile Communications Ab Power saving scheduler for timed events
US8250579B2 (en) 2008-06-27 2012-08-21 Oracle America, Inc. Method for stage-based cost analysis for task scheduling
US8108696B2 (en) 2008-07-24 2012-01-31 International Business Machines Corporation Optimizing non-preemptible read-copy update for low-power usage by avoiding unnecessary wakeups
US8281169B2 (en) 2008-08-27 2012-10-02 Wireless Silicon Group, Inc. Method and system for power management for a handheld mobile electronic device executing-in-place an application kernel from execute-in-place non-volatile memory (XIP NVM)
US8219994B2 (en) 2008-10-23 2012-07-10 Globalfoundries Inc. Work balancing scheduler for processor cores and methods thereof
US20100115144A1 (en) 2008-10-31 2010-05-06 Justin Tyler Dubs Wireless Switch State Using Controller Powered with System in Various Low-Powered States
WO2010058252A1 (en) 2008-11-24 2010-05-27 Freescale Semiconductor, Inc. Multimode voltage regulator and method for providing a multimode voltage regulator output voltage and an output current to a load
CN101414271A (zh) 2008-12-04 2009-04-22 浙江大学 多核平台下基于硬件计时器与任务队列的调度方法
US20100191911A1 (en) 2008-12-23 2010-07-29 Marco Heddes System-On-A-Chip Having an Array of Programmable Processing Elements Linked By an On-Chip Network with Distributed On-Chip Shared Memory and External Shared Memory
EP2205029A1 (en) 2009-01-06 2010-07-07 Thomson Licensing A method for scheduling wake/sleep cycles by a central device in a wireless network
TWI474734B (zh) 2009-01-23 2015-02-21 Realtek Semiconductor Corp 無線通訊裝置之電源管理方法及無線通訊裝置
US8271818B2 (en) 2009-04-30 2012-09-18 Hewlett-Packard Development Company, L.P. Managing under-utilized resources in a computer
JP5187277B2 (ja) 2009-06-16 2013-04-24 ソニー株式会社 情報処理装置、及びモード切り替え方法
US8190939B2 (en) 2009-06-26 2012-05-29 Microsoft Corporation Reducing power consumption of computing devices by forecasting computing performance needs
US8683476B2 (en) 2009-06-30 2014-03-25 Oracle America, Inc. Method and system for event-based management of hardware resources using a power state of the hardware resources
US8230249B2 (en) 2009-07-15 2012-07-24 International Business Machines Corporation Dynamic selection of server states for servers in a cluster of servers
US7906996B1 (en) 2009-08-18 2011-03-15 Nxp B.V. System and method for controlling an integrated circuit in different operational modes
EP2323035B1 (en) 2009-11-16 2019-04-17 Red Bend Software Scheduling system
US8583945B2 (en) 2010-01-14 2013-11-12 Muse Green Investments LLC Minimizing power consumption in computers
US8271812B2 (en) * 2010-04-07 2012-09-18 Apple Inc. Hardware automatic performance state transitions in system on processor sleep and wake events
US8335938B2 (en) 2010-06-11 2012-12-18 Kevin Howard Orr Method and device for activation of components
US8589932B2 (en) 2010-07-02 2013-11-19 International Business Machines Corporation Data processing workload control
US8806232B2 (en) * 2010-09-30 2014-08-12 Apple Inc. Systems and method for hardware dynamic cache power management via bridge and power manager
US8694811B2 (en) 2010-10-29 2014-04-08 Texas Instruments Incorporated Power management for digital devices
US9104499B2 (en) 2010-12-21 2015-08-11 Qualcomm Incorporated System for minimizing resource latency between processor application states in a portable computing device by scheduling resource state set transitions
US20120291043A1 (en) 2010-12-21 2012-11-15 Qualcomm Incorporated Minimizing Resource Latency Between Processor Application States In A Portable Computing Device By Using A Next-Active State Set
US20120284729A1 (en) 2011-05-03 2012-11-08 Microsoft Corporation Processor state-based thread scheduling
US8694817B2 (en) 2011-06-15 2014-04-08 Osram Sylvania Inc. System bus with variable output power supply
US20130007492A1 (en) 2011-06-30 2013-01-03 Sokol Jr Joseph Timer interrupt latency
US8954980B2 (en) 2011-11-11 2015-02-10 Qualcomm Incorporated Conserving power through work load estimation for a portable computing device using scheduled resource set transitions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090049314A1 (en) * 2007-08-13 2009-02-19 Ali Taha Method and System for Dynamic Voltage and Frequency Scaling (DVFS)

Also Published As

Publication number Publication date
KR20130095842A (ko) 2013-08-28
US9285856B2 (en) 2016-03-15
EP2656172A1 (en) 2013-10-30
CN103229124A (zh) 2013-07-31
CN103229124B (zh) 2016-07-06
WO2012087957A1 (en) 2012-06-28
JP5649254B2 (ja) 2015-01-07
US20120159222A1 (en) 2012-06-21
JP2014503883A (ja) 2014-02-13

Similar Documents

Publication Publication Date Title
KR101483897B1 (ko) 휴대용 컴퓨팅 디바이스의 프로세서들에 대한 슬립 상태들로의 신속한 진입 및 슬립 상태들로부터의 신속한 퇴장을 위한 방법 및 시스템
KR101503627B1 (ko) 리소스 세트 천이들을 스케줄링함으로써 휴대용 컴퓨팅 디바이스에 있어서의 프로세서 어플리케이션 상태들 간의 리소스 레이턴시의 최소화
JP5734505B2 (ja) ポータブルコンピューティングデバイスのマルチコアプロセッサにおける複数のコアへの電力を動的に制御するための方法およびシステム
KR101503628B1 (ko) 휴대용 컴퓨팅 디바이스에서 인터럽트 제어기들의 슬립 상태들을 관리하는 방법 및 시스템
KR101677820B1 (ko) 스케줄링된 리소스 셋트 천이들을 이용하여 휴대용 컴퓨팅 디바이스에 대한 워크 로드 추정을 통한 전력 절약
US20110145624A1 (en) System and method for asynchronously and independently controlling core clocks in a multicore central processing unit
US20120291043A1 (en) Minimizing Resource Latency Between Processor Application States In A Portable Computing Device By Using A Next-Active State Set
JP2013542491A (ja) 性能スケーリングアルゴリズムのセットを公開して管理するためのモバイルデバイスおよび方法
CN102971708A (zh) 多线程程序的低功率执行
JP5460883B2 (ja) ワークロードの要求に基づいて動的なクロックおよび電圧切替えアルゴリズムを調整するシステムおよび方法
KR101505764B1 (ko) 휴대용 컴퓨팅 디바이스 내의 리소스들을 관리하는 방법 및 시스템

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

Year of fee payment: 5