JPS62159224A - Arithmetic circuit for floating point - Google Patents

Arithmetic circuit for floating point

Info

Publication number
JPS62159224A
JPS62159224A JP56486A JP56486A JPS62159224A JP S62159224 A JPS62159224 A JP S62159224A JP 56486 A JP56486 A JP 56486A JP 56486 A JP56486 A JP 56486A JP S62159224 A JPS62159224 A JP S62159224A
Authority
JP
Japan
Prior art keywords
circuit
division
multiplication
mantissa
exponent
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
Application number
JP56486A
Other languages
Japanese (ja)
Inventor
Junji Nakakoshi
中越 順二
Koichiro Omoda
面田 耕一郎
Teruo Tanaka
輝雄 田中
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP56486A priority Critical patent/JPS62159224A/en
Publication of JPS62159224A publication Critical patent/JPS62159224A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To reduce the scale of a floating point arithmetic circuit containing an addition/subtraction circuit and a multiplication/division circuit, by using a normalizing circuit of the addition/subtraction circuit when the normalizing process is carried out for multiplication and division. CONSTITUTION:In a circuit 204, high-order 1-bit and zero are added to an exponent part 134 when this part 134 to be normalized is supplied for the normalizing process of multiplication/division. Then the shift number '135' for normalization is subtracted from the part 134 of 8 bits. Thus the normalized 8 bits of the exponent part are obtained and set to a register 115 or 125 which holds the exponent part of a multiplication/division circuit. Thus just a single bit is added to a path used to set said 8 bits to the register 115 and 125 from a register 137. In addition, a small logical change is possible with the circuit 204 since just a single bit is added to the arithmetic. While the mantissa part of multiplication/division undergoes the multiplication and division through a circuit 164 and is set to a register 165.

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は浮動小数点演算回路に係り、特に、回路規模を
削減するのに好適な浮動小数点演算回路に関する・ 〔発明の背景〕 浮動小数点演算回路は、大きな数値を高い精度で処理す
るものである。例えば従来、計算機において浮動小数点
数は、符号、指数部、仮数部の3つの部分から成ってあ
り、指数部は16のべき乗で仮数部は最上位桁の左側に
小数点のある16進数として扱われている。また、仮数
の上位の16進数の桁にゼロを含まない浮動小数点数は
正規化された数と呼ばれ、非正規数は仮数部の上位に1
桁以上のゼロを含んでいる。
[Detailed Description of the Invention] [Field of Application of the Invention] The present invention relates to a floating-point arithmetic circuit, and particularly relates to a floating-point arithmetic circuit suitable for reducing circuit scale. [Background of the Invention] A floating-point arithmetic circuit is , which processes large numbers with high precision. For example, in conventional computers, floating-point numbers consist of three parts: a sign, an exponent, and a mantissa.The exponent is a power of 16, and the mantissa is treated as a hexadecimal number with a decimal point to the left of the most significant digit. ing. Also, floating point numbers that do not contain zero in the hexadecimal digits above the mantissa are called normalized numbers, and subnormal numbers have 1 digit in the high hexadecimal digit of the mantissa.
Contains more than one digit of zero.

浮動小数点演算では、非正規数を正規化数に変換するた
めに、仮数は上位の桁にゼロがなくなる・まで左にシフ
トされる。指数は仮数が1桁シフトS′jされる度に1
だけ減じられる。このような正規化の処理は、中間的な
結果が最終的な結果に変換されるときにも行われるが、
乗除算においては、演算が行われる前に入力データに対
して正規化が行われる。
In floating-point arithmetic, to convert a subnormal number to a normalized number, the mantissa is shifted to the left until there are no zeros in the most significant digits. The exponent changes by 1 every time the mantissa is shifted by one digit S'j.
will be reduced by This normalization process is also performed when intermediate results are converted to final results, but
In multiplication and division, input data is normalized before the operation is performed.

このような浮動小数点数を演算する浮動小数点演算回路
は、たとえば大型計算機(M−280H)では、第1図
で示すように、大きく分けて、浮動小数点レジスタ、加
減算回路および乗除算回路により祠成されている。
Floating point arithmetic circuits that operate on such floating point numbers, for example in large computers (M-280H), can be roughly divided into floating point registers, addition/subtraction circuits, and multiplication/division circuits, as shown in Figure 1. has been done.

加減S¥回路において、浮動小数点レジスター01から
読出された第1オペランド、データ110は符号を保持
するレジスター11−1指数部を保持するレジスター1
2、仮数部を保持するレジスター13にセットされる。
In the addition/subtraction S\ circuit, the first operand, data 110, read from floating point register 01 is register 11-1, which holds the sign; register 1, which holds the exponent part;
2. Set in the register 13 that holds the mantissa.

また、浮動小数点レジスター01、あるいは、メモリか
ら読出された第2オペランド、データ120は、符号を
保持するレジスター21、指数部を保持するレジスター
22、仮数部を保持するレジスター23にセットされる
Further, the floating point register 01 or the second operand, data 120, read from the memory is set in a register 21 that holds a sign, a register 22 that holds an exponent part, and a register 23 that holds a mantissa part.

加減算における符号は、第1/2オペランドの符号、そ
れらの指数部の大きさ等に決定されるもの9、) マ扁り、それは回路130によって行われる。演算結果
の符号は、レジスター31に保持される。
The sign in addition and subtraction is determined by the sign of the 1st/2nd operand, the size of their exponent part, etc. 9) This is performed by the circuit 130. The sign of the calculation result is held in the register 31.

加減算における指数部は、第1/2オペランドの指数部
の比較を行い、指数部が一致しない場合には、小さい指
数部をもつオペランの仮数部を2つの指数部が等しくな
るまで右にシフトする(仮数部の桁合せ)必要があり、
そのシフト数133が計算される。また、指数部の比較
により、大きい指数をもつオペランドの指数部134が
選択される。これらは、回路132によって行われる。
For the exponent parts in addition and subtraction, the exponent parts of the 1st and 2nd operands are compared, and if the exponent parts do not match, the mantissa part of the operan with the smaller exponent part is shifted to the right until the two exponent parts are equal. (mantissa digit alignment) is required,
The number of shifts, 133, is calculated. Further, by comparing the exponent parts, the exponent part 134 of the operand having the larger exponent is selected. These are performed by circuit 132.

さらに、仮数部の加減算の中間結果において、桁あふれ
が生じた場合には、中間結果の仮数部を右に1桁シフト
するために、指数部134に1加える。
Further, if an overflow occurs in the intermediate result of addition/subtraction of the mantissa part, 1 is added to the exponent part 134 in order to shift the mantissa part of the intermediate result by one digit to the right.

また、正規化を必要とする場合には、中間結果の仮数部
の上位にゼロがなくなるまで、左にシフトするために、
指数部134からそのシフト数135だけ引く。これら
は、回路136によって行われる。演算結果の指数部は
、レジスタ137に保持される。加減算における仮数部
は、回路132による指数部の比較の結果により、小さ
い指算器140に入力される。また、大きい指数部をも
つオペランドの仮数部は、T/C回路139に入力され
、加算のとき、そのままのデータを加算140に入力し
、減算のとき、入力データの1の補数をとり、加算器1
40に入力する。加算器140では、2つの入力データ
の加算を行い、その演算結果である中間結果を回路14
1.シフタ142に出力する0回路141.シフタ14
2は正規化回路であり、回路141は、入力された中間
結果の上位にゼロがいくつあるかを検出するものであり
、その回路出力であるシフト数135によって、シフタ
142に入力された中間結果が左にシフトされる。演算
結果の仮数部はレジスタ143に保持される。このよう
な加減算回路により浮動小数点数の加減算を実現できる
Also, if normalization is required, shift to the left until there are no high-order zeros in the mantissa of the intermediate result.
The shift number 135 is subtracted from the exponent part 134. These are performed by circuit 136. The exponent part of the calculation result is held in register 137. The mantissa part in the addition/subtraction is input to the small exponent 140 according to the result of the comparison of the exponent part by the circuit 132. Furthermore, the mantissa part of the operand having a large exponent part is input to the T/C circuit 139, and when adding, the data is input as is to the adder 140, and when subtracting, the 1's complement of the input data is taken and added. Vessel 1
Enter 40. The adder 140 adds two pieces of input data, and sends the intermediate result, which is the calculation result, to the circuit 14.
1. 0 circuit 141 that outputs to the shifter 142. Shifter 14
2 is a normalization circuit, and the circuit 141 detects the number of high-order zeros in the input intermediate result, and the intermediate result input to the shifter 142 is determined by the shift number 135, which is the output of the circuit. is shifted to the left. The mantissa part of the operation result is held in the register 143. Addition and subtraction of floating point numbers can be realized by such an addition and subtraction circuit.

乗除算回路において、第1オペランド・データ110は
、符号を保持するレジスタ114、指数部を保持するレ
ジスタ115、仮数部を保持するレジスタ116にセッ
トされる。また、第2オペランド・データ120は、符
号を保持するレジスタ124.指数部を保持するレジス
タ125.仮数部で保持するレジスタ126にセットさ
れる。
In the multiplication/division circuit, first operand data 110 is set in a register 114 that holds a sign, a register 115 that holds an exponent part, and a register 116 that holds a mantissa part. The second operand data 120 is also stored in a register 124 . A register 125 that holds the exponent part. It is set in the register 126 that holds the mantissa.

乗除算における正規化処理は、乗除算が行われる前に正
規化を行う必要があり、これは、回路150が第1/2
オペランドの仮数部を保持するレジスタ116,126
の内容を入力し、どちらか、あるいは、両方の仮数部の
上位の桁にゼロがいくつあるかを検出し、正規化のため
のシフト数151を出力する。そして、どちらか、ある
いは、両方の仮数部にゼロが含まれる場合には正規化を
必要とする仮数部をセレクタ152により選択し、シフ
タ153により、シフト数151だけ左シフトされ仮数
部を保持するレジスタ116,126のいずれかに再び
セットする。一方、指数部の正規脱化処理は、セレクタ
152により選択された仮数部と同一のオペランドの指
数をセレクタ154により選択し、加算器155に入力
する。
Normalization processing in multiplication/division requires normalization before multiplication/division is performed, which means that the circuit 150
Registers 116 and 126 that hold the mantissa of the operand
, the number of zeros in the upper digits of either or both mantissa parts is detected, and the shift number 151 for normalization is output. Then, if one or both mantissas contain zero, the selector 152 selects the mantissa that requires normalization, and the shifter 153 shifts the mantissa to the left by a shift number of 151 and holds the mantissa. Set it again in either register 116 or 126. On the other hand, in the denormalization process of the exponent part, the selector 154 selects the exponent of the same operand as the mantissa selected by the selector 152 and inputs it to the adder 155 .

加算器のもう一方の入力は、セレクタ156により1回
路150で得られたシフト数151を選択し、T/C回
路157により、1の補数がとられる。加算器155で
これら2つの入力の加算を行い、指数部を保持するレジ
スタ115,125のいずれかにセットする。このよう
な原理により、1つのオペランドの正規化が終了し、両
方のオペランドに正規化処理が必要な場合は上記処理を
繰り返す。また、回路150により、どちらの仮数部に
もゼロが検出されなかった場合は、乗除算が行われる。
For the other input of the adder, a selector 156 selects the shift number 151 obtained by one circuit 150, and a T/C circuit 157 takes one's complement. Adder 155 adds these two inputs, and sets the result in either register 115 or 125 that holds the exponent part. Based on this principle, when normalization of one operand is completed and both operands require normalization processing, the above processing is repeated. Further, if zero is not detected in either mantissa by the circuit 150, multiplication and division is performed.

乗除算における符号は、第1/2オペランドの符号11
4,124の排他的論理和で決定されるものであり、そ
れは1回路160により行われ、演算結果の符号はレジ
スター61にセットされる。
The sign in multiplication/division is the sign 11 of the 1st/2nd operand.
4,124, which is performed by one circuit 160, and the sign of the operation result is set in the register 61.

乗除算における指数部は5乗算の場合、正規化された第
172オペランドの115,126の加算により求まり
、除算の場合、それらの減算により求まる。この処理は
、T/C回路157.加算器155により行われる。さ
らに上記処理により得られた中間結果は、仮数部の中間
結果により正規、化処理等が必要となり、それは、回路
162によ□ って行われる。演算結果の指数部はレジスター63にセ
ットされる。
In the case of multiplication by 5, the exponent part in multiplication and division is determined by adding 115 and 126 of the normalized 172nd operand, and in the case of division, it is determined by subtracting them. This process is performed by the T/C circuit 157. This is performed by adder 155. Further, the intermediate result obtained by the above processing requires normalization processing, etc., depending on the intermediate result of the mantissa part, and this is performed by the circuit 162. The exponent part of the calculation result is set in the register 63.

乗除算における仮数部は、回路164によって、乗除算
が行われる。この演算結果の仮数部はレジスト165に
セットされる。
The mantissa part in the multiplication/division is multiplied and divided by the circuit 164. The mantissa part of this operation result is set in the register 165.

このような浮動小数点演算回路において、その回路規模
は非常に大きいという欠点があった。
A drawback of such floating point arithmetic circuits is that the circuit scale is extremely large.

〔発明の目的〕[Purpose of the invention]

本発明の目的は、加減算回路と乗除算回路をもつ浮動小
数点演算回路において1乗除算の正規化処理を行う場合
に、乗除算回路に専用の正規化回路を設けず、加減算回
路の正規化回路を用いることにより、回路規模を削除す
る浮動小数点演算回路を提供することにある。
An object of the present invention is to provide a normalization circuit for the addition/subtraction circuit without providing a dedicated normalization circuit for the multiplication/division circuit when performing normalization processing for multiplication/division in a floating point arithmetic circuit having an addition/subtraction circuit and a multiplication/division circuit. The object of the present invention is to provide a floating-point arithmetic circuit that reduces the circuit size by using .

〔発明の概要〕[Summary of the invention]

正規化処理において、演算が行われる前に正規化を必要
とするのは乗除算だけであり、また、プログラムにおい
て、演算が行われる前に正規化を必要とするオペランド
・データは、一般に数が少なく、大半のオペランド・デ
ータは正規化されている。
In the normalization process, only multiplication and division operations require normalization before the operation is performed, and in a program, the operand data that requires normalization before the operation is generally performed is Most of the operand data is normalized.

そこで1乗除算の正規化を加減算回路を用いて。Therefore, we use an addition/subtraction circuit to normalize the 1st multiplication and division.

゛加減算回路に乗除算の正規化するオペランド・データ
とゼロのデータを入力し、加算を行い、その加算結果に
ついて正規化を行うことにより、実現する。これにより
、乗除算回路の正規化回路を削除することができる。
This is achieved by inputting the operand data to be normalized for multiplication/division and zero data to the addition/subtraction circuit, performing addition, and normalizing the addition result. This makes it possible to eliminate the normalization circuit of the multiplication/division circuit.

〔発明の実施例〕[Embodiments of the invention]

以下、本発明の一実施例を第2図から第4図により説明
する。ここで、説明をわかりやすくするため、  I 
B Msytem137Qシリーズの倍精度浮動小数点
データ表現を取り挙げ、浮動小数点数を64ビットとし
、説明する。
Hereinafter, one embodiment of the present invention will be described with reference to FIGS. 2 to 4. Here, to make the explanation easier to understand, I
We will discuss the double-precision floating point data representation of the B Msystem 137Q series and assume that the floating point number is 64 bits.

浮動小数点は、1ビットの仮数部の符号と、7ビットの
指数部と、56ビット、すなわち14桁の仮数部で表わ
されている。仮数は常に16進数で表わされ、小数点は
仮数部の最上位の左側にある。指数部の7ビットは、1
6のべき乗となるべき数を表わし、指数部の巾は2進数
O〜127に対応して−64〜+63である。
A floating point number is represented by a 1-bit mantissa sign, a 7-bit exponent, and a 56-bit, or 14-digit mantissa. The mantissa is always expressed in hexadecimal, with the decimal point to the left of the most significant part of the mantissa. The 7 bits of the exponent are 1
It represents a number that should be a power of 6, and the width of the exponent part is -64 to +63, corresponding to binary numbers O to 127.

浮動小数点レジスタ、加減算回路9乗除算回路により構
成されている。
It consists of a floating point register, 9 addition/subtraction circuits, and 9 multiplication/division circuits.

この浮動小数点演算回路では、浮動心動数点しシスタ1
01から読出された第1オペランド・データ110は、
加減算回路のレジスタ111゜112.113と乗除算
回路のレジスタ114゜115.116に同時にセット
される。また同様に、浮動小数点レジスタ101、ある
いは、メモリから読出された第2オペランド・データは
、加減算回路のレジスタ121,122,123と、乗
除算回路のレベスタ124,125,126に同様にセ
ットされる。
In this floating point arithmetic circuit, the floating point number is
The first operand data 110 read from 01 is
It is set simultaneously in the registers 111, 112, and 113 of the addition/subtraction circuit and the registers 114, 115, and 116 of the multiplication and division circuit. Similarly, the second operand data read from the floating point register 101 or the memory is similarly set in the registers 121, 122, 123 of the addition/subtraction circuit and the levelsters 124, 125, 126 of the multiplication/division circuit. .

加減算は、従来と同様であり符号の演算は、第1/2オ
ペランドの符号1]1.121.それらの指数部の部の
大きさ等から回路130によって行われ、演算結果の符
号はレジスタ】31に保持される。指数部の演算は、回
路203によって行われる。回路203は、第1/2オ
ペランドの指数部の比較を行い、仮数部の桁合せを行う
ために、シフト数133を計算する。また、比較結果に
よ6−大きい指数部134を選択する。
Addition and subtraction are the same as before, and the sign operation is the sign 1 of the 1/2nd operand]1.121. The calculation is performed by the circuit 130 based on the size of the exponent part, etc., and the sign of the calculation result is held in the register 31. The calculation of the exponent part is performed by the circuit 203. The circuit 203 compares the exponent parts of the 1/2 operands and calculates a shift number 133 in order to perform digit alignment of the mantissa parts. Also, depending on the comparison result, the exponent part 134 that is 6-larger is selected.

仮数部の中間結果において、桁あふれ、あるいは、正規
化が生じた場合、回路204により、指数部134に1
を加えるあるいは指数部134から正規化のためのシフ
ト数135を引く処理を行う。演算結果の指数部は、レ
ジスタ137に保持される。仮数部の演算は、回路20
3による指数部の比較結果により、小さい指数部をもつ
オペランドの仮数部がシフタ138に入力され、シフト
数133だけ右にシフトされる。また、大きい指数部を
もつオペランドの仮数部は、T/C回路202に入力さ
れ、演算に従い、出力される。これら2つの回路138
,202の出力は、加算器140により、加算が行われ
、その加算結果は、正規化回路141,142に入力さ
れる。回路141では、入力された加算結果の上位にゼ
ロがいくつあるかを検出するものであり、その回路出力
である正規化のためのシフト数】35によって、シフタ
142に入力された加算結果が左にシフトこのような回
路により、浮動小数点数の加減算を実現できる。
If overflow or normalization occurs in the intermediate result of the mantissa, the circuit 204 adds 1 to the exponent part 134.
or subtract the shift number 135 for normalization from the exponent part 134. The exponent part of the calculation result is held in register 137. The calculation of the mantissa part is performed by the circuit 20
Based on the comparison result of the exponent part by 3, the mantissa part of the operand having the smaller exponent part is input to the shifter 138 and shifted to the right by the shift number 133. Further, the mantissa part of the operand having a large exponent part is input to the T/C circuit 202, and outputted according to the calculation. These two circuits 138
, 202 are added by an adder 140, and the addition results are input to normalization circuits 141 and 142. The circuit 141 detects the number of high-order zeros in the input addition result, and uses the circuit output, which is the shift number for normalization [35], to shift the addition result input to the shifter 142 to the left. With such a circuit, addition and subtraction of floating point numbers can be realized.

次に、乗除算について説明する。Next, multiplication and division will be explained.

乗除算における正規化は、まず、回路201が第1/2
オペランドの仮数部を保持するレジスタ116.126
の内容を入力し、正規が必要であるかを検出する。この
正規化の検出回路201は、正規化が16進桁で行われ
るため、第1/2オペランドの仮数部のそれぞれ上位4
ビットだけをみればよく、小規模回路で実現できる。こ
の検出結果により、第1/2オペランドのどちらか、あ
るいは両方に正規化が必要ならば、仮数部において加減
算回路のシフタ138に、正規化される。オペランドの
仮数部を入力し、そのまま、出力する。
For normalization in multiplication and division, first, the circuit 201
Registers 116 and 126 that hold the mantissa of the operand
Enter the content of and detect whether the regular is required. Since normalization is performed using hexadecimal digits, the normalization detection circuit 201 detects the upper 4 of the mantissa part of the 1st/2nd operand.
All you need to do is look at the bits, and it can be realized with a small circuit. Based on this detection result, if either or both of the first and second operands require normalization, the mantissa part is normalized by the shifter 138 of the addition/subtraction circuit. Inputs the mantissa of the operand and outputs it as is.

他方のT/C回路202には何が入力されてもよいが、
その出力はゼロを出力する。これらの出力は加算器14
0の入力となり、加算器140で加算を行う。その加算
結果は、正規化される。オペランドの仮数部そのもので
あり、それは、正規化回路141,142に入力される
。回路141は、その仮数部の上位にゼロがいくつある
かを検出し、そのシフト数135を出力するシフタ14
2は、シフト数135に従い、正規化される仮数部を左
にシフトする。この結果は、正規された仮数部であり、
レジスタ143に保持される。
Although anything may be input to the other T/C circuit 202,
Its output outputs zero. These outputs are sent to adder 14
0 is input, and the adder 140 performs addition. The addition result is normalized. This is the mantissa part of the operand itself, which is input to normalization circuits 141 and 142. The circuit 141 is a shifter 14 that detects how many zeros there are in the upper part of the mantissa and outputs the shift number 135.
2 shifts the mantissa to be normalized to the left according to the shift number 135. The result is the normalized mantissa,
It is held in register 143.

一方、指数部において、加減算回路のレジスタ112.
122は、回路203に入力され、回路203では、2
つの入力される指数部112゜122から正規化される
オペランドの指数部を134選択し、また1桁合せのた
めのシフト数135をゼロにする。シフト数135をゼ
ロにすることにより、シフタ138は、入力されたデー
タをそのまま出力することができる。選択された指数部
134は、回路204に入力され、回路204ではその
指数部134から正規化のためのシフト数135を引く
、この結果は、正規化された指数部であり、レジスタ1
37に保持される。
On the other hand, in the exponent part, the register 112 of the addition/subtraction circuit.
122 is input to the circuit 203, and in the circuit 203, 2
The exponent part 134 of the operand to be normalized is selected from the input exponent parts 112 and 122, and the number of shifts 135 for one-digit alignment is set to zero. By setting the shift number 135 to zero, the shifter 138 can output the input data as is. The selected exponent part 134 is input to the circuit 204, which subtracts the shift number 135 for normalization from the exponent part 134. This result is the normalized exponent part and is stored in register 1.
It is held at 37.

そして、正規化された指数部、仮数部を保持するレジス
タ137.143の内容は、従来からあるパスすなわち
前の命令で演算された結果を次の命令で使う場合に、浮
動小数点レジスタに書込みそして読出すための持ち時間
をなくすために設けられたパス170を用いて、乗除算
回路の第1/2オペランドデータの指数部と仮数部を保
持するレジスタ115,116あるいは、125,12
6のどちらかにセットされる。このような処理により、
1つのオペランドの正規化が終了し、両方のオペランド
に正規化が必要な場合は、上記処理を繰り返す。また回
路201でどちらの仮数部にも正規化が必要でない場合
は、乗除算が行われる。
The contents of registers 137 and 143 that hold the normalized exponent and mantissa parts are written to floating point registers in the conventional path, that is, when the result calculated in the previous instruction is used in the next instruction. Registers 115 and 116 or 125 and 12 that hold the exponent part and mantissa part of the 1st/2nd operand data of the multiplication/division circuit are stored using a path 170 provided to eliminate the time required for reading.
Set to either 6. Through such processing,
If normalization of one operand is completed and both operands require normalization, the above process is repeated. Further, in the circuit 201, if neither mantissa part requires normalization, multiplication and division are performed.

ここで、指数部の回路204と仮数部の正規化回路14
1,142において、加減算の中間結果の正規化処理で
は、その正規化で仮数部がゼロでなく、指数部の巾が一
65以下となるとき、指数アンダフロー例外の割込み要
因となる。これは、従来からある処理であるが、さらに
本発明では、乗除算の正規化処理も行うため、その正規
化処理では、仮数部がゼロでなく、指数部の巾が一65
以下であっても、乗除算結果によって指数アンダフロー
が生じない場合があるため、乗除算の演算が終了するま
で、指数アンダフロー例外の割込み要因を保持する必要
がある。
Here, the exponent part circuit 204 and the mantissa part normalization circuit 14
In No. 1,142, in the normalization processing of intermediate results of addition and subtraction, when the mantissa part is not zero and the width of the exponent part becomes 165 or less in the normalization, it becomes an interrupt factor of an exponent underflow exception. This is a conventional process, but in the present invention, the multiplication/division normalization process is also performed.
Even if the result of multiplication/division is below, the exponent underflow may not occur, so it is necessary to hold the interrupt factor of the exponent underflow exception until the multiplication/division operation is completed.

このため、回路204では乗除算の正規化処理のために
、正規化される指数部134を入力する時に、その指数
部134に上位1ビット、ゼロを付加する6そして、そ
の8ビットの指数部から。
Therefore, when the circuit 204 inputs the exponent part 134 to be normalized for normalization processing of multiplication/division, the high-order 1 bit, zero, is added to the exponent part 134 (6), and the 8-bit exponent part from.

正規化のためのシフト数135を引くことにより、正規
化された指数部8ビットを得る。この正規化された指数
部8ビットは前述したとおり、乗除算回路の指数部を保
持するレジスタ115,125のいずれかにセットされ
る。そして、正規化により指数アンダフロー例外が生じ
たことは、レジスタ115,125の上位ビットをみれ
ばわかる。
By subtracting the shift number 135 for normalization, 8 bits of the normalized exponent part are obtained. As described above, these 8 bits of the normalized exponent part are set in either register 115 or 125 that holds the exponent part of the multiplication/division circuit. It can be seen from the upper bits of registers 115 and 125 that an exponent underflow exception has occurred due to normalization.

その上位ビットがOのときは、指数アンダフロー例外が
生じなかったことを示し、1のときは、指数アンダフロ
ー例外が生じたことを示している。
When the upper bit is O, it indicates that an exponent underflow exception has not occurred, and when it is 1, it indicates that an exponent underflow exception has occurred.

この処理は、従来においても乗算回路の正規化回路で同
じように行われており、乗除算回路の指数部を保持する
レジスタは、それぞれ8ビットであった。従って、本発
明においては、加減算回路の正規化された指数部を保持
するレジスタ137から2乗除算回路の指数部を保持す
るレジスタ115.125にセットするまでのパスに1
ビット増やすだけであり、また、回路204は1ビット
増えた演算であるので、小規模の論理変更で済む。
This process has conventionally been performed in the same way in the normalization circuit of the multiplication circuit, and each register holding the exponent part of the multiplication/division circuit has 8 bits. Therefore, in the present invention, one path is required from the register 137 that holds the normalized exponent part of the addition/subtraction circuit to the register 115 and 125 that holds the exponent part of the squaring/division circuit.
Since the circuit 204 only needs to increase the number of bits, and the circuit 204 performs an operation with an increase of one bit, only a small-scale logic change is required.

上記処理により、正規化された第172オペランド・デ
ータが、乗除算回路のレジスタ114゜115.116
と124,125,126のそれ′ぞれにセットされた
とき、乗除算が行われる。
Through the above processing, the normalized 172nd operand data is transferred to the registers 114, 115, 116 of the multiplication/division circuit.
and 124, 125, and 126', multiplication and division are performed.

乗除算は、従来と同様であり1乗除算の符号は。Multiplication and division are the same as before, and the sign of 1 multiplication and division is as follows.

第1/2オペランドの符号114,124の排他的論理
和で決定されるものであり、それは回路160により、
行われる。その演算結果の符号は。
It is determined by the exclusive OR of the signs 114 and 124 of the 1st/2nd operands, which is determined by the circuit 160.
It will be done. What is the sign of the result of that operation?

レジスタ161にセットされる6乗除算の指数部はT/
C回路157.加算器155により、乗算の場合、正規
化された第1/2オペランドの115.125の加算を
行い、除算の場合、それらの減算を行うことで求められ
る。さらに、この処理により得られた中間結果は、仮数
部の中間結果により正規化などの処理を回路162で行
う。
The exponent part of the 6th multiplication/division set in the register 161 is T/
C circuit 157. The adder 155 adds 115.125 of the normalized 1/2 operand in the case of multiplication, and subtracts them in the case of division. Furthermore, the intermediate result obtained by this processing is subjected to processing such as normalization using the intermediate result of the mantissa part in a circuit 162.

この演算結果の仮数部は、レジスタ163にセットされ
る1乗除算の仮数部は回路164によって乗除算が行わ
れるこの演算結果の仮数部は、レジスタ165にセット
される。このような回路によって、浮動小数点数の乗除
算が実現できる。
The mantissa part of this operation result is set in the register 163. The mantissa part of the 1 multiplication and division is multiplied and divided by the circuit 164. The mantissa part of this operation result is set in the register 165. With such a circuit, multiplication and division of floating point numbers can be realized.

第3図において、前述したような方法で、正規化回路2
04,141,142により、正規化された指数部、仮
数部を、レジスタ137,143に一度保持し、従来か
らあるパスを用いるのでなく、直接、乗除算回路の指数
部、仮数部を保持するレジスタ115,116,125
,126にセットできるパス301,302を設けるこ
とにより、乗除算の正規化を実現できる。
In FIG. 3, the normalization circuit 2 is
04, 141, and 142, the normalized exponent part and mantissa part are held once in registers 137 and 143, and the exponent part and mantissa part of the multiplication/division circuit are directly held, instead of using the conventional path. Registers 115, 116, 125
, 126, normalization of multiplication and division can be realized.

また、第4図において、乗除算の正規化される指数部、
仮数部を保持するレジスタ115゜116.125,1
26の内容を直接、加減算回路の正規化回路に入力する
パス401,402を設けて、正規化を行い、その後の
処理は前述した方法で行うことも考えられる。
In addition, in FIG. 4, the exponent part to be normalized for multiplication and division,
Register holding the mantissa part 115゜116.125,1
It is also conceivable to provide paths 401 and 402 for directly inputting the contents of 26 to the normalization circuit of the addition/subtraction circuit, perform normalization, and perform subsequent processing using the method described above.

さらに、第3,4図を組合わせた方法も考えられる。Furthermore, a method combining the methods shown in FIGS. 3 and 4 is also conceivable.

このように本実施例によれば2乗除算の正規化を加減算
回路の正規化回路を用いて行うことにより、乗除算回路
の正規化回路を削減できる。
As described above, according to this embodiment, by performing the normalization of squaring and division using the normalization circuit of the addition and subtraction circuit, the number of normalization circuits of the multiplication and division circuit can be reduced.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、乗除算の正規化を加減算回路の正規化
回路を用いて行うことができるので1乗除算回路の正規
化回路を削減できる効果がある。
According to the present invention, since the normalization of multiplication and division can be performed using the normalization circuit of the addition/subtraction circuit, it is possible to reduce the number of normalization circuits of the 1 multiplication and division circuit.

さらにVLSIにおいて、浮動小数点演算回路を実現す
る場合に第2図で示したように、乗除算の正規化される
パスを新たに設けることなく、従来からあるパスを用い
ることにより、その配線面積をなくすことができるので
そのチップ面積を縮小できる効果がある。
Furthermore, when implementing a floating-point arithmetic circuit in VLSI, as shown in Figure 2, the wiring area can be reduced by using existing paths without creating new paths for normalizing multiplication and division. This has the effect of reducing the chip area.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は、従来の浮動小数点演算回路のブロック図、第
2図は、従来からあるパスを用いて1乗除算の正規化を
行う浮動小数点演算回路のブロック図、第3図、第4図
は、それぞれ新たなパスを用いて、乗除算の正規化を行
う浮動小数点演算回路のブロック図。 201・・・正規化検出回路、112,113・・・第
1オペランドの正規化される指数部、仮数部を保持する
レジスタ、122,123・・・第2オペランドの正規
化される指数部、仮数部を保持するレジスタ、203.
・・・指数部選択および桁合せ計算回路、138・・・
仮数部の桁合せのためのシフタ、202・・・補数選択
回路、140・・・加算器、204・・・指数部の正規
化回路、141,142・・・仮数部の脱化回路、11
5,116,125,126・・・正規化された指数部
を保持するレジスタ。
Fig. 1 is a block diagram of a conventional floating point arithmetic circuit, Fig. 2 is a block diagram of a conventional floating point arithmetic circuit that normalizes 1 multiplication and division using a path, Figs. is a block diagram of a floating-point arithmetic circuit that normalizes multiplication and division using each new pass. 201... Normalization detection circuit, 112, 113... Register holding the normalized exponent part and mantissa part of the first operand, 122, 123... Normalized exponent part of the second operand, A register for holding the mantissa, 203.
...Exponent selection and digit alignment calculation circuit, 138...
Shifter for digit alignment of mantissa part, 202... Complement selection circuit, 140... Adder, 204... Normalization circuit of exponent part, 141, 142... Denormalization circuit of mantissa part, 11
5, 116, 125, 126...Registers that hold normalized exponent parts.

Claims (1)

【特許請求の範囲】 2つの浮動小数点数に対して、指数計算を指数の大小比
較により大きい指数を選択し、その差を算出する回路に
より行い、仮数計算を前記比較結果により小さい指数を
もつ仮数をシフタに入力し、前記指数の差だけ右シフト
した結果と、大きい指数をもつ仮数を演算に従い、真数
/補数を選択する回路に入力し、その出力結果を加算器
にて加算を行うことにより、浮動小数点数の加減算を演
算する加減算回路と、指数計算を乗算の場合に加算を、
除算の場合に減算を行う指数加減算器で行い、仮数計算
を乗除算を行う乗除算器で行うことにより、浮動小数点
の乗除算を演算する乗除算回路から成る浮動小数点演算
回路において、 前記加減算回路の出力から、仮数の上位にゼロがいくつ
あるかを検出し、そのゼロの数を演算し、ゼロの数だけ
左にシフトする仮数の正規化回路と前記加減算回路の出
力である指数から、前記ゼロの数を引く指数の正規化回
路により、加減算の正規化を行い、 2つの浮動小数点数の仮数の上位4ビットがゼロである
かを判定し、その判定結果において、どちらの仮数にも
ゼロがない場合は乗除算を行い、ゼロがある場合はその
浮動小数を正規化される浮動小数点数とし、前記加減算
回路において、前記正規化される浮動小数点数と、ゼロ
を入力し、それらを加算し、前記加減算回路の出力を前
記正規化される浮動小数点数とし、前記仮数の正規化回
路と、前記指数の正規回路により、乗除算の正規化を行
い、その結果は、新たなパスを設けることなく、加減算
の結果が格納されるパスにより乗除算の浮動小数点数を
保持するレジスタに格納するようにしたいことを特徴と
する浮動小数点演算回路。
[Claims] For two floating point numbers, exponent calculation is performed by a circuit that selects a larger exponent by comparing the magnitudes of the exponents and calculates the difference, and mantissa calculation is performed by selecting a mantissa having a smaller exponent based on the comparison result. is input into the shifter, and the result of shifting to the right by the difference in exponents and the mantissa with a large exponent are input into a circuit that selects true/complement according to the operation, and the output results are added in an adder. By using the addition/subtraction circuit that calculates addition and subtraction of floating point numbers, and the addition and subtraction circuit that calculates the addition and subtraction of floating point numbers,
In a floating point arithmetic circuit comprising a multiplication/division circuit that calculates floating point multiplication/division by performing subtraction in the case of division using an exponent adder/subtractor that performs subtraction, and performing mantissa calculation in a multiplier/divider that performs multiplication/division, the addition/subtraction circuit From the output of the mantissa, detect the number of high-order zeros in the mantissa, calculate the number of zeros, shift the mantissa to the left by the number of zeros, and from the exponent that is the output of the addition/subtraction circuit. The exponent normalization circuit that subtracts the number of zeros normalizes addition and subtraction, determines whether the upper 4 bits of the mantissas of two floating point numbers are zero, and as a result of that determination, both mantissas are zero. If there is no zero, perform multiplication and division, and if there is zero, use that floating point number as a normalized floating point number, input the normalized floating point number and zero in the addition/subtraction circuit, and add them. The output of the addition/subtraction circuit is the floating point number to be normalized, the multiplication/division is normalized by the mantissa normalization circuit and the exponent normalization circuit, and the result is used to provide a new path. A floating-point arithmetic circuit characterized in that it is desired to store floating-point numbers for multiplication and division in registers that hold floating-point numbers for multiplication and division by paths in which results of addition and subtraction are stored.
JP56486A 1986-01-08 1986-01-08 Arithmetic circuit for floating point Pending JPS62159224A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP56486A JPS62159224A (en) 1986-01-08 1986-01-08 Arithmetic circuit for floating point

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56486A JPS62159224A (en) 1986-01-08 1986-01-08 Arithmetic circuit for floating point

Publications (1)

Publication Number Publication Date
JPS62159224A true JPS62159224A (en) 1987-07-15

Family

ID=11477213

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56486A Pending JPS62159224A (en) 1986-01-08 1986-01-08 Arithmetic circuit for floating point

Country Status (1)

Country Link
JP (1) JPS62159224A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0450803A2 (en) * 1990-04-02 1991-10-09 Advanced Micro Devices, Inc. Normalizing floating point processing unit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0450803A2 (en) * 1990-04-02 1991-10-09 Advanced Micro Devices, Inc. Normalizing floating point processing unit

Similar Documents

Publication Publication Date Title
US6529928B1 (en) Floating-point adder performing floating-point and integer operations
JP3076046B2 (en) Exception detection circuit
US5027308A (en) Circuit for adding/subtracting two floating point operands
US6099158A (en) Apparatus and methods for execution of computer instructions
US5357237A (en) In a data processor a method and apparatus for performing a floating-point comparison operation
US8626813B1 (en) Dual-path fused floating-point two-term dot product unit
US4999803A (en) Floating point arithmetic system and method
US5010508A (en) Prenormalization for a floating-point adder
JPH02196328A (en) Floating point computing apparatus
US4866652A (en) Floating point unit using combined multiply and ALU functions
JP3313560B2 (en) Floating point processor
US5337265A (en) Apparatus for executing add/sub operations between IEEE standard floating-point numbers
JP2511527B2 (en) Floating point arithmetic unit
JP2695178B2 (en) Arithmetic circuit
JPS62159224A (en) Arithmetic circuit for floating point
US7003540B2 (en) Floating point multiplier for delimited operands
JP3132436B2 (en) Floating-point multiply-accumulate unit
JP2856792B2 (en) Floating point arithmetic unit
JP3187402B2 (en) Floating point data addition / subtraction circuit
JPS5932038A (en) Floating-point adder
JP3124286B2 (en) Floating point arithmetic unit
JP3100868B2 (en) Arithmetic unit for floating point numbers
JPH01232430A (en) Arithmetic circuit
WO1998006029A1 (en) Apparatus and methods for execution of computer instructions
JPH03245226A (en) Floating decimal-point multiplier