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

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

Info

Publication number
JP2011135433A
JP2011135433A JP2009294281A JP2009294281A JP2011135433A JP 2011135433 A JP2011135433 A JP 2011135433A JP 2009294281 A JP2009294281 A JP 2009294281A JP 2009294281 A JP2009294281 A JP 2009294281A JP 2011135433 A JP2011135433 A JP 2011135433A
Authority
JP
Japan
Prior art keywords
control
packet
data
circuit
communication path
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.)
Granted
Application number
JP2009294281A
Other languages
English (en)
Other versions
JP5333200B2 (ja
Inventor
Takashi Toyoshima
隆志 豊島
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 JP2009294281A priority Critical patent/JP5333200B2/ja
Priority to US12/967,597 priority patent/US8472474B2/en
Priority to EP10195977.3A priority patent/EP2339794B1/en
Publication of JP2011135433A publication Critical patent/JP2011135433A/ja
Application granted granted Critical
Publication of JP5333200B2 publication Critical patent/JP5333200B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0682Clock or time synchronisation in a network by delay compensation, e.g. by compensation of propagation delay or variations thereof, by ranging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0685Clock or time synchronisation in a node; Intranode synchronisation
    • H04J3/0697Synchronisation in a packet node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

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

Claims (5)

  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の制御パケットの前記制御通信経路の転送と同期して、データ通信経路に転送する多重化制御回路とを有する
    ことを特徴とする情報処理システム。
JP2009294281A 2009-12-25 2009-12-25 パケット通信制御装置、メモリアクセス制御装置及び情報処理システム Active JP5333200B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009294281A JP5333200B2 (ja) 2009-12-25 2009-12-25 パケット通信制御装置、メモリアクセス制御装置及び情報処理システム
US12/967,597 US8472474B2 (en) 2009-12-25 2010-12-14 Packet communication control device, a memory access control device, and an information-processing system
EP10195977.3A EP2339794B1 (en) 2009-12-25 2010-12-20 A packet communication control device, a memory access control device, and an information-processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009294281A JP5333200B2 (ja) 2009-12-25 2009-12-25 パケット通信制御装置、メモリアクセス制御装置及び情報処理システム

Publications (2)

Publication Number Publication Date
JP2011135433A true JP2011135433A (ja) 2011-07-07
JP5333200B2 JP5333200B2 (ja) 2013-11-06

Family

ID=43921037

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009294281A Active JP5333200B2 (ja) 2009-12-25 2009-12-25 パケット通信制御装置、メモリアクセス制御装置及び情報処理システム

Country Status (3)

Country Link
US (1) US8472474B2 (ja)
EP (1) EP2339794B1 (ja)
JP (1) JP5333200B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130101653A (ko) * 2012-02-23 2013-09-16 삼성전자주식회사 단말 장치 및 이를 이용한 실시간 어플리케이션 실행 방법
JP2015537324A (ja) * 2012-12-13 2015-12-24 コーヒレント・ロジックス・インコーポレーテッド 改善された二次相互接続ネットワークを備えたマルチプロセッサシステム
WO2020247206A1 (en) * 2019-06-05 2020-12-10 Invensas Corporation Network on layer enabled architectures

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012209880A (ja) * 2011-03-30 2012-10-25 Sony Corp 通信装置及び通信システム
US10681096B2 (en) * 2011-08-18 2020-06-09 Comcast Cable Communications, Llc Multicasting content
US9860841B2 (en) * 2015-08-20 2018-01-02 Apple Inc. Communications fabric with split paths for control and data packets
US10311665B2 (en) * 2017-10-09 2019-06-04 Gentex Corporation System and method for training a transmitter
US11030102B2 (en) 2018-09-07 2021-06-08 Apple Inc. Reducing memory cache control command hops on a fabric
US11442875B2 (en) 2020-05-18 2022-09-13 Integrated Silicon Solution, (Cayman) Inc. Arbitration control for pseudostatic random access memory device
TWI796095B (zh) * 2021-03-24 2023-03-11 開曼群島商芯成半導體(開曼)有限公司 偽靜態隨機存取記憶體裝置之仲裁控制
KR20220139578A (ko) 2021-04-08 2022-10-17 한국전자통신연구원 메모리 액세스를 위한 직렬 통신 장치 및 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08320839A (ja) * 1995-05-24 1996-12-03 Internatl Business Mach Corp <Ibm> 分散型データ処理システム
JPH09181774A (ja) * 1995-12-23 1997-07-11 Nec Corp 光スイッチ装置及び光スイッチ制御方式
JP2001024678A (ja) * 1999-06-15 2001-01-26 Nortel Networks Ltd データ伝送ネットワーク中で輻輳を予測して制御する方法およびノード
US6320859B1 (en) * 1997-10-31 2001-11-20 Nortel Networks Limited Early availability of forwarding control information

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5905725A (en) * 1996-12-16 1999-05-18 Juniper Networks High speed switching device
US6233242B1 (en) * 1996-12-30 2001-05-15 Compaq Computer Corporation Network switch with shared memory system
US6738384B1 (en) * 1997-09-17 2004-05-18 Sony Corporation Technique for optimizing cut-through for broadcast and multi-cast packets in a multi-port bridge for a local area network
US6345345B1 (en) * 1999-01-26 2002-02-05 Advanced Micro Devices, Inc. Data communications device and associated method for arbitrating access using dynamically programmable arbitration scheme and limits on data transfers
JP3387464B2 (ja) * 1999-11-25 2003-03-17 日本電気株式会社 通信制御システムとその制御方法
JP2002182875A (ja) 2000-12-19 2002-06-28 Dainippon Screen Mfg Co Ltd 印刷制御装置、印刷制御方法、および記録媒体
JP4213517B2 (ja) * 2003-02-28 2009-01-21 富士通株式会社 パケット処理システム
JP4029790B2 (ja) * 2003-07-09 2008-01-09 ブラザー工業株式会社 パケット通信制御装置及びパケット通信制御方法
US7957379B2 (en) * 2004-10-19 2011-06-07 Nvidia Corporation System and method for processing RX packets in high speed network applications using an RX FIFO buffer
US7814280B2 (en) 2005-01-12 2010-10-12 Fulcrum Microsystems Inc. Shared-memory switch fabric architecture
JP2008245011A (ja) 2007-03-28 2008-10-09 Advanced Telecommunication Research Institute International 無線装置およびそれを備えた無線ネットワーク
US7779189B2 (en) * 2008-02-21 2010-08-17 International Business Machines Corporation Method, system, and computer program product for pipeline arbitration

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08320839A (ja) * 1995-05-24 1996-12-03 Internatl Business Mach Corp <Ibm> 分散型データ処理システム
JPH09181774A (ja) * 1995-12-23 1997-07-11 Nec Corp 光スイッチ装置及び光スイッチ制御方式
US6320859B1 (en) * 1997-10-31 2001-11-20 Nortel Networks Limited Early availability of forwarding control information
JP2001024678A (ja) * 1999-06-15 2001-01-26 Nortel Networks Ltd データ伝送ネットワーク中で輻輳を予測して制御する方法およびノード

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130101653A (ko) * 2012-02-23 2013-09-16 삼성전자주식회사 단말 장치 및 이를 이용한 실시간 어플리케이션 실행 방법
KR101962447B1 (ko) * 2012-02-23 2019-03-27 삼성전자주식회사 단말 장치 및 이를 이용한 실시간 어플리케이션 실행 방법
JP2015537324A (ja) * 2012-12-13 2015-12-24 コーヒレント・ロジックス・インコーポレーテッド 改善された二次相互接続ネットワークを備えたマルチプロセッサシステム
JP2018125044A (ja) * 2012-12-13 2018-08-09 コーヒレント・ロジックス・インコーポレーテッド 改善された二次相互接続ネットワークを備えたマルチプロセッサシステム
WO2020247206A1 (en) * 2019-06-05 2020-12-10 Invensas Corporation Network on layer enabled architectures
US11264361B2 (en) 2019-06-05 2022-03-01 Invensas Corporation Network on layer enabled architectures
US11270979B2 (en) 2019-06-05 2022-03-08 Invensas Corporation Symbiotic network on layers
US11824046B2 (en) 2019-06-05 2023-11-21 Invensas Llc Symbiotic network on layers

Also Published As

Publication number Publication date
EP2339794A2 (en) 2011-06-29
US20110158247A1 (en) 2011-06-30
US8472474B2 (en) 2013-06-25
JP5333200B2 (ja) 2013-11-06
EP2339794B1 (en) 2017-04-26
EP2339794A3 (en) 2011-12-07

Similar Documents

Publication Publication Date Title
JP5333200B2 (ja) パケット通信制御装置、メモリアクセス制御装置及び情報処理システム
US8285912B2 (en) Communication infrastructure for a data processing apparatus and a method of operation of such a communication infrastructure
JP2518986B2 (ja) 汎用アダプタ
JP4638216B2 (ja) オンチップバス
CN105320632B (zh) 一种自主仲裁的高速差分总线实现方法
EP2975530B1 (en) Requests and data handling in a bus architecture
JP5895153B2 (ja) インタフェース装置およびバスシステム
WO2000029961A9 (en) Communications system and method with multilevel connection identification
JPH04230557A (ja) 直接メモリアクセス・コントローラ
EP1442376B1 (en) Tagging and arbitration mechanism in an input/output node of a computer system
JP3492852B2 (ja) ネットワークメッセージルート指定装置のための待ち時間短縮及びルート裁定方法
KR20020008955A (ko) 버스 시스템 및 그 실행 순서 조정방법
US6681274B2 (en) Virtual channel buffer bypass for an I/O node of a computer system
EP1444587B1 (en) Computer system i/o node
KR101495811B1 (ko) 고속의 패킷 라우팅 시스템 장치 및 방법
JP5293516B2 (ja) データ転送装置、データ転送制御方法、データ転送制御プログラム及び記録媒体
US6820151B2 (en) Starvation avoidance mechanism for an I/O node of a computer system
US6839784B1 (en) Control unit of an I/O node for a computer system including a plurality of scheduler units each including a plurality of buffers each corresponding to a respective virtual channel
GB2488681A (en) A method and bus architecture for sending data in a bus architecture from a slave device to master pathways via a bus
KR20000018867A (ko) 교환기에서 버스 중재 시스템
GB2488680A (en) A method/architecture for processing requests in a bus architecture that includes at least two master devices an at least one slave device
JPH1115779A (ja) バス制御システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120910

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130624

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: 20130702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130715

R150 Certificate of patent or registration of utility model

Ref document number: 5333200

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150