(57)【要約】【課題】  多体問題用演算装置のメモリ容量を削減する。【解決手段】  ３次元空間に複数存在する粒子について分子動力学の計算を行う多体問題用演算におけるパラメータ格納方法において、  計算対象となる粒子間に働く非結合力を計算する際に必要とされるパラメータを、計算対象となる粒子の組み合わせに対応して記憶装置に格納する。【選択図】  図２
2007115111.tif 000002
【特許請求の範囲】
【請求項１】
３次元空間に複数存在する粒子について分子動力学の計算を行う多体問題用演算におけるパラメータ格納方法において、
計算対象となる粒子間に働く非結合力を計算する際に必要とされるパラメータを、計算対象となる粒子の組み合わせに対応して記憶装置に格納することを特徴とするパラメータ格納方法。
【請求項２】
３次元空間に複数存在する粒子について分子動力学の計算を行う多体問題用演算装置に用いられるパラメータ格納装置において、
計算対象となる粒子間に働く非結合力を計算する際に必要とされるパラメータを、計算対象となる粒子の組み合わせに対応して格納することを特徴とするパラメータ格納装置。
【請求項３】
３次元空間に複数存在する粒子について分子動力学の計算を行う多体問題用演算方法において、
計算対象となる粒子間に働く非結合力を計算する際に必要とされるパラメータを、計算対象となる粒子の組み合わせに対応して記憶装置に格納するステップと、
計算対象となる２つの粒子の組み合わせ状態を示すアドレス信号を生成するステップと、
前記アドレス信号を受け付けると、該アドレス信号に対応して前記記憶装置に格納されているパラメータを読み出して演算を行うステップと、
を有することを特徴とする多体問題用演算方法。
【請求項４】
３次元空間に複数存在する粒子について分子動力学の計算を行う多体問題用演算装置において、
計算対象となる粒子間に働く非結合力を計算する際に必要とされるパラメータを、計算対象となる粒子の組み合わせに対応して格納する記憶装置と、
計算対象となる２つの粒子の組み合わせ状態を示すアドレス信号を生成するアドレス生成回路と、
前記アドレス信号を受け付けると、該アドレス信号に対応して前記記憶装置に格納されているパラメータを読み出して演算を行う演算装置と、
を有することを特徴とする多体問題用演算装置。
【請求項５】
請求項４記載の多体問題用演算装置において、
アドレス生成回路は、
計算対象となる２つの粒子を示す第１および第２の粒子番号をそれぞれ入力する、第１および第２のセレクタと、
前記第１および第２の粒子番号の大小を比較し、前記第１のセレクタには大きな粒子番号を選択させ、前記第２のセレクタには小さな粒子番号を選択させる比較回路と、
前記第１のセレクタの出力を１減じた値とする第１の加算器と、
前記第１のセレクタの出力と前記第１の加算器出力を乗算する乗算器と、
前記乗算器の値を半分とする１／２回路と、
前記１／２回路出力と前記第２のセレクタ出力とを加算する第２の加算器とからなる多体問題用演算装置。
【請求項６】
請求項４記載の多体問題用演算装置において、
アドレス生成回路は、
第１のセレクタの出力と、”０”とを入力する第３のセレクタと、
第２のセレクタの出力と”０”とを比較し、前記第２のセレクタの出力が”０”である場合には、前記セレクタに”０”を選択させる検出回路とを有する多体問題用演算装置。
【請求項７】
多体問題用演算装置に用いられるアドレス生成回路であって、
計算対象となる２つの粒子を示す第１および第２の粒子番号をそれぞれ入力する、第１および第２のセレクタと、
前記第１および第２の粒子番号の大小を比較し、前記第１のセレクタには大きな粒子番号を選択させ、前記第２のセレクタには小さな粒子番号を選択させる比較回路と、
前記第１のセレクタの出力を１減じた値とする第１の加算器と、
前記第１のセレクタの出力と前記第１の加算器出力を乗算する乗算器と、
前記乗算器の値を半分とする１／２回路と、
前記１／２回路出力と前記第２のセレクタ出力とを加算する第２の加算器とからなるアドレス生成回路。
【請求項８】
請求項７記載のアドレス生成回路において、
第１のセレクタの出力と、”０”とを入力する第３のセレクタと、
第２のセレクタの出力と”０”とを比較し、前記第２のセレクタの出力が”０”である場合には、前記セレクタに”０”を選択させる検出回路とを有するアドレス生成回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分子動力学の計算を行う多体問題用演算装置に関し、特に、計算を行う際のパラメータ格納方法、パラメータ格納装置、多体問題用演算装置およびアドレス生成回路に関する。
【背景技術】
【０００２】
特許文献１（特開平６−２２３０５２号公報）および特許文献２（特開平２５１４４９号公報）に開示されるような分子動力学計算の計算を行う多体問題用演算装置では、３次元空間中に存在する多数の粒子間に働く非結合力を計算する場合に、距離およびエネルギーパラメータを考慮する必要がある。
【０００３】
従来、これらのパラメータは予めメモリへ格納しておき、計算時に必要なパラメータを読み出して各粒子間に働く非結合力を計算していた。これらのパラメータは粒子の種類によって異なるため、各粒子の組み合わせ数のパラメータをメモリに格納する必要があった。
【０００４】
図５は従来の多体問題用演算装置の要部構成を示すブロック図である。本従来例の説明において、Ｎ種類の粒子種を識別するために０〜Ｎ−１の番号Ｐを付与し、組み合わせる粒子番号ＰiとＰjとして説明する。
【０００５】
図５において、アドレス生成回路１０１は、粒子番号ＰiとＰjに対応したアドレスを格納し、記憶装置１０３はアドレスに対応したパラメータを格納している。
【０００６】
アドレス生成回路１０１は粒子番号ＰiとＰjが入力されると、粒子番号ＰiとＰjに対応するアドレスＳ１０１を演算装置１０２へ出力する。演算装置１０２はアドレスＳ１０１に対応して記憶装置１０３に格納されているパラメータを読み出して、演算を行い、演算結果Ｓ１０２を出力する。
【０００７】
図６はアドレス生成回路１０１のアドレス格納状態を示す図である。
【０００８】
計算対象となる２つの粒子（粒子番号ＰiとＰj）はそれぞれＮ種類であり、０を含むために、アドレスの最終値は（Ｎ＋１）2−１で表され、生成される全アドレスの種類は（Ｎ＋１）2となる。アドレスに対応するパラメータを格納する記憶装置１０３には、（Ｎ＋１）2個のアドレスに対応する（Ｎ＋１）2個のパラメータが格納されている。
【特許文献１】特開平６−２２３０５２号公報
【特許文献２】特開平２５１４４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
分子動力学計算の計算を行う際に必要となるパラメータは予めメモリへ格納しておき、計算時に必要なパラメータを読み出して各粒子間に働く非結合力を計算していたが、これらのパラメータは粒子の種類によって異なるため、各粒子の組み合わせ数のパラメータをメモリに格納する必要があり、メモリ容量（ゲート量）増加の大きな要因となっていた。
【００１０】
本発明は上述した従来の技術が有する問題点に鑑みてなされたものであって、メモリ容量を削減することのできるパラメータ格納方法、パラメータ格納装置、多体問題用演算装置およびアドレス生成回路を実現することを目的とする。
【課題を解決するための手段】
【００１１】
本発明のパラメータ格納方法は、３次元空間に複数存在する粒子について分子動力学の計算を行う多体問題用演算におけるパラメータ格納方法において、
計算対象となる粒子間に働く非結合力を計算する際に必要とされるパラメータを、計算対象となる粒子の組み合わせに対応して記憶装置に格納することを特徴とする。
【００１２】
本発明のパラメータ格納装置は、３次元空間に複数存在する粒子について分子動力学の計算を行う多体問題用演算装置に用いられるパラメータ格納装置において、
計算対象となる粒子間に働く非結合力を計算する際に必要とされるパラメータを、計算対象となる粒子の組み合わせに対応して格納することを特徴とする。
【００１３】
本発明の多体問題用演算方法は、３次元空間に複数存在する粒子について分子動力学の計算を行う多体問題用演算方法において、
計算対象となる粒子間に働く非結合力を計算する際に必要とされるパラメータを、計算対象となる粒子の組み合わせに対応して記憶装置に格納するステップと、
計算対象となる２つの粒子の組み合わせ状態を示すアドレス信号を生成するステップと、
前記アドレス信号を受け付けると、該アドレス信号に対応して前記記憶装置に格納されているパラメータを読み出して演算を行うステップと、
を有することを特徴とする。
【００１４】
本発明の多体問題用演算装置は、３次元空間に複数存在する粒子について分子動力学の計算を行う多体問題用演算装置において、
計算対象となる粒子間に働く非結合力を計算する際に必要とされるパラメータを、計算対象となる粒子の組み合わせに対応して格納する記憶装置と、
計算対象となる２つの粒子の組み合わせ状態を示すアドレス信号を生成するアドレス生成回路と、
前記アドレス信号を受け付けると、該アドレス信号に対応して前記記憶装置に格納されているパラメータを読み出して演算を行う演算装置と、
を有することを特徴とする。
【００１５】
この場合、アドレス生成回路は、
計算対象となる２つの粒子を示す第１および第２の粒子番号をそれぞれ入力する、第１および第２のセレクタと、
前記第１および第２の粒子番号の大小を比較し、前記第１のセレクタには大きな粒子番号を選択させ、前記第２のセレクタには小さな粒子番号を選択させる比較回路と、
前記第１のセレクタの出力を１減じた値とする第１の加算器と、
前記第１のセレクタの出力と前記第１の加算器出力を乗算する乗算器と、
前記乗算器の値を半分とする１／２回路と、
前記１／２回路出力と前記第２のセレクタ出力とを加算する第２の加算器とからなるとしてもよい。
【００１６】
さらに、アドレス生成回路は、
第１のセレクタの出力と、”０”とを入力する第３のセレクタと、
第２のセレクタの出力と”０”とを比較し、前記第２のセレクタの出力が”０”である場合には、前記セレクタに”０”を選択させる検出回路とを有するとしてもよい。
【００１７】
本発明のアドレス生成回路は、多体問題用演算装置に用いられるアドレス生成回路であって、
計算対象となる２つの粒子を示す第１および第２の粒子番号をそれぞれ入力する、第１および第２のセレクタと、
前記第１および第２の粒子番号の大小を比較し、前記第１のセレクタには大きな粒子番号を選択させ、前記第２のセレクタには小さな粒子番号を選択させる比較回路と、
前記第１のセレクタの出力を１減じた値とする第１の加算器と、
前記第１のセレクタの出力と前記第１の加算器出力を乗算する乗算器と、
前記乗算器の値を半分とする１／２回路と、
前記１／２回路出力と前記第２のセレクタ出力とを加算する第２の加算器とからなる。
【００１８】
この場合、第１のセレクタの出力と、”０”とを入力する第３のセレクタと、
第２のセレクタの出力と”０”とを比較し、前記第２のセレクタの出力が”０”である場合には、前記セレクタに”０”を選択させる検出回路とを有するとしてもよい。
【００１９】
分子動力学計算に使用される距離およびエネルギーパラメータは粒子種の組み合わせ数だけ存在し、これらのパラメータは粒子種の組み合わせを入れ替えても値は変わらない。図６に示したように、従来は特定の粒子について、他のすべての粒子との間の計算を行うためのアドレスが生成されていた。例えば粒子番号３，４の組み合わせと粒子番号４，３については異なるアドレスが生成されていたが、これらの異なるアドレスには同じパラメータが記憶装置に格納されている。
【００２０】
本発明では粒子種の組み合わせを入れ替えてもパラメータは変わらないことを利用する。すなわち、計算対象となる粒子にシリアルな番号を付与し、その番号から必要なパラメータが格納されているメモリアドレスを生成すると同時に、組み合わせを入れ替えても同じメモリアドレスを生成するアドレス生成回路を用いることにより、粒子を入れ替えても同じメモリアドレスのデータを参照することができる。
【発明の効果】
【００２１】
本発明の構成を用いることで、格納するパラメータの数が約半分となり、メモリ容量を大きく削減することが可能となり、ゲート量の削減および消費電力、発熱量の削減が実現できることとなる。
【発明を実施するための最良の形態】
【００２２】
次に、本発明の実施例について説明する。
【００２３】
図１は本発明による多体問題用演算装置の要部構成を示すブロック図である。本実施例の説明において、Ｎ種類の粒子種を識別するために０〜Ｎ−１の番号Ｐを付与し、組み合わせる粒子番号ＰiとＰjとして説明する。
【００２４】
本実施例は、図１に示すように、アドレス生成回路１と、演算装置２と、記憶装置３から構成されている。アドレス生成回路１は、粒子番号ＰiとＰjに対応したアドレスを格納し、記憶装置３はアドレスに対応したパラメータを格納している。
【００２５】
図２は図１中のアドレス生成回路１の構成を示す回路図であり、以下に本実施例におけるアドレス生成について図２を参照して詳細に説明する。
【００２６】
アドレス生成回路１は、比較回路１１、セレクタ１２，１３、加算器１６、乗算器１７、１／２回路１８および加算器１９から構成されている。
【００２７】
粒子番号ＰiとＰjは、比較回路１１、セレクタ１２，１３に入力されている。比較回路１１は粒子番号ＰiとＰjとを比較し、セレクタ１２には大きな粒子番号（ＰH）を選択させ、セレクタ１３には小さな粒子番号（ＰL）を選択させる。
【００２８】
大きな方の粒子番号ＰHは乗算器１７において、加算器１６により１減じられた値と乗算され、さらに、１／２回路１８にて１／２とされる。この後、１／２回路１８の出力は加算器１９にて小さな粒子番号ＰLと加算され、アドレスとして出力される。
【００２９】
加算器１６と乗算器１７はＰH（ＰH−１）を計算するが、この計算結果は必ず偶数となるので、１／２回路１８は最下位ビットについては無視すればよい。最後に加算器９によりセレクタ３で出力されるＰLを加算することで、以下の式で表されるアドレスが生成される。
【００３０】
アドレス＝ＰH（ＰH−１）／２＋ＰL
図３はアドレス生成回路１により生成されるアドレスの状態を示す図である。図６に示したアドレス生成回路１０１では、図面左側に示すように粒子番号ＰiとＰjの組み合わせに対応して（Ｎ＋１）2種類のアドレスが生成されていたのに対し、本実施例では図面右側に示すように粒子番号ＰiとＰjの大小を比較した結果の、大きな粒子番号ＰHと小さな粒子番号ＰLの組み合わせに対応してアドレスを生成している。これは、粒子種の組み合わせが同じであれば、これらの間の非結合力の掲載に必要とされるパラメータは同じことに着目したものであり、この結果、アドレスが生成される粒子番号の組の数が図６に示した従来例と比較すると約半分となっている。
【００３１】
アドレス生成回路１は粒子番号ＰiとＰjが入力されると、粒子番号ＰiとＰjに対応するアドレスＳ１を演算装置２へ出力する。演算装置２はアドレスＳ１に対応して記憶装置３に格納されているパラメータを読み出して、演算を行い、演算結果Ｓ２を出力する。
【００３２】
記憶装置３に格納されているパラメータはアドレス生成回路１が生成したアドレスＳ１に対応するものであり、記憶装置３のメモリ容量は、図５に示した記憶装置１０３のメモリ容量の約半分となっている。
【００３３】
図４は図１中のアドレス生成回路１の他の実施例の構成を示す回路図であり、以下に本実施例におけるアドレス生成について図２を参照して詳細に説明する。
【００３４】
本実施例におけるアドレス生成回路１は、図２に示した構成に、検出回路１４およびセレクタ１５を設けたものである。検出回路１４はセレクタ１３が出力する小さな粒子番号ＰLと”０”とを入力し、小さな粒子番号ＰLが”０”であるかを検出する。セレクタ１５は、大きな粒子番号ＰHと”０”とを入力し、検出回路１４の検出結果が小さな粒子番号ＰLが”０”であることを示す場合には”０”を選択し、検出回路１４の検出結果が小さな粒子番号ＰLが”０”でないことを示す場合には大きな粒子番号ＰHを選択する。
【００３５】
本実施例において、粒子番号ＰiとＰjとしての”０”は粒子間に働く非結合力の計算を必要としない場合に出力されるものとされ、本実施例を用いた多体問題用演算装置粒子では、粒子番号ＰiとＰjの組み合わせ中、少なくとも一方が粒子番号０である場合には生成されるアドレスは０に縮退されることとなる。
【図面の簡単な説明】
【００３６】
【図１】本発明による多体問題用演算装置の要部構成を示すブロック図である。
【図２】図１中のアドレス生成回路１の構成を示す回路図である。
【図３】アドレス生成回路１により生成されるアドレスの状態を示す図である。
【図４】図１中のアドレス生成回路１の他の実施例の構成を示す回路図である。
【図５】従来の多体問題用演算装置の要部構成を示すブロック図である。
【図６】アドレス生成回路１０１のアドレス格納状態を示す図である。
【符号の説明】
【００３７】
１    アドレス生成回路
２    演算装置
３    記憶装置
Ｓ１    アドレス
Ｓ２    演算結果
１１    比較回路
１２，１３，１５    セレクタ
１４    検出回路
１６，１９    加算器
１７    乗算器
１８    乗算器
【図１】
2007115111.tif 000003
【図２】
2007115111.tif 000004
【図３】
2007115111.tif 000005
【図４】
2007115111.tif 000006
【図５】
2007115111.tif 000007
【図６】
2007115111.tif 000008