JPS6312025A - 加減算装置 - Google Patents

加減算装置

Info

Publication number
JPS6312025A
JPS6312025A JP62024590A JP2459087A JPS6312025A JP S6312025 A JPS6312025 A JP S6312025A JP 62024590 A JP62024590 A JP 62024590A JP 2459087 A JP2459087 A JP 2459087A JP S6312025 A JPS6312025 A JP S6312025A
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
JP62024590A
Other languages
English (en)
Other versions
JPH026089B2 (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 Denshi KK
Hitachi Ltd
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 JP62024590A priority Critical patent/JPS6312025A/ja
Publication of JPS6312025A publication Critical patent/JPS6312025A/ja
Publication of JPH026089B2 publication Critical patent/JPH026089B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 本発明は、加wC算装置に関し1例えばディジタル信号
処理プロセッサに組み込み、音声2画像等のデータを実
時間で処理しうる高速、高精度の積和演算機能を実現す
るのに有用である。
音声の合成または分析装置、あるいは通信分野における
モデム(変復調器)、ディジタル・フィルタ、コーデッ
ク(CODEC)、エコーキャンセラー等の装置では、
ディジタル化された信号を実時間で処理できる信号処理
プロセッサの応用が検討されている。
この信号処理プロセッサは、プログラム・メモリとデー
タを高速度で処理するための専用の乗算器および加減算
器を内蔵するLSIとして提供され、プログラムを変え
ることにより各種の用途に適合させる。
上記信号処理プロセッサを例えば音声信号のフィルタ処
理に用いた場合、積和演算によって内部の演算データは
16〜28ビツトの比較的大きな振幅となる。このため
9乗算器や加減算器の構造を固定小数点データ演算型と
すると、演算データのビット数の増加に伴ないハードウ
ェア規模が指数量数的に大きくなり、LSI化が困難と
なる。
この問題は、プロセッサの構成を浮動小数点データ演算
型とすることによって解決できる。しかしながら、乗算
器と加減算器とをデータバスで接続し、それぞれが独立
して浮動小数点演算を行なうよう構成された従来の汎用
コンピュータのデータ処理方式をそのまま採用すると、
信号処理プロセッサの基本動作である積和演算に時間が
かかり。
信号の実時間処理が困難となる。
本発明の目的は、LSI化に適し、加減算されるデータ
が浮動小数点であるか、固定小数であるかを意識するこ
となく使用でき、ディジタル信号を実時間で高速に処理
できる新規な構成の信号処理プロセッサ等に有用な加減
算装置を提供することにある。
以下1本発明の実施例を図面を参照して説明する。
第1図は本発明が適用されたディジタル信号プロセッサ
の全体構成図であり、1はプログラムを格納するための
メモリ、2は上記プログラムメモリ1の読出しアドレス
を指示するプログラムカウンタ、3は上記プログラムメ
モリ1に接続された命令レジスタ、4は命令レジスタ3
に読出された命令語からプロセッサを動作させるための
各種の制御信号Sを発生させる制御回路である。この実
施例では、メモリ1に格納される命令語は例えば22ピ
ッ1−からなり、それぞれオペレーションコードとデー
タ、アドレスまたはアドレス制御情報を含んでいる。プ
ログラムカウンタ2と命令レジスタは16ビツトのデー
タバス(Dバス)20に接続されている。
5.6はデータを格納するためのメモリ、7は汎用レジ
スタを示す。メモリ5,6は一方をランダムアクセス・
メモリ(RAM)、他方を読出し専用メモリ(ROM)
とすることができる。また、それぞれのメモリは複数個
の小容量のROMあるいはRAMの複合体であってもよ
い、上記メモリは16ビツトのデータを記憶し、各デー
タは選択回路8を介して16ビツトのXバス21あるい
はYバス22に読出される。9.10はそれぞれ上記デ
ータメモリ5.7の下位アドレスを指定するレジスタ、
11.12は上記メモリの上位アドレスを指定するレジ
スタである。尚、レジスタ11はXバス21に読出すべ
きデータの上位アドレスを、またレジスタ12はYバス
22に読出すべきデータの上位アドレスまたは汎用レジ
スタ7のアドレスを与えており、これらのレジスタには
命令レジスタ3からデータバス23を介してアドレス情
報が与えられる。
14はXバス21とYバス22から与えられる2つのデ
ータの積を算出し、結果をPバス24に出力する浮動小
数点演算型の乗算器であり、この乗算器は、後述するよ
うに2つの入力データX。
Yを保持するためのレジスタを含み、演算されない2つ
のデータX、YをそのままXバス25.Yバス26に出
力する。
15は浮動小数点演算型の加減算器であり、上記乗算器
14の出力データX、Y、Pおよびデータバス20.2
7のデータD、Aを入力として演算を行ない、その結果
を累算器16に出力する。
、 17は上記累算器16にラッチされた浮動小数点デ
ータを20ビツトのデータバス(Aバス)27に出力す
ると共に、上記データを16ビツトのデータに変換して
Dバス20に出力するスイッチ回路、18は上記乗算器
14および加減算器15に接続され、これらの演算結果
に関する状態コードを記憶する状態コードレスレジスタ
である。
30はデータバス20上の16ビツトのデータを外部端
子り。−D isに並列的に出力するための出力レジス
タ、31は上記外部端子からの16ビツトデータをデー
タバス20に並列的に取り込むための入力レジスタであ
る。また32は端子5IENの入力パルスが111″′
の期間中に、端子5ICKの入力クロックに同期して端
子SIからのシリアル入力データを取り込むための16
ビツトのシフトレジスタ、33は端子5OENの入力パ
ルスがLl l ggの期間中に、端子5OCKの入力
クロックに同期して端子SOにデータを直列的に出力す
るための16ビツトのシフトレジスタを示す。これら2
つのシフ1〜レジスタはそれぞれデータハス20と16
ビツト並列接続されている。
35はプロセッサの動作状態を制御するレジスタ、36
はリピート命令によりプロセッサに成る命令を繰り返し
て実行させる場合、その繰り返し回数がセットされるカ
ウンタ、37はプロセッサの内部状態を示すステータス
・レジスタを示す。
レジスタ35.37の内容はそれぞれデータバス20、
端子り。−D 15を介して外部から書込み、読出しが
可能である。
40はプロセッサ動作への割込みと入出力動作とを制御
するための制御回路であり、例えば端子5IEN、5O
ENの入力信号立上りでシフトレジスタ32.33を動
作可能とし、それぞれの信号の立下りでプログラムに割
り込みをかけ、また、端子IEへの入出力信号の立上り
でレジスタ30゜31を起動し、その立下りでプログラ
ムに割り込みをかけるよう動作する。41は外部の制御
装置(例えばマイクロコンピュータ)からの信号に応じ
てプロセッサ動作を制御するファンクション制御回路で
あり、例えば端子TXAKからDMA転送モードの受認
信号、端子R/Wがら並列入出力データの転送方向を示
す信号、端子csがらこのプロセッサを外部装置が選択
したことを示す信号、端子TESTからテスト動作モー
ドの指定信号、RSTからリセット信号、端子F。−3
から外部装置による動作制御信号をそれぞれ受は取り、
端子T x RQから並列データ転送要求信号を出力す
る。端子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,215の位置
にあるビットがサインビットとなっている。また、小数
点は215と214との間にある。第2図に示す如く、
Xバス21とYバス22から与えられた指数部データと
仮数部データは、それぞれレジスタ51,52゜53お
よび54に保持され、レジスタ51.52の指数部デー
タは加算回路55によって加算され4ビツトの出力レジ
スタ56を介してPバス24に出力される。一方、レジ
スタ53.54の仮数部データは1通常の固定小数点演
算の場合と同様の回路閘成をもつ乗算回路57に入力さ
れ、乗算結果は上位16ビツトが出力レジスタ58を介
してPバス24に出力される。つまり1乗算器14の演
算出力は、第3図(B)に示す如く、下位4ビツトの指
数部と上位16ビツトの仮数部とからなる20ビツトの
データとなって加減算器15に入力される。尚、レジス
タ52.54の出力はXバス25に、またレジスタ51
.53の出力はYバス26に送出され、それぞれ16ビ
ツトのデータとして加減算器15に与えられる。
第4図(A)、(B)に本発明の実施例である加減算器
15の構成を示す、第4図(A)に示すように、加減算
器にはバス20.24〜27を介して、データD、P、
X、Y、Aが入力される。これらのうち、データP、Y
、Dは選択回路6oに入力され、制御信号S1で指定さ
れた1つのデータが選択される。また、データA、Xは
選択回路61に入力され制御信号S2で指定された1つ
のデータが選択される。ここで入力データD、X。
Yはそれぞれ第3図(A)に示した16ビツトデータで
ある。後で述べるように、これらの16ビツトデータが
指定されたとき、選択回路60゜61はこれらのデータ
を第3図(B)に示した20ビツトデータに変換して出
力する構成となっている。このビット変換は、入力デー
タD、X。
Yが固定小数点データか浮動小数点データかにょって異
なり、変換動作は制御信号S3によって指定される。こ
れによって浮動小数点演算型の加減算器で固定小数点表
示の入力データも処理できるようになっている。尚、制
御信号51tS2yS3・・・・・・Snはプログラム
中の命令語に対応して制御回路4から出力される。
選択回路60からの出力データをβ(指数部βや、仮数
部βM)、選択回路61からの出力データをα(指数部
α。、仮数部αM)とすると。
指数部データα。は選択回路62を介して比較回路63
に入力され、指数部データβ。と大小比較される。また
、これらの指数部データα。、β。
はそれぞれ引算回路64と選択回路65にも入力される
。仮数部データα、はネゲート回路66を介して選択回
路67.68に入力され、仮数部データβヮは直接選択
回路67.68に入力される。
ネゲート回路66は、この実施例の場合、データαとβ
との引算を加算器構成のALU75により実現するため
に設けられたものであり、加算演算の場合にはデータα
ヮはネゲート回路を素通りする。上記選択回路65,6
7.68は、それぞれ比較回路63の出力信号に応じて
2つの入力のうちの一方を選択する。選択回路65の出
力はラッチ回路71に、選択回路67の出力はシフト回
路69を介してラッチ回路72に、また選択回路68の
出力はラッチ回路73にそれぞれタイミング信号Cでラ
ッチされる。引算回路64も上記比較回路63の出力に
よって制御され、比較結果に応じて入力α。、β2の大
きい方から小さい方を引算するよう動作する。シフト回
路69は1選択回路70を介して得られる上記引算回路
64の出力に応じたビット数だけ、入力データを右方向
に鉾 シフト動作する。このシフト回69の動作は1選□へ 択回路70に入力されるもう一つのデータEによっても
制御でき、シフトビット数の選択は制御信号Sフによっ
て行なわれる。
ラッチ回路72.73の出力eA+eflは、第4図(
B)に示すように、制御信号S。で動作する固定小数点
演算型の加算器(ALU)75に入力され、加算結果U
Mは左方向シフト回路76に与えられる。一方、ラッチ
回路71の出力γは定数加算回路77と、引算回路78
の一方の入力端子に入力される。79は加算器75の出
力UMを判定する零検出回路であり、補数表示で与えら
れる加算器の出力UMが正数の場合、UMの最上位にあ
るサインビットに続いた0”ビットの連続個数をカウン
トする。UMが負数の場合には、上記サイぢビットに続
<″ビ′ビットの連続個数をカウントする。上記零検出
回路79の出力θ、は、データの正規化およびオーバフ
ロ一対策のため設けられた出力補正回路80を介してシ
フト回路76に与えられ、このシフト回路によるデータ
のシフトビット数を決定する。また上記零検出回路79
の出力θ□は、引算回路78の他方の入力端子にも入力
され、この引算回路の出力U6は出力補正回路80を介
して累算器16の指数部16Xに入力される。上記累算
器16の仮数部16Mには、出力補正回路80において
補正された上記シフト回路76からの出力データLM′
が入力される。
出力補正回路80は、加算器75から出力されるオーバ
ーフロー検出信号○VFと引算回路78から出力される
アンダフロー検出信号UNFとに応じて零検出回路79
の出力θ□と定数加算回路77の出力02とのいずれか
を選択する選択回路81と、プログラムによる制御信号
S9に応じて上記選択回路81の出力とプログラムで与
えられたデータFとのいずれかをシフト回路76にシフ
トビット数指示信号θとして与える選択回路82と、オ
ーバーフロー信号OVFが# I IIのとき引算回路
出力U2に1を加算し、この加算結果りやにもオーバー
フローを生じたとき信号EOVFを出力するインクリメ
ント回路83と、上記インクリメント回路83と累算器
16の指数部16Xとの間に挿入された指数部補正回路
85と、シフト回路76と上記素数器16の仮数部16
Mとの間に挿入された仮数部補正回路87と、上記2つ
の補正回路85.87の動作を信号UNFおよびEOV
Fに応じて制御する制御回路89からなっている。
以上の構成からなる加減算器15は次のように動作する
第4図(A)に示した2つの入力選択回路61゜60の
それぞれの出力α、βは浮動小数点表示のデータであり
、その値は次式で表わされる。
今、α9〉βEの関係にある2つのデータα。
βの加算演算を行なう場合を仮定すると、加算結果Zは
、 βE Z=α9・2 +β2・2 で与えられる。
比較回路63はα。とβ6の大小を比較し、選択回路6
5には大きい方の指数部データα。を選択させ、選択回
路67には、小さい方の指数部β。と対応する仮数部デ
ータβ2を選択させ、選択回路68には大きい方の指数
部α。と対応する仮数部データα2を選択させ、引算回
路64には大きい方の指数αEから小さい方の指数βE
を引くよう制御信号を与える。加算演算の実行中は、選
択回路70は引算回路64からの出力(α。−βE)を
選択しており、シフト回路69は選択回路67の出力β
9を(α0−β。)ピッ1−だけ右方向(下位ビット方
向)にシフトするよう動作する。この結果、ラッチ回路
71,72.73の各出力は、γ=aB、eA=βM’
2−(E−/′J+1)eB=αMとなり、eA+eB
の演算を行なった加算器75の出力UMは第(1)式の
仮数部を表わす。従って、この段階での演算値2は次式
で示される。
γ Z=UM・2         ・・・(3)零検出回
路79と左方向シフト回路76は、加算器出力UMをそ
の絶対値が最大となるよう正規化するためのものである
。第5図(A)に示す如く、零検出回路79によってデ
ータUMのサインビットに続く(小数点以下の)連続す
る″“0゛′の個数01を検出し、シフト回路76でデ
ータUMを0.ビットだけ左側(最上位ビット側)にシ
フトすれば、絶対値が最大の仮数部データLMが得られ
る。UMが負数の場合には、第5図(B)の如く、連続
する# I Hlの個数だけシフトすればよい。この場
合指数部データγについては、引算回路78によって(
γ−01)の演算を行ない、その出力U。を正規化され
た指数値とする。データUMにオーバーフローが生じて
いなければ、インクリメント回路83の出力し8は正規
化された上記指数値U。に等しくなり、正規化の処理は
次式%式% 指数部のγの大きさを4ビツトとすると、2の補数表示
によってγが表わし得る値は〔+7≧γ≧−8〕の範囲
に制限される。従って上記仮数部データの正規化の際、
零検出回路の検出値θ、たけ完全にデータU2を左方向
にシフトしようとすると、指数部側の(γ−01)の値
が−8よりも小さくなり、引算回路にアンダーフローを
生ずる場合がある。このとき、(γ−01)の演算を行
なう引算回路78からは、データのアンダーフローを示
す信号(ボロー信号)UNFが発生される。
第4図(B)の回路では、上記信号’UNFが発生した
とき1選択回路81が入力θ1に代えて定数加算回路7
7の出力θ2を選択し、上記定数加算回路77が指数部
のデータγに定数rlINを加えた値をデータ0□とし
て出力す゛るようにしである。
このようにすれば1例えばγの値が「−5」のとき02
の値は「3」となるから、仮数部データUMのシフトビ
ット数は3ビツトに制限され、指数部の正規化後の値が
最小値「−8」に留まる。
信号UNFが生じたとき指数部を「−8」にする操作は
、後で第9図で説明する指数部補正回路85によって行
なわれる。
加算器75の演算結果UMに、第6図(A)。
(B)に示す如くオーバーフローを生じた場合、キャリ
ー出力にデータの真の符号が現われ、サインビットの位
置に数値の最上位のビットが現われている。従ってこの
場合には、オーバーフロー検出信号○VFによって、選
択回路81と零検出回路79の動作を停止させ、シフト
回路76に1ビット右シフト動作をさせ、インクリメン
ト回路83にUE(=γ)+1の動作をさせ、データZ
を次式のように操作すればよい。
上記の操作を行なうシフト回路76の1例を第7図に示
す。この回路は、シフトビット数指示データ0の各ビッ
ト03〜θ。に対応した8ビツトのシフタ761.4ビ
ツトのシフタ762.2ビツトのシフタ763および1
ビツトのシフタ764からなり、各シフタのそれぞれの
信号ラインのスイッチSW3〜SWoは、対応する制御
ビット03〜Ooが11171のとき下位ビット側の接
点に接続される。また、1ビツトシフタ764の各スイ
ッチSWoは、オーバーフロー検出信号OVFがII 
l 71のとき上位ビット側の接点に接続され、サイン
ビットの出力線L 10がキャリー信号入力端子765
と接続されて、上述したデータの1ビット右シフト動作
を実現する。
第4図の回路で、加算器75のオーバーフロー検出信号
OVFが′l″となったとき、インクリメント回路83
による(γ+1)の演算結果にもオーバーフローが生ず
る場合がある。この場合には、演算結果2 (=α+β
)にオーバーフローを生じたことを意味し、このまま積
和演算を続行すれば、累算器16に得られる出力データ
の絶対値は第8図(A)の如く変化し、全く無意味な値
となる。
制御回路89と補正回路85.87は、演算結果2に上
記オーバーフローが生じたとき、第8図(B)に示すよ
うに出力データの絶対値を正あるいは負の最大値に固定
するよう動作する回路であり、その具体的な構成例を第
9図に示す。
第9図において、指数部補正回路85は、入力ビットL
。−L3に対応した2人力ORゲート860〜863か
らなり、各ビット信号はこれらのゲートを介して累算器
16X側に出力される。
指数部データのサインビットL3が入力されるANDゲ
ート853の他方の入力端子には、インクリメン1−回
路83から出力されるオーバーフロー検出信号EOVF
の反転信号が入力され、ORゲート863の他方の入力
端子には引算回路78からのアンダーフロー検出信号U
NFが入力されている。また、データビットし。−L2
の入力されるANDゲート850〜852のそれぞれの
他方の入力端子には信号UNFの反転信号が入力され、
○Rアゲート60〜862の他方の入力端子には信号E
OVFが入力されている。信号EOVFとUNFとは同
時に1″′にはなり得ないため、指数部補正回路85の
出力は、信号EOVFが”1”のとき(0111) =
+7となって指数部を最大値にする。また、信号UNF
が′1″のときは(1000)=−8とり、前述の0=
02のときの指数値を満足する。
一方、仮数部補正回路87は、サインビットL 19を
そのまま出力し、データビットL4〜L、。
をそれぞれ2人力ORゲート871〜87N、2人力A
NDゲート881〜88Nを介して出力するようになっ
ている。各ORゲートの他方の入力には制御回路89の
ANDゲート891の出力が与えられ、各ANDゲート
の他方の入力端子には制御回路89のN A N Dゲ
ート892の出力が与えられている。信号EOVFが′
1″のとき、仮数部データが正の値、すなわちサインビ
ットL 1.9がrr O++ならばANDゲート89
1とN A N Dゲート892の出力が共に″1″と
なり補正回路87の出力は正の最大値[0111・・・
・・・11]となる。また、サインビットLi9が11
 L Hならば、NANDゲート892の出力が′″0
″となるため、補正回路87の出力は負の最大値(10
00・・・・・00〕となる。信号E OvFが“0″
のとき、これらの補正回路85.87は入力データL 
E +LMをそのままデータL ! ’ + L M′
 として出力する。これらの出力データL H’ + 
L M′は累算器16.スイッチ回路17を介してAバ
ス27に出力され、加減算器15の選択回路61に帰還
される。
以上の動作説明から、本発明の適用されたディジタル信
号処理プロセッサでは、乗算器14と加減算器15がそ
れぞれ浮動小数点演算できることが判る。ここで、Xバ
ス21またはYバス22から乗算器14へのデータ入力
および乗算器14またはAバス27から加減算器(AL
U)15へのデータ入力は、入力データのビット数と受
取り側回路のデータビット数が一致しているため、第1
0図(A)、(B)に示す如く、データ間でのビット位
置の変更はない、しかしながら、Xバス25、Yバス2
6.Dバス20からの16ビツトデータを加減算器15
に取り込む場合には、仮数部データのビット数が合わな
いため、加減算器の入力選択回路60.61において第
10図(C)に示す如く、仮数部入力データMの下位に
4ビツトに10 J″を追加する操作を必要とする。ま
た。
累算器(ACC)16に得られた20ビツトの加減算器
出力を16ビツトのDバス20に出力する際には、スイ
ッチ回路17において第10図(D)に示す如く、仮数
部Mの下位4ビツトのデータを捨て、指数部4ビツト、
仮数部12ビツトのデータに変換する操作を必要とする
本発明の適用されたディジタル信号処理プロセッサでは
上述したデータの変換動作を行なう入力選択回路60.
61および出力スイッチ回路17を更に工夫し、プログ
ラムの指定によりプロセッサが固定小数点演算も実行で
きるようにしている。
固定小数点データX、Yの乗算は乗算器14内の仮数部
データ乗算回路57において行なわれる。
この場合は第11図(A)に示す如く、16ビツトの入
力データX、Yのうち仮数部入力レジスタ53.54に
入る上位12ビツトが有効データとして扱われる。一方
、固定小数点データの加減算の際には、プログラムでの
指定により加減算器15内のシフト回路69.76のシ
フト動作を停止させ、この状態で得られた仮数部の演算
結果を利用する。シフト回路69の動作停止は、固定小
数点データの演算命令が第4図(A)のデータ線Eに数
値「O」のデータを与え、選択回路70が上記データ線
Eからの入力を選択するように制御信号S7を発生する
ようにすればよい。シフト回路76の動作停止は、第4
図(B)のデータ線Fに数値「0」のデータを与え、選
択回路82が上記データ線Fからの入力を選択するよう
制御信号So+を発生するようにすればよい。
上記固定小数点データの加減算において、乗算器14ま
たはAバスから加減算器15へのデータ入力は、第11
図(B)に示す如く、仮数部の16ビツトのデータを浮
動小数点演算の場合と同様に送り込めばよい。Xバス、
Yバス、Dバスからのデータ入力は、第11図(C)の
如く、全ビットを仮数部に入れ、累算器(ACC)に得
られた仮数部データは、第11図(D)に示す如く、全
ビットをDバス20に出力させる。
第12図は上述したビット変換機能を備えた加減算器の
入力選択回路60の具体例を示す。この回路図で、Po
−’−PLg、Yo−Y、、Do−D15はそれぞれP
バス24.Yバス26.Dバス20からの入力データの
各ビットを示し、これらのうち、データPの指数部P。
−P3はスイッチ601に入力され、スイッチ601の
4つの出力端子はスイッチ603の端子co−C3に接
続さ−れる。データY、Dの各ビットとデータPの仮数
部のビットP4〜P 19はスイッチ602に入力され
、スイッチ602の上位12ビツトの出力端子はデータ
βの上位ビットの出力線β8〜β1−Jに接続され、下
位4ビツトの出力端子はスイッチ603の端子C4〜C
7およびスイッチ601の他方の入力端子に接続されて
いる。スイッチ603はデータβの下位ビットの出力線
β0〜β8に接続される8個の出力端子と、状態”0”
″を与える4個の端子604を備えている。605はプ
ログラムの命令語に応じて制御回路4から与えられる制
御信号S1.S3に基づいて、スイッチ601,602
,603の駆動信号60A。
60B、60C:を発生する論理回路である。
制御信号S□で選択すべきデータが指示されると、信号
60A、60Bによってスイッチ601゜602が動作
し、データP、Y、Dのいずれかが。
選択される。このとき、制御信号S3が浮動小数点演算
を指示していれば、スイッチ603は、出力線β。〜β
3を端子C3−C3に、出力線β4〜β7を端子C4〜
C7(入力データPが選択されている場合)または端子
604(入力データYまたはDが選択されている場合)
に接続するよう動作する。もし制御信号S2が固定小数
点演算を指示していれば、入力データに関係なく出力線
β。〜β3が端子604に、β4〜β7が端子C4〜C
7に接続される。
第13図はもう1つの入力選択回路61の具体的な回路
構成を示す。この回路は、入力がAバスとXバスの2種
類となっている点を除いて第12図と同様であり、説明
は省略する。
第14図は、累算器16に接続されるスイッチ回路17
の具体的な回路構成を示す。この回路において、累算器
からの20ビツトの出力G。〜G1!1はスイッチ17
1の入力端子に入力される。
スイッチ171は、データバス2oの各信号線D O”
= D 15と接続された16個の出方端子を有し、入
力端子と出力端子との接続は論理回路172の出力信号
17A、17Bで制御される。プログラムの命令による
制御信号s3が浮動小数点演算を示す場合、スイッチ1
71は信号17Bに制御されて出力側の下位4ビツトの
信号線り。−D3を入力信号ma o −a 3と接続
し、固定小数点演算の場合にはり。−D3をG4〜Gフ
に接続する。
信号17Aはデータバス2oへの上位ビットデータの出
力を制御する。
本発明の適用された信号処理プロセッサによれば、上述
した固定小数点データあるいは浮動小数点データの演算
を行なえるだけでなく、浮動小数点形式で得られた演算
結果をプログラムの命令により固定小数点形式のデータ
に変換したり、その逆に固定小数点形式で与えられたデ
ータを:ri−動小数動形数点形式タに変換して演算を
行なうこともできる。この機能は、信号処理プロセッサ
がデータバス20と入出力インタフェース30〜33を
介して外部装置とデータをやりとりする際に極めて好都
合である。何如なら、信号処理プロセッサと接続される
外部装置の多くは固定小数点表示形式でデータを扱って
おり、もし上記信号処理プロセッサの浮動小数点演算結
果がそのまま出力されるとすれば、プロセッサの外部に
データ形式を変換するための特殊な装置を必要とするこ
とになるからである。
浮動小数点表示から固定小数点表示への変換(以下、F
LFXとこう)は次のようにして行なわれる。
先ず、累算器16に得られる浮動小数点表示のデータを としたとき、指数部がαEくβEの関係を満足し、仮数
部がβヮ=0の値をもつデータYx=β2・β E 2  をデータメモリ5あるいは6の特定のアドレスに
格納しておく。このアドレスはFLFXの命令語のアド
レス部と対応させておく。また、この命令語を実行した
とき、選択回路8が上記メモリから読出されたデータy
1をYバス22に出力し、選択回路60が上記Yバスか
らの入力を選択し、選択回路61がAバス27からの入
力を選択し、選択回路82が入力データF (= ro
」)を選択し、出力スイッチ17が入力信号64〜G 
inをデータバス20に接続動作するよう、各種制御信
号を発生させる。
このようにしておくと、FLFXの命令を実行した時2
つの浮動小数点データAとylとの間で演算が行なわれ
、累算器16には。
Z=Δ+y1 ・・・(6) −(β9−αや)  β2 =〔0+α9・2     〕・2 βE の演算結果が得られる。このデータは2  を指数部の
基準値として正規化してあり、データバス20に出力さ
れる仮数部のデータ ー(β・−“・)や固定4、数5.−□。
αヮ・2 て取り扱うことができる。
通常、内部演算結果Aに対してβ。の最適値を正確に知
ることはできないので、β。の値は若干大きめに選んで
おく方がよい。しかし、β8の値をあまり大きくすると
、固定小数データの精度が低くなることに注意する必要
がある。上記FLFXの実行の際、予めメモリに格納さ
れた変換用データy1の指数部βEよりも演算結果2の
指数部α8の方が大きくなった場合は1式(6)の仮数
部オーバーフローを生ずる。この場合、前述した出力補
正回路80の動作によって、固定小数点データの絶対値
を正あるいは負の最大値に固定させることができる。
一方、外部から与えられた固定小数点表示のデータを内
部で浮動小数点表示のデータに変換する動作は次のよう
にして行なえる。先ず、入力レジスタ31に入力された
固定小数点データを累算器16に転送する命令を実行す
る。この命令では。
データバス20を介して選択回路60に与えられた16
ビツI・の固定小数点表示データDを、上記選択回路6
0の動作により仮数部βMにビット位置変換し、選択回
路67、シフト回路69.ラッチ回路72.加算器75
.シフト回路76、補正回路87を介して累算器16の
仮数部16Mに入力させる。この場合、シフト回路69
,76、加算器75はそれぞれ入力データを素通りさせ
るよう制御される。
次に固定小数点表示から浮動小数点表示に変換(以下、
FXFLと言う)する命令を実行する。
この命令実行時には、選択回路61はAバス27から与
えられる累算器出力、すなわち上記した固定小数点デー
タAを出力α4.αゆとして選択する。また1選択回路
60は、FXFL命令のアドレス部で指定されてメモリ
5あるいは6からXバス26に読出される変換用データ
y2を出力β7゜β8として選択する。この変換用デー
タy2は、例えば仮数部β7が零であり指数部β。が値
〔+7〜−8〕の範囲から選定されて成る基準値を持っ
ている。他の命令実行時と異なり。
FXFL命令実行時には選択回路62が入力β。
を選択するよう制御信号S4を発生させ、比較回路63
の2つの入力を共にβEとする。この場合板数部の選択
回路67は入力αMを、選択回路68は入力β9をそれ
ぞれ選択するようにし、指数部の選択回路65には入力
βEを選択させる。
また、制御信号S7により選択回路70に入力データE
=rOjを選択させ、右方向のシフト回路69のデータ
シフト動作を抑える。
上記制御動作により、ラッチ回路71,72゜73の出
力はγ=βE T e A = LX M + e n
 = Oとなる。データeAとaBは加算器75に入力
されその加算結果UM(=αM)は零検出回路79と左
方向のシフト回路76の動作のもとに小数点位置がθ□
ビット移動し、結果として θ1  (βE−0□) 2=(α2・2 〕・2        ・・・(7)
で表される。データが累算器16に得られる。この式は
、固定小数点表示のデータA=α9が指数βEを基準に
正規化され、浮動小数点表示されたことを意味している
。従って、命令FXFLで累算器16に得られた上記デ
ータを用いれば、以後の演算を浮動小数点形式で行なう
ことができる。
尚、この実施例では入力レジスタ31のデータを1旦累
算器16にセットした後、FXFL命令を実行したが、
固定小数点の入力データと変換用データy2をXバス2
5とDバス20を利用して加減算器15に入力すること
により、1つの命令で浮動小数点表示へのデータ変換を
行なえるよう設計することもできる。
本発明の適用されたディジタル信号処理プロセッサは上
述したように固定小数点、浮動小数点の画形式のデータ
を取扱え、しかも浮動小数点表示データの正規化の際に
指数部にアンダフローを生じた時、指数値を最小値に固
定した正規化操作が行なえるため、内部演算データの数
値が大きい場合には浮動小数点演算形式、小さい場合は
固定小数点演算形式に自動的に演算方式を切り換えるこ
とができ、極めて広いダイナミックレンジを得ることが
できる。
すなわち、実施例′!A置の如く加減算器の内部データ
が仮数部16ビツト、指数部4ビツトからなる場合、2
の補数表示で指数部γは〔+7〜−8〕の範囲の数値を
取り扱える。全ての演算を浮動小数点形式で処理すると
、ダイナミックレンジは第15図に斜線を施こして示し
た2−11〜27となり、これはビット数に換算すると
15ビツト分に相当する。本発明によれば、演算データ
の仮数部に対する正規化ビット数Oが(γ−θ)く−8
の範囲にあるとき、正規化後の指数り。を−8に固定す
ることによって、固定小数点演算に切換れるようになっ
ている。このため、第15図に示す如く、ダイナミック
レンジは全体で31ビツトとなり、固定、浮動の一方の
みを用いる場合に比較して取り扱える数値の範囲が著し
く広がる。
ディジタル信号処理プロセッサの実際の応用においては
、例えば次式で示す如く、m回の積和演算を繰り返して
実行する場合が多い。
このような演算の場合、本発明の適用されたプロセッサ
によれば1乗算と加減算動作を並列的に進行させるパイ
プライン制御によって、データ処理効率を向上させ、変
速度での演算が可能となる。
第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を他
のデータ処理装置101、例えば(株)日立製作時のマ
イクロコンピュータMC36800と組み合せ、端子り
。−D7を介してデータの授受を行ない、データの処理
を2つの装置で分担できるようにしたシステム構成を示
す、このシステム構成は信号処理プロセッサ100を通
信回線のモデム、あるいはエコーキャンセラー等に適用
する場合に適している。
【図面の簡単な説明】
第1図は本発明の適用されたディジタル信号処理プロセ
ッサの全体構成の1例を示すブロック図、第2図は乗算
器14の詳細な構成を示す図、第3図(A)、(B)は
それぞれ入力データと加減算器15の内部演算データの
ビット形式を説明するための図、第4図(A)と(B)
は本発明の実施例の加減算器15の詳細な構成を示す図
、第5図(A)、 (r3)および第6図(A)、CB
)はシフト回路76の動作を説明するための図、第7図
はシフ1−回路76の1実施例を示す回路図、第8図(
A)、(B)はデータオーバーフローについての説明図
、第9図は出力補正回路の1部要素85゜87.89.
の具体的な回路構成を示す図、第10図(A)、 (D
)は上記信号処理プロセッサ各部における浮動小数点デ
ータの変化の様子を示す図、第11図(A)〜(D)は
固定小数点データの変化の様子を示す図、第12図は入
力選択回路60の具体的な回路構成を示す図、第13図
は入力選択回路61の具体的な回路構成を示す図、第1
4図は出力スイッチ回路17の具体的な回路構成を示す
図、第15図は本発明の適用されたディジタル信号処理
プロセッサのダイナミックレンジを示す図、第16図は
上記プロセッサの動作の特徴を説明するためのタイムチ
ャーI〜、第17図および第18図はそれぞれ上記信号
処理プロセッサの代表的な使用形態を示す図である。 晃2面 拓 3 ロ 猶4圓 (A) 第 4i(r3) 85 図 +)ロ■不]■図−[ロー。。 (B)  匝四7目−閤−/−eA +)田Iコf−ロ】〜e・ 一Σ]因剣刀国−回−lイ 垢 6 図 +)−M耶■ロー「丑へ。 第 8 図 オー)ニー70−^’f/R’ L a t; 、、り
%&        (>粧 寸旨如11耳多そりtL回f〔 T      Q      S      ミ号−g
   ”、 −%J   、 −J   リー。 8   に   、   <    N    ス  
 天−S     ; 匹 栴75 図 □ フ゛イナミーノ7し〉シ゛

Claims (1)

  1. 【特許請求の範囲】 1、夫々指数表示部と仮数表示部とからなる二つの小数
    点データを与えられる手段、 夫々のデータの仮数表示部を加算する手段、前記加算結
    果を正規化するために必要なビット数だけ上位側又は下
    位側にシフトする手段、前記加算結果、前記夫々のデー
    タの指数表示部の差のデータとに応じて、前記シフトに
    必要なビット数を決定する手段、 前記加算結果、前記夫々のデータの指数表示部の差のデ
    ータとに応じて前記仮数表示部の加算結果に対応する指
    数表示部を決定する手段、及び、前記二つの小数点デー
    タが固定小数点データであるとき、前記シフトを禁止す
    る手段とを備えることを特徴とする加減算装置。
JP62024590A 1987-02-06 1987-02-06 加減算装置 Granted JPS6312025A (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP55152051A Division JPS5776634A (en) 1980-10-31 1980-10-31 Digital signal processor

Related Child Applications (2)

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

Publications (2)

Publication Number Publication Date
JPS6312025A true JPS6312025A (ja) 1988-01-19
JPH026089B2 JPH026089B2 (ja) 1990-02-07

Family

ID=12142370

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPS6312025A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04205559A (ja) * 1990-11-30 1992-07-27 Nec Corp ベクトル演算装置
US5679573A (en) * 1995-07-27 1997-10-21 Abbott Laboratories Stabilized aqueous steroid immunoassay standards with cyclodextrins
JP2010244451A (ja) * 2009-04-09 2010-10-28 Seiko Epson Corp 情報処理装置、演算処理方法及び電子機器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5098253A (ja) * 1973-12-26 1975-08-05
JPS54158830A (en) * 1978-06-06 1979-12-15 Fujitsu Ltd High-speed arithmetic processing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5098253A (ja) * 1973-12-26 1975-08-05
JPS54158830A (en) * 1978-06-06 1979-12-15 Fujitsu Ltd High-speed arithmetic processing system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04205559A (ja) * 1990-11-30 1992-07-27 Nec Corp ベクトル演算装置
US5679573A (en) * 1995-07-27 1997-10-21 Abbott Laboratories Stabilized aqueous steroid immunoassay standards with cyclodextrins
JP2010244451A (ja) * 2009-04-09 2010-10-28 Seiko Epson Corp 情報処理装置、演算処理方法及び電子機器

Also Published As

Publication number Publication date
JPH026089B2 (ja) 1990-02-07

Similar Documents

Publication Publication Date Title
EP0182963B1 (en) An adder for floating point data
US4150434A (en) Matrix arithmetic apparatus
US5247471A (en) Radix aligner for floating point addition and subtraction
JPH0690668B2 (ja) ファジイ演算装置
JPS6312025A (ja) 加減算装置
JP2511527B2 (ja) 浮動小数点演算器
US4823300A (en) Performing binary multiplication using minimal path algorithm
JPS62187933A (ja) 加減算装置
JPH0357488B2 (ja)
JPS60167551A (ja) 信号処理プロセツサによるデ−タモデム
JPH09128213A (ja) ブロックフローティング処理システムおよび方法
JPH0357487B2 (ja)
JPH0357486B2 (ja)
JP2575856B2 (ja) 演算回路
JPH01240961A (ja) Dma転送方式
JPS63254525A (ja) 除算装置
JPH0335691B2 (ja)
JPS61210426A (ja) 書式変換回路
JPH01232430A (ja) 演算回路
JPH03251916A (ja) 浮動小数点加減算装置
JPH05204606A (ja) 浮動小数点演算方式および装置
JPS6149234A (ja) 浮動小数点乗算回路
JPS59197936A (ja) デイジタル信号処理方式
JPS62151920A (ja) デイジタル信号処理装置
JPS60536A (ja) フロ−テイング加算器仮数部入力制御回路