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
Application number
JP62145564A
Other languages
English (en)
Other versions
JP2537876B2 (ja
Inventor
Akira Miyoshi
明 三好
Takashi Taniguchi
隆志 谷口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP62145564A priority Critical patent/JP2537876B2/ja
Publication of JPS63310021A publication Critical patent/JPS63310021A/ja
Application granted granted Critical
Publication of JP2537876B2 publication Critical patent/JP2537876B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/485Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding

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桁の仮数部を
もつ二進浮動小数点数に丸め処理する場合、二進浮動小
数点数仮数部において、何故、二通りの丸め処理が必要
かを述べる。
今、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とし、以下のようにする。
Z、L=X+Y=Zam@ 2” Z  =x−Y==Z  −2”’  −(2)S  
            Sm 但し z&、lI、z8は仮数部 z!L0.z8゜は指数部 さらに条件として、X、Yは正の数とする。理由は、正
と負の数を用いた様々な加減算は、必ず、(正の数)+
(正の数)、(正の数)−(正の数)の形に変換できる
からである。
まず、加算後の丸め処理について考える。加算結果の仮
数部zam  が最大になる時は、X、 、 Y。
が同じ値をもち、かつ、X、=1.111・・・・・・
1゜Y、n=1.111・・・・・・1の時で、Z、m
、x:11.11・・・・・・10となる。
1.111・・・・・・・・・1=xmn個     
  □(3) 次に、X、\Y0の時、加算はX、 、 Y、のうち大
きい値をもった方に指数部を合わせて加算が行われる。
今、X、 > Y、とする。この時、仮数部の加算にお
いては、Y!llの小数点位置を!、 −Y。
桁分上位にシフトする。すなわち、下記に示すように加
算が行われる。
1、x、 JC2x5・・・・・・・・・・・・In=
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′がた
つ。この後、符号ビットを′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′であるため、丸めに
よる桁上りは生じない。
すなわち、Zsn  より下位は全て′o′として、前
記′1′が存在する桁より下位に向いn+1桁下位まで
採用し、正規化すれば良い。
次に、指数部が1だけ異なる( X、 −Y、 =:1
 )時、について考える。この時、仮数部に関し、下記
のようになる。
1、x、l2xs ””・・xn    = xmZs
o−2s1ZszZs3”””Zsnzsn+1=Zs
m  (7)この時、zsm  が最大となる場合は、
下記のようになる。
1.111・・・・・・・・・・・・1=xm1、ol
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#となる桁が小数点以下である場合は、前記指
数部が同じ場合と同様である。
次に、指数部の値が2違う(X、 −Y、 ==2 )
の時について考える。この時、仮数部に関し下記のよう
になる。
1 、Zl x2 x5−・・・・・xn= x@zs
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+。
と、Zso=′Q′かつ、Zs、=′1′の場合、ZS
n+2  以下位の数を用いた丸め処理、Rn+2の2
通りが必要となる。
次に、指数部が3以上異なる(X、 −Y、≧3)時に
ついて考える。この時、前記、指数部が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通りの丸め処理が必要となる。
以上のように減算においても・Rn+ 1  ・Rn+
2という2通りの丸め処理が必要となる。
なお、これは基数が2の時のみについて書いたが任意の
基数の浮動小数点数や、符号付ディジイツト数を使った
浮動小数点数についても有効である。
次に、小数点板下位n桁の仮数部をもつ2つの浮動小数
点数の加算結果を、小数点数取下位n桁の仮数部をもつ
浮動小数点数に丸め処理する従来の回路について述べる
まず、加算結果の仮数部ZILm のデータ形式を示し
ておく。
zam  を小数点以下1桁の数に丸め処理をする場合
には、前記した通り、2通りの丸め処理が必要となる。
すなわち、zan  以下位の数を用いた第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の丸め処理が行わ
れる。
第2の丸め処理回路208は、第1の丸め処理回路20
4と回路構成は同様であるが、桁上げ伝搬回路205へ
の入力データは、zao ”” Zanと  ゛なり、
Zan を起点とする桁上げ伝搬回路で構成される。ま
た、丸め回路206は、Zan+1  以下位のデータ
が入り、Z!Ln+1  よりの桁上りC&n+。
を生成する回路である。
以上のように構成された加算結果丸め処理回路に於いて
は、それぞれ出発点の異なる桁上げ伝搬回路201及び
206が必要となり、回路が冗長になりトランジスタ数
も多く必要としていた。また、減算結果の丸め処理回路
についても同様に、二つの起点の異なる桁上げ伝搬回路
を必要としていた。
発明が解決しようとする問題点 このような従来の浮動小数点数仮数部への丸め処理回路
に於いては、出発点の異なる二つの桁上げ伝搬回路を使
用する為、回路が冗長になり、トランジスタ数もかなり
多く必要となる3、本発明は、かかる点を鑑みてなされ
たもので、桁上げ伝搬回路を一つしか持たない、コンパ
クトで高速な、浮動小数点数仮数部への丸め処理回路を
提供することを目的としている。
問題点を解決するための手段 本発明は、二つの浮動小数点数の演算後の数を丸め処理
する回路に係り、前記演算後の数の仮数部を小数点以下
任意の桁数に丸め処理する時に生じる一桁起点の異なる
2つの丸めによる桁上りの起点を同一にすることで桁上
り伝搬回路を一つしか含まないことを特徴とする丸め処
理回路である。
作用 本発明は、上記した構成により、小数点数取下位n桁の
浮動小数点数仮数部の演算後の数を丸め処理する回路に
おいて、それぞれ丸め処理時に必要となる出発点の異な
る二種類の桁上げの内、上位桁よりの桁上げと、同等の
効果をもたらす該桁上げより一桁下位からの桁上げをつ
くり、前記二種類の桁上げの内の下位桁よりの桁上げと
、出発点を同一にすることで、桁上げ伝搬回路を1つし
か使用せず、従来回路に比べ桁上げ伝搬回路が1つ分束
なくてさらに高速に処理する上記丸め処理回路を実現す
ることができる。
実施例 第1図は、本発明を利用した二つの8ピット二進浮動小
数点数仮数部の乗算後の数を8ビ・ントの二進浮動小数
点数仮数部へ丸め処理する回路の一実施例である。
まず、該回路に用いられている入力データZ301のデ
ータ形式を示す。
Z = (z−、zo、z、z2z、z4z5z6z、
z8st9)2但し 2.ε(o、1)−1≦i≦8 St、c(o、1) なお、Sty  は、29以下位の値を用いて作られた
スティッキーピットである。
次に、丸め回路104について説明する。丸め回路10
4の真理値図が第3図に示されている。
第3図に於いて、丸めはバイナリ−浮動小数点演算の標
準フォーマットアイ、イー、イー、イー(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 )  と
する。
例えば、ム=(0101)の時、IEEKP754の最
近値丸めによりC7=1である。この時、C7=1とさ
せる為に必要なz8からの桁上りCC8は、CC3=1
でなく七ばいけない。またム=(1011)の時はC,
=○となるが、この時CC8は、z、二〇となっている
為、CC8が0でも1でもC7=0となり、CC8は#
Q′と′1′どちらでも良いということになる。
以上のようにして、ムのあり得る全ての場合に対しCC
8が第3図のように求まる。
第3図より、C8,CC8はそれぞれz6z7z8St
、を用いて下記のような論理式で表わされる。
CC3= z8(z、 + St、)  −(1e)C
,3= Z6 + ZB + 5t9(17)上記(1
6) 、 (17)  式より、第1図丸め回路104
が求まる。この丸め回路が、本発明の最も注目すべき点
で、丸めによる異なる2つの桁上げの出発点を同一にす
ることで、桁上げ伝搬回路を一つのみしか使用しなくて
すむ。
次に、桁上げ伝搬回路306、及び丸の処理結果生成回
路306を説明する。該二つの回路は、皆上げ伝搬先見
回路を利用し構成されている。
一般に、二進数に関し入力データxi(iは整数)が存
在し、そこへ下位からの桁上げCi+ 、がある時、生
成される桁上りCiと生成される最終相31は論理式 %式%(18) と表わせる。但し、Pは0を含む整数である。
すなわち、(2o)式に於いて全てのPに対し”i−p
 @”1−(p−+ )・・・・・・・・・11xiの
部分をあらかじめ論理で組んでおき、そのあと、Ci+
+との論理積をとれば、C1−pが求まることがわかる
桁上げ伝搬回路305は、上記I工を2工に置き換えさ
らに、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つ
の桁に対し、並列に入っている。
前記したように、C8はz8.St9を用い丸めを行っ
た時生じる桁上りである為、C8を用いた場合の最終相
S i−pの有効範囲は、80〜S7である。
また、CC8は”y ”a St、を用い丸めを行う時
生じる桁上りであるから、これを用いた最終相S i−
pの有効範囲は、S−、NS6である。
以上、前記S。−87と前記s−,〜S6の2つが、丸
め処理結果生成回路106より、並列に出力される。
丸め処理回路106より出力される2つの最終相のうち
、どちらを丸め処理の結果として採用するか選択するの
が選択回路107である。該選択回路は、COBを用い
生成される最終相S、〜S6の最上位値s−,が′1′
であれば、s−、NS6を、′o′であればS。NS7
を選択するような回路になっている。
以上、第1図に示される丸め処理回路実施例では、二通
りの丸め結果C,,C8の桁上りの位置を同一にする。
すなわち、C7のかわりにCC8を使用することで桁上
り伝搬回路105を1つのみしか使用せず、回路がコン
パクトになり、トランジスタ数の大幅な削減につながる
なお、本実施例では、乗算の例しか書いてないが、他の
演算に対してもこの回路構成である。さらに本実施例で
は二進数のみしか取り扱っていないが、任意の基数の場
合の数、あるいは符号付ディジット数などについても、
同様に丸めによる桁上げの位置を同一にすることで、桁
上げ伝搬回路を1つのみしか使用せずにすみ、丸め処理
回路のトランジスタ数の削減、回路のコンパクト化につ
ながる。
発明の効果 本発明によれば、2つの浮動小数点数仮数部の演算後の
数を、任意の桁数の浮動小数点数仮数部へ丸め処理する
時必要な2つの桁上げを、同一の出発点からの桁上げに
揃えることにより、桁上げ伝搬回路を1つしか使用しな
くて良いため、丸め処理回路のトランジスタ数を削減で
き、回路のコンパクト化につながるという効果があり、
さらに高速に丸め処理が出来るという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例における2つの二進浮動小数
点数仮数部の積を丸め処理する回路図、第2図は従来の
丸め処理回路を示すプロ・ツク図、第3図は第1図中の
丸め回路104の論理の説明図である。 104・・・・・・丸め回路、105・・・・・・桁上
げ伝搬回路、106・・・・丸め処理結果生成回路、1
07・・・・・・選択回路。 代理人の氏名 弁理士 中 尾 敏 男 ほか1名回 佼 −に 第2図 7011緒果 仮数部Zαm 第3図

Claims (1)

    【特許請求の範囲】
  1. 二つの浮動小数点数の演算後の数を丸め処理する回路に
    係り、前記演算後の数の仮数部を小数点以下任意の桁数
    に丸め処理する時生じる一桁起点の異なる2つの丸めに
    よる桁上りの起点を同一にすることで、桁上り伝搬回路
    を一つしか含まないことを特徴とする丸め処理回路。
JP62145564A 1987-06-11 1987-06-11 丸め処理回路 Expired - Lifetime JP2537876B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02294820A (ja) * 1989-04-17 1990-12-05 Internatl Business Mach Corp <Ibm> 浮動小数点数演算処理装置および演算処理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6238937A (ja) * 1985-08-13 1987-02-19 Panafacom Ltd 浮動小数点演算における保護桁処理方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6238937A (ja) * 1985-08-13 1987-02-19 Panafacom Ltd 浮動小数点演算における保護桁処理方式

Cited By (1)

* Cited by examiner, † Cited by third party
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進数に変換する装置および統一された比復号器