JP3638625B2 - Multiple processing equipment - Google Patents

Multiple processing equipment Download PDF

Info

Publication number
JP3638625B2
JP3638625B2 JP27578793A JP27578793A JP3638625B2 JP 3638625 B2 JP3638625 B2 JP 3638625B2 JP 27578793 A JP27578793 A JP 27578793A JP 27578793 A JP27578793 A JP 27578793A JP 3638625 B2 JP3638625 B2 JP 3638625B2
Authority
JP
Japan
Prior art keywords
packet
processing
communication means
internal
unit
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
JP27578793A
Other languages
Japanese (ja)
Other versions
JPH07129525A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP27578793A priority Critical patent/JP3638625B2/en
Publication of JPH07129525A publication Critical patent/JPH07129525A/en
Application granted granted Critical
Publication of JP3638625B2 publication Critical patent/JP3638625B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【産業上の利用分野】
本発明は、特に、メモリ及びデータ処理部を各々有するとともに外部通信手段を介して相互に通信可能に接続された複数処理装置に関する。
【0002】
【従来の技術】
従来、図11に示すような複数処理装置があった。
従来例に係る各処理装置900 〜90n は、同図に示すように、メモリ94i 及び種々のデータ処理を行うCPU93i を各々有する。
【0003】
また、同図に示すように、各処理装置90i は、外部通信手段97を介して転送されたパケットの受信を行う受信バッファ92i と、送信しようとするパケットを保持する送信バッファ91i と、前記外部通信手段97を介する他の処理装置との間の送信処理及び受信処理を行う外部通信処理部95i と、メモリ94i へのデータ転送を前記CPU93i を介さずに行うDMA99i とを有するものである。
【0004】
従来例に係る複数処理装置にあっては、各処理装置間の通信については、外部通信処理部95i が行うが、1つの処理装置内の複数の異なる種別のメモリ空間のデータの転送については、外部通信処理部95i によらずに、CPU93i 自身が又はDMA99i により行うようにしていた。
【0005】
【発明が解決しようとする課題】
さて、従来例に係る複数処理装置にあっては、以上説明したように、外部処理部との間のデータの通信処理については、外部通信処理部95i が行い、自己の処理装置内の複数の異なる種別のメモリ空間のデータの転送については、CPU93i 自身又はDMA99i が処理を行っていた。
自己の処理装置内の複数の異なる種別のメモリ空間のデータの転送についてCPU93i 自身が行う場合には、CPUの処理の負担が大きくなり、各処理装置の処理能力が低下するおそれがあるという問題点があった。
【0006】
また、自己の処理装置内の複数の異なる種別のメモリ空間のデータの転送をDMAが行うには、前記外部通信処理部の他に、このDMAを設ける必要があるだけでなく、メモリ94i の該当する領域にパケット形式で表されたデータを転送するには、当該パケット形式からアドレスを抽出する処理又はアドレスを指示する処理が必要となり、処理が複雑になるおそれがあるという問題点があった。
【0007】
そこで、本発明は、各処理装置内のメモリの複数の異なる種別間のデータの転送を、ネットワークを通じて各処理装置(PE;プロセッサ・エレメント)間のデータの転送を行う通信処理装置の機能を用いて行うことにより、CPUの負担を軽減し、各処理装置の処理性能を向上させ、ひいては、複数処理装置全体の性能を向上させることを目的としてなされたものである。
【0008】
また、通信処理部による各処理装置(PE)内メモリのデータ転送に時間がかかると、各処理装置内のCPUのデータ待ち状態が生じるが、各処理装置内のメモリのデータ転送のスループット(処理能力)を処理装置間のデータ転送のスループットより良くなる様に構成することにより、各処理装置の処理性能を低下させないことを目的とするものである。
【0009】
【課題を解決するための手段】
以上の技術的課題を解決するため、第一の発明は、図1に示すように、メモリ14i ;i=0〜n及びデータ処理部13i を各々有する複数のデータ処理装置100 〜10n が外部通信手段17を介して相互に通信可能に接続された複数処理装置である。
【0010】
また、各処理装置10i には、外部通信手段17を介して転送されたパケットを受信する受信バッファ12iと、送信しようとするパケットを保持し、内外通信処理部15iからの指示により、保持されたパケットを外部通信手段17又は内部通信手段16i のどちらか一方に切り換えて送出する折返可能送信バッファ11i と、送信しようとするパケットの宛先が自己であるか又は他の処理装置であるかの判断、当該判断結果に基づく折返可能送信バッファ11i に対するパケット送出先の通信手段の切換え、及び、受信バッファ12i を介して受信されたパケット若しくは自己宛のパケットが示すメモリ14i の該当する格納領域14i,0 〜14i,m への書込みの指示を行うとともに、外部通信手段17よりも、内部通信手段16iの並列通信路数を多く設け、又は通信処理の最小間隔を小さくすることにより、内部通信手段16iを介する通信処理の単位時間当たりのデータ量を大きくするように処理を行う内外通信処理部15i と、前記メモリ14iとデータ処理部13i 、受信バッファ12i 、折返可能送信バッファ11i 、及び内外通信処理部15i との間を接続するとともに外部通信手段17に比較して並列通信路数の多い内部通信手段16i と、を有するものである。
【0011】
ここで、「通信手段」は通信路を含む概念であり、バスにより構成されるもの、または、クロスバーなどのネットワーク等があり、片方向伝送に限られず、両方向の伝送が可能である場合も含む。
「パケット」とは、データや制御信号を含む2進数字の列であって、列全体を1つの単位として伝送したり交換したりされるものをいう。データ、制御信号、場合によっては誤り制御情報を含むこともあり、これらの情報が一定の形式で配列されているものである。
【0012】
パケットには転送先、発信元、データの大きさ等の通信情報であるパケットヘッダと、相手に伝えたい情報であるボディからなる。
「処理装置」とは、計算機等において、命令を解読し、実行する機能単位をいい、実施例に説明するプロセッサ・エレメント(PE)がこれに相当する。
処理装置は、並列型の処理装置に限られず、分散型の処理装置にも適用される。
【0013】
「格納領域」とは、前記メモリに設けられた、複数の異なる種別用に使用されるものであり、例えば、実施例に示すように、データの転送用に用いられるグローバル領域又はデータ処理用に用いられるローカル領域がある。
「データの転送」には、例えば、トークンをもらって送信を行う通信形式の外に、トークンを付加して送信したパケットに対してリターントークンをもらって、送信を行う通信形式等がある。
【0014】
「外部通信手段よりも内部通信手段を介する通信処理の単位時間当たりのデータ量が大きい」とは、内部通信手段を介する処理能力(スループット)を外部通信手段を介する処理能力よりも高めることを意味し、そのために、外部通信手段17に比較して内部通信手段16i の並列通信路数を多く設けたり、外部通信手段よりも内部通信手段を介する通信処理の最小間隔(秒)を小さくすること等により実現される。 また、「スループット(処理能力)」とは、与えられた時間内に計算機システムによって遂行される仕事の量の測度をいう。
【0015】
このようなハードウェアの変更が可能なのは以下の理由による。外部通信手段は、各種の通信機器が接続可能となるように、通信規則等で、その形式を統一して汎用性を満たすようにしているので、その通信手段数の変更等には大きな制約が加えられる。もし、外部通路の形式を変更するとすれば、その外部通信手段に接続されているすべての機器に影響を与える。一方、外部通信手段に接続されている各処理装置内での形式の変更による影響は当該各処理装置内に止まり変更が容易である。
【0016】
第二の発明は、図2に示すように、データの記憶及び種々のデータの処理を各々行い外部通信手段を介して相互に通信可能に接続された複数の処理装置の中の任意の処理装置でパケット送信の指示があると(S1)、送信しようとするパケットについての宛先が自己又は他の処理装置であるか否かを判断し(S2)、外部通信手段について送信可能状態となるのを待ち(S3)、送信しようとするパケットの宛先が他の処理装置の場合には、送信可能状態となってから外部通信手段を介して、単位時間当たり所定データ量毎に当該パケットについて送信を行い(S4)、1つのパケットについての送信が完了するまで送信を繰り返し(S5)、送信しようとするパケットの宛先が自己の処理装置の場合には、単位時間当たり前記所定データ量よりも大きいデータ量で処理を行い、自己の処理装置の該当するメモリの領域への書込みを行う(S6)ことである。
ここで、「所定データ量」とは、外部通信手段を介して行われる単位時間当たりの処理データ量であり、所定データ量は、当該通信手段の並列通信路数や、外部通信手段の最小間隔(秒)等に依存する。
【0017】
一方、第一の発明の実施態様は、図3に示すように、第一の発明の前記内外通信処理部25i は、送信しようとするパケットの宛先が自己の処理装置か、又は他の処理装置であるかを判断する自己宛判断部20i と、送信の指示があって送信可能状態となった場合には、前記自己宛判断部20i による判断結果に基づき、前記折返可能送信バッファ16i に対するパケット送出先の通信手段の切換え、アドレス選択部23i に対するアドレスの選択、及び、当該アドレスに基づき前記メモリ14i に対するアクセスの指示を行う通信指示部22i とを有する。また、当該内外通信処理部25i は、指示に基づいて、送信しようとするパケットのアドレス又は受信されたパケットのアドレスの一方の選択を行うアドレス選択部23i と、前記アドレス選択部23i により選択されたアドレスに基づいて前記メモリ14i の該当する格納領域14i,0 〜14i,m に対するアクセスの指示を行うアクセス指示部24i とを有し、外部通信手段17よりも内部通信手段16i を介する通信処理の単位時間当たりのデータ量を大きくするように処理を行うものである。
【0018】
【作用】
続いて、第一の発明及び第二の発明の動作について説明する。
図1又は図2に示すように、ステップS1で前記内外通信処理部15i にパケットの送信の指示があると、ステップS2で、前記内外通信処理部15i は、送信すべきパケットが自己宛か否かを判断する。自己宛か否かの判断は、例えば、送信しようとするパケットの所定ビット位置にある自己宛か否かを示す自己宛ビットを見ることにより判断したり、パケットの転送先を示す処理装置の機番が自己の処理装置を示す機番と同一であるか否かを判断することにより行われる。
送信すべきパケットが自己宛でない場合には、ステップS3に進み、送信可能状態となるのを待つ。
【0019】
ステップS4で、前記内外通信処理部15i は、送信可能状態となってから外部通信手段17を介して送信するように指示を行う。
パケットの送信は、一度に転送可能なデータ量ずつ行われる。送信が行われた後は、次の送信はステップS3で送信可能状態になるのを待ってから行われ、ステップS5で1つのパケットの送信が完了するまで行われる。「送信可能状態」になるには、例えば、送信権を表すトークンをもらって送信を行う場合又は、パケットにトークンを付加して送信し、リターントークンがあった後に次の送信を行う方式等の場合がある。
【0020】
一方、ステップS2で、送信すべきパケットが自己宛である場合には、ステップS6に進み、前記内外通信処理部15i は、前記折返可能送信バッファ11i に対し、内部通信手段16i を介してのパケットの転送を指示するとともに、送信しようとするパケットの宛先を示すデータ位置からアドレスを得て、当該メモリ14i の該当する格納領域14i,0 〜14i,m にデータを書き込むようにアクセスの指示を行う。
即ち、処理装置100 〜10n の内部へのパケットの転送は、前記折返可能送信バッファ11i に保持されている送信データがあたかも、前記受信バッファ12i に保持されている如く扱われることにより行われる。
【0021】
各処理装置100 〜10n の内部通信手段16i を介してパケットの転送を行う際、外部通信手段17に比較して内部通信手段16i の方が並列通信路数を多く設けている。また、内外通信処理部15i は外部通信手段17よりも内部通信手段16i を介する通信処理の単位時間当たりのデータ量を大きくするように処理をしている。従って、外部の処理装置へのパケットの送信よりも、自己の処理装置へのパケットの送信の方がスループットが良いように構成されていることになる。
前記内外通信処理部15i による外部の通信は、内部の通信を可能にしたことにより悪影響を受けることはない。また、内部へのデータの転送時間を短縮することができるので、前記データ処理部13i にデータを揃えるまでのデータの待ち時間を短縮することができ、各処理装置の性能低下の防止、及び、処理装置全体としての処理性能の低下を防止することができることになる。
【0022】
以上説明したように、本発明にあっては、内部通信手段16i 及び前記内外通信処理部15i を設けることにより、外部通信手段17を介するデータの転送と同じようなしくみで、各処理装置100 〜10n 内部へのデータの転送を行うことができる。これにより、各処理装置100 〜10n 内部でのデータの転送を行う際には、各処理装置100 〜10n 内部に設けられた内外通信処理部15i が処理を行うので、各データ処理部13i への負担をかけない。また、DMA等の各処理装置100 〜10n 内部でのデータの転送を行うためには、外部通信を行う機器を共用することができ、専用の機器を設ける必要がないので、構成が簡単になる。
【0023】
【実施例】
続いて、本発明の実施例について説明する。
図4には、本実施例に係る複数の分散メモリ型の処理装置(プロセッサ・エレメント,PE)が外部通信手段37を介して、相互に通信可能に接続された複数処理装置の全体ブロック図を示す。
ここで、「分散メモリ型の処理装置」とは、各処理装置に各々メモリが分散して設けられ、各処理装置とは別個に統一した共用メモリが設けられているものとは異なるものである。
【0024】
各処理装置30o 〜30n には、同図に示すように、各々主記憶装置等からなるメモリ34o 〜34n と、種々のデータ処理を行うデータ処理部に相当し、命令の実行又は通信処理部の制御を司るCPU330 〜33n と、パケットの通信を司る通信部380 〜38n とが設けられている。さらに、各処理装置300 〜30n 内で、当該各メモリ34o 〜34n 、CPU330 〜33n 、及び通信部380 〜38n は、前記外部通信手段37よりも並列通信路数の多い内部通信手段360 〜36n により接続されている。
本実施例では、外部通信手段37の幅を4バイトとし、内部通信手段360 〜36n の幅を8バイトとする。
前記外部通信手段37としては、例えばバスや、ネットワークがある。
【0025】
図5には、第一の実施例に係る処理装置30i のブロック図を示す。
同図に示すように、前述したCPU33i は前記データ処理部に相当するとともに、CPU33i 内部に、キャッシュ33ai が設けられている。
また、各処理装置30i には、同図に示すように、外部通信手段37を介して転送されたデータの受信を行う受信バッファ32i と、送信しようとするパケットを保持するとともに、内外通信処理部35i からの指示により、保持されたパケットを外部通信手段37又は内部通信手段36i のどちらか一方に切り換えて送出する折返可能送信バッファ31i とが設けられている。
【0026】
内部通信手段36i は、内部バスであり、前述したように、外部通信手段37に比較して並列通信路数が多くなるように設けることによりスループットを良くしている。また、符号361i は、折返可能送信バッファ31i からメモリ34i への経路であり、この経路を用いて、通信処理部35i は、前記グローバル領域34i,1 と、34i,2 との間のパケットの転送を行う。これによりCPU33i への負担が軽減され、各処理装置の性能を向上させることができる。
【0027】
符号39i は処理装置30i と外部通信手段37との間を接続する経路である。ここは一般的にいってハードウェアの制約によりスループットが良くない構成になりがちである。そのため、経路39i と内部通信手段36i とを同じスループットで構成した場合には、メモリ34i へのデータ転送速度が遅くなる。従って、内部通信手段36i は経路39i よりもスループットの良い構成とすることにより、処理に必要なデータを待っているCPU33i のアイドルタイムを減少させることができ処理装置の性能を向上させることができる。
【0028】
また、図5において、内外通信処理部35i は送信しようとするパケットの宛先が自己であるか又は他の外部の処理装置300 〜30n であるかの判断、当該判断結果に基づく折返可能送信バッファ31i に対するパケット送出先の通信手段の切換え、及び、外部通信手段37を介して受信されたパケット若しくは自己宛のパケットが示すメモリ34i の該当するグローバル領域34i,1 又はローカル領域34i,2 への書込みの指示を行うとともに、外部通信手段37よりも内部通信手段36i を介する通信処理の単位時間当たりのデータ量を大きくするように処理を行う内外通信処理部35i とを有する。
【0029】
さらに、本実施例に係る各処理装置30i の前記メモリ34i の主記憶装置に相当する部分には、パケットを記憶するとともに、パケットの移動が相互に可能な2つの異なる種別の格納領域であるグローバル領域34i,1 及びローカル領域34i,2 が設けられている。
ここで、グローバル領域34i,1 は各処理内間のデータの転送のために用いられる領域であり、前記ローカル領域34i,2 は各処理装置内処理のために用いられる領域である。
また、前記CPU33i には、同図に示すように、キャッシュ33ai が設けられ、前記メモリ34i のローカル領域34i,2 において処理を行う。
【0030】
尚、図示していないが、前記メモリ34i には、主記憶装置の外にディスク等が設けられていても良い。
また、符号31ai はメモリ34i からのパケットと内外通信処理部35i からのパケットの選択を行う選択部であり、符号32ai は、折返可能送信バッファ31i からの送信パケット又は受信バッファ32i からの受信パケットの選択を行う選択部である。また、符号31ci 、31bi 及び32bi はレジスタを表す。
ここで、内外通信処理部35i と、折返可能送信バッファ31i と、受信バッファ32i と、レジスタ31ai ,31ci ,32bi と、選択部31ai ,32ai とは、図4の通信部38i に相当する。
【0031】
図6には、前記内外通信処理部35i の機能を詳細に示すものである。
同図に示すように、本実施例に係る内外通信処理部35i には、送信しようとするパケットの宛先が自己の処理装置か又は他の処理装置であるかを判断する自己宛判断部40i と、送信の指示があって送信可能状態となった場合には、前記自己宛判断部40i による判断結果からの指示に基づき、前記折返可能送信バッファ31i が送信しようとするパケット送出先の通信手段を外部通信手段若しくは内部通信手段のどちらかへの切換えの指示、アドレス選択部43i に対するアドレスの選択、及び、当該アドレスに基づき前記メモリ34i に対するアクセスの指示を行う通信指示部32i とを有する。
【0032】
さらに、当該内外通信処理部35i には、指示に基づいて、送信しようとするパケットのアドレス又は受信されたパケットのアドレスの選択を行うアドレス選択部43i と、当該アドレス選択部43i により選択されたアドレスに基づいて前記メモリ34i の該当するグローバル領域34i,1 又はローカル領域34i1,2に対するアクセスの指示を行うアクセス指示部44i とを有し、外部通信手段37を介するよりも内部通信手段36i を介する通信処理の単位時間当たりのデータ量を大きくするように処理を行うものである。
【0033】
さらに、当該通信指示部42i には送信をしようとするパケットにトークンを付加するトークン付加部42ai と、相手側のバッファまたは、外部通信手段37にあるバッファが空いていて送信が可能である場合に発行されるリターントークンの検出を行うリターントークン検出部42bi と、送信すべきパケットについての送信処理が完了したことを表すターミネート出力部42i とを有する。
【0034】
また、本実施例にあっては、前記自己宛判定部40i は、図6に示すように、パケットの所定位置に含まれる自己宛ビットを読み出す自己宛ビット読出部40ai と、読み出された当該ビットの判定を行うビット判定部40bi とを有する。「自己宛ビット」とは、パケットの転送の宛て先が自己の処理装置であるか否かを示すビットをいう。
【0035】
続いて、本実施例の送信時の動作について図7に基づいて説明する。
外部通信手段であるネットワークから到来したパケットは受信バッファに受信され、その後メモリアクセスのプライオリティ(図示せず)がとれた時点でメモリのグローバル領域34i,1 に記憶される。CPU33i はローカル領域において処理を行うため、グローバル領域34i,1 からローカル領域14i,2 への転送が必要となる。外部通信手段37であるネットワークへ送信するパケットをローカル領域34i,2 からグローバル領域34i,1 に転送する必要がある。図7に示すように、ステップSJ1で、前記CPU33i が送信しようとするパケットヘッダをメモリ34i の主記憶上に(グローバル領域とは限らない。)設けられた送信キューに入力する。この事実は前記通信処理部35i に通知され、内外通信処理部35i への送信の指示が行われる。
【0036】
ステップSJ2で、前記内外通信処理部35i は当該パケットヘッダを前記送信バッファ31i に取り込むために、前記アドレス選択部43i を介して、指示のあったパケットに関してアクセス指示部44i により、例えば、8バイトのフェッチ要求を前記メモリ34i に出す。ここで、8バイトとは前記送信バッファ31i があふれない単位である。
ステップSJ3で、当該メモリ34i に記憶されているパケットヘッダを全部完了するまで、数回にわたってフェッチ要求を出し、前記折返可能送信バッファ31i に書き込む。
【0037】
ステップSJ4でパケットヘッダについてすべて読み出されて前記折返可能送信バッファ31i に保持される。その8バイトずつのパケットヘッダの読出しの際のステップSJ5に、前記自己宛判定部40i は送信しようとするパケットの宛先が自己の処理装置であるか又は外部の他の処理装置であるかの判断を行う。その判断は、自己宛判断部40i の自己宛ビット読出部40ai が送信しようとするパケットの宛先が自己の処理装置であるか“1 ”又は外部の他の処理装置であるか“0 ”であるかを表す前記パケットヘッダの中の所定位置にある自己宛ビットを読み出すことにより行う。読み出された自己宛ビットはビット判定部40bi により当該ビットが“1 ”であるか“0 ”であるかの判定がされ、その結果を前記通信指示部42i に通知する。
【0038】
ここで、当該パケットヘッダには、少なくとも自己宛ビット及び受信先のアドレスを持っていることになる。詳しくは、パケットヘッダの形式は図8に示すものであり、当該パケットヘッダには、第1ワード目には、例えば、宛先の処理装置の識別子が含まれ、第mワード目には、そのパケットの大きさを表す情報が含まれ、第n番目には、自己宛か否かを表す自己宛ビット、及び当該パケットが格納されるべき、宛先の処理装置のメモリの格納位置を表すアドレスが含まれる。これらのパケットヘッダの後の第p番目からボディと呼ばれる実質的な内容を表すデータが含まれている。
【0039】
前記自己宛判断部40i により自己宛に送信するパケットでないと判断された場合には、ステップSJ6に進む。ステップSJ6で前記通信指示部42i のトークン付加部42ai は例えば外部通信手段への通信路数によって決まる1ワード4バイト毎に1個のトークンを付加して、当該通信処理部35i は前記折返送信バッファ31i があふれないように制御し、前記折返可能バッファ31i に指示をして前記外部通信手段37に送り出す。
【0040】
その後、外部通信手段37を介して前記リターントークン検出部42bi によりリターントークンが送信先PEから返却が検出されるまで待ち、ステップSJ7で、リターントークンが返ってきたことが検出された場合には、再びステップSJ6に戻り、1ワード毎にトークンを付加して外部通信手段37にパケットヘッダを送出する。
以上の処理ステップSJ6及びステップSJ7はパケットヘッダだけでなくボディについても同様に繰り返し、ターミネート出力部42ci がパケットの全データについての送信が終了したことを表すターミネートをステップSJ8で送出するまで繰り返される。
【0041】
一方、ステップSJ5で、前記自己宛判断部40i により自己宛であると判断された場合には、ステップSJ9に進む。
ステップSJ9では、前記通信指示部42i は前記アドレス選択部43i に指示を行い前記送信バッファ31i に保持されている送信しようとするパケットから抽出されたアドレスを前記アクセス指示部44i に送り、当該送信バッファ31i に格納されている送信しようとしたパケットを当該アドレスが示すメモリのローカル領域34i,1 に書き込ませる。この場合には、外部通信手段37を介してのパケットの転送とは異なり、トークンはパケットには付加されず、リターントークンの検出が必要がない。なぜならば、前記通信処理部35i は何バイトのパケットを前記メモリ34i のロードバスから受け取り、同量のバイト数のビットをメモリ34i のストアバスに送出すれば良いかを知っているからである。
【0042】
この点をさらに詳しく説明すれば、トークンは前記送信バッファ31i から受信バッファ32i にデータをあふれないように送るために必要なものであり、自己に転送する場合には、あたかも前記送信バッファ31i が受信バッファ32i であるかのように通信処理部には見える。従って、トークンの役割は終わったところより処理が始まっているからである。
【0043】
以上説明したように、本実施例にあっては、以上のような構成にしたため、前記CPU33i は、キャッシュ内データを用いて処理を行うことができ、通信処理部がパケット転送を終えた時に前記転送データを開いた次の処理に移ることができる。処理を終えると、その処理データがネットワークへ転送するデータである場合でも通信処理部がデータ転送を行うため次の処理に移ることができる。
【0044】
また、処理装置間(PE間)接続装置であるネットワークをクロスバー等で構成した場合、ハードウェアの観点からPEとネットワーク間のバス幅が制限される。あるいは転送時間が長くなるといったことが考えられるが、この場合に、ネットワークへの経路39i により各処理装置300 〜30n 内の内部通信手段のスループットが良くなるように構成することにより、例えば、外部通信手段が1バイト/2サイクルに対し、内部通信手段のデータの伝送が2バイト/1サイクルとなるように構成することにより処理データが揃うまでのCPUの待ち時間を短縮することができる。
【0045】
上述の説明ではCPUの処理量が通信処理部の処理量よりも多いものとして述べたが通信処理部の処理量が多い場合には通信処理部を増やす等により対処できるものと考えられる。
【0046】
続いて、第二の実施例について、図9に基づいて説明する。
第二の実施例に係る分散メモリ型の処理装置は、前述した第一の実施例に係る処理装置と異なり、前記自己宛判断部として、自己宛ビット読出部40ai 及びビット判定部40bi の代わりに、宛先読出部50ai 及び自己の処理装置との機番の比較を行う比較部50bi とを設けたものである。
【0047】
即ち、第二の実施例にあっては、第一の実施例と異なり、そのパケットの形式は、図8ではなく、図10に示すように、自己宛か否かを示すビットを設けるのではなく、宛先を示す処理装置の番号が自己の処理装置の機番と同一の場合には、自己宛の送信データであると判断するものである。
【0048】
本例は第一の実施例と異なり自己宛を示すビットを前記パケットに設ける必要がなく、通常の処理装置の宛先を使用することができるので、パケットの形式を変更する必要がないので扱い安い。
尚、第一の実施例の処理装置の場合に用いた符号と同一の符号は同一のものを示す。
尚、以上の例では、トークン及びリターントークンを用いてデータ通信を行う方式について説明したが、当該例に限られることなく、IEEEのCSMA/CD(イーサネット)方式、トークンパッシングリング方式やトークンパッシングバス方式、MAN方式、ディジタルPBX方式等に適用することもできる。
【0049】
【発明の効果】
以上述べてきたように本発明によれば、外部通信手段に比較して伝送されるデータ幅の大きい内部通信手段を設けるとともに、送信しようとするパケットの宛先が他の処理装置であるか自己の処理装置であるかの判断を行い、自己宛のパケットの場合には、メモリの該当する領域への書込みを行うように指示することにより、自己折り返し機能を持つようにしている。
【0050】
従って、CPUを介することなく又はDMA等の機器を別個に設けることなく、通信処理部の機能を用いて自己へのデータ転送を行うためにCPUに負担をかけず、また、構成を簡単化することができる。
また、通信処理部が外部の処理装置との間の通信を行うよりも、自己宛への送信の方がスループットが良くなっている。従って、各処理装置のCPU等の待ち時間を短縮して複数処理装置及びそのデータ通信方法の性能を向上させることができる。
【図面の簡単な説明】
【図1】第一の発明の原理ブロック図
【図2】第二の発明の原理流れ図
【図3】第一の発明の実施態様を示すブロック図
【図4】第一の実施例に係る機器構成全体ブロック図
【図5】第一の実施例に係るブロック図
【図6】第一の実施例に係る内外通信処理部を示すブロック図
【図7】第一の実施例に係る流れ図
【図8】第一の実施例に係るパケットの形式例を示す図
【図9】第二の実施例に係る内外通信処理部を示すブロック図
【図10】第二の実施例に係るパケットの形式例を示す図
【図11】従来例に係るブロック図
【符号の説明】
100 〜10n ,300 〜30n 処理装置
11i ,31i 折返可能送信バッファ
12i ,32i 受信バッファ
13i ,23i (33i ) データ処理部(CPU)
14i ,24i ,34i メモリ
15i ,25i ,35i ,45i 内外通信処理部
16i ,26i ,36i 内部通信手段
17,37 外部通信手段
[0001]
[Industrial application fields]
The present invention particularly relates to a plurality of processing apparatuses each having a memory and a data processing unit and connected to each other via an external communication unit so as to communicate with each other.
[0002]
[Prior art]
Conventionally, there has been a multiple processing apparatus as shown in FIG.
Each processing apparatus 90 according to the conventional example 0 ~ 90 n As shown in FIG. i CPU 93 for performing various data processing i Respectively.
[0003]
Further, as shown in FIG. i Is a reception buffer 92 for receiving packets transferred via the external communication means 97. i And a transmission buffer 91 for holding a packet to be transmitted i And an external communication processing unit 95 that performs transmission processing and reception processing with other processing devices via the external communication means 97 i And memory 94 i Data transfer to the CPU 93 i DMA99 performed without intervention i It has.
[0004]
In the multi-processing apparatus according to the conventional example, the external communication processing unit 95 is used for communication between the processing apparatuses. i However, regarding the transfer of data in a plurality of different types of memory spaces in one processing device, the external communication processing unit 95 i Regardless of the CPU 93 i Self or DMA99 i I was trying to do it.
[0005]
[Problems to be solved by the invention]
Now, in the multiple processing device according to the conventional example, as described above, the external communication processing unit 95 is used for data communication processing with the external processing unit. i For transferring data in a plurality of different types of memory spaces in its own processing device, the CPU 93 i Self or DMA99 i Was processing.
CPU 93 for transferring data in a plurality of different types of memory spaces in its own processing device i If it is performed by itself, there is a problem that the processing load of the CPU increases and the processing capability of each processing apparatus may be reduced.
[0006]
Further, in order for the DMA to transfer data in a plurality of different types of memory spaces in its own processing device, it is not only necessary to provide this DMA in addition to the external communication processing unit, but also the memory 94. i In order to transfer the data expressed in the packet format to the corresponding area, it is necessary to extract the address from the packet format or to specify the address, and there is a problem that the processing may be complicated. It was.
[0007]
Therefore, the present invention uses the function of a communication processing device that transfers data between a plurality of different types of memory in each processing device, and transfers data between the processing devices (PE; processor elements) via a network. This is done for the purpose of reducing the burden on the CPU, improving the processing performance of each processing apparatus, and consequently improving the performance of the entire plurality of processing apparatuses.
[0008]
Further, if it takes time for the data transfer in the memory in each processing device (PE) by the communication processing unit, the CPU data waiting state in each processing device occurs. It is an object to prevent the processing performance of each processing apparatus from being deteriorated by configuring the capacity to be higher than the throughput of data transfer between the processing apparatuses.
[0009]
[Means for Solving the Problems]
In order to solve the above technical problem, the first invention has a memory 14 as shown in FIG. i I = 0 to n and the data processing unit 13 i A plurality of data processing devices 10 each having 0 -10 n Is a plurality of processing devices connected to each other via the external communication means 17 so as to be able to communicate with each other.
[0010]
In addition, each processing apparatus 10 i Includes a reception buffer 12 for receiving a packet transferred via the external communication means 17. i Holds the packet to be transmitted, and the internal / external communication processing unit 15 i In accordance with an instruction from the external communication means 17 or the internal communication means 16 i The return-capable transmission buffer 11 for switching to one of these and sending it out i A determination as to whether the destination of the packet to be transmitted is itself or another processing device, and a returnable transmission buffer 11 based on the determination result i Switching of communication means of the packet transmission destination for the reception buffer 12 i The memory 14 indicated by the packet received via the packet or the packet addressed to itself i 14 corresponding storage area i, 0 ~ 14 i, m Instruction to write to the internal communication means 16 rather than the external communication means 17. i By providing a large number of parallel communication paths or reducing the minimum interval of communication processing, the internal communication means 16 i Internal / external communication processing unit 15 that performs processing so as to increase the amount of data per unit time of communication processing via i And the memory 14 i And data processing unit 13 i Receive buffer 12 i The returnable transmission buffer 11 i And the internal / external communication processing unit 15 i And the internal communication means 16 having a larger number of parallel communication paths than the external communication means 17. i And.
[0011]
Here, “communication means” is a concept including a communication path, and includes a bus or a network such as a crossbar. Including.
A “packet” is a binary digit string including data and control signals, which is transmitted or exchanged as a whole unit. Data, control signals, and possibly error control information may be included, and these pieces of information are arranged in a fixed format.
[0012]
A packet includes a packet header that is communication information such as a transfer destination, a transmission source, and a data size, and a body that is information to be transmitted to the other party.
The “processing device” refers to a functional unit that decodes and executes an instruction in a computer or the like, and corresponds to a processor element (PE) described in the embodiment.
The processing device is not limited to a parallel processing device, and is also applied to a distributed processing device.
[0013]
The “storage area” is used for a plurality of different types provided in the memory. For example, as shown in the embodiment, a global area used for data transfer or for data processing is used. There is a local area used.
“Data transfer” includes, for example, a communication format in which a token is transmitted and a return token is received for a packet transmitted with a token and transmitted.
[0014]
“The amount of data per unit time of communication processing via the internal communication means is larger than that of the external communication means” means that the processing capacity (throughput) via the internal communication means is higher than the processing capacity via the external communication means. Therefore, compared with the external communication means 17, the internal communication means 16 i This is realized by providing a larger number of parallel communication paths, or by reducing the minimum interval (seconds) of communication processing via the internal communication means than by the external communication means. “Throughput (processing capacity)” refers to a measure of the amount of work performed by a computer system within a given time.
[0015]
Such hardware changes are possible for the following reasons. The external communication means is designed so that it can be connected to various communication devices by standardizing the communication rules, etc., so as to satisfy the generality. Added. If the form of the external passage is changed, it affects all devices connected to the external communication means. On the other hand, the influence of the change in the format in each processing apparatus connected to the external communication means stops in each processing apparatus and can be easily changed.
[0016]
As shown in FIG. 2, the second invention is an arbitrary processing device among a plurality of processing devices connected to each other through external communication means for storing data and processing various data. When there is a packet transmission instruction (S1), it is determined whether or not the destination of the packet to be transmitted is itself or another processing device (S2), and the external communication means is ready for transmission. Waiting (S3), if the destination of the packet to be transmitted is another processing device, the packet is transmitted for each predetermined amount of data per unit time via the external communication means after becoming ready for transmission (S4) The transmission is repeated until the transmission of one packet is completed (S5). When the destination of the packet to be transmitted is its own processing device, the predetermined amount of data per unit time Also it performs a large amount of data processing Ri, performs the appropriate writes to regions of the memory of its own processor (S6) it is.
Here, the “predetermined amount of data” is the amount of processing data per unit time performed via the external communication means, and the predetermined data amount is the number of parallel communication paths of the communication means and the minimum interval of the external communication means. (Seconds) etc.
[0017]
On the other hand, as shown in FIG. 3, the embodiment of the first invention is the internal / external communication processing unit 25 of the first invention. i The self-addressing determination unit 20 determines whether the destination of the packet to be transmitted is its own processing device or another processing device. i When the transmission instruction is given and the transmission becomes possible, the self-addressed determination unit 20 i On the basis of the determination result by the return possible transmission buffer 16 i Switching of packet transmission destination communication means for address selection unit 23 i Address selection and the memory 14 based on the address i Communication instructing unit 22 for instructing access to i And have. The internal / external communication processing unit 25 i The address selection unit 23 selects one of the address of the packet to be transmitted or the address of the received packet based on the instruction. i And the address selector 23. i The memory 14 based on the address selected by i 14 corresponding storage area i, 0 ~ 14 i, m Access instruction unit 24 for instructing access to i The internal communication means 16 rather than the external communication means 17 i The processing is performed so as to increase the amount of data per unit time of communication processing via the network.
[0018]
[Action]
Subsequently, operations of the first invention and the second invention will be described.
As shown in FIG. 1 or FIG. 2, the internal / external communication processing unit 15 in step S1. i If there is an instruction to transmit a packet in step S2, the internal / external communication processing unit 15 i Determines whether the packet to be transmitted is addressed to itself. The determination of whether or not the packet is destined for itself is made, for example, by checking the self-addressed bit indicating whether or not the packet is to be transmitted at a predetermined bit position of the packet to be transmitted. This is done by determining whether or not the number is the same as the machine number indicating its own processing device.
If the packet to be transmitted is not addressed to itself, the process proceeds to step S3 and waits for a state where transmission is possible.
[0019]
In step S4, the internal / external communication processing unit 15 i Instructs to transmit via the external communication means 17 after being ready for transmission.
Packets are transmitted by the amount of data that can be transferred at one time. After the transmission is performed, the next transmission is performed after waiting for the transmission ready state in step S3, and is performed until the transmission of one packet is completed in step S5. To enter the “sendable state”, for example, there is a case where transmission is performed with a token representing a transmission right, or a method in which a token is added to a packet for transmission and the next transmission is performed after a return token is present. .
[0020]
On the other hand, if it is determined in step S2 that the packet to be transmitted is addressed to itself, the process proceeds to step S6, and the internal / external communication processing unit 15 i Is the returnable transmission buffer 11 i In contrast, the internal communication means 16 i And instructing the transfer of the packet via the address, obtaining an address from the data position indicating the destination of the packet to be transmitted, i 14 corresponding storage area i, 0 ~ 14 i, m Instruct to access to write data to
That is, the processing apparatus 10 0 -10 n The packet is transferred to the inside of the returnable transmission buffer 11. i As if the transmission data held in the reception buffer 12 i It is performed by being treated as if it is held in
[0021]
Each processing apparatus 10 0 -10 n Internal communication means 16 i When transferring a packet via the internal communication means 16 compared to the external communication means 17 i Has more parallel communication paths. Also, the internal / external communication processing unit 15 i Is internal communication means 16 rather than external communication means 17. i Processing is performed so as to increase the amount of data per unit time of communication processing via the Internet. Therefore, the transmission of the packet to the own processing device is configured to have a higher throughput than the transmission of the packet to the external processing device.
The internal / external communication processing unit 15 i External communication by is not adversely affected by enabling internal communication. Further, since the data transfer time to the inside can be shortened, the data processing unit 13 i Thus, the waiting time of data until the data is aligned can be shortened, and the performance degradation of each processing apparatus can be prevented, and the degradation of the processing performance of the entire processing apparatus can be prevented.
[0022]
As described above, in the present invention, the internal communication means 16 i And the internal / external communication processing unit 15 i Are provided in the same manner as the data transfer via the external communication means 17. 0 -10 n Data can be transferred to the inside. Thereby, each processing apparatus 10 0 -10 n When transferring data internally, each processing device 10 0 -10 n Internal / external communication processing unit 15 provided inside i Process, each data processing unit 13 i Do not put a burden on. Also, each processing device 10 such as DMA 0 -10 n In order to transfer data internally, a device that performs external communication can be shared, and it is not necessary to provide a dedicated device, so the configuration is simplified.
[0023]
【Example】
Next, examples of the present invention will be described.
FIG. 4 is an overall block diagram of a plurality of processing devices in which a plurality of distributed memory processing devices (processor elements, PE) according to the present embodiment are connected to each other via an external communication unit 37. Show.
Here, the “distributed memory type processing device” is different from a device in which memories are distributed in each processing device and a common memory is provided separately from each processing device. .
[0024]
Each processing device 30 o ~ 30 n As shown in the figure, the memory 34 is composed of a main storage device or the like. o ~ 34 n The CPU 33 corresponds to a data processing unit that performs various data processing and controls execution of instructions or control of the communication processing unit. 0 ~ 33 n And a communication unit 38 that manages packet communication. 0 ~ 38 n And are provided. Furthermore, each processing apparatus 30 0 ~ 30 n Each of the memories 34 o ~ 34 n , CPU33 0 ~ 33 n , And communication unit 38 0 ~ 38 n The internal communication means 36 having a larger number of parallel communication paths than the external communication means 37. 0 ~ 36 n Connected by.
In this embodiment, the width of the external communication means 37 is 4 bytes, and the internal communication means 36 0 ~ 36 n Is 8 bytes.
Examples of the external communication unit 37 include a bus and a network.
[0025]
FIG. 5 shows a processing apparatus 30 according to the first embodiment. i The block diagram of is shown.
As shown in FIG. i Corresponds to the data processor and the CPU 33 i Inside the cache 33a i Is provided.
In addition, each processing device 30 i As shown in the figure, the reception buffer 32 for receiving the data transferred via the external communication means 37 is used. i And the packet to be transmitted, and the internal / external communication processing unit 35 i In accordance with an instruction from the external communication means 37 or the internal communication means 36 i The return-capable transmission buffer 31 for switching to either one of these and sending it out i And are provided.
[0026]
Internal communication means 36 i Is an internal bus, and as described above, the throughput is improved by providing a larger number of parallel communication paths than the external communication means 37. Reference numeral 361 i Is a returnable transmission buffer 31. i To memory 34 i The communication processing unit 35 using this route. i The global area 34 i, 1 And 34 i, 2 Transfer packets to and from. As a result, the CPU 33 i Can be reduced, and the performance of each processing apparatus can be improved.
[0027]
Reference 39 i Is the processing device 30 i And the external communication means 37. Generally speaking, this tends to result in poor throughput due to hardware constraints. Therefore, path 39 i And internal communication means 36 i Are configured with the same throughput. i The data transfer speed to is slow. Therefore, the internal communication means 36 i Is route 39 i The CPU 33 is waiting for data necessary for processing by adopting a configuration with better throughput. i The idle time can be reduced and the performance of the processing apparatus can be improved.
[0028]
In FIG. 5, the internal / external communication processing unit 35 i Indicates that the destination of the packet to be transmitted is itself or other external processing device 30 0 ~ 30 n And the return possible transmission buffer 31 based on the determination result. i Switching of the communication means of the packet transmission destination with respect to the memory 34 and the memory 34 indicated by the packet received via the external communication means 37 or the packet addressed to itself i Applicable global area 34 i, 1 Or local area 34 i, 2 Instruction to write to the internal communication means 36 rather than the external communication means 37 i The internal / external communication processing unit 35 performs processing so as to increase the amount of data per unit time of communication processing via i And have.
[0029]
Furthermore, each processing apparatus 30 according to the present embodiment. i Of the memory 34 i In the portion corresponding to the main storage device, a global area 34, which is a storage area of two different types in which a packet is stored and the movement of the packet can mutually be performed, is stored. i, 1 And local area 34 i, 2 Is provided.
Here, the global area 34 i, 1 Is an area used for data transfer within each process, and the local area 34 i, 2 Is an area used for processing in each processing apparatus.
Further, the CPU 33 i As shown in FIG. i And the memory 34 i Local area 34 i, 2 Process in
[0030]
Although not shown, the memory 34 i In addition, a disk or the like may be provided outside the main storage device.
Reference numeral 31a i Is memory 34 i Packet and the internal / external communication processing unit 35 i Is a selection unit that selects packets from i Is a returnable transmission buffer 31. i Send packet or receive buffer 32 from i This is a selection unit for selecting the received packet from. Reference numeral 31c i , 31b i And 32b i Represents a register.
Here, the internal / external communication processing unit 35 i The returnable transmission buffer 31 i And receive buffer 32 i And register 31a i , 31c i 32b i And the selector 31a i , 32a i Is the communication unit 38 in FIG. i It corresponds to.
[0031]
FIG. 6 shows the internal / external communication processing unit 35. i The function of is shown in detail.
As shown in the figure, the internal / external communication processing unit 35 according to the present embodiment. i The self-addressing determination unit 40 determines whether the destination of the packet to be transmitted is its own processing device or another processing device. i When the transmission instruction is given and the transmission becomes possible, the self-addressed determination unit 40 i The returnable transmission buffer 31 is based on an instruction from the determination result by i Instruction for switching the communication means of the packet transmission destination to be transmitted to either the external communication means or the internal communication means, and the address selection unit 43 i Address selection for the memory 34 and the memory 34 based on the address. i Communication instruction unit 32 for instructing access to i And have.
[0032]
Further, the internal / external communication processing unit 35 i In response to the instruction, the address selector 43 selects the address of the packet to be transmitted or the address of the received packet. i And the address selector 43 i The memory 34 based on the address selected by i Applicable global area 34 i, 1 Or local area 34 i1,2 Access instruction unit 44 for instructing access to i The internal communication means 36 rather than via the external communication means 37 i The processing is performed so as to increase the amount of data per unit time of communication processing via the network.
[0033]
Further, the communication instruction unit 42 i Includes a token adding unit 42a for adding a token to a packet to be transmitted. i A return token detection unit 42b for detecting a return token issued when a buffer on the other side or the buffer in the external communication means 37 is free and transmission is possible. i And a termination output unit 42 indicating that the transmission process for the packet to be transmitted has been completed. i And have.
[0034]
Further, in this embodiment, the self-addressed determination unit 40 i As shown in FIG. 6, a self-addressed bit reading unit 40a that reads out a self-addressed bit included in a predetermined position of the packet. i And a bit determination unit 40b for determining the read bit. i And have. “Self-addressed bit” refers to a bit indicating whether or not the destination of packet transfer is its own processing device.
[0035]
Subsequently, an operation at the time of transmission according to the present embodiment will be described with reference to FIG.
A packet arriving from a network which is an external communication means is received by a reception buffer, and then when a memory access priority (not shown) is taken, a global area 34 of the memory is obtained. i, 1 Is remembered. CPU33 i Since processing is performed in the local area, the global area 34 i, 1 To local area 14 i, 2 Transfer to is required. A packet to be transmitted to the network which is the external communication means 37 is transmitted to the local area 34. i, 2 To global area 34 i, 1 Need to be transferred to. As shown in FIG. 7, in step SJ1, the CPU 33 i The packet header to be transmitted by the memory 34 i To the transmission queue provided on the main memory (not necessarily the global area). This fact is related to the communication processing unit 35. i And the inside / outside communication processing unit 35 i An instruction to send to is issued.
[0036]
In step SJ2, the internal / external communication processing unit 35 i Shows the packet header in the transmission buffer 31. i The address selecting unit 43 i Via the access instruction unit 44 for the packet instructed i Thus, for example, an 8-byte fetch request is sent to the memory 34. i Put out. Here, 8 bytes means the transmission buffer 31. i Is a unit that does not overflow.
In step SJ3, the memory 34 i The fetch request is issued several times until all packet headers stored in the packet header are completed, and the returnable transmission buffer 31 i Write to.
[0037]
In step SJ4, all the packet headers are read and the returnable transmission buffer 31 is read. i Retained. In step SJ5 at the time of reading the packet header of every 8 bytes, the self-address determination unit 40 i Determines whether the destination of the packet to be transmitted is its own processing apparatus or another external processing apparatus. The determination is made by the self-addressed determination unit 40. i Self-addressed bit reading section 40a i The self-addressed bit at a predetermined position in the packet header indicating whether the destination of the packet to be transmitted is its own processing device or “1”, or another external processing device or “0” This is done by reading The read self-addressed bit is the bit determination unit 40b. i Thus, it is determined whether the bit is “1” or “0”, and the result is sent to the communication instruction unit 42. i Notify
[0038]
Here, the packet header has at least a self-addressed bit and a destination address. Specifically, the format of the packet header is as shown in FIG. 8, and the packet header includes, for example, an identifier of the destination processing device in the first word, and the packet in the mth word. Information indicating the size of the packet, and the nth includes a self-addressed bit indicating whether or not the packet is addressed to itself and an address indicating the storage location of the memory of the destination processing apparatus in which the packet is to be stored It is. Data representing the substantial content called the body from the p-th after these packet headers is included.
[0039]
Self-addressed determination unit 40 i If it is determined that the packet is not transmitted to itself, the process proceeds to step SJ6. In step SJ6, the communication instruction unit 42 i Token adding unit 42a i For example, one token is added for every 4 bytes per word determined by the number of communication paths to the external communication means, and the communication processing unit 35 i Is the return transmission buffer 31 i Is controlled so as not to overflow, and the return possible buffer 31 i Is sent to the external communication means 37.
[0040]
Thereafter, the return token detecting unit 42b is connected via the external communication means 37. i Until the return token is detected from the transmission destination PE. If it is detected in step SJ7 that the return token has been returned, the process returns to step SJ6 and adds a token for each word. A packet header is sent to the external communication means 37.
The above processing steps SJ6 and SJ7 are similarly repeated not only for the packet header but also for the body, and the termination output unit 42c. i Is repeated until a terminator indicating that transmission of all data of the packet has been completed is sent in step SJ8.
[0041]
On the other hand, in step SJ5, the self-addressed determination unit 40 i If it is determined that it is addressed to itself, the process proceeds to step SJ9.
In step SJ9, the communication instruction unit 42 i Is the address selector 43. i The transmission buffer 31 i The access instruction unit 44 uses the address extracted from the packet to be transmitted held in the access instruction unit 44. i The transmission buffer 31 i The local area 34 of the memory indicated by the address of the packet to be transmitted stored in i, 1 To write to. In this case, unlike the transfer of the packet via the external communication unit 37, the token is not added to the packet, and it is not necessary to detect the return token. This is because the communication processing unit 35 i Is how many bytes of the packet i And receive the same number of bytes from the memory 34 i This is because it knows what to send to the store bus.
[0042]
To explain this point in more detail, the token is the transmission buffer 31. i To receive buffer 32 i Is necessary for sending data so as not to overflow, and when it is transferred to itself, it is as if the transmission buffer 31 i Receive buffer 32 i It appears to the communication processing unit as if Therefore, the processing starts from the end of the role of the token.
[0043]
As described above, since the present embodiment is configured as described above, the CPU 33 i Can perform processing using the data in the cache, and when the communication processing unit finishes packet transfer, it can move to the next processing that opened the transfer data. When the processing is completed, even if the processing data is data to be transferred to the network, the communication processing unit transfers the data, so that the next processing can be performed.
[0044]
Further, when a network that is a connection device between processing devices (between PEs) is configured with a crossbar or the like, the bus width between the PE and the network is limited from the viewpoint of hardware. Alternatively, the transfer time may be longer. In this case, the route 39 to the network i By each processing device 30 0 ~ 30 n By configuring the internal communication means so that the throughput of the internal communication means is improved, for example, the external communication means is configured so that the data transmission of the internal communication means is 2 bytes / 1 cycle with respect to 1 byte / 2 cycles. Thus, the waiting time of the CPU until the processing data is ready can be shortened.
[0045]
In the above description, the processing amount of the CPU is described as being larger than the processing amount of the communication processing unit. However, when the processing amount of the communication processing unit is large, it can be considered that it can be dealt with by increasing the number of communication processing units.
[0046]
Next, a second embodiment will be described based on FIG.
Unlike the processing apparatus according to the first embodiment, the distributed memory type processing apparatus according to the second embodiment is the self-addressed bit reading section 40a as the self-addressed determination section. i And bit determination unit 40b i Instead of the address reading unit 50a i And a comparison unit 50b for comparing the machine number with its own processing device i Are provided.
[0047]
In other words, in the second embodiment, unlike the first embodiment, the packet format is not shown in FIG. 8, but as shown in FIG. If the number of the processing apparatus indicating the destination is the same as the machine number of the processing apparatus of its own, it is determined that the transmission data is addressed to itself.
[0048]
Unlike the first embodiment, this example does not need to provide a bit indicating the address to the packet and can use the destination of a normal processing device, so that it is not necessary to change the packet format and is therefore easy to handle. .
In addition, the same code | symbol as the code | symbol used in the case of the processing apparatus of a 1st Example shows the same thing.
In the above example, a method of performing data communication using a token and a return token has been described. However, the present invention is not limited to this example, and the IEEE CSMA / CD (Ethernet) method, token passing ring method, token passing bus, etc. It can also be applied to a system, a MAN system, a digital PBX system, and the like.
[0049]
【The invention's effect】
As described above, according to the present invention, the internal communication means having a larger data width compared to the external communication means is provided, and whether the destination of the packet to be transmitted is another processing device or not. It is determined whether it is a processing device, and in the case of a packet addressed to itself, it has a self-wrapping function by instructing to write to the corresponding area of the memory.
[0050]
Accordingly, the CPU is not burdened to transfer data to itself using the function of the communication processing unit without using a CPU or separately providing a device such as a DMA, and the configuration is simplified. be able to.
In addition, the throughput of the transmission to itself is better than that of the communication processing unit communicating with the external processing device. Therefore, it is possible to improve the performance of the multiple processing devices and the data communication method by shortening the waiting time of the CPU of each processing device.
[Brief description of the drawings]
FIG. 1 is a principle block diagram of the first invention.
FIG. 2 is a principle flowchart of the second invention.
FIG. 3 is a block diagram showing an embodiment of the first invention.
FIG. 4 is an overall block diagram of the device configuration according to the first embodiment.
FIG. 5 is a block diagram according to the first embodiment.
FIG. 6 is a block diagram showing an internal / external communication processing unit according to the first embodiment.
FIG. 7 is a flowchart according to the first embodiment.
FIG. 8 is a diagram showing a packet format example according to the first embodiment;
FIG. 9 is a block diagram showing an internal / external communication processing unit according to the second embodiment.
FIG. 10 is a diagram showing an example of a packet format according to the second embodiment.
FIG. 11 is a block diagram according to a conventional example.
[Explanation of symbols]
10 0 -10 n , 30 0 ~ 30 n Processing equipment
11 i , 31 i Returnable send buffer
12 i , 32 i Receive buffer
13 i , 23 i (33 i Data processing unit (CPU)
14 i , 24 i , 34 i memory
15 i , 25 i , 35 i , 45 i Internal / external communication processor
16 i , 26 i , 36 i Internal communication means
17, 37 External communication means

Claims (2)

メモリ(14i ;i=0〜n)及びデータ処理部(13i )を各々有するとともに外部通信手段(17)を介して相互に通信可能に接続された複数の処理装置(100 〜10n )において、
各処理装置(10i )には、
外部通信手段(17)を介して転送されたパケットを受信する受信バッファ(12i )と、
送信しようとするパケットを保持し、内外通信処理部(15i )からの指示により、保持されたパケットを外部通信手段(17)又は内部通信手段(16i )のどちらか一方に切り換えて送出する折返可能送信バッファ(11i )と、
送信しようとするパケットの宛先が自己であるか又は他の処理装置であるかの判断、当該判断結果に基づく折返可能送信バッファ(11i )に対するパケット送出先の通信手段の切換え、及び、受信バッファ(12i )を介して受信されたパケット若しくは自己宛のパケットが示すメモリ(14i )の該当する格納領域(14i,0 〜14i,m )への書込みの指示を行うとともに、外部通信手段(17)よりも内部通信手段(16i の並列通信路数を多く設け、又は通信処理の最小間隔を小さくすることにより、内部通信手段(16 i )を介する通信処理の単位時間当たりのデータ量を大きくするように処理を行う内外通信処理部(15i )と、
前記メモリ(14i データ処理部(13i )、受信バッファ(12i )、折返可能送信バッファ(11i )、及び内外通信処理部(15i の間を接続するとともに外部通信手段(17)に比較して並列通信路数の多い内部通信手段(16i )とを有することを特徴とする複数処理装置。
A plurality of processing devices (10 0 to 10 n ) each having a memory (14 i ; i = 0 to n ) and a data processing unit (13 i ) and connected to each other via an external communication means (17). )
Each processing device (10 i )
A reception buffer (12 i ) for receiving a packet transferred via the external communication means (17);
The packet to be transmitted is held, and the held packet is switched to either the external communication means (17) or the internal communication means (16 i ) in accordance with an instruction from the internal / external communication processing unit (15 i ) and transmitted. A returnable transmission buffer (11 i );
Determination of whether the destination of the packet to be transmitted is self or another processing device, switching of communication means of the packet transmission destination for the returnable transmission buffer (11 i ) based on the determination result, and reception buffer (12 i ) or an instruction for writing to the corresponding storage area (14 i, 0 to 14 i, m ) of the memory (14 i ) indicated by the packet received via (12 i ) or the packet addressed to itself By providing a larger number of parallel communication paths for the internal communication means (16 i ) than for the means (17) , or by reducing the minimum interval of communication processing, the internal communication means (16 i ), And an internal / external communication processing unit (15 i ) that performs processing so as to increase the amount of data per unit time of communication processing via
The memory (14 i ) is connected to the data processing unit (13 i ), the reception buffer (12 i ), the returnable transmission buffer (11 i ), and the internal / external communication processing unit (15 i ) and external communication means. A multi-processing device comprising internal communication means (16 i ) having a larger number of parallel communication paths than (17).
前記内外通信処理部(25 i )は、送信しようとするパケットの宛先が自己の処理装置か、又は他の処理装置であるかを判断する自己宛判断部(20 i )と、
送信の指示があって送信可能状態となった場合には、前記自己宛判断部(20 i )による判断結果に基づき、前記折返可能送信バッファ(16 i )に対するパケットの送出先の通信手段の切換え、アドレス選択部(23 i )に対するアドレスの選択、及び、当該アドレスに基づき前記メモリ(14 i )に対するアクセスの指示を行う通信指示部(22 i )と、
指示に基づいて、送信しようとするパケットのアドレス又は受信されたパケットのアドレスの一方の選択を行うアドレス選択部(23 i )と、前記アドレス選択部(23 i )により選択されたアドレスに基づいて前記メモリ(14 i )の該当する格納領域(14 i,0 〜14 i,m )に対するアクセスの指示を行うアクセス指示部(24 i )とを有し、外部通信手段(17)よりも内部通信手段(16 i )を介する通信処理の単位時間当たりのデータ量を大きくするように処理することを特徴とする請求項1記載の複数処理装置
The internal / external communication processing unit (25 i ) is a self-addressed determination unit (20 i ) that determines whether the destination of a packet to be transmitted is its own processing device or another processing device ,
When a transmission instruction is given and transmission is possible , switching of communication means for sending packets to the returnable transmission buffer (16 i ) based on the determination result by the self-addressed determination unit (20 i ) A communication instruction unit (22 i ) for selecting an address for the address selection unit (23 i ) and instructing an access to the memory (14 i ) based on the address ;
Based on the instruction, the address selection unit which performs one of selection of addresses of the address or the received packet of the packet to be transmitted (23 i), on the basis of the selected address by the address selector (23 i) An access instruction section (24 i ) for instructing access to the corresponding storage area (14 i, 0 to 14 i, m ) of the memory (14 i ), and internal communication rather than external communication means (17). The multi-processing device according to claim 1, wherein processing is performed so as to increase a data amount per unit time of communication processing via the means (16 i ) .
JP27578793A 1993-11-04 1993-11-04 Multiple processing equipment Expired - Fee Related JP3638625B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27578793A JP3638625B2 (en) 1993-11-04 1993-11-04 Multiple processing equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27578793A JP3638625B2 (en) 1993-11-04 1993-11-04 Multiple processing equipment

Publications (2)

Publication Number Publication Date
JPH07129525A JPH07129525A (en) 1995-05-19
JP3638625B2 true JP3638625B2 (en) 2005-04-13

Family

ID=17560406

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27578793A Expired - Fee Related JP3638625B2 (en) 1993-11-04 1993-11-04 Multiple processing equipment

Country Status (1)

Country Link
JP (1) JP3638625B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012118687A (en) * 2010-11-30 2012-06-21 Sharp Corp Semiconductor integrated circuit

Also Published As

Publication number Publication date
JPH07129525A (en) 1995-05-19

Similar Documents

Publication Publication Date Title
EP1033020B1 (en) Multi-protocol packet translator
US4467419A (en) Data processing system with access to a buffer store during data block transfers
JP3365705B2 (en) Distributed data processing system
US7047370B1 (en) Full access to memory interfaces via remote request
JP5066707B2 (en) TCP / IP offload device with reduced sequential processing
US6778548B1 (en) Device to receive, buffer, and transmit packets of data in a packet switching network
US7283528B1 (en) On the fly header checksum processing using dedicated logic
US20100215046A1 (en) Logical separation and accessing of descriptor memories
EP0606368A1 (en) Packet processing method and apparatus
JP2830833B2 (en) Communication method between processors and processor used therefor
US7212530B1 (en) Optimized buffer loading for packet header processing
US6640312B1 (en) System and method for handling device retry requests on a communication medium
JPH0332818B2 (en)
US7805551B2 (en) Multi-function queue to support data offload, protocol translation and pass-through FIFO
JP4642531B2 (en) Arbitration of data requests
JP3638625B2 (en) Multiple processing equipment
JP2002366427A (en) Inter-processor communication system, and inter- processor communication method to be used for the system
US6795874B2 (en) Direct memory accessing
JP2004086798A (en) Multiprocessor system
JP2853652B2 (en) Packet transmitting method and apparatus in inter-processor communication
JPH08212178A (en) Parallel computer
JP2731761B2 (en) Network control device
JP3956652B2 (en) Processor system
JP3609908B2 (en) Computer connection device
JPS6244352B2 (en)

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040316

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050112

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080121

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100121

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110121

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110121

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120121

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees