(57)【特許請求の範囲】
【請求項１】
ラッチ信号により入力信号をラッチして演算し、該演算された信号を出力イネーブル信号により出力する演算手段と、
前記ラッチ信号を出力し、時間制御信号に従って所定時間経過後に前記出力イネーブル信号を出力することにより、自分の出力する前記ラッチ信号と前記出力イネーブル信号間の時間間隔を制御して前記演算手段の演算時間を制御する演算時間制御手段と、
前記演算手段の入力信号のビット値が変化したときのロジック遷移をビット別に検出すると共に、該ビット別ロジック遷移の個数を検出してロジック遷移検出信号を出力するロジック遷移検出手段と、
該ロジック遷移検出手段から出力されたロジック遷移検出信号及びロジック遷移の個数のグループ分け用の遷移ビット選択信号に基づいて時間制御信号を設定し、該時間制御信号を出力する時間制御信号出力手段と、
を備え、
入力信号のロジック遷移の個数に従って演算時間を可変し得るように構成されたことを特徴とする演算装置。
【請求項２】
前記演算手段は、複数の演算部を備えたことを特徴とする請求項１記載の演算装置。
【請求項３】
前記ロジック遷移検出手段は、入力信号の以前値を記憶する第１記憶手段と、前記入力信号の現在値を記憶する第２記憶手段と、前記以前値と現在値とを比較する比較手段と、を備えたことを特徴とする請求項１又は請求項２に記載の演算装置。
【請求項４】
前記第２記憶手段は第１フリップフロップによって構成され、前記第２記憶手段は第２フリップフロップによって構成され、前記比較手段は排他的ＯＲゲートによって構成されたことを特徴とする請求項３記載の演算装置。
【請求項５】
前記時間制御信号出力手段は、ゲート端子に印加されたクロック信号の制御により一方の端子に印加された電源電圧を他方の端子に伝達するＰＭＯＳトランジスタと、
該ＰＭＯＳトランジスタの他方の端子と接地間に配置され、複数の並列パスを形成し、ゲート端子に前記ロジック遷移検出信号が入力される複数のＮＭＯＳトランジスタと、
前記遷移ビット選択信号とＰＭＯＳトランジスタの他方の端子から出力された信号とを否定論理積するＮＡＮＤゲートと、
を備えて構成されたことを特徴とする請求項１〜請求項４のいずれか１つに記載の演算装置。
【請求項６】
前記時間制御信号出力手段は、
クロック信号と前記ロジック遷移検出信号との論理積演算を行うＡＮＤゲートと、該ＡＮＤゲートの出力と前記遷移ビット選択信号とを論理和するＯＲゲートと、を備えて構成されたことを特徴とする請求項１〜請求項４のいずれか１つに記載の演算装置。
【請求項７】
ラッチ信号により入力信号をラッチして演算する段階と、
ラッチした入力信号のビット値が変化したか否かをビット別に検出すると共に、ビット値が変化したときのビット別ロジック遷移の個数を検出してロジック遷移検出信号を出力する段階と、
該ロジック遷移検出信号及びロジック遷移の個数のグループ分け用の遷移ビット選択信号に基づいて時間制御信号を設定し、該時間制御信号を出力する段階と、
該時間制御信号に従ってラッチ信号と出力イネーブル信号間の時間間隔を可変的に制御する段階と、
前記演算された入力信号を前記出力イネーブル信号により出力する段階と、
を順次行うことにより、検出されたロジック遷移の個数に従って演算時間を可変することを特徴とする演算装置制御方法。
【請求項８】
入力信号のロジック遷移が発生したとき、該当ビットの前記ロジック遷移検出信号をハイ状態に設定し、ロジック遷移が発生しなかったときは、該当ビットのロジック遷移検出信号をロー状態に設定することを特徴とする請求項７記載の演算装置制御方法。
【請求項９】
前記時間制御信号は、前記ロジック遷移検出信号中、ロジック遷移が発生したことを示す’１’のビット個数が前記遷移ビット選択信号により既に設定された所定値以上であるときにはハイ状態の値を有し、前記ビット個数が既に設定された所定値未満であるときは、ロー状態の値を有することを特徴とする請求項７又は請求項８記載の演算装置制御方法。
【請求項１０】
前記ロジック遷移の個数のグループ数は、前記遷移ビット選択信号によって設定されたビット数に比例することを特徴とする請求項７〜請求項９のいずれか１つに記載の演算装置制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータの演算装置及びその制御方法に係るもので、特に、入力信号のビット別ロジック遷移を検出し、該検出されたロジック遷移の個数に従って演算時間を可変し得る演算装置及びその制御方法に関する。
【０００２】
【従来の技術】
一般に、演算装置は、ディジタルコンピュータの中央処理装置に用いられ、加減乗除の減算を行う装置であって、かかる演算装置では、演算時間を短縮するか又は演算時間の高速化を図るため、複数の演算装置を並列に動作させるか又は演算のパイプライン制御を行うようになっている。
【０００３】
従来の演算装置を図６に示す。
従来の演算装置においては、入力信号Ｖｉｎを受けて第１演算を行う第１演算部１０と、該第１演算部１０からの出力信号Ｖ０１を受けて第２演算を行う第２演算部２０と、外部の制御信号ＣＴＬ及びクロック信号ＣＬＫを受けて前記第１演算部１０に第１ラッチ信号ＶＬ１及び出力イネーブル信号ＯＥＮ１を出力し、前記第２演算部２０に第２ラッチ信号ＶＬ２及び第２出力信号ＯＥＮ２を夫々出力して演算機能を制御する制御部３０と、から構成されていた。
【０００４】
このような従来の演算装置の動作について説明する。
先ず、入力信号Ｖｉｎが第１演算部１０に入力されると、制御信号ＣＴＬによりイネーブルされた制御部３０は、クロックＣＬＫを計数して第１ラッチ信号ＶＬ１及び第１出力イネーブル信号ＯＥＮ１を第１演算部１０に出力し、第２ラッチ信号ＶＬ２及び第２出力イネーブル信号ＯＥＮ２を第２演算部に夫々出力する。
【０００５】
次いで、前記第１演算部１０は、前記入力信号Ｖｉｎをラッチして演算し、前記制御部３０からの第１出力イネーブル信号ＯＥＮ１により演算された信号Ｖ０１を第２演算部２０に出力する。且つ、第２演算部２０は、前記制御部３０からの第２ラッチ信号ＶＬ２を受けて第１演算部１０から出力された演算信号Ｖ０１をラッチして演算し、前記制御部３０からの第２出力イネーブル信号ＯＥＮ２により演算信号Ｖ０２を出力する。
【０００６】
クロック信号ＣＬＫは、前記制御部３０が第１、第２ラッチ信号ＶＬ１、ＶＬ２及び第１、第２出力イネーブル信号ＯＥＮ１、ＯＥＮ２のタイミングを夫々制御するときに用いられる。
即ち、制御信号ＣＴＬによりイネーブルされた制御部３０は、図７（Ａ）に示すように、クロックＣＬＫを計数して、図７（Ｂ）、（Ｆ）に示すような第１、第２ラッチ信号ＶＬ１、ＶＬ２、及び図７（Ｃ）に示すような第１出力イネーブル信号ＯＥＮ１を前記第１、第２演算部１０、２０に夫々出力し、図７（Ｃ）（Ｆ）に示すように、前記第１出力イネーブル信号ＯＥＮ１と第２ラッチ信号ＶＬ２とは同時にイネーブルされ、図７（Ｄ）に示すように、入力信号Ｖｉｎも前記第１ラッチ信号ＶＬ１と同時にイネーブルされるようになる。
【０００７】
その後、前記第１演算部１０は、前記第１ラッチ信号ＶＬ１によりラッチされた入力信号Ｖｉｎを演算し、前記第１出力イネーブル信号ＯＥＮ１により、図７（Ｅ）に示すような出力信号Ｖ０１を第２演算部２０に出力する。
次いで、第２演算部２０は、前記第２ラッチ信号ＶＬ２によりラッチされた第１演算部１０からの出力信号Ｖ０１を演算し、前記第２出力イネーブル信号ＯＥＮ２により出力信号Ｖ０２を出力する。図７（Ｇ）は例示的ビット値を有する入力信号Ｖｉｎを示したものである。
【０００８】
一方、前記第１演算部１０の動作時、前記クロックＣＬＫの１周期を’１Ｔ’とすれば、前記入力信号Ｖｉｎが第１ラッチ信号ＶＬ１によりラッチされた時点から、第１出力イネーブル信号ＯＥＮ１により演算された信号Ｖ０１が出力されるまで掛かる時間は’３Ｔ’となる。即ち、第１ラッチ信号ＶＬ１が発生した後、’３Ｔ’の時間が過ぎたとき、第１出力イネーブル信号ＯＥＮ１が発生する。この時間’３Ｔ’は、第１演算部１０が演算を行うため必要な時間であって、前記制御部３０の入力信号の制御信号ＣＴＬとクロックＣＬＫとにより決定される。
【０００９】
この時、入力信号Ｖｉｎがｎ個のビット単位（例えば、４ビット）に第１演算部１０に入力された場合、該第１演算部１０が前記ｎビットの入力信号Ｖｉｎを演算するに掛かる時間は、入力信号Ｖｉｎのビット別ロジック遷移の個数に比例するため、図７（Ｇ）に示すように、入力信号Ｖｉｎが’００００’から’１１１１’に変わると、入力信号のビット別ロジック遷移個数は’４個’となり、入力信号Ｖｉｎが’１１１１’から’１０１１’に変わると、入力信号のビット別ロジック遷移の個数は’１’値となる。この場合、ビット別ロジック遷移とは、各ビットがロジックロー状態からロジックハイ状態に、又はロジックハイ状態からロジックロー状態に変わることをいう。
【００１０】
このように、第１演算部１０が入力信号Ｖｉｎを演算するときに掛かる時間は、ビット別ロジック遷移の個数に比例するが、従来は、前記第１演算部１０の演算時間がビット別ロジック遷移の個数に拘わりなく’３Ｔ’に固定されており、次の表１に示したようであった。
【００１１】
【表１】
0003652032.tif 000002
【００１２】
即ち、表１に示すように、入力信号のビット別ロジック遷移の個数が０、１、２個である場合、実際演算時間が’２Ｔ’であるにも拘わらず、第１ラッチ信号ＶＬ１と第１出力イネーブル信号ＯＥＮ１とにより与えられる時間は’３Ｔ’である。且つ、このように演算時間を’３Ｔ’に固定した理由は、若し、演算時間を’２Ｔ’に固定すると’３Ｔ’時間掛かる演算を行うことができないためであって、表１に示すように、演算時間’２Ｔ’及び’３Ｔ’の場合、最も長い時間の’３Ｔ’に固定すべきだからである。
【００１３】
【発明が解決しようとする課題】
然るに、従来の演算装置においては、演算時間が入力信号のビット別ロジック遷移の個数に拘わりなく最も長い演算時間に固定され、入力信号に対する実際演算時間が’３Ｔ’未満である場合、演算された信号は’３Ｔ’の時間が経過するまで待機状態が維持されるため、時間の浪費が発生して全体的システムの演算時間が永く掛かるという不都合な点があった。且つ、従来の演算装置は、演算時間が固定されているため、適用システムに従い、演算時間を可変的に減らし得ないという不都合な点があった。
【００１４】
本発明はこのような従来の課題に鑑みてなされたもので、入力信号のビット別ロジック遷移の個数を用いて演算時間を可変し得る演算装置及びその制御方法を提供することを目的とする。
【００１５】
【課題を解決するための手段】
このため、請求項１の発明に係る演算装置は、ラッチ信号により入力信号をラッチして演算し、該演算された信号を出力イネーブル信号により出力する演算手段と、前記ラッチ信号を出力し、時間制御信号に従って所定時間経過後に前記出力イネーブル信号を出力することにより、自分の出力する前記ラッチ信号と前記出力イネーブル信号間の時間間隔を制御して前記演算手段の演算時間を制御する演算時間制御手段と、前記演算手段の入力信号のビット値が変化したときのロジック遷移をビット別に検出すると共に、該ビット別ロジック遷移の個数を検出してロジック遷移検出信号を出力するロジック遷移検出手段と、該ロジック遷移検出手段から出力されたロジック遷移検出信号及びロジック遷移の個数のグループ分け用の遷移ビット選択信号に基づいて時間制御信号を設定し、該時間制御信号を出力する時間制御信号出力手段と、を備え、入力信号のロジック遷移の個数に従って演算時間を可変し得るように構成されている。
【００１６】
かかる構成によれば、入力信号はラッチ信号により演算手段にラッチされ、演算される。ロジック遷移が発生したとき、即ち、演算手段の入力信号のビット値が変化したとき、そのロジック遷移はロジック遷移検出手段によりビット別に検出され、その個数も検出され、ロジック遷移検出信号が出力される。ロジック遷移ビット検出信号及び遷移ビット選択信号に基づいて時間制御信号出力手段によりロジック遷移の個数のグループ分けが行われ、時間制御信号が設定されて出力される。この時間制御信号に基づいて、ラッチ信号を出力してから出力イネーブル信号を出力するまでの時間間隔が演算時間制御手段により設定され、所定時間経過後に出力イネーブル信号が出力され、この信号が出力されたときに演算手段により演算された入力信号が出力される。従って、前記時間間隔は入力信号のロジック遷移の個数に応じて可変し、それに応じて演算時間も可変する。
【００１７】
請求項２の発明に係る演算装置では、前記演算手段は、複数の演算部を備えている。
かかる構成によれば、各演算部において、同じような制御の下に演算が行われる。
請求項３の発明にかかる演算装置では、前記ロジック遷移検出手段は、入力信号の以前値を記憶する第１記憶手段と、前記入力信号の現在値を記憶する第２記憶手段と、前記以前値と現在値とを比較する比較手段と、を備えている。
【００１８】
かかる構成によれば、入力信号の以前値は第１記憶手段に記憶され、入力信号の現在値は、第２記憶手段に入力され、比較手段によって以前値と現在値とは比較される。これにより、ロジック遷移が検出される。
請求項４の発明に係る演算装置では、前記第２記憶手段は第１フリップフロップによって構成され、前記第２記憶手段は第２フリップフロップによって構成され、前記比較手段は排他的ＯＲゲートによって構成されている。
【００１９】
かかる構成によれば、第１フリップフロップによって入力信号の現在値が記憶され、第２フリップフロップにより入力信号の以前値が記憶され、排他的ＯＲゲートによって入力信号の現在値と以前値とが比較される。
請求項５の発明に係る演算装置では、前記時間制御信号出力手段は、ゲート端子に印加されたクロック信号の制御により一方の端子に印加された電源電圧を他方の端子に伝達するＰＭＯＳトランジスタと、該ＰＭＯＳトランジスタの他方の端子と接地間に配置され、複数の並列パスを形成し、ゲート端子に前記ロジック遷移検出信号が入力される複数のＮＭＯＳトランジスタと、  前記遷移ビット選択信号とＰＭＯＳトランジスタの他方の端子から出力された信号とを否定論理積するＮＡＮＤゲートと、を備えて構成されている。
【００２０】
かかる構成によれば、ゲート端子に印加されたクロック信号の制御によりＰＭＯＳトランジスタがターンオンしたときは、ＰＭＯＳトランジスタの一方の端子に印加された電源電圧は他方の端子に伝達される。また、ロジック遷移が検出されたときは、ＮＭＯＳトランジスタのゲート端子に入力されたロジック遷移検出信号により、そのトランジスタはターンオンし、ＰＭＯＳトランジスタのドレイン端子の電位がロー状態となり、このロー状態の値と遷移ビット選択信号とがＮＡＮＤゲートにより否定論理積されて時間制御信号が出力される。
【００２１】
請求項６の発明に係る演算装置では、前記時間制御信号出力手段は、クロック信号と前記ロジック遷移検出信号との論理積演算を行うＡＮＤゲートと、該ＡＮＤゲートの出力と前記遷移ビット選択信号とを論理和するＯＲゲートと、を備えて構成されている。
かかる構成によれば、ロジック遷移ビット検出信号と遷移ビット選択信号とに基づいて時間制御信号が設定される。
【００２２】
請求項７の発明に係る演算装置制御方法は、ラッチ信号により入力信号をラッチして演算する段階と、ラッチした入力信号のビット値が変化したか否かをビット別に検出すると共に、ビット値が変化したときのビット別ロジック遷移の個数を検出してロジック遷移検出信号を出力する段階と、該ロジック遷移検出信号及びロジック遷移の個数のグループ分け用の遷移ビット選択信号に基づいて時間制御信号を設定し、該時間制御信号を出力する段階と、該時間制御信号に従ってラッチ信号と出力イネーブル信号間の時間間隔を可変的に制御する段階と、前記演算された入力信号を前記出力イネーブル信号により出力する段階と、を順次行うことにより、検出されたロジック遷移の個数に従って演算時間を可変する方法である。
【００２３】
かかる構成によれば、ラッチ信号により入力信号がラッチされて演算される。ラッチした入力信号のビット値の変化が検出されたとき、ロジック遷移検出信号が出力される。このロジック遷移検出信号が出力されたとき、遷移ビット選択信号によりロジック遷移の個数に応じてグループ分けされ、時間制御信号が設定されて出力される。この時間制御信号に従ってラッチ信号と出力イネーブル信号間の時間間隔が可変的に制御され、この時間間隔に基づいて出力イネーブル信号が出力される。この出力イネーブル信号の出力により、演算された入力信号が出力される。
【００２４】
請求項８の発明に係る演算装置制御方法では、入力信号のロジック遷移が発生したとき、該当ビットの前記ロジック遷移検出信号をハイ状態に設定し、ロジック遷移が発生しなかったときは、該当ビットのロジック遷移検出信号をロー状態に設定する。
かかる構成によれば、ロジック遷移検出信号がローかハイかによってロジック遷移が発生したか否かが判別される。
【００２５】
請求項９の発明に係る演算装置制御方法では、前記時間制御信号は、前記ロジック遷移検出信号中、ロジック遷移が発生したことを示す’１’のビット個数が前記遷移ビット選択信号により既に設定された所定値以上であるときにはハイ状態の値を有し、前記ビット個数が既に設定された所定値未満であるときは、ロー状態の値を有する。
【００２６】
かかる構成によれば、ロジック遷移検出信号中、ロジック遷移が発生したことを示す’１’のビット個数と遷移ビット選択信号の値とを比較することにより、ロジック遷移の個数のグループ分けが行われる。
請求項10の発明に係る演算装置制御方法では、前記ロジック遷移の個数のグループ数は、前記遷移ビット選択信号によって設定されたビット数に比例する。
【００２７】
かかる構成によれば、遷移ビット選択信号を小さくしたときは、ロジック遷移の個数のグループ数が小さくなり、演算時間は粗く可変され、遷移ビット選択信号を大きくしたときは、ロジック遷移の個数のグループ数が多くなり、演算時間はきめ細かく可変する。
【００２８】
【発明の実施の形態】
以下、本発明の実施の形態を図１〜図５を用いて説明する。
本発明に係る演算装置においては、図１に示すように、入力信号Ｖｉｎのビット別ロジック遷移を検出しロジック遷移検出信号Ｖｐを出力するロジック遷移検出手段としてのロジック遷移検出部４００と、該ロジック遷移検出部４００からのロジック遷移検出信号Ｖｐを受けて外部から印加する遷移ビット選択信号ＳＢｉの値により時間制御信号Ｖｓを出力する時間制御信号出力手段としての信号発生部５００と、該信号発生部５００からの時間制御信号Ｖｓの値及び外部制御信号ＣＴＬにより第１、第２ラッチ信号ＶＬ１、ＶＬ２、及び第１、第２出力イネーブル信号ＯＥＮ１、ＯＥＮ２を夫々出力する演算時間制御手段としての制御部３００と、該制御部３００から出力された第１ラッチ信号ＶＬ１により入力信号Ｖｉｎをラッチして演算し、該演算された演算信号Ｖ０１を前記第１出力イネーブル信号ＯＥＮ１により出力する演算手段としての第１演算部１００と、前記制御部３００からの第２ラッチ信号ＶＬ２により前記第１演算部１００からの演算信号Ｖ０１をラッチして演算し出力する演算手段としての第２演算部２００と、により構成され、前記制御部３００、ロジック遷移検出部４００、及び信号発生部５００にはクロックＣＬＫが印加されて基準信号として用いられ、前記制御部３００の第１ラッチ信号ＶＬ１は、ロジック遷移検出部４００に印加してロジック遷移検出に用いられるようになっている。
【００２９】
且つ、前記ロジック遷移検出部４００においては、図２（Ａ）に示すように、入力信号以前の値を記憶する第１記憶手段としての第１フリップフロップ４００と、現在の値を記憶する第２記憶手段としての第２フリップフロップ４２０と、前記以前値と現在値とを比較する比較手段としての排他的ＯＲゲート４３０と、を備え、前記第１、第２フリップフロップ４１０、４２０には前記第１ラッチ信号ＶＬ１とインバータ４４０により反転されたクロックＣＬＫとがＡＮＤゲート４５０で論理積させた後、夫々印加されるように構成されている。
【００３０】
このとき、前記ロジック遷移検出部４００の入力信号Ｖｉｎが４ビット（Ｖｉｎ〜Ｖｉｎ３）である場合、図２（Ｂ）に示すように、図２（Ａ）に示すような回路が４個接続されて構成される。
又、前記信号発生部５００においては、図３に示すように、入力されるロジック遷移検出信号Ｖｐが４ビット（Ｖｐ０〜Ｖｐ３）である場合、ソース端子に電源電圧Ｖｃｃが印加し、ゲート端子にクロック信号ＣＬＫが印加するＰＭＯＳトランジスタＰＭ１１と、該ＰＭＯＳトランジスタＰＭ１１のドレイン端子と接地間に順次接続された各ＮＭＯＳトランジスタＮＭ１１〜ＮＭ１４、ＮＭ２１〜ＮＭ２３，ＮＭ３１〜ＮＭ３３、ＮＭ４１〜ＮＭ４３、ＮＭ５１〜ＮＭ５３と、ＰＭＯＳトランジスタＰＭ１１のドレイン端子から出力された信号と遷移ビット選択信号ＳＢｉとを否定論理積するＮＡＮＤゲートＮＡ１と、を備え、ＮＭＯＳトランジスタＮＭ１１、ＮＭ２１、ＮＭ３１、ＮＭ４１の各ゲート端子には、ロジック遷移検出信号Ｖｐの第１ビット信号Ｖｐ０が印加され、ＮＭＯＳトランジスタＮＭ１２、ＮＭ２２、ＮＭ４２、ＮＭ５１の各ゲート端子には、ロジック遷移検出信号Ｖｐの第２ビット信号Ｖｐ１が印加され、ＮＭＯＳトランジスタＮＭ１３、ＮＭ２３、ＮＭ３２、ＮＭ５２の各ゲート端子には、ロジック遷移検出信号Ｖｐの第３ビット信号Ｖｐ２が印加され、ＮＭＯＳトランジスタＮＭ１４、ＮＭ３３、ＮＭ４３、ＮＭ５３の各ゲート端子には、ロジック遷移検出信号Ｖｐの第４ビット信号Ｖｐ３が印加される。
【００３１】
尚、図示しないが、この信号発生部５００を、ロジック遷移検出部４００の出力信号Ｖｐを論理積する複数のＡＮＤゲートと、これらの複数のＡＮＤゲートからの出力と遷移ビット信号ＳＢ１とを論理和する複数のＯＲゲートと、により構成することもできる。
このように構成された本発明の演算装置の動作について説明する。
【００３２】
尚、第１演算部１００、第２演算部２００、及び制御部３００の動作は、従来と同様であるので、ここでは、詳しい説明を省略する。
先ず、第１演算部１００に印加された入力信号Ｖｉｎと外部から入力されたクロックＣＬＫとが、夫々、ロジック遷移検出部４００に入力される。すると、該ロジック遷移検出部４００は、入力信号Ｖｉｎのビット別ロジック遷移を検出し、そのロジック遷移検出信号Ｖｐを信号発生部５００に出力する。
【００３３】
即ち、ロジック遷移検出部４００は、入力信号Ｖｉｎの各ビットを以前の入力信号と比べてロジック遷移の発生可否を検出し、その検出結果に従ってロジック遷移検出信号Ｖｐを出力する。この時、ロジック遷移検出信号Ｖｐは、入力信号Ｖｉｎと同じビット数で出力される。入力信号Ｖｉｎ中の何れか一つのビットにおいてロジック遷移が発生したときは、該当のロジック遷移検出信号Ｖｐのビットはハイ状態となり、ロジック遷移が発生しないときは、該当のロジック検出信号Ｖｐのビットはロー状態となる。例えば、入力信号Ｖｉｎが４ビットのＶｉｎ０〜Ｖｉｎ３であると、ロジック遷移検出信号Ｖｐも４ビット（Ｖｐ０〜Ｖｐ３）となる。
【００３４】
さらに詳しく説明すると、図２（Ａ）に示すように、第２フリップフロップ４２０の一方の入力端子Ｄに前記入力信号Ｖｉｎ０が印加され、他方の入力端子ＣにＡＮＤゲート４５０からの出力信号が印加されて、この他方の入力端子Ｃに印加されたＡＮＤゲート４５０からの出力信号がハイ状態となったとき、一方の入力端子Ｄに印加された入力信号Ｖｉｎ０が出力端子Ｑを通って出力される。
【００３５】
次いで、第２フリップフロップ４２０からの出力信号は、第２フロップフロップ４１０の一方の入力端子Ｄ及びＮＯＲゲート４３０の一方の入力端子に夫々印加され、第１フリップフロップ４１０の他方の入力端子Ｃには、ＡＮＤゲート４５０からの出力信号が印加される。この他方の入力端子Ｃに印加されたＡＮＤゲート４５０からの出力信号がハイ状態となったとき、第１フロップフロップ４１０の一方の入力端子Ｄに印加された信号は出力端子Ｑを通って出力される。
【００３６】
その後、第１フリップフロップ４１０からの出力信号は、排他的ＯＲゲート４３０の他方の端子に印加され、排他的ＯＲゲート４３０は、第１、第２フリップフロップ４１０、４２０からの各出力信号について、排他的論理和演算を行ってロジック遷移検出信号Ｖｐを出力する。
例えば、Ａビットの入力信号が第２フリップフロップ４２０を通って出力されたとき、このＡビットは、第１フリップフロップ４１０と排他的ＯＲゲート４３０との一方の入力端子に夫々印加され、Ｂビットの入力信号が第２フリップフロップ４２０を通って出力される。Ａビットは第１フリップフロップ４１０を通って出力され、排他的ＯＲゲート４３０に印加される。同時に、第２フリップフロップ４２０を通って出力されたＢビットの信号は排他的ＯＲゲート４３０に印加され、この排他的ＯＲゲート４３０は、以前信号のＡビットと現在信号のＢビットとを排他的論理和する。
【００３７】
このとき、入力信号からロジック遷移が発生した場合、即ち、Ａビットが’０’でＢビットが’１’であるか、Ａビットが’１’でＢビットが’０’であるとき、排他的ＯＲゲート４３０は、ハイ状態のロジック遷移検出信号Ｖｐを出力し、入力信号にロジック遷移が発生したことを示す。しかし、入力信号からロジック遷移が発生しない場合、即ち、ＡビットとＢビットの全てが’０’であるか又は’１’であるとき、排他的ＯＲゲート４３０は、ロー状態のロジック遷移検出信号Ｖｐを出力し、入力信号にロジック遷移が発生していないことを示す。
【００３８】
次いで、信号発生部５００は、ロジック遷移検出部４００から出力された信号Ｖｐを受け、外部から印加された遷移ビット選択信号ＳＢｉの値に従って時間制御信号Ｖｓを出力する。即ち、ロジック遷移検出部４００からのロジック遷移の個数が遷移ビット選択信号ＳＢｉにより既に設定された所定個数以上である場合は、ハイ状態の時間制御信号Ｖｓを出力し、所定個数以下である場合は、ロー状態の時間制御信号Ｖｓを出力する。例えば、図３に示すように、入力信号Ｖｐが４ビット（Ｖｐ０〜Ｖｐ３）であり、ロジック遷移の個数が３個又は４個であるとき、信号発生部５００において発生した時間制御信号Ｖｓはハイレベルとなり、ロジック遷移の個数が０、１、２個であるとき、時間制御信号Ｖｓはローレベルとなる。
【００３９】
このとき、ロジック遷移の個数のグループは、遷移ビット選択信号ＳＢｉのビット数に比例する。例えば、遷移ビット選択信号ＳＢｉが１ビットである場合、ロジック遷移の個数グループは二つに分けられ、選択信号ＳＢｉが２ビットである場合はロジック遷移の個数グループは四つに分けられる。
図４は、ロジック遷移個数グループが０、１、２個と、３、４個と、に分割し、ロジック遷移個数が、３個又は４個のときのロジック遷移検出部４００の出力信号（Ｖｐ０〜Ｖｐ３）を示すものである。このような場合、信号発生部５００は、図３のように構成され、ロジック遷移検出部４００の出力信号Ｖｐに従って相応する時間制御信号Ｖｓを発生する。
【００４０】
即ち、出力信号Ｖｐ０〜Ｖｐ３の値が、図４に示すような値であると、ＰＭＯＳトランジスタＰＭ１１のドレイン端子と接地間に接続された５個のパス（path）中、少なくとも何れか一つがターンオンする。このとき、ＰＭＯＳトランジスタＰＭ１１のドレイン端子の電位はロー状態となり、このロー状態の値とハイ状態の遷移ビット選択信号ＳＢｉとがＮＡＮＤゲートＮＡ１により否定論理積されてハイ状態の時間制御信号Ｖｓが出力される。
【００４１】
しかし、ロジック遷移検出信号Ｖｐ０〜Ｖｐ３の値が、図４に示すような値でない場合、即ち、ハイ状態の値が３個未満である場合は、前記５個のパスの全ては遮断され、クロックＣＬＫによりＰＭＯＳトランジスタＰＭ１１がターンオンしたとき、印加された電源電圧ＶｃｃがＰＭＯＳトランジスタＰＭ１１のドレイン端子に伝達され、この電圧とハイ状態の遷移ビット選択信号ＳＢｉとがＮＡＮＤゲートＮＡ１で否定論理積されてロー状態の時間制御信号Ｖｓが出力される。
【００４２】
一方、制御部３００は、従来の制御部３０と殆ど同様に動作し、制御信号ＣＲＬによりイネーブルされ、クロックＣＬＫを計数して第１、第２ラッチ信号ＶＬ１、ＶＬ２と第１、第２出力イネーブル信号ＯＥＮ１、ＯＥＮ２とを、夫々、発生する。
但し、第１ラッチ信号ＶＬ１と第１出力イネーブル信号ＯＥＮ１との時間間隔は信号発生部５００からの時間制御信号Ｖｓにより決定される。例えば、制御部３００は、信号発生部５００の出力信号Ｖｓがロー状態であるときは、ラッチ信号ＶＬ１と第１出力イネーブル信号ＯＥＮとの時間間隔を’２Ｔ’に設定し、信号発生部５００の出力信号Ｖｓがハイ状態であるときは、ラッチ信号ＶＬ１と第１出力イネーブル信号ＯＥＮ１との時間間隔を’３Ｔ’に設定する。それを以下の表２に示す。
【００４３】
【表２】
0003652032.tif 000003
【００４４】
且つ、このように設定された第１ラッチ信号ＶＬ１と第１出力イネーブル信号ＯＥＮ１とは、第１演算部１００に出力され、第２ラッチ信号ＶＬ２と第２出力イネーブル信号ＯＥＮ２とは、第２演算部２００に出力される。又、第１ラッチ信号ＶＬ１はロジック遷移検出部４００のＡＮＤゲート４５０に出力され、各フリップフロップ４１０、４２０の動作時点を決定する制御信号として用いられる。
【００４５】
従って、第１演算部１００は、制御部３００の第１ラッチ信号ＶＬ１によりラッチされた入力信号Ｖｉｎを演算し、演算された信号Ｖ０１を第１出力イネーブル信号ＯＥＮ１により出力し、第２演算部２００は、前記制御部３００の第２ラッチ信号ＶＬ２によりラッチされた第１演算部１００の出力Ｖ０１を演算し、制御部３００の第２イネーブル信号ＯＥＮ２により演算信号Ｖ０２を出力する。
【００４６】
即ち、前記制御部３００で可変的時差を有して発生した信号ＶＬ１、ＯＥＮにより、第１演算部１００は不必要な時間を浪費せずに出力信号Ｖ０１を第２演算部２００に伝達し、第２演算部２００も第１演算部１００と同様に動作するようになる。
この場合、図５（Ｄ）に示すような入力信号Ｖｉｎが印加され、入力信号Ｖｉｎが’００００’から’１１００’に遷移したとき、ロジック遷移検出部４００は、図５（Ｇ）に示すように、’１１００’のロジック遷移検出信号Ｖｐを出力し、ロジック遷移の個数が２個であることを示す。
【００４７】
次いで、このロジック遷移検出信号Ｖｐを受けた信号発生部５００は、ロジック遷移の個数が’３’よりも小さいため、図５（Ｈ）に示すようにロー状態の時間制御信号Ｖｓを出力し、制御部３００は、図５（Ｂ）、（Ｃ）に示すように、第１ラッチ信号ＶＬ１と第１出力イネーブル信号ＯＥＮ１間の間隔を２Ｔに設定する。
【００４８】
且つ、入力信号Ｖｉｎが’１１００’から’００１１’に遷移したとき、ロジック遷移検出部４００は、図５（Ｇ）に示すように、’１１１１’のロジック遷移検出信号Ｖｐを出力し、ロジック遷移の個数が４個であることを示す。
その後、信号発生部５００は、ロジック遷移個数が’３’よりも大きいため、図５（Ｈ）に示すように、ハイ状態の時間制御信号Ｖｓを制御部３００に出力し、制御部３００は、図５（Ｂ）、（Ｃ）に示すように、第１ラッチ信号ＶＬ１と第１出力イネーブル信号ＯＥＮ１との時間間隔を’３Ｔ’に設定し、第１演算部１００は、図５（Ｄ）に示すような入力信号Ｖｉｎに対し、図５（Ｅ）に示すような信号Ｖ０１を第２演算部２００に出力する。このとき、図５（Ａ）は、クロック信号を示し、図５（Ｆ）は第２ラッチ信号ＶＬ２を示し、この第２ラッチ信号ＶＬ２は、第１出力イネーブル信号ＯＥＮ１と同時にイネーブルされる信号である。
【００４９】
かかる構成によれば、入力信号Ｖｉｎのロジック遷移の個数を検出し、遷移ビット選択信号ＳＢｉによってロジック遷移の個数のグループ分けを行い、ロジック遷移の個数に応じてラッチ信号ＶＬ１と第１出力イネーブル信号ＯＥＮ１との間の時間間隔、ラッチ信号ＶＬ２と第２出力イネーブル信号ＯＥＮ２との間の時間間隔を可変するようにしたので、演算時間をロジック遷移の個数のに応じて可変することができる。従って、平均演算時間を短縮することができ、システムの演算性能を向上させることができる。
【００５０】
尚、本発明は、かかる実施の形態に限定されず、特許請求の範囲をはずれない限り、多様に変形して使用することができる。
【００５１】
【発明の効果】
以上説明したように、請求項１の発明に係る装置によれば、演算時間が実際演算時間の最も大きい値に固定されずに、入力ビット遷移の個数に従い演算時間を可変し得るようになっているため、平均演算時間が短縮されシステムの演算性能が向上するという効果がある。
【００５２】
請求項２の発明に係る装置によれば、演算手段が複数の演算部を備えているときでも、同じように演算時間の制御を行うことができる。
請求項３の発明に係る装置によれば、入力信号の現在値と以前値とを記憶し、両値を比較することにより、ロジック遷移を検出することができる。
請求項４の発明に係る装置によれば、入力信号の現在値、以前値を、夫々、第１フリップフロップ、第２フリップフロップに記憶して、排他的ＯＲゲートによって入力信号の現在値と以前値とを比較することにより、ロジック遷移を検出することができる。
【００５３】
請求項５の発明に係る装置によれば、時間制御信号出力手段を、ＰＭＯＳトランジスタ、ＮＭＯＳトランジスタ、ＮＡＮＤゲートによって構成することにより、ロジック遷移の個数に基づいて時間制御信号を出力することができる。
請求項６の発明に係る装置によれば、ロジック遷移ビット検出信号と遷移ビット選択信号とに基づいて時間制御信号を設定することができる。
【００５４】
請求項７の発明に係る方法によれば、演算時間がロジック遷移の個数に応じて可変するに、入力ビット遷移の個数に従って演算時間を可変し得るようになっているため、演算時間が短縮され、システムの演算性能を向上するという効果がある。
請求項８の発明に係る方法によれば、ロジック遷移検出信号がローかハイかによってロジック遷移が発生したか否かを判別することができる。
【００５５】
請求項９の発明に係る方法によれば、ロジック遷移検出信号中、ロジック遷移が発生したことを示す’１’のビット個数と遷移ビット選択信号の値とを比較することにより、ロジック遷移の個数のグループ分けを行うことができる。
請求項10の発明に係る方法によれば、ロジック遷移の個数のグループ数が遷移ビット選択信号によって設定されたビット数に比例するので、遷移ビット選択信号に応じてグループ分けを設定し、きめ細かく演算時間を可変させることができる。
【図面の簡単な説明】
【図１】本発明に係る演算装置の実施の形態を示すブロック図。
【図２】図１のロジック遷移検出部を示すブロック図。
【図３】図１の信号発生部を示す回路図。
【図４】入力信号のビット別ロジック遷移の一例を示した図。
【図５】図１の演算装置の動作を示すタイミング図。
【図６】従来の演算装置を示すブロック図。
【図７】図６の従来の演算装置の動作を示すタイミング図。
【符号の説明】
１０、２０、１００、２００  演算部
３０、３００  制御部
４００  ロジック遷移検出部
５００  信号発生部
４１０、４２０  Ｄフリップフロップ
４３０  ＡＮＤゲート
ＮＡ１  ＮＡＮＤゲート
ＰＭ１１  ＰＭＯＳトランジスタ
NM11〜NM14、NM21〜NM23、NM31〜NM33、NM41〜NM43、NM51〜NM53
ＮＭＯＳトランジスタ
【図１】
0003652032.tif 000004
【図２】
0003652032.tif 000005
【図３】
0003652032.tif 000006
【図４】
0003652032.tif 000007
【図５】
0003652032.tif 000008
【図６】
0003652032.tif 000009
【図７】
0003652032.tif 000010