説明

マルチチップシステムおよび半導体装置

【課題】転送遅延が小さいマルチチップシステムおよび該マルチチップシステムを構成する半導体装置を提供する。
【解決手段】宛先ID判定部3は受信データDAT_1のヘッダ部に含まれる宛先IDが受信された時点で直ちにデータの宛先を判定し、自分宛てでなければ、送信制御部4は受信データバッファ1による受信データDAT_1の受信と同時進行でその受信データDAT_1を転送する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の半導体装置(半導体チップ)がネットワークを形成し相互に通信を行うマルチチップシステムおよび該マルチチップシステムを構成する半導体装置に関する。
【背景技術】
【0002】
複数の半導体装置(半導体チップ)がネットワークを形成し、それらが相互に通信を行うことによってある特定の機能を実現するように構成されたマルチチップシステムが知られている(例えば、特許文献1参照)。このようなマルチチップシステムにおいて、複数の半導体装置をリング状に接続し、一方向(例えば右回り)にのみデータを転送する方式がある。例えば、マルチチップシステムがチップA,チップB,チップCの3つのチップからなるとすると、データはチップAからチップB、チップBからチップC、チップCからチップA、のように順に転送される。ここで、チップAからチップCへデータを送信するだけの場合でも、チップAからチップCへ直接データを送ることはできず、データはチップBを経由して転送されることになる。
【特許文献1】特開平6−332852号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
図6に、上記のようにチップAからチップCへデータを送信する場合の各チップにおけるデータの送受信タイミングを示す。チップAは、ある所定サイズのパケットデータを送信する。チップBは、このパケットデータを受信し、パケットデータ全体を受信し終わったら、その宛先等の制御情報を解析してチップCへの転送を開始する。チップCは、チップBからこのようにして転送されるパケットデータを受信する。したがって、図6からも明らかなように、チップAからチップCへのデータ送信には少なくとも送信するパケットデータのサイズ分の転送遅延が生じることとなる。この転送遅延は、チップ間のデータ伝送のスループットを落とし、ひいてはマルチチップシステムのパフォーマンスが低下してしまうという問題をもたらす。
【0004】
なお、チップAからチップCへのデータ送信を高速化するため、リング状ネットワークを双方向通信(つまり右回りも左回りも)可能な構成とし、チップAからチップCへデータを直接送信する方式も考えられるが、一方向のみの通信の場合と比べて必要な信号線の数と該信号線に接続するためのチップの端子の数が倍増し、構成が複雑になってしまう欠点がある。
【0005】
本発明は上記の点に鑑みてなされたものであり、その目的は、転送遅延が小さいマルチチップシステムおよび該マルチチップシステムを構成する半導体装置を提供することにある。
【課題を解決するための手段】
【0006】
本発明は上記の課題を解決するためになされたものであり、第1,第2,第3の半導体装置がネットワークを形成してなり、第1の半導体装置が送信したデータを第2の半導体装置がその宛先に応じて選択的に取得あるいは第3の半導体装置に転送するマルチチップシステムにおいて、前記第1の半導体装置は、データのヘッダ部に宛先情報を配置して該データを送信する送信制御部を備え、前記第2の半導体装置は、前記第1の半導体装置から送信されるデータを受信して一時格納するバッファと、前記バッファに前記宛先情報が格納された時点で該宛先情報を前記バッファより読み出してデータの宛先を判定する宛先判定部と、前記宛先判定部によりデータの宛先が自分ではないと判定された場合、前記バッファが受信途中である前記データをその時点から順次該バッファより読み出して前記第3の半導体装置に転送する送信制御部と、を備えることを特徴とする。
【0007】
また、本発明は、上記のマルチチップシステムにおいて、前記第2の半導体装置は、前記宛先判定部によりデータの宛先が自分であると判定された場合、前記バッファよりそのデータを読み出して取得する受信制御部を備えることを特徴とする。
【0008】
また、本発明は、半導体装置において、ヘッダ部に宛先情報が配置されたデータを受信して一時格納するバッファと、前記バッファに前記宛先情報が格納された時点で該宛先情報を前記バッファより読み出してデータの宛先を判定する宛先判定部と、前記宛先判定部によりデータの宛先が自分ではないと判定された場合、前記バッファが受信途中である前記データをその時点から順次該バッファより読み出して他の半導体装置に転送する送信制御部と、を備えることを特徴とする
【発明の効果】
【0009】
本発明によれば、ヘッダ部の宛先情報が受信された時点で宛先判定部が直ちにデータの宛先を判定し、自分宛てでなければ、バッファによるデータの受信と同時進行で送信制御部がそのデータを転送するので、データ転送に伴う転送遅延はせいぜいヘッダ部の宛先情報を受信するのに要する時間程度となる。したがって、従来に比べて、転送遅延を小さくすることができる。
【発明を実施するための最良の形態】
【0010】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図1は、本発明の一実施形態によるマルチチップシステムの全体構成を示す図である。このマルチチップシステムは、チップA,チップB,チップCの3つのチップ(半導体装置)がリング状に接続されてネットワークを形成してなるものであり、これら3つのチップが相互に通信を行うことによってある特定の機能を実現するように構成されている。各チップ間の通信は、チップAからチップB、チップBからチップC、チップCからチップA、の一方向の向きにのみデータ伝送が行われるようになっている。本実施形態においては、以下、チップAが最初にデータをチップB宛て又はチップC宛てに送信し、チップBがこのデータを受信し、データが自分(チップB)宛てでない場合にはチップBはそのデータをチップCに転送し、自分宛ての場合にはチップBはそのデータを取得するものとして、説明を行う。なお、各チップの相互通信により実現されるマルチチップの「特定の機能」の内容は任意であり、本発明は当該機能に何ら限定されるものではない。
【0011】
図2は、図1のマルチチップシステムを構成する個々の半導体装置の機能構成を概略的に示すブロック図である。チップA,チップB,チップCは、全てこのブロック図の構成を共通に有している。図2において、半導体装置は、受信データバッファ1と、受信制御部2と、宛先ID判定部3と、送信制御部4と、送信データバッファ5と、クロック生成部6と、CPU7と、内部メモリ8と、を備えている。
【0012】
まず、この半導体装置が最初にデータを送信するチップAとして動作する際の各部の機能を説明する。
CPU7は、送信すべきデータDAT_2’を生成して内部メモリ8に格納し、このデータDAT_2’を内部メモリ8から読み出して送信データバッファ5へ書き込む。クロック生成部6は、半導体装置の各部がその動作の時間的基準とする内部クロックCLK_2を生成し、CPU7や送信制御部4へ供給している。送信制御部4は、内部クロックCLK_2に同期した所定のタイミングで送信データバッファ5からデータDAT_2’を読み出し、このデータDAT_2’の頭にヘッダ部Hを付加して送信データDAT_2を生成する。
【0013】
送信データDAT_2のデータ構造を図3(a)に示す。送信データDAT_2は所定のサイズを有するパケットデータであり、そのヘッダ部Hは、制御情報と宛先IDと送信元IDとからなる。制御情報は、送信するデータの種別を表しチップ間の通信を制御する情報である。例えば、データの宛先が単一のチップであるか、宛先がマルチチップシステム内の全チップであるか、マルチチップシステムの初期化を行うか、他に伝送データが存在せず自由にデータを送信できるか、などをこの制御情報により区別する。宛先IDは、データの宛先となるチップを識別するIDを指定する情報である。送信元IDは、データの発信元であるチップを識別するIDを指定する情報である。ここでは、送信データDAT_2のヘッダ部Hとして、送信元IDにチップAのIDがセットされ、宛先IDにチップBまたはチップCのIDがセットされ、制御情報にデータの宛先が単一のチップであることを示す情報がセットされるものとする。なお、送信データバッファ5から読み出されたデータDAT_2’は、図3(a)のデータ構造においてヘッダ部Hの後ろの「データ」の部分に配置される。
【0014】
送信制御部4は、内部クロックCLK_2に同期させて、上記生成した送信データDAT_2と、送信クロックCLK_2(=内部クロックCLK_2)と、ハイレベルにセットした送信イネーブル信号ENBL_2と、をチップBへ送信する。なお、これらの各信号(送信データDAT_2,送信クロックCLK_2,送信イネーブル信号ENBL_2)の伝送にはそれぞれ別々の信号ラインが用いられる。
【0015】
このようにして、半導体装置(チップA)から宛先IDをヘッダ部に含む送信データが他の半導体装置(チップB)へ送信される。
【0016】
次に、半導体装置が受信データの宛先に応じてデータを転送または取得するチップBとして動作する際の各部の機能を説明する。
【0017】
受信データバッファ1には、受信データDAT_1と、受信イネーブル信号ENBL1と、受信クロックCLK_1が入力されている。この受信データDAT_1は上記チップAから送信された送信データDAT_2であり、受信イネーブル信号ENBL_1は上記チップAから送信されたハイレベルの送信イネーブル信号ENBL_2であり、受信クロックCLK_1は上記チップAから送信された送信クロックCLK_2である。受信データバッファ1は、ハイレベルの受信イネーブル信号ENBL_1を受け、受信クロックCLK_1に同期して受信データDAT_1をそのヘッダ部Hから順次取り込んで格納していく。
【0018】
受信制御部2は、受信データバッファ1に格納されていく受信データDAT_1を受信データバッファ1へのデータの格納と同時進行で順次読み出し、読み出したデータのうちヘッダ部Hに含まれる宛先IDを宛先ID判定部3へ渡す。ここで、受信データバッファ1へのデータの格納と、受信制御部2によるデータの読み出しとが同時進行で行われるため、宛先IDは、受信データバッファ1へ格納されるのと同時に、言い換えれば受信データDAT_1が最後まで受信されて受信データバッファ1への格納が完了する前に、宛先ID判定部3へ渡されることになる。
【0019】
宛先ID判定部3は、宛先IDを識別して受信データDAT_1の宛先である半導体装置を判定する。その結果、宛先が自分(チップB)ではない場合、宛先ID判定部3は送信制御部4に対して受信データDAT_1の転送を指示し、宛先が自分である場合、宛先ID判定部3は受信制御部2に対して受信データDAT_1の取得を指示する。ここで、上記宛先の判定は宛先IDが渡されると直ちに行われ、送信制御部4への転送指示もその後直ちに行われるものとする。したがって、送信制御部4へ転送の指示が行われた時点では、受信データバッファ1へは受信データDAT_1がまだ途中までしか格納されていない状況となっている。
【0020】
送信制御部4は、宛先ID判定部3から受信データの転送指示を受けると、受信データバッファ1に格納されていく受信データDAT_1を受信データバッファ1へのデータの格納と同時進行で順次読み出し、内部クロックCLK_2に同期させて、この読み出したデータを転送データDAT_1としてチップCへ転送する。なお、転送データDAT_1のデータ構造は図3(a)に示したものと同じである。また、転送データDAT_1の転送にあたって、送信制御部4は上述したチップAの場合と同様に、送信クロックCLK_2と送信イネーブル信号ENBL_2もチップCへ送信する。
【0021】
ここで、上記のとおり、送信制御部4が転送指示を受けた時点では受信データDAT_1は受信データバッファ1へまだ途中までしか格納されていないが、送信制御部4は、その時点から直ちに、受信データバッファ1に格納済み部分の受信データDAT_1から読み出しを行い、転送を開始する。それと同時に受信データバッファ1へは継続して受信データDAT_1の格納が行われていき、送信制御部4はそれらも順次読み出して転送を進めていく。したがって、受信データDAT_1が最後まで全部受信される前にその転送が開始されるので、チップBがデータの転送を行う際の転送遅延を小さくすることが可能である。
【0022】
次に、半導体装置のチップBとしての動作を図4に示すフローチャートに沿って説明する。
はじめに、受信データバッファ1が受信データDAT_1の格納を開始する(ステップS1)。それと同時に、受信制御部2は、受信データバッファ1へ格納された部分から受信データDAT_1を読み出していき、ヘッダ部Hの宛先IDが読み出されるとその宛先IDを宛先ID判定部3へ渡す。宛先ID判定部3は、宛先IDにより受信データDAT_1の宛先を判定し(ステップS2)、宛先が自分ではない場合、送信制御部4へ受信データDAT_1の転送を指示する(ステップS3)。この転送指示を受けて、送信制御部4は受信データDAT_1の転送を開始する(ステップS4)。この時、受信データバッファ1へは受信データDAT_1の残りの部分の格納が継続して行われており、データの最後部の格納が完了するまで、受信データDAT_1の格納と転送が同時に進行していく(ステップS5)。こうして、チップBにより、チップAからチップCへのデータの転送が実行される。
【0023】
ステップS2において宛先が自分である場合、宛先ID判定部3は受信制御部2へ受信データDAT_1の取得を指示する。受信制御部2は、この指示を受けて、受信データバッファ1から読み出した受信データDAT_1のヘッダ部Hを除いたデータ部分DAT_1’を内部メモリ8へ書き込んでいく(ステップS6,S7)。なお、この時、受信データDAT_1が宛先であるチップBに届いたことにより伝送データが存在しなくなり各チップが自由にデータを送信できる状態となるため、受信制御部2は、送信制御部4に対してそのことを示す制御情報を送信するよう指示する。送信制御部4は、制御情報に他に伝送データが存在せず自由にデータを送信できることを示す情報をセットし、この制御情報だけからなる図3(b)に示すデータを他のチップへ送信する。
【0024】
次に、本実施形態のマルチチップシステムにおいてチップAからチップCへデータを送信する場合の各チップにおけるデータの送受信タイミングを図5に示す。
ここまで説明してきたとおり、チップAは宛先IDをヘッダ部Hに含んだデータをチップBに送信し、チップBは、この宛先IDを受信してデータの宛先をチップCと判定すると、直ちにチップCへのデータの転送を開始する。チップCはチップBからこのようにして転送されるパケットデータを受信するので、図5からも明らかなように、チップAからチップCへのデータ送信には、せいぜい宛先IDの受信に要する時間程度の転送遅延しか発生しない。この転送遅延の大きさは、図6に示した従来におけるものよりも、格段に小さいものである。したがって、本実施形態のマルチチップシステムによれば、チップ間のデータ伝送のスループットを向上させることが可能である。
【0025】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、上記実施形態においてはマルチチップシステムが3つの半導体装置からなるものとしたが、半導体装置の数は任意であって、本発明はこれを限定するものでないことは言うまでもない。
また、チップAが最初に送信するデータのデータ構造は、図3(c)に示すようにヘッダ部Hとデータ部とを別の信号ラインで送信するような方式でもよい。この場合も、データ部の受信が完了する前に宛先IDを判定することができるので、上述した実施形態と同様の効果を得ることができる。
【図面の簡単な説明】
【0026】
【図1】本発明の実施形態によるマルチチップシステムの全体構成を示す図である。
【図2】図1のマルチチップシステムを構成する個々の半導体装置の機能構成を概略的に示すブロック図である。
【図3】送信されるデータのデータ構造を示す図である。
【図4】半導体装置が受信データの宛先に応じてデータを転送または取得する動作を示すフローチャートである。
【図5】本発明のマルチチップシステムにおいてチップAからチップCへデータを送信する場合の各チップにおけるデータの送受信タイミングを示す図である。
【図6】従来のマルチチップシステムにおいてチップAからチップCへデータを送信する場合の各チップにおけるデータの送受信タイミングを示す図である。
【符号の説明】
【0027】
1…受信データバッファ 2…受信制御部 3…宛先ID判定部 4…送信制御部 5…送信データバッファ 6…クロック生成部 7…CPU 8…内部メモリ

【特許請求の範囲】
【請求項1】
第1,第2,第3の半導体装置がネットワークを形成してなり、第1の半導体装置が送信したデータを第2の半導体装置がその宛先に応じて選択的に取得あるいは第3の半導体装置に転送するマルチチップシステムにおいて、
前記第1の半導体装置は、
データのヘッダ部に宛先情報を配置して該データを送信する送信制御部を備え、
前記第2の半導体装置は、
前記第1の半導体装置から送信されるデータを受信して一時格納するバッファと、
前記バッファに前記宛先情報が格納された時点で該宛先情報を前記バッファより読み出してデータの宛先を判定する宛先判定部と、
前記宛先判定部によりデータの宛先が自分ではないと判定された場合、前記バッファが受信途中である前記データをその時点から順次該バッファより読み出して前記第3の半導体装置に転送する送信制御部と、を備える
ことを特徴とするマルチチップシステム。
【請求項2】
前記第2の半導体装置は、前記宛先判定部によりデータの宛先が自分であると判定された場合、前記バッファよりそのデータを読み出して取得する受信制御部を備えることを特徴とする請求項1に記載のマルチチップシステム。
【請求項3】
ヘッダ部に宛先情報が配置されたデータを受信して一時格納するバッファと、
前記バッファに前記宛先情報が格納された時点で該宛先情報を前記バッファより読み出してデータの宛先を判定する宛先判定部と、
前記宛先判定部によりデータの宛先が自分ではないと判定された場合、前記バッファが受信途中である前記データをその時点から順次該バッファより読み出して他の半導体装置に転送する送信制御部と、を備える
ことを特徴とする半導体装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2009−93283(P2009−93283A)
【公開日】平成21年4月30日(2009.4.30)
【国際特許分類】
【出願番号】特願2007−261177(P2007−261177)
【出願日】平成19年10月4日(2007.10.4)
【出願人】(000004330)日本無線株式会社 (1,186)
【Fターム(参考)】