JP3286990B2 - ディジタルシグナルプロセッサ - Google Patents
ディジタルシグナルプロセッサInfo
- Publication number
- JP3286990B2 JP3286990B2 JP25737191A JP25737191A JP3286990B2 JP 3286990 B2 JP3286990 B2 JP 3286990B2 JP 25737191 A JP25737191 A JP 25737191A JP 25737191 A JP25737191 A JP 25737191A JP 3286990 B2 JP3286990 B2 JP 3286990B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- value
- sign bit
- mantissa
- 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 - Fee Related
Links
Landscapes
- Complex Calculations (AREA)
Description
【0001】
【産業上の利用分野】本発明はディジタルシグナルプロ
セッサに関し、特に整数フオーマットの数値データと浮
動小数点フオーマットの数値データとを扱うディジタル
シグナルプロセッサに関する。
セッサに関し、特に整数フオーマットの数値データと浮
動小数点フオーマットの数値データとを扱うディジタル
シグナルプロセッサに関する。
【0002】
【従来の技術】一般に、マイクロコンピュータにおける
数値データの表現フオーマットとして固定小数点フオー
マットすなわち、整数フオーマットが用いられている。
数値データの表現フオーマットとして固定小数点フオー
マットすなわち、整数フオーマットが用いられている。
【0003】一方、従来のディジタルシグナルプロセッ
サは、演算速度の高速化を追求するため、2の補数浮動
小数点フオーマットを用いている場合が多かった。これ
は、2の(n+1)乗から対応する正の数を引くことに
よって負の数を得る方法である。この操作は、演算回路
においては、各ビットを反転したうえで最下位ビットに
1を加算する操作に等しいので、加減算の演算回路が実
現しやすく高速化に適している等の利点がある。
サは、演算速度の高速化を追求するため、2の補数浮動
小数点フオーマットを用いている場合が多かった。これ
は、2の(n+1)乗から対応する正の数を引くことに
よって負の数を得る方法である。この操作は、演算回路
においては、各ビットを反転したうえで最下位ビットに
1を加算する操作に等しいので、加減算の演算回路が実
現しやすく高速化に適している等の利点がある。
【0004】しかし、2の補数浮動小数点フオーマット
を用いるディジタルシグナルプロセッサは演算速度の高
速化を図ることができるが、整数フオーマットで表され
た数値データをそのまま扱うことができない。このた
め、整数フオーマットで表された数値データを扱う場合
には、データのフオーマットを整数フオーマットから2
の補数浮動小数点フオーマットに変換する必要がある。
このための、従来のデータフオーマットの変換命令を持
つディジタルシグナルプロセッサは、完全な変換を実行
するための専用のソフトウェアを必要とする。しかし、
この変換ソフトウェアでのデータフオーマットの変換
は、実行に時間を要するため、ディジタルシグナルプロ
セッサの高速性を損なっていた。
を用いるディジタルシグナルプロセッサは演算速度の高
速化を図ることができるが、整数フオーマットで表され
た数値データをそのまま扱うことができない。このた
め、整数フオーマットで表された数値データを扱う場合
には、データのフオーマットを整数フオーマットから2
の補数浮動小数点フオーマットに変換する必要がある。
このための、従来のデータフオーマットの変換命令を持
つディジタルシグナルプロセッサは、完全な変換を実行
するための専用のソフトウェアを必要とする。しかし、
この変換ソフトウェアでのデータフオーマットの変換
は、実行に時間を要するため、ディジタルシグナルプロ
セッサの高速性を損なっていた。
【0005】
【発明が解決しようとする課題】上述した従来のディジ
タルシグナルプロセッサは、整数フオーマットで表され
た数値データを扱うためには、整数フオーマットから2
の補数浮動小数点フオーマットに変換するプログラムを
実行する必要があり、変換専用命令と変換ソフトウェア
とによるデータフオーマットの変換に時間がかかるた
め、ディジタルシグナルプロセッサの高速性を十分発揮
できないという欠点があった。
タルシグナルプロセッサは、整数フオーマットで表され
た数値データを扱うためには、整数フオーマットから2
の補数浮動小数点フオーマットに変換するプログラムを
実行する必要があり、変換専用命令と変換ソフトウェア
とによるデータフオーマットの変換に時間がかかるた
め、ディジタルシグナルプロセッサの高速性を十分発揮
できないという欠点があった。
【0006】本発明のディジタルシグナルプロセッサ
は、予め定められた第1の数値表現である符号ビットと
数値部データとからなる整数フォーマットで表された数
値データである第1のデータを、予め定められた第2の
数値表現である指数部データと仮数部符号ビットと仮数
部データとからなる2の補数浮動小数点フォーマットの
第2のデータに変換して処理するディジタルシグナルプ
ロセッサにおいて、入力された前記第1のデータを前記
符号ビットと前記数値部データとに分離し、前記第1の
データのビット長と前記第2のデータの前記仮数部符号
ビットを含めた前記仮数部データとのビット長との差の
ビット数分を前記符号ビットにより充足するよう前記符
号ビットを拡張し拡張符号ビットデータを作成し、前記
数値部データと前記拡張符号ビットデータと第1の定数
値とを組合せ前記第2のデータを合成することにより前
記第2のデータに変換する整数浮動小数点データ変換部
と、前記第2のデータを前記指数部データと前記仮数部
符号ビットと前記仮数部データとに分離し、前記符号ビ
ットが正のときは前記仮数部データの2の補数の最上位
ビットから下位ビットに連続する0値のビットの数を0
データ数として検出し、前記仮数部データの2の補数を
前記0データ数のビット分左シフトし左シフト値を生成
し、前記指数部データの値から第2の定数値を減算した
減算値と前記0データ数との加算値が正のときは前記第
1のシフト回路の出力を前記加算値のビット分左シフト
し、前記加算値が負のときは前記左シフト値を前記加算
値の絶対値のビット分右シフトしシフト値を出力し、前
記符号ビットが正のときは前記シフト値を選択データと
して選択し前記符号ビットが負のときは前記シフト値の
2の補数を前記選択データとして選択し、前記符号ビッ
トと前記選択データとを組合せて前記第1のデータを合
成することにより前記第1のデータに変換する浮動小数
点整数データ変換部と、前記第1のデータのビット長を
指定する整数値桁数指定レジスタと、入力された前記第
1のデータと前記整数浮動小数点データ変換部の出力で
ある前記第2のデータとのいずれか一方を選択する第1
のセレクタと、入力された前記第2のデータと前記浮動
小数点整数データ変換部の出力である前記第1のデータ
とのいずれか一方を選択する第2のセレクタとを備えて
構成されている。
は、予め定められた第1の数値表現である符号ビットと
数値部データとからなる整数フォーマットで表された数
値データである第1のデータを、予め定められた第2の
数値表現である指数部データと仮数部符号ビットと仮数
部データとからなる2の補数浮動小数点フォーマットの
第2のデータに変換して処理するディジタルシグナルプ
ロセッサにおいて、入力された前記第1のデータを前記
符号ビットと前記数値部データとに分離し、前記第1の
データのビット長と前記第2のデータの前記仮数部符号
ビットを含めた前記仮数部データとのビット長との差の
ビット数分を前記符号ビットにより充足するよう前記符
号ビットを拡張し拡張符号ビットデータを作成し、前記
数値部データと前記拡張符号ビットデータと第1の定数
値とを組合せ前記第2のデータを合成することにより前
記第2のデータに変換する整数浮動小数点データ変換部
と、前記第2のデータを前記指数部データと前記仮数部
符号ビットと前記仮数部データとに分離し、前記符号ビ
ットが正のときは前記仮数部データの2の補数の最上位
ビットから下位ビットに連続する0値のビットの数を0
データ数として検出し、前記仮数部データの2の補数を
前記0データ数のビット分左シフトし左シフト値を生成
し、前記指数部データの値から第2の定数値を減算した
減算値と前記0データ数との加算値が正のときは前記第
1のシフト回路の出力を前記加算値のビット分左シフト
し、前記加算値が負のときは前記左シフト値を前記加算
値の絶対値のビット分右シフトしシフト値を出力し、前
記符号ビットが正のときは前記シフト値を選択データと
して選択し前記符号ビットが負のときは前記シフト値の
2の補数を前記選択データとして選択し、前記符号ビッ
トと前記選択データとを組合せて前記第1のデータを合
成することにより前記第1のデータに変換する浮動小数
点整数データ変換部と、前記第1のデータのビット長を
指定する整数値桁数指定レジスタと、入力された前記第
1のデータと前記整数浮動小数点データ変換部の出力で
ある前記第2のデータとのいずれか一方を選択する第1
のセレクタと、入力された前記第2のデータと前記浮動
小数点整数データ変換部の出力である前記第1のデータ
とのいずれか一方を選択する第2のセレクタとを備えて
構成されている。
【0007】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
て説明する。
【0008】図1は本発明のディジタルシグナルプロセ
ッサの一実施例を示すブロック図である。
ッサの一実施例を示すブロック図である。
【0009】本実施例のディジタルシグナルプロセッサ
1は、図1に示すように、命令用メモリ11と、命令実
行部12と、データ用ROM13と、データ用RAM1
4と、内部データバス15と、乗算器16と、ALU1
7と、アキュムレータ18と、データレジスタ19と、
データフォーマット変換部20とを備えて構成されてい
る。
1は、図1に示すように、命令用メモリ11と、命令実
行部12と、データ用ROM13と、データ用RAM1
4と、内部データバス15と、乗算器16と、ALU1
7と、アキュムレータ18と、データレジスタ19と、
データフォーマット変換部20とを備えて構成されてい
る。
【0010】データフォーマット変換部20は、セレク
タ21と、整数浮動小数点データ変換部22と、浮動小
数点整数データ変換部23と、セレクタ24と、整数値
桁数指定用の定数レジスタ25とを備えて構成されてい
る。
タ21と、整数浮動小数点データ変換部22と、浮動小
数点整数データ変換部23と、セレクタ24と、整数値
桁数指定用の定数レジスタ25とを備えて構成されてい
る。
【0011】また、図1には、ディジタルシグナルプロ
セッサ1における処理の対象であるデータのデータメモ
リ2および関連するデータバス3が示されている。
セッサ1における処理の対象であるデータのデータメモ
リ2および関連するデータバス3が示されている。
【0012】図2はデータフォーマット変換部20を構
成する整数浮動小数点データ変換部22の詳細を示すブ
ロック図である。図2において、整数浮動小数点データ
変換部22は、整数フオーマットの入力データを符号ビ
ットSと数値部データNとに分離する整数データ分離部
221と、符号ビット拡張部222と、定数レジスタ2
23と、2の補数データ合成部224とを備えて構成さ
れている。
成する整数浮動小数点データ変換部22の詳細を示すブ
ロック図である。図2において、整数浮動小数点データ
変換部22は、整数フオーマットの入力データを符号ビ
ットSと数値部データNとに分離する整数データ分離部
221と、符号ビット拡張部222と、定数レジスタ2
23と、2の補数データ合成部224とを備えて構成さ
れている。
【0013】図3はデータフォーマット変換部20を構
成する浮動小数点整数データ変換部23の詳細を示すブ
ロック図である。図3において、浮動小数点整数データ
変換部23は、浮動小数点フオーマットの入力データを
指数部Eと符号ビットSと仮数部データMとに分離する
2の補数データ分離部231と、定数レジスタ232
と、減算器233と、加算器234と、2の補数生成器
235,240と、スイッチ236,241と、0デー
タ検出器237と、シフト回路238,239と、整数
データ合成部242とを備えて構成されている。
成する浮動小数点整数データ変換部23の詳細を示すブ
ロック図である。図3において、浮動小数点整数データ
変換部23は、浮動小数点フオーマットの入力データを
指数部Eと符号ビットSと仮数部データMとに分離する
2の補数データ分離部231と、定数レジスタ232
と、減算器233と、加算器234と、2の補数生成器
235,240と、スイッチ236,241と、0デー
タ検出器237と、シフト回路238,239と、整数
データ合成部242とを備えて構成されている。
【0014】次に、本実施例の動作について説明する。
【0015】本実施例のディジタルシグナルプロセッサ
1は、データメモリ2からデータをデータレジスタ19
に読込むとき、そのデータがデータフォーマット変換部
20を通り、ここで、整数フオーマットのデータが2の
補数浮動小数点フオーマットのデータに変換される。以
下順を追って動作を説明する。
1は、データメモリ2からデータをデータレジスタ19
に読込むとき、そのデータがデータフォーマット変換部
20を通り、ここで、整数フオーマットのデータが2の
補数浮動小数点フオーマットのデータに変換される。以
下順を追って動作を説明する。
【0016】図1において、命令用メモリ11と、命令
実行部12と、データ用ROM13と、データ用RAM
14と、内部データバス15と、乗算器16と、ALU
17と、アキュムレータ18と、データレジスタ19の
各構成要素は、周知のディジタルシグナルプロセッサと
同一のものであり、動作についても全く同一であるのの
で説明を省略する。
実行部12と、データ用ROM13と、データ用RAM
14と、内部データバス15と、乗算器16と、ALU
17と、アキュムレータ18と、データレジスタ19の
各構成要素は、周知のディジタルシグナルプロセッサと
同一のものであり、動作についても全く同一であるのの
で説明を省略する。
【0017】また、周知のディジタルシグナルプロセッ
サでは、データメモリ2からのデータは、データレジス
タ19を介して内部データバス15に出力され、データ
用RAM14に転送され、あるいは乗算器16や、AL
U17の演算対象となる。
サでは、データメモリ2からのデータは、データレジス
タ19を介して内部データバス15に出力され、データ
用RAM14に転送され、あるいは乗算器16や、AL
U17の演算対象となる。
【0018】本実施例のディジタルシグナルプロセッサ
は、前述のように、データフォーマット変換部20を備
える。
は、前述のように、データフォーマット変換部20を備
える。
【0019】まず、データメモリ2からディジタルシグ
ナルプロセッサ1への読込み時の動作について説明す
る。
ナルプロセッサ1への読込み時の動作について説明す
る。
【0020】まず、データメモリ2から読込まれたデー
タは、データバス3を介してデータフォーマット変換部
20の整数浮動小数点データ変換部22と、セレクタ2
1とに入力する。整数浮動小数点データ変換部22は、
入力データを整数フオーマットのデータにおける通常の
数値とみなして変換動作を行ない、結果をセレクタ21
に出力する。
タは、データバス3を介してデータフォーマット変換部
20の整数浮動小数点データ変換部22と、セレクタ2
1とに入力する。整数浮動小数点データ変換部22は、
入力データを整数フオーマットのデータにおける通常の
数値とみなして変換動作を行ない、結果をセレクタ21
に出力する。
【0021】次に、セレクタ21は、命令実行部12か
ら出力されるセレクタ21制御信号Aの指示にしたが
い、整数浮動小数点データ変換部22あるいはデータバ
ス3のいずれかの出力を選択し、データレジスタ19に
転送するものである。これにより、整数浮動小数点デー
タ変換が不要の場合には、データメモリ2からの入力デ
ータをそのままデータレジスタ19に転送することがで
きる。
ら出力されるセレクタ21制御信号Aの指示にしたが
い、整数浮動小数点データ変換部22あるいはデータバ
ス3のいずれかの出力を選択し、データレジスタ19に
転送するものである。これにより、整数浮動小数点デー
タ変換が不要の場合には、データメモリ2からの入力デ
ータをそのままデータレジスタ19に転送することがで
きる。
【0022】次に、ディジタルシグナルプロセッサ1か
らデータメモリ2への書込み時の動作について説明す
る。
らデータメモリ2への書込み時の動作について説明す
る。
【0023】まず、データレジスタ19の内容を浮動小
数点整数データ変換部23とセレクタ24とに入力す
る。浮動小数点整数データ変換部23は、入力データを
浮動小数点フオーマットのデータにおける通常の数値と
みなして変換動作を行ない、結果をセレクタ24に出力
する。
数点整数データ変換部23とセレクタ24とに入力す
る。浮動小数点整数データ変換部23は、入力データを
浮動小数点フオーマットのデータにおける通常の数値と
みなして変換動作を行ない、結果をセレクタ24に出力
する。
【0024】次に、セレクタ24は、命令実行部12か
ら出力されるセレクタ24制御信号Bの指示にしたが
い、浮動小数点整数データ変換部23あるいはデータレ
ジスタ19のいずれかの出力を選択し、データバス3を
介してデータメモリ2に転送するものである。これによ
り、浮動小数点整数データ変換が不要の場合には、デー
タレジスタ19からの入力データをそのままデータメモ
リ2に転送することができる。
ら出力されるセレクタ24制御信号Bの指示にしたが
い、浮動小数点整数データ変換部23あるいはデータレ
ジスタ19のいずれかの出力を選択し、データバス3を
介してデータメモリ2に転送するものである。これによ
り、浮動小数点整数データ変換が不要の場合には、デー
タレジスタ19からの入力データをそのままデータメモ
リ2に転送することができる。
【0025】次に図2に示す整数浮動小数点データ変換
部22の動作について説明する。
部22の動作について説明する。
【0026】前述のように、整数浮動小数点データ変換
部22は、整数フオーマットのデータにおける通常の値
を2の補数浮動小数点フオーマットのデータに変換する
変換動作を行なう。
部22は、整数フオーマットのデータにおける通常の値
を2の補数浮動小数点フオーマットのデータに変換する
変換動作を行なう。
【0027】データバス3を介して入力されたデータメ
モリ2からの入力データは、整数データ分離部221に
入力され、ここで、符号ビットSと、数値部データNと
の2つに分離される。
モリ2からの入力データは、整数データ分離部221に
入力され、ここで、符号ビットSと、数値部データNと
の2つに分離される。
【0028】ここで、一例として、1ビットの符号ビッ
トを含む16ビット整数データを指数部8ビット、符号
ビット1ビット、仮数部23ビットからなる32ビット
浮動小数点データに変換する場合について説明する。
トを含む16ビット整数データを指数部8ビット、符号
ビット1ビット、仮数部23ビットからなる32ビット
浮動小数点データに変換する場合について説明する。
【0029】このとき、整数値桁数指定用の定数レジス
タ25には、整数データのビット数である16が格納さ
れている。また、定数レジスタ223,232(浮動小
数点整数データ変換部23)には浮動小数点データの仮
数部Mのビット数(23=17H)が格納されている。
タ25には、整数データのビット数である16が格納さ
れている。また、定数レジスタ223,232(浮動小
数点整数データ変換部23)には浮動小数点データの仮
数部Mのビット数(23=17H)が格納されている。
【0030】符号ビットSは、符号ビット拡張部222
に入力される。符号ビット拡張部222は、定数レジス
タ25から整数データのビット長値16を受けとり、浮
動小数点データの仮数部Mと符号ビットとのビット数の
合計24ビットとを比較する。この結果、整数データの
ビット数16の方が少ないので、その分、すなわち、8
ビットだけ符号ビットSと同一の値で充足して、9ビッ
トの符号ビットSと同一の値のデータに拡張する。すな
わち、符号ビットSが0のときは000000000、
1のときは111111111となる。符号ビット拡張
部222の出力は、2の補数データ合成部224に入力
される。仮数部データMは、そのまま2の補数データ合
成部224に入力される。また、2の補数データ合成部
224には、指数部データEとして定数値レジスタ22
3の出力17Hも入力される。2の補数データ合成部2
24は、これらのデータを合成し、32ビット長の浮動
小数点データとしてセレクタ21に出力する。
に入力される。符号ビット拡張部222は、定数レジス
タ25から整数データのビット長値16を受けとり、浮
動小数点データの仮数部Mと符号ビットとのビット数の
合計24ビットとを比較する。この結果、整数データの
ビット数16の方が少ないので、その分、すなわち、8
ビットだけ符号ビットSと同一の値で充足して、9ビッ
トの符号ビットSと同一の値のデータに拡張する。すな
わち、符号ビットSが0のときは000000000、
1のときは111111111となる。符号ビット拡張
部222の出力は、2の補数データ合成部224に入力
される。仮数部データMは、そのまま2の補数データ合
成部224に入力される。また、2の補数データ合成部
224には、指数部データEとして定数値レジスタ22
3の出力17Hも入力される。2の補数データ合成部2
24は、これらのデータを合成し、32ビット長の浮動
小数点データとしてセレクタ21に出力する。
【0031】次に、図3に示す浮動小数点整数データ変
換部23の動作について説明する。
換部23の動作について説明する。
【0032】前述のように、浮動小数点整数データ変換
部23は、2の補数浮動小数点フオーマットのデータに
おける値を整数フオーマットのデータに変換する変換動
作を行なう。
部23は、2の補数浮動小数点フオーマットのデータに
おける値を整数フオーマットのデータに変換する変換動
作を行なう。
【0033】入力データは2の補数分離部231で、指
数部データEと、仮数部データMと、符号ビットTとに
分離される。
数部データEと、仮数部データMと、符号ビットTとに
分離される。
【0034】指数部データEは、定数レジスタ232の
出力値17Hとともに減算器、233に入力される。減
算器233は、指数部データEの値から定数レジスタ2
32の値17Hを減算し、結果を加算器234に送る。
出力値17Hとともに減算器、233に入力される。減
算器233は、指数部データEの値から定数レジスタ2
32の値17Hを減算し、結果を加算器234に送る。
【0035】一方、符号ビットTは.そのまま整数デー
タ合成部242に転送されると同時に、スイッチ制御信
号Cとしてスイッチ236,241に印加される。
タ合成部242に転送されると同時に、スイッチ制御信
号Cとしてスイッチ236,241に印加される。
【0036】仮数部データMは、スイッチ236と、2
の補数生成器235とにそれぞれ入力される。次に、2
の補数生成器235では、入力された仮数部データMの
2の補数を求め、その結果をスイッチ236に出力す
る。スイッチ236は、符号ビットTが正のときは仮数
部データMの値を0データ検出器237に送る。符号ビ
ットMが負のときは2の補数生成器235の値を0デー
タ検出器237に送る。同時に、このスイッチ236の
出力値はシフト回路138に入力される。
の補数生成器235とにそれぞれ入力される。次に、2
の補数生成器235では、入力された仮数部データMの
2の補数を求め、その結果をスイッチ236に出力す
る。スイッチ236は、符号ビットTが正のときは仮数
部データMの値を0データ検出器237に送る。符号ビ
ットMが負のときは2の補数生成器235の値を0デー
タ検出器237に送る。同時に、このスイッチ236の
出力値はシフト回路138に入力される。
【0037】0データ検出器237は、スイッチ236
の出力値である仮数部データMの最上位のビットから下
位ビットに連続する0値のビットの数を検出し前記0値
のビットの数を0データ数Oとして出力する。たたえ
ば、入力として000000000011111111
11000が与えられたとすると、この値は先頭ビット
から10ビット0が連続しているので、0データ検出器
237は0データ数Oとして10を出力する。0データ
検出器237の出力の0データ数Oは、シフト回路23
8と加算器234とに送られる。
の出力値である仮数部データMの最上位のビットから下
位ビットに連続する0値のビットの数を検出し前記0値
のビットの数を0データ数Oとして出力する。たたえ
ば、入力として000000000011111111
11000が与えられたとすると、この値は先頭ビット
から10ビット0が連続しているので、0データ検出器
237は0データ数Oとして10を出力する。0データ
検出器237の出力の0データ数Oは、シフト回路23
8と加算器234とに送られる。
【0038】加算器234は、減算器233の出力値と
0データ検出器237の出力の0データ数Oとを加算
し、結果をシフト回路239に入力する。
0データ検出器237の出力の0データ数Oとを加算
し、結果をシフト回路239に入力する。
【0039】シフト回路238は、スイッチ236の出
力値である仮数部データMの値を0データ数Oの値だけ
左シフトするものである。また、シフト回路239は、
加算器234の出力値が正のときは、その値分だけスイ
ッチ236の出力値である仮数部データMの値を左シフ
トし、加算器234の出力値が負のときは、その絶対値
分だけ仮数部データMの値を右シフトする。
力値である仮数部データMの値を0データ数Oの値だけ
左シフトするものである。また、シフト回路239は、
加算器234の出力値が正のときは、その値分だけスイ
ッチ236の出力値である仮数部データMの値を左シフ
トし、加算器234の出力値が負のときは、その絶対値
分だけ仮数部データMの値を右シフトする。
【0040】シフト回路239の出力は、スイッチ制御
信号Cによるスイッチ241の切替により、符号ビット
Tが正のときはそのまま、また、符号ビットTが負のと
きは2の補数生成器240により2の補数に変換され、
それぞれ、整数データ合成部242に入力される。
信号Cによるスイッチ241の切替により、符号ビット
Tが正のときはそのまま、また、符号ビットTが負のと
きは2の補数生成器240により2の補数に変換され、
それぞれ、整数データ合成部242に入力される。
【0041】整数データ合成部では、入力された符号ビ
ットTを符号ビットSとし、スイッチ241からの出力
を数値部とし、定数レジスタ25の出力値により、スイ
ッチ241の出力値を最下位ビットから定数レジスタ2
5の出力値−1のビット数だけ、すなわち、本実施例で
は16−1=15ビットのデータをとりだして符号ビッ
トSと合成し、整数値としてセレクタ24に出力する。
ットTを符号ビットSとし、スイッチ241からの出力
を数値部とし、定数レジスタ25の出力値により、スイ
ッチ241の出力値を最下位ビットから定数レジスタ2
5の出力値−1のビット数だけ、すなわち、本実施例で
は16−1=15ビットのデータをとりだして符号ビッ
トSと合成し、整数値としてセレクタ24に出力する。
【0042】以上述べたように、本実施例のディジタル
シグナルプロセッサは、ハードウェアで構成したデータ
フォーマット変換部により、整数フオーマットのデータ
を2の補数浮動小数点フオーマットのデータに高速に変
換することができる。
シグナルプロセッサは、ハードウェアで構成したデータ
フォーマット変換部により、整数フオーマットのデータ
を2の補数浮動小数点フオーマットのデータに高速に変
換することができる。
【0043】
【発明の効果】以上説明したように、本発明のディジタ
ルシグナルプロセッサは、整数フオーマットのデータを
2の補数浮動小数点フオーマットのデータに変換する整
数浮動小数点データ変換部と、2の補数浮動小数点フオ
ーマットのデータを整数フオーマットのデータに変換す
る浮動小数点整数データ変換部と、整数フオーマットの
データのビット長を指定する整数値桁数指定レジスタと
を備えることにより、整数フオーマットのデータを2の
補数浮動小数点フオーマットのデータに高速に変換する
ことができるという効果がある。
ルシグナルプロセッサは、整数フオーマットのデータを
2の補数浮動小数点フオーマットのデータに変換する整
数浮動小数点データ変換部と、2の補数浮動小数点フオ
ーマットのデータを整数フオーマットのデータに変換す
る浮動小数点整数データ変換部と、整数フオーマットの
データのビット長を指定する整数値桁数指定レジスタと
を備えることにより、整数フオーマットのデータを2の
補数浮動小数点フオーマットのデータに高速に変換する
ことができるという効果がある。
【図1】本発明のディジタルシグナルプロセッサの一実
施例を示すブロック図である。
施例を示すブロック図である。
【図2】本実施例の整数浮動小数点データ変換部の一例
を示すブロック図である。
を示すブロック図である。
【図3】本実施例の浮動小数点整数データ変換部の一例
を示すブロック図である。
を示すブロック図である。
1 ディジタルシグナルプロセッサ 2 データメモリ 3 データバス 11 命令用メモリ 12 命令実行部 13 データ用ROM14 14 データ用RAM 15 内部データバス 16 乗算器 17 ALU 18 アキュムレータ 19 データレジスタ 20 データフォーマット変換部 21,24 セレクタ 22 整数浮動小数点データ変換部 23 浮動小数点整数データ変換部 24,223,232 定数レジスタ 221 整数データ分離部 222 符号ビット拡張部 224 2の補数データ合成部 231 2の補数データ分離部 233 減算器 235,240 2の補数生成器 236,241 スイッチ 237 0データ検出器 238,239 シフト回路 242 整数データ合成部
Claims (2)
- 【請求項1】 予め定められた第1の数値表現である符
号ビットと数値部データとからなる整数フォーマットで
表された数値データである第1のデータを、予め定めら
れた第2の数値表現である指数部データと仮数部符号ビ
ットと仮数部データとからなる2の補数浮動小数点フォ
ーマットの第2のデータに変換して処理するディジタル
シグナルプロセッサにおいて、入力された 前記第1のデータを前記符号ビットと前記数
値部データとに分離し、前記第1のデータのビット長と
前記第2のデータの前記仮数部符号ビットを含めた前記
仮数部データとのビット長との差のビット数分を前記符
号ビットにより充足するよう前記符号ビットを拡張し拡
張符号ビットデータを作成し、前記数値部データと前記
拡張符号ビットデータと第1の定数値とを組合せ前記第
2のデータを合成することにより前記第2のデータに変
換する整数浮動小数点データ変換部と、 前記第2のデータを前記指数部データと前記仮数部符号
ビットと前記仮数部データとに分離し、前記符号ビット
が正のときは前記仮数部データの2の補数の最上位ビッ
トから下位ビットに連続する0値のビットの数を0デー
タ数として検出し、前記仮数部データの2の補数を前記
0データ数のビット分左シフトし左シフト値を生成し、
前記指数部データの値から第2の定数値を減算した減算
値と前記0データ数との加算値が正のときは前記第1の
シフト回路の出力を前記加算値のビット分左シフトし、
前記加算値が負のときは前記左シフト値を前記加算値の
絶対値のビット分右シフトしシフト値を出力し、前記符
号ビットが正のときは前記シフト値を選択データとして
選択し前記符号ビットが負のときは前記シフト値の2の
補数を前記選択データとして選択し、前記符号ビットと
前記選択データとを組合せて前記第1のデータを合成す
ることにより前記第1のデータに変換する浮動小数点整
数データ変換部と、 前記第1のデータのビット長を指定する整数値桁数指定
レジスタと、 入力された前記第1のデータと前記整数浮動小数点デー
タ変換部の出力である前記第2のデータとのいずれか一
方を選択する第1のセレクタと、 入力された前記第2のデータと前記浮動小数点整数デー
タ変換部の出力である前記第1のデータとのいずれか一
方を選択する第2のセレクタとを備えることを特徴とす
るディジタルシグナルプロセッサ。 - 【請求項2】 前記整数浮動小数点データ変換部が、入
力された前記第1のデータを前記符号ビットと前記数値
部データとに分離する入力データ分離部と、 前記第1のデータのビット長と前記第2のデータの前記
仮数部符号ビットを含めた前記仮数部データとのビット
長との差のビット数分を前記符号ビットにより充足する
よう前記符号ビットを拡張し拡張符号ビットデータを出
力する符号ビット拡張部と、第 1の定数値を格納した第1の定数レジスタと、 前記数値部データと前記拡張符号ビットデータと前記第
1の定数値とを組合せ前記第2のデータを合成する2の
補数合成部とを備え、 前記浮動小数点整数データ変換部が、前記第2のデータ
を前記指数部データと前記仮数部符号ビットと前記仮数
部データとに分離する2の補数データ分離部と、第 2の定数値を格納した第2の定数レジスタと、 前記指数部データの値から前記第2の定数値を減算し減
算値を出力する減算器と、 前記仮数部データの2の補数を生成する第1の2の補数
生成器と、 前記符号ビットが正のときは前記仮数部データの2の補
数を選択する第1のスイッチと、 前記第1のスイッチの出力データの最上位ビットから下
位ビットに連続する0値のビットの数を検出し前記0値
のビットの数を0データ数として出力する0データ検出
器と、 前記減算値と前記0データ数とを加算し加算値を出力す
る加算器と、 前記第1のスイッチの出力を前記0データ数のビット分
左シフトし左シフト値を出力する第1のシフト回路と、 前記加算値が正のときは前記左シフト値を前記加算値の
ビット分左シフトし、前記加算値が負のときは前記第1
のシフト回路の出力を前記加算値の絶対値のビット分右
シフトしシフト値を出力する第2のシフト回路と、 前記シフト値の2の補数を生成する第2の2の補数生成
器と、 前記符号ビットが正のときは前記シフト値を選択データ
として選択し前記符号ビットが負のときは前記シフト値
の2の補数を前記選択データとして選択する第2のスイ
ッチと、 前記符号ビットと前記選択データとを組合せて前記第1
のデータを合成する整数データ合成部とを備えることを
特徴とする請求項1記載のディジタルシグナルプロセッ
サ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25737191A JP3286990B2 (ja) | 1991-10-04 | 1991-10-04 | ディジタルシグナルプロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25737191A JP3286990B2 (ja) | 1991-10-04 | 1991-10-04 | ディジタルシグナルプロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05100822A JPH05100822A (ja) | 1993-04-23 |
JP3286990B2 true JP3286990B2 (ja) | 2002-05-27 |
Family
ID=17305460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25737191A Expired - Fee Related JP3286990B2 (ja) | 1991-10-04 | 1991-10-04 | ディジタルシグナルプロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3286990B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100458289C (zh) * | 2004-09-29 | 2009-02-04 | 赤塚心義 | 冷暖风装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4663223B2 (ja) * | 2003-09-11 | 2011-04-06 | パナソニック株式会社 | 演算処理装置 |
JP2006154979A (ja) | 2004-11-25 | 2006-06-15 | Sony Corp | 浮動小数点数演算回路 |
KR101718817B1 (ko) | 2010-11-17 | 2017-03-29 | 삼성전자주식회사 | 부동 소수점 데이터와 정수형 데이터 간의 변환장치 및 그 방법 |
-
1991
- 1991-10-04 JP JP25737191A patent/JP3286990B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100458289C (zh) * | 2004-09-29 | 2009-02-04 | 赤塚心義 | 冷暖风装置 |
Also Published As
Publication number | Publication date |
---|---|
JPH05100822A (ja) | 1993-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7949696B2 (en) | Floating-point number arithmetic circuit for handling immediate values | |
JP3583474B2 (ja) | 乗算装置 | |
CA2530015C (en) | Division and square root arithmetic unit | |
US7188133B2 (en) | Floating point number storage method and floating point arithmetic device | |
JPS59149539A (ja) | 固定小数点−浮動小数点変換装置 | |
EP0530372B1 (en) | Numerical expression converter and vector processor using the same | |
JPH05134851A (ja) | 乗算回路出力方式 | |
WO2001025898A1 (en) | Digital multiply-accumulate circuit that can operate on both integer and floating point numbers simultaneously | |
JP3286990B2 (ja) | ディジタルシグナルプロセッサ | |
KR100627993B1 (ko) | 3입력 분할 가산기 | |
JPH1195982A (ja) | 演算処理回路及び演算処理方法並びに演算処理システム | |
JPH07234778A (ja) | 演算回路 | |
JPH10187416A (ja) | 浮動小数点演算装置 | |
JPS58137045A (ja) | 並列乗算器 | |
JP3213953B2 (ja) | ディジタルシグナルプロセッサ | |
JP2606326B2 (ja) | 乗算器 | |
JP4163967B2 (ja) | 浮動小数点演算装置 | |
JPH0216632A (ja) | 固定小数点数−浮動小数点数変換回路 | |
JP2907276B2 (ja) | 演算処理装置 | |
JP2901463B2 (ja) | 加算装置 | |
JP2993119B2 (ja) | 浮動小数点演算装置 | |
JP3803653B2 (ja) | 乗算処理装置 | |
JPH05233218A (ja) | 三則演算回路 | |
JPH1185471A (ja) | 演算方法および演算装置 | |
JPS6168637A (ja) | 演算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20020212 |
|
LAPS | Cancellation because of no payment of annual fees |