JPH03226831A - 2↑n倍演算回路 - Google Patents
2↑n倍演算回路Info
- Publication number
- JPH03226831A JPH03226831A JP2249890A JP2249890A JPH03226831A JP H03226831 A JPH03226831 A JP H03226831A JP 2249890 A JP2249890 A JP 2249890A JP 2249890 A JP2249890 A JP 2249890A JP H03226831 A JPH03226831 A JP H03226831A
- Authority
- JP
- Japan
- Prior art keywords
- data
- shift
- point format
- accumulator
- selector
- 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
【発明の詳細な説明】
〔概 要]
浮動小数点形式のデータの2″倍演算回路に関し、
浮動小数点形式のデータを取り扱うDSPで、2″倍或
いは1/2”倍する時、算術シフト命令が使用出来る2
″倍演算回路の提供を目的とし、アキュムレータにロー
ドされた浮動小数点形式のデータの指数及び2″倍する
場合の指数nを加算部に入力し、加算結果を該アキュム
レータにロードされた浮動小数点形式のデータの指数と
するように構成する。
いは1/2”倍する時、算術シフト命令が使用出来る2
″倍演算回路の提供を目的とし、アキュムレータにロー
ドされた浮動小数点形式のデータの指数及び2″倍する
場合の指数nを加算部に入力し、加算結果を該アキュム
レータにロードされた浮動小数点形式のデータの指数と
するように構成する。
本発明は、ディジタル信号処理回路(以下DSPと称す
)にて浮動小数点形式のデータを2″倍或いは1/2”
倍する場合、固定小数点形式のデータの場合と同様に算
術シフト命令にて可能とする2ガ倍演算回路に関する。
)にて浮動小数点形式のデータを2″倍或いは1/2”
倍する場合、固定小数点形式のデータの場合と同様に算
術シフト命令にて可能とする2ガ倍演算回路に関する。
DSPは、現在固定小数点形式のデータを取り扱うもの
と、浮動小数点形式のデータを取り扱うものとに大別さ
れ、これ等は、必要とされる精度や、ダイナミックレン
ジにより選択される。
と、浮動小数点形式のデータを取り扱うものとに大別さ
れ、これ等は、必要とされる精度や、ダイナミックレン
ジにより選択される。
両者とも、演算命令の殆どは共通であるが、固定小数点
形式のデータを2・倍或いは1/2″倍する場合に用い
られる、レジスタは少な(でよ(、ステップ数も少ない
算術シフト命令は、浮動小数点形式のデータに用いても
意味がない。
形式のデータを2・倍或いは1/2″倍する場合に用い
られる、レジスタは少な(でよ(、ステップ数も少ない
算術シフト命令は、浮動小数点形式のデータに用いても
意味がない。
一方、様々な信号処理では、ハードウェア簡単化の為に
、2r′倍或いは1/2”倍に近似なものは、2’倍或
いは1/2′″倍とする為に、2″倍或いは1/2’倍
とするアルゴリズムが多く、浮動小数点形式のデータの
場合でも算術シフト命令にて2″倍或いは1/2”倍出
来るものであることが望ましい。
、2r′倍或いは1/2”倍に近似なものは、2’倍或
いは1/2′″倍とする為に、2″倍或いは1/2’倍
とするアルゴリズムが多く、浮動小数点形式のデータの
場合でも算術シフト命令にて2″倍或いは1/2”倍出
来るものであることが望ましい。
第3図は固定小数点形式のデータの表現及び算術シフト
及び2″倍する時のシフト命令を示す図、第4図は1例
の浮動小数点形式のデータの表現及び2n′倍する時の
命令を示す図、第5回は従来例の浮動小数点形式のデー
タの加算回路である。
及び2″倍する時のシフト命令を示す図、第4図は1例
の浮動小数点形式のデータの表現及び2n′倍する時の
命令を示す図、第5回は従来例の浮動小数点形式のデー
タの加算回路である。
固定小数点形式のデータは第3図(A)(a)に示す如
く、2の補数表現の固定小数点で表されており先頭は符
号ビットであり、数式で示すと第3図(A)(b)に示
す通りである。
く、2の補数表現の固定小数点で表されており先頭は符
号ビットであり、数式で示すと第3図(A)(b)に示
す通りである。
固定小数点形式のデータを、算術右シフトすると、第3
図(B)に示す如く、符号を拡張して行い、nビットシ
フトすることは、元の値を1/27倍することに等しく
、nビット算術左シフトすることは、元の値を2”倍す
ることに等しい。
図(B)に示す如く、符号を拡張して行い、nビットシ
フトすることは、元の値を1/27倍することに等しく
、nビット算術左シフトすることは、元の値を2”倍す
ることに等しい。
2″倍する時の命令を示すと、第3図(C)に示す如(
で、(1)アキュムレータに2″倍するデータをロード
、(2)左にnビットシフト、(3)アキュムレータか
らメモリにロード、となり、3ステツプで可能となる。
で、(1)アキュムレータに2″倍するデータをロード
、(2)左にnビットシフト、(3)アキュムレータか
らメモリにロード、となり、3ステツプで可能となる。
勿論、1/2”倍する時は、左シフトを、右にnビット
シフトとする命令とすることで可能となる。
シフトとする命令とすることで可能となる。
浮動小数点形式のデータは第4図(A)(a)に示す如
く、符号ビット、指数部の指数e、仮数部の仮数fを示
す部分よりなり、指数は、正の数とする為にオフセット
値a(例えば127)を加えた値eとなっている。
く、符号ビット、指数部の指数e、仮数部の仮数fを示
す部分よりなり、指数は、正の数とする為にオフセット
値a(例えば127)を加えた値eとなっている。
これを数式で示すと、第4図(A)(b)に示す通りで
ある。
ある。
この場合算術シフトすることは意味がなく、20倍する
時の命令を示すと、第4図(B)に示す如く、(1)被
乗数レジスタAに2n倍するデータをロード、(2)2
”倍の値を乗数レジスタBにロード、(3)乗算、(4
)乗算結果をレジスタPにロードの4ステツプとステッ
プ数が算術シフトの場合より1ステップ多くなり、又レ
ジスタとしてA、B、Pが必要でレジスタ数が多くなる
。
時の命令を示すと、第4図(B)に示す如く、(1)被
乗数レジスタAに2n倍するデータをロード、(2)2
”倍の値を乗数レジスタBにロード、(3)乗算、(4
)乗算結果をレジスタPにロードの4ステツプとステッ
プ数が算術シフトの場合より1ステップ多くなり、又レ
ジスタとしてA、B、Pが必要でレジスタ数が多くなる
。
ここで、浮動小数点形式のデータの加算回路につき第5
図を用いて説明しておく。
図を用いて説明しておく。
第5図は、アキュムレータ1にロードした第1の浮動小
数点形式のデータXと、レジスタ3にロードした第2の
浮動小数点形式のデータYとの加算を行うもので、X、
Yの符号はセレクタ4に入力し、又X、Yの指数はセレ
クタ5及び減算器6に入力し、セレクタ4.5では絶対
値の大きな指数の方のものを選択し、選択された符号は
セレクタ12に入力し、選択された指数は減算器2に入
力し、減算器6では指数の差が求められ、求められた値
は右シフト部9に入力する。
数点形式のデータXと、レジスタ3にロードした第2の
浮動小数点形式のデータYとの加算を行うもので、X、
Yの符号はセレクタ4に入力し、又X、Yの指数はセレ
クタ5及び減算器6に入力し、セレクタ4.5では絶対
値の大きな指数の方のものを選択し、選択された符号は
セレクタ12に入力し、選択された指数は減算器2に入
力し、減算器6では指数の差が求められ、求められた値
は右シフト部9に入力する。
又X、Yの仮数はセレクタ7.8に入力し、セレクタ8
では指数の大きい方を選択して加算器1■に入力し、セ
レクタ7では指数の小さい方を選択し右シフト部9に入
力し、減算器6より人力する指数の差だけ右シフトし、
反転制御部10に入力し、減算となる時は反転制御し、
加算器11に入力する。
では指数の大きい方を選択して加算器1■に入力し、セ
レクタ7では指数の小さい方を選択し右シフト部9に入
力し、減算器6より人力する指数の差だけ右シフトし、
反転制御部10に入力し、減算となる時は反転制御し、
加算器11に入力する。
加算器11では、加算の時は加算し、減算の時はキャリ
入力1を入力して加算し、加算結果を補数器13に入力
し、又符号はセレクタ12に入力する。
入力1を入力して加算し、加算結果を補数器13に入力
し、又符号はセレクタ12に入力する。
補数器13では、加算器11での加算結果が負の時は補
数をとり、正の時はその侭、左シフト部16及びブライ
オリチイエンコーダ14に入力する。
数をとり、正の時はその侭、左シフト部16及びブライ
オリチイエンコーダ14に入力する。
ブライオリチイエンコーダ14では、最初の1がどこに
あるかを見つけ、左シフト部16に入力した値を1.f
の形にするように左シフトし、仮数として出力する。
あるかを見つけ、左シフト部16に入力した値を1.f
の形にするように左シフトし、仮数として出力する。
又この左シフトする値を、プライオリチイエンコーダ1
4より減算器2に入力し、セレクタ5より入力している
指数との減算を行い指数として出力する。
4より減算器2に入力し、セレクタ5より入力している
指数との減算を行い指数として出力する。
セレクタ12では、X、Yの指数が等しい時は、加算器
11よりの符号を選択し、X、 Yの指数が等しくない
時はセレクタ4よりの符号を選択し、符号として出力す
る。
11よりの符号を選択し、X、 Yの指数が等しくない
時はセレクタ4よりの符号を選択し、符号として出力す
る。
出力された加算結果の、符号、指数、仮数はアキュムレ
ータlにロードされる。
ータlにロードされる。
しかしながら、上記説明の如く、従来の浮動小数点形式
のデータを取り扱うDSPでは、2″倍或いは1/2・
倍する時、算術シフト命令が使用出来なく、2″倍或い
は1/2″倍する時の命令のステップ数が多く又レジス
タが多く必要となる問題点がある。
のデータを取り扱うDSPでは、2″倍或いは1/2・
倍する時、算術シフト命令が使用出来なく、2″倍或い
は1/2″倍する時の命令のステップ数が多く又レジス
タが多く必要となる問題点がある。
本発明は、浮動小数点形式のデータを取り扱うDSPで
、2″倍或いは1/2’倍する時、算術シフト命令が使
用出来る2″倍演算回路の提供を目的としている。
、2″倍或いは1/2’倍する時、算術シフト命令が使
用出来る2″倍演算回路の提供を目的としている。
第1図は本発明の原理ブロック図である。
第1図に示す如く、アキュムレータ1にロードされた浮
動小数点形式のデータの指数及び2″倍する場合の指数
nを加算部2に入力し、加算結果を該アキュムレータ1
にロードされた浮動小数点形式のデータの指数とする。
動小数点形式のデータの指数及び2″倍する場合の指数
nを加算部2に入力し、加算結果を該アキュムレータ1
にロードされた浮動小数点形式のデータの指数とする。
本発明によれば、算術シフト命令により指定されたシフ
ト数nは、加算部2に入力し、20倍する時は加算1/
2’倍する時は減算し、加算結果は、アキュムレータ1
にロードされた浮動小数点形式のデータの指数となるの
で、固定小数点形式のデータを、2″倍或いは1/2n
倍する時の、第3図(C)に示す3ステツプの命令で実
行可能となり、又レジスタも、アキュムレータがあれば
可能となり、レジスタは不要となる。
ト数nは、加算部2に入力し、20倍する時は加算1/
2’倍する時は減算し、加算結果は、アキュムレータ1
にロードされた浮動小数点形式のデータの指数となるの
で、固定小数点形式のデータを、2″倍或いは1/2n
倍する時の、第3図(C)に示す3ステツプの命令で実
行可能となり、又レジスタも、アキュムレータがあれば
可能となり、レジスタは不要となる。
路を追加したブロック図である。
第2図にて、第5図の従来例の加算回路と異なる点は、
加算以外に、1/2n倍又−1i9−2″倍演算を行う
ようにする為に、ブライオリチイエンコーダ14の出力
か、算術シフト命令にて指示されたシフト数nかを選択
して減算器2へ入力させるセレクタ15及び、加算回路
の出力の符号が、アキュムレータ1にロードしたデータ
の符号かを選択出力するセレクタ17及び、加算回路の
出力の仮数か、アキュムレータlにロードしたデータの
仮数かを選択出力するセレクタ18を設け、1/2″倍
の演算又←2″倍の演算を行う時は、セレクタ15は、
算術シフト命令にて指示されたシフト数nを選択出力し
、セレクタ17は、アキュムレータ1にロードしたデー
タの符号を選択出力し、セレクタ18は、アキュムレー
タ1にロードしたデータの仮数を選択出力するようにし
た点であり、この異なる点を中心に以下説明する。
加算以外に、1/2n倍又−1i9−2″倍演算を行う
ようにする為に、ブライオリチイエンコーダ14の出力
か、算術シフト命令にて指示されたシフト数nかを選択
して減算器2へ入力させるセレクタ15及び、加算回路
の出力の符号が、アキュムレータ1にロードしたデータ
の符号かを選択出力するセレクタ17及び、加算回路の
出力の仮数か、アキュムレータlにロードしたデータの
仮数かを選択出力するセレクタ18を設け、1/2″倍
の演算又←2″倍の演算を行う時は、セレクタ15は、
算術シフト命令にて指示されたシフト数nを選択出力し
、セレクタ17は、アキュムレータ1にロードしたデー
タの符号を選択出力し、セレクタ18は、アキュムレー
タ1にロードしたデータの仮数を選択出力するようにし
た点であり、この異なる点を中心に以下説明する。
算術シフト命令を用いる時は、強制的にアキュムレータ
1の指数を、セレクタ5を通して減算器2に入力する。
1の指数を、セレクタ5を通して減算器2に入力する。
セレクタ15は、算術シフト命令にて指示されたシフト
数nを選択出力して減算器2に入力するようにし、セレ
クタ1718では、アキュムレータ1にロードした符号
、仮数を選択出力するようにする。
数nを選択出力して減算器2に入力するようにし、セレ
クタ1718では、アキュムレータ1にロードした符号
、仮数を選択出力するようにする。
そして、固定小数点形式のデータを1/2”倍2″倍す
る場合と同じく、第3図(C)に示す、(1)アキュム
レータに2″倍(又は1/2”倍)するデータをロード
、(2)1/2”倍の時はn、2fi倍の時は−nシフ
ト、(3)アキュムレータからメモリにロードの命令を
出すと、減算器2にて、アキュムレータ1にロードされ
ているデータの指数より、nが減算されたり、加算され
、アキュムレータ1にロードされているデータの指数と
置き代えられ、メモリにロードされる。
る場合と同じく、第3図(C)に示す、(1)アキュム
レータに2″倍(又は1/2”倍)するデータをロード
、(2)1/2”倍の時はn、2fi倍の時は−nシフ
ト、(3)アキュムレータからメモリにロードの命令を
出すと、減算器2にて、アキュムレータ1にロードされ
ているデータの指数より、nが減算されたり、加算され
、アキュムレータ1にロードされているデータの指数と
置き代えられ、メモリにロードされる。
即ち、固定小数点形式のデータの場合と同様に0
算術シフトの3ステツプの命令及び3つのレジスタを持
たなくとも172″倍、2′倍の演算が可能となる。
たなくとも172″倍、2′倍の演算が可能となる。
[発明の効果〕
以上詳細に説明せる如く本発明によれば、浮動小数点形
式のデータを1/2″倍、2″倍する場合、固定小数点
形式のデータの場合と同様に算術シフトの3ステツプの
命令及び3つのレジスタを持たなくとも1/2”倍、2
・倍の演算が可能となる効果がある。
式のデータを1/2″倍、2″倍する場合、固定小数点
形式のデータの場合と同様に算術シフトの3ステツプの
命令及び3つのレジスタを持たなくとも1/2”倍、2
・倍の演算が可能となる効果がある。
第1図は本発明の原理ブロック図、
加したブロック図、
第3図は固定小数点形式のデータの表現及び算術シフト
及び2′″倍する時のシフト命令を示す図、第4図は1
例の浮動小数点形式のデータの表現及び2″倍する時の
命令を示す図、 第5図は従来例の浮動小数点形式のデータの加算回路で
ある。 図において、 1はアキュムレータ、 2は加算部、減算器、 3はレジスタ、 4.5,7,8.12 15 17 18はセレクタ、 6は減算器、 9は右シフト部、 10は反転制御部、 11は加算器、 13は補数器、 14はプライオリチイエンコーダ、 16は左シフト部を示す。
及び2′″倍する時のシフト命令を示す図、第4図は1
例の浮動小数点形式のデータの表現及び2″倍する時の
命令を示す図、 第5図は従来例の浮動小数点形式のデータの加算回路で
ある。 図において、 1はアキュムレータ、 2は加算部、減算器、 3はレジスタ、 4.5,7,8.12 15 17 18はセレクタ、 6は減算器、 9は右シフト部、 10は反転制御部、 11は加算器、 13は補数器、 14はプライオリチイエンコーダ、 16は左シフト部を示す。
Claims (1)
- アキュムレータ(1)にロードされた浮動小数点形式の
データの指数及び2^n倍する場合の指数nを加算部(
2)に入力し、加算結果を該アキュムレータ(1)にロ
ードされた浮動小数点形式のデータの指数とすることを
特徴とする2^n倍演算回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2249890A JPH03226831A (ja) | 1990-02-01 | 1990-02-01 | 2↑n倍演算回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2249890A JPH03226831A (ja) | 1990-02-01 | 1990-02-01 | 2↑n倍演算回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03226831A true JPH03226831A (ja) | 1991-10-07 |
Family
ID=12084411
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2249890A Pending JPH03226831A (ja) | 1990-02-01 | 1990-02-01 | 2↑n倍演算回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03226831A (ja) |
-
1990
- 1990-02-01 JP JP2249890A patent/JPH03226831A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR920005226B1 (ko) | 부동 소수점 연산장치 | |
| JPS6242296B2 (ja) | ||
| EP0472139A2 (en) | A floating-point processor | |
| JPH04290122A (ja) | 数値表現変換装置 | |
| JPH0690668B2 (ja) | ファジイ演算装置 | |
| JP2511527B2 (ja) | 浮動小数点演算器 | |
| JPH07234778A (ja) | 演算回路 | |
| JPWO2007094047A1 (ja) | 演算装置および演算方法 | |
| JPH03226831A (ja) | 2↑n倍演算回路 | |
| JPH04172526A (ja) | 浮動小数点除算器 | |
| JP2856792B2 (ja) | 浮動小数点数演算装置 | |
| JPH0251732A (ja) | 浮動小数点演算器 | |
| JPH0225924A (ja) | 浮動小数点演算処理装置 | |
| JP2951685B2 (ja) | 固定小数点演算器 | |
| JP2801472B2 (ja) | 浮動小数点演算装置 | |
| JPH07200259A (ja) | 演算処理方法および演算処理装置 | |
| JPH0361224B2 (ja) | ||
| JPH01111229A (ja) | 浮動小数点加減算器 | |
| JP3124286B2 (ja) | 浮動小数点数演算装置 | |
| JP2792998B2 (ja) | 加減算回路を用いた型変換装置 | |
| JPH05100825A (ja) | 正規化浮動小数点加減算器 | |
| JPH0552532B2 (ja) | ||
| JPH0357488B2 (ja) | ||
| JPH04132538U (ja) | 浮動小数点演算回路 | |
| JPH0540606A (ja) | 浮動小数点乗除算装置 |