JP5488589B2 - ルータ装置、半導体集積回路装置、ルーティング方法及びプログラム - Google Patents

ルータ装置、半導体集積回路装置、ルーティング方法及びプログラム Download PDF

Info

Publication number
JP5488589B2
JP5488589B2 JP2011506070A JP2011506070A JP5488589B2 JP 5488589 B2 JP5488589 B2 JP 5488589B2 JP 2011506070 A JP2011506070 A JP 2011506070A JP 2011506070 A JP2011506070 A JP 2011506070A JP 5488589 B2 JP5488589 B2 JP 5488589B2
Authority
JP
Japan
Prior art keywords
packet
arbitration
router
routing
cycles
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011506070A
Other languages
English (en)
Other versions
JPWO2010110289A1 (ja
Inventor
淳 鳥居
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2011506070A priority Critical patent/JP5488589B2/ja
Publication of JPWO2010110289A1 publication Critical patent/JPWO2010110289A1/ja
Application granted granted Critical
Publication of JP5488589B2 publication Critical patent/JP5488589B2/ja
Expired - Fee Related 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/112Switch control, e.g. arbitration

Landscapes

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

Description

[関連出願についての記載]
本発明は、日本国特許出願:特願2009−072507号(2009年 3月24日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、ルータ装置、半導体集積回路装置、ルーティング方法及びプログラムに関し、特に、半導体集積回路装置に設けられたIPコア間の通信のためのルータ装置、そのルータ装置を有する半導体集積回路装置、ルーティング方法及びプログラムに関する。
SoC(System On a Chip)とは、複数のIP(Intellectual Property)コアを集積した半導体集積回路装置をいう。従来、SoCに搭載されたIPコア間の通信は、バスを介して行われてきた。例えば、ARM社によって提唱されたAMBA(Advanced Microcontroller Bus Architecture)は、IPコア間のバスの標準であり、IPコアの個数の増加、及び、SoCの複雑化に対応して、AHB(Advanced High−performance Bus)、マルチレイヤAHB、AXI(Advanced eXtensible Interface)のように進化してきた。
しかし、バス構成によると、配線長が長くなり周波数の向上に対応することが困難である。また、バス構成によると、複数のIPコアからのアクセス競合に対する調停を集中的に行う必要があるため、IPコアの個数の増加に伴ってバスを作り直す必要が生じている。現状では、この問題に対して、バスを階層的に接続することによって、通信のローカリティ(局所性)を確保する方法が用いられている。
一方、非特許文献1において、データをパケット化して送ることにより、通信のローカリティを有効に活用しつつ、調停を各ルータに分散させることによってスケーラビリティを確保したNoC(Network on Chip)が記載されている。
NoCを採用したチップとして、例えば、Tilera社のTILE64、Intel社の80コアチップ、CEA−LETI社のFAUSTチップ、STMicroelectronics社のSTNoCが挙げられる。
図3は、NoCを採用したSoCの構成を示すブロック図である。図5は、通常パケットのフリット構成を示す図である。図5を参照すると、通常パケットは、複数のフリットから構成される。図3及び図5を参照すると、SoC21においては、ルータ装置R0〜R15と通信チャネル25によってネットワークが構成される。IPコアIP0〜IP15間の通信は、図5に示した通常パケットを、このネットワークに流すことによって実現される。
しかし、NoC構成を採用した場合には、データの送信IPコアから受信IPコアまでデータを届けるためのサイクル数(すなわち、遅延時間(レイテンシ))が、バス構成における遅延時間と比較して長くなる。バス構成を採用した場合には、アービトレーション(調停)が完了すれば送信IPコアから受信IPコアまでのチャネルが確立するため、データ転送の速度とレイテンシは、バスの動作周波数と、その周波数を満たすために一定配線長毎に挿入されたパイプラインレジスタの段数によって決定される。
一方、NoC構成を採用した場合には、パケットの先頭フリットが到着した後、そのパケットの行き先の計算、行き先に基づいた出力スイッチ及びチャネルの調停、並びに、出力バッファへのラッチを複数のサイクルを要して行う必要がある。通信を行うIPコア間の距離にも依存するものの、複数のルータ装置を経由する場合には、NoC構成によると、バス構成と比較して大きい遅延が生じうる。
この問題に対して、ルーティングを一つ手前のルータ装置で行うNRC(Next Routing Computation)が提案されている。図3を参照すると、NRCにおいては、ルータ装置R0からルータ装置R1を経由してルータ装置R5に至るパケットを送信する場合、ルータ装置R0はルータ装置R1のルーティングを行い、ルータ装置R1はルータ装置R5のルーティングを行なう。
非特許文献2において、EVC(Express Virtual Channel)が記載されている。図12は、非特許文献2に記載されたEVCについて説明するための図である。図12を参照すると、いくつかの中継ルータ装置によるルーティング及び調停をバイパスするEVC204を張ることによって、中継ルータ装置において必要とされるパイプラインの段数を削減する。バイパス時には、パケットは2サイクルでルータ装置を通過する。
図12を参照すると、ルータ装置R0〜R15は、双方向の通信チャネル202で接続されている。ルータ装置R1からルータ装置R15への通信が多数存在する場合には、EVC204を定義する。ルータ装置R2、R7、及びR11は、EVC204で到着したパケットのルーティング及びスイッチ調停を省略する。したがって、ルータ装置R1からルータ装置R3への遅延時間、及びルータ装置R3からR15への遅延時間は短くなる。
非特許文献3において、予測ルーティングが記載されている。すなわち、到着したパケットに対するルーティングと並行して、所定の予測ルールに基づいて、投機的にパケットの出力方向を予測し、その方向のスイッチ調停及びスイッチ通過を行い、パケットを出力してしまう。投機が成功した場合には、ルーティングのサイクルに応じて遅延時間が短縮される。ルーティング計算の結果、投機が失敗した場合には、出力ラッチ、並びに、投機的に出力した方向のルータ装置内の入力ラッチ及び入力データFIFOに格納された当該パケットのフリットを取り消すとともに、正しい出力方向に対するスイッチ調停及びスイッチ通過をやり直す。
ダブリュー・ジェイ・ダリー(W.J. Dally)、他1名、「(ルート・パケッツ、ノット・ワイヤーズ:オン・チップ・インターコネクション・ネットワークス(Route Packets、 Not Wires: On−Chip Interconnection Networks)」、デザイン・オートメーション・カンファレンス(Design Automation Conference)、(米国)、2001年、p.684−689 エイ・クマー(A. Kumar)、他3名、「トゥワード・アイディール・オン・チップ・コミュニケーション・ユージング・エキスプレス・バーチャル・チャネルズ(Toward Ideal On−Chip Communication Using Express Virtual Channels)」、アイトリプルイー・マイクロ(IEEE Micro)、(米国)、28巻、1号、2008年1月−2月、p.80−90 鯉渕道紘、他4名、「予測機構を持つルータを用いた低遅延チップ内ネットワークに関する研究」、先進的計算基盤システムシンポジウムSACSIS2008論文集、2008年6月、p.393−401
上記非特許文献1〜3の全開示内容はその引用をもって本書に繰込み記載する。
以下の分析は、本発明者によってなされたものである。上記のNRCによると、パケットとともにルーティング計算の結果を次のルータ装置へ送信する必要が生じるため、配線量が増加する。また、各ルータ装置は自身に接続された複数のルータ装置のルーティングを行う必要があり、ルーティングが複雑化する。
また、非特許文献2に記載されたEVCによると、近接ノード間の遅延を削減することができず、バイパスする複数の中継ルータ装置を結ぶチャネル間にまたがる調停及びフロー制御、並びに、各中継ルータ装置内におけるチャネル確保のための調停が必要となり、遅延時間を短縮する効果は乏しい。また、EVCを実現するには、ルータ装置のバッファ数を増やす必要がある。
さらに、非特許文献3に記載された予測ルータにおいては、投機がはずれた場合には回復処理が必要となる。したがって、投機が確定するまで、パケットを先頭データからバッファに保持しておく必要がある。また、投機が失敗した場合には、余分な電力を消費する。
また、これらの方式では、ルーティングの遅延時間を短縮できるものの、スイッチ調停時間の短縮はできないため、構成が複雑化する割には、短縮することができる遅延時間は限られている。
そこで、ルータ装置において短い遅延時間でパケットを転送することが課題となる。本発明の目的は、かかる課題を解決するルータ装置、半導体集積回路装置、ルーティング方法及びプログラムを提供することにある。
本発明の第1の視点に係るルータ装置は、宛先アドレスを有するヘッダ部とデータ部を含む第1のパケットを受信するとともに、第1のパケットの宛先アドレス、フリット長、及び、前記第1のパケットが到着するまでのサイクル数である先行サイクル数を含む第2のパケットを前記第1のパケットに先行して受信する受信部と、第2のパケットに含まれる第1のパケットの宛先アドレスを参照して第1のパケットのルーティングを行うルーティング部と、第2のパケットに含まれる第1のパケットの宛先アドレス、フリット長、及び、先行サイクル数を参照して第1のパケットに対するアービトレーションを行い、前記第1のパケットが到着するタイミングにおいて、前記第1のパケットのフリット長に対応するサイクル数の出力チャネルを予約するアービタ部と、ルーティング部によるルーティング及びアービタ部によるアービトレーションにしたがって第1のパケットをバッファに格納することなく転送する転送部と、を有し、転送部は、前記第2のパケットに含まれる先行サイクル数と前記アービトレーションに要するサイクル数との大小関係に応じて、前記第2のパケットを後段のルータに転送するか否かを判定する
本発明の第2の視点に係る半導体集積回路装置は、複数のIPコアと、当該複数のIPコア間のパケットを転送する上記のルータ装置と、を備えている。
本発明の第3の視点に係るルーティング方法は、ルータ装置が、宛先アドレスを有するヘッダ部とデータ部を含む第1のパケットを受信する前に、前記第1のパケットの宛先アドレス、フリット長、及び、前記第1のパケットが到着するまでのサイクル数である先行サイクル数を含む第2のパケットを受信する工程と、第2のパケットに含まれる第1のパケットの宛先アドレスを参照して第1のパケットのルーティングを行う工程と、第2のパケットに含まれる第1のパケットの宛先アドレス、フリット長、及び、先行サイクル数を参照して第1のパケットに対するアービトレーションを行い、前記第1のパケットが到着するタイミングにおいて、前記第1のパケットのフリット長に対応するサイクル数の出力チャネルを予約する工程と、当該ルーティング及び当該アービトレーションにしたがって第1のパケットをバッファに格納することなく転送する工程と、前記第2のパケットに含まれる先行サイクル数と前記アービトレーションに要するサイクル数との大小関係に応じて、前記第2のパケットを後段のルータに転送するか否かを判定する工程と、を含む。
本発明の第4の視点に係るプログラムは、宛先アドレスを有するヘッダ部とデータ部を含む第1のパケットを受信する前に、前記第1のパケットの宛先アドレス、フリット長、及び、前記第1のパケットが到着するまでのサイクル数である先行サイクル数を含む第2のパケットを受信する処理と、前記第2のパケットに含まれる前記第1のパケットの宛先アドレスを参照して前記第1のパケットのルーティングを行う処理と、前記第2のパケットに含まれる前記第1のパケットの宛先アドレス、フリット長、及び、先行サイクル数を参照して前記第1のパケットに対するアービトレーションを行い、前記第1のパケットが到着するタイミングにおいて、前記第1のパケットのフリット長に対応するサイクル数の出力チャネルを予約する処理と、前記ルーティング及び前記アービトレーションにしたがって前記第1のパケットをバッファに格納することなく転送する処理と、前記第2のパケットに含まれる先行サイクル数と前記アービトレーションに要するサイクル数との大小関係に応じて、前記第2のパケットを後段のルータに転送するか否かを判定する処理と、をコンピュータに実行させる。なお、プログラムは、再構成可能デバイスに対するコンフィギュレーションファイルであってもよい。
本発明に係るルータ装置、半導体集積回路、ルーティング方法及びプログラムによると、ルータ装置において短い遅延時間でパケットを転送することができる。
本発明の第1の実施形態に係るルータ装置の構成を示すブロック図である。 本発明の第2の実施形態に係るルータ装置の構成を示すブロック図である。 本発明の第2の実施形態に係る半導体集積回路装置の構成を示すブロック図である。 本発明の第2の実施形態におけるアービタ部の構成を示すブロック図である。 本発明の第2の実施形態に係るルータ装置によって転送される通常パケットのフリット構成を示す図である。 本発明の第2の実施形態に係るルータ装置によって転送される予約要求パケットのフリット構成を示す図である。 本発明の第2の実施形態に係るルータ装置の動作を示すタイミングチャートである。 本発明の第2の実施形態に係るルータ装置の動作を示すタイミングチャートである。 本発明の第2の実施形態における予約テーブルの動作について説明するための図である。 本発明の第2の実施形態における予約テーブルの動作について説明するための図である。 本発明の第3の実施形態に係る半導体集積回路装置の構成を示す図である。 非特許文献2に記載されたEVCについて説明するための図である。
第1の展開形態のルータ装置は、上記第1の視点に係るルータ装置であることが好ましい。
第2の展開形態のルータ装置は、第2のパケットが、到着タイミングとして第2のパケットを受信してから第1のパケットを受信するまでのサイクル数である先行サイクル数を含むとともに、第1のパケットのフリット長を含み、アービタ部が、先行サイクル数及びフリット長に基づいて上記アービトレーションを行うことが好ましい。
第3の展開形態のルータ装置は、転送部が、第2のパケットに含まれる先行サイクル数を更新するとともに、ルーティング部によるルーティングにしたがって当該第2のパケットを後段のルータ装置へ転送することが好ましい。
第4の展開形態のルータ装置は、第2のパケットが、第1のパケットの優先度を含み、アービタ部が、優先度に応じて上記アービトレーションを行うことが好ましい。
第5の展開形態のルータ装置は、アービタ部が、優先度に応じてアービトレーションを行った場合において、先行するアービトレーションを取り消したときには、第2のパケットが転送された後段のルータへその旨を通知することが好ましい。
第6の展開形態の半導体集積回路装置は、上記第2の視点に係る半導体集積回路装置であることが好ましい。
第7の展開形態の半導体集積回路装置は、第4の展開形態の半導体集積回路装置において、複数のIPコア間を接続するとともに第1のパケットを転送する第1の通信チャネルと、複数のIPコア間を接続するとともに第2のパケットを転送する第2の通信チャネルと、をさらに備えていることが好ましい。
第8の展開形態のルーティング方法は、上記第3の視点に係るルーティング方法であることが好ましい。
第9の展開形態のルーティング方法は、第2のパケットが、到着タイミングとして第2のパケットを受信してから第1のパケットを受信するまでのサイクル数である先行サイクル数を含むとともに、第1のパケットのフリット長を含み、ルータ装置は、先行サイクル数及びフリット長に基づいて、アービトレーションを行うことが好ましい。
第10の展開形態のルーティング方法は、第2のパケットが、第1のパケットの優先度を含み、ルータ装置は、優先度に応じてアービトレーションを行うことが好ましい。
(実施形態1)
本発明の第1の実施形態に係るルータ装置について、図面を参照して説明する。図1を参照すると、ルータ装置30は、受信部31、ルーティング部32、アービタ部33、及び転送部34を有する。
受信部31は、第1のパケットを受信するとともに第1のパケットの宛先アドレス及び到着時刻を含む第2のパケットを受信する。
ルーティング部32は、第2のパケットに含まれる第1のパケットの宛先アドレスを参照して第1のパケットのルーティングを行う。
アービタ部33は、第2のパケットに含まれる第1のパケットの宛先アドレス及び到着時刻を参照して第1のパケットに対するアービトレーションを行う。
転送部34は、ルーティング部32によるルーティング及びアービタ部33によるアービトレーションにしたがって第1のパケットを転送する。
このとき、ルータ装置30は、第1のパケットを受信した後に第1のパケットに対するルーティング及びアービトレーションを行う必要がないため、短い遅延時間で第1のパケットを転送することができる。
(実施形態2)
本発明の第2の実施形態について図面を参照して詳細に説明する。図2は、本実施形態に係るルータ装置20の構成を示すブロック図である。図2の各構成要素は、N方向、S方向、E方向、W方向、及びIPコアの入力チャネル1から入力されたパケットに対して同様の動作を行うことから、これらの各構成要素の符号には、それぞれ添字(サフィックス)n、e、s、w、及びiを付した。以下の説明においては、便宜のため、添え字を省略する。
図2を参照すると、ルータ装置20は、入力チャネル1、入力FIFOバッファ2、スルーライン3、入力FIFOバッファ出力チャネル4、セレクタ6、12、出力ラッチ7、出力チャネル8、アービタ部9、入力ラッチ10、ルーティング部11、及び、予約パケット生成部13を有する。
図3は、ネットワークオンチップ(NoC)を利用したシステムオンチップ(半導体集積回路装置)の構成を示すブロック図である。図3を参照すると、半導体集積回路装置21は、IPコアIP0〜IP15、ネットワークインタフェースNIF、ルータR0〜R15、及び、通信チャネル25を有する。
IPコアIP0〜IP15は、それぞれネットワークインタフェースNIFを介して通信チャネル25に接続される。ルータR0〜R15は、通信チャネル25を通るパケットのルーティングを行い、パケットは所望の方向の通信チャネル25に送信される。ルータ装置R0〜R15として、図2に示したルータ装置20が設けられる。
図2のルータ装置は、N方向、E方向、S方向、W方向及びI方向の5つ方向の入力チャネル1からパケットを受信する。入力ラッチ10は、受信したパケットを一旦ラッチする。ルーティング部11は、パケットの転送先の計算(ルーティング)を行う。ルーティング部11は、パケット送信の予約を行う場合には、アービタ部9に対して、予約要求を行う。入力FIFOバッファ2は、予約要求の後のフリットデータを蓄積する。入力FIFOバッファ出力チャネル4は、クロスバー5へ接続される。スルーライン3は、予約されたパケットを、入力FIFOバッファ2を経由することなく、短い遅延時間でクロスバー5へ出力する。セレクタ12は、スルーライン3から入力FIFOバッファ2へフリットデータを受け渡す。
セレクタ6は、10本の入力のうち出力と同一方向以外の8本の入力信号を受信し、アービタ部9による指示にしたがって、受信した入力信号の1つを出力信号として出力する。出力された出力信号は、ルータ装置20からのデータ出力のタイミングをそろえる出力ラッチ7を介して出力チャネル8へ出力される。
予約要求パケット生成部13は、予約要求パケットを生成する。予約要求パケット生成部13は、ルータ装置20において予約が取れたか否かの情報をアービタ部9から受信して、予約が取れた場合には、他のパケット送出が行われていないタイミングにおいて、次段のルータへ予約要求パケットを送信する。セレクタ14は、このために設けられたセレクタである。
図4は、本実施形態におけるアービタ部9の構成を示すブロック図である。図4を参照すると、アービタ部9は、セレクタアービタ51、予約アービタ52、予約テーブル53、及び残カウンタ56を有する。
セレクタアービタ51は、入力FIFOバッファ2からの通常のパケット調停要求61、及び予約テーブル53からの予約情報62を受け取り、予約情報62を優先してセレクタ6の信号を選択することができるような調停を行い、調停結果信号63をセレクタ6へ出力する。
予約アービタ52は、予約要求パケットに含まれる予約要求64をルーティング部11から受信し、予約テーブル53の属性エントリ54を参照して、通常パケットの到着のタイミングにおいてルータ装置20が空いているか否かを判定する。ルータ装置20が空いている場合には、予約アービタ52は、属性エントリ54を有効にセット(設定)し、通常パケットを受信する入力チャネル1を入力チャネルエントリ55へ書き込む。
予約アービタ52は、予約テーブル53のエントリがあふれた場合には、残カウンタ56の残数レジスタ58へ適当な値を書き込む。予約が取れた場合には、予約アービタ52は、予約が取れたことを通知する予約結果通知信号66を予約要求パケット生成部13へ送信する。予約要求パケット生成部13は、予約結果通知信号66を受信した場合には、次段のルータ装置に対して予約要求パケットを送信する。
図5及び図6は、本実施形態に係るルータ装置20によって転送されるパケットのフォーマット(フリット構成)を示す図である。図5は、通常のパケットのフリット構成を示す。一方、図6は、予約要求パケットのフリット構成を示す。図5又は図6を参照すると、通常パケット又は予約要求パケットは、パケットボディ信号81又は91及びサイドバンド信号82又は92を含む。サイドバンド信号82又は92は、パケットボディ信号81又は91の属性を示し、一例として、次のフォーマットによってエンコードされる。
属性 パケットボディの意味
0b000 無効状態
0b001 予約要求パケット
0b010 予約取り消しパケット
0b011 未定義
0b100 通常パケット制御情報先頭
0b101 通常パケットアドレス
0b110 通常パケットデータ末尾
0b111 通常パケットデータ中間
図6を参照すると、通常パケットは、複数のフリット0〜nから構成され、複数のサイクルにわたって転送される。サイドバンド信号82が0b100であるフリットは、通常パケットの先頭のフリットであり、宛先アドレス83、フリット長84、及び制御情報85を含む。サイドバンド信号82が0b101であるフリットは、アクセスアドレス86及びアクセス属性87を含む。サイドバンド信号82が0b110又は0b111であるフリットは、パケットはデータ88を含む。サイドバンド信号82が0b110であるフリットは、パケットの末尾のデータを含む。
図6を参照すると、予約要求パケットに相当するフリットのサイドバンド信号92は0b001であり、フリットは、宛先アドレス93、フリット長94、及び先行サイクル数95を含む。先行サイクル数95は、予約要求パケットの到着から通常パケットの到着までの間のサイクル数を示す。
次に、タイミングチャートを参照して、本実施形態に係るルータ装置20の動作について説明する。図7は、予約要求がない場合におけるルータ装置20のパケットルーティング動作を示す。一方、図8は、予約要求が行われた場合におけるルータ装置20のパケットルーティング動作を示す。
図7に示したルータ装置20の動作は、従来のルータ装置の動作と同様である。まず、T1サイクルにおいて、先頭フリットが入力チャネル1に到着する。次に、T2サイクルにおいて、入力ラッチ10は、このフリットをラッチし、ルーティング部11は、この先頭フリットの宛先アドレス83に基づいてルーティングを行い、このパケットをいずれの方向へ転送すべきかを決定する。
次に、T3サイクルにおいて、先頭フリットは入力FIFOバッファ2に格納される。ここで、アービタ部9は、このパケットを出力すべき出力チャネル8が空いているか否かを判定し、空いている場合には、出力先に相当するセレクタ6を割り付ける。
次に、T4サイクルにおいて、先頭フリットは実際にセレクタ6を通過し、出力ラッチ7にラッチされる。さらに、T5サイクルにおいて、先頭フリットは出力される。後続のフリットは、先頭フリットとタイミングを合わせて、入力され、ルーティングがされ、出力される。図7を参照すると、パケットがルータ装置20を通過するために、4サイクルの遅延が生じる。
次に、図8を参照して、予約要求パケットによる予約要求が行われた場合におけるルータ装置20のパケットルーティングについて説明する。T1サイクルにおいて、予約要求パケットが到着する。予約要求パケットは通常パケットの先頭フリットが到着したときと同様に、T2サイクルにおいて、入力ラッチ10によってラッチされる。ルーティング部11は、この先頭フリット(すなわち、予約要求パケット)の宛先アドレス93を参照してルーティングを行い、このパケットをいずれの方向へ転送すべきかを決定する。
次に、T3サイクルにおいて、予約アービタ52は、予約要求パケットに含まれる先行サイクル数95及びフリット長94、並びに予約テーブル53を参照して、通常パケットが到着するタイミングにおいて、出力チャネル8に空きがあるか否かを判定する。空きがある場合には、予約アービタ52は、当該サイクルの属性エントリ54を空き状態00から予約状態01(先頭)、11(中間)、10(末尾)へ変更するとともに、入力チャネルエントリ55へ入力チャネル1を記入する。予約が取れた場合には、予約アービタ52は、予約が取れたことを示す予約結果通知信号66と現在のセレクタアービタの状態を示す調停結果通知信号65とを予約要求パケット生成部13に送信する。予約要求パケット生成部13は、予約結果通知信号66に基づいて、次段のルータに対する予約要求パケットを生成する。生成された予約要求パケットは、セレクタ14を経由して、出力ラッチ7によってラッチされる。
次に、T4サイクルにおいて、予約要求パケットは、次段のルータへ送信される。
次に、T5サイクルにおいて、通常パケットの先頭フリットが到着する。ルータ装置20に対する予約が成立していることから、先頭フリットは、入力ラッチ10及び入力FIFOバッファ2を経由することなく、直接セレクタ6を経由する。したがって、先頭フリットは、T6サイクルにおいて出力ラッチ7にラッチされるとともに、T7サイクルにおいて出力チャネル8へ出力される。
図8を参照すると、通常パケットがルータ装置20を通過する場合には、2サイクルの遅延が生じる。したがって、本実施形態のルータ装置20によると、予約を行った場合には、予約を行わない場合と比較して2サイクル分遅延時間を短縮することができる。図8に示した例においては、ルータ装置20を通過する前の予約要求パケットと通常パケットとの間隔は3サイクルであり、ルータ装置20を通過した後の間隔は2サイクルである。短縮されるサイクル数は、T3サイクルにおいて予約が取れた時点において判明する。したがって、T4サイクルにおいて次段のルータへ送信される予約要求パケットに含まれる先行サイクル数95を1減らして2サイクルとして送信する。先行サイクル数95が1サイクル以下になった場合には、予約要求パケットを後段のルータに対して送信しないようにする。なぜなら、後段のルータにおいては、予約要求パケットに基づいて予約が行われる以前に通常パケットが到着するからである。
また、T3サイクルにおいて、ルータ装置20に対して他の通常パケットの転送がすでに予約されている場合には、ルータ装置20は、パケットの優先度に基づいて次のいずれかの処理を行う。
ルータ装置20は、新たに到着した予約要求パケットを無効とし、新たに到着した予約要求パケットに対応する通常パケットについては通常のスケジューリングを行う(第1の処理)。このとき、ルータ装置20は、次段のルータ装置に対して予約要求パケットを発行しない。
ルータ装置20は、すでに予約されていたスケジュールを無効とし、すでに予約を行っていた通常パケットを通常パケットとして扱うとともに、新たに到着した予約要求パケットに基づいて新たな予約を行う(第2の処理)。このとき、ルータ装置20は、次段のルータに対して予約要求パケットを発行する。
ルータ装置20が第2の処理を行なった場合には、次段のルータ装置も同様の処理を行う。また、先に予約を行ったパケットと後に予約を行ったパケットとの間で宛先アドレス(ターゲットIPコア)が異なる場合には、先に予約を行ったパケットのルートと後に予約を行ったパケットのルートは途中から異なるルートとなる。これらのパケットに対するルートが同一のルートから異なるルートへと分岐する箇所に設けられたルータ装置20は、同一の予約サイクルかつ同一の入力チャネル1に対する予約がすでにされていたことを、予約テーブル53を参照することによって認識し、先の予約がなされていた出力チャネル8に対して、必要に応じて予約取り消しパケットを発行する。
次に、本実施形態に係るルータ装置20の動作について、具体例に基づいて説明する。ここでは、一例として、図3に示す半導体集積回路装置21において、IPコアIP0からIPコアIP9への通信に対する予約要求パケットが発行されるとともに、IPコアIP4からIPコアIP13への通信に対する予約要求パケットも発行され、通常パケットの予約が競合する場合について考える。
IPコアIP0からIPコアIP9へのパケットは、IPコアIP0→ルータR0→ルータR4→ルータR8→ルータR9→IPコアIP9というルートを経由するものとする。一方、IPコアIP4からIPコアIP13へのパケットは、IPコアIP4→ルータR4→ルータR8→ルータR12→ルータR13→IPコアIP13というルートを経由するものとする。このとき、ルータR4とルータR8との間においてパケットの予約が競合しうる。
図9は、ルータ装置R4の予約テーブル53の動作について説明するための図である図9は、ルータ装置R4において、先の予約が取り消される場合における予約テーブル53の動作を示す。
T1サイクルにおいて、IPコアIP0からの予約要求パケットがルータR0を経由してルータR4に到着する。T1+7サイクルにおいてフリット長6の通常パケットが到着する旨の情報が予約パケットに含まれている場合には、ルータ装置R4の予約アービタ52は、そのタイミングにおける予約テーブル53のエントリを参照する。
予約アービタ52は、予約が可能であると判定し、T1サイクルの1サイクル後のT2サイクルにおいて、+6〜+11サイクルに対応する属性エントリ101を有効とすると同時に、ルータ装置R0からの予約要求であるため、入力チャネルエントリ102をNにセットする。同時に、ルータ装置R4は、次段のルータ装置R8に向けて予約要求パケットを発行する。
次に、T3サイクルにおいては、1サイクル進んだだめ、N方向の入力チャネル1nから入力を予約していた範囲は、+5〜+10サイクルへシフトする。この時点で、IPコアIP4からの予約要求パケットがルータ装置R4に到着する。ルータ装置R4がT3サイクルから+9〜+14サイクルにおいて通常パケットの予約を行おうとした場合には、T3サイクル+9、10サイクルにおいて先に予約されたN方向の入力チャネル1nに対する予約と競合する。
ここで、IPコアIP4によって発行された後の予約要求の優先度の方が先の予約要求の優先度よりも高い場合には、ルータ装置R4は、T3+5〜+10サイクルにおけるN方向からの入力の予約を取り消して、新たにIPコアIP4からの予約を行う。
T4サイクルにおいては、T4+8〜+13サイクルに対してI方向の入力チャネル1iからの入力が新たに予約される。なお、優先度は、例えば、予約要求パケット又は予約テーブル53に保持するようにしてもよく、又は、ルータ装置においてIP4の優先度をつねに高く設定するようにしてもよい。
図10は、ルータ装置R8の予約テーブル53の動作について説明するための図である。図10は、ルータ装置R8における先の予約の取り消しに伴う、他の方向に対する予約取消動作を説明するための図である。
図10を参照すると、T4サイクルにおいて、ルータ装置R8へIPコアIP0からの予約要求パケットが到着し、T5サイクルにおいて、ルータ装置R8のE方向(R9方向)の予約テーブル53に対する予約が成立する。
しかし、T6サイクルにおいて、ルータ装置R8へIPコアIP4からの予約要求パケットが到着することから、これらの予約要求パケットは、T6+7、+8サイクルにおいて競合し、ルータ装置R8はIPコアIP0からの要求がキャンセルされたことを認識する。したがって、T7サイクルにおいては、E方向へ出力されるIPコアIP0からの予約はキャンセルされる。ルータ装置R8は、これと同時に、E方向(R9方向)へ予約取消パケットを送出する。これによって、ルータ装置R9における予約も取り消される。
上記の動作により、IPコアIP0からの通常パケットは、予約を伴わないシーケンスに従ってネットワークを流れる。通常パケットを構成する複数のフリット間に、他のパケットを構成するフリットが挿入されることが許されない場合には、IPコアIP0からのパケットは、IPコアIP4によって予約された通常パケットの通過が完了するまで、ルータ装置R4の入力FIFOバッファ2に留まる。
なお、予約テーブル53のエントリ数には限りがあるため、図4に示したように、残カウンタ56を設けることが好ましい。エントリ数の上限を超えて予約を行う場合には、残カウンタ56の残数レジスタ58に、エントリ数の上限を超えた数を記録する。図4は、一例として、エントリ数の上限(+16)を超えて4サイクルにわたって同一のパケットが続く場合を示す。このとき、予約アービタ52は、残数レジスタ58へ4をセットするとともに、最上限エントリ+16の入力チャネルエントリ55と同一の入力チャネル(S)を入力チャネルエントリ59へセットする。1サイクルごとに、残カウンタ56はカウントダウンされ、予約テーブル53の内容はシフトする。このとき、最上限エントリ+16に対し、属性生成部57によって生成された属性とともに、入力チャネルエントリ59の値がセットされる。これによって、エントリ数の上限を超えたルーティングの予約が可能となる。
(第3の実施形態)
本発明の第3の実施形態に係る半導体集積回路装置について、図面を参照して説明する。
上記の第2の実施形態に係る半導体集積回路装置21においては、ネットワークは1系統のみであった。すなわち、通常パケットのみならず、予約要求パケット及び予約取消パケットもこの1系統のネットワーク介して送受信される。しかし、かかる構成によると、予約要求パケットと通常パケットとが競合することによって、パケットの転送効率が低下することが考えられる。そこで、予約要求パケットを通常パケットとは別のネットワークを介して送受信するようにしてもよい。
図11は、本実施形態に係る半導体集積回路装置121の構成を示す図である。半導体集積回路装置121は、ネットワークオンチップ(NoC)を2重化したシステムオンチップ(SoC)である。半導体集積回路装置121においては、通常のネットワークと制御用ネットワークとが分離されている。
図11を参照すると、半導体集積回路装置121は、IPコアIP0〜IP15、ネットワークインタフェースNIF、メインルータ装置MR0〜MR15、制御ルータ装置CR0〜CR15、メイン通信チャネル125、及び、制御通信チャネル127を有する。
IPコアIP0〜IP15は、それぞれネットワークインタフェースNIFを介して、メイン通信チャネル125に接続されている。メインルータ装置MR0〜MR15は、メイン通信チャネル125を通るパケットのルーティングを行い、パケットを所望の方向のメイン通信チャネル125へ送出する。
ネットワークインタフェースNIF及び制御ルータ装置CR0〜CR15は、制御通信チャネル127を介して接続されている。メインルータ装置MR0〜MR15は、それぞれ、制御ルータ装置CR0〜CR15に接続されている。制御ルータ装置CR0〜CR15は、制御通信チャネル127を通るパケットのルーティングを行う。制御用のネットワークに対して、予約要求パケット及び予約取消パケットを流すことによって、メインルータ装置MR0〜MR15のパケットスケジューリングを予約し、又は取り消す。
制御用のネットワークは、フリット長の長いパケットを流す必要がないため、入力FIFOバッファ(非図示)のエントリ数を少なくすることができる。また、制御通信チャネル127に対するビット幅をメイン通信チャネル125に対するビット幅と比較して削減することによって、制御通信チャネル127は、通常のネットワークよりも低コストに実現しうる。また、データフリットを伴わない、メモリに対するリード要求のようなアクセス要求パケットも、制御用のネットワークに流すことによって、ネットワークのトラフィックを好適化することができる。
なお、上記の実施形態においては、データを格納した通常パケットを発行する前に、予約要求パケットを発行する必要がある。しかし、IPコアが外部メモリ又は内部メモリ(例えば、SDRAM)に接続されている場合には、これらのデバイスへアクセス要求を行ってからデータが出力されるまでに数サイクルの期間を要する場合がある。これらのデバイスと接続されたネットワークインタフェースNIFは、メモリアクセス要求を行うと同時に、予約要求パケットをネットワークに発行することが好ましい。データが得られる前に、ネットワークのルーティング及びスイッチの予約が完了することができるからである。このとき、ネットワークの遅延時間を隠蔽することができる。
以上の記載は実施形態に基づいて行ったが、本発明は、上記実施形態に限定されるものではない。
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
なお、上記実施形態の一部又は全部は、以下の付記として記載することができるものであるが、これらに限定されるものではない。
(付記1)第1のパケットを受信するとともに該第1のパケットの宛先アドレス及び到着タイミングを含む第2のパケットを受信する受信部と、
前記第2のパケットに含まれる前記第1のパケットの宛先アドレスを参照して前記第1のパケットのルーティングを行うルーティング部と、
前記第2のパケットに含まれる前記第1のパケットの宛先アドレス及び到着タイミングを参照して前記第1のパケットに対するアービトレーションを行うアービタ部と、
前記ルーティング部によるルーティング及び前記アービタ部によるアービトレーションにしたがって前記第1のパケットを転送する転送部と、を備えていることを特徴とするルータ装置。
(付記2)前記第2のパケットは、前記到着タイミングとして前記第2のパケットを受信してから前記第1のパケットを受信するまでのサイクル数である先行サイクル数を含むとともに、前記第1のパケットのフリット長を含み、
前記アービタ部は、前記先行サイクル数及び前記フリット長に基づいて前記アービトレーションを行うことを特徴とする、付記1に記載のルータ装置。
(付記3)前記転送部は、前記第2のパケットに含まれる先行サイクル数を更新するとともに、前記ルーティング部によるルーティングにしたがって前記第2のパケットを後段のルータ装置へ転送することを特徴とする、付記2に記載のルータ装置。
(付記4)前記第2のパケットは、前記第1のパケットの優先度を含み、
前記アービタ部は、前記優先度に応じてアービトレーションを行うことを特徴とする、付記1乃至3のいずれか一に記載のルータ装置。
(付記5)前記アービタ部は、前記優先度に応じてアービトレーションを行った場合において、先行するアービトレーションを取り消したときには、前記第2のパケットが転送された後段のルータへその旨を通知することを特徴とする、付記4に記載のルータ装置。
(付記6)複数のIPコアと、
前記複数のIPコア間のパケットを転送する付記1乃至5のいずれか一に記載のルータ装置と、を備えていることを特徴とする半導体集積回路装置。
(付記7)前記複数のIPコア間を接続するとともに前記第1のパケットを転送する第1の通信チャネルと、
前記複数のIPコア間を接続するとともに第2のパケットを転送する第2の通信チャネルと、をさらに備えていることを特徴とする、付記6に記載の半導体集積回路装置。
(付記8)ルータ装置が、第1のパケットを受信する前に該第1のパケットの宛先アドレス及び到着タイミングを含む第2のパケットを受信する工程と、
前記第2のパケットに含まれる前記第1のパケットの宛先アドレスを参照して前記第1のパケットのルーティングを行う工程と、
前記第2のパケットに含まれる前記第1のパケットの宛先アドレス及び到着タイミングを参照して前記第1のパケットに対するアービトレーションを行う工程と、
前記ルーティング及び前記アービトレーションにしたがって前記第1のパケットを転送する工程と、を含むことを特徴とするルーティング方法。
(付記9)前記第2のパケットは、前記到着タイミングとして前記第2のパケットを受信してから前記第1のパケットを受信するまでのサイクル数である先行サイクル数を含むとともに、前記第1のパケットのフリット長を含み、
前記ルータ装置は、前記先行サイクル数及び前記フリット長に基づいて、前記アービトレーションを行うことを特徴とする、付記8に記載のルーティング方法。
(付記10)前記第2のパケットは、前記第1のパケットの優先度を含み、
前記ルータ装置は、前記優先度に応じて前記アービトレーションを行うことを特徴とする、付記8又は9に記載のルーティング方法。
(付記11)第1のパケットを受信する前に該第1のパケットの宛先アドレス及び到着タイミングを含む第2のパケットを受信する処理と、
前記第2のパケットに含まれる前記第1のパケットの宛先アドレスを参照して前記第1のパケットのルーティングを行う処理と、
前記第2のパケットに含まれる前記第1のパケットの宛先アドレス及び到着タイミングを参照して前記第1のパケットに対するアービトレーションを行う処理と、
前記ルーティング及び前記アービトレーションにしたがって前記第1のパケットを転送する処理と、をコンピュータに実行させることを特徴とするプログラム。
(付記12)前記第2のパケットは、前記到着タイミングとして前記第2のパケットを受信してから前記第1のパケットを受信するまでのサイクル数である先行サイクル数を含むとともに、前記第1のパケットのフリット長を含み、
前記先行サイクル数及び前記フリット長に基づいて、前記アービトレーションを行う処理をコンピュータに実行させることを特徴とする、付記11に記載のプログラム。
(付記13)前記第2のパケットは、前記第1のパケットの優先度を含み、
前記優先度に応じて前記アービトレーションを行う処理をコンピュータに実行させることを特徴とする、付記11又は12に記載のプログラム。
(付記14)付記11乃至13のいずれか一に記載のプログラムが記録されていることを特徴とする、コンピュータ読み取り可能な記録媒体。
1、1n、1e、1s、1w、1i 入力チャネル
2、2n、2e、2s、2w、2i 入力FIFOバッファ
3、3n、3e、3s、3w、3i スルーライン
4、4n、4e、4s、4w、4i 入力FIFOバッファ出力チャネル
5 クロスバー
6、6n、6e、6s、6w、6i、12、12n、12e、12s、12w、12i、14 セレクタ
7、7n、7e、7s、7w、7i 出力ラッチ
8、8n、8e、8s、8w、8i 出力チャネル
9、9n、9e、9s、9w、9i、33、50 アービタ部
10、10n、10e、10s、10w、10i 入力ラッチ
11、11n、11e、11s、11w、11i、32 ルーティング部
13、13n、13e、13s、13w、13i 予約要求パケット生成部
20、30、R0〜R15 ルータ装置
21、121 半導体集積回路装置
25、202 通信チャネル
31 受信部
34 転送部
51 セレクタアービタ
52 予約アービタ
53 予約テーブル
54、101 属性エントリ
55、59、102 入力チャネルエントリ
56 残カウンタ
57 属性生成部
58 残数レジスタ
60 減算ユニット
61 入力FIFOバッファからの調停要求
62 予約情報
63 調停結果信号
64 予約要求
65 調停結果通知信号
66 予約結果通知信号
81、91 パケットボディ信号
82、92 サイドバンド信号
83、93 宛先アドレス
84、94 フリット長
85 制御情報
86 アクセスアドレス
87 アクセス属性
88 データ
89 ライトバッファ
95 先行サイクル数
125 メイン通信チャネル
127 制御通信チャネル
204 EVC(Express Virtual Channel)
CR0〜CR15 制御ルータ装置
IP0〜IP15 IP(Intellectual Property)コア
MR0〜MR15 メインルータ装置
NIF ネットワークインタフェース

Claims (13)

  1. 宛先アドレスを有するヘッダ部とデータ部を含む第1のパケットを受信するとともに、前記第1のパケットの宛先アドレス、フリット長、及び、前記第1のパケットが到着するまでのサイクル数である先行サイクル数を含む第2のパケットを前記第1のパケットに先行して受信する受信部と、
    前記第2のパケットに含まれる前記第1のパケットの宛先アドレスを参照して前記第1のパケットのルーティングを行うルーティング部と、
    前記第2のパケットに含まれる前記第1のパケットの宛先アドレス、フリット長、及び、先行サイクル数を参照して前記第1のパケットに対するアービトレーションを行い、前記第1のパケットが到着するタイミングにおいて、前記第1のパケットのフリット長に対応するサイクル数の出力チャネルを予約するアービタ部と、
    前記ルーティング部によるルーティング及び前記アービタ部によるアービトレーションにしたがって前記第1のパケットをバッファに格納することなく転送する転送部と、を備え、
    前記転送部は、前記第2のパケットに含まれる先行サイクル数と前記アービトレーションに要するサイクル数との大小関係に応じて、前記第2のパケットを後段のルータに転送するか否かを判定する、ルータ装置。
  2. 前記転送部は、受信時の前記第2のパケットに含まれる先行サイクル数を、前記アービトレーションに要するサイクル数だけ減算した後、前記第2のパケットを後段のルータに転送する、請求項1に記載のルータ装置。
  3. 前記転送部は、受信時の前記第2のパケットに含まれる先行サイクル数が1である場合、前記第2のパケットを後段のルータに転送しない、請求項2に記載のルータ装置。
  4. 前記第2のパケットは、前記第1のパケットの優先度を含み、
    前記アービタ部は、前記優先度に応じてアービトレーションを行い、優先度の低い前記第1のパケットの予約を取り消し
    予約を取り消された前記第1のパケットが到着した場合、前記ルーティング部は、前記第1のパケットのヘッダ部に含まれる宛先アドレスに基づいてルーティングを行い、前記アービタ部は、バッファに格納された前記第1のパケットを出力すべき出力チャネルが空いているか否かを判定し、空いているときに該出力チャネルを前記第1のパケットに割り当てる、請求項1乃至3のいずれか1項に記載のルータ装置。
  5. 前記アービタ部は、前記優先度に応じてアービトレーションを行った場合において、先行するアービトレーションを取り消したときには、前記第2のパケットが転送された後段のルータへその旨を通知する、請求項4に記載のルータ装置。
  6. 複数のIPコアと、
    前記複数のIPコア間のパケットを転送する請求項1乃至5のいずれか1項に記載のルータ装置と、を備える、半導体集積回路装置。
  7. 前記複数のIPコア間を接続するとともに前記第1のパケットを転送する第1の通信チャネルと、
    前記複数のIPコア間を接続するとともに第2のパケットを転送する第2の通信チャネルと、をさらに備える、請求項6に記載の半導体集積回路装置。
  8. ルータ装置が、宛先アドレスを有するヘッダ部とデータ部を含む第1のパケットを受信する前に、前記第1のパケットの宛先アドレス、フリット長、及び、前記第1のパケットが到着するまでのサイクル数である先行サイクル数を含む第2のパケットを受信する工程と、
    前記第2のパケットに含まれる前記第1のパケットの宛先アドレスを参照して前記第1のパケットのルーティングを行う工程と、
    前記第2のパケットに含まれる前記第1のパケットの宛先アドレス、フリット長、及び、先行サイクル数を参照して前記第1のパケットに対するアービトレーションを行い、前記第1のパケットが到着するタイミングにおいて、前記第1のパケットのフリット長に対応するサイクル数の出力チャネルを予約する工程と、
    前記ルーティング及び前記アービトレーションにしたがって前記第1のパケットをバッファに格納することなく転送する工程と、
    前記第2のパケットに含まれる先行サイクル数と前記アービトレーションに要するサイクル数との大小関係に応じて、前記第2のパケットを後段のルータに転送するか否かを判定する工程と、を含む、ルーティング方法。
  9. 前記ルータ装置が、受信時の前記第2のパケットに含まれる先行サイクル数を、前記アービトレーションに要するサイクル数だけ減算した後、前記第2のパケットを後段のルータに転送する工程を含む、請求項8に記載のルーティング方法。
  10. 前記第2のパケットは、前記第1のパケットの優先度を含み、
    前記ルータ装置、前記優先度に応じて前記アービトレーションを行い、優先度の低い前記第1のパケットの予約を取り消す工程と、
    予約を取り消された前記第1のパケットが到着した場合、前記第1のパケットのヘッダ部に含まれる宛先アドレスに基づいてルーティングを行い、バッファに格納された前記第1のパケットを出力すべき出力チャネルが空いているか否かを判定し、空いているときに該出力チャネルを前記第1のパケットに割り当てる工程と、を含む、請求項8又は9に記載のルーティング方法。
  11. 宛先アドレスを有するヘッダ部とデータ部を含む第1のパケットを受信する前に、前記第1のパケットの宛先アドレス、フリット長、及び、前記第1のパケットが到着するまでのサイクル数である先行サイクル数を含む第2のパケットを受信する処理と、
    前記第2のパケットに含まれる前記第1のパケットの宛先アドレスを参照して前記第1のパケットのルーティングを行う処理と、
    前記第2のパケットに含まれる前記第1のパケットの宛先アドレス、フリット長、及び、先行サイクル数を参照して前記第1のパケットに対するアービトレーションを行い、前記第1のパケットが到着するタイミングにおいて、前記第1のパケットのフリット長に対応するサイクル数の出力チャネルを予約する処理と、
    前記ルーティング及び前記アービトレーションにしたがって前記第1のパケットをバッファに格納することなく転送する処理と、
    前記第2のパケットに含まれる先行サイクル数と前記アービトレーションに要するサイクル数との大小関係に応じて、前記第2のパケットを後段のルータに転送するか否かを判定する処理と、をコンピュータに実行させる、プログラム。
  12. 受信時の前記第2のパケットに含まれる先行サイクル数を、前記アービトレーションに要するサイクル数だけ減算した後、前記第2のパケットを後段のルータに転送する処理を前記コンピュータに実行させる、請求項11に記載のプログラム。
  13. 前記第2のパケットは、前記第1のパケットの優先度を含み、
    前記優先度に応じて前記アービトレーションを行い、優先度の低い前記第1のパケットの予約を取り消す処理と、
    予約を取り消された前記第1のパケットが到着した場合、前記第1のパケットのヘッダ部に含まれる宛先アドレスに基づいてルーティングを行い、バッファに格納された前記第1のパケットを出力すべき出力チャネルが空いているか否かを判定し、空いているときに該出力チャネルを前記第1のパケットに割り当てる処理を、前記コンピュータに実行させる、請求項11又は12に記載のプログラム。
JP2011506070A 2009-03-24 2010-03-24 ルータ装置、半導体集積回路装置、ルーティング方法及びプログラム Expired - Fee Related JP5488589B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011506070A JP5488589B2 (ja) 2009-03-24 2010-03-24 ルータ装置、半導体集積回路装置、ルーティング方法及びプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009072507 2009-03-24
JP2009072507 2009-03-24
PCT/JP2010/055032 WO2010110289A1 (ja) 2009-03-24 2010-03-24 ルータ装置、半導体集積回路装置、ルーティング方法及びプログラム
JP2011506070A JP5488589B2 (ja) 2009-03-24 2010-03-24 ルータ装置、半導体集積回路装置、ルーティング方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2010110289A1 JPWO2010110289A1 (ja) 2012-09-27
JP5488589B2 true JP5488589B2 (ja) 2014-05-14

Family

ID=42780983

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011506070A Expired - Fee Related JP5488589B2 (ja) 2009-03-24 2010-03-24 ルータ装置、半導体集積回路装置、ルーティング方法及びプログラム

Country Status (2)

Country Link
JP (1) JP5488589B2 (ja)
WO (1) WO2010110289A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5943115B1 (ja) * 2015-03-27 2016-06-29 日本電気株式会社 集積回路、半導体装置、カード及びデータ転送方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5741224B2 (ja) * 2011-05-31 2015-07-01 富士通株式会社 通信制御方法及び中継装置
US8885510B2 (en) * 2012-10-09 2014-11-11 Netspeed Systems Heterogeneous channel capacities in an interconnect
US10673745B2 (en) * 2018-02-01 2020-06-02 Xilinx, Inc. End-to-end quality-of-service in a network-on-chip

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003152774A (ja) * 2001-11-19 2003-05-23 Matsushita Electric Ind Co Ltd 可変長パケット交換機
JP2005032225A (ja) * 2003-05-07 2005-02-03 Agilent Technol Inc 複数の相互接続デバイス間のデータ通信を制御する方法及びシステム
JP2007013412A (ja) * 2005-06-29 2007-01-18 Mitsubishi Electric Corp パケット読み出し制御装置
JP2007110706A (ja) * 2005-10-12 2007-04-26 Samsung Electronics Co Ltd AXIプロトコルを適用したNoCシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003152774A (ja) * 2001-11-19 2003-05-23 Matsushita Electric Ind Co Ltd 可変長パケット交換機
JP2005032225A (ja) * 2003-05-07 2005-02-03 Agilent Technol Inc 複数の相互接続デバイス間のデータ通信を制御する方法及びシステム
JP2007013412A (ja) * 2005-06-29 2007-01-18 Mitsubishi Electric Corp パケット読み出し制御装置
JP2007110706A (ja) * 2005-10-12 2007-04-26 Samsung Electronics Co Ltd AXIプロトコルを適用したNoCシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6010027893; Li-Shiuan Peh, Willaim J.Dally: 'Flit-Reservation Flow Control' Proceedings,Sixth International Symposium on High-Performance Computer Architecture , 20000112, pp.73-84 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5943115B1 (ja) * 2015-03-27 2016-06-29 日本電気株式会社 集積回路、半導体装置、カード及びデータ転送方法
US10027579B2 (en) 2015-03-27 2018-07-17 Nec Corporation Integrated circuit, semiconductor device, card and data transfer method

Also Published As

Publication number Publication date
WO2010110289A1 (ja) 2010-09-30
JPWO2010110289A1 (ja) 2012-09-27

Similar Documents

Publication Publication Date Title
EP2280513B1 (en) Router, information processing device having said router, and packet routing method
JP4808513B2 (ja) システムオンチップの大域的非同期通信アーキテクチャ
JP5320512B2 (ja) 中継器、中継器の制御方法、およびプログラム
CN104158738A (zh) 一种低缓冲区片上网络路由器及路由方法
US20070180310A1 (en) Multi-core architecture with hardware messaging
US20140314076A1 (en) Credit flow control scheme in a router with flexible link widths utilizing minimal storage
JP5793690B2 (ja) インタフェース装置、およびメモリバスシステム
JP5552196B2 (ja) 中継装置、中継装置の制御方法、およびコンピュータプログラム
US20150071282A1 (en) Architecture and method for hybrid circuit-switched and packet-switched router
JP5488589B2 (ja) ルータ装置、半導体集積回路装置、ルーティング方法及びプログラム
EP1728359A1 (en) Integrated circuit and method for packet switching control
CN114679415A (zh) 一种满足AXI5-Lite协议标准的无阻塞banyan网络
Nambinina et al. Extension of the lisnoc (network-on-chip) with an axi-based network interface
KR100901691B1 (ko) 메쉬-스타 혼합 온칩 네트워크 통신 시스템 및 그의 통신방법
JP2009194510A (ja) 優先調停システム及び優先調停方法
Choudhary Bursty Communication Performance Analysis of Network-on-Chip with Diverse Traffic Permutations
Salcic et al. A time predictable heterogeneous multicore processor for hard real-time GALS programs
Lee et al. Design of a feasible on-chip interconnection network for a chip multiprocessor (cmp)
Salah et al. Design of a 2d mesh-torus router for network on chip
WO2006048826A1 (en) Integrated circuit and method for data transfer in a network on chip environment
WO2020087248A1 (zh) 多核芯片数据总线布线结构和数据发送的方法
Berejuck et al. Adding mechanisms for QoS to a network-on-chip
Rekha et al. Analysis and Design of Novel Secured NoC for High Speed Communications
Sahu Bidirectional Network-on-Chip Router Implementation Using VHDL
Prasad et al. Efasbran: error free adaptive shared buffer router architecture for network on chip

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140106

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140210

R150 Certificate of patent or registration of utility model

Ref document number: 5488589

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees