KR100227297B1 - 컴퓨터용 실시간 전력 보존 방법 및 장치 - Google Patents

컴퓨터용 실시간 전력 보존 방법 및 장치 Download PDF

Info

Publication number
KR100227297B1
KR100227297B1 KR1019900017452A KR900017452A KR100227297B1 KR 100227297 B1 KR100227297 B1 KR 100227297B1 KR 1019900017452 A KR1019900017452 A KR 1019900017452A KR 900017452 A KR900017452 A KR 900017452A KR 100227297 B1 KR100227297 B1 KR 100227297B1
Authority
KR
South Korea
Prior art keywords
cpu
clock
monitor
time
processing unit
Prior art date
Application number
KR1019900017452A
Other languages
English (en)
Other versions
KR910008590A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23702544&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100227297(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 윌리엄 비. 켐플러, 텍사스 인스트루먼츠 인코포레이티드 filed Critical 윌리엄 비. 켐플러
Publication of KR910008590A publication Critical patent/KR910008590A/ko
Application granted granted Critical
Publication of KR100227297B1 publication Critical patent/KR100227297B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/02Digital computers in general; Data processing equipment in general manually operated with input through keyboard and computation using a built-in program, e.g. pocket calculators
    • 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/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Power Sources (AREA)

Abstract

휴대용 컴퓨터를 위한 실시간 전력 보존 장치 및 방법은 모니터를 이용하여 CPU 활동 레벨의 실시간 샘플링을 근거로 CPU가 휴식할 수 있는지를 판단하고, 이 모니터의 판단을 수행하기 위해 하드웨어 선택기를 활성시킨다. 모니터가 CPU가 휴식할 수 있다고 판단하면, 하드웨어 선택기는 CPU 클럭 시간(260, 270, 280)를 감소시키고, CPU가 활성되면, 하드웨어 선택기는 이전 고속 클럭 레벨로 CPU를 복귀시킨다. 휴식 상태에서 정상 동작으로의 역스위칭은 컴퓨터가 "준비" 상태로 복귀하길 기다리는 동안에 사용자가 요청할 필요가 없이 발생하며, 컴퓨터의 동작에 있어서 임의의 지연없이 발생한다. 또한, 모니터는 CPU 활동의 실시간 샘플링에 응답하여 전력 보존을 관리하기 위해 컴퓨터의 성능 레벨을 조정한다. 이러한 조정은 CPU 사이클 내에서 달성되고, 사용자의 성능 인식에 영향을 주지 않으며, 컴퓨터에서 수행되는 임의의 시스템 응용 소프트웨어에 영향을 주지 않는다.

Description

컴퓨터용 실시간 전력 보존 방법 및 장치
제1도는 본 발명의 양호한 실시예의 자체 조정 상황을 도시한 흐름도.
제2(a)도 내지 제2(d)도는 본 발명에 의해 이용되는 활동 전력 보존 모니터를 도시한 흐름도.
제3도는 본 발명에 의해 이용되는 활동 전력 보존 관련 하드웨어를 간단하게 도시한 개략도.
제4도는 본 발명의 하나의 실시예를 위한 슬립(sleep) 하드웨어를 간단하게 도시한 개략도.
제5도는 본 발명의 다른 실시예를 위한 슬립 하드웨어의 개략도.
* 도면의 주요부분에 대한 부호의 설명
40 : 활동 전력 모니터 20 : 전력 보존 서브루틴
500 : 플립 플롭 510,520 : AND 게이트
530 : OR 게이트 540 : 슬립 클럭 발진기
550 : 고속 클럭 발진기 600 : 어드레스 인에이블 버스
610 : 어드레스 버스 620 : 디멀티플렉서
630,640 : OR 게이트 650 : NOR 게이트
660 : D 플립플롭 690 : 슬립 클럭 발진기
본 발명은 실시간 컴퓨터 전력 보존에 관한 것으로, 특히 휴대용 컴퓨터의 중앙 처리 장치(central processing unit, CPU)내에서 실시간 활동 레벨(real-time activity level)에 따라 중앙 처리 장치 클럭 시간을 감소시키기 위한 장치 및 방법에 관한 것이다.
퍼스널 컴퓨터(personal computer)의 발전 단계 동안에, 운반 가능하거나 휴대 가능한 컴퓨터는 매우 인기가 있었다. 이러한 휴대용 컴퓨터는 대형 전원을 사용하며 사실상 소형 탁상용 퍼스널 컴퓨터(desktop personal computer)에 상당한다. 휴대용 컴퓨터는 탁상용 퍼스널 컴퓨터보다 소형이고 가벼우며 사용자가 탁상용 컴퓨터에서 사용될 수 있는 동일한 소프트웨어를 사용할 수 있도록 해준다.
제1세대 "휴대용" 컴퓨터는 벽에 부착된 전원 장치의 AC 월 전력(A/C wall power)에 의해서만 동작되었다. 퍼스널 컴퓨터 개발이 진행됨에 따라, 배터리-전력의 컴퓨터가 고안되었다. 또한, 새로운 디스플레이 기술, 더 좋은 디스크 저장 장치 및 가벼운 부품의 개발 덕분에 실제로 휴대가 가능해졌다.
그렇지만, 개발된 소프트웨어는, 데스크 탑 컴퓨터의 모든 특징을 갖는 데스크탑 퍼스널 컴퓨터상에서 실행되도록 설계되었으며, 짧은 시간 기간동안 이용가능한 전력량으로 제한된 배터리-전력의 휴대용 컴퓨터를 고려하지 않았다. 이 휴대용 컴퓨터에 사용되는 전력을 보존하기 위한, 소프트웨어, 운영 체제(operating system, MS-DOS), 기본 입력/출력 시스템(BIOS)또는 제3의 응용 소프트웨어를 특별히 고려하지 않았다.
점점 더 고도의 기능적인 소프트웨어 패키지가 개발되었기 때문에, 탁상용 컴퓨터 사용자들은, 뛰어난 계산성을 가진 CPU, 증가된 메모리, 및 더 빠른 고성능 디스크 드라이브의 도입으로 인한 증가된 성능을 경험했다.
그러나, 휴대용 컴퓨터는 여전히 A/C 전력이나 크고 무거운 배터리에 의해서만 운영되었다. 탁상용 컴퓨터 및 새로운 소프트웨어의 성능 필요조건을 따라가기 위해, 비싼 부품을 이용하여 전력 요구도를 감소시키고자 하였다. 그렇게 하더라도 무거운 배터리는 여전히 오랫동안 지속되지 못하였다. 이것은 휴대용 컴퓨터의 사용자들이 제3 소프트웨어로부터 예측되는 성능을 갖기 위해 A/C 동작이나 매우 짧은 배터리 동작으로 해결해야 한다는 것을 의미했다.
휴대용 컴퓨터 설계자들은 전력 소비를 줄이기 위해 8088-타입 및 8086-타입 프로세서로 성능을 낮추었다. 보조 회로(supporting circuit) 및 CPU가 실행하는데 전력이 적게 들었으므로, 가벼운 배터리가 사용될 수 있었다. 그렇지만, 구형의 느린 8088/8086 CPU 내에 존재하지 않는, 80286-타입 명령어들을 필요로 하는 새로운 소프트웨어는 실행될 수 없었다.
전력을 보존할 수 있는 휴대용 컴퓨터를 설계하기 위한 시도가 이루어짐에 따라, 좀더 오래 지속되는 배터리 동작, 보다 작은 유니트, 및 보다 가벼운 중량을 산출해 냄으로써, 소정의 휴대용 컴퓨터 설계자들은 사용자가 컴퓨터를 사용하지 않는 동안 휴대용 컴퓨터의 전력 소비를 줄이기에 이르렀다. 예를 들면, 설계자들은 선정된 비활동 기간후에 디스크 드라이브를 느리게 하거나 중단시킴으로써 전력 사용의 감소를 달성하는데, 디스크 드라이브가 사용되지 않으면, 디스크 드라이브는 꺼지거나 단순히 준비 상태(standby mode)에 있게 된다. 사용자가 디스크를 사용할 준비가 되면, 오퍼레이터(operator)는 동작을 진행하기 전에 디스크 드라이브가 회전하고 컴퓨터가 완전한 성능으로 다시 준비될 때까지 기다려야만 한다.
다른 휴대용 컴퓨터 설계자들은 키보드(keyboard)가 사용되지 않을 때 컴퓨터 화면을 꺼버림으로써 전력을 보존한다. 그렇지만, 정상적인 동작시에 컴퓨터는 총전력(full power)을 사용한다. 즉, 이 방법에 의한 전력 보존은 사용자가 시스템의 부품을 사용하고 있지 않을 때만 실효성이 있다. 그렇지만, 사용자는 자신이 컴퓨터를 사용하지 않을 때 컴퓨터를 꺼버릴 가능성이 크다.
그럼에도 불구하고, 오퍼레이터가 중요한 일에 컴퓨터를 사용하는 동안에는 상당한 전력 보존이 요구된다. 오퍼레이터가 컴퓨터를 사용할 때, 모든 부품의 완전한 동작(full operation)이 필요하다. 그렇지만, 오퍼레이터가 컴퓨터를 사용하지 않는 경우, 일정 기간 동안 전력 보존을 위해 컴퓨터가 꺼지거나 느려질 수 있다. 동작이 요구될 때까지, 사용자 작업을 중단시키거나 제3 소프트웨어를 뒤엎거나 운영 체제를 혼란시키지 않고, 컴퓨터를 느리게 하거나 중단시키는 시기를 결정하는 것은 성능 유지에 매우 중요하다.
또한, 사용자는 상술된 바와 같이 디스크가 회전하는 것을 기다릴 수 있지만, 응용 소프트웨어 팩키지는 CPU가 "회전"하고 준비하는 것을 기다릴 수 없다. CPU는 응용 프로그램이 계산할 필요가 있을 때 준비되어 있어야 한다. 정상 동작의 스위칭은 재빨리 완료되어야만 하고, 응용 프로그램에 영향을 주어서는 안된다. 이 즉각적인 전이는 현재 활동중인 응용 프로그램 뿐만 아니라 사용자가 알아차리지 못하게 이루어져야 한다. 지연은, 응답 시간 내의 사용자의 동작 문제, 소프트웨어 호환성 뿐만 아니라, 프로그램을 정확히 실행시키는데 있어서 컴퓨터에 의한 일반적인 오류를 일으키는 원인이 된다.
휴대용 컴퓨터의 전력 보존에 있어서의 다른 시도는 동작의 "일시 중단(shut down)" 또는 "준비 모드(standby mode)"를 제공하는 단계를 포함하는 것이다. 또한, 문제는 컴퓨터가 이 기간 동안에 오퍼레이터에 의해 사용될 수 없다는 것이다. 오퍼레이터는 전력을 보존하기 위해 장치의 전력 스위치를 끌 수 있다. 이러한 종류의 전력 보존은 휴대용 컴퓨터에 "일시 중단" 만을 허용함으로써 오퍼레이터가 전력 스위치를 끄는 것을 잊어버렸거나 프로그램된 길이의 시간 동안 컴퓨터로부터 떠나있는 경우에 전력을 보존한다. 단지 전력 스위치를 끄고/켜는 것에 비해 이러한 종류의 전력 보존 장점은 완전한 동작으로 복귀하는데 훨씬 더 빠르다는 것이다. 그렇지만, 이 전력 보존 방법은, 컴퓨터가 온 상태이고 데이터를 처리하는 반면에, 운영 체제, BIOS, 및 컴퓨터상에서 현재 실행중인 임의의 제3 응용 프로그램을 중단시키지 않는, 실시간적이고 지능적인 전력 보존 방법은 아니다.
이 요구를 만족시키기 위한 시도는 사용자가 키보드를 타이핑하지 않을 때 CPU의 클럭을 끄거나, 키스트로크가 발생할 때 요구가 있는 즉시 컴퓨터를 작동시키도록 하는 회로를 제공한 VLSI 공급자에 의해 이루어졌다. 이 접근 방법중의 어느 방법도 전력을 줄일 수 있지만 컴퓨터는 이 기간 동안에 죽은 (사용할 수 없는) 상태이다. 시스템 클럭의 수정, 통신, 프린트 스풀링(print spooling) 및 그밖의 이와 유사한 동작과 같은 백그라운드 동작(background operation)은 실행될 수 없다. 기존의 몇몇 휴대용 컴퓨터들은 이 회로를 사용한다. 프로그램된 비활동 기간 이후에, 컴퓨터는 스스로 꺼진다. 오퍼레이터는 다시 기계를 켜야 하지만 운영 체제 및 응용 프로그램을 재부팅할(rebooting) 필요는 없다. 이 회로의 장점은 기존의 "임시 중단"동작과 유사한데, 컴퓨터를 재개시하지 않고 정상 동작으로 재빨리 복귀한다는 것이다. 그럼에도 불구하고, 이 방법은 사용자가 기계로부터 떠나 있을 때만 전력 소비를 줄일 뿐이고 배터리 충전의 동작 기간을 실제로 연장시키는 것은 아니다.
본 발명의 목적은 관련 기술분야에 연관된 상기 문제를 고려하여, 사용자가 전력 보존을 알아차리는 일이 없도록, 실시간 성능을 떨어뜨리지 않는, 컴퓨터 시스의 실시간 전력 보존용 장치와 방법을 제공하는 것이다.
본 발명의 다른 목적은 컴퓨터 시스템의 활동 레벨을 예측하고 이 예측값을 자동 전력 보존에 이용하기 위한 장치 및 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 자동적으로 예측된 활동 레벨 예측값을 사용자가 변경할 수 있도록 하고 이 변경된 예측값을 자동 전력 보존을 위해 이용할 수 있도록 하는 장치 및 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 클럭 속도를 실시간으로 감소시키고 복귀시킴으로써 CPU가 소프트웨어 프로그램은 알아차리지 못하는 비활동 기간으로부터 완전한 처리 속도로 복귀시킬 수 있는 장치 및 방법을 제공하는 것이다.
이러한 목적들을 CPU 활동 레벨에 근거하여 CPU가 휴식할 수 있는 판단하고 이 판단에 따라 하드웨어 선택기를 활성화시키는 장치 및 방법에 의한 본 발명의 양호한 실시예에서 달성된다. CPU가 휴식 또는 슬립(sleep)하면, 하드웨어 선택기는 슬립 클럭 레벨(sleep clock level)로 발진을 인가하고, CPU가 활송 상태이면 하드웨어 선택기는 고속 클럭 레벨로 발진을 인가한다.
본 발명은 CPU 활동의 상태뿐만 아니라 현재 활동중인 오퍼레이터 및 임의의 응용 소프트웨어 모두의 활동을 검사한다. 이 활동의 샘플링(sampling)은 실시간으로 실행되고, 전력 보존 및 컴퓨터 전력을 관리하기 위해 컴퓨터의 성능 레벨을 조정한다. 이 조정들은 CPU 사이클내에서 이루어지고 사용자의 성능 인식에 영향을 주지 않는다.
그러므로, 운영 체제/BIOS의 제3 소프트웨어용 오퍼레이터가 컴퓨터를 사용하고 있지 않을 때, 본 발명은 필요할 때까지 CPU를 재빨리 끄거나 느리게 함으로써, 전력 소비를 감소시키고, 필요할 때 인식된 성능에 영향을 주지 않고 완전한 CPU 동작을 즉시 회복시킬 것이다. "느린"상태에서 완전한 동작으로 복귀하는 스위칭은 사용자가 이를 요청할 필요없이 발생하고 또한 컴퓨터가 "준비(ready)" 상태로 복귀하는 것을 기다리는 동안 컴퓨터의 동작에 어떠한 지연도 없이 발생한다.
본 발명의 여타 특징들 및 장점들은 첨부된 도면과 함께 후술되는 양호한 실시예의 상세한 설명을 통해 본 기술 분야의 숙련자들은 명백하게 이해할 수 있을 것이다.
소정의 주어진 시스템에 있어서 컴퓨터 활동 기간이 검사되면, CPU와 관련 부품들은 이용률(utilization percent) 값을 갖는다. 사용자가 키보드로 데이터를 입력하고 있으면, CPU 사이클의 관점에서 키스트로크 사이의 시간은 매우 긴 것이다. 이러한 시간 동안에, 레포트를 출력하는 것과 같은 많은 일들이 컴퓨터에 의해 이루어질 수 있다. 레포트를 출력하는 동안 조차도, 시각/달력 디스플레이의 백그라운드 갱신(background updating)과 같은 부가적인 동작을 위한 시간 정도는 여전히 이용 가능하다. 이렇게 하더라도, CPU가 사용되지 않는 여분 시간은 거의 항상 존재한다. 컴퓨터가 이 여분 시간 동안에 꺼지거나 느려지면, 전력 보존은 실시간으로 이루어질 수 있다. 이러한 실시간 전력 보존은 배터리 동작 기간을 연장시켜 준다.
본 발명의 양호한 실시예에 따르면, MS-DOS 뿐만 아니라, OS/2, 제닉스(XENIX), 및 애플(Apple) 컴퓨터와 같은 다른 운영 체제 하에서 전력을 보존하는 것은 하드웨어와 소프트웨어의 조합을 필요로 한다. 시스템마다 구현이 약간씩 달라질 수는 있어도, 본 발명은 어느 시스템에서나 작동될 수 있기 때문에, 본 발명의 범위를 MS/SOS 하에서 작동되는 컴퓨터 시스템으로 제한하여서는 안된다.
본 발명의 양호한 실시예에 따라 컴퓨터 시스템 부품을 느리게 하거나 중단시키는 것은 전력 소비를 감소시키지만, 절약된 전력량은 다를 수 있다. 그러므로, 본 발명에 따르면, (어떤 CPU에서는 클럭을 중단시키지 못하지만, 가능하면) 클럭을 중단시키는 것은 클럭을 단지 느리게만 하는 것보다 전력 소비를 더 감소시킨다.
일반적으로, 초당 동작 (또한 명령)의 횟수는 프로세서 클럭에 대략 비례하는 것으로 고려될 수 있다.
명령/초명령/싸이클 * 사이클/초
단순하게 명령/초가 일정하도록 동일한 명령이 반복적으로 수행된다고 가정하면, 이 관계는 다음과 같이 표현될 수 있다.
FqK1* Clk
여기서, Fq는 명령/초이고, K1은 명령/사이클과 동일한 상수이며, Clk는 사이클/초와 동일하다. 그러므로, 대략적으로, 실행 속도는 CPU 클럭의 주파수에 의해 증가된다.
또한, 임의의 주어진 순간에 사용되는 전략량은 CPU 클럭의 주파수에 관련되며, 따라서 실행 속도에도 관련된다. 일반적으로, 이 관계는 다음과 같이 표현될 수 있다.
PK2+ (K3* Clk)
여기서, P는 와트 단위의 전력이고, K2는 와트 단위의 상수이며, K3은 상수이고, 와트-초/사이클의 수를 표현하고, Clk는 CPU 클러그의 사이클/초와 동일하다. 그러므로, 또한 임의의 주어진 시간에 소비된 전력량은 CPU 클럭 주파수가 증가하는 만큼 증가한다고 말할 수 있다.
주어진 시간 기간 T를 N개의 간격으로 나누어서 각 간격동안 전력 P가 일정하다고 가정한다. 그러면, T 동안에 소비된 에너지량은 다음과 같이 주어진다.
EP(1)△T1+ P(2)△T1..... + P(N)△TN
또한, CPU 클럭 "Clk"가 2개의 상태, "ON" 또는 "OFF"만을 갖는다고 가정한다. 이 설명을 위해서, "ON" 상태는 최대 주파수의 CPU 클럭을 나타내고, "OFF"상태는 CPU가 동작할 수 있는 최소 클럭 속도를 나타낸다(클럭을 중단시킬 수 있는 CPU의 경우에는 0이다). CPU 클럭이 항상 "ON"인 조건인 경우에, 상기 등식의 각각의 P(i)는 같고 전체 에너지는 다음과 같다.
E(max)P(ON) * (△T1+ △T2..... + △TN)P(ON) * T
이것은 전력 보존 측정 기준이 사용되지 않는 컴퓨터의 최대 전력 소비를 나타낸다. CPU 클럭이 시간 간격의 일부분 동안에 "OFF"이면, 각각의 시간 간격 동안 가능한 2개의 전력 레벨이 존재한다. P(ON)은 클럭이 "ON" 상태에 있을 때 소비된 전력을 나타내고, P(off)는 클럭이 "OFF"일 때 소비된 전력을 나타낸다. 클럭이 "ON"인 모든 시간 간격이 양 "T(on)"에 합쳐지고 "OFF" 시간 간격이 "T(off)"에 합쳐지면, 다음과 같다.
TT(on) + T(off)
이제, 기간 T 동안에 사용된 에너지는 다음과 같이 기술될 수 있다.
E[P(on) * T(on)] + [P(off) * T(off)]
이 조건들 하에서, 소비된 총 에너지는 시간 간격 T(off)를 증가시킴으로써 감소될 수 있다. 그러므로, 클럭이 "OFF" 상태에 있는 시간 간격 T(off)를 제어함으로써, 이용되는 에너지량을 감소시킬 수 있다. T(off) 기간이 기간 T 동안에 다수의 시간 간격으로 분할되면, 각 시간 간격의 폭이 제로가 되기 때문에 에너지 소비는 최대가 된다. 이와 반대로, T(off) 시간 간격의 폭이 증가하면, 소비된 에너지는 감소한다.
"OFF" 시간 간격이 CPU가 정상적으로 비활동하는 기간과 일치하도록 조정되면, 사용자는 성능의 감소를 인식할 수 없고 전체 에너지 소비는 E(max) 상태로부터 감소한다. T(off) 시간 간격을 CPU 비활동 기간에 동조시키기 위해서, 폐쇄 루프(closed loop) 내의 T(off) 시간 간격의 폭을 결정하느너데 CPU 활동 레벨을 이용한다. 제1도는 이 폐쇄 루프를 도시한 것이다. CPU의 활동 레벨은 단계(10)에서 결정된다. 이 레벨이 바로 이전 결정보다 증가된 것이면, 본 발명은 T(off) 시간 간격을 감소시키고(단계(20)), CPU의 활동 레벨을 재결정하기 위해 복귀된다. 한편, 이 활동 레벨이 바로 이전 결정보다 감소된 것이면, 본 발명은 T(off) 시간 간격을 증가시키고(단계(30)), CPU의 활동 레벨을 재결정하도록 진행한다. 그러므로, T(off) 시간 간격은 시스템 활동 레벨에 일치하도록 지속적으로 조정된다.
임의의 운영 체제에 있어서, 2개의 키 논리 포인트(key logic point), 즉, 운영체제 내의 유휴(IDLE) 또는 "무활동" 루프와 통상적으로 응용 소프트웨어에 의해 요구되는 서비스에 유용한 운영 체제 요청 채널이 존재한다. 이 논리 포인트들을 논리 인라인(logic inline)에 배치함으로써, 응용 소프트웨어에 의해 이루어진 이러한 종류의 활동 요청이 측정될 수 있고, 전력 보존이 활성될 수 있으며, 슬라이스 기간이 결정될 수 있다. 슬라이스 기간은 시간에 걸친 T(on) 대 T(off) 시간 간격 개수이며, 활동 레벨에 의해 계산된다. CPU 활동 레벨을 결정하기 위해 다음과 같은 가정이 설정될 수 있다. 즉, 통상적으로 필요한 부가적인 서비스들 및 서비스 요청 사이의 시간 간격을 제공할 필요가 있는 응용 소프트웨어는 컴퓨터에서 실행하는 임의의 응용 소프트웨어의 활동 레벨을 결정하고, 본 발명에 따르는 전력 보존에 슬라이스 카운트(slice counts)를 제공하는데 사용될 수 있다.
일단 CPU가 전력 보존 슬라이스(T(off)) 동안에 인터럽트(interrupt)되면, CPU는 인터럽트 소프트웨어로 벡터링(vectoring)하기 이전에 인터럽트된 루틴(routine)의 상태를 보존한다. 물론, 전력 보존 소프트웨어가 이 슬라이스 동안에 작동했기 때문에, 제어는 활동 전력 보존 루프(모니터(40))으로 복귀하며, 여기서는 단순히 CPU의 클럭을 모니터하여 전력 보존 모드를 빠져 나가는 조건을 판단함으로써, T(off) 상태에서 T(on) 상태로 빠져 나가게 된다. 제1도와 관련하여 상술된 바와 같이, 다음 전력 보존 상태의 시간 간격은 모니터된 활동 레벨에 의해 조정된다. 소정의 구현예들은 하드웨어 논리에 의해 T(off)로부터 자동적으로 빠져나감으로써, 자동적으로 전력 보존 루프를 빠져나가게 되어서 시간 간격 T(on)을 실행시킨다.
좀더 구체적으로, 제2(a)도 내지 제2(d)도를 살펴보면, 이것은 본 발명의 활동 전력 보존 모니터(40)을 도시한 것이다. CPU는 CPU ROM에 기억된 프로그램을 통해 모니터(40)을 설치하거나 RAM에 프로그램을 기억시킨 외부 장치로부터 모니터를 로드(load)한다. 일단 CPU가 모니터(40)을 로드하면, 시스템 인터럽트 초기화, 사용자 배치 형태 셋업(user configurational setup) 및 시스템/응용 특정 초기화를 위한 INIT(50)으로 이어진다. (제2(b)도에서 특히 강조된) 유휴 분기(60)은 유휴 또는 "무활동" 기능을 위해 하드웨어 인터럽트나 소프트웨어 인터럽트에 의해 수행된다. 이 타입의 인터럽트는 유휴 또는 "무활동" 루프(즉, 계획된 비활동)로 들어가는 CPU에 의해 발생된다. 제2(d)도와 관련하여 다음에 더 충분히 설명되는, 이 흐름도의 활동분기(70)은 운영 체제나 I/O 서비스 요청으로 인한 소프트웨어나 하드웨어 인터럽트에 의해, 응용 프로그램이나 내부 운영 체제 기능에 의해 수행된다. 예를 들면, 프로그램에 의해 이루어진 I/O 서비스 요청은 디스크 I/O, 판독, 프린트, 로드 등이다. 선택된 분기에 상관없이, 최종적으로 제어는 복귀(80)에서 CPU 운영 체제로 복귀된다. 제2(a)도에 도시된 바와 같이, 이 흐름도의 초기화 분기(50)은 프로그램을 통해 RAM에 로드되는 경우에만 한 번 실행되거나, 또는 전력이 들어올 때 외부 장치로부터 로드되어 RAM에 저장될 때마다 실행된다. 활동 전력 모니터(40)의 이러한 분기가 완전히 실행되면, 언제든지 제어는 운영 체제에서 전력 보존 모드로 넘어가고, 유휴(60) 또는 활동(70) 분기들은 CPU 활동의 타입에 따라 선택되는데, 계획된 비활동 동안의 전력 보존에는 유휴 분기(60)이 선택되고, CPU 활동 동안의 전력 보존에는 활동 분기(70)이 선택된다.
초기화 분기(50)을 더 면밀하게 살펴보면, 모든 시스템 인터럽트 및 변수들이 초기화된 후에, 루틴이 전력-레벨을 디폴트-레벨과 동일하게 설정하기 위해 단계(90)으로 이어진다. 사용자가 전력-레벨에 대한 입력 제어를 갖는 운영 체제에 있어서, 프로그램은 단계(100)에서 사용자-레벨이 선택되었는지를 검사한다. 사용자-레벨이 제로보다 작거나 최대-레벨보다 크면 이 시스템은 디폴트-레벨을 사용한다. 반대의 경우에는, 전력-레벨을 사용자-레벨과 동일하게 수정하는 단계(110)으로 이어진다.
본 발명의 양호한 실시예에 따라, 시스템은 단계(120)에서 유휴_틱(idle_tick)변수를 0으로 설정하고 변수 활동_틱(Activity-tick)을 0으로 설정한다. MS-DOS 구현 하에서, 유휴_틱은 "무활동(do_nothing)" 루프에서 발견되는 인터럽트들의 수에 관련된다. 활동_틱은 다음 CPU 활동 레벨을 결정하는 활동 인터럽트에 의해 야기되는 인터럽트들의 수에 관련된다. 틱 카운트는 다음 인터럽트의 델타 시간을 나타낸다. 유휴_틱은 소프트웨어 인터럽트에 의해 오버라이트(overwrite)되지 않는다면, 하나의 틱에서 다른 틱 (인터럽트)까지의 일정한 델타 시간을 의미한다. 소프트웨어 인터럽트는 인터럽트들 사이의 델타 시간을 재프로그램할 수 있다.
변수들을 제로로 셋팅한 후에, 루틴은 설정 단계(130)으로 이어져, 시스템 상세 사양 측면에서 임의의 애플리케이션에 특정된 구조의 미세 조정(application specific configuration fine-tuning)을 처리하고 시스템을 초기화한다. 다음, 루틴은 하드웨어가 다음 인터럽트시에 제어를 취할 수 있다는 것을 나타내는 하드웨어에 알리는 명령으로 인터럽트 I/O(단계(140))를 활성시킨다. 그런 후에, 초기화 분기(50)은 복귀(80)에서 무엇이 활동 전략 모니터를 원래 호출했던지 간에 운영 체제로 빠져 나온다.
이제는, 제2(b)도에 더 완전하게 도시된 활동 전력 모니터(40)의 유휴 분기(60)를 고찰해보기로 한다. CPU의 계획된 비활동에 응답하여, (이 도면에는 특별하게 도시되지 않은) 모니터(40)은, 활동 인터럽트가 현재 분주한지를 우선 판단함으로써 유휴 분기(60)으로의 엔트리(entry)가 허용되는지를 알아보기 위해 검사한다. 분주_A(Busy_A)가 재엔트리 플래그인 분주_플래그(BUSY_FLAG)와 일치하면 (단계(150)), CPU는 분주해서 슬립 상태로 될 수 없다. 그러므로, 모니터(40)은 즉시 복귀_I(RETURN_ I)(160)으로 진행하고, 그 루틴을 빠져나간다. 복귀_I(160)은 모니터(40)에 들어가기 전에 기억된 정상적인 프로세싱을 위한 이전 운영 체제 유휴 벡터 인터럽트에 대한 간접 벡터이다. (즉, 이것은 인터럽트를 마지막에 연결된 벡터에 복귀시킨다.)
분주-A 인터럽트 플래그가 분주 상태에 있지 않으면, 모니터(40)은 분주-유휴 인터럽트 플래그, 분주_I가 분주-플래그와 일치하는지를 검사한다(단계(170)). 일치한다면, 이것은 시스템이 이미 모니터(40)의 유휴 분기(60)에 있다는 것을 나타내므로, 시스템은 스스로 인터럽트하지 않아야 한다. 분주_I분주-플래그이면, 시스템은 복귀_I 간접 벡터(160)에서 이 루틴을 빠져나간다.
그렇지만, 분주-A 재엔트리 플래그나 분주_I 재엔트리 플래그 어느 것도 셋트되지 않았다면, 루틴은 단계(180)에서 재엔트리 방지를 위해 분주_I 플래그를 셋트한다(분주_I분주-플래그). 단계(190)에서 유휴_틱은 하나씩 증가된다. 유휴_틱은 T(off) 시간 간격 전의 T(on)의 수이고 유휴 인터럽트, 셋업 인터럽트, 및 CPU 활동 레벨로 결정된다. 유휴_틱은 사건 발생을 순조롭게 하기 위해 하나씩 증가함으로써, 긴급한 I/O 활동 제어(critical I/O activity control)를 원활하게 한다.
단계(200)에서, 모티터(40)은 유휴_틱이 유휴-최대틱(IDLE_MAXTICKS)과 동일한지를 검사한다. 유휴-최대틱은 초기화 분기(50)의 셋업 단계(13)에서 초기화된 상수중의 하나로서, 시스템용으로 일정하게 유지되며, 활동 레벨의 자체-조정(self-tuning)에 대한 책임이 있다. 유휴_틱이 유휴-최대틱과 일치하지 않으면, 분주I 플래그는 단계(210)에서 클리어(clear)되고 복귀_I 간접 벡터(160)으로 진행하여 루프를 빠져나온다. 그렇지만, 유휴_틱이 유휴-최대틱과 일치하면, 유휴_틱은 유휴_개시_틱(idle_start_tick)과 동일하게 셋트된다(단계(220)). 유휴-개시-틱은 (특정 CPU가 클럭을 중단시킬 수 있는지에 따라) 0일 수도 있고 아닐 수도 있는 상수이다. 이 단계는 나머지의 슬립 기능이 얼마나 자주 실행될 수 있는지에 관한 자체-조정을 결정한다. 유휴-개시-틱을 유휴-최대틱에서 하나를 뺀 것과 동일한 값으로 셋팅함으로써, 지속적인 T(off) 시간 간격이 달성된다. 단계(230)에서, 전력-레벨이 검사된다. 이것이 0과 일치하면, 모니터는 분주_I 플래그를 클리어하고 (단계(210)), 복귀_I(160)에서 이 루틴을 빠져나가며, 활동 전력 모니터(40)에 들어가기 전에 원래 하고 있던 것을 계속할 수 있도록 제어를 운영 체제로 복귀시킨다.
그렇지만, 전력-레벨이 단계(240)에서 0과 일치하지 않으면, 이 루틴은 인터럽트 마스크(mask)가 제자리에 있는지를 결정한다. 인터럽트 마스크는 시스템/응용 소프트웨어에 의해 셋트되고, 인터럽트가 모니터(40)에 이용 가능한지를 판단한다. 인터럽트가 이용 가능하지 않다면(not-available), 분주_I 재엔트리 플래그는 클리어되고 제어는 운영 체제로 복귀하여 모니터(40)에 들어가기 전에 했었던 것을 계속한다. 응용 소프트웨어 뿐만 아니라 운영 체제는 인터럽트 마스크를 이용 가능하지 않은 상태값으로 셋팅함으로써 지속적인 T(on) 상태가 이루어지도록 T(on) 시간 간격을 셋트할 수 있다.
인터럽트가 이용 가능(available)하다고 가정하면, 모니터(40)은 하드웨어 상태에 의해 설정되는 1개의 T(off) 기간 동안에 완전히 실행되는 전력 보존 서브루틴(250)으로 진행한다(예를 들면, 본 발명의 양호한 실시예에 있어서, 가능한 최장의 시간 간격은 18 ms일 수 있는데, 이것은 실시간 클럭으로부터의 2개의 틱이나 인터럽트 사이의 가장 긴 시간이다). 전력 보존 서브루틴(250) 동안에, CPU 클럭은 슬립 클럭 레벨로 낮추어진다.
긴급한 I/O 동작이 Ton) 시간 간격을 강행하면, 유휴 분기(60) 인터럽트는 추가의 긴급한 I/O 요청을 위한 준비 상태로 남아 있게 된다. CPU가 긴급한 I/O로 분주해지면, 이용 가능한 T(off) 시간 간격이 적어진다. 이와 반대로, 긴급한 I/O 요청이 감소하고, 그들 사이의 시간 간격이 증가하면, 좀더 많은 T(off) 시간 간격이 이용 가능하다. 유휴 분기(60)은 활동 인터럽트로부터의 피드백(feedback)을 기본으로 하는 자체-조정 시스템이고 활동 레벨이 느려질수록 보다 많은 T(off) 시간 간격을 제공한다. 제2(c)도에 도시되고 보다 상세하게 후술되는 바와 같이, 모니터(40)이 전력 보존 서브루틴(250)을 완료하자마자 분주_I 재엔트리 플래그는 클리어되고(단계(210)), 제어는 운영 체제가 원래 모니터(40)에게 무엇을 요청했던지 간에 복귀_I(160)에서 운영 체제로 복귀된다.
전력 보존 서브루틴(250)을 도시한 흐름도인 제2(c)도를 고찰해 본다. 모니터(40)은 단계(260)에서 I/O 하드웨어 고속 클럭이 얼마인지를 판단한다. 이것은 현재 클럭 속도(CURRENT_CLOCK_RATE)를 적절한 고속 클럭값으로 셋트하고, 이 값을 다수의 레벨 고속 클럭들을 가진 CPU에서 사용되도록 보존한다. 그러므로, 특정 CPU가 12와 6의 고속 클럭 속도를 갖는다면, 모니터(40)은 전력을 감소시키기 전에 CPU의 고속 클럭이 어느 것인지를 판단함으로써, CPU가 깨어날 때 CPU를 그 적당한 고속 클럭으로 재설정할 수 있도록 하여야 한다. 단계(270)에서, 보존 클럭 속도(Save_clock_rate)는 현재 클럭 속도와 동일한 값으로 셋트된다(270). 보존 클럭 속도는 CPU에 오직 한 개의 고속 클럭만이 있을 때에는 사용되지 않는다. 이제, 모니터(40)은 슬립 클럭(280)으로 이어지는데, 여기서 펄스를 (제3도에 도시된) 하드웨어 선택기로 전송하여 CPU 클럭을 슬립 상태로 (즉, 클럭 주파수를 느리게 하거나 멈추게) 한다. I/O 포트 하드웨어 슬립 클럭(I/O port hardware sleep clock)은 정상 상태에서 사용된 CPU 클럭보다 훨씬 느리게 발진한다.
이 시점에서 두가지 사건중의 하나가 일어날 수 있다. 시스템/응용 인터럽트가 발생할 수 있거나 실시간 클럭 인터럽트가 발생할 수 있다. 시스템/응용 인터럽트(290)이 발생하면, 모니터(40)은 인터럽트 루틴(300)으로 진행하고, 가능한한 빨리 인터럽트를 처리하며, 단계(310)에서 인터럽트 I/O를 활성시키고, 인터럽트가 있었는지를 판단하기 위해 복귀한다(단계 320). 이 경우에는 인터럽트가 있었기 때문에, 보존 클럭-속도를 이용하여 CPU를 어느 고속 클럭으로 복귀시킬지를 판단하고(단계(330)), 전력 보존 서브루틴(250)이 복귀(340)에서 빠져나오게 된다. 그렇지만, 시스템/응용 인터럽트가 수신되지 않으면, 전력 보존 서브루틴(250)은 실시간 클럭 인터럽트가 발생했을때까지 계속해서 기다린다(단계(320)). 이러한 인터럽트가 일단 발생하면, 전력 보존 서브루틴(250)은 CPU를 기억된 보존 클럭 속도로 재설정한다. 슬립 클럭 속도가 중단되지 않았으면, 즉, 슬립 클럭 속도가 0이 아니라면, 제어는 느린 클럭으로 넘어가고 전력 보존 서브루틴(250)은 인터럽트 루프(320)을 여러번 실행시킬 수 있다. 그렇지만, 슬립 클럭 속도가 0였을 때 제어가 넘어가면, 즉, 클럭이 없으면, 전력 보존 서브루틴(250)은 CPU 클럭이 보존-클럭-율(330)으로 복귀되어 빠져나오기 전에 인터럽트 푸프(320)을 한 차례 실행시키게 된다(단계 340).
이제, 운영 체제 서비스 요청 인터럽트를 통해 응용/시스템 활동 요청에 의해 트리거(trigger)되는 활동 분기부(activity branch, 70)을 도시한 흐름도인 제2(d)도를 고찰해보기로 한다. 활동 분기(70)은 재엔트리 방지로부터 시작된다. 모니터(40)은 단계(350)에서 분주_I값이 분주_플래그값으로 셋트됐는지를 판단한다. 분주_I값이 분주_플래그값으로 셋트되었다면, 이것은 이 시스템이 이미 유휴 분기(60)에 있어서 인터럽트될 수 없다는 것을 의미한다. 분주_I분주_플래그이면, 모니터(40)은 복귀_ I(160)으로 빠져 나오는데, 복귀_I는 운영 체제가 요청된 서비스를 실행한 후에 인터럽트 벡터를 통해 정상적인 프로세싱을 위한 이전의 활동 벡터 인터럽트로의 간접 벡터에 해당한다.
그렇지만, 분주_I 플래그가 분주_플래그와 일치하지 않으면, 이것은 유효 분기(60)이 액세스되지 않고 있다는 것을 의미하는데, 모니터(40)은 단계(360)에서 분주-A 플래그가 분주_플래그와 동일하게 셋트되었는지를 판단한다. 동일하게 셋트되었다면, 활동 분기(70)은 이미 사용되어서 인터럽트될 수 없기 때문에, 제어는 이 시점에서 시스템으로 복귀될 것이다. 분주-A 플래그가 분주_플래그로 셋트되지 않았으면, 즉, 분주-A값이 분주_플래그값과 일치하지 않으면, 모니터(40)은 활동 분기(70)가 실행되는 중에 인터럽트되지 않도록 분주-A를 분주_플래그와 동일한 값으로 셋트한다(단계(370)). 단계(380)에서 전력-레벨이 결정된다. 전력-레벨이 0이면, 모니터(40)은 분주-A 재엔트리 플래그를 클리어한 후에 활동 분기(70)을 빠져나간다(단계(390)). 그렇지만, 전력-레벨이 0이 아니면, I/O 하드웨어의 현재-클럭-속도를 이용한다. 그렇지 않다면, 현재-클럭-속도는 항상 CPU 고속 클럭과 동일하다. 단계(400)에서 현재-클럭-속도를 판단하 후에, 단계(410)에서 유휴_틱은 이전에 결정된 현재-클럭-속도로 설정된 상수, 개시-틱(Start_Ticks)과 동일한 값으로 설정된다. T(off) 시간 간격은 현재 유효한 고속 클럭을 기초로 하여 설정된다.
다음에, 모니터(40)은 요청이 들어왔는지를 판단한다. 요청은, 특정 타입의 서비스가 필요한 경우에, 컴퓨터에서 수행하고 있는 응용 소프트웨어에 의한 입력이다. 단계(420)에서, 모니터(40)은 요청이 긴급 I/O인지를 판단한다. 요청이 긴급 I/O이면, T(on)이 T(off)보다 커질때까지 T(on)이 길어지도록 할 것이고, 모니터(40)은 분주-A 재엔트리 플래그를 클리어한 후에 활동 분기(70)을 빠져나갈 것이다(단계(390)). 반면에, 요청이 긴급 I/O가 아니면, 활동-틱은 단계(430)에서 하나씩 증가된다. 그런 후에, 단계(440)은 긴급 I/O에 대해 시스템이 대비할 수 있도록 해준다. 활동_틱이 활동-최대틱값과 일치하지 않는다고 가정하면, 활동 분기(70)은 분주-A 재엔트리 플래그를 클리어한 후에 빠져나오게 된다(단계(390)). 반면에 활동_틱이 상수 활동-최대틱과 일치하면, 단계(450)에서 활동_틱은 단계(380)에서 결정된 특정 전력-레벨을 위해 설정된 상수, 레벨_최대틱(LEVEL_MAXTICKS)값으로 셋트된다.
이제, 모니터(40)은 인터럽트 마스크가 존재하는지를 판단한다(단계(460). 인터럽트 마스크는 시스템/응용 소프트웨어에 의해 셋트된다. 이것을 이용_불가(NOT_AVAILABLE)값으로 셋팅함으로써, 지속적인 T(on) 상태가 이루어진다. 인터럽트 마스크가 이용_불가(NOT_AVAILABLE)값이면, 인터럽트는 이 시간에 이용 가능하지 않고, 모니터(40)은 분주-A 재엔트리 플래그를 클리어한 후에 활동 분기(70)을 빠져나오게 한다(단계(390)). 그렇지만, 인터럽트가 이용 가능하면, 모니터(40)은 단계(420)에서 확인된 요청이 느린 I/O 인터럽트였는지를 단계(470)에서 판단한다. 느린 I/O 장치가 "준비"될 때까지 지연될 수 있다. "준비" 동작 동안에, 지속적인 T(off) 시간 간격이 셋업될 수 있고 전력을 보존하기 위해 실행될 수 있다. 그러므로, 요청이 느린 I/O 인터럽트가 아니면, 활동 분기(70)은 분주-A 재엔트리 플래그를 클리어한 후에 활동 분기(70)이 빠져나오게 된다(단계390)). 그렇지만, 요청이 느린 I/O 인터럽트이고 I/O 장치가 "준비"되기전에 아직 시간이 있으면, 모니터(40)은 I/O 요청이 완료되었는지(즉, I/O 장치가 준비되었느지)를 단계(480)에서 판단한다. I/O 장치가 준비되지 않았으면, 모니터(40)은 T(off)를 늘려서 CPU로 하여금 느린 I/O 장치가 준비가 될때까지 기다리게 하거나 슬립하도록 한다. 이 시점에서, 전력을 보존하는 시간을 갖고 활동 분기(70)은 제2(c)도와 연관되어 상술된 전력 보존 서브루틴(250)으로 들어간다. 그렇지만, I/O 요청이 완료되면, 제어는 분주-A 재엔트리 플래그를 클리어한 후에 모니터(40)이 활동 분기(70)을 빠져나가는 것에 후속하여 운영 체제에 복귀된다.
자체-조정은 지속적인 피드백 루프의 제어 시스템내에 본래부터 갖추어져 있는 것이다. 그러므로, 본 발명의 소프트웨어는 CPU 활동이 느리고 이에 따라 본 발명의 전력 보존 특징이 활성될 수 있는 때를 검출할 수 있다. 일단 전력 보존 모니터가 활동 상태가 되면, 컴퓨터의 성능을 감소시키지 않도록 시간 간격내에서 최고속 CPU 클럭 동작으로의 즉각적인 복귀가 이루어진다. 최고속 CPU 클럭 동작으로의 즉각적인 복귀를 달성하기 위해서, 본 발명의 양호한 실시예는 소정의 관련된 하드웨어를 사용한다.
본 발명의 의해 활동 전력 보존에 사용된 관련 하드웨어를 단순하게 도시한 개략도인 제3도를 보자. (도시되지 않은) 모니터(40)이 CPU가 슬립될 준비가 되었는지를 결정하면, 모니터는 펄스를 슬립선에 발생시키는 (도시되는 않은) I/O 포트에 기록한다. 슬립선 상의 이 펄스의 상승 에지(rising edge)는 플립 플롭(500)이 Q에 하이(high) 및 Q-에 로우(low)를 클럭시키게 한다. 이것은 AND/OR 논리[AND게이트(510, 520)와 OR 게이트(530)]가 슬립 클럭 발진기(540)으로부터의 슬립 클럭선을 이용하는 펄스를 선택하도록 하는데, 이 펄스는 CPU 클럭으로 전송되어 CPU 클럭에 의해 사용된다. 슬립 클럭 발진기(540)은 정상적인 CPU 활동 동안에 사용된 CPU 클럭보다 더 느린 클럭이다. 슬립 클럭 발진기(540)으로부터 나온 펄스와 AND된(510) 플립 플롭(500)의 Q로부터 나온 하이(high)는 고속 클럭 발진기(550)의 Q에서의 로우(low) 결과와 OR되어(530), CPU 클럭을 산출한다. I/O 포트가 슬립 클럭을 나타내면, CPU 클럭은 슬립 클럭 발진기(540) 값과 일치한다. 다른 한편으로, 인터럽트가 발생하면, 인터럽트-값은 플립 플록(500)을 클리어함으로써, (510, 520 및 530을 포함하는) AND/OR 선택기가 고속 클럭값을 선택하게 하고, CPU 클럭값을 고속 클럭 발진기(550)으로부터 나온 값으로 복귀시킨다. 그러므로, CPU에서의 임의의 전력 보존 동작 동안에, 시스템 내에서의 임의의 인터럽트의 검출은 인터럽트를 벡터링하고 프로세싱하기 이전의 최고 클럭 속도로 CPU 동작을 회복시킨다.
임의의 주어진 시스템의 CPU의 각각의 외부에 있는 요구된 관련 하드웨어는 CPU가 중단될 수 있든지 없든지 간에 사용된 운영 체제에 따라 상이할 수가 있다는 것을 주저해야 한다. 그럼에도 불구하고, 본 발명이 다수의 유용한 휴대용 컴퓨터 시스템에서 활동적으로 전력을 보존하기 위해서 요구된 가능한 시스템 특정 변경에 의해 본 발명의 범위가 제한되어서는 안된다. 예를 들면, 2개의 실제적인 구현이 제4도 및 제5도에 도시되어 있고, 다음에 설명된다.
오늘날 다수의 VSLI 설계가 CPU 속도의 클럭 스위칭을 가능하게 한다. 널(null) 클럭이나 느린 클럭 논리에서 빠른 클럭 논리로 스위치하는 논리는 사용자가 키보드 명령에 의해 속도를 변화시키게 하는 것과 마찬가지이다. 이러한 스위칭 논리로 작업하는 모니터(40)의 논리곱된 논리는 임의의 인터럽트의 검출시에 따른 클럭으로 즉각 복귀시킨다. 이 간단한 논리가 CPU를 인터럽트하기 위해 반드시 필요한 하드웨어 지원의 주요 기능을 함으로써 최고 속도로 인터럽트를 처리할 수 있게 된다.
MS-DOS 환경 하에서 전력 소비를 줄이기 위한 방법은 "무활동" 루프에 대한 액세스를 얻기 위해 MS-DOS 유휴 루프 트랩(MS-DOS IDLE loop trap)을 사용한다. 유휴 루프는 응용 소프트웨어 및 유휴나 로우 활동의 상태에 있는 운영 체제 동작에 대한 특별한 액세스를 제공한다. 주어진 임의의 시점에서 시스템내의 활동 레벨을 결정하기 위해 주의깊은 검사가 요청된다. 피드백 루프는 인터럽트(21H) 서비스 요청으로 활동 레벨을 결정하기 위해 사용된다. 활동 레벨의 예측이 인터럽트(21H) 요청에 의해 결정되면, 본 발명은 CPU를 "슬립핑" (느리게 하거나 중단시키기)하기 위한 슬라이스 기간을 셋트시킨다. 부가적인 특징은 사용자가 인터럽트(21H)의 활동 레벨에 따라 결정되는 슬라이스를 변경할 수 있다는 것이다.
(CPU가 클럭을 중단시킬 수 없는) 인텔(Intel) 80386과 같은 시스템을 위한 실제적인 슬립 하드웨어 구현을 개략적으로 도시한 제4도를 보자. 어드레스 인에이블 버스(600) 및 어드레스 버스(610)은 디멀티플렉서(620)에 CPU입력을 제공한다. 디멀티플렉서(620)의 출력은 SLEEPCS-를 따라 전송되고 OR 게이트(630, 640)으로의 입력으로서 제공된다. OR 게이트(630, 640)으로의 다른 입력들은 각각 I/O 기록 제어선 및 I/O 판독 제어선이다. NOR 게이트(650)뿐만 아니라 이 게이트들의 출력은 포트를 해독하기 위해 D 플립 플롭(660)에 인가된다. "INTR"은 I/O 포트(주변장치)에서 NOR 게이트(650)으로의 인터럽트 입력인데, 이것은 논리 하드웨어가 고속 클럭에 역스위치하게 한다. 그러면, OR 게이트(630)으로부터의 출력과 함께 플립플롭(660)의 출력이 3 상태 버퍼(tristate buffer, 670)로 공급되어, 그 버퍼가 포트에 있는 것을 다시 판독할 수 있도록 한다. 상술된 모든 하드웨어는 전력 보존 "슬립" 동작을 선택하기 위해 판독/기록 I/O 포트(주변 장치)에 의해 사용된다. 출력 "SLOW-"은 제2도의 "슬립"과 동일하고, 나중에 설명될 플립 플롭(680)에 입력된다.
슬립 클럭 발진기(690)의 출력은 D 플립 플롭(700, 710)에 의해 2개의 보다 느린 클럭으로 분할된다. 제4도에 도시된 특징 구현에 있어서, 16의 슬립 클럭발진기(690)은 4클럭과 8클럭으로 분할된다. 점퍼(jumper, J1)은 어느 클럭이 "슬립 클럭"이 될 것인지를 선택한다.
이 특정 구현에 있어서, 고속 클럭 발진기(720)은 32발진기이지만, 이 특정 속도가 본 발명의 요구 조건은 아니다. 32발진기는 저항기(도시된 구현의 경우엔 33 오옴)와 직렬로 배치되고, 이 저항기는 2개의 병렬 캐패시터(10 pF)와 직렬이다. 이러한 발진의 결과는 D 플립 플롭(730, 740)의 클럭에 결합된다.
D 플립플롭(680, 730, 740)은 플립 플롭을 동기화하는데, (680, 730)은 제2도의 간단한 슬립 하드웨어에는 도시되지 않았다. 이 플립 플롭은 클럭 스위치가 클럭에지에서만 발생하도록 하기 위해 사용된다. 제4도에 도시된 바와 같이, 제2도의 플립 플롭(500)에서처럼, 플립 플롭(740)의 출력은 CPU가 슬립되는지("FASTEN-") 활성되는지("SLOWEN-")에 따라 OR 게이트(750) 또는 OR 게이트(760)을 활동시킨다.
OR 게이트(750, 760)과 AND 게이트(770)은 제2도의 AND/OR 선택기와 기능적으로 동일하다. 이것들은 (느린 클럭, 슬립 클럭으로도 공지된) "SLOWCLK" 또는 (도입선상에서 32로 지정된) 고속 클럭을 선택할 책임이 있다. 이 구현에 있어서, 느린 클럭은 점퍼(J1)에 따라 4또는 8이고, 고속 클럭은 32이다. AND 게이트(770, ATUCLK)의 출력은 CPU 클럭 속도를 설정하는데, 제2도의 CPU 클럭과 동일하다.
인텔 80286(CPU가 클럭을 중단시킬 수 있다)과 같은 시스템을 위한 다른 실제의 슬립 하드웨어 구현을 개략적으로 도시한 제5도를 고찰하자. 웨스턴 디지탈 FE3600 VLSI(Western Disital FE3600 VLSI)는 임의의 인터럽트 상태인 CPU를 활성시키는 인터럽트 게이팅(interrupt gating)을 제어하기 위해 특별한 외부 PAL(780)을 가진 고속 스위칭에 사용된다. 본 발명에 따른 소프트웨어 전력 보존은 인터럽트 승인을 모니터하고, 인터럽트 후의 다음 P(i)△Ti 시간 간격을 활동시킨다.
CPU에 대한 임의의 인터럽트 요청은 시스템을 정상적인 동작 상태로 복귀시킬 것이다. CPU에 대한 인터럽트 요청("INTRQ")은 시스템을 다시 정상 상태가 되게 하기 위해 PAL이 CPU 및 DMA 클럭들을 인에이블시키는(도시되지 않은) FE3001로 RESCPU 선상의 활성 신호를 전송하게 한다. 이것은 제2도의 "인터럽트-"와 동일하다. 인터럽트 요청은 인터럽트(INTDET)가 사이클이 활동 중인 동안에만 검출되도록 상태 기계(state machine)를 혼란시키는 것을 방지하기 위해 동기화 된다. RESCPU의 상승 에지는 슬립 모드로부터 전체 시스템을 벗어나게 하는 FE3001을 활성시킨다.
386SX의 구현은 외부 하드웨어 및 소프트웨어 전력 보존 루프에서만 상이할 뿐이다. 소프트웨어 루프는 인터럽트를 벡터링하기 전에 외부 하드웨어를 인터럽트시의 고속 클럭으로 설정하도록 한다. 일단 전력 보존 소프트웨어로 복귀하면, 고속 클럭 사이클은 검출되고 하드웨어는 완전한 클럭 동작으로 리셋된다.
OS/2 구현은 낮은 우선순위를 가진 백그라운드 동작시에 수행되는 THREAD처럼 프로그램된 "무활동" 루프를 사용한다. THREAD가 일단 활동되면, 인터럽트 발생시까지 CPU 슬립이나 저속 클럭 동작이 활성되며, 인터럽트에 의해 원래의 CPU 클럭 속도로 다시 복귀된다.
본 발명의 양호한 실시예에서는 CPU 활성시키기 위해 인터럽트가 사용되었지만, 시스템내에서나 시스템에 인가된 주기적인 임의의 활동도 동일한 기능을 위해 사용될 수 있다는 것을 주지해야 한다.
본 발명의 양호한 실시예의 다수의 구현들이 도시되고 설명되었으나, 여러 가지 수정 및 다른 실시예가 본 기술분야의 숙련자에 의해 이루어질 것이다. 따라서, 본 발명은 첨부된 특허 청구 범위에 의해서만 제한된다.

Claims (36)

  1. 적어도 한 개의 중앙 처리 장치(CPU)를 포함하고 운영 체제에 의해 제어되는 휴대용 컴퓨터를 위한 실시간 전력 보존 방법에 있어서, (a) 상기 운영 체제로부터 제어를 받아들이는 단계, (b) 상기 적어도 한 개의 CPU가 슬립될 수 있는 지를 판단하는 단계, (c) 상기 적어도 한 개의 CPU 각각에 대한 현재 클럭 속도를 판단하는 단계, (d) 상기 판단된 현재 클럭 속도와 동일한 값을 보존하는 단계, (e) 하드웨어 선택기에 상기 적어도 한 개의 CPU를 슬립시킬 것을 지시하는 단계, (f) 인터럽트가 발생했는지를 판단하는 단계, (g) 인터럽트가 발생하지 않았으며, 인터럽트가 발생할 때까지 상기 CPU가 슬립한 채로 남아있는 단계 (f)를 반복하는 단계, (h) 인터럽트가 발생했으면, 상기 하드웨어 선택기에서 상기 적어도 한 개의 CPU를 활성시킬 것을 지시하는 단계, i) 상기 판단된 현재 클럭 속도와 일치하는 상기 보존된 값을 검색하는 (retrieving) 단계, j) 상기 검색된 값과 일치하게 상기 현재 클럭 속도를 셋트하는 단계, 및 (k) 상기 운영 체제에 제어를 복귀시키는 단계를 포함하는 컴퓨터용 실시간 전력 보존 방법.
  2. 제1항에 있어서, 하드웨어 선택기에 상기 적어도 한 개의 CPU를 슬립시킬 것을 지시하는 상기 단계(e)는, (l) 상기 하드웨어 선택기로의 통신선을 통해 슬립 CPU 명령을 상기 하드웨어 선택기에 펄싱(pulsing)하는 단계, (m) 상기 슬립 CPU 명령에 기초하여 상기 하드웨어 선택기에 의해 슬립 클럭을 선택하는 단계, 및 (n) 상기 슬립 클럭으로부터의 펄스를 상기 CPU에 전함으로써 상기 CPU를 슬립시키는 단계를 더 포함하는 컴퓨터용 실시간 전력 보존 방법.
  3. 제1항 또는 제2항에 있어서, 상기 하드웨어 선택기에 상기 적어도 한 개의 CPU를 활성시킬 것을 지시하는 상기 단계(h)는, (o) 상기 하드웨어 선택기로의 통신선을 통해 슬립 CPU 명령을 상기 하드웨어 선택기에 펄싱하는 단계, (p) 상기 활성 CPU 명령에 기초하여 상기 하드웨어 선택기에 의해 고속 클럭을 선택하는 단계, 및 (q) 상기 고속 클럭으로부터의 펄스를 상기 CPU에 전함으로써 상기 CPU를 활성시키는 단계를 더 포함하는 컴퓨터용 실시간 전력 보존 방법.
  4. 제1항 또는 제2항에 있어서, 상기 적어도 한 개의 CPU가 슬립될 수 있는지를 판단하는 상기 단계(b)는, (r) 상기 CPU가 이미 슬립되어 있는지를 검사하는 단계, (s) 상기 CPU가 슬립되어있지 않으면, 상기 CPU가 슬립되기 전에 상기 CPU를 활성시키는데 유효한 인터럽트가 있는지를 판단하는 단계, 및 (t) 인터럽트가 유효하지 않으면 상기 운영 체제로 제어를 복귀시키는 단계를 더 포함하는 컴퓨터용 실시간 전력 보존 방법.
  5. 제1항 또는 제2항에 있어서, 상기 적어도 한 개의 CPU가 슬립될 수 있는지를 판단하는 상기 단계(b)는, (r) 상기 CPU가 요청을 받았는지를 검사하는 단계, (s) 상기 CPU가 요청을 받았으면, 상기 요청이 긴급(critical) 입력/출력인지 판단하는 단계, (t) 상기 요청이 긴급 입력/출력이면, 상기 운영 체제로 제어를 복귀시키는 단계, (u) 상기 요청이 긴급 입력/출력이 아니면, 상기 CPU가 슬립되기 전에 상기 CPU를 활성시키는데 유효한 임의의 인터럽트가 있는지를 판단하는 단계, (v) 인터럽트가 유효하지 않으면, 상기 운영 체제로 제어를 복귀시키는 단계, (w) 상기 요청이 느린 입력/출력으로부터 발생한 것인지를 판단하는 단계, 및 (x) 상기 요청이 느린 입력/출력으로부터 발생한 것이 아니라면, 상기 운영 체제로 제어를 복귀시키는 단계를 더 포함하는 컴퓨터용 실시간 전력 보존 방법.
  6. 제1항에 있어서, 하드웨어 선택기에서 상기 적어도 한 개의 CPU를 슬립시킬 것을 지시하는 상기 단계(e)는, (l) CPU 활동이 증가되었는지를 판단하는 단계와, (m) 상기 단계(l)의 판단에 따라 CPU 휴식 시간 간격을 조정하는 단계를 더 포함하는 컴퓨터용 실시간 전력 보존 방법.
  7. 제1항에 있어서, 상기 인터럽트는 시스템 내에서의 임의의 주기적인 활동일 수 있는, 컴퓨터용 실시간 전력 보존 방법.
  8. 중앙 처리 장치(CPU)를 포함하는 컴퓨터와, 실시간 성능의 저하(real-time performance degradation)없이 상기 중앙 처리 장치(CPU)의 실시간 활동 레벨(activity level)에 근거하여 상기 중앙 처리 장치(CPU) 클럭 속도를 감소시키기 위한 수단을 포함하는 장치.
  9. 중앙 처리 장치(CPU)를 포함하는 컴퓨터와, 상기 중앙 처리 장치로 전송되는 클럭 신호를 실시간 성능의 저하없이 상기 중앙 처리 장치(CPU)의 실시간 활동 레벨에 근거하여 선택적으로 정지시키기 위한 수단을 포함하는 장치.
  10. 중앙 처리 장치(CPU)와, 상기 CPU의 유휴 시간(idle time)의 상대적인 양을 측정하기 위한 모니터와, 상기 모니터에 결합되어 있는 클럭 매니저(clock manager)를 포함하며, 상기 클럭 매니저는 상기 CPU에 전송되는 클럭 신호를 선택적으로 변경하여 상기 CPU의 이용율을 최적화하는 장치.
  11. 중앙 처리 장치(CPU)와, 상기 CPU의 유휴 시간의 상대적인 양을 측정하기 위한 모니터와, 상기 모니터에 결합되어 있는 클럭 매니저를 포함하며, 상기 클럭 매니저는 상기 CPU에 이용률이 선정된 레벨 미만으로 낮아지는 것에 응하여, 상기 CPU에 전송되는 클럭 신호를 선택적으로 변경하는 장치,
  12. 중앙 처리 장치(CPU)와, 상기 CPU의 유휴 시간의 상대적인 양을 측정하기 위한 모니터와, 상기 모니터에 결합되어 있는 클럭 매니저를 포함하며, 상기 클럭 매니저는 상기 CPU로 전송되는 클럭 신호를 선택적으로 변경하여 상기 CPU의 유휴 시간량을 최소화하는 장치.
  13. 중앙 처리 장치(CPU)와, 상기 CPU의 유휴 시간의 상대적인 양을 측정하기 위한 모니터와, 상기 모니터에 결합되어 있는 클럭 매니저를 포함하며, 상기 클럭 매니저는 상기 CPU의 이용율이 선정된 레벨 미만으로 낮아지는 것에 응하여 상기 CPU로 전송되는 클럭 신호를 선택적으로 변경하여 상기 CPU의 유휴 시간의 상대적인 양을 최소화하는 장치.
  14. 중앙 처리 장치(CPU)와, 상기 CPU의 활동 시간의 상대적인 양을 측정하기 위한 모니터와, 상기 모니터에 결합되어 있는 클럭 매니저를 포함하며, 상기 클럭 매니저는 상기 CPU로 전송되는 클럭 신호를 선택적으로 변경하여 상기 CPU의 이용률을 최적화하는 장치.
  15. 중앙 처리 장치(CPU)와, 상기 CPU의 활동 시간의 상대적인 양을 측정하기 위한 모니터와, 상기 모니터에 결합되어 있는 클럭 매니저를 포함하며, 상기 클럭 매니저는 상기 CPU의 이용도가 선정된 레벨 미만으로 낮아지는 것에 응하여 상기 CPU로 전송되는 클럭 신호를 선택적으로 변경하는 장치.
  16. 중앙 처리 장치(CPU)와, 상기 CPU의 활동 시간의 상대적인 양을 측정하기 위한 모니터와, 상기 모니터에 결합되어 있는 클럭 매니저를 포함하며, 상기 클럭 매니저는 상기 CPU로 전송되는 클럭 신호를 선택적으로 변경하여 상기 CPU의 활동 시간을 최적화하는 장치.
  17. 중앙 처리 장치(CPU)와, 상기 CPU의 활동 시간의 상대적인 양을 측정하기 위한 모니터와, 상기 모니터에 결합되어 있는 클럭 매니저를 포함하며, 상기 클럭 매니저는 상기 CPU의 이용률이 선정된 레벨 미만으로 낮아지는 것에 응하여 상기 CPU로 전송되는 클럭 신호를 선택적으로 변경하여 상기 CPU의 활동 시간을 최적화하는 장치.
  18. 중앙 처리 장치(CPU)와, 상기 CPU의 유휴 시간과 활동시간의 상대적인 양을 측정하기 위한 모니터와, 상기 모니터에 결합되어 있는 클럭 매니저를 포함하며, 상기 클럭 매니저는 상기 CPU로 전송되는 클럭 신호를 선택적으로 변경하여 상기 CPU의 이용율을 최적화하는 장치.
  19. 중앙 처리 장치(CPU)와, 상기 CPU의 유휴 시간의 상대적인 양을 측정하기 위한 모니터와, 상기 모니터에 결합되어 있는 클럭 매니저를 포함하며, 상기 클럭 매니저는 상기 CPU의 이용률이 선정된 레벨 미만으로 낮아지는 것에 응하여 상기 CPU로 전송되는 클럭 신호를 선택적으로 변경하는 장치.
  20. 중앙 처리 장치(CPU)와, 상기 CPU의 유휴 시간과 활동 시간의 상대적인 양을 측정하기 위한 모니터와, 상기 모니터에 결합되어 있는 클럭 매니저를 포함하며, 상기 클럭 매니저는 상기 CPU로 전송되는 클럭 신호를 선택적으로 변경하여 상기 CPU의 유휴 시간량을 최소화하고 상기 CPU의 활동 시간을 최적화하는 장치.
  21. 중앙 처리 장치(CPU)와, 상기 CPU의 유후 시간과 활동 시간의 상대적인 양을 측정하기 위한 모니터와, 상기 모니터에 결합되어 있는 클럭 매니저를 포함하며, 상기 클럭 매니저는 상기 CPU의 이용율이 선정된 레벨 미만으로 낮아지는 것에 응하여 상기 CPU로 전송되는 클럭 신호를 선택적으로 변경하여 상기 CPU의 유휴 시간량을 최소화하고 활동 시간을 최적화하는 장치.
  22. 중앙 처리 장치(CPU)와, 상기 CPU의 이용도를 측정하기 위한 모니터와, 상기 모니터에 결합되어 있는 클럭 매니저를 포함하며, 상기 클럭 매니저는 상기 CPU로 전송되는 클럭 신호를 선택적으로 변경하여 상기 CPU의 이용율을 최적화하는 장치.
  23. 클럭에 결합되어 있는 중앙 처리 장치(CPU)와, 상기 CPU의 유휴 시간과 활동 시간의 상대적인 양을 모니터하기 위한 수단과, 상기 모니터하는 수단에 응하여, 상기 클럭이 오프(OFF) 상태에 있는 시간주기를 제어하기 위한 수단으로서, 상기 클럭이 오프 상태에 있는 상기 시간 주기의 길이를 상기 CPU가 최적화된 이용율에서 작동되도록 하기에 적합한 값이 되도록 제어하기 위한 수단을 포함하는 장치.
  24. 클럭에 결합되어 있는 중앙 처리 장치(CPU)와, 상기 CPU의 유휴 시간과 활동 시간의 상대적인 양을 측정하기 위한 모니터와, 상기 모니터에 결합되어 있는 클럭 매니저를 포함하며, 상기 클럭 매니저는 상기 클럭이 오프(OFF) 상태에 있는 시간 주기를 제어하되, 상기 클럭이 오프 상태에 있는 상기 시간 주기의 길이를 상기 CPU가 최적화된 이용율에서 작동되도록 하기에 적합한 값이 되도록 제어하는 장치.
  25. 제31항에 있어서, 상기 CPU의 에너지 소비는 상기 클럭이 오프 상태에 있는 각 시간 주기의 길이가 0일 때 최대가 되는 장치.
  26. 제31항에 있어서, 상기 CPU의 에너지 소비는 상기 클럭이 오프 상태에 있는 각 시간 주기의 길이가 증가할 때 감소하는 장치.
  27. 제31항에 있어서, 상기 클럭이 오프 상태에 있는 상기 시간 주기는 상기 CPU의 상기 이용율을 최적화하도록 끊임없이 조정되는 장치.
  28. 제31항에 있어서, 상기 오프 상태는 상기 CPU가 작동될 수 있는 최소한의 클럭 속도를 나타내는 장치.
  29. 제31항에 있어서, 상기 최소한의 클럭 속도는 정지시킬 수 있는 CPU에 대해서는 0이 될 수 있는 장치.
  30. 제31항 내지 제36항 중 어느 한 항에 있어서, 상기 모니터는 상기 CPU가 긴급 I/O(critical I/O)를 처리하는 동안에 상기 클럭 신호를 변경하는 것을 금지하는 장치.
  31. 제31항 내지 제36항 중 어느 한 항에 있어서, 상기 모니터는 상기 클럭 매니저에게 신호를 보내되, 상기 신호는 상기 클럭 매니저에, 상기 모니터가 긴급 I/O 요청을 검출한 것에 응하여, CPU에 전송되는 클럭 신호를 복구(demodify)하도록 요청하는 장치.
  32. 제31항 내지 제36항 중 어느 한 항에 있어서, 상기 모니터는 상기 중앙 처리 장치에 장착(on board)되어 있는 장치.
  33. 제31항 내지 제36항 중 어느 한 항에 있어서, 상기 모니터는 자체-튜닝(self-tuning)하는 장치.
  34. 제31항 내지 제36항 중 어느 한 항에 있어서, 상기 모니터는 계속적인 피드백 루프(continuous feedback loops)의 제어 시스템을 이용하는 장치.
  35. 제31항 내지 제36항 중 어느 한 항에 있어서, 상기 클럭 매니저는 상기 클럭 신호를 발생시키는 클럭이 오프 상태에 있는 시간 주기를 제어함으로써 상기 클럭 속도를 선택적으로 변경하는 장치.
  36. 제31항 내지 제36항 중 어느 한 항에 있어서, 상기 CPU의 에너지 소비는 상기 클럭이 오프 상태에 있는 각 시간 주기의 길이가 0일 때에 최대가 되는 장치.
KR1019900017452A 1989-10-30 1990-10-30 컴퓨터용 실시간 전력 보존 방법 및 장치 KR100227297B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/429,270 US5218704A (en) 1989-10-30 1989-10-30 Real-time power conservation for portable computers
US429270 1989-10-30

Publications (2)

Publication Number Publication Date
KR910008590A KR910008590A (ko) 1991-05-31
KR100227297B1 true KR100227297B1 (ko) 1999-11-01

Family

ID=23702544

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900017452A KR100227297B1 (ko) 1989-10-30 1990-10-30 컴퓨터용 실시간 전력 보존 방법 및 장치

Country Status (6)

Country Link
US (14) US5218704A (ko)
EP (1) EP0426410B1 (ko)
JP (1) JPH03210617A (ko)
KR (1) KR100227297B1 (ko)
CN (1) CN1024226C (ko)
DE (1) DE69027510T2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100858766B1 (ko) * 2003-05-07 2008-09-16 애플 인크. 프로세서 시스템의 동적 전력 관리를 위한 방법 및 장치

Families Citing this family (302)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2063413C (en) * 1989-06-30 2000-08-15 Leroy D. Harper Computer power management system
US7194646B1 (en) * 1989-10-30 2007-03-20 Texas Instruments Incorporated Real-time thermal management for computers
US5218704A (en) 1989-10-30 1993-06-08 Texas Instruments Real-time power conservation for portable computers
US6158012A (en) * 1989-10-30 2000-12-05 Texas Instruments Incorporated Real-time power conservation and thermal management for computers
US6848054B1 (en) * 1989-10-30 2005-01-25 Texas Instruments Incorporated Real-time computer thermal management and power conservation
JPH03231320A (ja) * 1990-02-06 1991-10-15 Mitsubishi Electric Corp マイクロコンピュータシステム
US5355501A (en) * 1990-03-09 1994-10-11 Novell, Inc. Idle detection system
US6839855B2 (en) * 1990-03-23 2005-01-04 Matsushita Electric Industrial Co., Ltd. Data processing apparatus
JP2762670B2 (ja) * 1990-03-30 1998-06-04 松下電器産業株式会社 データ処理装置
US5355503A (en) * 1990-05-31 1994-10-11 National Semiconductor Corporation Event driven scanning of data input equipment using multi-input wake-up techniques
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
US5560017A (en) * 1990-11-09 1996-09-24 Wang Laboratories, Inc. System with clock frequency controller responsive to interrupt independent of software routine and software loop repeatedly executing instruction to slow down system clock
US5430881A (en) * 1990-12-28 1995-07-04 Dia Semicon Systems Incorporated Supervisory control method and power saving control unit for computer system
JPH04236682A (ja) * 1991-01-18 1992-08-25 Mitsubishi Electric Corp マイクロコンピュータシステム
US5566340A (en) * 1991-02-14 1996-10-15 Dell Usa L.P. Portable computer system with adaptive power control parameters
US5504907A (en) * 1991-02-14 1996-04-02 Dell Usa, L.P. Power management system with adaptive control parameters for portable computer
KR950005225B1 (ko) * 1991-03-26 1995-05-22 가부시끼가이샤 히다찌세이사꾸쇼 데이타 처리장치, 전원 콘트롤러 및 디스플레이 장치
US5432946A (en) * 1991-04-11 1995-07-11 International Business Machines Corp. LAN server personal computer with unattended activation capability
US5394527A (en) * 1991-05-17 1995-02-28 Zenith Data Systems Corporation Method and apparatus facilitating use of a hard disk drive in a computer system having suspend/resume capability
US5652890A (en) * 1991-05-17 1997-07-29 Vantus Technologies, Inc. Interrupt for a protected mode microprocessor which facilitates transparent entry to and exit from suspend mode
US5446904A (en) 1991-05-17 1995-08-29 Zenith Data Systems Corporation Suspend/resume capability for a protected mode microprocessor
US5414861A (en) * 1991-09-11 1995-05-09 Fujitsu Limited Data protection system using different levels of reserve power to maintain data in volatile memories for any period of time
AU665354B2 (en) * 1991-09-13 1996-01-04 Wang Laboratories, Inc. Power savings with MS-DOS idle loop
DE69224661T2 (de) 1991-12-17 1998-08-27 Compaq Computer Corp Vorrichtung zur verminderung des energieverbrauchs eines rechnersystems
US5369771A (en) * 1991-12-23 1994-11-29 Dell U.S.A., L.P. Computer with transparent power-saving manipulation of CPU clock
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
US5452401A (en) * 1992-03-31 1995-09-19 Seiko Epson Corporation Selective power-down for high performance CPU/system
US6193422B1 (en) * 1992-04-03 2001-02-27 Nec Corporation Implementation of idle mode in a suspend/resume microprocessor system
US5469553A (en) * 1992-04-16 1995-11-21 Quantum Corporation Event driven power reducing software state machine
US5537660A (en) * 1992-04-17 1996-07-16 Intel Corporation Microcontroller having selectable bus timing modes based on primary and secondary clocks for controlling the exchange of data with memory
EP0574177B2 (en) * 1992-06-12 2003-08-20 Texas Instruments Incorporated Method and apparatus for changing processor clock rate
US5404459A (en) * 1992-07-21 1995-04-04 Advanced Micro Devices Serial interface module and method in which the clock is only activated to send a predetermined number of data bits
US5581297A (en) * 1992-07-24 1996-12-03 Intelligent Instruments Corporation Low power video security monitoring 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
US5416726A (en) * 1992-10-06 1995-05-16 Microsoft Corporation Method and system for placing a computer in a reduced power state
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
US5485623A (en) * 1993-03-10 1996-01-16 Hitachi, Ltd. Information processor having high speed and safety resume system
US5337285A (en) * 1993-05-21 1994-08-09 Rambus, Inc. Method and apparatus for power control in devices
US5446906A (en) * 1993-06-30 1995-08-29 Intel Corporation Method and apparatus for suspending and resuming a keyboard controller
US7216064B1 (en) 1993-09-21 2007-05-08 Intel Corporation Method and apparatus for programmable thermal sensor for an integrated circuit
US5542035A (en) * 1993-10-27 1996-07-30 Elonex Technologies Timer-controlled computer system shutdown and startup
US5467042A (en) * 1993-11-08 1995-11-14 Cirrus Logic, Inc. Low power clocking apparatus and method
US6061803A (en) * 1993-11-15 2000-05-09 International Microcircuits, Inc. Variable frequency clock for an electronic system and method therefor
US5471608A (en) * 1993-12-09 1995-11-28 Pitney Bowes Inc. Dynamically programmable timer-counter having enable mode for timer data load and monitoring circuit to allow enable mode only upon time-out
US6865684B2 (en) * 1993-12-13 2005-03-08 Hewlett-Packard Development Company, L.P. Utilization-based power management of a clocked device
US5630008A (en) * 1993-12-28 1997-05-13 Mitsumi Electric Co., Ltd. Control circuit for driving motor with reduced power consumption and disk unit having the control circuit
US5706407A (en) * 1993-12-28 1998-01-06 Kabushiki Kaisha Toshiba System for reallocation of memory banks in memory sized order
US5504910A (en) * 1994-02-02 1996-04-02 Advanced Micro Devices, Inc. Power management unit including software configurable state register and time-out counters for protecting against misbehaved software
US5511203A (en) * 1994-02-02 1996-04-23 Advanced Micro Devices Power management system distinguishing between primary and secondary system activity
KR0130621B1 (ko) * 1994-04-27 1998-04-09 김광호 전자사진 현상 방식 프린터의 절전 프린팅 방법
EP0683451B1 (en) * 1994-05-09 2004-02-25 Canon Kabushiki Kaisha Power supply control method in multi-task environment
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
US7167993B1 (en) * 1994-06-20 2007-01-23 Thomas C Douglass Thermal and power management for computer systems
US5511204A (en) * 1994-09-07 1996-04-23 International Business Machines Corporation Performing system tasks at power-off using system management interrupt
US5675810A (en) * 1994-09-07 1997-10-07 Compaq Computer Corporation Reducing power usage in a personal computer
US5603038A (en) * 1994-09-07 1997-02-11 International Business Machines Corporation Automatic restoration of user options after power loss
US6311287B1 (en) * 1994-10-11 2001-10-30 Compaq Computer Corporation Variable frequency clock control for microprocessor-based computer systems
US5590342A (en) * 1994-11-29 1996-12-31 Intel Corporation Method and apparatus for reducing power consumption in a computer system using virtual device drivers
US5754436A (en) * 1994-12-22 1998-05-19 Texas Instruments Incorporated Adaptive power management processes, circuits and systems
US5771390A (en) * 1995-01-05 1998-06-23 Dell Usa, L.P. System and method for cascading from a power managed suspend state to a suspend-to-disk state in a computer system
US6192479B1 (en) 1995-01-19 2001-02-20 Texas Instruments Incorporated Data processing with progressive, adaptive, CPU-driven power management
US5710933A (en) * 1995-03-31 1998-01-20 International Business Machines Corporation System resource enable apparatus
JPH08314587A (ja) * 1995-05-15 1996-11-29 Nec Corp 省電力電源回路
US5926404A (en) * 1995-05-23 1999-07-20 Dell Usa, L.P. Computer system with unattended operation power-saving suspend mode
US5752044A (en) * 1995-06-07 1998-05-12 International Business Machines Corporation Computer system having multi-level suspend timers to suspend from operation in attended and unattended modes
DE69606769T2 (de) 1995-06-07 2000-11-16 Seiko Epson Corp Rechnersystem mit einem videoanzeigesteuergerät mit leistungssparbetriebsarten
US5901322A (en) * 1995-06-22 1999-05-04 National Semiconductor Corporation Method and apparatus for dynamic control of clocks in a multiple clock processor, particularly for a data cache
US5727208A (en) * 1995-07-03 1998-03-10 Dell U.S.A. L.P. Method and apparatus for configuration of processor operating parameters
US6282662B1 (en) * 1995-08-04 2001-08-28 Dell Usa, L.P. Power management override for portable computers
US5983339A (en) * 1995-08-21 1999-11-09 International Business Machines Corporation Power down system and method for pipelined logic functions
US5751945A (en) * 1995-10-02 1998-05-12 International Business Machines Corporation Method and system for performance monitoring stalls to identify pipeline bottlenecks and stalls in a processing system
US5729726A (en) * 1995-10-02 1998-03-17 International Business Machines Corporation Method and system for performance monitoring efficiency of branch unit operation in a processing system
US5797019A (en) * 1995-10-02 1998-08-18 International Business Machines Corporation Method and system for performance monitoring time lengths of disabled interrupts in a processing system
US5748855A (en) * 1995-10-02 1998-05-05 Iinternational Business Machines Corporation Method and system for performance monitoring of misaligned memory accesses in a processing system
US5949971A (en) * 1995-10-02 1999-09-07 International Business Machines Corporation Method and system for performance monitoring through identification of frequency and length of time of execution of serialization instructions in a processing system
US5691920A (en) * 1995-10-02 1997-11-25 International Business Machines Corporation Method and system for performance monitoring of dispatch unit efficiency in a processing system
US5752062A (en) * 1995-10-02 1998-05-12 International Business Machines Corporation Method and system for performance monitoring through monitoring an order of processor events during execution in a processing system
KR0167648B1 (ko) * 1995-10-10 1999-01-15 김광호 일체형 컴퓨터의 전원 공급 제어 장치 및 그 방법
US5867718A (en) * 1995-11-29 1999-02-02 National Semiconductor Corporation Method and apparatus for waking up a computer system via a parallel port
US7822996B2 (en) * 1995-12-07 2010-10-26 Texas Instruments Incorporated Method for implementing thermal management in a processor and/or apparatus and/or system employing the same
US5758133A (en) * 1995-12-28 1998-05-26 Vlsi Technology, Inc. System and method for altering bus speed based on bus utilization
EP1416355B1 (en) * 1996-01-17 2014-08-13 Texas Instruments Incorporated Improvements in or relating to central processing units
KR100468561B1 (ko) * 1996-01-17 2005-06-21 텍사스 인스트루먼츠 인코포레이티드 중앙처리장치의동작특성에따라컴퓨터의동작을제어하는방법및시스템
US5754867A (en) * 1996-03-20 1998-05-19 Vlsi Technology, Inc. Method for optimizing performance versus power consumption using external/internal clock frequency ratios
US6065138A (en) * 1996-03-29 2000-05-16 Magnitude Llc Computer activity monitoring system
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
US5887179A (en) * 1996-06-11 1999-03-23 Motorola, Inc. System power saving means and method
JP3617877B2 (ja) * 1996-07-31 2005-02-09 株式会社東芝 コンピュータシステムおよびその自動起動方法
US5903746A (en) * 1996-11-04 1999-05-11 Texas Instruments Incorporated Apparatus and method for automatically sequencing clocks in a data processing system when entering or leaving a low power state
US5790609A (en) * 1996-11-04 1998-08-04 Texas Instruments Incorporated Apparatus for cleanly switching between various clock sources in a data processing system
US5900875A (en) * 1997-01-29 1999-05-04 3Com Corporation Method and apparatus for interacting with a portable computer system
US6300946B1 (en) * 1997-01-29 2001-10-09 Palm, Inc. Method and apparatus for interacting with a portable computer
US6601111B1 (en) 1997-01-29 2003-07-29 Palmsource, Inc. Method and apparatus for unified external and interprocess communication
US6115823A (en) 1997-06-17 2000-09-05 Amphus, Inc. System and method for task performance based dynamic distributed power management in a computer system and design method therefor
US5987614A (en) * 1997-06-17 1999-11-16 Vadem Distributed power management system and method for computer
US6188830B1 (en) 1997-07-14 2001-02-13 Sony Corporation Audiovisual effects processing method and apparatus for instantaneous storage-based playback of audio data in synchronization with video data
DE69722790T2 (de) * 1997-09-12 2004-05-06 Em Microelectronic-Marin S.A. Mittel zum Aufwecken eines Systems, das in Schlafmodus arbeitet
US6675233B1 (en) * 1998-03-26 2004-01-06 O2 Micro International Limited Audio controller for portable electronic devices
US6895448B2 (en) 1998-03-26 2005-05-17 O2 Micro, Inc. Low-power audio CD player for portable computers
US6954804B2 (en) * 1998-03-26 2005-10-11 Micro, Inc. Controller for portable electronic devices
US6243785B1 (en) * 1998-05-20 2001-06-05 3Com Corporation Hardware assisted polling for software drivers
US6345363B1 (en) 1998-06-23 2002-02-05 National Semiconductor Corporation Microprocessor core power reduction by not reloading existing operands
CN1196987C (zh) * 1998-08-14 2005-04-13 西门子公司 为处理器控制的设备提供时钟脉冲的方法和装置
US6378081B1 (en) * 1998-10-01 2002-04-23 Gateway, Inc. Power conservation without performance reduction in a power-managed system
FI117523B (fi) 1998-10-07 2006-11-15 Nokia Corp Menetelmä tehonkulutuksen säätämiseksi
US6088806A (en) * 1998-10-20 2000-07-11 Seiko Epson Corporation Apparatus and method with improved power-down mode
US6347377B2 (en) 1998-11-04 2002-02-12 Phoenix Technologies Ltd. Method and apparatus for providing intelligent power management
US6324651B2 (en) 1998-11-12 2001-11-27 International Business Machines Corporation Method and apparatus for saving device state while a computer system is in sleep mode
KR100304196B1 (ko) * 1998-11-18 2001-12-17 윤종용 정지모드해제오류검출기능및정상모드로의복구기능을갖는마이크로컨트롤러
US6298448B1 (en) 1998-12-21 2001-10-02 Siemens Information And Communication Networks, Inc. Apparatus and method for automatic CPU speed control based on application-specific criteria
JP3526009B2 (ja) 1999-02-09 2004-05-10 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ・システムにおける電力管理装置および電力管理方法
US6523157B1 (en) 1999-04-30 2003-02-18 Matsushita Electric Industrial Co., Ltd. Method for designing integrated circuit device and database for design of integrated circuit device
US6374169B1 (en) * 1999-09-23 2002-04-16 Caterpillar Inc. Apparatus and method for conserving power on an earth moving machine having a mobile communicator
US6675304B1 (en) * 1999-11-29 2004-01-06 Intel Corporation System for transitioning a processor from a higher to a lower activity state by switching in and out of an impedance on the voltage regulator
US7100061B2 (en) 2000-01-18 2006-08-29 Transmeta Corporation Adaptive power control
JP3538358B2 (ja) * 2000-02-17 2004-06-14 三菱電機株式会社 プログラマブル・コントローラ
US6665802B1 (en) 2000-02-29 2003-12-16 Infineon Technologies North America Corp. Power management and control for a microcontroller
US6574739B1 (en) * 2000-04-14 2003-06-03 Compal Electronics, Inc. Dynamic power saving by monitoring CPU utilization
KR100361340B1 (ko) * 2000-05-15 2002-12-05 엘지전자 주식회사 씨피유 클럭 제어 방법
JP2002051459A (ja) * 2000-05-24 2002-02-15 Sii Rd Center:Kk 電子機器
US7849463B2 (en) 2000-06-02 2010-12-07 Microsoft Corporation Dynamically variable idle time thread scheduling
US7137117B2 (en) * 2000-06-02 2006-11-14 Microsoft Corporation Dynamically variable idle time thread scheduling
JP2001350739A (ja) * 2000-06-07 2001-12-21 Mitsubishi Electric Corp マイクロコンピュータ
US6968469B1 (en) 2000-06-16 2005-11-22 Transmeta Corporation System and method for preserving internal processor context when the processor is powered down and restoring the internal processor context when processor is restored
KR100613201B1 (ko) * 2000-08-28 2006-08-18 마이크로코넥트 엘엘씨 씨피유 사용량 측정 방법
US6608476B1 (en) * 2000-09-26 2003-08-19 Sun Microsystems, Inc. Method and apparatus for reducing power consumption
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
US7228441B2 (en) 2000-09-27 2007-06-05 Huron Ip Llc Multi-server and multi-CPU power management system and method
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
US7552350B2 (en) 2000-09-27 2009-06-23 Huron Ip Llc System and method for activity or event base dynamic energy conserving server reconfiguration
US7058826B2 (en) 2000-09-27 2006-06-06 Amphus, Inc. System, architecture, and method for logical server and other network devices in a dynamically configurable multi-server network 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
US7260731B1 (en) 2000-10-23 2007-08-21 Transmeta Corporation Saving power when in or transitioning to a static mode of a processor
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
US7526349B2 (en) * 2000-12-01 2009-04-28 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
US7522966B2 (en) * 2000-12-01 2009-04-21 O2Micro International Limited 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
US7522965B2 (en) 2000-12-01 2009-04-21 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US6694451B2 (en) 2000-12-07 2004-02-17 Hewlett-Packard Development Company, L.P. Method for redundant suspend to RAM
US7164885B2 (en) * 2000-12-18 2007-01-16 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for selective service access
US6694442B2 (en) * 2000-12-18 2004-02-17 Asustek Computer Inc. Method for saving power in a computer by idling system controller and reducing frequency of host clock signal used by system controller
US6671658B2 (en) * 2000-12-23 2003-12-30 Hewlett-Packard Development Company, L.P Method for service level estimation in an operating computer system
US6802018B2 (en) * 2000-12-27 2004-10-05 Intel Corporation Method and apparatus to directly access a peripheral device when central processor operations are suspended
US6802015B2 (en) * 2000-12-29 2004-10-05 Hewlett-Packard Development Company, L.P. Method for accelerating the speed of a CPU using a system command having an operation not associated with changing the speed of the CPU
US7596709B2 (en) * 2000-12-30 2009-09-29 Intel Corporation CPU power management based on utilization with lowest performance mode at the mid-utilization range
US6829713B2 (en) * 2000-12-30 2004-12-07 Intel Corporation CPU power management based on utilization with lowest performance mode at the mid-utilization range
US6851068B2 (en) * 2001-01-17 2005-02-01 Sun Microsystems, Inc. System for remotely controlling power cycling of a peripheral expansion subsystem by a host
US6715089B2 (en) * 2001-01-22 2004-03-30 Ati International Srl Reducing power consumption by estimating engine load and reducing engine clock speed
US7301987B2 (en) * 2001-02-08 2007-11-27 Intel Corporation Background processing and searching for a communication channel
US6823224B2 (en) * 2001-02-21 2004-11-23 Freescale Semiconductor, Inc. Data processing system having an on-chip background debug system and method therefor
US20020138778A1 (en) * 2001-03-22 2002-09-26 Cole James R. Controlling CPU core voltage to reduce power consumption
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
US6720673B2 (en) * 2001-04-11 2004-04-13 International Business Machines Corporation Voltage island fencing
TW544797B (en) * 2001-04-17 2003-08-01 Kobe Steel Ltd High-pressure processing apparatus
JP3687740B2 (ja) * 2001-04-18 2005-08-24 インターナショナル・ビジネス・マシーンズ・コーポレーション 電源供給システム、コンピュータ装置、および最大電力制御方法
JP3612033B2 (ja) * 2001-04-20 2005-01-19 パナソニック コミュニケーションズ株式会社 ホーム・ゲートウェイ装置
US7254721B1 (en) * 2001-05-01 2007-08-07 Advanced Micro Devices, Inc. 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
US20060248360A1 (en) * 2001-05-18 2006-11-02 Fung Henry T Multi-server and multi-CPU power management system and method
US7000138B1 (en) * 2001-06-07 2006-02-14 Cirrus Logic, Inc Circuits and methods for power management in a processor-based system and systems using the same
US6622253B2 (en) * 2001-08-02 2003-09-16 Scientific-Atlanta, Inc. Controlling processor clock rate based on thread priority
US6661410B2 (en) * 2001-09-07 2003-12-09 Microsoft Corporation Capacitive sensing and data input device power management
JP4870292B2 (ja) * 2001-09-27 2012-02-08 ラピスセミコンダクタ株式会社 割り込み処理可能な情報処理装置
US7111178B2 (en) * 2001-09-28 2006-09-19 Intel Corporation Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
US20030065497A1 (en) * 2001-09-28 2003-04-03 Rhoads Monte J. Power management system to select a power state for a network computer system based on load
US7111179B1 (en) 2001-10-11 2006-09-19 In-Hand Electronics, Inc. Method and apparatus for optimizing performance and battery life of electronic devices based on system and application parameters
US6693477B2 (en) * 2001-10-22 2004-02-17 Research In Motion Limited Clock circuit for a microprocessor
US6785831B2 (en) * 2001-12-06 2004-08-31 Matsushita Electric Industrial Co., Ltd. Power consumption management apparatus
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
US7349995B2 (en) * 2002-03-07 2008-03-25 Intel Corporation Computing device with scalable logic block to respond to data transfer requests
US7920897B2 (en) * 2002-03-14 2011-04-05 Intel Corporation Interference suppression in computer radio modems
US7670224B2 (en) * 2002-04-03 2010-03-02 Igt Gaming apparatus with power saving feature
US7290246B2 (en) * 2002-04-04 2007-10-30 Texas Instruments Incorporated Power profiling system and method for correlating runtime information
US7941675B2 (en) 2002-12-31 2011-05-10 Burr James B Adaptive power control
US7180322B1 (en) 2002-04-16 2007-02-20 Transmeta Corporation Closed loop feedback control of integrated circuits
US7336090B1 (en) * 2002-04-16 2008-02-26 Transmeta Corporation Frequency specific closed loop feedback control of integrated circuits
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
KR100471181B1 (ko) * 2002-08-20 2005-03-10 삼성전자주식회사 소모 전력에 따라 동작 성능을 최적화할 수 있는 집적회로 장치
US7209805B2 (en) * 2002-09-17 2007-04-24 Ricoh Company Ltd. Approach for managing power consumption of network devices
US6748299B1 (en) 2002-09-17 2004-06-08 Ricoh Company, Ltd. Approach for managing power consumption in buildings
DE10251806A1 (de) * 2002-11-07 2004-05-19 Philips Intellectual Property & Standards Gmbh Schaltungsanordnung für einen Mikrocontroller und Verfahren zum Betreiben eines Fernsteuerungsempfängers
GB2395309A (en) * 2002-11-12 2004-05-19 Advanced Risc Mach Ltd Performance level selection in a data processing system
US7131015B2 (en) 2002-11-12 2006-10-31 Arm Limited Performance level selection in a data processing system using a plurality of performance request calculating algorithms
US7321942B2 (en) * 2002-11-12 2008-01-22 Arm Limited Performance counter for adding variable work increment value that is dependent upon clock frequency
US7798033B2 (en) * 2002-11-14 2010-09-21 Ims Gear Gmbh Power-assisted steering having a gear mechanism
US7882369B1 (en) 2002-11-14 2011-02-01 Nvidia Corporation Processor performance adjustment system and method
US7849332B1 (en) 2002-11-14 2010-12-07 Nvidia Corporation Processor voltage adjustment system and method
US7886164B1 (en) 2002-11-14 2011-02-08 Nvidia Corporation Processor temperature adjustment system and method
US7043649B2 (en) * 2002-11-20 2006-05-09 Portalplayer, Inc. System clock power management for chips with multiple processing modules
US7953990B2 (en) * 2002-12-31 2011-05-31 Stewart Thomas E Adaptive power control based on post package characterization of integrated circuits
US7949864B1 (en) 2002-12-31 2011-05-24 Vjekoslav Svilan Balanced adaptive body bias control
US7786756B1 (en) 2002-12-31 2010-08-31 Vjekoslav Svilan Method and system for latchup suppression
US7228242B2 (en) 2002-12-31 2007-06-05 Transmeta Corporation Adaptive power control based on pre package characterization of integrated circuits
US7642835B1 (en) * 2003-11-12 2010-01-05 Robert Fu System for substrate potential regulation during power-up in integrated circuits
US7205758B1 (en) 2004-02-02 2007-04-17 Transmeta Corporation Systems and methods for adjusting threshold voltage
GB2397142B (en) * 2003-01-13 2006-01-04 Advanced Risc Mach Ltd Data processing performance control
KR20050085962A (ko) * 2003-01-13 2005-08-29 에이알엠 리미티드 데이터 처리성능 제어
KR100510861B1 (ko) * 2003-01-18 2005-08-31 디지피아(주) 직교 주파수 분할 다중 전송 시스템에서의 훈련 신호 결정방법 및 그 훈련 신호를 이용한 직교 주파수 분할 다중수신기와 수신 방법
US7152170B2 (en) * 2003-02-20 2006-12-19 Samsung Electronics Co., Ltd. Simultaneous multi-threading processor circuits and computer program products configured to operate at different performance levels based on a number of operating threads and methods of operating
TWI261198B (en) * 2003-02-20 2006-09-01 Samsung Electronics Co Ltd Simultaneous multi-threading processor circuits and computer program products configured to operate at different performance levels based on a number of operating threads and methods of operating
CN1311316C (zh) * 2003-06-16 2007-04-18 纬创资通股份有限公司 控制电脑系统的操作模式的方法和装置
TWI242133B (en) * 2003-12-02 2005-10-21 Via Tech Inc Interrupt signal control method
US7649402B1 (en) 2003-12-23 2010-01-19 Tien-Min Chen Feedback-controlled body-bias voltage source
US7692477B1 (en) 2003-12-23 2010-04-06 Tien-Min Chen Precise control component for a substrate potential regulation circuit
US7012461B1 (en) 2003-12-23 2006-03-14 Transmeta Corporation Stabilization component for a substrate potential regulation circuit
US7129771B1 (en) 2003-12-23 2006-10-31 Transmeta Corporation Servo loop for well bias voltage source
US7859062B1 (en) 2004-02-02 2010-12-28 Koniaris Kleanthes G Systems and methods for integrated circuits comprising multiple body biasing domains
US7816742B1 (en) 2004-09-30 2010-10-19 Koniaris Kleanthes G Systems and methods for integrated circuits comprising multiple body biasing domains
US7616663B1 (en) * 2004-03-04 2009-11-10 Verizon Corporate Services Group, Inc. Method and apparatus for information dissemination
US7038506B2 (en) * 2004-03-23 2006-05-02 Stmicroelectronics Pvt. Ltd. Automatic selection of an on-chip ancillary internal clock generator upon resetting a digital system
US7698575B2 (en) * 2004-03-30 2010-04-13 Intel Corporation Managing power consumption by requesting an adjustment to an operating point of a processor
US7774625B1 (en) 2004-06-22 2010-08-10 Eric Chien-Li Sheng Adaptive voltage control by accessing information stored within and specific to a microprocessor
US7562233B1 (en) 2004-06-22 2009-07-14 Transmeta Corporation Adaptive control of operating and body bias voltages
US7343502B2 (en) * 2004-07-26 2008-03-11 Intel Corporation Method and apparatus for dynamic DLL powerdown and memory self-refresh
EP1626328A1 (en) * 2004-08-13 2006-02-15 Dialog Semiconductor GmbH Power saving during idle loop
US7761874B2 (en) * 2004-08-13 2010-07-20 Intel Corporation Managing processing system power and performance based on utilization trends
US7388248B2 (en) * 2004-09-01 2008-06-17 Micron Technology, Inc. Dielectric relaxation memory
US7249269B1 (en) 2004-09-10 2007-07-24 Ricoh Company, Ltd. Method of pre-activating network devices based upon previous usage data
CN101069147B (zh) * 2004-11-10 2011-07-06 飞思卡尔半导体公司 使用多个参考电路来控制电压和频率的装置和方法
US20060179172A1 (en) * 2005-01-28 2006-08-10 Texas Instruments Incorporated Method and system for reducing power consumption of a direct memory access controller
US7739531B1 (en) 2005-03-04 2010-06-15 Nvidia Corporation Dynamic voltage scaling
US20060203411A1 (en) * 2005-03-08 2006-09-14 Fourie Julius W Multi-Purpose Interrupter for Cathodic Protection Systems
JP2006338204A (ja) * 2005-05-31 2006-12-14 Toshiba Corp 情報処理装置、および省電力制御方法
KR100653065B1 (ko) * 2005-07-21 2006-12-01 삼성전자주식회사 전자기기 시스템 및 그 제어방법
US7421600B2 (en) * 2005-07-29 2008-09-02 Silicon Integrated Systems Corp. Power saving method
US7386647B2 (en) * 2005-10-14 2008-06-10 Dell Products L.P. System and method for processing an interrupt in a processor supporting multithread execution
JP2007156926A (ja) * 2005-12-06 2007-06-21 Matsushita Electric Ind Co Ltd 割込制御装置
US7698490B2 (en) * 2005-12-21 2010-04-13 Nvidia Corporation Passive USB power configuration switching
US7689838B2 (en) 2005-12-22 2010-03-30 Intel Corporation Method and apparatus for providing for detecting processor state transitions
JP4771828B2 (ja) * 2006-02-24 2011-09-14 富士通セミコンダクター株式会社 電源装置の制御回路、電源装置及びその制御方法
US20070204268A1 (en) * 2006-02-27 2007-08-30 Red. Hat, Inc. Methods and systems for scheduling processes in a multi-core processor environment
US7490256B2 (en) * 2006-04-04 2009-02-10 Microsoft Corporation Identifying a target processor idle state
US20070266385A1 (en) * 2006-05-11 2007-11-15 Arm Limited Performance level setting in a data processing system
US7414550B1 (en) 2006-06-30 2008-08-19 Nvidia Corporation Methods and systems for sample rate conversion and sample clock synchronization
GB2445167A (en) * 2006-12-29 2008-07-02 Advanced Risc Mach Ltd Managing performance of a processor
US7504895B2 (en) * 2007-04-10 2009-03-17 Texas Instruments Incorporated Multi-phase interleaved oscillator
US9134782B2 (en) 2007-05-07 2015-09-15 Nvidia Corporation Maintaining optimum voltage supply to match performance of an integrated circuit
US8725488B2 (en) * 2007-07-26 2014-05-13 Qualcomm Incorporated Method and apparatus for adaptive voltage scaling based on instruction usage
US9209792B1 (en) 2007-08-15 2015-12-08 Nvidia Corporation Clock selection system and method
US8661167B2 (en) * 2007-09-17 2014-02-25 Intel Corporation DMA (direct memory access) coalescing
US8145920B2 (en) 2007-09-17 2012-03-27 Intel Corporation Techniques for collaborative power management for heterogeneous networks
US7962679B2 (en) * 2007-09-28 2011-06-14 Intel Corporation Interrupt balancing for multi-core and power
CN101652760B (zh) * 2007-12-10 2012-12-26 松下电器产业株式会社 共享缓存控制装置、共享缓存控制方法及集成电路
US8327173B2 (en) * 2007-12-17 2012-12-04 Nvidia Corporation Integrated circuit device core power down independent of peripheral device operation
US9088176B2 (en) * 2007-12-17 2015-07-21 Nvidia Corporation Power management efficiency using DC-DC and linear regulators in conjunction
US20090164818A1 (en) * 2007-12-19 2009-06-25 Kwa Seh W Activity window notification protocol
US8370663B2 (en) * 2008-02-11 2013-02-05 Nvidia Corporation Power management with dynamic frequency adjustments
US9411390B2 (en) 2008-02-11 2016-08-09 Nvidia Corporation Integrated circuit device having power domains and partitions based on use case power optimization
DE102008013293B4 (de) 2008-03-07 2010-11-04 Udo Elliger Dämpferhebel für eine Dämpferanordnung für Flügel sowie Dämpferanordnung
US8762759B2 (en) * 2008-04-10 2014-06-24 Nvidia Corporation Responding to interrupts while in a reduced power state
US9423846B2 (en) 2008-04-10 2016-08-23 Nvidia Corporation Powered ring to maintain IO state independent of the core of an integrated circuit device
US20090327656A1 (en) * 2008-05-16 2009-12-31 Dan Baum Efficiency-based determination of operational characteristics
US8086882B2 (en) * 2008-06-29 2011-12-27 Microsoft Corporation Energy measurement techniques for computing systems
US20100017583A1 (en) * 2008-07-15 2010-01-21 International Business Machines Corporation Call Stack Sampling for a Multi-Processor System
US9418005B2 (en) 2008-07-15 2016-08-16 International Business Machines Corporation Managing garbage collection in a data processing system
US8386807B2 (en) * 2008-09-30 2013-02-26 Intel Corporation Power management for processing unit
JP2010097277A (ja) * 2008-10-14 2010-04-30 Toshiba Corp 情報処理装置
US8336762B1 (en) 2008-11-17 2012-12-25 Greenwise Bankcard LLC Payment transaction processing
US8181049B2 (en) * 2009-01-16 2012-05-15 Freescale Semiconductor, Inc. Method for controlling a frequency of a clock signal to control power consumption and a device having power consumption capabilities
TW201034403A (en) * 2009-03-12 2010-09-16 Ind Tech Res Inst Computer program product and recording medium for determining method of switching sleep mode
US20100250986A1 (en) * 2009-03-27 2010-09-30 Motorola, Inc. Method and Device for Improving Battery Life of a Mobile Computing Device
US8121958B2 (en) 2009-06-08 2012-02-21 Ricoh Company, Ltd. Approach for determining alternative printing device arrangements
US8488951B2 (en) * 2009-07-09 2013-07-16 Nvidia Corporation Multimedia framework to provide ultra-low power multimedia playback
US8688826B2 (en) * 2009-11-30 2014-04-01 Motorola Mobility Llc Mobile computing device and method with intelligent pushing management
US9256265B2 (en) 2009-12-30 2016-02-09 Nvidia Corporation Method and system for artificially and dynamically limiting the framerate of a graphics processing unit
US9830889B2 (en) 2009-12-31 2017-11-28 Nvidia Corporation Methods and system for artifically and dynamically limiting the display resolution of an application
US9176783B2 (en) 2010-05-24 2015-11-03 International Business Machines Corporation Idle transitions sampling with execution context
US8839006B2 (en) 2010-05-28 2014-09-16 Nvidia Corporation Power consumption reduction systems and methods
US8843684B2 (en) 2010-06-11 2014-09-23 International Business Machines Corporation Performing call stack sampling by setting affinity of target thread to a current process to prevent target thread migration
US8799872B2 (en) 2010-06-27 2014-08-05 International Business Machines Corporation Sampling with sample pacing
US20120042313A1 (en) * 2010-08-13 2012-02-16 Weng-Hang Tam System having tunable performance, and associated method
US8799904B2 (en) 2011-01-21 2014-08-05 International Business Machines Corporation Scalable system call stack sampling
US8862924B2 (en) 2011-11-15 2014-10-14 Advanced Micro Devices, Inc. Processor with power control via instruction issuance
US8775838B2 (en) * 2012-02-01 2014-07-08 Texas Instruments Incorporated Limiting the number of unexpected wakeups in a computer system implementing a power-saving preemptive wakeup method from historical data
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
US9395799B2 (en) 2012-08-09 2016-07-19 Nvidia Corporation Power management techniques for USB interfaces
US9471395B2 (en) 2012-08-23 2016-10-18 Nvidia Corporation Processor cluster migration techniques
US8947137B2 (en) 2012-09-05 2015-02-03 Nvidia Corporation Core voltage reset systems and methods with wide noise margin
US9575542B2 (en) * 2013-01-31 2017-02-21 Hewlett Packard Enterprise Development Lp Computer power management
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
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
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
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
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
US9666942B2 (en) 2013-03-15 2017-05-30 Gigpeak, Inc. Adaptive transmit array for beam-steering
US9716315B2 (en) 2013-03-15 2017-07-25 Gigpeak, Inc. Automatic high-resolution adaptive beam-steering
US9395784B2 (en) * 2013-04-25 2016-07-19 Intel Corporation Independently controlling frequency of plurality of power domains in a processor system
US9354943B2 (en) 2014-03-19 2016-05-31 International Business Machines Corporation Power management for multi-core processing systems
US9760158B2 (en) 2014-06-06 2017-09-12 Intel Corporation Forcing a processor into a low power state
CN104490478A (zh) 2015-01-09 2015-04-08 王小楠 医用射线定位薄膜及定位便捷的病变处拍照方法
US9921639B2 (en) 2015-06-25 2018-03-20 International Business Machines Corporation Clustering execution in a processing system to increase power savings
US9575554B1 (en) 2015-12-15 2017-02-21 International Business Machines Corporation Dynamic time sliced sensor sampling for reduced power consumption
CN105718320B (zh) * 2016-01-18 2020-11-06 华为技术有限公司 一种时钟任务处理方法、装置及设备
US10499337B1 (en) 2017-04-10 2019-12-03 Alarm.Com Incorporated Tracking device battery conservation
US10664424B2 (en) 2017-11-02 2020-05-26 Texas Instruments Incorporated Digital bus activity monitor
US10761584B2 (en) 2018-03-16 2020-09-01 Vigyanlabs Innovations Private Limited System and method to enable prediction-based power management
JP6569185B1 (ja) * 2018-06-14 2019-09-04 レノボ・シンガポール・プライベート・リミテッド 情報処理装置、情報処理装置の制御方法およびプログラム
US10795850B2 (en) * 2019-02-26 2020-10-06 Texas Instruments Incorporated Methods and apparatus to transition devices between operational states

Family Cites Families (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3453601A (en) * 1966-10-18 1969-07-01 Philco Ford Corp Two speed arithmetic calculator
US3623017A (en) * 1969-10-22 1971-11-23 Sperry Rand Corp Dual clocking arrangement for a digital computer
NL7207216A (ko) * 1972-05-27 1973-11-29
US3922526A (en) * 1973-02-02 1975-11-25 Texas Instruments Inc Driver means for lsi calculator to reduce power consumption
US3941989A (en) * 1974-12-13 1976-03-02 Mos Technology, Inc. Reducing power consumption in calculators
US3922528A (en) * 1975-03-10 1975-11-25 Rama Corp Thermostat heater
DE2615306C2 (de) * 1976-04-08 1982-06-03 Vereinigte Flugtechnische Werke Gmbh, 2800 Bremen Meßdatenerfassungs- und Verarbeitungsanlage
JPS533120A (en) * 1976-06-30 1978-01-12 Canon Inc Control circuit
US4137583A (en) * 1976-09-30 1979-02-06 Baldwin/Green Inc. Gymnastic mat
GB1561961A (en) * 1977-04-20 1980-03-05 Int Computers Ltd Data processing units
US4408665A (en) * 1977-05-03 1983-10-11 Equity Oil Company In situ recovery of oil and gas from water-flooded oil shale formations
JPS54144152A (en) * 1978-04-28 1979-11-10 Sharp Corp Integrated circuit device
US4279020A (en) * 1978-08-18 1981-07-14 Bell Telephone Laboratories, Incorporated Power supply circuit for a data processor
US4381552A (en) * 1978-12-08 1983-04-26 Motorola Inc. Stanby mode controller utilizing microprocessor
US4254475A (en) * 1979-03-12 1981-03-03 Raytheon Company Microprocessor having dual frequency clock
US4361873A (en) * 1979-06-11 1982-11-30 Texas Instruments Incorporated Calculator with constant memory
US4758945A (en) * 1979-08-09 1988-07-19 Motorola, Inc. Method for reducing power consumed by a static microprocessor
US4748559A (en) * 1979-08-09 1988-05-31 Motorola, Inc. Apparatus for reducing power consumed by a static microprocessor
US4287577A (en) * 1979-09-27 1981-09-01 Communications Satellite Corporation Interleaved TDMA terrestrial interface buffer
US4316247A (en) * 1979-10-30 1982-02-16 Texas Instruments, Inc. Low power consumption data processing system
US4293927A (en) * 1979-12-12 1981-10-06 Casio Computer Co., Ltd. Power consumption control system for electronic digital data processing devices
US4317180A (en) * 1979-12-26 1982-02-23 Texas Instruments Incorporated Clocked logic low power standby mode
US4317181A (en) * 1979-12-26 1982-02-23 Texas Instruments Incorporated Four mode microcomputer power save operation
US4409665A (en) * 1979-12-26 1983-10-11 Texas Instruments Incorporated Turn-off-processor between keystrokes
JPS6017130B2 (ja) 1980-06-06 1985-05-01 日本電気株式会社 アドレス制御装置
US4381873A (en) * 1980-08-12 1983-05-03 Occidental Research Corp. In situ roasting and leaching of sulfide minerals
JPS5775335A (en) * 1980-10-27 1982-05-11 Hitachi Ltd Data processor
US4409865A (en) * 1981-01-15 1983-10-18 Unex Corporation Continuous ratchet drive
JPS5865950A (ja) * 1981-10-14 1983-04-19 Nippon Denso Co Ltd 内燃機関の制御方法
JPS58127262A (ja) * 1982-01-25 1983-07-29 Toshiba Corp マイクロコンピユ−タ
US4590583A (en) * 1982-07-16 1986-05-20 At&T Bell Laboratories Coin telephone measurement circuitry
US4615008A (en) * 1982-12-22 1986-09-30 United Technologies Corporation Pulse record data capture for electrostatic engine diagnostics
JPS59135569A (ja) * 1983-01-24 1984-08-03 Sharp Corp マルチプロセツサの制御方式
JPS59200327A (ja) * 1983-04-26 1984-11-13 Nec Corp 周辺装置の制御方式
JPS59200326A (ja) * 1983-04-26 1984-11-13 Nec Corp データ処理装置
JPS59231966A (ja) * 1983-06-14 1984-12-26 Tamura Electric Works Ltd 公衆電話機の処理制御方式
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
US4780843A (en) * 1983-11-07 1988-10-25 Motorola, Inc. Wait mode power reduction system and method for data processor
US4819164A (en) * 1983-12-12 1989-04-04 Texas Instruments Incorporated Variable frequency microprocessor clock generator
AU560995B2 (en) * 1984-02-07 1987-04-30 Toshiba, Kabushiki Kaisha Process control apparatus
JPS60198618A (ja) * 1984-03-21 1985-10-08 Oki Electric Ind Co Ltd ダイナミツク論理回路
US4670837A (en) * 1984-06-25 1987-06-02 American Telephone And Telegraph Company Electrical system having variable-frequency clock
US5179693A (en) * 1985-03-29 1993-01-12 Fujitsu Limited System for controlling operation of processor by adjusting duty cycle of performance control pulse based upon target performance value
US4641440A (en) * 1985-04-30 1987-02-10 Vladimir Agranov Map holder
US4821229A (en) * 1985-12-12 1989-04-11 Zenith Electronics Corporation Dual operating speed switchover arrangement for CPU
US4745559A (en) * 1985-12-27 1988-05-17 Reuters Limited Method and system for dynamically controlling the content of a local receiver data base from a transmitted data base in an information retrieval communication network
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
US4870837A (en) * 1986-09-18 1989-10-03 Weins Janine J Device for maintaining the chill on a bottle of wine
SE464855B (sv) * 1986-09-29 1991-06-24 Asea Ab Foerfarande vid en industrirobot foer kalibrering av en sensor
JPS63163912A (ja) * 1986-12-26 1988-07-07 Toshiba Corp マイクロコンピユ−タシステム
US4814591A (en) * 1987-04-13 1989-03-21 Kabushiki Kaisha Toshiba Portable medium
US5027290A (en) * 1987-05-28 1991-06-25 Digital Equipment Corporation Computer workstation including video update arrangement
US4812418A (en) * 1987-11-27 1989-03-14 Motorola, Inc. Micron and submicron patterning without using a lithographic mask having submicron dimensions
US4924428A (en) * 1987-12-08 1990-05-08 Northern Telecom Limited Real time digital signal processor idle indicator
NL8801036A (nl) * 1988-04-21 1989-11-16 Stamicarbon Werkwijze voor de bereiding van cyclohexanol en/of cyclohexanon.
DK174975B1 (da) * 1988-05-06 2004-04-05 Toppan Printing Co Ltd Integreret kredsløbskort
US5025387A (en) * 1988-09-06 1991-06-18 Motorola, Inc. Power saving arrangement for a clocked digital circuit
US4856386A (en) * 1988-09-26 1989-08-15 Rodriguez Hector L Socket assembly for multiple size wrenching surfaces
US4980836A (en) * 1988-10-14 1990-12-25 Compaq Computer Corporation Apparatus for reducing computer system power consumption
EP0363567B1 (en) * 1988-10-14 1994-11-30 International Business Machines Corporation A computer with interrupt controlled clock speed and its method of operation
US5175845A (en) 1988-12-09 1992-12-29 Dallas Semiconductor Corp. Integrated circuit with watchdog timer and sleep control logic which places IC and watchdog timer into sleep mode
US5142684A (en) * 1989-06-23 1992-08-25 Hand Held Products, Inc. Power conservation in microprocessor controlled devices
CA2063413C (en) * 1989-06-30 2000-08-15 Leroy D. Harper Computer power management system
US5021679A (en) * 1989-06-30 1991-06-04 Poqet Computer Corporation Power supply and oscillator for a computer system providing automatic selection of supply voltage and frequency
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
US6158012A (en) * 1989-10-30 2000-12-05 Texas Instruments Incorporated Real-time power conservation and thermal management for computers
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
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
DE4026239A1 (de) * 1990-08-18 1992-02-20 Hoechst Ag Carboxylgruppenhaltige copolymerisate, ihre herstellung und ihre verwendung als verdicker
US5142884A (en) * 1991-02-01 1992-09-01 Mainstream Engineering Corporation Spacecraft adsorption thermal storage device using a vapor compression heat pump
US5201069A (en) 1991-10-18 1993-04-06 Motorola, Inc. Electroacoustic transducer mounting apparatus
CA2186118C (en) * 1994-03-23 2010-10-19 Richard W. Hanson Compacted nucleic acids and their delivery to cells

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100858766B1 (ko) * 2003-05-07 2008-09-16 애플 인크. 프로세서 시스템의 동적 전력 관리를 위한 방법 및 장치

Also Published As

Publication number Publication date
US5930516A (en) 1999-07-27
CN1024226C (zh) 1994-04-13
US7028198B2 (en) 2006-04-11
US20050198543A1 (en) 2005-09-08
US6732284B2 (en) 2004-05-04
US7284139B2 (en) 2007-10-16
US6633988B2 (en) 2003-10-14
US20040225908A1 (en) 2004-11-11
EP0426410A2 (en) 1991-05-08
US9021283B2 (en) 2015-04-28
EP0426410B1 (en) 1996-06-19
US7549071B2 (en) 2009-06-16
CN1054496A (zh) 1991-09-11
US6397340B2 (en) 2002-05-28
US6006336A (en) 1999-12-21
DE69027510T2 (de) 1997-01-23
US6732283B2 (en) 2004-05-04
JPH03210617A (ja) 1991-09-13
US20050204179A1 (en) 2005-09-15
US20030131273A1 (en) 2003-07-10
US20050204178A1 (en) 2005-09-15
US5218704A (en) 1993-06-08
US20010005892A1 (en) 2001-06-28
US7392416B2 (en) 2008-06-24
EP0426410A3 (en) 1992-04-08
US6173409B1 (en) 2001-01-09
US20040225906A1 (en) 2004-11-11
US20050204177A1 (en) 2005-09-15
US20020104033A1 (en) 2002-08-01
US20030131272A1 (en) 2003-07-10
KR910008590A (ko) 1991-05-31
DE69027510D1 (de) 1996-07-25

Similar Documents

Publication Publication Date Title
KR100227297B1 (ko) 컴퓨터용 실시간 전력 보존 방법 및 장치
KR100468561B1 (ko) 중앙처리장치의동작특성에따라컴퓨터의동작을제어하는방법및시스템
EP1361501B1 (en) Power conservation and thermal management arrangements for computers
US20080049009A1 (en) Dynamic clock control circuit and method
JPH07191779A (ja) コンピュータシステム中の電力を節約するnapnop回路
EP1416355B1 (en) Improvements in or relating to central processing units
JPH05108191A (ja) ポータブルコンピユータ

Legal Events

Date Code Title Description
AMND Amendment
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20100729

Year of fee payment: 12

EXPY Expiration of term