EP0366155A2 - Logarithmic function arithmetic unit including means for separately processing pseudo division and multiplication - Google Patents
Logarithmic function arithmetic unit including means for separately processing pseudo division and multiplication Download PDFInfo
- Publication number
- EP0366155A2 EP0366155A2 EP89120128A EP89120128A EP0366155A2 EP 0366155 A2 EP0366155 A2 EP 0366155A2 EP 89120128 A EP89120128 A EP 89120128A EP 89120128 A EP89120128 A EP 89120128A EP 0366155 A2 EP0366155 A2 EP 0366155A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- register
- log
- adder
- arithmetic unit
- content
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 description 51
- 230000006870 function Effects 0.000 description 15
- 229910002056 binary alloy Inorganic materials 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/02—Digital function generators
- G06F1/03—Digital function generators working, at least partly, by table look-up
- G06F1/0307—Logarithmic or exponential functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/556—Logarithmic or exponential functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/4833—Logarithmic number system
Definitions
- the present invention relates to a scientific computing machine and, in particular, to a logarithmic function arithmetic unit for use in the machine.
- STL Sequenctial Table Lookup
- a known logarithmic function arithmetic unit using the STL method comprises a single barrel shifter and a single adder/subtractor and effects loop processes of the STL method under the microprogram control.
- the arithmetic result is not so good in precision, for example, a significant digits being reduced.
- the STL method will be described below for computing a logarithmic function log e (1 + x) with a precision of n digits in the binary system.
- a known logarithmic function arithmetic unit shown therein uses the STL algorithm as described above.
- the arithmetic unit comprises w, x, y, and z registers 11, 12, 13 and 14 for holding w, x k , y k and z k , respectively, an adder/subtracter 15 for effecting addition/subtraction of two inputs A and B, a read-only memory (ROM) 16 for generating r k , a barrel shifter 17 for shifting an input value by desired digits rightwardly, k counter 18 for providing k to read-only memory 16 and a digit number to be shifted at the barrel shifter 17, and a loop number control counter or n counter 19 for controlling the STL loop number.
- Those registers 11-14, adder/subtracter 15, read-only memory 16, barrel shifter 17, and counters 18 and 19 are connected through a data bus 20.
- the unit comprises a micro controller 10 for controlling those blocks 11-19.
- Equation (9) is obtained.
- Equation (4) since r k of Equation (4) is reduced by increase of k, significant digits are reduced so that rouning errors are accumulated at the least significant bit. Moreove, since Equations of (7), (8), (9), (11), (12) and (13) are computed with use of fixed-point numbers, conversion must be made between the fixed-point system and the floating-point system when x and log e (1 + x) are represented by use of the floating-point system. In conversion of x of a small number from the floating-point system to the fixed-point system, the significant digits are considerably reduced. Therefore, the known unit is low in the precision.
- the present invention attempts to use a modified STL method so as to seperately perform the pseudo division and the pseudo multiplication by use of hardweare such as a single barrel shifter, two adder/subtracters, a stack of a first-in last-out type and a divider without use of the microgram control.
- hardweare such as a single barrel shifter, two adder/subtracters, a stack of a first-in last-out type and a divider without use of the microgram control.
- the pseudo division and the pseudo multiplication are executed in simultaneously or corelatively in the conventional STL method, the former is at first executed and then the latter is done in the modified STL method.
- Equation (1) ⁇ ⁇ 2 n . Therefore, in order to achieve 2n-digit precision in the binary system according to the modified STL method, the pseudo multiplication is executed by use of approximation log e (1 + ⁇ ) ⁇ which is accepted according to the Taylor expansion. Accordingly, the total step number of the pseudo division and the pseudo multiplication is about n which is equal to the stpe number in the conventional STL method.
- y k is shifted to a lower digit at one step of the pseudo division in order to improve the precision.
- x k is shifted to a higher digit in the pseudo multiplication.
- the arithmetic unit shown therein comprises a first and a second register 41 and 42 for holding two variables 2X k and Y k , a read-only memory 43 for generating a constant ⁇ k in Equation (23), a barrel shifter 44 for shifting a value of a variable supplied from the second register 42, an exponential circuit 45 for executing Process II and for controlling a digit number to be shifted at the barrel shifter 44 and an address of the read-only memory 43, a first adder/subtracter 46 for effecting addition/subtraction of two inputs A and B so as to execute Equations (17) and (18), a second adder/subtracter 47 for effecting addition/subtraction of two inputs C and D so as to execute Equation (15), a fist shifter 48 for shifting an output value from the first adder/subtracter 46 to produce a half value, a second shifter 49 for shifting an output value from the second adder/subtractor 47 to produce a twice value, a stack
- Each of Operations 4 and 7 is executed by one clock. Therefore, the entire processing time is 2(m - i) clocks which is equal to or smaller than n clocks.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Complex Calculations (AREA)
Abstract
Description
- The present invention relates to a scientific computing machine and, in particular, to a logarithmic function arithmetic unit for use in the machine.
- As a known logarithmic function arithmetic method, so called STL (Sequenctial Table Lookup) method is known to be fittable for a computing machine of a microprogram control type, and is efficient, espetially, for a computing machine having no high speed multiplier.
- A known logarithmic function arithmetic unit using the STL method comprises a single barrel shifter and a single adder/subtractor and effects loop processes of the STL method under the microprogram control.
- However, the known arithmetic unit suffers from the following problems.
- When it is provided that b (b is an integer) clocks are required for processing one loop process of the STL, (n x b) clocks (n being an integer) are required for processing n loop processes of the STL to compute a logarithmic function. This means that it takes a long time for computing a logrithmic function.
- Further, the arithmetic result is not so good in precision, for example, a significant digits being reduced.
- Therefore, it is an object of the present invention to provide a logarithmic function arithmetic unit which has hardware for effecting the STL method to thereby considerably reduce the computing time in comparison with use of the microprogram control.
- It is another object of the present invention to provide a logarithmic function arithmetic unit which can produce a computed result with precision and with an increased significant digits.
- According to the present invention, a logarithmic function arithmetic unit is obtained which comprises coefficient producing means for producing 2k loge(1+2-k) and loge(1+2-k) for k=(m-1) to k=0; first and second register means; barrel shifter means for rightwardly shifting a value stored in the second register means by k digits; first adder/subtractor means for adding or subtracting a content of the barrel shifter, a content in the coefficient producing means, or zero to a content in the first register means to produce a first result, the fist result being stored in the first register means; second adder/subtractor means for the content in the first register means or zero to the content of the second register means to produce a second result, the second result being stored in the second register means; first-in last-out stack means responsive to a sign indication bit in the second register means for controlling the arithmetic in the first and second adder/subtractor means; and deviding means for dividing the content in the first register means by the content in the second register means.
-
- Fig. 1 is a block diagram view of a kown logarithmic function arithmetic unit using the microprogram control;
- Fig. 2 is a flow chart for illustrating the arithmetic processes in the known unit of Fig. 1; and
- Fig. 3 is a block circuit diagram view of a logarithimic function arithmetic unit according to an embodiment of the present invention.
- Prior to description of preferred embodiment of the present invention, description is made as to the STL method and a known logarithmic function arithmetic unit using the microprogram control in order to help better understanding of the prsent invention.
- The STL method will be described below for computing a logarithmic function loge(1 + x) with a precision of n digits in the binary system.
- A given value x is represented by the following equation (1) by use of a sequence of numbers {ak}, as is known in the art:
Therefore,
In those equations (1) through (4), it is defined as a pseudo division to obtain {ak} from x and it is defined as a pseudo multiplication to obtain loge(1 + x) from {ak}. - Now, the algorithm of the STL method will be described below.
- Process I. x₀ = x (1/2 ≦ x < 1), y₀ = 1, and z₀= 0 are given as initial values.
- Process II. For k = 0, 1, 2, ..., (n - 1), the following process III are repeated.
- Process III. w = xk - yk (5),
when w ≧ 0, the following equations (6) through (9) are computed:
ak = +1 (6)
xk+1 = w (7)
yk+1 = yk + 2-k x yk (8)
zk+1 = zk + rk (9);
when w < 0, the following equations (10) through (13) are also computed:
ak = 0 (10)
xk+1 = xk (11)
yk+1 = yk (12)
zk+1 = zk (13).
Process III is called as an STL loop. The STL loop is repeated n times. - Process IV. loge(1 + x₀/y₀) = loge(1 + x₀) = Zn is obtained.
- Referrring to Fig. 1, a known logarithmic function arithmetic unit shown therein uses the STL algorithm as described above. The arithmetic unit comprises w, x, y, and
z registers 11, 12, 13 and 14 for holding w, xk, yk and zk, respectively, an adder/subtracter 15 for effecting addition/subtraction of two inputs A and B, a read-only memory (ROM) 16 for generating rk, abarrel shifter 17 for shifting an input value by desired digits rightwardly,k counter 18 for providing k to read-only memory 16 and a digit number to be shifted at thebarrel shifter 17, and a loop number control counter orn counter 19 for controlling the STL loop number. Those registers 11-14, adder/subtracter 15, read-onlymemory 16,barrel shifter 17, andcounters data bus 20. The unit comprises a micro controller 10 for controlling those blocks 11-19. - Now, operation of the arithmetic unit will be described below with reference to Fig. 2.
-
Operation 1. According to Process I, initial values x₀, y₀ and z₀ are set in the x, y and z counters 12, 13 and 14, respectively, atsteps number control counter 19 andk counter 18 atsteps - Operation 2. According to Process II, the following operation 3 is repeated until content of the loop
number cotrol counter 19 becomes 1. - Operation 3. The arithmetic unit executes the STL loop of Process III as follows.
- Contents xk and yk in x and y counters 12 and 13 are transferred to the adder/subtracter 15 as inputs A and B, respectively, through the
data bus 20 under control of the micro controller 10. The adder/subtracter 15 makes (xk - yk) which is supplied to thew register 11. Thew register 11 holds (xk - yk) as w. Thus, Equation (5) is given at astep 26 as shown in Fig. 2. - When w ≧ 0 at a
step 27 in Fig. 3, that is, a sign digit in thew register 11 indicates positive, the following operation is effected under control of the micro controller 10. The content w in the w counter is transferred to the x counter 12 at astep 28. Thus, Equation (7) is obtained. Then, yk is transferred from y register 13 to the adder/subtracter 15 as the A input and to thebarrel shifter 17. The yk is shifted by the shifted digit number supplied from thek counter 18 to produce yk·2-k which is supplied to the adder/subtracter 15 as the B input. Then, the adder/subtracter 15 makes (A + B) = (yk + yk2-k) which is transferred to the y register 13 at astep 29 shown in Fig. 2. Thus, Equation (8) is obtained. Then, zk in the z register 14 is transferred to the adder/subtracter 15 as the A input, while a constant indicated by thek counter 18, that is, rk is read from the read-only memory 16 and is supplied to the adder/subtracter 15 as the B input. The adder/subtracter 15 makes (A + B) = (Zk + rk) which is transferred to the z register at astpe 30. Thus, Equation (9) is obtained. - When w < 0, that is, a sign digit in the
register 11 indicates negative atstep 27, the arithmetic unit does nothing as shown atsteps - After a loop of
steps 26 to 30 or 33 is completed, the content ofk counter 18 is increased by one (1) atstep 34 and the content of loopnumber control counter 19 is reduced by one (1) atstep 35 as shown in Fig. 2. The loop is repeated until the content of loopnumber control counter 19 becomes 0. - Operation 4. When the content of loop
number control counter 19 is 0 at thestep 36, the operation 3 is completed. Then, the content of the 2 register 14 provides an arithmetic result of loge(1 + x₀) as shown atstpe 37 in Fig. 2. - In the known arithmetic unit, the above-described operation is executed under the microprogram control. Providing that b clocks are required for processing the STL loop in operation 3 one time, (n x b) clocks are required for obtaining the arithmetic result. Therefore, it takes a long time to compute the logarithmic function.
- Further, since rk of Equation (4) is reduced by increase of k, significant digits are reduced so that rouning errors are accumulated at the least significant bit. Moreove, since Equations of (7), (8), (9), (11), (12) and (13) are computed with use of fixed-point numbers, conversion must be made between the fixed-point system and the floating-point system when x and loge(1 + x) are represented by use of the floating-point system. In conversion of x of a small number from the floating-point system to the fixed-point system, the significant digits are considerably reduced. Therefore, the known unit is low in the precision.
- In order to resolve those problems of the known arithmetic unit using the STL method under the microprogram control, the present invention attempts to use a modified STL method so as to seperately perform the pseudo division and the pseudo multiplication by use of hardweare such as a single barrel shifter, two adder/subtracters, a stack of a first-in last-out type and a divider without use of the microgram control.
- Although the pseudo division and the pseudo multiplication are executed in simultaneously or corelatively in the conventional STL method, the former is at first executed and then the latter is done in the modified STL method.
- In the conventional STL method, ε (pseudo reminder) in Equation (1) is ignored and the pseudo multiplication is executed using y₀ = 1 as the initial value. Therefore, n-times of the STL loop are required for achieving a n-digit precision in the binary system.
- In Equation (1), ε < 2n. Therefore, in order to achieve 2n-digit precision in the binary system according to the modified STL method, the pseudo multiplication is executed by use of approximation loge(1 + ε)≒ε which is accepted according to the Taylor expansion. Accordingly, the total step number of the pseudo division and the pseudo multiplication is about n which is equal to the stpe number in the conventional STL method.
- In the modified STL method, yk is shifted to a lower digit at one step of the pseudo division in order to improve the precision. On the contrary, xk is shifted to a higher digit in the pseudo multiplication.
-
- Since x and y are floating-point numbers and since loge(1 + x/y) ≒ x/y for x/y«1, the pseudo division is stated from an intermediate step while the pseudo multiplication, is stopped at an intermediate step. As a result, it is prevented that the significant digits are reduced due to digit matching as well as performance is improved.
- Now, description is made as to the algorithm of the modified STL for computing loge(1 + x/y) with n-(= 2m) digit precision.
- Process I. x and y are inputted (0 ≦ x< y < +∞).
- Process II. X, Y, i and j are determined for satisfying x = 2-i X (1 ≦ X < 2, i being an integer) and y = 2-j·Y (1 ≦ Y < 2, j being an integer), X and Y are mantissa portions of x and y, respectively, while i and j are exponential portions of x and y, respectively. Values Xi = x, yj = Y and i = (j - i) are selected as initial values.
- Process III. For k = i, (i + 1), (i + 2), ..., (m - 1), the following process IV is repeated, that is, pseudo division is executed.
- Process IV. The following equation (15) is given:
W = 2Xk - Yk (15).
When W ≧ 0, the following equations (16) to (18) are obtained:
ak = +1 (16)
Yk+1 = Yk + 2-k·Yk (17)
2·XK+1 = 2·W (18).
When W < 0, the following equations (19) to (21) are obtained:
ak = 0 (19)
Yk+1 = Yk (20)
2·Xk+1 = 2·2·Xk (21). - Process V. Ym given by the following equation (22) is selected as an initial level for the pseudo multiplication:
Xm = Xm/Ym (22). - Process VI. For k= m, (m - 1), (m - 2), ..., (i + 1), the following process VII is repeated, that is, the pseudo multiplication is executed.
- Process VII. For ak = +1,
Xk+1 = (Xk + Γk)/2 (23)
Γk = 2k·rk = 2k·loge(1 + 2-k) (24)
are computed, while for ak = 0,
Xk+1 = Xk/2 (25)
is computed. - Process VIII. loge(1 + x/y) = Xi is obtained.
-
- Now, a logarithmic function arithmetic unit using the above algorithm of the modified STL method will be described with reference to Fig. 3.
- Referring to Fig. 3, the arithmetic unit shown therein comprises a first and a second register 41 and 42 for holding two variables 2Xk and Yk, a read-only memory 43 for generating a constant Γk in Equation (23), a barrel shifter 44 for shifting a value of a variable supplied from the second register 42, an exponential circuit 45 for executing Process II and for controlling a digit number to be shifted at the barrel shifter 44 and an address of the read-only memory 43, a first adder/subtracter 46 for effecting addition/subtraction of two inputs A and B so as to execute Equations (17) and (18), a second adder/subtracter 47 for effecting addition/subtraction of two inputs C and D so as to execute Equation (15), a fist shifter 48 for shifting an output value from the first adder/subtracter 46 to produce a half value, a second shifter 49 for shifting an output value from the second adder/subtractor 47 to produce a twice value, a stack of a first-in last-out type 50 for holding an inversion of a sign indication bit of a value in the second register 42 so as to control the addition, subtraction or transferring in the first and the second adder/subtractors 46 and 47, and a divider 51 for executing Process V, which are connected to one another through a data bus 52. An output of the
first register 41 is connected to the first and the second adder/subtractors data bus 53. The unit further comprises acontroller 54 for controlling the blocks 41-51. - Now, description will be made as to the operation of the arithmetic unit of Fig. 3 below, according to the Algorithm of the modified STL method.
-
Operation 1. According to Process I, binary floating-point numbers x and y are supplied onto thebus 52. Where 0 ≦ x < y < +∞. - Operation 2. The
exponential circuit 45 receives the numbers x and y and execute Process II to obtain the mantissa portions X and Y and the index portions i and j and j = (i - j). Y and 2·X are transferred under control of thecontroller 54 to the first and the second registers 41 and 42, respectively, through thebus 52. - Operation 3. According to Process III, the following operation 4 is repeated with k being incremented by 1 from k = i to k =(m - 1), that is, the pseudo division is executed. The incrementation is performed by the
exponential circuit 45. - Operation 4. At first, Yk is supplied from the
first register 41 to the second adder/subtractor 47 as an imput C through thedata bus 52, while 2Xk is supplied from thesecond register 42 to the second adder/subtractor 47 as another input D. The adder/subtractor 47 subtracts the input C from the input D to produce W = 2Xk - Yk which is shifted by theshifter 49 and written as 2Xk+1 - 2W into thesecond register 42. Thus, Equation (15) is completed.
Then, a sign indication digit of the value in thesecond register 42 is pushed out and supplied to thestack 50. Yk is supplied from thefirst register 41 to the first adder/subtractor 46 as input A through thedata bus 53 and is also supplied to thebarrel shifter 44 through thedata bus 52. Thebarrel shifter 44 shifts Yk by the digit number indicated by theexponential circuit 45 to produce 2-k·Yk which is supplied to the first adder/multiplier 46 as input B. When the sign indication bit indicates positive in thesecond register 42, that is, ak = +1, the first adder/subtractor 46 makes (A + B)= (Yk + 2-k·Yk) which is supplied to thefirst register 41. As a result, Equation (17) is obtained.
On the other hand, when the sign indication bit is negative, the second adder/subtractor 47 makes (0 + D) = 2Xk which is shifted at thesecond shifter 49 to produce a twice value of 2·2·Yk. The value 2·2·Yk is held in thesecond register 42. Thus, Equation (21) is obtained. - Operation 5. According to Process V, the
divider 51 divides Xm held in thesecond register 42 by Ym held in thefirst register 41 to form Xm = Xm/Ym which is supplied to thefirst register 41 as an initial value for the pseudo multiplication. - Operation 6. According to Process VI, the following operation 7 is repeated with k being decremented by 1 from k = m to k =(i + 1), that is, the pseudo multiplication is executed. The decrementation is also performed by the
exponential circuit 45. - Operation 7. Xk is supplied from the
first register 41 to the first adder/subtractor 46 as input A through thedata bus 53. Simultaneously, Γk is supplied from the read-only memory 43 to the first adder/subtractor 46 as input B. At that time, when a positive number is popped from thestack 50, that is ak = +1, the first adder/subtractor 46 makes (A + B) = (Xk + Γk) which is shifted at thefirst shifter 48 to produce (Xk + Γk)/2. Then, (Xk + Γk)/2 is held as Xk+1 in thefirst register 41. Thus, Equation (23) is obtained. On the other hand, a negative number is popped from thestack 50, that is ak = 0, the first adder/subtractor 46 makes (A+0) to produce Xk. The Xk is shifted by thefirst shifter 48 to produce Xk/2 which is held as Xk+1 in thefirst register 41. Thus, Equation (25) is obtained. - Operation 8. As a result, the content X in the
first register 41 provides a mantissa portion of loge(1 + x/y). - Each of Operations 4 and 7 is executed by one clock. Therefore, the entire processing time is 2(m - i) clocks which is equal to or smaller than n clocks.
- The operation has been described in connection with use of floating-point numbers but the arithmetic unit of the present invention can use fixed-point numbers by fixing the index portion i to be 0.
Claims (3)
means responsive to input numbers x and y (0 ≦ x y < +∞) for computing x = 2-i·X (1 ≦ X < 2, i being an integer) and y = 2-j·Y (1 ≦ Y < 2, j being an integer), X and Y being mantissa portions of x and y, respectively, while i and j being exponential portions of x and y, respectively;
means for producing coefficient of k = i, (i + 1), (i + 2), ..., (m - 1) one after another:
means responsive to X, Y and k for computing the following equations (1) to (7):
W = 2Xk - Yk (1),
for W ≧ 0,
ak = +1 (2)
Yk+1 = Yk + 2-k·Yk (3)
2·Xk+1 = 2·W (4),
for W < 0,
ak = 0 (5)
Yk+1 = Yk (6)
2·Xk+1 = 2·2·Xk (7)
to produce Xm and Ym;
means responsive to Xm and Ym for dividing Xm by Ym to produce Xm = Xm/Ym;
means responsive to k from the coefficient producing means for producing Γk = 2k loge(1 + 2-k); and
means for responsive to Xm, Ym, k= m, (m - 1), (m - 2), ..., (i + 1) and Γk for computing the following equations (8) and (9):
for ak = +1,
Xk+1 = (Xk + Γk)/2 (8)
for ak = 0,
Xk+1 = Xk/2 (9),
to produce loge(1 + x/y) = Xi.
coefficient producing means for producing 2k loge(1 + 2-k) and loge(1 + 2-k) for k=(m-1) to k=0;
first and second register means;
barrel shifter means for rightwardly shifting a value stored in said second register means by k digits;
first adder/subtractor means for adding or subtracting a content of said barrel shifter, a content in said coefficient producing means, or zero to a content in said first register means to produce a first result, said fist result being stored in said first register means;
second adder/subtractor means for the content in the first register means or zero to the content of said second register means to produce a second result, said second result being stored in said second register means;
first-in last-out stack means responsive to a sign indication bit in said second register means for controlling the arithmetic in said first and second adder/subtractor means; and
dividing means for dividing the content in said first register means by the content in said second register means.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63271013A JP2822399B2 (en) | 1988-10-28 | 1988-10-28 | Logarithmic function arithmetic unit |
JP271013/88 | 1988-10-28 |
Publications (3)
Publication Number | Publication Date |
---|---|
EP0366155A2 true EP0366155A2 (en) | 1990-05-02 |
EP0366155A3 EP0366155A3 (en) | 1991-11-13 |
EP0366155B1 EP0366155B1 (en) | 1996-05-29 |
Family
ID=17494194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP89120128A Expired - Lifetime EP0366155B1 (en) | 1988-10-28 | 1989-10-30 | Logarithmic function arithmetic unit including means for separately processing pseudo division and multiplication |
Country Status (4)
Country | Link |
---|---|
US (1) | US5041999A (en) |
EP (1) | EP0366155B1 (en) |
JP (1) | JP2822399B2 (en) |
DE (1) | DE68926563T2 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0554035B1 (en) * | 1992-01-27 | 2001-10-17 | Mitsubishi Denki Kabushiki Kaisha | Solid state color video camera |
US6788342B1 (en) | 1992-01-27 | 2004-09-07 | Mitsubishi Denki Kabushiki Kaisha | Color video camera for generating a luminance signal with unattenuated harmonics |
US6055553A (en) * | 1997-02-25 | 2000-04-25 | Kantabutra; Vitit | Apparatus for computing exponential and trigonometric functions |
US6567832B1 (en) * | 1999-03-15 | 2003-05-20 | Matsushita Electric Industrial Co., Ltd. | Device, method, and storage medium for exponentiation and elliptic curve exponentiation |
US6976043B2 (en) * | 2001-07-30 | 2005-12-13 | Ati Technologies Inc. | Technique for approximating functions based on lagrange polynomials |
US7509363B2 (en) * | 2001-07-30 | 2009-03-24 | Ati Technologies Ulc | Method and system for approximating sine and cosine functions |
US7606850B2 (en) * | 2005-03-30 | 2009-10-20 | Lockheed Martin Corporation | Method and apparatus for providing a base-2 logarithm approximation to a binary number |
JP4895544B2 (en) * | 2005-07-15 | 2012-03-14 | 株式会社Shoei | Full-face helmet |
US8510360B2 (en) * | 2010-06-04 | 2013-08-13 | International Business Machines Corporation | Calculating large precision common logarithms |
US10838718B2 (en) * | 2017-09-28 | 2020-11-17 | Fujitsu Limited | Processing device, arithmetic unit, and control method of processing device |
WO2020090025A1 (en) * | 2018-10-31 | 2020-05-07 | 富士通株式会社 | Arithmetic processing unit and control method of arithmetic processing unit |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4089060A (en) * | 1976-10-15 | 1978-05-09 | Mitchell Donald K | Digital logarithmic apparatus |
JPS6051733B2 (en) * | 1977-11-19 | 1985-11-15 | 日本電気株式会社 | Exponential function calculation device |
-
1988
- 1988-10-28 JP JP63271013A patent/JP2822399B2/en not_active Expired - Fee Related
-
1989
- 1989-10-30 US US07/428,301 patent/US5041999A/en not_active Expired - Lifetime
- 1989-10-30 DE DE68926563T patent/DE68926563T2/en not_active Expired - Fee Related
- 1989-10-30 EP EP89120128A patent/EP0366155B1/en not_active Expired - Lifetime
Non-Patent Citations (2)
Title |
---|
IBM-JOURNAL April 1962, pages 210 - 226; MEGGITT: 'Pseudo Division and Pseudo Multiplication Processes ' * |
IRE TRANSACTIONS ON ELECTRONIC COMPUTERS vol. 11, no. 2, April 1962, pages 155 - 164; CANTOR ET AL: 'Logarithmic and Exponential Function Evaluation in a Variable Structure Digital Computer ' * |
Also Published As
Publication number | Publication date |
---|---|
JP2822399B2 (en) | 1998-11-11 |
EP0366155B1 (en) | 1996-05-29 |
DE68926563D1 (en) | 1996-07-04 |
EP0366155A3 (en) | 1991-11-13 |
DE68926563T2 (en) | 1997-01-23 |
US5041999A (en) | 1991-08-20 |
JPH02118725A (en) | 1990-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5046038A (en) | Method and apparatus for performing division using a rectangular aspect ratio multiplier | |
US4707798A (en) | Method and apparatus for division using interpolation approximation | |
US4534010A (en) | Floating point type multiplier circuit with compensation for over-flow and under-flow in multiplication of numbers in two's compliment representation | |
EP0158530A2 (en) | Nonrestoring divider | |
EP0356153B1 (en) | Radix-2**n divider method and apparatus using overlapped quotient bit selection and concurrent quotient rounding and correction | |
EP0472139A2 (en) | A floating-point processor | |
JPH0235348B2 (en) | ||
US5659495A (en) | Numeric processor including a multiply-add circuit for computing a succession of product sums using redundant values without conversion to nonredundant format | |
US5132925A (en) | Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction | |
EP0366155A2 (en) | Logarithmic function arithmetic unit including means for separately processing pseudo division and multiplication | |
US5111421A (en) | System for performing addition and subtraction of signed magnitude floating point binary numbers | |
US4956799A (en) | Trigonometric function arithmetic processor using pseudo-division | |
US4594680A (en) | Apparatus for performing quadratic convergence division in a large data processing system | |
US5007009A (en) | Non-recovery parallel divider circuit | |
US5260889A (en) | Computation of sticky-bit in parallel with partial products in a floating point multiplier unit | |
US5623435A (en) | Arithmetic unit capable of performing concurrent operations for high speed operation | |
US4110831A (en) | Method and means for tracking digit significance in arithmetic operations executed on decimal computers | |
US5181184A (en) | Apparatus for multiplying real-time 2's complement code in a digital signal processing system and a method for the same | |
US4899302A (en) | Arithmetic unit for inverse trigonometric function | |
US4692891A (en) | Coded decimal non-restoring divider | |
US4979139A (en) | Arithmetic unit for exponential function | |
JPH07234778A (en) | Arithmetic circuit | |
US6598065B1 (en) | Method for achieving correctly rounded quotients in algorithms based on fused multiply-accumulate without requiring the intermediate calculation of a correctly rounded reciprocal | |
US5754458A (en) | Trailing bit anticipator | |
US4744045A (en) | Divider circuit for encoded PCM samples |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 19891117 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): DE FR GB |
|
PUAL | Search report despatched |
Free format text: ORIGINAL CODE: 0009013 |
|
AK | Designated contracting states |
Kind code of ref document: A3 Designated state(s): DE FR GB |
|
17Q | First examination report despatched |
Effective date: 19940830 |
|
GRAH | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOS IGRA |
|
GRAH | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOS IGRA |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): DE FR GB |
|
REF | Corresponds to: |
Ref document number: 68926563 Country of ref document: DE Date of ref document: 19960704 |
|
ET | Fr: translation filed | ||
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed | ||
REG | Reference to a national code |
Ref country code: GB Ref legal event code: IF02 |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: 732E |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: TP |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20041008 Year of fee payment: 16 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20041027 Year of fee payment: 16 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20041028 Year of fee payment: 16 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20051030 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20060503 |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20051030 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20060630 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST Effective date: 20060630 |