JPH022187B2 - - Google Patents

Info

Publication number
JPH022187B2
JPH022187B2 JP58113269A JP11326983A JPH022187B2 JP H022187 B2 JPH022187 B2 JP H022187B2 JP 58113269 A JP58113269 A JP 58113269A JP 11326983 A JP11326983 A JP 11326983A JP H022187 B2 JPH022187 B2 JP H022187B2
Authority
JP
Japan
Prior art keywords
output
adder
input
shifter
multiplier
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 - Lifetime
Application number
JP58113269A
Other languages
English (en)
Other versions
JPS605338A (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)

Description

【発明の詳細な説明】 産業上の利用分野 本発明はデジタル信号処理に用いられる演算装
置に関する。
従来例の構成とその問題点 近年、デジタル信号処理の手法は、LSI化が可
能、高精度化が可能等々の特徴から多くの注目を
集めるようになつた。またデジタル信号処理に特
有な演算として、いわゆる積和演算があげられ
る。すなわち、ΣXY型の計算である。
この積和演算を高速に行うために、従来では第
1図に示す様な演算装置が用いられている。1は
二つの入力X,Yの間で乗算を行う乗算器、2,
3は入力ラツチ回路、4は乗算器1の出力と後述
のアキユムレータ〔以下、Accと称する〕7の出
力との加算を行う加算器、5,6は入力ラツチ回
路である。前記Acc7は加算器4の出力を蓄える
もので、加算器4の出力に接続されている。ま
た、ここで用いられる数体系は固定小数点で負数
は2の補数で表現する場合を考える。
以上のように構成された従来の演算装置につい
て、以下その動作について説明する。
今、Ni=0 Xi,Yiを求める場合について説明する。
先ず、Acc7を“0”にクリアすると共に入力
X、入力YをX0,Y0とし、それぞれ入力ラツチ
回路2,3にセツトし乗算を開始する。その後
Acc7の出力“0”を入力ラツチ回路6に、乗算
器1の出力X0Y0を入力ラツチ回路5に夫々ラツ
チすると共に、乗算器1の入力ラツチ回路2,3
にはX1,Y1をそれぞれラツチする。そして、こ
れ以降は加算器4と乗算器1を並行して動作させ
る。すなわち、加算器4でX0Y0+0を計算させ
ると共に乗算器1ではX1Y1を計算させる。そし
て加算器4でX0+Y0+X1Y1を計算すると共に乗
算器1ではX2Y2を計算させる。この動作をくり
返しN回行うことにより、最終的にはAcc7にNi=0
XiYiが求まる。
しかしながらここでオーバ・フローという問題
を考える必要がある。すなわち、加算器4内で次
の2つのようなことが発生した場合を考える。
ケースI:正数(データの最上位ビツトMSB
が“0”)+正数(MSBが“0”)=負数(MSBが
“1”) ケース:負数(MSBが“1”)+負数(MSB
が“1”) =正数(MSBが“0”) という現象が起つた時、何らかの対策を講じる
必要がある。従来では、この様な場合最大値もし
くは最小値をAcc7にセツトするという方法がと
られている。すなわち、上述のケースの場合は
“011…1”という値をAcc7にセツトし、ケース
の場合には、“100…0”という値をAcc7にセ
ツトする。しかしながら、この方法では結果に大
きな誤差が含まれてしまう可能性がある。例え
ば、信号のパワーを求める場合にはNi=0 X2 iの計算
を行うが、途中でオーバフローが発生して上述の
様な処理を行つたとすると、その結果は、正しい
パワーの数分の1になつてしまう。
発明の目的 本発明は積和演算の途中でオーバフローが発生
した場合も、従来よりも誤差の少ないオーバフロ
ー処理が行える演算装置を提供することを目的と
する。
発明の構成 本発明の演算装置は、二つの入力の積を求める
乗算器と、この乗算器の出力を最下位ビツト方向
へ任意ビツトだけ算術シフトを行うバレルシフタ
と、このバレルシフタの出力を一方の入力とし、
この一方の入力と他方の入力とを加算する加算器
と、この加算器での加算の結果オーバフローが発
生した時に前記加算器の出力を最下位ビツトの方
向へ1ビツト分算術シフトさせるシフタと、この
シフタの出力を蓄えるアキユムレータと、前記加
算器での加算の結果オーバフローが発生した時に
カウントアツプするカウンタとを設け、このカウ
ンタの計数値を前記バレルシフタにシフトすべき
ビツト数として与えると共に、前記アキユムレー
タの出力を加算器の前記他方の入力とし、前記ア
キユムレータの出力を出力信号とし、積和演算で
オーバフローが発生した場合、前記バレルシフタ
及びシフタを用いて演算結果とシフトさせること
により誤差の少ないオーバフロー処理を行うよう
に構成したことを特徴とする。
実施例の説明 以下本発明の一実施例を第2図に基づいて説明
する。8は乗算器、9,10は入力ラツチ回路で
入力X、入力Yを夫々ラツチする。11はバレル
シフタで、カウンタ12で示される値だけ入力で
ある乗算器8の出力を最下位ビツトの方向にシフ
トして出力する。13は加算器、14,15は入
力ラツチ回路、16は加算器13でオーバフロー
が発生すると入力である加算器13の出力を最下
位ビツトの方向に1ビツト算術シフトして出力す
るシフタで、オーバフローがなければ加算器13
の出力をシフトせずにそのまま通過させる。なお
前記カウンタ12は加算器13でオーバフローが
発生した時に内容は“1”だけカウントアツプさ
れる。17はシフタ16の出力を蓄えるアキユム
レータ〔以下Accと称す〕である。
以上のように構成された本実施例の演算装置に
ついて、Ni=0 XiYiを求める場合を例に挙げてその
動作を説明する。
先ずAcc17とカウンタ12をリセツトする。
その結果、バレルシフタ11においてはシフト動
作は行われず、乗算器8の出力はシフトされずに
入力ラツチ回路15にラツチされる状態となる。
ここで入力X、入力YにそれぞれX0,Y0を与え、
これを入力ラツチ回路9,10でラツチして乗算
を開始する。乗算結果はバレルシフタ11を経由
して入力ラツチ回路15にラツチされる。しかし
今、カウンタ12はリセツトされているのでバレ
ルシフタ11でシフト動作は行われない。入力ラ
ツチ回路15にデータがラツチされた時、同時に
加算器13のもう一方の入力ラツチ回路14には
Acc17の出力がラツチされ、この二つの入力の
加算が行われる。また入力ラツチ回路14,15
にデータがラツチされると、すぐに乗算器8の入
力ラツチ回路9,10には夫々X1,Y1がラツチ
され乗算が開始される。その結果、X0Y0+0の
計算とX1・Y1の計算が並行して行われる。
加算器13で行われていたX0Y0+0の計算結
果はシフタ16を経由してアキユムレータ17に
格納される。今明らかにオーバフローは発生しな
いので、シフタ16は動作しない。X0Y0がAcc
17に格納されると、すぐに乗算器13の入力ラ
ツチ回路14,15が動作してそれぞれX0Y0
X1Y1をラツチする。またこの時乗算器8の入力
ラツチ回路9,10には夫々、X2Y2がラツチさ
れる。その結果、X0Y0+X1Y1の計算とX2Y2
計算が並行して行われる。
加算器13内でオーバフローが発生しない時に
は、以下同様にして演算装置は動作し、最終的に
Ni=0 XiYiがAcc17に求められる。
次に加算器13内でオーバフローが発生した場
合について説明する。今、X0Y0にX1Y1を加える
段階でオーバフローが発生したとする。そこでシ
フタ16が動作し、加算器13の出力はシフタ1
6で1ビツト最何位ビツトの方へ算術シフトされ
た後、Acc17に格納される。そこでAcc17の
値は(X0Y0+X1Y1)′・2-1となる。以降の記述
において、( )′は( )内のデータの最下位ビ
ツトが切捨てられた事を示すものとする。オーバ
ーフロー信号はまた、カウンタ12を1だけカウ
ントアツプする。その結果X0Y0+X1Y1を求める
のと並行して乗算器8で行われていたX2Y2の計
算結果は、バレルシフタ11で1ビツト分最下位
ビツトの方向に算術シフトされ(X2Y2)′・2-1
となる。そこで入力ラツチ回路14,15の値
は、それぞれ (X0Y0+X1Y1)′・2-1, (X2Y2)′・2-1 となり、両者の桁は一致し、加算器13で加算を
行うことができる。
ここで、さらに(X0Y0+X1Y1)′・2-1
(X2Y2)′・2-1を求める過程で新たにオーバフロ
ーが発生したとする。そこで先程述べた様にシフ
タ16が動作し、Acc17には((X0Y0
X1Y1)′+(X2Y2)′)′・2-2が格納される。ま
たカウンタ12がさらにカウントアツプされ、そ
の値は“2”となり、今乗算器8で計算されてい
るX3Y3の結果は2ビツト分最下位ビツト方向に
算術シフトされる。そこで入力ラツチ回路14,
15の値はそれぞれ ((X0Y0+X1Y1)′+(X2Y2)′)′ 2-2,((X3Y3)′)′2-2 となり両者の桁は一致し、加算器13で加算を行
うことができる。
このようにしてNi=0 XiYiを求めると、その結果
は (Acc17のデータ)×2(カウンタ12のデー
タ) の形で求められる。すなわち、最終結果に含まれ
る誤差は、従来例で示したオーバフロー処理とは
全く異なり、打ち切りによる誤差だけとなる。
発明の効果 以上説明のように本発明の演算装置によると、
積和演算でオーバフローが発生した場合、バレル
シフタおよびシフタを用いて演算結果をシフトさ
せるため、オーバフローが発生した時もこれに対
処する事ができ、その処理結果に含まれる誤差は
打ち切り誤差だけであり、従来から行われている
最大値、最小値設定によるオーバフロー処理と比
較した時、その誤差は格段に少なく、その実用的
効果は非常に大きいものである。
【図面の簡単な説明】
第1図は従来の演算装置の構成図、第2図は本
発明の演算装置の一実施例の構成図である。 8…乗算器、11…バレルシフタ、12…カウ
ンタ、13…加算器、16…シフタ、17…アキ
ユムレータ。

Claims (1)

    【特許請求の範囲】
  1. 1 二つの入力の積を求める乗算器と、この乗算
    器の出力を最下位ビツト方向へ任意ビツトだけ算
    術シフトさせるバレルシフタと、このバレルシフ
    タの出力を一方の入力としこの一方の入力と他方
    の入力とを加算する加算器と、この加算器での加
    算の結果オーバフローが発生した時に前記加算器
    の出力を最下位ビツトの方向へ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 JPS605338A (ja) 1985-01-11
JPH022187B2 true 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)

Families Citing this family (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

Also Published As

Publication number Publication date
JPS605338A (ja) 1985-01-11

Similar Documents

Publication Publication Date Title
EP0136834B1 (en) A digital circuit performing an arithmetic operation with an overflow
US4156922A (en) Digital system for computation of the values of composite arithmetic expressions
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US4594680A (en) Apparatus for performing quadratic convergence division in a large data processing system
US5177703A (en) Division circuit using higher radices
US5144576A (en) Signed digit multiplier
US6519621B1 (en) Arithmetic circuit for accumulative operation
US4538238A (en) Method and apparatus for calculating the residue of a signed binary number
EP0366155B1 (en) Logarithmic function arithmetic unit including means for separately processing pseudo division and multiplication
JPH022187B2 (ja)
EP0278529A2 (en) Multiplication circuit capable of operating at a high speed with a small amount of hardware
JPH0519170B2 (ja)
US5357457A (en) Adder with carry look ahead circuit
US3982112A (en) Recursive numerical processor
US4879675A (en) Parity generator circuit and method
US4538237A (en) Method and apparatus for calculating the residue of a binary number
JPS60230266A (ja) 演算装置
JP2555135B2 (ja) 演算回路
JP2537876B2 (ja) 丸め処理回路
JP2675087B2 (ja) マイクロコンピュータ
JP2864598B2 (ja) ディジタル演算回路
JP3053637B2 (ja) ディジタルフィルタの演算方法
JPH0285922A (ja) 演算回路
JPH0414173A (ja) 固定小数点演算器