JPH0318924A - 浮動小数点加減算回路 - Google Patents
浮動小数点加減算回路Info
- Publication number
- JPH0318924A JPH0318924A JP1153816A JP15381689A JPH0318924A JP H0318924 A JPH0318924 A JP H0318924A JP 1153816 A JP1153816 A JP 1153816A JP 15381689 A JP15381689 A JP 15381689A JP H0318924 A JPH0318924 A JP H0318924A
- Authority
- JP
- Japan
- Prior art keywords
- result
- subtraction
- value
- shift
- register
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 abstract description 3
- 230000000295 complement effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、浮動小数点の加算、減算を行なう際に生じる
桁合せを行なう論理回路に関するものである。
桁合せを行なう論理回路に関するものである。
第2図は従来の技術を示す図である。この図に添って浮
動小数点数の加算を行なう場合を説明をする。
動小数点数の加算を行なう場合を説明をする。
a、bは浮動小数点XとYの指数部を示しC2dは仮数
部を示している。a、cで被加数Xの浮動小数点数、b
、dで加数Yの浮動小数点数である。
部を示している。a、cで被加数Xの浮動小数点数、b
、dで加数Yの浮動小数点数である。
1は2種類の浮動小数点数の指数部“a−b”の差を求
めることとキャリー信号を作る減算器である。2は2種
類の浮動小数点数の仮数部c、dを1のキャリー信号に
よってどちらをシフトレジスタA6に入力するかどちら
を加減算器11の入力とするかの選択を行なうセレクタ
である。3は入力データの大きい方の指数部を選択し指
数部結果レジスタ12に格納するセレクタである。4は
キャリー信号が1′なら結果を反転しその後の加算器1
4の入力データとし“0′なら減算結果をそのままシフ
トカウンタ5に入力する回路である。14は3のキャリ
ー信号eが“1″だった場合に反転された値に+1を加
算する加算器である。
めることとキャリー信号を作る減算器である。2は2種
類の浮動小数点数の仮数部c、dを1のキャリー信号に
よってどちらをシフトレジスタA6に入力するかどちら
を加減算器11の入力とするかの選択を行なうセレクタ
である。3は入力データの大きい方の指数部を選択し指
数部結果レジスタ12に格納するセレクタである。4は
キャリー信号が1′なら結果を反転しその後の加算器1
4の入力データとし“0′なら減算結果をそのままシフ
トカウンタ5に入力する回路である。14は3のキャリ
ー信号eが“1″だった場合に反転された値に+1を加
算する加算器である。
5はシフトレジスタ6の値を何ビットシフトするかとい
う情報をもっているシフトカウンタである。
う情報をもっているシフトカウンタである。
6はシフトする値を格納するシフトレジスタAである。
7はシフトカウンタの値によってシフトレジスタA6の
値をシフトするバレルシフタである。
値をシフトするバレルシフタである。
10はバレルシフタ7でシフトされた結果を格納するシ
フト結果レジスタである。11は上記1〜14によって
桁合せされた仮数部データともう一つ桁合せのなかった
仮数部データを加算又は減算する加減算器である。12
は指数部の結果を格納する指数部結果レジスタである。
フト結果レジスタである。11は上記1〜14によって
桁合せされた仮数部データともう一つ桁合せのなかった
仮数部データを加算又は減算する加減算器である。12
は指数部の結果を格納する指数部結果レジスタである。
13は仮数部の結果を格納する仮数部結果レジスタであ
る。
る。
続いて動作の説明をする。最初に仮数部の動作であるが
、まず指数部のデータa、bを減算器1の入力としこの
2数について“a−b″の減算を行う。この時に結果が
負ならキャリー信号eは“1°に、正なら0′になる。
、まず指数部のデータa、bを減算器1の入力としこの
2数について“a−b″の減算を行う。この時に結果が
負ならキャリー信号eは“1°に、正なら0′になる。
そして仮数部c、dをキャリー信号eをもとに指数部の
小さい方の仮数部データをシフトレジスタA6に入力し
もう片方の仮数部データを加減算器11の入力データと
する。次にキャリー信号eが0′なら1の指数部の減算
結果をそのままシフトカウンタ5に格納し1′なら1の
指数部減算結果の反転値をとりそれにさらに+1を加算
した値をシフトカウンタ5に格納する。シフトカウンタ
5の値が決ったらシフトレジスタ6の値をシフトカウン
タ5の値だけ右シフトする。そして最後にシフト結果と
桁合せをしなかった入力データの加算又は減算を行ない
結果を仮数部結果レジスタ13に格納する。次に指数部
であるが2つの入力データの指数部a、bのデータをキ
ャリー信号eによって判定し大きい方を指数部結果レジ
スタ12に格納する。
小さい方の仮数部データをシフトレジスタA6に入力し
もう片方の仮数部データを加減算器11の入力データと
する。次にキャリー信号eが0′なら1の指数部の減算
結果をそのままシフトカウンタ5に格納し1′なら1の
指数部減算結果の反転値をとりそれにさらに+1を加算
した値をシフトカウンタ5に格納する。シフトカウンタ
5の値が決ったらシフトレジスタ6の値をシフトカウン
タ5の値だけ右シフトする。そして最後にシフト結果と
桁合せをしなかった入力データの加算又は減算を行ない
結果を仮数部結果レジスタ13に格納する。次に指数部
であるが2つの入力データの指数部a、bのデータをキ
ャリー信号eによって判定し大きい方を指数部結果レジ
スタ12に格納する。
今までの浮動小数点数の加算、減算は〔従来の技術〕で
述べたとおり桁合せを行なう際に仮数部のシフト回数を
2数の指数部の減算結果を用いるが、この減算結果が負
になる場合にはそのままではシフト数としては使えない
(シフト数は絶対値でなければならない)ので2の補数
をとる必要があった。2の補数をとるということは、ま
ずデータを反転させてそしてそれに+1を加算しなけれ
ばならない。この加算を実行しているとシフト回数の数
値が確定するのに時間がかかってしまい結果として演算
自体の実行時間が長くなるというような問題があった。
述べたとおり桁合せを行なう際に仮数部のシフト回数を
2数の指数部の減算結果を用いるが、この減算結果が負
になる場合にはそのままではシフト数としては使えない
(シフト数は絶対値でなければならない)ので2の補数
をとる必要があった。2の補数をとるということは、ま
ずデータを反転させてそしてそれに+1を加算しなけれ
ばならない。この加算を実行しているとシフト回数の数
値が確定するのに時間がかかってしまい結果として演算
自体の実行時間が長くなるというような問題があった。
この発明は上記の問題点に着目し時間のかかる2の補数
をとる処理をなくし浮動小数点数の加算、減算の時の桁
合せの処理の時間の短縮を提供することである。
をとる処理をなくし浮動小数点数の加算、減算の時の桁
合せの処理の時間の短縮を提供することである。
本発明は以上のような問題点を解決するために浮動小数
点の加算、減算の時の桁合せをする時の仮数部のシフト
回数を決める場合、2数の指数部の減算結果が負だった
時、2の補数をとりそれをシフト回数とするのではなく
、減算結果を反転しその値分シフトレジスタAに入って
いる値をシフトしさらにシフト後の結果を右に1ビット
シフトすることで結果を補正することを特徴としている
。
点の加算、減算の時の桁合せをする時の仮数部のシフト
回数を決める場合、2数の指数部の減算結果が負だった
時、2の補数をとりそれをシフト回数とするのではなく
、減算結果を反転しその値分シフトレジスタAに入って
いる値をシフトしさらにシフト後の結果を右に1ビット
シフトすることで結果を補正することを特徴としている
。
第1図は本発明の一実施例図である。本実施例を、実際
に値を入力した場合の各レジスタ、信号の内容を示した
第3図(浮動小数点数の加算の場合の各レジスタ等の内
容)に添って説明をする。
に値を入力した場合の各レジスタ、信号の内容を示した
第3図(浮動小数点数の加算の場合の各レジスタ等の内
容)に添って説明をする。
a、bは2つの入力データの指数部を示しC1dは仮数
部を示している。a、Cで被加数Xの浮動小数点数、b
、dで加数Yの浮動小数点数である。
部を示している。a、Cで被加数Xの浮動小数点数、b
、dで加数Yの浮動小数点数である。
1は2種類の浮動小数点数の指数部“a−b””の差を
求めることとキャリー信号eを作る減算器である。2は
2種類の浮動小数点数の仮数部C1dをキャリー信号e
によってどちらをシフトレジスタA6に入力するかどち
らを加算器11の入力とするかの選択を行なうセレクタ
である。3はキャリー信号によって入力データの大きい
方の指数部を選択し指数部結果レジスタ12に格納する
セレクタである。4はキャリー信号がIll なら結果
を反転した値をシフトカウンタ5に入れ0°なら減算結
果をそのままシフトカウンタ5に入力する回路である。
求めることとキャリー信号eを作る減算器である。2は
2種類の浮動小数点数の仮数部C1dをキャリー信号e
によってどちらをシフトレジスタA6に入力するかどち
らを加算器11の入力とするかの選択を行なうセレクタ
である。3はキャリー信号によって入力データの大きい
方の指数部を選択し指数部結果レジスタ12に格納する
セレクタである。4はキャリー信号がIll なら結果
を反転した値をシフトカウンタ5に入れ0°なら減算結
果をそのままシフトカウンタ5に入力する回路である。
5はシフトレジスタA6の値を何ビットシフトするかと
いう情報をもっているシフトカウンタである。6はシフ
トする値を格納するシフトレジスタAである。7はシフ
トカウンタ8の値だけシフトレジスタA6の値をシフト
するバレルシフタである。8はバレルシフタ7でシフト
された結果を格納するシフトレジスタである。9はキャ
リー信号がl′の時にシフトレジスタB8の値を1ビツ
トだけ右シフトするシフタである。IOはキャリー信号
が°1°なら前記シフタ9で1ビツトシフタされたシフ
トレジスタBの値を、 “0′ならシフトレジスタBの
値を格納しておくシフト結果レジスタである。11は上
記1〜10によって桁合せされた仮数部データともう一
つ桁合せのなかった仮数部データを加算又は減算する加
減算器である。12は指数部の結果を格納する指数部結
果レジスタである。13は仮数部の結果を格納する仮数
部結果レジスタである。
いう情報をもっているシフトカウンタである。6はシフ
トする値を格納するシフトレジスタAである。7はシフ
トカウンタ8の値だけシフトレジスタA6の値をシフト
するバレルシフタである。8はバレルシフタ7でシフト
された結果を格納するシフトレジスタである。9はキャ
リー信号がl′の時にシフトレジスタB8の値を1ビツ
トだけ右シフトするシフタである。IOはキャリー信号
が°1°なら前記シフタ9で1ビツトシフタされたシフ
トレジスタBの値を、 “0′ならシフトレジスタBの
値を格納しておくシフト結果レジスタである。11は上
記1〜10によって桁合せされた仮数部データともう一
つ桁合せのなかった仮数部データを加算又は減算する加
減算器である。12は指数部の結果を格納する指数部結
果レジスタである。13は仮数部の結果を格納する仮数
部結果レジスタである。
続いて動作の説明をする。まず指数部のデータa、bを
減算器1の入力としこの2数についてa−b”の減算を
行う。この時に結果が負ならキャリー信号eは1′に正
なら“0°になる。
減算器1の入力としこの2数についてa−b”の減算を
行う。この時に結果が負ならキャリー信号eは1′に正
なら“0°になる。
そして仮数部c、dをキャリー信号eをもとに指数部の
小さい方の仮数部データをシフトレジスタ6にもう片方
のデータを加減算器11の入力データとする。次にキャ
リー信号eが“0′なら1の指数部の減算結果をそのま
まシフトカウンタ5に格納し“1′なら1の指数部減算
結果の反転値をとりシフトカウンタ5に格納する。シフ
トカウンタ5の値が決ったらシフトレジスタ6の値をシ
フトカウント5の値だけ右シフトする。そしてキャリー
信号eが1°ならシフト後の結果をさらに1ビツト右に
シフトし、最後にシフト結果レジスタ10と最初の方で
セレクタで選択された桁合せの行なわれなかった仮数部
の入力データとの加算又は減算を行ない結果を仮数部結
果レジスタ13に格納する。次に指数部の動作であるが
2つの入力データの指数部a、bのデータをキャリー信
号eによって判定し大きい方を指数部結果レジスタ12
に格納する。
小さい方の仮数部データをシフトレジスタ6にもう片方
のデータを加減算器11の入力データとする。次にキャ
リー信号eが“0′なら1の指数部の減算結果をそのま
まシフトカウンタ5に格納し“1′なら1の指数部減算
結果の反転値をとりシフトカウンタ5に格納する。シフ
トカウンタ5の値が決ったらシフトレジスタ6の値をシ
フトカウント5の値だけ右シフトする。そしてキャリー
信号eが1°ならシフト後の結果をさらに1ビツト右に
シフトし、最後にシフト結果レジスタ10と最初の方で
セレクタで選択された桁合せの行なわれなかった仮数部
の入力データとの加算又は減算を行ない結果を仮数部結
果レジスタ13に格納する。次に指数部の動作であるが
2つの入力データの指数部a、bのデータをキャリー信
号eによって判定し大きい方を指数部結果レジスタ12
に格納する。
次に実際に入力データを入力した時の各レジスタの内容
を第3図に添って説明する。まず入力データ“3FFF
8000000000000000” (指数部a、
仮数部C)と“400180000000000000
00”(指数部す、仮数部d)の指数部について“Ia
−b ”の減算を行なう。減算結果はFFFE”であり
この時に作られるキャリー信号は“l”である。
を第3図に添って説明する。まず入力データ“3FFF
8000000000000000” (指数部a、
仮数部C)と“400180000000000000
00”(指数部す、仮数部d)の指数部について“Ia
−b ”の減算を行なう。減算結果はFFFE”であり
この時に作られるキャリー信号は“l”である。
次にキャリー信号eが“1″なのでシフトレジスタA6
には仮数部Cの内容”5ooooooo oooooo
oo”が入り加算器11の片側の入力には仮数部dの内
容“5ooooooo oooooooo”が入る。そ
れと同時にキャリー信号が“1”なので減算結果” F
F F E ”を反転した値“0001″′をシフト
カウンタ5に入力する。そしてシフトレジスタA6の値
“80000000o o o o o o o o
”をシフトカウンタ5の値“0001”分有シフトし結
果“’4000000000000000”をシフトレ
ジスタB7に入力する。次にキャリー信号eが“l”な
のでさらにもう1ビツト右にシフトし結果゛20000
00000000000”をシフト結果レジスタ10に
入力する。そして最初の方で選択された加算器11の片
側のデータ″’5ooooooo oooooooo”
とシフト結果レジスタ10の値゛2000000000
000000″′との加算を行ない結果”AOOOOO
OO00000000”を仮数部結果レジスタ13に入
力する。以上が仮数部のデータの流れである。
には仮数部Cの内容”5ooooooo oooooo
oo”が入り加算器11の片側の入力には仮数部dの内
容“5ooooooo oooooooo”が入る。そ
れと同時にキャリー信号が“1”なので減算結果” F
F F E ”を反転した値“0001″′をシフト
カウンタ5に入力する。そしてシフトレジスタA6の値
“80000000o o o o o o o o
”をシフトカウンタ5の値“0001”分有シフトし結
果“’4000000000000000”をシフトレ
ジスタB7に入力する。次にキャリー信号eが“l”な
のでさらにもう1ビツト右にシフトし結果゛20000
00000000000”をシフト結果レジスタ10に
入力する。そして最初の方で選択された加算器11の片
側のデータ″’5ooooooo oooooooo”
とシフト結果レジスタ10の値゛2000000000
000000″′との加算を行ない結果”AOOOOO
OO00000000”を仮数部結果レジスタ13に入
力する。以上が仮数部のデータの流れである。
次に指数部について説明する。指数部のデータの流れは
単純でこの例の場合はキャリー信号が“1”なので指数
部すの値“4001″が指数部結果レジスタ12にはい
る。
単純でこの例の場合はキャリー信号が“1”なので指数
部すの値“4001″が指数部結果レジスタ12にはい
る。
本発明は従来浮動小数点の加算、減算時に行なわれてい
た桁合せ処理時の仮数部の桁合せシフトのシフト回数を
決める時に指数部同志の減算結果が負になった時に絶対
値のシフト回数を得る為に従来は2の補数をとっていた
が本発明の1の補数でシフトし更にシフト後の結果を右
に1ビットシフトするやり方に変えることによって浮動
小数点の加算、減算が今までよりも高速に行なえるよう
になった。
た桁合せ処理時の仮数部の桁合せシフトのシフト回数を
決める時に指数部同志の減算結果が負になった時に絶対
値のシフト回数を得る為に従来は2の補数をとっていた
が本発明の1の補数でシフトし更にシフト後の結果を右
に1ビットシフトするやり方に変えることによって浮動
小数点の加算、減算が今までよりも高速に行なえるよう
になった。
第1図は本発明の一実施例図、第2図は従来の技術のブ
ロック図、第3図は第1図において実際に結果を入力し
た時の各レジスタ、信号等の値を示す図である。 l・・・・・・減算器、2・・・・・・セレクタ、3・
・・・・・セレクタ、4・・・・・・反転回路、5・・
・・・・シフトカウンタ、6・・・・・・シフトレジス
タA、7・・・・・・バレルシフタ、8・・・・・・シ
フトレジスタB、9・・・・・・シフタ、10・・・・
・シフト結果レジスタ、11・・・・・・加減算器、1
2・・・・・・指数部結果レジスタ、13・・・・・・
仮数部結果レジスタ、14・・・・・・加算器。
ロック図、第3図は第1図において実際に結果を入力し
た時の各レジスタ、信号等の値を示す図である。 l・・・・・・減算器、2・・・・・・セレクタ、3・
・・・・・セレクタ、4・・・・・・反転回路、5・・
・・・・シフトカウンタ、6・・・・・・シフトレジス
タA、7・・・・・・バレルシフタ、8・・・・・・シ
フトレジスタB、9・・・・・・シフタ、10・・・・
・シフト結果レジスタ、11・・・・・・加減算器、1
2・・・・・・指数部結果レジスタ、13・・・・・・
仮数部結果レジスタ、14・・・・・・加算器。
Claims (1)
- 浮動小数点の2進加算減算回路において、被加数および
加数または被減数および減数の指数の差を求める減算器
と、前記減算器の減算結果が正ならばその減算結果をシ
フト回数とし、負ならば前記減算結果を反転した値をシ
フト回数とする回路と、被加数または加数、被減数また
は減数のうち指数部の小さい方の仮数部の値を前記シフ
ト回路に従って一方向にシフトするバレルシフタと、前
記減算結果が正ならそのままの値をシフト結果とし負な
らばシフトした結果をさらに同一方向に1ビットシフト
してそれをシフト結果とする回路と、前記回路で得られ
た仮数部の値を用いて加算あるいは減算する回路とを備
えたことを特徴とする浮動小数点加減算回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1153816A JP2752698B2 (ja) | 1989-06-15 | 1989-06-15 | 浮動小数点加減算回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1153816A JP2752698B2 (ja) | 1989-06-15 | 1989-06-15 | 浮動小数点加減算回路 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0318924A true JPH0318924A (ja) | 1991-01-28 |
| JP2752698B2 JP2752698B2 (ja) | 1998-05-18 |
Family
ID=15570724
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1153816A Expired - Fee Related JP2752698B2 (ja) | 1989-06-15 | 1989-06-15 | 浮動小数点加減算回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2752698B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5692984A (en) * | 1994-12-09 | 1997-12-02 | Sr Engineering Company Limited | Flexible drive member for pulling and pushing and fluid-operated moving apparatus |
-
1989
- 1989-06-15 JP JP1153816A patent/JP2752698B2/ja not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5692984A (en) * | 1994-12-09 | 1997-12-02 | Sr Engineering Company Limited | Flexible drive member for pulling and pushing and fluid-operated moving apparatus |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2752698B2 (ja) | 1998-05-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3076046B2 (ja) | 例外検出回路 | |
| US5469377A (en) | Floating point computing device for simplifying procedures accompanying addition or subtraction by detecting whether all of the bits of the digits of the mantissa are 0 or 1 | |
| JPH04167125A (ja) | 浮動小数点加算装置 | |
| KR900010545A (ko) | 연산장치와 연산방법 | |
| US4110831A (en) | Method and means for tracking digit significance in arithmetic operations executed on decimal computers | |
| JPH0346024A (ja) | 浮動小数点演算器 | |
| JPH03135627A (ja) | ファジイ演算装置 | |
| JPH0479015B2 (ja) | ||
| JPH0318924A (ja) | 浮動小数点加減算回路 | |
| US3489888A (en) | Floating point look-ahead binary multiplication system utilizing two's complement notation for representing negative numbers | |
| JPH0511980A (ja) | 桁あふれ検出方式とその回路 | |
| JPH0464091B2 (ja) | ||
| JP2664750B2 (ja) | 演算装置及び演算処理方法 | |
| JP2856792B2 (ja) | 浮動小数点数演算装置 | |
| JPH0435777B2 (ja) | ||
| JP2591250B2 (ja) | データ処理装置 | |
| KR0176883B1 (ko) | 복소수 승산기 | |
| KR100198783B1 (ko) | 직렬처리 나눗셈기의 구동 방법 | |
| JP2782827B2 (ja) | 比較演算回路 | |
| JPH0439725A (ja) | 演算回路 | |
| JPS6129020B2 (ja) | ||
| JPS62159224A (ja) | 浮動小数点演算回路 | |
| JPH03150631A (ja) | 10進除算回路 | |
| JPH02165326A (ja) | 非回復型除算器 | |
| JPH02178833A (ja) | 異なるビット長のデータを加算する加算器 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080227 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090227 Year of fee payment: 11 |
|
| LAPS | Cancellation because of no payment of annual fees |