JPH02181870A - ディジタル信号処理装置 - Google Patents
ディジタル信号処理装置Info
- Publication number
- JPH02181870A JPH02181870A JP1001258A JP125889A JPH02181870A JP H02181870 A JPH02181870 A JP H02181870A JP 1001258 A JP1001258 A JP 1001258A JP 125889 A JP125889 A JP 125889A JP H02181870 A JPH02181870 A JP H02181870A
- Authority
- JP
- Japan
- Prior art keywords
- data
- shifter
- arithmetic
- processing
- multiplication
- 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.)
- Pending
Links
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
この発明は、一連の処理を並列パイプライン処理により
実行するディジタル信号処理装置に関するものである。
実行するディジタル信号処理装置に関するものである。
[従来の技術]
第10図は、例えばアイイーイーイー、アイシーニーニ
スニスビー86、東京、第401〜404頁、”ア 5
0ナノセコンド フローティング−ポイント シグナル
プロセ、ツサ ブイエルニスアイ” (IEEE、
ICASSP 86、TOKYO,P401〜404
、”A 5ONS FLOATING−POINT
5IGNAL PROCESSORVLSI”)
に示された従来のディジタル信号処理装置(以下、DS
Pと称する)のDSSPチップのブロック回路図である
。
スニスビー86、東京、第401〜404頁、”ア 5
0ナノセコンド フローティング−ポイント シグナル
プロセ、ツサ ブイエルニスアイ” (IEEE、
ICASSP 86、TOKYO,P401〜404
、”A 5ONS FLOATING−POINT
5IGNAL PROCESSORVLSI”)
に示された従来のディジタル信号処理装置(以下、DS
Pと称する)のDSSPチップのブロック回路図である
。
図において、1はこのDSPの全処理を実行せしむるマ
イクロプログラムを記憶したプログラムメモリ、2はこ
のプログラムメモリ1内のマイクロプログラムのフェッ
チ、デコード、データの読出し、演算、演算結果の書込
みの各処理を制御実行せしむる制御回路、3はこの制御
回路2が図中の各回路に対し出力する制御信号、4はデ
ータサイズが2nビット(nは正の整数)のデータを格
納可能であると共に同時に2個のデータの読出しが可能
で、1個のデータの書込みが可能な2ボートのデータメ
モリ、5はこのデータメモリ4に対するアドレスを生成
するアドレス生成部、6.7はセレクタ、8は、データ
メモリ4から同時に読出され、それぞれセレクタ6.7
を介し供給される2個のデータX、Yに対する乗算処理
、加減算処理を実行する乗算回路、9は前記2個のデー
タX、Yまたは乗算回路8の結果データに対する算術演
算、累算を行う演算回路、10は前記2個のデータX、
Y及び演算回路9の結果データを演算回路9とデータメ
モリ4との間で転送するためのデータバスである。
イクロプログラムを記憶したプログラムメモリ、2はこ
のプログラムメモリ1内のマイクロプログラムのフェッ
チ、デコード、データの読出し、演算、演算結果の書込
みの各処理を制御実行せしむる制御回路、3はこの制御
回路2が図中の各回路に対し出力する制御信号、4はデ
ータサイズが2nビット(nは正の整数)のデータを格
納可能であると共に同時に2個のデータの読出しが可能
で、1個のデータの書込みが可能な2ボートのデータメ
モリ、5はこのデータメモリ4に対するアドレスを生成
するアドレス生成部、6.7はセレクタ、8は、データ
メモリ4から同時に読出され、それぞれセレクタ6.7
を介し供給される2個のデータX、Yに対する乗算処理
、加減算処理を実行する乗算回路、9は前記2個のデー
タX、Yまたは乗算回路8の結果データに対する算術演
算、累算を行う演算回路、10は前記2個のデータX、
Y及び演算回路9の結果データを演算回路9とデータメ
モリ4との間で転送するためのデータバスである。
次に動作について説明する。先ず、第10図のDSPの
全体動作につき説明すると、アドレス生成部5はデータ
メモリ4に対するアドレスを生成して該データメモリ4
に供給し、しかしてデータ読出し時には、データメモリ
4から2個のデータが同時に読出され、セレクタ6.7
を夫々介し、乗算回路8、また演算回路9にデータX、
データYとして供給される。このとき乗算回路8は、該
データX、Yに対する乗算処理、及びその乗算結果に対
する加減算処理を実行し、その結果データを演算回路9
に与える。そして演算回路9は、この結果データまたは
前記データX、Yに対する加算、減算、ビット操作等の
算術演算処理、またはアキュムレータを用いての累算処
理を実行し、その結果データをデータバス10を介して
データメモリ4に供給して書込む、しかしてこのような
−連の処理は、制御回路2が、プログラムメモリ1に格
納されているマイクロプログラムを読出し、そのインス
トラクションを該制御回路2がデコードし、各回路に対
し制御信号3を出力するパイプライン処理の実行により
行われる。
全体動作につき説明すると、アドレス生成部5はデータ
メモリ4に対するアドレスを生成して該データメモリ4
に供給し、しかしてデータ読出し時には、データメモリ
4から2個のデータが同時に読出され、セレクタ6.7
を夫々介し、乗算回路8、また演算回路9にデータX、
データYとして供給される。このとき乗算回路8は、該
データX、Yに対する乗算処理、及びその乗算結果に対
する加減算処理を実行し、その結果データを演算回路9
に与える。そして演算回路9は、この結果データまたは
前記データX、Yに対する加算、減算、ビット操作等の
算術演算処理、またはアキュムレータを用いての累算処
理を実行し、その結果データをデータバス10を介して
データメモリ4に供給して書込む、しかしてこのような
−連の処理は、制御回路2が、プログラムメモリ1に格
納されているマイクロプログラムを読出し、そのインス
トラクションを該制御回路2がデコードし、各回路に対
し制御信号3を出力するパイプライン処理の実行により
行われる。
次に、このようなりSPにて、積和演算、複素数演算、
2進本探索ベクトル量子化演算を実行した場合の所要マ
シンサイクル数につき、以下に説明する。
2進本探索ベクトル量子化演算を実行した場合の所要マ
シンサイクル数につき、以下に説明する。
(1)積和演算
第11図にはこの積和演算の演算フローを示す、即ち、
先ず、ステップSTIでは、初期設定、即ちデータメモ
リ4に対するアドレスセット及び、乗算回路8、演算回
路9におけるループ回数セットが行われる。次にステッ
プST2では、積和演算が1マシンサイクルにて実行さ
れる。次にステップST3では、リピートカウンタのカ
ウント値が「0」であるか否かの判断処理、即ち、前記
初期設定によりセットされたM回のリピート演算が完了
したか否かの判断処理が実行される。
先ず、ステップSTIでは、初期設定、即ちデータメモ
リ4に対するアドレスセット及び、乗算回路8、演算回
路9におけるループ回数セットが行われる。次にステッ
プST2では、積和演算が1マシンサイクルにて実行さ
れる。次にステップST3では、リピートカウンタのカ
ウント値が「0」であるか否かの判断処理、即ち、前記
初期設定によりセットされたM回のリピート演算が完了
したか否かの判断処理が実行される。
この場合、演算回路9から出力する積和演算の演算結果
をZとすると、このZは次式(1)により表される。
をZとすると、このZは次式(1)により表される。
但し、入力データ系列
X、 Y、 X = (x + 、 ・・・、xn )
。
。
Y=(y+、・・・、y、) とする。
またデータメモリ4からの2個のデータの読出し、乗算
、及び乗算結果の累算はパイプライン処理されるため、
ループ回数Mが充分大きい場合には、所要演算量は1出
力データ当りMマシンサイクルとなる。しかしてこれは
、データサイズがnビットの場合も同一である。
、及び乗算結果の累算はパイプライン処理されるため、
ループ回数Mが充分大きい場合には、所要演算量は1出
力データ当りMマシンサイクルとなる。しかしてこれは
、データサイズがnビットの場合も同一である。
(2)複素数演算
第12図には複素数演算の演算フローを示す。
即ち、ステップ5T11では前記ステップSTI同様の
初期設定を行い、ステップ5T12.5T13では夫々
、実数部計算、虚数部計算を夫々2マシンサイクルにて
実行する。次にステップ5T14ではループカウンタの
カウント値が「0」か否か、即ち、初期設定したM回の
演算が完了したか否かを判断する。
初期設定を行い、ステップ5T12.5T13では夫々
、実数部計算、虚数部計算を夫々2マシンサイクルにて
実行する。次にステップ5T14ではループカウンタの
カウント値が「0」か否か、即ち、初期設定したM回の
演算が完了したか否かを判断する。
この場合、入力データx、yを、X = a + +j
at 、 y=b+ +j bxとするとき、複素
数回すの乗算は、 XXY== (a+ xi)、−as Xb* )+j
(a+ xbz +az Xbl) ・ (2)となる
つしたがって実数部及び虚数部の計算をステップ5T1
2,5T13の2段階に分けて実行する。その結果、所
要演算量は、1出力データ当り5マシンサイクルとなる
。
at 、 y=b+ +j bxとするとき、複素
数回すの乗算は、 XXY== (a+ xi)、−as Xb* )+j
(a+ xbz +az Xbl) ・ (2)となる
つしたがって実数部及び虚数部の計算をステップ5T1
2,5T13の2段階に分けて実行する。その結果、所
要演算量は、1出力データ当り5マシンサイクルとなる
。
(3)2進木探索ベクトル量子化演算
第13図にはこの2進木探索ベクトル量子化演算の演算
フローを示す。この2進木探索は、ある段の探索におい
て、入力ベクトルXと2個の出力ベクトルVo、y+
とでマツチング演算を行い、そのマツチング歪が小とな
る出力ベクトルを検出してそのベクトルの下段にある2
個の出力ベクトルに対し、また同様の処理を繰返すもの
である。
フローを示す。この2進木探索は、ある段の探索におい
て、入力ベクトルXと2個の出力ベクトルVo、y+
とでマツチング演算を行い、そのマツチング歪が小とな
る出力ベクトルを検出してそのベクトルの下段にある2
個の出力ベクトルに対し、また同様の処理を繰返すもの
である。
前記マツチング演算としてはベクトル内積が用いられる
。そこでベクトルの要素数をkとすると、マツチング歪
量は次のように定義される。
。そこでベクトルの要素数をkとすると、マツチング歪
量は次のように定義される。
但し・ x=(x++ ・・・、XII)。
ya=(3’o+、 ・・・、yoJ。
3’+=(y++、 ・・・、y+Jしたがってステ
ップ5T22.5T23にてdo、d+を計算し、ステ
ップ5T24では求めたdo、cl+の大小関係の比較
を行い、次段処理へ移行する。したがって1段当りの所
要演算量は、(2に+5)マシンサイクルとなる。
ップ5T22.5T23にてdo、d+を計算し、ステ
ップ5T24では求めたdo、cl+の大小関係の比較
を行い、次段処理へ移行する。したがって1段当りの所
要演算量は、(2に+5)マシンサイクルとなる。
〔発明が解決しようとする課題〕
従来のディジタル信号処理装置は以上のように構成され
ているので、求めるデータ精度がデータサイズ最大値の
1/2で充分なケースにおいても、上述した各種の所要
演算量は、データサイズ最大値に対するデータ精度の場
合と同一であり、ディジタル信号処理装置の演算能力を
充分に活用できないという問題点があった。
ているので、求めるデータ精度がデータサイズ最大値の
1/2で充分なケースにおいても、上述した各種の所要
演算量は、データサイズ最大値に対するデータ精度の場
合と同一であり、ディジタル信号処理装置の演算能力を
充分に活用できないという問題点があった。
この発明は上記のような問題点を解消するためになされ
たもので、データ精度がデータサイズ最大値の1/2以
下で充分なケースではその所要演算量も1/2以下に抑
えることができ、これにより演算能力がアップしてより
高速な演算が実行可能なディジタル信号処理装置を得る
ことを目的とする。
たもので、データ精度がデータサイズ最大値の1/2以
下で充分なケースではその所要演算量も1/2以下に抑
えることができ、これにより演算能力がアップしてより
高速な演算が実行可能なディジタル信号処理装置を得る
ことを目的とする。
[課題を解決するための手段J
この発明に係るディジタル信号処理装置は、必要とする
データ精度がデータサイズ最大値の1/2以下の低い場
合には、その乗算回路によって、入力データが先ず並列
に乗算され、次にその結果データがシフト処理されて算
術演算が実行されるように該乗算回路を構成することに
より、演算速度を高速化可能としたものである。
データ精度がデータサイズ最大値の1/2以下の低い場
合には、その乗算回路によって、入力データが先ず並列
に乗算され、次にその結果データがシフト処理されて算
術演算が実行されるように該乗算回路を構成することに
より、演算速度を高速化可能としたものである。
この発明におけるディジタル信号処理装置の乗算回路は
、入力データの上位ビット側、下位ビット側の各半分づ
つのデータを各々独立したデータとみなして夫々の乗算
を4系列並列に実行し、またその各結果データにつきシ
フト処理または0セツト処理を行い、次にその結果デー
タにつき加算または減算処理を実行して、複数系列の演
算を同一ハードウェアで、倍速以上の速度で実行する。
、入力データの上位ビット側、下位ビット側の各半分づ
つのデータを各々独立したデータとみなして夫々の乗算
を4系列並列に実行し、またその各結果データにつきシ
フト処理または0セツト処理を行い、次にその結果デー
タにつき加算または減算処理を実行して、複数系列の演
算を同一ハードウェアで、倍速以上の速度で実行する。
〔実施例]
以下、この発明の一実施例を図について説明する。第1
図はこの発明の前記実施例における乗算回路8の具体的
構成を示すが、この発明におけるDSPの回路構成は、
第10図につき説明した従来装置のものと基本的には同
一であり、しかして乗算回路8の構成が主として相異す
るものである。
図はこの発明の前記実施例における乗算回路8の具体的
構成を示すが、この発明におけるDSPの回路構成は、
第10図につき説明した従来装置のものと基本的には同
一であり、しかして乗算回路8の構成が主として相異す
るものである。
第1図において、20はデータメモリ4から同時に読出
された2個のデータx、YのうちデータXを入力する2
nビットサイズの第1のレジスタとしてのレジスタA、
21はデータYを入力す蚤2nビットサイズの第2のレ
ジスタとしてのレジスタB、22.23は夫々、レジス
タAにセットされたデータXの上位nビット(以下、デ
ータA1と呼ぶ)、下位nビット(以下、データAOと
呼ぶ)、24.25は夫々、レジスタBにセットされた
データYの上位nビット(以下、データB1と呼ぶ)、
下位nビット(以下、データBOと呼ぶ)、26,27
,28.29は夫々データAlとB1、データAOとB
1、データA1とBO,データAOとBOとの乗算を並
列して実行する第1の乗算器(以下、MPYlと呼ぶ)
、第2の乗算器(以下、MPY2と呼ぶ)、第3の乗算
器(以下、MPY3と呼ぶ)、第4の乗算器(以下、M
PY4と呼ぶ)、30,31,32゜33は夫々、前記
MPYI、MPY2.MPY3、MPY4の出力に対し
、前記プログラムメモリ1内のマイクロプログラムにし
たがってシフト処理またはOセットを行う第1のシフタ
(以下、シフタ1と呼ぶ)、第2のシフタ(以下、シフ
タ2と呼ぶ)、第3のシフタ(以下、シフタ3と呼ぶ)
、第4のシフタ(以下、シフタ4と呼ぶ)。
された2個のデータx、YのうちデータXを入力する2
nビットサイズの第1のレジスタとしてのレジスタA、
21はデータYを入力す蚤2nビットサイズの第2のレ
ジスタとしてのレジスタB、22.23は夫々、レジス
タAにセットされたデータXの上位nビット(以下、デ
ータA1と呼ぶ)、下位nビット(以下、データAOと
呼ぶ)、24.25は夫々、レジスタBにセットされた
データYの上位nビット(以下、データB1と呼ぶ)、
下位nビット(以下、データBOと呼ぶ)、26,27
,28.29は夫々データAlとB1、データAOとB
1、データA1とBO,データAOとBOとの乗算を並
列して実行する第1の乗算器(以下、MPYlと呼ぶ)
、第2の乗算器(以下、MPY2と呼ぶ)、第3の乗算
器(以下、MPY3と呼ぶ)、第4の乗算器(以下、M
PY4と呼ぶ)、30,31,32゜33は夫々、前記
MPYI、MPY2.MPY3、MPY4の出力に対し
、前記プログラムメモリ1内のマイクロプログラムにし
たがってシフト処理またはOセットを行う第1のシフタ
(以下、シフタ1と呼ぶ)、第2のシフタ(以下、シフ
タ2と呼ぶ)、第3のシフタ(以下、シフタ3と呼ぶ)
、第4のシフタ(以下、シフタ4と呼ぶ)。
34.35,36.37は夫々、第1〜第4のシフタ3
0〜33の各出力データ、38.39は夫々、シフタ1
、シフタ4の出力またはシフタ2、シフタ3の出力を入
力して前記マイクロプログラムにしたがい加算または減
算処理を実行する第1の算術演算器(以下、AUIと呼
ぶ)、第2の算術演算器(以下、Aυ2と呼ぶ)、40
は前記AUl、AU2の出力を入力して前記マイクロプ
ログラムにしたがって加算または減算処理を実行し、4
nビットの最終演算結果データを出力し、演算回路9に
供給する第3の算術演算器である。
0〜33の各出力データ、38.39は夫々、シフタ1
、シフタ4の出力またはシフタ2、シフタ3の出力を入
力して前記マイクロプログラムにしたがい加算または減
算処理を実行する第1の算術演算器(以下、AUIと呼
ぶ)、第2の算術演算器(以下、Aυ2と呼ぶ)、40
は前記AUl、AU2の出力を入力して前記マイクロプ
ログラムにしたがって加算または減算処理を実行し、4
nビットの最終演算結果データを出力し、演算回路9に
供給する第3の算術演算器である。
次に動作について説明する。データメモリ4におけるデ
ータ入出力、第1図につき詳述した構成の乗算回路8及
び演算回路9における各演算処理は、制御回路2がプロ
グラムメモリl内のマイクロプログラムを読出し、その
インストラクションをデコードとして出力する制御信号
に基づくパイプライン処理に応じて実行される。本で、
データサイズは最大20ビットとし、求められたnビッ
トデータを以下では単精度データ、2nビットデータを
倍精度データと呼ぶことにする。そして前記マイクロプ
ログラムに基づ(乗算系命令には、2nビットデーク同
七の乗算を行う倍精度乗算(2nビットX2nビット)
、nビットデータ同士の乗算を行う単精度乗算(nビッ
ト×nビット)、単精度乗算積和、単精度複素数乗算、
及び2進水ベクトル量子化乗算の各命令が含まれている
ものとする。
ータ入出力、第1図につき詳述した構成の乗算回路8及
び演算回路9における各演算処理は、制御回路2がプロ
グラムメモリl内のマイクロプログラムを読出し、その
インストラクションをデコードとして出力する制御信号
に基づくパイプライン処理に応じて実行される。本で、
データサイズは最大20ビットとし、求められたnビッ
トデータを以下では単精度データ、2nビットデータを
倍精度データと呼ぶことにする。そして前記マイクロプ
ログラムに基づ(乗算系命令には、2nビットデーク同
七の乗算を行う倍精度乗算(2nビットX2nビット)
、nビットデータ同士の乗算を行う単精度乗算(nビッ
ト×nビット)、単精度乗算積和、単精度複素数乗算、
及び2進水ベクトル量子化乗算の各命令が含まれている
ものとする。
しかしてその場合に、第1図に示す乗算回路8において
は、前記命令の種類に応じた前記制御信号に基づき各部
が次のように動作する。即ち、データメモリ4から同時
に読出された2個のデータは夫々セレクタ6.7を介し
て乗算回路8に供給され、データXはレジスタAにセッ
トされると共にデータYはレジスタBにセットされる。
は、前記命令の種類に応じた前記制御信号に基づき各部
が次のように動作する。即ち、データメモリ4から同時
に読出された2個のデータは夫々セレクタ6.7を介し
て乗算回路8に供給され、データXはレジスタAにセッ
トされると共にデータYはレジスタBにセットされる。
尚、データX、Yは共に、最大20ビットサイズのデー
タである。
タである。
レジスタAにセットされたデータXの上位nビットのデ
ータA1.下位nビットのデータAOは夫々、MPYI
、MPY3またはMPY2.MPY4に供給され、また
、レジスタBにセットされたデータYの上位nビットの
データB1.下位nビットのデータBOは夫々、MPY
I、MPY2またはMPY3.MPY4に供給される。
ータA1.下位nビットのデータAOは夫々、MPYI
、MPY3またはMPY2.MPY4に供給され、また
、レジスタBにセットされたデータYの上位nビットの
データB1.下位nビットのデータBOは夫々、MPY
I、MPY2またはMPY3.MPY4に供給される。
したがってMPYlはデータA1とB1、MPY2はデ
ータAOとB1、MPY3はデータA1とBO。
ータAOとB1、MPY3はデータA1とBO。
MPY4はデータAOとBOの乗算を並列して実行し、
夫々、20ビットサイズの結果データをシフタ1、シフ
タ2、シフタ3、シフタ4に供給する。しかして各シフ
タ1〜シフタ4は入力した結果データにつき、そのとき
の命令の種類に応じてシフト処理またはOセット処理を
夫々実行する。
夫々、20ビットサイズの結果データをシフタ1、シフ
タ2、シフタ3、シフタ4に供給する。しかして各シフ
タ1〜シフタ4は入力した結果データにつき、そのとき
の命令の種類に応じてシフト処理またはOセット処理を
夫々実行する。
しかして各シフタl−シフタ4からの出力データ34〜
37は夫々、40ビットサイズのデータであり、AUI
、Al1に入力する。
37は夫々、40ビットサイズのデータであり、AUI
、Al1に入力する。
AUIはシフタ1、シフタ4からのデータに対し加算ま
たは減算を行い、その結果データをAl1に与え、また
Al1はシフタ2、シフタ3からのデータに対し加算ま
たは減算を行い、その結果データをAl1に与える。A
l1はAUI、Al1からの各データに対し更に加算ま
たは減算を行い、その結果データを4nビットの最終演
算結果データとして演算回路9に送る。
たは減算を行い、その結果データをAl1に与え、また
Al1はシフタ2、シフタ3からのデータに対し加算ま
たは減算を行い、その結果データをAl1に与える。A
l1はAUI、Al1からの各データに対し更に加算ま
たは減算を行い、その結果データを4nビットの最終演
算結果データとして演算回路9に送る。
次に、各種演算時の所要演算量につき説明する。
(11倍精度乗算
第2図(a)には、この場合のシフタ1〜4、AU1〜
3の動作内容を表わす状態図を示す。即ち、シフタ4の
おいてはシフト値O、シフタ3、シフタ2おいてはnビ
ット左シフト、シフタ1においては2nビット左シフト
処理を夫々行い、またAl1においては加算、Allい
おいては加算・、Al1においては加算の各処理を行う
ことにより、倍精度乗算が実行される。このとき、所要
演算量は1データ当り1マシンサイクルとなり、しかし
てこれは従来装置の場合と同様である。
3の動作内容を表わす状態図を示す。即ち、シフタ4の
おいてはシフト値O、シフタ3、シフタ2おいてはnビ
ット左シフト、シフタ1においては2nビット左シフト
処理を夫々行い、またAl1においては加算、Allい
おいては加算・、Al1においては加算の各処理を行う
ことにより、倍精度乗算が実行される。このとき、所要
演算量は1データ当り1マシンサイクルとなり、しかし
てこれは従来装置の場合と同様である。
(2)単精度並列乗算
第2図(b)にはこの場合のシフタl〜4、AU1〜3
の動作内容を示す。この場合、単精度データとしては事
前に、2個のデータが2nピツドデータサイズをもつデ
ータメモリ4上に、第9図に示すような多重化により格
納されているものとする。しかして2個の入力データの
上位nビット同士の乗算結果AIXBI、下位nビット
同士の乗算結果A、0XBOを夫々、MPYl、MPY
4にて求め、次いでシフタ4においてシフト値O、シフ
タ3及びシフタ2においてOセット、シフタ1において
20ビットシフトを夫々実行し、次にAUI、Al1.
Al1にてすべて加算処理することにより、出力結果の
4nビットデータ中、上位2nビット及び下位2nビッ
トに、単精度乗算結果を多重化した形式で得ることがで
きる。この場合、その所要演算量は1データ当り、0.
5マシンサイクルとなり、従来の2倍の速度となる。
の動作内容を示す。この場合、単精度データとしては事
前に、2個のデータが2nピツドデータサイズをもつデ
ータメモリ4上に、第9図に示すような多重化により格
納されているものとする。しかして2個の入力データの
上位nビット同士の乗算結果AIXBI、下位nビット
同士の乗算結果A、0XBOを夫々、MPYl、MPY
4にて求め、次いでシフタ4においてシフト値O、シフ
タ3及びシフタ2においてOセット、シフタ1において
20ビットシフトを夫々実行し、次にAUI、Al1.
Al1にてすべて加算処理することにより、出力結果の
4nビットデータ中、上位2nビット及び下位2nビッ
トに、単精度乗算結果を多重化した形式で得ることがで
きる。この場合、その所要演算量は1データ当り、0.
5マシンサイクルとなり、従来の2倍の速度となる。
(3)単精度並列積和演算
第3図にはその動作内容を示し、また第4図にはその演
算フローを示す。しかしてこの場合も、単精度データは
第9図に示すように多重化されているものとする。そし
てステップST31の初期設定処理後、ステップ5T3
2の並列積和演算処理では、シフタ4では2個の入力デ
ータの下位nビット同文の乗算結果AOXBOに対しシ
フト値O、シフタ3、シフタ2では0セツト、シフタ1
では上位nビット同士の乗算結果AIXBIに対し、シ
フト値Oの各シフト処理、0セツト処理が実行され、ま
たAUlでは(AOXBO)+ (AIXBI)の加算
、Al1では0+0の加算、更にAl1では、(AOX
BO>+ (AIXBI)+0の加算が実行され、単精
度乗算結果データ2個分の累算値を得る。そしてこの累
算値を後段の演算回路9にて、ステップ5T33の処理
によりM/2回繰返し累算するとMデータ分の積和が実
行される。しかしてこの場合の所要演算量は1出カデー
タ当り0.5マシンサイクルとなり、従来の2倍の演算
速度となる。
算フローを示す。しかしてこの場合も、単精度データは
第9図に示すように多重化されているものとする。そし
てステップST31の初期設定処理後、ステップ5T3
2の並列積和演算処理では、シフタ4では2個の入力デ
ータの下位nビット同文の乗算結果AOXBOに対しシ
フト値O、シフタ3、シフタ2では0セツト、シフタ1
では上位nビット同士の乗算結果AIXBIに対し、シ
フト値Oの各シフト処理、0セツト処理が実行され、ま
たAUlでは(AOXBO)+ (AIXBI)の加算
、Al1では0+0の加算、更にAl1では、(AOX
BO>+ (AIXBI)+0の加算が実行され、単精
度乗算結果データ2個分の累算値を得る。そしてこの累
算値を後段の演算回路9にて、ステップ5T33の処理
によりM/2回繰返し累算するとMデータ分の積和が実
行される。しかしてこの場合の所要演算量は1出カデー
タ当り0.5マシンサイクルとなり、従来の2倍の演算
速度となる。
(4)単精度複素数演算
第5図にはその動作内容を示し、第6図にはその演算フ
ローを示す。この場合、実数部を上位nビットに、虚数
部を下位nビットに多重化してデータメモリ4にデータ
が格納されていることを前提どする。しかしてステップ
ST41の初期設定処理後、ステップST42の複素数
演算処理では、第5図に示すように、シフタ4では乗算
結果AOXBOに対し2nビット左シフト、シフタ3で
はAIXBOにシフト値O、シフタ2ではAOXBIに
シフト値O、シフタ1ではAIXBIに2nビット左シ
フトの各シフト処理を行い、次にAUIでは(AI X
B 1−AOXBO)の減算、Al1では(AIXBO
+AOXB1)の加算、Al3では(AIXBI−AO
XBO)+ (AlxBO+AOXB1)の加算を夫々
行い、上位20ビットに複素数乗算結果の実数部、下位
20ビットに虚数部を多重化した形式で結果データを得
る。このとき、その所要演算量は、1デーク当り、1マ
シンサイクルとなり、従来の5倍の速度となる。
ローを示す。この場合、実数部を上位nビットに、虚数
部を下位nビットに多重化してデータメモリ4にデータ
が格納されていることを前提どする。しかしてステップ
ST41の初期設定処理後、ステップST42の複素数
演算処理では、第5図に示すように、シフタ4では乗算
結果AOXBOに対し2nビット左シフト、シフタ3で
はAIXBOにシフト値O、シフタ2ではAOXBIに
シフト値O、シフタ1ではAIXBIに2nビット左シ
フトの各シフト処理を行い、次にAUIでは(AI X
B 1−AOXBO)の減算、Al1では(AIXBO
+AOXB1)の加算、Al3では(AIXBI−AO
XBO)+ (AlxBO+AOXB1)の加算を夫々
行い、上位20ビットに複素数乗算結果の実数部、下位
20ビットに虚数部を多重化した形式で結果データを得
る。このとき、その所要演算量は、1デーク当り、1マ
シンサイクルとなり、従来の5倍の速度となる。
(5)2進本探索ベクトル量子化演算
第7図にはその動作内容を示し、また第5図にはその演
算フローを示す。この場合、2個の入力データのうち一
方のデータは2進本探索対象ベクトルの要素毎に多重化
したフォーマットによりデータメモリ4に格納されてい
るものと仮定する。
算フローを示す。この場合、2個の入力データのうち一
方のデータは2進本探索対象ベクトルの要素毎に多重化
したフォーマットによりデータメモリ4に格納されてい
るものと仮定する。
一方の入力データAの上位nビ・ソトにベクトルy0の
要素、下位nビットにベクトルy、の要素、他方の入力
データBの下位nビットにベクトルXの要素を入れるよ
うにし、しかしてステ・ツブ5T52においては、シフ
タ4では乗算結果AOxBOにシフト値O、シフタ3で
は乗算結果AIXBOにシフト値O,シフタ2、シフタ
lではOセットとし、またAUIではシフタ3出力から
シフタ4出力の減算、Al1ではシフタ3出力とシフタ
2出力の加算、Al3では更にAUI出力をAU2出力
の加算を行う。その結果、乗算回路8の結果データとし
て、(3’ o+X X + ) (3’ zXX
+)を得る。そしてこの結果データにつき、次段の演算
回路9において累算し、それを要素数個分のに回繰返し
実行することで、次式の結果データを得る。
要素、下位nビットにベクトルy、の要素、他方の入力
データBの下位nビットにベクトルXの要素を入れるよ
うにし、しかしてステ・ツブ5T52においては、シフ
タ4では乗算結果AOxBOにシフト値O、シフタ3で
は乗算結果AIXBOにシフト値O,シフタ2、シフタ
lではOセットとし、またAUIではシフタ3出力から
シフタ4出力の減算、Al1ではシフタ3出力とシフタ
2出力の加算、Al3では更にAUI出力をAU2出力
の加算を行う。その結果、乗算回路8の結果データとし
て、(3’ o+X X + ) (3’ zXX
+)を得る。そしてこの結果データにつき、次段の演算
回路9において累算し、それを要素数個分のに回繰返し
実行することで、次式の結果データを得る。
” do −d + ・・・
(5)但し、do :参照ベクトルy0と人力ベクトル
Xとの内積 d+:参照ベクトルy、と入力ベクトルXとの内積 そしてステップ5T53において、前記累算値(do−
d+)の正負の判定を行うことによりマツチング判定を
行う。しかしてこのときの1段当りの所要演算量は(k
+4)マシンサイクルとなり、従来に比して約2倍の速
度となる。
(5)但し、do :参照ベクトルy0と人力ベクトル
Xとの内積 d+:参照ベクトルy、と入力ベクトルXとの内積 そしてステップ5T53において、前記累算値(do−
d+)の正負の判定を行うことによりマツチング判定を
行う。しかしてこのときの1段当りの所要演算量は(k
+4)マシンサイクルとなり、従来に比して約2倍の速
度となる。
尚、上記実施例では、算術演算器としてAUI〜AU3
を用いたが、このうちAl1とAl3は単なる加算器で
あってもよい。
を用いたが、このうちAl1とAl3は単なる加算器で
あってもよい。
以上のように、この発明によれば、ディジタル信号処理
装置の乗算回路を、入力する2個のデータの上位及び下
位同士、また上位と下位の組合せによる乗算を4個の乗
算器により4系列並列的に実行し、またその各結果デー
タを4個のシフタによりシフト処理またはOセット処理
し、更にその結果データにつき算術演算器により加算ま
たは減算処理を行うように構成したので、倍精度乗算、
単精度並列乗算、単精度並列積和演算、単精度複素数演
算、2進本探索ベクトル量子化演算等の演算命令の種類
に応じて前記シフタ及び算術演算器を制御することによ
り、DSPの最大可能精度の1/2以下の精度のデータ
に対し、乗算、積和、複素数演算を従来より大幅に高速
に実行できる効果がある。
装置の乗算回路を、入力する2個のデータの上位及び下
位同士、また上位と下位の組合せによる乗算を4個の乗
算器により4系列並列的に実行し、またその各結果デー
タを4個のシフタによりシフト処理またはOセット処理
し、更にその結果データにつき算術演算器により加算ま
たは減算処理を行うように構成したので、倍精度乗算、
単精度並列乗算、単精度並列積和演算、単精度複素数演
算、2進本探索ベクトル量子化演算等の演算命令の種類
に応じて前記シフタ及び算術演算器を制御することによ
り、DSPの最大可能精度の1/2以下の精度のデータ
に対し、乗算、積和、複素数演算を従来より大幅に高速
に実行できる効果がある。
第1図はこの発明の一実施例によるディジタル信号処理
装置の乗算回路8の詳細回路図、第2図(a)、(b)
は夫々、倍精度乗算、単精度並列乗算の動作内容を示す
シフタl−4等の状態図、第3図はnビットデータ並列
積和演算の動作内容を示すシフタ1〜4等の状態図、第
4図はその演算フローを示すフローチャート、第5図は
単精度複素数演算の動作内容を示すシフタ1〜4等の状
悪因、第6図はその演算フローを示すフローチャート、
第7図は2進木探索ベクトル量子化演算の動作内容を示
すシフタ1〜4等の状態図、第8図はその演算フローを
示すフローチャート、第9図はデータメモリ4における
データ多重化フォーマットの説明図、第10図は従来の
ディジタル信号処理装置のDSSPチップの回路構成図
、第11図は従来の積和演算フローのフローチャート、
第12図は従来の複素数乗算フローのフローチャート、
第13図は従来の2進本探索ベクトル量子化フローのフ
ローチャートである。 1はプログラムメモリ、2は制御回路、4はデータメモ
リ、5はアドレス生成部、8は乗算回路、9は演算回路
、10はデータバス、20.21は第1または第2のレ
ジスタ、26〜29は第1ないし第4の乗算器、30〜
33は第1ないし第4のシフタ、38〜40は第1ない
し第3の算術演算器である。 なお、図中、同一符号は同一、または相当部分を示す。 0.5y″/ン°す°イクル 第5図 シフタ4あり シフタ3a!lカ シフタ2巳方 シフタ1 出力 [「口互][j正面E[===12neットシフト[=
ニニニ■二?((Eコj!]] シフ)0[=[
ヲベ巨70弓]】] シフ)0[ヲベΣヲニロΣ
下丁[==] 2n ビットシフトE日=ヨ日ヨ 第 図 41け;1段当り に◆4マンン寸イクル 第 10図 10:テ′−ゲハ゛ス 第 図 第 図 、会計二Mマシン寸イクノシ 第 図 、合計=5XMマシンすイクル 第 図
装置の乗算回路8の詳細回路図、第2図(a)、(b)
は夫々、倍精度乗算、単精度並列乗算の動作内容を示す
シフタl−4等の状態図、第3図はnビットデータ並列
積和演算の動作内容を示すシフタ1〜4等の状態図、第
4図はその演算フローを示すフローチャート、第5図は
単精度複素数演算の動作内容を示すシフタ1〜4等の状
悪因、第6図はその演算フローを示すフローチャート、
第7図は2進木探索ベクトル量子化演算の動作内容を示
すシフタ1〜4等の状態図、第8図はその演算フローを
示すフローチャート、第9図はデータメモリ4における
データ多重化フォーマットの説明図、第10図は従来の
ディジタル信号処理装置のDSSPチップの回路構成図
、第11図は従来の積和演算フローのフローチャート、
第12図は従来の複素数乗算フローのフローチャート、
第13図は従来の2進本探索ベクトル量子化フローのフ
ローチャートである。 1はプログラムメモリ、2は制御回路、4はデータメモ
リ、5はアドレス生成部、8は乗算回路、9は演算回路
、10はデータバス、20.21は第1または第2のレ
ジスタ、26〜29は第1ないし第4の乗算器、30〜
33は第1ないし第4のシフタ、38〜40は第1ない
し第3の算術演算器である。 なお、図中、同一符号は同一、または相当部分を示す。 0.5y″/ン°す°イクル 第5図 シフタ4あり シフタ3a!lカ シフタ2巳方 シフタ1 出力 [「口互][j正面E[===12neットシフト[=
ニニニ■二?((Eコj!]] シフ)0[=[
ヲベ巨70弓]】] シフ)0[ヲベΣヲニロΣ
下丁[==] 2n ビットシフトE日=ヨ日ヨ 第 図 41け;1段当り に◆4マンン寸イクル 第 10図 10:テ′−ゲハ゛ス 第 図 第 図 、会計二Mマシン寸イクノシ 第 図 、合計=5XMマシンすイクル 第 図
Claims (1)
- 【特許請求の範囲】 マイクロプログラムを記憶するプログラムメモリ、この
プログラムメモリ内の前記マイクロプログラムのフェッ
チ、デコード、データ読出し、演算、演算結果の書込み
を並列パイプライン処理により実行せしむる制御回路、
データサイズが2nビットのデータを格納可能であると
共に同時に2個のデータの読出しが可能なデータメモリ
、このデータメモリに対するアドレスを生成するアドレ
ス生成部、前記データメモリから同時に読出された2個
のデータにつき乗算処理、加減算処理を行う乗算回路、
前記2個のデータまたは前記乗算回路の結果データにつ
き算術演算または累算の処理を行う演算回路、及び前記
2個のデータ及び前記演算回路の結果データを転送する
データバスを備えたディジタル信号処理装置において、 前記2個のデータを1づつ保持する第1のレジスタ及び
第2のレジスタと、 これら第1のレジスタ及び第2のレジスタに保持された
データの上位ビット及び下位ビット同士、上位ビットと
下位ビット同士の4個の組合せに対応して1づつ設けら
れていて各組合せの乗算を夫々が4系列並列的に実行す
る第1ないし第4の乗算器と、 前記第1ないし第4の乗算器に対応して1づつ設けられ
ていて該第1ないし第4の乗算器の各結果データにつき
前記マイクロプログラムにしたがいシフト処理または0
セット処理を4系列並列的に実行する第1ないし第4の
シフタと、 前記第1のシフタ及び第4のシフタの各出力を入力して
前記マイクロプログラムにしたがい加算または減算処理
を実行する第1の算術演算器と、前記第2のシフタ及び
第3のシフタの各出力を入力して前記マイクロプログラ
ムにしたがい加算または減算処理を実行する第2の算術
演算器と、前記第1及び第2の算術演算器の各出力を入
力して前記マイクロプログラムにしたがい加算または減
算処理を実行し、4nビットの出力データを前記演算回
路に供給する第3の算術演算器と、を備え、前記第1な
いし第4のシフタ及び前記第1ないし第3の算術演算器
を、実行する演算の種類に応じて制御するようにしたこ
とを特徴とするディジタル信号処理装置。
Priority Applications (13)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1001258A JPH02181870A (ja) | 1989-01-09 | 1989-01-09 | ディジタル信号処理装置 |
| CA000605490A CA1311063C (en) | 1988-12-16 | 1989-07-12 | Digital signal processor |
| US07/379,274 US5161247A (en) | 1988-12-16 | 1989-07-13 | Digital signal processor matching data blocks against a reference block and replacing the reference block when a new minimum distortion block is calculated |
| EP95106303A EP0666532A1 (en) | 1988-12-16 | 1989-07-15 | Digital signal processor |
| EP95106305A EP0666533A1 (en) | 1988-12-16 | 1989-07-15 | Digital signal processor |
| EP89113000A EP0373291B1 (en) | 1988-12-16 | 1989-07-15 | Digital signal processor |
| DE68927798T DE68927798T2 (de) | 1988-12-16 | 1989-07-15 | Prozessor für ein numerisches Signal |
| EP95106304A EP0669599A1 (en) | 1988-12-16 | 1989-07-15 | Digital signal processor |
| KR1019890017852A KR920010933B1 (ko) | 1988-12-16 | 1989-12-04 | 디지탈신호 처리장치 및 움직임 보상연산방법 |
| US07/907,233 US5442799A (en) | 1988-12-16 | 1992-07-01 | Digital signal processor with high speed multiplier means for double data input |
| US08/103,175 US5421023A (en) | 1988-12-16 | 1993-08-06 | Motion vector calculation method using sequential minimum distortion calculations at different densities |
| US08/128,257 US5504916A (en) | 1988-12-16 | 1993-09-28 | Digital signal processor with direct data transfer from external memory |
| US08/140,989 US5388236A (en) | 1988-12-16 | 1993-10-25 | Digital signal processor with multiway branching based on parallel evaluation of N threshold values followed by sequential evaluation of M |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1001258A JPH02181870A (ja) | 1989-01-09 | 1989-01-09 | ディジタル信号処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02181870A true JPH02181870A (ja) | 1990-07-16 |
Family
ID=11496434
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1001258A Pending JPH02181870A (ja) | 1988-12-16 | 1989-01-09 | ディジタル信号処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02181870A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009048532A (ja) * | 2007-08-22 | 2009-03-05 | Nec Electronics Corp | マイクロプロセッサ |
| CN104122409A (zh) * | 2013-04-24 | 2014-10-29 | 精工爱普生株式会社 | 物理量检测电路、物理量检测装置、电子设备以及移动体 |
-
1989
- 1989-01-09 JP JP1001258A patent/JPH02181870A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009048532A (ja) * | 2007-08-22 | 2009-03-05 | Nec Electronics Corp | マイクロプロセッサ |
| CN104122409A (zh) * | 2013-04-24 | 2014-10-29 | 精工爱普生株式会社 | 物理量检测电路、物理量检测装置、电子设备以及移动体 |
| JP2014215096A (ja) * | 2013-04-24 | 2014-11-17 | セイコーエプソン株式会社 | 物理量検出回路、物理量検出装置、電子機器及び移動体 |
| US10302671B2 (en) | 2013-04-24 | 2019-05-28 | Seiko Epson Corporation | Physical quantity detection circuit, physical quantity detection device, electronic apparatus and moving object |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5991785A (en) | Determining an extremum value and its index in an array using a dual-accumulation processor | |
| CN107797962B (zh) | 基于神经网络的计算阵列 | |
| US4525796A (en) | Pipelined operation unit for vector data | |
| JP3605181B2 (ja) | 掛け算累算命令を使用したデータ処理 | |
| US4490807A (en) | Arithmetic device for concurrently summing two series of products from two sets of operands | |
| GB2474901A (en) | Multiply-accumulate instruction which adds or subtracts based on a predicate value | |
| CN110914800B (zh) | 基于寄存器的复数处理 | |
| KR101202445B1 (ko) | 프로세서 | |
| JP4482052B2 (ja) | 演算装置および演算方法 | |
| CN113626759A (zh) | 使用低位宽点积引擎对高位宽数求和 | |
| JPH02181870A (ja) | ディジタル信号処理装置 | |
| Belyaev et al. | A high-perfomance multi-format simd multiplier for digital signal processors | |
| CN118170344A (zh) | 一种处理器多功能定点除法计算装置及方法 | |
| CN111610955B (zh) | 一种数据饱和加打包处理部件、芯片及设备 | |
| CN107315710A (zh) | 全精度及部分精度数值的计算方法及装置 | |
| EP1936492A1 (en) | SIMD processor with reduction unit | |
| JPH02304676A (ja) | ディジタル信号処理装置 | |
| Gustafsson et al. | Basic arithmetic circuits | |
| WO2008077803A1 (en) | Simd processor with reduction unit | |
| JPH06301710A (ja) | 倍精度積和演算方法および装置 | |
| JPS5938849A (ja) | 演算回路 | |
| JPH0445860B2 (ja) | ||
| CN120858342A (zh) | 流水线乘法器 | |
| JP2654062B2 (ja) | 情報処理装置 | |
| JPS6162174A (ja) | 情報婦理装置 |