JPS63310021A - 丸め処理回路 - Google Patents
丸め処理回路Info
- Publication number
- JPS63310021A JPS63310021A JP62145564A JP14556487A JPS63310021A JP S63310021 A JPS63310021 A JP S63310021A JP 62145564 A JP62145564 A JP 62145564A JP 14556487 A JP14556487 A JP 14556487A JP S63310021 A JPS63310021 A JP S63310021A
- Authority
- JP
- Japan
- Prior art keywords
- rounding
- circuit
- carry
- rounding processing
- floating point
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 25
- 238000007792 addition Methods 0.000 description 14
- 238000000034 method Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/485—Adding; Subtracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
- G06F7/49947—Rounding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Nonlinear Science (AREA)
- General Engineering & Computer Science (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、二つの浮動小数点数の演算後の数の丸め処理
回路に関するものである。
回路に関するものである。
従来の技術
まず、小数点以下任意桁の仮数部をもつ2つの二進浮動
小数点数の演算結果を、小数点数取下位n桁の仮数部を
もつ二進浮動小数点数に丸め処理する場合、二進浮動小
数点数仮数部において、何故、二通りの丸め処理が必要
かを述べる。
小数点数の演算結果を、小数点数取下位n桁の仮数部を
もつ二進浮動小数点数に丸め処理する場合、二進浮動小
数点数仮数部において、何故、二通りの丸め処理が必要
かを述べる。
今、2つの浮動小数点数X、Yを以下のように表わす。
x : X、・2x8
y=r ・2Ye (1)但
し Xm= 1 、x1x2 x5・・・・・・・・・
xnY、 = 1.、Y、 y2!/、・・・・・・・
・・ynx>6(o、1) yiθ(o、1) (
1≦1≦n)ここでは、全ての演算は、加算及び減算の
組合せにより達成されるため、加算及び減算の丸め処理
について述べる。丸め処理する前の加算結果を21L、
減算結果をzsとし、以下のようにする。
し Xm= 1 、x1x2 x5・・・・・・・・・
xnY、 = 1.、Y、 y2!/、・・・・・・・
・・ynx>6(o、1) yiθ(o、1) (
1≦1≦n)ここでは、全ての演算は、加算及び減算の
組合せにより達成されるため、加算及び減算の丸め処理
について述べる。丸め処理する前の加算結果を21L、
減算結果をzsとし、以下のようにする。
Z、L=X+Y=Zam@ 2”
Z =x−Y==Z −2”’ −(2)S
Sm 但し z&、lI、z8は仮数部 z!L0.z8゜は指数部 さらに条件として、X、Yは正の数とする。理由は、正
と負の数を用いた様々な加減算は、必ず、(正の数)+
(正の数)、(正の数)−(正の数)の形に変換できる
からである。
Sm 但し z&、lI、z8は仮数部 z!L0.z8゜は指数部 さらに条件として、X、Yは正の数とする。理由は、正
と負の数を用いた様々な加減算は、必ず、(正の数)+
(正の数)、(正の数)−(正の数)の形に変換できる
からである。
まず、加算後の丸め処理について考える。加算結果の仮
数部zam が最大になる時は、X、 、 Y。
数部zam が最大になる時は、X、 、 Y。
が同じ値をもち、かつ、X、=1.111・・・・・・
1゜Y、n=1.111・・・・・・1の時で、Z、m
、x:11.11・・・・・・10となる。
1゜Y、n=1.111・・・・・・1の時で、Z、m
、x:11.11・・・・・・10となる。
1.111・・・・・・・・・1=xmn個
□(3) 次に、X、\Y0の時、加算はX、 、 Y、のうち大
きい値をもった方に指数部を合わせて加算が行われる。
□(3) 次に、X、\Y0の時、加算はX、 、 Y、のうち大
きい値をもった方に指数部を合わせて加算が行われる。
今、X、 > Y、とする。この時、仮数部の加算にお
いては、Y!llの小数点位置を!、 −Y。
いては、Y!llの小数点位置を!、 −Y。
桁分上位にシフトする。すなわち、下記に示すように加
算が行われる。
算が行われる。
1、x、 JC2x5・・・・・・・・・・・・In=
x!a!、−Y、個 (4) すなわち、Zam が最小になる場合においても、必
ず、Z&、>1となる。
x!a!、−Y、個 (4) すなわち、Zam が最小になる場合においても、必
ず、Z&、>1となる。
1くZ&m≦11.1111・・・・・・10□(5)
とな°る。24m を小数点以下位、1桁の二進浮動
小数点数仮数部へ丸め処理する場合、1が最も上位に示
されている桁より下位に向い、n−)−1桁以下位の数
を用い丸め処理を実行する。すなわち、前記加算後の結
果を丸め処理するには、2.1=′1′の時、ZILn
以下位を用いた丸め処理Rnとz、1= ’o’か
つzaO=′1′の時−Zan++以下位を用いた丸め
処理Rn+1の二通りの丸め処理が必要となることがわ
かる。
小数点数仮数部へ丸め処理する場合、1が最も上位に示
されている桁より下位に向い、n−)−1桁以下位の数
を用い丸め処理を実行する。すなわち、前記加算後の結
果を丸め処理するには、2.1=′1′の時、ZILn
以下位を用いた丸め処理Rnとz、1= ’o’か
つzaO=′1′の時−Zan++以下位を用いた丸め
処理Rn+1の二通りの丸め処理が必要となることがわ
かる。
次に、減算の場合について述べる。減算後の数として負
になる場合が存在する。この時、必ず、二進浮動小数点
数仮数部において、小数点より上位二桁目に′1′がた
つ。この後、符号ビットを′1′にセットし、2の補数
をとり、丸め処理を行う。すなわち、減算後の数に関し
ては、減算後の数が常に正になる場合だけを考えれば良
い。
になる場合が存在する。この時、必ず、二進浮動小数点
数仮数部において、小数点より上位二桁目に′1′がた
つ。この後、符号ビットを′1′にセットし、2の補数
をとり、丸め処理を行う。すなわち、減算後の数に関し
ては、減算後の数が常に正になる場合だけを考えれば良
い。
まず、指数部が同じ値(X、=Y、)時の減算について
考える。この時、仮数部に関して、下記のようになる。
考える。この時、仮数部に関して、下記のようになる。
1、x、 x2 Z3 x4・・・・・・・・・xn=
x工ZSI Zs2 zss zsa Zsm但
し 米e (o 、 1) −(e)Zs、!l
において、最も上位に′1′が存在する桁は・ Z
S1〜Zsnまで不定であるが、正規化する場合、最も
上位に′1′が存在する桁よt) n+1桁下位までと
らなくてはいけない。すなわち、必ずZsn より下
位桁を使い、丸め処理を行うことになる。しかし、この
場合、zsn ’より下位は′o′であるため、丸めに
よる桁上りは生じない。
x工ZSI Zs2 zss zsa Zsm但
し 米e (o 、 1) −(e)Zs、!l
において、最も上位に′1′が存在する桁は・ Z
S1〜Zsnまで不定であるが、正規化する場合、最も
上位に′1′が存在する桁よt) n+1桁下位までと
らなくてはいけない。すなわち、必ずZsn より下
位桁を使い、丸め処理を行うことになる。しかし、この
場合、zsn ’より下位は′o′であるため、丸めに
よる桁上りは生じない。
すなわち、Zsn より下位は全て′o′として、前
記′1′が存在する桁より下位に向いn+1桁下位まで
採用し、正規化すれば良い。
記′1′が存在する桁より下位に向いn+1桁下位まで
採用し、正規化すれば良い。
次に、指数部が1だけ異なる( X、 −Y、 =:1
)時、について考える。この時、仮数部に関し、下記
のようになる。
)時、について考える。この時、仮数部に関し、下記
のようになる。
1、x、l2xs ””・・xn = xmZs
o−2s1ZszZs3”””Zsnzsn+1=Zs
m (7)この時、zsm が最大となる場合は、
下記のようになる。
o−2s1ZszZs3”””Zsnzsn+1=Zs
m (7)この時、zsm が最大となる場合は、
下記のようになる。
1.111・・・・・・・・・・・・1=xm1、ol
l・−・・−・・−・−1o =Z、、n−(s
)また最小になる場合は、下記のようになる。
l・−・・−・・−・−1o =Z、、n−(s
)また最小になる場合は、下記のようになる。
1.000・・・・・・・・・・・・O=X。
o、o o o −−−−・−・・−・・o 1= Z
sm−(9)すなわち、指数部が1だけ異なる場合、Z
sm においてZ8o=′1′の場合のみZSrl+
1 を用いた丸め処理Rn+、が必要となる。最も上
位が′1#となる桁が小数点以下である場合は、前記指
数部が同じ場合と同様である。
sm−(9)すなわち、指数部が1だけ異なる場合、Z
sm においてZ8o=′1′の場合のみZSrl+
1 を用いた丸め処理Rn+、が必要となる。最も上
位が′1#となる桁が小数点以下である場合は、前記指
数部が同じ場合と同様である。
次に、指数部の値が2違う(X、 −Y、 ==2 )
の時について考える。この時、仮数部に関し下記のよう
になる。
の時について考える。この時、仮数部に関し下記のよう
になる。
1 、Zl x2 x5−・・・・・xn= x@zs
o −zam + Zs2 zamS”’ ”’ zs
n zsn+1zgn+z= ZSlllこの時、Zs
Ill が最大となる場合は、下記のようになる。
o −zam + Zs2 zamS”’ ”’ zs
n zsn+1zgn+z= ZSlllこの時、Zs
Ill が最大となる場合は、下記のようになる。
1.111・・・・・・・・・・・・1=xm−)0.
010・・・・・・・・・・・・ooo=Y111@2
−21.101・・・・・・・・・・・・100
=z8o工axまた、最小となる場合は、 1.000・・・・・・・・・・・・0=x1a0.1
00・・・・・・・・・・・・oo1=Zsm、工nす
なわち、指数部が二桁異なる場合、小数点板下位n桁の
数に丸め処理する時、Z、。=’1’の場合、Zsl’
l+I 以下位の数を用いた丸め処理Rn+。
010・・・・・・・・・・・・ooo=Y111@2
−21.101・・・・・・・・・・・・100
=z8o工axまた、最小となる場合は、 1.000・・・・・・・・・・・・0=x1a0.1
00・・・・・・・・・・・・oo1=Zsm、工nす
なわち、指数部が二桁異なる場合、小数点板下位n桁の
数に丸め処理する時、Z、。=’1’の場合、Zsl’
l+I 以下位の数を用いた丸め処理Rn+。
と、Zso=′Q′かつ、Zs、=′1′の場合、ZS
n+2 以下位の数を用いた丸め処理、Rn+2の2
通りが必要となる。
n+2 以下位の数を用いた丸め処理、Rn+2の2
通りが必要となる。
次に、指数部が3以上異なる(X、 −Y、≧3)時に
ついて考える。この時、前記、指数部が2異なる場合を
参照して考えると、引き数の値が一桁小さい値をとるた
め、zs、、l のとり得る値は次のようになる。
ついて考える。この時、前記、指数部が2異なる場合を
参照して考えると、引き数の値が一桁小さい値をとるた
め、zs、、l のとり得る値は次のようになる。
zam m!LX ’) Zsm > Zsm win
ZsmTnlL!=1.1o1・・・・・・・・・1o
O(但し Zsmmin < 1 ) −(13
)つまり、指数部が3以上異なる場合、小数点板下位n
桁の数に丸め処理する時、zso=#1′の場合には、
ZHn++ 以下位の数を用いた丸め処理’n4−1そ
して7,5o== JT o ?かつZ、、 = #
1#の場合にはZ8n+2以下位の数を用いた丸め処理
Rn+ 2の2通りの丸め処理が必要となる。
ZsmTnlL!=1.1o1・・・・・・・・・1o
O(但し Zsmmin < 1 ) −(13
)つまり、指数部が3以上異なる場合、小数点板下位n
桁の数に丸め処理する時、zso=#1′の場合には、
ZHn++ 以下位の数を用いた丸め処理’n4−1そ
して7,5o== JT o ?かつZ、、 = #
1#の場合にはZ8n+2以下位の数を用いた丸め処理
Rn+ 2の2通りの丸め処理が必要となる。
以上のように減算においても・Rn+ 1 ・Rn+
2という2通りの丸め処理が必要となる。
2という2通りの丸め処理が必要となる。
なお、これは基数が2の時のみについて書いたが任意の
基数の浮動小数点数や、符号付ディジイツト数を使った
浮動小数点数についても有効である。
基数の浮動小数点数や、符号付ディジイツト数を使った
浮動小数点数についても有効である。
次に、小数点板下位n桁の仮数部をもつ2つの浮動小数
点数の加算結果を、小数点数取下位n桁の仮数部をもつ
浮動小数点数に丸め処理する従来の回路について述べる
。
点数の加算結果を、小数点数取下位n桁の仮数部をもつ
浮動小数点数に丸め処理する従来の回路について述べる
。
まず、加算結果の仮数部ZILm のデータ形式を示し
ておく。
ておく。
zam を小数点以下1桁の数に丸め処理をする場合
には、前記した通り、2通りの丸め処理が必要となる。
には、前記した通り、2通りの丸め処理が必要となる。
すなわち、zan 以下位の数を用いた第1の丸め処
理と、ZILn−1−1以下位を用いた第2の丸め処理
が存在する。この時、第1の丸め処理時に生じるzan
からの桁上りをCan%第2の丸め処理時に生じる
Z&n+、からの桁上りをCLtm+ 1とする。
理と、ZILn−1−1以下位を用いた第2の丸め処理
が存在する。この時、第1の丸め処理時に生じるzan
からの桁上りをCan%第2の丸め処理時に生じる
Z&n+、からの桁上りをCLtm+ 1とする。
第2図は、加算結果仮数部zam を小数点板下位n桁
の数に丸め処理する従来の回路構成である。
の数に丸め処理する従来の回路構成である。
この回路において、加算結果仮数部2エ は、第1の丸
め処理回路204と、第2の丸め処理回路208に入る
。第1の丸め処理回路204において、Zan 以下
位のデータは、丸め回路202に入り、丸めにより生じ
るZILn よりの桁上り、C&□を生成する。桁上
げ伝搬回路204の出力と丸め回路202の出力が丸め
処理結果生成回路203に入り、第1の丸め処理が行わ
れる。
め処理回路204と、第2の丸め処理回路208に入る
。第1の丸め処理回路204において、Zan 以下
位のデータは、丸め回路202に入り、丸めにより生じ
るZILn よりの桁上り、C&□を生成する。桁上
げ伝搬回路204の出力と丸め回路202の出力が丸め
処理結果生成回路203に入り、第1の丸め処理が行わ
れる。
第2の丸め処理回路208は、第1の丸め処理回路20
4と回路構成は同様であるが、桁上げ伝搬回路205へ
の入力データは、zao ”” Zanと ゛なり、
Zan を起点とする桁上げ伝搬回路で構成される。ま
た、丸め回路206は、Zan+1 以下位のデータ
が入り、Z!Ln+1 よりの桁上りC&n+。
4と回路構成は同様であるが、桁上げ伝搬回路205へ
の入力データは、zao ”” Zanと ゛なり、
Zan を起点とする桁上げ伝搬回路で構成される。ま
た、丸め回路206は、Zan+1 以下位のデータ
が入り、Z!Ln+1 よりの桁上りC&n+。
を生成する回路である。
以上のように構成された加算結果丸め処理回路に於いて
は、それぞれ出発点の異なる桁上げ伝搬回路201及び
206が必要となり、回路が冗長になりトランジスタ数
も多く必要としていた。また、減算結果の丸め処理回路
についても同様に、二つの起点の異なる桁上げ伝搬回路
を必要としていた。
は、それぞれ出発点の異なる桁上げ伝搬回路201及び
206が必要となり、回路が冗長になりトランジスタ数
も多く必要としていた。また、減算結果の丸め処理回路
についても同様に、二つの起点の異なる桁上げ伝搬回路
を必要としていた。
発明が解決しようとする問題点
このような従来の浮動小数点数仮数部への丸め処理回路
に於いては、出発点の異なる二つの桁上げ伝搬回路を使
用する為、回路が冗長になり、トランジスタ数もかなり
多く必要となる3、本発明は、かかる点を鑑みてなされ
たもので、桁上げ伝搬回路を一つしか持たない、コンパ
クトで高速な、浮動小数点数仮数部への丸め処理回路を
提供することを目的としている。
に於いては、出発点の異なる二つの桁上げ伝搬回路を使
用する為、回路が冗長になり、トランジスタ数もかなり
多く必要となる3、本発明は、かかる点を鑑みてなされ
たもので、桁上げ伝搬回路を一つしか持たない、コンパ
クトで高速な、浮動小数点数仮数部への丸め処理回路を
提供することを目的としている。
問題点を解決するための手段
本発明は、二つの浮動小数点数の演算後の数を丸め処理
する回路に係り、前記演算後の数の仮数部を小数点以下
任意の桁数に丸め処理する時に生じる一桁起点の異なる
2つの丸めによる桁上りの起点を同一にすることで桁上
り伝搬回路を一つしか含まないことを特徴とする丸め処
理回路である。
する回路に係り、前記演算後の数の仮数部を小数点以下
任意の桁数に丸め処理する時に生じる一桁起点の異なる
2つの丸めによる桁上りの起点を同一にすることで桁上
り伝搬回路を一つしか含まないことを特徴とする丸め処
理回路である。
作用
本発明は、上記した構成により、小数点数取下位n桁の
浮動小数点数仮数部の演算後の数を丸め処理する回路に
おいて、それぞれ丸め処理時に必要となる出発点の異な
る二種類の桁上げの内、上位桁よりの桁上げと、同等の
効果をもたらす該桁上げより一桁下位からの桁上げをつ
くり、前記二種類の桁上げの内の下位桁よりの桁上げと
、出発点を同一にすることで、桁上げ伝搬回路を1つし
か使用せず、従来回路に比べ桁上げ伝搬回路が1つ分束
なくてさらに高速に処理する上記丸め処理回路を実現す
ることができる。
浮動小数点数仮数部の演算後の数を丸め処理する回路に
おいて、それぞれ丸め処理時に必要となる出発点の異な
る二種類の桁上げの内、上位桁よりの桁上げと、同等の
効果をもたらす該桁上げより一桁下位からの桁上げをつ
くり、前記二種類の桁上げの内の下位桁よりの桁上げと
、出発点を同一にすることで、桁上げ伝搬回路を1つし
か使用せず、従来回路に比べ桁上げ伝搬回路が1つ分束
なくてさらに高速に処理する上記丸め処理回路を実現す
ることができる。
実施例
第1図は、本発明を利用した二つの8ピット二進浮動小
数点数仮数部の乗算後の数を8ビ・ントの二進浮動小数
点数仮数部へ丸め処理する回路の一実施例である。
数点数仮数部の乗算後の数を8ビ・ントの二進浮動小数
点数仮数部へ丸め処理する回路の一実施例である。
まず、該回路に用いられている入力データZ301のデ
ータ形式を示す。
ータ形式を示す。
Z = (z−、zo、z、z2z、z4z5z6z、
z8st9)2但し 2.ε(o、1)−1≦i≦8 St、c(o、1) なお、Sty は、29以下位の値を用いて作られた
スティッキーピットである。
z8st9)2但し 2.ε(o、1)−1≦i≦8 St、c(o、1) なお、Sty は、29以下位の値を用いて作られた
スティッキーピットである。
次に、丸め回路104について説明する。丸め回路10
4の真理値図が第3図に示されている。
4の真理値図が第3図に示されている。
第3図に於いて、丸めはバイナリ−浮動小数点演算の標
準フォーマットアイ、イー、イー、イー(xggx)p
了64(以下IKICIEP754と略)のラウンド・
トウ・ニアレスト(最近値丸め)を行う場合について考
える。第3図で、C6302はZ8. St、を用いた
丸めより導出される。また、C7ばz7.z8.St9
を使用し、導出される。
準フォーマットアイ、イー、イー、イー(xggx)p
了64(以下IKICIEP754と略)のラウンド・
トウ・ニアレスト(最近値丸め)を行う場合について考
える。第3図で、C6302はZ8. St、を用いた
丸めより導出される。また、C7ばz7.z8.St9
を使用し、導出される。
C8,C7の求め方については従来通りである。
CC8303は、z7 zll St9 を用いて丸め
を行う時生じるz7からの桁上りC7を生成させるよう
なz8からの桁上りである。以下にCC8の求め方を示
す。以下ム”” (26Z7 Za Stq ) と
する。
を行う時生じるz7からの桁上りC7を生成させるよう
なz8からの桁上りである。以下にCC8の求め方を示
す。以下ム”” (26Z7 Za Stq ) と
する。
例えば、ム=(0101)の時、IEEKP754の最
近値丸めによりC7=1である。この時、C7=1とさ
せる為に必要なz8からの桁上りCC8は、CC3=1
でなく七ばいけない。またム=(1011)の時はC,
=○となるが、この時CC8は、z、二〇となっている
為、CC8が0でも1でもC7=0となり、CC8は#
Q′と′1′どちらでも良いということになる。
近値丸めによりC7=1である。この時、C7=1とさ
せる為に必要なz8からの桁上りCC8は、CC3=1
でなく七ばいけない。またム=(1011)の時はC,
=○となるが、この時CC8は、z、二〇となっている
為、CC8が0でも1でもC7=0となり、CC8は#
Q′と′1′どちらでも良いということになる。
以上のようにして、ムのあり得る全ての場合に対しCC
8が第3図のように求まる。
8が第3図のように求まる。
第3図より、C8,CC8はそれぞれz6z7z8St
、を用いて下記のような論理式で表わされる。
、を用いて下記のような論理式で表わされる。
CC3= z8(z、 + St、) −(1e)C
,3= Z6 + ZB + 5t9(17)上記(1
6) 、 (17) 式より、第1図丸め回路104
が求まる。この丸め回路が、本発明の最も注目すべき点
で、丸めによる異なる2つの桁上げの出発点を同一にす
ることで、桁上げ伝搬回路を一つのみしか使用しなくて
すむ。
,3= Z6 + ZB + 5t9(17)上記(1
6) 、 (17) 式より、第1図丸め回路104
が求まる。この丸め回路が、本発明の最も注目すべき点
で、丸めによる異なる2つの桁上げの出発点を同一にす
ることで、桁上げ伝搬回路を一つのみしか使用しなくて
すむ。
次に、桁上げ伝搬回路306、及び丸の処理結果生成回
路306を説明する。該二つの回路は、皆上げ伝搬先見
回路を利用し構成されている。
路306を説明する。該二つの回路は、皆上げ伝搬先見
回路を利用し構成されている。
一般に、二進数に関し入力データxi(iは整数)が存
在し、そこへ下位からの桁上げCi+ 、がある時、生
成される桁上りCiと生成される最終相31は論理式 %式%(18) と表わせる。但し、Pは0を含む整数である。
在し、そこへ下位からの桁上げCi+ 、がある時、生
成される桁上りCiと生成される最終相31は論理式 %式%(18) と表わせる。但し、Pは0を含む整数である。
すなわち、(2o)式に於いて全てのPに対し”i−p
@”1−(p−+ )・・・・・・・・・11xiの
部分をあらかじめ論理で組んでおき、そのあと、Ci+
+との論理積をとれば、C1−pが求まることがわかる
。
@”1−(p−+ )・・・・・・・・・11xiの
部分をあらかじめ論理で組んでおき、そのあと、Ci+
+との論理積をとれば、C1−pが求まることがわかる
。
桁上げ伝搬回路305は、上記I工を2工に置き換えさ
らに、i=7.o≦P≦7とした時、各Pに対しll−
p @”1−(p−、)・・・・・・・・・−xエ を
出力する回路である。
らに、i=7.o≦P≦7とした時、各Pに対しll−
p @”1−(p−、)・・・・・・・・・−xエ を
出力する回路である。
また、最終相S i−pは、(20) 、 (21)
式より容易に求まる。すなわち、以下のようになる。
式より容易に求まる。すなわち、以下のようになる。
5i−p =ri−p■(Ji−(p−、)ezエニー
p−2,、、、・、・・・・・・I工・Ci++)
(22)丸め処理結果生成回路106は、桁上げ伝
搬回路106の出力を利用し、5i−pを出力する回路
である。ここでは、(16)式で示されるC工や、に相
当する数が2つ存在する。つ゛まり、C8とCC8が存
在するので、最終相S i−pを生成する回路が、1つ
の桁に対し、並列に入っている。
p−2,、、、・、・・・・・・I工・Ci++)
(22)丸め処理結果生成回路106は、桁上げ伝
搬回路106の出力を利用し、5i−pを出力する回路
である。ここでは、(16)式で示されるC工や、に相
当する数が2つ存在する。つ゛まり、C8とCC8が存
在するので、最終相S i−pを生成する回路が、1つ
の桁に対し、並列に入っている。
前記したように、C8はz8.St9を用い丸めを行っ
た時生じる桁上りである為、C8を用いた場合の最終相
S i−pの有効範囲は、80〜S7である。
た時生じる桁上りである為、C8を用いた場合の最終相
S i−pの有効範囲は、80〜S7である。
また、CC8は”y ”a St、を用い丸めを行う時
生じる桁上りであるから、これを用いた最終相S i−
pの有効範囲は、S−、NS6である。
生じる桁上りであるから、これを用いた最終相S i−
pの有効範囲は、S−、NS6である。
以上、前記S。−87と前記s−,〜S6の2つが、丸
め処理結果生成回路106より、並列に出力される。
め処理結果生成回路106より、並列に出力される。
丸め処理回路106より出力される2つの最終相のうち
、どちらを丸め処理の結果として採用するか選択するの
が選択回路107である。該選択回路は、COBを用い
生成される最終相S、〜S6の最上位値s−,が′1′
であれば、s−、NS6を、′o′であればS。NS7
を選択するような回路になっている。
、どちらを丸め処理の結果として採用するか選択するの
が選択回路107である。該選択回路は、COBを用い
生成される最終相S、〜S6の最上位値s−,が′1′
であれば、s−、NS6を、′o′であればS。NS7
を選択するような回路になっている。
以上、第1図に示される丸め処理回路実施例では、二通
りの丸め結果C,,C8の桁上りの位置を同一にする。
りの丸め結果C,,C8の桁上りの位置を同一にする。
すなわち、C7のかわりにCC8を使用することで桁上
り伝搬回路105を1つのみしか使用せず、回路がコン
パクトになり、トランジスタ数の大幅な削減につながる
。
り伝搬回路105を1つのみしか使用せず、回路がコン
パクトになり、トランジスタ数の大幅な削減につながる
。
なお、本実施例では、乗算の例しか書いてないが、他の
演算に対してもこの回路構成である。さらに本実施例で
は二進数のみしか取り扱っていないが、任意の基数の場
合の数、あるいは符号付ディジット数などについても、
同様に丸めによる桁上げの位置を同一にすることで、桁
上げ伝搬回路を1つのみしか使用せずにすみ、丸め処理
回路のトランジスタ数の削減、回路のコンパクト化につ
ながる。
演算に対してもこの回路構成である。さらに本実施例で
は二進数のみしか取り扱っていないが、任意の基数の場
合の数、あるいは符号付ディジット数などについても、
同様に丸めによる桁上げの位置を同一にすることで、桁
上げ伝搬回路を1つのみしか使用せずにすみ、丸め処理
回路のトランジスタ数の削減、回路のコンパクト化につ
ながる。
発明の効果
本発明によれば、2つの浮動小数点数仮数部の演算後の
数を、任意の桁数の浮動小数点数仮数部へ丸め処理する
時必要な2つの桁上げを、同一の出発点からの桁上げに
揃えることにより、桁上げ伝搬回路を1つしか使用しな
くて良いため、丸め処理回路のトランジスタ数を削減で
き、回路のコンパクト化につながるという効果があり、
さらに高速に丸め処理が出来るという効果がある。
数を、任意の桁数の浮動小数点数仮数部へ丸め処理する
時必要な2つの桁上げを、同一の出発点からの桁上げに
揃えることにより、桁上げ伝搬回路を1つしか使用しな
くて良いため、丸め処理回路のトランジスタ数を削減で
き、回路のコンパクト化につながるという効果があり、
さらに高速に丸め処理が出来るという効果がある。
第1図は本発明の一実施例における2つの二進浮動小数
点数仮数部の積を丸め処理する回路図、第2図は従来の
丸め処理回路を示すプロ・ツク図、第3図は第1図中の
丸め回路104の論理の説明図である。 104・・・・・・丸め回路、105・・・・・・桁上
げ伝搬回路、106・・・・丸め処理結果生成回路、1
07・・・・・・選択回路。 代理人の氏名 弁理士 中 尾 敏 男 ほか1名回 佼 −に 第2図 7011緒果 仮数部Zαm 第3図
点数仮数部の積を丸め処理する回路図、第2図は従来の
丸め処理回路を示すプロ・ツク図、第3図は第1図中の
丸め回路104の論理の説明図である。 104・・・・・・丸め回路、105・・・・・・桁上
げ伝搬回路、106・・・・丸め処理結果生成回路、1
07・・・・・・選択回路。 代理人の氏名 弁理士 中 尾 敏 男 ほか1名回 佼 −に 第2図 7011緒果 仮数部Zαm 第3図
Claims (1)
- 二つの浮動小数点数の演算後の数を丸め処理する回路に
係り、前記演算後の数の仮数部を小数点以下任意の桁数
に丸め処理する時生じる一桁起点の異なる2つの丸めに
よる桁上りの起点を同一にすることで、桁上り伝搬回路
を一つしか含まないことを特徴とする丸め処理回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62145564A JP2537876B2 (ja) | 1987-06-11 | 1987-06-11 | 丸め処理回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62145564A JP2537876B2 (ja) | 1987-06-11 | 1987-06-11 | 丸め処理回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63310021A true JPS63310021A (ja) | 1988-12-19 |
JP2537876B2 JP2537876B2 (ja) | 1996-09-25 |
Family
ID=15388052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62145564A Expired - Lifetime JP2537876B2 (ja) | 1987-06-11 | 1987-06-11 | 丸め処理回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2537876B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02294820A (ja) * | 1989-04-17 | 1990-12-05 | Internatl Business Mach Corp <Ibm> | 浮動小数点数演算処理装置および演算処理方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6238937A (ja) * | 1985-08-13 | 1987-02-19 | Panafacom Ltd | 浮動小数点演算における保護桁処理方式 |
-
1987
- 1987-06-11 JP JP62145564A patent/JP2537876B2/ja not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6238937A (ja) * | 1985-08-13 | 1987-02-19 | Panafacom Ltd | 浮動小数点演算における保護桁処理方式 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02294820A (ja) * | 1989-04-17 | 1990-12-05 | Internatl Business Mach Corp <Ibm> | 浮動小数点数演算処理装置および演算処理方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2537876B2 (ja) | 1996-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5065352A (en) | Divide apparatus employing multiplier with overlapped partial quotients | |
US5325320A (en) | Area efficient multiplier for use in an integrated circuit | |
US4941120A (en) | Floating point normalization and rounding prediction circuit | |
US4737926A (en) | Optimally partitioned regenerative carry lookahead adder | |
KR100294015B1 (ko) | 다른 데이타형을 갖는 다수의 데이타를 처리하는 가산기 | |
JPS60163128A (ja) | 乗算回路 | |
US6175851B1 (en) | Fast adder/subtractor for signed floating point numbers | |
JP3345894B2 (ja) | 浮動小数点乗算器 | |
US5177703A (en) | Division circuit using higher radices | |
EP0298717A2 (en) | BCD adder circuit | |
US7552165B2 (en) | Method and system to implement an improved floating point adder with integrated adding and rounding | |
US3842250A (en) | Circuit for implementing rounding in add/subtract logic networks | |
US5867413A (en) | Fast method of floating-point multiplication and accumulation | |
JPS63310021A (ja) | 丸め処理回路 | |
US5257217A (en) | Area-efficient multiplier for use in an integrated circuit | |
JPH0312738B2 (ja) | ||
US7016927B2 (en) | Method and apparatus for modular multiplication | |
EP0332215B1 (en) | Operation circuit based on floating-point representation | |
US5661674A (en) | Divide to integer | |
EP0334768B1 (en) | Logic circuit having carry select adders | |
JPH01220528A (ja) | パリテイ発生器 | |
JPH07118654B2 (ja) | 算術演算装置 | |
EP0442220B1 (en) | Decoder | |
JP2734438B2 (ja) | 乗算装置 | |
JPH04232529A (ja) | 多重ディジット10進数を2進数に変換する装置および統一された比復号器 |