JPS58186840A - Data processor - Google Patents

Data processor

Info

Publication number
JPS58186840A
JPS58186840A JP57070935A JP7093582A JPS58186840A JP S58186840 A JPS58186840 A JP S58186840A JP 57070935 A JP57070935 A JP 57070935A JP 7093582 A JP7093582 A JP 7093582A JP S58186840 A JPS58186840 A JP S58186840A
Authority
JP
Japan
Prior art keywords
mantissa
exponent
exponent part
register
correction
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
JP57070935A
Other languages
Japanese (ja)
Inventor
Takeshi Watanabe
毅 渡辺
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 JP57070935A priority Critical patent/JPS58186840A/en
Publication of JPS58186840A publication Critical patent/JPS58186840A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49936Normalisation mentioned as feature only

Abstract

PURPOSE:To shorten the execution time of floating-point operation, by performing the correcting arithmetic of an exponent part at a postnormalizing stage with regard to all combinations which occur possibly at a precedent stage. CONSTITUTION:Byte adders 14-29 performs the correcting operation of the exponent part in parallel to the operation of the mantissa part of a parallel adder 7 and latches the operation result in registers 30-45, respectively. A selector 46 once receiving the numbers of Os succeeding from the high-order digit a the mantissa part from a decoder 10 selects and outputs the value of one of the registers 30-45. Namely, the selector 46 selects and outputs the correction contents coincident with the correction number of the exponent part received from the decoder 10. The final result is obtained by putting the exponent part after the correction together with the postnormalized mantissa part. In this case, the complement part and mantissa part of the final result are outputted almost similarly. Therefore, the operation of the exponent part is completed at the precedent stage, so the total operation time is shortened.

Description

【発明の詳細な説明】 発明の対象 本発明は、データ処理装置に関し、特に浮動小数点演算
でボストノーマライズにより生ずる指数部の補正演算を
並列に行って、高速化する演算装置に関するものである
DETAILED DESCRIPTION OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing device, and more particularly to an arithmetic device that speeds up a floating-point arithmetic operation by performing correction operations for an exponent part caused by bost normalization in parallel.

従来技術 浮動小数点演算は、膨大な数値を高精度で行うことがで
きる。また、浮動小数点数は、(至)の符号と、16の
べき乗である指°数部と、16進数の仮数部から構成さ
れ、これらの長さは固定長であって、例えば1語長の短
精度と、2語長の長精度と、4語長の拡張精度の3形式
がある。すなわち、第1図(a)の短精度浮動小数点数
、第1図(b)の良精度浮動小数点数、および第1図(
c)の拡張精度浮動小数点数ともに、最初の1ビツトは
仮数部の符号であり、1゛°が負、“OI+が正の符号
を表わす。仮数部は、短精度がビット8〜31で16進
数の6桁を、長精度がビット8〜63で16進数の14
桁を、拡張精度がビット8〜63.72〜127で16
進数の28桁を、それぞれ有している。また、仮数部で
は、小数点の位置が最上位桁の左側にある。
Prior art floating point operations can perform extremely large numbers with high precision. Furthermore, a floating point number consists of a sign (to), an exponent part which is a power of 16, and a mantissa part which is a hexadecimal number.The length of these numbers is fixed, for example, one word length. There are three formats: short precision, 2-word long precision, and 4-word extended precision. That is, the short-precision floating-point number shown in FIG. 1(a), the high-precision floating-point number shown in FIG. 1(b), and the
For both extended precision floating point numbers in c), the first 1 bit is the sign of the mantissa, where 1° represents the negative sign and "OI+" represents the positive sign. 6 decimal digits, long precision bits 8 to 63 and 14 hexadecimal digits
16 digits with extended precision of bits 8 to 63.72 to 127
Each has 28 base digits. In addition, in the mantissa part, the decimal point is located to the left of the most significant digit.

次に、指数部は、ビット1〜7で16のべき乗となるべ
き数を表わしており、第2図に示すように、重みを付し
た2進数の0〜127に対応して一64〜±63を指定
する。すなわち、第2図の上段が+63、中段が+7、
下段が−64のべき数をそれぞれ示す。
Next, the exponent part represents the number that should be a power of 16 in bits 1 to 7, and as shown in FIG. Specify 63. That is, the top row of Figure 2 is +63, the middle row is +7,
The lower row shows the exponent of -64.

第3図は、従来技術による浮動小数点加減算器を表わす
、 Aレジスタ1およびBレジスタ2は、各々第1゜第2の
浮動小数点オペランドをラッチするレジスタである。
FIG. 3 depicts a prior art floating point adder/subtractor. A register 1 and B register 2 are registers that latch the first and second floating point operands, respectively.

プリシフタ(PS)3は、浮動小数点加減算の実行に先
立ち、第1および第2のオペランドの指数部の大小判定
を行ない、大なる方の指数部を選択する機能と、小なる
方のオペランドの仮数部を大なる方のオペランドの桁に
合せるように右シフトする機能を有する。例えば、第1
オペランドと第2オペランドの指数部が、それぞれ+5
5、+53のときには、両指数の差分(2桁)だけ第2
オペランドの仮数部を右側にシフトすることになる。
The preshifter (PS) 3 has the function of determining the magnitude of the exponent parts of the first and second operands prior to execution of floating point addition/subtraction, and selecting the larger exponent part and the mantissa of the smaller operand. It has the function of shifting the part to the right to match the digit of the larger operand. For example, the first
The exponent parts of the operand and second operand are each +5.
5, when +53, the second is the difference (2 digits) between both exponents.
This will shift the mantissa of the operand to the right.

Cレジスタ牛および])レジスタ5は、各々上記ps3
から、指数部大なる方のオペランドの仮数部と、小なる
方の桁合せ後の仮数部を受けとり、ラッチするためのレ
ジスタである。
C register cow and ]) register 5 are respectively the above ps3
This register receives and latches the mantissa part of the operand with the larger exponent part and the mantissa part after digit alignment with the smaller exponent part.

Eレジスタ6け、指数部の大なる方をps3より受けと
り、ラッチするためのレジスタである。
E register 6 is a register for receiving and latching the larger exponent part from PS3.

PA7は、0レジスタ4とDレジスタ5にラッチされた
第1および第2のオペランドの仮数部の加減算を実行す
る並列加算器である。
PA7 is a parallel adder that performs addition and subtraction of the mantissa parts of the first and second operands latched in the 0 register 4 and the D register 5.

7レジスタ8は、上記P A、 7の結果をラッチする
レジスタである。
7 register 8 is a register that latches the result of P A, 7 above.

Gレジスタ9は、Eレジスタ6の指数部をそのままラッ
チするレジスタである。
The G register 9 is a register that latches the exponent part of the E register 6 as is.

Dll!OIQは、Fレジスタ8にラッチされた演算結
果の上位から連続する○の数を調べ、演算結果のボスト
ノーマライズ数および指数部の補正数を出力するデコー
ダである。
Dll! The OIQ is a decoder that checks the number of consecutive O's from the top of the calculation result latched in the F register 8 and outputs the boss normalized number and the corrected number of the exponent part of the calculation result.

PSHIIは、上記Dxo10から出力するホーストノ
ーマライズ数にもとづいて、演算結果を左シフトするポ
ストシフタである。
PSHII is a post shifter that shifts the calculation result to the left based on the Horst normalized number output from the Dxo 10.

BA 12は、同じく上記DEa10から出力する指数
部補正数にもとづいて、指数部を補正するバイト加算器
である。
The BA 12 is a byte adder that corrects the exponent part based on the exponent part correction number outputted from the DEa 10 as well.

Hレジスター3は、上記PSHIIおよびBA12から
出力する最終結果をラッチするレジスタであす る。
H register 3 is a register that latches the final results output from PSHII and BA12.

第4図は 第3図のボストノーマライズ・ステージでの
動作タイムチャートである。
FIG. 4 is an operation time chart at the bottom normalization stage of FIG. 3.

並列加算器7において、桁合わせされた第1および第2
オペランドの仮数部の加減算を行い・その結果をFレジ
スタ8にラッチする。
In the parallel adder 7, the digit-aligned first and second
Addition and subtraction are performed on the mantissa parts of the operands, and the results are latched into the F register 8.

従来の装置では並列加算器7の演算の後に正規化を行っ
ており、(ボストノーマライズ)、例えば演算結果が指
数部r+55J仮数部roo1234・・・−1の場合
、デコーダ10に対してこれらの情報がタイミングt1
で出力されると(第4図(a))、デコーダ10は上位
から連続する仮数部の0の数12」と、指数部の補正数
1−2」をバイト加算器12とボストシフタ11にタイ
ミングt2で出力する(第4図(b) ’)。ポストシ
フタ11は、デコーダ10から受けたボストノーマライ
ズ数「2」にもとづいて、Fレジスタ8から受けた演算
結果を2桁だけ左シフトした後、タイミングt、でHレ
ジスタ13に出力する(第4図(O))。デコーダ10
からボストノーマライズ数を受けたタイミングt2から
Hレジスタ13に出力するタイミングt3までの時間は
約lマシンサイクルである。
In the conventional device, normalization is performed after the operation of the parallel adder 7 (bost normalization). For example, when the operation result is the exponent part r + 55J, the mantissa part roo1234...-1, this information is sent to the decoder 10. is timing t1
(FIG. 4(a)), the decoder 10 outputs the number 12 of consecutive 0s in the mantissa part from the upper part and the correction number 1-2 in the exponent part to the byte adder 12 and the boss shifter 11 at the timing. It is output at t2 (Fig. 4(b)'). The post-shifter 11 shifts the operation result received from the F register 8 to the left by two digits based on the boss normalization number "2" received from the decoder 10, and then outputs it to the H register 13 at timing t (Fig. 4). (O)). Decoder 10
The time from timing t2 at which the boss normalized number is received to timing t3 at which it is output to the H register 13 is about 1 machine cycle.

一方、バイト加算器12は、デコーダ1oがらボストノ
ーマライズi r2Jをタイミングt2で受けると、G
レジスタ9がら指数部の大きい方の値「+55」を入力
して、r+55Jと1−2」の加算を行い、演算結果を
タイミングt4でHレジスタ]、3の指数部に出力する
(第4図(d))。デコーダ1oがらボストノーマライ
ズ数を受けたタイミングt2がらHレジスタ13に出力
するタイミングt4までの時間(t 、約lマシンサイ
クルである。したがって、Hレジスタ13の指数部は、
仮数部より約lマシンサイクルも遅れてラッチされるこ
とになり、相対的にマシンサイクルに占めるこのディレ
ィ時間の割合はきわめて大きい。このように、従来技術
では演算結果をyレジスタ8にラッチしてから、さらに
指数部の補正に時間がかかるという欠点があった、 flkm演算ステージの後に、ボストノーマライスステ
ーシが必要であり、このボストノーマライズステージで
のディレィの大半を上記補正値ニモとづく、指数部の演
算、に費やしてしまうという欠点があった。
On the other hand, when the byte adder 12 receives the boss normalization i r2J from the decoder 1o at timing t2, the byte adder 12 receives the G
Input the larger value "+55" in the exponent part from register 9, perform addition of r+55J and 1-2, and output the operation result to the exponent part of register H and 3 at timing t4 (Figure 4). (d)). The time (t) from timing t2 when the decoder 1o receives the boss normalized number to timing t4 when it is output to the H register 13 is about 1 machine cycle. Therefore, the exponent part of the H register 13 is
The signal is latched approximately one machine cycle later than the mantissa, and the proportion of this delay time in the machine cycle is relatively large. As described above, the conventional technology has the disadvantage that it takes time to correct the exponent part after latching the calculation result in the y register 8. A boss normal rice station is required after the flkm calculation stage, and this There is a drawback that most of the delay in the boss normalization stage is spent on calculating the exponent part based on the above correction value nimo.

発明の目的 本発明の目的は、このような従来の欠点を除去するため
、仮数部演算が終了した後にかかるディレィ時間を大幅
に短縮し、浮動小数点演算の実行時間を短かくすること
ができるデータ処理装置を提供することにある。
OBJECT OF THE INVENTION In order to eliminate such conventional drawbacks, an object of the present invention is to provide a data processing system that can significantly shorten the delay time required after a mantissa operation is completed and shorten the execution time of a floating point operation. The purpose of this invention is to provide a processing device.

上記目的を達成するため、本発明のデータ処理装置では
、浮動小数点演算器において、複数個の指数部演算器を
設け、仮数部の演算と並列に上記複数の指数部演算器を
同時に動作させ、仮数部演算の終了と同時に演算結果の
仮数部の上位に連続するOの桁数を示す値にもとづいて
、上記指数部演算器の出力の1つを選択し、ポストノー
マライズにより生ずる指数部の補正演算を直ちに終了さ
せることを特徴とする。すなわち、本発明においては、
演算器を高速化するために、予測論理を増強し、ボスト
ノーマライズ・ステージで行う指数部の補正を、その前
のステージで起り得るすべての組合わせについて演算す
るのである。これにより、浮動小数点加減算は、従来で
は例えば約4サイクル要したのに対して、本発明では約
5サイクルで結果を得ることができるようになる。
In order to achieve the above object, in the data processing device of the present invention, a plurality of exponent part arithmetic units are provided in the floating point arithmetic unit, and the plurality of exponent part arithmetic units are operated simultaneously in parallel with the operation of the mantissa part, At the same time as the mantissa calculation ends, one of the outputs of the exponent calculator is selected based on the value indicating the number of consecutive O digits in the upper part of the mantissa of the calculation result, and the exponent part generated by post-normalization is corrected. It is characterized by immediately terminating the calculation. That is, in the present invention,
In order to speed up the arithmetic unit, the prediction logic is strengthened, and the correction of the exponent part performed in the boss normalization stage is calculated for all possible combinations in the previous stage. As a result, floating-point addition and subtraction conventionally required, for example, approximately 4 cycles, whereas in the present invention, results can be obtained in approximately 5 cycles.

発明の実施例 第5図は、本発明の実施例を示す浮動小数点演算器のブ
ロック図であり、第6図は第5図のボストノーマライズ
・ステージの動作タイム・チャートである。
Embodiment of the Invention FIG. 5 is a block diagram of a floating point arithmetic unit showing an embodiment of the invention, and FIG. 6 is an operation time chart of the boss normalization stage of FIG.

本発明による新たな機能は、複数のバイト加算器14〜
29、その結果をラッチするレジスタ30〜45および
その内容を選択するセレクタ46である。複数のバイト
加算器14〜29は、本来ポストノーマライズ・ステー
ジで行うべき指数部の補正を、前段で実行するものであ
り、起りうるすべての組合わせの数だけバイト加算器が
備えられる。
A new feature according to the invention is that a plurality of byte adders 14 to
29, registers 30 to 45 for latching the results, and a selector 46 for selecting the contents thereof. The plurality of byte adders 14 to 29 perform correction of the exponent part at the previous stage, which should normally be performed at the post-normalization stage, and as many byte adders as there are for all possible combinations are provided.

仮数部演算後に発生し得る指数部の補正値をMからNと
する。これらの値は、浮動小数点加減算演算の場合は+
1から−6であり、良精度演算の場合は、+1から−1
4,である。第1図に示すように、短精度の浮動小数点
データは、仮数部を3バイト(6桁)だけ有し、演算に
は、さらにガード桁が加わるため、全部で7桁になる。
Let M to N be the correction values of the exponent that may occur after the mantissa calculation. These values are + for floating point addition/subtraction operations.
1 to -6, and +1 to -1 for high-precision calculations.
4. As shown in FIG. 1, short-precision floating point data has a mantissa of only 3 bytes (6 digits), and a guard digit is added to the calculation, resulting in a total of 7 digits.

このため、指数部の補正は−6までであり、+1は、加
算の結果桁あぶれが生じ、仮数部を右に1桁シフトする
場合のためである。また、長精度では、仮数部を7バイ
ト(14桁)有し、ガード桁を合せて、15桁である。
Therefore, the exponent part is corrected up to -6, and +1 is for the case where a digit is lost as a result of addition and the mantissa part is shifted one digit to the right. In addition, in long precision, the mantissa has 7 bytes (14 digits), and the guard digits total 15 digits.

このため指数部の補正は−14まで必要である。Therefore, the exponent part needs to be corrected to -14.

なお、ガード桁は、シフトにより精度が低下するのを減
少するために設けられたもので、例えば、仮数部がro
o1234jの6桁のときには、ポストシフタ11で左
に2桁シフトされJ1234Jとなることによって4桁
となり精度が低下するので、それを補うためにもう1桁
追加し、最初より仮数部をroo12345Jと7桁に
しておく。
Note that the guard digit is provided to reduce the decrease in accuracy due to shifting. For example, if the mantissa part is ro
When o1234j is 6 digits, it is shifted 2 digits to the left by the postshifter 11 to become J1234J, resulting in 4 digits and the precision decreases.To compensate for this, one more digit is added, and the mantissa is roo12345J and 7 digits from the beginning. Keep it.

また、あふれ桁の場合、仮数部の演算を行った結果、最
上位桁から桁あふれ(キャリー)が生じた際、その上位
に1桁確保しておがなければ、キャリーの値が抹消され
てしまうので、最初より0桁の上方に+1桁を設けてお
く。+1桁は、その後、ポスト・シフタ11で右に1桁
分シフトされて正規化される。
In addition, in the case of overflow digits, when an overflow (carry) occurs from the most significant digit as a result of mantissa calculation, unless one digit is reserved above the most significant digit, the carry value will be erased. Therefore, add +1 digit above the 0 digit from the beginning. The +1 digit is then shifted one digit to the right in post shifter 11 and normalized.

ブリシフタ3において、第]−2第2のオペランドの轡
数部の大小の判定を行った後、指数部の大きい値がEレ
ジスタ6に出方される。複数個のバイト加算器14〜2
9は、Eレジスタ6にラッチされている指数部(例えば
r+55J )を一方の入力に受は取り、短精度の場合
には+1〜−6、長精度の場合には+1〜−14の値を
他方に入力して、それぞれ加減算を行う。各バイト加算
器14〜29の出力はレジスタ(GPI 〜()14)
30−45にラッチされる。セレクタ46は、デコーダ
1゜の出力にもとづいて、レジスタ30〜45の内容を
選択する。
In the pre-shifter 3, after determining the magnitude of the exponent part of the [-2] second operand, the larger value of the exponent part is output to the E register 6. Multiple byte adders 14-2
9 receives the exponent part (e.g. r+55J) latched in the E register 6 as one input, and inputs a value between +1 and -6 for short precision and +1 and -14 for long precision. Input to the other side and perform addition and subtraction respectively. The output of each byte adder 14 to 29 is stored in a register (GPI to ()14)
Latched at 30-45. The selector 46 selects the contents of the registers 30-45 based on the output of the decoder 1°.

第5図の一連の動作を説明すると、Cレジスタ養および
Dレジスタ5にラッチした仮数部の演算を実行すると同
時に、複数のバイト加勢器14から29により、指数部
のその後、発生し得る補正演算のすべての組み合せを仮
数部演算ステージにて演算する。
To explain the series of operations shown in FIG. 5, at the same time, a plurality of byte accelerators 14 to 29 perform correction operations that may occur after the exponent part. All combinations of are calculated in the mantissa calculation stage.

上記の予測演算の結果は、仮数部の演算結果をFレジス
タ8にラッチするのと同時に、レジスタ30から45の
レジスタにラッチする。次に、ポストノーマライズ・ス
テージにてデコーダ10は、Fレジスタ8にラッチされ
た仮数部演算結果を調べて、実際に必要な補正値を出力
する。セレクタ46は、上記デコーダ10の出力にもと
づいて、真の補正値を予測したバイト加算器の結果をラ
ッチしているレジスタの内容を選択する。
The result of the above prediction operation is latched into the registers 30 to 45 at the same time as the result of the operation of the mantissa part is latched into the F register 8. Next, in the post-normalization stage, the decoder 10 examines the mantissa operation result latched in the F register 8 and outputs the actually necessary correction value. Based on the output of the decoder 10, the selector 46 selects the contents of the register latching the result of the byte adder predicting the true correction value.

並列加算器7の演算結果が、例えば指数部[十55 、
:I ’を仮数部1−001234・・・・・」である
場合、Fレジスタ8からタイミングt、でこれらの情報
がデコーダ10に出力されると(第0図(a))、デコ
ーダ10は上位から連続する仮数部のOの数「2」と、
指数部の補正数「−2」をセレクタ46とボストシフタ
11にタイミングt2で出力する(第6図(b))。ボ
ストン7タ11は、デコーダ10から受は取ったボスト
ノーマライズ数r2Jにもとづいα1) てFレジスタ8から入力した演算結果r’0O1234
・・・・・」を2桁だけ左シフトしてr 1234−・
・・・−1とした後、タイミングt3で出力する(第6
図(0))。
The calculation result of the parallel adder 7 is, for example, an exponent part [155,
:I' is the mantissa part 1-001234...'', and when these pieces of information are output from the F register 8 to the decoder 10 at timing t (Fig. 0(a)), the decoder 10 The number of O's in the mantissa part consecutive from the upper part is "2",
The correction number "-2" for the exponent part is output to the selector 46 and the boss shifter 11 at timing t2 (FIG. 6(b)). Based on the Boston normalized number r2J received from the decoder 10, the Boston 7 data 11 calculates the operation result r'0O1234 inputted from the F register 8 based on α1).
Shift left by 2 digits to r 1234-・
...-1, and then outputs at timing t3 (6th
Figure (0)).

一方、+M kのバイト加算器14〜29 G:Jl 
、並列加算器7の仮数部の演算と並列に指数部補正演算
を行い、第5図の場合、指数部「+55」と「+1」〜
r−1jlの16組の加減算を行い、その演算結県r+
56J〜「+41Jを複数のレジスタ30〜45にそれ
ぞれラッチする。セレクタ46は、デコーダ10からタ
イミングt2でボストノーマライズ数[2−1を受は取
ると、複数個のレジスタ30〜45のうちの1つのレジ
スタ33の値を選択してタイミングt3で出力する (
第6図(d))。すなわちレジスタ30は指数部の「+
1」の補正、レジスタ31はrOJの補正、レジスタ3
2はr−11の補正、レジスタ33は「−2」の補正を
それぞれ行った結果をラッチしているので、セレクタ4
6はデコーダ10から受は取った指数部の補正数「−2
」と一致する補正の内容を選択して出力する。
On the other hand, +M k byte adders 14 to 29 G: Jl
, the exponent part correction calculation is performed in parallel with the calculation of the mantissa part of the parallel adder 7, and in the case of FIG. 5, the exponent part "+55" and "+1" ~
Perform 16 additions and subtractions of r−1jl, and the result is r+
56J~"+41J is latched into a plurality of registers 30 to 45, respectively. When the selector 46 receives the boss normalized number [2-1" from the decoder 10 at timing t2, it latches one of the plurality of registers 30 to 45. selects the value of one register 33 and outputs it at timing t3 (
Figure 6(d)). In other words, the register 30 is
1” correction, register 31 is rOJ correction, register 3
2 latches the results of r-11 correction and register 33 latches the results of "-2" correction, so selector 4
6 is the correction number of the exponent received from the decoder 10 "-2"
" Select and output the correction contents that match.

最N結iは、ポストノーマライズした仮数部に02) 上記補正後の指数部を合せることにより得られる。The most N-connected i is 02) in the post-normalized mantissa part. It is obtained by combining the exponent parts after the above correction.

本発明では、第6図(c)Cd)に示すように、デコー
ダ10からポストノーマライズ数を受けたタイミングt
2から、ボストシフタ11がシフト動作した結果を出力
するタイミングt3と、セレクタ46が補正結果の1つ
を選択して出力するタイミングt3とが殆んど同じであ
るため、最終結果の補数部と仮数部はほぼ同時に出力さ
れることになる。したかつて、従来ボストノーマライズ
・ステージにおけるディレィ時間の大半を指数部の演算
に費していたが、本発明では、指数部の演算は前段で終
了しているため、1個の潅択するだけの時間を要するの
みであり、トータルの演算実行時間が短かくなる。
In the present invention, as shown in FIG. 6(c)Cd), the timing t when the post-normalized number is received from the decoder
2, the timing t3 at which the boss shifter 11 outputs the result of the shift operation and the timing t3 at which the selector 46 selects and outputs one of the correction results are almost the same, so the complement and mantissa of the final result are The parts will be output almost simultaneously. In the past, most of the delay time in the boss normalization stage was spent calculating the exponent part, but in the present invention, since the calculation of the exponent part is completed in the previous stage, only one selection is required. It only takes time, and the total calculation execution time is shortened.

第7図は第5図の並列加算器7の出力結果と、仮数部の
シフ)fflおよび指数部の補正量、すなわち選択すべ
きハイド加算器の対応関係な示す図である。第7図にお
いて、−1桁とは、あふれ桁を、Gはガード桁を表わす
。尚、デコーダ10に入力する加算器の出力は、加算器
の入力レジスタであるCレジスタ4とDレジスタ5から
直接予測してデコーダIIKO1○に入力する方法も可
能である。
FIG. 7 is a diagram showing the correspondence between the output result of the parallel adder 7 in FIG. 5, the shift (shift) ffl of the mantissa part and the correction amount of the exponent part, that is, the Hyde adder to be selected. In FIG. 7, the -1 digit represents an overflow digit, and G represents a guard digit. Note that the output of the adder input to the decoder 10 can also be predicted directly from the C register 4 and D register 5, which are input registers of the adder, and input to the decoder IIKO1○.

また第7図によると、バイト加算器か16個必要である
が、BA○は、補正シ、が0であるから省略可能であり
、このように必要とする加算器の数を減らす手段が存在
するっ 尚、仮数部の演算結果がすべてOになった場合は、有意
性例外として処理を行なうため指数部の補正は行なわな
い。
Also, according to FIG. 7, 16 byte adders are required, but BA○ can be omitted because the correction value is 0, and there is a means to reduce the number of required adders in this way. However, if all the calculation results of the mantissa part are O, the exponent part is not corrected because it is treated as a significance exception.

第7回の加算器出力桁で、Xは○以外の数字、つまり1
〜Fを表わし、Yは任意の数字、つまりQ −Fを表わ
している、したがって、短精度、長精度とも上から2番
目の出力が得られたときには、すでに仮&iは正規化さ
れているので、ポストシフタ11でパ/フ卜する必要も
なく、またセレクタ46で指数部の補正した値を選択す
る必要もない−さらに、短精度、多槽7とも、最下段の
出力、つまり仮数部が万一ルOにな−ったときには、指
数部も無意味であるため何の補正も行われない。上記2
つの例外を除き、仮数部の上位の連続した0の数にした
がって、ボストシフタ11における仮数部の補正(第7
図の右から3列目)を行うとともにセレクタ46により
選択された指数部の補正(第7図の石から2列目)を行
う。なお、第7図の右端の列は、選択された指数部の補
正に該当するバイト加算器14〜29を示している。す
なわち、短精度の最上段は、O以外の数字があふれ桁(
−1)にあるので、仮数部の補正では右シフト1桁を行
い、指数部の補正では+1した結果を選択し、そのとき
のバイト加算器はBAP lの14が選択される。短精
度の3番目では、仮数部のあふれ桁(−1)と最」二位
桁(0)が0であり、次の桁にO以外の数字があるので
、仮数部の補正では左シフト1桁を行い、指数部の補正
では−1した結果を選択し、そのときのバイト加算器は
BAlの16が選択される。以下、同じようにして、短
精度では仮数部を左シフト6桁、指数部を−6、良精度
では仮数部を左シフト14桁、指数部を−14、それぞ
れ行う場合まで連続して配列されている。
In the 7th adder output digit, X is a number other than ○, that is, 1
~F, and Y represents an arbitrary number, that is, Q - F. Therefore, when the second output from the top is obtained for both short precision and long precision, the tentative &i has already been normalized. , there is no need to perform the expansion in the post-shifter 11, and there is no need to select the corrected value of the exponent part in the selector 46.Furthermore, in both the short precision and the multi-tank 7, the output of the lowest stage, that is, the mantissa part is When the number reaches 0, the exponent part is also meaningless, so no correction is made. Above 2
With two exceptions, correction of the mantissa in the boss shifter 11 (7th
(third column from the right in the figure) and also corrects the exponent part selected by the selector 46 (second column from the stone in FIG. 7). Note that the rightmost column in FIG. 7 shows byte adders 14 to 29 corresponding to correction of the selected exponent part. In other words, in the top row of short precision, numbers other than O are overflowing digits (
-1), a one-digit right shift is performed to correct the mantissa, and a +1 result is selected to correct the exponent, and 14 of BAP l is selected as the byte adder at this time. In the third short precision, the overflow digit (-1) and the second-most digit (0) of the mantissa are 0, and there is a number other than O in the next digit, so the correction of the mantissa requires a left shift of 1. The digit is corrected, and the result of -1 is selected for the exponent part correction, and 16 of BAl is selected as the byte adder at this time. Hereafter, in the same way, the mantissa is shifted to the left by 6 digits and the exponent by -6 for short precision, and the mantissa is shifted to the left by 14 digits and the exponent by -14 for high precision. ing.

なお、本発明は、ボストノーマライズ動作を必0υ 要とするすべての演算に適用可能である。例えば、浮動
小数点乗除算等がこれに含まれる。ただ、乗除算の場合
には、バイト加算器は2個のみでよいので、性能的には
加減算の場合はど効果は大きくない。
Note that the present invention is applicable to all calculations that require a bottom normalization operation. For example, this includes floating point multiplication and division. However, in the case of multiplication and division, only two byte adders are required, so in terms of performance, the effect is not great in the case of addition and subtraction.

発明の詳細 な説明したように、本発明によれば、仮数部演算が終了
した後にかかるディレィな大幅に短縮できるため、浮動
小数点演算の演算実行時間を短かくすることができる。
As described in detail, according to the present invention, the delay required after a mantissa operation is completed can be significantly shortened, so that the execution time of a floating-point operation can be shortened.

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

第1図は浮動小数点数のデータ形式図、第2図は第1図
の指数部の表現を示す図、第3図は従来の浮動小数点加
減算器のブロック図、第4図は第3図のボストノーマラ
イズ・ステージの動作タイムチャート、第5図は本発明
の実施例を示す浮動小数点加減算器のブロック図、第6
図は第5図のボストノーマライズ動作のタイムチャート
、47図は第5図の並列加算器出力と仮数部、指数部の
補正量との対応図である。 06) 1.2:オペランド・レジスタ、3:ブリシフタ、4.
.5:演算入力レジスタ、6 二にレジスタ、7:並列
加算器、8:Fレジスタ、10:デコーダ、11:ボス
トシフタ、14〜29:バイト加m 器、3 Q〜4.
5:補正レジスタ、46:セレクタ0 特許出願人  株式会社日立製作所 代 理 人  弁理士 磯  村  雅  情1、第1
図 第2図 第4図 第6図 t2 第5図
Figure 1 is a data format diagram of a floating point number, Figure 2 is a diagram showing the expression of the exponent part of Figure 1, Figure 3 is a block diagram of a conventional floating point adder/subtractor, and Figure 4 is a diagram of the exponent part of Figure 3. FIG. 5 is a block diagram of a floating point adder/subtractor showing an embodiment of the present invention; FIG.
47 is a time chart of the boss normalization operation shown in FIG. 5, and FIG. 47 is a diagram showing the correspondence between the output of the parallel adder shown in FIG. 5 and the correction amounts of the mantissa and exponent parts. 06) 1.2: Operand register, 3: Pre-shifter, 4.
.. 5: Arithmetic input register, 6 Second register, 7: Parallel adder, 8: F register, 10: Decoder, 11: Boss shifter, 14-29: Byte adder, 3 Q-4.
5: Correction register, 46: Selector 0 Patent applicant Hitachi, Ltd. Attorney Patent attorney Masaaki Isomura 1, 1st
Figure 2 Figure 4 Figure 6 Figure t2 Figure 5

Claims (1)

【特許請求の範囲】[Claims] 指数部と仮数部とを別個に演算する浮動小数点演算器に
おいて、仮数部の演算と並列に動作する複数個の指数部
演算器を設け、仮数部の演算終了と同時に演算結果の上
位に連続する0の桁数を示す値にもとづいて、上記複数
個の指数部演算器の演算器の演算結果の1つを選択して
指数部とすることを特徴とするデータ処理装置っ
In a floating point arithmetic unit that calculates the exponent part and the mantissa part separately, multiple exponent part arithmetic units are provided that operate in parallel with the mantissa part calculation, and as soon as the mantissa part calculation is completed, the calculation result continues to the upper part. A data processing device characterized in that, based on a value indicating the number of 0 digits, one of the calculation results of the plurality of exponent part calculation units is selected as the exponent part.
JP57070935A 1982-04-27 1982-04-27 Data processor Pending JPS58186840A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57070935A JPS58186840A (en) 1982-04-27 1982-04-27 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57070935A JPS58186840A (en) 1982-04-27 1982-04-27 Data processor

Publications (1)

Publication Number Publication Date
JPS58186840A true JPS58186840A (en) 1983-10-31

Family

ID=13445857

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57070935A Pending JPS58186840A (en) 1982-04-27 1982-04-27 Data processor

Country Status (1)

Country Link
JP (1) JPS58186840A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60116032A (en) * 1983-11-28 1985-06-22 Nec Corp Normalizing circuit
JPS60140422A (en) * 1983-12-28 1985-07-25 Nec Corp Arithmetic processing unit
JPS6224322A (en) * 1985-07-23 1987-02-02 Nec Corp Floating point arithmetic unit
JPS62168228A (en) * 1986-01-21 1987-07-24 Nec Corp Product/sum arithmetic unit with floating point function

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60116032A (en) * 1983-11-28 1985-06-22 Nec Corp Normalizing circuit
JPS60140422A (en) * 1983-12-28 1985-07-25 Nec Corp Arithmetic processing unit
JPS6224322A (en) * 1985-07-23 1987-02-02 Nec Corp Floating point arithmetic unit
JPS62168228A (en) * 1986-01-21 1987-07-24 Nec Corp Product/sum arithmetic unit with floating point function
JPH0552532B2 (en) * 1986-01-21 1993-08-05 Nippon Electric Co

Similar Documents

Publication Publication Date Title
US6099158A (en) Apparatus and methods for execution of computer instructions
JP2662196B2 (en) Calculation result normalization method and apparatus
US7395304B2 (en) Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic
US5808926A (en) Floating point addition methods and apparatus
US7730117B2 (en) System and method for a floating point unit with feedback prior to normalization and rounding
US20020143839A1 (en) Computer method and apparatus for division and square root operations using signed digit
US5862065A (en) Method and circuit for fast generation of zero flag condition code in a microprocessor-based computer
US4758974A (en) Most significant digit location
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US5548545A (en) Floating point exception prediction for compound operations and variable precision using an intermediate exponent bus
US5247471A (en) Radix aligner for floating point addition and subtraction
US5790444A (en) Fast alignment unit for multiply-add floating point unit
JPH0250492B2 (en)
US7016930B2 (en) Apparatus and method for performing operations implemented by iterative execution of a recurrence equation
US6061707A (en) Method and apparatus for generating an end-around carry in a floating-point pipeline within a computer system
JP2511527B2 (en) Floating point arithmetic unit
JPS58186840A (en) Data processor
US20050144214A1 (en) Shift-and-negate unit within a fused multiply-adder circuit
US20170293467A1 (en) Apparatus and method for supporting a conversion instruction
US5754458A (en) Trailing bit anticipator
US6065034A (en) Circuit and method employing an adder for sign extending operands
US20060026223A1 (en) Apparatus and method for reducing the latency of sum-addressed shifters
CN111752613A (en) Processing of iterative operations
US5208769A (en) Unsigned integer multiply/divide circuit