JPS605338A - 演算装置 - Google Patents

演算装置

Info

Publication number
JPS605338A
JPS605338A JP58113269A JP11326983A JPS605338A JP S605338 A JPS605338 A JP S605338A JP 58113269 A JP58113269 A JP 58113269A JP 11326983 A JP11326983 A JP 11326983A JP S605338 A JPS605338 A JP S605338A
Authority
JP
Japan
Prior art keywords
adder
output
shifter
result
input
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.)
Granted
Application number
JP58113269A
Other languages
English (en)
Other versions
JPH022187B2 (ja
Inventor
Katsuhiko Ueda
勝彦 上田
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP58113269A priority Critical patent/JPS605338A/ja
Publication of JPS605338A publication Critical patent/JPS605338A/ja
Publication of JPH022187B2 publication Critical patent/JPH022187B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow

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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産業上の利用分野 末完1]はデジタル信号処理に用いられる演算装置に関
する。
従来例の構成々その問題点 近年、デジタル信号処理の手法は、LSI化が可能、高
積度化か可能等々の特徴から多くの注目を集めるように
なった。まだデジタル信号処理に特有な演算として、い
わゆる積和演算があげられる。
すなわち、2へYiMの計算である。
この積和演算を高速に行うために、従来では第1図に示
す様な演算装置が用いられている。(1)は二つの入力
X、Yの間で乗算を行う乗算器、(2)(3)eユ入カ
ラッチ回路、(4)は乗算器(1)の出力と後述のア士
ユムレータ[以下、Accと称す〕(7)の出力との加
算を行う加算器、(5)(6)は入力ラッチ回路である
前記Ac+c(7)&ま加算器(4)の出力を蓄えるも
ので、加算器(4)の出力に接続されである。また、こ
こで用いられる政体系は固定小数点で負数eま2の補数
で表現する場合を考える。
以上のように構成された従来の演算装置について、以下
その動作について説明する。
今、ΣNXi、Yiをめる場合について説明する。
−0 先ず、Acc (7)を“0”にクリアすると共に入力
X1人力YをX。、YOとし、それぞれ人力ラッチ回路
(2)。
(3)にセットし乗算を開始する。その後Acc (7
)の出力“0′を入力ラッチ回路(6)に、乗算器(1
)の出力Xo。
yoを入力ラッチ回路(5)に夫々ラッチすると共に、
乗算器(1)の入力ラッチ回路(2)、(3)にl1X
l、Ylをそれぞれラッチする。そして、これ以降は加
算器(4)と乗算器(1)を蛇行して動作させる。すな
わち、加算器(4)でX0YO+Xを計算させると共に
乗算器(1)ではXIY、を計算させる。また加算器(
4)でX0YO+X I Y 1を計算すると共に乗算
器(1)ではx2y、を計算させる。この動作をくり返
しN回行うことにより、最終的にi−j Ace (7
)にl X1Yiがまる。
↓=0 しかしながらここでオーバ・フ0−という問題を考える
必要がある。すなわち、加算器(4)内で次の2つのよ
うなことが発生した場合を考える。
ケースI:正数(データの最下位ピットMSBが“0”
)十正数(MSBが“0″)−負数(MSBが’1”)
ケース旧負数(MSBが“1”l)十負敢(MSBが“
l”)−正数(MSBが“O”) という現象が起った時、何らかの対策を講じる必要があ
る。従来では、この様な場合最大値もしくけ最小値をA
cc (7)にセットするという方法がとられている。
すなわち、と述のケース■の場合は”011・・・1パ
という値をAcc (7)にセットし、ケース口の場合
には、4100・・0”という値をAcc (7)にセ
ットする。しかしながら、この方法では結果例大きな誤
差が含オれてしまう可能性がある。例えば、信号のパワ
ーをめる場合にはl xiの計算を行−0 うが、途中でオーバフローが発生して上述の様な処理を
行ったとすると、その結果は、正1〜いパワーの数分の
1に々ってし甘う。
発明の目的 本発明は積和演算の途中でオーパフ0−が発生した場合
も、従来よりも誤差の少ないオーバフロー処理が行える
演算装置を提供することを目的とする。
発明の構成 本発明の演算装置は、二つの入力の積をめる乗算器と、
この乗算器の出力を最下位ヒツト方向へ任意ピットだけ
算術シフトを行うバレルシフタと、このバレルシフタの
出力を一方の入力とし、この一方の入力と他方の入力と
を加算する加算器と、この加算器での加算の結果オーパ
フ0−が発生した時に前記加算器の出力を最下位ピット
の方向へ1ピット分算術シフトさせるシフタと、このシ
フタの出力を蓄えるア士1ムレータと、前記加算器での
加算の結果オーパフO−が発生した時にカウントアツプ
するカウンタとを設け、このカウンタの計数値を前記バ
レルシフタにシフトすべきヒツト数として与えると共に
、前記ア士ユムレー夕の出力を加算器の前記他方の入力
とし、前記ア十ユムレータの出力を出力信号とし、積和
演算でオーバフローが発生した場合、前記バレルシフタ
及びシフタを用いて演算結果をシフトさせることにより
誤差の少ないオーバフロー処理を行うように構成したこ
とを特徴とする。
実施例の説明 以下末完1夕」の−実施例金弟2図に基ついて説明する
。(8)は乗算器、(9) (IIは入力ラッチ回路で
入力X1人力Yを夫々ラッチする。Q])ンまバレルシ
フタで、カウンタ02)で示される値だけ入力である乗
算器(8)の出力をtl’l上位トの方向にシフトして
出力する。(lは加算器、(1荀(15は入力ラッチ回
路、(+419は加算器(]3でオーバフローが発生す
ると入力である加算器q1の出力を最下位ピ・シトの方
向に1ヒツト算術シフトして出力するシフタで、オーバ
フローがなければ加算器α1の出力をシフトせずにその
まま通過させる。なお前記カウンタ@は加算器03でオ
ーパフ〇−が発生した時に内容は”′l″だけカウント
アツプされる。(171#iシフタOQの出力を蓄7す
るア士ユムレータ [以T’Accと称す1である。
以−ヒのように構成された本実施例の演算装置に動作を
説明する。
先ずAccすηとカウンタ@をリセットする。その結果
、バレルシフタ01)においてはシフト動作pま行われ
ず、乗算器(8)の出力はシフトされずに入力ラッチ回
路OQにラッチされる状悪となる。ここで入力X1人力
YにそれぞれXo、Yoを与え、これを入力ラッチ回路
(910*でラッチして乗算を開始する。
乗算結果はバしルシフタ01)を経由して入力ラッチ回
路(lGKラッチされる。しかし今、カウンタ(2)は
リセットさnているのでバレルシフタαηでシフト動作
は行われない。入力ラッチ回路OQにデータがラッチさ
れた時、同時に加算器(11のもう一方の入力ラッチ回
路(14)にはAcc(liの出力がラッチされ、この
二つの入力の加算か行われる。まだ入力ラッチ回路QΦ
(1Gにデータがラッチされると、すぐに乗算器(8)
の人力ラッチ回路(9) (10には夫々xl r Y
lがラッチされ乗算が開始される。その結果、XoYo
十〇の計算とX]・Ylの計算が並行して行われる。
加算器04で行われていたXoYo+ oの計算結果は
シフタOQを経由してア士ユムレータα力に格納される
。今す」らかにオーパフD−は発生しないので、シフタ
(1,19ま動作しない。xoyoがAccaηに格納
されると、すぐに乗算器(ト)の入力ラッチ回路(14
)(至)か動作してそれぞれXoYO、XIYIをラッ
チする。またこの時来算器(8)の入力ラッチ回路(9
)(1(IにQま犬々、X2Y2がラッチされる。その
結果、XoYo十XIY1の計算とX2Y2の計算が並
行して行われる。
加算器(」■内でオーバフローが発生しない時には、X
1YiがAccQ7)にめられる。
次に加算器q3内でオーパフD−が発生した場合につい
て説明する。今、XoYoにXIYlを加える段階でオ
ーバフローが発生したとする。そこでシフタOQが動作
し、加算器u3の出力はシフタ0→で1ピット最下位ピ
ットの方へ算術シフトされた後、Acc07)に格納さ
れる。そこでAccQ7)の値は(XOYO+X +M
)・2−リなる。以降の記述において、()′ば()内
のデータの最下位ピットか切捨てられた事を示すものと
する。オーバフロー信号は捷た、カウンタ(6)を1だ
けカウントアツプする。その結果xoy。
+xlylをめるのと並行して乗算器(8)で行われて
イi X、Y、の計算結果は、バレルシフタ(lυで1
ピット分最下位ピッ1〜の方向に算術シフトされ(X2
Y2)’・2−リなる。そこで入力ラッチ回路σaαG
の値は、それぞれ (XoYo+X+Yl)’ ・2 ’、 (X2Y2)
’ ・r’となり、両者の桁は一致し、加算器0で加算
を行うことができる。
ココテ、さらK (XOYO+XIYl )’ ・2−
 ’十(X2Y2)’、2 ’をめる過程で新たにオー
バフローが発生したとする。そこで先程述べた様にシフ
タq→か動作し、Acc 07)には((XoYo+X
+Y+)’+ (X2Y2)’)’、2−27.、格納
すれる。またカウンタQ2がさらにカウントアツプされ
、その値は“2”′となり、今乗算器(8)で計算され
ているX8Y8の結果は2ピット分最下位ピット方向に
算術シフトされる。そこで入力ラッチ回路σ荀05の値
はそれぞれ ((XOYO+XIY1) + (X2Y2)’ブ2−
B、 ((X8Y8)’ルー2となり両者の桁eよ一致
し、加算器0で加算を行うことができる。
このようにしてΣ X1Yiを水めると、その結果■二
〇 eよ (Accuηのデータ)X2”“う> 9 (12)n
データ)の形でめられる。すなわち、最終結果に台筐れ
る誤差は、従来例で示したオーバフロー処理とけ全く異
なり、打ち切りによる誤差だけとなる。
発明の詳細 な説明のように本発明の演算装置侃によると、積和演算
でオーバフローが発生した場合、バレルシフタおよびシ
フタを用いて演算結果をシフトさせるだめ、オーバフロ
ーが発生した時もこれに対処する事ができ、その処理結
果に含寸れる誤差は打ち切り誤差だけであり、従来から
行われている最大値、最小値設定によるオーへフD−処
理と比較した時、その誤差は格段に少なく、その実用的
効果は非常に太きいものである。
【図面の簡単な説明】
第1図eま従来の演算装置の構成図、第2図は本発明の
演算装置の一夫施例の構成図である。 (8)・・・乗s器、uU−・バレルシフタ、0幡・・
・カウンタ、o3・・・加’Jl−’!4 、aQ ・
・シフタ、1.lη−・・ア+ユムし−タ代理人 森 
木 義 弘

Claims (1)

    【特許請求の範囲】
  1. 1、 二つの入力の積をめる乗算器と、この乗算器の出
    力を最下位ヒツト方向へ任意上・リドだけ算術シフトさ
    せるバレルシフタと、このバレルシフタの出力を一方の
    入力としこの一方の入力と他方の入力とを加算する加算
    器と、この加算器での加算の結果オーパフ0−が発生し
    た時に前記加算器の出力を最下位ヒツトの方向へ1ピッ
    ト分算術シフトさせるシフタと、このシフタの出力を蓄
    えるア士ユムレータと、前記加算器での加算の結果オー
    バつ0−が発生した時にカウントアツプするカウンタと
    を設け、このカウンタの計数値を前記バしルシフタにシ
    フトすべきピット故として与えると共に、前記ア士1ム
    しm9の出力を加算器のOfI記他方の入力とし、前記
    ア+1ムレータの出力を出力信号とした演算装置。
JP58113269A 1983-06-22 1983-06-22 演算装置 Granted JPS605338A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58113269A JPS605338A (ja) 1983-06-22 1983-06-22 演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58113269A JPS605338A (ja) 1983-06-22 1983-06-22 演算装置

Publications (2)

Publication Number Publication Date
JPS605338A true JPS605338A (ja) 1985-01-11
JPH022187B2 JPH022187B2 (ja) 1990-01-17

Family

ID=14607883

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58113269A Granted JPS605338A (ja) 1983-06-22 1983-06-22 演算装置

Country Status (1)

Country Link
JP (1) JPS605338A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6033629A (ja) * 1983-08-04 1985-02-21 Nec Corp 演算装置
JPS6054070A (ja) * 1983-09-02 1985-03-28 Nec Corp 演算装置
JPS6397810U (ja) * 1986-12-15 1988-06-24

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6033629A (ja) * 1983-08-04 1985-02-21 Nec Corp 演算装置
JPS6054070A (ja) * 1983-09-02 1985-03-28 Nec Corp 演算装置
JPH0235348B2 (ja) * 1983-09-02 1990-08-09 Nippon Electric Co
JPS6397810U (ja) * 1986-12-15 1988-06-24

Also Published As

Publication number Publication date
JPH022187B2 (ja) 1990-01-17

Similar Documents

Publication Publication Date Title
EP0356153B1 (en) Radix-2**n divider method and apparatus using overlapped quotient bit selection and concurrent quotient rounding and correction
US5177703A (en) Division circuit using higher radices
US20060106905A1 (en) Method for reducing memory size in logarithmic number system arithmetic units
US6519621B1 (en) Arithmetic circuit for accumulative operation
JPH1195982A (ja) 演算処理回路及び演算処理方法並びに演算処理システム
JPS605338A (ja) 演算装置
RU2717915C1 (ru) Вычислительное устройство
JPH07234778A (ja) 演算回路
JP3660075B2 (ja) 除算装置
JPH09114641A (ja) 最上位デジットを決定するための装置と方法
JPH11126157A (ja) 乗算方法および乗算回路
US11829731B2 (en) Modular multiplication circuit and corresponding modular multiplication method
Nagendra et al. Unifying carry-sum and signed-digital number representations for low power
JPS60230266A (ja) 演算装置
JP2777265B2 (ja) 高基数開平演算装置
JP2537876B2 (ja) 丸め処理回路
EP0174048A1 (en) Digital root extraction circuit
JPS63254525A (ja) 除算装置
JPH09190338A (ja) 論理演算装置での数学的オーバフロー・フラグ発生遅延の除去
JPH0427587B2 (ja)
JP2580413B2 (ja) 乗算処理装置
Rao et al. An area efficient Q-format multiplier with high performance for digital processing applications
JPS61118835A (ja) ハ−ドウエア除算器
JPH02224120A (ja) 浮動小数点演算器
JPH1185471A (ja) 演算方法および演算装置