(57)【特許請求の範囲】
【請求項１】
準備信号を送信しかつ、要求信号を受信するインタフェースを有し、第１命令の実行をスタートするための準備ができていることを示す前記準備信号を生成し、前記要求信号の受信に応じて前記第１命令の実行を開始する自己計時命令実行ユニットと、
準備信号に応じて前記要求信号を発生するため、前記インタフェースに結合されたシーケンスユニットと、
第１命令に先行して実行する第２命令の実行によりスタートする所定のタイムインターバルを計時し、当該タイムインターバルが経過するまで、前記命令実行ユニットに対する要求信号の送信をディスエーブルにするために前記シーケンスユニットに結合されたタイマとを有することを特徴とするデータ処理回路。
【請求項２】
請求項１に記載のデータ処理回路において、
前記シーケンスユニットが、前記第２命令の実行の開始と前記第１命令の実行を開始する要求信号の発生との間に、対応する更なる準備信号を受信すると、所定の第１の数の更なる要求信号を前記命令実行ユニットに送信するように構成され、前記シーケンスユニットが、命令実行ユニットが前記第２命令の後に実行を始める命令の数をカウントするカウンタを有し、当該カウンタが、当該命令の数である第２の数が前記所定の第１の数に到った場合に前記ディスエーブルにすることを始動させるために前記シーケンスユニットに含まれることを特徴とするデータ処理回路。
【請求項３】
請求項２に記載のデータ処理回路において、
前記第２の数及び前記所定の数がプログラム可能であることを特徴とするデータ処理回路。
【請求項４】
請求項１乃至３の何れか一項に記載のデータ処理回路において、
前記準備信号の送信と前記第１命令を実行するための前記要求信号の送信との間の遅延を計測する手段と、
前記命令実行ユニットに印加される供給電圧を制御する電圧レギュレータとを有し、前記命令の実行速度は前記供給電圧に依存し、前記計測する手段は所定の値に向けて前記遅延を調整するために前記電圧レギュレータの制御入力に結合されることを特徴とするデータ処理回路。
【請求項５】
請求項１乃至３の何れか一項に記載のデータ処理回路において、
前記タイムインターバルが前記準備信号の送信前に終結した場合に超過時間を検出する手段と、
前記命令実行ユニットに印加される供給電圧を制御する電圧レギュレータとを有し、前記命令の実行速度は前記供給電圧に依存し、前記検出する手段は前記超過時間が無くなるように調整を行うために前記電圧レギュレータの制御入力に結合されることを特徴とするデータ処理回路。
【請求項６】
請求項４に記載のデータ処理回路において、
前記準備信号の送信前に前記タイムインターバルが終結した場合に超過時間を検出する手段を有し、前記電圧レギュレータが、前記遅延がゼロよりも大きくなった場合に当該遅延の制御の下及び前記超過時間がゼロよりも大きくなった場合に前記超過時間の制御の下に前記遅延を前記所定の値に向けて調整することを特徴とするデータ処理回路。
【発明の詳細な説明】
技術分野
本発明は、本発明はデータ処理回路に関する。
背景技術
米国特許第5367638号は、自己計時素子を有する電子回路を含む回路を開示している。このような電子回路は、起動操作用の中央クロックを必要としない。そのかわりに、個々の自己計時素子は、例えば自己計時素子用のデータを生成するために、自己計時素子に先立ち動作を行うことが必要な回路から受信した自己のローカルの要求信号に応じて動作をスタートする。自己計時素子は、要求信号を受信し、そして自己計時素子の動作を必要とする場合のみ動作をスタートする。このことは、動作に必要であるか否かに関わらずクロック信号を受信する中央クロック回路素子とは対照的である。即ち、自己計時素子を有する回路は、中央クロック回路素子よりも少ない電力を消費する。
米国特許第5367638号は更に、電子回路の給電電圧を調整することで実現される電力消費、そして電力消費及び動作速度のさらなる減少について開示している。この結果、自己計時素子は、処理負荷に対処するためにちょうど間に合うように動作を完了するが、それよりも高速ではない。
米国特許第5367638号の回路は、外部クロックで規定されるようにリアルタイムでデータを受入れる及び／若しくは供給せねばならない。自己計時素子を用いてこのリアルタイム要件を満たすために、回路は、データが自己計時素子により生成される瞬間にデータを受入れ、データを一時記憶し、そして外部クロックに従って要求された瞬間にデータを出力するFIFOバッファを有する。回路の速度は、FIFOバッファがオーバーフローしないように調整される。
リアルタイム動作を実現するこの機構の利点は、データのリアルタイム生成に限定される。他のリアルタイム要件、例えば命令の幾つかが互いに対して特定の時間遅延を伴って、又は特定の平均時間遅延を伴って実行される必要のある命令（例えば、周辺機器制御命令、リフレッシュのためのDRAMへのアクセス）を持つプログラムの実行中に生じるものの様な要件は、この方法では満足させられない。
発明の開示
とりわけ、本発明は、リアルタイム要件が満足させられる自己計時命令実行ユニットを持つ回路を提供することを目的とする。
本発明は、基準信号を送信しかつ、要求信号を受信するインタフェースを有し、第１命令の実行をスタートするための準備ができていることを示す前記準備信号を生成し、前記要求信号の受信に応じて前記第１命令の実行を開始する自己計時命令実行ユニットと、準備信号に応じて前記要求信号を発生するため、前記インタフェースに結合されたシーケンスユニットと、第１命令に先行して実行する第２命令の実行によりスタートする所定のタイムインターバルを計時し、当該タイムインターバルが経過するまで、前記命令実行ユニットに対する要求信号の送信をディスエーブルにするために前記シーケンスユニットに結合されたタイマとを有することを特徴とする。即ち、リアルタイム要件は、第１及び第２命令の実行の間のタイムインターバルに課せられる。前記タイマは、前記第２の命令の実行の後前記所定のタイムインターバルが経過した後でなければ前記第１命令は実行されないことを確実にする。命令実行ユニットが十分に速ければ、第１命令は所定のタイムインターバル経過後に正確に実行されるであろう。
本発明によるデータ処理回路の更なる実施例は、前記シーケンスユニットが、前記第２命令の実行の開始と前記第１命令の実行を開始する要求信号の発生との間に、対応する更なる準備信号を受信すると、所定の第１の数の更なる要求信号を前記命令実行ユニットに送信するように構成され、前記データ処理ユニットが、命令実行ユニットが前記第２命令の後に実行を始める第２の数の命令をカウントするカウンタを有し、当該カウンタが、当該第２の数が前記所定の第１の数に到った場合に前記ディスエーブルにすることを始動させるために前記シーケンスユニットに結合されたことを特徴とする。このように、あらゆる中間命令のタイミングが全体的に自己計時され、それ故最小電力消費の点で最適化することが出来る。
本発明のデータ処理回路の更なる実施例は、第２の数及び前記所定の数がプログラム可能であることを特徴とする。かくして前記データ処理回路は、選択された命令に応じてリアルタイム要件を満足するようにプログラムされることができ、他の命令のタイミングを自己計時のために独立したものとする。
本発明によるデータ処理装置は、前記準備信号の送信と前記第１命令を実行するための要求信号の送信との間の遅延を計測する手段と、前記命令実行ユニットに印加される供給電圧を制御する電圧レギュレータとを有し、前記命令の実行速度は前記供給電圧に依存し、前記計測する手段は所定の値に向けて前記遅延を調整するために前記電圧レギュレータの制御入力に結合されることを特徴とする。
本発明によるデータ処理回路は同様に、前記タイムインターバルが前記準備信号の送信前に終結した場合に超過時間を検出する手段と、前記命令実行ユニットに印加される供給電圧を制御する電圧レギュレータとを有し、前記命令の実行速度は前記供給電圧に依存し、前記検出する手段は前記超過時間が無くなるように調整を行うために前記電圧レギュレータの制御入力に結合されることを特徴とする。即ち、電力消費を第１及び第２命令の間のリアルタイム要求に適合する最小限度にまで低減できる。更に調整は、第１及び第２命令の実行の間の時間遅延を変更することなく実現できる（調整の間に必要な以上に処理速度が速い場合）。従来技術に比べて、電力供給の調整のために必要とされるデータ流を規定する必要なく、それ故電力供給の調整を、データ処理回路により実行されるアプリケーションプログラムの知識無しで提供できる。
本発明によるデータ処理システムのこれらの及び他の有利な態様は、図を用いて以下の説明より明らかとなるであろう。
【図面の簡単な説明】
第１図は、本発明に係るデータ処理回路の実施例を示す図である。
第２図は、データ処理ユニット用のシーケンスユニットを示す図である。
第３図は、本発明に係るデータ処理回路の更なる実施例を示す図である。
発明を実施するための最良の形態
第１図にデータ処理回路を示す。この回路は、自己計時処理ユニット１０、シーケンスユニット１２、そしてタイマ１４を有する。処理ユニット１０のRDY出力（処理ユニットレディ）は、シーケンスユニット１２の入力に結合されている。シーケンスユニット１２の出力は、処理ユニットの実行要求入力（REQ）に結合されている。シーケンスユニット１２の出力は同様に、タイマ１４の入力に結合されている。タイマ１４の出力は、シーケンスユニット１２の更なる入力に結合されている。
処理ユニット１０の関連する特徴のみ示されている。実際には、処理ユニットは、機械命令を含むプログラムを格納するメモリ（図示せず）、データ用のメモリ（図示せず）、演算ユニットやレジスタ等（図示せず）を含む種々のＩ／Ｏを備えても良い。しかしながら、これらの素子は、無くても若しくは演算ユニット１０の周辺に設けられても良い。
動作時、処理ユニット１０は、連続する命令を次々に実行に移すであろう。この処理ユニット１０は、自己計時モード（非同期）で動作可能である。操作回路のこのような自己計時モードは既知である。この自己計時モードにおいて、REQ入力において要求信号を受信すると、処理ユニット１０が自己計時形態で命令の実行をスタートするであろう。即ち、処理ユニット１０の幾つかの初期段階は、命令の幾つかの初期処理を実行し、そして初期処理が利用可能である結果、初期部分が、これらの結果を使用する処理ユニット１０の次の段階に内部REQ信号を発生するであろう。これら続く段階は、処理等をスタートするであろう。中央クロックは、初期部分及び従属部分の同期のために使用されない。
命令の処理が十分に後に進むと、処理ユニットは、次の命令の実行をスタート出来る。この処理ユニット１０は、処理ユニット１０のRDY出力上においてRDY信号によりこのことを示すであろう。RDY信号は、例えば、処理ユニット１０の全ての部分が自身のレディ信号を発生した場合に生成されても良い。代替としては、処理ユニット１０のRDY信号は、少なくとも次の命令の実行開始により中断されるであろう処理ユニットの部分が自身のRDY信号を発生した場合に生成される。これは、パイプライン処理を実現する。本発明の目的のため、命令実行のいずれの部分のRDY／REQハンドシェークが、当該部分が各命令内に発生する限り、使用されても良い。前記処理ユニットがそのRDY信号を生成する時点は、処理ユニットの回路の速度及び命令の種類により決定される。自己計時処理ユニット１０において、前記時点は、中央クロックによっては規定されない。
シーケンスユニット１２は、処理ユニット１０用のREQ信号を発生する。このREQ信号は同様に、タイムインターバルを開始するためにタイマ１４に導かれる。このシーケンスユニット１２は、処理ユニット１０のRDY出力及びタイマ出力に結合された入力を有する。シーケンスユニット１２は、タイマ１４がタイムインターバルの経過を示した後にのみ、処理ユニット１０のRDY出力から受信したRDY信号を処理ユニット用の新たなREQ信号に変換する。原理的に、シーケンスユニットは、要求信号とタイムインターバルの経過を示す信号とのアンド演算を行うアンドゲートにより実装されることが出来る。
第２図は、本発明によるデータ処理回路で使用するシーケンスユニットを示す。シーケンスユニットは、カウンタ２０及びアンドゲート２２を含む。カウンタ２０は、プリロード（preload）値用の入力と、ロード信号用の入力と、カウント入力とを有する。カウンタ２０は、アンドゲート２２の入力に結合されたカウント出力を有する。データ処理回路において、処理ユニット１０のRDY出力は、アンドゲート２２の更なる入力に結合される。アンドゲート２２の出力は、処理ユニット１０のREQ入力に結合される。アンドゲート２２の出力は同様に、カウンタ２０のカウント入力に結合される。タイマ１４は、カウンタ２０のロード信号用の入力に結合される。
動作中、プリロード値がカウンタ２０のプリロード値用の入力に供給される。このプリロード値は、例えば、処理ユニット１０により実行される命令の制御の基で選択される。プリロード値は、データ処理回路が使用される装置の仕様に応じて、外部で設定される若しくは製造時に固定されても良い。プリロード値はカウンタにロードされる。カウンタ２０がプリロード値を含むと、カウント出力は、論理ハイになり、そしてアンドゲート２２が処理ユニット１０のREQ入力にRDY信号を通過させる。RDY信号が通過される度に、この信号はカウンタ２０のカウント入力に供給され、カウンタ２０でカウント値の更新を生じる。
多数の更新が発生した場合、カウンタ２０は、カウンタ２０の出力が論理ローになるようなカウント値に到る。この結果、アンドゲート２２は、更なるRDY信号の処理ユニット１０のREQ入力への通過を阻止するであろう。通過前の必要とした数の更新は、プリロード値に基づいて阻止される。幾らかの時間経過の後、タイマ１４は、時間インターバルの終りを信号で示すであろう。このことは、プリロード値がカウンタ２０にロードされることを可能とし、その結果アンドゲート２２が処理ユニット１０のREQ入力へRDY信号を通過させることを可能とする。かくして、シーケンスユニットは、処理ユニット１０がタイムインターバルの間、所定の数の命令よりも多くない実行を開始することを確実にする。
第３図に本発明による更なるデータ処理回路を示す。この回路は、処理ユニット３０、シーケンスユニット３２、そしてタイマ３４を含む。タイマ３４は、クロックオシレータ３４０及びタイムインターバルカウンタ３４２を含む。クロック回路３４０は、タイムインターバルカウンタ３４２のカウント入力に結合され、タイムインターバルカウンタ３４２のカウント出力はタイマの出力である。タイムインターバルカウンタ３４２のカウント出力は同様にタイムインターバルカウンタ３４２のプリロード入力に結合されている。
更に、データ処理回路は、処理ユニット３０の供給電圧入力に結合された調整された供給電圧出力を持つ供給電圧レギュレータ３６を有する。シーケンスユニット３２は、供給電圧レギュレータ３６の第１入力に結合されたウェイト出力を有する。タイマ３４のタイムインターバルカウンタ３４２のカウント値出力は、供給電圧レギュレータの第２入力に結合されている。
動作中、タイマ３４中のタイムインターバルカウンタ３４２は、クロックオシレータ３４０の周期の倍数にタイムインターバルを設定するように働く。タイムインターバルカウンタ３４２のカウント出力は、タイムインターバルカウンタ３４２のカウント値が所定の値（例えばゼロ）に到った場合、出力信号を生成する。タイムインターバルカウンタ３４２の出力信号は、処理ユニット３０からREQ入力へのRDY信号の通過を許容するために、シーケンスユニット３２により使用される。タイムインターバルカウンタ３４２の出力信号はまた、タイムインターバルカウンタ３４２に新たなカウント値をロードさせる。この新たなカウント値は、処理ユニット３０により実行される命令により望ましくは設定される。この結果、タイムインターバルは、実行されるプログラムの要求に応じて命令の実行中に設定されるであろう。この新たなカウント値は、データ処理回路が使用される装置の仕様要求によって、外部で設定される若しくは製造中に固定されても良い。正確に言うと、新たなカウント値は、例えばカウンタ用のプリロード信号としてREQ信号と出力信号との論理和を使用して、REQ信号がタイムインターバルカウンタ３４２の出力信号に応じて発生されたときにロードされるべきである。しかしながら実際は、REQ信号が通常はタイマ３４の出力信号に即座に追従するため、出力信号のみが使用された場合でもわずかな差しかもたらさない。
シーケンスユニット３２がタイマ３４からの信号を待っている場合を除いて、シーケンスユニット３２が、処理ユニット３０に対するREQ信号の生成の準備が完了した場合、ウェイト出力においてWAIT信号を発生する（第２図のシーケンスユニットにおいて、例えばこの信号は、シーケンスユニット中のカウンタ２０の出力から導出されても良い）。この信号に応じて、供給電圧レギュレータ３６はタイムインターバルカウンタ３４２のカウント値をサンプリングする。サンプリングされた値は、処理ユニット３０の供給電圧の制御に利用される（例えば、図示しないDC-DCコンバータを使用して若しくは供給電圧コンデンサ（図示されていない）に供給される電流のパルス幅を変調することによって）。タイマ３４の出力がシーケンスユニット３２にREQが送出されたことを信号で示した後のみに、処理ユニットがREQ信号の発生を行う場合、遅延信号を発生しても良い。この遅延信号は、REQ信号が前記信号送出後に発生される場合、供給電圧を制御するため、付加的に使用されても良い。
供給電圧の変更は、処理ユニット３０による命令実行の速度変化をもたらす。一般に、処理ユニット３０は、供給電圧が下げられるとより低速になる。その結果、処理ユニット３０は、対応するREQ信号後のより大きな遅延を持つRDY信号を生成するであろう。このことはその結果、タイムインターバルカウンタ３４２のカウント値がサンプリングされるとき、該カウント値における残りの量に影響を与える。
供給電圧レギュレータ３６は、例えばフィードバック調整により設定値に向けて当該残りの量を調整するために処理ユニット３０の供給電圧の変化を使用するであろう。
かくして、処理ユニット３０の供給電圧は、所定の速度の達成に要求される最小値に適応する。処理ユニットにより消費される電力は、供給電圧の二乗に一般的に比例し、このことはかなりの電力の節約に帰着する。調整の間、シーケンスユニット３２が所定数の命令がタイムインターバルの間に実行されることを確実にするため、電力供給電圧が変化しても、単位時間当りに実行される命令の平均数は変化しないであろう。
【図１】
0003794712.tif 000002
【図２】
0003794712.tif 000003
【図３】
0003794712.tif 000004