KR100389737B1 - 마이크로프로세서 - Google Patents
마이크로프로세서 Download PDFInfo
- Publication number
- KR100389737B1 KR100389737B1 KR1019950019881A KR19950019881A KR100389737B1 KR 100389737 B1 KR100389737 B1 KR 100389737B1 KR 1019950019881 A KR1019950019881 A KR 1019950019881A KR 19950019881 A KR19950019881 A KR 19950019881A KR 100389737 B1 KR100389737 B1 KR 100389737B1
- Authority
- KR
- South Korea
- Prior art keywords
- clock
- circuit
- signal
- clock signal
- microprocessor
- Prior art date
Links
Landscapes
- Microcomputers (AREA)
- Executing Machine-Instructions (AREA)
Abstract
마이크로프로세서에 관한 것으로서, 저속모드에서 고속모드로의 전환을 고속으로 실행하고 모드전환시에 있어서도 예측불허의 사태에 대처할 수 있는 기능을 갖게 하기 위해서, 비교적 낮은 주파수의 클럭펄스를 기준주파수입력으로 하고 이것을 증가시킨 비교적 높은 주파수의 발진펄스를 형성하는 PLL회로를 내장하는 마이크로프로세서에 있어서, 저속모드시에는 PLL회로의 동작을 정지해서 비교적 낮은 주파수의 클럭펄스에 대응한 시스템클럭신호를 출력하고 고속모드 시에는 먼저 고속처리가 필요한 이벤트의 발생을 받아서 PLL회로를 기동한 후 이러한 PLL회로가 안정화하고 고속처리개시의 요구가 있을 때까지의 동안은 비교적 낮은 주파수의 클럭펄스에 대응한 시스템클럭신호를 계속해서 출력하며 PLL회로의 출력주파수가 안정화하고 고속처리개시의 요구가 있었던 시점에서 PLL회로에 의해 형성되는 비교적 높은 주파수의 발진펄스에 대응한 시스템클럭신호를 출력하는 구성으로 하였다.
이것에 의해서, 고속처리개시의 요구가 있었던 시점에서의 마이크로 프로세서의 저속모드에서 고속모드로의 전환을 고속으로 실행할 수 있음과 동시에 이러한 전환시에 저속모드에 대응한 시스템클럭신호를 계속해서 공급하여 마이크로프로세서의 동작을 계속하게 할 수 있기 때문에, 우선처리의 발생이나 장해 등의 예측불허의 사태에 대처할 수가 있다.
Description
본 발명은 마이크로프로세서에 관한 것으로서, 예를들면 입력펜을 구비하는 휴대정보단말 등에 사용되고 또한 PLL(위상록루프)회로를 사용해서 시스템클럭의 주파수를 증가시키는 기능을 갖는 1칩의 마이크로 프로세서에 이용해서 특히 유효한 기술에 관한 것이다.
맨머신인터페이스를 위한 입력펜과 스토어드프로그램방식의 마이크로 프로세서를 구비한 소위 휴대정보단말, 즉 PDA(Personal Digital Assistant)가 있다. 이와 같은 휴대정보단말 등에 있어서 그것이 통상의 상태(예를들면, 문자 등의 표시를 실행하고 있는 상태)로 되어 있을 때에 상기 마이크로프로세서는 예를들면 저속모드로 동작되고, 입력펜에 의한 문자의 라이트가 종료해서 문자인식 등의 고속처리가 필요하게 된 상태일 때에는 선택적으로 고속모드로 동작된다. 이와 같이 하는 것에 의해, 휴대정보단말 등의 저소비 전력화가 도모된다. 문자 등의 표시 또는 문자 등의 라이트에 비해서, 라이트된 문자의 인식에 있어서는 라이트된 문자와 일치하는 문자를 사전에서 검색하는 등의 복잡한 처리가 필요하게 된다. 이 복잡한 처리를 단시간에 실행하기 위해서는 마이크로프로세서를 고속으로 동작시키는 것이 바람직하다. 이것에 대해서, 문자 등의 표시 또는 문자 등의 라이트의 처리는 문자의 인식에 비해서 그 처리가 간단하므로, 문자 인식의 경우에 비해 마이크로프로세서를 저속으로 동작시키더라도 비교적 단시간에 처리를 실행할 수 있다. 그 때문에, 상술한 바와 같이 문자 등의 표시 또는 라이트 시에는 마이크로프로세서를 저속으로 동작시켜서 그것의 소비전력을 저감하고 문자인식 시에는 문자 등의 표시 또는 라이트인 경우에 비해서 마이크로프로세서를 고속으로 동작시켜서 휴대정보단말이 실용에 견딜 수 있는 동작속도를 갖도록 하는 것이 바람직하다.
한편, 입력클럭신호에 위상동기되고 또한 소정수 배의 주파수를 갖는 출력클럭신호를 생성하는 PLL회로가 알려져 있고, 이와 같은 PLL회로를 내장하는 마이크로프로세서가 있다. 본 발명자는 본 발명에 앞서 PLL회로를 내장한 마이크로프로세서를 휴대정보단말 등에 사용하는 것을 고려하였다. 이 경우, PLL회로의 입력클럭신호를 대기상태, 즉 저속모드에 있어서의 마이크로프로세서의 시스템클럭신호로서 사용하고, PLL회로의 출력클럭신호를 고속모드에 있어서의 마이크로프로세서의 시스템클럭신호로서 사용하는 것에 의해서 소비전력의 전환을 실행할 수가 있다.
PLL회로를 내장하는 마이크로프로세서로서, 예를들면 (주)히다찌 제작소에서 판매하고 있는 SH2/7600시리즈의 마이크로프로세서가 있다.
PLL회로를 내장하는 마이크로프로세서에 있어서, PLL회로의 입력클럭신호와 출력클럭신호를 선택적으로 마이크로프로세서의 시스템클럭신호로서 사용하는 것을 고려한 경우, 마이크로프로세서의 동작흐름은 예를들면 제18도에 도시되어 있는 바와 같이 된다. 마이크로프로세서가 저속모드로 되어 있을 때 (스텝ST11) PLL회로의 동작은 정지시켜지고, 비교적 주파수를 갖는 클럭신호가 시스템클럭신호로서 중앙처리장치 CPU를 비롯한 마이크로프로세서의 각부에 공급된다. 이것에 의해, 마이크로프로세서는 비교적 저속으로 동작시켜져서 그 소비전력이 저감된다. 고속이벤트가 스텝ST12에서 발생되고 그 고속이벤트에 대한 고속처리의 요구가 스텝ST13에서 인식되면, 그 시점에서 PLL회로에 기동이 걸린다. 기동이 걸린 PLL회로로부터의 출력클럭신호의 주파수가 안정되어 있는지 안정되어 있지 않은지의 확인이 스텝ST15에 있어서 실행된다. 출력클럭신호의 주파수의 안정이 확인될 때까지의 동안은 스텝ST14에 있어서 마이크로프로세서로의 시스템클럭신호가 정지되어 불안정한 주파수의 클럭펄스가 마이크로프로세서로 공급되어 버리는 것이 방지된다. 스텝ST15에 있어서 PLL회로의 동작의 안정화가 확인되면, PLL회로의 출력클럭신호인 고속클럭신호가 시스템클럭신호로서 마이크로프로세서에 공급된다. 이것에 의해, 중앙처리장치CPU 등은 고속모드(스텝ST16)로 이행해서 문자인식 등에 필요한 고속처리가 개시된다. 문자인식 등의 처리의 종료가 스텝ST17에 있어서 인식되면, 마이크로프로세서는 저속모드로 된다 (스텝ST11).
본 발명에 앞서 고려한 구성에서는 다음에 기술하는 바와 같은 문제가 있는 것을 본 발명자는 깨달았다. 즉, 고속처리개시의 요구가 있고나서 시스템클럭신호를 고속클럭으로 전환할 때까지는 비교적 긴 시간을 취할 필요가 있다. 이것은 PLL회로의 동작을 안정화시키기 위해서, 비교적 긴 시간이 필요하기 때문이다.
또, 이 기간 마이크로프로세서로의 시스템클럭신호의 공급이 정지되기 때문에, 중앙처리장치 CPU를 포함하는 마이크로프로세서의 각부의 동작이 정지된다. 이 결과, 시스템클럭신호의 공급정지기간중에 우선처리나 장해 등의 예측불허사태가 발생한 경우, 그것에 대처할 수 없게 되어 마이크로프로세서의 신뢰성이 저하한다.
본 발명의 목적은 저속모드에서 고속모드로의 전환을 고속으로 실행하고 또한 모드전환시에 있어서도 예측불허의 사태에 대처할 수 있는 기능을 갖게 한 마이크로프로세서를 제공하는 것이다.
본 발명의 상기 및 그밖의 목적과 새로운 특징은 본 명세서의 기술 및 첨부도면으로부터 명확하게 될 것이다.
본원에 있어서 개시되는 발명중 대표적인 것의 개요를 간단하게 설명하면 다음과 같다. 즉, 비교적 낮은 주파수의 클럭펄스를 기준주파수의 입력클럭신호로 하고 이것을 증가시켜서 비교적 높은 주파수의 발진펄스를 형성하는 PLL회로를 내장하는 마이크로프로세서에 있어서, 저속모드시에는 PLL회로의 동작을 정지시켜서 비교적 낮은 주파수의 클럭펄스를 마이크로프로세서에 시스템클럭신호로서 공급하고, 고속모드시에는 고속처리가 필요한 이벤트의 발생을 받아서 PLL회로를 기동하고 이러한 PLL회로가 안정화하고 또한 고속처리개시의 요구가 있을 때까지의 동안 상기 비교적 낮은 주파수의 클럭펄스를 마이크로프로세서에 시스템클럭신호로서 계속적으로 공급하고 PLL회로의 출력주파수가 안정화하고 또한 고속처리개시의 요구가 있던 시점에서 PLL회로에 의해 형성된 비교적 높은 주파수의 발진펄스가 마이크로프로세서에 시스템클럭신호로서 공급된다.
상기한 수단에 의하면, 고속처리개시의 요구가 있었던 시점에서 마이크로프로세서를 저속모드에서 고속모드로 전환할 수 있다. 또 PLL회로가 기동된 후도 저속모드에 대응한 클럭신호가 마이크로프로세서에 시스템클럭신호로서 계속적으로 공급되기 때문에, 마이크로프로세서는 계속적으로 동작한다. 그 때문에, 우선처리의 발생이나 장해 등의 예측불허 사태에 대처할 수가 있다. 이 결과, 저속모드에서 고속모드로의 전환을 고속으로 실행하고 또한 모드전환시에 있어서도 예측불허의 사태에 대처할 수 있는 기능을 갖게 한 마이크로프로세서를 실현할 수가 있다.
제1도에는 본 발명에 관한 마이크로프로세서에 내장되는 클럭펄스 발생회로CPG의 1실시예의 블럭도가 도시되어 있다. 동일도면의 각 블럭은 공지의 반도체 집적회로의 제조기술에 의해서 마이크로프로세서를 구성하는 다른 블럭과 함께 단결정실리콘과 같은 1개의 반도체기판상에 형성되어 있다.
제1도에 있어서 XTAL, EXTAL, CKEXT 및 CKRATE는 상기 마이크로프로세서에 마련된 외부단자이다. 이들 외부단자중 외부단자 XTAL 및 EXTAL에는 소정의 고유진동수를 갖는 수정진동자가 접속되고, 그의 단자xo 및 xi가 이들의 외부단자에 결합된 발진회로XOSC에 의해 저속동작모드에 대응한 비교적 낮은 주파수의 발진펄스가 형성된다. 발진회로XOSC는 제어단자on을 거쳐서 공급되는 제어신호CKEXT의 하이레벨을 받아서 선택적으로 동작상태로 된다. 이 제어신호 CKEXT는 다음에 설명하는 멀티플렉서MUX1의 제어신호로서도 공용된다. 따라서 외부단자CKEXT를 거쳐서 공급되는 제어신호CKEXT에 의해서, 발진회로XOSC의 동작을 정지시킴과 동시에 저속동작모드에 대응한 비교적 낮은 주파수의 발진펄스를 외부단자EXTAL에서 공급할 수가 있다.
상기 제어신호CKEXT에 의해서 멀티플렉서MUX1은 제어된다. 즉, 제어신호 CKEXT의 레벨에 따라서, 멀티플렉서MUX1은 내장된 발진회로XOSC로부터의 발진펄스를 사용할지 상기 외부단자EXTAL에서 공급되는 클럭펄스를 사용할지의 전환을 실행한다. 상기 외부단자EXTAL로부터의 클럭펄스를 사용하는 경우에는 제어신호 CKEXT에 의해 상기 발진회로XOSC의 동작은 정지된다.
그 때문에, 상기 외부단자XTAL 및 EXTAL에 수정발진자를 접속할 필요는 없다.
멀티플렉서MUX1에서 출력된 비교적 낮은 제1 주파수로 된 클럭펄스 ckr(제1 클럭신호)은 1/2분주회로 DIV1의 입력단자에 공급됨과 동시에, PLL회로(PLL)의 기준주파수 입력단자 REF에 공급되고 또한 멀티플렉서 MUX4의 한쪽의 입력단자에 공급된다.
상기 1/2분주회로 DIV1은 클럭펄스ckr을 분주해서 그 2분의 1의 주파수를 갖는 클럭펄스ck1을 형성한다. 클럭펄스ck1은 상기 멀티플렉서MUX4의 다른쪽의 입력단자에 공급됨과 동시에, 출력선택용의 멀티플렉서MUX3의 한쪽의 입력단자에 공급된다.
PLL회로는 기준주파수 입력단자REF에 공급되는 입력클럭신호, 즉 클럭펄스 ckr을 기본으로 이것과 위상동기되고 또한 제2 주파수, 즉 그 정수배의 주파수를 갖는 클럭펄스DV1(제2 클럭신호)을 생성한다. 이 클럭펄스DV1은 상기 멀티플렉서 MUX3의 다른쪽의 입력단자에 공급됨과 동시에 분주회로DIV2의 입력단자에 공급된다. 이 실시예에 있어서, 분주회로DIV2는 특히 제한되지 않지만, 고속모드에 대응한 2종류의 분주출력d2 및 d4를 형성한다. 이들 분주출력은 멀티플렉서MUX2를 통해서 선택적으로 PLL회로의 발진입력단자 OSC에 공급된다.
멀티플렉서 MUX2는 외부단자 CKRATE에 공급되는 전환제어신호 CKRATE에 의해 상기 2종류의 분주출력d2 및 d4중 어느 하나를 선택해서 상기 PLL회로의 발진입력단자OSC로 전달한다. 예를들면, 분주출력 d2가 선택되면, PLL회로는 분주출력d2의 위상과 기준주파수입력REF의 위상을 일치시키도록 동작한다. 그 때문에, PLL회로의 출력, 즉 클럭펄스DV1은 이러한 분주비의 역수에 대응해서 증가된 주파수를 갖는다. 마찬가지로, 분주출력d4가 선택되면, PLL회로는 분주출력d4와 기준주파수입력 REF의 위상을 일치시키도록 동작하고, 그 출력인 클럭펄스DV1은 이러한 분주비의 역수에 대응해서 증가된 주파수를 갖는다. 이것에 의해, 고속모드용으로 2종류의 주파수를 갖는 클럭펄스DV1을 선택적으로 형성할 수가 있다.
이 실시예에 있어서, 상기 PLL회로는 그의 제어단자PLLON에 공급되는 오아 (OR)게이트 OG1의 출력신호에 따라서 그 동작이 선택적으로 정지된다. 오아게이트 OG1의 한쪽 및 다른쪽의 입력단자에는 도시되지 않은 클럭컨트롤러CKC(나중에 제8도 및 제 19도에서 기술할 것이다)에서 PLL제어신호PLLON 및 PLL대기신호PLLSB가 각각 공급된다. 또한, PLL제어신호 PLLON 및 PLL대기신호 PLLSB는 후술하는 중앙처리장치에 의해 소정의 레지스터가 세트되는 것에 의해 선택적으로 하이레벨로 된다. 따라서, 예를들면 마이크로프로세서가 휴대정보단말에 사용되는 경우에는 입력펜에 의한 문자의 라이트가 개시된 시점, 즉 고속처리를 필요로 하는 이벤트의 발생이 인식된 시점에서 PLL대기신호를 하이레벨로 하고, PLL회로를 미리 동작상태로 해서 그 출력주파수를 안정화시켜 두고 고속처리의 개시에 대비하는 것이 가능하게 된다.
상기 PLL회로는 예를들면 그의 제어단자 PLLON에 있어서의 제어신호, 즉 오아게이트OG1의 출력이 하이레벨로 되면, 즉 PLL제어신호 PLLON 또는 PLL대기신호 PLLSB중 어느 하나가 하이레벨로 되면, 선택적으로 동작상태로 되고 상기와 같은 클럭신호의 증가제어를 실행한다. 바꾸어말하면, PLL회로의 동작은 PLL제어신호 PLLON 및 PLL대기신호 PLLSB가 모두 로우레벨로 되는 것에 의해서 선택적으로 정지되는 것으로서, 결과적으로 저속모드시에는 PLL회로의 동작을 정지시켜서 불필요한 전류소비를 억제하여 마이크로프로세서의 저소비전력화를 도모할 수 있다.
상기 멀티플렉서 MUX3에는 상기 클럭컨트롤러CKC에서 클럭이 네이블신호 CKEN 및 선택제어신호 COSEL1이 공급되고, 상기 멀티플렉서 MUX4에는 상기 클럭컨트롤러 CKC에서 선택제어신호 COSEL2가 공급된다. 이 중, 클럭이네이블신호 CKEN은 특히 제한되지 않지만 통상 하이레벨로 되고, 마이크로프로세서가 저속모드에서 고속모드로 전환될 때 일시적으로 로우레벨로 된다. 또, 선택제어신호 COSEL1은 마이크로프로세서가 저속모드로 될 때 로우레벨로 되고, 고속모드로 될 때 하이레벨로 된다. 선택제어신호 COSEL2는 어떠한 이유에 의해 후술하는 시스템클럭신호 cks의 주파수를 전환하고자 할 때 선택적으로 하이레벨로 된다.
상기 멀티플렉서MUX3은 클럭이네이블신호 CKEN이 하이레벨로 되고 또한 선택제어신호 COSEL1이 로우레벨로 될 때, 분주회로 DIV1에서 출력되는 클럭펄스 ck1을 선택하고, 시스템클럭신호 CK1(제1 시스템클럭신호)로서 중앙처리장치CPU를 포함하는 제 1 내부회로에 공급한다. 또, 클럭이네이블신호 CKEN이 하이레벨로 되고 또한 선택제어신호 COSEL1이 하이레벨로 될 때에는 PLL회로에서 출력되는 클럭펄스 DV1을 선택하고, 시스템클럭 신호 CK1로서 중앙처리장치 CPU 등에 공급한다. 또한, 클럭이네이블신호 CKEN이 로우레벨로 될 때, 멀티플렉서MUX3의 출력은 로우레벨로 고정된다. 이 결과, 저속모드에서 고속모드로의 전환시에는 시스템클럭신호 CK1을 일시적으로 정지상태로 하고 이것에 의해서 중앙처리장치 CPU 등의 모드전환시에 있어서의 동작을 안정화할 수가 있다.
한편, 상기 멀티플렉서 MUX4는 선택제어신호 COSEL2가 로우레벨로 되면, 분주회로DIV1에서 출력되는 클럭펄스 ck1을 선택하고 시스템클럭신호cks(제2 시스템클럭신호)로서 버스컨트롤러 BSC를 포함하는 제2 내부회로에 공급한다. 또, 선택제어신호 COSEL2가 하이레벨로 되면, 멀티플렉서MUX1에서 출력되는 클럭펄스 ckr이 선택되고 시스템클럭신호 cks로서 버스컨트롤러 BSC 등에 공급된다. 또한, 통상의 동작시에 있어서는 선택제어신호 COSEL2는 로우레벨로 되고 시스템클럭신호 cks는 분주회로 DIV1의 출력, 즉 클럭펄스 ck1에 따라서 가장 낮은 주파수로 된다.
상술한 바와 같이 PLL회로의 출력, 즉 클럭펄스 DV1은 멀티플렉서 MUX1의 출력, 즉 클럭펄스 ckr의 정수배의 주파수로 되고 분주회로 DIV1의 출력, 즉 클럭펄스ck1은 그의 2분의 1의 주파수로 된다. 따라서, 중앙처리장치 CPU를 포함하는 제 1 내부회로는 저속모드에서는 가장 낮은 주파수의 클럭펄스 ck1에 따라서 동작하기 때문에 그 소비전력이 비교적 적어지고, 고속모드에서는 가장 높은 주파수의 클럭펄스 DV1에 따라서 동작하기 때문에 그 소비전력이 비교적 커진다. 물론, 고속모드에서는 시스템클럭신호 CK1의 주파수가 높기 때문에 중앙처리장치 CPU 등의 처리능력이 향상되고, 마이크로프로세서는 예를들면 휴대정보단말에 있어서의 문자인식 등에 적합한 고속처리를 실행할 수가 있다.
제2도에는 제1도의 클럭펄스 발생회로 CPG에 포함되는 PLL 회로의 1실시예의 블럭도가 도시되어 있다. 동일도면에 있어서 기준주파수입력 REF와 발진입력 OSC는 위상비교기에 공급되고, 이 위상비교기에 의해 기준주파수입력 REF와 발진입력 OSC의 위상차(주파수차)에 대응한 상승신호 /UP와 하강신호 /DOWN(여기에서, 그것이유효로 될 때 선택적으로 로우레벨로 되는, 소위 반전신호 등에 대해서는 그 명칭의 선두에 /를 부가한다. 이하 동일)이 형성된다. 이러한 위상비교회로에 의해 형성된 제어신호는 차지펌프회로로 이루어지는 저역필터(루프필터)에 공급되어 제어전압VCNT로 변환된다. 제어전압VCNT는 전압제어형 발진기에 공급되어 그의 주파수제어에 사용된다. 전압제어형 발진기의 출력신호 P1 및 P2는 1/2분주기에 의해서 분주된 후, 클럭펄스 DV1로 된다. 또한, 저역필터 및 전압제어형 발진기의 동작은 상기 제어단자 PLLON에 공급되는 제어신호에 따라서 선택적으로 정지된다. 즉, PLL회로의 동작이 선택적으로 정지된다.
제3도 (A)에는 제2도의 PLL회로에 포함되는 전압제어형 발진기의 1실시예의 회로도가 도시되어 있다. 동일도면에 있어서는 그 소오스가 접지된 N채널형 MOSFET Q30의 게이트에 제어전압 VCNT가 공급된다. 이 MOSFET Q30에 의해서 전압/전류변환이 실행된다. 즉, 상기 제어전압 VCNT는 그 전위에 대응한 전류로 변환된다. 이러한 N채널형 MOSFET Q30에 의해 형성된 전류신호는 P채널형 MOSFET Q31, Q32로 이루어지는 전류미러회로를 거쳐서 링오실레이터의 인버터회로를 구성하는 P채널형 MOSFET와 N채널형 MOSFET중 P채널형 MOSFET에 직렬 접속된 P채널형 MOSFET에 공급 됨과 동시에, 다이오드 결합된 N채널형 MOSFET Q34에도 공급된다. 상기 인버터회로를 구성하는 MOSFET중 N채널형 MOSFET에는 상기 다이오드 결합된 N채널형 MOSFET Q34와의 사이에서 전류미러회로를 구성하도록 된 N채널형 MOSFET가 직렬 접속되어 있다. 이것에 의해, 링오실레이터를 구성하는 인버터회로에 있어서는 제어전압 VCNT의 전위에 따른 전류가 그 동작전류로서 흐르게 된다. 그 때문에, 제어전압VCNT의 전위가 높아지면, 인버터회로의 동작전류가 커지고 전압제어형 발진기의 링오실레이터를 구성하는 각 인버터회로에서의 신호전파 지연시간이 짧아져서 발진주파수가 높아진다. 반대로, 제어전압 VCNT의 전위가 낮아지면, 인버터회로의 동작전류가 작아지고 전압제어형 발진기의 링오실레이터를 구성하는 각 인버터회로에서의 신호전파 지연시간이 길어져서 발진주파수가 낮아진다.
전압제어형 발진기의 링오실레이터를 구성하는 종렬형태의 인버터회로에 게이트회로G30, G31을 삽입해서 제어단자 PLLON으로부터의 제어신호에 의해 게이트회로G30, G31의 게이트를 받아서 발진동작을 정지시킬 수 있도록 하고 있다. 상기 발진동작을 정지시킬 때에는 N채널형 MOSFET Q33을 온상태로 해서 제어전압 VCNT를 강제적으로 회로의 접지전위로 하고, 상기 동작전류가 차단되도록 하고 있다.
제3도 (B)에는 제2도의 PLL회로에 포함되는 1/2분주회로의 회로도가 도시되어 있다. 이 실시예에 있어서는 상기 제3도 (A)의 전압제어형 발진기의 출력신호 P1과 그의 반전신호가 인버터회로에 의해 형성되어 펄스신호로서 사용된다. 이들 펄스 신호가 슬레이브래치의 출력신호가 마스터래치의 입력으로 귀환되어 이루어지는 마스터슬레이브형 플립플롭회로의 클럭펄스로서 사용되고, 마스터래치 및 슬레이브래치의 출력신호가 상기 출력신호에 대해 1/2분주된 클럭펄스신호 DV2 및 DV1로서 사용된다. 또한, 클럭펄스 발생회로 CPG의 PLL회로 및 분주회로 DIV1의 출력신호는 실제로는 각각 소정의 위상관계에 있는 2상의 클럭펄스 DV1 및 DV2와 ck1 및 ck2로 이루어지지만, 이 명세서에서는 주로 클럭펄스 DV1 및 ck1을 중심으로 설명을 진행한다.
제4도 (A)에는 제2도의 PLL회로에 포함되는 위상비교기의 1실시예의 회로도가 도시되어 있다. 동일도면에 있어서, 위상비교기는 기준주파수입력 REF 및 발진입력 OSC의 위상차를 식별하고, 이것에 대응한 펄스폭의 상승신호 /UP 및 하강신호 /DOWN을 선택적으로 형성한다. 즉, 기준주파수입력 REF에 대해서 발진입력 OSC의 주파수가 낮을 때에는 그 주파수차(위상차)에 대응한 펄스폭의 상승신호 /UP를 형성한다. 반대로, 기준주파수입력 REF에 대해서 발진입력 OSC의 주파수가 높을 때에는 그 주파수차(위상차)에 대응한 펄스폭의 하강신호 /DOWN을 형성한다.
제4도 (B)에는 제2도의 PLL회로의 차지펌프 및 저역필터의 1실시예의 회로도가 도시되어 있다. 동일도면에 있어서, 제어단자 PLLON으로부터의 제어신호에 의해 P채널형 MOSFET Q41이 온상태로 되어 저역필터의 동작이 유효하게 된다. 이 P채널형 MOSFET Q41에 대해서 직렬 결합된 다른 1개의 P채녈형 MOSFET Q42에는 직렬 결합된 2개의 인버터회로를 통해서 상승신호 /UP가 공급된다. 캐패시터C에는 상기 2개의 P채널형 MOSFET와 저항R1 및 R2를 거쳐서 차지업전류가 흐르게 된다. 이 캐패시터C에는 또, 상기 저항R1 및 R2와 N채널형 MOSFET를 거쳐서 디스차지전류가 흐르게 되고, 이러한 N채널형 MOSFET의 게이트에는 하강신호 /DOWN이 인버터회로에 의해 반전되어 공급된다.
이것에 의해, 캐패시터C에는 상승신호 /UP가 로우레벨로 되는 기간만 차지업이 실행되기 때문에, 기준주파수입력 REF 및 발진입력 OSC의 위상차에 대응해서 제어전압 VCNT의 전위가 높아진다. 또, 하강신호 /DOWN이 로우레벨로 되는 기간만 디스차지가 실행되기 때문에, 기준주파수입력 REF 및 발진입력 OSC의 위상차에 대응해서 제어전압 VCNT의 전위가 낮아진다. 또한 단자CEXT에는 저역필터의 컷오프주파수를 낮게 하기 위한 외부부착 콘덴서(도시하지 않음)를 접속할 수 있게 되어 있다.
제5도 (A)에는 제1도의 클럭펄스 발생회로 CPG에 포함되는 멀티플렉서MUX3의 1실시예의 회로도가 도시되어 있다. 동일 도면에 있어서 멀티플렉서MUX3은 그 한쪽의 입력단자에 PLL회로의 출력신호, 즉 클럭펄스 DV1 또는 분주회로 DIV1의 분주출력, 즉 클럭펄스 ck1을 각각 받는 앤드(AND)게이트AG3 및 AG4를 포함한다. 이 중, 앤드게이트 AG3의 다른쪽의 입력단자에는 그 1쌍의 입력단자에 클럭이네이블신호 CKEN 및 선택제어신호 COSEL1을 받는 앤드게이트AG2의 출력신호가 공급되고, 앤드게이트 AG4의 다른쪽의 입력단자에는 클럭이네이블신호 CKEN과 선택제어신호 COSEL1의 인버터V1에 의한 반전신호를 받는 앤드게이트 AG1의 출력신호가 공급된다. 앤드게이트AG3의 출력신호는 오아게이트 OG2의 한쪽의 입력단자에 공급되고, 앤드게이트 AG4의 출력신호는 오아게이트 OG2의 다른쪽의 입력단자에 공급된다.
이것에 의해, 멀티플렉서 MUX3은 클럭이네이블신호 CKEN이 하이레벨로 되고 또한 선택제어신호 COSEL1이 로우레벨로 될 때, 분주회로 DIV1의 분주출력, 즉 비교적 낮은 주파수의 클럭펄스 ck1을 선택해서 시스템클럭신호 CK1로 하고, 클럭이네이블신호 CKEN이 하이레벨로 되며 또한 선택제어신호 COSEL1이 하이레벨로 될 때에는 PLL회로의 출력, 즉 비교적 높은 주파수의 클럭펄스 DV1을 선택해서 시스템클럭신호 CK1로 한다. 이 결과, 마이크로프로세서의 처리속도가 선택적으로 전환되어 저속모드 및 고속모드가 실현된다.
제5도 (B)에는 제1도의 클럭펄스 발생회로 CPG에 포함되는 멀티플렉서 MUX4의 1실시예의 회로도가 도시되어 있다.
또한, 멀티플렉서 MUX1 및 MUX2는 이 멀티플렉서 MUX4와 마찬가지 회로구성으로 된다.
제5도 (B)에 있어서 멀티플렉서 MUX4는 그 한쪽의 입력단자에 멀티플렉서 MUX1의 출력, 즉 클럭펄스 ckr 또는 분주회로 DIV1의 출력, 즉 클럭펄스 ck1을 각각 받는 앤드게이트 AG5 및 AG6과 그 1쌍의 입력단자에 앤드게이트 AG5 및 AG6의 출력신호를 각각 받는 오아게이트 OG3을 포함한다.
앤드게이트 AG5의 다른쪽의 입력단자에는 선택제어신호 COSEL2가 공급되고, 앤드게이트 AG6의 다른쪽의 입력단자에는 인버터V2에 의한 그의 반전신호가 공급된다.
이것에 의해, 멀티플렉서MUX4는 선택제어신호 COSEL2가 하이레벨로 될 때, 멀티플렉서 MUX1에서 출력되는 클럭펄스 ckr을 선택해서 시스템클럭신호 cks로 한다. 또, 선택제어신호 COSEL2가 로우레벨로 될 때에는 분주회로 DIV1에서 출력되는 클럭펄스 ck1을 선택해서 시스템클럭신호 cks로 한다. 상술한 바와 같이, 선택제어신호 COSEL2는 통상 로우레벨로 되고 시스템클럭신호 cks는 가장 낮은 주파수의 클럭펄스 ck1에 따라서 형성된다.
제6도에는 제1도의 클럭펄스 발생회로 CPG의 1실시예의 신호파형도가 도시되어 있다. 동일도면에 있어서, PLL회로의 기준주파수 입력단자REF에 공급되는 클럭펄스 ckr은 외부단자 XTAL 및 EXTAL에 결합된 수정진동자의 고유진동수에 따른 비교적 낮은 주파수의 펄스신호로 되고, 분주회로 DV1의 분주출력, 즉 클럭펄스 ck1은 그의 2분의 1의 주파수의 펄스신호로 된다. PLL회로는 PLL동작제어신호 PLLON 또는 PLL대기신호 PLLSB의 하이레벨을 받아서 선택적으로 동작상태로 되고, 클럭펄스ckr의 정수배, 예를들면 2배의 주파수의 클럭펄스 DV1을 생성한다. 이 클럭펄스 DV1은 분주회로 DIV2에 의해, 예를들면 2분의 1로 분주되어 분주출력 d2로 되고 PLL회로의 발진 입력단자 OSC에 공급된다.
이것에 의해, PLL회로의 발진입력단자 OSC에 공급되는 분주출력 d2는 기준주파수 입력단자 REF에 공급되는 클럭펄스 ckr과 대략 동일한 주파수를 갖는 것으로 되고, 클럭펄스 DV1은 클럭펄스 ck1에 비해 4배의 주파수를 갖는 것으로 된다. 또한, 제6도에서는 PLL동작제어신호 PLLON 또는 PLL대기신호 PLLSB가 하이레벨로 된 직후부터 안정된 주파수의 클럭펄스DV1이 출력되고 있는지와 같이 도시되어 있지만, 실제로는 PLL회로가 기동되고나서 그의 출력신호, 즉 클럭펄스DV1의 주파수가 안정화할 때까지는 비교적 긴 시간이 필요하게 된다.
상술한 바와 같이, 멀티플렉서 MUX3은 클럭이네이블신호 CKEN이 하이레벨로 되고 또한 선택제어신호 COSEL1이 로우레벨로 되면, 가장 낮은 주파수의 클럭펄스 ck1을 선택해서 시스템클럭신호 CK1로서 출력한다. 이것에 대해서, 클럭이네이블신호 CKEN이 하이레벨로 되고 또한 선택제어신호 COSEL1이 하이레벨로 되면, 상기 멀티플렉서 MUX3은 클럭펄스 DV1을 선택해서 시스템클럭신호 CK1로서 출력한다. 이 결과, 고속모드로 되어 있을 때, 시스템클럭신호 CK1의 주파수는 저속모드시의 주파수에 대해 예를들면 4배로 된다.
그런데, 이 실시예에서는 저속모드에서 고속모드로의 전환에 앞서 클럭이네이블신호 CKEN은 일시적으로 로우레벨로 된다. 클럭이네이블신호 CKEN이 로우레벨로 되면, 멀티플렉서MUX3의 출력 신호, 즉 시스템클럭신호 CK1은 로우레벨로 고정되어 소위 클럭정지상태로 된다. 이 결과, 클럭전환에 따른 시스템클럭신호 CK1의 해저드잡음(hazard noise)이 없어지고 중앙처리장치CPU를 비롯한 제1 내부회로의 모드전환시의 동작이 안정하게 되어 마이크로프로세서, 더나아가서는 이것을 포함하는 시스템의 동작이 안정화된다.
제7도에는 제1도의 클럭펄스 발생회로 CPG의 동작흐름의 1예가 도시되어 있다. 마이크로프로세서가 스텝ST1의 저속모드①에 있을 때, PLL제어신호 PLLON 및 PLL대기신호 PLLSB는 모두 로우레벨로 되어 PLL회로의 전압제어형 발진기 및 저역필터가 비동작상태로 된다. 이것에 의해, PLL회로는 그의 동작이 정지되고, 누설전류를 제외한 전류의 소비를 방지할 수가 있다. 이 때, 마이크로프로세서의 각 부에는 발진회로 XOSC의 발진펄스 또는 외부단자 EXTAL에서 공급되는 펄스(클럭펄스 ckr)의 분주신호(클럭펄스 ck1)를 기본으로 형성된 비교적 낮은 주파수의 시스템클럭신호 CK1 및 cks가 공급된다. 따라서 중앙처리장치 CPU 등은 저속으로 동작하여 마이크로프로세서 전체로서의 소비전력도 작아진다.
다음에, 스텝ST2에 있어서 마이크로프로세서의 고속처리를 필요로 하는 이벤트(사상)의 발생이 인식(YES)되면, 스텝ST3에 있어서 클럭컨트롤러 CKC에서 하이레벨의 PLL대기신호 PLLSB가 출력되고, 이것에 의해 PLL회로가 기동된다. 스텝ST4에 있어서 PLL회로의 출력신호의 주파수가 안정되었는지 안정되지 않았는지의 판정이실행되고, 출력신호의 주파수의 안정이 판정된 경우에는 다음에 스텝ST5에 있어서 고속처리요구가 있었는지 없었는지의 식별이 실행된다. 물론, PLL회로의 출력신호의 주파수가 안정화할 때까지의 동안 PLL회로는 저속모드②, 즉 기동상태로 되어 고속처리요구가 있을 때까지 이 상태를 계속한다. 이 동안, 선택제어신호 COSEL1은 로우레벨인 채로 되고, 멀티플렉서 MUX3은 클럭펄스 ck1에 의거한 저속모드용의 시스템클럭신호 CK1을 계속해서 출력한다. 따라서, 중앙처리장치 CPU 등은 저속으로 동작을 계속하지만, 시스템에 어떠한 이상이 발생한 경우나 앞으로 개시될 고속처리에 우선해서 실행할 데이타처리요구가 발생한 경우에는 그것을 위한 동작을 즉시 개시할 수 있어 예측불허의 사태에 대처할 수가 있다.
스텝ST5에 있어서 고속처리개시의 요구가 인식되면, 스텝ST6에 있어서 클럭컨트롤러 CKC(제8도 참조)에 의해 선택제어신호 COSEL1이 하이레벨로 되고, 비교적 높은 주파수의 클럭펄스 DV1로 이루어지는 시스템클럭신호 CK1이 중앙처리장치 CPU를 포함하는 제1 내부회로에 공급된다. 이것에 의해, 마이크로프로세서는 고속모드로 들어가고, 중앙처리장치 CPU 등은 고속처리를 개시한다. 마지막으로, 스텝 ST7에 있어서 고속처리의 종료가 식별되면, 마이크로프로세서는 저속모드①로 되돌아간다.
또한, 스텝ST4에 있어서 PLL회로에 있어서의 동작의 안정이 인식되기 전에 고속처리개시의 요구가 있었던 경우, 이 요구는 PLL회로의 출력주파수가 안정화할 때까지의 동안 대기상태로 유지된다. 또, 이 실시예에서는 상술한 바와 같이 선택제어신호 COSEL1이 하이레벨로 변화되는 것에 앞서서 클럭이네이블신호 CKEN이 일시적으로 로우레벨로 되어 시스템클럭신호 CK1이 일시적으로 클럭정지상태로 되지만, 이 시간은 극히 짧기 때문에 중앙처리장치 CPU가 예측불허의 사태에 대처할 수 없을 확율은 매우 작은 것으로 된다.
제8도에는 제1도의 클럭펄스 발생회로 CPG를 내장한 마이크로프로세서MPU의 1실시예의 시스템구성도가 도시되고, 제9도에는 상기 마이크로프로세서 MPU의 반도체기판에 있어서의 배치가 도시되어 있다. 제8도에 있어서, 마이크로프로세서 MPU는 연산기ALU를 포함하는 스토어드 프로그램방식의 중앙처리장치 CPU를 그의 기본구성요소로 한다. 이 중앙처리장치 CPU에는 시스템버스S-BUS를 거쳐서 승산기MULT, 메모리관리유닛MMU 및 캐쉬메모리CACHE가 결합되고, 메모리관리유닛MMU에는 어드레스변환테이블 TLB가 결합된다. 메모리관리유닛MMU 및 캐쉬메모리CACHE는 또, 그의 다른쪽에 있어서 캐쉬버스 C-BUS에 결합되고 이 캐쉬버스 C-BUS에는 버스컨트롤러 BSC가 결합된다.
버스컨트롤러 BSC는 그의 다른쪽에 있어서 주변버스 P-BUS 및 외부버스 E-BUS에 결합된다. 이 중, 주변버스 P-BUS에는 리프레시컨트롤러 REFC, 다이렉트 메모리액세스 컨트롤러 DMAC, 타이머회로 TIM, 직렬통신 인터페이스 SCI, 디지탈/아날로그 변환회로 D/A 및 아날로그/디지탈 변환회로 A/D 등의 주변장치 컨트롤러가 결합되고, 외부버스 E-BUS에는 외부인터페이스 EXIF가 결합된다. 리프레시컨트롤러 REFC, 다이렉트 메모리액세스 컨트롤러 DMAC, 타이머회로 TIM, 직렬통신 인터페이스 SCI, 디지탈/아날로그 변환회로 D/A 및 아날로그/디지탈 변환회로 A/D는 그의 다른쪽에 있어서 인터럽트 컨트롤러 INTC에 결합되고, 이 인터럽트 컨트롤러 INTC는 인터럽트요구신호 IRQ를 거쳐서 중앙처리장치 CPU에 결합된다. 외부인터페이스 EXIF에는 휴대정보단말 PDA나 외부메모리 등이 결합된다.
상기 인터럽트 컨트롤러INTC에는 또, 직렬 타임클럭회로 RTC가 결합된다. 이 직렬타임클럭회로 RTC에는 제1도에 도시한 상기 제어신호에 의해서 그 주파수가 바뀌지 않는 일정한 클럭신호가 공급되고 있다. 이것에 의해, 직렬타임클럭회로 RTC는 제1도에 도시한 상기 제어신호에 영향을 받지 않는 시간의 관리를 실행한다. 직렬타임클럭회로 RTC는 예틀들면 소정의 시간간격으로 인터럽트신호를 인터럽트컨트롤러 INTC에 공급하고, 중앙처리장치 CPU에 대해서 소정의 시간간격으로 인터럽트요구를 발생할 수가 있다. 또, 상기 인터럽트 컨트롤러 INTC에는 외부로부터의 인터럽트신호 OINT도 공급된다. 이것에 의해, 외부인터럽트신호는 이 인터럽트 컨트롤러 INTC를 거쳐서 중앙처리장치 CPU로 전달된다.
특히 제한되지 않지만, 상기 주변버스 P-BUS에는 상기 클럭컨트롤러 CKC가 결합되어 있다. 나중에 제19도를 사용해서 설명하겠지만, 클럭컨트롤러 CKC는 여러개의 레지스터를 포함하고 있다. 이들 레지스터에 대해서 중앙처리장치 CPU가 제어데이타를 세트하거나 레지스터의 내용을 중앙처리장치 CPU가 리드할 수 있도록, 클럭컨트롤러 CKC는 주변버스 P-BUS에 결합되어 있다. 그 때문에, 물론 클럭컨트롤러 CKC는 주변버스 P-BUS 대신에 시스템버스 S-BUS에 결합되도록 하여도 좋다. 이 클럭컨트톨러 CKC는 상기 레지스터에 설정된 데이타에 따라서 상기 제어신호 PLLON, PLLSB, COSEL1, COSEL2, CKEN 등을 형성한다. 형성된 이들의 제어신호는 클럭펄스 발생회로 CPG에 공급된다. 또, 상기 레지스터에 설정된 데이타에 따라서, 클럭컨트롤러 CKC는 제10도에서 설명하는 여러개의 모듈이네이블신호를 형성한다. 제8도에서는 그 도면이 복잡하게 되는 것을 피하기 위해서, 모듈이네이블신호는 1개의 배선라인으로 도시되어 있다. 마찬가지로, 클럭펄스 발생회로 CPG와 상기 여러개의 외부단자 CKEXT, EXTAL, XTAL, CKRATE를 접속하는 배선라인도 1개로 도시되어 있다.
여기에서, 중앙처리장치 CPU는 클럭펄스 발생회로 CPG에서 공급되는 시스템클럭신호 CK1에 동기해서 동작하고, 예를들면 캐쉬메모리 CACHE에서 리드되는 제어프로그램에 따라서 소정의 연산처리를 실행함과 동시에 마이크로프로세서 MPU의 각부를 제어하고 통괄한다. 이 때, 연산기ALU는 필요한 산술논리연산을 실행하고, 승산기MULT는 승산처리를 실행한다. 또, 메모리관리유닛 MMU는 메모리액세스시에 중앙처리장치 CPU에서 출력되는 논리어드레스를 어드레스변환테이블 TLB를 사용해서 물리어드레스로 변환한다. 케쉬메모리 CACHE는 고속액세스가능한 메모리로 이루어지고, 마이크로프로세서 MPU의 외부에 마련된 외부메모리에 저장된 프로그램 또는 데이타 등을 소정의 블럭단위로 리드하여 유지해서 중앙처리장치 CPU의 고속동작에 기여한다. 중앙처리장치 CPU, 승산기MULT, 메모리관리유닛 MMU 및 캐쉬메모리 CACHE는 소위 제1 내부회로로서, 이들 회로는 비교적 높은 주파수의 시스템클럭신호 CK1에 따라서 동작한다.
버스컨트롤러BSC는 주변버스 P-BUS에 결합되는 각 주변장치 컨트롤러의 버스액세스를 관리함과 동시에, 이들 주변장치 컨트롤러와 동작을 제어한다. 한편, 주변장치 컨트롤러의 1개인 리프레시 컨트롤러REFC는 외부메모리로서 마련된 다이나믹형 RAM(랜덤 액세스 메모리)의 리프레시동작을 제어하고, 다이렉트 메모리 액세스 컨트롤러 DMAC는 예를들면 외부메모리와 캐쉬메모리 CACHE 등과의 사이의 고속데이타전송을 서포트한다. 또, 타이머회로 TIM은 중앙처리장치 CPU에 필요한 시간관리를 서포트하고, 직렬통신 인터페이스SCI는 외부의 통신제어장치 등과의 사이의 직렬데이타전송을 서포트한다. 또, 아날로그/디지탈 변환회로 A/D는 외부의 센서 등에서 입력되는 아날로그신호를 소정비트의 디지탈신호로 변환하고, 디지탈/아날로그 변환회로 D/A는 반대로 중앙처리장치 CPU에서 출력되는 디지탈신호를 소정의 아날로그신호로 변환해서 외부로 출력한다.
인터럽트 컨트롤러 INTC는 각 주변장치컨트롤러의 인터럽트요구를 소정의 우선순위로 택일적으로 수리하고, 인터럽트요구신호 IRQ로서 중앙처리장치CPU로 전달한다. 또, 외부인터페이스 EXIF는 마이크로프로세서 MPU의 각부와 외부에 결합된 휴대정보단말 PDA 및 외부메모리 등과의 사이의 데이타수수를 제어하고 관리하며, 이들 외부장치와 마이크로프로세서 MPU 사이의 인터페이스정합을 실행한다. 버스컨트롤러 BSC 및 각종 주변장치 컨트롤러는 소위 제2 내부회로로서, 이들의 회로는 비교적 낮은 주파수의 시스템클럭신호 cks에 동기해서 동작한다.
이 실시예에 있어서, 마이크로프로세서 MPU를 구성하는 각부는 제9도에 예시되는 바와 같이 소정의 레이아웃조건을 가지고 1개의 반도체기판상에 배치되지만, 이들 각부는 소위 모듈화되고 사용자사양에 의거해서 선택적으로 형성된다. 또, 이 실시예의 마이크로프로세서MPU는 후술하는 바와 같이 각 모듈에 대응해서 마련된 클럭스위치를 구비하고, 클럭펄스 발생회로CPG애서 출력된 시스템클럭신호 CK1 및cks는 클럭드라이버 DRIVER을 거친 후, 대응하는 모듈이네이블신호의 유효레벨을 받아서 선택적으로 온상태로 된 클럭스위치를 거쳐서 각 모듈에 공급된다. 이 결과, 각 모듈은 필요에 따라서 선택적으로 동작상태로 되고, 이것에 의해서 마이크로프로세서 MPU의 저소비전력화가 더욱더 도모된다.
제10도에는 제8도의 마이크로프로세서 MPU에 있어서의 클럭동급경로의 1실시예가 도시되어 있다. 동일도면에 있어서, 클럭펄스 발생회로 CPG내의 멀티플렉서 MUX3에서 출력된 비교적 높은 주파수의 시스템클럭신호 CK1은 소정의 클럭드라이버 DRIVER을 거친 후, 클럭스위치 CS1∼CS4를 거쳐서 제1 내부회로인 중앙처리장치 CPU, 승산기MULT, 메모리관리유닛 MMU 및 캐쉬메모리 CACHE에 공급된다. 클럭스위치CS1은 모듈이네이블신호 CPEN의 하이레벨을 받아서 선택적으로 전달상태로 되고, 클럭스위치 CS2, CS3 및 CS4는 대응하는 모듈이네이블신호 MUEN, TLEN 및 CAEN의 하이레벨을 받아서 각각 선택적으로 전달상태로 된다. 이것에 의해, 중앙처리장치 CPU, 승산기 MULT, 메모리관리유닛 MMU 및 캐쉬메모리 CACHE는 대응하는 모듈이네이블신호의 하이레벨을 받아서 각각 선택적으로 동작상태로 된다. 또한, 모듈이네이블신호 CPEN에 의해 비도통상태로 된 상기 클럭스위치 CS1은 도시되지 않은 외부로부터의 리세트신호 또는 외부인터럽트신호에 의해서 다시 도통상태로 된다.
다음에, 클럭펄스 발생회로 CPG내의 멀티플렉서 MUX4에서 출력된 비교적 낮은 주파수의 시스템클럭신호 cks는 소정의 클럭드라이버 DRIVER을 거친 후, 클럭스위치 CS5∼CS7을 거쳐서 제2 내부회로인 버스컨트롤러 BUSC, 리프레시 컨트롤러 REFC 및 다이렉트메모리 액세스 컨트롤러 DMAC에 공급된다. 또, 시스템클럭신호cks는 다른 소정의 클럭드라이버 DRIVER을 거친 후, 클럭스위치 CS8∼CS12를 거쳐서 역시 제2 내부회로인 타이머회로 TIM, 인터럽트컨트롤러 INTC, 직렬통신 인터페이스 SCI, 디지탈/아날로그 변환회로 D/A 및 아날로그/디지탈 변환회로 A/D에 공급된다. 클럭스위치 CS5∼CS7은 대응하는 모듈이네이블신호 BCEN, RCEN 및 DMEN의 하이레벨을 받아서 각각 선택적으로 전달상태로 되고, 클럭스위치 CS8∼CS12는 대응하는 모듈이네이블신호 TMEN, ICEN, UAEN, DAEN 및 ADEN의 하이레벨을 받아서 각각 선택적으로 전달상태로 된다. 이 결과, 버스컨트롤러BUSC, 리프레시컨트롤러 REFC, 다이렉트메모리 액세스 컨트롤러 DMAC, 타이머회로 TIM, 인터럽트 컨트롤러 INTC, 직렬통신 인터페이스 SCI, 디지탈/아날로그 변환회로 D/A 및 아날로그/디지탈 변환회로 A/D는 대응하는 모듈이네이블신호의 하이레벨을 받아서 각각 선택적으로 동작상태로 된다.
이와 같이, 마이크로프로세서 MPU내의 각부를 모듈화하고, 시스템 클럭신호 CK1 또는 cks를 모듈이네이블신호에 따라서 선택적으로 공급하는 것에 의해서, 시스템구성상 불필요하게 된 모듈을 선택적으로 분리할 수 있음과 동시에 마이크로프로세서 MPU의 처리내용에 따라서 사용되지 않는 모듈의 동작을 선택적으로 정지하여 불필요한 소비전류의 발생을 방지할 수가 있다. 바꾸어말하면, 마이크로프로세서 MPU의 처리내용에 따라서 사용되는 모듈만을 선택적으로 동작상태로 하고, 마이크로프로세서 MPU, 더나아가서는 그 응용시스템의 저소비전력화를 추진할 수 있는 것이다.
또, 비록 모듈이네이블신호에 의해 시스템클럭신호 CK1(cks)이 모듈에 공급되는 상태로 클럭스위치를 설정한 경우라도, 상술한 바와 같이 시스템클럭신호 CK1 (cks)은 상기 제어신호 COSEL1(COSEL2)에 의해서 그 주파수를 변경할 수 있기 때문에, 고속동작이 필요하게 되지 않는 처리에 대해서는 상기 제어신호 COSEL1 (COSEL2)에 의해서 시스템클럭신호 CK1의 주파수를 낮게 한다. 이것에 의해, 불필요한 소비전류의 발생을 ㅍ방지하면서 처리의 실행을 할 수가 있다.
상술한 바와 같이, 시스템클럭신호 CK1은 마이크로프로세서 MPU가 저속모드로 되고 선택제어신호 COSEL1이 로우레벨로 될때 비교적 낮은 주파수의 클럭펄스 ck1에 따라서 형성되고, 마이크로프로세서 MPU가 고속모드로 되고 선택제어신호 COSEL1이 하이레벨로 될 때 그의 4배의 주파수의 클럭펄스 DV1에 따라서 형성된다. 이 결과, 중앙처리장치 CPU를 포함하는 제1 내부 회로의 동작이 선택적으로 빠르게 되거나 또는 느려지고, 마이크로프로세서 MPU의 처리능력이 이벤트의 발생상황 등에 따라서 선택적으로 전환된다.
한편, 마이크로프로세 MPU가 저속모드에서 고속모드로 전환될 때 클럭이네이블신호 CKEN이 일시적으로 로우레벨로 되고, 이것을 받아서 시스템클럭신호 CK1이 일시적으로 클럭정지상태로 된다. 이것에 의해, 모드전환에 따른 해저드잡음이 방지되고 마이크로프로세서 MPU의 각부의 동작이 안정화된다.
다음에, 상기 클럭컨트롤러 CKC의 구성에 대해서 제19도를 사용해서 설명한다. 클럭컨트롤러 CKC는 클럭신호의 전환을 제어하기 위한 상기 제어신호 PLLON, PLLSB, COSEL1, COSEL2, CKEN에 관한 제어데이타가 세트되는 레지스터 CPG-REG., 모듈이네이블신호 CPEN, MUEN, TLEN, CAEN, BCEN, RCEN, DMEN, TMEN, ICEN, UAEN,DAEN, ADEN을 제어하기 위한 제어데이타가 세트되는 레지스터 CS-REG. 및 컨트롤러를 포함하고 있다. 상기 컨트롤러는 버스와 상기 레지스터 사이의 데이타전송을 제어함과 동시에, 상기 레지스터에 세트된 제어데이타에 의거해서 상기 제어신호 및 상기 모듈이네이블신호를 형성한다.
상기 클럭컨트롤러 CKC의 동작의 1예에 대해서 설명한다. 상기 제어레지스터 CPG-REG. 는 상기 제어신호의 각각에 대응한 비트를 갖고 있다. 즉, 상기 제어레지스터 CPG-REG. 는 도시되어 있지는 않지만, 상기 제어신호 PLLON에 대응한 비트(Bon), PLLSB에 대응한 비트(Bsb), COSEL1에 대응한 비트(B11), COSEL2에 대응한 비트(B12), CKEN에 대응한 비트(Ben)를 갖고 있으며, 각 비트에 그것에 대응한 제어신호에 관한 제어데이타가 세트된다. 예를들면, 비트(Bsb)에는 제어신호 PLLSB에 관한 제어데이타가 세트된다. 제어데이타의 세트는 중앙처리장치 CPU가 상기 제어레지스터 CPG-REG.을 지정하고, 버스를 거쳐서 상기 제어레지스터 CPG-REG.내의 대응하는 비트에 제어데이타를 라이트하는 것에 의해서 달성된다. 특히 제한되지는 않지만, 중앙처리장치 CPU가 상기 제어레지스터 CPG-REG.를 지정할 수 있도록 하기 위해서, 제어레지스터 CPG-REG.에는 소정의 어드레스가 할당되어 있다. 상기 컨트롤러는 상기 제어레지스터 CPG-REG.의 각 비트에 세트된 제어데이타에 따라서 각 제어신호를 형성한다. 예를들면, 중앙처리장치 CPU가 상기 제어레지스터 CPG-REG.내의 비트(Bon)에 제어데이타 " 1 "을 라이트하는 것에 의해서, 상기 컨트롤러는 상기 제어신호 PLLON을 하이레벨로 한다. 이것에 대해서, 중앙처리장치 CPU가 상기 비트(Bon)에 제어데이타 " 0 "을 라이트하는 것에 의해서, 상기 컨트롤러는 상기제어신호 PLLON을 로우레벨로 한다. 마찬가지로, 중앙처리장치 CPU가 상기 비트(Bsb), 비트(B11), 비트(B12), 비트(Ben)의 각각에 제어데이타 " 1 "(제어데이타 " 0 ")을 라이트하는 것에 의해서, 상기 컨트롤러는 상기 제어신호 PLLSB, COSEL1, COSEL 2, CKEN을 각각 하이레벨(로우레벨)로 한다.
상기 제어레지스터 CS-REG.는 상기 모듈이네이블신호의 각각에 대응한 비트를 갖고 있다. 즉, 상기 제어레지스터 CS-REG.는 도시되어 있지는 않지만, 상기 모듈이네이블신호 CPEN에 대응한 비트(Bcp), MUEN에 대응한 비트(Bmu), TLEN에 대응한 비트(Btl), CAEN에 대응한 비트(Bca), BCEN에 대응한 비트(Bbc), RCEN에 대응한 비트(Brc), DMEN에 대응한 비트(Bdm), TMEN에 대응한 비트(Btm), ICEN에 대응한 비트(Bic), UAEN에 대응한 비트(Bua), DAEN에 대응한 비트(Bda), ADEN에 대응한 비트 (Bad)를 갖고 있고, 각 비트에 그것에 대응한 모듈이네이블신호에 관한 제어데이타가 세트된다. 예를들면, 비트(Bmu)에는 모듈이네이블신호 MUEN에 관한 제어데이타가 세트된다. 제어데이타의 세트는 중앙처리장치 CPU가 상기 제어레지스터 CS-REG.를 지정하고, 버스를 거쳐서 상기 제어레지스터 CS-REG. 내의 대응하는 비트에 제어데이타를 라이트하는 것에 의해서 달성된다. 특히 제한되지 않지만, 중앙처리장치 CPU가 상기 제어레지스터 CS-REG.를 지정할 수 있도록 하기 위해서, 제어레지스터 CS-REG.에는 소정의 어드레스가 할당되어 있다. 상기 컨트롤러는 상기 제어레지스터 CS-REG.의 각 비트에 세트된 제어데이타에 따라서 각 제어신호를 형성한다. 예를들면, 중앙처리장치 CPU가 상기 제어레지스터 CS-REG.내의 비트(Bmu)에 제어데이타 " 1 "을 라이트하는 것에 의해서, 상기 컨트롤러는 상기 모듈이네이블신호MUEN을 하이레벨로 한다. 이것에 대해서, 중앙처리장치 CPU가 상기 비트(Bmu)에 제어데이타 " 0 "을 라이트하는 것에 의해서, 상기 컨트롤러는 상기 모듈이네이블신호 MUEN을 로우레벨로 한다. 마찬가지로, 중앙처리장치 CPU가 상기 비트(Bcp), 비트(Btl), 비트(Bca), 비트(Bbc), 비트(Brc), 비트(Bdm), 비트(Btm), 비트(Bic), 비트(Bua), 비트(Bda), 비트(Bad)의 각각에 제어데이타 " 1 "(제어데이타 " 0 ")을 라이트하는 것에 의해서, 상기 컨트롤러는 대응한 상기 모듈이네이블 신호 CPEN, TLEN, CAEN, BCEN, RCEN, DMEN, TMEN, ICEN, UAEN, DAEN, ADEN을 각각 하이레벨(로우레벨)로 한다. 상기 컨트롤러는 특히 제한되지 않지만, 상기 인터럽트컨트톨러 INTC로부터의 제어신호를 받아서 제어레지스터 CS-REG.의 각 비트를 강제적으로 리세트한다. 이 리세트에 의해서, 제어레지스터 CS-REG.의 각 비트는 상기 클럭스위치를 도통상태로 하는 제어데이타 " 1 "에 세트된다.
중앙처리장치 CPU에 의한 상기 제어레지스터 CPG-REG.의 각 비트로의 제어데이타의 라이트(세트)는, 예를들면 상기 중앙처리장치 CPU가 실행하는 프로그램에 있어서 지시된다. 그 때문에, 프로그램에 의해 마이크로프로세서 MPU에 있어서의 시스템클럭신호의 주파수를 전환할 수가 있다. 또, 외부단자 CKEXT, CKRATE에 의해서도 시스템클럭신호의 주파수를 전환할 수가 있다. 이와 같이 하는 것에 의해, 예를들면 프로그램을 실행하기 전(예를들면, 리세트후의 초기상태)에 있어서도 외부단자CKEXT, CKRATE에 의해서 시스템클럭신호의 주파수를 정할 수가 있다.
상기 제어레지스터 CS-REG.의 각 비트도 상기 제어레지스터 CPG-REG.와 마찬가지로, 프로그램에 의해 제어데이타가 라이트(세트)된다. 따라서, 프로그램에 의해 모듈에 시스템클럭신호를 공급할지 공급하지 않을 것인지를 정할 수가 있다. 또, 외부로부터의 인터럽트요구, 리세트의 요구 또는 리얼타임클럭 RTC로부터의 인터럽트요구가 있었던 경우, 상기 인터럽트 컨트롤러 INTC에 의해서, 이들 요구가 상기 제어신호로서 상기 컨트롤러에 전달된다. 그 때문에, 이들 요구가 있었던 경우에는 각 클럭스위치가 도통상태로 되고 각 모듈에 시스템클럭신호가 공급된다. 이렇게 하는 것에 의해, 상기 중앙처리장치 CPU로의 시스템클럭신호의 공급이 정지되고 있더라도, 외부로부터의 인터럽트요구(리세트의 요구를 포함) 또는 리얼타임클럭 RTC로부터의 인터럽트 요구에 의해 중앙처리장치 CPU로의 시스템클럭신호의 공급을 재개할 수가 있다.
제11도 (A), 제11도 (B) 및 제11도 (C)에는 제8도의 마이크로프로세서 MPU에 있어서의 처리속도 전환을 필요로 하는 응용예의 1실시예의 개념도가 도시되어 있다. 이 실시예에 있어서, 마이크로프로세서 MPU는 입력펜을 구비하는 휴대정보단말 PDA에 사용되고, 그 중심장치로 된다. 휴대정보단말 PDA는 감압시트를 갖는 LCD상에 문자를 라이트하는 것에 의해서 휴대정보단말 PDA에 대한 입력을 실행한다. 입력펜의 선단에는 오퍼레이터가 그것을 감압시트를 갖는 LCD에 꽉눌러 어떤 문자를 라이트하고 있는 도중인 것을 식별하기 위한 마이크로스위치(도시하지 않음)가 마련되고, 그 개폐상태는 도시되지 않은 신호경로를 거쳐서 마이크로프로세서 MPU에 알려진다. 마이크로프로세서 MPU는 이것을 기본으로 입력펜의 상태를 식별하고, 상기 제7도에 있어서의 고속처리를 필요로 하는 이벤트의 발생 및 고속처리개시의 요구를 인식한다.
즉, 먼저 제11도 (A)에 도시되는 바와 같이 입력펜이 감압시크를 갖는 LCD의 바깥측에 놓여져 오퍼레이터에 의해서 문자의 라이트를 실행할 수 없을 때, 입력펜의 마이크로스위치는 오프상태로 되며 마이크로프로세서 MPU는 이것을 받아서 휴대정보단말PDA가 대기상태에 있는 것을 식별한다. 그리고, 클럭컨트롤러 CKC에 지시해서 상기 제1도의 클럭펄스 발생회로 CPG에 대한 PLL동작제어신호 PLLON 및 PLL대기신호 PLLSB를 로우레벨로 함과 동시에, 클럭이네이블신호 CKEN을 하이레벨로 하고 선택제어신호 COSEL1을 로우레벨로 한다. 이 결과, 클럭펄스 발생회로 CPG의 PLL회로가 동작정지상태로 되어 그 소비전력이 저감됨과 동시에, 시스템클럭신호 CK1의 주파수가 낮아져 중앙처리장치 CPU를 포함하는 제1 내부회로는 저소비전력의 저속동작을 실행한다. 클럭컨트롤러 CKC에 대한 상술한 지시는 상기 제어 레지스터 CPG-REG.내의 비트(Bon), 비트(Bsb), 비트(B11)로의 제어데이타 " 0 "의 라이트 및 비트(Ben)으로의 제어데이타 " 1 "의 라이트에 의해서 달성된다. 즉, 이와 같은 제어데이타의 라이트를 실행하는 프로그램을 중앙처리장치 CPU에 실행시키는 것에 의해서 상술한 지시가 이루어진다.
다음에, 제11도 (B)에 도시되는 바와 같이, 오퍼레이터가 입력펜을 감압시트를 갖는 LCD상에 꽉눌러 문자의 라이트를 개시하면 입력펜의 마이크로스위치가 온상태로 되며 마이크로프로세서MPU는 이것을 받아서 고속이벤트, 즉 고속처리를 요구하는 이벤트의 발생을 인식한다. 그리고, 클럭컨트롤러 CKC에 지시해서 클럭펄스 발생회로 CPG에 대한 PLL대기신호 PLLSB를 하이레벨로 하고 PLL회로를 기동상태로 한다. 이 때, 선택제어신호 COSEL1은 상술한 바와 같이 로우레벨인 채로 되고, 중앙처리장치 CPU를 포함하는 제1 내부회로는 저속동작을 계속한다. 제11도 (B)에 있어서의 클럭컨트롤러 CKC로의 지시는 상기 제어레지스터 CPG-REG.내의 비트(Bon), 비트(B11)로의 제어데이타 " 0 "의 라이트 및 비트(Bsb), 비트(Ben)으로의 제어데이타 " 1 "의 라이트에 의해서 달성된다. 즉, 이와 같은 제어데이타의 라이트를 실행하는 프로그램을 중앙처리장치 CPU에 실행시키는 것에 의해서 상술한 지시가 이루어진다. 물론, 제어데이타가 변화되는 비트로의 라이트만으로 이 지시를 실행하여도 좋다.
다음에, 제11도 (C)에 도시되는 바와 같이, 오퍼레이터가 1개의 문자의 라이트를 종료하여 입력펜을 감압시트를 갖는 LCD로부터 떼어내면 입력펜의 마이크로스위치가 다시 오프상태로 되고, 마이크로프로세서 MPU는 이것을 받아서 고속처리개시의 요구를 인식한다. 그리고, 클럭컨트롤러 CKC에 지시해서 클럭펄스 발생회로 CPG에 공급되는 클럭이네이블신호 CKEN을 일시적으로 로우레벨로 한 후, 선택제어신호 COSEL1을 하이레벨로 한다. 이것에 의해, 시스템클럭신호 CK1의 주파수가 예를들면 4배로 높아지고, 중앙처리장치 CPU를 포함하는 제1 내부회로는 고속모드로 이행한다. 물론, 이 때 클럭펄스 발생회로 CPG의 PLL회로는 안정상태에 있고, 중앙처리장치 CPU는 감압시트를 갖는 LCD에서 보내져 오는 문자데이타를 기본으로 오퍼레이터에 의해서 라이트된 문자의 해석을 고속으로 실행할 수 있다. 제11도(C)에 있어서의 클럭컨트롤러 CKC로의 지시는 특히 제한되지 않지만, 실질적으로 2단계로 나누어 실행된다. 먼저, 상기 제어레지스터 CPG-REG.내의 비트(Ben)으로의 제어데이타 " 0 "을 라이트한다. 그 후, 재차 상기 제어레지스터 CPG-REG.내의 비트(Ben)과 비트(B11)로의 제어데이타 " 1 "을 라이트한다. 제11도 (C)에 있어서의 클럭컨트롤러 CKC로의 지시에 있어서 상기 비트 (Bsb)에 제어데이타 " 1 "을 라이트하도록 하여도 좋다. 즉, 이와 같은 2단계로 나눈 제어데이타의 라이트를 실행하는 프로그램을 중앙처리장치 CPU에 실행시키는 것에 의해서, 상술한 지시가 이루어진다. 물론, 제어데이타가 변화되는 비트로의 라이트만으로 이 지시를 실행하여도 좋다.
주변회로에 공급되는 시스템클럭신호 cks에 대해서도, 상술한 바와 같이 비트(B12)에 대한 제어데이타의 라이트에 의해 그 주파수를 변경할 수가 있다. 그 때문에, 예를들면 제11도 (A 에 있어서의 지시시에는 상기 제어레지스터 CPG-REG.내의 비트(B12)에 대해서 제어데이타 " 0 "을 라이트하고, 제11도 (B) 및 제11도 (C)에 있어서의 지시시에는 상기 제어레지스터 CPG-REG. 내의 비트(B12)에 대해서 제어데이타 " 1 "을 라이트한다. 이것에 의해, 제11도 (A)에 도시한 대기상태시에는 시스템클럭신호 cks가 제11도 (B) 및 제11도 (C)에 있어서의 상태시보다 낮아져 대기상태에 있어서의 주변회로의 소비전력을 저감할 수가 있다. 물론, 비트(B12)에 대한 제어데이타의 라이트는 프로그램에 의해서 지시된다. 그 때문에 시스템클럭신호 CK1이라는 것은 독립해서 시스템클럭신호 cks의 주파수를 설정할 수 있으므로, 제11도 (A), (B) 및 (C)중 아무때나 변경하여도 좋고 전혀 변경하지 않아도 좋다.
제7도에 도시되어 있는 동작흐름중 스텝ST1, ST3, ST6의 각각은 상술한 바와 같이 제어레지스터 CPG-REG.에 제어데이타를 라이트하는 프로그램에 의해서 실행된다. 스텝ST4는 예를들면 PLL회로에 대해서 그것을 기동하고나서 안정하게 될 때까지 시간을 미리 구해 두고, 이것을 타이머회로 TIM, 직렬타임클럭 회로 RTC 등에설정해 둔다. 스텝ST3에서 제어레지스터 CPG-REG.에 제어데이타를 라이트한 후, 타이머회로 TIM 등에 설정되어 있는 소정시간의 동안은 예를들면 스텝ST5의 고속처리요구가 있더라도, 상기 스텝ST6에 대응하는 프로그램의 실행을 실행하지 않도록 한다. 이것에 의해, 스텝ST4, 스텝ST5를 실행할 수가 있다. 상기 스텝ST7에 있어서는 라이트된 문자를 해석하는 프로그램이 실행된다. 실행이 종료하였으면, 스텝ST1로 되돌아간다. 즉, 제어레지스터 CPG-REG.로의 제어 데이타의 라이트를 실행한다. 스텝ST2 및 스텝ST5의 각각은, 예를들면 외부인터페이스 EXIF를 거쳐서 상기 마이크로스위치의 상태를 중앙처리장치 CPU에 의해서 검출하는 프로그램에 의해 달성할 수 있다. 또는, 상기 마이크로스위치의 상태가 변화하는 것에 의해 라이트신호가 발생되도록 해 두고, 이 인터럽트신호에 따라서 상기 마이크로스위치의 상태를 체크하는 인터럽트처리 프로그램을 준비하여 상기 스텝ST2 및 스텝ST5의 각각이 달성되도록 해도 좋다. 이와 같이, 제7도에 도시되어 있는 동작흐름은 중앙처리장치 CPU에 의해 실행되는 프로그램에 의해서 달성할 수가 있다.
또한, 클럭펄스 발생회로 CPG의 PLL회로가 기동되고나서 그의 출력주파수가 안정화할 때까지의 시간은 밀리초(milliseconds) 정도로, 오퍼레이터가 문자의 라이트를 개시하고나서 종료할 때까지의 시간에 비하면 충분히 짧다. 따라서, 제11도 (C)에 있어서의 고속처리개시의 요구가 마이크로프로세서 MPU에 의해 인식되고, 모드전환이 실시되는 시점에서는 PLL회로의 출력주파수는 충분히 안정한 상태에 있어 안정화대기를 위한 대기는 발생하지 않는다.
제12도 (A) 및 제12도 (B)에는 제8도의 마이크로프로세서MPU에 있어서의 처리속도의 전환의 효과를 설명하기 위한 1실시예의 개념도가 도시되어 있다. 또한, 제12도 (A)에는 그 발명의 이해를 용이하게 하기 위해서, 제18도에 도시한 흐름을 실행하는 마이크로프로세서에 있어서의 처리속도의 전환동작이 도시되고, 제12도 (B)에는 본 발명의 마이크로프로세서에 있어서의 처리속도의 전환동작이 대비해서 도시되어 있다.
제12도 (B)에 있어서 본원 발명의 마이크로프로세서MPU에서는 상술한 바와 같이 고속이벤트, 즉 고속처리를 필요로 하는 이벤트의 발생이 인식된 시점에서 PLL대기신호 PLLSB가 하이레벨로 되고 클럭펄스 발생회로 CPG의 PLL회로가 기동상태로 된다. 또, PLL회로의 출력주파수가 안정화할 때까지의 안정화대기의 상태에서는 시스템클럭CK1은 저속모드와 마찬가지로 비교적 낮은 주파수의 클럭펄스 ck1에 따라서 형성되고, 중앙처리장치 CPU를 포함하는 제1 내부회로는 저속처리를 계속한다.
다음에, 마이크로프로세서 MPU에 의해 고속처리개시의 요구가 인식되면, 클럭이네이블신호 CKEN이 일시적으로 로우레벨로 되고, 시스템클럭신호 CK1은 일시적으로 클럭정지상태로 된다. 그 후 선택제어신호 COSEL1이 하이레벨로 변화되면, 시스템클럭신호 CK1의 주파수가 저속모드시의 주파수에 비해서, 예를들면 4배로 높아지고 중앙처리장치 CPU를 포함하는 제1 내부회로는 고속모드로 이행해서 그 처리능력의 증대가 도모된다.
그런데, 제18도의 동작흐름을 실행하는 마이크로프로세서의 경우, 제12도 (A)에 예시되는 바와 같이 클럭펄스 발생회로의 PLL회로는 고속처리개시의 요구가인식된 시점에서 기동되고, 그 출력주파수가 안정화할 때까지의 동안 시스템클럭신호가 정지된다. 이 때문에, 고속처리개시의 요구가 인식되고나서 마이크로프로세서 MPU가 고속모드로 이행할 때까지 비교적 긴 시간이 필요하게 됨과 동시에 시스템클럭신호가 정지되어 있는 동안에 앞으로 실행하려고 하는 처리보다 우선도가 높은 처리나 장해 등의 긴급처리가 발생한 경우, 마이크로프로세서 MPU는 이것에 대처할 수가 없다. 소위, 마이크로프로세서MPU는 시스템다운상태로 되어 버린다.
본 실시예와 같이, 고속이벤트의 발생이 인식된 시점에서 먼저 클럭펄스 발생회로 CPG의 PLL회로를 기동하고 PLL회로의 출력주파수가 안정화할 때까지의 동안도 중앙처리장치 CPU 등을 저속 동작시키고 고속처리개시의 요구가 인식된 시점에서 즉시 고속모드로 이행할 수 있도록 하는 것에 의해서, 마이크로프로세서 MPU의 모드전환동작을 고속화할 수 있음과 동시에 우선도가 높은 처리나 장해 등의 긴급처리의 발생에 대처할 수 있는 마이크로프로세서를 실현하고 그 신뢰성을 높일 수 있는 것이다.
또한, 본원 발명의 마이크로프로세서가 상기와 같은 휴대정보단말 PDA에 이용되는 경우, 입력펜의 마이크로스위치의 상태에 의해 고속처리를 필요로 하는 이벤트의 발생을 인식할 수 있고, 아울러 그 후에 고속처리를 필요로 하는 문자패턴의 인식처리 등이 필요하게 되는 것을 예측할 수가 있다. 따라서, 문자의 라이트개시를 고속이벤트의 발생으로서 인식한 시점에서 클럭펄스 발생회로 CPG의 PLL회로를 기동하여 대기상태로 하는 것이 가능하게 된다.
제13도에는 제8도의 마이크로프로세서에 있어서의 모듈간의 데이타전달경로의 1예가 부분적으로 도시되어 있다. 동일도면에 있어서, 예를들면 승산기MULT는 시스템버스 S-BUS를 구성하는 32비트의 데이타버스 SBD0∼SBD31에 결합된 입력레지스터 IREG를 구비하고, 이 입력레지스터 IREG는 데이타버스 SBD0∼SBD31의 각 비트에 대응해서 마련된 32개의 단위래치회로 ULT를 구비한다. 이들 단위래치회로 ULT의 각각은 그의 제0 비트에 대표해서 도시되는 바와 같이, 1쌍의 인버터V3 및 V4가 교차결합되어 이루어지는, 소위 스테이틱형 래치를 포함한다. 이 스테이틱형 래치의 입출력노드는 클럭드 인버터 CV1을 거쳐서 데이타버스 SBD0-SBD31중의 대응하는 비트의 데이타버스에 결합되고, 그 레벨은 인버터 V5에 의해 반전된 후 내부입력데이타 ID0∼ID31로 된다.
입력레지스터 IREG의 각 단위래치회로 ULT를 구성하는 클럭드 인버터 CV1의 제어단자에는 상기 제10도의 클럭스위치 CS2를 구성하는 앤드게이트 AG7의 출력신호가 공통으로 공급된다. 이 앤드게이트 AG7의 한쪽의 입력단자는 클럭펄스 발생회로 CPG의 멀티플렉서 MUX3의 출력신호, 즉 시스템클럭신호CK1이 공급되고, 그 다른쪽의 입력단자에는 모듈이네이블신호 MUEN이 공급된다. 이것에 의해, 앤드게이트 AG7의 출력신호는 모듈이네이블신호 MUEN 및 시스템클럭신호 CK1이 모두 하이레벨로 되는 것에 의해서 선택적으로 하이레벨로 되고, 이 앤드게이트 AG7의 출력신호의 하이레벨을 받아서 각 단위래치회로 ULT의 클럭드 인버터 CV1이 선택적으로 전달상태로 된다.
상술한 바와 같이, 시스템클럭신호 CK1은 선택제어신호 COSEL1에 따라서 그 주파수가 선택적으로 전환됨과 동시에, 클럭이네이블신호 CKEN이 로우레벨로 되는것에 의해 일시적으로 정지상태로 되고, 또 모듈이네이블신호 MUEN이 로우레벨로 되는 것에 의해서도 상기 앤드게이트 AG7의 출력신호는 선택적으로 정지상태로 된다. 그러나, 상기와 같이 입력레지스터 IREG의 각 단위래치회로 ULT는 그것이 스테이틱형 래치를 기본구성으로 해서 포함하고 있으므로, 시스템클럭신호 CK1의 주파수가 선택적으로 전환되고 상기 앤드게이트 AG7의 출력신호가 정지상태로 되었다고 하더라도 안정하게 데이타를 유지할 수 있고 이것에 대처할 수가 있다.
제14도에는 제8도의 마이크로프로세서 MPU에 있어서의 고속모듈에서 저속모듈에 대한 데이타전달경로의 1예가 부분적으로 도시되고, 제15도에는 제14도에 도시된 1예의 신호파형이 도시되어 있다. 또, 제16도에는 제8도의 마이크로프로세서 MPU의 저속모듈에서 고속모듈에 대한 데이타전달경로의 1예가 도시되고, 제17도에는 제16도에 도시된 1예의 신호파형이 도시되어 있다. 또한, 고속모듈이라는 것은 중앙처리장치 CPU, 승산기MULT, 메모리관리유닛MMU 및 캐쉬메모리 CACHE를 포함하는 제1 내부회로를 의미하고, 제14도∼제17도에서 메모리관리유닛MMU가 그 대표로서 도시되어 있다. 또, 저속모듈이라는 것은 버스컨트롤러BSC 및 각종 주변장치 컨트롤러를 포함하는 제2 내부회로를 의미하고, 제14도∼제17도에서는 버스컨트롤러 BSC가 그 대표예로서 도시되어 있다. 또, 제15도 및 제17도에 도시된 신호파형은 상기 제6도의 실시예에 따라서 시스템클럭신호 CK1과 시스템클럭신호 cks 사이의 주파수차가 4배인 경우를 나타내고 있다.
제14도에 있어서 고속모듈인 메모리관리유닛 MMU는 그 출력단자가 캐쉬버스 C-BUS를 구성하는 32비트의 데이타버스 CBD0∼CBD31에 결합된 출력레지스터 OREG를구비하고, 이 출력레지스터 OREG는 데이타버스 CBD0∼CBD31의 각 비트에 대응해서 마련된 32개의 단위래치회로 ULT를 구비한다. 각 단위래치회로 ULT의 데이타입력단자에는 메모리관리유닛 MMU의 도시되지 않은 전단회로에서 대응하는 내부출력데이타 D00∼D031이 공급되고, 그 클럭입력단자 CK에는 앤드게이트 AG8의 출력 신호가 공통으로 공급된다. 또한, 출력레지스터 OREG를 구성하는 단위래치회로 ULT는 상기 제13도의 입력레지스터 IREG를 구성하는 단위래치회로 ULT와 동일한 구성의 스테이틱형 래치로 이루어져 있다. 그 때문에, 동일도면에는 그 구성을 도시하지 않는다.
메모리관리유닛 MMU의 앤드게이트 AG8의 제1 입력단자에는 세트신호 SSET가 공급된다. 또, 제2 입력단자에는 상기 시스템클럭신호 CK1이 공급되고, 그 제3 입력단자에는 멀티클럭 컨트롤러 MCKC에서 반전준비신호 /BRDY가 공급된다. 세트신호 SSET는 멀티클럭컨트롤러 MCKC에도 공급되고, 이 멀티클럭컨트롤러 MCKC에는 또, 클럭펄스 발생회로CPG에서 시스템클럭 신호 CK1 및 cks가 공급된다.
한편, 저속모듈인 버스컨트롤러 BSC는 그 입력단자가 데이타버스 CBD0∼ CBD31에 결합된 입력레지스터 IREG를 구비하고, 이 입력레지스터 IREG는 데이타버스 CBD0∼CBD31의 각 비트에 대응해서 마련된 32개의 단위래치회로 ULT를 구비한다. 각 단위래치회로 ULT의 데이타입력단자는 대응하는 데이타버스 CBD0∼CBD31에 각각 결합되고, 그 클럭입력단자 CK에는 앤드게이트 AG9의 출력신호가 공통으로 공급된다. 또한, 입력레지스터 IREG를 구성하는 단위래치회로 ULT도 상기 제13도의 단위래치회로 ULT와 동일한 구성으로 되어 있다.
버스컨트롤러 BSC의 앤드게이트 AG9의 한쪽의 입력단자에는 멀티클럭 컨트롤러 MCKC에서 요구신호 MRQS가 공급되고, 그 다른쪽의 입력단자에는 시스템클럭신호 cks가 공급된다.
특히 제한되지 않지만, 메모리관리유닛 MMU내의 전단회로에서 내부출력데이타 DO0∼DO31이 출력되면, 제15도에 도시되는 바와 같이 세트신호 SSET가 시스템클럭신호 CK1의 하강에지를 받아서 하이레벨로 된다. 이 때문에, 시스템클럭신호 CK1의 최초의 상승에지에서 앤드게이트 AG 8의 출력신호가 하이레벨로 변화하고, 내부출력데이타 DO0∼DO31이 메모리관리유닛 MMU의 출력레지스터 OREG에 페치되어 캐쉬버스 C-BUS의 데이타버스 CBD0∼CBD31로 출력된다. 또, 세트신호 SSET의 하이레벨과 시스템클럭신호 CK1의 상승에지를 받아서 요구신호 MRQS가 하이레벨로 되고, 반전준비신호 /BRDY가 로우레벨로 된다. 그리고, 요구신호 MRQS의 하이레벨을 받아서 시스템클럭신호 cks가 앤드게이트 AG9의 출력신호로 되어 버스컨트롤러 BSC의 입력레지스터 IREG를 구성하는 단위래치회로 ULT에 공급되고, 그 하강에지에서 데이타버스 CBD0∼CBD31상의 데이타가 입력레지스터 IREG에 페치된다. 입력레지스터 IREG에 페치된 데이타는 버스컨트롤러 BSC의 내부회로에 전달된다.
버스컨트롤러 BSC의 입력레지스터 IREG에 대한 데이타의 페치가 종료하면, 먼저 요구신호 MRQS가 반전준비신호 /BRDY의 로우레벨과 시스템클럭신호 cks의 상승에지를 받아서 로우레벨로 되돌아가고, 이 요구신호 MRQS의 로우레벨과 시스템클럭신호 cks의 하강에지를 받아서 반전준비신호 /BRDY가 하이레벨로 되돌아간다. 또, 반전준비신호 /BRDY의 하이레벨과 시스템클럭신호 CK1의 하강에지를 받아서 세트신호 SSET가 로우레벨로 되돌아가고 데이타전달경로는 초기상태로 되돌아간다.
이러한 것에 의해서, 메모리관리유닛 MMU에서는 출력레지스터 OREG에 대한 내부출력데이타 DO0∼DO31의 페치가 반전준비신호 /BRDY의 로우레벨을 받아서 시스템클럭신호 CK1의 1회의 상승에지에 한정되고, 이 반전준비신호 /BRDY는 버스컨트롤러 BSC의 입력레지스터 IREG에 의한 데이타버스 CBD0∼CBD31상의 데이타의 페치가 종료한 후, 충분한 타이밍마진을 갖고 하이레벨로 되돌아간다. 따라서, 메모리관리유닛 MMU 및 버스컨트롤러 BSC가 다른 주파수의 시스템클럭신호 CK1 및 cks에 따라서 동작함에도 불구하고, 양자간의 데이타수수는 확실하게 실행되어 동작의 안정화가 도모된다.
다음에, 제16도의 경우, 저속모듈인 버스컨트롤러 BSC는 그 출력단자가 캐쉬버스 C-BUS를 구성하는 32비트의 데이타버스 CBD0∼CBD31에 결합된 출력레지스터 OREG를 구비하고, 이 출력레지스터 OREG는 데이타버스 CBD0∼CBD31의 각 비트에 대응해서 마련된 32개의 단위래치회로 ULT를 구비한다.
각 단위래치회로 ULT의 데이타입력단자에는 버스컨트롤러 BSC의 도시되지 않은 전단회로에서 대응하는 내부출력데이타 DO0∼DO31이 공급되고, 그 클럭입력단자 CK에는 앤드게이트 AG10의 출력신호가 공통으로 공급된다. 또한, 출력레지스터 OREG를 구성하는 단위래치회로 ULT는 상기 제13도의 입력레지스터 IREG를 구성하는 단위래치회로 ULT와 동일한 구성으로 되어 있다.
버스컨트롤러 BSC의 앤드게이트 AG10의 제1 입력단자에는 세트신호 SSET가 공급된다. 또, 그 제2 입력단자에는 시스템클럭신호 cks가 공급되고, 그 제3 입력단자에는 멀티클럭 컨트롤러 MCKC에서 반전준비신호 /BRDY가 공급된다. 세트신호SSET는 멀티클럭컨트롤러 MCKC에도 공급되고, 이 멀터클럭 컨트롤러 MCKC에는 또, 클럭펄스 발생회로 CPG에서 시스템클럭신호 cks 및 CK1이 공급된다.
한편, 고속모듈인 메모리관리유닛 MMU는 그 입력단자가 데이타버스 CBD0∼CBD31에 결합된 입력레지스터 IREG를 구비하고 이 입력레지스터 IREG는 데이타버스 CBD0∼CBD31의 각 비트에 대응해서 마련된 32개의 단위래치회로 ULT를 구비한다. 이들 단위래치회로 ULT의 데이타 입력단자는 대응하는 데이타버스 CBD0∼ CBD31에 각각 결합되고, 그 클럭입력단자 CK에는 앤드게이트 AG11의 출력신호가 공통으로 공급된다. 또한, 이 입력레지스터 IREG를 구성하는 각 단위래치회로 ULT도 상기 제13도의 입력레지스터 IREG를 구성하는 단위래치회로 ULT과 동일한 구성으로 되어 있다.
메모리관리유닛 MMU의 앤드게이트 AG11의 한쪽의 입력단자에는 멀티클럭컨트롤러 MCKC에서 요구신호 MRQS가 공급되고, 그의 다른쪽의 입력단자에는 시스템클럭신호 CK1이 공급된다.
특히 제한되지 않지만, 버스컨트롤러 BSC내의 전단회로에서 내부 출력데이타 DO0∼DO31이 출력되면, 제17도에 도시되는 바와 같이 세트신호 SSET가 시스템클럭신호 cks의 하강에지를 받아서 하이레벨로 된다. 이 때문에, 시스템클럭신호 cks의 최초의 상승에지에서 앤드게이트 AG10의 출력신호가 하이레벨로 변화하고, 내부출력데이타 DO0∼DO31이 버스컨트롤러 BSC의 출력레지스터 OREG에 페치되어 캐쉬버스 C-BUS의 데이타버스 CBD0∼CBD31로 출력된다. 또, 세트신호 SSET의 하이레벨과 시스템클럭신호 cks의 다음의 하강에지를 받아서 요구신호 MRQS가 하이레벨로 되고,반전준비신호 /BRDY가 로우레벨로 된다. 그리고, 요구신호 MRQS의 하이레벨을 받아서 시스템클럭신호 CK1이 앤드게이트 AG11의 출력신호로 되어 메모리관리유닛 MMU의 입력레지스터 IREG를 구성하는 단위래치회로 ULT에 공급되고, 그 하강에지에서 데이타버스 CBD0∼CBD31상의 데이타가 입력레지스터 IREG에 페치된다. 입력레지스터 IREG에 페치된 데이타는 메모리관리유닛 MMU내의 내부회로에 전달된다.
메모리관리유닛 MMU의 입력레지스터 IREG에 대한 데이타의 페치가 종료하면, 먼저 요구신호 MRQS가 반전준비신호 /BRDY의 로우레벨과 시스템클럭신호 CK1의 다음의 상승에지를 받아서 로우레벨로 되돌아가고, 요구신호 MRQS 및 반전준비신호 /BRDY의 로우레벨과 시스템클럭신호 cks의 다음의 상승에지를 받아서 세트신호 SSET가 로우레벨로 되돌아간다. 또, 세트신호 SSET의 로우레벨과 시스템클럭신호 CK1의 하강에지를 받아서 반전준비신호 /BRDY가 하이레벨로 되돌아가고, 데이타전달경로는 초기상태로 되돌아간다.
이러한 것에 의해서, 메모리관리유닛 MMU에서는 입력레지스터 IREG에 대한 데이타 CBD0∼CBD31의 페치가 반전준비신호 /BRDY의 로우레벨을 받아서 시스템클럭신호 CK1의 1회의 상승에지에 한정되고, 이 반전준비신호 /BRDY는 메모리관리유닛 MMU의 입력레지스터 IREG에 의한 데이타버스 CBD0∼CBD31상의 데이타의 페치가 종료한 후, 충분한 타이밍마진을 가지고 하이레벨로 되돌아간다. 따라서, 버스컨트롤러 BSC 및 메모리관리유닛 MMU가 다른 주파수의 시스템클럭신호 cks 및 CK1에 따라서 동작함에도 불구하고, 양자간의 데이타수수는 확실하게 실행되며 동작의 안정화가 도모된다.
특히 제한되지 않지만, 상기 세트신호 SSET는 데이타를 출력하는 측의 모듈에 의해서 형성된다.
상기 실시예에서 얻어지는 작용효과는 다음과 같다.
[ 1 ] 비교적 낮은 주파수의 클럭펄스를 기준주파수입력으로 하고 이것을 증가시킨 비교적 높은 주파수의 발진펄스를 형성하는 PLL회로를 내장하는 마이크로프로세서에 있어서, 저속모드시에는 PLL회로의 동작을 정지해서 비교적 낮은 주파수의 클럭펄스에 대응한 시스템클럭신호를 출력하고, 고속모드시에는 먼저 고속처리가 필요한 이벤트의 발생을 받아서 PLL회로를 기동한 후 이러한 PLL회로가 안정화하고 또한 고속처리개시의 요구가 있을 때까지의 동안은 상기 비교적 낮은 주파수의 클럭펄스에 대응한 시스템클럭신호를 계속해서 출력하며, PLL회로의 출력주파수가 안정화하고 또한 고속처리개시의 요구가 있었던 시점에서 PLL회로에 의해 형성되는 비교적 높은 주파수의 발진펄스에 대응한 시스템클럭신호를 출력하는 것에 의해서 마이크로프로세서의 저속모드에서 고속모드로의 전환을 고속으로 실행할 수 있다는 효과가 얻어진다.
[ 2 ] 상기 [ 1 ]항에 의해, PLL회로의 출력주파수가 안정화할 때까지의 동안 마이크로프로세서의 동작을 계속하게 할 수 있기 때문에, 우선처리의 발생이나 장해 등의 예측불허의 사태에 대처할 수 있다는 효과가 얻어진다.
[ 3 ] 상기 [ 2 ]항에 의해, 마이크로프로세서의 저소비전력화를 도모하면서 그 신뢰성을 높일 수 있다는 효과가 얻어진다.
[ 4 ] 상기 [ 1 ]항∼[ 3 ]항에 있어서, 저속모드에서 고속모드로의 전환시시스템클럭신호를 매우 짧은 동안 일시적으로 정지하는 것에 의해서, 클럭전환에 따른 해저드잡음을 방지하면서 모드전환시에 있어서의 마이크로프로세서의 동작을 안정화할 수 있다는 효과가 얻어진다.
[ 5 ] 상기 [ 1 ]항∼[ 4 ]항에 있어서, 마이크로프로세서의 각부를 모듈화하고 시스템클럭신호를 대응하는 모듈이네이블신호에 따라서 각각 선택적으로 각 모듈에 공급하는 것에 의해서, 시스템구성상 불필요하게 된 모듈을 선택적으로 분리할 수 있음과 동시에 마이크로프로세서의 처리내용에 따라서 사용되지 않는 모듈의 동작을 선택적으로 정지하여 마이크로프로세서의 저소비전력화를 추진할 수 있다는 효과가 얻어진다.
[ 6 ] 상기 [ 1 ]항∼[ 5 ]항에 있어서, 다른 주파수의 시스템클럭신호를 받아서 동작하는 모듈간의 데이타수수를, 예를듈면 교차결합된 1쌍의 인버터를 포함하는 스테이틱형 래치를 거쳐서 실행하는 것에 의해서, 시스템클럭신호의 전환시 또는 클럭정지시에 있어서의 데이타손실을 방지하여 마이크로프로세서의 동작을 더욱 안정화할 수 있다는 효과가 얻어진다.
[ 7 ] 상기 [ 1 ]항∼[ 6 ]항의 마이크로프로세서를 입력펜을 구비하는 휴대정보단말 등에 사용하는 것에 의헤서, 마이크로프로세서, 더나아가서는 휴대정보단말 등을 저소비전력화하고 그 동작을 안정화할 수 있다는 효과가 얻어진다.
[ 8 ] 시스템클럭신호를 공급하는 모듈을 모듈이네이블신호에 의해서 선택함과 동시에 그 시스템클럭신호의 주파수를 변경할 수 있기 때문에, 적은 소비전력으로 필요한 처리를 실행할 수가 있다.
[ 9 ] 레지스터에 설정하는 제어데이타에 의해 시스템클럭신호의 주파수를 변경할 수 있음과 동시에 시스템클럭신호가 공급될 모듈의 선택이 가능하기 때문에, 마이크로프로세서의 유연성을 증가시킬 수 있다.
이상 본 발명자에 의해 이루어진 실시예에 의거해서 구체적으로 설명하였지만, 본원 발명은 상기 실시예에 한정되는 것은 아니고 그 요지를 이탈하지 않는 범위내에서 여러가지로 변경가능한 것은 물론이다. 예를들면, 제1도에 있어서 비교적 낮은 주파수의 클럭펄스를 기본으로 비교적 높은 주파수의 시스템클럭신호를 형성하기 위한 클럭생성회로는 특히 PLL회로인 것을 필수조건으로는 하지 않고, 발진회로 XOSC도 수정진동자를 사용한 것에 한정되는 것은 아니다. 각 클럭펄스 및 시스템클럭신호의 상수는 임의로 설정할 수 있고, 클럭펄스 발생회로 CPG의 블럭구성도 임의이다.
제2도, 제3도 (A), 제3도 (B), 제4도 (A), 제4도 (B)에 도시한 PLL회로의 구성은 이들 실시예에 의한 계약을 받지 않는다. 제5도 (A), 제5도 (B)에 있어서 MUX3 및 MUX4를 비롯한 멀티플렉서의 논리구성은 여러가지의 실시형태가 고려될 것이다. 제6도에 있어서, 각 클럭펄스 및 시스템클럭신호의 위상관계나 주파수관계는 이 실시예에 의한 제약을 받지 않으며, 클럭이네이블신호 CKEN 및 선택제어신호 COSEL1 및 COSEL2 등의 유효레벨도 마찬가지이다. 시스템클럭신호 CK1 및 cks의 주파수를 해저드잡음없이 전환할 수 있는 경우, 특히 클럭정지기간을 마련할 필요는 없다. 제7도에 있어서 PLL회로가 기동되고나서 고속처리개시가 요구될 때까지의 동안에 PLL회로의 출력주파수가 문제없이 안정화하는 것을 보증할 수 있는 경우, 스텝ST4에 의한 판정은 생략할 수 있다.
제8도에 있어서 마이크로프로세서 MPU는 임의의 블럭구성을 취할 수 있고 그 버스형태도 임의이다. 제9도에 도시한 기판배치도는 그저 1예일 뿐, 본 발명에 제약을 받지 않는다. 제10도에 있어서 버스컨트롤러 BSC를 비롯한 제2 내부회로에는 1개 또는 3개 이상의 클럭드라이버 DRIVER을 거쳐서 시스템클럭신호 cks를 공급해도 좋다.
제11도에 있어서 휴대정보단말 PDA에 있어서의 고속이벤트 발생 및 고속처리개시 요구의 인식방법은 임의로 선택할 수 있다. 예를들면, 문자의 라이트개시를 고속이벤트의 발생으로서 인식하고, 입력화면상의 소정의 에리어를 입력펜으로 지정했을 때를 고속처리개시요구로서 인식하도록 해도 좋다. 휴대정보단말 PDA의 외관구조는 이 실시예에 의한 제약을 받지 않는다. 제12도 (A), 제12도 (B)에 있어서 모드전환시에 있어서의 각 처리단계의 시간관계는 절대적인 것은 아니다. 제13도에 있어서 입력레지스터 IREG 등에 포함되는 단위래치회로 ULT의 구성은 여러가지 실시형태를 취할 수 있다. 제14도 및 제16도에 있어서 출력레지스터 OREG 및 입력레지스터 IREG의 제어방법은 제약받지 않으며, 그 타이밍관계나 각 신호의 유효레벨 등도 임의이다.
이상의 설명에서는 본원 발명자들에 의해서 이루어진 발명을 그 배경으로 된 이용분야인 PLL회로를 내장하는 마이크로프로세서 및 이것을 포함하는 휴대정보단말에 적용한 경우에 대해서 설명하였지만 그것에 한정되는 것은 아니고, 예를들면 각종 클럭생성회로를 내장하는 마이크로프로세서나 이들 마이크로프로세서를 응용한 각종 시스템에도 적용할 수가 있다. 본 발명은 적어도 클럭펄스 발생회로를 구비하고 또한 다른 주파수의 시스템클럭신호에 따른 여러가지 동작모드를 갖는 마이크로프로세서와 이와 같은 마이크로프로세서를 포함하는 장치 및 시스템에 널리 적용할 수가 있다.
본원에 있어서 개시되는 발명중 대표적인 것에 의해서 얻어지는 효과를 간단하게 설명하면, 다음과 같다. 즉, 비교적 낮은 주파수의 클럭펄스를 기준주파수입력으로 하고 이것을 증가시킨 비교적 높은 주파수의 발진펄스를 형성하는 PLL회로를 내장하는 마이크로프로세서에 있어서, 저속모드시에는 PLL회로의 동작을 정지하여 비교적 낮은 주파수의 클럭펄스에 대응한 시스템클럭신호를 출력하고, 고속모드시에는 먼저 고속처리가 필요한 이벤트의 발생을 받아서 PLL회로를 기동한 후 이러한 PLL회로가 안정화하고 또한 고속처리개시의 요구가 있을 때까지의 동안은 상기 비교적 낮은 주파수의 클럭펄스에 대응한 시스템클럭신호를 계속해서 출력하며, PLL회로의 출력주파수가 안정화하고 또한 고속처리개시의 요구가 있었던 시점에서 PLL회로에 의해 형성되는 비교적 높은 주파수의 발진펄스에 대응한 시스템클럭신호를 출력하는 것에 의해서, 고속처리개시의 요구가 있었던 시점에서의 마이크로프로세서의 저속모드에서 고속모드로의 전환을 고속으로 실행할 수 있음과 동시에 이러한 전환시에 저속모드에 대응한 시스템클럭신호를 계속해서 공급하여 마이크로프로세서의 동작을 계속하게 할 수 있기 때문에, 우선처리의 발생이나 장해 등의 예측불허의 사태에 대처할 수가 있다. 이 결과, 저속모드에서 고속모드로의 전환을 고속으로 실행하고 또한 모드전환시에 있어서도 예측불허의 사태에 대처할 수 있는기능을 갖게 한 마이크로프로세서를 실현할 수가 있다.
저속모드에서 고속모드로의 전환시 시스템클럭신호를 매우 짧은 시간동안 일시적으로 정지하는 것에 의해서 클럭전환에 따른 해저드잡음을 방지할 수 있기 때문에, 모드전환시에 있어서의 마이크로프로세서의 동작을 더욱더 안정화하고 그 신뢰성을 향상시킬 수가 있다.
마이크로프로세서의 각부를 모듈화하고 시스템클럭신호를 모듈이네이블신호에 따라서 각각 선택적으로 각 모듈에 공급하는 것에 의해, 시스템구성상 불필요하게 된 모듈을 선택적으로 분리할 수 있음과 동시에 마이크로프로세서의 처리내용에 따라서 사용되지 않는 모듈의 동작을 선택적으로 정지하여 마이크로프로세서의 저소비전력화를 추진할 수가 있다.
다른 주파수의 시스템클럭신호를 받아서 동작하는 모듈간의 데이타 수수를 교차결합된 1쌍의 인버터를 포함하는 스테이틱형 래치를 거쳐서 실행하는 것에 의해서, 시스템클럭신호의 전환시 또는 클럭정지시에 있어서의 데이타손실을 방지하여 마이크로프로세서의 동작을 안정화할 수가 있다.
이러한 마이크로프로세서를 입력펜을 구비하는 휴대정보단말 등에 사용하는 것에 의해 마이크로프로세서, 더아나가서는 휴대정보단말 등의 저소비전력화를 도모하면서 그 동작을 안정화할 수가 있다.
제1 도는 본 발명에 관한 마이크로프로세서에 내장되는 클럭펄스 발생회로의 1 실시예를 도시한 블럭도.
제2도는 제1도의 클럭펄스 발생회로에 포함되는 PLL 회로의 1 실시예를 도시한 블럭도.
제3도 (A) 및 제3도 (B)는 제2도의 PLL 회로의 1실시예를 도시한 부분적인 회로도.
제4도 (A) 및 제4도 (B)는 제2도의 PLL회로의 1실시예를 도시한 다른 부분적인 회로도.
제5도 (A) 및 제5도 (B)는 제1도의 마이크로프로세서에 포함되는 2종류의 멀티플렉서의 1실시예를 도시한 회로도.
제6도는 제1도의 클럭펄스 발생회로의 1실시예를 도시한 신호파형도.
제7도는 제1도의 클럭펄스 발생회로의 동작을 도시한 흐름도.
제8도는 제1도의 클럭펄스 발생회로를 포함하는 마이크로프로세서의 1실시예를 도시한 시스템 구성도.
제9도는 제8도의 마이크로프로세서의 1실시예를 도시한 기판배치도.
제10도는 제8도의 마이크로프로세서의 클럭공급경로를 설명하기 위한 1실시예를 도시한 접속도.
제11도 (A), 제11도 (B) 및 제11도 (C)는 제8도의 마이크로프로세서의 처리속도의 전환을 필요로 하는 응용예의 1실시예를 도시한 개념도.
제12도 (A) 및 제12도 (B)는 제8도의 마이크로프로세서의 처리속도 전환의 효과를 설명하기 위한 개념도.
제13도는 제8도의 마이크로프로세서의 데이타 전달경로의 1실시예를 도시한 부분적인 구성도.
제14도는 제8도의 마이크로프로세서의 고속모듈에서 저속모듈에 대한 데이타 전달경로의 1실시예를 도시한 부분적인 구성도.
제15도는 제14도의 데이타 전달경로의 동작을 도시한 신호파형도.
제16도는 제8도의 마이크로프로세서의 저속모듈에서 고속모듈에 대한 데이타 전달경로의 1실시예를 도시한 부분적인 구성도.
제17도는 제16도의 데이타 전달경로의 동작을 도시한 신호 파형도.
제18도는 마이크로 프로세서에 포함되는 클럭펄스 발생회로의 1예를 도시한 동작흐름도.
제19도는 제8도의 실시예에 있어서의 클럭컨트롤러의 1실시예를 도시한 블럭도.
Claims (37)
- 제1 내부회로, 클럭생성회로, 스위치회로 및 제어회로를 갖는 데이타 처리장치로서,상기 제1 회로는 제1 클럭을 입력받고 제1 클럭과 동기해서 동작하고,상기 클럭생성회로는 소정 주파수의 제2 클럭을 입력받고 기동신호에 의해 제2 클럭보다 높은 주파수의 제3 클럭의 생성을 개시하며, 제3 클럭이 안정될 때까지 제1 시간을 필요로 하고,상기 스위치회로는 선택신호에 따라서 제3 클럭 또는 제3 클럭보다 낮은 주파수의 제4 클럭중의 어느 한쪽을 상기 제1 클럭으로서 상기 제1 회로로 공급하고,상기 제어회로는 제4 클럭을 제1 클럭으로서 공급하고 있을 때에, 스위치 회로를 거쳐서 제3 클럭을 상기 제1 클럭으로서 제1 회로로 공급하는 경우, 상기 기동신호를 클럭생성회로로 공급하고, 그 후 제4 클럭에서 제3 클럭으로 변경하기 위해 선택신호를 출력하고,상기 스위치회로는 제1 회로로의 제4 클럭의 공급을 제2 시간동안 정지시키고, 그 후 제3 클럭을 제1 회로로 제1 클럭으로서 공급하는 것을 특징으로 하는 데이타 처리장치.
- 제1항에 있어서,상기 제4 클럭은 제2 클럭보다 낮은 주파수인 것을 특징으로 하는 데이타 처리장치.
- 제2항에 있어서,상기 제2 클럭에서 제4 클럭을 생성하는 분주회로를 더 갖는 것을 특징으로 하는 데이타 처리장치.
- 제1항에 있어서,상기 클럭생성회로는 위상록루프회로를 갖는 것을 특징으로 하는 데이타 처리장치.
- 제4항에 있어서,상기 제2 클럭을 생성하는 발진기 및 상기 제2 클럭에서 제4 클럭을 생성하는 분주회로를 더 갖는 것을 특징으로 하는 데이타 처리장치.
- 제5항에 있어서,상기 발진기는 수정발진기를 사용해서 상기 제2 클럭을 생성하는 발진회로를 갖는 것을 특징으로 하는 데이타 처리장치.
- 제6항에 있어서,데이타 처리장치 내부의 상기 발진회로와 데이타 처리장치 외부의 수정발진기를 접속하기 위한 외부단자를 더 갖는 것을 특징으로 하는 데이타 처리장치.
- 제1항에 있어서,상기 제어회로는 제4 클럭에서 제3 클럭으로의 전환시에 제2 시간이 경과하는 동안 제4 클럭 및 제3 클럭 모두 제1 회로로의 공급을 정지시키기 위해 상기 스위치회로가 제4 클럭을 출력하는 것을 정지시키는 신호를 출력하는 것을 특징으로 하는 데이타 처리장치.
- 제1항에 있어서,상기 제1 회로는 제1 클럭과 동기해서 동작하는 중앙처리장치를 포함하는 것을 특징으로 하는 데이타 처리장치.
- 제9항에 있어서,상기 제어회로는 레지스터와 컨트롤러를 갖고,상기 레지스터는 상기 중앙처리장치에 의해 제어정보가 설정되고,상기 컨트롤러는 상기 레지스터에 설정된 제어정보에 따라서 상기 선택신호를 액티브상태로 하는 것을 특징으로 하는 데이타 처리장치.
- 제9항에 있어서,상기 제3 클럭이 제1 클럭으로서 공급되고 있는 경우, 상기 중앙처리장치는상기 제4 클럭이 제1 클럭으로서 공급되고 있는 경우보다 고속으로 처리를 실행하는 것을 특징으로 하는 데이타 처리장치.
- 제1 회로, 클럭생성회로 및 멀티플렉서를 갖는 데이타 처리장치로서,상기 제1 회로는 제1 시스템클럭과 동기해서 동작하고, 또 상기 제1 시스템클럭의 주파수의 변경에 의해 저속동작모드와 고속동작모드를 선택할 수 있고,상기 클럭생성회로는 제1 주파수의 제1 클럭에 따라 제1 주파수보다 높은 제2 주파수의 제2 클럭을 생성하고, 출력하는 클럭의 주파수가 안정될 때까지 제 1 시간을 필요로 하고,상기 멀티플렉서는 저속동작모드에서는 상기 제1 시간내에 제1 클럭을 선택하고, 고속동작모드에서는 제2 클럭을 선택하고, 선택한 클럭신호를 제1 회로로 제1 시스템클럭으로서 출력하고, 저속동작모드에서 고속동작모드로 변경하는 경우에 상기 멀티플렉서는 제1 회로로의 제1 클럭의 공급을 제2 시간동안 정지시키고, 그 후에 제2 클럭을 제1 시스템클럭으로서 제1 회로로 출력하는 것을 특징으로 하는 데이타 처리장치.
- 제12항에 있어서,상기 클럭생성회로는 위상록루프회로를 갖는 것을 특징으로 하는 데이타 처리장치.
- 제13항에 있어서,상기 멀티플렉서에서의 제1 클럭에서 제2 클럭으로의 변경은 제1 클럭과 제2 클럭 모두 제1 회로로 제1 시스템클럭으로서의 공급이 정지되는 제2 시간내에 실행되는 것을 특징으로 하는 데이타 처리장치.
- 제12항에 있어서,상기 제1 회로는 제1 시스템클럭과 동기해서 동작하는 여러개의 제1 모듈을 갖고,상기 데이타 처리장치는 제2 회로를 더 갖고,상기 제2 회로는 제3 클럭을 제2 시스템클럭으로서 공급받고, 상기 제2 시스템클럭과 동기해서 동작하는 여러개의 제2 모듈을 갖고,상기 여러개의 제1 모듈은 중앙처리장치, 승산기 및 메모리 컨트롤러를 갖고,상기 여러개의 제2 모듈은 버스 컨트롤러 및 주변장치 컨트롤러를 갖는 것을 특징으로 하는 데이타 처리장치.
- 제15항에 있어서,상기 제1 시스템클럭을 상기 여러개의 제1 모듈로 공급하는 제1 셀렉터 및상기 제2 시스템클럭을 상기 여러개의 제2 모듈로 공급하는 제2 셀렉터를 더 갖는 것을 특징으로 하는 데이타 처리장치.
- 제15항에 있어서,상기 여러개의 제1 모듈과 상기 여러개의 제2 모듈 사이에서 데이타전송을 실행하는 래치부를 더 갖는 것을 특징으로 하는 데이타 처리장치.
- 제15항에 있어서,상기 고속동작모드에서의 고속처리가 필요한 사상발생에 의해 상기 클럭 생성회로는 활성화되고,상기 사상발생 후, 고속처리 개시요구를 수신하는 것에 의해 상기 제1 회로는 고속동작모드로 되는 것을 특징으로 하는 데이타 처리장치.
- 제18항에 있어서,상기 데이타 처리장치는 펜입력형의 휴대용 정보장치에 사용되는 것이고, 입력펜에 의한 입력개시에 의해 고속처리가 필요한 사상이 발생하고, 입력펜에 의한 입력종료에 의해 고속처리 개시요구가 발생하는 것을 특징으로 하는 데이타 처리장치.
- 동작모드로서 제1 동작모드와 제2 동작모드를 갖고,제1 클럭생성회로, 내부회로, 제2 클럭생성회로, 스위치회로 및 제어회로를 갖는 프로세서로서,상기 제1 클럭생성회로는 제1 클럭과 제2 클럭을 생성하고,상기 내부회로는 클럭신호를 입력받고 상기 클럭신호와 동기해서 동작하고,상기 제2 클럭생성회로는 제2 클럭신호를 입력받고, 활성화신호에 따라서 제3 클럭을 생성하고, 상기 제3 클럭신호의 출력까지 제1 시간간격을 필요로 하고,상기 스위치회로는 스위치신호에 따라서 제1 클럭 또는 제3 클럭중의 어느 한쪽을 상기 클럭신호로서 내부회로로 공급하고,상기 제어회로는 상기 스위치신호를 공급하고,제1 동작모드에서 프로세서를 동작시킬 것을 요구하는 제1 요구에 따라서 상기 내부회로로 상기 제1 클럭신호를 상기 클럭신호로서 공급하고,제2 동작모드에서 프로세서를 동작시킬 것을 요구하는 제2 요구에 따라서 상기 활성화신호를 공급하고, 그 후 스위치신호를 공급하고, 제1 시간동안에 상기 스위치회로를 거쳐서 내부회로로 제1 클럭신호가 공급되고,상기 스위치회로는 제2 시간동안 제1 클럭신호와 제3 클럭신호의 공급을 억제하고, 그 후 제3 클럭신호가 스위치회로를 거쳐서 상기 내부회로로 공급되는 것을 특징으로 하는 프로세서.
- 제20항에 있어서,상기 내부회로는 상기 클럭신호와 동기해서 동작하는 중앙처리장치를 포함하는 것을 특징으로 하는 프로세서.
- 제21항에 있어서,상기 제어회로는 상기 중앙처리장치에 의해서 제어정보가 설정되는 레지스터 및 이 레지스터의 내용에 따라서 상기 스위치회로와 상기 활성화신호를 출력하는 컨트롤러를 포함하는 것을 특징으로 하는 프로세서.
- 제21항에 있어서,상기 제1 클럭생성회로는 제2 클럭신호를 생성하는 발진기 및 제2 클럭신호를 분주하고 제1 클럭신호를 생성하는 분주기를 갖는 것을 특징으로 하는 프로세서.
- 제23항에 있어서,상기 발진기는 수정발진기를 사용해서 제2 클럭신호를 생성하는 발진회로를 갖고,상기 제2 클럭생성회로는 위상록루프회로를 포함하는 것을 특징으로 하는 프로세서.
- 제24항에 있어서,상기 발진회로와 외부에 접속되는 상기 수정발진기를 접속하기 위한 외부 단자를 더 갖는 것을 특징으로 하는 프로세서.
- 제25항에 있어서,상기 제3 클럭신호는 제1 클럭신호보다 높은 주파수인 것을 특징으로 하는 프로세서.
- 마이크로프로세서를 구성하는 제1 및 제2 모듈로 클럭신호를 공급하는 마이크로프로세서의 클럭공급방법으로서,제1 클럭신호 및 제2 클럭신호를 생성하고,마이크로프로세서가 제1 동작모드인 동안에 상기 제1 모듈로 제1 클럭신호를 공급하고, 상기 제2 모듈로 제2 클럭신호를 공급하고,마이크로프로세서가 제2 동작모드로 모드변경하는 예고동작을 발생하고,상기 예고동작이 발생한 것에 따라서 제1 클럭신호보다 주파수가 높은 제 3 클럭신호를 제1 시간간격 후 생성하고, 상기 제1 시간간격인 동안에는 제1 모듈로 제1 클럭신호가 공급되고,마이크로프로세서는 제2 동작모드로 모드변경 요구가 이루어지고,제1 모듈로의 제1 클럭신호의 공급이 정지되고,제1 모듈로 제3 클럭신호가 공급되고, 마이크로프로세서는 제2 동작모드에서 동작을 실행하는 것을 특징으로 하는 마이크로프로세서의 클럭공급방법.
- 제27항에 있어서,상기 제1 클럭신호는 상기 제2 클럭신호를 분주하는 것에 의해 생성되는 것을 특징으로 하는 마이크로프로세서의 클럭공급방법.
- 제27항에 있어서,상기 제1 모듈은 중앙처리장치, 멀티플렉서 및 메모리관리유닛을 갖고,상기 제2 모듈은 버스 컨트롤러 및 주변회로 컨트롤러를 갖는 것을 특징으로 하는 마이크로프로세서의 클럭공급방법.
- 제27항 있어서,상기 제1 동작모드는 저속동작모드를 포함하고,상기 제2 동작모드는 고속동작모드를 포함하는 것을 특징으로 하는 마이크로프로세서의 클럭공급방법.
- 손으로 쓴 문자인식이 가능한 휴대정보단말에 사용하기 위한 마이크로프로세서로서,상기 마이크로프로세서는 클럭생성회로 및 공급되는 클럭신호와 동기해서 동작하는 중앙처리장치를 갖고,상기 클럭생성회로는 제1 클럭신호 및 제2 클럭신호를 생성하고,상기 마이크로프로세서가 제1 동작모드인 동안에 상기 중앙처리장치는 제 1 클럭신호를 공급받고,상기 마이크로프로세서가 제2 동작모드로 되는 예고동작의 발생에 따라서 클럭생성회로는 제2 클럭신호를 생성개시하고,상기 예고동작 발생 후 제1 시간이 경과할 때까지의 동안에 상기 중앙처리장치로 제1 클럭신호가 공급되고,상기 마이크로프로세서가 제2 동작모드로 모드변경이 실행되는 것에 따라서 상기 중앙처리장치로 제1 클럭신호 대신에 제2 클럭신호가 공급되는 것을 특징으로 하는 마이크로프로세서.
- 제31항에 있어서,예고동작으로서 마이크로프로세서에 포함되는 시스템에 사용자의 데이타 입력이 포함되는 것을 특징으로 하는 마이크로프로세서.
- 제32항에 있어서,예고동작으로서 시스템에 펜에 의한 데이타입력이 포함되는 것을 특징으로 하는 마이크로프로세서.
- 제33항에 있어서,제2 동작모드로의 모드변경은 시스템으로의 펜에 의한 데이타입력의 종료인 것을 특징으로 하는 마이크로프로세서.
- 제34항에 있어서,제2 동작모드에서의 처리에는 펜에 의해 입력된 데이타의 인식이 포함되는 것을 특징으로 하는 마이크로프로세서.
- 제1항에 있어서,상기 스위치회로는 상기 제4 클럭에서 제3 클럭으로 공급클럭을 전환하는 경우, 상기 제1 시간보다 짧은 제2 시간 동안 제1 회로로의 클럭공급을 정지하는 것을 특징으로 하는 데이타처리장치.
- 제27항에 있어서,상기 제1 모듈로의 제1 클럭공급이 정지되는 시간은 제1 시간간격보다 짧은 시간으로 하는 것을 특징으로 하는 마이크로프로세서의 클럭공급방법.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP94-181901 | 1994-07-11 | ||
JP6181901A JPH0830351A (ja) | 1994-07-11 | 1994-07-11 | マイクロプロセッサ |
JP95-085930 | 1995-03-20 | ||
JP8593095 | 1995-03-20 | ||
JP18781395A JP2002073201A (ja) | 1994-07-11 | 1995-06-30 | マイクロプロセッサ |
JP95-187813 | 1995-06-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100389737B1 true KR100389737B1 (ko) | 2003-09-22 |
Family
ID=27304995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950019881A KR100389737B1 (ko) | 1994-07-11 | 1995-07-07 | 마이크로프로세서 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2002073201A (ko) |
KR (1) | KR100389737B1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5308043B2 (ja) * | 2008-03-21 | 2013-10-09 | 東芝テック株式会社 | 情報処理装置及びそのクロック制御方法並びにクロック制御プログラム |
JP6008386B2 (ja) * | 2012-04-02 | 2016-10-19 | 日本電気通信システム株式会社 | 半導体装置とそのテスト方法 |
EP2869160B1 (en) * | 2013-10-30 | 2020-09-09 | EM Microelectronic-Marin SA | Electronic circuit with a sleep mode |
-
1995
- 1995-06-30 JP JP18781395A patent/JP2002073201A/ja active Pending
- 1995-07-07 KR KR1019950019881A patent/KR100389737B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
JP2002073201A (ja) | 2002-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5774701A (en) | Microprocessor operating at high and low clok frequencies | |
KR100399662B1 (ko) | 크리스탈발진기또는캔발진기의사용에따라인에이블또는바이패스가능한클럭안정화필터를가지는구성가능한전력관리시스템 | |
KR100363983B1 (ko) | 반도체집적회로 | |
US5491814A (en) | Apparatus using a state machine for generating selectable clock frequencies and a fixed frequency for operating a computer bus | |
US5247655A (en) | Sleep mode refresh apparatus | |
US7673163B2 (en) | Semiconductor integrated circuit device with power source areas | |
KR100385155B1 (ko) | 외부핀신호를다중화하는장치를포함하는집적프로세서 | |
US7155631B2 (en) | Information processing unit with a clock control circuit having access to the system bus during system clock changes | |
US7219248B2 (en) | Semiconductor integrated circuit operable to control power supply voltage | |
KR100389737B1 (ko) | 마이크로프로세서 | |
JPS6045828A (ja) | シングルチツプマイコン | |
US20040210780A1 (en) | Micro controller unit | |
JP2002041495A (ja) | マイクロコンピュータ | |
JPH0830351A (ja) | マイクロプロセッサ | |
EP0783148A2 (en) | Power conserving clocking system | |
US6496078B1 (en) | Activating on-chip oscillator using ring oscillator | |
JP4091545B2 (ja) | 極性に依存しない電源制御法およびその方法を用いるシステム | |
JPH0792792B2 (ja) | デ−タ処理装置 | |
JP2001035148A (ja) | データ処理装置 | |
JP3411396B2 (ja) | コンピュータシステム | |
US5974561A (en) | Method and apparatus for generating a reset signal within an integrated circuit | |
JPH0683476A (ja) | 情報処理装置 | |
JPH0542525Y2 (ko) | ||
JPS6333806B2 (ko) | ||
JPH10105277A (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: 20070608 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |