JPH0527949A - 浮動小数点乗算における指数部演算回路 - Google Patents
浮動小数点乗算における指数部演算回路Info
- Publication number
- JPH0527949A JPH0527949A JP3184987A JP18498791A JPH0527949A JP H0527949 A JPH0527949 A JP H0527949A JP 3184987 A JP3184987 A JP 3184987A JP 18498791 A JP18498791 A JP 18498791A JP H0527949 A JPH0527949 A JP H0527949A
- Authority
- JP
- Japan
- Prior art keywords
- precision
- bit
- bits
- exponent
- double
- 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.)
- Withdrawn
Links
Abstract
(57)【要約】
【目的】 IEEE形式の浮動小数点乗算回路に係り、
特に単精度乗算と倍精度乗算とを切り換えて使用できる
浮動少数点乗算回路の指数部演算回路に関し、13ビッ
トの減算器を削減して回路規模の縮小と遅延時間を短縮
することを目的とする。 【構成】 単精度倍精度変換部CNV1,CNV2は、
8ビット幅の単精度指数データの最上位ビットを第1ビ
ットとし、該最上位ビットの反転を第2、第3、第4ビ
ットとする4ビットを前記単精度指数データの下位7ビ
ットに付加して11ビットの倍精度指数データに変換す
る。11ビットの倍精度表現の指数データは加算される
とともに桁上げ入力により指数部の和+1の13ビット
データとして13ビット加算器ADD1で出力され、そ
の上位3ビットに3ビット加算器により“111”が加
えられることによって固定バイアス値1023の減算処
理が行われる。
特に単精度乗算と倍精度乗算とを切り換えて使用できる
浮動少数点乗算回路の指数部演算回路に関し、13ビッ
トの減算器を削減して回路規模の縮小と遅延時間を短縮
することを目的とする。 【構成】 単精度倍精度変換部CNV1,CNV2は、
8ビット幅の単精度指数データの最上位ビットを第1ビ
ットとし、該最上位ビットの反転を第2、第3、第4ビ
ットとする4ビットを前記単精度指数データの下位7ビ
ットに付加して11ビットの倍精度指数データに変換す
る。11ビットの倍精度表現の指数データは加算される
とともに桁上げ入力により指数部の和+1の13ビット
データとして13ビット加算器ADD1で出力され、そ
の上位3ビットに3ビット加算器により“111”が加
えられることによって固定バイアス値1023の減算処
理が行われる。
Description
【0001】
【産業上の利用分野】本発明は、IEEE形式の浮動小
数点乗算回路に係り、特に単精度乗算と倍精度乗算とを
切り換えて使用できる浮動少数点乗算回路の指数部演算
回路に関する。
数点乗算回路に係り、特に単精度乗算と倍精度乗算とを
切り換えて使用できる浮動少数点乗算回路の指数部演算
回路に関する。
【0002】IEE方式では、負〜正の範囲をとる指数
を正整数で表わせるようにするため、単精度では12
7、倍精度では1023のバイアス値分だけ指数を+側
に偏位させる偏位指数を用いている。
を正整数で表わせるようにするため、単精度では12
7、倍精度では1023のバイアス値分だけ指数を+側
に偏位させる偏位指数を用いている。
【0003】
【従来の技術】従来、浮動少数点表示のデータ処理が多
用されているが、浮動小数点のデータ表現によっては精
度によって指数部のビット幅が異なるものがあり、単一
の演算装置で異なるビット幅の指数部を扱う必要があ
る。図3は、本発明が対象とするIEEE形式の浮動少
数点表示のフォーマットである。これには、浮動小数点
数値を64ビットで表す倍精度浮動少数点(a)と32
ビットで表す単精度浮動小数点(b)とがある。それぞ
れにおいてSは正負の符号部、Eは指数部、Fは仮数部
で、このように表現されたデータはそれぞれ下側に示し
た数値を表現するものである。指数部Eは、単精度では
8ビット幅、倍精度では11ビット幅と規定されてい
る。
用されているが、浮動小数点のデータ表現によっては精
度によって指数部のビット幅が異なるものがあり、単一
の演算装置で異なるビット幅の指数部を扱う必要があ
る。図3は、本発明が対象とするIEEE形式の浮動少
数点表示のフォーマットである。これには、浮動小数点
数値を64ビットで表す倍精度浮動少数点(a)と32
ビットで表す単精度浮動小数点(b)とがある。それぞ
れにおいてSは正負の符号部、Eは指数部、Fは仮数部
で、このように表現されたデータはそれぞれ下側に示し
た数値を表現するものである。指数部Eは、単精度では
8ビット幅、倍精度では11ビット幅と規定されてい
る。
【0004】浮動少数点数の乗算における指数部の処理
は2つのオペランドx,yの加算である。実際には正負
の範囲の整数である指数値に所定のバイアス値Bを加え
て浮動小数点データの指数部が正数となるよう偏位させ
ている。
は2つのオペランドx,yの加算である。実際には正負
の範囲の整数である指数値に所定のバイアス値Bを加え
て浮動小数点データの指数部が正数となるよう偏位させ
ている。
【0005】従って、指数部の値Eとしては、実際の数
値の指数eに定数Bを加えたE=e+Bが用いられてお
り、二つのオペランドx,yの加算は、バイアス表現さ
れたX=x+B、Y=y+Bを用いて(x+y)+B=
X+Y−Bとして行われ、二つのオペランドの加算のほ
か、定数Bの減算を含めて効率よく行う必要がある。
値の指数eに定数Bを加えたE=e+Bが用いられてお
り、二つのオペランドx,yの加算は、バイアス表現さ
れたX=x+B、Y=y+Bを用いて(x+y)+B=
X+Y−Bとして行われ、二つのオペランドの加算のほ
か、定数Bの減算を含めて効率よく行う必要がある。
【0006】IEEE規格では、バイアス値Bとして、
倍精度浮動小数点では1023(=210−1)、単精度
浮動小数点では127(=27 −1)が規定されている。
図4は、従来例の指数部演算回路の図である。SEL
1、SEL2はそれぞれ乗数X、被乗数Yに対して設け
られ、精度選択信号SXDによって単精度・倍精度を選
択するセレクタであり、ADDは倍精度の11ビットの加
算を桁上げと符号を含めて可能とするための13ビット
幅の加算器であり、単精度の場合には下位11ビットが
用いられる。SUBは13ビットの減算器で、ADDの
出力と、SEL3によって精度に対応して選択されたバ
イアス値1023(倍精度)または127(単精度)と
が入力されてバイアス値の減算を行う。
倍精度浮動小数点では1023(=210−1)、単精度
浮動小数点では127(=27 −1)が規定されている。
図4は、従来例の指数部演算回路の図である。SEL
1、SEL2はそれぞれ乗数X、被乗数Yに対して設け
られ、精度選択信号SXDによって単精度・倍精度を選
択するセレクタであり、ADDは倍精度の11ビットの加
算を桁上げと符号を含めて可能とするための13ビット
幅の加算器であり、単精度の場合には下位11ビットが
用いられる。SUBは13ビットの減算器で、ADDの
出力と、SEL3によって精度に対応して選択されたバ
イアス値1023(倍精度)または127(単精度)と
が入力されてバイアス値の減算を行う。
【0007】そして、この減算器としては、加算器ADD
からの入力が13ビットであるため、13ビットの減算器
が用いられていた。
からの入力が13ビットであるため、13ビットの減算器
が用いられていた。
【0008】
【発明が解決しようとする課題】上記従来の指数部演算
回路では、バイアス値の減算のために13ビットの減算
器を用いているため減算器の回路規模が大きくなりまた
遅延が大きく高速演算が困難という問題があった。
回路では、バイアス値の減算のために13ビットの減算
器を用いているため減算器の回路規模が大きくなりまた
遅延が大きく高速演算が困難という問題があった。
【0009】本発明は上記課題に鑑み創出されたもの
で、13ビットの減算器を削減して回路規模の縮小と遅
延時間を短縮することを目的とする。
で、13ビットの減算器を削減して回路規模の縮小と遅
延時間を短縮することを目的とする。
【0010】
【課題を解決するための手段】図1は、本発明の指数部
演算回路の構成図である。上記問題点は、図1に示す如
く、指数部が8ビット幅の単精度浮動小数点数同志また
は指数部が11ビット幅の倍精度浮動小数点数同志の乗
算を行う乗算回路における指数部演算回路であって、8
ビット幅の単精度指数データの最上位ビットを第1ビッ
トとし、該最上位ビットの反転を第2、第3、第4ビッ
トとする4ビットを前記単精度指数データの下位7ビッ
トに付加して11ビットの倍精度指数データに変換する
単精度倍精度変換部CNV1,CNV2と、入力する倍
精度指数データと前記単精度倍精度変換部CNV1,C
NV2の出力とを精度選択信号SXDに基づいて選択す
るセレクタSEL1,SEL2と、を乗数、被乗数に対
応して2組設け、該2組のセレクタSEL1,SEL2
の出力を加算しかつ桁上げ入力を加えることよって指数
部の和+1を求める13ビット加算器ADD1と、該1
3ビット加算器ADD1の出力の上位3ビットに“11
1”を加える3ビット加算器ADD2とを有し、該13
ビット加算器ADD1の出力の下位10ビットと前記3
ビット加算器ADD2の出力との13ビットを指数部演
算結果として出力することを特徴とする本発明の浮動少
数点乗算における指数部演算回路により解決される。
演算回路の構成図である。上記問題点は、図1に示す如
く、指数部が8ビット幅の単精度浮動小数点数同志また
は指数部が11ビット幅の倍精度浮動小数点数同志の乗
算を行う乗算回路における指数部演算回路であって、8
ビット幅の単精度指数データの最上位ビットを第1ビッ
トとし、該最上位ビットの反転を第2、第3、第4ビッ
トとする4ビットを前記単精度指数データの下位7ビッ
トに付加して11ビットの倍精度指数データに変換する
単精度倍精度変換部CNV1,CNV2と、入力する倍
精度指数データと前記単精度倍精度変換部CNV1,C
NV2の出力とを精度選択信号SXDに基づいて選択す
るセレクタSEL1,SEL2と、を乗数、被乗数に対
応して2組設け、該2組のセレクタSEL1,SEL2
の出力を加算しかつ桁上げ入力を加えることよって指数
部の和+1を求める13ビット加算器ADD1と、該1
3ビット加算器ADD1の出力の上位3ビットに“11
1”を加える3ビット加算器ADD2とを有し、該13
ビット加算器ADD1の出力の下位10ビットと前記3
ビット加算器ADD2の出力との13ビットを指数部演
算結果として出力することを特徴とする本発明の浮動少
数点乗算における指数部演算回路により解決される。
【0011】
【作用】単精度乗算の際には、乗数、被乗数の8ビット
の指数部を単精度倍精度変換部を介して指数部を倍精度
に変換して倍精度演算と同様に11ビットで表し、これ
を加算することよって加算結果から減算するバイアス値
を単精度、倍精度演算の両方に共通に1023に固定す
る。この変換部は、上位1ビットの値をそのまま11ビ
ット目に、またインバータを介して3分割して10〜8
ビット目とするので、単純な回路構成で実現できる。
の指数部を単精度倍精度変換部を介して指数部を倍精度
に変換して倍精度演算と同様に11ビットで表し、これ
を加算することよって加算結果から減算するバイアス値
を単精度、倍精度演算の両方に共通に1023に固定す
る。この変換部は、上位1ビットの値をそのまま11ビ
ット目に、またインバータを介して3分割して10〜8
ビット目とするので、単純な回路構成で実現できる。
【0012】そして、加算器に入力する桁上げ信号によ
って、加算器の出力は指数部の和+1となるので、バイ
アス値+1=1024を減算すればよい。ところで、−
1024は2進数13ビットで表現すると“11100
00000000”となり、下位10ビットは全て
“0”なので、加算器出力に対して上位3ビットの加算
のみで−1024の減算を実現できる。
って、加算器の出力は指数部の和+1となるので、バイ
アス値+1=1024を減算すればよい。ところで、−
1024は2進数13ビットで表現すると“11100
00000000”となり、下位10ビットは全て
“0”なので、加算器出力に対して上位3ビットの加算
のみで−1024の減算を実現できる。
【0013】従って、従来技術における13ビット減算
器の代わりに3ビット加算器でバイアス値の減算がで
き、回路規模が減少し動作遅延が小さくなる。
器の代わりに3ビット加算器でバイアス値の減算がで
き、回路規模が減少し動作遅延が小さくなる。
【0014】
【実施例】以下添付図により本発明の実施例を説明す
る。図1は本発明の指数部演算回路の構成図、図2は単
精度倍精度変換部の構成図である。
る。図1は本発明の指数部演算回路の構成図、図2は単
精度倍精度変換部の構成図である。
【0015】図1において、CNV1,CNV2は単精
度倍精度変換部で、単精度でのバイアス値127が足さ
れた8ビットの単精度指数データを倍精度でのバイアス
値1023が足された11ビットの倍精度指数データに
変換する。
度倍精度変換部で、単精度でのバイアス値127が足さ
れた8ビットの単精度指数データを倍精度でのバイアス
値1023が足された11ビットの倍精度指数データに
変換する。
【0016】図2により単精度倍精度変換部の構成とそ
の作用を説明する。単精度から倍精度への変換は、デー
タのバイアス値を127から1023に増やすことを意
味し、バイアス値の増加分1023−127=896を
8ビットデータに加える必要がある。896はバイナリ
表現では10ビット幅の“1110000000”とな
り下位7ビットは“0”、上位3ビットが“1”であ
る。
の作用を説明する。単精度から倍精度への変換は、デー
タのバイアス値を127から1023に増やすことを意
味し、バイアス値の増加分1023−127=896を
8ビットデータに加える必要がある。896はバイナリ
表現では10ビット幅の“1110000000”とな
り下位7ビットは“0”、上位3ビットが“1”であ
る。
【0017】従って、896の加算結果は、8ビット入
力の最上位の1ビットに111を加えた結果を上位4ビ
ットとして、8ビット入力の下位7ビットに付加した1
1ビットとなる。最上位ビットが“1”のときは、加算
結果は“1000”、“0”のときは“0111”とな
る。以上の動作は、8ビット入力の最上位ビットの値E
7 を第1ビットとし、またインバータを介したE7の反
転を第2、第3、第4ビットとする4ビットを、入力が
そのまま出力される下位7ビットE0 〜E6 に付加して
出力する図2の回路で実現できる。
力の最上位の1ビットに111を加えた結果を上位4ビ
ットとして、8ビット入力の下位7ビットに付加した1
1ビットとなる。最上位ビットが“1”のときは、加算
結果は“1000”、“0”のときは“0111”とな
る。以上の動作は、8ビット入力の最上位ビットの値E
7 を第1ビットとし、またインバータを介したE7の反
転を第2、第3、第4ビットとする4ビットを、入力が
そのまま出力される下位7ビットE0 〜E6 に付加して
出力する図2の回路で実現できる。
【0018】図1において、乗数X、被乗数Yとして入
力された8ビット単精度の指数データX30〜23、Y30〜
23は単精度倍精度変換回路を通り11ビットの倍精度表
現の指数データとして、また11ビットの倍精度指数デ
ータX62 〜52、Y62〜52はそのままで、それぞれセレク
タSEL1,SEL2に入力する。
力された8ビット単精度の指数データX30〜23、Y30〜
23は単精度倍精度変換回路を通り11ビットの倍精度表
現の指数データとして、また11ビットの倍精度指数デ
ータX62 〜52、Y62〜52はそのままで、それぞれセレク
タSEL1,SEL2に入力する。
【0019】セレクタSEL1、SEL2は精度選択信
号SXDで制御されて単精度入力と倍精度入力とを切替
えて出力を加算器ADD1に入力する。加算器ADD1
は、入力される乗数、被乗数の11ビットの指数部の加
算を行う13ビット幅の加算器であり、桁上げ入力CI
に“1”が入力されており、乗数と被乗数の指数の和に
1を加えた値を13ビットで出力する。
号SXDで制御されて単精度入力と倍精度入力とを切替
えて出力を加算器ADD1に入力する。加算器ADD1
は、入力される乗数、被乗数の11ビットの指数部の加
算を行う13ビット幅の加算器であり、桁上げ入力CI
に“1”が入力されており、乗数と被乗数の指数の和に
1を加えた値を13ビットで出力する。
【0020】加算器ADD2は3ビット幅で、加算器A
DD1が出力する加算結果の13ビットの内の上位3ビ
ットに“111”を加える。上記13ビット加算器AD
D1と3ビット加算器ADD2とで、指数データの加算
結果から倍精度のバイアス値1023を減算して倍精度
表現の指数データを求める処理を行う。即ち、乗数の指
数+被乗数の指数−1023=乗数の指数+被乗数の指
数+1−1024となり、−1024は213−1024
=7168=1*212+1*211+1*210であるか
ら、ADD1が出力する13ビットの演算結果(=乗数
の指数+被乗数の指数+1)の上位3ビットに、ADD
2で“111”を加算することに相当するからである。
DD1が出力する加算結果の13ビットの内の上位3ビ
ットに“111”を加える。上記13ビット加算器AD
D1と3ビット加算器ADD2とで、指数データの加算
結果から倍精度のバイアス値1023を減算して倍精度
表現の指数データを求める処理を行う。即ち、乗数の指
数+被乗数の指数−1023=乗数の指数+被乗数の指
数+1−1024となり、−1024は213−1024
=7168=1*212+1*211+1*210であるか
ら、ADD1が出力する13ビットの演算結果(=乗数
の指数+被乗数の指数+1)の上位3ビットに、ADD
2で“111”を加算することに相当するからである。
【0021】そして、3ビット加算器ADD2の出力を
上位3ビットとし、13ビット加算器ADD1の下位1
0ビットを下位10ビットとする13ビットの指数デー
タが指数演算結果として出力される。
上位3ビットとし、13ビット加算器ADD1の下位1
0ビットを下位10ビットとする13ビットの指数デー
タが指数演算結果として出力される。
【0022】
【発明の効果】以上説明した如く、本発明によれば、単
精度・倍精度変換により単精度演算の場合にもバイアス
値を倍精度と共通の1023に固定したので、バイアス
減算器を3ビットの加算器で代用でき、演算回路の回路
規模を縮小できまた遅延時間も短縮できるという効果が
ある。
精度・倍精度変換により単精度演算の場合にもバイアス
値を倍精度と共通の1023に固定したので、バイアス
減算器を3ビットの加算器で代用でき、演算回路の回路
規模を縮小できまた遅延時間も短縮できるという効果が
ある。
【図1】 本発明の指数部演算回路の構成図
【図2】 単精度倍精度変換部の構成図
【図3】 IEEE規格による浮動小数点表示のフォー
マット
マット
【図4】 従来例の指数部演算回路の図
CNV1,CNV2─単精度倍精度変換部、SEL1,
SEL2─セレクタ、ADD1─13ビット加算器、A
DD2─3ビット加算器
SEL2─セレクタ、ADD1─13ビット加算器、A
DD2─3ビット加算器
Claims (1)
- 【特許請求の範囲】 【請求項1】 指数部が8ビット幅の単精度浮動小数点
数同志または指数部が11ビット幅の倍精度浮動小数点
数同志の乗算を行う乗算回路における指数部演算回路で
あって、 8ビット幅の単精度指数データの最上位ビットを第1ビ
ットとし、該最上位ビットの反転を第2、第3、第4ビ
ットとする4ビットを前記単精度指数データの下位7ビ
ットに付加して11ビット幅の倍精度指数データに変換
する単精度倍精度変換部(CNV1,CNV2)と、 入力する倍精度指数データと前記単精度倍精度変換部
(CNV1,CNV2)の出力とを精度選択信号SXD
に基づいて選択するセレクタ(SEL1,SEL2)
と、を乗数、被乗数に対応して2組設け、 該2組のセレクタ(SEL1,SEL2)の出力を加算
しかつ桁上げ入力を加えることよって指数部の和+1を
求める13ビット加算器(ADD1)と、 該13ビット加算器(ADD1)の出力の上位3ビット
に“111”を加える3ビット加算器(ADD2)とを
有し、 該13ビット加算器(ADD1)の出力の下位10ビッ
トと前記3ビット加算器(ADD2)の出力との13ビ
ットを指数部演算結果として出力することを特徴とする
本発明の浮動小数点乗算における指数部演算回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3184987A JPH0527949A (ja) | 1991-07-25 | 1991-07-25 | 浮動小数点乗算における指数部演算回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3184987A JPH0527949A (ja) | 1991-07-25 | 1991-07-25 | 浮動小数点乗算における指数部演算回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0527949A true JPH0527949A (ja) | 1993-02-05 |
Family
ID=16162817
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3184987A Withdrawn JPH0527949A (ja) | 1991-07-25 | 1991-07-25 | 浮動小数点乗算における指数部演算回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0527949A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100385233B1 (ko) * | 2000-03-14 | 2003-05-23 | 삼성전자주식회사 | 데이터 프로세싱 시스템의 익스포넌트 유닛 |
| KR100431707B1 (ko) * | 1996-11-12 | 2004-09-04 | 주식회사 하이닉스반도체 | 부동소수점연산에서의지수처리방법 |
-
1991
- 1991-07-25 JP JP3184987A patent/JPH0527949A/ja not_active Withdrawn
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100431707B1 (ko) * | 1996-11-12 | 2004-09-04 | 주식회사 하이닉스반도체 | 부동소수점연산에서의지수처리방법 |
| KR100385233B1 (ko) * | 2000-03-14 | 2003-05-23 | 삼성전자주식회사 | 데이터 프로세싱 시스템의 익스포넌트 유닛 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0472139B1 (en) | A floating-point processor | |
| KR101718817B1 (ko) | 부동 소수점 데이터와 정수형 데이터 간의 변환장치 및 그 방법 | |
| US7188133B2 (en) | Floating point number storage method and floating point arithmetic device | |
| JP2884057B2 (ja) | 数値フォーマット変換装置 | |
| JPH04290122A (ja) | 数値表現変換装置 | |
| US5111421A (en) | System for performing addition and subtraction of signed magnitude floating point binary numbers | |
| JP4274633B2 (ja) | 累乗演算装置 | |
| US5272654A (en) | System for converting a floating point signed magnitude binary number to a two's complement binary number | |
| US5181184A (en) | Apparatus for multiplying real-time 2's complement code in a digital signal processing system and a method for the same | |
| JPH05134851A (ja) | 乗算回路出力方式 | |
| US5862068A (en) | Arithmetic circuit for calculating a square-root of a sum of squares | |
| JP2693800B2 (ja) | 浮動小数点データ総和演算回路 | |
| JPH09138792A (ja) | ログの近似値の計算方法およびその回路 | |
| JPH086766A (ja) | 正弦余弦演算装置 | |
| JP2645422B2 (ja) | 浮動小数点演算処理装置 | |
| JP2795253B2 (ja) | 除算器 | |
| JPH07200259A (ja) | 演算処理方法および演算処理装置 | |
| JP2890412B2 (ja) | 符号変換回路 | |
| JPH0659862A (ja) | 乗算器 | |
| JPS61230428A (ja) | デイジタル信号処理回路 | |
| JPS6359170B2 (ja) | ||
| JP2901463B2 (ja) | 加算装置 | |
| JP2002344316A (ja) | 非線形量子化装置および非線形量子化方法、並びに非線形量子化プログラム | |
| JPH03102519A (ja) | 除算器 | |
| JPH05167456A (ja) | 演算回路 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19981008 |