JP3277799B2 - Many-body problem calculation method - Google Patents

Many-body problem calculation method

Info

Publication number
JP3277799B2
JP3277799B2 JP5861996A JP5861996A JP3277799B2 JP 3277799 B2 JP3277799 B2 JP 3277799B2 JP 5861996 A JP5861996 A JP 5861996A JP 5861996 A JP5861996 A JP 5861996A JP 3277799 B2 JP3277799 B2 JP 3277799B2
Authority
JP
Japan
Prior art keywords
input
address
data
calculation
flip
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP5861996A
Other languages
Japanese (ja)
Other versions
JPH09251418A (en
Inventor
典司 加藤
仁 池田
智之 庄谷
弘毅 上床
新次郎 豊田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP5861996A priority Critical patent/JP3277799B2/en
Publication of JPH09251418A publication Critical patent/JPH09251418A/en
Application granted granted Critical
Publication of JP3277799B2 publication Critical patent/JP3277799B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はパイプライン化され
た処理により計算を行う多体問題計算方法に関し、特に
高速なメモリを必要とする多体問題計算方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a multi-body problem calculation method for performing calculations by pipelined processing, and more particularly to a multi-body problem calculation method requiring a high-speed memory.

【0002】[0002]

【従来の技術】多体問題における力またはポテンシャル
の計算を行う例として、液体や固体或いは高分子などの
挙動を、それらを構成する原子の動きの結果として考
え、その動きを計算機でシミュレーションして研究する
分子動力学が知られている。分子動力学では原子または
分子を粒子と考え、それらの粒子間に働く力を計算し、
微小時間後の粒子の位置を計算する。この計算を繰り返
して各粒子の軌跡を求め、その結果としての物質の性質
などを計算する。一般にN個の粒子からなる系では力の
計算量はほぼN2 に比例し、速度や座標の計算量はNに
比例する。従って、Nが大きくなると力の計算量が膨大
になり、スーパーコンピュータを使っても計算が難しく
なる。そこで、力の計算を高速化するための専用計算機
が必要になってくる。
2. Description of the Related Art As an example of calculating a force or potential in a many-body problem, the behavior of a liquid, a solid, or a polymer is considered as a result of the movement of atoms constituting the same, and the movement is simulated by a computer. The molecular dynamics to study are known. In molecular dynamics, we consider atoms or molecules as particles, calculate the force acting between those particles,
Calculate the position of the particles after a minute time. By repeating this calculation, the trajectory of each particle is obtained, and the properties of the resulting material are calculated. In general, in a system composed of N particles, the amount of calculation of force is substantially proportional to N 2 , and the amount of calculation of speed and coordinates is proportional to N. Therefore, when N becomes large, the amount of calculation of force becomes enormous, and the calculation becomes difficult even by using a supercomputer. Therefore, a dedicated computer for speeding up the force calculation is required.

【0003】特開平6−176005号公報に示される
従来技術では、N個(Nは2以上の整数)の粒子からな
る系の、特定粒子に働く力又はポテンシャルを、特定粒
子と特定粒子以外の粒子との相互作用の総和として計算
する専用計算機が示されている。この専用計算機にはN
個の粒子の座標が連続的に供給され、N個の各粒子が特
定粒子におよぼす力又はポテンシャルがパイプライン的
に計算される構成となっている。以後、このような専用
計算機を多体問題用計算装置と呼ぶ。
[0003] In the prior art disclosed in Japanese Patent Application Laid-Open No. 6-176005, the force or potential acting on a specific particle of a system composed of N particles (N is an integer of 2 or more) is determined by using a specific particle and a particle other than the specific particle. A dedicated calculator is shown that calculates as the sum of interactions with the particles. This dedicated computer has N
The coordinates of the particles are continuously supplied, and the force or potential exerted on the specific particles by each of the N particles is calculated in a pipeline manner. Hereinafter, such a dedicated computer will be referred to as a multi-body problem computing device.

【0004】分子動力学において粒子間に働く力又はポ
テンシャルは粒子間の距離の関数として表される。前出
の多体問題用計算機はi番目の粒子と特定粒子との間の
距離x(i)を計算した後、微分係数や近似値が予め格
納されているルックアップテーブルメモリから距離デー
タx(i)に近い基点x0(i)での微分係数や近似値
を読み出し、1次或いは2次補間といった多項式による
補間処理を行うことによって、粒子間の距離に対応した
力又はポテンシャルの計算を行う。この時のデータの読
み出し及び補間処理を行う関数計算部の回路構成と、そ
の動作状況を以下に説明する。
The force or potential acting between particles in molecular dynamics is expressed as a function of the distance between the particles. After calculating the distance x (i) between the i-th particle and the specific particle, the computer for the many-body problem described above obtains distance data x () from a lookup table memory in which differential coefficients and approximate values are stored in advance. A differential coefficient or an approximate value at a base point x0 (i) close to i) is read, and a force or potential corresponding to the distance between particles is calculated by performing an interpolation process using a polynomial such as primary or quadratic interpolation. The circuit configuration of the function calculation unit that performs the data reading and interpolation processing at this time and the operation status thereof will be described below.

【0005】図8は従来の多体問題用計算装置の関数計
算部の回路図である。図において、関数計算装置40に
はルックアップテーブル用メモリであるSRAM50が
接続されている。このSRAM50には、粒子間の距離
に対応した微分係数や近似値が予め格納されている。
FIG. 8 is a circuit diagram of a function calculating section of a conventional multi-body problem calculating apparatus. In the figure, an SRAM 50, which is a memory for a lookup table, is connected to the function calculation device 40. In the SRAM 50, a differential coefficient and an approximate value corresponding to the distance between particles are stored in advance.

【0006】関数計算部40には、基点x0(i)に対
応したアドレスAD、粒子間距離x(i)と基点x0
(i)との差dx(i)、及び基本クロックCKが入力
されている。アドレスADはフリップフロップ41を介
してアドレスバスインタフェース42に入力されてお
り、粒子間距離x(i)と基点x0(i)との差dx
(i)は乗算機46に入力されており、基本クロックC
Kは3つのフリップフロップ41,44,47に入力さ
れている。アドレスバスインタフェース42はアドレス
バスを介してSRAM50のアドレス入力部に接続され
ており、外部から入力されたアドレスをSRAM50に
供給する。
The function calculator 40 stores an address AD corresponding to the base point x0 (i), an interparticle distance x (i) and a base point x0 (i).
The difference dx (i) from (i) and the basic clock CK are input. The address AD is input to the address bus interface 42 via the flip-flop 41, and the difference dx between the interparticle distance x (i) and the base point x0 (i).
(I) is input to the multiplier 46, and the basic clock C
K is input to the three flip-flops 41, 44, 47. The address bus interface 42 is connected to an address input unit of the SRAM 50 via an address bus, and supplies an externally input address to the SRAM 50.

【0007】データバスインタフェース43は、データ
バスを介してSRAM50のデータ出力部に接続されて
おり、SRAM50から出力されたデータDT0をフリ
ップフロップ44を介して加算器48のA入力と、2入
力セレクタ45のA入力とに供給する。2入力セレクタ
45の出力は乗算器46のB入力に接続されている。乗
算器46の出力は、フリップフロップ47を介して加算
器48のB入力に接続されている。加算器48の出力
は、計算結果の外部への出力及び2入力セレクタ45の
B入力となる。
A data bus interface 43 is connected to a data output section of the SRAM 50 via a data bus, and outputs the data DT0 output from the SRAM 50 via a flip-flop 44 to an A input of an adder 48 and a two-input selector. 45 A input. The output of the two-input selector 45 is connected to the B input of the multiplier 46. The output of the multiplier 46 is connected to the B input of an adder 48 via a flip-flop 47. The output of the adder 48 is the output of the calculation result to the outside and the B input of the two-input selector 45.

【0008】以上のような構成の関数計算装置40に、
基点x0(i)に対応したアドレス及び粒子間距離x
(i)と基点x0(i)との差dx(i)が入力される
ことにより補間の値が算出される。この例では、2次補
間を行う場合を考える。ここで、基点x0(i)での近
似値をf(i)、1階微分係数をf’(i)、2階微分
係数の1/2の値をf''(i)、距離データx(i)と
基点x0(i)との差をdx(i)=(x(i)−x0
(i))とするとき、補間した値f(x(i))は、次
式で表される。
In the function calculating device 40 having the above configuration,
Address corresponding to base point x0 (i) and distance x between particles
The value of the interpolation is calculated by inputting the difference dx (i) between (i) and the base point x0 (i). In this example, consider the case of performing secondary interpolation. Here, the approximate value at the base point x0 (i) is f (i), the first derivative is f ′ (i), the half value of the second derivative is f ″ (i), and the distance data x The difference between (i) and the base point x0 (i) is expressed as dx (i) = (x (i) −x0
When (i)), the interpolated value f (x (i)) is expressed by the following equation.

【0009】[0009]

【数1】 f(x(i))=f(i)+dx(i)×f’(i) +{dx(i)}2 ×f''(i) ・・・・(1) なお、各基点に対応したf''(i)、f’(i)、及び
f(i)の値は、ルックアップテーブル用メモリである
SRAM50内の連続のアドレスの領域に格納されてい
る。
F (x (i)) = f (i) + dx (i) × f ′ (i) + {dx (i)} 2 × f ″ (i) (1) The values of f ″ (i), f ′ (i), and f (i) corresponding to each base point are stored in a continuous address area in the SRAM 50 that is a look-up table memory.

【0010】図9は従来の関数計算装置のデータの変化
の様子を示すタイミングチャートである。このタイミン
グチャートは、基本クロックCK、外部から入力される
アドレスAD、外部から入力される距離データx(i)
と基点x0(i)との差dx(i)、ルックアップテー
ブル用メモリであるSRAM50から出力されるデータ
DT0、フリップフロップ44から出力されるデータD
T1、及び加算器48から出力される加算結果G(x)
の変化の様子を示している。なお、補間した値f(x
(i))を求めるための計算処理は3つのステップに分
けられるため、そのステップごとに各種データの変化の
様子を説明する。また、この関数計算部はパイプライン
処理を行っているため、各ステップは時間的に重複する
部分がある。
FIG. 9 is a timing chart showing how data changes in the conventional function calculation device. This timing chart shows a basic clock CK, an externally input address AD, and externally input distance data x (i).
Dx (i) between the reference value x0 (i) and the reference point x0 (i), data DT0 output from the SRAM 50 as a lookup table memory, and data D output from the flip-flop 44.
T1 and the addition result G (x) output from the adder 48
Shows the state of change. The interpolated value f (x
Since the calculation processing for obtaining (i) is divided into three steps, the state of change of various data for each step will be described. In addition, since this function calculation unit performs pipeline processing, each step has a portion that overlaps in time.

【0011】先ず最初のステップでは、サイクルT1の
基本クロックの立ち上がり時に、2階微分係数のアドレ
スAD(i)をアドレスバスへ出力する。これにより、
SRAM50から2階微分係数の1/2の値f''(i)
がデータバスを通して読み込まれる(DT0)。この2
階微分係数の1/2の値f''(i)は、サイクルT2の
基本クロックの立ち上がり時にフリップフロップ44に
よってラッチされる(DT1)。また、この時同時に粒
子間距離x(i)と基点x0(i)との差dx(i)が
乗算器46に入力される。ここで2入力セレクタ45は
入力Aを選択しており、乗算器46により2階微分係数
の1/2の値f''(i)と粒子間距離x(i)と基点x
0(i)との差dx(i)の乗算が行われる。乗算結果
はサイクルT3の立ち上がり時にフリップフロップ47
によってラッチされる。
In the first step, the address AD (i) of the second derivative is output to the address bus at the rise of the basic clock in cycle T1. This allows
From the SRAM 50, a value f ″ (i) of の of the second derivative
Is read through the data bus (DT0). This 2
The value f ″ (i) of of the second derivative is latched by the flip-flop 44 at the rise of the basic clock in the cycle T2 (DT1). At the same time, the difference dx (i) between the interparticle distance x (i) and the base point x0 (i) is input to the multiplier 46. Here, the two-input selector 45 has selected the input A, and the multiplier 46 has a value f ″ (i) of 1 / of the second derivative, the distance x (i) between particles, and the base point x.
Multiplication of a difference dx (i) from 0 (i) is performed. The result of the multiplication is supplied to the flip-flop 47 at the rise of the cycle T3.
Latched by

【0012】次のステップでは、サイクルT2の基本ク
ロックの立ち上がり時に、1階微分係数のアドレスAD
(i)+1をアドレスバスへ出力する。これにより、S
RAM50から1階微分係数f’(i)がデータバスを
通して読み込まれる(DT0)。この1階微分係数f’
(i)は、サイクルT3の基本クロックの立ち上がり時
にフリップフロップ44によってラッチされる(DT
1)。そして、加算器48において、フリップフロップ
47にラッチされている乗算結果とSRAM50から読
み出された1階微分係数f’(i)との加算が行われ
る。その加算結果g1(i)が加算器48から計算結果
G(x)として出力される。この時2入力セレクタ45
では入力Bが選択されており、加算結果g1(i)は乗
算器46に入力される。乗算器46では、加算結果g1
(i)と粒子間距離x(i)と基点x0(i)との差d
x(i)との乗算が行われる。この乗算結果は、サイク
ルT4の立ち上がり時にフリップフロップ47によって
ラッチされる。
In the next step, when the basic clock rises in cycle T2, the address AD of the first order differential coefficient is set.
(I) Output +1 to the address bus. Thereby, S
The first derivative f ′ (i) is read from the RAM 50 through the data bus (DT0). This first derivative f ′
(I) is latched by the flip-flop 44 at the rise of the basic clock in the cycle T3 (DT
1). Then, the adder 48 adds the multiplication result latched by the flip-flop 47 and the first derivative f ′ (i) read from the SRAM 50. The addition result g1 (i) is output from the adder 48 as the calculation result G (x). At this time, the 2-input selector 45
In, the input B is selected, and the addition result g1 (i) is input to the multiplier. In the multiplier 46, the addition result g1
Difference d between (i), distance x (i) between particles, and base point x0 (i)
Multiplication with x (i) is performed. The result of the multiplication is latched by the flip-flop 47 at the rising edge of the cycle T4.

【0013】最後のステップでは、サイクルT3の基本
クロックの立ち上がり時に近似値のアドレスAD(i)
+2をアドレスバスへ出力する。これにより、SRAM
50から近似値f(i)がデータバスを通して読み込ま
れる(DT0)。このf(i)は、サイクルT4の基本
クロックの立ち上がり時にフリップフロップ44によっ
てラッチされる(DT1)。そして加算器48におい
て、フリップフロップ47にラッチされている値とSR
AM50から読み出された近似値f(i)との加算が行
われ、サイクルT4中に加算結果g2(i)が出力され
る。この加算結果g2(i)が2次補間結果f(x
(i))である。
In the last step, the approximate address AD (i) is set when the basic clock rises in cycle T3.
+2 is output to the address bus. Thereby, the SRAM
From 50, the approximate value f (i) is read through the data bus (DT0). This f (i) is latched by the flip-flop 44 at the rise of the basic clock in cycle T4 (DT1). Then, in the adder 48, the value latched by the flip-flop 47 and SR
The addition with the approximate value f (i) read from the AM 50 is performed, and the addition result g2 (i) is output during the cycle T4. The addition result g2 (i) is the secondary interpolation result f (x
(I)).

【0014】以上の処理を連続して実行することによ
り、特定粒子に対して他の粒子から作用する力又はポテ
ンシャルをパイプライン処理によって計算することがで
きる。
By continuously performing the above processing, the force or potential acting on the specific particle from another particle can be calculated by pipeline processing.

【0015】[0015]

【発明が解決しようとする課題】ところで、上記の一連
の処理手順において、各補間処理用半導体集積回路装置
内部の計算部の基本クロックCKの周期Tcとルックア
ップテーブル用メモリのアクセス時間Taとの関係は、
Tc>Taでなければならない。従って、演算速度を上
げるために計算部の基本クロックCKの周波数を上げよ
うとすると、メモリアクセス時間の短い高速メモリが必
要となる。そのため、従来例ではアクセス時間が短いス
タティックRAMを用いていた。しかしながらスタティ
ックRAMは、ダイナミックRAMに比べて高価である
ため、多体問題用計算装置のコストが高くなってしまう
という問題点があった。
By the way, in the above-mentioned series of processing procedures, the cycle Tc of the basic clock CK of the calculation unit in each semiconductor integrated circuit device for interpolation processing and the access time Ta of the memory for the look-up table are used. The relationship is
Tc> Ta must be satisfied. Therefore, in order to increase the frequency of the basic clock CK of the calculation unit in order to increase the operation speed, a high-speed memory with a short memory access time is required. Therefore, in the conventional example, a static RAM having a short access time was used. However, since the static RAM is more expensive than the dynamic RAM, there is a problem that the cost of the multi-body problem computing device increases.

【0016】[0016]

【0017】本発明はこのような点に鑑みてなされたも
のであり、ルックアップテーブル用のメモリのコストを
低減できる多体問題計算方法を提供することを目的とす
る。
The present invention has been made in view of the above points.
The cost of the memory for the lookup table
The aim is to provide a multibody problem calculation method that can be reduced
You.

【0018】[0018]

【課題を解決するための手段】本発明の多体問題計算方
法では、粒子の座標が供給されると、ページモードのア
クセスが可能なダイナミックメモリに対して、前回読み
出しを行った領域と同じ行アドレスであれば列アドレス
のみを続けて供給し、前回読み出しを行った領域と異な
る行アドレスであれば、パイプライン処理を所定の時間
だけ停止させつつ行アドレスと列アドレスとを供給する
ことにより、前記座標と予め設定された特定粒子座標と
の差分に対応したパラメータを、前記ダイナミックメモ
リ内の前記差分の2乗に依存したアドレスから読み出
し、前記パラメータを用いて物理量を計算する多体問題
用計算装置に対し、互いに隣接する粒子座標を連続して
供給する、ことを特徴とする多体問題計算方法が提供さ
れる。
Means for Solving the Problems A method for calculating a many-body problem of the present invention
Method, page coordinates are supplied when the coordinates of the particles are supplied.
Read the previously accessible dynamic memory
Column address if it is the same row address as the area where
Is supplied continuously and is different from the area where the previous read was performed.
If the row address is
Supply row and column addresses while only stopping
By doing so, the coordinates and specific particle coordinates set in advance
The parameter corresponding to the difference
Read from an address in the memory that depends on the square of the difference
Multi-body problem of calculating physical quantities using the above parameters
The particle coordinates adjacent to each other are continuously
And a method for calculating a many-body problem is provided.
It is.

【0019】[0019]

【0020】[0020]

【0021】[0021]

【0022】[0022]

【0023】[0023]

【0024】この多体問題計算方法によれば、多体問題
用計算装置に対して、互いに隣接する粒子座標連続し
て供給し、座標と予め設定された特定粒子座標との差分
に対応したパラメータを、ダイナミックメモリ内の差分
の2乗に依存したアドレスから読み出すと、それらの粒
子座標と特定粒子座標との差分が近似した値になり、ダ
イナミックメモリから読み出すべきパラメータも近似し
た値となる。その結果、ダイナミックメモリの同一行ア
ドレスから連続してパラメータが読み出される確率が高
くなる。
According to the multi-body problem calculating method, the particle coordinates adjacent to each other are continuously supplied to the multi-body problem calculating device, and the difference between the coordinates and the predetermined specific particle coordinates is calculated.
Parameter corresponding to the difference in dynamic memory
When reading from an address depending on the square of, the difference between the particle coordinates and the specific particle coordinates becomes an approximate value, and the parameter to be read from the dynamic memory also becomes an approximate value. As a result, the probability that parameters are continuously read from the same row address of the dynamic memory increases.

【0025】[0025]

【発明の実施の形態】以下、本発明の実施の形態に基づ
いて図面を参照しながら説明する。図1は本発明の原理
構成図である。本発明の計算装置において、ダイナミッ
クメモリ(DRAM:Dynamic Random Access Memory)
1は、ページモードのアクセスが可能であり、パイプラ
イン処理を行うプロセッサの演算に必要なデータを格納
している。比較手段2には、ダイナミックメモリ1に前
回のアクセスで供給された最新行アドレスが行アドレス
記憶手段4から入力されており、ダイナミックメモリ1
に対する行アドレスと列アドレスとを指定したアクセス
要求が入力されると、アクセス要求の行アドレスと最新
行アドレスとを比較する。アドレス制御手段3は、比較
手段2による比較の結果、一致していれば列アドレスの
みをダイナミックメモリ1に供給し、一致していなけれ
ば行アドレスと列アドレスとをダイナミックメモリ1に
供給する。行アドレス記憶手段4は、ダイナミックメモ
リ1に対して行アドレスが供給されると、その行アドレ
スを最新行アドレスとして格納し、格納している最新行
アドレスを比較手段2に供給する。停止信号出力手段5
は、比較手段2による比較の結果が不一致の場合に、パ
イプライン処理を一定期間停止させる停止信号を出力す
る。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a diagram showing the principle of the present invention. In the computing device of the present invention, a dynamic memory (DRAM: Dynamic Random Access Memory)
Reference numeral 1 denotes a page mode which is accessible and stores data necessary for an operation of a processor performing a pipeline process. The latest row address supplied to the dynamic memory 1 in the previous access is input from the row address storage means 4 to the comparing means 2.
When an access request specifying a row address and a column address is input, the row address of the access request is compared with the latest row address. The address control means 3 supplies only the column address to the dynamic memory 1 if they match as a result of the comparison by the comparing means 2, and supplies the row address and the column address to the dynamic memory 1 if they do not match. When a row address is supplied to the dynamic memory 1, the row address storage unit 4 stores the row address as the latest row address, and supplies the stored latest row address to the comparison unit 2. Stop signal output means 5
Outputs a stop signal for stopping the pipeline processing for a certain period when the result of comparison by the comparing means 2 does not match.

【0026】この構成によれば、行アドレス記憶手段4
には、ダイナミックメモリ1に対して供給された最新の
行アドレスが最新行アドレスとして格納されている。そ
して、ダイナミックメモリ1に対するアクセス要求が入
力されると、入力されたアクセス要求の行アドレスと行
アドレス記憶手段4に格納されている最新行アドレスと
が、比較手段2により比較される。比較の結果、行アド
レスが一致していれば、アドレス制御手段3からダイナ
ミックメモリ1に対して列アドレスのみが供給され、ダ
イナミックメモリ1からデータが読み出される。一方、
行アドレスが不一致であれば、アドレス制御手段3から
ダイナミックメモリ1に対して行アドレスと列アドレス
とが供給され、ダイナミックメモリ1からデータが読み
出されるとともに、停止信号出力手段5により停止信号
が出力され、パイプライン処理が一定時間停止する。
According to this configuration, the row address storage means 4
Stores the latest row address supplied to the dynamic memory 1 as the latest row address. When an access request to the dynamic memory 1 is input, the comparison unit 2 compares the row address of the input access request with the latest row address stored in the row address storage unit 4. As a result of the comparison, if the row addresses match, only the column address is supplied from the address control means 3 to the dynamic memory 1, and data is read from the dynamic memory 1. on the other hand,
If the row addresses do not match, the row address and the column address are supplied from the address control means 3 to the dynamic memory 1, data is read from the dynamic memory 1, and a stop signal is output from the stop signal output means 5. , Pipeline processing stops for a certain period of time.

【0027】このようにして、パイプライン処理に必要
なデータの格納にページモードのアクセスが可能なダイ
ナミックメモリを使用し、行アドレスが連続する間は高
速なアクセスが可能となる。
In this way, a dynamic memory that can be accessed in a page mode is used to store data required for pipeline processing, and high-speed access is possible while row addresses are continuous.

【0028】図2は本発明の計算装置を関数計算手段と
して、多体問題用計算装置を組み立てた場合の実施の形
態を示すブロック図である。多体問題用計算装置10に
は、N個の粒子の座標を格納している座標格納用メモリ
20と、多体問題用計算装置10が計算を行う際にデー
タを取得するルックアップテーブル用メモリ30とが、
接続されている。また、この多体問題用計算装置は、図
示しない汎用計算機に接続されており、各種制御信号や
必要なデータは、汎用計算機(汎用計算機からの命令に
より動作する各種制御回路も含む)から供給される。な
お、この多体問題用計算装置はいくつもの処理段階に分
かれているが、各処理段階は、計算時間の短縮を目的と
してパイプライン的に処理を行うよう、計算結果の保存
も含めて、汎用計算機の制御を受ける。
FIG. 2 is a block diagram showing an embodiment in which a multi-body problem calculating device is assembled using the calculating device of the present invention as a function calculating means. The many-body problem calculation device 10 includes a coordinate storage memory 20 that stores the coordinates of N particles, and a lookup table memory that acquires data when the many-body problem calculation device 10 performs calculations. 30 and
It is connected. The multi-body problem computing device is connected to a general-purpose computer (not shown), and various control signals and necessary data are supplied from a general-purpose computer (including various control circuits that operate according to instructions from the general-purpose computer). You. This multi-body problem computing device is divided into a number of processing stages.Each processing stage performs general-purpose processing, including storage of calculation results, so that processing is performed in a pipeline for the purpose of reducing calculation time. Under the control of the computer.

【0029】座標格納用メモリ20は、汎用計算機の指
示に基づきN個の粒子の座標を順次多体問題用計算装置
10に供給する。多体問題用計算装置10は、座標格納
用メモリ20から供給される座標を読み込み、座標差分
計算手段13に入力する座標読み込み手段11と、予め
特定粒子の座標が記憶されている特定座標記憶手段12
と、2つの座標入力を受けて座標間の差分を計算する座
標差分計算手段13と、データの保持を行う遅延手段1
4と、データの変換を行う関数計算準備手段15と、関
数計算を行う関数計算手段16と、粒子間に働く力を計
算する粒子間力計算手段17と、1つの特定粒子に働く
力を最終的に求める加算手段18と、から構成されてい
る。
The coordinate storage memory 20 sequentially supplies the coordinates of the N particles to the multi-body problem computing device 10 based on instructions from a general-purpose computer. The many-body problem calculation apparatus 10 reads coordinates supplied from the coordinate storage memory 20 and inputs the coordinates to the coordinate difference calculation means 13, and a specific coordinate storage means in which the coordinates of specific particles are stored in advance. 12
A coordinate difference calculating means 13 for calculating a difference between coordinates in response to two coordinate inputs, and a delay means 1 for holding data
4, a function calculation preparation unit 15 for converting data, a function calculation unit 16 for performing a function calculation, an inter-particle force calculation unit 17 for calculating a force acting between particles, and a force acting on one specific particle. And an adding means 18 which is required to obtain the data.

【0030】座標差分計算手段13は、座標読み込み手
段11から入力された座標と、特定座標記憶手段12か
ら入力された特定粒子の座標と、2つの座標に対して、
各々対応する座標値の差分を計算する。計算された差分
は、この粒子対に固有のデータとして遅延手段14及び
関数計算準備手段15に入力される。
The coordinate difference calculating means 13 calculates the coordinates inputted from the coordinate reading means 11, the coordinates of the specific particles inputted from the specific coordinate storing means 12, and the two coordinates.
The difference between the corresponding coordinate values is calculated. The calculated difference is input to the delay unit 14 and the function calculation preparation unit 15 as data unique to the particle pair.

【0031】遅延手段14は入力されたデータをこの後
説明する粒子間力計算手段17へ、所定時間保持した後
に出力する。これは、多体問題用計算装置10が全ての
計算をパイプライン的に処理しており、後述する関数計
算手段16からの出力とタイミングを合わせる必要があ
るためである。
The delay means 14 outputs the input data to the inter-particle force calculating means 17 to be described later, after holding the data for a predetermined time. This is because the multi-body problem computing device 10 processes all calculations in a pipeline manner, and it is necessary to match the timing with the output from the function calculating means 16 described later.

【0032】関数計算準備手段15は入力されたデータ
を、関数計算手段16の必要とする形式の入力データへ
と変換し、関数計算手段16へ入力する。例えばルック
アップテーブル用メモリ30が、粒子対の間の距離Rの
2乗の指数表現をアドレスに利用して構成されていると
すれば、R2 を求める計算を行う。
The function calculation preparation means 15 converts the input data into input data in a format required by the function calculation means 16 and inputs the data to the function calculation means 16. For example, assuming that the look-up table memory 30 is configured by using an exponential expression of the square of the distance R between the particle pairs as an address, calculation for obtaining R 2 is performed.

【0033】関数計算手段16は、関数計算準備手段1
5からの入力データを基に、ルックアップテーブル用メ
モリ30を参照、必要データを取得し、関数計算を行
う。得られた結果は粒子間力計算手段17へと入力され
る。
The function calculation means 16 is a function calculation preparation means 1
Based on the input data from 5, the lookup table memory 30 is referred to, necessary data is obtained, and a function calculation is performed. The obtained result is input to the interparticle force calculation means 17.

【0034】粒子間力計算手段17において、遅延手段
14、及び関数計算手段16からの入力を基に、特定座
標と座標格納用メモリ20から読み込まれた座標との間
に働く粒子間力の計算が行われる。算出された粒子間力
は加算手段18へ入力され、1対の粒子に関する計算が
終了する。
The inter-particle force calculation means 17 calculates the inter-particle force acting between the specific coordinates and the coordinates read from the coordinate storage memory 20 based on the inputs from the delay means 14 and the function calculation means 16. Is performed. The calculated interparticle force is input to the adding means 18, and the calculation for a pair of particles is completed.

【0035】加算手段18では、逐次入力される粒子間
力が全て加算される。N対分の加算が終了することによ
って、必要とする特定粒子に働く力やポテンシャルが求
められることになる。
In the adding means 18, all the inter-particle forces sequentially inputted are added. When the addition for N pairs is completed, the required force and potential acting on the specific particles are obtained.

【0036】以上のような構成とすることで、この多体
問題用計算装置はN個(Nは2以上の整数)の粒子から
なる系の特定粒子に働く力又はポテンシャルを、特定粒
子と特定粒子以外の粒子との、相互作用の総和として計
算することができる。
With the above-described configuration, this multi-body problem calculation device specifies the force or potential acting on a specific particle of a system composed of N particles (N is an integer of 2 or more) as a specific particle. It can be calculated as the sum of interactions with particles other than particles.

【0037】次に本発明の主体にあたる関数計算手段1
6及びルックアップテーブル用メモリ30に関する詳し
い説明を行う。図3は本発明の計算装置の第1の実施の
形態の簡略回路図である。第1の実施の形態では、この
装置は、多体問題用計算装置内部で関数計算処理を受け
持つ、関数計算装置である。なお、多体問題用計算装置
自体が図示していない汎用計算機に接続されており、関
数計算装置に必要な各種制御信号やデータは、汎用計算
機(汎用計算機からの命令により動作する各種制御回路
も含む)から供給される。なお、この関数計算装置も、
いくつかの処理段階に分かれており、各処理段階は計算
時間の短縮を目的としてパイプライン的に処理を行うよ
う、計算結果の保存も含めて、汎用計算機の制御を受け
る。図3に示す構成と図2に示す構成との対応関係につ
いては、この説明の後に記す。
Next, the function calculation means 1 which is the subject of the present invention
6 and the look-up table memory 30 will be described in detail. FIG. 3 is a simplified circuit diagram of the first embodiment of the computing device of the present invention. In the first embodiment, this device is a function calculation device that performs a function calculation process inside a multi-body problem calculation device. Note that the multi-body problem computing device itself is connected to a general-purpose computer (not shown), and various control signals and data necessary for the function computing device are transmitted to the general-purpose computer (various control circuits that operate according to instructions from the general-purpose computer). Including). Note that this function calculator also
It is divided into several processing stages, and each processing stage is controlled by a general-purpose computer, including storage of calculation results, so as to perform processing in a pipeline for the purpose of reducing calculation time. The correspondence between the configuration shown in FIG. 3 and the configuration shown in FIG. 2 will be described after this description.

【0038】関数計算装置100には、粒子間距離Rの
2乗に対応したアドレス信号の上位ビットAD(H)及
び下位ビットAD(L)、粒子間距離x(i)と基点x
0(i)との差dx(i)が入力され、内部に演算クロ
ックCKを持つ。また、アドレスバス及びデータバスを
介して、高速ページモードを持つDRAM130と接続
されている。
The function calculation device 100 includes an upper bit AD (H) and a lower bit AD (L) of the address signal corresponding to the square of the interparticle distance R, an interparticle distance x (i), and a base point x.
A difference dx (i) from 0 (i) is input and has an operation clock CK inside. Further, it is connected to a DRAM 130 having a high-speed page mode via an address bus and a data bus.

【0039】このDRAM130は、粒子間の距離に対
応した微分係数や近似値の格納されているルックアップ
テーブル用のメモリである。高速ページモードを持つD
RAMからのデータの読み出しは、アドレス信号の上位
ビットAD(H)を行アドレスに、下位ビットAD
(L)を列アドレスに、時分割指定することで行うもの
である。詳しい説明は後述する。
The DRAM 130 is a memory for a look-up table in which a differential coefficient and an approximate value corresponding to the distance between particles are stored. D with fast page mode
To read data from the RAM, the upper bit AD (H) of the address signal is used as the row address and the lower bit AD (H) is used.
This is performed by specifying (L) to the column address in a time-division manner. A detailed description will be given later.

【0040】なお、DRAMへのアクセスは基本クロッ
クCLKに、計算装置内の演算は基本クロックCLKを
2分周した演算クロックCKに、同期して行われる。演
算クロックCKは3つのフリップフロップ111、12
2、及び126に入力されている。
The access to the DRAM is performed in synchronization with the basic clock CLK, and the calculation in the computing device is performed in synchronization with the calculation clock CK obtained by dividing the basic clock CLK by two. The operation clock CK has three flip-flops 111 and 12
2, and 126.

【0041】関数計算装置100は、大きく分けて2つ
の処理部を持つ。アドレス入力部110と演算部120
とである。アドレス入力部110が、アドレス信号の上
位ビットAD(H)及び下位ビットAD(L)の入力に
基づき、DRAM130へのアドレスの入力を行う。ま
た、演算部120が、DRAM130からデータバスを
介して取得されたデータ及び粒子間距離x(i)と基点
x0(i)との差dx(i)に基づき、関数演算を行
う。以下、それぞれの処理部に関して詳しく説明する。
The function calculation device 100 has two processing units roughly. Address input unit 110 and arithmetic unit 120
And The address input unit 110 inputs an address to the DRAM 130 based on the input of the upper bit AD (H) and the lower bit AD (L) of the address signal. Further, the calculation unit 120 performs a function calculation based on the data acquired from the DRAM 130 via the data bus and the difference dx (i) between the interparticle distance x (i) and the base point x0 (i). Hereinafter, each processing unit will be described in detail.

【0042】アドレス入力部110は、フリップフロッ
プ111と、アドレスバスインタフェース112と、行
アドレス記憶手段113と、行アドレス比較器114
と、ウェイト信号発生回路115とから構成されてお
り、フリップフロップ111を介して、演算クロックC
Kに基づく動作を行う。
The address input unit 110 includes a flip-flop 111, an address bus interface 112, a row address storage unit 113, and a row address comparator 114.
And a wait signal generation circuit 115. The operation clock C
The operation based on K is performed.

【0043】ここで、フリップフロップ111は、入力
されたアドレス信号の上位ビットAD(H)及び下位ビ
ットAD(L)を、演算クロックCKに基づき、行アド
レス及び列アドレスとしてアドレスバスインタフェース
112へ出力する。
Here, the flip-flop 111 outputs the upper bit AD (H) and the lower bit AD (L) of the input address signal to the address bus interface 112 as a row address and a column address based on the operation clock CK. I do.

【0044】アドレスバスインタフェース112は、入
力された行アドレス及び列アドレスを、アドレスバスを
介してDRAM130へ出力する。この際、後述する行
アドレス比較器114からの出力が「同一である」なら
ば列アドレスのみを、「同一でない」ならば行アドレス
と列アドレスとを順に、基本クロックCLKに基づいて
出力する。
The address bus interface 112 outputs the input row address and column address to the DRAM 130 via the address bus. At this time, if the output from a row address comparator 114, which will be described later, is "same", only the column address is output based on the basic clock CLK, and if not, the row address and the column address are output in order.

【0045】また、アドレスバスインタフェース112
は、内部に1クロック前の行アドレスを記憶する行アド
レス記憶手段113を持つ。この行アドレス記憶手段1
13は、記憶している行アドレスを、行アドレス比較器
114のA入力端子へ出力している。
The address bus interface 112
Has a row address storage unit 113 for storing a row address one clock before. This row address storage means 1
Reference numeral 13 outputs the stored row address to the A input terminal of the row address comparator 114.

【0046】行アドレス比較器114では、行アドレス
記憶手段113からの入力をA入力端子から、アドレス
信号の上位ビットAD(H)をB入力端子から、取得す
る。取得した2つのビットデータを比較し、「同一であ
る」もしくは「同一でない」という結果を、アドレスバ
スインタフェース112及びウェイト信号発生回路11
5へ出力する。
In the row address comparator 114, the input from the row address storage means 113 is obtained from the A input terminal, and the upper bit AD (H) of the address signal is obtained from the B input terminal. The two acquired bit data are compared with each other, and the result of “same” or “not the same” is determined by the address bus interface 112 and the wait signal generation circuit 11.
Output to 5

【0047】ウェイト信号発生回路115では、行アド
レス比較器114からの入力を受け、比較の結果が「同
一でない」の時のみ、ウェイト信号を発生させる。以上
のような構成を持つことにより、アドレス入力部110
は、従来の技術で説明した数式1に示されるf''
(i)、f’(i)、及びf(i)に対応するアドレス
信号を、基本クロックCLKに基づき、順次DRAMへ
出力することができる。
The wait signal generation circuit 115 receives an input from the row address comparator 114 and generates a wait signal only when the result of comparison is "not identical". With the above configuration, the address input unit 110
Is f ″ shown in Expression 1 described in the related art.
Address signals corresponding to (i), f '(i), and f (i) can be sequentially output to the DRAM based on the basic clock CLK.

【0048】なお、この式(1)は、i番目の粒子と特
定粒子との間の距離x(i)を計算した後、微分係数や
近似値が予め格納されているルックアップテーブルメモ
リから距離データx(i)に近い基点x0(i)での微
分係数や近似値を読み出し、2次補間処理を行うための
もので、基点x0(i)での近似値をf(i)、1階微
分係数をf’(i)、2階微分係数の1/2の値をf''
(i)、距離データと基点との粒子間距離x(i)と基
点x0(i)との差をdx(i)=(x(i)−x0
(i))とするときの補間された値f(x(i))を計
算する式である。
Equation (1) is obtained by calculating the distance x (i) between the i-th particle and the specific particle, and then calculating the distance x from the lookup table memory in which the differential coefficient and the approximate value are stored in advance. This is for reading out the differential coefficient and the approximate value at the base point x0 (i) close to the data x (i) and performing the secondary interpolation processing. The approximate value at the base point x0 (i) is expressed as f (i), The derivative is f ′ (i), and the value of の of the second derivative is f ″
(I) The difference between the particle distance x (i) between the distance data and the base point and the base point x0 (i) is represented by dx (i) = (x (i) -x0).
This is an equation for calculating the interpolated value f (x (i)) when (i)).

【0049】次に、演算部120が、どのような構成を
持つか説明する。演算部120にはDRAMから、入力
されたアドレス信号に対応したデータDT0が、順次供
給されている。
Next, the configuration of the arithmetic section 120 will be described. Data DT0 corresponding to the input address signal is sequentially supplied from the DRAM to the arithmetic unit 120.

【0050】演算部120は、データバスを介してDR
AMからデータDT0の取得を行い、そのデータDT0
を後述するフリップフロップ122へ入力するデータバ
スインタフェース121と、データの保持及びタイミン
グ合わせを行う2つのフリップフロップ122、126
と、次の回路への入力を選択する2つの2入力セレクタ
123、125と、乗算器124と、加算器127とか
ら構成される。
The operation unit 120 outputs a signal to the DR via the data bus.
The data DT0 is obtained from the AM and the data DT0 is obtained.
Is input to a flip-flop 122 to be described later, and two flip-flops 122 and 126 for holding data and adjusting timing
, Two two-input selectors 123 and 125 for selecting an input to the next circuit, a multiplier 124, and an adder 127.

【0051】フリップフロップ122は演算クロックC
Kに基づき、入力されたデータDT0を、2入力セレク
タ123のA入力端子と加算器127のA入力端子とに
入力する。
The flip-flop 122 operates at the operation clock C
Based on K, the input data DT0 is input to the A input terminal of the two-input selector 123 and the A input terminal of the adder 127.

【0052】2入力セレクタ123では、フリップフロ
ップ122からの入力データDT1をA入力端子に、後
述する加算器127からの入力をB入力端子に、受け取
る。計算サイクルのステージに応じ、受け取った2つの
入力のうち、どちらを出力するかを判断し、乗算器12
4のB入力へ出力する。
The two-input selector 123 receives the input data DT1 from the flip-flop 122 at an A input terminal and the input from an adder 127 to be described later at a B input terminal. According to the stage of the calculation cycle, which of the two received inputs is to be output is determined, and the multiplier 12
4 to the B input.

【0053】乗算器124では、粒子間距離x(i)と
基点x0(i)との差dx(i)をA入力端子に、2入
力セレクタ123からの出力をB入力端子に、受け取
る。受け取った2つの値を乗算し、2入力セレクタ12
5のA入力端子へ出力する。
The multiplier 124 receives the difference dx (i) between the interparticle distance x (i) and the base point x0 (i) at the A input terminal, and receives the output from the two-input selector 123 at the B input terminal. The two received values are multiplied, and a two-input selector 12
5 to the A input terminal.

【0054】2入力セレクタ125では、乗算器124
からの入力をA入力端子に、後述するフリップフロップ
126からの入力をB入力端子に、受け取る。ウェイト
信号に応じて、受け取った2つの入力のうち、どちらを
出力するか判断し、フリップフロップ126へ出力す
る。
In the two-input selector 125, a multiplier 124
Is input to an A input terminal, and an input from a flip-flop 126 described later is received to a B input terminal. It determines which of the two received inputs is to be output according to the wait signal, and outputs it to flip-flop 126.

【0055】フリップフロップ126では、2入力セレ
クタ125からの入力を、演算クロックCKに基づき、
加算器127のB入力端子及び2入力セレクタ125の
B入力端子へ出力する。
In the flip-flop 126, the input from the two-input selector 125 is input based on the operation clock CK.
The signal is output to the B input terminal of the adder 127 and the B input terminal of the two-input selector 125.

【0056】加算器127には、A入力端子にフリップ
フロップ122からの出力が、B入力端子にフリップフ
ロップ126からの出力が、入力される。入力された2
つの値を加算し、結果G(x)としてパイプラインの次
段へ、また2入力セレクタ123のB入力端子へ、出力
する。
To the adder 127, the output from the flip-flop 122 is input to the A input terminal, and the output from the flip-flop 126 is input to the B input terminal. 2 entered
The two values are added, and the result is output to the next stage of the pipeline as the result G (x) and to the B input terminal of the two-input selector 123.

【0057】以上のような構成を持つことによって、演
算部120は、数式(1)に示した計算を実行すること
ができる。その処理手順については更に詳しく説明を行
うが、その前に高速ページモードのDRAMについて、
少し説明をしておく。
With the above-described configuration, the arithmetic unit 120 can execute the calculation shown in Expression (1). The processing procedure will be described in more detail, but before that, for a DRAM in a high-speed page mode,
Let me explain a little.

【0058】通常モードのDRAMチップは、一度デー
タの入出力をしてから、次に入出力可能になるまでの時
間、即ちサイクル時間が非常に長い。これは、行アドレ
スと列アドレスを、それぞれ制御を行いながら順に入力
しなければならないからである。それに対して高速ペー
ジモードは、行バッファがSRAM(Static RandomAcc
ess Memory )のような動作をするもので、次の行アク
セス又はリフレッシュ時間が始まるまでは、列アドレス
を指定するだけで、行バッファ内の任意のビットにアク
セスできる。つまりデータ格納の際、利用時の読み出し
順序を考慮しておけば、サイクル時間は大幅に短縮可能
となる。
The DRAM chip in the normal mode has a very long time from inputting and outputting data to the next input / output, that is, a cycle time. This is because the row address and the column address must be input sequentially while controlling each of them. On the other hand, in the high-speed page mode, the row buffer is SRAM (Static RandomAcc).
It operates like an ess memory, and can access any bit in the row buffer by simply specifying the column address until the next row access or refresh time begins. In other words, when data is stored, the cycle time can be significantly reduced if the reading order at the time of use is taken into account.

【0059】なお、図3において、関数計算装置100
は図2の関数計算手段16に、DRAM130は図2の
ルックアップテーブル用メモリ30に、それぞれ対応し
ている。
It should be noted that in FIG.
2 corresponds to the function calculating means 16 in FIG. 2, and the DRAM 130 corresponds to the look-up table memory 30 in FIG.

【0060】多体問題用計算装置に必要とされる粒子間
の距離の関数を計算する場合、関数計算装置は、先に述
べたように数式(1)による補間処理を行うが、以下に
その手順を説明する。
When calculating the function of the distance between particles required by the calculation device for the many-body problem, the function calculation device performs the interpolation process by the equation (1) as described above. The procedure will be described.

【0061】まず、2階微分係数の1/2の値f''
(i)と、粒子間距離x(i)と基点x0(i)との差
dx(i)との、積を求める。次に、この乗算結果と1
階微分係数f'(i)との和を求め、この加算結果と、粒
子間距離x(i)と基点x0(i)との差dx(i)と
の、積を求める。これと近似値f(i)とを加算すれ
ば、求める計算結果f(x(i))を得られる。
First, the value f ″ of 1 / of the second derivative
The product of (i) and the difference dx (i) between the interparticle distance x (i) and the base point x0 (i) is determined. Next, this multiplication result and 1
The sum of the differential coefficient f '(i) and the difference dx (i) between the interparticle distance x (i) and the base point x0 (i) is calculated. By adding this and the approximate value f (i), the calculation result f (x (i)) to be obtained can be obtained.

【0062】図4は、図3に示す関数計算装置を用い
て、上記手順で補間処理を行う場合のフローチャートで
ある。 [S1] まず、関数計算装置100のアドレス入力部
110内部にあるフリップフロップ111に、基点x0
(i)に対応したアドレス信号の上位ビットAD(H)
及び下位ビットAD(L)が入力される。入力されたア
ドレス信号のうち上位ビットAD(H)が、演算クロッ
クCKに基づいてアドレスバスインタフェース112と
行アドレス比較手段114とに入力される。 [S2] 行アドレス比較手段114では、行アドレス
記憶手段113に記憶されている最新行アドレスと、入
力された上位ビットAD(H)の値を比較して、同一で
あるか否かを判断する。ここで、行アドレス記憶手段1
13に最新行アドレスの記憶がない場合や、最新行アド
レスと上位ビットAD(H)との値が異なっている場合
は、「同一でない」という結果になりステップS3へ進
む。また、両者の値が一致した場合は、「同一である」
という結果になりステップS6へ進む。この比較結果は
アドレスバスインタフェース112及びウェイト信号発
生回路115に入力される。 [S3] 行アドレス比較手段114における比較の結
果が、「同一でない」であった場合、ウェイト信号発生
回路115でウェイト信号が発生する。このウェイト信
号は関数計算装置100以外の他のパイプライン処理の
全段階に一定時間の動作停止を促す。また、後述する演
算部120内部の2入力セレクタ125へも働きかけ、
処理の遅延を発生させる。 [S4] アドレスバスインタフェース112では、行
アドレス比較手段114から入力された「同一でない」
という比較結果に基づき、入力されたアドレス信号の上
位ビットAD(H)を、基本クロックと同期を取り最新
行アドレスとして、行アドレス記憶手段113に記憶さ
せる。 [S5] アドレスバスインタフェース112は、行ア
ドレス記憶手段113に記憶した最新行アドレスを、ア
ドレスバスを介してDRAM130に入力する。 [S6] アドレスバスインタフェース112は、入力
されたアドレス信号の下位ビットAD(L)を、基本ク
ロックと同期を取り、アドレスバスを介して列アドレス
としてDRAM130に入力する。 [S7] 入力されたアドレス信号を基にルックアップ
テーブルが参照され、DRAMは、対応するデータDT
0をデータバスを介して演算部120へ供給する。演算
部120において演算が実行される。 [S8] 演算部120の処理が終了した時点で、1対
の粒子間における補間処理が全て終了したか否かが判断
され、まだ演算の必要があればステップS1へ進み、そ
の必要がなければ計算を終了する。
FIG. 4 is a flowchart in the case where the interpolation processing is performed in the above procedure using the function calculation device shown in FIG. [S1] First, the base point x0 is set in the flip-flop 111 inside the address input unit 110 of the function calculation device 100.
Upper bit AD (H) of the address signal corresponding to (i)
And the lower bit AD (L). The upper bit AD (H) of the input address signal is input to the address bus interface 112 and the row address comparison means 114 based on the operation clock CK. [S2] The row address comparison unit 114 compares the latest row address stored in the row address storage unit 113 with the value of the input upper bit AD (H) to determine whether they are the same. . Here, the row address storage means 1
If the latest row address is not stored in the memory 13 or if the value of the latest row address and the value of the upper bit AD (H) are different, the result is "not the same", and the process proceeds to step S3. If the two values match, they are "identical"
And the process proceeds to step S6. The comparison result is input to the address bus interface 112 and the wait signal generation circuit 115. [S3] If the result of the comparison by the row address comparing means 114 is “not identical”, a wait signal is generated by the wait signal generation circuit 115. The wait signal urges all the stages of the pipeline processing other than the function calculation device 100 to stop the operation for a certain period of time. Further, it also works on a two-input selector 125 inside the arithmetic unit 120 described later,
Causes processing delay. [S4] In the address bus interface 112, "not identical" input from the row address comparing means 114
Based on the comparison result, the upper bit AD (H) of the input address signal is stored in the row address storage unit 113 as the latest row address in synchronization with the basic clock. [S5] The address bus interface 112 inputs the latest row address stored in the row address storage unit 113 to the DRAM 130 via the address bus. [S6] The address bus interface 112 synchronizes the lower bit AD (L) of the input address signal with the basic clock, and inputs the column address to the DRAM 130 via the address bus. [S7] The lookup table is referred to based on the input address signal, and the DRAM stores the corresponding data DT.
0 is supplied to the arithmetic unit 120 via the data bus. The calculation is performed in the calculation unit 120. [S8] At the time when the processing of the calculation unit 120 is completed, it is determined whether or not all the interpolation processing between a pair of particles has been completed. If the calculation is still necessary, the process proceeds to step S1. End the calculation.

【0063】以上のような手順で関数計算が実行される
ことになるが、このフローチャートのステップS7にあ
たる演算処理の、更に詳しい動作説明を行う。図5は、
図3に示す関数計算装置を用いて、多項式による補間処
理を行う場合の、演算部120の動作手順を示すフロー
チャートである。 [S11] データバスインタフェース121は、DR
AM130からデータバスを介してデータDT0を読み
出し、フリップフロップ122へ入力する。フリップフ
ロップ122は演算クロックCKに基づき、入力された
データDT0を、2入力セレクタ123のA入力端子及
び加算器127のA入力端子へ、データDT1として入
力する。ここでデータDT1は、2階微分係数の1/2
の値か、1階微分係数か、近似値か、3つのうちのいず
れかである。 [S12] 2入力セレクタ123では計算サイクルの
ステージに応じて、A入力端子に入力されたデータDT
1が2階微分係数の1/2の値であるか否か判断する。
データDT1が2階微分係数の1/2の値であった場合
は、データDT1を乗算器124のB入力端子に入力し
ステップS13へ進む。また、データDT1が2階微分
係数の1/2の値でない場合は、B入力端子に入力され
たデータを乗算器124のB入力端子に入力し、ステッ
プS16へ進む。 [S13] 乗算器124において、データDT1と、
粒子間距離x(i)と基点x0(i)との差dx(i)
とを乗算し、2入力セレクタ125のA入力端子へ入力
する。 [S14] 2入力セレクタ125はウェイト信号に応
じてA入力端子、又はB入力端子から入力される乗算結
果を選択し、フリップフロップ126へ入力する。フリ
ップフロップ126では、次に演算クロックCKの入力
があるまで、この乗算結果を保持する。 [S15] 2入力セレクタ125に、アドレス入力部
110内のウェイト信号発生回路からウェイト信号が入
力されているか否か判断する。ウェイト信号が入力され
ている場合は、B入力端子に入力されているフリップフ
ロップ126からの出力である乗算結果を再度フリップ
フロップへ入力するべく、ステップS14へ進む。ウェ
イト信号の入力がない場合は、そのまま次の演算クロッ
クCKの入力を待つ。なお、説明上ステップS14とス
テップS15とを分けてあるが、この2つの処理は関数
計算装置100内で同時に行われている。 [S16] データDT1が2階微分係数の1/2の値
でないということは、1階微分係数であるか近似値であ
るかのどちらかである。また、この時点で演算クロック
CKが関数計算装置100内の全てのフリップフロップ
に入力されている。データDT1が1階微分係数である
か否か判断し、1階微分係数であればステップS17
へ、1階微分係数でなければS21へ,進む。 [S17] フリップフロップ126が保持している乗
算結果を、基本クロックCKに基づき加算器127のB
入力端子へ入力する。加算器127のA入力端子にはフ
リップフロップ122から1階微分係数が入力されてい
る。乗算結果と1階微分係数との加算を行い、求めた加
算結果を2入力セレクタ123のB入力端子及び汎用計
算機に入力する。 [S18] 2入力セレクタ123において、A入力端
子にはフリップフロップ122からデータDT1として
1階微分係数が、B入力端子には加算器127から加算
結果が、それぞれ入力されている。計算サイクルのステ
ージに応じて中間加算結果を選択し、乗算器124のB
入力へ入力する。乗算器124では、A入力端子に粒子
間距離x(i)と基点x0(i)との差dx(i)、B
入力端子に加算結果の入力を受け、2つを乗算する。求
められた乗算結果g1は、2入力セレクタ125のA入
力端子とパイプラインの次ステージとに入力される。な
お、説明上ステップS17とステップS18とを分けて
あるが、この2つの処理は関数計算装置100内で同時
に行われている。 [S19] 2入力セレクタ125ではウェイト信号に
応じて、A入力端子、又はB入力端子から入力される乗
算結果g1を選択し、フリップフロップ126へ入力す
る。フリップフロップ126では次に演算クロックCK
の入力があるまでこの乗算結果g1を保持する。 [S20] 2入力セレクタ125に、アドレス入力部
110内のウェイト信号発生回路からウェイト信号が入
力されているか否か判断する。ウェイト信号が入力され
ている場合は、B入力端子に入力されているフリップフ
ロップ126からの出力である乗算結果g1を再度フリ
ップフロップへ入力するべく、ステップS19へ進む。
ウェイト信号の入力がない場合は、そのまま次の演算ク
ロックCKの入力を待つ。なお、説明上ステップS19
とステップS20とを分けてあるが、この2つの処理は
関数計算装置100内で同時に行われている。 [S21] 加算器127において、それぞれ演算クロ
ックに基づき、A入力端子にはデータDT1としてフリ
ップフロップ122から近似値が、B入力端子にはフリ
ップフロップ126から乗算結果g1が、入力される。
2つの値を加算し、結果g2が求められる。
The function calculation is executed according to the above procedure. The operation of the arithmetic processing corresponding to step S7 of this flowchart will be described in more detail. FIG.
4 is a flowchart illustrating an operation procedure of a calculation unit 120 when performing interpolation processing by a polynomial using the function calculation device illustrated in FIG. 3. [S11] The data bus interface 121 outputs the DR
The data DT0 is read from the AM 130 via the data bus, and is input to the flip-flop 122. The flip-flop 122 inputs the input data DT0 to the A input terminal of the two-input selector 123 and the A input terminal of the adder 127 as data DT1 based on the operation clock CK. Here, the data DT1 is 1 / of the second derivative
, The first derivative, an approximate value, or any of the three. [S12] The two-input selector 123 outputs the data DT input to the A input terminal according to the stage of the calculation cycle.
It is determined whether 1 is a value of 1/2 of the second derivative.
If the data DT1 has a value of の of the second derivative, the data DT1 is input to the B input terminal of the multiplier 124, and the process proceeds to step S13. If the data DT1 is not a value of 1/2 of the second derivative, the data input to the B input terminal is input to the B input terminal of the multiplier 124, and the process proceeds to step S16. [S13] In the multiplier 124, the data DT1 and
Difference dx (i) between interparticle distance x (i) and base point x0 (i)
, And inputs the result to the A input terminal of the two-input selector 125. [S14] The two-input selector 125 selects the multiplication result input from the A input terminal or the B input terminal according to the wait signal, and inputs the result to the flip-flop 126. The flip-flop 126 holds this multiplication result until the next input of the operation clock CK. [S15] It is determined whether or not a wait signal is input from the wait signal generation circuit in the address input unit 110 to the two-input selector 125. If the wait signal has been input, the process proceeds to step S14 in order to input the multiplication result output from the flip-flop 126 input to the B input terminal to the flip-flop again. If there is no input of a wait signal, it waits for the next input of the operation clock CK. Although step S14 and step S15 are separately described for the sake of explanation, these two processes are performed simultaneously in the function calculation device 100. [S16] The fact that the data DT1 is not a value of 1/2 of the second derivative is either the first derivative or an approximate value. At this point, the operation clock CK has been input to all flip-flops in the function calculation device 100. It is determined whether or not the data DT1 is the first derivative. If the data DT1 is the first derivative, step S17 is performed.
If not, go to S21. [S17] The multiplication result held by the flip-flop 126 is calculated based on the basic clock signal CK.
Input to the input terminal. The first-order differential coefficient is input to the A input terminal of the adder 127 from the flip-flop 122. The multiplication result and the first derivative are added, and the obtained addition result is input to the B input terminal of the two-input selector 123 and the general-purpose computer. [S18] In the two-input selector 123, the first derivative as data DT1 from the flip-flop 122 is input to the A input terminal, and the addition result from the adder 127 is input to the B input terminal. The intermediate addition result is selected according to the stage of the calculation cycle, and B
Input to input. In the multiplier 124, the difference dx (i) between the particle distance x (i) and the base point x0 (i) is input to the A input terminal, and B
The result of the addition is input to the input terminal, and the result is multiplied by two. The obtained multiplication result g1 is input to the A input terminal of the two-input selector 125 and the next stage of the pipeline. Although step S17 and step S18 are separately described for the sake of explanation, these two processes are performed simultaneously in the function calculation device 100. [S19] The two-input selector 125 selects the multiplication result g1 input from the A input terminal or the B input terminal according to the wait signal, and inputs the result to the flip-flop 126. Next, the operation clock CK is output from the flip-flop 126.
The multiplication result g1 is held until there is an input. [S20] It is determined whether or not a wait signal is input to the two-input selector 125 from the wait signal generation circuit in the address input unit 110. If the wait signal has been input, the process proceeds to step S19 to input the multiplication result g1 output from the flip-flop 126 input to the B input terminal to the flip-flop again.
If there is no input of a wait signal, it waits for the next input of the operation clock CK. Note that, for the sake of explanation, step S19
And step S20. These two processes are performed simultaneously in the function calculation device 100. [S21] In the adder 127, the approximate value is input from the flip-flop 122 as the data DT1 to the A input terminal and the multiplication result g1 from the flip-flop 126 is input to the B input terminal based on the operation clock.
The two values are added to obtain a result g2.

【0064】以上のような手順の処理をパイプライン的
に行うことにより、SRAMよりも安価なDRAMを使
用し、なおかつ高速な計算の実行が可能となる。図6
に、図3に示す関数計算装置を用いて関数計算を行った
時のデータの変化の様子を表したタイミングチャートを
示す。
By performing the processing of the above-described procedure in a pipeline, it is possible to use a DRAM which is less expensive than an SRAM and to execute a calculation at a high speed. FIG.
FIG. 3 is a timing chart showing how data changes when a function calculation is performed using the function calculation device shown in FIG.

【0065】このタイミングチャートは、基本クロック
CLK、演算クロックCK、DRAMへの行アドレス入
力の制御信号であるRAS*、列アドレス入力の制御信
号であるCAS*、多体問題用計算装置内の関数計算準
備手段から入力されるアドレス信号AD、及び粒子間距
離x(i)と基点x0(i)との差dx(i)、DRA
Mから出力されるデータDT0、フリップフロップ12
2から出力されるデータDT1、更に加算器127から
出力される加算結果G(x)の、変化の様子を示してい
る。ここでRAS*信号とCAS*信号は、出力がロー
レベルの時に有効になる性質を持っている。なお、この
タイミングチャートと、図4及び図5のフローチャート
との対応関係は、この説明の中で随時述べていくことと
する。これは、この関数計算部がパイプライン処理を行
っており、各処理段階で時間的に重複する部分があるた
めである。
This timing chart shows a basic clock CLK, an operation clock CK, a RAS * which is a control signal for inputting a row address to the DRAM, a CAS * which is a control signal for inputting a column address, and a function in the multi-body problem calculating device. The address signal AD input from the calculation preparation means, the difference dx (i) between the distance x (i) between the particles and the base point x0 (i), DRA
Data DT0 output from M, flip-flop 12
2 shows how the data DT1 output from 2 and the addition result G (x) output from the adder 127 change. Here, the RAS * signal and the CAS * signal have the property of being effective when the output is at a low level. Note that the correspondence between this timing chart and the flowcharts of FIGS. 4 and 5 will be described as needed in this description. This is because the function calculation unit performs the pipeline processing, and there is a portion that temporally overlaps in each processing stage.

【0066】今、x(i)、x(i+1)、x(i+
2)、・・・の順に補間処理を行うとする。x(i)に
対する補間処理用データf’’(i)、f’(i)、f
(i)と、x(i+1)に対する補間処理用データ
f’’(i+1)、f’(i+1)、f(i+1)と
は、DRAM130に同一行アドレスで格納されてい
る。また、x(i+2)に対する補間処理用データ
f’’(i+2)、f’(i+2)、f(i+2)は、
上記の行アドレスとは別の行アドレスで格納されてい
る。
Now, x (i), x (i + 1), x (i +
Assume that interpolation processing is performed in the order of 2),. Interpolation processing data f ″ (i), f ′ (i), f for x (i)
(I) and the interpolation processing data f ″ (i + 1), f ′ (i + 1), and f (i + 1) for x (i + 1) are stored in the DRAM 130 at the same row address. Further, interpolation processing data f ″ (i + 2), f ′ (i + 2), and f (i + 2) for x (i + 2) are
It is stored at a different row address from the above row address.

【0067】まずx(i)に対する補間処理を行う。最
初の処理段階では、x(i)の2階微分係数1/2の値
f''(i)のアドレス信号の上位ビットRow(i)が
入力され(図4のステップS1)、Row(i)と行ア
ドレス記憶手段113からの出力との比較が、行アドレ
ス比較手段114において行われる(図4のステップS
2)。ここでx(i)の補間処理はこの計算装置の始動
直後であるので、行アドレス記憶手段113には、最新
行アドレスの記憶がない。比較の結果が「同一ではな
い」なので、ウェイト信号が発生するが(図4のステッ
プS3)、ここではウェイト信号を受け取るべき2入力
セレクタ125にはデータがないので、何の働きもしな
い。ウェイト信号が発生した時の詳しい説明は後述す
る。比較の結果が「同一ではない」なので、上位ビット
Row(i)を最新行アドレスとして、行アドレス記憶
手段113に記憶する(図4のステップS4)。
First, an interpolation process for x (i) is performed. In the first processing stage, the upper bit Row (i) of the address signal of the value f ″ (i) of the second derivative coefficient 係数 of x (i) is input (step S1 in FIG. 4), and Row (i) ) Is compared with the output from the row address storage means 113 in the row address comparison means 114 (step S in FIG. 4).
2). Here, since the interpolation processing of x (i) is performed immediately after the start of the calculation device, the row address storage unit 113 does not store the latest row address. Since the result of the comparison is "not identical", a wait signal is generated (step S3 in FIG. 4), but here there is no data in the two-input selector 125 that should receive the wait signal, so that no operation is performed. Detailed description when the wait signal is generated will be described later. Since the result of the comparison is "not the same", the upper bit Row (i) is stored in the row address storage means 113 as the latest row address (step S4 in FIG. 4).

【0068】サイクルT11の最初の基本クロックCL
Kの立ち上がり時に、2階微分係数f''(i)のアドレ
ス信号の上位ビットRow(i)をアドレスバスインタ
フェースを介してアドレスバスへ出力し、次の基本クロ
ックCLKでRAS*信号を入力する(図4のステップ
S5)。
First basic clock CL of cycle T11
At the rise of K, the upper bit Row (i) of the address signal of the second derivative f ″ (i) is output to the address bus via the address bus interface, and the RAS * signal is input at the next basic clock CLK. (Step S5 in FIG. 4).

【0069】続くサイクルT12の最初の基本クロック
CLKの立ち上がりで、2階微分係数f''(i)のアド
レス信号の下位ビットCol(i+1)をアドレスバス
インタフェースを介してアドレスバスへ出力し、次の基
本クロックCLKでCAS*信号を入力する(図4のス
テップS6)。
At the rising edge of the first basic clock CLK in the next cycle T12, the lower order bit Col (i + 1) of the address signal of the second derivative f ″ (i) is output to the address bus via the address bus interface. The CAS * signal is input with the basic clock CLK (step S6 in FIG. 4).

【0070】これにより、DRAM130から演算部1
20内のフリップフロップ122に2階微分係数の1/
2の値f''(i)がデータDT0としてデータバス、デ
ータバスインタフェース121を介して読み込まれる
(図5のステップS11)。サイクルT13の演算クロ
ックCKの入力を受けて、フリップフロップ122がデ
ータDT1として2階微分係数の1/2の値f''(i)
を出力すると、この時、2入力セレクタ123は入力端
子Aを選択しており、乗算器124により2階微分係数
の1/2の値f''(i)と、粒子間距離x(i)と基点
x0(i)との差dx(i)との乗算が行われる(図5
のステップS13)。続く2入力セレクタ125は、こ
の時、入力端子Aを選択しており、乗算結果はサイクル
T13中にフリップフロップ126によってラッチされ
る(図5のステップS14)。
As a result, the operation unit 1 is
20 is set to 1 / (second derivative)
The value f ″ (i) of 2 is read as data DT0 via the data bus and the data bus interface 121 (step S11 in FIG. 5). Upon receiving the input of the operation clock CK in the cycle T13, the flip-flop 122 converts the data DT1 into a value f ″ (i) of 1 / of the second derivative,
At this time, the two-input selector 123 has selected the input terminal A, and the multiplier 124 calculates the value f ″ (i) of 微分 of the second derivative and the distance x (i) between particles. Is multiplied by a difference dx (i) between the reference point x0 (i) and the reference point x0 (i) (FIG. 5).
Step S13). At this time, the subsequent two-input selector 125 has selected the input terminal A, and the multiplication result is latched by the flip-flop 126 during the cycle T13 (step S14 in FIG. 5).

【0071】次の処理段階では、サイクルT13の最初
の基本クロックCLKの立ち上がり時に、1階微分係数
f’(i)のアドレス信号の下位ビットCol(i)+
1をアドレスバスへ出力し、次の基本クロックCLKで
CAS*信号を入力する(図4のステップS6)。これ
によりDRAM130からフリップフロップ122に1
階微分係数f’(i)が、データDT0として読み込ま
れる(図5のステップS11)。
In the next processing stage, the lower bits Col (i) + of the address signal of the first-order differential coefficient f ′ (i) at the rise of the first basic clock CLK in the cycle T13.
1 is output to the address bus, and a CAS * signal is input at the next basic clock CLK (step S6 in FIG. 4). As a result, 1 is transferred from the DRAM 130 to the flip-flop 122.
The differential coefficient f ′ (i) is read as data DT0 (step S11 in FIG. 5).

【0072】サイクルT14の演算クロックCKに同期
して、データDT1として1階微分係数f’(i)が加
算器127に入力される。加算器127では、1階微分
係数f’(i)と、フリップフロップ126にラッチさ
れている乗算結果との、加算が行われる(図5のステッ
プS17)。その加算結果g1(i)が加算器127か
ら計算結果G(x)として出力される。この時2入力セ
レクタ123では入力端子Bが選択されており、加算結
果g1(i)は乗算器124に入力される。乗算器12
4では、加算結果g1(i)と粒子間距離x(i)と基
点x0(i)との差dx(i)との乗算が行われる(図
5のステップS18)。続く2入力セレクタ125は、
この時、入力端子Aを選択しており、乗算結果は、サイ
クルT14中にフリップフロップ126によってラッチ
される(図5のステップS19)。
The first-order differential coefficient f ′ (i) is input to the adder 127 as data DT 1 in synchronization with the operation clock CK in the cycle T 14. The adder 127 adds the first-order differential coefficient f ′ (i) and the multiplication result latched by the flip-flop 126 (step S17 in FIG. 5). The addition result g1 (i) is output from the adder 127 as the calculation result G (x). At this time, the input terminal B is selected by the two-input selector 123, and the addition result g1 (i) is input to the multiplier. Multiplier 12
In 4, the multiplication of the addition result g1 (i) and the difference dx (i) between the interparticle distance x (i) and the base point x0 (i) is performed (step S18 in FIG. 5). The following two-input selector 125
At this time, the input terminal A is selected, and the multiplication result is latched by the flip-flop 126 during the cycle T14 (Step S19 in FIG. 5).

【0073】最後の処理段階では、サイクルT14の最
初の基本クロックCLKの立ち上がり時に、近似値f
(i)のアドレス信号の下位ビットCol(i)+2を
アドレスバスへ出力し、次の基本クロックCLKでCA
S*信号を入力する(図4のステップS6)。これによ
り、DRAM130からフリップフロップ122に、近
似値f(i)がデータDT0として読み込まれる(図5
のステップS11)。
In the last processing stage, at the rising of the first basic clock CLK in cycle T14, the approximate value f
The lower bit Col (i) +2 of the address signal (i) is output to the address bus, and CA
An S * signal is input (step S6 in FIG. 4). Thus, the approximate value f (i) is read from the DRAM 130 into the flip-flop 122 as the data DT0 (FIG. 5).
Step S11).

【0074】サイクルT15の演算クロックCKに同期
して、データDT1として近似値f(i)が加算器12
7に入力される。加算器127では、近似値f(i)
と、フリップフロップ126にラッチされている値との
加算が行われ(図5のステップS21)、サイクルT1
5中に加算結果g2(i)が加算器127から出力され
る。この加算結果g2(i)が2次補間結果f(x
(i))である。
The approximate value f (i) is added to the adder 12 as data DT1 in synchronization with the operation clock CK in the cycle T15.
7 is input. In the adder 127, the approximate value f (i)
And the value latched by the flip-flop 126 are added (step S21 in FIG. 5), and the cycle T1 is performed.
5, the addition result g2 (i) is output from the adder 127. The addition result g2 (i) is the secondary interpolation result f (x
(I)).

【0075】続いて、同一行に連続してアクセスする場
合の説明を行う。最初の処理段階で、x(i+1)の2
階微分係数の1/2の値f''(i+1)のアドレス信号
の上位ビットRow(i+1)が入力され(図4のステ
ップS1)、Row(i+1)と行アドレス記憶手段1
13からの出力との比較が、行アドレス比較手段114
において行われる(図4のステップS2)。比較の結果
が「同一である」なので、ウェイト信号は発生しない。
サイクルT15の最初の基本クロックCLKの立ち上が
り時に、2階微分係数f''(i+1)のアドレス信号の
下位ビットCol(i+1)をアドレスバスへ出力し、
次の基本クロックCLKでCAS*信号を入力する(図
4のステップS6)。
Next, the case where the same row is accessed continuously will be described. In the first processing stage, x (i + 1) 2
The upper bit Row (i + 1) of the address signal of the value f ″ (i + 1) of the half differential coefficient is input (Step S1 in FIG. 4), and Row (i + 1) and the row address storage unit 1 are input.
13 is compared with the output from the row address comparing means 114.
(Step S2 in FIG. 4). Since the result of the comparison is "identical", no wait signal is generated.
At the rising edge of the first basic clock CLK in the cycle T15, the lower bit Col (i + 1) of the address signal of the second derivative f ″ (i + 1) is output to the address bus,
The CAS * signal is input at the next basic clock CLK (step S6 in FIG. 4).

【0076】これによりDRAM130から演算部12
0内のフリップフロップ122に、2階微分係数の1/
2の値f''(i+1)が、データDT0として、データ
バスを通して読み込まれる(図5のステップS11)。
演算クロックCKの入力を受けてフリップフロップ12
2がデータDT1として2階微分係数の1/2の値f''
(i+1)を出力すると、この時、2入力セレクタ12
3は入力端子Aを選択しており、乗算器124により2
階微分係数の1/2の値f''(i+1)と粒子間距離x
(i)と基点x0(i)との差dx(i+1)の乗算が
行われる(図5のステップS13)。続く2入力セレク
タ125は、この時、入力端子Aを選択しており、乗算
結果はサイクルT16の最初にフリップフロップ126
によってラッチされる(図5のステップS14)。
As a result, the operation unit 12 is
In the flip-flop 122 in 0, 1/2 of the second derivative
The value f ″ (i + 1) of 2 is read as data DT0 through the data bus (step S11 in FIG. 5).
The flip-flop 12 receives the input of the operation clock CK.
2 is a value f ″ of 値 of the second derivative as data DT1
When (i + 1) is output, the two-input selector 12
3 selects the input terminal A, and the multiplier 124
The value f ″ (i + 1) of the half of the differential coefficient and the distance x between particles
The multiplication of the difference dx (i + 1) between (i) and the base point x0 (i) is performed (step S13 in FIG. 5). At this time, the subsequent two-input selector 125 has selected the input terminal A, and the result of the multiplication is determined at the beginning of the cycle T16 by the flip-flop 126.
(Step S14 in FIG. 5).

【0077】次の処理段階では、サイクルT16の最初
の基本クロックCLKの立ち上がり時に、1階微分係数
f’(i+1)のアドレス信号の下位ビットCol(i
+1)+1をアドレスバスへ出力し、次の基本クロック
CLKでCAS*信号を入力する(図4のステップS
6)。これによりDRAM130からフリップフロップ
122に、1階微分係数f’(i+1)が、データDT
0として、読み込まれる(図5のステップS11)。
In the next processing stage, the lower bits Col (i) of the address signal of the first-order differential coefficient f ′ (i + 1) at the rise of the first basic clock CLK in cycle T16.
+1) +1 is output to the address bus, and a CAS * signal is input at the next basic clock CLK (step S in FIG. 4).
6). As a result, the first-order differential coefficient f ′ (i + 1) is transferred from the DRAM 130 to the flip-flop 122 by the data DT.
It is read as 0 (step S11 in FIG. 5).

【0078】演算クロックCKに同期して、データDT
1として1階微分係数f’(i+1)が加算器127に
入力される。加算器127では、1階微分係数f’(i
+1)と、フリップフロップ126にラッチされている
乗算結果との、加算が行われる(図5のステップS1
7)。その加算結果g1(i+1)が加算器127から
計算結果G(x)として出力される。この時2入力セレ
クタ123では入力端子Bが選択されており、加算結果
g1(i+1)は乗算器124に入力される。乗算器1
24では、加算結果g1(i+1)と粒子間距離x
(i)と基点x0(i)との差dx(i+1)との乗算
が行われる(図5のステップS18)。続く2入力セレ
クタ125は、この時、入力端子Aを選択しており、乗
算結果は、サイクルT17中にフリップフロップ126
によってラッチされる(図5のステップS19)。
The data DT is synchronized with the operation clock CK.
The first-order differential coefficient f ′ (i + 1) is input to the adder 127 as 1. In the adder 127, the first derivative f ′ (i
+1) and the multiplication result latched in the flip-flop 126 are added (step S1 in FIG. 5).
7). The addition result g1 (i + 1) is output from the adder 127 as the calculation result G (x). At this time, the input terminal B is selected by the two-input selector 123, and the addition result g1 (i + 1) is input to the multiplier. Multiplier 1
At 24, the addition result g1 (i + 1) and the distance between particles x
The multiplication by the difference dx (i + 1) between (i) and the base point x0 (i) is performed (step S18 in FIG. 5). At this time, the subsequent two-input selector 125 has selected the input terminal A, and the result of the multiplication is output to the flip-flop 126 during the cycle T17.
(Step S19 in FIG. 5).

【0079】最後の処理段階では、サイクルT17の最
初の基本クロックCLKの立ち上がり時に、近似値f
(i+1)のアドレス信号の下位ビットCol(i+
1)+2をアドレスバスへ出力、次の基本クロックCL
KでCAS*信号を入力し、2次補間結果f(x(i+
1))を求めるが、その処理と並行して行われるx(i
+2)の補間処理においてウェイト信号が発生している
ので、その働きに関して同時に説明する。
In the last processing stage, at the rising of the first basic clock CLK in the cycle T17, the approximate value f
The lower bit Col (i +) of the address signal (i + 1)
1) +2 is output to the address bus, and the next basic clock CL
K, input a CAS * signal, and input a secondary interpolation result f (x (i +
1)), and x (i) performed in parallel with the processing
Since the weight signal is generated in the interpolation processing of (+2), the operation thereof will be described at the same time.

【0080】サイクルT18において、x(i+2)の
2階微分係数f''(i+2)のアドレス信号の上位ビッ
トRow(i+2)と行アドレス記憶手段113からの
出力との比較が、行アドレス比較手段114において行
われる(図4のステップS2)。比較の結果が「同一で
はない」なので、ウェイト信号が発生し(図4のステッ
プS3)、多体問題用計算装置の各手段にパイプライン
処理の一時停止を要求する。このウェイト信号は更に、
演算部120内の2入力セレクタ125に働き、処理が
再び等速に行えるようになる演算クロックCKの2クロ
ック分の間、入力端子Bを選択し続けるよう作用する
(図5のステップS15、S20)。
In the cycle T18, the comparison between the upper bit Row (i + 2) of the address signal of the second derivative coefficient f ″ (i + 2) of x (i + 2) and the output from the row address storage unit 113 is performed by the row address comparison unit. This is performed at 114 (step S2 in FIG. 4). Since the result of the comparison is "not the same", a wait signal is generated (step S3 in FIG. 4), requesting each means of the multi-body problem computing device to suspend the pipeline processing. This wait signal further
It acts on the two-input selector 125 in the arithmetic part 120 to keep the input terminal B selected for two clocks of the arithmetic clock CK at which the processing can be performed again at a constant speed (steps S15 and S20 in FIG. 5). ).

【0081】そのため、この間、多体問題用計算装置内
の関数計算準備手段演算部からの出力である粒子間距離
x(i)と基点x0(i)との差dxはdx(i)のま
まとなり、演算部120内のフリップフロップ122に
は新しいデータの入力がないため、データDT1はf
(i+1)のまま、また結果出力のG(x)はg(i+
1)のままである。
Therefore, during this time, the difference dx between the interparticle distance x (i) and the base point x0 (i), which is the output from the function calculation preparation means operation unit in the multibody problem calculation apparatus, remains dx (i). Since there is no new data input to the flip-flop 122 in the operation unit 120, the data DT1 becomes f
(I + 1) and G (x) of the result output is g (i +
1) It remains.

【0082】サイクルT18中に新しい行アドレスの記
憶も行う。続くサイクルT19の最初の基本クロックC
LKの立ち上がり時に、記憶した行アドレスRow(i
+2)をアドレスバスへ出力、次の基本クロックCLK
でRAS*信号を入力する(図4のステップS5)。サ
イクルT20の最初の基本クロックCLKの立ち上がり
で、2階微分係数f''(i+2)のアドレス信号の下位
ビットCol(i+2)をアドレスバスへ出力し、次の
基本クロックCLKでCAS*信号を入力する(図4の
ステップS6)。
A new row address is also stored during the cycle T18. First basic clock C of the following cycle T19
At the rise of LK, the stored row address Row (i
+2) to the address bus, and the next basic clock CLK
Input the RAS * signal (step S5 in FIG. 4). At the first rising edge of the basic clock CLK in cycle T20, the lower order bit Col (i + 2) of the address signal of the second derivative f ″ (i + 2) is output to the address bus, and the CAS * signal is input at the next basic clock CLK. (Step S6 in FIG. 4).

【0083】サイクルT20の最初の基本クロックCK
の立ち上がりで、ウェイト信号の一時停止作用が解除と
なる。ここにおいてようやくサイクルT17で入力した
x(i+1)の近似値f(i+1)が、データDT0と
してDRAM130から演算部120内のフリップフロ
ップ122に読み込まれる(図5のステップS11)。
演算クロックCKに同期して、近似値f(i)がデータ
DT1として加算器127に入力される。加算器127
では、近似値f(i)と、フリップフロップ126にラ
ッチされている値との加算が行われ(図5のステップS
21)、サイクルT20中に加算結果g2(i+1)が
加算器127から出力される。この加算結果g2(i+
1)が2次補間結果f(x(i+1))である。
First basic clock CK of cycle T20
At the rise of the signal, the temporary stop function of the wait signal is released. Here, the approximate value f (i + 1) of x (i + 1) input at cycle T17 is finally read from the DRAM 130 into the flip-flop 122 in the arithmetic unit 120 as data DT0 (step S11 in FIG. 5).
The approximate value f (i) is input to the adder 127 as data DT1 in synchronization with the operation clock CK. Adder 127
Then, the addition of the approximate value f (i) and the value latched in the flip-flop 126 is performed (step S in FIG. 5).
21), the addition result g2 (i + 1) is output from the adder 127 during the cycle T20. This addition result g2 (i +
1) is the secondary interpolation result f (x (i + 1)).

【0084】以下同様にCol(i+2),Col(i
+2)+1,・・・とアドレスの入力を続け、処理を連
続して実行させることができる。このように、ルックア
ップテーブル用メモリへのアクセスを、可能な限り高速
ページモードの短いサイクルで行い、なおかつ各処理段
階及び処理手段を全てパイプライン化することによっ
て、安価なDRAMを使用しながら計算の高速化を図る
ことができる。
Similarly, Col (i + 2) and Col (i + 2)
+2) +1,..., The input of the address is continued, and the processing can be executed continuously. As described above, the access to the look-up table memory is performed in the shortest cycle of the high-speed page mode as much as possible, and all the processing stages and processing means are pipelined, so that the calculation can be performed using an inexpensive DRAM. Can be speeded up.

【0085】次に、本発明の多体問題用計算装置にN個
の粒子の座標を供給する座標格納用メモリ20への、N
個の粒子座標の格納方法について説明する。まず、N個
の粒子を含み、多体問題計算の対象となる空間を、多数
の直方体に分割しておく。
Next, N is stored in a coordinate storage memory 20 which supplies the coordinates of N particles to the multi-body problem calculating apparatus of the present invention.
A method of storing individual particle coordinates will be described. First, a space that includes N particles and is the target of the many-body problem calculation is divided into a number of rectangular parallelepipeds.

【0086】図7は、計算を行う空間60を多数の直方
体61,62,63,・・・、に分割したものである。
各直方体には各々多数の粒子61a,61b,61c,
・・・,が含まれる。
FIG. 7 divides the space 60 for calculation into a number of rectangular parallelepipeds 61, 62, 63,.
Each cuboid has a large number of particles 61a, 61b, 61c,
... are included.

【0087】まず特定の直方体、例えば61内にある全
ての粒子の座標を、座標メモリにその格納アドレスが隣
接するように任意の順番で格納する。次にその直方体に
隣接した、例えば62内にある全ての粒子の座標を、先
に使用した格納アドレスに隣接した位置に、任意の順番
で格納する。以後、全ての粒子の座標が座標メモリに格
納されるまでこれを続ける。
First, the coordinates of all particles in a specific rectangular parallelepiped, for example, 61, are stored in a coordinate memory in an arbitrary order so that their storage addresses are adjacent. Next, the coordinates of all particles adjacent to the rectangular parallelepiped, for example, within 62, are stored in a position adjacent to the previously used storage address in an arbitrary order. Thereafter, this is continued until the coordinates of all the particles are stored in the coordinate memory.

【0088】計算を開始すると、粒子の座標は座標格納
用メモリ20から次々と供給されるが、その際連続して
供給される粒子は、最も離れているものでもこの直方体
2つ分を合わせた直方体の対角線の長さ70の距離の位
置に存在している。関数計算手段16において、ルック
アップテーブル用メモリ30を参照するためのアドレス
として使用されるのは、特定粒子と、供給された粒子と
の距離Rの2乗に依存した数値である。よって、連続し
て出力される粒子座標と特定粒子との距離Rの値が近く
なり、ルックアップテーブル用メモリ130の同一行に
連続してアクセスする可能性が高くなる。
When the calculation is started, the coordinates of the particles are supplied one after another from the coordinate storage memory 20. At this time, even if the particles supplied continuously are the farthest ones, the two cuboids are combined. The rectangular parallelepiped exists at a distance of 70 diagonal lines. In the function calculating means 16, a value depending on the square of the distance R between the specific particle and the supplied particle is used as an address for referring to the look-up table memory 30. Therefore, the value of the distance R between the continuously output particle coordinates and the specific particle becomes smaller, and the possibility of continuously accessing the same row of the look-up table memory 130 increases.

【0089】先に述べたように、同一行に連続してアク
セスする場合はパイプライン処理を停止することなく計
算が行えるので、演算速度の低下を抑えることができ
る。以上に述べたような構成にすることにより、演算速
度の低下を抑えながら、ルックアップテーブル用メモリ
に、SRAMと比べて低価格であるDRAMを用いるこ
とができ、演算装置全体のコスト削減を図ることができ
る。
As described above, when accessing the same row continuously, the calculation can be performed without stopping the pipeline processing, so that a decrease in the operation speed can be suppressed. With the above-described configuration, a DRAM that is less expensive than an SRAM can be used as the lookup table memory while suppressing a decrease in the operation speed, and the cost of the entire operation device can be reduced. be able to.

【0090】なお、上記の実施の形態では、多体問題用
計算装置のルックアップテーブル用メモリとのアクセス
に拘わる関数計算手段に本発明を適用した例を示した
が、座標格納用メモリとのアクセスを行う座標読み込み
手段においても同様に、パイプライン処理用のウェイト
信号発生回路の組込みが可能である。
In the above embodiment, an example is shown in which the present invention is applied to the function calculating means relating to the access to the lookup table memory of the multi-body problem calculating apparatus. Similarly, a weight reading circuit for pipeline processing can be incorporated in the coordinate reading means for accessing.

【0091】[0091]

【発明の効果】以上説明したように本発明の多体問題計
算方法では、互いに隣接した粒子座標を連続して供給
し、座標と予め設定された特定粒子座標との差分に対応
したパラメータを、ダイナミックメモリ内の差分の2乗
に依存したアドレスから読み出すようにしたので、粒子
間距離に対応したパラメータが、ダイナミックメモリの
同一行アドレスから連続して読み出される確率が高くな
り、処理速度を大きく損なうことなく多体問題の計算を
行うことができる。
As described above, the many-body problem meter according to the present invention is used.
In the calculation method, adjacent particle coordinates are continuously supplied.
Corresponding to the difference between the coordinates and the preset specific particle coordinates
The parameter obtained is the square of the difference in the dynamic memory.
Read from the address that depends on
The parameter corresponding to the distance between
The probability of consecutive reading from the same row address is high
Calculation of many-body problems without significantly impairing the processing speed.
It can be carried out.

【0092】[0092]

【0093】[0093]

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

【図1】本発明の原理構成図である。FIG. 1 is a principle configuration diagram of the present invention.

【図2】本発明の計算装置を関数計算手段として、多体
問題用計算装置を組み立てた場合の実施の形態を示すブ
ロック図である。
FIG. 2 is a block diagram showing an embodiment in which a calculation device for a many-body problem is assembled using the calculation device of the present invention as a function calculation means.

【図3】本発明の計算装置の第1の実施の形態の簡略回
路図である。
FIG. 3 is a simplified circuit diagram of a first embodiment of the computing device of the present invention.

【図4】図3に示す関数計算装置を用いて、補間処理を
行う場合のフローチャートである。
FIG. 4 is a flowchart in the case of performing an interpolation process using the function calculation device shown in FIG. 3;

【図5】図3に示す関数計算装置を用いて、補間処理を
行う場合の、演算部の動作手順を示すフローチャートで
ある。
FIG. 5 is a flowchart illustrating an operation procedure of a calculation unit when performing interpolation processing using the function calculation device illustrated in FIG. 3;

【図6】図3に示す関数計算装置を用いて関数計算を行
った時のデータの変化の様子を表したタイミングチャー
トである。
6 is a timing chart showing how data changes when a function calculation is performed using the function calculation device shown in FIG. 3;

【図7】計算を行う空間を多数の直方体に分割したもの
である。
FIG. 7 is a diagram in which a space for calculation is divided into a number of rectangular parallelepipeds.

【図8】従来の多体問題用計算装置の関数計算部の回路
図である
FIG. 8 is a circuit diagram of a function calculation unit of a conventional multi-body problem calculation device.

【図9】従来の関数計算装置のデータの変化の様子を示
すタイミングチャートである。
FIG. 9 is a timing chart showing how data changes in a conventional function calculation device.

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

1 ダイナミックメモリ 2 比較手段 3 アドレス制御手段 4 行アドレス記憶手段 5 停止信号出力手段 10 多体問題用計算装置 11 座標読み込み手段 12 特定座標記憶手段 13 座標差分計算手段 14 遅延手段 15 関数計算準備手段 16 関数計算手段 17 粒子間力計算手段 18 加算手段 20 座標格納用メモリ 30 ルックアップテーブル用メモリ REFERENCE SIGNS LIST 1 dynamic memory 2 comparison means 3 address control means 4 row address storage means 5 stop signal output means 10 multi-body problem calculation device 11 coordinate reading means 12 specific coordinate storage means 13 coordinate difference calculation means 14 delay means 15 function calculation preparation means 16 Function calculation means 17 Interparticle force calculation means 18 Addition means 20 Coordinate storage memory 30 Lookup table memory

───────────────────────────────────────────────────── フロントページの続き (72)発明者 庄谷 智之 神奈川県足柄上郡中井町境430 グリー ンテクなかい 富士ゼロックス株式会社 内 (72)発明者 上床 弘毅 神奈川県足柄上郡中井町境430 グリー ンテクなかい 富士ゼロックス株式会社 内 (72)発明者 豊田 新次郎 神奈川県足柄上郡中井町境430 グリー ンテクなかい 富士ゼロックス株式会社 内 (56)参考文献 特開 平7−160249(JP,A) 特開 平6−175825(JP,A) 特開 平1−195552(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 1/02 G06F 7/544 G06F 12/00 - 12/06 G06F 17/17 G06F 19/00 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Tomoyuki Shoya 430 Nakai-cho, Sakaigami-gun, Kanagawa Prefecture Green Tech Nakai Inside Fuji Xerox Co., Ltd. Inside the company (72) Inventor Shinjiro Toyoda 430 Nakai-cho, Nakai-machi, Ashigara-gun, Kanagawa Prefecture Green Tech Inside Fuji Xerox Co., Ltd. (56) References JP-A-7-160249 (JP, A) JP-A-6-175825 (JP, A) JP-A-1-195552 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06F 1/02 G06F 7/544 G06F 12/00-12/06 G06F 17/17 G06F 19/00

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 処理がパイプライン化されたプロセッサ
により、複数の粒子からなる系内のある粒子における物
理量を他の粒子との相互作用の総和として計算する多体
問題計算方法において、 粒子の座標が供給されると、ページモードのアクセスが
可能なダイナミックメモリに対して、前回読み出しを行
った領域と同じ行アドレスであれば列アドレスのみを続
けて供給し、前回読み出しを行った領域と異なる行アド
レスであれば、パイプライン処理を所定の時間だけ停止
させつつ行アドレスと列アドレスとを供給することによ
り、前記座標と予め設定された特定粒子座標との差分に
対応したパラメータを、前記ダイナミックメモリ内の前
記差分の2乗に依存したアドレスから読み出し、前記パ
ラメータを用いて物理量を計算する多体問題用計算装置
に対し、互いに隣接する粒子座標を連続して供給する、 ことを特徴とする多体問題計算方法。
A processor whose processing is pipelined.
, The material in one particle in the system consisting of multiple particles
Many-body calculation of physics as the sum of interactions with other particles
In the problem calculation method, when the coordinates of the particles are supplied, page mode access is
The previous read is performed for the possible dynamic memory.
If the address is the same as the row address, only the column address is continued.
And a row address different from the area from which the data was read last time.
If not, stop pipeline processing for a predetermined time
Supply the row and column addresses
The difference between the coordinates and the preset specific particle coordinates.
The corresponding parameter in the dynamic memory
The address is read from the address depending on the square of the difference, and
A multi-body problem calculator that calculates physical quantities using parameters
A multi-body problem calculation method , wherein mutually adjacent particle coordinates are continuously supplied .
JP5861996A 1996-03-15 1996-03-15 Many-body problem calculation method Expired - Fee Related JP3277799B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5861996A JP3277799B2 (en) 1996-03-15 1996-03-15 Many-body problem calculation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5861996A JP3277799B2 (en) 1996-03-15 1996-03-15 Many-body problem calculation method

Publications (2)

Publication Number Publication Date
JPH09251418A JPH09251418A (en) 1997-09-22
JP3277799B2 true JP3277799B2 (en) 2002-04-22

Family

ID=13089590

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5861996A Expired - Fee Related JP3277799B2 (en) 1996-03-15 1996-03-15 Many-body problem calculation method

Country Status (1)

Country Link
JP (1) JP3277799B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2854051A2 (en) 2013-09-27 2015-04-01 Fujitsu Limited Simulation device, simulation program, and simulation method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2854051A2 (en) 2013-09-27 2015-04-01 Fujitsu Limited Simulation device, simulation program, and simulation method

Also Published As

Publication number Publication date
JPH09251418A (en) 1997-09-22

Similar Documents

Publication Publication Date Title
CN112101541B (en) Device, method, chip and board card for splitting high-bit-width data
JP3277799B2 (en) Many-body problem calculation method
Boraey An asymptotically adaptive successive equilibrium relaxation approach for the accelerated convergence of the lattice Boltzmann method
US5978574A (en) Formal verification of queue flow-control through model-checking
US20120089385A1 (en) Memory modeling methods and model generators
US10198301B2 (en) Semiconductor device
Fukushige et al. WINE-1: Special-Purpose Computer forN-Body Simulations with a Periodic Boundary Condition
TW202026954A (en) Dynamic minibatch sizes
Pourgholi et al. An iterative LMI-based reduced-order observer design for fractional-order chaos synchronization
JPH10134183A (en) Image processor
JPS63123175A (en) Arithmetic unit for moment of image data
US6876940B2 (en) Measuring constraint parameters at different combinations of circuit parameters
US7483819B2 (en) Representing data having multi-dimensional input vectors and corresponding output element by piece-wise polynomials
JPH06318092A (en) Variable delay circuit
US6763401B2 (en) Direct memory access controller
JP5773002B2 (en) Integrated circuit
US5572447A (en) Coordinate difference calculating device
KR101680015B1 (en) Method and Apparatus for high frequency test clock number adjustable clock generator
US20220083909A1 (en) Data processing method and apparatus, and related product
US20220405048A1 (en) Data processing apparatus, computer-readable recording medium storing program, and method of processing data
JP3161525B2 (en) Apparatus and method for calculating power consumption
JPH09251449A (en) Many-body problem calculation device
JP2003177960A (en) Arithmetic unit and storage device
US7484193B2 (en) Method and software for predicting the timing delay of a circuit path using two different timing models
WO2023212568A1 (en) On-chip automation of clock-to-q access time measurement of a memory device

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080215

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090215

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100215

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100215

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120215

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees