JPH026089B2 - - Google Patents

Info

Publication number
JPH026089B2
JPH026089B2 JP62024590A JP2459087A JPH026089B2 JP H026089 B2 JPH026089 B2 JP H026089B2 JP 62024590 A JP62024590 A JP 62024590A JP 2459087 A JP2459087 A JP 2459087A JP H026089 B2 JPH026089 B2 JP H026089B2
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.)
Expired - Lifetime
Application number
JP62024590A
Other languages
English (en)
Other versions
JPS6312025A (ja
Inventor
Yoshimune Hagiwara
Shizuo Sugyama
Shigemichi Maeda
Osamu Yumoto
Takashi Akazawa
Masahito Kobayashi
Yasuhiro Kita
Juzo 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)

Description

【発明の詳細な説明】 本発明は、加減算装置に関し、例えばデイジタ
ル信号処理プロセツサに組み込み、音声、画像等
のデータを実時間で処理しうる高速、高精度の積
和演算機能を実現するのに有用である。
音声の合成または分析装置、あるいは通信分野
におけるモデム(変復調器)、デイジタル・フイ
ルタ、コーデツク(CODEC)、エコーキヤンセ
ラー等の装置では、デイジタル化された信号を実
時間で処理できる信号処理プロセツサの応用が検
討されている。
この信号処理プロセツサは、プログラム・メモ
リとデータを高速度で処理するための専用の乗算
器および加減算器を内蔵するLSIとして提供さ
れ、プログラムを変えることにより各種の用途に
適合させる。
上記信号処理プロセツサを例えば音声信号のフ
イルタ処理に用いた場合、積和演算によつて内部
の演算データは16〜28ビツトの比較的大きな振幅
となる。このため、乗算器や加減算器の構造を固
定小数点データ演算型とすると、演算データのビ
ツト数の増加に伴ないハードウエア規摸が指数関
数的に大きくなり、LSI化が困難となる。この問
題は、プロセツサの構成を浮動小数点データ演算
型とすることによつて解決できる。しかしなが
ら、乗算器と加減算器とをデータバスで接続し、
それぞれが独立して浮動小数点演算を行なうよう
構成された従来の汎用コンピユータのデータ処理
方式をそのまま採用すると、信号処理プロセツサ
の基本動作である積和演算に時間がかかり、信号
の実時間処理が困難となる。
本発明の目的は、LSI化に適し、加減算される
データが浮動小数点であるか、固定小数であるか
を意識することなく使用でき、デイジタル信号を
実時間で高速に処理できる新規な構成の信号処理
プロセツサ等に有用な加減算装置を提供すること
にある。
以下、本発明の実施例を図面を参照して説明す
る。
第1図は本発明が適用されたデイジタル信号プ
ロセツサの全体構成図であり、1はプログラムを
格納するためのメモリ、2は上記プログラムメモ
リ1の読出しアドレスを指示するプログラムカウ
ンタ、3は上記プログラムメモリ1に接続された
命令レジスタ4は命令レジスタ3に読出された命
令語からプロセツサを動作させるための各種の制
御信号Sを発生させる制御回路である。この実施
例では、メモリ1に格納される命令語は例えば22
ビツトからなり、それぞれオペレーシヨンコード
とデータ、アドレスまたはアドレス制御情報を含
んでいる。プロセツサカウンタ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バスから与えられる2つ
のデータの積を算出し、結果をPバス24に出力
する浮動小数点演算型の乗算器であり、この乗算
器は、後述するように2つの入力データX,Yを
保持するためのレジスタを含み、演算されない2
つのデータX,YをそのままXバス25、Yバス
26に出力する。
15は浮動小数点演算型の加減算器であり、上
記乗算器14の出力データX,Y,Pおよびデー
タバス20,27のデータD,Aを入力として演
算を行ない、その結果を累算器16に出力する。
17は上記累算器16にラツチされた浮動小数点
データを20ビツトのデータバス(Aバス)27に
出力すると共に、上記データを16ビツトのデータ
に変換してDバス20に出力するスイツチ回路、
18は上記乗算器14および加減算器15に接続
され、これらの演算結果に関する状態コードレス
レジスタである。
30はデータバス20上の16ビツトのデータを
外部端子D0〜D15に並列的に出力するための出力
レジスタ、31は上記外部端子からの16ビツトデ
ータをデータバス20に並列的に取り込むための
入力レジスタである。また32は端子SIENの入
力パルスが“1”の期間中に、端子SICKの入力
クロツクに同期して端子SIからのシリアル入力デ
ータを取り込むための16ビツトのシフトレジス
タ、33は端子SOENの入力パルスが“1”の期
間中に、端子SOCKの入力クロツクに同期して端
子SOにデータを直列的に出力するための16ビツ
トのシフトレジスタを示す。これら2つのシフト
レジスタはそれぞれデータバス20と16ビツト並
列接続されている。
35はプロセツサの動作状態を制御するレジス
タ、36はリピート命令によりプロセツサに或る
命令を繰り返して実行させる場合、その繰り返し
回数がセツトされるカウンタ、37はプロセツサ
の内部状態を示すステータス・レジスタを示す。
レジスタ35,37の内容はそれぞれデータバス
20、端子D0〜D15を介して外部から書込み、読
出しが可能である。
40はプロセツサ動作への割込みと入出力動作
とを制御するための制御回路であり、例えば端子
SIEN、SOENの入力信号立上りでシフトレジス
タ32,33を動作可能とし、それぞれの信号の
立下りでプロセツサに割り込みをかけ、また、端
子IEへの入出力信号の立下りでレジスタ30,
31を起動し、その立下りでプログラムに割り込
みをかけるように動作する。41は外部の制御装
置(例えばマイクロコンピユータ)から信号に応
じてプロセツサ動作を制御するフアンクシヨン制
御回路であり、例えば端子TXAKからDMA転送
モードの受認信号、端子R/Wから並列入出力デ
ータの転送方向を示す信号、端子CSからこのプ
ロセツサを外部装置が選択したことを示す信号、
端子TESTからテスト動作モードの指定信号、
RSTからリセツト信号、端子F0-3から外部装置
による動作制御信号をそれぞれ受け取り、端子
TxRQから並列データ転送要求信号を出力する。
端子BitI/Oはデータを1ビツトずつ入出力する
ための双方向入出力端子を示す。42はクロツク
パルス発回路であり、端子OSCを介して外部回
路より基本となるクロツクを受け取り、これに基
づきプロセツサ動作に必要な各種の内部クロツク
を発生し、また、端子SYNCにプロセツサの内部
動作と外部システムの同期用のクロツクを出力す
る。
次に第2図、第3図、第4図により乗算器14
と加減算器15について更に説明する。
乗算器14には、第2図に示す如くXバス2
1、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の仮数部デー
タは、通常の固定小数点演算の場合と同様の回路
構成をもつ乗算回路57に入力され、乗算結果は
上位16ビツトが出力レジスタ58を介してYバス
24に出力される。つまり、乗算器14の演算出
力は、第3図Bに示す如く、下位4ビツトの指数
部と上位16ビツトの仮数部とからなる20ビツトの
データとなつて加減算器15に入力される。尚、
レジスタ52,54の出力はXバス25に、また
レジスタ51,53の出力はYバス26に送出さ
れ、それぞれ16ビツトのデータとして加減算器1
5に与えられる。
第4図A,Bに本発明の実施例である加減算器
15の構成を示す。第4図Aに示すように、加減
算器にはバス20,24〜27を介して、データ
D,P,X,Y,Aが入力される。これらのう
ち、データP,Y,Dは選択回路60に入力さ
れ、制御信号S1で指定された1つのデータが選択
される。また、データA,Xは選択回路61に入
力され制御信号S2で指定された1つのデータが選
択される。ここで入力データD,X,Yはそれぞ
れ第3図Aに示した16ビツトデータである。後で
述べるように、これらの16ビツトデータが指定さ
れたとき、選択回路60,61はこれらのデータ
を第3図Bに示した20ビツトデータに変換して出
力する構成となつている。このビツト変換は、入
力データD,X,Yが固定小数点データが浮動小
数点データかによつて異なり、変換動作は制御信
号S3によつて指定される。これによつて浮動小数
点演算型の加減算器で固定小数点表示の入力デー
タも処理できるようになつている。尚、制御信号
S1,S2,S3……Snはプログラム中の命令語に対
応して制御回路4から出力される。
選択回路60からの出力データをβ(指数部βE
仮数部βM)、選択回路61からの出力をデータを
α(指数部αE、仮数部αM)とすると、指数部デー
タαEは選択回路62を介して比較回路63に入力
され、指数部データβEと大小比較される。また、
これらの指数部データαE,βEはそれぞれ引算回路
64と選択回路65にも入力される。仮数部デー
タαMはネゲート回路66を介して選択回路67,
68に入力され、仮数部データβMは直接選択回
路67,68に入力される。ネゲート回路66
は、この実施例の場合、データαとβとの引算を
加算器構成のALU75により実現するために設
けられたものであり、加算演算の場合にはデータ
αMはネゲート回路を素通りする。上記選択回路
65,67,68は、それぞれ比較回路63の出
力信号に応じて2つの入力のうちの一方を選択す
る。選択回路65の出力はラツチ回路71に、選
択回路67の出力はシフト回路69を介してラツ
チ回路72に、また選択回路68の出力はラツチ
回路73にそれぞれタイミング信号Cでラツチさ
れる。引算回路64も上記比較回路63の出力に
よつて制御され、比較結果に応じて入力αE,βE
大きい方から小さい方を引算するよう動作する。
シフト回路69は、選択回路70を介して得られ
る上記引算回路64の出力に応じたビツト数だ
け、入力データを右方向にシフト動作する。この
シフト回路69の動作は、選択回路70に入力さ
れるもう一つのデータEによつても制御でき、シ
フトビツト数の選択は制御信号S7によつて行なわ
れる。
ラツチ回路72,73の出力eA,eBは、第4図
Bに示すように、制御信号SBで動作する固定小数
点演算型の加算器(ALU)75に入力され、加算
結果UMは左方向シフト回路76に与えられる。
一方、ラツチ回路71の出力γは定数加算回路7
7と、引算回路78の一方の入力端子に入力され
る。79は加算器75の出力UMを判定する零検
出回路であり、補数表示で与えられる加算器の出
力UMが正数の場合、UMの最上位にあるサインビ
ツトに続いた“0”ビツトの連続個数をカウント
する。UMが負数の場合には、上記サインビツト
に続く“1”ビツトの連続個数をカウントする。
上記零検出回路79の出力θ1は、データの正規化
およびオーバフロー対策のため設けられた出力補
正回路80を介してシフト回路76に与えられ、
このシフト回路によるデータのシフトビツト数を
決定する。また上記零検出回路79の出力θ1は引
算回路78の他方の入力端子にも入力され、この
引算回路の出力UEは出力補正回路80を介して
累算器16の指数部16Xに入力される。上記累
算器16の仮数部16Mには、出力補正回路80
において補正された上記シフト回路76からの出
力データLM′が入力される。
出力補正回路80は、加算器75から出力され
るオーバーフロー検出信号OVFと引算回路78
から出力されるアンダフロー検出信号UNFとに
応じて零検出回路79の出力θ1と定数加算回路7
7の出力θ2とのいずれかを選択する選択回路81
と、プログラムによる制御信号S9に応じて上記選
択回路81の出力とプログラムで与えられたデー
タFとのいずれかをシフト回路76にシフトビツ
ト数指示信号θとして与える選択回路82と、オ
ーバーフロー信号OVFが“1”のとき引算回路
出力UEに1を加算し、この加算結果LEにもオー
バーフローを生じたとき信号EOVFを出力するイ
ンクリメント回路83と、上記インクリメント回
路83と累算器16の指数部16Xとの間に挿入
された指数部補正回路85と、シフト回路76と
上記累算器16の仮数部16Mとの間に挿入され
た仮数部補正回路87と、上記2つの補正回路8
5,87の動作を信号UNFおよびEOVFに応じ
て制御する制御回路89からなつている。
以上の構成からなる加減算器15は次のように
動作する。
第4図Aに示した2つの入力選択回路61,6
0のそれぞれの出力α、βは浮動小数点表示のデ
ータであり、その値は次式で表わされる。
α=αM・2〓E β=βM・2〓E …(1) 今、αE>βEの関係にある2つのデータα、βの
加算演算を行なう場合を仮定すると、加算結果Z
は、 Z=αM・2〓E+βM・2〓E =〔aM+β・2-(E-E)〕・2〓E (2) で与えられる。
比較回路63はαEとβEの大小を比較し、選択回
路65には大きい方の指数部データをαEを選択さ
せ、選択回路67には、小さい方の指数部βEと対
応する仮数部データβMを選択させ、選択回路6
8には大きい方の指数部αEと対応する仮数部デー
タαEを選択させ、引算回路64には大きい方の指
数αEから小さい方の指数βEを引くよう制御信号を
与える。加算演算の実行中は、選択回路70は引
算回路64からの出力(αE−βE)を選択してお
り、シフト回路96は選択回路67の出力βM
(αE−βE)ビツトだけ右方向(下位ビツト方向)
にシフトするよう動作する。この結果、ラツチ回
路71,72,73の各出力は、γ=αE、eA
βM・2-(E-E)、eB=αEとなり、eA+eBの演算を行
なつた加算器75の出力UMは第(2)式の仮数部を
表わす。従つて、この段階での演算値Zは次式で
示される。
Z=UM・2〓 …(3) 零検出回路79と左方向シフト回路76は、加
算器出力UMをその絶対値が最大となるよう正規
化するためのものである。第5図Aに示す如く、
零検出回路79によつてデータUMのサインビツ
トに続く(小数点以下の)連続する“0”の個数
θ1を検出し、シフト回路76でデータUMをθ1
ツトだけ左側(最上位ビツト側)にシフトすれ
ば、絶対値が最大の仮数部データLMが得られる。
UMが負数の場合には、第5図Bの如く、連続す
る“1”の個数だけシフトすればよい。この場合
指数部データγについては、引算回路78によつ
て(γ−θ1)の演算を行ない、その出力UEを正
規化された指数値とする。データUMにオーバー
フローが生じていなければ、インクリメント回路
83の出力LEは正規化された上記指数値UEに等
しくなり、正規化の処理は次式で表わすことがで
きる。
Z=〔UM・2〓1〕・2(-1)=LM・2LE …(4) 指数部のγの大きさを4ビツトとすると、2の
補数表示によつてγが表わし得る値は〔+7γ
−8〕の範囲に制限される。従つて上記仮数部
データの正規化の際、零検出回路の検出値θ1だけ
完全にデータをUMを左方向にシフトしようとす
ると、指数部側の(γ−θ1)の値が−8よりも小
さくなり、引算回路にアンダーフローを生ずる場
合がある。このとき、(γ−θ1)の演算を行なう
引算回路78からは、データのアンダーフローを
示す信号(ボロー信号)UNFが発生される。第
4図Bの回路では、上記信号UNFが発生したと
き、選択回路81が入力θ1に代えて定数加算回路
77の出力θ2を選択し、上記定数加算回路77が
指数部のデータγに定数「8」を加えた値をデー
タθ2として出力するようにしてある。このように
すれば、例えばγの値が「−5」のときθ2の値は
「3」となるから、仮数部データUMのシフトビツ
ト数は3ビツトに制限され、指数部の正規化後の
値が最小値「−8」に留まる。信号UNFが生じ
たとき指数部を「−8」にする操作は、後で第9
図で説明する指数部補正回路85によつて行なわ
れる。
加算器75の演算結果UMに、第6図A,Bに
示す如くオーバーフローを生じた場合、キヤリー
出力にデータの真の符号が現われ、サインビツト
の位置に数値の最上位のビツトが現われている。
従つてこの場合には、オーバーフロー検出信号
OVFによつて、選択回路81と零検出回路79
の動作を停止させ、シフト回路76に1ビツト右
シフト動作をさせ、インクリメント回路83に
UE(=γ)+1の動作をさせ、データZを次式の
ように操作すればよい。
Z=〔UM・2-1〕・2(+1) …(5) 上記の操作を行なうシフト回路76の1例を第
7図に示す。この回路は、シフトビツト数指示デ
ータθの各ビツトθ3〜θ0に対応した8ビツトのシ
フタ761、4ビツトのシフタ762、2ビツト
のシフタ763および1ビツトのシフタ764か
らなり、各シフタのそれぞれの信号ラインのスイ
ツチSW3〜SW0は、対応する制御ビツトθ3〜θ0
“1”のとき下位ビツト側の接点に接続される。
また、1ビツトシフタ764の各スイツチSW0
は、オーバーフロー検出信号OVFが“1”のと
き上位ビツト側の接点に接続され、サインビツト
の出力線L19がキヤリー信号入力端子765と接
続されて、上述したデータの1ビツト右シフト動
作を実現する。
第4図の回路で、加算器75のオーバーフロー
検出信号OVFが“1”となつたとき、インクリ
メント回路83による(γ+1)の演算結果にも
オーバーフローが生ずる場合がある。この場合に
は、演算結果Z(=α+β)にオーバーフローを
生じたことを意味し、このまま積和演算を続行す
れば、累算器16に得られる出力データの絶対値
は第8図Aの如く変化し、全く無意味な値とな
る。
制御回路89と補正回路85,87は、演算結
果Zに上記オーバーフローが生じたとき、第8図
Bに示すように出力データの絶対値を正あるいは
負の最大値に固定するよう動作する回路であり、
その具体的な構成例を第9図に示す。
第9図において、指数部補正回路85は、入力
ビツトL0〜L3に対応した2入力ORゲート860
〜863からなり、各ビツト信号はこれらのゲー
トを介して累算器16X側に出力される。指数部
データのサインビツトL3が入力される。ANDゲ
ート853の他方の入力端子には、インクリメン
ト回路83から出力されるオーバーフロー検出信
号EOVFの反転信号が入力され、ORゲート86
3の他方の入力端子には引算回路78からのアン
ダーフロー検出信号UNFが入力されている。ま
た、データビツトL0〜L2の入力されるANDゲー
ト850〜852のそれぞれの他方の入力端子に
は信号UNFの反転信号が入力され、ORゲート8
60〜862の他方の入力端子には信号EOVFが
入力されている。信号EOVFとUNFとは同時に
“1”にはなり得ないため、指数部補正回路85
の出力は、信号EOVFが“1”のとき〔0111〕=
+7となつて指数部を最大値にする。また、信号
UNFが“1”のときは〔1000〕=−8とり、前述
のθ=θ2のときの指数部を満足する。
一方、仮数部補正回路87は、サインビツト
L19をそのまま出力し、データビツトL4〜L18をそ
れぞれ2入力ORゲート871〜87N、2入力
ANDゲート881〜88Nを介して出力するる
ようになつている。各ORゲートの他方の入力に
は制御回路89のANDゲート891の出力が与
えられ、各ANDゲートの他方の入力端子には制
御回路89のNANDゲート892の出力が与え
られている。信号EOVFが“1”とき、仮数部デ
ータが正の値、すなわちサインビツトL19が“0”
ならばANDゲート891とNANDゲート892
の出力が共に“1”となり補正回路87の出力は
正の最大値〔0111……11〕となる。また、サイン
ビツトL19が“1”ならば、NANDゲート892
の出力が“0”となるため、補正回路87の出力
は負の最大値〔1000……00〕となる。信号EOVF
が“0”のとき、これらの補正回路85,87は
入力データLE,LMをそのままデータLE′,LM′と
して出力する。これらの出力データLE′,LM′は
累算器16、スイツチ回路17を介してAバス2
7に出力され、加減算器15の選択回路61に帰
還される。
以上の動作説明から、本発明の適用されたデイ
ジタル信号処理プロセツサでは、乗算器14と加
減算器15がそれぞれ浮動小数点演算できること
が判る。ここで、Xバス21またはYバス22か
ら乗算器14へのデータ入力および乗算器14ま
たはAバス27から加減算器(ALU)15への
データ入力は、入力データのビツト数と受取り側
回路のデータビツト数が一致しているため、第1
0図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を更
に工夫し、プログラムの指定によりプロセツサが
固定小数点演算も実行できるようにしている。
固定小数点データX,Yの乗算は乗算器14内
の仮数部データ乗算回路57において行なわれ
る。この場合は第11図Aに示す如く、16ビツト
の入力データX,Yのうち仮数部入力レジスタ5
3,54に入る上位12ビツトが有効データとして
扱われる。一方、固定小数点データの加減算の際
には、プログラムでの指定により加減算器15内
のシフト回路69,76のシフト動作を停止さ
せ、この状態で得られた仮数部の演算結果を利用
する。シフト回路69の動作停止は、固定小数点
データの演算命令が第4図Aのデータ線Eに数値
「0」のデータを与え、選択回路70が上記デー
タ線Eからの出力を選択するようにゲート信号S7
を発生するようにすればよい。シフト回路76の
動作停止は、第4図Bのデータ線Fに数値「0」
のデータ与え、選択回路82が上記データ線Fか
らの入力を選択するよう制御信号S9を発生するよ
うにすればよい。
上記固定小数点データの加減算において、乗算
器14またはAバスから加減算器15へのデータ
入力は、第11図Bに示す如く、仮数部の16ビツ
トのデータを浮動小数点演算の場合と同様に送り
込めばよい。Xバス、Yバス、Dバスからのデー
タ入力は、第11図Cの如く、全ビツトを仮数部
に入れ、累算器(ACC)に得られた仮数部デー
タは、第11図Dに示す如く、全ビツトをDバス
20に出力させる。
第12図は上述したビツト変換機能を備えた加
減算器の入力選択回路60の具体例を示す。この
回路図で、P0〜P19、Y0〜Y15、D0〜D15はそれぞ
れPバス24、Yバス26、Dバス20からの入
力データの各ビツトを示し、これらのうち、オペ
レーシヨンPの指数部P0〜P3はスイツチ601
に入力され、スイツチ601の4つの出力端子は
スイツチ603の端子C0〜C3に接続される。デ
ータY、Dの各ビツトとデータPの仮数部のビツ
トP4〜P19はスイツチ602に入力され、スイツ
チ602の上位12ビツトの出力端子はデータβの
上位ビツトの出力線β8〜β19に接続され、下位4
ビツトの出力端子はスイツチ603の端子C4
C7およびスイツチ601の他方の入力端子に接
続されている。スイツチ603はデータβの下位
ビツトの出力線β0〜β8に接続される8個の出力端
子と、状態“0”を与える4個の端子604を備
えている。605はプログラムの命令語に応じて
制御回路4から与えられる制御信号S1,S3に基づ
いて、スイツチ601,602,603の駆動信
号60A,60B,60Cを発生する論理回路で
ある。
制御信号S1で選択すべきデータが指示される
と、信号60A,60Bによつてスイツチ60
1,602が動作し、データP,Y,Dのいずれ
かが、選択される。このとき、制御信号S3が浮動
小数点演算を指示していれば、スイツチ603
は、出力線β0〜β3を端子C0〜C3に、出力線β4〜β7
を端子C4〜C7(入力データPが選択されている場
合)または端子604(入力データYまたはDが
選択されている場合)に接続するよう動作する。
もし制御信号S2が固定小数点演算を指示していれ
ば、入力データに関係なく出力線β0〜β3が端子6
04に、β4〜β7が端子C4〜C7に接続される。
第13図はもう1つの入力選択回路61の具体
的な回路構成を示す。この回路は、入力がAバス
とXバスの2種類となつている点を除いて第12
図と同様であり、説明は省略する。
第14図は、累算器16に接続されるスイツチ
回路17の具体的な回路構成を示す。この回路に
おいて、累算器からの20ビツトの出力G0〜G19
スイツチ171の入力端子に入力される。スイツ
チ171は、データバス20の各信号線D0〜D15
と接続された16個の出力端子を有し、入力端子と
出力端子との接続は論理回路172の出力信号1
7A,17Bで制御される。プログラムの命令に
よる制御信号S3が浮動小数点演算を示す場合、ス
イツチ171は信号17Bに制御されて出力側の
下位4ビツトの信号線D0〜D3を入力信号線G0
G3と接続し、固定小数点演算の場合にはD0〜D3
をG4〜G7に接続する。信号17Aはデータバス
20への上位ビツトデータの出力を制御する。
本発明に適用された信号処理プロセツサよれ
ば、上述した固定小数点データあるいは浮動小数
点データの演算を行なえるだけでなく、浮動小数
点形式で得られた演算結果をプログラムの命令に
よる固定小数点形式のデータに変換したり、その
逆に固定小数点形式で与えられたデータを浮動小
数点形式のデータに変換して演算を行なうことも
できる。この機能は、信号処理プロセツサがデー
タバス20と入出力インタフエース30〜33を
介して外部装置とデータをやりとりする際に極め
て好都合である。何如なら、信号処理プロセツサ
と接続される外部装置の多くは固定小数点表示形
式でデータを扱つており、もし上記信号処理プロ
セツサの浮動小数点演算結果がそのまま出力され
るとすれば、プロセツサの外部にデータ形式を変
換するための特殊な装置を必要とすることになる
からである。
浮動小数点表示から固定小数点表示への変換
(以下、FLFXと言う)は次のようにして行なわ
れる。
先ず、累算器16に得られる浮動小数点表示の
データを A=αM・2〓E としたとき、指数部がαE<βEの関係を満足し、仮
数部がβM=0の値をもつデータy1=βM・2〓Eをデ
ータメモリ5あるいは6の特定のアドレスに格納
しておく。このアドレスはFLFXの命令語のアド
レス部と対応させておく。また、この命令語を実
行したとき、選択回路8が上記メモリから読出さ
れたデータy1をYバス22に出力し、選択回路6
0が上記Yバスからの入力を選択し、選択回路6
1がAバス27からの入力を選択し、選択回路8
2が入力データF(=「0」)を選択し、出力スイ
ツチ17が入力信号G4〜G19をデータバス20に
接続動作するよう、各種制御信号を発生させる。
このようにしておくと、FLEXの命令を実行し
た時2つの浮動小数点データAとy1との間で演算
が行なわれる、累算器16には、 Z=A+y1 =〔0+αM・2-(E-E)〕・2〓E …(6) の演算結果が得られる。このデータは2〓Eを指数
部の基準値として正規化してあり、データバス2
0に出力される仮数部のデータαM・2-(E-E)を固
定小数点データとして取り扱うことができる。
通常、内部演算結果Aに対してβEの最適値を正
確に知ることはできないので、βEの値は若干大き
めに選んでおく方がよい。しかし、βEの値をあま
り大きくすると、固定小数データの精度が低くな
ることに注意する必要がある。上記FLFXの実行
の際、予めメモリに格納された変換用データy1
指数部βEよりも演算結果Zの指数部αEの方が大き
くなつた場合は、式(6)のの仮数部オーバーフロー
を生ずる。この場合、前述した出力補正回路80
の動作によつて、固定小数点データの絶対値を正
あるいは負の最大値に固定させることができる。
一方、外部から与えられた固定小数点表示のデ
ータを内部で浮動小数点表示のデータに変換する
動作は次のようにして行なえる。先ず、入力レジ
スタ31に入力された固定小数点データを累算器
16に転送する命令を実行する。この命令ではデ
ータバス20を介して選択回路60に与えられた
16ビツトの固定小数点表示データDを、上記選択
回路60の動作により仮数部βMにビツト位置変
換し、選択回路67、シフト回路69、ラツチ回
路72、加算器75、シフト回路76、補正回路
87を介して累算器16の仮数部16Mに入力さ
せる。この場合、シフト回路69,76、加算器
75はそれぞれ入力データを素通りさせるよう制
御される。
次に固定小数点表示から浮動小数点表示に変換
(以下、FXFLと言う)する命令を実行する。こ
の命令実行時には、選択回路61はAバス27か
ら与えられる累算器出力、すなわち上記した固定
小数点データAを出力αM,αEとして選択する。
また、選択回路60は、FXFL命令のアドレスで
指定されてメモリ5あるいは6からyバス26に
読出される変換用データy2を出力βM,βEとして選
択する。この変換用データy2は、例えば仮数部βM
が零であり指数部βEが値〔+7〜−8〕の範囲か
ら選定されて或る基準値を持つている。他の命令
実行時と異なり、FXFL命令実行時には選択回路
62が入力βEを選択するよう制御選択S4を発生さ
せ、比較回路63の2つの入力を共にβEとする。
この場合仮数部の選択回路67は入力αMを、選
択回路68は入力βMをそれぞれ選択するように
し、指数部の選択回路65には入力βEを選択させ
る。また、制御信号S7により選択回路70に入力
データE=「0」を選択させ、右方向のシフト回
路69のデータシフト動作を抑える。
上記制御動作により、ラツチ回路71,72,
73の出力はγ=βE、eA=αM、eB=0となる。デ
ータeAとeBは加算器75に入力されその加算結果
UM(=αM)は零検出回路79と左方向のシフト回
路76の動作のもとに小数点位置がθ1ビツト移動
し、結果として Z=〔αM・2〓1・2(E-1) …(7) で表わされる。データが累算器16に得られる。
この式は、固定小数点表示のデータA=αMが指
数βEを基準に正規化され、浮動小数点表示された
ことを意味している。従つて、命令FXFLで累算
器16に得られた上記データを用いれば、以後の
演算を浮動小数点形式で行なうことができる。
尚、この実施例では入力レジスタ31のデータ
を1旦累算器16にセツトした後、FXFL命令を
実行したが、固定小数点の入力データと変換用デ
ータy2をXバス25とDバス20を利用して加減
算器15に入力することにより、1つの命令で浮
動小数点表示へのデータ変換を行なえるよう設計
することもできる。
本発明の適用されたデイジタル信号処理プロセ
ツサは上述したように固定小数点、浮動小数点の
両形式のデータを取扱え、しかも浮動小数点表示
データの正規化の際に指数部にアンダーフローを
生じた時、指数値を最小値に固定した正規化操作
が行なえるため、内部演算データの数値が大きい
場合には浮動小数点演算形式、小さい場合は固定
小数点演算形式に自動的に演算方式を切り換える
ことができ、極めて広いダイナミツクレンジを得
ることができる。
すなわち、実施例装置の如く加減算器の内部デ
ータが仮数部16ビツト、指数部4ビツトからなる
場合、2の補数表示で指数部γは〔+7〜−8〕
の範囲の数値を取り扱える。全ての演算を浮動小
数点形式で処理すると、ダイナミツクレンジは第
15図に斜線を施こして示した2-8〜27となり、
これはビツト数に換算すると15ビツト分に相当す
る。本発明によれば、演算データの仮数部に対す
る正規化ビツト数がθが(γ−θ)<−8の範囲
にあるとき、正規化後の指数LEを−8に固定す
ることによつて、固定小数点演算に切換れるよう
になつている。このため、第15図に示す如く、
ダイナミツクレンジは全体で31ビツトとなり、固
定、浮動の一方のみを用いる場合に比較して取り
扱える数値の範囲が著しく広がる。
デイジタル信号処理プロセツサの実際の応用に
おいては、例えば次式で示す如く、m回の積和演
算を繰り返して実行する場合が多い。
T=ni=1 ai×bi …(8) このような演算の場合、本発明の適用されたプ
ロセツサによれば、乗算と加減算動作を並列的に
進行させるパイプライン制御によつて、データ処
理効率を向上させ、変速度での演算が可能とな
る。
第16図は並列動作の1例を示すタイムチヤー
トであり命令サイクル201で先行フエツチされ
た命令Aにより、次のサイクル202でデータメ
モリからデータを読出し、乗算器により演算を行
なう。命令サイクル203では乗算結果と累算器
データ(Aバス出力)との加減算が実行され、演
算結果はサイクル204で累算器に出力される。
これら、4つのステツプの動作1ステツプずつず
れて各命令サイクルで繰り返され、所定回数mの
積和演算が完了したとき、命令Fにより演算結果
Tがデータバス20に出力され、データメモリ5
あるいは外部回路に送られる。
上記パイプライン制御によるプロセツサの並列
動作は乗算器14加減算器15とを直列的に接続
したこと、乗算と加減算の各動作所要時間がバラ
ンスする位置にデータを1時的に保持するレジス
タ(第4図ではラツチ回路71〜72がこれに相
当する)を配置したことにより可能となつてい
る。
第17図は上記デイジタル信号処理プロセツサ
の応用例を示す。ここでは、プロセツサ100を
A/D変換器300とD/A変換器301を介し
てアナログ回線に接続し、デイジタルフイルタと
して機能させる場合を示している。
第18図は、デイジタル信号処理プロセツサ1
00を他のデータ処理装置101、例えば(株)日立
製作時のマイクロコンピユータMCS6800と組み
合せ、端子D0〜D7を介してデータの授受を行な
い、データの処理を2つの装置で分担できるよう
にしたシステム構成を示す。このシステム構成は
信号処理プロセツサ100を通信回線のモデム、
あるいはエコーキヤンセラー等に適用する場合に
適している。
【図面の簡単な説明】
第1図は本発明の適用されたデイジタル信号処
理プロセツサの全体構成の1例を示すブロツク
図、第2図は乗算器14の詳細な構成を示す図、
第3図A,Bはそれぞれ入力データと加減算器1
5の内部演算データのビツト形式を説明するため
の図、第4図AとBは本発明の実施例の加減算器
15の詳細な構成を示す図、第5図A,Bおよび
第6図A,Bはシフト回路76の動作を説明する
ための図、第7図はシフト回路76の1実施例を
示す回路図、第8図A,Bはデータオーバーフロ
ーについての説明図、第9図は出力補正回路の1
部要部85,87,89の具体的な回路構成を示
す図、第10図A〜Dは上記信号処理プロセツサ
各部における浮動小数点データの変化の様子を示
す図、第11図A〜Dは固定小数点データの変化
の様子を示す図、第12図は入力選択回路60の
具体的な回路構成を示す図、第13図は入力選択
回路61の具体的な回路構成を示す図、第14図
は出力スイツチ回路17の具体的な回路構成を示
す図、第15図は本発明の適用されたデイジタル
信号処理プロセツサのダイナミツクレンジを示す
図、第16図は上記プロセツサの動作の特徴を説
明するためのタイムチヤート、第17図および第
18図はそれぞれ上記信号処理プロセツサの代表
的な使用形態を示す図である。

Claims (1)

  1. 【特許請求の範囲】 1 浮動小数点データおよび固定小数点データの
    加減算を選択的に実行する加減算装置であつて、 第1および第2の浮動小数点データからなる第
    1のデータ対と、第1および第2の固定小数点デ
    ータからなる第2のデータ対とを択一的に選択す
    る手段、および 上記選択するが第1のデータ対を選択した場合
    に第1および第2の浮動小数点データの指数部の
    値の差に応答して上記2つのデータのうちの一方
    の仮数部をビツトシフトした後に加減算を行なう
    手段を有し、 上記選択する手段が第2のデータ対を選択した
    場合に上記ビツトシフトを禁止することを特徴と
    する加減算装置。 2 上記加減算装置は上記加減算の結果を正規化
    する手段を有し、 上記選択する手段が第2のデータ対を選択した
    場合に上記正規化を禁止することを特徴とする特
    許請求の範囲第1項記載の加減算装置。 3 上記加減算装置はデイジタル信号処理プロセ
    ツサに用いられることを特徴とする特許請求の範
    囲第1項または第2項記載の加減算装置。
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
JP18737589A Division JPH02224021A (ja) 1989-07-21 1989-07-21 加減算装置
JP18737489A Division JPH02224020A (ja) 1989-07-21 1989-07-21 加減算装置

Publications (2)

Publication Number Publication Date
JPS6312025A JPS6312025A (ja) 1988-01-19
JPH026089B2 true 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)

Families Citing this family (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
JP5423110B2 (ja) * 2009-04-09 2014-02-19 セイコーエプソン株式会社 情報処理装置、演算処理方法及び電子機器

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

Also Published As

Publication number Publication date
JPS6312025A (ja) 1988-01-19

Similar Documents

Publication Publication Date Title
JPS6242296B2 (ja)
EP0468820A2 (en) Data processing system for single-precision and double-precision data
US5457805A (en) Microcomputer enabling high speed execution of product-sum operation
JPS5878248A (ja) ダイナミツクにプログラム可能な処理素子
JPH08234962A (ja) 24ビットおよび16ビット算術演算の双方を実行するための装置および方法
JPH04307B2 (ja)
JP3665409B2 (ja) 強化されたデジタル信号プロセッサの方法および装置
JPH0353650B2 (ja)
JPH026089B2 (ja)
JPH0357488B2 (ja)
JPH0357487B2 (ja)
JPH0357486B2 (ja)
Thompson et al. An LSI digital signal processor
JPS645500B2 (ja)
US6792442B1 (en) Signal processor and product-sum operating device for use therein with rounding function
JP2706455B2 (ja) 小数乗算器
JP2756175B2 (ja) デュアルプロセッサ構成dspの符号付与方法
JPH01266668A (ja) 情報処理装置
JP2862969B2 (ja) プロセッサ
JP3110072B2 (ja) 事前正規化回路
JPH04316127A (ja) 情報処理装置
JPH03226831A (ja) 2↑n倍演算回路
JPH0823808B2 (ja) ディジタル信号処理プロセッサ
JPH0335691B2 (ja)
JPH0460831A (ja) データ処理装置