JPS6033629A - 演算装置 - Google Patents

演算装置

Info

Publication number
JPS6033629A
JPS6033629A JP58142914A JP14291483A JPS6033629A JP S6033629 A JPS6033629 A JP S6033629A JP 58142914 A JP58142914 A JP 58142914A JP 14291483 A JP14291483 A JP 14291483A JP S6033629 A JPS6033629 A JP S6033629A
Authority
JP
Japan
Prior art keywords
register
shifter
overflow
contents
data
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.)
Pending
Application number
JP58142914A
Other languages
English (en)
Inventor
Yuichi Kawakami
雄一 川上
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.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric 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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP58142914A priority Critical patent/JPS6033629A/ja
Publication of JPS6033629A publication Critical patent/JPS6033629A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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

【発明の詳細な説明】 〔発明の属する技術分野〕 本発明は集積化可能なディジタル信号処理用演算装置に
関する。
〔従来技術〕
半導体製造技術の進歩に伴い、高集積度でかつ高速度の
LSIが可能となるにつれ、高速演算を必要とするリア
ルタイムOディジタル信号処理が可能となってきた。デ
ィジタル信号処理とは、アナログ信号をティジタル信号
に変換しくA/D変換しハディジタル信号として取扱い
、必要とされるフィルタ操作、直交変換等全ディジタル
演算で実行する技術である。
一般に、これらディジタル信号処理において行なわれる
演算は、(1)式に示すように配列同士の積和であるC
とが多い。
一方、これらの演算を実行するだめの演算装置のデータ
形式は、2の補数表示の固定小数点形式を用いることが
多い。例えば、第1図(a)に示すように、4ビツトの
2の補数表示のデータで、小数点位置が最上位ビット(
以下MSBと記す)と、MSBの次のビットとの間にあ
る場合、4ビツトで表示する数値Aは、(2)式のよう
になる。
A=−83+82”2 +a1 e2 +a(1”2 
(2)但し、a + (i=o、 1.2.3)はO又
はl第1図(b)のように、MOBから2ビツト目と、
3ビツト目に小数点がある場合、表示される数値Bは、
(3)式のようになるう B=−b3・2+b2+I)l・2千bO・2(3)実
際の演算装置においては、このような小数点の位置は存
在せず単純に4ビツトの2の補数データとして演算され
るため、プログラマ−は、演算を行う場合、小数点の位
置を考慮しながらプログラムを書く必要がある5例えば
、第11dla)の形式のデータと第1図(b)の形式
のデータを加算する場合には、(a)の形式あるいは(
b)の形式に小数点位置を合わせてから、加算する必要
がある。
さらに、小数点位置を合わせて、例えばか1算する場合
、考慮しなければならないのが、オーツ(−70−に対
する処理である。例えば数値X(0111)Bと数値Y
(0100)B全加算する場会會考える。この場合、M
SBとMOBの次のビットとの間に小数点があると仮定
する。数値X及びYを10進数で表すと X=2 +2 +2 =O15+0.125+0.06
25=0.6875 Y=2 =0.5 となる。従って、XとYの加算を実行すると、X+Y=
(0111)D+(0100)B=(1011)e=−
1+OX2+lX2 +1X2=−0,8125 〜0.5+0.6875 = 1.1875となり1計
算結眼が正しくない、これは計算過程でオーバーフロー
が起すただめでる。このようなオーバー70−が起きた
場合、対すする処理として、2通りの方法が考えられる
第1の方法は、計算結果をオーバー70−が起った方向
の最大値に置換える方法であり、例えば前述の例では(
0111)BKit換える。このような方法は、ディジ
タルフィルタ等の場合に用いられるう しかし、この方
法は演算結果がオーバー70−尺生じた場合、正または
負の最大値に張付いてし壕うので、それより大きい数値
のものは切取られてしまい、誤差を生ずるという欠点が
ある。
例えば、第2図(a)に示すように、理想的に演算が行
われた・場合に正弦波となる演算を行ったとする。
オーバー70−が起った場合%第2図(b)に示すよう
に、オーバー70−が起った方向の最大直に張付いてし
まうので、この最大値より大きい値(図で破線で示した
値)は切取られてしまい、大きな誤差を生ずるという欠
点がある。
第2の方法は、計算結果を右シフトし、1ビット演算精
度金低下させることによって正しい演算結果を保存する
方法である。この場合、上記計算例では、演算結果は(
0101)Bとなる。右シフトによって、小数点位置は
1ビツト右にずれるため、このオーバー70−処理によ
って得たデータは =1+0.125=1.125さ1.1875となり、
最小桁の誤差内に入っている。このようなオーバーフロ
ーに対する処理を行うと、演算結果は小数点位置がずれ
ているため、以降さらに加算もしくは減算を続けていく
場合、加数もしくけ減数を右シフトして加算もしくは減
算を行う必要がある。このようなオーバー70−の処理
は7−リエ変換等の場合に用いられる。この第2の方法
はソフトフェア釣手法で行われる。即ち、オーバーフロ
ーが生じたか否かをプログラムでチェックし、オーバー
フローが生じていれば上述のように右シフトする。従っ
て、オーバーフローを起した後、加算/減算を続けて行
う場合には、演算命令を実行する前に、常にシフト命令
を実行しなければならず、演算時間が長くなるという欠
点がある。
〔発明の目的〕
本発明の目的は、上記欠点を除去し、比較的1y11単
にオーバー70−を補正し、以降の計算を効率よく行う
ことのできる演算装置を提供することにある。
〔発明の構成〕
本発明の演算装置1′i、人力されたデータを任意のビ
ット数だけシフトする第1のシフタと、演算結果を記憶
するレジスタと、前記第1のシフタと前記レジスタの出
力を人力として演算を行う演算器と、前記演算器がオー
バーフローを生じたか否かを検出するオーバーフロー検
出器と、前記オーバーフロー演出器の出力によりオーバ
ーフローを生じた回数を計数するカウンタと、前記オー
ツ;−70−検出器がオーバーフローを検出した場合前
記演算器の出力’に1ビツト右シフトして前記レジスタ
に出力する第2の77タと、前記力シフタの内容により
前記第1のシックのシフト量t1″決定し前記第1の7
7タにシフト量を指示する制御回路と?含んで構成され
る。
〔実施例の説明〕
次に、本発明の実施例について図面を用いて説明するつ 第3図は本発明の一実施例のブロック図である。
Cの実施例は、入力端子9.lOから人力されたデータ
を乗算する乗算器1から入力されたデータを任意のビッ
ト数だけシフトする第1のシフタ2と、演算結果を記憶
するレジスタ5と、第1のシフタ2とレジスタ5の出刃
を人力として演算ケ行う演算器3と、演算器3がオーツ
(−70−金生じたか否かta出するオーツく−フロー
検出器6と、オーバー70−検出器6の出力によりオー
)く−フローを生じた回数を計数するカウンタ7と、オ
ーバー70−検出器6がオーツ(−フローを検出した場
合、演算器3の出力を1ビツト右クフトしてレジスタ5
に出力する第2のシフタ4と、カウンタ7の内容により
第1の7フタ2のシフH9j’に決定し第1のシフタ2
に77ト竜勿指示する制御回路8とを含んで構成される
次に、この実施例の動作について説明する。理解金谷易
にするため、前述のtl1式で示される演算を例にして
説明する。
端子9には、データ列(al)が、端子10にはデータ
列(Xk+t)が人力されるものとする。
この場合、(,1)および(Xk++)の小数点位随は
、第1図(a)に示す様に、MOBとMSBの次のビッ
トとの間にあるものとし、乗算器lで実行する乗算の結
果も、MOBとMSBの次のビットとの間にあるものと
するつ又初期状態として、レジスタ5及びカウンタ7は
クリアされているものとする。入力端子9,10にaQ
およびXk+0が人力されると、乗算器lにおいて乗算
が実行され、その結果が第1のシックに人力される。カ
ウンタ7クリアされてお9.従って制御回@8は第1の
シフタ2に対し右77トしない制御l金命令するため、
第1のシック2は乗算器lの出力をそのまま演算器3に
出力する。演算器3はレジスタ5に記t、iされている
内容と第1のシフタ2の出刃との加算を行う。レジスタ
5の内容はクリアされているためオーバーフローは発生
せず、従って第2のシフタ4は人力をシフトぜず、その
まま、レジスタ5に出力する。従って、レジスタ5には
、レジスタ5の以前の格納値(即ち0)と、乗算器lの
出刃の加算値が人力される。以下同様にa、、Xk+1
゜・・・のデータ人力に対し同様に演算される。
次にs al 及びX、+、の績を加算する場合、初め
て、オーバー70−が発生したとすると、オーバー70
−検出器6でオーバーフローが検出されるため、制御回
路8の指示により第2のシフタ4はデータtlビット右
シフトする。従って、レジスタ5には、第4図(b)の
ようなデータが格納される。Cのとさ、カウンタ7は計
数値が1になる。
次にs ai+1とxk+1+・、の演算ケ考える。乗
算器lの出力は、同様に第4図(alのようなデータで
ある。一方、力9ンタ7は計数値が1になっているため
、制御回路8は第1のシ7り2に1ビツト右シフトを指
示す暮。従って% a1+1とXk+1+1の稙は第1
のり7タ2により、1ビツト右シフトされ、第4図(b
lのようなデータが演算器3に入力される。このデータ
形式は、レジスタ5に格納されているデータ形式と同様
であるから、直ちに演算出来ることは、明白である。又
、カウンタ7の1直が増加しない限v1同様に、次々と
データを演算できることは明白である。次にatとXk
+tの積を加算する場合、n回目のオーバー70−が生
じたとする。第1回目のオーバー70−が発生した場合
と、同様にして第2のシフタ4はデータを1ビツト右に
シフトするため、レジスタ5には第4図(C)に示す形
式のデータが格納される。このとさ、カウンタ7は計数
値がnになる。従って、制御回路8は第1のシフタ2に
nビット右シフトを指示するため、at+、とXk+1
+、の積は、第4図(C)のデータ形式で演算器3に人
力され、直ちにレジスタ5の自答と演算できることは明
らかである。
〔発明の効果〕
以上詳細に説明したように、本発明によれば、オーバー
スローの補正が比較的1?11単にでき、カウンタの自
答を読出すことにより小数点の位置全簡単に推定できる
演算装置が得られるのでその効果は大きい。
【図面の簡単な説明】
第1図(al、 (b)はレジスタに格納された数値の
状態を説明するためのチータフオーマット図、第2図(
a)、 (b)はオーバーフローが起ったと巻の演算結
果の誤差を説明するための図、第3図は本発明の一実施
例のブロック図、第4図(a)〜(C1は本発明の一実
施例を動作させたときレジスタに格納された数値の状態
を説明するためのデータフォーマット図であろう 1・・・・・・乗算器、2・・・・・・第1のシフタ、
3・・・・・・演WJ 4・・・・・・第2のシ7り、
5・・・・・・レジスタ、6・・・・・・オーバーフロ
ー(芙出器、7・・・・・・カウンタ、8・・・・・・
制御回路、9.10・・・・・・端子。 plsB LSB 業4−8

Claims (1)

    【特許請求の範囲】
  1. 人力されたデータを任意のビット数だけシフトする第1
    の77タと、演算結果を記憶するレジスタと、前記第1
    の77タと前記レジスタの出力金入力として演算を行う
    演算器と、前記演n器がオーバーフロー金主じたか否か
    を検出するオーバー70−検出器と、前記オーバー70
    −検出器の出力によりオーバーフローを生じた回数を計
    数するカウンタと、前記オーバー7a−検出器がオーバ
    ーフローを検出した場合前記fi、算器の出力を1ビツ
    ト右シフトして前記レジスタに出刃する第2のシックと
    、前記カウンタの内容により前記@1の77タのシフト
    量を決定し前記第1のシフタにシフト量を指示する制御
    回路とを會むことを特徴とする演算装置。
JP58142914A 1983-08-04 1983-08-04 演算装置 Pending JPS6033629A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58142914A JPS6033629A (ja) 1983-08-04 1983-08-04 演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58142914A JPS6033629A (ja) 1983-08-04 1983-08-04 演算装置

Publications (1)

Publication Number Publication Date
JPS6033629A true JPS6033629A (ja) 1985-02-21

Family

ID=15326552

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58142914A Pending JPS6033629A (ja) 1983-08-04 1983-08-04 演算装置

Country Status (1)

Country Link
JP (1) JPS6033629A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6211933A (ja) * 1985-07-09 1987-01-20 Nec Corp 演算回路
JPH02216582A (ja) * 1989-02-16 1990-08-29 Nec Corp パイプライン演算回路
JP2019000144A (ja) * 2017-06-12 2019-01-10 株式会社ソフイア 遊技機

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS605338A (ja) * 1983-06-22 1985-01-11 Matsushita Electric Ind Co Ltd 演算装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS605338A (ja) * 1983-06-22 1985-01-11 Matsushita Electric Ind Co Ltd 演算装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6211933A (ja) * 1985-07-09 1987-01-20 Nec Corp 演算回路
JPH02216582A (ja) * 1989-02-16 1990-08-29 Nec Corp パイプライン演算回路
JP2019000144A (ja) * 2017-06-12 2019-01-10 株式会社ソフイア 遊技機

Similar Documents

Publication Publication Date Title
EP0136834A2 (en) A digital circuit performing an arithmetic operation with an overflow
JPS6347874A (ja) 算術演算装置
US4110831A (en) Method and means for tracking digit significance in arithmetic operations executed on decimal computers
JPH05250146A (ja) 整数累乗処理を行なうための回路及び方法
JPS6033629A (ja) 演算装置
JPS5939774B2 (ja) 指数関数の演算方式
JPH0519170B2 (ja)
JPH03192429A (ja) 平方根演算装置
JPS63254525A (ja) 除算装置
JPS6120134A (ja) 平方根計算装置
JPH0789314B2 (ja) 浮動小数点条件符号生成方式
JPS61224036A (ja) 演算装置
JPS61188624A (ja) 固定小数点演算装置
JP2951685B2 (ja) 固定小数点演算器
SU448459A1 (ru) Цифровое устройство дл логарифмировани двоичных чисел
JP3551291B2 (ja) シリアル数値演算装置
JPS6395535A (ja) 演算処理方式
Padgett et al. Fixed Point Numbers
JPS61211734A (ja) 浮動小数点指数検出正規化装置
JPH0628153A (ja) 低誤差計算処理装置
JPS6127772B2 (ja)
JPS63214835A (ja) 多項算術式の浮動10進数計算方式
JPS63255735A (ja) 浮動小数点乗算器
JPH01161437A (ja) 除算装置
JPS5944656B2 (ja) デイジタル微分解析機の積分方式