JP2003337695A - Computing device and method - Google Patents

Computing device and method

Info

Publication number
JP2003337695A
JP2003337695A JP2002147494A JP2002147494A JP2003337695A JP 2003337695 A JP2003337695 A JP 2003337695A JP 2002147494 A JP2002147494 A JP 2002147494A JP 2002147494 A JP2002147494 A JP 2002147494A JP 2003337695 A JP2003337695 A JP 2003337695A
Authority
JP
Japan
Prior art keywords
function
input value
exponent part
exponent
value
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
Application number
JP2002147494A
Other languages
Japanese (ja)
Other versions
JP4129618B2 (en
Inventor
Shigehiko Sasaki
茂彦 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2002147494A priority Critical patent/JP4129618B2/en
Publication of JP2003337695A publication Critical patent/JP2003337695A/en
Application granted granted Critical
Publication of JP4129618B2 publication Critical patent/JP4129618B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To precisely realize an arithmetic operation of inputted values of functions given in a floating point form while controlling the capacity of a look-up table used for an interpolation approximate calculation. <P>SOLUTION: A separating means 2 outputs residual inputted value of a function to an interpolation processing means 7 having the look-up table 7a while regarding an inputted exponent part as zero and also outputs an extracted exponent part to a multiplier 6 in case of the calculation-instructing mode signal of a low-speed distortion function. The amplifier 6 amplifies the exponent part by a multiple and adds the value of the exponent thus multiplied to the exponent part of interpolation-processing output value in an adder 9. By this, the exponent part is excluded from the function calculated by the interpolation processing means 7 and the capacity of the look-up table is reduced. <P>COPYRIGHT: (C)2004,JPO

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、ルックアップテー
ブルとしてメモリに格納されているデータを用いて補間
近似計算処理を行う演算装置及び方法に関し、特に、指
数部と仮数部とを含む浮動小数点形式として与えられる
関数入力値の演算に適した技術に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an arithmetic device and method for performing an interpolation approximation calculation process using data stored in a memory as a lookup table, and more particularly to a floating point format including an exponent part and a mantissa part. The present invention relates to a technique suitable for calculating a function input value given as.

【0002】[0002]

【従来の技術】液体や固体或いは高分子などの挙動をそ
れらを構成する原子や分子の動きの結果として考え、そ
の動きを電子計算機でシミュレーションして研究する分
野は分子動力学と呼ばれる。分子動力学では原子または
分子を粒子と考え、それらの粒子間に働く力を計算し、
微小時間後の粒子の位置を計算する。この計算を繰り返
し行って各粒子の軌跡を求め、その結果としての物質の
性質などを計算する。したがって、分子動力学では、粒
子間に働く力は必ず計算しなければならない物理量であ
る。
2. Description of the Related Art The field of thinking about the behavior of liquids, solids or polymers as a result of the movement of the atoms and molecules that make them up and simulating the movements with an electronic computer is called molecular dynamics. In molecular dynamics, we consider atoms or molecules to be particles, calculate the forces acting between these particles,
Calculate the position of the particles after a short time. The trajectory of each particle is obtained by repeating this calculation, and the properties of the resulting substance are calculated. Therefore, in molecular dynamics, the force acting between particles is a physical quantity that must be calculated.

【0003】分子動力学において力の計算を行う場合に
は、粒子間の距離を入力値とし、粒子に働く力やポテン
シャル、或いはそれに類する値を出力とする関数を得る
手段として、1次や2次補間といった多項式による補間
近似計算処理が行われる。この多項式による補間近似計
算処理を行う装置としては、例えば特開平6―1758
25号公報に記載されるように、微分係数や近似値があ
らかじめ格納されているルックアップテーブルを参照し
て補間計算処理を行う装置が知られている。例えば、関
数f(x)で表される補間データの場合、f(1)、f(2)…
といった非連続的な点での値と、関数f(x)の微分係数
(傾き)をルックアップテーブルに格納する。
When a force is calculated in molecular dynamics, the first or second order is used as a means for obtaining a function in which the distance between particles is an input value and the force or potential acting on the particle or a value similar thereto is an output. Interpolation approximation calculation processing using a polynomial such as the next interpolation is performed. An apparatus for performing the interpolation approximation calculation processing by this polynomial is, for example, Japanese Patent Laid-Open No. 6-1758.
As described in Japanese Patent No. 25, a device is known that performs an interpolation calculation process by referring to a lookup table in which differential coefficients and approximate values are stored in advance. For example, in the case of interpolation data represented by the function f (x), f (1), f (2) ...
Values at discontinuous points such as and the differential coefficient (slope) of the function f (x) are stored in the lookup table.

【0004】ここで、分子動力学で扱う粒子間力は様々
な力から成り立っており、一般にそれらの力は近距離で
しか作用しない近距離力と、遠距離まで到達する遠距離
力の二つ大別することができる。近距離力は、例えば共
有結合力やファンデルワールス力などの、距離が増大す
るにしたがって大きさが急速にゼロに近づく収束の速い
力である。このような近距離力の計算式は一般的に比較
的複雑な形の式となる。例えばファンデルワールス力の
計算式は、距離をx、力場パラメータをR、εとする
と、下記の数式1にように表現される。
Here, the interparticle force handled by molecular dynamics consists of various forces. Generally, these forces are a short-range force acting only at a short distance and a long-range force reaching a long distance. It can be roughly divided. The short-distance force is a force having a rapid convergence such that a magnitude thereof rapidly approaches zero as the distance increases, such as a covalent bond force or a Van der Waals force. The calculation formula for such a short-range force is generally a relatively complicated formula. For example, the van der Waals force calculation formula is expressed as the following formula 1 when the distance is x and the force field parameters are R and ε.

【0005】[0005]

【数1】 [Equation 1]

【0006】遠距離力は、例えばクーロン力に代表さ
れ、距離が増大しても大きさがなかなかゼロにならない
収束の遅い力であり、そのため粒子間距離が大きくても
他の粒子へ影響をおよぼす。一般に遠距離力の計算式
は、数式2に示すように単純な指数関数の形となる。例
えばクーロン力の計算式は、距離をx、粒子の電荷を定
数q1、q2とすると、数式3に示すように単純な指数関
数の形で表現できる。
The long-distance force is represented by, for example, the Coulomb force, and is a force of slow convergence that does not easily reach zero even if the distance increases. Therefore, even if the interparticle distance is large, it affects other particles. . Generally, the calculation formula of the long-distance force is in the form of a simple exponential function as shown in Formula 2. For example, the Coulomb force calculation formula can be expressed in the form of a simple exponential function, as shown in Formula 3, where the distance is x and the particle charges are constants q1 and q2.

【0007】[0007]

【数2】 [Equation 2]

【0008】[0008]

【数3】 [Equation 3]

【0009】このように分子動力学で扱う粒子間力には
遠距離力が含まれるため、粒子間の距離が大きい場合に
も無視できない力が存在する。したがって、演算装置で
は、遠距離力を含む粒子間力を一括して計算するため、
力の計算を行う関数の入力値域は広い範囲をカバーする
必要がある。この入力値域の広さは補間近似計算処理を
行うためのルックアップテーブルの必要容量(メモリの
容量)に比例するので、分子動力学における力の計算を
行う補間近似処理装置のルックアップテーブルの容量
が、大きくなってしまうという問題がある。
Since the interparticle force treated by molecular dynamics includes a long-distance force as described above, there is a force that cannot be ignored even when the distance between particles is large. Therefore, the computing device collectively calculates the interparticle force including the long-distance force,
The input range of the function that calculates the force must cover a wide range. Since the width of this input range is proportional to the required capacity (memory capacity) of the lookup table for performing the interpolation approximation calculation processing, the capacity of the lookup table of the interpolation approximation processing apparatus that calculates the force in molecular dynamics. However, there is a problem that it becomes large.

【0010】以下、従来における補間近似処理の具体例
を説明し、必要となるルックアップテーブルの大きさを
説明する。図4は、従来の補間処理装置の一例の構成図
である。この補間処理装置は、乗算器41、加算器4
2、計算結果を一時的に記憶する一時記憶装置(ラッ
チ)43、加算器42の入力を一時記憶装置43または
ゼロのどちらかに選択する論理ゲート器44、入力値
(IN)に基づいて補間データのインデックスアドレス
を生成するアドレス生成器45、アドレス生成器45が
出力したインデックスアドレスに基づいて補間データを
出力するルックアップテーブル記憶装置46、論理ゲー
ト器44とアドレス生成器45を制御する制御装置47
を備えて構成される。
A specific example of conventional interpolation approximation processing will be described below, and the required size of the lookup table will be described. FIG. 4 is a block diagram of an example of a conventional interpolation processing device. This interpolation processing device includes a multiplier 41 and an adder 4
2, a temporary storage device (latch) 43 for temporarily storing the calculation result, a logic gate device 44 for selecting the input of the adder 42 to either the temporary storage device 43 or zero, and interpolation based on the input value (IN) An address generator 45 for generating an index address of data, a lookup table storage device 46 for outputting interpolation data based on the index address output by the address generator 45, a control device for controlling the logic gate device 44 and the address generator 45. 47
It is configured with.

【0011】この補間処理装置は、クロックに同期して
順次動作する同期回路として構成されており、多項式補
間によってあらかじめルックアップテーブル46に登録
された関数の計算を行うことができる。2次多項式補間
を行う場合を例に処理の流れを説明する。2次多項式補
間近似とは、入力(IN)に値xが入力された場合に、
この値xに対応する補間項a2、a1、a0をルックアッ
プテーブルから選択し、出力(OUT)に数式4に示す
近似値を出力することをいう。
This interpolation processing device is configured as a synchronous circuit which operates sequentially in synchronization with a clock, and is capable of calculating a function registered in advance in the lookup table 46 by polynomial interpolation. The flow of processing will be described by taking the case of performing quadratic polynomial interpolation as an example. The quadratic polynomial interpolation approximation means that when the value x is input to the input (IN),
This means selecting the interpolation terms a2, a1, a0 corresponding to this value x from the look-up table and outputting the approximate value shown in Equation 4 to the output (OUT).

【0012】[0012]

【数4】 [Equation 4]

【0013】図5に、クロック(clock)、入力値
(IN)、乗算器41のA入力値(MUL_A)、ルッ
クアップテーブル記憶装置46の出力且つ加算器43の
入力値(ADD_B)、乗算器41の出力且つ加算器4
2のもう一つの入力値(MUL_OUT)、加算器42
の出力値(ADD_OUT)の信号タイミングチャート
を示す。
FIG. 5 shows a clock, an input value (IN), an A input value (MUL_A) of the multiplier 41, an output of the lookup table storage device 46 and an input value of the adder 43 (ADD_B), a multiplier. 41 output and adder 4
Another input value of 2 (MUL_OUT), adder 42
7 shows a signal timing chart of the output value (ADD_OUT) of the.

【0014】まず最初のクロックでは、論理ゲート器4
4がゼロを出力するように制御装置47が制御する。同
時にアドレス生成器45が入力値xに対応する2次補間
項a2が格納されたインデックスアドレスを出力するよ
うに制御装置47が制御する。この結果、ゼロに何を乗
算してもゼロであるから乗算器41はゼロを出力し、加
算器42は0+a2を計算して当然a2を出力し、一時記
憶装置43に記憶される。最初のクロックの処理はこれ
で終わりである。
At the first clock, the logic gate unit 4
The controller 47 controls so that 4 outputs zero. At the same time, the controller 47 controls the address generator 45 to output the index address in which the quadratic interpolation term a2 corresponding to the input value x is stored. As a result, the multiplier 41 outputs zero because it is zero no matter what is multiplied, and the adder 42 calculates 0 + a2 and naturally outputs a2, which is stored in the temporary storage device 43. This concludes the processing of the first clock.

【0015】次の第2クロックでは、論理ゲート器44
が一時記憶装置43に記憶された値を出力するように制
御装置47が制御する。同時にアドレス生成器45が入
力値xに対応する1次補間項a1が格納されたインデッ
クスアドレスを出力するように制御装置47が制御す
る。一時記憶装置43にはa2が記憶されているので、
乗算器41はa2・xを出力する。そして、加算器42
はa2・x+a1を出力し、この値は一時記憶装置43に
記憶される。これで第2クロックの処理は終りである。
At the next second clock, the logic gate unit 44
The control device 47 controls so that the value stored in the temporary storage device 43 is output. At the same time, the controller 47 controls the address generator 45 to output the index address in which the primary interpolation term a1 corresponding to the input value x is stored. Since a2 is stored in the temporary storage device 43,
The multiplier 41 outputs a2 · x. And the adder 42
Outputs a2 · x + a1, and this value is stored in the temporary storage device 43. This is the end of the processing for the second clock.

【0016】次ぎの第3クロックでは、第2クロック同
様に、論理ゲート器44が一時記憶装置43に記憶され
た値を出力するように制御装置47が制御する。同時に
アドレス生成器4が入力値xに対応する定数補間項a0
が格納されたインデックスアドレスを出力するように制
御装置47が制御する。一時記憶装置43には、a2・
x+a1が記憶されているので、乗算器41は数式5の
値を出力する。そして、加算器42は数式6に示す値を
出力し、この値は一時記憶装置43に記憶される。この
値が2次補間近似の計算結果である。以上の手順によ
り、3クロックで2次補間近似の計算を行うことができ
る。なお、より高次の多項式近似を計算する場合は、第
2クロック以降の手順の反復数を増やせばよい。
At the next third clock, like the second clock, the control unit 47 controls the logic gate unit 44 to output the value stored in the temporary storage unit 43. At the same time, the address generator 4 outputs the constant interpolation term a0 corresponding to the input value x.
The control device 47 controls to output the index address in which is stored. The temporary storage device 43 stores a2.
Since x + a1 is stored, the multiplier 41 outputs the value of Expression 5. Then, the adder 42 outputs the value shown in Expression 6, and this value is stored in the temporary storage device 43. This value is the calculation result of the quadratic interpolation approximation. With the above procedure, the calculation of the quadratic interpolation approximation can be performed in 3 clocks. When calculating a higher-order polynomial approximation, the number of iterations of the procedure after the second clock may be increased.

【0017】[0017]

【数5】 [Equation 5]

【0018】[0018]

【数6】 [Equation 6]

【0019】次いで、ルックアップテーブルの容量につ
いて具体的に説明する。分子動力学法で一般的に必要な
精度は、32ビットの単精度浮動小数点では足りない
が、64ビットの倍精度浮動小数点ほどは必要ない。そ
こで、図6に示すように、仮数部31ビット、指数部8
ビット、符号1ビットの計40ビットの浮動小数点形式
を採用する。また、3次元直交座標系(デカルト座標)
で二つの座標間の距離を算出する場合、距離の自乗値は
積和演算のみで簡単に求められる。よって、補間処理装
置への入力値(IN)は、距離rではなく、粒子間距離
の自乗r2とする。なお、入力値(IN)は必ず正値と
なる。
Next, the capacity of the lookup table will be specifically described. The precision generally required for molecular dynamics is not sufficient with 32-bit single precision floating point, but not as much as with 64-bit double precision floating point. Therefore, as shown in FIG. 6, the mantissa part 31 bits and the exponent part 8
A floating point format of 40 bits in total including 1 bit and 1 sign is adopted. Three-dimensional Cartesian coordinate system (Cartesian coordinates)
When calculating the distance between two coordinates, the squared value of the distance can be easily obtained by only the product-sum calculation. Therefore, the input value (IN) to the interpolation processing device is not the distance r but the square of the interparticle distance r 2 . The input value (IN) is always a positive value.

【0020】クーロン力やファンデルワールス力の関数
において、2次補間近似で仮数部31ビットの精度を出
すためには、上位11ビットでインデックスされる補間
データ、つまり2048組の補間データが必要となるこ
とが経験的にわかっている。2次補間であるから補間デ
ータ1組は3つの補間係数から構成され、それぞれの補
間係数は40ビットの浮動集数点形式で格納される。
In the function of Coulomb force or van der Waals force, in order to obtain the accuracy of 31 bits of the mantissa in the quadratic interpolation approximation, interpolation data indexed by the upper 11 bits, that is, 2048 sets of interpolation data are required. I know empirically that Since it is quadratic interpolation, one set of interpolation data is composed of three interpolation coefficients, and each interpolation coefficient is stored in a 40-bit floating point format.

【0021】分子動力学法上、クーロン力のような遠距
離力を考えると、少なくとも数式7の入力値域が必要と
される。指数で―9から+21の範囲を補間近似するた
めには30×2048組の補間データが必要となる。つ
まり、必要なルックアップテーブル記憶容量は、30×
2048×3×40=7372800ビットとなり、8
メガビット弱の容量がルックアップテーブルメモリに必
要となる。
Considering a long-range force such as Coulomb force in the molecular dynamics method, at least the input value range of Expression 7 is required. In order to interpolate and approximate the range of -9 to +21 by the index, 30 × 2048 sets of interpolation data are required. In other words, the required lookup table storage capacity is 30 ×
2048 x 3 x 40 = 737,800 bits, 8
A little less than a megabit capacity is needed for the look-up table memory.

【0022】[0022]

【数7】 [Equation 7]

【0023】これではさすがに容量が大きすぎるので、
精度を或る程度犠牲にしてルックアップテーブル容量を
圧縮する方法もある。例えば、数式8及び数式9に示す
比較的精度が重要でない領域について、補間データを間
引いて、仮数部の上位8ビットのインデックスアドレス
を用いることにして、ルックアップテーブル容量を圧縮
する方法がある。この容量圧縮により、数式8及び数式
9に示す領域では、仮数にして20〜23ビット程度の
精度しか得られなくなるが、全体の容量は、16×20
48×3×40=3932160ビットとなって、4メ
ガビットに圧縮することができる。
Since the capacity is too large as expected,
There is also a way to compress the look-up table capacity at the expense of some accuracy. For example, there is a method of compressing the lookup table capacity by thinning out the interpolated data and using the upper 8 bits of the index address of the mantissa for the region where the precision is not so important as shown in Formulas 8 and 9. Due to this capacity compression, in the areas shown in Expressions 8 and 9, only mantissas of about 20 to 23 bits are obtained, but the total capacity is 16 × 20.
48 × 3 × 40 = 3932160 bits, which can be compressed to 4 megabits.

【0024】[0024]

【数8】 [Equation 8]

【0025】[0025]

【数9】 [Equation 9]

【0026】[0026]

【発明が解決しようとする課題】上記の例ように精度を
犠牲にして圧縮しても、ルックアップテーブル記憶装置
は4メガビットもの大容量を必要とし、コストが高く消
費電力が多いシステムとなってしまうと言う課題があ
る。本発明は、補間近似計算の精度を落とすことなく、
より少ないルックアップテーブルの容量で、分子動力学
等で扱う力を計算できるようにすることを目的とする。
なお、本発明の更なる目的は以下に説明するところによ
り明らかである。
Even if compression is performed at the expense of accuracy as in the above example, the lookup table storage device requires a large capacity of 4 megabits, resulting in a system with high cost and high power consumption. There is a problem that it will end. The present invention, without reducing the accuracy of the interpolation approximation calculation,
The purpose is to be able to calculate the force handled by molecular dynamics, etc., with a smaller lookup table capacity.
Further objects of the present invention will be apparent from the following description.

【0027】[0027]

【課題を解決するための手段】本発明は、指数部と仮数
部とを含む浮動小数点形式として与えられる関数入力値
を演算する演算装置であり、前記関数入力値から指数部
又は指数部の上位ビット部が分離された残余の部分を入
力値としてルックアップテーブルを参照した補間近似計
算を行う補間処理手段と、前記関数入力値から抽出され
た指数部又は指数部の上位ビット部をあらかじめ設定さ
れた倍数で乗算する乗算手段と、前記補間処理手段から
の出力値の指数部に、前記倍数で乗算した指数部又は指
数部の上位ビット部の値を加算する加算手段と、を備え
る。
The present invention is a computing device for computing a function input value given as a floating point format including an exponent part and a mantissa part, and an exponent part or an upper part of the exponent part from the function input value. Interpolation processing means for performing an interpolation approximation calculation by referring to a look-up table using the remaining part of which the bit part is separated as an input value, and an exponent part extracted from the function input value or a high-order bit part of the exponent part are preset. A multiplication means for multiplying by a multiple, and an addition means for adding a value of an exponent part or an upper bit part of the exponent part multiplied by the multiple to the exponent part of the output value from the interpolation processing means.

【0028】また、本発明は、指数部と仮数部とを含む
浮動小数点形式として与えられる関数入力値を演算する
方法であり、前記関数入力値から指数部又は指数部の上
位ビット部を分離して、メモリに記憶したルックアップ
テーブルを参照した演算処理で残余の仮数部又は指数部
の上位ビット部が分離された残余の部分を補間近似計算
し、前記関数入力値から抽出した指数部又は指数部の上
位ビット部をあらかじめ設定された倍数で乗算し、前記
補間近似計算の結果値の指数部に、前記倍数で乗算した
指数部又は指数部の上位ビット部の値を加算する演算方
法である。
Further, the present invention is a method for calculating a function input value provided as a floating point format including an exponent part and a mantissa part, and separating the exponent part or the high-order bit part of the exponent part from the function input value. Then, the remaining part of the mantissa part or the upper bit part of the exponent part separated by the arithmetic processing with reference to the look-up table stored in the memory is approximated by interpolation, and the exponent part or the exponent extracted from the function input value is calculated. Is a calculation method of multiplying the high-order bit part of the part by a preset multiple, and adding the exponent part multiplied by the multiple or the value of the high-order bit part of the exponent part to the exponent part of the result value of the interpolation approximation calculation. .

【0029】例えば、関数入力値が数式10に示すよう
な単純な指数関数である場合は、収束が遅いため従来の
補間近似処理装置で計算すると、大量のルックアップテ
ーブルが必要となってしまうが、本発明によれば、次ぎ
のような原理で必要なルックアップテーブルの容量を少
なくすることができる。一般に、デジタル計算機で正の
実数値を扱う場合、仮数m(1≦m<2)と指数e(整
数)を用いて、数式11に示すような形で表現する浮動
小数点形式を用いる。浮動小数点形式で単純な指数関数
の計算を行うと、数式12に示すような変形ができる。
For example, if the function input value is a simple exponential function as shown in Equation 10, the convergence is slow, and therefore a large amount of look-up tables are required if the calculation is performed by the conventional interpolation approximation processing apparatus. According to the present invention, the capacity of the lookup table required according to the following principle can be reduced. In general, when a positive real number is handled by a digital computer, a floating point format represented by the formula 11 is used by using a mantissa m (1 ≦ m <2) and an exponent e (an integer). When a simple exponential function is calculated in the floating point format, the transformation shown in Expression 12 can be made.

【0030】[0030]

【数10】 [Equation 10]

【0031】[0031]

【数11】 [Equation 11]

【0032】[0032]

【数12】 [Equation 12]

【0033】浮動小数点形式の数値に2のne乗の値を
乗じるには、指数部にneを加えるだけでよく、非常に
簡単である。つまりf(m)を補間処理で計算し、その結
果の指数部にneを加えることによって関数の計算がで
きることを示す。仮数mは1≦m<2といった狭い範囲
の値であるため、ルックアップテーブル容量が小さい補
間処理装置で、f(m)の計算ができる。この原理を用い
て、ルックアップテーブルの必要容量を少なくするた
め、以下のように計算を行う。
Multiplying a value in the floating-point format by a power of 2 to the power of ne is very simple because all that is required is to add ne to the exponent part. That is, it indicates that the function can be calculated by calculating f (m) by the interpolation process and adding ne to the exponent part of the result. Since the mantissa m is a value in a narrow range such as 1 ≦ m <2, f (m) can be calculated by an interpolation processing device having a small lookup table capacity. Using this principle, in order to reduce the required capacity of the lookup table, the calculation is performed as follows.

【0034】浮動小数点形式として与えられる関数入力
値を、指数部すべて又は指数部の上位ビット部から構成
される指数シフト部と、仮数部又は指数部の下位ビット
部と仮数部を連結したものから構成される仮数インデッ
クス部の2つに分離する。そして、指数シフト部を関数
式のべき乗数であるnと乗算し、これと並行して、仮数
インデックス部を補間処理演算する。そして、補間処理
による出力値の指数部に指数シフト部にべき乗数nで乗
じてできた値を加算して出力値とする。すなわち、補間
近似処理に入力される仮数インデックス部は関数入力値
全体よりも指数シフト部を分離した分だけビット長が短
くでき、それにより、補間近似処理に用いるルックアッ
プテーブルの容量を計算精度を高く保ったまま小さくす
ることができる。
A function input value given in the form of a floating point is obtained by concatenating the exponent shift part composed of the whole exponent part or the high-order bit part of the exponent part and the mantissa part or the low-order bit part of the exponent part and the mantissa part. It is separated into two of the configured mantissa index parts. Then, the exponent shift part is multiplied by n which is a power of the functional expression, and in parallel with this, the mantissa index part is subjected to interpolation processing calculation. Then, the exponent part of the output value obtained by the interpolation process is added to the value obtained by multiplying the exponent shift part by the exponent n to obtain the output value. That is, the mantissa index part input to the interpolation approximation process can have a bit length shorter than that of the entire function input value by separating the exponent shift part, and as a result, the capacity of the lookup table used in the interpolation approximation process can be calculated more accurately. It can be kept small and small.

【0035】本発明は、収束の遅い関数入力値に対する
演算に効果的であり、関数の形が複雑だが速く収束する
関数入力値については、従来の補間近似処理で演算を行
うようにしてもよい。すなわち、このような関数入力値
であれば収束速度が速いため、必要とされる入力値の値
域は狭く、ルックアップテーブルの容量は小さくて済む
からである。したがって、本発明の態様として、演算す
る関数入力値の式の形が複雑で収束が速いものか、或い
は、単純な指数関数形で収束が遅いものかを区別して演
算処理するようにする。
The present invention is effective for the operation on the input value of the function which converges slowly. For the function input value which has a complicated function shape but converges quickly, the operation may be executed by the conventional interpolation approximation processing. . That is, with such a function input value, the convergence speed is high, so that the required input value range is narrow and the capacity of the lookup table can be small. Therefore, as an aspect of the present invention, the arithmetic processing is performed by distinguishing whether the formula of the function input value to be calculated is complicated and has a fast convergence, or whether it is a simple exponential function and has a slow convergence.

【0036】なお、本発明は、指数シフト部のビット長
には制限がないため、入力が許される入力値域は浮動小
数点形式が表現できる範囲すべてに広げることができ
る。また、本発明は分子動力学のみならず、浮動小数点
形式で与えられる収束の遅い関数演算を行う一般的な多
体問題にも勿論適用することができる。
In the present invention, since the bit length of the exponent shift part is not limited, the input value range in which the input is allowed can be expanded to the whole range which can be expressed by the floating point format. Further, the present invention can be applied not only to molecular dynamics but also to a general many-body problem for performing a slow-convergence function operation given in a floating-point format.

【0037】[0037]

【発明の実施の形態】本発明を、実施例に基づいて具体
的に説明する。図1には、本発明の一実施例に係る演算
装置の主要部の構成を示してある。関数入力値1とし
て、符号部と指数部と仮数部をもつ浮動小数点形式の数
値が入力され、指数部/仮数部分離手段2が、計算モー
ド信号に従って、入力値1を指数部出力3と仮数部出力
4に分けて出力する。なお、指数部/仮数部分離手段2
は、例えば入力信号に応答してビットを出力するレジス
タなどの論理回路として容易に構成することができる。
BEST MODE FOR CARRYING OUT THE INVENTION The present invention will be specifically described based on Examples. FIG. 1 shows the configuration of the main part of an arithmetic unit according to an embodiment of the present invention. A floating-point number having a sign part, an exponent part, and a mantissa part is input as the function input value 1, and the exponent part / mantissa part separating means 2 outputs the input value 1 to the exponent part output 3 and the mantissa according to the calculation mode signal. The partial output 4 is output separately. The exponent part / mantissa part separation means 2
Can be easily configured as a logic circuit such as a register that outputs a bit in response to an input signal.

【0038】計算モードには指数関数モードと複雑関数
モードの2種類があり、この計算モード信号はオペレー
タの選択操作によって入力される。なお、関数入力値1
の関数形式に基づいて自動判定し、この判定結果に応じ
ていずれの計算モードにするかを信号入力するようにし
てもよい。計算モードが指数関数モードである場合に
は、指数部出力3は関数入力値1の指数部が出力され、
仮数部出力4は関数入力値1の指数部をゼロ(ゼロビッ
ト列)にした浮動小数点形式が出力される。一方、計算
モードが複雑関数モードである場合には、指数部出力3
はゼロ(ゼロビット列)が出力され、仮数部出力4は関
数入力値1がそのまま出力される。
There are two kinds of calculation modes, an exponential function mode and a complex function mode, and this calculation mode signal is input by an operator's selection operation. The function input value 1
The automatic determination may be performed based on the function form of, and a signal indicating which calculation mode should be used may be input according to the determination result. When the calculation mode is the exponential function mode, the exponent part output 3 is the exponent part of the function input value 1,
The mantissa output 4 is a floating point format in which the exponent of the function input value 1 is zero (zero bit string). On the other hand, when the calculation mode is the complex function mode, the exponent output 3
Is output as zero (zero bit string), and the mantissa output 4 outputs the function input value 1 as it is.

【0039】乗算器6は、指数部出力3とあらかじめ設
定された倍数5との積を計算する。乗算器6は論理回路
によって容易に構成することができ、また、整数の乗算
器なので小さい規模で簡単に実現できる。補間処理装置
7は、メモリに必要な補間データを記憶したルックアッ
プテーブル7aを有し、仮数部出力4を入力としてルッ
クアップテーブル7aを参照する多項式補間近似により
関数計算を行い、浮動小数点形式で補間近似出力8を出
力する。なお、補間処理装置7は、例えば特開平6―1
75825号公報に記載されるように、論理回路によっ
て容易に構成することができる。
The multiplier 6 calculates the product of the exponent part output 3 and a preset multiple 5. The multiplier 6 can be easily configured by a logic circuit, and can be easily realized on a small scale because it is an integer multiplier. The interpolation processing device 7 has a look-up table 7a in which necessary interpolation data is stored in a memory, performs a function calculation by polynomial interpolation approximation using the mantissa output 4 as an input and refers to the look-up table 7a, and outputs it in a floating point format. The interpolation approximation output 8 is output. The interpolation processing device 7 is, for example, disclosed in Japanese Patent Laid-Open No. 6-1
As described in Japanese Patent No. 75825, it can be easily configured by a logic circuit.

【0040】加算器9は、補間近似出力8の指数部に、
乗算器6が出力した積を加えて、計算結果10を生成出
力する。したがって、計算モードが収束の遅い指数関数
モードである場合には、関数入力値1が指数部と残余の
部分とに分離されて、指数部には倍数が乗じられ、残余
の部分にはルックアップテーブルを参照した補間近似計
算がなされ、これら倍数された指数部と補間近似計算結
果とが加算される処理がなされる。なお、計算モードが
複雑関数モードである場合にも同様な処理がなされる
が、乗算器6が出力する積はゼロであるので、補間近似
出力8がそのまま計算結果10となる。
The adder 9 is provided in the exponent part of the interpolation approximation output 8
The product output from the multiplier 6 is added to generate and output the calculation result 10. Therefore, when the calculation mode is the exponential function mode in which the convergence is slow, the function input value 1 is separated into the exponent part and the residual part, the exponent part is multiplied by a multiple, and the residual part is looked up. Interpolation approximation calculation is performed with reference to the table, and processing is performed in which the multiplied exponent part and the interpolation approximation calculation result are added. Although the same processing is performed when the calculation mode is the complex function mode, the product output from the multiplier 6 is zero, so the interpolation approximation output 8 becomes the calculation result 10 as it is.

【0041】上記のように計算モードが指数関数モード
の場合の補間処理装置7の入力値域は、1以上2未満と
大変狭く、必要なルックアップテーブルの容量は非常に
少なくて済む。一方、計算モードが複雑関数モードの場
合、前述した分子動力学法における近距離力の計算に相
当するので、収束が速い関数の計算である。そのため、
補間処理装置7の入力値域の上限は小さくて済み、補間
処理装置7の必要なルックアップテーブル容量は少なく
なる。したがって、本実施例によれば、少ないルックア
ップテーブル容量の補間処理装置で、精度を落とすこと
なく正しい計算結果を出すことができる。
As described above, when the calculation mode is the exponential function mode, the input value range of the interpolation processing device 7 is very narrow, being 1 or more and less than 2, and the required capacity of the look-up table is very small. On the other hand, when the calculation mode is the complex function mode, it corresponds to the calculation of the short-distance force in the above-mentioned molecular dynamics method, and therefore the calculation of the function is fast. for that reason,
The upper limit of the input range of the interpolation processing device 7 is small, and the required lookup table capacity of the interpolation processing device 7 is small. Therefore, according to the present embodiment, it is possible to obtain a correct calculation result without degrading accuracy with an interpolation processing device having a small lookup table capacity.

【0042】図2には、本発明の他の実施例に係る演算
装置の主要部の構成を示してある。本例は、関数入力値
を、指数部の上位ビット部と、指数部に下位ビット部及
び仮数部を含む残余の部分とに分離するものであり、ま
た、関数入力値などの全ての浮動小数点は図6に示すよ
うに40ビット長の拡張単精度形式を用いて、より具体
的に説明する。
FIG. 2 shows the configuration of the main part of an arithmetic unit according to another embodiment of the present invention. In this example, the function input value is separated into the high-order bit part of the exponent part and the remaining part including the low-order bit part and the mantissa part of the exponent part. Will be described more specifically by using the extended single precision format of 40-bit length as shown in FIG.

【0043】本例では、入力値には粒子間距離の自乗値
を用いる。前述したように、3次元直交座標系(デカル
ト座標)で二つの座標間の距離を算出する場合、距離の
自乗値は積和演算のみで簡単に求められるためである。
入力値をSとして、計算する関数は、数式13に示すよ
うなクーロン力fc(S)と、数式14に示すようなファ
ンデルワールス力fvdw(S)である。式の形からわか
るようにクーロン力は単純な指数関数であり、ファンデ
ルワールス力は複雑な形だが収束は速い関数である。
In this example, the squared value of the interparticle distance is used as the input value. This is because, as described above, when the distance between two coordinates is calculated in the three-dimensional Cartesian coordinate system (Cartesian coordinates), the square value of the distance can be easily obtained by only the product-sum calculation.
With the input value S, the functions to be calculated are the Coulomb force fc (S) as shown in Formula 13 and the van der Waals force fvdw (S) as shown in Formula 14. As you can see from the form of the equation, Coulomb force is a simple exponential function, and Van der Waals force is a complicated form, but convergence is a fast function.

【0044】[0044]

【数13】 [Equation 13]

【0045】[0045]

【数14】 [Equation 14]

【0046】入力値21は、計算する関数の引数Sを図
6に示す40ビットの拡張単精度浮動小数点形式で表現
したものである。具体的には、仮数m(1≦m<2)と
指数e(整数)を用いて、数式15に示す形で表現され
る。入力値21は、分離手段22によって、38ビット
目から32ビット目までの指数部の上位7ビットを切り
出した指数部分23と、それ以外の指数部の下位ビット
や仮数部や符号部を含む仮数部分24の二つに分離され
る。
The input value 21 represents the argument S of the function to be calculated in the 40-bit extended single precision floating point format shown in FIG. Specifically, the mantissa m (1 ≦ m <2) and the exponent e (integer) are used and expressed in the form shown in Expression 15. The input value 21 is a mantissa including an exponent part 23 obtained by cutting out the upper 7 bits of the exponent part from the 38th bit to the 32nd bit by the separating means 22 and the lower bits of the other exponent parts, the mantissa part, and the sign part. It is separated into two parts 24.

【0047】[0047]

【数15】 [Equation 15]

【0048】ここで、本例では指数部の下位1ビットを
仮数部分24に残している。これは、数式13に示すク
ーロン力の計算式の指数が―15で整数でないためであ
る。そこで、指数部eを上位7ビットのehと下位1ビ
ットのelに分けて扱う。そうすれば、ehは必ず偶数
となるから、―15を乗じた値―15ehは必ず整数と
なる。つまり数式16であり、数式17となる。数式1
7中の数式18に示す項を仮数部分として補間処理で計
算を行う。この仮数部分の範囲は1以上4未満となる。
―15ehは必ず整数であるから、これを補間処理で得
た値の指数部に加えることによって、正しい計算結果を
得ることができる。
In this example, the lower 1 bit of the exponent part is left in the mantissa part 24. This is because the exponent of the Coulomb force calculation formula shown in Formula 13 is −15 and is not an integer. Therefore, the exponent part e is divided into an upper 7-bit eh and a lower 1-bit e1. Then, since eh is always an even number, the value -15eh multiplied by -15 is always an integer. That is, Equation 16 is obtained and Equation 17 is obtained. Formula 1
Calculation is performed by interpolation processing with the term shown in Expression 18 in 7 as the mantissa part. The range of this mantissa part is 1 or more and less than 4.
Since −15 eh is always an integer, a correct calculation result can be obtained by adding this to the exponent part of the value obtained by the interpolation processing.

【0049】[0049]

【数16】 [Equation 16]

【0050】[0050]

【数17】 [Equation 17]

【0051】[0051]

【数18】 [Equation 18]

【0052】論理ゲート25は、FuncMode指令信号(計
算モード信号)の値と、指数部分23との論理積演算を
行う。計算する関数が単純な指数関数であるとしてFunc
Mode指令値が設定された場合は、論理ゲート25は7ビ
ットのゼロ列を出力し、計算する関数が複雑な形の関数
であるとしてFuncMode指令値が設定された場合は、指数
部分23をそのまま出力する。論理ゲート25の出力は
仮数部分24の分離した指数部分に挿入されて合成さ
れ、補間処理入力値26が生成される。補間処理装置2
7は、補間データをメモリに記憶したルックアップテー
ブル27aを有し、補間処理入力値26を入力値として
ルックアップテーブル27aを参照して補間近似出力値
28を計算する。
The logic gate 25 performs a logical product operation of the value of the FuncMode command signal (calculation mode signal) and the exponent part 23. Func assuming that the function to calculate is a simple exponential function
When the Mode command value is set, the logic gate 25 outputs a 7-bit zero string, and when the FuncMode command value is set because the function to be calculated is a complicated function, the exponent part 23 is left as it is. Output. The output of the logic gate 25 is inserted into the separated exponent part of the mantissa part 24 and combined to generate an interpolation processing input value 26. Interpolation processing device 2
Reference numeral 7 has a lookup table 27a in which interpolation data is stored in a memory, and the interpolation approximation output value 28 is calculated by referring to the lookup table 27a using the interpolation processing input value 26 as an input value.

【0053】一方、指数部分23は、左シフタ29およ
び二つのゲート装置30、31および加算器32、符号
反転器33によって、MULSEL指令信号値に基づいて図3
に示す倍数で乗算処理を行い、8ビットの整数34を生
成する乗算手段を構成している。数式13に示すクーロ
ン力を計算する場合は、MULSEL指令信号値を(11)と
して、―1.5倍の値を計算する。ファンデルワールス
力のような複雑な関数の計算を行う場合は、MULSELを
(00)として、ゼロ倍の計算をする。なお、図3に示
すように、MULSEL指令信号値の設定によって別の形の単
純指数関数の計算に用いることも可能である。
On the other hand, the exponent part 23 is generated by the left shifter 29 and the two gate devices 30, 31 and the adder 32 and the sign inverter 33 based on the MULSEL command signal value.
The multiplication means is configured to perform the multiplication processing with the multiple shown in (1) to generate an 8-bit integer 34. When calculating the Coulomb force shown in Expression 13, the value of −1.5 is calculated with the MULSEL command signal value as (11). When calculating a complicated function such as the Van der Waals force, MULSEL is set to (00) and the calculation is performed with zero times. As shown in FIG. 3, it is also possible to use another type of simple exponential function calculation by setting the MULSEL command signal value.

【0054】加算器35は補間近似出力28の指数部に
整数34を加算し、計算結果36を出力する。この場
合、複雑な関数の計算をする場合は整数34がゼロとな
っているので、補間近似出力28がそのまま計算結果3
6となる。したがって、上記の処理によって、正しく計
算結果36を得ることができる。
The adder 35 adds the integer 34 to the exponent part of the interpolation approximation output 28 and outputs the calculation result 36. In this case, since the integer 34 is zero when calculating a complicated function, the interpolation approximation output 28 is the calculation result 3 as it is.
It becomes 6. Therefore, the calculation result 36 can be correctly obtained by the above processing.

【0055】そして、本例の補間処理装置27に必要な
入力値域は、単純な指数関数の場合で1以上4未満、複
雑な関数の場合はその関数の収束の速さに依存する。例
えば、数式14に示すファンデルワールス力の計算では
経験的にSが2の9乗未満の範囲で十分であることがわ
かっている。そこで、入力値域を数式19のようにする
と、指数で―9から+9の範囲を補間近似するためには
18×2048組の補間データが必要となる。つまり、
必要なルックアップテーブル記憶容量は、18×204
8×3×40=4423680ビットとなり、従来の7
372800ビットのほぼ半分で済む。
The input value range required for the interpolation processing device 27 of this example depends on the speed of convergence of 1 or more and less than 4 in the case of a simple exponential function and in the case of a complicated function. For example, in the calculation of the van der Waals force shown in Expression 14, it has been empirically known that S in a range of less than 2 9 is sufficient. Therefore, if the input value range is expressed by Equation 19, 18 × 2048 sets of interpolation data are required to interpolate and approximate the range of −9 to +9 by the exponent. That is,
The required lookup table storage capacity is 18 × 204
8 x 3 x 40 = 4423680 bits, which is 7
It is almost half of 372800 bits.

【0056】[0056]

【数19】 [Formula 19]

【0057】次に、従来と同様に比較的精度が重要でな
い領域について補間データを間引いた場合を考える。数
式20及び数式21に示す領域について、仮数部の上位
8ビットのインデックスアドレスを用いることにして、
ルックアップテーブル容量を圧縮した場合、必要なルッ
クアップテーブル記憶容量は10.5×2048×3×
40=2580480ビットとなり、従来の39321
60ビットよりかなり圧縮できる。この容量圧縮により
ファンデルワールス力においては、数式20及び数式2
1に示す領域で仮数にして20〜23ビット程度の精度
しか得られなくなるが、単純な指数関数であるクーロン
力に関しては、すべての入力値域に関して十分な精度で
計算できる。
Next, consider a case where interpolation data is thinned out in a region where accuracy is relatively unimportant, as in the conventional case. For the areas shown in Equations 20 and 21, the upper 8 bits of the index address of the mantissa part are used.
When the lookup table capacity is compressed, the required lookup table storage capacity is 10.5 × 2048 × 3 ×
40 = 2580480 bits, which is the conventional 39321
It can be compressed much more than 60 bits. With this van der Waals force due to this volume compression, Equation 20 and Equation 2
Although only a precision of about 20 to 23 bits can be obtained in the mantissa in the area indicated by 1, the Coulomb force, which is a simple exponential function, can be calculated with sufficient precision for all input value ranges.

【0058】[0058]

【数20】 [Equation 20]

【0059】[0059]

【数21】 [Equation 21]

【0060】ここで、収束の速い関数入力値の計算モー
ドの場合、図1に示した例では、入力関数値から分離し
た指数部をゼロとして倍数乗算して補間近似計算結果に
ゼロを加算し、また、図2に示した例では、入力関数値
から分離した指数部にゼロを倍数乗算して補間近似計算
結果にゼロを加算しているが、いずれの態様にあっても
同一結果を得られるので、本発明では、関数入力値から
指数部の全部を分離する方式と指数部の上位ビット部を
分離する方式において、これらいずれの態様も採用する
ことができる。また、関数入力値から指数部の上位ビッ
ト部を分離する方式の場合、上位ビットを何ビットにす
るか(すなわち、下位ビットとして何ビット仮数部に連
結して残すか)は、計算する指数関数の形によって決定
され、当該指数関数の指数を整数として扱えるようにす
ればよい。
Here, in the case of the function input value calculation mode with fast convergence, in the example shown in FIG. 1, the exponent part separated from the input function value is set to zero, and multiplication is performed to add zero to the interpolation approximation calculation result. In the example shown in FIG. 2, the exponent part separated from the input function value is multiplied by zero to add zero to the interpolated approximation calculation result. Therefore, in the present invention, any of these aspects can be adopted in the method of separating the entire exponent part from the function input value and the method of separating the upper bit part of the exponent part. Also, in the case of the method of separating the high-order bit part of the exponent part from the function input value, the number of high-order bits (that is, how many low-order bits are connected to the mantissa part and left) is calculated by the exponential function. The exponent of the exponential function may be treated as an integer.

【0061】[0061]

【発明の効果】以上説明したように、本発明によると、
関数入力値の指数部の全て或いは上位ビット部を除いた
部分に付いて補間近似処理を行うようにしたため、高精
度な演算結果を保証しつつ、補間近似処理に用いるルッ
クアップテーブルに必要な記憶容量を減らすことができ
る。
As described above, according to the present invention,
Since the interpolation approximation processing is performed for all of the exponent part of the function input value or for the part excluding the high-order bit part, the memory required for the lookup table used for the interpolation approximation process is ensured while guaranteeing a highly accurate calculation result. The capacity can be reduced.

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

【図1】 本発明の一実施例に係る演算装置の主要部の
構成図である。
FIG. 1 is a configuration diagram of a main part of an arithmetic device according to an embodiment of the present invention.

【図2】 本発明の他の一実施例に係る演算装置の主要
部の構成図である。
FIG. 2 is a configuration diagram of a main part of an arithmetic device according to another embodiment of the present invention.

【図3】 本発明の他の一実施例に係るMULSEL信号と倍
数の関係を示す図である。
FIG. 3 is a diagram showing a relationship between a MULSEL signal and a multiple according to another embodiment of the present invention.

【図4】 従来の一例に係る演算装置の主要部の構成図
である。
FIG. 4 is a configuration diagram of a main part of a computing device according to a conventional example.

【図5】 補間処理の一例に係るタイミングチャートで
ある。
FIG. 5 is a timing chart according to an example of interpolation processing.

【図6】 拡張単精度浮動小数点形式の一例を説明する
図である。
FIG. 6 is a diagram illustrating an example of an extended single precision floating point format.

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

1:関数入力値、 2:指数部/仮数部分離手段、6:
乗算器、 7:補間処理装置、7a:ルックアップテー
ブル、 9:加算器、21:関数入力値、 25:論理
積ゲート器、27:補間処理装置、 27a:ルックア
ップテーブル、29:左シフト装置、 30、31:論
理積ゲート器、32:加算器、 33:符号反転器、3
5:加算器、
1: function input value, 2: exponent part / mantissa part separation means, 6:
Multiplier, 7: Interpolation processing device, 7a: Look-up table, 9: Adder, 21: Function input value, 25: Logical product gate device, 27: Interpolation processing device, 27a: Look-up table, 29: Left shift device , 30, 31: AND gate device, 32: Adder, 33: Sign inverter, 3
5: adder,

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 指数部と仮数部とを含む浮動小数点形式
として与えられる関数入力値を演算する演算装置であっ
て、 前記関数入力値から指数部が分離された残余の仮数部を
入力値としてルックアップテーブルを参照した補間近似
計算を行う補間処理手段と、 前記関数入力値から抽出された指数部をあらかじめ設定
された倍数で乗算する乗算手段と、 前記補間処理手段からの出力値の指数部に、前記倍数で
乗算した指数部の値を加算する加算手段と、を備えたこ
とを特徴とする演算装置。
1. A computing device for computing a function input value provided as a floating-point format including an exponent part and a mantissa part, wherein the remaining mantissa part obtained by separating the exponent part from the function input value is used as an input value. Interpolation processing means for performing an interpolation approximation calculation with reference to a lookup table, multiplication means for multiplying an exponent part extracted from the function input value by a preset multiple, and an exponent part of an output value from the interpolation processing part And an adding unit that adds the value of the exponent part multiplied by the multiple.
【請求項2】 請求項1に記載の演算装置において、 関数入力値が収束の速い関数であるか又は遅い関数であ
るかに応じて入力されるモード指示信号に応答して、収
束の速い関数の計算モード指示信号である場合には入力
された指数部と仮数部とを含む前記関数入力値を前記補
間処理手段へ出力するとともに指数部としてゼロを前記
乗算手段に出力し、収束の遅い関数の計算モード指示信
号である場合には入力された指数部をゼロとして残余の
関数入力値を補間処理手段へ出力するとともに前記関数
入力値から抽出した指数部を前記乗算手段に出力する分
離手段を備えたことを特徴とする演算装置。
2. The arithmetic unit according to claim 1, wherein the function input value is a function having a fast convergence in response to a mode instruction signal input depending on whether the function input value is a function having a fast convergence or a function having a slow convergence. In the case of the calculation mode instruction signal, the function input value including the input exponent part and mantissa part is output to the interpolation processing means, and zero is output as the exponent part to the multiplication means, which is a slow convergence function. When the calculation mode instruction signal is, the input exponent part is set to zero, the remaining function input value is output to the interpolation processing means, and the exponent part extracted from the function input value is output to the multiplication means. An arithmetic unit characterized by being provided.
【請求項3】 請求項1に記載の演算装置において、 関数入力値が収束の速い関数であるか又は遅い関数であ
るかに応じて入力されるモード指示信号に応答して、収
束の速い関数の計算モード指示信号である場合には入力
された指数部と仮数部とを含む前記関数入力値を前記補
間処理手段へ出力するとともに前記関数入力値から抽出
した指数部を前記乗算手段に出力し、収束の遅い関数の
計算モード指示信号である場合には入力された指数部を
ゼロとして残余の関数入力値を補間処理手段へ出力する
とともに前記関数入力値から抽出した指数部を前記乗算
手段に出力する分離手段を備え、 前記乗算手段は、収束の速い関数の計算モードである場
合には入力された指数部にゼロを乗算する処理を行うこ
とを特徴とする演算装置。
3. The arithmetic unit according to claim 1, wherein the function input value is a function having a fast convergence in response to a mode instruction signal inputted depending on whether the function input value is a function having a fast convergence or a function having a slow convergence. In the case of the calculation mode instruction signal, the function input value including the input exponent part and mantissa part is output to the interpolation processing means, and the exponent part extracted from the function input value is output to the multiplication means. , If the calculation mode instruction signal is a function with slow convergence, the input exponent part is set to zero and the remaining function input value is output to the interpolation processing means, and the exponent part extracted from the function input value is input to the multiplication means. An arithmetic unit, comprising: a separating unit for outputting, wherein the multiplying unit performs a process of multiplying an input exponent part by zero in a calculation mode of a function with fast convergence.
【請求項4】 指数部と仮数部とを含む浮動小数点形式
として与えられる関数入力値を演算する演算装置であっ
て、 前記関数入力値から指数部の上位ビット部が分離された
残余の部分を入力値としてルックアップテーブルを参照
した補間近似計算を行う補間処理手段と、 前記関数入力値から抽出された指数部の上位ビット部を
あらかじめ設定された倍数で乗算する乗算手段と、 前記補間処理手段からの出力値の指数部に、前記倍数で
乗算した指数部の上位ビット部の値を加算する加算手段
と、を備えたことを特徴とする演算装置。
4. A computing device for computing a function input value provided as a floating-point format including an exponent part and a mantissa part, wherein a remainder part obtained by separating the higher-order bit part of the exponent part from the function input value is used. Interpolation processing means for performing an interpolation approximation calculation with reference to a lookup table as an input value; multiplication means for multiplying a high-order bit part of an exponent part extracted from the function input value by a preset multiple; and the interpolation processing means. An arithmetic unit comprising: an adder unit for adding the value of the higher-order bit part of the exponent part multiplied by the multiple to the exponent part of the output value from.
【請求項5】 請求項4に記載の演算装置において、 関数入力値が収束の速い関数であるか又は遅い関数であ
るかに応じて入力されるモード指示信号に応答して、収
束の速い関数の計算モード指示信号である場合には入力
された指数部と仮数部とを含む前記関数入力値を前記補
間処理手段へ出力するとともに指数部の上位ビット部と
してゼロを前記乗算手段に出力し、収束の遅い関数の計
算モード指示信号である場合には指数部の上位ビット部
をゼロとして残余の指数部の下位ビット部及び仮数部を
含む部分を補間処理手段へ出力するとともに前記関数入
力値から抽出した指数部の上位ビット部を前記乗算手段
に出力する分離手段を備えたことを特徴とする演算装
置。
5. The arithmetic unit according to claim 4, wherein the function input value is a function having a fast convergence in response to a mode instruction signal input depending on whether the function input value is a function having a fast convergence or a function having a slow convergence. In the case of the calculation mode instruction signal, the function input value including the input exponent part and mantissa part is output to the interpolation processing means, and zero is output to the multiplication means as the upper bit part of the exponent part. In the case of a calculation mode designating signal of a slow-converging function, the upper bit part of the exponent part is set to zero, the part including the lower bit part of the remaining exponent part and the mantissa part is output to the interpolation processing means, and the function input value An arithmetic unit comprising: a separating means for outputting the extracted high-order bit portion of the exponent portion to the multiplying means.
【請求項6】 請求項4に記載の演算装置において、 関数入力値が収束の速い関数であるか又は遅い関数であ
るかに応じて入力されるモード指示信号に応答して、収
束の速い関数の計算モード指示信号である場合には入力
された指数部と仮数部とを含む前記関数入力値を前記補
間処理手段へ出力するとともに前記関数入力値から抽出
した指数部の上位ビット部を前記乗算手段に出力し、収
束の遅い関数の計算モード指示信号である場合には入力
された指数部の上位ビット部をゼロとして残余の指数部
の下位ビット部及び仮数部を含む部分を補間処理手段へ
出力するとともに前記関数入力値から抽出した指数部の
上位ビット部を前記乗算手段に出力する分離手段を備
え、 前記乗算手段は、収束の速い関数の計算モードである場
合には入力された指数部の上位ビット部にゼロを乗算す
る処理を行うことを特徴とする演算装置。
6. The arithmetic unit according to claim 4, wherein the function input value is a function having a fast convergence in response to a mode instruction signal input depending on whether the function input value is a function having a fast convergence or a function having a slow convergence. When the calculation mode instruction signal is, the function input value including the input exponent part and mantissa part is output to the interpolation processing means, and the higher-order bit part of the exponent part extracted from the function input value is multiplied. In the case of a calculation mode designating signal of a function having a slow convergence, the upper bit part of the input exponent part is set to zero, and the part including the lower bit part of the remaining exponent part and the mantissa part is supplied to the interpolation processing means. A separating means is provided for outputting to the multiplying means the upper bit part of the exponent part extracted from the function input value, and the multiplying means is inputted when the calculation mode of the function with fast convergence. Arithmetic apparatus characterized by performing a process of multiplying a zero to the upper bits of the number of parts.
【請求項7】 指数部と仮数部とを含む浮動小数点形式
として与えられる関数入力値を演算する方法であって、 前記関数入力値から指数部を分離して、メモリに記憶し
たルックアップテーブルを参照した演算処理で残余の仮
数部を補間近似計算し、 前記関数入力値から抽出した指数部をあらかじめ設定さ
れた倍数で乗算し、 前記補間近似計算の結果値の指数部に、前記倍数で乗算
した指数部の値を加算することを特徴とする演算方法。
7. A method for calculating a function input value provided as a floating point format including an exponent part and a mantissa part, wherein an exponent part is separated from the function input value and a lookup table stored in a memory is used. Interpolation approximation calculation of the residual mantissa part by the operation processing referred to, the exponent part extracted from the function input value is multiplied by a preset multiple, and the exponent part of the result value of the interpolation approximation calculation is multiplied by the multiple. An arithmetic method characterized by adding the values of the exponents.
【請求項8】 指数部と仮数部とを含む浮動小数点形式
として与えられる関数入力値を演算する方法であって、 前記関数入力値から指数部の上位ビット部を分離して、
メモリに記憶したルックアップテーブルを参照した演算
処理で指数部の上位ビット部が分離された残余の部分を
補間近似計算し、 前記関数入力値から抽出した指数部の上位ビット部をあ
らかじめ設定された倍数で乗算し、 前記補間近似計算の結果値の指数部に、前記倍数で乗算
した指数部の上位ビット部の値を加算することを特徴と
する演算方法。
8. A method for calculating a function input value provided as a floating point format including an exponent part and a mantissa part, wherein a high-order bit part of the exponent part is separated from the function input value,
Interpolation approximation calculation is performed on the remaining part of the exponent part whose upper bit part has been separated by arithmetic processing referring to a lookup table stored in the memory, and the upper bit part of the exponent part extracted from the function input value is preset. A calculation method characterized by multiplying by a multiple, and adding the value of the upper bit part of the exponent part multiplied by the multiple to the exponent part of the result value of the interpolation approximation calculation.
JP2002147494A 2002-05-22 2002-05-22 Arithmetic apparatus and method Expired - Fee Related JP4129618B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002147494A JP4129618B2 (en) 2002-05-22 2002-05-22 Arithmetic apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002147494A JP4129618B2 (en) 2002-05-22 2002-05-22 Arithmetic apparatus and method

Publications (2)

Publication Number Publication Date
JP2003337695A true JP2003337695A (en) 2003-11-28
JP4129618B2 JP4129618B2 (en) 2008-08-06

Family

ID=29706031

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002147494A Expired - Fee Related JP4129618B2 (en) 2002-05-22 2002-05-22 Arithmetic apparatus and method

Country Status (1)

Country Link
JP (1) JP4129618B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111615700A (en) * 2018-01-05 2020-09-01 Ntt电子股份有限公司 Arithmetic circuit
CN111857650A (en) * 2020-08-04 2020-10-30 南京大学 Hardware computing system for realizing arbitrary floating point type operation based on mirror image lookup table and computing method thereof

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111615700A (en) * 2018-01-05 2020-09-01 Ntt电子股份有限公司 Arithmetic circuit
CN111615700B (en) * 2018-01-05 2023-12-08 Ntt创新器件有限公司 Arithmetic circuit
CN111857650A (en) * 2020-08-04 2020-10-30 南京大学 Hardware computing system for realizing arbitrary floating point type operation based on mirror image lookup table and computing method thereof
CN111857650B (en) * 2020-08-04 2023-09-05 南京大学 Hardware computing system for realizing arbitrary floating point operation based on mirror image lookup table and computing method thereof

Also Published As

Publication number Publication date
JP4129618B2 (en) 2008-08-06

Similar Documents

Publication Publication Date Title
US8615542B2 (en) Multi-function floating point arithmetic pipeline
CN112740171A (en) Multiply and accumulate circuit
Juang et al. A lower error and ROM-free logarithmic converter for digital signal processing applications
CN112651496A (en) Hardware circuit and chip for processing activation function
Arish et al. An efficient floating point multiplier design for high speed applications using Karatsuba algorithm and Urdhva-Tiryagbhyam algorithm
JP2005018759A (en) Method and apparatus for implementing power of two floating point estimation
TW202109281A (en) Signed multiword multiplier
Jaiswal et al. High performance FPGA implementation of double precision floating point adder/subtractor
Ücker et al. Optimizing iterative-based dividers for an efficient natural logarithm operator design
JP4129618B2 (en) Arithmetic apparatus and method
KR100847934B1 (en) Floating-point operations using scaled integers
US7194499B2 (en) Pipelined divider and dividing method with small lookup table
JP2670875B2 (en) Device for displaying parametric function using adaptive forward difference and integer arithmetic and method for realizing using integer arithmetic
Muller et al. Semi-logarithmic number systems
CN113407788A (en) Data processing method, device and system
Ismail et al. Hybrid logarithmic number system arithmetic unit: A review
US6549924B1 (en) Function generating interpolation method and apparatus
JP3064405B2 (en) Complex number processing
Alexander et al. An improved algorithm for assessing the overall quantisation error in FPGA based CORDIC systems computing a vector magnitude
US20240134608A1 (en) System and method to accelerate microprocessor operations
Ravi et al. Analysis and study of different multipliers to design floating point MAC units for digital signal processing applications
JPH10177591A (en) Numerical analyzer, its method, and integrated circuit
Ahmed et al. An Efficient Hardware Approach for Approximate Logarithmic Computation
JP2797773B2 (en) Reciprocal arithmetic unit
JP3538512B2 (en) Data converter

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20040811

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20041220

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041220

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050422

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080403

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080423

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080506

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110530

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110530

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120530

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120530

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130530

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140530

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees