JP3898705B2 - 演算装置 - Google Patents
演算装置 Download PDFInfo
- 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
Links
Images
Description
また一方、整数乗算のみを実現する演算装置が知られている。この演算装置は、図13に示した部分積加算回路を、図15に示すように、複数の入力を加算して次段に出力するようにツリー状に配置された桁上げ保存加算器(CSA:Carry Save Adder)112−1〜112−5と、最後尾に配置された桁上げ伝搬加算器(CPA:Carry Propagate Adder)113とにより実現する方式である(例えば、非特許文献1参照)。
第2の発明は、入力された3個以上のデータを互いに加算し、加算結果を表す排他的論理和データと桁上げデータとを出力する複数の桁上げ保存加算器が互いに多入力少出力のツリー状に直列接続されてなり、前記排他的論理和データ及び前記桁上げデータを順次、加算して整数加算を実行するように構成された整数加算用の加算器ツリーを備えた演算装置であって、前記整数加算用の加算器ツリーの一部分として設けられ、先頭から途中までの複数の桁上げ保存加算器からなり、当該各桁上げ保存加算器から得られる排他的論理和データ及び桁上げデータのうち、排他的論理和データのみを互いに加算して拡大体加算を実行するように構成された拡大体加算用の加算器ツリーと、前記拡大体加算用の加算器ツリーにおける最後尾の桁上げ保存加算器の排他的論理和データ及び桁上げデータのうち、排他的論理和データのみを拡大体の加算結果として前記整数加算用の加算器ツリーから分岐出力する拡大体加算結果出力手段と、前記各データが複数ビットからなり、前記複数ビットを1ワード単位としたとき、複数ワードからなる被乗数データに複数ワードからなる乗数データを乗算する際に、前記被乗数データの各ワードと前記乗数データの各ワードとを乗算し、前記乗数データの各ワード毎に、前記被乗数データのワード数と同じ個数の部分積データを算出する部分積算出回路と、前記部分積算出回路により得られた各部分積データを加算するように、当該各部分積データを前記先頭の桁上げ保存加算器に入力する部分積入力手段と、前記部分積入力手段による入力の結果、前記整数加算用の加算器ツリー内の最後尾の桁上げ保存加算器から得られる排他的論理和データと桁上げデータとを加算し、得られた整数加算結果を出力する桁上げ伝搬加算器と、を備えた演算装置である。
(第1実施形態)
図1は本発明の第1の実施形態に係る演算装置の構成を示す模式図である。この演算装置は、整数加算用の構成の一部を、拡大体加算用の構成として機能させたものである。
始めに、整数の乗算動作と2の拡大体の乗算動作について述べる。
次に、本発明の第2の実施形態について説明するが、予めその背景について述べる。暗号処理では、数百ビットから数千ビットの多ワードの乗数データ同士を乗算することがある。この種の多ワードの乗算処理は一度に実行する場合、大規模なハードウェア抜きでは困難である。従って、多ワードの乗算処理は、比較的短いビットの乗算を繰り返して実行される。本実施形態は、このような多ワードの乗算処理にも適用可能な複数ワードの乗算処理に関するものである。
図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}である。
次に、本発明の第3の実施形態に係る演算装置について、前述した図5及び新たな図9を参照しながら説明する。図9は同演算装置に適用される部分積加算器の構成を示す模式図であり、前述した要素には同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。
図10は12ビットの被乗数データAと8ビットの乗数データBとを乗算する様子を示す模式図である。4ビットを1ワードとする点は、前述同様である。また、部分積データg(=A×b0)を算出し、次に部分積データk(=A×b1)を算出し、両者を加算するという点も図7と同様である。しかしながら、図10に示した例は、図7と比べ、部分積データg,kを算出する方法が異なっている。図10に示した例では、1ワード毎の乗算を実行せず、加算のみで実現している。
始めに、制御部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)とを求める。
図12は本発明の第4の実施形態に係る演算装置に適用されるCSAツリーの構成を示す模式図である。
従って、整数/拡大体切替信号に応じて、整数の演算結果Rと拡大体の演算結果RGを得ることができる。
Claims (6)
- 入力された3個以上のデータを互いに加算し、加算結果を表す排他的論理和データと桁上げデータとを出力する複数の桁上げ保存加算器が互いに多入力少出力のツリー状に直列接続されてなり、前記排他的論理和データ及び前記桁上げデータを順次、加算して整数加算を実行するように構成された整数加算用の加算器ツリーを備えた演算装置であって、
前記整数加算用の加算器ツリーの一部分として設けられ、先頭から途中までの複数の桁上げ保存加算器からなり、当該各桁上げ保存加算器から得られる排他的論理和データ及び桁上げデータのうち、排他的論理和データのみを互いに加算して拡大体加算を実行するように構成された拡大体加算用の加算器ツリーと、
前記拡大体加算用の加算器ツリーにおける最後尾の桁上げ保存加算器の排他的論理和データ及び桁上げデータのうち、排他的論理和データのみを拡大体の加算結果として前記整数加算用の加算器ツリーから分岐出力する拡大体加算結果出力手段と、
前記各データが複数ビットからなり、前記複数ビットを1ワード単位としたとき、複数ワードからなる被乗数データに複数ワードからなる乗数データを乗算する際に、前記被乗数データと前記乗数データの各ワードとを当該各ワード内の各ビット毎に乗算し、前記乗数データの各ワード毎に、当該各ワード内のビット数と同じ個数の部分積データを算出する部分積算出回路と、
前記部分積算出回路により得られた各部分積データを下位側から1ワードずつ加算するように、各部分積データの各ワードを前記先頭の桁上げ保存加算器に入力する部分積入力手段と、
前記部分積入力手段による入力の結果、前記整数加算用の加算器ツリー内の最後尾の桁上げ保存加算器から得られる排他的論理和データと桁上げデータとを加算し、得られた整数加算結果を出力する桁上げ伝搬加算器と、
前記桁上げ伝搬加算器から得られた整数加算結果のうち、1ワードを越えたビットデータを桁上げデータとして次の上位側のワードの加算に繰り越すように、前記部分積入力手段を制御する部分積入力制御手段と、
を備えたことを特徴とする演算装置。 - 入力された3個以上のデータを互いに加算し、加算結果を表す排他的論理和データと桁上げデータとを出力する複数の桁上げ保存加算器が互いに多入力少出力のツリー状に直列接続されてなり、前記排他的論理和データ及び前記桁上げデータを順次、加算して整数加算を実行するように構成された整数加算用の加算器ツリーを備えた演算装置であって、
前記整数加算用の加算器ツリーの一部分として設けられ、先頭から途中までの複数の桁上げ保存加算器からなり、当該各桁上げ保存加算器から得られる排他的論理和データ及び桁上げデータのうち、排他的論理和データのみを互いに加算して拡大体加算を実行するように構成された拡大体加算用の加算器ツリーと、
前記拡大体加算用の加算器ツリーにおける最後尾の桁上げ保存加算器の排他的論理和データ及び桁上げデータのうち、排他的論理和データのみを拡大体の加算結果として前記整数加算用の加算器ツリーから分岐出力する拡大体加算結果出力手段と、
前記各データが複数ビットからなり、前記複数ビットを1ワード単位としたとき、複数ワードからなる被乗数データに複数ワードからなる乗数データを乗算する際に、前記被乗数データの各ワードと前記乗数データの各ワードとを乗算し、前記乗数データの各ワード毎に、前記被乗数データのワード数と同じ個数の部分積データを算出する部分積算出回路と、
前記部分積算出回路により得られた各部分積データを加算するように、当該各部分積データを前記先頭の桁上げ保存加算器に入力する部分積入力手段と、
前記部分積入力手段による入力の結果、前記整数加算用の加算器ツリー内の最後尾の桁上げ保存加算器から得られる排他的論理和データと桁上げデータとを加算し、得られた整数加算結果を出力する桁上げ伝搬加算器と、
を備えたことを特徴とする演算装置。 - 請求項1又は請求項2に記載の演算装置において、
整数加算を実行するときには前記桁上げ伝搬加算器から得られる整数加算結果を選択し、拡大体加算を実行するときには前記拡大体加算結果出力手段から得られる拡大体の加算結果を選択するための選択手段を備えたことを特徴とする演算装置。 - 請求項1又は請求項2に記載の演算装置において、
前記拡大体加算結果出力手段に代えて、
整数加算を実行するときには前記整数加算用の加算器ツリー内の最後尾の桁上げ保存加算器に入力される桁上げデータを通過させ、拡大体加算を実行するときには当該最後尾の桁上げ保存加算器に入力される桁上げデータを遮断するための桁上げデータ遮断手段を備えたことを特徴とする演算装置。 - 請求項1又は請求項2に記載の演算装置において、
前記拡大体加算結果出力手段に代えて、
前記拡大体加算用の加算器ツリー内の最後尾の桁上げ保存加算器から排他的論理和データが入力される桁上げ保存加算器に対して他の桁上げ保存加算器から入力される排他的論理和データ及び桁上げデータに関し、整数加算を実行するときには当該排他的論理和データ及び桁上げデータを通過させ、拡大体加算を実行するときには当該排他的論理和データ及び桁上げデータを遮断するための桁上げデータ遮断手段を備えたことを特徴とする演算装置。 - 請求項1又は請求項2に記載の演算装置において、
前記拡大体加算結果出力手段に代えて、
前記拡大体加算用の加算器ツリー内の最後尾の桁上げ保存加算器から桁上げデータが入力される桁上げ保存加算器に関し、整数加算を実行するときには当該桁上げ保存加算器から出力される排他的論理和データ及び桁上げデータを通過させ、拡大体加算を実行するときには当該桁上げ保存加算器から出力される排他的論理和データ及び桁上げデータを遮断するための桁上げデータ遮断手段を備えたことを特徴とする演算装置。
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) |
-
2004
- 2004-03-31 JP JP2004107646A patent/JP3898705B2/ja not_active Expired - Fee Related
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 |