(57)【要約】【課題】  ＰＣＩバス３を介して接続される全ての専用計算装置２にホスト計算機１からのデータ転送を短時間の内に実行する。【解決手段】  複数の専用計算機の内に代表となる装置２ａと非代表の装置２ｂ、２ｃとをＰＣＩバス３とは別の通知信号経路５により接続し、ＰＣＩバスのアドレス空間にこれら全ての専用計算装置への一斉データ転送用のグローバルアドレス２０ｇを割り当てて設定する。専用計算装置は、代表識別手段２２により自己が代表であるか否かを識別し、非代表の専用計算装置２ｂ、２ｃはグローバルアドレスにより一斉転送されるデータのバス３からの取得終了を通知信号経路５により代表の専用計算装置２ａへ通知する一方、代表の専用計算装置２ａは、バス３からのデータ取得をし、非代表の専用計算装置からの終了通知を待って、一斉転送されたデータの取得応答をＰＣＩバス３を通して行う。【選択図】  図２
2005190067.tif 000002
【特許請求の範囲】
【請求項１】
ホスト計算機に外部バスを介して複数のバス周辺装置を接続した情報処理システムにおいて、
複数のバス周辺装置の内に代表となるバス周辺装置と、その他のバス周辺装置とを通知信号経路により接続し、
外部バスのアドレス空間に、ホスト計算機が外部バスを通して個別にデータ転送するためのアドレスを複数のバス周辺装置にそれぞれ割り当てて設定するとともに、これら複数のバス周辺装置への一斉データ転送用のグローバルアドレスを割り当てて設定し、
バス周辺装置は、自己が代表であるか否かを識別する代表識別手段と、外部バスを通したホスト計算機からのデータ転送がグローバルアドレスによるものか否かを判定するアドレス判定手段とを有し、
更に、代表以外のバス周辺装置は、グローバルアドレスにより一斉転送されるデータの取得終了を通知信号経路を通して代表のバス周辺装置へ通知する通知手段を有し、
代表のバス周辺装置は、代表以外のバス周辺装置からの終了通知を待って、一斉転送されたデータの取得応答を外部バスを通して行う応答手段を有していることを特徴とする情報処理システム。
【請求項２】
請求項１に記載の情報処理システムにおいて、
グローバルアドレスは、代表となるバス周辺装置へのアドレス空間内に設定されていることを特徴とする情報処理システム。
【請求項３】
請求項１又は請求項２に記載の情報処理システムにおいて、
通知信号経路は単一の信号線であり、
代表のバス周辺装置の応答手段と代表以外のバス周辺装置の通知手段とは、当該信号線を介してワイアドＯＲ論理で接続されて、応答手段は全ての代表以外のバス周辺装置からの終了通知を判定してデータの取得応答を外部バスを通して行うことを特徴とする情報処理システム。
【請求項４】
外部バスを介して接続した複数のバス周辺装置へホスト計算機からデータを一斉転送する方法であって、
外部バスのアドレス空間に、ホスト計算機が外部バスを通して複数のバス周辺装置への一斉データ転送用のグローバルアドレスを割り当てて設定し、
また、各バス周辺装置に備えられた識別手段により、複数のバス周辺装置の内の１つを代表に設定し、
代表以外のバス周辺装置は、グローバルアドレスにより一斉転送されるデータの取得終了を代表のバス周辺装置へ通知する一方、
代表のバス周辺装置は、代表以外のバス周辺装置からの終了通知を待って、一斉転送されたデータの取得応答を外部バスを通して行うことを特徴とするデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＣＩ（Peripheral Component Interconnect）バス等の汎用バスを外部バスとして、当該外部バスを介して複数のバス周辺装置をホスト計算機に接続した情報処理システムに関し、特に、ホスト計算機から外部バスを介して複数のバス周辺装置へデータの一斉転送を実現する技術に関する。
【背景技術】
【０００２】
コンピュータを用いた情報処理システムは目的や用途に応じて種々な構成があり、ホスト計算機に外部バスを介して複数のバス周辺装置を接続した構成のシステムも知られている。このような情報処理システムの一例として、バス周辺装置として専用計算機を用い、ホスト計算機に外部バスを介して複数の専用計算装置を接続した情報処理システムが多体問題の計算シミュレーションに用いられている。
多体問題とは互いに作用し合っている物体を扱う問題であり、例えばニュートンの運動方程式と重力だけに支配される重力多体系やクーロン力とv.d.Waals力に支配される多体系などが挙げられる。このような系を解析するために、系を構成する多数の粒子（質点、分子、原子など）間の相互作用を計算することが行われる。
【０００３】
多数の原子や分子が集まってできる液体、固体、ガラス、タンパク質など多体系の構造や動的性質を計算によって求める手法として分子動力学法がある。分子動力学法では、系を構成する全ての粒子（分子或いは原子）１つ１つに働く力を求め、運動方程式を解くことで粒子の軌跡を追跡する。例えば、粒子間に働く静電力を考えると、静電力は遠方まで届くため注目する粒子とそれ以外の全ての粒子との間で働く力を考えなければならない。すなわち、Ｎ個の粒子からなる系において、粒子に働く静電力を求めるためにはＮ×（Ｎ−１）／２個のペアに働く相互作用を全て計算しなければならない。
静電力の他にも分子間力や分子間結合力などといった全ての相互作用力を計算し、運動方程式を解き、各粒子の微小時間後の座標と速度が決定される。そして、系の構造や動的性質を求めるために、このステップを必要な回数だけ繰り返し実行する。この時の計算量は粒子の個数Ｎの自乗に比例するためＮが大きくなるにつれ計算量が爆発的に増大し、高価なスーパーコンピュータをもってしても計算能力が足りないという問題がある。
【０００４】
そこで、このような多体問題を計算する情報処理システムは、複数の専用計算装置を接続した並列パイプライン構成として、多体問題の計算処理を高速に行うことが知られている（特許文献１、非特許文献１参照。）。
すなわち、多体問題用計算用の情報処理システムは、その一例を表す図１３に示すように、ホスト計算機１０１と複数の専用計算装置１０２が汎用バス１０３により結合された並列パイプライン構成となっている。そして、各専用計算装置１０２は、図１４に示すように、汎用バス制御装置２０１、粒子データ記憶装置２０２、複数の相互作用計算装置２０３、ローカルバス２０４を有している。
【０００５】
粒子のデータは粒子の座標値、電荷量、粒子の種類などを含んで構成されており、相互作用計算装置２０３に注目粒子の粒子データを設定して計算を開始すると、粒子データ記憶装置２０２に記憶されている全ての粒子データが汎用バス制御装置２０１を介して全ての相互作用計算装置２０３に順番に送られる。相互作用計算装置２０３は内部でパイプライン処理を行い、設定されている１つ以上の注目粒子とその他の粒子との間に働く相互作用を計算して内部レジスタに積算する。この計算が終了すると、ホスト計算機１０１に計算終了を通知し、ホスト計算機１０１が計算結果を相互作用計算装置２０３の内部レジスタから順番に読み出す。
【０００６】
図１５を参照して、従来の多体問題用情報処理システムにおける計算処理を説明する。
まず、ホスト計算機１０１上で起動されたソフトウエアは計算の初期化を実行する（ステップＳ１０１）。この時、対象とする系の全ての粒子の初期値データがホスト計算機１０１上のメモリに読み込まれる。
次いで、全粒子データがホスト計算機１０１から全ての専用計算装置１０２に汎用バス１０３を通して転送される（ステップＳ１０２、Ｓ１０３）。そして、専用計算装置１０２を使って粒子間の相互作用を計算するために、ホスト計算機１０１は全ての専用計算装置１０２に搭載される相互作用計算装置２０３に注目する粒子データを順番に設定する（ステップＳ１０４）。そして、ホスト計算機１０１は専用計算装置１０２に計算開始を指示し（ステップＳ１０５）、専用計算装置１０２が計算終了するまで待機する（ステップＳ１０６）。
【０００７】
専用計算装置１０２での計算が終了すると、ホスト計算機１０１は専用計算装置１０２の相互作用計算装置２０３内のレジスタから順番に計算結果データを読み出す（ステップＳ１０７）。そして、ステップＳ１０４からＳ１０７までの処理を、設定する注目粒子を順に変更しながら繰り返し行い、全ての粒子で相互作用計算を終了すると（ステップＳ１０８）、ホスト計算機１０１は、相互作用計算装置２０３の計算結果データに基づいて運動方程式を解いて、全ての粒子の微小時間後の座標及び速度を求める（ステップＳ１０９）。
上記一連の処理を必要なステップだけ繰り返し行って（ステップＳ１１０）、これにより、計算対象の系に含まれる粒子全体の動作を知ることができる。
【０００８】
このように、多体問題用情報処理システムでは、専用計算装置１０２の数と相互作用計算装置２０３の数、そして相互作用計算装置２０３に設定できる注目粒子の数を掛け合わせた数だけ相互作用力の計算を並列に処理することができる。これにより、通常の計算機のソフトウエアで計算する場合に比べて高速に計算することが可能になる。
したがって、多体問題用情報処理システムの性能を向上するためには、専用計算装置１０２及び専用計算装置１０２を構成する相互作用計算装置２０３の数を増やせばよいことは明らかである。
【０００９】
しかしながら、上記ステップＳ１０２及びＳ１０３の処理のように、全ての粒子データを専用計算装置１０２の数だけ粒子データ記憶装置２０２に転送しなければならないため、専用計算装置１０２を増やすことで並列度が上がって計算処理の全体に占める相互作用計算時間の割合が低下する一方で、ホスト計算機１０１から専用計算装置１０２へのデータ転送処理に要する時間割合が増大して、並列化による処理の高速化効果が小さくなってしまうという問題がある。
この問題を避けるためには、汎用バス１０３のデータ転送方法としてバス上の複数の装置に対して同時にデータ転送を実行する一斉同報が可能であることが望ましい。すなわち、一斉同報により、専用計算装置１０２の数に関係なく一定の時間で全ての粒子データを全ての専用計算装置１０２に転送することが可能になる。
【００１０】
しかしながら、全ての汎用バスで一斉同報可能な訳ではなく、特にＰＣＩバスのように、接続されるバス周辺装置を単一のアドレス空間にマップしてアクセスするタイプの汎用バスでは、バス周辺装置のアドレス空間がそれぞれオーバーラップすることはないため、単純に一斉同報を行うことができない（非特許文献２参照。）。
一般に、多体問題用情報処理システムのホスト計算機１０１としてパーソナルコンピュータ（ＰＣ）を使う場合が多いが、この場合には、図１６に示すように、複数の専用計算装置１０２ａ、１０２ｂ、１０２ｃをＰＣＩバス周辺装置として構成し、これら専用計算装置１０２ａ、１０２ｂ、１０２ｃとホスト計算機１０１とを一斉同報ができないＰＣＩバス１０３で接続する必要がある。
【００１１】
ＰＣを用いたシステムでは、ホスト計算機１０１が起動する際にＰＣＩバス１０３上に接続されるＰＣＩバス周辺装置（専用計算装置１０２ａ、１０２ｂ、１０２ｃ）がスキャンされ、全てのＰＣＩバス周辺装置１０２ａ、１０２ｂ、１０２ｃ毎にメモリ空間とＩ／Ｏ空間が割り当てられる。この仕組みはＰＣＩコンフィグレーションと呼ばれる。
図１７には、図１６に示したシステムにおけるＰＣＩコンフィグレーション実施後のＰＣＩアドレスマップの一例を示す。ＰＣＩバス周辺装置１０２ａ、１０２ｂ、１０２ｃは、単一のアドレス空間内においてそれぞれ別個なアドレス空間１０４ａ、１０４ｂ、１０４ｃがマッピングされる。
【００１２】
したがって、ホスト計算機１０１による各ＰＣＩバス周辺装置１０２ａ、１０２ｂ、１０２ｃへのアクセスは、図１７に示すように、それぞれのアドレス空間１０４ａ、１０４ｂ、１０４ｃのベースアドレスを使って各ＰＣＩバス周辺装置１０２ａ、１０２ｂ、１０２ｃを区別して行う。
一方、このようにホスト計算機１０１は各ＰＣＩバス周辺装置１０２ａ、１０２ｂ、１０２ｃをそれぞれのアドレス空間１０４ａ、１０４ｂ、１０４ｃ毎に区別してアクセスするので、複数のＰＣＩ周辺装置に対する一斉同報を行うことはできない。すなわち、ホスト計算機１０１が全てのＰＣＩ周辺装置にデータを転送するためには、１つ１つのＰＣＩ周辺装置１０２ａ、１０２ｂ、１０２ｃに対して順番にデータ転送する必要がある。
【特許文献１】特許第２９４８３７８号公報
【非特許文献１】「Ｄｅｖｅｌｏｐｍｅｎｔ  ｏｆ  ＭＤ  Ｅｎｇｉｎｅ：Ｈｉｇｈ−Ｓｐｅｅｄ  Ａｃｃｅｌｅｒａｔｏｒ  ｗｉｔｈ  Ｐａｒａｌｌｅｌ  Ｐｒｏｃｅｓｓｏｒ  Ｄｅｓｉｇｎ  ｆｏｒ  Ｍｏｌｅｃｕｌａｒ  Ｄｙｎａｍｉｃｓ  Ｓｉｍｕｌａｔｉｏｎ」、Ｊｏｕｒｎａｌ  ｏｆ  Ｃｏｕｍｕｔａｔｉｏｎａｌ  Ｃｈｅｍｉｓｔｒｙ、Ｖｏｌ．２０，Ｎｏ．２，１８５−１９９
【非特許文献２】「ＰＣＩ Ｌｏｃａｌ Ｂｕｓ Ｓｐｅｃｉｆｉｃａｔｉｏｎ Ｒｅｖｉｓｉｏｎ２．２（ＰＣＩ Ｓｐｅｃ）」、ＰＣＩ Ｓｐｅｃｉａｌ Ｉｎｔｅｒｅｓｔ Ｇｒｏｕｐ、１９９５年６月出版
【発明の開示】
【発明が解決しようとする課題】
【００１３】
上記のように、ＰＣＩバス等の一斉同報機能を有していない汎用バスを用いた情報処理システムでは、バス周辺装置の数を増やした場合に、ホスト計算機からこれらバス周辺装置へのデータ転送処理に要する時間割合が増大し、並列化による高速化の効果が減少してしまうという課題があった。特に、多体問題計算用の情報処理システムでは、バス周辺装置としての専用計算装置を増やして得られる効果を、データ転送処理に要する時間の増大により損ねてしまうものであった。
【００１４】
本発明は上記従来の事情に鑑みなされたもので、ホスト計算機に外部バスを介して接続されるバス周辺装置の数に関わりなく、ホスト計算機からバス周辺装置へのデータ転送を短時間の内に実行することを目的としている。
特に、本発明は、多体問題の計算処理において、ホスト計算機から複数の専用計算装置への粒子データ転送を短時間の内に実行することを目的としている。
【課題を解決するための手段】
【００１５】
本発明は、ホスト計算機に外部バスを介して複数のバス周辺装置を接続した情報処理システムであって、複数のバス周辺装置の内に代表となるバス周辺装置と、その他のバス周辺装置とを通知信号経路により接続し、外部バスのアドレス空間に、ホスト計算機が外部バスを通して個別にデータ転送するためのアドレスを複数のバス周辺装置にそれぞれ割り当てて設定するとともに、これら複数のバス周辺装置への一斉データ転送用のグローバルアドレスを割り当てて設定する。そして、バス周辺装置は、自己が代表であるか否かを識別する代表識別手段と、外部バスを通したホスト計算機からのデータ転送がグローバルアドレスによるものか否かを判定するアドレス判定手段とを有し、代表以外のバス周辺装置は、グローバルアドレスにより一斉転送されるデータの取得終了を通知信号経路を通して代表のバス周辺装置へ通知する通知手段を有しており、代表のバス周辺装置の応答手段は、代表以外のバス周辺装置からの終了通知を待って、一斉転送されたデータの取得応答を外部バスを通して行う。
【００１６】
ここで、本発明では、グローバルアドレスは、代表となるバス周辺装置へのアドレス空間内に設定されているのが好ましく、また、通知信号経路は単一の信号線として、代表のバス周辺装置の応答手段と代表以外のバス周辺装置の通知手段とは、当該信号線を介してワイアドＯＲ論理で接続されて、応答手段は全ての代表以外のバス周辺装置からの終了通知を判定してデータの取得応答を外部バスを通して行うようにするのが好ましい。
【００１７】
したがって、本発明によると、ホスト計算機は外部バスに対してグローバルアドレスにより唯１回データ転送を行うだけで、各バス周辺装置は自己へのデータ転送と認識してそれぞれバス上からデータを取得する。そして、このようなデータ取得においては、代表以外のバス周辺装置は、通知信号経路によりデータの取得終了を代表のバス周辺装置へ通知し、代表のバス周辺装置はこれら終了通知を待って、外部バスの規格に準拠したデータの取得応答を外部バスを通して行う。したがって、ホスト計算機はグローバルアドレスにより外部バスを通して複数のバス周辺装置にデータを一斉転送することができ、そして、この際のデータの取得応答を代表のバス周辺装置が行うので、一斉同報機能を持たない外部バスの規格や性能に準拠したデータ転送処理を行うことができる。
【発明の効果】
【００１８】
本発明によると、ＰＣＩバス等の一斉同報機能を持たない汎用バスを用いた情報処理システムにおいても、バス周辺装置の数に関係なくホスト計算機から一定の時間で全てのバス周辺装置にデータを送ることができる。特に、多体問題用のシステムでは、複数の専用計算装置への粒子データの転送が短時間の内に行われるため、専用計算装置を並列化して複数設ける効果が十分に得られるようになる。
【発明を実施するための最良の形態】
【００１９】
本発明を、実施例に基づいて具体的に説明する。
図１には本発明の一実施例に係る専用計算装置２の構成を示し、図２には複数の当該専用計算装置をバス周辺装置として備えた本発明の一実施例に係る多体問題用の情報処理システムの構成を示してある。
本実施例では、ホスト計算機１に汎用バス２を介して接続される専用計算装置は３台としているが、専用計算装置はシステム構成に応じて２台以上の任意の数でよい。なお、以下の説明において、専用計算装置２をそれぞれ特定する必要がある場合には、専用計算装置２ａ、２ｂ、２ｃというように枝符号を付して記載する。
【００２０】
図１に示すように、本実施例の専用計算装置２は、汎用バス制御手段２１、代表識別子格納手段２２、アドレス格納手段２３、転送終了応答（通知）手段２４、粒子データ記憶装置２５、複数の相互作用計算装置２６、ローカルバス２７を有している。代表識別子格納手段２２、アドレス格納手段２３、転送終了応答（通知）手段２４、粒子データ記憶装置２５は汎用バス制御手段２１に接続され、複数の相互作用計算装置２６はローカルバス２７を介して汎用バス制御手段２１に接続されており、これら各機能手段が保持するデータや機能と汎用バス制御手段２１とが協働して下記のような処理を実行する。
図２に示すように、後述するように代表となる専用計算装置２ａに対して、他の専用計算装置２ｂ、２ｃは汎用バス３とは別に終了通知を送信するための信号線５ａ、５ｂを介して接続されている。
【００２１】
ホスト計算機１は、専用計算装置２とデータ転送を実行するために、各専用計算装置２ａ、２ｂ、２ｃに割り当てられたアドレスを指定する。
図３は汎用バス３のアドレスマップを示しており、ホスト計算機１が汎用バス３に接続された専用計算装置２をスキャンしてコンフィギュレーションすることにより、第１の専用計算装置２ａのアドレス空間２０ａと、第２の専用計算装置２ｂのアドレス空間２０ｂと、第３の専用計算装置２ｃのアドレス空間２０ｃとは、アドレスマップ１０上で重複しないように割り当てられる。また、代表となる第１の専用計算装置２ａのアドレス空間２０ａ内には一斉データ転送用のグローバルアドレス２ｇが設定され、当該グローバルアドレス２ｇを代表とならない他の専用計算装置２ｂ、２ｃが参照するようになっている。
【００２２】
アドレス格納手段２３は、自己に割り当てられたアドレス空間のベースアドレスに加えてグローバルアドレスを格納しており、代表とならない他の専用計算装置２ｂ、２ｃでは更にグローバルアドレスを参照するために代表となる専用計算装置２ａのベースアドレスを格納している。
また、転送終了応答（通知）手段２４は、代表となる専用計算装置２ａではデータ転送の終了応答を汎用バス３を通して行う転送終了応答手段であり、代表とならない他の専用計算装置２ｂ、２ｃでは、グローバルアドレスによる一斉データ転送に対して、汎用バス２への応答を行うことなく、信号線５ａ、５ｂを通して代表となる専用計算装置２ａへデータ転送の終了通知を送る転送終了通知手段である。
【００２３】
また、本実施例では代表識別子格納手段２２は物理的な切替え器であるスイッチで構成されており、各スイッチ切替えにより、第１の専用計算装置２ａを代表に設定し、他の専用計算装置ｂ、２ｃを代表ではなく設定している。
このように代表に設定した専用計算装置２ａとそれ以外の全ての専用計算装置２ｂ、２ｃを転送終了接続信号で接続する理由は、一斉データ転送における書き込みを行った時にそれぞれの専用計算装置２の内部状態によって粒子データ記憶装置２５などへの書き込みが終了するタイミングが異なるため、全ての専用計算装置で書き込みが終了したことを確認した上で、代表の専用計算装置２ａの転送終了応答手段２４が汎用バス制御手段２１と協働して汎用バス３に単一の書き込み処理終了応答をしなければならないからである。
【００２４】
図４は、代表に設定した専用計算装置２aの主に汎用バス制御手段２１が行う処理を示している。
汎用バス制御装置２１はホスト計算機１から入力されるアドレスをデコードし、自己に割り当てられたアドレス空間２０ａのベースアドレスに基づいて、自分へのアクセスと判断した場合（ステップＳ１）、更に予め設定されたグローバルアドレス空間２０ｇに対するデータ転送（ライト）であるかどうかをチェックする（ステップＳ２）。
この結果、グローバルアドレス空間に対するデータ転送でない場合は通常の個別データ転送であるので、ホスト計算機１と間でのデータ転送を実行して（ステップＳ３）、ホスト計算機１から汎用バス３を介して転送される粒子データを汎用バス制御手段２１を通して粒子データ記憶装置２５に転送して記憶する。そして、このライト処理が終了すると、汎用バス制御手段２１が汎用バス３の規格に定められたプロトコルに従って、汎用バス３のデータ及び制御信号を制御して、データの書き込み終了を汎用バス３に応答する（ステップＳ４）。
【００２５】
一方、グローバルアドレス空間に対するデータ転送である場合は一斉データ転送であるので、上記のように自己のデータ書き込み処理を実行した後（ステップＳ５）、転送終了接続信号５ａ、５ｂが接続する転送終了応答手段２４を監視し、自分以外の全ての専用計算装置２ｂ、２ｃでデータ書き込み処理が終了して、転送終了接続信号５ａ、５ｂにより転送終了の通知されるまで待機する（ステップＳ６）。そして、他の全ての専用計算装置２ｂ、２ｃでのデータ書き込み処理も終了したと判断すると、汎用バス制御手段２１は汎用バス３の規格に定められたプロトコルに従って、汎用バス３を通してデータの書き込み終了を他に代表して応答する（ステップＳ４）。
【００２６】
図５は、代表に設定していない専用計算装置２ｂ及び２ｃの主に汎用バス制御手段２１が行う処理を示している。
汎用バス制御装置２１はホスト計算機１から入力されるアドレスをデコードし、自己に割り当てられたアドレス空間２０ｂ（２０ｃ）のベースアドレスに基づいて、自分へのアクセスと判断した場合は通常の個別データ転送であるので（ステップＳ１１）、ホスト計算機１と間でのデータ転送を実行して（ステップＳ１２）、ホスト計算機１から汎用バス３を介して転送される粒子データを汎用バス制御手段２１を通して粒子データ記憶装置２５に転送して記憶する。そして、このライト処理が終了すると、汎用バス制御手段２１が汎用バス３の規格に定められたプロトコルに従って、汎用バス３のデータ及び制御信号を制御して、データの書き込み終了を汎用バス３に応答する（ステップＳ１３）。
【００２７】
一方、自分へのアクセスではない場合は（ステップＳ１１）、更に、アドレス格納手段２３の格納されている代表専用計算装置２ａのベースアドレスを参照して、当該代表のアドレス空間２０ａに対するアクセスかを判定し（ステップＳ１４）、代表のアドレス空間２０ａに対するアクセスでない場合には処理を終了する一方、代表のアドレス空間２０ａに対するアクセスである場合には更にグローバルアドレス空間２０ｇに対するアクセスかを判断する（ステップＳ１５）。
【００２８】
この結果、グローバルアドレス空間２０ｇに対するアクセスでない場合には処理を終了する一方、グローバルアドレス空間２０ｇに対するアクセスである場合には一斉データ転送であるので、ホスト計算機１と間でのデータ転送を実行して（ステップＳ１６）、ホスト計算機１から汎用バス３を介して転送される粒子データを汎用バス制御手段２１を通して粒子データ記憶装置２５に転送して記憶する。
そして、このライト処理が終了すると、転送終了通知手段２４が信号線５ａ（５ｂ）により代表の専用計算装置２ａへ終了通知を行い（ステップＳ１７）、その後、汎用バス３の監視を続けて、当該終了通知に基づいて代表の専用計算装置２ａがデータ転送終了をホスト計算機１に応答したところで処理を終了する（ステップＳ１８）。
【００２９】
したがって、ホスト計算機１が専用計算装置２にそれぞれ割り当てられたアドレスを指定して個別データ転送を行うと、該当する専用計算装置２のみが汎用バス３上から転送された粒子データを取得して汎用バス３を通して当該取得処理の終了を応答するといった、汎用バスの規格に準拠した処理を行う。
一方、ホスト計算機１がグローバルアドレス２０ｇを指定して一斉データ転送を行うと、代表及び非代表の全ての専用計算装置２が汎用バス３上から転送された粒子データを取得し、非代表の専用計算装置２ｂ、２ｃにおける取得処理の終了を確認して、代表の専用計算装置２ａのみが汎用バスの規格に準拠した取得処理の終了応答を汎用バス３を通して行う。すなわち、ホスト計算機１や汎用バス３は当該汎用バス３の規格に準拠したデータ転送手順を行うだけであり、一斉同報機能を有しない汎用バス３によって複数の専用計算装置にデータの同時転送をすることができる。
【００３０】
図６には、汎用バス３としてＰＣＩバスを用いた本発明の他の一実施例に係る多体問題用情報処理システムを示してある。
なお、本実施例では、３２ビットアドレス空間とし、ＰＣＩアドレス信号Ｄ［３１：０］の内のＤ［３１：１８］でＰＣＩデバイスを指定するものとする。また、本実施例の専用計算装置２の粒子データ記憶装置やレジスタはＤ［１６：０］の範囲にマッピングするものとする。また、ビットＤ［１７］＝ＨＩＧＨの場合は一斉データ転送であるとみなされ、全ての専用計算装置２ａ、２ｂ、２ｃのビットＤ［１６：０］で指定される記憶領域に同じ粒子データを書き込む一斉書き込み要求であるものとする。
【００３１】
本実施例においても、ホスト計算機１と専用計算装置２ａ、２ｂ、２ｃは外部バスであるＰＣＩバス３に接続されており、専用計算装置２ａが代表に設定されている。
専用計算装置２は、上記の実施例と同様に、ＰＣＩバス制御装置２１、代表識別子レジスタ装置２２、アドレスレジスタ装置２３、転送終了応答（通知）装置２４、粒子データ記憶装置２５、相互作用計算装置２６を備えている。
また、非代表専用計算装置２ｂ、２ｃの転送終了通知装置２４は１本の信号線であるＧＲバス５によって代表専用計算装置２ａの転送終了応答装置２４に接続されている。なお、このＧＲバス５は抵抗６によって電源電圧にプルアップされている。
【００３２】
図１１には、本実施例に係る専用計算装置２ａの転送終了応答装置２４の回路を示してある。
転送終了応答装置２４はシュミット・トリガ入力型の入力バッファ３１、フリップ・フロップ３２、インバータ３３、ＦＥＴ３４で構成される。インバータ３３は図外のＰＣＩバス制御装置２１からＧＷＲＤＹ信号３５が入力され、フリップ・フロップ３２の出力はＧＲＤＹ信号１１０６として図外のＰＣＩバス制御装置２１へ出力される。ＦＥＴ３４及び入力バッファ３１はＧＲバス５に接続される。
【００３３】
したがって、ＦＥＴ３４及びインバータ３３、抵抗６、ＧＲバス５により、ワイアドＯＲ論理が形成される。すなわち、ＧＲバス５に接続される全ての転送終了応答（通知）装置２４においてＧＷＲＤＹ信号３５がＨＩＧＨになった場合のみＧＲＤＹ信号３がＨＩＧＨになる。これによって、代表の専用計算装置２ａ及び非代表の専用計算装置２ｂ、２ｃの全てにおいて一斉テータ転送の書き込み処理が終了されたことになるので、代表専用計算装置２ａのＰＣＩバス制御装置２１がＰＣＩバス３を通して終了応答を行う。
【００３４】
図８には、本実施例の代表識別子レジスタ装置２２の回路を示してある。
代表識別子レジスタ２２はジャンパスイッチ４１によって構成されており、専用計算装置２が代表である場合はジャンパスイッチ４１の上２つのピンをショートさせ、代表以外の場合はジャンパスイッチ４１の下２つのピンをショートさせる。これにより、代表識別子レジスタ装置２２から図外のＰＣＩバス制御装置２１への出力信号が代表の専用計算装置２ａの場合はＨＩＧＨ、それ以外の専用計算装置２ｂ、２ｃの場合はＬＯＷに設定され、各専用計算装置２のＰＣＩバス制御装置２１が自己が代表に設定されているか否かを認識できるようになっている。
【００３５】
図９には、本実施例のアドレスレジスタ装置２３を構成する代表ベースアドレスレジスタ装置５１の構成概念を示してある。
代表ベースアドレスレジスタ装置５１は、代表の専用演算装置２ａのＰＣＩベースアドレスを識別するのに十分なビット数のフリップ・フロップで構成されている。
ここで、ＰＣＩバス制御装置２１は、非特許文献２等で示されるようなＰＣＩバスに対して定められたプロトコルに従って、ホスト計算機１との間でデータ転送を制御する回路によって構成されている。
【００３６】
図１０に示す処理手順を参照して、ＰＣＩコンフィグレーション後のデバイスドライバによる専用計算装置２の初期化処理を説明する。
デバイスドライバのロードが開始されると，ドライバは変数の初期化として、代表の専用計算装置２ａの発見を示す変数ＦＯＵＮＤをＦＡＬＳＥ、また、代表の専用計算装置２ａのベースアドレスを示すＧＢＡＳＥに“０”を代入する（ステップＳ２１）。そして、実際にＰＣＩデバイスを順番にアクセスするための準備として、ベースアドレス値を初期値に設定する（ステップＳ２２）。
次いで、ＰＣＩデバイスのコンフィグレーション空間にアクセスして、ベンダＩＤ及びデバイスＩＤを読み込み、専用計算装置２であることを確認する（ステップＳ２４）。
【００３７】
次いで、代表識別子レジスタ装置２２にアクセスして、代表の専用計算装置２ａであるかどうかをチェックする（ステップＳ２５）。これにより、代表と確認するとともに代表が１つ以上ないことを確認し（ステップＳ２６）、変数ＦＯＵＮＤをＴＲＵＥ、変数ＧＢＡＳＥに現在のベースアドレスレジスタの値を設定する（ステップＳ２７）。
そして、全てのデバイスをチェックしたかを判断し（ステップＳ２８）、チェックしていないデバイスがある場合はベースアドレス値をインクリメントして（ステップＳ２９）、再びデバイスにアクセスする。
【００３８】
全てのデバイスをチェックした場合には、変数ＦＯＵＮＤをチェックして代表の専用計算装置２ａがひとつであることを確認し（ステップＳ３０）、再びベースアドレスを初期化して（ステップＳ３１）、ＰＣＩデバイスにアクセスする（ステップＳ３２）。そして、専用計算装置２であることを確認し（ステップＳ３３）、変数ＧＢＡＳＥの値を代表ベースアドレスレジスタ５１に設定する（ステップＳ３４）。
上記一連の処理を全てのデバイスについて行い（ステップＳ３５、Ｓ３６）、初期化を終了する。
【００３９】
図１１に示す処理手順を参照して、代表に設定された専用計算装置２ａにおけるＰＣＩバスからのデータ取得処理（ＰＣＩバスライトサイクル）を説明する。
ＰＣＩのバスライトサイクルが開始されると、アドレス信号Ｄ[３１：１８]を自身のベースアドレスＢＡＳＥ[３１：１８]と比較する（ステップＳ４１）。この結果、自身へのアクセスであればアドレス信号の１７ビット目がＨＩＧＨであるかどうかをチェックし（ステップＳ４２）。もしも１７ビット目がＨＩＧＨでなければ、このバスライトはこの専用計算装置２ａだけに対する個別のデータ書き込み要求であると判断し、アドレスの下位ビットＤ［１６：０］をデコードし、対応する記憶領域にＰＣＩバス上のデータを書き込む（ステップＳ４３）。そして、このデータ書き込みが終了すると、ＰＣＩバスプロトコルに従いデータ転送終了応答をＰＣＩバス３を介してホスト計算機１に通知する（ステップＳ４４）。
【００４０】
一方、１７ビット目がＨＩＧＨの場合には（ステップＳ４２）、このバスライトは全ての専用計算装置２に対する一斉データ書き込み要求であると判断し、アドレスの下位ビットＤ［１６：０］をデコードし、対応する記憶領域にデータを書き込み（ステップＳ４６）、ＰＣＩバス制御装置２１が図７に示したＧＷＲＤＹ信号をＨＩＧＨにして（ステップＳ４７）、ＧＲＤＹ信号３６がＨＩＧＨになるまで待機する（ステップＳ４８）。
そして、ＧＲＤＹ信号３６がＨＩＧＨになったところで、ＰＣＩバスプロトコルに従ってデータ転送終了応答をＰＣＩバス３を介してホスト計算機１に通知する（ステップＳ４４）。その後、ＰＣＩバス制御装置２１はＧＷＲＤＹ信号３５をＬＯＷにして（ステップＳ４５）、バスライトサイクルを終了する。
【００４１】
図１２に示す処理手順を参照して、代表に設定されていない専用計算装置２ｂ及び２ｃにおけるＰＣＩバスライトサイクルの処理を説明する。
ＰＣＩのバスライトサイクルが開始されると、アドレス信号Ｄ[３１：１８]が自身のベースアドレスＢＡＳＥ[３１：１８]と一致するかを比較する（ステップＳ５１）。この結果、自身へのアクセスであればアドレス信号の１７ビット目を無視し、アドレスの下位ビットＤ［１６：０］をデコードし、対応する記憶領域にＰＣＩバス３上のデータを書き込む（ステップＳ５２）。そして、この個別データ書き込みが終了すると、ＰＣＩバスプロトコルに従ってデータ転送終了をＰＣＩバス３を介してホスト計算機１に応答する（ステップＳ５３）。
【００４２】
一方、アドレス信号Ｄ[３１：１８]が自身のベースアドレスＢＡＳＥ[３１：１８]と異なる場合には（ステップＳ５１）、代表ベースアドレスレジスタ２２の値と比較し（ステップＳ５５）、更にアドレス信号の１７ビット目がＨＩＧＨであるかどうかをチェックする（ステップＳ５６）。この結果、代表ベースアドレスに一致し且つ１７ビット目がＨＩＧＨであれば、このバスライトは全ての専用計算装置２に対する一斉書き込み要求であると判断し、アドレスの下位ビットＤ［１６：０］をデコードし、対応する記憶領域にＰＣＩバス３上のデータを書き込む（ステップＳ５７）。
【００４３】
そして、ＰＣＩバス制御装置２１が図７に示したＧＷＲＤＹ信号３５をＨＩＧＨにして（ステップＳ５８）、同図のＧＲＤＹ信号３６がＨＩＧＨになるまで待機する（ステップＳ５９）。そして、ＧＲＤＹ信号３６がＨＩＧＨになったところで、ＰＣＩバス制御装置２１がＧＷＲＤＹ信号３５をＬＯＷにして（ステップＳ５４）、バスライトサイクルを終了する。
上記一連の処理により、ホスト計算機１は代表に設定した専用計算装置２ａの予め定められたグローバルアドレスに該当する空間、すなわち、本実施例の場合のアドレス信号の第１７ビット目がＨＩＧＨである空間に対して書き込みを行うと、代表及び非代表の全ての専用計算装置２ａ、２ｂ、２ｃに同時に同じデータが書き込まれる。
【図面の簡単な説明】
【００４４】
【図１】本発明の一実施例に係る専用計算装置の構成を示すブロック図である。
【図２】本発明の一実施例に係る多体問題用情報処理システムを示すブロック図である。
【図３】本発明の一実施例に係るアドレスマップを示す模式図である。
【図４】本発明の一実施例に係る代表に設定された専用計算装置の処理を説明するためのフローチャートである。
【図５】本発明の一実施例に係る代表に設定されない専用計算装置の処理を説明するためのフローチャートである。
【図６】本発明の他の一実施例に係る多体問題用情報処理システムを示すブロック図である。
【図７】本発明の他の一実施例に係る専用計算装置の転送終了応答（通知）装置を示す回路図である。
【図８】本発明の他の一実施例に係る専用計算装置の代表識別子レジスタ装置を示す回路図である。
【図９】本発明の他の一実施例に係る専用計算装置の代表ベースレジスタ装置を示す概念図である。
【図１０】本発明の他の一実施例に係る専用計算装置における初期化を説明するためのフローチャートである。
【図１１】本発明の他の一実施例に係る代表専用計算装置におけるＰＣＩバスライトサイクル処理を説明するためのフローチャートである。
【図１２】本発明の他の一実施例に係る代表以外の専用計算装置におけるＰＣＩバスライトサイクル処理を説明するためのフローチャートである。
【図１３】多体問題用情報処理システムを示すブロック図である。
【図１４】多体問題用情報処理を構成する専用計算装置を示すブロック図である。
【図１５】多体問題用情報処理システムによる計算動作を説明するためのフローチャートである。
【図１６】ＰＣＩバスを備えたパーソナルコンピュータシステムを模式的に示すブロック図である。
【図１７】ＰＣＩアドレスマップの一例を示す模式図である。
【符号の説明】
【００４５】
１：ホスト計算機、  ２：専用計算装置（バス周辺装置）、
２ａ：代表の専用計算装置、  ２ｂ、２ｃ：非代表の専用計算装置、
３：外部バス（汎用バス、ＰＣＩバス）、  ５、５ａ、５ｂ：信号線、
２０ａ、２０ｂ、２０ｃ：アドレス空間、  ２０ｇ：グローバルアドレス、
２１：汎用バス制御手段、  ２２：代表識別子格納手段、
２３：アドレス格納手段、  ２４：転送終了応答（通知）手段、
２５：粒子データ記憶装置、  ２６：相互作用計算装置、
【図１】
2005190067.tif 000003
【図２】
2005190067.tif 000004
【図３】
2005190067.tif 000005
【図４】
2005190067.tif 000006
【図５】
2005190067.tif 000007
【図６】
2005190067.tif 000008
【図７】
2005190067.tif 000009
【図８】
2005190067.tif 000010
【図９】
2005190067.tif 000011
【図１０】
2005190067.tif 000012
【図１１】
2005190067.tif 000013
【図１２】
2005190067.tif 000014
【図１３】
2005190067.tif 000015
【図１４】
2005190067.tif 000016
【図１５】
2005190067.tif 000017
【図１６】
2005190067.tif 000018
【図１７】
2005190067.tif 000019