パケットを受信する複数の入力ポートと、前記パケットを送信する複数の出力ポートと、前記入力ポートのそれぞれに設けられており、前記受信したパケットのデータを格納する複数のバッファと、前記パケットが所望の出力ポートから送出されるように、パケットの出力先を切り替えるスイッチ部と、送信元コアにより設定された共有メモリ上の宛先アドレスとルータの識別子とを対応させて格納する宛先変更用テーブルと、受信した書き込み要求パケットに格納された共有メモリ上の宛先アドレスと同一のアドレスを有する有効なエントリが前記宛先変更用テーブルに存在するかどうかを検索する第1の検索を行う検索部と、前記第1の検索の結果、前記宛先変更用テーブルに存在する有効なエントリのルータを宛先として経路計算を行う経路計算部と、前記経路計算部により求められた経路を示すルータの識別子を、前記書き込み要求パケットに格納し、かつ宛先を変更したことを示すリルーテッドフラグを立てるヘッダー生成部と、を備えることを特徴とするオンチップルータ。前記検索部は、前記宛先コアから受信した読み出し要求パケットに格納された共有メモリ上の宛先アドレスと同一のアドレスを有し、かつ、前記リルーテッドフラグが立てられた書き込み要求パケットが、前記バッファに蓄積されているかどうかを検索する第2の検索を行い、前記ヘッダー生成部は、前記第2の検索の結果、該当する書き込み要求パケットが存在すれば、その書き込み要求パケットのヘッダーを書き換え、前記読み出し要求パケットに対する応答パケットのヘッダーを生成する、ことを特徴とする請求項1に記載のオンチップルータ。前記ヘッダー生成部は、前記書き込み要求パケットのリルーテッドフラグが立っている場合、1サイクル経過する毎に、前記バッファに蓄積された前記書き込み要求パケットのライフサイクル値を減じ、前記経路計算部は、前記ライフサイクル値が所定の値まで減少すると、前記書き込み要求パケットの共有メモリ上の宛先アドレスを宛先として経路計算を行い、前記ヘッダー生成部は、その結果求められたルータ識別子を前記書き込み要求パケットに格納し、前記リルーテッドフラグを倒す、ことを特徴とする請求項1または2のいずれかに記載のオンチップルータ。転送先のルータのバッファに空きがない場合、前記経路計算部はパケットに格納された共有メモリ上の宛先アドレスを宛先として経路計算を行い、前記ヘッダー生成部は前記リルーテッドフラグを倒すことを特徴とする請求項1乃至3のいずれかに記載のオンチップルータ。複数のプロセッサコアと、前記プロセッサコアに接続され、前記プロセッサコア間で送受信されるパケットを転送する複数のオンチップルータとを備えるマルチコアシステムであって、前記オンチップルータは、前記パケットを受信する複数の入力ポートと、前記パケットを送信する複数の出力ポートと、前記入力ポートのそれぞれに設けられており、前記受信したパケットのデータを格納する複数のバッファと、前記パケットが所望の出力ポートから送出されるように、パケットの出力先を切り替えるスイッチ部と、自身が接続された前記プロセッサコアにより設定された共有メモリ上の宛先アドレスと、ルータの識別子とを対応させて格納する宛先変更用テーブルと、受信した書き込み要求パケットに格納された共有メモリ上の宛先アドレスと同一のアドレスを有する有効なエントリが前記宛先変更用テーブルに存在するかどうかを検索する第1の検索を行う検索部と、前記第1の検索の結果、前記宛先変更用テーブルに存在する有効なエントリのルータを宛先として経路計算を行う経路計算部と、前記経路計算部により求められた経路を示すルータの識別子を、前記書き込み要求パケットに格納し、かつ宛先を変更したことを示すリルーテッドフラグを立てるヘッダー生成部とを備える、ことを特徴とするマルチコアシステム。本発明が解決しようとする課題は、コア間通信用のバッファを新たに設けることなく、コア間通信のレイテンシを低減可能なオンチップルータ及びそれを用いたマルチコアシステムを提供することである。一実施形態に係るオンチップルータは、共有メモリ型のマルチコアシステムにおいてコア間通信を行うオンチップルータであって、バッファと、スイッチ部と、宛先変更用テーブルと、検索部と、経路計算部と、ヘッダー生成部と、を備える。前記バッファは、各入力ポートに設けられており、前記入力ポートで受信したデータを格納する。前記スイッチ部は、受信したパケットが所望の出力ポートから送出されるように、パケットの出力先を切り替える。前記宛先変更用テーブルは、共有メモリ上の宛先アドレスと、宛先コアに直接接続されたルータの識別子とを対応させており、送信元コアにより設定される。前記検索部は、前記送信元コアから受信した書き込み要求パケットのヘッダーに格納された前記共有メモリ上の宛先アドレスと同一のアドレスを有する有効なエントリが前記宛先変更用テーブルに存在するかどうかを検索する第1の検索を行う。前記経路計算部は、前記第1の検索の結果、前記有効なエントリが前記宛先変更用テーブルに存在すれば、そのエントリの識別子のルータを宛先としてソースルーティング方式により経路計算を行う。前記ヘッダー生成部は、前記経路計算により求められたルータの識別子を、前記書き込み要求パケットのヘッダーのホップルータフィールドに格納し、かつ宛先を変更したことを示すリルーテッドフラグを立てる。以下、本発明に係る実施形態について図面を参照しながら説明する。なお、各図において同等の機能を有する構成要素には同一の符号を付し、同一符号の構成要素の詳しい説明は繰り返さない。まず、各実施形態に共通するマルチコアシステムの構成およびコア間通信に用いられるパケットの概略的な構成について説明する。図1は、本実施形態に係る共有メモリ型のマルチコアシステムの概略的な構成を示している。図1のマルチコアシステムは、16個のコア101~116と、20個のルータ201~220と、4個の共有メモリ301~304と、を含んでいる。ルータ201~220は、格子状に配置され、メッシュ型のネットワークを構成している。ルータ201~216は対応するコア101~116と接続されており、ルータ217~220は対応する共有メモリ301~304と接続されている。例えば、コア101にはルータ201が接続されており、共有メモリ301にはルータ217が接続されている。各コアは、メッシュ状に接続されたルータを介して、互いに接続されるとともに共有メモリと接続されている。なお、図1においてルータを示す円内の数字は、ルータの識別子IDを示している。即ち、ルータ201~220の識別子はそれぞれ、0~19である。また、共有メモリ301~304については、キャッシュ機能を有する場合、メモリが用いられることもある。次に、マルチコアシステムの通信で用いられるパケットの構造について、図2を用いて説明する。パケットは、宛先などに関する情報が格納されるヘッダーと、書き込みデータ又は読出しデータ等が格納されるボディとから構成される。ヘッダーおよびボディはフリットFlitと呼ばれるデータ単位から構成されており、図2に示すパケットの例では、ヘッダーは2つのヘッダーフリット0及び1からなり、ボディは5つのボディフリット0~4からなる。次にパケットの転送方式について説明する。パケットを転送する方式は、ソースルーティング固定型ルーティング方式と適応型ルーティング方式がある。ソースルーティング方式では、送信元コアに接続されたルータが、宛先アドレスに応じてパケットの転送経路、即ちパケットの経由するルータを予め全て決める。よって、ソースルーティング方式の場合、転送経路が途中で変更されることはない。適応型ルーティング方式では、パケットを受信した各ルータは、宛先アドレスの他、ネットワークの混雑状況等を考慮して経路計算を行い、パケットの次の転送先を決定する。このように適応型ルーティングの場合、転送経路はパケットを受信したルータごとに決められる。以下、第1乃至第5の実施形態について説明する。第1の実施形態第1の実施形態は、ソースルーティング方式を採った場合の実施形態である。第1の実施形態ではコア間通信は非同期で行われる。まず、図3を用いて、ソースルーティング方式の場合のパケットのヘッダーの詳細を説明する。ヘッダーフリット0は、コマンドフィールドCmdと、リルーテッドフラグReroutedFlagと、Ack要求フラグAckRequiredFlagと、宛先アドレスフィールドDestAddressと、ソースコアフィールドSrcCoreと、ライフサイクルフィールドLifeCycleと、ホップルータフィールドHopRouter1と、を有する。ヘッダーフリット1は、ホップルータフィールドHopRouter2~5を有する。コマンドフィールドはパケットの種類を示すフィールドである。例えば、書き込み要求パケットの場合、コマンドフィールドにはwriteを意味する符号が格納され、読み出し要求パケットの場合、コマンドフィールドにはreadを意味する符号が格納される。リルーテッドフラグは、パケットの宛先を変更したことを示すフラグである。Ack要求フラグは、発信元のコアが受領通知を要求するフラグである。第1の実施形態ではコア間通信は非同期であるため、Ack要求フラグには0が格納される。宛先アドレスフィールドは、共有メモリ上の宛先アドレスを格納するフィールドである。ソースコアフィールドは、発信元のコアの識別子を格納するフィールドである。ライフサイクルフィールドは、パケットの寿命を示すフィールドである。このフィールドに設定されるライフサイクル値は、ネットワークの特性等に依存する。例えば初期値として20が格納され、ライフサイクル値が所定の値例えば零になるとタイムアウトとなる。ホップルータフィールドは、パケットが経由するルータの識別子を格納するフィールドである。ホップルータフィールドの数は、ルータの中継段数に応じて変化する。発信元コアに接続されたルータは、パケットが宛先コア若しくは共有メモリに接続されたルータに達するまでに経由する全てのルータの識別子をヘッダーに格納する。このため、ルータの中継段数によっては、複数のヘッダーフリットが必要になる。なお、マルチコアシステムに設けられた各ルータは、受信パケットのホップルータフィールドのうち最後尾のフィールドを参照することで、自分が宛先コアに接続されたルータであるか否かを認識することができる。つまり、最後尾のホップルータフィールドに格納された識別子が自身の識別子と一致すれば、自身が宛先コアに接続されたルータであると認識することができる。図4は、第1の実施形態に係るルータの構成図の一例である。図4のルータは入力ポートおよび5つの出力ポートを5つずつ有する。ここでは、入力ポート及び出力ポートはそれぞれ、西方向W、東方向E、北方向N、南方向Sおよびコア方向Cと表現する。ただし、ルータの配置位置により入出力ポートの数は異なる。例えば、ルータ201は、コア方向、北方向および東方向について入出力ポートを有する。ルータ202は、コア方向、西方向、東方向及び北方向について入出力ポートを有する。ルータは、各入力ポートに設けられたバッファ21と、スイッチ部22と、宛先変更用テーブル23と、検索部24と、ヘッダー生成部25と、経路計算部26とを有する。バッファ21は、入力ポートで受信したデータを格納する。バッファ21の深さ大きさは1Flit以上例えば4~8Flitである。スイッチ部22は、受信パケットが所望の出力ポートから送出されるように、パケットの出力先を切り替える。このスイッチ部22は経路計算部26により制御される。宛先変更用テーブル23は、共有メモリ上の宛先アドレスと、宛先コアに接続されたルータの識別子とを対応させた表である。この宛先変更用テーブル23は送信元コアにより設定される。送信元コアは、自身の制御用レジスタにアクセスするのと同様にして、接続されたルータの宛先変更用テーブル23に書き込むことができる。図5は宛先変更用テーブル23の一例を示している。図5の宛先変更用テーブル23は、データの有効性を示すVフラグValidFlagを格納するVと、共有メモリ上の宛先アドレスを格納するDestAddressと、宛先ルータの識別子を格納するDestRouterIDとから構成される。Vフラグ、宛先アドレスおよび宛先ルータ識別子のセットをエントリと呼ぶ。図5のエントリ0はVフラグが立ち、有効なエントリである。エントリ0において、宛先アドレスは0x31B8_9BC0以下、アドレスDA1であり、宛先ルータ識別子は10ルータ211である。なお、図5ではエントリ数は1であるが、宛先変更用テーブル23は複数のエントリを有することができる。次に、コア101を送信元コア、コア111を宛先コアとした場合における、第1の実施形態によるコア間通信の詳細について説明する。まず、送信元のコア101は、書き込み要求パケットを送信する前に、自身と接続されたルータ201に対して設定を行う。具体的には、コア101は、宛先変更用テーブル23のエントリ0の宛先アドレスDA1を、宛先ルータ識別子として、ルータ211の識別子10をそれぞれ書き込む。さらに、コア101は、エントリ0が有効であることを示す1をVフラグに書き込む。宛先変更用テーブルを設定した後、コア101は、書き込み要求パケットを生成し、ルータ201へ送信する。書き込み要求パケットは、宛先アドレスフィールドに共有メモリ301のアドレスDA1が格納されている。次に、ルータ201の検索部24は、コア101から受信した書き込み要求パケットのヘッダーに格納された宛先アドレスと同一のアドレスを有する有効なエントリが宛先変更用テーブル23に存在するかどうかを検索する。検索の結果、同一のアドレスを有する有効なエントリが存在する場合、ルータ201の経路計算部26は、エントリの識別子のルータを宛先として経路計算を行う。第1の実施形態の場合、ソースルーティングによる経路計算が行われる。そして、ヘッダー生成部25は、求められた全てのルータの識別子を、パケットの経由する順にポップルータフィールドに格納するとともに、リルーテッドフラグに1を設定する。図6は、このようにして生成されたパケットのヘッダーの一例を示している。図6の各ホップルータフィールドには、経路計算により求められたルータの識別子1、2、6、10がそれぞれ格納されている。その後、経路計算部26からの制御を受けて、スイッチ部22はパケットの出力先を、ルータ202ID=1の方向であるE方向のポートに切替える。これにより、宛先変更された書き込み要求パケットがルータ201からルータ202に送出される。図7は、パケットの転送経路の一例を示す図である。書き込み要求パケットは、例えば図7の経路Aに示すように、ルータ201、202、203及び207を経由してルータ211に達する。ここで、コア111は、アドレスDA1のデータを読み出す場合、ルータ211に対して読み出し要求パケットを送信する。読出し要求パケットの宛先アドレスフィールドにはアドレスDA1が格納されている。ルータ211はコア111から読み出し要求パケットを受信すると、検索部24により読み出し要求パケットの宛先アドレスと同一のアドレスを有し、かつ、リルーテッドフラグが1の書き込み要求パケットがバッファに蓄積されているかどうかを検索する。検索の結果、バッファ内に存在する場合、ルータ211はヘッダー生成部25により書き込み要求パケットのヘッダーを書き換え、読み出し要求パケットに対する応答パケットのヘッダーを生成し、コア111に送出される。したがって、宛先のコア111は、アドレスDA1のデータを迅速に読み出すことができる。なお、応答パケットを生成する際、バッファ内に蓄積されていた書き込み要求パケットは削除される。次に、コア間通信が非同期であることに起因する問題と、それに対する対処方法について説明する。ここでは、コア101からの書き込み要求パケットがルータ211に到達した後に、宛先のコア111が別のアドレスDA2の読み出しを行った場合を考える。ルータ211内のバッファ21に空きがない場合、アドレスDA2のデータを有する読み出し応答パケットは、途中のルータに留まり、いつまで経ってもルータ211に到達することができない。このためコア111の処理が停止するという不具合が生じる。本実施形態では、ルータ211はライフサイクルを利用し、タイムアウトが発生した場合には、既に到達していた書き込み要求パケットを共有メモリに転送する。具体的には、ルータ211は、自身のバッファ内にリルーテッドフラグが1の書き込み要求パケットがある場合、ライフサイクル値を1サイクル経過するごとに1ずつ減らす。タイムアウトすると、ルータ211は、その書き込み要求パケットを共有メモリ301に転送する。ルータ211は、ヘッダー生成部25により書き込み要求パケットのアドレスDA1を宛先として転送経路を計算し、求められたルータ識別子をホップルータフィールドに格納する。書き込み要求パケットのリルーテッドフラグは、0に設定する。これにより、書き込み要求パケットはルータ211から共有メモリ301に向けて送信され、例えば図7に示す経路Bに沿って転送される。上記のようにしてルータ211に滞留した書き込み要求パケットを共有メモリに転送することで、ルータ211のバッファ21に空きを生じさせる。これにより、コア111による読出し要求に対する応答パケットは、ルータ211に到達することができる。その結果、コア111の処理が停止する事態を回避することができる。第1の実施形態によれば、コア間通信用のバッファを新たに設けることなく、共有メモリを介さないコア間通信を実現することができる。このため、従来に比べてコア間通信のレイテンシを低減することができる。また、第1の実施形態によれば、共有メモリがキャッシュ機能を有する場合、従来に比べてキャッシュラインの追い出しが低減することでヒット率を向上させることができ、その結果、マルチコアシステム全体の性能を向上させることができる。第2の実施形態第2の実施形態では、書き込み要求パケットのAck要求フラグを用い、同期をとってコア間通信を行う。宛先コアに接続されたルータは、Ack要求フラグが立てられた書き込み要求パケットを受信すると、送信元コアにパケットの転送完了を通知する。そして、送信元コアは宛先コアにデータ書き込み完了通知を送信する。その後、宛先コアは読み出し要求パケットを送信する。よって、同期したコア間通信を行うことができる。以下、詳細について説明する。コア101を送信元コア、コア111を宛先コアとする。送信元コア101から書き込み要求パケットを受信したルータ201は、書き込み要求パケットのAck要求フラグに1を設定する。宛先コア111と接続されたルータ211は、コア101にパケットの転送が完了したことを通知する。なお、この通知は、専用の信号線等により行ってもよいし、通常のデータ転送と区別可能な特殊なパケットを用いて行ってもよい。後者の場合は、特殊パケットがルータのバッファでデータ転送用パケットを追い越すことができるようにすることが好ましい。これにより、特殊パケットが通常のパケットに阻害されて送信元のコア101に到達できないために同期が完了しないという事態を回避することができる。ルータ211からパケットの転送が完了した旨が通知されると、送信元コア101は、マルチコアシステムの提供する同期機構メモリ上の共有変数や割り込み等により、コア111へデータ書き込みの完了を通知する。コア111はその通知を受信すると、アドレスDA1に対する読出し要求パケットを送信する。それ以降の動作は第1の実施形態と同様であるので詳しい説明は省略する。第2の実施形態によれば、宛先コアは送信元コアからデータ書き込みの完了通知を受けてから、読出し要求を行うため、宛先コアは送信元コアからの書き込みデータを確実に読み出すことができる。また、第2の実施形態によれば、従来に比べて、コア間通信のレイテンシを低減することができる。第3の実施形態第3の実施形態について説明する。まず、図8を用いて、適応型ルーティング方式の場合のパケットのヘッダーの構成について説明する。ソースルーティング方式の場合との相違点は、ホップルータフィールドの代わりに、宛先ルータフィールドDestRouterが設けられていることである。宛先ルータフィールドには、宛先コアに接続されたルータの識別子が格納される。なお、従来の場合、宛先ルータフィールドは存在せず、宛先アドレスフィールドの情報を用いて経路計算が行われる。図9は第3の実施形態に係るルータの構成を示している。図9のルータは、バッファ21と、スイッチ部22と、宛先変更用テーブル23と、検索部24と、ヘッダー生成部25と、経路計算部26とを有する。さらに、第3の実施形態に係るルータは、隣接するルータのバッファの状態データの埋まり具合を通知するフィードバック線29を有する。経路計算部26は、フィードバック線29からの情報を考慮して経路計算を行い、パケットの出力先を決定することができる。次に、コア101を送信元コア、コア111を宛先コアとした場合における、第3の実施形態によるコア間通信の詳細について説明する。まず、送信元のコア101は、書き込み要求パケットを送信する前に、ルータ201の宛先変更用テーブル23に対して設定を行う。即ち、コア101は宛先変更用テーブル23のエントリに、Vフラグ1、アドレスDA1及びルータ識別子10を書き込む。次に、コア101は、宛先アドレスをアドレスDA1とした書き込み要求パケットをルータ201へ送信する。ルータ201の検索部24は、書き込み要求パケットの宛先アドレスと同一のアドレスを有する有効なエントリが宛先変更用テーブル23に存在するかどうかを検索する。検索の結果、同一のアドレスを有する有効なエントリが存在する場合、ヘッダー生成部25はそのエントリの宛先ルータ識別子を宛先ルータフィールドに格納するとともに、リルーテッドフラグに1を設定する。なお、この際、ヘッダー生成部25は、Ack要求フラグについて、非同期の場合には0を設定し、同期の場合には1を設定する。次に、ルータ201の経路計算部26は、格納された識別子のルータを宛先として経路計算を行い、次の転送先を決定する。その決定に従い、経路計算部26はスイッチ部22を制御する。これにより、書き込み要求パケットは、ルータ201から決定されたルータに向けて送信される。パケットが転送された中継ルータの経路計算部26は、リルーテッドフラグが立っている場合には、宛先ルータフィールドに格納された識別子のルータを転送先として経路計算を行い、パケットの出力先を決定する。一方、リルーテッドフラグが立っていない場合には、経路計算部26は、宛先アドレスフィールドに格納されたアドレスを転送先として経路計算を行う。コア101からの書き込み要求パケットは転送され、最終的に宛先ルータであるルータ211に到達する。それ以降の動作は、非同期の場合は第1の実施形態、同期の場合は第2の実施形態と同様であるので詳しい説明は省略する。第3の実施形態によれば、第1の実施形態と同様、従来に比べてコア間通信のレイテンシを低減することができるとともに、共有メモリがキャッシュ機能を有する場合には、従来に比べてマルチコアシステム全体の性能を向上させることができる。また、第3の実施形態によれば、同期式のコア間通信を行う場合、第2の実施形態と同様、宛先コアは送信元コアからの書き込みデータを確実に読み出すことができるとともに、従来に比べて、コア間通信のレイテンシを低減することができる。第4の実施形態第4の実施形態は、ネットワークの混雑等により書き込み要求パケットが宛先コアに接続されたルータに到達できない場合の動作に関する。コア101からコア111に書き込み要求パケットを転送する場合を例にとって説明する。なお、ルーティング方式は、ソースルーティング方式でも適応型ルーティング方式でもよい。コア101から送信された書き込み要求パケットは、ルータ201において宛先変更用テーブル23の設定に従って宛先をルータ211に変更され、経路計算を行って求められた出力ポートから送出され、ルータ211に転送される。ここで、ルータ211への経路が混雑しているために、書き込み要求パケットが途中のルータ207ID=6で滞留し、ルータ211に到達できない場合を考える。第4の実施形態では、ルータ207は、ルータ211に転送することを断念し、宛先を宛先アドレスの存在する共有メモリ301に変更する。具体的には、ルータ207の経路計算部26が、アドレスDA1を宛先として経路計算を行い、新たな転送経路を求める。また、ヘッダー生成部25は書き込み要求パケットのリルーテッドフラグを0にする。そして、書き込み要求パケットはルータ207から共有メモリ301に向けて転送される。図10の経路Eは、このときの転送経路の一例を示している。その後、コア111が読み出し要求を行った場合、ルータ211のバッファには書き込み要求パケットは存在しない。このため、従来と同様に共有メモリから宛先アドレスのデータが読み出される。次に、送信元コア101に接続されたルータ201がルータ211への経路が混雑していると判断した場合について説明する。この場合は、初めから共有メモリ301に向けて書き込み要求パケットを転送する。ルータ201は、コア101からパケットを受信すると、宛先変更用テーブル23を参照し、宛先を変更すべきパケットであるかどうかを判断する。そして、宛先を変更すべきパケットである場合には、以下の処理を行う。ルータ201がルータ211への経路が混雑していると判断した場合、ルータ201の経路計算部26は、アドレスDA1を宛先として経路計算を行う。また、ヘッダー生成部25は書き込み要求パケットのリルーテッドフラグを0に設定する。書き込み要求パケットは共有メモリ301に転送される。なお、ネットワークが混雑しているかどうかを判断する方法として、例えば、フィードバック線29からの情報を用いる。第4の実施形態では、宛先ルータに到達することが困難なことが分かった段階で、ルータの動作を変更して、宛先コアへの転送を中止し、共有メモリに書き込み要求パケットを送信する。送信元コア及び宛先コアの動作を変更する必要はない。これにより、第4の実施形態によれば、ネットワークの混雑状況に応じて、共有メモリを介したコア間通信と、共有メモリを介さないコア間通信とを柔軟に切替えることができる。第5の実施形態第5の実施形態は、パケットのマルチキャスト転送を行う。第5の実施形態では、送信元コアからのデータを共有メモリに接続されたルータのバッファに蓄積し、宛先コアからの読み出し要求に応じてこのバッファから複数のコアに対してデータを送信する。これにより共有メモリへの書き込み読み出しが発生しないことから、従来の共有メモリ型のコア間通信よりもレイテンシの小さいマルチキャストを実現させることができる。以下、送信元コア101から2つのコア111とコア114へデータを転送する場合について詳細に説明する。ここでは、同期の適応型ルーティング方式の場合について説明するが、第5の実施形態はソースルーティング方式や非同期の場合についても適用可能である。まず、送信元コア101は、書き込み要求パケットを送信する前に、ルータ201の宛先変更用テーブル23の設定を行う。例えば図11に示すように、コア101は、宛先変更用テーブル23のエントリに、Vフラグ1、アドレスDA1、及び共有メモリ301に接続されたルータの識別子16をそれぞれ書き込む。次に、コア101は、宛先アドレスをアドレスDA1とした書き込み要求パケットをルータ201へ送信する。ルータ201の検索部24は、書き込み要求パケットの宛先アドレスと同一のアドレスを有する有効なエントリが宛先変更用テーブル23に存在するかどうかを検索する。検索の結果、同一のアドレスを有する有効なエントリが存在する場合、ヘッダー生成部25は、そのエントリのルータ識別子16を宛先ルータフィールドに格納するとともに、リルーテッドフラグに1を設定する。この際、ヘッダー生成部25は、Ack要求フラグに1を設定する。次に、ルータ201の経路計算部26は、宛先ルータフィールドに格納された識別子のルータを宛先として経路計算を行い、次の転送先を決定する。その決定に従い、経路計算部26はスイッチ部22を制御する。これにより、書き込み要求パケットは、例えば図12の経路Hに沿って転送され、最終的にルータ217へ到達する。ルータ217の検索部は、宛先ルータフィールドに格納された識別子が自身のものと一致するパケットを検索し、そのようなパケットが存在すると、ルータ217はコア101に転送完了を通知する。コア101は、ルータ217から転送完了通知を受信すると、コア111及びコア114に対し、割り込みなどの手段により同期をかける。コア111及びコア114は、宛先をアドレスDA1とした読み出し要求パケットを送信する。これらの読み出し要求パケットは、共有メモリ301に向けて転送され、ルータ217へ到達する。ルータ217の検索部は読み出し要求パケットを受信すると、自身のバッファ21の中からリルーテッドフラグが1であり、かつ宛先アドレスフィールドの宛先アドレスが読み出し要求パケットの宛先アドレスと一致する書き込み要求パケットを検索する。ルータ217のヘッダー生成部は、該当する書き込み要求パケットを書き換え、読み出し要求パケットに対する応答パケットのヘッダーを生成する。そして、生成した応答パケットを読み出し結果としてコア111及びコア114に送信する。なお、マルチキャストに対応するため、バッファに蓄積された書き込み要求パケットはそのまま保存しておき、マルチキャストが終了した後、共有メモリ301に書き込むとともにバッファから消去する。なお、マルチキャストの終了のタイミングとして、例えばライフサイクル値を用いたタイムアウトを用いることができる。図12の経路I及び経路Jは応答パケットの転送経路の一例を示している。第5の実施形態によれば、共有メモリにデータの書き込み及び読み出しを行わない分のレイテンシを低減させることができる。以上、本発明に係る実施形態について説明した。本実施形態ではメッシュ型のマルチコアネットワークを例にとったが、これに限らず、コア及び共有メモリにそれぞれ対応するルータが接続されていればよく、リング型やトーラス型でもよい。また、非同期のコア間通信を行う実施形態において、宛先コアにパケットを直接転送するとともに、共有メモリにもパケットを転送し、共有メモリの宛先アドレスにデータを書き込むようにしてもよい。このようにすることで、予め判明しているコア間通信についてはパケットを直接転送することでレイテンシを低減するとともに、その後他のコアが読み出し要求を行った場合には共有メモリからデータを読み出すことができる。本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。