JP5673554B2 - オンチップ並列処理システム及び通信方法 - Google Patents

オンチップ並列処理システム及び通信方法 Download PDF

Info

Publication number
JP5673554B2
JP5673554B2 JP2011545164A JP2011545164A JP5673554B2 JP 5673554 B2 JP5673554 B2 JP 5673554B2 JP 2011545164 A JP2011545164 A JP 2011545164A JP 2011545164 A JP2011545164 A JP 2011545164A JP 5673554 B2 JP5673554 B2 JP 5673554B2
Authority
JP
Japan
Prior art keywords
packet
node
data
nodes
router
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.)
Active
Application number
JP2011545164A
Other languages
English (en)
Other versions
JPWO2011070913A1 (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 JP2011545164A priority Critical patent/JP5673554B2/ja
Publication of JPWO2011070913A1 publication Critical patent/JPWO2011070913A1/ja
Application granted granted Critical
Publication of JP5673554B2 publication Critical patent/JP5673554B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Description

本発明は、複数のアプリケーションを並列処理するオンチップ並列処理システム及び通信方法に関する。
電子機器の処理能力の更なる向上への要求と、半導体製造プロセスの微細化に対する努力とにより、システムオンチップ上で動作するオンチップ並列処理システムの製品化が実現するのもそう遠くはない。オンチップ並列処理システムとは、数十個またはそれ以上の個数のプロセッサが1つのチップに配置されたものである。
これが実現されれば、電子機器の処理能力を向上させることができる。さらに、プロセッサの動作周波数を下げることによって動作電圧を下げることができれば、消費電力の低減にもつながる。なお、以降、システムオンチップのことをSoCと表記する。
現在、SoCではチップ上の接続方式としてバス方式が用いられている。SoCにおいてプロセッサは、メモリや周辺デバイスインターフェース等とバスによって接続されている。
ここで、オンチップ並列処理システムにおけるプロセッサの個数が増加すれば、増加した個数の分だけ、チップ上を流れるデータ量は増加することが予想される。
バス方式では、通信の送信側と受信側との間の通信経路が確立された後に、データが送受信される。そのため、処理時間のオーバーヘッドが大きい。つまり、バス方式は、チップ上に大量のデータが流れるオンチップ並列処理システムにおける接続方式としては適していない。
このバス方式に対して、次世代向けの接続方式として考えられているのがネットワーク・オン・チップ(以降、NoCと表記する)である。NoCのアーキテクチャでは、通信の送信側は、通信の受信側との間の通信経路の確立を待たずに、連続してデータを送信することができる。そのため、NoCは、チップ上に大量のデータが流れるオンチップ並列処理システムにおける接続方式として適している。
NoCのアーキテクチャにおいてチップは、複数のノードと複数のルータとそれらを接続するリンクとから構成される。つまり、NoCにおいては、ネットワークを介して通信が行われ、このネットワークはルータ及びリンクを介してノードで終端する。
また、複数のノードのそれぞれは、プロセッサ、メモリ、周辺デバイスインターフェース等を1つ以上備えている。また、複数のノードのそれぞれは、ネットワーク内のルータとの間で通信を行うためのネットワークインターフェースを備えている。
ネットワークインターフェースは、複数のノードのそれぞれから送信されるデータをパケット化してネットワークへ送信する。また、他のノードから送信されたパケットを受信し、受信したパケットに含まれるデータを抽出してノード内のブロック(プロセッサ、メモリ、周辺デバイスインターフェース等)へ出力する。
SoCでは既に、1つのチップ上に複数のアプリケーションが搭載され、それら複数のアプリケーションの並列処理が実現されている。
複数のアプリケーションの並列処理を実現するためには、複数のアプリケーション間の干渉を抑制する必要がある。具体的には、1つのチップ上に搭載される複数のアプリケーションの組合せによらずに、複数のアプリケーションそれぞれが所定の性能を安定的に満足しながら動作することが必要である。これは、チップを用いた製品の品質を維持するために必要な特性である。例えば、アプリケーションの不具合や悪意を持った者の行為により、あるアプリケーションが不正な動作を行った場合でも、その影響が他のアプリケーションに極力及ばないことが望ましい。
複数のアプリケーション間の干渉を抑えるための方法としては、チップを複数の領域に分割した複数のパーティションを設けることが有効である。
NoCによるオンチップ並列処理システムにおいては、それぞれのパーティションには1つ以上のノードとそれらを接続するネットワークとが含まれる。このとき、1つのアプリケーションが複数のパーティションに跨って実行されることも可能であり、また、複数のアプリケーションが1つのパーティション内で実行されることも可能である。
さらに、パーティションに求められる要件として、パーティションの境界を動的に変更可能であることが挙げられる。これは、SoCを用いたデバイスの設計に自由度をもたらすとともに、コストダウン効果をもたらす。
パーティションの境界を動的に変更可能であるということは、チップ上におけるプロセッサやメモリ等の物理的な配置とは関係なく、パーティションの境界を定めることができるということである。
これにより、アプリケーションの設計中に、仕様変更や必要なハードウェアリソースの配分に変更が生じても、それらに対応することが可能となる。また、これを応用すれば同一のチップを複数の異なる製品に流用することも可能となる。
このようなパーティションを実現できるオンチップ並列処理システムが例えば、特許文献1に開示されている。
特許文献1に開示されているオンチップ並列処理システムは、複数のノードがNoCによってオンチップで接続されたシステムである。ネットワークは、複数のパーティションに分割され、1つ以上のアプリケーションが1つ以上のパーティションで実行される。
特許文献1には、パーティションの画定にあたっては、独自の物理メモリ・アドレス空間への排他的アクセスがパーティション内のルータ及びIPブロックに割り当てられるだけで十分であると記載されている。
また、特許文献1には、以下のことが記載されている。
パーティションの境界に沿っている各ルータは、そのルータで受信された通信パケットの発アドレスと宛先アドレスとを調べる。そして、そのパーティションの外側で生じたそのパーティション内のネットワーク位置へアドレス指定されているパケットを落とす。また、そのパーティション内で生じたそのパーティションの外側のネットワーク位置へアドレス指定されているパケットを落とす。
また、特許文献1に開示されている技術では、仮想チャネルが設定されている。この仮想チャネルは、ネットワークインターフェースコントローラとルータとによって実現される。ネットワークインターフェースコントローラにより、ネットワークパケットフォーマット中の1フィールドに通信タイプが記録され、その後、ルータへ送信される。
また、特許文献1に開示されている技術では、ルータは、ルーティングロジックと仮想チャネル制御ロジックと仮想チャネル・バッファとを含んでいる。仮想チャネル制御ロジックでは、各ルータが受信したパケットに割り当てられた通信タイプを調べる。そして、そのルータに隣接するルータへ受信したパケットを送信するために、受信したパケットは、その通信タイプのパケットを送信するためのバッファである発信仮想チャネル・バッファに置かれる。
特許文献1において、通信タイプとして例示されているのは通信命令である。通信命令は具体的には、IPブロック間ネットワーク・アドレス・ベース・メッセージ、リクエスト・メッセージ、対リクエスト応答メッセージ、キャッシュに向けられた無効化メッセージ、メモリ・ロード・メッセージ、メモリ・ストア・メッセージ、対メモリ・ロード応答メッセージ等とされている。
ここで、ルータが短時間に多数のパケットを受信した場合、ルータ内のバッファが一杯になり、それ以上のパケットをバッファに記憶させておくことができなくなる可能性がある。この場合、ルータ間におけるデータの転送が滞ってしまう。
このルータ間におけるデータの転送が滞った状態において、ルータに次のパケットが到着した場合、その滞ったパケットを破棄する処置か、パケットを破棄せずにルータ間におけるデータの転送のみを停止する処置のいずれかがとられるのが一般的である。
NoCにおいては、上述した2つの処置のうち前者の処置をとってしまうと、破棄されたパケットの再送にかかる処理のオーバーヘッドの増加が問題となりやすい。オーバーヘッドの増加とは例えば、チップサイズの増加や処理時間の増加である。従って、NoCにおいては、後者の処置がとられやすい。
特許文献1に開示されている技術においても、後者の処置がとられている。このとき、他の通信におけるデータの転送が滞らないようにするため、上記の仮想チャネルが用いられると特許文献1には記載されている。
特開2009−129447号公報
上述したように、複数のアプリケーション間の干渉を抑制するためには、チップを複数のパーティションに分割することが有効である。但し、チップをパーティションに分割した場合、そのことに起因して、複数のアプリケーションそれぞれが所定の性能を安定的に満足しながら動作できなくなってしまうことを回避しなければならない。
そのためには、複数のアプリケーションそれぞれの設計と、複数のアプリケーション間の設計とにおいて独立性を保つ必要がある。
ここで、パーティションの境界は、複数のアプリケーション間の境界の基準となるものである。従って、上記の独立性を保つためには、複数のパーティション間の干渉が抑制されている必要がある。
すなわち、同一のパーティションに属するノード間の通信と、相互に異なるパーティションに属するノード間の通信とにおいて、一方の通信がもう一方の通信に影響を及ぼしにくいことが望ましい。
上述した特許文献1に開示されている技術では、同一のパーティションに属するノード間の通信か、相互に異なるパーティションに属するノード間の通信かにかかわらず、ルータ内において同一のリソースが使用される。そのため、ルータ内において、それらの通信間でのリソースの競合が生じやすい。
これを回避する手段として特許文献1には、仮想チャネルを導入する方法が記載されてはいる。しかし、同一のパーティションに属するノード間の通信と、相互に異なるパーティションに属するノード間の通信とがルータ内において区別されていない以上、依然として相互に影響を及ぼしやすいことに変わりはない。
一例として、2つの仮想チャネルをサポートするNoCを考えてみる。このとき、相互に異なるパーティションに属するノード間の通信のデータによってバッファが一杯になり、一方の仮想チャネルでのパケットの転送が一時的に不能となったとする。この場合でも、同じパーティションに属するノード間の通信は、もう一方の仮想チャネルで継続することが可能ではある。しかし、そのもう一方の仮想チャネルも、相互に異なるパーティションに属するノード間の通信のデータによって占有されていないという保証はない。
つまり、同一のパーティションに属するノード間の通信と、相互に異なるパーティションに属するノード間の通信とにおいて、一方の通信がもう一方の通信に影響を及ぼしやすい。これにより、一方の通信の通信状況により、もう一方の通信の通信速度が低下してしまう可能性がある。
また、上述した特許文献1に開示されている技術においては、不正なアドレスを指定されたパケットがあるノードから送信された場合、そのパケットは、幾つかのルータによって中継され、パーティションの境界のルータにたどり着くまで破棄されない。
そのため、結果的に不要であるパケットのために、ルータの転送機能が占有されてしまう。特に、不正なアドレスを指定されたパケットが連続的に、あるノードから送信され続けた場合、そのパケットが破棄されるまでの経路上にあるルータ内のハードウェアリソースが連続して使用され続ける。つまり、そのハードウェアリソースを他の通信では使用できないこととなり、通信速度が低下してしまう可能性がある。
また、1つのパーティション内で実行されるアプリケーションにおいて不正な通信が発生した場合、その不正な通信により、他のパーティション内で実行されるアプリケーションのデータが漏洩したり、改ざんされたりする可能性がある。なお、不正な通信とは例えば、アプリケーションの不具合によって発生するものや、悪意を持った者が故意に発生させるものが考えられる。
このように、特許文献1に開示されている技術を用いた場合、通信速度の低下や、データの漏洩や改ざんの可能性がある。従って、オンチップ並列処理システムにおいて、複数のアプリケーションそれぞれが所定の性能を安定的に満足しながら動作することができないという問題点がある。
本発明は、複数のアプリケーションそれぞれが所定の性能を安定的に満足しながら動作することを可能にするオンチップ並列処理システム及び通信方法を提供することを目的とする。
上記目的を達成するために本発明のオンチップ並列処理システムは、
複数のルータと複数のノードとがチップ上に配置され、前記複数のノードのそれぞれが、前記チップを複数の領域に分割した複数のパーティションのいずれかに属し、前記複数のノードのそれぞれが前記複数のルータのいずれかと、また、前記複数のルータのそれぞれが当該ルータに隣接するルータと通信媒体を介して接続され、前記複数のルータが、前記複数のノード間における通信で送受信されるデータを含むパケットを中継するオンチップ並列処理システムであって、
前記通信媒体には、第1及び第2の通信チャネルが設定され、
前記複数のルータのそれぞれ及び前記複数のノードのそれぞれは、同一の前記パーティションに属するノード間における通信では、前記第1の通信チャネルでパケットを送受信し、相互に異なる前記パーティションに属するノード間の通信では、前記第2の通信チャネルでパケットを送受信する。
上記目的を達成するために本発明の通信方法は、
複数のルータと複数のノードとがチップ上に配置され、前記複数のノードのそれぞれが、前記チップを複数の領域に分割した複数のパーティションのいずれかに属し、前記複数のノードのそれぞれが前記複数のルータのいずれかと、また、前記複数のルータのそれぞれが当該ルータに隣接するルータと通信媒体を介して接続され、前記複数のルータが、前記複数のノード間における通信で送受信されるデータを含むパケットを中継するオンチップ並列処理システムにおける通信方法であって、
前記複数のルータのそれぞれ及び前記複数のノードのそれぞれが、同一の前記パーティションに属するノード間における通信では、前記通信媒体に設定された第1及び第2の通信チャネルのうち、前記第1の通信チャネルでパケットを送受信し、相互に異なる前記パーティションに属するノード間の通信では、前記第2の通信チャネルでパケットを送受信する送受信処理を有する。
本発明によれば、同一のパーティションに属するノード間における通信では、第1の通信チャネルでパケットが送受信され、相互に異なるパーティションに属するノード間における通信では、第2の通信チャネルでパケットが送受信される。
これにより、通信速度の低下や、データの漏洩及び改ざんを抑制することができる。従って、オンチップ並列処理システムにおいて、複数のアプリケーションそれぞれが所定の性能を安定的に満足しながら動作することが可能となる。
本発明のオンチップ並列処理システムの実施の一形態の構成を示すブロック図である。 図1に示したルータの構成の一例を示すブロック図である。 図1に示したノードの構成の一例を示すブロック図である。 図3に示したネットワークインターフェース部の構成の一例を示すブロック図である。 図4に示したコンフィグレーションレジスタがパーティション定義情報を記憶するときの動作を説明するためのフローチャートである。 図1〜図4に示したオンチップ並列処理システムにおいて、ノードがデータを含むパケットを送信するときの動作を説明するためのフローチャートである。 図1〜図4に示したオンチップ並列処理システムにおいて、ノードがパケットを受信したときの動作を説明するためのフローチャートである。 図1〜図4に示したオンチップ並列処理システムにおいて、ルータがデータを含むパケットを受信したときの動作を説明するためのフローチャートである。
以下に、本発明の実施の形態について図面を参照して説明する。
図1は、本発明のオンチップ並列処理システムの実施の一形態の構成を示すブロック図である。
本実施形態のオンチップ並列処理システム101は図1に示すように、複数のルータ102と、複数のノード103とを備えている。そして、複数のルータ102と複数のノード103とは1つのチップ上に配置されている。
また、図1に示すように複数のノード103のそれぞれは、複数のルータ102のいずれかと通信媒体であるリンク104によって接続されている。また、複数のルータ102のそれぞれは、そのルータ102に隣接するルータ102とリンク104によって接続されている。そして、複数のルータ102のそれぞれは、複数のノード103間における通信で送受信されるデータを含むパケットを中継する。
以降、複数のノード103のそれぞれが接続されているルータ102のことを接続ルータといい、複数のルータ102のそれぞれに接続されているノード103のことを接続ノードという。また、複数のルータ102のそれぞれに隣接するルータ102のことを隣接ルータという。
また、本実施形態のオンチップ並列処理システム101においては図1に示すように、チップを複数の領域に分割した複数のパーティション10が設定されている。そして、複数のノード103のそれぞれは、複数のパーティション10のいずれかに属している。
リンク104には、第1の通信チャネルであるローカルチャネルと、第2の通信チャネルであるグローバルチャネルとの2つの通信チャネルが設定されている。なお、ローカルチャネル及びグローバルチャネルは、論理的な仮想チャネルである。また、ここでは、リンク104に設定される通信チャネルの数を2つとしているが、リンク104に設定される通信チャネルの数は2つに限定されるものではない。
ローカルチャネルは、同じパーティション10に属するノード103間における通信で送受信されるデータを含むパケットの中継に用いられる。一方、グローバルチャネルは、相互に異なるパーティション10に属するノード103間における通信で送受信されるデータを含むパケットの中継に用いられる。
図2は、図1に示したルータ102の構成の一例を示すブロック図である。
図1に示したルータ102は図2に示すように、第1のバッファであるローカル用バッファ201−1と、第2のバッファであるグローバル用バッファ201−2と、ローカル用バッファ201−1及びグローバル用バッファ201−2と接続されたパケット入力部204と、パケット出力スイッチ202と、ルーティング制御部203とを備えている。
なお、ここでは、リンク104に設定されている通信チャネルがローカルチャネルとグローバルチャネルとの2つであるため、ローカル用バッファ201−1とグローバル用バッファ201−2との2つのバッファが設けられている。但し、バッファは、少なくともリンク104に設定された通信チャネルの数の分だけ設けられる。
また、パケット入力部204、ローカル用バッファ201−1及びグローバル用バッファ201−2は、隣接ルータと接続ノードとを合計した数だけ複数設けられている。なお、図2では一例として、隣接ルータと接続ノードとの合計数が5つである場合を示している。
パケット入力部204は、隣接ルータまたは接続ノードからリンク104を介して送信されてきたパケットを受信する。そして、受信したパケットがローカルチャネルで送信されてきたパケットか、グローバルチャネルで送信されてきたパケットかを判定する。判定の結果、受信したパケットがローカルチャネルで送信されてきたパケットである場合、パケット入力部204は、受信したパケットをローカル用バッファ201−1へ出力する。一方、判定の結果、受信したパケットがグローバルチャネルで送信されてきたパケットである場合には、パケット入力部204は、受信したパケットをグローバル用バッファ201−2へ出力する。
ローカル用バッファ201−1は、パケット入力部204から出力されたパケットを受け付け、受け付けたパケットを一時的に記憶する。
グローバル用バッファ201−2は、パケット入力部204から出力されたパケットを受け付け、受け付けたパケットを一時的に記憶する。
ルーティング制御部203は、予め決められたタイミングと切り替えパターンとに基づき、パケットを送信するためのパケット送信指示をパケット出力スイッチ202へ出力する。
パケット出力スイッチ202は、隣接ルータと接続ノードとの合計した数だけの複数の出力部(不図示)を備えている。そして、パケット出力スイッチ202は、ルーティング制御部203から出力されたパケット送信指示に従い、ローカル用バッファ201−1及びグローバル用バッファ201−2に一時的に記憶されたパケットを、パケットの宛先に応じて隣接ルータまたは接続ノードへ送信する。このとき、パケット出力スイッチ202は具体的には、パケットの宛先に応じた出力部からパケットを送信する。また、このとき、ローカル用バッファ201−1に一時的に記憶されたパケットは、ローカルチャネルで送信され、グローバル用バッファ201−2に一時的に記憶されたパケットは、グローバルチャネルで送信される。
再度、図1を参照すると、複数のノード103のそれぞれは、通信の始点または終点となり、自ノード以外のノード103と通信を行う。その際、複数のノード103のそれぞれは、接続ルータとの間でデータを含むパケットの送受信を行う。
図3は、図1に示したノード103の構成の一例を示すブロック図である。
図1に示したノード103は図3に示すように、ネットワークインターフェース部301と、ブロック部であるプロセッサ302−1〜302−n、ローカルメモリ303及び周辺デバイスインターフェース304とを備えている。なお、これらの構成要素は、複数のノード103において必ずしも共通でなくてもよい。例えば、周辺デバイスインターフェース304を備えていないノード103や、ローカルメモリ303を備えていないノード103が存在していてもよい。
また、ネットワークインターフェース部301と、プロセッサ302−1〜302−nと、ローカルメモリ303と、周辺デバイスインターフェース304とは、共有バス305を介して接続されている。
プロセッサ302−1〜302−n、ローカルメモリ303及び周辺デバイスインターフェース304は、データを生成し、生成されたデータを共有バス305を介してネットワークインターフェース部301へ出力する。また、プロセッサ302−1〜302−n、ローカルメモリ303及び周辺デバイスインターフェース304は、ネットワークインターフェース部301から出力されたデータを共有バス305を介して受け付ける。
ネットワークインターフェース部301は、ブロック部を構成するプロセッサ302−1〜302−n等から出力されたデータを共有バス305を介して受け付ける。そして、受け付けたデータを含むパケットを生成し、接続ルータへ送信する。また、ネットワークインターフェース部301は、接続ルータから送信されたパケットを受信し、受信したパケットに含まれるデータを抽出する。そして、抽出したデータの宛先に応じ、プロセッサ302−1〜302−n等へ抽出したデータを共有バス305を介して出力する。
図4は、図3に示したネットワークインターフェース部301の構成の一例を示すブロック図である。
図3に示したネットワークインターフェース部301は図4に示すように、パーティション識別部401と、コンフィグレーションレジスタ402と、ローカルパケット生成部403と、グローバルパケット生成部404と、グローバルパケット解析部405と、ローカルパケット解析部406と、スイッチ407,408と、データ入出力部409と、パケット入出力部410とを備えている。
コンフィグレーションレジスタ402は、予め決められたノード103が有する複数のプロセッサ302−1〜302−nのうち、予め決められたプロセッサから送信されたパーティション定義情報を受信する。そして、受信したパーティション定義情報を記憶する。以降、パーティション定義情報を送信するプロセッサのことをメインプロセッサという。
なお、パーティション定義情報には、後述するパーティション設定情報、送信許可情報及び受信許可情報を生成するための情報が含まれている。
ここで、図4に示したコンフィグレーションレジスタ402がパーティション定義情報を記憶するときの動作について説明する。
図5は、図4に示したコンフィグレーションレジスタ402がパーティション定義情報を記憶するときの動作を説明するためのフローチャートである。なお、図5のフローチャートに示す動作は、図1〜図4に示したオンチップ並列処理システムが起動されたときに実行される。
図1〜図4に示したオンチップ並列処理システムが起動されると、まず、メインプロセッサは、システムの起動コードを実行する(ステップS1)。
次に、メインプロセッサは、複数のノード103のそれぞれへ信号を送信することにより、コンフィグレーションレジスタ402からの読み出しとコンフィグレーションレジスタ402への書き込みとを許可するためのビット値を変更する。これにより、メインプロセッサ以外からのコンフィグレーションレジスタ402から読み出しと、コンフィグレーションレジスタ402への書き込みとが禁止される(ステップS2)。
次に、メインプロセッサは、複数のノード103毎に設定され、不揮発メモリ等に予め記憶されているパーティション定義情報を、複数のノード103のそれぞれのコンフィグレーションレジスタ402へ送信する。
メインプロセッサから送信されたパーティション定義情報を受信したコンフィグレーションレジスタ402は、受信したパーティション定義情報を記憶する(ステップS3)。
そして、メインプロセッサは、複数のノード103のそれぞれへ信号を送信することにより、ステップS2にて変更したビット値を元の値に戻す。これにより、メインプロセッサ以外からのコンフィグレーションレジスタ402からの読み出しと、コンフィグレーションレジスタ402への書き込みとの禁止が解除される(ステップS4)。
上述したような動作によってコンフィグレーションレジスタ402にパーティション定義情報を記憶させる。これにより、複数のノード103のそれぞれにおいて実行されるプログラムに不正があったとしても、パーティション定義情報が誤った内容に書き換えられることを回避することができる。なお、メインプロセッサを認識する方法としては例えば、メインプロセッサから送信されるパケットのヘッダに、メインプロセッサから送信されたことを示す所定の認証コードを含めておくというような方法が考えられる。
また、オンチップ並列処理システム101の動作中に、パーティション定義情報が変更された場合には、上述したステップS2〜S4の動作を行うことにより、パーティション定義情報を書き換えることが可能である。つまり、オンチップ並列処理システム101が動作している際にも、コンフィグレーションレジスタ402に記憶されたパーティション定義情報を変更することが可能である。
このとき、パーティション定義情報の変更に要する時間が、オンチップ並列処理システム101の動作を中断できる時間よりも短くなるようにする。これを実現するための方法としては例えば、2つのパーティション定義情報をコンフィグレーションレジスタ402に記憶することができるようにする方法がある。この方法では、1つのパーティション定義情報を使用している間に、変更後のパーティション情報を取得しておくことにより、非常に短い時間でパーティション情報の変更を行うことが可能となる。
再度、図4を参照すると、パーティション識別部401は、コンフィグレーションレジスタ402に記憶されたパーティション定義情報に基づき、パーティション設定情報、送信許可情報及び受信許可情報を生成する。そして、パーティション識別部401は、生成したパーティション設定情報をスイッチ407へ出力する。また、パーティション識別部401は、生成した送信許可情報をグローバルパケット生成部404へ出力する。また、パーティション識別部401は、生成した受信許可情報をグローバルパケット解析部405へ出力する。
ここで、パーティション設定情報とは、自ノードと同じパーティションに属するノード103であるパーティション内ノードを示す情報である。また、送信許可情報とは、自ノードからのデータの送信が許可されたノード103である送信許可ノードを示す情報である。また、受信許可情報とは、自ノードが受信するデータの送信元として許可されたノード103である受信許可ノードを示す情報である。
データ入出力部409は、ブロック部を構成するプロセッサ302−1〜302−n等から出力されたデータを共有バス305を介して受け付け、受け付けたデータをスイッチ407へ出力する。
スイッチ407は、データ入出力部409から出力されたデータを受け付ける。そして、スイッチ407は、受け付けたデータに含まれ、そのデータの宛先のノード103を示す宛先情報と、パーティション識別部401から出力されたパーティション設定情報とから、受け付けたデータの宛先のノード103がパーティション内ノードであるかどうかを判定する。そして、判定の結果、受け付けたデータの宛先のノード103がパーティション内ノードである場合、スイッチ407は、受け付けたデータをローカルパケット生成部403へ出力する。一方、判定の結果、受け付けたデータの宛先のノード103がパーティション内ノードでない場合には、スイッチ407は、受け付けたデータをグローバルパケット生成部404へ出力する。
ローカルパケット生成部403は、スイッチ407から出力されたデータを受け付け、受け付けたデータを含むパケットを生成する。そして、生成されたパケットを、パケット入出力部410からローカルチャネルで接続ルータへ送信する。
グローバルパケット生成部404は、スイッチ407から出力されたデータを受け付ける。そして、グローバルパケット生成部404は、受け付けたデータに含まれる宛先情報と、パーティション識別部401から出力された送信許可情報とから、受け付けたデータの宛先のノード103が送信許可ノードであるかどうかを判定する。そして、判定の結果、受け付けたデータの宛先のノード103が送信許可ノードである場合、グローバルパケット生成部404は、受け付けたデータを含むパケットを生成する。そして、生成されたパケットを、パケット入出力部410からグローバルチャネルで接続ルータへ送信する。一方、判定の結果、受け付けたデータの宛先のノード103が送信許可ノードでない場合には、グローバルパケット生成部404は、受け付けたデータを破棄する。
パケット入出力部410は、接続ルータからリンク104を介して送信されてきたパケットを受信する。そして、受信したパケットがローカルチャネルで送信されてきたパケットが、グローバルチャネルで送信されてきたパケットかを判定する。判定の結果、受信したパケットがローカルチャネルで送信されてきたパケットである場合、パケット入出力部410は、受信したパケットをローカルパケット解析部406へ出力する。一方、判定の結果、受信したパケットがグローバルチャネルで送信されてきたパケットである場合には、受信したパケットをグローバルパケット解析部405へ出力する。
ローカルパケット解析部406は、パケット入出力部410から出力されたパケットを受け付ける。そして、受け付けたパケットに含まれるデータを抽出し、抽出されたデータをスイッチ408へ出力する。これにより、抽出されたデータは、ブロック部を構成するプロセッサ302−1〜302−n等へ出力される。
グローバルパケット解析部405は、パケット入出力部410から出力されたパケットを受け付ける。そして、グローバルパケット解析部405は、受け付けたパケットに含まれ、データの送信元のノード103を示す送信元情報と、パーティション識別部401から出力された受信許可情報とから、そのデータの送信元のノード103が受信許可ノードであるかどうかを判定する。そして、判定の結果、そのデータの送信元のノード103が受信許可ノードである場合、グローバルパケット解析部405は、受け付けたパケットに含まれるデータを抽出する。そして、抽出されたデータをスイッチ408へ出力する。これにより、抽出されたデータは、ブロック部を構成するプロセッサ302−1〜302−n等へ出力される。一方、判定の結果、そのデータの送信元のノード103が受信許可ノードでない場合には、グローバルパケット解析部405は、そのデータを破棄する。
なお、データの送受信の許可についてさらに詳細な制御が必要な場合、ノード103が有するプロセッサ302−1〜302−n毎にデータの送受信の可否を判定するための情報をパーティション定義情報に含めてもよい。
また、プロセッサ302−1〜302−n内のタスク毎にデータの送受信の可否を判定するための情報をパーティション定義情報に含めてもよい。なお、このタスク毎にデータの送受信の可否を判定するための情報は例えば、当該タスクが実行されているオペレーションシステム(以降、OSという)に提供され、OSによって送受信が拒否されるようにすることも可能である。
以下に、上記のように構成されたオンチップ並列処理システム101の動作について説明する。
まず、図1〜図4に示したオンチップ並列処理システム101において、ノード103がデータを含むパケットを送信するときの動作について説明する。
図6は、図1〜図4に示したオンチップ並列処理システム101において、ノード103がデータを含むパケットを送信するときの動作を説明するためのフローチャートである。
まず、ブロック部を構成するプロセッサ302−1〜302−n等は、他のノード103へ送信するデータを生成する(ステップS21)。
次に、データを生成したプロセッサ302−1〜302−n等は、生成したデータを共有バス305を介してネットワークインターフェース部301へ出力する。
プロセッサ302−1〜302−n等から出力されたデータを共有バス305を介して受け付けたネットワークインターフェース部301のデータ入出力部409は、受け付けたデータをスイッチ407へ出力する。
スイッチ407は、データ入出力部409から出力されたデータを受け付ける。そして、受け付けたデータに含まれる宛先情報と、パーティション識別部401から出力されたパーティション設定情報とから、受け付けたデータの宛先のノード103がパーティション内ノードかどうかを判定する(ステップS22)。
ステップS22における判定の結果、受け付けたデータの宛先のノード103がパーティション内ノードである場合、スイッチ407は、受け付けたデータをローカルパケット生成部403へ出力する。
スイッチ407から出力されたデータを受け付けたローカルパケット生成部403は、受け付けたデータを含むパケットを生成する(ステップS23)。
そして、ローカルパケット生成部403は、生成されたパケットを、パケット入出力部410からローカルチャネルで接続ルータへ送信する(ステップS24)。
一方、ステップS22における判定の結果、受け付けたデータの宛先のノード103がパーティション内ノードでない場合には、スイッチ407は、受け付けたデータをグローバルパケット生成部404へ出力する。
グローバルパケット生成部404は、スイッチ407から出力されたデータを受け付ける。そして、グローバルパケット生成部404は、受け付けたデータに含まれる宛先情報と、パーティション識別部401から出力された送信許可情報とから、受け付けたデータの宛先のノード103が送信許可ノードであるかどうかを判定する(ステップS25)。
ステップS25における判定の結果、受け付けたデータの宛先のノード103が送信許可ノードである場合、グローバルパケット生成部404は、受け付けたデータを含むパケットを生成する(ステップS26)。
そして、グローバルパケット生成部404は、生成されたパケットを、パケット入出力部410からグローバルチャネルで接続ルータへ送信する(ステップS27)。
一方、ステップS25における判定の結果、受け付けたデータの宛先のノード103が送信許可ノードでない場合には、グローバルパケット生成部404は、受け付けたデータを破棄する(ステップS28)。
そして、グローバルパケット生成部404は、受け付けたデータを破棄したことを示す破棄情報を、複数のノード103のうち予め決められたノードへ通知する(ステップS29)。ここで、予め決められたノードとは、オンチップ並列処理システム101全体におけるデータの破棄情報を管理するプロセッサを有するノードである。このプロセッサは、上述したメインプロセッサと同じでもよいし、異なっていてもよい。また、別の形態として、複数のノード103のそれぞれにおいて、プロセッサ302−1〜302−nのうち破棄情報を管理するプロセッサを決めておき、複数のノード103毎に破棄情報を管理するようにしてもよい。
次に、図1〜図4に示したオンチップ並列処理システムにおいて、ノード103がパケットを受信したときの動作について説明する。
図7は、図1〜図4に示したオンチップ並列処理システム101において、ノード103がパケットを受信したときの動作を説明するためのフローチャートである。
まず、ネットワークインターフェース部301のパケット入出力部410は、接続ルータから送信されたパケットを受信する(ステップS41)。
そして、パケット入出力部410は、受信したパケットがローカルチャネルで送信されてきたパケットが、グローバルチャネルで送信されてきたパケットかを判定する(ステップS42)。
ステップS42における判定の結果、受信したパケットがローカルチャネルで送信されてきたパケットである場合、パケット入出力部410は、受信したパケットをローカルパケット解析部406へ出力する。
パケット入出力部410から出力されたパケットを受け付けたローカルパケット解析部406は、受け付けたパケットに含まれるデータを抽出する(ステップS43)。
そして、ローカルパケット解析部406は、抽出されたデータをスイッチ408へ出力する。これにより、抽出されたデータは、ブロック部を構成するプロセッサ302−1〜302−n等へ出力される(ステップS44)。
一方、ステップS42における判定の結果、受信したパケットがグローバルチャネルで送信されてきた場合には、パケット入出力部410は、受信したパケットをグローバルパケット解析部405へ出力する。
グローバルパケット解析部405は、パケット入出力部410から出力されたパケットを受け付ける。そして、受け付けたパケットに含まれるデータの送信元情報と、パーティション識別部401から出力された受信許可情報とから、受け付けたパケットに含まれるデータの送信元のノード103が受信許可ノードかどうかを判定する。(ステップS45)。
ステップS45における判定の結果、受け付けたパケットに含まれるデータの送信元のノード103が受信許可ノードである場合、グローバルパケット解析部405は、受け付けたパケットからデータを抽出する(ステップS46)。
そして、グローバルパケット解析部405は、抽出されたデータをスイッチ408へ出力する。これにより、抽出されたデータは、ブロック部を構成するプロセッサ302−1〜302−n等へ出力される(ステップS47)。
一方、ステップS45における判定の結果、受け付けたパケットに含まれるデータの送信元のノード103が受信許可ノードでない場合には、グローバルパケット解析部405は、受け付けたパケットを破棄する(ステップS48)。
そして、グローバルパケット解析部405は、受け付けたパケットに含まれるデータを破棄したことを示す破棄情報を、複数のノード103のうち予め決められたノードへ通知する(ステップS49)。この場合も、別の形態として、複数のノード103のそれぞれにおいて、プロセッサ302−1〜302−nのうち破棄情報を管理するプロセッサを決めておき、複数のノード103毎に破棄情報を管理するようにしてもよい。
次に、図1〜図4に示したオンチップ並列処理システム101において、ルータ102がデータを含むパケットを受信したときの動作を説明する。
図8は、図1〜図4に示したオンチップ並列処理システム101において、ルータ102がデータを含むパケットを受信したときの動作を説明するためのフローチャートである。
まず、ルータ102のパケット入力部204は、隣接ルータまたは接続ノードからリンク104を介して送信されてきたパケットを受信する(ステップS61)。
そして、パケット入力部204は、受信したバケットがローカルチャネルで送信されてきたか、グローバルチャネルで送信されてきたかを判定する(ステップS62)。
ステップS62の判定の結果、受信したパケットがローカルチャネルで送信されてきたパケットである場合、パケット入力部204は、受信したパケットをローカル用バッファ201−1へ出力する。
パケット入力部204から出力されたパケットを受け付けたローカル用バッファ201−1は、受け付けたパケットを一時的に記憶する(ステップS63)。
一方、ステップS62の判定の結果、受信したパケットがグローバルチャネルで送信されてきたパケットである場合には、パケット入力部204は、受信したパケットをグローバル用バッファ201−2へ出力する。
パケット入力部204から出力されたパケットを受け付けたグローバル用バッファ201−2は、受け付けたパケットを一時的に記憶する(ステップS64)。
次に、パケット出力スイッチ202は、ルーティング制御部203から出力されたパケット送信指示に従い、ローカル用バッファ201−1及びグローバル用バッファ201−2に一時的に記憶されたパケットを、パケットの宛先に応じた出力部から隣接ルータまたは接続ノードへ送信する。
このとき、パケット出力スイッチ202は、ローカル用バッファ201−1に一時的に記憶されたパケットをローカルチャネルで送信する(ステップS65)。
また、パケット出力スイッチ202は、グローバル用バッファ201−2に一時的に記憶されたパケットをグローバルチャネルで送信する(ステップS66)。
このように本実施形態においては、同一のパーティション10に属するノード間における通信では、ローカルチャネルでパケットが送受信され、相互に異なるパーティション10に属するノード間における通信においては、グローバルチャネルでパケットが送受信される。
これにより、通信速度の低下や、データの漏洩及び改ざんを抑制することができる。従って、オンチップ並列処理システム101において、複数のアプリケーションそれぞれが所定の性能を安定的に満足しながら動作することが可能となる。
また、複数のノード103のそれぞれは、データの宛先が送信許可ノードでない場合、そのデータを送信せずに破棄する。これにより、不要なパケットが複数のルータ102によって中継されることがなくなり、オンチップ並列処理システム101の通信速度の低下を抑制することができる。これにより、アプリケーションの安定的な動作をさらに確実なものとすることができる。
なお、本発明のオンチップ並列処理システムは、携帯電話機や携帯マルチメディア再生装置といった用途においてシステム全体を主となって制御する半導体チップに適用できる。また、パーソナルコンピュータやサーバといった用途において主たる制御を行う半導体チップが別に存在し、それに対する従の立場で部分的な処理を実行するアクセラレーターとして適用することもできる。もちろん、この主たる半導体チップと従たる半導体チップとは物理的に分断されている必要はなく、本発明のオンチップ並列処理システムが半導体チップ上の一部分で構成されることも可能である。
以上、実施例を参照して本願発明を説明したが、本願発明は上記実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2009年12月7日に出願された日本出願特願2009−277406を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (6)

  1. 複数のルータと複数のノードとがチップ上に配置され、前記複数のノードのそれぞれが、前記チップを複数の領域に分割した複数のパーティションのいずれかに属し、前記複数のノードのそれぞれが前記複数のルータのいずれかと、また、前記複数のルータのそれぞれが当該ルータに隣接するルータと通信媒体を介して接続され、前記複数のルータが、前記複数のノード間における通信で送受信されるデータを含むパケットを中継するオンチップ並列処理システムであって、
    前記通信媒体には、第1及び第2の通信チャネルが設定され、
    前記複数のルータのそれぞれ及び前記複数のノードのそれぞれは、同一の前記パーティションに属するノード間における通信では、前記第1の通信チャネルでパケットを送受信し、相互に異なる前記パーティションに属するノード間の通信では、前記第2の通信チャネルでパケットを送受信し、
    前記複数のノードのそれぞれは、
    データを生成し、該生成したデータを出力するブロック部と、
    前記ブロック部から出力されたデータを受け付け、該受け付けたデータの宛先が、当該ノードと同一の前記パーティションに属するパーティション内ノードであるかどうかを判定する第1の判定を行い、該第1の判定の結果、当該データの宛先が前記パーティション内ノードである場合、当該データを含むパケットを、当該ノードと接続された前記ルータへ前記第1の通信チャネルで送信し、前記第1の判定の結果、当該データの宛先が前記パーティション内ノードでない場合、当該データの宛先が、当該ノードからのデータの送信が許可された送信許可ノードであるかどうかを判定する第2の判定を行い、該第2の判定の結果、当該データの宛先が前記送信許可ノードである場合、当該データを含むパケットを、当該ノードと接続された前記ルータへ前記第2の通信チャネルで送信するネットワークインターフェース部と、
    を有し、
    前記複数のルータのそれぞれは、
    当該ルータと接続された前記ルータまたは前記ノードから送信されたパケットを受信するパケット入力部と、
    前記パケット入力部にて受信されたパケットのうち、前記第1の通信チャネルで送信されてきたパケットを記憶する第1のバッファと、
    前記パケット入力部にて受信されたパケットのうち、前記第2の通信チャネルで送信されてきたパケットを記憶する第2のバッファと、
    前記第1のバッファに記憶されたパケットを、該パケットの宛先に応じ、当該ルータと接続された前記ルータまたは前記ノードへ前記第1の通信チャネルで送信し、前記第2のバッファに記憶されたパケットを、該パケットの宛先に応じ、当該ルータに接続された前記ルータまたは前記ノードへ前記第2の通信チャネルで送信するパケット出力スイッチと、
    を有するオンチップ並列処理システム。
  2. 請求項に記載のオンチップ並列処理システムにおいて、
    前記ネットワークインターフェース部は、前記第2の判定の結果、当該データの宛先が前記送信許可ノードでない場合、当該データを破棄するオンチップ並列処理システム。
  3. 請求項に記載のオンチップ並列処理システムにおいて、
    前記ネットワークインターフェース部は、当該データを破棄した場合、前記複数のノードのうち予め決められたノードへその旨を通知するオンチップ並列処理システム。
  4. 請求項1乃至3のいずれか1項に記載のオンチップ並列処理システムにおいて、
    前記ネットワークインターフェース部は、前記複数のノードのうち予め決められたノードから送信され、前記第1及び第2の判定を行うための情報を含むパーティション定義情報を受信し、該受信したパーティション定義情報に基づいて前記第1及び第2の判定を行うオンチップ並列処理システム。
  5. 請求項1乃至のいずれか1項に記載のオンチップ並列処理システムにおいて、
    前記第1及び第2の通信チャネルは、論理的な仮想チャネルであるオンチップ並列処理システム。
  6. 複数のルータと複数のノードとがチップ上に配置され、前記複数のノードのそれぞれが、前記チップを複数の領域に分割した複数のパーティションのいずれかに属し、前記複数のノードのそれぞれが前記複数のルータのいずれかと、また、前記複数のルータのそれぞれが当該ルータに隣接するルータと通信媒体を介して接続され、前記複数のルータが、前記複数のノード間における通信で送受信されるデータを含むパケットを中継するオンチップ並列処理システムにおける通信方法であって、
    前記複数のルータのそれぞれ及び前記複数のノードのそれぞれが、同一の前記パーティションに属するノード間における通信では、前記通信媒体に設定された第1及び第2の通信チャネルのうち、前記第1の通信チャネルでパケットを送受信し、相互に異なる前記パーティションに属するノード間の通信では、前記第2の通信チャネルでパケットを送受信する送受信処理を有し、
    前記送受信処理は、
    前記複数のノードのそれぞれが、データを生成する処理と、
    前記複数のノードのそれぞれが、前記生成されたデータの宛先が、当該ノードと同一の前記パーティションに属するパーティション内ノードであるかどうかを判定する第1の判定処理と、
    前記複数のノードのそれぞれが、前記第1の判定処理の結果、当該データの宛先が前記パーティション内ノードである場合、当該データを含むパケットを、当該ノードと接続された前記ルータへ前記第1の通信チャネルで送信する処理と、
    前記複数のノードのそれぞれが、前記第1の判定処理の結果、当該データの宛先が前記パーティション内ノードでない場合、当該データの宛先が、当該ノードからのデータの送信が許可された送信許可ノードであるかどうかを判定する第2の判定処理と、
    前記複数のノードのそれぞれが、前記第2の判定処理の結果、当該データの宛先が前記送信許可ノードである場合、当該データを含むパケットを、当該ノードと接続された前記ルータへ前記第2の通信チャネルで送信する処理と、
    前記複数のルータのそれぞれが、当該ルータと接続された前記ルータまたは前記ノードから送信されたパケットを受信する処理と、
    前記複数のルータのそれぞれが、前記受信されたパケットのうち前記第1の通信チャネルで送信されてきたパケットを、当該ルータに備えられた第1及び第2のバッファのうち前記第1のバッファにて記憶する処理と、
    前記複数のルータのそれぞれが、前記受信されたパケットのうち前記第2の通信チャネルで送信されてきたパケットを前記第2のバッファにて記憶する処理と、
    前記複数のルータのそれぞれが、前記第1のバッファに記憶されたパケットを、該パケットの宛先に応じ、当該ルータと接続された前記ルータまたは前記ノードへ前記第1の通信チャネルで送信する処理と、
    前記複数のルータのそれぞれが、前記第2のバッファに記憶されたパケットを、該パケットの宛先に応じ、当該ルータに接続された前記ルータまたは前記ノードへ前記第2の通信チャネルで送信する処理と、を含む通信方法。
JP2011545164A 2009-12-07 2010-11-25 オンチップ並列処理システム及び通信方法 Active JP5673554B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011545164A JP5673554B2 (ja) 2009-12-07 2010-11-25 オンチップ並列処理システム及び通信方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009277406 2009-12-07
JP2009277406 2009-12-07
PCT/JP2010/070957 WO2011070913A1 (ja) 2009-12-07 2010-11-25 オンチップ並列処理システム及び通信方法
JP2011545164A JP5673554B2 (ja) 2009-12-07 2010-11-25 オンチップ並列処理システム及び通信方法

Publications (2)

Publication Number Publication Date
JPWO2011070913A1 JPWO2011070913A1 (ja) 2013-04-22
JP5673554B2 true JP5673554B2 (ja) 2015-02-18

Family

ID=44145460

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011545164A Active JP5673554B2 (ja) 2009-12-07 2010-11-25 オンチップ並列処理システム及び通信方法

Country Status (2)

Country Link
JP (1) JP5673554B2 (ja)
WO (1) WO2011070913A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101373778B1 (ko) 2012-02-13 2014-03-14 한양대학교 산학협력단 시스템 온 칩의 내부 통신을 위한 네트워크 온 칩 및 데이터 전송 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0887480A (ja) * 1994-09-17 1996-04-02 Toshiba Corp プロセッサ間ルーティング方式
JPH08185380A (ja) * 1994-12-28 1996-07-16 Hitachi Ltd 並列計算機
JPH1021208A (ja) * 1996-06-28 1998-01-23 Fujitsu Ltd チャネルの決定方法
JPH1049507A (ja) * 1996-07-31 1998-02-20 Fujitsu Ltd 並列計算機
JP2009116872A (ja) * 2007-11-08 2009-05-28 Internatl Business Mach Corp <Ibm> ネットワーク・オン・チップ(noc)上のソフトウェア・パイプライン化の方法、プログラムおよび装置
JP2009129447A (ja) * 2007-11-27 2009-06-11 Internatl Business Mach Corp <Ibm> デザイン構造、ネットワーク・オン・チップ(‘noc’)でのデータ処理方法、ネットワーク・オン・チップ、およびネットワーク・オン・チップでのデータ処理のためのコンピュータ・プログラム(パーティションを有するネットワーク・オン・チップのためのデザイン構造)

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0887480A (ja) * 1994-09-17 1996-04-02 Toshiba Corp プロセッサ間ルーティング方式
JPH08185380A (ja) * 1994-12-28 1996-07-16 Hitachi Ltd 並列計算機
JPH1021208A (ja) * 1996-06-28 1998-01-23 Fujitsu Ltd チャネルの決定方法
JPH1049507A (ja) * 1996-07-31 1998-02-20 Fujitsu Ltd 並列計算機
JP2009116872A (ja) * 2007-11-08 2009-05-28 Internatl Business Mach Corp <Ibm> ネットワーク・オン・チップ(noc)上のソフトウェア・パイプライン化の方法、プログラムおよび装置
JP2009129447A (ja) * 2007-11-27 2009-06-11 Internatl Business Mach Corp <Ibm> デザイン構造、ネットワーク・オン・チップ(‘noc’)でのデータ処理方法、ネットワーク・オン・チップ、およびネットワーク・オン・チップでのデータ処理のためのコンピュータ・プログラム(パーティションを有するネットワーク・オン・チップのためのデザイン構造)

Also Published As

Publication number Publication date
WO2011070913A1 (ja) 2011-06-16
JPWO2011070913A1 (ja) 2013-04-22

Similar Documents

Publication Publication Date Title
EP2613479B1 (en) Relay device
EP1552669B1 (en) Integrated circuit and method for establishing transactions
US8848703B2 (en) On-chip router and multi-core system using the same
US10104006B2 (en) Bus interface apparatus, router, and bus system including them
US20080043757A1 (en) Integrated Circuit And Method For Packet Switching Control
JP2009246524A (ja) 信号伝送装置
JP2008546298A (ja) 電子装置及び通信リソース割り当ての方法
JP4509175B2 (ja) 集積回路及びパケット交換制御方法
CN103684953A (zh) 避免多连接到vpls传输网的以太网环路中流量损失方法、装置
KR20120003869A (ko) 네트워크 내 제어 장치, 네트워크, 및 네트워크 내에서의 메시지 라우팅 방법
JP5754504B2 (ja) 管理装置、情報処理装置、情報処理システム及びデータ転送方法
JP5673554B2 (ja) オンチップ並列処理システム及び通信方法
US8412867B2 (en) Semiconductor integrated circuit and filter and informational delivery method using same
Neishaburi et al. NISHA: A fault-tolerant NoC router enabling deadlock-free Interconnection of Subnets in Hierarchical Architectures
US10841221B2 (en) Stage one cache lookup for network node of mesh network
Pasricha et al. Electronic, wireless, and photonic network-on-chip security: Challenges and countermeasures
KR100903130B1 (ko) 메쉬 타입 온 칩 네트워크의 스위치 및 스위칭 방법
JP2020005017A (ja) 動的可変容量メモリ装置及び記憶容量動的可変方法
CN111903097B (zh) 传输装置、传输方法和计算机可读取的存储介质
JP2009188479A (ja) ネットワーク・プロセッサ
JP2004120642A (ja) ルータ装置、及び転送制御方法
JP2009130891A (ja) 情報処理装置及びフレーム中継方法
Hu MiniCAR: Minimal Congestion-Aware Routing Method in Fine-Grained Circuit-Switched Networks for Parallel Computing Systems
CN118041847A (en) On-chip routing method, device, electronic equipment and storage medium
JP2007067885A (ja) データフレーム処理装置および方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131008

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140922

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141106

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141215

R150 Certificate of patent or registration of utility model

Ref document number: 5673554

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150