(57)【要約】  本発明は、ネットワークインタフェースのルーティング参照表をルーティングの動的な変更等に柔軟に対応可能とし構成を簡易化可能としコストを低減する装置と方法、システムを提供する。情報処理ユニット、記憶ユニット、インタフェースユニットのうちの少なくとも一つのユニットを複数備え、交信チャネルとルータから構成されるオンチップネットワークと前記ユニットはネットワークインタフェースを介して接続される半導体装置であって、前記ネットワークインタフェースは、前記オンチップネットワークの所望経路上に存在する各ルータにおいてどの交信チャネルへ出力するかを、ルータ個々に指定した一又は複数の出力情報から構成されるルーティング情報を保持するルーティング参照表を備え、前記ルーティング参照表は、前記ルーティング参照表の属するネットワークインタフェースが送信する可能性があるネットワーク交信のルーティング情報のうちの一部を保持し、ルーティング時、該ルーティングに必要なルーティング情報が前記ルーティング参照表に保持されているか否かを判定する半導体装置が提供される。
2011148925.tif 000002
【特許請求の範囲】
【請求項１】
情報処理ユニット、記憶ユニット、インタフェースユニットのうちの少なくとも一つのユニットを複数備え、交信チャネルとルータから構成されるオンチップネットワークと前記ユニットはネットワークインタフェースを介して接続される半導体装置であって、
前記ネットワークインタフェースは、前記オンチップネットワークの所望経路上に存在する各ルータにおいてどの交信チャネルへ出力するかを、ルータ個々に指定した一又は複数の出力情報から構成されるルーティング情報を保持するルーティング参照表を備え、
前記ルーティング参照表は、前記ルーティング参照表の属するネットワークインタフェースが送信する可能性があるネットワーク交信のルーティング情報のうちの一部を保持し、
ルーティング時、該ルーティングに必要なルーティング情報が前記ルーティング参照表に保持されているか否かを判定する、ことを特徴とする半導体装置。
【請求項２】
前記ルーティング参照表は、書き換え可能なデバイスを備え、
前記ルーティング情報を検索するためのタグ情報を具備する、ことを特徴とする請求項１記載の半導体装置。
【請求項３】
前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定し、前記ルーティング参照表に必要なルーティング情報が保持されていると判断した場合に、
前記ルーティング参照表が保持している前記ルーティング情報を、ネットワークパケットのフリットに付与してパケットを送出する、ことを特徴とする請求項１又は２記載の半導体装置。
【請求項４】
前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、
前記ルーティング参照表に、新たに要求のあったルーティング情報を登録し、必要なルーティング情報と前記ルーティング参照表のルーティング情報を一致した状態とした上で、前記ルーティング情報を、ネットワークパケットのフリットに付与してパケットを送出する、ことを特徴とする請求項１乃至３のいずれか一に記載の半導体装置。
【請求項５】
前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、
他の情報処理ユニットに対して割り込みをかける、ことを特徴とする請求項１乃至４のいずれか一に記載の半導体装置。
【請求項６】
前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、
受信先情報からルーティング情報を計算し、該計算したルーティング情報を前記ルーティング参照表に登録する、ことを特徴とする請求項１乃至５のいずれか一に記載の半導体装置。
【請求項７】
前記ネットワークインタフェースは、前記ルーティング情報が前記ルーティング参照表上で不一致となった場合には、予め定められたパケットを生成して、当該パケットを前記情報処理ユニットに送出し、
不一致となった状況を、ネットワークの他の地点に接続された情報処理ユニットに通知する、ことを特徴とする請求項１乃至５のいずれか一に記載の半導体装置。
【請求項８】
前記ネットワークインタフェースは、前記ルーティング参照表の書き換えの要求を行うネットワークの制御パケットを定義し、ネットワークインタフェースが上記制御パケットを受領した際には、パケットの内容に従ってルーティング情報を登録する、ことを特徴とする請求項１乃至７のいずれか一に記載の半導体装置。
【請求項９】
情報処理ユニット、記憶ユニット、インタフェースユニットのうちの少なくとも一つのユニットを複数備え、交信チャネルとルータから構成されるオンチップネットワークと前記ユニットはネットワークインタフェースを介して接続されるシステムのネットワークルーティング方法であって、
前記ネットワークインタフェースは、前記オンチップネットワークの所望経路上に存在する各ルータにおいてどの交信チャネルへ出力するかを、ルータ個々に指定した一又は複数の出力情報から構成されるルーティング情報を保持するルーティング参照表を備え、
前記ルーティング参照表は、前記ルーティング参照表の属するネットワークインタフェースが送信する可能性があるネットワーク交信のルーティング情報のうちの一部を保持し、ルーティング時、該ルーティングに必要なルーティング情報が前記ルーティング参照表に保持されているか否かを判定する、ことを特徴とするネットワークルーティング方法。
【請求項１０】
情報処理ユニット、記憶ユニット、インタフェースユニットのうちの少なくとも一つのユニットを複数備え、交信チャネルとルータから構成されるオンチップネットワークと前記ユニットはネットワークインタフェースを介して接続されるネットワークシステムであって、
前記ネットワークインタフェースは、前記オンチップネットワークの所望経路上に存在する各ルータにおいてどの交信チャネルへ出力するかを、ルータ個々に指定した一又は複数の出力情報から構成されるルーティング情報を保持するルーティング参照表を備え、
前記ルーティング参照表は、前記ルーティング参照表の属するネットワークインタフェースが送信する可能性があるネットワーク交信のルーティング情報のうちの一部を保持し、
ルーティング時、該ルーティングに必要なルーティング情報が前記ルーティング参照表に保持されているか否かを判定する、ことを特徴とするネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本発明は、日本国特許出願：特願２０１０−１１８０８４号（２０１０年５月２４日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。【０００２】
本発明は、半導体装置に関し、特に、例えば複数のＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）コアを集積したＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）集積回路であるＳｙｓｔｅｍ  ｏｎ  ａ  Ｃｈｉｐ（ＳｏＣとも略記される）等においてＩＰコア間のデータ交信用ネットワークオンチップ（Ｎｅｔｗｏｒｋ  ｏｎ  ａ  Ｃｈｉｐ：  ＮｏＣとも略記される）等に適用して好適な装置構成及び方法とシステムに関する。
【背景技術】
【０００３】
従来、複数のＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）コアを集積したＬＳＩ集積回路であるＳｙｓｔｅｍ  ｏｎ  ａ  Ｃｈｉｐ（ＳｏＣ）等において、ＩＰコア間の接続にはバスが用いられている。例えば、ＡＲＭ社が提唱するＡＭＢＡは、このようなバスの業界標準となっている。ＡＭＢＡは、コア数の増加、チップの複雑化に対応し、ＡＨＢ（Ａｄｖａｎｃｅｄ  Ｈｉｇｈ−ｐｅｒｆｏｒｍａｎｃｅ  Ｂｕｓ）、マルチレイヤＡＨＢ、ＡＸＩ（Ａｄｖａｎｃｅｄ  ｅＸｔｅｎｓｉｂｌｅ  Ｉｎｔｅｒｆａｃｅ）というように進化してきた。【０００４】
しかしながら、上記のようなバス構成では、配線長が長くなり、その結果、周波数の向上への対応が難しくなっている。また、同一チップ内の複数ＩＰコアからのアクセス競合に対する調停を集中的に行う必要がある。そのため、同一チップ内に搭載されるＩＰコアの数の変動に対して、バスを作り直す必要が生じる、等といった問題が生じている。【０００５】
これらの問題に対処すべく、バスを階層的に接続することによって、ローカリティを持たせて対処する方法が、高性能なＳｏＣでは、積極的に行われてきた。【０００６】
＜ＮｏＣ＞
上記とは別に、データをパケット化して送ることにより、通信のローカリティを有効に活用しつつ、調停を各ルータに分散させることによってスケーラビリティを確保可能なＮｏＣ（Ｎｅｔｗｏｒｋ  ｏｎ  Ｃｈｉｐ）は、米国Ｓｔａｎｆｏｒｄ大学のＤａｌｌｙ，  Ｗ．Ｊ．等による非特許文献１で提案されており、近年積極的に研究されてきた。【０００７】
実際のチップにＮｏＣを採用した例として、例えばＴＩＬＥＲＡ社のＴＩＬＥ６４、Ｉｎｔｅｌ社の８０コアチップや４８コアチップ、ＣＥＡ−ＬｅｔｉのＦＡＵＳＴチップ、ＭＡＧＡＬＩチップ等があげられる。【０００８】
＜ＮｏＣの一例：４ｘ４メッシュ構造＞
これらは、基本的に、図８に示すようなルータ（Ｒｏｕｔｅｒ）３０２と、通信チャネル３０５によってネットワークを構成している。ネットワークノードをなすＩＰコア３０３はネットワークインタフェース（ＮＩ）３０４により通信チャネル３０５を介して各々に対応するルータ（Ｒｏｕｔｅｒ）３０２に接続し、ネットワークと交信する。ネットワークインタフェース３０４とルータ３０２間は、パケット単位にデータの転送が行われる。ルータ以降のネットワーク上でのデータ転送は、パケットを複数のフリットという単位に分割して行われる。【０００９】
より詳細には、ルータ３０２は、図９に示すように、複数のフリットから構成されたパケットをこれらのネットワークに流すことによって交信を実現する。パケットは、受信先ＩＰ位置情報３２３、フリット長３２４、制御情報３２５、アクセスアドレス３２６、アクセス属性３２７（パケットヘッダー）と、データ３２８（ペイロード）からなり、図９の例では、先頭フリットであるフリット０からフリットｎまでのｎ＋１個のフリットに分割される。各フリットは、サイドバンド信号（フリットの属性情報）３２２とパケットボディ信号（制御情報／ペイロード）３２１からなる。【００１０】
各ルータ３０２は、受け取ったパケットを、ネットワークを介して送信先（宛先）のネットワークインタフェース（ＮＩ）３０４に送るために、適切な出力ポートに送出する。その際、
（A）ルータ３０２内で送信先のアドレスやＩＤを見た上で、予め定められた所定の規則に基づき、次のホップに向けた送出先を決定する分散ルーティング方式と、
（B）データの送信元のネットワークインタフェースにおいて、送信先までのルーティングを全て決定してしまい、ルーティング情報をパケットに含めソースルーティング方式
が存在する。【００１１】
＜ソースルーティング方式＞
このうち（Ｂ）のソースルーティング方式では、各ルータ３０２における出力チャネル情報を、送信側のネットワークインタフェースにおいて、あらかじめパケットに埋め込むことにより、各ルータでは、この情報を抽出するだけで、ルーティングを完了することができる。このため、ルータの簡単化を図ることができる。【００１２】
例えば、Ｉｎｔｅｌ社の８０−Ｔｉｌｅ  １．２８ＴＦＬＯＰＳ  Ｎｅｔｗｏｒｋ−ｏｎ−Ｃｈｉｐでは、このソースルーティング方式を採用している（非特許文献２）。【００１３】
図１０は、この関連技術のチップにおけるパケットの先頭フリット（フリット０）を示している。図１０に示すように、このチップでは、出力側ネットワークインタフェースで、ルータ毎に出力先を示したＤＩＤ（Ｄｅｓｔｉｎａｔｉｏｎ  ＩＤｓ）３４１を１０ホップ分生成し（ＤＩＤ０〜ＤＩＤ１０）、パケット内に定義している。なお、ＣＨ（Ｃｈａｉｎｅｄ  Ｈｅａｄｅｒ）３４２はリンク先のヘッダーへのポインタである。【００１４】
ルータ３０２は、ＤＩＤに従って出力ポートを決定する。従って、各ルータ３０２は、ＤＩＤの値を抽出するだけでルーティングが可能である。このように、ソースルーティング方式は、各ルータ３０２の構造を簡単化することができる。【００１５】
しかしながら、ソースルーティング方式では、送信側のネットワークインタフェース３０４でルーティング計算を行う必要が生じる。【００１６】
ネットワークインタフェース３０４におけるルーティング計算としては、
・行き先に応じた参照表（Ｌｏｏｋ−ｕｐ  Ｔａｂｌｅ）を引く、
・行き先番号から、ハードウェアもしくはソフトウェアによってルーティングを計算する、
等の適用が考えられる。【００１７】
＜参照表＞
このうち、参照表を引いてルーティング計算する手法は、例えば非特許文献３に記載されているように、ネットワークインタフェース３０４内で参照表（ルーティング参照表）を引いて、それに従ったルーティングを各ルータ３０２が行うことによって、パケットをルーティング、転送する。【００１８】
これらの処理イメージを、図１１に示す。図１１において、送信側のＩＰコア、ここではＣＰＵ３６１が、受信先のＩＰコアであるメモリ３６８に対して更新（データの書き込み等）を行う場合には、要求をネットワークインタフェース３６２に伝え、ネットワークインタフェース３６２は、自身が持つ参照表３６３によって、パケットの受信先のアドレスをルーティング情報に変換し、該ルーティング情報を、当該パケットのヘッダーに書き込む。【００１９】
ルータ３６４、３６５は、それぞれ、パケット・ヘッダーに書き込まれたルーティング情報に基づき、出力ポートを決定し、パケットを、受信先のネットワークインタフェース３６６に届ける。【００２０】
受信先のネットワークインタフェース３６６において、受信したパケットをデコードした上、受信先のメモリ３６８にデータを渡すことで更新（データの書き込み）が成立する。【００２１】
＜参照表の実装例＞
非特許文献３では、参照表の実装方法として、図１２に示すように、
（ａ）ハードワイヤード型、
（ｂ）レジスタベースの再構成可能型
（ｃ）ＲＡＭベースの再構成可能型、
（ｄ）選択ハードワイヤード型
を挙げている。【００２２】
ハードワイヤード型は、ｎ個のルーティング情報の中から１つを選択するマルチプレクサ（Ｍｕｘ  ｎｘ１）と、ＰＥアドレスを入力しマルチプレクサに対して選択信号を与えるアドレスエンコーダを備える。レジスタベースの完全再構成可能型（Ｆｕｌｌｙ  Ｃｏｎｆｉｇｕｒａｂｌｅ−Ｒｅｇｉｓｔｅｒ  Ｂａｓｅｄ）は、ＳＣＡＮ  ＥＮでＳＣＡＮ  ＩＮのＳＣＡＮが制御されるＳｃａｎ  Ｒｅｇｉｓｔｅｒ列と、ｎ個の中から１つを選択するマルチプレクサ（Ｍｕｘ  ｎｘ１）と、ＰＥアドレスを入力しマルチプレクサの選択信号を与えるアドレスエンコーダを備える。ＲＡＭベースの完全再構成可能型（Ｆｕｌｌｙ  Ｃｏｎｆｉｇｕｒａｂｌｅ−ＲＡＭ  Ｂａｓｅｄ）は、ＳＣＡＮ  ＥＮでＳＣＡＮ  ＩＮのＳＣＡＮが制御されるＳｃａｎ  Ｒｅｇｉｓｔｅｒと、Ｓｃａｎ  Ｒｅｇｉｓｔｅｒの出力をデータ入力端子ＤＩＮに受けるＲＡＭと、ＰＥアドレスを入力しＲＡＭのアクセスアドレスを与えるアドレスエンコーダを備える。部分再構成型（Ｐａｒｔｉａｌｌｙ  Ｃｏｎｆｉｇｕｒａｂｌｅ）は、（ａ）のハードワイヤード回路の複数個のルーティング情報の１つをＳｃａｎ  Ｒｅｇｉｓｔｅｒの出力で選択するセレクタｉｘ１を備え、セレクタｉｘ１の出力がマルチプレクサに供給される。【００２３】
非特許文献３では、ルーティング情報を混雑度などに応じて、動的に変更できる再構成可能型のハードウェア及び面積コストを論じており、あらかじめ複数のルーティング情報から一つを選択する、（ｄ）の選択ハードワイヤード型が、面積コスト、ハードウェア・コストが低く、かつ目的としている動的ルーティング変更に対応可能と結論づけている。【００２４】
非特許文献３による参照表は、図１３に示すように、ルーティング情報テーブル３８１すべてのパケット受信先アドレス３８２に対するルーティング情報３８３を保持している。図１３に示す例では、ルーティング情報テーブル３８１は、送信先として考えられるエントリを全て保持している。Ｗは現在のノードに対して西に１ホップ分離れた位置のルータ、Ｓは現在のノードに対して南に１ホップ離れた位置のルータ、ＩＰは現在のルータに接続するＩＰコアを指示している。【００２５】
ソースルーティング方式では、図１０に示したように、ルーティング情報をフリット内にすべて書き込む必要があるため、ルータ数が増加した場合に、フリットのサイズが大きくなったり、あるいは、すべてのＩＰコアと交信することができなくなる、という問題が生じる。【００２６】
＜先願発明＞
本願の発明者は、先願（特願２００９−１２５５８０号、国際公開第２０１０／１３７５７２号）において、上記問題に対応する技術を提案している。【００２７】
図１４は、先願（特願２００９−１２５５８０号、国際公開第２０１０／１３７５７２号）で提案した構成例を示すブロック図である。図１４に示す例では、メインルータ４０３は、ネットワークインタフェース４０２と同様にルーティング計算能力を備えたものであり、遠方への交信はネットワークインタフェース４０２が、パケット受信先方向のメインルータ４０３までのルーティングを行い、パケット転送を行う。この構成によれば、ネットワーク上のほとんどのルータは、ルーティング計算機能を持たないサブルータ４０４となり、コストを削減することができる。【００２８】
＜特許文献１＞
特許文献１には、通信ノード装置の各回線インタフェースに設けたルーティングテーブル(キャッシュメモリ)のメモリ容量有効活用と、ルーティング情報の検索ヒット率向上を図る通信ノード装置が提案されている。この特許文献１には、各回線インタフェースボードは、サブ・ルーティングテーブル(キャッシュメモリ)を備えており、入力回線から受信した可変長パケットのヘッダに含まれる宛先アドレスに基づいて、受信パケットを送出すべき出力回線番号を特定する通信ノード装置（ルート管理装置）が開示されている。【００２９】
＜特許文献２＞
また、ネットワークオンチップ（ＮＯＣ）の構成として、特許文献２には、集積プロセッサ（ＩＰ）ブロック、ルーター、メモリ通信コントローラおよびネットワーク・インターフェイス・コントローラを含むネットワークオンチップ（ＮＯＣ）であって、各々の前記ＩＰブロックが、前記メモリ通信コントローラおよび前記ネットワーク・インターフェイス・コントローラを介して、前記ルーターに結合され、各々の前記メモリ通信コントローラが、前記ＩＰブロックおよびメモリ間の通信を制御し、各々の前記ネットワーク・インターフェイス・コントローラが、前記ルーターを介してＩＰブロック間通信を制御する、ネットワークオンチップ（ＮＯＣ）が開示されている。
【先行技術文献】
【特許文献】
【００３０】
【特許文献１】特開２００１−０４５０６１号公報
【特許文献２】特開２００９−１１０５１２号公報
【特許文献３】国際公開第２０１０／１３７５７２号公報
【非特許文献】
【００３１】
【非特許文献１】“Route packets, not wires: on-chip interconnection networks”, Dally W.J., Towles B., Design Automation Conference, 2001. page: 684- 689
【非特許文献２】“An 80-Tile 1.28TFLOPS Network-on-Chip in 65nm CMOS”, Sriram Vangal, Jason Howard, Gregory Ruhl, Saurabh Dighe, Howard Wilson, James Tschanz, David Finan, Priya Iyer, Arvind Singh, Tiju Jacob, Shailendra Jain, Sriram Venkataraman, Yatin Hoskote, Nitin Borkar IEEE International Solid State Circuit Conference 2007, pp98-99
【非特許文献３】“Synthesis of Low-Overhead Configurable Source Routing Tables for Network Interfaces”, Igor Loi, Federico Angiolini, and Luca Benini, Design, Automation & Test in Europe 2009, pp262-267
【発明の概要】
【発明が解決しようとする課題】
【００３２】
以下に関連技術の分析を与える。【００３３】
先に述べたように、非特許文献３では、図１２（ｄ）に示した選択ハードワイヤード型が、面積及びハードウェア・コスト上有利である旨が結論されている。【００３４】
しかしながら、複数のルーティング候補から１つのルーティング候補を選択できるとしても、ハードウェア設計時に、それらのルーティングを洗い出して定義する必要が生じる。そして、これらの定義から外れたルーティングは、選択することができない。【００３５】
また、各々のＩＰコア３０３に接続したネットワークインタフェース（ＮＩ）３０４が、それぞれの位置情報に基づいた固有のルーティング情報を持つ必要が生じるため、論理の単純コピーによる設計は不可能となり、検証のコストが増大する。【００３６】
これに対して、図１２（ｂ）レジスタベースの再構成可能型、図１２（ｃ）ＲＡＭベースの再構成可能型は、ルーティング情報をチップ製造後に決定することが可能であり、さらに、動的に書き換え可能である。このため、これらの構成によれば、図１２（ｄ）の選択ハードワイヤード型で生じた上記問題点を回避することはできる。【００３７】
しかしながら、図１２（ｂ）のレジスタベースの再構成可能型、及び、図１２（ｃ）のＲＡＭベースの再構成可能型では、
・書き換え可能領域が増加することで参照表のエントリ数が増加した場合や、
・ネットワークオンチップの規模の増大によるホップ数の増加により、
必要な１エントリあたりのサイズが増大すると、そのまま、ハードウェア・コストの増大に繋がる、という問題が生じる。【００３８】
したがって、本発明の目的は、ネットワークインタフェースのルーティング参照表をルーティングの動的な変更等に対して柔軟に対応可能とし、構成を簡易化可能とし、コストを低減する半導体装置、方法、システムを提供することにある。
【課題を解決するための手段】
【００３９】
本発明によれば、情報処理ユニット、記憶ユニット、インタフェースユニットのうちの少なくとも一つのユニットを複数備え、交信チャネルとルータから構成されるオンチップネットワークと前記ユニットはネットワークインタフェースを介して接続される半導体装置において、前記ネットワークインタフェースは、前記オンチップネットワークの所望経路上に存在する各ルータにおいてどの交信チャネルへ出力するかを、ルータ個々に指定した一又は複数の出力情報から構成されるルーティング情報を保持するルーティング参照表を備え、前記ルーティング参照表は、前記ルーティング参照表の属するネットワークインタフェースが送信する可能性があるネットワーク交信のルーティング情報のうちの一部を保持し、ルーティング時、該ルーティングに必要なルーティング情報が前記ルーティング参照表に保持されているか否かを判定する、半導体装置（方法、システム）が提供される。
【発明の効果】
【００４０】
本発明によれば、ネットワークインタフェースのルーティング参照表を、ルーティングの動的な変更等に柔軟対応しつつ、構成を簡易化可能とし、トータルのチップコストを低減することができる。
【図面の簡単な説明】
【００４１】
【図１】本発明を適用したオンチップネットワークのネットワークインタフェースを示したブロック図である。
【図２】本発明を適用したネットワークインタフェース中のルーティング参照表を示したブロック図である。
【図３】本発明を適用したネットワークパケットの先頭フリットの構成を示す図である。
【図４】本発明の実施の形態を説明する参照テーブルの内容を示す図である。
【図５】本発明を適用したネットワークパケットの先頭フリットの構成を示す図である。
【図６】本発明の実施の形態を説明する参照テーブルの内容を示す図である。
【図７】本発明の実施の形態に基づき電源スイッチを具備したルーティング参照表を示すブロック図である。
【図８】関連技術のネットワークオンチップを採用したＳｏＣのブロック図である。
【図９】関連技術のネットワークオンチップにおけるパケットのフォーマット図である。
【図１０】関連技術のルート情報を示したパケットのフォーマット図である。
【図１１】関連技術のルーティング参照表を用いたソースルーティング方式によるパケット伝送概略図である。
【図１２】非特許文献３で示されているルーティング参照表の構成例を示す図である。
【図１３】ルーティング参照表のイメージ図である。
【図１４】先願（特願２００９−１２５５８０号、国際公開第２０１０／１３７５７２号）で提案したオンチップネットワークを用いたマルチコアＳｏＣの全体ブロック図である。
【発明を実施するための形態】
【００４２】
以下、本発明の好ましい態様（Ｍｏｄｅｓ）について説明する。本発明の好ましい態様の１つにおいては、ルーティング参照表をプロセッサのキャッシュメモリやＴＬＢ（Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｏｋ−ａｓｉｄｅ  Ｂｕｆｆｅｒ）と同様に、仮想化した構造とすることを提案する。オンチップネットワークを用いたマルチコア、メニーコア上のＩＰコア間の交信の組み合わせは、例えば、ごく限られた時間内では、限定された数個から数十個の組み合わせに限定できるアプリケーションも多い。そのような特性の中で、ネットワークインタフェースで保持するルーティング参照表が、チップ上の高価なメモリやレジスタを用いて、そのすべての組み合わせのデータを保持しておくことの必要性は低いと云える。
【００４３】
キャッシュメモリは、プロセッサで直近に使ったデータを保持しておき、次の利用に備えるものである。また、ＴＬＢは、メモリの変換情報で直近に使った変換規則を保持しておき、次の利用に備えるものである。
【００４４】
本発明の好ましい態様の１つにおいては、ネットワークインタフェース内のルーティング参照表においても、同様にして、直近に使ったルーティング情報を保持しておくことで、ほとんどの後続パケットの転送は、ルーティング参照表が現在保持しているルーティング情報を参照することによって、ルーティングを決定することができるものと思料される。
【００４５】
本発明の好ましい態様の１つにおいては、ソースルーティング方式を採用するネットワークオンチップにおける、ネットワークインタフェースのルーティング参照表を、ルーティングの動的な変更に対応しつつ、ハードウェア量、消費電力を削減可能とし、トータルのチップコストを低減することが可能である。
【００４６】
＜第１−３の態様＞
本発明の第１−３の態様では、本発明の基本原理について規定している。すなわち、本発明の第１の態様（Ｍｏｄｅ）では、ルーティング参照表は、前記ルーティング参照表の属するネットワークインタフェースが送信する可能性があるネットワーク交信のルーティング情報のうちの一部を保持し、ルーティング時に、前記ルーティング参照表に、該ルーティングに必要なルーティング情報が保持されているか否かを判定する機構を備えている。
【００４７】
本発明の第２の態様においては、ルーティング参照表には、ルーティング情報と、それを引くためのタグ情報を、ＲＡＭ構造もしくはレジスタ構造等として内容を書き換えられる構造を有する。
【００４８】
本発明の第３の態様においては、前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定し、前記ルーティング参照表が、必要なルーティング情報を保持していると判断した場合に、前記ルーティング参照表が保持している前記ルーティング情報をネットワークパケットのフリットに付与してパケットを送出する。ルーティング情報の参照表に、必要な情報が格納されている場合には、ヒット（Ｈｉｔ）となり、格納されていない場合には、ミス（Ｍｉｓｓ）となる。Ｈｉｔの際には、ルーティング参照表に格納されているルーティング情報を、パケット内のルーティング・フリットに取り込み、ネットワークに、当該パケットを送出する。Ｍｉｓｓ時の動作については、後の態様において規定される。
【００４９】
＜第４−６の態様＞
本発明の第４−６の態様においては、それぞれルーティング参照表の参照方法について提案する。各々、受信側のＩＤ番号、受信側のアドレス、さらにアドレスにマスクビットを備え、任意ビット範囲でのアドレスビットマッチングを行う提案をする。より詳細には、本発明の第４の態様において、ネットワークインタフェースは、前記ルーティング参照表において必要なルーティング情報が保持されているか否かの判定を、前記タグ情報に格納されているネットワークパケット受信先の識別番号と、現在送ろうとしているパケットの受信先識別番号との一致、不一致を調べることによって行う。
【００５０】
本発明の第５の態様においては、前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報が保持されているか否かの判定を、前記タグ情報に格納されているネットワークパケット受信先のアドレス情報と、現在送ろうとしているパケットの受信先アドレスとの一致、不一致を調べることによって行う。
【００５１】
本発明の第６の態様では、前記ネットワークインタフェースは、前記ルーティング情報と、前記ルーティング参照表上のアドレスとの一致、不一致を調べる論理に、アドレスビットの特定ビットを無視するためのマスクビットを、各ルーティング情報のタグ情報として付加し、マスクビットでマスクされたビット以外のアドレスの一致、不一致によってルーティング情報の有無の判定を行う。
【００５２】
＜第７の態様＞
本発明の第７の態様では、Ｍｉｓｓが発生したときにルーティング参照表を書き換える動作を提案する。前記ネットワークインタフェースは、前記ルーティング情報が、前記ルーティング参照表上で不一致の際には、前記ルーティング参照表に、新たに要求のあったルーティング情報を登録して一致状態とした上で、前記ルーティング情報を、ネットワークパケットのフリット内の所定の位置にコピーして、ネットワークパケットを送出する。具体的な書き換え方法は、本発明の第８−１３の態様で規定する。
【００５３】
＜第８の態様＞
本発明の第８の態様では、規定されたＩＰに割り込みをかける。割り込み処理ハンドラは、Ｍｉｓｓを起こした受信側までのルートを計算もしくは規定のメモリ空間などからロードして、ルーティング参照表に新たに書き込む処理を行うことも可能である。あるいは、他のＩＰなどにルーティング参照表を更新するための割り込み要求などをかけることも可能である。これらは、それぞれのソフトウェア実装方針に依存するため、最大限の自由度を確保することができるが、ソフトウェアが処理に介在することから、一定の遅延が発生する。
【００５４】
＜第９−１２の態様＞
本発明の第９−１２の態様では、ハードウェアによって、ルーティング参照表を書き換える手法を提案する。ハードウェアの参照方法としては、規定されたメモリ領域からルーティング情報をロードする、一定の論理に基づいたハードウェアによってルーティング計算を行う、ルーティング情報を得るための要求を他のＩＰに向けて行い、その応答によってルーティング情報を得る方法等が挙げられる。これらによって得られた情報により、必要に応じてルーティング参照表の必要なエントリを更新した上で、パケットを送信する。
【００５５】
本発明の第９の態様では、前記ネットワークインタフェースは、前記ルーティング参照表上で不一致となった場合には、規定されたメモリから、一致するためのルーティング情報を読み出し、当該情報をルーティング参照表に登録する。
【００５６】
本発明の第１０の態様では、前記ネットワークインタフェースは、前記ルーティング情報がルーティング参照表上で不一致となった場合には、受信先情報から一致するためのルーティング情報を計算し、その結果をルーティング参照表に登録する。
【００５７】
本発明の第１１の態様では、前記ネットワークインタフェースは、前記ルーティング情報が前記ルーティング参照表上で不一致となった場合には、予め定められたパケットを生成して、当該パケットを前記情報処理ユニットに送出し、不一致となった状況を、ネットワークの他の地点に接続された情報処理ユニットに通知する。
【００５８】
本発明の第１２の態様では、前記ネットワークインタフェースは、前記ルーティング参照表の書き換えの要求を行うネットワークの制御パケットを定義し、ネットワークインタフェースが上記制御パケットを受領した際には、パケットの内容に従ってルーティング情報を登録する。
【００５９】
＜第１３の態様＞
本発明の第１３の態様では、Ｍｉｓｓを生じさせた受信先を持ったパケットを、受信先を変更して送出する。これは、先願（特願２００９−１２５５８０号、国際公開第２０１０／１３７５７２号）で示したルーティング方法を併用することにより、メインルータにおいて、再度ルーティングを行い、最終的に受信先にパケットを送信することを想定している。これにより、Ｍｉｓｓを生じさせた送信側のルーティング参照表は書き換える必要が、少なくとも、Ｍｉｓｓの発生時点ではなくなる。
【００６０】
＜第１４の態様＞
本発明の第１４の態様は、これまでのＭｉｓｓ時の処理動作を複数用意しておき、動的もしくは、静的に、処理動作を、選択可能とするものである。すなわち、前記ネットワークインタフェースは、前記ルーティング情報が前記ルーティング参照表上で不一致の際、複数の処理動作が可能な機構を備え、予め指定したいずれか１つ又は複数の処理を行う。
【００６１】
＜第１５、１６の態様＞
本発明の第１５、１６の態様では、低電力化や低コスト化のためルーティング参照表の一部エントリを工夫することを提案する。第１５の態様では、前記ネットワークインタフェースは、前記ルーティング参照表の各々のエントリに対して、有効なエントリ数を変更する。第１６の態様では、前記ネットワークインタフェースは、前記ルーティング参照表において、ルーティング情報との一致、不一致を判定する論理回路を無効化し、前記ネットワークパケットの送出を予め定められた一意のルーティングに基づいて動作させる。第１５、１６の態様では、一部エントリの電力供給を遮断したりして無効化することによって、消費電力を削減する。１エントリまで絞った上で、すべてのデータの送出先を決定することも可能で、この場合には、すべてのパケットを同一受信先に送ることになるものの、ルーティング参照表のＨｉｔ／Ｍｉｓｓ判定論理で消費する電力を含めて省電力化が可能である。
【００６２】
＜第１７の態様＞
本発明の第１７の態様では、外部要因によって、ルーティング情報を無効化したり更新したりする動作を提案する。これは、ルーティング情報無効化メッセージや更新メッセージが到着した際に、自らのルーティング参照表が当該ルーティング情報を保持しているか否かを、タグ情報を検索することによって判定し、Ｈｉｔした場合には、無効化や更新など、ハードウェアによって暗黙的にルーティング参照表を書き換えるものである。これによって、不具合、混雑、電源切断などの生じたルートパスを回避する機能を実現することができる。以下、例示的な実施形態（exemplary embodiment）に即して説明する。
【００６３】
＜一実施形態＞
図１は、本発明の一実施形態の構成を示す図である。図１には、ネットワークインタフェースの内部構造がブロック図にて示されている。図２は、本発明の一実施形態におけるルーティング参照表の詳細を示したブロック図である。なお、本発明の一実施形態において、ネットワークオンチップを利用したマルチコアチップの全体ブロック図は、図８のレベルでは同等であり、図８のネットワークインタフェース３０４中にルーティング参照表が含まれているものである。すなわち、図１のネットワークインタフェース１は、図８のネットワークインタフェース３０４に本発明を適用したものである。したがって、以下の説明では、ネットワークオンチップに関連して図８も適宜参照される。
【００６４】
＜ネットワークインタフェース＞
図１を参照すると、ネットワークインタフェース１において、ＩＰコアからのバス信号２は、バスインタフェース３に接続され、制御信号２１、アドレス信号２２、データ信号２３にデコード、分離される。制御信号２１、アドレス信号２２は、制御ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）４に、データ信号２３はデータＦＩＦＯ５に格納される。
【００６５】
制御ＦＩＦＯ４からは、受信側のＩＰを特定する識別子（主に、アドレス信号）をルーティング参照表７に、その他のアクセス制御情報を、情報生成ユニット（Ｉｎｆｏｒｍａｔｉｏｎ  Ｇｅｎａｒａｔｏｒ）８に送る。
【００６６】
ルーティング参照表（Ｒｏｕｔｉｎｇ  ＬＵＴ）７は、ソースルーティングに基づくルーティング情報をパケット生成ユニット（Ｐａｃｋｅｔ  Ｃｏｍｐｏｓｅｒ）９に送る。
【００６７】
情報生成ユニット（Ｉｎｆｏｒｍａｔｉｏｎ  Ｇｅｎｅｒａｔｏｒ）８は、制御信号情報をパケット生成ユニット９に送る。
【００６８】
データＦＩＦＯ５は、データの内容をパケット生成ユニット９に送る。
【００６９】
パケット生成ユニット９は、パケット信号２５をルータ（図８の３０２）に向けて送出する。
【００７０】
一方、ルータ（図８の３０２）は、パケットを受領可能か否かの情報をバックプレッシャー信号（Ｂａｃｋ  Ｐｒｅｓｓｕｒｅ）２４で、ネットワークインタフェース１に送っている。
【００７１】
ネットワークインタフェース１において、パケット制御シーケンサ（Ｐａｃｋｅｔ  Ｃｏｎｔｒｏｌ  Ｓｅｑｕｅｎｓｅｒ）６は、これらの情報から、全体の制御を司る。ネットワークインタフェース１は、ルータ（図８の３０２）からのパケット２６も受領する。
【００７２】
受領したパケット２６は、パケット分解ユニット（Ｐａｃｋｅｔ  Ｄｅｃｏｍｐｏｓｅｒ）１０でデータ信号と制御信号に分離される。制御信号は、パケット解読ユニット（Ｐａｃｋｅｔ  Ｄｅｃｏｄｅｒ）１１でデコードされた上、制御ＦＩＦＯ１２に格納され、データ信号は、直接、データＦＩＦＯ１３に格納される。
【００７３】
制御ＦＩＦＯ１２からは、制御信号２７とアドレス信号２８、データＦＩＦＯ１３からはデータ信号２９が送出され、バスインタフェース（Ｂｕｓ  Ｉ／Ｆ）３でバス信号を構成し、ＩＰコア（図８の３０３）に向けてバス２でデータを送出する。
【００７４】
＜ルーティング参照表＞
図２を参照すると、本発明の一実施形態において、ルーティング参照表４１は、ルーティング情報テーブル４２、アドレステーブル４３、マスクテーブル４４、有効ビット（Ｖａｌｉｄ  ｂｉｔ）４５、照合論理４６、Ｈｉｔ／Ｍｉｓｓ判定論理４７、Ｍｉｓｓ時動作規定テーブル４８、ルーティング情報有効化論理４９を備えている。
【００７５】
パケット受信先アドレス５１に相当するルーティング情報が、ルーティング情報テーブル４２で保持されているか否かを、適切なアドレステーブル４３、マスクテーブル４４、有効ビット４５を照合論理４６が参照し、Ｈｉｔ／Ｍｉｓｓ判定論理４７によって判定する。
【００７６】
Ｈｉｔの際には、有効化信号５２を有効化し、ルーティング情報５３を送出する。
【００７７】
一方、Ｍｉｓｓの際には、Ｍｉｓｓ時動作規定テーブル４８に登録された動作に基づきＭｉｓｓ時動作指示信号５４を出力する。
【００７８】
以下、本発明の第１から第５の態様を詳細に説明するために、動作例を、ステップを追って説明する。以下の説明において想定するＮｏＣを利用したＳｏＣは、図８に示された１６個のＩＰコアから構成されるＳｏＣとし、表１に示したアドレス（ヘキサデシマル表示）がそれぞれのＩＰ位置に均等に割り付けられるものとする。また、ルーティング情報は表２に従って、各ホップ毎に、３ビット（バイナリ表示）でエンコーディングされるものとする。
【００７９】
（表１）アドレスとＩＰの位置（ＩＤ番号）対応表
2011148925.tif 000003
【００８０】
（表２）ルーティング情報のエンコーディング表
2011148925.tif 000004
【００８１】
本実施例によれば、ＮｏＣは、図８に示すように、４ｘ４のメッシュ構造とされる。この場合、最短ルートのルーティングを行うとすれば、ルータホップ数（経由するルータ数）は７となる。
【００８２】
＜フリット＞
したがって、図３に示すようなルーティング情報を、先頭フリット（フリット０）に書き込むものとする。パケットボティ信号において、ホップ数のフィールドは、７エントリとしている。特に制限されないが、図３に示すフリットにおいて、サイドバンド信号の属性６１（フリット属性信号フィールド）は、先頭フリット（フリット０）を示している。また、パケットボディ信号は、受信先ＩＰ位置情報６２（１１ビット）とルーティング情報６３から構成される。ホップ数は各３ビットであり、７ホップ分を収容するため、ルーティング情報６３として、第０ビット（ＬＳＢ）から２０ビット（３ｘ７ビット）が割当てられている。
【００８３】
ルータ３０２は、ｈｏｐ０に位置するルーティング情報６３を読み取り、パケットの出力先を決定すると共に、次のルータのルーティングに備え、図３のルーティング情報６３を１エントリ分、右シフトする。すなわち、ｈｏｐ１の情報はｈｏｐ０に、ｈｏｐ２の情報はｈｏｐ１にという処理（右シフト）を行うことにより、次段のルータ３０２も、同様に、ｈｏｐ０に位置するルーティング情報６３を読み取ることによって、ルーティングを行うことができる。
【００８４】
＜ルーティング参照表４１＞
特に制限されないが、以下では、ルーティング参照表４１が一例として３エントリから構成されるものとする。図８において、Ａ１に位置するネットワークインタフェースのルーティング参照表４１が、Ａ２、Ｄ３、Ｄ４へのルーティング情報を保持しているものとすると、ルーティング参照表４１は、図４に示す内容となる。
【００８５】
＜ルーティング参照表４１：Ｈｉｔ動作＞
ここで、図８のＡ１のＩＰコア３０３が、図８のＡ２に位置するＩＰコアにメッセージを送信する場合、アドレスの上位４ビットは０ｘ１となる。これはエントリ０に該当するルーティング情報４２に相当する。
【００８６】
従って、ルーティング参照表４１は、Ｈｉｔであると、Ｈｉｔ／Ｍｉｓｓ判定論理４７は判断し、エントリ０のルーティング内容”ＩＰ、Ｓ”がルーティング情報５３として出力され、最終的に、パケット生成ユニット９（図１）により、図５に示す、先頭フリット（フリット０）が生成される。サイドバンドの属性信号６１は１００で先頭フリットを示し、パケットボディ信号のルーティング情報６３（ＬＳＢから２０ビット）は、ルーティング参照表４１のエントリ０のルーティング情報４２の内容”ＩＰ，Ｓ”が０ビット（ＬＳＢ）から５ビットに格納される。
【００８７】
Ｈｉｔ／Ｍｉｓｓ判定論理４７は、マスクテーブル４４のマスク値により比較するビット位置を決定することができるため、１エントリでアドレスをマッチする範囲を調整することができる。
【００８８】
＜ルーティング参照表４１：Ｍｉｓｓ＞
一方、図８のＡ１のＩＰコア３０３が、図８のＢ３に位置するＩＰコアにメッセージを送信する場合、Ｂ３に位置するＩＰへのアクセスが行われ、これは、表１によれば、アドレスの上位４ビットは０ｘ６となる。このエントリは、図４に示すルーティング参照表４１には、該当するエントリが存在しない。これは、本発明の最も基本的な特徴の１つであり、すべての送信先に対するルーティング情報をルーティング参照表を保持せず、エントリが存在しない場合には、Ｍｉｓｓの処理を行う。
【００８９】
このＭｉｓｓ判定は、Ｈｉｔ時と同様に、Ｈｉｔ／Ｍｉｓｓ判定論理４７によって行われる。ここでは、Ｍｉｓｓと判定される。
【００９０】
Ｍｉｓｓと判定された結果、図２のＭｉｓｓ時動作規定テーブル４８の参照が行われる。Ｍｉｓｓ時動作規定テーブル４８は、Ｍｉｓｓを起こした際に、ネットワークインタフェース１がどのような動作を行うかを規定する情報を保持するテーブル論理である。
【００９１】
Ｍｉｓｓ時動作規定テーブル論理４８は、必要に応じて、ハードウェアに追加することも可能である。あるいは、Ｍｉｓｓ時の動作を、常時、固定的とする場合には、書き換え可能なテーブルとする必要はない。以下、Ｍｉｓｓ時に採りうる動作について説明する。
【００９２】
まず、本発明の第８の態様として提案した構成では、図８において、当該ネットワークインタフェース３０４から、ＩＰコア３０３に対して、ルーティング参照表４１を更新するための割り込みを要求する。
【００９３】
ＩＰコア３０３は、基本的に、対応するネットワークインタフェース３０４に接続されたものとなるが、他のＩＰコア３０３に割り込みをかけることを何等否定するものではない。
【００９４】
割り込みをかけられた側の他のＩＰコア３０３（図８）においては、割り込み処理ハンドラ（プログラム）によって、ルーティング参照表４１（図２、図４）のミス要因を特定する。ここで、割り込み処理ハンドラは、アクセスの上位４ビットが０ｘ６であることを、割り込み要因レジスタ等を読み出すことによって特定できる。
【００９５】
このため、次に、割り込み処理ハンドラでは、Ａ１からＢ３（図８）へのルーティング情報を求める。これは、単純な次元順ルーティングであれば、プログラムによって計算でも求めることが可能である。あるいは、メモリ等（ネットワークインタフェース３０４に実装される）にあらかじめ格納したデータをロードするようにしてもよい。ここでは、図８のＡ１からＢ３へのルーティングは、
Ｓ→Ｓ→Ｅ→ＩＰ
である（Ａ１→Ａ２→Ａ３とＹ方向に＋２、Ｘ方向に＋１ホップ）。
【００９６】
Ｂ３へのルーティング情報を求めた割り込み処理ハンドラは、図４のルーティング参照表４１において、例えばエントリ２の置き換えを決定し、ルーティング参照表４１は、図６に示す内容に更新される。テーブルのエントリ書き換え規則は、本発明では、特に規定しないが、キャッシュメモリやＴＬＢなどの類似の機構が採っている手法（置換アルゴリズム）（例えばＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ））を採用することが可能である。
【００９７】
割り込み処理ハンドラによるルーティング参照表４１の更新は、ソフトウェアによる処理のため自由度が高い。従って、ネットワークの混雑情報や故障情報などをソフトウェアが収集することによって、受信先のＩＰが同じでも複数のルーティング候補が考えられる場合には、より柔軟なルーティング情報をルーティング参照表４１に書き込むことが可能である。
【００９８】
また、何らかの追加ハードウェアによってネットワークの形状が拡張された際にも対応が容易である。一方で、ソフトウェアに割り込みをかけることにより、処理時間のオーバヘッドが大きくなる。そこで、ハードウェアによって、Ｍｉｓｓ時の処理を行う方法を提案しているのが、本発明の第９乃至第１２の態様である。
【００９９】
第９の態様では、Ｍｉｓｓが生じた際に、あらかじめ設定している安価なメモリデバイスにハードウェアによってアクセスを行い、ルーティング情報をロードし、ルーティング参照表４１を書き換える。この場合、当該安価なメモリデバイスはネットワークインタフェース１から直接アクセスできる必要がある。
【０１００】
ルーティング参照表４１のエントリ数を増加させる方が効率的な可能性も生じるが、メモリデバイスにはデータを圧縮して格納すれば、メモリ収納効率を向上させることも可能である。
【０１０１】
本発明の第１０の態様では、メモリデバイスからロードする替わりに、ルーティングをハードウェアによって計算することによって、ルーティング情報を生成して、ルーティング参照表４１を書き換えるものである。
【０１０２】
図８に示した例では、ネットワークの形状やメモリ空間のアロケーションが規則的であるため、比較的簡単な論理で計算することが可能である。例えば、先のＢ３への計算論理であるが、Ａ１からは、Ｘ方向に＋１、Ｙ方向に＋２ホップ進んだところに、受信先があるということが、表１のようなアドレスと、ＩＰの位置（ＩＤ番号）対応表からわかる。Ｅ方向１回とＳ方向２回をルーティングとして組み合わせればよいことがわかる。
【０１０３】
あとは、ＮＳ方向とＥＷ方向のどちらを優先するかあらかじめ決められた論理もしくは動的なネットワーク状況を鑑みた上で決定する。
【０１０４】
例えば、
Ｓ→Ｓ→Ｅ→ＩＰや
Ｅ→Ｓ→Ｓ→ＩＰ
などのルーティングが計算される。
【０１０５】
＜Ｍｉｓｓ時のその他の態様例＞
一方で、本発明の第１１、１２の態様では、Ｍｉｓｓ時に、他のＩＰコアにルーティング計算を依頼したり、他のＩＰコアが保持するルーティング情報をロードしたりする際の処理を提案するものである。
【０１０６】
本発明の第９、１０の態様では、主に、Ｍｉｓｓを生じたネットワークインタフェース１内で、ハードウェアがルーティング計算を処理したが、このような能力を持ったハードウェア論理をチップ中の１ないし数個に集約することも可能である。本発明の第９、１０の態様では、このハードウェア論理と各ネットワークインタフェース１との間は、専用の制御信号などで接続することを想定している。
【０１０７】
一方、このような専用信号を用いることは、チップのコストアップ、設計複雑度の上昇を招くことになる。そこで、本発明の第１１、１２の態様では、この問題に対処するため、通常のネットワークオンチップ上で、ルーティング情報を得るための特別なパケットを転送することを提案する。
【０１０８】
まず、Ｍｉｓｓが発生した際には、あらかじめ規定されているもしくはレジスタなどで指定されているＩＰに向けて、
ルーティング情報Ｍｉｓｓの発生と、
送信元、受信先のＩＰ位置
を記録した特別なルーティング情報要求パケットを生成して、Ｍｉｓｓを生じたパケットよりも前に送信する。
【０１０９】
当該ルーティング情報要求パケットを受領したＩＰは、パケットを解釈することにより、必要なルーティング情報を計算もしくはロードし、要求に従ったルーティング情報を、ルーティング情報回答パケットとして、要求されたＩＰへ送信する。
【０１１０】
当該ルーティング情報回答パケットを受領したネットワークインタフェース１は、特別なパケットであることを、パケット解読ユニット１１（図１）が把握し、受領したルーティング情報を直接ルーティング参照表７中のルーティング情報４２（図２）に書き込む。この動作の後に、前記Ｍｉｓｓしたパケットの送信を行う。
【０１１１】
これらの特別なルーティング情報要求パケット、ルーティング情報回答パケットに関わる処理はハードウェアによって実行されることを前提にしているが、割り込み処理ハンドラのようなソフトウェアによって生成することも可能である。これは本発明の第８の態様に含まれる。
【０１１２】
本発明においては、他のＩＰにルーティング情報を要求し、その回答を待って、Ｍｉｓｓ状態を解消させた上で本来の交信パケットが送信されることになるが、一方で、先願（特願２００９−１２５５８０号、国際公開第２０１０／１３７５７２号）発明を併用することも可能である。本発明の第１３の態様がこれに該当する。
【０１１３】
第１３の態様によれば、Ｍｉｓｓが生じたときには、本来の受信先とは異なり、あらかじめ規定されたルーティング情報を持ったＩＰコア、もしくはそのルータを受信先として、Ｍｉｓｓしたパケットを送信する。
【０１１４】
受領したＩＰコア、もしくはそのルータは、本来の受信先までのルーティングを再度行い、先頭フリット（フリット０）に記入し直すことによって、当該Ｍｉｓｓしたパケットを本来の受信先に再送する。
【０１１５】
これにより、ルーティング情報４２を書き直すことなく、Ｍｉｓｓしたパケットも転送することが可能になる。これは、ごく稀に発生する通信によって、参照テーブルのルーティング情報４２中の高頻度参照ルーティング情報が追い出されることを防ぐ意味もある。  もちろん、本発明の第１−１２の態様においても、正しいルーティング情報を得た後に、Ｍｉｓｓを生じさせたパケットの先頭フリット（フリット０）のみに、ルーティング情報を記入し、ルーティング情報４２を書き直さないとする手法を選択することも可能である。
【０１１６】
以上、第１〜第１３の態様によるＭｉｓｓ時の処理方法は、それぞれ単独にＳｏＣ上のネットワークインタフェース上に実装することも可能であるが、複数の動作をシステム的にサポートするようにし、現在のＭｉｓｓ時動作をＭｉｓｓ時動作規定テーブル４８に設定しておくことにより、より柔軟にシステム状況に応じたＮｏＣの制御が可能になる。
【０１１７】
＜低電力化、低コスト化対応の態様例＞
さらに、第１５−１６の態様では、低電力化や低コスト化のため、ルーティング参照表４１のエントリ数や論理を制御することを提案する。
【０１１８】
本実施例では、電源スイッチでは、図７に示すように、電源スイッチを設けて、省電力化を図るように適用している。図７は、本発明の第１５−１６の態様におけるルーティング参照表のブロック図である。
【０１１９】
図７を参照すると、ルーティング参照表８１は、図２のルーティング参照表４１とほぼ同等であるが、電源スイッチ８２、８３、８４によって、各々制御される個別電源領域８５、８６、８７が存在する。
【０１２０】
個別電源領域８５、８６、８７は、電源スイッチ８２、８３、８４のＯｎ／Ｏｆｆ制御により、不要なときには、電源を遮断し、主に、リーク電流を削減することができる。
【０１２１】
まず、ルーティング情報テーブル４２のエントリ数が、現在の当該ＩＰコアにおける交信パターンに対して過剰である時には、電源スイッチ８２や８３を切り、個別電源領域８５、８６に対する電源供給を遮断する。
【０１２２】
こうすることで、ルーティング参照表８１のルーティング情報テーブル４２の数（エントリ数）が削減されるが、交信パターンが特定のＩＰコアに対してのみに限られる場合には有効である。この場合、電源を遮断したルーティング情報テーブル４２のエントリに対応する有効ビット（Ｖａｌｉｄ  ｂｉｔ）４５は、無効にする必要がある。
【０１２３】
さらに、ルーティング情報テーブル４２の電源遮断により、有効なルーティング情報が１エントリしかなくなった場合、かつ当該ＩＰコアの交信先が１つのＩＰコアに限定される場合には、Ｈｉｔ／Ｍｉｓｓ判定論理４７やＭｉｓｓ時動作規定テーブル４８が含まれる個別電源領域８７を、電源スイッチ８４をＯｆｆにして遮断することも可能である。
【０１２４】
この場合、アドレス比較、有効性比較等は行わず、すべての送信パケットが同一のＩＰコアに向けてルーティングされる。これにより、アドレス比較、有効性比較に用いられる電力を含めて省電力化が可能である。
【０１２５】
本発明の第１７の態様は、ルーティング情報テーブル４２の特定のエントリを外部から無効化するものである。本発明の第１７の態様は、本発明の第１２の態様の動作と似ているが、第１２の態様では、ルーティング情報回答パケットにより、ルーティング情報テーブル４２に新たなルーティング情報を登録するものであったが、障害や混雑など他の要因から、既存のルーティング情報を更新したり、無効化したりする必要が生じる可能性もある。
【０１２６】
そこで、本発明の第１７の態様では、これらに対処すべく、特別なルーティング情報更新パケット、ルーティング情報無効化パケットという特殊なパケットを定義、用意する。
【０１２７】
これらのパケット（ルーティング情報更新パケット、特殊パケット等）を、ネットワークインタフェース１(図１)が受信した場合には、特別なパケットであることを、パケット解読ユニット１１（図１）が把握し、受領したルーティング情報を、直接、ルーティング参照表４１中のルーティング情報４２を更新したり、無効化したりする。これにより、ＮｏＣ全体の制御を一つないし数個のＩＰコアからのメッセージパケット送信によって行うことが可能となり、より機動性に富んだ制御が可能になる。
【０１２８】
なお、上記の特許文献、非特許文献、先願（特願２００９−１２５５８０号、国際公開第２０１０／１３７５７２号）の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【０１２９】
特に制限されるものではないが、上記した本発明の実施形態は、以下のように付記される。
【０１３０】
（付記１）
情報処理ユニット、記憶ユニット、インタフェースユニットのうちの少なくとも一つのユニットを複数備え、ネットワークインタフェース、交信チャネル、ルータから構成されるネットワークにて前記ユニット間を接続し、前記ユニット間での情報交信を、該情報を搭載したパケットを前記ネットワークを介して送受することで行うオンチップネットワークの前記ネットワークインタフェースが、ルーティング情報を保持するルーティング参照表を備え、
前記ルーティング参照表は、前記ルーティング参照表の属するネットワークインタフェースが送信する可能性があるネットワーク交信のルーティング情報のうちの一部を保持し、
ルーティング時に、前記ルーティング参照表に、該ルーティングに必要なルーティング情報が保持されているか否かを判定する、ことを特徴とするネットワークルーティング方法。
【０１３１】
（付記２）
前記ルーティング参照表は、書き換え可能なデバイスを備え、
ルーティング情報を検索するためのタグ情報を具備する、ことを特徴とする付記１記載のネットワークルーティング方法。
【０１３２】
（付記３）
前記ルーティング参照表に必要なルーティング情報の有無を判定し、前記ルーティング参照表に必要なルーティング情報が保持されていると判断した場合に、
前記ルーティング参照表が保持している前記ルーティング情報を、ネットワークパケットのフリットに付与してパケットを送出する、ことを特徴とする付記１又は２記載のネットワークルーティング方法。
【０１３３】
（付記４）
前記タグ情報に格納されているネットワークパケット受信先の識別番号と、現在送ろうとしているパケットの受信先識別番号との一致、不一致を調べることによって、前記ルーティング参照表において必要なルーティング情報が保持されているか否かの判定を行う、ことを特徴とする付記１又は２記載のネットワークルーティング方法。
【０１３４】
（付記５）
前記タグ情報に格納されているネットワークパケット受信先のアドレス情報と、現在送ろうとしているパケットの受信先アドレスとの一致、不一致を調べることによって、前記ルーティング参照表に必要なルーティング情報が保持されているか否かの判定を行う、ことを特徴とする付記２記載のネットワークルーティング方法。
【０１３５】
（付記６）
前記ルーティング情報と、前記ルーティング参照表に登録されているルーティング情報のアドレスとの一致、不一致を調べる論理に、アドレスビットの予め定められた特定ビットを無視するためのマスクビットを、各ルーティング情報のタグ情報として付加し、
前記マスクビットでマスクされたビット以外のアドレスの一致、不一致によってルーティング情報の有無の判定を行う、ことを特徴とする付記５記載のネットワークルーティング方法。
【０１３６】
（付記７）
前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、
前記ルーティング参照表に、新たに要求のあったルーティング情報を登録し、必要なルーティング情報と前記ルーティング参照表のルーティング情報を一致した状態とした上で、前記ルーティング情報を、ネットワークパケットのフリットに付与してパケットを送出する、ことを特徴とする付記１乃至６のいずれか一に記載のネットワークルーティング方法。
【０１３７】
（付記８）
前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、
他の情報処理ユニットに対して割り込みをかける、ことを特徴とする付記１乃至７のいずれか一に記載のネットワークルーティング方法。
【０１３８】
（付記９）
前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、
予め規定されたメモリから対応するルーティング情報を読み出し、該読み出したルーティング情報を前記ルーティング参照表に登録する、ことを特徴とする付記１乃至８のいずれか一に記載のネットワークルーティング方法。
【０１３９】
（付記１０）
前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、
受信先情報からルーティング情報を計算し、該計算したルーティング情報を前記ルーティング参照表に登録する、ことを特徴とする付記１乃至８のいずれか一に記載のネットワークルーティング方法。
【０１４０】
（付記１１）
前記ルーティング情報が前記ルーティング参照表上で不一致となった場合には、予め定められたパケットを生成して、当該パケットを前記情報処理ユニットに送出し、
不一致となった状況を、ネットワークの他の地点に接続された情報処理ユニットに通知することを特徴とする付記１乃至８のいずれか一に記載のネットワークルーティング方法。
【０１４１】
（付記１２）
前記ルーティング参照表の書き換えの要求を行うネットワークの制御パケットを定義し、ネットワークインタフェースが上記制御パケットを受領した際には、パケットの内容に従ってルーティング情報を登録する、ことを特徴とする付記１乃至１１のいずれか一に記載のネットワークルーティング方法。
【０１４２】
（付記１３）
前記ルーティング情報が前記ルーティング参照表上で不一致の際には、予め規定されたネットワークの他の地点に接続された情報処理ユニットに、当該パケットを送信する、ことを特徴とする付記１乃至１２のいずれか一に記載のネットワークルーティング方法。
【０１４３】
（付記１４）
前記ルーティング情報がルーティング参照表上で不一致の際の動作は、複数の動作が可能な機構を備え、予め指定したいずれか１つ又は数個の処理を行う、ことを特徴とする付記１乃至１３のいずれか一に記載のネットワークルーティング方法。
【０１４４】
（付記１５）
前記ルーティング参照表の各々のエントリに対して、有効なエントリ数を変更する、ことを特徴とする付記１乃至１４のいずれか一に記載のネットワークルーティング方法。
【０１４５】
（付記１６）
前記ルーティング参照表において、ルーティング情報との一致、不一致を判定する論理回路を無効化し、すべてのネットワークパケットの送出を予め定められた一意のルーティングに基づいて動作させる、ことを特徴とする付記１乃至１５のいずれか一に記載のネットワークルーティング方法。
【０１４６】
（付記１７）
前記ネットワークインタフェースは、前記ルーティング参照表の無効化は又は更新の要求を行うネットワークの制御パケットを作成し、
前記ネットワークインタフェースが前記制御パケットを受領した際には、前記制御パケットの内容に従って、前記ルーティング参照表のルーティング情報を又は更新する、ことを特徴とする付記１乃至１６のいずれか一に記載のネットワークルーティング方法。
【０１４７】
(付記１８）
情報処理ユニット、記憶ユニット、インタフェースユニットのうちの少なくとも一つのユニットを複数備え、交信チャネルとルータから構成されるオンチップネットワークと前記ユニットはネットワークインタフェースを介して接続される半導体装置において、
前記ネットワークインタフェースは、前記オンチップネットワークの所望経路上に存在する各ルータにおいてどの交信チャネルへ出力するかを、ルータ個々に指定した一又は複数の出力情報から構成されるルーティング情報を保持するルーティング参照表を備え、
前記ルーティング参照表は、前記ルーティング参照表の属するネットワークインタフェースが送信する可能性があるネットワーク交信のルーティング情報のうちの一部を保持し、ルーティング時、該ルーティングに必要なルーティング情報が前記ルーティング参照表に保持されているか否かを判定する、ことを特徴とする半導体装置。
【０１４８】
(付記１９）
前記ルーティング参照表は、書き換え可能なデバイスを備え、
ルーティング情報を検索するためのタグ情報を具備する、ことを特徴とする付記１８記載の半導体装置。
【０１４９】
(付記２０）
前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定し、前記ルーティング参照表に必要なルーティング情報が保持されていると判断した場合に、
前記ルーティング参照表が保持している前記ルーティング情報を、ネットワークパケットのフリットに付与してパケットを送出する、ことを特徴とする付記１８又は１９記載の半導体装置。
【０１５０】
(付記２１）
前記ネットワークインタフェースは、前記タグ情報に格納されているネットワークパケット受信先の識別番号と、現在送ろうとしているパケットの受信先識別番号との一致、不一致を調べることによって、前記ルーティング参照表において必要なルーティング情報が保持されているか否かの判定を行う、ことを特徴とする付記１９記載の半導体装置。
【０１５１】
(付記２２）
前記ネットワークインタフェースは、前記タグ情報に格納されているネットワークパケット受信先のアドレス情報と、現在送ろうとしているパケットの受信先アドレスとの一致、不一致を調べることによって、前記ルーティング参照表に必要なルーティング情報が保持されているか否かの判定を行う、ことを特徴とする付記１９記載の半導体装置。
【０１５２】
(付記２３）
前記ネットワークインタフェースにおいて、前記ルーティング情報と、前記ルーティング参照表に登録されているルーティング情報のアドレスとの一致、不一致を調べる論理に、アドレスビットの予め定められた特定ビットを無視するためのマスクビットが、各ルーティング情報のタグ情報として付加されており、
前記マスクビットでマスクされたビット以外のアドレスの一致、不一致によってルーティング情報の有無の判定を行う、ことを特徴とする付記２２記載の半導体装置。
【０１５３】
(付記２４）
前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、前記ルーティング参照表に、新たに要求のあったルーティング情報を登録し、必要なルーティング情報と前記ルーティング参照表のルーティング情報を一致した状態とした上で、前記ルーティング情報を、ネットワークパケットのフリットに付与してパケットを送出する、ことを特徴とする付記１８乃至２３のいずれか一に記載の半導体装置。
【０１５４】
(付記２５）
前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、他の情報処理ユニットに対して割り込みをかける、ことを特徴とする付記１８乃至２４のいずれか一に記載の半導体装置。
【０１５５】
(付記２６）
前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、予め規定されたメモリから対応するルーティング情報を読み出し、該読み出したルーティング情報を前記ルーティング参照表に登録する、ことを特徴とする付記１８乃至２５のいずれか一に記載の半導体装置。
【０１５６】
(付記２７）
前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、受信先情報からルーティング情報を計算し、該計算したルーティング情報を前記ルーティング参照表に登録する、
前記ネットワークインタフェースは、前記ルーティング情報がルーティング参照表上で不一致となった場合には、受信先情報から一致するためのルーティング情報を計算し、その結果をルーティング参照表に登録する、ことを特徴とする付記１８乃至２５のいずれか一に記載の半導体装置。
【０１５７】
(付記２８）
前記ネットワークインタフェースは、前記ルーティング情報が前記ルーティング参照表上で不一致となった場合には、予め定められたパケットを生成して、当該パケットを前記情報処理ユニットに送出し、
不一致となった状況を、ネットワークの他の地点に接続された情報処理ユニットに通知することを特徴とする付記１８乃至２５のいずれか一に記載の半導体装置。
【０１５８】
(付記２９）
前記ネットワークインタフェースは、前記ルーティング参照表の書き換えの要求を行うネットワークの制御パケットを定義し、ネットワークインタフェースが上記制御パケットを受領した際には、パケットの内容に従ってルーティング情報を登録する、ことを特徴とする付記１８乃至２８のいずれか一に記載の半導体装置。
【０１５９】
(付記３０）
前記ネットワークインタフェースは、前記ルーティング情報が前記ルーティング参照表上で不一致の際には、予め規定されたネットワークの他の地点に接続された情報処理ユニットに、当該パケットを送信する、ことを特徴とする付記１８乃至２９のいずれか一に記載の半導体装置。
【０１６０】
(付記３１）
前記ネットワークインタフェースは、前記ルーティング情報がルーティング参照表上で不一致の際の動作は、複数の動作が可能な機構を備え、予め指定したいずれか１つ又は数個の処理を行う、ことを特徴とする付記１８乃至３０のいずれか一に記載の半導体装置。
【０１６１】
(付記３２）
前記ネットワークインタフェースは、前記ルーティング参照表の各々のエントリに対して、有効なエントリ数を変更する、ことを特徴とする付記１８乃至３１のいずれか一に記載の半導体装置。
【０１６２】
(付記３３）
前記ネットワークインタフェースは、前記ルーティング参照表において、ルーティング情報との一致、不一致を判定する論理回路を無効化し、前記ネットワークパケットの送出を予め定められた一意のルーティングに基づいて動作させる、ことを特徴とする付記１８乃至３２のいずれか一に記載の半導体装置。
【０１６３】
(付記３４）
前記ネットワークインタフェースは、前記ルーティング参照表の無効化は又は更新の要求を行うネットワークの制御パケットを作成し、
前記ネットワークインタフェースが前記制御パケットを受領した際には、前記制御パケットの内容に従って、前記ルーティング参照表のルーティング情報を又は更新する、ことを特徴とする付記１８乃至３３のいずれか一に記載の半導体装置。
【符号の説明】
【０１６４】
１  ネットワークインタフェース
２  バス（ＩＰコアとネットワークインタフェースを結ぶバス）
３  バスインタフェース
４  制御ＦＩＦＯ
５  データＦＩＦＯ
６  パケット制御シーケンサ
７  ルーティング参照表
８  情報生成ユニット
９  パケット生成ユニット
１０  パケット分解ユニット
１１  パケット解読ユニット
１２  制御ＦＩＦＯ
１３  データＦＩＦＯ
２１  制御信号
２２  アドレス信号
２３  データ信号
２４  バックプレッシャー信号
２５  パケット
２６  パケット
２７  制御信号
２８  アドレス信号
２９  データ信号
４１  ルーティング参照表
４２  ルーティング情報テーブル
４３  アドレステーブル
４４  マスクテーブル
４５  有効ビット
４６  照合論理
４７  Ｈｉｔ／Ｍｉｓｓ判定論理
４８  Ｍｉｓｓ時動作規定テーブル
４９  ルーティング情報有効化論理
５１  パケット受信先アドレス
５２  有効化信号
５３  ルーティング情報
５４  Ｍｉｓｓ時動作指示信号
６１  フリット属性信号フィールド
６２  受信先ＩＰ位置情報などフィールド
６３  ルーティング情報フィールド
８１  ルーティング参照表
８２、８３、８４  電源スイッチ
８５、８６、８７  個別電源領域
３０１  マルチコアＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  ａ  Ｃｈｉｐ）
３０２  ルータ
３０３  ＩＰコア
３０４  ネットワークインタフェース
３０５  通信チャネル
３２１  パケットボディ信号
３２２  サイドバンド信号（フリット属性情報）
３２３  受信先（ターゲット）ＩＰ位置情報
３２４  フリット長
３２５  制御情報
３２６  アクセスアドレス
３２７  アクセス属性
３２８  データ
３４１  ＤＩＤ（Ｄｅｓｔｉｎａｔｉｏｎ  ＩＤｓ）
３４２  Ｃｈａｉｎｅｄ  Ｈｅａｄｅｒ
３６１  ＣＰＵ
３６２  ネットワークインタフェース
３６３  参照表
３６４、３６５  ルータ
３６６  ネットワークインタフェース
３６７  参照表
３６８  メモリ
３８１  ルーティング情報テーブル
３８２  パケット受信先アドレス
３８３  ルーティング情報
４０２  ネットワークインタフェース
４０３  メインルータ
４０４  サブルータ
【図１】
2011148925.tif 000005
【図２】
2011148925.tif 000006
【図３】
2011148925.tif 000007
【図４】
2011148925.tif 000008
【図５】
2011148925.tif 000009
【図６】
2011148925.tif 000010
【図７】
2011148925.tif 000011
【図８】
2011148925.tif 000012
【図９】
2011148925.tif 000013
【図１０】
2011148925.tif 000014
【図１１】
2011148925.tif 000015
【図１２】
2011148925.tif 000016
【図１３】
2011148925.tif 000017
【図１４】
2011148925.tif 000018
【手続補正書】
【提出日】平成23年11月2日(2011.11.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
（削除）
【請求項２】
（削除）
【請求項３】
（削除）
【請求項４】
（削除）
【請求項５】
（削除）
【請求項６】
（削除）
【請求項７】
（削除）
【請求項８】
（削除）
【請求項９】
（削除）
【請求項１０】
（削除）
【請求項１１】
情報処理ユニット、記憶ユニット、インタフェースユニットのうちの少なくとも一つのユニットを複数備え、交信チャネルとルータから構成されるオンチップネットワークと前記ユニットはネットワークインタフェースを介して接続される半導体装置であって、
前記ネットワークインタフェースは、前記オンチップネットワークの所望経路上に存在する各ルータにおいてどの交信チャネルへ出力するかを、ルータ個々に指定した一又は複数の出力情報から構成されるルーティング情報を保持するルーティング参照表を備え、
前記ルーティング参照表は、前記ルーティング参照表の属するネットワークインタフェースが送信する可能性があるネットワーク交信のルーティング情報のうちの一部を保持し、
ルーティング時、該ルーティングに必要なルーティング情報が前記ルーティング参照表に保持されているか否かを判定し、
前記ルーティング情報が前記ルーティング参照表上で不一致となった場合には、予め定められたパケットを生成して、当該パケットを前記情報処理ユニットに送出し、不一致となった状況を、ネットワークの他の地点に接続された情報処理ユニットに通知する、ことを特徴とする半導体装置。
【請求項１２】
前記ルーティング参照表は、書き換え可能なデバイスを備え、
前記ルーティング情報を検索するためのタグ情報を具備する、ことを特徴とする請求項１１記載の半導体装置。
【請求項１３】
前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定し、前記ルーティング参照表に必要なルーティング情報が保持されていると判断した場合に、
前記ルーティング参照表が保持している前記ルーティング情報を、ネットワークパケットのフリットに付与してパケットを送出する、ことを特徴とする請求項１１又は１２記載の半導体装置。
【請求項１４】
前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、
前記ルーティング参照表に、新たに要求のあったルーティング情報を登録し、必要なルーティング情報と前記ルーティング参照表のルーティング情報を一致した状態とした上で、前記ルーティング情報を、ネットワークパケットのフリットに付与してパケットを送出する、ことを特徴とする請求項１１乃至１３のいずれか一に記載の半導体装置。
【請求項１５】
前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、
他の情報処理ユニットに対して割り込みをかける、ことを特徴とする請求項１１乃至１４のいずれか一に記載の半導体装置。
【請求項１６】
前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、
受信先情報からルーティング情報を計算し、該計算したルーティング情報を前記ルーティング参照表に登録する、ことを特徴とする請求項１１乃至１５のいずれか一に記載の半導体装置。
【請求項１７】
前記ネットワークインタフェースは、前記ルーティング参照表の書き換えの要求を行うネットワークの制御パケットを定義し、ネットワークインタフェースが上記制御パケットを受領した際には、パケットの内容に従ってルーティング情報を登録する、ことを特徴とする請求項１１乃至１６のいずれか一に記載の半導体装置。
【請求項１８】
情報処理ユニット、記憶ユニット、インタフェースユニットのうちの少なくとも一つのユニットを複数備え、交信チャネルとルータから構成されるオンチップネットワークと前記ユニットはネットワークインタフェースを介して接続されるシステムのネットワークルーティング方法であって、
前記ネットワークインタフェースは、前記オンチップネットワークの所望経路上に存在する各ルータにおいてどの交信チャネルへ出力するかを、ルータ個々に指定した一又は複数の出力情報から構成されるルーティング情報を保持するルーティング参照表を備え、
前記ルーティング参照表は、前記ルーティング参照表の属するネットワークインタフェースが送信する可能性があるネットワーク交信のルーティング情報のうちの一部を保持し、
ルーティング時、該ルーティングに必要なルーティング情報が前記ルーティング参照表に保持されているか否かを判定し、
前記ルーティング情報が前記ルーティング参照表上で不一致となった場合には、予め定められたパケットを生成して、当該パケットを前記情報処理ユニットに送出し、不一致となった状況を、ネットワークの他の地点に接続された情報処理ユニットに通知する、ことを特徴とするネットワークルーティング方法。
【請求項１９】
情報処理ユニット、記憶ユニット、インタフェースユニットのうちの少なくとも一つのユニットを複数備え、交信チャネルとルータから構成されるオンチップネットワークと前記ユニットはネットワークインタフェースを介して接続されるネットワークシステムであって、
前記ネットワークインタフェースは、前記オンチップネットワークの所望経路上に存在する各ルータにおいてどの交信チャネルへ出力するかを、ルータ個々に指定した一又は複数の出力情報から構成されるルーティング情報を保持するルーティング参照表を備え、
前記ルーティング参照表は、前記ルーティング参照表の属するネットワークインタフェースが送信する可能性があるネットワーク交信のルーティング情報のうちの一部を保持し、
ルーティング時、該ルーティングに必要なルーティング情報が前記ルーティング参照表に保持されているか否かを判定し、
前記ルーティング情報が前記ルーティング参照表上で不一致となった場合には、予め定められたパケットを生成して、当該パケットを前記情報処理ユニットに送出し、不一致となった状況を、ネットワークの他の地点に接続された情報処理ユニットに通知する、ことを特徴とするネットワークシステム。
【国際調査報告】
2011148925.tif 000019
2011148925.tif 000020
2011148925.tif 000021
2011148925.tif 000022