KR100363983B1 - 반도체집적회로 - Google Patents

반도체집적회로 Download PDF

Info

Publication number
KR100363983B1
KR100363983B1 KR1019950041172A KR19950041172A KR100363983B1 KR 100363983 B1 KR100363983 B1 KR 100363983B1 KR 1019950041172 A KR1019950041172 A KR 1019950041172A KR 19950041172 A KR19950041172 A KR 19950041172A KR 100363983 B1 KR100363983 B1 KR 100363983B1
Authority
KR
South Korea
Prior art keywords
clock signal
signal
circuit
clock
bus
Prior art date
Application number
KR1019950041172A
Other languages
English (en)
Other versions
KR960018830A (ko
Inventor
미쯔이시나오끼
이시바시겐이찌
하시무라고이찌
Original Assignee
가부시끼가이샤 히다치 세이사꾸쇼
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가부시끼가이샤 히다치 세이사꾸쇼 filed Critical 가부시끼가이샤 히다치 세이사꾸쇼
Publication of KR960018830A publication Critical patent/KR960018830A/ko
Application granted granted Critical
Publication of KR100363983B1 publication Critical patent/KR100363983B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Power Sources (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

클럭신호에 동기동작되는 여러개의 기능블럭을 구비한 반도체집적회로에 관한 것으로서, 시스템클럭신호에 대해 반도체집적회로의 저소비전력화를 실현하기 위해, 발진기로부터의 출력에 따라서 형성된 주파수가 일정한 제1 시스템클럭신호를 주변기능블럭에 공통으로 공급하고, 발진기로부터의 출력에 따라서 형성되고, 이 주파수가 가변이고 또한 그 주파수가 상기 제1 시스템클럭신호 이하로 된 제2 시스템클럭신호를 CPU 등의 버스마스터모듈에 공급하며, 제1 시스템클럭시호가 공급되는 기능블럭의 데이타버스와 제2 시스템클럭신호가 공급되는 기능블럭의 데이타버스를 분리시키는 구성으로 하였다.
이러한 구성에 의해 클럭에 동기해서 동작하는 시스템을 구성하는 반도체집저기회로에 적룡할 수 있다.

Description

반도체 집적회로
본 발명은 클럭신호에 동기동작되는 여러개의 기능블럭을 구비한 반도체집적회로에 관한 것으로서, 저소비전력을 필요로 하는 싱글칩 마이크로컴퓨터에 이용해서 특히 유효한 기술에 관한 것이다.
편성6년 3월에 가부시끼가이샤 히다찌세이사꾸쇼에서 발행된 「H8/3048시리즈 하드웨어 매뉴얼」의 P607∼632에 기재되어 있는 바와 같이 싱글칩 마이크로컴퓨터의 각 기능블럭은 시스템클럭신호Φ를 기준으로 해서 동작한다. 이러한 시스템클럭신호Φ는 싱글칩 마이크로컴퓨터에 마련된 외부클럭입력단자 (EXTAL)에 입력되는 외부클럭 또는 마이크로컴퓨터에 마련된 발진단자 (EXTAL, XTAL)에 접속되는 수정 또는 세라믹 등의 진동자에 의해서 생성되는 원발진에서 생성된다. 또, 마이크로컴퓨터중의 각 기능블럭에 고유의 클럭신호를 공급하는 예가 일본국 특허공개공보 평성3-286213호에 기재되어 있다. 또, 일본국 특허공개공보 평성5-81447호에는CPU(중앙처리장치) 와 그 주변회로를 포함하는 마이크로컴퓨터에 있어서 각각의 주변회로에 클럭신호의 분주기와 클럭선택수단을 배치한 기술이 개시되이 있다. 일본국 특허공개공보 평성3-58207호에는 발진회로의 출력을 분주회로에 의해 분주하고, 분주된 클럭신호에서 1개를 선택해서 시스템클럭신호로 하는 기술이 개시되어 있다.
본 발명자는 싱글칩 마이크로컴퓨터와 같은 반도체집적회로의 시스템클럭신호에 대해서 이하의 검토를 하였다.
시스템클럭신호Φ로서는 원발진과 동일한 주파수로 할지 또는 소위 기어기능 즉 원발진을 분주해서 얻은 주파수로 할지를 선택할 수 있다. 그와 같은 시스템클럭신호는 CPU(중앙처리장치)나 그 주변회로 등에 공통으로 공급된다. 상기 기어기능에 있어서는 싱글칩 마이크로컴퓨터의 저소비전력화의 관점에서 CPU가 처리할 내용에 따라서 시스템클럭신호의 주파수를 전환하는 것이 바람직하다.
또, 시스템클럭신호로서 원발진을 정상적으로 2분주한 것을 선택한다고 고려한 경우와 원발진의 발진주파수를 미리 1/2로 하고 그것을 시스템클럭신호로 한 (상기 원발진과 동일한 주파수) 경우를 비교하면, 원발진의 주파수를 양쪽사이에서 동일하게 하면, 시스템클럭신호의 주파수는 전자가 후자에 대해 2배로, 원발진기의 소비전류가 2배로 되어 버린다.
한편, CPU가 처리할 내용에 따라서 동작중에 시스템클럭신호의 주파수를 전환하는 경우에는 다음의 문제점이 생기게 된다. 예를 들면, 시스템클럭Φ가 직렬통신인터페이스 (SCI)의 기준클럭에 사용되어 있으면, 시스템클럭신호의 분주비가1/2로 된 경우, SCI의 송수신의 비트레이트 또는 보레이트가 1/2로 되고 특히, 조보동기식통신의 경우 등에는 통신할 수 없게 된다. 이 때문에 시스템 클럭신호의 주파수를 전환할 때에는 전환후의 시스템클럭신호에 대응하도록 SCI의 비트레이트 또는 보레이트의 실정을 변경해야만 한다. 따라서, 그와 같은 시스템클럭신호주파수의 전환은 SCI의 동작정지중에 실행해야만 한다.
마찬가지로, 일반적인 타이머 등에서도 시스템클럭신호가 클럭소오스로 사용되고 있는 경우, 시스템클럭신호의 주파수를 절반으로 하면 그 주기가 2배로 되므로, 타이머에 대해서도 설정을 변경하지 않으면 절대적인 개시시간이 상위되게 된다. SCI나 타이머이외의 대부분의 주변회로 또는 주변기능에 대해서도 동일한 재설정처리를 실행해야만 하여 그것에 필요한 소프트웨어의 부담은 무시할 수 있을 정도로 적지는 않다.
또, 시스템클럭신호의 분주비를 1/2에서 1/1로 변경해서 시스템클럭신호의 주파수를 높게 하는 경우도 사정은 마찬가지이다. 특히, 고속으로의 변경은 CPU에 대한 처리로서 고속처리가 발생한 경우이지만, 이러한 경우에 주변기능의 대부분에 상기 설정변경을 실행하는 것에서는 시간적인 낭비가 커서 고속처리가 필요한 상황에 대응할 수 없게 된다.
한편, 마이크로컴퓨터의 각 기능블럭에 고유의 클럭신호를 공급하는 상술한 일본국 특허공개공보 평성3-286213호에서는 각 기능블럭에 공급되는 클럭신호의 분주비를 독립으로 설정한 수 있도록 되어 있다. 따라서, 1개의 기능블럭에 대한 활력신호분주비의 변경이 다른 기능블럭에 영향을 주는 일은 없게 되어 소프트웨어의부담도 적어진다.
그러나, 각 기능블럭에 독립한 클럭신호를 공급하는 경우, 필연적으로 클럭배선의 길이의 합계, 즉 용량이 크게 된다. 소비전류는 신호선의 용량 (C), 전압 (V), 주파수 (f)의 곱의 총합 즉 ∑C ·V ·f로 표현되므로, 이러한 클럭배선에서 소비되는 소비전류도 이것에 비례해서 크게 되어 버린다. 클럭신호는 마이크로컴퓨터내부에서 가장 주파수 ( f )가 높은 신호로서 이러한 소비전류는 무시할 수 없다. 적어도 저소비전력화를 도모하기 위해서는 득책은 아니다.
또, 각 기능블럭이 임의의 분주비로 동작하고 있는 경우, 상호간의 인터페이스에서 한쪽의 클럭신호의 상승변화점이 다른쪽의 클럭신호의 어느 상으로 되어 있는지가 불명료하고, 신호의 세트업시간이나 홀드시간의 확보가 곤란하게 되어 필연적으로 비동기적인 인터페이스로 될 수 밖에 없다. 이러한 비동기적인 인터페이스에서는 논리설계가 복잡하고 또, 이러한 인터페이스에 필요한 논리규모도 크게 되어 버린다.
또, 클럭신호의 전환을 전적으로 소프트웨어에 의해 실행하면, 소정의 이벤트 예를 들면, 리세트나 소정의 인터럽트요구 등이 발생해서 CPU의 고속처리를 필요로 하는 경우에 이러한 이벤트를 인터럽트로서 인식하여 인터럽트예외처리를 실시하고, 인터럽트처리루틴 중에서 시스템클럭신호의 분주비를 전환한 후에 원하는 처리를 하게 된다. 이것에서는 상기 이벤트가 발생하고 나서 원하는 처리를 하기까지의 시간이 길게 되어 불합리하다.
본 발명의 목적은 시스템클럭신호에 관해 저소비전력화를 실현할 수 있는 반도체집적회로를 제공하는 것이다.
본 발명의 다른 목적은 소프트웨어의 부담을 작게 해서 CPU등의 내장기능블럭의 동작속도를 가변으로 할 수 있는 반도체집적회로를 제공하는 것이다.
본 발명의 또 다른 목적은 소정의 이벤트가 발생했을 때에 원하는 처리를 하기까지의 시간을 단축할 수 있는 반도체집적회로를 제공하는 것이다.
본 발명의 그 밖의 목적은 공급되는 시스템블럭신호의 주파수가 상위되는 기능블럭간에서의 인터페이스를 용이화할 수 있는 반도체집적회로를 제공하는 것이다.
본 발명의 상기 및 그 밖의 목적과 새로운 특징은 본 명세서의 기술 및 첨부도면에서 명확하게 될 것이다.
본원에 있어서 개시되는 발명 중 대표적인 것의 개요를 설명하면 다음과 같다.
[ 1 ] 반도체집적회로는 발진기 (12), 상기 발진기로부터의 출력에 따라서 형성된 주파수가 일정한 제2 시스템클럭신호 (ΦS)를 여러개의 기능블럭에 공통으로 공급하기 위한 제2 클럭신호배선 (L2), 상기 발진기 (12)로부터의 출력에 대해서 분주비가 선택가능하게 되고, 주파수가 상기 제2 시스템클럭신호이하로 된 제1 시스템클럭신호 (ΦB)를 형성하는 클럭제어회로 (13) 및 상기 클럭제어회로 (13)에서 형성되는 제1 시스템클럭신호를 소정의 기능블럭에 공급하기 위한 제1 클럭신호배선 (L1)을 구비한다.
[ 2 ] 상기 제 1클럭신호배선을 거쳐서 제1 시스템클럭신호가 공급되는 기능블럭은 버스마스터 (1, 2)로 된다. 마이크로컴퓨터등의 데이타프로세서에 있어서 버스마스터로서 동작하는 CPU는 일반적으로 명령 및 데이타페치를 위한 버스사이클을 빈번하게 기동한다. 따라서, 반도체집적회로를 저소비전력화하기 위해서는 이들 버스마스터에는 분주비가 가변의 시스템클럭신호를 공급하는 것이 득책이기 때문이다.
[ 3 ] 상기 제2 클럭신호배선을 거쳐서 제2 시스템클럭신호가 공급되는 기능블럭은 버스슬래이브 (7, 8, 9, 10)으로 된다. 버스마스터의 시스템클럭신호의 주파수를 변경해도 직렬통신인터페이스의 비트레이트 또는 보레이트, 그리고 타이머의 계시주기 등을 일정하게 유지하도록 해서 이들 주변기능블럭의 설정변경을 필요로 하지 않도록하기 위함이다.
[ 4 ] 상기 클럭제어회로 (13)에는 제1 클럭신호 (ΦB)의 분주비를 선택하기 위한 정보가 상기 버스마스터에 의해서 설정가능하게된 레지스터수단 (132)를 구비할 수 있다. CPU 등의 버스마스터에 의해서 분주비의 선택을 임의로 실행할 수 있도록 하기 위함이다.
[ 5 ] 상기 제1 클럭신호배선을 거쳐서 제1 시스템클럭신호 (ΦB)가 공급되고, 버스마스터로서 동작하는 기능블럭이 접속되는 제1 내부데이타버스 (IDB)와 상기 제2 클럭신호배선을 거쳐서 제2 시스템클럭신호 (ΦS) 가 공급되고, 버스슬레이브로서 동작하는 기능블럭이 접속되는 제2 내부데이타버스 (PDB)로 데이타버스는 분리된다. 제1 내부데이타버스에 접속되는 버스마스터에 의해서 제2 내부데이타버스에 접속된 버스슬레이브가 액세스되는 경우, 그 액세스에 따라서 상기 제1 내부데이타버스를 제2 내부데이타버스에 접속하는 버스컨트롤러 (3)이 구비된다. 제2 내부데이타버스에는 접속된 기능블럭의 출력이 모두 고임피던스 상태일때에 상기 버스의 상태를 유지하고, 상기 접속된 기능블럭이 리드 또는 라이트될 때에는 그것에 따라서 버스의 상태가 변하는 것을 허용하는 홀드회로 (HD1, HD2)가 마련된다. CPU 등의 버스마스터와 같이 빈번하게 버스사이클을 기동하는 기능블럭을 버스슬레이브와는 다른 데이타버스에 접속하는 것에 의해 빈번하게 액세스되는 데이타버스의 부하가 작게 된다. 액세스에 이용되는 빈도가 상대적으로 낮은 데이타버스에 대해서는 그것에 있어서의 데이타를 홀드회로에 의해서 유지하는 것에 의해 상기 데이타버스상에서의 충방전회수를 줄여서 저소비전력화를 도모한다.
[ 6 ] 상기 제1 시스템클럭신호(ΦB)가 공급되는 기능블럭은 상기 제1 시스템클럭신호에서 제1 노오버랩 2상클럭신호 (Φ1B,Φ2B)를 형성하는 노오버랩생성회로를 구비하고, 제2 시스템클럭신호(ΦS)가 공급되는 기능블럭은 상기 제2 시스템클럭신호에서 제2 노오버랩 2상클럭신호 (Φ1S,Φ2S)를 형성하는 노오버랩생성회로(700)을 구비하고, 제1 노오버랩 2상클럭신호 (Φ1B,Φ2B)는 제2 노오버랩 2상클럭신호 (Φ1S,Φ2S)와 부분적으로 위상이 일치되고 (예를 들면 제23도에 있어서의Φ1S,Φ2B의 상승타이밍), 제2 시스템클럭신호가 공급되는 기능블럭 (예를 들면 제19도의 버스슬레이브)는 제2 노오버랩 2상클럭신호에 있어서 상기 위상이 일치하는 타이밍 (예를 들면 제23도의 상태3에 있어서의Φ1S의 상승)에 동기해서 제1 시스템클럭신호가 공급되는 기능블럭 (예를 들면 제19도의 버스마스터)로 공급될 신호를 변화시킨다. 이 인터페이스사양에 따르면 시스템클럭신호가 상위시키는기능블럭간에서 데이타가 출력되고 나서 그것을 입력하고 래치하기까지에 제2 시스템클럭신호 (ΦS)의 1주기이상의 기간을 확보할 수 있다.
이것에 의해 시스템클럭신호의 주파수가 상위되는 기능블럭간에서의 인터페이스를 용이화하는 즉, 인터페이스를 위한 타이밍설계를 용이화한다.
[ 7 ] 상기 제1 시스템클럭신호 (ΦB)가 공급되는 기능블럭은 상기 제1 시스템클럭신호에서 제1 노오버랩 2상블럭신호 (Φ1B,Φ2B)를 형성하는 노오버랩생성회로를 구비하고, 제2 시스템클럭신호(ΦS)가 공급되는 기능블럭은 상기 제2 시스템클럭신호에서 제2 노오버랩 2상클럭신호 (Φ1S,Φ2S)를 형성하는 노오버랩생성회로(700)을 구비한다. 상기 제1 노오버랩 2상클럭신호의 제1상째의 클럭신호 (예를 들면 제20도의 (Φ1B)의 로우레벨기간은 제2 노오버랩 2상클럭신호의 제1상째의 클럭신호 (예를 들면 제20도의Φ1S)의 로우레벨기간과 일치되고, 제1 노오버랩 2상클럭신호의 제2상째의 클럭신호 (예를 들면 제20도의Φ2B)의 하이레벨기간은 제2 노오버랩 2상클럭신호의 제2상째의 클럭신호 (예를 들면 제20도의Φ2S)의 하이레벨기간과 일치된다. 각 기능블럭의 출력과 입력은 제1상째 또는 제2상째 중 어느 것의 클럭신호에 동기시켜도 시스템클럭신호가 상위시키는 기능블럭간에서 데이타가 출력되고 나서 그것을 입력하고 래치하기 까지는 제2 시스템클럭신호 (ΦS)의 1주기이상의 기간을 확보할 수 있다. 이것이 시스템클럭신호의 주파수가 상위되는 기능블럭간에서의 인터페이스를 용이화하는 즉, 인터페이스를 위한 타이밍설계를 용이화한다.
[ 8 ] 상기 제1 시스템클럭신호 (ΦB)와 제2 시스템클럭신호 (ΦS) 를 선택적으로 외부로 출력하는 출력회로 (예를 들면 제26도, 제27도의 IOP60, IOP61)과 상기 출력회로로부터의 출력이 비선택상태로 되어 있을 때, 상기 출럭회로의 클럭입력배선 (1310, 1311)을 소정레벨로 강제적으로 되게 하는 논리회로 (1300, 1301, 1307)이 마련되어 있다. 시스템클럭신호의 외부출력을 필요로 하지 않는 경우에는 상기 클럭입력배선에 있어서의 충방전이 억제되어 저소비전력에 기여한다.
[ 9 ] 기능블럭마다 개별적으로 내부클럭신호 등의 생성을 억제한다고 하는 다른 관점의 발명은 발진기 (12) 로부터의 출력에 따라서 형성되는 시스템클럭신호 (ΦS)를 받고, 상기 시스템클럭신호에 동기하는 여러상의 내부클럭신호 (Φ1S,Φ2S)를 형성하고, 형성된 내부클럭신호에 따라서 동작하는 여러개의 기능블럭 (7, 8, 9, 10)과 상기 기능블럭단위로 내부클럭신호의 형성을 금지시키는 정보를 리라이트 가능하게 유지하기 위한 레지스터수단 (133)을 구비하고, 상기 기능블럭은 상기 레지스터수단으로부터의 대응정보에 의해서 내부클럭신호의 형성이 금지될 때에 상기 내부클럭신호의 변화를 일정의 상태로 정지시켜 내부상태를 유지시키는 제1 내부클럭제어수단(700)을 구비하고, 1개의 반도체기판에 형성된다. 이용하지 않는 내장의 기능블럭내에서는 내부클럭신호의 변화가 정지되고, 클럭신호의 불필요한 변화에 의한 충방전전류에 의한 전력소비를 억제한다. 내부클럭신호정지상태에 있어서 내부상태를 유지시키는 것은 동작재개가 선택되었을 때에 내부회로를 재설정하는 수고를 줄인다.
[ 10 ] 상기 기능블럭은 또, 자기자신의 동작이 선택되는 것에 의해서 상기 여러상의 내부클럭신호 (Φ1S,Φ2S)에서 내부타이밍신호 (Φ1 - PWM,Φ2 - PWM)을 형성하는, 자기자신의 동작이 비선택으로 되는 것에 의해서 내부타이밍신호의 변화를 일정의 상태로 정지시켜서 내부상태를 유지시키는 제2 내부클럭제어수단 (710)을 구비한다. 동작의 비선택상태에 있어서 내부타이밍신호 (Φ1 - PWM,Φ2 - PWM)을 받는 회로에서의 진력소비가 억제된다. 동작비선택상태에 있어서 내부타이밍신호의 변화가 정지되었을 때에 내부상태를 유지시키는 것은 동작재개일 때에 내부회로를 재설정할 수고를 줄인다 .
[ 11 ] 상기 내부타이밍신호는 노오버랩의 2상의 타이밍신호 (Φ1- PWM,Φ2 - PWM)이고, 상기 타이밍신호를 받아서 동작되는 회로는 그 제1상째의 타이밍신호를 받아서 동적으로 동작되는 다이나믹회로 (23)과 상기 다이나믹회로에 직렬적으로 접속되고 제2상째의 타이명신호를 받아 정적으로 동작되는 스테이틱회로 (21)을 포함해서 이루어진다. 노오버랩의 2상의 타이밍신호 (Φ1 - PWM,Φ2 - PWM)중, 듀티가 큰 상의 타이밍신호를 다이나믹회로에, 듀티가 작은 상의 타이밍신호를 스테이틱회로에 공급하는 것에 의해 다이나믹회로의 출력부하용량의 유지시간이 유한이어도 래치시간이 상대적으로 짧게 되어 주파수저감범위를 넓힐 수 있다. 또, 양쪽을 스테이틱래치회로로 구성하는 경우에 비해 회로의 물리적규모를 축소할 수 있다.
[ 12 ] 이벤트검출에 따라서 시스템클럭신호의 주파수를 강제적으로 변경한다고 하는 다른 관점의 발명은 1개 또는 여러개의 제1 기능블럭 (1, 2), 제1 기능블럭에 대해서 예외적처리를 요구한 내외의 사상 (이벤트)의 발생을 검출해서 대응하는 제1 기능블럭에 예외적처리를 요구하는 신호를 출력하는 이벤트검출회로 (4),제1 기능블럭에 대해서 예외적처리를 요구할 사상을 발생시키는 1개 또는 여러개의 제2 기능블럭 (7, 8, 9, 10), 상기 제1 기능블럭 및 이벤트검출회로에 공급되는 제1 시스템클럭신호(ΦB)의 주파수를 가변으로 선택가능하게 함과 동시에 상기 이벤트검출회로(4)에 의한 소정의 이벤트의 검출에 따라서 주파수의 선택상태를 소정의 상태로 강제적으로 되게 하는 선택제어수단 (131, 132)를 반도체집적회로는 갖는다.
소정의 이벤트가 발생했을 때, 설정되어 있는 시스템클럭신호주파수가 낮아도 선택제어수단이 시스템클럭신호주파수의 선택상태를 소정의 상태, 예를 들면 최고주파수 선택상태로 강제적으로 되게 할 수 있고, 이것에 의해서 소정의 이벤트가 발생했을 때에 원하는 처리를 하기까지의 시간이 단축된다.
[ 13 ] 상기 선택수단은 주파수선택을 위한 제어정보를 리라이트 가능하게 유지하는 제1 레지스터수단 (132)와 이 제1 레지스터수단이 유지하는 제어정보에 따라서 제1 시스템클럭신호의 주파수를 선택하는 셀렉터 (131)을 갖고, 제 1레지스터수단은 제1 상태 (= 0)에 있어서 특정주파수 (ΦOSC)의 선택을 지시함과 동시에 상기 이벤트검출회로에 의한 소정의 이벤트의 검출에 따라서 상기 제1 상태로 강제적으로 설정되는 제1 기억영역 (MSME)와 상기 제1 기억영역에 있어서의 제2 상태 (MSME = 1)에 있어서 유의로 되는 주파수선택을 위한 정보를 저장하는 제2 기억영역 (CKS1 , CKS0)을 구비해서 이루어진다. 소정의 이벤트가 발생했을때, 제1 기억영역 (MSME)를 제1 상태 (= 0)로 강제적으로 설명하면 좋으므로, 시스템클럭신호를 특정주파수로 강제적으로 되게 하는 처리가 간단하게 된다.
[ 14 ] 상기 제1 기능블럭은 중앙처리장치 (1)이고, 상기 이벤트 검출회로에서 상기 예외적처리를 요구하는 신호가 부여된 중앙처리장치는 상기 예외적처리로부터의 복귀시에 제1 기억영역을 제2 상태(MSME = 1)로 설정할 수 있다. 따라서, 중앙처리장치는 요구된 예외적처리를 실행한 후에 그 요구가 있었을 때의 처리 또는 그 다음의 처리로 복귀할 경우에도 제2 기억영역 (CKS1, CKS2)의 값 그 자체를 세이브 및 복귀시키는 것을 필요로 하지 않는다.
[ 15 ] 상기 제1 기능블럭은 데이타트랜스퍼 컨트롤러 (2)이고, 상기 이벤트검출회로에서 상기 예외적처리를 요구하는 신호가 부가된 데이타트랜스퍼 컨트롤러는 상기 예외적처리의 종료를 지시하는 신호(1325)를 출력하고, 상기 논리수단은 상기 종료를 지시하는 신호의 활성상태에 의해서 제1 기억영역을 제2 상태 (MSME = 1)로 설정할 수 있다. 이것에 의해 시스템클럭신호를 원래로 되돌리는 데에 중앙처리장치 또는 소프트웨어에 일절의 부담을 주지 않는다.
[ 16 ] 상기 제2 기능블럭 (7, 8, 9, 10)은 그것에 공급되는 주파수가 일정한 제2 시스템블럭신호 (ΦS)에서 내부클럭신호 (Φ1S,Φ2S)를 형성하고, 그것에 의해서 동작되고, 제2 기능블럭단위로 상기 내부블럭신호의 형성을 금지시키기 위한 정보를 리라이트 가능하게 유지하는 제2 레지스터수단 (133)을 마련하고, 상기 이벤트검출회로에 의한 소정의 이벤트의 검출 (예를 들면, 리세트)에 따라서 상기 제2 레지스터수단은 내부클럭신호의 형성을 금지하는 상태로 초기화되는 것이다. 리세트 등의 소정 이벤트발생시에 있어서의 초기적인 상태에 있어서의 전력소비를 저감시키기 위함이다.
[ 17 ] 시스템클럭신호의 주파수를 강제적으로 변경하기 위해 인터럽트헤더 등의 벡터와 쌍의 제어정보를 이용한다고 하는 또 다른 관점의 발명은 중앙처리장치 (1), 중앙처리장치에 대해서 예외적처리를 요구하기 위한 신호를 출력하는 이벤트검출회로 (4), 중앙처리장치의 주변회로 (7, 8, 9, 10), 상기 중앙처리장치 및 이벤트검출회로에 공급되는 제 1시스템클럭신호 (ΦB)의 주파수를 선택가능하게 지시하는 제1레지스터수단 (132) 및 제2 시스템클럭신호 (ΦS)를 받아서 동작되는 상기 주변회로단위로 그 내부클럭신호의 형성을 금지시키기 위한 정보를 리라이트 가능하게 유지하는 제2 레지스터수단 (133)을 구비하고, 상기 중앙처리장치는 이벤트검출회로에서 예외적처리의 요구가 있었을 때, 제1 및 제2 레지스터수단에 설정할 제어정보를 상기 요구에 따른 벡터와 쌍을 이루는 영역 (제30도의 어드레스0, 4, 8, 12)에서 취득하는 것이다. 이벤트의 종류에 따라서 저소비전력설정을 미세하게 실행할 수 있도록 하기 위함이다.
[ 18 ] 상기 중앙처리장치 ( 1 )은 이벤트검출회로 ( 4 )에서 예외적처리의 요구가 있었을 때, 제1 및 제2 레지스터수단에 상기 요구에 따른 헤더와 쌍을 이루는 영역에서 취득한 제어정보를 설정하기 전에 상기 예외적처리로부터의 복귀를 위해 제1 및 제2 레지스터수단의 값을 세이브시킨다. 요구된 예외적처리의 종료후에 이벤트 발생직전의 상태로 복귀해야만 하는 경우에 대처하기 위함이다.
[ 19 ] 프리스케일러에서 생성가능한 저분주비의 프리스케일러 클럭신호는 프리스케일러에서 공급되지 않고, 기능블럭내의 분주기로 개별적으로 생성시킨다고 하는 그 밖의 관점에 의한 발명은 발진기 (12), 발진기로부터의 출력에 따라서 시스템클럭신호를 형성하는 클럭제어회로 (13) 및 클럭제어회로로부터의 시스템블럭신호를 받아서 동작되는 여러개의 기능블럭을 구비해서 이루어지는 반도체집적회로에 있어서 시스템클럭신호 (ΦS)와는 다른 상대적으로 분주비가 작은 클럭신호 (제6도의ΦS/2)를 필요로 하는 기능블럭에는 기능블럭마다 시스템클럭신호를 분주하는 분주기 (720)을 마련하고, 상대적으로 분주비가 큰 클럭신호 (Φ/8,Φ/16)을 필요로 하는 여러개의 기능블럭에 대해서 공통으로 상기 클럭신호를 생성해서 공급하는 프리스케일러 (14)를 마련해서 구성된다. 저분주비의 클럭신호도 직접 여러개의 기능블럭에 공급하는 경우에는 저분주비이므로 상기 클럭신호전달계에 있어서의 진력소비가 크게 되어 버리기 때문이다.
상기한 수단에 의하면 주변회로 또는 비스슬레이브와 같은 기능블럭으로 공급되는 시스템클럭신호 (주변클럭신호라호도 한다)와는 독립으로 버스마스터와 같은 기능블럭으로 공급되는 시스템클럭신호 (버스마스터클럭신호라고도 한다)의 분주비를 가변으로 하는 것에 의해 CPU 등의 동작상태에 따라서 상기 버스마스터클럭신호의 분주비를 크게 해서 저소비전력화를 실현할 수 있다.
상기 주변클럭신호는 고정으로 할 수 있으므로, 상기 버스마스터클럭신호를 변경해도 SCI의 비트레이트 내지 보레이트나 타이머의 주기 등은 일정하게 유지되므로, CPU 등으로의 시스템클럭신호의 주파수변경에 의해서 이들의 주변기능블럭의 설정을 변경하거나 하는 것을 필요로 하지 않는다.
주변기능블럭은 버스마스터에 비해서 동작빈도가 낮으므로, 소정의 신호가 입력되었을 때에만 동작시키도록 하고, 또 필요에 따라서 그 동작이 금지가능하게되는 것에 의해 반도체집적회로는 한층 저소비전력화된다. 이 때, 동작금지상태의 주변기능블럭에 있어서 내부상태를 유지하는 것은 동작허가후에 즉시 동작을 재개할 수 있도록 한다.
상기 주변클럭신호 등의 클럭신호를 여러개의 기능블럭에 공통인 클럭신호로 하는 것은 각 기능블럭에 독립의 클럭신호를 공급하는 것보다 클럭배선의 배선용량을 작게 하여 소비전력을 작게 한다.
버스마스터클럭신호를 주변블럭신호보다 항상 동일하거나 또는 느리게 하고, 버스마스터와 주변기능블럭간의 인터페이스신호를 버스마스터클럭신호와 주변클럭신호의 예를 들면, 공통의 변화점에 동기시키는 것에 의해 버스마스터와 주변기능블럭간의 인터페이스를 용이한 동기인터페이스로 하는 것을 가능하게 한다. 더 나아가서는 반도체집적회로의 논리규모를 축소하여 제조비용의 저감 및 저소비전력화에 공헌한다.
<싱글칩 마이크로컴퓨터의 기능블럭>
제1도에는 본 발명에 관한 반도체집적회로의 1실시예인 싱글칩 마이크로컴퓨터의 블럭도가 도시되어 있다. 이 싱글칩 마이크로컴퓨터는 중앙처리장치 (CPU) (1), 데이타트랜스퍼 컨트롤러 (DTC) (2), 버스컨트롤러 (BSC) (3), 인터럽트컨트롤러 (4), 리드온리 메모리 (ROM) (5), 랜덤 액세스 메모리 (RAM) (6), 타이머 (7), 위치독타이머 (WDT) (8), 직렬통신인터페이스 (SCI) (9), 아날로그/디지탈 (A/D) 변환기 (10), 제 1∼제 11 입출력포트 IOP1∼IOP11, 클럭발진기 (CPG) (12), 클럭제어회로 (13) 및 프리스케일러 (14)의 블럭 (회로모듈이라고도 한다)을 구비하고, 이들의 기능블럭은 특히 제한되지 않지만, 공지의 CMOS반도체집적회로의 제조기술에 의해 단결정실리콘과 같은 1개의 반도체 기판상에 형성된다. 상기 타이머는 1예로서 PWM (Pulse Width Modulation) 타이머를 포함하고, 타이머 (7)에 있어서 특히 PWM 타이머를 나타낼 때에는 펀의상 PWM타이머 (7)로 한다.
상기 싱글칩 마이크로컴퓨터에는 여러개의 외부단자가 마련되어 있다. 외부단자 중 전원단자에는 접지레벨 (Vss), 전원전압레벨 (Vcc), 아날로그용 접지레벨 (AVss), 아날로그용 전원전압레벨 (AVcc)가 공급된다. 외부단자에는 상기 전원단자 이외에 전용제어단자가 마련되어 있고, 이들의 단자로서 리세트 (RES), 스탠바이 (STBY), 모드제어 (MD0∼MD2), 블럭입력 (EXTAL, XTAL), 마스크불가능한 인터럽트 (NMI)의 각 단자가 있다.
<싱글칩 마이크로컴퓨터의 내부버스구성>
제1도에 도시되는 상기 각 기능블럭은 내부버스에 의해서 서로 접속된다. 내부버스는 어드레스버스 및 데이타버스 이외에 리드신호, 리드신호 더 나아가서는 버스사이즈신호 등을 포함하는 컨트롤버스로 이루어진다. 내부의 어드레스버스에는 IAB와 PAB가 존재한다. 내부의 데이타비스로서는 IDB와 PDB가 존재한다. 이들의 IAB, PAB 및 IDB, PDB의 버스는 버스컨트롤러 (3)에 의해서 서로 인터페이스된다.
내부데이타버스 IDB, 내부어드레스버스 IAB는 버스마스터로서 동작할 수 있는 CPU (1) 또는 DTC (2)중 어느 것인가가 선택적으로 버스권을 갖고, 사용된다. 어느곳에 버스권을 부여할지는 버스컨트롤러 (3)의 제어에 의해서 결정된다. 버스컨트롤러 (3)은 내부어드레스버스 IAB로 출력된 정보를 해독해서 어떤 기능블럭이선택되었는지를 판정하는 기능블럭 선택회로MS를 포함한다. 기능블럭 선택회로MS는 어드레스신호에 의해서 선택될 기능블럭을 식별하고, 식별된 기능블럭에 대응하는 모듈선택신호(도시하지 않음)을 활성화한다. 이 기능블럭 선택회로MS에 의해 해독된 정보에 따라서 IAB와 PAB 사이 및 IDB와 PDB사이가 접속되던가 접속되지 않는가가 결정 (선택)된다. 즉, 이 때의 액세스대상이 내부버스 IAB, IDB에 결합된 회로모듈인 경우에는 버스컨트롤러 (3)은 내부버스 PAB, PDB를 IAB, IDB에 접속하지 않는다. 한편, 액세스대상이 내부버스PAB, PDB에 결합된 회로모듈인 경우에는 버스컨틀로러 (3)은 내부버스PAB, PDB를 IAB, IDB에 접속한다. 본 명세서에 있어서 버스마스터라고 하는 것은 버스로의 어드레스의 출력 (형성)또는 입력이 가능하고, 데이타의 입출력도 가능한 모듈을 의미하고, 버스슬레이브라고 하는 것은 버스로의 어드레스의 출력 (형성)이 불가능하고, 어드레스의 입력 및 데이타의 입출력이 가능한 모듈을 의미한다.
내부버스 IAB, IDB는 CPU (1), DTC (2), ROM (5), RAM (6), 버스컨트롤러 (3)에 접속된다. 또, 내부어드레스버스 IAB는 도시하지 않은 외부어드레스버스와 접속가능하게 하기 위해 입출력포트 IOP1∼IOP3에 접속되고, 내부데이타버스 IDB는 도시하지 않은 외부데이타버스와 접속가능하게 하기 위해 입출력포트 IOP4, IOP5에 접속된다. 내부버스 PAB, PDB는 버스컨트롤러 (3), 타이머 (7), 워치독타이머 (8), SCI (9), A/D변환기 (10) , 인터럽트컨틀로러 (4) 및 입출력포트 IOP1∼IOP11에 접속된다. 내부버스 PAB, PDB가 입출력포트 IOP1∼IOP11을 거쳐서 외부액세스에 이용될 때의 버스인터페이스제어는 버스컨트롤러 (3) 이 실행한다.
상기 내부버스를 IAB, IDB와 PAB, PDB의 2계통화함에 있어서는 버스액세스를 동반한 이용빈도가 많은 회로모듈에는 상대적으로 부하가 작은 버스를 공유시키는 것을 고려하고 있다. 또, CPU (1)에 의한 버스액세스내에서는 명링페치의 횟수가 데이타액세스의 횟수에 비해서 많게 된다. 또, CPU (1)의 처리성능을 향상시키기 위해서는 처리하는 내용에 따라서 명령을 페치해야만 하여 단위시간당의 명령페치의 빈도가 높게 된다. 이 점을 고려해서 본 실시예에서는 버스마스터모듈로서의 CPU (1), DTC (2) 및 CPU (1)의 작업영역으로 되는 RAM (6)이나 프로그램 등을 저장한 ROM (5) 등을 그 밖의 회로모듈과 분리해서 상대적으로 부하가 작은 내부버스 IAB, IDB에 접속하고 있다.
CPU (1)에 의한 버스액세스내에서는 명령페치의 횟수가 데이타 액세스의 횟수에 비해서 많게 된다. 또, CPU (1)의 처리성능을 향상시키기 위해서는 처리하는 내용에 따라서 명령을 페치해야만하여 단위시간당의 명령페치의 빈도가 높게 된다. CPU (1)의 명령은 내장 ROM (5) 또는 도시하지 않은 외부메모리에 저장하는 경우가 대부분이다. 따라서, 프로그램메모리가 외부메모리인 경우에도 입출력포트 IOP1 ∼ IOP5를 거쳐서 내부버스 IAB, IDB를 이용하면 좋고, 명령페치와 관계없는 회로모듈이 다수 접속되어 있어 부하가 비교적 크게 된 내부버스 PAB, PDB를 사용하지 않아도 된다.
내부버스 PAB, PDB는 이것이 사용되고 있지 않을 때, 그 버스에 있어서의 상술한 값을 유지하도록 되어 있다. 예를 들면, 내부버스 PDB의 각 신호선에는 스테이틱래치회로가 결합되고, 내부버스 PDB가 사용되고 있지 않는 경우에는 이것에 출력단자가 접속되는 회로모듈의 상기 출력단자는 고출력 임피던스상태로 되고, 상기 스테이틱래치회로에 의해서 버스 PDB의 전의 값이 유지된다. CMOS회로를 사용하면 이 경우, 신호상태가 변화하지 않으므로, 이들 PDB의 소비전류를 거의 O으로 할 수 있다. PAB, PDB는 제1도에 도시되는 바와 같이 접속되는 대상이 많아 배선용량이 크므로, 이들에 발생하는 신호변화의 빈도를 감소시키는 것에 의해서 즉, 상대적으로 이용빈도가 낮은 회로모듈이 접속되어 있는 것에 의해서 저소비전력화에 공헌할 수 있다. 즉, 버스액세스를 동반한 이용빈도가 많은 회로모듈에는 상대적으로 부하가 작은 버스 IAB, IDB가 공유된다.
<싱글칩 마이크로컴퓨터의 클럭공급계통>
본 실시예의 싱글칩 마이크로컴퓨터는 클럭발진기 (12) 및 클럭제어회로 (13)에 의해서 생성되는 시스템클럭신호에 동기해서 동작된다. 각 기능블럭은 그와 같은 시스템클럭신호에 따라서 형성된 서로 노오버랩의 2상블럭신호에 의해 동작된다. 본 실시예에 따르면, 시스템클럭신호는ΦB와ΦS로 나뉘어진다. 편의상 시스템 클럭신호ΦS와ΦB를 총칭해서 단순히 시스템클럭신호Φ라고도 한다. 마찬가지로ΦS에 따라서 형성되는 노오버랩의 2상클럭신호Φ1S,Φ2S, 그리고ΦB에 따라서 형성되는 노오버랩의 2상클럭신호Φ1B,Φ2B에 대해서도 이들을 총칭해서 단순히Φ1,Φ2로 하는 경우가 있다. 또, 클럭발진기 (12)에서 출력되는 클럭신호는ΦOSC로서 도시된다.
상기 시스템클럭신호ΦB는 버스마스터클럭으로서 예를 들면 CPU(1), DTC (2), 버스컨트롤러 (3), 인터럽트컨트롤러 (4) 또, 외부버스의 인터페이스용에 입출력포트 IOP1∼IOP5에 공급된다. 시스템클럭신호ΦB를 각 회로모듈에 공급하기 위한 클럭신호배선은 L1로서 도시되어 있다. 클럭신호ΦB는 클럭제어회로 (13)에 있어서 클럭신호ΦOSC을 분주하는 것에 의해 형성된다. 본 실시예에 있어서는 이 분주비가 선택가능하게 되어 있다. 클럭신호ΦB의 분주비가 크게 되면, 이것에 비례해서 시스템클럭ΦB를 받는 회로모듈의 부분의 동작주파수는 낮게 되고, 소비전류도 저감된다. 이러한 부분은 원칙적으로는 항상 동작상태이다. 예를 들면, 인터럽트컨트롤러 (4)는 항상 인터럽트요구의 발생을 감시해야만 하고, 인터럽트요구가 발생하면, 소정의 상태천이를 발생하거나 CPU (1)이나 DTC (2)에 처리를 요구해야만 하기 때문이다. 따라서, 이와 같은 회로부분에 있어서 그 동작주파수를 클럭신호ΦB로 제어할 수 있는 것은 싱글칩 마이크로컴퓨터 전체에 있어서의 소비전력을 필요에 따라서 저감하는 것을 실현한다.
다른쪽의 시스템클럭신호ΦS는 주변클럭으로서 예를 들면 타이머 (7) , 워치독타이머 (8), SCI (9), A/D변환기 (10), 입출력포트 IOP1∼ IOP11에 공급된다. 시스템클럭신호ΦS를 각 회로모듈에 공급하기 위한 클럭신호배선은 L2로서 도시되어 있다.
제1도에서도 명확한 바와 같이 클럭신호는 ROM (5), RAM (6)을 제외한 각 기능블럭에 공급되고, 전체로서의 클럭신호배선길이는 상당히 길어진다. 제1도에 도시되는 바와 같이 클럭신호ΦB가 공급되는 기능블럭과 클럭신호ΦS가 공급되는 기능블럭은 각각 어느 정도 국제화되어 있다. 이것에 의해서 클럭신호를 위한 총 배선길이를 억제할 수 있다. 적어도 모든 기능블럭에 각각 독립의 클럭신호를 공급하는 경우보다 전체의 배선길이를 짧게 할 수 있다. 클럭신호의 총배선길이를 억제하는 것에 의해 상기 배선에 기생하는 용량성분을 억제할 수 있다. 클럭신호는 신호변화의 주파수가 크므로, 클럭신호배선의 용량을 억제하는 것에 의해 (배선길이를 짧게 하는 것에 의해)소비전력을 억제하는 것이 가능하게 된다.
시스템클럭신호ΦB의 주파수는 예를 들면, 후술하는 바와 같이 소프트웨어에 의한 분주비의 설정하는 순서대로 변경할 수 있다. 이것에 대해서 시스템클럭신호ΦS의 주파수는 고정으로 된다. 또, 클럭제어회로 (13) 은 DTC (2), 타이머 (7), 워치독타이머 (8), SCI (9), A/D 변환기 (10)에 대해서 클럭제어신호를 공급한다. 이러한 클럭제어신호는 상기 기능블럭내에 있어서의 클럭신호의 동작 (클럭신호의 변화)를 허가/정지하는 것이다. 이러한 블럭제어에 대해서는 예를 들면 일본국 특허공개공보 소화60 - 195631호 등에 기재되어 있다. 그러나, 이러한 예에는 클럭의 동작이 정지된 기간중의 기능블럭의 동작에 대해서는 고려되어 있지 않다. 본 발명자들의 검토에 의하면, 기능블럭의 클럭이 정지된 기간중은 내부상태를 유지해야 한다. 그와 같은 기능블럭은 시스템클럭신호ΦS에 따라서 형성된 노오버랩의 2상클럭신호Φ1,Φ2에 동기동작되도록 되어 있고, 그 상세한 것은 제3도 (A) ∼제3도 (C)에 따라서 후술하지만,Φ1에 동기한 순서회로를 다이나믹회로로 구성하고,Φ2에 동기한 순서회로를 스테이틱회로로 구성한다.
<싱글칩 마이크로컴퓨터에 있어서의 모듈스톱)
싱글칩 마이크로컴퓨터에 있어서의 모듈스톱에 대해서는 그 상세한 것을후술하지만, 개략적으로는 이하와 같다. 블럭제어회로 (13)에서 DTC(2), 타이머 (7),워치독타이머 (8), SCI (9), A/D 변환기 (10)에 대해서 클럭정지신호 즉, 모듈스톱신호(제1도에 있어서는 각각에 부여되는 모듈스톱신호를 MSTP라 총칭해서 도시하고 있다)가 부여된다. 이러한 모듈스톱신호MSTP는 클럭제어회로 (13)에서 각 기능블럭에 대해서 그 고유의 신호로서 부여된다. 여러 채녈로 이루어지는 SCI와 같은 경우에는 채널마다 모듈스톱신호MSTP를 할당하는 것도 가능하다. 이러한 기능블럭단위의 클럭정지에 대해서는 평성6년 3월 (주) 히다찌세이사꾸쇼 발행 「H 8/3048시리즈 하드웨어매뉴얼」 p67∼p632 및 일본글 특허공개공보 소화60 - 195631호 등에 기재되어 있다. 또, 워치독타이머 (8)은 워치독타이머로서 기능하고 있을 때, 모듈스톱신호는 무효로 된다. 이것은 워치독타이머 (8)은 시스템을 감시하는 기능상 잘못해서 정지되는 것을 방지하기 위함이다. 그 상세한 것은 후술한다. 상기 평성6년 3월 (주)히다찌세이사꾸쇼 발행 「H 8/3048시리즈 하드웨어매뉴얼」p67∼p632에서는 클럭정지시에는 기능블럭이 리세트상태로 되는 내부레지스터의 재설정등이 필요하게 된다. 예를 들면, 조보동기식 SCI에서는 동작재개시에 1프레임분의 프리앰블을 출력하거나 해서 즉시 동작을 실행할 수 없다. PWM타이머 (7)에서는 블럭선택이나 듀티의 설정 등이 필요하게 된다. 이것에 대해서 본 실시예에서는 클럭정지시에 기능블럭이 내부상태를 유지하도록 된다.
<클럭동기형 내장메모리의 채용>
제2도는 제1도의 싱글칩 마이크로컴퓨터의 변형예를 도시한 블럭도이다. 제2도에 도시되는 싱글칩 마이크로컴퓨터는 제1도에 대해서 ROM (5) 및 RAM (6)이 클럭신호에 동기동작되는 회로형식으로 되고 예를 들면,이들에는 CPU (1)에 공급되는것과 동일한 클럭신호ΦB가 공급된다. 이와 같이 내장메모리ROM (5) , RAM (6)을 버스마스터CPU (1), DT C (2)의 클럭에 동기시켜서 동작시키는 깃에 의해 고속인 동작을 실행할 수 있다.
클럭에 동기동작되는 RAM (6)으로서는 클럭드 스테이틱RAM 등을 들 수 있다. 클럭에 동기동작되는 ROM (5)로서는 마스크 ROM, EEPROM 및 플래쉬메모리 등을 들 수 있다.
<각 기능블럭의 내부회로>
제3도 (A)에는 각 기능블럭을 구성하는 논리회로의 대표적인 블럭예가 도시되어 있다. 각각의 논리회로는 기본적으로 조합회로 (20), 그 출력을 입력으로서 클럭신호Φ2에 동기해서 동작하는 순서회로 (21), 순서회로 (21)의 출력을 입력으로 하는 조합회로(22), 조합회로 (22)의 출력을 입력으로 해서 클럭신호Φ1에 동기해서 동작하는 순서회로 (23)을 대표로 한 회로를 기본단위로 해서 포함한다. 또, 필요에 따라서 순서회로 (23)에서 조합회로(20) 으로 신호가 순환적으로 전달되도록 구성해도 좋다. 도시되지 않지만, 외부로부터의 입력신호는 어떤 회로로 입력되고, 외부로의 출력신호는 어떤 회로에서 출력된다.
제3도 (B)에는 대표적으로 도시된 상기 순서회로 (21), (23)을 CMOS다이나믹회로로 구성하는 예가 도시된다. 예를 들면, 순서회로 (21)은 CMOS클럭드 인버터 (210)과 CMOS인버터(211)의 직렬회로로 구성되고, 순서회로 (23)은 CMOS 럭럴드인버터 (230)과 CMOS인버터 (231)의 직렬회로로 구성된다. 순서회로 (21)에 있어서 클럭드 인버터 (210)은 클럭신호Φ2의 하이레벨에 의해서 출력동작 가능하게 되고,순서회로 (23)에 있어서 클럭드 인버터 (230)은 클럭신호Φ1의 하이레벨에 의해서 출력동작 가능하게 된다. P채널형 MOS트랜지스터 (212)는 동작대기시에 로우레벨로 되는 신호SIG에 의해서 온상태로 되고, 인버터 (211)의 입력을 전원전압에 강제적으로 되게 해서 내부를 전의 값의 유지상태로 한다. 이 신호SIG로서는 제9도에 기술하는 발진기정지신호 (135) 와 유사한 신호를 사용할 수 있다.
제3도 (B)에 도시되는 회로형식에 있어서 정보전달은 클럭드 인버터 (210), (230)의 출력부하용량에 대한 충전 및 방전에 의해서 동적으로 실행된다. 이와 같이 2상 노오버랩 클럭신호 (노오버랩 클럭신호는 논오버랩 클럭신호라고도 한다)Φ1,Φ2와 다이나믹회로를 사용하는 것에 의해서 트랜지스터수를 축소할 수 있어 반도체집적회로의 물리적규모를 축소할 수 있다. 그러나, 이것은 부하용량에 축적한 전하로 데이타의 유지를 실행하고 있으므로, 부하 용량으로부터의 누설전류가 존재하기 때문에 데이타의 유지는 유한의 시간밖에 실행할 수 없다. 예를 들면, 누설전류를 일정하게 하면 하이레벨을 유지한 상태에서 태이타는 V - i t /C로 표현할 수 있다. C는 용량, V는 전원전압, i는 누설전류, t는 경과시간이다. 시간경과에 따라서 출력단자의 전압은 저하한다. 이와 같은 전압을 입력하고 있는 CMOS회로의 임계값전압을 Vth라 하면, C (V - Vth) / i 이하의 시간밖에 데이타를 유지할 수 없다. 따라서 이 시간내에 데이타를 갱신할 필요가 있다. 즉, 클럭드인버터 (210), (230)과 같은 스위치소자의 스위칭주파수를 i/C (V - Vth)이하로 할 수 없다. 이것에 의해 클럭정지시 등과 같이 내부동작의 정지시에는 스위칭주파수를 충분히 높게 하지 않으면, 데이타를 유지할 수 없게 된다.
그와 같은 클럭정지상태라도 데이타를 유지하고자 하면, 각각의 순서회로 (21), (23)에 다이나믹회로를 사용하지 않고 스테이틱회로를 사용하는 것을 고려할 수 있다. 스테이틱회로는 다이나믹회로에 비해 트랜지스터수가 증가하여 반도체집적회로의 물리적규모를 증가시킨다. 트랜지스터수가 증가하면, 배선도 증가하고 배선수띤 트랜지스터수에 비례해서 소비전류도 증가한다.
제3도 (C)에는 본 실시예의 싱글칩 마이크로컴퓨터에 사용되고 있는 CMOS다이나믹회로의 1예가 도시된다. 동일도면에 있어서, 클럭신호Φ1에 동기한 순서회로 (23)은 다이나믹회로, 블럭신호Φ2에 동기한 순서회로 (21)은 스테이티회로로 구성되어 있다. 상기 스테이틱회로는 인버터 (211)에 클럭드 인버터 (213)이 역병렬접속으로 추가되고, 클럭드 인버터 (210)과는 역상으로 출력동작 가능하게 된다. 또, 순서회로 (23)에 있어서의 출력단의 인버터 (231)은 논리극성을 정합하기 위해 부가되어 있고 필요에 따라서 삭제해도 좋다. 제3도 (C)의 예에 따르면 클럭정지시 및 동작대기시에는 클럭신호Φ1이 하이레벨,Φ2가 로우레벨로 되고, 순서회로 (21)은 그 직전의 입력데이타를 래치해서 후단의 조합회로(22)로 공급하고, 순서회로(23)의 상태를 전의 값을 유지하는 상태로 제어한다. 또, 동작대기시라고 하는 것은 블럭은 정지되고 있지 않지만, 소정의 이벤트가 발생하고 있지 않는 경우에 이 전의 상태를 유지해서 동작을 정지하고 있는 상태를 의미한다. 상기 소정의 이벤트로서는 예를 들면 PWM타이머 (7)의 경우, CPU (1) 등의 버스마스터에 의한 리드/라이트나 후술하는 카운트업클럭의 발생 등이 있다.
제3도 (C)에 있어서 순시회로 (23)을 구성하는 다이나믹회로는 6개의 MOS트랜지스터에 의해, 마찬가지로 제3도 (C)에 있어서 순서회로 (21)을 구성하는 스테이틱회로는 10개의 MOS트랜지스터에 의해 구성된다. 제3도 (B)에 있어서 순서회로 (23)을 구성하는 다이나믹회로는 6개의 MOS트랜지스터에 의해, 마찬가지로 제3도 (B)에 있어서 순서회로 (21)을 구성하는 다이나믹회로는 7개의 MOS트랜지스터에 의해 구성된다. 또, 전부를 스테이틱회로로 하면, 어떤 순서회로 (21), (23)도 10개의 MOS트랜지스터에 의해 구성된다. 따라서, 이 부분을 비교하면 제3도 (C)의 구성에 있어서의 16트랜지스터에 대해 전부를 다이나믹회로로 하면 13트랜지스터, 전부를 스테이틱회로로 하면 20 트랜지스터이고, 제3도 (C)의 구성은 양쪽을 다이나믹회로로 하는 경우에 비해 약 1.23배, 양쪽을 스테이틱회로로 하는 경우에 비해 약0.8배의 트랜지스터수이면 된다.
또, 제3도 (C)에 도시되는 순서회로로서 스테이틱회로와 다이나믹회로를 교대로 사용하는 구성으로 하고, 노오버랩의 2상클럭신호Φ1,Φ2의 듀티비 (본 명세서에는 듀티비=하이레벨의 기간/1주기이다)를 50%에서 어긋나게 하여 듀티비가 큰 쪽을 다이나믹회로의 클럭신호로 하는 것에 의해 예를 득면, 시스템클럭신호ΦB의 주파수에 대한 저감범위를 넓힐 수 있게 된다. 예를 들면 제20도에 도시되는 50%보다 큰 듀티의 클럭신호Φ1B를 다이나믹회로의 클럭Φ1에, 50%보다 작은 듀티의 클럭신호Φ2B를 스테이틱회로와 클럭Φ2에 채용한다.
<프리스케일러클럭>
시스템클럭신호 이외에 소위 프리스케일러 클럭신호를 소정의 기능블럭에 공급하는 것이 있다. 즉, 시스템클럭신호를 필요에 따라서 분주하는 경우에 상기 분주기를 개개의 기능블럭에 배치하는 경우에 비해 프리스케일러를 사용하는 경우에는 각종 분주비의 클럭신호를 집중적으로 형성해서 필요한 분주비의 클럭을 필요한 기능블럭에 할당하므로, 각 기능블럭의 분주기를 공통화할 수 있어 칩전체에 있어서의 논리규모의 축소를 도모할 수 있다.
그러나, 본 발명자들의 검토에 의하면 프리스케일러 클럭신호는 각 기능블럭이 공통으로 이용하는 특성상 클럭배선길이가 길고, 배선용량이 크게 된다. 또, 저분주비의 프리스케일러클럭은 신호변화빈도가 높다. 이 때문에 소비전류도 크게 된다. 이것을 고려한 본 실시예에 있어서는 저분주비의 프리스케일러 클럭신호에 따른 비교적 주파수가 높은 클럭신호는 기능블럭에 대해서 공통의 프리스케일러가 담당하지 않고 각 기능블럭이 개개의 분주회로를 사용해서 개별로 생성하도록 된다.
제4도에는 프리스케일러 (14)의 1예가 블럭도로 도시되어 있다. 동일도면에는 대표적으로 하위4자리분의 구성이 도시되고, 각 자리를 구성하는 래치회로는 (140) ∼ (143)으로서 예시되고, 그 회로구성은 대표적으로 상세하게 도시된 래치회로 (140)의 구성과 동일하다. 래치회로 (140)은 2입력NOR게이트 (1401), (1402)로 이루어지는 스테이틱래치를 주체로 해서 구성되고, 그 출력단에는 단자CS에 의해 출력제어되는 클럭드 인버터 (1403)이 배치되고, 상기 스테이틱래치의 입력단에는 단자CM의 논리값에 의해서 개폐기능을 실행하는 2입력AND게이트 (1404), (1405)가 배치된다. 입력단자T는 2입력형의 배타적논리합게이트 (1406)의 한쪽의 입력단자에 결합되고, 다른쪽의 입력단자에는 클럭드 인버터 (1403)의 출력이 귀환된다. 상기 AND게이트 (1404)에는 배타적논리합게이트 (1406)의 출력이, 상기 AND게이트(1405)에는 배타적논리합게이트 (1406)의 출력이 인버터 (1407)에 의해 반전되어 각각 공급된다. 최하위의 래치회로 (140)의 입력단자T에는 논리값" 1 "이 공급되고, 하위측의 카운트업클럭Φ/4UP,Φ/8UP,Φ/16UP, …가 상위의 입력단자T에 부가되어 종열형태로 접속되어 있다.
각 자리의 래치회로 (140), (141), (142), (143), …은 단자CM이 논리값" 1 " (특히 제한되지 않지만 본 실시예에서는 하이레벨)일 때에 유지한 데이타를 갱신한다. 단자T가 논리값" 0 " (특히 제한되지 않지만 본 실시예에서는 로우레벨)이면 데이타유지, 단자T가 논리값" 1 "이면 데이타반전으로 된다. 즉, 단자CM과 단자CS는 동시에 논리값1로 되지 않는다. 즉,Φ1,Φ2는 노오버랩의 2상의 클럭신호로 된다. 단자CS의 하이레벨에 있어서 클럭드 인버터 (1403)은 출력동작가능하게 되고, 단자CS의 로우레벨에 있어서 고출력 임피던스상태로 된다. 단자CM의 논리값" 1 "에 있어서 AND게이트 (1404) , (1405)의 다른쪽의 입력이 상기 AND게이트 (1404), (1405)의 출력에 반영되어 래치데이타의 갱신이 실행된다. 이 때, 단자T가 로우레벨이면, 그때까지 래치되어 있던 데이타가 그대로 유지되고, 단자T가 하이레벨이면, 그때까지 래치되어 있던 데이타는 반전된다. 단자CM와 로우레벨에 있어서 (1404), (1405)의 출력은 양쪽 모두 강제적으로 로우레벨로 되어 2개의 NOR게이트 (1401), (1402)로 이루어지는 스테이틱래치는 그때까지의 상태를 정적으로 유지한다.
상기 노오버랩의 2상클럭신호Φ1,Φ2는 상기 클럭신호ΦOSC에서 생성된다. 그 생성회로 (144)는 제4도에 도시되는 바와 같이 서로 한쪽의 출력이 다른쪽의 입력에 지연회로 (1441), (1442)를 거처서 귀환되는 한쌍의 AND게이트 (1443), (1444)를 주체로 하고, 클럭신호Φ1,Φ2의 정지시에Φ1을 강제적으로 하이레벨로 하는 출력제어용의 OR게이트 (1445),Φ2를 강제적으로 로우레벨로 하는 출력제어용의 AND게이트 (1446)을 구비해서 이루어진다. AND게이트 (1444)는ΦOSC 및 지연회로 (1441)을 거치는 귀환신호의 각각의 반전신호에 대해서 논리곱을 취한다. AND게이트 (1443)은 지연회로 (1442)를 거치는 귀환신호의 반전신호와ΦOSC의 논리곱을 취한다.
AND게이트 (1446)은 프리스케일러 모듈스톱신호MSTPPSC의 반전신호와 AND게이트 (1444)의 출력에 대해서 논리곱을 취한다. 프리스케일러 모듈스톱신호MSTPPSC에 대해서는 그 상세한 것을 후술하지만, 그 논리값" 0 "에 의해서 클럭신호Φ1,Φ2의 출력을 허용하고, 논리값" 1 "에 의해서 상기 클럭신호Φ1,Φ2의 출력을 금지한다. 클럭신호Φ1,Φ2의 출력금지상태에 있어서Φ1은 하이레벨,Φ2는 로우레벨로 고정된다. 따라서, 이 때 각종 프리스케일러 클럭신호의 변화도 억제된다.
제4도에 도시되는 프리스케일러 (14)는 상기 클럭신호ΦOSC를 카운트업한다. 예를 들면 평성5년 3월 (주)히다찌세이사꾸쇼 발행 「H 8/3003 하드웨어매뉴얼」 p555에 기재되는 바와 같은 프리스케일러는 분주클럭Φ/2,Φ/4,Φ/8, …등을 순차 생성하고 있다. 본 실시예의 프리스케일러 (14)는 또, 각각의 자리의 카운트업클럭Φ/2UP,Φ/4UP,Φ/8UP, …도 생성한다. 상기 자리에 있어서의 카운트업신호(자리올림신호)는 상기 자리보다 하위측의 모든 자리올림신호와 상기 자리에 있어서의 래치회로의 출력에 대한 논리곱신호로서 얻어진다.
본 실시예에 있어서 프리스케일러 (14)에 의해 생성되는 클럭신호 (프리스케일러 클럭신호)는 소정의 기능블럭, 예를 들면 타이머 (7), SCI (9), A/D변환기 (10) 등에 공급된다. 이 경우에 이와 같은 기능블럭에 공급되는 프리스케일러 클럭신호는Φ/8이상의 분주비의 프리스케일러 클럭신호로 된다.Φ/2,Φ/4 및Φ/2UP,Φ/4UP 등과 같은 상대적으로 분주비가 작은 (주파수가 높은) 클럭신호는 프리스케일러 (14)에서 외부의 기능블럭으로는 출력되지 않는다. 분주비가 낮은 클럭신호도 프리스케일러 (14)에서 일괄해서 각 기능블럭에 공급하는 경우에는 상당히 긴 클럭배선상에서 높은 주파수에 동기해서 충방전이 고속으로 실행되므로 소비전력이 크게 되고, 또 각 기능블럭이 그와 같은 높은 주파수의 클럭신호를 시스템클럭신호ΦS와는 별도로 이용한다라고는 한정하지 않고 그와 같은 전력소비가 불필요하게 되는 것도 크게 예상된다. 따라서,Φ/2와 같이 비교적 주파수가 높은 클럭신호는 시스템클럭신호ΦS를 기능블럭내부에서 분주해서 이용한다. 이것에 의해 전력소비를 저감할 수 있다.
제5도 (A) ∼ 제5도 (I) 에는 프리스케일러 (14) 의 동작타이밍도가 도시되어 있다. 프리스케일러 클럭신호는 클럭신호Φ1에 동기한 타이밍에서 변화된다. 각각의 자리의 카운트업클럭은 자기보다도 하위 자리의 래치회로출력이 전비트논리값" 1 "로 되면, 논리값" 1 "로 되고, 그 후의Φ1에 동기해서 그 자리가 변화된다. 즉, 각 자리의 출력Q의 1주기에 1회 상위자리로의 카운트업클럭이 발생한다. 예를들면,Φ/8과Φ/16UP는 동일한 주기를 갖는 신호이고,Φ/16UP의 하이레벨기간은 클럭신호Φ/2의 하이레벨기간과 일치된다.
<모듈스톱>
제6도에는 PWM타이머 (7)의 블럭도가 도시된다. PWM타이머 (7) 은 노오버랩생성회로 (700), 클럭제어회로 (710), 분주기 (720), 리드라이트제어회로 (730), 카운터클럭제어회로 (740)출력제어회로 (750), 버스인터페이스 (760), 제어레지스터 (TCR) (771), 카운터 (TCNT) (772), 듀티레지스터 (DTR) (773), 비교기 (CMP) (774) 로 구성된다.
노오버랩생성회로 (700)은 블럭신호ΦS를 입력하고 서로 노오버랩의 관계에 있고,ΦS와 동상의 클럭신호Φ1S와 클럭신호Φ1S에 대해서 역상의 클럭신호Φ2S를 각각 생성한다. 이 노오버랩생성회로 (700)의 1예는 제7도 (A)에 도시되는 바와 같이 서로 한쪽의 출력이 다른쪽의 입력에 지연회로 (701), (702)를 거쳐서 귀환되는 한쌍의 AND게이트 (703), (704)를 주체로 하고, 클럭신호Φ1S,Φ2S를 정지할 때에 상기 클럭신호Φ1S를 강제적으로 하이레벨로 하는 출력제어용의 OR게이트 (705), 클럭신호Φ2S를 강제적으로 로우레벨에 하는 출력제어용의 AND게이트 (706)을 구비해서 이루어진다. AND게이트 (704)는 클럭신호ΦS 및 지연회로 (701)을 거치는 귀환신호의 각각의 반전신호에 대해서 논리곱을 취한다. AND게이트 (703)은 클럭신호ΦS와 지연회로 (702)를 거치는 귀환신호의 반전신호의 논리곱을 취한다. AND게이트 (706)은 한쪽의 입력에 공급되는 타이머 모듈스톱신호MSTPPWM와 반전신호와 AND게이트 (704)의 출력에 대해 논리곱을 취한다. 타이머모듈스톱신호MSTPPWM에 대해서는 그 상세한 것을 후술하지만, 그 논리값" 0 "에 의해서 클럭신호Φ1S,Φ2S의 출력을 허용하고, 논리값" 1 "에 의해서 상기 클럭신호Φ1S,Φ2S의 출력을 금지한다. 즉, 타이머모듈스톱신호MSTPPWM이 논리값" 1 "일 때,Φ1S가 하이레벨,Φ2S가 로우레벨의 상태로 고정된다. 이와 같이 타이머모듈스톱신호MSTPPWM은 PWM타이머 (7)을 동작시킬 필요가 없을 때에 클럭신호Φ1S,Φ2S를 소정의 논리값으로서 정지시키기 위한 제어신호로 된다.
노오버랩생성회로 (700)에 의해 생성된 클럭신호Φ1S,Φ2S는 분주기 (720), 클럭제어회로 (710) 및 카운터클럭제어회로 (740)에 한해서 공급된다.
분주기 (720)은 클럭신호Φ1S 및Φ2S를 입력해서 클럭신호ΦS/2을 생성한다. 이 논리구성은 제4도에서 설명한 프리스케일러 (14)에 있어서의 최하위의 논리구성으로서 실현할 수 있다. 클럭신호ΦS에 대해서 분주비가 비교적 작은 클럭신호ΦS/2에 대해서는 기능블럭내의 분주기에 의해 생성한다. 이것은 프리스케일러의 항목에서 설명한 바와 같이 저소비전력차를 도모하기 위한 고려이다.
카운터클럭제어회로 (740) 은 프리스케일러클럭으로서Φ/16UPΦ/64UP 및Φ/256UP를 입력하고, 아울러 상기 분주기 (720)에 의해 생성한 클럭신호ΦS/2를 입력한다. 이들 입력클럭신호에서 원하는 입력클럭신호가 선택되고, 선택된 입력클럭신호가 카운트업에 사용된다. 즉, 제어레지스터 (TCR) (771)의 CK1, CK0비트에 의해서 선택될 때, 입력클럭신호를 지정하고, 이 지정에 의해 카운터클럭제어회로 (740)에 의제 입력클럭신호의 선택이 실행되고, 선택된 클럭신호의 주기에 동기해서 카운트업클럭신호 (741)이 생성된다. 이 카운트업클럭신호 (741)의 생성은 상기 제어레지스터 (TCR)내의 OE (아웃풋 인에이블)비트가 " 1 "일 때 허가되고, " 0 "일 때 금지된다. 카운터 (TCNT) (772)는 상기 카운트업클럭신호 (741)에 동기해서카운트업동작을 실행한다.
클럭제어회로 (710)은 클럭신호Φ1S 및Φ2S, CPU (1)이 출력하는 어드레스신호에 의해서 생성된 PWM타이머선택신호 MSPWM# (#는 그것이 부가된 신호가 로우인에이블, 즉 부논리의 신호인 것을 의미한다) 및 카운터클럭제어회로 (740)에서 출력되는 카운트업클럭신호 (741)을 입력해서 클럭신호Φ1 - PWM,Φ2 - PWM을 TCR(771), TCNT(772), CMP(774), DTR(773), 버스인터페이스 (760), 출력제어회로 (750) 에 공급한다. 클럭신호Φ1 - PWM,Φ2 - PWM은 CPU (1)이 PWM타이머 (7)을 리드/라이트했을 때 또는 카운트업클럭신호가 발생했을 때에 유효하게 된다. 그 밖의 경우는Φ1 - PWM이 하이레벨,Φ2 - PWM이 로우레벨인 상태로 고정된다.
리드라이트제어회로 (730)은 버스컨트롤러 (3)을 거쳐서 CPU (1)이 출력하는 내부어드레스, 리드신호RD, 리드신호WR, 그리고 PWM타이머선택신호 MSPWM#를 입력해서 각 레지스터와 버스인터페이스를 제어하여 각 레지스터와 예를 들면 CPU (1)사이의 데이타의 입출력을 제어한다.
출력제어회로 (750)은 CMP (774)가 출력하는 비교매치신호(780), TCNT (772)가 출력하는 오버플로신호 (781) 및 TCR (771)로부터의 OE비트를 입력해서 PWM신호를 출력한다. OE비트가 논리값" 1 "로 세트되면, PWM신호는 소정의 입출력포트와 겸용의 단자에서 외부로 출력된다. PWM신호는 비교매치시(비교매치신호 (780)이 논리값" 1 " )에는 논리값" 1 "을 출력하고, 오버플로시 (오버플로신호 (781) 이 논리값" 1 ") 에는 논리값" 0 " 을 출력한다.
버스인터페이스 (760)은 리드라이트제어회로 (730)의 제어에 의해서 내부데이타버스PDB와 PWM타이머 (7)의 내부의 모듈데이타버스사이에서의 정보의 입출력을 실행한다.
TCR (771)은 OE비트와 CK1∼CK0비트를 갖고, 리드라이트제어회로 (730)의 제어에 따라서 데이타가 입출력된다. OE비트가 " 1 "로 세트되면, PWM타이머 (7)은 동작한다. CK1∼CK0비트는 상술한 바와 같이 카운트블럭주기를 선택하기 위한 비트로 된다. TCNT (772)는 리드라이트제어회로(730)의 제어에 따라서 데이타를 입출력한다. 또, 카운터클럭제어회로 (740)이 출력하는 카운트클럭신호 (741)에 의해서 카운트업동작을 실행한다. 카운트업동작에 의해서 오버플로가 발생한 경우, TCNT (772) 는 오버플로신호 (781) 을 활성상태로 한다. DTR(773)은 리드라이트제어회로 (730)의 제어에 따라서 데이타를 입출력한다. CMP (774)는 TCNT (772) 및 DTR (773)의 출력을 입력해서 비교하고, 그 결과가 일치했을 때에 비교매치신호 (780)을 활성상태로 한다.
제7도 (B)에는 클럭제어회로 (710)의 1예가 도시되어 있다. 클럭제어회로 (710)은 2개의 논리합회로 (711), (712), 1개의 논리곱회로 (713)에 의해 구성된다. 타이머선택신호MS PWM#의 반전신호와 카운트업클럭신호 (741)이 논리합회로 (711)에 입력된다. 논리합회로 (711)의 출력의 반전신호와 클럭신호Φ1S가 논리합회로 (712)에 입력되고, 이 출력이 클럭신호Φ1-PWM로 된다. 또, 논리합회로 (711)의 출력과 클럭신호Φ2S가 논리곱회로 (713)에 입력되고, 이 출력이 클럭신호Φ2 - PWM으로 된다. 클럭신호Φ1 - PWM,Φ2 - PWM은 CPU (1)이 PWM타이머 (7)을 리드/라이트하기 위해 타이머선택신호MSPWM#를 활성상태로 했을 때, 또는 카운트업클럭신호 (741)이 발생했을 때에 유효로 된다. 그 밖의 경우는 클럭신호Φ1 - PWM이 하이레벨, 클럭신호Φ2 - PWM이 로우레벨의 상태로 고정된다. 즉, 소정의 이벤트 (CPU (1)의 리드/라이트 및 카운트업클럭신호의 발생) 이 발생했을 때에만 각 부에 공급될 클럭Φ1 - PWM,Φ2 - PWM이 클럭변화를 실행한다. 따라서, 클럭신호Φ1 - PWM,Φ2 - PWM을 받고 그것에 동기해서 동작되는 회로, 즉 노오버랩생성회로 (700), 클럭제어회로 (710), 분주기 (720), 카운터클럭제어회로 (740)이외의 기능블럭은 상기 소정의 이벤트가 발생했을 때에만 동작된다. 그 밖의 상태에서는 신호의 변화가 억제되어 소비전류가 억제된다.
노오버랩생성회로 (700)은 상술한 바와 같이 제7도 (A)와 같은 구성으로 되고, 모듈스톱신호MSTPPWM의 하이레벨에 의해서Φ1S가 하이레벨,Φ2S가 로우레벨로 고정된다. 제7도 (B)에서도 명확한 바와 같이 노오버랩생성회로 (700)에 있어서의 상기 모듈스톱상태에 있어서는 클럭신호Φ1 - PWM,Φ2 - PWM도 각각 소정의 레벨로 고정된다. 이와 같이 PWM타이머 (7)을 전혀 이용하지 않는 경우에는 모듈스톱신호MSTPPWM에 의해 내부의 클럭신호Φ1S, Φ2S, Φ1 - PWM, Φ2 - PWM의 변화를 억제하고, PWM타이머 (7)을 이용하는 경우에도 상기 소정의 이벤트가 발생하기까지 내부의 클럭신호Φ1 - PWM, Φ2 - PWM의 변화를 억제하는 것에 의해서 저소비전력을 도모할 수 있다.
상술한 노오버랩생성회로 (700) 및 클럭제어회로 (710)에 의한 내부클럭신호의 변화를 선택적으로 억제하는 구성은 그 밖의 회로모듈 예를 들면, WDT (8), SCI (9) A/D (10)에도 마찬가지로 적용되고 있다. 고분주비의 프리스케일러 클럭신호의 공급과 내부분주기에 의한 저분주비의 클럭생성에 관해서도 마찬가지이다.
제7도 (C)에는 WDT (8)에 채용되는 노오버랩생성회로의 예가 도시되어 있다. 제7도 (A)에 도시한 노오버랩생성회로 (700)에 대해서 논리곱회로 (707)에 추가되어 있다. 논리곱회로 (707)의 한쪽의 입력에는 WDT (8)에 할당된 모듈스톱신호 MSTPWDT가 공급되고, 다른쪽의 입력에는 워치독타이머모드를 지정하는 WDTM비트의 반전신호가 공급된다. WDT (8)은 인터벌타이머로서도 이용가능하게 되고, 그것을 워치독타이머로서 이용하는 경우에는 WDTM비트가 논리값" 1 "로 된다. 소정의 레지스터에 WDTM비트가 마련되고, 이 비트를 예를 들면 CPU (1)에 의해 논리값" 1 "로 하고, 워치독타이머모드를 지정하면 즉, 일단 워치독타이머가 지정되면 모듈스톱신호MSTPWDT에 의한 모듈스톱의 지시는 무시된다. 이것에 의해 WDT (8)을 이용한 시스템감시의 기능이 잘못해서 해제되는 사태를 방지할 수 있어 시스템의 신뢰성향상에 기여한다.
제8도에는 제6도의 PWM타이머의 동작타이밍도가 도시되어 있다. CPU (1)은 상태S3에서 PWM타이머 (7)의 TCR (771)을 라이트한다. 이러한 라이트동작은 3상태를 필요로 하고, 우선 상태S3에 있어서 모듈선택신호MSPWMS이 로우레벨로 된다. 모듈선택신호MSPWM#이 로우레벨로 되면, 제7도 (B)에 도시되는 논리합회로 (711)의 출력이 하이레벨로 되어 클럭신호Φ1 - PWM,Φ2 - PWM이Φ1S,Φ2S에 동기해서 변화를 개시한다. 또, MSPWM#은Φ1S에 동기하고 있다. 라이트동작의 3상태째(상태S5의 개시타이밍)에서 OE비트가 " 1 "로 세트된다. 또, CK1∼CK0이 설정되고, 이 설정된 CK1∼CK0에 의해 예를 들면 클럭신호ΦS/2가 선택된다.
OE비트가 " 1 "로 세트된 상태에서 분주기 (720)이 생성하는 클럭신호ΦS/2차 카운트업클럭신호 (741)로 되고, 이 카운트업클럭신호가 하이레벨의 기간에 있어서 클럭신호Φ1 - PWM,Φ2 - PWM이 클럭신호Φ1S,Φ2S에 따라서 변화되고, PWM타이머 (7)은 카운트업동작을 실행한다. 상태S6∼상태S12의 기간과Φ1 - PWM,Φ2 - PWM의 주기는 클럭신호Φ1S,Φ2S를 그대로 사용하는 경우에 비해서 1/2로 된다. 이것에 따라서 노오버랩생성회로 (700), 클럭제어회로 (710), 분주기 (720), 카운터블럭제어회로 (740)이외의 회로블럭의 동작빈도도 1/2로 되어 이러한 부분의 소비전류도 1/2로 할 수 있다. 예를 들면 이러한 부분의 논리규모와 노오버랩생성회로 (700), 블럭제어회로 (710), 분주기 (720), 카운터클럭제어회로 (740)의 논리규모의 비가 8 : 2라고 하면, PWM타이머 (7) 전체의 소비전류도 6/10으로 할수 있다. 카운트업클럭에Φ/16UP을 선택하면, 이것은ΦS/8의 주파수와 동일하므로, 상기 부분의 소비전류는 1/8로 되어 PWM타이머 (7) 전체의 소비전류를 3/10으로 할 수 있다.
또, 상태S13∼상태S15에 있어서의 CPU (1)의 라이트동작에 의해서 OE비트가 " 0 "으로 클리어되면, 논리합회로 (711)의 출력이 로우레벨로 되고, 이것에 의해서Φ1 - PWM은 하이레벨,Φ2 - PWM은 로우레벨로 고정된다. PWM타이머 (7)의 타이머동작중 (상태S3∼상태S5, 상태S7, 상태S9, 상태S11, 상태S13∼상태S15) 는Φ1 - PWM,Φ2 - PWM의 펄스폭이 동일하고, 동작의 중단중은 직류적으로Φ1 - PWM이 하이레벨,Φ2 - PWM이 로우레벨로 되어 있다. 이 동작의 중단상태에 있어서 내부상태는 유지되어 있다. 즉, PWM타이머 (7)의 오버랩생성회로 (700), 클럭제어회로(710), 분주기 (720), 카운터클럭제어회로 (740)이외의 회로블럭에 있어서의 순서회로는 제3도 (C)에 도시한 바와 같은 순서회로가 사용되고, 클럭신호Φ2가Φ2 - PWM,Φ1이Φ1 - PWM로 되기 때문이다.
마찬가지로, 모듈스톱모드에서는 모듈스톱신호MSTPPWM이 활성상태로 되고,Φ1S가 하이레벨,Φ2S가 로우레벨의 상태에서 정지하고 또,Φ1 - PWM이 하이레벨,Φ2 - PWM이 로우레벨의 상태에서 정지한다. 이 상태에 있어서 PWM타이머 (7) 자체의 상태는 상기와 마찬가지로 유지된다. 예를 들면 TCR (771)의 내용이나 DTR (773), TCNT (772)의 내용은 유지된다. 모듈스톱해제후에 TCR (771)의 재설정 등을 실행할 필요는 없다. 모듈스톱상태에서는 CPU (1)에 의한 리드/라이트도 실행할 수 없다.Φ1S 및Φ2S가 정지하므로, PWM타이머 (7) 전체의 신호변화가 억제되고, 그 사이에 있어서의 소비전류는 실질적으로 0으로 된다. 또, 제7도 (A)에 도시되는 타이머모듈스톱신호MSTPPWM의 공급라인에 논리곱회로의 출력을 접속하고, 상기 논리곱회로에 타이머모듈스톱신호MSTPPWM과 타이머모듈선택신호MSPWM#을 공급하도록 하면, 모듈스톱상태를 설정해도 PWM타이머 (7)은 CPU (1)에서 리드/라이트가능하게 된다.
<클럭제어회로>
제9도에는 제1도에 도시되는 싱글칩 마이크로컴퓨터의 클럭발진기(12) 및 클럭제어회로 (13)의 1예가 도시되어 있다. 클럭제어회로 (13) 은 분주기 (130), 셀렉터 (131), 블럭제어레지스터 (132), 모듈스톱제어레지스터 (133), 스탠바이제어회로 (134) 로 구성된다. 모듈스톱제어레지스터 (133) 은 선택가능한 기능블럭에대응해서 소정의 비트수만큼 마련되어 있다. 즉, 선택가능한 기능블럭에 각각 대응한 비트가 모듈스톱제어레지스터 (133)에 마련되어 있다. 발진기 (12)에는 EXTAL, XTAL단자를 거쳐서 수정진동자가 접속되고, 또는 EXTAL단자로부터 외부클럭에 공급된다. 수정진동자를 이용하는 경우, 이 수정진동자와 회로 (12)에 의해서 발진회로가 구성된다고 간주할 수 있다. 발진회로 (12)는 특히 제한되지 않지만, 수정진동자의 고유진동수 또는 외부클럭의 주파수와 동일한 주파수의 클럭신호ΦOSC를 생성한다. 발진기 (12)는 스탠바이제어회로 (134)에서 발진기정지신호 (135)가 부가되고, 스탠바이상태에 있어서 발진기정지신호 (135)가 활성상태로 되는 것에 의해서 발진기 (12)는 정지되고, 클럭신호ΦOSC는 예를 들면 하이레벨로 고정되어 그 변화가 정지된다. 또, 발진기 (12) 에는 듀티보정회로를 내장해도 좋다. 또, 발진기 (12)는 분주기를 내장해서 수정진동자 또는 외부클럭을 2분주한 클럭신호를ΦOSC로서 출력해도 좋다. 이것에 대해서는 예를 들면 평성5년 3월 (주) 히다찌세이사꾸쇼 발행 「H8/3003 하드웨어 매뉴얼」 p553∼p560에 기재되어 있다.
분주기 (130)은 클럭신호ΦOSC을 입력해서 예를 들면 순차2분주를 실행하고, 클럭신호ΦOSC/2,ΦOSC/4,ΦOSC/8을 생성한다. 셀렉터 (131)은 클럭신호ΦOSC,ΦOSC/2,ΦOSC/4,ΦOSC/8을 입력해서 클럭제어레지스터 (132)의 MSME비트, CKS1, CKS0비트로 선택된 클럭신호를 시스템클럭신호ΦB로서 출력하고, 싱글칩 마이크로컴퓨터에 있어서의 상기 CPU (1) 등에 공급한다. 또는ΦOSC/2,ΦOSC/4,ΦOSC/8대신에 카운트업클럭ΦOSC/4UP,ΦOSC8UP,ΦOSC/16UP를 입력하도록 해도 좋다. 셀렉터 (131)에 의해서 선택내용을 변경하는 경우, 특히 변경전과 변경후에 클럭신호의 위상을 맞추는 일은 실행하지 않는다. 예를 들면, 클럭신호ΦS (셀렉터(131)내부에서 생성할 수 있는 경우에는Φ1S)의 상승에 동기해서 변경하는 것에 의해서 천이시의 최소펄스폭이 클럭신호ΦS (ΦOSC)의 펄스폭이상으로 된다. 저소비전력상태로서 클럭신호를 정지하는 경우에는ΦOSC가 하이레벨로 되고, 클럭신호ΦB 및ΦS도 하이레벨로 된다. 제10도 (A)에는 MSME비트, CKS1비트, CKS0비트의 논리값에 의한 클럭신호의 선택형태의 1예가 도시된다. CKS1, CKS0은 MSME = 1일 때 유의로 되고 MSME = 0일 때에는 CKS1, CKS2에 관계없이ΦS =ΦOSC로 된다.
제10도 (B)에는 상기 MSME비트, CKS1비트, CKS0비트에 의해서 제어되는 셀렉터의 1실시예가 도시되어 있다. 동일도면에 있어서 AG (101)은 CKS1비트, CKS0비트 및 MSME비트를 받고, 이들의 비트가 " 1 "일 때, " 1 "을 출력하는 AND게이트이고, AG (102)는 CKS0비트의 반전신호, CKS1비트 및 MSME비트를 받고, CKS0= " 0 ", CKS1= " 1 ", MSME = 1일 때, " 1 "을 출력하는 AND게이트이고, AG (103)은 CKS1비트의 반전신호, CKS0비트 및 MSME비트를 받고, CKS1 = " 0 ", CKS0 = " 1 ", MSME = " 1 "일 때, " 1 "을 출력하는 AND게이트이다. AG (104)는 CKS0비트의 반전신호, CKS1의 반전신호를 받고, CKS0 = " 0 ", CKS1 = " 0 "일 때, " 1 "을 출력하는 AND게이트이고, NG (101)은 상기 AG (104)의 출력과 MSME비트의 반전신호를 받고, AG (104)의 출력이 " 1 " 또는 MSME = " 0 "일 때, " 1 "을 출력하는 NOR게이트이다. 이 때문에, NOR게이트AG (104)는 MSME비트가 " 0 "일 때 또는 CKS0비트와 CKS1비트가 모두 " 0 "일 때에 " 1 "을 출력한다.
AG (105)는 상기 NOR게이트NG (101)의 출력과 클럭신호ΦOSC를 받는 AND게이트이고, AG (106)은 상기 AND게이트AG (103)의 출력과 분주된 클럭신호ΦOSC/2를 받는 AND게이트이고, AG (107)은 상기 AND게이트AG (102)의 출력과 분주된 클럭신호ΦOSC/4를 받는 AND게이트이고, AG (108)은 상기 AND게이트AG (101)의 출력과 분주된 클럭신호ΦOSC/8을 받는 AND게이트이다. 이들의 AND게이트AG(105) ∼AG (108)의 출력은 NOR게이트NG (102)에 공급되고, 상기 NOR게이트NG (102)에서 상기 시스템클럭신호ΦB가 출력된다. 이와 같이 셀렉터를 구성하는 것에 의해 NOR게이트NG (102)에서는 제10도 (A)에 도시되어 있는 각 비트의 조합에 따른 주파수를 갖는 시스템클럭신호ΦB가 출력된다.
클럭제어레지스터 (132) 및 모듈스톱제어레지스터 (133)은 내부데이타버스 PDB에 접속되고, CPU (1) 에서 리드/라이트가능하게 된다. 클럭제어레지스터 (132)는 MSME비트, CKS1, CKS0비트를 셀렉터 (131)로 출력함과 동시에 SSBY비트를 스텐바이제어회로(134)로 출력한다. 모듈스톱제어레지스터 (133)은 모듈스톱신호MSTP를 각 기능블럭에 공급한다. 스탠바이제어회로 (134)는 예를 들면 플립플롭으로 구성되고 제어레지스터 (132)의 SSBY비트가 논리값" 1 "의 상태에서 CPU (1)이 슬립명령을 실행 (슬립명령실행신호가 활성상태)하면, 이러한 플립플롭이 세트상태로 된다. 이 플립플롭의 세트상태에 의해 발진기정지신호(135)가 활성상태로 되고, 발진기 (12)의 발진동작이 정지되어 싱글칩 마이크로컴퓨터는 스탠바이상태로 된다. 또, 스탠바이상태에서 외부인터럽트요구나 리세트가 발생하면 예를 들면, 인터럽트컨트롤러 (4)의 제어에 의해서 스탠바이해제신호 (136)이 활성상태로 되고, 상기 플립플롭은 리세트상태로 된다. 이 리세트상태에 의해서 발진기정지신호 (135)가비활성상태로 되고, 발진기 (12)의 발진동작이 재개되어 스탠바이상태가 해제된다. 스탠바이상태 해제시에 발진안정시간을 마련하도록 하면 좋지만, 해제의 상세한 수순이나 구성은 본 발명에 직접 관계가 없으므로, 그 상세한 설명은 생략한다. 또, CPU (1)이 슬립명령을 실행하면 CPU (1)내부의 동작클럭은 정지된다. SSBY비트가 논리값" 0 "으로 되어 있을 때에 CPU (1)이 슬립명령을 실행했을 때에는 클럭발진기 (12)의 발진동작은 정지되지 않는다. CPU (1)이 슬립명령을 실행해서 상기 CPU (1)에 세트된 상태 (CPU1의 슬립상태)는 인터럽트나 러세트에 의해서 해제가능하게 된다.
제11도 (A), 제11도 (B) 에는 모듈스톱모드를 제어하는 모듈스톱제어레지스터 (133)의 레지스터구성과 중속모드를 제어하는 클럭제어레지스터 (132)의 레지스터구성예가 도시되어 있다. 제12도 (A), 제12도 (B), 제12도 (C), 제13도 (A), 제13도 (B), 제14도 (A), 제14도 (9) 및 제14도 (C)에는 이들 레지스터의 각 비트가 상세하게 도시되어 있다.
모듈스톱제어레지스터 (133)은 CPU (1)에 의해 리드/라이트 가능한 8비트의 레지스터로서, 비트MSTP7∼MSTP3을 갖고, MSTP7은 데이타트랜스퍼 컨트롤러 (DTC) (2), MSTP6은 타이머 (7), MSTP5는 워치독타이머 (WDT) (8), MSTP4는 직렬통신인터페이스 (SCI) (9), MSTP3은 A/D변환기 (10)에 대응한다. 제12도 (A) ∼제12도 (B) 및 제13도 (A), 제13도 (B)에 도시되어 있는 바와 같이 이들에 의해 기능블럭단위로 각각 모듈스톱상태를 지정할 수 있다. PWM타이머 (7)을 위한 상기 모듈스톱신호 MSTPPWM은 비트MSTP6이 논리값 " 1 "로 세트되는 것에 의해서 활성상태로 된다. 비트MSTP5에 설정된 논리값" 1 "은 제7도 (C)에 따라서 설명한 바와 같이 실질적으로 워치독타이머모드가 아닐 때에 유효로 된다. 전원투입후 또는 리세트후에 있어서의 이들의 비트의 초기값은 특히 제한되지 않지만, 논리값" 1 "이고, 리세트후는 모듈스톱상태로 된다.
동작개시직후의 소비전류를 저감하도록 하고 있다. 예를 들면 모듈스톱상태의 기능블럭과 동작상태의 기능블럭의 논리규모의 비에 따라서 소비전류가 저감된다. 예를 들면 이러한 비율을 4 : 6으로 하면 소비전류는 6/10으로 저감할 수 있다.
프리스케일러 (14)는 프리스케일러 클럭신호의 공급대상인 타이머 (7), WDT (8), SCI (9), A/D변환기 (10)이 모두 모듈스톱상태로 되었을 때, 즉 MSSTP6∼MSTP3비트가 모두 " 1 "로 세트되고, 또한 WDT (8)이 워치독타이머모드가 아닐 때에 프리스케일러 모듈스톱신호MSTPPSC가 활성상태로 되어 정지상태로 된다. 제9도에 따르면 프리스케일러 (14)를 위한 모듈스톱신호MSTPPSC는 비트 MSTP6∼MSTP3에 대응하는 모듈스톱신호와 워치독타이머, 모드신호WDTM의 반전신호와의 논리곱을 취하는 논리곱회로 (137)에 의해서 형성된다. 또, 모듈스톱제어레지스터(133)의 비트2 ∼비트0은 리저브비트로서, 리드하면 " 0 "이 리드되고, 라이트는 무효로 된다.
클럭제어레지스터 (132)는 제11도 (A)에 도시되는 바와 같이 SSBY, MSME , CKS1, CKS0의 4비트를 갖는다. 제14도 (A)에 도시되는 바와 같이 SSBY비트는 스탠바이상태로의 천이를 제어한다. SSBY비트가 논리값" 1 "로 세트된 상태에서 CPU(1)이 슬립명령을 실행하면 클럭발진기 (12)의 발진동작이 정지되어 싱글칩 마이크로컴퓨터는 스탠바이상태로 천이하고, SSBY비트가 논리값" 0 "으로 클리어된 상태에서 CPU (1)이 슬립명령을 실행하면 CPU (1) 내부의 클럭신호가 정지되이 CPU (1)은 소위 슬립상태로 천이한다. 이와 같은 스탠바이상태에서는 싱글칩 마이크로컴퓨터전체가 정지하지만, 슬립상태에서는 CPU (1)만이 정지한다.
제14도 (B) 및 제14도 (C)에 도시되어 있는 바와 같이 비트MSME는 중속모드의 허가비트로서, 이 비트가 논리값" 1 "로 세트되어 있을 때에만 비트CKS1, CKS0에 의한 클럭신호의 지정이 유효로 된다. 이러한 비트MSME, CKS1, CKS0이 셀렉터에 공급되는 것에 의해ΦOSC,ΦOSC/2,ΦOSC/4,ΦOSC/8에서 마이크로컴퓨터의 시스템클럭신호ΦB가 선택된다. 또, 시스템클럭신호ΦB의 1주기의 시간을 1상태라고 한다. 클럭신호ΦB로서 클럭신호ΦOSC이외의 클럭이 선택된 상태를 중속모드라고 한다. 또, 비트6∼비트3은 리저브비트로서, 리드하면 " 0 "이 리드되고, 라이트는 무효이다.
제15도에는 본 실시예의 싱글칩 마이크로컴퓨터에 있어서의 시스템클럭신호에 착안한 개략적인 동작흐름도가 도시되어 있다. 리세트직후, 싱글칩 마이크로컴퓨터는 모듈스톱상태로 되고, CPU (1)등의 버스마스터는 고속모드 (ΦB =ΦOSC)에서 동작을 개시한다. 그리고, 중속모드인지의 판정이 실행되고 (ST1), 고속동작이 필요하지 않으면 클럭제어레지스터에 원하는 값을 라이트해서 중속모드로 천이한다 (ST2). 동작을 필요로 하는 기능블럭에 대응해서는 모듈스톱제어레지스터에 원하는 값을 라이트해서 소요의 기능블럭에 대한 모듈스톱상태를 해제한다 (ST3). 그 후,각 기능블럭의 설정을 실행한다 (ST4). 예를 들면, 각 기능블럭의 제어레지스터 등에 원하는 값을 초기적으로 라이트하는 것에 의해서 실행한다. 그리고, CPU (1)에 의해 원하는 처리가 실행되지만 (ST5), 그때에 고속처리가 필요하지 않으면 중속모드로 천이가능하게 하기 위해 클럭신호ΦB를 변환시킬지를 판정해서 (ST6), 그 결과에 따라서 클럭제어레지스터가 설정된다 (ST7). 특정의 기능블럭을 동작시킬 필요가 없어졌거나 특정의 기능블럭의 동작이 새로이 필요하게 되었을 때에 대처하기 위해 동작시킬 회로모듈 (기능블럭)으로 변경이 있는지의 판정이 실행되고 (ST8), 변경할 때에는 모듈스톱제어레지스터에 원하는 값을 라이트해서 모듈스톱상태를 변경한다 (ST9). 그리고 스탠바이상태로 할지 안할지를 판정하고 (ST10), 마이크로컴퓨터전체의 동작을 중단할 필요가 있으면, SSBY비트를 " 1 "로 세트해서 슬립명령을 실행하고 (ST11), 스탠바이상태로 천이한다 (ST12). 외부인터럽트가 발생하면, 스탠바이상태에서 복귀해서 동작을 재개한다 (ST13). 상술한 바와 같이 스탠바이상태에 있어서 모듈의 내부상태는 유지되어 있으므로, 스탠바이상태의 해제후는 각 기능블럭의 설정 예를 들면, 각 기능블럭의 제어레지스터 등으로의 라이트를 실행할 필요는 없다. 상기의 각 스텝에 있어서의 레지스터의 설정은 프로그램에 의해서 실행한다.
예를들면 레지스터를 지정하고, 그것에 데이타를 라이트하는 명령을 CPU (1)에 의해서 실행하는 것에 의해 레지스터로의 설정이 실행된다.
<인터럽트요구 등에 따른ΦB의 전환>
본 발명자들의 검토에 의하면 저소비전력화를 위한 클럭의 전환을 소프트웨어로 실행하면, 소정의 이벤트 예를 들면, CPU (1)로의 인터럽트가 발생해서 CPU (1)을 고속처리시킬 필요가 있는 경우, 이러한 이벤트를 인터럽트로서 인식하여 인터럽트 예외처리를 실시하고, 그 인터럽트처리 루틴중에서 시스템클럭의 분주비를 전환한 후에 원하는 처리를 실행하는 것으로 되게 된다. 이것에서는 상기 이벤트가 발생하고 나서 원하는 처리를 하기 까지의 동작속도를 빠르게 할 수 없어 인터럽트에 대한 응답시간이 길게 되어 불합리하다. 본 실시예에서는 인터럽트요구나 전송요구 등의 소정의 이벤트가 발생하면, 제어비트MSME가 자동적으로 논리값" 0 "으로 클리어되고, CPU (1)이나 DTC (2)를 클럭신호ΦB의 최고주파수인ΦOSC에 동기동작시키는 고속모드로 천이한 수 있도록 되어 있다. 인터럽트 예외처리로부터의 리턴시에 비트MSME는 논리값" 1 "로 세트된다. 소프트웨어로 비트MSME를 논리값" 1 "로 세트하면, 설정완료의 제어비트CKS0, CKS1에 따른 동작모드로 된다.
DTC기동요구 (DTC전송요구)가 발생하면, 마찬가지로 제어비트MSME비트가 자동적으로 논리값" 0 "으로 클리어되고, CPU (1) 및 DTC (2)는 고속모드로 천이한다. DTC데이타전송이 종료하면 MSME비트가 자동적으로 논리값" 1 "로 세트되고, 설정완료의 제어비트CKS0, CKS1에 따른 동작모드로 된다. DTC (2)에 외부로부터의 전송요구단자가 있으면, 외부로부터의 전송요구가 있었던 경우도 마찬가지로 할 수 있다.
제16도에는 MSME비트의 개략적인 블럭도가 도시되어 있다. MSME비트는 예를 들면 세트 ·리세트형의 플립플롭 (1320)을 주체로 구성된다. 플립플롭 (1320)의 데이타입력단자D는 내부데이타버스PDB의 소정의 신호선에 접속되고, 클럭입력단자C는 논리곱회로 (1321)의 출력 즉, CPU (1)의 버스권을 나타내는 신호, 리드신호, 어드레스디코드신호의 논리곱신호로 된다. 또, 상기 어드레스디코드신호는 어드레스버스 IAB의 내용을 해독해서 얻어지는 신호로서, 클럭제어레지스터 (132)의 어드레스가 부가된 것을 나타내는 신호이다. 출력단자Q는 클럭제어회로 (13)의 셀렉터 (131)에 부가됨과 동시에 클럭드버퍼 (1322)를 거쳐서 데이타버스로 출력된다. 클럭드버퍼 (1322)는 상기 디크도신호와 리드신호를 입력으로 하는 2입력의 논리곱회로 (1323)의 하이레벨출력에 의해서 출력동작 가능하게 되고, 그 이외의 상태에 있어서는 고출력임피던스상태로 된다. 리세트입력단자R에는 리세트신호, DTC전송요구신호와 CPU인터럽트신호의 논리합신호가 논리합회로(1324)에서 부가된다. 세트입력단자S에는 DTC전송종료신호(1325)가 부가된다. DTC전송종료신호(1325)는 DTC (2)에서 출력되고, 예를 들면 데이타전송종료시에 DTC (2)가 활성화된다. 상기 리세트신호로서는 외부로부터의 리세트신호RES 또는 워치독타이머WDT (8)의 출력신호가 사용된다. 또, 상기 DTC전송요구신호는 인터럽트컨트롤러 (4)에서 공급되고, 상기 CPU인터럽트신호도 인터럽트컨트롤러 (4)에서 공급된다.
상기 CPU인터럽트신호 및 DCT전송요구신호는 이벤트발생신호로 된다. DTC (2)가 인터럽트컨트롤러 (4) 로부터의 DTC전송요구이외에 외부로부터의 전송요구의 입력단자를 갖는 경우에는 상기 외부로부터의 전송요구신호와 인터럽트컨트롤러로부터의 전송요구신호와의 논리합신호가 DTC전송요구신호로서 상기 논리합회로 (1324)에 공급된다. 또, CPU (1)의 마스크정보를 참조해서 CPU (1)의 마스크레벨 이하의 인터럽트요구가 발생해도 이벤트로서 인식되지 않는다. 인터럽트마스크에대해서는 예를 들면, 평성5년 3월 (주) 히다찌세이사꾸쇼 발행 「H 8/3003 하드웨어 매뉴얼」 p89∼p115에 기재되어 있다.
제17도에는 인터럽트요구발생시에 있어서의 동작타이밍의 1예가 도시되어 있다. 비트CKS1이 " 0 "으로 클리어되고, 비트CKS0이 " 1 "로 세트되고, 비트MSME가 " 1 "로 세트된 상태에서ΦB =ΦOSC/2로 동작하고 있는 상태 (중추모드의 상태)에 있어서 상태S5에서 인터럽트요구신호가 발생하면, MSME비트가 " 0 "으로 클리어되고,ΦB =ΦOSC로 되고, CPU (1) 및 DTC (2) 등은 고속모드로 된다. CPU (1)이 인터럽트예외처리를 실행하고, 고속모드에서 처리할 처리를 종료하면, CPU (1) 은 그 동작프로그램에 따라서 MSME비트를 소프트웨어로 " 1 "로 세트한다. 예를 들면 상태S15에서 MSME비트가 " 1 "로 세트되고,ΦB =ΦOSC/2로 되고, 그 후 CPU (1)은 리턴명령을 실행해서 원래의 처리로 천이된다.
제18도에는 DCT기동요구발생시에 있어서의 동작타이밍의 1예가 도시되어 있다. 제17도와 마찬가지로 우선 CPU (1)은 중속모드 (비트CKS1이 " 0 "으로 클리어되고, 비트CKS0이 1로 세트되고, 비트MSME가 " 1 "로 세트된 상태에서ΦB =ΦOSC/2로 되어 있다)에서 동작하고 있다. 이 때, DTC의 기동요구요인으로 되고 있는 DTC전송요구가 발생하면 비트MSME가 " 0 "으로 클리어되고,ΦB =ΦOSC로 되어 CPU (1) 및 DTC (2) 등이 동작된다. DTC가 기동되면 예를 들면 기동요인으로된 인터럽트요인이 클리어되고, 데이타전송이 실행된다. 필요한 데이타전송이 종료하면 DTC (2)로부터의 DTC전송종료신호 (1325)가 활성상태로 되고, 이것에 의해서 MSME비트가 " 1 "로 세트되어 CPU (1) 등의 기능블럭의 동작속도는 원래의 속도로 되돌려진다.
<인터페이스신호>
제19도에는 버스마스터와 버스슬레이브의 인터페이스의 1예가 개략적으로 도시되어 있다. 동일도면에는 인터페이스신호I/F1과 I/F2가 대표적으로 도시되어 있다. 제20도에는 버스마스터클럭과 버스슬레이브클럭의 1예의 타이밍이 도시되어 있다. 본 실시예에 따르면 버스마스터는 클럭신호ΦB에 동기동작되는 CPU1( 및 DTC (2)이고, 버스슬레이브는 클럭신호ΦS에 동기동작되는 WDT (8)이나 SCI (9) 등의 기능블럭을 의미한다.
클럭신호ΦB는 상기 셀렉터 (131)에 의한 선택상태에 따라서 클럭신호ΦS보다 항상 주기가 길던가 동일하게 되고, 클럭신호ΦB의 하강에지는ΦS의 상승에지에 동기하고 있다.Φ1S,Φ2S는ΦS에서 생성된 노오버랩의 2상클럭신호이고,Φ1B,Φ2B는ΦB에서 생성된 노오버랩의 2상블럭신호이다. 제20도에 있어서 클럭신호ΦB의 듀티는 50%이상으로 되어 있다. 클럭신호ΦB는 예를들면, 클럭신호ΦS에 상당하는 클럭신호ΦOSC를 듀티50%에서 2분주한 신호와 4분주한 신호의 논리합에 의해서 형성할 수 있다. 또는 카운트업신호ΦOSC/8UP의 반전으로 해도 좋다. 특히, 제20도의 예에서는 클럭신호Φ1B의 로우레벨기간은 클럭신호Φ1S의 로우레벨기간과 일치되고, 클럭신호Φ2B의 하이레벨기간은 클럭신호Φ2S의 하이레벨기간과 일치되어 있다. 즉, 클럭신호Φ1B의 로우레벨의 펄스폭은 클럭신호Φ1S의 펄스폭과 동일하고 클럭신호Φ2B의 하이레벨의 펄스폭은Φ2S의 펄스폭과 동일하게 되어 있다.
제19도의 예에서 버스마스터의 출력신호는 클럭신호Φ1B의 하이레벨로의 변화에 동기하여 출력되고, 버스마스터로의 입력신호는 클럭신호Φ2B의 하이레벨에서 로우레벨로의 변화에 동기해서 래치된다. 버스슬레이브로의 입력신호는 클럭신호Φ2S의 하이레벨에서 로우레벨로의 변화에 동기해서 래치되고, 버슬레이브의 출력신호는 클럭신호Φ1S의 하이레벨로의 변화에 동기해서 출력된다. 제20도를 참조하면 버스마스터는 클럭신호ΦB 및Φ1B의 하이레벨기간에 동기해서 출력하고, 버스슬레이브는ΦS 및Φ1S의 하이레벨기간에 동기해서 출력한다. 또, 버스마스터는 클럭신호ΦB가 로우레벨에서Φ2B가 하이레벨의 기간에 입력하고 (래치는 클럭신호Φ2B의 하이레벨에서 로우레벨로의 변화에 동기해서 실행된다), 버스슬레이브는ΦS가 로우레벨에서Φ2S가 하이레벨의 기간에 입력한다 (래치는 클럭신호Φ2S의 하이레벨에서 로우레벨로의 변화에 동기해서 실행된다.). 예를 들면, 제20도에 있어서 인터페이스신호I/F1은 버스마스터에서 버스슬레이브로의 인터페이스신호로 된다. 인터페이스신호I/F1은 상태S9의Φ1B의 하이레벨로의 변화에 동기해서 버스마스터에서 출력되고, 상태S9의Φ2S의 하이레벨에서 로우레벨로의 변화에 동기해서 버스슬레이브에 래치된다. 또, 인터페이스신호I/F2는 버스슬레이브에서 버스마스터로의 인터페이스신호로 된다. 인터페이스신호I/F 2는 상태S3의Φ1S의 하이레벨로의 변화에 동기해서 버스슬레이브에서 출력되고, 상태S4의Φ2B의 하이레벨에서 로우레벨로의 변화에 동기해서 버스마스터에 래치된다. 따라서, 신호의 출력개시에서 페치까지 반드시 클럭신호ΦS의 1상태이상의 기간을 확보할 수 있다. 따라서, 타이밍설계는 중속모드를 고려하지 않은 경우, 즉ΦB =ΦOSC로 한 경우와 동일하게 할 수 있다.
제21도 및 제22도에는 입출력제어를 위한 동기클럭신호를 제19도 및 제20도와 반대로 한 경우가 도시되어 있다. 제21도의 예에서 버스마스터의 출력은 클럭신호Φ2B의 하이레벨로의 변화에 동기되고, 버스마스터로의 입력은 클럭신호Φ1B와 하이레벨에서 로우레벨로의 변화에 동기해서 래치된다. 버스슬레이브로의 입력은 클럭신호Φ1S의 하이레벨에서 로우레벨로의 변화에 동기해서 래치되고, 버스슬레이브의 출력은 클럭신호Φ2S의 하이레벨로의 변화에 동기된다. 제22도를 참조하면, 버스마스터의 출력은 클럭신호ΦB의 로우레벨 및Φ2B의 하이레벨기간에, 버스슬레이브의 출력은ΦS의 로우레벨 및Φ2S의 하이레벨기간에 동기해서 실행된다. 버스마스터의 입력은 클럭신호ΦB 및Φ1B가 하이레벨의 기간에 실행되고 (래치는 클럭신호Φ1B의 하이레벨에서 로우레벨로의 변화에 동기해서 실행된다), 버스슬레이브의 입력은ΦS 및Φ1S가 하이레벨의 기간에 실행된다 (래치는 클럭신호Φ1S의 하이레벨에서 로우레벨로의 변화에 동기해서 실행된다). 예를 들면 제22도에 있어서 인터페이스신호I/F1은 버스마스터에서 버스슬레이브로의 인터페이스신호로 된다. 인터페이스신호I/F1은 상태S4의Φ2B의 하이레벨로의 변화에 동기해서 버스마스터에서 출력되고, 상태S5의Φ1S의 하이레벨에서 로우레벨로의 변화에 동기해서 버스슬레이브에 래치된다. 또, 인터페이스신호I/F2는 버스슬레이브에서 버스마스터로의 인터페이스신호로 된다. 인터페이스신호I/F2는 상태S7의Φ2S의 하이레벨로의 변화에 동기해서 버스슬레이브에서 출력되고, 상태S12의Φ1B의 하이레벨에서 로우레벨로의 변화에 동기해서 버스마스터에 래치된다. 따라서, 신호의 출력개시에서 페치까지 반드시 클럭신호ΦS의 1상태 이상의 기간을 확보할 수 있다. 따라서 타이밍설계는 중속모드를 고려하지 않은 경우, 즉ΦB =ΦOSC로 한 경우와 동일하게 할 수 있다.
제20도 및 제22도에 도시되는 바와 같이 버스마스터의 동작클럭 (Φ1B,Φ2B)는 버스슬레이브의 동작클럭 (Φ1S,Φ2S)에 비해 주파수가 낮으므로, 버스마스터에서 버스슬레이브로의 인터페이스신호는 반드시 상기 버스마스터의 출력상태와 동일한 상태에서 버스슬레이브를 인식할 수 있다. 이 때문에 버스마스터의 상태단위로 인터페이스신호를 임의의 펄스폭으로 할 수 있다. 이러한 인터페이스신호에는 리드신호 ·리드신호 등의 버스액세스신호 또는 인터럽트요인 클리어신호 등을 할당할 수 있다.
제20도 및 제22도에 도시되는 바와 같이 버스슬레이브의 동작클럭은 버스마스터의 동작클럭에 비해 주파수가 높으므로, 버스슬레이브에서 버스마스터로의 인터페이스신호는 버스슬레이브의 출력후, 버스마스터에 인식되는 타이밍 (상기 버스슬레이브의 상태)를 일정하게 할 수는 없다. 따라서, 이들의 인터페이스신호는 소위 핸드쉐이크신호로 하는 것이 좋다. 이러한 인터페이스신호에는 인터럽트요구신호 또는 DTC기동요구신호 등을 할당할 수 있다. 예를 들면 인터럽트오구신호는 일단 요인플래그가 " 1 "로 세트되어 활성상태로 되면, 이것을 유지한다. CPU가 인터럽트요구신호를 인식해서 인터럽트요인플래그를 " 0 "으로 클리어하면, 인터럽트요구신호가 비활성상태로 되게 된다. 또, 이들의 인터페이스신호는 1상태에서 인식되도록 하지 않는다. 1상태기간에서만 사용하는 경우에는 입력측에서 에지검출을 실행하도록 한다. 또, 그 때의 출력기간을 선택가능한 시스템클럭신호ΦB의 가장 긴주기 즉, 클럭신호ΦOSC/8의 주기 이상의 기간으로 하면, 핸드세이크는 일절 필요하지 않다.
버스마스터간, 또는 버스슬레이브간의 요구신호는 임의의 타이밍으로 할 수 있다.
제23도에는 버스마스터클럭과 버스슬레이브클럭의 다른 동작타이밍이 도시되어 있다. 제20도 및 제22도와는 달리 클럭신호ΦB는 중속모드에서도 듀티50%로 된다. 클럭신호ΦB는ΦS보다 항상 주기가 동등하거나 길고, 클럭신호ΦB의 상승에지는ΦS의 상승에지에 동기하고 있다. 각 기능블럭간의 인터페이스신호의 입출력타이밍은 제19도와 동일하고, 상세한 것은 다음와 같다. 버스마스터 (버스슬레이브)는ΦB와Φ1B의 하이레벨기간 (ΦS와Φ1S의 하이레벨기간)에 동기해서 출력이 허용된다 (출력신호변화가 허용된다). 신호입력에 관해서 버스마스터 (버스슬레이브)는ΦB가 로우레벨이고,Φ2B가 하이레벨의 기간 (ΦS가 로우레벨이고,Φ2S가 하이레벨의 기간)에 입력이 허용된다. 버스마스터의 입력래치타이밍은 클럭신호Φ2B의 하이레벨에서 로우레벨로의 변화에 동기되고, 버스슬레이브의 입력래치타이밍은 클럭신호Φ2S의 하이레벨에서 로우레벨로의 변화에 동기된다. 예를 들면, 도면에 있어서 인터페이스신호 I/F1은 버스마스터에서 버스슬레이브로의 인터페이스신호로 된다. 인터페이스신호 I/F1은 상태S9의Φ1B에 동기해서 버스마스터에서 출력되고, 상태S9의Φ1S의 하이레벨에서 로우레벨로의 변화에 동기해서 버스슬레이브에 래치된다. 또, 인터페이스신호 I/F2는 버스슬레이브에서 버스마스터로의 인터페이스신호로 된다. 인터페이스신호 I/F2는 상태S3의Φ1S에 동기해서 버스슬레이브에서 출력되고, 상태S4의Φ2B의 하이레벨에서 로우레벨로의 변화에 동기해서 버스마스터에 래치된다. 따라서, 신호의 출력개시에서 페치까지 반드시 클럭신호ΦS의 1상태 이상의 기간을 확보할 수 있다. 따라서, 타이밍설계는 중속모드를 고려하지 않은 경우, 즉ΦB =ΦOSC로 한 경우와 동일하게 할 수 있다.
제23도의 타이밍에 있어서 착안한 점은 클럭신호Φ2B의 상승이 클럭신호Φ1S의 상승타이밍과 일치되고, 이 점에 있어서 클럭신호Φ2B와Φ1S는 부분적으로 위상이 일치되어 있다. 이 위상이 일치한 타이밍에 있어서 버스슬레이브에서 버스마스터로의 신호출력이 실행되게 되어 있다.
이 때, 제23도의 클럭신호를 사용한 인터페이스제어타이밍을 제21도와 같이 반대로 한 경우에는ΦB와ΦS의 위상에 의해서 신호의 출력개시에서 페치까지의 시간을 확보할 수 없는 경우가 있어 신호를 바르게 전달할 수 없는 경우가 있다. 예를 들면, 버스슬레이브가 제23도의 상태S6에 있어서의Φ2S의 상승에 동기해서 신호를 출력하였을 때, 버스마스터는 상태S7에 있어서의Φ1B의 하강에 동기해서 입력데이타를 래치하는 것이 허용되고, 신호출력에서 그 신호의 입력래치까지의 사이에 클럭신호ΦS의 1/2주기밖에 확보할 수 없다. 이것은 신호가 1개뿐인 경우에는 문제가 되지 않더라도 신호가 여러개 존재하는 버스와 같은 경우, 여러개의 신호중 오래된 신호가 전달되는 경우와 새로운 신호가 전달되는 경우가 혼재하는 일이 발생하고, 이들의 조합에 의해서 의미를 갖는 경우에 무의미한 데이타로 되거나 오동작의 원인으로 되거나 하는 경우가 있다.
제19도와 같은 인터페이스사양에서 제23도와 같은 클럭신호파형을 이용하는경우에는 제23도에 도시되는 바와 같이 버스마스터의 동작클럭이 버스슬레이브의 동작클럭에 비해 주파수가 낮으므로, 버스마스터에서 버스슬레이브로의 인터페이스신호는 반드시 버스마스터의 출력과 동일한 상태에서 버스슬레이브에 인식된다. 이 때문에 상태단위로 인터페이스신호는 임의의 펄스폭으로 할 수 있다. 이러한 인터페이스신호에는 리드신호 ·리드신호 등의 버스액세스신호 또는 인터럽트요인클리어신호 등을 할당할 수 있다.
버스슬레이브의 동작클럭이 버스마스터의 동작클럭에 비해 주파수가 높으므로, 제23도에 있어서 버스슬레이브에서 버스마스터로의 인터페이스신호는 버스슬레이브의 출력 후, 버스마스터에 인식되는 타이밍 (상기 버스슬레이브의 상태)를 일정하게 할 수는 없다. 따라서, 이들의 인터페이스신호는 소위 핸드쉐이크신호로 하는 것이 좋다. 이러한 인터페이스신호에는 인터럽트요구신호 또는 DTC기동요구신호등을 할당할 수 있다. 또, 이 때의 출력기간을 선택가능한 시스템클럭신호ΦB의 가장 긴 주기 즉, 클럭신호ΦOSC/8의 주기이상의 기간으로 하면, 핸드쉐이크는 일절 필요하지 않다.
여기서, 제20도 및 제22도의 클럭신호파형에 대해서 또 설명을 부가한다. 제20도, 제22도에서 명확한 바와 같이Φ2B의 하이레벨기간은Φ1S의 로우레벨기간에 포함된다. 따라서,Φ1S의 상승에 동기하는 비스슬레이브의 출력에서Φ2B의 하강에 동기하는 버스마스터의 입력신호래치동작까지에는 실질적으로ΦS의 1상태분의 여유시간을 적어도 확보할 수 있다. 또,Φ2S의 하이레벨기간은Φ1B의 로우레벨기간에 포함된다. 따라서,Φ1B의 상승에 동기하는 버스마스터의 출력에서Φ2S의 하강에 동기하는 버스슬레이브의 입력신호래치동작까지에는 실질적으로ΦS의 1상태분의 여유시간을 적어도 확보할 수 있다. 이러한 것은 제19도, 제21도의 양쪽의 인터페이스사양에 대해서 성립한다. 이것에 대해 제23도와 같이 클럭신호Φ2B의 하이레벨로의 상승변화와Φ1S의 하이레벨로의 상승변화의 위상이 일치하고 있는 관계의 클럭신호Φ1S,Φ2S,Φ1B,Φ2B 등을 사용하는 경우에는 상기 위상일치의 타이밍을 버스슬레이브에서 버스마스터로의 신호출력타이밍으로서 이용하는 버스인터페이스사양 (예를 들면 제19도의 인터페이스사양)에 있어서만 신호의 출력에서 상기 신호의 입력래치까지ΦS의 1상태분의 여유시간을 확보할 수 있다.
<실제의 버스인터페이스 타이밍예>
제24도 및 제25도에는 실제의 버스인터페이스타이밍의 1예가 도시되어 있다. 각 도면의 타이밍은 제20도 및 제22도에 도시되는 클럭신호를 이용한 경우의 것으로서 상술한 바와 같이 그 인터페이스사양은 제19도, 제21도 모두 동일하게 이용할 수 있으므로, 신호의 종류에 따라서 최적의 어떤 한쪽의 인터페이스사양이 채용되고 있는 예이다. 각 도면에 있어서, 버스마스터에서는 어드레스 (PAB경유), 기능블럭신호 (MS#), 리드신호RD#, 라이트신호WR#이 부가된다. 제24도에 있어서 상태S5에서 버스마스터의 리드동작이 실행된다. 즉, 상태S5에서 상태S16까지 어드레스버스 및 기능블럭선택신호 (MS#)이 유효로 된다. 버스마스터의 제1상태 (상태S5∼S8)의Φ2B에 동기해서 리드신호RD#가 활성상태 (로우레벨)로 된다. 버스슬레이브는 이 리드신호RD#의 활성상태로 천이를 검출해서, 레지스터리드신호 및 버스인터페이스래치신호를 상기 버스슬레이브 내부에서 활성상태로 한다. 예를들면, 제6도에 있어서, 레지스터 (771) 또는 타이머카운터 (772)등이 레지스터리드신호에 의해 지정되고, 지정된 레지스터, 카운터에서 모듈데이타버스를 거쳐서 버스인터페이스 (760)로 데이타가 전송되어 래치된다. 레지스터리드신호 등의 버스슬레이브내의 제어신호는 예를 들면 제6도의 리드라이트 제어회로 (730)의 출력제어신호에 포함된다. 그리고, 상태S9에 있어서의 다음의Φ2S에 동기해서 상기 래치된 데이타가 데이타버스로 출력된다. 리드신호 RD#이 비활성상태로 된 후, 상태S16의 다음의 상태에 있어서의Φ1S의 변화에 동기해서 데이타버스가 하이임피던스상태로 된다. 리드신호 RD#는 버스마스터의 제3상태(상태S13∼S16)의Φ2B의 상승에 동기해서 비활성상태로 된다. 버스마스터는 이 클럭신호Φ2B의 하강에 동기해서 데이타버스의 내용을 래치한다.
제25도에 있어서 상태S5에서 버스마스터의 라이트동작이 실행된다. 상태S5 ∼ S16까지 어드레스버스 및 기능블럭선택신호 (MS#) 이 유효로 된다. 버스마스터의 제1상태 (상태S5∼S8)에 있어서의Φ2B의 상승에 동기해서 라이트데이타가 데이타버스로 출력된다. 버스마스터의 제2상태 (상태S9∼S12)의Φ1B의 상승에 동기해서 라이트신호WR#이 활성상태 (로우레벨)로 된다.
버스슬레이브는 이 라이트신호WR#의 활성상태로의 천이를 검출해서 버스인터페이스래치신호 및 레지스터 리드신호를 활성상태로 한다. 라이트데이타가 버스인터페이스에 래치되고, 버스인터페이스에서 모듈데이타버스를 거쳐서 지정된 레지스터 또는 타이머카운터 등으로 데이타가 전송되어 라이트된다. 이러한 신호는 예를 들면 제6도의 리드라이트제어회로 (730)이 출력하는 제어신호에 포함된다. 버스마스터의 제3상태 (상태S13∼S16)에 있어서의Φ2B의 상승에 동기해서 라이트신호가 비활성상태로 된다.
<클럭신호Φ의 외부출력>
제26도에 도시되는 바와 같이 싱글칩 마이크로컴퓨터는 외부로 시스템클럭신호ΦS,ΦB를 출력할 수 있다. 즉, 시스템클럭신호ΦS를 다른 반도체집적회로장치 등의 기준클럭으로 하는 경우와 시스템클럭신호ΦB를 기본으로 해서 외부버스에 동기한 제어신호를 생성하는 경우가 있다. 본 발명에 있어서는 다른 반도체집적회로장치등의 기준클럭으로 하기 위해 시스템클럭신호ΦS를 또, 외부버스에 동기한 제어신호를 생성하기 위해 시스템클럭신호ΦB를 출력가능하게 한다. 이 출력단자 TΦS,ΦB는 소정의 입출력포트 IOP에 각각 독립으로 마련된다. 예를 들면, 클럭신호ΦS의 출력은 입출력포트 IOP (60)에, 클럭신호ΦB의 출력은 입출력포트 IOP (61)에 할당되어 있다. 입출력포트 IOP (60), IOP (61)은 그밖의 입출력기능에 겸용되고, 제1도에 도시되는 입출력포트 IOP (6) 에 포함된다.
이 때, 클럭신호ΦS 및ΦB는 클럭제어회로 (13)에서 생성되고 외부로는 상술의 입출력포트 IOP (60), IOP(61)을 거쳐서 출력된다. 클럭신호ΦS 및ΦB는 반도체집적회로내에서는 실질적으로 최고속의 부류인 신호이다. 또, 클럭제어회로 (13)과 입출력포트 IOP (60), (61) 사이의 배선 (1310), (1311)은 기능블럭간으로 연장되고, 비교적 큰 용량성분을 갖는다. 따라서, 그와 같은 클럭신호의 외부출력시에는 그 비교적 큰 용량성분과 높은 클럭주파수에 의해 소비전류도 크게 된다.
이들ΦS 또는ΦB의 외부출력은 필요한 동작이므로, 전류를 소비하는 것은부득이하다. 그러나, 싱글칩 마이크로컴퓨터 등에서는 외부로 클럭을 출력할 필요가 없는 경우도 많다. 클럭출력을 정지하는 것은 예를 들면 일본국 특허원 소화60-184207호에 기재되어 있는 바와 같이 저소비전력화 이외에 커플링노이즈의 저감, 불필요한 복사의 저감에 효과가 있다. 이것에 대응하기 위해 본 실시예에서는 클럭신호ΦS 또는ΦB를 외부로 출력하지 않는 경우에는 클럭제어회로 (13)과 입출력포트 IOP (60), IOP (61) 사이의 신호를 예를 들면 논리값" 0 "의 레벨로 고정하고, 클럭배선 (1310), (1311)상에서 신호변화가 발생하지 않도록 해서 소비전류를 저감하도록 되어 있다. 예를 들면, 제26도에 개략적으로 도시되는 바와 같이 클럭제어회로 (13)에 의해 생성된 클럭신호ΦS의 외부출력용으로 논리곱회로 (1300)과 클럭드라이버(1302)의 직렬회로가 마련되고, 클럭드라이버 (1302)의 출력이 클럭배선을 거쳐서 입출력포트 IOP (60)에 접속된다. 마찬가지로 클럭제어회로 (13)에 의해 생성된 클럭신호ΦB의 외부출력용으로 논리곱회로 (1301)과 클럭드라이버 (1303)의 직렬회로가 마련되고, 클럭드라이버 (1303)의 출력이 클럭배선을 거쳐서 입출력포트 IOP (61)에 접속된다. 입출력포트 IOP (60), IOP (61)에 대한 출력의 허가는 대응하는 입출력포트 IOP (6)의 도시하지 않은 데이타디렉션레지스터의 대응하는 비트 DDR (60), DDR (61)을 사용할 수 있다. 비트DDR (60), DDR (61) 을 논리값" 1 "로 세트하면, IOP (60), IOP (61)은 출력허가상태로 된다. 이것은ΦS와ΦB에 대해서 독립으로 제어가능하다. 이 때, 상기 논리곱회로 (13000)의 다른쪽의 입력에는 출력허가비트DDR (60)의 반전신호가 공급되고, 논리곱회로(1301)의 다른쪽의 입력에는 출력허가비트DDR (61)의 반전신호가 공급된다. 따라서, IOP (60), IOP (61)에 클럭신호ΦS,ΦB의 출력이 허가되이 있지 않은 상태에 있어서는 논리곱 회로 (1300), (1301)의 출력이 로우레벨로 고정된다. 이것에 의해서 외부로 클럭신호ΦS,ΦB를 출력하지 않을 때에는 클럭드라이버 (1302), (1303)이후의 클럭배선에서의 소비전력을 저감할 수 있어 커플링노이즈의 저감, 불필요한 복사의 저감을 도모할 수 있다.
제27도에는 클럭신호ΦS 또는ΦB중 어느 한쪽을 선택적으로 외부출력 가능하게 한 경우의 변형예가 도시되어 있다. 이 때, 클럭제어레지스터 (132)에는 제28도 (A) 및 제28도 (B)에 도시되는 PHIS비트가 구비된다. 제28도 (B)에 도시되는 바와 같이 PHIS비트가 논리값" 1 "일 때에는 클럭신호ΦS를, 논리값" 0 "일 때에는 클럭신호ΦB를 외부로 출력하는 것을 지시하는 것으로 된다. 출력할 클럭신호의 선택은 논리곱회로 (1304), (1305)와 논리합회로 (1306)으로 이루어지는 셀렉터에 의해서 실행된다. 이 셀렉터에 의해 선택된 클럭신호의 외부출력의 허가는 상기 입출력포트 IOP (60)에 대한 출력허가비트DDR (60)에 의해 실행되고, 상기 출력허가비트는 제26도의 경우와 마찬가지로 반전되어 논리곱회로 (1307)에 공급되고, 출력허가비트DDR (60)에 의해서 클럭신호가 출력허가되는 경우에만 셀렉터의 출력클럭신호가 논리곱회로 (1307) 및 클럭드라이버 (1308)에서 클럭배선을 거쳐서 입출력포트 IOP(61)에 부가되도록 되어 있다. 클럭신호의 외부단자TΦ로의 출력이 금지되어 있을 때에는 상기와 마찬가지로 논리곱회로 (1307)의 출력이 논리값" 0 "으로 고정되고, 그 결과 클럭드라이버 (1308) 이후의 클럭배선에서의 소비전력이 저감 등을 실현할 수 있다
<내부버스의 다분할 )
제29도에는 싱글침 마이크로컴퓨터의 내부버스의 다른 분할예가 도시되어 있디·. 제29도는 특히 싱글칩 마이크로컵뷰티의 내부버스에 착안한 블럭도이다. 버퍼BUF는 입출력포트1OPI∼ 10P5에 포함되고, 외부어드레스버스 및 외부데이타버스와 인터페이스되는 버퍼회로이다.
제1도에 도시되는 내부어드레스버스PAB 및 내부데이타버스PDB는 제29도에 있어서 각각 내부어드레스버스PAB1 및 내부데이타버스PDB1과 내부어드레스버스PAB2 및 내부데이타버스PDB2로 분할되어 있고, 내부버스PAB1 및 PDB1에는 입출력포트 IOP1∼IOP6, WDT (8), 스테이틱래치회로HD1 이 결합되고, 내부버스PAB2 및 PDB2에는 IOP7∼IOP11, 타이머 (7), SC1(9), A/D변환기 (10) 및 스테이틱래치회로HD2가 접속된다.
내부버스PAB1과 PAB2, 그리고 내부버스PDB1과 PDB2는 각각 배선길이 즉 배선용량이 동일하게 되도록 되고 또한, 이들 전체의 배선용량이 제1도의 경우에 있어서의 내부버스PAB와 PDB의 배선용량보다 크게 되지 않도록 회로블럭의 실제의 레이아웃에 입각해서 분할된 내부버스와 회로모듈의 할당이 결정된다. 논리적으로는 입출력포트 IOP, 타이머 (7), WDT (8), SCI (9), A/D변환기 (10)은 분할된 어떤 버스에 접속될지의 제약은 없다.
버스컨트롤러 (3) 에 조합되는 모듈셀렉트의 판정에 의해서 PAB1와 PDB1, PAB2와 PDB2 중 어느 것인가가 활성상태로 되도록 된다. 또, ROM (5) 또는 RAM (6)이 액세스된 경우에는 PAB1과 PDB1, PAB2와 PDB2의 모두가 비활성상태로 되도록 된다. 비활성상태인 경우, 내부어드레스버스PAB1과 PAB2는 직전의 값을 유지하도록 된다. 또, 버스컨트롤러 (3) 및 WDT (8) 등의 기능블럭의 출력이 하이임피던스로 되었을 때, 내부데이타버스PDB1과 PDB2는 스테이틱회로HD1 및 HD2에 의해서 전의 값을 유지한다. 스테이틱래치회로HD1 및 HD2는 예를 들면 각 신호선마다 역병렬접속된 2개의 인버터회로가 마련되어 구성되고, PDB1, PDB2의 상태를 유지하도록 되고, 다른 기능블럭이 데이타를 출력한 경우에는 이러한 출력데이타에 의한 버스의 구동이 우선될 수 있는 비교적 작은 구동능력을 갖게 된다. 즉, 스테이틱래치회로 HD1, HD2를 구성하는 인버터회로의 출력전류는 PDB1, PDB2의 누설전류보다 크고, 기능블럭의 출력전류보다 충분히 작게 되어 있다. 또, 제1도의 내부버스PDB나 PAB의 분할수는 3이상으로 하는 것이 가능하다. 내부어드레스버스PAB의 갯수가 적으면, 내부어드레스버스PAB는 공통으로 해서 내부데이타버스PDB만 분할하도록 해도 좋다.
<저소비전력정보의 벡터화>
인터럽트요구 등에 대한 처리의 고속화를 위해 클럭신호ΦB의 주파수를 강제적으로 높게 하는 수단으로서 제9도 및 제10도 (A)등에서 설명한 클럭제어레지스터 (132)의 MSME비트를 이용하는것 이외에 인터럽트처리 (리세트와 같은 예외처리도 포함한다)의 개시시에 벡터로서 저소비전력정보를 페치하도록 해도 좋다. CPU(1)의 어드레스공간의 일부에는 각각 인터럽트에 대응한 여러개의 벡터가 미리 라이트되어 있다. 인터럽트요구가 발생하면, CPU (1)은 인터럽트에 대응한 벡터를 페치하고, 페치한 벡터에 유지되어 있는 인터럽트에 관한 정보에 따른 처리를 실행한다.즉, 인터럽트의 요구가 발생하면, CPU (1)은 그 인터럽트에 대응한 벡터를 나타내는 어드레스를 출력하고, 그 어드레스에 의해서 나타내고 있는 벡터영역에서 상기 인터럽트에 관한 정보를 페치한다. 본 실시예에 있어서는 이 정보로서 상기 인터럽트에 의해서 실행될 프로그램 (핸들리프로그램)의 개시어드레스와 저소비전력정보가 있다. 인터럽트의 요구에 응답해서 상기 개시어드레스는 핸들러프로그램의 실행을 위해 CPU (1)내의 프로그램카운터 (도시하지 않음)에 세트되고, 상기 저소비전력정보는 후술하는 바와 같이 모듈스톱제어레지스터(133) 및 클럭제어레지스터 (132)에 세트된다. 또, 인터럽트요구에 대한 처리가 종료한 후, 원래의 프로그램으로 복귀하기 위해서 후술하는 바와 같이 상태레지스터의 내용과 복귀하는 어드레스가 인터럽트요구에 응답할 때에 CPU (1)내의 스택포인터 (도시하지 않음)로 지정된 CPU (1)의 어드레스공간내의 어드레스영역(스탭영역)에 라이트된다. 후의 설명에서 이해되는 바와 같이 본 실시예에 있어서는 상기 상태레지스터의 내용, 복귀어드레스 이외에 상기 모듈스톱제어레지스터 (133) 및 클럭제어레지스터 (132)의 내용도 상기 스택포인터로 지정되는 스택영역에 라이트된다 (스택된다). 예를 들면 인터럽트벡터는 인터럽트에 의해서 실행한 핸들러의 개시어드레스와 함께 저소비전력정보로서 중속모드의 설정이나 모듈스톱의 설정을 실행하기 위한 제어정보를 보유한다. 이 경우, 클럭제어레지스터 (132)의 초기값을 리세트벡터의 저소비전력정보에 의해서 결정할 수 있고, 이것을 중속모드로 하도록 해 두면 좋다. 그와 같이 하면, 리세트후의 저소비전력상태를 즉시 설정할 수 있으므로, 소프트웨어의 부담을 경감하고 또, 중속모드로부터의 개시가 가능하게 되는 등 소비전류를 저감할 수 있다.
제30도 (A)∼제30도 (C)에는 저소비전력상태를 지정하는 벡터배열과 그 경우의 스택의 예가 도시된다. 이 예에 따르면 저소비전력정보는 제30도 (B)에 도시되는 바와 같이 8비트로 된다. 즉, 저소비전력정보는 모듈스톱제어레지스터 (133)의 비트7∼2 (MSTP7∼MPST2)에 대응하는 6비트 (저소비전력정보의 비트7∼2)와 클럭제어레지스터 (132)의 비트0 및 비트1 (CKS0, CKS1)에 대응하는 2비트 (저소비전력정보의 비트1, 0)을 포함한다. 제30도 (A)에 도시되는 벡터에 있어서 개시어드레스는 어드레스공간이 16MB이면 24비트로 된다. 제30도 (C)에 도시되는 바와 같이 스택에는 복귀어드레스와 복귀지에 있어서 이용되는 저소비전력정보 이외에 CPU (1)의 내부상태를 유지하는 상태레지스터에 대한 16비트분의 기억영역이 포함된다. 상기 상태레지스터에는 연산의 결과를 나타내는 컨디션코드나 인터럽트마스크비트등이 포함된다. 또, 이하의 설명에 있어서 모듈스톱제어레지스터(133) 의 비트7∼2 (MSTP7∼MSTP2) 와 클럭제어레지스터(132)의 비트0 및 비트1 (CKS0, CKS1)을 합쳐서 저소비전력 상태제어레지스터라 한다.
제31도에는 예외처리시 및 리턴시의 동작타이밍이 도시되어 있다. 특히, 제한되는 것은 아니지만, ROM (5) 및 RAM (6)은 1상태에서 리드/라이트가능으로 된다. 명령 및 벡터는 ROM (5)에, 스택은 RAM (6)에 배치되는 것으로 한다. 예외처리시에는 그 시점의 프로그램카운터 (PC)의 값 및 저소비전력 상태제어레지스터 (클럭제어레지스터 (132)의 CK0, CK1과 모듈스톱제어레지스터 (133)의 MSTP2∼MSTP7)의 정보 및 도시하지 않은 상기 상태레지스터의 내용이 스택에 세이브된다 (상태S1∼S5). 즉, 상기 저소비전력 상태제어레지스ㅌ의 내용을 리드하기 위해 전용의 리드신호RD - LPCR#이 활성상태로 됨 (상태S2∼S4)과 동시에 리드신호WR#도 활성상태로 되고, 상기 제어레지스터의 내용이 스택에 라이트된다. 스택의 동작에 계속해서 ROM(5) 에서 벡터로서 저소비전력 상태제어레지스터 및 PC의 내용이 리드된다 (S6∼S9). ROM (5)에서 리드된 저소비전력 상태제어레지스터는 CPU에 페치되지 않고, 저소비전력 상태제어레지스터에 라이트된다 (S6∼S8). 이를 위한 전용리드신호 WR-LPCR#이 활성상태로 된다. 이것에 의해서 상태S7에서 저소비전력 상태제어레지스터의 내용이 변경되어 중속모드의 설정이나 모듈스톱의 설정이 변경으로 된다. 벡터로서의 개시어드레스는 CPU내부의 도시하지 않은 프로그램카운터에 패치되고, 이러한 개시어드레스에서 CPU (1)은 명령의 실행을 개시한다 (S11∼S13). 리턴시는 RAM (6)내의 스택에서 상태레지스터, 저소비전력 상태제어레지스터, PC의 내용이 리드된다 (S14∼S18). 스택에서 리드된 저소비전력 상태제어레지스터의 내용은 CPU (1)에 페치되지 않고 저소비전력 상태제어레지스터에 라이트된다. 복귀어드레스는 CPU (1)의 내부에 래치되고, 이러한 어드레스에서 CPU (1)은 명령의 실행을 개시한다. 상태레지스터는 CPU (1) 의 내부에 저장된다. S16에서 저소비전력 상태제어레지스터의 내용이 복귀된다. 중속모드의 설정이나 모듈스톱의 설정이 복귀되어 S6이전의 상태와 동일하게 된다. S6이전, S16이후를 중속모드, S7∼S15를 고속모드로 설정해 두면, 제17도와 동일한 동작을 소프트웨어의 부하없이 실현할 수 있다. 인터럽트마다 저소비전력상태를 설정할 수 있으므로, 고속처리가 필요하지 않은 인터럽트요구에 대해서는 적당한 동작속도로 해서 소비전력을 낭비하는 일이 없다. 또, 모듈스톱에 의해서 기능블럭의 내부상태를 유지하면서 정지할 수 있으므로, 예를들면 DTC (2)를 모듈스톱으로 하면 DTC (2)가 버스를 사용하는 것에 의해서 CPU (1)의 동작을 중단하거나 하는 것을 방지할 수 있어 고속인 인터럽트처리루틴의 실행이 필요한 경우 등에 유효하다.
제32도에는 저소비전력 상태제어레지스터의 1비트의 구성이 대표적으로 도시되어 있다. 상술한 바와 같이 클럭제어레지스터 (132)의 비트1, 0 및 모듈스톱제어레지스터 (133)의 비트7∼2가 저소비전력 상태제어레지스터를 구성한다. 제32도의 구성은 제16도에 대해 2개의 논리합회로 (1325), (1326)이 추가되고, 클럭입력단자 C에는 논리합회로 (1325)를 거쳐서 상기 전용라이트신호WR - LPCR이 부가되고, 어드레스에 관계없이 데이타버스의 내용이 입력된다. 또, 클럭드버퍼 (1322)의 리드신호에도 논리합회로 (1326)을 거치서 상기 전용리드신호RD - LPCR이 부가되고, 어드레스에 관계없이 레지스터의 내용을 데이타버스로 출력한다. 이들의 전용라이트신호WR - LPCR 및 전용리드신호RD - LPCR은 예를 들면 CPU (1)에 의해서 형성되고, 클럭제어레지스터 (132)의 비트 1, 0 및 모듈스톱제어레지스터 (133)의 비트 7∼2에 공통의 신호로 된다. 또, 제32도에 있어서 RD, WR, RD - LPCR, WR - LPCR의 각 신호는 이해를 용이화하기 위해 정논리의 신호로서 도시되어 있다.
<서브클럭발진기의 예>
제33도에는 클럭발진기 및 클럭제어회로의 다른 예가 도시되어 있다. 이 예는 제9도에 대해서 제2 발진기 (12A), 분주기(130A), 셀렉터 (131A) 및 노오버랩생성회로 (138)이 추가되어 있다. 제2 발진기 (12A)의 EXTALL, XTALL에는 예를 들면32. 768kHz와 같은 수정발진자를 접속한다.
2조의 발진기를 갖는 싱글칩 마이크로컴퓨터로서 예를 들면 상기 평성4년 9월 (주) 히다찌세이사꾸쇼 발행 「H 8/3834 HD6473834 HD6433834 하드웨어 매뉴얼」에 기재된 것이 있다. 제2 분주기 (130A)는 상기와 마찬가지로 8분주를 실행하고, 분주된 클럭신호ΦOSC/2,ΦOSC/4,ΦOSC/8은 클럭제어레지스터 (132)로부터의 제어비트에 의해 셀렉터 (131A)가 선택된다. 이것에 의해서 선택된 클럭신호에 따라서 노오버랩생성회로 (138)은 노오버랩의 2상의 클럭신호Φ1L,Φ2L을 생성하고, 소요의 기능블럭, 예를 들면 CPU (1) 및 타이머 (7)에 공급한다. 이러한 노오버랩생성회로 (138)은 낮은 동작주파수 또한 저전압동작에 적합하도록 상기 각 기능블럭에 내장되는 것과 상위된다. 저주파이므로 2상클럭신호ΦL1,ΦL2를 CPU (1), 타이머 (7)등에 공급해도 소비전력을 위한 불이익은 생기지 않는다.
특히 제한되지 않지만, 노오버랩의 2상의 클럭신호Φ1L,Φ2L은 싱글칩 마이크로컴퓨터를 시계처리에 이용하는 경우에 사용되는 것으로 된다. 클럭제어레지스터 (132) 는 워치모드비트WM을 갖고, 이것이 논리값" 1 "로 되는 것에 의해서 싱글칩 마이크로컴퓨터는 시계처리에 피요한 최저의 동작주파수에서 동작된다. 시계처리는 예를 들면 싱글칩 마이크로컴퓨터의 제어대상에 시계가 포함되어 있는 경우에 1초마다와 같은 일정시간마다 시계표시를 갱신하는 처리로서 노오버랩의 2상의 클럭신호Φ1L,Φ2L에 의해서 계시동작되는 타이머에 의한 일정시간마다의 타이머할당에 의해서 CPU (1)에 시계처리를 실행시킨다.
제34도에는 제33도의 클럭제어회로 (13) 으로부터의 그 밖의 기능블럭으로의 상기 클럭신호Φ1L,Φ2L의 공급상태만을 도시한 싱글칩 마이크로컴퓨터의 개략적인 블럭도가 도시되어 있다. 이 블럭도는 예를 들면 상기 시계처리를 고려하는 것이다. 제34도의 싱글칩 마이크로컴퓨터에 있어서는 제33도의 클럭제어회로 (13) 이외에 CPU (1), 버스컨트롤러 (3), 인터럽트컨트롤러 (4), 입출력포트 IOP1∼IOP11 및 타이머 (7)이 대표적으로 도시된다. 각 회로블럭에 도시되는 NOV는 입력클럭신호에서 노오버랩의 2상클럭신호를 형성하는 노오버랩생성회로이다. 제1도에 설명한 내부버스 IAB, IDB에 결합되는 CPU (1), 버스컨트롤러 (3) 및 인터럽트컨트롤러 (4)의 노오버랩생성회로NOV에는 상기 클럭신호ΦB가 공급되고, 제1도에 설명한 내부버스PAB, PDB에 결합되는 타이머 (7) 및 IOP1∼IOP11의 노오버랩생성회로NOV에는 상기 클럭신호ΦS가 공급된다. 또, 각 기능블럭1, 3, 4, 7, IOP1∼IOP11에는 상기 노오버랩의 2상블럭신호ΦL1,ΦL2이 공급되고, 각각의 기능블럭에 있어서 노오버랩생성회로NOV에서 출력되는 2상클럭신호 또는 2상클럭신호ΦL1,ΦL2중 어느 것을 내부동기클럭신호로서 이용할 것인가를 선택하기 위한 셀렉터SEL이 마련되어 있다. 타이머 (7)은 CPU (1) 등에 의해서 설정되는 내부제어레지스터의 제어비트 등에 따라서 셀렉터의 선택이 실행된다. 타이머 (7)이 여러개의 채널로 구성되는 경우, 채널마다 이러한 제어레지스터와 셀렉터SEL을 갖도록 하면 좋다. CPU (1), 버스컨트롤러 (3), 인터럽트컨트롤러 (S) 및 입출력포트IOP1∼IOP11의 셀렉터SEL은 클럭제어회로 (13)에서 출력되는 위치모드비트WM에 의해 선택상태가 결정된다.
위치모드비트가 논리값" 1 "로 되면, 타이머 (7) 에 이어서 소정의 채널이외에는 모듈스톱상태로 된다. 타이머 (7)에 있어서의 상기 소정의 채널은 제어비트에 의해 셀렉터SEL로 클럭신호ΦL1,ΦL2을 선택하고, 클럭신호ΦL1,ΦL2를 이용해서예를 들면, 시계처리를 간헐적으로 실행하기 위한 시계동작을 실행해서 일정시간마다 타이머인터럽트신호를 출력한다. CPU (1), 버스컨트롤러 (3), 인터럽트컨트롤러 (4) 및 IOP1-IOP11에 있어서는 논리값" 1 "의 워치모드비트WM에 의해서 셀렉터에서 클럭신호Φ1L,Φ2L이 선택되고, 이것에 의해서 이들 기능블럭은 시계용의 저주파수의 클럭신호ΦL1,ΦL2에 동기동작된다. 타이머 (7)은 일정시간마다 시계용처리를 위한 인터럽트신호를 발생하고, CPU (1)은 그것에 응답해서 간헐적으로 시계처리를 실행한다. 위치모드비트WM이 활성상태로 되어 있을 때, 제1 발진기 (12)는 발진동작이 정지된다. 워치모드는 CPU (1)이 워치모드비트WM을 논리값" 0 "으로 하는 것에 의해서 해제된다.
상기 실시예에 의하면 이하의 효과를 얻는 것이다. [ 1 ] 시스템클럭신호를ΦS와ΦB로 하고, 클럭신호의 상배선용량을 그다지 크게 하지 않고 시스템클럭신호ΦB의 분주비를 가변으로 해서 기능블럭의 절대적인 기준클럭을 확보하면서 시스템클럭신호ΦB를 가변으로 하여 버스마스터의 저소비전력을 저감하고, 더 나아가서는 반도체집적회로전체의 소비전력을 저감할 수 있다. 소비전력을 저감하는 것에 의해 불필요한 복사 (원하지 않는 전파의 발생)를 저감할 수 있다.
[ 2 ] SCI나 타이머 등의 주변회로에는 주파수가 일정한 시스템클럭신호ΦS가 공급되므로, CPU등으로의 시스템클럭신호ΦB의 주파수가 변경되어도 SCI의 비트레이트 또는 보레이트 그리고, 타이머의 계시주기 등을 일정하게 유지할 수 있어 CPU 등의 동작주파수를 변경해도 이들 주변기능블럭의 설정변경을 필요로 하지 않는다.
[ 3 ] 상기 클럭제어회로 (13)에는 시스템클럭신호ΦB의 분주비를 선택하기 위한 정보가 상기 버스마스터에 의해서 설정가능하게 된 레지스터수단 (132)를 구비하므로, CPU 등의 버스마스터에 의해서 분주비의 선택을 임의로 실행할 수 있다.
[ 4 ] 데이타버스는 시스템클럭신호ΦB가 공급되어 CPU 등의 기능블럭이 접속되는 내부데이타버스IDB와 시스템클럭신호ΦS가 공급되어 버스슬레이브로 되는 기증블럭이 접속되는 내부데이타버스PDB로 분리된다. CPU 등의 버스마스터와 같이 빈번하게 버스사이클을 기동하는 기능블럭을 버스슬레이브와는 다른 데이타버스에 접속하는 것에 의해 빈번하게 액세스되는 데이타버스의 부하가 작아져서 저소비전력에 기여한다. 액세스에 이용되는 빈도가 상대적으로 낮은 데이타버스를 홀드회로 HD1, HD2에 의해서 전의 값을 유지하는 것에 의해 상기 데이타버스상에서의 충방전회수를 줄여 저소비전력에 기여한다.
[ 5 ] 1상 클럭신호로서의 시스템클럭신호ΦS ,ΦB를 기능블럭에 공급하고, 각 기능블럭내부에서 2상클럭신호를 생성하는 것에 의해 클럭의 총배선용량을 저감해서 소비전력을 저감할 수 있다.
[ 6] 프리스케일러 클럭신호를 사용하는 경우, 저분주비의 프리스케일러 클럭신호는 각 기능블럭마다 내부에서 생성하고, 분주비가 큰 프리스케일러신호는 공통으로 생성하는 것에 의해서 논리규모를 그다지 증대시키지 않고, 신호변화주파수가 큰 신호를 기능블럭간 신호로 하지 않는 것에 의해 소비전력을 저감할 수 있다.
[ 7 ] 버스슬레이브에서 버스마스터로의 기능블럭간신호를 예를 들면 제20도 및 제23도에 설명한 바와 같이Φ1S에 동기해서 실행하는 것에 의해 인터페이스를용이하게 할 수 있다.
[ 8 ] 기능블럭의 내부상태를 유지가능하게 하고 또한, 항상 클럭을 공급하는 부분을 한정하는 것에 의해서 동작중이라도 신호변화를 국한하여 소비전력을 저감할 수 있다. 또, 클럭을 정지해도 내부상태를 유지하는 것에 의해서 소프트웨어에 의한 제설정의 부담을 줄일 수 있다.
[ 9 ] 데이타버스를 비롯한 내부버스를 분할해서 용량을 분할하고 비활성상태의 버스는 신호변화를 억제하는 것에 의해서 1회의 동작으로 변화하는 신호의 용량을 저감해서 소비전력을 저감할 수 있다.
[ 10 ] 인터럽트나 외부단자의 신호변화의 정보를 검출하는 인터럽트컨트롤러와 같은 이벤트검출회로를 마련하고, 이벤트가 발생했을 때에 자동적으로ΦB의 분주비를 변경하거나 모듈스톱의 상태를 변경하거나 해시 이벤트가 발생하고 나서 원하는 처리를 실행하기까지의 시간을 단축하여 처리성능을 향상할 수 있다. 변경에 있어서 변경전의 정보를 예를 들면 스택 등에 세이브해서 새로운 정보를 예를 들면 벡터와 함께 로드하는 것에 의해서 임의의 설정을 실행할 수 있게 된다.
[ 11 ] 클럭신호ΦS와ΦB에 상당하는 클럭신호를 외부로 출력가능하게 하고 또한, 소프트웨어로 그 출력을 금지가능하게 하는 것에 의해서 클럭신호ΦS를 외부 반도체집적회로의 기준클럭으로 하거나 클럭신호ΦB를 버스제어회로의 제어신호로 할 수 있다. 또, 필요하면 출력을 금지해서 소비전력의 저감, 커플링노이즈의 저감, 불필요한 복사의 저감을 도모할 수 있다.
이상 본 발명자들에 의해서 이루어진 발명을 실시예에 따라서 구체적으로 설명하였지만, 본 발명은 그것에 한정되는 것은 아니고 그 요지를 이탈하지 않은 범위내에서 여러가지 변경가능한 것은 물론이다. 예를 들면, 클럭신호를 비대칭으로 하는 경우에는 상기 실시예에 한정되는 것은 아니다. 동작이 불필요한 임의의 경우에 한쪽을 하이레벨, 다른쪽을 로우레벨로 해서 정지할 수 있다. 예를 들면 CPU가 대기상태로 되는 경우에 적용할 수 있다. 모든 타이밍회로를 스테이틱형으로 하면 클럭을 비대칭으로 하는 일 없이 중속모드인 경우의ΦB도 듀티50%의 클럭으로 할 수도 있다.
클럭제어레지스터는 CPU에서 리드/라이트 가능한 것 이외에 외부단자의 설정에 의해서 변경가능하게 해도 좋다. 예를 들면 소정의 단자의 입력에 의해서 클럭제어레지스터의 초기설정값을 변경가능하게 해도 좋다. 소정의 단자가 로우레벨의 상태에서 리세트하면 고속클럭으로 동작하고, 그 후 CPU의 설정에 의해 저속동작 가능하게 하고 또, 소정의 단자가 하이레벨의 상태에서 리세트하면 저속클럭으로 동작한 후, CPU의 설정에 의해 고속동작 가능하게 하도록 할 수 있다.
버스타이밍의 상세한 것에 대해서는 여러가지 변경가능하다. IAB, IDB와 PAB, PDB의 타이밍을 동일하게 하였지만,이것이 달라도 좋다. 이벤트에는 예를 들면 외부버스해방 등을 포함할 수 있다. 외부로 버스를 해방한 경우, 자동적으로 버스마스터가 중속모드로 되거나 또는 DTC를 모듈스톱상태로 할 수도 있다. 벡터로서 부가되는 저소비전력정보도 8비트에 한정되지 않고, 임의의 비트수로 할 수 있다. 전용의 리드신호, 전용의 리드신호를 여러조 갖고 있어도 좋다.
저소비전력 제어레지스터의 구성에 대해서도 여러가지 변경가능하다. 다이나믹회로, 스테이틱회로의 구체적인 회로구성도 여러가지 변경이 가능하다. 예를 들면, 스테이틱회로는 플립플롭으로 구성할 수 있다. 또, 클럭은 2상의 노오버랩에 한정되지 않는다. 3상이상 또는 오버랩클럭으로 할 수 있다. 일부의 상의 클럭을 길게, 그 밖의 상의 클럭을 짧게 하면 좋다.
데이타전송장치로서 DTC를 내장한 경우에 대해서 설명하였지만, 이것은 DMA컨트롤러 (DMAC) 이어도 좋다. 실시예중의 DTC는 DMAC와 바꾸어 리드해도 좋다. 이들이 CPU와 독립한 기능블럭일 필요는 없고, CPU의 일부로서 실현되도 좋다. 이 경우, 마이크로DMA 또는 매크로서비스 또는 인텔리전트 I/O서비스등의 호칭이 사용되는 경우가 있다. 싱글칩 마이크로컴퓨터의 그밖의 기능블럭에 대해서도 아무런 제약을 받지 않는다. 기능블럭의 수나 모듈스톱의 지정방법 등도 임의로 할 수 있다.
이상의 설명에서는 주로 본 발명자들에 의해서 이루어진 발명을 그 배경으로 된 이용분야인 싱글칩 마이크로컴퓨터에 적용한 경우에 대해서 설명하였지만, 그것에 한정되는 것은 아니고, 그 밖의 반도체집적회로장치에서 적용가능하고, 본 발명은 적어도 클럭에 동기해서 동작하는 시스템을 구성하는 반도체집적회로에 적용할 수 있다.
본원에 있어서 개시되는 발명 중 대표적인 것에 의해서 얻어지는 효과를 간단히 설명하면 다음과 같다.
[ 1 ] 주파수가 일정한 제2 시스템클럭신호 (ΦS)를 여러개의 기능블럭에 공통으로 공급하고, 분주비가 선택가능하게 되어 주파수가 상기 제2 시스템클럭신호 이하로 된 제1 시스템클럭신호 (ΦB)를 소정의 기능블럭에 공급하는 것에 의해 제1시스템클럭신호 (ΦB)가 공급되는 기능블럭의 상태에 따라서 그 동작주파수를 바꾸어서 저소비전력을 도모할 수 있다. 이 때, 상기 제1 시스템클럭신호의 주파수를 변경해도 제2 시스템클럭신호 (ΦS)를 받아 동작되는 여러개의 기능블럭의 동작속도는 변화되지 않으므로, 그와 같은 제1 시스템클럭신호의 주파수변경에 의한 전력소비의 제어시에 제2 시스템클럭신호 (ΦS)를 받아 동작되는 여러개의 기능블럭에 대해서는 동작조건을 재설정하거나 하기 위한 처리를 일절 필요로 하지 않는다.
[ 2 ] 상기 제1 클럭신호배선을 거쳐서 제1 시스템클럭신호가 공급되는 기능블럭을 버스마스터로 하는 것에 이해 상기 버스마스터에는 분주비가변의 시스템클럭신호가 공급되게 된다. 마이크로컴퓨터등의 데이타프로세서에 있어서 버스마스터로서의 CPU는 일반적으로 명령 및 데이타페치를 위한 버스사이클을 빈번하게 기동하므로 저소비전력화에 효과적이다.
[ 3 ] 상기 제2 클럭신호배선을 거쳐서 제2 시스템클럭신호가 공급되는 기능블럭을 버스슬레이브로 하는 것에 의해 버스마스터의 시스템클럭신호의 추파수를 변경해도 직렬통신인터페이스의 비트레이트 또는 보레이트 그리고, 타이머의 계시주기 등을 일정하게 유지할 수 있어 이들 주변기능블럭의 설정변경을 필요하지 않게 할 수 있다.
[ 4 ] 제1 클럭신호 (ΦB)의 분주비를 선택하기 위한 정보가 상기 버스마스터에 의해서 설정가능하게 된 레지스터수단 (132)를 채용하는 것에 의해 CPU 등의 버스마스터에 의해서 분주비의 선택을 임의로 실행할 수 있다.
[ 5 ] CPU 등의 버스마스터와 같이 빈번하게 버스사이클을 기동하는 기능블럭을 버스슬레이브와는 다른 데이타버스에 접속하는 것에 의해 빈번하게 액세스되는 데이타버스의 부하가 작아지므로, 이 점에 있어서도 저소비전력을 달성한다. 액세스에 이용되는 빈도가 상대적으로 낮은 데이타버스를 홀드회로에 의해서 전의 값을 유지하는 것에 의해서도 상기 데이타버스상에서의 충방전회수를 줄여서 저소비전력에 기여한다.
[ 6 ] 제1 및 제2의 각각의 시스템클럭신호에 따라서 생성된 노오버랩의 2상클럭신호를 부분적으로 위상이 일치하도록 하고, 상기 위상이 일치하는 타이밍에 동기해서 제2 시스템클럭신호에 동기동작되는 기능블럭에서 제1 시스템클럭신호에 동기동작되는 기능블럭 (상대적으로 동작속도가 느리게 될 수 있는 기능블럭)에 공급할 신호를 변화시키는 것에 의해 시스템클럭신호주파수가 다른 기능블럭간에서의 인터페이스를 용이화 즉, 인터페이스를 위한 타이밍설계를 용이화할 수 있다.
[ 7 ] 제1 및 제2의 각각의 시스템블럭신호에 따라서 생성된 노오버랩의 2상클릭신호의 제1상째 클럭신호끼리는 로우레벨기간이 일치되는 위상을 갖고, 제2상째 클럭신호끼리는 하이레벨기간이 일치되는 위상을 갖는 것에 의해 각 기능블럭의 출력과 입력은 제1상째 또는 제2상째 중의 어느 클럭신호에 동기시켜도 시스템클럭신호가 다르게 되는 기능블럭간에서의 출력에서 그것을 입력래치하기까지는 제2 시스템클럭신호 (ΦS)의 1주기이상의 기간을 확보할 수 있고 이것에 의해서 시스템클럭신호주파수가 다른 기능블럭간에서의 인터페이스를 용이화 즉, 인터페이스를 위한 타이밍설계를 용이화할 수 있다.
[ 8 ] 제1 시스템클럭신호 (ΦB)와 제2 시스템클럭신호 (ΦS)를 선택적으로외부로 출력하는 출력회로로부터의 출력비선택상태에 있어서 상기 출력회로의 클럭입력배선을 강제적으로 소정의 레벨로 되게 하는 것에 의해 시스템클럭신호의 외부출력을 필요로 하지 않는 경우에는 상기 클럭입력배선에 있어서의 충방전을 억제해서 저소비전력에 기여할 수 있다.
[ 9 ] 기능블럭마다 개별적으로 내부클럭신호 등의 생성을 억제하는 것에 의해 이용하지 않는 내장기능블럭내에서는 내부클럭신호의 변화가 정지되어 클럭신호의 불필요한 변화에 의한 충방전전류에 의한 전력소비를 억제할 수 있다. 이 때, 내부클럭신호 정지상태에 있어서 내부상태를 유지시키는 것에 의해 동작재개선택일 때에 내부회로를 재설정하는 수고를 덜 수 있다.
[ 10 ] 자기자신의 동작이 비선택으로 되는 것에 의해서 내부타이밍신호의 발생을 억제하는 것에 의해 저소비전력을 실현할 수 있다. 내부타이밍신호의 변화가 정지되었을 때에 내부상태를 유지시키는 것에 의해 동작재개일 때에 내부회로를 재설정하는 수고를 덜 수 있다.
[ 11 ] 노오버랩의 2상의 내부타이밍신호를 받아 동작되는 회로를 그 제1상째의 타이밍신호를 받아 동적으로 동작되는 다이나믹회로와 상기 다이나믹회로에 직렬적으로 접속되어 제2상째의 타이밍신호를 받아서 정적으로 동작되는 스테이틱회로를 포함해서 구성하는 것에 의해 노오버랩의 2상의 타이밍신호 중 듀티가 큰 상의 타이밍신호를 다이나믹회로에, 듀티가 작은 상의 타이밍신호를 스테이틱회로에 공급하면, 다이나믹회로의 출력부하용량의 유지시간이 유한이어도 래치시간이 상대적으로 짧아져서 제1 시스템클럭신호의 주파수저감범위를 늘릴 수 있다. 또,양쪽을 스테이틱래치회로로 구성하는 경우에 비해서 회로의 물리적규모를 축소할 수 있다.
[ 12 ] 이벤트검출에 따라서 제1 시스템클럭신호의 주파수를 강제적으로 제어하는 것에 의해 소정의 이벤트가 발생했을 때, 설정되어 있는 시스템클럭신호주파수가 낮아도 시스템클럭신호주파수의 선택상태를 소정의 상태 예를 들면 최고주파수선택상태로 강제적으로 제어할 수 있고, 이것에 의해서 소정의 이벤트가 발생했을 때에 원하는 처리를 하기까지의 시간을 단축할 수 있다.
[ 13 ] 이벤트발생에 의해서 소정의 기억영역 (MSME) 가 소정의 값으로 리라이트되는 것에 의해서 시스템클럭신호주파수를 강제적으로 재어하는 것에 의해 시스템클럭신호를 특정주파수로 강제적으로 제어하는 처리를 간단화할 수 있다.
[ 14 ] 이벤트발생에 의해서 중앙처리장치에 요구된 예외적처리에서 복귀할 때에 중앙처리장치가 상기 기억영역 (MSME)를 소정의 값으로 되돌리는 것에 의해 주파수를 선택적으로 지정하는 정보의 기억영역 (CKS1, CKS2)의 값 그 자체를 세이브 및 복귀시키는 것도 필요로 하지 않는다.
[ 15 ] 주파수가 강제적으로 제어된 시스템클럭신호를 받는 기능블럭이 중앙처리장치 이외의 데이타트랜스퍼 컨트롤러일때에 이벤트의 발생에 의해서 예외적처리가 요구된 데이타트랜스퍼 컨트롤러는 상기 예외적처리의 종료를 지시하는 신호를 출력하고, 그것에 의해서 상기 기억영역 (MSME)를 소정의 값으로 되돌리는 것에 의해 중앙처리장치 또는 소프트웨어에 일절의 부담을 주지 않고 시스템클럭신호를 원래대로 되돌릴 수 있다.
[ 16 ] 기능블럭단위로 내부클럭신호의 형성을 금지시키기 위한 정보를 리라이트 가능하게 유지하는 레지스터수단 (133) 을 마련하고, 리세트 등의 소정의 이벤트발생에 따라서 그 레지스터수단을 내부클럭신호의 형성을 금지하는 상태로 초기화하는 것에 의해 리세트등의 소정이벤트 발생시에 있어서의 초기적인 상태에 있어서의 전력소비를 저감시킬 수 있다.
[ 17 ] 시스템클럭신호주파수의 강제적인 제어에 인터럽트벡터 등의 벡터와 쌍의 제어정보를 이용하는 것에 의해 이벤트의 종류에 따라서 저소비전력설정을 미세하게 실행한 수 있다.
[ 18 ] 상기 인터럽트벡터 등의 벡터와 쌍의 제어정보를 이용하는 경우에 이벤트발생시에는 상기 벡터와 쌍의 제어정보에 의해서 현재의 저소비전력제어를 위한 정보가 소실되지 않도록 세이브시키는 것에 의해 이벤트발생에 의해서 요구된 예외적처리의 종료후에 전력제어상태도 이벤트발생직전의 상태로 복귀시킬 수 있다.
[ 19 ] 프리스케일러로 생성가능한 저분주비의 프리스케일러 클럭신호는 프리스케일러에서 공급하지 않고, 기능블럭내의 분주비에 의해 개별적으로 생성시키는 것에 의해 저분주비의 클럭신호도 프리스케일러에서 직접 여러개의 기능블럭에 공급하는 경우에 비해서 저소비전력화를 도모할 수 있다.
제 1 도는 본 발명에 관한 반도체집적회로의 1 실시예인 싱글칩 마이크로컴퓨터의 블럭도.
제 2 도는 제 1 도의 싱글칩 마이크로컴퓨터의 변형예를 도시한 블럭도.
제 3 도 (A)는 각 기능블럭의 대표적인 논러회로의 구성예를 도시한 도면이고, 제 3 도 (B)는 순서회로를 CMOS다이나믹회로로 구성한 예를 도시한 도면이고, 제 3 도 (C)는 본 실시예의 싱글칩 마이크로컴퓨터에 사용되고 있는 CMOS다이나믹회로의 1예를 도시한 도면.
제 4 도는 프리스케일러의 1예를 도시한 블럭도.
제 5 도 (A) ∼ ( I )는 프리스케일러의 1 예의 동작타이밍도.
제 6 도는 PWM타이머의 1 예를 도시한 블럭도.
제 7 도 (A) 는 노오버랩생성회로의 1 예를 도시한 논리회로도이고, 제 7 도 (B)는 클럭제어회로의 1 예를 도시한 논리회로도이고, 제 7 도 (C)는 WDT에 채용되는 노오버랩생성회로의 1 예를 도시한 논리회로도.
제 8 도는 제 6 도의 PWM타이머의 1 예의 동작타이밍도.
제 9 도는 제 1 도에 도시되는 싱글칩 마이크로컴퓨터의 클럭발진기 및 클럭제어회로의 1 예를 도시한 블럭도.
제 10 도 (A)는 MSME비트, CKSI비트, CKSO비트의 논리값에 의한 클럭신호의 선택상태의 1 예를 도시한 설명도이고, 제 10 도 (B)는 셀렉터의 1 실시예를 도시한 논리회로도.
제 11 도 (A) 및 제 11 도 (B)는 모듈스톱모드를 제어하는 모듈스톱제어레지스터의 레지스터구성과 중속모드를 제어하는 클럭제어레지스터의 레지스터구성예를 도시한 설명도.
제 12 도 (A) ∼ (C)는 모듈스톱제어레지스터에 있어서의 MSTP7∼MSTP5의 설명도.
제 13 도 (A) 및 제 13 도 (B)는 모듈스톱제어레지스터에 있어서의 MSTP4∼MSTP3의 설명도.
제 14 도 (A)∼제 14 도 (C)는 블럭제어레지스터의 설명도.
제 15 도는 본 실시예의 싱글칩 마이크로컴퓨터에 있어서의 시스템클럭신호에 착안한 개략적인 동작흐름도.
제 16 도는 MSME비트의 개략적인 1 예를 도시한 블럭도.
제 17 도는 인터럽트요구발생시에 있어서의 1 예의 동작타이밍도.
제 18 도는 DTC기동요구발생시에 있어서의 1 예의 동작타이밍도.
제 19 도는 버스마스터와 버스슬레이브 사이에 있어서의 제 1 인터페이스사양의 개략적인 설명도.
제 20 도는 제 19 도에 따른 버스마스터클럭과 버스슬레이브클럭의 1 예의 타이밍도.
제 21 도는 버스마스터와 버스슬레이브 사이에 있어서의 제2 인터페이스사양의 개략적인 설명도.
제 22 도는 제 21 도에 따른 버스마스터클럭과 버스슬레이브클럭의 1예의 타이밍도.
제 23 도는 버스마스터클럭과 버스슬레이브클럭의 다른 동작타이밍도.
제 24 도는 버스슬레이브에 대한 리드동작에 있어서의 버스인터페이스의 1예의 타이밍도.
제 25 도는 버스슬레이브에 대한 라이트동작에 있어서의 버스인터페이스의 1예의 타이밍도.
제 26 도는 클럭신호ΦS 및ΦB를 선택적으로 외부출력 가능하게 하는 구성의 1 예를 설명하기 위한 도면.
제 27 도는 클럭신호ΦS 또는ΦB중 어느 한쪽을 선택적으로 외부출력 가능하게 하는 구성의 1 예를 설명하기 위한 도면.
제 28 도 (A) 및 제 28 도 (B)는 제 27 도의 구성에 필요로 되는 PHIS비트의 설명도.
제 29 도는 싱글칩 마이크로컴퓨터의 내부버스의 그 밖의 분할예를 도시한 개략적인 블럭도.
제 30 도 (A) ∼제 30 도 (C)는 저소비전력상태를 지정하는 벡터배열과 그 경우의 스택의 1 예를 설명하기 위한 도면.
제 31 도는 저소비전력정보를 벡터에 배치하는 실시예에 있어서의 예외처리시 및 리턴시의 1 예의 동작타이밍도.
제 32 도는 저소비전력 제어레지스터의 1 비트분의 구성을 대표적으로 도시한 1 예의 블럭도.
제 33 도는 블럭발진기 및 클럭제어회로의 다른 예를 도시한 블럭도.
제 34 도는 제 33 도의 클럭회로로부터의 그 밖의 기능블럭으로의 클럭신호Φ1 L,Φ2L의 공급상태만을 도시하는 싱글칩 마이크로컴퓨터의 개략적인 블럭도.

Claims (29)

  1. 제1 시스템 클럭신호에 따라서 제1 처리와 예외처리를 실행하는 제1 기능블럭;
    이벤트의 발생을 검출하고, 상기 제1 기능블럭에 대해서 예외처리의 실행을 요구하는 요구신호를 출력하는 이벤트 검출회로;
    이벤트를 발생하는 제2 기능블럭 및;
    상기 제1 시스템 클럭신호의 주파수를 변경하고, 상기 요구신호에 응답해서 상기 제1 시스템 클럭신호를 소정의 주파수로 변경하는 제어회로를 포함하는 반도체 집적회로.
  2. 제1항에 있어서,
    상기 제어 회로는
    제1 기억영역과 제2 기억영역을 갖는 레지스터수단 및
    상기 소정의 주파수를 포함하는 서로 다른 주파수의 여러개의 클럭을 받고, 상기 레지스터수단내의 제1 기억영역이 제1 상태로 되어 있을 때, 상기 소정의 주파수의 클럭신호를 상기 제1 시스템 클럭신호로서 출력하고, 상기 레지스터수단내의 제1 기억영역이 제2 상태로 되어 있을 때, 상기 제2 기역영역에 유지되어 있는 정보에 따라서 상기 여러개의 클럭신호 중 1개를 상기 제1 시스템 클럭신호로서 출력하는 셀렉터를 포함하는 반도체 집적회로.
  3. 제2항에 있어서,
    상기 제1 기능블럭은 상기 예외처리로부터의 복귀시에 상기 레지스터수단내의 제1 기억영역을 상기 제2 상태로 설정하는 중앙처리장치를 포함하는 반도체 집적회로.
  4. 제2항에 있어서,
    상기 제1 기능블럭은 상기 예외처리의 종료에 응답해서 종료신호를 출력하는 데이타 트랜스퍼 컨트롤러를 포함하고, 상기 종료신호에 의해서 상기 레지스터내의 제1 기억영역이 상기 제2 상태로 설정되는 반도체 집적회로.
  5. 제1항에 있어서,
    상기 제2 기능블럭의 각각은 상기 제2 기능블럭을 동작시키기 위한 내부클럭신호를 소정의 주파수를 갖는 제2 시스템 클럭신호로 형성하는 클럭형성회로를 갖고,
    상기 제2 기능블럭은 상기 제2 시스템 클럭신호에 따라서 동작하고,
    상기 반도체집적회로는 상기 클럭형성회로에 의한 내부클럭신호의 형성을 제어하기 위한 제어정보를 유지하는 제2 레지스터수단을 더 갖고, 상기 제2 레지스터수단에는 상기 이벤트검출회로로부터의 검출출력에 응답해서 상기 클럭형성회로에 의한 상기 내부클럭신호의 형성을 금지하는 정보가 세트되는 반도체 집적회로.
  6. 제1항에 있어서,
    상기 이벤트 검출회로는 상기 제1 시스템 클럭신호에 따라서 동작하는 반도체 집적회로.
  7. 예외처리의 요구에 응답하기 위해 그 예외처리에 대응하는 메모리내의 벡터영역에서 정보를 페치하고, 제1 시스템 클럭신호에 따라서 동작하는 중앙처리장치,
    이벤트의 발생을 검출하고 상기 중앙처리장치로 예외처리의 요구를 출력하는 이벤트 검출회로;
    상기 제1 시스템 클럭신호의 주파수를 지정하는 정보를 유지하는 제1 레지스터수단;
    제2 시스템 클럭신호를 받아 내부클럭신호를 형성하는 클럭신호 형성회로를 갖고, 형성된 내부클럭신호에 따라서 동작하는 주변회로 및;
    상기 주변회로내의 클럭신호 형성회로에 의한 내부클럭신호의 형성을 제어하는 정보를 유지하는 제2 레지스터수단을 포함하고,
    예외처리의 요구시에 상기 제1 레지스터수단 및 상기 제2 레지스터수단에 세트될 정보는 상기 벡터영역에 대응하는 상기 메모리내의 영역에 유지되고, 예리처리가 요구되었을 때에 상기 영역에서 상기 정보가 상기 제1 레지스터수단 및 상기 제2 레지스터수단에 세트되는 반도체 집적회로.
  8. 제7항에 있어서,
    상기 중앙처리장치는 상기 예외처리의 실행전에 상기 제1 레지스터수단 및 상기 제2 레지스터수단에 유지되어 있는 정보를 상기 메모리의 스택영역에 세이브하고,
    상기 예외처리의 완료 후에 상기 정보는 상기 벡터영역에 대응하는 상기 메모리내의 상기 영역에서 추출되고, 상기 제1 레지스터수단 및 상기 제2 레지스터수단에 세트되는 반도체 집적회로.
  9. 제7항에 있어서,
    상기 이벤트 검출회로는 상기 제1 시스템 클럭신호에 따라서 동작하는 반도체 집적회로.
  10. 시스템 클럭신호에 따라서 동작하는 여러개의 기능블럭을 갖는 반도체집적회로로서,
    클럭신호를 형성하는 클럭신호 형성회로 및;
    상기 클럭신호를 제1 분주비보다 큰 분주비로 분주하고, 형성된 제1 클럭신호를 클럭신호선을 거쳐서 상기 여러개의 기능블럭내의 여러개의 기능블럭으로 공급하는 프리스케일러를 포함하고,
    상기 여러개의 기능블럭중의 1개 또는 그 이상의 기능블럭은 상기 제1 분주비보다 작은 분주비로 상기 클럭신호를 분주하는 분주회로를 포함하는 반도체 집적회로.
  11. 공급된 제1 시스템클럭에 따라서 동작하는 제1 기능블럭;
    공급된 제2 시스템클럭에 따라서 동작하는 여러개의 제2 기능블럭;
    그의 분주비가 가변으로 되고 소정의 클럭신호를 분주하는 것에 의해서 제1 시스템 클럭을 발생하는 클럭신호 발생회로를 포함하는 클럭제어회로;
    상기 제1 시스템클럭을 상기 공급된 제1 시스템클럭으로서 상기 제1 기능블럭으로 공급하기 위한 제1 클럭신호선 및;
    제2 주파수를 갖는 제2 시스템클럭을 상기 공급된 제2 시스템클럭으로서 상기 여러개의 제2 기능블럭으로 공통으로 공급하기 위한 제2 클럭신호선을 포함하고,
    상기 제2 시스템클럭은 상기 소정의 클럭신호에 따라서 발생되는 반도체집적회로.
  12. 제11항에 있어서,
    상기 제1 기능블럭과 상기 여러개의 제2 기능블럭에 결합된 버스를 더 포함하고,
    상기 제1 기능블럭은 버스마스터로 되는 반도체집적회로.
  13. 제12항에 있어서,
    상기 여러개의 제2 기능블럭은 여러개의 버스슬레이브로 되는 반도체집적회로.
  14. 제13항에 있어서,
    상기 클럭제어회로는 분주비를 결정하기 위해 정보를 유지하는 레지스터를 포함하고,
    상기 제1 기능블럭은 상기 정보를 상기 레지스터에 설정하는 반도체집적회로.
  15. 제13항에 있어서,
    상기 버스는 상기 제1 기능블럭이 결합된 제1 내부 데이타버스 및 상기 여러개의 제2 기능블럭이 결합된 제2 내부 데이타버스를 포함하고,
    상기 반도체집적회로는 상기 버스마스터가 상기 여러개의 버스슬레이브중의 1개를 액세스할 때, 상기 제1 내부 데이타버스를 상기 제2 내부 데이타버스에 결합하는 버스제어회로를 더 포함하는 반도체집적회로.
  16. 제15항에 있어서,
    상기 제2 내부 데이타버스에 결합된 홀드회로를 더 갖고,
    상기 홀드회로는 상기 여러개의 제2 기능블럭중의 1개의 출력이 고임피던스상태일 때, 상기 제2 내부 데이타버스의 상태를 유지하고,
    상기 홀드회로는 상기 여러개의 제2 기능블럭중의 1개에 의해서 상기 제2 내부 데이타버스에 라이트될 데이타 또는 상기 제2 내부 데이타버스에서 리드될 데이타에 따라서 상기 제2 내부 데이타버스의 상기 상태가 변화하는 것을 허용하는 반도체집적회로.
  17. 제13항에 있어서,
    상기 제1 기능블럭은 상기 제1 시스템블럭신호에 따라서 서로 논오버랩인 제 1의 2상 클럭신호를 형성하는 논오버랩신호 발생회로를 갖고,
    상기 여러개의 제2 기능블럭은 상기 제2 시스템클럭신호에 따라서 서로 논오버랩인 제2의 2상클럭신호를 형성하는 논오버랩신호 발생회로를 갖고,
    상기 제1의 2상 클럭신호와 상기 제2의 2상 클럭신호는 그들 사이의 정의된 위상관계를 갖는 위상을 갖고,
    상기 제1 기능블럭으로 공급될 데이타는 상기 정의된 위상관계와 동기해서 변화되는 반도체집적회로.
  18. 제13항에 있어서,
    상기 제1 기능블럭은 상기 제1 시스템클럭신호에 따라서 서로 논오버랩인 제 1의 2상클럭신호를 형성하는 논오버랩신호 발생회로를 갖고,
    상기 여러개의 제2 기능블럭은 상기 제2 시스템클럭신호에 따라서 서로 논오버랩인 제2의 2상클럭신호를 형성하는 논오버랩신호 발생회로를 갖고,
    상기 제1의 2상클럭신호내의 제1 클럭신호의 로우레벨기간은 상기 제2의 2상클럭신호중의 제1 클럭신호의 로우레벨기간과 일치하고, 상기 제1의 2상클럭신호내의 제2 클럭신호의 하이레벨기간은 상기 제2의 2상클럭신호중의 제2 클럭신호의 하이레벨기간과 일치하는 반도체집적회로.
  19. 제13항에 있어서,
    여러개의 외부단자;
    상기 여러개의 외부단자와 상기 클럭신호선 사이에 결합되고, 상기 클럭신호선상의 클럭신호를 선택적으로 상기 여러개의 외부단자로 출력하는 출력회로 및;
    상기 제1 시스템클럭과 상기 제2 시스템클럭을 받고 상기 제1 시스템클럭 또는 상기 제2 시스템클럭이 상기 여러개의 외부단자에서 출력될 때, 상기 제1 시스템클럭 또는 상기 제2 시스템클럭중의 어느 하나를 공급하는 논리회로를 더 포함하고,
    상기 논리회로는 상기 출력회로가 상기 여러개의 외부단자로의 상기 클럭신호의 출력을 금지할 때, 상기 클럭신호선을 소정의 전위로 고정시키는 반도체집적회로.
  20. 소정의 클럭신호를 받고 여러 상의 내부클럭신호를 형성하는 클럭형성회로를 포함하고, 상기 내부클럭신호에 따라서 각각 동작하는 여러개의 기능블럭 및;
    상기 여러개의 기능블럭에 대해서 공통으로 마련된 레지스터수단을 갖고,
    상기 레지스터수단을 상기 여러개의 기능블럭의 각각에 대응하는 제어정보를 유지하고, 상기 제어정보는 대응하는 기능블럭의 선택을 제어하는 정보로 되고,
    상기 클럭형성회로는 대응하는 제어정보에 따라서 선택적으로 상기 내부클럭신호의 발생을 금지하고 소정 상태의 신호를 출력하는 반도체집적회로.
  21. 제20항에 있어서,
    상기 여러개의 기능블럭의 각각은 그의 기능블럭이 선택되었을 때, 상기 여러 상의 내부클럭신호에 따라서 내부타이밍신호를 형성하는 내부타이밍 형성회로를 갖고,
    상기 내부타이밍 형성회로는 그의 기능블럭이 비선택으로 되었을 때, 상기 내부타이밍신호를 소정 상태로 제한하는 제어회로를 포함하는 반도체집적회로.
  22. 제21항에 있어서,
    상기 내부타이밍신호는 논오버랩의 2상 타이밍신호이고,
    상기 여러개의 기능블럭의 각각은 다이나믹회로와 스테이틱회로를 갖고,
    상기 다이나믹회로는 상기 2상 타이밍신호내의 제1 타이밍신호에 따라서 동적으로 동작하고,
    상기 스테이틱회로는 상기 다이나믹회로에 직렬적으로 결합되고 상기 2상 타이밍신호내의 제2 타이밍신호에 따라서 정적으로 동작하는 반도체집적회로.
  23. 제1 클럭신호에 따라서 동작하는 CPU;
    각각에 공통으로 공급된 제2 클럭신호에 따라서 동작하는 여러개의 주변모듈 및;
    소정의 클럭신호를 받는 클럭제어회로를 갖고,
    상기 클럭제어회로는 레지스터내의 제어정보에 응답해서 상기 소정의 클럭신호를 가변으로 분주하여 가변주파수를 갖는 상기 제1 클럭신호를 발생하고,
    상기 클럭제어회로는 상기 소정의 클럭신호에 따라서 1개의 주파수를 갖는 상기 제2 클럭신호를 발생하고,
    상기 제1 클럭신호의 상기 주파수는 가변으로 되고, 상기 제2 클럭신호의 상기 주파수는 가변으로 되지 않는 반도체 집적회로.
  24. 제23항에 있어서,
    상기 레지스터내의 상기 제어정보는 상기 CPU에 의해서 변경되는 반도체 집적회로.
  25. 제23항에 있어서,
    상기 CPU는 상기 제1 클럭신호에 따라서 서로 논오버랩인 제1의 2상클럭신호를 형성하는 논오버랩신호 발생회로를 갖고,
    상기 여러개의 주변모듈의 각각은 상기 제2 클럭신호에 따라서 서로 논오버랩인 제2의 2상클럭신호를 형성하는 논오버랩신호 발생회로를 갖고,
    상기 제1의 2상클럭신호와 상기 제2의 2상클럭신호는 그들 사이의 정의된 위상관계를 갖는 위상을 갖고,
    상기 CPU로 공급될 데이타는 상기 정의된 위상관계와 동기해서 변화되는 반도체집적회로.
  26. 제23항에 있어서,
    상기 여러개의 주변모듈의 각각은 그의 주변모듈이 선택되었을 때, 여러 상의 내부클럭신호에 따라서 내부타이밍신호를 형성하는 내부타이밍 형성회로를 갖고,
    상기 내부타이밍 형성회로는 그의 기능블럭이 비선택으로 되었을 때, 상기 내부타이밍신호를 소정 상태로 제한하는 제어회로를 포함하는 반도체집적회로.
  27. 제26항에 있어서,
    상기 내부타이밍신호는 논오버랩의 2상 타이밍신호를 포함하고,
    상기 여러개의 기능블럭의 각각은 다이나믹회로와 스테이틱회로를 갖고,
    상기 다이나믹회로는 상기 2상 타이밍신호내의 제1 타이밍신호에 따라서 동적으로 동작하고,
    상기 스테이틱회로는 상기 다이나믹회로에 직렬적으로 결합되고, 상기 2상타이밍신호내의 제2 타이밍신호에 따라서 정적으로 동작하는 반도체집적회로.
  28. 제23항에 있어서,
    상기 CPU는 상기 제1 클럭신호에 따라서 제1 처리와 예외처리를 실행하고,
    상기 반도체집적회로는
    이벤트의 검출에 의해서 상기 CPU에 대해서 예외처리의 실행을 요구하는 요구신호를 발생하는 이벤트 검출회로 및
    상기 요구신호에 응답해서 상기 제1 클럭신호의 주파수를 변경하는 제어회로를 더 갖는 반도체집적회로.
  29. 제28항에 있어서,
    상기 제1 클럭신호는 상기 CPU가 상기 제1 처리를 실행하고 있을 때, 제1 주파수를 갖고,
    상기 이벤트의 검출에 응답해서 상기 레지스터내의 제어정보는 상기 검출된 이벤트를 위한 제어정보로 변경되고,
    상기 제1 클럭신호는 상기 예외처리의 기간에 제2 주파수를 갖고,
    상기 예외처리의 완료에 응답해서 상기 제어정보는 상기 레지스터에 재저장되고,
    상기 제1 클럭신호는 상기 예외처리의 완료후에 상기 제1 주파수를 갖는 반도체집적회로.
KR1019950041172A 1994-11-22 1995-11-14 반도체집적회로 KR100363983B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP31243094 1994-11-22
JP94-312430 1994-11-22
JP95-512704 1995-10-06
JP28659995A JP3505018B2 (ja) 1994-11-22 1995-10-06 半導体集積回路
JP95-286599 1995-10-06

Publications (2)

Publication Number Publication Date
KR960018830A KR960018830A (ko) 1996-06-17
KR100363983B1 true KR100363983B1 (ko) 2003-02-11

Family

ID=26556380

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950041172A KR100363983B1 (ko) 1994-11-22 1995-11-14 반도체집적회로

Country Status (4)

Country Link
US (1) US5774702A (ko)
JP (1) JP3505018B2 (ko)
KR (1) KR100363983B1 (ko)
TW (1) TW308657B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100423594B1 (ko) * 2000-11-15 2004-03-22 인터내셔널 비지네스 머신즈 코포레이션 혼합형 공급 전압 설계용 전압 아일런드를 논리적 및 물리적으로 동시에 구성하는 방법 및 저장 매체

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974259A (en) * 1996-09-18 1999-10-26 International Business Machines Corporation Data processing system and method of operation having input/output drivers with reduced power consumption and noise levels
JP3406790B2 (ja) * 1996-11-25 2003-05-12 株式会社東芝 データ転送システム及びデータ転送方法
US5918058A (en) * 1997-02-20 1999-06-29 Arm Limited Routing of clock signals in a data processing circuit with a power saving mode of operation
JPH1139868A (ja) * 1997-07-18 1999-02-12 Matsushita Electric Ind Co Ltd 半導体集積回路システム、半導体集積回路、及び半導体集積回路システムの駆動方法
US6208542B1 (en) * 1998-06-30 2001-03-27 Sandisk Corporation Techniques for storing digital data in an analog or multilevel memory
JP2000066759A (ja) * 1998-08-17 2000-03-03 Oki Electric Ind Co Ltd クロック制御回路
JP3625688B2 (ja) * 1999-04-30 2005-03-02 富士通株式会社 メモリデバイス
JP2001147821A (ja) * 1999-09-10 2001-05-29 Toshiba Corp プロセッサ
JP2002041452A (ja) * 2000-07-27 2002-02-08 Hitachi Ltd マイクロプロセッサ、半導体モジュール及びデータ処理システム
TW484306B (en) * 2000-10-20 2002-04-21 Acer Peripherals Inc Digital image converting device for converting screen signals
JP3880310B2 (ja) * 2000-12-01 2007-02-14 シャープ株式会社 半導体集積回路
US6680631B2 (en) * 2001-03-27 2004-01-20 Intel Corporation Setting the speed of clocked circuitry
JPWO2003009533A1 (ja) * 2001-07-11 2004-11-11 富士通株式会社 インタフェース装置及びその制御方法
US6667704B1 (en) * 2001-08-15 2003-12-23 Cirrus Logic, Inc. Data conversion circuits and methods with input clock signal frequency detection and master mode output clock signal generation
JP3696194B2 (ja) * 2002-10-10 2005-09-14 株式会社東芝 半導体集積回路
JP4335561B2 (ja) * 2003-03-28 2009-09-30 Necエレクトロニクス株式会社 半導体集積回路装置
JP2005011166A (ja) 2003-06-20 2005-01-13 Renesas Technology Corp 情報処理装置
JP3963158B2 (ja) * 2003-08-19 2007-08-22 ソニー株式会社 半導体回路装置及びそのテスト方法
FI20040418A (fi) * 2004-03-18 2005-09-19 Nokia Corp Digitaalijärjestelmän kellokontrolli
KR100591524B1 (ko) * 2004-05-14 2006-06-19 삼성전자주식회사 버스 구조하에서 다이나믹 클록 게이팅이 가능한 슬레이브장치 및 그 동작방법
US7605723B2 (en) * 2004-12-14 2009-10-20 Cirrus Logic, Inc. Circuits and methods for implementing mode selection in multiple-mode integrated circuits
KR100649882B1 (ko) * 2005-07-19 2006-11-27 삼성전자주식회사 비정상 조건 검출회로, 집적회로 카드, 및 cpu 작동방법
JP4764696B2 (ja) * 2005-10-07 2011-09-07 ルネサスエレクトロニクス株式会社 半導体集積回路装置
KR100826496B1 (ko) 2007-02-06 2008-05-02 삼성전자주식회사 반도체 집적 회로 장치 및 그 동작 방법
JP2009211870A (ja) * 2008-03-03 2009-09-17 Ushio Inc 紫外線照射用光源
CN101452337A (zh) * 2008-12-18 2009-06-10 北京中星微电子有限公司 一种外接设备的控制方法和装置
JP2009187585A (ja) * 2009-05-25 2009-08-20 Renesas Technology Corp スタンバイモードからの復帰処理方法
DE102011076838A1 (de) * 2011-05-31 2012-12-06 Endress + Hauser Flowtec Ag Meßgerät-Elektronik für ein Meßgerät-Gerät sowie damit gebildetes Meßgerät-Gerät
US20130097568A1 (en) * 2011-10-14 2013-04-18 William W. Yang Global clock handler object for hdl environment
GB2513529A (en) * 2012-11-15 2014-11-05 Ibm System and method of low latency data tranfer between clock domains operated in various synchronization modes
US10732689B2 (en) * 2013-07-09 2020-08-04 Texas Instruments Incorporated Controlling the number of powered vector lanes via a register field
US9086688B2 (en) * 2013-07-09 2015-07-21 Fisher-Rosemount Systems, Inc. State machine function block with user-definable actions on a transition between states
KR102488584B1 (ko) * 2018-07-13 2023-01-17 에스케이하이닉스 주식회사 다양한 주파수의 클럭 신호들을 수신하는 반도체 장치 및 이를 포함하는 시스템

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4095267A (en) * 1975-11-29 1978-06-13 Tokyo Electric Co., Ltd. Clock pulse control system for microcomputer systems
US4835728A (en) * 1986-08-13 1989-05-30 Amdahl Corporation Deterministic clock control apparatus for a data processing system
EP0457608A2 (en) * 1990-05-17 1991-11-21 Nec Corporation Apparatus for selecting a clock signal of a circuit controlled by a single chip microcomputer
KR920005326A (ko) * 1990-08-10 1992-03-28 문정환 반도체소자의 노이즈 방지방법
US5163146A (en) * 1988-10-14 1992-11-10 International Business Machines Corporation System responsive to interrupt levels for changing and restoring clock speed by changing and restoring a register value
EP0570158A2 (en) * 1992-05-08 1993-11-18 Cyrix Corporation A stable clock generator circuit with clock multiplication

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5115503A (en) * 1989-01-12 1992-05-19 Dell U.S.A. Corporation System for adapting its clock frequency to that of an associated bus only when it requires usage thereof
JPH0358207A (ja) * 1989-07-27 1991-03-13 Nec Corp マイクロコンピュータ
JP2762670B2 (ja) * 1990-03-30 1998-06-04 松下電器産業株式会社 データ処理装置
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
JPH0581447A (ja) * 1991-09-24 1993-04-02 Nec Corp マイクロコンピユータ
GB2260631B (en) * 1991-10-17 1995-06-28 Intel Corp Microprocessor 2X core design
JP3291569B2 (ja) * 1993-08-30 2002-06-10 三菱電機株式会社 マイクロコンピュータ
JPH07141053A (ja) * 1993-11-17 1995-06-02 Nec Niigata Ltd クロック発生回路
US5479648A (en) * 1994-08-30 1995-12-26 Stratus Computer, Inc. Method and apparatus for switching clock signals in a fault-tolerant computer system
US5586308A (en) * 1994-10-19 1996-12-17 Advanced Micro Devices, Inc. Clock control unit responsive to a power management state for clocking multiple clocked circuits connected thereto

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4095267A (en) * 1975-11-29 1978-06-13 Tokyo Electric Co., Ltd. Clock pulse control system for microcomputer systems
US4835728A (en) * 1986-08-13 1989-05-30 Amdahl Corporation Deterministic clock control apparatus for a data processing system
US5163146A (en) * 1988-10-14 1992-11-10 International Business Machines Corporation System responsive to interrupt levels for changing and restoring clock speed by changing and restoring a register value
EP0457608A2 (en) * 1990-05-17 1991-11-21 Nec Corporation Apparatus for selecting a clock signal of a circuit controlled by a single chip microcomputer
KR920005326A (ko) * 1990-08-10 1992-03-28 문정환 반도체소자의 노이즈 방지방법
EP0570158A2 (en) * 1992-05-08 1993-11-18 Cyrix Corporation A stable clock generator circuit with clock multiplication

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100423594B1 (ko) * 2000-11-15 2004-03-22 인터내셔널 비지네스 머신즈 코포레이션 혼합형 공급 전압 설계용 전압 아일런드를 논리적 및 물리적으로 동시에 구성하는 방법 및 저장 매체

Also Published As

Publication number Publication date
KR960018830A (ko) 1996-06-17
JPH08234864A (ja) 1996-09-13
US5774702A (en) 1998-06-30
JP3505018B2 (ja) 2004-03-08
TW308657B (ko) 1997-06-21

Similar Documents

Publication Publication Date Title
KR100363983B1 (ko) 반도체집적회로
US5983014A (en) Power management system that one of plurality of peripheral signals is selectably routed to main pad clock node during a test mode
EP1679590B1 (en) Data processing system
KR100279780B1 (ko) 마이크로 컴퓨터 및 마이크로 컴퓨터 시스템
KR100265218B1 (ko) 마이크로프로세서 2곱하기(2배) 코어 설계
US11429546B2 (en) Addressing read and write registers in an event slot of a communications interface with a single address by a host system and individually addressable by a state machine
JPH0677249B2 (ja) マイクロコンピュータ
JP6643568B2 (ja) 不揮発制御によるrfモジュール初期化システム及び方法
US11416442B2 (en) Circuit architecture mapping signals to functions for state machine execution
US6381705B1 (en) Method and device for reducing current consumption of a microcontroller
TW403880B (en) Relocatable code storage in an integrated circuit with an embedded microcontroller
JPH0728549A (ja) マイクロコンピュータ
JPS63126018A (ja) 半導体集積回路
JP3291569B2 (ja) マイクロコンピュータ
EP0020972B1 (en) Program controlled microprocessing apparatus
JP2001125786A (ja) データ処理装置及びデータ処理システム
JP2004094930A (ja) 半導体集積回路
US6229369B1 (en) Clock control circuit
US6370651B1 (en) Synchronizing user commands to a microcontroller in a memory device
JPH0215357A (ja) データ処理装置
US6008677A (en) Voltage recovery circuit and method therefor
JPH08166835A (ja) クロック発生回路
JP2001117867A (ja) データ転送回路
US7263623B1 (en) Microprocessor system
US6154820A (en) Arrangement for storing program instructions and data in a memory device and method therefor

Legal Events

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

Payment date: 20111028

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee