JP3898705B2 - 演算装置 - Google Patents

演算装置 Download PDF

Info

Publication number
JP3898705B2
JP3898705B2 JP2004107646A JP2004107646A JP3898705B2 JP 3898705 B2 JP3898705 B2 JP 3898705B2 JP 2004107646 A JP2004107646 A JP 2004107646A JP 2004107646 A JP2004107646 A JP 2004107646A JP 3898705 B2 JP3898705 B2 JP 3898705B2
Authority
JP
Japan
Prior art keywords
data
carry
addition
adder
partial product
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004107646A
Other languages
English (en)
Other versions
JP2005293256A (ja
Inventor
雅彦 本山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004107646A priority Critical patent/JP3898705B2/ja
Publication of JP2005293256A publication Critical patent/JP2005293256A/ja
Application granted granted Critical
Publication of JP3898705B2 publication Critical patent/JP3898705B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、整数の演算と2の拡大体(ガロア体)の演算とを実行可能な演算装置に係り、特に、両演算を小さい回路規模で高速に実行し得る演算装置に関する。
従来、整数の演算と2の拡大体の演算とをいずれも実行可能な演算装置が知られている(例えば、特許文献1参照)。
この演算装置では、例えば整数乗算と拡大体乗算を実現するために、図13に示す如き、乗算結果の一部である部分積を加算するための部分積加算回路と、図14に示す如き、この部分積加算回路を構成する全加算器(FA:Full Adder)とを備えている。
部分積加算回路は、図13に示す場合、7ビットのデータA(=a0,…,a6)と7ビットのデータB(=b0,…,b6)とを乗算したとき、得られる7つの部分積Z0(=A・b0),Z1(=A・b1),…,Z6(=A・b6)を順次加算する。
この種の部分積加算回路は、制御信号CEによって桁上げ(キャリー)出力Cの有無を切換可能な全加算器FAを備えたことにより、桁上げのある整数の乗算と、桁上げの無い拡大体の乗算とのいずれも実行可能となっている。
詳しくは、全加算器FAは、アンドゲート101,102,106、排他的論理和ゲート103,104及びオアゲート105を備え、入力信号として、データ入力X,Y,Z及び制御入力CEがあり、出力信号として、桁上げ出力C及び和出力Sがある。これにより、全加算器FAは、データ入力X,Y,Zが排他的論理和ゲート103,104を通過して得られた排他的論理和を、和出力Sとして出力する。また、全加算器FAは、データ入力X,Yがアンドゲート101を通過して得られた論理積と、データ入力X,Yが排他的論理和ゲート103を通過して得られた排他的論理和とデータ入力Zとがアンドゲート102を通過して得られた論理積と、からなる両論理積がオアゲート105を通過して得られた論理和をアンドゲート106を介して桁上げ出力Cとして出力する。
ここで、アンドゲート106はキャリー出力Cを切換制御する機能を持つ。アンドゲート106は、制御入力CEが‘H’のときにのみ、桁上げ入力(キャリー信号)を出力し、制御入力CEが‘L’のときには、桁上げ入力の値によらずに桁上げ出力‘0’を出力する。
例えば整数の演算の際には、制御入力CEを‘H’として桁上げ出力Cを有効にし、部分積Z0,Z1,…,Z6を順次加算していき、最終的に結果Rを得る。ここで、部分積Zi(i=0〜6)は、Aとbi(i=0〜6)の論理積の結果である。すなわち、最初に加算器110−0により、部分積Z0,Z1の和が求められ、次に加算器110−1により、部分積の和(Z0+Z1)と部分積Z2との和が求められる。以下同様にして、最終的に積R=A×Bの結果が得られる。
一方、拡大体の演算は、整数の演算とは異なり、桁上げが無いので、下位の演算結果が上位の演算結果に影響しない。このため、拡大体の演算は、全加算器FAにて、桁上げ出力Cを無効にし、排他論理和からなる和出力Sのみで実行される。
例えば拡大体の乗算の際には、全ての加算器の桁上げ出力を‘0’とするので、乗算結果として、部分積Z0〜Z6の排他論理和の結果である和出力Sが出力される。
以上のように整数の演算と拡大体の演算とはそれぞれ実行可能となっている。
また一方、整数乗算のみを実現する演算装置が知られている。この演算装置は、図13に示した部分積加算回路を、図15に示すように、複数の入力を加算して次段に出力するようにツリー状に配置された桁上げ保存加算器(CSA:Carry Save Adder)112−1〜112−5と、最後尾に配置された桁上げ伝搬加算器(CPA:Carry Propagate Adder)113とにより実現する方式である(例えば、非特許文献1参照)。
ここで、桁上げ保存加算器CSA112−1〜112−5は、例えば図16に示すように、図14のアンドゲート106を省略した全加算器を必要なビット数分だけ並べて構成される。なお、桁上げ保存加算器CSA112−1〜112−5は、桁上げ(キャリー)を伝播しないので、多入力を加算する場合に遅延時間が短くなる利点がある。
但し、桁上げ保存加算器CSA112−1〜112−5はその出力値が最終的な加算結果ではなく、また、桁上げ出力Cと和出力Sの2値が出力される。このため、最終的な加算結果を得るために、最後尾に桁上げ伝播加算器CPA113を用いている。桁上げ伝播加算器CPA113は、図17に示すように、全加算器の桁上げ出力Cが上位桁の全加算器の入力に転送される。このため、桁上げ伝播加算器CPA113は、桁上げ(キャリー)の伝播経路が長くなり、遅延時間が長くなる。
このように、多入力を加算する場合、ツリー状に接続した桁上げ保存加算器CSA(以下、CSAツリーともいう)112−1〜112−5の最終出力を入力とするように桁上げ伝搬加算器CPA113を配置し、演算を高速化する。
例えばCSAツリー112−1〜112−5は、部分積Z0〜Z6を加算する機能を持つ。この部分積Z0〜Z6の加算動作を図18を用いて説明する。
1段目の桁上げ保存加算器CSA112−1は、入力された部分積Z0,Z1,Z2を互いに加算し、加算結果(合計値)を表す桁上げ出力C0と和出力S0を出力する。また同様に、1段目の他方の桁上げ保存加算器CSA112−2は、入力された部分積Z3,Z4,Z5を互いに加算し、得られた桁上げ出力C1と和出力S1を出力する。
2段目の桁上げ保存加算器CSA112−3は、1段目のCSA112−2の和出力S1及び桁上げ出力C1と、部分積Z6とを加算し、得られた和出力S2と桁上げ出力C2を出力する。
3段目の桁上げ保存加算器CSA112−4は、1段目のCSA112−1の出力S0,C0と2段目のCSA112−3の桁上げ出力C2とを加算し、得られた和出力S3と桁上げ出力C3とを出力する。
4段目の桁上げ保存加算器CSA112−5は、3段目のCSA112−4の出力S3,C3と、2段目のCSA112−3の和出力S2とを加算し、得られた和出力S4と桁上げ出力C4とを出力する。
最後尾の桁上げ伝播加算器CPA113は、4段目のCSA112−5の出力S4,C4を互いに加算し、最終的な加算結果として、部分積Z0〜Z6の合計値Rを出力する。
このようなCSAツリー112−1〜112−5及びCPA113は、小さい回路規模で整数乗算の部分積を高速に加算する。従って、CSAツリーを乗算における部分積の加算に用いることで高速な乗算が実現可能となる。
特開2000−207387号公報 ベルーズ・パルハミ(Behrooz Parhami)著、「コンピュータ算術(Computer Arithmetic)」、オックスフォード大学出版局(Oxford University Press)、2000年。
しかしながら、以上のような演算装置では、例えば整数の乗算と拡大体の乗算とを実現する場合、桁上げ出力を制御するためのアンドゲート106を全加算器FA毎に必要とするため、回路規模の増大と処理時間の増大を招いてしまう。
一方、例えば整数の乗算のみを実現する演算装置では、CSAツリーにより、小さい回路規模で整数乗算の部分積を高速に加算するものの、拡大体乗算を実行できない問題がある。
本発明は上記実情を考慮してなされたもので、整数の演算と拡大体の演算とを小さい回路規模で高速に実行し得る演算装置を提供することを目的とする。
第1の発明は、入力された3個以上のデータを互いに加算し、加算結果を表す排他的論理和データと桁上げデータとを出力する複数の桁上げ保存加算器が互いに多入力少出力のツリー状に直列接続されてなり、前記排他的論理和データ及び前記桁上げデータを順次、加算して整数加算を実行するように構成された整数加算用の加算器ツリーを備えた演算装置であって、前記整数加算用の加算器ツリーの一部分として設けられ、先頭から途中までの複数の桁上げ保存加算器からなり、当該各桁上げ保存加算器から得られる排他的論理和データ及び桁上げデータのうち、排他的論理和データのみを互いに加算して拡大体加算を実行するように構成された拡大体加算用の加算器ツリーと、前記拡大体加算用の加算器ツリーにおける最後尾の桁上げ保存加算器の排他的論理和データ及び桁上げデータのうち、排他的論理和データのみを拡大体の加算結果として前記整数加算用の加算器ツリーから分岐出力する拡大体加算結果出力手段と、前記各データが複数ビットからなり、前記複数ビットを1ワード単位としたとき、複数ワードからなる被乗数データに複数ワードからなる乗数データを乗算する際に、前記被乗数データと前記乗数データの各ワードとを当該各ワード内の各ビット毎に乗算し、前記乗数データの各ワード毎に、当該各ワード内のビット数と同じ個数の部分積データを算出する部分積算出回路と、前記部分積算出回路により得られた各部分積データを下位側から1ワードずつ加算するように、各部分積データの各ワードを前記先頭の桁上げ保存加算器に入力する部分積入力手段と、前記部分積入力手段による入力の結果、前記整数加算用の加算器ツリー内の最後尾の桁上げ保存加算器から得られる排他的論理和データと桁上げデータとを加算し、得られた整数加算結果を出力する桁上げ伝搬加算器と、前記桁上げ伝搬加算器から得られた整数加算結果のうち、1ワードを越えたビットデータを桁上げデータとして次の上位側のワードの加算に繰り越すように、前記部分積入力手段を制御する部分積入力制御手段と、を備えた演算装置である。
第2の発明は、入力された3個以上のデータを互いに加算し、加算結果を表す排他的論理和データと桁上げデータとを出力する複数の桁上げ保存加算器が互いに多入力少出力のツリー状に直列接続されてなり、前記排他的論理和データ及び前記桁上げデータを順次、加算して整数加算を実行するように構成された整数加算用の加算器ツリーを備えた演算装置であって、前記整数加算用の加算器ツリーの一部分として設けられ、先頭から途中までの複数の桁上げ保存加算器からなり、当該各桁上げ保存加算器から得られる排他的論理和データ及び桁上げデータのうち、排他的論理和データのみを互いに加算して拡大体加算を実行するように構成された拡大体加算用の加算器ツリーと、前記拡大体加算用の加算器ツリーにおける最後尾の桁上げ保存加算器の排他的論理和データ及び桁上げデータのうち、排他的論理和データのみを拡大体の加算結果として前記整数加算用の加算器ツリーから分岐出力する拡大体加算結果出力手段と、前記各データが複数ビットからなり、前記複数ビットを1ワード単位としたとき、複数ワードからなる被乗数データに複数ワードからなる乗数データを乗算する際に、前記被乗数データの各ワードと前記乗数データの各ワードとを乗算し、前記乗数データの各ワード毎に、前記被乗数データのワード数と同じ個数の部分積データを算出する部分積算出回路と、前記部分積算出回路により得られた各部分積データを加算するように、当該各部分積データを前記先頭の桁上げ保存加算器に入力する部分積入力手段と、前記部分積入力手段による入力の結果、前記整数加算用の加算器ツリー内の最後尾の桁上げ保存加算器から得られる排他的論理和データと桁上げデータとを加算し、得られた整数加算結果を出力する桁上げ伝搬加算器と、を備えた演算装置である。
第1及び第2発明では、図14に示した全加算器に比べてアンドゲート106が無い分だけ小さい回路で高速演算可能な桁上げ保存加算器からなる整数加算用の加算器ツリーの一部を排他的論理和データのみを加算させるように構成して、整数加算用の加算器ツリーの一部を拡大体加算用の加算器ツリーとして機能させることにより、整数の演算と拡大体の演算とを小さい回路規模で高速に実行することができる。
以上説明したように本発明によれば、整数の演算と拡大体の演算とを小さい回路規模で高速に実行することができる。
以下、本発明の各実施形態について図面を参照しながら説明する。
(第1実施形態)
図1は本発明の第1の実施形態に係る演算装置の構成を示す模式図である。この演算装置は、整数加算用の構成の一部を、拡大体加算用の構成として機能させたものである。
ここで、整数加算用の構成は、整数加算用のCSA(加算器)ツリーと、桁上げ伝搬加算器CPA121とを備えている。
整数加算用のCSAツリーは、入力された3個以上のデータを互いに加算し、加算結果を表す排他的論理和データと桁上げデータとを出力する複数の桁上げ保存加算器CSA120−1〜120−5が互いに多入力少出力のツリー状に直列接続されてなる。この整数加算用のCSAツリーは、各桁上げ保存加算器CSA120−1〜120−5の和出力(排他的論理和データ)S0〜S4及び桁上げ出力(桁上げデータ)C0〜C4を順次、加算して整数加算を実行するように構成されている。
各桁上げ保存加算器CSA120−1〜120−5は、例えば図16に示した全加算器を必要なビット数並べたものとなる。例えば4ビットの場合、図2に示す回路構成となる。この場合、各桁上げ保存加算器CSA120−1〜120−5は、X=(X4,X3,X2,X1)、Y=(Y4,Y3,Y2,Y1)、Z=(Z4,Z3,Z2,Z1)の3つの数値データが入力され、和出力としてS=(S4,S3,S2,S1)が出力され、桁上げ出力としてC=(C5,C4,C3,C2)が出力される。
桁上げ伝搬加算器CPA121は、整数加算用のCSAツリー内の最後尾の桁上げ保存加算器CSA120−5の和出力S4と桁上げ出力C0とを加算し、得られた整数加算結果Rを出力するものである。
一方、拡大体加算用の構成は、拡大体加算用のCSA(加算器)ツリー120Gと、拡大体加算結果出力部122とを備えている。
ここで、拡大体加算用のCSAツリー120Gは、整数加算用のCSAツリーの一部分として設けられ、先頭から途中までの桁上げ保存加算器CSA120−1〜120−3からなり、当該各桁上げ保存加算器120−1〜120−3から得られる和出力S0〜S2及び桁上げ出力C0〜C2データのうち、和出力S0〜S2のみを互いに加算して拡大体加算を実行するように構成されている。すなわち、拡大体加算用のCSAツリーは、データ入力とCSAの和出力のみで構成されている。
拡大体加算結果出力部122は、拡大体加算用のCSAツリーにおける最後尾の桁上げ保存加算器120−3の和出力S2及び桁上げ出力C2のうち、和出力S2のみを拡大体の加算結果RGとして整数加算用のCSAツリーから分岐出力するものである。
次に、以上のように構成された演算装置の動作を説明する。
始めに、整数の乗算動作と2の拡大体の乗算動作について述べる。
図3は2進数7ビットの被乗数データAと、2進数7ビットの乗数データBとの整数乗算の様子を示す模式図である。被乗数データAの各ビットは、それぞれ(a6、a5、a4、a3、a2、a1、a0)と表され、最上位ビットMSBがa6であり、最下位ビットLSBがa0である。同様に乗数データBの各ビットは、最上位ビットから順に(b6、b5、b4、b3、b2、b1、b0)と表される。
整数乗算においては、最初に被乗数データAと乗数データBとの各ビットの論理積が行なわれ、部分積データZ0〜Z6が得られる。すなわち、部分積データZi(=A・bi)を得るため、論理積A・bi(i=0〜6)が行なわれる。
例えば、部分積データZ0は、乗数データBの最下位ビットb0と被乗数データAとの論理積である。次に、部分積データZiは、左に1ビットずつシフト(2倍)される。それら部分積データZ0〜Z6が、全て加算されることにより、乗算結果R(=A・B)が得られる。
一方、拡大体の加算では桁上げが起こらない。従って、論理積の後のシフトまでの手順は整数の場合と同じであるが、通常の加算とは異なり、各桁の排他論理和を行なうことで拡大体での乗算が実現される。この加算部分を実現するのが、拡大体加算用のCSAツリー120Gである。
拡大体加算用のCSAツリー120Gは、整数加算用のCSAツリーの一部であり、全てのデータ入力Z0〜Z6とCSAの和出力S0,S1のみが入力される桁上げ保存加算器CSA120−1〜120−3のみで構成される。
各桁上げ保存加算器CSA120−1〜120−3の和出力S0〜S2は、それぞれ3つの入力データの各ビットの排他論理和の結果であり、すなわち、拡大体における加算結果である。従って、拡大体加算用のCSAツリー120Gにおける最後尾の桁上げ保存加算器CSA120−3の和出力S2は、全ての入力の各桁(ビット)の排他論理和の結果となる。従って、拡大体加算用のCSAツリー120Gの出力RGは、拡大体の乗算結果と一致する。
以上のようなCSAツリーの演算過程を図4を用いて詳細に述べる。
乗数データBの各ビットとの部分積データZ0〜Z6が入力データとして本実施形態のCSAツリーに入力される。CSAツリーにおいては、入力された部分積データZ0〜Z2は、桁上げ保存加算器CSA120−1により互いに加算され、加算結果を表す和出力S0及び桁上げ出力C0として桁上げ保存加算器CSA120−1から出力される。同様に、入力された部分積データZ3〜Z5は、桁上げ保存加算器CSA120−2により互いに加算され、加算結果を表す和出力S1及び桁上げ出力C1として桁上げ保存加算器CSA120−2から出力される。
次に、和出力S0,S1及び部分積データZ6は、桁上げ保存加算器CSA120−3により互いに加算され、和出力S2及び桁上げ出力C2として桁上げ保存加算器CSA120−3から出力される。この和出力S2は、部分積データZ0〜Z6の各桁の排他論理和であり、整数加算用のCSAツリーから分岐して、拡大体の乗算結果RGとして出力される。
さらに、桁上げ出力C0〜C2は、桁上げ保存加算器CSA120−4により互いに加算され、和出力S3及び桁上げ出力C3として桁上げ保存加算器CSA120−4から出力される。
そして、和出力S2,S3及び桁上げ出力C3は、桁上げ保存加算器CSA120−5により互いに加算され、和出力S4及び桁上げ出力C4として桁上げ保存加算器CSA120−5から出力される。この和出力S4と桁上げ出力C4は、桁上げ伝播加算器CPA121により互いに加算され、最終的な整数を表す乗算結果Rとして出力される。
上述したように本実施形態によれば、図14に示した全加算器に比べてアンドゲート106が無い分だけ小さい回路で高速演算可能な桁上げ保存加算器CSA120−1〜120−5からなる整数加算用のCSAツリーの一部を和出力S0〜S2のみを加算させるように構成して、整数加算用のCSAツリーの一部を拡大体加算用のCSAツリー120Gとして機能させることにより、整数の演算と拡大体の演算とを小さい回路規模で高速に実行することができる。
すなわち、入力データZ0〜Z6とCSAの和出力のみを入力とするCSAから構成されるCSAツリー120Gを用いるので、CSAツリー120Gの和出力S2が拡大体の演算結果RGとなり、拡大体演算に関し、桁上げ(キャリー)信号の制御が不要となる。また、CSAツリー120Gの和出力S2は整数加算の途中結果であるので、さらに桁上げ出力C0〜C2を加算することにより、整数の加算結果Rをも得ることができる。すなわち、整数加算用のCSAツリーの一部を拡大体加算用のCSAツリーとして機能させる構成により、回路規模の小型化、高速化を実現することができる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明するが、予めその背景について述べる。暗号処理では、数百ビットから数千ビットの多ワードの乗数データ同士を乗算することがある。この種の多ワードの乗算処理は一度に実行する場合、大規模なハードウェア抜きでは困難である。従って、多ワードの乗算処理は、比較的短いビットの乗算を繰り返して実行される。本実施形態は、このような多ワードの乗算処理にも適用可能な複数ワードの乗算処理に関するものである。
図5は本発明の第2の実施形態に係る演算装置の構成を示す模式図である。この演算装置は、メモリ140、部分積算出回路141、部分積加算器142−1、加算回路143、排他論理和回路144、選択回路145及び制御部146を備えている。
メモリ140は、制御部146によりバスを介して読出/書込されるRAMであり、入力データ(被乗数データA、乗数データB)、中間結果C及び最終結果Zがバスを介して一時的に記憶される。
部分積算出回路141は、メモリ140からバスを介して転送入力された被乗数データAと乗数データBとの部分積を算出し、得られた部分積データZ0〜Z7を部分積加算器142−1に出力する機能をもっている。
具体的には、部分積算出回路141は、各データが複数ビットからなり、複数ビットを1ワード単位としたとき、複数ワードからなる被乗数データAに複数ワードからなる乗数データBを乗算する際に、被乗数データAの各ワードと乗数データBの各ワードとを乗算し、乗数データBの各ワード毎に、被乗数データAのワード数と同じ個数の部分積データを算出する機能をもっている。また、部分積算出回路141は、算出した各部分積データZ0〜Z7を加算させるように、各部分積データZ0〜Z7を先頭の桁上げ保存加算器120−1,120−2,120−4に入力する機能(部分積入力手段)をもっている。
部分積加算器142−1は、図1に示したCSAツリーで構成され、部分積算出回路141から入力された部分積データZ0〜Z7の拡大体加算と整数加算とを実行する機能と、得られた整数加算結果Rを加算器143に出力する機能と、得られた拡大体加算結果RGを排他論理和回路144に出力する機能とをもっている。
加算器143は、部分積加算回路142の整数加算結果Rとメモリ140からバスを介して転送入力された中間結果Cとを加算し、得られた加算結果を選択回路145に出力するものである。
排他論理和回路144は、部分積加算回路142の拡大体加算結果RGとメモリ140からバスを介して転送入力された中間結果Cとの排他的論理和を算出し、得られた算出結果を選択回路145に出力するものである。
選択回路145は、部分積加算器142−1で整数加算を実行するときには加算器143の出力を選択し、部分積加算器142−1で拡大体加算を実行するときには排他論理和回路144の出力を選択し、選択により得られた最終結果データZをメモリ140に向けてバスに出力するものである。
制御部146は、前述した各回路140〜145を、被乗数データAと乗数データBとの乗算を実行するように制御するものである。
次に、以上のように構成された演算装置の動作を説明する。
図6は12ビットの被乗数データAと8ビットの乗数データBとを乗算する様子を示す概念図である。図6の例では4ビットを1ワードとしている。すなわち、被乗数データAは、3ワードa2,a1,a0で構成される。各ワードは、a2={a23,a22,a21,a20}であり、a1={a13,a12,a11,a10}であり、a0={a03,a02,a01,a00}である。
乗数データBは、2ワードb1,b0で構成される。各ワードは、b1={b13,b12,b11,b10}であり、b0={b03,b02,b01,b00}である。
この2数A,Bの乗算は、図6に示すように、各ビットの論理積を求め、得られた部分積データを乗数データBのビットの位置によって左にシフトした値を全て加算して実行される。
すなわち、被乗数データAと乗数データBの最下位ビットb00との論理積の値(A・b00)、被乗数データAと最下位から2番目ビットb01との論理積(A・b01)を1ビット左シフトした値、…、被乗数データAと最下位から7番目ビットb13との論理積(A・b13)を7ビット左シフトした値、の全てを合計した値が乗算結果となる。
このような乗算A×Bを1ワード分の乗算器を用いて実現する場合の様子を図7に示す。この例では、被乗数データAの1ワードa2,a1又はa0と、乗数データの1ワードb0とを入力とし、2ワードの部分積データを出力する乗算器(部分積算出回路141)を用いる。
乗算A×Bの概略としては、被乗数データAと、乗数データBの最下位ワードb0とを乗算し、部分積データg(=A×b0)を得る。次に、被乗数データAと、乗数データBの次のワードb1とを乗算し、部分積データk(=A×b1)を得る。最後に、部分積データg,kを加算することで、乗算結果A×B(=g+k)が得られる。
この乗算を1ワード分の乗算器を用いて実現する場合、部分積データg,kは次のように算出される。ここでは、部分積データgの算出過程を代表例に挙げて述べる。
始めに、制御部146は、メモリ140内の被乗数データAの最下位ワードa0および乗数データBの最下位ワードb0を部分積算出回路141に入力する。部分積算出回路141は、被乗数データAの最下位ワードa0と、乗数データBの最下位ワードb0の各ビットとの論理積を計算する。すなわち、a0(={a03,a02,a01,a00})とb00の論理積、a0(={a03,a02,a01,a00})とb01の論理積、a0(={a03,a02,a01,a00})とb02の論理積、a0(={a03,a02,a01,a00})とb03の論理積が部分積として部分積加算器142−1に入力する。
続いて、部分積加算器142−1は、入力された部分積を互いに加算し、中間データd={d13,d12,d11,d10,d03,d02,d01,d00}が得られる。
dの下位4ビット(下位1ワード)は、中間データgの最下位ワード({g03,g02,g01,g00})としてメモリ140に書き込まれる。
次に、制御部146は、メモリ140内の被乗数データAの最下位ワードa1および乗数データBの最下位ワードb0を部分積算出回路141に入力する。同様に部分積算出回路141によってa1とb0の部分積が計算され、結果が部分積加算器142−1に入力される。部分積加算器142−1では、入力された部分積を互いに加算し、中間データe=={e13,e12,e11,e10,e03,e02,e01,e00}が得られる。
中間データeの下位ワードは、中間データdの上位ワードと加算され,中間結果gの一部({g13,g12,g11,g10})としてメモリに保存される。
また、中間データeの下位ワードと中間データdの上位ワードの加算において桁上げが発生するが、これは、中間データeの上位ワードと中間データf(a2とb0の処理の結果)のときに一緒に加算される。
同様にa2とb0の乗算も実行され、中間データgがメモリに保存される。
次にAとb1の乗算が同様に実行される。このとき、制御部146は、メモリ140から中間データgを読み出し、加算器143に入力する。これによって、Aとb1の乗算による中間データkとメモリに保存されていた中間データg(Aとb0の乗算結果)の加算が行われ、最終的な乗算結果c={c43,c42,c41,c40,…,c03,c02,c01,c00}が計算される。
このように、多ワードの乗算は、小規模な乗算器(1ワード分の部分積算出回路141と部分積加算器142−1)による乗算を繰り返し実行し、得られた部分積データg,kを加算器143が加算することで実現される。ここで、部分積加算器142−1は、第1の実施形態(図1)に示した演算装置であるので、多ワードの乗算においても整数乗算と拡大体の乗算とを実現することができる。また、選択回路145により、整数乗算の結果又は拡大体乗算の結果を選択して出力することができる。
上述したように本実施形態によれば、多ワードの乗数データ同士を乗算する際に、得られた部分積データの加算に第1の実施形態の演算装置を用いた構成により、第1の実施形態の効果を多ワードの乗算においても得ることができる。
なお、本実施形態では、図7中、部分積データg(=A×b0),k(=A×b1)を算出した後に、部分積データの加算(g+k)を実行する場合を説明したが、これに限らず、図8に示すように、部分積データkを算出する時に、同時に同じ桁の部分積データgを加算器に入力する構成に変形することができる。この変形例では、部分積加算器142−2は、部分積加算器142−1に比べ、中間結果Cの入力端子が付加されている。
(第3の実施形態)
次に、本発明の第3の実施形態に係る演算装置について、前述した図5及び新たな図9を参照しながら説明する。図9は同演算装置に適用される部分積加算器の構成を示す模式図であり、前述した要素には同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。
すなわち、本実施形態は、第2の実施形態の変形例であり、乗数データA,Bの乗算過程が異なるものである。これに伴い、部分積加算器142−1を図9に示す構成としており、制御部146をこの部分積加算器142−1を制御する機能を有するものとしている。
ここで、部分積算出回路141は、各データが複数ビットからなり、複数ビットを1ワード単位としたとき、複数ワードからなる被乗数データAに複数ワードからなる乗数データBを乗算する際に、被乗数データAと乗数データBの各ワードとを当該各ワード内の各ビット毎に乗算し、乗数データBの各ワード毎に、当該各ワード内のビット数と同じ個数の部分積データを算出する機能をもっている。また、部分積算出回路141は、算出した部分積データZ0〜Z7を下位側から1ワードずつ加算するように、各部分積データZ0〜Z7の各ワードを先頭の桁上げ保存加算器120−1,120−2,120−4に入力する機能(部分積入力手段)をもっている。
部分積加算器142−1は、図9に示したCSAツリーで構成され、部分積算出回路141から入力された部分積データZ0〜Z7の拡大体加算と整数加算とを実行する機能と、得られた整数加算結果Rを加算器143に出力する機能と、得られた拡大体加算結果RGを排他論理和回路144に出力する機能とをもっている。
図9に示すCSAツリーは、前述同様に、全ての桁上げ保存加算器CSA120−1〜120−8からなる整数加算用のCSAツリーにおいて、この整数加算用のCSAツリーの一部が拡大体加算用のCSAツリー120Gとして機能するように構成されている。また、外部から桁上げ出力CINが2段目の桁上げ保存加算器120−3に入力可能となっている。
制御部146は、前述した各回路140〜145を制御するものであり、例えば、桁上げ伝搬加算器121から得られた整数加算結果のうち、1ワードを越えたビットデータを桁上げデータCINとして次の上位側のワードの加算に繰り越すように、部分積算出回路141における部分積データZ0〜Z7の各ワードを先頭の桁上げ保存加算器120−1,120−2,120−4に入力する機能を制御する機能(部分積入力制御手段)をもっている。
次に、以上のように構成された演算装置の動作を説明する。
図10は12ビットの被乗数データAと8ビットの乗数データBとを乗算する様子を示す模式図である。4ビットを1ワードとする点は、前述同様である。また、部分積データg(=A×b0)を算出し、次に部分積データk(=A×b1)を算出し、両者を加算するという点も図7と同様である。しかしながら、図10に示した例は、図7と比べ、部分積データg,kを算出する方法が異なっている。図10に示した例では、1ワード毎の乗算を実行せず、加算のみで実現している。
ここでは、部分積データg(=A×b0)の算出過程を代表例に挙げて述べる。
始めに、制御部146は、メモリ140内の被乗数データA及び乗数データBを部分積算出回路141に入力する。部分積算出回路141は、被乗数データAと、乗数データBの最下位ビットb00との論理積の値(A×b00)を求め、部分積データ(m23,…m00)を得る。次に、被乗数データAと、乗数データBの最下位から2番目ビットb01との論理積の値(A×b01)を求め、部分積データ(n23,…n00)を得る。以下同様に、論理積の値(A×b02)として部分積データ(p23,…p00)と、論理積の値(A×b03)として部分積データ(q23,…q00)とを求める。
すなわち、部分積算出回路141は、被乗数データAと乗数データBの各ワードb0とを当該各ワードb0内の各ビットb00,b01,b02,b03毎に乗算し、乗数データBの各ワードb0毎に、当該各ワードb0内のビット数(=4)と同じ個数(=4)の部分積データを算出する。また、部分積算出回路141は、制御部146からの制御に基づき、算出した部分積データを下位側から1ワードずつ部分積加算器142−1に入力する。
次に、部分積加算器142−1は、各部分積データ(m23,…m00),(n23,…n00),(p23,…p00),(q23,…q00)を下位から1ワードずつ加算していく。
最初に部分積加算器142−1は、下位から1ワード分の部分積データとして(m03,m02,m01,m00)と(n02,n01,n00,0)と(p01,p00,0,0)と(q00,0,0,0)とを加算し、下位から1ワード分の部分積データ(r03,r02,r01,r00)を得る。このとき、桁上げ出力CINが発生するが、桁上げ出力CINは、次の1ワード分の加算に繰り込まれる。
次に部分積加算器142−1は、下位から2ワード目の1ワード分の部分積データとして(m13,m12,m11,m10)と(n12,n11,n10,n03)と(p11,p10,p03,p02)と(q10,q03,q02,q01)と、下位の1ワードの計算による桁上げ出力CINとを加算し、下位から2ワード目の1ワード分の部分積データ(r13,r12,r11,r10)及び桁上げ出力CINを得る。
以下同様に、部分積加算器142−1は、下位から3ワード目の1ワード分の部分積データ(r23,r22,…,r20)及び桁上げ出力CINを算出し、下位から4ワード目の1ワード分の部分積データ(r33,r32,…,r30)を算出する。そして、これら各部分積データ(r33,r32,…,r30),(r23,r22,…,r20),(r13,r12,…,r10),(r03,r02,…,r00)を連結することにより、最終的に、部分積データg(=A×b0)として(r33,r32,…,r01,r00)が算出される。
また同様に、部分積データk(=A×b1)として部分積データ(w33,w32,…,w00)が算出される。そして、部分積加算器142−1は、各部分積データ(r33,r32,…,r00)と(w33,w32,…,w00)とを加算し、乗算結果A×Bを得る。乗算結果A×Bは、選択回路145やバス等を介して制御部146によりメモリ140に書込まれる。
図10に示すような演算の際に、1ワード分の部分積データを順次加算する構成として図9に示すCSAツリーを用いるため、整数の乗算と拡大体の乗算を実行できる。
次に、図9に示すCSAツリーによる加算過程を詳細に説明する。なお、図6〜図10は、1ワード4ビットの場合の乗算の例を示したが、図9では、1ワード8ビットの場合の例を示している。また、桁上げ入力CINは、拡大体の演算を実行するCSAツリー120Gには含まれない。
図11は図9に示すCSAツリーの動作を説明するための模式図である。図4では、部分積データZ0〜Z6が1ビットずつ左にシフトしていたのに対し、図11では、部分積データZ0〜Z7が同じ桁に配置されている。この理由は、図10に示した乗算方法を用いるためである。
最初に、部分積データZ0,Z1,Z2が桁上げ保存加算器CSA120−1に入力され、桁上げ保存加算器CSA120−1から和出力S0、桁上げ出力C0が出力される。また、部分積データZ3,Z4,Z5が桁上げ保存加算器CSA120−2に入力され、桁上げ保存加算器CSA120−2から和出力S1、桁上げ出力C1が出力される。
次に、部分積データZ6,Z7及び和出力S1が桁上げ保存加算器CSA120−4に入力され、桁上げ保存加算器CSA120−4から和出力S3、桁上げ出力C3が出力される。また、桁上げ保存加算器CSA120−1の桁上げ出力C0、桁上げ保存加算器CSA120−2の桁上げ出力C1、桁上げ入力CINが桁上げ保存加算器CSA120−3に入力され、桁上げ保存加算器CSA120−3から和出力S2、桁上げ出力C2が出力される。
次に、桁上げ保存加算器CSA120−1の和出力S0と、桁上げ保存加算器CSA120−4の和出力S3とがCSA120−6に入力され、桁上げ保存加算器CSA120−6から和出力S5、桁上げ出力C5が出力される。
CSA120−6の和出力S5は、データ入力Z0〜Z7と途中の和出力のみから計算された和出力であり、拡大体の乗算結果となる。
また、桁上げ保存加算器CSA120−3の桁上げ出力C2、和出力S2、桁上げ保存加算器CSA120−4の桁上げ出力C3がCSA120−5に入力され、和出力S4、桁上げ出力C4が出力される。
次に、桁上げ保存加算器CSA120−5の和出力S4及び桁上げ出力S4と、桁上げ保存加算器CSA120−6の桁上げ出力C5とが桁上げ保存加算器CSA120−7に入力され、和出力S6、桁上げ出力C6が出力される。
次に、これら和出力S6及び桁上げ出力C6と、桁上げ保存加算器CSA120−6の和出力S5とが桁上げ保存加算器CSA120−8に入力され、桁上げ保存加算器120−8から和出力S7、桁上げ出力C7が出力される。この出力S7,C7が桁上げ伝播加算器121に入力され、桁上げ伝播加算器121から整数の乗算結果Rが出力される。また前述同様に、選択回路145により、整数の乗算結果R又は拡大体の乗算結果RGを選択して出力することができる。
上述したように本実施形態によれば、部分積データを1ワード毎に加算するように図9に示したCSAツリーを用いた構成としても、第2の実施形態と同様の効果を得ることができ、整数乗算と拡大体乗算とを実行することができる。
(第4の実施形態)
図12は本発明の第4の実施形態に係る演算装置に適用されるCSAツリーの構成を示す模式図である。
すなわち、本実施形態は、第3の実施形態の変形例であり、セレクタ145を省略する観点から、拡大体の演算結果S5を整数の演算結果C6,S6と合流させる箇所に配置され、合流する予定の整数の演算結果C6,S6を通過又は遮断するアンドゲート(桁上げデータ遮断手段)123を備えている。
アンドゲート123は、整数切替信号を受けると、桁上げ保存加算器120−7の出力C6,S6を通過させて桁上げ保存加算器120−8に入力し、拡大体切替信号を受けると、桁上げ保存加算器120−7の出力C6,S6を遮断してゼロ出力(0値)を桁上げ保存加算器120−8に入力する。
これにより、整数切替信号がアンドゲート123に入力中、桁上げ保存加算器120−8では、整数の演算結果C6,S6と拡大体の演算結果S5とを加算し、整数の演算結果を示す出力C7,S7を桁上げ伝搬加算器121に出力する。桁上げ伝搬加算器121では、この出力C7,S7を加算し、整数の演算結果Rを出力する。
一方、拡大体切替信号がアンドゲート123に入力中、桁上げ保存加算器120−8では、ゼロ出力(0値)と拡大体の演算結果S5とを加算し、拡大体の演算結果を示す出力C7,S7を桁上げ伝搬加算器121に出力する。桁上げ伝搬加算器121では、この出力C7,S7を加算し、拡大体の演算結果RGを出力する。
従って、整数/拡大体切替信号に応じて、整数の演算結果Rと拡大体の演算結果RGを得ることができる。
以上のような構成によれば、選択回路145を省略しつつ、整数の乗算と拡大体の乗算の両方を同一の回路で実現でき、回路の小型化と高速化を実現することができる。
詳しくは、図12に示す構成は、CSAツリー全体で1個のアンドゲート123を必要とするので、回路規模を小型化できる。一方、図14に示す従来の構成は、CSAツリーの各CSA毎にアンドゲート106を必要とするので、回路規模を増大させてしまう。
なお、本願発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
本発明の第1の実施形態に係る演算装置の構成を示す模式図である。 同実施形態における4ビットのCSAの回路構成を示す図である。 同実施形態における整数乗算の様子を示す模式図である。 同実施形態におけるCSAツリーによる演算過程を示す模式図である。 本発明の第2の実施形態に係る演算装置の構成を示す模式図である。 同実施形態における多ビットの乗算の様子を示す概念図である。 同実施形態における多ビットの乗算を1ワード分の乗算器を用いて実現する場合の様子を示す模式図である。 同実施形態における演算装置の変形構成を示す模式図である。 本発明の第3の実施形態に係る演算装置に適用されるCSAツリーの構成を示す模式図である。 同実施形態における乗算の様子を示す模式図である。 同実施形態におけるCSAツリーの動作を説明するための模式図である。 本発明の第4の実施形態に係る演算装置に適用されるCSAツリーの構成を示す模式図である。 従来の整数乗算と拡大体乗算を実現するための部分積加算回路の構成を示す模式図である。 従来の整数乗算と拡大体乗算を実現する全加算器の回路構成を示す模式図である。 従来のCSAツリーの構成を示す模式図である。 一般的なCSA(全加算器)の回路構成を示す模式図である。 一般的な桁上げ伝播加算器の回路構成を示す模式図である。 従来のCSAツリーによる加算動作を示す模式図である。
符号の説明
120−1〜120−8…桁上げ保存加算器(CSA)、120G…拡大体加算用の加算器ツリー、121…桁上げ伝播加算器(CPA)、122…拡大体加算結果出力部、123…アンドゲート、140…メモリ、141…部分積算出回路、142−1,142−2…部分積加算器、143…加算器、144…排他論理和回路、145…選択回路、146…制御部。

Claims (6)

  1. 入力された3個以上のデータを互いに加算し、加算結果を表す排他的論理和データと桁上げデータとを出力する複数の桁上げ保存加算器が互いに多入力少出力のツリー状に直列接続されてなり、前記排他的論理和データ及び前記桁上げデータを順次、加算して整数加算を実行するように構成された整数加算用の加算器ツリーを備えた演算装置であって、
    前記整数加算用の加算器ツリーの一部分として設けられ、先頭から途中までの複数の桁上げ保存加算器からなり、当該各桁上げ保存加算器から得られる排他的論理和データ及び桁上げデータのうち、排他的論理和データのみを互いに加算して拡大体加算を実行するように構成された拡大体加算用の加算器ツリーと、
    前記拡大体加算用の加算器ツリーにおける最後尾の桁上げ保存加算器の排他的論理和データ及び桁上げデータのうち、排他的論理和データのみを拡大体の加算結果として前記整数加算用の加算器ツリーから分岐出力する拡大体加算結果出力手段と、
    前記各データが複数ビットからなり、前記複数ビットを1ワード単位としたとき、複数ワードからなる被乗数データに複数ワードからなる乗数データを乗算する際に、前記被乗数データと前記乗数データの各ワードとを当該各ワード内の各ビット毎に乗算し、前記乗数データの各ワード毎に、当該各ワード内のビット数と同じ個数の部分積データを算出する部分積算出回路と、
    前記部分積算出回路により得られた各部分積データを下位側から1ワードずつ加算するように、各部分積データの各ワードを前記先頭の桁上げ保存加算器に入力する部分積入力手段と、
    前記部分積入力手段による入力の結果、前記整数加算用の加算器ツリー内の最後尾の桁上げ保存加算器から得られる排他的論理和データと桁上げデータとを加算し、得られた整数加算結果を出力する桁上げ伝搬加算器と、
    前記桁上げ伝搬加算器から得られた整数加算結果のうち、1ワードを越えたビットデータを桁上げデータとして次の上位側のワードの加算に繰り越すように、前記部分積入力手段を制御する部分積入力制御手段と、
    を備えたことを特徴とする演算装置。
  2. 入力された3個以上のデータを互いに加算し、加算結果を表す排他的論理和データと桁上げデータとを出力する複数の桁上げ保存加算器が互いに多入力少出力のツリー状に直列接続されてなり、前記排他的論理和データ及び前記桁上げデータを順次、加算して整数加算を実行するように構成された整数加算用の加算器ツリーを備えた演算装置であって、
    前記整数加算用の加算器ツリーの一部分として設けられ、先頭から途中までの複数の桁上げ保存加算器からなり、当該各桁上げ保存加算器から得られる排他的論理和データ及び桁上げデータのうち、排他的論理和データのみを互いに加算して拡大体加算を実行するように構成された拡大体加算用の加算器ツリーと、
    前記拡大体加算用の加算器ツリーにおける最後尾の桁上げ保存加算器の排他的論理和データ及び桁上げデータのうち、排他的論理和データのみを拡大体の加算結果として前記整数加算用の加算器ツリーから分岐出力する拡大体加算結果出力手段と、
    前記各データが複数ビットからなり、前記複数ビットを1ワード単位としたとき、複数ワードからなる被乗数データに複数ワードからなる乗数データを乗算する際に、前記被乗数データの各ワードと前記乗数データの各ワードとを乗算し、前記乗数データの各ワード毎に、前記被乗数データのワード数と同じ個数の部分積データを算出する部分積算出回路と、
    前記部分積算出回路により得られた各部分積データを加算するように、当該各部分積データを前記先頭の桁上げ保存加算器に入力する部分積入力手段と、
    前記部分積入力手段による入力の結果、前記整数加算用の加算器ツリー内の最後尾の桁上げ保存加算器から得られる排他的論理和データと桁上げデータとを加算し、得られた整数加算結果を出力する桁上げ伝搬加算器と、
    を備えたことを特徴とする演算装置。
  3. 請求項又は請求項に記載の演算装置において、
    整数加算を実行するときには前記桁上げ伝搬加算器から得られる整数加算結果を選択し、拡大体加算を実行するときには前記拡大体加算結果出力手段から得られる拡大体の加算結果を選択するための選択手段を備えたことを特徴とする演算装置。
  4. 請求項1又は請求項2に記載の演算装置において、
    前記拡大体加算結果出力手段に代えて、
    整数加算を実行するときには前記整数加算用の加算器ツリー内の最後尾の桁上げ保存加算器に入力される桁上げデータを通過させ、拡大体加算を実行するときには当該最後尾の桁上げ保存加算器に入力される桁上げデータを遮断するための桁上げデータ遮断手段を備えたことを特徴とする演算装置。
  5. 請求項1又は請求項2に記載の演算装置において、
    前記拡大体加算結果出力手段に代えて、
    前記拡大体加算用の加算器ツリー内の最後尾の桁上げ保存加算器から排他的論理和データが入力される桁上げ保存加算器に対して他の桁上げ保存加算器から入力される排他的論理和データ及び桁上げデータに関し、整数加算を実行するときには当該排他的論理和データ及び桁上げデータを通過させ、拡大体加算を実行するときには当該排他的論理和データ及び桁上げデータを遮断するための桁上げデータ遮断手段を備えたことを特徴とする演算装置。
  6. 請求項1又は請求項2に記載の演算装置において、
    前記拡大体加算結果出力手段に代えて、
    前記拡大体加算用の加算器ツリー内の最後尾の桁上げ保存加算器から桁上げデータが入力される桁上げ保存加算器に関し、整数加算を実行するときには当該桁上げ保存加算器から出力される排他的論理和データ及び桁上げデータを通過させ、拡大体加算を実行するときには当該桁上げ保存加算器から出力される排他的論理和データ及び桁上げデータを遮断するための桁上げデータ遮断手段を備えたことを特徴とする演算装置。
JP2004107646A 2004-03-31 2004-03-31 演算装置 Expired - Fee Related JP3898705B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004107646A JP3898705B2 (ja) 2004-03-31 2004-03-31 演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004107646A JP3898705B2 (ja) 2004-03-31 2004-03-31 演算装置

Publications (2)

Publication Number Publication Date
JP2005293256A JP2005293256A (ja) 2005-10-20
JP3898705B2 true JP3898705B2 (ja) 2007-03-28

Family

ID=35326114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004107646A Expired - Fee Related JP3898705B2 (ja) 2004-03-31 2004-03-31 演算装置

Country Status (1)

Country Link
JP (1) JP3898705B2 (ja)

Also Published As

Publication number Publication date
JP2005293256A (ja) 2005-10-20

Similar Documents

Publication Publication Date Title
JP3595171B2 (ja) マイクロプロセッサ
EP1014274A1 (en) Neuroprocessor, device for calculating saturation functions, calculation device and adder
US20030200237A1 (en) Serial operation pipeline, arithmetic device, arithmetic-logic circuit and operation method using the serial operation pipeline
JPH07210369A (ja) 並列加算および平均演算を行うための回路およびその方法
EP1049025A1 (en) Method and apparatus for arithmetic operation
JP6350111B2 (ja) 乗算回路及びその乗算方法
JP7435602B2 (ja) 演算装置および演算システム
JPH0850575A (ja) プログラマブルプロセッサ、前記プログラマブルプロセッサを用いてデジタル信号処理を行なうための方法およびその改良
CN113485751A (zh) 执行伽罗瓦域乘法的方法、运算单元和电子装置
US5957996A (en) Digital data comparator and microprocessor
US8275822B2 (en) Multi-format multiplier unit
US6209012B1 (en) System and method using mode bits to support multiple coding standards
JPH08123769A (ja) 並列プロセッサ
JP3652518B2 (ja) Simd方式の演算器及び演算処理装置
JP2005293256A (ja) 演算装置
JP3579087B2 (ja) 演算器およびマイクロプロセッサ
JP3660075B2 (ja) 除算装置
US6202078B1 (en) Arithmetic circuit using a booth algorithm
JP3982965B2 (ja) 繰り返し型乗算器とアレイ型乗算器
US20080071852A1 (en) Method to perform a subtraction of two operands in a binary arithmetic unit plus arithmetic unit to perform such a method
JP4255475B2 (ja) データ駆動型情報処理装置
JP3252954B2 (ja) 乗算方法および乗算回路
JPH056263A (ja) 加算器およびその加算器を用いた絶対値演算回路
KR100900790B1 (ko) 재구성형 프로세서 연산 방법 및 장치
WO2020084694A1 (ja) 演算処理装置及び演算処理装置の制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060725

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060906

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061221

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110105

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120105

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130105

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees