JP2968718B2 - 演算装置 - Google Patents

演算装置

Info

Publication number
JP2968718B2
JP2968718B2 JP8105247A JP10524796A JP2968718B2 JP 2968718 B2 JP2968718 B2 JP 2968718B2 JP 8105247 A JP8105247 A JP 8105247A JP 10524796 A JP10524796 A JP 10524796A JP 2968718 B2 JP2968718 B2 JP 2968718B2
Authority
JP
Japan
Prior art keywords
data
fixed
shift amount
point
signal
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
Application number
JP8105247A
Other languages
English (en)
Other versions
JPH09292976A (ja
Inventor
幸茂 前田
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.)
NIPPON DENKI AISHII MAIKON SHISUTEMU KK
Original Assignee
NIPPON DENKI AISHII MAIKON SHISUTEMU KK
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 NIPPON DENKI AISHII MAIKON SHISUTEMU KK filed Critical NIPPON DENKI AISHII MAIKON SHISUTEMU KK
Priority to JP8105247A priority Critical patent/JP2968718B2/ja
Publication of JPH09292976A publication Critical patent/JPH09292976A/ja
Application granted granted Critical
Publication of JP2968718B2 publication Critical patent/JP2968718B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は演算装置に関し、特
に画像処理演算における座標値等の固定小数点データの
積和演算を実行し入力した固定小数点データと同一ビッ
ト幅の積和演算結果を出力する演算装置に関する。
【0002】
【従来の技術】従来、この種の演算装置は、例えば特開
昭62−216072号公報(文献1)記載の従来の第
の演算装置のように、複素演算等における積和演算で
の乗算結果を記憶するためのバッファデータ長の増加防
止や丸め誤差を小さくすることを目的として用いられ
【0003】従来の演算装置をブロックで示す図6
(A)を参照すると、この従来の固定小数点演算装置
は、外部端子IN1を経由して供給された2つの固定小
数点データE1,E2を外部端子IN12からのクロッ
クCK1のタイミングに同期して記憶しデータD1,D
2として出力するデータバッファ26と、データD2の
符号を反転し反転データDB2を出力する符号反転回路
27と、外部端子1N13からの選択信号S1の供給に
応答して信号D2,DB2のいずれか一方を選択し信号
D2Sを出力する2入力のセレクタ28と、外部端子I
N19からのクロックCK2のタイミングに同期して信
号D1,D2Sを乗算し上位,下位各ビット乗算信号M
U,MLを出力する乗算器29と、後述のコントロール
回路32から供給される2つの信号C1,C2を外部端
子IN14らのクロックCK4のタイミングに同期して
記憶しデータD3,D4として出力するデータバッファ
30と、外部端子IN15らのクロックCK5のタイミ
ングに同期してデータD3,D4を加算し出力データO
1を出力する加算器31と、乗算信号MU,ML,出力
データO1から信号C1,C2を出力するとともに固定
小数点位置データP1をインクリメントした出力信号O
2を出力するコントロール回路32とを備える。
【0004】コントロール回路32をブロックで示す図
6(B)を参照すると、このコントロール回路32は、
外部端子IN16らのクロックCK3のタイミングに
同期して加算信号Aを記憶し信号Rを出力するレジスタ
33と、信号Rと信号MLとを加算し加算信号Aを出力
する加算器34と、信号Aと外部端子IN17からの選
択信号S2とのいずれか一方を選択信号S3として出力
する信号選択生成回路35と、インクリメント回路36
と、信号S3の制御に応答して信号O1,MUI,MU
のいずれか1つを信号Cとして選択する3入力のセレク
タ37と、外部端子IN18から固定小数点位置データ
P1をインクリメントし信号O2を出力するインクリメ
ント回路36とを備える。
【0005】図7(A)を参照すると、信号選択生成回
路35は、信号S2を反転反転信号SB2を出力するイ
ンバータ22と、信号AF,SB2との論理積を取るA
ND回路23とを備える。
【0006】図7(B)を参照すると、符号反転回路2
7は、入力データD2を反転し反転データを生成するイ
ンバータ24と、反転データをインクリメントし信号D
B2を出力するインクリメント回路25とを備える。
【0007】次に、図6(A),(B)および演算過程
を示す図8を参照して、従来の固定小数点演算装置の動
作概要について説明すると、まず、説明の便宜上、α1
*β1+α2*β2(以下加算演算処理)の演算処理を
実行するものとする。固定小数点演算の開始時は、コン
トロール回路32のレジスタ33の記憶内容をクリアす
る。データバッファ26は入力固定小数点データE1,
E2をクロック信号CK1に同期して、順次記憶する。
セレクタ28は選択信号S1により、データバッファ2
6の出力D2を選択し、出力データDS2を出力する。
乗算器29は、データD1,D2Sをクロック信号CK
2のタイミングに同期して取込み乗算し、上位,下位各
ビット乗算信号MU,MLを出力し、コントロール回路
32に供給する。
【0008】コントロール回路32では、レジスタ33
がクロックCK3に同期して加算データAを記憶する。
信号選択生成回路3は、加算データAのオーバフローA
Fと選択信号S2との供給に応答して選択信号S3を生
成する。加算データAにオーバフローAFが生じない場
合、対応の選択信号S3によりセレクタ37はデータM
Uを選択し、データC1としてデータバッファ30に供
給する。また、オーバフローAFが生じた場合対応の選
択信号S3によりセレクタ37はデータMUのインクリ
メントデータMUIを選択し、データC2としてデータ
バッファ30に供給する。
【0009】データバッファ30は、クロックCK4に
同期してこれらデータC1,C2を記憶する。
【0010】図8を参照すると、ここまでの演算処理に
より、α1*β1=αβ1が求まり、データバッファ3
0はこれをデータC1として記憶する。α2*β2=α
β2についても同様な乗算処理を行い、データバッファ
30はその乗算結果C2としてαβ2を記憶する。
【0011】データバッファ30は入力データC1,C
2の各々に対応する記憶データD3,D4を加算器31
に供給する。加算器31は、クロックCK5に同期して
これらデータD3,D4すなわちαβ1,αβ2の加算
を実行し、加算結果を出力データO1として外部端子O
UT1を経由して外部へ出力する。同時に、選択信号S
3により、コントロール回路32のセレクタ37はこの
信号O1を選択しデータバッファ30に供給する。デー
タバッファ30はクロックCK4に同期してこのデータ
O1対応の信号COを記憶する。ここまでの演算処理に
より、図8に示すように、αβ1+αβ2=αβ12が
求まる。
【0012】次に、演算処理をα1*β1−α2*β2
(以下減算演算処理)とすると、上記演算処理のα1*
β1=αβ1までは、加算演算処理と同様な演算処理を
行いこの加算結果αβ1をデータC1としてデータバッ
ファ30に記憶する。次に、データバッファ26は新た
な入力固定小数点データE1,E2をデータバッファ2
6に書き込む。セレクタ28は符号反転データDBを選
択し対応の選択データD2Sを出力する。乗算器29は
データD1,D2Sの乗算を実行する。この結果、以上
の演算処理はα2*−β2を行ったことになる。以
降の加算処理については、第1の例と同様に行う。
【0013】次に、図8を再度参照して固定小数点デー
タα1,α2,β1,β2および出力データO1のビッ
ト幅を16ビット、丸め誤差補正データを4ビットとし
て、上述したα1*β1+α2*β2すなわち加算演算
処理の実行の具体的な動作について説明すると、まず、
(数値)16は16進数を表し、説明の便宜上固定小数
点データα1を(031D)16,固定小数点データβ
1を(0132)16,固定小数点データα2を(06
2E)16,固定小数点データβ2を(0021)1
6,固定小数点位置データを(9)16とする。
【0014】まず、クロックCK3に同期して、レジス
タ33に記憶されているデータをクリアする。それと共
に、クロックCK1に同期して、データバッファ26は
入力端子IN1から供給される固定小数点データα1
(031D)16をデータE1として記憶する。データ
E1の記憶完了後、同様にクロックCK1に同期して、
データバッファ26は次の入力固定小数点データβ1
(0132)16をデータE2として記憶する。
【0015】セレクタ28は、選択信号S1の供給に応
答してデータバッファ26の入力データE2対応の出力
データD2すなわちβ1(0132)16を選択し、デ
ータD2Sとしてこのデータβ1(0132)16を出
力する。乗算器29はクロックCK2に同期してデータ
バッファ26の入力データE1対応の出力データD1す
なわちα1(031D)16とこのデータD2Sすなわ
ちβ1(0132)16とを乗算し、乗算結果として
(0003B8AA)16を生成する。この乗算結果デ
ータ(0003B8AA)16の内、最上位ビットから
20ビット幅のデータ(00077)16を出力データ
Mとして出力し、最上位ビットから16ビット幅データ
(0007)16を上位ビットデータMU,残り4ビッ
ト幅データ(7)16を下位ビットデータMLとして分
離し、それぞれコントロール回路32に供給する。
【0016】コントロール回路32では、加算器34が
下位ビットデータML(7)16とレジスタ33の記憶
データR(0)16との加算を行い、加算結果A(7)
16とオーバフロービットAF(0)2を出力し、加算
結果A(7)16をクロックCK3に同期してレジスタ
33に記憶する。このように、オーバフロービットAF
が(0)16であるのでオーバフローを発生していな
い。したがって、信号選択生成回路35の生成する選択
信号S3は、セレクタ37がデータMU(0007)1
6を出力するように選択させ、このデータMU対応のデ
ータC1(0007)16をデータバッファ30に供給
する。データバッファ30は、クロックCK4に同期し
てデータC1(0007)16を記憶する。
【0017】上記と同様な動作を入力固定小数点データ
α2(062E)16,β2(0021)16に対して
行う。これらの乗算結果データ(0000CBEE)1
6の内、最上位ビットから20ビット幅の乗算データM
(00019)16を出力し、上位ビットデータMU
(0001)16,下位ビットデータML(9)16と
に分離する。
【0018】同様に、加算器34は、下位ビットデータ
ML(9)16とレジスタ33の記憶データR(7)1
6とを加算し、加算結果A(0)16とオーバフロービ
ットAF(1)2とを出力するとともに加算結果A
(0)16をクロックCK3に同期してレジスタ33に
記憶する。ここで、オーバフロービットが(1)2であ
るのでオーバーフローが発生している。したがって、信
号選択生成回路35の生成する選択信号S3は、セレク
タ37がインクリメントデータMUI(0002)16
を出力するように選択させ、データバッファ30にデー
タC2として出力する。データバッファ30はクロック
CK4に同期してこのデータC2(0002)16を記
憶する。
【0019】加算器31は、データバッファ30に記憶
されたデータC1,C2対応の上位16ビットデータD
3(0007)16,D4(0002)16をそれぞれ
読み出し、クロックCK5に同期して加算し、加算結果
O1(0009)16を外部端子OUT1から出力す
る。同時にこの加算結果O1(0009)16をコント
ロール回路32のセレクタ37に供給して選択信号S3
によりこのデータO1を選択させ、セレクタ37はデー
タC(0009)16としてデータバッファ30に供給
する。データバッファ30はこのデータC(0009)
16をクロックCK4に同期して記憶する。
【0020】次に、外部端子IN18から固定小数点位
置データP(9)16が供給される。固定小数点乗算の
実行結果、乗算結果の固定小数点位置は(9)16+
(9)16=(12)16となり、乗算結果31ビット
幅データの最下位ビットから見て18ビット目と19ビ
ット目の間に小数点位置が移動することを示し、この乗
算結果データは最上位ビットから符号ビット,整数値1
1ビット,小数値18ビットとなる。演算結果の出力デ
ータO1を16ビット幅とするため、乗算結果の最上位
ビットから16ビット分を出力することになるので、下
位15ビットは切り捨てる。したがって、出力データO
1の固定小数点位置データは、31ビット幅の固定小数
点位置(12)16から切り捨てられる15ビット幅の
固定小数点位置(F)16を減算した値(3)16とな
る。
【0021】次に、固定小数点位置データの生成回路を
構成する外部端子IN18とコントロール回路32の入
力端子H7との接続関係を示す図7(C)を参照する
と、外部端子IN18は4つの端子IN180〜IN1
83から成り、コントロール回路32の入力端子H70
は接地GNDにH71〜H73の各々は外部端子IN8
0〜82の各々にそれぞれ接続される。動作について説
明すると、外部端子IN18から供給される固定小数点
位置データ(9)16は、この図に示す接続関係によ
り、コントロール回路32の入力端子H70〜73に供
給されるとき、(2)16に変換されて入力される。こ
れは、固定小数点位置データPを2倍(12)16して
(10)16減算することと同等となる。しかし、(1
0)16減算すると切り捨てビット幅が16ビットとな
り、実際の所要切り捨てビット幅は15ビットなので、
コントロール回路32のインクリメント回路38により
インクリメントを行い所要切り捨てビット数と同一の1
5ビットになる。インクリメント回路38は、このよう
にして生成した(3)16を外部端子OUT2から固定
小数点位置データO2として出力する。
【0022】この演算例で得られた積和演算結果である
演算データO1(0009)16と固定小数点位置デー
タO2(3)16を、10進法で表すと1.125とな
る。また、出力データ幅を31ビット幅で実行した時の
積和演算結果は、10進法で1.1294860839
84375となる。すなわち、誤差比率は0.40%と
なる。
【0023】以下、同様な動作をα3,β3・・・α
k,βkまで繰り返す。公知のように、複素乗算はα1
*β1±α2*β2という形の演算である。
【0024】次に、α1*β1−α2*β2の演算すな
わち減算演算処理を行うには、α1*β1の演算につい
ては、上記演算例で求めた結果と同一の上位16ビット
データMU(0007)16となり、クロックCK4に
同期してデータバッファ30に記憶される。一方、下位
4ビット幅データML(7)16は、レジスタ33に記
憶される。
【0025】次に、−α2*β2の演算は、まず、デー
タバッファ26に入力したデータE2対応のデータD2
β2(0021)16を符号反転回路27により符号を
反転し、セレクタ28は符号反転データDB2(−β
2)(FFDF)16を選択して選択データD2Sとし
て出力する。乗算器29はデータバッファ26から読み
出されるデータE1対応のデータD1α2(062E)
16と選択データD2S(−β2)(FFDF)16と
を乗算する。この乗算結果データ(7FF7E3C)1
6は、−α2*β2と同一である。
【0026】上記乗算結果データ(7FF7E3C)1
6の内の最上位ビットから20ビット幅の出力データM
(FFFEF)16を出力し、上位16ビットデータM
U(FFFE)16と下位4ビットデータML(F)1
6とに分離してそれぞれコントロール回路32に供給す
る。
【0027】コントロール回路32では、加算器34が
下位ビットデータML(F)16とレジスタ33の記憶
データR(7)16との加算を行い、加算結果A(6)
16とオーバフロービットAF(1)2を出力し、加算
結果A(6)16をレジスタ33に記憶する。オーバフ
ロービットAFが(1)16であるのでオーバフローを
発生している。したがって、選択信号S3は、セレクタ
37が上位16ビットデータMU(FFFE)16をイ
ンクリメントしたデータMUI(FFFF)16を出力
するように選択させ、このデータMU対応のデータC2
(FFFF)1616をデータバッファ30に供給す
る。データバッファ30は、このデータC2(FFF
F)16を記憶する。
【0028】加算器31は、データバッファ30に記憶
されたデータC1,C2対応の上位16ビットデータD
3(0007)16,D4(FFFF)16をそれぞれ
読み出し、加算し、加算結果O1(0006)16を外
部端子OUT1から出力する。同時にこの加算結果O1
(0006)16をコントロール回路32のセレクタ3
7に供給して選択信号S3によりこのデータO1を選択
させ、セレクタ37はデータC(0006)16として
データバッファ30に供給する。データバッファ30は
このデータC(0006)16を記憶する。
【0029】次に、外部端子IN18から上述の加算演
算処理と同一の固定小数点位置データP(9)16が供
給され、同様の演算処理実行により乗算結果の固定小数
点位置(12)16を求め、同様に、出力データO1の
固定小数点位置データO2(3)16を得る。
【0030】上記演算方法によりα1*β1−α2*β
2の演算結果を求めることができる。
【0031】この減算演算処理例で得られた積和演算結
果である演算データO1(0006)16と固定小数点
位置データO2(3)16を、10進法で表すと0.7
5となる。また、出力データ幅を31ビット幅で実行し
た時の積和演算結果は、10進法で0.7778320
3125となる。すなわち、誤差比率は3.71%とな
り、上述の加算演算処理例に比して大きい。
【0032】このように、従来の演算装置は、切り捨て
丸め誤差を含む乗算結果から桁上がりの有無を検出して
いるため、出力の積和演算結果は入力固定小数点データ
の最上位にある有意ビットすなわち1より上位の不要ビ
ットすなわち0の数により誤差の大きさが変化する。
【0033】上述の演算例では、入力データの演算が加
算演算処理の場合は、31ビット幅の積和演算結果との
誤差比率は0.40%となり、減算演算処理の時の誤差
比率は3.71%となる。ワーストデータで行う例とし
て、入力固定小数点データを(7F7F)16*(00
02)16とし、固定小数点位置データを(8)16と
すると、乗算結果として(0001)16,固定小数点
位置データ(1)16が得られる。この場合の誤差比率
は99.92%に達し求める演算結果の値に対し2倍値
が異なる。このように、入力固定小数点データの上位ビ
ットにおいて演算結果に無関係な不要ビットの数が多い
場合誤差が大きくなる。
【0034】また、丸め誤差を小さくするためには、切
り捨てデータ幅を大きく取る必要があるため、切り捨て
ビットの演算回路が大きくなる。
【0035】16ビットの入力固定小数点データのデー
タ幅と同一の16ビット幅の積和演算結果が出力され
算において、入力データEとなる固定小数点データが
持つことのできる値は、−256≦E≦255.998
046875の範囲となる(固定小数点位置データが
(7)16であるため)。何故ならば、乗算結果データ
は最上位ビットから16ビットまでとするため、上記入
力データビット幅の範囲を超えるとオーバフローが発生
する可能性が生じてしまうので正しい値とならないため
である。
【0036】
【発明が解決しようとする課題】上述した従来の演算装
置は、切り捨て丸め誤差を含む乗算結果から桁上がりの
有無を検出しているため、出力の積和演算結果は入力固
定小数点データの有意ビットより上位にあり演算結果に
無関係な不要ビットの数により誤差の大きさが変化する
という欠点があった。
【0037】また、丸め誤差を小さくするため、切り捨
てデータ幅を大きく取る必要があるため、切り捨てビッ
トの演算回路が大きくなるという欠点があった。
【0038】さらに、乗算結果データは最上位ビットか
ら16ビットまでであり、入力データ範囲を超えるとオ
ーバフローが発生して正しい値が得られないため、入力
可能データ範囲は−256から255.9980468
75に限定されるという欠点があった。
【0039】本発明の目的は、上記欠点を解消し、演算
結果の誤差の少なく入力データ範囲を拡張できる演算装
置を提供することにある。
【0040】
【課題を解決するための手段】本発明の演算装置は、演
算対象の複数の固定小数点データを第1のクロック信号
に同期して順次取込み制御信号に同期して前記複数の固
定小数点データを含む演算候補データから第1の演算デ
ータを選択する選択回路と、複数の前記第1の演算デー
タ対応の第2の演算データの供給を受け第2のクロック
信号に同期して乗算処理を行い乗算結果を出力する乗算
回路と、複数の前記乗算結果の供給を受けて加算または
減算を行い加減算結果を出力する第1の加減算回路と、
前記制御信号を供給する制御回路とを備え、順次取込ん
だ前記固定小数点データの積和演算を行い前記固定小数
点データと同一ビット幅の積和演算結果を出力する演
装置において、前記制御回路が、前記第1の演算データ
から一義的に定まるシフト量を求めこのシフト量対応の
シフト量制御信号を出力するシフト量設定手段を備え、
前記シフト量制御信号の制御に応答して前記第1の演算
データを前記シフト量分シフトして前記第2の演算デー
タを出力するシフタ回路を備えて構成されている。
【0041】
【発明の実施の形態】次に、本発明の実施の形態をブロ
ックで示す図1を参照すると、この図に示す本実施の形
の演算装置は、コントロール回路10からの制御信号
AAの制御に応答して外部端子IN1を経由して供給さ
れる固定小数点データEと乗算データM1,M2のうち
のいずれか1つを選択しデータSEとして出力する3入
力のセレクタ1と、コントロール回路10からのシフト
量を指定するシフト量制御信号SCの制御に応答してデ
ータSEをシフトしシフトデータSFを出力するシフタ
2と、外部端子IN6からの選択信号S2に応答してシ
フトデータSFと出力データO1とのうちのいずれか1
つを選択しデータGとして出力する2入力のセレクタ3
と、外部端子IN7から入力されるクロックCK1に同
期して連続する2つのデータG(G1,G2)を順次記
憶し対応のデータH1,H2を出力するデータバッファ
4と、外部端子IN8から入力されるクロックCK2に
同期してデータH1,H2の乗算を行いデータM(M
1,M2)を出力する乗算器5と、外部端子IN5から
入力されるクロックCK3に同期してデータM1,M2
を順次記憶するデータバッファ6と、選択信号S1の制
御に応答してデータM1,SFおよびデータM2,SF
の各々のいずれか一方を選択しそれぞれデータD1,D
2を出力する2入力のセレクタ7,8と、外部端子IN
9からの加減算信号CAの制御に応答してデータD1,
D2の加算または減算を実行し積和演算結果である出力
データO1を外部端子OUT1に出力する加減算器9
と、外部端子IN4から入力される固定小数点位置デー
タP対応の出力データO1の小数点位置データO2を生
成し外部端子OUT2に出力するとともに固定小数点デ
ータE,外部端子IN3から入力される選択信号S4,
外部端子IN10から入力されるクロックCK5,外部
端子IN2から入力されるクロックCK6の各々の供給
に応答してシフト量制御信号SCを出力するコントロー
ル回路10とを備える。
【0042】コントロール回路10の構成をブロックで
示す図2(A)を参照すると、このコントロール回路1
0は、入力固定小数点データEを後述のエンコーダ機能
表に対応してエンコードしエンコードデータEE(EE
1,EE2)を出力するエンコーダ回路11と、クロッ
クCK6に同期して連続する2つのエンコードデータE
E1,EE2を記憶するデータバッファ12と、選択信
号S3の制御に応答してデータEE1,固定小数点位置
データPのインクリメントデータPI,加減算データA
SおよびデータEE2,PI,ASの各々のいずれか1
つを選択しそれぞれ選択データV,Wを出力する3入力
のセレクタ13,14と、データV,Wを加算または減
算して加減算データAS(AS1,AS2)を出力する
加減算器15と、クロックCK5に同期してデータAS
1,AS2を記憶するデータバッファ16と、選択信号
S1の制御に応答してデータAS,データASの符号反
転データASB,データEE2の1つを選択しデータS
Cを出力する3入力のセレクタ17と、外部端子IN3
からの選択信号S4,外部端子IN2からのクロックC
K6,データASのいずれか一方を選択信号S1として
出力する信号選択生成回路18と、データASのいずれ
か一方を選択信号S3として出力する信号選択生成回路
19と、信号選択生成回路18と、データASの符号を
反転し符号反転データASBを生成する符号反転回路2
0とを備える。
【0043】次に、図1,図2および各部の動作波形を
タイムチャートで示す図3および演算過程の一例を示す
図5を参照して本実施の形態の動作について説明する
と、まず、従来の技術の例と同様に、入力固定小数点デ
ータEを16ビット,固定小数点位置データPを4ビッ
トとし、演算処理をα1*β1+α2*β2とする。ま
た、固定小数点データα1を(031D)16,固定小
数点データβ1を(0132)16,固定小数点データ
α2を(062E)16,固定小数点データβ2(00
21)16,固定小数点位置データPを(9)16とす
る。
【0044】まず、S1サイクルで、入力端子IN1か
らの入力固定小数点データE1α1(031D)16
は、セレクタ1とコントロール回路10に供給される。
セレクタ1は、選択信号S1の制御に応答して固定小数
点データE1α1(031D)16を選択しこのデータ
E1α1(031D)16を選択データSEとしてシフ
ト回路2に供給する。一方、コントロール回路10は、
供給を受けた固定小数点データE1α1(031D)1
6からクロックCK6に同期して後述のように固定小数
点データE1α1のシフト量を求めシフト量制御信号S
Cを生成しシフタ2に供給する。この例では、シフト量
制御信号SCの値としてデータE1α1(031D)1
6に対応する(5)16を出力する。このシフト量制御
信号SC(5)16の値に応答してシフタ2はデータS
E1α1(031D)16の5ビット左シフトを行いシ
フトデータSFα1’(63A0)16を出力する。セ
レクタ3は、選択信号S2の制御に応答してシフトデー
タSFを選択し、データGα1’(63A0)16とし
てデータバッファ4の端子E0に供給する。データバッ
ファ4はクロックCK1に同期して、このデータG(以
下G1)α1’(63A0)16を記憶する。
【0045】次のS2サイクルで、固定小数点データE
2β1(0132)16に対しても、S1サイクルの処
理と同様に、選択信号S1の制御に応答してセレクタ1
がこの信号E2を選択してSE2を出力し、選択信号S
2の制御に応答してセレクタ3が対応のシフト信号SF
2を選択する。コントロール回路10は、固定小数点デ
ータE2β1(0132)16対応のシフト量制御信号
SC(6)16を生成する。シフタ2はこの信号SCの
制御によりデータSE2β1(0132)16を6ビッ
ト左シフトし、シフトデータSF2β1’(4C80)
16を出力してデータバッファ4の端子E1に供給す
る。データバッファ4はクロックCK1に同期して、こ
のデータG(以下G2)β1’(4C80)16を記憶
する。
【0046】次のS3サイクルで、データバッファ4は
記憶している2つのシフトデータG1,G2の各々をそ
れぞれデータH1α1’(63A0)16,H2β1’
(4C80)16として乗算器5に供給する。乗算器5
はクロックCK2に同期してこれらデータH1,H2の
乗算を行い乗算データM1を出力する。この乗算データ
M1αβ1’は、最上位ビットから16ビット分出力さ
れ(3B8A)16となる。これは、入力固定小数点デ
ータEのビット幅と同一のビット幅分出力するためであ
る。データバッファ6は、クロックCK3に同期して乗
算データM1αβ1’(3B8A)16を記憶する。
【0047】次のS4サイクルで、固定小数点データE
1α2(062E)16についても、S1サイクルの演
算処理と同一の処理を行う。この場合のシフト量制御信
号SC(4)16の指示シフト量は、4ビット左シフト
となり、シフトデータSF1α2’は(62E0)16
となる。データバッファ4はデータSF1対応のデータ
G1α2’(62E0)16を記憶する。
【0048】次のS5サイクルで、固定小数点データE
2β2(0021)16についても、S2サイクルの演
算処理と同一の処理を行う。この場合のシフト量制御信
号SC(9)16の指示シフト量は、9ビット左シフト
となり、シフトデータSF2β2’は(4200)16
となる。データバッファ4はデータSF2対応のデータ
G2β2’(4200)16を記憶する。
【0049】次のS6サイクルで、データバッファ4は
記憶している2つのシフトデータG1,G2の各々をそ
れぞれデータH1α2’(62E0)16,H2β2’
(4200)16として乗算器5に供給する。乗算器5
はクロックCK2に同期してこれらデータH1,H2の
乗算を行い乗算データM2を出力する。この乗算データ
M2αβ2’は、最上位ビットから16ビット分出力さ
れ(32FB)16となる。データバッファ6は、クロ
ックCK3に同期して乗算データM2αβ2’(32F
B)16を記憶する。
【0050】次のS7サイクルで、乗算データM1,M
2の固定小数点位置を一致させるため、固定小数点位置
の一致処理を以下の手順で行う。コントロール回路10
は、S4サイクル,S5サイクルの各々のシフト量制御
信号SC(4)16,(9)16の加算値からS1サイ
クル,S2サイクルの各々のシフト量制御信号SC
(5)16,(6)16の加算値を減算した減算値
(2)16をシフト量制御信号SCとして出力するとと
もに、この減算値の符号ビットに対応して選択信号S1
を生成する。この選択信号S1の供給に応答してセレク
タ1は乗算結果M2αβ2’(32FB)16を信号S
Eとして選択して、シフタ2に供給する。シフタ2は、
シフト量制御信号SC(2)16に基ずいて2ビット右
シフトを行い、シフトデータSFαβ2’f(0CB
E)16を生成する。
【0051】次のS8サイクルで、選択信号S1により
セレクタ7,8の各々はS7サイクルで求めたたシフト
データSFαβ2’f(0CBE)16とS3サイクル
の乗算データM1αβ1’(3B8A)16とをそれぞ
れデータD1,D2として選択し、加減算器9に供給す
る。加減算器9は加減算信号CAの制御に応答してデー
タD1,D2の加算を行い、加算結果すなわち出力デー
タO1(4848)16を外部端子OUT1から出力す
る。同時に、セレクタ3を経由しクロックCK1に同期
してデータバッファ4は、このデータO1を記憶する。
【0052】次に、図2(A)およびコントロール回路
の各部の動作をタイムチャートで示す図4を参照してコ
ントロール回路10の動作について説明すると、エンコ
ーダ回路11は、表1に示すように、入力データE1の
最上位の有意ビット1より上位の無効ビット0の数に応
じたシフト量EEをテーブルにより求めて出力する。ま
ずS1サイクルで、エンコーダ回路11は、供給を受け
た入力固定小数点データE1α1(031D)16を表
1のエンコーダ機能表に対応してエンコードし、対応す
るエンコードデータEE1(5)16を出力する。
【0053】
【表1】
【0054】このエンコードデータEE1(5)16
は、選択信号S1により制御されるセレクタ17を経由
しシフト量制御信号SCとしてシフタ2に供給されると
ともに、データバッファ12に供給される。データバッ
ファ12はこのデータEE1(5)16をクロックCK
6に同期して記憶する。
【0055】次のS2サイクルで、エンコーダ回路11
は、供給を受けた入力固定小数点データE2β1(01
32)16も同様にエンコードし、エンコードデータE
E2(6)16を出力し、シフト量制御信号SCとして
シフタ2に供給するとともにデータバッファ12にデー
タEE2として供給される。データバッファ12はこの
データEE2(6)16をクロックCK6に同期して記
憶する。
【0056】次のS3サイクルで、信号選択生成回路1
9は選択信号S4とデータASとから選択信号S3を生
成する。この選択信号S3の制御に応答してセレクタ1
3,14の各々はそれぞれデータバッファ12の出力す
るデータEE1(5)16,データEE2(6)16を
データV,Wとして選択し加減算器15に供給する。加
減算器15は、これらデータV,Wを加算し加算データ
AS1(B)16を生成しデータバッファ16に供給す
る。データバッファ16はこのデータAS1(B)16
を記憶する。
【0057】次のS4サイクルで、入力固定小数点デー
タE1α2(062E)をS1サイクルと同様に演算処
理し、シフト量制御信号SC1(4)16,データEE
2(4)16を生成する。データバッファ12はこのデ
ータEE2(4)16をクロックCK6に同期して記憶
する。
【0058】次のS5サイクルで、入力固定小数点デー
タE2β2(0021)16をS2サイクルと同様に演
算処理し、シフト量制御信号SC2(9)16,データ
EE2(9)16を生成する。データバッファ12はこ
のデータEE2(9)16をクロックCK6に同期して
記憶する。
【0059】次のS6サイクルで、S3サイクルと同様
に演算処理を行い、加減算器15はS4,S5サイクル
の各々のシフト量制御信号SC1(4)16,SC2
(9)16を加算しデータAS2(D)16を生成しデ
ータバッファ16に供給する。データバッファ16はこ
のデータAS2(D)16を記憶する。
【0060】次のS7サイクルで、データバッファ16
は、記憶した加算データAS1,AS2を出力しそれぞ
れセレクタ13,14に供給する。セレクタ13,14
は選択信号S3によりこれらデータAS1,AS2を加
減算器15に供給する。加減算器15は加減算データA
S2(D)16−AS1(B)16の減算を実行し、加
減算データAS(02)16を得る。信号選択生成回路
18は、選択信号S6と加算データASにより選択信号
S1を出力する。セレクタ17は選択信号S1の制御に
応答して加減算データASを選択しシフト量制御信号S
Cとして出力する。シフタ2はこのシフト量制御信号S
C(02)16の制御に応答して2ビット右シフトを行
う。これにより2つの乗算結果の小数点位置が一致した
データとなる。
【0061】もし、加減算データASが負数となった場
合、符号反転回路20によりデータASを正数に変換し
符号反転加減算データASBを選択信号S1により選択
するセレクタ17を経由してシフト量制御信号SCとし
て出力する。
【0062】次のS8サイクルで、外部端子IN4から
小数点位置データP(9)16を入力する。外部端子I
N4とコントロール回路10の端子H2との間の接続を
示す図2(B)を参照すると、外部端子IN40,IN
41,IN42の各々は端子H21,H22,H23の
各々に接続し、外部端子IN43はオープン,端子H4
0は接地されている。したがって、入力小数点位置デー
タP(9)16は端子H2で小数点位置データ’P
(2)16に変換されインクリメント回路21に供給さ
れる。インクリメント回路21はこのデータ’P(2)
16をインクリメントしインクリメント位置データPI
(3)16を生成し、セレクタ13,14に供給する。
セレクタ13,14の各々は選択信号S3の制御に応答
してそれぞれデータAS1(B)16,インクリメント
位置データPI(3)16を選択しデータV,Wとして
加減算器15に供給する。加減算器15はこれらデータ
V,Wの加算(B)16+(3)16を行い加算データ
AS(E)16を生成する。この加算データASは出
ータO1対応の出力小数点位置データO2(E)16
として外部端子OUT2から出力される。
【0063】以上の加算演算処理結果の出力データO1
(4848)16および出力小数点位置データO2
(E)16を10進法で表すと、1.12939453
125となる。すなわち、31ビット幅の積和演算結果
1.129486083984375に対し、誤差比率
は0.01%となる。
【0064】同様に本実施の形態の減算演算処理αβ
1’(3B8A)16−αβ2’f(0CBE)16は
(2ECC)16となり、10進数で表すと、0.77
7841796875となる。すなわち、31ビット幅
の積和演算結果0.77783203125に対し、誤
差比率は0.002%となる。
【0065】上述した従来の技術での同一データに対す
る誤差比率は、加算演算処理では0.40%、減算演算
処理では3.71%であった。
【0066】また、従来の技術におけるワーストデータ
演算例である固定小数点データ(7F7F)16*(0
002)16,固定小数点位置データ(8)16の場合
は、従来の演算装置の積和演算結果(0001)16
数点位置データ(1)16であり、その誤差比率は9
9.92%であったのに対し、本実施の形態の演算装置
積和演算結果の誤差比率は、0.00003%と極め
て小さい。
【0067】また、従来の演算装置では、入力および出
力各データ幅が16ビット場合の入力データ可能範囲
は、−256〜255.998046875であった。
本実施の形態の演算装置では、入力データの上位ビット
に不要ビットが存在する場合は、上記入力データ範囲を
越えても出力データが−32768〜32767の範囲
であれば、正しい積和演算結果を得ることができる。
【0068】以上、本発明の実施例を説明したが、本発
明は上記実施例に限られることなく種々の変形が可能で
ある。例えば、入力固定小数点データのビット幅やコン
トロール回路の小数点位置変換処理方法あるいは入力小
数点のデータ形式等の変形等、また、データバッファと
してRAMを用いることなど本発明の主旨を逸脱しない
限り適用できることは勿論である。
【0069】
【発明の効果】以上説明したように、本発明の演算装置
は、制御回路が入力固定小数点データから一義的に定ま
るシフト量対応のシフト量制御信号を出力するシフト量
設定手段を備え、このシフト量制御信号の制御に応答し
て入力固定小数点データをシフト量分シフトして第2の
演算データを出力するシフタ回路を備えるので、入力固
定小数点データの上位の不要ビットを削除し有効ビット
のみを出力するようシフトすることにより、演算誤差を
小さくできるという効果がある。
【0070】また、入力可能なデータ範囲を従来と比較
して大幅に拡大できるという効果がある。
【図面の簡単な説明】
【図1】本発明の演算装置の一実施の形態を示すブロッ
ク図である。
【図2】図1のコントロール回路の構成を示すブロック
図である。
【図3】本実施の形態の演算装置における動作の一例を
示すタイムチャートである。
【図4】図2のコントロール回路の動作の一例を示すタ
イムチャートである。
【図5】本実施の形態の演算装置の演算過程の一例を示
す説明図である。
【図6】従来の演算装置の一例を示すブロック図であ
る。
【図7】図6の信号選択生成回路と符号反転回路の構成
を示す回路図である。
【図8】従来の演算装置の演算過程の一例を示す説明図
である。
【符号の説明】
1,3,7,8,13,14,17,28,37 セ
レクタ 2 シフタ 4,6,12,16,26,30 データバッファ 5,29 乗算器 9,15,31 加減算器 10,32 コントロール回路 11 エンコーダ回路 18,19,35 信号選択生成回路 20,27 符号反転回路 21,25,36,38 インクリメント回路 22,24 インバーター回路 23 AND回路 33 レジスタ 34 加算器

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 演算対象の複数の固定小数点データを第
    1のクロック信号に同期して順次取込み制御信号に同期
    して前記複数の固定小数点データを含む演算候補データ
    から第1の演算データを選択する選択回路と、複数の前
    記第1の演算データ対応の第2の演算データの供給を受
    け第2のクロック信号に同期して乗算処理を行い乗算結
    果を出力する乗算回路と、複数の前記乗算結果の供給を
    受けて加算または減算を行い加減算結果を出力する第1
    の加減算回路と、前記制御信号を供給する制御回路とを
    備え、順次取込んだ前記固定小数点データの積和演算を
    い前記固定小数点データと同一ビット幅の積和演算結
    果を出力する演算装置において、 前記制御回路が、前記第1の演算データから一義的に定
    まるシフト量を求めこのシフト量対応のシフト量制御信
    号を出力するシフト量設定手段を備え、 前記シフト量制御信号の制御に応答して前記第1の演算
    データを前記シフト量分シフトして前記第2の演算デー
    タを出力するシフタ回路を備えることを特徴とする演
    装置。
  2. 【請求項2】 前記シフト量設定手段が、前記固定小数
    点データの最上位の有意ビット1より上位の無効ビット
    0の数に対応して前記シフト量を求めるテーブル形式の
    エンコード手段を含むエンコーダ回路を備えることを特
    徴とする請求項1記載の演算装置。
  3. 【請求項3】 前記制御回路が、外部から供給を受けた
    固定小数点位置データを演算し前記加減算結果対応の出
    力小数点位置データを生成する小数点位置演算手段を備
    えることを特徴とする請求項1記載の演算装置。
JP8105247A 1996-04-25 1996-04-25 演算装置 Expired - Fee Related JP2968718B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8105247A JP2968718B2 (ja) 1996-04-25 1996-04-25 演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8105247A JP2968718B2 (ja) 1996-04-25 1996-04-25 演算装置

Publications (2)

Publication Number Publication Date
JPH09292976A JPH09292976A (ja) 1997-11-11
JP2968718B2 true JP2968718B2 (ja) 1999-11-02

Family

ID=14402329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8105247A Expired - Fee Related JP2968718B2 (ja) 1996-04-25 1996-04-25 演算装置

Country Status (1)

Country Link
JP (1) JP2968718B2 (ja)

Also Published As

Publication number Publication date
JPH09292976A (ja) 1997-11-11

Similar Documents

Publication Publication Date Title
US4754421A (en) Multiple precision multiplication device
US3789199A (en) Signal mode converter and processor
JPH1195981A (ja) 乗算回路
JPS6132437Y2 (ja)
EP0164451B1 (en) An arithmetic processing unit for executing a floating point operation
JPH0514936B2 (ja)
JP2968718B2 (ja) 演算装置
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
JPH08152994A (ja) 乗算器及びディジタルフィルタ
JP2526287B2 (ja) 演算回路
JP3252954B2 (ja) 乗算方法および乗算回路
JP3074958B2 (ja) 加算機能付きシリアル乗算器
JP2575856B2 (ja) 演算回路
JPH01116826A (ja) 10進乗算装置
JPH1049347A (ja) 乗算器
JPH0414173A (ja) 固定小数点演算器
KR100270814B1 (ko) 자리이동-가산기를 이용한 필터링계수구현방법 및 장치
JPH08190471A (ja) 乗算器
JPH0695854A (ja) 除算演算装置
JPH01237831A (ja) 除算装置
JPH02239325A (ja) 除算回路
JPH11203109A (ja) ディジットシリアル乗算器
JPH04345211A (ja) コード変換器
JPH0668246A (ja) 二値イメージ拡大縮小装置
JPH08123667A (ja) 高速除算回路

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990721

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070820

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080820

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080820

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090820

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090820

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100820

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100820

Year of fee payment: 11

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100820

Year of fee payment: 11

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110820

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110820

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120820

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120820

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130820

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees