JP2633165B2 - 分散算術を用いる演算装置 - Google Patents
分散算術を用いる演算装置Info
- Publication number
- JP2633165B2 JP2633165B2 JP5002557A JP255793A JP2633165B2 JP 2633165 B2 JP2633165 B2 JP 2633165B2 JP 5002557 A JP5002557 A JP 5002557A JP 255793 A JP255793 A JP 255793A JP 2633165 B2 JP2633165 B2 JP 2633165B2
- Authority
- JP
- Japan
- Prior art keywords
- output
- adder
- input
- rom
- value
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
集積回路における分散算術を用いる演算装置に関し、特
に、積和(product-sum )演算のための演算装置に関す
るものである。
和演算装置は、入力ステージをシフトレジスタで構成し
1ビット直列処理方式を使用しているので、演算速度が
非常に遅くなっている。このような従来の分散算術を用
いる演算装置が「IEEE Trans.Circuit and Systems,
Vol.36、No.4、April 1989、pp.61
0〜617」に開示されている。
を示す。同図において、並列ビット入力/直列ビット出
力方式のシフトレジスタで構成された入力ステージと、
該入力ステージに各々直列接続されたROM1及びRO
M2と、このROM1及びROM2の各出力を相互に加
算する第1加算器3とが接続されており、また、第1加
算器3の出力側は第2加算器4の一方の入力側に接続さ
れ、第2加算器4の他方の入力側には第2加算器4の出
力を右に1ビットシフトした値が帰還されており、そし
て第2加算器4の出力側はシフトレジスタ(SR)5の
入力側に接続されている。SR5は、右に1ビットシフ
トされて第2加算器4の入力として帰還するループと、
直接SR5の値が出力されるループとを有している。
し、常数をC1〜C4と仮定すると、上記のような構成
を有する演算装置は、2の補数(Two's Complement)入力
データをNビットの並列に入力ステージで貯蔵した後、
この入力データを1ビットずつ直列に各々出力する。即
ち、データf1〜f4のLSBからf1の1ビット、f
2の1ビット、f3の1ビット、f4の1ビットずつを
同時に出力する方式である。そして、ROM1及びRO
M2には予め計算された値を貯蔵して、入力ステージか
ら出力された値をROMのアドレスとして用いROMか
らデータを出力する。即ち、f1の1ビットとf2の1
ビットとはROM1のアドレスとなり、f3の1ビット
とf4の1ビットとはROM2のアドレスとなって、予
め計算された値を引き出してから、これを所定の演算式
に従って計算する。ROM1及びROM2の各出力は第
1加算器3で相互に加算された後、第2加算器4の一入
力となる値と、直前にSR5に貯蔵された値を右に1ビ
ットシフトした値とが第2加算器4で加算され、再びそ
の結果がSR5に貯蔵される。このような過程は、2の
補数入力データのゆえに可能である。最終的なSR5の
値は積和であるf1C1+f2C2+f3C3+f4C
4となる。
算を行うようになっているので、クロックの消費が増加
して速度が非常に遅くなるという致命的な短所があり、
またROMの出力側が直接第1加算器3と第2加算器4
とに接続されているので、高周波のクロックを使用する
ことができない。例え図4Bのような使用方法で、RO
Mの出力側をレジスタ(R)6、7を通じて第1加算器
3に接続するようにして高周波のクロックを使用可能と
しても、速度が遅いという短所を解決することはできな
い。
的は、動作速度の速い積和計算用の演算装置を提供する
ことにある。本発明の他の目的は、高周波を使用しても
無理なく動作できる積和計算用の演算装置を提供するこ
とにある。本発明のまた他の目的は、入力ステージの構
成がより簡素化された積和計算用の演算装置を提供する
ことにある。
るために本発明は、分散算術を用いる積和演算装置にお
いて、入力端に接続され、並列ビット入力/直列2ビッ
ト出力方式のラッチで構成されたラッチ部と、該ラッチ
部の出力を受けてこれに従うROMアドレスを駆動する
アドレスレジスタと、予め計算された値を貯蔵してお
り、前記ROMアドレスによりアクセスされるROM
と、該ROMの出力側に接続されてROM出力を加算す
る第1加算器と、該第1加算器の出力側に接続されたパ
イプラインレジスタと、該パイプラインレジスタの出力
側に一方の入力側が接続された第2加算器と、該第2加
算器の出力を貯蔵し、これを右に2ビットシフトさせて
前記第2加算器の他方の入力側に帰還させるシフトレジ
スタとを備えていることを特徴としている。そして、こ
のような積和演算装置の入力端とラッチ部との間にデマ
ルチプレクサを備えるようにしたことを特徴とする。
参照して説明する。尚、共通の部分には同じ符号を付
し、重複する説明は省略する。図1に本発明による演算
装置の実施例の構成を示した。図1において、入力端I
Nからデータを受け取って貯蔵し、この入力データを2
ビット直列方式で出力する入力ステージとしてBOL(B
ank of Latch) を使用する。BOLの出力側はROMア
ドレスを貯蔵するアドレスレジスタ(AR)10、11
に接続され、そして各AR10、11の出力はROM2
0、21に供給される。各ROM20、21の出力側は
第1加算器30の相互に異なる入力側に接続され、第1
加算器30の出力側はパイプラインレジスタ(PR)4
0に接続される。PR40の出力側は第2加算器50の
一方の入力側に接続され、第2加算器50の出力側はシ
フトレジスタ(SR)60に接続される。SR60の出
力は、並列ビット形態で出力端子に接続されるループ
と、右に2ビットシフトして第2加算器50の他方の入
力側へ帰還されるループとで構成されている。ここで、
図示されてないが、入力端INの入力データはBOLに
デマルチプレクシングされて入力される。
の補数データを受け取り貯蔵してLSBから2ビットず
つAR10、11の入力側に出力する役割をする。AR
10、11は、ROM20、21のアドレスを示すレジ
スタで、入力されたデータに相当するアドレスを駆動さ
せる。AR10、11に接続されたROM20、21は
予め計算された値を貯蔵し、駆動されるアドレスに相当
するデータを出力する。このROM20、21に貯蔵さ
れるデータは部分積和の一種である。ROM20、21
の出力は第1加算器30に入力され、第1加算器30の
出力はPR40に入力される。ここで、第1加算器30
は、利用者の望む演算が加算である場合に使用され、こ
れがもし減算である場合には減算器が用いられる。PR
40は、一種のバッファリング及びパイプライン効果を
得るために使用される。第2加算器50とSR60は一
種の累算器として動作し、累算時のSR60の出力は右
に2ビットシフトされる。このようにして入力データの
MSBまで累算が完了されるとSR60の出力は出力端
OUTに出力され、この値は積和の値になる。
程の一例を示す。図2のブロック図において、図1のB
OL内のラッチ過程を示す。この例は、S=f1C1+
f2C2+f3C3+f4C4の値を計算するものであ
る。ここで、f1〜f4は12ビットの2の補数入力デ
ータであり、その各々の常数はC1〜C4である。L1
〜L4がBOLで、入力データf1〜f4を12ビット
の並列に入力して貯蔵する。そして、f1〜f4のLS
Bから2ビットずつ順に出力する。ROM20にはf1
C1+f2C2の値を予め計算して貯蔵する。その計算
方法は次のようになる。
のj乗である。したがって、
(j) 、f2(j+1) とf2(j) は各々2進数であるので、
〔f1(j+1) 、f1(j) 、f2(j+1) 、f2(j) 〕のす
べての場合の数に対して{〔f1(j+1) ・2+f
1(j) 〕C1+〔f2(j+1) ・2+f2(j) 〕C2}の
値を計算することができる。〔f1(j+1) 、f1(j) 、
f2(j+1) 、f2(j) 〕に対してすべての値を計算した
後、〔f1(j+1) 、f1(j) 、f2(j+1) 、f2(j) 〕
の値をROM20のアドレスとし、各アドレスに計算さ
れた値を貯蔵する。ROM21に対しても同様にしてf
3C3+f4C4の値を予め計算することができる。
1加算器30が、〔f1C1+f2C2〕の値と〔f3
C3+f4C4〕の値とを相互に加算する役割をする。
第1加算器30の出力はPR40に貯蔵されるが、PR
40の値は、結局、 {〔f1(j+1) ・2+f1(j) 〕C1+〔f2(j+1) ・
2+f2(j) 〕C2}+{〔f3(j+1) ・2+f
3(j) 〕C3+〔f4(j+1) ・2+f4(j) 〕C4} の値を意味する。ここで、j=0、2、4、6、8、1
0の値を有する。初期の状態で、SR60の値はリセッ
トされて0の値をもつようになっているので、LSB2
ビット、j=0のときはPR40の値はSR60にその
まま入力される。その次の2ビット、即ちj=2の場合
には、PR40の値と、SR60の値を右に2ビットシ
フトさせた値とが第2加算器50で加算された後、SR
60に再び貯蔵される。このとき、SR60の値は、 {〔f1(3) ・2+f1(2) 〕C1+〔f2(3) ・2+
f2(2) 〕C2+〔f3(3) ・2+f3(2) 〕C3+
〔f4(3) ・2+f4(2) 〕C4}・2(2)+{〔f1
(1) ・2+f1(0) 〕C1+〔f2(1) ・2+f
2(0) 〕C2+〔f3(1) ・2+f3(0) 〕C3+〔f
4(1) ・2+f4(0) 〕C4}・2(0) の値である。以後、順に2ビットずつ(j=4、6、
8、10)に対して上記の過程を繰り返し、MSB2ビ
ット(j=10)の場合まですべての計算が終わると、
SR60の値は所定のS値、即ちf1C1+f2C2+
f3C3+f4C4の値になる。
ものである。本実施例によると、積和であるS=f1C
1+f2C2+f3C3+f4C4の値を計算するため
にデータ入力を完了してから8週期で値を計算できるの
で、従来のものに比べてほぼ2倍以上の速い演算速度を
得ることができる。
グは入力端INとL1〜L4との間にデマルチプレクサ
を追加し、入力端INから入力されるデータをデマルチ
プレクシングして容易にL1〜L4のラッチにローディ
ングすることができる。
ータを2ビットずつ処理することによって、従来の技術
より更に高速の演算処理速度を得ることができ、また、
ラッチを使用することによって入力ステージの構成を簡
単にすることができる。そのうえ、アドレスレジスタと
パイプラインレジスタを使用することで安定した動作特
性を得られるという効果がある。
図。
ック図。
図。
Claims (2)
- 【請求項1】 分散算術を用いる積和演算装置におい
て、入力端に接続され、並列ビット入力/直列2ビット
出力方式のラッチで構成されたラッチ部と、該ラッチ部
の出力を受けてこれに従うROMアドレスを駆動するア
ドレスレジスタと、予め計算された値を貯蔵しており、
前記ROMアドレスによりアクセスされるROMと、該
ROMの出力側に接続されてROM出力を加算する第1
加算器と、該第1加算器の出力側に接続されたパイプラ
インレジスタと、該パイプラインレジスタの出力側に一
方の入力側が接続された第2加算器と、該第2加算器の
出力を貯蔵し、これを右に2ビットシフトさせて前記第
2加算器の他方の入力側に帰還させるシフトレジスタと
を備えていることを特徴とする積和演算装置。 - 【請求項2】 入力端とラッチ部との間にデマルチプレ
クサが備えられている請求項1記載の積和演算装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1992P300 | 1992-01-11 | ||
| KR1019920000300A KR940006814B1 (ko) | 1992-01-11 | 1992-01-11 | 분산 연산을 이용한 연산장치 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH05266057A JPH05266057A (ja) | 1993-10-15 |
| JP2633165B2 true JP2633165B2 (ja) | 1997-07-23 |
Family
ID=19327757
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5002557A Expired - Fee Related JP2633165B2 (ja) | 1992-01-11 | 1993-01-11 | 分散算術を用いる演算装置 |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP2633165B2 (ja) |
| KR (1) | KR940006814B1 (ja) |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2644514B2 (ja) * | 1988-01-25 | 1997-08-25 | 久哉 古田島 | 関数演算装置 |
| JPH0247769A (ja) * | 1988-08-09 | 1990-02-16 | Matsushita Electric Ind Co Ltd | 積和演算装置 |
| JPH03149656A (ja) * | 1989-11-07 | 1991-06-26 | Matsushita Electric Ind Co Ltd | 演算回路 |
-
1992
- 1992-01-11 KR KR1019920000300A patent/KR940006814B1/ko not_active Expired - Fee Related
-
1993
- 1993-01-11 JP JP5002557A patent/JP2633165B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
| Title |
|---|
| IEEE TRANSACTION ON CIRCUITS AND SYSTEMS,VOL.36,NO.4(1989−4)P.610−617 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH05266057A (ja) | 1993-10-15 |
| KR930016868A (ko) | 1993-08-30 |
| KR940006814B1 (ko) | 1994-07-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6820102B2 (en) | DSP unit for multi-level global accumulation | |
| US5506799A (en) | Booth array multiplying circuit having carry correction | |
| JP3245171B2 (ja) | 高速アダマール変換を行う方法およびその装置 | |
| JPH06222918A (ja) | 複合オペランド内の多ビット要素を選択するためのマスク | |
| US4807175A (en) | Booth's multiplier | |
| JP2004326112A (ja) | マルチプルモジュラス選択器、累算器、モンゴメリー掛け算器、マルチプルモジュラス発生方法、部分掛け発生方法、累算方法、掛け算方法、モジュラス選択器、およびブースレコーダ | |
| CN113485751A (zh) | 执行伽罗瓦域乘法的方法、运算单元和电子装置 | |
| JP2722412B2 (ja) | モンゴメリ法によるモジュラ操作の実行に伴うエラー訂正パラメータの算出方法 | |
| JPH082014B2 (ja) | 多段デジタル・フィルタ | |
| US4754422A (en) | Dividing apparatus | |
| US7296049B2 (en) | Fast multiplication circuits | |
| US6609142B1 (en) | Method of performing multiplication with accumulation in a Galois body | |
| JP2633165B2 (ja) | 分散算術を用いる演算装置 | |
| US4503512A (en) | Cellular division circuit | |
| JPH0234054B2 (ja) | ||
| JP3660075B2 (ja) | 除算装置 | |
| JP2007500388A (ja) | 長整数乗算器 | |
| US6725360B1 (en) | Selectively processing different size data in multiplier and ALU paths in parallel | |
| KR970003979B1 (ko) | 갈로이스 필드상의 승산기 | |
| JP4408727B2 (ja) | ディジタル回路 | |
| JP3851024B2 (ja) | 乗算器 | |
| KR100386979B1 (ko) | 갈로아체상에서 비트 직렬 승산기의 병렬화 방법 및 이를이용한 직병렬 승산기 | |
| JP4293665B2 (ja) | 剰余乗算装置 | |
| KR20100026358A (ko) | 센서 모트에서의 블록 인덱싱 기반의 타원 곡선 암호 연산 방법, 그 장치 및 이를 기록한 기록 매체 | |
| JP2864598B2 (ja) | ディジタル演算回路 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090425 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090425 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100425 Year of fee payment: 13 |
|
| LAPS | Cancellation because of no payment of annual fees |