JP2645422B2 - Floating point processor - Google Patents

Floating point processor

Info

Publication number
JP2645422B2
JP2645422B2 JP63174872A JP17487288A JP2645422B2 JP 2645422 B2 JP2645422 B2 JP 2645422B2 JP 63174872 A JP63174872 A JP 63174872A JP 17487288 A JP17487288 A JP 17487288A JP 2645422 B2 JP2645422 B2 JP 2645422B2
Authority
JP
Japan
Prior art keywords
circuit
bit
point
output
multiplexer
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.)
Expired - Fee Related
Application number
JP63174872A
Other languages
Japanese (ja)
Other versions
JPH0225924A (en
Inventor
昭 勝野
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63174872A priority Critical patent/JP2645422B2/en
Priority to US07/374,299 priority patent/US4999801A/en
Priority to KR1019890010030A priority patent/KR920005226B1/en
Priority to EP89307180A priority patent/EP0351242B1/en
Priority to DE68929114T priority patent/DE68929114T2/en
Publication of JPH0225924A publication Critical patent/JPH0225924A/en
Application granted granted Critical
Publication of JP2645422B2 publication Critical patent/JP2645422B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔概 要〕 浮動小数点演算処理装置、特に、開平を行う演算回路
に関し、 簡単な回路の改良で開平演算の反復演算を高速化し、
開平演算処理の高速化を実現することを目的とし、 整数乗算器、右シフト回路、および丸め回路を用い
て、2つの乗算すべき2進数の仮数部の乗算値が得られ
る浮動小数点演算処理装置であって、前記右シフト回路
と丸め回路の間に、ビット反転回路およびマルチプレク
サを設け、開平演算の一部の演算時のみ、該ビット反転
回路の出力が該マルチプレクサを介して該丸め回路へ供
給され、最小桁に「1」を加算され、1ビット右シフト
され、前記演算以外の時は、該右シフト回路の出力が該
マルチプレクサを介して該丸め回路へ供給されるように
構成される。
DETAILED DESCRIPTION OF THE INVENTION [Summary] A floating-point arithmetic processing device, in particular, an arithmetic circuit that performs square root extraction.
Floating-point arithmetic processing unit for realizing high-speed square root arithmetic processing, wherein an integer multiplier, a right shift circuit, and a rounding circuit are used to obtain a multiplied value of two mantissa parts of a binary number to be multiplied. A bit inversion circuit and a multiplexer are provided between the right shift circuit and the rounding circuit, and an output of the bit inversion circuit is supplied to the rounding circuit via the multiplexer only during a part of the square root operation. Then, "1" is added to the least significant digit, and the result is shifted right by one bit, so that the output of the right shift circuit is supplied to the rounding circuit via the multiplexer except for the operation described above.

〔産業上の利用分野〕[Industrial applications]

本発明は、浮動小数点演算処理装置に関し、特に、浮
動小数点表記法の数値について開平を行う演算回路に関
する。浮動小数点演算は、整数(固定小数点)演算と比
べ、ダイナミックレンジが広く精度も高いので、最近で
は各種の高度な演算要求を満たすものが求められる傾向
にある。なかでも、開平に関する高速処理が重要になっ
てきている。
The present invention relates to a floating-point arithmetic processing device, and more particularly, to an arithmetic circuit that performs square root extraction on a numerical value in floating-point notation. Floating-point arithmetic has a wider dynamic range and higher precision than integer (fixed-point) arithmetic. Above all, high-speed processing related to Kaiping has become important.

〔従来の技術〕[Conventional technology]

一般に開平の方式として、浮動小数点に限らず、収束
法(例えば、ニュートン・ラプソン法)を用いる方法が
知られている。数値B平方根を求めるために、まず を求め、それにBを乗じて の計算をニュートン・ラプソン法による収束計算によっ
て求める場合、収束までに要する繰り返し回数は逆数の
初期値が真の値に近いほど少なくなる。
In general, as the square root method, not only the floating point method but also a method using a convergence method (for example, Newton-Raphson method) is known. To find the square root of number B, And multiply it by B Is obtained by the convergence calculation by the Newton-Raphson method, the number of repetitions required for convergence decreases as the initial value of the reciprocal is closer to the true value.

現在発表されている浮動小数点演算処理装置では、ニ
ュートン・ラプソン法を用いて開平を行っているものが
多い。ニュートン・ラプソン法では逆数の初期値をある
精度内で与えれば、3〜4回程度の収束計算で収束値が
求められる。従ってニュートン・ラプソン法による開平
は高速処理が可能である。
Many floating-point arithmetic processing devices that are currently announced perform square rooting using the Newton-Raphson method. In the Newton-Raphson method, if an initial value of the reciprocal is given within a certain precision, a convergence value can be obtained by about three to four convergence calculations. Therefore, square rooting by the Newton-Raphson method can be performed at high speed.

ニュートン・ラプソン法を用いた開平について説明す
る。開平を実行するには、まず逆関数を求める。例え
ば、 という逆数の形で表現できる。ニュートン・ラプソン法
を用いて逆関数の反復表現を求めると次式のようにな
る。
The square root using the Newton-Raphson method will be described. To perform square root, first find the inverse function. For example, Can be expressed in the form of a reciprocal. Using the Newton-Raphson method to obtain an iterative representation of the inverse function gives:

Xi+1=1/2*Xi(3−BXi 2) ここに、i=0の場合のX0は最初の の逆数の近似値で、Xiは1番目の近似値である。符号*
は乗算の記号である。初期値X0が不等式 の条件を満たす時、乗算は終了する。初期値を得る代表
的な方法はBの上位10ビット程度をルックアップテーブ
ル(ROM等が用いられる)のポインタとして用い、ROMは
Bの値が示すアドレスの内容を初期値として出力する。
出力ビット数は入力ビット数とほぼ同じ場合が普通であ
る。一般に、浮動小数点の開平の場合、指数部と仮数部
の逆数を別々のルックアップテーブルから求める。
X i + 1 = 1/2 * X i (3-BX i 2 ) where X 0 for i = 0 is the first X i is the first approximation. Sign *
Is a symbol of multiplication. Initial value X 0 is inequality When the condition is satisfied, the multiplication ends. A typical method for obtaining the initial value uses the upper 10 bits of B as a pointer of a look-up table (a ROM or the like is used), and the ROM outputs the contents of the address indicated by the value of B as the initial value.
Usually, the number of output bits is almost the same as the number of input bits. Generally, in the case of the square root of the floating point, the reciprocals of the exponent part and the mantissa part are obtained from different lookup tables.

第4図に従来の浮動小数点演算処理装置(乗算器)を
示す。2つの入力(入力1および入力2)から入力され
る浮動小数点数を(−1)Sa2Ea-bias(1.Fa)と(−
1)Sb2Eb-bias(1.Fb)とする。この浮動小数点乗算器
は正規化数のみ扱う。それぞれの仮数部(1.Fa)と(1.
Fb)は整数(固定小数点)乗算器によって(1.Fa)×
(1.Fb)が実行される。この結果は、1.xxxx…、または
1x.xxxx…となる。1.xxxx…の場合は既に正規化されて
いる。1x.xxxx…の場合は正規化処理が必要である。す
なわち、右シフト回路5で1ビット右シフトを実行す
る。この時、指数部を+1する必要がある。
FIG. 4 shows a conventional floating point arithmetic processing unit (multiplier). Floating-point numbers input from two inputs (input 1 and input 2) are expressed as (-1) Sa 2 Ea-bias (1.Fa) and (−
1) Sb 2 Eb-bias (1.Fb). This floating point multiplier handles only normalized numbers. The mantissas (1.Fa) and (1.
Fb) is an integer (fixed-point) multiplier (1.Fa) ×
(1.Fb) is executed. The result is 1.xxxx…, or
1x.xxxx ... 1.xxxx ... is already normalized. In the case of 1x.xxxx ..., normalization processing is required. That is, the right shift circuit 5 performs a right shift by one bit. At this time, the exponent part needs to be incremented by one.

次に正規化された数値を出力データ形式に合わせるた
め丸め処理を行う。丸め回路6におけるラウンド回路12
で、出力データ形式におけるLSB(最小桁)以下の桁を
切り捨てると共に、丸めモードに従いLSBに「1」を加
えるかどうかを決定する。そして、LSBに「1」を加え
る操作は積算器(インクリメンタ)11によって実行され
る。この時、データがすべて「1」であればオーバフロ
ーが発生する。この場合は、右シフト回路13によって1
ビット右シフトされ、最終的な出力は正規化数となる。
Next, a rounding process is performed to match the normalized numerical value to the output data format. Round circuit 12 in rounding circuit 6
Then, the digits below the LSB (minimum digit) in the output data format are rounded down, and it is determined whether or not “1” is added to the LSB according to the rounding mode. Then, the operation of adding “1” to the LSB is executed by the integrator (incrementer) 11. At this time, if the data is all "1", an overflow occurs. In this case, the right shift circuit 13
Bits are shifted right and the final output is a normalized number.

指数部の演算について説明する。指数部の演算は図に
おける縦の鎖線の左側部分で行われる。1段目の加算器
21ではEa+Ebが実行され、2段目の加算器22では、その
結果に−biasを加える。従って、この2つの加算器によ
って、Ea+Eb−biasの計算が行われる。3段目の積算器
23では、正規化処理によるオーバフローの補正が必要な
時、+1加算が行われる。さらに4段目の積算器24で
は、丸め処理によるオーバフロー補正のために+1加算
が前もって行われ、オーバフロー信号Vによりマルチプ
レクサ(MUX)25でそのいずれかが選択される。符号の
計算は、SaとSbの排他的論理和によって実行される。
The operation of the exponent will be described. The calculation of the exponent is performed on the left side of the vertical chain line in the figure. 1st stage adder
At 21 Ea + Eb is executed, and the adder 22 at the second stage adds -bias to the result. Therefore, Ea + Eb−bias is calculated by these two adders. Third stage integrator
In 23, when the overflow is corrected by the normalization process, +1 is added. Further, in the integrator 24 at the fourth stage, +1 addition is performed in advance for overflow correction by rounding, and one of them is selected by the multiplexer (MUX) 25 based on the overflow signal V. The calculation of the sign is performed by the exclusive OR of Sa and Sb.

第4図に示したような従来の浮動小数点乗算器では、
2−BXiの計算をすることができず、2−BXiの計算を行
うためには、従来の浮動小数点乗算器を用いる場合、他
に加算器を必要とする。
In a conventional floating-point multiplier as shown in FIG.
It can not be the calculation of 2-BX i, in order to perform the calculation of the 2-BX i, when using conventional floating-point multiplier, other requires an adder.

〔発明が解決しようとする課題〕[Problems to be solved by the invention]

前述のように、 Xi+1=1/2*Xi(3−BXi 2)の反復計算は、 乗算:B*Xi(以下=Aとする) 乗算:A*Xi 減算:3−(A*Xi) 乗算:Xi*(3−(A*Xi)) 乗算:1/2*(Xi*(3−(A*Xi))) の5つの算術演算が必要であり、全体の演算処理時間が
長く、高速化要求に添い難いという問題点があった。
As described above, iterative calculation of X i + 1 = 1/2 * X i (3-BX i 2 ) is performed by multiplication: B * X i (hereinafter, referred to as A) multiplication: A * X i subtraction: 3 − (A * X i ) Multiplication: X i * (3- (A * X i )) Multiplication: Five arithmetic operations of 1/2 * (X i * (3- (A * X i ))) are required However, there has been a problem that the entire arithmetic processing time is long and it is difficult to meet the demand for higher speed.

本発明の目的は、浮動小数点演算処理装置における簡
単な改良で上記反復計算を高速化し、開平演算処理の高
速化を実現することにある。
An object of the present invention is to speed up the above iterative calculation by simple improvement in a floating-point arithmetic processing device, and to realize high-speed square root arithmetic processing.

〔課題を解決するための手段〕[Means for solving the problem]

本発明においては、第1図に例示されるように、2つ
の乗算すべき2進数の仮数部を整数(固定小数点)乗算
器20により乗算し、該乗算値を最上位ビットの値に対応
して1ビット右シフトする右シフト回路5を経て、丸め
回路6に供給し、該丸め回路6の出力に乗算された2進
数の仮数部が得られる浮動小数点演算処理装置に、さら
にビット反転回路7およびマルチプレクサ8を設ける。
該ビット反転回路7とマルチプレクサ8は前記右シフト
回路5と丸め回路6の間に設けられ、該ビット反転回路
7は小数点より上の桁に2進数「10」を設定し、小数点
より下の桁を反転する。マルチプレクサ8は開平演算に
おける一部の演算時のみ該ビット反転回路7の出力を該
丸め回路6へ供給する。そして、該ビット反転回路7の
出力は該丸め回路において最小桁に「1」が加算され、
1ビット右にシフトされる。前記演算以外の時は、該右
シフト回路5の出力が該マルチプレクサ8を介して該丸
め回路6へ直接供給される。
In the present invention, as shown in FIG. 1, two mantissa parts of a binary number to be multiplied are multiplied by an integer (fixed point) multiplier 20, and the multiplied value corresponds to the value of the most significant bit. The data is supplied to a rounding circuit 6 through a right shift circuit 5 for right-shifting the data by one bit, and a floating-point arithmetic processing device that obtains a binary mantissa multiplied by the output of the rounding circuit 6 is further provided with a bit inversion circuit 7 And a multiplexer 8.
The bit inversion circuit 7 and the multiplexer 8 are provided between the right shift circuit 5 and the rounding circuit 6, and the bit inversion circuit 7 sets a binary number "10" to a digit above the decimal point and a digit below the decimal point. Is inverted. The multiplexer 8 supplies the output of the bit inversion circuit 7 to the rounding circuit 6 only during a part of the square root operation. Then, the output of the bit inversion circuit 7 is added with "1" to the least significant digit in the rounding circuit,
Shifted one bit to the right. At the time other than the operation, the output of the right shift circuit 5 is directly supplied to the rounding circuit 6 via the multiplexer 8.

本発明の他の形態においては、第1図と第2図を用い
て例示されるように、2つの乗算すべき2進数の仮数部
を整数(固定小数点)乗算器20により乗算し、該乗算値
を最上位ビットの値に対応して1ビット右シフトする右
シフト回路5を経て、丸め回路36に供給し、該丸め回路
36の出力に乗算された2進数の仮数部が得られる浮動小
数点演算処理装置に、さらにビット反転回路37およびマ
ルチプレクサ8を設ける。該ビット反転回路37とマルチ
プレクサ8は前記右シフト回路5と丸め回路36の間に設
けられ、該ビット反転回路37は入力された数値の小数点
以下をビット反転し、小数点より上位のビットを「0」
にする。マルチプレクサ8は開平演算における一部の演
算時のみ該ビット反転回路37の出力を該丸め回路36へ供
給する。そして、該ビット反転回路37の出力は該丸め回
路において最小桁に「1」が加算され、1ビット右シフ
トされ最上位桁に「1」が設定される。前記演算以外の
時は該右シフト回路5の出力が該マルチプレクサ8を介
して該丸め回路36へ直接供給される。
In another embodiment of the present invention, as exemplified with reference to FIGS. 1 and 2, two mantissa parts of a binary number to be multiplied are multiplied by an integer (fixed-point) multiplier 20, and the multiplication is performed. The value is supplied to a rounding circuit 36 via a right shift circuit 5 for shifting the value to the right by one bit in accordance with the value of the most significant bit.
A floating point arithmetic processing unit which can obtain a mantissa of a binary number multiplied by the output of 36 is further provided with a bit inversion circuit 37 and a multiplexer 8. The bit inverting circuit 37 and the multiplexer 8 are provided between the right shift circuit 5 and the rounding circuit 36, and the bit inverting circuit 37 inverts the bits of the input numerical value below the decimal point and sets the bit higher than the decimal point to "0". "
To The multiplexer 8 supplies the output of the bit inversion circuit 37 to the rounding circuit 36 only during a part of the square root operation. Then, the output of the bit inverting circuit 37 is added with "1" to the least significant digit in the rounding circuit, shifted right by one bit, and set to "1" at the most significant digit. At times other than the operation, the output of the right shift circuit 5 is directly supplied to the rounding circuit 36 via the multiplexer 8.

〔作 用〕(Operation)

前述の装置を用いれば、浮動小数点乗算を行う演算処
理装置において、ビット反転回路7または37とマルチプ
レクサ8を追加するのみで、1/2*(3−AXi)(ただ
し、0<AXi≦1)の2進計算を、浮動小数点乗算の可
能な演算処理装置を用いて1ステップで実行可能とな
り、開平演算に必要な反復計算を高速化できる。
If the above-described device is used, in an arithmetic processing device that performs floating-point multiplication, only the bit inverting circuit 7 or 37 and the multiplexer 8 are added, and 1/2 * (3-AX i ) (where 0 <AX i ≦ The binary calculation of 1) can be executed in one step using an arithmetic processing device capable of floating point multiplication, and the iterative calculation required for the square root operation can be speeded up.

〔実施例〕〔Example〕

実施例の説明に先立って、まず、本発明の原理を説明
する。
Prior to the description of the embodiments, first, the principle of the present invention will be described.

IEEE規格の浮動小数点データ・フォーマットによる、
正規化数(1≦B<2)の開平の仮数部の演算について
説明する。Cを開平値とすると、 の近似値Xi+1は、 Xi+1=1/2*Xi(3−)BXi 2) と表現できる。ただし、 B>0。
IEEE floating-point data format
The operation of the mantissa part of the square root of the normalized number (1 ≦ B <2) will be described. If C is the square root, X i + 1 can be expressed as X i + 1 = 1/2 * X i (3-) BX i 2 ). However, B> 0.

ここで、初期値X0をルックアップテーブル(ROM)に
より の範囲にすると、0<AX0≦1(ただし、A=BX0)故
に、2≦(3−AX0)<3故に、1≦1/2*(3−AX0
<3/2となり、1/2*(3−AXi)も正規化数になる。従
って、一般に1/2*(3−AX0)は正規化数になる。次に
1/2*(3−AXi)の計算を考える。0<AXi≦IよりAXi
の小数点以下のビット反転を▲▼とすると、(3
−AXi)d=(10.▲▼+LSB(1))bと変換で
きる。ここに、LSB(1):LSB(最小桁)に1を加算、
( )d:10進、( )b:2進を意味する。さらに求めら
れた(10.▲▼+LSB(1))bを1ビット右にシ
フトすることによって、ニュートン・ラプソン法を用い
た開平に必要な1/2*(3−AXi)、ここに、(0<AXi
≦1)の計算を実行できる。以上のようにすると、前述
の5回の反復計算は下記のように簡略される。
Here, the initial value X 0 is determined by a look-up table (ROM). When 0 <AX 0 ≦ 1 (where A = BX 0 ), 2 ≦ (3-AX 0 ) <3, so 1 ≦ 1/2 * (3-AX 0 )
<3/2, and 1/2 * (3-AX i ) is also a normalized number. Therefore, in general, 1/2 * (3-AX 0 ) is a normalized number. next
Consider the calculation of 1/2 * (3-AX i ). 0 <AX iI than AX i
Assuming that the bit inversion below the decimal point is ▲ ▼, (3
−AX i ) d = (10. ▲ ▼ + LSB (1)) b Here, 1 is added to LSB (1): LSB (minimum digit),
() D means decimal, () b means binary. Further, by shifting the obtained (10. ▲ ▼ + LSB (1)) b by one bit to the right, 1/2 * (3-AX i ) necessary for square root using the Newton-Raphson method, where (0 <AX i
<1) can be performed. As described above, the above-described five repetitive calculations are simplified as follows.

乗算:B*Xi、これを=Aとする 本発明による演算:1/2*(3−A*Xi) 乗算:Xi*(1/2*(3−A*Xi)) このように3つの算術演算だけで実行できる。Multiplication: B * X i, computation according to the invention this is = the A: 1/2 * (3 -A * X i) multiplying: X i * (1/2 * (3-A * X i)) This Thus, it can be executed with only three arithmetic operations.

本発明の一実施例としての浮動小数点演算処理装置の
回路図が第1図に示される。この装置は第1図中央鎖線
によって左右に分けられ、左側は指数部についての演算
が加算器21および22、積算器(インクリメンタ)23およ
び24、およびマルチプレクサ25を用いて行われる。この
指数演算部分については従来の演算処理装置と同じであ
るので、説明を省略する。また符号決定回路も従来型の
ものと同様である。
FIG. 1 is a circuit diagram of a floating-point arithmetic processing device according to an embodiment of the present invention. This apparatus is divided into right and left parts by the center chain line in FIG. 1. On the left side, the operation on the exponent is performed using adders 21 and 22, integrators (incrementers) 23 and 24, and a multiplexer 25. The exponent calculation part is the same as that of the conventional calculation processing device, and thus the description is omitted. The sign determination circuit is the same as the conventional one.

第1図の中央鎖線の右側に仮数部の演算回路が示され
る。乗算されるべき2つの入力(入力1および入力2)
の仮数部は、整数(固定小数点)乗算器により、破線の
ブロックで示されるようなデータとして出力される。最
上位桁Vは指数部演算における積算器23へ供給されると
共に右シフト回路5を1ビットシフトさせる。整数乗算
器20の出力は右シフト回路5に供給される。右シフト回
路5の出力は本発明により新たに設けられた、ビット反
転回路7およびマルチプレクサ8に供給される。ビット
反転回路7は入力されたデータについて、小数点より下
位桁のビットは反転し、上位のビットは「10」とした数
値、すなわち、 「10.…」というデータを出力する。
The arithmetic circuit of the mantissa is shown on the right side of the center chain line in FIG. Two inputs to be multiplied (input 1 and input 2)
Is output by an integer (fixed-point) multiplier as data indicated by a dashed block. The most significant digit V is supplied to the integrator 23 in the exponent operation and shifts the right shift circuit 5 by one bit. The output of the integer multiplier 20 is supplied to the right shift circuit 5. The output of the right shift circuit 5 is supplied to a bit inversion circuit 7 and a multiplexer 8 newly provided according to the present invention. The bit inversion circuit 7 inverts the bits of the input data in the lower digit than the decimal point, and outputs a numerical value in which the upper bit is “10”, that is, data “10.

以下に1/2*(3−A*Xi)の計算について説明す
る。整数乗算器20からの出力AXiは0<AXi≦1であるた
め、オーバフロービットVは0である。右シフト回路5
通過後のデータは1.0000...0または0.xxxx...である。
これらがビット反転回路7によって1.0000...は10.111
1..、0.xxxは10....となる。ここにはxの反
転値である。開平演算における一部の演算の時、すなわ
ち1/2*(3−A*Xi)の演算の時に与えられる制御信
号(開平)によってマルチプレクサ8はビット反転回路
7からの出力を選択し、開平信号のない時は右シフト回
路5の出力を丸め回路6の一要素である積算器(インク
リメンタ)11へ供給する。開平制御信号の与えられてい
る時はさらに積算器11においてLSBに「1」が加えられ
る。積算器11の出力は他の1つの右シフト回路13を介し
て仮数部出力を出力する。丸め回路6は積算器11、右シ
フト回路13およびラウンド回路12を具備し、丸めモード
において、マルチプレクサ8の出力を受け出力を積算器
11に供給し、演算出力の丸めを行う。
The calculation of 1/2 * (3-A * X i ) will be described below. Since the output AX i from the integer multiplier 20 is 0 <AX i ≦ 1, the overflow bit V is 0. Right shift circuit 5
The data after passing is 1.0000 ... 0 or 0.xxxx ...
These are 10.000 ... 10.111 by the bit inversion circuit 7.
1 .., 0.xxx becomes 10 .... Here is the inverted value of x. The multiplexer 8 selects an output from the bit inversion circuit 7 by a control signal (square root) given at the time of a part of the square root calculation, that is, at the time of the calculation of 1/2 * (3-A * X i ). When there is no signal, the output of the right shift circuit 5 is supplied to an integrator 11 which is an element of the rounding circuit 6. When the square root control signal is given, the integrator 11 further adds "1" to the LSB. The output of the integrator 11 outputs a mantissa output via another right shift circuit 13. The rounding circuit 6 includes an integrator 11, a right shift circuit 13 and a round circuit 12, and receives an output of the multiplexer 8 and outputs an output in the rounding mode.
11 to round the arithmetic output.

積算器11において最上位桁Vが「1」の時は指数部マ
ルチプレクサ25に信号を送り、積算器23からの出力を選
択し、右シフト回路13で1ビット右シフトを行う。開平
制御の時はオーバフロービットが(すなわち21の桁)が
「1」であるから1ビット右シフトされる。
When the most significant digit V is "1" in the integrator 11, a signal is sent to the exponent part multiplexer 25, the output from the integrator 23 is selected, and the right shift circuit 13 shifts right by one bit. When Unexamined control overflow bits (i.e. 2 1 digit) is 1-bit right shift because it is "1".

従って、上述の積算器11の出力迄で、3−A*Xiの演
算が行われ、右シフト回路13によって1/2倍され、結局1
/2*(3−AXi)の演算が1ステップで行われる(ここ
に0<AXi≦1)。
Therefore, until the output of the integrator 11 described above, 3-A * X i operation is performed, it is 1/2 by right shift circuit 13, eventually 1
The calculation of / 2 * (3-AX i ) is performed in one step (where 0 <AX i ≦ 1).

前記実施例の変形例を第2図および第3図を用いて説
明する。第2図には変形例の部分回路図が示される。す
なわち仮数部演算回路における右シフト回路5以下の回
路図が示される。このほかの回路は第1図の回路と同様
である。
A modification of the above embodiment will be described with reference to FIGS. FIG. 2 shows a partial circuit diagram of a modification. That is, a circuit diagram of the right shift circuit 5 and the subsequent circuits in the mantissa operation circuit is shown. The other circuits are the same as the circuits in FIG.

この回路においてはビット反転回路7の代りにビット
反転回路37が用いられる。ビット反転回路7においては
小数点より下位桁のビットは反転され、上位のビットは
「10」が設定されるが、ビット反転回路37では、上位ビ
ットは「0」に設定する。また、右シフト回路13の代り
に変形例では右シフト回路33が用いられる。右シフト回
路33の詳細は第3図に示される。この回路は制御信号S
が「1」であれば各マルチプレクサ41の左側の入力が選
択され、「0」であれば右側の入力が選択される。制御
信号Sが「1」の時、最上位桁(MSB)の入力は「1」
が設定されている。制御信号Sは開平演算における1/2
*(3−A*Xi)〔ただし0<AXi≦1〕を行う時に
「1」となるよう制御されている。
In this circuit, a bit inversion circuit 37 is used in place of the bit inversion circuit 7. In the bit inversion circuit 7, the bit of the lower digit than the decimal point is inverted, and the upper bit is set to “10”. However, in the bit inversion circuit 37, the upper bit is set to “0”. In a modification, a right shift circuit 33 is used instead of the right shift circuit 13. Details of the right shift circuit 33 are shown in FIG. This circuit uses the control signal S
Is "1", the left input of each multiplexer 41 is selected, and if "0", the right input is selected. When the control signal S is “1”, the input of the most significant digit (MSB) is “1”.
Is set. The control signal S is 1/2 in square root operation
* (3-A * X i ) [where 0 <AX i ≦ 1] is controlled to be “1”.

〔発明の効果〕〔The invention's effect〕

本発明によれば、浮動小数点演算処理装置における簡
単な回路の追加で、開平計算に必要な反復計算を高速化
し、開平演算処理の高速化を実現できる。
According to the present invention, by adding a simple circuit in the floating-point arithmetic processing device, the iterative calculation required for the square root calculation can be speeded up, and the square root arithmetic processing can be speeded up.

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

第1図は本発明の一実施例としての浮動小数点演算処理
装置の回路図、 第2図は第1図の実施例の変形を示す部分回路図、 第3図は第2図の丸め回路における右シフト回路を示す
回路図、および 第4図は従来例の浮動小数点演算処理装置の回路図であ
る。 図において、 5……右シフト回路、6……丸め回路、 7……ビット反転回路、8……マルチプレクサ、 11……積算器、12……ラウンド回路、 13……右シフト回路、20……整数乗算器、 21,22……加算器、 23,24……積算器、25……マルチプレクサ、 33……右シフト回路、36……丸め回路、 37……ビット反転回路、41……マルチプレクサ、 である。
FIG. 1 is a circuit diagram of a floating-point arithmetic processing device as one embodiment of the present invention, FIG. 2 is a partial circuit diagram showing a modification of the embodiment of FIG. 1, and FIG. FIG. 4 is a circuit diagram showing a right shift circuit, and FIG. 4 is a circuit diagram of a conventional floating point arithmetic processing device. In the figure, 5 ... right shift circuit, 6 ... rounding circuit, 7 ... bit inversion circuit, 8 ... multiplexer, 11 ... integrator, 12 ... round circuit, 13 ... right shift circuit, 20 ... Integer multiplier, 21,22 Adder, 23,24 Integrator, 25 Multiplexer, 33 Right shift circuit, 36 Rounding circuit, 37 Bit inverting circuit, 41 Multiplexer It is.

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】2つの乗算すべき2進数の仮数部を固定小
数点乗算器である整数乗算器(20)により乗算し、該乗
算値を最上位ビットの値に対応して1ビット右シフトす
る右シフト回路(5)を経て、丸め回路(6)に供給
し、該丸め回路(6)の出力に乗算された2進数の仮数
部が得られる浮動小数点演算処理装置であって、 前記右シフト回路(5)と丸め回路(6)の間に小数点
より上の桁に2進数「10」を設定し、小数点より下の桁
を反転するビット反転回路(7)およびマルチプレクサ
(8)を設け、開平演算における一部の演算時のみ、該
ビット反転回路(7)の出力が該マルチプレクサ(8)
を介して該丸め回路(6)へ供給され、最小桁に「1」
が加算され、1ビット右シフトされ、前記演算以外の時
は、該右シフト回路(5)の出力が該マルチプレクサ
(8)を介して該丸め回路(6)へ供給されるようにし
た浮動小数点演算処理装置。
1. A mantissa part of two binary numbers to be multiplied is multiplied by an integer multiplier (20) which is a fixed-point multiplier, and the multiplied value is shifted right by one bit corresponding to the value of the most significant bit. A floating-point arithmetic processing unit which supplies a mantissa part of a binary number which is supplied to a rounding circuit (6) via a right shift circuit (5) and is multiplied by an output of the rounding circuit (6). A binary number "10" is set in a digit above the decimal point between the circuit (5) and the rounding circuit (6), and a bit inverting circuit (7) for inverting a digit below the decimal point and a multiplexer (8) are provided. Only during a part of the square root operation, the output of the bit inversion circuit (7) is output from the multiplexer (8).
Is supplied to the rounding circuit (6), and the least significant digit is "1".
Is added and shifted by one bit to the right, and when the operation is not performed, a floating-point data is output from the right shift circuit (5) to the rounding circuit (6) via the multiplexer (8). Arithmetic processing unit.
【請求項2】2つの乗算すべき2進数の仮数部を固定小
数点乗算器である整数乗算器(20)により乗算し、該乗
算値を最上位ビットの値に対応して1ビット右シフトす
る右シフト回路(5)を経て、丸め回路(36)に供給
し、該丸め回路(36)の出力に乗算された2進数の仮数
部が得られる浮動小数点演算処理装置であって、 前記右シフト回路(5)と丸め回路(36)の間に、印加
された数値の小数点以下をビット反転し、小数点より上
位のビットを「0」にするビット反転回路(37)および
マルチプレクサ(8)を設け、開平演算における一部の
演算時のみ、該ビット反転回路(37)の出力が該マルチ
プレクサ(8)を介して丸め回路(36)へ供給され、最
小桁に「1」が加算され、1ビット右シフトされ最上位
桁に「1」が設定され、前記演算以外の時は、該右シフ
ト回路(5)の出力が該マルチプレクサ(8)を介して
該丸め回路(36)へ供給されるようにした浮動小数点演
算処理装置。
2. The multiplication of two mantissa parts of a binary number to be multiplied by an integer multiplier (20), which is a fixed-point multiplier, and right-shifts the multiplied value by one bit corresponding to the value of the most significant bit. A right-point shift circuit (5), which is supplied to a rounding circuit (36) to obtain a binary mantissa multiplied by an output of the rounding circuit (36); Between the circuit (5) and the rounding circuit (36), a bit inverting circuit (37) and a multiplexer (8) for inverting bits below the decimal point of the applied numerical value to set a bit higher than the decimal point to "0" are provided. Only during a part of the square root operation, the output of the bit inversion circuit (37) is supplied to the rounding circuit (36) via the multiplexer (8), "1" is added to the least significant digit, and 1 bit is added. Right shift is performed and the highest digit is set to “1”. When other than a floating point processing unit output of said right shift circuit (5) is to be supplied to the round Me circuit (36) via the multiplexer (8).
JP63174872A 1988-07-15 1988-07-15 Floating point processor Expired - Fee Related JP2645422B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP63174872A JP2645422B2 (en) 1988-07-15 1988-07-15 Floating point processor
US07/374,299 US4999801A (en) 1988-07-15 1989-06-30 Floating point operation unit in division and square root operations
KR1019890010030A KR920005226B1 (en) 1988-07-15 1989-07-14 Floating point arithmetic units
EP89307180A EP0351242B1 (en) 1988-07-15 1989-07-14 Floating point arithmetic units
DE68929114T DE68929114T2 (en) 1988-07-15 1989-07-14 Floating point arithmetic units

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63174872A JP2645422B2 (en) 1988-07-15 1988-07-15 Floating point processor

Publications (2)

Publication Number Publication Date
JPH0225924A JPH0225924A (en) 1990-01-29
JP2645422B2 true JP2645422B2 (en) 1997-08-25

Family

ID=15986134

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63174872A Expired - Fee Related JP2645422B2 (en) 1988-07-15 1988-07-15 Floating point processor

Country Status (1)

Country Link
JP (1) JP2645422B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278782A (en) * 1991-06-03 1994-01-11 Matsushita Electric Industrial Co., Ltd. Square root operation device
JP2722858B2 (en) * 1991-06-03 1998-03-09 松下電器産業株式会社 Square root arithmetic unit
JPH0683591A (en) * 1992-09-07 1994-03-25 Nec Corp Floating point multiplier and test system
US5729481A (en) * 1995-03-31 1998-03-17 International Business Machines Corporation Method and system of rounding for quadratically converging division or square root

Also Published As

Publication number Publication date
JPH0225924A (en) 1990-01-29

Similar Documents

Publication Publication Date Title
KR920005226B1 (en) Floating point arithmetic units
KR19980702882A (en) Exponential circuit using shifting means and method of use
US5111421A (en) System for performing addition and subtraction of signed magnitude floating point binary numbers
KR100203468B1 (en) Arithmetic apparatus for floating point numbers
JPH04290122A (en) Numerical expression conversion device
US5260889A (en) Computation of sticky-bit in parallel with partial products in a floating point multiplier unit
US7809784B2 (en) Apparatus and method for calculation of divisions and square roots
JP2001222410A (en) Divider
JP2645422B2 (en) Floating point processor
GB2549153B (en) Apparatus and method for supporting a conversion instruction
US4823300A (en) Performing binary multiplication using minimal path algorithm
KR19980082906A (en) How to Convert Floating-Point Numbers to Integer Types
JP2578482B2 (en) Floating point arithmetic unit
JPH0540605A (en) Floating point multiplier
JP2777265B2 (en) High radix square root arithmetic unit
KR20010067226A (en) Interpolation method and apparatus
JP3077880B2 (en) Sticky bit detection circuit
Natarajan et al. Arithmetic Operations and Circuits
JP3100868B2 (en) Arithmetic unit for floating point numbers
JPH1185471A (en) Operation method and arithmetic unit
JP2000010763A (en) Division circuit
JPH06195206A (en) Divider
KR940008610B1 (en) Method and processor for high-speed convergence factor determination
JPH0778724B2 (en) Divider
JPH05216629A (en) Divider

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees