KR100500227B1 - 프로세서 아이들 상태 - Google Patents

프로세서 아이들 상태 Download PDF

Info

Publication number
KR100500227B1
KR100500227B1 KR10-2003-7006267A KR20037006267A KR100500227B1 KR 100500227 B1 KR100500227 B1 KR 100500227B1 KR 20037006267 A KR20037006267 A KR 20037006267A KR 100500227 B1 KR100500227 B1 KR 100500227B1
Authority
KR
South Korea
Prior art keywords
processor
idle
signal
mode
idle state
Prior art date
Application number
KR10-2003-7006267A
Other languages
English (en)
Other versions
KR20040011428A (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 KR20040011428A publication Critical patent/KR20040011428A/ko
Application granted granted Critical
Publication of KR100500227B1 publication Critical patent/KR100500227B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

일 실시예에 있어서, 본 발명의 방법은 프로그램 가능 프로세서를 저전력의 아이들 상태로 두는 단계와 프로세서를 활성 상태로 복귀시키는 단계를 포함한다.

Description

프로세서 아이들 상태{PROCESSOR IDLE STATE}
본 발명은 프로그램 가능 프로세서를 아이들 상태로 두는 것과 관련된다.
컴퓨터 또는 디지털 신호 처리 시스템의 마이크로프로세서와 같은 프로그램 가능 프로세서는 초당 수백만회의 전자식 연산을 수행할 수 있다. 어떤 경우에, 프로세서는 주어진 시간에 수행할 연산이 거의 없는 데도 프로세서에는 완전한 전력이 공급되고 필요한 작업을 수행할 준비 상태로 있을 수 있다. 이러한 전력 소모는, 예컨대, 프로세서가 배터리 구동형 장치에 장착될 때에 바람직하지 않다.
도 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. (a) 프로세서를 아이들(idle) 상태로 두는 단계와,
    (b) 상기 프로세서를 아이들 상태로 두는 단계 동안 상기 프로세서에 대한 인터럽트를 디스에이블하는 단계와,
    (c) 출력 단자에 아이들 상태를 나타내는 신호를 어서트하는 단계를 포함하는 방법으로서,
    상기 인터럽트 디스에이블 단계는, 상기 프로세서를 아이들 상태로 두는 단계 동안 상기 프로세서가 인터럽트를 무시하도록 상기 프로세서를 제어하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 (c) 단계에서 어서트된 아이들 상태를 나타내는 신호를 감지하는 것에 응답하여, 상기 프로세서에 대한 클럭 신호 입력을 디스에이블하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서, 상기 (c) 단계에서 어서트된 아이들 상태를 나타내는 신호를 감지하는 것에 응답하여, 상기 프로세서에 대한 전력 공급을 감소시키는 단계를 더 포함하는 방법.
  4. 제1항에 있어서,
    상기 출력 단자에 아이들 상태를 나타내는 신호를 어서트하는 단계는, 아이들 명령어를 실행하는 것에 기초하여 아이들 플래그를 세팅하는 단계를 포함하고,
    상기 방법은,
    상기 프로세서를 아이들 상태로 두는 단계 동안 시스템 동기화 명령어를 처리-상기 처리에 의해 승인(acknowledgement) 신호를 생성함-하는 단계와,
    상기 아이들 플래그 및 상기 승인 신호를 감지할 때, 상기 프로세서를 상기 아이들 상태로 두는 단계를 더 포함하는 방법.
  5. 제4항에 있어서, 상기 시스템 동기화 명령어를 처리하는 단계에 의해, 상기 승인 신호가 생성되기 전에 상기 프로세서가 주지의 상태로 진입하게 하는 것인 방법.
  6. 제1항에 있어서, 상기 프로세서는 파이프라인을 포함하고, 상기 방법은 상기 프로세서를 아이들 상태로 두는 단계 동안 파이프라인 내의 모든 동작을 취소하는 단계를 더 포함하는 방법.
  7. 제1항에 있어서, 상기 프로세서를 액티브 상태로 복귀시키는 웨이크업 신호(wake-up signal)를 수신하는 단계를 더 포함하는 방법.
  8. 실행 파이프라인과,
    상기 실행 파이프라인에 결합된 아이들 핸들러를 포함하는 장치로서,
    상기 아이들 핸들러는 시스템 동기화 승인과 함께 아이들 명령어에 응답하여 상기 실행 파이프라인을 중지시키도록 구성된 것인 장치.
  9. 제8항에 있어서, 상기 아이들 핸들러는 출력 단자를 포함하고, 상기 시스템 동기화 승인과 함께 아이들 명령어에 응답하여 상기 출력 단자에서 신호를 어서트하도록 구성된 것인 장치.
  10. 제9항에 있어서, 상기 출력 단자는 메모리 소자에 결합된 것인 장치.
  11. 제8항에 있어서, 상기 아이들 핸들러는 웨이크업 신호 입력 단자를 포함하고, 상기 웨이크업 신호 입력 단자에서 수신된 신호에 응답하여 상기 실행 파이프라인을 중지시키는 것을 그만두도록 구성된 것인 장치.
  12. 제8항에 있어서, 상기 아이들 핸들러는 상기 아이들 명령어에 응답하여 아이들 플래그 비트를 세팅하고, 시스템 동기화 승인에 응답하여 아이들 플래그 비트를 클리어하도록 구성된 것인 장치.
  13. 아이들 상태로 진입하여 아이들 출력 신호를 공급하며, 상기 아이들 상태에서 인터럽트를 무시하도록 구성된 제1 프로세서와,
    상기 제1 프로세서에 결합된 제2 프로세서와,
    상기 제1 프로세서에 클럭 신호를 공급하도록 구성된 클럭 소자와,
    상기 제1 프로세서에 결합된 스태틱 랜덤 액세스 메모리를 포함하고,
    상기 제2 프로세서는 아이들 출력 신호를 감지하는 것에 응답하여 상기 제1 프로세서에 공급되는 클럭 신호를 비활성화하는 것인 시스템.
  14. 제13항에 있어서, 상기 제1 프로세서는 실행 파이프라인과 이 실행 파이프라인에 결합된 아이들 핸들러를 포함하는 것인 시스템.
  15. 제13항에 있어서, 상기 제1 프로세서는 아이들 상태에 있는 동안 상기 제2 프로세서로부터 발행된 인터럽트를 무시하도록 구성된 것인 시스템.
  16. 제13항에 있어서, 상기 제2 프로세서는 제1 프로세서에 웨이크업 신호를 공급하도록 구성되고, 상기 제1 프로세서는 제1 프로세서가 웨이크업 신호를 감지하였을 때 아이들 상태로부터 빠져나가도록 구성된 것인 시스템.
  17. 아이들 상태에 있고 인터럽트에 반응하지 않는 프로세서로 클럭 신호를 공급하는 단계와,
    상기 프로세서가 아이들 상태에서 빠져나가서 액티브 상태로 복귀하도록 상기 프로세서로 신호를 공급하는 단계와;
    인터럽트에 대한 프로세서의 반응을 회복시키는 단계를 포함하는 방법.
  18. 제17항에 있어서, 상기 프로세서가 액티브 상태에 있는 동안, 정상 동작 레벨에 있는 상기 프로세서에 전력을 공급하는 단계를 더 포함하는 방법.
  19. 제17항에 있어서,
    인터럽트에 대한 프로세서의 반응을 회복시키는 단계 이전에, 상기 프로세서로 인터럽트를 공급하는 단계와;
    인터럽트에 대한 프로세서의 반응이 회복된 후에 제어를 인터럽트 서비스 루틴으로 이동하는 단계를 더 포함하는 방법.
  20. 제17항에 있어서, 상기 프로세서는 실행 파이프라인을 포함하는 것이고, 상기 방법은, 아이들 상태에서 빠져나가서 액티브 상태로 복귀하도록 프로세서에 신호를 공급하는 단계 이전에, 상기 실행 파이프라인의 모든 동작을 취소하는 단계를 더 포함하는 방법.
  21. 제20항에 있어서, 상기 취소 후에 명령어를 인출(fetch)하는 단계를 더 포함하는 방법.
  22. 제21항에 있어서, 상기 인출된 명령어는 인터럽트에 대한 프로세서의 반응을 회복시키는 것인 방법.
  23. 제17항에 있어서, 상기 프로세서가 아이들 상태에 있을 때 상기 프로세서는 아이들 출력 신호를 공급하고, 상기 방법은 상기 프로세서를 액티브 상태로 복귀시키기 이전에 상기 아이들 출력 신호를 클리어시키는 단계를 더 포함하는 방법.
  24. 프로세서를 제1 모드에서 동작시키는 단계와,
    프로세서를 제2 모드에 두는 단계를 포함하고,
    상기 프로세서를 제2 모드에 두는 단계 동안, 상기 프로세서에 대한 인터럽트를 디스에이블하는 단계를 포함하는 방법으로서,
    상기 프로세서에 대한 상기 인터럽트를 디스에이블하는 단계는, 상기 프로세서를 제2 모드에 두는 단계 동안 상기 프로세서가 인터럽트를 무시하도록 상기 프로세서를 제어하는 단계를 포함하고,
    상기 프로세서는 제1 모드보다 제2 모드에서 더 적은 전력을 소비하는 것인 방법.
  25. 제24항에 있어서, 상기 프로세서를 제2 모드에 두는 단계 동안 상기 프로세서에 대한 클럭 신호 입력을 디스에이블하는 단계를 더 포함하는 방법.
  26. 제24항에 있어서, 상기 프로세서를 제2 모드에 두는 단계 동안 상기 프로세서에 대한 전력 공급을 감소시키는 단계를 더 포함하는 방법.
  27. 제24항에 있어서, 상기 프로세서는 실행 파이프라인을 포함하는 것이고, 상기 실행 파이프라인은 상기 프로세서가 제2 모드에 있을 때 아무 동작도 수행하지 않는 것인 방법.
  28. 제24항에 있어서, 상기 프로세서가 제2 모드에 있을 때, 제2 모드를 나타내는 출력 신호를 발행하는 단계를 더 포함하는 방법.
  29. 제24항에 있어서,
    상기 프로세서가 제2 모드에 있을 때 상기 프로세서에 입력 신호를 발행하는 단계와,
    상기 입력 신호에 기초하여, 상기 프로세서를 제1 모드로 복귀시키는 단계,
    상기 프로세서가 제1 모드로 복귀하는 단계 동안, 상기 프로세서에 대한 인터럽트를 인에이블시키는 단계를 더 포함하는 방법.
  30. 제29항에 있어서, 상기 프로세서는 실행 파이프라인을 포함하는 것이고, 상기 프로세서를 제1 모드로 복귀시키는 단계는 상기 실행 파이프라인의 모든 동작을 취소하는 단계를 포함하는 것인 방법.
KR10-2003-7006267A 2000-11-13 2001-11-13 프로세서 아이들 상태 KR100500227B1 (ko)

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 KR20040011428A (ko) 2004-02-05
KR100500227B1 true 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)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
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
KR100656353B1 (ko) * 2005-07-12 2006-12-11 한국전자통신연구원 메모리 전력 소모를 줄이는 방법
US20070214389A1 (en) * 2006-03-08 2007-09-13 Severson Matthew L JTAG power collapse debug
US7882380B2 (en) * 2006-04-20 2011-02-01 Nvidia Corporation Work based clock management for display sub-system
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 株式会社東芝 制御装置およびプログラム
US9535875B2 (en) 2012-10-04 2017-01-03 Apple Inc. Methods and apparatus for reducing power consumption within embedded systems
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)

* Cited by examiner, † Cited by third party
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
DE69517712T2 (de) * 1994-01-10 2001-03-08 Sun Microsystems Inc Verfahren und Vorrichtung zur Reduzierung der Leistungsaufnahme in einem Rechnersystem
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

Also Published As

Publication number Publication date
TWI282918B (en) 2007-06-21
KR20040011428A (ko) 2004-02-05
WO2002046894A3 (en) 2003-08-21
JP4488676B2 (ja) 2010-06-23
WO2002046894A2 (en) 2002-06-13
CN1656435A (zh) 2005-08-17
JP2004515853A (ja) 2004-05-27
CN100476693C (zh) 2009-04-08

Similar Documents

Publication Publication Date Title
US8086883B2 (en) Hardware driven processor state storage prior to entering a low power
US6981163B2 (en) Method and apparatus for power mode transition in a multi-thread processor
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
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
US6854064B2 (en) ACPI complaint computer system and overtemperature protection method therefor
JP4515093B2 (ja) Cpuのパワーダウン方法及びそのための装置
JPH0667768A (ja) バスユニットと実行ユニットとを含むタイプのプロセッサを動作させる方法、中央処理装置、コンピュータシステム、およびクロック制御装置回路
JP2008544350A (ja) Simd並列処理の自動選択を備えたマイクロプロセッサ
AU2011336388B2 (en) Modular gating of microprocessor low-power mode
KR20090026895A (ko) 시스템 온 칩에서 전력 소모를 감소시키기 위한 장치 및방법
GB2506169A (en) Limiting task context restore if a flag indicates task processing is disabled
JPH10333790A (ja) パワーセーブ機能を備えた情報処理装置及び当該情報処理装置のパワーセーブ解除方法
KR100571324B1 (ko) 프로세서 리셋 후의 명령어 로딩 방법 및 장치
JPH0588775A (ja) クロツク切替え方式
JP2007200221A (ja) 電子機器
JPS63191245A (ja) 暴走装置の復帰制御方式
US20200319895A1 (en) Wakeup interrupt controller
JP2000347772A (ja) 携帯情報機器に使用されるプロセッサの低消費電力制御方法
JP2004326482A (ja) 省電力制御装置
JPH09190360A (ja) マイクロコンピュータ及びその暴走監視処理方法
JPH041817A (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