(57)【特許請求の範囲】
【請求項１】
自然数ｉおよびｊを０≦ｉ，ｊ≦ｎ−１とし、整数ｎを２≦ｎとした場合に、ｎビットのデータＡを構成するビットデータＡ0 ，Ａ1 ，．．，Ａi ，．．，Ａn-2 ，Ａn-1 と、ｎビットのデータＢを構成するビットデータＢ0 ，Ｂ1 ，．．，Ｂi ，．．，Ｂn-2 ，Ｂn-1 と、ｎビットのデータＣを構成するビットデータＣ0 ，Ｃ1 ，．．，Ｃj ，．．，Ｃn-2 ，Ｃn-1 とを用いて、演算「（Ａ−Ｂ）×Ｃ」を行う演算処理装置において、
ビットデータＡi ，Ｂi およびＣj を入力し、ビットデータＣj が論理値「１」のときにビットデータＡi を出力し、ビットデータＣj が論理値「０」のときにビットデータＢi を出力し、前記自然数ｉとｊとの全ての組み合わせのそれぞれに対応して設けられた複数のビットデータ選択手段と、
前記ビットデータ選択手段から出力されたビットデータを（ｉ＋ｊ）ビット目に下位のビットからの桁上げであるキャリーデータを含めて加算するように、各ビット毎に、前記ビットデータ選択手段から出力されたビットデータと、前記データＢの２の補数データを最上位ビットに向けてｎビットだけシフトしたデータと、前記データＢとを加算する加算手段と
を有する演算処理装置。
【請求項２】
前記ビットデータＢ0 ，Ｂ1 ，．．，Ｂi ，．．，Ｂn-2 ，Ｂn-1 を反転したビットデータＢ0 ￣，Ｂ1 ￣，．．，Ｂi ￣，．．，Ｂn-2 ￣，Ｂn-1 ￣を求める反転値生成手段
をさらに有し、
前記加算手段は、
ｎ＋１，．．，（ｎ＋ｉ），．．，（２ｎ−１）ビット目に、前記反転値生成手段で求めた前記ビットデータＢ1 ￣，．．，Ｂi ￣，．．，Ｂn-1 ￣をそれぞれ加算し、
ｎビット目に、前記ビットデータＢ0 ￣と、論理値「１」とを加算する
請求項１に記載の演算処理装置。
【請求項３】
前記加算手段は、
０，１，．．，ｉ，．．，（ｎ−２），（ｎ−１）ビット目に、前記データＢのビットデータＢ0 ，Ｂ1 ，．．，Ｂi ，．．，Ｂn-2 ，Ｂn-1 をそれぞれ加算する
請求項１に記載の演算処理装置。
【請求項４】
前記加算手段は、前記加算の加算結果として、ビットデータＳ0 ，Ｓ1 ，．．，Ｓ2n-1，Ｓ2nからなる（２ｎ＋１）ビットのデータＳを出力し、
前記ビットデータＳ2nは、符号値を示す
請求項１に記載の演算処理装置。
【請求項５】
前記ビットデータ選択手段は、入力したビットデータＣi が論理値「１」のときに導通状態となる第１のトランスミッションゲートと、前記入力したビットデータＣi が論理値「０」のときに導通状態となる第２のトランスミッションゲートとを有する
請求項１に記載の演算処理装置。
【請求項６】
自然数ｉおよびｊを０≦ｉ，ｊ≦ｎ−１とし、整数ｎを２≦ｎとした場合に、ｎビットのデータＡを構成するビットデータＡ0 ，Ａ1 ，．．，Ａi ，．．，Ａn-2 ，Ａn-1 と、ｎビットのデータＢを構成するビットデータＢ0 ，Ｂ1 ，．．，Ｂi ，．．，Ｂn-2 ，Ｂn-1 と、ｎビットのデータＣを構成するビットデータＣ0 ，Ｃ1 ，．．，Ｃj ，．．，Ｃn-2 ，Ｃn-1 とを用いて、演算「（Ａ−Ｂ）×Ｃ」を行う演算処理方法において、
前記自然数ｉとｊとの全ての組み合わせのそれぞれについて、ビットデータＡi ，Ｂi およびＣj を入力し、ビットデータＣj が論理値「１」のときにビットデータＡi を選択し、ビットデータＣj が論理値「０」のときにビットデータＢi を選択する処理を行い、
前記選択されたビットデータを（ｉ＋ｊ）ビット目に下位のビットからの桁上げであるキャリーデータを含めて加算するように、各ビット毎に、前記選択されたビットデータと、前記データＢの２の補数データを最上位ビットに向けてｎビットだけシフトしたデータと、前記データＢとを加算する
演算処理方法。
【請求項７】
前記ビットデータＢ0 ，Ｂ1 ，．．，Ｂi ，．．，Ｂn-2 ，Ｂn-1 を反転したビットデータＢ0 ￣，Ｂ1 ￣，．．，Ｂi ￣，．．，Ｂn-2 ￣，Ｂn-1 ￣を求め、
ｎ＋１，．．，（ｎ＋ｉ），．．，（２ｎ−１）ビット目に、前記ビットデータＢ1 ￣，．．，Ｂi ￣，．．，Ｂn-1 ￣をそれぞれ加算し、
ｎビット目に、前記ビットデータＢ0 ￣と、論理値「１」とを加算する
請求項６に記載の演算処理方法。
【請求項８】
０，１，．．，ｉ，．．，（ｎ−２），（ｎ−１）ビット目に、前記データＢのビットデータＢ0 ，Ｂ1 ，．．，Ｂi ，．．，Ｂn-2 ，Ｂn-1 をそれぞれ加算する
請求項６に記載の演算処理方法。
【請求項９】
前記加算の加算結果として、ビットデータＳ0 ，Ｓ1 ，．．，Ｓ2n-1，Ｓ2nからなる（２ｎ＋１）ビットのデータＳを出力し、
前記ビットデータＳ2nは、符号値を示す
請求項６に記載の演算処理方法。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、演算処理装置およびその方法に関する。
【０００２】
【従来の技術】
正の２進数データＡ，ＢおよびＣを入力して、演算「（Ａ−Ｂ）×Ｃ」を行う演算処理装置がある。
以下、演算「（Ａ−Ｂ）×Ｃ」を行う従来の演算処理装置について説明する。
図６は、演算「（Ａ−Ｂ）×Ｃ」を行う従来の演算処理装置１の構成図である。
図６に示すように、演算処理装置１は、減算器２および乗算器３を有し、それぞれ４ビットのデータＡ，ＢおよびＣを用いて、演算「（Ａ−Ｂ）×Ｃ」を行う。
演算処理装置１では、例えば、４ビットのデータＡと４ビットのデータＢとの減算を減算器２で行い、その符号付きの５ビットの減算結果Ｙと、符号拡張によりＭＳＢ(Most Significant Bit)が論理値「０」の５ビットのデータＣとの乗算を乗算器３で行う。そして、乗算器３の乗算結果が、演算「（Ａ−Ｂ）×Ｃ」の演算結果となる。
【０００３】
減算器２としては、例えば、図７に示すように、全加算器（ＦＡ: Full Adder) １０0 , １０1 ，１０2 ，１０3 を直列に接続したリップルキャリー(Ripple Carry)型の加算器が用いられる。
この減算器２では、ＬＳＢ(Least Significant Bit) に対応する演算を行う全加算器１０1 のＣｉ(Carry in)端子に２の補数を求めるための「１」が入力される。また、全加算器１０0 〜１０3 には、それぞれデータＡのビットデータＡ0 〜Ａ3 が入力されると共に、インバータ１１0 〜１１3 を介して、データＢのビットデータＢ0 〜Ｂ3 が入力される。そして、全加算器１０0 〜１０3 のｓ端子から、４ビットの減算結果ＹのビットデータＹ0 〜Ｙ3 がそれぞれ出力されると共に、全加算器１０3 のＣＯ(Carry Out) 端子から減算結果Ｙの符号を示すビットデータＹ4 が出力される。
【０００４】
なお、全加算器１０1 〜１０3 としては、図８に示すように、ＡＮＤ回路１５1 ，１５2 、ＯＲ回路１６1 ，１６2 およびＸＯＲ(exclusive OR)回路１７1 ，１７2 を組み合わせて構成される一般的な全加算器が用いられる。全加算器１０1 〜１０3 では、ｉｎ1 端子、ｉｎ2 端子およびＣｉ(Carry in)端子から入力されたビットデータが加算され、当該加算結果のキャリーがＣＯ(Carry Out) 端子から出力され、和データがＳ端子から出力される。
【０００５】
次に、図６に示す乗算器３の構成について説明する。
図９は、乗算器３が採用するバウウーリ(Baugh Wooly) 方式による２の補数乗算を説明するための図である。
図１０は、図９に示す２の補数乗算を行う乗算器３の構成図である。
図１０に示すように、乗算器３は、部分積加算回路２０および最終段加算回路３０を有する。
部分積加算回路２０は、Wallace-tree方式を採用しており、ＡＮＤ回路２１0 〜２１24、全加算器２２1 〜２２13、半加算器２３1 〜２３3 、インバータ回路２４1 〜２４11を有する。
また、最終段加算回路３０は、リップルキャリー方式を採用しており、全加算器２２14〜２２19および半加算器２３4 ，２３5 を有する。
ここで、全加算器２２14〜２２19は、前述した図８に示す構成をしている。また、半加算器２３1 〜２３3 としては、図１１に示すように、ＡＮＤ回路１５3 およびＸＯＲ回路１７3 を有し、ｉｎ1 端子およびｉｎ2 端子から入力したデータを加算し、当該加算結果のキャリーをＣＯ(Carry Out) 端子から出力し、和データをＳ端子から出力する。
【０００６】
乗算器３では、部分積加算回路２０のＡＮＤ回路２１0 〜２１24において、減算器２からの減算結果ＹのビットデータＹ0 ，Ｙ1 ，Ｙ2 ，Ｙ3 ，Ｙ4 と、符号拡張によりＭＳＢが論理値「０」のデータＣのビットデータＣ0 ，Ｃ1 ，Ｃ2 ，Ｃ3 ，０とを用いて、図９に示す部分積がそれぞれ演算される。そして、当該演算された部分積が、各桁毎に、下の桁からの桁上げを含めて、部分積加算回路２０および最終段加算回路３０の全加算器２２1 〜２２19および半加算器２３1 〜２３5 で加算される。これにより、ＡＤＮ回路２１0 の出力端子、半加算器２３1 ，２３4 、全加算器２２14，２２15，２２16，２２17，２２18，２２19および半加算器２３5 のｓ端子から出力される和データが、１０ビットの演算結果ＳのそれぞれビットデータＳ0 ，Ｓ1 ，Ｓ2 ，Ｓ3 ，Ｓ4 ，Ｓ5 ，Ｓ6 ，Ｓ7 ，Ｓ8 ，Ｓ9 になる。
【０００７】
【発明が解決しようとする課題】
ところで、上述した従来の演算処理装置１では、図７および図１０に示すように、全加算器１０0 〜１０3 、ＡＮＤ回路２１0 〜２１24、全加算器２２1 〜２２19、半加算器２３1 〜２３5 およびインバータ回路２４1 〜２４11を有し、回路が大規模化するという問題がある。
すなわち、演算処理装置１では、図１に示すように、減算器２で減算を行うため、４ビットのデータＡ，Ｂを用いた場合には、その減算結果は符号ビットを含めて５ビットになる。その結果、乗算器３では、５ビットの乗算を行う必要があり、回路が大規模化する。
また、上述した従来の演算処理装置１では、演算のクリティカルパスは、全加算器１０0 〜１０3 、半加算器２３4 、全加算器２２14，２２15，２２16，２２17，２２18，２２19および半加算器２３5 となり、演算時間が長いという問題がある。
【０００８】
本発明は上述した従来技術の問題点に鑑みてなされ、演算「（Ａ−Ｂ）×Ｃ」を行う回路の規模を縮小できる演算処理装置を提供することを目的とする。
また、本発明は、演算「（Ａ−Ｂ）×Ｃ」の演算時間を短縮化できる演算処理装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上述した従来技術の問題点を解決し、上述した目的を達成するために、本発明の演算処理装置は、自然数ｉおよびｊを０≦ｉ，ｊ≦ｎ−１とし、整数ｎを２≦ｎとした場合に、ｎビットのデータＡを構成するビットデータＡ0 ，Ａ1 ，．．，Ａi ，．．，Ａn-2 ，Ａn-1 と、ｎビットのデータＢを構成するビットデータＢ0 ，Ｂ1 ，．．，Ｂi ，．．，Ｂn-2 ，Ｂn-1 と、ｎビットのデータＣを構成するビットデータＣ0 ，Ｃ1 ，．．，Ｃj ，．．，Ｃn-2 ，Ｃn-1 とを用いて、演算「（Ａ−Ｂ）×Ｃ」を行う演算処理装置であって、ビットデータＡi ，ＢiおよびＣj を入力し、Ｃj が論理値「１」のときにビットデータＡi を出力し、Ｃj が論理値「０」のときにビットデータＢi を出力し、前記自然数ｉとｊとの全ての組み合わせのそれぞれに対応して設けられた複数のビットデータ選択手段と、前記ビットデータ選択手段から出力されたビットデータを（ｉ＋ｊ）ビット目に下位のビットからの桁上げであるキャリーデータを含めて加算するように、各ビット毎に、前記ビットデータ選択手段から出力されたビットデータと、前記データＢの２の補数データを最上位ビットに向けてｎビットだけシフトしたデータと、前記データＢとを加算する加算手段とを有する。
【００１０】
本発明の演算処理装置では、下記式（１）に基づいて、演算「（Ａ−Ｂ）×Ｃ」を行う。
【００１１】
【数１】
0004042215.tif 000002
【００１２】
すなわち、本発明の演算処理装置では、複数のビットデータ選択手段の各々において、入力されたビットデータＡi ，Ｂi のうち、入力したＣj が論理値「１」のときにビットデータＡi が出力され、Ｃj が論理値「０」のときにビットデータＢi が出力される。
次に、加算手段において、前記ビットデータ選択手段から出力されたビットデータが（ｉ＋ｊ）ビット目に下位のビットからの桁上げであるキャリーデータを含めて加算されるように、各ビット毎に、前記ビットデータ選択手段から出力されたビットデータと、前記データＢの２の補数データを最上位ビットに向けてｎビットだけシフトしたデータと、前記データＢとが加算される。
【００１３】
また、本発明の演算処理方法は、同様に、前記式（１）に基づいて、演算「（Ａ−Ｂ）×Ｃ」を行う。
すなわち、本発明の演算処理方法は、自然数ｉおよびｊを０≦ｉ，ｊ≦ｎ−１とし、整数ｎを２≦ｎとした場合に、ｎビットのデータＡを構成するビットデータＡ0 ，Ａ1 ，．．，Ａi ，．．，Ａn-2 ，Ａn-1 と、ｎビットのデータＢを構成するビットデータＢ0 ，Ｂ1 ，．．，Ｂi ，．．，Ｂn-2 ，Ｂn-1 と、ｎビットのデータＣを構成するビットデータＣ0 ，Ｃ1 ，．．，Ｃj ，．．，Ｃn-2 ，Ｃn-1 とを用いて、演算「（Ａ−Ｂ）×Ｃ」を行う演算処理方法において、
前記自然数ｉとｊとの全ての組み合わせのそれぞれについて、ビットデータＡi ，Ｂi およびＣj を入力し、Ｃj が論理値「１」のときにビットデータＡi を選択し、Ｃj が論理値「０」のときにビットデータＢi を選択する処理を行い、前記選択されたビットデータを（ｉ＋ｊ）ビット目に下位のビットからの桁上げであるキャリーデータを含めて加算するように、各ビット毎に、前記選択されたビットデータと、前記データＢの２の補数データを最上位ビットに向けてｎビットだけシフトしたデータと、前記データＢとを加算する。
【００１４】
【発明の実施の形態】
以下、本発明の実施形態に係わる演算処理装置およびその方法について説明する。
図１は、４ビットのデータＡ，Ｂ，Ｃを用いて、演算「Ｓ＝（Ａ−Ｂ）×Ｃ」を行う演算処理装置４０の構成図である。
図１に示すように、演算処理装置４０は、部分積加算回路４１および最終段加算回路４２を有する。
部分積加算回路４１は、本発明のビットデータ選択手段としてのマルチプレクサ５０0 〜５０15、全加算器（ＦＡ）５２1 〜５２10、半加算器（ＨＡ）５３1 〜５３3 、インバータ回路５４1 〜５４4 、入力部５５，５６および出力部５７を有する。
最終段加算回路４２は、全加算器５２11〜５２16および半加算器５３4 を有する。
【００１５】
入力部５５は、それぞれビットデータＡ0 ，Ａ1 ，Ａ2 ，Ａ3 ，Ｂ0 ，Ｂ1 ，Ｂ2 ，Ｂ3 を入力するＡ0 ，Ａ1 ，Ａ2 ，Ａ3 ，Ｂ0 ，Ｂ1 ，Ｂ2 ，Ｂ3 端子を有する。
ここで、ビットデータＡ0 ，Ａ1 ，Ａ2 ，Ａ3 によって４ビットのデータＡが構成され、ビットデータＢ0 ，Ｂ1 ，Ｂ2 ，Ｂ3 によって４ビットのデータＢが構成される。
【００１６】
入力部５６は、それぞれビットデータＣ0 ，Ｃ1 ，Ｃ2 ，Ｃ3 を入力するＣ0 ，Ｃ1 ，Ｃ2 ，Ｃ3 端子を有する。
ここで、ビットデータＣ0 ，Ｃ1 ，Ｃ2 ，Ｃ3 によって４ビットのデータＣが構成される。
【００１７】
出力部５７は、それぞれビットデータＳ0 ，Ｓ1 ，Ｓ2 ，Ｓ3 ，Ｓ4 ，Ｓ5 ，Ｓ6 ，Ｓ7 ，Ｓ8 を出力するＳ0 ，Ｓ1 ，Ｓ2 ，Ｓ3 ，Ｓ4 ，Ｓ5 ，Ｓ6 ，Ｓ7 ，Ｓ8 端子を有する。
ここで、ビットデータＳ0 ，Ｓ1 ，Ｓ2 ，Ｓ3 ，Ｓ4 ，Ｓ5 ，Ｓ6 ，Ｓ7 ，Ｓ8 によって９ビットのデータＳが構成される。
【００１８】
マルチプレクサ５０0 〜５０15は、それぞれ下記式（２）で定義される部分積Ｐ0,0 ，Ｐ1,0 ，Ｐ0,1 ，Ｐ2,0 ，Ｐ1,1 ，Ｐ0,2 ，Ｐ3,0 ，Ｐ2,1 ，Ｐ1,2 ，Ｐ0,3 ，Ｐ3,1 ，Ｐ2,2 ，Ｐ1,3 ，Ｐ3,2 ，Ｐ2,3 ，Ｐ3,3 を求める。
【００１９】
【数２】
0004042215.tif 000003
【００２０】
図２は、マルチプレクサ５０0 〜５０15の構成図である。
図２に示すように、マルチプレクサ５０0 〜５０15は、インバータ７０1 〜７０4 、トランスミッションゲート７０1 ，７０2 、ｓ端子、ａ端子、ｂ端子およびｏ端子を有する。
マルチプレクサ５０0 〜５０15では、ｓ端子が論理値「１」のときに、トランスミッションゲート７０1 をオフにし、トランスミッションゲート７０2 をオンにして、ａ端子のレベルをｏ端子のレベルとして出力する。一方、マルチプレクサ５０0 〜５０15では、ｓ端子が論理値「０」のときに、トランスミッションゲート７０1 をオンにし、トランスミッションゲート７０2 をオフにして、ｂ端子のレベルをｏ端子のレベルとして出力する。
【００２１】
すなわち、マルチプレクサ５０0 〜５０15では、ビットデータＣj が論理値「１」のときにａ端子に入力されたビットデータＡi をｏ端子から出力し、ビットデータＣj が論理値「０」のときにａ端子に入力されたビットデータＢi をｏ端子から出力する。
【００２２】
マルチプレクサ５０0 〜５０15で算出された、部分積Ｐ0,0 ，Ｐ1,0 ，Ｐ0,1 ，Ｐ2,0 ，Ｐ1,1 ，Ｐ0,2 ，Ｐ3,0 ，Ｐ2,1 ，Ｐ1,2 ，Ｐ0,3 ，Ｐ3,1 ，Ｐ2,2 ，Ｐ1,3 ，Ｐ3,2 ，Ｐ2,3 ，Ｐ3,3 は、それぞれ（ｉ＋ｊ）ビット目に加算されるように、全加算器５２1 〜５２16および半加算器５３1 〜５３4 において、各ビット毎に、下位ビットからのキャリーを含めて加算される。これにより、下記式（３）に示す「Ａ×Ｃ＋Ｂ×Ｃ￣」が演算される。
【００２３】
【数３】
0004042215.tif 000004
【００２４】
ここで、全加算器５２1 〜５２16としては、前述した図８に示す構成のものが用いられる。また、半加算器５３1 〜５３4 としては、前述した図１１に示すものが用いられる。
【００２５】
インバータ回路５４1 ，５１2 ，５１3 〜５４4 は、それぞれビットデータＢ0 ，Ｂ1 ，Ｂ2 ，Ｂ3 を入力し、それを反転したビットデータＢ0 ￣，Ｂ1 ￣，Ｂ2 ￣，Ｂ3 ￣を出力する。
インバータ回路５４1 〜５４4 における演算は、「−２4 ×Ｂ」の演算を行うための反転値演算に対応する。また、全加算器５２6 のＣｉ(Carry in)端子に「１」を入力して行われる加算によって、「−２4 ×Ｂ」の演算を行うための「１の加算」が行われる。
【００２６】
また、ビットデータＢ0 〜Ｂ3 が、それぞれ半加算器５３1 、全加算器５２1 、半加算器５３2 および全加算器５２4 のｉｎ2 端子に出力される。半加算器５３1 、全加算器５２1 、半加算器５３2 および全加算器５２4 において、「＋Ｂ」の演算が行われる。
【００２７】
上述したように、全加算器５２1 〜５２16および半加算器５３1 〜５３4 によって、「Ａ×Ｃ＋Ｂ×Ｃ￣」の演算結果と、「−２4 ×Ｂ」と、「Ｂ」とを加算することで、下記式（４）の演算が行われる。
【００２８】
【数４】
0004042215.tif 000005
【００２９】
なお、上記式（４）の演算は、図３に示すように表される。
なお、図３において、「（    ）」は、図１に示す演算処理装置４０の構成要素の符号を示しており、隣接して示される演算が当該構成要素で求められること、あるいは、隣接して示されるデータが当該構成要素に入力されることを示している。
ここで、上記式（４）は、演算式「Ｓ＝（Ａ−Ｂ）×Ｃ」と等価である。
【００３０】
以下、上記式（４）が演算式「Ｓ＝（Ａ−Ｂ）×Ｃ」と等価であることを証明する。
演算式「Ｓ＝（Ａ−Ｂ）×Ｃ」は、下記式（５）のように変形できる。
【００３１】
【数５】
0004042215.tif 000006
【００３２】
ところで、２進数ｘの１の補数ｘ￣は、下記式（６）で示される。
【数６】
0004042215.tif 000007
【００３３】
従って、上記式（６）を前記式（５）の「−Ｃ」に適用すると、下記式（７）が成り立つ。
【数７】
0004042215.tif 000008
【００３４】
また、上記式（７）を用いて、上記式（５）を書換え、さらに変形を行うと下記式（８）のようになる。
【００３５】
【数８】
0004042215.tif 000009
【００３６】
ここで、上記式（８）および式（３）から、演算式「Ｓ＝（Ａ−Ｂ）×Ｃ」は、前記式（４）と等価であることが分かる。
【００３７】
以下、図１に示す演算処理装置４０の各構成要素の接続形態について説明する。
マルチプレクサ５０0 ，５０2 ，５０5 ，５０9 は、ａ端子が入力部５５のＡ0 端子に接続され、ｂ端子が入力部５５のＢ0 端子に接続されている。
マルチプレクサ５０1 ，５０4 ，５０8 ，５０12は、ａ端子が入力部５５のＡ1 端子に接続され、ｂ端子が入力部５５のＢ1 端子に接続されている。
マルチプレクサ５０3 ，５０7 ，５０11，５０14は、ａ端子が入力部５５のＡ2 端子に接続され、ｂ端子が入力部５５のＢ2 端子に接続されている。
マルチプレクサ５０6 ，５０10，５０13，５０15は、ａ端子が入力部５５のＡ3 端子に接続され、ｂ端子が入力部５５のＢ3 端子に接続されている。
【００３８】
マルチプレクサ５０0 ，５０1 ，５０3 ，５０6 のｓ端子は、入力部５６のＣ0 端子に接続されている。
マルチプレクサ５０2 ，５０4 ，５０7 ，５０10のｓ端子は、入力部５６のＣ1 端子に接続されている。
マルチプレクサ５０5 ，５０8 ，５０11，５０13のｓ端子は、入力部５６のＣ2 端子に接続されている。
マルチプレクサ５０9 ，５０12，５０14，５０15のｓ端子は、入力部５６のＣ3 端子に接続されている。
【００３９】
半加算器５３1 は、ｉｎ1 端子がマルチプレクサ５０0 のｏ端子に接続され、ｉｎ2 端子が入力部５５のＢ0 端子に接続されている。
また、半加算器５３1 は、ｓ端子が出力部５７のＳ0 端子に接続され、ＣＯ端子が半加算器５３4 のｉｎ2 端子に接続されている。
全加算器５２1 は、ｉｎ1 端子がマルチプレクサ５０2 のｏ端子に接続され、ｉｎ2 端子がマルチプレクサ５０1 のｏ端子に接続され、Ｃｉ端子が入力部５５のＢ1 端子に接続されている。
また、全加算器５２1 は、ｓ端子が半加算器５３4 のｉｎ1 端子に接続され、ＣＯ端子が全加算器５２11のｉｎ2 端子に接続されている。
【００４０】
半加算器５３2 は、ｉｎ1 端子がマルチプレクサ５０3 のｏ端子に接続され、ｉｎ2 端子が入力部５５のＢ2 端子に接続されている。
また、半加算器５３2 は、ｓ端子が全加算器５２2 のＣｉ端子に接続され、ＣＯ端子が全加算器５２4 のＣｉ端子に接続されている。
半加算器５３3 は、ｉｎ1 端子がマルチプレクサ５０9 のｏ端子に接続され、ｉｎ2 端子がマルチプレクサ５０8 のｏ端子に接続されている。
また、半加算器５３3 は、ｓ端子が全加算器５２3 のｉｎ1 端子に接続され、ＣＯ端子が全加算器５２7 のｉｎ2 端子に接続されている。
【００４１】
全加算器５２5 は、ｉｎ1 端子がマルチプレクサ５０12のｏ端子に接続され、ｉｎ2 端子がマルチプレクサ５０11のｏ端子に接続され、Ｃｉ端子がマルチプレクサ５０10のｏ端子に接続されている。
また、全加算器５２5 は、ｓ端子が全加算器５２6 のｉｎ1 端子に接続され、ＣＯ端子が全加算器５２9 のｉｎ2 端子に接続されている。
全加算器５２8 は、ｉｎ1 端子がマルチプレクサ５０14のｏ端子に接続され、ｉｎ2 端子がマルチプレクサ５０13のｏ端子に接続され、Ｃｉ端子がインバータ５４2 の出力端子に接続されている。
また、全加算器５２8 は、ｓ端子が全加算器５２9 のｉｎ1 端子に接続され、ＣＯ端子が全加算器５２10のＣｉ端子に接続されている。
【００４２】
全加算器５２2 は、ｉｎ1 端子がマルチプレクサ５０5 のｏ端子に接続され、ｉｎ2 端子がマルチプレクサ５０4 に接続されている。
また、全加算器５２2 は、ｓ端子が全加算器５２11のｉｎ1 端子に接続され、ＣＯ端子が全加算器５２12のｉｎ2 端子に接続されている。
全加算器５２3 は、ｉｎ2 端子がマルチプレクサ５０7 のｏ端子に接続され、Ｃｉ端子がマルチプレクサ５０6 のｏ端子に接続されている。
また、全加算器５２3 は、ｓ端子が全加算器５２4 のｉｎ1 端子に接続され、ＣＯ端子が全加算器５２7 のＣｉ端子に接続されている。
【００４３】
全加算器５２6 は、ｉｎ2 端子がインバータ５４1 の出力端子に接続され、Ｃｉ端子に、論理値「１」が入力されている。
また、全加算器５２6 は、ｓ端子が全加算器５２7 のｉｎ1 端子に接続され、ＣＯ端子が全加算器５２9 のＣｉ端子に接続されている。
全加算器５２10は、ｉｎ2 端子がインバータ５４3 の出力端子に接続されている。
また、全加算器５２10は、ｓ端子が全加算器５２15のｉｎ1 端子に接続され、ＣＯ端子が全加算器５２16のｉｎ2 端子に接続されている。
【００４４】
全加算器５２4 は、ｉｎ2 端子が入力部５５のＢ3 端子に接続されている。
また、全加算器５２2 は、ｓ端子が全加算器５２12のｉｎ1 端子に接続され、ＣＯ端子が全加算器５２13のｉｎ2 端子に接続されている。
全加算器５２7 は、ｓ端子が全加算器５２13のｉｎ1 端子に接続され、ＣＯ端子が全加算器５２14のｉｎ2 端子に接続されている。
全加算器５２9 は、ｓ端子が全加算器５２14のｉｎ1 端子に接続され、ＣＯ端子が全加算器５２15のｉｎ2 端子に接続されている。
【００４５】
半加算器５３4 は、ｓ端子が出力部５７のＳ1 端子に接続され、ＣＯ端子が全加算器５２11のＣｉ端子に接続されている。
全加算器５２11は、ｓ端子が出力部５７のＳ2 端子に接続され、ＣＯ端子が全加算器５２12のＣｉ端子に接続されている。
全加算器５２12は、ｓ端子が出力部５７のＳ3 端子に接続され、ＣＯ端子が全加算器５２13のＣｉ端子に接続されている。
全加算器５２13は、ｓ端子が出力部５７のＳ4 端子に接続され、ＣＯ端子が全加算器５２14のＣｉ端子に接続されている。
全加算器５２14は、ｓ端子が出力部５７のＳ5 端子に接続され、ＣＯ端子が全加算器５２15のＣｉ端子に接続されている。
全加算器５２15は、ｓ端子が出力部５７のＳ6 端子に接続され、ＣＯ端子が全加算器５２16のＣｉ端子に接続されている。
【００４６】
全加算器５２16は、ｉｎ1 端子がインバータ５４4 の出力端子に接続され、ｓ端子が出力部５７のＳ7 端子に接続され、ＣＯ端子がインバータ５４5 を介して出力部５７のＳ8 端子に接続されている。
【００４７】
以下、図１に示す演算処理装置４０の動作について説明する。
図４は、演算処理装置４０における演算方法を説明するためのフローチャートである。
〔ステップＳ１〕
ビットデータＡ0 ，Ｂ0 ，Ａ1 ，Ｂ1 ，Ａ2 ，Ｂ2 ，Ａ3 ，Ｂ3 が、入力部５５のＡ0 ，Ｂ0 ，Ａ1 ，Ｂ1 ，Ａ2 ，Ｂ2 ，Ａ3 ，Ｂ3 端子に入力される。また、ビットデータＣ0 ，Ｃ1 ，Ｃ2 ，Ｃ3 が、入力部５６のＣ0 ，Ｃ1 ，Ｃ2 ，Ｃ3 端子に入力される。
【００４８】
そして、以下に示すマルチプレクサ５０0 〜５０15におけるビットデータＡ0 〜Ａ3 ，Ｂ0 〜Ｂ3 の選択が同時に行われ、それぞれ選択されたビットデータが対応する半加算器および全加算器に出力される。
【００４９】
具体的には、マルチプレクサ５０0 において、ビットデータＣ0 が論理値「１」のときに、ビットデータＡ0 がｏ端子から半加算器５３1 のｉｎ1 端子に出力され、ビットデータＣ0 が論理値「０」のときに、ビットデータＢ0 がｏ端子から半加算器５３1 のｉｎ1 端子に出力される。
マルチプレクサ５０1 において、ビットデータＣ0 が論理値「１」のときに、ビットデータＡ1 がｏ端子から全加算器５２1 のｉｎ2 端子に出力され、ビットデータＣ0 が論理値「０」のときに、ビットデータＢ1 がｏ端子から全加算器５２1 のｉｎ2 端子に出力される。
【００５０】
マルチプレクサ５０3 において、ビットデータＣ0 が論理値「１」のときに、ビットデータＡ2 がｏ端子から半加算器５３2 のｉｎ1 端子に出力され、ビットデータＣ0 が論理値「０」のときに、ビットデータＢ2 がｏ端子から半加算器５３2 のｉｎ1 端子に出力される。
マルチプレクサ５０6 において、ビットデータＣ0 が論理値「１」のときに、ビットデータＡ3 がｏ端子から全加算器５２3 のＣｉ端子に出力され、ビットデータＣ0 が論理値「０」のときに、ビットデータＢ3 がｏ端子から全加算器５２3 のＣｉ端子に出力される。
【００５１】
マルチプレクサ５０2 において、ビットデータＣ1 が論理値「１」のときに、ビットデータＡ0 がｏ端子から全加算器５２1 のｉｎ1 端子に出力され、ビットデータＣ1 が論理値「０」のときに、ビットデータＢ0 がｏ端子から全加算器５２1 のｉｎ1 端子に出力される。
マルチプレクサ５０4 において、ビットデータＣ1 が論理値「１」のときに、ビットデータＡ1 がｏ端子から全加算器５２2 のｉｎ2 端子に出力され、ビットデータＣ1 が論理値「０」のときに、ビットデータＢ1 がｏ端子から全加算器５２2 のｉｎ2 端子に出力される。
【００５２】
マルチプレクサ５０7 において、ビットデータＣ1 が論理値「１」のときに、ビットデータＡ2 がｏ端子から全加算器５２3 のｉｎ2 端子に出力され、ビットデータＣ1 が論理値「０」のときに、ビットデータＢ2 がｏ端子から全加算器５２3 のｉｎ2 端子に出力される。
マルチプレクサ５０10において、ビットデータＣ1 が論理値「１」のときに、ビットデータＡ3 がｏ端子から全加算器５２5 のＣｉ1 端子に出力され、ビットデータＣ1 が論理値「０」のときに、ビットデータＢ3 がｏ端子から全加算器５２5 のＣｉ端子に出力される。
【００５３】
マルチプレクサ５０5 において、ビットデータＣ2 が論理値「１」のときに、ビットデータＡ0 がｏ端子から全加算器５２2 のｉｎ1 端子に出力され、ビットデータＣ2 が論理値「０」のときに、ビットデータＢ0 がｏ端子から全加算器５２2 のｉｎ1 端子に出力される。
マルチプレクサ５０8 において、ビットデータＣ2 が論理値「１」のときに、ビットデータＡ1 がｏ端子から半加算器５３3 のｉｎ2 端子に出力され、ビットデータＣ2 が論理値「０」のときに、ビットデータＢ1 がｏ端子から半加算器５３3 のｉｎ2 端子に出力される。
【００５４】
マルチプレクサ５０11において、ビットデータＣ2 が論理値「１」のときに、ビットデータＡ2 がｏ端子から全加算器５２5 のｉｎ2 端子に出力され、ビットデータＣ2 が論理値「０」のときに、ビットデータＢ2 がｏ端子から全加算器５２5 のｉｎ2 端子に出力される。
マルチプレクサ５０13において、ビットデータＣ2 が論理値「１」のときに、ビットデータＡ3 がｏ端子から全加算器５２8 のｉｎ2 端子に出力され、ビットデータＣ2 が論理値「０」のときに、ビットデータＢ3 がｏ端子から全加算器５２8 のｉｎ2 端子に出力される。
【００５５】
マルチプレクサ５０9 において、ビットデータＣ3 が論理値「１」のときに、ビットデータＡ0 がｏ端子から半加算器５３3 のｉｎ2 端子に出力され、ビットデータＣ3 が論理値「０」のときに、ビットデータＢ0 がｏ端子から半加算器５３3 のｉｎ2 端子に出力される。
マルチプレクサ５０12において、ビットデータＣ3 が論理値「１」のときに、ビットデータＡ1 がｏ端子から全加算器５２5 のｉｎ1 端子に出力され、ビットデータＣ3 が論理値「０」のときに、ビットデータＢ1 がｏ端子から全加算器５２5 のｉｎ1 端子に出力される。
【００５６】
マルチプレクサ５０14において、ビットデータＣ3 が論理値「１」のときに、ビットデータＡ2 がｏ端子から全加算器５２8 のｉｎ1 端子に出力され、ビットデータＣ3 が論理値「０」のときに、ビットデータＢ2 がｏ端子から全加算器５２8 のｉｎ1 端子に出力される。
マルチプレクサ５０15において、ビットデータＣ3 が論理値「１」のときに、ビットデータＡ3 がｏ端子から全加算器５２10のｉｎ1 端子に出力され、ビットデータＣ3 が論理値「０」のときに、ビットデータＢ3 がｏ端子から全加算器５２10のｉｎ1 端子に出力される。
【００５７】
また、入力部５５のＢ0 端子からのビットデータＢ0 が、半加算器５３1 のｉｎ2 端子に出力される。
入力部５５のＢ1 端子からのビットデータＢ1 が、全加算器５２1 のＣｉ端子に出力される。
入力部５５のＢ2 端子からのビットデータＢ2 が、半加算器５３2 のｉｎ2 端子に出力される。
入力部５５のＢ3 端子からのビットデータＢ3 が、全加算器５２4 のｉｎ2 端子に出力される。
【００５８】
また、入力部５５のＢ0 端子からのビットデータＢ0 が、インバータ回路５４1 で反転された後に、全加算器５２6 のｉｎ2 端子に出力される。
入力部５５のＢ1 端子からのビットデータＢ1 が、インバータ回路５４2 で反転された後に、全加算器５２8 のＣｉ端子に出力される。
入力部５５のＢ2 端子からのビットデータＢ2 が、インバータ回路５４3 で反転された後に、全加算器５２10のｉｎ2 端子に出力される。
入力部５５のＢ3 端子からのビットデータＢ3 が、インバータ回路５４4 で反転された後に、最終段加算回路４２の全加算器５２16のｉｎ1 端子に出力される。
【００５９】
〔ステップＳ２〕
半加算器５３1 において、ビットデータＢ0 と、マルチプレクサ５０0 からのビットデータとの加算が行われ、当該加算結果の和データがｓ端子からＳ0 端子に出力され、当該加算結果のキャリーデータがＣｏ端子から最終段加算回路４２の半加算器５３4 のｉｎ2 端子に出力される。
全加算器５２1 において、ビットデータＢ1 と、マルチプレクサ５０1 からのビットデータと、マルチプレクサ５０2 からのビットデータとの加算が行われ、当該加算結果の和データがｓ端子から最終段加算回路４２の半加算器５３4 のｉｎ1 端子に出力され、当該加算結果のキャリーデータがＣｏ端子から最終段加算回路４２の全加算器５２11のｉｎ2 端子に出力される。
【００６０】
半加算器５３2 において、ビットデータＢ2 と、マルチプレクサ５０3 からのビットデータとの加算が行われ、当該加算結果の和データがｓ端子から全加算器５２2 のＣｉ端子に出力され、当該加算結果のキャリーデータがＣｏ端子から全加算器５２4 のＣｉ端子に出力される。
半加算器５３3 において、マルチプレクサ５０8 からのビットデータと、マルチプレクサ５０9 からのビットデータとの加算が行われ、当該加算結果の和データがｓ端子から全加算器５２3 のｉｎ1 端子に出力され、当該加算結果のキャリーデータがＣｏ端子から全加算器５２7 のｉｎ2 端子に出力される。
【００６１】
全加算器５２5 において、マルチプレクサ５０10からのビットデータと、マルチプレクサ５０11からのビットデータと、マルチプレクサ５０12からのビットデータとの加算が行われ、当該加算結果の和データがｓ端子から全加算器５２6 のｉｎ1 端子に出力され、当該加算結果のキャリーデータがＣｏ端子から全加算器５２9 のｉｎ2 端子に出力される。
全加算器５２8 において、インバータ回路５４2 からのビットデータＢ1 ￣と、マルチプレクサ５０13からのビットデータと、マルチプレクサ５０14からのビットデータとのデータとが加算され、当該加算結果の和データがｓ端子から全加算器５２9 のｉｎ1 端子に出力され、当該加算結果のキャリーデータがＣｏ端子から全加算器５２10のＣｉ端子に出力される。
【００６２】
また、全加算器５２2 において、半加算器５３2 からの和データと、マルチプレクサ５０4 からのビットデータと、マルチプレクサ５０5 からのビットデータとが加算され、当該加算結果の和データがｓ端子から最終段加算回路４２の全加算器５２11のｉｎ1 端子に出力され、当該加算結果のキャリーデータがＣｏ端子から最終段加算回路４２の全加算器５２12のｉｎ2 端子に出力される。
全加算器５２3 において、マルチプレクサ５０6 からのビットデータと、マルチプレクサ５０7 からのビットデータと、半加算器５３3 からの和データとが加算され、当該加算結果の和データがｓ端子から全加算器５２4 のｉｎ1 端子に出力され、当該加算結果のキャリーデータがＣｏ端子から全加算器５２7 のＣｉ端子に出力される。
【００６３】
全加算器５２6 において、Ｃｉ端子に入力された倫理値「１」と、インバータ回路５４1 からのビットデータＢ0 ￣と、全加算器５２5 のｓ端子からの和データとの加算が行われ、当該加算結果の和データがｓ端子から全加算器５２7 のｉｎ1 端子に出力され、当該加算結果のキャリーデータがＣｏ端子から全加算器５２9 のＣｉ端子に出力される。
全加算器５２10において、全加算器５２8 からのキャリーデータと、インバータ回路５４3 からのビットデータＢ2 ￣と、マルチプレクサ５０15からのビットデータとが加算され、当該加算結果の和データがｓ端子から最終段加算回路４２の全加算器５２15のｉｎ1 端子に出力され、当該加算結果のキャリーデータがＣｏ端子から全加算器５２16のｉｎ2 端子に出力される。
【００６４】
また、全加算器５２4 において、半加算器５３2 からのキャリーデータと、ビットデータＢ3 と、全加算器５２3 からの和データとの加算が行われ、当該加算結果の和データがｓ端子から最終段加算回路４２の全加算器５２12のｉｎ1 端子に出力され、当該加算結果のキャリーデータがＣｏ端子から全加算器５２13のｉｎ2 端子に出力される。
全加算器５２7 において、全加算器５２3 からのキャリーデータと、半加算器５３3 からのキャリーデータと、全加算器５２6 からの和データとが加算され、当該加算結果の和データがｓ端子から最終段加算回路４２の全加算器５２13のｉｎ1 端子に出力され、当該加算結果のキャリーデータがＣｏ端子から最終段加算回路４２の全加算器５２14のｉｎ2 端子に出力される。
【００６５】
全加算器５２9 において、全加算器５２6 からのキャリーデータと、全加算器５２5 からのキャリーデータと、全加算器５２8 からの和データとが加算され、当該加算結果の和データがｓ端子から最終段加算回路４２の全加算器５２14のｉｎ1 端子に出力され、当該加算結果のキャリーデータがＣｏ端子から最終段加算回路４２の全加算器５２15のｉｎ2 端子に出力される。
【００６６】
〔ステップＳ３〕
最終段加算回路４２において、以下に示す処理が行われる。
先ず、半加算器５３4 において、半加算器５３1 からのキャリーデータと、全加算器５２1 からの和データとの加算が行われ、その和データが出力部５７のＳ1 端子からビットデータＳ1 として出力され、そのキャリーデータが全加算器５２11のＣｉ端子に出力される。
次に、全加算器５２11において、半加算器５３4 からのキャリーデータと、全加算器５２1 からのキャリーデータと、全加算器５２2 からの和データとが加算され、その和データが出力部５７のＳ2 端子からビットデータＳ2 として出力され、そのキャリーデータが全加算器５２12のＣｉ端子に出力される。
【００６７】
次に、全加算器５２12において、全加算器５２11からのキャリーデータと、全加算器５２2 からのキャリーデータと、全加算器５２4 からの和データとが加算され、その和データが出力部５７のＳ3 端子からビットデータＳ3 として出力され、そのキャリーデータが全加算器５２13のＣｉ端子に出力される。
次に、全加算器５２13において、全加算器５２12からのキャリーデータと、全加算器５２4 からのキャリーデータと、全加算器５２7 からの和データとが加算され、その和データが出力部５７のＳ4 端子からビットデータＳ4 として出力され、そのキャリーデータが全加算器５２14のＣｉ端子に出力される。
【００６８】
次に、全加算器５２14において、全加算器５２13からのキャリーデータと、全加算器５２7 からのキャリーデータと、全加算器５２9 からの和データとが加算され、その和データが出力部５７のＳ5 端子からビットデータＳ5 として出力され、そのキャリーデータが全加算器５２15のＣｉ端子に出力される。
次に、全加算器５２15において、全加算器５２14からのキャリーデータと、全加算器５２9 からのキャリーデータと、全加算器５２10からの和データとが加算され、その和データが出力部５７のＳ6 端子からビットデータＳ6 として出力され、そのキャリーデータが全加算器５２16のＣｉ端子に出力される。
【００６９】
次に、全加算器５２16において、全加算器５２15からのキャリーデータと、全加算器５２10からのキャリーデータと、インバータ５４4 からのビットデータＢ3 ￣とが加算され、その和データが出力部５７のＳ7 端子からビットデータＳ7 として出力され、そのキャリーデータがインバータ５４5 を介して、出力部５７のＳ8 端子からビットデータＳ8 として出力される。
ここで、ビットデータＳ8 は符号を示しており、ビットデータＳ8 が論理値「１」のときに、演算「（Ａ−Ｂ）×Ｃ」の演算結果であるデータＳが負であることを示し、ビットデータＳ8 が論理値「０」のときに、データＳが正であることを示している。
なお、ビットデータＳ8 が論理値「１」のときに、ビットデータＳ0 〜Ｓ7 は、演算「（Ａ−Ｂ）×Ｃ」の演算結果の２の補数値を示している。
【００７０】
図１に示す演算処理装置４０では、例えば、図５に示すように、データＡ（Ａ0 ，Ａ1 ，Ａ2 ，Ａ3 ）＝（０，０，０，１）、Ｂ（Ｂ0 ，Ｂ1 ，Ｂ2 ，Ｂ3 ）＝（０，０，１，０）およびＣ（Ｃ0 ，Ｃ1 ，Ｃ2 ，Ｃ3 ）＝（１，１，１，１）を入力した場合には、データＳ（Ｓ0 ，Ｓ1 ，Ｓ2 ，Ｓ3 ，Ｓ4 ，Ｓ5 ，Ｓ6 ，Ｓ7 ，Ｓ8 ）＝（０，１，０，１，１，０，１，０，０）を出力する。
【００７１】
以上説明したように、演算処理装置４０によれば、図１に示すように、マルチプレクサ５０0 〜５０15、全加算器（ＦＡ）５２1 〜５２16、半加算器（ＨＡ）５３1 〜５３4 、インバータ回路５４1 〜５４4 、入力部５５，５６および出力部５７によって、演算「（Ａ−Ｂ）×Ｃ」を行うことができ、前述した図６，図７および図１０に示す従来の演算処理装置１のように５ビットの乗算器を用いる必要がなく、回路規模を大幅に縮小できる。
【００７２】
また、演算処理装置４０によれば、演算のクリティカルパスは、マルチプレクサ５０0 、半加算器５３1 ，５３4 、全加算器５２11，５２12，５２13，５２14，５２15，５２16およびインバータ回路５４5 となり、前述した従来の演算処理装置１に比べて、クリティカルパスを短縮でき、演算時間を短縮できる。
【００７３】
本発明の実施形態は、上述したものには限定されない。
例えば、図１では、４ビットのデータＡ，Ｂ，Ｃを用いて演算「（Ａ−Ｂ）×Ｃ」を行う場合を例示したが、本発明は、２以上の全ての整数ｎについて、ｎビットのデータＡ，Ｂ，Ｃを用いて演算「（Ａ−Ｂ）×Ｃ」を行う場合にも適用できる。
この場合には、下記式（９）に基づいて演算が行われる。
【００７４】
【数９】
0004042215.tif 000010
【００７５】
上記式（９）において、第１項の演算は、本発明のビットデータ選択手段としてのマルチプレクサを用いてビットデータＣj が論理値「１」のときにビットデータＡi を選択し、ビットデータＣj が論理値「０」のときにビットデータＢi を選択し、当該選択したデータを（ｉ＋ｊ）ビット目に加算するように、各ビット毎に、下位のビットからのキャリーデータを含めて加算して行われる。
【００７６】
また、上記式（９）において、「−２n ×Ｂ」の演算は、データＢの２補数を求めるために、データＢのレベルを反転し、このレベル反転したデータのＬＳＢに「１」を加算し、当該加算結果をＭＳＢに向けてｎビットだけシフトして行われる。当該シフトは、例えば、前記加算結果の各ビットデータＢ0 〜Ｂn-1 を、それぞれ演算結果Ｓのｎ〜２ｎ−１ビット目に対応する加算を行う加算器に入力して実現される。
そして、上記式（９）の第１項の演算結果と、「−２n ×Ｂ」の演算結果と、データＢとを加算することで、上記式（９）の演算が行われる。
【００７７】
【発明の効果】
以上説明したように、本発明の演算処理装置およびその方法によれば、演算「（Ａ−Ｂ）×Ｃ」の演算時間を短縮化できる。
また、本発明の演算処理装置によれば、演算「（Ａ−Ｂ）×Ｃ」を行う装置の規模を縮小できる。
【図面の簡単な説明】
【図１】図１は、本実施形態の演算処理装置の構成図である。
【図２】図２は、図１に示すマルチプレクサの構成図である。
【図３】図３は、図１に示す演算処理装置が採用する演算方法を説明するための図である。
【図４】図４は、図１に示す演算処理装置の動作を説明するためのフローチャートである。
【図５】図５は、図１に示す演算処理装置における具体的な動作を説明するための図である。
【図６】図６は、演算「（Ａ−Ｂ）×Ｃ」を行う従来の演算処理装置の構成図である。
【図７】図７は、図６に示す減算器の構成図である。
【図８】図８は、図７に示す全加算器（ＦＡ）の構成図である。
【図９】図９は、図２に示す乗算器が採用するバウウーリ(Baugh Wooly) 方式による２の補数乗算を説明するための図である。
【図１０】図１０は、図９に示す２の補数乗算を行う乗算器の構成図である。
【図１１】図１１は、図１０に示す半加算器の構成図である。
【符号の説明】
４０…演算処理装置、５０0 〜５０15…マルチプレクサ、５２1 〜５２16…全加算器（ＦＡ）、５３1 〜５３4 …半加算器（ＨＡ）、５４1 〜５４4 …インバータ回路、５５，５６…入力部、５７…出力部
【図１】
0004042215.tif 000011
【図２】
0004042215.tif 000012
【図３】
0004042215.tif 000013
【図４】
0004042215.tif 000014
【図５】
0004042215.tif 000015
【図６】
0004042215.tif 000016
【図７】
0004042215.tif 000017
【図８】
0004042215.tif 000018
【図９】
0004042215.tif 000019
【図１０】
0004042215.tif 000020
【図１１】
0004042215.tif 000021