(57)【要約】【課題】複数のコアが形成されたチップ上の配線の面積の増大を抑制しつつ、同一チップ上のコア間の通信の遅延を低減させること。【解決手段】外部配線チップ８には、外部配線７および接続端子３を設け、マルチコアチップ６には、複数のコア４が設けられるとともに、コア４ごとに通信回路５を設け、外部配線モジュール２を、マルチコアプロセッサ１上に配置し、接続端子３を介して外部配線チップ８の外部配線７をマルチコアプロセッサ１の通信回路５に接続することで、外部配線７を介して互いに離れた通信回路５同士を接続する。【選択図】        図２
2009301137.tif 000002
【特許請求の範囲】
【請求項１】
複数のコアが形成されたマルチコアチップと、
前記マルチコアチップに前記コアごとに形成され、他のコアとの通信を行う通信回路と、
前記マルチコアチップ上に搭載され、少なくとも１個分のコアにて互いに隔てられた前記通信回路間を接続する外部配線モジュールとを備えることを特徴とする並列プロセッサ。
【請求項２】
前記外部配線モジュールは、前記通信回路間の通信経路を切り替えるスイッチ回路を備えることを特徴とする請求項１に記載の並列プロセッサ。
【請求項３】
前記外部配線モジュールは、前記通信回路ごとに配置され、前記通信回路に接続される接続端子を備えることを特徴とする請求項１または２に記載の並列プロセッサ。
【請求項４】
前記外部配線モジュールは、前記通信回路間を接続する外部配線および前記接続端子が形成された外部配線チップを備えることを特徴とする請求項３に記載の並列プロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は並列プロセッサに関し、特に、並列プロセッサに設けられた複数の中央演算処理装置（以下、コアと称す）間における通信経路の構成方法に関する。
【背景技術】
【０００２】
マルチコアプロセッサでは、複数のコアが同一チップ上に形成され、コア間のデータ授受を高速に実行できるように、データ幅の確保とデータ転送の高速化が行われる。一般的には、各コアは、平面的にある一定の占有面積をもって１つのチップに実装されることから、コア間で通信するための通信回路に割り当てられる面積は、コアの数に比例して増加する。
【０００３】
ここで、コア間での通信経路を構成する方法として、同一チップ上に形成されたすべてのコア同士を通信回路で直接接続する方法と、互いに隣接するコア同士を通信回路で接続する方法とがある（特許文献１）。
【０００４】
すべてのコア同士を通信回路で直接接続する方法では、部品製造上の都合による２次元的な配置の制約を受けるため、コアが格子状に並べられ、Ｎ個のコア数に対して｛Ｎ×（Ｎ−１）｝÷２の配線経路を確保する必要がある。
【０００５】
この方法では、例えば、同一チップ上のコアの数が４個程度であれば、実際の通信回路の配置を工夫することで、どのコア同士の通信に関しても、高々１回だけ通信回路を経由するだけで通信を行うことができる。
【０００６】
一方、互いに隣接するコア同士を通信回路で接続する方法では、隣接するコア同士では、通信回路を１回だけ経由することで通信が行われ、遠方のコアと通信するためには、その間のコアの通信回路をバケツリレーのように経由して通信が行われる。
【０００７】
また、通信回路を改良し、その空間的配置の規則性を利用した光送受信により、複数の通信回路を経由することなく、各回路素子の通信を達成する方法もある（特許文献２）。
【０００８】
【特許文献１】特開平６−３３７８４９号公報
【特許文献２】特許第３２０１５５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、チップ上に搭載されたコア同士を配線で直接接続する方法では、チップ上のコア数を増やせば増やすほど、これらのコア同士を接続する配線の規模が膨大になる。そのため、チップ全体での処理能力を向上させるため、チップ上のコア数を増やすと、そのチップ上で配線の占める面積が増大し、チップ上のコア数を増やすことができなくなるという問題があった。
【００１０】
また、互いに隣接するコア同士を通信回路で接続する方法では、互いに隣接するコア同士では、通信の遅延が少ないが、互いに離れたコア同士は、その間のコアの通信回路をバケツリレーのように何度も経由する必要がある。そのため、コア同士の通信の遅延が増大し、チップ全体での処理能力の低下を引き起こす要因になるという問題があった。
【００１１】
また、通信回路の空間的配置の規則性を利用した光送受信によりコア間で通信を行う場合には、光送信側と光受信側は互いに対向配置されている必要があることから、同一チップ上に２次元的に配置されたコア同士での通信には適用することができないという問題があった。
【００１２】
一方、マルチコアプロセッサ上で動作するソフトウェアの開発を行う場合、そのソフトウェアを動作させるマルチコアプロセッサ内のチップ上のコア配線の都合に合わせてアルゴリズムを最適化すると、過去に作成された膨大なソフトウェア資産を有効活用するという経済的な要請に対処することができないため、必要な機能を実現することに重きをおいた設計手法が一般的にとられている。このため、多数のコアを接続する場合、特に、離れたコア同士の通信にかかる時間遅延を考慮せずに、ソフトウェアを動作させると、要求される処理性能を達成するのが困難になると考えられる。
【００１３】
本発明は、上記に鑑みてなされたものであって、複数のコアが形成されたチップ上の配線の面積の増大を抑制しつつ、同一チップ上のコア間の通信の遅延を低減させることが可能な並列プロセッサを得ることを目的とする。
【課題を解決するための手段】
【００１４】
上述した課題を解決し、目的を達成するために、本発明の並列プロセッサは、複数のコアが形成されたマルチコアチップと、前記マルチコアチップに前記コアごとに形成され、他のコアとの通信を行う通信回路と、前記マルチコアチップ上に搭載され、少なくとも１個分のコアにて互いに隔てられた前記通信回路間を接続する外部配線モジュールとを備えることを特徴とする。
【発明の効果】
【００１５】
この発明によれば、複数のコアが形成されたチップ上の配線の面積の増大を抑制しつつ、同一チップ上のコア間の通信の遅延を低減させることが可能という効果を奏する。
【発明を実施するための最良の形態】
【００１６】
以下に、本発明に係る並列プロセッサの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１７】
実施の形態１．
図１は、本発明に係る並列プロセッサの実施の形態１の概略構成を示す斜視図である。図１において、マルチコアプロセッサ１には、複数のコアが形成されたマルチコアチップが設けられている。なお、マルチコアチップは、集積回路が形成された半導体チップを用いて構成することができる。
【００１８】
そして、マルチコアチップには、他のコアとの通信を行う通信回路がコアごとに形成されるとともに、通信回路に接続されたパッド電極１１がコアごとに形成されている。そして、マルチコアプロセッサ１は、実装基板１０上に実装されている。なお、実装基板１０は、プリント配線板などであってもよいし、マルチコアプロセッサ１が封入されたパッケージを用いるようにしてもよい。
【００１９】
また、外部配線モジュール２には、マルチコアプロセッサ１の少なくとも１個分のコアにて互いに隔てられた通信回路間を接続する外部配線チップが設けられている。なお、外部配線チップは、配線層が形成された半導体チップを用いて構成するようにしてもよいし、配線層が形成された樹脂基板を用いて構成するようにしてもよい。また、外部配線モジュール２は、半導体チップなどのベアチップにて構成するようにしてもよいし、ＣＳＰ（チップサイズパッケージ）であってもよいし、外部配線チップが封入されたボールグリッドアレイなどのパッケージであってもよい。あるいは、外部配線モジュール２は、ＴＡＢ（Ｔａｐｅ  Ａｕｔｏｍａｔｅｄ  Ｂｏｎｄｉｎｇ）などのフレキシブル基板を用いて構成するようにしてもよい。
【００２０】
また、外部配線モジュール２を介してマルチコアプロセッサ１の通信回路同士を接続する場合、コア間での通信時に経由する必要のある他のコアの個数がより多い通信回路同士を優先して接続することができる。例えば、コア間での通信時に経由する必要のある他のコアの個数が最も多い通信回路同士を優先的に接続し、外部配線モジュール２の配線スペースに余裕がある場合には、コア間での通信時に経由する必要のある他のコアの個数が次に多い通信回路同士を接続することができる。
【００２１】
そして、外部配線チップには、マルチコアプロセッサ１の通信回路間を接続する外部配線およびマルチコアプロセッサ１の通信回路に接続される接続端子３が設けられている。なお、接続端子３としては、例えば、信号接続ピンを用いることができる。あるいは、接続端子３として、バンプ電極を用いるようにしてもよいし、ハンダポールを用いるようにしてもよい。
【００２２】
そして、外部配線モジュール２は、マルチコアプロセッサ１上に配置され、接続端子３とパッド電極１１とが接合されることで、外部配線チップの外部配線が、マルチコアプロセッサ１の通信回路に接続されている。なお、外部配線モジュール２は、マルチコアプロセッサ１と固定的に接合される構造であってもよいし、マルチコアプロセッサ１から着脱自在な構造であってもよい。
【００２３】
そして、マルチコアプロセッサ１の各コアは、通信回路を介して互いに隣接するコアと通信することで、互いに隣接するコアと連携しながらそれぞれのコアに要求される処理を実行することができる。また、マルチコアプロセッサ１の各コアは、マルチコアチップ上で互いに隣接しない遠方のコアとの間では、外部配線モジュール２を介して通信することで、互いに隣接しない遠方のコアと連携しながらそれぞれのコアに要求される処理を実行することができる。
【００２４】
これにより、マルチコアプロセッサ１の各コアは、外部配線モジュール２を介して遠方のコアと通信することができ、その間のコアの通信回路をバケツリレーのように何度も経由する必要がなくなる。このため、マルチコアプロセッサ１に搭載されたコアの個数が多い場合においても、コア同士の通信の遅延が増大するのを抑制することができ、チップ全体での処理能力を向上させることができる。
【００２５】
また、互いに離れたコア同士を優先して接続することにより、マルチコアプロセッサ１のすべてのコア同士を配線するためのスペースを不要とすることができる。このため、マルチコアプロセッサ１に搭載されたコアの個数が多い場合においても、配線の規模が膨大になるのを防止することができ、チップ面積の増大を抑制することができる。
【００２６】
さらに、マルチコアプロセッサ１のコアごとに接続端子３を配置することで、マルチコアプロセッサ１から発生する熱を接続端子３を介して外部に逃がすことが可能となり、マルチコアプロセッサ１の放熱を効率よく行うことができる。
【００２７】
図２は、本発明に係る並列プロセッサの実施の形態１の概略構成を示す平面図である。なお、Ｃ１は、コア４の部分を拡大して示す平面図である。図２において、マルチコアプロセッサ１には、マルチコアチップ６が設けられ、マルチコアチップ６には、複数のコア４が設けられるとともに、コア４ごとに通信回路５が設けられている。なお、コア４は、マルチコアチップ６上に格子状に配置することができ、例えば、コア４の個数が８０個の場合、縦８個×横１０個の割合で配列することができる。ここで、各コア４は、左右上下にそれぞれ隣接する他のコアと通信回路５を介して直接通信することができる。すなわち、互いに隣接するコア４同士は、他のコア４を経由することなく直接通信することができる。
【００２８】
また、外部配線モジュール２には、外部配線チップ８が設けられ、外部配線チップ８には、外部配線７および接続端子３が設けられている。ここで、接続端子３は、マルチコアチップ６の各コア４ごとに設けることができ、例えば、コア４が縦８個×横１０個の割合で配列されている場合、接続端子３も縦８個×横１０個の割合で配列することができ、接続端子３を図１のパッド電極１１の位置に対応して配置することができる。
【００２９】
そして、外部配線７は、マルチコアチップ６上で互いに隣接しないコア４上の接続端子３同士を接続することができる。例えば、外部配線７は、最上端と最下端に沿ってそれぞれ配列された互いに対向する接続端子３同士を接続することができる。また、外部配線７は、最右端と最左端に沿ってそれぞれ配列された互いに対向する接続端子３同士を接続することができる。なお、外部配線７は、半導体チップ上に形成された配線層から構成するようにしてもよいし、樹脂基板上に形成されたプリント配線層から構成するようにしてもよいし、光電気変換器を経由した光配線であってもよい。また、同一の接続端子３には、最大で２本分の外部配線７を接続するようにしてもよい。ここで、異なる外部配線７から同一の接続端子３に信号が伝達される場合、それらの信号の混信は、プロトコル制御にて防止することができる。
【００３０】
そして、外部配線モジュール２は、マルチコアプロセッサ１上に配置され、外部配線チップ８の外部配線７が、接続端子３を介してマルチコアプロセッサ１の通信回路５に接続されることで、互いに離れた通信回路５同士が外部配線７を介して接続されている。例えば、マルチコアプロセッサ１の通信回路５に接続端子３を接続することで、マルチコアチップ６の縦方向に最も離れた互いに対向するコア４同士を直接接続するとともに、マルチコアチップ６の横方向に最も離れた互いに対向するコア４同士を直接接続することができる。
【００３１】
そして、マルチコアプロセッサ１の各コア４は、通信回路５を介して互いに隣接するコア４と通信することで、互いに隣接するコア４と連携しながらそれぞれのコア４に要求される処理を実行することができる。また、マルチコアプロセッサ１の各コア４は、マルチコアチップ６上の遠方のコア４との間では、外部配線７を介して通信することで、互いに隣接しない遠方のコア４と連携しながらそれぞれのコア４に要求される処理を実行することができる。
【００３２】
実施の形態２．
図３は、本発明に係る並列プロセッサの実施の形態２の概略構成を示す平面図である。なお、Ｃ１は、コア４の部分を拡大して示す平面図、Ｃ２はスイッチ回路１９の部分を拡大して示す平面図である。図３において、マルチコアプロセッサ１は図２の構成と同様である。
【００３３】
また、外部配線モジュール１２には、外部配線チップ１８が設けられ、外部配線チップ１８には、外部配線１７ａおよび接続端子１３が設けられるとともに、スイッチ回路１９および切替配線１７ｂ、１７ｃが設けられている。ここで、接続端子１３は、マルチコアチップ１６の各コア４ごとに設けることができ、例えば、コア４が縦８個×横１０個の割合で配列されている場合、接続端子１３も縦８個×横１０個の割合で配列することができる。
【００３４】
また、スイッチ回路１９は、マルチコアプロセッサ１の通信回路５間の通信経路を切り替えることができる。ここで、スイッチ回路１９は、左右上下にそれぞれ隣接する他のスイッチ回路１９に切替配線１７ｂを介して接続されている。また、スイッチ回路１９は、左斜め上、左斜め下、右斜め上、右斜め下にそれぞれ隣接する接続端子１３に切替配線１７ｃを介して接続されている。
【００３５】
そして、スイッチ回路１９は、スイッチング動作を行うことにより、左右上下にそれぞれ隣接するいずれかのスイッチ回路１９から送られた信号を他のスイッチ回路１９に転送したり、左右上下にそれぞれ隣接するいずれかのスイッチ回路１９から送られた信号を接続端子１３に転送したりすることができる。また、スイッチ回路１９は、スイッチング動作を行うことにより、左斜め上、左斜め下、右斜め上、右斜め下にそれぞれ隣接するいずれかの接続端子１３から送られた信号を他の接続端子１３に転送したり、左斜め上、左斜め下、右斜め上、右斜め下にそれぞれ隣接するいずれかの接続端子１３から送られた信号を左右上下にそれぞれ隣接するいずれかのスイッチ回路１９に転送したりすることができる。
【００３６】
なお、スイッチ回路１９は、通信元のコア４から送られた通信先のコア情報に基づいて伝送先を切り替えることができる。ここで、スイッチ回路１９は、通信先のコア情報に基づいて伝送先を切り替える場合、通信元のコア４から通信先のコア４に最短距離で信号が送られるように、次の伝送先を切り替えることができる。あるいは、スイッチ回路１９は、通信元のコア４と通信先のコア４との間で経由されるスイッチ回路１９の個数が最も少なくなるように、次の伝送先を切り替えるようにしてもよい。
【００３７】
そして、通信元のコア４から通信先のコア４に最短距離で信号を送るための伝送先の判断方法としては、通信先のコア４ごとに次の伝送先として選択されるスイッチ回路１９をテーブルに登録し、このテーブルを参照することで、次の伝送先となるスイッチ回路１９を選択することができる。なお、外部配線モジュール１２のスイッチ回路１９は、マルチコアプロセッサ１から給電を受けながら動作することができる。
【００３８】
そして、外部配線１７ａは、マルチコアチップ６上で互いに隣接しないコア４上の接続端子１３同士を接続することができる。例えば、外部配線１７ａは、最上端と最下端に沿ってそれぞれ配列された互いに対向する接続端子１３同士を接続することができる。また、外部配線１７ａは、最右端と最左端に沿ってそれぞれ配列された互いに対向する接続端子１３同士を接続することができる。
【００３９】
そして、外部配線モジュール１２は、マルチコアプロセッサ１上に配置されている。そして、外部配線チップ１８の外部配線１７ａが、接続端子１３を介してマルチコアプロセッサ１の通信回路５に接続されることで、互いに離れた通信回路５同士が外部配線１７ａを介して接続されている。また、マルチコアプロセッサ１の通信回路５は、接続端子１３および切替配線１７ｃを介してスイッチ回路１９に接続されている。
【００４０】
そして、マルチコアプロセッサ１の各コア４は、通信回路５を介して互いに隣接するコア４と通信することで、互いに隣接するコア４と連携しながらそれぞれのコア４に要求される処理を実行することができる。また、マルチコアプロセッサ１の各コア４は、マルチコアチップ６上の遠方のコア４との間では、外部配線１７ａを介して通信することで、互いに隣接しない遠方のコア４と連携しながらそれぞれのコア４に要求される処理を実行することができる。
【００４１】
さらに、マルチコアプロセッサ１の各コア４から出力された信号は、接続端子１３を介してスイッチ回路１９に伝送される。そして、スイッチ回路１９は、各コア４から出力された信号に含まれる通信先のコア情報に基づいて、各コア４からの信号の伝送先を切り替えることで、通信元のコア４からの信号を通信先のコア４に伝送することができる。
【００４２】
ここで、外部配線モジュール１２にスイッチ回路１９を設けることにより、マルチコアチップ６に搭載される通信経路よりも多くの通信経路を実装することが可能となるとともに、遅延時間が短くなるようにコア４間の通信経路を切り替えることができる。このため、マルチコアプロセッサ１に搭載されたコア４の個数が多い場合においても、コア４同士の通信の遅延が増大するのを抑制することができ、マルチコアチップ６全体での処理能力を向上させることができる。
【産業上の利用可能性】
【００４３】
以上のように本発明に係る並列プロセッサは、１つのＬＳＩパッケージ内に複数のコアが組み込まれたマルチコアプロセッサにおいて、これら複数のコア同士を連携させ、ＬＳＩパッケージ全体での処理能力を向上させる方法に適している。
【図面の簡単な説明】
【００４４】
【図１】本発明に係る並列プロセッサの実施の形態１の概略構成を示す斜視図である。
【図２】本発明に係る並列プロセッサの実施の形態１の概略構成を示す平面図である。
【図３】本発明に係る並列プロセッサの実施の形態２の概略構成を示す平面図である。
【符号の説明】
【００４５】
１  マルチコアプロセッサ
２、１２  外部配線モジュール
３、１３  接続端子
４  コア
５  通信回路
６  マルチコアチップ
７、１７ａ  外部配線
８、１８  外部配線チップ
１０  実装基板
１１  パッド電極
１７ｂ、１７ｃ  切替配線
１９  スイッチ回路
【図１】
2009301137.tif 000003
【図２】
2009301137.tif 000004
【図３】
2009301137.tif 000005