説明

パケット通信制御装置、メモリアクセス制御装置及び情報処理システム

【課題】制御パケットとデータパケットとを転送するパケット転送制御装置において、平均応答時間を短縮する。
【解決手段】データ通信経路L2と制御通信経路L1を分離して、且つ制御通信経路L1に制御パケットを多重化する多重化回路を設け、最短ジョブ優先制御を実行する。往復通信時間の平均を小さくでき、且つハードウェアコストも低減できる。又、データパケットを付随する制御パケットは、データパケットと同期して、異なる経路で転送するため、受信処理の複雑さを回避できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケット通信制御装置、メモリアクセス制御装置及び情報処理システムに関する。
【背景技術】
【0002】
複数の装置間で通信を行う場合、全ての装置が同時に通信する事を想定して、通信経路を確保する事は、得策でない。何故なら、個々の装置は、実際には、常に通信をしているとは限らないからである。例えば、それぞれの装置が平均的に半分の時間に通信を行っているとすれば、実際の装置の数の半分が同時に通信できるだけの帯域を確保すれば十分である。
【0003】
例えば、図16及び図17で示すようなパケット通信においては、第1の装置100から第2の装置200に対して要求を発行し、第2の装置200から第1の装置100に応答が返る往復通信パターンが用いられる。通信パターンは、図16のように、データ送信要求と受信応答と、図17のように、受信要求とデータ送信応答とである。
【0004】
図16に示すように、データ送信要求(1)は、第1の装置100から第2の装置200に対して送るデータ送信通信である。例えば、PUSH型データ配信、PUT型転送依頼がある。受信応答(2)は、第2の装置200から第1の装置100に送るデータ送信要求(1)に対する受信確認応答である。
【0005】
次に、図17に示すように、受信要求(1)は、第1の装置100から第2の装置200に対して送るデータ受信依頼である。例えば、PULL型データ配信、GET型転送依頼である。データ送信応答(2)は、第2の装置200から第1の装置100に送るデータ送信を伴う応答である。
【0006】
これらの通信では、データを伴う通信と、制御情報のみの通信であってデータを伴わない通信が対になって行われる。すなわち、データを伴わない通信は、通信時間の短い、制御情報のみの小さなパケット、データを伴う通信は、通信時間の長い、大きなパケットと言える。一般的な通信は、このパターンに分類できる。このようなパケット通信においては、常に、通信を行っていないため、装置間の同時通信を想定した通信経路の確保を要しない。
【0007】
一方、このような1対1の通信ではなく、1:N(Nは、N>1、整数である)、N:1、N:Nの通信においては、同時に複数の装置から通信の要求が発生する。このような同時に通信が発生した場合には、通信順序を制御する「調停」又は「スケジューリング」と呼ばれる技術が利用されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2008−245011号公報
【特許文献2】特開2002−182875号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
従来の調停やスケジューリングによる最短ジョブ優先技術では、平均応答時間が最小になる制御が可能であるが、一方で、最悪時の応答時間が保証できないという問題がある。最悪時の応答時間を保証するための制御を行うためには、通信時間が、予測可能である必要があり、予測するのは、困難である。
【0010】
しかも、ハードウェア実装においては、このような平均応答時間を小さくするような制御をしつつ、一定の公平性を維持しながら、枯渇(Starvation)と呼ばれる状況を回避するためには、複雑な制御を実装することが要求され、ハードウェア上の実現は、難しい。
【0011】
従って、本発明の目的は、パケット通信において、通信遅延性能の改善と、ハードウェア実装コストの削減とを実現するパケット通信制御装置、メモリアクセス制御装置及び情報処理システムを提供することにある。
【課題を解決するための手段】
【0012】
この目的の達成のため、パケット通信制御装置は、制御情報を転送する場合には、前記制御情報を備える第1の制御パケットを、制御情報にデータが付随する場合には、前記制御情報を備える第2の制御パケットと、前記データを備えるデータパケットとを、通信経路を介し転送するパケット通信制御装置において、複数の送信ユニットと、前記複数の送信ユニットの送信要求を調停し、制御通信経路に、前記複数の送信ユニットの前記第1、第2の制御パケットを順次転送し、且つ前記第2の制御パケットに付随する前記データパケットを、前記第2の制御パケットの前記制御通信経路の転送と同期して、データ通信経路に転送する多重化制御回路とを有する。
【0013】
又、この目的の達成のため、メモリアクセス制御装置は、メモリのアクセスを行うメモリアクセスコントローラに、制御情報を転送する場合には、前記制御情報を備える第1の制御パケットを、制御情報にデータが付随する場合には、前記制御情報を備える第2の制御パケットと、前記データを備えるデータパケットとを、通信経路を介し転送して、前記メモリアクセスコントローラにメモリアクセスを依頼するメモリアクセス制御装置において、複数の送信ユニットと、前記複数の送信ユニットの送信要求を調停し、制御通信経路に、前記複数の送信ユニットの前記第1、第2の制御パケットを順次転送し、且つ前記第2の制御パケットに付随する前記データパケットを、前記第2の制御パケットの前記制御通信経路の転送と同期して、データ通信経路に転送する多重化制御回路とを有する。
【0014】
更に、この目的の達成のため、情報処理システムは、演算処理装置と、メモリと、メモリのアクセスを行うメモリアクセスコントローラと、前記演算処理装置が実行するコマンドにより、前記メモリコントローラに、制御情報を転送する場合には、前記制御情報を備える第1の制御パケットを、制御情報にデータが付随する場合には、前記制御情報を備える第2の制御パケットと、前記データを備えるデータパケットとを、通信経路を介し転送して、前記メモリアクセスコントローラにメモリアクセスを依頼するメモリアクセス制御装置とを有し、前記メモリアクセス実行装置は、複数の送信ユニットと、前記複数の送信ユニットの送信要求を調停し、制御通信経路に、前記複数の送信ユニットの前記第1、第2の制御パケットを順次転送し、且つ前記第2の制御パケットに付随する前記データパケットを、前記第2の制御パケットの前記制御通信経路の転送と同期して、データ通信経路に転送する多重化制御回路とを有する。
【発明の効果】
【0015】
データ通信経路と制御通信経路を論理的又は物理的に分離して、且つ制御通信経路に制御パケットを多重化することにより、最短ジョブ優先制御を実行するため、往復通信時間の平均を小さくでき、且つハードウェアコストも低減できる。又、データパケットを付随する制御パケットは、データパケットと同期して、異なる経路で転送するため、受信処理の複雑さを回避できる。
【図面の簡単な説明】
【0016】
【図1】本発明の一実施の形態の情報処理システムの構成図である。
【図2】図1のメモリアクセス実行回路のブロック図である。
【図3】実施の形態の対象とする受信要求パケットの説明図である。
【図4】実施の形態の対象とする受信応答パケットの説明図である。
【図5】実施の形態の対象とする送信要求パケットの説明図である。
【図6】実施の形態の対象とする送信応答パケットの説明図である。
【図7】図2のパケット送信回路の分離経路の説明図である。
【図8】図7の制御パケットの多重化構成の説明図である。
【図9】図2のパケット送信回路の調停動作の説明図である。
【図10】図2のパケット送信回路のブロック図である。
【図11】図10のパケット送信回路のタイムチャート図である。
【図12】図2のパケット受信回路のブロック図である。
【図13】図12のパケット受信回路のパケットの衝突の説明図である。
【図14】図12のパケット受信回路のパケットの衝突回避動作の説明図である。
【図15】図12のパケット受信回路のタイムチャート図である。
【図16】従来のデータ送信要求と受信応答の説明図である。
【図17】従来のデータ受信要求と送信応答の説明図である。
【発明を実施するための形態】
【0017】
以下、実施の形態の例を、情報処理システム、メモリアクセス実行回路、パケット送信回路、パケット受信回路、他の実施の形態の順で説明するが、開示の情報処理システム、パケット送信回路及びパケット受信回路は、この実施の形態に限られない。
【0018】
(情報処理システム)
図1は、本発明の一実施の形態の情報処理システムの構成図であり、図1の情報処理システムの例は、情報処理装置としてのCPU(Central Processing Unit)と、メインメモリと、相互連絡チップを有するシステムである。
【0019】
図1に示すように、情報処理システムは、CPUブロック10を搭載したCPUチップ1と、メインメモリ2と、メモリアクセス実行回路を搭載した相互結合網チップ(Interconnect Chip)3とを有する。CPUチップ1は、キャッシュメモリ及びCPU本体を含むCPUブロック10と、メインメモリ2をアクセス制御するメインメモリアクセス制御回路(MAC Memory Access Controller)14と、DMA(Direct Memory Access)制御を行うDMA(Direct Memory Access Controller)12とを有する。
【0020】
CPUブロック10は、メインメモリアクセス制御回路14を介し、メインメモリ2をアクセスする。DMAC12が、CPUブロック10のコマンドに基づくメモリアクセス実行回路からの依頼、または通信ポート84−1〜84−10で接続された他の相互結合網チップから受信した通信に従い、メインメモリ2を、メインメモリアクセス制御回路14を介し、アクセスし、又、CPUブロック10に内蔵されているキャッシュメモリをアクセスする。
【0021】
メモリアクセス実行回路を搭載する相互結合網チップ(装置)3は、DMAC12に接続されたバスコントロールユニット4と、バスコントロールユニット4に接続された複数のメモリアクセス実行回路4−1〜4−Nと、スイッチユニット8とを有する。バスコントローラユニット4は、多数のメモリアクセス実行回路4−1〜4−Nに接続され、バス調停を行い、各メモリアクセス実行回路4−1〜4−NとDMAC12との送受信制御を行う。
【0022】
各メモリアクセス実行回路4−1〜4−Nは、CPUチップ1のDMAC12と、スイッチユニット8との間に設けられる。メモリアクセス実行回路4−1〜4−Nの各々は、制御パケットとデータパケットとを分離して、バスコントローラユニット4を介し、DMAC12に送信するパケット送信回路5と、バスコントローラユニット4を介し、DMAC12から制御パケットとデータパケットを受信するパケット受信回路6と、パケット送信回路5とパケット受信回路6に、バス70を介し接続された転送制御ユニット(Transfer Control Unit:送受信ユニット)7とを有する。
【0023】
転送制御ユニット7は、CPUブロック10が、メインメモリ2に書き込んだコマンド列を読み出し、コマンド列に含まれるコマンドから、制御パケットとデータパケットとを生成し、パケット送信回路5に送り、且つパケット受信回路6から応答パケットを受ける。
【0024】
転送制御ユニット7は、スイッチユニット8からの/及びスイッチユニット8への転送データの制御を行う。スイッチユニット8は、クロスバーユニット82と、多数の通信ポート84−1〜84−10とを有する。この通信ポート84−1〜84−10に、他のクロスバースイッチや外部装置が接続される。
【0025】
又、CPUチップ1のDMAC12も、メモリアクセス実行回路のパケット送信回路5に対抗して、パケット受信回路6が設けられる。同様に、CPUチップ1のDMAC12も、メモリアクセス実行回路のパケット受信回路6に対抗して、パケット送信回路5が設けられる。これは、メモリアクセス実行回路4−1〜4−Nの構成と同一のため、説明を省略する。
【0026】
この構成においては、CPUブロック10が処理に伴い、メインメモリ2にコマンドを書き込み、コマンド列を作成する。転送制御ユニット7は、制御パケットを作成し、パケット送信回路5を介し、DMAC12より、メインメモリ2をアクセスし、メインメモリ2のコマンド列をデータとして、取り出す。転送制御ユニット7は、取り出したコマンド列を、パケット受信回路6からバス70を介し、受け取り、格納する。
【0027】
そして、転送制御ユニット7は、コマンド列のコマンドを取り出し、コマンドから、制御パケット及び/又はデータパケットを作成し、バス70を介し、パケット送信回路5に送信する。一方、転送制御ユニット7は、通信ポート84−1〜84−10、クロスバースイッチ82を介し、ストアデータを受け、ストアデータパケットを作成し、パケット送信回路5に送信する。又、転送制御ユニット7は、クロスバースイッチ82、通信ポート84−1〜84−10を介し、受信したデータを、他の相互結合網チップや外部装置へ送信する。
【0028】
この構成では、メモリアクセス実行回路4−1が、CPUブロック10からのコマンドにより、メインメモリ2をアクセスし、多数のポートからのデータを格納し、多数のポートへデータを送信する。メモリアクセス実行回路4−1は、一種のDMA動作を行う。CPUブロック10のコマンドにより、DMA動作し、外部と通信するため、トラフィック量が多く、バスL1〜L4を効率よく、且つ遅延時間の平均を最小化する必要がある。
【0029】
(メモリアクセス実行回路)
図2は、図1のメモリアクセス実行回路の構成図、図3〜図6は、通信パケットの一例の説明図である。ここで、通信パケットとして、制御情報のみを備えるパケットを制御パケットと規定し、データを備えるパケットをデータパケットと規定する。以下、メインメモリ2からのデータのフェッチ(取り出し)、メインメモリ2へのデータのストア(格納)の例で、説明するが、メインメモリに対するパケット通信に限らない。
【0030】
先ず、図3〜図6により、転送制御ユニット7が作成する通信パケットを説明する。フェッチ動作は、要求元が、フェッチリクエストをDMAC12に送り、フェッチレスポンス及びデータをDMAC12から得る。図3に示すように、フェッチリクエストは、フェッチリクエスト制御パケット40Aからなり、そして、フェッチリクエスト制御パケット40Aは、オペレーションコード(Op Code)=Fetchと、リクエストID(Identification:識別子)と、オプションフラグと、DMAターゲットアドレス(Target Address)とを有する。フェッチリクエストは、データパケットを有しない。
【0031】
一方、フェッチレスポンス及びデータは、図4に示すように、フェッチレスポンス制御パケット40Bと、フェッチレスポンスデータパケット30Bとからなる。そして、フェッチレスポンス制御パケット40Bは、オペレーションコード(Op Code)=Fetch ACKと、リクエストID(Identification:識別子)と、エラーフラグとを有する。フェッチレスポンスデータパケット30Bは、フェッチリクエスト制御パケット40AのDMAターゲットアドレスで指定したデータである。
【0032】
次に、ストア動作は、ストアリクエストとデータをDMAC12に送り、ストアレスポンスをDMAC12から得る。図5に示すように、ストアリクエストは、ストアリクエスト制御パケット40Cとストアリクエストデータパケット30Cとからなる。そして、ストアリクエスト制御パケット40Cは、オペレーションコード(Op Code)=Storeと、リクエストID(Identification:識別子)と、オプションフラグと、DMAターゲットアドレス(Target Address)とを有する。ストアリクエストデータパケット30Cは、そのDMAターゲットアドレスで指定した位置に格納すべきデータである。
【0033】
ストアレスポンスは、図6に示すように、ストアレスポンス制御パケット40Dからなる。そして、ストアレスポンス制御パケット40Dは、オペレーションコード(Op Code)=Store ACK(Acknowledge)と、リクエストID(Identification:識別子)と、エラーフラグとを有する。ストアレスポンスは、データパケットを有しない。
【0034】
次に、図2により、メモリアクセス実行回路4−1〜4−Nを説明する。データ転送制御回路7は、コマンドキュー(Cmd Queue)73と、通知キュー(Notify Queue)72と、送信コントローラ(TX Controller)71と、ペイロードフェッチユニット(Payload Fetch Unit)74と、ペイロードストアユニット(Payload Store Unit)76と、受信コントローラ(RX Controller)77と、通知キュー(Notify Queue)78と、割込み制御部(Int Cont)79とを有する。
【0035】
図2では、コマンドキュー(CmdQueue)73と、通知キュー(Notify Queue)72と、ペイロードフェッチユニット(Payload Fetch Unit)74と、ペイロードストアユニッチ(Payload Store Unit)76と、通知キュー(Notify Queue)78と、割込み制御部(Int Cont)79とが、コマンドキュー73のコマンドに従い、メモリアクセスの要求元である。
【0036】
コマンドキュー(バッファ)73は、メインメモリ2にCPUブロック10が記憶したコマンドのコピーを格納し、順次コマンドを実行し、コマンド列のコマンド数が所定値以下となると、フェッチリクエスト制御パケットを作成し、パケット送信回路5を介し、メモリメモリ2のコマンド列をフェッチする。
【0037】
ペイロードストアユニット76は、クロスバースイッチ82を介する通信ポートからのストアデータ(ペイロード)を受け、図5に示したストアリクエスト制御パケット40Cと、ストアリクエストデータパケット30Cを作成する。受信コントローラ77は、コマンドキュー73からのストアコマンドに応じて、ペイロードストアユニット76のストアリクエスト制御パケット40Cと、ストアリクエストデータパケット30Cとを、バス70を介し、パケット送信回路5に送信する。
【0038】
通知キュー78は、パケット受信回路6のストアレスポンス制御パケット40D(図6参照)を受け、キューイングする。受信コントローラ77は、ペイロードストアユニット76のストアレスポンス制御パケット40D(図6参照)を読み出し、通知キュー78を通してメインメモリに終了ステータスを書き出す、あるいは割り込みコントローラ79を通してCPU割り込みを発生させるなどの手段でソフトウェアに終了ステータスを通知する。
【0039】
送信コントローラ71は、コマンドキュー73からのフェッチコマンドに応じて、ペイロードフェッチユニット74に、図3に示したフェッチリクエスト制御パケット40Aを作成させる。そして、送信コントローラ71は、ペイロードフェッチユニット74のフェッチリクエスト制御パケット40Aを、バス70を介し、パケット送信回路5に送信する。
【0040】
ペイロードフェッチユニット74は、パケット受信回路6のフェッチレスポンス制御パケット40B(図4参照)を受け、キューイングする。受信コントローラ77は、通知キュー72のフェッチレスポンス制御パケット40Bを読み出し、フェッチリクエスト制御パケット40Aのオペレーションにエラーがあるかないかを確認し、通知キュー78を通してメインメモリに終了ステータスを書き出す、あるいは割り込みコントローラ79を通してCPU割り込みを発生させるなどの手段でソフトウェアに終了ステータスを通知する。ペイロードフェッチユニット74は、パケット受信回路6のフェッチレスポンスデータパケット30B(図4参照)を、バス70を介し、読み出し、ネットワーク用のパケットに組み立て、クロスバースイッチ82に出力する。
【0041】
割込み制御部79は、送信コントローラ71と受信コントローラ77からの要求により、割込み処理(例えば、再送割込み処理等)を行い、割込みパケットを、パケット送信回路5に送信する。
【0042】
次に、パケット送信回路5は、複数の送信FIFO(Fast In Fast Out)ユニット50−1〜50−Nと、調停コントローラ54と、第1の調停回路56と、第2の調停回路58とを有する。複数のFIFOユニット50−1〜50−Nは、バス70に並列に接続され、制御パケットと、データパケットとを受信し、各々内蔵するFIFOメモリに格納する。第1の調停回路56は、各FIFOユニット50−1〜50−N内のデータパケットを伴わない制御パケットの調停を行う。第2の調停回路58は、各FIFOユニット50−1〜50−N内のデータパケットを伴う制御パケットの調停を行う。
【0043】
調停コントローラ54は、第1の調停回路56の調停結果と、第2の調停回路58の調停結果とに基づき、出力すべきFIFOユニットを選択する(グラントを与える)。選択されたFIFOユニットは、制御パケットと、データパケットを、別々の線(通信経路)に出力する。図の細線で、制御パケットが出力され、データパケットが存在する場合には、図の太線で、データパケットが出力される。
【0044】
マルチプレクサ52は、選択されたFIFOユニットからの制御パケットを、図の細線L1で、データパケットが存在する場合には、図の太線L2で、バスコントローラ4に出力する。後述するように、この実施の形態では、制御パケットと、データパケットを分離して、異なる経路(ライン)で出力する。又、複数の送信元であるFIFOユニット50−1〜50−Nの制御パケットとデータパケットを別々に調停し、制御パケットの多重化を実現する。このため、通信毎の遅延時間の平均を最小化できる。
【0045】
ここで、送信FIFOユニット50−1〜50−Nが、送信ユニットに対応し、調停回路56,58、調停コントローラ54、マルチプレクサ52とが、分離多重化制御回路に対応する。
【0046】
次に、パケット受信回路6は、制御パケットを第1の線(細線)L3で、データパケットを第2の線L4で受け、データパケットを伴わない制御パケットと、データパケットを伴う制御パケットとそのデータパケットとに分離する分離器60を有する。以降、データパケットを伴わない制御パケットと、データパケットを伴う制御パケットとそのデータパケットとが、別々にタイミング制御される。
【0047】
即ち、データパケットを伴わない制御パケットは、第1のエラーチエック回路61でエラーチエックされ、遅延回路62が、エラーチエックされた制御パケットを遅延させる(例えば、1サイクル)。第1のマルチプレクサ63が、第1のエラーチエック回路61からの制御パケットと、遅延回路62からの遅延させられた制御パケットとのいずれかを選択する。
【0048】
一方、データパケットを伴う制御パケットは、第2のエラーチエック回路64でエラーチエックされ、第2のマルチプレクサ65に出力される。第2のマルチプレクサ65は、第1のマルチプレクサ63からの制御パケットと、第2のエラーチエック回路64からの制御パケット及びデータパケットとのいずれかを選択し、リクエストデコーダ66に出力する。
【0049】
リクエストデコーダ66は、制御パケットのオペコード、IDをデコード識別し、分離器67を介し、オペコード、IDに対応する受信FIFOユニット68−1〜68−Nに出力する。この受信FIFOユニット68−1〜68−Nは、オペコード、IDに対応しているため、リクエスト要求元であるコマンドキュー(Cmd Queue)73と、通知キュー(Notify Queue)72と、ペイロードフェッチユニット(Payload Fetch Unit)74と、ペイロードストアユニッチ(Payload Store Unit)76と、通知キュー(Notify Queue)78と、割込み制御部(Int Cont)とが、バス70を介し、対応する制御パケット、データパケットを取り出すことができる。
【0050】
又、送信FIFOユニット50−1〜50−Nも、オペコード、IDに対応しているため、リクエスト要求元であるコマンドキュー(Cmd Queue)73と、通知キュー(Notify Queue)72と、ペイロードフェッチユニット(Payload Fetch Unit)74と、ペイロードストアユニッチ(Payload Store Unit)76と、通知キュー(Notify Queue)78と、割込み制御部(Int Cont)とが、バス70を介し、制御パケット、データパケットを、対応する送信FIFOユニット50−1〜50−Nにセットすることができる。
【0051】
(パケット送信回路)
図7は、実施の形態のパケット送信方法の説明図、図8は、図7において、制御パケット多重通信の説明図、図9は、調停方法の説明図である。図2で説明したように、制御パケットとデータパケットとの通信経路分離、多重化を行う。ここで、制御通信経路とデータ通信経路とは、物理的に分離されているものの他に、論理的に分離されているものを含む。
【0052】
例えば、PCI(Peripheral Component Interface)-Expressバスのようなシリアルバス(物理的バス)を使用して、仮想チャネルを制御経路とデータ通信経路に分離するものにも適用できる。以降、図では、制御通信経路とデータ通信経路とを、物理的に分離された形態で説明するが、物理的に分離されていないバス形式のものを含む。
【0053】
図7に示すように、装置間4−1と12の通信経路を制御パケットとデータパケットで分離する。すなわち、データを伴わない受信依頼(図3のフェッチリクエスト制御パケット)、受信応答(図6のストアレスポンス制御パケット)は、制御通信経路L1のみを経由して通信する。又、データを伴うデータ送信依頼(図5のストアリクエスト制御パケット及びデータパケット)、データを伴うデータ受信応答(図4のフェッチレスポンス制御パケット及びデータパケット)は、制御通信経路L1とデータ通信経路L2の両方を経由して通信する。図7では、模式的に一方向の通信経路を示しているが、同様の通信経路が復路に対しても適用される。
【0054】
又、図8に示すように、データ300を伴う通信の制御情報(制御パケット)401は、双方の通信経路L1,L2間で同期して、送受信される事を前提とする。一方、制御情報(制御パケット)402,403のみの通信については、図8に示すように、制御通信経路L1において、他の通信のデータ送信期間に織り込んで送信する。これにより、小さな制御パケットを、長いデータ通信をまたずに発行できるようになり、最短ジョブ優先を効果的に実行できる。
【0055】
又、送信側では、通信の枯渇を回避するための制御として、種別階層調停を導入する。図2のパケット送信装置5内の送信ユニット(FIFOユニット)50−1〜送信ユニット(FIFOユニット)Nのそれぞれが、データを伴わない制御通信、またはデータを伴う通信のいずれかを任意に行う。
【0056】
この際、データを伴わない制御通信を行うユニットを、1まとまりの第1のグループ、データを伴う制御通信を行うユニットを、1まとまりの第2のグループを考え、グループごとに個別の調停を行う。図9において、制御通信用調停回路56と、データ通信用調停回路58とで、データを伴わない制御パケットと、データを伴う制御パケットとを個別に調停を行う。ここで、公平な調停回路とは、一般的な調停回路を指しており、調停方式として、ラウンドロビン方式やLRU(Last Recent Used)方式などを、公平性の要求に応じて使い分ければ良い。ポイントとなるのは、データを伴うか否かでグループ分けを行い、グループごとに調停を行う点である。
【0057】
さらに、調停コントローラ54が、これらの調停に勝った2者の間で調停を行い、最終的な送信ユニットを決定する。ここでの調停は、最適な調停であり、必ずしも公平である必要はない。なぜなら、データ通信用の調停回路58で調停されている送信ユニットは、データ通信用経路L2が空くまで、次の送信が行えない。このため、この区間は、制御通信用の調停回路56の勝者を、勝たせても、次のデータ通信の阻害をしないためである。
【0058】
逆に、データ通信経路L2が空いている間は、データ通信用の調停回路58による調停の勝者を、優先的に勝たせても良い。このタイミングは、データ通信経路L2が空いている間だけである。なぜなら、データ通信サイクルで、必ず制御通信を行う空きスロットが確保できるためである。
【0059】
又は、調停コントローラ54は、BUSY制御付きのLRU方式を適用しても良い。それぞれの通信経路L1,L2が使える区間のみを調停の対象とすれば、LRUの制御で、上記のような制御が実現できる。また、データ通信中に、別の制御通信を挟めないような極端に短いパケットのデータ通信を認めている場合には、LRU方式で制御した方が、安全に枯渇状態を回避できる。
【0060】
次に、パケット送信回路を、図10、図11により、より詳細に説明する。図10は、図2のパケット送信回路のブロック図、図11は、図10のパケット送信回路のタイムチャート図である。
【0061】
図10において、図2、図7〜図9で説明したものと同一のものは、同一の記号で示してある。図10に示すように、バス70に並列接続された複数のFIFOユニット50−1〜50−Nは、制御パケット用FIFOメモリ510と、データパケット用FIFOメモリ520と、FIFOコントローラ500とを有する。
【0062】
制御パケット用FIFOメモリ510は、バス70から信号線IC1(IC2〜ICN)を通し、制御パケットを受け、格納する。データパケット用FIFOメモリ520は、バス70から信号線ID1(ID2〜IDN)を通し、データパケットを受け、格納する。FIFOコントローラ500は、FIFOメモリ510,520をFIFO制御する。
【0063】
FIFOコントローラ500は、制御パケット用FIFOメモリの先頭の制御パケットのオペレーションコードを、リクエストとして、調停コントローラ54に通知する。調停コントローラ54は、各FIFOユニット50−1〜50−Nからの制御パケットのオペレーションコードから、図9で説明したデータを伴う制御パケットであるか、データを伴わない制御パケットであるかを識別する。
【0064】
調停コントローラ54は、データを伴う制御パケット(のFIFOユニット番号)を、第2の調停回路58に送る。第2の調停回路58は、データを伴う制御パケットのFIFOユニットの調停を行い、勝者を決定する。又、調停コントローラ54は、データを伴わない制御パケット(のFIFOユニット番号)を、第1の調停回路56に送る。第1の調停回路56は、データを伴わない制御パケットのFIFOユニットの調停を行い、勝者を決定する。
【0065】
そして、調停コントローラ54は、図9で説明したように、データ通信用経路L2が空いていない場合には、第1の調停回路56の勝者を、勝たせ、データ通信経路L2が空いている間は、第2の調停回路58の勝者を、優先的に勝たせる。そして、調停コントローラ54は、その勝者に対応するFIFOユニット50−1〜50−Nのいずれかに、グラント(GRT)を与える。
【0066】
グラントを与えられたFIFOユニット(例えば、50−1)では、FIFOコントローラ500が、バリッド(Valid)信号V1を発生し、且つFIFOメモリ510の先頭の制御パケットを、信号線(制御通信経路)LC1に出力する。又、FIFOコントローラ500は、制御パケットのオペレーションコードから、FIFOメモリ520に対応するデータパケットを持つ場合には、FIFOメモリ520のデータパケットを、信号線(データ通信経路)LD1に出力する。他のFIFOユニット50−2〜50−Nにグラントが与えられた場合も、同様の動作を行う。
【0067】
一方、マルチプレクサ52は、各FIFOユニット50−1〜50−Nの信号線(制御通信経路)LC1〜LCNが接続された第1のマルチプレクサ52−Cと、各FIFOユニット50−1〜50−Nの信号線(データ通信経路)LD1〜LDNが接続された第2のマルチプレクサ52−Dとを有する。
【0068】
第1のマルチプレクサ52−Cは、バリッド信号V1〜VNにより、信号線(制御通信経路)LC1〜LCNのいずれかを選択し、制御通信経路(バス)L1に接続する。従って、第1のマルチプレクサ52−Cから、制御通信経路L1に、選択されたFIFOユニットの制御パケット用FIFOメモリ510の先頭の制御パケットが、出力される。
【0069】
同様に、第2のマルチプレクサ52−Dは、バリッド信号V1〜VNにより、信号線(データ通信経路)LD1〜LDNのいずれかを選択し、データ通信経路(バス)L2に接続する。従って、第2のマルチプレクサ52−Dから、データ通信経路L2に、選択されたFIFOユニットのデータパケット用FIFOメモリ520の先頭のデータパケットが、出力される。
【0070】
調停コントローラ54は、毎サイクルにおいて、この調停、選択動作を繰り返す。このため、図8,9で説明したように、データ通信用経路L2が空いていない場合には、第1の調停回路56の制御パケットの勝者を、勝たせ、データ通信経路L2が空いている間は、第2の調停回路58の勝者を、優先的に勝たせる。このため、小さな制御パケットを、長いデータ通信をまたずに発行できるようになり、最短ジョブ優先を効果的に実行できる。又、種別階層調停により、通信の枯渇を回避することができる。
【0071】
図11は、FIFOユニット50−1に、データD1〜D4を伴う制御パケットC1が先頭に格納されており、FIFOユニット50−2に、データを伴わない制御パケットC2が先頭に格納されている状態での通信制御のシーケンスを示す。
【0072】
この例では、データ通信経路L2が空いているため、先頭サイクルで、調停により、送信FIFOユニット50−1が選択され、制御通信経路L1に、FIFOユニット50−1のFIFOメモリ510の先頭の制御パケットC1が、データ通信経路L2に、FIFOユニット50−1のFIFOメモリ520の先頭のデータパケットD1〜D4が、出力される。
【0073】
次のサイクルでは、送信FIFOユニット50−2が選択され、制御通信経路L1に、FIFOユニット50−2のFIFOメモリ510の先頭の制御パケットC2が、出力される。このように、長いデータ通信を待たずに、短い制御パケットを送信できるため、最短ジョブ優先制御を実行でき、且つ通信の枯渇を防止できる。
【0074】
ここで、装置間の往復通信においては、通信の効率化のため、できる限り通信帯域を使い切ることが求められる。このためには、平均応答時間と、同時通信数について以下の関係式を満たしている必要がある。
【0075】
1通信あたりの通信経路占有時間(S)×同時通信数(N)≧平均往復通信時間(T)
この同時通信数を増やすためには、通信情報を保持する制御テーブルを通信数だけ持つことが必要であり、またエラーによる再送が必要になるような通信経路においては、加えて通信中のデータを再送のために保持し続けるバッファも必要となる。これらは、通信制御回路の中で支配的なハードウェアコストであり、同時通信数に比例して増加する。このため、同時通信数(N)は、なるべく小さく抑える事が重要となる。
【0076】
又、通信経路占有時間(S)は、パケット通信においては、パケットサイズに対応する。Nを小さく抑えた上で、上の関係式を満たすためには、Sを大きくする方法も考えられる。最短ジョブ優先の考え方によれば、通信平均遅延を抑えるためには、小さいパケットを優先的に制御させる必要があり、パケットのサイズを大きくするという事は、このポリシーに反する。即ち、平均往復通信時間Tを小さく保つ制御自体が難しくなってしまう。またバッファサイズ自体を大きくする必要があり、ハードウェアコストを抑えるという意味では、本末転倒である。
【0077】
このため、同じ構成をとるのであれば、なるべく平均往復通信時間Tを小さくする抑える制御を実現する事が、通信帯域を使い切る面でも、ハードウェアコストの面でも望ましい。本実施の形態では、最短ジョブ優先制御を、データ通信経路と制御通信経路を分離して、且つ制御通信経路に制御パケットを多重化することにより、実行するため、往復通信時間の平均を小さくでき、且つハードウェアコストも低減できる。
【0078】
(パケット受信回路)
図12は、図2のパケット受信回路のブロック図、図13は、図12における受信側のタイミング補正が必要であることの説明図、図14は、受信タイミング補正の説明図、図15は、図12の受信動作のタイムチャート図である。
【0079】
図13によりタイミング補正の必要性がある場合を説明する。受信側の回路は、制御とデータとに分割された通信経路L1,L2において、単一の受信回路で受信処理を行えることが望ましい。制御情報(パケット)は、制御通信経路L1において直列化されて送られてくるため、同時に2つのパケットを処理する必要はない。しかし、実際の通信を考えた場合、経路上で通信データが破壊され、通信データを破棄して、送信側からデータを再送する処理が必要となる。
【0080】
この場合、制御情報を含めたデータの完全性は、データ通信経路の通信が全て受信し終わるまで確認する事はできない。即ち、データを伴うパケットの受信処理は、データ受信の末尾のタイミングで行うことが望ましい。図13に示すように、制御パケット401に付随するデータパケット300の通信の最終タイミングに、制御パケット403が届いた場合、制御パケット401、データパケット300と、制御パケット403の受信処理は、一致してしまう。
【0081】
上記のデータパケット300と制御パケット403の受信処理が一致してしまう状況を回避するために、受信側で、一度データを伴う通信と、伴わない通信との分離を行い、再度多重化する回路を設ける。図12及び図14により具体的に説明する。図12において、図2で説明したものと同一のものは、同一の記号で示してある。尚、図12の太線が、データ通信経路(バス)を示し、細線が、制御通信経路を示す。
【0082】
分離器60は、制御パケット401〜405を第1の線(細線)L3で、データパケット300,301を第2の線L4で受け、制御パケットのペレーションコードのデコード識別により、データパケットを伴わない制御パケット402,403,405と、データパケット300,301を伴う制御パケット401,404とそのデータパケット300,301とに分離する。以降、データパケットを伴わない制御パケット402,403,405と、データパケットを伴う制御パケット401,404とそのデータパケット300,301とが、別々にタイミング制御される。
【0083】
データパケットを伴わない制御パケット402,403,405は、第1のエラーチエック回路(データ完全性チエックバッファ)61でエラーチエックされる。例えば、CRC(Cyclic Redundant Code)チエックが好ましい。遅延回路62は、エラーチエックされた制御パケットを遅延する(例えば、1サイクル)。第1のマルチプレクサ63には、第1のエラーチエック回路61からの制御パケットと、遅延回路62からの遅延された制御パケットとが入力される。
【0084】
一方、データパケットを伴う制御パケット401,404とデータパケット300,301は、データパケットの末尾で、第2のエラーチエック回路64でエラーチエックされ、第2のマルチプレクサ65に出力される。例えば、CRC(Cyclic Redundant Code)チエックが好ましい。第2のエラーチエック回路64は、エラーを検出しないと、第1のバリッド信号CV1を出力する。
【0085】
又、第1のマルチプレクサ63は、出力信号がバリッドであると、第2のバリッド信号CV2を出力する。切り替え制御部69は、両バリッド信号CV1,CV2を受け、第1のバリッド信号CV1が有効(オン)であると、第1のマルチプレクサ63に、遅延回路62の出力を選択させ、第1のバリッド信号が無効(オフ)になるまでは、第1のマルチプレクサ63に、遅延回路62の出力を選択させ続ける。第1のバリッド信号が無効(オフ)になった瞬間からは、第1のマルチプレクサ63に、第1のエラーチエック回路61の出力を選択させる。
【0086】
第2のマルチプレクサ65は、第1のバリッド信号CV1が無効(オフ)であると、第1のマルチプレクサ63からの制御パケットを、第1のバリッド信号CV1が有効(オン)であると、第2のエラーチエック回路64からの制御パケット及びデータパケットを選択し、リクエストデコーダ66に出力する。
【0087】
即ち、第1のマルチプレクサ63の入力では、第2のマルチプレクサ65での衝突回避のために、1段のバッファ(遅延回路62)を設けている。受信したパケットはデータを伴うパケット、伴わないパケットにグループ分けされ、それぞれのグループに割り当てられたデータ通信用完全性チェックバッファ(第2のエラーチエック回路64)、制御通信用完全性チェックバッファ(第1のエラーチエック回路61)に入力される。
【0088】
それぞれの完全性チェックは、パケットの末尾で行われ、壊れていたパケットは、ここで破棄される。正しいパケットのみが、チェックバッファ61,64を抜けて出てくる。図13で説明したように、データ通信用と制御通信用の両バッファ61,64から同時に制御パケットが出てくる事がある。
【0089】
この時のために、制御通信側のタイミング調整用のディレイバッファ62を設ける。 データ通信側との競合が発生した場合には、タイミング調整用のバッファ62で、1パケット分遅れたタイミングで、制御通信のパケットを出力する。これにより衝突のタイミングは回避され、データ通信側のパケットが受信処理される。
【0090】
データ通信側は、次の完全性チェックが終わるのは、データ通信完了時になるため、衝突の次のタイミングからは、確実に制御通信側のデータを受信処理に入力する事ができる。また、制御通信用の制御パケットは、データを伴う通信のエラーチエック回路61に重複して送られてくる事がないため、次のデータ側の完全性チェックが終わるまでの間に、必ず1パケット分の隙間が存在する(図14参照)。この隙間を検出した時点で、ディレイバッファ62側のデータから完全性チェックバッファ61側のデータに切り替える事が可能であるため、タイミング調整用のディレイバッファ62は、1スロット分だけ用意すれば良い。
【0091】
図15のタイムチャートにより、一例を説明する。図15は、データ付きパケットの制御パケットCとデータパケットD及びデータなし制御パケットD‘とを、制御パケットは、C1,C2,・・・C10の順で、直列に転送され、制御パケットC1,C7に同期して3サイクルのデータパケットDが転送された例を示す。
【0092】
データ付きパケットの制御パケットCとデータパケットDは、データパケットDの全てを受信完了後に、エラーチエックされるため、受信時から3サイクル後に、エラーチエックされたデータ付きパケットの制御パケットCとデータパケットDが、出力される。一方、データなし制御パケットD‘は、受信時点で、エラーチエックされる。
【0093】
データなし制御パケットD‘は、1サイクル遅延される。前述のデータ付き制御パケットを優先するタイミング補正を行うと、マルチプレクサ65から出力される制御パケットは、データなし制御パケットC2,C3,データ付き制御パケットC1,データなし制御パケットC4,C5、C6,データ付き制御パケットC7,データなし制御パケットC8,C9、C10の順で、直列する。このため、受信側での衝突回避が可能となる。
【0094】
リクエストデコーダ60は、制御パケットのオペコード、IDを識別(デコード)し、分離器67を介し、オペコード、IDに対応する受信FIFOユニット68−1〜68−Nに出力する。
【0095】
(他の実施の形態)
前述の実施の形態では、往復転送の送信要求、受信応答を、ストア、受信要求、送信応答を、フェッチの例で説明したが、他の転送動作にも適用できる。又、パケット送信回路、パケット受信回路をもつ回路を、メモリアクセス実行回路で説明したが、他の用途の転送回路にも適用できる。パケット転送システムも、情報処理システムに限らず、バス間で、転送を行う種々のIC(Integrated Circuit)や、LSI(Large Scale Integrated Circuit)に適用できる。
【0096】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
【0097】
(付記1)
制御情報を転送する場合には、前記制御情報を備える第1の制御パケットを、制御情報にデータが付随する場合には、前記制御情報を備える第2の制御パケットと、前記データを備えるデータパケットとを、通信経路を介し転送するパケット通信制御装置において、複数の送信ユニットと、前記複数の送信ユニットの送信要求を調停し、制御通信経路に、前記複数の送信ユニットの前記第1、第2の制御パケットを順次転送し、且つ前記第2の制御パケットに付随する前記データパケットを、前記第2の制御パケットの前記制御通信経路の転送と同期して、データ通信経路に転送する多重化制御回路とを有することを特徴とするパケット通信制御装置。
【0098】
(付記2)
前記パケット通信制御装置は、前記制御通信経路から前記第1、第2の制御パケットを、前記データ通信経路から前記データパケットを受信するパケット受信回路を更に有し、前記パケット受信回路は、前記制御通信経路からの前記第1の制御パケットのエラーをチエックする第1のエラーチエック回路と、前記第2の制御パケットと前記データパケットとのエラーをチエックする第2のエラーチエック回路と、前記第1のエラーチエック回路でエラーを検出されなかった前記第1の制御パケットと、前記第2のエラーチエック回路でエラーを検出されなかった前記第2の制御パケットのタイミング調整を行うタイミング調整回路とを有することを特徴とする付記1のパケット通信制御装置。
【0099】
(付記3)
前記多重化回路は、前記複数の送信ユニットの送信要求を調停する調停回路と、前記調停回路の調停結果に従い、前記複数の送信ユニットの出力を選択し、前記制御通信経路に、前記複数の送信ユニットの前記第1、第2の制御パケットを順次転送し、且つ前記第2の制御パケットに付随する前記データパケットを、前記第2の制御パケットの前記制御通信経路の転送と同期して、前記データ通信経路に転送するマルチプレクサとを有することを特徴とする付記1のパケット通信制御装置。
【0100】
(付記4)
前記調停回路は、前記複数の送信ユニットの前記第1の制御パケットの調停を行う第1の調停回路と、前記複数の送信ユニットの前記第2の制御パケットの調停を行う第2の調停回路と、前記第1の調停回路の調停結果と前記第2の調停回路の調停結果とに従い、前記転送すべき前記送信ユニットを選択する調停制御回路とを有することを特徴とする付記1のパケット通信制御装置。
【0101】
(付記5)
前記調停制御回路は、前記データ通信経路が空いている場合には、前記第2の調停回路の調停結果に従い、前記転送すべき前記送信ユニットを選択し、前記データ通信経路が空いていない場合には、前記第1の調停回路の調停結果に従い、前記転送すべき前記送信ユニットを選択することを特徴とする付記4のパケット通信制御装置。
【0102】
(付記6)
前記第1の制御パケットが、データ受信要求であり、前記第2の制御パケットが、データ送信要求であることを特徴とする付記1のパケット通信制御装置。
【0103】
(付記7)
前記調停制御回路は、前記複数の送信ユニットからの送信要求から、前記第1の制御パケットと前記第2の制御パケットのいずれであるかを判定し、前記第1の調停回路と前記第2の調停回路との調停対象を選択することを特徴とする付記4のパケット通信制御装置。
【0104】
(付記8)
前記複数の送信ユニットの各々が、送信要求元から前記第1の制御パケット、前記第2の制御パケット及びデータパケットを受け、格納するFIFO(Fast In Fast Out)ユニットを有することを特徴とする付記1のパケット通信制御装置。
【0105】
(付記9)
前記タイミング調整回路は、前記第1のエラーチエック回路でエラーを検出されなかった前記第1の制御パケットを遅延する遅延回路と、前記第2のエラーチエック回路でエラーを検出されなかった前記第2の制御パケットのタイミングにより、前記遅延された第1の制御パケットと遅延されていない前記制御パケットのいずれかを選択するマルチプレクサとを有することを特徴とする付記2のパケット通信制御装置。
【0106】
(付記10)
前記受信回路は、更に、前記制御通信経路から前記第1、第2の制御パケットを、前記データ通信経路から前記データパケットを受信し、前記第1の制御パケットを、前記第1のエラーチエック回路へ、前記第2の制御パケットと前記データパケットとを、前記第2のエラーチエック回路へ分離する分離回路とを有することを特徴とする付記2のパケット通信制御装置。
【0107】
(付記11)
メモリのアクセスを行うメモリアクセスコントローラに、制御情報を転送する場合には、前記制御情報を備える第1の制御パケットを、制御情報にデータが付随する場合には、前記制御情報を備える第2の制御パケットと、前記データを備えるデータパケットとを、通信経路を介し転送して、前記メモリアクセスコントローラにメモリアクセスを依頼するメモリアクセス制御装置において、複数の送信ユニットと、前記複数の送信ユニットの送信要求を調停し、制御通信経路に、前記複数の送信ユニットの前記第1、第2の制御パケットを順次転送し、且つ前記第2の制御パケットに付随する前記データパケットを、前記第2の制御パケットの前記制御通信経路の転送と同期して、データ通信経路に転送する多重化制御回路とを有することを特徴とするメモリアクセス制御装置。
【0108】
(付記12)
前記メモリアクセス制御装置は、前記制御通信経路から前記第1、第2の制御パケットを、前記データ通信経路から前記データパケットを受信するパケット受信回路を更に有し、前記パケット受信回路は、前記制御通信経路からの前記第1の制御パケットのエラーをチエックする第1のエラーチエック回路と、前記第2の制御パケットと前記データパケットとのエラーをチエックする第2のエラーチエック回路と、前記第1のエラーチエック回路でエラーを検出されなかった前記第1の制御パケットと、前記第2のエラーチエック回路でエラーを検出されなかった前記第2の制御パケットのタイミング調整を行うタイミング調整回路とを有することを特徴とする付記11のメモリアクセス制御装置。
【0109】
(付記13)
前記多重化回路は、前記複数の送信ユニットの送信要求を調停する調停回路と、前記調停回路の調停結果に従い、前記複数の送信ユニットの出力を選択し、前記制御通信経路に、前記複数の送信ユニットの前記第1、第2の制御パケットを順次転送し、且つ前記第2の制御パケットに付随する前記データパケットを、前記第2の制御パケットの前記制御通信経路の転送と同期して、前記データ通信経路に転送するマルチプレクサとを有することを特徴とする付記11のメモリアクセス制御装置。
【0110】
(付記14)
前記調停回路は、前記複数の送信ユニットの前記第1の制御パケットの調停を行う第1の調停回路と、前記複数の送信ユニットの前記第2の制御パケットの調停を行う第2の調停回路と、前記第1の調停回路の調停結果と前記第2の調停回路の調停結果とに従い、前記転送すべき前記送信ユニットを選択する調停制御回路とを有することを特徴とする付記11のメモリアクセス制御装置。
【0111】
(付記15)
前記調停制御回路は、前記データ通信経路が空いている場合には、前記第2の調停回路の調停結果に従い、前記転送すべき前記送信ユニットを選択し、前記データ通信経路が空いていない場合には、前記第1の調停回路の調停結果に従い、前記転送すべき前記送信ユニットを選択することを特徴とする付記14のメモリアクセス制御装置。
【0112】
(付記16)
前記タイミング調整回路は、前記第1のエラーチエック回路でエラーを検出されなかった前記第1の制御パケットを遅延する遅延回路と、前記第2のエラーチエック回路でエラーを検出されなかった前記第2の制御パケットのタイミングにより、前記遅延された第1の制御パケットと遅延されていない前記制御パケットのいずれかを選択するマルチプレクサとを有することを特徴とする付記12のメモリアクセス制御装置。
【0113】
(付記17)
前記受信回路は、更に、前記制御通信経路から前記第1、第2の制御パケットを、前記データ通信経路から前記データパケットを受信し、前記第1の制御パケットを、前記第1のエラーチエック回路へ、前記第2の制御パケットと前記データパケットとを、前記第2のエラーチエック回路へ分離する分離回路とを有することを特徴とする付記12のメモリアクセス制御装置。
【0114】
(付記18)
演算処理装置と、メモリと、メモリのアクセスを行うメモリアクセスコントローラと、前記演算処理装置が実行するコマンドにより、前記メモリコントローラに、制御情報を転送する場合には、前記制御情報を備える第1の制御パケットを、制御情報にデータが付随する場合には、前記制御情報を備える第2の制御パケットと、前記データを備えるデータパケットとを、通信経路を介し転送して、前記メモリアクセスコントローラにメモリアクセスを依頼するメモリアクセス制御装置とを有し、前記メモリアクセス実行装置は、複数の送信ユニットと、前記複数の送信ユニットの送信要求を調停し、制御通信経路に、前記複数の送信ユニットの前記第1、第2の制御パケットを順次転送し、且つ前記第2の制御パケットに付随する前記データパケットを、前記第2の制御パケットの前記制御通信経路の転送と同期して、データ通信経路に転送する多重化制御回路とを有することを特徴とする情報処理システム。
【0115】
(付記19)
前記メモリアクセス実行回路は、前記制御通信経路から前記第1、第2の制御パケットを、前記データ通信経路から前記データパケットを受信するパケット受信回路を更に有し、前記パケット受信回路は、前記制御通信経路からの前記第1の制御パケットのエラーをチエックする第1のエラーチエック回路と、前記第2の制御パケットと前記データパケットとのエラーをチエックする第2のエラーチエック回路と、前記第1のエラーチエック回路でエラーを検出されなかった前記第1の制御パケットと、前記第2のエラーチエック回路でエラーを検出されなかった前記第2の制御パケットのタイミング調整を行うタイミング調整回路とを有することを特徴とする付記18の情報処理システム。
【0116】
(付記20)
前記多重化回路は、前記複数の送信ユニットの送信要求を調停する調停回路と、前記調停回路の調停結果に従い、前記複数の送信ユニットの出力を選択し、前記制御通信経路に、前記複数の送信ユニットの前記第1、第2の制御パケットを順次転送し、且つ前記第2の制御パケットに付随する前記データパケットを、前記第2の制御パケットの前記制御通信経路の転送と同期して、前記データ通信経路に転送するマルチプレクサとを有することを特徴とする付記18の情報処理システム。
【産業上の利用可能性】
【0117】
データ通信経路と制御通信経路を分離して、且つ制御通信経路に制御パケットを多重化することにより、最短ジョブ優先制御を実行するため、往復通信時間の平均を小さくでき、且つハードウェアコストも低減できる。又、データパケットを付随する制御パケットは、データパケットと同期して、異なる経路で転送するため、受信処理の複雑さを回避できる。
【符号の説明】
【0118】
1 CPUチップ
2 メインメモリ
3 相互結合網チップ
4 バスコントローラ
4−1〜4−N メモリアクセス実行回路
5 パケット送信回路
6 パケット受信回路
7 転送制御ユニット
8 ネットワークスイッチ
10 CPUブロック
12 DMAC
14 メインメモリアクセスコントローラ
50−1〜50−N 送信FIFOユニット
52 マルチプレクサ
54 調停コントローラ
56 第1の調停回路
58 第2の調停回路
60、67 分離器
61,64 エラーチエック回路
62 遅延回路
63、65 マルチプレクサ
66 リクエストデコーダ
68−1〜68−N 受信FIFOユニット

【特許請求の範囲】
【請求項1】
制御情報を転送する場合には、前記制御情報を備える第1の制御パケットを、前記制御情報にデータが付随する場合には、前記制御情報を備える第2の制御パケットと、前記データを備えるデータパケットとを、通信経路を介し転送するパケット通信制御装置において、
複数の送信ユニットと、
前記複数の送信ユニットの送信要求を調停し、制御通信経路に、前記複数の送信ユニットの前記第1、第2の制御パケットを順次転送し、且つ前記第2の制御パケットに付随する前記データパケットを、前記第2の制御パケットの前記制御通信経路の転送と同期して、データ通信経路に転送する多重化制御回路とを有する
ことを特徴とするパケット通信制御装置。
【請求項2】
前記パケット通信制御装置は、
前記制御通信経路から前記第1、第2の制御パケットを、前記データ通信経路から前記データパケットを受信するパケット受信回路を更に有し、
前記パケット受信回路は、
前記制御通信経路からの前記第1の制御パケットのエラーをチエックする第1のエラーチエック回路と、
前記第2の制御パケットと前記データパケットとのエラーをチエックする第2のエラーチエック回路と、
前記第1のエラーチエック回路でエラーを検出されなかった前記第1の制御パケットと、前記第2のエラーチエック回路でエラーを検出されなかった前記第2の制御パケットのタイミング調整を行うタイミング調整回路とを有する
ことを特徴とする請求項1のパケット通信制御装置
【請求項3】
メモリのアクセスを行うメモリアクセスコントローラに、制御情報を転送する場合には、前記制御情報を備える第1の制御パケットを、制御情報にデータが付随する場合には、前記制御情報を備える第2の制御パケットと、前記データを備えるデータパケットとを、通信経路を介し転送して、前記メモリアクセスコントローラにメモリアクセスを依頼するメモリアクセス制御装置において、
複数の送信ユニットと、
前記複数の送信ユニットの送信要求を調停し、制御通信経路に、前記複数の送信ユニットの前記第1、第2の制御パケットを順次転送し、且つ前記第2の制御パケットに付随する前記データパケットを、前記第2の制御パケットの前記制御通信経路の転送と同期して、データ通信経路に転送する多重化制御回路とを有する
ことを特徴とするメモリアクセス制御装置。
【請求項4】
前記メモリアクセス制御装置は、
前記制御通信経路から前記第1、第2の制御パケットを、前記データ通信経路から前記データパケットを受信するパケット受信回路を更に有し、
前記パケット受信回路は、
前記制御通信経路からの前記第1の制御パケットのエラーをチエックする第1のエラーチエック回路と、
前記第2の制御パケットと前記データパケットとのエラーをチエックする第2のエラーチエック回路と、
前記第1のエラーチエック回路でエラーを検出されなかった前記第1の制御パケットと、前記第2のエラーチエック回路でエラーを検出されなかった前記第2の制御パケットのタイミング調整を行うタイミング調整回路とを有する
ことを特徴とする請求項3のメモリアクセス制御装置。
【請求項5】
演算処理装置と、
メモリと、
メモリのアクセスを行うメモリアクセスコントローラと、
前記演算処理装置が実行するコマンドにより、前記メモリコントローラに、制御情報を転送する場合には、前記制御情報を備える第1の制御パケットを、制御情報にデータが付随する場合には、前記制御情報を備える第2の制御パケットと、前記データを備えるデータパケットとを、通信経路を介し転送して、前記メモリアクセスコントローラにメモリアクセスを依頼するメモリアクセス制御装置とを有し、
前記メモリアクセス実行装置は、
複数の送信ユニットと、
前記複数の送信ユニットの送信要求を調停し、制御通信経路に、前記複数の送信ユニットの前記第1、第2の制御パケットを順次転送し、且つ前記第2の制御パケットに付随する前記データパケットを、前記第2の制御パケットの前記制御通信経路の転送と同期して、データ通信経路に転送する多重化制御回路とを有する
ことを特徴とする情報処理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2011−135433(P2011−135433A)
【公開日】平成23年7月7日(2011.7.7)
【国際特許分類】
【出願番号】特願2009−294281(P2009−294281)
【出願日】平成21年12月25日(2009.12.25)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】