JPS6079429A - Floating point computing element - Google Patents
Floating point computing elementInfo
- Publication number
- JPS6079429A JPS6079429A JP58186704A JP18670483A JPS6079429A JP S6079429 A JPS6079429 A JP S6079429A JP 58186704 A JP58186704 A JP 58186704A JP 18670483 A JP18670483 A JP 18670483A JP S6079429 A JPS6079429 A JP S6079429A
- Authority
- JP
- Japan
- Prior art keywords
- arithmetic
- mantissa
- exponent
- digit
- digits
- 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
Links
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
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
Description
【発明の詳細な説明】
〔技術分野〕
この発明は、浮動小数点演算技術に関するもので、例え
ば、高信頼性が要求される自動制御等の浮動小数点演算
器に有効な技術に関するものである。DETAILED DESCRIPTION OF THE INVENTION [Technical Field] The present invention relates to floating point arithmetic technology, and for example, to a technology effective for floating point arithmetic units such as automatic control requiring high reliability.
従来の浮動小数点演算方法は、次の4つのステップによ
り実行される。(近代科学社刊、堀込彌訳、rコンピュ
ータの高速演算方式−の第9章正規化浮動小数点演算器
を参照)
(1)オペランドの零チェック
(2)両オペランドの指数を一致させるための仮数の桁
合わせ
(3)加数の加算/減算
(4)演算結果の正規化
このような浮動小数点演算方式にあっては、次のような
欠点のあることが本願発明者の研究によって明らかにさ
れた。The conventional floating point arithmetic method is performed by the following four steps. (Refer to Chapter 9, “Normalized Floating Point Arithmetic Unit” in “High-Speed Arithmetic Methods for R Computers,” published by Kindai Kagakusha, translated by Yasushi Horikome.) (1) Zero check for operands (2) Mantissa to match the exponents of both operands (3) Addition/subtraction of addends (4) Normalization of operation results The inventor's research has revealed that this type of floating point arithmetic system has the following drawbacks. Ta.
例えば、理解を容易にするため、十進数で表ずx−3,
15X10−5.y=−3,14X10−’の加算を行
う場合、その演算結果2は、次のようにしてめられる。For example, for ease of understanding, x-3,
15X10-5. When performing the addition of y=-3, 14X10-', the calculation result 2 can be calculated as follows.
上記+1+により零でないことを剰べ(X又はyの一方
が零ならば演算を省略して、その符号のみの処理を行う
)。両者共零でなければ、上記り2)により指数を一致
させる。この例では一致しているので、上記(3)によ
って(3,15−3,14) x 10−5の演算を行
う。この結果z =0.OI X 10’−’となるの
で、上記(4)によって1.00X10−’のように正
規化を行うものである。The above +1+ is used to determine that it is not zero (if either X or y is zero, the operation is omitted and only the sign thereof is processed). If both are not zero, the indices are matched according to 2) above. In this example, since they match, the calculation (3, 15-3, 14) x 10-5 is performed according to (3) above. This result z = 0. Since OI X 10'-', normalization is performed to 1.00X10-' according to (4) above.
一方、x=5.04X10−8.y=4.99xlO−
eの加算を行う場合、上記同様にしてz’=10.03
X10−’となり、正規化により四捨五入によって1.
00X10−’となる。上記演算結果2と2゜とは、同
じ数値を現しているが、その内容(精度)を異にするも
のである。すなわち、まるめ(四捨五入)によって上記
2の有効桁は10−1の桁までであるのに対して2゛は
10−10を四捨五入した結果得られた10−9の桁ま
でであるからである。On the other hand, x=5.04X10-8. y=4.99xlO-
When adding e, z'=10.03 in the same way as above.
X10-', and by rounding off by normalization, it becomes 1.
00X10-'. The above calculation results 2 and 2° represent the same numerical value, but their contents (accuracy) are different. That is, due to rounding, the effective digits of 2 are up to the 10-1 digit, whereas 2' is up to the 10-9 digit obtained by rounding off 10-10.
言い換えれば、2”は、1O−9までの0が意味を持つ
のに対して、2は10−1の桁の1のみが意味のある数
値で′あり10−8. 10−9桁の0は全く無意味な
正規化処理で付加されただけのものであるからである。In other words, in 2'', the 0s up to 10-9 have meaning, whereas in 2, only the 1s in the 10-1 digit are meaningful, so 10-8. 0 in the 10-9 digit. This is because they are simply added as part of a completely meaningless normalization process.
したがって、上記2と2゛とをそれぞれ次の演算に用い
るとき、或いはその結果を評価するときに従来の浮動小
数点演算方法では区別がスきなく同じものとして扱わざ
るを得ないという重大な欠陥がある。Therefore, when using the above 2 and 2 in the next operation or evaluating the result, there is a serious flaw in that conventional floating point arithmetic methods cannot distinguish between them and have to treat them as the same thing. be.
(発明の目的〕
この発明の目的は、演算結果の精度を保証した浮動小数
点演算器を提供することにある。(Object of the Invention) An object of the present invention is to provide a floating-point arithmetic unit that guarantees the accuracy of calculation results.
この発明の他の目的は、高速演算処理を実現した浮動小
数点演算器を提供することにある。Another object of the present invention is to provide a floating point arithmetic unit that realizes high-speed arithmetic processing.
この発明の前記ならびにその他の目的と新規な特徴は、
この明細書の記述および添付図面から明らかになるであ
ろう。The above and other objects and novel features of this invention include:
It will become clear from the description of this specification and the accompanying drawings.
本願において開示される発明のうち代表的なものの概要
を簡単に説明すれば、下記の通りである。A brief overview of typical inventions disclosed in this application is as follows.
すなわち、演算数値を符号、指数、仮数及び有効桁とで
表現された入力データをそれぞれ演算器に入力し、上記
有効桁を参照してそれぞれ演算を行うことによって演算
結果の有効桁を出力するとともに、仮数演算における無
効桁の演−算を省略するものである。In other words, input data in which a calculated value is expressed as a sign, an exponent, a mantissa, and a significant digit are each input to a computing unit, and the significant digits of the operation result are output by performing the respective operations with reference to the above-mentioned significant digits. , the calculation of invalid digits in mantissa calculation is omitted.
図面には、この発明に係る浮動小数点演算器のブロック
図が示されている。The drawing shows a block diagram of a floating point arithmetic unit according to the present invention.
この実施例では、数値(オペランド)を次のように表現
するものである。すなわち、1つの数値は、符号S、指
数E、仮数Mの他に有効桁(精度)Pを新たに付加する
ものである。In this embodiment, numerical values (operands) are expressed as follows. That is, one numerical value has a sign S, an exponent E, a mantissa M, and a new significant digit (precision) P.
したがって、この実施例の浮動小数点演算器を構成する
一対の入力レジスタ1.2は、上記オペランドの符号S
x、 Sy+指数指数数り込む指数部Ex、Eyと、仮
数Mを取り込む仮数部Mx。Therefore, the pair of input registers 1.2 constituting the floating point arithmetic unit of this embodiment has the sign S of the above operand.
x, Sy + exponent The exponent parts Ex and Ey are taken in, and the mantissa part Mx is taken in.
Myと、有効桁Pを取り込む有効桁部px、pyとによ
り構成される。また、特に制限されないが、演算部3は
、シフトレジスタSRと、指数の演算を行う指数演算部
EAと、仮数の演算を行う仮数演算部MA及び有効桁の
データの演算を行う有効桁演算部PAとにより構成され
る。My, and significant digit parts px and py that take in the significant digit P. Although not particularly limited, the calculation section 3 includes a shift register SR, an exponent calculation section EA that performs exponent calculation, a mantissa calculation section MA that performs mantissa calculation, and a significant digit calculation section that performs calculation of significant digit data. It is composed of PA.
特に制限されないが、上記入力レジスタのうち、一方の
レジスタ1の仮数部Mxのデータは、シフトレジスタS
Rに入力される。これは、両オペランドの桁合わせ動作
を行うためのものである。すなわち、指数部Ex、By
のデータを受ける指数演算部AEにより、両指数を比較
して、入力レジスタの指数部Eyの指数に対してt旨数
部Exの指数が一致するように、シフトレジスタSRを
動作させるものである。仮数演算部MAは、上記シフト
レジスタS Rの動作によって桁合わせられた両オペラ
ンドの仮数の算術演算を行うものである。Although not particularly limited, the data in the mantissa part Mx of one of the input registers 1 is the shift register S.
input to R. This is to perform a digit alignment operation for both operands. That is, the exponent part Ex, By
The exponent operation unit AE, which receives the data, compares both exponents and operates the shift register SR so that the exponent of the exponent part Ey of the input register matches the exponent of the numeral part Ex. . The mantissa operation unit MA performs arithmetic operations on the mantissas of both operands whose digits have been aligned by the operation of the shift register SR.
また、有効桁演算部PAは、両オペランドの指数の形態
で示された有効桁情報を比較して、小さい方の有効桁を
新な有効桁情報として保持するものである。また、上記
指数演算部EAの演算結果の正規化(四捨五入)動作に
従ってその修正が行われる。Further, the significant digit calculation unit PA compares the significant digit information shown in the form of exponents of both operands, and holds the smaller significant digit as new significant digit information. Further, the correction is performed according to the normalization (rounding) operation of the calculation result of the exponent calculation unit EA.
上記各演算部の演算結果は、符号部Sz、指数部Ez、
仮数部MZ及び有効桁部Pzからなる出力レジスタ4に
送出される。The calculation results of each of the above calculation units are a sign part Sz, an exponent part Ez,
It is sent to an output register 4 consisting of a mantissa part MZ and a significant digit part Pz.
上記の浮動小数点演算器による演算動作を具体的に数値
を示して説明する。The arithmetic operation by the above floating point arithmetic unit will be explained by specifically showing numerical values.
前述と同様に理解を容易にするため、十進数で表すオペ
ランドx=3.15X10−’、y=−3,14X10
−5の加算を行う場合、x、yの有効桁が共に10−1
であるので、その指数−7を付加してお(。この実施例
では、両有効桁が同じなので、その演算結果2は、前述
したのと同様にしてめられる。すなわち、上記+11に
より両オペランドが零でないことを仮数演算部MAによ
って調べ(X又はyの一方が零ならば演算を省略して、
その符号のみの処理を行う)。両者x、yが共に零でな
ければ、前記(2)により指数を一致させる。この例で
は一致しているので、前記(3)によって(3,15−
3,14) x 1 (1−5の演算を行う。この結果
2=0.0IX10−5となるので、上記<4)によっ
て1.00×10−Iのように正規化を行うものである
。この場合、有効桁が−7であるので、そのまま演算結
果2に付加される。As before, for ease of understanding, the operands expressed in decimal numbers x = 3.15X10-', y = -3,14X10
When performing addition of -5, both significant digits of x and y are 10-1
Therefore, the exponent -7 is added (. In this example, since both significant digits are the same, the operation result 2 can be obtained in the same way as described above. In other words, the above +11 makes both operands Check that is not zero using the mantissa calculation unit MA (if either X or y is zero, omit the calculation,
(process only that sign). If both x and y are not zero, the indices are made to match according to (2) above. In this example, they match, so according to (3) above, (3,15-
3, 14) x 1 (1-5 calculation is performed. This result is 2 = 0.0IX10-5, so normalization is performed to 1.00x10-I using <4) above. . In this case, since the effective digit is -7, it is added to the calculation result 2 as is.
一方、オペランドx=5.04 X 10−8. y
=4.99X10−8の加算を行う場合、その有効桁が
共に10−10であるので−10が付加されている。そ
して演算結果2゛は、上記同様にしてz’=10.03
XlO−8となり、正規化により四捨五入によって1.
00X10−’となる。上記正規化処理により10−1
0の桁が四捨五入されたので、その有効桁が10−9と
なるので、有効桁−9のように修正される。On the other hand, operand x = 5.04 x 10-8. y
When performing the addition of =4.99X10-8, -10 is added because both effective digits are 10-10. Then, the calculation result 2 is calculated as z'=10.03 in the same way as above.
XlO-8, and rounding off by normalization gives 1.
00X10-'. 10-1 due to the above normalization process
Since the 0 digit has been rounded off, its effective digit becomes 10-9, so it is corrected to show that the effective digit is -9.
したがって、上記演算結果2と2゛とは、形式的には同
じ数値を現しているが、その有効桁が−7と−9のよう
に異なっていることより、両者の数値の重みの相違を簡
単に知ることができる。Therefore, although the above calculation results 2 and 2゛ formally represent the same numerical value, their significant digits are different, such as -7 and -9. It's easy to know.
このようにこの実施例では、その精度を表現することが
できることの他、高速演算処理に役立つものである。In this way, in addition to being able to express precision, this embodiment is useful for high-speed arithmetic processing.
例えば、X=3.14X10−5.7−3.15X10
−1のように有効桁が異なる場合、小さい方の有効桁以
下の数値の演算を省略するものである。すなわち、Xの
10−8桁は誤差範囲であるので、yの10−8桁以降
の数値が必然的に誤差範囲になるからである。したがっ
て、この場合の加算は、(314+3)xlO−’=3
17xlO−’をめて、正規化するものである。これに
よって、従来のように(314,00+3.15) X
10−’のようなより多くの桁からなる演算に比べて
その処理桁数の省略が実現できることによって、その演
算処理の高速化が実現できる。このことは、2つの数値
のうち、一方の数値がその有効桁以下の場合には、演算
処理を全く省略できることを意味し、前記浮動小数点演
算処理ステップ(11と同様な処理のみによって演算結
果がめられる。For example, X=3.14X10-5.7-3.15X10
When the significant digits are different, such as -1, the calculation of the numerical value below the smaller significant digit is omitted. That is, since the 10-8 digits of X are within the error range, the numerical values after the 10-8 digits of y are necessarily within the error range. Therefore, the addition in this case is (314+3)xlO-'=3
17xlO-' and normalize it. As a result, (314,00+3.15) X
Since the number of digits to be processed can be omitted compared to an operation with a larger number of digits such as 10-', the speed of the operation can be increased. This means that if one of the two numbers has less than the significant digits, the calculation process can be completely omitted, and the calculation result can be obtained only by the same process as in the floating point calculation processing step (11). It will be done.
(1)数値にその有効桁情報を付加することによって、
演算結果の精度の重みを表現できるという効果が得られ
る。(1) By adding significant digit information to the numerical value,
This has the effect of being able to express the weight of the accuracy of the calculation result.
(2)有効桁情報を付加するとともに、一方の数値の誤
差範囲の無意味な数値の演算を省略することによって、
精度を維持しつつ高速処理を実現できるという効果が1
qられる。(2) By adding significant digit information and omitting meaningless numerical calculations in the error range of one numerical value,
One effect is that high-speed processing can be achieved while maintaining accuracy.
be qed.
(3)無意味な桁の数値を省略できるので、メモリ容量
を節約できるという効果が得られる。(3) Since meaningless digits can be omitted, memory capacity can be saved.
(4)一方の数値の誤差範囲での数値の演算を行うこと
によって生じる誤差を大きくしてしまうという危険なオ
ペレーションを中止できることによって、精度の高い演
算結果が得られるという効果が得られる。(4) By being able to cancel a dangerous operation that increases the error caused by calculating a numerical value within the error range of one numerical value, it is possible to obtain highly accurate calculation results.
以上奎発明者によってなされた発明を実施例に基づき具
体的に説明したが、この発明は上記実施例に限定される
ものではなく、その要旨を逸脱しない範囲で種々変更可
能であることはいうまでもない。有効桁情報の演算を行
う部分以外の演算回路の構成は、種々の実施形態を採る
ことができるものである。例えば、演算部は、算術論理
演算ユニットとシフトレジスタ機能を持つ、1つの演算
ユニットを時分割方式により使用するものであってもよ
い。さらに、出力レジスタ4を省略して、一方の入力レ
ジスタに演算結果を送出するようにするものであっても
よい。また、入力レジスタ及び出力レジスタは、RAM
(ランダム・アクセス・メモリ)を使用するものであ
ってもよい。この場合、仮数演算動作は、その有効桁を
外れる部分の演算を省略するような機能を持たせること
が、上述のような高速演算を行う上で有益である。The invention made by the inventor Kei has been specifically explained above based on examples, but it goes without saying that this invention is not limited to the above examples and can be modified in various ways without departing from the gist of the invention. Nor. The configuration of the arithmetic circuit other than the part that calculates significant digit information can take various embodiments. For example, the arithmetic unit may use one arithmetic unit having an arithmetic logic unit and a shift register function in a time-sharing manner. Furthermore, the output register 4 may be omitted and the calculation result may be sent to one input register. In addition, the input register and output register are RAM
(Random access memory) may also be used. In this case, it is useful for the mantissa calculation operation to have a function of omitting calculations for parts outside the effective digits in order to perform high-speed calculations as described above.
さらに、この発明に係る数値の表現方法から従来の数値
の表現方法(正規化)に直す場合、精度(有効桁)に見
合ったフォーマットを単精度2倍楕度又は拡張倍精度の
うちから選ぶものである。Furthermore, when converting from the numerical representation method according to the present invention to the conventional numerical representation method (normalization), select a format appropriate for the precision (significant digits) from single precision double ellipse or extended double precision. It is.
この発明は、各種浮動小数点演算器に広く適用でき、特
に高精度が要求されるプラント制御、計測制御等、ある
いは高速演算が要求される電子計算機、マイクロコンピ
ュータ等に有効なものとなる。The present invention can be widely applied to various floating point arithmetic units, and is particularly effective for plant control, measurement control, etc., which require high precision, or electronic computers, microcomputers, etc., which require high-speed calculation.
図面には、この発明の一実施例を示すブロック図が示さ
れている。A block diagram showing one embodiment of the invention is shown in the drawings.
Claims (1)
るフォーマットの入力データがそれぞれ入力される一対
のレジスタと、上記レジスタに取り込まれた仮数の演算
を行う仮数演算器と、上記レジスタに取り込まれた指数
の演算を行う指数演算器と、上記一方のレジスタの仮数
のデータを受けて、上記両レジスタに取り込まれたデー
タの指数を一致させるシフトレジスタと、上記レジスタ
に取り込まれた有効桁のデータを受りて、小さい方の有
効桁に基づいて演算結果の有効桁データを形成する有効
桁演算器とを含むことを特徴とする浮動小数点演算器。 2、上記仮数演算器は、有効桁から外れた仮数の数値を
その演算処理を省略するものであることを特徴とする特
許請求の範囲第1項記載の浮動小数点演算器1. A pair of registers into which input data in a format consisting of a sign, an exponent, a mantissa, and a significant digit are respectively input for one numerical value, a mantissa calculator that calculates the mantissa taken into the register, and An exponent calculator that calculates the loaded exponent, a shift register that receives the mantissa data of one of the registers and matches the exponents of the data loaded into both registers, and a significant digit loaded into the register. and a significant digit arithmetic unit that receives the data and forms significant digit data of an operation result based on the smaller significant digit. 2. The floating point arithmetic unit according to claim 1, wherein the mantissa arithmetic unit omits arithmetic processing of mantissa values that are out of significant digits.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58186704A JPS6079429A (en) | 1983-10-07 | 1983-10-07 | Floating point computing element |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58186704A JPS6079429A (en) | 1983-10-07 | 1983-10-07 | Floating point computing element |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6079429A true JPS6079429A (en) | 1985-05-07 |
Family
ID=16193170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58186704A Pending JPS6079429A (en) | 1983-10-07 | 1983-10-07 | Floating point computing element |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6079429A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63282799A (en) * | 1987-04-28 | 1988-11-18 | 富士通テン株式会社 | Processor |
-
1983
- 1983-10-07 JP JP58186704A patent/JPS6079429A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63282799A (en) * | 1987-04-28 | 1988-11-18 | 富士通テン株式会社 | Processor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11347511B2 (en) | Floating-point scaling operation | |
US10489153B2 (en) | Stochastic rounding floating-point add instruction using entropy from a register | |
US9608662B2 (en) | Apparatus and method for converting floating-point operand into a value having a different format | |
JP2557190B2 (en) | Optimization system for argument reduction | |
JPH0635675A (en) | Method and device for conducting division in data processor | |
JP3178746B2 (en) | Format converter for floating point numbers | |
US8554822B2 (en) | Decimal adder with end around carry | |
CN111078292A (en) | Arithmetic processing apparatus and method of controlling arithmetic processing apparatus | |
JPH09212337A (en) | Floating-point arithmetic processor | |
US9703626B2 (en) | Recycling error bits in floating point units | |
JPS62191926A (en) | Arithmetic unit | |
US5337265A (en) | Apparatus for executing add/sub operations between IEEE standard floating-point numbers | |
US20170220343A1 (en) | Stochastic rounding floating-point multiply instruction using entropy from a register | |
JPS6079429A (en) | Floating point computing element | |
CN113781217A (en) | Floating point number processing method and device based on FPGA, electronic equipment and storage medium | |
US6615228B1 (en) | Selection based rounding system and method for floating point operations | |
WO2004025453A2 (en) | Apparatus and method for adding multiple-bit binary strings | |
US5805487A (en) | Method and system for fast determination of sticky and guard bits | |
SU1361543A1 (en) | Device for rounding off sum and difference of binary-coded numbers with floating point | |
JPH01282633A (en) | Non-normalized number processing system | |
JPH0498524A (en) | Floating point arithmetic unit | |
JP2002304288A (en) | Data processing device and program | |
JPH02165225A (en) | Arithmetic processing unit for floating point numeral with accuracy | |
Chen et al. | Application-specific instruction design for LNS addition/subtraction computation on an SOPC system | |
JPS6194144A (en) | Floating point adder circuit |