JPH02224020A - 加減算装置 - Google Patents

加減算装置

Info

Publication number
JPH02224020A
JPH02224020A JP18737489A JP18737489A JPH02224020A JP H02224020 A JPH02224020 A JP H02224020A JP 18737489 A JP18737489 A JP 18737489A JP 18737489 A JP18737489 A JP 18737489A JP H02224020 A JPH02224020 A JP H02224020A
Authority
JP
Japan
Prior art keywords
data
circuit
output
input
point
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
JP18737489A
Other languages
English (en)
Other versions
JPH0357487B2 (ja
Inventor
Yoshimune Hagiwara
萩原 吉宗
Shizuo Sugiyama
杉山 静夫
Shigemichi Maeda
前田 成道
Osamu Yumoto
湯本 攻
Takashi Akazawa
赤沢 隆
Masahito Kobayashi
小林 正仁
Yasuhiro Kita
北 靖洋
Yuzo Kida
喜田 祐三
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.)
Hitachi Ltd
Kokusai Denki Electric Inc
Original Assignee
Hitachi Denshi KK
Hitachi 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 Hitachi Denshi KK, Hitachi Ltd filed Critical Hitachi Denshi KK
Priority to JP18737489A priority Critical patent/JPH02224020A/ja
Publication of JPH02224020A publication Critical patent/JPH02224020A/ja
Publication of JPH0357487B2 publication Critical patent/JPH0357487B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 本発明は、加減算装置に関し、例えばディジタル信号処
理プロセッサに組み込み、音声1画像等のデータを実時
間で処理しうる高速、高精度の積和演算機能を実現する
のに有用である。
音声の合成または分析袋打、あるいは通信分野における
モデム(変復調器)、ディジタル・フィルタ、コーデッ
ク(CODEC)、エコーキャンセラー等の装置では、
ディジタル化された信号を実時間で処理できる信号処理
プロセッサの応用が検討されている。
この信号処理プロセッサは、プログラム・メモリとデー
タを高速度で処理するための専用の乗算器および加減算
器を内蔵するLSIとして提供され、プログラムを変え
ることにより各種の用途に適合させる。
上記信号処理プロセッサを例えば音声信号のフィルタ処
理に用いた場合、積和演算によって内部の演算データは
16〜28ビツトの比較的大きな振幅となる。このため
、乗算器や加減算器の構造を固定小数点f−タ演算型と
すると、演算データのビット数の増加に伴ないハードウ
ェア規模が指数関数的に大きくなり、LSI化が困難と
なる。
この問題は、プロ七°ツサの構成を浮動iJX数点デー
タ演算型とすることによって解決できる。しかしながら
、乗算器と加減算器とをデータバスで接続し、それぞれ
が独立して浮動小数点演算を行なうよう構成された従来
の汎用コンピュータのデータ処理方式をそのまま採用す
ると、信号処理プロセッサの基本動作である積和演算に
時間がかかり、信号の実時間処理が困難となる。
本発明の目的は、L S I化に適し、加減算されるデ
ータが浮動小数点であるか、固定小数であるかを意識す
ることなく使用でき、ディジタル信号を実時間で高速に
処理できる新規な構成の信号処理プロセッサ等に有用な
加減算装置を提供することにある。
以下1本発明の実施例を図面を参照して説明する。
第1図は本発明が適用されたディジタル信号プロセッサ
の全体構成図であり、1はプログラムを格納するための
メモリ、2は上記プログラムメモリ1の読出しアドレス
を指示するプログラムカウンタ、3は上記プログラムメ
モリ】、に接続された命令レジスタ、4は命令レジスタ
3に読出された命令語からプロセッサを動作させるため
の各種の制御信号Sを発生させる制御回路である。この
実施例では、メモリ1に格納される命令語は例えば22
ビツトからなり、それぞれオペレーションコードとデー
タ、アドレスまたはアドレス制御情報製置んでいる。プ
ログラムカウンタ2と命令lノジスタは16ビツトのデ
ータバス(Dバス)20に接続されている。
5.6はデータを格納するためのメモリ、7は汎用レジ
スタを示す。メモリ5,6は一方をランダムアクセス・
メモリ(RAM) 、他方を読出し専用メモリ(ROM
)とすることができる。また、それぞれのメモリは複数
個の/J%容量のROMあるいはROMの複合体であっ
てもよい。上記メモリは16ビツトのデータを記憶し、
各データは選択回路8を介して16ビツトのXバス21
あるいはYバス22に読出される。9,10はそれぞれ
上記データメモリ5,7の下位アドレスを指定するレジ
スタ、11..12は上記メモリの上位アドレスを指定
するレジスタである。尚、レジスタJ1はXバス21.
に読出すべきデータの上位アドレスを、またレジスタ1
2はYバス22に読出すべきデータの上位アドレスまた
は汎用レジスタ7のアドレスを与えており、これらのレ
ジスタには命令レジスタ3からデータバス23を介して
アドレス情報が与えられる。
14はXバス21とYバス22から与えられる2つのデ
ータの積を算出し、結果をPバス24に出力する浮動小
数点演算型の乗算器であり、この乗算器は、後述するよ
うに2つの入力データX。
Yを保持するためのレジスタを含み、演算されない2つ
のデータX、YをそのままXバス25.Yバス26番ご
出力する。
15は浮動小数点演算型の加減算器であり、−1−記乗
算器14の出力データX、、Y、Pおよびデータバス2
0.27のデータD、Aを人力として演算を行ない、そ
の結果を累算器1−6に出力する。
17は上記累算器16にラッチされた浮動小数点データ
を20ビツトのデータバス(Aバス)27に出力すると
共に、上記データを16ビツトのデータに変換してDバ
ス20に出力するスイッチ回路、18は上記乗算器]−
4および加減算器15に接続され、こ′れらの演算結果
に関する状態コードを記憶する状態コードレスレジスタ
である。
30はデータバス20上の1−6ビツトのデータを外部
端子D0〜D1.に並列的に出力するための出力レジス
タ、3】は上記外部端子からの1.6ビツトデータをデ
ータバス20に並列的に取り込むための入力レジスタで
ある。また32は端子5IENの入力パルスが“1″の
期間中に、端子5ICKの入力クロックに同期して端子
SIからのシリアル入力データを取り込むための16ビ
ツトのシフトレジスタ、33は端子5OENの入力パル
スが“1”の期間中に、端子5OCKの入力クロックに
同期して端子SOにデータを直列的に出力するための1
6ビツトのシフトレジスタを示すに九ら2つのシフトレ
ジスタはそれぞれデータバス20と16ビツト並列接続
されている。
35はプロセッサの動作状態を制御するレジスタ、36
はリピート命令によりプロセッサに成る命令を繰り返し
て実行させる場合、その繰り返し回数がセットされるカ
ウンタ、37はプロセッサの内部状態を示すステータス
・レジスタを示す。
レジスタ35.37の内容はそれぞれデータバス20、
端子り、〜Dよ、を介して外部から書込み、読出しが可
能である。
40はプロセッサ動作への割込みと入出力動作とを制御
するだめの制御回路であり、例えば端子5IEN、5O
ENの入力信号立上りでシフトレジスタ32.33を動
作可能とし、それぞれの信号の立下りでプログラムに割
り込みをかけ、また。
端子IEへの入出力信号の立上りでレジスタ30゜31
を起動°し、その立下りでプログラムに割り込みをかけ
るよう動作する。41は外部の制御装置(例えばマイク
ロコンピュータ)からの信号に応じ゛〔プロセッサ動作
を制御するファンクション制御回路であり、例えば端子
TXAKからDMA転送モードの受v!、信号、端子R
/Wから並列入出力データの転送方向を示す信号、端子
C8からこのプロセッサを外部装置が選択したことを示
す信号、端子TESTからテスト動作モードの指定信号
R5Tからリセット信号、端子F0−1から外部装置に
よる動作制御信号をそれぞれ受は取り、端子TxRQか
ら並列データ転送要求信号を出力する。
端子Bit  Iloはデータを1ビットずつ入出力す
るための双方向入出力端子を示す。42はクロックパル
ス発生回路であり、端子oSCを介して外部回路より基
本となるグロックを受は取り。
これに基づきプロセッサ動作に必要な各種の内部クロッ
クを発生し、また、端子5YNCにプロセッサの内部動
作と外部システムの同期用のクロックを出力する。
次に第2図、第3図、第4図により乗算器14と加減算
器15について更に説明する。
乗算器14には、第2図に示す如くXバス21゜Yバス
22の16ビツトのデータが入力される。
これらのデータはメモリ5,6、汎用レジスタ7あるい
はデータバス20から与えられる。第3図(A)に示す
ように、これらのデータは下位4ビツトが指数部、上位
12ビツトが仮数部があり、斜線を施して示したそれぞ
れの部分の最上位ビット、すなわち23 、21%の位
置にあるビットがサインビットとなっている。また、小
数点は2″と214との間にある。第2図に示す如く、
Xバス2】とYバス22から与えられた指数部データと
仮数部データは、それぞれレジスタ51,52゜53お
よび54に保持され、レジスタ51.52の指数部デー
タは加算回路55によって加算され4ビツトの出力レジ
スタ56を介してPバス24に出力される。一方、レジ
スタ53.54の仮数部データは、通常の固定小数点演
算の場合と同様の回路構成をもつ乗算回路57に入力さ
れ5乗算結果は上位゛16ビツトが出力1ノジスタ58
を介してPバス24に出力される。つまり、乗算器14
の演算出力は、第3図(B)に示す如く、下位4ビツト
の指数部と上位】6ビツl−の仮数部とからなる20ビ
ツトのデータとなって加減算器〕5に入力される。尚、
レジスタ52.54の出力はXバス25に、またレジス
タ51..53の出力はYバス26に送出され、それぞ
れ16ビツトのデータとして加減算器15に与えられる
第4図(A)、(B)に本発明の実施例である加減算器
15の構成を示す、第4図(A)に示すように、加減算
器にはバス20.24〜27を介して、データD、P、
X、、Y、Aが入力され、制御信号S工で指定された1
つのデータが選択される。
また、デー・りA、Xは選択回路6]に入力さノ1、制
′H信号S2で指定された1つのデータが選択される。
ここで入力データD、X、、Yはそれぞれ第3図(A)
に示した16ビツトデ・−夕である。後で述べるように
、これらの16ビツトデータが指定されたとき、選択回
路60.61はこれらのデータを第3図(B)に示した
20ピッI−データに変換して出力する楕成となってい
る。このビット変換は、入力データD、X、、Yが固定
小数点データが浮動小数点データかによって異なり、変
換動作は制御信号S、によって指定される。これによっ
て浮動小数点演算型の加減算器で固定小数点表示の入力
データも処理できるようになっている。尚。
制御信号S、、S2.S、・・・・・・・・・Snはプ
ログラム中の命令語に対応して制御回路4から出力され
る、選択回路60からの出力データをβ(指数部βE、
仮数部βH)、選択回路61からの出力データをα(指
数部αε、仮数部αH)とすると、指数部データαEは
選択回路62を介して比較回路63に入力され、指数部
データβEと大小比較される。また、二九らの指数部デ
ータαEl βEはそれぞれ引算回路64ど選択回路6
5にも入力される。
仮数部データαにはネゲート回路66を介して選択回路
67.68に入力され、仮数部データ6問は直接選択回
路67.68に入力される。ネゲート回路66は、この
実施例の場合、データαとβとの引算を゛加算器構成の
ALU75により実現するために設けられたものであり
、加算演算の場合にはデータαHはネゲート回路を素通
りする。上記選択回路65,67.68は、それぞれ比
較回1663の出力信号に応じて2つの入力のうちの一
方を選択する。選択回路65の出力はラッチ回路71に
、y1択回路67の出力はシフト回路69を介してラッ
チ回路72に、また選択回路68の出力はラッチ回路7
3にそれぞれタイミング信号Cでラッチされる。引算回
路64も一ヒ記比較回路63の出力によって制御さ九、
比較結果に応じて入力αE、βEの大きい方から小さい
方を引算するよう動作する。シフト回路69は、選択回
路70を介して得られる上記引算回路64の出力に応じ
たビット数だけ、入力データを右方向にシフト動作する
。このシフ]・回路69の動作は、選択回路70に入力
されるもう一つのデータEによっても制御でき、シフト
ビット数の選択は制御信号S7によって行なわれる。
ラッチ回路72.73の出力eAI eBは、第4図(
B)に示すように、制御信号sBで動作する固定小数点
演算型の加算器(AI□U)75に入力され、加算結果
tJMは左方向シフト回路76に与えられる。一方、ラ
ッチ回路71の出力γは定数加算回路77と、引算回路
78の一方の入力端子に入力される。79は加算器75
の出力tJ、を判定する零検出回路であり、補数表示で
与えられる加算器の出力XJsが正数の場合、TJMの
最上位にあるサインビットに続いたIJ OItビット
の連続個数をカウントする。U14が負数の場合には、
上記サインビット・に続く“」″ビットの連続個数をカ
ウントする。上記零検出回路79の出力θ1は、データ
の正規化およびオーバーフロ一対策のため設けられた出
力補正回路80を介してシフト回路7Gに与えられ、こ
のシフト回路によるデ・−夕のシフトビット数を決定す
る。また1−,2零検出回路79の出力O工は、引算回
路78の他方の入力端子にも入力され、この引算回路の
出力Ur:、は出力補正回路80を介して累算器16の
指数部16Xに入力される。、F配素算器16の仮数部
16Mには、出力補正回路80において補正されたL記
シフト回路76からの出力データ(、Ml が入力され
る。
出力補正回路80は、加算器75から出力されるオーバ
ーフロー検出信号OVFと引算回路78から出力される
アンダフロー検出信号U N Fとに応じて零検出回路
79の出力O□と定数加算回路77の出力02とのいず
れかを選択する選択回路81と、プログラムによる制御
信号S、に応じて上記選択回路81の出力とプログラム
で与えられたデータFとのいずれかをシフト回路76に
シフ[・ビット数指示信号θとして与える選択回路82
と、オーバーフロー信号OVFが“1″のとき引算回路
出力Upに1を加算し、この加算結果LEにもオーバー
フローを生じたとき信号EOVFを出力するインクリメ
ント回路83と、上記インクリメント回M83と累算器
16の指数部16Xとの間に挿入された指数部補正回路
85と、シフト回路76と上記素数器16の仮数部16
Mとの間に挿入された仮数部補正回路87と、上記2つ
の補正回路85.87の動作を信号U N FおよびE
OVFに応じて制御する制御回路89からなっている。
以上の構成からなる加減算器15は次のように動作する
第4図(八)に示した2つの人力選択回路61゜60の
それぞれの出力α、βは浮動小数点表示のデータであり
、その値は次式で表わされる。
β=βH・ 2 今、αE〉βEの関係にある2つのデータα、βの加算
演算を行なう場合を仮定すると、加算結果Zは、 で与えられる。
比較回路63はσEとβEの大小を比較し、選択回路6
5には大きい方の指数部データαEを選択させ、選択回
路67には、小さい方の指数部βEと対応する仮数部デ
ータ篩を選択させ、選択回路68には大きい方の指数部
αEと対応する仮数部データαにを選択させ、引算回路
64には大きい方の指数αEから小さい方の指数βピを
引くよう制御信号を与える。加算演算の実行中は1選択
回路70は引算回路64からの出力(αE−βE)を選
択しており、シフト回路69は選択回路67の出力βH
を(αE−βE)ビットだけ右方向(下位ビット方向)
にシフ1−するよう動作する。この結り、e^+esの
演算を行なった加算器75の出力IJMは第(1)式の
仮数部を表わす。従って、この段階での演算値Zは次式
で示される。
を記指数値UEに等しくなり、正規化の処理は次式で表
わすことができる。
零検出回路79と左方向シフト回路76は、加算器出力
UNをその絶対値が最大となるように正規化するための
ものである。第5図(A)!、:示す如く、零検出回路
79によってデータUMのサインビットに続く(小数点
以下の)連続するII O11の個数01を検出し、シ
フ1−・回路76′cデータUNを01ビツトだけ左側
(最上位ビット側)にシフトすれば、絶対値が最大の仮
数部データLHが得られる。UNが負数の場合には、第
5図(B)の如く、連続する1”の個数だけシフトすれ
ばよい、この場合指数部データγについては、引算回路
78によって(γ−O工)の演算を行ない、その出力U
Eを正規化された指数値とする7データUNにオーバー
フローが生じていなければ、インクリメント回路83の
出力LEは正規化された指数部のγの大きさを4ビツト
とすると、2の補数表示に、よってγが表わし得る値は
〔+7(γΣ−8〕の範囲に制限される。従って上記仮
数部データの正規化の際、零検出回路の検出値θ、たけ
完全にデータUSを左方向にシフトしようとすると、指
数部側の(γ〜01)の値が−8よりも小さくなり、引
算回路にアンダ・−フローを生ずる場合がある。このと
き、(γ−01)の演算を行なう引算回路78からは、
データのアンダーフローを示す信号(ボロー信号) X
J N Fが発生される。
第4図(B)の回路では、上記信号U N Fが発生し
たとき、選択回路81が入力θ□に代え“〔定数加算回
路77の出力θ2を選択し、上記定数加算回路77が指
数部のデータγに定数「8」を加えた値をデータθ、と
して出力するようにしである。
このようにすれば、例えばγの値が「−5」のときθ2
の値は「3」となるから、仮数部データUNのシフ1−
ビット数は3ビツトに制限され、指数部の正規化後の値
が最小値r−8Jに留まる。
信号UNFが生じたとき指数部を「−8」にする操作は
、後で第9図で説明する指数部補正回路85によって行
なわれる。
加算器75の演算結果UNに、第6図(A)。
(B)に示す如くオーバーフローを生じた場合。
キャリー出力にデータの真の符号が表われ、サインビッ
トの位置に数値の最上位のビットが現われている。従っ
てこの場合には、オーバーフロー検出信号OVFによっ
て、選択回路81と零検出回路79の動作を停thさせ
、シフト回路76に1ビット右シフト動作をさせ、イン
クリメント回路83にUa (=y)+1の動作をさせ
、データ2を次式のように操作すればよい。
上記の操作を行なうシフト回路76の1例を第7図に示
す、この回路は、シフトビット数指示データθの各ビッ
トθ、〜θ、に対応した8ビツトのシフタ761.4ビ
ツトのシフタ762.2ビツトのシフト763および1
ビツトのシフタ764からなり、各シフタのそれぞれの
信号ラインのスイッチSW、〜SW0は、対応する制御
ビットθ。
〜0゜が111 IIのとき下位ビット側の接点に接続
される。また、1ビツトシフタ764の各スイッチSW
、は、オーバーフロー検出信号OVFが111 IIの
とき上位ビット側の接点に接続され、サインビットの出
力線L1.がキャリー信号入力端子765と接続されて
、上述したデータの】ピッ1ル右シフト動作を実現する
第4図の回路で、加算器75のオーバーフロー検出信号
OVFがLl 1.11となったとき、インクリメント
回路83による(y+1)の演算結果にもオーバーフロ
ーが生ずる場合がある。この場合には、演算結果2 (
=α+β)にオーバーフローを生じたことを意味し、こ
のまま積和演算を続行すれば、累算器16に得られる出
力データの絶対値は第8図(A)の如く変化し、全く無
意味な値となる。
制御回路89と補正回路85.87は5演算結果Zにl
記オーバ・−フローが生じたとき、第8図(B)に示す
ように出力データの絶対値を正あるいは負の最大値に固
定するよう動作する回路であり、その具体的な祷成例を
第9図に示す。
第9図においで、指数部補正回路85は、入力ビットL
。−L、に対応した2人力ANDゲー1−850〜85
3と2人力ORゲート860〜・863からなり、各ビ
ット信号はこれらのゲートを介して累算器]、、 6 
X側に出力される。指数部データのサインビット■4.
が入力されるANDゲート853の他方の入力端子には
、インクリメント回路83から出力されるオーバーフロ
ー検出信号EOVFの反転信号が入力され、ORゲート
863の他方の入力端子には引算回路78からのアンダ
ーフロー検出信号tJ N Fが入力されている。
また、データビットr、 、−・・L2の入力されるA
NDゲー1−850−852のそれぞれの他方の入力端
子には信号UNFの反転信号が入力され、ORゲート8
60〜862の他方の入力端子には信号EOVFが入力
されている。信号EOVFとU N Fとは同時に14
1.11にはなり得ないため、指数部補正回路85の出
力は、信号EOVFが141 IIのとき[011]、
、) =→−7となって指数部を最・人値にする。また
、信号UNFがia 】−r+のときは(1,000)
=−8とり、前述の0−02のときの指数値を満足する
一方、仮数部補正回路87は、サインピッ1−Ll、を
そのまま出力し、データビット■、4〜F7.。
をそれぞれ2人力ORゲート871〜87N、2人力A
NDゲート881〜88Nを介して出力するようになっ
ている。各ORアゲ−−の他方の入力には制御回路89
のANDゲー1−891の出力が与えられ、各A、 N
 Dゲートの他方の入力端チには制御回路89のNAN
Dゲート892の出力かり・えられている。信号EOV
Fが1711+のとき、仮敷部データが正の値、すなわ
ちサインピッl−I、!。
がu OptならばANDゲート891とNANDゲー
ト892の出力が共に1″′となり補正回路87の出力
は正の最大値(011,1・・・・・・・・・11.)
となる、また、サインビットLISが# I I+なら
ば、NANDゲート892の出力が7′0”となるため
補正回路87の出力は負の最大値ciooo・・・・・
00〕となる。信号EOVFが“Onのとき、これらの
補正回路85.87は入力データI、C,L+をそのま
まデータLE’pLM’ として出力する。
これらの出力データL E” p LM’は累算m16
゜スイッチ回路17を介してAバス27に出力され、加
減算器15の選択回路61に帰還される。
以上の動作説明から、本発明の適用されたディジタル信
号処理プロセッサでは1乗算器14と加減算器185が
それぞれ浮動小数点演算できることが判る。ここで、X
パス21またはYバス22から乗算器14へのデータ入
力および乗算器1−4またはAバス27から加減算器(
AI、U)15へのデータ入力は、入力データのビット
数と受取り側回路のデルタピッ1へ数が一致しているた
め、第10図(A)、(B)に示す如く、データ間での
ビット位置の変更はない。しかしながら、Xパス25、
Yバス26.Dバス20からの16ビツトデータを加減
算器15に取り込む場合には、仮数部データのビット数
が合わないため、加減算器の入力選択回路60.61に
おいて第10図(C)に示す如く、仮数部入力データM
の下位に4ビツトに0”を追加する操作を必要とする、
また、累算器(ACC)16に得られた20ビツトの加
減算器出力を16ビツトのDバス20に出力する際には
、スイッチ回路17において第10図(D)に示す如く
、仮数部Mの下位4ビツトのデータを捨て、指数部4ビ
ツト、仮数部12ビツトのデータに変換する操作を必要
とする。
本発明の適用されたディジタル信号処理プロセッサでは
上述したデータの変換動作を行なう入力選択回路60.
61および出力スイッチ回路17を更に工夫し5プログ
ラムの指定によりプロセッサが固定小数点演算も実行で
きるようにしている。
固定小数点データx、yの乗剪は乗算器】4内の仮数部
データ乗算回路57において行なわれる。
この場合は第11図(A)に示す如く、16ビツトの入
力データX、Yのうち仮数部人力レジスタ53.54に
入る上位12ビツトが有効データとして扱われる。一方
、固定小数点データの加減算の際には、プログラムでの
指定により加減算器15内のシフト回路69.76のシ
フト動作を停止させ、この状態で得られた仮数部の演算
結果を利用する。シフト回路69の動作停止は、固定小
数点データの演算命令が第4図(A)のデータ線Eに数
値「0」のデータを与え、選択回路7oが上記データI
Eからの入力を選択するように制御信号S7を発生する
ようにすればよい。シフト回路76の動作停止は、第4
図(B)のデータ線Fに数値「0」のデータを与え、選
択回路82がh記データ線Fからの入力を選択するよう
制御信号S、を発生するようにすればよい。
上記固定小数点データの加減算において、乗算Jl11
4またはAバスから加減算器】、57\のデータ入力は
、第11図(B)に示す如く、仮数部の16ビツ1−の
データを浮動小数点演算の場合と同様に送り込めばよい
。Xパス、Yバス、Dバスからのデータ入力は、第11
図(C)の如く、全ビットを仮数部に入れ、累算器(A
CC)に得られた仮数部データは、第11図(D)に示
す如く。
全ビットを°DXパス20出力される。
第12図は上述したビット変換機能を備えた加減算器の
入力選択回路60の具体例を示す。この回路図で、 P
、−P、、、 Y、 〜Y、、、 D、−D、、はそれ
ぞれPバス24.Yバス2G、Dバス20からの入力デ
ータの各ビットを示し、これらのうち。
データPの指数# p a〜P、はスイッチ601に入
力され、スイッチ601の4つの出力端子はスイッチ6
03の端子C6〜C1に接続される。データY、Dの各
ピッ]・とデータPの仮数部のビットp<1=p1.は
スイッチ602に入力され、スイッチ602の」二位]
2ビットの出力端子はデータβの上位ビットの出力線β
7〜β4.に接続され、下位4ビツトの出力端子はスイ
ッチ603の端子04〜C7およびスイッチ601の他
方の入力端子に接続されている。スイッチ603はデー
タβの下位ビットの出力線β。〜β3に接続される8個
の出力端子と、状態110 Flを与える4個の端子6
04を備えている6605はプログラムの命令語に応じ
て制御回路4から与えられる制御信号S1. S、に基
づいて、スイッチ601,602゜603+7)駆動信
号60 A 、 60 B 、 60 Gを発生する論
理回路である。
制御信号S、1?選択すべきデ・−夕が指示されると5
信号60A、60Bによってスイッチ601゜602が
動作し、データP、Y、Dのいずれかが、選択される。
このとき、制御信号S、が浮動小数点演算を指示してい
れば、スイッチ603は、出力線β。〜β、を端子C6
−C5に、出力線β、〜β。
を端子C4〜C1(入力データPが選択されている場合
)または端子604(入力データYまたはDが選択され
ている場合)に接続するよう動作する。
もし制御信号S2が固定小数点演算を指示していれば、
入力データに関係なく出力線β。〜β、が端子604に
、β、〜β、が端子C4〜C7に接続される。
第13図はもう1つの入力選択回路61の具体的な回路
構成を示す、この回路は、入力がAバスとXバスの2種
類となっている点を除いて第12図と同様であり、説明
は省略する。
第14図′は、累算器16に接続されるスイッチ回路1
7の具体的な回路構成を示す。この回路において、累算
器からの20ビツトの出力G、〜G、はスイッチ171
の入力端子に入力される7スイツチ171は、デ・−タ
バス20の各信号線り、〜D□と接続された16個の出
力端子を有し、入力端子と出力端子との接続は論理回路
172の出力信号17A、17Bで制御される。プログ
ラムの命令による制御信号S、が浮動小数点演算を示す
場合、スイッチ171.は信号17Bに制御されて出力
側の下位4ビツトの信号線り。−D、を人力信号線00
〜G3と接続し、固定小数点演算の場合にはD0〜D3
を64〜G、に接続する− (ff号17Aはデータバ
ス20への上位ビットデータの出力を制御する。
本発明の適用された信号処理プロセッサによれば、上述
した固定小数点データあるいは浮動小数点データの演算
を行なえるだけでなく、浮動小数点形式で得られた演算
結果をプログラムの命令により固定小数点形式のデータ
に変換したり、その逆に固定小数点形式で学えられたデ
ータを浮動小数点形式のデータに変換して演すを行なう
こともできる。この機能は、信号処理プロセッサがデー
タバス20と入力インタフェース30〜33を介して外
部装置とデータをやりとりする際に極めて好都合である
。何如から、信号処理プロセッサと接続される外部1!
鉦の多くは固定小数点表示形式でデータを扱っており、
もし上記信号処理プロセッサの浮動小数点演算結果がそ
のまま出力されるとすれば、プロセッサの外部にデータ
形式を変換するための特殊な装置を必要とすることにな
るからである。
浮動小数点表示から固定小数点表示への変換(以下、F
LFXと言う)は次のよ・うにして行なわれる。
先ず、累算器1.6に得られる浮動小数点表示のデータ
を A=αH・ 2 仮数部βM=Oの値をもつデータyi=βH・2をデー
・−タメモリ5あるいは6の特定のアドレスに格納して
おく。このアト1/スはFLFXの命令語のアト1/ス
部と対応させておく6また、この命令語を実行したとき
、選択回路8が−1−記メモリから読出されたデータy
、をYバス22に出力し、選択回路60が上記Yバスか
らの入力を選択し、選択回路61がAバス27からの入
力を選択し5選択回路82が入力データF (= ro
」)を選択し、出力スイッチ17が入力信号G4〜Ga
gをデータバス20に接続動作するよう、各種制御信号
を発生させる。
このようにしておくと、FLFXの命令を実行した時2
つの浮動小数点データAとyiとの間で演算が行なわれ
、累算器1.6には、 敷部の基準値どして正規化してあり、データバスり扱う
ことができる。
通常、内部演算結果Aに対してβEの最適値を正確に知
ることばできないので、βEの値は若干大きめに選んで
おく方がよい。しかし、βEの値をあまり大きくすると
、固定小数データの精度が低くなることに注意する必要
がある。上記FLFXの実行の際、予めメモリに格納さ
れた変換用データy1の指数部βEよりも演算結果Zの
指数部αEの方が大きくなった場合は、式(6)の仮数
部オーバーフローを生ずる。この場合、前述した出力補
正回路80の動作によって、固定小数点データの絶対値
を正あるいは負の最大値に固定させることができる。
一方、外部から与えられた固定小数点表示のデータを内
部で浮動小数点表示のデータに変換する動作は次のよう
にして行なえる。先ず、入力レジスタ3]、に°入力さ
れた固定小数点データを累算器1Gに転送する命令を実
行する。この命令では、データバス20を介して選択回
路60に与えられた16ビツトの固定小数点表示データ
Dを、上記選択回路60の動作により仮数部β阿にピッ
I・位置変換し1選択回路67、シフト回路69.ラッ
チ回路72.加算器75.シフト回路76、補正回路8
7を介して累算器16の仮数部16Mに入力させる。こ
の場合、シフト回j869,76、加算器75はそれぞ
れ入力データを素通りさせるよう制御される。
次に固定小数点表示から浮動小数点表示に変換(以下、
FXFI、と言う)する命令を実行する。
この命令実行時には、選択回路61はAバス27から与
えられる累算器出力、すなわち上記した固定小数点デー
タAを出力αH2αEとして選択する。
また5選択回160は、FXFL命令のアドレス部で指
定されてメモリ5あるいは6がらXバス26に読出され
る変換用データy2を出力βに。
βEとして選択する。この変換用データy2は、例えば
仮数部βとが零であり指数部βEが値〔+7〜−8〕の
範囲から選定されて成る基準値を持っている。他の命令
実行時と異なり、FXFL命令実行時には選択(i[1
62が入力βEを選択するよう制御信号S4を発生させ
、比較回路63の2つの入力を共にβEとする。この場
合板数部の選択回路67は入力αHを、選択回路68は
入力βHを選択させる。また、制御信号S、により選択
回路7oに入力データE= rO」を選択させ、右方向
のシフト回路69のデータシフト動作を抑える。
上記制御動作により、ラッチ回路71.72゜73の出
力はγ=βE* eA=(t に、8B”Oとなる8デ
ータe^とeBは加算器751−人力されその加算結果
UN(=CH)は零検出回路79と左方向のシフi−回
i%76の動作のもとに小数点位置が0.ビット移動し
、結果として で表わされる。データが累算器16に得られる。
この式は、固定小数点表示のデータA−αNが指数βε
を基準に正規化され、浮動小数点表示されたごとを意味
している。従って、命令F X F Lで累算器16に
得られた上記データを用いれば、以後の演算を浮動小数
点形式で行なうことができる。
尚、この実施例では入力レジスタ31のデータ談−旦累
算器16にセットした後、FXFL命令を実行したが、
固定小数点の入力データと変換用データy2をXバス2
5とDバス20を利用して加減算器15に入力すること
により、1つの命令で浮動小数点表示へのデータ変換を
行なλるよう設計することもできる。
本発明の適用されたディジタル信号処理プロセッサは上
述したように固定小数点、浮動小数点の画形式のデータ
を取扱え、しかも浮動小数点表示データの正規化の際に
指数部にアンダフローを生じた時、指数値を最小値に固
定した正規化操作が行なえるため、内部演算データの数
値が大きい場合には浮動小数点演算形式、小さい場合は
固定小数点演算形式に自動的に演算方式を切り換えるこ
とができ、極めて広いダイナミックレンジを得ることが
できる。
すなわち、実施例装置の如く加減算器の内部データが仮
数部16ビツh、jM数部4ビットからなる場合、2つ
の補数表示で指数部γ〔(−7〜−・8〕の範囲の数値
を取り扱える。全ての演算を浮動小数点形式で処理する
と、ダイナミックレンジは第15図に斜線を施こして示
した2−1〜27となり、これはピッ1−数に換算する
と15ビツト分に相当4″る。本発明によれば、演算デ
ータの仮数部に対する正規化ビット数Oが(γ−θ)く
−8の範囲にあるとき、正規化後の指数LEを−8に固
定することによって、固定小数点演算に切換れるように
なっている。このため、第15図に示す如く。
ダイナミックレンジは全体で31ビツトとなり、固定、
浮動の一方のみを用いる場合に比較して取り扱える数値
の範囲が著しく広がる。
ディジタル信号処理プロセッサの実際の応用においては
、例えば次式で示す如く、m回の積和演算を繰り返して
実行する場合が多い。
このような演算の場合、本発明の適用されたプロセッサ
によれば、乗算と加減算動作を並列的に進行させるパイ
プライン制御によって、データ処理効率を向上させ、変
速度での演算が可能となる。
第16図は並列動作の1例を示すタイムチャートであり
命令サイクル201で先行フェッチされた命令Aにより
、次のサイクル202でデータメモリからデータを読出
し、乗算器により演算を行なう。命令サイクル203で
は乗算結果と累算器のデ・−タ(Aバス出力)との加減
算が実行され、演算結果はサイクル204で累算器に出
力される。
これら、4つのステップの動作は1ステツプずつずれて
各命令サイクルで繰り返され、所定回数mの積和演算が
完了したとき、命令Fにより演算結果Tがデータバス2
0に出力され、デー・タメモリ5あるいは外部回路に送
られる。
上記パイプライン制御によるプロセッサの並列動作は乗
算器14と加減算器15とを並列的に接続したこと、乗
算と加減算の各動作所要時間がバランスする位置にデー
タを1時的に保持するレジスタ(第4図ではラッチ回路
71〜72がこれに相当する)を配置したことにより可
能となっている。
第17図は上記ディジタル信号処理プロセッサの応用例
を示ずゆここでは、プロセッサ100をA/D変換器3
00とD/A変換器301を介してアナログ回線に接続
し、ディジタルフィルタとして機能させる場合を示して
いる。
第18図は、ディジタル信号処理プロセッサ100を他
のデータ処理装置1011例えばc株)日立製作所のマ
イクロコンピュータMC86800と組み合せ、端子D
ll−D7を介してデータの授受を行ない、データの処
理を2つの装置で分担できるようにしたシステム構成を
示す。このシステム構成は信号処理プロセッサ100を
通信回線のモデム、あるいはエコーキャンセラー等に適
用する場合に適している。
【図面の簡単な説明】
第1図は本発明の適用されたディジタル信号処理プロセ
ッサの全体構成の1例を示すブロック図、第2図は乗算
器14の詳細な構成を示す図、第3図(A)、(B)は
それぞれ入力データと加;成算器15の内部演算データ
のビット形式を説明するための図、第4図(A)と(B
)は本発明の実施例の加減算器15の詳細な構成を示す
図、第5図(A)、(B)および第6図(A、)、(B
)はシフト回路76の動作を説明するための図、第7図
はシフト回路76の1実施例を示す回路図、第8図(A
)、CB)はデータオーバーフローについての説明図、
第9図は出力補正回路の14部要素85゜87.89の
具体的な回路構成を示す図、第】0図(A)〜(D)は
上記信号処理プロセッサ各部における浮動小数点データ
の変化の様子を示す図。 第11図(A)〜(D)は固定小数点データの変化の様
子を示す図、第12図は入力選択回路60の具体的な回
路構成を示す図、第13図は入力選択回路61の具体的
な回路構成を示す図、第14図は出力スイッチ回路17
の具体的な回路構成に示す図、第15図は本発明の適用
されたディジタル信号処理プロセッサのダイナミックレ
ンジを示す図、第16図は上記プロセッサの動作の特徴
を説明するためのタイムチャート、第17図および第1
8図はそれぞれ上記信号処理プロセッサの代表的な使用
形態をを示す図である。 箪2図 第 図 寥4図(A) 蟇4 図 早 図 十) F口」口η■η−■Vへ、etr CB) +) ロ■謬]■ロ謬−田i−e・ l]囚回■刀アー田〜e・ [ト社止Jn−刊一閃!、トZs 埠 図 十 困■圧覆■ロー田−c・ CB) 口四霞刀囚7■」−目間〜。、c4 0I可7TZII叶叶−匝〜Ci 第g図 、411t7>l罫」(り迅(7反+111−ハレフロ
ーの石1正のr6 i 1flBや7110;It千?
月兵し1t! 第75図

Claims (1)

  1. 【特許請求の範囲】 1、2つの浮動小数点データの加算または減算を行なう
    加減算装置であって、 第1および第2の浮動小数点データからなる第1のデー
    タ対と、第3および第4の浮動小数点データからなる第
    2のデータ対とを択一的に選択する手段と、 上記第1のデータ対の2つのデータの加減算を行なう手
    段と、 上記第3の浮動小数点データを固定小数点データに変換
    する手段とを有し、 上記第3の浮動小数点データの固定小数点データへの変
    換は、上記第4の浮動小数点データに応答して行なわれ
    ることを特徴とする加減算装置。 2、上記第4の浮動小数点データはその仮数部の値が0
    であってかつ指数部の値が上記第3の浮動小数点データ
    の指数部の値よりも大であることを特徴とする特許請求
    の範囲第1項記載の加減算装置。 3、上記変換によって得られる固定小数点データは、上
    記第3の浮動小数点データを上記第4の浮動小数点デー
    タの指数部の値に応答して正規化した仮数部の値である
    ことを特徴とする特許請求の範囲第1項または第2項記
    載の加減算装置。
JP18737489A 1989-07-21 1989-07-21 加減算装置 Granted JPH02224020A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18737489A JPH02224020A (ja) 1989-07-21 1989-07-21 加減算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18737489A JPH02224020A (ja) 1989-07-21 1989-07-21 加減算装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP62024590A Division JPS6312025A (ja) 1987-02-06 1987-02-06 加減算装置

Publications (2)

Publication Number Publication Date
JPH02224020A true JPH02224020A (ja) 1990-09-06
JPH0357487B2 JPH0357487B2 (ja) 1991-09-02

Family

ID=16204891

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18737489A Granted JPH02224020A (ja) 1989-07-21 1989-07-21 加減算装置

Country Status (1)

Country Link
JP (1) JPH02224020A (ja)

Also Published As

Publication number Publication date
JPH0357487B2 (ja) 1991-09-02

Similar Documents

Publication Publication Date Title
JPS6242296B2 (ja)
KR100232962B1 (ko) 자리올림수 교정을 갖는 휴즈된 부동 소수점 곱셈 및 누산 장치
JPH0235348B2 (ja)
JPH0346024A (ja) 浮動小数点演算器
JPS62187933A (ja) 加減算装置
KR0134042B1 (ko) 디지탈 신호처리장치 및 신호처리방법
JPH026089B2 (ja)
JPH02224019A (ja) 加減算装置
JPH0357488B2 (ja)
JPS645500B2 (ja)
JPH0357487B2 (ja)
JPS5856032A (ja) パイプライン演算装置
JPS61213926A (ja) Dsp演算処理方式
JPS62249230A (ja) 演算処理装置
JPH01232430A (ja) 演算回路
JPS59140560A (ja) 浮動小数点乗算器
JPS63254525A (ja) 除算装置
JPH0113129B2 (ja)
JPS59186070A (ja) 高速信号処理装置
JPS59116852A (ja) 高速除算装置
JP2792998B2 (ja) 加減算回路を用いた型変換装置
JPS6388639A (ja) パイプライン加算回路
JPH03226831A (ja) 2↑n倍演算回路
JPH02264324A (ja) シフト回路
JPH03131966A (ja) 情報処理装置