相互結合網制御システム、相互結合網制御方法
【課題】情報間の順序を保証しつつ相互結合網の性能低下を抑制する相互結合網制御システム及び方法を提供すること。
【解決手段】本発明にかかる相互結合網制御システムは、相互結合網2と、順序保証バッファ3と、順序情報制御部4と、読出制御部5とを有する。相互結合網2は、複数の入力ポートと複数の出力ポートとを有し、入力ポートから入力された情報を、情報の出力先である出力ポートに出力する。順序情報制御部4は、入力ポートに入力される情報に対し、情報の出力先である出力ポート毎に、情報の読出順序を定める順序情報を付与する。順序保証バッファ3は、出力ポートから出力された情報を蓄積する。読出制御部5は、順序保証バッファ3に蓄積された情報を、順序情報により定められる順序にしたがって読出す。
【解決手段】本発明にかかる相互結合網制御システムは、相互結合網2と、順序保証バッファ3と、順序情報制御部4と、読出制御部5とを有する。相互結合網2は、複数の入力ポートと複数の出力ポートとを有し、入力ポートから入力された情報を、情報の出力先である出力ポートに出力する。順序情報制御部4は、入力ポートに入力される情報に対し、情報の出力先である出力ポート毎に、情報の読出順序を定める順序情報を付与する。順序保証バッファ3は、出力ポートから出力された情報を蓄積する。読出制御部5は、順序保証バッファ3に蓄積された情報を、順序情報により定められる順序にしたがって読出す。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は相互結合網の制御システム及び方法に関するものであり、特に、順序保証が必要な情報を相互結合網の性能低下を抑制しつつ転送する方法に関する。
【背景技術】
【0002】
近年の情報処理システムにおいては、複数の入出力を相互に結合するため、相互結合網が用いられることが多くなっている。例えば、リクエスタと複数のメモリポートとを結び、リクエストを転送するクロスバは典型的な相互結合網である。かかるクロスバを含む情報処理システムの一般的な構成を図6に示す。
【0003】
図6においてリクエスタ6より発行されたリクエストは、キュー1に入力される。ここで、キュー1は、具体的にはFIFOすなわち先入れ先出し方式のバッファである。リクエスタ6が発行したリクエストは順次キュー1に蓄えられ、必要に応じ調停制御部7により調停されたのち、クロスバ2に入力される。クロスバ2は複数の入力ポートと複数の出力ポートとを接続する結合網である。図中では、入力ポートを16、出力ポートを16持つ、16x16のクロスバを例示している。クロスバ2から出力された情報は、メモリポート8に格納される。図6に示す構成は、典型的には、1つのロード/ストア命令で複数の要素のメモリアクセスを実施する、ベクトルアーキテクチャにおいて採用されている。
【0004】
かかる構成におけるキュー1に、リクエストが蓄積された状態を図7に示す。キュー1はクロスバ2の各入力ポートに対応して備えられており、リクエスタ6から発行されて各入力ポートへ入力を待つリクエストを蓄積している。この例では、入力ポートP0向けのキューには、要素(リクエスト)e000,e016,…,e240が蓄積されている。同様に入力ポートP15向けのキューには、要素e015,e031,…,e255が蓄積されている。
【0005】
この状態のキュー1から、リクエストがクロスバ2を通過するまでの様子を二例示す。一例目は、同一ライン内の複数の要素の行き先がすべて異なる出力ポートである場合である。ここで、同一ラインとは、同時に調停に入る16要素のことをいう。この場合に、要素がクロスバ2から出力されるタイミングを図8に示す。入力ポートにおける同一ラインのすべての要素(e000,e001,…,e015)の行き先がすべて別の出力ポートだった場合には、行き先である出力ポートが競合しないため、全16要素はクロスバ2を同じタイミングで通過でき、1Tのサイクルで出力される。全256要素は、16Tのサイクルで出力される。
【0006】
二例目は、同一ライン内の複数の要素の行き先が同じ出力ポートである場合である。例えば、入力ポートにおける同一ラインの要素(e000,e001,…,e015)のすべてが同じ行き先である場合を想定する。この場合のクロスバ2の出力の様子を図9に示す。ここでは、1ライン目(e000〜e015)の行き先がすべて出力ポートP0、2ライン目(e016〜e031)の行き先がすべて出力ポートP1となっており、以下同様に繰り返して、16ライン目(e240〜e255)の行き先がすべて出力ポートP15となる。このように1ラインの全16要素がすべて同じ行き先である場合、出力ポートの競合が発生する。競合する要素は、クロスバ2を同時に通過することができない。このとき、調停制御部7は、競合している要素を、1サイクルにつき1つずつクロスバ2に入力させる調停制御を行う。競合に負けた要素はキュー1で待たされ、次のサイクルで入力されるか、再び競合する場合は再度調停を受けることになる。この場合、全256要素がクロスバ2を通過するには31Tのサイクルを要する。
【0007】
次に、命令が連続するケースにおける問題点を図10、図11、図12を用いて説明する。図10、図11、図12において、最初のe000〜e255までが命令1を構成する要素であり、次のe000〜e255までが命令2を構成する要素と定義する。すなわち、256の要素からなる命令を連続して転送する場面を想定する。
【0008】
まず、同一ライン内の要素の行き先がすべて別の出力ポートである命令が2回続いた状態を、図10に示す(なお、説明の便宜上、命令1は要素e000,e016,…,e240を出力ポートP0からルーティングし、命令2は要素e000,e016,…,e240を出力ポートP15からルーティングする例を記載している)。同一ライン内の要素の行き先がすべて別の場合は、命令1、2ともに競合が発生することなくクロスバ2を通過するので、転送性能の低下は発生しない。
【0009】
次に、同一ライン内の要素の行き先がすべて同じ出力ポートである命令が2回続いた状態を、図11に示す。同一ライン内のすべての要素の行き先が同じ場合は、先頭ラインで競合が発生し、ラインのすべての要素が流れるまでに15Tを要する。256要素のトータルでは47Tのサイクルを要することになる。なお、この例では命令1と命令2の間に隙間は空いていない。
【0010】
しかしながら、仮に入力ポートP15に何らかの遅延があった場合には、命令1のe255のクロスバ2への発行が遅れ、命令2のe000の発行が先に行なわれることがある。すると、図12に示すような命令1の要素と命令2の要素の到着順序の逆転現象が発生する。命令1と命令2の間で要素の到着順序の保証が必要なければ、この制御方式で問題はないが、命令1と命令2の間で要素の到着順序の保証が必要な場合、すなわち、命令1の要素が、必ず命令2の要素よりも先に出力ポートに到着しなければならない場合は問題となる。
【0011】
このような順序保証にかかる問題を回避するための手段として、ATM交換機にかかるものではあるが、交換網を通過するパケットの順序保証を行うための構成が提案されている(特許文献1)。しかしながら、かかる構成は、クロスバのように複数の出力ポートをもつ結合網において、個々の出力ポート毎に順序保証を行うものではない。また、特許文献2には、パケットをシーケンシャルに転送するための構成が開示されているが、かかる構成は連続するメモリバンクへ効率よくデータを格納することを目的とするものであり、クロスバにおけるような複数の経路により転送されるデータを、複数の出力先毎に順序保証するという目的に適するものではない。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開平5−083283号公報
【特許文献2】特開2009−077453号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
ここで、本発明が解決しようとする課題を説明するために、図13に示す制御方法を想定する。この制御方法をホールドオール制御と定義する。ホールドオール制御では、命令1のすべての要素がクロスバを通過した後に、命令2の先頭要素のクロスバへの転送が開始される。このようにすれば、命令間で要素の到着順の逆転現象は発生しなくなり、命令間での順序保証を保つことができる。ただし、ホールドオール制御では、命令2の転送は、命令1のすべての要素の転送が終了するのを待ってから開始されるため、命令1と命令2の間で15T間のペナルティが発生する。これは、クロスバの性能を大きく低下させる要因となる。
【0014】
このように、相互結合網を流れる情報、例えば命令やデータ間での到着順序の保証が必要な場合、先行の情報が流れるまで後続の情報を一時ホールドする制御を行うと、相互結合網の利用効率が著しく低下するという問題があった。
【0015】
本発明は、かかる問題を解決するためになされたものであり、情報間の順序を保証しつつ相互結合網の性能低下を抑制する相互結合網制御システム及び方法を提供することを目的とする。
【課題を解決するための手段】
【0016】
本発明にかかる相互結合網制御システムは、複数の入力ポートと複数の出力ポートとを有し該入力ポートから入力された情報を該情報の出力先である出力ポートに出力する相互結合網と、該入力ポートに入力される情報に対し、該情報の出力先である出力ポート毎に、該情報の読出順序を定める順序情報を付与する順序情報制御部と、該出力ポート毎に設けられ、該出力ポートから出力された情報を蓄積する順序保証バッファと、該順序保証バッファに蓄積された情報を、該順序情報により定められる順序にしたがって読出す読出制御部とを有するものである。
【0017】
本発明にかかる相互結合網制御方法は、相互結合網に入力される情報に対し、該情報の出力先毎に、該情報の読出順序を定める順序情報を付与するステップと、該出力先から出力された該情報を順序保証バッファに蓄積するステップと、該順序保証バッファに蓄積された情報を、該順序情報により定められる順序にしたがって読出すステップとを有するものである。
【発明の効果】
【0018】
本発明により、情報間の順序を保証しつつ相互結合網の性能低下を抑制する相互結合網制御方法を提供することができる。
【図面の簡単な説明】
【0019】
【図1】本発明の実施の形態1の構成図である。
【図2】本発明におけるキュー及び順序保証バッファの状態を示す図である。
【図3】本発明の実施の形態2の構成図である。
【図4】本発明の実施の形態2における順序保証バッファの構成例を示す図である。
【図5】本発明の実施の形態2のシーケンス図である。
【図6】背景技術の構成を示す図である。
【図7】背景技術におけるキューの状態を示す図である。
【図8】背景技術におけるキューの状態を示す図である。
【図9】背景技術におけるキューの状態を示す図である。
【図10】背景技術におけるキューの状態を示す図である。
【図11】背景技術におけるキューの状態を示す図である。
【図12】背景技術におけるキューの状態を示す図である。
【図13】背景技術におけるキューの状態を示す図である。
【発明を実施するための形態】
【0020】
発明の実施の形態1
はじめに、図1を用いて、本発明の実施の形態1にかかる相互結合網制御システムの構成を説明する。101〜116はキューである。301〜316は順序保証バッファ、4は順序情報制御部、5は読出制御部である。
【0021】
キュー101〜116は、クロスバ2に入力すべきリクエストを蓄積しておく機能を有する。典型的には、FIFOすなわち先入れ先出し方式のバッファである。本実施形態では、クロスバ2の各入力ポートに対しそれぞれFIFOを設けた例を用いているが、入力ポート毎にキューを管理できるものであればどのような構成でもよい。
【0022】
クロスバ2は、複数の入力ポートと複数の出力ポートを接続する相互結合網である。クロスバ2は、任意の入力ポートから入力された情報(リクエスト又はデータ)を調停制御部7の調停にしたがって任意の出力ポートに出力する。本実施形態では、入力16ポート、出力16ポート、すなわち16x16の構成を有するクロスバである。また、入力ポート側には各入力ポートに対応してFIFOが、出力ポート側には各出力ポートに対応して順序保証バッファ301〜316がそれぞれ接続されている。
【0023】
順序保証バッファ301〜316は、リクエスト間の順序保証(シリアライズ)を行なう機能を有する。典型的には、SRAMで構成されるバッファである。本実施形態では、クロスバ2の各出力ポートに対しそれぞれ順序保証バッファを設けた例を用いているが、出力ポート毎にリクエストを管理できるものであればどのような構成でもよい。
【0024】
順序情報制御部4は、リクエストをキュー101〜116に投入する前に、リクエストに順序情報を付与する。順序情報は、例えば昇順のシーケンス番号であり、リクエストの出力先であるクロスバ2の出力ポート毎に付与される。該順序情報はクロスバ2の特定の出力ポートに向かう何番目のリクエストであるかを表すものであり、順序保証が必要なリクエスト間の正しい読み出し順を示すものである。
【0025】
読出制御部5は、順序保証バッファ301〜316からリクエストを読み出す制御を実行する。
【0026】
つづいて、図1及び図2を用いて、本発明の実施の形態1にかかる方法における処理について説明する。
【0027】
順序情報制御部4は、リクエストに対して順序情報を付与する。図2は命令1及び命令2の2つの命令をクロスバ2に入力する場合の例である。命令1及び命令2はそれぞれ256個のリクエストで構成されている。このうち連続する16リクエスト(同一ライン)の行き先がすべて同じ出力ポートであるとする。この例の場合、リクエストには、該出力ポートに対応する000から031までのシリアル番号が、順序情報として付与される。
【0028】
順序情報が付与されたリクエストは、命令1と命令2の間におけるホールドオール制御が行なわれることなく、クロスバ2を通過する。これにより、クロスバ2の転送性能を維持することができる。
【0029】
クロスバ2の出力ポートからリクエストが出力されると、リクエストは順序保証バッファ301〜316に書き込まれる。
【0030】
ついで、読出制御部5は、順序保証バッファ301〜316から、順序情報の古い順にリクエストを読み出す。古い順序情報は先に付与されたリクエストに割り当てられているため、古い順序情報から順に読み出しを行なうことで命令間での順序が保証される。例えば、順序情報として昇順に付与されるシリアル番号が用いられている場合には、順序保証バッファ301〜316に格納されているすべてのリクエストのシリアル番号を参照し、該シリアル番号の小さいものから順に、リクエストを読み出すことができる。ここで、クロスバ2での転送に遅延が生じるなどして、次に読み出すべきシリアル番号を付与されたリクエストが順序保証バッファ301〜316の中に存在しない場合がありうる。この場合、読出制御部5は、該リクエストが順序保証バッファ301〜316に書き込まれるまで、読み出しを待機する。すなわち、順序保証バッファ301〜316の内容を定期的に参照しつづけ、次に読み出すべきシリアル番号を付与されたリクエストが発見されたときに、読み出しを再開する。
【0031】
本実施形態では、このような一連の処理でリクエスト間の順序を保証することにより、ホールドオール制御を行うことなくリクエストを転送するため、クロスバ2の性能低下を抑制することができる。
【0032】
発明の実施の形態2
つぎに、図3を用いて、本発明の実施の形態2にかかる相互結合網制御システムの構成を説明する。
【0033】
リクエスタ6は、リクエストを発行する。本構成で想定しているリクエスタ6は、1つの命令から、それぞれ行き先となる出力ポートが定義される複数のリクエストを発行する機能を有している。例えば、実施の形態1と同様に、1命令からe000〜e255までの256の要素(リクエスト)を発行することができる。
【0034】
順序情報制御部4は、リクエスタ6から発行されたリクエストに対して、順序情報の付与を行なう。順序情報は出力ポート毎に付与される。また、順序保証バッファ301〜316に格納すべきリクエストの数を上限として、付与することが可能である。例えば、該上限は、順序保証バッファ301〜316にリクエストを書き込むことのできる容量(深さ)であってよい。順序情報の付与数が該上限に達しており、新たな順序情報を付与できない場合には、リクエストは待たされることになる。待たされたリクエストには、古い順序情報が解放された後に、順序情報を割り当てる。
【0035】
調停制御部7は、クロスバ2に対する入力の調停制御を行なう。すなわち、同じ出力ポートを行き先とする複数のリクエストが、同じタイミングで入力される場合には、1つのリクエストのみを通し、残りのリクエストはキュー101〜116にホールドさせる。
【0036】
キュー101〜116は、実施の形態1におけるものと同様のバッファである。前述の調停制御で競合負けしたリクエストは、順次キュー101〜116で待たされることになる。
【0037】
クロスバ2は、実施の形態1におけるものと同様のものである。
【0038】
順序保証バッファ301〜316は、実施の形態1におけるものと同様であるが、本実施の形態では、補助機能として、各アドレスに有効なデータが書き込まれているかを示す情報(Valid情報)を持つことができるものを用いている。かかる補助機能を有する順序保証バッファ301〜316の構成例(1ポート分)を図4に示す。図4に示されるように、順序保証バッファ301〜316は、データ格納バッファ31のほかに、Valid情報格納バッファ32を備えている。
【0039】
クロスバ2の出力ポートからリクエストが出力されると、該リクエストは順序保証バッファ301〜316に書き込まれる。本実施の形態においては、リクエストは、所定のルールにしたがって、順序情報と1対1に対応するアドレスのデータ格納バッファ31に書き込まれる。
【0040】
読出制御部5は、順序保証バッファ301〜316からリクエストを読み出し、メモリポート801〜816への出力を行う。ここで、古い順序情報が付与されたリクエストから順に読み出しを行うことで、命令間の順序を保証することができる。本実施例では、読み出す順序情報に対応するアドレスに有効なデータの書き込みが完了しているか否かを、Valid情報を参照することにより検査する。もし書き込みが完了していなければ、当該アドレスへの書き込みが完了するまで読み出しは行わない。
【0041】
順序保証バッファ301〜316又は読出制御部5は、順序保証バッファ301〜316からのリクエストの読み出しが完了すると、読み出されたリクエストの順序情報を解放するよう順序情報制御部4に通知する(順序情報の解放通知)。順序情報の解放通知は、例えば、一つのリクエストが読み出される度に行なうことが可能である。
【0042】
メモリポート801〜816は、リクエストの最終的な出力先となるポートである。読出制御部5は、順序保証バッファ301〜316からリクエストを読み出し、順序保証バッファ301〜316に対応するメモリポート801〜816に対して該リクエストを出力する。メモリは、データのリードライト順を考慮しなければならないという性質を有するため、本実施形態の出力先の一例として好適である。
【0043】
つづいて、図5に示すフローチャートを用いて、本発明の実施の形態2にかかる相互結合網制御システムにおける処理について説明する。
【0044】
まず、リクエスタ6がリクエストを発行する(ステップS1)。通常、リクエスタ6は1命令あたり複数のリクエストを発行する。
【0045】
ついで、順序情報制御部4が順序情報を各リクエストに付与する(ステップS2)。順序情報は出力ポート毎に付与される。また、順序保証バッファ301〜316に格納すべきリクエストの数がしきい値として定められ、該しきい値が付与できる順序情報の上限となる。このように順序情報は有限であるため、付与が可能な場合と不可能な場合とがある(ステップS3)。付与が可能である場合は、リクエストに対し順序情報が付与され、次のステップに進む。一方、付与済みの順序情報の数が該上限に達しており、付与できない場合には、順序情報が解放されるまで、リクエストは順序情報制御部で待たされることになる。待たされたリクエストには、過去に利用されていた古い順序情報が解放された後に順序情報が割り当てられ、その後、次のステップに進む。
【0046】
キュー101〜116は、順序情報を付与されたリクエストを順序情報制御部4より受け取り、キューイングする(ステップS4)。
【0047】
その後、調停制御部7は、キュー101〜116の先頭に到達したリクエストに対する調停制御を行う(ステップS5)。すなわち、同じ出力ポートを行き先とする複数のリクエストが同じタイミングで入力される場合には、調停制御部7は複数のリクエストのうち1つのリクエストのみクロスバ2を通過させ、残りのリクエストはキュー101〜116にホールドさせる。
【0048】
調停制御されたリクエストは、クロスバ2を通過する(ステップS6)。
【0049】
クロスバ2を通過したリクエストは、順序保証バッファ301〜316に書き込まれる(ステップS7)。本実施の形態では、順序保証バッファ301〜316への書き込みは、所定のルールに従って定められる、順序情報と1対1に対応する書き込みアドレスに対して行う。例えば、はじめに順序情報nのリクエストをアドレスpに書き込んだ場合、順序情報n+1のリクエストはアドレスp+1に、順序情報n+2のリクエストはアドレスp+2に書き込み、以下同様に、順序情報n+mのリクエストはアドレスp+mに書き込んでゆく。
【0050】
読出制御部5は、順序情報の古い順にリクエストを読み出せるよう、書き込みの際に用いたルールにしたがう順番で、順序保証バッファ301〜316のアドレスから順次データを読み出してゆく。まず、読出制御部5は、最初に読み出すべき順序情報に対応するアドレス位置に有効なデータが書き込まれているかを判定する(ステップS8)。この判定は、本実施の形態においては、順序保証バッファ301〜316内のValid情報の値を参照することにより行う。例えば、はじめに順序情報nのリクエストがアドレスpに書き込まれ、順序情報n+1のリクエストがアドレスp+1に、順序情報n+2のリクエストがアドレスp+2に、以下同様に、順序情報n+mのリクエストがアドレスp+mに順次書き込まれた場合には、まずアドレスpのValid情報を参照する。ここで、該Valid情報が、有効なデータが書き込まれていることを示すものである場合に、読出制御部5は、該アドレスからデータ、すなわち順序情報nが付与されたリクエストを読み出す(ステップS9)。つぎに、アドレスp+1のValid情報を参照し、同様の処理を行う。
【0051】
なお、読出制御部5は、該Valid情報が、有効なデータが書き込まれていないことを示すものであった場合は、該アドレスからの読出しは行わない。読出制御部5は、該アドレスに有効なデータ、すなわち該アドレスに対応する順序情報を付与されたリクエストが書き込まれるまで待機する。具体的には、読出制御部5は、該Valid情報を定期的に参照しつづけ、該Valid情報が、有効なデータが書き込まれていることを示すものとなったときに、読み出しを再開することができる。
【0052】
その後、順序保証バッファ301〜316又は読出制御部5は、リクエストが読み出されたバッファエントリを無効化し、該リクエストの順序情報を解放するよう順序情報制御部4に通知する(ステップS10)。
【0053】
最後に、読出制御部は、順序保証バッファから読み出されたリクエストを、順次メモリポート801〜816に出力する(ステップS11)。こうした一連の処理によって、リクエストは、順序情報の古いものから順にメモリポートに出力されることになる。
【0054】
その他の実施形態
なお、本発明はこの実施形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【0055】
例えば、この実施形態では相互結合網としてクロスバを例示したが、クロスバのような接続網を持つものであればどのような形態のものでもよい。具体的には、パケット(命令列又はデータ列)間での到着順序の保証が要求される通信網やコンピュータシステム、又はネットワークスイッチ等であってもよい。この場合、リクエスタはパケットを発生する手段、リクエストはパケット、FIFOはデータ送信側に設けられるバッファ、順序保証バッファはデータ受信側に設けられるバッファと適宜読み替えることが可能である。
【0056】
上記実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0057】
(付記1)
複数の入力ポートと複数の出力ポートとを有し、該入力ポートから入力された情報を該情報の出力先である出力ポートに出力する相互結合網と、該入力ポートに入力される情報に対し、該情報の出力先である出力ポート毎に、該情報の読出順序を定める順序情報を付与する順序情報制御部と、該出力ポートから出力された情報を蓄積する順序保証バッファと、該順序保証バッファに蓄積された情報を、該順序情報により定められる順序にしたがって読出す読出制御部とを有する、相互結合網制御システム。
【0058】
(付記2)
前記順序保証バッファは、前記順序情報と所定の格納ルールに基づいて一意に定められる格納位置に前記情報を格納し、前記読出制御部は、該格納ルールに基づいて定められる格納位置の読出順序にしたがって、読出すべき情報を決定する、付記1に記載の相互結合網制御システム。
【0059】
(付記3)
前記読出制御部は、前記順序保証バッファに格納されている前記情報の前記順序情報を参照し、該順序情報と所定の読出ルールとに基づいて読出すべき情報を決定する、付記1に記載の相互結合網制御システム。
【0060】
(付記4)
前記読出制御部は、読出すべき情報が前記順序保証バッファに書き込まれている場合にのみ情報を読出す、付記1−3いずれかに記載の相互結合網制御システム。
【0061】
(付記5)
前記順序情報制御部は、付与済の順序情報の数が、前記順序保証バッファに格納すべき情報の数として定められるしきい値以下である場合に順序情報を付与し、該順序保証バッファから情報が読みだされたときに、付与済の順序情報の数を減ずる、付記1−4いずれかに記載の相互結合網制御システム。
【0062】
(付記6)
前記順序保証バッファ又は読出制御部は、該順序保証バッファから情報が読出されたことを順序情報制御部に通知する、請求項6に記載の相互結合網制御システム。
【0063】
(付記7)
相互結合網に入力される情報に対し、該情報の出力先毎に、該情報の読出順序を定める順序情報を付与するステップと、該出力先から出力された該情報を順序保証バッファに蓄積するステップと、該順序保証バッファに蓄積された情報を、該順序情報により定められる順序にしたがって読出すステップとを有する、相互結合網制御方法。
【0064】
(付記8)
前記蓄積するステップでは、前記順序情報と所定の格納ルールとに基づいて一意に定められる格納位置に前記情報を格納し、前記読出すステップでは、該格納ルールに基づいて定められる格納位置の読出順序にしたがって、読出すべき情報を決定する、付記7に記載の相互結合網制御方法。
【0065】
(付記9)
前記読出すステップでは、前記順序保証バッファに格納されている前記情報の前記順序情報を参照し、該順序情報と所定の読出ルールとに基づいて読出すべき情報を決定する、付記7に記載の相互結合網制御方法。
【0066】
(付記10)
前記読出すステップでは、読出すべき情報が前記順序保証バッファに書き込まれている場合にのみ情報を読出す、付記7−9いずれかに記載の相互結合網制御方法。
【0067】
(付記11)
前記付与するステップでは、付与済の順序情報の数が、前記順序保証バッファに格納すべき情報の数として定められるしきい値以下である場合に順序情報を付与し、該順序保証バッファから情報が読みだされたときに、付与済の順序情報の数を減ずる、付記7−10いずれかに記載の相互結合網制御方法。
【0068】
(付記12)
前記読出すステップでは、該順序保証バッファから情報が読出されたことを順序情報制御部に通知する、付記11に記載の相互結合網制御方法。
【符号の説明】
【0069】
1 キュー(FIFO)
2 クロスバ
3 順序保証バッファ
4 順序情報制御部
5 読出制御部
6 リクエスタ
7 調停制御部
8 メモリポート
【技術分野】
【0001】
本発明は相互結合網の制御システム及び方法に関するものであり、特に、順序保証が必要な情報を相互結合網の性能低下を抑制しつつ転送する方法に関する。
【背景技術】
【0002】
近年の情報処理システムにおいては、複数の入出力を相互に結合するため、相互結合網が用いられることが多くなっている。例えば、リクエスタと複数のメモリポートとを結び、リクエストを転送するクロスバは典型的な相互結合網である。かかるクロスバを含む情報処理システムの一般的な構成を図6に示す。
【0003】
図6においてリクエスタ6より発行されたリクエストは、キュー1に入力される。ここで、キュー1は、具体的にはFIFOすなわち先入れ先出し方式のバッファである。リクエスタ6が発行したリクエストは順次キュー1に蓄えられ、必要に応じ調停制御部7により調停されたのち、クロスバ2に入力される。クロスバ2は複数の入力ポートと複数の出力ポートとを接続する結合網である。図中では、入力ポートを16、出力ポートを16持つ、16x16のクロスバを例示している。クロスバ2から出力された情報は、メモリポート8に格納される。図6に示す構成は、典型的には、1つのロード/ストア命令で複数の要素のメモリアクセスを実施する、ベクトルアーキテクチャにおいて採用されている。
【0004】
かかる構成におけるキュー1に、リクエストが蓄積された状態を図7に示す。キュー1はクロスバ2の各入力ポートに対応して備えられており、リクエスタ6から発行されて各入力ポートへ入力を待つリクエストを蓄積している。この例では、入力ポートP0向けのキューには、要素(リクエスト)e000,e016,…,e240が蓄積されている。同様に入力ポートP15向けのキューには、要素e015,e031,…,e255が蓄積されている。
【0005】
この状態のキュー1から、リクエストがクロスバ2を通過するまでの様子を二例示す。一例目は、同一ライン内の複数の要素の行き先がすべて異なる出力ポートである場合である。ここで、同一ラインとは、同時に調停に入る16要素のことをいう。この場合に、要素がクロスバ2から出力されるタイミングを図8に示す。入力ポートにおける同一ラインのすべての要素(e000,e001,…,e015)の行き先がすべて別の出力ポートだった場合には、行き先である出力ポートが競合しないため、全16要素はクロスバ2を同じタイミングで通過でき、1Tのサイクルで出力される。全256要素は、16Tのサイクルで出力される。
【0006】
二例目は、同一ライン内の複数の要素の行き先が同じ出力ポートである場合である。例えば、入力ポートにおける同一ラインの要素(e000,e001,…,e015)のすべてが同じ行き先である場合を想定する。この場合のクロスバ2の出力の様子を図9に示す。ここでは、1ライン目(e000〜e015)の行き先がすべて出力ポートP0、2ライン目(e016〜e031)の行き先がすべて出力ポートP1となっており、以下同様に繰り返して、16ライン目(e240〜e255)の行き先がすべて出力ポートP15となる。このように1ラインの全16要素がすべて同じ行き先である場合、出力ポートの競合が発生する。競合する要素は、クロスバ2を同時に通過することができない。このとき、調停制御部7は、競合している要素を、1サイクルにつき1つずつクロスバ2に入力させる調停制御を行う。競合に負けた要素はキュー1で待たされ、次のサイクルで入力されるか、再び競合する場合は再度調停を受けることになる。この場合、全256要素がクロスバ2を通過するには31Tのサイクルを要する。
【0007】
次に、命令が連続するケースにおける問題点を図10、図11、図12を用いて説明する。図10、図11、図12において、最初のe000〜e255までが命令1を構成する要素であり、次のe000〜e255までが命令2を構成する要素と定義する。すなわち、256の要素からなる命令を連続して転送する場面を想定する。
【0008】
まず、同一ライン内の要素の行き先がすべて別の出力ポートである命令が2回続いた状態を、図10に示す(なお、説明の便宜上、命令1は要素e000,e016,…,e240を出力ポートP0からルーティングし、命令2は要素e000,e016,…,e240を出力ポートP15からルーティングする例を記載している)。同一ライン内の要素の行き先がすべて別の場合は、命令1、2ともに競合が発生することなくクロスバ2を通過するので、転送性能の低下は発生しない。
【0009】
次に、同一ライン内の要素の行き先がすべて同じ出力ポートである命令が2回続いた状態を、図11に示す。同一ライン内のすべての要素の行き先が同じ場合は、先頭ラインで競合が発生し、ラインのすべての要素が流れるまでに15Tを要する。256要素のトータルでは47Tのサイクルを要することになる。なお、この例では命令1と命令2の間に隙間は空いていない。
【0010】
しかしながら、仮に入力ポートP15に何らかの遅延があった場合には、命令1のe255のクロスバ2への発行が遅れ、命令2のe000の発行が先に行なわれることがある。すると、図12に示すような命令1の要素と命令2の要素の到着順序の逆転現象が発生する。命令1と命令2の間で要素の到着順序の保証が必要なければ、この制御方式で問題はないが、命令1と命令2の間で要素の到着順序の保証が必要な場合、すなわち、命令1の要素が、必ず命令2の要素よりも先に出力ポートに到着しなければならない場合は問題となる。
【0011】
このような順序保証にかかる問題を回避するための手段として、ATM交換機にかかるものではあるが、交換網を通過するパケットの順序保証を行うための構成が提案されている(特許文献1)。しかしながら、かかる構成は、クロスバのように複数の出力ポートをもつ結合網において、個々の出力ポート毎に順序保証を行うものではない。また、特許文献2には、パケットをシーケンシャルに転送するための構成が開示されているが、かかる構成は連続するメモリバンクへ効率よくデータを格納することを目的とするものであり、クロスバにおけるような複数の経路により転送されるデータを、複数の出力先毎に順序保証するという目的に適するものではない。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開平5−083283号公報
【特許文献2】特開2009−077453号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
ここで、本発明が解決しようとする課題を説明するために、図13に示す制御方法を想定する。この制御方法をホールドオール制御と定義する。ホールドオール制御では、命令1のすべての要素がクロスバを通過した後に、命令2の先頭要素のクロスバへの転送が開始される。このようにすれば、命令間で要素の到着順の逆転現象は発生しなくなり、命令間での順序保証を保つことができる。ただし、ホールドオール制御では、命令2の転送は、命令1のすべての要素の転送が終了するのを待ってから開始されるため、命令1と命令2の間で15T間のペナルティが発生する。これは、クロスバの性能を大きく低下させる要因となる。
【0014】
このように、相互結合網を流れる情報、例えば命令やデータ間での到着順序の保証が必要な場合、先行の情報が流れるまで後続の情報を一時ホールドする制御を行うと、相互結合網の利用効率が著しく低下するという問題があった。
【0015】
本発明は、かかる問題を解決するためになされたものであり、情報間の順序を保証しつつ相互結合網の性能低下を抑制する相互結合網制御システム及び方法を提供することを目的とする。
【課題を解決するための手段】
【0016】
本発明にかかる相互結合網制御システムは、複数の入力ポートと複数の出力ポートとを有し該入力ポートから入力された情報を該情報の出力先である出力ポートに出力する相互結合網と、該入力ポートに入力される情報に対し、該情報の出力先である出力ポート毎に、該情報の読出順序を定める順序情報を付与する順序情報制御部と、該出力ポート毎に設けられ、該出力ポートから出力された情報を蓄積する順序保証バッファと、該順序保証バッファに蓄積された情報を、該順序情報により定められる順序にしたがって読出す読出制御部とを有するものである。
【0017】
本発明にかかる相互結合網制御方法は、相互結合網に入力される情報に対し、該情報の出力先毎に、該情報の読出順序を定める順序情報を付与するステップと、該出力先から出力された該情報を順序保証バッファに蓄積するステップと、該順序保証バッファに蓄積された情報を、該順序情報により定められる順序にしたがって読出すステップとを有するものである。
【発明の効果】
【0018】
本発明により、情報間の順序を保証しつつ相互結合網の性能低下を抑制する相互結合網制御方法を提供することができる。
【図面の簡単な説明】
【0019】
【図1】本発明の実施の形態1の構成図である。
【図2】本発明におけるキュー及び順序保証バッファの状態を示す図である。
【図3】本発明の実施の形態2の構成図である。
【図4】本発明の実施の形態2における順序保証バッファの構成例を示す図である。
【図5】本発明の実施の形態2のシーケンス図である。
【図6】背景技術の構成を示す図である。
【図7】背景技術におけるキューの状態を示す図である。
【図8】背景技術におけるキューの状態を示す図である。
【図9】背景技術におけるキューの状態を示す図である。
【図10】背景技術におけるキューの状態を示す図である。
【図11】背景技術におけるキューの状態を示す図である。
【図12】背景技術におけるキューの状態を示す図である。
【図13】背景技術におけるキューの状態を示す図である。
【発明を実施するための形態】
【0020】
発明の実施の形態1
はじめに、図1を用いて、本発明の実施の形態1にかかる相互結合網制御システムの構成を説明する。101〜116はキューである。301〜316は順序保証バッファ、4は順序情報制御部、5は読出制御部である。
【0021】
キュー101〜116は、クロスバ2に入力すべきリクエストを蓄積しておく機能を有する。典型的には、FIFOすなわち先入れ先出し方式のバッファである。本実施形態では、クロスバ2の各入力ポートに対しそれぞれFIFOを設けた例を用いているが、入力ポート毎にキューを管理できるものであればどのような構成でもよい。
【0022】
クロスバ2は、複数の入力ポートと複数の出力ポートを接続する相互結合網である。クロスバ2は、任意の入力ポートから入力された情報(リクエスト又はデータ)を調停制御部7の調停にしたがって任意の出力ポートに出力する。本実施形態では、入力16ポート、出力16ポート、すなわち16x16の構成を有するクロスバである。また、入力ポート側には各入力ポートに対応してFIFOが、出力ポート側には各出力ポートに対応して順序保証バッファ301〜316がそれぞれ接続されている。
【0023】
順序保証バッファ301〜316は、リクエスト間の順序保証(シリアライズ)を行なう機能を有する。典型的には、SRAMで構成されるバッファである。本実施形態では、クロスバ2の各出力ポートに対しそれぞれ順序保証バッファを設けた例を用いているが、出力ポート毎にリクエストを管理できるものであればどのような構成でもよい。
【0024】
順序情報制御部4は、リクエストをキュー101〜116に投入する前に、リクエストに順序情報を付与する。順序情報は、例えば昇順のシーケンス番号であり、リクエストの出力先であるクロスバ2の出力ポート毎に付与される。該順序情報はクロスバ2の特定の出力ポートに向かう何番目のリクエストであるかを表すものであり、順序保証が必要なリクエスト間の正しい読み出し順を示すものである。
【0025】
読出制御部5は、順序保証バッファ301〜316からリクエストを読み出す制御を実行する。
【0026】
つづいて、図1及び図2を用いて、本発明の実施の形態1にかかる方法における処理について説明する。
【0027】
順序情報制御部4は、リクエストに対して順序情報を付与する。図2は命令1及び命令2の2つの命令をクロスバ2に入力する場合の例である。命令1及び命令2はそれぞれ256個のリクエストで構成されている。このうち連続する16リクエスト(同一ライン)の行き先がすべて同じ出力ポートであるとする。この例の場合、リクエストには、該出力ポートに対応する000から031までのシリアル番号が、順序情報として付与される。
【0028】
順序情報が付与されたリクエストは、命令1と命令2の間におけるホールドオール制御が行なわれることなく、クロスバ2を通過する。これにより、クロスバ2の転送性能を維持することができる。
【0029】
クロスバ2の出力ポートからリクエストが出力されると、リクエストは順序保証バッファ301〜316に書き込まれる。
【0030】
ついで、読出制御部5は、順序保証バッファ301〜316から、順序情報の古い順にリクエストを読み出す。古い順序情報は先に付与されたリクエストに割り当てられているため、古い順序情報から順に読み出しを行なうことで命令間での順序が保証される。例えば、順序情報として昇順に付与されるシリアル番号が用いられている場合には、順序保証バッファ301〜316に格納されているすべてのリクエストのシリアル番号を参照し、該シリアル番号の小さいものから順に、リクエストを読み出すことができる。ここで、クロスバ2での転送に遅延が生じるなどして、次に読み出すべきシリアル番号を付与されたリクエストが順序保証バッファ301〜316の中に存在しない場合がありうる。この場合、読出制御部5は、該リクエストが順序保証バッファ301〜316に書き込まれるまで、読み出しを待機する。すなわち、順序保証バッファ301〜316の内容を定期的に参照しつづけ、次に読み出すべきシリアル番号を付与されたリクエストが発見されたときに、読み出しを再開する。
【0031】
本実施形態では、このような一連の処理でリクエスト間の順序を保証することにより、ホールドオール制御を行うことなくリクエストを転送するため、クロスバ2の性能低下を抑制することができる。
【0032】
発明の実施の形態2
つぎに、図3を用いて、本発明の実施の形態2にかかる相互結合網制御システムの構成を説明する。
【0033】
リクエスタ6は、リクエストを発行する。本構成で想定しているリクエスタ6は、1つの命令から、それぞれ行き先となる出力ポートが定義される複数のリクエストを発行する機能を有している。例えば、実施の形態1と同様に、1命令からe000〜e255までの256の要素(リクエスト)を発行することができる。
【0034】
順序情報制御部4は、リクエスタ6から発行されたリクエストに対して、順序情報の付与を行なう。順序情報は出力ポート毎に付与される。また、順序保証バッファ301〜316に格納すべきリクエストの数を上限として、付与することが可能である。例えば、該上限は、順序保証バッファ301〜316にリクエストを書き込むことのできる容量(深さ)であってよい。順序情報の付与数が該上限に達しており、新たな順序情報を付与できない場合には、リクエストは待たされることになる。待たされたリクエストには、古い順序情報が解放された後に、順序情報を割り当てる。
【0035】
調停制御部7は、クロスバ2に対する入力の調停制御を行なう。すなわち、同じ出力ポートを行き先とする複数のリクエストが、同じタイミングで入力される場合には、1つのリクエストのみを通し、残りのリクエストはキュー101〜116にホールドさせる。
【0036】
キュー101〜116は、実施の形態1におけるものと同様のバッファである。前述の調停制御で競合負けしたリクエストは、順次キュー101〜116で待たされることになる。
【0037】
クロスバ2は、実施の形態1におけるものと同様のものである。
【0038】
順序保証バッファ301〜316は、実施の形態1におけるものと同様であるが、本実施の形態では、補助機能として、各アドレスに有効なデータが書き込まれているかを示す情報(Valid情報)を持つことができるものを用いている。かかる補助機能を有する順序保証バッファ301〜316の構成例(1ポート分)を図4に示す。図4に示されるように、順序保証バッファ301〜316は、データ格納バッファ31のほかに、Valid情報格納バッファ32を備えている。
【0039】
クロスバ2の出力ポートからリクエストが出力されると、該リクエストは順序保証バッファ301〜316に書き込まれる。本実施の形態においては、リクエストは、所定のルールにしたがって、順序情報と1対1に対応するアドレスのデータ格納バッファ31に書き込まれる。
【0040】
読出制御部5は、順序保証バッファ301〜316からリクエストを読み出し、メモリポート801〜816への出力を行う。ここで、古い順序情報が付与されたリクエストから順に読み出しを行うことで、命令間の順序を保証することができる。本実施例では、読み出す順序情報に対応するアドレスに有効なデータの書き込みが完了しているか否かを、Valid情報を参照することにより検査する。もし書き込みが完了していなければ、当該アドレスへの書き込みが完了するまで読み出しは行わない。
【0041】
順序保証バッファ301〜316又は読出制御部5は、順序保証バッファ301〜316からのリクエストの読み出しが完了すると、読み出されたリクエストの順序情報を解放するよう順序情報制御部4に通知する(順序情報の解放通知)。順序情報の解放通知は、例えば、一つのリクエストが読み出される度に行なうことが可能である。
【0042】
メモリポート801〜816は、リクエストの最終的な出力先となるポートである。読出制御部5は、順序保証バッファ301〜316からリクエストを読み出し、順序保証バッファ301〜316に対応するメモリポート801〜816に対して該リクエストを出力する。メモリは、データのリードライト順を考慮しなければならないという性質を有するため、本実施形態の出力先の一例として好適である。
【0043】
つづいて、図5に示すフローチャートを用いて、本発明の実施の形態2にかかる相互結合網制御システムにおける処理について説明する。
【0044】
まず、リクエスタ6がリクエストを発行する(ステップS1)。通常、リクエスタ6は1命令あたり複数のリクエストを発行する。
【0045】
ついで、順序情報制御部4が順序情報を各リクエストに付与する(ステップS2)。順序情報は出力ポート毎に付与される。また、順序保証バッファ301〜316に格納すべきリクエストの数がしきい値として定められ、該しきい値が付与できる順序情報の上限となる。このように順序情報は有限であるため、付与が可能な場合と不可能な場合とがある(ステップS3)。付与が可能である場合は、リクエストに対し順序情報が付与され、次のステップに進む。一方、付与済みの順序情報の数が該上限に達しており、付与できない場合には、順序情報が解放されるまで、リクエストは順序情報制御部で待たされることになる。待たされたリクエストには、過去に利用されていた古い順序情報が解放された後に順序情報が割り当てられ、その後、次のステップに進む。
【0046】
キュー101〜116は、順序情報を付与されたリクエストを順序情報制御部4より受け取り、キューイングする(ステップS4)。
【0047】
その後、調停制御部7は、キュー101〜116の先頭に到達したリクエストに対する調停制御を行う(ステップS5)。すなわち、同じ出力ポートを行き先とする複数のリクエストが同じタイミングで入力される場合には、調停制御部7は複数のリクエストのうち1つのリクエストのみクロスバ2を通過させ、残りのリクエストはキュー101〜116にホールドさせる。
【0048】
調停制御されたリクエストは、クロスバ2を通過する(ステップS6)。
【0049】
クロスバ2を通過したリクエストは、順序保証バッファ301〜316に書き込まれる(ステップS7)。本実施の形態では、順序保証バッファ301〜316への書き込みは、所定のルールに従って定められる、順序情報と1対1に対応する書き込みアドレスに対して行う。例えば、はじめに順序情報nのリクエストをアドレスpに書き込んだ場合、順序情報n+1のリクエストはアドレスp+1に、順序情報n+2のリクエストはアドレスp+2に書き込み、以下同様に、順序情報n+mのリクエストはアドレスp+mに書き込んでゆく。
【0050】
読出制御部5は、順序情報の古い順にリクエストを読み出せるよう、書き込みの際に用いたルールにしたがう順番で、順序保証バッファ301〜316のアドレスから順次データを読み出してゆく。まず、読出制御部5は、最初に読み出すべき順序情報に対応するアドレス位置に有効なデータが書き込まれているかを判定する(ステップS8)。この判定は、本実施の形態においては、順序保証バッファ301〜316内のValid情報の値を参照することにより行う。例えば、はじめに順序情報nのリクエストがアドレスpに書き込まれ、順序情報n+1のリクエストがアドレスp+1に、順序情報n+2のリクエストがアドレスp+2に、以下同様に、順序情報n+mのリクエストがアドレスp+mに順次書き込まれた場合には、まずアドレスpのValid情報を参照する。ここで、該Valid情報が、有効なデータが書き込まれていることを示すものである場合に、読出制御部5は、該アドレスからデータ、すなわち順序情報nが付与されたリクエストを読み出す(ステップS9)。つぎに、アドレスp+1のValid情報を参照し、同様の処理を行う。
【0051】
なお、読出制御部5は、該Valid情報が、有効なデータが書き込まれていないことを示すものであった場合は、該アドレスからの読出しは行わない。読出制御部5は、該アドレスに有効なデータ、すなわち該アドレスに対応する順序情報を付与されたリクエストが書き込まれるまで待機する。具体的には、読出制御部5は、該Valid情報を定期的に参照しつづけ、該Valid情報が、有効なデータが書き込まれていることを示すものとなったときに、読み出しを再開することができる。
【0052】
その後、順序保証バッファ301〜316又は読出制御部5は、リクエストが読み出されたバッファエントリを無効化し、該リクエストの順序情報を解放するよう順序情報制御部4に通知する(ステップS10)。
【0053】
最後に、読出制御部は、順序保証バッファから読み出されたリクエストを、順次メモリポート801〜816に出力する(ステップS11)。こうした一連の処理によって、リクエストは、順序情報の古いものから順にメモリポートに出力されることになる。
【0054】
その他の実施形態
なお、本発明はこの実施形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【0055】
例えば、この実施形態では相互結合網としてクロスバを例示したが、クロスバのような接続網を持つものであればどのような形態のものでもよい。具体的には、パケット(命令列又はデータ列)間での到着順序の保証が要求される通信網やコンピュータシステム、又はネットワークスイッチ等であってもよい。この場合、リクエスタはパケットを発生する手段、リクエストはパケット、FIFOはデータ送信側に設けられるバッファ、順序保証バッファはデータ受信側に設けられるバッファと適宜読み替えることが可能である。
【0056】
上記実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0057】
(付記1)
複数の入力ポートと複数の出力ポートとを有し、該入力ポートから入力された情報を該情報の出力先である出力ポートに出力する相互結合網と、該入力ポートに入力される情報に対し、該情報の出力先である出力ポート毎に、該情報の読出順序を定める順序情報を付与する順序情報制御部と、該出力ポートから出力された情報を蓄積する順序保証バッファと、該順序保証バッファに蓄積された情報を、該順序情報により定められる順序にしたがって読出す読出制御部とを有する、相互結合網制御システム。
【0058】
(付記2)
前記順序保証バッファは、前記順序情報と所定の格納ルールに基づいて一意に定められる格納位置に前記情報を格納し、前記読出制御部は、該格納ルールに基づいて定められる格納位置の読出順序にしたがって、読出すべき情報を決定する、付記1に記載の相互結合網制御システム。
【0059】
(付記3)
前記読出制御部は、前記順序保証バッファに格納されている前記情報の前記順序情報を参照し、該順序情報と所定の読出ルールとに基づいて読出すべき情報を決定する、付記1に記載の相互結合網制御システム。
【0060】
(付記4)
前記読出制御部は、読出すべき情報が前記順序保証バッファに書き込まれている場合にのみ情報を読出す、付記1−3いずれかに記載の相互結合網制御システム。
【0061】
(付記5)
前記順序情報制御部は、付与済の順序情報の数が、前記順序保証バッファに格納すべき情報の数として定められるしきい値以下である場合に順序情報を付与し、該順序保証バッファから情報が読みだされたときに、付与済の順序情報の数を減ずる、付記1−4いずれかに記載の相互結合網制御システム。
【0062】
(付記6)
前記順序保証バッファ又は読出制御部は、該順序保証バッファから情報が読出されたことを順序情報制御部に通知する、請求項6に記載の相互結合網制御システム。
【0063】
(付記7)
相互結合網に入力される情報に対し、該情報の出力先毎に、該情報の読出順序を定める順序情報を付与するステップと、該出力先から出力された該情報を順序保証バッファに蓄積するステップと、該順序保証バッファに蓄積された情報を、該順序情報により定められる順序にしたがって読出すステップとを有する、相互結合網制御方法。
【0064】
(付記8)
前記蓄積するステップでは、前記順序情報と所定の格納ルールとに基づいて一意に定められる格納位置に前記情報を格納し、前記読出すステップでは、該格納ルールに基づいて定められる格納位置の読出順序にしたがって、読出すべき情報を決定する、付記7に記載の相互結合網制御方法。
【0065】
(付記9)
前記読出すステップでは、前記順序保証バッファに格納されている前記情報の前記順序情報を参照し、該順序情報と所定の読出ルールとに基づいて読出すべき情報を決定する、付記7に記載の相互結合網制御方法。
【0066】
(付記10)
前記読出すステップでは、読出すべき情報が前記順序保証バッファに書き込まれている場合にのみ情報を読出す、付記7−9いずれかに記載の相互結合網制御方法。
【0067】
(付記11)
前記付与するステップでは、付与済の順序情報の数が、前記順序保証バッファに格納すべき情報の数として定められるしきい値以下である場合に順序情報を付与し、該順序保証バッファから情報が読みだされたときに、付与済の順序情報の数を減ずる、付記7−10いずれかに記載の相互結合網制御方法。
【0068】
(付記12)
前記読出すステップでは、該順序保証バッファから情報が読出されたことを順序情報制御部に通知する、付記11に記載の相互結合網制御方法。
【符号の説明】
【0069】
1 キュー(FIFO)
2 クロスバ
3 順序保証バッファ
4 順序情報制御部
5 読出制御部
6 リクエスタ
7 調停制御部
8 メモリポート
【特許請求の範囲】
【請求項1】
複数の入力ポートと複数の出力ポートとを有し、該入力ポートから入力された情報を該情報の出力先である出力ポートに出力する相互結合網と、
該入力ポートに入力される情報に対し、該情報の出力先である出力ポート毎に、該情報の読出順序を定める順序情報を付与する順序情報制御部と、
該出力ポートから出力された情報を蓄積する順序保証バッファと、
該順序保証バッファに蓄積された情報を、該順序情報により定められる順序にしたがって読出す読出制御部とを有する、
相互結合網制御システム。
【請求項2】
前記順序保証バッファは、前記順序情報と所定の格納ルールに基づいて一意に定められる格納位置に前記情報を格納し、
前記読出制御部は、該格納ルールに基づいて定められる格納位置の読出順序にしたがって、読出すべき情報を決定する、
請求項1に記載の相互結合網制御システム。
【請求項3】
前記読出制御部は、前記順序保証バッファに格納されている前記情報の前記順序情報を参照し、該順序情報と所定の読出ルールとに基づいて読出すべき情報を決定する、
請求項1に記載の相互結合網制御システム。
【請求項4】
前記読出制御部は、読出すべき情報が前記順序保証バッファに書き込まれている場合にのみ情報を読出す、
請求項1−3いずれかに記載の相互結合網制御システム。
【請求項5】
前記順序情報制御部は、付与済の順序情報の数が、前記順序保証バッファに格納すべき情報の数として定められるしきい値以下である場合に順序情報を付与し、該順序保証バッファから情報が読みだされたときに、付与済の順序情報の数を減ずる、
請求項1−4いずれかに記載の相互結合網制御システム。
【請求項6】
相互結合網に入力される情報に対し、該情報の出力先毎に、該情報の読出順序を定める順序情報を付与するステップと、
該出力先から出力された該情報を順序保証バッファに蓄積するステップと、
該順序保証バッファに蓄積された情報を、該順序情報により定められる順序にしたがって読出すステップとを有する、
相互結合網制御方法。
【請求項7】
前記蓄積するステップでは、前記順序情報と所定の格納ルールとに基づいて一意に定められる格納位置に前記情報を格納し、
前記読出すステップでは、該格納ルールに基づいて定められる格納位置の読出順序にしたがって、読出すべき情報を決定する、
請求項6に記載の相互結合網制御方法。
【請求項8】
前記読出すステップでは、前記順序保証バッファに格納されている前記情報の前記順序情報を参照し、該順序情報と所定の読出ルールとに基づいて読出すべき情報を決定する、
請求項6に記載の相互結合網制御方法。
【請求項9】
前記読出すステップでは、読出すべき情報が前記順序保証バッファに書き込まれている場合にのみ情報を読出す、
請求項6−8いずれかに記載の相互結合網制御方法。
【請求項10】
前記付与するステップでは、付与済の順序情報の数が、前記順序保証バッファに格納すべき情報の数として定められるしきい値以下である場合に順序情報を付与し、該順序保証バッファから情報が読みだされたときに、付与済の順序情報の数を減ずる、
請求項6−9いずれかに記載の相互結合網制御方法。
【請求項1】
複数の入力ポートと複数の出力ポートとを有し、該入力ポートから入力された情報を該情報の出力先である出力ポートに出力する相互結合網と、
該入力ポートに入力される情報に対し、該情報の出力先である出力ポート毎に、該情報の読出順序を定める順序情報を付与する順序情報制御部と、
該出力ポートから出力された情報を蓄積する順序保証バッファと、
該順序保証バッファに蓄積された情報を、該順序情報により定められる順序にしたがって読出す読出制御部とを有する、
相互結合網制御システム。
【請求項2】
前記順序保証バッファは、前記順序情報と所定の格納ルールに基づいて一意に定められる格納位置に前記情報を格納し、
前記読出制御部は、該格納ルールに基づいて定められる格納位置の読出順序にしたがって、読出すべき情報を決定する、
請求項1に記載の相互結合網制御システム。
【請求項3】
前記読出制御部は、前記順序保証バッファに格納されている前記情報の前記順序情報を参照し、該順序情報と所定の読出ルールとに基づいて読出すべき情報を決定する、
請求項1に記載の相互結合網制御システム。
【請求項4】
前記読出制御部は、読出すべき情報が前記順序保証バッファに書き込まれている場合にのみ情報を読出す、
請求項1−3いずれかに記載の相互結合網制御システム。
【請求項5】
前記順序情報制御部は、付与済の順序情報の数が、前記順序保証バッファに格納すべき情報の数として定められるしきい値以下である場合に順序情報を付与し、該順序保証バッファから情報が読みだされたときに、付与済の順序情報の数を減ずる、
請求項1−4いずれかに記載の相互結合網制御システム。
【請求項6】
相互結合網に入力される情報に対し、該情報の出力先毎に、該情報の読出順序を定める順序情報を付与するステップと、
該出力先から出力された該情報を順序保証バッファに蓄積するステップと、
該順序保証バッファに蓄積された情報を、該順序情報により定められる順序にしたがって読出すステップとを有する、
相互結合網制御方法。
【請求項7】
前記蓄積するステップでは、前記順序情報と所定の格納ルールとに基づいて一意に定められる格納位置に前記情報を格納し、
前記読出すステップでは、該格納ルールに基づいて定められる格納位置の読出順序にしたがって、読出すべき情報を決定する、
請求項6に記載の相互結合網制御方法。
【請求項8】
前記読出すステップでは、前記順序保証バッファに格納されている前記情報の前記順序情報を参照し、該順序情報と所定の読出ルールとに基づいて読出すべき情報を決定する、
請求項6に記載の相互結合網制御方法。
【請求項9】
前記読出すステップでは、読出すべき情報が前記順序保証バッファに書き込まれている場合にのみ情報を読出す、
請求項6−8いずれかに記載の相互結合網制御方法。
【請求項10】
前記付与するステップでは、付与済の順序情報の数が、前記順序保証バッファに格納すべき情報の数として定められるしきい値以下である場合に順序情報を付与し、該順序保証バッファから情報が読みだされたときに、付与済の順序情報の数を減ずる、
請求項6−9いずれかに記載の相互結合網制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−155440(P2012−155440A)
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願番号】特願2011−12704(P2011−12704)
【出願日】平成23年1月25日(2011.1.25)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願日】平成23年1月25日(2011.1.25)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
[ Back to top ]