(57)【要約】【課題】  ゼロ検出で速い計算が可能なインクリメンタ及びその方法を提供する。【解決手段】  オペランド、４ビットグループ別の第１論理状態の存在情報、４ビットグループ別のフラグ情報、及び所定のインクリメント値に対して所定論理式による所定の論理組合わせを行って４ビットグループ別に、第１論理状態の４ビット、オペランドそのままの４ビット、または所定のインクリメント値の４ビットを出力して全体インクリメント値を発生させるインクリメンタである。本発明によれば、ゼロ検出する簡単なロジックとＭＵＸ構造の簡単な回路によってダイナミックに計算するので、速い計算が可能で、チップ上の面積を減らせる。【選択図】    図１
2004242292.tif 000002
【特許請求の範囲】
【請求項１】
入力されるオペランドを下位から４ビットずつでグループを作り、グループの各々について第１論理状態の存否を判断して、前記第１論理状態が存在すれば第２論理状態として発生させ、前記第１論理状態が存在しなければ前記第１論理状態として発生させて４ビットグループ別の第１論理状態の存在情報ＺＤを出力する４ビットゼロ検出部と、
前記４ビットグループ別の第１論理状態の存在情報ＺＤの下位で最初にあらわれる前記第２論理状態に対応して、前記第２論理状態が属するグループから全体下位グループまでは前記第１論理状態として発生させ、真上の上位グループから全体上位グループまでは前記第２論理状態として発生させて４ビットグループ別のフラグ情報を出力するフラグ情報生成部と、
入力される前記オペランドを受けて前記４ビットグループ別の所定のインクリメントを行う４ビットインクリメント部と、
前記オペランド、前記４ビットグループ別の第１論理状態の存在情報、前記４ビットグループ別のフラグ情報、及び前記所定のインクリメント値を所定の論理組合わせして前記４ビットグループ別に、第１論理状態である４ビット、前記オペランドそのままの４ビット、または前記所定のインクリメント値の４ビットを出力して全体インクリメント値を発生させるインクリメント出力部と、を備えることを特徴とするインクリメンタ。
【請求項２】
前記所定のインクリメントは、
論理式、
ＩＦ ＩＮ＜０＞ ａｎｄ ＩＮ＜１＞＝“１”,
（ＩＮ＋１）＜３：２＞＝ＩＮＣ＜３：２＞,
（ＩＮ＋１）＜１：０＞＝“００”
ＩＦ ＩＮ＜０＞ ａｎｄ ＩＮ＜１＞＝“０”,
（ＩＮ＋１）＜３：２＞＝ＩＮ＜３：２＞,
（ＩＮ＋１）＜１：０＞＝ＩＮＣ＜１：０＞
（ここで、ＩＮはオペランド、“ＩＮ＋１”はインクリメント値、ＩＮＣは新しく定義されたインクリメント、“０”は第１論理状態、“１”は第２論理状態）
及び、論理式、
ＩＮＣ＜０＞＝〜ＩＮ＜０＞
ＩＮＣ＜１＞＝ＩＮ＜０＞ＯＲ ＩＮ＜１＞
ＩＮＣ＜２＞＝〜ＩＮ＜２＞
ＩＮＣ＜３＞＝ＩＮ＜２＞ＯＲ ＩＮ＜３＞
（ここで、ＩＮはオペランド、ＩＮＣは新しく定義されたインクリメント）
によって行われることを特徴とする請求項１に記載のインクリメンタ。
【請求項３】
前記所定の論理組合わせは、
論理式、
ＩＦ ＺＤ＝“０”ａｎｄ ＣＡ＝“０”，ＩＯ＝“００００”,
ＩＦ ＺＤ＝“１”ａｎｄ ＣＡ＝“０”，ＩＯ＝ＩＮ＋１,
ＩＦ ＣＡ＝“１”（ＺＤ＝ｄｏｎ’ｔ ｃａｒｅ），ＩＯ＝ＩＮ
（ここで、ＺＤは４ビットグループ別の第１論理状態の存在情報、ＣＡは４ビットグループ別のフラグ情報、ＩＯは全体インクリメント値の４ビットグループ別出力、ＩＮはオペランド、“ＩＮ＋１”はインクリメント値、“０”は第１論理状態、“１”は第２論理状態）
によって行われることを特徴とする請求項１に記載のインクリメンタ。
【請求項４】
前記インクリメンタは、
前記４ビットゼロ検出部、前記フラグ情報生成部、前記４ビットインクリメント部、及び前記インクリメント出力部が所定のクロックによって活性化される時、動作することを特徴とする請求項１に記載のインクリメンタ。
【請求項５】
前記所定のクロックが非活性化状態である時、
前記４ビットゼロ検出部、前記フラグ情報生成部、前記４ビットインクリメント部、及び前記インクリメント出力部それぞれの出力バッファの入力端が所定の電圧にプリチャージされることを特徴とする請求項４に記載のインクリメンタ。
【請求項６】
前記出力バッファの各々は、
前記プリチャージ電圧をインバートするインバータと、このインバータ出力の制御を受けて前記インバータの入力端に前記所定の電圧を供給するＰＭＯＳＦＥＴと、を備えることを特徴とする請求項５に記載のインクリメンタ。
【請求項７】
前記インバータの出力は、
前記所定のクロックが活性化状態であり、かつ前記出力バッファそれぞれの入力端と接地間で直列連結されているＮＭＯＳＦＥＴが全て活性化される時、前記第２論理状態に変換されることを特徴とする請求項６に記載のインクリメンタ。
【請求項８】
インクリメンタによって、入力されるオペランドを下位から４ビットずつでグループを作り、グループの各々について第１論理状態の存否を判断して、前記第１論理状態が存在すれば第２論理状態として発生させ、前記第１論理状態が存在しなければ前記第１論理状態として発生させて４ビットグループ別の第１論理状態の存在情報を出力する段階と、
前記インクリメンタによって、前記４ビットグループ別の第１論理状態の存在情報の下位で最初にあらわれる前記第２論理状態に対応して、前記第２論理状態が属するグループから全体下位グループまでは前記第１論理状態として発生させ、真上の上位グループから全体上位グループまでは前記第２論理状態として発生させて４ビットグループ別のフラグ情報を出力する段階と、
前記インクリメンタによって、入力される前記オペランドを受けて前記４ビットグループ別の所定のインクリメントを行う段階と、
前記インクリメンタによって、前記オペランド、前記４ビットグループ別の第１論理状態の存在情報、前記４ビットグループ別のフラグ情報、及び前記所定のインクリメント値を所定の論理組合わせして前記４ビットグループ別に、第１論理状態の４ビット、前記オペランドそのままの４ビット、または前記所定のインクリメント値の４ビットを出力して全体インクリメント値を発生させる段階と、を備えることを特徴とするインクリメンタのインクリメント方法。
【請求項９】
前記所定のインクリメントは、
論理式、
ＩＦ ＩＮ＜０＞ａｎｄ ＩＮ＜１＞＝“１”，
（ＩＮ＋１）＜３：２＞＝ＩＮＣ＜３：２＞，
（ＩＮ＋１）＜１：０＞＝“００”
ＩＦ ＩＮ＜０＞ａｎｄ ＩＮ＜１＞＝“０”，
（ＩＮ＋１）＜３：２＞＝ＩＮ＜３：２＞，
（ＩＮ＋１）＜１：０＞＝ＩＮＣ＜１：０＞
（ここで、ＩＮはオペランド、“ＩＮ＋１”はインクリメント値、ＩＮＣは新しく定義されたインクリメント、“０”は第１論理状態、“１”は第２論理状態）
及び、論理式、
ＩＮＣ＜０＞＝〜ＩＮ＜０＞
ＩＮＣ＜１＞＝ＩＮ＜０＞ＯＲ ＩＮ＜１＞
ＩＮＣ＜２＞＝〜ＩＮ＜２＞
ＩＮＣ＜３＞＝ＩＮ＜２＞ＯＲ ＩＮ＜３＞
（ここで、ＩＮはオペランド、ＩＮＣは新しく定義されたインクリメント）
によって行われることを特徴とする請求項８に記載のインクリメンタのインクリメント方法。
【請求項１０】
前記所定の論理組合わせは、
論理式、
ＩＦ ＺＤ＝“０”ａｎｄ ＣＡ＝“０”，ＩＯ＝“００００”，
ＩＦ ＺＤ＝“１”ａｎｄ ＣＡ＝“０”，ＩＯ＝ＩＮ＋１，
ＩＦ ＣＡ＝“１”（ＺＤ＝ｄｏｎ’ｔ ｃａｒｅ），ＩＯ＝ＩＮ
（ここで、ＺＤは４ビットグループ別の第１論理状態の存在情報、ＣＡは４ビットグループ別のフラグ情報、ＩＯは全体インクリメント値の４ビットグループ別出力、ＩＮはオペランド、“ＩＮ＋１”はインクリメント値、“０”は第１論理状態、“１”は第２論理状態）
によって行われることを特徴とする請求項８に記載のインクリメンタのインクリメント方法。
【請求項１１】
前記インクリメンタは、
所定のクロックが活性化される時に動作することを特徴とする請求項８に記載のインクリメンタのインクリメント方法。
【請求項１２】
前記所定のクロックが非活性化状態である時、
前記インクリメンタの出力バッファの入力端が所定の電圧にプリチャージされることを特徴とする請求項１１に記載のインクリメンタのインクリメント方法。
【請求項１３】
前記出力バッファの各々は、
前記プリチャージ電圧をインバートするインバータと、このインバータ出力の制御を受けて前記インバータの入力端に前記所定の電圧を供給するＰＭＯＳＦＥＴと、を備えることを特徴とする請求項１２に記載のインクリメンタのインクリメント方法。
【請求項１４】
前記インバータの出力は、
前記所定のクロックが活性化状態であり、かつ前記出力バッファそれぞれの入力端と接地間で直列連結されているＮＭＯＳＦＥＴが全て活性化される時、前記第２論理状態に変換されることを特徴とする請求項１３に記載のインクリメンタのインクリメント方法。
【請求項１５】
入力されるオペランドを所定順序で３より大きいｂビットずつでグループを作って、ｂビットグループ別の第１論理状態の存在情報を出力するｂビットゼロ検出部と、
前記ｂビットグループ別のフラグ情報を出力するフラグ情報生成部と、
入力される前記オペランドを受けて前記ｂビットグループ別の所定のインクリメントを行うｂビットインクリメント部と、
所定の論理組合わせによって前記ｂビットグループ別に、第１論理状態のｂビット、前記オペランドそのままのｂビット、または前記所定のインクリメント値のｂビットを出力して全体インクリメント値を発生させるインクリメント出力部と、を備えることを特徴とするインクリメンタ。
【請求項１６】
前記ｂは、
４であることを特徴とする請求項１５に記載のインクリメンタ。
【請求項１７】
前記所定順序は、
最下位ビットから始まることを特徴とする請求項１６に記載のインクリメンタ。
【請求項１８】
前記ｂビットゼロ検出部は、
前記ｂビットグループの各々について第１論理状態の存否を判断して、前記第１論理状態が存在すれば第２論理状態、前記第１論理状態が存在しなければ前記第１論理状態を有する前記第１論理状態の存在情報を出力することを特徴とする請求項１７に記載のインクリメンタ。
【請求項１９】
前記フラグ情報生成部は、
前記ｂビットグループ別の第１論理状態の存在情報の下位で最初にあらわれる前記第２論理状態に対応して、前記第２論理状態が属するグループから全体下位グループまでは前記第１論理状態、真上の上位グループから全体上位グループまでは前記第２論理状態を有する前記フラグ情報を出力することを特徴とする請求項１８に記載のインクリメンタ。
【請求項２０】
前記所定の論理組合わせは、
前記オペランド、前記ｂビットグループ別の第１論理状態の存在情報、前記ｂビットグループ別のフラグ情報、及び前記ｂビットグループ別の前記所定のインクリメント値に対して行うことを特徴とする請求項１９に記載のインクリメンタ。
【請求項２１】
入力されるオペランドを所定順序でｂビットずつでグループを作ってｂビットグループを生成する段階と、
前記ｂビットグループ別の第１論理状態の存否を判断する段階と、
前記ｂビットグループ別の第１論理状態の存在情報を出力する段階と、
前記ｂビットグループ別のフラグ情報を出力する段階と、
前記ｂビットグループ別の所定のインクリメントを行う段階と、
前記オペランド、前記ｂビットグループ別の第１論理状態の存在情報、前記ｂビットグループ別のフラグ情報、及び前記ｂビットグループ別の前記所定のインクリメント値に対して所定の論理組合わせを行う段階と、
全体インクリメント値を発生させる段階と、を備えることを特徴とするインクリメンタのインクリメント方法。
【請求項２２】
前記ｂは、
４であることを特徴とする請求項２１に記載のインクリメンタのインクリメント方法。
【請求項２３】
前記所定順序は、
最下位ビットから始まることを特徴とする請求項２２に記載のインクリメンタのインクリメント方法。
【請求項２４】
前記第１論理状態の存在情報は、
前記第１論理状態が存在すれば第２論理状態であり、前記第１論理状態が存在しなければ前記第１論理状態であることを特徴とする請求項２３に記載のインクリメンタのインクリメント方法。
【請求項２５】
前記フラグ情報は、
前記ｂビットグループ別の第１論理状態の存在情報の下位で最初にあらわれる前記第２論理状態に対応して、前記第２論理状態が属するグループから全体下位グループまでは前記第１論理状態であり、真上の上位グループから全体上位グループまでは前記第２論理状態であることを特徴とする請求項２４に記載のインクリメンタのインクリメント方法。
【請求項２６】
前記全体インクリメント値は、
前記ｂビットグループ別に、第１論理状態のｂビット、前記オペランドそのままのｂビット、または前記所定のインクリメント値のｂビットを出力することによって生成されることを特徴とする請求項２５に記載のインクリメンタのインクリメント方法。
【請求項２７】
入力されるオペランドを下位から３より大きいｂビットずつでグループを作り、グループの各々について第１論理状態の存否を判断して、前記第１論理状態が存在すれば第２論理状態として発生させ、前記第１論理状態が存在しなければ前記第１論理状態として発生させてｂビットグループ別の第１論理状態の存在情報を出力するｂビットゼロ検出部と、
前記ｂビットグループ別の第１論理状態の存在情報の下位で最初にあらわれる前記第２論理状態に対応して、前記第２論理状態が属するグループから全体下位グループまでは前記第１論理状態として発生させ、真上の上位グループから全体上位グループまでは前記第２論理状態として発生させてｂビットグループ別のフラグ情報を出力するフラグ情報生成部と、
入力される前記オペランドを受けて前記ｂビットグループ別の所定のインクリメントを行うｂビットインクリメント部と、
前記オペランド、前記ｂビットグループ別の第１論理状態の存在情報、前記ｂビットグループ別のフラグ情報、及び前記所定のインクリメント値を所定の論理組合わせして前記ｂビットグループ別に、第１論理状態のｂビット、前記オペランドそのままのｂビット、または前記所定のインクリメント値のｂビットを出力して全体インクリメント値を発生させるインクリメント出力部と、を備えることを特徴とするインクリメンタ。
【請求項２８】
前記ｂは、
４であることを特徴とする請求項２７に記載のインクリメンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマイクロプロセッサ演算器に係り、特に、インクリメンタに関する。
【背景技術】
【０００２】
インクリメンタは、入力されるオペランドに“１”を加算するアダーまたはカウンタである。マイクロプロセッサにおいて、インクリメンタは、ブールロジックの２つの補数を計算したり、その他のオペランドに１を加算する計算を含む多様な演算を行うのに使われる。
【０００３】
フルアダーを使用する従来のインクリメンタは、キャリビットの伝達を待つ時間によって動作スピードが落ち、しかもキャリビットを処理するための回路を備えることによって、その全体回路がチップ上で相当な面積を占める問題点がある。
【０００４】
また、特許文献１に開示されているような従来のゼロ・ストッピング・インクリメンタは、入力されるオペランドが偶数か奇数かを区別して、偶数である場合にはＬＳＢ（Ｌｅａｓｔ Ｓｉｇｎｉｆｉｃａｎｔ Ｂｉｔ）を“１”とし、奇数である場合には最初“０”が検出される時にその“０”を“１”とした後、その前方のＬＳＢの“０”を全て“１”とする方法を取る。しかし、従来のゼロ・ストッピング・インクリメンタは、多量のスタティックなロジックゲートの使用によってチップ上で相当な面積を占める問題点がある。
【特許文献１】米国特許第５，６３５，８５８号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする技術的課題は、ゼロ検出する簡単なロジックとＭＵＸ構造の簡単な回路とによってダイナミックに速い計算が可能で、チップ上の面積を減らせるインクリメンタを提供することにある。
【０００６】
本発明が解決しようとする他の技術的課題は、ゼロ検出する簡単なロジックとＭＵＸ構造の簡単な回路とによってダイナミックに速い計算が可能で、チップ上の面積を減らせるインクリメンタのインクリメント方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記の技術的課題を達成するための本発明によるインクリメンタは、４ビットゼロ検出部、フラグ情報生成部、４ビットインクリメント部、及びインクリメント出力部を備える。
前記４ビットゼロ検出部は、入力されるオペランドＩＮを下位から４ビットずつでグループを作り、グループの各々について第１論理状態の存否を判断して、前記第１論理状態が存在すれば第２論理状態として発生させ、前記第１論理状態が存在しなければ前記第１論理状態として発生させて４ビットグループ別の第１論理状態の存在情報ＺＤを出力する。
前記フラグ情報生成部は、前記４ビットグループ別の第１論理状態の存在情報ＺＤの下位で最初にあらわれる前記第２論理状態に対応して、前記第２論理状態が属するグループから全体下位グループまでは前記第１論理状態として発生させ、真上の上位グループから全体上位グループまでは前記第２論理状態として発生させて４ビットグループ別のフラグ情報ＣＡを出力する。
前記４ビットインクリメント部は、入力される前記オペランドＩＮを受けて前記４ビットグループ別の所定のインクリメントを行う。
前記インクリメント出力部は、前記オペランドＩＮ、前記４ビットグループ別の第１論理状態の存在情報ＺＤ、前記４ビットグループ別のフラグ情報ＣＡ、及び前記所定のインクリメント値ＡＤＤを所定の論理組合わせして前記４ビットグループ別に、第１論理状態の４ビット、前記オペランドＩＮそのままの４ビット、または前記所定のインクリメント値ＡＤＤの４ビットを出力して全体インクリメント値ＩＯを発生させる。
【０００８】
ここで、前記所定のインクリメントは、論理式、
ＩＦ ＩＮ＜０＞ａｎｄ ＩＮ＜１＞＝“１”，
（ＩＮ＋１）＜３：２＞＝ＩＮＣ＜３：２＞，
（ＩＮ＋１）＜１：０＞＝“００”
ＩＦ ＩＮ＜０＞ａｎｄ ＩＮ＜１＞＝“０”，
（ＩＮ＋１）＜３：２＞＝ＩＮ＜３：２＞，
（ＩＮ＋１）＜１：０＞＝ＩＮＣ＜１：０＞
（ここで、ＩＮはオペランド、“ＩＮ＋１”はインクリメント値、ＩＮＣは新しく定義されたインクリメント、“０”は第１論理状態、“１”は第２論理状態）
及び、論理式、
ＩＮＣ＜０＞＝〜ＩＮ＜０＞
ＩＮＣ＜１＞＝ＩＮ＜０＞ＯＲ ＩＮ＜１＞
ＩＮＣ＜２＞＝〜ＩＮ＜２＞
ＩＮＣ＜３＞＝ＩＮ＜２＞ＯＲ ＩＮ＜３＞
（ここで、ＩＮはオペランド、ＩＮＣは新しく定義されたインクリメント）
によって行われることを特徴とする。
【０００９】
前記所定の論理組合わせは、論理式、
ＩＦ ＺＤ＝“０”ａｎｄ ＣＡ＝“０”，ＩＯ＝“００００”，
ＩＦ ＺＤ＝“１”ａｎｄ ＣＡ＝“０”，ＩＯ＝ＩＮ＋１，
ＩＦ ＣＡ＝“１”（ＺＤ＝ｄｏｎ’ｔ ｃａｒｅ），ＩＯ＝ＩＮ
（ここで、ＺＤは４ビットグループ別の第１論理状態の存在情報、ＣＡは４ビットグループ別のフラグ情報、ＩＯは全体インクリメント値の４ビットグループ別出力、ＩＮはオペランド、“ＩＮ＋１”はインクリメント値、“０”は第１論理状態、“１”は第２論理状態）
によって行われることを特徴とする。
【００１０】
前記インクリメンタは、前記４ビットゼロ検出部、前記フラグ情報生成部、前記４ビットインクリメント部、及び前記インクリメント出力部が所定のクロックによって活性化される時に動作することを特徴とする。前記所定のクロックが非活性化状態である時、前記４ビットゼロ検出部、前記フラグ情報生成部、前記４ビットインクリメント部、及び前記インクリメント出力部それぞれの出力バッファの入力端が所定の電圧にプリチャージされる。前記出力バッファの各々は、前記プリチャージ電圧をインバートするインバータと、このインバータ出力の制御を受けて前記インバータの入力端に前記所定の電圧を供給するＰＭＯＳＦＥＴとを備える。前記インバータの出力は、前記所定のクロックが活性化状態であり、かつ前記出力バッファそれぞれの入力端と接地間で直列連結されているＮＭＯＳＦＥＴが全て活性化される時、前記第２論理状態に変換されることを特徴とする。
【００１１】
前記他の技術的課題を達成するための本発明によるインクリメンタのインクリメント方法は、次のような段階を備える。
すなわち、本発明によるインクリメンタのインクリメント方法は、まず、インクリメンタが、入力されるオペランドＩＮを下位から４ビットずつでグループを作り、グループの各々について第１論理状態の存否を判断して、前記第１論理状態が存在すれば第２論理状態として発生させ、前記第１論理状態が存在しなければ前記第１論理状態として発生させて４ビットグループ別の第１論理状態の存在情報ＺＤを出力する。
次いで、前記インクリメンタは、前記４ビットグループ別の第１論理状態の存在情報ＺＤの下位で最初にあらわれる前記第２論理状態に対応して、前記第２論理状態が属するグループから全体下位グループまでは前記第１論理状態として発生させ、真上の上位グループから全体上位グループまでは前記第２論理状態として発生させて４ビットグループ別のフラグ情報ＣＡを出力する。
これにより、前記インクリメンタは、入力される前記オペランドＩＮを受けて前記４ビットグループ別の所定のインクリメントを行う。また、前記オペランドＩＮ、前記４ビットグループ別の第１論理状態の存在情報ＺＤ、前記４ビットグループ別のフラグ情報ＣＡ、及び前記所定のインクリメント値ＡＤＤを所定の論理組合わせして前記４ビットグループ別に、第１論理状態の４ビット、前記オペランドＩＮそのままの４ビット、または前記所定のインクリメント値ＡＤＤの４ビットを出力して全体インクリメント値ＩＯを発生させる。
【発明の効果】
【００１２】
上記のような本発明によるインクリメンタは、ゼロ検出する簡単なロジックとＭＵＸ構造の簡単な回路とによってダイナミックに計算するので、速い計算が可能で、チップ上の面積を減らせる。
【発明を実施するための最良の形態】
【００１３】
以下、添付した図面を参照して本発明の望ましい実施形態を詳細に説明する。各図に提示された同一参照符号は同一部分を表す。
【００１４】
図１は、本発明の一実施形態によるインクリメンタのブロック図である。
図１を参照すれば、本発明の一実施形態によるインクリメンタは、４ビットゼロ検出部１１０、フラグ情報生成部１２０、４ビットインクリメント部１３０、及びインクリメント出力部１４０を備える。
【００１５】
前記４ビットゼロ検出部１１０は、入力されるオペランドＩＮを下位から４ビットずつでグループを作り、グループ各々にゼロ、すなわち、第１論理状態（論理ロー状態）が存在しているかを判断して、前記第１論理状態が存在すれば“１”、すなわち、第２論理状態（論理ハイ状態）として発生させ、前記第１論理状態が存在しなければ前記第１論理状態として発生させて４ビットグループ別の第１論理状態の存在情報ＺＤを出力する。
【００１６】
ここで、前記オペランドＩＮは、マイクロプロセッサの演算で３２ビットあるいは６４ビット値を有し、それ以外のオペランドＩＮのビット数でも本発明の一実施形態によるインクリメンタの演算は問題ないが、ここでは前記オペランドＩＮが３２ビットのデータで入力されると仮定する。
【００１７】
したがって、前記４ビットゼロ検出部１１０から出力される４ビットグループ別の第１論理状態の存在情報ＺＤは、入力される３２ビットのオペランドＩＮを４ビットずつ８グループに分ける時の８ビット情報であって、ゼロが存在するグループに対して“１”になり、ゼロが存在しないグループに対して“０”になる値を有する８ビットの情報である。
【００１８】
下記［例１］で、オペランドＩＮの下位から４ビットずつグループを作って判断する時、ＺＤ＜６＞，ＺＤ＜３＞各々が属するグループで“０”があらわれるので、ＺＤ＜６＞，ＺＤ＜３＞は“１”になり、残りのＺＤ＜７＞，ＺＤ＜５＞，ＺＤ＜４＞，ＺＤ＜２＞，ＺＤ＜１＞，ＺＤ＜０＞は“０”になる。
［例１］
オペランド          ：1111  0000  1111  1111  1011  1111  1111  1111
全体インクリメント値：1111  0000  1111  1111  1100  0000  0000  0000
CA＜7：1＞          ：CA＜7＞CA＜6＞CA＜5＞CA＜4＞CA＜3＞CA＜2＞CA＜1＞
ZD＜7：0＞          ：ZD＜7＞ZD＜6＞ZD＜5＞ZD＜4＞ZD＜3＞ZD＜2＞ZD＜1＞ZD＜0＞
【００１９】
前記フラグ情報生成部１２０は、前記４ビットグループ別の第１論理状態の存在情報ＺＤの下位で最初にあらわれる前記第２論理状態に対応して、前記第２論理状態が属するグループから全体下位グループまでは前記第１論理状態として発生させ、真上の上位グループから全体上位グループまでは前記第２論理状態として発生させて４ビットグループ別のフラグ情報ＣＡを出力する。
【００２０】
すなわち、前記フラグ情報生成部１２０から出力される４ビットグループ別のフラグ情報ＣＡは、入力される３２ビットのオペランドＩＮを４ビットずつ８グループに分ける時の８ビット情報であって、前記４ビットグループ別の第１論理状態の存在情報ＺＤによって前記ＺＤが最初に“１”になるグループの上位グループ（ＺＤ＜４＞が属するグループ）から全体上位グループまでに対しては“１”になり、前記ＺＤが最初に“１”になるグループ（ＺＤ＜３＞が属するグループ）を含んで全体下位グループまでに対しては“０”になる８ビットの情報である。
【００２１】
前記［例１］で、オペランドＩＮの下位から４ビットずつグループを作って判断してＺＤ＜６＞，ＺＤ＜３＞各々が属するグループで“０”があらわれるが、その下位はＺＤ＜３＞であるので、ＺＤ＜３＞が属するグループを含んで全体下位グループまで、すなわち、ＣＡ＜３＞，ＣＡ＜２＞，ＣＡ＜１＞は“０”になり、その上位グループから全体上位グループまで、すなわち、ＣＡ＜７＞，ＣＡ＜６＞，ＣＡ＜５＞，ＣＡ＜４＞は“１”になる。
【００２２】
前記４ビットインクリメント部１３０は、入力される前記オペランドＩＮを受けて前記４ビットグループ別の所定のインクリメントを行う。ここで行われて出力される所定のインクリメント値ＡＤＤは、前記インクリメント出力部１４０に入力される。
【００２３】
ここで、前記所定のインクリメントは、［論理式１］、及び［論理式２］によって行われることを特徴とする。
［論理式１］
ＩＦ ＩＮ＜０＞ａｎｄ ＩＮ＜１＞＝“１”，
（ＩＮ＋１）＜３：２＞＝ＩＮＣ＜３：２＞，
（ＩＮ＋１）＜１：０＞＝“００”
ＩＦ ＩＮ＜０＞ａｎｄ ＩＮ＜１＞＝“０”，
（ＩＮ＋１）＜３：２＞＝ＩＮ＜３：２＞，
（ＩＮ＋１）＜１：０＞＝ＩＮＣ＜１：０＞
（ここで、ＩＮはオペランド、“ＩＮ＋１”はインクリメント値、ＩＮＣは新しく定義されたインクリメント、“０”は第１論理状態、“１”は第２論理状態である）
【００２４】
［論理式２］
ＩＮＣ＜０＞＝〜ＩＮ＜０＞
ＩＮＣ＜１＞＝ＩＮ＜０＞ＯＲ ＩＮ＜１＞
ＩＮＣ＜２＞＝〜ＩＮ＜２＞
ＩＮＣ＜３＞＝ＩＮ＜２＞ＯＲ ＩＮ＜３＞
（ここで、ＩＮはオペランド、ＩＮＣは新しく定義されたインクリメントである）
【００２５】
前記インクリメント出力部１４０は、前記オペランドＩＮ、前記４ビットグループ別の第１論理状態の存在情報ＺＤ、前記４ビットグループ別のフラグ情報ＣＡ、及び前記所定のインクリメント値ＡＤＤを所定の論理組合わせして前記４ビットグループ別に、第１論理状態の４ビット、前記オペランドＩＮそのままの４ビット、または前記所定のインクリメント値ＡＤＤの４ビットを出力して全体インクリメント値ＩＯを発生させる。
【００２６】
前記所定の論理組合わせは、［論理式３］によって行われることを特徴とする。
［論理式３］
ＩＦ ＺＤ＝“０”ａｎｄ ＣＡ＝“０”，ＩＯ＝“００００”，
ＩＦ ＺＤ＝“１”ａｎｄ ＣＡ＝“０”，ＩＯ＝ＩＮ＋１，
ＩＦ ＣＡ＝“１”（ＺＤ＝ｄｏｎ’ｔ ｃａｒｅ），ＩＯ＝ＩＮ
（ここで、ＺＤは４ビットグループ別の第１論理状態の存在情報、ＣＡは４ビットグループ別のフラグ情報、ＩＯは全体インクリメント値の４ビットグループ別出力、ＩＮはオペランド、“ＩＮ＋１”はインクリメント値、“０”は第１論理状態、“１”は第２論理状態である）
【００２７】
前記［例１］で、ＺＤ＜３＞が属するグループでオペランドＩＮに“１”を加算して全体インクリメント値ＩＯが“１１１１  ００００  １１１１  １１１１  １１００  ００００  ００００  ００００”と計算されることが分かる。このように計算する本発明の一実施形態によるインクリメンタの動作スピードは、２００ｐｓ（ｐｉｃｏ ｓｅｃ）以下となり、この時に全体システムの動作周波数は１０ＧＨｚ以上になると期待される。
【００２８】
このような本発明の一実施形態によるインクリメンタの動作を図２ないし図５に示された具体的な回路図によってさらに詳細に説明する。
【００２９】
図２は、図１の４ビットゼロ検出部１１０の具体的な回路図である。
図２を参照すれば、図１の４ビットゼロ検出部１１０は、所定のクロックＣＬＫが非活性化状態、すなわち、第１論理状態である時、出力バッファＩＮＶ２１，Ｐ２の入力端が所定の回路Ｐ１によって所定の電圧ＶＤＤにプリチャージされる。出力バッファＩＮＶ２１，Ｐ２は、前記プリチャージ電圧ＶＤＤをインバートするインバータＩＮＶ２１と、このインバータＩＮＶ２１の出力による制御を受けてインバータＩＮＶ２１の入力端に前記所定の電圧ＶＤＤを供給するＰＭＯＳＦＥＴ Ｐ２とを備える。前記インバータＩＮＶ２１の出力は、前記所定のクロックＣＬＫが活性化状態、すなわち、第２論理状態であり、かつ前記出力バッファＩＮＶ２１，Ｐ２の入力端と接地間で直列連結されている各２つのＮＭＯＳＦＥＴ Ｎ１とＮ２，Ｎ３とＮ４，Ｎ５とＮ６，Ｎ７とＮ８の少なくとも一組が活性化される時、前記第２論理状態に変換されることを特徴とする。ＮＩＮ＜０＞ないしＮＩＮ＜３＞は、前記オペランドＩＮの３２ビットのうち任意のグループに属する４ビットのインバート信号である。ここで、４ビットに関する回路について例をあげて図示したが、３２ビットのオペランドＩＮに関する８つのグループについて各々図２のような回路が必要である。
【００３０】
すなわち、図２のような４ビットゼロ検出部１１０は、入力されるオペランドＩＮを下位から４ビットずつでグループを作り、グループ各々にゼロ、すなわち、第１論理状態（論理ロー状態）が存在しているかを判断して、前記第１論理状態が存在すれば“１”、すなわち、第２論理状態（論理ハイ状態）を発生させ、前記第１論理状態が存在しなければ前記第１論理状態として発生させて４ビットグループ別の第１論理状態の存在情報ＺＤを出力できる。
【００３１】
図３（Ａ）及び図３（Ｂ）は、図１のフラグ情報生成部１２０の具体的な回路図である。
図３（Ａ）及び図３（Ｂ）を参照すれば、図１のフラグ情報生成部１２０は、クロックバッファ３１０を通じて入力される所定のクロックＣＬＫが非活性化状態、すなわち、第１論理状態である時、出力バッファＩＮＶ３１，Ｐ３２の入力端ＺＺＣＡノードが所定の回路３２０によって所定の電圧ＶＤＤにプリチャージされる。出力バッファＩＮＶ３１，Ｐ３２は、前記プリチャージ電圧ＶＤＤをインバートするインバータＩＮＶ３１と、このインバータＩＮＶ３１の出力による制御を受けてインバータＩＮＶ３１の入力端ＺＺＣＡノードに前記所定の電圧ＶＤＤを供給するＰＭＯＳＦＥＴ Ｐ３２とを備える。前記インバータＩＮＶ３１の出力は、前記所定のクロックＣＬＫが活性化状態、すなわち、第２論理状態であり、かつ前記出力バッファＩＮＶ３１，Ｐ３２の入力端ＺＺＣＡノードと接地間で直列連結されているＮＭＯＳＦＥＴ３３０が活性化される時、前記第２論理状態に変換されることを特徴とする。ＺＤ＜０＞ないしＺＤ＜６＞は、前記４ビットグループ別の第１論理状態の存在情報ＺＤである。ここで、最上位４ビットで“０”が最初にあらわれる場合はフラグ情報ＣＡ＜７＞が“０”になるので、後述する図５のように動作する回路で、ＺＤ＜７＞は４ビットグループ別のフラグ情報ＣＡの生成に不要であり、また、ＣＡ＜０＞は常に“０”であるので、ＣＡ＜０＞信号は不要である。
【００３２】
すなわち、図３（Ａ）及び図３（Ｂ）のようなフラグ情報生成部１２０は、前記４ビットグループ別の第１論理状態の存在情報ＺＤの下位で最初にあらわれる前記第２論理状態に対応して、前記第２論理状態が属するグループから全体下位グループまでは前記第１論理状態として発生させ、真上の上位グループから全体上位グループまでは前記第２論理状態として発生させて４ビットグループ別のフラグ情報ＣＡを出力できる。
【００３３】
図４（Ａ）及び図４（Ｂ）は、図１の４ビットインクリメント部１３０の具体的な回路図である。
図４（Ａ）及び図４（Ｂ）を参照すれば、図１の４ビットインクリメント部１３０は、ビット別のインクリメント回路４２０〜４５０を備え、クロックバッファ４１０を通じて入力される所定のクロックＣＬＫが非活性化状態、すなわち、第１論理状態である時、出力バッファＩＮＶ４１とＰ１２，ＩＮＶ４２とＰ１４，ＩＮＶ４３とＰ１６，ＩＮＶ４４とＰ１８の入力端が所定の回路Ｐ１１，Ｐ１３，Ｐ１５，Ｐ１７によって所定の電圧ＶＤＤにプリチャージされる。出力バッファＩＮＶ４１とＰ１２，ＩＮＶ４２とＰ１４，ＩＮＶ４３とＰ１６，ＩＮＶ４４とＰ１８は、前記プリチャージ電圧ＶＤＤをインバートするインバータＩＮＶ４１，ＩＮＶ４２，ＩＮＶ４３，ＩＮＶ４４と、このインバータＩＮＶ４１，ＩＮＶ４２，ＩＮＶ４３，ＩＮＶ４４の出力による制御を受けてインバータＩＮＶ４１，ＩＮＶ４２，ＩＮＶ４３，ＩＮＶ４４の入力端に前記所定の電圧ＶＤＤを供給するＰＭＯＳＦＥＴ Ｐ１２，Ｐ１４，Ｐ１６，Ｐ１８とを備える。前記インバータＩＮＶ４１，ＩＮＶ４２，ＩＮＶ４３，ＩＮＶ４４の出力は、前記所定のクロックＣＬＫが活性化状態、すなわち、第２論理状態であり、かつ前記出力バッファＩＮＶ４１とＰ１２，ＩＮＶ４２とＰ１４，ＩＮＶ４３とＰ１６，ＩＮＶ４４とＰ１８の入力端と接地間で直列連結されている２つのＮＭＯＳＦＥＴ Ｎ１１１とＮ１２，Ｎ１３とＮ１４，Ｎ１６とＮ１７，Ｎ２０とＮ２１の両方が活性化される時、前記第２論理状態に変換されることを特徴とする。ＩＮ＜０＞ないしＩＮ＜３＞及びＮＩＮ＜０＞とＮＩＮ＜２＞の各々は、前記オペランドＩＮの３２ビットのうち任意のグループに属する４ビット信号及びそのインバート信号である。ここで、４ビットに関する回路について例をあげて図示したが、３２ビットのオペランドＩＮに関する８つのグループについて各々図４（Ａ）及び図４（Ｂ）のような回路が必要である。
【００３４】
すなわち、図４（Ａ）及び図４（Ｂ）のような４ビットインクリメント部１３０は、入力される前記オペランドＩＮを受けて前記４ビットのグループ別に［論理式１］、及び［論理式２］によって行われるインクリメントを行う。［論理式１］は、４ビットのうち下位２ビットによって“０”があるかを判断して、“０”がある場合と“０”がない場合とについて各ビットに対するインクリメント値を定義する。［論理式２］は、各ビットに対するインクリメント値を求める方法を定義する。［論理式２］で“〜”はインバート値を意味する。
【００３５】
例えば、４ビットのうち下位２ビットに“０”があれば、前記４ビットインクリメント部１３０は、上位２ビット出力でオペランドＩＮをそのまま出力し、下位２ビット出力で［論理式２］に定義されたインクリメント値を出力する。４ビットのうち下位２ビットに“０”がなければ、前記４ビットインクリメント部１３０は、上位２ビット出力で［論理式２］に定義されたインクリメント値を出力し、下位２ビット出力で“００”を出力する。
【００３６】
図５は、図１のインクリメント出力部１４０の具体的な回路図である。
図５を参照すれば、図１のインクリメント出力部１４０は、クロックバッファ５１０を通じて入力される所定のクロックＣＬＫが非活性化状態、すなわち、第１論理状態である時、出力バッファ５５０の入力端が所定の回路５２０（ＰＭＯＳＦＥＴ Ｐ５２）によって所定の電圧ＶＤＤにプリチャージされる。出力バッファ５５０は、前記プリチャージ電圧ＶＤＤをインバートするインバータＩＮＶ５１と、このインバータＩＮＶ５１の出力による制御を受けてインバータＩＮＶ５１の入力端に前記所定の電圧ＶＤＤを供給するＰＭＯＳＦＥＴＰ５２とを備える。前記インバータＩＮＶ５１の出力は、前記所定のクロックＣＬＫが活性化状態、すなわち、第２論理状態であり、かつ前記出力バッファ５５０の入力端と接地間で直列連結されている多数のＮＭＯＳＦＥＴ５３０または５４０の全てが活性化される時、前記第２論理状態に変換されることを特徴とする。ＮＣＡは、前記ＣＡのインバート信号である。ここで、１ビットに対する回路について例をあげて図示したが、３２ビットのオペランドＩＮを受ける３２ビット各々に対して図５のような回路が必要である。この時、ＮＣＡ、ＣＡ、及びＺＤの各々は、４ビットグループに関する情報であって、８ビットずつであり、ＩＮ及びＡＤＤの各々は、同じビット別に対応しており、３２ビットずつである。
【００３７】
すなわち、図５のようなインクリメント出力部１４０は、前記オペランドＩＮ、前記４ビットグループ別の第１論理状態の存在情報ＺＤ、前記４ビットグループ別のフラグ情報ＣＡ、及び前記所定のインクリメント値ＡＤＤを所定の論理組合わせして前記４ビットグループ別に、第１論理状態の４ビット（［論理式３］で“００００”）、前記オペランドＩＮそのままの４ビット（［論理式３］で“ＩＮ”）、または前記所定のインクリメント値ＡＤＤの４ビット（［論理式３］で“ＩＮ＋１”）を出力して全体インクリメント値ＩＯを発生させる。
【００３８】
以上のように、本発明の一実施形態によるインクリメンタは、まず４ビットゼロ検出部１１０が、入力されるオペランドＩＮを下位から４ビットずつでグループを作り、グループの各々について第１論理状態の存否を判断して、前記第１論理状態が存在すれば第２論理状態として発生させ、前記第１論理状態が存在しなければ前記第１論理状態として発生させて４ビットグループ別の第１論理状態の存在情報ＺＤを出力する。フラグ情報生成部１２０は、前記４ビットグループ別の第１論理状態の存在情報ＺＤの下位で最初にあらわれる前記第２論理状態に対応して、前記第２論理状態が属するグループから全体下位グループまでは前記第１論理状態として発生させ、真上の上位グループから全体上位グループまでは前記第２論理状態として発生させて４ビットグループ別のフラグ情報ＣＡを出力する。４ビットインクリメント部１３０は、入力される前記オペランドＩＮを受けて［論理式１］及び［論理式２］によって前記４ビットグループ別の所定のインクリメントを行う。これにより、インクリメント出力部１４０は、前記オペランドＩＮ、前記４ビットグループ別の第１論理状態の存在情報ＺＤ、前記４ビットグループ別のフラグ情報ＣＡ、及び前記所定のインクリメント値ＡＤＤに対して［論理式３］による所定の論理組合わせを行って前記４ビットグループ別に、第１論理状態の４ビット、前記オペランドＩＮそのままの４ビット、または前記所定のインクリメント値ＡＤＤの４ビットを出力して全体インクリメント値ＩＯを発生させる。
【００３９】
以上により最適な実施形態が開示された。ここで、特定の用語が使われたが、これは単に本発明を説明するための目的で使われたものであり、意味限定や特許請求の範囲に記載された本発明の範囲を制限するために使われたものではない。したがって、当業者ならば、これから多様な変形及び均等な他の実施形態が可能であることが分かる。よって、本発明の真の技術的な保護範囲は、特許請求の範囲の技術的思想によって決まらなければならない。
【産業上の利用可能性】
【００４０】
本発明によるインクリメンタは、マイクロプロセッサ内で各種の演算器に利用できる。
【図面の簡単な説明】
【００４１】
【図１】本発明の一実施形態によるインクリメンタのブロック図である。
【図２】図１の４ビットゼロ検出部の具体的な回路図である。
【図３】（Ａ）及び（Ｂ）は、図１のフラグ情報生成部の具体的な回路図である。
【図４】（Ａ）及び（Ｂ）は、図１の４ビットインクリメント部の具体的な回路図である。
【図５】図１のインクリメント出力部の具体的な回路図である。
【符号の説明】
【００４２】
１１０    ４ビットゼロ検出部
１２０    フラグ情報生成部
１３０    ４ビットインクリメント部
１４０    インクリメント出力部
ＩＮ    オペランド
ＺＤ    ４ビットグループ別の第１論理状態の存在情報
ＣＡ    ４ビットグループ別のフラグ情報
ＩＯ    全体インクリメント値
ＡＤＤ    所定のインクリメント値
【図１】
2004242292.tif 000003
【図２】
2004242292.tif 000004
【図３（Ａ）】
2004242292.tif 000005
【図３（Ｂ）】
2004242292.tif 000006
【図４（Ａ）】
2004242292.tif 000007
【図４（Ｂ）】
2004242292.tif 000008
【図５】
2004242292.tif 000009