KR101668507B1 - 프로세서를 위한 정지 상태 유지 모드 - Google Patents
프로세서를 위한 정지 상태 유지 모드 Download PDFInfo
- Publication number
- KR101668507B1 KR101668507B1 KR1020117030512A KR20117030512A KR101668507B1 KR 101668507 B1 KR101668507 B1 KR 101668507B1 KR 1020117030512 A KR1020117030512 A KR 1020117030512A KR 20117030512 A KR20117030512 A KR 20117030512A KR 101668507 B1 KR101668507 B1 KR 101668507B1
- Authority
- KR
- South Korea
- Prior art keywords
- processor
- power
- mode
- state
- clock
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3278—Power saving in modem or I/O interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
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)
- Software Systems (AREA)
- Power Sources (AREA)
Abstract
정지 상태 유지 모드(QSRM)는 사용자에게 불리한 대기 시간을 발생시키거나 시스템 불안정을 일으키지 아니하고 아이들(idle) 동안 전자 디바이스가 전력 소모 및 낭비를 최소로 하게 한다. QSRM에 들어가도록 요청시, 프로세스들은 정지될 수 있으며, 클럭들은 게이트될 수 있고, 스위칭 레귤레이터들은 저전력 모드에 두어질 수 있으며, SDRAM은 셀프-리프레시 모드에 두어질 수 있고, 캐시들은 플러시될 수 있으며, IRQ들은 디스에이블될 수 있고, 상기 시스템은 웨이크업하기 위하여 인터럽트을 대기한다. QSRM에서, 전력공급된 구성품들에는 SDRAM이 셀프-리프레시 모드에 두어진 동안 저전력 모드로 유지되는 프로세서에 전력을 공급하도록 구성된 스위칭 레규레이터가 포함된다.
Description
전자 책 리더들(electronic book readers)("e-book readers"), 셀룰러 전화, 휴대용 미디어 플레이어, 태블릿 컴퓨터, 넷북, PDA(personal digital assistant), 그리고 기타 전자 디바이스들과 같은 전자 디바이스들은 기능하기를 위해 전력을 필요로 한다.
프로세서(들)과 주변 디바이스를 포함하는 이들 전자 디바이스내에서, 여러 구성요소들은 동작 동안 상당한 양의 전력을 이용한다. 이들 주변 디바이스는 외부 메모리 인터페이스들(external memory interfaces : EMIs), 범용 직렬 버스(Universal Serial Bus : USB) 컨트롤러들, 직렬 주변 인터페이스들(serial peripheral interfaces : SPIs), 인터-집적 회로(inter-integrated circuit : I2C) 버스 컨트롤러들, 오디오 디바이스들, 이미지 프로세싱 유닛(image processing unit : IPU), 입력 디바이스들, 실시간 클럭, 동기 직렬 인터페이스(synchronous serial interface : SSI), NOR 플래시 메모리 컨트롤러, NAND 플래시 메모리 컨트롤러(NFC), 스마트 다이렉트 메모리 액세스 컨트롤러(smart direct memory access controller : SDMA), 멀티-미디어 카드(multi-media card : MMC) 스토리지 컨트롤러 등을 포함한다. 몇몇 구현예에서, USB, NFC, IPU, SDMA, 그리고 기타 주변 디바이스들은 EMI를 통해 데이터를 SDRAM으로/으로부터 옮길 수 있다. 이들 주변 디바이스는 프로세서로서 동일한 "칩(chip)" 또는 다이(die)에 있을 수 있거나, 다른 다이(die)에 있을 수 있거나, 또는 이 둘의 조합에 있을 수 있다.
능동적으로 사용중이지 않고, 실행 모드에서 아이들 중인 프로세서는 상당한 양의 전력을 소모한다. 이러한 아이들링(idling)은 전자 디바이스에 의해 방산되는 상당한 양의 열을 증가시킬 뿐만 아니라 에너지도 낭비한다. 전력 소모를 감소시키는 것은 배터리로 작동하는 휴대용 디바이스를 위한 가용 시간을 증가시킨다. 전력 소모를 감소시키는 것은 또한 전자 디바이스에 의해 방산된 열을 감소시키기도 하며, 전자 디바이스가 더 서늘한 온도에서 작동할 수 있게 함으로써 장비의 수명을 증가시키며 냉각을 위한 설계를 단순화시킨다.
디바이스의 프로세서와 주변 디바이스들을 "슬립(sleep)" 모드로 위치시킴으로써 휴대용 소비자 디바이스에서 전력 소모를 감소시키기 위해 다양한 방안들이 제시되었다. 통상적으로, 슬립 모드에 진입하는 것은 마이크로프로세서의 미사용 부분을 턴오프하고/하거나 마이크로프로세서의 클럭 속도를 감소시키는 것을 수반한다.
그러나, 이들 기술들은 단지 약간의 전력 절감을 가져온다. 더욱이, 슬립 모드에 진입하고 슬립 모드에서 빠져나가기 위해 사용된 현행 기술들은 흔히 명령의 실행에 용납하기 어려운 대기 시간을 도입하고, 실행 모드로 재진입시 시스템 불안정을 야기할 수도 있다.
상세한 설명은 첨부 도면을 참조하여 기술된다. 도면에서, 참조 번호의 맨 좌측 숫자(들)은 참조 번호가 첫 번째로 나타나는 도면을 식별한다. 다른 도면에서 동일한 참조 번호들의 사용은 유사하거나 동일한 아이템들을 표시하는 것이다.
도 1은 정지 상태 유지 모드(QSRM)의 예시적 컴퓨터 시스템의 개략도이다.
도 2는 실행 모드에서 QSRM으로 그리고 다시 실행 모드로 전환하는 예시적 전체 프로세스를 도시하고, 아울러 이들 두 모드에서의 상대적 전력 소모를 도시하는 흐름도이다.
도 3은 QSRM으로 진입하는 예시적 프로세스의 흐름도이다.
도 4는 오프 상태에서 시작하는 스위칭 레귤레이터와 저전력 상태에서 시작하는 스위칭 레귤레이터로부터의 가용 전류에 비교된 것으로서, 엔트리를 통해 QSRM에서 실행 모드로 빠져나가는 동안 프로세서에 쓰이는 시간의 함수로서의 전력 수요의 그래프이다.
도 1은 정지 상태 유지 모드(QSRM)의 예시적 컴퓨터 시스템의 개략도이다.
도 2는 실행 모드에서 QSRM으로 그리고 다시 실행 모드로 전환하는 예시적 전체 프로세스를 도시하고, 아울러 이들 두 모드에서의 상대적 전력 소모를 도시하는 흐름도이다.
도 3은 QSRM으로 진입하는 예시적 프로세스의 흐름도이다.
도 4는 오프 상태에서 시작하는 스위칭 레귤레이터와 저전력 상태에서 시작하는 스위칭 레귤레이터로부터의 가용 전류에 비교된 것으로서, 엔트리를 통해 QSRM에서 실행 모드로 빠져나가는 동안 프로세서에 쓰이는 시간의 함수로서의 전력 수요의 그래프이다.
전술한 바와 같이, 전자 디바이스들은 전력 소모 및 열 방산을 감소시키기 위해 저전력 모드를 이용한다. 전자 디바이스들은 전자 책 리더("e-book reader")들, 휴대 전화들, 휴대용 미디어 플레이어들, 태블릿 컴퓨터들, 넷북들, PDA들, 임베디드 디바이스들 등일 수 있다.
기존의 저전력 모드는 전력 소모를 단지 약간 감소시키며, 명령의 실행에 용납하기 어려운 대기 시간을 도입하고, 실행 모드로 다시 들어갈 때 시스템 불안정을 야기할 수 있다.
디바이스가 정지 상태 유지 모드(quiescent state retention mode : QSRM)로 지칭되는 새로운 저전력 모드로 진입하게 하는 전자 디바이스의 상태 유지 모드를 활용하고 개선시키기 위한 프로세스와 시스템이 개시된다. 전자 디바이스는 이제 이러한 QSRM에 진입할 수 있으며 안정된 실행 동작을 신속하고 신뢰할 수 있게 재개할 수 있는 동안 획기적으로 전력 소모를 감소시킬 수 있다.
일 구현예에서, QSRM은 클럭을 이산적으로 게이트할 수 있는 프로세서를 이용하고, 인터럽트 명령을 위한 대기시간을 제공하며, 온보드 또는 외부 전력 관리 집적 회로(PMIC)를 구비하는 전자 디바이스에 의해 실행될 수 있다. 게이팅(gating)은 회로의 선택된 부분 또는 부분들을 셧다운하는 능력이다. PMIC는 실행, 저전력, 그리고 오프 상태 간에 전환할 수 있는 선형 레귤레이터들과 스위칭 레귤레이터들을 포함할 수 있다. 예를 들어, 미국, 텍사스, 오스틴에 소재한 FreescaleTM Semiconductor Incorporated사의 i.MX 아키텍처와 Atlas PMIC MC13783은 프로세서들과 PMIC들로 구성된 하나의 적합한 패밀리이다. 다른 시스템-온-칩(systems-on-a-chip : SOC)도 또한 사용될 수 있다.
상기 프로세서는 Linux®, UNIX®, Microsoft Corporation of Redmond, Washington's Microsoft Windows®, Microsoft Corporation's Windows Mobile®, Apple Corporation of Cupertino, California's Mac OS®, Apple Corporation's Mac OS X®, 그리고 Wind River Systems Inc. of Alameda California's Vx Works®와 같은 운영 체제(operating system)를 실행하지만, 이에 국한되지 않는다.
예를 들어, 전자책 리더 또는 기타 전자 디바이스는 i.MX 아키텍처를 구비하고 Linux® 커널을 실행하는 FreescaleTM 프로세서를 통합할 수 있다. 상기 커널은 전력 관리 집적 회로(PMIC), 직렬 주변 인터페이스들(SPIs), 외부 메모리 인터페이스들(EMIs), 범용 직렬 버스(USB) 컨트롤러들, 이미지 프로세싱 유닛(IPU), 스마트 다이렉트 메모리 액세스(SDMA), 멀티-미디어 카드(MMC) 스토리지 컨트롤러 등과 같은 디바이스들과 통신하기 위해 디바이스 드라이버를 사용한다. 이들 주변 디바이스들은 i.MX 아키텍처의 경우와 마찬가지로 프로세서로서 동일한 "칩(chip)" 또는 다이(die)에 있을 수 있거나, 다른 다이에 있을 수 있거나, 또는 이 둘의 조합에 있을 수 있다.
일 구현예에서, 사용자 스페이스 프로세스(user space process)의 개시시, 상기 프로세서는 QSRM으로 전환된다. QSRM에 성공적으로 진입한 후, 전력을 계속 인출하는 구성요소들에는 저전력 모드로 유지되는 CPU에 공급하는 스위칭 레귤레이터를 구비한 저전력 대기 모드에서의 PMIC 및 메모리가 리프레시를 요구할 때 셀프-리프레시 모드에서의 외부 메모리가 포함된다. 다른 구현예들에 있어서, 디스플레이 및/또는 WWAN 라디오도 또한 QSRM 동안 능동 또는 대기 모드로 유지될 수 있다. QSRM은 또한 동일한 발명자들에 의하여 2008년 10월 30일에 출원되어 공동-계류중인 출원 번호 제 12/261,980호에 기술된 바와 같이 정지 도즈 모드(quiescent doze mode : QDM)와 함께 사용될 수 있다.
웨이크업 소스는 정상 동작의 재개를 트리거할 수 있다. 웨이크업 소스들에는 전원 버튼, (외부 전원의 부착시 PMIC에 의해 발생되는 것과 같은) 충전기 검출, 또는 인터럽트를 발생시키는 PMIC의 실시간 클럭이 포함될 수 있다. 웨이크업 소스로부터 인터럽트의 수신 시, 상기 프로세서는 클럭들을 게이팅하지 않거나 인에이블하고, 인터럽트를 인에이블하며, 그리고 시스템 상태를 달리 복구한다. 입력/출력 디바이스들의 디바이스 드라이버들은 입력/출력 디바이스들을 양호하게 저장된 상태를 이용하여 이전의 알려진 양호한 상태로 복귀시킨다. 상기 프로세서는 이제 실행 모드이고 인터럽트를 트리거한 작업을 실행할 준비가 되어있다. 상기 프로세서가 아이들(idle)로 복귀하면, 상기 디바이스는 다시 QSRM에 진입할 수 있다.
정지 상태 유지 모드에서의 예시적 환경
도 1은 QSRM에서의 컴퓨터 시스템(100)의 예시적 개략도이다. 일 구현예에서, 컴퓨터 시스템(102)은 전자책 리더일 수 있다. 그러나, 컴퓨터 시스템(100)은 또한 휴대 전화들, 휴대용 미디어 플레이어들, 넷북들, PDA들 등에서 사용될 수 있다.
배터리, 전원 공급기, 충전기, 태양광 패널 등과 같은 전원(102)은 컴퓨터 시스템(100)에 사용되는 전력을 공급한다. 전력 관리 집적 회로(PMIC)(104)는 컴퓨터 시스템(100)에서 기타 디바이스들을 적절히 동작시키는 특성을 가진 전력을 공급하기 위해 전원(102)의 전력을 사용한다. PMIC(104)는 마이크로컨트롤러(110)에 결합되고, 이는 몇몇 구현예에서 SPI 또는 I2C를 이용하여 달성될 수 있다. PMIC(104)에는 하나 이상의 스위칭 레귤레이터(106) 및/또는 선형 레귤레이터(108)가 포함될 수 있다. 스위칭 레귤레이터(106)는 고 또는 저 입력 전압으로부터 원하는 출력 전압을 생성시키는 능력을 제공한다. 상기 출력 전압이 상기 입력 전압을 초과할 때, 이것은 "승압(boost)"이다. 출력 전압이 입력 전압보다 적을 때, 이것은 "강압(buck)"이다. 선형 레귤레이터(108)는 입력 전압을 강압시키는 능력, 즉, 상기 입력 전압보다 낮은 출력 전압을 생성시키는 능력을 제공한다. 스위칭 레귤레이터(106)는 일반적으로 인버트 전압 등을 강압 또는 승압시키는 능력이 주어진 선형 레귤레이터들(108)에 비해 보다 높은 전원 변환 효율과 증가된 설계 유연성을 제공한다.
PMIC(104)에 의한 전력 송출이 다음 예에 예시된다: 컴퓨터 시스템이 1.5V 배터리(완전 충전될 때), 1.65V를 필요로 하는 프로세서, 그리고 1.1V를 필요로 하는 또 다른 디바이스를 구비한다고 가정하자. PMIC(104)는 배터리의 1.5V를 프로세서가 필요로 하는 1.65V로 승압하기 위해 스위칭 레귤레이터를 사용하도록 구성될 수 있다. 선형 레귤레이터는 1.5V 배터리 전압을 다른 디바이스가 필요로 하는 1.1V로 강압시키도록 구성될 수 있다. 또 다른 예에서, 3.8V 배터리의 출력은 실행 모드동안 SDRAM에 1.8V 그리고 QSRM에서 1.7V를 제공하기 위해 스위칭 레귤레이터에 의해 강압될 수 있다.
마이크로컨트롤러(110)가 컴퓨터 시스템(100)에 도시되어 있다. 마이크로컨트롤러(110)에는 중앙 처리 유닛(CPU)(112), CPU 클럭들(114), CPU 레지스터(들)(116), 클럭 게이팅 레지스터(들)(CGR)(118), 주 및/또는 보조 캐시, 캐시 클럭(들)(122), 그리고 클럭 제어 모듈(CCM)(124)을 포함할 수 있는 캐시 메모리(120)가 포함된다.
또한 다음을 포함할 수 있는 입/출력 디바이스들(126)도 마이크로컨트롤러(110)내에 있다:
* 직렬 주변 장치 인터페이스(SPI) 버스(128) 및 연관된 SPI 클럭(130).
* 외부 메모리 인터페이스(EMI)(132) 및 연관된 EMI 클럭(134), 이들은 이하 기술된 외부 메모리(144)에 가동적으로 결합될 수 있다.
* 범용 직렬 버스(USB) 컨트롤러(136) 및 연관된 USB 클럭(138). 컨트롤러(136)는 USB Implementers Forum에서 설명된 USB 1.0, 1.1, 2.0, 3.0을 포함하는 USB 표준들 중 어떠한 표준에도 따를 수 있다. USB(136) 컨트롤러는 WWAN 라디오에 결합된 USB 호스트 컨트롤러와 USB 가젯 컨트롤러로 구분될 수 있다.
* 마이크로컨트롤러(110)내에 연관된 클럭들(142)을 구비한 다른 디바이스들(140)이 있을 수 있다. 이들 다른 디바이스(140)에는 IEEE 1394 버스, 카메라, 위성 위치확인 시스템(global positioning system : GPS), BluetoothTM, 오디오, PC 카드 디바이스, MMC 컨트롤러, NFC, MMC 스토리지 등이 포함될 수 있다.
EMI(132)는 외부 메모리(144)에 결합될 수 있으며, 이는 정적 랜덤 액세스 메모리(Static Random Access Memory : SRAM), 유사정적 랜덤 액세스 메모리(Pseudostatic Random Access Memory : PSRAM), 동기 동적 랜덤 액세스 메모리(Synchronous Dynamic Random Access Memory : SDRAM), 이중 데이터 레이트 SDRAM(DDR), NAND 플래시, 자기저항 랜덤 액세스 메모리(Magnetoresistive Random Access Memory : MRAM), 멤리스터 랜덤 액세스 메모리(Memristor Random Access Memory : MemRAM) 등을 포함할 수 있다.
몇몇 구현예에서, 입/출력 디바이스들(126)은 또한 EMI(132)를 통해 외부 메모리(144)에도 연결될 수 있다. 예를 들어, USB 컨트롤러들, 오디오 디바이스들, IPUs, MMC 스토리지 컨트롤러들, 그리고 다른 디바이스들이 EMI(132)를 통해 외부 메모리(144)에 연결될 수 있다.
외부 메모리(144)는 디바이스 드라이버(들)(150)에 가동적으로(operatively) 결합된 커널(148)을 포함하는 운영 체제(operating system)(146)를 저장할 수 있다. QSRM 명령들은 커널(148)에 있을 수 있다. PMIC(104)에 쓰이는 QSRM 명령들은 디바이스 드라이버(들)(150)에 있을 수 있다. 디바이스 드라이버(150)는 입/출력 디바이스들(126)을 커널(148)에 가동적으로 결합시킨다.
커널(148)과 디바이스 드라이버(150)간의 결합과 같은 가동적 결합들이 강조를 위해 도시되어 있다. 도 1에 도시된 모든 디바이스들은 가동적으로 결합되고, 이들 각각의 화살표들은 단지 예시를 명백히 하기 위해서 생략된다.
QSRM 동안, 전력공급된 구성요소들(152)에는 저전력 모드에서의 PMIC(104)와 셀프-리프레시 모드에서의 외부 메모리(144)가 포함된다. 셀프-리프레시 모드에서, 외부 메모리는 메모리 컨트롤러 또는 다른 구성요소로부터의 외부 입력없이 메모리 셀들을 리프레시할 수 있다. 몇몇 구현예에서, 외부 메모리는 SDRAM, DDR 등일 수 있다.
도 2는 실행 모드에서 QSRM으로 그리고 다시 실행 모드로 전환하는 전체 프로세스(200)를 도시하며, 아울러 이들 두 모드의 상대적 전력 소모를 도시한다. (아래의 도 3의 프로세스와 아울러) 프로세스(200)도 논리적 흐름 그래프에서 블럭들의 집합으로 예시되며, 논리적 흐름 그래프는 하드웨어, 소프트웨어, 또는 이들의 조합에서 구현될 수 있는 동작의 순서를 나타낸다. 소프트웨어의 맥락에서, 상기 블럭들은 하나 이상의 프로세서에 의해 실행될 때 열거된 동작들을 수행하는 컴퓨터-실행가능 명령들을 나타낸다. 달리 표시되지 않는 한, 동작들이 기술되는 순서는 제한조건으로서 해석되기 위함이 아니며, 다른 조합들도 상기 프로세스를 구현할 수 있다. 논의 목적들을 위해, (아래의 프로세스(300)와 아울러) 프로세스(200)도 도 1의 환경을 참조하여 기술된다.
202에서, 실행 모드에서 동작중인 컴퓨터 시스템(100)이 도시된다. 실행 모드에서, 그래프(204)는 100%의 최대 전력 사용량을 갖는 컴퓨터 시스템(100)을 도시한다. 예시적 전자책 리더에서, 페이지를 넘기는 것과 같은 작업을 마이크로컨트롤러상에서 실행하는 동안 약 200밀리암페어(mA)의 전류 인출이 관측된다. 광역 네트워킹(WAN) 모듈을 턴온하거나 턴오프할 때, 피크 전력 소모가 약 400mA까지 증가할 수 있으며, 온라인 스토어에 액세스하는 동안 상기 디바이스는 약 300-350mA를 사용할 수 있다.
페이지가 넘겨지거나, 데이터가 WAN 모듈을 이용해 전달되었다면, 컴퓨터 시스템(100)은 사용자가 표시되는 페이지를 읽는 것을 끝내거나 다음 페이지로 바꾸는 것과 같은 행위를 취하도록 기다릴 수 있다. 206에서, 컴퓨터 시스템(100)은 사용자 입력 또는 몇몇 다른 웨이크업 이벤트를 기다리는 동안 QSRM에 들어갈 수 있다. QSRM에 들어가는 것은 사용자 입력에 응답하거나, 실행 프로세스에 응답하거나, 또는 다른 결정에 응답하여 개시될 수 있다. QSRM에 들어가는 것은 아래의 도 3에서 보다 깊이 있게 논의된다.
QSRM에 있는 동안, 그래프(208)가 약 0.67mA, 또는 실행 모드(202)동안 200mA 전력 소모의 약 0.3%로 예시적 전자책 리더에 쓰이는 전력 소모를 도시한다. 비교하여 보면, 동일한 발명자에 의해 2008년 10월 30일에 출원된 공동-계류중인 출원 번호 제12/261,980호에 기술된 정지 도즈 모드(quiescent doze mode : QDM)는 약 17.4mA까지 전력 소모를 감소시킨다. 그러므로, QSRM은 QDM에 비해 상기 전력의 약 3.8%만을 소비한다. QSRM은 QDM과 함께 사용될 수 있다. 예를 들어, QDM은 타이머 인터럽트 인터벌들을 동적으로 증가시키는 것과 아울러 전력 소모를 최소화하기 위해 디바이스 드라이버들과 커널간의 조정(coordination)을 수반한다. 따라서, 컴퓨터 시스템(100)은 적합한 경우 실행 모드, QDM, QSRM간 전환할 수 있다.
210에서, 웨이크업 인터럽트가 수신되고, 212에서, 컴퓨터 시스템(100)이 깨어난다. 어웨이크닝(awakening)(212)은 클럭들과 인터럽트들을 인에이블시키고, 시스템을 실행 모드(202)로 복귀시킨다. 예시적 전자책 리더에서, QSRM으로부터의 웨이크업 시간은 통상적으로 (200-300ms의 범위내로) 상대적으로 짧고, 추가의 오버헤드 또는 대기 시간을 초래하지 않는다. 저전력 모드의 PMIC에서 선택된 전력 레귤레이터를 유지하는 것과 조합하여 QSRM으로 그리고 그로부터 안정되고 신뢰할 수 있는 전환을 제공함으로써, 이들 신속한 웨이크업 시간을 달성하는 것이 가능해 진다. 이러한 범위내 웨이크업 시간으로, 합당한 사용자 응답을 유지하는 동안 QSRM으로 상기 컴퓨터 시스템을 보다 자주 위치시키는 것이 가능하게 된다. 따라서, 상당한 전력 감소가 가능하다.
QSRM
에 들어가기 위한 예시적 프로세스
도 3은 도 1에 도시된 QSRM에 들어가기 위한 프로세스(206)의 예시적 흐름도이다. 일 구현예에서, 어웨이크닝 로직 동안 낮은 대기 시간을 달성하기 위해, 회로들은 클럭들이 게이팅되는 동안 전력 공급 상태를 유지할 수 있다.
302에서, CPU에서 실행하는 프로세스들과 스레드들이 정지된다. 이에는 모든 커널 스레드들과 사용자-스페이스 프로세스들을 정지시키는 것이 포함될 수 있다. 사용자 프로세스의 커널 스레드가 정지되기를 거부할 때, 정지 프로세스가 중단될 수 있으며 커널이 동작을 재개할 수 있다. 일 구현예에서, 상기 커널은 다음의 명령들을 실행할 수 있다:
pm_suspend();
enter_state();
suspend_prepare();
//See kernel/power/main.c
C 샘플 코드 1
304에서, 입/출력 디바이스들은 저전력 모드에 두어진다. 디바이스 드라이버들은 외부 메모리(144)에 디바이스 상태를 저장할 수 있다. 일단 디바이스 상태가 저장되면, 상기 디바이스는 저전력 모드 또는 턴오프에 두어질 수 있으며, 상기 디바이스를 구동하는 클럭들이 게이트될 수 있다. 웨이크업동안, 상기 디바이스 드라이버는 이렇게 양호하게 저장된 상태를 복원하고 입/출력 디바이스 동작이 재개된다. 일 구현예에서, 상기 커널은 다음의 명령들을 실행할 수 있다 :
suspend_devices_and_enter()
//See kernel/power/main.c
C 샘플 코드 2
306에서, 웨이크업 소스들이 구성된다. 이들 웨이크업 소스에는 전력 관리 이벤트, 네트워크 인터페이스, 실시간 클럭, 또는 전원 버튼이 포함될 수 있다. 전력 관리 이벤트들은 PMIC(104)에 의해 발생될 수 있으며 충전기의 부착 또는 탈착, 잉여 전력의 가용성 등을 포함할 수 있다. 일 구현예에서, 상기 커널은 다음의 명령들을 실행할 수 있다:
_raw_writel(~((l<<23)|(1<<16)|7), MXC_CCM_WIMR);
//in function mxc_pm_lowpower()
//See arch/arm/mach-mx3/mxc_pm.c
C 샘플 코드 3
308에서, 클럭 게이팅 레지스터(CGR)에 정의된 클럭들이 게이팅될 수 있다. 예로서 그리고 한정하지 않고, i.MX 패밀리의 프로세서의 CGR에 있을 수 있는 클럭들에는 CGRO, CGRl, CGR2, MXC_CCM_CGR0, MXC_CCM_CGR1, MXC_CCM_CGR2 등이 포함될 수 있다.
310에서, PMIC(104)에서 필요로 하지 않는 선형 레귤레이터들이 턴오프된다. 필요로 하지 않는 선형 레귤레이터는 게이트된 클럭 또는 디바이스에 전력을 공급하는 선형 레귤레이터이다. 잔여 선형 레귤레이터들은 저전력 모드에 위치할 수 있다.
312에서, PMIC(104)에서 스위칭 레귤레이터들(106)은 저전력 모드에 위치한다. 도 4에 대하여 아래에 보다 상세히 기술된 바와 같이, 스위칭 레귤레이터들은 오프 상태로부터 재활성화될 때 신속하게 충분한 전력을 공급할 수 없다. 따라서, 저전력 모드에서 스위칭 레귤레이터들(106)을 유지하는 것은 안정성을 증가시키는 한편 어웨이크닝시 감소된 대기 시간을 가능하게 한다. 일 구현예에서, 예를 들어, Atlas PMIC MC13783이 사용되는 경우, 상기 커널은 함수 mx31_pm_prepare():에서 다음 명령들을 실행할 수 있다:
pmic_power_regulator_off(SW_PLL);
/*
* Turn off Audio circuitry and VAUDIO
*/
pmic_power_regulator_off(REGU_VVIB);
pmic_power_regulator_off(REGU_VAUDIO);
pmic__power_regulator_set_lp_mode(REGU_VDIG,
LOW_POWER_CTRL_BY_PIN);
pmic_power_regulator_set_lp_mode(REGU_GPO1,
LOW_POWER_CTRL_BY_PIN);
pmic_power_regulator_set_lp_mode(REGU_GPO2,
LOW_POWER_CTRL_BY_PIN);
pmic_power_regulator_set_lp_mode(REGU_GPO3,
LOW_POWER_CTRL_BY_PIN);
/*
* When the WAN is off we may enable low power on GPO4 */
if((wan_get_power_status()== WAN_OFF)||
(wan_get_power_status()== WAN_INVALID)) {
/* WAN is OFF */
pmic_write_reg(REG_POWER_MISCELLANEOUS,(1<<13),(1<<13));
}
else {
/* WAN is ON */
pmic_write_reg(REG_POWER_MISCELLANEOUS,(0<<13),(1<<13));
}
pmic_power_regulator_set_lp_mode(REGU_VAUDIO,
LOW_POWER_CTRL_BY_PIN);
pmic_power_regulator_set_lp_mode(REGU_VIOHI,LOW_POWER_EN); pmic_power_regulator_set_lp_mode(REGU_VIOLO,LOW POWER_EN);
C 샘플 코드 4
스위칭 레귤레이터들은 시동(startup)시의 저전력을 위해 구성될 수 있다. 일 구현예에서, 다시 예를 들어, Atlas PMIC MC13783이 사용되면, 상기 커널은 다음 명령들을 실행할 수 있다:
/* Enable 4 mcl3783 output voltages */
pmic_write_reg(REG_ARBITRATION_SWITCHERS,(1<<5), (1<<5));
/* Enable mcl3783 voltage ready signal */ pmic_write_reg(REG_INTERRUPT_MASK_l, (0<<11), (1<<11));
/*
* standby voltages on switching regulators and the power mode
*/
volt.swla = SWlA_0_95V;
pmic_power_switcher_set_stby(SW_SW1A, volt);
pmic_power_switcher_set_mode(SW_SWlA, LOW_POWER, 1);
pmic_power_switcher_set_mode(SW_SWlB, LOW_POWER, 1); pmic_power_switcher_set_mode(SW_SW2A, LOW_POWER, 1);
volt.sw2b = SW2B_1_7V;
pmic_power_switcher_set_stby(SW_SW2B, volt); pmic_power_switcher_set_mode(SW_SW2B, LOW_POWER, 1);
pmic_power_regulator_off(SW_SW3);
pmic_power_regulator_off(REGU_VGEN);
pmic_power_regulator_off(REGU_VSIM);
pmic_power_regulator_off(REGU_VESIM);
pmic_power_regulator_off(REGU_VCAM);
pmic_power_regulator_off(REGU_VRFBG);
pmic_power_regulator_off(REGU_VRF1);
pmic_power_regulator_off(REGU_VRF2);
pmic_power_regulator_off(REGU_VRFCP);
pmic_power_regulator_off(REGU_VRFREF);
pmic_power_regulator_pff(REGU_VRFDIG);
pmic_power_regulator_off(REGU_GPO2); /* Nothing */
//See arch/arm/mach-mx3/dvfs_v2.c and arch/arm/mach-mx3/pm.c
C 샘플 코드 5
314에서, serial_pll 및 usb_pll 클럭이 게이팅된다. 몇몇 구현예에서, 광역 네트워킹(WAN), 로컬 영역 네트워킹(LAN), 또는 프로세서와 통신하기 위해 USB를 이용하는 다른 디바이스(들)의 상태가 점검될 수 있다. 어떠한 WAN 또는 다른 USB에 연결된 디바이스의 상태가 "OFF"이고 "ON"이 아닐 때, 상기 USB 및 관련된 클럭들이 게이팅될 수 있다. 일 구현예에서, 상기 커널은 다음 명령들을 실행할 수 있다:
_raw_writel(_raw_readl(MXC_CCM_CCMR)|MXC_CCM_CCMR_FPME,
MXC_CCM_CCMR);
_raw_writel(_raw_readl(MXC_CCM_CCMR)&~MXC_CCM_CCMR_MPE,
MXC_CCM_CCMR);
_raw_writel((_raw_readl(MXC_CCM_CCMR) &
~MXC_CCM_CCMR_PRCS_MASK)|
(1<< MXC_CCM_CCMR_PRCS_OFFSET),
MXC_CCM_CCMR);
//See arch/arm/mach-mx3/mxc_pm.c
C 샘플 코드 6
316에서, PMIC(104)가 저전력 모드에 들어가기 위한 준비가 이루어진다. 예를 들어, MX31 프로세서에서, VSTBY 핀이 PMIC(104)의 VSTBY 핀에 연결된다. 클럭 제어 모듈(124)이 인터럽트 대기(WFI)에서 VSTBY를 낮게 끌어당기도록 구성될 때, 그것은 차례로 PMIC(104)의 VSTBY 핀을 끌어내리고 PMIC를 저전력 모드로 밀어내는 상기 VSTBY 핀을 끌어내린다. 일 구현예에서, 상기 커널은 다음 명령들을 실행할 수 있다 :
reg = _raw_readl(MXC_CCM_CCMR);
reg = (reg & (~MXC_CCM_CCMR_LPM_MASK))|
lpm<<MXC_CCM_CCMR_LPM_OFFSET|
MXC_CCM_CCMR_VSTBY;
_raw_writel(reg, MXC_CCM_CCMR);
//See arch/arm/mach-mx3/mxc_pm.c
C 샘플 코드 7
318에서, SDRAM, 또는 리프레시를 필요로 하는 다른 메모리(144)가 셀프 리프레시 모드로 위치할 수 있으며, 이 모드에서 상기 메모리는 외부 입력없이 스스로 리프레시한다. 메모리(144)에 전력을 공급하는 스위칭 레귤레이터(106)가 저전력 모드에 위치할 수 있다. SDRAM이 스위칭 레귤레이터(SW2)에 의해 전력 공급될 수 있는 MX31 아키텍처와 같은 일 구현예에서, 상기 커널은 다음 명령들을 실행할 수 있다:
volt.sw2b = SW2B 1_7V;
pmic_power_switcher_set_stby(SW_SW2B, volt);
pmic_power_switcher_set_mode(SW_SW2B, LOW_POWER, 1);
//See function pmic_voltage_init() in arch/arm/mach-mx3/dvfs_v2.c
C 샘플 코드 8
320에서, 상태 유지 모드는 클럭 제어 모듈(124)에서 설정된다. 일 구현예에서, 상기 커널은 다음의 명령들을 실행할 수 있다:
/* Enabled Well Bias
* SBYCS = 0, MCU clock source is disabled*/
mxc_ccm_modify_reg(MXC_CCM_CCMR,
MXC_CCM_CCMR_WBEN|MXC_CCM_CCMR_SBYCS,
MXC_CCM_CCMR_WBEN);
//See mxc_pm lowpower() in arch/arm/mach-mx3/mxc_pm.c
C 샘플 코드 9
322에서, 주 및 보조 캐시가 플러싱될 수 있다. 상기 캐시들을 플러싱하는 것은 외부 메모리(144)와 동기로 그 캐시들를 유지하고 실행 상태의 재개시 부정확한 데이터가 존재하는 것을 방지한다. 일 구현예에서, 상기 커널은 다음 명령들을 실행할 수 있다:
flush_cache_all()
C 샘플 코드 10
324에서, 웨이크업 소스들로부터의 인터럽트 요청들을 제외하고, 모든 인터럽트 요청들(IRQ)이 디스에이블 된다. 예를 들어, 전원 버튼, 또는 PMIC 전력 이벤트 등으로부터의 인터럽트는 이네이블 상태로 유지될 것이다. 일 구현예에서, 상기 커널은 다음 명령들을 실행할 수 있다:
local_irq_disable();
...
_raw_writel(INT_GPT, AVIC_INTDISNUM);/* Disable timer */
...
/* Configure wakeup sources */
_raw_writel(~((l << 23)|(1<<16)|7), MXC_CCM_WIMR);
//See mxc_pm_lowpower() in arch/arm/mach-mx3/mxc_pm.c
C 샘플 코드 11
326에서, CPU 스케일링이 디스에이블된다. CPU 스케일링은 프로세서 주파수에서 동적 변화를 가능하게 하여, 통상적으로 전력 소모를 최소화한다. 예를 들어, 집중적 세트의 작업들을 수행하는 CPU는 스루풋(throughput)을 최대화하기 위하여 최고 프로세서 주파수로 동작할 수 있다. 대조적으로, 매우 간단한 작업을 처리할 때 동일한 CPU는 전력 소모를 최소화하기 위해 보다 낮은 프로세서 주파수로 동작할 수 있다. 웨이크업 대기시간을 최소화하기 위해, 상기 프로세서는 최대 지지 동작 주파수로 동작을 재개하도록 설정될 수 있다.
328에서, 인터럽트 대기 (WFI) 명령이 실행된다. 일 구현예에서, 상기 커널은 다음 명령들을 실행할 수 있다:
/*
* For WFI errata TLSbo65953
*
* Without the work around this could simply be:
* WFI; nop; nop; nop; nop; nop;
*/
_asm__volatile_(
"mrc pl5, 0, %0, cl, cO, 0\n"
"bic %0, %0, #0x00001OOO\n"
"bic %0, %0, #0x00000004\n"
"mcr pl5, 0, %0, cl, cO, O\n"
"mov %0, #0\n"
"mcr pl5, O, %0, c7, c5, 0\n"
"mov %0, #0\n"
"mcr pl5, O, %0, c7, cl4, 0\n"
"mov %0, #0\n"
"mcr p15, O, %0, c7, cO, 4\n"
"nop\n" "nop\n" "nop\n" "nop\n"
"nop\n" "nop\n" "nop\n"
"mrc pl5, 0, %O, cl, cO, 0\n"
"orr %0, %0, #0x00001000\n"
"orr %0, %0, #0x00000004\n"
"mcr pl5, 0, %0, cl, c0, 0\n"
:: "r"(reg));
//See arch/arm/mach-mx3/mxc_pm.c
C 샘플 코드 12
330에서, 상기 메인 CPU 클럭이 게이팅되고, PMIC는 저전력 모드로의 전환을 완료한다. 이 시점에서, 컴퓨터 시스템(100)의 전력 공급된 구성요소들에는 저전력 대기 모드의 PMIC(104)와 셀프-리프레시 모드의 외부 메모리(144)가 포함된다. 이 예에서, 비활성 구성요소들에는 CPU(112), 캐시 메모리(120), CPU 클럭(들)(114), 캐시 클럭들(122), EMI(132) 등이 포함된다.
도 4는 오프 상태에서 시작하는 스위칭 레귤레이터와 저전력 상태에서 시작하는 스위칭 레귤레이터로부터의 가용 전류에 비교된 것으로서, 엔트리를 통해 QSRM에서 실행 모드로 빠져나가는 동안 프로세서에 쓰이는 시간의 함수로서의 전력 수요의 예시적 그래프(400)이다. 경과된 시간은 수평 축(402)을 따라서 표시되고, 0에서 시간 "T"까지의 범위를 갖는다. 수직 축(404)은 전력을 나타내며, 0에서 "W"까지의 범위를 갖는다. 실선을 갖는 플롯(406)은 점(408)으로 표시된 QSRM으로부터 시작하고 점(410)에서 실행 모드를 달성하는 그 CPU를 통해 지속하는 CPU(112)에 쓰이는 전력 수요를 표시한다.
점선을 갖는 플롯(412)은 오프 상태에서 전력이 공급된 스위칭 레귤레이터로부터의 가용 전력을 도시한다. 도시된 바와 같이, 이 곡선은 CPU 전력 수요(406)의 곡선 아래에 있다. 이것이 발생할 때, 상기 CPU는 동작하기에 불충한 전력을 갖게 되며, 불규칙적으로 동작하여 시스템의 불안정을 초래한다.
파선(dashed line)을 갖는 플롯(414)은 저전력 상태에서 시작하는 스위칭 레귤레이터로부터의 가용 전력을 도시한다. 도시된 바와 같이, 이 곡선은 CPU 전력 수요(406)의 곡선 위에 있으며, 이것은 상기 스위칭 레귤레이터가 상기 CPU의 신뢰할 수 있는 안정된 동작을 위하여 충분한 전력을 제공할 수 있다는 것을 나타낸다.
따라서, 저전력 상태에서 상기 CPU에 전력을 공급하는 상기 스위칭 레귤레이터는 QSRM에서 실행 모드로 보다 빠르고 보다 안정된 복귀를 하게 한다.
1절(Clause). 프로세서를 정지 상태 유지 모드(QSRM)에 위치시키는 컴퓨터-구현 방법에 있어서, 상기 방법은:
실행가능한 명령들로 구성된 하나 이상의 컴퓨터 시스템의 제어하에,
상기 프로세서에서 실행하는 사용자-스페이스 프로세스들 및 커널 스레드들을 실행하는 것을 정지시키는 단계;
상기 프로세서에 결합된 입/출력 디바이스를 중단 모드에 위치시키는 단계;
웨이크업 인터럽트들을 발생시키도록 상기 프로세서에 결합된 웨이크업 소스를 구성하는 단계;
상기 프로세서의 클럭 게이팅 레지스터에 정의된 클럭을 게이트하는 단계;
상기 프로세서에 결합된 전력 관리 집적 회로(PMIC)의 선형 레귤레이터를 오프 상태에 위치시키는 단계;
상기 PMIC의 스위칭 레귤레이터를 저전력 상태로 위치시키는 단계;
저전력 모드에 들어가도록 상기 PMIC를 준비하는 단계;
상기 프로세서에 결합된 클럭 제어 모듈에서 프로세서 상태 유지 모드를 설정하는 단계;
상기 프로세서에 결합된 캐시를 플러싱하는 단계;
상기 웨이크업 소스들로부터의 인터럽트들을 제외하고 상기 프로세서에 대한 인터럽트 요청들을 디스에이블시키는 단계;
상기 프로세서에서 프로세서 스케일링을 디스에이블시키는 단계;
상기 웨이크업 소스로부터 상기 웨이크업 인터럽트를 수신하도록 구성된 인터럽트 대기 명령을 실행하는 단계;
상기 프로세서의 메인 클럭을 게이팅하는 단계; 및
상기 PMIC를 상기 저전력 모드에 위치시키는 단계를 포함한다.
2절. 1절에 있어서, 상기 PMIC의 상기 스위칭 레귤레이터를 저전력 상태에 위치시킨 후 직렬 주변장치 인터페이스 클럭과 범용 직렬 버스 클럭을 게이팅하는 단계를 더 포함한다.
3절. 1절에 있어서, 상기 플러싱하는 단계는 상기 프로세서에 결합된 주 캐시와 상기 프로세서에 결합된 보조 캐시를 플러싱하는 단계를 포함한다.
4절. 1절에 있어서, 상기 PMIC를 상기 저전력 모드에 진입하도록 준비시킨 후 외부 메모리를 셀프-리프레시 모드에 위치시키는 단계를 더 포함한다.
5절. 1절에 있어서, 상기 입/출력 디바이스를 상기 중단 모드에 위치시키는 단계는 메모리에 입/출력 디바이스 상태를 저장하는 단계, 상기 입/출력 디바이스를 저전력 모드에 위치시키는 단계, 및 상기 입/출력 디바이스를 구동하는 클럭을 게이팅하는 단계를 포함한다.
6절. 1절에 있어서, 상기 프로세서는 클럭들을 이산적으로 게이팅할 수 있는 어플리케이션 프로세서를 포함한다.
7절. 1절에 있어서, 상기 웨이크업 소스들은 PMIC 이벤트, 네트워크 인터페이스, 실시간 클럭 웨이크업, 또는 전원 버튼 중 적어도 하나를 포함한다.
8절. 1절에 있어서, 상기 프로세서 스케일링을 디스에이블시키는 단계는 상기 프로세서를 상기 프로세서에 의해 지원된 최대 동작 주파수로 설정하는 단계를 포함한다.
9절. 1절에 있어서, 상기 프로세서 외부로 디바이스들을 게이팅하거나 셧다운하는 단계를 더 포함한다.
10절. 휴대용 전자 디바이스에서 전력 소모를 감소시키는 시스템으로서, 상기 시스템은 :
메모리;
상기 메모리에 결합된 프로세서;
상기 메모리에 저장되고 상기 프로세서에서 실행되도록 구성된 커널로서, 정지 상태 유지 모드(QSRM)에 진입한 후 저전력 상태에서 전력 관리 집적 회로(PMIC)의 스위칭 레귤레이터를 유지하도록 구성된, 상기 커널을 포함한다.
11절. 10절에 있어서, 상기 프로세서에 결합된 주변장치 디바이스(peripheral device)를 더 포함하며, 상기 커널은 다음과 같은 동작들; 즉
상기 주변 디바이스를 저전력 상태에 위치시키는 단계; 및
웨이크업 인터럽트를 발생하기 위해 상기 주변 디바이스에서 웨이크업 소스를 구성하는 단계를 수행함으로써 상기 QSRM에 진입하도록 구성된다.
12절. 10절에 있어서, 상기 커널은 상기 QSRM에 진입한 후 셀프-리프레시 상태로 메모리를 유지하도록 더 구성된다.
13절. 10절에 있어서, 상기 스위칭 레귤레이터는 상기 프로세서에 전력을 공급하도록 구성된다.
14절. 10절에 있어서, 상기 커널은 인터럽트 대기 (WFI) 명령을 실행하도록 더 구성된다.
15절. 10절에 있어서, 상기 커널이 다음과 같은 동작들: 즉
동작하고 있는 사용자-스페이스 프로세스 및 상기 프로세서에서 실행하는 커널 스레드를 정지시키는 단계;
웨이크업 인터럽트를 발생시키기 위해 웨이크업 소스를 구성하는 단계;
상기 프로세서에 결합된 클럭 게이팅 레지스터에 정의된 클럭을 게이팅하는 단계;
상기 프로세서에 결합된 게이트된 디바이스에 전력을 공급하도록 구성된 PMIC의 선형 레귤레이터를 오프 상태에 위치시키는 단계;
상기 프로세서에 전력을 공급하도록 구성되는 전력 관리 집적 회로(PMIC)의 상기 스위칭 레귤레이터를 저전력 상태에 위치시키는 단계;
직렬 주변장치 인터페이스 클럭(serial peripheral interface clock) 또는 범용 직렬 버스 클럭(universal serial bus clock), 또는 상기 프로세서에 결합되는 둘 모두를 게이팅하는 단계;
상기 프로세서에 결합된 클럭 제어 모듈에서 상기 프로세서를 위한 상태 유지 모드를 설정하는 단계;
비-웨이크업 소스로부터의 인터럽트 발생을 디스에이블시키는 단계;
상기 프로세서에서 프로세서 스케일링을 디스에이블시키는 단계; 및
상기 프로세서의 메인 클럭을 게이팅하는 단계를 수행함으로써 상기 커널이 상기 QSRM에 진입하도록 구성된다.
16절. 15절에 있어서, 상기 커널은 프로세서 스케일링을 디스에이블시킨 후 상기 PMIC를 저전력 모드에 위치시키도록 더 구성된다.
17절. 프로세서에 의해 실행될 때, 명령들을 저장하는 하나 이상의 컴퓨터-판독가능 스토리지 미디어는 다음 동작들: 즉
동작하고 있는 프로세스들과 중앙 처리 유닛(CPU)에서 실행하는 스레드들을 정지시키는 단계;
입력 디바이스 또는 출력 디바이스 또는 두 디바이스 모두를 저전력 상태 또는 중단 상태에 위치시키는 단계;
웨이크업 인터럽트를 발생시키도록 웨이크업 소스를 구성하는 단계;
클럭 게이팅 레지스터에 정의된 클럭들을 게이팅하는 단계;
게이트된 디바이스에 전력을 공급하도록 구성된 선형 레귤레이터를 오프 상태에 위치시키는 단계;
상기 CPU에 전력을 공급하도록 구성된 스위칭 레귤레이터를 저전력 상태에 위치시키는 단계;
직렬 주변장치 인터페이스 클럭 또는 범용 직렬 버스 클럭, 또는 둘 모두를 게이팅하는 단계;
클럭 제어 모듈에서 상기 CPU를 위하여 상태 유지 모드를 설정하는 단계;
비-웨이크업 소스로부터의 인터럽트들을 디스에이블시키는 단계; 및
CPU 스케일링을 디스에이블시키는 단계를 포함한다.
18절. 17절에 있어서, 입력 디바이스 또는 출력 디바이스, 또는 두 디바이스 모두를 저전력 상태 또는 중단 상태에 위치시키는 단계는 메모리에 디바이스 상태를 저장하는 단계, 상기 디바이스를 저전력 모드에 위치시키는 단계, 및 상기 디바이스를 구동하는 클럭들을 게이팅하는 단계를 포함한다.
19절. 17절에 있어서, 상기 직렬 주변장치 인터페이스 클럭 또는 상기 범용 직렬 버스 클럭 또는 둘 모두를 게이팅한 후 전력 관리 집적 회로(PMIC)를 저전력 모드에 위치시키는 단계를 더 포함한다.
20절. 17절에 있어서, 프로세서 스케일링을 디스에이블시키는 단계는 상기 CPU에 의해 지원된 최대 동작 주파수로 상기 CPU를 구성하는 단계를 더 포함한다.
21절. 17절에 있어서, 상기 클럭 제어 모듈에서 상기 상태 유지 모드를 설정한 후 CPU 주 캐시, 또는 보조 캐시, 또는 둘 모두를 플러싱하는 단계를 더 포함한다.
22절. 17절에 있어서, CPU 스케일링을 디스에이블시킨 후 인터럽트 대기 (wait for interrupt : WFI) 명령을 실행하는 단계를 더 포함한다.
23절. 17절에 있어서, 메모리를 셀프-리프레시 모드에 위치시키는 단계를 더 포함한다.
24절. 17절에 있어서, 상기 웨이크업 소스는 전력 관리 이벤트, 네트워크 인터페이스, 실시간 클럭, 또는 파워 버튼 중 적어도 하나를 포함한다.
비록 요지가 구조적인 특징들 및/또는 방법론적 행위들에 특정한 언어로 기술되었다고 하더라도, 첨부된 청구항에 정의된 요지가 기술된 특정한 특징들 또는 행위들에 반드시 국한되지 않는다는 것이 이해되어야 할 것이다. 오히려, 특정한 특징들 및 행위들이 청구항들을 구현하는 예시적인 형태로서 개시된다. 예를 들어, 방법론적 행위들은 본 명세서에 기술된 순서 또는 조합으로 수행될 필요는 없으며, 하나 이상의 행위들의 어떠한 조합으로도 수행될 수 있다.
Claims (15)
- 휴대용 전자 디바이스(portable electronic device)에서 전력 소모를 감소시키는 시스템으로서,
메모리;
상기 메모리에 결합된 프로세서;
상기 메모리에 저장되고 상기 프로세서에서 실행하도록 구성된 커널(kernel)을 포함하고, 상기 커널은 정지 상태 유지 모드(quiescent state retention mode : QSRM)에 진입한 후 전력 관리 집적 회로(power management integrated circuit : PMIC)의 스위칭 레귤레이터(switching regulator)를 저전력 상태로 유지하도록 구성되고, 상기 커널은,
동작하고 있는 사용자-스페이스 프로세스 및 상기 프로세서에서 실행하는 커널 스레드를 정지시키는 단계;
웨이크업 인터럽트를 발생시키도록 웨이크업 소스를 구성하는 단계;
상기 프로세서에 결합된 클럭 게이팅 레지스터에 정의된 클럭을 게이팅하는 단계;
상기 프로세서에 결합된 게이트된 디바이스에 전력을 공급하도록 구성된 PMIC의 선형 레귤레이터를 오프 상태에 위치시키는 단계;
상기 프로세서에 전력을 공급하도록 구성된 PMIC의 상기 스위칭 레귤레이터를 저전력 상태에 위치시키는 단계;
상기 프로세서에 결합된 직렬 주변장치 인터페이스 클럭(serial peripheral interface clock) 또는 범용 직렬 버스 클럭(universal serial bus clock), 또는 둘 모두를 게이팅하는 단계;
상기 프로세서에 결합된 클럭 제어 모듈에서 상기 프로세서를 위하여 상태 유지 모드를 설정하는 단계;
비-웨이크업 소스(non-wakeup source)로부터 인터럽트 발생을 디스에이블시키는 단계;
상기 프로세서에서 프로세서 스케일링을 디스에이블시키는 단계; 및
상기 프로세서의 메인 클럭을 게이팅하는 단계의 동작들을 수행함으로써, 상기 QSRM에 진입하도록 구성되며,
상기 프로세서 스케일링을 디스에이블시키는 단계는 상기 프로세서에 의해 지원되는 최대 동작 주파수로 상기 프로세서를 구성하는 단계를 더 포함하는, 시스템. - 청구항 1에 있어서,
상기 프로세서에 결합된 주변장치 디바이스(peripheral device)를 더 포함하며, 상기 커널은
상기 주변장치 디바이스를 저전력 상태에 위치시키는 단계; 및
웨이크업 인터럽트(wakeup interrupt)를 발생시키기 위해 상기 주변장치 디바이스에서 웨이크업 소스(wakeup source)를 구성하는 단계의 동작들을 수행함으로써 상기 QSRM에 진입하도록 구성된, 시스템. - 청구항 1에 있어서,
상기 커널은 상기 QSRM에 진입한 후 셀프-리프레시 상태에서 메모리를 유지하도록 더 구성된, 시스템. - 삭제
- 청구항 1에 있어서,
상기 커널은 인터럽트 대기(wait for interrupt:WFI) 명령을 실행하도록 더 구성된, 시스템. - 삭제
- 청구항 1에 있어서,
상기 커널은 프로세서 스케일링을 디스에이블시킨 후 상기 PMIC를 저전력 모드에 위치시키도록 더 구성된, 시스템. - 프로세서에 의해 실행될 때,
동작하고 있는 프로세스들과 중앙 처리 유닛(CPU)에서 실행하는 스레드들을 정지시키는 단계;
입력 디바이스 또는 출력 디바이스 또는 두 디바이스 모두를 저전력 상태 또는 중단 상태에 위치시키는 단계;
웨이크업 인터럽트를 발생시키도록 웨이크업 소스를 구성하는 단계;
클럭 게이팅 레지스터에 정의된 클럭들을 게이팅하는 단계;
게이트된 디바이스에 전력을 공급하도록 구성된 선형 레귤레이터를 오프 상태에 위치시키는 단계;
상기 CPU에 전력을 공급하도록 구성된 스위칭 레귤레이터를 저전력 상태에 위치시키는 단계;
직렬 주변장치 인터페이스 클럭 또는 범용 직렬 버스 클럭, 또는 둘 모두를 게이팅하는 단계;
클럭 제어 모듈에서 상기 CPU를 위하여 상태 유지 모드를 설정하는 단계;
비-웨이크업 소스로부터의 인터럽트들을 디스에이블시키는 단계; 및
CPU 스케일링을 디스에이블시키는 단계를 포함하는 동작들을 상기 프로세서가 수행하도록 하는 명령들을 저장하고,
상기 CPU 스케일링을 디스에이블시키는 단계는 상기 CPU에 의해 지원되는 최대 동작 주파수로 상기 CPU를 구성하는 단계를 더 포함하는, 하나 이상의 컴퓨터-판독가능 저장 매체. - 청구항 8에 있어서,
입력 디바이스 또는 출력 디바이스 또는 두 디바이스 모두를 저전력 상태 또는 중단 상태에 위치시키는 단계는, 메모리에 디바이스 상태를 저장하는 단계, 상기 디바이스를 저전력 모드에 위치시키는 단계, 및 상기 디바이스를 구동하는 클럭들을 게이팅하는 단계를 포함하는, 컴퓨터-판독가능 저장 매체. - 청구항 8에 있어서,
상기 직렬 주변장치 인터페이스 클럭 또는 상기 범용 직렬 버스 클럭 또는 둘 모두를 게이팅한 후 전력 관리 집적 회로(PMIC)를 저전력 모드에 위치시키는 단계를 더 포함하는, 컴퓨터-판독가능 저장 매체. - 삭제
- 청구항 8에 있어서,
상기 클럭 제어 모듈에서 상기 상태 유지 모드를 설정한 후 CPU 주 캐시, 또는 보조 캐시, 또는 둘 모두를 플러싱하는 단계를 더 포함하는, 컴퓨터-판독가능 저장 매체. - 청구항 8에 있어서,
CPU 스케일링을 디스에이블시킨 후 인터럽트 대기(wait for interrupt : WFI) 명령을 실행하는 단계를 더 포함하는, 컴퓨터-판독가능 저장 매체. - 청구항 8에 있어서,
메모리를 셀프-리프레시 모드에 위치시키는 단계를 더 포함하는, 컴퓨터-판독가능 저장 매체. - 청구항 8에 있어서,
상기 웨이크업 소스는 전력 관리 이벤트, 네트워크 인터페이스, 실시간 클럭, 또는 전원 버튼 중 적어도 하나를 포함하는, 컴퓨터-판독가능 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/488,814 US8601302B2 (en) | 2009-06-22 | 2009-06-22 | Processor system in low power state retention mode with linear regulator off and switch regulator low in power management IC |
US12/488,814 | 2009-06-22 | ||
PCT/US2010/039194 WO2010151494A1 (en) | 2009-06-22 | 2010-06-18 | Quiescent state retention mode for processor |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120047859A KR20120047859A (ko) | 2012-05-14 |
KR101668507B1 true KR101668507B1 (ko) | 2016-10-21 |
Family
ID=43355330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117030512A KR101668507B1 (ko) | 2009-06-22 | 2010-06-18 | 프로세서를 위한 정지 상태 유지 모드 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8601302B2 (ko) |
EP (1) | EP2446338B1 (ko) |
JP (1) | JP5632466B2 (ko) |
KR (1) | KR101668507B1 (ko) |
CN (1) | CN102498451B (ko) |
CA (1) | CA2763236C (ko) |
WO (1) | WO2010151494A1 (ko) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8766919B1 (en) * | 2010-03-02 | 2014-07-01 | Manish Lachwani | Fast awake from low power mode |
US8615672B2 (en) | 2010-06-30 | 2013-12-24 | Via Technologies, Inc. | Multicore processor power credit management to allow all processing cores to operate at elevated frequency |
WO2012018733A2 (en) | 2010-08-03 | 2012-02-09 | Spx Corporation | Vehicle diagnostic, communication and signal delivery system |
US8463970B2 (en) * | 2011-01-04 | 2013-06-11 | Qualcomm Incorporated | Method and system for managing sleep states of interrupt controllers in a portable computing device |
CN102692984B (zh) * | 2011-03-24 | 2014-12-10 | 国基电子(上海)有限公司 | 电子装置 |
US9104420B2 (en) | 2011-08-09 | 2015-08-11 | Samsung Electronics Co., Ltd. | Image forming apparatus, microcontroller, and methods for controlling image forming apparatus and microcontroller |
US20130042132A1 (en) * | 2011-08-09 | 2013-02-14 | Samsung Electronics Co., Ltd. | Image forming appratus, microcontroller, and methods for controlling image forming apparatus and microcontroller |
WO2014032610A1 (zh) * | 2012-09-03 | 2014-03-06 | 东南大学 | 一种面向cpu流水线的错误恢复电路 |
CN103631299B (zh) * | 2013-05-21 | 2015-07-29 | 中国科学院电子学研究所 | 一种恒定压差、可变输出电压低压差线性稳压器 |
TWI507873B (zh) * | 2013-07-29 | 2015-11-11 | Hon Hai Prec Ind Co Ltd | 電源適配器及電子裝置 |
JP2015064676A (ja) | 2013-09-24 | 2015-04-09 | 株式会社東芝 | 情報処理装置、半導体装置、情報処理方法およびプログラム |
US10234932B2 (en) | 2015-07-22 | 2019-03-19 | Futurewei Technologies, Inc. | Method and apparatus for a multiple-processor system |
US9658671B2 (en) * | 2015-09-28 | 2017-05-23 | Qualcomm Incorporated | Power-aware CPU power grid design |
US10168760B2 (en) * | 2015-12-01 | 2019-01-01 | Intel Corporation | Power management of user interfaces with coordinated ultra-low power states |
CN107577189B (zh) * | 2017-10-20 | 2023-12-19 | 中国电建集团成都勘测设计研究院有限公司 | 一种自动监测系统的精确定时唤醒方法 |
KR102003721B1 (ko) * | 2018-01-10 | 2019-07-26 | 성균관대학교산학협력단 | Gpu 커널 트랜잭션화 방법 및 컴퓨팅 장치 |
US10983840B2 (en) | 2018-06-21 | 2021-04-20 | International Business Machines Corporation | Consolidating read-copy update types having different definitions of a quiescent state |
US10916274B2 (en) | 2019-04-19 | 2021-02-09 | Samsung Electronics Co., Ltd. | Power management integrated circuits and semiconductor memory modules including power management integrated circuits |
TWI727509B (zh) * | 2019-11-20 | 2021-05-11 | 瑞昱半導體股份有限公司 | 具有省電模式且能夠在省電模式盡量省電的通訊裝置 |
US11658571B2 (en) | 2020-04-01 | 2023-05-23 | Analog Devices International Unlimited Company | Low power regulator circuit |
JP7450143B2 (ja) * | 2020-09-25 | 2024-03-15 | パナソニックIpマネジメント株式会社 | スレーブ装置、ホスト装置 |
CN113220105A (zh) * | 2021-03-19 | 2021-08-06 | 珠海全志科技股份有限公司 | 基于Android的电子书及其阅读控制方法 |
CN114020139B (zh) * | 2021-11-05 | 2024-08-06 | 珠海全志科技股份有限公司 | Cpu功耗管理方法、计算机装置及计算机可读存储介质 |
CN114527861A (zh) * | 2022-02-21 | 2022-05-24 | 山东岱微电子有限公司 | 一种指令处理方法、装置、设备及存储介质 |
CN115840499B (zh) * | 2023-02-15 | 2023-05-26 | 天津智芯半导体科技有限公司 | 电源管理系统和芯片设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003519830A (ja) * | 1999-11-05 | 2003-06-24 | インテル コーポレイション | スリープ状態への移行 |
JP2008503835A (ja) * | 2004-06-22 | 2008-02-07 | インテル コーポレイション | 低電力デバイスの待機電力制御 |
JP2009104247A (ja) * | 2007-10-19 | 2009-05-14 | Ricoh Co Ltd | 仮想記憶制御装置、仮想記憶制御方法、仮想記憶制御プログラム及び記録媒体 |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04245332A (ja) * | 1991-01-30 | 1992-09-01 | Hitachi Ltd | データ処理装置 |
JPH0776894B2 (ja) * | 1991-02-25 | 1995-08-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | プロセッサ用クロック信号の制御方法及び情報処理システム |
JPH0588775A (ja) * | 1991-09-30 | 1993-04-09 | Toshiba Corp | クロツク切替え方式 |
GB2264794B (en) * | 1992-03-06 | 1995-09-20 | Intel Corp | Method and apparatus for automatic power management in a high integration floppy disk controller |
JPH07143741A (ja) * | 1993-11-15 | 1995-06-02 | Hitachi Ltd | スイッチング電源 |
JP3411396B2 (ja) * | 1994-06-22 | 2003-05-26 | シチズン時計株式会社 | コンピュータシステム |
JPH0944417A (ja) * | 1995-07-21 | 1997-02-14 | Internatl Business Mach Corp <Ibm> | 情報処理システム及びその制御方法 |
JP2001256067A (ja) * | 2000-03-08 | 2001-09-21 | Mitsubishi Electric Corp | プロセッサ省電力制御方法、記憶媒体、およびプロセッサ省電力制御装置 |
US6715091B1 (en) * | 2000-04-10 | 2004-03-30 | Intel Corporation | System for rearranging plurality of memory storage elements in a computer process to different configuration upon entry into a low power mode of operation |
US7032119B2 (en) * | 2000-09-27 | 2006-04-18 | Amphus, Inc. | Dynamic power and workload management for multi-server system |
US7000130B2 (en) * | 2000-12-26 | 2006-02-14 | Intel Corporation | Method and apparatus for thermal throttling of clocks using localized measures of activity |
JP4686065B2 (ja) * | 2001-07-05 | 2011-05-18 | 富士通セミコンダクター株式会社 | クロック制御装置およびクロック制御方法 |
US6816977B2 (en) * | 2001-12-03 | 2004-11-09 | Hewlett-Packard Development Company, L.P. | Power reduction in computing devices using micro-sleep intervals |
AU2002257172A1 (en) * | 2002-04-19 | 2003-11-03 | International Business Machines Corporation | Power control of a processor using hardware structures controlled by a compiler with an accumulated instruction profile |
JP4175096B2 (ja) * | 2002-11-22 | 2008-11-05 | 日本電気株式会社 | クロック制御方式及び方法 |
US7051222B2 (en) * | 2002-12-31 | 2006-05-23 | Intel Corporation | Robust computer subsystem power management with or without explicit operating system support |
CN1902565A (zh) * | 2003-09-18 | 2007-01-24 | 伏尔甘·波塔尔斯公司 | 具有高、低功率处理器能够工作于低功率模式的便携式电子设备 |
US7500127B2 (en) * | 2003-09-18 | 2009-03-03 | Vulcan Portals Inc. | Method and apparatus for operating an electronic device in a low power mode |
US7042263B1 (en) * | 2003-12-18 | 2006-05-09 | Nvidia Corporation | Memory clock slowdown synthesis circuit |
KR101136036B1 (ko) * | 2003-12-24 | 2012-04-18 | 삼성전자주식회사 | 유휴 모드에서의 전력 소모가 감소된 프로세서 시스템 및그 방법 |
US7183825B2 (en) * | 2004-04-06 | 2007-02-27 | Freescale Semiconductor, Inc. | State retention within a data processing system |
US7302600B2 (en) * | 2004-06-30 | 2007-11-27 | Marvell International Ltd. | Power supply detection method, apparatus, and system |
JP2006201948A (ja) * | 2005-01-19 | 2006-08-03 | Seiko Epson Corp | 割込み信号受け付け装置および割込み信号受け付け方法 |
US7441131B2 (en) * | 2005-09-30 | 2008-10-21 | Silicon Laboratories Inc. | MCU with power saving mode |
US7574613B2 (en) * | 2006-03-14 | 2009-08-11 | Microsoft Corporation | Scaling idle detection metric for power management on computing device |
US7536570B2 (en) * | 2006-10-02 | 2009-05-19 | Silicon Laboratories Inc. | Microcontroller unit (MCU) with suspend mode |
US7870407B2 (en) * | 2007-05-18 | 2011-01-11 | Advanced Micro Devices, Inc. | Dynamic processor power management device and method thereof |
CN101802749B (zh) * | 2007-06-04 | 2012-10-03 | Nxp股份有限公司 | 电源管理集成电路 |
US20080307240A1 (en) * | 2007-06-08 | 2008-12-11 | Texas Instruments Incorporated | Power management electronic circuits, systems, and methods and processes of manufacture |
US8015428B2 (en) * | 2007-06-12 | 2011-09-06 | Renesas Electronics Corporation | Processing device and clock control method |
US9088176B2 (en) * | 2007-12-17 | 2015-07-21 | Nvidia Corporation | Power management efficiency using DC-DC and linear regulators in conjunction |
US20090193230A1 (en) * | 2008-01-30 | 2009-07-30 | Ralf Findeisen | Computer system including a main processor and a bound security coprocessor |
US20100060078A1 (en) * | 2008-09-08 | 2010-03-11 | Micrel, Incorporated | Dual Input LDO Regulator With Controlled Transition Between Power Supplies |
US8195887B2 (en) * | 2009-01-21 | 2012-06-05 | Globalfoundries Inc. | Processor power management and method |
US9405347B2 (en) * | 2009-02-26 | 2016-08-02 | Microsoft Technology Licensing, Llc | Power-saving operating system for virtual environment |
US8412967B2 (en) * | 2009-07-28 | 2013-04-02 | Stmicroelectronics S.R.L. | Method of enhancing power saving in an integrated electronic system with distinctly powered islands of functional circuitries and related device architecture |
US8635469B2 (en) * | 2009-12-22 | 2014-01-21 | Intel Corporation | Method and apparatus for I/O devices assisted platform power management |
US8713338B2 (en) * | 2010-05-28 | 2014-04-29 | Lsi Corporation | Methods and apparatus for low power out-of-band communications |
-
2009
- 2009-06-22 US US12/488,814 patent/US8601302B2/en active Active
-
2010
- 2010-06-18 JP JP2012516339A patent/JP5632466B2/ja not_active Expired - Fee Related
- 2010-06-18 CA CA2763236A patent/CA2763236C/en active Active
- 2010-06-18 CN CN201080026181.5A patent/CN102498451B/zh active Active
- 2010-06-18 EP EP10792547.1A patent/EP2446338B1/en active Active
- 2010-06-18 KR KR1020117030512A patent/KR101668507B1/ko active IP Right Grant
- 2010-06-18 WO PCT/US2010/039194 patent/WO2010151494A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003519830A (ja) * | 1999-11-05 | 2003-06-24 | インテル コーポレイション | スリープ状態への移行 |
JP2008503835A (ja) * | 2004-06-22 | 2008-02-07 | インテル コーポレイション | 低電力デバイスの待機電力制御 |
JP2009104247A (ja) * | 2007-10-19 | 2009-05-14 | Ricoh Co Ltd | 仮想記憶制御装置、仮想記憶制御方法、仮想記憶制御プログラム及び記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
EP2446338A1 (en) | 2012-05-02 |
CN102498451B (zh) | 2015-02-04 |
CA2763236A1 (en) | 2010-12-29 |
WO2010151494A1 (en) | 2010-12-29 |
JP5632466B2 (ja) | 2014-11-26 |
US20100325457A1 (en) | 2010-12-23 |
EP2446338A4 (en) | 2016-05-25 |
US8601302B2 (en) | 2013-12-03 |
KR20120047859A (ko) | 2012-05-14 |
CA2763236C (en) | 2018-12-04 |
JP2012530973A (ja) | 2012-12-06 |
EP2446338B1 (en) | 2017-08-09 |
CN102498451A (zh) | 2012-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101668507B1 (ko) | 프로세서를 위한 정지 상태 유지 모드 | |
US11237620B2 (en) | Hierarchical power management unit for low power and low duty cycle devices | |
US9568983B1 (en) | Power cut off mode for conserving power in electronic devices | |
US8230247B2 (en) | Transferring architectural functions of a processor to a platform control hub responsive to the processor entering a deep sleep state | |
US8214675B2 (en) | Apparatus, system, and method for power management utilizing multiple processor types | |
US8762759B2 (en) | Responding to interrupts while in a reduced power state | |
US8707066B2 (en) | Method and apparatus for a zero voltage processor sleep state | |
KR102023146B1 (ko) | 인스턴트 온을 갖는 제로 전력 하이버네이션 모드 | |
US9411402B2 (en) | Power control system and power control method | |
JP3974510B2 (ja) | コンピュータ装置、電力管理方法、およびプログラム | |
US9128703B1 (en) | Processor that transitions to an idle mode when no task is scheduled to execute and further enters a quiescent doze mode or a wait mode depending on the value of a reference counter | |
US11455025B2 (en) | Power state transitions | |
US20220276693A1 (en) | Usb type-c subsystem power management | |
US9323307B2 (en) | Active display processor sleep state | |
US20060143485A1 (en) | Techniques to manage power for a mobile device | |
US9128718B1 (en) | Suspend using internal rewriteable memory |
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: 20191008 Year of fee payment: 4 |