KR0145025B1 - 전력소비를 감소시킨 전자회로 장치 및 그 방법 - Google Patents

전력소비를 감소시킨 전자회로 장치 및 그 방법

Info

Publication number
KR0145025B1
KR0145025B1 KR1019940008380A KR19940008380A KR0145025B1 KR 0145025 B1 KR0145025 B1 KR 0145025B1 KR 1019940008380 A KR1019940008380 A KR 1019940008380A KR 19940008380 A KR19940008380 A KR 19940008380A KR 0145025 B1 KR0145025 B1 KR 0145025B1
Authority
KR
South Korea
Prior art keywords
circuit means
electronic circuit
response
signal
frequency
Prior art date
Application number
KR1019940008380A
Other languages
English (en)
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 윌리암 티. 엘리스
Application granted granted Critical
Publication of KR0145025B1 publication Critical patent/KR0145025B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • 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/324Power saving characterised by the action undertaken by lowering clock frequency
    • 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)
  • Software Systems (AREA)
  • Microcomputers (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명에 따라 전자회로장치내의 전력소비를 감소시키는 방법 및 회로는, 제1회로에서 제1동작이 수행되고, 제2회로에서 제2동작이 수행되며, 제1신호는 상기 제1동작에 응답하여 발생되고, 제2신호는 상기 제2동작에 응답하여 발생되며, 전력소비는 상기 제1과 제2신호에 응답하여 상기 제2회로내에서 조정된다.

Description

전력소비를 감소시킨 전자회로장치 및 그 방법
제1도는 본 발명의 전형적인 실시예에 따른 전자회로의 개념적인 블록도.
제 2a도 내지 2c도는 전형적인 실시예에 따른 제1도의 전자회로에서의 전력감소 방법의 플로우차트.
제3도는 전형적인 실시예에 따른 제1도의 전자회로에서 전력을 감소시키는 회로의 개략적인 전기회로도.
제4도는 제3도에 도시된 회로의 클록 신호 타이밍도.
*도면의 주요부분에 대한 부호의 설명
12:버스 인터페이스 장치 14:명령어 캐시
16:명령어 버퍼 18:명령어 디스패치 장치
20:제어장치 22:고정 소수점 장치
24:적재/저장장치 26:부동 소수점 장치
28:범용 레지스터 40:부동 소수점 레지스터
32:데이터 캐시 34,36,38:감지장치
210:마스터 래치 213,216:클록 재발생기
본 발명은 전자회로(electronic circuits)에 관한 것으로서, 특히 전자회로내의 전력소비를 감소시키기 위한 회로 및 방법에 관한 것이다.
최근에, 휴대용 랩탑(laptop) 컴퓨터가 더욱 더 널리 보급되고 있다. 이러한 랩탑 컴퓨터들은 종종 그들의 휴대성(portability)을 향상시키기 위해 배터리(battery)전원을 사용한다. 배터리 전원의 랩탑 컴퓨터는 배터리가 재충전되거나 교체 되기전 까지는 배터리 전원에 의해 가능한 오래 동작케 하는 것이 바람직하다.
따라서, 랩탑 컴퓨터의 전자회로내 전력소비를 감소시켜, 배터리의 재충전 또는 교체전까지 전자회로의 동작시간을 연장시켜 주는 것이 중요하다. 이것을 위하여, 어떤 종래기술에서는 특정 형태의 동작을 감지함이 없이 지정 시간이 경과하면 전자회로에 대한 전력이나 클록 신호를 디스에이블(disable)하는 방식을 채택하고 있다. 그러한 바, 이러한 종래의 타이머(timer)기술은 전자회로가 동작수행을 하지 않을때조타도 타이머가 종료하기를 기다림으로써 그 동안에 전자회로가 과잉 전력(excess power)을 불필요하게 소비할 수 있다는 단점을 갖는다.
이러한 기술의 또 다른 단점은 전자회로의 동작수행이 요구될시 이에 응답하여 전자회로에 대한 전력이나 클록 신호를 다시 인에이블(reenabled)시키기 위해서 어떤 형태의 인터럽트(interrupt)를 사용한다는 것이다. 그러므로, 전자회로가 동작수행을 요구받는 시점과 전자회로가 실제로 다시 인에이블되는 시점 사이에는 지연(delay)이 발생하게 된다. 결과적으로, 이러한 종래기술은 전자회로의 성능에 지장을 초래하며, 전자회로의 사용자에게 투명성을 보장해주지도 못했다.
따라서, 종래 기술에 비해 전자회로가 더 적은 과잉 전력을 소비하도록 만드는 회로 및 방법이 필요하다. 또한, 타이머가 종료되기를 기다리는 동안에 전자회로가 과잉 전력을 불필요하게 소비하지 않도록 하기 위한 회로 및 방법이 필요하다. 더 나아가서, 전자회로 내에서의 전력소비를 감소시켜 종래의 전자회로보다 더좋은 성능을 갖도록 하기 위한 회로 및 방법이 필요하다. 또한, 전자회로 내에서의 전력소비를 감소시키면서, 종래 기술에 비해 전자회로장치를 사용자에게 훨씬 더 투명하게 해주는 회로 및 방법이 필요하다.
본 발명의 회로 및 방법에 있어서, 제1동작은 제1회로에서 수행되며, 제2동작은 제2회로에서 수행된다. 제1신호는 제1동작에 응답하여 발생되고, 제2신호는 제 2동작에 응답하여 발생된다. 전력소비는 제1과 제2신호에 응답하여 제2회로에서 조정된다.
본 발명에 따른 집적회로에서, 제1회로는 제1신호를 발생하고, 제2회로는 제1신호에 응답하여 집적회로내의 일부분의 전력소비를 조정한다.
본 발명의 장점은 종래 기술에 비해 전자회로가 더 적은 과잉 전력을 소비한다는 것이다.
본 발명의 다른 장점은 전자회로가 타이머가 종료되기를 기다리는 동안에 과잉 전력을 불필요하게 소비하지 않는다는 것이다.
본 발명의 또 다른 장점은 종래 기술에 비해 전자회로가 더 나은 성능을 갖는다는 것이다.
본 발명의 또 다른 장점은 전력소비를 감소시키면서, 종래 기술에 비해 장치를 사용자에게 훨씬 더 투명하게 해주는 회로 및 방법을 제공할 수 있다는 것이다.
본 발명의 전형적인 실시예와 정점들은 첨부도면(제1도 내지 제4도)을 참조함으로써 더욱 용이하게 이해될 것이다. 이들 도면에서, 동일한 번호는 서로 유사 하거나 대응하는 부분을 나타낸다.
제1도에는 본 발명의 전형적인 실시예에 따른 전자회로(10)의 개념적은 블록도가 도시되어 있다. 이 실시예에서, 전자회로(10)는 버스 인터페이스 장치(a bus interface unit, 12), 명령어 캐시 메모리(an instruction cache memory, 14), 명령어 버퍼(an instruction buffer, 16), 명령어 디스패치 장치(an instruction dispatch unit, 18), 제어장치(a control unit, 20), 고정 수점 장치(a fixed point unit, 22), 적재/저장 장치(a load/store unit, 24), 부동소수점 장치(a floating point unit, 26), 범용 레지스터(general purpose registers, 28), 부동 소수점 레지스터(floating point registers,30)와 데이터 캐시 메모리(a data cache memory, 32)를 포함한다.
명령어 버퍼(16)와 명령어 디스패치 장치(18)는 함께 명령어 버퍼/디스패치장치를 구성한다. 명령어 버퍼/디스패치 장치와 제어 장치(20)는 전자회로(10)의 제어부(21)를 구성하고, 이 제어부(21)는 점선으로 표시되어 있다. 또한, 전자회로(10)는 외부 시스템 클록선 CLKsys에 연결되어 이 클록선을 통해 클록신호를 입력받고, 배터리 또는 AC-DC 변환기와 같은 DC 전원(33)에 연결되어 전력을 공급받는다. 간결성을 위해, 제1도에는 DC 전원(33)으로부터의 전력이 전자회로(10)상에 걸쳐분배되는 것은 도시하지 않았다.
전형적인 실시예에서, 전자회로(10)는 CMOS 집적회로로 제조된 수퍼스칼라 프로세서(a superscalar processor)이다. 전자회로(10)는 3개의 실행 장치, 즉, 고정 소수점 장치(22), 적재/저장 장치(24) 그리고 부동 소수점 장치(26)를 구비하고 있다. 몇몇 종래 기술에서는, 마이크로프로세서의 처리활동을 감지하는 것없이 단지 지장시간이 경과하면 전체 마이크로프로세서에 대한 전력을 디스에이블링하거나 또는 클록신호의 천이(transitions)를 느리게 함으로써 전체 마이크로프로세서가 저 전력모드로 될 수 있다. 그렇지만, 처리활동이 일어날 때조차도 마이크로프로세서의 모든 부분이 동시에 활동적으로 정보처리를 하고 있는 것은 아니다.
예를 들면, 제1도의 전자회로(10)는 수퍼 스칼라 프로세서이다. 따라서, 명령어 디스패치 장치(18)가 고정 소수점 명령어들과 적재/저장 명령어들 만을 디스패칭 한다면, 부동 소수점 장치(26)는 정보를 처리하지 않는다. 또한, 명령어 캐시(14)에 의해 요청(request)된 명령어가 버스 인터페이스 장치(12)로부터 명령어 캐시(14)로 입력되기를 기다리고 있는 중이라면 명령어 버퍼(16)의 몇몇 버퍼 영역은 정보를 버퍼링하지 않는다. 이와 유사하게, 고정 소수점 장치(22)가 버스 인터페이스 장치(12)로부터의 정보가 테이타 캐시(32)를 통해 입력되기를 기다리는 중이라면 고정 소수점 장치(22)는 정보를 처리하지 않는다.
전자회로(10)는 다수의 상호연결수단을 구비한 CMOS 회로이다. 만약 상호 연결수단상의 신호가 활동적으로 레벨들 사이를 천이하고 있지 않다면 CMOS 회로는 많은 전력을 소비하지 않는다. 이러한 상호연결수단을 정상상태(steady state)로유지시키면 전력소비를 감소시킬 수 있다. 예를 들어, 장치의 래치(latch)데이타를 보류시킴으로써 전력소비를 감소시킬 수 있다. 그러나, 장치의 래치 데이터를 일정하게 유지한다해도 장치의 국부 클록 재발생기들은 그 장치 전체에 걸쳐 여러 래치들 까지 배분된 클록 신호선들을 통해 상당한 양의 커패시턴스를 계속 스위칭 한다.
제3도와 관련하여 후술하는 바와 같이, 단일 클록 재발생기로부터의 클록 신호선들은 전자회로(10)내의 64개 이상의 마스터/슬레이브 래치 쌍(master/slave latch pairs)까지 배분될 수 있다. 따라서, 국부 클록 재발생기는 전자회로(10)재에서 상당한 양의 전력소비를 초래한다. 추정컨대, 마이크로프로세서 내에서의 전력소비의 대략 20% 내지 30%는 클록 재발생기에서 래치들로 배분되는 클록신호의 천이 때문이다.
제2a도 내지 제 2c도와 제 3도와 관련해 후술하는 바와 같이, 전형적인 실시예에서 중요한 점은, 소정의 절전을 위한 보류조건(power saving hold conditions)을 만족시키면 전자회로(10)의 여러 부분들 각각에서의 전력소비가 감소된다는 것이다. 특히, 각 부분의 전력소비는 그 부분의 국부 클록 재발생기로부터의 클록신호의 천이 주파수를 감소시킴으로써 줄어든다. 전형적인 실시예에서, 그 주파수는 0으로 감소된다. 이러한 방식으로, 각 부분의 기능로직(functional logic)은 정지하게 된다(또는 만약 주파수가 0보다 크다면 느려진다). 따라서, 클록신호의 천이 주파수를 정지시키거나 느려지게 함으로써 각 부분의 기능로직에서의 전력소비와, 래치들로 배분된 각 부분의 클록 신호선에서의 전력소비가 감소된다.
바람직하게는, 전자회로(10)를 클록 재발생기의 관점에서 분할(partiton)하여 결전을 위한 보류조건을 공통으로 공유하는 래치들을 그룹화하는 것이 좋다. 이러한 그룹화에 의해 전자회로(10)의 일차적인 전력 감소가 이루어진다. 클록 재발생기를 그룹화하고 (제2a도 내지 제2c도와 제3도와 관련해 더 후술하는 바와 같이) 절전을 위한 보류조건을 감지함으로써, 대다수 상호연결수단은 불필요하게 레벨 천이를 하지 않게 되어 전자회로(10)에서의 전력이 감소된다. 종래 기술에 비해 이것은 전반적으로 전력효율을 크게 개선시킨다.
본 실시예의 중요한 전력감소 측면으로서, 명령어 캐시(14)는 감지 장치(detection unit, 34)를 구비하고, 명령어 디스패치 장치(18)도 감지 장치(36)를 구비한다. 이와 유사하게, 데이타 캐시(32)는 감지 장치(38)를 구비한다. 비록 감지 장치들(34, 36과 38)이 전자회로(10)내의 다른 장치와 일체적으로 구성된 상태로 도시되어 있지만, 이들 감지 장치는 전자회로내의 다른 장치로부터 분리되어 별개의 장치로서 전자회로상에 탑재될 수 있다. 제 2a도 내지 제2c도와 제 3도와 관련해 더 후술하는 바와 같이, 감지 장치들(34,36,38)은 절전을 위한 보류조건을 감지한다.
버스 인터페이스 장치(12)는 양방향성으로 버스(40)에 연결된다. 버스(40)는 전자회로(10)의 외부에 있다. 명령어 캐시(14)는 데이터 입력 버스(42)와 명령어 어드레스 버스(44)를 통해 버스 인터페이스 장치(12)에 연결된다.
명령어 버퍼(16)는 명령어 버스(46)를 통해 명령어 캐시(14)에 연결된다. 명령어 디스패치 장치(18)는 명령어 버스(48)를 통해 명령어 버퍼(16) 연결되고, 명령어 요청 버스(50)를 통해 명령어 캐시(14)에 연결된다. 고정 소수점 장치(22)는 명령어 버스(52)를 통해 명령어 디스패치 장치(18)에 연결된다. 적재/저장 장치(24)는 명령어 버스(54)를 통해 명령어 디스패치 장치(180에 연결된다. 부동 소수점 장치(26)는 명령어 버스(56)를 통해 명령어 디스패치 장치(18)에 연결된다.
또한, 고정 소수점 장치(22)는 데이터 버스(58)를 통해 범용 레지스터(28)에 연결된다. 부동 소수점 장치(26)는 데이터 버스(60)를 통해 부동 소수점 레지스터(30)에 연결된다. 또한, 적재/저장 장치(24)는 데이터 버스(58)를 통해 범용 레지스터(28)에 연결되고, 데이타 버스(60)를 통해서는 부동 소수점 레지스터(30)에 연결된다.
데이터 캐시(32)는 버스(64)를 통해 적재/저장 장치(24)에 연결된다. 범용 레지스터(28)는 버스(66)를 통해 데이타 캐시(32)에 연결된다. 또한 부동 소수점 레지스터(30)는 버스(66)를 통해 데이터 캐시(32)에 연결된다.
또한, 범용 레지스터(28)는 버스(68)을 통해 고정 소수점 장치(22)에 연결된다. 부동 소수점 레지스터(30)는 버스(70)를 통해 부동 소수점 장치(26)에 연결된다. 데이타 캐시(32)는 양방향성 데이터 버스(72)와 어드레스 버스(74)를 통해 인터페이스 장치(12)에 연결된다.
본 실시예의 중요한 전력감소 측면으로서, 감지 장치(34)는 보류선(hold line, 80a)을 통해명령어 캐시(14)상의 검사 로직(lookup logic)에 연결되고, 웨이크업선(wakeup line, 80b)을 통해서는 버스 인터페이스 장치(12)에 연결된다. 또한, 감지장치(34)는 보류선(80a)을 통해 명령어 버퍼(16)의 특정 버퍼 영역에 연결된다.
감지 장치(36)는 보류선(82a)을 통해 고정 소수점 장치(22)에 연결되고, 보류선(82b)을 통해서는 적재/저장 장치(24)에 연결된다. 또한, 감지 장치(36)는 보류선 (82c)을 통해 부동 소수점 장치(26)에 연결된다.
감지 장치(38)는 보류선(84a)을 통해 데이터 캐시(32)내의 검사 로직에 연결되고, 웨이크업선(84b)을 통해 버스 인터페이스 장치(12)에 연결된다. 또한, 감지 장치(38)는 보류선(84c)을 통해 고정 소수점 장치(22)에 연결되고, 보류선(84d)을 통해서는 부동 소수점 장치(26)에 연결된다.
동작에 있어서, 명령어 디스패치 장치(18)는 명령어 정보 출력을 명령어 요청버스(50)를 통해 명령어 캐시(14)에 요청한다. 명령어 캐시(14)는 그가 요청된 명령어를 가지고 있는 경우에는 명령어 버스(46)를 통해 명령어 버퍼(16)에 요청된 명령어를 제공한다. 명령어 버퍼(16)가 요청된 명령어를 명령어 캐시(14)로부터 입력받은 후에, 명령어 디스패치 장치(18)는 요청된 명령어를 명령어 버퍼(16)로부터 명령어 버스(48)를 통해 입력받는다.
명령어 캐시(14)가 요청된 명령어를 갖고 있지 않은 경우, 명령어 버퍼(16)는 요청된 명령어가 명령어 캐시(14)로부터 출력되기를 기다리게 된다. 이러한 상황에서, 명령어 캐시(14)는 명령어 어드레스 버스(44)를 통해 버스 인터페이스 장치(12)에 명령어를 요청하고, 명령어 버퍼(16)는 요청된 명령어가 버스 인터페이스 장치(12)로부터 명령어 캐시(14)를 통해 입력되기를 기다린다. 이러한 명령어 캐시(14)의 요청에 응답하여, 버스 인터페이스 장치(12)는 요청된 명령어를 외부 시스템 버스(40)를 통해 입력받는다. 버스 인터페이스 장치(12)가 외부 시스템 버스(40)를 통해 요청된 명령어를 입력받은 후, 명령어 캐시(14)는 요청된 명령어를 데이터 입력버스(42)를 통해 버스 인터페이스 장치(12)로부터 입력받는다. 명령어 캐시(14)가요청된 명령어를 버스 인터페이스 장치(12)로부터 입력받기까지에는 상당한 시간이 경과될 수 있다.
따라서, 명령어 캐시(14)는 다음의 동작을 포함한 다수의 동작을 수행한다.
동작 A-명령어 버스(46)를 통해 명령어 버퍼(16)에 명령어를 출력한다.
동작 B-명령어 어드레스 버스(44)를 통해 버스 인터페이스 장치(12)로부터 요청된 명령어를 기다린다.
명령어 버퍼(16)의 버퍼 영역은 명령어 캐시(14)에 의해 이루어지는 동작들중의 일부분(즉, 동작A)에 응답하여 정보를 버퍼링하는 동작을 수행한다. 이러한 버퍼영역은 또한 명령어 캐시(14)에 의해 이루어지는 동작들중의 다른 일부분즉(,동작B)에 응답하여 또다른 동작 즉, 요청된 정보를 기다리는 동작을 수행한다. 버스인터페이스 장치(12)는 명령어 캐시 (14)에 의해 이루어지는 동작들중의 일부분 (즉,동작B)에 응답하여, 요청된 명령어를 외부 시스템 버스(40)를 통해 입력받는 동작을 수행한다. 제2a도 내지 제2c도와 제3도와 관련해 더 후술하는 바와 같이, 본실시예는 이러한 동작들간의 전술한 관계들에 대해 동적으로 응답함으로써 전자회로(10)내의 전력소비를 유리하게 감소시킨다.
명령어 디스패치 장치(18)는 고정 소수점 장치(22), 적재/저장 장치(24)와 부동 소수점 장치(26)로 명령어를 디스패칭한다. 고정 소수점 장치(22)는 명령어 디스패치 장치(18)에서 출력되어 명령어 버스(52)를 통해 입력받은 고정 소수점 명령어들중의 일부분에 응답하여, 범용 레지스터(28)로부터 데이타 버스(58)를 통해 입력받은 데이터를 처리한다. 이와 유사하게, 부동 소수점 장치(26)는 명령어 디스패치 장치 (18)에서 출력되어 명령어 버스(56)를 통해 입력받은 부동 소수점 명령어들 중의 일부분에 응답하여, 부동 소수점 레지스터(30)로부터 데이터 버스(60)를 통해 입력받은 데이터를 처리한다. 고정 소수점 장치(22)는 처리된 데이타를 버스(68)를 통해 범용 레지스터(28)에 출력하고, 부동 소수점 장치(26)는 처리된 데이타를 버스(70)를 통해 부동 소수점 레지스터(30)로 출력한다.
적재/저장 장치(24)는 명령어 디스패치 장치(18)로부터 명령어 버스(54)를 통해 입력받은 적재/저장 명령어들 중의 일부분에 응답하여, 범용 레지스터(28)로부터(데이타 버스(58)를 통해) 입력된 데이터와 부동 소수점 레지스터(30)로부터 (데이타버스(60)을 통해) 입력된 데이터를 처리한다. 적재/저장 장치(24)는 처리된 데이타를 버스(64)를 통해 데이터 캐시(32)로 출력한다.
따라서, 명령어 디스패치 장치(18)는 다음을 포함한 다수의 동작을 수행한다.
동작A-고정 소수점 장치(22)로 고정 소수점 명령어를 디스패칭한다.
동작B-적재/저장 장치(24)로 적재/저장 명령어를 디스패칭한다.
동작C-부동 소수점 장치(26)로 부동 소수점 명령어를 디스패칭한다.
고정 소수점 장치(22)는 명령어 디스패치 장치(18)에 의해 이루어지는 동작들 중의 일부분(즉, 동작A)에 응답하여 소정의 동작 즉, 데이터 처리 동작을 수행한다. 고정 소수점 장치(22)는, 디스패칭된 모든 고정 소수점 명령어들에 응답하여 데이터를 처리한 후에, 명령어 디스패치 장치(18)에 의해 이루어지는 동작들중의 일부분(즉, 동작B와 C)에 응답하여 다른 동작 즉, 다른 고정 소수점 명령어의 디스패칭을 기다리는 동작을 더 수행한다.
또한, 적재/저장 장치(24)는 명령어 디스패치 장치(18)에 의해 이루어지는 동작들 중의 일부분(즉, 동작B)에 응답하여 소정의 동작 즉, 데이터 처리 동작을 수행한다. 적재/저장 장치(24)는 모든 디스패칭된 적재/저장 명령어들에 응답하여 데이터를 처리한 후에 명령어 디스패치 창치(18)에 의해 이루어지는 동작들중의 일부분(즉, 동작A와 C)에 응답하여 다른 동작 즉, 다른 적재/저장 명령어의 디스패칭을 기다리는 동작을 더 수행한다.
유사하게, 부동 소수점 장치(26)는 명령어디스패치 장치(18)에의해 이루어지는 동작들중의 일부분(즉, 동작C)에 응답하여 소정의 동작 즉, 데이터 처리 동작을 수행한다. 부동 소수점 장치(26)는 모든 디스패칭된 부동 소수점 명령어들에 응답하여 데이타를 처리한 후에, 명령어 디스패치 장치(18)에 의해 이루어지는 동작들중의 일부분(즉, 동작 A와 B)에 응답하여 다른 동작 즉, 다른 부동 소수점 명령어의 디스패칭을 기다리는 동작을 더 수행한다.
제2a도 내지 제2c도 및 제3도 와 관련해 더 후술하는 바와 같이, 본 실시예는 이러한 동작들간의 전술한 관계들에 대해 동적으로 응답함으로써 전자회로내의 전력소비를 유리하게 감소시킨다.
고정 소수점 장치(22)가 데이터를 처리하도록 명령받았으나, 범용 레지스터(28)가 이 데이터를 포함하고 있지 않은 경우, 고정 소수점 장치(22)는 이 데이터 정보가 데이터 캐시(32)로부터 버스(66)와 범용 레지스터(28)를 통해 입력되기를 기다린다. 이와 유사하게, 부동 소수점 장치(26)가 데이터를 처리하도록 명령받았으나, 부동 소수점 레지스터(30)가 이 데이터를 포함하고 있지 않은 경우, 부동 소수점 장치(26)는 이 데이터 정보가 데이터 캐시(32)로부터 버스(66)와 부동 소수점 레지스터(30)를 통해 입력되기를 기다린다.
데이터 캐시(32)가 고정 소수점 장치(22)(또는 부동 소수점 장치(26))를 위해 적재/저장 장치(24)에 의해 요청된 데이터를 포함하고 있지 않은 경우에는, 데이터캐시(32)는 이데이타를 어드레스 버스(74)를 통해 버스 인터페이스 장치912)에게 요청하게 되므로 고정 소수점 장치(22)(또는 부동 소수점 장치(26))는 요청된 데이터가 버스 인터페이스 장치(12)로부터 데이터 캐시(32)를 통해 입력되기를 기다린다. 데이터캐시(32)에 의한 이러한 요청에 응답하여, 버스 인터페이스 장치(12)는 요청된 데이터를 외부 시스템 버스(40)를 통해 입력받는다. 버스 인터페이스 장치(12)가 요청된 데이터를 외부 시스템 버스(40)를 통해 입력받은 후에, 데이터 캐시(32)는 이요청된 데이터를 데이터 버스(72)를 통해 버스 인터페이스 장치(12)로부터 입력받는다. 데이터 캐시(32)가 요청된 데이터를 버스 인터페이스 장치(12)로부터 입력받기까지는 상당한 기간의 시간이 경과될 수 있다.
따라서, 데이터 캐시(32)는 다음을 포함한 다수의 동작을 수행한다.
동작A-고정 소수점 장치(22)에 데이터를 출력한다.
동작B-부동 소수점 장치(26)에 데이터를 출력한다.
동작C-요청된 데이터가 버스 인터페이스 장치(12)로부터 어드레스 버스(74)를 통해 입력되기를 기다린다.
고정 소수점 장치(22)는 데이터 캐시(32)에 의해 이루어지는 동작들중의 일부분(즉, 동작A)에 응답하여 소정의 동작 즉, 데이터 처리 동작을 수행한다. 고정 소수점 장치(22)는 데이터 캐시(32)에 의해 이루어지는 동작들중의 다른 일부분(즉, 동작C)에 응답하여 다른 동작 즉, 정보를 기다리는 동작을 더 수행한다.
부동 소수점 장치(26)는 데이터 캐시(32)에 의해 이루어지는 동작들중의 일부분(즉, 동작B)에 응답하여 소정의 동작 즉, 데이터 처리 동작을 수행한다. 부동 소수점 장치(26)는 데이터 캐시(32)에 의해 이루어지는 동작들중의 다른 일부분(즉, 동작C)에 응답하여 다른 동작 즉, 정보를 기다리는 동작을 더 수행한다.
버스 인터페이스 장치(12)는 데이터 캐시(32)에 의해 이루어지는 동작들중의 일부분(즉, 동작C)에 응답하여 소정의 동작 즉, 외부 시스템 버스(40)를 통해 요청된 데이터를 입력받는 동작을 수행한다. 제2a도 내지 제2c도와 제3도와 관련해 더 후술하는 바와 같이, 본 실시예는 이러한 동작들간의 전술한 관계들에 대해 동적으로 응답하여 전자회로내의 전력소비를 감소 시킨다.
제2a도 내지 제2c도는 본 실시예에 따른 전자회로(10) 내에서의 전력을 감소시키는 방법의 플로우차트이다. 특히, 제2a도 내지 제2c도는 제1도의 감지 장치들(34, 36, 38)의 동작을 도시한 것이다. 제2a도는 명령어 디스패치 장치(18)와 일체적으로 구성된 감지 장치 (36)의 동작을 도시한 것이다.
제2a도를 설명하면, 실행 절차는 판단 블록(100)에서 시작되는데, 여기서 감지장치(36)는 부동 소수점 명령어의 일부분에 속하는 어떤 명령어가 명령어 디스패치 장치(18)에 의해 부동 소수점 장치(FPU;26)로 디스 패칭되고 있는가를 판단한다. 부동 소수점 명령어의 일부분에 속하는 어떠한 명령어도 디스패칭되지 않은 경우에는, 단계(102)에서, 감지 장치(36)는 부동 소수점 장치(26)에 대해 보류선(82c)을 표명(asserting)함으로써 보류신호를 발생한다. 반대로, 부동 소수점 명령어의 일부분에 속하는 명령어가 디스패칭되는 경우에는, 단계(104)에서, 감지 장치(36)가 부동소수점 장치(26)에 대한 보류선(82c)을 클리어(clear)시킨다.
단계(102) 또는(104)가 실행된 후에, 판단블록(106)이 실행되는데, 여기서, 감지장치(36)는 적재/저장 명령어의 일부분에 속하는 명령어가 명령어 디스패치 장치(18)에 의해 적재/저장 장치(L/S;24)로 디스패칭되고 있는가를 판단한다. 적재/저장명령어의 일부분에 속하는 어떠한 명령어도 디스패칭되지 않았다면, 단계(108)에서, 감지 장치(36)는 적재/저장 장치(24)에 대해 보류선(82b)을 표명하여 보류신호를 발생한다. 반대로, 적재/저장 명령어의 일부분에 속하는 명령어가 디스패칭된 경우에는, 단계(110)에서, 감지 장치(36)는 적재/저장 장치(24)에 대해 보류선(82b)을 클리어 한다.
단계(108)또는 단계(110)가 실행된후에, 판단블록(112)이 실행되는데, 여기서, 감지 장치(36)는 고정 소수점 명령어들의 일부분에 속하는 명령어가 명령어 디스패치 장치(18)에 의해 고정 소수점 장치(FXU;22)로 디스패칭되고 있는가를 판단 한다. 고정 소수점 명령어들의 일부분에 속하는 어떨한 명령어도 디스패칭되지 않았으면, 단계(114)로 진행하여, 감지 장치(36)는 고정 소수점 장치(22)에 대해 보류선(82a)을 표명하여 보류신호를 발생한다. 반대로, 고정 소수점 명령어들의 일부분에 속하는 명령어가 디스패칭된 경우에는, 단계(116)에서, 감지 장치(36)는 고정 소수점장치(22)에 대한 보류선(82a)을 클리어한다. 단계(114) 또는 단계(116)가 실행된 후, 실행 절차는 판단블록(100)으로 복귀된다.
제2b도는 명령어 캐시(14)와 일체적으로 구성된 감지 장치(34)의 동작을 도시한 것이다. 제2b를 설명하면, 실행 절차는 판단블록(120)에서 시작되는데, 여기서, 감지 장치(34)는 명령어 캐시(14)가 명령어 디스패치 장치(18)로부터 요청된 명령어를 포함하고 있는가를 판단한다. 명령어 캐시(14)가 요청된 명령어를 포함하지 않은 경우, 이 요구된 명령어를 명령어 버퍼(16)가 출력하기 위해서는 이명령어가 명령어 캐시(14)로 입력되기를 기다려야 한다.
이러한 상황에서는, 단계(122)에서, 감지 장치(34)는 버스 인터페이스 장치(BIU;12)에대해 웨이크업선(wakeup line, 80b)을 표명하여 웨이크업 신호를 발생한다. 단계(122)가 수행된 후 단계(124)가 실행되는데, 여기서 감지 장치(34)는 명령어 버퍼(16)의 버퍼영역에 대해 보류선(80c)을 표명하여 제1보류신호를 발생한다. 단계(124)가 수행된 후, 단계(126)가 실행되는데, 여기서, 감지장치(34)는 명령어 캐시(14)의 검사 로직에 재해 보휴선(80a)을 표명하여 제2보류신호를 발생한다.
판단블록(120)에서, 감지 장치(34)에 의해 명령어 캐시(14)가 요청받은 명령어를 표함하고 있다고 판단되면, 단계(128)에서, 감지장치(34)는 버스 인터페이스 장치(12)에 대해 웨이크업선(80b)을 클리어한다. 단계(128)가 실행된 후, 단계(130)에서 감지 장치(34)는 명령어 버퍼(16)의 버퍼 영역에 대해 보류선(80c)을 클리어한다. 단계(130)후에, 단계(132)를 실행하여, 감지 장치(34)는 명령어 캐시(14)의 검사 로직에 대한 보휴선(80a)을 클리어 한다. 단계(126) 또는 단계(132)가 실행된 후에 실행절차는 판단블록(120)으로 복귀된다.
제2c도는 데이터 캐시(32)와 일체적으로 구성된 감지장치(38)의 동작을 도시한 것이다. 제2c도를 설명하면, 실행 절차는 판단블록(140)에서 시작되는데, 여기서, 감지 장치(38)는 데이터 캐시(32)가 부동 소수점 장치(26)로부터 요청받은 데이터를 포함하고 있는가를 판단한다. 데이타 캐시(32)가 부동 소수점 장치(26)로부터 요청받은 데이터를 포함하지 않은 경우, 이 요청된 데이터를 부동 소수점 장치(26)로 출력하기 위해서는 이 데이터가 데이터 캐시(32)로 입력되기를 기다려야 한다.
이러한 상황에서, 단계(142)가 실행되는데, 여기서, 감지 장치(38)는 버스 인터페이스 장치(12)에 대해 웨이크업선(84b)을 표명하여 웨이크업 신호를 발생한다. 단계(142)가 실행된 후에, 단계(144)를 실행하는데, 여기서, 감지 장치(38)는 부동 소수점 장치(26)에 대해 보류선(84d)을 표명하여 제1보류신호를 발생한다. 단계(144)가 실행된 후에, 단계(146)에서 감지 장치(38)은 데이터 캐시(32)의 검사 로직에 대해 보류선(84a)을 표명함으로써 제2보류신호를 발생한다.
판단 블록(140)에서, 데이터 캐시(32)가 부동 소수점 장치(26)로부터 요청받은 데이터를 포함하고 있다고 감지 장치(38)가 판단하면, 실행은 단계(148)로 진행되고, 여기서, 감지장치(38)은 버스 인터페이스 장치(12)에 대한 웨이크업선(84b)을 클리어 한다. 단계(148)가 실행된후에, 단계(150)가 실행되어 감지 장치(38)는 부동 소수점 장치(26)에 대해 보류선(84d)을 클리어한다. 단계(150)후에, 단계(152)를 실행하여 감지장치(38)는 데이터 캐시(32)의 검사 로직에 대한 보류선(84a)을 클리어 한다.
단계(146) 또는 단계(152)가 실행된 후에 판단블록(154)이 실행되는데, 여기서, 감지장치(38)은 데이터 캐시(32)가 고정 소수점 장치(22)로부터 요청받은 데이터를 포함하고 있는가를 판단한다. 데이타 캐시(32)가 고정 소수점 장치(22)로부터 요청받은 포함하지 않은 경우에, 이 요청된 데이터를 고정 소수점 장치(22)로 출력하기 위해서는 이 데이터가 데이터 캐시(32)로 입력되기를 기다려야 한다.
이러한 상황에서, 단계(156)가 실행되는데, 여기서, 감지 장치(38)는 버스 인터페이스 장치(12)에 대해 웨이크업선(84d)을 표명하여 웨이크업 신호를 발생한다. 단계(156)가 실행된 후에, 단계(158)에서 감지장치(38)는 고정 소수점 장치(22)에 대한 보류선(84c)을 표명함으로써 제1보류신호를 발생한다. 단계(158)가 실행된 후에, 단계(160)에서, 감지 장치(38)는 데이터 캐시(32)의 검사 로직에 대한 보류선(84a)을 표명하여 제2보류신호를 발생한다.
판단블록(154)에서, 데이터 캐시(32)가 고정 소수점 장치(22)로부터 요청받은 데이터를 포함하고 있다고 감지 장치(38)가 판단하면, 실행은 단계(162)로 진행하고, 여기서 감지 장치(38)는 버스 인터페이스 장치(12)에 대한 웨이크업선(84b)을 클리어한다. 단계(162)가 실행된 후에 단계(164)가 실행되어, 감지 장치(38)는 고정 소수점장치(22)에 대한 보류선(84c)을 클리어한다. 단계(164)가 실행된 후에 단계(166)가 실행되어 감지 장치(38)는 데이타 캐시(32)내의 검사 로직에 대한 보류선(84a)을 클리어한다. 단계(160) 또는 단계(166)가 실행된 후에 실행 절차는 판단 블록(140)으로 복귀된다.
제3도는 본 실시예에 따른 전자회로(10)에서 전력 감소를 위한 회로(200)의 개략적인 전기회로도를 도시하고 있다. 감지 장치(36)로부터의 보류선(82c)은 AND게이트(202)의 제1입력에 연결되고, NOT BUST 선은 AND 게이트(202)의 제2입력에 연결된다. 감지 장치(38)로부터의 보류선(84d)은AND 게이트(204)의 제1입력에 연결되고, WAITING 선은 AND 케이트(204)의 제2입력에 연결된다.
AND 게이트(202)의 출력은 OR 게이트(206)의 제1입력에 연결되며, AND 게이트(204)의 출력은 OR 게이트(206)의 제2입력에 연결된다. OR 게이트(206)의 출력은 AND 게이트(208)의 반전형(inverted) 제1입력과 마스터 래치(210)의 데이터 입력에 HOLDL1선으로 연결된다. 마스터 래치(210)의 데이터 출력은 AND 게이트(212)의 반전형 제1입력에 HOLDL2선으로 연결된다.
시스템 클록선 CLKSYS은 부동 소수점 장치(26)에 입력된다. 마찬가지로, 시스템 클록선 CLKSYS은 제1도의 전자회로(10)내의 다른 장치로 입력된다. 간결성을 위해, 전자회로(10) 전반에 걸친 시스템 클록선 CLKSYS의 분포는 제1도에 도시 하지 않았다.
제3도를 참조하면, 시스템 클록선 CLKSYS은 AND 케이트(208)의 반전형 제2입력과 클록 재발생기(213)의 클록 입력에 연결된다. 클록 재발생기(213)의 클록 출력은 마스터 래치(master latch)(210)의 클록 입력에 연결된다. 또한, 시스템 클록선 CLKSYS은 인버터(inverter, 214)에 연결되며, 인버터(214)의 출력은 AND 게이트(212)의 반전형 제2입력에 연결된다.
인버터(214)와 AND게이트(208) 및 (212)는 함께 점선으로 표시된 클록 재발생기 (216)를 형성한다. 따라서, 클록 재발생기(216)는 HOLDL1, HOLDL2와 CLKSYS선으로부터 신호를 입력받는다. 클록 재발생기(216)는 AND 게이트(208)의 출력을 통해 제1클록 촐력선 CLKL1상에 신호를 출력하고, AND 게이트(212)의 출력을 통해 제2클록 출력선 CLKL2상에 신호를 출력한다. 클록 재발생기(216)의 클록 출력선 CLKL1은 마스터 래치들 L11내지 L1n의 각각의 입력에 연결된다. 클록 재발생기(216)의 클록 출력선 CLKL2은 슬레이브 래치들 L21내지 L2n의 각각의 클록입력에 연결된다.
부동 소수점 장치(26)의 데이터 입력선 D11은 마스터 래치 L11의 데이터 입력에 연결된다. 마스터 래치 L11의 데이터 출력은 슬레이브 래치 L21의 데이터 입력에 연결된다. 슬레이브 래치 L21의 데이터 출력은 부동 소수점 장치(26)의 데이터 출력선 DO1에 연결된다.
마찬가지로, 부동 소수점 장치(26)의 데이터 입력선 DIn은 마스터 래치 L1n의 데이터 입력에 연결된다. 마스터 래치 L1n의 데이터 출력은 슬레이브 래치 L2n의 데이터입력에 연결된다. 슬레이브 래치 L2n의 데이타 출력은 부동 소수점 장치(26)의 데이터 출력선 DOn에 연결된다.
제4도에는 제3도의 회로(200)의 클록신호에 대한 타이밍도(a timimg diagra m)가 도시되어 있다. 마스터 래치 L11과 슬레이브 래치L21은 함께 CMOS 마스터/슬레이브 래치 쌍을 형성한다. 동작에 있어서, 마스터 래치 L11는 클록선 CLKL1상의 신호가 활성 레벨(active level)(220)일 때 그에 응답하여 데이터 입력 D11의 논리상태를 데이터 출력상에 래치한다. 마찬가지로, 클록선 CLKL2상의 신호가 활성 레벨(222)인 것에 응답하여, 슬레이브 래치 L21은 데이터 입력의 논리상태를 테이타 출력 DO1상에 래치한다. 이러한 방식으로, CMOS 마스터/슬레이브 래치쌍은 에지-트리거(edge-triggered)형 래치로서 동작한다. 회로(200)내의 래치들 L1n와 L2n과 같은 다른 마스터/슬레이브 래치 쌍들도 동일한 방식으로 동작한다. 제4도는 CLKSYS의 사이클(226)과 관련하여 CLKSYS상의 신호와 클록선 CLKL1과 CLKL2상의 신호간의 지연 (delay, 224)을 도시하고 있다.
제3도를 다시 설명하면, OR 게이트(206)의 출력은 클록 재발생기(216)의 클록 출력선 CLKL1과 CLKL2의 설정시간(setup time)과 사실상 일치하는 설정시간을 가지고 있다. 특히, 마스터 래치(210)는 OR 케이트(206)로부터 슬레이브 래치들 L21내지 L2n로의 논리경로상에 삽입된다. 이런 방식으로, 슬레이브 래치들 L21내지 L2n은 감지 장치들(36, 38)의 슬레이브 래치와 같은 다른 슬레이브 래치들에 의해서는 구동되지 않는다. 대신에, 슬레이브 래치들 L21내지 L2n은 마스터 래치(210)에 의해 구동되고, 이러한 패턴은 마스터/슬레이브 래치 쌍들의 전자회로(10) 전반에 걸쳐 동일하다. 클록 재발생기(213)로부터 마스터 래치(210)까지의 클록신호 천이는 CLKSYS의 클록신호 천이에 응답하여 출력되며 항상 인에이블(enable)된다.
제3도에 도시된 회로(200)는 부동 소수점 장치(26)내의 회로의 단지 일부를 도시한 것이다. 도시된 바와 같이, 부동 소수점 장치(26)는 다수의마스터/슬레이브래치 쌍들을 포함한다. 클록 재발생기 (216)의 클록 출력선 CLKL1와 CLKL2으로부터의 클록 신호는 전자회로(10)내의 32개 이상의 마스터/슬레이브 래치 쌍으로 배분될수 있다.
DIn과 같은 각각의 데이터 입력은 부동 소수점 장치(26)의 외부에서 입력되거나 부동 소수점 장치(26)내에서 내부적으로 입력될수 있다. 마찬가지로, DOn과 같은 각각의 데이타 출력은 부동 소수점 장치(26)의 외부로 출력되거나 부동 소수점장치(26)내에서 내부적으로 출력될수 있다.
동작에 있어서, 부동 소수점 장치(26)의 제1동작(즉, 명령어 디스패치 장치(18)로부터 명령어가 디스패칭되기를 기다리는 동작)이 수행될 때마다 NOT BUSY신호가 내부적으로 발생된다.(즉, NOT BUSY 선이 표명된다). 따라서, 부동 소수점장치(26)가 명령어 디스패치 장치(18)로부터 명령어가 디스패칭되기를 기다리고 있을 때마다 NOT BUSY 신호가 발생된다. 부동 소수점 장치(26)의 제2동작(즉, 데이터 캐시(32)로부터의 정보를 기다리는 동작)이 수행될 때마다 WATING 신호가 이 부동 소수점 장치(26) 내부에서 발생된다(즉, WATING 선이 표명된다). 결과적으로, WATING 신호는 데이타 캐시(32)로부터의 정보를 기다릴 때마다 발생된다.
회로(200)와 같은 회로는 버스 인터페이스 장치(12), 명령어 캐시(14),명령어버퍼(16), 고정 소수점 장치(22), 적재/저장 장치(24), 부동 소수점 장치(26), 및 데이터 캐시(32)의 각 장치에 포함된다. 따라서, 고정 소수점 장치(22)와 적재/저장 장치(24)는 제3도에 도시된 것과 동일하게 동작하는NOT BUSY 선과 WAITING 선을 제각기 구비하고 있다. 설명을 위해, 제3도는 부동 소수점 장치(26)에 적용되는 회로(200)를 도시한 것으로, 이 회로(200)는 부동 소수점 장치(26)와 일체적으로 구성되어 있다.
유사하게, 명령어 캐시(14)와 데이타 캐시(32)는 제각기 WATING 선을 구비 하고 있는데, 이러한 각각의 WAITING 선은 소정의 동작(즉, 요청받은 정보를 버스 인터페이스 장치(12)로부터 기다리는 동작)이 수행될때마다 내부적으로 표명된다. 또한, 명령어 버퍼(16)의 각각의 버퍼 영역은 제각기 NOT BUSY 선을 구비하고 있는데, 이 NOT BUSY 선은 버퍼 영역의 동작(즉, 명령어 캐시(14)로부터 정보를 기다리는 동작)이 수행될 때마다 내부적으로 표명된다. 버스 인터페이스 장치(12)는 그 자신의 NOT BUSY 선을 구비하는데, 이 NOTBUSY 선은 버스 인터페이스장치(12)의 소정 동작(즉, 전자회로(10)와 버스(40)간의 정보 전송의 요청을 기다리는 동작)이 수행될 때마다 내부적으로 표명된다.
특히. 제1도를 부면, 웨이크업선(80b)의 논리 상태는 보류선들(80a, 80c)의 논리 상태와 반대이므로, 웨이크업선(80b)이 표명되면 논리 0상태가 발생된다. 이와 반대로, 보류선(80a)이 표명되면 논리 1 상태가 발생된다. 마찬가지로, 웨이크럽선(84b)의 논리 상태는 보류선들(84a, 84c와 84d)의 논리 상태와 반대이므로 웨이크업선(84b)이 표명되면 보류선(84a)이 표명될 때와 반대인 논리 상태가 발생된다.
제3도를 다시 설명하면, NOT BUSY 선의 표명과 보류선(82c)의 표명이 동시에 발생하면 AND 게이트(202)의 출력이 표명된다. WAITING 선과 함께 보류선(84d)이 표명되면 AND 게이트(204)의 출력이 표명된다. AND 게이트(202)의 출력과 AND 게이트(204)의 출력중 하나가 표명되면 OR 게이트(206)의 출력선 HOLDL1이 표명되나, 그렇지 않으면, OR 게이트(206)의 출력선HOLDL1이 클리어된다. 중요한 것은,(래치들 L11내지 L1n, L21내지 L2n으로 입력되는)CLKL1과CLKL2상의 클록신호의 천이 주파수는 OR 게이트(206)의 출력선 HOLDL1의 표명이나 클리어에 응답하여 조정된다.
제3도와 제4도를 참조하면,HOLDL1선의 표명(230)에 응답하여, CLKSYS로 부터의 클록 신호가 AND 게이트(208)를 통해 클록 출력선 CLKL1으로 출력되는 것이 금지되는데, 이 상태는 HOLDL1이 표명(230)되는 동안에 CLKL1이 계속 클리어(232)상태를 유지하는 것으로 도시되어 있다. 이러한 방시으로, 래치들 L11내지 L1n로 입력되는 클록신호의 천이 주파수는 0으로 감소된다.
또한, 제4도에 도시된 바와 같이, HOLDL1의 표명(230)에 응답하여 HOLDL2선이 표명(234)된다. HOLDL2의 표명(234)에 응답하여, CLKSYS의 클록신호가 AND 게이트(212)를 통해 클록 출력선 CLKL2으로 출력되는 것이 금지되는데, 이상태는 HOLDL2의 표명(234)동안 CLKL2가 계속 클리어 상태(236)를 유지하는 것으로 도시 되어있다. 이러한 방식으로, 래치들 L21내지 L2n으로 입력되는 클록 신호의 천이 주파수는 0으로 감소된다.
이후에 HOLDL1클리어되는 것에 응답하여서는 CLKSYS의 클록신호가 AND 게이트들(208, 212)을 통해 클록 출력선 CLKL1과 CLKL2로 출력될 수 있게 된다. 이러한 방식으로, 래치들 L11내지 L1n, L21내지 L2n으로 입력되는 클록신호의 천이 주파수는 증가한다.
다른 실시예에서는, 래치들 L11내지 L1n, L21내지 L2n으로 입력되는 클록신호의 천이 주파수가 0으로 감소되지 않고 대신에, 클록 천이가 느려진다. 게다가, 본 실시예의 기본적인 기술을 이용하면 전체 마이크로프로세서뿐만 아니라 다른 형태의 전자회로내에서도 전력소비를 감소시킬 수 있다.
장점으로는, 부동 소수점 장치(26)가 타이머 작동의 종료를 기다리는 동안에 불필요하게 과잉 전력을 소비하지 않는다는 것이다. 또한, 장치의 동작수행을 위한 즉각적인 요구에 응답하여 부동 소수점 장치(26)에 대해 클록신호를 다시 인에이블시키는데 어떠한 인터럽트도 사용하지 않는다는 것이다.
대신에, 본 실시예는 동작 수행의 요구보다 앞서 전자회로의 장치를 다시 인에이블시키므로, 본 실시예는 사용자에게 장치의 이용시 투명성(transparent)을 보장해준다. 따라서, 장치가 동작수행을 요구받는 시점과 정치가 실제로 다시 인에이블되는 시점 사이에는 지연이 일어나지 않는다. 결과적으로, 본 실시예는 장치의 성능이 저하시키지 않으며, 전자회로(10)의 사용자를 충분히 만족시킨다.
비록 본 발명의 전형적인 실시예와 장점들을 자세히 설명하였으나, 이것들은 단지 예로서 설명되었을뿐 본 발명을 제약하려는 것은 아니다. 본 발명의 사상 및 범주를 벗어나지 않고서도 전형적인 실시예에 대해 다양한 수정, 대체, 변형 등이 가능하다. 본 발명의 사상 및 범주는 전형적인 실시예로 인해 제한되어서는 안되며 단지 다음의 특허 청구 범위와 이에 상응하는 것들에 의해서만 한정된다.

Claims (60)

  1. 전자회로장치에 있어서, 적어도 하나의 명령어(instruction)를 디스패칭(dispatching)하고,상기 명령어가 디스패칭되고 있는지의 여부를 나타내는 제1신호를 발생하는 명령어 디스패처(an instruction dispatcher)와, 상기 명령어 디스패처에 연결되어 상기 명령어를 스신 및 처리하고, 상기 명령어가 처리되고 있는지의 여부를 나타내는 제2신호를 발생하는 실행장치(an execution unit)와, 상기 실행장치와 상기 명령어 디스패처에 연결되며, 상기 제1및 제2신호에 응답해서 상기 실행장치 내에서의 클록 천이 주파수를 조정하는 조정회로수단을 보함하는 전자회로장치.
  2. 제1항에 있어서, 상기 실행장치는, 상기 조정회로수단에 접속되어 상기 클록 천이를수신하는 다수의 래치들을 포함하는 전자회로장치.
  3. 제2항에 있어서, 상기 래치들은 상보형 금속 산화막 반도체(CMOS)래치들인 전자회로장치.
  4. 전자회로장치에 있어서, 정보를 출력하고, 상기 정보가 출력되고 있는지의 여부를 나타내는 제1신호를 발생하는 캐시 메모리(a cache memory)와, 상기 캐시 메모리에 연결되어 상기 정보를 수신 및 처리하며, 상기 정보가 처리되고 있는지의 여부를 나타내는 제2신호를 발생하는 입력장치(an input unit)와, 상기 입력장치와 상기 캐시 메모리에 연결되며, 상기 제1 및 제2신호에 응답해서 상기 입력장치 내에서의 클록 천이의 주파수를 조정하는 조정회로수단을 포함하는 전자회로장치.
  5. 제4항에 있어서, 상기 입력장치는 프로세서(aprocessor)의 실행장치인 전자회로장치.
  6. 제 4 항에 있어서, 상기 입력장치는 프로세서의 명령어 버퍼/디스패치 장치(an instruction vuffer/dispatch unit)인 전자회로장치.
  7. 제4항에 있어서, 상기 캐시 메모리는 명령어 캐시 메모리인 전자회로장치.
  8. 제4항에 있어서, 상기 캐시 메모리는 데이터 캐시 메모리인 전자회로장치.
  9. 전자회로장치에 있어서, 제1동작을 수행하고, 상기 제1동작이 수행되고 있는지의 여부를 나타내는 제1신호를 발생하는 제1회로수단과, 상기 제1회로수단에 연결되어 제2동작을 수행하고, 상기 제2동작이 수행되고 있는지의 여부를 나타내는 제2신호를 발생하는 제2회로수단과, 상기 제1 및 제2회로수단에 연결되며, 상기 제1 및 제2신호에 응답해서 상기 제2회로내의 전력소비를 조정하는 제3회로수단을 포함하는 전자회로장치.
  10. 제9항에 있어서, 상기 제3회로수단은 상기 제2회로수단 내에서의 클록 천이의 주파수를 조정함으로써 상기 제2회로수단내의 전력소비를 조정하는 전자회로장치.
  11. 제10항에 있어서, 상기 제1신호가 상기 제1동작이 수행되고 있지 않음을 나타내는 동안, 상기 제3회로수단은 상기 제2동작이 상기 제1동작을 기다리고 있음을 나타내는 상기 제2신호에 응답하여 상기 주파수를 감소시키는 전자회로장치.
  12. 제11항에 있어서, 상기 제3회로수단은 상기 주파수를0으로 감소시키는 전자회로장치,
  13. 제9항에 있어서, 상기 제3회로수단은 상기 제2회로수단과 일체적으로 구성된 전자회로장치.
  14. 제9항에 있어서, 상기 제1회로수단은 상기 제1동작을 수행하는 동작회로수단과, 상기 동작회로수단에 연결되어 상기 제1동작의 수행을 감지하고, 이 감지사실에 응답하여 상기 제1신호를 발생하는 감지회로수단을 포함하는 전자회로장치.
  15. 제9항에 있어서, 상기 제1회로수단은 제3동작을 더 수행하고, 상기 제3동작이 상기 제1회로수단에 의해 수행되고 있는지의 여부를 나타내는 제3신호를 발생하는 전자회로장치.
  16. 제15항에 있어서, 상기 제1회로수단에 연결되어 제4동작을 수행하고, 상기 제4동작이 수행되고 있는지의 여부를 나타내는 제4신호를 발생하는 제4회로수단을 더 포함하는 전자회로장치.
  17. 제16항에 있어서, 상기 제1및 제4회로수단에 연결되며, 상기 제3및 제4신호에 응답해서 상기 제4회로수단 내에서의 클록 천이를 조정하는 제5회로수단을 더 포함하는 전자회로장치.
  18. 전자회로장치내의 전력소비를 감소시키는 방법에 있어서, 제1회로수단으로 제1동작을 수행하는 단계와, 제2회로수단으로 제2동작을 수행하는 단계와, 상기 제1동작이 상기 제1회로수단에 의해 수행되고 있는지의 여부를 나타내는 제1신호를 발생하는 단계와, 상기 제2동작이 상기 제2회로수단에 의해 수행되고 있는지의 여부를 나타내는 제2신호를 발생하는 단계와, 상기 제1및 제2신호에 응답하여 상기 제2회로수단내의 전력소비를 조정하는 단계를 포함하는 전자회로장치내의 전력소비를 감소시키는 방법.
  19. 제18항에 있어서, 상기 전력소비를 조정하는 단계는 상기 제2회로수단 내에서의 클록 천이의 주파수를 조정하는 단계를 포함하는 전자회로장치내의 전력소비를 감소시키는 방법.
  20. 제19항에 있어서, 상기 클록 천이의 주파수를 조정하는 단계는, 상기 제1신호가 상기제1동작이 수행되고 있지 않음을 나타내는 동안, 상기 제2동작이 상기 제1동작을 기다리고 있음을 나타내는 상기 제2신호에 응답하여 상기 주파수를 감소시키는 단계를 포함하는 전자회로장치내의 전력소비를 감소시키는 방법.
  21. 제20항에 있어서, 상기 주파수를 감소시키는 단계는 상기 주파수를 0으로 감소시키는 단계를 포함하는 전자회로 장치내의 전력소비를 감소시키는 방법.
  22. 제18항에 있어서, 상기 제1회로수단으로 제3동작을 수행하는 단계와, 상기 제3동작이 상기 제1회로수단에 의해 수행되고 있는지의 여부를 나타내는 제3신호를 발생하는 단계를 더 포함하는 전자회로장치내의 전력소비를 감소시키는 방법.
  23. 제22항에 있어서, 제3회로수단으로 제4동작을 수행하는 단계와, 상기 제4동작이 상기 제3회로수단에 의해 수행되고 있는지의 여부를 나타내는 제4신호를 발생하는 단계를 더 포함하는 전자회로장치내의 전력소비를 감소시키는 방법.
  24. 제23항에 있어서, 상기 제3및 제4신호에 응답하여 상기 제3회로수단 내에서의 클록 천이를 조정하는 단계를 더 포함하는 전자회로장치내의 전력소비를 감소시키는 방법.
  25. 제1항에 있어서, 상기 조정회로수단은 상기 명령어가 상기 명령어 디스패처에 의해 디스패칭 되고 있음을 나타내는 상기 제1신호에 응답하여 상기 주파수를 증가시키는 전자 회로장치.
  26. 제25항에 있어서, 상기 조정회로수단은 상기 명령어가 상기 실행장치에 의해 처리되고있음을 나타내는 상기 제2신호에 응답하여 상기 주파수를 증가시키는 전자회로장치.
  27. 제26항에 있어서, 상기 명령어가 상기 실행장치에 의해 처리되고 있지 않음을 상기 제2신호가 나타내는 동안, 상기 조정회로수단은 상기 명령어가 상기 명령어 디스패처에 의해 디스패칭되고 있지 않음을 나타내는 상기 제1신호에 응답하여 상기 주파수를 감소시키는 전자회로장치.
  28. 제1항에 있어서, 상기 조정회로수단은 상기 명령어가 상기 실행장치에 의해 처리되고 있음장치.
  29. 제1항에 있어서, 상기 명령어가 상기 실행장치에 의해 처리되고 있지 않음을 살기 제2신호가 나타내는 동안, 상기 조정회로수단은 상기 명령어가 상기 명령어 디스패터에 의해 디스패칭되고 있지 않음을 나타내는 상기 제1신호에 응답하여 상기 주파수를 감소시키는 전자회로장치.
  30. 제4항에 있어서, 상기 조정회로수단은 상기 정보가 상기 캐시메모리에 의해 출력되고 있음을 나타내는 상기 제1신호에 응답하여 상기 주파수를 증가시키는 전자회로장치.
  31. 제30항에 있어서, 상기 조정회로수단은 상기 정보가 상기 입력장치에 의해 처리되고 있음을 나타내는 상기 제2신호에 응답하여 상기 주파수를 증가시키는 전자회로장치.
  32. 제31항에 있어서, 상기 정보가 상기 입력장치에 의해 처리되고 있지 않음을 상기 제2신호가 나타내는 동안, 상기 조정회로수단은 상기 정보가 상기 캐시 메보리에 의해 출력되고 있지 않음을 나타내는 상기 제1신호에 응답하여 상기 주파수를 감소시키는 전자회로장치.
  33. 제4항에 있어서, 상기 조정회로수단은 상기 정보가 상기 입력장치에 의해 처리되고 있음을 나타내는 상기 제2신호에 응답하여 상기주파수를 증가시키는 전자회로장치.
  34. 제4항에 있어서, 상기 정보가 상기 입력장치에 의해 처리되고 있지 않음을 상기 제2신호가 나타내는 동안, 상기 조정회로수단은 상기 정보가 상기 캐시 메모리에 의해 출력되고 있지 않음을 나타내는 상기 제1신호에 응답하여 상기 주파수를 감소시키는 전자회로장치.
  35. 제10항에 있어서, 상기 제3회로수단은 상기 제1동작이 상기 제1회로수단에 의해 수행되고 있음을 나타내는 상기 제1신호에 응답하여 상기 주파수를 증가시키는 전자회로장치.
  36. 제35항에 있어서, 상기 제3회로수단은 상기 제2동작이 상기 제2회로수단에 의해 수행되고 있음을 나타내는 상기 제2신호에 응답하여 상기 주파수를 증가시키는 전자회로 장치.
  37. 제36항에 있어서, 상기 제1동작이 수행되고 있지 않음을 상기 제1신호가 나타내는 동안, 상기 제3회로수단은 상기 제2동작이 상기 제1동작을 기다리고 있음을 나타내는 상기 제2신호에 응답하여 상기 주파수를 감소시키는 전자회로장치.
  38. 제10항에 있어서, 상기 제3회로수단은 상기 제2동작이 상기 제2회로수단에 의해 수행되고 있음을 나타내는 상기 제2신호에 응답하여 상기 주파수를 증가시키는 전자회로장치.
  39. 제19항에 있어서, 상기 클록 천이를 조정하는 단계는 상기 제1동작이 상기 제1회로수단에 의해 수행되고 있음을 나타내는 상기 제1신호에 응답하여 상기 주파수를 증가시키는 단계를 포함하는 전자회로장치내의 전력소비를 감소시키는 방법.
  40. 제39항에 있어서, 상기 클록이 천이를 조정하는 단계는 상기 제2동작이 상기 제2회로수단에 의해 수행되고 있음을 나타내는 상기 제2신호에 응답하여 상기 주파수를 증가시키는 단계를 포함하는 전자회로장치내의 전력소비를 감소시키는 방법.
  41. 제40항에 있어서, 상기 클록 천이를 조정하는 단계는, 상기 제1신호가 상기 제1동작이 수행되 있지 않음을 나타내는 동안, 상기 제2동작이 상기 제1동작을 기다리고 있음을 나타내는 상기 제2신호에 응답하여 상기 주파수를 감소시키는 단계를 포함하는 전자회로장치내의 전력소비를 감소시키는 방법.
  42. 제19항에 있어서, 상기 클록 천이를 조정하는 단계는 상기 제2동작이 상기 제2회로수단에 의해 수행되고 있음을 나타내는 상기 제2신호에 응답하여 상기 주파수를 증가시키는 단계를 포함하는 전자회로장치내의 전력소비를 감소시키는 방법.
  43. 전자회로장치에 있어서, 버스와, 동작들(operations)-상기버스로부터 정보를 입력하는동작과, 제2신호에 응답하여 상기 정보를 출력하는 동작을 포함함-을 수행하고, 지정된 동작이 수행되고 있는지의 여부를 나타내는 제1신호를 발생하는 인터페이스 장치와, 제3신호를 출력하고 상기 정보를 입력하는 입력장치와, 상기 인터페이스 장치와 상기 입력장치에 연결되며, 상기 제 3 신호에 응답하여 상기 정보를 상기 입력장치로 출력하는 메모리-상기 메모리가 자신의 내부에 상기 정부를 저장하고 있지 않을 경우에는, 상기 제3신호에 응답하여, 상기 제2신호를 상기 인터페이스 장치로 출력하고, 상기 인터페이스 장치로부터 상기 정보를 입력하여, 상기 정보를 저장함-와, 상기 인터페이스 장치와 상기 메모리에 연결되며, 상기 제1및 제2신호에 응답하여 상기 인터페이스 장치 내에서의 클록 천이의 주파수를 조정하는 조건 회로수단을 포함하는 전자회로장치.
  44. 제43항에 있어서, 상기 조정회로수단은 상기 제2신호에 응답하여 상기 주파수를 증가시키는 전자회로장치.
  45. 제44항에 있어서, 상기 조정회로수단은, 상기 제2신호가 표명되지 않고(being absent) 상기제1신호가 상기 지정된 동작이 수행되지 않음을 나타내는 것에 응답하여, 상기 주파수를 감소시키는 전자회로장치.
  46. 제43항에 있어서, 상기 입력장치는 프로세서의 명령어 버퍼/디스패치 장치인 전자회로장치.
  47. 제43항에 있어서, 상기 메모리는 캐시 메모리인 전자회로장치.
  48. 제47항에 있어서, 상기 캐시메모리는 명령어 캐시 메모리인 전자회로장치.
  49. 제47항에 있어서, 상기 캐시 메모리는 데이터 캐시 메모리인 전자회로장치.
  50. 43항에 있어서, 상기 버스는 시스템 버스인 전자회로장치.
  51. 전자회로장치에 있어서, 버스와, 동작들(operations)-상기 버스로부터 정보를 입력하는 동작과, 제2신호에 응답하여 상기 정보를 출력하는 동작을 포함함-을 수행하고, 지정된 동작이 수행되고 있는지의 여부를 나타내는 제1신호를 발생하는 인터페이스 장치와, 제3신호를 출력하고 상기 저보를 입력하는 입력장치와, 상기 인터페이스 장치와 상기 입력장치에 연결되며, 상기 제3신호에 응답하여 상기 정보를 상기 입력장치로 출력하는 제1회로수단을 포함하는 메모리-상기 메모리가 자신의 내부에 상기 정보를 저장하고 있지 않을 경우에는, 상기 제3신호에 응답하여 상기 제1회로수단은 상기 제2신호를 상기 인터페이스 장치로 출력하고, 상기 인터페이스 장치로부터 상기 정보를 입력하여, 상기 정보를 상기 메모리 내에 저장함-와, 상기 제1회로수단에 연결되며, 상기 제1및 제2신호에 응답하여 상기 제1회로수단의 적어도 일부분에서의 클록 천이의 주파수를 조정하는 제2회로수단을 포함하는 전자회로장치.
  52. 제51항에 있어서, 상기 제2회로수단은 상기 지정된 동작이 수행되고 있음을 나타내는 상기 제1호에 응답하여 상기 주파수를 증가시키는 전자회로장치.
  53. 제52항에 있어서, 상기 제2회로수단은 상기 지정된 동작이 수행되고 있지 않음으로 나타내는 상기 제1신호와 제2신호에 응답하여 상기 주파수를 감소시키는 전자회로장치.
  54. 제53항에 있어서, 상기 지정된 동작은 상기 정보 출력 동작인 전자회로장치.
  55. 제54항에 있어서, 상기 정보 출력 동작은 상기 메모리로 정보를 출력하는 동작을 포함하는 전자회로장치.
  56. 제51항에 있어서, 상기 입력장치는 프로세서의 명령어 버퍼/디스패치 장치인 전자회로장치.
  57. 제51항에 있어서, 상기 메모리는 캐시메모리인 전자회로장치.
  58. 제57항에 있어서, 상기 캐시 메모리는 명령어 캐시 메모리인 전자회로장치.
  59. 제57항에 있어서, 상기 캐시 메모리는 데이터 캐시메모리인 전자회로장치.
  60. 제51항에 있어서, 상기 버스는 시스템 버스인 전자회로장치.
KR1019940008380A 1993-05-13 1994-04-19 전력소비를 감소시킨 전자회로 장치 및 그 방법 KR0145025B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US061,397 1993-05-13
US08/061,397 US5420808A (en) 1993-05-13 1993-05-13 Circuitry and method for reducing power consumption within an electronic circuit

Publications (1)

Publication Number Publication Date
KR0145025B1 true KR0145025B1 (ko) 1998-08-17

Family

ID=22035525

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940008380A KR0145025B1 (ko) 1993-05-13 1994-04-19 전력소비를 감소시킨 전자회로 장치 및 그 방법

Country Status (5)

Country Link
US (2) US5420808A (ko)
EP (1) EP0624837A1 (ko)
JP (1) JP2716363B2 (ko)
KR (1) KR0145025B1 (ko)
TW (1) TW234750B (ko)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5488575A (en) * 1989-05-02 1996-01-30 Norand Corporation Portable work station and data collection terminal including switchable multi purpose touch screen display
US5850358A (en) * 1989-05-03 1998-12-15 Norand Corporation Portable work station and data collection terminal including switchable multi purpose touch screen display
US6144976A (en) * 1993-02-26 2000-11-07 Norand Corporation Hand-held data collection computer terminal having power management architecture including switchable multi-purpose input display screen
US6061803A (en) * 1993-11-15 2000-05-09 International Microcircuits, Inc. Variable frequency clock for an electronic system and method therefor
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
KR960014161B1 (ko) * 1994-07-23 1996-10-14 삼성전자 주식회사 키보드의 키 입력 감지회로
US5666537A (en) * 1994-08-12 1997-09-09 Intel Corporation Power down scheme for idle processor components
AU3313795A (en) * 1994-10-14 1996-04-26 Compaq Computer Corporation Circuit for placing a cache memory into low power mode in response to special bus cycles
JPH08147161A (ja) * 1994-11-21 1996-06-07 Nec Corp データ処理装置
EP0809825A1 (en) * 1995-02-14 1997-12-03 Vlsi Technology, Inc. Method and apparatus for reducing power consumption in digital electronic circuits
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
US5719800A (en) * 1995-06-30 1998-02-17 Intel Corporation Performance throttling to reduce IC power consumption
US5752045A (en) * 1995-07-14 1998-05-12 United Microelectronics Corporation Power conservation in synchronous SRAM cache memory blocks of a computer system
JPH0950350A (ja) * 1995-08-07 1997-02-18 Fujitsu Ltd 記憶装置
US5996083A (en) * 1995-08-11 1999-11-30 Hewlett-Packard Company Microprocessor having software controllable power consumption
US5661673A (en) * 1995-08-31 1997-08-26 National Semiconductor Corporation Power efficient booth multiplier using clock gating
US5726921A (en) * 1995-12-22 1998-03-10 Intel Corporation Floating point power conservation
JP3934710B2 (ja) * 1996-09-13 2007-06-20 株式会社ルネサステクノロジ マイクロプロセッサ
GB2317975B (en) * 1996-10-04 2001-09-12 Ibm System and method for reducing power consumption in an electronic circuit
US5805907A (en) * 1996-10-04 1998-09-08 International Business Machines Corporation System and method for reducing power consumption in an electronic circuit
US5870616A (en) * 1996-10-04 1999-02-09 International Business Machines Corporation System and method for reducing power consumption in an electronic circuit
US6029006A (en) * 1996-12-23 2000-02-22 Motorola, Inc. Data processor with circuit for regulating instruction throughput while powered and method of operation
US5951689A (en) * 1996-12-31 1999-09-14 Vlsi Technology, Inc. Microprocessor power control system
US5828870A (en) * 1997-06-30 1998-10-27 Adaptec, Inc. Method and apparatus for controlling clock skew in an integrated circuit
US5974505A (en) * 1997-09-02 1999-10-26 International Business Machines Corporation Method and system for reducing power consumption of a non-blocking cache within a data processing system
US6243817B1 (en) * 1997-12-22 2001-06-05 Compaq Computer Corporation Device and method for dynamically reducing power consumption within input buffers of a bus interface unit
US6330679B1 (en) * 1997-12-31 2001-12-11 Intel Corporation Input buffer circuit with dual power down functions
US6233690B1 (en) * 1998-09-17 2001-05-15 Intel Corporation Mechanism for saving power on long latency stalls
US6438700B1 (en) * 1999-05-18 2002-08-20 Koninklijke Philips Electronics N.V. System and method to reduce power consumption in advanced RISC machine (ARM) based systems
US6745336B1 (en) 1999-05-20 2004-06-01 Princeton University System and method of operand value based processor optimization by detecting a condition of pre-determined number of bits and selectively disabling pre-determined bit-fields by clock gating
US6625740B1 (en) * 2000-01-13 2003-09-23 Cirrus Logic, Inc. Dynamically activating and deactivating selected circuit blocks of a data processing integrated circuit during execution of instructions according to power code bits appended to selected instructions
US7263567B1 (en) * 2000-09-25 2007-08-28 Intel Corporation Method and apparatus for lowering the die temperature of a microprocessor and maintaining the temperature below the die burn out
US6826704B1 (en) * 2001-03-08 2004-11-30 Advanced Micro Devices, Inc. Microprocessor employing a performance throttling mechanism for power management
US20020138159A1 (en) * 2001-03-26 2002-09-26 Atkinson Lee W. Temperature responsive power supply to minimize power consumption of digital logic without reducing system performance
US7076674B2 (en) * 2001-12-19 2006-07-11 Hewlett-Packard Development Company L.P. Portable computer having dual clock mode
US6971038B2 (en) * 2002-02-01 2005-11-29 Broadcom Corporation Clock gating of sub-circuits within a processor execution unit responsive to instruction latency counter within processor issue circuit
JP2004005004A (ja) * 2002-03-26 2004-01-08 Mitsubishi Electric Corp グラフィック処理装置
US7243217B1 (en) * 2002-09-24 2007-07-10 Advanced Micro Devices, Inc. Floating point unit with variable speed execution pipeline and method of operation
US7653906B2 (en) * 2002-10-23 2010-01-26 Intel Corporation Apparatus and method for reducing power consumption on simultaneous multi-threading systems
US7330988B2 (en) * 2004-06-30 2008-02-12 Sun Microsystems, Inc. Method and apparatus for power throttling in a multi-thread processor
US7222248B2 (en) * 2005-02-22 2007-05-22 International Business Machines Corporation Method of switching voltage islands in integrated circuits when a grid voltage at a reference location is within a specified range
US7779237B2 (en) * 2007-07-11 2010-08-17 International Business Machines Corporation Adaptive execution frequency control method for enhanced instruction throughput
US7937568B2 (en) * 2007-07-11 2011-05-03 International Business Machines Corporation Adaptive execution cycle control method for enhanced instruction throughput
US8909961B2 (en) 2011-11-29 2014-12-09 Ati Technologies Ulc Method and apparatus for adjusting power consumption level of an integrated circuit

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4285043A (en) * 1976-09-21 1981-08-18 Sharp Kabushiki Kaisha Power transmission controller for electronic calculators
US4240150A (en) * 1977-03-15 1980-12-16 Citizen Watch Co., Ltd. Portable timepiece calculator with power savings feature
US4361873A (en) * 1979-06-11 1982-11-30 Texas Instruments Incorporated Calculator with constant memory
US4317181A (en) * 1979-12-26 1982-02-23 Texas Instruments Incorporated Four mode microcomputer power save operation
JPS5775335A (en) * 1980-10-27 1982-05-11 Hitachi Ltd Data processor
JPS5881334A (ja) * 1981-11-11 1983-05-16 Hitachi Ltd 情報処理装置
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
JPS60198618A (ja) * 1984-03-21 1985-10-08 Oki Electric Ind Co Ltd ダイナミツク論理回路
JPS60218152A (ja) * 1984-04-13 1985-10-31 Hitachi Ltd マイクロ・プロセツサ
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
JPS6326716A (ja) * 1986-07-18 1988-02-04 Nec Ic Microcomput Syst Ltd 中央処理装置
JPS63163912A (ja) * 1986-12-26 1988-07-07 Toshiba Corp マイクロコンピユ−タシステム
JPS63182724A (ja) * 1987-01-23 1988-07-28 Nec Ic Microcomput Syst Ltd 中央処理装置
JP2513002B2 (ja) * 1988-10-31 1996-07-03 富士ゼロックス株式会社 中間調画像生成装置
US5113251A (en) * 1989-02-23 1992-05-12 Fuji Xerox Co. Editing control system and area editing system for image processing equipment
JPH0310306A (ja) * 1989-06-07 1991-01-17 Mitsubishi Electric Corp マイクロプロセッサ
US5153535A (en) * 1989-06-30 1992-10-06 Poget 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
US5117443A (en) * 1989-11-13 1992-05-26 Lucid, Inc. (Formerly Portable Computer) Method and apparatus for operating at fractional speeds in synchronous systems
JPH07112147B2 (ja) * 1989-11-13 1995-11-29 三菱電機株式会社 半導体集積回路
JPH03167615A (ja) * 1989-11-28 1991-07-19 Nec Corp マイクロプロセッサ
JPH04127210A (ja) * 1990-09-19 1992-04-28 Hitachi Ltd 低消費電力プロセッサ
US5287298A (en) * 1990-10-23 1994-02-15 Matsushita Electric Industrial Co., Ltd. Oscillation control apparatus for a portable battery-driven terminal
JPH04279912A (ja) * 1991-01-16 1992-10-06 Nec Corp クロック制御回路
US5452434A (en) * 1992-07-14 1995-09-19 Advanced Micro Devices, Inc. Clock control for power savings in high performance central processing units
US5392437A (en) * 1992-11-06 1995-02-21 Intel Corporation Method and apparatus for independently stopping and restarting functional units

Also Published As

Publication number Publication date
JP2716363B2 (ja) 1998-02-18
US5420808A (en) 1995-05-30
US5539681A (en) 1996-07-23
TW234750B (ko) 1994-11-21
EP0624837A1 (en) 1994-11-17
JPH06332563A (ja) 1994-12-02

Similar Documents

Publication Publication Date Title
KR0145025B1 (ko) 전력소비를 감소시킨 전자회로 장치 및 그 방법
US6560712B1 (en) Bus arbitration in low power system
US5951689A (en) Microprocessor power control system
US6910141B2 (en) Pipelined data processor with signal-initiated power management control
US7257679B2 (en) Sharing monitored cache lines across multiple cores
US5996083A (en) Microprocessor having software controllable power consumption
US8959382B2 (en) Controlling communication of a clock signal to a peripheral
US6014751A (en) Method and apparatus for maintaining cache coherency in an integrated circuit operating in a low power state
US20050132239A1 (en) Almost-symmetric multiprocessor that supports high-performance and energy-efficient execution
US20030056127A1 (en) CPU powerdown method and apparatus therefor
KR20040091705A (ko) 데이터 처리 시스템을 위한 저 전력 시스템 및 방법
GB2317977A (en) Reducing power consumption in a processing device
US5559458A (en) Reset circuit for a pipelined signal processor
JP5833434B2 (ja) 半導体装置
Kumar et al. Implementation of embedded RISC processor with dynamic power management for low-power embedded system on SOC
US6016551A (en) Method and apparatus for masking and unmasking a clock signal in an integrated circuit
GB2317975A (en) Reducing power consumption in a processing device
KR20000002638A (ko) 프로세서를 내장한 반도체 집적 회로
JPH04227519A (ja) マイクロコンピュータシステム

Legal Events

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

Payment date: 20110302

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee