Nothing Special   »   [go: up one dir, main page]

JP3718251B2 - Data processing device - Google Patents

Data processing device Download PDF

Info

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

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-chip microcomputer 1 of this embodiment includes a central processing unit (also referred to as CPU) 100, a multiplier circuit (also referred to as MULT) 101, a division (DIVU) 102, and direct memory access as circuit modules that are operated in synchronization with a clock signal. A controller (also referred to as DMAC) 103, a timer (also referred to as TMR1) 104, and a timer (also referred to as TMR2) 105 are typically provided, and further include a RAM, a ROM, an external bus interface circuit, and the like (not shown). It is possible to connect via a predetermined internal bus. Although not particularly limited, both the multiplication circuit 101 and the division 102 are positioned as coprocessors that decode commands issued by the central processing unit 100 and perform data processing. The ROM (not shown) holds an operation program for the central processing unit 100 and the like. A RAM (not shown) is used as a work area of the central processing unit 100 or a temporary storage area for data.
[0028]
The operation power supply of the circuit modules 100 to 105 representatively shown in FIG. 1 is supplied from the power supply circuit 110. The power supply circuit 110 receives a power supply voltage such as 5V from the power supply pin 111 and a ground voltage such as 0V from the ground pin 112, and can selectively output different internal voltages 113 as the operation power supply of the circuit modules 100 to 105. To be. According to this embodiment, the internal voltage 113 is the power supply voltage or a voltage obtained by stepping down the power supply voltage with reference to the ground potential. The ground potential is commonly supplied to each circuit module.
[0029]
The operation clock signals of the circuit modules 100 to 105 representatively shown in FIG. The clock generation circuit 120 receives an external clock signal from an external clock input pin 121 or an oscillation output generated via a vibrator (not shown), and can selectively output a clock signal having a different frequency as the internal clock signal 122. .
[0030]
FIG. 2 shows a detailed example of the clock generation circuit 120. A clock generation circuit 120 shown in FIG. 1 includes a PLL circuit 1201 that receives an external clock signal and multiplies the output of the clock signal, and a frequency dividing circuit 1202 coupled in two stages to the output of the PLL circuit 1201 in series. 1203. For example, the frequency dividing circuits 1202 and 1203 set the input frequency to ¼ and output them. The outputs of the PLL circuit 1201 and the frequency dividing circuits 1022 and 1023 are selected via a selector 1205, and the selected clock signal is sent to the clock of each circuit module 100 to 105 via an output gate 1206 such as a clocked inverter. Supplied to the input terminal. In the figure, one set of selector and output gate is representatively shown. However, when the frequency of the internal clock signal is set for each predetermined circuit module, the selector 1205 and the output gate 1206 are set for each predetermined circuit module. Should be understood to be provided. The same applies to the internal voltage 113 selected by the power supply circuit 110.
[0031]
The voltage setting register 114 and the frequency setting register 124 shown in FIG. 1 store rewritable control information for designating the frequency of the internal voltage 113 and the internal clock signal 123 to be supplied to the circuit modules 100 to 105. It is a storage means. The voltage setting register 114 and the frequency setting register 124 are arranged, for example, in a predetermined address space of the central processing unit 100, and control information is obtained when the central processing unit 100 executes an instruction such as an LDC (load control register) instruction. Is set. Therefore, the voltage setting register 114 and the frequency setting register 124 can be rewritten as desired depending on the operation program of the microcomputer 1. For example, it can be set for each task according to the processing weight. That is, it is only necessary to include the registers 114 and 124 in the target of saving, initial setting, restoration, etc. of the stack pointer and status register of the CPU 100 when starting the task.
[0032]
FIG. 3 shows a detailed example of the voltage setting register 114 and the frequency setting register 124. Although the voltage setting register 114 is not particularly limited, it is composed of 8 bits. For example, the internal voltage 113 supplied to the CPU 100, MULT 101, DIVU 102, and DMAC 103 is determined by a 2-bit value. In each 2 bits, “00” means the maximum voltage level (Vmax), “01” means (Vmax) × 1/2, “10” means (Vmax) × 1/4, “11” means the ground potential. To do. Although the frequency setting register 124 is not particularly limited, it is composed of 8 bits. For example, the internal clock signal frequency supplied to the CPU 100, MULT 101, DIVU 103, and DMAC 103 is determined by a 2-bit value. In each 2 bits, “00” is the maximum frequency (Fmax), “01” is (Fmax) × 1/4, “10” is (Fmax) × 1/16, “11” is the internal clock supply stop. means. At the time of power-on reset, both registers 114 and 124 are initialized to all 0 bits. In the configuration of the registers 114 and 124 as shown in FIG. 3, the operating power supply and internal clock signal frequency to be supplied to other circuit modules can be fixed to predetermined values. In order to increase the number of modules subject to variable control of the operating voltage and clock signal frequency, the number of bits of the voltage setting register 114 and the frequency setting register 124 is increased, and the voltage and clock in the power supply circuit 110 and the clock generation circuit 120 are increased accordingly. What is necessary is just to increase the logic scale for signal frequency selection.
[0033]
In FIG. 1, reference numeral 130 denotes a frequency selection of the internal clock signal 122 and a level selection of the internal voltage 113 in the clock generation circuit 120 and the power supply circuit 110 based on the control information stored in the voltage setting register 114 and the frequency setting register 124. It is a control circuit to control. The control information stored in the voltage setting register 112 and the frequency setting register 124 is given to the power supply circuit 100 and the clock generation circuit 120 via the control circuit 130, so that the power supply circuit 100 and the clock generation circuit 120 are in accordance with the control information. The frequency of the internal clock signal 122 and the internal voltage 113 are selected and supplied to the corresponding circuit module.
[0034]
The control circuit 130 includes first control means 131 and second control means 132 in order to prevent malfunction of the circuit module when switching between the operating voltage and the clock signal frequency.
[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 internal clock signal 122 and the internal voltage 113. That is, in a case where both the frequency of the internal clock signal 122 and the internal voltage 113 are decreased, if the internal voltage 113 is decreased first, the circuit kept in an operating state until the frequency of the internal clock signal 122 is decreased. There is a possibility that the drive capability of the circuit in the module is lowered and malfunction occurs due to an undesired signal delay. When the frequency of the internal clock signal 122 and the internal voltage 113 are increased, if the frequency of the internal clock signal 122 is first increased, the circuit module that has been in an operating state until the internal voltage 113 is increased. The driving ability of the internal circuit may not follow the improvement of the operation speed and may cause a malfunction. Therefore, in order to deal with these, the first control unit 131 uses the frequency of the clock signal 122 and the internal voltage 113 as a procedure for changing the frequency of the internal clock signal 122 and the internal voltage 113 in the clock generation circuit 120 and the power supply circuit 110. When the instruction to decrease the operating voltage 113 is detected, the state in which the operating voltage 113 is reduced prior to the change of the current operating frequency is prevented, and when the instruction to increase the frequency of the internal clock signal 122 and the internal voltage 113 is detected. Prior to the increase of the voltage 113, the clock signal 122 having an increased frequency is prevented from being supplied to the circuit module.
[0036]
For example, when the switching mode of the operating voltage and the frequency is determined and both the frequency of the internal clock signal 122 and the internal voltage 113 are decreased, the changed value of the frequency setting register 124 is supplied to the clock generation circuit 120 first. When the operating voltage is changed after changing the frequency to increase both the frequency of the internal clock signal 122 and the internal voltage 113, the value of the changed voltage setting register 114 is supplied to the power supply circuit 100 first. Then, the procedure of changing the frequency after raising the operating voltage can be adopted for the first control means 131. Alternatively, the procedure of stopping the supply of the clock signal 122 to the circuit module via the output gate 1206 at the time of switching between the operating voltage and the frequency, and restarting the supply of the clock signal 122 after a certain period of time during which the circuit operation is stabilized is provided. It can be adopted as one control means 131. In FIG. 1, the first control means 131 is illustrated as hardware independent of the central processing unit 100, but its function can be realized by the central processing unit 100 and its operation program.
[0037]
The second control means 132 performs control for preventing malfunction due to an undesired switching mode between the frequency of the internal clock signal 122 and the internal voltage 113. That is, if the frequency of the clock signal 122 is increased without increasing the internal voltage 113 in switching between the frequency of the internal clock signal 122 and the internal voltage 113, the driving capability of the circuit is not improved even if the operation of the circuit is increased. In other words, a relatively large signal propagation delay that is unsuitable for the high-speed operation occurs. Further, if the internal voltage 113 is decreased without decreasing the frequency of the clock signal 122, the circuit still operates at a high speed although the driving capability of the circuit is reduced and the signal propagation delay is increased. Therefore, the second control means 132 is based on the control information before and after the rewriting of the storage means composed of the voltage setting register 114 and the frequency setting register 124 in order to prevent the malfunction by switching in these modes. And detecting an instruction to increase the frequency of the internal clock signal 122 without increasing the internal voltage 113, or an instruction to decrease the internal voltage 113 without decreasing the frequency of the internal clock signal 122. The change of the output state of the clock generation circuit 120 and the power supply circuit 110 is suppressed.
[0038]
For example, when the second control means detects a rewrite instruction to the voltage setting register 114 and the frequency setting register 124, the second control means holds the values of the registers 114 and 124 immediately before the rewriting, and the registers 114 rewritten with the held values. , 124 is compared with each other to determine whether the undesired state has been instructed. When it is detected that the instruction is undesired, the control circuit 130 is made to suppress the frequency and voltage selection state update by the changed values of the registers 114 and 124, and further the error state is sent to the central processing unit 100. Notification is made to prompt the user to set the registers 114 and 124 again. As a result, malfunction due to an undesired switching mode between the frequency and the power supply voltage can be prevented.
[0039]
Although the second control unit 132 is illustrated in FIG. 1 as being configured by hardware independent of the central processing unit 100, its function can be realized by the central processing unit 100 and its operation program. it can. That is, in the change processing routine of the voltage setting register 114 and the frequency setting register 124, the central processing unit 100 first reads the values of the registers 114 and 124, compares the read values with the values to be changed, and compares the undesired values. It is determined whether it is in the instruction state, and if it is in an undesired instruction state, the change processing routine is terminated and a predetermined exception processing routine is performed.
[0040]
FIG. 4 shows an example of an operation voltage and frequency switching control procedure by the control circuit 130. When lowering the operating voltage and frequency, the CPU 100 rewrites the frequency setting register 124 with a value that lowers the frequency of the required circuit module (step S10), and a value that lowers the operating voltage of the required circuit module. Thus, the voltage setting register 114 is rewritten by the CPU 100 (step S11). The control circuit 130 and the logic circuit 140 check the setting state for the rewritten value (step S12). If the result of the check is an instruction to increase the frequency of the internal clock signal 122 without increasing the internal voltage 113, or an instruction to decrease the internal voltage 113 without decreasing the frequency of the internal clock signal 122, This is notified to the central processing unit 100 and the processing is terminated. In the other switching mode, in the idling state where the output of the internal clock signal 122 is stopped by the output gate 1206 (step S13), the internal voltage 113 and the internal clock are set according to the set values of the frequency setting register 124 and the voltage setting register 114. The frequency of the signal 122 is switched. This idling state is continued for a predetermined time until the states of the power supply circuit 110 and the clock generation circuit 120 are stabilized, and thereafter, the output gate 1206 restarts the output of the internal clock signal, thereby enabling operation at a new voltage and frequency. (Step S14).
[0041]
When increasing the operating voltage and frequency, the CPU 100 rewrites the voltage setting register 114 with a value that increases the internal operating voltage of the required circuit module (step S20), so as to increase the operating frequency of the required circuit module. With this value, the CPU 100 rewrites the frequency setting register 124 (step S21). The control circuit and the logic circuit check the set state for the rewritten value (step S22). If the result of the check is an instruction to increase the frequency of the internal clock signal 122 without increasing the internal voltage 113, or an instruction to decrease the internal voltage 113 without decreasing the frequency of the internal clock signal 122, This is notified to the central processing unit 100 and the processing is terminated. In the other switching mode, in the idling state where the output of the internal clock signal 122 is stopped by the output gate 1206 (step S23), the internal voltage 113 and the internal clock are set according to the set values of the frequency setting register 124 and the voltage setting register 114. The frequency of the signal 122 is switched. This idling state is continued for a predetermined time until the states of the power supply circuit 110 and the clock generation circuit 120 are stabilized, and thereafter, the output gate 1206 restarts the output of the internal clock signal, thereby enabling operation at a new voltage and frequency. (Step S24). The other switching modes are similarly controlled.
[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 internal clock signal 122 is stopped in the procedure of FIG. The state in which the power supply voltage is decreased prior to the change of the power supply voltage is prevented, and the state in which the clock signal having the increased frequency is supplied to the circuit module prior to the increase in the power supply voltage is prevented. In particular, this can be realized by a simple method of stopping the supply of the internal clock signal at the time of switching. The idling period can be controlled by the timer 105. The timer 105 is supplied with a clock signal through a path different from other circuit modules, and the timer 105 can maintain counting or timing operation even if the supply of the clock signal to the other circuit modules is stopped. It has become. As a control procedure by the first control means, when lowering the voltage and frequency, first, the switching operation for lowering the frequency is completed and then the operation for lowering the internal voltage is performed, and the voltage and frequency are raised. In some cases, it is possible to perform control so as to perform an operation of increasing the frequency after completing the switching for raising the internal voltage first. However, in that case, the control of the switching procedure must be individualized or classified for each switching mode.
[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 frequency setting register 124 and the voltage setting register 114 so as to be rewritable by the central processing unit, the circuit module built in the single chip microcomputer 1 By rewriting the control information as necessary according to the performance of the circuit and the weight of data processing, free switching with respect to the operating voltage and operating frequency of the circuit module can be realized. 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. By making it possible to individually switch the clock frequency and the power supply voltage for each predetermined circuit module, it is possible to further finely implement the control for reducing the power consumption while improving the overall data processing efficiency.
[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 first control unit 131 controls the switching procedure of the frequency and the operating voltage so as to prevent the state where the clock signal whose frequency is increased prior to the increase of the operating voltage is supplied. Therefore, it is possible to prevent the possibility that the circuit module malfunctions in terms of the switching procedure of the clock signal frequency and the operating voltage.
[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 power supply circuit 110 and the clock generation circuit 120 are arranged outside the chip with respect to the embodiment shown in FIG. 1, and the power supply voltage selection signal 150 and the frequency selection signal 151 are provided. A power supply of a voltage received by the microcomputer and instructed thereby is supplied to the power supply pin 111, and a clock signal having a frequency designated thereby is supplied to the clock input pin 121. As in the embodiment of FIG. 1, when the internal voltage and the operating frequency can be set for each predetermined circuit module, a plurality of power supply pins 111 and clock input pins 121 are required. Further, although not specifically shown, in the embodiment of FIG. 1, a part of the voltage setting register 114 and the frequency setting register 124 are allocated for selecting the operation of the external power supply circuit and the external clock generation circuit, and the values set thereby are set. A corresponding control signal can be output to the outside of the chip, and in the embodiment of FIG. 1, the frequency of the power supply voltage supplied to the power supply pin 111 and the frequency of the external clock signal supplied to the clock input pin 121 can be switched. it can.
[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-chip microcomputer 3 of this embodiment includes a central processing unit (also referred to as CPU) 300, a multiplication circuit (also referred to as MULT) 301, a division (DIVU) 302, a memory 303, as circuit modules that are operated in synchronization with a clock signal. And a timer 304 as a representative, and further, an external bus interface circuit (not shown) and the like, which are connectable via a predetermined internal bus 305. Although not particularly limited, both the multiplication circuit 301 and the division circuit 302 are positioned as coprocessors that decode commands issued from the central processing unit 300 and perform data processing. The memory 303 constitutes a ROM holding an operation program of the central processing unit 100, a RAM serving as a work area of the central processing unit 100 or a temporary storage area for data.
[0048]
In FIG. 6, reference numeral 306 denotes a voltage / frequency control unit that generates an operation power supply and an operation clock signal for the circuit modules 300 to 304 shown as representatives and outputs the operation clock signal to each unit. Reference numeral 311 denotes a power supply pin to which a power supply voltage Vin such as 3.3V is supplied, 312 denotes a ground pin receiving a ground potential such as 0V, and 321 denotes a clock input pin to which an external clock signal CLKin is supplied. 340 is an internal clock signal output from the voltage / frequency control unit 306 and supplied to the circuit modules 300 to 303, 341 is an internal clock signal supplied exclusively to the timer 304, and 342 is supplied to each part of the microcomputer. This is an operating voltage as a power supply voltage.
[0049]
First, the voltage / frequency control unit 306 will be schematically described. The voltage / frequency control unit 306 has a mode register 307 for designating the clock signal frequency and the operating voltage of the circuit module for each circuit module, and is set by the central processing unit 300 to be rewritable to the mode register 307. In accordance with the control information, the operating voltage and operating clock frequency of the circuit module are changed and supplied to each unit. Control information is written to the mode register 307 from the central processing unit 300 via the internal bus 305, and when control information having an inappropriate content is set in the mode register 307, this is notified to the central processing unit 300. When the switching mode between the operating voltage and the operating frequency is likely to malfunction, the switching is prohibited. When switching is permitted, the supply of the clock signal for a certain period of time managed by the timer 304 is stopped, so that malfunction does not occur due to unstable operation of the circuit accompanying switching. The contents of the mode register 307 can be switched for each task, and the power consumption and data processing performance can be controlled in units of tasks.
[0050]
FIG. 7 shows a detailed example of the voltage / frequency control unit 306. The voltage / frequency control unit 306 includes a power supply circuit 310, a clock generation circuit 320, and a control circuit 330. The power supply circuit 310 receives the power supply voltage Vin from the power supply pin 311 and receives a ground voltage such as 0 V from the ground pin 312 and can selectively output different internal voltages 342 as the operation power supply of the circuit modules 300 to 304. . According to this embodiment, the internal voltage 342 is set to the power supply voltage (Vin = 3.3V) or a voltage obtained by stepping down the power supply voltage (2.5V) with reference to the ground potential. The ground potential is commonly supplied to each circuit module. The stepped down voltage is formed by a DC / DC converter 313. Both operating voltages are supplied to the inputs of representatively shown selectors 3141 to 3143 provided for each of the modules 300 to 304, and the outputs of the respective selectors 3141 to 3143 are coupled to the power supply terminals of the corresponding circuit modules. Representatively shown selectors 3141 to 3143 select and output an input voltage individually according to control information stored in a voltage setting field (to be described later) of mode register 307. Although not particularly limited to other circuits such as a voltage / frequency control circuit, 3.3 V is supplied as an operation power supply.
[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 Schottky diode 3134, a coil 3135, The step-down switching regulator includes a smoothing capacitor 3136, and generates a voltage Vout stepped down to 2.5V by a negative feedback operation by the operational amplifier 3133. The coil 3135 is external to the chip, and the Schottky diode 3134 may be internal or external to the chip.
[0052]
The clock generation circuit 320 receives an external clock signal from an external clock input pin 321 or an oscillation output generated via a vibrator (not shown), and can selectively output a clock signal having a different frequency as the internal clock signal 340. Is done. That is, the clock generation circuit 120 includes a PLL circuit 322 that receives an external clock signal, multiplies the frequency, and outputs the PLL circuit 322, and frequency dividing circuits 323 and 324 coupled in series to the output of the PLL circuit 322. Prepare. The frequency dividing circuits 323 and 324 output the input frequency, for example, by 1/4. The outputs of the PLL circuit 322 and the frequency dividing circuits 323 and 324 are supplied to the inputs of representative selectors 3251 to 3253 provided in the circuit modules 300 to 303, and the outputs of the selectors 3251 to 3253 are output. Are coupled to the clock input terminals of the corresponding circuit modules via output gates 3261 to 3263 such as clocked inverters. Representative selectors 3251 to 3253 select and output inputs according to control information stored in a frequency setting field (described later) of mode register 307. Note that the supply of the clock signal 341 dedicated to the timer 304 is not stopped.
[0053]
FIG. 9 shows a detailed example of the mode register 307. The mode register 307 includes a voltage setting field 3071 and a frequency setting field 3072. The voltage setting field 3071 is assigned bit by bit to each of the circuit modules 300 to 303 that are representatively shown, and the logical value “1” means 2.5V and “0” means 3V. The internal voltage to be supplied is specified. The frequency setting field 3072 is assigned by 2 bits to each of the circuit modules 300 to 303 shown representatively. “00” is 100 MHz, “01” is 25 MHz, “10” is 6.25 MHz, and “11” is a clock. This means stop, and the clock signal frequency to be supplied to the corresponding circuit module is designated accordingly. According to the configuration of FIG. 7, the control information in the voltage setting field 3071 is latched in the latch circuit 331 at a predetermined timing, and the latched control information is supplied to the selection terminals of the selectors 3141 to 1143 for the corresponding circuit module. The The control information in the frequency setting field 3072 is latched in the latch circuit 332 at a predetermined timing, and the latched control information is decoded by the decoder 333 every 2 bits, and the decoded selection signal for each corresponding circuit module is decoded. It is supplied to the selection terminals of the selectors 3251-3253. As a result, the operating voltage specified in the voltage setting field 3071 and the clock signal having the frequency specified in the frequency setting field 3072 are supplied to each of the circuit modules 300 to 303 separately.
[0054]
The mode register 307 is arranged, for example, in a predetermined address space of the central processing unit 300, and control information is set by the central processing unit 300 executing an instruction such as an LDC (load control register) instruction. . Therefore, the mode register 307 can be rewritten as desired depending on the operation program of the microcomputer 3. For example, it can be set for each task according to the processing weight. That is, it is only necessary to include the mode register in the target of saving, initial setting, restoration, etc. of the stack pointer and status register of the CPU 300 when starting the task. At the time of power-on reset, both registers 114 and 124 are initialized to all 0 bits.
[0055]
The control circuit 330 includes the latch circuits 331 and 332 and the decoder 333, and has a sequence control unit 334 that controls the latch timing of the latch circuits 331 and 332 and the operation of the output gates 3261 to 3263, and the mode register 307. The switching of the operating voltage and frequency based on the control information stored in is controlled. The sequence control unit 334 includes a first control unit 3341 and a second control unit 3342 in order to prevent malfunction of the circuit module when switching the operating voltage and the clock signal frequency.
[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 internal clock signal 340 and the internal voltage 342. That is, in a case where both the frequency of the internal clock signal 340 and the internal voltage 342 are decreased, if the internal voltage 342 is decreased first, the circuit kept in an operating state until the frequency of the internal clock signal 340 is decreased. There is a possibility that the drive capability of the circuit in the module is lowered and malfunction occurs due to an undesired signal delay. When the frequency of the internal clock signal 340 and the internal voltage 342 are increased, if the frequency of the internal clock signal 340 is first increased, the circuit module that has been in an operating state until the internal voltage 342 is increased. The driving ability of the internal circuit may not follow the improvement of the operation speed and may cause a malfunction. Therefore, in order to deal with these, the first control unit 3341 uses the frequency of the clock signal 340 and the internal voltage 342 as a procedure for changing the frequency of the internal clock signal 340 and the internal voltage 342 in the clock generation circuit 320 and the power supply circuit 310. When an instruction to decrease the operating voltage 342 is detected before the current operating frequency is changed, a state in which the operating voltage 342 is reduced is prevented, and when an instruction to increase the frequency of the internal clock signal 340 and the internal voltage 342 is detected. The state where the clock signal 340 having an increased frequency is supplied prior to the increase of the voltage 342 is prevented.
[0057]
The second control means 3342 manages control for preventing malfunction due to an undesired switching mode between the frequency of the internal clock signal 340 and the internal voltage 342. That is, if the frequency of the clock signal 340 is increased without increasing the internal voltage 342 in switching between the frequency of the internal clock signal 340 and the internal voltage 342, the driving capability of the circuit is not improved even if the operation of the circuit is increased. In other words, a relatively large signal propagation delay that is unsuitable for the high-speed operation occurs. Further, if the internal voltage 342 is decreased without decreasing the frequency of the clock signal 340, the circuit still operates at a high speed although the driving capability of the circuit is reduced and the signal propagation delay is increased. Therefore, the second control means 3342 can be switched in these manners so as not to cause a malfunction, based on the control information before and after rewriting the mode register 307 without increasing the internal voltage 342. By detecting an instruction to increase the frequency of the internal clock signal 340 or an instruction to decrease the internal voltage 342 without decreasing the frequency of the internal clock signal 340, the outputs of the clock generation circuit 320 and the power supply circuit 310 based on the instruction are detected. Prohibit state change.
[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 clock signal 340 to the circuit module through the output gates 3261 to 3263 when the operating voltage and frequency are switched, and a certain period of time during which the circuit operation is stabilized elapses. You may employ | adopt the procedure which restarts supply of the clock signal 340 later. In FIG. 6, the first control means 3341 is illustrated as hardware independent of the central processing unit 300, but its function can be realized by the central processing unit 300 and its operation program.
[0060]
For example, when the second control unit 3342 detects a rewrite instruction to the mode register 307, the second control unit 3342 holds the value of the register 307 immediately before the rewrite, and stores the previous value held and the value of the rewritten mode register 307. In comparison, it is determined whether the error modes (a), (d), and (f) are instructed. When the error mode is detected, the frequency and voltage selection state change due to the changed value of the mode register 307 is suppressed. That is, the latch operation by the latch circuits 331 and 332 is prohibited. Furthermore, the central processing unit 100 is notified that the error mode has been instructed, and the setting of the mode register 307 is prompted again. As a result, malfunction due to an undesired switching mode between the frequency and the power supply voltage can be prevented.
[0061]
The second control means 3342 is illustrated in FIG. 6 as being configured by hardware independent of the central processing unit 300, but its function can be realized by the central processing unit 300 and its operation program. it can. That is, in the change processing routine of the mode register 307, the central processing unit 300 first reads the value of the register 307, compares the read value with the value to be changed, and determines whether or not the above-described error mode is present. If so, the change processing routine is terminated and a predetermined exception processing routine is performed.
[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 mode register 307 by the central processing unit 300 (step S30). The sequence control unit 334 checks the setting state based on the control information before and after rewriting (step S31). As a result of the check, when it is detected that the setting state is any of the modes (a), (d), and (f) in FIG. 10, an error is notified to the central processing unit 300 and the process is terminated (step S32). ). When the mode of switching is other than that, the output gates 3261 to 3263 are controlled to the high output impedance state to stop the output of the clock signal 340 (step S34), and the timer count operation by the timer 304 is started (step S34). ). In this state, since the operation clock signal is not supplied to the circuit module that enables switching between the clock signal frequency and the operation voltage, each operation is stopped. At this time, the sequence control unit 334 performs the latch operation of the latch circuits 331 and 332, whereby the selection state of the clock signal by the selectors 3251 to 3253 is changed according to the latched control information and the selectors 3141 to 3143 are used. The selection state of the operating voltage is changed, and the operating voltage and the frequency are switched (step S35). Next, it is detected that the timer count by the timer 304 has been counted up (step S36), and the supply of the clock signal 340 is resumed. The time until the timer count by the timer 304 is counted up is a time required until the states of the power supply circuit 310 and the clock generation circuit 320 are stabilized and the switched voltage is stabilized in the corresponding circuit module. The This allows operation at new operating voltages and frequencies.
[0063]
The procedure of switching the internal clock signal frequency and the internal voltage in a state where the output of the internal clock signal 340 is stopped in this control procedure and then restarting the supply of the internal clock signal after a lapse of a certain time is prior to the change of the current operating frequency. Thus, a procedure for preventing a state where the power supply voltage is reduced and preventing a state where a clock signal having an increased frequency is supplied to the circuit module prior to the increase of the power supply voltage is realized. In particular, this can be realized by a simple method of stopping the supply of the internal clock signal at the time of switching. The timer 304 is supplied with a dedicated clock signal 341 different from other circuit modules, and the timer 304 can maintain the timer count operation even if the supply of the clock signal to the other circuit modules is stopped. It is like that.
[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 mode register 307 so as to be rewritable by the central processing unit, the performance of the circuit module built in the single chip microcomputer 3 and data processing By rewriting the control information as needed according to the weight, free switching with respect to the operating voltage and operating frequency of the circuit module can be realized. 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, by making it possible to individually switch the clock frequency and the power supply voltage for each predetermined circuit module, the control for reducing the power consumption while improving the overall data processing efficiency can be realized more finely.
[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 power supply circuit 310 and the clock generation circuit 320 are arranged outside the single-chip microcomputer 4 with respect to the embodiment shown in FIG. The selection signal 401 is received from the microcomputer 4, and the power supply of the voltage designated thereby is supplied to the plurality of power supply pins 402, and the clock signal of the frequency designated thereby is supplied to the plurality of clock input pins 403. Although not specifically shown, in the embodiment of FIG. 6, the mode register 307 is provided with a control information designation field for selecting the operation of the external power supply circuit and the external clock generation circuit, and a control signal corresponding to the set value is provided. It is possible to output to the outside of the chip so that the power supply voltage supplied to the power supply pin 311 and the frequency of the external clock signal supplied to the clock input pin 321 can be switched in the embodiment of FIG.
[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 central processing unit 500, a display controller 501, a memory 502, a coprocessor 503, and an input / output circuit 504, each of which is formed as a semiconductor integrated circuit. Etc. are configured by sharing an external bus. In this system, the central processing unit 500, the display controller 501, the memory 502, and the coprocessor 503 can be individually switched between the clock signal and the operating power supply voltage. For this purpose, the clock generation circuit 320 and the power supply circuit 310 are provided, and the mode register 307 and the control unit 330 are built in the central processing unit 500. In this embodiment, a storage area for individually setting the operating frequency and operating voltage of the central processing unit 500, display controller 501, memory 502, and coprocessor 503 is allocated to the mode register.
[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 microcomputer 6 according to another embodiment of the present invention. The microcomputer 6 shown in the figure is formed on a single semiconductor substrate such as single crystal silicon by, for example, a known semiconductor integrated circuit manufacturing technique. The microcomputer has a three-bus configuration including a CPU bus (first internal bus) 60, a cache bus (second internal bus) 70, and a peripheral bus (third internal bus) 80, although not particularly limited. . Each of the buses 60, 70, and 80 includes a signal line group for data, an address, and a control signal. A central processing unit (CPU) 61, a cache memory device 62, an address translation buffer (TLB) 63, a clock control circuit 65, and a break controller 64 are coupled to the CPU bus 60. On the other hand, the cache memory device 62 is coupled to the cache bus 70, and a peripheral bus interface 71, a bus controller 72, and an input / output circuit 73 are coupled to the cache bus 70. The input / output circuit 73 is coupled to an external bus (not shown), and the bus controller 72 performs interface control between the circuit module coupled to the external bus and the cache bus 70. The peripheral bus interface 71 performs interface control for peripheral circuit modules such as a timer 81, an interrupt controller 82, and a serial interface 83 connected to the peripheral bus 80. A bus master is not coupled to the peripheral bus 80.
[0072]
The microcomputer 6 of this embodiment divides the logical address space into units called logical pages, and supports virtual storage for performing address conversion to physical addresses in units of pages. The address conversion buffer 63 includes a memory unit and its control unit. The memory unit is an associative memory that stores a conversion pair associated with a logical page number and a physical page number as a TLB entry, and the control unit converts the logical address output from the central processing unit 61 into a physical address using the memory unit. Take control. In the case of a TLB miss, the TLB entry corresponding to the logical address is read from the external page table via the control unit.
[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 CPU bus 60. An interface between the CPU bus 60 and the cache bus 70 is performed by a cache control unit included in the cache memory device 62. A data input / output terminal and an address input terminal of the associative memory unit are coupled to the CPU bus 60.
[0075]
The clock pulse generator 9 outputs a CPU clock signal (first clock signal) 91, a bus clock signal (second clock signal) 92, and a peripheral clock signal (third clock signal) 93. The CPU clock signal 91 is an operation clock signal for circuit modules (CPU 61, cache memory device 62, TLB 63, break controller 64, clock control circuit 65) coupled to the CPU bus 60. The bus clock signal 92 is an operation clock signal for circuit modules (peripheral bus interface 71, bus controller 72, and input / output circuit 73) coupled to the cache bus 70. The peripheral clock signal 93 is an operation clock signal for the circuit modules (timer 81, interrupt controller 82, serial interface 83) coupled to the peripheral bus 80. The clock control circuit 65 can dynamically change the frequencies of the CPU clock signal 91 and the peripheral clock signal 93 based on control information set by the central processing unit 61 via the CPU bus 60.
[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 peripheral clock signal 93 is a clock signal for a built-in peripheral circuit module that does not require high-speed operation. The signal frequencies of the clock signals 91 and 93 can be dynamically changed depending on the setting contents for the clock control circuit 65. Since the bus clock signal 92 is a clock signal that matches the operation speed of an external device such as a memory connected via the input / output circuit 73, the bus clock signal 92 is not a target for dynamically changing the signal frequency. When the internal state of the clock pulse generator 9 is changed to change the frequency of the clock signals 91 and 93, the clock pulse generator 9 is controlled by the clock control circuit 6 so as not to change the frequency of the bus clock signal 92. The
[0077]
FIG. 16 shows a detailed example block diagram of the clock pulse generator 9 and the clock control circuit 65. The clock pulse generator 9 can be coupled to a vibrator connection terminal XTAL and a vibrator connection or external clock signal input terminal EXTAL as a first connection terminal that can be coupled to an external clock source, to another external clock source. An external clock input or output terminal CKIO is provided as a second connection terminal.
[0078]
The crystal oscillator 910, the selector 911, the PLL circuit 912, the frequency divider 913, and the selector 914 constitute a first frequency changing unit coupled to the terminals XTAL and EXTAL, and the selector 920 and the PLL circuit 921 are coupled to the terminal CKIO. The second frequency changing means is configured. The crystal oscillator 910 is configured by, for example, an overtone type or a gate type circuit using the natural vibration of the crystal resonator connected to the terminals XTAL and EXTAL. The selector 911 selects one of the output of the crystal oscillator 910 or the clock signal directly supplied from the terminal EXTAL. The PLL circuit 912 is coupled to a PLL capacitor via a terminal CAP2, and performs synchronization and multiplication of the input clock signal. The multiplication factor is 1 or 4 times. The frequency divider 913 divides the input clock signal by 1/2. The selector 914 selects one of the output of the PLL circuit 912 and the output of the frequency divider 913 as the basic clock signal 915. The basic clock signal 915 output from the selector 914 can be output from the terminal CKIO to the outside via the clock buffer 950 when the operation is selected. 951 is a clock signal output path for this purpose. The selector 920 selects the basic clock signal 915 from the selector 914 or the clock signal input from the terminal CKIO. The PLL circuit 921 is coupled to a PLL capacitor via a terminal CAP1, and performs synchronization and multiplication of the input clock signal from the selector 920. The multiplication factor is set to 1, 2 or 4 times. The selectors 930 and 931 constitute selection means for selecting the basic clock signal 915 output from the selector 914 or the clock signal output from the PLL circuit 921. The frequency divider 940, the frequency divider 941, and the selectors 942, 943, 944 receive the clock signals selected by the selectors 930, 931, and set the frequencies of the CPU clock signal 91, the peripheral clock signal 93, and the bus clock signal 92. A third frequency changing unit that can be changed separately is configured. The frequency divider 940 divides the clock signal from the selector 930 by a division ratio of 1, 1/2, or 1/4, and one of them is selected by the selector 942 to be used as the CPU clock signal 91. The frequency divider 941 divides the clock signal from the selector 931 by a division ratio of 1, 1/2, 1/4, and one of them is selected by the selector 943 to be used as the peripheral clock signal 93. One of them is selected by the selector 944 to be a bus clock signal 92.
[0079]
The clock control circuit 65 controls the operation of the clock pulse generator 9. The control mode is roughly divided into a setting state from the outside for the mode terminals MD0, MD1, and MD2 and a setting state for the clock control register 650 by the central processing unit 61. In this embodiment, the external clock source is any one of three types: a crystal oscillator coupled to the terminals XTAL and EXTAL, an external clock signal from the terminal EXTAL, and an external clock signal from the terminal CKIO. The clock signal transmission path in the clock pulse generator must be different depending on which one is adopted, and if at least the selection states of the selectors 911 and 920 are not determined, the CPU clock signal 91 is not generated and the central processing unit 61 Since the operation cannot be performed, which one is adopted cannot be dealt with by setting control information in the clock control register 650 by the central processing unit 61. Also in this sense, the operation control of the clock pulse generator 9 by the mode terminals MD0 to MD2 is required. Furthermore, when the clock control circuit 65 generates the clock signals 91 to 93 by the basic clock signal 915 according to the state of the mode terminals MD0, MD1 and MD2 and the set value of the clock control register 650, the frequency of the bus clock signal 92 is increased. When the selection state of the selector 944 is controlled to match the frequency of the basic clock signal 915 and the clock signals 91 to 93 are generated by the clock signal supplied from the terminal CKIO, the frequency of the bus clock signal 92 is changed from the terminal CKIO. The selection state of the selector 944 is controlled to match the clock signal frequency. This is because the frequency of the bus clock signal 92 must be kept constant according to the permissible operating speed of the external device connected to the outside, so that the clock mode selection state by the mode terminals MD0 to MD2 and the clock control register 650 are changed. This is because the frequency of the bus clock signal 92 is automatically kept constant when the CPU clock signal 91 and the peripheral clock signal 93 are dynamically changed.
[0080]
FIG. 17 shows an example of the clock control register. The bit PLLEN is an enable bit of the PLL circuit 921, and PLLEN = 1 indicates enable, and PLLEN = 0 indicates disable. When the bit PLLEN = 1 is set, both the selectors 930 and 931 are controlled to select the output of the PLL circuit 921. Bits STC1 and STC0 are bits for instructing a frequency multiplication rate of the PLL circuit 921, for example, a multiplication factor of 1 (STC1 = 0, STC0 = 0), 2 times (STC1 = 0, STC0 = 1), 4 times (STC1 = 1, STC0 = 1). Bits CFC1 and CFC0 are bits for instructing the division ratio of the CPU clock signal 91, that is, selection by the selector 942, for example, division ratio 1 (CFC1 = 0, CFC0 = 0), division ratio 1/2 (CFC1 = 0) , CFC0 = 1) and a division ratio of 1/4 (CFC1 = 1, CFC0 = 1) can be selected. Bits PFC1 and PFC0 are bits for instructing the division ratio of the peripheral clock signal 93, that is, selection by the selector 943. For example, the division ratio is 1 (PFC1 = 0, PFC0 = 0), and the division ratio is 1/2 (PFC1 = 0). , PFC0 = 1) and a division ratio of 1/4 (PFC1 = 1, PFC0 = 1) can be selected. The bit MST1 is a control bit for selectively stopping the supply of the peripheral clock signal 93 to the timer 81. For example, supply is instructed when MST1 = 0, and supply stop is instructed when MST = 1. The bit MST0 is a control bit for selectively stopping the supply of the peripheral clock signal 93 to the serial interface 83. For example, supply is instructed when MST0 = 0, and supply stop is instructed when MST = 0. When the microcomputer is initialized by a power-on reset or a manual reset, all the bits of the clock control control register 650 are initialized to a logical value “0” by hardware (regardless of instruction execution by the central processing unit 61). It becomes. For the reasons described above, the frequency selection state of the bus clock signal 92 by the selector 944 is not arbitrarily performed via the clock control register 650.
[0081]
FIG. 18 shows seven clock modes set by mode terminals MD0 to MD2. No. shown in FIG. 0 and No. In the clock mode 1, a clock signal obtained by using the terminal EXTAL as a clock supply source and multiplying it by the PLL circuit 912 (clock mode No. 0 has a multiplication factor of 1 and clock mode No. 1 has a multiplication factor of 4). The selection state of the selectors 911 and 914 is controlled so as to be the basic clock signal 915. In these clock modes, the clock buffer 950 is enabled for output, the terminal CKIO is used for clock output, and the selector 920 is controlled to the selected state of the basic clock signal 915. As described above, the operation of the PLL circuit 921 is prohibited in the initial state of the clock control register 650. The selectors 930 and 931 are set to the selection state of the basic clock output from the selector 914. The clock control circuit 65 automatically controls the selector 944 so that the frequency of the bus clock signal 92 matches the frequency of the basic clock signal 915. When the microcomputer is reset, the state of the clock control register 65 is initialized to a constant value without going through the operation of the central processing unit 61. Therefore, if the clock mode by the mode terminals MD0 to MD2 is determined, the clock is reset. Signals 91 to 93 are supplied to each part of the microcomputer, and the central processing unit 61 can execute instructions. Thereafter, the central processing unit 61 rewrites the value of the clock control register 650 so that the frequencies of the CPU clock signal 91 and the peripheral clock signal 93 can be dynamically changed. For example, when the operation of the PLL circuit 921 is enabled (PLLEN = 1), the selectors 930 and 931 select the output of the PLL circuit 921, and the frequency dividing circuits 940 and 941 receive the clock signal multiplied by the PLL circuit 921. Supplied. At this time, if the multiplication rate of the PLL circuit 921 is 2, the selector 944 selects the frequency division ratio 1/2, and if the frequency multiplication factor is 4, the selector 944 selects the frequency division ratio 1/4 to select the frequency of the bus clock signal 92. To keep constant.
[0082]
No. shown in FIG. 2, no. In the clock mode 3, the clock supply source is a crystal oscillator 910, which is multiplied by a PLL circuit 912 (clock mode No. 2 has a multiplication factor of 4 times, clock mode No. 3 has a multiplication factor of 4 times and a multiplication factor of 1). The selection state of the selectors 911 and 914 is controlled so that the clock signal obtained in this way is the basic clock. The other control states are clock mode No. 0, No. This is the same as the case of 1.
[0083]
No. shown in FIG. 4, no. In the clock mode 5, the PLL circuit 912 is not operated and the selector 911, 914 selects the path passing through the frequency divider 913 to generate the basic clock. Clock mode No. 4 is an external clock signal supplied from the terminal EXTAL, the clock mode No. The clock source in 5 is a crystal oscillator 910. The other control states are clock mode No. 0, No. This is the same as the case of 1.
[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 PLL circuit 921, and causes the selectors 930 and 931 to select the output of the PLL circuit 921. In this clock mode, the clock buffer 950 is disabled for output operation. In the operation clock mode, the operation selection of the PLL circuit 921 by the bit PLLEN of the clock control register 650 is invalidated. For example, the clock control circuit 65 has a clock mode no. When 6 is set, the bit PLLEN is forced to a logical value “1” (a circuit that forcibly pulls up the bit PLLEN is activated). Therefore, rewriting of the bit PLLEN by the central processing unit 61 is substantially disabled. In other clock modes, the operation of the PLL circuit 921 can be arbitrarily set by the bit PLLEN of the clock control register 650.
[0085]
As described above, the clock control circuit 65 determines the frequency change rate by the PLL circuit 912 and the frequency divider 913 included in the first frequency changing means according to the state of the mode terminals MD0 to MD2, and determines from the terminals XTAL and EXTAL. A first state in which the clock signal can be transmitted to the inputs of the frequency dividers 940 and 941 and the selector 944 is controlled so that the frequency of the bus clock signal 92 matches the frequency of the basic clock signal, or the PLL circuit from the terminal CKIO A second state is selected in which the clock signal is controlled to be transmitted to 921. Further, the frequency change rate by the PLL circuit 921 and the frequency selection of the CPU clock signal 91 and the peripheral clock signal 93 by the selectors 942 and 943 are variably controlled according to the control information set in the clock control register 650, and the clock terminals MD0 to MD0. In the second state designated by MD2, the division ratio of the bus clock signal 92 selected by the selector 944 by the frequency divider 941 and the multiplication factor of the PLL circuit 921 designated by the clock control register 650 are as follows. The selector 944 is selectively controlled so that the product of 1 becomes 1 (in other words, the frequency of the bus clock signal 92 matches the frequency of the input clock signal from the terminal CKIO).
[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: bus clock signal 92 = 1: 1/2: 1/4, and the CPU bus 60, cache bus 70 and external bus accordingly. The bus cycle of the peripheral bus 80 has been determined. This example is an example in which the central processing unit 61 is operated at a high speed in order to prioritize the data processing speed of the central processing unit 61. The example of FIG. 20 shows a state in which the frequency of the CPU clock signal 91 is changed to ½ while the frequencies of the bus clock signal 92 and the peripheral clock signal 93 are kept constant with respect to FIG. This is a setting example when priority is given to low power consumption over the performance of the above, and the power consumption of the central processing unit 61 is reduced by half while keeping the peripheral module and external bus access speed constant. In FIG. 19 and FIG. 20, the bus cycle of the external bus is the same as the bus cycle of the cache bus 70. This is because the bus controller 72 is operated in synchronization with the bus clock signal 92, and the external bus cycle activated by the bus controller 72 is also synchronized with the bus clock signal 92.
[0087]
In FIG. 16, the clock control circuit 65 generates a clock driver control signal 651, a clock supply stop control signal 652 for the timer 81, and a clock supply stop control signal 653 for the serial interface 83. When the internal state of the clock pulse generator 9 such as the division ratio and multiplication rate is changed by rewriting the clock control register 650, the clock driver control signal 651 is changed until the clock signals 91 to 93 are stabilized. 93 is a control signal for prohibiting the operation of the circuit module by 93. Each circuit module includes a clock driver 1000 and a logic circuit 1100 as exemplarily shown in FIG. FIG. 21B shows an example of the clock driver 1000. According to this example, the clock driver 1000 receives the CPU clock signal 91, the peripheral clock signal 93, or the bus clock signal 92 from the clock pulse generator according to the type of the circuit module including the module, and receives this from the non-overlapping two-phase module. The internal clock signals CK1 and CK2 are supplied to the logic circuit 1100. A two-input NAND gate 1001 and a delay circuit (series eight-stage inverter circuit) 1002 determine a non-overlap period of rising and falling in one clock signal CK1, and a two-input NAND gate 1003 and a delay circuit (series seven-stage inverter circuit) ) 1004 and 2-input NOR gate 1005 determine the non-overlap period of the rising and falling edges of the other clock signal CK2. The clock signal 91, 92 or 93 from the clock pulse generator 9 is supplied to one input terminal of a two-input NOR gate 1006, and the other input terminal of the NOR gate 1006 has a clock driver control signal together with the other input terminal of the NOR gate 1005. When 651 is supplied and the clock driver control signal 651 is set to the logical value “1”, the outputs of both NOR gates 1005 and 1006 are fixed to the logical value “0”, whereby the clock signal CK2 is set to the logical value “0”. The clock signal CK1 is fixed to the logical value “1”. Thereby, the operation of the circuit synchronized with the internal lock signals CK1 and CK2 in the logic circuit 1100 is stopped, and the internal state can be maintained. For example, when detecting the end of the write cycle for the clock control register 650, the clock control circuit 65 changes the clock driver control signal 651 from the logical value “0” to the logical value “1” for a certain period. This period is a period from when the internal state of the clock pulse generator 9 is changed to when the clock signals 91, 92, 93 are stabilized, and is determined by the circuit characteristics. The management of the period can be performed by a timer (not shown) whose operation is not stopped by, for example, the clock driver control signal 651 or the clock supply stop control signal 652 to the timer.
[0088]
The logical value of the clock supply stop control signal 652 to the timer is determined by the bit MST1 of the clock control register 650, and the clock supply stop control signal 653 to the serial interface is also determined by the logical value of the bit MST0. Although not shown in the figure, in the clock driver in the timer and serial interface, the NOR gate shown in FIG. 21B has three inputs, and the clock supply stop control signal 652 or 653 is supplied corresponding to one of the inputs. The internal clock signals CK1 and CK2 in the circuit module can be arbitrarily stopped.
[0089]
FIG. 22 shows how the microcomputer 6 of this embodiment is connected to an external memory. In the figure, the external interface signals of the microcomputer 6 are: address signal A26-A0, data D31-D0, chip select signal CS0 # (symbol # means that the signal to which it is attached is a low enable signal) to CS4 #, read signal RD #, data enable signal DQMLL / WE0 #, DQMLU / WE1 #, DQMUL / WE2 #, DQMUU / WE3 #, read / write signal R / W #, row address strobe signal RAS # / CS #, Column address strobe signals CAS # / CE # / CASHH #, column address strobe signals CASHL #, CASLH, CASLL #, and the like. The bus controller 72 controls the change timing of various access control signals such as the address signal A26-A0, the data D31-D0 at the time of writing, and the chip select signal CS0 #, and these change in synchronization with the bus clock signal 92. Is done.
[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 DRAMs 1300 to 1303 and SRAMs 1304 to 1306 via an external bus 1200. The DRAMs 1300 to 1303 shown in FIG. 22 are assumed to perform data input / output in units of 8 bits (bytes) (× 8 DRAM). In DRAMs 1300 to 1303 and SRAMs 1304 to 1306, terminal A is an address input terminal, D is a data input / output terminal, RAS # is a row address strobe signal input terminal, CAS # is a column address strobe signal input terminal, and WE # is a write enable signal input terminal. CS # is a terminal for a chip select signal, and OE # is an input terminal for an output enable signal.
[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 microcomputer 6 outputs a clock enable signal CKE for interfacing with the SDRAM and outputs a clock signal CLK from the terminal CKIO. In the SDRAM, CLK is an input terminal for a clock signal CLK, CKE is a clock enable signal CKE input terminal, CS # is a chip select signal input terminal, CAS # is a column address strobe signal input terminal, RAS # is a row address strobe signal input terminal, WE # Is a write enable signal input terminal, A is an address signal input terminal, and D is a data input / output terminal. The SDRAM operation mode (row address signal fetching, column address signal fetching and writing, column address signal fetching and reading, etc.) is executed by a command in a mode register (not shown) by a memory control signal from the outside and a predetermined lower bit of the address signal. Determined by being written. The clock signal CLK is used as a master clock of the SDRAM, and other external input signals are significant in synchronization with the rising edge of the clock signal CLK, for example. The chip select signal applied to the terminal SC # instructs the start of the command input cycle by its low level. The clock enable signal CKE is a signal for instructing the validity of the next clock signal. If the signal CKE is at a high level, the rising edge of the next clock signal CLK is valid, and is invalid when the signal is at a low level. .
[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 bus clock signal 92. The bus controller generates various memory access control signals such as a row address strobe signal in synchronization with the bus clock signal 92 and inputs / outputs data. In each figure, D31 to D0 are data, address lower bits are supplied to the DRAM and actually used, and address upper bits are address bits not supplied to the DRAM. BS # is a bus start signal indicating the start of a bus cycle, and is output from the bus controller 72 of the microcomputer 6. 26 to 30, Tr, Tr1, Tr2, and Tr3 are row operation states, Tc1, Tc2, and Tc3 are column operation states, and Tp is a precharge operation state. In FIG. 26, the frequency φ of the bus clock signal 92 is assumed to be smaller than 18.6 MHz, and the memory cycle of the DRAM in that case is, for example, three cycles of Tr, Tc1, Tc2, and in FIG. 27 (18.8 MHz ≦ φ ≦ The memory cycle of the DRAM is 5 cycles of Tr1, Tr2, Tc1, Tc2, and Tp. In FIG. 28 (28.5 MHz <φ ≦ 37.7 MHz), the memory cycle of the DRAM is Tr1, Tr2, Tc1, Tc2. , Tc3, Tp, and in FIG. 29 (37.7 MHz <φ <47 MHz), the memory cycle of the DRAM is Tr1, Tr2, Tc1, Tc2, Tc3, Tp, Tp, and in FIG. (47.7 MHz ≦ φ ≦ 56 MHz) The DRAM memory cycle is Tr1, There are eight cycles of Tr2, Tr3, Tc1, Tc2, Tc3, Tp, and Tp. In this way, one memory access period (the number of cycles of the bus clock signal 92) is changed depending on the frequency of the bus clock signal 92 in consideration of the speed at which an external device such as a DRAM can operate and the cycle of the bus clock signal 92. This is because one memory access period corresponding to the operable speed of an external device such as a DRAM is determined by the number of cycles of the bus clock signal 92. The number of cycles is of a nature that varies depending on how fast the external device is employed by the user of the microcomputer 6. For example, when a DRAM is operated at the maximum allowable speed with a cycle as shown in FIG. 26, the same DRAM is operated at the maximum allowable speed in another system in which the frequency of the bus clock signal 9 is higher than that. The number must be increased as shown in FIGS. In this embodiment, the basic number of bus clock signal cycles for external bus access by the bus controller 72 can be arbitrarily set. The number of cycles is not particularly limited, but is set in a register inside the bus controller by an external terminal.
[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 microcomputer 6. The bus controller 72 performs bus control in synchronization with the bus clock signal 92 as shown in FIG. 31 and FIG. 32 when accessing the address assigned to the SDRAM. The SDRAM receives the clock signal CLK output from the terminal CKIO of the microcomputer 6 and operates in synchronization therewith. 31 to 32, Tr is a row operation state, Trw is a wait state for extending Tr, Tc1 is a column operation state, Tcw is a wait state for extending Tc1, and Td1 is a data reading state. In the read operation and the write operation, the number of states (the number of bus clock signal cycles) constituting the memory cycle is different. In the state Tr of FIG. 31, a row address is fetched, and in Tc1, a column address is fetched by a read command. Three cycles from the falling edge of the column address strobe signal CAS # (the bus clock signal, that is, the external clock signal CLK output from the terminal CKIO) The data is read after the number of cycles. In the state Tr of FIG. 32, a row address is fetched, and in Tc1, a column address is fetched by a write command, and data is written.
[0097]
According to the above-described embodiment relating to the operation frequency switching for the microcomputer 6 in which the internal bus is hierarchized, the following operational effects are obtained. (1) In the microcomputer 6 hierarchized into the CPU bus 60, the cache bus 70, and the peripheral bus 80, the bus clock signal 92 is excluded from the dynamically variable frequency clock signal. That is, the CPU clock signal 91 and the peripheral clock signal 93 can be dynamically changed in signal frequency depending on the setting contents for the clock control circuit 65, while the bus clock signal 92 is a memory connected via the input / output circuit 73. Since the clock signal should match the operation speed of the external device, the signal frequency is not dynamically changed. Even when the internal state of the clock pulse generator 9 is changed to change the frequency of the clock signals 91 and 93, the clock control circuit 6 controls the clock pulse generator 9 so as not to change the frequency of the bus clock signal 92.
[0098]
(2) By enabling the CPU clock signal 91 frequency to be dynamically variably controlled by the control information, the circuit module of the CPU bus 60 to which the central processing unit 61 is coupled is operated at a high speed as required to achieve high speed data efficiency. Conversely, when executing a task that does not require high-speed operation, the clock signal frequency can be lowered to achieve low power consumption.
[0099]
(3) By enabling the frequency of the peripheral clock signal 93 to be dynamically variably controlled by the control information, in view of the property that the circuit module coupled to the peripheral bus 80 is a peripheral circuit module, its function and operation state Accordingly, the operation speed can be controlled independently of other circuit modules to promote low power consumption.
[0100]
(4) When the clock control circuit 65 generates the clock signals 91 to 93 by the basic clock signal 915 according to the state of the mode terminals MD0, MD1 and MD2 and the set value of the clock control register 650, the frequency of the bus clock signal 92 When the selection state of the selector 944 is controlled so as to match the frequency of the basic clock signal 915 and the clock signals 91 to 93 are generated by the clock signal supplied from the terminal CKIO, the frequency of the bus clock signal 92 is set to the terminal CKIO. The selection state of the selector 944 is controlled so as to match the clock signal frequency from. As a result, the frequency of the bus clock signal 92 must be kept constant in accordance with the allowable operating speed of the external device connected to the outside. Therefore, the clock mode selection state by the mode terminals MD0 to MD2 and the clock control register 650 are changed. When the CPU clock signal 91 and the peripheral clock signal 93 are dynamically changed, the frequency of the bus clock signal 92 can be automatically kept constant.
[0101]
(5) Since the external clock signal output from the terminal CKIO matches the frequency of the bus clock signal 92, an external device such as an SDRAM operated in synchronization with the clock signal operates as a bus controller (receives the bus clock signal 92). Under the control of 72, the clock signal output from the external terminal CKIO can be used as the clock signal for the synchronous operation of such an external device. As a result, the microcomputer 6 of this embodiment can facilitate access control to a clock synchronous external device such as an SDRAM. In other words, access control can be performed by directly connecting such an external device via the external bus.
[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 clock signal 3 is dynamically changed according to the control information, the clock control circuit controls the frequency of the second clock signal to be kept constant, thereby controlling the second internal circuit to which the bus controller is coupled. Unless the frequency of the second clock signal for the bus is set to a frequency corresponding to the operating speed of the external device coupled to the external bus, the internal and external bus cycles or bus operations cannot be synchronized. Can be satisfied.
[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の制御手段からの指示に基づいてクロック信号の出力を一定期間停止させる出力ゲートを備えて成るものであることを特徴とする請求項1記載のデータ処理装置。  The clock generation circuit includes an output gate that stops the output of the clock signal for a predetermined period based on an instruction from the first control means when switching the frequency of the clock signal to be output. The data processing apparatus according to claim 1. 上記第2の制御手段は、更に上記記憶手段の書換え前後における制御情報に基づいて、動作電圧を絶対値的に大きくせずにクロック信号の周波数を増大させる指示、又はクロック信号周波数を低減させずに動作電圧を絶対値的に小さくさせる指示を検出することによって、当該指示に基づくクロック発生回路及び電源回路の出力状態変更を禁止させることが可能であることを特徴とする請求項1又は2記載のデータ処理装置。 The second control means does not further increase the clock signal frequency without increasing the operating voltage in absolute value or reduce the clock signal frequency based on the control information before and after rewriting the storage means. 3. The output state change of the clock generation circuit and the power supply circuit based on the instruction can be prohibited by detecting an instruction to decrease the operating voltage in terms of absolute value. Data processing equipment. 上記回路モジュールは複数個とされ、上記記憶手段は所定の回路モジュール毎の制御情報を書換え可能に格納する複数の記憶領域を有し、
上記クロック発生回路は、上記記憶手段における複数の記憶領域の夫々の制御情報に従って個別的に対応回路モジュールに供給すべきクロック信号を選択するための選択回路を備え、
上記電源回路は、上記記憶手段における複数の記憶領域の夫々の制御情報に従って個別的に対応回路モジュールに供給すべき動作電圧を選択するための選択回路を備えて、成るものであることを特徴とする請求項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.
上記回路モジュールは中央処理装置とされる一つの回路モジュールとこの中央処理装置によってその動作が制御される別の回路モジュールとを含み、全体が1個の半導体基板に形成されたシングルチップマイクロコンピュータ化されて成るものであることを特徴とする請求項1乃至4の何れか1項記載のデータ処理装置。The circuit module includes one circuit module as a central processing unit and another circuit module whose operation is controlled by the central processing unit, and is formed into a single chip microcomputer formed entirely on one semiconductor substrate The data processing apparatus according to claim 1, wherein the data processing apparatus is configured as described above. 上記回路モジュール、記憶手段、第1の制御手段、及び第2の制御手段は1チップの半導体集積回路とされ、上記クロック発生回路及び電源回路は当該半導体集積回路の外部に設けられて成るものであることを特徴とする請求項3又は4記載のデータ処理装置。  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. 5. The data processing apparatus according to claim 3, wherein the data processing apparatus is provided. クロック信号に同期動作される中央処理装置と、A central processing unit that operates in synchronization with a clock signal;
クロック信号に同期動作される複数の回路モジュールと、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.
上記記憶手段は上記中央処理装置によってアクセスされるレジスタであることを特徴とする請求項項記載のデータ処理装置。8. A data processing apparatus according to claim 7, wherein said storage means is a register accessed by said central processing unit. クロック信号に同期動作される中央処理装置と、
クロック信号に同期して動作される回路モジュールと、
上記回路モジュールに供給するクロック信号の周波数及び上記回路モジュールに供給すべき動作電圧を指定するための制御情報が上記中央処理装置より伝達される制御部と、
上記制御情報に応じた周波数のクロック信号を上記回路モジュールに出力可能なクロック発生回路と、
上記制御情報に応じたレベルの動作電圧を上記回路モジュールに出力可能な電源回路とを有し、
上記制御部は、上記中央処理装置からの制御情報を伝達される前のクロック信号の周波数及び動作電圧と上記制御情報とを比較し、その制御情報がクロック信号の周波数を増大させ且つ動作電圧を絶対値的に小さくさせる指示である場合、上記制御情報に基づくクロック発生回路及び電源回路の出力状態の変更を禁止させることが可能であることを特徴とするデータ処理装置。
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 .
上記制御部は更に、上記クロック信号周波数を低減し且つ動作電圧を絶対値的に小さくさせる制御情報を検出したときは現在の周波数の変更に先立って動作電圧が絶対値的に小さくされる状態を阻止し、また、クロック信号周波数を増大させ且つ動作電圧を絶対値的に大きくさせる制御情報を検出したときは動作電圧の絶対値的な増大に先立って周波数の増加されたクロック信号が出力される状態を阻止して、上記クロック発生回路と電源回路の出力状態の切換えを制御することを特徴とする請求項9記載のデータ処理装置。 Further, when the control unit detects control information for reducing the clock signal frequency and reducing the operating voltage in absolute value, the control unit sets a state in which the operating voltage is reduced in absolute value prior to changing the current frequency. When the control information is detected that increases the clock signal frequency and increases the operating voltage in absolute value, the clock signal with the increased frequency is output prior to the absolute increase in operating voltage. 10. The data processing apparatus according to claim 9, wherein the data processing apparatus controls the switching of the output states of the clock generation circuit and the power supply circuit by blocking the state .
JP01862995A 1994-02-28 1995-01-10 Data processing device Expired - Fee Related JP3718251B2 (en)

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)

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

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630110A (en) * 1996-03-01 1997-05-13 Samsung Electronics Co., Ltd. Method and apparatus for enhancing performance of a processor
JPH09288527A (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

Cited By (3)

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

Also Published As

Publication number Publication date
JPH07287699A (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