KR960003412B1 - 컴퓨터 전력 관리 시스템 - Google Patents

컴퓨터 전력 관리 시스템 Download PDF

Info

Publication number
KR960003412B1
KR960003412B1 KR1019910702008A KR910702008A KR960003412B1 KR 960003412 B1 KR960003412 B1 KR 960003412B1 KR 1019910702008 A KR1019910702008 A KR 1019910702008A KR 910702008 A KR910702008 A KR 910702008A KR 960003412 B1 KR960003412 B1 KR 960003412B1
Authority
KR
South Korea
Prior art keywords
processor
computer
interrupt
clock
power supply
Prior art date
Application number
KR1019910702008A
Other languages
English (en)
Other versions
KR920702783A (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 KR920702783A publication Critical patent/KR920702783A/ko
Application granted granted Critical
Publication of KR960003412B1 publication Critical patent/KR960003412B1/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/324Power saving characterised by the action undertaken by lowering clock frequency
    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • 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/325Power saving in peripheral device
    • G06F1/3265Power saving in display device
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing 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)
  • Power Sources (AREA)

Abstract

내용 없음.

Description

[발명의 명칭]
컴퓨터 전력 관리 시스템
[도면의 간단한 설명]
제1도는 본 발명의 양호한 일실시예에 따른 전력 모드의 상태도를 나타낸 것이다.
제2도는 본 발명에 따른 구획별 전력 관리 회로의 블록도를 나타낸 것이다.
제3도는 본 발명에 따른 회로의 블록도를 나타낸 것이다.
제4도는 본 발명에 따른 또다른 회로의 블록도를 나타낸 것이다.
제5도는 저전력 관리 소프트웨어의 플로우챠트를 나타낸 것이다.
제6a도는 그래프 없이 1.3MHz에서 동작하는 로터스(Lotus) 1, 2, 3 응용 프로그램에 대한 인터럽트 호출 주파수의 패턴들을 나타낸 도면이다.
제6b도는 그래프 없이 1.3MHz에서 동작하는 로터스 1, 2, 3 응용 프로그램에 대한 인터럽트 호출 주파수의 패턴들을 나타낸 도면이다.
제6c도는 2MHz에서 동작하는 알파웍스(Alphaworks)응용 프로그램에 대한 인터럽트 호출 주파수의 패턴들을 나타낸 도면이다.
제6d도는 3MHz에서 동작하는 알파웍스 응용프로그램에 대한 인터럽트 호출 주파수의 패턴들을 나타낸 도면이다.
제6e도는 2MHz에서 동작하는 그랜드 뷰우 응용 프로그램에 대한 인터럽트 호출 주파수의 패턴들을 나타낸 도면이다.
제6f도는 3MHz에서 동작하는 그랜드 뷰우 응용 프로그램에 대한 인터럽트 호출 주파수의 패턴들을 나타낸 도면이다.
제6g도는 7MHz에서 동작하는 그랜드 뷰우 응용 프로그램에 대한 인터럽트 호출 주파수의 패턴들을 나타낸 도면이다.
전체 도면에 있어서, 동일한 참조 번호는 동일하거나 유사한 부품을 나타낸다.
[발명의 상세한 설명]
[선출원]
본원은 1989년 6월 30일자 출원된 미합중국 특허출원 제07/373,440호의 일부 계속 출원이다.
[발명의 배경]
[발명의 분야]
본 발명은 컴퓨터의 전력 관리 방법 및 전력 관리 장치에 관한 것으로, 특히 배터리 전원으로 구동되는 휴대용 컴퓨터에 있어서 그 컴퓨터를 매우 적은 전력으로 구동시킬 수 있게 하는 하드웨어 및 소프트 웨어에 관한 것이다.
[종래 기술의 발명]
저전력용 하드웨어 및 소프트웨어 기술은 컴퓨터 분야에서 잘 알려져 있다. 예를들면, 매우 작은 배터리를 사용하고 그 배터리로서 장시간동안 동작할 수 있는 소형 계산기가 알려져 있다. 그러나, IBM PC 호환 컴퓨터 등의 범용 컴퓨터에서는 저전력 미 개발된 상태이다. 상당히 큰 배터리로서 수시간 동안 동작할 수 있는 소형 컴퓨터, 즉 랩톱 컴퓨터가 알려져 있으나, 소형 배터리로서 장시간 동안 동작하는 컴퓨터는 아직 알려져 있지 않다. 특히 상기한 IBM PC 호환 컴퓨터에 대한 대책은 알려져 있지 않다.
초기의 IBM PC 컴퓨터는 본래 종래의 데스트 톱 연산용으로 설계되었다. 이러한 컴퓨터는 벽 소켓으로부터 전력을 인출하도록 되어 있다. 이러한 컴퓨터는 또한 대량의 전력을 소비하는 전기회로 부품들을 일반적으로 사용하고 있다. IBM PC 호환 컴퓨터는 또한 전혁을 보존하도록 설계되지 않은 소프트웨어(예를들면, BIOS)를 사용한다.
IBM PC의 호환성을 위한 주요 부품으로는 ROM BIOS(판독전용 메모리 기본 입력-출력 시스템), 하드웨어 아키텍처, 및 운영체계가 있다. IBM PC 호환 컴퓨터용의 한가지 운영체계는 마이크로 소프트사에 의해 상품화된 MS-DOS이다. 어떤 컴퓨터를 IBM PC 컴퓨터에 대해 호환성을 갖게 하기 위해서는 그 컴퓨터를 마이크로 소프트 및 IBM의 소프트 웨어 인터페이스 규격에 매우 근사하게 일치시킬 필요가 있다. 이것은 저전력 컴퓨터 관리 소프트웨어에는 단점으로 작용한다.
8088 및 80×86 마이크로 프로세서를 포함하는 인텔사의 8086 계(IPX 86) 마이크로프로세서는 IBM PC-XT 호환 컴퓨터에서 사용되고 그 시스템 RAM(랜덤 액세스 메모리)에는 인터럽트 테이블이 포함된다. 인터럽트 테이블은 컴퓨터 프로그램이 인터럽트에 응하여 관련되는 소프트웨어 루틴의 어드레스를 리스트한다. IBM PC 호환 ROM BIOS 및 MS-DOS 운영체계는 하드웨어 및 소프트웨어 인터럽트의 시스템에 의하여 제어된다. 하드웨어 인터럽트는 프로세서 시스템에 의해 제어된다. 하드웨어 인터럽트는 프로세서 핀들중 하나에 신호를 제공함으로써 개시된다. 소트프웨어 인터럽트는 프로세서가 소프트웨어 인터럽트로 알려진 특정한 종류의 명령을 실행할 때 개시된다. 상기 종래의 인터럽트들은 종래의 IBM PC 호환 컴퓨터에서 확장식으로 사용되지 않은 종래 NMI(마스크 불가능 인터럽트)를 포함한다.
종래 기술에서 NMI는 디스에이블 될 수 있으므로 진정한 마스크 불가능 인터럽트가 아니며 항상 액티브 상태에 있는 마스크 불가능 인터럽트이다. 종래예의 소프트웨어 인터럽트 테이블은 다수의 어드레스, 즉, 자수의 메모리 어드레스를 포함한다. 어드레스는 각 인터럽트에 제공되며, 이 어드레스는 인터럽트 핸들러를 지시한다. 즉, 하나의 어드에스는 인터럽트 핸들러가 위치되는 메모리 위치를 지시한다. 따라서 매 인터럽트 마다에 대하여, 인터럽트 핸들러 엔트리 포인트를 포함하는 메모리에 엔트리가 존재한다.
소위 유해작용(badly behaved) 응용 프로그램의 경우, 그 응용프로그램은 어떤 특정 인터럽트를 이어받을 수 있다.
따라서, 의도된 대로 인터럽트 핸들러를 지시하는 특정한 인터럽트 벡터 테이블 엔트리 대신에 응용 프로그램으로 인해 인터럽트는 리벡터링(revectoring), 즉 리세트되어 또다른 위치를 지시한다. 따라서, 응용 프로그램은 벡터 테이블 내의 특정 엔트리로 하여금 ROM BIOS 또는 운영체계 보다는 응용 프로그램을 지시하게 함으로써 특정 인터럽트를 이어 받는다. 따라서 특성 기능을 수행하게 하는 인터럽트는 그 인터럽트 벡터 테이블 엔트리가 응용 프로그램에 의해 프리엠프트(preemped)되기 때문에 호출되지 않는다.
종래의 소프트웨어 인터럽트는 마이크로 프로세서 내의 특정위치(레지스터)를 통과하는 파라메터를 포함한다. 종래 IBM PC 호환 컴퓨터에서 소프트웨어 인터럽트로의 인터페이스는 공지된 표준 공개 정의의 세트에 정의되어 있다(예를들면 마이크로소프트 출판부의 The New Pater Norton Programmer's Guide to the IBM PC & PS/2 참조). 따라서, 각종 마이크로프로세서 레지스터에 기억된 값들은 유해하게 작용하는 프로그램에 대하여 상기 가이드를 사용하는 응용 프로그램 작성자에 의해 교체될 수 있다.
유해하게 작용하는 응용프로그램은 ROM BIOS 서비스를 프리엠프트할 뿐만아니라 운영체계 서비스를 프리엠프트 한다. 따라서, 사용자는 컴퓨터에서 발생하는 사태를 감시하기 위해서는 종래 운영체제시스템 및 ROM BIOS에 의존할 수 없다.
종래의 IBM PC 아키텍처에는 또한 컴퓨터 키보드 이벤트에 관련된 2개의 인터럽트가 제공된다. 인터럽트 INT9는 일반적으로 IBM PC 호환 컴퓨터 키보드를 제어하기 위해 제공되는 소형 마이크로 프로세서에 의해 발생된다. 따라서, 인터럽트 INT9로 인해 키보드로 부터 입력된 정보가 버퍼에 입력된다. 인터럽트 INT16h(h는 16진수)는 상기 정보를 버퍼로부터 액세스하여 이것을 소프트웨어 인터럽트 명령을 자극하는 프로그램에 제공한다. 따라서 인터럽트 INT16h는 눌러져야 할 키를 대기하는 것처럼 특정 레지스터의 상태를 나타내도록 키보드 서비스 소프트웨어에 대한 요구를 행하기 위하여 일반적으로 응용 소프트웨어 및/또는 MS-DOS에 의해 자극되는 소프트웨어 인터럽트이다.
예를들어 컴퓨터 프로그램에서 많은 시간을 소비하는 하나의 이벤트는 컴퓨터의 키보드상에서 키누름(key press)을 대기하는 것이다. 스프레드 시트 또는 워드프로세싱 프로그램 등과 같이 컴퓨터 상에서 동작하는 대표적인 응용프로그램에 있어서, 이 컴퓨터 응용프로그램이(이후 설명되는 바와같이) 양호하게 작용된다면, 그 컴퓨터 프로그램은 MS-DOS로 하여금 키누름을 대기하도록 간단히 요구할 수 있다. 그 다음에 MS-DOS는 ROM BIOS로 하여금 다음 키를 대기하도록 간단히 요구 신호를 발생할 수 있다. 이때 ROM BIOS는 키누름이 검출될 때까지 간단히 루프를 행한다.
MS-DOS는 이 과정에서 사용되지 않는다. 키누름이 검출될 때까지 루프한다는 것은 응용 프로그램이 다른 기능을 동시에 수행할 수 없음을 의미한다. 그대신 MS-DOS는 다른 과정과 번갈아서 실행될 수 있는 과정을 사용한다. MS-DOS는 키가 눌러졌는지를 확인하기 위해 컴퓨터의 ROM BIOS를 조회한다. ROM BIOS는 키가 눌러졌을때 키스트로크(keystroke)를 기억하기 위한 버퍼를 포함한다. MS-DOS는 (루프의 다른 부분에서 진행되는 다른 MS-DOS프로세싱과 함께) 상기 버퍼를 주기적으로 검사하는 동작으로 루핑(looping)한다. ROM BIOS는 상기 버퍼가 시험되는 최초시기를 간단히 차단할 수 없는데, 그 이유는 그러한 차단이 다른 MS-DOS 프로세싱을 방해하여 장치를 동작 불능으로 만들기 때문이다.
사실상 많은 MS-DOS 응용 프로그램들은 이들의 응용프로그램에 대한 인터럽트를 리벡터링함으로써 소프트웨어 인터럽트의 사용을 통하여 호출된 BIOS 및 MS-DOS 기능을 이어받는다는 점에서 유해하게 작용한다. 따라서 MS-DOS에 의해 제공된 BIOS에 대한 호출은 전혀 실행되지 않을 수 있다.
따라서 종래의 IBM PC 호환 컴퓨터에 있어서는 응용 프로그램에 의해 실행중인 특수 MS-DOS 또는 BIOS 동작에 응답하여 어떤 소프트 웨어 전력 관리의 수행이 본질적으로 어려워진다. 다시 말해서, ROM BIOS 인터럽트 핸들링 루틴이 호출되지 않으면, 종래의 MS-DOS 운영체계는 키누름 탐색과 같은 루프 동작에 응답하여 전력 절약 기술을 실행하는 수단을 포함하지 않는다. 이것은 IBM PC 호환 컴퓨터가 배터리의 빈번한 교체 또는 재충전(4∼5시간 후에)없이는 소형 배터리를 사용하는 시스템에서 일반적으로 사용될 수 없음을 의미한다.
일반적으로 IBM PC 호환 컴퓨터의 하드웨어, 즉 전자회로들은 데개 전력을 보존하도록 설계되지 않았다. 다시말해서 컴퓨터 회로들은 일반적으로 그 회로가 실질적으로 사용되지 않고 있는 경우에도 동작하여 전력을 소모한다. 이것은 또한 그러한 컴퓨터의 높은 전력 소모의 한가지 원인이 된다.
IBM PC 호환 컴퓨터의 상기한 단점들은 또한, 많은 점에서, 반드시 IBM PC 호환성일 필요가 없는 애플 또는 다른 회사 제품의 컴퓨터인 비 IBM PC 호환 컴퓨터에도 적용된다. 이하 유사하게, MS-DOS 명령을 바이패싱 하는데 따른 문제점들은 예를들면 유닉스(Unix) 및 OS/2와 같은 다른 운영체계에서 명령을 바이패싱 하는 경우에도 존재한다.(“유닉스”는 아메리칸 텔리폰 앤드 텔리그래프 컴패니의 등록상표이고, OS/2는 인터내쇼날 비즈니스 머신즈 코포레이숀의 등록상표임). 또 상기 다른 컴퓨터들은 전력이 벽소켓으로 부터 쉽게 제공되는 데스크롭 환경에서 사용되도록 설계되어 있다. 따라서, 일반적으로, 전형적인 퍼스널 컴퓨터들은 전력 보전 기능을 기본 요소로서 구비하고 있지 않다.
[발명의 개요]
본 발명에 따르면, 컴퓨터를 위한 전력 관리 방법 및 정력 관리 장치가 제공된다. 본 발명에 따르면 컴퓨터는 여러가지 모드에서 동작한다. 각각의 모드에 있어서, 컴퓨터의 특정 하드웨어 소자들이 디스에이블 되고, 상기 소자들은 필요할때 인에이블 되고, 상기 모드들은 컴퓨터 하드웨어 및 소프트웨어 모두에 의해 제어되어 사용자는 모든 하드웨어 소자들이 항상 인에이블된 상태로 컴퓨터가 작동하는 것처럼 느끼게 된다. 따라서 전력 관리 시스템의 관점에서 볼때 컴퓨터의 동작은 어떠한 응용 소프트웨어의 수정도 필요로하지 않으며 일반적으로 사용자가 명백하여 이해할 수 있다.
양호한 실시예에서 컴퓨터는 IBM PC-XT 컴퓨터와 호환성을 가지며 중앙 처리장치로서 80C88 마이크로 프로세서를 구비한다. 양호한 실시예에서 컴퓨터는 2개의 소형 배터리에 의해 전원 공급된다. 컴퓨터는 이 배터리에 의해 장시간동안 작동한다.
본 발명의 양호한 실시예에 따르면, 컴퓨터의 전력관리 시스템은 많은 기능을 갖는다. 전력을 보존하고 컴퓨터의 배터리 수명을 연장하기 위하여, 컴퓨터 회로는 특정 주파수의 클럭 신호에 대한 필요에 기초하여 여러 구획으로 분할된다. 상기 구획들은 각 구획을 동작시키는데 필요한 특정 타이밍 신호(즉, 클럭)주파수에 따라 분할된다. 상기 구획들은 또한 특정 동작 모드동안만 클럭 신호를 요구하는 것과 일정한 클럭 신호 입력을 요구하는 것에 기초하여 분할된다.(발진기에 의해 일반적으로 발생되는 것처럼)주어진 클럭 주파수에 대한 요구가 없을 경우, 발진기는 전력을 보존하도록 디스에이블 된다. 메인 시스템 클럭은 마이크로 프로세서에 의해 현재 처리중인 소프트웨어가 아이들 상태에 있다고 제어 프로그램이 판정할때 정지된다. 아이들(idle)상태는 마이크로 프로세서를 구동시키는 메인 시스템클럭이 컴퓨터 및 프로그램 사용자에 대한 출력의 지연없이 정지될 수 있을 때에 발생한다.
본 발명에 따른 컴퓨터는 메인 시스템 클럭(즉, 타이밍 신호 발생기)을 시동 및 정지시키는 인에이블 기능을 갖는다. 또한 상기 컴퓨터는 메인 시스템 클럭을 순차적으로 시동 및 정지시키기 위한 상태 제어기를 구비한다. 상태 제어기는 메인 시스템 클럭 신호를 제공하는 발진기를 제어하여 어떤 불완전한 클럭 펄스, 즉 “글리치(glitch)”가 어떤 논리회로에 도달하지 않도록 시동 및 정지 요구가 확실히 이행되게 한다.
상태제어기는 소위 슬립 요구 신호(sleep request signal)를 수신하면 메인 시스템 발진기를 정지시킨다. 이 요구신호는 컴퓨터의 마이크로 프로세서에 대하여 액세스 가능한 특정 레지스터의 비트로 부터 발생한다. 이 비트가 세트될때 마이크로 프로세서의 “클럭”은 메인 시스템 클럭 신호의 다음 하강 구간에서 정지된다.
상태 제어기는 또한 예를들면 컴퓨터 주변장치로 부터 외부 프로세서 클럭 신호를 입력받도록 하는 요구를 검출할때 유사한 방법으로 메인 시스템 발진기를 정지시킬 것이다. 이렇게 됨으로써 “무 글리치(glitch free)” 방식, 즉 불완전한 클럭신호가 발생되지 않게 하는 방식으로 내부 메인 시스템 클럭이 정지한다. 외부 클럭 소스는 저속 클럭 소스와 동기되며, 이때 컴퓨터의 마이크로 프로세서 및 컴퓨터의 다른 논리 회로를 통해 게이트 된다.
마이크로 프로세서 클럭은 입력/출력 기입 명령의 중간에서 정지되며, 이로써 마이크로 프로세서 클럭이 정지될때 모든 마이크로 프로세서 어드레스, 데이타 및 제어신호 라인이 공지의 상태로 된다. 이렇게 됨으로써 외부 풀-다운 또는 풀-업 레지스터를 제공할 필요없이 마이크로 프로세서 및 다른 회로에 대한 입력이 불필요하게 발진하는 것이 방지된다.상기 레지스터들은 전력을 불필요하게 소모시키기 때문에 이들 레지스터를 제거하는 것이 바람직하다.
상태 제어기는 메인 시스템 클럭 발진기를 시동시키며, 메인 시스템 클럭 발진기가 안정화 되는 충분한 시간이 경과한 후에 발진기를 저속 클럭에 동기화시키고, 웨이크-업 요구(wake-up request)가 상태 제어기에 의해 수신될 때 마이크로 프로세서에 클럭을 게이트 시킬 것이다.
웨이크-업 요구는 타이머 인터럽트, 키보드 인터럽트, 만능 비동기 송수신기(UART)인터럽트 또는 마스크불가능 인터럽트(NMI)를 발생시키는 어떤 이벤트의 형태로 입력될 수 있다. 외부 프로세서 클럭 소스로 부터 내부 메인 시스템 클럭으로 다시 절환되는 요구 역시 상기한 방식으로 처리된다. 웨이크업 요구는 마이크로 프로세서에 대해 액세스 가능한 특정 레지스터에서 적당한 비트를 조작함으로써 모두 마스크 가능해진다.
또한, 직접 메모리 액세스(DMA)제어기 클럭 타이밍 신호는 또한 메인 시스템 클럭 신호로 부터 유도된다. 필요에 따라 예를들면 DMA 사이클, 시스템 리세트, 및 DMA 제어 레지스터의 어떤 입력/출력 동작중에 메인 시스템 클럭을 게이트하기 위한 회로들이 제공된다.
본 발명의 양호한 실시예에 따르면, 다른 클럭 신호들은 UART에 제공되며, UART는 컴퓨터간의 직렬 통신을 제공한다. 또다른 클럭 신호는 컴퓨터의 영상 디스플레이를 리프레시하는데 사용되는 회로에 신호를 제공하기 위하여 컴퓨터 디스플레이에 제공된다. 또한, 저주파수 클럭신호가 제공되어 컴퓨터 시스템의 여러 부품에서 사용된다.
본 발명의 양호한 실시예에 따르면, 마이크로 프로세서는 키보드의 연속적인 키누름 사이에서 중지될 수 있다. 마이크로 프로세서는 응용 프로그램이 이전의 키누름에 응답하여 연산을 수행하지 않고 단지 또다른 키누름을 대기하고 있는지를 특정 소프트웨어가 판정한 후에 정지된다. 마이크로 프로세서는 다음 키누름에 응답하여 다시 시동된다. 이후 상세히 설명되는 바와같은 소프트웨어에 의하여 정지동작(stopping)이 적절히 달성된다. 마이크로 프로세서가 정지(즉, 장치에 대한 클러킹 정지)함으로써 전력이 절약 된다. 마이크로 프로세서가 구동중일때(즉, 클럭신호를 수신중일때), 전력은 마이크로 프로세서 그자체 뿐만아니라 시스템에 제공된 메모리에 의해 소모된다. 프로세서는 클럭 신호를 수신할때 전력을 소비하는데 그 이유는 상기 클럭 신호들이 장치내의 전기 소자들을 동작시키기 때문이다. 상기 소자들은 정지 상태에 있을 때보다 스위칭될때 훨씬 많은 전력을 소모한다. 또한, 메모리 장치는 아이들 상태 및 선택되지 않은 상태에 있을때 보다 판독 또는 기입 동작중에 더 많은 전력을 소모한다.
본 발명의 양호한 실시예는 소위 유해작용 응용 소프트웨어 프로그램을 가지고도 전력을 절약할 수 있는 소프트웨어를 포함한다. 전술한 바와같이, 이들 유해 작용 프로그램은 통상의 규약에 위반하여 하드웨어, BIOS, 및 운영체계 인터럽트를 제어한다.
본 발명의 양호한 실시예에 따르면, 컴퓨터 회로는 마스크불가능 인터럽트(NMI)를 사용함으로써 소프트웨어 이벤트를 트리거 한다. NMI는 편리를 위하여 사용되며, 다른 실시예에서는 다른 인터럽트 또는 마이크로 프로세서에 제공된 명령을 변환하는 버스 제어기등 명령 흐름을 방해하는 다른 수단들이 사용된다.
본 발명의 양호한 실시예에 따르면, 실질적으로, NMI가 사용되는데 이 NMI는 일반적으로 컴퓨터에 제공되지만 IBM PC-XT 호환 컴퓨터에서 폭넓게 사용되지는 않는다. NMI는 대부분의 다른 인터럽트보다 더높은 우선 순위를 갖기 때문에 본 발명의 실시예에 따라 사용된다. 따라서 공통 엔트리 포인트는 많은 이벤트들중 어느 한 이벤트가 발생될 수 있는 소프트웨어에 신호를 보내기 위하여 하드웨어에 제공된다.
또한 본 발명의 실시예에는 마이크로 프로세서에 특정 인터럽트가 보내어질 시기를 검출하는 트랩이 제공된다. 이러한 트랩의 제공은 신규한 하드웨어 및 소프트 웨어가 유해작용 응용 프로그램에도 불구하고 컴퓨터에서 발생하는 일을 제어할 수 있음을 의미한다. 이것은 신규한 시스템 소프트 웨어가 특수한 하드웨어 및 소프트 웨어 이벤트, 즉, 하드웨어(예를들면, 통신 포트에 입력되는 키누름 또는 통신비트) 또는 소프트웨어(예를들면, 키누름 또는 통신비트를 탐색하는 응용프로그램)에 의해 발생된 특정 인터럽트를 검출하기 때문이다.
따라서, 본 발명에 따르면, 응용프로그램 또는 외부하드웨어에 의해 발생된 인터럽트가 프로세싱 동작을 야기시키기 전에, BIOS 그 자체는 제어동작을 취하고 전처리 활동(preprocescing activity)을 수행한다. 본 발명의 양호한 실시예에서 상기 전처리 활동으로 인해 컴퓨터가 저전력 소모 모드로 변환되어야 하는지의 여부를 BIOS가 판정할 수 있다.
따라서 본 발명은 극히 소량의 전력이 소모되는 휴대용 컴퓨터를 제공한다는 장점을 갖는다. 이 컴퓨터는 IBM PC-XT 응용 프로그램과 호환성을 가지며 프로그램을 수정할 필요없이 그 응용 프로그램을 실행한다. 본 발명의 양호한 실시예에서, 상기한 장점은 특수한 하드웨어 및 소프트웨어에 의해 제공된다.
양호한 실시예에서 컴퓨터의 일반적인 설명은 미합중국 특허출원 제375,721호(발명의 명칭; 휴대용 저전력 컴퓨터)에 개시되어 있다.
[발명의 상세한 설명]
[전력 모드 상태도에 관한 설명]
제1도는 본 발명의 양호한 실시예에서 제공된 전력 모드의 상태도를 나타낸 것이다. 2개의 연산모드(10, 11)는 제1도의 중심부에 도시되어 있다. 저전압 연산모드(10)에 있어서, 컴퓨터는 제1도에 “120mW”로 표시된 것처럼 대략 120밀리와트의 전력을 소모한다. 본 명세서에서 설명되는 수치들은 추정치를 나타내는 것이며 본 발명을 한정하는 것이 아니다. 연산 모드(10)에서는 메인시스템 클럭 신호를 제공하는 전압 제어 발진기(VCO)(도시되지 않음)도 또한 온으로 된다. UART(도시되지 않음) 및 DMA 클럭(도시되지 않음)은 오프상태가 되어 클럭킹되지 않는다. 2∼3볼트 정도의 낮은 전압이 인가될 때 VCO는 2MHz정도의 저속 클럭속도를 마이크로 프로세서에 공급한다. 여러가지 동작, 예컨대 워드프로세싱중에 데이타 엔트리에 응답하는 경우, 고속의 클럭속도 뿐만 아니라 저속의 클럭속도가 사용자에게 응답하며, 상당히 낮은 전력이 소모된다.
사용자가 컴퓨터를 통하여 많은 양의 일을 하고자 할 경우, 컴퓨터에는 고속클럭 속도를 이용하는 것이 바람직하다. 그러므로, 컴퓨터가 소정시간, 즉 실제로 1.5초 보다 긴 시간 동안 연산 모드(10)에 머물러 있을 경우, 컴퓨터는 VCO가 약 7MHz로 동작하는 고전압 5-볼트 연산모드(11)로 이동한다. 연산모드(10)에서와 같이 영상 디스플레이가 온되고, UART는 오프되며, DMA출력도 오프된다. 연산모드(11)에서 처리과정이 고속으로 수행된다.
다른 모든 상태들은 이들 연산 모드 가운데 한가지 모드로 부터 직접 또는 간접적으로 액세스 가능하다. 컴퓨터는 2가지 조건하에서 연산모드(10)에서 오프모드(12)로 변환하는데, 첫번째 조건은, 컴퓨터의 온-오프 스위치(도시생략)가 절환되었을 때이고, 두번째 조건은 “타임아웃(timeout)”상태이다. 여기서 타임아웃 이란 컴퓨터가 작동되지 않는 것 즉 비교적 긴시간동안 연산 또는 키보드 작동을 하지 않는 것을 뜻한다. 그리고 비교적 긴 시간은 수 분이 바람직하며 되도록이면 다음과 같이 프로그램이 가능하여야 한다. 컴퓨터는 온/오프 스위치가 눌려짐에 따라 대량의 일을 처리하고 있는 중에 연산모드(11)에서 부터 오프모드(12)로 변환될 수 있다. 그리고 다시 온/오프 스위치가 눌려졌을 때, 컴퓨터는 처리하던 동일한 포인트(point)로 복귀될 것이다.
오프모드(12)에 있어서, 컴퓨터는 1.5밀리와트(milliwatts) 정도의 전력을 소모하며, 이때 VCO, 디스플레이, UART 및 DMA는 오프된다. 그러나, 컴퓨터는 실질적인 오프상태가 아니다. 그 이유는 컴퓨터가 온/오프 스위치가 압압되는 것에 응답할 수 있고 컴퓨터가 오프되었을때 실행중이던 프로그램의 동일포인트에서 연산모두(10)로 복귀될 수 있기 때문이다. 사용자가 온/오프 스위치를 전환시켰을 때 컴퓨터는 오프모드(12)에서 연산모드(10)로 진행한다.
시간 갱신모드(14)는 단지 오프모드(12)로 부터 진행된다. 그러나 시각은 시스템의 모든 여러가지 모드에서 유지된다. 오프모드(12)에 있어서, 본 발명의 타이머 회로(도시되지 않음)에 의해 타이머틱(timer tick)(후술될 저주파 클럭에 의함)이 주기적으로 발생할 때마다 컴퓨터는 오프모드(12)에서 시간갱신모드(14)로 변환된다. 시간갱신 모드(14)에 있어서, 컴퓨터는 거의 70밀리와트의 전력을 소모하며, 컴퓨터의 시간 유지 기능들을 갱신하기에 충분한 매우 짧은 시간동안만 시간갱신 모드(14)에 머무른다. 그리고 시간갱신모드(14)에서 디스플레이, UART 및 DMA는 모두 오프되고, 반면에 VCO는 상술한 저전압을 공급받는다.
시각은 후술할 저주파 크럭으로 부터 유도되는 타이머에 의해 갱신된다. 시각의 갱신이 완료될때, 컴퓨터는 시간 갱신 모드(14)에서 다시 오프모드(12)로 복귀한다.
컴퓨터는 특정 하드웨어 입력들의 발생에 근거하여 연산모드(10)에서 디스플레이 모드(16)로 변환된다. 특정하드웨어 입력들은 인터럽트 INT16h 트랩, 사용자가 키보드를 타이핑하는 키보드 동작, 및 타이머 틱(tick)등을 포함한다. 이들 특정하드웨어 입력은 운영체계 또는 응용프로그램이 아이들 상태에 있음으로 인해 사용자의 입력을 대기하고 있는지의 여부를 판정하는데 이용된다. 프로그램이 사용자의 입력을 대기하고 있음이 판정되면 컴퓨터는 연산모드(10)에서 디스플레이 모드(16)으로 변환된다. 디스플레이 모드(16)에서 컴퓨터는 거의 50밀리와트의 전력을 소모한다. 따라서 컴퓨터가 디스플레이 모드(16)에 있을 경우, 컴퓨터에 내장된 마이크로 프로세서는 작동되지 않는다. 즉 클럭킹되지 않는다. 이와 똑같은 이벤트는 컴퓨터를 5V 연산모드(11)에서 디스플레이 모드(16)로 이동시킬 수 있다. 컴퓨터는 키보드 작동(다시 말해서, 사용자가 키를 눌렀을 때) 또는 타이머틱의 결과로서 디스플레이 모드(16)에서 연산모드(10)로 변환된다. 컴퓨터는 사용중에 연산모드(10)에서 디스플레이 모드(16)로 자주 변환되어 연산모드(10)에서 이용되는 비교적 대용량의 전력을 보존한다. 따라서 컴퓨터가 이용되는 대부분의 시간에 컴퓨터는 디스플레이 모드(16)에 있게 되고, 마이크로 프로세서는 디스플레이 가온되어 있을지라도 동작되지 않는다. 디스플레이 모드(16)에 있어서 디스플레이는 온되고, VCO, UART 및 DMA는 오프된다.
또한, 컴퓨터는 연산모드(10)에서 DMA(집적 메모리 액세스 ; Direct Memory Access) 모드(18)로 그리고 DMA 모드(18)에서 연산모드(10)로 변환된다. DMA 모드(18)에서는 컴퓨터는 거의 150밀리와트의 전력을 소모한다. 컴퓨터는 DMA 요구를 수신했을때 연산모드(10)에서 DMA 모드(18)로 변환 된다. DMA 모드(18)에서 VCO는 온되어 거의 2MHz로 동작하고, 디스플레이 및 DMA 클럭도 온되며, 반면에 UART는 오프된다.
이와 마찬가지로, 컴퓨터는 연산모드(11)에서 DMA 모드(17)로 변환된다. DMA 모드(17)에 있어서 VCO는 온되어 거의 7MHz 정도로 동작하고, 디스플레이 및 DMA 클럭도 온되며, 한편 UART는 오프된다. DMA 모드(17)에서 컴퓨터는 거의 450밀리와트의 전력을 소모하는데, 이같은 높은 전력은 고속의 VCO로 인한 고속 절환 속도 및 시스템 전원장치의 고전압의 결과에 기인하기 때문이다.
컴퓨터는 또한 연산모드(10)에서 통신모드(20)로 그리고 통신모드(20)에서 연산모드(10)로 변환한다. 이들 경로는 도면의 간소화를 위하여 제1도에 도시하지 않았다. 또한, 제1도에 도시한 바와같이, 컴퓨터는 UART의 액세스 요구 및 UART액세스 완료에 각각 응답하여 연산모드(11)에서 통신모드(20)로 그리고 통신모드(20)에서 연산모드(11)로 변환된다.
처음에 컴퓨터가 통신모드(20)로 변환될때, 전압은 하이 레벨이 되어 VCO를 7MHz속도로 동작시킨다. 통신모드(20)에서, DMA는 오프되고, 반면에 디스플레이 및 UART는 온된다. 루프 동작(추후 상세하게 설명됨)을 검출 하였을때, 컴퓨터는 VCO를 런-오프시키는 통신 및 디스플레이 모드(24)로 변환되도록 프로그램되어 전력을 절약할 수 있다. 통신 및 디스플레이 모드(24)는 단지 100밀리와트의 전력을 이용한다. 일실시예에 있어서, 이것은 사용자가 모뎀을 이용하여 화일을 전송하거나 수신하는 대부분의 시간에 컴퓨터가 수행하는 통신 및 디스플레이 모드가 된다. 컴퓨터는 연산모드를(10 또는 11)에서 디스플레이 모드(16)로 변환되는 조건과 비슷한 조건하에서 통신 모드(20)에서 통신 및 디스플레이 모드(24)로 변환된다. 통신 및 디스플레이 모드(24)에서 디스플레이 및 UART는 온되나 DMA는 오프된다.
UART 액세스 요구가 수신될 경우 컴푸터는 통신 및 디스플레이 모드(24)에서 저전압 통신모드(21)로 진행하며, 이때 VCO는 턴온되지만 저전압하에서 거의 2MHz로 동작한다. 통신모드(21)에서 UART 및 디스플레이는 온되나 DMA는 오프된다. 비트열이 50밀리초(millisecond) 내지 수초 정도의 소정시간보다 긴시간 동안 유지될 때, 컴퓨터는 5볼트 통신모드(20)로 전환한다. 반면에, UART 액세스가 종료될때, 컴퓨터는 통신 및 디스플레이 모드(24)로 복귀한다.
컴퓨터는 단지 통신모드(20)로 부터 통신 및 DMA 모드(22)로 변환된다. 통신 및 DMA 모드(22)에서 컴퓨터는 거의 500밀리와트의 전력을 소모한다. 컴퓨터는 통신모드(20)에 있을때 DMA 요구가 수신되면 통신모드(20)에서 통신 및 DMA 모드(22)로 변환된다. 그리고 DMA 요구가 종료되었을때 컴퓨터는 다시 통신모드(20)로 복귀한다. 통신 및 DMA 모드(22)에서 VCO, 디스플레이, UART 및 DMA는 모두 온된다.
다음의 설명에 있어서 포트어드레스는 빈번하게 사용되며, 표 1, 표 2 및 표 3에는 본 발명의 컴퓨터용 포트맵(port map) 및 I/O 어드레스가 나타나 있다.
[표 1]
[표 2]
[표 3]
[요구시 구획별 전력 제어에 관한 설명]
본 발명에 따라, 요구시 구획별 전력 제어로 불리는 기능이 제공된다. 이 기능은 단지 필요시에만 컴퓨터의 각 구획이 전력을 공급받을 수 있게 해준다. 컴퓨터의 각구획은 제1도에 도시된 바와같은 상태 블럭도에 따라 전력을 공급 받는다.
제2도는 요구시 구획별 전력 제어가능한 기능을 갖는 본 발명의 양호한 실시예에 따른 전력 관리회로의 블록도를 도시한 것이다. 이같은 기능을 제공하는 목적은 개별적으로 전력이 인가될 수 있는 컴퓨터 회로의 각부분(즉, 하드웨어)을 격리시키는데 있다. 따라서 전력은 필요시에만 각 구획에 공급되는 반면에 필요하지 않을 경우에는 각 구획의 전력이 공급되지 않는다(즉 각 구획이 턴오프된다). 비작동 상태에 있을 경우 컴퓨터의 구획들에는 전력이 공급되지 않음으로 인해 배터리의 수명은 연장된다.
양호한 일실시예에 있어서, 컴퓨터의 세부분, 예컨대 디스플레이, 통신 채널 및 CPU는 필요시 디스플레이 통신채널 및 CPU이 전력을 공급받거나 클럭킹되도록 하는 개별적 제어기능을 갖는다. 본 발명의 양호한 실시예에 있어서, 하드웨어 및 소프트 웨어 모드는 전력 요구를 함께 결정하여 전력을 개별적인 제어를 관리한다.
먼저, 제2도에 도시된 바와같은 디스플레이용 전원공급회로(32)는 턴-오프 될 수 있다. 또한, 실제 디스플레이(70)을 구동하는 LCD 구동기 칩(36) 및 디스플레이용 클럭 발진기(38)도 디스에이블 될 수 있다. 상기 기능은 컴퓨터내의 마이크로 프로세서(40)에 대해 액세스가능한 특정 레지스터 F6EC 내의 한 비트(비트3)을 제어함으로써 소프트웨어에 의해 수행된다(표 3의 포트맵 참조). 두번째로, 컴퓨터의 직렬 통신부용 전원 공급 회로(도시생략)가 레지스터 F6EC(비트5)에 의해 디스에이블될 수 있다. 또한, UART(44)용 타이밍 신호를 발생시키는 발진기(도시생략)도 레지스터 F6EC(비트7)에 의하여 디스에이블될 수 있다. 세번째로, CPU(40)제어용 클럭도 상기한 바와같이 턴오프될 수 있으므로 아이들 루프에 있을 경우 실행되는 소프트웨어에 응답하는 트랜지스터가 스위칭되지 않는다.
대체 실시예는 비휘발성 메모리를 제공하는 적어도 하나의 메모리카드(48, 50)를포함한다. 각 메모리카드(48, 50)의 전력핀(48B, 50B)을 제어하여 컴퓨터 전원장치(도시생략됨)로 하여금 각 메모리카드(48, 50)에 내장된 메모리 칩들(도시하지 생략됨)에 전력을 공급하게 한다. 메모리카드들을 포함하는 컴퓨터의 제4부분도 필요시에만 전력이 공급될 수 있다. 제2도에는 두개의 메모리 카드(48, 50)만이 도시되어 있지만 다른 메모리 카드들이 추가될 수 있다. 각 메모리 카드(48, 50)로 공급되는 전력은 고체 스위치(48C, 50C)에 의하여 턴-오프된다. 각 메모리카드(48, 50)에 제공되는 상기 스위치(48C, 50C)는 어드레스 디코드에 근거하여 자동으로 제어되거나, 마이크로 프로세서(50)에 대해 액세스 특정한 레지스터내의 한 비트에 의해 제어된다. 본 발명의 양호한 실시예에서 사용된 바와같은 메모리 카드(48, 50)는 “A Method and Apparatus for Information Management in a Computer System” “(컴퓨터 시스템에서의 정보관리를 위한 방법 및 장치)”란 본 발명의 명칭의 공동 양도된 미합중국 특허출원 제07/374,691호(대리인 사건 명부 제 M-951호)에 설명되어 있다.
제2도에 도시된 바와같이, CPU(40)(즉 중앙처리장치(Contral Processing Unit) 또는 프로세서(Processor), 바람직하게는 마이크로 프로세서(Micro-processor)가 유효 어드레스를 디코딩 하기 위해 신호를 전송하는 제어라인(56), 데이타 라인(54) 및 어드레스 라인(52)에 접속되어 있다. 마이크로 프로세서(40)는 이들 라인들(52, 54, 56)에 의하여 어드레스 디코드 논리 및 특정 레지스터회로(60)에 접속되어 있다.
회로(60)은 마이크로프로세서(40)내의 어드레스를 디코드 하는데 필요한 논리회로를 포함한다. 일부 어드레스는 마이크로 프로세서 명령 처리 사이클중에 인에이블 및 선택 신호를 발생한다. 다른 어드레스는 마이크로 프로세서(40)에 액세스 가능한 특정 포트에 대응된다(표 1, 2 및 3의 포트맵 참조). 특정 포트 어드레스가 입력/출력 기입을 수행하도록 명령을 따라 디코드될 경우 마이크로 프로세서 데이타는 특정 레지스터로서 호칭되는 레지스터내에 래치된다. 논리회로(60)는 판독 동작을 행할 경우 마이크로 프로세서 버스, 즉 데이타 라인(54)상의 적절한 데이타를 마이크로 프로세서에 게이트 한다.
[디스플레이 전력 관리]
디스플레이 제어기 논리회로(62)는 IBM PC & PS/2에 대한 가이드(The New Peter Norton Programmer's Guide)에서 기술된 MDA 및 CGA로서 알려진 종래의 IBM PC 컴퓨터의 호환 디스플레이 기준을 컴퓨터로 에뮬레이트할 수 있도록 하는 모든 논리회로를 포함한다. 이 논리회로(62)는 또한 디스플레이 클럭을 위해 발진기(38)에 의해 제공되는 디스플레이 클럭 신호(66)로 부터 디스플레이 LCD구동기 회로(36)에 필요한 클럭 타이밍 신호(64)를 발생시킨다. 디스플레이 클럭을 위한 발진기(38)는 디스플레이 클럭신호(64)을 위한 타이밍을 발생시키는 실질적인 발진기이다. 디스플레이(70)용 전력 제어 신호(64)는 디스플레이 클럭신호(64)에 대해 발진기(38)를 인에이블 한다.
LCD 구동기(36)는 디스플레이 제어기 논리회로(62)로 부터의 데이타를 디멀티플렉스하고 행 및 열데이타(72)를 LCD 디스플레이유리(70)에 제공하는 구동회로이다. LCD 디스플레이유리(70)는 컴퓨터 사용자가 바라보는 실질적인 LCD의 물리적 디스플레이 이다. LCD 구동기(36)는 디스플레이 전원장치(32)에 의해 전력을 공급 받는다. John Fairbands, Andy E. Yuan 및 Lance T. Klinger에 의해 발명된 “Power System and Scan Method for Liquid Crystal Display”(액정디스플레이용 전력 시스템 및 스캔 방법)이라는 발명의 명칭의 공동양도된 미합중국 특허출원 제 07/374,340호를 참조하기 바람. 디스플레이 전원장치(32)는 LCD 디스 플레이 유리(70)를 구동하기 위해 필요한 모든 전압 기준을 발생시키는 스위칭 전원장치이다. 디스플레이 전원장치(32)는 어드레스 디코드 논리 및 특정 레지스터 회로(60)로부터 제공된 디스플레이 전력 제어신호(72)를 제공함으로써 제어된다. 따라서, 디스플레이 전력 제어신호(74)는 디스플레이가 사용중이 아닐때 디스플레이 전원장치(32)를 턴오프 한다. LCD 디스플레이 유리(70)는 디멀티플렉스된 행 및 열 데이타(72)를 LCD 구동기(36)로 부터 수신하고, 그 전력(68B)을 디스플레이 전원장치(32)로 부터 공급 받는다.
[통신 전력 관리]
UART(44)는 통상적 통신 규격 예컨대 RS-232-C의 규격과 일치하도록 번역된 TTL(트랜지스터-트랜지스터 논리)전압 레벨 신호(80)를 발생시킨다. 또한 UART(44)는 입력데이타가 TTL 전압 레벨로 다시 번역될 것을 요구한다. 이러한 기능은 직렬 채널 전압 레벨 번역기 회로(82)에 의해 달성된다. 직렬 채널 전압 번역기(82)는 전술된 통상적 통신 규격(84)중 어느 한 전압 레벨과 TTL 전압 에벨(80) 사이의 전압 레벨을 번역한다. 비(non)-TTL 전압레벨(80)은 종래에서와 같이 스위칭 기술을 이용하여 직렬 채널 전압 레벨 번역기 회로(82)에 의해 발생된다. (82)의 전원 장치는 직렬 통신 전력 제어 신호(86)에 의해 인에이블될 때만이 동작하여, 특정 레지스터 비트 F6EC <7비트>(표 3의 포트맵 참조)로서의 소프트웨어 제어하에 있게 된다.
외부 직렬 접속기(88)는 컴퓨터의 케이스 외부에 설치된 접속기가 바람직하다. 이 접속기(88)에 의해 직렬 장치가 컴퓨터에 접속된다. 이 접속기의 모든 신호(84)는 비-TTL이고 UART(44)에 도달하기 전에 전압 레벨의 번역을 필요로 한다.
[메모리 카드 전력 관리]
일 실시예에 있어서, 고체 스위치(48C, 50C)는 전술된 각 메모리 카드(48, 50)의 전력 핀(48B, 50B)을 제어한다. 어드레스 디코드 및 특정 레지스터 회로(60) 또는 특정 레지스터의 비트(표 3의 포트맵 참조)에 의해 메모리 어드레스의 디코딩으로 부터 유도되는 인에이블 신호(48D, 50D)는 고체스위치(48C, 50C)를 제어한다. 이 인에이블 신호(48D, 50D)는 그 신호의 특정 메모리 카드가 액세스될 경우에만 메모리 카드(48, 50)에 전력을 공급한다.
상기한 회로는 마이크로 프로세서(40) 즉 CPU에 의해 실행되는 제어프로그램으로 제어된다. 이 제어프로그램은 어셈블리어 언어 마이크로프로세서 프로그램이 바람직하다. 더우기, 이 제어 프로그램의 작동에 관한 상세는 전력 관리에 포함된 것으로서 이하에서 설명된다. 이하에 제어 프로그램의 작동에 관해 간단히 설명하기로 한다.
디스플레이 전원장치(32)와 관련하여 상기 제어프로그램에 의해 온/오프 스위치(도시안됨)에 의해 컴퓨터를 턴 오프하려는 사용자의 요구 또는 소정의 시간주기의 경과에 따른 컴퓨터의 비작동 상태(아이들 상태)가 검출된다. 특정 비트는 디스플레이 관련 회로 레지스터 F6EC <비트 3><표 3의 포트맵 참조>를 턴오프 시키는 마이크로 프로세서(40)에 액세스 가능한 특정 레지스터내에서 변경된다. 제어 프로그램은 온/오프 스위치에 의해 시스템을 턴온시키려는 사용자의 요구 또는 시스템을 턴온시키고자하는 프로그램된 이벤트를 검출한다.
직렬 통신 전원장치의 소프트웨어와 관련하여 제어프로그램에 대한 서비스 요구 또는 이하에 기술된 인터럽트에 의해 UART(40)의 사용이 검출된다. 특정한 비트는 통신에 관련된 회로를 턴온시켜 마이크로프로세서(40)에 액세스 가능한 특정 레지스터 F6EC <비트 5> 내에서 변견된다 <표 3의 포트맵 참조>. 컴퓨터 사용자에 의한 통신 서비스의 종료는 제어프로그램에 대한 요구 또는 통신의 비동작 상태를 검출함으로써 검출된다. 특정한 비트는 통신에 관련된 하드웨어 회로를 턴오프시켜 마이크로 프로세서(40)에 액세스 가능한 특정 레지스터 F6EC <비트 7>내에서 변경된다(표-3의 포트맵 참조).
메모리 카드 전원의 경우, 컴퓨터에 의한 메모리 카드(48, 50)의 액세스는 제어 프로그램에 대한 서비스 요구 또는 자동적인 처리 어드레스 디코딩에 의해 검출된다. 자동 모드가 비사용중일 경우, 특정한 비트는 마이크로 프로세서(40)에 액세스 가능한 특정 레지스터내에서 변경되어 메모리 카드에 액세스하는 지속기간 동안에 메모리 카드(48, 50)에 대한 전원을 턴온 한다. 미합중국 특허 “Portable Low Power Computer(휴대용 저전력 컴퓨터)”라는 발명의 명칭으로 공동 양도된 미합중국 특허출원 제07/375,721호에 개시되어 있으며 상기 특허 출원은 참고로 본원 명세서에서 인용된다. 전력 관리와 관련된 이벤트에 대한 플로우 챠트는 제3도 및 제4도에 도시된다. 제 3도는 마이크로 프로세서 클럭을 턴온 혹은 턴오프시키는 하드웨어 이벤트를 도시한 것이고, 제4도는 마이크로 프로세서 클럭을 턴오프 시키거나 마이크로 프로세서 클럭을 턴오프시키지 않도록 하는 소프트웨어 이벤트를 도시한 것이다.
[하드웨어 동작회로에 관한 설명]
본 발명의 바람직한 실시예에 있어서, 전력을 보존하고 컴퓨터의 배터리 수명을 연장시키기 위해 전술한 바와 같이 컴퓨터의 하드웨어 즉 회로는 클럭 신호에 대한 필요성에 기초하여 여러 구획으로 분할된다. 컴퓨터의 여러 상이한 부분에 클럭 신호를 제공하는 발진기들은 그들의 서비스 요구에 기초하여 인에이블 및 디스에이블 된다. 전력을 보존할 필요가 없을 경우에는 발진기를 디스에이블 스킨다. 본 발명에 따르면, 휴지상태, 즉 특정시간에 디스에이블 되는 발진기는 글리치가 발생하지 않도록 즉 안정상태에서만 클럭신호를 제공하도록 시동된다. 발진기는 턴온되어 안정화 되기까지 일정한 시간주기가 걸리기 때문에 발진기를 동작시키기 위해서는 회로가 제공되어야 하고, 이때, 발진기 신호가 발진기를 구동하는 소정의 논리 회로에 도달되도록 하기 전에 적당한 시간을 대기하게 된다. 마이크로 프로세서 클럭을 위해 타이밍 신호를 발생하는 발진기의 경우 시스템 전원 장치의 출력 전압의 함수인 주파수를 가진 전압제어 제어 발진기가 제공된다. 따라서, 전원 전압은 소프트 웨어의 제어하에 있게 되므로, 마이크로 프로세서 클럭 주파수도 역시 소프트 웨어 제어하에 있게 된다.
컴퓨터가 아이들 상태 인지를 검출하는 것을 마이크로 프로세서에 대한 클럭 신호를 중지시키는 것이 적절한 것인지를 판정할 때 중요하다. 컴퓨터의 프로세서(40)는 사용자가 발생시킨 입력에 대해 작동하지 않는 경우 아이들 상태에 있게 된다. 마이크로 프로세서의 제어 프로그램을 아이들 상태와 작동 상태 사이에서 구별하기 위해 마이크로 프로세서 제어 프로그램은 하드웨어 동작을 인식하여야 한다.
본 발명에 따른 회로가 제공되어 컴퓨터 회로(제2도)를 감시하고 특정한 하드웨어 이벤트가 발생할 경우 인터럽트를 통해 제어프로그램이 경보를 발생한다.
본 발명의 바람직한 한 실시예에 있어서, 4개의 하드웨어 이벤트는 제어프로그램에 의해 발생되며, 그 제어프로그램을 마스크 불가능 인터럽트(NMI)로서 나타낸다. 이들 4개의 하드웨어 이벤트는 시스템 타이머틱(tick), 키보드 동작, 통신 포트 동작 및 온/오프 스위치 동작이다.
제3도는 본 발명의 전력 관리 제어 프로그램에 의해 감시되는 하드웨어 이벤트의 블럭도를 도시한 것이다.
종래의 MS-DOS 호환 컴퓨터에서와 같이 인터벌이 프로그램될 수 있는 타이밍 신호를 발생하기 위해 프로그래머블 인터벌 타이머(107)가 제공된다. 본 발명에 따르면, 소정 인터벌의 타이머 틱(100)을 발생하도록 프로그래밍 가능한 본 발명의 전력 관리 시스템에 의해 사용되도록 제2타이머(98)가 제공된다. 타이머틱(100)은 시간 기준 및 워치 도그(Watch dog)타이머로서 사용된다. 타이머틱(100)은 BIOS 컴퓨터상에서 가동되는 워드프로세싱 또는 스프레드시트와 같은 응용프로그램이 유해하게 작용함에도 불구하고 시스템의 제어를 유지함에 있어서 BIOS 제어 프로그램에 의해 사용되는 마스크 불가능 인터럽트(NMI)로서 BIOS에 의해 처리되는 주기적인 틱(100)을 제공한다.
키보드 동작으로 인해 대부분의 키스트로크는 소프트 웨어에 의해 동작될때까지 버퍼에 저장된다. 통상의 응용 프로그램은 키보드 버퍼에 입력될 키보드 동작을 조회하는 것(즉, 키보드 버퍼의 엔트리를 조회하는것)을 포함한 루프를 통해 주기적으로 순환된다. 예를 들면 응용 프로그램이 디스크 또는 다른 대형 기억 장치 상으로 대규모 화일을 로딩하는 경우 동작이 완료되기 전에 사용자가 메모리의 기입 동작을 중지시킬 기회를 갖도록 상기 프로그램에 의해 어떤 키 누름동작이 주기적으로 조회될 수 있다. 프로그램이 수행되는 동안 사용자가 이 프로그램을 인터럽트시킬 수 있는 그러한 기회는 일반적으로 응용 프로그램에서 제공된다. 이 프로그램의 다른 점에 있어서는 프로그램의 키스트로크를 대기하는 것을 제외하고 다른 어떤 기능도 발생하지 않는다.
마이크로프로세서의 처리 속도는 일반적으로 컴퓨터 사용자의 타이핑 속도보다 훨씬 빠르기 때문에 사용자가 타이핑 할때와 그 타이핑에 응답하는 처리 이외의 다른 기능, 즉 통산 키스트로크들간의 시간차에서 발생하는 기능을 프로그램이 수행하지 않을때 키스트로크들 사이에 마이크로 프로세서를 정지시킴(즉 클러킹하지 않음)으로써 전력을 보존하는 것이 바람직하다. 이러한 상태에서 소프트웨어는 사용자에 대한 컴퓨터의 응답을 지연시키지 않고 마이크로 프로세서를 정지시킬 수 있는 아이들 상태에 있게 된다. 컴퓨터가 마이크로 프로세서를 정지 및 재시동 시키기 위해서는 그 컴퓨터는 외부 이벤트에 응답하여 마이크로 프로세서를 재시동시킬 수 있는 하드웨어를 구비해야 한다. 마이크로 프로세서는 키누름 동작의 결과로서 상술한 바와같은 연산 모드로 변환된다.
본 발명의 양호한 실시예에서 이른바 전원 온/오프 스위치(114)는 전원을 실제로 온 및 오프시키지 않고 단지 정보를 제어 시스템에 제공한다. 컴퓨터 자체에는 항상 전력이 공급되므로 종래의 전원 스위치를 갖지 않는 것이 바람직하다. 그 대신 컴퓨터에는 사용자가 오프 상태와 온 상태 사이에서 토글링 하는데 사용하는 스위치가 제공된다. 오프 상태에서 디스플레이는 오프되고, 키스트로크는 무시되며, 프로세서는 정지하고, 타이머 틱은 긴 인터벌, 즉 약 1분동안의 인터벌이 발생한다. 그러나 컴퓨터 자체는 사실상 오프되지 않는다. NMI는 사용자가 오프 상태에서 온 상태로 컴퓨터를 토글링시키고자 하는 것을 제어 프로그램이 알 수 있도록 온/오프 스위치가 스위치 오프될 경우에 발생될 수 있다. 컴퓨터가 스위치 오프될 경우 온/오프 스위치를 누름으로써 컴퓨터는 연산 모드로 이동하게 된다.
제3도의 블럭도 형태로 도시된 바와같이, 본 발명의 양호한 실시예의 회로는 다음과 같이 동작한다. 마스크 불가능 타이머 인터럽트(100)는 배터리가 장착된 동안 항상 가동 상태에 있는 타이머(98)에 접속된 저주파 발진기에 의해 제공된다. 저주파 발진기의 주파수는 분할되고 54.9밀리초마다 또는 거의 매분마다 인터럽트를 발생시킬 수 있다. 인터럽트 타이밍 인터벌의 선택은 프로그램 가능하다. 54.9밀리초 보다 짧은 인터럽트 타이밍 인터벌로 인해 아이들 상태에 응답하여 마이크로 프로세서 클럭을 고속으로 차단할 수 있어 전력을 전속적으로 절약할 수 있다. 그러나 그 인터벌은 아이들 동작을 표시하는 다수의 이벤트가 단일 인터벌 내에서 관찰 될 수 있도록 충분한 길이를 가져야 한다.
2개의 인터럽트는 이러한 분할된 주파수의 결과로서 발생될 수 있다. 제1인터럽트는 IRQ0로 표기되며, 8259-호환 인터럽트 제어기상에 최우선순위 인터럽트(IRQO)로서 접속된 표준형 IBM PC 타이머 인터럽트와 상호 교환 가능하다. 제3도에 도시된 바와 같이 표준형 IBM 호환 프로그램 가능한 시간 간격 타이머(107)는 이러한 IRQO 인터럽트를 발생하며, 그 IRQO 인터럽트를 8259 인터럽트 제어기(105)에 전송하고 인터럽트(103)를 CPU(40)의 인터럽트 포트에 차례로 전송한다. 이 인터럽트는 마스크 가능하고, 종래의 IBM PC-XT 컴퓨터에서 호환성이 있으며, 시간 장치를 갱신하고 타이머 틱에 응답하도록 프로그램된 소정의 소프트 웨어 동작을 개시하는 것과 같은 기능을 수행하기 위해 프로그래머에 의해 사용된다. 제2인터럽트는 전력 관리 타이머 인터럽트(100)이다. 이 인터럽트(100)는 IBM PC 호환 인터럽트 IRQ0를 발생하기 위해 사용된 것과 동일한 타이머(107)로부터 발생될 수 있을지라도 그 바람직한 실시예에서는 인터럽트(100)를 발생하기 위해 제2전력 관리 타이머(98)를 사용한다. 제2타이머를 제공함으로써 IBM 호환 타이머(107)의 인터벌이 IBM의 프로그래머와 DOS 호환 컴퓨터 프로그램에 의해 가변되는 동안 본 발명의 제어 프로그램에 의해 타이머(98)의 타이머 인터벌이 가변될 수 있다.
상기 타이머 인터럽트(100)는 마스크 불가능 인터럽트로서 NMI 인터럽트 제어기(101)에 의해 판독된다. NMI 인터럽트 제어기는 마스크 불가능 인터럽트(102)를 CPU(40)의 NMI 포트에 전송함으로써 인터럽트(100)에 응답하게 된다. 이 인터럽트(102)는 8259-호환 인터럽트에 대해 우선 순위를 취하게 된다. 이 인터럽트(102)는 타이머(100) 인터럽트가 마스크 불가능 인터럽트(102)의 원인이었는지 소프트웨어가 판정할 수 있도록 마이크로 프로세서(40)에 액세스 가능한 특정 레지스터 F6E7<비트6>의 지시기 비트를 갖는다.(표-3의 포트맵 참조). 타이머 인터럽트(100)는 마이크로 프로세서(40)에 대한 클록을 자동적으로 시동시키도록 프로그래밍 될 수 있다.
또 다른 형태의 인터럽트는 키보드 인터럽트이다. 키보드 회로가 인에이블되어 키보드를 스캐닝할 경우, 키를 누르고, 해제하거나 자동적 반복을 위해 충분히 오래 누를 때마다 키보드 제어 회로(106)에 의해 신호가 발생된다. 2개의 인터럽트는 키보드 동작이 검출될 때 발생된다. 제1인터럽트는 IRQ1으로 표기된다. 이것은 8259 인터럽트 제어기상에 제2의 최상위 우선 순위 인터럽트(IRQ1)로서 종래의 IBM PC-XT 컴퓨터에 접속된 종래의 IBM PC-XT 키보드 인터럽트이다. 제3도의 실시예에서 도시된 바와 같이 키보드 제어 회로(106)에 의해 발생된 IRQ1 인터럽트는 8259-호환 인터럽트 제어기(105)에 제공된다. 이 인터럽트는 인터럽트 마스크(110)와 등가인 마스킹 신호(도시안됨)에 응답하여 8259-호환 인터럽트 제어기(105)에 의해 마스크 가능하고, IBM PC-XT와 호환성이 있다. 인터럽트가 인에이블될 경우, 인터럽트 IRQ1는 인터럽트 제어기(105)로 하여금 인터럽트(103)를 CPU(40)로 전송하게 한다.
제2인터럽트는 키보드 NMI 인터럽트(104)이다. CPU(40)가 클럭킹되지 않을 경우 키보드 동작이 검출될 수 있도록 그리고 CPU(40)에 대한 클럭이 키누름에 응답하여 턴온될 수 있도록 CPU(40)를 통과하지 않는 인터럽트 제어기(101)에 분리된 인터럽트를 제공할 필요가 있다. 또한, 소정의 키는 IRQ1 인터럽트가 응답하지 않도록 소정의 키가 제공된다. 예를 들면, 스크린 밝기를 조절하기 위한 키의 조합은 NMI 인터럽트 제어기(102)가 CPU(40)를 턴온시키도록 하는 키보드 인터럽트(104)를 발생시킨다. 그러나, 이러한 특별한 키의 조합은 CPU(40)에 의해 판독될 경우 스크린 밝기를 조절하는 다른 하드웨어 동작을 개시시키고 8259 호환 인터럽트 제어기(105)로 하여금 CPU(40)에 대해 인터럽트(103)를 발생시키지 못하도록 한다. 인터럽트 제어기(101)는 NMI(102)를 발생시킴으로써 키보드 NMI 인터럽트(104)에 응답한다. 이 인터럽트(102)는 8259-호환 인터럽트(103)에 대해 우선 순위를 취하며, 키보드 인터럽트(104)가 NMI의 원인이 되었는지를 소프트웨어가 판정하도록 마이크로 프로세서(40)에 액세스 가능한 특정 레지스터(F6E7 <비트7>)에 지시기 비트를 배치한다. (표-3의 포트맵 참조). 키보드 인터럽트(104)는 마이크로 프로세서(40)에 대한 클럭을 자동적으로 개시하도록 프로그래밍될 수 있다.
제3도의 실시예에 있어서의 전력 관리는 또한 컴퓨터 통신 포트에 대한 동작에 응답할 수 있다.
[UART 제어기(109)]
통신 포트상의 동작에 응답하여, UART 제어기(109)는 8259-호환 인터럽트 제어기(105)로 하여금 CPU(40)의 인터럽트(103)을 발생시키도록 하는 IBM 호환 인터럽트 신호 IRQ4를 발생시킬 뿐만 아니라, NMI 인터럽트 제어기(101)로 하여금 CPU(40)에 대한 클럭을 재시동시키는 NMI 인터럽트(102)를 발생시키도록 하는 UART NMI(117)를 발생시킨다. UART 동작에 응답하여 CPU 클럭을 재시동시킬 수 있는 이러한 능력으로 인해 CPU 클럭은 컴퓨터의 외부 포트를 왕복하는 정보의 바이트들 사이에서 턴오프될 수 있다.
온/오프 스위치(114)를 누를 경우에 이 스위치는 NMI(116)를 발생시킨다. 지시기(112)는 온/오프 스위치(114)가 NMI의 원인이 되었는지를 지시하기 위해 마이크로 프로세서(40)에 액세스 가능한 특정 레지스터 F6EA <비트0>에 제공된다(표-3의 포트맵 참조). 지시기(112)는 또한 온/오프 스위치(114)의 현재 상태를 지시하기 위해 마이크로 프로세서에 액세스 가능한 특정 레지스터에도 제공한다. 온/오프 스위치 인터럽트(116)는 프로세서(40)의 클럭을 자동적으로 시동시키도록 프로그래밍 될 수 있다.
전술된 회로는 다음의 소프트웨어 기능으로 동작한다. 제3도에 도시된 바와 같이 타이머 인터럽트(100)는 인터럽트 제어기(101)에 제공되고 IRQ0 인터럽트를 사용하는 응용 프로그램을 방해하지 않는다. 도시 생략된 또다른 실시예에 있어서, 타이머 인터럽트가 8259-호환 인터럽트 제어기(101)의 IRQ0 판상에 제공되고, 이 타이머 인터럽트는 IBM PC와 호환성이 있다. 이 경우에 타이머 인터럽트(100)는 시각을 결정함은 물론 다른 응용 프로그램 명령에 응답하기 위해 사용될 수 있다. 제3도의 실시예에 있어서, 타이머 틱(100)의 인터벌은 전력 관리를 위해 IBM PC-XT 호환 54.9 밀리초의 시간 인터벌과 1분의 대략적인 시간 인터벌 사이에서 스위치되도록 프로그램 가능하며 응용 프로그램에 의해 액세스 되지 않는다. 컴퓨터가 오프 모드에 있는 경우 1분의 인터벌이 더 바람직한데 그 이유는 프로세서(40)의 동작을 작게하여 전력 소비량을 감소시키기 때문이다. 타이머 인터럽트 NMI(100)는 마이크로 프로세서(40)에 대해 액세스 가능한 레지스터(F6E9 <비트 4>)내의 특정 비트를 변경시킴으로써 인에이블될 수 있다.(표-3의 포트맵 참조). 타이머 인터럽트(100)는 실행중인 응용 프로그램이 타이머 인터럽트 IRQ0를 리벡터링 한다 하더라도 시스템의 명령을 유지하는 제어 프로그램에 의해 사용될 수 있다.
키보드 인터럽트 회로(106)와 관련하여 인터럽트(104)는 8259-호환 인터럽트 제어기(105)의 IRQ1 판상에 제공되는 인터럽트는 IBM PC와 호환성이 있으며, 키이 누름에 응답하는 키보드 서비스를 위해 사용될 수 있다. 또한 키보다 인터럽트 NMI(104)는 프로그램이 8259-호환 인터럽트 제어기(105)를 위한 서비스 루틴 리벡터링한다 하더라고 시스템의 명령을 유지하는 제어 프로그램에 의해 사용될 수 있다. 전력을 보존하기 위해, 마이크로 프로세서(40)의 클럭은 프로그램이 키보드 입력을 대기하고 있는 것으로 판정된 경우 정지될 수 있다. 키보드 동작의 결과로서 NMI(104)가 발생될 경우, 프로세서(40)의 클럭은 다시 재시동하며 제어 프로그램을 처리과정이 계속되도록 한다.
온/오프 스위치(114)와 관련하여, 일단 사용자가 소정의 시간 기간 동안 컴퓨터의 사용을 종료하면, 사용자는 온/오프 스위치(114)를 작동시킴으로써 사용자가 종료됨을 제어 프로그램에 신호할 수 있다.
사용자가 컴퓨터를 사용하고자 할 때, 사용자는 컴퓨터를 시동시킬 것을 제어 프로그램에 요구하는 온/오프 스위치(114)를 작동시킬 수 있고 사용자가 그만둔 이전의 사용 부분에서 정확하게 다시 시작할 것이다. 스위치(114)가 작동되면, 전술한 바와 같이 NMI(16)가 발생된다. 이때 마이크로 프로세서(40)에 대해 액세스 가능한 레지스터 F6EA<비트 0>)의 적절한 지시기(112) 비트를 검사함으로써 온/오프 스위치(114)가 인터럽트를 야기시켰는지를 판정할 NMI 루틴이 제공된다(표 3의 포트맵 참조). 이 NMI루틴은 신호가 안정 될때까지 마이크로 프로세서(40)에 대해 액세스 가능한 특정 레지스터에 위치한 온/오프 스위치(114)의 실시간 상태를 반복적으로 검사함으로써 그 스위치를 디바운싱한다. 일단 스위치(114)가 디바운싱 되었다면, 제어 프로그램은 오프 모드 및 연산 모드간에 시스템을 이동할 수 있다.
전술한 바와 같이 제3도에 있어서, 마이크로 프로세서(40), 어드레스 라인(54), 데이타 라인(52) 및 제어 라인(56)은 도시된 것처럼 회로에 대해 유효한 어드레스를 디코드하는데 사용된다. 어드레스 디코드 및 특정 레지스터(60)는 마이크로 프로세서 어드레스를 디코드하기 위한 모든 논리를 포함한다. 일부 어드레스는 인터럽트 마스크(110)로서 사용된다. 다른 어드레스는 마이크로 프로세서(40)가 인터럽트의 소오스를 결정하는 것을 판독할 수 있는 상태 지시기(112)에 대응한다. 인터럽트 제어기(101)와 관련하여, 단지 전력 관리에 관련된 인터럽트만이 제3도에 도시되어 있다. 인터럽트 제어기(101)는 모든 인터럽트 소오스를 감시한다. 인터럽트(100, 104, 116, 117)가 발생되는 경우 NMI(102)는 단지 인터럽트(100, 104, 116, 117)가 인터럽트 마스크(110)에 의해 표시되는 것처럼 인에이블 되었을 경우에만 발생된다. NMI 인터럽트(100, 104, 116, 117)는 마이크로 프로세서(40)에 대해 액세스 가능한 F6E8 및 F6E9(표 3의 포트맵 참조)와 같은 특정 레지스터의 적절한 비트를 변경시킴으로써 인이에블 된다. 인터럽트(100, 104, 116, 117)가 인에이블 되어 발생되면, 인터럽트의 소오스는 마이크로 프로세서(40)에 대해 액세스 가능한 특정 레지스터(60)를 통하여 인터럽트 제어기(101)에 제공되는 인터럽트 지시기(112)를 검사함으로써 판정될 수 있다.
타이머(100)와 관련하여 이것은 시각 및 워치도그 타이머 기능을 결정하는데 사용되는 상기 언급된 시스템 타이머이다. 인터럽트 제어기(101)는 타이머(98)의 각각의 틱(100)에 대하여 NMI(102)를 발생하도록 프로그래밍 될 것이다. 키보드 제어(106)와 관련하여, 인터럽트 제어기(101)는 키누름, 키해제 또는 키반복으로 NMI(102)를 발생시키도록 프로그래밍 될 수 있다. UART 제어(109)와 관련하여, 인터럽트 제어기(101)는 통신 포트에서 각 신호의 수신에 따라 NMI(102)를 발생하도록 프로그래밍 될 수 있다. 온/오프 스위치(114)와 관련하여, 인터럽트 제어기(101)는 이 스위치가 작동하기만 하면 언제라고 NMI(102)발생하도록 프로그래밍 된다.
[소프트웨어 작동 검출 회로에 관한 설명]
전술한 인터럽트는 그것의 저전력 모드중 한 모드에서 고 전력 연산 모드로 컴퓨터를 복귀시키기 위한 여러 수단을 제공한다. 보다 큰 문제점은 컴퓨터가 고전력 연산 모드로부터 취해질 때이고 사용자의 불편함이 없이 배터리의 수명이 연장된다. 문제점은 실행 소프트웨어 프로그램이 키누름 또는 포트 신호와 같은 외부 이벤트를 조회하는 루프(연산 모드) 상태에 있고, 진행중인 동작의 중단 없이 정지될 수 있는 시기를 판정하는 것이다. 불필요한 루프 동작을 인지하기 위해서는 본 발명의 전력 관리 시스템이 소프트웨어 프로그래머가 프로그램을 이들 루프중 한 루프에 위치하도록 어떻게 코드를 기입했는 지를 예측하고 그리고 프로그램이 유용한 동작을 정지함이 없이 안전하게 정지될 수 있는 시기를 판정하는 것이 필요하다.
일반적으로 이용 가능한 많은 상용화된 프로그램을 포함하는 유해하게 작용하는 응용 프로그램들은 종종 BIOS 서비스를 통하기 보다는 직접 하드웨어 제어에 의한 그들의 입력/출력 요구를 충족시킨다. 이 유해하게 작용하는 프로그램은 제어 프로그램 개입을 방지할 수 있고 따라서 시스템 전력 관리를 방해할 수 있다. 본 발명에 따른 시스템은 바람직한 제어를 유지하기 위하여, 제어 프로그램은 그 응용 프로그램의 다양한 소프트웨어 작동을 모니터한다.
응용 프로그램의 실행중에 마이크로 프로세서 클럭이 턴오프 될 수 있는 시기를 판정하기 위해, 소프트웨어 응용 프로그램의 작동을 검출하기 위한 특수 회로가 본 발명에 따른 컴퓨터내에 포함된다. 작동을 위해 특정 조사가 검출될 때 NMI는 인에이블 될 경우 발생된다.
제4도에 도시된 바와같이 거기에는 본 발명의 전력 관리 시스템에 의해 감시되는 소프트웨어 활동에는 두 종류가 있다. UART 클럭 제어 모니터(128)는 통신 포트로부터 1바이트의 정보를 대기하거나 1바이트의 정보를 통신 포트상에 위치시키기 위한 적절한 시간을 대기하는 소프트웨어 활동을 감시한다. 이와 마찬가지로, INTT16h 트랩(124)은 누를 키를 대기하거나 또는 키누름이 저장되는 지를 알기 위해 키보드 버퍼를 조사하는 소프트웨어 활동을 감시한다. 이 인터럽트 INT16h은 IBM PC 호환 컴퓨터에 키보드 서비스를 제공하는데 통상적으로 사용된다. INT6h를 사용하여 프로그램을 트래핑(trapping)함으로써 컴퓨터내의 BIOS 제어 프로그램은 시스템의 제어를 유지시키며 키누름간에 프로세서 클럭을 정지시킴으로써 전력의 보존이 계속된다.
다른 소프트웨어 응용 프로그램 활동은 프로세서 클럭을 턴오프시키는 것이 가능한 다른 방법에 대해 활동을 방해할 것이다. 이러한 활동이 일어날때, 마이크로 프로세서 클럭은 응용 프로그램이 아이들 상태에 있지 않기 때문에 턴오프되어서는 안되고, 만약 클럭이 턴오프되면 사용자에 대해 컴퓨터의 응답이 지연될 것이다. 이러한 다른 활동이 일어날 때, 마이크로 프로세서 클럭은 UART 클럭 제어 인터럽트(128)에 의해 발생된 NMI(126) 또는 INT16h 트랩(124)에 의해 발생된 INT16h NMI 인털버트(122)에 응답하여 턴오프되지 않는다.
제4도의 신규한 BIOS 제어 프로그램 실시예에 의해 모니터되는 활동의 종류로는 I/O 판독/기입 모니터(132)에 모니터되는 I/O 판독/기입 활동(UART에 의해 조정되지 않는 병렬 프린터, 외부 메모리, 또는 다른 장치와 같은 외부 장치와의 통신), UART 활동 모니터(134)에 의해 모니터 되는 UART 활동(RS-232 포트에 송신된 단일 바이트의 연속 비트), 프로그램 가능한 가격 타이머(136)에 의해 모니터되는 프로그램 가능 간격 타이머의 틱을 대기시키는 활동, 영상 액세스 모니터(138)에 의해 모니터 되는 스크림에 기입하는 활동과 대량 저장 모니터(111)에 의해 모니터되는 디스크에 기입 및 디스크로부터 판독하는 활동을 들 수 있다.
대량 저장 모니터(111)는 대랑 저장 모니터(111)에 의해 제공된 단일 비트의 데이타가 하드웨어 및 소프트웨어의 작동을 나타내기 때문에 제3도 및 제4도에 도시된다. 제4도에 도시되어 있지 않지만 모니터될 수 있는 부가 명령은 CPU 연산 코드(예를 들면, 곱셈)를 포함한다.
제어 프로그램에 의해 제공된 바와같이, CPU는 어드레스 버스(54) 및 제어라인(56)상에 이들 레지스터의 어드레스(132, 134, 136, 138, 111)를 위치시킨다. 검사중인 활동 상태를 CPU(40)에 지시하는 데이타 라인(52)상에 데이타가 제공된다.
이들 활동중 어떤 것이 응용 프로그램에 의해 실행중일 때, 관련 비트는 데이타라인(52b)을 통한 특정 레지스터(60) 및 어드레스 디코드에 세트되고 CPU(40) 클럭의 턴오프를 방지한다. 사용자에게 불편을 주지않고 클럭이 오프된다면 다른 활동에 산재되어 실행될 마이크로 프로세서 클럭이 요구되는 활동을 검출하므로써, 클럭이 턴오프될 시기를 판정함에 있어 INT16h 트램 및 UART 클럭 제어의 반복된 활동에 대해 하위 기준을 사용하는 것이 가능하다.
프로그램 가능 시간 간격 타이머 활동이 명백한 아이들 활동임에도 불구하고, 클럭을 턴오프시키지 않는 이유는 프로그래머가 다른 이벤트의 속도, 예를들면 게임 프로그램의 스크린을 가로지르는 목적물의 이동을 제어하기 위해 상기와 같은 프로그램 가능 시간 간격을 이용하기 때문이며, 만약 컴퓨터를 턴 오프시키면 프로그램의 리듬이 방해받게 된다. 또한, 프로그램에 재차 턴온 되었을 때, 만약 컴퓨터를 턴 오프시키면 프로그램의 리듬이 방해받게 된다. 또한, 프로그램이 재차 턴온 되었을 때, 그 루프는 다시 시작될 것이고, 따라서 프로그램 가능한 시간 간격 타이머를 사용하는 프로그램은 본 발명의 전력 관리 시스템하에서 작동 할 수 없을 것이다.
INT16h 및 UART 소프트웨어 활동을 찾는 회로(124, 128)를 이하에 기술한다. 첫째로, INT16h 트랩(124)에 관해서는, 소프트웨어 INT16h 명령에 의해 마이크로 프로세서(40)는 인터럽트 백터 테이블의 시작부로부터 어드레서 58h 바이트에서 시작하는 컴퓨터 메모리(도시생략)로부터 4바이트를 판독한다. INT16h 인터럽트(122)는 INT16h 명령의 실행인 소프트웨어 이벤트를 트랩하고자 한다. 각 인터럽트 벡터는 인터럽트 벡터 테이블의 4바이트를 점유하므로, 하위 메모리의 인터럽트 벡터 테이블의 시작부로부터 58h 바이트에 위치한 INT16h에 대해 테이블 엔트리의 첫번째 바이트를 감시하도록 회로(124)가 제공된다. 이 메모리 어드레스로부터 CPU(40)에 의해 어떤 데이타를 판독함으로써 NMI(122)를 일으킬 수 있다. 인터럽트(122)가 발생된다면, 마이크로 프로세서(40)에 대해 액세스 가능한 특정 레지스터(F6E4 <비트 7>)의 지시기 비트가 세트된다(표 3의 포트맵 참조).
전형적인 소프트웨어 이벤트의 기능을 트래핑하는 것과 관련있는 신규한 소프트웨어는 다음과 같다. INT16h 인터럽트(122)와 관련하여, 상기 기술된 목적은 INT16h 명령을 발생하는 소프트웨어 프로그램을 맵핑하는 것이다. 이 인터럽트(122)는 전형적으로 키보드를 서비스하는데 사용되기 때문에, INT16h명령을 가로채므로써 제어 프로그램이 키스트로크를 찾는 응용 프로그램을 검출할 수 있다. 본 발명의 신규한 제어 프로그램이 INT16h에 의해 발생된 NMI(122)를 얻을 수 있다면, 제어 프로그램은 INT16h 인터럽트 조정기에 진입되는 인수(즉, 특정 INT16h 서비스)를 검사하고 호출 응용 프로그램이 달성하고자 했던 것을 나타낸다.
전력 절약이 개시될 수 있는 가장 단순한 기능은 눌려질 키를 대기시키는 호출이다. 호출 응용 프로그램이 눌려질 키를 대기시키고자 한다면 마이크로 프로세서는 키가 눌러질 때 즉시 정지될 수 있다. 그러나, 키가 눌러졌는지의 여부를 알 수 있도록 응용 프로그램이 INT16h 호출을 갖는 키보드 버퍼를 주기적으로 검사한다면, 예를 들면 프로세서(40) 클럭이 정지되어야 할 시기를 판정하는 통계학(즉, INT16h 인터럽트(122)가 시간 기간당 얼마나 여러번 발생되는가)에 기초하여 추측이 가능하다.
디스플레이 제어기 논리는 전력을 보존하도록 설계되기 때문에(Leroy D. Harper, John W. Corbett, Douglas, A. Hooks, Grayson C. Schlichting, Renee D. Bader 씨와 John P. Fairbanks씨에 의해 발명된 “Video Image Controller for Lower Power Computer”란 발명의 명칭의 공동 양도된 미합중국 특허 출원 제 07/374,884호 참조), 특정 제어 프로그램 개입은 소프트웨어 응용 프로그램이 컴퓨터의 영상 디스플레이를 액세스 할 때 필요한 것이다. 몇몇 응용 프로그램은 응용 프로그램이 스크린에 기입 도중에 있는 동안 사용자가 응용 프로그램을 인터럽트시키도록 한다. 이러한 응용 프로그램은 다른 스크린 기입 활동속에 INT16 호출을 삽입할 것이다. 이러한 INT16h 호출은 마이크로 프로세서를 턴오프시키는데 사용되서는 안된다. 외부 입력을 대기하는 다른 루프 활동의 INT16h 호출로부터 스크린 기입 동안 INT16h 호출을 구별하는 수단은 차후에 논의될 것이다. 그러나, 디스플레이 전력 관리 하에서 상기 논의된 바와 같이, 본 발명은 스크린이 내용은 변하지 않고 재생되는 동안 마이크로 프로세서 클럭으로 하여금 턴오프되도록 한다. 스크린 재생은 마이크로 프로세서에 의해 조정되지 않고 마이크로 프로세서가 턴오프 될지라도 정상적으로 처리될 수 있다. 따라서 디스플레이 제어기는 마이크로 프로세서의 온 상태를 요구하는 스크린상에 디스플레이 될 문자를 발생시키고 마이크로 프로세서의 온상태를 요구하지 않는 정적 스크린을 재생하는 두가지 기능을 제어한다. 특히 디스플레이 제어기가 마이크로 프로세서의 온상태를 요구하는 스크린 기입 동작을 수행할때, 디스플레이 제어기 상태의 제어 프로그램에 경보를 발하기 위한 비트가 세팅된다.
BIOS의 도움 없이 직접 UART를 사용하는 응용 프로그램은 클럭이 연결되기전 록(lock) 발진기를 안정시키기 위한 어떠한 준비도 마련되어 있지 않다면 본 발명의 전력 관리 시스템으로 사용될 경우 통신 시스템이 불안정하거나 또는 쓸모없는 것이라는 것을 알 수 있다. 이러한 응용 프로그램을 지원하기 위하여, NMI는 UART로부터의 기입 또는 판독이 발생할때 지연 루프를 일으키도록 인에이블된다. 제4도에 도시된 UART 인터럽트(126)와 관련하여, UART(128)의 특정 어드레스에 대한 어떤 판독 또는 기입 동작으로 인한 마이크로 프로세서(40)에 액세스 가능한 특정 레지스터의 적절한 비트를 변경시킴으로써 인에이블 된다면 NMI(126)을 일으킬 수 있다. 이 정보는 프로그램이 추가의 UART 활동으로 처리되기 전에 UART 보(baud) 클럭 발진기(도시생략)의 안정을 보장하는 UART 클럭 발진기의 시동을 모니터하는 제어 프로그램에 의해 사용된다. 이 정보는 또한 또 다른 응용 프로그램이 직접적인 하드웨어 기술을 통해 UART를 이용하는 시기를 알 수 있는 제어 프로그램에 의해 사용된다. 이것은 전형적인 종래 IBM PC-XT 호환 컴퓨터에는 가능하지 않다.
[전력 관리 소프트웨어]
종래 컴퓨터에서 이용 가능한 통상적인 ROM BIOS 기능은 ROM BIOS 및 MS-DOS에 의해 사용되는 것처럼 소프트웨어 인터럽트와 통상적인 인터페이스를 통하여 어떤 응용 프로그램에 의해 액세스 되는 부가의 소프트웨어 기능 및 서비스에 의해 본 발명에 따라 확장된다. “키누름입수(get keypress)”으로 지정된 IBM PC-XT 호환 ROM BIOS 기능은 종래 컴퓨터에서 행해지는 바와같이 아이들 루프에 위치하는 대신에 어떤 시간에 가능한한 컴퓨터 시스템의 많은 부부을 차단시키기 위해 본 발명에 따라 특정하게 작동한다. 이 기능은 키누름이 검출될 때 향상된 소프트웨어가 실행되도록 회로에 연결된다. 종래 IBM PC 호환 ROM BIOS 기능 “키보드 상태 입수”는 주어진 시간 기간에 걸쳐 이 기능에 대해 행해지는 호출 횟수의 계수가 모니터되도록 수정된다. 특정 시간후에, 응용 프로그램이 아이들 상태 즉 사용자의 입력을 대기하는 것이라고 가정하는 것이 안전하다. 알고리즘의 조건이 만족된다면 키가 눌러질 때까지 마이크로 프로세서를 정지시키는 것이 안전하다. 마이크로 프로세서는 어떤 키보드 또는 중요한 마이크로 프로세서 연산 활동이 주어진 시간 즉, 거의 100 밀리 초동안 행해지지 않을 때는 언제나 정지될 수 있다.
마이크로 프로세서가 주어진 시간 동안 상기 요구에 따라 안전하게 정지될 수 있는 시기를 판정하는 알고리즘은 타이머틱간의 시간 간격동안 INT16h 호출이 행해진 횟수를 카운트하고, 그 횟수가 특정 값을 초과할 때 마이크로 프로세서를 정지시키는 것이다.
그러나, 최종 키 누름 이후 키보드 버퍼를 검사하기 위해 프로그램이 INT10h을 사용한 총 횟수를 간단히 카운트함으로써 정지 가능한 응용 프로그램에 대해 검사하는 것은 바람직하지 않다. 검사의 절대 횟수는 타이머 틱간의 검사 횟수가 너무 낮게 세트되어졌을 경우 다른 중요한 연산이 진행될 때(사용자가 받아들일 수 없는 조건) 컴퓨터로 하여금 그 프로그램을 턴오프 시키거나 또는 그 프로그램이 루프내 있을때(배터리 수명을 단축시키는 조건) 컴퓨터로 하여금 온 상태를 유지시키도록 하는 다양한 응용 프로그램으로 도시 되어져 있다. 응용 프로그램은 타이머 틱당 7회, 타이머 틱당 250회 만큼의 INT16h 명령을 전송하는 것으로 관찰되었고, 양 극단의 회수는 마이크로 프로세서가 턴오프 될 수 있는 동안 반복 루프내의 프로그램에서 발생한다. 그러나, 메모리에 기입하는 것과 같은 다른 유용한 동작을 수행하는 프로그램은 타이머틱당 10회의 INT16h 호출을 행하는 것으로 관찰되었고 타이머틱당 단지 7회의 INT16h 호출만을 요구하는 기준을 사용한 알고리즘에 의해 잘못 실수하여 정지될 수 있다.
제6a도 내지 제6g도는 이들 응용 프로그램의 관찰 결과를 나타낸 것이다. 제6a도는 프로세서가 1.3MHz속도로 작동하고 타이머틱이 매 54.9 밀리초마다 발생할때 로터스 123 프로그램을 이용하여 여러번 INT16h 호출을 관찰한 그래프를 나타낸 것이다. 제6a도는 거의 1분 주기에 걸친 로터스 123 프로그램의 작용의 관찰을 축적한 것이다. 관찰이 시작된후 처음 거의 15초동안, 그 프로그램한 타이머틱 주기 동안 단지 2배의 INT16h 호출로서 키누름을 찾는 동안 연산을 실행한다. 15초 및 19초 간의, 그 프로그램은 타이머 틱 간에 약 7 또는 8회의 키누름을 찾는다. 약 19초에서, 그 프로그램은 다른 연산이 키누름에 응답하여 실행되는 동안의 짧은 시간동안 키누름을 찾는 것을 중지한다. 이러한 활동은 거의 23초에 재 발생된다. 거의 24초에서 보다 길어진 연산은 키누름에 대해 INT16h 호출을 방해한다. 따라서 마이크로 프로세서는 15초와 23초간의 대부분 시간동안 오프되어질 것이다. 전력을 절약하는 알고리즘은 이같은 가능성을 인지해야만 한다. 제6a도의 일반적인 그래프 모양으로부터 INT16h 호출의 주파수가 단지 몇개의 값, 주로 0과 7 또는 8만을 갖는다는 것은 명백하다(그 값 7 또는 8은 아마 동일 루프를 나타내고 단지 하나의 차이점은 라운드 오프 오차(round off error)를 나타낸다).
제6b도에 도시된 바와 같이, 7MHz 클럭 속도로 작동되는 동일 로터스 123 프로그램은 54.9 밀리초의 타이머 틱간에 보다 빈번하게 루프를 반복한다. 따라서, INT16h 호출 대부분은 언제나 그것들이 모두 발생할때 타이머틱당 거의 40회 발생하고, 수직 백색 라인은 액티브 연산이 행해질때 타이머 틱당 0회를 나타낸다. 커브 아래의 그래프 부분은 불필요한 전력이 마이크로 프로세서를 작동시킴으로써 불필요하게 소비될 때의 시간을 나타내고, 이로인해 마이크로 프로세서를 턴오프시키는 알고리즘이 요망된다.
보다 정교한 알고리즘은 본 발명의 전력 관리 능력을 향상시킨다. 마이크로 프로세서를 턴오프시킴으로써 제거될 수 있는 대부분 루프 활동을 하드웨어로 하여금 검출할 수 있도록 하고 유용한 연산이 행해질때 마이크로 프로세서로 하여금 턴오프 되게하지 않도록 하는 그러한 알고리즘은 한 타이머 틱 시간 간격 동안의 INT16h 호출 횟수와 그 이전 타이머틱 시간 간격 동안의 INT16h 호출 횟수를 비교하는 것이다. 비교한 이들 횟수가 동일하다면(또는 단지 계수 1 만큼만 차이난다면), 컴퓨터는 루프내에 있을 것이고 마이크로 프로세서는 턴오프 될 수 있다. 그 횟수가 약 4의 최소값 보다 큰 동일한 INT16h 호출 횟수를 갖는 두개의 시간 기간을 찾아내는 것은 타이머 틱시간 간격 동안 초과되어야만 하는 절대 계수값을 제공하는 것 이상으로 훨씬 바람직한 마이크로 프로세서를 턴오프시키기 위한 알고리즘이다. 마이크로 프로세서가 에러로 턴오프되지 않을 것을 보장하고 단지 소량의 추가 전력만을 사용하는 또 다른 알고리즘은 INT16h 호출 횟수가 단지 1 만큼 차이나는 세가지 간격의 스트링을 요구하는 것을 포함한다.
그러나, 컴퓨터는 완전하게 턴오프될 필요가 없다. 키누름을 대기하는 응용 프로그램의 경우, 컴퓨터의 모든 구획은 영상 디스플레이를 제외하고 턴오프된다. 따라서 컴퓨터는 디스플레이 모드 상태에 있고 키가 주기적으로 눌러지거나 또는 통신이 송신 및 수신됨에 따라 사용자에게 계속해서 온 상태로 나타난다. 주어진 보다 긴 시간 즉 거의 4분동안 어떤 활동도 계속되지 않는다면, 영상 디스플레이는 턴오프되고 컴퓨터는 오프 모드 상태에 있게 된다.
본 발명에 따르면, 어떤 애플리케이션이 ROM BIOS 키보드 서비스의 제어를 인계받는 경우 제어 프로그램 소프트웨어를 통보하는 하드웨어 회로를 제공함으로써 유해하게 작용하는 응용 프로그램으로 인해 직면한 문제점이 해결된다. 이 방법은 소프트웨어 인터럽트가 키보드 서비스를 액세스하도록 사용된 종래 IBM PC-XT 명세서에 의해 정의되는 특정 고정 메모리 위치를 모니터하는 하드웨어를 구비함으로써 그리고 만일 이것이 발생한다면 ROM BIOS에 경보를 냄으로써 달성된다.
[전력 관리에 관한 제5도의 플로우 챠트]
본 발명에 따른 전력 관리 제어 프로그램은 제5도에서 플로우 차트 형태로 예시되어 있다. 제5도에 도시된 바와같이, 플로우 챠트의 상부에 있는 시스템은 연산 모드(10)에 있다. 컴퓨터는 다양한 이벤트에 의해 연산 모드로 변환될 수 있다. 신규한 제어 프로그램은 첫째로 마스크불가능 인터럽트(102)(NMI)로 하여금 컴퓨터를 연산 모드(10)로 위치시키도록 결정하는 컴퓨터 회로를 모니터한다. 제어 프로그램의 이부분은 NMI 지명기(dispatcher)(134)하고 일컬어진다. 제어 프로그램의 전력 관리 부분인 경우에, NMI 지명기(134)가 찾는 활동에는 5가지가 있다.
바람직한 본 발명의 실시예에서 이 다섯가지 활동은 트랩(124)(제4도 참조)으로부터 소프트웨어 인터럽트(122)(즉, INT16h), 타이머 틱 인터럽트(100)(제3도 참조), 온/오프 스위치(114)(또한 제3도 참조)의 작동으로부터 인터럽트(116), 키보드 인터럽트(104)(INT9)(또한 제3도 참조) 및 스크린 기입 인터럽트(176)(즉, INT10)이다. 온/오프 스위치(114)는 상기 기술된 바와같다. 상기 기술된 바와같은 타이머 틱 인터럽트(100)는 매 54.9 밀리초마다 제공되고(즉, 1초당 18.2회) 상기 기술된 바와 같은 분당 거의 1틱으로 프로그램 가능하게 절환될 수 있다.
키보드 인터럽트(104)는 키가 눌려지고, 해제되고 또는 반복될 정도로 오래 유지될 때마다 제3도의 키보드 제어 회로(106)에 의해 발생한다. 본 발명의 양호한 실시예에 따라 키보드 제어 회로(106)(종래의 시스템에서는 분리 장치에 의해 제공됨)는 컴퓨터의 ASIC에 제공된다. 상기 키보드 신호의 스캐닝(scanning) 및 디코딩 모두는 ASIC에 수행되는 것이 바람직하다.
인터럽트 INT16h 트랩(122)에 대한 응답은 다음과 같이 동작한다. 인터럽트 INT16h 트랩(122)을 수신한 후 제어 프로그램은 상기 INT16h 지시를 송출할 경우 소프트웨어 프로그램이 달성하고자 했던 기능이 무슨 기능인지를 판정한다. 2가지의 가능한 첫번째 기능은 키누름을 대기하는 것이고, 두번째 기능은 키보드 상태(142)를 얻는 것이다. 키누름 대기(140)의 경우에 있어서 상기 시스템은 디스플레이가 온되고, 컴퓨터의 다른 하드웨어 소자가 오프되는 디스플레이 모드(16)로 직접 변환될 수 있다. 상기 경우는 컴퓨터가 연산 동작을 하지 않고, 그 컴퓨터의 사용자가 타이핑 동작을 대기하고 있는 경우에 발생한다. INT16h이 키보드 상태(142)를 얻기 위해 사용되는 경우에 있어서 상기 제어 프로그램은 계수기(144)를 증가시킨다. 이 계수기(144)는 최종 타이머틱(100) 이후에 INT10h 지시를 이용하여 키보드 상태(142)가 체크된 횟수를 계수한다. 문제점은 상기 응용 프로그램이 저강도 처리 모드 또는 제로 강도 처리 모드 상태에 있으면 상기 키보드 상태(142)가 여러번 체크된다는 점이다. 그러므로 짧은 시간 기간내에 많은 계수값이 계수기(144)에서 누산될 것이다. 이것은 많은 양의 처리를 수행하지 않음을 나타내는 것이다. 그러나 전술한 바와 같이 이전 시간 간격의 계수의 수와 최종 타이머틱(100) 이후의 계수의 수를 비교하는 것이 바람직한데, 이는 서로 다른 소프트웨어 프로그램이 키보드 상태 점검을 위해 서로 다른 폭넓은 비율의 INT16h 인터럽트를 갖기 때문이다. 따라서 단계(144)에서 계수기를 갱신한 후 상기 제어 프로그램은 응용 프로그램이 다음번 지시로 처리되는 연산모드(10)로 컴퓨터를 복귀시킨다. 많은 NMI(102) 인터럽트는 INT16h 인터럽트(122)로 판명되고, 상기 NMR(102)인터럽트가 상태 요구(142)가 되고 계수기는 다시 갱신되어 컴퓨터를 연산 모드로 복귀시킨다. 그럼에도 불구하고 일부 시간 기간 이후 NMI(102) 인터럽트는 타이머틱(100)으로부터 타이머 인터럽트에 의해 발생된 것으로 NMI 지명기(134)에 의해 판명될 것이다. 이러한 타이머 인터럽트(100)로 인해 컴퓨터는 프로그램의 일부를 입력하거나 사용자가 수행하고자 하는 기능을 간섭하지 않고 실행중인 프로그램을 정지하고 마이크로 프로세서를 턴오프 시키기 위한 것이 안전한지의 여부를 판명한다.
다음은 타이머틱 인터럽트(100)에 관한 제어 프로그램의 동작을 기술한다. 상기 NMI 지명기(134)는 인터럽트가 타이머 인터럽트(100)인지를 판정한 이후 단계(148)에서 제어 프로그램은 컴퓨터가 디스플레이(저전력) 모드(16) 또는 오프 모드(12)인지의 여부를 판정한다. 이때 컴퓨터가 디스플레이 모드(10)에 있으면 단계(150)에서 제어 프로그램은 상기 컴퓨터가 2 내지 4분 이상의 소정의 시간 기간 동안 상기 디스플레이 모드(16)에 있었는지를 판정한다. 상기 제어 프로그램이 컴퓨터가 오프 모드(12)에 있었음을 판정하면 이 제어 프로그램은 컴퓨터를 오프 모드(12)로 복귀시킨다. 만약 상기 시스템이 디스플레이 모드(16)에 있으면 스텝(150)은 4분 미만동안 디스플레이 모드에 있고 이때 상기 시스템은 상기 디스플레이 모드(16)에 유지된다. 컴퓨터가 4분 이상의 디스플레이 모드에 있고 이때 상기 시스템은 상기 디스플레이 모드(16)에 유지된다. 컴퓨터가 4분 이상의 시간 기간 동안 상기 디스플레이 모드(16)에 있었다면 이것은 상기 컴퓨터를 연산모드(10)로 변환하는 키누름 또는 다른 활동이 4분동안 발생하지 않아, 제어 프로그램이 상기 오프 모드(12)로 시스템을 변환시킨다는 것을 의미한다. 제1도와 관련하여 전술한 상기 오프 모드(12)는 디스플레이가 오프되고, 마이크로 프로세서가 오프되며, 컴퓨터의 다른 구획들이 오프되고, 타이머는 분당 1타이머틱으로 둔화되는 상태를 말한다. 오프모드에서 타이머 인터럽트(100)(제3도 참조)는 연산모드(10)을 통해 제5도의 제어 프로그램을 순환시키고 분당 한번꼴로 상기 오프모드로 복귀한다.
타이머 인터럽트(100)가 제어 프로그램으로 하여금 컴퓨터가 저전력 모드(제1도에서 도시한 바와 같이 연선모드, 통신모드 또는 DNA 모드에 있음)에 있지 않음을 단계(148)에서 판정하도록 하면 이때 단계(154)에서는 최종 타이머 인터럽트(100) 이후 INT16h 인터럽트의 수가 최소수 보다 큰지를 판정하도록 INT16h 계수기가 검사된다. 현재 바람직한 최소의 수는 5이다. 이러한 최소의 인터럽트 수 5를 초과하면 상기 제어 프로그램은 단계(184)에서 방금 완료된 최종 타이머틱 시간 간격에서의 INT16h 인터럽트 수와 이전 시간 간격에서의 INT16h 인터럽트 수 사이에서 비교한다. 이와는 달리 제어 프로그램은 여러개의 연속하는 시간 간격에서의 INT16h 인터럽트 수를 비교할 수도 있다. 계수기는 여러개의 연속적인 타이머틱 시간 간격에서의 INT16h 계수의 수를 저장하고, 제어 프로그램은 매 타이머 인터럽트(100)에 대해 한번 꼴로 상기 비교를 계속하여 수행한다.
단계(184)에서 제어 프로그램이 INT16h 계수기 내의 INT16h 인터럽트 수와 이전 시간 간격내의 인터럽트 수가 상이한 것(반복 활동의 발생 횟수가 작음을 나타냄)으로 판정하면 비록 INT16h 인터럽트 수가 5와 같은 최소의 수보다 클지라도 그 제어 프로그램은 마이크로 프로세서 클럭을 턴오프 시키지 않을 것이고 응용 프로그램의 실행을 중지시키지는 않지만 단계(181)으로 이동할 것이다.
스렙(181)에 관해서 계류중인 미합중국 출원번호 제 07/374,514호에 개시되어 있으며, 본원 명세서에 참고로 포함된 전력 절약 장치는 연산 요구가 집중될때만 시스템의 전원 전압을 2 내지 3볼트 영역의 저전압에서 5볼트 까지의 전압으로 절환시킨다. 고전압은 현재 약 2MHz에서 7MHz로 가속되어 마이크로 프로세서 클럭을 구동시키는 전압 제어 발진기로 하여금 보다 고속으로 실행되도록 한다. 이러한 고속의 연산 속도가 필요하지 않은 경우 컴퓨터는 저전력 저속으로 작동함으로써 상당한 전력이 절약된다. 컴퓨터가 처음에 연산모드(10)로 진행되면 전압은 저레벨 상태에 있게 된다. 전력 관리 타이머 안러럽트(100)가 발생할 때마다 도달하는 스텝(81)에서 컴퓨터가 R초(현재는 1.5초가 바람직함) 보다 큰 연산모드에 있었는지의 여부를 판정한다. 컴퓨터가 1.5초 미만의 연산모드(10)에 있었다면 연산 모드(10)에 있어서 응용 프로그램을 제어하도록 복귀하며 시스템 전원 장치는 저전압에서 유지된다. 컴퓨터가 1.5초 이상의 연산모드에 있었다면 스텝(183)에서 제어 프로그램은 시스템 전원장치의 전압을 5볼트로 증가시키는 회로를 동작시킨다. 이러한 동작으로 인해 마이크로 프로세서 클럭을 구동시키는 전압 제어 발진기가 가속되어 사용자에게 과중한 연산 요구에 대해 신속한 응답을 제공한다.
2 또는 3개의 연속적인 시간 간격내에서 INT16h 인터럽트의 수가 기껏해야 계수 1(라운드 오프에러)만큼 차이난다면 스텝(184)에서는 그 허용 한계가 OK인 것으로 판정된다(그 활동은 반복되는 것으로 판정된다).
INT16h 호출을 사용하는 응용 프로그램은 정지되면 안되는 다른 연산치와 상당히 빈번히 혼합하게 된다. 일부 이들의 사용으로 인해 2 또는 3개의 연속적인 타이머틱 시간 간격동안 INT16h 호출을 비교하는 상기 알고리즘이 동일한 수의 호출을 발생시키고 다른 시험이 이루어지지 않을 경우 동작중에 상기 마이크로 프로세서를 실수로 턴오프시키는 정상 패틴으로 INT16h 호출이 발생될 것이다. 이같은 활동의 예로는 스크린 및 대량 저장 메모리에 기입하는 것, 통상 포트로부터 전송 및 수신하는 것등이 있다. 연산하는 동안 컴퓨터의 잘못된 턴오프를 예방하기 위해 제어 프로그램은 이를 활동을 검사하게 된다. 제어 프로그램의 변동은 상이한 특정 활동을 검사한다. 제5도에 도시된 제어 프로그램은 2 또는 3개의 연속적인 시간 간격이 동일수의 INT16h 호출을 가짐을 단계(184)에서 판정한 후 스트린 기입 명령(영상 액세스 명령)이 타이머 인터럽트(100)의 최종 발생 이후에 제공되었는지를 알기 위해 단계(186)에서 검사한다. 제4도와 관련하여 논의되는 제5도의 블럭도 상의 변화는 마이크로 프로세서 클럭이 오프되고 실행하는 컴퓨터 프로그램이 정지되는 저전력 디스플레이 모드(16)로 프로그램이 이동하기 전에 각 질문에 “no(아니오)”로 응답하면서 디스크 또는 다른 메모리 액세스 및 통신 포트 액세스에 대한 추가의 시험을 포함한다. 상이한 프로그램에 의해 이루어지는 INT16h 호출의 주파수 테이블을 형성하고, INT16h 호출의 수가 상기 테이블 값과 매칭될때 턴오프하기 위해 또다른 변화가 제공된다. 이와 유사하게, 응용 프로그램의 시작부에서 제어 프로그램은 INT16h 호출 주파수의 히스토리를 형성하도록 개시될 수 있고 현재 주파수가 안정값과 같음을 상기 히스토리가 나타날때 INT16h 호출의 특정 주파수에 대한 응답을 개시할 수 있다. 마이크로 프로세서 클럭이 오프될 때 메모리의 내부 및 외부로 수량을 이동하는데 필요한 트랜지스터, 및 소프트웨어 명령에 응답하는데 필요한 다른 하드웨어 동작이 정지되어 전력의 사용이 현저하게 감소된다.
제어 프로그램에 있어서 응용 프로그램이 스크린(영상 액세스)에 기입되거나 또다른 변화로서 대량의 메모리에 기입 또는 대량 메모리를 판독하고 통신 포트에 기입 또는 통신 포트로부터 판독(특정 실시예에서 바람직할 수 있는 다른 테스트)하고 있음을 제어 프로그램이 단계(186)에서 판정하는 경우 제어 프로그램은 연산모드(10)로 복귀하고, 응용 프로그램은 다시 실행한다.
인터럽트(116)는 상술한 바와 같이 온/오프 스위치(114)(제3도 참조)에 의해 발생한다. 사용자가 온/오프 스위치를 동작시킬때 NMI 인터럽트(116)가 발생한다. 스텝(156)에서 판정되는 바와 같이 온/오프 스위치의 작동은 컴퓨터가 온 상태에서 턴오프되는 중이거나 오프 상태에서 턴온되는 중임을 의미한다. 따라서, 단계(156)에 도시된 바와 같이 컴퓨터 상태가 온되어 있는 경우 스위치를 작동하면 컴퓨터는 오프모드(12)로 변환된다. 컴퓨터가 단계(156)에서 오프 상태인 경우 온/오프 스위치를 작동시키면 타이머틱 회로는 54.9 밀리초마다 타이머틱이 제공되도록 단계(158)에서 재프로그래밍 된다(상술한 바와 같이 다른 시간 간격이 선택될 수 있다). 시각 정보를 유지하는 것과 관련한 메모리 위치는 분당 한번 대신에 매 54.9 밀리초 마다의 타이머틱으로의 변위를 반영시키도록 갱신되고 이때 컴퓨터는 연산모드(10)로 복귀한다. 시각 정보에 대한 갱신은 계수기가 최종 클리어된 이후 경과한 54.9 밀리초 시간 기간을 계수하고 누산하는 계수기를 판독함으로써 수행된다. 이 계수기는 1024 시간 기간(56.2초)마다 한번 바람직하게 클리어된다.
전력 관리 시스템과 관련된 다음 인터럽트는 키보드 인터럽트(104)로서 바람직한 INT16h 인터럽트이다. 전술한 바와 같이 인터럽트(104)는 키가 눌려지거나 또는 해제될때 키보드 제어회로(106)(제3도 참조)에 의해 발생한다. 키보드 인터럽트(104)의 발생시 상술한 INF16h 계수기(144)는 단계(100)에서 리세트된다. 그런다음 키입력이 단계(102)에서 컴퓨터에 의해 처리되고, 제어 기능은 연산모드(10)의 응용 프로그램으로 복귀한다. 점선(164, 166)으로 도시한 바와 같이 오프모드(12) 및 디스플레이 모드(16)는 시스템 타이머틱 인터럽트(100)에 의해 결정된 바와 같이 NMI 지명기(134)로 제어 기능을 주기적으로 복귀시킨다. 제5도의 전력 관리 시스템의 실시예와 관련한 최종 인터럽트는 스크린 기입 INT10 인터럽트(176)이다. 상기 인터럽트(INT10)는 표준 BIOS 호출로서 스크린 기입을 발생시킨다. 초기에 논의된 블럭(186)에서 하드웨어에 의해 테스트되는 영상 액세스 호출에 의해 행해진 바와같이 상기 인터럽트(INT10)로 인해 BIOS는 스크린에 액세스한다. 다른 실시예는 INT10 인터럽트 호출에 응답하는 것이 바람직하지 않지만 스텝(180)에서 직접 영상 액세스를 검출하지는 않는다. 실제로 직접 영상 액세스가 스텝(186)에서 검출되면 INT10 호출을 검출하는 것은 필요하지 않지만 타이머 인터럽트(100)를 대기하기 전에 빠른 응답을 제공하는 것이 바람직하다.
최종적으로 컴퓨터를 연산모드(10)로 변환하기 위한 수동 수단이 제공된다. 선택된 실시예가 상당한 양의 전력 절약을 발생시키는 파라메타를 갖는다면 본 발명의 전력 관리 시스템에 의해 실수로 잘못하여 차단될 가능성이 있는 프로그램이 있다. 상기 프로그램을 연속적으로 실행하기 위하여 컴퓨터는 예컨대 키스트로크의 조합과 같이, 본 발명의 전력 관리 기능을 디스에이블 시키기 위한 수단을 포한한다. 이러한 디스에이블 수단은 사용자가 전력 관리 시스템과 관련한 문제에 접하게 될때만 바람직하게 사용된다. 일실시예에서 키누름 또는 키조합으로 인해 전력 관리가 무시될 수 있다. 오버 라이딩(over riding)은 타이머 인터럽트(100)가 타이머(98)에 의해 발생되는 타이머 인터럽트(100)를 디스에이블 시키므로써 상기 실기예에서 달성될 수 있다.
본 발명에 따르면 전술한 바와 같은 제어 프로그램은 어셈블리언어로 쓰여지고 컴퓨터 마이크로 프로세서와 관련된 ROM에 설치되는 것이 바람직하다. 이러한 바람직한 어셈블리언어는 통상 인텔 8086계열의 마이크로 프로세서용으로 사용되고 있다.
본 발명의 상술한 설명은 예시한 것이지 제한적이지는 않다. 본 발명의 다른 실시예는 본 발명의 견지에서 볼때 이 분야에 종사하는 통상의 지식을 가진 사람에게 명백히 이해될 것이다. 본 발명은 IBM PC XT 호환 컴퓨터 또는 IBM PC 호환 컴퓨터로 제한되지는 않는다. 또한 상술한 바와 같이 본 발명에 따른 특정 하드웨어 및 소프트웨어의 실시예는 제한하기 위한 것이 아니라 예시적인 것이다. 본 발명의 다른 실시예에서 다소간의 기능이 하드웨어 및/또는 소프트웨어에 제공되고 있다.

Claims (22)

  1. 수동 입력 장치로부터 입력된 데이타를 수신하기 위해 인터럽트를 발생시키는 최소 하나의 응용 프로그램을 실행하는 프로세서와, 상기 프로세서에 데이타를 입력하는 수동입력장치를 갖는 컴퓨터에 의해 소비되는 전력을 절감하는 방법에 있어서, 상기 응용 프로그램을 실행하는 동안, 소정지속기간의 제1시간 간격중에 상기 응용프로그램에 의해 발생된 제1인터럽트 횟수를 카운트하는 단계와; 동일지속 기간의 제2시간 간격 중에 그리고 상기 제1시간 간격에 후속하여 상기 응용프로그램에 의해 발생된 제2 인터럽트 횟수를 카운트하는 단계와; 상기 제1인터럽트 횟수가 상기 제2인터럽트 횟수의 소정값 범위내에 존재하는 경우 상기 프로세서에 의해 소비되는 전력을 절감하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 동일 지속 기간의 제3시간 간격 중에 그리고 상기 제2시간 간격에 후속하여 상기 응용 프로그램에 의해 발생된 제3인터럽트 횟수를 카운트하는 단계와; 상기 제3인터럽트 횟수가 상기 제1인터럽트 횟수 및 제2인터럽트 횟수의 소정값 범위내에 존재하는 경우 상기 프로세서에 의해 소비되는 전력을 절감하는 단계를 포함하는 것으로 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 전력 절감 단계는 단기 상기 제1인터럽트 횟수가 제2지속기간의 1/18의 시간 간격당 최소 4회이고, 상기 제2인터럽트 횟수중 하나의 소정값 범위 내에 존재하는 경우에만 수행되는 것을 특징으로 하는 방법.
  4. 제1항에 있어서, 상기 전력 절감 단계는 상기 프로세서를 제어하기 위해 공급되는 클록신호를 턴오프시키는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서, 상기 인터럽트는 상기 수동 입력 장치의 상태를 요구하는 특징으로 하는 방법.
  6. 제4항에 있어서, 상기 전력 절감단계 이후 상기 클록 신호를 외부에서 턴오프시키는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  7. 제4항에 있어서, 상기 전력 절감단계이후 상기 수동입력장치로부터의 입력검출에 응답하여 상기 클록신호를 턴온시키는 단계를 추가로 것을 특징으로 하는 방법.
  8. 제1항에 있어서, 상기 수동입력장치는 키보드인 것을 특징으로 하는 방법.
  9. 제1항에 있어서, 상기 프로세서의 동작주파수를 결정하기 위해 전압워존 클록신호를 상기 프로세서에 공급하는 단계와; 제1동작주파수의 클록신호를 상기 프로세서에 공급하기 위해 제1전압 레벨을 공급하는 단계와; 제2동작주파수의 클록신호를 상기 프로세서에 공급하기 위해 상기 제1전압레벨보다 낮은 제2전압레벨을 공급하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  10. 수동 입력 장치로부터 입력된 데이타를 수신하기 위해 인터럽트를 발생시키는 최소 하나의 응용 프로그램을 실행하는 프로세서와, 상기 프로세서에 데이타를 입력하는 수당입력장치를 갖는 컴퓨터에 의해 소비되는 전력을 절감하는 장치에 있어서, 상기 응용 프로그램을 실행하는 동안, 소송지속기간의 제1시간 간격중에 상기 응용프로그램에 의해 발생된 제1인터럽트 횟수를 카운트하는 수단과; 동일 지속기간의 제2시간 간격중에 그리고 상기 제1시간 간격에 후속하여 상기 응용 프로그램에 의해 발생된 제2인터럽트 횟수를 카운트하는 수단과; 상기 제1횟수가 상기 제2횟수의 소정값 범위 내에 존재하는 경우 상기 프로세서에 의해 소비되는 전력을 절감하는 수단을 포함하는 것을 특징으로 하는 장치.
  11. 제10항에 있어서, 상기 프로세서를 제어하기 위한 클록신호를 발생시키는 타이밍 신호 발생기를 추가로 포함하고, 상기 절감 수단은 상기 타이밍 신호 발생기를 턴오프시키는 수단을 구비하는 것을 특징으로 하는 장치.
  12. 제10항에 있어서, 상기 타이밍 신호 발생기는 전압 제어 발진기를 포함하는 것을 특징으로 하는 장치.
  13. 다수의 클록 주파수로 프로세서를 동작시키는 방법에 있어서, 가변 전원 전압 레벨에 의해 결정된 주파수의 클록신호를 상기 프로세서에 공급하는 단계와; 대응하는 제1클록 주파수로 상기 프로세서를 동작시키기 위해 제1전원 전압 레벨을 공급하는 단계와; 상기 프로세서가 상기 제1클록 주파수로 동작하고 있었던 경과시간의 지속기간을 판정하는 단계와; 상기 경과시간의 지속기간의 소정의 시간양을 초과한 것으로 판정되자마자, 상기 제1클록 주파수보다 높은 제2클록 주파수로 상기 프로세서를 동작시키기 위해 상기 제1전원 전압 레벨보다 높은 제2전원 전압 레벨을 공급하는 단계를 포함하는 것을 특징으로 하는 방법.
  14. 제13항에 있어서, 상기 제1전원 전압 레벨은 약 2-3볼트의 범위내에 존재하고, 상기 제2전원 전압 레벨은 최소 약 5볼트인 것을 특징으로 하는 방법.
  15. 제13항에 있어서, 상기 제2클록 주파수는 상기 제1클록 주파수보다 3배 이상 큰 것을 특징으로 하는 방법.
  16. 제13항에 있어서, 상기 프로세서의 동작을 중지시키기 위해 약 0볼트인 제3전원 전압 레벨을 공급하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  17. 제16항에 있어서, 상기 프로세서는 수동입력장치를 포함하는 컴퓨터의 일부이고, 상기 제3전원 전압 레벨 공급단계는 어떠한 컴퓨터 활동이나 수동입력 장치활동도 발생되지 않은 시간의 지속기간을 판정하는 단계와; 상기 판정된 시간의 지속 기간이 소정의 시간양을 초과하는 경우 제3전원 전압 레벨을 공급하는 단계를 포함하는 것을 특징으로 하는 방법.
  18. 제13항에 있어서, 상기 클록 신호를 프로세서에 공급하는 제1단계 이전에 상기 프로세서에 연결된 디스플레이 장치에 대해 전력을 유지하면서, 약 0주파수의 클록 신호를 상기 프로세서에 공급함으로써 상기 프로세서의 동작을 중지시키는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  19. 각각의 클록 주파수 프로세서를 클록킹시키기 위한 특정 전원 전압 레벨과 관련이 있는 최소 두개의 클록 주파수로 동작하는 상기 프로세서를 갖는 컴퓨터 시스템용의 전력 장치에 있어서, 상기 프로세서를 클로킹시키기 위해 제1전원 전압 레벨이 제2전원 전압레벨보다 작은, 최소 두개의 상이한 전원 전압 레벨을 발생시키는 전원 전압 회로와; 상기 프로세서가 상기 제1전원 전압 레벨과 관련된 제1클록 주파수로 동작하고 있었던 경과 시간의 지속기간을 판정하는 수단과; 상기 경과 시간의 지속기간이 소정의 시간양을 초과하는 경우 상기 제2전원 전압레벨과 관련있고 상기 제1클록 주파수보다 높은 제2클록 주파수로 상기 프로세서를 동작시키기 위해, 상기 제1전압 레벨대신 상기 프로세서를 클록킹 시키기 위한 상기 제2전원 전압 레벨을 공급하는 상기 전원 전압 회로를 제어하는 수단을 포함하는 것을 특징으로 하는 전력 장치.
  20. 제19항에 있어서, 상기 전원 전압 회로에 동작가능하게 연결되어 최소 두개의 상이한 전원 전압레벨을 수신하고, 상기 프로세서에 연결되어 최소 두개의 클록신호를 상기 프로세서에 공급하기 위한 출력 단자를 갖는 타이밍 신호 발생기를 추가로 포함하고, 상기 최소 두개의 클록신호중 제1클록 신호는 상기 프로세서의 제1클록 주파수로 존재하고 제2클록 신호는 상기 프로세서의 제2클록 주파수로 존재하는 것을 특징으로 하는 전력 장치.
  21. 제20항에 있어서, 상기 타이밍 신호 발생기는 전압 제어 발진기를 포함하는 것을 특징으로 하는 전력장치.
  22. 제19항에 있어서, 상기 컴퓨터 시스템은 상기 프로세서에 연결된 디스플레이 장치를 추가로 포함하고, 상기 전력 장치는 상기 디스플레이 장치에 대해 전력을 유지하면서 약 0주파수의 클록신호를 상기 프로세서에 공급함으로써 상기 프로세서의 동작을 중단시키는 수단을 추가로 포함하는 것을 특징으로 하는 전력 장치.
KR1019910702008A 1989-06-30 1990-06-29 컴퓨터 전력 관리 시스템 KR960003412B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US37344089A 1989-06-30 1989-06-30
US373440 1989-06-30
US373,440 1989-06-30
US43664289A 1989-11-13 1989-11-13
US436,642 1989-11-13
US436642 1989-11-13
PCT/US1990/003730 WO1991000566A1 (en) 1989-06-30 1990-06-29 Computer power management system

Publications (2)

Publication Number Publication Date
KR920702783A KR920702783A (ko) 1992-10-06
KR960003412B1 true KR960003412B1 (ko) 1996-03-13

Family

ID=27006171

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910702008A KR960003412B1 (ko) 1989-06-30 1990-06-29 컴퓨터 전력 관리 시스템

Country Status (8)

Country Link
US (2) US5428790A (ko)
EP (3) EP0749060B1 (ko)
JP (1) JP3406594B2 (ko)
KR (1) KR960003412B1 (ko)
AU (1) AU6031390A (ko)
CA (2) CA2282912C (ko)
DE (3) DE69033149T2 (ko)
WO (1) WO1991000566A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101423409B1 (ko) * 2009-12-22 2014-07-24 노키아 코포레이션 서브 시스템을 통해 에너지 관리를 수행하는 방법 및 장치

Families Citing this family (188)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222239A (en) * 1989-07-28 1993-06-22 Prof. Michael H. Davis Process and apparatus for reducing power usage microprocessor devices operating from stored energy sources
US6158012A (en) * 1989-10-30 2000-12-05 Texas Instruments Incorporated Real-time power conservation and thermal management for computers
US5218704A (en) * 1989-10-30 1993-06-08 Texas Instruments Real-time power conservation for portable computers
US5396635A (en) * 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
US5768613A (en) * 1990-07-06 1998-06-16 Advanced Micro Devices, Inc. Computing apparatus configured for partitioned processing
US5414860A (en) * 1991-01-29 1995-05-09 International Business Machines Incorporated Power management initialization for a computer operable under a plurality of operating systems
US5410711A (en) * 1991-02-14 1995-04-25 Dell Usa, L.P. Portable computer with BIOS-independent power management
EP0523652B1 (en) * 1991-07-16 1999-02-03 Canon Kabushiki Kaisha Electronic apparatus with resume function
JPH06510616A (ja) * 1991-09-13 1994-11-24 ウォング・ラボラトリーズ・インコーポレーテッド Ms−dosアイドルループを用いる電力節約
JPH05119876A (ja) * 1991-10-25 1993-05-18 Toshiba Corp 電子装置及びその装置に含まれる集積回路
US6343363B1 (en) * 1994-09-22 2002-01-29 National Semiconductor Corporation Method of invoking a low power mode in a computer system using a halt instruction
JP3058986B2 (ja) * 1992-04-02 2000-07-04 ダイヤセミコンシステムズ株式会社 コンピュータシステムの節電制御装置
JP3090767B2 (ja) * 1992-04-02 2000-09-25 ダイヤセミコンシステムズ株式会社 コンピュータシステムの節電制御装置
US5423045A (en) * 1992-04-15 1995-06-06 International Business Machines Corporation System for distributed power management in portable computers
JPH05297993A (ja) * 1992-04-16 1993-11-12 Dia Semikon Syst Kk マイクロプロセッサの駆動制御装置
FR2690768A1 (fr) * 1992-04-30 1993-11-05 Innovatron Sa Système d'échange de données entre un objet portatif à microcircuit électronique et un dispositif de transfert à tension d'alimentation de fonctionnement adaptative.
US5821924A (en) * 1992-09-04 1998-10-13 Elonex I.P. Holdings, Ltd. Computer peripherals low-power-consumption standby system
US5613135A (en) * 1992-09-17 1997-03-18 Kabushiki Kaisha Toshiba Portable computer having dedicated register group and peripheral controller bus between system bus and peripheral controller
US5339445A (en) * 1992-11-16 1994-08-16 Harris Corporation Method of autonomously reducing power consumption in a computer sytem by compiling a history of power consumption
US5586307A (en) * 1993-06-30 1996-12-17 Intel Corporation Method and apparatus supplying synchronous clock signals to circuit components
US6031867A (en) 1993-07-02 2000-02-29 Multi-Tech Systems, Inc. Modem with firmware upgrade feature
US5548763A (en) * 1993-07-26 1996-08-20 International Business Machines Corporation Desk top computer system having multi-level power management
KR950010897B1 (ko) * 1993-08-06 1995-09-25 삼성전자주식회사 컴퓨터 시스템에서 컴퓨터 주변장치의 전원관리신호 발생방법 및 제어장치
US5600839A (en) * 1993-10-01 1997-02-04 Advanced Micro Devices, Inc. System and method for controlling assertion of a peripheral bus clock signal through a slave device
DE69517712T2 (de) * 1994-01-10 2001-03-08 Sun Microsystems Inc Verfahren und Vorrichtung zur Reduzierung der Leistungsaufnahme in einem Rechnersystem
US5511203A (en) * 1994-02-02 1996-04-23 Advanced Micro Devices Power management system distinguishing between primary and secondary system activity
EP0666529B1 (en) * 1994-02-02 2004-10-06 Advanced Micro Devices, Inc. Power management in an asynchronus receiver/transmitter
AU2471395A (en) * 1994-05-10 1995-11-29 Apple Computer, Inc. A method and apparatus for controlling power for subsystems
US7167993B1 (en) 1994-06-20 2007-01-23 Thomas C Douglass Thermal and power management for computer systems
US5752011A (en) 1994-06-20 1998-05-12 Thomas; C. Douglas Method and system for controlling a processor's clock frequency in accordance with the processor's temperature
US5675810A (en) * 1994-09-07 1997-10-07 Compaq Computer Corporation Reducing power usage in a personal computer
US5625807A (en) * 1994-09-19 1997-04-29 Advanced Micro Devices System and method for enabling and disabling a clock run function to control a peripheral bus clock signal
US5754869A (en) * 1994-10-04 1998-05-19 Intel Corporation Method and apparatus for managing power consumption of the CPU and on-board system devices of personal computers
ATE205616T1 (de) * 1994-10-19 2001-09-15 Advanced Micro Devices Inc Integrierte prozessorsysteme für tragbare informationsgeräte
US5619531A (en) * 1994-11-14 1997-04-08 Research In Motion Limited Wireless radio modem with minimal interdevice RF interference
AU4519596A (en) * 1994-12-22 1996-07-10 Intel Corporation Power budgeting with device specific characterization of power consumption
US5553236A (en) * 1995-03-03 1996-09-03 Motorola, Inc. Method and apparatus for testing a clock stopping/starting function of a low power mode in a data processor
US5631852A (en) * 1995-05-22 1997-05-20 Eteq Microsystems, Inc. Smart cooling security system
US5926404A (en) * 1995-05-23 1999-07-20 Dell Usa, L.P. Computer system with unattended operation power-saving suspend mode
US5805923A (en) * 1995-05-26 1998-09-08 Sony Corporation Configurable power management system having a clock stabilization filter that can be enabled or bypassed depending upon whether a crystal or can oscillator is used
JP3520611B2 (ja) * 1995-07-06 2004-04-19 株式会社日立製作所 プロセッサの制御方法
US5802379A (en) * 1995-08-24 1998-09-01 Norand Corporation Battery depletion management in portable computing devices having PCMCIA card loading
US5745375A (en) * 1995-09-29 1998-04-28 Intel Corporation Apparatus and method for controlling power usage
DE69521616T2 (de) * 1995-11-28 2001-10-18 Bull Sa Speicherzugangsbegrenzer für dynamischen RAM
US5894578A (en) * 1995-12-19 1999-04-13 Advanced Micro Devices, Inc. System and method for using random access memory in a programmable interrupt controller
US5652895A (en) * 1995-12-26 1997-07-29 Intel Corporation Computer system having a power conservation mode and utilizing a bus arbiter device which is operable to control the power conservation mode
US5692202A (en) * 1995-12-29 1997-11-25 Intel Corporation System, apparatus, and method for managing power in a computer system
KR100260380B1 (ko) * 1996-01-26 2000-07-01 윤종용 마이크로 프로세서칩의 냉각팬 제어장치 및 그 제어방법
US5784628A (en) * 1996-03-12 1998-07-21 Microsoft Corporation Method and system for controlling power consumption in a computer system
US5825648A (en) * 1996-03-26 1998-10-20 Casio Phonemate, Inc. Backup system for a time of day clock in an electronic device
EP1361507A3 (en) * 1996-05-13 2005-01-19 Micron Technology, Inc. Pseudo-random number generator with low power mode
US5983355A (en) * 1996-05-20 1999-11-09 National Semiconductor Corporation Power conservation method and apparatus activated by detecting specific fixed interrupt signals indicative of system inactivity and excluding prefetched signals
US6385734B2 (en) 1996-06-03 2002-05-07 Compaq Information Technologies Group, L.P. Portable computer with low power audio CD-player
US5838983A (en) 1996-08-20 1998-11-17 Compaq Computer Corporation Portable computer with low power audio CD-player
US5991883A (en) * 1996-06-03 1999-11-23 Compaq Computer Corporation Power conservation method for a portable computer with LCD display
US5887179A (en) * 1996-06-11 1999-03-23 Motorola, Inc. System power saving means and method
US6798735B1 (en) * 1996-06-12 2004-09-28 Aware, Inc. Adaptive allocation for variable bandwidth multicarrier communication
KR100225057B1 (ko) * 1996-07-23 1999-10-15 윤종용 오디오시스템이 있는 모니터의 전원공급 제어장치 및 그 제어방법
US5742781A (en) * 1996-08-09 1998-04-21 Hitachi America, Ltd. Decoded instruction buffer apparatus and method for reducing power consumption in a digital signal processor
US5953536A (en) * 1996-09-30 1999-09-14 Intel Corporation Software-implemented tool for monitoring power management in a computer system
US5862393A (en) * 1996-10-07 1999-01-19 Lxe, Inc. System for managing power of a computer with removable devices
JP3344544B2 (ja) * 1996-10-22 2002-11-11 株式会社東芝 コンピュータシステム
US5905901A (en) * 1996-10-29 1999-05-18 Micron Electronics Method for adaptive power management of a computer system
TW347501B (en) * 1996-10-29 1998-12-11 Hitachi Ltd Memory and microcomputer
US6085325A (en) * 1996-12-16 2000-07-04 Intel Corporation Method and apparatus for supporting power conservation operation modes
US5996078A (en) * 1997-01-17 1999-11-30 Dell Usa, L.P. Method and apparatus for preventing inadvertent power management time-outs
KR100283572B1 (ko) * 1997-02-24 2001-03-02 윤종용 Osd를 이용한 디스플레이 장치의 dpms 표시 방법
US5919264A (en) * 1997-03-03 1999-07-06 Microsoft Corporation System and method for using data structures to share a plurality of power resources among a plurality of devices
WO1998044405A1 (en) * 1997-03-31 1998-10-08 Intel Corporation Automatic transitioning between acpi c3 and c2 states
US6006285A (en) 1997-04-30 1999-12-21 Compaq Computer Corporation Computer system capable of playing audio CDs in a CD-ROM drive independent of an operating system
US6116767A (en) 1997-04-30 2000-09-12 Compaq Computer Corporation Displaying audio disk track number in portable computer system
US5905900A (en) * 1997-04-30 1999-05-18 International Business Machines Corporation Mobile client computer and power management architecture
US6151681A (en) * 1997-06-25 2000-11-21 Texas Instruments Incorporated Dynamic device power management
US6928559B1 (en) * 1997-06-27 2005-08-09 Broadcom Corporation Battery powered device with dynamic power and performance management
US5878264A (en) * 1997-07-17 1999-03-02 Sun Microsystems, Inc. Power sequence controller with wakeup logic for enabling a wakeup interrupt handler procedure
US5978923A (en) * 1997-08-07 1999-11-02 Toshiba America Information Systems, Inc. Method and apparatus for a computer power management function including selective sleep states
US6170033B1 (en) * 1997-09-30 2001-01-02 Intel Corporation Forwarding causes of non-maskable interrupts to the interrupt handler
DE69841324D1 (de) 1997-10-10 2010-01-07 Daphimo Co B V Llc Teilerloses mehrträgermodem
US20030026282A1 (en) * 1998-01-16 2003-02-06 Aware, Inc. Splitterless multicarrier modem
US6216187B1 (en) 1997-12-01 2001-04-10 Toshiba America Information Systems, Inc. System for powering down a portable computer in a docking station
US6219796B1 (en) * 1997-12-23 2001-04-17 Texas Instruments Incorporated Power reduction for processors by software control of functional units
US6038672A (en) 1998-01-13 2000-03-14 Micron Electronics, Inc. Portable computer with low power CD-player mode
US6085329A (en) * 1998-01-13 2000-07-04 Micron Electronics, Inc. Portable computer with low power CD-player mode
US6445730B1 (en) 1998-01-26 2002-09-03 Aware, Inc. Multicarrier transmission system with low power sleep mode and rapid-on capability
US20040160906A1 (en) * 2002-06-21 2004-08-19 Aware, Inc. Multicarrier transmission system with low power sleep mode and rapid-on capability
US6895448B2 (en) 1998-03-26 2005-05-17 O2 Micro, Inc. Low-power audio CD player for portable computers
US6675233B1 (en) * 1998-03-26 2004-01-06 O2 Micro International Limited Audio controller for portable electronic devices
US6954804B2 (en) * 1998-03-26 2005-10-11 Micro, Inc. Controller for portable electronic devices
US6345363B1 (en) 1998-06-23 2002-02-05 National Semiconductor Corporation Microprocessor core power reduction by not reloading existing operands
KR20100121683A (ko) * 1998-06-26 2010-11-18 어웨어, 인크. 가변 오버헤드 속도를 가진 멀티캐리어 통신 시스템 및 방법
US6202104B1 (en) * 1998-07-28 2001-03-13 Siemens Aktiengesellschaft Processor having a clock driven CPU with static design
US6205518B1 (en) 1998-08-05 2001-03-20 International Business Machines Corporation Apparatus and method for reducing power consumption in a data processor executing an application code
EP1104556B1 (de) * 1998-08-14 2002-11-13 Siemens Aktiengesellschaft Verfahren und anordnung zur taktversorgung prozessorgesteuerter geräte
US6903835B1 (en) * 1998-09-18 2005-06-07 Canon Kabushiki Kaisha Communication apparatus
US6209088B1 (en) 1998-09-21 2001-03-27 Microsoft Corporation Computer hibernation implemented by a computer operating system
US20040095237A1 (en) * 1999-01-09 2004-05-20 Chen Kimball C. Electronic message delivery system utilizable in the monitoring and control of remote equipment and method of same
US6289465B1 (en) 1999-01-11 2001-09-11 International Business Machines Corporation System and method for power optimization in parallel units
EP2330749B1 (en) 1999-01-26 2014-04-30 TQ Delta, LLC Multicarrier transmission system with low power sleep mode and rapid-on-capability
EP1145518B1 (en) * 1999-01-26 2004-11-24 Aware, Inc. Multicarrier transmission system with low power sleep mode and rapid-on-capability
US20060274840A1 (en) * 2005-06-06 2006-12-07 Marcos Tzannes Method for seamlessly changing power modes in an ADSL system
US6778596B1 (en) 1999-03-12 2004-08-17 Aware, Inc. Method and multi-carrier transceiver with stored application profiles for supporting multiple applications
US6667991B1 (en) 1999-03-12 2003-12-23 Aware, Inc. Method for synchronizing seamless rate adaptation
US20040044942A1 (en) * 1999-03-12 2004-03-04 Aware, Inc. Method for seamlessly changing power modes in an ADSL system
US6609204B1 (en) 1999-03-29 2003-08-19 Hewlett-Packard Development Company, L.P. Method and apparatus for locking/unlocking via platform management bus
US6327664B1 (en) 1999-04-30 2001-12-04 International Business Machines Corporation Power management on a memory card having a signal processing element
US6748016B1 (en) 1999-07-16 2004-06-08 Aware, Inc. System and method for transmitting messages between transceivers using electromagnetically coupled signals
KR100626359B1 (ko) 1999-09-10 2006-09-20 삼성전자주식회사 컴퓨터 시스템의 전원 관리 방법
US7100061B2 (en) * 2000-01-18 2006-08-29 Transmeta Corporation Adaptive power control
US6813519B2 (en) 2000-01-21 2004-11-02 Medtronic Minimed, Inc. Ambulatory medical apparatus and method using a robust communication protocol
US6684341B1 (en) * 2000-03-09 2004-01-27 International Business Machines Corporation Method of altering the appearance of an icon of a program to provide an indication to a user that a power management is associated with the particular program
US6785829B1 (en) * 2000-06-30 2004-08-31 Intel Corporation Multiple operating frequencies in a processor
JP3908445B2 (ja) * 2000-08-01 2007-04-25 富士通株式会社 電子機器
US20070245165A1 (en) * 2000-09-27 2007-10-18 Amphus, Inc. System and method for activity or event based dynamic energy conserving server reconfiguration
US7822967B2 (en) 2000-09-27 2010-10-26 Huron Ip Llc Apparatus, architecture, and method for integrated modular server system providing dynamically power-managed and work-load managed network devices
US7032119B2 (en) 2000-09-27 2006-04-18 Amphus, Inc. Dynamic power and workload management for multi-server system
USRE40866E1 (en) 2000-09-27 2009-08-04 Huron Ip Llc System, method, and architecture for dynamic server power management and dynamic workload management for multiserver environment
US6910139B2 (en) * 2000-10-02 2005-06-21 Fujitsu Limited Software processing apparatus with a switching processing unit for displaying animation images in an environment operating base on type of power supply
US6735707B1 (en) 2000-10-27 2004-05-11 Sun Microsystems, Inc. Hardware architecture for a multi-mode power management system using a constant time reference for operating system support
US7818443B2 (en) * 2000-12-01 2010-10-19 O2Micro International Ltd. Low power digital audio decoding/playing system for computing devices
US7890741B2 (en) * 2000-12-01 2011-02-15 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7526349B2 (en) * 2000-12-01 2009-04-28 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7522966B2 (en) * 2000-12-01 2009-04-21 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7522964B2 (en) 2000-12-01 2009-04-21 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7522965B2 (en) 2000-12-01 2009-04-21 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US6654827B2 (en) 2000-12-29 2003-11-25 Hewlett-Packard Development Company, L.P. Portable computer system with an operating system-independent digital data player
AUPR340401A0 (en) * 2001-02-27 2001-03-22 E R & D Pty Ltd Method and system for controlling electronic content display
JP3870030B2 (ja) * 2001-02-28 2007-01-17 キヤノン株式会社 割込み制御回路を有するインクジェット記録装置および記録装置の制御方法
US7110725B2 (en) * 2001-03-12 2006-09-19 Skyworks Solutions, Inc. Method and apparatus for multipath signal detection, identification, and monitoring for wideband code division multiple access systems
US20030196126A1 (en) 2002-04-11 2003-10-16 Fung Henry T. System, method, and architecture for dynamic server power management and dynamic workload management for multi-server environment
US20060248360A1 (en) * 2001-05-18 2006-11-02 Fung Henry T Multi-server and multi-CPU power management system and method
EP1421490B1 (en) * 2001-08-29 2006-04-12 Analog Devices, Inc. Methods and apparatus for improving throughput of cache-based embedded processors by switching tasks in response to a cache miss
US6661410B2 (en) 2001-09-07 2003-12-09 Microsoft Corporation Capacitive sensing and data input device power management
US7337333B2 (en) * 2001-09-19 2008-02-26 Dell Products L.P. System and method for strategic power supply sequencing in a computer system with multiple processing resources and multiple power supplies
US7325050B2 (en) * 2001-09-19 2008-01-29 Dell Products L.P. System and method for strategic power reduction in a computer system
US7114086B2 (en) 2002-01-04 2006-09-26 Ati Technologies, Inc. System for reduced power consumption by monitoring instruction buffer and method thereof
US6703599B1 (en) * 2002-01-30 2004-03-09 Microsoft Corporation Proximity sensor with adaptive threshold
US7155618B2 (en) * 2002-03-08 2006-12-26 Freescale Semiconductor, Inc. Low power system and method for a data processing system
US20030191973A1 (en) * 2002-04-04 2003-10-09 Johnson Carolynn Rae Temporary user suspension of automatic shutdown
KR20030097485A (ko) * 2002-06-21 2003-12-31 삼성전자주식회사 메모리 보호 장치 및 방법
US6924667B2 (en) 2002-07-19 2005-08-02 O2Micro International Limited Level shifting and level-shifting amplifier circuits
US6954867B2 (en) * 2002-07-26 2005-10-11 Microsoft Corporation Capacitive sensing employing a repeatable offset charge
US7058828B2 (en) 2002-08-12 2006-06-06 Hewlett-Packard Development Company, L.P. System, method and apparatus for the frequency management of blades in a bladed architecture based on performance requirements
US7080263B2 (en) * 2002-08-12 2006-07-18 Hewlett-Packard Development Company, L.P. Voltage management of processors in a bladed system based on number of loaded processors
FI122373B (fi) * 2002-10-24 2011-12-30 Tellabs Oy Menetelmä, järjestelmä ja verkko-olio yhteysvian havaitsemiseksi
TW591372B (en) * 2003-05-15 2004-06-11 High Tech Comp Corp Power control method of portable electronic device, portable electronic device and electronic system
US7079904B1 (en) 2003-09-12 2006-07-18 Itt Manufacturing Enterprises, Inc. Adaptive software management
US7076646B2 (en) * 2003-11-05 2006-07-11 Mitac Technology Corp. Selective quick booting a partial set of devices corresponding to an event code via the BIOS
US20050128296A1 (en) * 2003-12-11 2005-06-16 Skurdal Vincent C. Processing systems and methods of controlling same
JP4660140B2 (ja) * 2004-08-18 2011-03-30 セイコーエプソン株式会社 データ転送制御システム、電子機器及びプログラム
US7388248B2 (en) * 2004-09-01 2008-06-17 Micron Technology, Inc. Dielectric relaxation memory
US7409482B2 (en) * 2004-10-26 2008-08-05 Lenovo (Singapore) Pte, Ltd. Computer and method for on-demand network access control
US8194692B2 (en) * 2004-11-22 2012-06-05 Via Technologies, Inc. Apparatus with and a method for a dynamic interface protocol
GB0510312D0 (en) * 2005-05-20 2005-06-29 Wearable Technologies Ltd Garment
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
TWI268434B (en) * 2005-07-22 2006-12-11 Mitac Tech Corporation Method of quick activation of grouping function selection in multimedia playback system capable of starting the corresponding multimedia playback system quickly
US8799687B2 (en) * 2005-12-30 2014-08-05 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including optimizing C-state selection under variable wakeup rates
US20080098245A1 (en) * 2006-03-22 2008-04-24 G2 Microsystems, Inc. Power management system and method
US7673161B2 (en) * 2006-03-28 2010-03-02 Lenovo (Singapore) Pte. Ltd. Apparatus, system, and method for selecting a waking process
US8117475B2 (en) 2006-12-15 2012-02-14 Microchip Technology Incorporated Direct memory access controller
US9141572B2 (en) 2006-12-15 2015-09-22 Microchip Technology Incorporated Direct memory access controller
US20090106573A1 (en) * 2007-10-18 2009-04-23 Inventec Corporation Power saving method
US8086885B2 (en) * 2007-12-14 2011-12-27 Nokia Corporation Runtime control of system performance
US20090164820A1 (en) * 2007-12-24 2009-06-25 Hewlett-Packard Development Company, L.P. Methods and apparatus for managing power on a computer in the event of a power interruption
US8082459B2 (en) * 2008-02-26 2011-12-20 Microsoft Corporation Power management based on policy
US8086882B2 (en) * 2008-06-29 2011-12-27 Microsoft Corporation Energy measurement techniques for computing systems
TW201025015A (en) * 2008-12-30 2010-07-01 Wistron Corp Method for safely removing an external image processing device for a computer system and related computer system
JP4852625B2 (ja) * 2009-04-16 2012-01-11 東芝テック株式会社 情報処理装置
IT1394342B1 (it) * 2009-06-15 2012-06-06 St Microelectronics Srl "risparmio energetico in sistemi on-chip"
JP5696603B2 (ja) * 2011-06-29 2015-04-08 富士通株式会社 計算機システム、計算機システムの電力制御方法およびプログラム
US9547364B2 (en) 2011-07-29 2017-01-17 Nokia Technologies Oy Method and apparatuses for determining a user attention level using facial orientation detection
US8788863B2 (en) 2011-08-10 2014-07-22 Microsoft Corporation System and method for restoring and/or continuing execution functionality to various processes based on predefined power classifications while transitioning a computing environment from connected standby state to execution state
US9952897B2 (en) * 2011-09-12 2018-04-24 Microsoft Technology Licensing, Llc Managing processes within suspend states and execution states
US8862924B2 (en) 2011-11-15 2014-10-14 Advanced Micro Devices, Inc. Processor with power control via instruction issuance
US9275690B2 (en) 2012-05-30 2016-03-01 Tahoe Rf Semiconductor, Inc. Power management in an electronic system through reducing energy usage of a battery and/or controlling an output power of an amplifier thereof
US9509351B2 (en) 2012-07-27 2016-11-29 Tahoe Rf Semiconductor, Inc. Simultaneous accommodation of a low power signal and an interfering signal in a radio frequency (RF) receiver
FR2996081B1 (fr) * 2012-09-21 2015-08-21 Continental Automotive France Dispositif de maintien dans un mode de veille et de commutation dans un mode actif d'un calculateur de vehicule automobile comportant un microprocesseur
US9223383B2 (en) 2012-12-21 2015-12-29 Advanced Micro Devices, Inc. Guardband reduction for multi-core data processor
US9360918B2 (en) 2012-12-21 2016-06-07 Advanced Micro Devices, Inc. Power control for multi-core data processor
US9722310B2 (en) 2013-03-15 2017-08-01 Gigpeak, Inc. Extending beamforming capability of a coupled voltage controlled oscillator (VCO) array during local oscillator (LO) signal generation through frequency multiplication
US9780449B2 (en) 2013-03-15 2017-10-03 Integrated Device Technology, Inc. Phase shift based improved reference input frequency signal injection into a coupled voltage controlled oscillator (VCO) array during local oscillator (LO) signal generation to reduce a phase-steering requirement during beamforming
US9666942B2 (en) 2013-03-15 2017-05-30 Gigpeak, Inc. Adaptive transmit array for beam-steering
US9184498B2 (en) 2013-03-15 2015-11-10 Gigoptix, Inc. Extending beamforming capability of a coupled voltage controlled oscillator (VCO) array during local oscillator (LO) signal generation through fine control of a tunable frequency of a tank circuit of a VCO thereof
US9837714B2 (en) 2013-03-15 2017-12-05 Integrated Device Technology, Inc. Extending beamforming capability of a coupled voltage controlled oscillator (VCO) array during local oscillator (LO) signal generation through a circular configuration thereof
US9531070B2 (en) 2013-03-15 2016-12-27 Christopher T. Schiller Extending beamforming capability of a coupled voltage controlled oscillator (VCO) array during local oscillator (LO) signal generation through accommodating differential coupling between VCOs thereof
US9716315B2 (en) 2013-03-15 2017-07-25 Gigpeak, Inc. Automatic high-resolution adaptive beam-steering
CN105159435B (zh) * 2015-09-01 2018-08-31 联想(北京)有限公司 一种电子设备及其唤醒方法
KR101777660B1 (ko) * 2016-10-25 2017-09-12 주식회사 티에스피글로벌 플래시 스토리지 디바이스 및 그 동작 제어 방법
DE102019008243B4 (de) * 2019-11-27 2024-03-14 Diehl Metering Gmbh Messeinrichtung

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL163338C (nl) * 1972-03-25 1980-08-15 Philips Nv Elektronische schakeling.
US3909685A (en) * 1974-01-14 1975-09-30 Massachusetts Inst Technology Electrical apparatus
US3941989A (en) * 1974-12-13 1976-03-02 Mos Technology, Inc. Reducing power consumption in calculators
JPS533120A (en) * 1976-06-30 1978-01-12 Canon Inc Control circuit
GB1589781A (en) * 1977-01-10 1981-05-20 Balfour Beatty Ltd Impregnation of fluid-permeable bodies
US4203153A (en) * 1978-04-12 1980-05-13 Diebold, Incorporated Circuit for reducing power consumption in battery operated microprocessor based systems
US4279020A (en) * 1978-08-18 1981-07-14 Bell Telephone Laboratories, Incorporated Power supply circuit for a data processor
DE2911998C2 (de) * 1979-03-27 1985-11-07 Robert Bosch Gmbh, 7000 Stuttgart Stromversorgung für einen Mikroprozessor, der elektrische Einrichtungen, insbesondere eines Kraftfahrzeuges steuert
US4748559A (en) * 1979-08-09 1988-05-31 Motorola, Inc. Apparatus for reducing power consumed by a static microprocessor
US4758945A (en) * 1979-08-09 1988-07-19 Motorola, Inc. Method for reducing power consumed by a static microprocessor
JPS5654529A (en) * 1979-10-08 1981-05-14 Nec Corp Data processor
US4409665A (en) * 1979-12-26 1983-10-11 Texas Instruments Incorporated Turn-off-processor between keystrokes
US4317181A (en) * 1979-12-26 1982-02-23 Texas Instruments Incorporated Four mode microcomputer power save operation
US4317180A (en) * 1979-12-26 1982-02-23 Texas Instruments Incorporated Clocked logic low power standby mode
US4463440A (en) * 1980-04-15 1984-07-31 Sharp Kabushiki Kaisha System clock generator in integrated circuit
GB2080585B (en) * 1980-07-22 1984-07-04 Tokyo Shibaura Electric Co Semiconductor integrated circuit with reduced power consumption
JPS5775335A (en) * 1980-10-27 1982-05-11 Hitachi Ltd Data processor
US4554630A (en) * 1981-08-24 1985-11-19 Genrad, Inc. Control apparatus for back-driving computer memory and forcing execution of idle loop program in external memory
JPS5881334A (ja) * 1981-11-11 1983-05-16 Hitachi Ltd 情報処理装置
JPS58171842A (ja) * 1982-03-31 1983-10-08 Matsushita Electronics Corp 集積回路装置
US4545030A (en) * 1982-09-28 1985-10-01 The John Hopkins University Synchronous clock stopper for microprocessor
JPS59135569A (ja) * 1983-01-24 1984-08-03 Sharp Corp マルチプロセツサの制御方式
JPS59200327A (ja) * 1983-04-26 1984-11-13 Nec Corp 周辺装置の制御方式
JPS59212930A (ja) * 1983-05-18 1984-12-01 Hitachi Ltd 端末主導型電源投入制御方法および制御装置
JPS59231966A (ja) * 1983-06-14 1984-12-26 Tamura Electric Works Ltd 公衆電話機の処理制御方式
US4747041A (en) * 1983-06-27 1988-05-24 Unisys Corporation Automatic power control system which automatically activates and deactivates power to selected peripheral devices based upon system requirement
US4698748A (en) * 1983-10-07 1987-10-06 Essex Group, Inc. Power-conserving control system for turning-off the power and the clocking for data transactions upon certain system inactivity
US4893271A (en) * 1983-11-07 1990-01-09 Motorola, Inc. Synthesized clock microcomputer with power saving
US4669059A (en) * 1983-11-07 1987-05-26 Motorola, Inc. Method and apparatus in a data processor for selectively disabling a power-down instruction
US4780843A (en) * 1983-11-07 1988-10-25 Motorola, Inc. Wait mode power reduction system and method for data processor
US4573117A (en) * 1983-11-07 1986-02-25 Motorola, Inc. Method and apparatus in a data processor for selectively disabling a power-down instruction
US4819164A (en) * 1983-12-12 1989-04-04 Texas Instruments Incorporated Variable frequency microprocessor clock generator
JPS60136412A (ja) * 1983-12-26 1985-07-19 Toshiba Corp 電圧制御型可変周波数パルス発振器
US4825407A (en) * 1984-07-26 1989-04-25 Miles Inc. Method and circuit for controlling single chip microcomputer
US4825358A (en) * 1985-04-10 1989-04-25 Microsoft Corporation Method and operating system for executing programs in a multi-mode microprocessor
US4907150A (en) * 1986-01-17 1990-03-06 International Business Machines Corporation Apparatus and method for suspending and resuming software applications on a computer
US5086387A (en) * 1986-01-17 1992-02-04 International Business Machines Corporation Multi-frequency clock generation with low state coincidence upon latching
US4851987A (en) * 1986-01-17 1989-07-25 International Business Machines Corporation System for reducing processor power consumption by stopping processor clock supply if a desired event does not occur
GB2194082A (en) * 1986-08-18 1988-02-24 Philips Nv Data processing apparatus with energy saving clocking device
JPS63101896A (ja) * 1986-10-17 1988-05-06 株式会社大真空 表示装置の遠隔制御方式
JPS63163912A (ja) * 1986-12-26 1988-07-07 Toshiba Corp マイクロコンピユ−タシステム
US4881205A (en) * 1987-04-21 1989-11-14 Casio Computer Co., Ltd. Compact electronic apparatus with a refresh unit for a dynamic type memory
JPS63314133A (ja) * 1987-06-16 1988-12-22 Sharp Corp 処理装置
US5025387A (en) * 1988-09-06 1991-06-18 Motorola, Inc. Power saving arrangement for a clocked digital circuit
JPH02105213A (ja) * 1988-10-13 1990-04-17 Mitsubishi Electric Corp 電力制御回路
US4980836A (en) * 1988-10-14 1990-12-25 Compaq Computer Corporation Apparatus for reducing computer system power consumption
US5121500A (en) * 1988-12-30 1992-06-09 International Business Machines Corporation Preliminary polling for identification and location of removable/replaceable computer components prior to power-up
US5041964A (en) * 1989-06-12 1991-08-20 Grid Systems Corporation Low-power, standby mode computer
US5222239A (en) * 1989-07-28 1993-06-22 Prof. Michael H. Davis Process and apparatus for reducing power usage microprocessor devices operating from stored energy sources
US5167024A (en) * 1989-09-08 1992-11-24 Apple Computer, Inc. Power management for a laptop computer with slow and sleep modes
US5218704A (en) * 1989-10-30 1993-06-08 Texas Instruments Real-time power conservation for portable computers
US5247655A (en) * 1989-11-07 1993-09-21 Chips And Technologies, Inc. Sleep mode refresh apparatus
US5201059A (en) * 1989-11-13 1993-04-06 Chips And Technologies, Inc. Method for reducing power consumption includes comparing variance in number of time microprocessor tried to react input in predefined period to predefined variance
JPH0831001B2 (ja) * 1990-08-23 1996-03-27 株式会社東芝 マイクロコンピュータ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101423409B1 (ko) * 2009-12-22 2014-07-24 노키아 코포레이션 서브 시스템을 통해 에너지 관리를 수행하는 방법 및 장치

Also Published As

Publication number Publication date
DE69033149D1 (de) 1999-07-08
CA2282912C (en) 2000-09-12
DE69031807D1 (de) 1998-01-22
EP0675425B1 (en) 1997-12-10
CA2282912A1 (en) 1990-12-31
JPH05507370A (ja) 1993-10-21
DE69031807T2 (de) 1998-04-09
EP0479887A4 (en) 1992-08-12
CA2063413A1 (en) 1990-12-31
DE69033149T2 (de) 1999-11-18
US5560024A (en) 1996-09-24
CA2063413C (en) 2000-08-15
EP0675425A2 (en) 1995-10-04
EP0675425A3 (en) 1995-11-29
WO1991000566A1 (en) 1991-01-10
EP0479887A1 (en) 1992-04-15
AU6031390A (en) 1991-01-17
KR920702783A (ko) 1992-10-06
US5428790A (en) 1995-06-27
DE479887T1 (de) 1992-12-17
EP0749060A1 (en) 1996-12-18
EP0749060B1 (en) 1999-06-02
JP3406594B2 (ja) 2003-05-12

Similar Documents

Publication Publication Date Title
KR960003412B1 (ko) 컴퓨터 전력 관리 시스템
US5546568A (en) CPU clock control unit
US6105142A (en) Intelligent power management interface for computer system hardware
EP0229692B1 (en) Data processing apparatus
US6193422B1 (en) Implementation of idle mode in a suspend/resume microprocessor system
US6795927B1 (en) Power state resynchronization
US5461266A (en) Power consumption control system
US7254721B1 (en) System and method for controlling an intergrated circuit to enter a predetermined performance state by skipping all intermediate states based on the determined utilization of the intergrated circuit
US5652890A (en) Interrupt for a protected mode microprocessor which facilitates transparent entry to and exit from suspend mode
JP3442810B2 (ja) チップの消費電力を自動的に減少する方法および装置
US6678831B1 (en) Managing power states in a computer system
US5355501A (en) Idle detection system
US5903766A (en) Suspend/resume capability for a protected mode microprocessor
US6845456B1 (en) CPU utilization measurement techniques for use in power management
US5848281A (en) Method and apparatus for powder management in a multifunction controller with an embedded microprocessor
US5623677A (en) Apparatus and method for reducing power consumption in a computer system
US6775786B2 (en) Method and apparatus for power mode transition in a multi-thread processor
US6092209A (en) Method and apparatus for managing power consumption of peripheral devices of personal computers
JP3855172B2 (ja) プロセッサ、記憶装置および周辺装置を含むシステムを動作させる方法
JP3509232B2 (ja) コンピュータシステムおよびその電力管理装置
US6633940B1 (en) Method and apparatus for processing interrupts in a computing system
US7334138B2 (en) Windows-driven power management for peripheral devices in a computer system
EP0421431B1 (en) A computer system with a sleep function
US20030051183A1 (en) Execute as many resume time tasks on the suspend path as possible to reduce the resume time
US6574693B1 (en) Method and apparatus for gating interrupts in a computing system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20020309

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee