JPH1040073A - ディジタル信号処理装置 - Google Patents
ディジタル信号処理装置Info
- Publication number
- JPH1040073A JPH1040073A JP8194263A JP19426396A JPH1040073A JP H1040073 A JPH1040073 A JP H1040073A JP 8194263 A JP8194263 A JP 8194263A JP 19426396 A JP19426396 A JP 19426396A JP H1040073 A JPH1040073 A JP H1040073A
- Authority
- JP
- Japan
- Prior art keywords
- shift amount
- value
- input
- setting register
- right shift
- 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
Abstract
(57)【要約】
【課題】 ブロック・フローティング方式の正規化を行
うDSPにおける正規化の高速化を図る。 【解決手段】 演算結果のダイナミックレンジを正規化
を施す前のダイナミックレンジに補正するための右バレ
ルシフタ1を演算部9の出力側に設ける。前記右バレル
シフタ1により演算結果のダイナミックレンジを正規化
を施す前のダイナミックレンジへの補正した演算結果を
メモリへストアする処理と並行して、前記演算結果を正
規化シフト量検出回路3に転送し、次の正規化シフト量
を検出させることで処理量を削減する。
うDSPにおける正規化の高速化を図る。 【解決手段】 演算結果のダイナミックレンジを正規化
を施す前のダイナミックレンジに補正するための右バレ
ルシフタ1を演算部9の出力側に設ける。前記右バレル
シフタ1により演算結果のダイナミックレンジを正規化
を施す前のダイナミックレンジへの補正した演算結果を
メモリへストアする処理と並行して、前記演算結果を正
規化シフト量検出回路3に転送し、次の正規化シフト量
を検出させることで処理量を削減する。
Description
【0001】
【発明の属する技術分野】本発明はブロック・フローデ
ィング方式の正規化を行なう固定小数点型のディジタル
・シグナル・プロセッサに関するものである。
ィング方式の正規化を行なう固定小数点型のディジタル
・シグナル・プロセッサに関するものである。
【0002】固定小数点型ディジタル・シグナル・プロ
セッサ(以下DSPと略する)を用いてダイナミックレン
ジの広い信号を処理する場合もしくはダイナミックレン
ジの狭い信号を処理する場合に疑似浮動小数点型に変換
して演算を行なうことが多い。この場合、処理する信号
がベクトル量になっている場合には処理量を抑えるため
に同一のベクトルの成分の個々に対して指数を設け正規
化を行なうのではなく、全ての成分に対して最適な共通
の指数部を設け一括して信号を正規化することが多い。
セッサ(以下DSPと略する)を用いてダイナミックレン
ジの広い信号を処理する場合もしくはダイナミックレン
ジの狭い信号を処理する場合に疑似浮動小数点型に変換
して演算を行なうことが多い。この場合、処理する信号
がベクトル量になっている場合には処理量を抑えるため
に同一のベクトルの成分の個々に対して指数を設け正規
化を行なうのではなく、全ての成分に対して最適な共通
の指数部を設け一括して信号を正規化することが多い。
【0003】
【従来の技術】図11に上記のようなブロック・フロー
ティングを実現するための従来のDSPのブロック図を
示す。図に示すように従来の固定小数点型DSPにおい
て、正規化後のデータのダイナミックレンジを正規化前
のダイナミックレンジに補正する場合は、ベクトルの各
成分をその成分内で絶対値が最大となる値を検出し、そ
の検出した値によりシフト量を求める正規化シフト量検
出回路21、セレクタ22、シフト量を格納するレジス
タ23、レジスタファイル24、ソースバス25(通常
複数本あるが簡略化して1本にしている)、データを格
納するメモリ26、バレルシフタ27、乗算器・ALU
等が含まれる演算部28で構成されている。
ティングを実現するための従来のDSPのブロック図を
示す。図に示すように従来の固定小数点型DSPにおい
て、正規化後のデータのダイナミックレンジを正規化前
のダイナミックレンジに補正する場合は、ベクトルの各
成分をその成分内で絶対値が最大となる値を検出し、そ
の検出した値によりシフト量を求める正規化シフト量検
出回路21、セレクタ22、シフト量を格納するレジス
タ23、レジスタファイル24、ソースバス25(通常
複数本あるが簡略化して1本にしている)、データを格
納するメモリ26、バレルシフタ27、乗算器・ALU
等が含まれる演算部28で構成されている。
【0004】また、図12に示すように正規化シフト量
検出回路21は、負の値を正の値に変換する絶対値変換
回路30の出力と現在までの最大が格納されているレジ
スタ33の値とを比較器31において比較し、絶対値が
大きい方がレジスタ33に設定される。ベクトルの次数
分だけループが終了すると最大値が格納されているレジ
スタ33の値は、デコーダ32に入力され、出力の正規
化シフト量がシフト量設定レジスタ23に設定される。
検出回路21は、負の値を正の値に変換する絶対値変換
回路30の出力と現在までの最大が格納されているレジ
スタ33の値とを比較器31において比較し、絶対値が
大きい方がレジスタ33に設定される。ベクトルの次数
分だけループが終了すると最大値が格納されているレジ
スタ33の値は、デコーダ32に入力され、出力の正規
化シフト量がシフト量設定レジスタ23に設定される。
【0005】次に図11の従来のDSPの動作について
図10のフローチャートを用いて説明する。
図10のフローチャートを用いて説明する。
【0006】ステップ11では、演算するデータをメモ
リ26からデータをロードする。ステップ12では、既
にシフト量設定レジスタ23に設定されているシフト量
の分だけバレルシフタ27で左シフトし、正規化を行な
う。
リ26からデータをロードする。ステップ12では、既
にシフト量設定レジスタ23に設定されているシフト量
の分だけバレルシフタ27で左シフトし、正規化を行な
う。
【0007】ステップ13では、演算部9で演算が行な
われる。ステップ14では、アキュムレートが終了して
いなければ、ステップ11に戻る。終了していればステ
ップ15に進む。
われる。ステップ14では、アキュムレートが終了して
いなければ、ステップ11に戻る。終了していればステ
ップ15に進む。
【0008】ステップ15では、アキュムレータが終了
した演算結果をメモリ26にストアする。
した演算結果をメモリ26にストアする。
【0009】ステップ16では、ベクトルの次数分だけ
ループが終了していなければ、ステップ11に戻る。終
了していればステップ17に進む。
ループが終了していなければ、ステップ11に戻る。終
了していればステップ17に進む。
【0010】ステップ17では、ステップ15でストア
した演算結果をメモリ26からロードする。
した演算結果をメモリ26からロードする。
【0011】ステップ18では、正規化を施す前のダイ
ナミックレンジに補正するために、ステップ12で左シ
フトした分だけ、バレルシフタ27によって右シフトす
る。
ナミックレンジに補正するために、ステップ12で左シ
フトした分だけ、バレルシフタ27によって右シフトす
る。
【0012】ステップ19では、補正した結果をメモリ
26にストアする。ステップ110では、ベクトルの次
数分だけループが終了していなければ、ステップ17に
戻る。終了していればステップ111に進む。
26にストアする。ステップ110では、ベクトルの次
数分だけループが終了していなければ、ステップ17に
戻る。終了していればステップ111に進む。
【0013】ステップ111では、ステップ19でスト
アした演算結果をメモリ26からロードする。
アした演算結果をメモリ26からロードする。
【0014】ステップ112では、ステップ19でロー
ドされてきたデータは、正規化シフト量を検出するため
に、正規化シフト量検出回路112に送られる。
ドされてきたデータは、正規化シフト量を検出するため
に、正規化シフト量検出回路112に送られる。
【0015】ステップ113では、ベクトルの次数分だ
けループが終了していなければ、ステップ111に戻
る。終了していればステップ114に進む。
けループが終了していなければ、ステップ111に戻
る。終了していればステップ114に進む。
【0016】ステップ114では、正規化シフト量検出
後のシフト量が、シフト量設定レジスタ23にストアさ
れる。
後のシフト量が、シフト量設定レジスタ23にストアさ
れる。
【0017】
【発明が解決しようとする課題】上記のような従来のブ
ロック・フローディング方式の正規化を行なうDSPに
おいて、ベクトルの次数分の正規化を行い、さらに演算
結果のダイナミックレンジを正規化を施す前のダイナミ
ックレンジへ補正を行い、次の正規化シフト量を決定す
る一連の処理量が、かなり大きいため処理速度の向上の
妨げとなっている。また、正規化シフト量検出回路にお
いても回路規模が大きいため処理速度の向上の妨げとな
っている。
ロック・フローディング方式の正規化を行なうDSPに
おいて、ベクトルの次数分の正規化を行い、さらに演算
結果のダイナミックレンジを正規化を施す前のダイナミ
ックレンジへ補正を行い、次の正規化シフト量を決定す
る一連の処理量が、かなり大きいため処理速度の向上の
妨げとなっている。また、正規化シフト量検出回路にお
いても回路規模が大きいため処理速度の向上の妨げとな
っている。
【0018】
【課題を解決するための手段】上記の課題を解決するた
めに、演算結果のダイナミックレンジを正規化を施す前
のダイナミックレンジに補正するための右バレルシフタ
を演算部の出力側に設ける。前記右バレルシフタにより
演算結果のダイナミックレンジを正規化を施す前のダイ
ナミックレンジへの補正した演算結果をメモリへストア
する処理と並行して、前記演算結果を正規化シフト量検
出回路に転送し、次の正規化シフト量を検出させること
で処理量を削減する。
めに、演算結果のダイナミックレンジを正規化を施す前
のダイナミックレンジに補正するための右バレルシフタ
を演算部の出力側に設ける。前記右バレルシフタにより
演算結果のダイナミックレンジを正規化を施す前のダイ
ナミックレンジへの補正した演算結果をメモリへストア
する処理と並行して、前記演算結果を正規化シフト量検
出回路に転送し、次の正規化シフト量を検出させること
で処理量を削減する。
【0019】これにより、ベクトルの次数分の正規化を
行い、さらに演算結果のダイナミックレンジを正規化を
施す前のダイナミックレンジへ補正を行い、次の正規化
シフト量の決定の一連の処理量を削減し、処理速度の向
上を図る。
行い、さらに演算結果のダイナミックレンジを正規化を
施す前のダイナミックレンジへ補正を行い、次の正規化
シフト量の決定の一連の処理量を削減し、処理速度の向
上を図る。
【0020】また、正規化シフト量検出回路を簡略化す
ることで、処理速度の向上を図る。
ることで、処理速度の向上を図る。
【0021】
【発明の実施の形態】以下、本発明の実施形態につい
て、図1から図9を用いて説明する。
て、図1から図9を用いて説明する。
【0022】(実施の形態1)第1の実施形態につい
て、図1から図6を参照しながら説明する。
て、図1から図6を参照しながら説明する。
【0023】本発明の第1の実施形態のDSPは、図1
に示すように、右方向にのみシフトを行う右バレルシフ
タ1、左方向のみシフトを行う左バレルシフタ2、ベク
トルの各成分をその成分内で絶対値が最大となる値を検
出し、その検出した値によりシフト量を求める正規化シ
フト量検出回路3、セレクタ4、左右のシフト量を格納
するレジスタ5、レジスタファイル6、ソースバス7
(通常複数本あるが簡略化して1本にしている)、デー
タを格納するメモリ8、乗算器、ALU等が含まれる演
算部9で構成されている。
に示すように、右方向にのみシフトを行う右バレルシフ
タ1、左方向のみシフトを行う左バレルシフタ2、ベク
トルの各成分をその成分内で絶対値が最大となる値を検
出し、その検出した値によりシフト量を求める正規化シ
フト量検出回路3、セレクタ4、左右のシフト量を格納
するレジスタ5、レジスタファイル6、ソースバス7
(通常複数本あるが簡略化して1本にしている)、デー
タを格納するメモリ8、乗算器、ALU等が含まれる演
算部9で構成されている。
【0024】また、図2は、語長が8ビットの場合の正
規化シフト量検出回路3の構成例であり、同図に示すよ
うにEX−OR(排他的論理和)10、OR(論理和)1
1、デコーダ12、レジスタ13で構成される。
規化シフト量検出回路3の構成例であり、同図に示すよ
うにEX−OR(排他的論理和)10、OR(論理和)1
1、デコーダ12、レジスタ13で構成される。
【0025】まず、正規化シフト量検出回路3の動作に
ついて、語長が8ビット、ベクトルの次数が5つの場合
で説明する。図2に示す8ビットの場合の正規化シフト
量検出回路3の入力値を図4に示す。
ついて、語長が8ビット、ベクトルの次数が5つの場合
で説明する。図2に示す8ビットの場合の正規化シフト
量検出回路3の入力値を図4に示す。
【0026】最初に、図4に示す第1のベクトル”00
011100”ついて、MSBであるa17の符号ビッ
ト”0”とその他のビットa16〜a10とそれぞれ排
他的論理和をとり、図5に示す第1の7ビットの値”0
011100”を得、さらに図6に示すレジスタ13に
格納しているレジスタの初期値”0000000”と論
理和をとり、”0011100”を得、レジスタ13に
格納する(図6の第1の値)。
011100”ついて、MSBであるa17の符号ビッ
ト”0”とその他のビットa16〜a10とそれぞれ排
他的論理和をとり、図5に示す第1の7ビットの値”0
011100”を得、さらに図6に示すレジスタ13に
格納しているレジスタの初期値”0000000”と論
理和をとり、”0011100”を得、レジスタ13に
格納する(図6の第1の値)。
【0027】次に、図4に示す第2のベクトル”111
10001”ついて、MSBであるa17の符号ビッ
ト”1”とその他のビットa16〜a10とそれぞれ排
他的論理和をとり、図5に示す第2の7ビットの値”0
001110”を得、さらに図6に示すレジスタ13に
格納している値”0011100”(図6の第1の値)
と論理和をとり、”0011110”を得、レジスタ1
3に格納する(図6の第2の値)。
10001”ついて、MSBであるa17の符号ビッ
ト”1”とその他のビットa16〜a10とそれぞれ排
他的論理和をとり、図5に示す第2の7ビットの値”0
001110”を得、さらに図6に示すレジスタ13に
格納している値”0011100”(図6の第1の値)
と論理和をとり、”0011110”を得、レジスタ1
3に格納する(図6の第2の値)。
【0028】第3、第4、第5のベクトルについても同
様の処理を行い、最終的に”0011111”(図6デ
コーダへの出力値)を得、その値はデコーダ12に送ら
れ、図3に示すデコーダ13の入力値と出力値の関係に
従い”010”すなわちシフト量2ビットを出力する。
様の処理を行い、最終的に”0011111”(図6デ
コーダへの出力値)を得、その値はデコーダ12に送ら
れ、図3に示すデコーダ13の入力値と出力値の関係に
従い”010”すなわちシフト量2ビットを出力する。
【0029】次に本実施形態の動作について図9のフロ
ーチャートを用いて説明する。ステップ1では、演算す
るデータをメモリ8からロードする。
ーチャートを用いて説明する。ステップ1では、演算す
るデータをメモリ8からロードする。
【0030】ステップ2では、既に前回のベクトル処理
時に決定された、左右シフト量設定レジスタ5に設定さ
れているシフト量の分だけ左バレルシフタ2により左シ
フトが行われ、正規化が行われる。
時に決定された、左右シフト量設定レジスタ5に設定さ
れているシフト量の分だけ左バレルシフタ2により左シ
フトが行われ、正規化が行われる。
【0031】ステップ3では、演算部9で演算が行われ
る。ステップ4では、アキュムレートが終了していなけ
れば、ステップ1に戻る。終了すればステップ5に進
む。
る。ステップ4では、アキュムレートが終了していなけ
れば、ステップ1に戻る。終了すればステップ5に進
む。
【0032】ステップ5では、アキュムレートが終了し
た演算結果を正規化を施す前のダイナミックレンジに補
正するために、ステップ2で左シフトした分だけ、右バ
レルシフタ1によって右シフトする。
た演算結果を正規化を施す前のダイナミックレンジに補
正するために、ステップ2で左シフトした分だけ、右バ
レルシフタ1によって右シフトする。
【0033】ステップ6では、ステップ5でダイナミッ
クレンジが補正された演算結果をメモリにストアし、ス
トアの処理と平行して、次のベクトル処理時の正規化シ
フト量を決定するために演算結果は、正規化シフト量検
出回路3に送られる。
クレンジが補正された演算結果をメモリにストアし、ス
トアの処理と平行して、次のベクトル処理時の正規化シ
フト量を決定するために演算結果は、正規化シフト量検
出回路3に送られる。
【0034】ステップ7では、ベクトルの次数分だけル
ープが終了していなければ、ステップ1に戻る。終了す
ればステップ8に進む。
ープが終了していなければ、ステップ1に戻る。終了す
ればステップ8に進む。
【0035】ステップ8では、ベクトルの次数分だけル
ープが終了した段階で、正規化シフト量検出回路3の内
部のレジスタ13に次のベクトル処理時の正規化シフト
量が格納されており、レジスタ13に格納されている値
は、デコーダに送られシフト量が決定され、そのシフト
量は左右シフト量設定レジスタに格納される。
ープが終了した段階で、正規化シフト量検出回路3の内
部のレジスタ13に次のベクトル処理時の正規化シフト
量が格納されており、レジスタ13に格納されている値
は、デコーダに送られシフト量が決定され、そのシフト
量は左右シフト量設定レジスタに格納される。
【0036】従来のDSPにおける正規化シフト量検出
回路21は、絶対値変換回路30、比較器31、デコー
ダ32、レジスタ33を備えており、本実施形態の正規
化シフト量検出回路3は、デコーダ12、レジスタ1
3、絶対値変換回路30をEX−OR(排他的論理和)
のみで構成される回路で代用し、比較器31をOR(論
理和)のみで構成される回路であり、大幅に回路構成を
簡略化することで、正規化シフト量の検出処理速度の向
上を実現することができる。
回路21は、絶対値変換回路30、比較器31、デコー
ダ32、レジスタ33を備えており、本実施形態の正規
化シフト量検出回路3は、デコーダ12、レジスタ1
3、絶対値変換回路30をEX−OR(排他的論理和)
のみで構成される回路で代用し、比較器31をOR(論
理和)のみで構成される回路であり、大幅に回路構成を
簡略化することで、正規化シフト量の検出処理速度の向
上を実現することができる。
【0037】さらに、従来のDSPにおけるベクトルの
次数分の正規化、演算、演算結果のダイナミックレンジ
を正規化を施す前のダイナミックレンジへの補正、次の
正規化シフト量の決定の一連の処理には、図11に示す
ようにベクトルの次数分のループを3回必要となる。一
方、前記の同一連の処理において、本実施形態にように
演算結果のダイナミックレンジを正規化を施す前のダイ
ナミックレンジに補正するための右バレルシフタ1を演
算部の出力側に設け、前記右バレルシフタにより演算結
果のダイナミックレンジを正規化を施す前のダイナミッ
クレンジへの補正した演算結果をメモリ8へストアする
処理と並行して、前記演算結果を正規化シフト量検出回
路3に転送し、次の正規化シフト量を検出させること
で、図10に示すようにベクトルの次数分のループは1
回で実現できる。
次数分の正規化、演算、演算結果のダイナミックレンジ
を正規化を施す前のダイナミックレンジへの補正、次の
正規化シフト量の決定の一連の処理には、図11に示す
ようにベクトルの次数分のループを3回必要となる。一
方、前記の同一連の処理において、本実施形態にように
演算結果のダイナミックレンジを正規化を施す前のダイ
ナミックレンジに補正するための右バレルシフタ1を演
算部の出力側に設け、前記右バレルシフタにより演算結
果のダイナミックレンジを正規化を施す前のダイナミッ
クレンジへの補正した演算結果をメモリ8へストアする
処理と並行して、前記演算結果を正規化シフト量検出回
路3に転送し、次の正規化シフト量を検出させること
で、図10に示すようにベクトルの次数分のループは1
回で実現できる。
【0038】従って、前記の正規化シフト量検出回路3
は、従来の正規化シフト量検出回路21より高速化して
いるため、ベクトルの次数分の正規化を行い、さらに演
算結果のダイナミックレンジを正規化を施す前のダイナ
ミックレンジへ補正を行い、次の正規化シフト量を決定
する一連の処理量は、従来の1/3以下に抑えることが
可能となり、処理速度の向上が実現できる。
は、従来の正規化シフト量検出回路21より高速化して
いるため、ベクトルの次数分の正規化を行い、さらに演
算結果のダイナミックレンジを正規化を施す前のダイナ
ミックレンジへ補正を行い、次の正規化シフト量を決定
する一連の処理量は、従来の1/3以下に抑えることが
可能となり、処理速度の向上が実現できる。
【0039】(実施の形態2)第2の実施形態につい
て、図7を参照しながら説明する。
て、図7を参照しながら説明する。
【0040】本発明の第2の実施形態のDSPは、左シ
フト量補正レジスタ14、減算器15を備えた、実施形
態1に示したDSPである。
フト量補正レジスタ14、減算器15を備えた、実施形
態1に示したDSPである。
【0041】本実施形態の基本的な動作については、実
施形態1と同様であるので省略し、作用、効果について
説明する。
施形態1と同様であるので省略し、作用、効果について
説明する。
【0042】従来のDSPまたは、実施形態1のような
DSPにおける正規化は、ダイナミックレンジを全て使
いきるために、正規化の施した後の演算においてオーバ
ーフローが発生する確立が高くなるという問題が生じ
る。本実施形態のように、左シフト量設定レジスタ14
に設定した値の分だけ、左右正規化シフト設定レジスタ
5に格納されている値を減算器15によって縮小させ、
ダイナミックレンジを使いきるのを抑制することでオー
バーフローの発生を抑止することができる。
DSPにおける正規化は、ダイナミックレンジを全て使
いきるために、正規化の施した後の演算においてオーバ
ーフローが発生する確立が高くなるという問題が生じ
る。本実施形態のように、左シフト量設定レジスタ14
に設定した値の分だけ、左右正規化シフト設定レジスタ
5に格納されている値を減算器15によって縮小させ、
ダイナミックレンジを使いきるのを抑制することでオー
バーフローの発生を抑止することができる。
【0043】(実施の形態3)第3の実施形態につい
て、図8を参照しながら説明する。
て、図8を参照しながら説明する。
【0044】本発明の第3の実施形態のDSPは、右シ
フト量補正レジスタ16、加算器17、右シフト量設定
レジスタ18を備えた、実施形態2に示したDSPであ
る。本実施形態の基本的な動作については、実施形態1
と同様であるので省略する。
フト量補正レジスタ16、加算器17、右シフト量設定
レジスタ18を備えた、実施形態2に示したDSPであ
る。本実施形態の基本的な動作については、実施形態1
と同様であるので省略する。
【0045】図8において、左右シフト量設定レジスタ
5にシフト量Nビットが設定されているとし、A*Bの
演算を行なう場合(A、Bは10進数とする)を例にし
て本実施形態の作用、効果を説明する。
5にシフト量Nビットが設定されているとし、A*Bの
演算を行なう場合(A、Bは10進数とする)を例にし
て本実施形態の作用、効果を説明する。
【0046】まずAついて正規化を行なうために、左バ
レルシフタ2によってNビット左シフトを行なうとA*
2^Nとなる。
レルシフタ2によってNビット左シフトを行なうとA*
2^Nとなる。
【0047】同様にしてBについても正規化を行なうた
めに、左バレルシフタ2によってNビット左シフトを行
なうとB*2^Nとなる。従って、演算結果は、(A*
B)*2^(N+1)となる。
めに、左バレルシフタ2によってNビット左シフトを行
なうとB*2^Nとなる。従って、演算結果は、(A*
B)*2^(N+1)となる。
【0048】実施形態1、2に示すDSPにおいては、
前記の演算結果のダイナミックレンジを正規化を施す前
のダイナミックレンジへの補正するために、右バレルシ
フタ1で左右シフト量設定レジスタ5のシフト量設定分
すなわちNビット右シフトが行なわれ、前記演算結果
(A*B)*2^(N+1)は、(A*B)*2^1と
なり、正しい補正が行なわれない。
前記の演算結果のダイナミックレンジを正規化を施す前
のダイナミックレンジへの補正するために、右バレルシ
フタ1で左右シフト量設定レジスタ5のシフト量設定分
すなわちNビット右シフトが行なわれ、前記演算結果
(A*B)*2^(N+1)は、(A*B)*2^1と
なり、正しい補正が行なわれない。
【0049】一方、本実施形態においては、右シフト量
補正レジスタ16に補正シフト量1ビットをあらかじめ
設定しておけば、左右シフト量設定レジスタ5に設定し
ているNビットに、加算器17によって右シフト量補正
レジスタ16の補正シフト量1ビットが加算された値で
あるN+1ビットが右シフト量設定レジスタ18に設定
される。従って、補正後の結果は、(A*B)*2^
(N+1)をN+1ビット右シフトされるので、A*B
となり正しい補正が行なわれる。
補正レジスタ16に補正シフト量1ビットをあらかじめ
設定しておけば、左右シフト量設定レジスタ5に設定し
ているNビットに、加算器17によって右シフト量補正
レジスタ16の補正シフト量1ビットが加算された値で
あるN+1ビットが右シフト量設定レジスタ18に設定
される。従って、補正後の結果は、(A*B)*2^
(N+1)をN+1ビット右シフトされるので、A*B
となり正しい補正が行なわれる。
【0050】
【発明の効果】以上、説明したように本発明のブロック
・フローディング方式の正規化を行なう固定小数点型の
DSPは、ベクトルの次数分の正規化を行い、さらに演
算結果のダイナミックレンジを正規化を施す前のダイナ
ミックレンジへ補正を行い、次の正規化シフト量を決定
する一連の処理量を従来の1/3以下に抑える効果を有
し、処理速度の向上が実現できる。
・フローディング方式の正規化を行なう固定小数点型の
DSPは、ベクトルの次数分の正規化を行い、さらに演
算結果のダイナミックレンジを正規化を施す前のダイナ
ミックレンジへ補正を行い、次の正規化シフト量を決定
する一連の処理量を従来の1/3以下に抑える効果を有
し、処理速度の向上が実現できる。
【図1】実施形態1のDSPのブロック図
【図2】正規化シフト量検出回路のブロック図
【図3】正規化シフト量検出回路の動作を説明する図
【図4】正規化シフト量検出回路の動作を説明する図
【図5】正規化シフト量検出回路の動作を説明する図
【図6】正規化シフト量検出回路の動作を説明する図
【図7】実施形態2のDSPのブロック図
【図8】実施形態3のDSPのブロック図
【図9】本発明の動作の一例を示すフローチャート
【図10】従来のDSPの動作の一例を示すフローチャ
ート
ート
【図11】従来のDSPの一例を示すブロック図
【図12】従来のDSPの正規化シフト量検出回路の一
例を示すブロック図
例を示すブロック図
1 右バレルシフタ 2 左バレルシフタ 3,21 正規化シフト量検出回路 4,22 セレクタ 5 左右シフト量設定レジスタ 6,24 レジスタファイル 7,25 ソースバス 8,26 メモリ 9,28 演算部 10 EX−OR(排他的論理和) 11 OR(論理和) 12,32 デコーダ 13,33 レジスタ 14 左シフト量補正レジスタ 15 算器 16 右シフト量補正レジスタ 17 加算器 18 右シフト量設定レジスタ 23 シフト量設定レジスタ 27 バレルシフタ 30 絶対値変換回路 31 比較器
Claims (3)
- 【請求項1】 ベクトルの各成分をその成分内で絶対値
が最大となる値を検出し、その検出した値によりシフト
量を求め、ベクトルの各成分を一括して正規化を行なう
固定小数点型ディジタル・シグナル・プロセッサにおい
て、 Nビットの2進数のデータにおけるMSBの符号ビット
とその他のビットとそれぞれ2入力排他的論理和(以下
EX−OR)をとる2入力EX−ORの(N−1)個の
部分回路と前記2入力EX−ORの部分回路の(N−
1)ビット出力を第1の入力とし、 前記2入力EX−ORの部分回路の前回までの出力の中
での最大値を格納する(N−1)ビットのレジスタの値
を第2の入力とし、 第1の入力と第2の入力においてそれぞれMSB側から
対応をとって入力とする(N−1)個の2入力論理和
(以下OR)の部分回路を備え、 前記(N−1)個の2入力ORの出力が、前記レジスタ
と正規化シフト量log2Nビット出力するデコーダの
入力となる回路で構成された正規化ためのシフト量を検
出するシフト量検出回路と、 前記正規化のためのシフト量を検出する回路で検出され
た左右シフト量を格納する左右シフト量設定レジスタ
と、 前記左右シフト量設定レジスタに格納されている値の分
だけ左シフトする左バレルシフタを演算部の入力側に備
え、 さらに演算部の出力側に演算後の出力結果のダイナミッ
クレンジを正規化を施す前のダイナミックレンジへ補正
するために前記左右シフト量設定レジスタに格納されて
いる値の分だけ右シフトする右バレルシフタを備えたこ
とを特徴とするディジタル信号処理装置。 - 【請求項2】 左右シフト量設定レジスタに格納されて
いる値を補正するための値を格納する左右シフト量補正
値設定レジスタを設け、 左右シフト量補正値設定レジスタに格納されている値と
シフト量検出回路の出力値を入力とし、前記左右シフト
量設定レジスタへ出力を行なう減算器を備えたことを特
徴とする請求項1記載のディジタル信号処理装置。 - 【請求項3】 右シフト量設定レジスタに格納されてい
る値を補正するための値を格納する右シフト量補正値設
定レジスタと右バレルシフタのシフト量を格納する右シ
フト量設定レジスタを設け、 左右シフト量設定レジスタに格納されている値と前記右
シフト量補正値設定レジスタに格納している値を入力と
し、前記右シフト量設定レジスタへ出力する加算器を備
えたことを特徴とする請求項1記載のディジタル信号処
理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8194263A JPH1040073A (ja) | 1996-07-24 | 1996-07-24 | ディジタル信号処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8194263A JPH1040073A (ja) | 1996-07-24 | 1996-07-24 | ディジタル信号処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1040073A true JPH1040073A (ja) | 1998-02-13 |
Family
ID=16321727
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8194263A Pending JPH1040073A (ja) | 1996-07-24 | 1996-07-24 | ディジタル信号処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH1040073A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6728739B1 (en) | 1998-06-15 | 2004-04-27 | Asahi Kasei Kabushiki Kaisha | Data calculating device and method for processing data in data block form |
| WO2011161859A1 (ja) * | 2010-06-22 | 2011-12-29 | 日本電気株式会社 | 半導体集積回路及び指数算出方法 |
-
1996
- 1996-07-24 JP JP8194263A patent/JPH1040073A/ja active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6728739B1 (en) | 1998-06-15 | 2004-04-27 | Asahi Kasei Kabushiki Kaisha | Data calculating device and method for processing data in data block form |
| WO2011161859A1 (ja) * | 2010-06-22 | 2011-12-29 | 日本電気株式会社 | 半導体集積回路及び指数算出方法 |
| JP4883251B1 (ja) * | 2010-06-22 | 2012-02-22 | 日本電気株式会社 | 半導体集積回路及び指数算出方法 |
| CN102378960A (zh) * | 2010-06-22 | 2012-03-14 | 日本电气株式会社 | 半导体集成电路和指数计算方法 |
| US8862647B2 (en) | 2010-06-22 | 2014-10-14 | Nec Corporation | Semiconductor integrated circuit and exponent calculation method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5568412A (en) | Rounding-off method and apparatus of floating point arithmetic apparatus for addition/subtraction | |
| US5010508A (en) | Prenormalization for a floating-point adder | |
| JP3352887B2 (ja) | クランプ付除算器、このクランプ付除算器を備えた情報処理装置及び除算処理におけるクランプ方法 | |
| US5317526A (en) | Format conversion method of floating point number and device employing the same | |
| US5111421A (en) | System for performing addition and subtraction of signed magnitude floating point binary numbers | |
| JPH0474743B2 (ja) | ||
| US4992969A (en) | Integer division circuit provided with a overflow detector circuit | |
| JPH10161850A (ja) | 絶対値比較回路 | |
| US9009209B2 (en) | Processor, control method of processor, and computer readable storage medium storing processing program for division operation | |
| US20100174764A1 (en) | Reuse of rounder for fixed conversion of log instructions | |
| US6151612A (en) | Apparatus and method for converting floating point number into integer in floating point unit | |
| CN114840175A (zh) | 一种实现取余运算的装置、方法及运算芯片 | |
| US6047305A (en) | Division circuit not requiring taking complements of divisor, dividend and remainder | |
| JPH1040073A (ja) | ディジタル信号処理装置 | |
| US5260890A (en) | Overflow detection system and its circuit for use in addition and subtraction | |
| JP2509279B2 (ja) | 浮動小数点数一固定小数点数変換装置 | |
| JP3675111B2 (ja) | 3入力比較器 | |
| EP0268123A2 (en) | Processor for the calculation of transcendental functions | |
| JPH09128213A (ja) | ブロックフローティング処理システムおよび方法 | |
| JP4073513B2 (ja) | 浮動小数点処理装置 | |
| JP2723707B2 (ja) | 正規化回路 | |
| US20070094318A1 (en) | Method and system for hardware efficient systematic approximation of square functions for communication systems | |
| JP2801472B2 (ja) | 浮動小数点演算装置 | |
| JP4196434B2 (ja) | データ丸め方法およびデータ丸め装置 | |
| JPH11353157A (ja) | 累積加算回路 |