JP3718251B2 - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP3718251B2
JP3718251B2 JP01862995A JP1862995A JP3718251B2 JP 3718251 B2 JP3718251 B2 JP 3718251B2 JP 01862995 A JP01862995 A JP 01862995A JP 1862995 A JP1862995 A JP 1862995A JP 3718251 B2 JP3718251 B2 JP 3718251B2
Authority
JP
Japan
Prior art keywords
clock signal
frequency
circuit
clock
operating voltage
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP01862995A
Other languages
English (en)
Other versions
JPH07287699A (ja
Inventor
充剛 山本
郁也 川崎
秀夫 稲吉
進 成田
征治 久保
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP01862995A priority Critical patent/JP3718251B2/ja
Publication of JPH07287699A publication Critical patent/JPH07287699A/ja
Priority to US08/572,677 priority patent/US5778237A/en
Priority to KR1019950052391A priority patent/KR100435976B1/ko
Application granted granted Critical
Publication of JP3718251B2 publication Critical patent/JP3718251B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Dram (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)

Description

【0001】
【産業上の利用分野】
本発明は、クロック信号に同期動作されるデータプロセッサやマイクロコンピュータさらにはこれを搭載したデータ処理システムに係り、特にその動作クロック信号の周波数を、また動作クロック信号の周波数と動作電源の電圧との双方を切換えて低消費電力を図る技術に関し、例えばマイクロコンピュータに適用して有効な技術に関する。
【0002】
【従来の技術】
特開平3−68007号公報には、マイクロコンピュータのようにクロック信号に同期動作されるものにおいて、その動作クロック信号の周波数を必要に応じて切換えることによって低消費電力化に寄与する技術が記載されている。また、特開平5−108193号公報には、外部から供給される電源電圧とクロック信号周波数とを内蔵レジスタの設定値によって変更し低消費電力化を図るようにしたマイクロコンピュータについて記載されている。
【0003】
【発明が解決しようとする課題】
しかしながらマイクロコンピュータのような半導体集積回路の高機能化に伴い、回路モジュールの動作頻度若しくは動作速度に従って当該回路モジュールを、階層化された内部バスに結合する場合、内部クロック信号周波数の切換えは階層化された回路モジュールの性質を考慮して行わなければならない。例えばレジスタの値を書き換えて内部の動作周波数を変更するとき、外部バスとのインタフェースを制御するバスコントローラのような回路モジュールに対しては、外部との関係を考慮してその動作クロック信号周波数を制御しなければならないことが本発明者によって明らかにされた。
【0004】
また、マイクロコンピュータなどを構成する回路モジュールの動作周波数と共に動作電圧を可変にして低消費電力化する場合、特定の回路モジュールを低消費電力で動作させるか否かは当該回路モジュールが周辺回路か中央処理装置かというような一般的な機能の相違だけでは一律に決定できないことを本発明者は見い出した。例えば、中央処理装置において高速のデータ処理を要しないタスクに対しては低消費電力を優先させ、また、高速処理を要するタスクに対しては電力消費が増大してもデータ処理の高速化を最優先しなければならず、そのためには、回路モジュールの動作周波数と動作電圧をタスク単位でも切換え可能な自由度が必要になる。すなわち、回路モジュールのデータ処理性能やデータ処理の軽重に応じて回路モジュールの動作電源電圧や動作周波数を比較的自由に設定できるようにして、電力消費とデータ処理効率とを最適化できるようにする。相対的に高速のデータ処理を要しないタスク若しくは回路モジュールに対しては低消費電力を優先させ、相対的に処理の高速性を要するタスク若しくは回路に対しては電力消費量の増大を許容する。これによって全体としてのデータ処理効率を向上させつつ低消費電力を実現する。
【0005】
そのように動作電源電圧と動作周波数を比較的自由に設定できるようにする場合には、その設定を変更するとき回路モジュールに誤動作を生じないようにし、また、その組合わせの態様によって誤動作を生じないように予じめ対処しておくことがシステムの信頼性を増すために必要であることを本発明者は見い出した。例えば、回路の動作電源電圧を低下させた場合、回路の駆動能力が低下して信号遅延が増大するため、それによって誤動作しないように周波数の変更を許容し、また、回路の動作周波数を増大させる場合には誤動作しないように電源電圧の変更を許容しなければならない。
【0006】
本発明の目的は、回路モジュールの動作周波数と動作電圧をタスク単位でも切換え可能な自由度を持たせ、このとき、回路モジュールの動作周波数と動作電圧の切換えに際して生ずる虞のある回路の誤動作を未然に防止できるデータ処理装置を提供することにある。さらに、上記誤動作防止を比較的簡単に実現できるようにすることを目的とする。
【0007】
本発明の別の目的は内部バスが階層化されているような場合に外部バスとのインタフェースを考慮して内蔵回路モジュールのクロック信号周波数を任意に設定できるデータ処理装置を提供することにある。
【0008】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【0009】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【0010】
〔1〕回路モジュールの動作周波数と動作電圧の双方を制御する発明によれば、データ処理装置は、周波数の異なるクロック信号を選択的に出力可能なクロック発生回路(120,320)と、上記回路モジュールの動作電圧として選択的に異なる電圧を出力可能な電源回路(110,310)とを設け、単数若しくは複数個の回路モジュールに供給すべきクロック信号の周波数と動作電圧の電圧を指定するための制御情報を記憶手段(114,124,307)に書換え可能に格納し、格納された制御情報に基づいて上記クロック発生回路及び電源回路におけるクロック信号周波数の選択と動作電圧の選択とを制御するようにする。このとき、上記クロック信号周波数を低減し且つ動作電圧を絶対値的に小さくさせる指示を検出したときは現在の動作周波数の変更に先立って動作電圧が絶対値的に小さくされる状態を阻止し、また、クロック信号の周波数を増大させ且つ動作電圧を絶対値的に大きくさせる指示を検出したときは動作電圧の絶対値的な増大に先立って周波数の増加されたクロック信号が出力される状態を阻止するように、上記クロック発生回路と電源回路の出力状態の切換えを制御する第1の制御手段(131,3341)を採用し、周波数や動作電圧の切換え時若しくは切換え直後における回路モジュールの誤動作を防止する。
【0011】
上記第1の制御手段による上記制御態様を簡単に実現するには、周波数の出力切換えに際して上記第1の制御手段からの指示に基づいてクロック信号の出力を一定期間停止させる出力ゲート(1206,3261,3262,3263)を上記クロック発生回路に設けて対処できる。
【0012】
さらに、予じめ設定禁止にしておくことも可能であるが、周波数と電源電圧の不所望な切換え態様による誤動作の虞を予じめ防止するという観点においては、上記記憶手段の書換え前後における制御情報に基づいて、動作電圧を絶対値的に大きくせずにクロック信号の周波数を増大させる指示、又はクロック信号周波数を低減させずに動作電圧を絶対値的に小さくさせる指示を検出することによって、当該指示に基づくクロック発生回路及び電源回路の出力状態変更を抑制する第2の制御手段(132,3342)を更に採用する。
【0013】
複数個の回路モジュールに対して個別的にクロック周波数と電源電圧を切換え制御するには、上記記憶手段には所定の回路モジュール毎の制御情報を書換え可能に格納する複数の記憶領域(3071,3072)を設け、上記クロック発生回路には、上記記憶手段における複数の記憶領域の夫々の制御情報に従って個別的に対応回路モジュールに供給すべきクロック信号を選択するための選択回路(3251,3252,3253)を設け、更に、上記電源回路には、上記記憶手段における複数の記憶領域の夫々の制御情報に従って個別的に対応回路モジュールに供給すべき動作電圧を選択するための選択回路(3141,3142,3143)を設けることで容易に対応できる。
【0014】
上記データ処理装置において、上記回路モジュールは中央処理装置とされる一つの回路モジュールとこの中央処理装置によってその動作が制御される別の回路モジュールとされ、全体が1個の半導体基板に形成されたシングルチップマイクロコンピュータ化して構成できる。上記回路モジュール、上記記憶手段、第1の制御手段、及び第2の制御手段を1チップの半導体集積回路とし、上記クロック発生回路及び電源回路を当該半導体集積回路の外部に設けてデータ処理装置を構成できる。上記回路モジュールを中央処理装置とされる一つの回路モジュールとこの中央処理装置によってその動作が制御される別の回路モジュールとし、当該中央処理装置とされる回路モジュール、上記別の回路モジュールの内の一部の回路モジュール、上記記憶手段、第1の制御手段、及び第2の制御手段を1チップの半導体集積回路とし、上記別の回路モジュールの内の残りの回路モジュール、上記クロック発生回路、及び電源回路を当該半導体集積回路の外部に設けられて、マルチチップ化されたマイクロコンピュータとしても構成できる。
【0015】
〔2〕内部バスが階層化されたデータ処理装置に対する動作周波数切換えに係る発明によれば、データ処理装置は、中央処理装置(61)が結合された第1の内部バス(60)と、入出力回路(73)を介して外部バスとインタフェースされ外部バスとのインタフェース制御を行うバスコントローラ(72)が結合された第2の内部バス(70)と、所定の周辺回路が結合された第3の内部バス(80)と、第1の内部バスに結合された回路モジュールのための第1のクロック信号(91)、第2の内部バスに結合された回路モジュールのための第2のクロック信号(92)、及び第3の内部バスに結合された回路モジュールのための第3のクロック信号(93)を出力するクロックパルスジェネレータ(9)と、上記第1の内部バスに結合され、中央処理装置にて設定された制御情報により上記第1及び第3のクロック信号の内の少なくとも一つの信号の周波数を可変とするクロック制御回路(65)と、を含んで1チップマイクロコンピュータ化されて成る。
【0016】
外部バスに接続され上記バスコントローラが制御するバスサイクルに従って動作される外部デバイス(例えばシンクロナス・ダイナミック・ランダム・アクセス・メモリ)が、クロック信号に同期動作されるものである場合に、当該外部デバイスに同期動作用クロック信号を供給することを考慮するならば、データ処理装置には外部クロック信号の出力端子(CKIO)を設け、このとき上記クロック制御回路は、第2のクロック信号の周波数を上記外部クロック信号の周波数に一致させる。
【0017】
バスコントローラが結合された第2の内部バスのための第2のクロック信号の周波数は、外部バスに結合された外部デバイスの動作速度に応じた周波数にされなければ内外でのバスサイクル若しくはバス動作を同期させることができないということを考慮した場合、中央処理装置が結合される第1の内部バスの回路モジュールは必要に応じて高速動作可能であることが高速データ処理上望ましい。したがって、データ処理装置にキャッシュメモリ装置を内蔵させる場合には、キャッシュメモリ装置を上記第1の内部バスと第2の内部バスとのインタフェースに利用することが、データ処理効率を向上させる上で好ましい。
【0018】
更に詳細な態様のデータ処理装置は、中央処理装置(61)が結合された第1の内部バス(60)と、入出力回路(73)を介して外部バスとインタフェースされ外部バスとのインタフェース制御を行うバスコントローラ(72)が結合された第2の内部バス(70)と、所定の周辺回路が結合された第3の内部バス(80)と、第1の内部バスに結合された回路モジュールのための第1のクロック信号(91)、第2の内部バスに結合された回路モジュールのための第2のクロック信号(92)、及び第3の内部バスに結合された回路モジュールのための第3のクロック信号(93)を出力するクロックパルスジェネレータ(9)と、上記第1乃至第3のクロック信号周波数を各別に制御するためのクロック制御回路(65)とを含んでシングルチップマイクロコンピュータ化されている。そして、上記クロックパルスジェネレータは、外部クロック源に結合可能な第1の接続端子(XTAL,EXTAL)に結合された第1の周波数変更手段(910,911,912,913,914)と、外部クロック源に結合可能な第2の接続端子(CKIO)に結合された第2の周波数変更手段(921)と、第1及び第2の周波数変更手段の内の何れか一方の出力を選択する選択手段(930,931)と、選択手段で選択されたクロック信号を受けて上記第1乃至第3のクロック信号周波数を各別に変更可能にする第3の周波数変更手段(940,941,942,943)と、上記第1の周波数変更手段から出力されるクロック信号を外部クロック信号として出力させるクロック信号経路(951)とを含む。このとき上記クロック制御回路(65)は、外部クロックモード端子(MD0〜MD2)に結合され、第3の周波数変更手段による第1及び第3のクロック信号に対する周波数変更率を格別に指定し且つ第2の周波数変更手段による周波数変更率を指定するための制御情報が中央処理装置によって設定されるクロック制御レジスタ(650)を供え、外部クロックモード端子の状態に従って、第1の周波数変更手段による周波数変更率を決定して第1の接続端子から第3の周波数変更手段の入力にクロック信号を伝達可能にし且つ第2のクロック信号周波数が第1の周波数変更手段から出力されるクロック信号周波数に一致するように第3の周波数変更手段を制御する第1の状態、又は第2の接続端子から第3の周波数変更手段の入力にクロック信号を伝達可能に制御する第2の状態を選択し、さらに、上記クロック制御レジスタに設定された制御情報に従って第2の周波数変更手段による周波数変更率と第3の周波数変更手段による第1及び第3のクロック信号に対応する周波数変更率とを可変に制御すると共に、クロックモード端子にて指定された上記第2の状態においては上記クロック制御レジスタに設定された制御情報に従って第2にクロック信号の周波数が第2の接続端子から供給されるクロック信号の周波数に一致するように第3の周波数変更手段による第2のクロック信号に対する周波数変更率を制御するものである。
【0019】
第1及び第2のクロック信号の周波数変更可能幅を更に広げるには、クロックモード端子にて指定される第1の状態において第1の周波数変更手段の出力を第2の周波数変更手段の入力に接続する接続手段(920)を設けるとよい。このとき、上述のように外部デバイス(例えばシンクロナス・ダイナミック・ランダム・アクセス・メモリ)がクロック信号に同期動作されるものである場合に、当該外部デバイスに同期動作用クロック信号を供給することを考慮するならば、上記クロック信号経路を第2の接続端子に結合するとよい。
【0020】
第1の接続端子が振動子の接続端子と外部クロック信号の入力端子に兼用される場合、第1の周波数変更手段を、第1の接続端子に発振子が外付けされて発振される発振器(910)からのクロック信号と第1の接続端子から直接供給されるクロック信号との何れかを選択し、選択したクロック信号をそれぞれ受ける分周回路(913)とフェーズロックドループ回路(912)を供え、その何れかの出力を基本クロック信号として出力する選択手段(914)によって構成できる。第3の周波数変更手段を分周器で構成する場合、第2の周波数変更手段は逓倍手段としてのフェーズロックドループ回路で構成すると、周波数変更可能幅を大きくすることができる。
【0021】
【作用】
〔1〕回路モジュールの動作周波数と動作電圧の双方を制御するための上記手段によれば、クロック信号周波数と動作電圧の切換え態様を指示する制御情報は中央処理装置などによって書換え可能に上記レジスタ又は記憶手段に設定されるから、回路モジュールのデータ処理性能やデータ処理の軽重に応じて制御情報を必要に応じて書換えることで、回路モジュールの動作電圧と動作周波数に対する自由な切換えを許容する。このことは、相対的に高速のデータ処理を要しないタスク若しくは回路モジュールに対しては低消費電力を優先させ、相対的に処理の高速性を要するタスク若しくは回路モジュールに対しては電力消費量の増大を許容し、これによって全体としてのデータ処理効率を向上させつつ低消費電力を実現する。所定の回路モジュール毎に個別的にクロック周波数と動作電圧の切換えを可能にすることは、上記全体としてのデータ処理効率を向上させつつ低消費電力化を図る制御を更にきめ細かく実現可能にする。
【0022】
クロック信号の周波数と動作電圧の双方を減少させる場合、先に動作電圧を減少させると、クロック信号周波数が減少されるまでの間、動作状態におかれた回路の駆動能力が低下して不所望な信号遅延によって誤動作を生ずる虞がある。この場合に上記第1の制御手段は、現在の動作周波数の変更に先立って動作電圧が減少される状態を阻止するように周波数と動作電圧の切換え手順を制御する。また、クロック信号の周波数と動作電圧とを増加させる場合、先にクロック信号周波数を増加させると、動作電圧が増加されるまでの間、動作状態におかれた回路の駆動能力は動作速度の向上に追従しきれずに誤動作を生ずる虞がある。この場合に上記した第1の制御手段は、動作電圧の増加に先立って周波数の増加されたクロック信号が出力される状態を阻止するように周波数と動作電圧の切換え手順を制御する。このように、第1の制御手段はクロック信号周波数と動作電圧の切換え手順の点における誤動作を防止する。
【0023】
クロック周波数と電源電圧の切換えにおいて電源電圧を絶対値的に増加させずにクロック信号の周波数を増加させることは、回路の動作が高速化されても回路の駆動能力が向上されずに当該高速動作に不適応な比較的大きな信号伝播遅延を生ずることになる。また、クロック信号周波数を減少させずに電源電圧を絶対値的に減少させることは、回路の駆動能力が低下されて信号伝播遅延が増大されるにも拘らず依然として回路が高速動作を行うことになる。上記した第2の制御手段はそのような指示に対してはクロック周波数と電源電圧の切換えを抑止し、これによって周波数と電源電圧の不所望な切換え態様による誤動作の虞を未然に防止する。
【0024】
〔2〕内部バスが階層化されたデータ処理装置に対する動作周波数切換えに係る上記手段によれば、第1乃至第3の内部バスが階層化されたデータ処理装置において、第2のクロック信号を、周波数可変とするクロック信号から除外している。上記具体的な態様の手段においては、第1及び第3のクロック信号の周波数が制御情報に従って動的に変化されるとき、クロック制御回路は第2のクロック信号の周波数を一定に保つように制御する。これは、バスコントローラが結合された第2の内部バスのための第2のクロック信号の周波数は、外部バスに結合された外部デバイスの動作速度に応じた周波数にされなければ内外でのバスサイクル若しくはバス動作を同期させることができない、という条件を満足させる。第1のクロック信号周波数を制御情報にて動的に可変制御可能にすることは、中央処理装置が結合される第1の内部バスの回路モジュールは必要に応じて高速動作可能であることが高速データ処理上望ましい、という点を満足させ、その逆に高速動作を要しないタスクを実行するときにはクロック信号周波数を低くして低消費電力を実現する。第3のクロック信号の周波数を制御情報にて動的に可変制御可能にすることは、第3の内部バスに結合された回路モジュールが周辺回路モジュールであるという性質に鑑みてその機能や動作状態に応じて他の回路モジュールとは独立的に動作速度を制御可能にし、低消費電力化を促進させる。
【0025】
出力端子(CKIO)から出力される外部クロック信号は第2のクロック信号の周波数と一致される。クロック信号に同期動作される外部デバイスはバスコントローラ(第2のクロック信号を受け動作)の制御を受け、そのような外部デバイスの同期動作用クロック信号として上記外部端子(CKIO)から出力されるクロック信号を利用できる。
【0026】
【実施例】
〔1〕先ず、回路モジュールの動作周波数と動作電圧の双方を制御する発明に関する複数の実施例を図1から図14に基づいて説明する。
【0027】
図1には本発明の第1実施例に係るシングルチップマイクロコンピュータのブロック図が示される。本実施例のシングルチップマイクロコンピュータ1は、クロック信号に同期動作される回路モジュールとして、中央処理装置(CPUとも記す)100、乗算回路(MULTとも記す)101、除算(DIVU)102、ダイレクトメモリアクセスコントローラ(DMACとも記す)103、タイマ(TMR1とも記す)104、及びタイマ(TMR2とも記す)105を代表的に備え、更に、図示しないRAM、ROM、そして外部バスインタフェース回路などを備え、それらは図示しない所定の内部バスを介して接続可能にされる。特に制限されないが、上記乗算回路101及び除算102は共に中央処理装置100より発行されるコマンドを解読してデータ処理を行うコプロセッサとして位置付けられる。上記図示しないROMは中央処理装置100の動作プログラムなどを保有する。図示しないRAMは中央処理装置100の作業領域又はデータの一時記憶領域とされる。
【0028】
図1に代表的に示された回路モジュール100〜105の動作電源は電源回路110から供給される。電源回路110は電源ピン111から5Vのような電源電圧を受けると共にグランドピン112から0Vのような接地電圧を受け、上記回路モジュール100〜105の動作電源として選択的に異なる内部電圧113を出力可能にされる。本実施例に従えば、その内部電圧113は接地電位を基準に上記電源電圧又は該電源電圧を降圧した電圧とされる。接地電位は各回路モジュールに共通に供給される。
【0029】
図1に代表的に示された回路モジュール100〜105の動作クロック信号はクロック発生回路120から供給される。クロック発生回路120は外部のクロック入力ピン121から外部クロック信号若しくは図示しない振動子を介して発生される発振出力を受け、周波数の異なるクロック信号を内部クロック信号122として選択的に出力可能にされる。
【0030】
図2にはクロック発生回路120の詳細な一例が示される。同図に示されるクロック発生回路120は、外部からのクロック信号を受けてその周波数を逓倍して出力するPLL回路1201、及びPLL回路1201の出力に直列に2段結合された分周回路1202,1203を備える。分周回路1202,1203は例えば入力の周波数を夫々1/4にして出力する。上記PLL回路1201そして分周回路1022,1023の夫々の出力はセレクタ1205を介して選択され、選択されたクロック信号がクロックドインバータのような出力ゲート1206を介して各回路モジュール100〜105のクロック入力端子に供給される。同図においてセレクタ及び出力ゲートは1組みが代表的に図示されているが、所定の回路モジュール毎に内部クロック信号の周波数を設定する場合には当該所定の回路モジュール毎にセレクタ1205及び出力ゲート1206が設けられるものと理解されたい。電源回路110で選択される内部電圧113についても同様である。
【0031】
図1に示される電圧設定レジスタ114及び周波数設定レジスタ124は、上記回路モジュール100〜105に供給すべき内部電圧113及び内部クロック信号123の周波数を指定するための制御情報が書換え可能に格納される記憶手段である。電圧設定レジスタ114及び周波数設定レジスタ124は、例えば中央処理装置100の所定のアドレス空間に配置され、LDC(ロード・コントロール・レジスタ)命令のような命令を中央処理装置100が実行することによって制御情報の設定が行われる。したがって、電圧設定レジスタ114及び周波数設定レジスタ124の書換えはマイクロコンピュータ1の動作プログラム次第で所望に行うことができる。例えば、処理の軽重に従ってタスク毎に設定することもできる。即ち、タスクの起動に際してCPU100のスタックポインタやステータスレジスタなどの退避、初期設定、復帰などの対象にそれらレジスタ114,124を含めるようにすればとい。
【0032】
図3には上記電圧設定レジスタ114及び周波数設定レジスタ124の詳細な一例が示される。電圧設定レジスタ114は特に制限されないが8ビットで構成され、例えばCPU100,MULT101,DIVU102,DMAC103に供給する内部電圧113を夫々2ビットの値で決定するようになっている。夫々の2ビットにおいて、”00”は最大の電圧レベル(Vmax)、”01”は(Vmax)×1/2、”10”は(Vmax)×1/4、”11”は接地電位を意味する。周波数設定レジスタ124は特に制限されないが8ビットで構成され、例えばCPU100,MULT101,DIVU103,DMAC103に供給する内部クロック信号周波数を夫々2ビットの値で決定するようになっている。夫々の2ビットにおいて、”00”は最大の周波数(Fmax)、”01”は(Fmax)×1/4、”10”は(Fmax)×1/16、”11”は内部クロック供給停止を意味する。なお、パワー・オン・リセット時において双方のレジスタ114,124は全ビット0に初期化される。尚、図3に示されるようなレジスタ114,124の構成においてその他の回路モジュールに供給すべき動作電源と内部クロック信号周波数は所定の値に固定することができる。また、動作電圧とクロック信号周波数の可変制御対象モジュールの数を増やすには上記電圧設定レジスタ114及び周波数設定レジスタ124のビット数を増やし、それに応じて電源回路110及びクロック発生回路120における電圧及びクロック信号周波数選択のための論理規模を増加すればよい。
【0033】
図1において130は上記電圧設定レジスタ114及び周波数設定レジスタ124に格納された制御情報に基づいて上記クロック発生回路120及び電源回路110における内部クロック信号122の周波数選択と内部電圧113のレベル選択とを制御する制御回路である。上記電圧設定レジスタ112及び周波数設定レジスタ124に格納された制御情報は制御回路130を介して電源回路100及びクロック発生回路120に与えられることにより、電源回路100及びクロック発生回路120はその制御情報に従って内部クロック信号122の周波数と内部電圧113を選択し対応する回路モジュールに供給する。
【0034】
上記制御回路130は動作電圧及びクロック信号周波数の切換えに際して回路モジュールの誤動作を未然に防止するために第1の制御手段131と第2の制御手段132を備える。
【0035】
第1の制御手段131は内部クロック信号122の周波数と内部電圧113の切換え手順の点において内部回路モジュールの誤動作を防止するための制御を司る。すなわち、内部クロック信号122の周波数と内部電圧113の双方を減少させる場合、先に内部電圧113を減少させると、内部クロック信号122の周波数が減少されるまでの間、動作状態におかれた回路モジュール内回路の駆動能力が低下して不所望な信号遅延によって誤動作を生ずる虞がある。また、内部クロック信号122の周波数と内部電圧113とを増加させる場合、先に内部クロック信号122の周波数を増加させると、内部電圧113が増加されるまでの間、動作状態におかれた回路モジュール内回路の駆動能力は動作速度の向上に追従しきれずに誤動作を生ずる虞がある。そこでこれらに対処するため、第1の制御手段131は、上記クロック発生回路120及び電源回路110における内部クロック信号122の周波数及び内部電圧113の変更手順として、クロック信号122の周波数と内部電圧113とを減少させる指示を検出したときには現在の動作周波数の変更に先立って動作電圧113が減少される状態を阻止し、また、内部クロック信号122の周波数と内部電圧113とを増加させる指示を検出したときには当該電圧113の増加に先立って周波数の増加されたクロック信号122が回路モジュールに供給される状態を阻止する。
【0036】
例えば、動作電圧と周波数の切換え態様を判定し、内部クロック信号122の周波数と内部電圧113の双方を減少させる場合には、変更された周波数設定レジスタ124の値を先にクロック発生回路120に供給して周波数を変更してから動作電圧を変更し、内部クロック信号122の周波数と内部電圧113の双方を増加させる場合には、変更された電圧設定レジスタ114の値を先に電源回路100に供給して動作電圧を上げてから周波数を変更するという手順を上記第1の制御手段131に採用できる。又は、動作電圧と周波数の切換え時には回路モジュールへのクロック信号122の供給を上記出力ゲート1206を介して停止させ、回路動作が安定する一定期間を経過後にクロック信号122の供給を再開する手順を第1の制御手段131に採用できる。図1において第1の制御手段131は中央処理装置100とは独立のハードウェアとして図示されているが、その機能を中央処理装置100とその動作プログラムによって実現できる。
【0037】
第2の制御手段132は、内部クロック信号122の周波数と内部電圧113の不所望な切換え態様による誤動作を防止するための制御を司る。すなわち、内部クロック信号122の周波数と内部電圧113の切換えにおいて内部電圧113を増加させずにクロック信号122の周波数を増加させると、回路の動作が高速化されても回路の駆動能力が向上されずに当該高速動作に不適応な比較的大きな信号伝播遅延を生ずることになる。また、クロック信号122の周波数を減少させずに内部電圧113を減少させると、回路の駆動能力が低下されて信号伝播遅延が増大されるにも拘らず依然として回路が高速動作を行うことになる。そこで、第2の制御手段132は、それらの態様で切換えられて誤動作を生じないようにするために、上記電圧設定レジスタ114及び周波数設定レジスタ124から成る記憶手段の書換え前後における上記制御情報に基づいて、内部電圧113を増加させずに内部クロック信号122の周波数を増加させる指示、又は内部クロック信号122の周波数を減少させずに内部電圧113を減少させる指示を検出することによって、当該指示に基づくクロック発生回路120及び電源回路110の出力状態変更を抑制する。
【0038】
例えば上記第2の制御手段は、上記電圧設定レジスタ114,周波数設定レジスタ124に対する書換えの指示を検出したとき、書換え直前のレジスタ114,124値を保持し、保持された値と書換えられたレジスタ114,124の値とを比較して上記不所望な状態が指示されたか否かを判定する。当該不所望な指示であることを検出したときは、変更されたレジスタ114,124の値による周波数と電圧の選択状態更新を制御回路130に抑制させ、更に、当該エラー状態を中央処理装置100に通知して当該レジスタ114,124に対する再度の設定を促す。これによって周波数と電源電圧の不所望な切換え態様による誤動作を防止できる。
【0039】
上記第2の制御手段132は図1において中央処理装置100とは独立のハードウェアによって構成されているように図示されているが、その機能を中央処理装置100とその動作プログラムによって実現することができる。すなわち、電圧設定レジスタ114,周波数設定レジスタ124の変更処理ルーチンにおいて、先ず当該レジスタ114,124の値を中央処理装置100が読み込み、読み込んだ値と変更すべき値とを比較して上記不所望な指示状態であるかを判定し、不所望な指示状態である場合には当該変更処理ルーチンを終了して所定の例外処理ルーチンを行うようにする。
【0040】
図4には制御回路130による動作電圧及び周波数の切換え制御手順の一例が示される。動作電圧及び周波数を下げる場合、所要の回路モジュールの周波数を下げるような値を以ってCPU100により周波数設定レジスタ124が書換えられ(ステップS10)、当該所要の回路モジュールの動作電圧を下げるような値を以ってCPU100により電圧設定レジスタ114が書換えられる(ステップS11)。書換えられた値に対して制御回路130及び論理回路140が設定状態をチェックする(ステップS12)。当該チェックの結果、内部電圧113を増加させずに内部クロック信号122の周波数を増加させる指示、又は内部クロック信号122の周波数を減少させずに内部電圧113を減少させる指示である場合には、その旨を中央処理装置100に通知して処理を終了する。それ以外の切換え態様の場合には、出力ゲート1206によって内部クロック信号122の出力を停止したアイドリング状態において(ステップS13)上記周波数設定レジスタ124及び電圧設定レジスタ114の設定値に従って内部電圧113,内部クロック信号122の周波数が切換えられる。このアイドリング状態は電源回路110及びクロック発生回路120の状態が安定するまでの所定時間継続され、その後、出力ゲート1206が内部クロック信号の出力を再開することによって新しい電圧及び周波数での動作が可能にされる(ステップS14)。
【0041】
動作電圧及び周波数を上げる場合、所要の回路モジュールの内部動作電圧を上げるような値を以ってCPU100により電圧設定レジスタ114が書換えられ(ステップS20)、当該所要の回路モジュールの動作周波数を上げるような値を以ってCPU100により周波数設定レジスタ124が書換えられる(ステップS21)。書換えられた値に対して制御回路及び論理回路が設定状態をチェックする(ステップS22)。当該チェックの結果、内部電圧113を増加させずに内部クロック信号122の周波数を増加させる指示、又は内部クロック信号122の周波数を減少させずに内部電圧113を減少させる指示である場合には、その旨を中央処理装置100に通知して処理を終了する。それ以外の切換え態様の場合には、出力ゲート1206によって内部クロック信号122の出力を停止したアイドリング状態において(ステップS23)上記周波数設定レジスタ124及び電圧設定レジスタ114の設定値に従って内部電圧113,内部クロック信号122の周波数が切換えられる。このアイドリング状態は電源回路110及びクロック発生回路120の状態が安定するまでの所定時間継続され、その後、出力ゲート1206が内部クロック信号の出力を再開することによって新しい電圧及び周波数での動作が可能にされる(ステップS24)。尚、その他の切換え態様についても同様に制御される。
【0042】
図4の手順において内部クロック信号122の出力を停止したアイドリング状態のときに内部クロック信号周波数と内部電圧を切換え、その後一定時間経過後に内部クロック信号の供給を再開するという手順は、現在の動作周波数の変更に先立って電源電圧が減少される状態を阻止し、また、電源電圧の増加に先立って周波数の増加されたクロック信号が回路モジュールに供給される状態を阻止する。特に切換え時における内部クロック信号の供給停止という簡単な手法によってそれを実現できる。アイドリング期間はタイマ105によって制御できる。このタイマ105はその他の回路モジュールとは別経路を介してクロック信号が供給され、その他の回路モジュールに対してクロック信号の供給が停止されていても当該タイマ105は計数若しくは計時動作を維持できるようになっている。尚、第1の制御手段による制御手順としては、電圧及び周波数を下げるときは先ず周波数を下げる切換え動作を完了してから内部電圧を下げる動作を行うように制御し、また、電圧及び周波数を上げるときには最初に内部電圧を上げる切換えを完了してから周波数を増加する動作を行うように制御することもできる。但し、その場合には切換え手順の制御が切換え態様毎に個別化若しくは分類化されなければならない。
【0043】
上記第1の実施例によれば以下の作用効果を有する。(1)クロック周波数と動作電圧の切換え態様を指示する制御情報は中央処理装置によって書換え可能に周波数設定レジスタ124,電圧設定レジスタ114に設定されるから、シングルチップマイクロコンピュータ1に内蔵された回路モジュールの性能やデータ処理の軽重に応じて当該制御情報を必要に応じて書換えることで、回路モジュールの動作電圧と動作周波数に対する自由な切換えを実現できる。したがって、相対的に高速のデータ処理を要しないタスク若しくは回路モジュールに対しては低消費電力を優先させ、相対的に処理の高速性を要するタスク若しくは回路モジュールに対しては電力消費量の増大を許容して、これによって全体としてのデータ処理効率を向上させつつ低消費電力を実現することができる。所定の回路モジュール毎に個別的にクロック周波数と電源電圧の切換えを可能にすることにより、上記全体としてのデータ処理効率を向上させつつ低消費電力化を図る制御を更にきめ細かく実現できる。
【0044】
(2)クロック周波数と動作電圧の切換えにおいて動作電圧を上げずにクロック信号の周波数を上げることは、回路の動作が高速化されても回路の駆動能力が向上されずに当該高速動作に不適応な比較的大きな信号伝播遅延を生ずることになる。また、クロック信号周波数を下げずに電源電圧を低下させることは、回路の駆動能力が低下されて信号伝播遅延が増大されるにも拘らず依然として回路が高速動作を行うことになる。上記した第2の制御手段132はそのような指示に対してはクロック周波数と電源電圧の切換えを抑止し、これによって周波数と動作電圧の不所望な切換え態様による誤動作を防止することができる。
【0045】
(3)クロック信号の周波数と動作電圧の双方を低下させる場合、先に動作電圧を低下させると、クロック信号周波数が低下されるまでの間、動作状態におかれた回路の駆動能力が低下して不所望な信号遅延によって誤動作を生ずる虞がある。この場合に上記第1の制御手段131は、現在の動作周波数の変更に先立って動作電圧が減少される状態を阻止するように周波数と動作電圧の切換え手順を制御する。また、クロック信号の周波数と動作電圧とを増加させる場合、先にクロック信号周波数を増大させると、動作電圧が上昇されるまでの間、動作状態におかれた回路の駆動能力は動作速度の向上に追従しきれずに誤動作を生ずる虞がある。この場合にも上記第1の制御手段131は、動作電圧の上昇に先立って周波数の高くされたクロック信号が供給される状態を阻止するように周波数と動作電圧の切換え手順を制御する。したがって、クロック信号周波数と動作電圧の切換え手順の点において回路モジュールが誤動作する虞を未然にを防止することができる。
【0046】
図5には本発明に係るデータ処理装置の第2実施例が示される。図1に示されるものと同一機能を有る回路ブロックには同一符合を付してその詳細な説明を省略する。図5に示される第2実施例は、図1に示される実施例に対して電源回路110とクロック発生回路120をチップの外部に配置し、電源電圧の選択信号150と周波数の選択信号151をマイクロコンピュータから受け取って、それにより指示される電圧の電源を電源ピン111に、それにより指示される周波数のクロック信号をクロック入力ピン121に供給する。図1の実施例と同様に所定の回路モジュール毎に内部電圧と動作周波数を設定可能にする場合には電源ピン111やクロック入力ピン121は夫々複数個必要とされる。また、特に図示はしないが、図1の実施例において電圧設定レジスタ114及び周波数設定レジスタ124の一部を外部電源回路と外部クロック発生回路の動作選択のために割り当て、これによって設定された値に応ずる制御信号をチップの外部に出力可能にして、図1の実施例において電源ピン111に供給される電源電圧とクロック入力ピン121に供給される外部クロック信号の周波数をも切換え可能にすることができる。
【0047】
図6には本発明に係るデータ処理装置の第3実施例であるシングルチップマイクロコンピュータのブロック図が示される。本実施例のシングルチップマイクロコンピュータ3は、クロック信号に同期動作される回路モジュールとして、中央処理装置(CPUとも記す)300、乗算回路(MULTとも記す)301、除算(DIVU)302、メモリ303、及びタイマ304を代表的に備え、更に、図示しない外部バスインタフェース回路などを備え、それらは所定の内部バス305を介して接続可能にされる。特に制限されないが、上記乗算回路301及び除算回路302は共に中央処理装置300より発行されるコマンドを解読してデータ処理を行うコプロセッサとして位置付けられる。上記メモリ303は中央処理装置100の動作プログラムなどを保有するROM、中央処理装置100の作業領域又はデータの一時記憶領域とされるRAMなどを構成する。
【0048】
図6において306は代表的に示された回路モジュール300〜304の動作電源と動作クロック信号を形成して各部に出力する電圧・周波数制御部である。311は3.3Vのような電源電圧Vinが供給される電源ピン、312は0Vのような接地電位を受けるグランドピン、321は外部クロック信号CLKinが供給されるクロック入力ピンである。340は電圧・周波数制御部306から出力されて回路モジュール300〜303に供給される内部クロック信号、341はタイマ304に専用的に供給される内部クロック信号、342はマイクロコンピュータの各部に供給される電源電圧としての動作電圧である。
【0049】
ここで先ず上記電圧・周波数制御部306を概略的に説明する。この電圧・周波数制御部306は、クロック信号周波数と回路モジュールの動作電圧を回路モジュール毎に夫々指定するためのモードレジスタ307を有し、中央処理装置300によって該モードレジスタ307に書換え可能に設定された制御情報に従って回路モジュールの動作電圧と動作クロック周波数を変更して各部に供給する。モードレジスタ307へは中央処理装置300から内部バス305を介して制御情報が書込まれ、不適当な内容の制御情報がモードレジスタ307に設定された場合にはこれを中央処理装置300に通知し、動作電圧と動作周波数の切換え態様が誤動作の虞のある場合にはその切換えを禁止させる。切換えが許容される場合にはタイマ304で管理される一定時間クロック信号の供給を停止し、切換えに伴う回路の不安定な動作によって誤動作を生じないようにする。また、モードレジスタ307の内容はタスク毎に切換え可能にされ、タスク単位での消費電力とデータ処理性能を制御できるようになっている。
【0050】
図7には上記電圧・周波数制御部306の詳細な一例が示される。この電圧・周波数制御部306は、電源回路310、クロック発生回路320、及び制御回路330から成る。電源回路310は電源ピン311から電源電圧Vinを受けると共にグランドピン312から0Vのような接地電圧を受け、上記回路モジュール300〜304の動作電源として選択的に異なる内部電圧342を出力可能にされる。本実施例に従えば、その内部電圧342は接地電位を基準に上記電源電圧(Vin=3.3V)又は該電源電圧を降圧した電圧(2.5V)とされる。接地電位は各回路モジュールに共通に供給される。降圧された電圧はDC/DC変換器313によって形成される。双方の動作電圧はモジュール300〜304毎に設けられた代表的に示されるセレクタ3141〜3143の入力に供給され、夫々のセレクタ3141〜3143の出力は対応する回路モジュールの電源端子に結合される。代表的に示されたセレクタ3141〜3143は、モードレジスタ307の後述する電圧設定フィールドに格納された制御情報に従って各別に入力電圧を選択して出力する。尚、電圧・周波数制御回路などのその他の回路には特に制限されないが動作電源として3.3Vが供給される。
【0051】
上記DC/DC変換器313は図8に示されるようにスイッチング素子3131、入力電圧Vinから2.5Vの参照電位Vrefを形成する参照電位生成回路3132、オペアンプ3133、ショットキーダイオード3134、コイル3135、平滑用コンデンサ3136から成る降圧型スイッチングレギュレータとされ、オペアンプ3133による負帰還動作によって2.5Vに降圧された電圧Voutを生成する。コイル3135はチップの外付けとされ、ショットキーダイオード3134はチップ内蔵又は外付け何れであってもよい。
【0052】
上記クロック発生回路320は、外部のクロック入力ピン321から外部クロック信号若しくは図示しない振動子を介して発生される発振出力を受け、周波数の異なるクロック信号を内部クロック信号340として選択的に出力可能にされる。すなわち、このクロック発生回路120は、外部からのクロック信号を受けてその周波数を逓倍して出力するPLL回路322、及びPLL回路322の出力に直列に2段結合された分周回路323,324を備える。分周回路323,324は例えば入力の周波数を夫々1/4にして出力する。上記PLL回路322そして分周回路323,324の夫々の出力は上記回路モジュール300〜303単位に設けられた代表的に示されるセレクタ3251〜3253の入力に供給され、夫々のセレクタ3251〜3253の出力はクロックドインバータのような出力ゲート3261〜3263を介して対応する回路モジュールのクロック入力端子に結合される。代表的に示されたセレクタ3251〜3253はモードレジスタ307の後述する周波数設定フィールドに格納された制御情報に従って各別に入力を選択して出力する。尚、タイマ304に専用化されたクロック信号341は供給停止されないようになっている。
【0053】
図9には上記モードレジスタ307の詳細な一例が示される。このモードレジスタ307は電圧設定フィールド3071と周波数設定フィールド3072より構成される。電圧設定フィールド3071は代表的に示された回路モジュール300〜303毎に1ビットづつ割当てられ、その論理値”1”は2.5V、”0”は3Vを意味し、それにしたがって対応回路モジュールに供給すべき内部電圧が指定される。周波数設定フィールド3072は代表的に示された回路モジュール300〜303毎に2ビットづつ割当てられ、その”00”は100MHz、”01”は25MHz、”10”は6.25MHz、”11”はクロック停止を意味し、それに従って対応回路モジュールに供給すべきクロック信号周波数が指定される。図7の構成に従えば、電圧設定フィールド3071の制御情報はラッチ回路331に所定のタイミングでラッチされ、ラッチされた制御情報は対応する回路モジュールのためのセレクタ3141〜3143の選択端子に供給される。周波数設定フィールド3072の制御情報はラッチ回路332に所定のタイミングでラッチされ、ラッチされた制御情報はそれぞれ2ビット毎にデコーダ333でデコードされ、夫々デコードされた選択信号が対応する回路モジュールのためのセレクタ3251〜3253の選択端子に供給される。これにより夫々の回路モジュール300〜303には電圧設定フィールド3071で指定された動作電圧と周波数設定フィールド3072で指定された周波数のクロック信号が各別に供給される。
【0054】
上記モードレジスタ307は、例えば中央処理装置300の所定のアドレス空間に配置され、LDC(ロード・コントロール・レジスタ)命令のような命令を中央処理装置300が実行することによって制御情報の設定が行われる。したがって、モードレジスタ307の書換えはマイクロコンピュータ3の動作プログラム次第で所望に行うことができる。例えば、処理の軽重に従ってタスク毎に設定することもできる。即ち、タスクの起動に際してCPU300のスタックポインタやステータスレジスタなどの退避、初期設定、復帰などの対象に当該モードレジスタを含めるようにすればとい。尚、パワー・オン・リセット時において双方のレジスタ114,124は全ビット0に初期化される。
【0055】
上記制御回路330は、上記ラッチ回路331,332及びデコーダ333を備えると共に、ラッチ回路331,332のラッチタイミングと出力ゲート3261〜3263の動作制御などを行うシーケンス制御部334を有し、モードレジスタ307に格納された制御情報に基づく動作電圧と周波数の切換えを制御する。このシーケンス制御部334は動作電圧及びクロック信号周波数の切換えに際して回路モジュールの誤動作を未然に防止するために第1の制御手段3341と第2の制御手段3342を備える。
【0056】
第1の制御手段3341は内部クロック信号340の周波数と内部電圧342の切換え手順の点において内部回路モジュールの誤動作を防止するための制御を司る。すなわち、内部クロック信号340の周波数と内部電圧342の双方を減少させる場合、先に内部電圧342を減少させると、内部クロック信号340の周波数が減少されるまでの間、動作状態におかれた回路モジュール内回路の駆動能力が低下して不所望な信号遅延によって誤動作を生ずる虞がある。また、内部クロック信号340の周波数と内部電圧342とを増加させる場合、先に内部クロック信号340の周波数を増加させると、内部電圧342が増加されるまでの間、動作状態におかれた回路モジュール内回路の駆動能力は動作速度の向上に追従しきれずに誤動作を生ずる虞がある。そこでこれらに対処するため、第1の制御手段3341は、上記クロック発生回路320及び電源回路310における内部クロック信号340の周波数及び内部電圧342の変更手順として、クロック信号340の周波数と内部電圧342とを減少させる指示を検出したときには現在の動作周波数の変更に先立って動作電圧342が減少される状態を阻止し、また、内部クロック信号340の周波数と内部電圧342とを増加させる指示を検出したときには当該電圧342の増加に先立って周波数の増加されたクロック信号340が供給される状態を阻止する。
【0057】
第2の制御手段3342は、内部クロック信号340の周波数と内部電圧342の不所望な切換え態様による誤動作を防止するための制御を司る。すなわち、内部クロック信号340の周波数と内部電圧342の切換えにおいて内部電圧342を増加させずにクロック信号340の周波数を増加させると、回路の動作が高速化されても回路の駆動能力が向上されずに当該高速動作に不適応な比較的大きな信号伝播遅延を生ずることになる。また、クロック信号340の周波数を減少させずに内部電圧342を減少させると、回路の駆動能力が低下されて信号伝播遅延が増大されるにも拘らず依然として回路が高速動作を行うことになる。そこで、第2の制御手段3342は、それらの態様で切換えられて誤動作を生じないようにするために、上記モードレジスタ307の書換え前後における上記制御情報に基づいて、内部電圧342を増加させずに内部クロック信号340の周波数を増加させる指示、又は内部クロック信号340の周波数を減少させずに内部電圧342を減少させる指示を検出することによって、当該指示に基づくクロック発生回路320及び電源回路310の出力状態変更を禁止させる。
【0058】
図10には上記第1及び第2の制御手段3341,3342による制御態様の一例が示される。すなわち、第2の制御手段3342によって周波数と動作電圧の切換えが禁止されるエラーの態様は、動作電圧を変更しないで周波数を増加させる場合(a)、周波数を変更しないで動作電圧を減少させる場合(d)、及び周波数を増加して動作電圧を減少させる場合(f)とされる。第1の制御手段3341によって動作電圧と周波数の切換え手順が規定されるべき態様は、周波数と動作電圧が共に増加される場合(e)、周波数と動作電圧が共に減少される場合(h)、及び周波数が減少され動作電圧が増加される場合(g)とされる。態様(e)の場合には動作電圧が増加される前に動作周波数の増加されたクロック信号にて回路モジュールが動作されてはならない。態様(g),(h)の場合には現在の動作周波数の変更前に動作電圧が変化されてはならない。
【0059】
例えば上記第1の制御手段3341は、動作電圧と周波数の切換え態様を判定し、図10の(g),(h)の場合には、周波数設定フィールド3072の値を先にラッチ回路332にラッチさせて周波数を変更し、次に電圧設定フィールドの値をラッチ回路331にラッチさせて動作電圧を変更する。態様(e)の場合には、電圧設定フィールドの値をラッチ回路331にラッチさせて動作電圧を変更し、その後に周波数設定フィールド3072の値をラッチ回路332にラッチさせて周波数を変更する。その他の態様についてはラッチ回路332,331のラッチタイミングは一切規定されない。また、第1の制御手段3341には、動作電圧と周波数の切換え時は回路モジュールへのクロック信号340の供給を上記出力ゲート3261〜3263を介して停止させ、回路動作が安定する一定期間を経過後にクロック信号340の供給を再開する手順を採用してもよい。図6において第1の制御手段3341は中央処理装置300とは独立のハードウェアとして図示されているが、その機能を中央処理装置300とその動作プログラムによって実現できる。
【0060】
例えば上記第2の制御手段3342は、上記モードレジスタ307に対する書換えの指示を検出したとき、書換え直前のレジスタ307の値を保持し、保持した前の値と書換えられたモードレジスタ307の値とを比較して上記エラーの態様(a),(d),(f)が指示されたか否かを判定する。当該エラーの態様を検出したときは、変更されたモードレジスタ307の値による周波数と電圧の選択状態変更を抑制する。即ち、ラッチ回路331,332によるラッチ動作を禁止する。更に、当該エラーの態様が指示されたことを中央処理装置100に通知して当該モードレジスタ307に対する再度の設定を促す。これによって周波数と電源電圧の不所望な切換え態様による誤動作を防止できる。
【0061】
上記第2の制御手段3342は図6において中央処理装置300とは独立のハードウェアによって構成されているように図示されているが、その機能を中央処理装置300とその動作プログラムによって実現することができる。すなわち、モードレジスタ307の変更処理ルーチンにおいて、先ず当該レジスタ307の値を中央処理装置300が読み込み、読み込んだ値と変更すべき値とを比較して上記エラーの態様であるかを判定し、そうである場合には当該変更処理ルーチンを終了して所定の例外処理ルーチンを行うようにする。
【0062】
図11にはシーケンス制御部334による動作電圧及び周波数の切換え制御手順の一例が示される。先ず中央処理装置300によってモードレジスタ307に制御情報が書込まれる(ステップS30)。シーケンス制御部334は書換え前後の制御情報に基づいて設定状態をチェックする(ステップS31)。当該チェックの結果、その設定状態が図10の態様(a),(d),(f)の何れかである場合を検出すると中央処理装置300にエラーを通知して処理を終了する(ステップS32)。切換えの態様がそれ以外の場合には出力ゲート3261〜3263を高出力インピーダンス状態に制御してクロック信号340の出力を停止し(ステップS34)、更にタイマ304によるタイマカウント動作を起動させる(ステップS34)。この状態においては、クロック信号周波数と動作電圧の切換えが可能にされる回路モジュールには動作クロック信号が供給されないので夫々の動作は停止される。このとき、シーケンス制御部334はラッチ回路331,332のラッチ動作を行い、これによって当該ラッチされた制御情報に従って、セレクタ3251〜3253によるクロック信号の選択状態が変更されると共に、セレクタ3141〜3143による動作電圧の選択状態が変更されて、動作電圧と周波数が切換えられる(ステップS35)。次いで、タイマ304によるタイマカウントがカウントアップしたことを検出して(ステップS36)、クロック信号340の供給を再開する。タイマ304によるタイマカウントがカウントアップするまでの時間は、電源回路310及びクロック発生回路内320の状態が安定し、また、切換えられた電圧が対応回路モジュール内で安定化すまでに必要な時間とされる。これによって新しい動作電圧及び周波数での動作が可能にされる。
【0063】
この制御手順において内部クロック信号340の出力を停止した状態において内部クロック信号周波数と内部電圧を切換え、その後一定時間経過後に内部クロック信号の供給を再開するという手順は、現在の動作周波数の変更に先立って電源電圧が減少される状態を阻止し、また、電源電圧の増加に先立って周波数の増加されたクロック信号が回路モジュールに供給される状態を阻止する手順を実現している。特に切換え時における内部クロック信号の供給停止という簡単な手法によってそれを実現できる。尚、タイマ304はその他の回路モジュールとは別の専用的なクロック信号341が供給され、その他の回路モジュールに対してクロック信号の供給が停止されていても当該タイマ304はタイマカウント動作を維持できるようになっている。
【0064】
図12にはシーケンス制御部334による動作電圧及び周波数の切換え制御手順の別の例が示される。同図に示される手順においてはステップS31の後に、図10の態様(g),(h)に相当する切換えかを判定するステップS40が介在され、当該態様の場合には、内部クロック信号を停止し(ステップS41)且つタイマカウントを開始した(ステップS42)状態で先に周波数の変更を行い(ステップS43)、タイマカウント終了後に(ステップS44)クロック信号の供給を再開して(ステップS45)、動作電圧を変更する(ステップS46)ものである。
【0065】
上記第3の実施例によれば以下の作用効果を有する。(1)クロック周波数と動作電圧の切換え態様を指示する制御情報は中央処理装置によって書換え可能にモードレジスタ307に設定されるから、シングルチップマイクロコンピュータ3に内蔵された回路モジュールの性能やデータ処理の軽重に応じて当該制御情報を必要に応じて書換えることで、回路モジュールの動作電圧と動作周波数に対する自由な切換えを実現できる。したがって、相対的に高速のデータ処理を要しないタスク若しくは回路モジュールに対しては低消費電力を優先させ、相対的に処理の高速性を要するタスク若しくは回路モジュールに対しては電力消費量の増大を許容して、これによって全体としてのデータ処理効率を向上させつつ低消費電力を実現することができる。更に、所定の回路モジュール毎に個別的にクロック周波数と電源電圧の切換えを可能にすることにより、上記全体としてのデータ処理効率を向上させつつ低消費電力化を図る制御を更にきめ細かく実現できる。
【0066】
(2)第2の制御手段3342により、上記第1実施例同様に周波数と動作電圧の不所望な切換え態様による誤動作を防止することができる。
【0067】
(3)第1の制御手段3341により上記第1実施例同様にクロック信号周波数と動作電圧の切換え手順の点において回路モジュールが誤動作する虞を未然にを防止することができる。
【0068】
図13には本発明に係るデータ処理装置の第4実施例が示される。図1に示されるものと同一機能を有る回路ブロックには同一符合を付してその詳細な説明を省略する。図13に示される第4実施例は、図6に示される実施例に対して電源回路310とクロック発生回路320をシングルチップマイクロコンピュータ4の外部に配置し、電源電圧の選択信号400と周波数の選択信号401をマイクロコンピュータ4から受け取って、それにより指示される電圧の電源を複数個の電源ピン402に、それにより指示される周波数のクロック信号を複数個のクロック入力ピン403に供給する。また、特に図示はしないが、図6の実施例においてモードレジスタ307に外部電源回路と外部クロック発生回路の動作選択のための制御情報指定フィールドを設け、これによって設定された値に応ずる制御信号をチップの外部に出力可能にして、図6の実施例において電源ピン311に供給される電源電圧とクロック入力ピン321に供給される外部クロック信号の周波数をも切換え可能にすることができる。
【0069】
図14には本発明に係るデータ処理装置の第5実施例が示される。同図に示されるものは回路基板に形成されるようなマルチチップマイクロコンピュータとされ、夫々半導体集積回路化された中央処理装置500、ディスプレイコントローラ501、メモリ502、コプロセッサ503、及び入出力回路504などが外部バスを共有して構成される。このシステムにおいて上記中央処理装置500、ディスプレイコントローラ501、メモリ502、コプロセッサ503は、クロック信号及び動作電源の電圧が個別的に切換え可能にされる。そのために、上記クロック発生回路320、電源回路310が設けられ、また、中央k処理装置500には上記モードレジスタ307及び制御部330が内蔵されている。この実施例においてモードレジスタには上記中央処理装置500、ディスプレイコントローラ501、メモリ502、コプロセッサ503の動作周波数と動作電圧を個別的に設定するための記憶領域が割当てられている。
【0070】
〔2〕次に、内部バスが階層化されたデータ処理装置に対する動作周波数切換えに係る発明の実施例を図15から図32を参照して説明する。
【0071】
図15には本発明の別の実施例に係るマイクロコンピュータ6が示される。同図に示されるマイクロコンピュータ6は、例えば公知の半導体集積回路製造技術によって単結晶シリコンのような1個の半導体基板に形成される。このマイクロコンピュータは、特に制限されないが、CPUバス(第1の内部バス)60、キャッシュバス(第2の内部バス)70、及び周辺バス(第3の内部バス)80から成るスリーバス構成を有する。夫々のバス60,70,80はデータ、アドレス、制御信号の各信号線群を備えている。CPUバス60には中央処理装置(CPU)61、キャッシュメモリ装置62、アドレス変換バッファ(TLB)63、クロック制御回路65、及びブレークコントローラ64が結合される。キャッシュメモリ装置62は他方においてキャッシュバス70に結合され、当該キャッシュバス70には周辺バスインタフェース71、バスコントローラ72、及び入出力回路73が結合される。入出力回路73は図示しない外部バスに結合され、バスコントローラ72は外部バスに結合された回路モジュールとキャッシュバス70とのインタフェース制御を行う。周辺バスインタフェース71は周辺バス80に接続されたタイマ81、割り込みコントローラ82、シリアルインタフェース83のような周辺回路モジュールに対するインタフェース制御を行う。周辺バス80にはバスマスタは結合されない。
【0072】
本実施例のマイクロコンピュータ6は論理アドレス空間を論理ページと呼ばれる単位に分割し、そのページ単位に物理アドレスへのアドレス変換を行うための仮想記憶をサポートする。上記アドレス変換バッファ63はメモリ部とその制御部とを備える。メモリ部は論理ページ番号と物理ページ番号とに関する変換対などをTLBエントリとして格納する連想メモリとされ、その制御部は中央処理装置61が出力する論理アドレスをメモリ部を用いて物理アドレスに変換する制御を行う。TLBミスの場合にはその論理アドレスに対応されるTLBエントリは制御部を介して外部のページテーブルから読み込まれる。
【0073】
中央処理装置61は例えば4ギガバイトの論理アドレス空間をサポートするために32ビットのアドレスを利用する。中央処理装置61の回路ブロック内には汎用レジスタや算術論理演算器などで代表される演算部と、プログラムカウンタなどの制御用レジスタ群、そして命令のフェッチや解読そして命令実行手順を制御したり演算制御を行う制御部を供える。この中央処理装置61は入出力回路73を介して図示しない外部メモリから命令をフェッチし、その命令記述に応じたデータ処理を行う。
【0074】
キャッシュメモリ装置62は、特に制限されないが、連想メモリ部とキャッシュ制御部を備える。メモリ部に対するインデックスは論理アドレスの一部を用いて行われ、エントリのタグ部には物理アドレスが保有され、インデックスされたタグ部はその論理アドレスがアドレス変換バッファ63で変換された物理アドレスと比較され、その比較結果に応じてキャッシュミス/ヒットを判定する。キャッシュミスの場合に当該キャッシュミスに係るデータ又は命令はキャッシュ制御部がバスコントローラ72及び入出力回路73を介して図示しない外部メモリから読み込み、読み込まれたデータ又は命令は新たなキャッシュエントリとしてキャッシュメモリ装置62に格納されると共に、CPUバス60に供給される。CPUバス60とキャッシュバス70とのインタフェースはキャッシュメモリ装置62に含まれるキャッシュ制御部が行う。連想メモリ部のデータ入出力端子及びアドレス入力端子はCPUバス60に結合されている。
【0075】
クロックパルスジェネレータ9はCPUクロック信号(第1のクロック信号)91、バスクロック信号(第2のクロック信号)92、及び周辺クロック信号(第3のクロック信号)93を出力する。CPUクロック信号91はCPUバス60に結合された回路モジュール(CPU61,キャッシュメモリ装置62,TLB63,ブレークコントローラ64,クロック制御回路65)のための動作クロック信号とされる。バスクロック信号92は、キャッシュバス70に結合された回路モジュール(周辺バスインタフェース71,バスコントローラ72,入出力回路73)のための動作クロック信号とされる。周辺クロック信号93は、周辺バス80に結合された回路モジュール(タイマ81,割り込みコントローラ82,シリアルインタフェース83)のための動作クロック信号とされる。クロック制御回路65は、CPUバス60を介して中央処理装置61にて設定された制御情報により上記CPUクロック信号91と周辺クロック信号93の周波数を動的に変更可能とする。
【0076】
ここで、CPUクロック信号91は中央処理装置61、キャッシュメモリ装置62、及びアドレス変換バッファ63などの高速動作されるべき回路モジュール用のクロック信号とされる。周辺クロック信号93は高速動作不要な内蔵周辺回路モジュールとのためのクロック信号とされる。それらクロック信号91,93はクロック制御回路65に対する設定内容次第で信号周波数が動的に変更可能にされる。バスクロック信号92は入出力回路73を介して接続されるメモリなどの外部デバイスの動作速度に合わせたクロック信号とされるから、信号周波数の動的な変更対象とはされない。上記クロック信号91,93の周波数変更のためにクロックパルスジェネレータ9の内部状態が変更されたときも、バスクロック信号92の周波数を変更しないようにクロックパルスジェネレータ9はクロック制御回路6にて制御される。
【0077】
図16にはクロックパルスジェネレータ9及びクロック制御回路65の詳細な一例ブロック図が示される。上記クロックパルスジェネレータ9は、外部クロック源に結合可能な第1の接続端子として振動子接続用の端子XTAL及び振動子接続又は外部クロック信号入力用の端子EXTAL、別の外部クロック源に結合可能な第2の接続端子として外部クロック入力又は出力用の端子CKIOを備える。
【0078】
水晶発振器910、セレクタ911、PLL回路912、分周器913、セレクタ914は、端子XTAL,EXTALに結合された第1の周波数変更手段を構成し、セレクタ920及びPLL回路921は端子CKIOに結合された第2の周波数変更手段を構成する。水晶発振器910は端子XTAL,EXTALに接続された水晶振動子の固有振動を利用した例えばオーバートーン型やゲート型の回路で構成される。セレクタ911は水晶発振器910の出力又は端子EXTALから直接供給されるクロック信号の一方を選択する。PLL回路912は端子CAP2を介してPLL容量が結合され、入力クロック信号の同期と逓倍を行う。逓倍率は1倍又は4倍とされる。分周器913は入力クロック信号を1/2分周する。セレクタ914はPLL回路912の出力又は分周器913の出力の一方を基本クロック信号915として選択する。上記セレクタ914から出力される基本クロック信号915はその動作が選択されたときクロックバッファ950を介して端子CKIOから外部に出力可能にされる。951はそのためのクロック信号出力経路である。上記セレクタ920はセレクタ914からの基本クロック信号915又は端子CKIOから入力されたクロック信号を選択する。PLL回路921は端子CAP1を介してPLL容量が結合され、セレクタ920からの入力クロック信号の同期と逓倍を行う。逓倍率は1倍、2倍又は4倍とされる。セレクタ930,931はセレクタ914から出力される基本クロック信号915又はPLL回路921から出力されるクロック信号を選択する選択手段を構成する。分周器940、分周器941、セレクタ942,943,944は、セレクタ930,931で選択されたクロック信号を受けて上記CPUクロック信号91、周辺クロック信号93、及びバスクロック信号92の周波数を各別に変更可能にする第3の周波数変更手段を構成する。分周器940はセレクタ930からのクロック信号を、分周比1、1/2、1/4で分周し、その何れか一つをセレクタ942が選択してCPUクロック信号91とする。分周器941はセレクタ931からのクロック信号を、分周比1、1/2、1/4で分周し、その何れか一つをセレクタ943が選択して周辺クロック信号93とし、またその何れか一つをセレクタ944が選択してバスクロック信号92とする。
【0079】
クロック制御回路65はクロックパルスジェネレータ9の動作を制御する。その制御態様は、モード端子MD0,MD1,MD2に対する外部からの設定状態と、中央処理装置61によるクロック制御レジスタ650に対する設定状態とに大別される。本実施例において外部クロック源は端子XTAL,EXTALに結合される水晶振動子、端子EXTALからの外部クロック信号、端子CKIOからの外部クロック信号の3通りの何れかとされる。どれを採用するかによってクロックパルスジェネレータにおけるクロック信号の伝達経路が相違されなければならず、少なくともセレクタ911と920の選択状態が決定されなければ、CPUクロック信号91が発生されず中央処理装置61は動作できないから、その何れを採用しているかは中央処理装置61によるクロック制御レジスタ650への制御情設定では対処できない。この意味においてもモード端子MD0〜MD2によるクロックパルスジェネレータ9の動作制御が必要とされる。更に、クロック制御回路65はモード端子MD0,MD1,MD2の状態とクロック制御レジスタ650の設定値とに従い、基本クロック信号915によってクロック信号91〜93を生成する場合にはバスクロック信号92の周波数が基本クロック信号915の周波数に一致するようにセレクタ944の選択状態を制御し、端子CKIOから供給されるクロック信号によってクロック信号91〜93を生成する場合にはバスクロック信号92の周波数が端子CKIOからのクロック信号周波数に一致するようにセレクタ944の選択状態を制御する。これは、バスクロック信号92の周波数は外部に接続される外部デバイスの許容動作速度に応じて一定に保たれなければならないから、モード端子MD0〜MD2によるクロックモードの選択状態やクロック制御レジスタ650を介するCPUクロック信号91及び周辺クロック信号93の動的な周波数変更に際して、バスクロック信号92の周波数を自動的に一定に保つためである。
【0080】
図17にはクロック制御レジスタの一例が示される。ビットPLLENはPLL回路921のイネーブルビットでありPLLEN=1はイネーブル、PLLEN=0はディスエーブルを指示する。ビットPLLEN=1にされるとセレクタ930,931は共にPLL回路921の出力を選択する状態に制御される。ビットSTC1,STC0はPLL回路921の周波数逓倍率を指示するビットであり例えば逓倍率1倍(STC1=0,STC0=0)、2倍(STC1=0,STC0=1)、4倍(STC1=1,STC0=1)を指示することができる。ビットCFC1,CFC0はCPUクロック信号91の分周率即ちセレクタ942による選択を指示するビットであり、例えば分周率1(CFC1=0,CFC0=0)、分周率1/2(CFC1=0,CFC0=1)、分周率1/4(CFC1=1,CFC0=1)を選択することができる。ビットPFC1,PFC0は周辺クロック信号93の分周率即ちセレクタ943による選択を指示するビットであり、例えば分周率1(PFC1=0,PFC0=0)、分周率1/2(PFC1=0,PFC0=1)、分周率1/4(PFC1=1,PFC0=1)を選択することができる。ビットMST1はタイマ81への周辺クロック信号93の供給を選択的に停止させる為の制御ビットであり、例えばMST1=0で供給許容、MST=1で供給停止を指示する。ビットMST0はシリアルインタフェース83への周辺クロック信号93の供給を選択的に停止させる為の制御ビットであり、例えばMST0=0で供給許容、MST=0で供給停止を指示する。上記クロック制御制御レジスタ650は、パワーオンリセットやマニュアルリセットなどによるマイクロコンピュータの初期化に際して、その全ビットがハードウェアで(中央処理装置61による命令実行によらずに)論理値”0”に初期化される。上述の理由により、セレクタ944によるバスクロック信号92の周波数選択状態はクロック制御レジスタ650を介して任意に行うようにはなっていない。
【0081】
図18にはモード端子MD0〜MD2によって設定される7通りのクロックモードが示される。図18に示されるNo.0とNo.1のクロックモードは、端子EXTALをクロック供給源とし、それをPLL回路912で逓倍(クロックモードNo.0は逓倍率1倍、クロックモードNo.1は逓倍率4倍)して得られるクロック信号を基本クロック信号915とするようにセレクタ911,914の選択状態を制御する。それらクロックモードにおいてクロックバッファ950は出力動作可能にされ、端子CKIOはクロック出力に利用され、セレクタ920は基本クロック信号915の選択状態に制御される。上述のようにPLL回路921の動作はクロック制御レジスタ650の初期状態において禁止されている。セレクタ930,931はセレクタ914から出力される基本クロックの選択状態にされる。セレクタ944は、バスクロック信号92の周波数を基本クロック信号915の周波数に一致させるようにクロック制御回路65が自動的に制御する。マイクロコンピュータのリセットに際してクロック制御レジスタ65の状態は中央処理装置61の動作を介することなく一定の値に初期化されるから、モード端子MD0〜MD2によるクロックモードが決定されれば、リセット時においてクロック信号91〜93はマイクロコンピュータの各部に供給され、中央処理装置61は命令を実行可能にされる。その後、中央処理装置61がクロック制御レジスタ650の値を書き換えることによってCPUクロック信号91と周辺クロック信号93の周波数は動的に変更可能にされる。例えばPLL回路921の動作が可能にされると(PLLEN=1)、セレクタ930,931はPLL回路921の出力を選択し、分周回路940,941にはPLL回路921で逓倍されたクロック信号が供給される。このときPLL回路921の逓倍率が2倍ならばセレクタ944は分周比1/2を、逓倍率が4倍ならばセレクタ944は分周比1/4を選択してバスクロック信号92の周波数を一定に保つようにする。
【0082】
図18に示されるNo.2,No.3のクロックモードは、クロック供給源を水晶発振器910とし、それをPLL回路912で逓倍(クロックモードNo.2は逓倍率4倍、クロックモードNo.3は逓倍率4倍逓倍率1倍)して得られるクロック信号を基本クロックとするようにセレクタ911,914の選択状態を制御する。その他の制御状態はクロックモードNo.0,No.1の場合と同様である。
【0083】
図18に示されるNo.4,No.5のクロックモードは、PLL回路912を動作させずセレクタ911,914にて分周器913を通る経路を選択させて基本クロックを生成する。クロックモードNo.4におけるクロック源は端子EXTALから供給される外部クロック信号、クロックモードNo.5におけるクロック源は水晶発振器910とされる。その他の制御状態はクロックモードNo.0,No.1の場合と同様である。
【0084】
図18に示されるNo.6のクロックモードは、端子CKIOから供給されるクロック信号をクロック源とし、PLL回路921の動作を選択し、当該PLL回路921の出力をセレクタ930,931に選択させる。当該クロックモードにおいてクロックバッファ950は出力動作不可能にされる。当該動作クロックモードにおいてはクロック制御レジスタ650のビットPLLENによるPLL回路921の動作選択は無効にされる。例えばクロック制御回路65はクロックモードNo.6が設定されたときビッPLLENを論理値”1”に強制する(ビットPLLENを強制的にプルアップするような回路が活性化される)。従って中央処理装置61による当該ビットPLLENの書き換えは実質的に不可能にされる。その他のクロックモードにおいてPLL回路921の動作はクロック制御レジスタ650のビットPLLENによって任意に設定可能である。
【0085】
以上のように、クロック制御回路65は、モード端子MD0〜MD2の状態に従って、第1の周波数変更手段に含まれるPLL回路912及び分周器913による周波数変更率を決定して端子XTAL,EXTALから分周器940,941の入力にクロック信号を伝達可能にし、且つバスクロック信号92の周波数が基本クロック信号の周波数に一致するようにセレクタ944を制御する第1の状態、又は端子CKIOからPLL回路921にクロック信号を伝達可能に制御する第2の状態を選択する。更に、上記クロック制御レジスタ650に設定された制御情報に従ってPLL回路921による周波数変更率とセレクタ942,943によるCPUクロック信号91及び周辺クロック信号93の周波数選択を可変に制御すると共に、クロック端子MD0〜MD2にて指定された上記第2の状態においてはセレクタ944で選択されるバスクロック信号92の分周器941による分周率と上記クロック制御レジスタ650にて指定されたPLL回路921の逓倍率との積が1となる(換言すればバスクロック信号92の周波数が端子CKIOからの入力クロック信号周波数に一致する)ようにセレクタ944を選択制御する。
【0086】
図19及び図20にはクロック信号サイクルとバスサイクルの一例タイミングチャートが示される。図19においてクロック信号の周波数比は、CPUクロック信号91:周辺クロック信号93:バスクロック信号92=1:1/2:1/4とされ、それに応じてCPUバス60、キャッシュバス70及び外部バス、周辺バス80のバスサイクルが決定されている。この例は中央処理装置61のデータ処理速度を優先させるために中央処理装置61を高速動作せせる場合の一例とされる。図20の例は、図19に対し、バスクロック信号92及び周辺クロック信号93の周波数を一定のままCPUクロック信号91の周波数を1/2に変更したときの様子が示され、中央処理装置61の性能よりも低消費電力を優先させるときの設定例であり、周辺モジュールと外部バスアクセスの速度を一定に保ちながら中央処理装置61の消費電力が半分に低減される。図19及び図20において外部バスのバスサイクルはキャッシュバス70のバスサイクルと同じとされている。バスコントローラ72はバスクロック信号92に同期動作され、そのようなバスコントローラ72が起動する外部バスサイクルはやはり同様にバスクロック信号92に同期されるからである。
【0087】
図16においてクロック制御回路65はクロックドライバ制御信号651、タイマ81へのクロック供給停止制御信号652、及びシリアルインタフェース83へのクロック供給停止制御信号653を生成する。クロックドライバ制御信号651は、クロック制御レジスタ650の書き換えによって分周率や逓倍率などのクロックパルスジェネレータ9の内部状態が変更されたとき、クロック信号91〜93が安定化するまでそれらクロック信号91〜93によって回路モジュールが動作されるのを禁止するための制御信号である。夫々の回路モジュールは図21の(A)に例示的に示されるようにクロックドライバ1000とロジック回路1100を備える。図21の(B)にはクロックドライバ1000の一例が示される。この例に従えばクロックドライバ1000はそれを含む回路モジュールの種別に応じてCPUクロック信号91、周辺クロック信号93、又はバスクロック信号92をクロックパルスジェネレータから受け、これをノンオーバラップ2相のモジュール内クロック信号CK1,CK2としてロジック回路1100に供給する。2入力ナンドゲート1001及び遅延回路(直列8段のインバータ回路)1002は一方のクロック信号CK1における立ち上がり及び立ち下がりのノンオーバラップ期間を決定し、2入力ナンドゲート1003、遅延回路(直列7段のインバータ回路)1004及び2入力ノアゲート1005は他方のクロック信号CK2における立ち上がり及び立ち下がりのノンオーバラップ期間を決定する。クロックパルスジェネレータ9からのクロック信号91、92又は93は2入力ノアゲート1006の一方の入力端子に供給され、当該ノアゲート1006の他方の入力端子には上記ノアゲート1005の他方の入力端子と共にクロックドライバ制御信号651が供給され、当該クロックドライバ制御信号651が論理値”1”にされると、双方のノアゲート1005,1006の出力が論理値”0”に固定され、これによってクロック信号CK2は論理値”0”に、クロック信号CK1は論理値”1”に固定される。これにより、ロジック回路1100内部において内部ロック信号CK1,CK2に同期動作される回路の動作は停止され、その内部状態を保持することができる。クロック制御回路65は、例えばクロック制御レジスタ650に対する書込みサイクルの終了を検出したとき、クロックドライバ制御信号651を一定期間論理値”0”から論理値”1”に変化させる。その期間はクロックパルスジェネレータ9の内部状態が変更されてからクロック信号91,92,93が安定化されるまでの期間とされ、その回路特性によって決まる。当該期間の管理は、例えばクロックドライバ制御信号651によっても、またタイマへのクロック供給停止制御信号652によっても動作が停止されない図示しないタイマで行うことができる。
【0088】
タイマへのクロック供給停止制御信号652はクロック制御レジスタ650のビットMST1によってその論理値が決定され、シリアルインタフェースへのクロック供給停止制御信号653は同じくビットMST0の論理値によって決定される。特に図示はしないがタイマとシリアルインタフェースにおけるクロックドライバにおいて図21の(B)に示されるノアゲートは3入力とされ、そのひとつの入力に対応してクロック供給停止制御信号652又は653が供給され、それら回路モジュールにおける内部クロック信号CK1,CK2を任意に停止できるようになっている。
【0089】
図22には本実施例のマイクロコンピュータ6と外部メモリとの接続態様が示される。同図においてマイクロコンピュータ6の外部インタフェース信号は、アドレス信号A26−A0、データD31−D0、チップセレクト信号CS0#(記号#はそれが付された信号がローイネーブル信号であることを意味する)〜CS4#、リード信号RD#、データネーブル信号DQMLL/WE0#,DQMLU/WE1#,DQMUL/WE2#,DQMUU/WE3#、リード・ライト信号R/W#、ロウアドレスストローブ信号RAS#/CS#、カラムアドレスストローブ信号CAS#/CE#/CASHH#、カラムアドレスストローブ信号CASHL#,CASLH,CASLL#などとされる。上記アドレス信号A26−A0、書込み時におけるデータD31−D0、そしてチップセレクト信号CS0#などの各種アクセス制御信号の変化タイミングは上記バスコントローラ72が制御し、それらはバスクロック信号92に同期して変化される。
【0090】
上記ロウアドレスストローブ信号RAS#/CS#は、DRAM(ダイナミック・ランダム・アクセス・メモリ)及びSDRAM(シンクロナスDRAM)に使用されるときそれらにとってのローアドレスストローブ信号とされ、PSRAM(擬似スタティック・ランダム・アクセス・メモリ)に使用するときはそれらにとってのチップイネーブル信号とされる。カラムアドレスストローブ信号CAS#/CE#/CASHH#は、SDRAMに使用されるときそれにとってのカラムアドレスストローブ信号とされ、DRAMに使用するときはそれにとっての最上位バイト選択のカラムアドレスストローブ信号とされ、PSRAMに使用されるときそれにとってのアウトプットイネーブル信号とされる。カラムアドレスストローブ信号CASHL#はDRAMに使用されるときそれにとって2バイト目のカラムアドレスストローブ信号とされ、カラムアドレスストローブ信号CASLHはDRAMに使用されるときそれにとって3バイト目のカラムアドレスストローブ信号とされ、カラムアドレスストローブ信号CASLL#はDRAMに使用されるときそれにとって4バイト目のカラムアドレスストローブ信号とされる。データネーブル信号DQMLL/WE0#は、SDRAMに使用されるときそれにとって最下位バイト選択を、その他のメモリに使用されるときは最下位バイトの書込みを指示する。データネーブル信号DQMLU/WE1#は、SDRAMに使用されるときそれにとって3バイト目選択を、その他のメモリに使用されるとき3バイト目の書込みを指示する。データネーブル信号DQMUL/WE2#は、SDRAMに使用されるときそれにとって2バイト目選択を、その他のメモリに使用されるときは2バイト目の書込みを指示する。データネーブル信号DQMUU/WE3#は、SDRAMに使用されるときそれにとって最上位バイト選択を、その他のメモリに使用されるときは最上位バイトの書込みを指示する。尚、図示はしないがその他に、バススタート信号、バス権要求信号、バス使用許可信号などを出力し、また、バス解放要求信号、ウェイト信号などを入力する。また図16に示される外部端子群は図示を省略してある。
【0091】
図22において夫々の信号は外部バス1200を介してDRAM1300〜1303やSRAM1304〜1306などのその他のメモリと接続される。図22に示されるDRAM1300〜1303はデータ入出力が8ビット(バイト)単位で行われるもの(×8DRAM)とされる。DRAM1300〜1303やSRAM1304〜1306の端子Aはアドレス入力端子、Dはデータ入出力端子、RAS#はローアドレスストローブ信号入力端子、CAS#はカラムアドレスストローブ信号入力端子、WE#はライトイネーブル信号入力端子、CS#はチップセレクト信号の端子、OE#はアウトプットイネーブル信号の入力端子である。
【0092】
図23にはデータの並列入出力ビット数が16ビットのDRAM1307,1308を採用した場合の接続態様が示される。この例においてDRAM1307,1308の端子UCAS#は上位側のカラムアドレスストローブ信号入力端子、LCAS#は下位側のカラムアドレスストローブ信号入力端子であり、その他は図22と同様である。
【0093】
図24にはデータの並列入出力ビット数が8ビットのSDRAM1310〜1313を採用した場合の接続態様が示される。SDRAM1310〜1313は、DRAMに比べ、クロックに同期してデータ、アドレス、及び制御信号を入出力できるため、DRAMと同様の大容量メモリをSRAMに匹敵する高速動作可能に実現でき、従来のDRAM以上の高速アクセスと大容量を低価格で実現可能となるメモリである。マイクロコンピュータ6はSDRAMとのインタフェースのためにクロックイネーブル信号CKEを出力すると共に前記端子CKIOからクロック信号CLKを出力する。SDRAMのCLKはクロック信号CLKの入力端子、CKEはクロックイネーブル信号CKE入力端子、CS#はチップセレクト信号入力端子、CAS#はカラムアドレスストローブ信号入力端子、RAS#はロウアドレスストローブ信号入力端子、WE#はライトイネーブル信号入力端子、Aはアドレス信号入力端子、Dはデータ入出力端子である。SDRAMの動作モード(ロウアドレス信号の取り込み、カラムアドレス信号を取り込んで書込み、カラムアドレス信号を取り込んで読み出しなど)は外部からのメモリ制御信号及びアドレス信号の所定下位ビットによって図示しないモードレジスタにコマンドが書き込まれることによって決定される。クロック信号CLKはSDRAMのマスタクロックとされ、その他の外部入力信号は例えば当該クロック信号CLKの立ち上がりエッジに同期して有意とされる。端子SC#に与えられるチップセレクト信号はそのローレベルによってコマンド入力サイクルの開始を指示する。クロックイネーブル信号CKEは次のクロック信号の有効性を指示する信号であり、当該信号CKEがハイレベルであれば次のクロック信号CLKの立ち上がりエッジが有効とされ、ローレベルのときは無効とされる。
【0094】
図25にはデータの並列入出力ビット数が16ビット(×16)のSRAM1314,1315を採用した場合の接続態様が示される。この例においてSDRAM1314,1315の端子DQMUは上位側のデータイネーブル信号入力端子、DQMLは下位側のデータイネーブル信号入力端子であり、その他は図24と同様である。
【0095】
図26から図30には図22又は図23で示されるDRAMのバスアクセスタイミングの一例がバスクロック信号92の周波数を変えて示される。バスコントローラはバスクロック信号92に同期してロウアドレスストローブ信号などの各種メモリアクセス制御信号を生成すると共にデータの入出力を行う。各図においてD31−D0はデータ、アドレス下位側ビットはDRAMに供給されて実際に使用されるアドレスビット、アドレス上位側ビットはDRAMには供給されないアドレスビットを意味する。BS#はバスサイクルの開始を示すバススタート信号であり、マイクロコンピュータ6のバスコントローラ72が出力する。図26から図30においてTr、Tr1、Tr2、Tr3はロウ系動作ステート、Tc1、Tc2、Tc3はカラム系動作ステート、Tpはプリチャージ動作ステートである。図26においてバスクロック信号92の周波数φは18.6MHzよりも小さい場合とされ、それにおけるDRAMのメモリサイクルは例えばTr,Tc1,Tc2の3サイクルとされ、図27において(18.8MHz≦φ≦28.5MHz)DRAMのメモリサイクルはTr1,Tr2,Tc1,Tc2,Tpの5サイクルとされ、図28において(28.5MHz<φ≦37.7MHz)DRAMのメモリサイクルはTr1,Tr2,Tc1,Tc2,Tc3,Tpの6サイクルとされ、図29において(37.7MHz<φ<47MHz)DRAMのメモリサイクルはTr1,Tr2,Tc1,Tc2,Tc3,Tp,Tpの7サイクルとされ、図30において(47.7MHz≦φ≦56MHz)DRAMのメモリサイクルはTr1,Tr2,Tr3,Tc1,Tc2,Tc3,Tp,Tpの8サイクルとされる。このように1メモリアクセス期間(バスクロック信号92のサイクル数)がバスクロック信号92の周波数によって変化されるのは、DRAMなどの外部デバイスの動作可能な速度とバスクロック信号92の周期を考慮してDRAMなどの外部デバイスの動作可能速度に見合う1メモリアクセス期間をバスクロック信号92のサイクル数によって決定しているためである。そのようなサイクル数は、マイクロコンピュータ6のユーザがどの程度の動作速度の外部デバイスを採用するかによって相違される性質のものである。例えばDRAMを図26のようなサイクルを以て許容最高速度で動作させるシステムに対し、バスクロック信号9の周波数をそれよりも高くした別のシステムにおいてそれと同じDRAMを許容最高速度で動作させるときには、アクセスサイクル数は図27乃至図30に示されるように多くされなければならない。本実施例においてバスコントローラ72による外部バスアクセスの基本的なバスクロック信号サイクル数は任意に設定可能にされている。そのようなサイクル数は、特に制限されないが、外部端子によってバスコントローラ内部のレジスタに設定される。
【0096】
図31及び図32には図24又は図25で示されるSDRAMに対するリード、ライトのバスアクセスタイミングの一例が示される。各図においてD31−D0はデータ、アドレス下位側ビットはSDRAMのメモリセルを選択するためのロウアドレス及びカラムアドレスとされる。アドレスA12,A11,A10又はA9はSDRAMにロウアドレスの取り込み、カラムアドレスを取り込んでリード動作、カラムアドレスを取り込んでライト動作などの動作モードを指示するための信号とされる。アドレス上位側ビットはSDRAMには供給されないアドレスビットを意味する。BS#はバスサイクルの開始を示すバススタート信号であり、マイクロコンピュータ6のバスコントローラ72が出力する。バスコントローラ72はSDRAMに割り当てられたアドレスに対するアクセスに際して図31及び図32に示されるようにバスクロック信号92に同期したバス制御を行う。SDRAMはマイクロコンピュータ6の端子CKIOから出力されるクロック信号CLKを受けてそれに同期動作する。図31から図32においてTrはロウ系動作ステート、TrwはTrを引き延ばすためのウェートステート、Tc1はカラム系動作ステート、TcwはTc1を引き延ばすためのウェートステート、Td1はデータ読み込みステートである。リード動作とライト動作ではメモリサイクルを構成するはステート数(バスクロック信号サイクル数)が相違されている。図31のステートTrではロウアドレスが取り込まれ、Tc1ではリードコマンドによってカラムアドレスが取り込まれ、カラムアドレスストローブ信号CAS#の立ち下がりから3サイクル(バスクロック信号即ち端子CKIOから出力される外部クロック信号CLKのサイクル数)後にデータが読出される。図32のステートTrではロウアドレスが取り込まれ、Tc1ではライトコマンドによってカラムアドレスが取り込まれ、データに書込みが行われる。
【0097】
内部バスが階層化されたマイクロコンピュータ6に対する動作周波数切換えに係る上記実施例によれば以下の作用効果がある。(1)CPUバス60、キャッシュバス70及び周辺バス80に階層化されたマイクロコンピュータ6において、バスクロック信号92は、動的に周波数可変のクロック信号から除外している。すなわち、CPUクロック信号91及び周辺クロック信号93はクロック制御回路65に対する設定内容次第で信号周波数が動的に変更可能にされるが、バスクロック信号92は入出力回路73を介して接続されるメモリなどの外部デバイスの動作速度に合わせたクロック信号とされるべきであるから、信号周波数の動的な変更対象とはされない。上記クロック信号91,93の周波数変更のためにクロックパルスジェネレータ9の内部状態が変更されたときも、クロック制御回路6はバスクロック信号92の周波数を変更しないようにクロックパルスジェネレータ9を制御する。
【0098】
(2)CPUクロック信号91周波数を制御情報にて動的に可変制御可能にすることにより、中央処理装置61が結合されるCPUバス60の回路モジュールを必要に応じて高速動作させて高速データ効率を向上させることができ、その逆に高速動作を要しないタスクを実行するときにはクロック信号周波数を低くして低消費電力を実現することができる。
【0099】
(3)周辺クロック信号93の周波数を制御情報にて動的に可変制御可能にすることにより、周辺バス80に結合された回路モジュールが周辺回路モジュールであるという性質に鑑みてその機能や動作状態に応じ他の回路モジュールとは独立的に動作速度を制御して低消費電力化を促進させることができる。
【0100】
(4)クロック制御回路65はモード端子MD0,MD1,MD2の状態とクロック制御レジスタ650の設定値とに従い、基本クロック信号915によってクロック信号91〜93を生成する場合にはバスクロック信号92の周波数が基本クロック信号915の周波数に一致するようにセレクタ944の選択状態を制御し、端子CKIOから供給されるクロック信号によってクロック信号91〜93を生成する場合にはバスクロック信号92の周波数が端子CKIOからのクロック信号周波数に一致するようにセレクタ944の選択状態を制御する。これにより、バスクロック信号92の周波数は外部に接続される外部デバイスの許容動作速度に応じて一定に保たれなければならないから、モード端子MD0〜MD2によるクロックモードの選択状態やクロック制御レジスタ650を介するCPUクロック信号91及び周辺クロック信号93の動的な周波数変更に際して、バスクロック信号92の周波数を自動的に一定に保つことができる。
【0101】
(5)端子CKIOから出力される外部クロック信号はバスクロック信号92の周波数と一致されるから、クロック信号に同期動作されるSDRAMのような外部デバイスはバスコントローラ(バスクロック信号92を受け動作)72の制御を受け、そのような外部デバイスの同期動作用クロック信号として上記外部端子CKIOから出力されるクロック信号を利用することができる。これにより、本実施例マイクロコンピュータ6はSDRAMのようなクロック同期型外部デバイスに対するアクセス制御を容易化することができる。換言すればそのような外部デバイスを外部バスを介して直結してアクセス制御することができる。
【0102】
以上本発明者によってなされた発明を実施例に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【0103】
動作周波数と電源電圧の双方を可変制御する発明に関し、例えば、モードレジスタのような記憶手段に対する制御情報の設定はCPUが行うことに限定されず、外部の回路がデータバスを介して行い、或は外部の回路が所定の外部端子を介して行ってもよい。また、回路の電源は負電源であってもよく、その場合の動作電圧の大小若しくは増減は絶対値的な大小を考慮して本発明を適用する。回路モジュールは上記実施例で説明したものに限定される適宜変更可能である。また上記実施例では動作電圧の変更はその対象とされる回路モジュール内部の全ての回路に及ぶものであってもいが、その他の回路モジュールとの関係上若しくは共通バスを介する情報転送に不都合を生ずる虞がある場合にはインタフェース回路部分の動作電圧は変更対象から除外することができる。特にマルチチップでデータ処理装置が構成される場合には、外部バスに共通接続される各回路モジュールのインタフェース部分の動作電圧はバスの情報伝送仕様に合わせて一定にすることができる。また、回路モジュールの動作周波数が相互に相違される場合にウェイト信号、レディー信号、ビジー信号などを用いたハンドシェーク制御で情報転送を行うことができる。また、特定の回路モジュールに対して相互に設定可能な周波数に一定の関係例えば1/2倍というような関係を維持させて周波数の切換えを可能にすればハンドシェーク制御を要さずに情報転送を行うことができる。また、タスク毎に周波数や動作電圧を切換えられるので、当該タスクで利用するリソースを考慮してその切換えを行うようにすれば特別な制約を設けることなく回路モジュールを相互間で同期的に動作させることができる。
【0104】
階層化された内部バスを単位に内蔵回路モジュールの動作周波数を制御する発明に関し、動的に動作周波数を変更可能にする対象は、CPUクロック信号だけであってもよい。或いは周辺クロック信号だけであってもよい。データ処理性能を犠牲にすることなく電力消費をきめ細かく制御するという点において、望ましくは上記実施のようにCPUクロック信号と周辺クロック信号の双方を周波数可変制御の対象にするのがよい。
【0105】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【0106】
〔1〕回路モジュールの動作周波数と動作電圧の双方を制御する発明に関しては、クロック信号周波数と動作電圧の切換え態様を指示する制御情報は中央処理装置などによって書換え可能にレジスタ又はその他の記憶手段に設定されるから、回路モジュールのデータ処理性能やデータ処理の軽重に応じて制御情報を必要に応じて書換えることで、回路モジュールの動作電圧と動作周波数に対する自由な切換えを許容することができる。したがって、相対的に高速のデータ処理を要しないタスク若しくは回路モジュールに対しては低消費電力を優先させ、相対的に処理の高速性を要するタスク若しくは回路モジュールに対しては電力消費量の増大を許容し、これによって全体としてのデータ処理効率を向上させつつ低消費電力を実現できる。更に、所定の回路モジュール毎に個別的にクロック周波数と動作電圧の切換えを可能にすることは、上記全体としてのデータ処理効率を向上させつつ低消費電力化を図る制御を更にきめ細かく実現できる。
【0107】
第1の制御手段を採用することによりクロック信号周波数と動作電圧の切換え手順の点における誤動作を防止することができる。
【0108】
第2の制御手段を採用することにより、周波数と電源電圧の不所望な切換え態様による誤動作の虞を未然に防止することができる。
【0109】
〔2〕階層化された内部バス単位に内蔵回路モジュールの動作周波数を切換える発明に関し、バスクロック信号のような第2のクロック信号を、周波数可変の信号から除外すること、即ち、第1及び第3のクロック信号の周波数が制御情報に従って動的に変化されるとき、クロック制御回路は第2のクロック信号の周波数を一定に保つように制御することにより、バスコントローラが結合された第2の内部バスのための第2のクロック信号の周波数は、外部バスに結合された外部デバイスの動作速度に応じた周波数にされなければ内外でのバスサイクル若しくはバス動作を同期させることができない、という条件を満足させることができる。
【0110】
第1のクロック信号周波数を制御情報にて動的に可変制御可能にすることにより、中央処理装置が結合される第1の内部バスの回路モジュールを必要に応じて高速動作させてデータ処理効率を向上させ、その逆に高速動作を要しないタスクを実行するときにはクロック信号周波数を低くして電力消費を抑える、ということを実現することができる。
【0111】
第3のクロック信号周波数を制御情報にて動的に可変制御可能にすることにより、第3の内部バスに結合された回路モジュールが周辺回路モジュールであるという性質に鑑みてその機能や動作状態に応じ他の回路モジュールとは独立的に動作速度を制御して低消費電力化を促進させることができる。
【0112】
クロック制御回路はモード端子の状態とクロック制御レジスタの設定値とに従い、第1の周波数変更手段からの基本クロック信号によって第1乃至第3のクロック信号を生成する場合には第2のクロック信号の周波数が基本クロック信号の周波数に一致するように第3の周波数変更手段を制御し、第2の接続端子(CKIO)から供給されるクロック信号によって第1乃至第3のクロック信号を生成する場合には第2のクロック信号の周波数が端子(CKIO)からのクロック信号周波数に一致するように第3の周波数変更手段を制御する。これにより、第2のクロック信号の周波数は外部に接続される外部デバイスの許容動作速度に応じて一定に保たれなければならないから、モード端子によるクロックモードの選択状態やクロック制御レジスタを介する第1及び第3のクロック信号の動的な周波数変更に際して、第2のクロック信号の周波数を自動的に一定に保つことができる。
【0113】
端子(CKIO)から出力される外部クロック信号は第2のクロック信号の周波数と一致されるから、クロック信号に同期動作される外部デバイスはバスコントローラ(第2のクロック信号を受けて動作)の制御を受け、そのような外部デバイスの同期動作用クロック信号として上記端子(CKIO)から出力されるクロック信号を利用することができる。
【図面の簡単な説明】
【図1】本発明による第1実施例に係るシングルチップマイクロコンピュータのブロック図である。
【図2】図1のクロック発生回路の一例を示すブロック図である。
【図3】図1に示される電圧設定レジスタ及び周波数設定レジスタの一例フォーマット説明図である。
【図4】内部クロック信号周波数と内部電圧の切換え制御シーケンスの一例を示すフローチャートである。
【図5】本発明による第2実施例に係るデータ処理装置のブロック図である。
【図6】本発明による第3実施例に係るシングルチップマイクロコンピュータのブロック図である。
【図7】図6の電圧・周波数制御部の詳細な一例回路図である。
【図8】DC/DC変換器の一例回路図である。
【図9】図6のモードレジスタの詳細な一例フォーマット説明図である。
【図10】第1及び第2の制御手段による制御態様の一例説明図である。
【図11】図7のシーケンス制御部による動作電圧及び周波数の切換え制御手順の一例フローチャートである。
【図12】図7のシーケンス制御部による動作電圧及び周波数の切換え制御手順の別のフローチャートである。
【図13】本発明による第4実施例に係るデータ処理装置のブロック図である。
【図14】本発明による第5実施例に係るデータ処理装置のブロック図である
【図15】本発明による第6実施例に係るマイクロコンピュータのブロック図である。
【図16】クロックパルスジェネレータ及びクロック制御回路の詳細な一例ブロック図である。
【図17】クロック制御レジスタの一例フォーマット図である。
【図18】モード端子によって設定されるクロックモードの説明図である。
【図19】CPUクロック信号、バスクロック信号及び周辺クロック信号のサイクルとバスサイクルの一例タイミングチャートである。
【図20】図19に対してバスクロック信号及び周辺クロック信号の周波数を一定のままCPUクロック信号の周波数を1/2に変更したときのタイミングチャートである。
【図21】回路モジュールに対するクロックドライバの位置付けを(A)で示し、クロックドライバの一例論理を(B)で示す説明図である。
【図22】本実施例のマイクロコンピュータの外部にDRAM(×8)などを接続したときの接続態様図である。
【図23】本実施例のマイクロコンピュータの外部にDRAM(×16)などを接続したときの接続態様図である。
【図24】本実施例のマイクロコンピュータの外部にSDRAM(×8)などを接続したときの接続態様図である。
【図25】本実施例のマイクロコンピュータの外部にSDRAM(×16)などを接続したときの接続態様図である。
【図26】バスクロック信号周波数φがφ<18.6MHzのときにおける本実施例マイクロコンピュータによる外部DRAMに対するアクセスタイミングチャートである。
【図27】バスクロック信号周波数φが18.8MHz≦φ≦28.5MHzのときにおける本実施例マイクロコンピュータによる外部DRAMに対するアクセスタイミングチャートである。
【図28】バスクロック信号周波数φが28.5MHz<φ≦37.7MHzのときにおける本実施例マイクロコンピュータによる外部DRAMに対するアクセスタイミングチャートである。
【図29】バスクロック信号周波数φが37.7MHz<φ<47MHzのときにおける本実施例マイクロコンピュータによる外部DRAMに対するアクセスタイミングチャートである。
【図30】バスクロック信号周波数φが47.7MHz≦φ≦56MHzのときにおける本実施例マイクロコンピュータによる外部DRAMに対するアクセスタイミングチャートである。
【図31】本実施例マイクロコンピュータによるSDRAMに対するリードアクセスのタイミングチャートである。
【図32】本実施例マイクロコンピュータによるSDRAMに対するライトアクセスのタイミングチャートである。
【符号の説明】
1 シングルチップマイクロコンピュータ
100 中央処理装置
110 電源回路
113 内部電圧
114 電圧設定レジスタ
120 クロック発生回路
122 内部クロック信号
1206 出力ゲート
124 周波数設定レジスタ
130 制御回路
131 第1の制御手段
132 第2の制御手段
3 シングルチップマイクロコンピュータ
300 中央処理装置
304 タイマ
306 電圧・周波数制御部
307 モードレジスタ
3071 電圧設定フィールド
3072 周波数設定フィールド
310 電源回路
3141〜3143 セレクタ
320 クロック発生回路
3251〜3253 セレクタ
3261〜3263 出力ゲート
330 制御回路
334 シーケンス制御部
3341 第1の制御手段
3342 第2の制御手段
340 内部クロック信号
342 内部電圧
6 マイクロコンピュータ
60 CPUバス
61 中央処理装置
62 キャッシュメモリ装置
65 クロック制御回路
650 クロック制御レジスタ
MD0,MD1,MD2 クロックモード端子
70 キャッシュバス
72 バスコントローラ
80 周辺バス
9 クロックパルスジェネレータ
91 CPUクロック信号
92 バスクロック信号
93 周辺クロック信号
910 水晶発振器
912,921 PLL回路
911,940,941 分周器
911,914 セレクタ
920 セレクタ
930,931,942,943,944 セレクタ
CKIO,XTAL,EXTAL 外部クロック端子

Claims (10)

  1. クロック信号に同期動作される回路モジュールと、
    上記回路モジュールに供給すべきクロック信号の周波数及び上記回路モジュールに供給すべき動作電圧を指定するための制御情報が書換え可能に格納される記憶手段と、
    上記記憶手段の制御情報に応じた周波数のクロック信号を上記回路モジュールに出力可能なクロック発生回路と、
    上記記憶手段の制御情報に応じたレベルの動作電圧を上記回路モジュールに出力可能な電源回路と、
    上記制御情報に基づいて、上記クロック信号周波数を低減し且つ動作電圧を絶対値的に小さくさせる指示を検出したときは現在の周波数の変更に先立って動作電圧が絶対値的に小さくされる状態を阻止し、また、クロック信号周波数を増大させ且つ動作電圧を絶対値的に大きくさせる指示を検出したときは動作電圧の絶対値的な増大に先立って周波数の増加されたクロック信号が出力される状態を阻止して、上記クロック発生回路と電源回路の出力状態の切換えを制御する第1の制御手段と、
    上記記憶手段の書換え前後における制御情報に基づいて、クロック信号周波数を増大させ且つ動作電圧を絶対値的に小さくさせる指示を検出したときには、当該指示に基づくクロック発生回路及び電源回路の出力状態変更を禁止させる第2の制御手段と、を含んで成るものであることを特徴とするデータ処理装置。
  2. 上記クロック発生回路は、出力すべきクロック信号の周波数切換えに際して、上記第1の制御手段からの指示に基づいてクロック信号の出力を一定期間停止させる出力ゲートを備えて成るものであることを特徴とする請求項1記載のデータ処理装置。
  3. 上記第2の制御手段は、更に上記記憶手段の書換え前後における制御情報に基づいて、動作電圧を絶対値的に大きくせずにクロック信号の周波数を増大させる指示、又はクロック信号周波数を低減させずに動作電圧を絶対値的に小さくさせる指示を検出することによって、当該指示に基づくクロック発生回路及び電源回路の出力状態変更を禁止させることが可能であることを特徴とする請求項1又は2記載のデータ処理装置。
  4. 上記回路モジュールは複数個とされ、上記記憶手段は所定の回路モジュール毎の制御情報を書換え可能に格納する複数の記憶領域を有し、
    上記クロック発生回路は、上記記憶手段における複数の記憶領域の夫々の制御情報に従って個別的に対応回路モジュールに供給すべきクロック信号を選択するための選択回路を備え、
    上記電源回路は、上記記憶手段における複数の記憶領域の夫々の制御情報に従って個別的に対応回路モジュールに供給すべき動作電圧を選択するための選択回路を備えて、成るものであることを特徴とする請求項1乃至3の何れか1項記載のデータ処理装置。
  5. 上記回路モジュールは中央処理装置とされる一つの回路モジュールとこの中央処理装置によってその動作が制御される別の回路モジュールとを含み、全体が1個の半導体基板に形成されたシングルチップマイクロコンピュータ化されて成るものであることを特徴とする請求項1乃至4の何れか1項記載のデータ処理装置。
  6. 上記回路モジュール、記憶手段、第1の制御手段、及び第2の制御手段は1チップの半導体集積回路とされ、上記クロック発生回路及び電源回路は当該半導体集積回路の外部に設けられて成るものであることを特徴とする請求項3又は4記載のデータ処理装置。
  7. クロック信号に同期動作される中央処理装置と、
    クロック信号に同期動作される複数の回路モジュールと、
    上記クロック信号を上記中央処理装置と上記回路モジュールとに出力可能なクロック発生回路と、
    動作電圧を上記中央処理装置と上記回路モジュールとに出力可能な電源回路と、を含み、
    上記中央処理装置、回路モジュール、クロック発生回路、及び電源回路がそれぞれ半導 体集積化されたデータ処理装置であって、
    上記中央処理装置は、上記クロック信号の周波数と上記動作電圧とを指定するための制御情報が書換え可能に格納される記憶手段と、
    上記制御情報に基づいて、上記クロック信号周波数を低減し且つ動作電圧を絶対値的に小さくさせる指示を検出したときは現在の周波数の変更に先立って動作電圧が絶対値的に小さくされる状態を阻止し、また、クロック信号周波数を増大させ且つ動作電圧を絶対値的に大きくさせる指示を検出したときは動作電圧の絶対値的な増大に先立って周波数の増加されたクロック信号が出力される状態を阻止して、上記クロック発生回路と電源回路の出力状態の切換えを制御する第1の制御手段と、
    上記記憶手段の書換え前後における制御情報に基づいて、動作電圧を絶対値的に小さくし且つ、クロック信号の周波数を増大させる指示を検出することによって、当該指示に基づくクロック発生回路及び電源回路の出力状態変更を禁止させる第2の制御手段と、を含んで成るものであることを特徴とするデータ処理装置。
  8. 上記記憶手段は上記中央処理装置によってアクセスされるレジスタであることを特徴とする請求項項記載のデータ処理装置。
  9. クロック信号に同期動作される中央処理装置と、
    クロック信号に同期して動作される回路モジュールと、
    上記回路モジュールに供給するクロック信号の周波数及び上記回路モジュールに供給すべき動作電圧を指定するための制御情報が上記中央処理装置より伝達される制御部と、
    上記制御情報に応じた周波数のクロック信号を上記回路モジュールに出力可能なクロック発生回路と、
    上記制御情報に応じたレベルの動作電圧を上記回路モジュールに出力可能な電源回路とを有し、
    上記制御部は、上記中央処理装置からの制御情報を伝達される前のクロック信号の周波数及び動作電圧と上記制御情報とを比較し、その制御情報がクロック信号の周波数を増大させ且つ動作電圧を絶対値的に小さくさせる指示である場合、上記制御情報に基づくクロック発生回路及び電源回路の出力状態の変更を禁止させることが可能であることを特徴とするデータ処理装置。
  10. 上記制御部は更に、上記クロック信号周波数を低減し且つ動作電圧を絶対値的に小さくさせる制御情報を検出したときは現在の周波数の変更に先立って動作電圧が絶対値的に小さくされる状態を阻止し、また、クロック信号周波数を増大させ且つ動作電圧を絶対値的に大きくさせる制御情報を検出したときは動作電圧の絶対値的な増大に先立って周波数の増加されたクロック信号が出力される状態を阻止して、上記クロック発生回路と電源回路の出力状態の切換えを制御することを特徴とする請求項9記載のデータ処理装置。
JP01862995A 1994-02-28 1995-01-10 データ処理装置 Expired - Fee Related JP3718251B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP01862995A JP3718251B2 (ja) 1994-02-28 1995-01-10 データ処理装置
US08/572,677 US5778237A (en) 1995-01-10 1995-12-14 Data processor and single-chip microcomputer with changing clock frequency and operating voltage
KR1019950052391A KR100435976B1 (ko) 1995-01-10 1995-12-20 데이타처리장치

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP5527094 1994-02-28
JP6-55270 1994-02-28
JP01862995A JP3718251B2 (ja) 1994-02-28 1995-01-10 データ処理装置

Publications (2)

Publication Number Publication Date
JPH07287699A JPH07287699A (ja) 1995-10-31
JP3718251B2 true JP3718251B2 (ja) 2005-11-24

Family

ID=26355333

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01862995A Expired - Fee Related JP3718251B2 (ja) 1994-02-28 1995-01-10 データ処理装置

Country Status (1)

Country Link
JP (1) JP3718251B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11442494B2 (en) 2020-06-08 2022-09-13 Analog Devices, Inc. Apparatus and methods for controlling a clock signal
US11521683B2 (en) * 2018-05-01 2022-12-06 Silicon Storage Technology, Inc. Programming analog neural memory cells in deep learning artificial neural network

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630110A (en) * 1996-03-01 1997-05-13 Samsung Electronics Co., Ltd. Method and apparatus for enhancing performance of a processor
JPH09288527A (ja) * 1996-04-23 1997-11-04 Nec Corp 消費電力低減回路
US5832284A (en) * 1996-12-23 1998-11-03 International Business Machines Corporation Self regulating temperature/performance/voltage scheme for micros (X86)
JP3701100B2 (ja) * 1997-04-30 2005-09-28 富士通株式会社 クロック生成回路及びクロック生成方法
WO1999010796A1 (fr) * 1997-08-27 1999-03-04 Hitachi, Ltd. Circuit integre a semi-conducteurs et systeme de traitement de donnees
JPH11143573A (ja) 1997-11-10 1999-05-28 Fujitsu Ltd クロック供給方法及び情報処理装置
FI117523B (fi) * 1998-10-07 2006-11-15 Nokia Corp Menetelmä tehonkulutuksen säätämiseksi
JP2001154844A (ja) 1999-11-30 2001-06-08 Nec Corp シングルチップマイクロコンピュータ
US6848055B1 (en) * 2000-03-23 2005-01-25 Intel Corporation Integrated circuit having various operational modes and a method therefor
US6748545B1 (en) * 2000-07-24 2004-06-08 Advanced Micro Devices, Inc. System and method for selecting between a voltage specified by a processor and an alternate voltage to be supplied to the processor
JP3847069B2 (ja) * 2000-09-14 2006-11-15 Necエレクトロニクス株式会社 マイクロコンピュータ
US6735707B1 (en) * 2000-10-27 2004-05-11 Sun Microsystems, Inc. Hardware architecture for a multi-mode power management system using a constant time reference for operating system support
JP4694040B2 (ja) 2001-05-29 2011-06-01 ルネサスエレクトロニクス株式会社 半導体記憶装置
JP4686065B2 (ja) * 2001-07-05 2011-05-18 富士通セミコンダクター株式会社 クロック制御装置およびクロック制御方法
WO2003021800A1 (en) * 2001-08-29 2003-03-13 Analog Devices, Inc. Methods and apparatus for clock and power control in wireless systems
JP3794312B2 (ja) * 2001-11-08 2006-07-05 ソニー株式会社 電源電圧周波数制御回路
US6944780B1 (en) * 2002-01-19 2005-09-13 National Semiconductor Corporation Adaptive voltage scaling clock generator for use in a digital processing component and method of operating the same
JP2003330549A (ja) 2002-05-10 2003-11-21 Hitachi Ltd 半導体集積回路、電源回路及び情報記録媒体
JP3638271B2 (ja) * 2002-07-23 2005-04-13 沖電気工業株式会社 情報処理装置
AU2003283550A1 (en) * 2003-01-13 2004-08-10 Arm Limited Data processing performance control
US7051306B2 (en) 2003-05-07 2006-05-23 Mosaid Technologies Corporation Managing power on integrated circuits using power islands
US8125261B2 (en) 2003-07-22 2012-02-28 Nec Corporation Multi-power source semiconductor device
JP2005339310A (ja) * 2004-05-28 2005-12-08 Renesas Technology Corp 半導体装置
JP4082706B2 (ja) 2005-04-12 2008-04-30 学校法人早稲田大学 マルチプロセッサシステム及びマルチグレイン並列化コンパイラ
JP4812338B2 (ja) * 2005-06-13 2011-11-09 ルネサスエレクトロニクス株式会社 半導体装置
US7886167B2 (en) * 2006-05-11 2011-02-08 Intel Corporation Load circuit supply voltage control
JP2008059047A (ja) * 2006-08-29 2008-03-13 Oki Electric Ind Co Ltd 情報処理システム及びこの制御方法
JP2008146189A (ja) * 2006-12-07 2008-06-26 Renesas Technology Corp 電源システム
JP4685040B2 (ja) * 2007-01-24 2011-05-18 パナソニック株式会社 半導体集積回路及びその電源供給制御方法
JP2007305148A (ja) * 2007-06-25 2007-11-22 Univ Waseda マルチプロセッサシステム
JP4800289B2 (ja) * 2007-11-30 2011-10-26 富士通セミコンダクター株式会社 電源制御装置及びその電源制御装置を有するシステムlsi
JP5308043B2 (ja) * 2008-03-21 2013-10-09 東芝テック株式会社 情報処理装置及びそのクロック制御方法並びにクロック制御プログラム
JP2011109227A (ja) * 2009-11-13 2011-06-02 Nippon Dempa Kogyo Co Ltd 水晶発振器
JP5610566B2 (ja) * 2010-02-22 2014-10-22 ルネサスエレクトロニクス株式会社 半導体装置及びデータ処理システム
JP5609326B2 (ja) * 2010-07-01 2014-10-22 富士通セミコンダクター株式会社 クロック分周回路
WO2012004863A1 (ja) * 2010-07-07 2012-01-12 ルネサスエレクトロニクス株式会社 データ処理装置およびデータ処理システム
JP5636860B2 (ja) * 2010-10-14 2014-12-10 凸版印刷株式会社 半導体装置
JP6050721B2 (ja) * 2012-05-25 2016-12-21 株式会社半導体エネルギー研究所 半導体装置
JP6377560B2 (ja) * 2015-03-24 2018-08-22 シャープ株式会社 情報処理装置、cpu印加電圧制御装置、情報処理装置の制御方法
CN112768444B (zh) * 2020-12-31 2023-06-13 成都海光集成电路设计有限公司 集成电路芯片、数据分析系统及电子设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11521683B2 (en) * 2018-05-01 2022-12-06 Silicon Storage Technology, Inc. Programming analog neural memory cells in deep learning artificial neural network
US11727989B2 (en) 2018-05-01 2023-08-15 Silicon Storage Technology, Inc. Programming analog neural memory cells in deep learning artificial neural network
US11442494B2 (en) 2020-06-08 2022-09-13 Analog Devices, Inc. Apparatus and methods for controlling a clock signal

Also Published As

Publication number Publication date
JPH07287699A (ja) 1995-10-31

Similar Documents

Publication Publication Date Title
JP3718251B2 (ja) データ処理装置
KR100435976B1 (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
US5630148A (en) Dynamic processor performance and power management in a computer system
US7782683B2 (en) Multi-port memory device for buffering between hosts and non-volatile memory devices
JP2986040B2 (ja) 電力利用管理方法及びシステム
US5774702A (en) Integrated circuit having function blocks operating in response to clock signals
US20030025689A1 (en) Power management system and method
US8086814B2 (en) Semiconductor integrated circuit apparatus
JP2005502114A (ja) 動的電圧制御方法および装置
US20120159230A1 (en) Mechanism for Updating Memory Controller Timing Parameters During a Frequency Change
US5966736A (en) Multiplexing DRAM control signals and chip select on a processor
US7627730B1 (en) System and method for optimizing a memory controller
US6381705B1 (en) Method and device for reducing current consumption of a microcontroller
US6477658B1 (en) Microprocessor with variable clock operation
JP2993466B2 (ja) 情報処理装置
JPS6045828A (ja) シングルチツプマイコン
JP2004512614A (ja) オペレーティングシステムサポートのために一定の時間基準を用いるマルチモード電力管理システムのハードウェアアーキテクチャ
JP2004070854A (ja) データプロセッサ
JP3530886B2 (ja) マイクロコントローラ
JP2702743B2 (ja) 電子機器
JP3250268B2 (ja) 情報処理装置
JPH11212863A (ja) 命令メモリ回路
JPH11259356A (ja) メモリ初期化装置
US20030041276A1 (en) Semiconductor device allowing control of clock supply to processor on a clock cycle basis

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050322

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050830

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050902

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080909

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090909

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees