Abstract:
The object of the present invention is the reduction of memory capacity in a multi-body problem processing apparatus. In a parameter storing method in multi-body problem processing for performing a molecular dynamics calculation for a plurality of particles existing in a three-dimensional space, parameters required to calculate a nonassociative force acting between particles subjected to the calculation are stored in a storage device and correspond to a combination of the particles subjected to the calculation.

Description:
BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The present invention relates to a multi-body problem processing apparatus for performing calculations for molecular dynamics, and more particularly, to a parameter storing method, a parameter storing device, a multi-body problem processing apparatus, and an address generator circuit which are suitable for performing the calculations. 
   2. Description of the Related Art 
   In multi-body problem processing apparatuses for performing calculations for molecular dynamics as disclosed in JP-A-6-223052 and JP-A-9-251449, a distance and an energy parameter must be taken into consideration in calculating nonassociative forces which act between multiple particles that exist within a three-dimensional space. 
   Conventionally, these parameters have been previously stored in a memory, such that parameters required for calculations are read to calculate the nonassociative force which acts between respective particles. Since these parameters differ depending on the type of particles, a number of parameters equal to the number of combinations of respective particles must be stored in the memory. 
     FIG. 1  is a block diagram illustrating the configuration of a main portion of a conventional multi-body problem processing apparatus. In the description of the prior art example, number P, which takes a value of 0 to N−1, is given in order to identify N types of particle species, and particle numbers in combination are designated by P i  and P j . 
   In  FIG. 1 , address generator circuit  101  stores addresses corresponding to particle numbers P i , P j , and storage device  103  stores parameters corresponding to the addresses. 
   Upon application of particle numbers P i , P j , address generator circuit  101  generates address S 101  corresponding to particle numbers P i , P j , and outputs address S 101  to processing unit  2 . Processing unit  102  reads parameters stored in storage device  103  corresponding to address S 101 , and performs processing to provide processing result S 102 . 
     FIG. 2  is a table showing how addresses are stored in address generator circuit  101 . 
   There are N types in each of the two particles (labeled particle numbers P i , P j ) intended for calculation, with zero inclusive, so that the final value of the address is represented by (N+1) 2 −1, and (N+1) 2  different addresses are generated in total. Storage device  103  for storing parameters corresponding to each address stores (N+1) 2  parameters corresponding to (N+1) 2  addresses. 
   While parameters required to perform calculations for molecular dynamics have been previously stored in a memory and are read as required for calculations to calculate nonassociative forces which act between respective particles, these parameters differ depending on the type of the particles, so that a number of parameters equal to the number of combinations of the respective particles must be stored in memory, causing an increase in memory capacity by a significant factor in memory capacity (gate amount). 
   SUMMARY OF THE INVENTION 
   The present invention has been made in view of the problems experienced by the prior art described above, and it is an object of the invention to provide a parameter storing method, a parameter storage device, a multi-body problem processing apparatus, and an address generator circuit, which are capable of reducing the memory capacity. 
   A parameter storing method according to the present invention is directed to multi-body problem processing for performing a calculation of molecular dynamics for a plurality of particles existing in three-dimensional space, wherein parameters required to calculate a nonassociative force acting between particles subjected to the calculation are stored in a storage device and which correspond to a combination of the particles subjected to the calculation. 
   A parameter storage device according to the present invention is for use in a multi-body problem processing apparatus for performing a calculation of molecular dynamics for a plurality of particles existing in a three-dimensional space, wherein the parameter storage device stores parameters required to calculate a nonassociative force acting between particles subjected to the calculation in correspondence to a combination of the particles subjected to the calculation. 
   A parameter storing method according to the present invention is directed to multi-body problem processing for performing a calculation of molecular dynamics for a plurality of particles existing in three-dimensional space. The method comprises the steps of: 
   storing parameters required to calculate a nonassociative force acting between particles subjected to the calculation in a storage device in correspondence to a combination of the particles subjected to the calculation; 
   generating an address signal indicative of a combination state of two particles subjected to the calculation; and 
   upon receipt of the address signal, reading parameters stored in the storage device in correspondence to the address signal for performing processing. 
   A multi-body problem processing apparatus according to the present invention is configured to perform a calculation of molecular dynamics for a plurality of particles existing in three-dimensional space. The apparatus comprises: 
   a storage device for storing parameters required to calculate a nonassociative force acting between particles subjected to the calculation in correspondence to a combination of the particles subjected to the calculation; 
   an address generator circuit for generating an address signal indicative of a combination state of two particles subjected to the calculation; and 
   a processing unit responsive to the address signal for reading parameters stored in the storage device which correspond to the address signal for performing processing. 
   In the multi-body problem processing apparatus described above, the address generator circuit may comprise: 
   a first and a second sector for receiving a first and a second particle number indicative of two particles subjected to the calculation, respectively; 
   a comparator circuit for comparing the first and second particle numbers in magnitude, and causing the first selector to select a larger particle number and the second selector to select-a smaller particle number; 
   a first adder for subtracting one particle number from an output of the first selector; 
   a multiplier for multiplying the output of the first selector by an output of the first adder; 
   a ½ circuit for reducing the value produced by the multiplier to one half; and 
   a second adder for adding an output of the ½ circuit and an output of the second selector. 
   The address generator circuit may further comprise: 
   a third selector for receiving the output of the first selector and “0”; and 
   a detector circuit for comparing the output of the second selector with “0” and causing the third selector to select “0” when the output of the second selector is “0”. 
   An address generator circuit according to the present invention is for use in a multi-body problem processing apparatus. The address generator circuit comprises: 
   a first and a second sector for receiving a first and a second particle number indicative of two particles subjected to the calculation, respectively; 
   a comparator circuit for comparing the first and second particle numbers in magnitude, and causing the first selector to select a larger particle number and the second selector to select a smaller particle number; 
   a first adder for subtracting one particle number from an output of the first selector; 
   a multiplier for multiplying the output of the first selector by an output of the first adder; 
   a ½ circuit for reducing the value produced by the multiplier to one half; and 
   a second adder for adding an output of the ½ circuit and an output of the second selector. 
   The address generator circuit may further comprise: 
   a third selector for receiving the output of the first selector and “0”; and 
   a detector circuit for comparing the output of the second selector with “0” and causing the third selector to select “0” when the output of the second selector is “0.” 
   The molecular dynamics calculation requires a number of distance and energy parameters which is equal to the number of combinations of particle species, and the values of these parameters remain unchanged even when there is a change of places between particles in a combination. As previously shown in  FIG. 2 , addresses have been generated for a particular particle in order to calculate nonassociative forces between that particle and all remaining particles. For example, different addresses have been generated for a combination of particle numbers  3 ,  4  and a combination of particle numbers  4 ,  3 , but the same parameters are stored in a storage device at these addresses. 
   The present invention takes advantage of the fact that parameters remain unchanged even when there is a change of places between particles in a combination. Specifically, a combination of serial numbers is given to a combination of particles subjected to the calculation, such that the address generator circuit uses the serial numbers to generate a memory address at which required parameters are stored. The address generator circuit generates the same memory address even when the serial numbers are interchanged within the combination. Consequently, data at the same memory address can be referenced even if the particles are interchanged. 
   The feature of the present invention can be used to reduce the number of stored parameters to one half, i.e., accomplish a significant reduction in memory capacity, thus resulting in a smaller gate amount, lower power consumption, and a smaller amount of generated heat. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a block diagram illustrating the configuration of a main portion of a conventional multi-body problem processing apparatus; 
       FIG. 2  is a table showing how addresses are stored in address generator circuit  101 ; 
       FIG. 3  is a block diagram illustrating the configuration of a main portion of a multi-body problem processing apparatus according to the present invention; 
       FIG. 4  is a circuit diagram illustrating the configuration of address generator circuit  1  in  FIG. 3 ; 
       FIG. 5  is a table showing how addresses are generated by address generator circuit  1 ; and 
       FIG. 6  is a circuit diagram illustrating the configuration of another embodiment of address generator circuit  1  in  FIG. 3 . 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
   Next, embodiments of the present invention will be described. 
     FIG. 3  is a block diagram illustrating the configuration of a main portion of a multi-body problem processing apparatus according to one embodiment of the present invention. In the description of this embodiment, number P, which takes a value of 0 to N−1, is given in order to identify N types of particle species, and particle numbers in combination are designated by P i  and P j . 
   As illustrated in  FIG. 3 , this embodiment comprises address generator circuit  1 , processing unit  2 , and storage device  3 . Address generator circuit  1  stores addresses corresponding to particle numbers P i , P j , while storage device  3  stores parameters corresponding to addresses. 
     FIG. 4  is a circuit diagram illustrating the configuration of address generator circuit  1  in  FIG. 3 . In the following, the generation of an address in this embodiment will be described in detail with reference to  FIG. 4 . 
   Address generator circuit  1  comprises comparator circuit  11 , selectors  12 ,  13 , adder  16 , multiplier  17 , ½ circuit  18 , and adder  19 . 
   Particle numbers P i , P j  are applied to comparator circuit  11  and selectors  12 ,  13 . Comparator circuit  11  compares particle numbers P i , P j  with each other, and causes selector  12  to select a larger particle number (P H ), and selector  13  to select a smaller particle number (P L ). 
   Larger particle number P H  is multiplied by a value calculated by subtracting one particle number from particle number P H  by adder  16  in multiplier  17 , and the resulting number is reduced to one half by ½ circuit  18 . Subsequently, the output of ½ circuit  18  is added to smaller particle number P L  in adder  19  to generate an address. 
   Adder  16  and multiplier  17  calculate P H (P H −1), where this calculation always results in an even number without fail, so that ½ circuit  18  may ignore the least significant bit. Finally, adder  9  adds P L  delivered from selector  3  to the output of ½ circuit  18  to generate an address represented by the following equation:
 
Address= P   H ( P   H −1)/2 +P   L  
 
     FIG. 5  is a table showing how addresses are generated by address generator circuit  1 . Address generator circuit  101  shown in  FIG. 2  generates (N+1) 2  different addresses corresponding to combinations of particle numbers P i , P j , as shown on the left-handed table, whereas this embodiment generates addresses each corresponding to a combination of larger particle number P H  with smaller particle number P L , that results from a comparison in magnitude between particle numbers P i , P j , as shown in the right-handed table. The addresses are generated by taking into account the fact that the same combination of particle species would result in the same parameters that are needed to calculate a nonassociative force therebetween. As a result, the number of combinations of particle numbers, for which addresses are generated, are approximately one half as much as the prior art example shown in  FIG. 2 . 
   Upon receipt of particle numbers P i , P j , address generator circuit  1  generates address S 1  corresponding to particle numbers P i , P j , and outputs the address S 1  to processing unit  2 . Processing unit  2  reads parameters stored in storage device  3  in correspondence to address S 1 , performs processing, and delivers processing result S 2 . 
   The parameters stored in storage device  3  correspond to address S 1  generated by address generator  1 , where storage device  3  has a memory capacity approximately one half as much as that of storage device  103  shown in  FIG. 1 . 
     FIG. 6  is a circuit diagram illustrating the configuration of another embodiment of address generator circuit  1  in  FIG. 3 . In the following, the generation of an address in this embodiment will be described in detail with reference to  FIG. 4 . 
   Address generator circuit  1  in this embodiment additionally comprises detector circuit  14  and selector  15  in the configuration illustrated in  FIG. 4 . Detector circuit  14  receives smaller particle number P L  delivered by selector  13  and “0” to detect whether or not smaller particle number P L  is “0.” Selector  15  receives larger particle number P H  and “0” to select “0” when the result of the detection made by the detector circuit shows that smaller particle number P L  is “0” and selects larger particle number P H  when the result of the detection shows that smaller particle number P L  is not “0”. 
   In this embodiment, “0,” which can be taken by particle numbers P i , P j , is delivered when no calculation is required to find a nonassociative force acting between particles. In a multi-body problem processing apparatus using this embodiment, a generated address is degenerated to “0” when at least one of the particle numbers P i , P j  in a combination has a particle number of “0.”