Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DATA TRANSFER DEVICE, INFORMATION PROCESSING DEVICE, AND CONTROL METHOD
Document Type and Number:
WIPO Patent Application WO/2009/147731
Kind Code:
A1
Abstract:
A data transfer device (300) comprises a plurality of input queues (310), an arbitration control circuit (320) provided for each of the input queues, and an input queue selection circuit (330) for selecting any of the input queues according to the priority set for each of the input queues and having the selected input queue (310) output the data. The arbitration control circuit (320) comprises a register (321) for storing a predetermined upper limit value, a counter (325) for counting the amount of data output from the corresponding input queue, and a control circuit (324) for, when the value of the counter exceeds the upper limit value stored in the register, having the input queue selection circuit update the priority and reset the value of the counter.

Inventors:
OSANO HIDEKAZU (JP)
KINOSHITA TAKAYUKI (JP)
IWAMI YOSHIKAZU (JP)
HATAIDA MAKOTO (JP)
Application Number:
PCT/JP2008/060226
Publication Date:
December 10, 2009
Filing Date:
June 03, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FUJITSU LTD (JP)
OSANO HIDEKAZU (JP)
KINOSHITA TAKAYUKI (JP)
IWAMI YOSHIKAZU (JP)
HATAIDA MAKOTO (JP)
International Classes:
G06F13/362
Foreign References:
JP2001345839A2001-12-14
JP2000035954A2000-02-02
JP2001217868A2001-08-10
JP2001223740A2001-08-17
Other References:
See also references of EP 2290552A4
Attorney, Agent or Firm:
SAKAI, HIROAKI (JP)
Hiroaki Sakai (JP)
Download PDF:
Claims:
 複数の入力キューと、
 前記入力キューごとに設けられた調停制御部と、
 前記入力キューごとに設定された優先順位に基づいて前記入力キューのいずれかを選択し、選択した入力キューからデータを出力させる入力キュー選択部とを備え、
 前記調停制御部は、
  所定の上限値が記憶されるレジスタと、
  対応する入力キューから出力されたデータ量を計数するカウンタと、
  前記カウンタの値が前記レジスタに記憶されている上限値以上となった場合に、前記入力キュー選択部に前記優先順位を更新させるとともに、前記カウンタの値をリセットさせる制御回路と
 を有することを特徴とするデータ転送装置。
 前記制御回路は、さらに、対応する入力キューから出力されるデータがなくなった場合に、前記入力キュー選択部に前記優先順位を更新させるとともに、前記カウンタの値をリセットさせることを特徴とする請求項1に記載のデータ転送装置。
 前記入力キュー選択部は、前記入力キューのいずれかを選択した場合に、選択した入力キューに対応する前記調停制御部へその旨を通知し、
 前記調停制御部は、前記入力キュー選択部からの通知を契機として、前記カウンタに計数を開始させることを特徴とする請求項1に記載のデータ転送装置。
 前記調停制御部は、対応する入力キューの先頭に格納されているデータのデータ長を取得するデータ長取得部をさらに備え、
 前記カウンタは、前記データ長取得部によって取得されたデータ長を加算していくことにより、対応する入力キューから出力されたデータ量を計数することを特徴とする請求項1に記載のデータ転送装置。
 複数の入力キューと、
 前記入力キューごとに設けられた調停制御部と、
 前記入力キューごとに設定された優先順位に基づいて前記入力キューのいずれかを選択し、選択した入力キューからデータを出力させる入力キュー選択部とを備え、
 前記調停制御部は、
  所定の上限値が記憶されるレジスタと、
  対応する入力キューから出力されたデータ量を計数するカウンタと、
  前記カウンタの値が前記レジスタに記憶されている上限値以上となった場合に、前記入力キュー選択部に前記優先順位を更新させるとともに、前記カウンタの値をリセットさせる制御回路と
 を有することを特徴とする情報処理装置。
 前記制御回路は、さらに、対応する入力キューから出力されるデータがなくなった場合に、前記入力キュー選択部に前記優先順位を更新させるとともに、前記カウンタの値をリセットさせることを特徴とする請求項5に記載の情報処理装置。
 前記入力キュー選択部は、前記入力キューのいずれかを選択した場合に、選択した入力キューに対応する前記調停制御部へその旨を通知し、
 前記調停制御部は、前記入力キュー選択部からの通知を契機として、前記カウンタに計数を開始させることを特徴とする請求項5に記載の情報処理装置。
 前記調停制御部は、対応する入力キューの先頭に格納されているデータのデータ長を取得するデータ長取得部をさらに備え、
 前記カウンタは、前記データ長取得部によって取得されたデータ長を加算していくことにより、対応する入力キューから出力されたデータ量を計数することを特徴とする請求項5に記載の情報処理装置。
 複数の入力キューと、
 前記入力キューごとに設けられた調停制御部と、
 前記入力キューごとに設定された優先順位に基づいて前記入力キューのいずれかを選択し、選択した入力キューからデータを出力させる入力キュー選択部とを備える情報処理装置における制御方法であって、
 前記調停制御部が、対応する入力キューから出力されたデータ量をカウンタに記憶させるステップと、
 前記カウンタの値が前記レジスタに記憶されている上限値以上となった場合に、前記調停制御部が、前記入力キュー選択部に前記優先順位を更新させるとともに、前記カウンタの値をリセットさせるステップと
 を含むことを特徴とする制御方法。
 対応する入力キューから出力されるデータがなくなった場合に、前記入力キュー選択部に前記優先順位を更新させるとともに、前記制御回路が、前記カウンタの値をリセットさせるステップをさらに含むことを特徴とする請求項9に記載の制御方法。
 前記入力キュー選択部が、前記入力キューのいずれかを選択した場合に、選択した入力キューに対応する前記調停制御部へその旨を通知するステップをさらに含み、
 前記調停制御部は、前記入力キュー選択部からの通知を契機として、前記データ量をカウンタに記憶させるステップを開始させることを特徴とする請求項9に記載の制御方法。
 前記調停制御部が、対応する入力キューの先頭に格納されているデータのデータ長を取得するステップをさらに含み、
 前記調停制御部は、前記データ長を取得するステップによって取得されたデータ長を前記カウンタに加算していくことにより、対応する入力キューから出力されたデータ量を計数することを特徴とする請求項9に記載の制御方法。
Description:
データ転送装置、情報処理装置 よび制御方法

 この発明は、データ転送装置、情報処理 置および制御方法に関し、特に、パケット( データ)のサイズが一律でない場合でも各送 元のスループットを同等にすることができ かつ、いずれの送信元のパケット(データ)も 選択されない状況が発生することがないデー タ転送装置、情報処理装置および制御方法に 関する。

 CPU(Central Processing Unit)やRAM(Random Access Me mory)を備えたシステムボード等の演算処理モ ュールと、各種入出力装置や各種入出力イ ターフェースを備えた入出力モジュールと 複数備え、それらを高速なスイッチで接続 て構成された情報処理装置が知られている このような構成の情報処理装置においては 複数のモジュールがスイッチへ向けて出力 るコマンドパケットやデータパケットの競 を調停する必要がある。

 一般的に、パケット競合の調停(アービト レーション)は、ラウンドロビン方式で実現 れる。ラウンドロビン方式とは、あるモジ ールから出力されたパケットが選択された 、そのモジュールの優先順位を最下位へ下 て、他のモジュールの優先順位を上げる方 である。このラウンドロビン方式は実装が 易であるものの、出力されるパケットのサ ズが一律でない場合に、各モジュールのス ープットにばらつきが生じてしまうという 題がある。

 すなわち、ラウンドロビン方式では、単 時間当たりに出力可能なパケット数が全て モジュールでほぼ同一となるため、サイズ 大きいパケットを多く出力するモジュール スループットは高くなり、サイズの小さい ケットを多く出力するモジュールのスルー ットは相対的に低くなってしまう。この問 を解決するため、ルータ装置等の通信装置 分野では、パケットの競合を調停するため 、ディフィシットラウンドロビン(DRR:Deficit Round Robin)方式やその改良方式が用いられる とがある。

 ディフィシットラウンドロビン方式とは パケットの出力元毎にキューとカウンタを け、各カウンタに所定値dを加えていき、カ ウンタの値とキューの先頭パケットのサイズ を比較しながら選択するパケットを決定する 方式である。各キューの先頭パケットは、対 応するキューの値が自身のサイズよりも大き くなった時点で選択され、このとき、対応す るキューの値は、選択された先頭パケットの サイズ分だけ減算される。ディフィシットラ ウンドロビン方式では、パケットのサイズが 考慮されるため、出力されるパケットのサイ ズが一律でない場合であっても、各モジュー ルのスループットを同等にすることができる 。

特開2001-217868号公報

特開2001-223740号公報

 しかしながら、ディフィシットラウンド ビン方式には、上記の所定値dが適正値より も小さいと、カウンタの値が先頭パケットの サイズよりも大きくなるまでに要する時間が 長くなり、いずれの出力元のパケットも選択 されない状況が発生するという問題があった 。ルータ装置等の通信装置よりもさらに高速 な動作が求められる情報処理装置においては 、パケットを出力しようとしているモジュー ルが複数あるにも関わらず、いずれのモジュ ールのパケットも選択されない状況が発生す ることは大幅な性能低下を招くため、回避し なければならない。

 この発明は、上述した従来技術による問 点を解消するためになされたものであり、 ケット(データ)のサイズが一律でない場合 も各送信元のスループットを同等にするこ ができ、かつ、いずれの送信元のパケット( ータ)も選択されない状況が発生することが ないデータ転送装置、情報処理装置および制 御方法を提供することを目的とする。

 上述した課題を解決し、目的を達成する め、本願の開示するデータ転送装置および 報処理装置は、一つの態様において、複数 入力キューと、前記入力キューごとに設け れた調停制御部と、前記入力キューごとに 定された優先順位に基づいて前記入力キュ のいずれかを選択し、選択した入力キュー らデータを出力させる入力キュー選択部と 備え、前記調停制御部は、所定の上限値が 憶されるレジスタと、対応する入力キュー ら出力されたデータ量を計数するカウンタ 、前記カウンタの値が前記レジスタに記憶 れている上限値以上となった場合に、前記 力キュー選択部に前記優先順位を更新させ とともに、前記カウンタの値をリセットさ る制御回路とを有する。

 この発明の態様によれば、まず、入力キ ーからデータが出力され、出力されたデー 量に基づいて調停が行われるので、データ サイズが一律でない場合でも各送信元のス ープットを同等にすることができ、かつ、 ずれの送信元のデータも選択されない状況 発生することを抑止できる。

 なお、本願の開示するデータ転送装置お び情報処理装置の構成要素、表現または構 要素の任意の組合せを、方法、装置、シス ム、コンピュータプログラム、記録媒体、 ータ構造などに適用したものも上述した課 を解決するために有効である。

 本願の開示するデータ転送装置、情報処 装置および制御方法の一つの態様によれば データのサイズが一律でない場合でも各送 元のスループットを同等にすることができ かつ、いずれの送信元のデータも選択され い状況が発生することを抑止できるという 果を奏する。

図1-1は、入力キューに格納されてい データパケットの一例を示す図である。 図1-2は、本実施例に係る調停方法に るデータパケットの選択例を示す図である 図2-1は、入力キューに格納されてい コマンドパケットの一例を示す図である。 図2-2は、本実施例に係る調停方法に るコマンドパケットの選択例を示す図であ 。 図3は、本実施例に係る情報処理装置の 構成の一例を示す図である。 図4は、図3に示したデータ転送装置の 成の一例を示す図である。 図5は、入力キュー選択回路の動作を示 すフローチャートである。 図6は、出力データ量測定回路の動作を 示すフローチャートである。 図7は、出力データ量測定回路の構成の 一例を示す図である。 図8は、入力キュー選択回路の構成の一 例を示す図である。 図9は、従来の調停方法によるデータパ ケットの選択例を示す図である。 図10は、従来の調停方法によるコマン パケットの選択例を示す図である。

符号の説明

  10  システムボード(SB)
  11  CPU
  12  CPU制御部
  13  メモリ制御部
  14  RAM
  15  FWH
  20  IOボード(IOB)
  21  IO制御部
  22  PCI制御部
  23  PCIインターフェース
  24  ICH
  31  データクロスバ
  32  アドレスクロスバ
 300  データ転送装置
 310  入力キュー
 320  調停制御回路
 321  上限値設定レジスタ
 322  JTAG回路またはSMBus回路
 323  パケット長デコード回路
 324  出力データ量測定回路
 324a、324b、324d、324e AND回路
 324c、324f 加算指示回路
 324g 比較器
 324h リセット指示回路
 324i OR回路
 325  出力データ量測定カウンタ
 330 入力キュー選択回路
 331a~331c ポインタ更新回路
 332  最優先ポインタ
 333  ラウンドロビン回路
 334  OR回路
 335  セレクタ
 336  パケット長カウンタ
 337a~337c 選択期間生成回路
 340  セレクタ
 350  出力キュー

 以下に、本願の開示するデータ転送装置 情報処理装置および制御方法の実施例を図 に基づいて詳細に説明する。なお、この実 例によりこの発明が限定されるものではな 。

 まず、本実施例に係る調停方法の概要に いて、従来の調停方法と比較しながら説明 る。図1-1は、入力キューに格納されている ータパケットの一例を示す図である。この は、入力キュー#0~#2に格納されたパケット セレクタによって選択され、出力キュー#3へ 出力される場面を示している。入力キュー#0~ 2は、それぞれ異なる出力元から出力された ケットが一時的に格納されるキューである

 この例では、8byteのヘッダ部と24byteのデ タ部とからなる32byteのデータパケットと4byte のヘッダ部と4byteのデータ部とからなる8byte データパケットとが混在している。入力キ ー#0には、32byteのパケットAおよびBが格納さ ている。入力キュー#1には、8byteのパケット C~Gが格納されている。また、入力キュー#2に 、8byteのパケットHおよびIと、32byteのパケッ トJと、8byteのパケットKが格納されている。

 図9は、従来の調停方法によるデータパケ ットの選択例を示す図である。図1-1に示した 場面において、単純なラウンドロビン方式を 用いて、最優先とする入力キューを#0→#1→#2 →#0→#1→#2と巡回させると、この例のように 、まず、入力キュー#0のパケットAが選択され 、出力キュー#3に格納される。続いて、入力 ュー#1のパケットC、入力キュー#2のパケッ H、入力キュー#0のパケットB、入力キュー#1 パケットD、入力キュー#2のパケットIが順に 択され、出力キュー#3に格納される。

 この例では、入力キュー#0からは合計64byt e分のパケットが選択されているのに対して 入力キュー#1および#2からは、同じ期間内で 合計16byte分のパケットしか選択されていな 。このように、従来の調停方法においては 出力されるパケットのサイズの違いによっ 、単位時間当たりに選択されるデータサイ が入力キューごとに異なってしまう。

 全ての入力キューにおいて単位時間当た に選択されるデータサイズが同等になるよ に制御するためにディフィシットラウンド ビン方式を採用することも考えられる。し し、その場合、設定が適切でないと、出力 能なパケットがあるにも関わらず、いずれ 入力キューのパケットも選択されない状況 生じ得る。

 図1-2は、本実施例に係る調停方法による ータパケットの選択例を示す図である。本 施例に係る調停方法は、既に選択されたパ ットのサイズに基づいて各入力キューの優 順位を変動させる。具体的には、本実施例 係る調停方法では、ある入力キューのパケ トが選択されると、その入力キューから出 されるパケットのサイズの集計が開始され 集計値が予め設定された上限値以上となる 、その入力キューから出力可能なパケット なくなるまで、その入力キューのパケット 選択され続ける。そして、集計値が予め設 された上限値以上となるか、出力可能なパ ットがなくなると、その入力キューの優先 位が最下位へ下げられ、他の入力キューの ケットが選択されるようになる。

 この方式では、各入力キューに設定する 限値を同一の値とすることにより、全ての 力キューにおいて単位時間当たりに選択さ るデータサイズを同等にすることができる また、この方式では、入力キューから出力 る前のパケットのサイズに基づいて出力の 始を判定するのではなく、まず、出力可能 パケットの出力が開始され、出力したサイ に基づいて出力の停止が判断されるので、 力可能なパケットがあるにも関わらず、い れの入力キューのパケットも選択されない 況は発生しない。

 図1-2の例では、上限値として32byteが各キ ーに設定されている。このため、最優先と る入力キューが#0→#1→#2と一巡する間に、 力キュー#0からはパケットAが選択され、入 キュー#1からはパケットC~Fが選択され、入 キュー#2からはパケットHおよびIが選択され いる。図9と図1-2を比較すれば明らかなよう に、本実施例に係る調停方法の方が、従来の 調停方法よりも、単位時間当たりに選択され るデータサイズが均一に近くなっている。

 なお、本実施例に係る調停方法では、各 力キューに設定する上限値を異なる値とす ことにより、各入力キューにおいて単位時 当たりに選択されるデータサイズを意図的 変更することもできる。例えば、高スルー ットが必要な出力元から出力されるパケッ が格納される入力キューに上限値として大 な値を設定することにより、単位時間当た に選択されるデータ量を増やすことができ 。

 なお、上記の説明では、データパケット 調停について、本実施例に係る調停方法と 来の調停方法とを比較したが、本実施例に る調停方法は、コマンドパケットの調停に いても有効である。すなわち、図2-1に示す うに、IOへのライトコマンドのような比較 サイズの大きいコマンドパケットと、メモ のリードコマンドのような比較的サイズの さいコマンドパケットが混在している場合 単純なラウンドロビン方式に基づく従来の 停方法では、図10に示すように、単位時間当 たりに選択されるパケットサイズが入力キュ ーごとに異なってしまう。一方、本実施例に 係る調停方法では、図2-2に示すように、単位 時間当たりに選択されるパケットサイズをほ ぼ均一にすることができる。

 次に、本実施例に係る調停方法を実行す データ転送装置と、そのデータ転送装置を える情報処理装置の構成について説明する 図3は、本実施例に係る情報処理装置の構成 の一例を示す図である。図3に示すように、 実施例に係る情報処理装置は、複数のシス ムボード(以下、「SB」と略記する)10と、複 のIOボード(以下、「IOB」と略記する)20と、 ータクロスバ31と、アドレスクロスバ32とを する。

 SB10は、演算処理を実行する演算処理モジ ュールであり、CPU11と、CPU制御部12と、メモ 制御部13と、RAM14と、FWH(FirmWare Hub)15等を有 る。CPU11は、各種演算を実行する演算回路で あり、CPU制御部12は、複数のCPU11のリクエス の競合を調停するとともに、CPU11のリクエス トをメモリ制御部13もしくはIOB20へ振り分け 回路である。メモリ制御部13は、RAM14へのア セスを制御する回路であり、RAM14は情報を 時的に記憶する記憶回路である。FWH15は、フ ァームウェアを記憶する記憶回路である。

 IOB20は、メモリアクセス以外の各種入出 制御を実行する入出力モジュールであり、IO 制御部21と、PCI(Peripheral Component Interconnect)制 御部22と、PCIインターフェース23と、ICH(IO Con troller Hub)24を有する。IO制御部21は、IOB20を全 体制御する回路であり、PCI制御部22は、PCIイ ターフェース23に接続される各種PCIデバイ を制御する回路である。ICH24は、IOB20上に実 されたネットワークインターフェース(LAN) 画面制御装置(VGA)、シリアル入出力制御装置 (SIO)、ベースボード管理装置(BMC)等を制御す 回路である。

 データクロスバ31およびアドレスクロス 32は、複数のSB10および複数のIOB20を電気的に 接続させる接続モジュールであり、それぞれ 、高速なスイッチであるデータ転送装置300を 有する。

 図4は、図3に示したデータ転送装置300の 成の一例を示す図である。なお、ここでは 説明を簡単にするため、調停に関連する構 のみを図示している。また、データパケッ とコマンドパケットの区別もおこなわない ととする。

 図4に示すように、データ転送装置300は、 入力キュー310と調停制御回路320の組合せを複 数と、入力キュー選択回路330と、セレクタ340 と、出力キュー350とを有する。入力キュー310 は、あるモジュールから出力されたパケット が一時的に格納されるキューである。調停制 御回路320は、入力キュー310ごとに設けられ、 対応する入力キュー310から出力されるデータ 量を監視する回路であり、上限値設定レジス タ321と、JTAG回路またはSMBus回路322と、パケッ ト長デコード回路323と、出力データ量測定回 路324と、出力データ量測定カウンタ325とを有 する。

 上限値設定レジスタ321は、出力するデー 量の上限値を記憶する。上限値設定レジス 321は、入力キュー310ごとに存在するため、 力するデータ量の上限値は、入力キュー310 とに異なった値とすることもできるし、全 の入力キュー310において同一の値とするこ もできる。JTAG回路またはSMBus回路322は、上 値設定レジスタ321に対して、外部から上限 を設定するための回路である。

 パケット長デコード回路323は、対応する 力キュー310の先頭パケットのサイズを取得 る回路である。パケットのサイズは、パケ トのヘッダ部の所定の位置を参照すること より取得することができる。

 出力データ量測定回路324は、対応する入 キューの先頭パケットが選択される旨の信 を受信するたびに、パケット長デコード回 323によって取得された先頭パケットのサイ を出力データ量測定カウンタ325に加算させ 。そして、加算後の出力データ量測定カウ タ325の値が、上限値設定レジスタ321の値以 となった場合には、出力データ量測定回路3 24は、出力データ量測定カウンタ325の値をリ ットさせるとともに、入力キュー選択回路3 30に対して入力キューの優先順位の変更を指 する。また、出力データ量測定回路324は、 応する入力キューの先頭パケットが選択さ る旨の信号を受信した後に、対応する入力 ューに出力可能なパケットがなくなった旨 信号を受信した場合にも、出力データ量測 カウンタ325の値をリセットさせるとともに 入力キュー選択回路330に対して入力キュー 優先順位の変更を指示する。出力データ量 定カウンタ325は、出力データ量を記憶する

 入力キュー選択回路330は、優先順位に基 いていずれかの入力キュー310の先頭パケッ を選択してセレクタ340へ出力させるととも 、先頭パケットを選択する旨の信号を、そ パケットが格納されている入力キューに対 する出力データ量測定回路324へ送信する。 レクタ340は、入力キュー310から出力された ケットを出力キュー350に格納させる。出力 ュー350は、パケットが一時的に格納される ューである。

 次に、図4に示したデータ転送装置300の動 作について説明する。図5は、入力キュー選 回路330の動作を示すフローチャートである 図5に示すように、入力キュー選択回路330は 優先順位に従って、出力可能なパケットが 納された入力キュー310の中から選択するキ ーを決定する(ステップS101)。

 続いて、入力キュー選択回路330は、決定 た入力キュー310の先頭パケット長を取得す (ステップS102)。そして、入力キュー選択回 330は、取得したパケット長に基づいて、先 パケットを出力させるために必要な期間を め、決定した入力キュー310がその期間選択 れるように設定する(ステップS103)。また、 力キュー選択回路330は、決定した入力キュ 310の先頭パケットが出力される旨を通知す 信号を、その入力キュー310に対応する出力 ータ量測定回路324へ送信する(ステップS104)

 また、入力キュー選択回路330は、出力デ タ量測定回路324から入力キューの優先順位 変更を指示された場合には(ステップS105肯 )、その出力データ量測定回路324に対応する 力キュー310の優先順位が最下位になるよう 優先順位を更新する(ステップS106)。入力キ ー選択回路330は、以上のステップS101~S106の 順を繰り返し実行する。なお、ステップ101~ S104の手順と、ステップS105~S106の手順はこの り順次実行する必要はなく、それぞれ独立 て非同期で実行することができる。

 図6は、出力データ量測定回路324の動作を 示すフローチャートである。同図に示すよう に、対応する入力キュー310の先頭パケットが 選択される旨の信号を受信すると(ステップS2 01)、出力データ量測定回路324は、先頭パケッ トのパケット長を出力データ量測定カウンタ 325に加算する(ステップS202)。

 そして、加算後の出力データ量測定カウ タ325の値を、上限値設定レジスタ321に記憶 れている上限値と比較し(ステップS203)、加 後の値が上限値以上であれば(ステップS204 定)、出力データ量測定回路324は、出力デー 量測定カウンタ325の値をリセットするとと に(ステップS205)、入力キュー選択回路330に して、入力キューの優先順位の変更を指示 る(ステップS206)。

 一方、加算後の値が上限値未満の場合は( ステップS204否定)、対応する入力キューに出 可能なパケットが残っていない旨の信号が 信されれば(ステップS207肯定)、出力データ 測定回路324は、出力データ量測定カウンタ3 25の値をリセットするとともに(ステップS205) 入力キュー選択回路330に対して、入力キュ の優先順位の変更を指示する(ステップS206)

 入力キュー選択回路330は、対応する入力 ュー310の先頭パケットが選択される旨の信 を受信するたびに、上記のステップS201~S207 手順を実行する。

 次に、上記の動作を実現させるための出 データ量測定回路324と入力キュー選択回路3 30の構成について説明する。図7は、出力デー タ量測定回路324の構成の一例を示す図である 。なお、この例では、説明を簡単にするため 、パケット長が2byteもしくは8byteであること 想定しているが、パケット長はこの2種類に 定されるものではない。

 図7に示す構成においては、先頭パケット が選択される旨を通知するパケット出力信号 が受信されたときに、パケット長デコード回 路323から先頭パケットのサイズが2byteである を示す信号が送信されていると、AND回路324a の出力がONになる。そして、AND回路324aの出力 がONになり、かつ、上限値設定レジスタ321に 定されている上限値と出力データ量測定カ ンタ325の値を比較する比較器324gから上限値 がカウンタ値以上である旨の信号が出力され ていないと、AND回路324bの出力もONになる。そ して、AND回路324bの出力がONになると、加算指 示回路324cから増分2の加算指示が出力データ 測定カウンタ325へ送信されることになる。

 また、先頭パケットが選択される旨を通 するパケット出力信号が受信されたときに パケット長デコード回路323から先頭パケッ のサイズが8byteである旨を示す信号が送信 れていると、AND回路324dの出力がONになる。 して、AND回路324dの出力がONになり、かつ、 較器324gから上限値がカウンタ値以上である の信号が出力されていないと、AND回路324eの 出力もONになる。そして、AND回路324eの出力が ONになると、加算指示回路324fから増分8の加 指示が出力データ量測定カウンタ325へ送信 れることになる。

 また、比較器324gから上限値がカウンタ値 以上である旨の信号が出力された場合には、 OR回路324iの出力がONになる。また、対応する 力キュー310に出力可能なパケットがなくな た旨を示すブランク信号が受信された場合 も、OR回路324iの出力がONになる。そして、OR 回路324iの出力がONになると、リセット指示回 路324hからリセット指示が出力データ量測定 ウンタ325へ送信されるとともに、優先順位 更指示が入力キュー選択回路330へ送信され 。

 図8は、入力キュー選択回路330の構成の一 例を示す図である。なお、この例では、説明 を簡単にするため、入力キュー310が3個あり それぞれ#0~#2として識別されることを想定し ているが、入力キュー310の数は3個に限定さ るものではない。

 図8に示す構成においては、#0の入力キュ 310に対応する調停制御回路320から優先順位 更指示が受信されると、ポインタ更新回路3 31aが最優先ポインタ332の値を#1に更新する。 た、#1の入力キュー310に対応する調停制御 路320から優先順位変更指示が受信されると ポインタ更新回路331bが最優先ポインタ332の を#2に更新する。また、#2の入力キュー310に 対応する調停制御回路320から優先順位変更指 示が受信されると、ポインタ更新回路331cが 優先ポインタ332の値を#0に更新する。

 また、1ないし複数の入力キュー310から出 力可能なパケットが存在することを示すリク エストが受信されると、ラウンドロビン回路 333は、最優先ポインタ332に設定されている番 号に対応する入力キュー310を最優先とする優 先順位に基づいて、リクエストを送信した入 力キュー310のいずれを選択するかを決定し、 該当入力キュー310のパケット出力信号を送信 する。入力キュー310のいずれかのパケット出 力信号がONになると、OR回路334の出力がONにな る。そして、OR回路334の出力がONになると、 ウンドロビン回路333によって決定された入 キュー310の先頭パケット長がセレクタ335に いて選択され、パケット長カウンタ336に格 される。

 そして、パケット長カウンタ336に格納さ たパケット長は、パケット長に基づいて入 キュー310の選択期間を生成する選択期間生 回路337a~337cに出力される。そして、選択期 生成回路337a~337cのうち、ラウンドロビン回 333によって決定された入力キュー310に対応 るものが、対応する入力キュー310を生成さ た期間だけ選択させるとともに、先頭パケ トが選択される旨を示すパケット出力信号 対応する調停制御回路320へ送信する。




 
Previous Patent: WO/2009/147722

Next Patent: WO/2009/147749