JP3718251B2 - Data processing device - Google Patents
Data processing device Download PDFInfo
- 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
Links
Images
Landscapes
- Power Sources (AREA)
- Microcomputers (AREA)
- Dram (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 外部クロック端子[0001]
[Industrial application fields]
The present invention relates to a data processor and a microcomputer that are operated in synchronization with a clock signal, and also to a data processing system equipped with the data processor, in particular, the frequency of the operating clock signal, and the frequency of the operating clock signal and the voltage of the operating power supply The present invention relates to a technique for switching both of them to achieve low power consumption, for example, a technique effective when applied to a microcomputer.
[0002]
[Prior art]
Japanese Patent Application Laid-Open No. 3-68007 discloses a technique that contributes to low power consumption by switching the frequency of an operation clock signal as required in a microcomputer that operates in synchronization with a clock signal. ing. Japanese Patent Application Laid-Open No. 5-108193 describes a microcomputer in which the power supply voltage and clock signal frequency supplied from the outside are changed according to the set value of the built-in register to reduce power consumption.
[0003]
[Problems to be solved by the invention]
However, as semiconductor integrated circuits such as microcomputers become more sophisticated, when the circuit module is coupled to a hierarchical internal bus according to the operating frequency or operating speed of the circuit module, the switching of the internal clock signal frequency is hierarchical. This must be done in consideration of the nature of the circuit module. For example, when the internal operating frequency is changed by rewriting the register value, for the circuit module such as a bus controller that controls the interface with the external bus, the operating clock signal frequency is set in consideration of the relationship with the external bus. It has been clarified by the inventor that it must be controlled.
[0004]
Also, when the operating voltage is made variable and the power consumption is reduced along with the operating frequency of the circuit module that constitutes the microcomputer, etc., whether or not the specific circuit module is operated with low power consumption depends on whether the circuit module is a peripheral circuit or a central circuit. The present inventor has found that it cannot be determined uniformly only by the difference in general functions such as whether it is a processing device. For example, in a central processing unit, priority is given to low power consumption for tasks that do not require high-speed data processing, and for tasks that require high-speed processing, even if power consumption increases, data processing speed is maximized. In order to do so, it is necessary to have a degree of freedom in which the operating frequency and operating voltage of the circuit module can be switched in task units. That is, the power supply voltage and the data processing efficiency of the circuit module can be set relatively freely according to the data processing performance of the circuit module and the weight of the data processing, so that the power consumption and the data processing efficiency can be optimized. . Low power consumption is prioritized for tasks or circuit modules that do not require relatively high-speed data processing, and an increase in power consumption is allowed for tasks or circuits that require relatively high processing speed. This realizes low power consumption while improving the data processing efficiency as a whole.
[0005]
When the operating power supply voltage and the operating frequency can be set relatively freely as described above, the circuit module is prevented from malfunctioning when the setting is changed, and the malfunction occurs depending on the combination mode. The inventor has found that proactively addressing this is necessary to increase system reliability. For example, when the operation power supply voltage of the circuit is lowered, the drive capability of the circuit is lowered and the signal delay is increased. Accordingly, the frequency change is allowed so as not to malfunction, and the operation frequency of the circuit is increased. In some cases, the power supply voltage must be allowed to change so as not to malfunction.
[0006]
An object of the present invention is to provide a degree of freedom in which the operating frequency and operating voltage of a circuit module can be switched even in units of tasks, and at this time, malfunctions of the circuit that may occur when the operating frequency and operating voltage of the circuit module are switched. Another object of the present invention is to provide a data processing apparatus that can prevent the above. It is another object of the present invention to make it possible to realize the malfunction prevention relatively easily.
[0007]
Another object of the present invention is to provide a data processing apparatus capable of arbitrarily setting the clock signal frequency of the built-in circuit module in consideration of the interface with the external bus when the internal bus is hierarchized.
[0008]
The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.
[0009]
[Means for Solving the Problems]
The following is a brief description of an outline of typical inventions disclosed in the present application.
[0010]
[1] According to the invention for controlling both the operating frequency and the operating voltage of the circuit module, the data processing device includes a clock generation circuit (120, 320) capable of selectively outputting clock signals having different frequencies, and the above circuit. Power supply circuits (110, 310) capable of selectively outputting different voltages as module operating voltages are provided to specify the frequency of the clock signal to be supplied to one or a plurality of circuit modules and the voltage of the operating voltage. Control information is rewritably stored in the storage means (114, 124, 307), and the selection of the clock signal frequency and the selection of the operating voltage in the clock generation circuit and the power supply circuit are controlled based on the stored control information. To. At this time, when an instruction to reduce the clock signal frequency and reduce the operating voltage in absolute value is detected, a state in which the operating voltage is reduced in absolute value prior to the change of the current operating frequency is prevented, Also, when an instruction to increase the frequency of the clock signal and increase the operating voltage in absolute value is detected, the state in which the clock signal with the increased frequency is output prior to the increase of the operating voltage in absolute value is prevented. Thus, the first control means (131, 3341) for controlling the switching of the output state of the clock generation circuit and the power supply circuit is employed to prevent malfunction of the circuit module at the time of switching the frequency and operating voltage or immediately after the switching. To do.
[0011]
In order to easily realize the control mode by the first control means, an output gate (1206, 3261) that stops the output of the clock signal for a certain period based on an instruction from the first control means when switching the output of the frequency. , 3262, 3263) can be provided in the clock generation circuit.
[0012]
Furthermore, although it is possible to prohibit pre-setting, control from before and after the rewriting of the storage means is performed in order to prevent the possibility of malfunction due to undesired switching between the frequency and the power supply voltage. Based on the information, by detecting an instruction to increase the frequency of the clock signal without increasing the operating voltage in absolute value, or an instruction to decrease the operating voltage in absolute value without reducing the clock signal frequency, Further, second control means (132, 3342) for suppressing changes in the output state of the clock generation circuit and the power supply circuit based on the instruction are further employed.
[0013]
In order to individually switch and control the clock frequency and the power supply voltage for a plurality of circuit modules, the storage means stores a plurality of storage areas (3071, 3072) in which control information for each predetermined circuit module is rewritable. The clock generation circuit is provided with a selection circuit (3251, 3252, 3253) for individually selecting a clock signal to be supplied to the corresponding circuit module in accordance with control information of each of the plurality of storage areas in the storage means. In addition, the power supply circuit includes selection circuits (3141, 3142, 3143) can be easily accommodated.
[0014]
In the data processing apparatus, the circuit module is one circuit module that is a central processing unit and another circuit module whose operation is controlled by the central processing unit, and is formed on a single semiconductor substrate as a whole. It can be configured as a single chip microcomputer. The circuit module, the storage means, the first control means, and the second control means are a one-chip semiconductor integrated circuit, and the clock generation circuit and the power supply circuit are provided outside the semiconductor integrated circuit to provide a data processing apparatus. Can be configured. The circuit module is a circuit module that is a central processing unit and another circuit module whose operation is controlled by the central processing unit. The circuit module that is the central processing unit, and the other circuit module A part of the circuit modules, the storage unit, the first control unit, and the second control unit are one-chip semiconductor integrated circuits, and the remaining circuit modules in the other circuit modules, the clock generation circuit, and A power supply circuit is provided outside the semiconductor integrated circuit, and can be configured as a multichip microcomputer.
[0015]
[2] According to the invention relating to the operation frequency switching for the data processing device in which the internal bus is hierarchized, the data processing device includes the first internal bus (60) to which the central processing unit (61) is coupled, A second internal bus (70) that is interfaced with an external bus via an output circuit (73) and is coupled to a bus controller (72) that performs interface control with the external bus, and a third internal bus that is coupled with a predetermined peripheral circuit. Internal bus (80), a first clock signal (91) for the circuit module coupled to the first internal bus, and a second clock signal for the circuit module coupled to the second internal bus (92) and a clock pulse generator (9) for outputting a third clock signal (93) for the circuit module coupled to the third internal bus, and coupled to the first internal bus And a clock control circuit (65) for varying the frequency of at least one of the first and third clock signals according to control information set in the central processing unit. It is made up.
[0016]
When an external device (for example, a synchronous dynamic random access memory) connected to an external bus and operated according to a bus cycle controlled by the bus controller is operated in synchronization with a clock signal, the external device In consideration of supplying the clock signal for synchronous operation to the data processing device, the data processing device is provided with an output terminal (CKIO) of the external clock signal, and at this time, the clock control circuit sets the frequency of the second clock signal to the above-described frequency. Match the frequency of the external clock signal.
[0017]
If the frequency of the second clock signal for the second internal bus to which the bus controller is coupled is not set to a frequency corresponding to the operating speed of the external device coupled to the external bus, the internal or external bus cycle or bus operation In consideration of the inability to synchronize, it is desirable for high-speed data processing that the circuit module of the first internal bus to which the central processing unit is coupled can operate at high speed as necessary. Therefore, when a cache memory device is built in the data processing device, it is preferable to use the cache memory device as an interface between the first internal bus and the second internal bus in order to improve data processing efficiency. .
[0018]
In a more detailed mode, the data processing apparatus includes a first internal bus (60) to which a central processing unit (61) is coupled, and an external bus via an input / output circuit (73) and interface control with the external bus. A second internal bus (70) to which a bus controller (72) for performing the operation is coupled, a third internal bus (80) to which a predetermined peripheral circuit is coupled, and a circuit module coupled to the first internal bus A first clock signal (91) for a second clock signal (92) for a circuit module coupled to a second internal bus, and a circuit module coupled to a third internal bus A clock pulse generator (9) for outputting a third clock signal (93) and a clock control circuit (65) for controlling the first to third clock signal frequencies individually. It is Group-chip microcomputer of. The clock pulse generator includes first frequency changing means (910, 911, 912, 913, 914) coupled to first connection terminals (XTAL, EXTAL) that can be coupled to an external clock source, and an external clock. Second frequency changing means (921) coupled to a second connection terminal (CKIO) that can be coupled to the source, and selecting means for selecting one of the outputs of the first and second frequency changing means (930, 931) and third frequency changing means (940, 941, 942, 943) for receiving the clock signal selected by the selecting means and changing the first to third clock signal frequencies individually. And a clock signal path (951) for outputting the clock signal output from the first frequency changing means as an external clock signal. At this time, the clock control circuit (65) is coupled to the external clock mode terminals (MD0 to MD2), specially specifies the frequency change rate for the first and third clock signals by the third frequency changing means, and A clock control register (650) in which control information for designating a frequency change rate by the frequency change means of 2 is set by the central processing unit is provided, and the frequency change by the first frequency change means according to the state of the external clock mode terminal The rate is determined so that the clock signal can be transmitted from the first connection terminal to the input of the third frequency changing means, and the second clock signal frequency matches the clock signal frequency output from the first frequency changing means. To control the third frequency changing means in the first state, or from the second connection terminal to the input of the third frequency changing means. The second state for controlling the transmission of the clock signal is selected, and the frequency change rate by the second frequency changing means and the first and third frequency changing means by the third frequency changing means according to the control information set in the clock control register. The frequency change rate corresponding to the third clock signal is variably controlled, and in the second state designated by the clock mode terminal, the second clock signal is controlled according to the control information set in the clock control register. The frequency change rate for the second clock signal by the third frequency changing means is controlled so that the frequency of the second clock signal matches the frequency of the clock signal supplied from the second connection terminal.
[0019]
In order to further expand the frequency changeable range of the first and second clock signals, the output of the first frequency change means is used as the input of the second frequency change means in the first state designated by the clock mode terminal. Connection means (920) for connection may be provided. At this time, when an external device (for example, a synchronous dynamic random access memory) is operated in synchronization with a clock signal as described above, a clock signal for synchronous operation is supplied to the external device. In consideration, the clock signal path may be coupled to the second connection terminal.
[0020]
When the first connection terminal is used both as the connection terminal of the vibrator and the input terminal of the external clock signal, the first frequency changing means is connected to the first connection terminal as an oscillator that is oscillated by externally attaching an oscillator. 910) and a clock signal directly supplied from the first connection terminal are selected, and a frequency dividing circuit (913) and a phase-locked loop circuit (912) for receiving the selected clock signal are provided. Any one of the outputs can be constituted by a selection means (914) for outputting the basic clock signal. When the third frequency changing means is constituted by a frequency divider, the frequency changeable range can be increased if the second frequency changing means is constituted by a phase-locked loop circuit as a multiplying means.
[0021]
[Action]
[1] According to the above means for controlling both the operating frequency and the operating voltage of the circuit module, the control information indicating the switching mode of the clock signal frequency and the operating voltage can be rewritten by the central processing unit or the like. Since it is set in the storage means, the control information is rewritten as necessary according to the data processing performance of the circuit module and the weight of the data processing, thereby allowing free switching with respect to the operating voltage and operating frequency of the circuit module. This gives priority to low power consumption for tasks or circuit modules that do not require relatively high-speed data processing, and reduces power consumption for tasks or circuit modules that require relatively high-speed processing. An increase is allowed, thereby realizing low power consumption while improving the overall data processing efficiency. Making it possible to individually switch the clock frequency and the operating voltage for each predetermined circuit module makes it possible to more finely implement control for reducing power consumption while improving the overall data processing efficiency.
[0022]
When reducing both the frequency of the clock signal and the operating voltage, if the operating voltage is reduced first, the drive capability of the circuit in the operating state is lowered until the clock signal frequency is reduced, which is undesirable. There is a risk of malfunction due to a short signal delay. In this case, the first control means controls the switching procedure of the frequency and the operating voltage so as to prevent the state where the operating voltage is reduced prior to the change of the current operating frequency. In addition, when increasing the clock signal frequency and operating voltage, if the clock signal frequency is increased first, the drive capability of the circuit in the operating state is increased until the operating voltage is increased. There is a risk of malfunctioning without being able to follow up. In this case, the first control means described above controls the switching procedure of the frequency and the operating voltage so as to prevent the state in which the clock signal having the increased frequency is output prior to the increase of the operating voltage. In this way, the first control means prevents malfunction in terms of the switching procedure of the clock signal frequency and the operating voltage.
[0023]
When switching the clock frequency and power supply voltage, increasing the frequency of the clock signal without increasing the power supply voltage in absolute value means that even if the operation of the circuit is accelerated, the drive capability of the circuit is not improved and the high-speed operation This results in a relatively large signal propagation delay that is inadequate for. Further, reducing the power supply voltage in absolute value without reducing the clock signal frequency means that the circuit still operates at high speed despite the fact that the drive capability of the circuit is reduced and the signal propagation delay is increased. Become. In response to such an instruction, the second control means described above suppresses switching between the clock frequency and the power supply voltage, thereby preventing a malfunction due to an undesired switching mode between the frequency and the power supply voltage.
[0024]
[2] According to the above-described means for switching the operating frequency for the data processing device in which the internal bus is hierarchized, in the data processing device in which the first to third internal buses are hierarchized, the second clock signal is Excluded from clock signals with variable frequency. In the means of the above specific aspect, when the frequencies of the first and third clock signals are dynamically changed according to the control information, the clock control circuit is controlled to keep the frequency of the second clock signal constant. To do. This is because the frequency of the second clock signal for the second internal bus to which the bus controller is coupled is not the frequency corresponding to the operation speed of the external device coupled to the external bus. Alternatively, the condition that the bus operation cannot be synchronized is satisfied. Enabling the variable control of the first clock signal frequency dynamically with control information means that the circuit module of the first internal bus to which the central processing unit is coupled can operate at high speed as necessary. In order to satisfy the point that it is desirable for data processing, and conversely, when executing a task that does not require high-speed operation, the clock signal frequency is lowered to realize low power consumption. The fact that the frequency of the third clock signal can be dynamically variably controlled by the control information means that the function and operation state of the circuit module coupled with the third internal bus is a peripheral circuit module. Accordingly, the operation speed can be controlled independently of other circuit modules, and the reduction in power consumption is promoted.
[0025]
The external clock signal output from the output terminal (CKIO) matches the frequency of the second clock signal. An external device that operates in synchronization with the clock signal is controlled by a bus controller (operation that receives the second clock signal), and is output from the external terminal (CKIO) as a clock signal for synchronization operation of such an external device. Signal available.
[0026]
【Example】
[1] First, a plurality of embodiments relating to the invention for controlling both the operating frequency and operating voltage of a circuit module will be described with reference to FIGS.
[0027]
FIG. 1 is a block diagram of a single chip microcomputer according to the first embodiment of the present invention. The single-
[0028]
The operation power supply of the
[0029]
The operation clock signals of the
[0030]
FIG. 2 shows a detailed example of the
[0031]
The
[0032]
FIG. 3 shows a detailed example of the
[0033]
In FIG. 1,
[0034]
The
[0035]
The first control means 131 is responsible for control for preventing malfunction of the internal circuit module in terms of the switching procedure of the frequency of the
[0036]
For example, when the switching mode of the operating voltage and the frequency is determined and both the frequency of the
[0037]
The second control means 132 performs control for preventing malfunction due to an undesired switching mode between the frequency of the
[0038]
For example, when the second control means detects a rewrite instruction to the
[0039]
Although the second control unit 132 is illustrated in FIG. 1 as being configured by hardware independent of the
[0040]
FIG. 4 shows an example of an operation voltage and frequency switching control procedure by the
[0041]
When increasing the operating voltage and frequency, the
[0042]
The procedure of switching between the internal clock signal frequency and the internal voltage in the idling state in which the output of the
[0043]
The first embodiment has the following operational effects. (1) Since the control information for instructing the mode of switching between the clock frequency and the operating voltage is set in the
[0044]
(2) Increasing the frequency of the clock signal without increasing the operating voltage in switching between the clock frequency and the operating voltage is not suitable for the high-speed operation without improving the circuit driving capability even if the operation of the circuit is increased. A relatively large signal propagation delay. Further, reducing the power supply voltage without lowering the clock signal frequency results in the circuit still operating at high speed despite the fact that the drive capability of the circuit is reduced and the signal propagation delay is increased. The second control means 132 described above suppresses switching of the clock frequency and the power supply voltage in response to such an instruction, thereby preventing a malfunction due to an undesired switching mode of the frequency and the operating voltage.
[0045]
(3) When reducing both the frequency of the clock signal and the operating voltage, if the operating voltage is reduced first, the drive capability of the circuit in the operating state is reduced until the clock signal frequency is reduced. There is a risk of malfunction due to undesired signal delay. In this case, the first control means 131 controls the switching procedure of the frequency and the operating voltage so as to prevent the state where the operating voltage is reduced prior to the change of the current operating frequency. Also, when increasing the clock signal frequency and operating voltage, if the clock signal frequency is increased first, the drive capability of the circuit in the operating state is increased until the operating voltage is increased. There is a risk of malfunctioning without being able to follow up. Also in this case, the
[0046]
FIG. 5 shows a second embodiment of the data processing apparatus according to the present invention. Circuit blocks having the same functions as those shown in FIG. 1 are given the same reference numerals, and detailed descriptions thereof are omitted. In the second embodiment shown in FIG. 5, the
[0047]
FIG. 6 is a block diagram of a single chip microcomputer which is a third embodiment of the data processing apparatus according to the present invention. The single-
[0048]
In FIG. 6,
[0049]
First, the voltage /
[0050]
FIG. 7 shows a detailed example of the voltage /
[0051]
As shown in FIG. 8, the DC / DC converter 313 includes a switching element 3131, a reference potential generation circuit 3132 that forms a reference potential Vref of 2.5 V from the input voltage Vin, an operational amplifier 3133, a
[0052]
The
[0053]
FIG. 9 shows a detailed example of the
[0054]
The
[0055]
The
[0056]
The first control means 3341 manages the control for preventing malfunction of the internal circuit module in terms of the switching procedure between the frequency of the
[0057]
The second control means 3342 manages control for preventing malfunction due to an undesired switching mode between the frequency of the
[0058]
FIG. 10 shows an example of the control mode by the first and second control means 3341 and 3342. That is, the mode of error in which switching between the frequency and the operating voltage is prohibited by the second control means 3342 is that the frequency is increased without changing the operating voltage (a), and the operating voltage is decreased without changing the frequency. (D) and (f) when the operating voltage is decreased by increasing the frequency. The operation voltage and frequency switching procedure should be defined by the first control means 3341 when the frequency and the operating voltage are both increased (e), when the frequency and the operating voltage are both decreased (h), And (g) when the frequency is decreased and the operating voltage is increased. In the case of the mode (e), the circuit module must not be operated with the clock signal whose operating frequency is increased before the operating voltage is increased. In the cases (g) and (h), the operating voltage must not be changed before the current operating frequency is changed.
[0059]
For example, the first control means 3341 determines the switching mode between the operating voltage and the frequency, and in the case of (g) and (h) in FIG. 10, the value of the frequency setting field 3072 is first latched in the latch circuit 332. Thus, the frequency is changed, and then the value of the voltage setting field is latched by the latch circuit 331 to change the operating voltage. In the case of the mode (e), the value of the voltage setting field is latched by the latch circuit 331 to change the operating voltage, and then the value of the frequency setting field 3072 is latched by the latch circuit 332 to change the frequency. Regarding other aspects, the latch timing of the latch circuits 332 and 331 is not defined at all. The first control means 3341 stops the supply of the
[0060]
For example, when the second control unit 3342 detects a rewrite instruction to the
[0061]
The second control means 3342 is illustrated in FIG. 6 as being configured by hardware independent of the
[0062]
FIG. 11 shows an example of an operation voltage and frequency switching control procedure by the sequence control unit 334. First, control information is written in the
[0063]
The procedure of switching the internal clock signal frequency and the internal voltage in a state where the output of the
[0064]
FIG. 12 shows another example of the operation voltage and frequency switching control procedure by the sequence control unit 334. In the procedure shown in the figure, after step S31, step S40 for determining whether the switching corresponds to the modes (g) and (h) in FIG. 10 is interposed. In this mode, the internal clock signal is stopped. (Step S41) and the timer count is started (Step S42), the frequency is changed first (Step S43), and after the timer count ends (Step S44), the supply of the clock signal is resumed (Step S45). The operating voltage is changed (step S46).
[0065]
The third embodiment has the following operational effects. (1) Since the control information for instructing the mode of switching between the clock frequency and the operating voltage is set in the
[0066]
(2) The second control means 3342 can prevent malfunction due to an undesired switching mode of the frequency and the operating voltage as in the first embodiment.
[0067]
(3) The first control means 3341 can prevent the circuit module from malfunctioning in terms of the switching procedure of the clock signal frequency and the operating voltage as in the first embodiment.
[0068]
FIG. 13 shows a fourth embodiment of the data processing apparatus according to the present invention. Circuit blocks having the same functions as those shown in FIG. 1 are given the same reference numerals, and detailed descriptions thereof are omitted. In the fourth embodiment shown in FIG. 13, the
[0069]
FIG. 14 shows a fifth embodiment of the data processing apparatus according to the present invention. The figure shows a multi-chip microcomputer formed on a circuit board, which is a
[0070]
[2] Next, an embodiment of the invention relating to switching of the operating frequency for a data processing apparatus having a hierarchical internal bus will be described with reference to FIGS.
[0071]
FIG. 15 shows a
[0072]
The
[0073]
The central processing unit 61 uses a 32-bit address to support a logical address space of 4 gigabytes, for example. In the circuit block of the central processing unit 61, arithmetic units represented by general-purpose registers and arithmetic logic units, control registers such as program counters, instruction fetching and decoding, and instruction execution procedures are controlled and operated. Provide a control unit for controlling. The central processing unit 61 fetches an instruction from an external memory (not shown) via the input / output circuit 73, and performs data processing according to the instruction description.
[0074]
The cache memory device 62 includes, but is not limited to, an associative memory unit and a cache control unit. The memory part is indexed by using a part of the logical address, the physical part of the tag part of the entry is held, and the indexed tag part is compared with the physical address converted by the address translation buffer 63. A cache miss / hit is determined according to the comparison result. In the case of a cache miss, the data or instruction related to the cache miss is read from the external memory (not shown) by the cache control unit via the bus controller 72 and the input / output circuit 73, and the read data or instruction is cached as a new cache entry. The data is stored in the device 62 and supplied to the
[0075]
The
[0076]
Here, the CPU clock signal 91 is a clock signal for a circuit module to be operated at high speed, such as the central processing unit 61, the cache memory device 62, and the address translation buffer 63. The
[0077]
FIG. 16 shows a detailed example block diagram of the
[0078]
The crystal oscillator 910, the selector 911, the
[0079]
The
[0080]
FIG. 17 shows an example of the clock control register. The bit PLLEN is an enable bit of the
[0081]
FIG. 18 shows seven clock modes set by mode terminals MD0 to MD2. No. shown in FIG. 0 and No. In the
[0082]
No. shown in FIG. 2, no. In the
[0083]
No. shown in FIG. 4, no. In the
[0084]
No. shown in FIG. The clock mode No. 6 uses the clock signal supplied from the terminal CKIO as a clock source, selects the operation of the
[0085]
As described above, the
[0086]
19 and 20 are timing charts showing examples of clock signal cycles and bus cycles. In FIG. 19, the frequency ratio of the clock signals is CPU clock signal 91: peripheral clock signal 93:
[0087]
In FIG. 16, the
[0088]
The logical value of the clock supply stop control signal 652 to the timer is determined by the bit MST1 of the
[0089]
FIG. 22 shows how the
[0090]
The row address strobe signal RAS # / CS # is used as a row address strobe signal for DRAM (Dynamic Random Access Memory) and SDRAM (Synchronous DRAM) and is used as PSRAM (Pseudo Static Random Random). When used for (access memory), it is a chip enable signal for them. The column address strobe signal CAS # / CE # / CASHH # is used as a column address strobe signal for the SDRAM when used in the SDRAM, and as a column address strobe signal for selecting the most significant byte when used for the DRAM. When used in PSRAM, it is the output enable signal for it. The column address strobe signal CASHL # is the second column address address strobe signal when used in DRAM, and the column address strobe signal CASLH is the third byte column address strobe signal when used in DRAM. The column address strobe signal CASLL # is used as a column address strobe signal for the fourth byte when used in a DRAM. Data enable signal DQMLL / WE0 # instructs to select the least significant byte when used in SDRAM and to write the least significant byte when used in other memories. Data enable signal DQMLU / WE1 # instructs the selection of the third byte when used in SDRAM and the writing of the third byte when used in other memories. The data enable signal DQMUL / WE2 # instructs the second byte selection for the SDRAM when used for the SDRAM, and the second byte write when used for other memories. Data enable signal DQMUU / WE3 # instructs the most significant byte selection for it when used in SDRAM and the most significant byte write when used for other memories. Although not shown, a bus start signal, a bus right request signal, a bus use permission signal, and the like are output, and a bus release request signal, a wait signal, and the like are input. The external terminal group shown in FIG. 16 is not shown.
[0091]
In FIG. 22, each signal is connected to other memories such as
[0092]
FIG. 23 shows a connection mode in the case where DRAMs 1307 and 1308 having a parallel data input / output bit number of 16 bits are employed. In this example, terminals UCAS # of the DRAMs 1307 and 1308 are upper column address strobe signal input terminals, LCAS # is a lower column address strobe signal input terminal, and the others are the same as in FIG.
[0093]
FIG. 24 shows a connection mode in the case of adopting SDRAMs 1310 to 1313 in which the number of parallel input / output bits of data is 8 bits. Since SDRAMs 1310 to 1313 can input / output data, addresses, and control signals in synchronization with a clock as compared with DRAMs, a large-capacity memory similar to DRAMs can be realized at a high speed operation comparable to that of SRAMs. It is a memory that can realize high-speed access and large capacity at a low price. The
[0094]
FIG. 25 shows a connection mode in the case of adopting SRAMs 1314 and 1315 in which the number of parallel input / output bits of data is 16 bits (× 16). In this example, terminals DQMU of SDRAMs 1314 and 1315 are upper data enable signal input terminals, DQML is a lower data enable signal input terminal, and the others are the same as in FIG.
[0095]
26 to 30 show an example of the bus access timing of the DRAM shown in FIG. 22 or FIG. 23 by changing the frequency of the
[0096]
FIG. 31 and FIG. 32 show an example of read / write bus access timings for the SDRAM shown in FIG. In each figure, D31 to D0 are data, and lower address bits are a row address and a column address for selecting an SDRAM memory cell. The address A12, A11, A10, or A9 is a signal for instructing an operation mode such as a row address fetched into the SDRAM, a column address fetched, a read operation, and a column address fetched. The upper address bit means an address bit that is not supplied to the SDRAM. BS # is a bus start signal indicating the start of a bus cycle, and is output from the bus controller 72 of the
[0097]
According to the above-described embodiment relating to the operation frequency switching for the
[0098]
(2) By enabling the CPU clock signal 91 frequency to be dynamically variably controlled by the control information, the circuit module of the
[0099]
(3) By enabling the frequency of the
[0100]
(4) When the
[0101]
(5) Since the external clock signal output from the terminal CKIO matches the frequency of the
[0102]
Although the invention made by the present inventor has been specifically described based on the embodiments, it is needless to say that the present invention is not limited thereto and can be variously modified without departing from the gist thereof.
[0103]
The present invention relates to an invention that variably controls both an operating frequency and a power supply voltage. For example, setting of control information for a storage means such as a mode register is not limited to being performed by a CPU, an external circuit is performed via a data bus, or Alternatively, an external circuit may be performed via a predetermined external terminal. The power source of the circuit may be a negative power source, and the present invention is applied in consideration of the magnitude or increase / decrease of the operating voltage in that case. The circuit module can be changed as appropriate, limited to those described in the above embodiments. Further, in the above embodiment, the change of the operating voltage may be applied to all the circuits in the circuit module to be changed, but it causes inconvenience in relation to other circuit modules or information transfer through the common bus. If there is a concern, the operating voltage of the interface circuit portion can be excluded from the change target. In particular, when the data processing apparatus is configured by multichip, the operating voltage of the interface portion of each circuit module commonly connected to the external bus can be made constant according to the information transmission specification of the bus. In addition, when the operating frequencies of the circuit modules are different from each other, information transfer can be performed by handshake control using a wait signal, a ready signal, a busy signal, or the like. In addition, if a frequency can be switched by maintaining a certain relationship, for example, 1/2 times, to a frequency that can be set for a specific circuit module, information transfer can be performed without the need for handshake control. It can be carried out. In addition, since the frequency and operating voltage can be switched for each task, if the switching is performed in consideration of the resources used in the task, the circuit modules can be operated synchronously without any special restrictions. be able to.
[0104]
With respect to the invention for controlling the operating frequency of the built-in circuit module in units of hierarchical internal buses, only the CPU clock signal may be the target for dynamically changing the operating frequency. Alternatively, only the peripheral clock signal may be used. In terms of finely controlling power consumption without sacrificing data processing performance, it is desirable that both the CPU clock signal and the peripheral clock signal be subjected to variable frequency control as described above.
[0105]
【The invention's effect】
The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.
[0106]
[1] Regarding the invention for controlling both the operating frequency and the operating voltage of the circuit module, the control information for instructing the switching mode of the clock signal frequency and the operating voltage can be rewritten by a central processing unit or the like in a register or other storage means. Therefore, by freely rewriting the control information as necessary according to the data processing performance of the circuit module and the weight of the data processing, it is possible to allow free switching with respect to the operating voltage and operating frequency of the circuit module. Therefore, prioritize low power consumption for tasks or circuit modules that do not require relatively high-speed data processing, and increase power consumption for tasks or circuit modules that require relatively high-speed processing. In this way, low power consumption can be realized while improving the overall data processing efficiency. Furthermore, enabling the clock frequency and the operating voltage to be switched individually for each predetermined circuit module can realize finer control for reducing power consumption while improving the overall data processing efficiency.
[0107]
By adopting the first control means, it is possible to prevent malfunction in terms of the switching procedure of the clock signal frequency and the operating voltage.
[0108]
By adopting the second control means, it is possible to prevent the possibility of malfunction due to an undesired switching mode between the frequency and the power supply voltage.
[0109]
[2] The invention relates to an invention for switching the operating frequency of the built-in circuit module in units of hierarchized internal buses, excluding the second clock signal such as the bus clock signal from the frequency variable signal, that is, the first and first When the frequency of the
[0110]
By enabling the first clock signal frequency to be dynamically variably controlled by the control information, the circuit module of the first internal bus to which the central processing unit is coupled is operated at a high speed as necessary to increase the data processing efficiency. On the contrary, when executing a task that does not require high-speed operation, it is possible to reduce the clock signal frequency to reduce power consumption.
[0111]
By allowing the third clock signal frequency to be dynamically variably controlled by the control information, in view of the property that the circuit module coupled to the third internal bus is a peripheral circuit module, its function and operation state are changed. Accordingly, the operation speed can be controlled independently of the other circuit modules to promote the reduction in power consumption.
[0112]
When the clock control circuit generates the first to third clock signals by the basic clock signal from the first frequency changing means according to the state of the mode terminal and the set value of the clock control register, the second clock signal When the third frequency changing means is controlled so that the frequency matches the frequency of the basic clock signal, and the first to third clock signals are generated by the clock signal supplied from the second connection terminal (CKIO). Controls the third frequency changing means so that the frequency of the second clock signal matches the frequency of the clock signal from the terminal (CKIO). As a result, the frequency of the second clock signal must be kept constant in accordance with the allowable operating speed of the external device connected to the outside. Therefore, the selection of the clock mode by the mode terminal and the first via the clock control register. In addition, when the frequency of the third clock signal is dynamically changed, the frequency of the second clock signal can be automatically kept constant.
[0113]
Since the external clock signal output from the terminal (CKIO) matches the frequency of the second clock signal, the external device operated in synchronization with the clock signal controls the bus controller (operating in response to the second clock signal). The clock signal output from the terminal (CKIO) can be used as a clock signal for the synchronous operation of such an external device.
[Brief description of the drawings]
FIG. 1 is a block diagram of a single chip microcomputer according to a first embodiment of the present invention;
FIG. 2 is a block diagram illustrating an example of a clock generation circuit of FIG.
3 is a format explanatory diagram of an example of a voltage setting register and a frequency setting register shown in FIG. 1. FIG.
FIG. 4 is a flowchart showing an example of an internal clock signal frequency and internal voltage switching control sequence.
FIG. 5 is a block diagram of a data processing apparatus according to a second embodiment of the present invention.
FIG. 6 is a block diagram of a single chip microcomputer according to a third embodiment of the present invention.
7 is a detailed example circuit diagram of the voltage / frequency control unit of FIG. 6;
FIG. 8 is a circuit diagram of an example of a DC / DC converter.
9 is a detailed example format explanatory diagram of the mode register of FIG. 6;
FIG. 10 is an explanatory diagram of an example of a control mode by the first and second control means.
11 is a flowchart illustrating an example of an operation voltage and frequency switching control procedure by the sequence control unit of FIG. 7;
12 is another flowchart of the operation voltage and frequency switching control procedure by the sequence control unit of FIG. 7;
FIG. 13 is a block diagram of a data processing apparatus according to a fourth embodiment of the present invention.
FIG. 14 is a block diagram of a data processing apparatus according to a fifth embodiment of the present invention.
FIG. 15 is a block diagram of a microcomputer according to a sixth embodiment of the present invention.
FIG. 16 is a block diagram illustrating a detailed example of a clock pulse generator and a clock control circuit.
FIG. 17 is a format diagram of an example of a clock control register.
FIG. 18 is an explanatory diagram of a clock mode set by a mode terminal.
FIG. 19 is a timing chart illustrating an example of a cycle of a CPU clock signal, a bus clock signal, and a peripheral clock signal, and a bus cycle.
FIG. 20 is a timing chart when the frequency of the CPU clock signal is changed to ½ while keeping the frequencies of the bus clock signal and the peripheral clock signal constant with respect to FIG. 19;
FIG. 21 is an explanatory diagram showing the positioning of the clock driver with respect to the circuit module in (A) and an example logic of the clock driver in (B).
FIG. 22 is a connection diagram when a DRAM (× 8) or the like is connected to the outside of the microcomputer of this embodiment.
FIG. 23 is a connection diagram when a DRAM (× 16) or the like is connected to the outside of the microcomputer of this embodiment.
FIG. 24 is a connection diagram when an SDRAM (× 8) or the like is connected to the outside of the microcomputer of this embodiment.
FIG. 25 is a connection diagram when an SDRAM (× 16) or the like is connected to the outside of the microcomputer of this embodiment.
FIG. 26 is an access timing chart to the external DRAM by the microcomputer of this embodiment when the bus clock signal frequency φ is φ <18.6 MHz.
FIG. 27 is an access timing chart to the external DRAM by the microcomputer of this embodiment when the bus clock signal frequency φ is 18.8 MHz ≦ φ ≦ 28.5 MHz.
FIG. 28 is an access timing chart to the external DRAM by the microcomputer of this embodiment when the bus clock signal frequency φ is 28.5 MHz <φ ≦ 37.7 MHz.
FIG. 29 is an access timing chart to the external DRAM by the microcomputer of this embodiment when the bus clock signal frequency φ is 37.7 MHz <φ <47 MHz.
FIG. 30 is an access timing chart for the external DRAM by the microcomputer of this embodiment when the bus clock signal frequency φ is 47.7 MHz ≦ φ ≦ 56 MHz.
FIG. 31 is a timing chart of read access to the SDRAM by the microcomputer according to this embodiment.
FIG. 32 is a timing chart of write access to the SDRAM by the microcomputer of this embodiment.
[Explanation of symbols]
1 Single-chip microcomputer
100 Central processing unit
110 Power supply circuit
113 Internal voltage
114 Voltage setting register
120 clock generation circuit
122 Internal clock signal
1206 Output gate
124 Frequency setting register
130 Control circuit
131 1st control means
132 Second control means
3 Single-chip microcomputer
300 Central processing unit
304 timer
306 Voltage / frequency controller
307 Mode register
3071 Voltage setting field
3072 Frequency setting field
310 Power supply circuit
3141-3143 selector
320 Clock generation circuit
3251-3253 selector
3261-3263 Output gate
330 Control circuit
334 Sequence control unit
3341 First control means
3342 Second control means
340 Internal clock signal
342 Internal voltage
6 Microcomputer
60 CPU bus
61 Central processing unit
62 Cache memory device
65 Clock control circuit
650 clock control register
MD0, MD1, MD2 Clock mode pins
70 cash bus
72 Bus controller
80 Peripheral bus
9 Clock pulse generator
91 CPU clock signal
92 Bus clock signal
93 Peripheral clock signal
910 crystal oscillator
912, 921 PLL circuit
911, 940, 941 frequency divider
911,914 selector
920 selector
930, 931, 942, 943, 944 selector
CKIO, XTAL, EXTAL External clock terminal
Claims (10)
上記回路モジュールに供給すべきクロック信号の周波数及び上記回路モジュールに供給すべき動作電圧を指定するための制御情報が書換え可能に格納される記憶手段と、
上記記憶手段の制御情報に応じた周波数のクロック信号を上記回路モジュールに出力可能なクロック発生回路と、
上記記憶手段の制御情報に応じたレベルの動作電圧を上記回路モジュールに出力可能な電源回路と、
上記制御情報に基づいて、上記クロック信号周波数を低減し且つ動作電圧を絶対値的に小さくさせる指示を検出したときは現在の周波数の変更に先立って動作電圧が絶対値的に小さくされる状態を阻止し、また、クロック信号周波数を増大させ且つ動作電圧を絶対値的に大きくさせる指示を検出したときは動作電圧の絶対値的な増大に先立って周波数の増加されたクロック信号が出力される状態を阻止して、上記クロック発生回路と電源回路の出力状態の切換えを制御する第1の制御手段と、
上記記憶手段の書換え前後における制御情報に基づいて、クロック信号周波数を増大させ且つ動作電圧を絶対値的に小さくさせる指示を検出したときには、当該指示に基づくクロック発生回路及び電源回路の出力状態変更を禁止させる第2の制御手段と、を含んで成るものであることを特徴とするデータ処理装置。A circuit module that operates in synchronization with a clock signal;
Storage means in which control information for designating the frequency of the clock signal to be supplied to the circuit module and the operating voltage to be supplied to the circuit module is rewritable;
A clock generation circuit capable of outputting a clock signal having a frequency according to the control information of the storage means to the circuit module;
A power supply circuit capable of outputting an operating voltage of a level corresponding to the control information of the storage means to the circuit module;
Based on the control information, when an instruction to reduce the clock signal frequency and reduce the operating voltage in absolute value is detected, the operating voltage is reduced in absolute value before changing the current frequency. A state in which a clock signal with an increased frequency is output prior to an increase in the absolute value of the operating voltage when an instruction to block the clock signal frequency and increase the operating voltage in absolute value is detected First control means for controlling the switching of the output state of the clock generation circuit and the power supply circuit,
When an instruction to increase the clock signal frequency and decrease the operating voltage in absolute value is detected based on the control information before and after rewriting the storage means, the output state change of the clock generation circuit and the power supply circuit based on the instruction is changed. And a second control means for prohibiting the data processing apparatus.
上記クロック発生回路は、上記記憶手段における複数の記憶領域の夫々の制御情報に従って個別的に対応回路モジュールに供給すべきクロック信号を選択するための選択回路を備え、
上記電源回路は、上記記憶手段における複数の記憶領域の夫々の制御情報に従って個別的に対応回路モジュールに供給すべき動作電圧を選択するための選択回路を備えて、成るものであることを特徴とする請求項1乃至3の何れか1項記載のデータ処理装置。The circuit module has a plurality, and the storage means has a plurality of storage areas for storing rewritable control information for each predetermined circuit module,
The clock generation circuit includes a selection circuit for selecting a clock signal to be individually supplied to the corresponding circuit module according to control information of each of the plurality of storage areas in the storage unit,
The power supply circuit includes a selection circuit for selecting an operating voltage to be individually supplied to a corresponding circuit module in accordance with control information of each of a plurality of storage areas in the storage unit. The data processing apparatus according to any one of claims 1 to 3.
クロック信号に同期動作される複数の回路モジュールと、A plurality of circuit modules operated in synchronization with a clock signal;
上記クロック信号を上記中央処理装置と上記回路モジュールとに出力可能なクロック発生回路と、A clock generation circuit capable of outputting the clock signal to the central processing unit and the circuit module;
動作電圧を上記中央処理装置と上記回路モジュールとに出力可能な電源回路と、を含み、A power supply circuit capable of outputting an operating voltage to the central processing unit and the circuit module,
上記中央処理装置、回路モジュール、クロック発生回路、及び電源回路がそれぞれ半導The central processing unit, the circuit module, the clock generation circuit, and the power supply circuit are each a semiconductor. 体集積化されたデータ処理装置であって、A data processing device integrated into a body,
上記中央処理装置は、上記クロック信号の周波数と上記動作電圧とを指定するための制御情報が書換え可能に格納される記憶手段と、The central processing unit includes a storage unit in which control information for designating the frequency of the clock signal and the operating voltage is rewritable,
上記制御情報に基づいて、上記クロック信号周波数を低減し且つ動作電圧を絶対値的に小さくさせる指示を検出したときは現在の周波数の変更に先立って動作電圧が絶対値的に小さくされる状態を阻止し、また、クロック信号周波数を増大させ且つ動作電圧を絶対値的に大きくさせる指示を検出したときは動作電圧の絶対値的な増大に先立って周波数の増加されたクロック信号が出力される状態を阻止して、上記クロック発生回路と電源回路の出力状態の切換えを制御する第1の制御手段と、Based on the control information, when an instruction to reduce the clock signal frequency and reduce the operating voltage in absolute value is detected, the operating voltage is reduced in absolute value before changing the current frequency. A state in which a clock signal with an increased frequency is output prior to an increase in the absolute value of the operating voltage when an instruction to block the clock signal frequency and increase the operating voltage in absolute value is detected First control means for controlling the switching of the output state of the clock generation circuit and the power supply circuit,
上記記憶手段の書換え前後における制御情報に基づいて、動作電圧を絶対値的に小さくし且つ、クロック信号の周波数を増大させる指示を検出することによって、当該指示に基づくクロック発生回路及び電源回路の出力状態変更を禁止させる第2の制御手段と、を含んで成るものであることを特徴とするデータ処理装置。Based on the control information before and after the rewriting of the storage means, by detecting an instruction to decrease the operating voltage in absolute value and increase the frequency of the clock signal, the output of the clock generation circuit and the power supply circuit based on the instruction And a second control means for prohibiting the state change.
クロック信号に同期して動作される回路モジュールと、
上記回路モジュールに供給するクロック信号の周波数及び上記回路モジュールに供給すべき動作電圧を指定するための制御情報が上記中央処理装置より伝達される制御部と、
上記制御情報に応じた周波数のクロック信号を上記回路モジュールに出力可能なクロック発生回路と、
上記制御情報に応じたレベルの動作電圧を上記回路モジュールに出力可能な電源回路とを有し、
上記制御部は、上記中央処理装置からの制御情報を伝達される前のクロック信号の周波数及び動作電圧と上記制御情報とを比較し、その制御情報がクロック信号の周波数を増大させ且つ動作電圧を絶対値的に小さくさせる指示である場合、上記制御情報に基づくクロック発生回路及び電源回路の出力状態の変更を禁止させることが可能であることを特徴とするデータ処理装置。 A central processing unit that operates in synchronization with a clock signal;
A circuit module that operates in synchronization with the clock signal;
A control unit for transmitting control information for designating the frequency of the clock signal supplied to the circuit module and the operating voltage to be supplied to the circuit module from the central processing unit;
A clock generation circuit capable of outputting a clock signal having a frequency according to the control information to the circuit module;
A power circuit capable of outputting an operating voltage of a level according to the control information to the circuit module;
The control unit compares the frequency and operating voltage of the clock signal before the control information is transmitted from the central processing unit with the control information, and the control information increases the frequency of the clock signal and sets the operating voltage. A data processing device characterized in that, in the case of an instruction to reduce the absolute value, it is possible to prohibit the change of the output state of the clock generation circuit and the power supply circuit based on the control information .
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01862995A JP3718251B2 (en) | 1994-02-28 | 1995-01-10 | Data processing device |
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 (en) | 1995-01-10 | 1995-12-20 | Data processing device |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6-55270 | 1994-02-28 | ||
JP5527094 | 1994-02-28 | ||
JP01862995A JP3718251B2 (en) | 1994-02-28 | 1995-01-10 | Data processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07287699A JPH07287699A (en) | 1995-10-31 |
JP3718251B2 true JP3718251B2 (en) | 2005-11-24 |
Family
ID=26355333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01862995A Expired - Fee Related JP3718251B2 (en) | 1994-02-28 | 1995-01-10 | Data processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3718251B2 (en) |
Cited By (2)
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)
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 (en) * | 1996-04-23 | 1997-11-04 | Nec Corp | Power consumption reducing circuit |
US5832284A (en) * | 1996-12-23 | 1998-11-03 | International Business Machines Corporation | Self regulating temperature/performance/voltage scheme for micros (X86) |
JP3701100B2 (en) * | 1997-04-30 | 2005-09-28 | 富士通株式会社 | Clock generation circuit and clock generation method |
WO1999010796A1 (en) * | 1997-08-27 | 1999-03-04 | Hitachi, Ltd. | Semiconductor integrated circuit and data processing system |
JPH11143573A (en) | 1997-11-10 | 1999-05-28 | Fujitsu Ltd | Clock supplying method and information processor |
FI117523B (en) * | 1998-10-07 | 2006-11-15 | Nokia Corp | A method for controlling power consumption |
JP2001154844A (en) * | 1999-11-30 | 2001-06-08 | Nec Corp | Single chip microcomputer |
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 (en) * | 2000-09-14 | 2006-11-15 | Necエレクトロニクス株式会社 | Microcomputer |
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 (en) | 2001-05-29 | 2011-06-01 | ルネサスエレクトロニクス株式会社 | Semiconductor memory device |
JP4686065B2 (en) * | 2001-07-05 | 2011-05-18 | 富士通セミコンダクター株式会社 | Clock control apparatus and clock control method |
DE60223555T2 (en) * | 2001-08-29 | 2009-06-10 | Mediatek Inc. | METHOD AND APPARATUS FOR TACT AND PERFORMANCE CONTROL IN WIRELESS SYSTEMS |
JP3794312B2 (en) * | 2001-11-08 | 2006-07-05 | ソニー株式会社 | Power supply frequency control circuit |
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 (en) | 2002-05-10 | 2003-11-21 | Hitachi Ltd | Semiconductor integrated circuit, power supply circuit, and information recording medium |
JP3638271B2 (en) | 2002-07-23 | 2005-04-13 | 沖電気工業株式会社 | Information processing device |
EP1584020B1 (en) * | 2003-01-13 | 2011-08-10 | ARM Limited | Data processing performance control |
TWI371674B (en) | 2003-05-07 | 2012-09-01 | Mosaid Technologies Inc | Managing power on integrated circuits using power islands |
CN1826691B (en) | 2003-07-22 | 2012-03-28 | 日本电气株式会社 | Multi-power source voltage semiconductor device |
JP2005339310A (en) * | 2004-05-28 | 2005-12-08 | Renesas Technology Corp | Semiconductor device |
JP4082706B2 (en) * | 2005-04-12 | 2008-04-30 | 学校法人早稲田大学 | Multiprocessor system and multigrain parallelizing compiler |
JP4812338B2 (en) * | 2005-06-13 | 2011-11-09 | ルネサスエレクトロニクス株式会社 | Semiconductor device |
US7886167B2 (en) * | 2006-05-11 | 2011-02-08 | Intel Corporation | Load circuit supply voltage control |
JP2008059047A (en) * | 2006-08-29 | 2008-03-13 | Oki Electric Ind Co Ltd | Information processing system and control method therefor |
JP2008146189A (en) * | 2006-12-07 | 2008-06-26 | Renesas Technology Corp | Power source system |
JP4685040B2 (en) * | 2007-01-24 | 2011-05-18 | パナソニック株式会社 | Semiconductor integrated circuit and power supply control method thereof |
JP2007305148A (en) * | 2007-06-25 | 2007-11-22 | Univ Waseda | Multi-processor system |
JP4800289B2 (en) * | 2007-11-30 | 2011-10-26 | 富士通セミコンダクター株式会社 | Power supply control device and system LSI having the power supply control device |
JP5308043B2 (en) * | 2008-03-21 | 2013-10-09 | 東芝テック株式会社 | Information processing apparatus, clock control method thereof, and clock control program |
JP2011109227A (en) * | 2009-11-13 | 2011-06-02 | Nippon Dempa Kogyo Co Ltd | Crystal oscillator |
JP5610566B2 (en) * | 2010-02-22 | 2014-10-22 | ルネサスエレクトロニクス株式会社 | Semiconductor device and data processing system |
JP5609326B2 (en) | 2010-07-01 | 2014-10-22 | 富士通セミコンダクター株式会社 | Clock divider circuit |
WO2012004863A1 (en) * | 2010-07-07 | 2012-01-12 | ルネサスエレクトロニクス株式会社 | Data processing device and data processing system |
JP5636860B2 (en) * | 2010-10-14 | 2014-12-10 | 凸版印刷株式会社 | Semiconductor device |
JP6050721B2 (en) * | 2012-05-25 | 2016-12-21 | 株式会社半導体エネルギー研究所 | Semiconductor device |
JP6377560B2 (en) * | 2015-03-24 | 2018-08-22 | シャープ株式会社 | Information processing apparatus, CPU applied voltage control apparatus, and information processing apparatus control method |
CN112768444B (en) * | 2020-12-31 | 2023-06-13 | 成都海光集成电路设计有限公司 | Integrated circuit chip, data analysis system and electronic equipment |
-
1995
- 1995-01-10 JP JP01862995A patent/JP3718251B2/en not_active Expired - Fee Related
Cited By (3)
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 (en) | 1995-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3718251B2 (en) | Data processing device | |
KR100435976B1 (en) | Data processing device | |
KR100363983B1 (en) | Semiconductor integrated circuit | |
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 (en) | Power usage management method and system | |
US7627730B1 (en) | System and method for optimizing a memory controller | |
US20030025689A1 (en) | Power management system and method | |
US7757062B2 (en) | Semiconductor integrated circuit apparatus | |
JP2005502114A (en) | Dynamic voltage control method and apparatus | |
JPH0969063A (en) | Low-electric-power memory system | |
US5966736A (en) | Multiplexing DRAM control signals and chip select on a processor | |
US6381705B1 (en) | Method and device for reducing current consumption of a microcontroller | |
US6477658B1 (en) | Microprocessor with variable clock operation | |
JPS6045828A (en) | Single chip microcomputer | |
JP2004512614A (en) | Hardware architecture of a multi-mode power management system using a fixed time reference for operating system support | |
JP2001034530A (en) | Microcomputer and memory access control method | |
KR100321745B1 (en) | A micro controller unit for external memory access | |
JP2004070854A (en) | Data processor | |
JP2702743B2 (en) | Electronics | |
JP3250268B2 (en) | Information processing device | |
US6154820A (en) | Arrangement for storing program instructions and data in a memory device and method therefor | |
JPH10301660A (en) | Microprocessor | |
JPH0962397A (en) | Operating clock control system |
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 |