JP3453618B2 - Processor for division and square root using polynomial approximation of root - Google Patents

Processor for division and square root using polynomial approximation of root

Info

Publication number
JP3453618B2
JP3453618B2 JP14659192A JP14659192A JP3453618B2 JP 3453618 B2 JP3453618 B2 JP 3453618B2 JP 14659192 A JP14659192 A JP 14659192A JP 14659192 A JP14659192 A JP 14659192A JP 3453618 B2 JP3453618 B2 JP 3453618B2
Authority
JP
Japan
Prior art keywords
bit
carry
array
input
bits
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
JP14659192A
Other languages
Japanese (ja)
Other versions
JPH07200266A (en
Inventor
エス.エム.クエック
ヒュー ラリー
プラブー インヤネシュヴァール
エー.ウェア フレデリック
Original Assignee
ヒュンダイ、エレクトロニクス、インダストリーズ、カムパニー、リミテッド
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
Priority claimed from US07/774,674 external-priority patent/US5280439A/en
Application filed by ヒュンダイ、エレクトロニクス、インダストリーズ、カムパニー、リミテッド filed Critical ヒュンダイ、エレクトロニクス、インダストリーズ、カムパニー、リミテッド
Publication of JPH07200266A publication Critical patent/JPH07200266A/en
Application granted granted Critical
Publication of JP3453618B2 publication Critical patent/JP3453618B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、浮動点の割り算と平方
根の演算を行う為の数学的プロセッサーに関する。
FIELD OF THE INVENTION The present invention relates to a mathematical processor for performing floating point division and square root operations.

【0002】[0002]

【従来の技術及び発明が解決しようとする課題】一般的
に言えば、長い割り算を手で計算するように、引き算と
けた送りの冗長な方法をもってして数学的コプロセッサ
ーで割り算と平方根演算がなされている。この方法の欠
点は全ての必要な引き算とけた送り作業を完了するのに
長時間かかるということである。
BACKGROUND OF THE INVENTION Generally speaking, division and square root operations are performed in a mathematical coprocessor with a redundant method of subtraction and feed, much like manually calculating long divisions. Has been done. The drawback of this method is that it takes a long time to complete all the necessary subtraction and feeding operations.

【0003】割り算と平方根演算の速度を改善するのに
使用される一つの方法は、二次的収斂の利点をとること
である。もし、y/xを決定しようとした場合、最初に
1/xが決定されるが、それは冗長な長い計算以外の方
法によってなされる。次に、乗法演算(yに1/xをか
ける)を使用することができる。それにより計算の速度
が上がる。1/xの値を決定する一つの方法は全ての可
能な値をメモリーに蓄積することであろう。
One method used to improve the speed of division and square root operations is to take advantage of quadratic convergence. If we try to determine y / x, then 1 / x is first determined, which is done by a method other than redundant long computations. Then, a multiplication operation (y times 1 / x) can be used. This speeds up the calculation. One way to determine the value of 1 / x would be to store all possible values in memory.

【0004】しかしながら、正確なビット数が要求され
る場合には、大容量のメモリーでなくてはならない。従
って、1/xの値は異なったxの値に対して毎回計算さ
れることになる。一つの方法は、低い正確度の初期近似
式から始め、そしてそれをニュートン・ラフソンの逐次
解法を利用してそれを改善することである。そのような
方法は、S.ウェイザーとM.J.フリンによる「ディジタ
ルシステム設計者の為の算法入門」(1982年刊、ニュー
ヨーク、CBS カレッジ出版)に記述されている。
However, when an accurate number of bits is required, a large capacity memory must be used. Therefore, a value of 1 / x will be calculated each time for a different value of x. One way is to start with a low accuracy initial approximation and improve it using the Newton-Raphson iterative solution. Such a method is described by S. It is described in "Introduction to Arithmetic for Digital System Designers" by Weiser and MJ Flynn (1982, New York, CBS College).

【0005】この逐次解法はFK+1 =FK (2−x
K )、という方程式を使用する。ここでFK は1/x
の近似式である。FK の初期近似式を用いること及び何
回かの逐次解法をすることによってその正確さは二次的
収斂を通じて必要な点迄改善することが出来る。x演算
数は一般に1≦x<2の範囲内にて正規化され、そして
最初の1/xはROM に蓄積された値から選択することが
出来る。この技術は最初に1/√xを計算し、次に√x
をつくるためにxをかける。もし望むならば、1/√x
に対する初期近似式は上記のそれに似たニュートン・ラ
フソンの逐次解法によって改善することが出来る。
This iterative solution method is F K + 1 = F K (2-x
F K ), is used. Where F K is 1 / x
Is an approximate expression of. The accuracy can be improved to the required point through quadratic convergence by using the initial approximation formula of F K and performing several iterative solving methods. The x operands are generally normalized within the range 1≤x <2, and the first 1 / x can be selected from the values stored in ROM. This technique first calculates 1 / √x and then √x
Multiply x to create 1 / √x if desired
The initial approximation for can be improved by a Newton-Raphson iterative method similar to that described above.

【0006】[0006]

【課題を解決するための手段及び作用】本発明は与えら
れた演算数xに対する1/xと1/√xの値を決定し、
y/xと√xの値を決定するための改善された装置と方
法を与えている。これは多項式方程式を利用することに
よって達成される。多項式方程式の係数はROM に蓄積さ
れる。xの異なった値に対して異なった係数が使用され
る。適切な係数を選択するためにROM への入力としてx
演算数の最上位のビットが使用される。
The present invention determines the values of 1 / x and 1 / √x for a given operation number x,
It provides an improved apparatus and method for determining the values of y / x and √x. This is achieved by utilizing polynomial equations. The coefficients of the polynomial equation are stored in ROM. Different coefficients are used for different values of x. X as input to ROM to select appropriate coefficient
The most significant bit of the operand is used.

【0007】好ましい実施例においては、多項式方程式
は二番目の順番であり、そして係数は単精度の正確さの
最終結果を与えるに十分な精密さを持ち合わせている。
二倍精度のためには多項式の結果がニュートン・ラフソ
ンの逐次解法のための初期近似式として使用される。こ
のことによって、最初のニュートン・ラフソン近似式の
ためにROM の規模を増やす必要が無く最初の近似式に対
しもっと高度な正確さが与えられるのである。従って、
二倍精度の正確さの結果を得るのにニュートン・ラフソ
ンの逐次解法は唯一回だけ要求されるのである。
In the preferred embodiment, the polynomial equations are in second order, and the coefficients are sufficiently precise to give a final result of single precision accuracy.
For double precision, the polynomial result is used as an initial approximation for the Newton-Raphson iterative solution. This gives a higher degree of accuracy to the first Newton-Raphson approximation without having to increase the ROM size for the first approximation. Therefore,
The Newton-Raphson iterative solution is required only once to obtain double-precision accuracy.

【0008】使用される多項式はAx2 +Bx+Cの形
が好ましい。現在の発明においても又この多項式の計算
速度を上げるために分割掛け算器アレイを使用してい
る。最初のx2 の計算後、Aをx2 にそしてBをxにか
けることは掛け算器アレイの半分ずつにより同時に行わ
れる。これは記憶された係数が完全に正確であることが
必要とされないので可能なのである。このようにして、
それらは掛け算をするのに掛け算器アレイの一部のみ必
要とするのである。係数の規模はAx2 +Bx+Cの要
素の各々に対する適切な精密さの結果をもたらすのに必
要とされるものに対応する。好ましい実施例では、Aは
15ビット、Bは24ビット、Cは32ビットである。1/x
と1/√xの近似式にはA,B及びCの係数の別個の値
を記憶しなくてはならない。
The polynomial used is preferably of the form Ax 2 + Bx + C. The present invention also uses a split multiplier array to speed up the calculation of this polynomial. After the initial x 2 calculation, multiplying A by x 2 and B by x is done simultaneously by half of the multiplier array. This is possible because the stored coefficients need not be perfectly accurate. In this way
They need only part of the multiplier array to do the multiplication. The magnitude of the coefficients corresponds to what is needed to produce the result of appropriate precision for each of the elements of Ax 2 + Bx + C. In the preferred embodiment, A is
15 bits, B is 24 bits, and C is 32 bits. 1 / x
Separate values for the coefficients of A, B and C must be stored in the approximate expression for and 1 / √x.

【0009】本発明の更なる面として、けた上げ/保留
・フォーマットで演算数を受け入れることの出来る特別
な掛け算器が供給される。これは、けた上げを完全に伝
搬することによって部分積を通常の二進法フォーマット
に変換する必要性を排除するものである。このようにし
て、掛け算のシーケンスの速度は改善出来る。これは、
演算数を通常の二進法あるいはけた上げ/保留・フォー
マットを受け入れることの出来るブースレコーダ論理を
備えることによって達成される。
As a further aspect of the invention, a special multiplier is provided which is capable of accepting operands in carry / hold format. This eliminates the need to convert the partial product to normal binary format by propagating the carry completely. In this way the speed of the multiplication sequence can be improved. this is,
This is accomplished by providing Booth recorder logic that can accept normal binary or carry / hold formats.

【0010】本発明はまたIEEEに対して唯一回の掛け算
を含む演算によって正確な丸めを出すことを備える改善
された丸め法を備えている。この発明はこのようにして
幾つかの方法でプロセッサー機能の速度を上げる。第1
に初期近似式は多項近似式を使用することによって非常
に正確になる。第2に分割掛け算器アレイにより二つ以
上の演算を同時に行うことが出来る。第3にブースレコ
ーダ論理は次の掛け算がなされる前に純粋な二進法フォ
ーマットに入れる必要がないようにけた上げ/保留・フ
ォーマットの中の中間の演算数を受け入れるように設計
されている。最後にこの発明の特別丸め法には算出段階
が非常に少ない。
The present invention also provides an improved rounding method to IEEE that provides exact rounding by an operation involving a single multiplication. The present invention thus speeds up processor functionality in several ways. First
The initial approximation to is very accurate by using the polynomial approximation. Second, the split multiplier array allows two or more operations to be performed simultaneously. Third, the Booth Recorder logic is designed to accept intermediate operands in a carry / hold format so that it does not have to be put in pure binary format before the next multiplication is done. Finally, the special rounding method of the present invention has very few calculation steps.

【0011】この発明の技術は逆数と逆数平方根演算に
は使用されない特別丸め法を除いて、割り算、平方根、
逆数そして逆数平方根演算に用いられる。
The technique of the present invention, except for special rounding methods that are not used for reciprocal and reciprocal square root operations, divide, square root,
Used for reciprocal and reciprocal square root operations.

【0012】[0012]

【実施例】図1は本発明を取り入れた半導体チップ全体
のブロックダイヤグラムである。一組の演算数が入力バ
ス12と14の上に与えられる。これらは登録ファイル16に
与えられる。登録ファイルは次々に分離しているALU 18
と掛け算器ユニット20とに接続される。これらの出力は
マルチプレクサ22を通じて出力24に供給される。この構
成によってALU と掛け算器ユニットを平行して使用する
ことが出来る。今回の出願が指し示しているこの発明は
掛け算器ユニット20の内部に含まれている。
1 is a block diagram of an entire semiconductor chip incorporating the present invention. A set of operands is provided on input buses 12 and 14. These are provided in the registration file 16. Registration files are separated one after another ALU 18
And the multiplier unit 20. These outputs are
It is supplied to the output 24 through the multiplexer 22. This configuration allows the ALU and multiplier unit to be used in parallel. The invention pointed to in this application is contained within multiplier unit 20.

【0013】多項近似式 図2はx=1.0 と2.0 の間の1/xの曲線を示すグラフ
である。背景において論じたように、割り算の演算を、
与えられた演算数xで行うためには、1/xを最初に計
算し、そして次いで分子演算数yをかけるのが有利であ
る。1/xの決定は、1.0 と2.0 の間の与えられたxの
値に対する近似式から開始する。全ての演算 (逆数、割
り算、逆数平方根、そして平方根) は注記した場合を除
いて、最初の演算数としてIEEE規格754 に従って、常に
1.0 から2.0 の間に正規化された数値をとる。
Polynomial Approximation Formula FIG. 2 is a graph showing a 1 / x curve between x = 1.0 and 2.0. As discussed in the background,
To do with a given operand x, it is advantageous to calculate 1 / x first and then multiply by the numerator operand y. The determination of 1 / x starts with an approximation for a given value of x between 1.0 and 2.0. All operations (reciprocal, division, reciprocal square root, and square root) are always the first operation according to IEEE Standard 754, unless otherwise noted.
Takes a normalized number between 1.0 and 2.0.

【0014】本発明において1.0 と2.0 の間隔は256 の
更に小さな間隔に分割され、そして図2の各々の間隔i
における1/xのカーブはAi 2 +Bi x+Ci によ
って正確に近似することが出来る。Ai ,Bi 及びCi
のこれらの256 間隔の各々の係数は、別個に前もって決
定される。
In the present invention, the 1.0 and 2.0 intervals are divided into 256 smaller intervals, and each interval i in FIG.
The 1 / x curve at can be accurately approximated by A i x 2 + B i x + C i . A i , B i and C i
The coefficients for each of these 256 intervals of are separately predetermined.

【0015】各々の間隔のために、多項式Ax2 +Bx
+Cの係数は、間隔の中間点と、中間点から各々の方向
に間隔の半分の√3/2倍の所の他の2点を選択するこ
とによって決定される。これらの3点は次に、Ai ,B
i 及びCi を創るために一斉に解かれる三つの等式を創
るのに使用される。A1 からA256 ,B1 からB256
してC1 からC256 迄の係数の値は、図3,図4に示さ
れたように、そして更に以下で説明するようにROM 30に
記憶されることになっている。ROM 30はライン32上のx
演算数の最上位側な8ビットによってアドレスされる。
一つの特異な実施例は、各々の間隔でxの最上位側の8
ビットは一定であるという事実を利用している。
For each interval, the polynomial Ax 2 + Bx
The coefficient of + C is determined by selecting the midpoint of the interval and the other two points in the respective direction from the midpoint at √3 / 2 times half the interval. These three points are then A i , B
It is used to create three equations that are solved together to create i and C i . The values of the coefficients A 1 to A 256 , B 1 to B 256 and C 1 to C 256 are stored in ROM 30 as shown in FIGS. 3 and 4 and further described below. It is supposed to be. ROM 30 is x on line 32
Addressed by the 8 most significant bits of the operand.
One peculiar embodiment is to use the eight most significant x's at each interval.
It takes advantage of the fact that the bits are constant.

【0016】これは、x=x0 +Δxを定義することで
なされる。ここで、x0 はxの最上位8ビットであり
(それは各々の間隔を通じて一定である)、Δxはxの
残りのビットを引き連れた8つのゼロである。これが方
程式Ax2 +Bx+Cで展開し、そして条件が再びグル
ープ化される時、結果としての方程式は、 (A)Δx2 +(2Ax0 +B)Δx+(Ax0 2 +B
0 +C) である。括弧内の値は各々間隔を通じて一定であり、修
正されたA,BそしてCとしてROM に記憶出来る。
This is done by defining x = x 0 + Δx. Where x 0 is the most significant 8 bits of x (which is constant throughout each interval) and Δx is the eight zeros with the remaining bits of x. When this expands to the equation Ax 2 + Bx + C, and the conditions are grouped again, the resulting equation is (A) Δx 2 + (2Ax 0 + B) Δx + (Ax 0 2 + B
x 0 + C). The values in brackets are constant throughout the interval and can be stored in ROM as modified A, B and C.

【0017】初期近似式がなされた時、算出はAΔx2
+BΔx+Cである。ここで、A,B及びCはそれらの
修正された値である。これの利点は有効数字を処理する
ということである。Δxは8つの先導するゼロを持ち、
Δx2 は16の先導するゼロを持つのであるが、それらは
それらから出来た積に移転され先導するのである。だか
ら、Aの最上位ビットは近似式の17番目及びそれ以下の
上位ビットにのみ効果を与えることが出来、Bの最上位
ビットは近似式の9番目及びそれ以下の上位ビットにの
み効果を与えることが出来る。なぜなら、この初期近似
式では最大で28ビットまで正確であることが必要である
ので、係数は全て完全に精密に記憶する必要はない。
When the initial approximation formula is made, the calculation is AΔx 2
+ BΔx + C. Where A, B and C are their modified values. The advantage of this is that it handles significant figures. Δx has eight leading zeros,
Δx 2 has 16 leading zeros, but they are transferred and leading to the product made from them. So, the most significant bit of A can only affect the 17th and lower significant bits of the approximation, and the most significant bit of B only affects the 9th and lower significant bits of the approximation. You can This is because it is necessary for this initial approximation to be accurate up to 28 bits, so it is not necessary to store all the coefficients exactly.

【0018】好ましい実施例においてはAについては正
確な15ビットが、Bについては24、そしてCについては
32ビットがある。これによりAx2 +Bx+Cにとって
は全部正確な31ビットを備えることになる、というのは
追加される三つの要素の各々に最低31ビットの正確さが
存在するからである。この値xに対応する係数A,B及
びCは次いで各々レジスター31,33 及び34に供給される
のである。
In the preferred embodiment, there are exactly 15 bits for A, 24 for B, and C for
There are 32 bits. This would provide for Ax 2 + Bx + C all exactly 31 bits, since there is at least 31 bits of accuracy in each of the three additional elements. The coefficients A, B and C corresponding to this value x are then supplied to registers 31, 33 and 34, respectively.

【0019】図3,図4は、36,38の二つに半分ずつに
分割された掛け算器を示している。多項式計算のために
は、x2 条件では各々の半分が一つの掛け算器として働
くべく連結され、そして以下に論ずるように、Ax2
Bxとの同時乗法においては二つの別個の掛け算器とし
て使用される。
FIGS. 3 and 4 show a multiplier divided into two halves, 36 and 38, respectively. For polynomial calculations, each half is concatenated to work as one multiplier in the x 2 condition, and used as two separate multipliers in the simultaneous multiplication of Ax 2 and Bx, as discussed below. To be done.

【0020】図13を参照、修正されたA,B及びCの調
査はサイクル1の間に行われる。同時に、二乗条件を創
りだすためにΔxそれ自身の掛け算が二つの半分アレイ
が一つとなって動くことにより、なされる。演算数Δx
の上位順のビットは演算数マルチプレクサ40とマルチプ
レクサ52を通じてけた上げ/保留加算器(CSA) 掛け算器
アレイの半分36の“A”入力に供給される。一方、残り
の低位順のビットはアレイ半分38に供給される。Δx演
算数はまたマルチプレクサ41を通じてブースレコーダ50
に供給される。ブースレコーダ50は次にΔxの上位順の
ビットのブースレコードバージョンを、掛け算器アレイ
36の“B”演算数入力に供給する、そして低位順のビッ
トはアレイ38の“B”入力に供給する。低位順の掛け算
の積及びけた上げフォーム(CS)はそれぞれマルチプレク
サ42と43に供給される。
Referring to FIG. 13, the inspection of the modified A, B and C is done during cycle 1. At the same time, the multiplication of Δx itself is done by moving the two half arrays together to create a squared condition. Number of operations Δx
The high-order bits of the carry through the arithmetic multiplexer 40 and multiplexer 52 are carry / hold adder (CSA) multipliers
It is supplied to the "A" input of half 36 of the array . Meanwhile, the remaining low order bits are provided to array half 38. The Δx operation number is also increased by the booth recorder 50 through the multiplexer 41.
Is supplied to. The booth recorder 50 then calculates the booth record version of the bits in the high order of Δx as the multiplier array.
Feeds the "B" operand of 36 and the low order bits feed the "B" input of array 38 . The low-order multiply products and carry forms (CS) are provided to multiplexers 42 and 43, respectively.

【0021】理解されるようにこのサイクルの制御信号
は“0”の表示があるこれらの入力を選択する。これら
は次に掛け算器アレイの中において丁度そうであるよう
に、けた送りされ、アレイ半分36の入力44,45 に適用さ
れる。アレイ36は計算を完了する。Δx2 の結果は「第
一」パイプラインのためマルチプレクサ46を通じてアレ
イ半分36の積出力からレジスター47へ供給される。
(「第二」パイプラインはけた上げ/プロパゲート(CP)
加算器48及び第二パイプラインレジスター49からな
る。) この段階でのΔx2 演算数はけた上げ/保留・フ
ォーマットに記憶される。
As will be appreciated, the control signals for this cycle select those inputs which have a "0" indication. These are then digitized and applied to the inputs 44,45 of array half 36, just as they are in the multiplier array. Array 36 completes the calculation. The result of Δx 2 is provided to register 47 from the product output of array half 36 through multiplexer 46 for the "first" pipeline.
("Second" pipeline carry / propagate (CP)
It consists of an adder 48 and a second pipeline register 49. ) The Δx 2 operation number at this stage is stored in the carry / hold / format.

【0022】図13に示され、サイクル2のための制御信
号のある図5,図6で図示された二番目のサイクルにお
いては、AΔx2 条件を計算するためにレジスター47の
Δx2 条件と演算数Aとが掛け算器アレイ36に供給され
る。同時にB演算数とΔx演算数とはBΔx掛け算が同
時にできるように掛け算器アレイ38に供給される。係数
の64ビット全てが必要とされないので、分割された掛け
算器アレイの二つの部分を使用してこのことを同時に行
うことが可能なのである。同時にこれは、けた上げ/プ
ロパゲート(CP)加算器48とレジスター49からなる第二パ
イプラインの中のサイクル2で起こり、CP丸め演算が純
粋な二進法フォーマットに入力するために、Δx2 に対
して行われる。この純粋自動CPの丸めは最終結果の時迄
必要とされないのであるが、またΔx2 の二進法フォー
ムと他の中間結果は無視される。
In the second cycle shown in FIG. 13 and with the control signals for cycle 2, shown in FIGS. 5 and 6, the Δx 2 condition and operation of register 47 to calculate the AΔx 2 condition. The number A and is provided to the multiplier array 36. At the same time, the B operation number and the Δx operation number are supplied to the multiplier array 38 so that the BΔx multiplication can be performed at the same time. Since not all 64 bits of the coefficient are needed, it is possible to do this simultaneously using two parts of the partitioned multiplier array. At the same time, this happens in cycle 2 in the second pipeline consisting of carry / propagate (CP) adder 48 and register 49, and for the CP rounding operation to input in pure binary format, for Δx 2. Is done. This pure automatic CP rounding is not required until the time of the final result, but also the binary form of Δx 2 and other intermediate results are ignored.

【0023】詳細については以下に論ずるところである
が、レジスター47のΔx2 条件は、ブースレコーダ50の
CS入力と連結するマルチプレクサ41,51にCSフォーマッ
トの中で供給される。二つのマルチプレクサがS,Cフ
ォーマットの故に使用される。ブースコード化された出
力は次にアレイ36の“B”演算数入力に供給される。こ
の出力がΔx2 の最上位36ビットであり、ブースレコー
ダの残りのビットはアレイ38に供給される。A係数はマ
ルチプレクサ52を通じてアレイ36の“A”演算数入力に
供給される。
Although the details will be discussed below, the Δx 2 condition of the register 47 is the same as that of the booth recorder 50.
It is supplied in CS format to multiplexers 41, 51 which are connected to the CS input. Two multiplexers are used because of the S, C format. The Booth coded output is then provided to the "B" operand of array 36. This output is the 36 most significant bits of Δx 2 and the remaining bits of the Booth Recorder are provided to array 38. The A coefficient is provided to the "A" operand of array 36 through multiplexer 52.

【0024】B係数はレジスター33からマルチプレクサ
41を通じて、ブースレコーダ50を通じてアレイ38の
“B”演算数入力に供給される。MA入力32のΔx条件は
マルチプレクサ40を通じてアレイ38の“A”演算数入力
に適用される。
The B coefficient is transferred from the register 33 to the multiplexer.
41 through the Booth recorder 50 to the "B" operand input of array 38. The Δx condition on MA input 32 is applied to the "A" operand of array 38 through multiplexer 40.

【0025】またサイクル2の間に、アレイ38のBΔx
積は、BΔx+C条件を供給するためにけた上げ/保留
加算器(CSA) 53の中でレジスター34からのC係数と組み
合わされる。この出力はCSA 54に供給され、そこではア
レイ36のAΔx2 積にそれが付け加えられるのである
が、結果はレジスター47に記憶される。
Also during cycle 2, BΔx of array 38
The product is combined with the C coefficient from register 34 in a carry / hold adder (CSA) 53 to provide the BΔx + C condition. This output is provided to CSA 54, where it is added to the AΔx 2 product of array 36, but the result is stored in register 47.

【0026】理解されるようにx2 条件はけた上げ/保
留・フォーマットの中でCP加算器48を通じて通常のフォ
ーマットに変換すること無しに─というのはこれには追
加時間が必要となるからである─使用される。この能力
は、通常の二進法フォーマットあるいは詳細については
以下に述べるCSフォーマットのいずれかを受け入れる特
別なブースレコーダ論理 (これは演算数の一つに対する
全ての必要な情報を掛け算器アレイ36と38に供給する)
によって備えられるのである。
As will be appreciated, the x 2 condition is in carry / hold format without conversion through CP adder 48 to the normal format, since this requires additional time. Yes-used. This capability is provided by special Booth recorder logic that accepts either the normal binary format or the CS format described below in detail, which supplies all necessary information for one of the operands to the multiplier arrays 36 and 38. Do)
Be prepared by.

【0027】図7〜図13にて示された単一精度計算の三
番目のサイクルにおいては、演算数は多項式Ax2 +B
x+C回かけられる。これは多項式がまだCSフォーマッ
ト内にある時に行われ、再び解読時間を節約するのであ
る。単一精度の計算のためにはニュートン・ラフソン逐
次解法は必要とされない、なぜならば多項式がy条件に
よる1/x条件の掛け算に直接行ける精密さの必要水準
を与えてくれるからである。残りのサイクルに使用され
る制御信号は図9,図10, 図11, 図12に示されている。
In the third cycle of the single precision calculation shown in FIGS. 7 to 13, the number of operations is the polynomial Ax 2 + B.
It can be applied x + C times. This is done when the polynomial is still in CS format, again saving decoding time. The Newton-Raphson iterative solver is not needed for single-precision computations, because the polynomial provides the necessary level of precision that can be directly multiplied by the 1 / x condition by the y condition. The control signals used for the remaining cycles are shown in FIGS. 9, 10, 11 and 12.

【0028】二倍精度の割り算作動のためには、図14の
タイミングチャートで図示されているように、演算は三
番目のサイクル迄は同様に進む。三番目のサイクルで
は、ニュートン・ラフソン逐次解法が、多項式Ax2
Bx+C (CSフォームで) によって負のxの値をかける
ことにより始められる。逐次解法は必要な精密さを供給
するためサイクル4で完了する。次にサイクル5では演
算数yは1/xのニュートン・ラフソン近似値をかけら
れる。ここで二倍精度のためには本発明の多項式の使用
によって、ニュートン・ラフソン逐次解法はただ一度だ
け要求される。
For a double precision divide operation, the operation proceeds similarly until the third cycle, as illustrated in the timing chart of FIG. In the third cycle, the Newton-Raphson iterative method uses the polynomial Ax 2 +
Started by multiplying the negative x value by Bx + C (in CS form). The iterative solution method completes in cycle 4 to provide the required precision. Next, in cycle 5, the operation number y is multiplied by the Newton-Raphson approximation of 1 / x. Here, for double precision, the use of the polynomial of the present invention requires the Newton-Raphson iterative solution only once.

【0029】上記で参照されたブースレコーディング
は、A.D.ブース著「制定された二進法の掛け算技術」
(季刊誌、メカニカルアンドアプライドマスマティク
ス、4巻、パート2、1951年版) で論じられている。本
発明の論理はブースレコーディング論理がけた上げ/保
留・フォーマットで演算数を受けることができるように
するのである。このようにして、x2 及び他の条件にと
って更に下に述べるように、通常のフォーマットに入れ
る必要は無く、演算速度を上げるのである。
The booth recording referred to above is AD Booth's "Established Binary Multiplication Technique".
(Quarterly, Mechanical and Applied Massmatics, Vol. 4, Part 2, 1951 Edition). The logic of the present invention enables the Booth Recording logic to receive operands in a carry / hold format. In this way, there is no need to enter the normal format, as described further below for x 2 and other conditions, but to speed up the operation.

【0030】平方根の決定はまた多項式Ax2 +Bx+
Cを使用することによってなされるが、近似値計算には
x=0.5 から2.0 の間で1/√xカーブを用いる。512
の間隔が使用され、分離したROM 又は同じROM 30の分離
分野を用い、この逆数平方根近似値計算のための係数を
記憶するのである。実際の平方根は、上記の割り算手順
に似て、逆数にxをかけることにより、その逆数から決
定する。
The determination of the square root is also a polynomial Ax 2 + Bx +
This is done by using C, but the 1 / √x curve between x = 0.5 and 2.0 is used for the approximation calculation. 512
Intervals are used to store the coefficients for this reciprocal square root approximation calculation using separate ROMs or separate fields of the same ROM 30. The actual square root is determined from the reciprocal by multiplying it by x, similar to the division procedure above.

【0031】分割アレイ掛け算器 Ax2 とBx条件が上記で算出されるのが示されたが、
その方法は本発明のもう一つの面の利点を採っている。
これらの条件は1/xの単精度値を算出するのに使用さ
れる。この単精度結果は28ビットだけの精度で算出され
る、従って、算出に使用される値は28ビットを越える精
度を必要としない。Ax2 条件とBx条件の算出には各
々一度の掛け算演算が要求されるが、しかし再び、28ビ
ットのみの精度の結果が必要であるので、ただ28ビット
の精度を持つ演算数を使用しても良い。このようにし
て、これら二つの条件の算出には60×64アレイがフルに
要求されないのであり、そしてそれは、条件を同時に算
出できるように分割しても良い。図3〜図12で示された
特異な実施例がこれを図示しており、掛け算器アレイが
36,38の二つの副配列に分割されていて、各々は60ビッ
トMA演算数を持ち、そして各々36ビットと28ビットMB演
算数を持っている。二番目の多項式近似値計算の第二段
階の間に、積Ax2 は60×36副アレイで算出されると同
時にBxは60×28副アレイで算出され、アレイをフルに
使用して各々計算を行った場合に比べ全一サイクルの節
約となるのである。
Although the split array multiplier Ax 2 and Bx conditions have been shown to be calculated above,
That method takes advantage of another aspect of the invention.
These conditions are used to calculate the 1 / x single precision value. This single precision result is calculated with a precision of only 28 bits, so the values used for the calculation do not require a precision of more than 28 bits. Calculation of Ax 2 condition and Bx condition requires one multiplication operation each, but again, since the result of the precision of only 28 bits is required, use only the arithmetic number with the precision of 28 bits. Is also good. In this way, the full 60 × 64 array is not required to calculate these two conditions, and it may be split so that the conditions can be calculated simultaneously. The particular embodiment shown in FIGS. 3-12 illustrates this, where the multiplier array is
It is divided into two sub-arrays of 36 and 38, each with a 60-bit MA operand, and with a 36-bit and a 28-bit MB operand respectively. During the second stage of the second polynomial approximation calculation, the product Ax 2 is calculated on the 60 × 36 sub-array and at the same time Bx is calculated on the 60 × 28 sub-array, each using the full array. This saves a full cycle compared to the case where

【0032】一般に、多段階計算はしばしば他方の計算
結果に従属しない演算数を各々が持つ、二つの中間計算
を含む。もしそうならば、中間計算は、その結果と演算
数が何ビットの精度を必要としているかを見るために吟
味しなくてはならない。もし一つの中間計算の演算数に
必要とされるビット数に他の中間計算の演算数に必要と
されるビット数を加えた合計がアレイの中で利用出来る
最大ビット数を越えないならば、アレイは分割し、そし
て両方の中間計算は同時に行っても良い。同じ分析によ
ってもっと複雑な計算のために、アレイは三つあるいは
それ以上の計算を一度にこなすべく分割することができ
るということが示唆される。
In general, multi-stage calculations often involve two intermediate calculations, each having an operand that is independent of the result of the other calculation. If so, the intermediate calculation must be examined to see how many bits of precision the result and operand require. If the sum of the number of bits required for one intermediate computation operation plus the number of bits required for another intermediate computation operation does not exceed the maximum number of bits available in the array, The array may be split and both intermediate calculations may be done simultaneously. The same analysis suggests that for more complex calculations, the array can be split to handle three or more calculations at once.

【0033】アレイを分割することはかなり簡単であ
る、各々の副アレイ36と38は通常の独立した掛け算器ア
レイとして設計されている。分割アレイ演算のために各
々の副アレイはそれ故その演算数を供給され、そしてそ
の結果を通常の方法で配給する。副アレイをより大きな
一体化したアレイに組み合わせるために、論理では次の
ことをするよう与えられている。二つの演算数の一つを
各々の副アレイ全体に供給すること。他方の演算数は一
つが各々の副アレイ用として破片に分割される。この特
異な実施例では、演算数の断片化と供給はマルチプレク
サ41,51 及びブースレコーダ50によってなされる。これ
らの副アレイ36と38が算出する値は部分積として使用さ
れる。それらは前もって分割された全体の演算数の内で
その断片的演算数の最下位の数字の位置に従ってけた送
りされる。
Partitioning the array is fairly straightforward, each sub-array 36 and 38 is designed as a conventional independent multiplier array. For a split array operation, each sub-array is therefore supplied with its number of operations and distributes the result in the usual way. To combine the sub-arrays into a larger integrated array, logic is given to do the following: Supplying one of the two operands to each sub-array as a whole. The other operand, one is divided into pieces for each sub-array. In this particular embodiment, the fragmentation and provision of operands is done by multiplexers 41, 51 and Booth recorder 50. The values calculated by these sub-arrays 36 and 38 are used as partial products. They are digitized according to the position of the least significant digit of the fractional operand of the total number of operands previously divided.

【0034】図15,図16がこれを図示している。Aは64
ビット演算数であるBによって、60×28掛け算器アレイ
(38)と60×36掛け算器アレイ(36)を使用して掛け
れる、60ビットの演算数である。Aは60×28アレイ内
で88ビットの結果Cを創りだすためにBの最下位側28ビ
ットをかけられる。同時に、Aは60×36アレイ内で96ビ
ットの結果Dを創りだすためにBの最上位側36ビットを
かけられる。Dはそこで論理的には左に28ビット移動し
て (実際のハードウェアは配置を簡単にするためにCを
右に移動して、これを行う) ─ 124ビットFを創りだ
す。─その左96ビットはDの96ビットであり、そして一
番右28ビットはゼロ (E28…E1 )である。次にCとF
は結果Gを創りだすためにお互いに加えられる。図16は
CとDが部分積であるという事実を図示している、そし
てまた実際の別個のシフター無しにDは左移動方法によ
って加算器の入力に供給されることが出来る、あるいは
Cは右移動方法によって加算器の入力に供給されること
が出来るということを明らかにしている。
This is shown in FIGS. 15 and 16. A is 64
60 × 28 multiplier array by the bit operation number B
(38) and a 60 × 36 multiplier array (36) to multiply by 60 bits. A is multiplied by the least significant 28 bits of B to produce a 88 bit result C in a 60 × 28 array. At the same time, A is multiplied by the most significant 36 bits of B to produce a 96-bit result D in a 60 × 36 array. D then logically moves 28 bits to the left (the actual hardware does this by moving C to the right to simplify placement) -creating a 124-bit F. -The left 96 bits are 96 bits of D, and the rightmost 28 bits are zero (E 28 ... E 1 ). Then C and F
Are added to each other to produce the result G. Figure 16 illustrates the fact that C and D are partial products, and also D can be fed to the input of the adder by the left shift method without the actual separate shifter, or C is right. It makes clear that it can be fed to the input of the adder by a moving method.

【0035】この特異な実施例において、マルチプレク
サ42,43はアレイ36の入力44,45 にそれを適用すること
によってアレイ38の積のけた送りを行う。
In this particular embodiment, the multiplexers 42,43 perform the inversion of the array 38 by applying it to the inputs 44,45 of the array 36.

【0036】ブースレコーディング 掛け算の過程は二つの主要段階をもってして考えること
が出来、第一段階は部分積の生成であり、第二段階はこ
れらの部分積を減らして最終積にすることである。最初
二つの部分積を加えるのに一つの加算器が必要となり、
そして一般的には追加の各々の部分積に一つの追加の加
算器が必要となる。掛け算の最も簡単な形は掛け算器の
ビット毎の演算であり、そして掛け算器で各ビット毎に
一つの部分積を創ることである。
The process of Booth recording multiplication can be considered in two main stages: the first stage is the production of partial products, and the second stage is the reduction of these partial products into the final product. . First we need one adder to add the two partial products,
And generally one additional adder is required for each additional partial product. The simplest form of multiplication is the bitwise operation of the multiplier, and the multiplier creates one partial product for each bit.

【0037】これらのラインに沿ったn×mビット掛け
算器は付け加えるべきm個の部分積を生成する。簡潔な
一般例は図17の通りである。この掛け算器を作り上げる
ため、m個の加算器の一群が積を合計する。各部分積は
Aあるいは0いずれかであり、Bの個々のビットによっ
て決定される。この掛け算器は単純であるが、規模的に
コスト高であり、そしてm個の加算が積を生成するため
に必要となる。付け加えるべき部分積の数を減らすこと
は可能である。(但し、ブースレコーダを使用すること
によって)ブースレコーディングは掛け算器の中の1の
隣接する列と0の隣接する列を通して掛け算の過程をス
キップさせることが出来る、nビット掛け算器のため
に、n/2個を越える積は創らない。
The n × m bit multipliers along these lines produce m partial products to add. A brief general example is shown in Figure 17. To make up this multiplier, a group of m adders sums the products. Each partial product is either A or 0 and is determined by the individual bits of B. This multiplier is simple, yet costly in scale, and m additions are required to produce the product. It is possible to reduce the number of partial products to add. Booth recording (but by using a Booth recorder) can skip the multiplication process through adjacent columns of 1s and adjacent columns of 0s in the multiplier, for n-bit multipliers, n / Do not create more than 2 products.

【0038】もっと一般に使用されている修正されたブ
ースレコーディングは一度にビットのグループを重ね合
わせて処理し、グループ毎の新しいビットの数bは基数
bで表される。基数2b ブースレコーディングは(n
/b)+1個の部分積を生成し、そしてそれ自身を並列
ハードウェア装置に加えるのである。修正されたレコー
ディング方法はこれらの重なりあった、スタートするの
か続くのかあるいは1の列の端であるのかに基づいたグ
ループを符号化する。1の列の適切な終了を確実にする
ために、レコードする数に一つの最下位の0と少なくと
も一つの最上位の0を詰めねばならない。基数4
(22 )のブースレコーディングに各々のグループは3
ビットを持ち、二つは主要なものであり、それに右側
(上位でないもの)からの一つの重なりあうビットを加
えたものである。
The more commonly used modified Booth recording processes superimposing groups of bits at a time, the new number b of bits per group being represented by the radix 2 b . Radix 2 b Booth recording is (n
/ B) produces +1 partial products and adds itself to the parallel hardware device. The modified recording method encodes these overlapping groups based on whether they start, continue, or are the ends of a row. To ensure proper termination of a sequence of ones, the number to be recorded must be padded with one least significant zero and at least one most significant zero. Radix 4
(2 2 ) Booth recording, each group has 3
Bits, two are the major ones, plus one overlapping bit from the right (not the top).

【0039】図18(a) は如何に8ビットの符号のない番
号が、右に一つのゼロそして左に二つのゼロを詰められ
てグループにされているかを示し、図18(b) は如何に3
ビットグループが標準の基数4ブースレコーディングを
通じて符号化されているかを示している。図19(a) は三
つの入力r0 ,r1 及びr2 をブースレコーディング論
理が受け入れるというブロックダイアグラムを示してい
る。これらは図18(b)のビットyi-1 ,yi 及びyi+1
にそれぞれ対応している。だから、8ビットの数は五つ
の部分積が出来、四つの加算器が必要となる。図19(b)
は図19(a) の五つのブースレコーダがどのようにして図
18(a) の符号のない8ビットの数のためのブースレコー
ディング情報を算出するのに使用出来るのかを示してい
る。
FIG. 18 (a) shows how 8-bit unsigned numbers are grouped with one zero on the right and two zeros on the left, and FIG. 18 (b). To 3
It shows whether the bit groups are coded through standard radix-4 Booth recording. FIG. 19 (a) shows a block diagram in which the Booth recording logic accepts three inputs r 0 , r 1 and r 2 . These are bits y i-1 , y i and y i + 1 in FIG. 18 (b).
It corresponds to each. So an 8-bit number can produce 5 partial products, requiring 4 adders. Figure 19 (b)
Figure 19 (a) shows how the five booth recorders
It shows how it can be used to compute Booth recording information for an unsigned 8-bit number in 18 (a).

【0040】図20はA×Bの部分積の総計を図示してい
る。ここでBはmビットを持つ。m/2個のみの加算器
が必要とされることに注意。標準のブースレコーディン
グの限界的特徴はそれが二進法のフォーマットの数のみ
扱うということである。これは連続する掛け算を要求す
る演算における欠点であり、一つの掛け算の結果が次の
掛け算演算における演算数として使用されるのである。
一つの掛け算演算の部分積が最初に加算された時、結果
は最初はけた上げ/保留のような余計なフォーマットに
あるのである。この結果が標準のブースレコーディング
を経験する前にそれはCP加算器によって二進法フォーマ
ットに算入されねばならない─これは貴重な時間を消費
する。CP加算器は一番右の位置から一番左の位置への移
送を伝える必要があり、結果としてnビット数を二進法
のフォーマットに算入させるのにn回の遅れが出ること
になる。本発明のCP加算器はCP概算を100 ビット数を越
えて行わねばならない、即ち100 回を越えるCP加算伝達
遅れを意味する。一連の掛け算の各々の掛け算の後でそ
のようなCP加算を実行することは貴重な時間を消費する
ことになる。
FIG. 20 illustrates the total of A × B partial products. Here, B has m bits. Note that only m / 2 adders are needed. The limiting feature of standard booth recording is that it only deals with numbers in binary format. This is a drawback in operations that require successive multiplications, where the result of one multiplication is used as the number of operations in the next multiplication operation.
When the partial products of one multiply operation are added first, the result is initially in an extra format such as carry / hold. Before this result undergoes standard Booth recording it must be included in the binary format by the CP adder-this consumes valuable time. The CP adder must signal the transfer from the rightmost position to the leftmost position, resulting in n delays in including the n-bit number in the binary format. The CP adder of the present invention has to perform the CP estimation over a 100-bit number, that is, a CP addition transmission delay exceeding 100 times. Performing such a CP addition after each multiplication in a series of multiplications would be valuable time consuming.

【0041】連続する乗法計算の速度を大幅に上げる本
発明の一つの側面はブースレコーディング入力に供給す
る余剰フォーマット数の事前の符号化であるが、CP加算
器の長時間の遅れを要求しない、という方法である。本
発明のこの側面に従って回路はけた上げ/保留・フォー
マットの数を受入れ、それらを図19(a) にあるような標
準のブースレコーダのグループへの入力を創りだすよう
処理する。ブースレコーダは二進法というよりむしろけ
た上げ/保留・フォームで数字が論理の中間層によって
処理されるという点を除いて、基本的に図19(b) と同じ
方法で編成されている。論理のこの層は幾つかの同一の
ユニットで構成されており、けた上げ/保留レコードユ
ニットのようなもののための論理構成部品は図21で図示
され、一般に参照番号200 で示されている。
[0041] While one aspect of the present invention to increase significantly the speed of the successive multiplication calculations are pre-coding of the number of surplus format supplied to the Booth recoding the input does not require a long delay of the CP adders, Is the method. In accordance with this aspect of the invention, the circuit accepts a number of carry / hold formats and processes them to create an input to a group of standard booth recorders as in Figure 19 (a). The Booth Recorder is basically organized in the same manner as Figure 19 (b), except that the numbers are processed by a logical middle layer in a carry / hold form rather than a binary system. This layer of logic is made up of several identical units, and the logical components for such as carry / hold record units are illustrated in FIG. 21 and generally designated by the reference numeral 200.

【0042】けた上げ/保留レコーディング(CSR) 論理
の層は単純にけた上げ/保留数の対応する二進法フォー
マットを決定しない、というのは、それは未だけた上げ
/保留数のn個のペアに対してはn回遅れとなるからで
ある。むしろ、CSR ユニットは主要な考慮対象のけた上
げ/保留ビットの二つのペア(a1 0 に組合せたS1
0 及びb1 0 に組合せたC1 0 )を入力として受
入れ、そしてCSR ユニットの二つの入力CaとCbを右
(次に上位でないグループ)へ。各CSR ユニットは
0 ,r1 そしてr2 (ブースレコーディング論理によ
って必要とされる情報)を出力し、そしてまた次のCSR
ユニットによって必要とされる二つのビットCaアウト
とCbアウトを出力する。
The carry / hold recording (CSR) logic layer does not simply determine the corresponding binary format of the carry / hold number, because it is for n pairs of outstanding carry / hold numbers. Is delayed by n times. Rather, the CSR unit is composed of two pairs of carry / hold bits of primary interest (S 1 combined with a 1 a 0).
Accept C 1 C 0 ) combined with S 0 and b 1 b 0 ) as input, and the two inputs Ca and Cb of the CSR unit to the right (next higher group) Each CSR unit outputs r 0 , r 1 and r 2 (information needed by the Booth recording logic) and also the next CSR
It outputs the two bits Ca out and Cb out required by the unit.

【0043】論理はCbアウトはS1 0 とC1 0
総量によって決定されるように設計され、CaとCbか
らは完全に独立している。S1 0 とC1 0 の総量は
0から6の範囲であり得、Cbアウトは総量が1より大
きい時に設定される。CaアウトはS1 0 とC1 0
の総量及びCbによって決定設定される、Caアウトは
もし総量が6ならばあるいはCbが設定される総量が5
又は1の時に設定される。(これに関する数学的な正当
化は以下に説明する。)CaアウトはCbによって影響
されるが、Cbは完全に前のCSR ユニットによって、CS
R ユニットをそれよりもっと以前に参照すること無く
(より上位でないビットを取り扱う) 、決定された。又
Caは直接r0 に向けられ、それがそれの唯一の利用で
あることに留意すること。CSR ユニットは次にもっと上
記のブースレコーダのr0 入力に直接Caアウトを出力
するよう指示が出せ、そしてCSR ユニットは次にはCa
入力を必要としない。
The logic is that Cb out is designed to be determined by the sum of S 1 S 0 and C 1 C 0 and is completely independent of Ca and Cb. The total amount of S 1 S 0 and C 1 C 0 can range from 0 to 6, and Cb out is set when the total amount is greater than 1. Ca out is S 1 S 0 and C 1 C 0
Is determined and set by the total amount of Cb and Cb, if Ca is 6 or the total amount of Cb is 5
Or, it is set when 1. (The mathematical justification for this is explained below.) Ca out is affected by Cb, but Cb is completely CS by the previous CSR unit.
Without referring to the R unit much earlier
(Handling less significant bits) has been decided. Also note that Ca is directed directly to r 0 , which is its only use. The CSR unit can then instruct more directly to output Ca out to the booth recorder's r 0 input, and the CSR unit can then output Ca out.
No input required.

【0044】CSR ユニットはそのCbアウトを算出する
前に有効なCaを持つ必要はない。従って各CSR ユニッ
トはそれに隣合うユニットで発生する入力のみを待てば
良い。幾つのビットが含まれていようと、どれだけのCS
R ユニットが一緒に連結されていようと問題ではなく、
ブースレコーダによって必要とされる情報を算出するの
に必要な全ての入力を各CSR ユニットが持つ前には合計
でたった一つのCSR ユニット伝達遅れがあるだけであ
る。
The CSR unit does not have to have valid Ca before calculating its Cb out. Therefore, each CSR unit need only wait for the input that occurs in the unit next to it. No matter how many bits are included , how many CS
It doesn't matter if the R units are linked together,
There is only one CSR unit propagation delay in total before each CSR unit has all the inputs needed to calculate the information needed by the booth recorder.

【0045】図22は如何にしてけた上げ/保留レコーダ
とブースレコーダが8組のけた上げ/保留ビットからな
る数のためのブースレコーディング情報を供給すべく組
み合わされるかを図示している。けた上げ/保留レゴー
ダは又けた上げビットをゼロに設定することによって通
常の二進法の数を処理することが出来る。
FIG. 22 illustrates how a carry / hold recorder and a booth recorder are combined to provide booth recording information for a number of eight carry / hold bits. The carry / hold reorder can also handle normal binary numbers by setting the carry bit to zero.

【0046】図21の回路はCSR ユニットが基数4のブー
スレコーディング論理に入力を供給出来る唯一の可能な
回路である。以下で明らかになるように、CaとCb出
力は異なって発生することができる。そしてCSR ユニッ
トは又、基数8、16等を持つブースレコーディング論理
のために構成することが出来る。
The circuit of FIG. 21 is the only possible circuit where the CSR unit can provide input to the radix-4 Booth recording logic. As will become apparent below, Ca and Cb outputs can occur differently. And the CSR unit can also be configured for booth recording logic with radix 8, 16, etc.

【0047】本発明のこの側面の演算理論を理解するた
めに、基数4のブースレコーディングを使用する。そし
て図18(b) の情報を表現する代案としては、yi+1 ビッ
トは−2のウェイトを、yi ビットは1のウェイトを、
そしてyi-1 ビットもまた1のウェイトを持っていると
いうことに留意しなくてはならない。(基数2b のブー
スレコーディングのためにはビットyi-1 は+1のウェ
イトを持っており、ビットyi+b-1 は−2b-1 のウェイ
トを持ち、そしてビットyi+j (ここで0≦j≦(b−
2))は2j のウェイトを持っている。
To understand the arithmetic theory of this aspect of the invention, we use radix-4 Booth recording. Then, as an alternative for expressing the information in FIG. 18 (b), y i + 1 bit has a weight of −2, y i bit has a weight of 1, and
And it has to be noted that the y i -1 bits also have a weight of 1. (For radix 2 b Booth recording, bit y i-1 has a weight of +1, bit y i + b-1 has a weight of -2 b-1 , and bit y i + j ( Where 0 ≦ j ≦ (b−
2)) has a weight of 2 j .

【0048】ブースレコード4けた上げ/保留ビットペ
アへの直接的な方法は図23(a) で示されている。けた上
げ/保留ビットはキャリーインCinとキャリーアウトC
outを持つ4ビット加算器200 に送り込まれ、そしてT
0 からT3 迄のビットの総量が標準的な方法でブースレ
コーダ100 に供給される。図23(b) で非常に良く似た手
段が示されており、そこでは中間キャリーCを持つ二台
の2ビット加算器が使用されている。この中間キャリー
CはまだCinに頼っており、だからこの配置では伝達遅
れは節約されない。
The direct method to the Booth Record 4 carry / hold bit pair is shown in FIG. 23 (a). Carry-in / hold bits are carry-in C in and carry-out C
fed into the 4-bit adder 200 with out, and T
The total amount of bits from 0 to T 3 is supplied to the booth recorder 100 in a standard manner. A very similar means is shown in Figure 23 (b), where two 2-bit adders with an intermediate carry C are used. This intermediate carry C still relies on C in , so no propagation delay is saved in this arrangement.

【0049】しかしながら、中間キャリーCを予断的キ
ャリーにすることは可能である。それは、予断的キャリ
ーはキャリーインを参照すること無しに二つの余分なフ
ォーマットビットを付け加えることにより完全に決定さ
れよう。勿論、予断的キャリーは必ずしもいつも真のキ
ャリーに対応するとは限らないが、訂正することは出来
る。これはなぜなら、yi 位置に付け加えられるキャリ
ーは、同じウェイトを運びそしてyi-1 が入力r0 にす
るように最終積に対して同じ正味の効果を持っているか
らである。(異なったブースレコーディング出力が生成
されようとも、ブースレコーディング出力の正味効果は
同じであろう。)
However, it is possible to make the intermediate carry C a predictive carry. It will be determined entirely by preemptive carry by adding two extra format bits without reference to carry-in. Of course, predictive carry does not always correspond to true carry, but it can be corrected. This is because the carry added to the y i position carries the same weight and has the same net effect on the final product so that y i-1 makes input r 0 . (The net effect of the booth recording output will be the same, even if different booth recording outputs are generated.)

【0050】次にもっと上位のブースレコーダの重なり
アウトビットyi-1 を訂正的に使用するためには、しか
しながら、現在のブースレコーダのyi+1 入力r2 に行
くT1 出力から切り離さなくてはならない。これは図24
に示されており、そこではけた上げ/保留レコーダ(CS
R) ユニット200 が図23(b) の2ビット加算器210 と置
き代わっている。これらのCSR ユニットはT1 とT0
総量を発生させ、次にもっと上位のユニットでキャリー
インとして使用される予断的キャリーCbアウトも、そ
して訂正的キャリーあるいは次にもっと上位のブースレ
コーディングへのyi-1 入力として使用されるT1 出力
から切り離された重なりあうビットCaアウトも発生さ
せる。
Next, in order to use the overlapping out-bits y i-1 of the higher booth recorders correctively, however, without disconnecting from the T 1 output going to the y i + 1 input r 2 of the current Booth recorder. must not. This is Figure 24
The carry / hold recorder (CS
R) Unit 200 replaces 2-bit adder 210 in Figure 23 (b). These CSR units generate a total of T 1 and T 0 , and then also a pre-determined carry Cb-out, which is used as a carry-in in the higher order unit, and a corrective carry or next higher booth recording. It also produces an overlapping bit Ca out, which is decoupled from the T 1 output used as the y i-1 input.

【0051】図23(b) の配置ではキャリーCもT1 ビッ
ト (次にもっと上位のブースレコーダへのyi-1 入力と
して組み合わされる) は同じウェイト(+1)を持って
いるということを念頭に置いて我々はそれらの結合した
効果を三つの場合にグループ化出来る。 (A)真のキャリー、T1 の両方とも+1である(結合
ウェイト+2) (B)真のキャリーあるいはT1 の一方が+1である
(ウェイト+1) (C)真のキャリーもT1 も+1のウェイトを有しない
(結合ウェイト+0) 場合である。従って、予断的キャリーCbアウトと訂正
的キャリーCaアウトはこれらの場合に正しい結合ウェ
イトを創生させるような形で生成されるのである。予断
的キャリーCbアウトは、ケース(A)(キャリーイン
次第だが)の結果となるようなa1 1 0 0 の配置
で生成されねばならないし、ケース(C)の結果となる
ようにいかなる配置でも生成出来ないし、さもなければ
任意に生成することが出来る。訂正的キャリーCaアウ
トは実際の結果として生じるケース(A),(B)ある
いは(C)次第であって、対応する結合ウェイト各々
(+2),(+1),(+0)がCaアウトとCbアウ
トを一緒にして生成されるであろう。
Keeping in mind that in the arrangement of FIG. 23 (b), carry C also has the same weight (+1) for the T 1 bit (which is then combined as the y i-1 input to the higher order Booth recorder). We can group their combined effects in three cases. (A) Both true carry and T 1 are +1 (combined weight +2) (B) Either true carry or T 1 is +1 (weight +1) (C) Both true carry and T 1 are +1 This is the case where the weight is not included (combined weight +0). Therefore, the predictive carry Cb out and the corrective carry Ca out are generated in these cases so as to generate the correct connection weight. Preliminary carry Cb out must be generated with an arrangement of a 1 b 1 a 0 b 0 that results in case (A) (depending on carry in), and as a result of case (C). It cannot be created in any arrangement, or it can be created arbitrarily. Corrective carry Ca out depends on the actual result case (A), (B) or (C), and the corresponding connection weights (+2), (+1), (+0) are Ca out and Cb out respectively. Will be generated together.

【0052】かくして図21の回路のキャリー生成概要が
理解出来るのである。上述のように、この回路はS1
0 とC1 0 の総量が2,3,4,5あるいは6のとき
はいつもCbアウト信号を生成するのである。Cbにお
けるキャリーが設定されていない場合の総量1のように
0の総量では、必ず上記ケース(C)の結果となる。だ
からCbアウトは生成されてはならないのである。総量
5の時にそうであるように総量6の時は必ずケース
(A)の結果となる。だからCbアウトはこれらのため
に生成されなくてはならない。総量2,3,あるいは4
の時は必ずケース(B)の結果となり、そしてCbアウ
トは設定される。Caアウトは次にキャリーインCbの
効果を考慮に入れ、そして結果がケース(A)の場合あ
るいは結果がケース(B)でCbアウトが設定されなか
った場合のいずれの場合でも設定される。Cbが設定さ
れている時で総量6あるいは5の時は結果はケース
(A)となり、だからこれらのためにCaアウトが設定
される。また、Cbが設定されている時で総量1の時は
結果はケース(B)となる、そしてCbアウトが総量1
のために設定されなかった場合Caアウトは設定され
る。他の全ての状況ではCaアウトは設定されない。上
に述べたように、ケース(A),(B)及び(C)のた
めに正しいウェイトが結果として成る限り、様々な他の
キャリー生成案を使用する事が出来る。図21の特異なキ
ャリー生成案は回路のレイアウトを簡単にしている。
Thus, the outline of carry generation of the circuit of FIG. 21 can be understood. As mentioned above, this circuit uses S 1 S
Whenever the total amount of 0 and C 1 C 0 is 2, 3, 4, 5 or 6, the Cb out signal is generated. A total amount of 0, such as the total amount 1 when the carry in Cb is not set, always results in the above case (C). So no Cb out should be generated. As in the case of the total amount 5, the result of the case (A) always occurs when the total amount is 6. So Cb out must be generated for these. Total 2, 3, or 4
, The result of case (B) will always occur, and Cb out will be set. Ca out then takes into account the effect of carry-in Cb and is set whether the result is case (A) or the result is case (B) and Cb out was not set. When Cb is set and the total amount is 6 or 5, the result is case (A), so Ca out is set for these. When Cb is set and the total amount is 1, the result is case (B), and Cb out is the total amount 1
Ca Out is set if not set for. In all other situations Ca out is not set. As mentioned above, various other carry generation schemes can be used as long as the correct weights result for cases (A), (B) and (C). The unique carry generation scheme in Figure 21 simplifies the circuit layout.

【0053】この案は、今、予断的キャリーとブースレ
コーディング論理の入力を生成するためにbビット加算
器をbビットCSR ユニットに置き換える事が一般化する
事が出来る。一般化された案は同じウェイトをもつ同じ
三つのケースを持つ。再び、ケースは余分なフォーマッ
トビットにキャリーインを加えた最終合計総量Tsumに
よって決定される。ケース(A)はTsum ≧2b (真の
キャリーアウトが存在する)とTb-1 (重なりあうビッ
トに対応する)の両方が設定されているという場合に起
こる。ケース(B)は正確にこれらの条件のひとつが真
実である時に起こり、そしてケース(C)はそれらのど
ちらも真実でない場合に起こるのである。
This scheme can now be generalized to replace the b-bit adder with a b-bit CSR unit to generate inputs for pre-determined carry and Booth recording logic. The generalized scheme has the same three cases with the same weight. Again, the case is determined by the final total amount Tsum plus carry-in plus extra format bits. Case (A) occurs when both Tsum ≧ 2 b (there is a true carry out) and T b−1 (corresponding to overlapping bits) are set. Case (B) occurs when exactly one of these conditions is true, and case (C) occurs when neither of them is true.

【0054】もし今我々がこれらの一般化された規則を
3ビットCSR ユニットに適用するならば、図25の回路が
構築され、そこでは3ビットCSR ユニットは要求される
ゼロを詰めて、けた上げ/保留フォーマットの16ビット
数をブースレコードするために基数8のブースレコーダ
と共に使用される。ケース(A)はTsum ≧8且つT2
が設定されている場合に起こる。ケース(C)はTsum
<4の時に起こり、ケース(B)は他の全ての時に起こ
る。3ビットCSR ユニットは図21の2ビットCSR ユニッ
トと同じ線に沿って設計されており、a2 1 0 とb
2 1 0 (けた上げ/保留入力)の総量が3よりも大
きい時にいつでもCbアウトを生成する。Caアウトは
Cbが設定されている時で総量が14、13、12、あるいは
11の時には何時も生成され、全てはケース(A)に対応
している。あるいはCbが設定されていて総量が3の場
合、Cbアウトが設定されていないケース(B)に対応
する。
If we now apply these generalized rules to a 3-bit CSR unit, the circuit of Figure 25 is constructed, where the 3-bit CSR unit is padded with the required zeros and carried up. Used in conjunction with a radix-8 booth recorder to booth record 16-bit numbers in / reserved format. Case (A) has Tsum ≧ 8 and T 2
Occurs when is set. Case (C) is Tsum
<4, case (B) occurs at all other times. The 3-bit CSR unit is designed along the same line as the 2-bit CSR unit in Figure 21: a 2 a 1 a 0 and b
Generate a Cb out whenever the total amount of 2 b 1 b 0 (carry / hold input) is greater than 3. Ca out is when Cb is set and the total amount is 14, 13, 12, or
It is always generated at 11 and all correspond to case (A). Alternatively, when Cb is set and the total amount is 3, it corresponds to the case (B) where Cb out is not set.

【0055】CSR ユニットはこのようにして加算器が要
求するような伝達遅延をまるまる要求することなくけた
上げ/保留フォーマットの数字をブースレコーディング
論理に適用するのに加算器と置き換えられるのである。
CSR ユニットは、これは最も効率的とはいえないが、他
の規模のCSR ユニットあるいは加算器を入り交じえる事
さえ可能である。唯一の重要な要求はCbアウトキャリ
ーがブースレコーダのyi 入力と対応する事、そしてCa
訂正器が、そのブースレコーダの重なりあう(yi-1
ビットと組になるという事である。丁度可能な異なった
配列の例として図26では、けた上げ/保留フォーマット
の100 ビット数のために基数4のブースレコーダ100 に
入力を供給するために1ビットCSR ユニット300 が2ビ
ット加算器310 と3ビット加算器320 に結合されてい
る。もし加算器のみが使用されCSRユニットが一つも使
用されないならば、100CP 加算伝達が必要となる。CSR
ユニット300 の使用によって、数の中間で予断的キャリ
ーが生成され、伝達遅れを事実上に半分に減らすのであ
る。CSR ユニット300 の一つの可能な案が図27に示され
ている。この伝達遅れを半分に減少させる事は予断的キ
ャリーの力を示唆しているのである。
The CSR unit is thus replaced by an adder for applying numbers in carry / hold format to the Booth recording logic without requiring any transmission delay as required by the adder.
The CSR unit, although this is not the most efficient, can even mix CSR units or adders of other sizes. The only important requirement is that the Cb out carry correspond to the y i input of the booth recorder, and Ca
Corrector overlaps the booth recorders (y i-1 )
It means to be paired with a bit. As an example of a different arrangement that is just possible, in Figure 26, a 1-bit CSR unit 300 and a 2-bit adder 310 to supply input to a radix-4 Booth recorder 100 for a 100-bit number in carry / hold format. It is coupled to the 3-bit adder 320. If only the adder is used and no CSR unit is used, then 100 CP add transfer is required. CSR
The use of unit 300 creates a premature carry in the middle of the number, effectively reducing the propagation delay by half. One possible alternative for CSR Unit 300 is shown in Figure 27. Reducing this transmission delay by half suggests the power of a predictive carry.

【0056】IEEEの正確な丸め 本発明の好ましい実施例はIEEEに正確な丸めを供給する
事に向けて、もう一つの側面を組み入れている。この事
によって、我々はANSI/IEEE 規格754 、1985年版で公布
された要求に合致する丸めを意味している。IEEE規格は
浮動点数字のために二つのフォーマットを公布している
−単精度及び二倍精度である。浮動点数字には指数部分
eと端数部分fがあって、そしてそれらの大きさはfx2
e として表す事が出来る。ここで、fは1.f1 2
3 ・・・fn を、nは端数部分のビット数を表してい
る。単精度数は端数部分に23ビットを持ち、二倍精度数
は端数部分に52ビットを持つ。
IEEE Accurate Rounding The preferred embodiment of the present invention incorporates another aspect towards providing IEEE precise rounding . By this we mean rounding that meets the requirements promulgated in ANSI / IEEE Standard 754, 1985. The IEEE standard promulgates two formats for floating point numbers-single precision and double precision. Floating point numbers have an exponent part e and a fractional part f, and their size is fx2.
It can be represented as e . Here, f is 1. f 1 f 2 f
3 ... f n , where n represents the number of bits in the fractional part. Single-precision numbers have 23 bits in the fractional part, and double-precision numbers have 52 bits in the fractional part.

【0057】IEEE規格は一般に丸めを無限に精密である
数としてみなし、一方結果は不正確であると警告しなが
ら、もし必要ならばそれを目的のフォーマットに合うよ
うに修正すると記述している。数学的演算の大半はあた
かも中間結果が最初に無限の精密さと境界の無い範囲で
創りだされる、そしてそれは丸めモードのセットの一つ
に従って丸められているかのように実行される事が要求
されている。
The IEEE standard generally considers rounding as a number that is infinitely precise, while warning that the result is inexact, stating that if necessary it will be modified to fit the desired format. Most of the mathematical operations require that the intermediate result be first created with infinite precision and boundless bounds, and that it be performed as if it were rounded according to one of a set of rounding modes. ing.

【0058】最初の丸めモードは一番近い丸めと呼ばれ
ている。このモード下では無限に精密な結果に最も近い
代表できる値が与えられる。もし二つの代表できる一番
近い値が同等に近い場合には、最下位ビットゼロを持つ
ものが与えられる。又三つの、ユーザーが選択できる丸
めモードがある:+無限大に向かう丸め−この場合、結
果はフォーマットの一番近い値で、無限に精密な結果以
下でないものである;−無限大に向かう概算−この場
合、結果はフォーマットの一番近い値で、無限に精密な
結果を越えないものである;そしてゼロへの丸め−この
場合、結果はフォーマットに一番近い値で、無限に精密
な結果の大きさを越えないものである。
The first rounding mode is called the closest rounding. Under this mode, an infinitely accurate representative value that is closest to the result is given. If the two nearest representative values are close to equal, the one with the least significant bit zero is given. There are also three user-selectable rounding modes: + Rounding towards infinity-where the result is the closest value in the format, not less than the infinitely precise result; -Approximate towards infinity -In this case, the result is the closest value in the format, which does not exceed the infinitely precise result; and rounding to zero-in this case, the result is the closest value in the format, infinitely precise result It does not exceed the size of.

【0059】IEEE規格は単精度及び二倍精度数に対し同
じ方法を適用している;参照点は何時も目的のフォーマ
ットの最下位ビットである。単一精度数にとってはこれ
は23番目のビットであり、二倍精度数にとっては52番目
のビットである。議論を容易にするためこれらの二つの
ケースは区別しない、そして“LSB ”という用語は適切
なフォーマットの最下位ビットを意味するものとする。
また、些細な例外を除けば丸め手順は平方根を算出する
のと同じように割り算についても同じである。だから、
商に向けられた全ての議論はまた注をした場合を除いて
平方根についても適用される。
The IEEE standard applies the same method for single and double precision numbers; the reference point is always the least significant bit of the target format. For single precision numbers this is the 23rd bit and for double precision numbers it is the 52nd bit. For ease of discussion, these two cases are not distinguished, and the term "LSB" shall mean the least significant bit of the appropriate format.
Also, with minor exceptions, the rounding procedure is the same for division as it is for square root. So
All arguments directed to the quotient also apply to the square root except where noted.

【0060】一番近い丸めのためには、最悪の場合、本
発明では実の商は1/2 LSB 点の丁度下におちているの
か、丁度その上かあるいは直接その上にあるのかを決定
する必要がある。他の丸めモードで最悪の場合、本発明
では実の商はLSB 点の丁度下におちているのか、丁度そ
の上かあるいは直接その上にあるのかを決定する必要が
ある。これは1/2 LSB 点のサブセットであり、ここでは
1/2 LSB でのビットの値がゼロである。だから、実の商
と1/2 LSB 点との関係を決定するのに全ての丸めモード
を行う事を許容する事になろう。
For the closest rounding, in the worst case, the present invention determines whether the actual quotient falls just below the 1/2 LSB point, just above it, or directly above it. There is a need to. In the worst case of the other rounding modes, the present invention needs to determine whether the real quotient falls just below the LSB point, just above it, or directly above it. This is a subset of 1/2 LSB points, where
The value of the bit at 1/2 LSB is zero. So we will allow all rounding modes to determine the relationship between the real quotient and the 1/2 LSB point.

【0061】どの様な計算がなされようと、本発明はLS
B よりも数ビット上位でない正確さである最初の結果を
算出する。この点で商はオリジナルの計算された商Q0
を生成するために1/4 LSB で断ち切ってある。エラーは
εの用語とし、そして等式Qr =Q0 −ε1 を通じて定
義される。ここにおいてQrは真の商である。データパス
は|ε|<1/4 LSB のようにして実行される。それは又
エラーの大きさはそれよりも小さい事、しかしその記述
は明確に真実を保持する、だから、−1/4 LSB<ε<+1
/4 LSB である。
Whatever calculation is performed, the present invention uses LS
Compute the first result with an accuracy that is not a few bits higher than B. At this point the quotient is the original calculated quotient Q 0
Truncated at 1/4 LSB to generate Error is termed ε and is defined through the equation Q r = Q 0 −ε 1 . Here Qr is the true quotient. The data path is implemented as | ε | <1/4 LSB. It is also that the magnitude of the error is smaller than that, but the description clearly holds the truth, so -1/4 LSB <ε <+1
/ 4 LSB.

【0062】今、1/4 LSB の更なるエラーが故意に、計
算された商QC を創りだすためにQ0 に1/4 LSB を加え
る事によって導かれる。εの範囲は今、0<ε<1/2 LS
B である。これは今計算された商が厳密に実の商よりも
大きい事を保証している。我々は今、真の商を見つける
ためにどこを『見れば良いか』というより良い考えを持
っているのである。
Now, a further error of 1/4 LSB is deliberately introduced by adding 1/4 LSB to Q 0 to create the calculated quotient Q C. The range of ε is now 0 <ε <1/2 LS
It is B. This guarantees that the quotient now calculated is strictly larger than the actual quotient. We now have a better idea of where to look to find the true quotient.

【0063】記録の目的のために、NをLSB の最下位の
そのビットが0であれ1であれどんな数でもよいことに
する。我々は今一般的な説N≦QC <N+1(ここで単
位は一つのLSB であると理解され今後そうする事とす
る)。これは二つのケースに分けられる。一つは(1)
N≦QC <N+1/2 でありそしてもう一つは(2)N+
1/2 ≦QC <N+1である。これらを個別に考えてみよ
う。
For purposes of recording, let N be any number whose least significant bit of the LSB is 0 or 1. We now general theory N ≦ Q C <N + 1 ( where units are understood to be one of the LSB and doing so in the future). This can be divided into two cases. One is (1)
N ≦ Q C <N + 1/2 and the other is (2) N +
1/2 ≦ Q C <N + 1. Let's consider each of these individually.

【0064】全ての場合に於いて、0≦ε<1/2 、だか
らケース(1)の場合はN−1/2 <Qr <N+1/2 であ
る。上記から決定するのに必要な全ては、1/2 LSB 点に
関連してQr の立脚地である。この範囲に於けるそのよ
うな唯一の点は、Nにおいてである。ケース(1)のQ
C の範囲に留意の事:その中に含まれる唯一の1/2 LSB
点もまたNにある。だから、QC はNに等しいQt を生
成して1/2 LSB 点で断ち切られるのである。
In all cases, 0.ltoreq..epsilon. <1/2, so in case (1) N-1 / 2 < Qr <N + 1/2. All that is needed to determine from the above is the grounding of Q r with respect to the 1/2 LSB point. The only such point in this range is at N. Q of case (1)
Note the range of C : the only 1/2 LSB contained in it.
The point is also at N. So, Q C is of being cut off by 1/2 LSB point to generate equal Q t in N.

【0065】ケース(2)の場合、N+1/2 ≦QC <N
+1であり、Qr の範囲はN<Qr<N+1である。こ
の範囲に於ける唯一の1/2 LSB 点はN+1/2 LSB であ
る。再び、これは又QC の範囲内に於ける唯一の1/2 LS
B 点である事、従って、QC はN+1/2 LSB に等しいQ
t を生成するために1/2 LSB 点で断ち切られるという事
に留意する事。ケース(1)ケース(2)共にQr が比
較されねばならない臨界値はQt を生成するために1/2
LSB 点でQC を断ち切る事によって得られるという事が
分かるのである。
In case (2), N + 1 / 2≤Q C <N
+1 and the range of Q r is N <Q r <N + 1. The only 1/2 LSB point in this range is N + 1/2 LSB. Again, this is also the only 1/2 LS within Q C
It is point B, so Q C is equal to N + 1/2 LSB Q
Note that it is cut off at the 1/2 LSB point to generate t . In both case (1) and case (2), the critical value that Q r must be compared with is 1/2 to generate Q t.
It is know fact that is obtained by cutting off the Q C in LSB points.

【0066】一旦この臨界値が確認されれば、それに対
するQr の関係は部分剰余PRを算出する事により決定す
る事が出来る。割り算のためには、PR=y−x・Qt
平方根のためには、PR=x−Qt ・Qt である。もしPR
=0ならば、Qr =Qt である。もしPR<0ならば、Q
t −1/2 <Qr <Qt である。
Once this critical value is confirmed, the relationship of Q r to it can be determined by calculating the partial remainder PR. For division, PR = y−x · Q t ;
For the square root is a PR = x-Q t · Q t. If PR
If = 0, then Q r = Q t . If PR <0, then Q
t −1/2 <Q r <Q t .

【0067】もしPR>0ならば、Qt <Qr <Qt +1/
2 である。
If PR> 0, then Q t <Q r <Q t + 1 /
It is 2.

【0068】x・Qt の掛け算のためには、結果の全て
の上位のビットはyと比較のため保持され、そしてyは
x・Qt 積と同じ規模にするために、十分により上位で
ない数でゼロを詰め込まれる。それ故全ての場合に於い
て、Qr は1/2 LSB 点の丁度下にあるのか、正確に丁度
その上にあるのか、あるいは丁度その上方にあるのかを
決定する事が出来、その事はIEEEの正確な丸めのために
十分な情報を供給するのである。
For multiplication of x · Q t , all the high order bits of the result are kept for comparison with y, and y is not sufficiently higher order to be the same size as the x · Q t product. The number is zero-padded. Therefore, in all cases it is possible to determine whether Q r is exactly below the 1/2 LSB point, exactly above it, or just above it. It provides enough information for the IEEE's exact rounding.

【0069】上記の説明は、説明的なものであって限定
的なものではないという事を理解すべきである。多くの
実施例が上記の説明を精査すればこの技術に熟練した者
にとって、明らかになるであろう。この発明の範囲は、
従って、付加された請求範囲を参照し、そのような請求
範囲が権利を付与されている同等の全範囲に沿って決定
されるのである。
It should be understood that the above description is illustrative and not restrictive. Many examples will be apparent to those of skill in the art upon reviewing the above description. The scope of this invention is
Accordingly, reference is made to the appended claims and such claims are determined along with their full scope of equivalents to which they are entitled.

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

【図1】本発明を組み入れたチップ電子部品の全体のブ
ロックダイヤグラムである。
FIG. 1 is an overall block diagram of a chip electronic component incorporating the present invention.

【図2】多項式Ax2 +Bx+Cのための係数の選択を図解
するグラフである。
FIG. 2 is a graph illustrating the selection of coefficients for the polynomial Ax 2 + Bx + C.

【図3】本発明に従った多項式計算のために使用される
論理を図解したブロックダイヤグラムである。
FIG. 3 is a block diagram illustrating the logic used for polynomial calculations according to the present invention.

【図4】本発明に従った多項式計算のために使用される
論理を図解したブロックダイヤグラムである。
FIG. 4 is a block diagram illustrating the logic used for polynomial calculations according to the present invention.

【図5】本発明に従った多項式計算のために使用される
論理を図解したブロックダイヤグラムである。
FIG. 5 is a block diagram illustrating the logic used for polynomial calculations according to the present invention.

【図6】本発明に従った多項式計算のために使用される
論理を図解したブロックダイヤグラムである。
FIG. 6 is a block diagram illustrating the logic used for polynomial calculations according to the present invention.

【図7】本発明に従った多項式計算のために使用される
論理を図解したブロックダイヤグラムである。
FIG. 7 is a block diagram illustrating the logic used for polynomial calculations according to the present invention.

【図8】本発明に従った多項式計算のために使用される
論理を図解したブロックダイヤグラムである。
FIG. 8 is a block diagram illustrating the logic used for polynomial calculations according to the present invention.

【図9】本発明に従った多項式計算のために使用される
論理を図解したブロックダイヤグラムである。
FIG. 9 is a block diagram illustrating the logic used for polynomial calculations according to the present invention.

【図10】本発明に従った多項式計算のために使用され
る論理を図解したブロックダイヤグラムである。
FIG. 10 is a block diagram illustrating the logic used for polynomial calculations according to the present invention.

【図11】本発明に従った多項式計算のために使用され
る論理を図解したブロックダイヤグラムである。
FIG. 11 is a block diagram illustrating the logic used for polynomial calculations according to the present invention.

【図12】本発明に従った多項式計算のために使用され
る論理を図解したブロックダイヤグラムである。
FIG. 12 is a block diagram illustrating the logic used for polynomial calculations according to the present invention.

【図13】単精度数字のための、多項式計算の異なった
サイクルの間に行われる演算を図示するタイミングチャ
ートである。
FIG. 13 is a timing chart illustrating operations performed during different cycles of a polynomial calculation for single precision numbers.

【図14】二倍精度数字のための多項式計算を図示する
タイミングチャートである。
FIG. 14 is a timing chart illustrating a polynomial calculation for double precision numbers.

【図15】ブロックダイヤグラムと、より大きな掛け算
の部分積を算出する二つの副アレイ掛け算器の使用を数
学的に提示した図である。
FIG. 15 is a block diagram and a mathematical presentation of the use of two sub-array multipliers to calculate a larger partial product.

【図16】ブロックダイヤグラムと、より大きな掛け算
の部分積を算出する二つの副アレイ掛け算器の使用を数
学的に提示した図である。
FIG. 16 is a mathematical presentation of a block diagram and the use of two sub-array multipliers to calculate the partial product of a larger multiplication.

【図17】マルチプレクサと加算器のMペアからなる、
先行技術のNxM掛け算器の図である。
FIG. 17 consists of M pairs of multiplexers and adders,
FIG. 3 is a diagram of a prior art NxM multiplier.

【図18】(a)は如何にして8ビットの符号のない番
号がゼロを詰め込まれて基数4のブースレコーディング
にグループ化されるかを示す説明図、(b)は如何にし
て3ビットのグループが標準的な基数4のブースレコー
ディングを通じて符号化されるかを示す図である。
FIG. 18 (a) is an illustration showing how 8-bit unsigned numbers are padded with zeros and grouped into a radix-4 Booth recording; FIG. 18 (b) is a 3-bit representation. FIG. 6 is a diagram illustrating whether a group is encoded through standard radix-4 Booth recording.

【図19】(a)は基数4のブースレコーダを代表する
ブロックダイヤグラム、(b)は8ビットの符号のない
番号Bのブースレコーディング情報を算出出来るように
配列された図19(a)の5つのブースレコーダの図で
ある。
19 (a) is a block diagram representing a Booth recorder of radix 4; FIG. 19 (b) is a block diagram of FIG. 19 (a) arranged so that Booth recording information of number B without 8-bit code can be calculated. It is a figure of one booth recorder.

【図20】如何にして掛け算器が5組の入力マックスと
加算器によって構成されるか、基数4のブースレコーデ
ィング情報によって制御されるかを示す説明図である。
FIG. 20 is an explanatory diagram showing how a multiplier is composed of five sets of input muxes and adders, and is controlled by Booth recording information of radix 4.

【図21】けた上げ/保留レコーダのブロックダイヤグ
ラムである。
FIG. 21 is a block diagram of a carry / hold recorder.

【図22】8つのけた上げ/保留符号のない番号Bのブ
ースレコーディング情報を算出できるようにけた上げ/
保留レコーダとブースレコーダの配列されているブロッ
クダイヤグラムである。
FIG. 22: Carry / carry in order to be able to calculate booth recording information of number B without eight carry / hold codes
It is a block diagram in which a hold recorder and a booth recorder are arranged.

【図23】4ビットと2ビットの加算器がそれぞれけた
上げ/保留フォーマットをブースレコーダに適用すべく
使用されるブロックダイヤグラムである。
FIG. 23 is a block diagram in which 4-bit and 2-bit adders are used to apply carry / hold formats to a booth recorder, respectively.

【図24】図23の2ビット加算器を2ビットのけた上
げ/保留レコーダに置き換えるブロックダイヤグラムで
ある。
FIG. 24 is a block diagram of the 2-bit adder of FIG. 23 replaced with a 2-bit carry / hold recorder.

【図25】基数8のブースレコーダへの入力を発生させ
るのに使用される3ビットのけた上げ/保留レコーダの
ブロックダイヤグラムである。
FIG. 25 is a block diagram of a 3-bit carry / hold recorder used to generate input to a radix-8 Booth recorder.

【図26】けた上げ/保留フォーマット番号をブースレ
コーダに適用するのに、加算器を組み合わせて使用する
1ビットのけた上げ/保留レコーダのブロックダイヤグ
ラムである。
FIG. 26 is a block diagram of a 1-bit carry / hold recorder that is used in combination with an adder to apply a carry / hold format number to a Booth recorder.

【図27】1ビットのけた上げ/保留レコーダの一つの
可能な回路概要を示す説明図である。
FIG. 27 is an explanatory diagram showing an outline of one possible circuit of a 1-bit carry / hold recorder.

【符号の説明】[Explanation of symbols]

16 レジスタファイル 18 ALU 20 掛け算器ユニット 16 register file 18 ALU 20 multiplier unit

フロントページの続き (72)発明者 ラリー ヒュー アメリカ合衆国,94040 カリフォルニ ア,マウンテン ビュー,エスクエラ アベニュー 333 (72)発明者 インヤネシュヴァール プラブー アメリカ合衆国,95121 カリフォルニ ア,サンノセ,イーグルハースト ドラ イブ 1770 (72)発明者 フレデリック エー.ウェア アメリカ合衆国,94022 カリフォルニ ア,ロス アルト ヒルズ,フリーモン ト パインズ レーン 13961 (56)参考文献 特開 平2−181822(JP,A) 特開 昭63−163630(JP,A) 特開 平3−94328(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 7/52 G06F 7/552 G06F 17/10 Front Page Continuation (72) Inventor Larry Hugh United States, 94040 California, Mountain View, Escuela Avenue 333 (72) Inventor Inyane Schwar Prabhu United States, 95121 California, San Jose, Eaglehurst Drive 1770 (72) Invention Person Frederick A. Ware United States, 94022 California, Los Alt Hills, Freemont Pines Lane 13961 (56) Reference JP-A-2-181822 (JP, A) JP-A-63-163630 (JP, A) JP-A-3-94328 (JP, A) (58) Fields surveyed (Int.Cl. 7 , DB name) G06F 7/52 G06F 7/552 G06F 17/10

Claims (22)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 第1アレイ部、第2アレイ部、及び前記
第1アレイ部から前記第2アレイ部への中間結果の伝搬
可能にする又は禁止する手段を備えた掛け算器アレイ
と、 演算数のセットを前記第1のアレイ部と前記第2のアレ
イ部とに与える手段とを備え、 前記第1アレイ部と前記第2アレイ部とは、前記第1ア
レイ部から前記第2アレイ部への中間結果の伝搬が禁止
されている状態では、それぞれに与えられた演算数のセ
ットを2つの積としてそれぞれが並列に計算するように
してあり、 前記第1アレイ部と前記第2アレイ部とは、前記第1ア
レイ部から前記第2アレイ部への中間結果の伝搬が可能
な状態では、それぞれに与えられた演算数のセットを1
つの積として前記第1アレイ部と前記第2アレイ部とで
分割して計算するようにしてあること を特徴とする演算
数を掛け算する装置。
1. A multiplier array comprising: a first array section, a second array section, and means for enabling or inhibiting the propagation of intermediate results from the first array section to the second array section; Means for providing a set of numbers to the first array section and the second array section , wherein the first array section and the second array section include the first array section and the second array section.
Propagation of intermediate results from the ray section to the second array section is prohibited
In the state in which the
As two products, each of which is calculated in parallel
And the first array section and the second array section are connected to the first array section.
Propagation of intermediate results from the ray section to the second array section
In such a state, the set of operands given to each is 1
As a product of the first array portion and the second array portion,
A device for multiplying the number of operations, which is characterized by being divided and calculated .
【請求項2】 掛け算器アレイが、mビットの第1演算
数と(n+p)ビットの第2演算数との積を計算して第
1積を算出するものであり、 第1アレイ部は、mビットの第3演算数とnビットの第
4演算数とを乗じて第2積を算出するものであり、 第2アレイ部は、mビットの第5演算数とpビットの第
6演算数とを乗じて第3積を算出するものであり、 中間結果の伝搬を可能にする又は禁止する手段は、分割
アレイモード及び統一アレイモードを選択する手段を備
え、統一アレイモードが選択された場合は伝搬可能にさ
れ、分割アレイモードが選択された場合は伝搬が禁止さ
れるものであり、 演算数のセットを前記第1,第2のアレイ部に与える手
段は、 a)分割アレイモードが選択された場合は、独立演算数
を副アレイに供給し、 b)統一アレイモードが選択された場合は、 i )第1演算数を、第3演算数として第1アレイ部に供
給するとともに第5演算数として第2アレイ部に供給
し、 ii )第2演算数の最下位側nビットのグループを第4演
算数として第1アレイ部に供給し、 iii)第2演算数の最上位側pビットのグループを第6演
算数として第2アレイ部に供給する手段を備えている請
求項1記載の装置。
2. A multiplier array calculates a first product by calculating a product of a first operation number of m bits and a second operation number of (n + p) bits, and the first array unit includes: A second product is calculated by multiplying an m-bit third operation number by an n-bit fourth operation number, and the second array unit is configured by the m-bit fifth operation number and the p-bit sixth operation number. When the unified array mode is selected, the third product is calculated by multiplying by and means for enabling or inhibiting the propagation of the intermediate result is provided with means for selecting the split array mode and the unified array mode. Is allowed to be propagated, and propagation is prohibited when the divided array mode is selected. Means for giving a set of operation numbers to the first and second array units are as follows: a) divided array mode is selected If so, supply independent operands to the secondary array, b) When the unified array mode is selected, i) the first operation number is supplied to the first array unit as the third operation number and is supplied to the second array unit as the fifth operation number, and ii) the second operation number. Supplying the group of n bits on the least significant side as the fourth operation number to the first array section, and iii) supplying the group of p bits of the most significant side of the second operation number as the sixth operation number to the second array section The apparatus of claim 1, comprising:
【請求項3】 演算の初期結果を丸るめて予め決められ
た最下位のビットLSB と同等のビットを有する丸められ
た値を算出するものであり、前記初期結果がLSB より上
位のビットを有し、LSB より1ビット及び2ビットそれ
ぞれ下位の1/2 LSB と1/4 LSB のビットを少なくとも有
し、前記演算が実結果を有する装置であって、 初期結果を1/4 LSB の点で切捨てて初期数Q0 を算出す
る手段と、 1/4 LSB をQ0 に加算して計算結果Qc を算出する手段
と、 Qc を1/2 LSB の点で切捨てて切捨て結果Qt を算出す
る手段と、 Qt を部分余剰を得るために結果として用いて、演算の
ための部分余剰を決定する手段と、 部分剰余が正、負又はゼロであるかに基づいて初期結果
から丸められた結果を決定する手段とを備えた装置。
3. An initial result of the operation is rounded to calculate a rounded value having a bit equivalent to a predetermined least significant bit LSB, and the initial result is a bit higher than the LSB. A device having at least 1/2 LSB and 1/4 LSB lower than the LSB by 1 bit and 2 bits, respectively, and wherein the operation has a real result, and the initial result is a 1/4 LSB point. To truncate to calculate the initial number Q 0 , to add 1/4 LSB to Q 0 to calculate the calculation result Q c, and to truncate Q c at the point of 1/2 LSB to truncate the result Q t And means for determining the partial surplus for the operation, using Q t as the result to obtain the partial surplus, and rounding from the initial result based on whether the partial remainder is positive, negative, or zero. A means for determining the obtained result.
【請求項4】 演算が、数yを数xで割る割り算であ
り、部分剰余がy−x・Qt に等しい請求項3記載の装
置。
4. The apparatus according to claim 3, wherein the operation is division of the number y by the number x, and the partial remainder is equal to y−x · Q t .
【請求項5】 演算が数xの平方根の演算であり、部分
剰余がx−Qt ・Qt に等しい請求項3記載の装置。
5. The apparatus of claim 3, wherein the operation is a square root operation of the number x and the partial remainder is equal to x−Q t · Q t .
【請求項6】 演算の初期結果を丸めて予め決められた
最下位のビットLSBと同等のビットを有する丸められた
値を算出するものであり、前記初期結果がLSB より上位
のビットを有し、LSB より1ビット及び2ビットそれぞ
れ下位の1/2LSB と1/4 LSB を少なくとも有し、前記演
算が実結果を有する方法であって、 初期結果を1/4 LSB の点で切捨てて初期数Q0 を算出す
るステップと、 1/4 LSB をQ0 に加算して計算結果Qc を算出するステ
ップと、Qc を1/2 LSB の点で切捨てて切捨て結果Qt
を算出するステップと、 Qt を部分剰余を得るための結果として用いて、演算の
ための部分剰余を決定するステップと、 部分剰余が正、負又はゼロであるかに基づいて初期結果
から丸められた結果を決定するステップとからなる方
法。
6. A method for rounding an initial result of an operation to calculate a rounded value having a bit equivalent to a predetermined least significant bit LSB, wherein the initial result has a bit higher than the LSB. , 1 bit and 2 bits lower than LSB, respectively, and at least 1/2 LSB and 1/4 LSB, and the operation has a real result. The initial result is truncated at the 1/4 LSB point. calculating a Q 0, 1/4 the steps of the LSB to calculate the calculation result Q c is added to the Q 0, truncate the Q c in terms of 1/2 LSB truncation results Q t
To calculate the partial remainder for the operation, using Q t as the result to obtain the partial remainder, and rounding from the initial result based on whether the partial remainder is positive, negative, or zero. Determining the result obtained.
【請求項7】 規定の精度でxの関数の値を決定し、x
が最上位のビットxh のグループと最下位のビットxl
のグループとを有する装置であって、 xの複数の値の各々に対する複数の係数を保持するメモ
リと、 複数のビットラインを有するxの入力バスであって、x
h に対応する前記ビットラインの部分が前記メモリのア
ドレス入力に連結されている入力バスと、 前記メモリと前記入力バスとのデータ出力に連結され、
h で規定される間隔内で、多項式「Ax 2 +Bx+
C」の関数にしたがい、この多項式「Ax 2 +Bx+
C」の係数A、B、Cを用いて、前記xの関数の近似式
を決定する演算手段とを備えている装置。
7. A value of a function of x is determined with a specified accuracy, and x
Is the group of the most significant bit x h and the least significant bit x l
A device for holding a plurality of coefficients for each of a plurality of values of x and an input bus of x having a plurality of bit lines.
an input bus having a portion of the bit line corresponding to h connected to an address input of the memory; and a data output of the memory and the input bus,
Within the interval defined by x h , the polynomial “Ax 2 + Bx +
According to the function of “C” , this polynomial “Ax 2 + Bx +
And a calculation means for determining an approximate expression of the function of x by using the coefficients A, B and C of "C" .
【請求項8】 係数Cは、前記メモリに係数Bより多数
の高正確度のビットを有し、係数Bは前記係数Aより多
数の高正確度のビットを有する請求項7記載の装置。
8. The coefficient C is larger than the coefficient B in the memory.
, The coefficient B is higher than the coefficient A.
8. The apparatus of claim 7 having a number of high precision bits .
【請求項9】 前記演算手段が、前記規定の精度の結果
を決定するのに充分の大きさを有する掛け算器アレイを
備え、この掛け算器アレイが、 第1アレイ部、 第2アレイ部、 前記第1アレイ部から前記第2アレイ部への中間結果の
伝搬を禁止する手段と、 前記第1アレイ部と第2アレイ部に前記係数の異なる係
数を同時に与えて、前記多項式の2つの要素を並列に計
算する手段と を備えている請求項7 記載の装置。
9. The calculation means is a result of the specified accuracy.
A multiplier array that is large enough to determine
The multiplier array comprises a first array section, a second array section, and an intermediate result from the first array section to the second array section.
A means for inhibiting propagation, and a means for differentiating the coefficient between the first array part and the second array part.
Given two numbers at the same time, calculate the two elements of the polynomial in parallel.
A device according to claim 7, comprising means for calculating .
【請求項10】 xの前記関数が1/xである請求項7
記載の装置。
10. The function of x is 1 / x.
The described device.
【請求項11】 多項近似式に対するx h の影響全体
が、前記係数にプレフアクターされ、 算出手段が、x l のみを有する係数を用いる 請求項7記
載の装置。
11. Overall effect of x h on polynomial approximation
Is pre-factored to the coefficient, and the calculating means uses a coefficient having only x l .
【請求項12】 xの関数の値を規定の精度で決定する
方法であって、 xの複数の間隔の各々に対して複数の係数を保持するメ
モリを与えるステップと、 前記間隔の係数を用いて、関数の多項近似式にしたがっ
て、xの間隔の1つにおける関数の近似式を決定するス
テップとからなる方法
12. The value of a function of x is determined with a specified precision.
A method for holding a plurality of coefficients for each of a plurality of intervals of x.
According to the polynomial approximation of the function, using the step of giving the memory and the coefficient of the interval.
To determine an approximation of the function in one of the x intervals.
A method consisting of steps .
【請求項13】 更に、近似式の関数に対してニュート
ン・ラフソンの逐次解法を実施して改良された近似式を
算出するステップを含む請求項12記載の方法。
13. A newt for the function of the approximate expression
The improved approximation formula is obtained by implementing the Itinerson's iterative solution method.
13. The method of claim 12 including the step of calculating .
【請求項14】 xが、最上位のビットx h のグループ
と最下位のビットx l のグループとを有し、 供給ステップは係数にビットx h に対応する間隔を供給
することからなり、その結果x h がその間隔内で一定で
あり、多項近似式に対するx h の全影響が係数にプレフ
ァクターされ、 決定ステップはx l のみを有する係数を用いることから
なる 請求項13記載の方法。
14. x is a group of most significant bits x h
And a group of least significant bits x l , the supplying step supplies the coefficient with an interval corresponding to bit x h.
And so that x h is constant within that interval.
Yes, the total effect of x h on the polynomial approximation is
, And the decision step uses coefficients with only x l
The method of claim 13, wherein comprising.
【請求項15】 多項式がAx 2 +Bx+Cであり、 決定ステップは、x l 2 を計算するのと並列にA,B及
びCを検索し、Bx l を計算するのと並列にAx l 2
計算する ことからなる請求項14記載の方法。
15. The polynomial is Ax 2 + Bx + C, and the decision step is performed in parallel with A, B, and x 1 2.
Find the finely C, and Ax l 2 in parallel as to calculate the Bx l
15. The method of claim 14, comprising calculating .
【請求項16】 供給ステップが、第1の下位の方の係
数に、第2の上位の方の係数に対するより多数の高正確
度のビットを供給することからなる請求項14記載の方
法。
16. The supplying step comprises the first lower order function.
The number of higher precision for the second higher coefficient
15. The method of claim 14 comprising providing a degree bit .
【請求項17】 けた上げ保留フォーマット演算数ビッ
ト入力と、 けた上げ入力と、 すべてのけた上げ入力に対して独立した予断的けた上げ
出力と、 上記の演算数ビット入力とけた上げ入力とを用いてブー
スレコーダ入力情報を計算する手段と、 を備えたけた上げ保留フォーマット中の演算数のビット
についてブースレコーダ入力情報を計算する装置
17. A carry hold format operation number bit
Independent and predictive carry for all input , carry input, and all carry inputs
Using the output and the above-mentioned operand bit input and carry input,
A means of calculating the recorder input information, and a bit of the operand in the carry pending format with
A device that calculates booth recorder input information about .
【請求項18】 更に、前記けた上げ入力に依存する訂
正けた上げ出力を備 えており、ブースレコーダ情報が前
記けた上げ入力と前記演算数ビット入力に由来する訂正
けた上げ出力と合計出力ビットからなり、前記訂正けた
上げ出力がブースレコーディングオーバラップビット入
力である請求項17記載の装置。
18. A correction dependent on the carry input.
Bei Eteori a positive carry output, booth recorder information before
Correction derived from carry input and arithmetic bit input
It consists of carry output and total output bit.
Raised output contains booth recording overlap bits
18. The device of claim 17, which is force .
【請求項19】 けた上げ保留フォーマットの演算数の
部分についてブースレコーダ入力情報を計算する装置で
あって、前記演算数の部分がnの合計ビットとnのけた
上げビットを有し、前記の合計ビットとけた上げビット
が複合合計Sを有し、 nの演算数部分合計ビット入力と、 nの演算数部分けた上げビット入力と、 けた上げ入力と、 少なくとも合計Sが(2 n +2 n-1 −2)より大きいと
きに予断的けた上げ出力を生成する手段と、 合計Sが(2 n +2 n-1 −1)より大きいとき、 合計Sが(2 n +2 n-1 −1)と等しく、かつけた上げ
入力が真のとき、及び 予断的けた上げ発生手段が予断的
けた上げを生成せず、あるいは合計Sが(2 n-1 −1)
に等しく、けた上げ入力が真であるか、又は合計Sが
(2 n-1 −1)より大きく、前記訂正けた上げ出力がブ
ースレコーディングオーバラップビット入力であるとき
に、訂正けた上げ出力を発する手段と、 演算数部分のビットとけた上げ入力とを合計して、ブー
スレコーダ入力情報を算出する手段と を備えている
置。
19. The number of operations in the carry hold format
With the device that calculates the booth recorder input information for the part
So, the part of the operation number is n total bits and n digits.
Has carry bit, said sum bit and carry bit
Has a composite total S, and n is the number-of-operations partial total bit input, n is the number-of-operations-partized carry bit input, and carry input, and at least the total S is greater than (2 n +2 n-1 -2). When
Means for generating a pre-determined carry output, and when the sum S is greater than (2 n +2 n-1 -1), the sum S is equal to (2 n +2 n-1 -1)
When the input is true, and the predictive carry generation means is predictive
No carry is generated, or the total S is (2 n-1 -1)
And the carry input is true, or the sum S is
The corrected carry output is larger than (2 n-1 -1).
Source recording overlap bit input
In addition, the means for issuing the corrected carry output, the bits of the arithmetic part and the carry input are summed, and the
Instrumentation <br/> location of and means for calculating a Surekoda input information.
【請求項20】 ブースレコーダ入力情報が、基数2 n
のブースレコーディングの情報である請求項19記載の
装置。
20. The booth recorder input information is a radix 2 n
20. The apparatus according to claim 19, which is information of booth recording of .
【請求項21】 nが2であり、 予断的けた上げ生成手段が、合計Sが1より大きいとき
に予断的けた上げ出力を生成し、 訂正けた上げ生成手段が、合計Sが6に等しいとき、合
計Sが5に等しく、かつけた上げ入力が真のとき、及び
合計Sが1に等しく、かつけた上げ入力が真のときに、
訂正けた上げ出力を生成する 請求項20記載の装置。
21. When n is 2 and the predictive carry generation means has a sum S greater than 1.
To generate a predictive carry output, and when the correct carry generation means produces a sum S equal to 6,
When the total S is equal to 5 and the raised input is true, and
When the total S is equal to 1 and the raised input is true,
21. The apparatus of claim 20 , producing a corrected carry output .
【請求項22】 予断的けた上げ生成手段が、合計Sが
(2 n-1 −1)より大きいときに予断的けた上げ出力を
生成し、 訂正けた上げ生成手段が、合計Sが(2 n +2 n-1
1)より大きいとき、合計Sが(2 n +2 n-1 −1)に
等しく、かつけた上げ入力が真のとき、及び合計Sが
(2 n-1 −1)に等しく、かつけた上げ入力が真のとき
に、訂正けた上げ出力を生成する請求項19 記載の装
置。
22. The predictive carry generation means has a total S
Preemptive carry output when larger than (2 n-1 -1)
Generated and corrected carry generation means, the sum S is (2 n +2 n-1
1) is larger than, the sum S becomes (2 n +2 n-1 -1)
Equal, when the raised input is true, and the total S
When (2 n-1 -1) is equal and the added input is true
20. The apparatus of claim 19 , wherein the apparatus produces a corrected carry output .
JP14659192A 1991-10-11 1992-05-11 Processor for division and square root using polynomial approximation of root Expired - Lifetime JP3453618B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/774,674 US5280439A (en) 1991-05-10 1991-10-11 Apparatus for determining booth recoder input control signals
US07/774,674 1991-10-11

Publications (2)

Publication Number Publication Date
JPH07200266A JPH07200266A (en) 1995-08-04
JP3453618B2 true JP3453618B2 (en) 2003-10-06

Family

ID=25101925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14659192A Expired - Lifetime JP3453618B2 (en) 1991-10-11 1992-05-11 Processor for division and square root using polynomial approximation of root

Country Status (1)

Country Link
JP (1) JP3453618B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4313467B2 (en) * 1998-06-23 2009-08-12 航 尾形 Division method using small memory
US7895253B2 (en) * 2001-11-30 2011-02-22 Analog Devices, Inc. Compound Galois field engine and Galois field divider and square root engine and method
US7676535B2 (en) * 2005-09-28 2010-03-09 Intel Corporation Enhanced floating-point unit for extended functions
US8346831B1 (en) * 2006-07-25 2013-01-01 Vivante Corporation Systems and methods for computing mathematical functions

Also Published As

Publication number Publication date
JPH07200266A (en) 1995-08-04

Similar Documents

Publication Publication Date Title
US5280439A (en) Apparatus for determining booth recoder input control signals
USRE39385E1 (en) Method and apparatus for performing mathematical functions using polynomial approximation and a rectangular aspect ratio multiplier
US5790446A (en) Floating point multiplier with reduced critical paths using delay matching techniques
US7395304B2 (en) Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic
EP0018519B1 (en) Multiplier apparatus having a carry-save/propagate adder
US6564239B2 (en) Computer method and apparatus for division and square root operations using signed digit
US5659495A (en) Numeric processor including a multiply-add circuit for computing a succession of product sums using redundant values without conversion to nonredundant format
EP0326415A2 (en) Floating point/integer processor with divide and square root functions
US6782405B1 (en) Method and apparatus for performing division and square root functions using a multiplier and a multipartite table
US4866652A (en) Floating point unit using combined multiply and ALU functions
JPH07182143A (en) Method and apparatus for execution of division and square-root calculation in computer
US5751619A (en) Recurrent adrithmetical computation using carry-save arithmetic
US5253195A (en) High speed multiplier
US5367477A (en) Method and apparatus for performing parallel zero detection in a data processing system
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US5144576A (en) Signed digit multiplier
GB2399909A (en) Multiplication of selectively partitioned binary inputs using booth encoding
US5790444A (en) Fast alignment unit for multiply-add floating point unit
KR100308726B1 (en) Apparatus and method for reducing the number of round-up predictor stages in a high speed arithmetic apparatus
JP3453618B2 (en) Processor for division and square root using polynomial approximation of root
US4677583A (en) Apparatus for decimal multiplication
EP0428942A2 (en) Plural-bit recoding multiplier
EP0394161A2 (en) Selection of divisor multipliers in a floating point divide circuit
US20040010536A1 (en) Apparatus for multiplication of data in two&#39;s complement and unsigned magnitude formats
EP0534760A2 (en) High speed multiplier device

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070725

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080725

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080725

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090725

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090725

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100725

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110725

Year of fee payment: 8

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110725

Year of fee payment: 8

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120725

Year of fee payment: 9

EXPY Cancellation because of completion of term