KR20130108658A - 휴대용 컴퓨팅 디바이스에서 인터럽트 제어기들의 슬립 상태들을 관리하는 방법 및 시스템 - Google Patents

휴대용 컴퓨팅 디바이스에서 인터럽트 제어기들의 슬립 상태들을 관리하는 방법 및 시스템 Download PDF

Info

Publication number
KR20130108658A
KR20130108658A KR1020137020299A KR20137020299A KR20130108658A KR 20130108658 A KR20130108658 A KR 20130108658A KR 1020137020299 A KR1020137020299 A KR 1020137020299A KR 20137020299 A KR20137020299 A KR 20137020299A KR 20130108658 A KR20130108658 A KR 20130108658A
Authority
KR
South Korea
Prior art keywords
interrupt
settings
storage device
processor
wakeup
Prior art date
Application number
KR1020137020299A
Other languages
English (en)
Other versions
KR101503628B1 (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 KR20130108658A publication Critical patent/KR20130108658A/ko
Application granted granted Critical
Publication of KR101503628B1 publication Critical patent/KR101503628B1/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
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)

Abstract

휴대용 컴퓨팅 디바이스 내에 포함된 프로세서들의 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 방법 및 시스템이 설명된다. 그 방법은, 프로세서가 휴대용 컴퓨팅 디바이스 내에 포함된 스토리지 디바이스에서 웨이크업 인터럽트 세팅들을 정의하는 단계를 포함한다. 이러한 스토리지 디바이스는 랜덤 액세스 메모리 ("RAM") 를 포함할 수도 있다. 웨이크업 세팅들이 메시지 RAM 에서 확립된 이후, 프로세서는 메시지 RAM 에서 웨이크업 세팅들이 정의되었다는 경고를 생성할 수도 있다. 다음에, 제어기는 휴대용 컴퓨팅 디바이스 내에 포함된 복수의 프로세서들과 대응하는 복수의 인터럽트 제어기들에 대하여 메시지 RAM 에서 웨이크업 인터럽트 세팅들을 검토한다. 제어기는 메시지 RAM 에서 웨이크업 세팅들을 병합하고, 그 후에 병합된 웨이크업 세팅들을 상시 접속 전력 관리기 ("APM") 로 전송한다. APM 은 프로세서들의 인터럽트 제어기들이 슬립 상태로 배치되도록 하는 신호들을 발행하는 책임이 있다.

Description

휴대용 컴퓨팅 디바이스에서 인터럽트 제어기들의 슬립 상태들을 관리하는 방법 및 시스템{METHOD AND SYSTEM FOR MANAGING SLEEP STATES OF INTERRUPT CONTROLLERS IN A PORTABLE COMPUTING DEVICE}
우선권 및 관련 출원들의 언급
본 출원은 "Method and system for managing sleep states of interrupt controllers in a portable computing device"의 명칭으로 2011년 1월 4일자로 출원된 미국 가특허출원 제61/429,522 호에 대해 35 U.S.C.§119(e) 하에서 우선권 주장한다. 이 미국 가특허출원의 전체 내용들은 본 명세서에 참조로서 통합된다.
휴대용 컴퓨팅 디바이스들 ("PCDs") 은 퍼스널 및 프로페셔널 레벨들로 사람들에 대해 필수품이 되고 있다. 이들 디바이스들은 셀룰러 전화기들, 휴대 정보 단말기들 ("PDAs"), 휴대용 게임 콘솔들, 팜탑 컴퓨터들, 및 다른 휴대용 전자 디바이스들을 포함할 수도 있다.
PCD들은 통상적으로, 중앙 프로세싱 유닛들, 디지털 신호 프로세서들 등을 포함하는 다중 프로세싱 유닛들로 일반적으로 이루어진 복잡하고 소형의 전자 패키징을 가진다. 복수의 중앙 프로세싱 유닛들 ("CPUs") 은 그들의 내부 구성의 일부로서 인터럽트 제어기들 ("ICs") 을 갖는다. IC들은 통상적으로 신호들을 CPU 상의 단일 인터럽트 핀으로 전달하기 전에 인터럽트들을 함께 수집한다. 이는 CPU 상의 인터럽트 핀들을 절약할 수도 있고, 또한 시스템들을 설계할 경우 유연성을 제공할 수도 있다. 각각의 IC 는 인터럽트들을 제어하는 마스크 및 상태 레지스터들을 가질 수도 있다.
IC들은 멀티태스킹을 용이하게 하기 위해 CPU들에 유용하지만, CPU 가 저전력 상태에 들어가야할 경우 문제점들을 제시한다. 저전력 상태들은 또한 당업자에게 슬립 상태로 알려져 있다. 복수의 IC들은 일반적으로, IC가 슬립 상태로 배치될 경우 IC를 "웨이크업" 하거나 활성화시키기 위해 어떤 하드웨어 또는 소프트웨어도 존재하지 않기 때문에 슬립 상태로 들어가도록 허가되지 않는다.
IC들이 일반적으로 슬립 상태들에 들어가지 않기 때문에, 이들은 PCD들의 귀중한 전력을 소비한다. 따라서, IC들이 슬립 상태들로 배치되도록 허용하여 PCD 를 위한 전력이 보존될 수 있도록 하는 방법 및 시스템을 제공하는 것이 당업계에 요구된다.
휴대용 컴퓨팅 디바이스 내에 포함된 프로세서들의 하나 이상의 인터럽트 제어어기들의 슬립 상태들을 관리하는 방법 및 시스템이 설명된다. 그 방법은, 프로세서가 휴대용 컴퓨팅 디바이스 내에 포함된 스토리지 디바이스에서 웨이크업 인터럽트 세팅들을 정의하는 단계를 포함한다. 이러한 스토리지 디바이스는 메시지 랜덤 액세스 메모리 ("RAM") 를 포함할 수도 있다. 웨이크업 세팅들이 메시지 RAM 에서 확립된 이후, 프로세서는 메시지 RAM 에서 웨이크업 세팅들이 정의되었다는 경고를 생성할 수도 있다. 다음에, 제어기는 휴대용 컴퓨팅 디바이스 내에 포함된 복수의 프로세서들과 대응하는 복수의 인터럽트 제어기들에 대하여 메시지 RAM 에서 웨이크업 인터럽트 세팅들을 검토한다. 제어기는 메시지 RAM 에서 웨이크업 세팅들을 병합하고, 그 후에 병합된 웨이크업 세팅들을 상시 접속 전력 관리기 ("APM") 로 전송한다. APM 은 프로세서들의 인터럽트 제어기들이 슬립 상태로 배치되도록 하는 신호들을 발행하는 책임이 있다. 용어 "상시 접속" 은 APM 이 일반적으로 다른 디바이스들과 통신하기 위해 항상 충분하고 일정한 전력을 수신하는 것을 의미한다.
제어기는 프로세서가 특정 프로세서에 대한 인터럽트 제어기의 상태를 변경시킬 권한을 갖는지 결정하기 위해 허가 테이블을 검토할 수도 있다. 제어기는 병합된 웨이크업 세팅들을 APM 내에 포함된 복수의 레지스터들로 전송할 수도 있다. 웨이크업 세팅들은 인에이블 세팅, 타입/검출 세팅, 극성 세팅, 상태 세팅 및 클리어 세팅을 포함할 수도 있다.
도면들에 있어서, 동일한 참조부호들은, 달리 나타내지 않으면 다양한 도면들 전반에 걸쳐 동일한 부분들을 지칭한다. "102A" 또는 "102B" 와 같은 문자 지정을 갖는 참조부호들에 있어서, 그 문자 지정은 동일한 도면에 존재하는 2개의 동일한 부분들 또는 엘리먼트들을 구별할 수도 있다. 참조부호들에 대한 문자 지정은, 참조부호가 모든 도면들에 있어서 동일한 참조부호를 갖는 모든 부분들을 포괄하도록 의도될 경우에 생략될 수도 있다.
도 1 은 휴대용 컴퓨팅 디바이스 (PCD) 의 일 실시형태를 나타낸 기능 블록 다이어그램이다.
도 2 는 제어기, 상시 접속 전력 관리기, 및 상시 접속 인터럽트 제어기의 상세들을 나타낸 기능 블록 다이어그램이다.
도 3 은 도 2 의 상시 접속 인터럽트 제어기에 대한 레지스터들의 기능 블록 다이어그램이다.
도 4 는 메시지 랜덤 액세스 메모리의 기능 블록 다이어그램이다.
도 5 는 마스터 프로세서에 인접하여 상주하는 로컬 인터럽트 테이블의 기능 블록 다이어그램이다.
도 6 은 복수의 CPU들의 하나 이상의 인터럽트 제어기들 ("ICs") 을 슬립 상태로 배치하는 방법을 예시하는 논리 흐름도이다.
도 7a 및 도 7b 는 하나 이상의 인터럽트 제어기들 및 복수의 마스터 프로세서들을 슬립 상태로부터 웨이크업하는 방법을 예시하는 논리 흐름도들이다.
단어 "예시적인" 은 "예, 예증, 또는 예시로서 기능하는" 을 의미하도록 본 명세서에서 사용된다. "예시적인" 것으로서 본 명세서에서 설명되는 임의의 양태는 다른 양태들에 비해 반드시 바람직하거나 유리한 것으로서 해석되지는 않아야 한다.
이 설명에 있어서, 용어 "애플리케이션" 은 또한 오브젝트 코드, 스크립트들, 바이트 코드, 마크업 언어 파일들, 및 패치들과 같은 실행가능 컨텐츠를 갖는 파일들을 포함할 수도 있다. 부가적으로, 본 명세서에서 지칭되는 "애플리케이션" 은 또한, 공개될 필요가 있을 수도 있는 문헌들 또는 액세스될 필요가 있는 다른 데이터 파일들과 같이 본질적으로 실행가능하지 않는 파일들을 포함할 수도 있다.
용어 "컨텐츠" 는 또한 오브젝트 코드, 스크립트들, 바이트 코드, 마크업 언어 파일들, 및 패치들과 같은 실행가능 컨텐츠를 갖는 파일들을 포함할 수도 있다. 부가적으로, 본 명세서에서 지칭되는 "컨텐츠" 는 또한, 공개될 필요가 있을 수도 있는 문헌들 또는 액세스될 필요가 있는 다른 데이터 파일들과 같이 본질적으로 실행가능하지 않는 파일들을 포함할 수도 있다.
이 설명에 있어서 사용되는 바와 같이, 용어들 "컴포넌트", "데이터베이스", "모듈", "시스템" 등은 컴퓨터 관련 엔터티, 즉, 하드웨어, 펌웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행 중인 소프트웨어 중 어느 하나를 지칭하도록 의도된다. 예를 들어, 컴포넌트는 프로세서 상에서 구동하는 프로세스, 프로세서, 오브젝트, 실행 가능물 (executable), 실행 스레드 (thread of execution), 프로그램, 및/또는 컴퓨터일 수도 있지만, 이에 한정되지 않는다. 예시로서, 컴퓨팅 디바이스 상에서 구동하는 애플리케이션 및 컴퓨팅 디바이스 양자는 컴포넌트일 수도 있다. 하나 이상의 컴포넌트들은 프로세스 및/또는 실행 스레드 내에 상주할 수도 있고, 컴포넌트는 하나의 컴퓨터에 국부화되고/되거나 2 이상의 컴퓨터들 사이에서 분산될 수도 있다. 부가적으로, 이들 컴포넌트들은 다양한 데이터 구조들이 저장된 다양한 컴퓨터 판독가능 매체로부터 실행할 수도 있다. 컴포넌트들은 하나 이상의 데이터 패킷들을 갖는 신호 (예를 들어, 로컬 시스템에서, 분산 시스템에서 및/또는 신호에 의한 다른 시스템들과의 인터넷과 같은 네트워크에 걸쳐 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터의 데이터) 에 따라서와 같은 로컬 및/또는 원격 프로세스들에 의해 통신할 수도 있다.
이 설명에 있어서, 용어들 "통신 디바이스", "무선 디바이스", "무선 전화기", "무선 통신 디바이스", 및 "무선 핸드셋" 은 대체가능하게 사용된다. 제 3 세대 ("3G") 및 제 4 세대 ("4G") 무선 기술의 도래로, 더 큰 대역폭 가용성은 더 다양한 무선 능력들을 갖는 더 휴대성의 컴퓨팅 디바이스들을 인에이블시켰다.
이 설명에 있어서, 용어 "휴대용 컴퓨팅 디바이스" ("PCD") 는 배터리와 같은 제한된 용량의 전력 공급부에 대해 동작하는 임의의 디바이스를 설명하는데 사용된다. 배터리 동작식 PCD들이 수십 년 동안 사용되고 있었지만, 제 3 세대 ("3G") 및 제 4 세대 ("4G") 무선 기술의 도래와 연결된 재충전가능 배터리들에 있어서의 기술적 진보는 다중의 능력들을 갖는 다수의 PCD들을 인에이블시켰다. 따라서, PCD 는, 다른 것들 중에서, 셀룰러 전화기, 위성 전화기, 페이저, PDA, 스마트폰, 네비게이션 디바이스, 스마트북 또는 리더, 미디어 플레이어, 전술한 디바이스들의 조합, 및 무선 접속을 갖는 랩탑 컴퓨터일 수도 있다.
도 1: PCD (100) 에서 IC들 (209B) 의 슬립 상태들을 관리하는 엘리먼트들
도 1 을 참조하면, 이 도면은 PCD (100) 의 인터럽트 제어기들 (209B) 의 슬립 상태들을 관리하는 방법들 및 시스템들을 구현하기 위한 무선 전화기의 형태의 PCD (100) 의 예시적인 비한정적 양태의 기능 블록 다이어그램이다. 도시된 바와 같이, PCD (100) 는, 멀티코어 제 1 중앙 프로세싱 유닛 ("CPU"; 110A), 단일 코어 타입인 제 2 CPU (110B), 및 아날로그 신호 프로세서 (126) 를 포함하는 온-칩 시스템 (102) 을 포함한다. 이들 프로세서들 (110A, 110B, 및 126) 은 함께 커플링될 수도 있다. 제 1 CPU (110A) 는, 당업자에 의해 이해되는 바와 같이, 제 0 코어 (222), 제 1 코어 (224), 및 제 N 코어 (230) 를 포함할 수도 있다. 대안적인 실시형태에 있어서, 2개의 CPU들 (110) 대신, 2개의 디지털 신호 프로세서("DSP")들이 또한 당업자에 의해 이해되는 바와 같이 채용될 수도 있다.
도 1 은 제어기 (101), 전력 관리 집적 회로 ("PMIC"; 157), 상시 접속 전력 관리기 ("APM"; 177), 및 레지스터들을 갖춘 상시 접속 인터럽트 제어기 ("AIC"; 209A) 를 포함하는 PCD (100) 를 도시한다. APM (177) 과 AIC (209A) 에 대한 용어 "상시 접속" 은 APM (177) 과 AIC (209A) 가 통상적으로, 다른 디바이스들과 통신하기 위해 항상 충분하고 일정한 전력을 수신하는 것을 의미한다.
PMIC (157) 는 상시 접속 전력 관리기 (177) 로부터 수신된 제어 신호들에 응답하여 인터럽트 제어기들 (209B) 뿐만 아니라 프로세서들 (110, 126) 로의 전력을 턴 온 및 턴 오프하는 책임이 있다. 상시 접속 인터럽트 제어기 (209A), 제어기 (101), 및 마스터 프로세서들 (110) 의 추가 상세들은 도 2 에 도시되고, 하기에 설명될 것이다. 제어기 (101) 및 상시 접속 전력 관리기 (177) 는 각각의 프로세서 (110, 126) 의 개별 인터럽트 제어기들 (209B) 에 대한 슬립 상태들을 관리하는 책임이 있다.
도 1 은 또한, PCD (100) 가 메모리 또는 메시지 RAM (112) 을 포함할 수도 있는 것을 도시한다. 제어기 (107) 및 마스터 프로세서들 (110, 126) 은 메시지 RAM (112) 에 액세스할 수도 있다. 이들 디바이스들은 하기에서 설명되는 것과 같이, 마스터 프로세서들 (110, 126) 에서 IC들 (209B) 의 슬립 상태들을 관리하기 위해 메시지 RAM (112) 에 액세스한다.
특정 양태에서, 본 명세서에 설명된 방법 단계들 중 하나 이상은 제어기 (101), 상시 접속 전력 관리기 (177) 및 상시 접속 인터럽트 제어기 (209A) 의 부분들을 형성하는, 메모리 (112) 에 저장된 실행가능한 명령들 및 파라미터들에 의해 구현될 수도 있다. 본 명세서에 설명된 하나 이상의 방법 단계들은 또한, 상기 3 개의 엘리먼트들의 각각에 의해 실행되는 실행가능한 명령들 및 파라미터들에 의해 구현될 수도 있다. 일부 도면에 도시된 예시적인 실시형태들이 인터럽터 제어기 전력 시스템 (107) 의 몇몇 부분들 (도 2 참조) 이 하드웨어에서 구현되는 것을 도시하지만, 이러한 디바이스들의 기능들 및 특징들은 또한 소프트웨어 또는 이들의 조합에서 구현될 수도 있음을 당업자는 인식할 것이다.
인터럽트 제어기 전력 시스템 (107) 의 부분들 (도 2 참조) 은 제어기 (101) 를 포함하며, CPU들 (110), 아날로그 신호 프로세서 (126), 또는 다른 프로세서에 의해 실행될 수도 있다. 또한, 인터럽트 제어기 전력 시스템 (107), 프로세서들 (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), 전력 관리 집적 회로 (157), 및 전력 공급부 (180) 는 온-칩 시스템 (102) 외부에 있다.
도 2 는, 제어기 (101), 상시 접속 전력 관리기 ("APM"; 177), 상시 접속 인터럽트 제어기 (209A), 전력 관리 집적 회로 ("PMIC"; 157), 및 메시지 RAM (112) 를 포함하는 인터럽트 제어기 전력 시스템 (107) 의 상세들을 도시하는 기능 블록 다이어그램이다. PCD (100) 는 하나 이상의 제어기 모듈(들)(101) 을 가질 수도 있다.
본 설명의 나머지 부분들에 대하여, 제어기 모들(들)(101) 은 복수가 아닌 단수로, 즉 제어기 (101) 로 지칭될 것이다. 당업자는, 제어기 (101) 가 본 발명으로부터 일탈함없이, 다양한 부분들로 분할되고 상이한 프로세서들 (110, 126) 에 의해 실행될 수도 있음을 인식할 것이다. 대안적으로, 제어기 (101) 는 단일 엘리먼트로 구성될 수도 있고, 단일 프로세서 (110 또는 126) 에 의해 실행될 수도 있다. 제어기 (101) 는 당업자에 의해 이해되는 것과 같이, 하드웨어 및/또는 펌웨어로부터 형성될 수도 있다.
일반적으로, 제어기 (101) 는 각각의 프로세서 (110) 의 일부인 인터럽트 제어기들 (209B) 의 슬립 상태들을 관리하는 책임이 있을 수도 있다. 제어기 (101) 는 상시 접속 전력 관리기 (177) 및 레지스터들을 이용하는 상시 접속 인터럽트 제어기 (209A) 와 통신한다. 제어기 (101) 는 허가 테이블 (211) 을 보유한다. 허가 테이블 (211) 은 상시 접속 인터럽트 제어기 (290A) 에서의 인터럽트들 중 어떤 것이 프로세서들 (110) 에게 활용하도록 허용되는지 나타내는 기능을 한다. 이는 PCD (100) 에게, 당업자에 의해 이해되는 것과 같은 시스템 소프트웨어 ("SW") 분할로 인해 프로세서 (110) 가 액세스하지 못하는 인터럽트 소스를 프로세서 (110) 가 이용하는 것을 제한하게 한다.
상시 접속 전력 관리기 (177) 는 전력 관리 집적 회로 ("PMIC"; 157) 에 커맨드들을 발행하는데 이용되는 하드웨어를 포함할 수도 있다. PMIC (157) 는 각각의 개별 프로세서 (110) 에 전력을 공급하는 책임이 있다. 상시 접속 전력 관리기 (177) 는 복수의 레지스터들에 커플링될 수도 있거나, 상시 접속 전력 관리기 (177) 는 복수의 레지스터들을 포함할 수도 있다. 이러한 레지스터들의 추가 상세들이 도 3 과 함께 하기에서 설명될 것이다.
제어기 (101) 는 각각의 마스터 프로세서 (110) 의 인터럽트 제어기들 (209B) 의 슬립 상태들에 관한 결정들을 실행한다. 제어기 (101) 는 또한, 메시지 RAM (112) 내에 포함된 정보에 기초하여 상시 접속 전력 관리기 (177) 에 커맨드들을 발행한다. 도 2 에 도시된 것과 같이, 메시지 RAM (112) 는 상시 접속 인터럽트 제어기 (209A) 의 레지스터들을 미러링 (mirror) 하는 메모리 엘리먼트들을 갖는다. 메시지 RAM (112) 의 상세들은 도 4 와 함께 하기에서 설명될 것이다. APM (177) 은 상시 접속 인터럽트 제어기 (209A) 에 커플링되고 및/또는 APM (177) 은 상시 접속 인터럽트 제어기 (209A) 를 포함할 수도 있다.
예시적인 실시형태가 메모리용 RAM (112) 을 이용하는 반면, 당업자에 의해 인식되는 것과 같이, 다른 타입의 메모리 디바이스들 또는 메모리 디바이스들의 조합이 메시지 RAM (112) 을 위해 채용될 수도 있다. 다른 메모리 디바이스들은 동적 랜덤 액세스 메모리 ("DRAM") "오프-칩" (102), 정적 랜덤 액세스 메모리 ("SRAM") "온-칩" (122), 캐시 메모리, 전기적으로 소거가능한 프로그래밍가능 판독 전용 메모리 ("EEPROM") 등을 포함하지만, 이에 제한되지 않는다.
전술된 것과 같이, 메시지 RAM (112) 은 상시 접속 인터럽트 제어기 (177) 의 레지스터들을 미러링하는 메모리 엘리먼트들을 포함할 수도 있다. 각각의 마스터 프로세서 (110) 는 메시지 RAM (112) 의 지정된 섹션 또는 부분을 갖는다. 메시지 RAM (112) 의 각각의 지정된 섹션은 할당된 마스터 프로세서 (110) 로 기록되고, 할당된 마스터 프로세서 (110) 에 의해 판독될 수도 있다. 제어기 (101) 는 메시지 RAM (112) 의 모든 프로세서 섹션들로 액세스할 수도 있고, 또한 이러한 지정된 섹션들로의 액세스를 판독 및 기록할 수도 있다.
도 2 에 도시된 것과 같이, 각각의 마스터 프로세서 (110) 는 자기 소유의 인터럽트 제어기 (209B), 서브시스템 전력 관리기 ("SPM"; 207), 및 로컬 인터럽트 테이블 (205) 을 포함한다. 각각의 인터럽트 제어기 (209) 는 통상적으로 신호들을 CPU (110) 상의 단일 인터럽트 핀 (비도시) 으로 전달하기 전에 인터럽트들을 함께 수집한다. 이는 CPU (110) 상의 인터럽트 핀들 (비도시) 을 절약할 수도 있고, 시스템들을 설계할 경우 유연성을 제공할 수도 있다. 각각의 IC (209) 는 인터럽트들을 제어하는 마스크 및 상태 레지스터들 (비도시) 을 가질 수도 있다. 각각의 SPM (207) 은 프로세서 (110) 내에 존재하는 하드웨어의 전력을 관리할 책임이 있다.
CPU (110) 의 로컬 인터럽트 테이블 (205) 은 상시 접속 전력 관리기 ("APM") 인터럽트 값들 및 로컬 인터럽트 값들을 포함한다. 로컬 인터럽트 테이블 (205) 에 관한 추가의 상세들은 도 5 와 함께 하기에서 설명된다.
APM (177) 은 PMIC (157) 를 통해 각각의 프로세서 (110) 의 인터럽트 제어기들 ("ICs"; 209B) 을 모니터하고 제어할 책임이 있을 수도 있다. APM (177) 은 프로세서들 (110) 의 IC들 (209B) 을 저전력 또는 슬립 상태들로 배치할뿐만 아니라 IC들 (209) 을 슬립 상태들로부터 가져오기 위해 제어 신호들을 PMIC (157) 로 전송할 수도 있다.
도 3 은 도 2 의 상시 접속 인터럽트 제어기 (209A) 에 대한 레지스터들의 기능 블록 다이어그램이다. 레지스터들은 인에이블 레지스터 (303), 타입/검출 레지스터 (306), 극성 레지스터 (309), 상태 레지스터 (312) 및 클리어 레지스터 (315) 를 포함할 수도 있다. 인에이블 레지스터 (303) 는 레지스터 (303) 의 상태에 의존하여, 상시 접속 전력 관리기 (177) 로 전송되는 인터럽트 신호를 활성화시킨다. 타입/검출 레지스터 (306) 는 인터럽트 신호를 활성화시키기 위해 상시 접속 인터럽트 제어기 (209A) 에 의해 검출된 신호의 타입을 식별한다.
타입/검출 레지스터 (306) 는 2 개의 신호 타입들: 에지 신호 및 레벨 신호 중 하나를 명시할 수도 있다. 극성 레지스터 (309) 는 타입/검출 레지스터 (306) 에서 명시된 신호의 극성을 식별할 수도 있다. 극성 레지스터 (309) 는 타입/검출 레지스터 (306) 에서 명시된 신호가 에지 신호라면, 상승 또는 하강 값을 포함할 수도 있다. 대안적으로, 극성 레지스터 (309) 는 타입/검출 레지스터 (306) 에 명시된 신호가 레벨 타입 신호라면 하이 또는 로우 값을 포함할 수도 있다.
상태 레지스터 (312) 는 어느 인터럽트들이 발생할 수도 있는지와 상시 접속 인터럽트 제어기 (209A) 에 의해 검출되는지를 열거할 수도 있다. 클리어 레지스터 (315) 는 상시 접속 인터럽트 제어기 (209A) 에 의한 인터럽트 신호의 추적을 중단하거나 중지할 수도 있다. 제어기 (101) 는 상시 접속 인터럽트 제어기 (209A) 의 레지스터들에 기록 및 판독할 수도 있다. 제어기 (101) 는 도 4 와 함께 추가로 상세히 설명되는 것과 같이, 메시지 RAM (112) 내에 포함된 정보에 기초하여 이러한 레지스터들의 콘텐츠를 업데이트한다.
도 4 는 메시지 랜덤 액세스 메모리 ("RAM"; 112) 의 기능 블록 다이어그램이다. 메시지 RAM (112) 은 상시 접속 인터럽트 제어기 (209A) 내에 포함된 레지스터들을 미러링하는 메모리 엘리먼트들을 포함할 수도 있다. 도 4 에 도시된 것과 같은 예시적인 실시형태에서, 각각의 마스터 프로세서 (110) 에는 상시 접속 인터럽트 제어기 (209A) 에서 발견된 레지스터들을 미러링하는 자기 소유의 레지스터들의 세트가 할당된다.
각각의 마스터 프로세서 (110) 는 인에이블 메모리 엘리먼트 (303), 타입/검출 메모리 엘리먼트 (306), 극성 메모리 엘리먼트 (309), 상태 메모리 엘리먼트 (312), 및 클리어 메모리 엘리먼트 (315) 를 갖는다. 각각의 마스터 프로세서 (110) 에 할당된 메시지 RAM (112) 의 메모리 엘리먼트들 내에 포함된 신호 프로파일들은 특정 마스터 프로세서 (110) 에 대한 슬립 상태를 개시하기 위한 조건들을 식별한다. 메시지 RAM (112) 의 각각의 프로세서 섹션의 이러한 신호 프로파일들은 그들의 할당된 마스터 프로세서 (110) 에 의해 변경가능하거나 조정가능하다.
메시지 RAM (112) 의 메모리 엘리먼트들은 또한 가상 상시 접속 전력 관리기 레지스터들이라 지칭되며, 또한 특정 마스터 프로세서 (110) 에 대한 슬립 상태를 종료하기 위한 조건들을 식별할 수도 있다. 각각의 마스터 프로세서 (110) 는 메시지 RAM (112) 의 메모리 엘리먼트들에 저장된 상태들을 기록 및 판독할 수도 있다.
임계의, 디스에이블, 레벨, 에지, 하이, 로우, 캡처됨, 널 및 클리어와 같은 예시적인 상태들이 도 4 의 메시지 RAM (112) 에 도시된다. 그러나, 이러한 상태들은 이진 코드의 비트들로 구현될 수도 있음을 당업자는 인식할 것이다. 예를 들면, 타입/검출 메모리 엘리먼트 (306) 에 대한 에지 검출 상태는 "0b000" 의 이진 값을 포함할 수도 있지만, 타입/검출 메모리 엘리먼트 (306) 에 대한 로우 검출 상태는 "0b010" 의 이진 값을 포함할 수도 있다. 당업자에 의해 이해되는 것과 같이, 다른 이진 값들은 메모리 (112) 로 추적된 검출된 상태들 각각을 위해 채용될 수도 있다.
도 5 는 전술된 도 2 에 도시된 것과 같이, 마스터 프로세서 (110) 에 인접하여 상주하는 로컬 인터럽트 테이블 (205) 의 기능 블록 다이어그램이다. 각각의 마스터 프로세서 (110) 의 로컬 인터럽트 테이블 (205) 은 상시 접속 전력 관리기 인터럽트 값들을, 인터럽트 제어기 (209B) 가 이해하는 로컬 인터럽트 값들로 변환하는 값들을 포함한다. 이러한 변환된 값들은 메시지 RAM (112) 을 통해 마스터 프로세서 (110) 로부터 상시 접속 전력 관리기 (177) 로 전달될 수도 있다.
예를 들면, 테이블 (205) 에서 제 1 APM 값은 5 의 값을 포함한다. 대응하는 로컬 인터럽트 값은 126 의 값을 포함할 수도 있다. 5 의 APM 인터럽트 값이 제어기 (101) 로부터 프로세서 (110) 로 전달될 때마다, 프로세서 (110) 는 이러한 값을 126 의 로컬 인터럽트 값으로 변환할 수도 있다. 로컬 인터럽트 값은 프로세서 (110) 로부터 CPU 인터럽트 제어기 (209B) 로 전달될 수도 있다.
도 6 은 복수의 CPU들 (110) 의 하나 이상의 인터럽트 제어기들 ("ICs"; 209B) 을 슬립 상태로 배치하는 방법 (600) 을 도시하는 논리 흐름도이다. 블록 (605) 은 방법 (600) 의 제 1 단계이다. 블록 (605) 에서, 마스터 프로세서 (110) 는 슬립 상태로 들어갈 준비가 된 것을 결정한다. 슬립 상태는 또한, 당업자에 의해 이해되는 것과 같이 저전력 상태로 알려져 있다.
다음에, 블록 (610) 에서, 마스터 프로세서 (110) 는 메시지 RAM (112) 에서의 가상 상시 접속 전력 관리기 레지스터들의 값들을, 슬립 상태에 들어가기 위해 요구되는 인터럽트 세팅들로 세팅하거나 업데이트할 수도 있다. 이러한 세팅들은 도 4 에 도시된 것과 같이, 대응하는 인에이블 가상 레지스터 (303), 타입/검출 가상 레지스터 (306), 극성 가상 레지스터 (309) 및 클리어 가상 레지스터 (315) 에 대한 값들을 포함할 수도 있다.
블록 (615) 에서, 메시지 RAM (112) 내의 가상 상시 접속 전력 관리자 레지스터들에 대한 값들을 방금 세팅한 마스터 프로세서 (110) 는 인터럽트 신호를 제어기 (101) 로 전송할 수도 있다. 이러한 인터럽트 신호는 프로세서 (110) 가 메시지 RAM (112) 내의 가상 레지스터들에 실행한 변경들을 제어기 (101) 에 경고할 수도 있다.
블록 (620) 에서, 제어기 (101) 는 현재 프로세서 (110) 가 상시 접속 인터럽트 제어기 (209A) 에서 임의의 레지스터들의 상태를 변경시키도록 허가되는지 결정하기 위해 허가 테이블 (211) 을 검토한다. 허가 테이블 (211) 에 대한 이러한 검색에 기초하여, 제어기 (101) 는 메시지 RAM (112) 의 가상 상시 접속 전력 관리기 레지스터들 내의 값들의 상태 또는 업데이트들을, 다른 마스터 프로세서 (110) 에 할당된 가상 레지스터들에 존재하는 값들과 함께 병합할 수도 있다. 예를 들면, 제어기 (101) 는 제 1 마스터 프로세서 A (110A) 에 할당된 가상 레지스터들의 값들을 도 4 에 도시된 것과 같은 제 2 및 제 3 마스터 프로세서들 B, C (110B, 110C) 에 할당된 가상 레지스터들의 값들과 병합할 수도 있다.
다음에, 블록 (625) 에서, 제어기 (101) 는 메시지 RAM (112) 으로부터의 값들의 병합된, 합성 세트를, 상시 접속 인터럽트 제어기 (209A) 에서의 실제 레지스터들로 전송할 수도 있다. 블록 (630) 에서, 상시 접속 전력 관리기 (177) 는 상시 접속 인터럽트 제어기 (209A) 에서의 레지스터들의 업데이트된 값들을 판독하고, 대응하는 슬립 신호들을 전력 관리 집적 회로 ("PMIC"; 157) 로 발행한다. 블록 (635) 에서, PMIC (157) 는 지정된 마스터 프로세서들 (110) 및 임의의 대응하는 인터럽트 제어기들 (209B) 을 슬립 상태로 배치하기 위해, 이들로 전달되는 전력을 변경시킨다. 그 후에, 방법 (600) 은 종료한다.
도 7a 및 도 7b 는 하나 이상의 인터럽트 제어기들 ("ICs"; 209B) 및 복수의 마스터 프로세서들 (110) 을 슬립 상태로부터 웨이크업하는 방법 (700) 을 예시하는 로직 흐름도들이다. 상세하게는, 도 7a 는 인터럽트 제어기 (209B) 를 슬립 상태로부터 웨이크업하는 방법 (700) 의 일부를 예시한다. 도 7b 는 제어기 (209B) 에 대응하여 마스터 프로세서 (110) 를 웨이크업하는 방법 (700) 의 일부를 예시한다.
블록 (705) 은 방법 (700) 의 제 1 단계이다. 블록 (705) 에서, 웨이크업 이벤트는 상시 접속 인터럽트 제어기 (209A) 의 레지스터들에서의 인터럽트 세팅들에 기초하여 상시 접속 전력 관리기 (177) 에 의해 검출될 수도 있다. 상시 접속 인터럽트 제어기 (209A) 의 레지스터들에서의 세팅들은 제어기 (101) 에 의해 메시지 RAM (112) 에 열거된 이러한 세팅들을 병합한 직접적인 결과이다.
블록 (710) 에서, 파워-온 신호가 제어기 (101) 및 마스터 인터럽트 제어기 (209A) 를 웨이크업하기 위해 PMIC (157) 로 전송된다. 다음에, 블록 (715) 에서, 상시 접속 전력 관리기 (209A) 에서의 레지스터들의 현재 상태가 제어기 (101) 에 의해 판독된다. 다음에, 블록 (720) 에서, 각각의 마스터 프로세서 (110) 에 대하여, 제어기는 메시지 RAM (112) 내의 특정 마스터에 할당된 값들의 액티브 세트에 허가 테이블 (211) 을 비교한다. 다음에, 블록 (725) 에서, 제어기 (101) 는 블록 (720) 에서 실행된 비교들을 함께 병합하고, 메시지 RAM (112) 에서 상시 접속 전력 관리기 (177) 에 대한 합성 마스터 프로세서 가상 상태를 준비한다.
결정 블록 (730) 에서, 제어기 (101) 에 의해 메시지 RAM (112) 에서 확립된 마스터 프로세서 가상 상태에 기초하여, 제어기 (101) 는 특정 마스터 프로세서 (110) 에게 그 마스터 프로세서 (110) 의 일부인 인터럽트 제어기 (209B) 를 웨이크업할 것을 요구하는 인터럽트들이 생성되는 것이 가능한지를 결정한다. 만약 결정 블록 (730) 에 대한 질의가 네거티브이면, 그 후에 "아니오" 브랜치 다음에 블록 (745) 이 뒤따르며, 블록 (745) 에서, 마스터 인터럽트 제어기 (209A) 의 상시 접속 전력 관리 레지스터들에서 모든 상시 접속 전력 관리기 물리적 인터럽트들이 제어기 (101) 에 의해 클리어된다.
결정 블록 (730) 에 대한 질의가 포지티브이면, 그 후에 "예" 브랜치 다음에 블록 (735) 이 뒤따르며, 블록 (735) 에서, 제어기는 하나 이상의 인터럽트 제어기들 (209B) 과 마스터 프로세서들 (110) 로 마스터 웨이크업 신호를 송신 또는 전송한다. 블록 (740) 에서, 각각의 인터럽트 제어기 (209) 는 그 슬립 또는 저전력 상태로부터 어웨이크닝된다. 블록 (740) 이후와 블록 (745) 이후, 방법 (700) 은 종료한다.
이제 도 7b 를 참조하면, 상기 도면은 하나 이상의 마스터 프로세서들 (110) 을 슬립 또는 저전력 상태로부터 웨이크업하는 방법 (700) 의 일부를 예시한다. 방법 (700) 의 블록 (750) 은 도 7a 의 블록 (735) 이후에 계속될 수도 있다. 블록 (750) 에서, 마스터 프로세서 (110) 는 CPU 인터럽트 제어기 (209B) 를 통해 제어기 (101) 로부터 인터럽트 신호를 수신할 수도 있다.
블록 (755) 에서, 각각의 마스터 프로세서 (110) 는 메시지 RAM (112) 에서 그 할당된 가상 상태 레지스터들을 판독할 수도 있다. 블록 (760) 에서, 메시지 RAM (112) 에서의 가상 APM 상태 레지스터들 내의 각각의 액티브 인터럽트에 대하여, 특정 마스터 프로세서 (110) 는 그 마스터 프로세서 (110) 내에 포함된 로컬 인터럽트 테이블 (211) 에서 대응하는 로컬 인터럽트 등가물을 검색할 것이다.
다음에, 블록 (765) 에서, 마스터 프로세서 (110) 는 블록 (760) 에서 수행된 검색 기능에 기초하여 변환된 인터럽트 신호를 로컬 인터럽트 제어기 (209B) 로 송신할 것이다. 블록 (770) 에서, 마스터 프로세서 (110) 는 블록 (760) 에서 판독된 값으로 메시지 RAM (112) 의 클리어 레지스터 (315) 에 기록하는 커맨드를 발행한다.
블록 (775) 에서, 마스터 프로세서 (110) 는 인터럽트를 제어기 (101) 로 송신한다. 이러한 인터럽트는 마스터 프로세서 (110) 에 의해 메시지 RAM (112) 에 수행된 변경을 제어기에 경고한다.
다음에, 블록 (780) 에서, 클리어 레지스터 (315) 에 열거된 인터럽트들은 제어기 (101) 에 의해 메시지 RAM (112) 에서의 상태 레지스터 (312) 로부터 제거된다. 결정 블록 (785) 에서, 제어기 (101) 는 각각의 마스터 프로세서 (110) 에 대하여, 메시지 RAM (112) 에서 값들의 상태를 검토한다. 메시지 RAM (112) 의 상기 검토에 기초하여, 제어기 (101) 는 특정 마스터 프로세서 (110) 에게 슬립 상태로부터 웨이크업할 것을 요구하는 인터럽트들이 생성되는 것이 가능한지 결정한다.
결정 블록 (785) 에 대한 질의가 네거티브이면, 그 후에 "아니오" 브랜치 다음에 프로세스가 종료된다. 결정 블록 (785) 에 대한 질의가 포지티브이면, 그 후에 "예" 브랜치 다음에 블록 (790) 이 뒤따르며, 블록 (790) 에서 제어기 (101) 는 웨이크업 신호를 하나 이상의 마스터 프로세서들 (110) 로 전송한다.
블록 (795) 에서, 웨이크업 신호를 수신하면, 각각의 마스터 프로세서 (110) 는 그 슬립 상태 또는 저전력 상태에서 나가기 위해 자기 소유의 웨이크업 시퀀스를 개시한다. 그 후에, 방법 (700) 은 종료한다.
이러한 인터럽트 제어기 전력 시스템 (107) 과 방법들 (600, 700) 은 프로세서들 (110) 의 IC들 (209B) 이 슬립 상태에 배치되도록 하여 PCD (100) 에 대한 전력이 보존될 수 있게 한다. 시스템 (107) 은 PCD (100) 내의 복수의 프로세서들 (110) 에 대한 슬립 상태들의 집중된 관리를 제공한다. 복수의 프로세서들 (110) 에 대하여 더 많은 슬립 상태들을 허용함으로써, PCD (100) 에 의해 소비되는 평균 전력은 인터럽트 제어기 전력 시스템 (107) 이 없는 PCD (100) 보다 낮을 수도 있다.
본 명세서에 설명된 프로세스들 또는 프로세스 플로우들에서의 특정 단계들은 자연스럽게, 본 발명이 설명된 바와 같이 기능하도록 다른 것들보다 선행하는 것을 당업자는 인식할 것이다. 하지만, 시스템 및 방법은, 그러한 순서 또는 시퀀스가 본 발명의 기능을 변경하지 않는다면, 설명된 단계들의 순서로 한정되지 않는다. 즉, 일부 단계들은 개시된 시스템 및 방법으로부터 일탈함없이 다른 단계들 이전에, 그 이후에 또는 그와 병렬로 (실질적으로 동시에) 수행될 수도 있음이 인식된다.
일부 경우들에 있어서, 특정 단계들은, 당업자에 의해 이해되는 바와 같은 방법으로부터 일탈함없이 생략되거나 수행되지 않을 수도 있다. 또한, "그 이후", "그 후", "다음으로" 등과 같은 단어들은 단계들의 순서를 한정하도록 의도되지 않는다. 이들 단어들은 단순히, 예시적인 방법의 설명을 통해 독자를 가이드하도록 사용된다.
상기 개시물의 관점에서, 프로그래밍에 있어서의 당업자는, 예를 들어, 본 명세서에 있어서의 플로우 차트들 및 관련 설명에 기초하여 어려움 없이, 개시된 발명을 구현하기 위해 컴퓨터 코드를 기입하거나 적절한 하드웨어 및/또는 회로들을 식별할 수 있다. 따라서, 프로그램 코드 명령들 또는 상세한 하드웨어 디바이스들의 특정 세트의 개시는 본 발명을 제조 및 이용하는 방법의 적절한 이해에 필수적인 것으로 고려되지 않는다. 청구된 컴퓨터 구현 프로세스들의 본 발명의 기능은, 다양한 프로세스 플로우들을 예시할 수도 있는 도면들과 함께 상기 설명에서 더 상세히 설명된다.
하나 이상의 예시적인 양태들에 있어서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에서 구현될 수도 있다. 소프트웨어에서 구현된다면, 그 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상으로 저장 또는 전송될 수도 있다. 컴퓨터 판독가능 매체는, 일 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 컴퓨터 저장 매체 및 통신 매체 양자를 포함한다.
저장 매체는, 컴퓨터에 의해 액세스될 수도 있는 임의의 가용 매체일 수도 있다. 한정이 아닌 예로서, 그러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장부, 자기 디스크 저장부 또는 다른 자기 스토리지 디바이스들, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 수록 또는 저장하는데 이용될 수도 있고 컴퓨터에 의해 액세스될 수도 있는 임의의 다른 매체를 포함할 수도 있다.
또한, 임의의 커넥션이 컴퓨터 판독가능 매체로 적절히 명명된다. 예를 들어, 동축 케이블, 광섬유 케이블, 꼬임쌍선, 디지털 가입자 라인 ("DSL"), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 소프트웨어가 송신된다면, 동축 케이블, 광섬유 케이블, 꼬임쌍선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의에 포함된다.
본 명세서에서 사용되는 바와 같은 디스크 (disk) 및 디스크 (disc) 는 컴팩트 디스크 ("CD"), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 ("DVD"), 플로피 디스크 및 블루레이 디스크를 포함하며, 여기서, 디스크 (disk) 는 통상적으로 데이터를 자기적으로 재생하지만 디스크 (disc) 는 레이저를 이용하여 데이터를 광학적으로 재생한다. 상기의 조합들이 또한, 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
따라서, 선택된 양태들이 상세히 도시 및 설명되었지만, 다양한 치환물들 및 변경물들이 다음의 청구항들에 의해 정의되는 바와 같은 본 발명의 사상 및 범위로부터 일탈함없이 그 안에서 행해질 수도 있음이 이해될 것이다.

Claims (40)

  1. 휴대용 컴퓨팅 디바이스 내에 포함된 프로세서들의 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 방법으로서,
    상기 휴대용 컴퓨팅 디바이스 내에 포함된 스토리지 디바이스에서 웨이크업 인터럽트 세팅들을 정의하는 단계;
    상기 스토리지 디바이스에서 웨이크업 세팅들이 정의되었다는 경고를 생성하는 단계;
    상기 휴대용 컴퓨팅 디바이스 내에 포함된 복수의 프로세서들과 대응하는 복수의 인터럽트 제어기들에 대하여 상기 스토리지 디바이스에서 웨이크업 인터럽트 세팅들을 검토하는 단계;
    상기 스토리지 디바이스에서 상기 웨이크업 세팅들을 병합하는 단계; 및
    인터럽트 제어기들을 슬립 상태로 배치하기 위한 신호들을 발행하는 책임이 있는 전력 관리기에 상기 병합된 웨이크업 세팅들을 전송하는 단계를 포함하는, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 방법.
  2. 제 1 항에 있어서,
    프로세서가 인터럽트 제어기의 상태를 변경할 권한을 가지는지 결정하기 위해 허가 테이블을 검토하는 단계를 더 포함하는, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 방법.
  3. 제 1 항에 있어서,
    상기 병합된 웨이크업 세팅들을 상기 전력 관리기 내의 복수의 레지스터들로 전송하는 단계를 더 포함하는, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 방법.
  4. 제 1 항에 있어서,
    상기 웨이크업 세팅들은 인에이블 세팅, 타입/검출 세팅, 극성 (polarity) 세팅, 상태 세팅 및 클리어 세팅 중 적어도 하나를 포함하는, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 방법.
  5. 제 1 항에 있어서,
    상기 스토리지 디바이스는 상기 전력 관리기 내에 포함된 레지스터들을 미러링하는 메모리 엘리먼트들을 포함하는, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 방법.
  6. 제 1 항에 있어서,
    상기 전력 관리기로부터의 신호들을 전력 관리 집적 회로 (PMIC) 로 중계하는 단계를 더 포함하는, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 방법.
  7. 제 1 항에 있어서,
    상기 전력 관리기로부터의 인터럽트 신호를 프로세서로 전송하는 단계를 더 포함하는, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 방법.
  8. 제 1 항에 있어서,
    웨이크업 세팅들을 위해 특정 프로세서에 할당된 상기 스토리지 디바이스의 일부분을 검토하는 단계를 더 포함하는, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 방법.
  9. 제 8 항에 있어서,
    로컬 인터럽트 테이블을 이용하여 상기 스토리지 디바이스로부터의 상기 웨이크업 세팅들을 변환하는 단계를 더 포함하는, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 방법.
  10. 제 9 항에 있어서,
    상기 특정 프로세서의 인터럽트 제어기에 상기 변환된 웨이크업 세팅들을 송신하는 단계를 더 포함하는, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 방법.
  11. 휴대용 컴퓨팅 디바이스 내에 포함된 프로세서들의 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 컴퓨터 시스템으로서,
    프로세서를 포함하며,
    상기 프로세서는,
    상기 휴대용 컴퓨팅 디바이스 내에 포함된 스토리지 디바이스에서 웨이크업 인터럽트 세팅들을 정의하고;
    상기 스토리지 디바이스에서 웨이크업 세팅들이 정의되었다는 경고를 생성하고;
    상기 휴대용 컴퓨팅 디바이스 내에 포함된 복수의 프로세서들과 대응하는 복수의 인터럽트 제어기들에 대하여 상기 스토리지 디바이스에서 웨이크업 인터럽트 세팅들을 검토하고;
    상기 스토리지 디바이스에서 상기 웨이크업 세팅들을 병합하며; 그리고
    인터럽트 제어기들을 슬립 상태로 배치하기 위한 신호들을 발행하는 책임이 있는 전력 관리기에 상기 병합된 웨이크업 세팅들을 전송하도록 동작가능한, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 컴퓨터 시스템.
  12. 제 11 항에 있어서,
    상기 프로세서는 추가로,
    프로세서가 인터럽트 제어기의 상태를 변경할 권한을 가지는지 결정하기 위해 허가 테이블을 검토하도록 동작가능한, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 컴퓨터 시스템.
  13. 제 11 항에 있어서,
    상기 프로세서는 추가로,
    상기 병합된 웨이크업 세팅들을 상기 전력 관리기 내의 복수의 레지스터들로 전송하도록 동작가능한, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 컴퓨터 시스템.
  14. 제 11 항에 있어서,
    상기 웨이크업 세팅들은 인에이블 세팅, 타입/검출 세팅, 극성 세팅, 상태 세팅 및 클리어 세팅 중 적어도 하나를 포함하는, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 컴퓨터 시스템.
  15. 제 11 항에 있어서,
    상기 스토리지 디바이스는 상기 전력 관리기 내에 포함된 레지스터들을 미러링하는 메모리 엘리먼트들을 포함하는, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 컴퓨터 시스템.
  16. 제 11 항에 있어서,
    상기 프로세서는,
    상기 전력 관리기로부터의 신호들을 전력 관리 집적 회로 (PMIC) 로 중계하도록 동작가능한, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 컴퓨터 시스템.
  17. 제 11 항에 있어서,
    상기 프로세서는 추가로,
    상기 전력 관리기로부터의 인터럽트 신호를 프로세서로 전송하도록 동작가능한, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 컴퓨터 시스템.
  18. 제 11 항에 있어서,
    상기 프로세서는 추가로,
    웨이크업 세팅들을 위해 특정 프로세서에 할당된 상기 스토리지 디바이스의 일부분을 검토하도록 동작가능한, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 컴퓨터 시스템.
  19. 제 18 항에 있어서,
    상기 프로세서는 추가로,
    로컬 인터럽트 테이블을 이용하여 상기 스토리지 디바이스로부터의 상기 웨이크업 세팅들을 변환하도록 동작가능한, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 컴퓨터 시스템.
  20. 제 19 항에 있어서,
    상기 프로세서는 추가로,
    상기 특정 프로세서의 인터럽트 제어기에 상기 변환된 웨이크업 세팅들을 송신하도록 동작가능한, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 컴퓨터 시스템.
  21. 휴대용 컴퓨팅 디바이스 내에 포함된 프로세서들의 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 컴퓨터 시스템으로서,
    상기 휴대용 컴퓨팅 디바이스 내에 포함된 스토리지 디바이스에서 웨이크업 인터럽트 세팅들을 정의하는 수단;
    상기 스토리지 디바이스에서 웨이크업 세팅들이 정의되었다는 경고를 생성하는 수단;
    상기 휴대용 컴퓨팅 디바이스 내에 포함된 복수의 프로세서들과 대응하는 복수의 인터럽트 제어기들에 대하여 상기 스토리지 디바이스에서 웨이크업 인터럽트 세팅들을 검토하는 수단;
    상기 스토리지 디바이스에서 상기 웨이크업 세팅들을 병합하는 수단; 및
    인터럽트 제어기들을 슬립 상태로 배치하기 위한 신호들을 발행하는 책임이 있는 전력 관리기에 상기 병합된 웨이크업 세팅들을 전송하는 수단을 포함하는, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 컴퓨터 시스템.
  22. 제 21 항에 있어서,
    프로세서가 인터럽트 제어기의 상태를 변경할 권한을 가지는지 결정하기 위해 허가 테이블을 검토하는 수단을 더 포함하는, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 컴퓨터 시스템.
  23. 제 21 항에 있어서,
    상기 병합된 웨이크업 세팅들을 상기 전력 관리기 내의 복수의 레지스터들로 전송하는 수단을 더 포함하는, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 컴퓨터 시스템.
  24. 제 21 항에 있어서,
    상기 웨이크업 세팅들은 인에이블 세팅, 타입/검출 세팅, 극성 세팅, 상태 세팅 및 클리어 세팅 중 적어도 하나를 포함하는, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 컴퓨터 시스템.
  25. 제 21 항에 있어서,
    상기 스토리지 디바이스는 상기 전력 관리기 내에 포함된 레지스터들을 미러링하는 메모리 엘리먼트들을 포함하는, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 컴퓨터 시스템.
  26. 제 21 항에 있어서,
    상기 전력 관리기로부터의 신호들을 전력 관리 집적 회로 (PMIC) 로 중계하는 수단을 더 포함하는, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 방법.
  27. 제 21 항에 있어서,
    상기 전력 관리기로부터의 인터럽트 신호를 프로세서로 전송하는 수단을 더 포함하는, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 컴퓨터 시스템.
  28. 제 21 항에 있어서,
    웨이크업 세팅들을 위해 특정 프로세서에 할당된 상기 스토리지 디바이스의 일부분을 검토하는 수단을 더 포함하는, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 컴퓨터 시스템.
  29. 제 28 항에 있어서,
    로컬 인터럽트 테이블을 이용하여 상기 스토리지 디바이스로부터의 상기 웨이크업 세팅들을 변환하는 수단을 더 포함하는, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 컴퓨터 시스템.
  30. 제 29 항에 있어서,
    상기 특정 프로세서의 인터럽트 제어기에 상기 변환된 웨이크업 세팅들을 송신하는 수단을 더 포함하는, 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 컴퓨터 시스템.
  31. 컴퓨터 판독가능 프로그램 코드가 포함되는 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품으로서,
    상기 컴퓨터 판독가능 프로그램 코드는 휴대용 컴퓨팅 디바이스 내에 포함된 프로세서들의 하나 이상의 인터럽트 제어기들의 슬립 상태들을 관리하는 방법을 구현하기 위해 실행되도록 구성되며,
    상기 방법은,
    상기 휴대용 컴퓨팅 디바이스 내에 포함된 스토리지 디바이스에서 웨이크업 인터럽트 세팅들을 정의하는 단계;
    상기 스토리지 디바이스에서 웨이크업 세팅들이 정의되었다는 경고를 생성하는 단계;
    상기 휴대용 컴퓨팅 디바이스 내에 포함된 복수의 프로세서들과 대응하는 복수의 인터럽트 제어기들에 대하여 상기 스토리지 디바이스에서 웨이크업 인터럽트 세팅들을 검토하는 단계;
    상기 스토리지 디바이스에서 상기 웨이크업 세팅들을 병합하는 단계; 및
    인터럽트 제어기들을 슬립 상태로 배치하기 위한 신호들을 발행하는 책임이 있는 전력 관리기에 상기 병합된 웨이크업 세팅들을 전송하는 단계를 포함하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  32. 제 31 항에 있어서,
    상기 방법을 구현하는 상기 컴퓨터 판독가능 프로그램 코드는,
    프로세서가 인터럽트 제어기의 상태를 변경할 권한을 가지는지 결정하기 위해 허가 테이블을 검토하는 것을 더 포함하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  33. 제 31 항에 있어서,
    상기 방법을 구현하는 상기 컴퓨터 판독가능 프로그램 코드는,
    상기 병합된 웨이크업 세팅들을 상기 전력 관리기 내의 복수의 레지스터들로 전송하는 것을 더 포함하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  34. 제 31 항에 있어서,
    상기 웨이크업 세팅들은 인에이블 세팅, 타입/검출 세팅, 극성 세팅, 상태 세팅 및 클리어 세팅 중 적어도 하나를 포함하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  35. 제 31 항에 있어서,
    상기 스토리지 디바이스는 상기 전력 관리기 내에 포함된 레지스터들을 미러링하는 메모리 엘리먼트들을 포함하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  36. 제 31 항에 있어서,
    상기 방법을 구현하는 상기 컴퓨터 판독가능 프로그램 코드는,
    상기 전력 관리기로부터의 신호들을 전력 관리 집적 회로 (PMIC) 로 중계하는 것을 더 포함하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  37. 제 31 항에 있어서,
    상기 방법을 구현하는 상기 컴퓨터 판독가능 프로그램 코드는,
    상기 전력 관리기로부터의 인터럽트 신호를 프로세서로 전송하는 것을 더 포함하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  38. 제 31 항에 있어서,
    상기 방법을 구현하는 상기 컴퓨터 판독가능 프로그램 코드는,
    웨이크업 세팅들을 위해 특정 프로세서에 할당된 상기 스토리지 디바이스의 일부분을 검토하는 것을 더 포함하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  39. 제 38 항에 있어서,
    상기 방법을 구현하는 상기 컴퓨터 판독가능 프로그램 코드는,
    로컬 인터럽트 테이블을 이용하여 상기 스토리지 디바이스로부터의 상기 웨이크업 세팅들을 변환하는 것을 더 포함하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  40. 제 39 항에 있어서,
    상기 방법을 구현하는 상기 컴퓨터 판독가능 프로그램 코드는,
    상기 특정 프로세서의 인터럽트 제어기에 상기 변환된 웨이크업 세팅들을 송신하는 것을 더 포함하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
KR1020137020299A 2011-01-04 2012-01-03 휴대용 컴퓨팅 디바이스에서 인터럽트 제어기들의 슬립 상태들을 관리하는 방법 및 시스템 KR101503628B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161429522P 2011-01-04 2011-01-04
US61/429,522 2011-01-04
US13/069,087 2011-03-22
US13/069,087 US8463970B2 (en) 2011-01-04 2011-03-22 Method and system for managing sleep states of interrupt controllers in a portable computing device
PCT/US2012/020009 WO2012094271A1 (en) 2011-01-04 2012-01-03 Method and system for managing sleep states of interrupt controllers in a portable computing device

Publications (2)

Publication Number Publication Date
KR20130108658A true KR20130108658A (ko) 2013-10-04
KR101503628B1 KR101503628B1 (ko) 2015-03-18

Family

ID=46381821

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137020299A KR101503628B1 (ko) 2011-01-04 2012-01-03 휴대용 컴퓨팅 디바이스에서 인터럽트 제어기들의 슬립 상태들을 관리하는 방법 및 시스템

Country Status (7)

Country Link
US (1) US8463970B2 (ko)
EP (1) EP2661661B1 (ko)
JP (1) JP5705999B2 (ko)
KR (1) KR101503628B1 (ko)
CN (1) CN103282856B (ko)
TW (1) TW201243572A (ko)
WO (1) WO2012094271A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8575993B2 (en) * 2011-08-17 2013-11-05 Broadcom Corporation Integrated circuit with pre-heating for reduced subthreshold leakage
US9535483B2 (en) 2012-12-19 2017-01-03 Intel Corporation Adaptively disabling and enabling sleep states for power and performance
US9383801B2 (en) * 2012-12-21 2016-07-05 Advanced Micro Devices, Inc. Methods and apparatus related to processor sleep states
US9317105B2 (en) * 2013-01-09 2016-04-19 Htc Corporation Method for performing application wake-up management for a portable device by classifying one application wake-up event of a plurality of application wake-up events as a triggering event for the other application wake-up events
US9304571B2 (en) * 2013-04-12 2016-04-05 Apple Inc. Interrupt based power state management
TWI515645B (zh) * 2013-09-24 2016-01-01 緯創資通股份有限公司 電子裝置及其控制方法
CN105354491B (zh) * 2015-10-12 2018-10-16 广东小天才科技有限公司 智能终端待机状态检测方法及装置
US11301406B2 (en) * 2016-08-16 2022-04-12 Intel Corporation Method, apparatus and system for role transfer functionality for a bus master
LU100947B1 (en) * 2018-09-27 2020-03-27 Nanopower As Device connection system and method of operation
CN110940947B (zh) * 2019-12-19 2022-04-22 国网宁夏电力有限公司检修公司 一种手持极性测试装置自适应超长工作时间方法
US11721992B2 (en) * 2020-07-23 2023-08-08 Motorola Solutions, Inc. System and method for supplying power from a multi-cell battery to a single-cell power management system
CN113721501A (zh) * 2021-08-12 2021-11-30 珠海格力电器股份有限公司 编码器的低功耗控制方法、装置、控制器和编码器

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5905898A (en) 1994-05-31 1999-05-18 Advanced Micro Devices, Inc. Apparatus and method for storing interrupt source information in an interrupt controller based upon interrupt priority
US6081752A (en) 1995-06-07 2000-06-27 International Business Machines Corporation Computer system having power supply primary sense to facilitate performance of tasks at power off
US6425087B1 (en) 1999-05-28 2002-07-23 Palm, Inc. Method and apparatus for using residual energy in a battery-powered computer
US7472301B2 (en) 2005-05-27 2008-12-30 Codman Neuro Sciences Sárl Circuitry for optimization of power consumption in a system employing multiple electronic components, one of which is always powered on
US7797555B2 (en) 2006-05-12 2010-09-14 Intel Corporation Method and apparatus for managing power from a sequestered partition of a processing system
CN100524170C (zh) * 2006-06-27 2009-08-05 北京中星微电子有限公司 一种控制存储器进入低功耗模式的控制器及控制方法
CN101155355A (zh) * 2006-09-26 2008-04-02 华为技术有限公司 一种用户设备睡眠模式的控制方法、装置及设备
JP4685040B2 (ja) * 2007-01-24 2011-05-18 パナソニック株式会社 半導体集積回路及びその電源供給制御方法
US7788511B2 (en) * 2007-08-16 2010-08-31 Texas Instruments Incorporated Method for measuring utilization of a power managed CPU
JP5104254B2 (ja) * 2007-11-30 2012-12-19 富士通セミコンダクター株式会社 集積回路装置
US8762759B2 (en) 2008-04-10 2014-06-24 Nvidia Corporation Responding to interrupts while in a reduced power state
JP2010282585A (ja) * 2009-06-08 2010-12-16 Fujitsu Ltd 電力管理回路、電力管理方法及び電力管理プログラム
US8601302B2 (en) * 2009-06-22 2013-12-03 Amazon Technologies, Inc. Processor system in low power state retention mode with linear regulator off and switch regulator low in power management IC

Also Published As

Publication number Publication date
CN103282856A (zh) 2013-09-04
JP5705999B2 (ja) 2015-04-22
CN103282856B (zh) 2016-04-27
TW201243572A (en) 2012-11-01
EP2661661B1 (en) 2017-04-19
KR101503628B1 (ko) 2015-03-18
WO2012094271A1 (en) 2012-07-12
US8463970B2 (en) 2013-06-11
EP2661661A1 (en) 2013-11-13
US20120173782A1 (en) 2012-07-05
JP2014503097A (ja) 2014-02-06

Similar Documents

Publication Publication Date Title
KR20130108658A (ko) 휴대용 컴퓨팅 디바이스에서 인터럽트 제어기들의 슬립 상태들을 관리하는 방법 및 시스템
EP3210093B1 (en) Configurable volatile memory data save triggers
KR101827666B1 (ko) 멀티-프로세서 시스템 온 칩에서의 에너지 효율 인지 열 관리
US9430014B2 (en) System and method for idle state optimization in a multi-processor system on a chip
US8996902B2 (en) Modal workload scheduling in a heterogeneous multi-processor system on a chip
US20130290762A1 (en) Methods and apparatuses to wake computer systems from sleep states
KR101483897B1 (ko) 휴대용 컴퓨팅 디바이스의 프로세서들에 대한 슬립 상태들로의 신속한 진입 및 슬립 상태들로부터의 신속한 퇴장을 위한 방법 및 시스템
US20120291043A1 (en) Minimizing Resource Latency Between Processor Application States In A Portable Computing Device By Using A Next-Active State Set
US9396070B2 (en) System and method for system-on-a-chip subsystem external access detection and recovery
US9377833B2 (en) Electronic device and power management method
US9612652B2 (en) Controlling power consumption by power management link
US20150268706A1 (en) System and method for memory power management in a system on a chip with multiple execution environments
US20150161070A1 (en) Method and system for managing bandwidth demand for a variable bandwidth processing element in a portable computing device
KR101505764B1 (ko) 휴대용 컴퓨팅 디바이스 내의 리소스들을 관리하는 방법 및 시스템
WO2018013290A1 (en) Method and apparatus for detecting and resolving bus hang in a bus controlled by an interface clock
CN109739564B (zh) 一种电子设备及控制方法

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 5