JPH02224019A - 加減算装置 - Google Patents

加減算装置

Info

Publication number
JPH02224019A
JPH02224019A JP18737389A JP18737389A JPH02224019A JP H02224019 A JPH02224019 A JP H02224019A JP 18737389 A JP18737389 A JP 18737389A JP 18737389 A JP18737389 A JP 18737389A JP H02224019 A JPH02224019 A JP H02224019A
Authority
JP
Japan
Prior art keywords
data
circuit
output
input
bit
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
JP18737389A
Other languages
English (en)
Other versions
JPH0357486B2 (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 JP18737389A priority Critical patent/JPH02224019A/ja
Publication of JPH02224019A publication Critical patent/JPH02224019A/ja
Publication of JPH0357486B2 publication Critical patent/JPH0357486B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 本発明は、加減算装置に関し、例えばディジタル信号処
理プロセッサに組み込み、音声2画像等のデータを実時
間で処理しうる高速、高精度の積和演算機能を実現する
のに有用である。
音声の合成または分析装置、あるいは通信分野における
モデム(変復調器)、ディジタル・フィルタ、コーデッ
ク(CODEC)、エコーキャンセラー等の装置では、
ディジタル化された信号を実時間で処理できる信号処理
プロセッサの応用が検討されている、 この信号処理プロセッサは、プログラム・メモリとデー
タを高速度で処理するための専用の乗算器および加減t
s器を内蔵するLSIとして提供され、プログラムを変
えることにより各種の用途に適合させる。
上記信号処理プロセッザを例えば音声信号のフィルタ処
理に用いた場合、積和演算によって内部の演算データは
16〜28ビツトの比較的大きな振幅となる。このため
、乗算器や加減算器の構造を固定小数点データ演算型と
すると、演算データのビット数の増加に伴ないハードウ
ェア規模が指数関数的に大きくなり、LSI化が固着と
なる、この問題は、プロセッサの構成を浮動小数点デー
タ演算型とすることによって解決できる。しかしながら
1乗算器と加減算器とをデータバスで接続し、それぞれ
が独立して浮動小数点演算を行なうよう構成された従来
の汎用コンピュータのデータ処理方式をそのまま採用す
るど、信号処理プロセッサの基本動作である積和演算に
時間がかかり、信号の実時間処理が固壁どなる7 本発明の目的は、1、SI化に適し、加減算に伴うオー
バーフロー、アンダーフローの防止を可能とした、音声
等のディジタル信号を実時間で高速に処理できる新規な
構成の信号処理プロセッサ等に有用な加減算装置を提供
することにある。
本発明の更に他の目的は、ダイナミックレンジの拡張さ
れたディジタル信号処理プロセッサに有用な加減算装置
を提供する、二とにある7以下1本発明の実施例を図面
を参照して説明する。
第11図は本発明が適用されたディジタル信号プロにツ
サの全体構成図であり、】−はプログラムを格納するだ
めのメモリ、2は上記プログラムメモリ1の読出しアド
レスを指示するプログラムカウンタ、3は上記プログラ
ムメモリ1に接続された命令レジスタ、4は命令レジス
タ3に読出された命令語からプロセッサを動作させるた
めの各種の制御信号Sを発生させる制御回路である。こ
の実施例では、メモリ1に格納される命令語は例えば2
2ビツトからなり、それぞれオペレーションコードとデ
ータ、アドレスまたはアドレス制御情報を含んでいる、
プログラムカウンタ2と命令レジスタは16ビツトのデ
ータバス(Dバス)20に接続されている。
5.6はデータを格納するためのメモリ、7は汎用レジ
スタを示す。メモリ5,6は一方をランダムアクセス・
メモリ(RAM)、他方を読出し専用メモリ(ROM)
とすることができる、また、それぞれのメモリは複数個
の小容量のROMあるいはROMの複合体であってもよ
い。上記メモリは16ビツトのデータを記憶し、各デー
タは選択回j38を介して16ビツトのXバス21ある
いはYバス22に読出される。9.10はそれぞれ上記
データメモリ5,7の下位アドレスを指定するレジスタ
、1.1..12は上記メモリの上位アドレスを指定す
るレジスタである。尚、レジスタ11はXバス21に読
出すべきデータの上位アドレスを、またレジスタ12は
Yバス22に読出すべきデータの上位アドレスまたは汎
用レジスタ7のアトIノスを与えており、これらの1ノ
ジスタには命令レジスタ3からデータバス23を介して
アドレス情報が与えられる。
14はXバス21とYバス22から与えられる2つのデ
ータの積を算出し、結果1pバス24に出力する浮動小
数点aπ型の乗算器であり、この乗算器は、後述するよ
うに2つの入力データX。
Yを保持するためのレジスタを含み、演算されない2つ
のデータX、YをぞのままXバス25.Xバス26に出
力する。
15は浮動小数点演算型の加減算器であり、上記乗算@
14の出力データX、Y、Pおよびデー・タバス20,
27のデ・−・夕り、Aを入力として演算を行ない、そ
の結果を累算器16に出力する。
17は上記累算器16にラッチされた浮動小数点データ
を20ビツトのデータバス(Aバス)27に出力すると
共に、上記データを16ビツトのデータに変換してDバ
ス20に出力するスイッチ回路、18は上記乗算器14
および加減算器】5に接続され、これらの演算結果に関
する状態コードを記憶する状態コードレスレジスタであ
る。
30はデータバス20上の16ビツトのデータを外部端
子D0〜Di5に並列的に出力するための出力レジスタ
、31は上記外部端子からの16ビツトデータをデータ
バス20に並列的に取り込むための入力レジスタである
。また32は端子5IENの入力パルスがパ1′″の期
間中に、端子5ICKの入力クロックに同期して端子S
Iがらのシリアル入力データを取り込むためのJ6ビツ
トのシフトレジスタ、33は端子5OENの入力パルス
が“1″の期間中に、端子S OCKの入力クロックに
同期して端子SOにデータを直列的に出力するための1
6ビツトのシフトし/ジスタを示す、これら2つのシフ
トレジスタはそれぞれデータバス20と16ビツト並列
接続されている。
35はプロセッサの動作状態を制御するレジスタ、36
はリピー・1−命令によりプロセッサに成る命令を繰り
返して実行させる場合、その繰り返し回数がセットされ
るカウンタ、37はプロセッサの内部状態を示すステー
タス・レジスタを示す。
レジスタ35.37の内容はそれぞれデータバス20、
端子り。−り、を介して外部から書込み、読出しが可能
である。
40はプロセッサ動作への割込みと入出力動作とを制御
するための制御回路であり、例えば端子5IEN、5O
ENの入力信号立上りでシフトレジスタ32.33を動
作可能とし、それぞれの信号の立下りでプログラムに割
り込みをかけ、また、端子IEへの入出力信号の立]ニ
リでレジスタ30゜31を起動し、その立下りでプログ
ラムに割り込みをかけるよう動作する。41は外部の制
御装置(例えばマイクロコンピュータ)からの信号に応
じてプロセッサ動作を制御するブアンクシ玉ン制御回路
であり、例えば端子TXAKからDMA転送モードの受
認信号、端子R/Wから並列入出力データの転送方向を
示す信号、端子C8からこのプロセッサを外部装置が選
択したことを示す信号、端子T E S Tからテスト
動作モードの指定信号、R8Tからリセット信号、端子
FQ+3から外部装置による動作制御信号をそれぞれ受
は取り、端子TxRQから並列データ転送要求信号を出
力する。
端子Bi’t  Iloはデータを1ビツトずつ入出力
するだめの双方向入出力端子を示す。42はクロックパ
ルス発生回路であり、端子O8Cを介して外部回路より
基本となるタロツクを受は取り、これに基づきプロセッ
サ動作に必要な各種の内部クロックを発生し、また、端
子5YNCにプロセッサの内部動作と外部システムの同
期用のクロックを出力する。
次に第2図、第3図2第4図により乗算器14と加減算
器15について更に説明する9乗算塁14には、第2図
に示す如くXバス2]、。
Yバス22の16ビツトのデータが入力される。
これらのデータはメモリ5,6.汎用レジスタ7あるい
はデータバス20から与えられる。第3図(A)に示す
ように、これらのデータは下位4ビツトが指数部、上位
12ビツトが仮数部があり。
斜線を施して示したそれぞれの部分の最上位ビット、す
なわち23.21″′の位置にあるビットがサインビッ
トとなっている。また、小数点は21ゝと214との間
にある。第2図に示す如く、Xバス21とYバス22か
ら与えられた指数部データと仮数部データは、それぞれ
1/ジスタ51,52゜53および54に保持され、レ
ジスタ51.52の指数部データは加算回路55によっ
て加算され4ビツトの出力レジスタ56を介してPバス
24に出力される。一方、レジスタ53.54の仮数部
データは、通常の固定小数点演算の場合と同様の回路構
成をもつ乗算回路57に入力され、乗算結果は上位1.
6ビツトが出力レジスタ58を介してPバス24に出力
される。つまり、乗算器14の演算出力は、第:3図(
B)に示す如く、下位4ビツトの指数部と上位16ビツ
1−・の仮数部とからなる20ビツトのデータとなって
加減算器15に入力される。尚、レジスタ52.54の
出力はXバス25に、また1ノジスタ51,53の出力
はYバス26に送出され、それぞれ16ビツトのデータ
として加減算器15に与えられる。
第4図(A)、(B)に本発明の実施例である加減算器
15の構成を示す、第4図(A)に示すように、加減算
器にはバス20.24〜27を介して、データD、P、
X、Y、Aが入力され、制御信号S8で指定された1つ
のデータが選択される。
また、データA、Xは選択回路6〕に入力され制御信号
S2で指定された】・っのデータが選択さ九る。ここで
入力データD、X、Yはぞれぞわ、第3図(A)に示し
た16ビツトデータである。後で述べるように、こ九ら
の16ビツトデータが指定されたとき、選択回路60.
61はこれらのデータを第3図(B)に示した20ビツ
トデー・夕に変換して出力する構成となっている、この
ビット変換は5人力データI) 、 X 、 yが固定
小数点データが浮動小数点データかによって異なり、変
換動作は制御信号S3によって壇定される。これによっ
て浮動小数点演算型の加減算器で固定小数点表示のムカ
デ・−夕も処理でさ・るようになっている。尚。
制御信号S1gLvS3・・・・・・・・・S、はプロ
グラム中の命令語に対応して制御回路4から出力される
選択回J1.60からの出力γ−夕をβ(指数部βE、
仮数部βH)、選択回路6】からの出力データをα(指
数部αE、仮数部αM)とすると、指数部データαεは
選択回路62を介して比較回路63に入力され、指数部
データβEと大小比較される。また、これらの指数部デ
ータαE、βトはそれぞハ引算回路64と選択回路65
にも入力される。
仮数部データαにはネゲート回路66を介して選択回路
67.68に入力され、仮数部デ・−タβHは直接選択
回路67.68に入力される。ネゲート回路66は、こ
の実施例の場合、データαとβとの引算を加算器構成の
ALU75により実現するために設けられたものであり
、加算演算の場合にはデータαにはネゲー1へ回路を素
通りする。上記選択回路65.67.68は、それぞれ
比較回路63の出力信号番J応じて2つの入力のうちの
一方を選択する。選択回踏65のjJ4力はラッチ回路
71に1、選択回路67の出力はシフト回路69髪介し
てラッチ回J!372に2また選択回路68の出力はラ
ッチ回路73にそれぞれタイミング信号Cでラッチされ
る。引算回路64も上記比較回路63の出力によって制
御され2、比較結果に応じて入力αE、βBの大きい方
から小さい方を引算するよう動作する。シフト回路69
は5選択回路70を介して得られる上記引算回路64の
出力に応じたピット数だけ5人力データを右方向にシフ
ト動作する。このシフト回路69の動作は1選択回路7
0に入力されるもう一つのデータEによっても制御でき
、シフトピッ1−数の選択は制御信号S7によって行な
わ九る。
ラッチ回路72,73の出力eA、 eBは、第4@(
B)に示すように5制御信号S a TF th作する
固定小数点演算型の加算器(A I、 U) 75に入
力され、加算結果UMは左方向シフi・回路76にJj
えられる、一方、ラッチ回路71の出力Yは定数加算回
路77と、引算回路78の一方の入力端子に入力される
879は加算器75の出力UMを判定する零検出回路で
あり 補数表示で11えられる加算器の出力UI+の最
」ユイηに、あるザインビットに続いた゛′Oパビッ[
−の連続個数をカウントする。
UNが負数の場合j、=は、」−、記ザインビット(、
:続く# I Hビットの連続個@をカウント−する。
上記写検出回路79の出力O8は、デー・夕の正規イヒ
およびオーバフロ一対策のため設けられた出力補正回路
80を、介してシフト@路7Gに与えられ、このシフト
[「j路しJよろデータのシフトビット数を決定する。
ま?、=f記零検出回路゛79の出′iJO,1et1
、引算回路78の他方の人力喘−了L゛−も入力され、
ごの引算回路 出力 ・t′j、出tlRu   路8
0を介して累積器1Gの1i)数部16)、bJ−人力
さぶ1ろ、上記累秋器16の仮数部i6Mには、出力補
正(!#1路801″おいて補正さお5六上記シフト回
路76からの出力データLH’ が人力;ド九る、 出力補正回路80は、加算器75から出力されるオーバ
・−フロー検出信号OV Fと引算回路78から出力さ
れるアンダフロ・〜検出信号tJ N Fとに応じ−〔
零検出回路79の出力0.と定数加算回路77のIBB
O2とのいずれかを選択する選択回路81と、プログラ
ムによる制御信号S9に応じて上記選択回路8]−の出
力とプログラムで9.えられたデ・−タエ?とのいずれ
かをシフト回路76にシフトビット数指示信号0として
与える選択回路82と、オ・−バーフロー信号OVFが
6′1”のときり算回路出力TJEに1を加算し、この
加算結果L E L’−もオーバーフローを生じたとき
信号EOVFを出力するインクリメ゛/1・回路83と
、■−毘己インクリメント回路83ど累算器16の指数
部16Xとの間に挿入。された指数部補■−回路85と
、シフト回路7Gと1−記累数邪16の仮数部16Mど
の間]1.二挿入された仮数部補正回路87と、上記2
つの補正回路J35.87の動作を信号U N F !
;よびE OV F’に応じて制御する制御回路89か
らなっている。
以上の構成からなる加減算器15は次のように動作する
第4図(A)に示した2゛つの入力選択回路61゜60
の子れぞわの出力α、βは浮動小数点表示のデータであ
り、その値は次式で表わされる。
β=βに・ 2 今、αE〉βEの関係にある2つのデータα、βの加算
演算を行なう場合を仮定すると、加算結果Zは。
で与えられる。
比較回路63はαEとβEの大小を比較し1選択回路6
5には大きい方の指数部データαEを選択させ、選択回
路67には、小さい方の指数部βEと対応する仮数部デ
ータβHを選択させ、選択回路68には大きい方の指数
部aHと対応する仮数部データα阿を選択させ、引算回
路64には大きい方の指数αEから小さい方の指数β[
髪引くよう制御信号を与える9加算演算の実行中は5選
択回路70は引算回路64からの出力(αε−βE)を
選択しており、シフト回路69は選択回路67の出力β
Nを(αE−β已)ビットだけ右方向(下位ビット方向
)にシフトするよう動作する。この結す、e^十6Bの
演算を行なった加算器75の出力UNは第(1)式の仮
数部を表わす。従って、この段階での演算値Zは次式で
示される。
γ Z=UM・ 2 ・・・(3) 零検出回路79と左方向シフト回路76は、加算器出力
UNをその絶対値が最大となるように正規化するための
ものである。第5図(A)に示す如く、零検出回路79
によってデータUHのサインビットに続く(小数点以下
の)連続するit ONの個数01を検出し、シフト回
路76でデータUNをθ1ビットだけ左側(最上位ビッ
ト側)にシフトすわば、絶対値が最大の仮数部デ・−タ
LMが得らハる。UNが負数の場合には、第5図(B)
の如く、連続するtt 1 reの個数だけシフトすれ
ばよい。この場合指数部データYについては、引算回路
78によって(γ−θi)の演算を行ない。
その出力Ueを正規化された指数値とする。データUM
にオーバーフローが生じていなければ、インクリメント
回路83の出力Lgは正規化された上記指数値TJ、に
等しくなり、正規化の処理は次式で表わすことができる
指数部のγの大きさを4ビツトとすると、2の補数表示
によってγが表わ1.得る値は〔+7くγ之−8〕の範
囲に制限される。従ってE記仮数部データの正規化の際
、零検出回路の検出値01だけ完全にデータUMを左方
向にシフトシようとすると、指■部側の(γ−θ1)の
値が−8よりも小さくなり、引算回路にアンダーフロー
を生ずる場合がある。このとき、(γ−01)の演算を
行なう引算回w!78からは、データのアンダーフロ・
−を示す信号(ボローイご号)UNFが発生される。
第4図(B)の回路では、上記信号IJ N Fが発生
したとき、選択回路81が入力0□に代えて定数加算回
路77の出力02を選択し、上記定数加算回路77が指
数部のデータγに定数「8」を加えた値をデータθ2と
して出力するようにしである。
このよう11′:すれば、例えばγの値が「−5」のと
きθ2の値は「3 Jとなるから、仮数部デー・りUN
のシフミービット数は3ビツトに制限さ扛、指数部の正
規化後の値が最小値「−8」に留まる。
信号UNFが生じたとき指数部を「−8」にする操作は
、後で第9図で説明する指数部補正回路85によって行
なわれる。
加算器75の演算結果UHに、第6図(A)。
(B)に示す如くオーバーフローを生じた場合、キャリ
・−出力にデータの真の符号が表われ、ジインビットの
位置に数値の最上位のビットが現わJl、。
ている。従ってこの場合には、オーバーフロー検出信号
○VFによって1選択回路81と零検出回路79の動作
を停止させ、シフト回路76に1ビット右シフト動作を
させ、インクリメント回路83にUE(=γ)+1の動
作をさせ、データZを次式のように操作すればよい。
上記の操作を行なうシフト回路76の1例を第7図に示
す。この回路は、シフトビット数指示データθの各ビッ
トθ、〜θ。に対応した8ビツトのシフタ761.4ビ
ツトのシフタ762.2ビツトのシフト763および1
ピッI−のシフタ764からなり、各シフタのそれぞれ
の信号ラインのスイッチSW、〜5Wllは、対応する
制御ビット03〜θ。がu 1 uのとき下位ビット側
の接点に接続される。また、1−ビットシフタ764の
各スイッチSWoは、オーバーフロー検出信号OVFが
“1”のとき上位ビット側の接点に接続され、サインビ
ットの出力1lAL z sがキャリー信号入力端子7
65と接続されて、上述したデータの1ビット右シフト
動作を実現する。
第4図の回路で、加算器75のオーバーフロー検出信号
OVFが“1″となったとき、インクリメント回路83
による(γ+1)の演算結果にもオーバーフローが生ず
る場合がある。この場合には、演算結果2 (=α+β
)にオーバーフローを生じたことを意味し、このまま積
和演算を続行すれば、累算器16に得られる出力データ
の絶対値は第8図(A)の如く変化し、全く無意味な値
となる。
制御回路89と補正回路85.87は、演算結果2に上
記オーバーフローが生じたとき、第8図(B)に示すよ
うに出力データの絶対値を正あるいは負の最大値に固定
するよう動作する回路であり、その具体的な構成例を第
9図に示す。
第9図において、指数部補正回路85は、入力ビットL
0〜L1に対応した2人力ANDゲート850〜853
と2人力ORゲート860〜863からなり、各ビット
信号はこれらのゲートを介して累算器16X側に出力さ
れる。指数部データのサインビットL、が入力される ANDゲート853の他方の入力端子には、インクリメ
ント回路83から出力されるオーバーフロー検出信号E
OVFの反転信号が入力され、ORゲート863の他方
の入力端子には引算回路78からのアンダーフロー検出
信号UNFが入力されている。また、データピッ1−r
=、〜L2の入力されるANDゲー1−850〜852
のそれぞれの他方の入力端子には信号t、J N Fの
反転信号が入力され、ORゲート860〜862の他方
の入力端子には信号E OV Fが入力されている。信
号EOVFとUNFとは同時に“1″にはなり得ないた
め、指数部補正回路85の出力は、信号EOVFが“1
″のとき(0111) =+7となって指数部を最大値
にする。また、信号U N I”が1”のときは(1,
ooo)=−8とり、前述のθ=02のときの指数値を
満足する。
一方、仮数部補正回路87は、サインビットLL、をそ
のまま出力し、データピッ1−L4〜L0.。
をそれぞれ2人力ORゲート87コ〜87N、2人力A
NDゲート881〜88Nを介して出力するようになっ
ている。各ORアゲ−への他方の入力には制御回路89
のANDゲート891の出力が与えられ、各A、 N 
Dゲートの他方の入力端子には制御回路89のNAND
ゲート892の出力が与えられている。信号EOVFが
′1″のとき、仮数部データが正の値、すなわちサイン
ビットLisが0″′ならばANDゲー1−891とN
ANDゲート892の出力が共に1111+となり補正
回路87の出力は正の最大値(0111・・・・・・・
・・11.〕となる。また、サインビットI41.が1
′″ならば。
NANDゲート892の出力が“0″となるため、補正
回路87の出力は負の最大値(1−000・・・・・0
0)となる、信号EOVFがIt O′1のとき、これ
らの補正回路85.87は入力データLE、 L)1を
そのままデータLE/、LMl として出力する。
これらの出力データ1.EI 、 r、、7は累算器1
6゜スイッチ回路17を介してAバス27に出力され、
加減算器15の選択回路61に帰還される。
以上の動作説明から、本発明の適用されたディジタル信
号処理プロセッサでは、乗算器14と加減算器15がそ
れぞれ浮動小数点演算できることが判る。ここで、Xバ
ス21またはYバス22から乗算器14へのデータ入力
および乗算器14またはAバス27から加減算器(AL
U)15へのデータ入力は、入力データのビット数と受
取り側口路のデータピッ1〜数が一致しているため、第
10図(A)、(B)に示す如く、データ間でのビット
位置の変更はない。
しかしながら、Xバス25.Yバス26.Dバス20か
らの16ビツトデータを加減算器15に取り込む場合に
は、仮数部データのビット数が合わないため、加減算器
の入力選択回路60.61において第10図(C)に示
す如く、仮数部入力データMの下位に4ビツトにf(O
11を追加する操作を必要とする。また、累算器(AC
C)16に得られた20ビツトの加減算器出力を16ビ
ツトのDバス20に出力する際には、スイッチ回路1−
7において第10図(D)に示す如く、仮数部Mの下位
4ビツトのデータを捨て、指数部4ビツト。
仮数部12ビツトのデータに変換する操作を必要とする
本発明の適用されたディジタル信号処理プロセッサでは
上述したデータの変換動作を行なう入力選択回路60.
61および出力スイッチ回路17を更に工夫し、プログ
ラムの指定によりプロセッサが固定小数点演算も実行で
きるようにしている。
固定小数点データx、yの乗算は乗算器14内の仮数部
データ乗算回路57において行なわれる。
この場合は第11図(A)に示す如く、16ビツトの入
力データX、Yのうち仮数部入力レジスタ53.54に
入る上位12ビツトが有効データとして扱われる。一方
、固定小数点データの加減算の際には、プログラムでの
指定により加減算器15内のシフト回169,76のシ
フト動作を停止させ、この状態で得られた仮数部の演算
結果を利用する。シフト回路69の動作停止は、固定小
数点データの演算命令が第4図(A)のデータ線Eに数
値「0」のデータを与え、選択回路70が上記データ線
Eからの入力を選択するように制御信号S7を発生する
ようにすればよい。シフト回路76の動作停止は、第4
図(B )のデータ線Fに数値「O」のデータを4jえ
、選択回路82が上記データ線Fからの入力を選択する
よう制御信号Sgを発生するようにすればよい。
J:記固定小数点データの加減算において、乗算器1〜
4またはAバスから加減算Mii 5へのデータ入力は
、第11図(B)に示す如く、仮数部の16ビツトのデ
ータを浮動小数点演算の場合と同様に送り込めばよい。
Xバス、Yバス、Dバスからのデータ入力は、第11図
(C)の如く、全ビットを仮数部に入れ、累算器(AC
C)に得られた仮数部データは、第116図CD)に示
す如く、全ビットをDバス20に出力される。
第12図は上述したビット変換機能を備えた加減算器の
人力選択回路60の具体例を示す。この回路図で、P、
〜P□、、Y、〜Y、、、 D、〜D1.はそれぞれP
バス24.Yバス26.Dバス20からの入力データの
各ビットを示し、これらのうち、データPの指数部P。
〜P、はスイッチ601に入力され、スイッチ601の
4つの出方端子はスイッチ603の端子C7−c3に接
続される。デ〜りY、Dの各ビットとデータPの仮数部
のビットP4〜P、はスイッチ602に入力され、スイ
ッチ602の上位12ビツトの出力端子はデータβの上
位ビットの出力線β□〜β、9に接続され、下位4ビツ
トの出力端子はスイッチ603の端子C4〜C7および
スイッチ601の他方の入力端子に接続されている。ス
イッチ603はデータβの下位ビットの出力線β。〜β
3に接続される8個の出力端子と、状態/101+を与
える4個の端子604を備えている。605はプログラ
ムの命令語に応じて制御回路4から与えられる制御信号
S1. S、に基づいて、スイッチ601,602゜6
03(7)即動信号60A、60B、60Cを発生する
論理回路である。
制御信号S工で選択すべきデータが指示されると、信号
60A、60Bによッテスイッチ6o1゜602が動作
し、データP、Y、Dのいずれかが、選択される。この
とき5制御信号S3が浮動小数点演算を指示していれば
、スイッチ603は、出力線β。〜β、を端子C,〜C
3に、出力線β、〜β7を端子C4〜C7(入力データ
Pが選択されている場合)または端子604(入力デー
タYまたはDが選択されている場合)に接続するよう動
作する9もし制御信号S、が固定小数点演算を指示して
いれば、入力データに関係なく出力線β。〜β3が端子
604に、β、〜β7が端子C4〜C7に接続される。
第13図はもう1一つの入力選択回路61の具体的な回
路構成を示す。この回路は、入力がAバスとXパスの2
種類となっている点を除いて第12図と同様であり、説
明は省略する。
第14図は、累算器16に接続されるスイッチ回路17
の具体的な回路構成を示す。この回路において、累算器
からの20ビツトの出力G。〜G1.はスイッチ17】
の入力端子に入力される。
スイッチ171は、データバス2oの各信号線り、−D
□、と接続された16個の出力端子を有し、入力端子と
出力端子との接続は論理回路1−72の出力信号17A
、17Bで制御される。プログラムの命令による制御信
号S、が浮動小数点演算を示す場合、スイッチ171は
信号17Bに制御されて出力側の下位4ビツトの信号線
り。−D、を入力信号線G。−G、と接続し、固定小数
点演算の場合にはD0〜D3を64〜G7に接続する。
48号17Aはデータバス20への上位ビットデータの
出力を制御する。
本発明の適用された信号処理プロセッサによ九ば、上述
した固定小数点データあるいは浮動小数点データの演算
を行なえるだけでなく、浮動小数点形式で得られた演算
結果をプログラムの命令により固定小数点形式のデータ
に変換したり、その逆に固定小数点形式で与えられたデ
ータを浮動小数点形式のデータに変換して演算を行なう
こともできる。この機能は、信号処理プロセッサがデー
タバス20と入出力インタフェース30〜33を介して
外部装置とデータをやりとりする際に極めて好都合であ
る。何如なら、信号処理プロセッサと接続される外部装
置の多くは固定小数点表示形式でデータを扱っており、
もし上記信号処理プロセッサの浮動小数点演算結果がそ
のまま出力されるとすれば、プロセッサの外部にデータ
形式を変換するための特殊な装置を必要とすることにな
るからである。
浮動小数点表示から固定小数点表示への変換(以下、r
”LFXと言う)は次のようにして行なわれる。
先ず、累算器16に得られる浮動小数点表示のデータを 語を実行したとき、選択回路8が上記メモリから読出さ
れたデータy、をYバス22に出力し、選択回路60が
上記Yパスからの入力を選択し、選択回路61がAバス
27からの入力を選択し5選択回路82が入力データF
 (= ro」)を選択し、出力スイッチ17が入力信
号64〜・G、9をデータバス20に接続動作するよう
、各種制御信号を発生させる。
このようにしておくと、FLFXの命令を実行した時2
つの浮動小数点データAとyiとの間で演算が行なわれ
、累算器16には、 A=αH・ 2 をデータメモリ5あるいは6の特定のアドレスに格納し
ておく。このアドレスはFLFXの命令語のアドレス部
と対応させておく。また、この命令数部の基準値として
正規化してあり、データバスり扱うことができる。
通常、内部演算結果Aに対してβEの最適値を正確に知
ることはできないので、βEの値は若干大きめに選んで
おく方がよい。しかし、βEの値をあまり大きくすると
、固定小数データの精度が低くなることに注意する必要
がある。上記F L F Xの実行の際、予めメモリに
格納された変換用データy、の指数部βEよりも演算結
果Zの指数部αEの方が大きくなった場合は、式(6)
の仮数部オーバーフローを生ずる。この場合、前述した
出力補正回路80の動作によって、固定小数点データの
絶対値を正あるいは負の最大値に固定させることができ
る。
一方、外部から与えられた固定小数点表示のデータを内
部で浮動小数点表示のデータに変換する動作は次のよう
にして行なえる。先ず、入力レジスタ31に入力された
固定小数点データ奈累算器16に転送する命令を実行す
る。この命令では、データバス20を介して選択回路6
oにケ。えられた16ビツトの固定小数点表示データD
を、上記選択回路60の動作により仮数部βHにビット
位置変換し、選択回路67、シフト回路69.ラッチ回
路72.加算器75.シフト回路76、補正回路87を
介して累算器16の仮数部1.6Mに入力させる。この
場合、シフト回路69,76、加算器75はそれぞれ入
力データを素通りさせるよう制御される。
次に固定小数点表示から浮動小数点表示に変換(以下、
FXFLと言う)する命令を実行する。
この命令実行時には1選択回路61はAバス27から与
えられる累算器出力、すなわち上記した固定小数点デー
タAを出力αH2αEとして選択する。
また1選択回路60は、FXFL命令のアドレス部で指
定されて、メモリ5あるいは6からXバス26に読出さ
れる変換用データy2を出力βH1βEとして選択する
。この変換用データy2は、例えば仮数部βにが零であ
り指数部βEが値〔千7〜−8〕の範囲から選定されて
成る基準値を持っている。他の命令実行時と異なり、F
 X、 F L命令実行時には選択回路62が入力βE
を選択するよう制御信号S4を発生させ、比較回路63
の2つの入力を共にβEとする。この場合板数部の選択
回路67は入力α阿を、選択回路68は入力βHをぞれ
ぞれ選択するようにし、指数部の選択回路65には入力
βεを選択させる。また、制御信号S7により選択回路
70に入力データE= rOJを選択させ、右方向のシ
フト回路69のデータシフト動作を抑える。
上記制御動作により、ラッチ回路71,72゜73の出
力はγ=βE+ e A= (I H2CB= Oとな
る。
データe^とeBは加算器75に入力されその加算結果
Us(=αM)は零検出回路79と左方向のシフト回路
76の動作のもとに小数点位置が01ビツト移動し、結
果として で表されるデータが累算器16に得られる。この式は、
固定小数点表示のデータA;α阿が指数βEを基準に正
規化され2浮a小数点表示されたことを意味しでいる。
従−て、命令FX!′l″Lで累算器1Gに得られた上
記データを用いれば、以後の演算を浮動小数点形式で行
なうことができる。
尚、この実施例では入力レジスタ3]のデータ談−旦累
算器16にセットした後、FXFL命令を実行したが、
固定小数点の入力データと変換用データyよをXバス2
5とDバス20を利用して加減算器】−5に入力するこ
とにより、1つの命令で浮動小数点表示へのデータ変換
を行なえるよう設計することもできる。
本発明の適用されたディジタル信号処理プロセッサは上
述したように固定小数点、浮動小数点の画形式のデータ
を取扱え、しがも本発明により浮動により浮動小数点表
示データの正規化の際に指数部にアンダフローを生じた
時、指数値を最小値に固定した正規化操作が行なえるた
め、内部演算データの数値が大きい場合には浮動小数点
演算形式、小さい場合は固定小数点演算形式に自動的に
演算方式を切り換えることができ、極めて広いダイナミ
ックレンジを得ることができる。
すなわち、実施例装置の如く加減算器の内部デ−夕が仮
数部16ビツト・、指数部4ビツトからなる場合、2つ
の補数表示で指数部γ[+7−−8)の範囲の数値を取
り扱える。全ての演算を浮動小数点形式で処理すると、
ダイナミックレンジは第1S図に斜線を施こして示した
2−L〜27となり。
これはビット数に換算すると15ビツト分に相当する0
本発明によれば、演算データの仮数部に対する正規化ビ
ット数θが(γ−0)<−8の範囲にあるとき、正規化
後の指数Lcを−8に固定することによって、固定小数
点演算に切換れるようになっている。このため、第15
図に示す如く、ダイナミックレンジは全体で31ビツト
となり、固定、浮動の一方のみを用いる場合に比較して
取り扱える数値の範囲が著しく広がる。
ディジタル信号処理プロセッサの実際の応用においては
、例えば次式で示す如く、m回の積和演算を繰り返して
実行する場合が多い。
T= Σ  a i Xb i         ・”
(8)l 二のような演算の場合、本発明の適用されたプロセッサ
によれば5乗算と加減算動作を並列的に進行させるパイ
プライン制御によって、データ処理効率を向上させ、変
速度での演算が可能となる。
第16図は並列動作の1例を示すタイムチャートであり
命令サイクル201で先行フェッチされた命令Aにより
2次のサイクル202でデータメモリからデータを読出
し、乗算器により演算を行なう。命令サイクル203で
は乗算結果と累算器のデータ(Aバス出力)との加減算
が実行され、演算結果はサイクル204で累算器に出力
される。
これら、4つのステップの動作は1ステツプずつずれて
各命令サイクルで繰り返され、所定回数mの積和演算が
完了したとき、命令Fにより演算結果Tがデータバス2
0に出力され、データメモリ5あるいは外部回路に送ら
れる。
上記パイプライン制御によるプロセッサの並列動作は乗
算器14と加減算器15とを並列的に接続したこと乗算
と加減算の各動作所要時間がバランスする位置にデータ
を1時的に保持するレジスタ(第4図ではラッチ回路7
1=72がこれに相当する)を配置したことにより可能
となっている。
第17図は上記ディジタル信号処理プロセッサの応用例
を示す。ここでは、プロセッサ100をA/D変換器3
00とD/A変換器301を介してアナログ回線に接続
し、ディジタルフィルタとして機能させる場合を示して
いる。
第18図は、ディジタル信号処理プロセッサ1、 OO
を他のデータ処理装置101.例えば(株)日立製作所
のマイクロコンピュータMC86800と組み合せ、端
子り。〜D7を介してデータの受授を行ない、データの
処理を2つの装置で分担できるようにしたシステム構成
を示す。このシステム構成は信号処理プロセッサ〕00
を通信回線のモデム、あるいはエコーキャンセラー等に
適用する場合に適している。
【図面の簡単な説明】
第1図は本発明の適用されたディジタル信号処理プロセ
ッサの全体構成の1@を示すブロック図。 第2図は乗算器14の詳細な構成を示す図、第3図(A
)、(B)はそれぞれ入力データと加減算器15の内部
演算データのピッl−形式を説明するための図、第4図
(A)と(B)は本発明の実施例の加減算器15の詳細
な構成を示す図、第5図(A)、(B)および第6図(
A)、(B)はシフト回路76の動作を説明するための
図、第7図はシフト回路7Gの1実施例を示す回路図、
第8図(A)、(B)はデータオーバフローについての
説明図、第9図は出力補正回路の1部要素85゜87.
89の具体的な回路構成を示す図、第10図(A)−(
D)は上記信号処理プロセッサ各部における浮動小数点
データの変化の様子を示す図5第11図(A)〜(D)
は固定小数点データの変化の様子を示す図、第12図は
入力選択回路60の具体的な回路構成を示す図、第13
図は入力選択回路61の具体的な回路構成を示す図、第
14図は出力スイッチ回路】7の具体的な回路構成を示
す図、第15図は本発明の適用されたディジタル信号処
理プロセッサのダイナミックL・ンジを示す図、第1(
−用gLth記プロセッサの動作の特ffJs説明する
ためのタイムチャート、 第17図および 第18図はそれぞれ上記信号処理プロセッサの代表的な
使用形態をを示す図である。 竿 回 竿 図 +1・+7,4゜ 第4図(A) 第 4 図 (B) 第 図 十)[」シ1セ丁)■Z「四トローーーJ丁・2す(5
へ′) 口■囚]H[−日[−z、、、。 ロnロ■]刀閾−N5−P/1 半 図 +) 口四可正−一一、e・ (β〕 口■刀■可可可−ロロ〜e・ 十)罰丁アレ■互I’l[ロー−〜−レTローIB第g
図 オ量オ旧智、f、炸ソ1j5Lし1(父第 回 Z=n2’ M、2E −一一傘タイプミッ7レンン

Claims (1)

  1. 【特許請求の範囲】 1、2つの浮動小数点データの加算または減算を行なう
    加減算装置であって、 上記加減算装置は、上記2つの浮動小数点データの指数
    部の値の差に応答して2つのデータのうちの一方の仮数
    部をビットシフトした後に加減算を行なう手段、および
    上記加減算の結果を正規化する手段を有し、 上記正規化する手段は、上記結果の指数部の値が所定の
    範囲内となるように上記加減算の結果の仮数部のシフト
    量を制限する手段を有することを特徴とする加減算装置
JP18737389A 1989-07-21 1989-07-21 加減算装置 Granted JPH02224019A (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
JPH02224019A true JPH02224019A (ja) 1990-09-06
JPH0357486B2 JPH0357486B2 (ja) 1991-09-02

Family

ID=16204873

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPH02224019A (ja)

Also Published As

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

Similar Documents

Publication Publication Date Title
JPS6242296B2 (ja)
US5963461A (en) Multiplication apparatus and methods which generate a shift amount by which the product of the significands is shifted for normalization or denormalization
EP0517429A2 (en) CPU with integrated multiply/accumulate unit
EP0530372B1 (en) Numerical expression converter and vector processor using the same
JPH09212337A (ja) 浮動小数点演算処理装置
US5247471A (en) Radix aligner for floating point addition and subtraction
JPH02224019A (ja) 加減算装置
JPS62187933A (ja) 加減算装置
JPH0346024A (ja) 浮動小数点演算器
JPS6312025A (ja) 加減算装置
JPH0357488B2 (ja)
JPS60167551A (ja) 信号処理プロセツサによるデ−タモデム
JPH02224020A (ja) 加減算装置
JPS5932038A (ja) 浮動小数点加算器
JPS5856032A (ja) パイプライン演算装置
US6792442B1 (en) Signal processor and product-sum operating device for use therein with rounding function
JPS59106043A (ja) パイプライン演算回路
JPH01232430A (ja) 演算回路
JPH05204606A (ja) 浮動小数点演算方式および装置
JPS6149234A (ja) 浮動小数点乗算回路
JPS60263230A (ja) 多重精度浮動小数点加算回路
JPH01240961A (ja) Dma転送方式
WO1998006029A1 (en) Apparatus and methods for execution of computer instructions
JPH04316127A (ja) 情報処理装置
JPS5916051A (ja) 関数演算回路