(57)【特許請求の範囲】
【請求項１】
入力端子に２の補数表現された複数ビットの二進数である第１のデータが供給され、制御端子を有する第１のデータ反転手段と、
入力端子に前記第１のデータ反転手段の出力データが供給され、制御端子を有する１加算手段と、
入力端子に２の補数表現された複数ビットの二進数である第２のデータが供給され、制御端子を有する第２のデータ反転手段と、
桁上げ信号入力端子を有し、前記１加算手段の出力データと前記第２のデータ反転手段の出力データと桁上げ信号入力端子に供給される信号との和を出力する加算手段と、
前記第１のデータ反転手段の制御端子と前記１加算手段の制御端子とに前記第１のデータの符号ビットを選択的に供給する第１の選択ゲートと、
前記第２のデータ反転手段の制御端子に前記第２のデータの符号ビットの反転信号を選択的に供給する第２の選択ゲートと、
前記加算手段の桁上げ信号入力端子に外部桁上げ入力信号と前記第２のデータの符号ビットの反転信号とを切り換えて供給する第３の選択ゲートと
を具備することを特徴とする絶対値比較回路。
【請求項２】
入力端子に２の補数表現された複数ビットの二進数である第１のデータが供給され、制御端子を有する第１のデータ反転手段と、
入力端子に前記第１のデータ反転手段の出力データが供給され、制御端子を有する１加算手段と、
入力端子に２の補数表現された複数ビットの二進数である第２のデータが供給され、制御端子を有する第２のデータ反転手段と、
桁上げ信号入力端子を有し、前記１加算手段の出力データと前記第２のデータ反転手段の出力データと桁上げ信号入力端子に供給される信号との和を出力する加算手段と、
前記第１のデータ反転手段の制御端子に前記第１のデータの符号ビットを選択的に供給する第１の選択ゲートと、
前記第２のデータ反転手段の制御端子と前記１加算手段の制御端子とに前記第２のデータの符号ビットの反転信号を選択的に供給する第２の選択ゲートと、
前記加算手段の桁上げ信号入力端子に外部桁上げ入力信号と前記第２のデータの符号ビットの反転信号とを切り換えて供給する第３の選択ゲートと
を具備することを特徴とする絶対値比較回路。
【請求項３】
前記加算手段は、少なくとも桁上げ入力信号付きの加算機能を有するＡＬＵであることを特徴とする請求項１又は２記載の絶対値比較回路。
【請求項４】
前記第１及び第２の選択ゲートは、論理和ゲートで構成されていることを特徴とする請求項１又は２記載の絶対値比較回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディジタル信号の絶対値比較回路に関し、特にマイクロプロセッサ、ディジタルシグナルプロセッサ（ＤＳＰ）などに使用されるものである。
【０００２】
【従来の技術】
２つのデータの大きさを比較する場合、それらのデータが正負の符号を持っているときには、絶対値をとって比較することがある。例えば、音声データのピーク検出などの際にそうした処理をする必要が生じる。
【０００３】
一般に符号付データの表現形式として２の補数表現が採用されている。２の補数表現で表されたデータの絶対値をとるには、データの符号ビットに応じて、まずデータ全体を論理反転し、その後最下位ビット（ＬＳＢ）に１を加算する必要がある。すなわち、データが負の数であれば自らの２の補数が絶対値となるから、自らのデータ全体を論理反転し、論理反転したデータの最下位ビットに１を加える。データが正の数であればそのデータの値が絶対値となる。よって、絶対値の比較を行うためには、比較を行うための演算回路の他に、加算器を用意しなければならない。
【０００４】
よって、２の補数表現で表された値の絶対値の比較を行うために、あらかじめ全てのデータの絶対値を計算し、その後それらの値の比較を行う方法か、各データの絶対値をそれぞれ計算しながら比較する方法が用いられる。
【０００５】
図５は、絶対値計算と比較演算とを同時に実行する絶対値比較回路の従来例を示す。以下、同一の構成要素には同一の符号を付し、説明を省略する。
図５において、Ｘ、Ｙはそれぞれ２の補数表現された多ビットのデータを表す。また、データＸ、Ｙの符号ビットすなわち最上位ビット（ＭＳＢ）をそれぞれａ，ｂと表す。
【０００６】
データ反転回路２ａのデータ入力端子にはデータＸが供給され、制御端子には信号ａが供給される。データ反転回路２ａは、データＸが負の数の場合、すなわち信号ａがハイレベルのとき、データＸを反転してデータＸ’を出力する。データＸが正の場合、すなわち信号ａがローレベルのときは、データＸをそのままデータＸ’として出力する。
【０００７】
１加算器３ａのデータ入力端子にはデータＸ’が供給され、制御端子には信号ａが供給される。１加算器３ａは、データＸが負の数の場合、すなわち信号ａがハイレベルのときは、データＸ’の最下位ビットに１を加算して、データＵとして出力する。データＸが正の場合、すなわち信号ａがローレベルの時は、データＸ’をそのままデータＵとして出力する。
【０００８】
同様に、データＹの絶対値Ｖを求める回路もデータ反転回路２ｂと１加算器３ｂから構成される。
データＵ及びデータＶは、符号なし比較回路（マグニチュード・コンパレータ）１の入力端子にそれぞれ供給される。符号なし比較回路１は、データＵとデータＶとを比較し、その結果をフラグＳＦとして出力する。フラグＳＦは、例えば、Ｕ≧ＶのときＳＦ＝０であり、Ｕ＜ＶのときＳＦ＝１である。
【０００９】
図６は、図５に示したデータ反転回路２ａの回路例を示す。この回路は、データ幅が４ビットである場合のものである。ｘ３〜ｘ０は順にデータＸの最上位ビットから最下位ビットまでを表し、ｘ３’〜ｘ０’は順にデータＸ’の最上位ビットから最下位ビットまでを表す。
【００１０】
図６に示すように、エクスクルシブオアゲート４ａ〜４ｄの第１の入力端子には最上位ビットデータａが供給され、エクスクルシブオアゲート４ａ〜４ｄの第２の入力端子にはそれぞれｘ３〜ｘ０が供給される。エクスクルシブオアゲート４ａ〜４ｄの出力信号は、それぞれｘ３’〜ｘ０’となる。
【００１１】
データ反転回路２ｂも図８に示した回路と同様の回路である。
図７は、図５に示した１加算器３ａの回路例を示す。この回路は、データ幅が４ビットである場合のものである。図７において、５ａ〜５ｄはエクスクルシブオアゲートを表し、６ａ〜６ｃはアンドゲートを表す。また、ｕ３〜ｕ０は順にデータＵの最上位ビットから最下位ビットまでを表す。
【００１２】
図７に示すように、エクスクルシブオアゲート５ｄ及びアンドゲート６ｃの第１の入力端子に信号ａが供給され、第２の入力端子に信号ｘ０’が供給される。エクスクルシブオアゲート５ｃ及びアンドゲート６ｂの第１の入力端子にはアンドゲート６ｃの出力端子が接続され、第２の入力端子に信号ｘ１’が供給される。エクスクルシブオアゲート５ｂ及びアンドゲート６ａの第１の入力端子はアンドゲート６ｂの出力端子が接続され、第２の入力端子に信号ｘ２’が供給される。エクスクルシブオアゲート５ａの第１の入力端子はアンドゲート６ａの出力端子に接続され、第２の入力端子に信号ｘ３’が供給される。また、エクスクルシブオアゲート５ａ〜５ｄの出力信号は、それぞれｕ３〜ｕ０となる。
【００１３】
１加算器３ｂも図７に示した１加算器３ａと同様の回路である。
図８は、図５に示した符号なし比較回路１の回路例を示す。この回路は、データ幅が４ビットである場合のものである。
【００１４】
図８において、７ａ〜７ｄはインバータ、８ａ〜８ｃはエクスクルーシブノアゲート、９ａ〜９ｄはアンドゲート、１０はオアゲートを表す。また、ｖ３〜ｖ０は順にデータＶの最上位ビットから最下位ビットまでを表す。
【００１５】
以下、図５に示した絶対値比較回路の動作を説明する。
図５に示した従来の絶対値比較回路に、まず、互いに比較対象になる２の補数表現されたデータＸ、Ｙを入力する。
【００１６】
次に、データＸ，Ｙが負の数を表している場合、すなわちデータＸ，Ｙの符号ビットａ，ｂがハイレベルであれば、データ反転回路２ａ，２ｂは、データＸ、Ｙの全ビットを反転して出力する。データＸ，Ｙが正の数を表している場合、すなわち符号信号ａ，ｂがローレベルであれば、データ反転回路２ａ，２ｂは、データの反転をせず、入力データをそのまま出力する。
【００１７】
その後、１加算器３によって、データ反転回路２が出力したデータの最下位ビットにそれぞれａ，ｂを加算する。こうして２の補数表現された二進数Ｘ、Ｙの絶対値Ｕ、Ｖが計算される。
【００１８】
このようにして計算された絶対値｜Ｘ｜、｜Ｙ｜は、符号なし比較回路１によってその大小関係が判定される。その結果、
｜Ｘ｜＜｜Ｙ｜のとき、ＳＦ＝１
｜Ｘ｜≧｜Ｙ｜のとき、ＳＦ＝０
が出力される。
【００１９】
【発明が解決しようとする課題】
上述のあらかじめ全てのデータの絶対値を計算し、それらの比較を行う方法では、処理に時間がかかる。
例えば、互いに比較対象となるデータをＸ，Ｙとすると、Ｘ、Ｙ双方に対して絶対値をとる処理を行う必要があるから、符号なしデータを比較する場合に比べて少なくとも３倍以上の処理時間が必要である。
【００２０】
また、絶対値をとる前のデータを保存する必要がある場合には、絶対値データ｜Ｘ｜、｜Ｙ｜を記憶する場所を確保する必要がある。そのため、メモリの記憶容量が符号なしデータを比較する場合と比べて、最大で約２倍必要となる。
【００２１】
一方、各データの絶対値をそれぞれ計算しながら比較する方法では、あらかじめ絶対値を計算する方法と異なり、必要な記憶容量が増大することはない。しかし、符号なしデータを比較する場合と比べると、３倍以上の処理時間が必要となる。もし、処理時間を符号なしデータの比較と同程度にまで短縮しようとすると、ハードウェアの量が３倍程度まで増大してしまう。
本発明は、上記課題に鑑みてなされたもので、絶対値を直接比較する回路のハードウェア量を少なくし、処理時間を短縮することを目的とする。
【００２２】
【課題を解決するための手段】
本発明の絶対値比較回路の第１の態様は、入力端子に２の補数表現された複数ビットの二進数である第１のデータが供給され、制御端子を有する第１のデータ反転手段と、入力端子に前記第１のデータ反転手段の出力データが供給され、制御端子を有する１加算手段と、入力端子に２の補数表現された複数ビットの二進数である第２のデータが供給され、制御端子を有する第２のデータ反転手段と、桁上げ信号入力端子を有し、前記１加算手段の出力データと前記第２のデータ反転手段の出力データと桁上げ信号入力端子に供給される信号との和を出力する加算手段と、前記第１のデータ反転手段の制御端子と前記１加算手段の制御端子とに前記第１のデータの符号ビットを選択的に供給する第１の選択ゲートと、前記第２のデータ反転手段の制御端子に前記第２のデータの符号ビットの反転信号を選択的に供給する第２の選択ゲートと、前記加算手段の桁上げ信号入力端子に外部桁上げ入力信号と前記第２のデータの符号ビットの反転信号とを切り換えて供給する第３の選択ゲートとを具備している。
本発明の絶対値比較回路の第２の態様は、入力端子に２の補数表現された複数ビットの二進数である第１のデータが供給され、制御端子を有する第１のデータ反転手段と、入力端子に前記第１のデータ反転手段の出力データが供給され、制御端子を有する１加算手段と、入力端子に２の補数表現された複数ビットの二進数である第２のデータが供給され、制御端子を有する第２のデータ反転手段と、桁上げ信号入力端子を有し、前記１加算手段の出力データと前記第２のデータ反転手段の出力データと桁上げ信号入力端子に供給される信号との和を出力する加算手段と、前記第１のデータ反転手段の制御端子に前記第１のデータの符号ビットを選択的に供給する第１の選択ゲートと、前記第２のデータ反転手段の制御端子と前記１加算手段の制御端子とに前記第２のデータの符号ビットの反転信号を選択的に供給する第２の選択ゲートと、前記加算手段の桁上げ信号入力端子に外部桁上げ入力信号と前記第２のデータの符号ビットの反転信号とを切り換えて供給する第３の選択ゲートとを具備している。
【００２３】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
図１は、本発明の前提としての第１の例を示す。
Ｘ、Ｙはそれぞれ２の補数表現された複数ビットの二進数データを表す。また、データＸ、Ｙの符号ビットすなわち最上位ビット（ＭＳＢ）をそれぞれａ，ｂと表す。
【００２４】
図１において、データ反転回路２ａのデータ入力端子にはデータＸが供給され、制御端子には信号ａが供給される。データ反転回路２ａは、例えば図６に示した従来の回路と同様の回路構成である。データ反転回路２ａは、データＸが負の数の場合、すなわち信号ａがハイレベルのとき、データＸを反転してデータＸ’を出力する。データＸが正の場合、すなわち信号ａがローレベルのときは、データＸをそのままデータＸ’として出力する。
【００２５】
また、１加算器３ａのデータ入力端子にはデータＸ’が供給され、制御端子には信号ａが供給される。１加算器３ａは、例えば図７に示した従来の１加算器と同様の回路構成を有する。１加算器３ａは、データＸが負の数の場合、すなわち信号ａがハイレベルのときは、データＸ’の最下位ビットに１を加算して、データＵとして出力する。データＸが正の場合、すなわち信号ａがローレベルの時は、データＸ’をそのままデータＵとして出力する。この出力データＵは、データＸの絶対値｜Ｘ｜である。
【００２６】
また、データ反転回路２ｂのデータ入力端子にはデータＹが供給される。信号ｂはインバータ１１の入力端子に供給され、インバータ１１の出力端子はデータ反転回路２ｂの制御端子に接続される。データ反転回路２ｂは、例えば図６に示した従来の回路と同様の回路構成をしている。データ反転回路２ｂは、データＸが正の数の場合、すなわち信号ｂがローレベルのとき、データＹを反転したデータ／Ｙ（以下、／は反転信号を表すことにする）をデータＹ’として出力する。データＸが負の場合、すなわち信号ｂがハイレベルのときは、データＹをそのままデータＹ’として出力する。
【００２７】
データＵ及びデータＹ’は、加算器１２の第１及び第２のデータ入力端子にそれぞれ供給される。また、加算器１２の桁上げ入力端子にはインバータ１１の出力信号ｃが供給される。
【００２８】
図２は、加算器１２の回路例を示す。データＸ、Ｙ’が４ビットのデータ構造であり、ｘ３〜ｘ０、ｙ３’〜ｙ０’、ｚ３〜ｚ０はそれぞれデータＸ、Ｙ’、Ｚの最上位ビットから最下位ビットまでを順に表すものとする。
【００２９】
信号ｘ０〜ｘ３はそれぞれエクスクルシブオアゲート１４ａ〜１４ｄの第１の入力端子に供給され、信号ｙ０’〜ｙ３’はそれぞれエクスクルシブオアゲート１４ａ〜１４ｄの第２の入力端子に供給される。
【００３０】
また、信号ｘ０〜ｘ２は、それぞれアンドゲート１６ａ〜１６ｃの第１の入力端子に供給され、信号ｙ０’〜ｙ２’はそれぞれアンドゲート１６ａ〜１６ｃの第２の入力端子に供給される。
【００３１】
エクスクルシブオアゲート１４ａ〜１４ｃの出力端子は、それぞれエクスクルシブオアゲート１３ａ〜１３ｃの第１の入力端子とアンドゲート１５ａ〜１５ｃの第１の入力端子に接続される。エクスクルシブオアゲート１４ｄの出力端子は、エクスクルシブオアゲート１３ｄの第１の入力端子に接続される。
【００３２】
アンドゲート１５ａ〜１５ｃの出力端子はそれぞれオアゲート１７ａ〜１７ｃの第１の入力端子に接続され、アンドゲート１６ａ〜１６ｃの出力端子はオアゲート１７ａ〜１７ｃの第２の入力端子に接続される。
【００３３】
また、エクスクルシブオアゲート１３ａの第２の入力端子には信号ｃが供給され、エクスクルシブオアゲート１３ｂ〜１３ｄの第２の入力端子はそれぞれオアゲート１７ａ〜１７ｃの出力端子に接続される。
【００３４】
エクスクルシブオアゲート１３ａ〜１３ｄの出力信号は、それぞれ信号ｚ０〜ｚ３となる。
次に、図１に示した第１の例の動作を説明する。
【００３５】
まず、第１の例における絶対値比較方法を説明する。
２の補数表現された複数ビットの二進数データＸ、Ｙの絶対値を｜Ｘ｜、｜Ｙ｜として、次の演算を行うとする。
Ｚ＝｜Ｘ｜−｜Ｙ｜                          …式（１）
演算の結果が、
Ｚ＜０  ならば  ｜Ｘ｜＜｜Ｙ｜
Ｚ＝０  ならば  ｜Ｘ｜＝｜Ｙ｜
Ｚ＞０  ならば  ｜Ｘ｜＞｜Ｙ｜              …式（２）
である。よって、Ｚの符号ビットは、従来例における信号ＳＦと等しく、Ｚの符号ビットにより絶対値の比較結果を表すことができる。すなわち、
｜Ｘ｜＜｜Ｙ｜のとき、ＳＦ＝１
｜Ｘ｜≧｜Ｙ｜のとき、ＳＦ＝０
である。
ここで、式（１）は
Ｚ＝｜Ｘ｜＋（−｜Ｙ｜）                    …式（３）
のように書き直すことができる。したがって、データＸの絶対値と、データＹの絶対値に負の符号を付したものとを加算すると、絶対値の比較をすることができる。
【００３６】
本第１の例は、入力データＸ、Ｙに上述の式（３）の演算を施してデータＺを出力するものである。
すなわち、入力データＸの符号ビットａが１である場合は、データＸをデータ反転回路２ａで反転し、その結果に１加算器３ａで１だけ加算し、その結果をデータＵとして出力する。符号ビットａが０である場合は、データＸをそのままデータＵとして出力する。
【００３７】
また、入力データＹの符号ビットｂが０である場合は、データＹをデータ反転回路２ｂで反転し、データ／ＹをデータＹ’として出力する。符号ビットｂが１である場合は、データＹをそのままデータＹ’として出力する。
【００３８】
加算器１２は、１加算器３ａの出力データＵと反転回路２ｂの出力データＹ’と入力データＹの符号ビットｂの反転信号とを加算して、データＺを出力する。データＹが正の数を表すとき、符号ビットｂの反転信号は１であるから、加算器１２の出力データＺは、
Ｚ＝｜Ｘ｜＋／Ｙ＋１
となる。２の補数表現では、
−Ｙ＝／Ｙ＋１
となるから、
Ｚ＝｜Ｘ｜−Ｙ＝｜Ｘ｜−｜Ｙ｜
が得られる。
データＹが負の数を表すときは、符号ビットｂの反転信号は０であるから、加算器１２は、
Ｚ＝｜Ｘ｜＋Ｙ
＝｜Ｘ｜−｜Ｙ｜
の演算を行う。
【００３９】
このように、Ｙの正負にかかわらず、Ｚ＝｜Ｘ｜−｜Ｙ｜であり、式（１）の関係が成り立つ。よって、Ｚの最上位ビットである符号ビットにより式（２）に示したようにＸの絶対値とＹの絶対値を比較した結果を知ることができる。
【００４０】
本第１の例では、例えば４ビットのデータの絶対値の比較を行う回路である場合、従来例では３４ゲートで構成されていたものを３３ゲートで構成することができる。また、本第１の例は、従来のあらかじめ絶対値を計算しその後比較を行う方法に比べて、演算時間を約１／３に減らすことができる。さらに、加算器１２はＣＰＵ、ＤＳＰのＡＬＵなどに設けられているので、わずかなゲートを付加し加算器を共用することでＣＰＵ、ＤＳＰなどに絶対値比較回路を組み込むことができる。
【００４１】
図３は、本発明の絶対値比較回路の前提としての第２の例を示す。
図３において、データ反転回路２ａのデータ入力端子にはデータＸが供給され、制御端子には信号ａが供給される。
【００４２】
データ反転回路２ｂのデータ入力端子にはデータＹが供給される。信号ｂはインバータ１１の入力端子に供給され、インバータ１１の出力端子はデータ反転回路２ｂの制御端子に接続される。
【００４３】
１加算器３ｂのデータ入力端子にはデータ反転回路２ｂの出力データＹ’が供給され、制御端子はインバータ１１の出力端子に接続される。１加算器３ｂは、例えば図７に示したような回路である。
【００４４】
加算器１２の第１のデータ入力端子にはデータ反転回路２ａの出力データＸ’が供給され、第２のデータ入力端子には１加算器３ｂの出力データＶ’が供給され、桁上げ入力端子には信号ａが供給される。加算器１２は、演算結果をデータＺとして出力する。
【００４５】
図３に示した回路は、Ｚ＝｜Ｘ｜−｜Ｙ｜の演算を行う。よって、図１に示した実施例と同様に、データＺの符号フラグＳＦにより、データＸ、Ｙの絶対値の比較結果を知ることができる。
【００４６】
入力データＸが正の場合は、ａ＝０であり、Ｘ’＝Ｘである。データＸが負の場合は、ａ＝１であり、Ｘ’＝／Ｘである。
また、入力データＹが正の場合は、ｂ＝０である。よって、データＹはデータ反転回路２ｂで反転され、１加算器３ｂで最下位ビットに１が加算される。従って、Ｖ’＝／Ｙ＋１＝−Ｙである。一方、データＹが負の場合は、Ｖ’＝Ｙとなる。よって、データＹの正負を問わず、Ｖ’＝−｜Ｙ｜となる。
【００４７】
以上より、データＸが正の場合は、加算器１２の桁上げ入力信号は０であるから、Ｚ＝Ｘ−｜Ｙ｜となる。データＸが負の場合は、加算器１２の桁上げ入力信号は１であるから、Ｚ＝／Ｘ＋１−｜Ｙ｜＝−Ｘ−｜Ｙ｜となる。
【００４８】
したがって、データＸの正負に関わらず、Ｚ＝｜Ｘ｜−｜Ｙ｜となる。
本第２の例では、図１に示した第１の例と同様の効果を得ることができる。また、加算器はＣＰＵ、ＤＳＰのＡＬＵなどに必ず設けられているので、わずかなゲートを付加し加算器を共用することでＣＰＵ、ＤＳＰなどに絶対値比較回路を組み込むことができる。
【００４９】
さらに、上述の第２の例において、引き算をすることができるＡＬＵがＣＰＵなどに組み込まれている場合は、データ反転回路もＣＰＵに設けられている。よって、加算器とデータ反転回路をＡＬＵと共有することで、より少ないゲート数よりなる回路を組み込むだけで、絶対値比較回路を実現することができる。
【００５０】
図４は、キャリー付加算が可能なＡＬＵと加算器を共有する場合の本発明の実施例を示す。
図４に示した回路は、図１に示した回路に、アンドゲート１８、１９及びマルチプレクサ２０を付加したものである。アンドゲート１８の第１の入力端子はインバータ１１の出力端子が接続され、第２の入力端子には切り換え信号が供給され、出力端子はデータ反転回路２ｂの制御端子に接続される。マルチプレクサ２０の第１の入力端子はアンドゲート１８の出力端子に接続され、第２の入力端子には例えばキャリー信号が供給され、制御端子には切り換え信号が供給され、出力端子は加算器１２の桁上げ信号入力端子に接続される。また、アンドゲート１９の第１の入力端子には信号ａが供給され、第２の入力端子には切り換え信号が供給され、出力端子はデータ反転回路２ａの制御端子と１加算器３ａの制御端子に接続される。
【００５１】
本実施例において、切り換え信号がローレベルのときは、データ反転回路２ａ、２ｂの制御端子及び１加算器３ａの制御端子にローレベルの信号が供給される。マルチプレクサ２０は外部入力信号である例えばキャリー信号を出力する。よって、データＵ、Ｙ’はそれぞれデータＸ、Ｙであり、加算器１２の桁上げ信号としてキャリー信号が供給される。したがって、演算結果は、Ｚ＝Ｘ＋Ｙ＋（キャリー信号）となる。
【００５２】
一方、切り換え信号がハイレベルのときは、データ反転回路２ａの制御端子及び１加算器３ａの制御端子に信号ａが供給され、データ反転回路２ｂの制御端子に信号／ｂが供給され、マルチプレクサ２０は信号／ｂを出力する。よって、この回路は、図１に示した第１の例と同様の動作をし、演算結果は、Ｚ＝｜Ｘ｜−｜Ｙ｜となる。
【００５３】
このように、本実施例では、データ反転回路２ａ、１加算器３ａ、インバータ１１、アンドゲート１８、１９及びマルチプレクサ２０をキャリー付加算が可能なＡＬＵに付加するだけで、絶対値比較回路を構成することができる。
【００５４】
なお、図４に示した実施例において、アンドゲート１９の出力端子をデータ反転回路２ａの制御端子とマルチプレクサ２０の第１の入力端子に接続し、アンドゲート１８の出力端子をデータ反転回路２ｂの制御端子と１加算器３ａの制御端子に接続しても、図４に示した実施例と同様の効果を得ることができる。
【００５５】
【発明の効果】
以上説明したように、本発明によれば、絶対値の計算と比較とを同時に行うため、あらかじめ絶対値を計算しその後比較を行う方法に比べて演算時間を減らすことができる。また、本発明によれば、ＣＰＵやＤＳＰなどに組み込み、それらの加算器を共用するため、ハードウェアの量を減らすことが可能となる。
【図面の簡単な説明】
【図１】  本発明の前提としての第１の例を示す図。
【図２】  加算器を示す回路図。
【図３】  本発明の前提としての第２の例を示す図。
【図４】  本発明の実施例を示す図。
【図５】  従来例を示す図。
【図６】  反転回路を示す回路図。
【図７】  １加算器を示す回路図。
【図８】  符号なし比較回路を示す回路図。
【符号の説明】
２ａ、２ｂ…データ反転回路、
３ａ、３ｂ…１加算器、
１１…インバータ、
１２…加算器
１８、１９…アンドゲート、
２０…マルチプレクサ、
Ｘ、Ｙ…入力データ、
ａ、ｂ…符号ビット、
Ｚ…出力データ、
ＳＦ…フラグ。
【図１】
0003735425.tif 000002
【図２】
0003735425.tif 000003
【図３】
0003735425.tif 000004
【図４】
0003735425.tif 000005
【図５】
0003735425.tif 000006
【図６】
0003735425.tif 000007
【図７】
0003735425.tif 000008
【図８】
0003735425.tif 000009