KR20040011428A - 프로세서 아이들 상태 - Google Patents
프로세서 아이들 상태 Download PDFInfo
- Publication number
- KR20040011428A KR20040011428A KR10-2003-7006267A KR20037006267A KR20040011428A KR 20040011428 A KR20040011428 A KR 20040011428A KR 20037006267 A KR20037006267 A KR 20037006267A KR 20040011428 A KR20040011428 A KR 20040011428A
- Authority
- KR
- South Korea
- Prior art keywords
- processor
- idle
- signal
- interrupt
- execution pipeline
- Prior art date
Links
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
- 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
-
- 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/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Microcomputers (AREA)
- Multi Processors (AREA)
- Saccharide Compounds (AREA)
Abstract
일 실시예에 있어서, 본 발명의 방법은 프로그램 가능 프로세서를 저전력의 아이들 상태로 두는 단계와 프로세서를 활성 상태로 복귀시키는 단계를 포함한다.
Description
컴퓨터 또는 디지털 신호 처리 시스템의 마이크로프로세서와 같은 프로그램 가능 프로세서는 초당 수백만회의 전자식 연산을 수행할 수 있다. 어떤 경우에, 프로세서는 주어진 시간에 수행할 연산이 거의 없는 데도 프로세서에는 완전한 전력이 공급되고 필요한 작업을 수행할 준비 상태로 있을 수 있다. 이러한 전력 소모는, 예컨대, 프로세서가 배터리 구동형 장치에 장착될 때에 바람직하지 않다.
본 발명은 프로그램 가능 프로세서를 아이들 상태로 두는 것과 관련된다.
도 1은 파이프라인형 프로그램 가능 프로세서의 예를 나타내는 블록도이다.
도 2는 실행 파이프라인의 예를 나타내는 개략도이다.
도 3은 프로세서를 아이들 상태로 두기 위한 처리를 설명하는 흐름도이다.
도 4는 아이들 핸들러의 논리 회로도이다.
도 5는 프로세서를 아이들 상태로부터 복귀시키기 위한 처리를 설명하는 흐름도이다.
도 6은 프로세서를 아이들 상태로부터 복귀시키기 위한 처리를 설명하는 흐름도이다.
어떤 경우에, 프로세서의 동작은 일시 정지되는 것이 바람직할 수 있다. 프로세서의 동작이 일시 정지될 때, 프로세서에 공급되는 전력이 감소될 수 있고, 그에 따라서 에너지 효율을 증대시켜서 배터리 수명을 연장시킨다. 이하에서 설명하는 기술은 프로세서가 처리 동작을 조금만 또는 전혀 수행하지 않거나, 실행을 위한 명령어를 인출하지 않거나 및/또는 인터럽트를 무시하는, 프로세서의 아이들(idle) 모드를 생성하는 방법을 제공할 수 있다. 또한, 이하에서는 프로세서를 아이들 상태로부터 "소생"(wake up)시켜서 프로세서가 활성 상태로 복귀하게 하는 기술을 설명한다.
도 1은 실행 파이프라인(14)과 제어 유닛(12)을 구비한 프로그램 가능 프로세서(10)를 나타내는 블록도이다. 제어 유닛(12)은 클럭 사이클 중에 파이프라인(14)을 통한 명령어 및 데이터의 흐름을 제어한다. 예를 들어, 명령어 처리 중에 제어 유닛(12)은 파이프라인(14)의 각종 부품을 제어하여 명령어를 디코드하고, 예컨대 결과치를 메모리에 재기록하는 것을 비롯한 대응하는 동작을 수행하게 한다. 프로세서(10)의 많은 동작들은 클럭 제어기(15)에서 공급한 클럭 신호에 의해 클럭된다.
"아이들 출력"(17)이라고 표시된 접속은 도 1에 제어 유닛(12)의 일부로서 도시된 아이들 핸들러(11)에 파이프라인(14)을 결합한다. 아이들 핸들러(11)는 아이들 상태를 만들 수 있다. 또한, 아이들 핸들러(11)는 아이들 상태를 표시하도록 아이들 출력 비트(17)를 어서트(assert)할 수 있다. 아이들 출력(17)의 어서트는파이프라인(14)을 중지(stall)시켜서 파이프라인의 동작을 중단시킬 수 있다. 동작의 중단은 프로세서(10)를 아이들 상태로 두는 동작의 일부일 수 있다. 아이들 핸들러(11) 및 아이들 출력(17)은 이하에서 더 상세히 설명한다.
어떤 경우에, 프로그램 가능 프로세서(10)는 메인 프로세서(18)와 연동한다. 프로세서(10)는 메인 프로세서(18)에 대한 슬레이브 또는 컴패니온(companion)일 수 있다. 다른 경우에, 프로그램 가능 프로세서(10)는 다른 프로세서와 연동하지 않을 수 있다. 도 1에 도시된 시스템은 설명을 위한 것이고, 본 발명의 범위를 한정하기 위한 것은 아니다. 또한, 시스템은 도 1에 도시되지 않은 추가의 부품들, 예를 들면, 스태틱 랜덤 액세스 메모리, 버스 제어기, 인터럽트 핸들러 및 입력-출력 장치들을 포함할 수 있다.
메인 프로세서(18)는 아이들 출력(17)을 감지할 수 있다. 메인 프로세서(18)는 아이들 출력(17)을 감지함으로써 프로세서(10)가 활성 상태인지 아이들 상태인지를 검출한다. 메인 프로세서(18)는 소생 신호(84)를 발생함으로써 프로세서(10)를 소생시키도록 또한 구성될 수 있다.
명령어 캐시 메모리(16)에 저장된 명령어는 파이프라인(14)의 제1 스테이지에서 로드되어 후속 스테이지에서 처리될 수 있다. 스테이지들은 다른 스테이지들과 실질적으로 동시에 처리를 행할 수 있다. 데이터는 시스템의 클럭 사이클 중에 파이프라인(14)의 스테이지들 사이를 통과할 수 있다. 명령어의 결과들은 신속한 연속 동작으로 파이프라인(14)의 끝에서 빠져나올 수 있다.
도 2는 파이프라인(14)의 예를 도시한 것이다. 파이프라인(14)은, 예를 들면, 명령어 인출(IF) 스테이지, 명령어 디코드(DEC) 스테이지, 어드레스 계산(AC) 스테이지, 실행(EX) 스테이지 및 재기록(WB) 스테이지의 5개의 스테이지를 가질 수 있다. 명령어는 제1 스테이지(IF) 동안에 인출 유닛(20)에 의해 메모리 또는 명령어 캐시(16)로부터 인출되고, 제2 스테이지(DEC) 동안에 어드레스 레지스터(24) 내에서 디코드(22)될 수 있다. 다음 클럭 사이클에서, 결과들이 제3 스테이지(AC)로 통과하여 이 제3 스테이지에서 데이터 어드레스 발생기(26)가 동작 수행에 사용되는 임의의 메모리 어드레스를 계산할 수 있다. 실행 스테이지(EX) 동안에, 실행 유닛(28)은 예를 들면 2개의 수를 가산 또는 승산하는 등의 동작을 수행할 수 있다. 최종 스테이지(WB) 동안에, 결과들은 데이터 메모리 또는 데이터 레지스터(30)에 재기록될 수 있다.
프로그램 가능 프로세서(10)를 포함한 시스템은 프로세서가 아무런 작업을 수행하지 않으면서 전력을 소모하는 상황에 도달할 수 있다. 이러한 상황에서는 프로세서(10)가 저전력의 아이들 모드로 진입하는 것이 유리할 수 있다. 아이들 모드는 예를 들면 사용자의 지시에 의해 프로세서가 저전력 상태로 진입하게 함으로써 개시될 수도 있고, 프로세서(10)가 작업 수행이 종료된 후 소정의 기간이 경과된 뒤에 메인 프로세서(18)에 의해 개시될 수도 있지만, 본 발명의 범위는 이것에만 한정되는 것이 아니다. 도 3은 활성 상태(50)에 있는 프로세서(10)가 저전력의 아이들 모드로 진입하는 과정을 도시한 것이다. 사용자 또는 메인 프로세서(18) 등에 의해 아이들이 표시되면(52), 프로세서(10)는 인터럽트를 디세이블(disable) 한다(54). 인터럽트를 디세이블하는 하나의 방법은 인터럽트 핸들러에 의해 사용된인터럽트 마스크를 변경하는 CLI(인터럽트 클리어) 명령어를 실행하는 것이다. CLI 명령어의 실행 결과로서, 프로세서(10)는 아이들 상태로 진입하는 동안 인터럽트를 무시할 수 있다. 프로세서(10)는 또한 아이들 상태에 있는 동안 인터럽트를 무시할 수 있다.
그 다음에, 프로세서(10)는 그 자신을 주지(周知)의 아이들 상태로 둔다(56). 프로세서(10)를 주지의 아이들 상태로 두면, 프로세서(10)는 나중에 리세트를 행할 필요없이 주지의 상태에 있는 아이들 모드로부터 빠져나올 수 있다. 도 3은 프로세서(10)를 아이들 상태로 두는 하나의 방법(56)을 도시하고 있다. 아이들 요구는 파이프라인(14)을 통하여 아이들 명령어를 보냄으로써 표시될 수 있다. 뒤에서 설명하겠지만, 아이들 명령어는 아이들 플래그 비트(80)(도 4 참조)를 세트시키는(58) 명령어일 수 있다. 아이들 플래그 비트(80)는 프로세서(10)가 아이들 상태에 진입하고 있음을 표시할 수 있다. 아이들 플래그 비트(80)는 레지스터(102)(도 4 참조) 등의 메모리 소자에 저장될 수 있다.
아이들 명령어는 파이프라인(14)에서 시스템 동기화(SSYNC) 명령어에 의해 후속될 수 있다(60). 일반적으로, SSYNC 명령어는 다음 명령어가 개시되기 전에 모든 계류중인 처리 동작이 완료되어야 한다는 것을 특정할 수 있다. 따라서, SSYNC 명령어는 이미 파이프라인(14)에 있는 명령어가 빠져나오게 하지만, 시스템 승인 신호(82)(도 1, 도 4 참조)가 수신될 때까지는 파이프라인(14)이 명령어 캐시(16)로부터 새로운 명령어를 인출하는 것을 중지시킬 수 있다. 시스템 승인 신호(82)는 모든 계류중인 시스템 동작이 완료되었음을 표시할 수 있다. 다시 말해서, 파이프라인(14)을 통해서 SSYNC를 보내면, 그 이후의 파이프라인(14)을 중지시켜서 IF 스테이지, DEC 스테이지 및 AC 스테이지를 비동작 상태로 하는 한편, 그 이전의 계류중인 명령어는 실행을 완료할 때까지 계속 진행하게 할 수 있다. 예를 들어, 시스템 버스에 요구를 행하는 SSYNC 명령어 이전의 명령어는 중지되지 않고 오히려 실행을 완료하도록 허용되고, 따라서 버스 프로토콜을 보존한다. SSYNC는 시스템이 SSYNC 명령어를 승인할 때까지 EX 스테이지에서 머무를 수 있다.
SSYNC 명령어는 프로세서(10)를 아이들 상태로 두는 것과 연관된 동작 이외의 동작을 수행할 수 있지만, 아이들 플래그 비트(80)를 세트시키는(58) 아이들 명령어와 함께 실행될 때에는 SSYNC 명령어가 이하에 설명하는 바와 같이 아이들 상태로 만든다. SSYNC 명령어는 SSYNC 명령어 이전의 모든 동작이 완료될 때까지 SSYNC 명령어가 파이프라인(14)을 중지시키기 때문에, 프로세서(10)에 주지의 상태를 발생할 수 있다. 또한, SSYNC 명령어는 SSYNC 명령어가 WB 스테이지에 도달하였을 때에 파이프라인(14)의 일부 또는 모든 동작을 "소거"(kill) 또는 취소(cancel)시킬 수 있다.
시스템 승인 신호(82)는 SSYNC 명령어 이전의 명령어가 프로세서(10)에 의해서, 및 메인 프로세서(18)와 버스 제어기와 같은 시스템의 임의의 다른 부품에 의해서 실행되었음을 표시하기 위해 사용될 수 있다. 프로세서(10)가 시스템 승인 신호(82)를 수신할 때, SSYNC 명령어는 통상적으로 WB 스테이지에 진입하여 실행을 완료할 것이다. 그러나, 아이들 명령어가 아이들 플래그 비트(80)를 세트하기 때문에(58), 파이프라인(14)은 중지된 채로 유지되고 SSYNC 명령어는 EX 스테이지에서유지된다. 시스템 승인 신호(82)는 아이들 핸들러(11)에 의해 수신될 수 있다(62). 또한, 아이들 플래그 비트(80)의 상태가 감지되어(64) 아이들 출력(17)에서 아이들 출력 신호를 어서트할 수 있다(66). 파이프라인(14)은 아이들 출력(17)이 어서트되어 있는 한 중지된 채로 유지될 수 있다. 파이프라인(14)이 중지되어 있기 때문에, SSYNC 명령어는 EX 스테이지에서 중지되고 WB 스테이지에 진입하지 않을 수 있다.
아이들 핸들러(11)는 아이들 플래그 비트를 클리어할 수 있다(68). 아이들 플래그 비트(80)를 검출하고(64), 아이들 출력(17)을 세트하며(66), 아이들 플래그 비트(80)를 클리어하는 것(68)은 이후 설명하는 바와 같이 아이들 핸들러(11) 내의 논리 회로에 의해 수행될 수 있다. 또한, 메인 프로세서(18)는 아이들 출력(17)을 감지하고, 그 결과로서 프로세서(10)가 아이들 상태에 있음을 감지할 수 있으며, 프로세서(10)에 대한 클럭을 차단한다(70). 메인 프로세서(18)는, 클럭을 차단하는 것 외에, 예를 들면 전원 전압을 "아이들 모드 전압 레벨"로 설정함으로써, 프로세서(10)에 공급되는 전력을 감소시킬 수 있다. 아이들 모드 전압 레벨은 일반적으로 프로세서(10)가 정상 동작하는 "활성 모드 전압 레벨"보다 낮지만, 레지스터 내의 상태를 유지하기에는 충분한 레벨이다. 전력 소모는 일반적으로 전압의 제곱에 비례하기 때문에, 특수한 실시예에서 예컨대 1.3 볼트인 활성 모드 전압 레벨로부터 예컨대 0.7 볼트인 아이들 모드 전압 레벨로 전력을 감소시키면 상당한 절전 효과를 가져온다. 클럭을 차단하고 공급 전력을 감소시킴으로써, 프로세서(10)는 저전력의 아이들 모드로 진입한다.
도 4는 본 발명의 실시예에 따른 아이들 핸들러(11)의 논리 회로도이다. 도4는 전술한 방법을 실행하는 기술을 도시하고 있다. 프로세서(10)가 활성인 동안에, 회로도 내의 모든 비트들은 디어서트된다. 아이들 플래그 비트(80)는 세트되지 않을 수 있고 아이들 출력 핀(17)은 어서트되지 않을 수 있다. 아이들 명령어가 WB 스테이지에 진입할 때, 비트는 참조 번호 '96'으로 표시한 부분에서 어서트된다. 이 비트는 레지스터(102)와 같은 기억 소자에 의해 래치될 수 있다. 다음 클럭 사이클에서, 레지스터(102)는 아이들 플래그 비트(80)를 세트할 수 있다. 아이들 플래그 비트(80)는 OR 게이트(98)로 피드백되기 때문에 아이들 출력(17)이 어서트될 때까지 어서트된 상태로 유지할 수 있다.
아이들 플래그 비트(80)가 어서트되고 시스템 승인 신호(82)가 AND 게이트(88)에 수신되면, 하이 비트가 발생되어 레지스터(94)에 래치된다. 다음 클럭 사이클에서, 아이들 출력(17)이 세트될 수 있다. 하이의 아이들 출력(17)이 반전되어 AND 게이트(100)에 입력됨으로써, 레지스터(102)에는 디어서트된 비트가 위치되고, 그 결과 아이들 플래그 비트(80)가 다음 클럭 사이클에서 클리어될 수 있다. 아이들 출력(17)은 OR 게이트(90)로 피드백되기 때문에 소생 신호(84)가 어서트될 때까지 하이 상태를 유지할 수 있다. 소생 신호(84)가 어서트될 때까지 프로세서(10)는 아이들 상태를 유지할 수 있다.
프로세서가 활성 상태로 복귀하는 방법의 실시예는 도 5를 참조하여 설명한다. 메인 프로세서(18)는 공급 전력을 활성 모드 전압 레벨로 설정함으로써 프로세서(10)에 대한 클럭을 회복시키고 공급 전력을 동작 레벨로 회복시킬 수 있다(110). 메인 프로세서(18)는 또한 소생 신호(84)를 발생할 수 있다(112). 도 4에 도시한 바와 같이, 반전되어 AND 게이트(92)에 입력된 소생 신호(84)는 레지스터(94)에 래치된 비트를 디어서트하고, 다음 클럭에서 아이들 출력 비트(17)를 클리어한다(114).
아이들 출력 비트(17)를 클리어함으로써 파이프라인(14)을 중지 상태로부터 빠져나오게 할 수 있다. 시스템 승인 신호(82)가 보내졌기 때문에, SSYNC 명령어는 WB 스테이지로 진입하고 파이프라인(14)에서의 모든 동작을 취소시킨다(116). 이 시점에서, SSYNC 명령어 이후의 명령어를 명령어 캐시(16)에서 인출함으로써, 파이프라인(14)으로의 명령어 흐름이 다시 시작된다(118). SSYNC 이후의 명령어는 전형적으로 STI(인터럽트 회복) 명령어이고, 인터럽트 마스크를 회복시킨다(120). 그 다음에, 파이프라인(14)은 프로그램 순서로 명령어를 처리할 수 있다(122). 이것은 프로세서(10)가 소생시에는 프로세서(10)가 아이들 모드로 진입할 때에 빠져나왔던 위치에서 재개시할 수 있다는 것을 의미한다.
아이들 모드에 있는 동안, 프로세서(10)는 인터럽트를 무시할 수 있다. 프로세서(10)는 또한 클럭 회복(110) 이전에 수신된 인터럽트를 무시할 수 있다. 클럭이 회복된 후에, 인터럽트는 포착될 수 있지만 인터럽트가 회복될 때(120) 까지는 동작을 행하지 않는다. 인터럽트 회복(120) 후에, 인터럽트는 통상의 방법으로 프로세서(10)의 인터럽트 핸들러에 의해 처리될 수 있다.
프로세서를 활성 상태로 복귀시키는 다른 실시예가 도 6에 도시되어 있다. 도 6은 도 5와 유사하지만, 메인 프로세서(18)가 인터럽트를 발생(126)한다는 점이 상이하다. 인터럽트는 클럭이 회복(110)된 후 및 인터럽트 마스크가 회복(120)되기전의 도 6에 도시된 어떤 단계에서도 발생 가능하다. 앞에서 설명한 바와 같이, 인터럽트는 포착될 수 있지만 인터럽트 회복(120) 시까지는 동작할 수 없고, 이 때 제어는 인터럽트 핸들러에 의해 인터럽트 서비스 루틴(124)으로 이송된다. 그 결과, 프로세서(10)는 프로그램 순서로 명령어를 처리하는 대신에 인터럽트 서비스 루틴(124)의 명령어를 실행할 수 있다.
지금까지 본 발명의 여러가지 실시예를 설명하였다. 이들 실시예 및 다른 실시예들은 첨부된 청구범위 내에 포함된다.
Claims (30)
- 프로세서에 대한 인터럽트를 디세이블하는 단계와;프로세서를 아이들 상태로 두는 단계와;아이들 상태를 나타내는 신호를 출력 단자에 발생하는 단계를 포함하는 방법.
- 제1항에 있어서, 프로세서에 대한 클럭 신호 입력을 디세이블하는 단계를 더 포함하는 방법.
- 제1항에 있어서, 프로세서에 대한 공급 전력을 감소시키는 단계를 더 포함하는 방법.
- 제1항에 있어서,아이들 플래그를 세팅하는 단계와;승인 신호를 발생하는 시스템 동기화 명령어를 처리하는 단계와;아이들 플래그 및 승인 신호를 감지할 때 프로세서를 아이들 상태로 두는 단계를 더 포함하는 방법.
- 제4항에 있어서, 상기 시스템 동기화 명령어를 처리하는 단계는 승인 신호가발생되기 전에 프로세서가 주지의 상태로 진입하게 하는 것인 방법.
- 제1항에 있어서, 상기 프로세서는 파이프라인을 포함하고, 상기 방법이 파이프라인 내의 모든 동작을 취소시키는 단계를 더 포함하는 방법.
- 제1항에 있어서, 소생 신호를 수신하는 단계를 더 포함하는 방법.
- 실행 파이프라인과;실행 파이프라인에 결합된 아이들 핸들러를 포함하고,상기 아이들 핸들러는 아이들 명령어 및 시스템 동기화 승인에 응답하여 상기 실행 파이프라인을 중지시키도록 구성된 것인 장치.
- 제8항에 있어서, 상기 아이들 핸들러는 출력 단자를 포함하고, 상기 아이들 명령어 및 시스템 동기화 승인에 응답하여 상기 출력 단자에서 신호를 어서트하도록 구성된 것인 장치.
- 제9항에 있어서, 상기 출력 단자는 메모리 소자에 결합된 것인 장치.
- 제8항에 있어서, 상기 아이들 핸들러는 소생 신호 입력 단자를 포함하고, 상기 소생 신호 입력 단자에서 수신된 신호에 응답하여 실행 파이프라인을 불연속적으로 중지하도록 구성된 것인 장치.
- 제8항에 있어서, 상기 아이들 핸들러는 아이들 명령어에 응답하여 아이들 플래그 비트를 세트하고, 시스템 동기화 승인에 응답하여 아이들 플래그 비트를 클리어하도록 구성된 것인 장치.
- 아이들 상태로 진입하고 아이들 출력 신호를 공급하도록 구성된 제1 프로세서와;상기 제1 프로세서에 결합된 제2 프로세서와;제1 프로세서에 클럭 신호를 공급하는 클럭 소자와;제1 프로세서에 결합된 스태틱 랜덤 액세스 메모리를 포함하고,상기 제2 프로세서는 아이들 출력 신호를 감지하였을 때 제1 프로세서에 공급되는 클럭 신호를 불활성화하는 것인 시스템.
- 제13항에 있어서, 제1 프로세서는 실행 파이프라인과 이 실행 파이프라인에 결합된 아이들 핸들러를 포함하는 것인 시스템.
- 제13항에 있어서, 제1 프로세서는 아이들 상태에 있는 동안 제2 프로세서로부터 발행된 인터럽트를 무시하도록 구성된 것인 시스템.
- 제13항에 있어서, 제2 프로세서는 제1 프로세서에 소생 신호를 공급하도록 구성되고, 제1 프로세서는 이 제1 프로세서가 소생 신호를 감지하였을 때 아이들 상태로부터 빠져나가도록 구성된 것인 시스템.
- 아이들 상태에 있고 인터럽트에 반응하지 않는 프로세서에 클럭 신호를 공급하는 단계와;아이들 상태에서 빠져나가도록 프로세서에 신호를 공급하는 단계와;인터럽트에 대한 프로세서의 반응을 회복시키는 단계를 포함하는 방법.
- 제17항에 있어서, 프로세서에 정상 동작 레벨의 전력을 공급하는 단계를 더 포함하는 방법.
- 제17항에 있어서,프로세서에 인터럽트를 공급하는 단계와;인터럽트에 대한 프로세서의 반응이 회복된 후에 제어를 인터럽트 서비스 루틴으로 이송시키는 단계를 더 포함하는 방법.
- 제17항에 있어서, 프로세서는 실행 파이프라인을 포함하는 것이고, 상기 방법이 상기 실행 파이프라인의 모든 동작을 취소시키는 단계를 더 포함하는 방법.
- 제20항에 있어서, 상기 취소 후에 명령어를 인출하는 단계를 더 포함하는 방법.
- 제21항에 있어서, 상기 인출된 명령어는 인터럽트에 대한 프로세서의 반응을 회복시키는 것인 방법.
- 제17항에 있어서, 상기 프로세서는 아이들 출력 신호를 공급하는 것이고, 상기 방법이 상기 아이들 출력 신호를 클리어시키는 단계를 더 포함하는 방법.
- 프로세서를 제1 모드에서 동작시키는 단계와;프로세서에 대한 인터럽트를 디세이블하는 단계와;프로세서를 제2 모드에 두는 단계를 포함하고,상기 프로세서는 상기 제1 모드에서 보다 제2 모드에서 더 적은 전력을 소비하는 것인 방법.
- 제24항에 있어서, 프로세서에 대한 클럭 신호 입력을 디세이블하는 단계를 더 포함하는 방법.
- 제24항에 있어서, 프로세서에 대한 공급 전력을 감소시키는 단계를 더 포함하는 방법.
- 제24항에 있어서, 프로세서는 실행 파이프라인을 포함하는 것이고, 상기 실행 파이프라인은 프로세서가 제2 모드에 있을 때 동작을 수행하지 않는 것인 방법.
- 제24항에 있어서, 프로세서가 제2 모드에 있을 때 출력 신호를 발행하는 단계를 더 포함하는 방법.
- 제24항에 있어서,프로세서가 제2 모드에 있을 때 프로세서에 입력 신호를 발행하는 단계와;프로세서를 제1 모드로 복귀시키는 단계와;프로세서에 대한 인터럽트를 인에이블시키는 단계를 더 포함하는 방법.
- 제29항에 있어서, 프로세서는 실행 파이프라인을 포함하는 것이고, 상기 프로세서를 제1 모드로 복귀시키는 단계는 실행 파이프라인의 모든 동작을 취소시키는 단계를 포함하는 것인 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US71149600A | 2000-11-13 | 2000-11-13 | |
US09/711,496 | 2000-11-13 | ||
PCT/US2001/043412 WO2002046894A2 (en) | 2000-11-13 | 2001-11-13 | Processor idle state |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040011428A true KR20040011428A (ko) | 2004-02-05 |
KR100500227B1 KR100500227B1 (ko) | 2005-07-11 |
Family
ID=24858319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2003-7006267A KR100500227B1 (ko) | 2000-11-13 | 2001-11-13 | 프로세서 아이들 상태 |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP4488676B2 (ko) |
KR (1) | KR100500227B1 (ko) |
CN (1) | CN100476693C (ko) |
TW (1) | TWI282918B (ko) |
WO (1) | WO2002046894A2 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100656353B1 (ko) * | 2005-07-12 | 2006-12-11 | 한국전자통신연구원 | 메모리 전력 소모를 줄이는 방법 |
KR100925302B1 (ko) * | 2006-04-20 | 2009-11-04 | 엔비디아 코포레이션 | 디스플레이 서브시스템용 작업 기반 클록 관리를 위한시스템 및 방법 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7174472B2 (en) * | 2003-05-20 | 2007-02-06 | Arm Limited | Low overhead integrated circuit power down and restart |
US7930572B2 (en) * | 2003-12-24 | 2011-04-19 | Texas Instruments Incorporated | Method and apparatus for reducing memory current leakage a mobile device |
EP1600845A1 (en) * | 2004-05-28 | 2005-11-30 | STMicroelectronics Limited | Processor with power saving circuitry |
US20070214389A1 (en) * | 2006-03-08 | 2007-09-13 | Severson Matthew L | JTAG power collapse debug |
US20100332877A1 (en) * | 2009-06-30 | 2010-12-30 | Yarch Mark A | Method and apparatus for reducing power consumption |
US8732379B2 (en) * | 2010-10-29 | 2014-05-20 | Texas Instruments Incorporated | Adapting legacy/third party IPs to advanced power management protocol |
US9075652B2 (en) * | 2010-12-20 | 2015-07-07 | Microsoft Technology Licensing, Llc | Idle time service |
JP5318139B2 (ja) * | 2011-03-24 | 2013-10-16 | 株式会社東芝 | 制御装置およびプログラム |
CN104704479B (zh) | 2012-10-04 | 2017-07-28 | 苹果公司 | 用于降低嵌入式系统内的功率消耗的方法和装置 |
US9372526B2 (en) * | 2012-12-21 | 2016-06-21 | Intel Corporation | Managing a power state of a processor |
CN115525137A (zh) * | 2022-11-23 | 2022-12-27 | 紫光同芯微电子有限公司 | 一种数据协同处理方法、系统、存储介质及电子设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5446904A (en) * | 1991-05-17 | 1995-08-29 | Zenith Data Systems Corporation | Suspend/resume capability for a protected mode microprocessor |
US5630143A (en) * | 1992-03-27 | 1997-05-13 | Cyrix Corporation | Microprocessor with externally controllable power management |
EP0662652B1 (en) * | 1994-01-10 | 2000-07-05 | Sun Microsystems, Inc. | Method and apparatus for reducing power consumption in a computer system |
US5983339A (en) * | 1995-08-21 | 1999-11-09 | International Business Machines Corporation | Power down system and method for pipelined logic functions |
GB2318194B (en) * | 1996-10-08 | 2000-12-27 | Advanced Risc Mach Ltd | Asynchronous data processing apparatus |
US5987614A (en) * | 1997-06-17 | 1999-11-16 | Vadem | Distributed power management system and method for computer |
US6438700B1 (en) * | 1999-05-18 | 2002-08-20 | Koninklijke Philips Electronics N.V. | System and method to reduce power consumption in advanced RISC machine (ARM) based systems |
-
2001
- 2001-11-12 TW TW090128004A patent/TWI282918B/zh not_active IP Right Cessation
- 2001-11-13 KR KR10-2003-7006267A patent/KR100500227B1/ko active IP Right Grant
- 2001-11-13 CN CNB018187986A patent/CN100476693C/zh not_active Expired - Fee Related
- 2001-11-13 JP JP2002548560A patent/JP4488676B2/ja not_active Expired - Lifetime
- 2001-11-13 WO PCT/US2001/043412 patent/WO2002046894A2/en active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100656353B1 (ko) * | 2005-07-12 | 2006-12-11 | 한국전자통신연구원 | 메모리 전력 소모를 줄이는 방법 |
KR100925302B1 (ko) * | 2006-04-20 | 2009-11-04 | 엔비디아 코포레이션 | 디스플레이 서브시스템용 작업 기반 클록 관리를 위한시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2002046894A2 (en) | 2002-06-13 |
JP4488676B2 (ja) | 2010-06-23 |
JP2004515853A (ja) | 2004-05-27 |
WO2002046894A3 (en) | 2003-08-21 |
TWI282918B (en) | 2007-06-21 |
CN1656435A (zh) | 2005-08-17 |
KR100500227B1 (ko) | 2005-07-11 |
CN100476693C (zh) | 2009-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8086883B2 (en) | Hardware driven processor state storage prior to entering a low power | |
JP3454866B2 (ja) | バスユニットと実行ユニットとを含むタイプのプロセッサを動作させる方法、中央処理装置、コンピュータシステム、およびクロック制御装置回路 | |
US5586332A (en) | Power management for low power processors through the use of auto clock-throttling | |
US5878264A (en) | Power sequence controller with wakeup logic for enabling a wakeup interrupt handler procedure | |
US6854064B2 (en) | ACPI complaint computer system and overtemperature protection method therefor | |
US6981163B2 (en) | Method and apparatus for power mode transition in a multi-thread processor | |
KR100500227B1 (ko) | 프로세서 아이들 상태 | |
US7007180B2 (en) | System and method for switching a computer system to a first or second power saving mode based on whether or not there exists a timer-expiration-waiting event in an event queue | |
EP1653331B1 (en) | An apparatus and method for entering and exiting low power mode | |
US6088807A (en) | Computer system with low power mode invoked by halt instruction | |
JP4515093B2 (ja) | Cpuのパワーダウン方法及びそのための装置 | |
US6343363B1 (en) | Method of invoking a low power mode in a computer system using a halt instruction | |
WO2006121175B1 (en) | Methods and apparatus for power management in a computing system | |
US10891207B2 (en) | Processor with debug pipeline | |
KR20090026895A (ko) | 시스템 온 칩에서 전력 소모를 감소시키기 위한 장치 및방법 | |
JPH10124456A (ja) | 非同期データ処理装置 | |
JP2007249986A (ja) | ハードウェア制御のパワー管理機能を備えたコンピュータ・システム | |
GB2506169A (en) | Limiting task context restore if a flag indicates task processing is disabled | |
KR100571324B1 (ko) | 프로세서 리셋 후의 명령어 로딩 방법 및 장치 | |
JPS63191245A (ja) | 暴走装置の復帰制御方式 | |
US20200319895A1 (en) | Wakeup interrupt controller | |
JPH0756774A (ja) | ウォッチドッグタイマ | |
JP2755205B2 (ja) | データ処理装置の低消費電力化方式 | |
JP2000347772A (ja) | 携帯情報機器に使用されるプロセッサの低消費電力制御方法 | |
JPH0588775A (ja) | クロツク切替え方式 |
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: 20130603 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20140605 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20150602 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20160527 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20180601 Year of fee payment: 14 |