(57)【特許請求の範囲】
【請求項１】
メモリ（１４i ；ｉ＝０〜ｎ）及びデータ処理部（１３i ）を各々有するとともに外部通信手段（１７）を介して相互に通信可能に接続された複数の処理装置（１０0 〜１０n ）において、
各処理装置（１０i ）には、
外部通信手段（１７）を介して転送されたパケットを受信する受信バッファ（１２i ）と、
送信しようとするパケットを保持し、内外通信処理部（１５i ）からの指示により、保持されたパケットを外部通信手段（１７）又は内部通信手段（１６i ）のどちらか一方に切り換えて送出する折返可能送信バッファ（１１i ）と、
送信しようとするパケットの宛先が自己であるか又は他の処理装置であるかの判断、当該判断結果に基づく折返可能送信バッファ（１１i ）に対するパケット送出先の通信手段の切換え、及び、受信バッファ（１２i ）を介して受信されたパケット若しくは自己宛のパケットが示すメモリ（１４i ）の該当する格納領域（１４i,0 〜１４i,m ）への書込みの指示を行うとともに、外部通信手段（１７）よりも内部通信手段（１６i ）の並列通信路数を多く設け、又は通信処理の最小間隔を小さくすることにより、内部通信手段（１６i ）を介する通信処理の単位時間当たりのデータ量を大きくするように処理を行う内外通信処理部（１５i ）と、
前記メモリ（１４i ）とデータ処理部（１３i ）、受信バッファ（１２i ）、折返可能送信バッファ（１１i ）、及び内外通信処理部（１５i ）との間を接続するとともに外部通信手段（１７）に比較して並列通信路数の多い内部通信手段（１６i ）とを有することを特徴とする複数処理装置。
【請求項２】
前記内外通信処理部（２５i ）は、送信しようとするパケットの宛先が自己の処理装置か、又は他の処理装置であるかを判断する自己宛判断部（２０i ）と、
送信の指示があって送信可能状態となった場合には、前記自己宛判断部（２０i ）による判断結果に基づき、前記折返可能送信バッファ（１６i ）に対するパケットの送出先の通信手段の切換え、アドレス選択部（２３i ）に対するアドレスの選択、及び、当該アドレスに基づき前記メモリ（１４i ）に対するアクセスの指示を行う通信指示部（２２i ）と、
指示に基づいて、送信しようとするパケットのアドレス又は受信されたパケットのアドレスの一方の選択を行うアドレス選択部（２３i ）と、前記アドレス選択部（２３i ）により選択されたアドレスに基づいて前記メモリ（１４i ）の該当する格納領域（１４i,0 〜１４i,m ）に対するアクセスの指示を行うアクセス指示部（２４i ）とを有し、外部通信手段（１７）よりも内部通信手段（１６i ）を介する通信処理の単位時間当たりのデータ量を大きくするように処理することを特徴とする請求項１記載の複数処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、特に、メモリ及びデータ処理部を各々有するとともに外部通信手段を介して相互に通信可能に接続された複数処理装置に関する。
【０００２】
【従来の技術】
従来、図１１に示すような複数処理装置があった。
従来例に係る各処理装置９０0 〜９０n は、同図に示すように、メモリ９４i 及び種々のデータ処理を行うＣＰＵ９３i を各々有する。
【０００３】
また、同図に示すように、各処理装置９０i は、外部通信手段９７を介して転送されたパケットの受信を行う受信バッファ９２i と、送信しようとするパケットを保持する送信バッファ９１i と、前記外部通信手段９７を介する他の処理装置との間の送信処理及び受信処理を行う外部通信処理部９５i と、メモリ９４i へのデータ転送を前記ＣＰＵ９３i を介さずに行うＤＭＡ９９i とを有するものである。
【０００４】
従来例に係る複数処理装置にあっては、各処理装置間の通信については、外部通信処理部９５i が行うが、１つの処理装置内の複数の異なる種別のメモリ空間のデータの転送については、外部通信処理部９５i によらずに、ＣＰＵ９３i 自身が又はＤＭＡ９９i により行うようにしていた。
【０００５】
【発明が解決しようとする課題】
さて、従来例に係る複数処理装置にあっては、以上説明したように、外部処理部との間のデータの通信処理については、外部通信処理部９５i が行い、自己の処理装置内の複数の異なる種別のメモリ空間のデータの転送については、ＣＰＵ９３i 自身又はＤＭＡ９９i が処理を行っていた。
自己の処理装置内の複数の異なる種別のメモリ空間のデータの転送についてＣＰＵ９３i 自身が行う場合には、ＣＰＵの処理の負担が大きくなり、各処理装置の処理能力が低下するおそれがあるという問題点があった。
【０００６】
また、自己の処理装置内の複数の異なる種別のメモリ空間のデータの転送をＤＭＡが行うには、前記外部通信処理部の他に、このＤＭＡを設ける必要があるだけでなく、メモリ９４i の該当する領域にパケット形式で表されたデータを転送するには、当該パケット形式からアドレスを抽出する処理又はアドレスを指示する処理が必要となり、処理が複雑になるおそれがあるという問題点があった。
【０００７】
そこで、本発明は、各処理装置内のメモリの複数の異なる種別間のデータの転送を、ネットワークを通じて各処理装置（ＰＥ；プロセッサ・エレメント）間のデータの転送を行う通信処理装置の機能を用いて行うことにより、ＣＰＵの負担を軽減し、各処理装置の処理性能を向上させ、ひいては、複数処理装置全体の性能を向上させることを目的としてなされたものである。
【０００８】
また、通信処理部による各処理装置（ＰＥ）内メモリのデータ転送に時間がかかると、各処理装置内のＣＰＵのデータ待ち状態が生じるが、各処理装置内のメモリのデータ転送のスループット（処理能力）を処理装置間のデータ転送のスループットより良くなる様に構成することにより、各処理装置の処理性能を低下させないことを目的とするものである。
【０００９】
【課題を解決するための手段】
以上の技術的課題を解決するため、第一の発明は、図１に示すように、メモリ１４i ；ｉ＝０〜ｎ及びデータ処理部１３i を各々有する複数のデータ処理装置１０0 〜１０n が外部通信手段１７を介して相互に通信可能に接続された複数処理装置である。
【００１０】
また、各処理装置１０i には、外部通信手段１７を介して転送されたパケットを受信する受信バッファ１２iと、送信しようとするパケットを保持し、内外通信処理部１５iからの指示により、保持されたパケットを外部通信手段１７又は内部通信手段１６i のどちらか一方に切り換えて送出する折返可能送信バッファ１１i と、送信しようとするパケットの宛先が自己であるか又は他の処理装置であるかの判断、当該判断結果に基づく折返可能送信バッファ１１i に対するパケット送出先の通信手段の切換え、及び、受信バッファ１２i を介して受信されたパケット若しくは自己宛のパケットが示すメモリ１４i の該当する格納領域１４i,0 〜１４i,m への書込みの指示を行うとともに、外部通信手段１７よりも、内部通信手段１６iの並列通信路数を多く設け、又は通信処理の最小間隔を小さくすることにより、内部通信手段１６iを介する通信処理の単位時間当たりのデータ量を大きくするように処理を行う内外通信処理部１５i と、前記メモリ１４iとデータ処理部１３i 、受信バッファ１２i 、折返可能送信バッファ１１i 、及び内外通信処理部１５i との間を接続するとともに外部通信手段１７に比較して並列通信路数の多い内部通信手段１６i と、を有するものである。
【００１１】
ここで、「通信手段」は通信路を含む概念であり、バスにより構成されるもの、または、クロスバーなどのネットワーク等があり、片方向伝送に限られず、両方向の伝送が可能である場合も含む。
「パケット」とは、データや制御信号を含む２進数字の列であって、列全体を１つの単位として伝送したり交換したりされるものをいう。データ、制御信号、場合によっては誤り制御情報を含むこともあり、これらの情報が一定の形式で配列されているものである。
【００１２】
パケットには転送先、発信元、データの大きさ等の通信情報であるパケットヘッダと、相手に伝えたい情報であるボディからなる。
「処理装置」とは、計算機等において、命令を解読し、実行する機能単位をいい、実施例に説明するプロセッサ・エレメント（ＰＥ）がこれに相当する。
処理装置は、並列型の処理装置に限られず、分散型の処理装置にも適用される。
【００１３】
「格納領域」とは、前記メモリに設けられた、複数の異なる種別用に使用されるものであり、例えば、実施例に示すように、データの転送用に用いられるグローバル領域又はデータ処理用に用いられるローカル領域がある。
「データの転送」には、例えば、トークンをもらって送信を行う通信形式の外に、トークンを付加して送信したパケットに対してリターントークンをもらって、送信を行う通信形式等がある。
【００１４】
「外部通信手段よりも内部通信手段を介する通信処理の単位時間当たりのデータ量が大きい」とは、内部通信手段を介する処理能力（スループット）を外部通信手段を介する処理能力よりも高めることを意味し、そのために、外部通信手段１７に比較して内部通信手段１６i の並列通信路数を多く設けたり、外部通信手段よりも内部通信手段を介する通信処理の最小間隔（秒）を小さくすること等により実現される。  また、「スループット（処理能力）」とは、与えられた時間内に計算機システムによって遂行される仕事の量の測度をいう。
【００１５】
このようなハードウェアの変更が可能なのは以下の理由による。外部通信手段は、各種の通信機器が接続可能となるように、通信規則等で、その形式を統一して汎用性を満たすようにしているので、その通信手段数の変更等には大きな制約が加えられる。もし、外部通路の形式を変更するとすれば、その外部通信手段に接続されているすべての機器に影響を与える。一方、外部通信手段に接続されている各処理装置内での形式の変更による影響は当該各処理装置内に止まり変更が容易である。
【００１６】
第二の発明は、図２に示すように、データの記憶及び種々のデータの処理を各々行い外部通信手段を介して相互に通信可能に接続された複数の処理装置の中の任意の処理装置でパケット送信の指示があると（Ｓ１）、送信しようとするパケットについての宛先が自己又は他の処理装置であるか否かを判断し（Ｓ２）、外部通信手段について送信可能状態となるのを待ち（Ｓ３）、送信しようとするパケットの宛先が他の処理装置の場合には、送信可能状態となってから外部通信手段を介して、単位時間当たり所定データ量毎に当該パケットについて送信を行い（Ｓ４）、１つのパケットについての送信が完了するまで送信を繰り返し（Ｓ５）、送信しようとするパケットの宛先が自己の処理装置の場合には、単位時間当たり前記所定データ量よりも大きいデータ量で処理を行い、自己の処理装置の該当するメモリの領域への書込みを行う（Ｓ６）ことである。
ここで、「所定データ量」とは、外部通信手段を介して行われる単位時間当たりの処理データ量であり、所定データ量は、当該通信手段の並列通信路数や、外部通信手段の最小間隔（秒）等に依存する。
【００１７】
一方、第一の発明の実施態様は、図３に示すように、第一の発明の前記内外通信処理部２５i は、送信しようとするパケットの宛先が自己の処理装置か、又は他の処理装置であるかを判断する自己宛判断部２０i と、送信の指示があって送信可能状態となった場合には、前記自己宛判断部２０i による判断結果に基づき、前記折返可能送信バッファ１６i に対するパケット送出先の通信手段の切換え、アドレス選択部２３i に対するアドレスの選択、及び、当該アドレスに基づき前記メモリ１４i に対するアクセスの指示を行う通信指示部２２i とを有する。また、当該内外通信処理部２５i は、指示に基づいて、送信しようとするパケットのアドレス又は受信されたパケットのアドレスの一方の選択を行うアドレス選択部２３i と、前記アドレス選択部２３i により選択されたアドレスに基づいて前記メモリ１４i の該当する格納領域１４i,0 〜１４i,m に対するアクセスの指示を行うアクセス指示部２４i とを有し、外部通信手段１７よりも内部通信手段１６i を介する通信処理の単位時間当たりのデータ量を大きくするように処理を行うものである。
【００１８】
【作用】
続いて、第一の発明及び第二の発明の動作について説明する。
図１又は図２に示すように、ステップＳ１で前記内外通信処理部１５i にパケットの送信の指示があると、ステップＳ２で、前記内外通信処理部１５i は、送信すべきパケットが自己宛か否かを判断する。自己宛か否かの判断は、例えば、送信しようとするパケットの所定ビット位置にある自己宛か否かを示す自己宛ビットを見ることにより判断したり、パケットの転送先を示す処理装置の機番が自己の処理装置を示す機番と同一であるか否かを判断することにより行われる。
送信すべきパケットが自己宛でない場合には、ステップＳ３に進み、送信可能状態となるのを待つ。
【００１９】
ステップＳ４で、前記内外通信処理部１５i は、送信可能状態となってから外部通信手段１７を介して送信するように指示を行う。
パケットの送信は、一度に転送可能なデータ量ずつ行われる。送信が行われた後は、次の送信はステップＳ３で送信可能状態になるのを待ってから行われ、ステップＳ５で１つのパケットの送信が完了するまで行われる。「送信可能状態」になるには、例えば、送信権を表すトークンをもらって送信を行う場合又は、パケットにトークンを付加して送信し、リターントークンがあった後に次の送信を行う方式等の場合がある。
【００２０】
一方、ステップＳ２で、送信すべきパケットが自己宛である場合には、ステップＳ６に進み、前記内外通信処理部１５i は、前記折返可能送信バッファ１１i に対し、内部通信手段１６i を介してのパケットの転送を指示するとともに、送信しようとするパケットの宛先を示すデータ位置からアドレスを得て、当該メモリ１４i の該当する格納領域１４i,0 〜１４i,m にデータを書き込むようにアクセスの指示を行う。
即ち、処理装置１０0 〜１０n の内部へのパケットの転送は、前記折返可能送信バッファ１１i に保持されている送信データがあたかも、前記受信バッファ１２i に保持されている如く扱われることにより行われる。
【００２１】
各処理装置１０0 〜１０n の内部通信手段１６i を介してパケットの転送を行う際、外部通信手段１７に比較して内部通信手段１６i の方が並列通信路数を多く設けている。また、内外通信処理部１５i は外部通信手段１７よりも内部通信手段１６i を介する通信処理の単位時間当たりのデータ量を大きくするように処理をしている。従って、外部の処理装置へのパケットの送信よりも、自己の処理装置へのパケットの送信の方がスループットが良いように構成されていることになる。
前記内外通信処理部１５i による外部の通信は、内部の通信を可能にしたことにより悪影響を受けることはない。また、内部へのデータの転送時間を短縮することができるので、前記データ処理部１３i にデータを揃えるまでのデータの待ち時間を短縮することができ、各処理装置の性能低下の防止、及び、処理装置全体としての処理性能の低下を防止することができることになる。
【００２２】
以上説明したように、本発明にあっては、内部通信手段１６i 及び前記内外通信処理部１５i を設けることにより、外部通信手段１７を介するデータの転送と同じようなしくみで、各処理装置１０0 〜１０n 内部へのデータの転送を行うことができる。これにより、各処理装置１０0 〜１０n 内部でのデータの転送を行う際には、各処理装置１０0 〜１０n 内部に設けられた内外通信処理部１５i が処理を行うので、各データ処理部１３i への負担をかけない。また、ＤＭＡ等の各処理装置１０0 〜１０n 内部でのデータの転送を行うためには、外部通信を行う機器を共用することができ、専用の機器を設ける必要がないので、構成が簡単になる。
【００２３】
【実施例】
続いて、本発明の実施例について説明する。
図４には、本実施例に係る複数の分散メモリ型の処理装置（プロセッサ・エレメント，ＰＥ）が外部通信手段３７を介して、相互に通信可能に接続された複数処理装置の全体ブロック図を示す。
ここで、「分散メモリ型の処理装置」とは、各処理装置に各々メモリが分散して設けられ、各処理装置とは別個に統一した共用メモリが設けられているものとは異なるものである。
【００２４】
各処理装置３０o 〜３０n には、同図に示すように、各々主記憶装置等からなるメモリ３４o 〜３４n と、種々のデータ処理を行うデータ処理部に相当し、命令の実行又は通信処理部の制御を司るＣＰＵ３３0 〜３３n と、パケットの通信を司る通信部３８0 〜３８n とが設けられている。さらに、各処理装置３０0 〜３０n 内で、当該各メモリ３４o 〜３４n 、ＣＰＵ３３0 〜３３n 、及び通信部３８0 〜３８n は、前記外部通信手段３７よりも並列通信路数の多い内部通信手段３６0 〜３６n により接続されている。
本実施例では、外部通信手段３７の幅を４バイトとし、内部通信手段３６0 〜３６n の幅を８バイトとする。
前記外部通信手段３７としては、例えばバスや、ネットワークがある。
【００２５】
図５には、第一の実施例に係る処理装置３０i のブロック図を示す。
同図に示すように、前述したＣＰＵ３３i は前記データ処理部に相当するとともに、ＣＰＵ３３i 内部に、キャッシュ３３ａi が設けられている。
また、各処理装置３０i には、同図に示すように、外部通信手段３７を介して転送されたデータの受信を行う受信バッファ３２i と、送信しようとするパケットを保持するとともに、内外通信処理部３５i からの指示により、保持されたパケットを外部通信手段３７又は内部通信手段３６i のどちらか一方に切り換えて送出する折返可能送信バッファ３１i とが設けられている。
【００２６】
内部通信手段３６i は、内部バスであり、前述したように、外部通信手段３７に比較して並列通信路数が多くなるように設けることによりスループットを良くしている。また、符号３６１i は、折返可能送信バッファ３１i からメモリ３４i への経路であり、この経路を用いて、通信処理部３５i は、前記グローバル領域３４i,1 と、３４i,2 との間のパケットの転送を行う。これによりＣＰＵ３３i への負担が軽減され、各処理装置の性能を向上させることができる。
【００２７】
符号３９i は処理装置３０i と外部通信手段３７との間を接続する経路である。ここは一般的にいってハードウェアの制約によりスループットが良くない構成になりがちである。そのため、経路３９i と内部通信手段３６i とを同じスループットで構成した場合には、メモリ３４i へのデータ転送速度が遅くなる。従って、内部通信手段３６i は経路３９i よりもスループットの良い構成とすることにより、処理に必要なデータを待っているＣＰＵ３３i のアイドルタイムを減少させることができ処理装置の性能を向上させることができる。
【００２８】
また、図５において、内外通信処理部３５i は送信しようとするパケットの宛先が自己であるか又は他の外部の処理装置３０0 〜３０n であるかの判断、当該判断結果に基づく折返可能送信バッファ３１i に対するパケット送出先の通信手段の切換え、及び、外部通信手段３７を介して受信されたパケット若しくは自己宛のパケットが示すメモリ３４i の該当するグローバル領域３４i,1 又はローカル領域３４i,2 への書込みの指示を行うとともに、外部通信手段３７よりも内部通信手段３６i を介する通信処理の単位時間当たりのデータ量を大きくするように処理を行う内外通信処理部３５i とを有する。
【００２９】
さらに、本実施例に係る各処理装置３０i の前記メモリ３４i の主記憶装置に相当する部分には、パケットを記憶するとともに、パケットの移動が相互に可能な２つの異なる種別の格納領域であるグローバル領域３４i,1 及びローカル領域３４i,2 が設けられている。
ここで、グローバル領域３４i,1 は各処理内間のデータの転送のために用いられる領域であり、前記ローカル領域３４i,2 は各処理装置内処理のために用いられる領域である。
また、前記ＣＰＵ３３i には、同図に示すように、キャッシュ３３ａi が設けられ、前記メモリ３４i のローカル領域３４i,2 において処理を行う。
【００３０】
尚、図示していないが、前記メモリ３４i には、主記憶装置の外にディスク等が設けられていても良い。
また、符号３１ａi はメモリ３４i からのパケットと内外通信処理部３５i からのパケットの選択を行う選択部であり、符号３２ａi は、折返可能送信バッファ３１i からの送信パケット又は受信バッファ３２i からの受信パケットの選択を行う選択部である。また、符号３１ｃi 、３１ｂi 及び３２ｂi はレジスタを表す。
ここで、内外通信処理部３５i と、折返可能送信バッファ３１i と、受信バッファ３２i と、レジスタ３１ａi ，３１ｃi ，３２ｂi と、選択部３１ａi ，３２ａi とは、図４の通信部３８i に相当する。
【００３１】
図６には、前記内外通信処理部３５i の機能を詳細に示すものである。
同図に示すように、本実施例に係る内外通信処理部３５i には、送信しようとするパケットの宛先が自己の処理装置か又は他の処理装置であるかを判断する自己宛判断部４０i と、送信の指示があって送信可能状態となった場合には、前記自己宛判断部４０i による判断結果からの指示に基づき、前記折返可能送信バッファ３１i が送信しようとするパケット送出先の通信手段を外部通信手段若しくは内部通信手段のどちらかへの切換えの指示、アドレス選択部４３i に対するアドレスの選択、及び、当該アドレスに基づき前記メモリ３４i に対するアクセスの指示を行う通信指示部３２i とを有する。
【００３２】
さらに、当該内外通信処理部３５i には、指示に基づいて、送信しようとするパケットのアドレス又は受信されたパケットのアドレスの選択を行うアドレス選択部４３i と、当該アドレス選択部４３i により選択されたアドレスに基づいて前記メモリ３４i の該当するグローバル領域３４i,1 又はローカル領域３４i1,2に対するアクセスの指示を行うアクセス指示部４４i とを有し、外部通信手段３７を介するよりも内部通信手段３６i を介する通信処理の単位時間当たりのデータ量を大きくするように処理を行うものである。
【００３３】
さらに、当該通信指示部４２i には送信をしようとするパケットにトークンを付加するトークン付加部４２ａi と、相手側のバッファまたは、外部通信手段３７にあるバッファが空いていて送信が可能である場合に発行されるリターントークンの検出を行うリターントークン検出部４２ｂi と、送信すべきパケットについての送信処理が完了したことを表すターミネート出力部４２i とを有する。
【００３４】
また、本実施例にあっては、前記自己宛判定部４０i は、図６に示すように、パケットの所定位置に含まれる自己宛ビットを読み出す自己宛ビット読出部４０ａi と、読み出された当該ビットの判定を行うビット判定部４０ｂi とを有する。「自己宛ビット」とは、パケットの転送の宛て先が自己の処理装置であるか否かを示すビットをいう。
【００３５】
続いて、本実施例の送信時の動作について図７に基づいて説明する。
外部通信手段であるネットワークから到来したパケットは受信バッファに受信され、その後メモリアクセスのプライオリティ（図示せず）がとれた時点でメモリのグローバル領域３４i,1 に記憶される。ＣＰＵ３３i はローカル領域において処理を行うため、グローバル領域３４i,1 からローカル領域１４i,2 への転送が必要となる。外部通信手段３７であるネットワークへ送信するパケットをローカル領域３４i,2 からグローバル領域３４i,1 に転送する必要がある。図７に示すように、ステップＳＪ１で、前記ＣＰＵ３３i が送信しようとするパケットヘッダをメモリ３４i の主記憶上に（グローバル領域とは限らない。）設けられた送信キューに入力する。この事実は前記通信処理部３５i に通知され、内外通信処理部３５i への送信の指示が行われる。
【００３６】
ステップＳＪ２で、前記内外通信処理部３５i は当該パケットヘッダを前記送信バッファ３１i に取り込むために、前記アドレス選択部４３i を介して、指示のあったパケットに関してアクセス指示部４４i により、例えば、８バイトのフェッチ要求を前記メモリ３４i に出す。ここで、８バイトとは前記送信バッファ３１i があふれない単位である。
ステップＳＪ３で、当該メモリ３４i に記憶されているパケットヘッダを全部完了するまで、数回にわたってフェッチ要求を出し、前記折返可能送信バッファ３１i に書き込む。
【００３７】
ステップＳＪ４でパケットヘッダについてすべて読み出されて前記折返可能送信バッファ３１i に保持される。その８バイトずつのパケットヘッダの読出しの際のステップＳＪ５に、前記自己宛判定部４０i は送信しようとするパケットの宛先が自己の処理装置であるか又は外部の他の処理装置であるかの判断を行う。その判断は、自己宛判断部４０i の自己宛ビット読出部４０ａi が送信しようとするパケットの宛先が自己の処理装置であるか“1 ”又は外部の他の処理装置であるか“0 ”であるかを表す前記パケットヘッダの中の所定位置にある自己宛ビットを読み出すことにより行う。読み出された自己宛ビットはビット判定部４０ｂi により当該ビットが“1 ”であるか“0 ”であるかの判定がされ、その結果を前記通信指示部４２i に通知する。
【００３８】
ここで、当該パケットヘッダには、少なくとも自己宛ビット及び受信先のアドレスを持っていることになる。詳しくは、パケットヘッダの形式は図８に示すものであり、当該パケットヘッダには、第１ワード目には、例えば、宛先の処理装置の識別子が含まれ、第ｍワード目には、そのパケットの大きさを表す情報が含まれ、第ｎ番目には、自己宛か否かを表す自己宛ビット、及び当該パケットが格納されるべき、宛先の処理装置のメモリの格納位置を表すアドレスが含まれる。これらのパケットヘッダの後の第ｐ番目からボディと呼ばれる実質的な内容を表すデータが含まれている。
【００３９】
前記自己宛判断部４０i により自己宛に送信するパケットでないと判断された場合には、ステップＳＪ６に進む。ステップＳＪ６で前記通信指示部４２i のトークン付加部４２ａi は例えば外部通信手段への通信路数によって決まる１ワード４バイト毎に１個のトークンを付加して、当該通信処理部３５i は前記折返送信バッファ３１i があふれないように制御し、前記折返可能バッファ３１i に指示をして前記外部通信手段３７に送り出す。
【００４０】
その後、外部通信手段３７を介して前記リターントークン検出部４２ｂi によりリターントークンが送信先ＰＥから返却が検出されるまで待ち、ステップＳＪ７で、リターントークンが返ってきたことが検出された場合には、再びステップＳＪ６に戻り、１ワード毎にトークンを付加して外部通信手段３７にパケットヘッダを送出する。
以上の処理ステップＳＪ６及びステップＳＪ７はパケットヘッダだけでなくボディについても同様に繰り返し、ターミネート出力部４２ｃi がパケットの全データについての送信が終了したことを表すターミネートをステップＳＪ８で送出するまで繰り返される。
【００４１】
一方、ステップＳＪ５で、前記自己宛判断部４０i により自己宛であると判断された場合には、ステップＳＪ９に進む。
ステップＳＪ９では、前記通信指示部４２i は前記アドレス選択部４３i に指示を行い前記送信バッファ３１i に保持されている送信しようとするパケットから抽出されたアドレスを前記アクセス指示部４４i に送り、当該送信バッファ３１i に格納されている送信しようとしたパケットを当該アドレスが示すメモリのローカル領域３４i,1 に書き込ませる。この場合には、外部通信手段３７を介してのパケットの転送とは異なり、トークンはパケットには付加されず、リターントークンの検出が必要がない。なぜならば、前記通信処理部３５i は何バイトのパケットを前記メモリ３４i のロードバスから受け取り、同量のバイト数のビットをメモリ３４i のストアバスに送出すれば良いかを知っているからである。
【００４２】
この点をさらに詳しく説明すれば、トークンは前記送信バッファ３１i から受信バッファ３２i にデータをあふれないように送るために必要なものであり、自己に転送する場合には、あたかも前記送信バッファ３１i が受信バッファ３２i であるかのように通信処理部には見える。従って、トークンの役割は終わったところより処理が始まっているからである。
【００４３】
以上説明したように、本実施例にあっては、以上のような構成にしたため、前記ＣＰＵ３３i は、キャッシュ内データを用いて処理を行うことができ、通信処理部がパケット転送を終えた時に前記転送データを開いた次の処理に移ることができる。処理を終えると、その処理データがネットワークへ転送するデータである場合でも通信処理部がデータ転送を行うため次の処理に移ることができる。
【００４４】
また、処理装置間（ＰＥ間）接続装置であるネットワークをクロスバー等で構成した場合、ハードウェアの観点からＰＥとネットワーク間のバス幅が制限される。あるいは転送時間が長くなるといったことが考えられるが、この場合に、ネットワークへの経路３９i により各処理装置３０0 〜３０n 内の内部通信手段のスループットが良くなるように構成することにより、例えば、外部通信手段が１バイト／２サイクルに対し、内部通信手段のデータの伝送が２バイト／１サイクルとなるように構成することにより処理データが揃うまでのＣＰＵの待ち時間を短縮することができる。
【００４５】
上述の説明ではＣＰＵの処理量が通信処理部の処理量よりも多いものとして述べたが通信処理部の処理量が多い場合には通信処理部を増やす等により対処できるものと考えられる。
【００４６】
続いて、第二の実施例について、図９に基づいて説明する。
第二の実施例に係る分散メモリ型の処理装置は、前述した第一の実施例に係る処理装置と異なり、前記自己宛判断部として、自己宛ビット読出部４０ａi 及びビット判定部４０ｂi の代わりに、宛先読出部５０ａi 及び自己の処理装置との機番の比較を行う比較部５０ｂi とを設けたものである。
【００４７】
即ち、第二の実施例にあっては、第一の実施例と異なり、そのパケットの形式は、図８ではなく、図１０に示すように、自己宛か否かを示すビットを設けるのではなく、宛先を示す処理装置の番号が自己の処理装置の機番と同一の場合には、自己宛の送信データであると判断するものである。
【００４８】
本例は第一の実施例と異なり自己宛を示すビットを前記パケットに設ける必要がなく、通常の処理装置の宛先を使用することができるので、パケットの形式を変更する必要がないので扱い安い。
尚、第一の実施例の処理装置の場合に用いた符号と同一の符号は同一のものを示す。
尚、以上の例では、トークン及びリターントークンを用いてデータ通信を行う方式について説明したが、当該例に限られることなく、ＩＥＥＥのＣＳＭＡ／ＣＤ（イーサネット）方式、トークンパッシングリング方式やトークンパッシングバス方式、ＭＡＮ方式、ディジタルＰＢＸ方式等に適用することもできる。
【００４９】
【発明の効果】
以上述べてきたように本発明によれば、外部通信手段に比較して伝送されるデータ幅の大きい内部通信手段を設けるとともに、送信しようとするパケットの宛先が他の処理装置であるか自己の処理装置であるかの判断を行い、自己宛のパケットの場合には、メモリの該当する領域への書込みを行うように指示することにより、自己折り返し機能を持つようにしている。
【００５０】
従って、ＣＰＵを介することなく又はＤＭＡ等の機器を別個に設けることなく、通信処理部の機能を用いて自己へのデータ転送を行うためにＣＰＵに負担をかけず、また、構成を簡単化することができる。
また、通信処理部が外部の処理装置との間の通信を行うよりも、自己宛への送信の方がスループットが良くなっている。従って、各処理装置のＣＰＵ等の待ち時間を短縮して複数処理装置及びそのデータ通信方法の性能を向上させることができる。
【図面の簡単な説明】
【図１】第一の発明の原理ブロック図
【図２】第二の発明の原理流れ図
【図３】第一の発明の実施態様を示すブロック図
【図４】第一の実施例に係る機器構成全体ブロック図
【図５】第一の実施例に係るブロック図
【図６】第一の実施例に係る内外通信処理部を示すブロック図
【図７】第一の実施例に係る流れ図
【図８】第一の実施例に係るパケットの形式例を示す図
【図９】第二の実施例に係る内外通信処理部を示すブロック図
【図１０】第二の実施例に係るパケットの形式例を示す図
【図１１】従来例に係るブロック図
【符号の説明】
１０0 〜１０n ，３０0 〜３０n   処理装置
１１i ，３１i   折返可能送信バッファ
１２i ，３２i   受信バッファ
１３i ，２３i （３３i ）  データ処理部（ＣＰＵ）
１４i ，２４i ，３４i   メモリ
１５i ，２５i ，３５i ，４５i   内外通信処理部
１６i ，２６i ，３６i   内部通信手段
１７，３７  外部通信手段
【図１】
0003638625.tif 000002
【図２】
0003638625.tif 000003
【図３】
0003638625.tif 000004
【図４】
0003638625.tif 000005
【図５】
0003638625.tif 000006
【図６】
0003638625.tif 000007
【図７】
0003638625.tif 000008
【図８】
0003638625.tif 000009
【図９】
0003638625.tif 000010
【図１０】
0003638625.tif 000011
【図１１】
0003638625.tif 000012