Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0799495B2 - Floating point arithmetic unit - Google Patents
[go: Go Back, main page]

JPH0799495B2 - Floating point arithmetic unit - Google Patents

Floating point arithmetic unit

Info

Publication number
JPH0799495B2
JPH0799495B2 JP61165297A JP16529786A JPH0799495B2 JP H0799495 B2 JPH0799495 B2 JP H0799495B2 JP 61165297 A JP61165297 A JP 61165297A JP 16529786 A JP16529786 A JP 16529786A JP H0799495 B2 JPH0799495 B2 JP H0799495B2
Authority
JP
Japan
Prior art keywords
exponent
mantissa
urr
bit
register
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 - Lifetime
Application number
JP61165297A
Other languages
Japanese (ja)
Other versions
JPS6320532A (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.)
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 JP61165297A priority Critical patent/JPH0799495B2/en
Publication of JPS6320532A publication Critical patent/JPS6320532A/en
Publication of JPH0799495B2 publication Critical patent/JPH0799495B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデータ処理システムの浮動小数点演算装置に係
り、特に指数部と仮数部の境界が固定した浮動小数点数
だけでなく、指数部と仮数部の境界が固定していない浮
動小数点数の演算にも好適な浮動小数点演算装置に関す
る。
The present invention relates to a floating point arithmetic unit of a data processing system, and more particularly to not only a floating point number having a fixed boundary between an exponent part and a mantissa part but also an exponent part and a mantissa. The present invention relates to a floating-point arithmetic unit suitable for floating-point arithmetic whose boundaries are not fixed.

〔従来の技術〕[Conventional technology]

科学技術計算においては素粒子のようなミクロの世界か
ら宇宙のようなマクロの世界までを統一的に表現できる
ような数値表現形式が待望されており、この要求を満足
する一つの数値表現形式として、情報処理学会論文誌、
Vol.24,No.2,149〜156頁(1983)に記載されている数値
表現形式がある。これは浮動小数点を指数部と仮数部の
境界を固定しないで表現するというもので、こゝでは、
この数値表現形式をURR(Universal Real Number Repre
sentation)と称し、その浮動小数点数をURR数と略称す
ることにする。
In scientific computing, there is a long-felt need for a numerical representation format that can uniformly represent a microscopic world such as elementary particles to a macroscopic world such as the universe. , IPSJ Transactions,
There is a numerical expression format described in Vol.24, No.2, pp.149-156 (1983). This is to express the floating point without fixing the boundary between the exponent part and the mantissa part. In this case,
This numerical representation format is called URR (Universal Real Number Repre
The floating point number is abbreviated as URR number.

URRでは、指数部の先行する“0"の列あるいは“1"の列
により指数部の長さを決定する。これにより、1に近い
数値は指数部を短かく仮数部を長くとれるので、従来の
指数部と仮数部の境界を固定とする数値表現形式(以
下、従来形式と呼ぶ)より精度よく表現することがで
き、また、従来形式では表現不可能であった極端に大き
な数値、極端に小さな数値についても、指数部を長くと
れるので表現が可能になる。
In URR, the length of the exponent is determined by the leading "0" sequence or "1" sequence of the exponent. As a result, a value close to 1 can have a short exponent part and a long mantissa part. Therefore, it should be expressed more accurately than the conventional numerical expression format in which the boundary between the exponent part and the mantissa part is fixed (hereinafter called the conventional format). In addition, extremely large numerical values and extremely small numerical values that cannot be expressed in the conventional format can be expressed because the exponent part can be taken long.

従来例として、特公昭61−6409号公報には、指数部前半
の“0"あるいは“1"の列の長さを検出する手段と、その
検出出力により指数部、仮数部を分離あるいは結合する
手段を設けて、従来形式の浮動小数点とURR形式の浮動
小数点数(URR数)とで相互に変換を行うことにより、
従来の演算装置を利用してURR数の演算を実施すること
が示されているが、演算の高速化については配慮されて
いない。
As a conventional example, Japanese Examined Patent Publication No. 61-6409 discloses a means for detecting the length of the "0" or "1" sequence in the first half of the exponent part, and the exponent part and the mantissa part are separated or combined by the detection output. By providing a means to perform mutual conversion between the conventional floating point number and the URR type floating point number (URR number),
Although it has been shown that the conventional arithmetic device is used to calculate the URR number, no consideration is given to speeding up the calculation.

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

上記従来技術において、URR数のような指数部と仮数部
の境界が固定していない浮動小数点数と、指数部と仮数
部の境界が固定している浮動小数点数(従来形式の浮動
小数点)を同じ浮動小数点演算装置で取り扱う場合、固
定小数点数と従来形式の浮動小数点数を共通して取り扱
う演算器の入力レジスタにオペランドをセットしたとき
およびセットしたあとで数値表現形式の相異を処理する
と、指数部と仮数部を分離するための回路へのデータの
負荷が余分に必要となり、演算器への配線長および負荷
数によるディレイが増大するという問題が発生する。
In the above-mentioned conventional technology, a floating-point number whose boundary between exponent and mantissa is not fixed such as URR number and a floating-point number whose boundary between exponent and mantissa is fixed (floating point in conventional format) are When handled by the same floating-point arithmetic unit, when the operands are set in the input register of the arithmetic unit that handles fixed-point numbers and conventional-type floating-point numbers in common, and when the difference in the numerical representation format is processed after setting, An additional data load is required on the circuit for separating the exponent part and the mantissa part, which causes a problem that the delay due to the wiring length to the arithmetic unit and the number of loads increases.

本発明の目的は従来形式の浮動小数点数の演算の性能を
低下させることなく、URR数の演算を浮動小数点演算装
置で実行可能することにある。
SUMMARY OF THE INVENTION It is an object of the present invention to be able to execute a URR number operation in a floating point arithmetic unit without degrading the performance of conventional floating point number operations.

〔問題点を解決するための手段〕[Means for solving problems]

上記目的は、浮動小数点レジスタおよびメモリの演算器
の入力レジスタとの間のデータ転送経路の構成が演算器
周辺と比較して簡単で、時間に余裕があることに着目し
て、このデータ転送経路に第1迂回路を追加してURR数
の指数部と仮数部を分離する手段を設けるとともにURR
数専用の指数部演算器を設け、さらに、該URR数指数部
の演算結果とURR数仮数部の演算結果とを結合する第2
迂回路を設けることにより達成される。
The purpose of the above is to focus on the fact that the configuration of the data transfer path between the floating point register and the input register of the arithmetic unit of the memory is simple as compared with the peripheral of the arithmetic unit, and there is a time margin. In addition to providing a means to separate the exponent part and the mantissa part of the URR number by adding the first detour to the URR
A second exponentiation unit dedicated to the number is provided, and further, the calculation result of the URR number exponent part and the calculation result of the URR number mantissa part are combined.
This is achieved by providing a detour.

〔作 用〕[Work]

従来形式の浮動小数点の演算は迂回経路を経由すること
なく実行される。URR数に対しては浮動小数点レジスタ
またはメモリから読み出されたオペランドは迂回経路
(第1迂回路)で指数部と仮数部の境界を検出された
後、ビットシフトカウントが決定され、指数部用ビット
シフタ、仮数部用ビットシフタによって所望の形式に分
離され、URR数専用指数部入力レジスタ、従来形式と共
用の仮数部入力レジスタにセットされた後、指数部はUR
R数専用の処理を実行するとゝもに仮数部は従来形式と
大差なく演算が実行される。演算結果がURR数専用の指
数部演算結果レジスタと従来形式と共用の仮数部演算結
果レジスタにセットされた後、迂回経路(第2迂回路)
によりURRでの表現形式を満足するように指数部用ビッ
トシフタ、仮数部用ビットシフタによりシフトされた
後、結合された最終結果が浮動小数点レジスタまたはメ
モリに転送される。
Conventional floating-point operations are performed without the detour path. For the URR number, the operand read from the floating point register or memory is used for the exponent part after the boundary between the exponent part and the mantissa part is detected in the detour path (first detour circuit), and the bit shift count is determined. After being separated into the desired format by the bit shifter and the mantissa bit shifter and set in the exponent input register dedicated to the URR number and the mantissa input register shared with the conventional format, the exponent is UR
When the processing dedicated to the R number is executed, the mantissa part is calculated almost the same as the conventional format. After the operation result is set in the exponent operation result register dedicated to the URR number and the mantissa operation result register shared with the conventional format, the detour path (second detour)
After shifting by the exponent bit shifter and the mantissa bit shifter so as to satisfy the URR expression format, the combined final result is transferred to the floating point register or memory.

〔実施例〕〔Example〕

以下、本発明の一実施例を図面による詳細に説明する。 An embodiment of the present invention will be described in detail below with reference to the drawings.

第2図ないし第5図は本実施例で使用する64ビット長の
URR数と従来形式の浮動小数点のビット構成と内容を示
す。第2図では正の数に対して、第3図では負の数に対
して、URR数のビット形式による分類と対応する2進
数、およびURR数の分離、結合回路によって変換または
逆変換される演算器内部での指数部形式と仮数部形式を
示す。第4図は特殊な扱いを必要とする非数の形式を示
す。非数と通常の数または非数と非数の間の演算につい
ては前述の情報処理理学会論文誌に従うものとする。第
5図に従来形式の浮動小数点数の数値形式を示す。
2 to 5 show the 64-bit length used in this embodiment.
The URR number and conventional floating point bit structure and contents are shown. For positive numbers in Fig. 2 and for negative numbers in Fig. 3, the URR numbers are classified by the bit format and corresponding binary numbers, and the URR numbers are separated or converted by a combination circuit. The exponent part format and the mantissa format in the calculator are shown below. FIG. 4 shows a non-numeric format that requires special treatment. Arithmetic operations between non-numbers and ordinary numbers or between non-numbers and non-numbers shall follow the above-mentioned journal of the Information Processing Science Society. FIG. 5 shows a conventional floating-point number format.

従来の浮動小数点形式については第5図について特に説
明を加える必要はないと考えるがURR数については新し
い数値表現形式として提案されてまた日が浅いので、第
2図ないし第4図について若干の説明を加える。URR数
は数値表現形式としてデータ長に依存しないので、必要
とするだけのビット長を許容する可変長形式も可能であ
るが、本実施例では64ビットの固定長とする。
Regarding the conventional floating point format, I don't think that it is necessary to add any special explanation to Fig. 5, but since URR numbers have been proposed as a new numerical representation format and it is only a few days later, some explanations regarding Figs. 2 to 4 are made. Add. Since the URR number does not depend on the data length as a numerical expression format, a variable length format that allows a required bit length is also possible, but in this embodiment, it is a fixed length of 64 bits.

第2図,第3図はともに項番の小さなほうから数値とし
て大きい順にビット形式で項番分けしたものであり、特
に第2図、第3図で表現されていないビット形式を第4
図に非数として示す。非数とは演算におけるオーバフロ
ー、アンダーフローをなくすために導入された概念であ
り、数というよりも無限小または無限大という状態を表
現するものである。非数の使用例として、第2図に示す
ように64ビット長の有限の最大数は であり、 どうしの乗算は となるが、64ビットでは表現出来なくなるので、このと
き結果として第4図の正の無限大のビット形式を採用す
る。また、第3図は負の数を表わしたものであるから、
第3図の中で一番大きい項番1の数は絶対値をとると、
第3図の中で一番小さくなる。この どうしの乗算は となり64ビットでは表現出来なくなるので、このとき結
果として第4図の正の無限小のビット形式を採用する。
2 and 3 show the bit numbers in order from the smallest item number to the largest numerical value. In particular, the bit formats not represented in FIGS. 2 and 3 are shown in FIG.
Shown as a number in the figure. The non-number is a concept introduced to eliminate overflow and underflow in arithmetic, and expresses a state of infinity or infinity rather than a number. As an example of using non-numerical values, as shown in Fig. 2, the finite maximum number of 64-bit length is And Multiplication between However, since it cannot be expressed in 64 bits, the positive infinity bit format of Fig. 4 is adopted as a result at this time. Further, since FIG. 3 shows a negative number,
If the absolute value is taken for the number of item No. 1 which is the largest in Fig. 3,
It becomes the smallest in FIG. this Multiplication between Since it cannot be expressed in 64 bits, the positive infinitesimal bit format in Fig. 4 is adopted as a result.

第2図、第3図で使用されているmは自然数であり、指
数部の長さに関係がある。URR数では仮数部が正規化さ
れていることを前提としているので、正の数の場合には
1、負の数の場合には−2は、URR数のビット形式の中
には含まれない。URR数の指数部は2を底とする二重指
数巾を表わしており、ビット形式によっては明示される
仮数部が存在しないばかりか、再高次の二重指数巾より
も下位の巾に相当する部分が途中で切れていたり、存在
しないものもある。以下、更に詳細に個々のビット形式
について説明する。
M used in FIGS. 2 and 3 is a natural number and is related to the length of the exponent part. Since it is assumed that the mantissa part of URR numbers is normalized, 1 for positive numbers and -2 for negative numbers are not included in the bit format of URR numbers. . The exponent part of the URR number expresses a double exponent width with a base of 2. Not only does the mantissa part not be specified depending on the bit format exist, but it also corresponds to a width lower than the double exponent width of the higher order. There are some parts that are cut off or do not exist. The individual bit formats will be described in more detail below.

初めに第2図から説明する。1番目のビットは符号ビッ
トSであり、項番1ないし項番9のすべてのビット形式
について0で、正の数であることを示す。符号ビットS
に続くのが指数部Eであり、項番1ないし項番4の2番
目のビットから連続している1の個数をM+1とする
と、二重指数の最大巾はm−1となる。連続している1
のビット列の切れ目の0に続くm−1個のビット列は、
m−2以下の二重指数巾を表わしており、項番1ではこ
の部分が存在せず、また項番2ではこの部分がm−1全
部揃わずに途中で切れている。指数部Eに続くのが仮数
部Fであり、項番1ないし項番3ではビット形式として
明示される仮数部は存在しない。項番5、項番6の指数
部の値はそれぞれ1,2-1であり、3番目のビットを指数
部の最終ビットとして、4ないし64番目の61ビット列が
仮数部となる。項番7ないし項番9の2番目のビットか
ら連続している0の個数をm+1とすると、二重指数の
最大巾はmとなるが、このとき2の指数として負の値を
とる。連続している0のビット列の切れ目の1に続くm
−1個のビット列はm−2以下の二重指数巾を表わして
おり、2の指数として正であり、項番9ではこの部分が
m−1個全部揃わずに途中で切れている。また、項番8
と項番9ではビット形式として明示される仮数部は存在
しない。
First, description will be made from FIG. The first bit is a sign bit S, which is 0 for all bit formats of item number 1 to item number 9 and indicates a positive number. Sign bit S
Following is the exponent part E, and the maximum width of the double exponent is m−1, where M + 1 is the number of consecutive 1s from the second bit of item number 1 to item number 4. 1 in succession
The m-1 bit string following the break 0 of the bit string of
It represents a double exponent width of m-2 or less. In item number 1, this portion does not exist, and in item number 2, this portion is cut off in the middle without all m-1 being aligned. Following the exponent part E is the mantissa part F, and in the item numbers 1 to 3, there is no mantissa part explicitly specified as a bit format. The values of the exponent part of item number 5 and item number 6 are 1,2 -1 , respectively, and the 4th to 64th 61-bit strings are the mantissa part with the 3rd bit as the last bit of the exponent part. If the number of 0s consecutive from the second bit of item number 7 to item number 9 is m + 1, the maximum width of the double exponent is m, but at this time, the exponent of 2 has a negative value. M following a 1 at a break in a sequence of consecutive 0 bits
The −1 bit string represents a double exponent width of m−2 or less, and is positive as an exponent of 2. In the item number 9, all of the m−1 bits are cut off in the middle. Also, item number 8
No. 9 has no mantissa specified as a bit format.

64ビット長のURR数そのものゝ説明として最後に第3図
を説明する。1番目のビットは符号ビットSであり、項
番1ないし項番9のすべてのビット形式について1で、
負の数であることを示す。符号ビットSに続くのが指数
部Eであり、項番1ないし項番4の2番目のビットから
連続している1の個数をm+1とすると、二重指数の最
大巾はmとなり、2の指数としては負の値をとる。連続
している1のビット列の切れ目に続くm−1個のビット
列はm−2以下の二重指数巾であり、1の補数で表現さ
れており、2の指数としては正である。項番1ではこの
部分がなく、項番2ではこの部分がm−1個全部揃わず
に途中で切れているが、2進数へ変換するときは64ビッ
トに入り切らない部分については各ビット0とみなし
て、1の補数をとることによって各ビットが1となり、
変換の対象となる。また、項番1ないし項番3ではビッ
ト形式として明示される仮数部は存在しない。項番5、
項番6の指数部の値はそれぞれ2-1,1であり、3番目の
ビットを指数部の最終ビットとして、4ないし64番目の
61ビット列が仮数部となる。項番7ないし項番9の2番
目のビットから連続している0の個数をm+1とする
と、二重指数の最大巾はm−1となる。連続している0
のビット列の切れ目の1に続くm−1個のビット列はm
−2以下の二重指数巾であり、1の補数で表現されてい
る。項番9ではこの部分がm−1個全部揃わずに途中で
切れているが、2進数に変換するときは、64ビットに入
り切らない部分については各ビット0とみなして1の補
数をとることによって各ビットが1となり、変換の対象
となる。負のURR数のビット形式として明示されない仮
数部として−2があり、2進数として21の位を符号ビッ
トとして小数点より上位を10.として項番4ないし項番
7では仮数部のビット列を小数点以下付加することによ
って、2の補数表示の2進数が得られる。
Finally, FIG. 3 will be explained as an explanation of the 64-bit length URR number itself. The first bit is the sign bit S, which is 1 for all bit formats from item number 1 to item number 9,
Indicates a negative number. Following the sign bit S is an exponent part E, and if the number of 1's consecutive from the second bit of item number 1 to item number 4 is m + 1, the maximum width of the double exponent is m, and The index takes a negative value. The m-1 bit strings following the breaks in the continuous 1 bit string have a double exponent width of m-2 or less, are represented by 1's complement, and are positive as an exponent of 2. In item number 1, this part does not exist, and in item number 2, this part is cut off in the middle without all m-1 pieces, but when converting to a binary number, each bit is 0 for bits that do not fit in 64 bits. Each bit becomes 1 by taking 1's complement,
Be subject to conversion. Further, in the item numbers 1 to 3, there is no mantissa part which is specified as a bit format. No. 5,
The value of the exponent part of item number 6 is 2 -1 , 1, respectively, and the 3rd bit is the last bit of the exponent part and the 4th to 64th
The 61-bit string becomes the mantissa part. If the number of consecutive 0s from the second bit of item number 7 to item number 9 is m + 1, the maximum width of the double exponent is m-1. 0 in succession
M-1 bit string following the 1 of the break of the bit string of
It has a double exponent width of -2 or less and is represented by a one's complement. In item number 9, this part is cut off in the middle without all m-1 pieces being prepared, but when converting to a binary number, the part that does not fit in 64 bits is regarded as each bit 0 and the complement of 1 is taken. As a result, each bit becomes 1 and becomes a conversion target. As mantissa which is not specified as bit form negative URR number has -2-point bit sequence of item No. 4, to Koban 7 mantissa two one's place as a binary number higher than point as a sign bit as 10. The following additions yield a binary number in two's complement notation.

指数部のビット長については2番目のビットの値がどれ
だけ連続しているかにより、3番目で切れているときに
は指数部の長さは2,3番目のビットの値が2番目のビッ
トの値と同じであり、2番目のビットを含めてm+1個
連続しているときは指数部の長さは2m+1となることは
第2図,第3図に関する以上の説明から容易に理解され
るところである。
Regarding the bit length of the exponent part, depending on how continuous the value of the second bit is, when it is cut at the third, the length of the exponent part is the value of the second and third bits and the value of the second bit. It is the same as, and the length of the exponent is 2m + 1 when m + 1 consecutive bits including the second bit are easily understood from the above description with reference to FIGS. 2 and 3. .

本発明の浮動小数点演算装置の一実施例を第1図に示
す。第1図において、1は浮動小数点演算装置の全体の
制御を司る制御回路、2は浮動小数点レジスタであり、
64ビット長のレジスタが16個ある。制御回路1では演算
命令が従来の浮動小数点数を対象としているか、URR数
を対象としているかを検出してデータ転送経路における
選択、各種レジスタの更新の制御を行う。なお、URR数
の指数部と仮数部の分離、結合回路は加算器と乗除算器
で同一構成のものを使用するかまたは共有して使用すれ
ばよいので説明を簡略化するため、第1図では加算器の
み取上げ、乗除算器について省略することにする。
An embodiment of the floating point arithmetic unit of the present invention is shown in FIG. In FIG. 1, 1 is a control circuit for controlling the entire floating point arithmetic unit, 2 is a floating point register,
There are 16 64-bit length registers. The control circuit 1 detects whether the arithmetic instruction targets a conventional floating point number or a URR number, and controls the selection in the data transfer path and the update of various registers. Note that the exponent part and the mantissa part of the URR number can be separated or combined by using an adder and a multiplier / divider having the same configuration or sharing them. Therefore, in order to simplify the description, FIG. Now, let's take only the adder and omit the multiplier and divider.

はじめに、従来形式の浮動小数点に対する加算動作を説
明する。浮動小数点レジスタ2またはメモリから読み出
された64ビット長の第1オペランド(OP1)と第2オペ
ランド(OP2)の1ないし8番目の8ビットが、それぞ
れ指数部OP1レジスタ6、指数部OP2レジスタ7にセット
されるとゝもに、第1および第2オペランドの9ないし
64番目の56ビットが前にゼロを2個、後にゼロを5個付
加した63ビット長の形式でそれぞれ仮数部OP1レジスタ
8、仮数部OP2レジスタ9にセットされる。指数部レジ
スタ6,7の2ないし8番目の7ビットをオペランドとし
て減算器11で指数の差を算出し、大きい指数を持つ仮数
はT/C回路(真−補数論理回路)12により、加算の場合
には2つのオペランドが同符号のときはそのまゝ、異符
号のときは補数をとり、また、小さい指数を持つ仮数は
プリシフタ13により指数の差だけ右シフトして、それぞ
れ仮数加算器14に送出する。仮数の和は必要に応じて補
数がとられ、絶対値化される。
First, the adding operation for the conventional floating point will be described. The first to eighth 8 bits of the first operand (OP1) and the second operand (OP2) of 64-bit length read from the floating point register 2 or the memory are the exponent OP1 register 6 and the exponent OP2 register 7, respectively. When set to, the first and second operands 9 through 9
The 64th 56 bits are set in the mantissa part OP1 register 8 and the mantissa part OP2 register 9, respectively, in a 63-bit length format with two leading zeros and five trailing zeros added. The difference between the exponents is calculated by the subtractor 11 using the second to eighth bits of the exponent register 6, 7 as an operand, and the mantissa having a large exponent is added by the T / C circuit (true-complement logic circuit) 12. In this case, if the two operands have the same sign, the complement is taken if they have different signs, and the mantissa with a small exponent is right-shifted by the exponent difference by the preshifter 13 to obtain the mantissa adder 14 respectively. Send to. The sum of the mantissas is complemented as necessary and made into an absolute value.

最終結果の仮数部は仮数部全体がゼロの場合を除いて、
最上位の4ビットがゼロでないことを保証するときには
零チェック回路15によりシフト数が求められ、ポストシ
フタ18により左シフトされるとゝもに、指数更新演算器
17により仮数を左シフトした分だけ大きいほうの指数か
ら減ずる。また、仮数加算結果がオーバーフローしてい
るときには、これも零チェック回路15で検出することに
し、ポストシフタ18により右に4ビットシフトするとゝ
もに、指数更新演算器17により大きいほうの指数に1を
加える。最後に符号を含む指数部演算器結果レジスタ20
の8ビットと仮数部演算結果レジスタ21のうち、3ない
し58番目の56ビットが最終演算結果として浮動小数点レ
ジスタ2またはメモリに格納される。
The mantissa of the final result is, except when the whole mantissa is zero,
When it is ensured that the uppermost 4 bits are not zero, the shift number is obtained by the zero check circuit 15 and left shifted by the post shifter 18.
By 17, the mantissa is left-shifted and subtracted from the larger exponent. Further, when the mantissa addition result overflows, this is also detected by the zero check circuit 15, and when the post-shifter 18 shifts it to the right by 4 bits, the exponent updating calculator 17 is set to 1 for the larger exponent. Add. Finally exponent calculator result register including sign 20
8 bits and the mantissa part operation result register 21 are stored in the floating point register 2 or the memory as the final operation result.

上記従来形式の浮動小数点数の加減算で注意しなければ
いけないことは、第5図に示すように本実施例での従来
形式の浮動小数点数は16進数であるので、シフトする単
位またはゼロを検出する単位は4ビットを1組として行
うことである。
It should be noted that the floating-point number of the conventional format in this embodiment is a hexadecimal number as shown in FIG. 5, so that a unit to shift or zero is detected. The unit to do is to perform 4 bits as one set.

次にURR数の加算動作を説明する。浮動小数点レジスタ
2またはメモリから読み出された64ビット長の第1オペ
ラントと第2オペランドは、それぞれURR指数部仮数部
分離回路3において指数部と仮数部が分離され、62ビッ
ト長の指数部がURR数用指数部OP1レジスタ4、URR数用
指数部OP2レジスタ5にセットされるとゝもに、63ビッ
ト長の仮数部が仮数部OP1レジスタ8、仮数部OP2レジス
タ9にセットされる。
Next, the adding operation of the URR number will be described. The 64-bit first operant and the second operand read from the floating-point register 2 or the memory have their exponent part and mantissa separated by the URR exponent part / mantissa separation circuit 3, and the exponent part with a 62-bit length is When the exponent part OP1 register 4 for URR number and the exponent part OP2 register 5 for URR number are set, the mantissa part of 63-bit length is set in the mantissa part OP1 register 8 and the mantissa part OP2 register 9.

第6図にURR数指数部仮数部分離回路3の詳細に示す。
指数部仮数部境界検出回路31では、次の 1番目の符号ビットの値 2番目(指数部の先頭)のビットの値 2番目のビットの値がどれだけ連続しているか の情報により、仮数部に対してはビットシフト数および
最上位の2ビットとして01,10,00(非数の場合)のいず
れかを選択するかを、指数部に対してはビットシフト
数、指数部としての符号および二重指数の最大巾より下
位の巾に対して1の補数をとるかどうかを決定する。次
に、指数部用ビットシフタ32、仮数部用ビットシフタ33
により、第2図と第3図に示すURR数と分離後の指数
部、仮数部の対応がつくようにシフトされる。なお、指
数部仮数部境界検出回路31では、指数部と仮数部を分離
するための情報を検出するとゝもに第4図に示す6種の
非数を検出し、制御回路1に伝達する。制御回路1では
非数の演算に対して前述の論文誌に従う演算結果となる
ように制御を行う。
FIG. 6 shows the details of the URR number exponent part mantissa separation circuit 3.
The exponent part mantissa boundary detection circuit 31 determines the mantissa part according to the value of the value of the next 1st code bit, the value of the 2nd bit (the beginning of the exponent part) and the value of the 2nd bit. For 01, 10, 00, 00 (if it is a non-numeric value) is selected as the number of bit shifts and the most significant 2 bits, for the exponent part, the bit shift number, the sign as the exponent part, and Determines whether one's complement is taken for the width below the maximum width of the double exponent. Next, the exponent bit shifter 32 and the mantissa bit shifter 33
Thus, the URR numbers shown in FIGS. 2 and 3 are shifted so that the exponent part and the mantissa part after separation are associated with each other. The exponent-mantissa-boundary detection circuit 31 detects the information for separating the exponent part and the mantissa part, and also detects six types of non-numerical values shown in FIG. 4 and transmits them to the control circuit 1. The control circuit 1 controls a non-numerical operation so as to obtain an operation result according to the above-mentioned journal.

URR数の指数部と仮数部の分離について、具体的数値の
一例を数1986について示すと以下の如くである。
Regarding the separation of the exponent part and the mantissa part of the URR number, an example of a concrete numerical value is shown below with respect to the number 1986 as follows.

第1図に戻り、URR数用指数部OP1レジスタ4、URR数用
指数部OP2レジスタ5の内容を入力してURR数用減算器10
により指数の差を算出し、仮数部OP1レジスタ8と仮数
部OP2レジスタ9の仮数について、大きい指数を持つ仮
数はT/C回路12を補数をとることなく通過させ、また小
さい指数を持つ仮数はプリシフタ13で指数の差だけ右シ
フトして、それぞれ仮数加算器14に送出する。従来形式
の浮動小数点と異なる点は、URR数の分離の仮数部は補
数表示であり、T/C回路12では補数をとる必要がないこ
とゝ、プリシフタ13は4ビット単位ではなく1ビット単
位で動作し、シフトにより空きが生じる上位ビットは符
号を埋め込む代数シフトを行うことである。減算の場合
には、大きい指数を持つ仮数をT/C回路12で補数をとっ
た後、該T/C回路12で補数をとったのが第1オペランド
の仮数部である場合には、仮数加算器14において仮数の
和に対して再度補数をとる。仮数加算器14の出力は零チ
ェック回路15により、ポストシフタ18によるシフト結果
が第2図または第3図の分離後の仮数部の形式を満足す
る(URR数の仮数部の正規化と呼ぶ)ようシフト数を算
出し、URR数用指数部更新演算器16で大きい指数に対し
てシフト数による補正が行われた結果がURR数用指数部
演算結果レジスタ19にセットされるとゝもに、上述の正
規化されたURRの仮数部が仮数部演算結果レジスタ21に
セットされる。その後、URR数指数部仮数部結合回路22
によってURRの数値表現形式を満足するように変換さ
れ、浮動小数点レジスタ2またはメモリに格納される。
Returning to FIG. 1, the contents of the URR number exponent OP1 register 4 and the URR number exponent OP2 register 5 are input and the URR number subtracter 10 is input.
The difference between the exponents is calculated by using the mantissas of the mantissa part OP1 register 8 and the mantissa part OP2 register 9, the mantissa having a large exponent passes through the T / C circuit 12 without taking a complement, and the mantissa having a small exponent is The preshifter 13 shifts it to the right by the difference of the exponents, and sends it to the mantissa adder 14, respectively. The difference from the conventional floating point is that the mantissa part of the separation of the URR number is in the complement notation, and it is not necessary to take the complement in the T / C circuit 12. The preshifter 13 is not in units of 4 bits but in units of 1 bit. The high-order bit that operates and has a vacancy due to the shift is to perform algebraic shift for embedding a code. In the case of subtraction, after the mantissa having a large exponent is complemented by the T / C circuit 12, the complement is taken by the T / C circuit 12 if the mantissa part of the first operand is mantissa. The adder 14 recomplements the mantissa sum. The output of the mantissa adder 14 is controlled by the zero check circuit 15 so that the shift result by the post shifter 18 satisfies the form of the mantissa part after separation in FIG. 2 or FIG. 3 (referred to as normalization of mantissa part of URR number). When the shift number is calculated and the result obtained by correcting the large exponent in the URR number exponent part update arithmetic unit 16 by the shift number is set in the URR number exponent part operation result register 19, The mantissa part of the normalized URR is set in the mantissa part operation result register 21. After that, the URR number exponent part mantissa combining circuit 22
Is converted so as to satisfy the numerical expression format of URR and stored in the floating point register 2 or the memory.

第7図にURR数指数部仮数部結合回路22の詳細を示す。
第7図において指数部ビット長決定回路221によりビッ
トシフト数を算出した後、指数部用ビットシフタ222、
仮数部用ビットシフタ223によりシフトされ、更に指数
部仮数部マージ回路224により一つにまとめられる。第
7図では222ないし224を分割した構成を示しているが、
これら3個の回路を分割することなく一まとめにした回
路構成も可能である。
FIG. 7 shows details of the URR number exponent part and mantissa part coupling circuit 22.
In FIG. 7, after the bit shift number is calculated by the exponent part bit length determination circuit 221, the exponent part bit shifter 222,
The bits are shifted by the mantissa bit shifter 223, and further combined by the exponent mantissa merge circuit 224. Although FIG. 7 shows a configuration in which 222 to 224 are divided,
A circuit configuration in which these three circuits are integrated without being divided is also possible.

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

本発明によれば、従来の浮動小数点数の演算の性能を低
下させることなく、新しい数値表現形式であるURR数の
演算を浮動小数点演算装置で直接実行できるようにな
る。
According to the present invention, it is possible to directly execute a calculation of a URR number, which is a new numerical expression format, by a floating-point calculation device without deteriorating the performance of the conventional calculation of floating-point numbers.

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

第1図は本発明の一実施例の浮動小数点演算装置の構成
図、第2図および第3図はURR数のビット形式による分
類と対応する2進数、およびURR数の分離、結合回路に
よって変換または逆変換される演算器内部での指数部形
式と仮数部形式を示す図、第4図はURR数での非数を示
す図、第5図は従来形式の浮動小数点数の数値形式を示
す図、第6図は第1図のURR数指数部仮数部分離回路の
詳細図、第7図は第1図のURR数指数部仮数部結合回路
の詳細図である。 3……URR数指数部仮数部分離回路、 4……URR数用指数部OP1レジスタ、 5……URR数用指数部OP2レジスタ、 10……URR数用減算器、 16……URR数用指数更新演算器、 19……URR数用指数部演算結果レジスタ、 22……URR数指数部仮数部結合回路。
FIG. 1 is a block diagram of a floating point arithmetic unit according to an embodiment of the present invention, and FIGS. 2 and 3 are classifications of URR numbers in bit format and corresponding binary numbers, and URR numbers are separated and converted by a combining circuit. Or a figure showing the exponent part format and mantissa part format inside the arithmetic unit to be inversely converted, FIG. 4 is a figure showing the non-numeric value in the URR number, and FIG. 5 is the numerical format of the conventional floating point number 6 and 6 are detailed diagrams of the URR number exponent part mantissa part separation circuit of FIG. 1, and FIG. 7 is a detailed diagram of the URR number exponent part mantissa part combination circuit of FIG. 3 ... URR number exponent part mantissa separation circuit, 4 ... URR number exponent part OP1 register, 5 ... URR number exponent part OP2 register, 10 ... URR number subtractor, 16 ... URR number exponent Update calculator, 19 ... Exponent part operation result register for URR number, 22 ... URR number exponent part mantissa coupling circuit.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】浮動小数点数レジスタ群あるいはメモリか
らの、演算すべき指数部と仮数部の境界が固定した浮動
小数点数の各オペランドの指数部、仮数部が設定される
第1および第2指数部入力レジスタ、第1および第2仮
数部入力レジスタと、 前記第1および第2指数部入力レジスタの指数部演算を
行う指数演算部と、 前記第1および第2仮数部入力レジスタの仮数部演算を
行う仮数演算部と、 指数部演算結果が設定される指数部演算結果レジスタ
と、仮数部演算結果が設定される仮数部演算結果レジス
タとを具備する浮動小数点演算装置において、 演算すべき指数部と仮数部の境界が固定していない浮動
小数点数(以下、URR数と略称する)の各オペランドの
指数部が設定される第1および第2URR数指数部入力レジ
スタと、 前記浮動小数点レジスタ群あるいはメモリと前記第1お
よび第2指数部入力レジスタ、前記第1および第2仮数
部入力レジスタとの間のデータ転送路と並列に設けら
れ、前記浮動小数点レジスタ群あるいはメモリからの、
演算すべきURR数の各オペランドの指数部(以下、URR数
指数部と称す)と仮数部(以下、URR数仮数部と称す)
を分離し、該分離した各オペランドのURR数指数部を前
記第1および第2URR数指数部入力レジスタに伝達し、各
オペランドのURR仮数部を前記第1および第2仮数部入
力レジスタに伝達する第1迂回路と、 前記第1および第2URR数指数部入力レジスタのURR数指
数部演算を行うURR数指数演算部と、 URR数指数部演算結果と前記第1および第2仮数部入力
レジスタにURR数仮数部が設定された場合の前記仮数演
算部でのURR数仮数部演算結果とを結合する第2迂回路
とを設けたことを特徴とする浮動点小数点演算装置。
1. A first exponent and a second exponent in which an exponent part and a mantissa part of each operand of a floating-point number having a fixed boundary between an exponent part and a mantissa part to be operated from a floating-point register group or memory are set. Part input register, first and second mantissa part input registers, exponent operation part for performing exponential part operation of the first and second exponent part input registers, and mantissa part operation of the first and second mantissa part input registers An exponent part to be operated in a floating-point arithmetic device including a mantissa operation part for performing the operation, an exponent part operation result register for setting the exponent part operation result, and a mantissa part operation result register for setting the mantissa part operation result. First and second URR number exponent part input registers in which exponent parts of respective operands of floating-point numbers (hereinafter abbreviated as URR numbers) in which the boundary between and the mantissa part are not fixed are set; Registers or memory and the first and second exponent part input register, provided in the data transfer path parallel between said first and second mantissa input register, from the floating point register group or memory,
Exponent part (hereinafter referred to as URR number exponent part) and mantissa part (hereinafter referred to as URR number mantissa part) of each operand of the URR number to be operated
And the URR number exponent part of each separated operand is transmitted to the first and second URR number exponent part input registers, and the URR mantissa part of each operand is transmitted to the first and second mantissa input registers. A first detour, an URR number exponent operation unit for performing an URR number exponent operation of the first and second URR number exponent input registers, a URR number exponent operation result, and the first and second mantissa input registers A floating point decimal point arithmetic unit comprising: a second detour that connects the URR number mantissa part calculation result in the mantissa calculation unit when the URR number mantissa part is set.
JP61165297A 1986-07-14 1986-07-14 Floating point arithmetic unit Expired - Lifetime JPH0799495B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61165297A JPH0799495B2 (en) 1986-07-14 1986-07-14 Floating point arithmetic unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61165297A JPH0799495B2 (en) 1986-07-14 1986-07-14 Floating point arithmetic unit

Publications (2)

Publication Number Publication Date
JPS6320532A JPS6320532A (en) 1988-01-28
JPH0799495B2 true JPH0799495B2 (en) 1995-10-25

Family

ID=15809653

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61165297A Expired - Lifetime JPH0799495B2 (en) 1986-07-14 1986-07-14 Floating point arithmetic unit

Country Status (1)

Country Link
JP (1) JPH0799495B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59154542A (en) * 1983-02-23 1984-09-03 Hitachi Ltd multiplication device
JPS60235241A (en) * 1984-05-08 1985-11-21 Nec Corp Floating point adding circuit
JPS61123928A (en) * 1984-09-05 1986-06-11 Hitachi Ltd floating point data processing unit
JPS61131123A (en) * 1984-11-30 1986-06-18 Toshiba Corp Floating point arithmetic unit
JPS61141033A (en) * 1984-12-14 1986-06-28 Hitachi Ltd Arithmetic processor

Also Published As

Publication number Publication date
JPS6320532A (en) 1988-01-28

Similar Documents

Publication Publication Date Title
US5058048A (en) Normalizing pipelined floating point processing unit
US4488252A (en) Floating point addition architecture
JP2662196B2 (en) Calculation result normalization method and apparatus
US5267186A (en) Normalizing pipelined floating point processing unit
JP2651267B2 (en) Arithmetic processing device and arithmetic processing method
US5963461A (en) Multiplication apparatus and methods which generate a shift amount by which the product of the significands is shifted for normalization or denormalization
JP2674754B2 (en) Barrel shifter
US9608662B2 (en) Apparatus and method for converting floating-point operand into a value having a different format
US5369607A (en) Floating-point and fixed-point addition-subtraction assembly
JP2618374B2 (en) Finding the position of the most significant digit
US20250383842A1 (en) Integrated circuit with a floating-point input, a first shifter, and a three-input carry-save adder
US5282156A (en) Leading one anticipator and floating point addition/subtraction apparatus employing same
JP3436994B2 (en) Shift device
JPS60204031A (en) Floating points operation method and apparatus for digital computer
JPS584369B2 (en) Digit Validity Tracker
JP2695178B2 (en) Arithmetic circuit
JPH0799495B2 (en) Floating point arithmetic unit
JP2558669B2 (en) Floating point arithmetic unit
JPH0822451A (en) Arithmetic unit and microprocessor
US3462589A (en) Parallel digital arithmetic unit utilizing a signed-digit format
JP2513354B2 (en) Floating point arithmetic auxiliary circuit
JP3100868B2 (en) Arithmetic unit for floating point numbers
JPS6149234A (en) Multiplier circuit for floating point
JPH07120265B2 (en) Rounding method in binary floating point multiplication
JP2931632B2 (en) Digit shifter and floating point arithmetic unit