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
Application number
JP8194263A
Other languages
English (en)
Inventor
Takeshi Nakamura
剛 中村
Koichi Nagano
孝一 永野
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP8194263A priority Critical patent/JPH1040073A/ja
Publication of JPH1040073A publication Critical patent/JPH1040073A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 ブロック・フローティング方式の正規化を行
うDSPにおける正規化の高速化を図る。 【解決手段】 演算結果のダイナミックレンジを正規化
を施す前のダイナミックレンジに補正するための右バレ
ルシフタ1を演算部9の出力側に設ける。前記右バレル
シフタ1により演算結果のダイナミックレンジを正規化
を施す前のダイナミックレンジへの補正した演算結果を
メモリへストアする処理と並行して、前記演算結果を正
規化シフト量検出回路3に転送し、次の正規化シフト量
を検出させることで処理量を削減する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はブロック・フローデ
ィング方式の正規化を行なう固定小数点型のディジタル
・シグナル・プロセッサに関するものである。
【0002】固定小数点型ディジタル・シグナル・プロ
セッサ(以下DSPと略する)を用いてダイナミックレン
ジの広い信号を処理する場合もしくはダイナミックレン
ジの狭い信号を処理する場合に疑似浮動小数点型に変換
して演算を行なうことが多い。この場合、処理する信号
がベクトル量になっている場合には処理量を抑えるため
に同一のベクトルの成分の個々に対して指数を設け正規
化を行なうのではなく、全ての成分に対して最適な共通
の指数部を設け一括して信号を正規化することが多い。
【0003】
【従来の技術】図11に上記のようなブロック・フロー
ティングを実現するための従来のDSPのブロック図を
示す。図に示すように従来の固定小数点型DSPにおい
て、正規化後のデータのダイナミックレンジを正規化前
のダイナミックレンジに補正する場合は、ベクトルの各
成分をその成分内で絶対値が最大となる値を検出し、そ
の検出した値によりシフト量を求める正規化シフト量検
出回路21、セレクタ22、シフト量を格納するレジス
タ23、レジスタファイル24、ソースバス25(通常
複数本あるが簡略化して1本にしている)、データを格
納するメモリ26、バレルシフタ27、乗算器・ALU
等が含まれる演算部28で構成されている。
【0004】また、図12に示すように正規化シフト量
検出回路21は、負の値を正の値に変換する絶対値変換
回路30の出力と現在までの最大が格納されているレジ
スタ33の値とを比較器31において比較し、絶対値が
大きい方がレジスタ33に設定される。ベクトルの次数
分だけループが終了すると最大値が格納されているレジ
スタ33の値は、デコーダ32に入力され、出力の正規
化シフト量がシフト量設定レジスタ23に設定される。
【0005】次に図11の従来のDSPの動作について
図10のフローチャートを用いて説明する。
【0006】ステップ11では、演算するデータをメモ
リ26からデータをロードする。ステップ12では、既
にシフト量設定レジスタ23に設定されているシフト量
の分だけバレルシフタ27で左シフトし、正規化を行な
う。
【0007】ステップ13では、演算部9で演算が行な
われる。ステップ14では、アキュムレートが終了して
いなければ、ステップ11に戻る。終了していればステ
ップ15に進む。
【0008】ステップ15では、アキュムレータが終了
した演算結果をメモリ26にストアする。
【0009】ステップ16では、ベクトルの次数分だけ
ループが終了していなければ、ステップ11に戻る。終
了していればステップ17に進む。
【0010】ステップ17では、ステップ15でストア
した演算結果をメモリ26からロードする。
【0011】ステップ18では、正規化を施す前のダイ
ナミックレンジに補正するために、ステップ12で左シ
フトした分だけ、バレルシフタ27によって右シフトす
る。
【0012】ステップ19では、補正した結果をメモリ
26にストアする。ステップ110では、ベクトルの次
数分だけループが終了していなければ、ステップ17に
戻る。終了していればステップ111に進む。
【0013】ステップ111では、ステップ19でスト
アした演算結果をメモリ26からロードする。
【0014】ステップ112では、ステップ19でロー
ドされてきたデータは、正規化シフト量を検出するため
に、正規化シフト量検出回路112に送られる。
【0015】ステップ113では、ベクトルの次数分だ
けループが終了していなければ、ステップ111に戻
る。終了していればステップ114に進む。
【0016】ステップ114では、正規化シフト量検出
後のシフト量が、シフト量設定レジスタ23にストアさ
れる。
【0017】
【発明が解決しようとする課題】上記のような従来のブ
ロック・フローディング方式の正規化を行なうDSPに
おいて、ベクトルの次数分の正規化を行い、さらに演算
結果のダイナミックレンジを正規化を施す前のダイナミ
ックレンジへ補正を行い、次の正規化シフト量を決定す
る一連の処理量が、かなり大きいため処理速度の向上の
妨げとなっている。また、正規化シフト量検出回路にお
いても回路規模が大きいため処理速度の向上の妨げとな
っている。
【0018】
【課題を解決するための手段】上記の課題を解決するた
めに、演算結果のダイナミックレンジを正規化を施す前
のダイナミックレンジに補正するための右バレルシフタ
を演算部の出力側に設ける。前記右バレルシフタにより
演算結果のダイナミックレンジを正規化を施す前のダイ
ナミックレンジへの補正した演算結果をメモリへストア
する処理と並行して、前記演算結果を正規化シフト量検
出回路に転送し、次の正規化シフト量を検出させること
で処理量を削減する。
【0019】これにより、ベクトルの次数分の正規化を
行い、さらに演算結果のダイナミックレンジを正規化を
施す前のダイナミックレンジへ補正を行い、次の正規化
シフト量の決定の一連の処理量を削減し、処理速度の向
上を図る。
【0020】また、正規化シフト量検出回路を簡略化す
ることで、処理速度の向上を図る。
【0021】
【発明の実施の形態】以下、本発明の実施形態につい
て、図1から図9を用いて説明する。
【0022】(実施の形態1)第1の実施形態につい
て、図1から図6を参照しながら説明する。
【0023】本発明の第1の実施形態のDSPは、図1
に示すように、右方向にのみシフトを行う右バレルシフ
タ1、左方向のみシフトを行う左バレルシフタ2、ベク
トルの各成分をその成分内で絶対値が最大となる値を検
出し、その検出した値によりシフト量を求める正規化シ
フト量検出回路3、セレクタ4、左右のシフト量を格納
するレジスタ5、レジスタファイル6、ソースバス7
(通常複数本あるが簡略化して1本にしている)、デー
タを格納するメモリ8、乗算器、ALU等が含まれる演
算部9で構成されている。
【0024】また、図2は、語長が8ビットの場合の正
規化シフト量検出回路3の構成例であり、同図に示すよ
うにEX−OR(排他的論理和)10、OR(論理和)1
1、デコーダ12、レジスタ13で構成される。
【0025】まず、正規化シフト量検出回路3の動作に
ついて、語長が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の値)。
【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の値)。
【0028】第3、第4、第5のベクトルについても同
様の処理を行い、最終的に”0011111”(図6デ
コーダへの出力値)を得、その値はデコーダ12に送ら
れ、図3に示すデコーダ13の入力値と出力値の関係に
従い”010”すなわちシフト量2ビットを出力する。
【0029】次に本実施形態の動作について図9のフロ
ーチャートを用いて説明する。ステップ1では、演算す
るデータをメモリ8からロードする。
【0030】ステップ2では、既に前回のベクトル処理
時に決定された、左右シフト量設定レジスタ5に設定さ
れているシフト量の分だけ左バレルシフタ2により左シ
フトが行われ、正規化が行われる。
【0031】ステップ3では、演算部9で演算が行われ
る。ステップ4では、アキュムレートが終了していなけ
れば、ステップ1に戻る。終了すればステップ5に進
む。
【0032】ステップ5では、アキュムレートが終了し
た演算結果を正規化を施す前のダイナミックレンジに補
正するために、ステップ2で左シフトした分だけ、右バ
レルシフタ1によって右シフトする。
【0033】ステップ6では、ステップ5でダイナミッ
クレンジが補正された演算結果をメモリにストアし、ス
トアの処理と平行して、次のベクトル処理時の正規化シ
フト量を決定するために演算結果は、正規化シフト量検
出回路3に送られる。
【0034】ステップ7では、ベクトルの次数分だけル
ープが終了していなければ、ステップ1に戻る。終了す
ればステップ8に進む。
【0035】ステップ8では、ベクトルの次数分だけル
ープが終了した段階で、正規化シフト量検出回路3の内
部のレジスタ13に次のベクトル処理時の正規化シフト
量が格納されており、レジスタ13に格納されている値
は、デコーダに送られシフト量が決定され、そのシフト
量は左右シフト量設定レジスタに格納される。
【0036】従来のDSPにおける正規化シフト量検出
回路21は、絶対値変換回路30、比較器31、デコー
ダ32、レジスタ33を備えており、本実施形態の正規
化シフト量検出回路3は、デコーダ12、レジスタ1
3、絶対値変換回路30をEX−OR(排他的論理和)
のみで構成される回路で代用し、比較器31をOR(論
理和)のみで構成される回路であり、大幅に回路構成を
簡略化することで、正規化シフト量の検出処理速度の向
上を実現することができる。
【0037】さらに、従来のDSPにおけるベクトルの
次数分の正規化、演算、演算結果のダイナミックレンジ
を正規化を施す前のダイナミックレンジへの補正、次の
正規化シフト量の決定の一連の処理には、図11に示す
ようにベクトルの次数分のループを3回必要となる。一
方、前記の同一連の処理において、本実施形態にように
演算結果のダイナミックレンジを正規化を施す前のダイ
ナミックレンジに補正するための右バレルシフタ1を演
算部の出力側に設け、前記右バレルシフタにより演算結
果のダイナミックレンジを正規化を施す前のダイナミッ
クレンジへの補正した演算結果をメモリ8へストアする
処理と並行して、前記演算結果を正規化シフト量検出回
路3に転送し、次の正規化シフト量を検出させること
で、図10に示すようにベクトルの次数分のループは1
回で実現できる。
【0038】従って、前記の正規化シフト量検出回路3
は、従来の正規化シフト量検出回路21より高速化して
いるため、ベクトルの次数分の正規化を行い、さらに演
算結果のダイナミックレンジを正規化を施す前のダイナ
ミックレンジへ補正を行い、次の正規化シフト量を決定
する一連の処理量は、従来の1/3以下に抑えることが
可能となり、処理速度の向上が実現できる。
【0039】(実施の形態2)第2の実施形態につい
て、図7を参照しながら説明する。
【0040】本発明の第2の実施形態のDSPは、左シ
フト量補正レジスタ14、減算器15を備えた、実施形
態1に示したDSPである。
【0041】本実施形態の基本的な動作については、実
施形態1と同様であるので省略し、作用、効果について
説明する。
【0042】従来のDSPまたは、実施形態1のような
DSPにおける正規化は、ダイナミックレンジを全て使
いきるために、正規化の施した後の演算においてオーバ
ーフローが発生する確立が高くなるという問題が生じ
る。本実施形態のように、左シフト量設定レジスタ14
に設定した値の分だけ、左右正規化シフト設定レジスタ
5に格納されている値を減算器15によって縮小させ、
ダイナミックレンジを使いきるのを抑制することでオー
バーフローの発生を抑止することができる。
【0043】(実施の形態3)第3の実施形態につい
て、図8を参照しながら説明する。
【0044】本発明の第3の実施形態のDSPは、右シ
フト量補正レジスタ16、加算器17、右シフト量設定
レジスタ18を備えた、実施形態2に示したDSPであ
る。本実施形態の基本的な動作については、実施形態1
と同様であるので省略する。
【0045】図8において、左右シフト量設定レジスタ
5にシフト量Nビットが設定されているとし、A*Bの
演算を行なう場合(A、Bは10進数とする)を例にし
て本実施形態の作用、効果を説明する。
【0046】まずAついて正規化を行なうために、左バ
レルシフタ2によってNビット左シフトを行なうとA*
2^Nとなる。
【0047】同様にしてBについても正規化を行なうた
めに、左バレルシフタ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と
なり、正しい補正が行なわれない。
【0049】一方、本実施形態においては、右シフト量
補正レジスタ16に補正シフト量1ビットをあらかじめ
設定しておけば、左右シフト量設定レジスタ5に設定し
ているNビットに、加算器17によって右シフト量補正
レジスタ16の補正シフト量1ビットが加算された値で
あるN+1ビットが右シフト量設定レジスタ18に設定
される。従って、補正後の結果は、(A*B)*2^
(N+1)をN+1ビット右シフトされるので、A*B
となり正しい補正が行なわれる。
【0050】
【発明の効果】以上、説明したように本発明のブロック
・フローディング方式の正規化を行なう固定小数点型の
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. 【請求項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. 【請求項2】 左右シフト量設定レジスタに格納されて
    いる値を補正するための値を格納する左右シフト量補正
    値設定レジスタを設け、 左右シフト量補正値設定レジスタに格納されている値と
    シフト量検出回路の出力値を入力とし、前記左右シフト
    量設定レジスタへ出力を行なう減算器を備えたことを特
    徴とする請求項1記載のディジタル信号処理装置。
  3. 【請求項3】 右シフト量設定レジスタに格納されてい
    る値を補正するための値を格納する右シフト量補正値設
    定レジスタと右バレルシフタのシフト量を格納する右シ
    フト量設定レジスタを設け、 左右シフト量設定レジスタに格納されている値と前記右
    シフト量補正値設定レジスタに格納している値を入力と
    し、前記右シフト量設定レジスタへ出力する加算器を備
    えたことを特徴とする請求項1記載のディジタル信号処
    理装置。
JP8194263A 1996-07-24 1996-07-24 ディジタル信号処理装置 Pending JPH1040073A (ja)

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)

* Cited by examiner, † Cited by third party
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 日本電気株式会社 半導体集積回路及び指数算出方法

Cited By (5)

* Cited by examiner, † Cited by third party
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) 累積加算回路