(57)【要約】【課題】コア数の柔軟な設定が可能なネットワークオンチップを提供する。【解決手段】比較的少ない数の複数の計算コアと、その計算コアのそれぞれに接続された複数のルータと、複数のルータの間を接続するネットワークと、複数のルータの全てまたは一部に接続された外部接続用ラインとを備えた半導体チップとする。そして、各半導体チップの外部接続用ラインを他の半導体チップの外部接続用ラインと接続して、計算コアが接続されたネットワークを拡張できるようにした。【選択図】図３
2014186509.tif 000002
【特許請求の範囲】
【請求項１】
演算処理を実行する制御部と、プログラムまたはデータを記憶するメモリとを有する複数の計算コアと、
前記複数の計算コアのそれぞれに接続された複数のルータと、
前記複数のルータの間を接続するネットワークと、
前記複数のルータの全てまたは一部に接続された外部接続用ラインとを備え、
前記外部接続用ラインを他の半導体チップの外部接続用ラインと接続して外部リンクを形成することで、前記計算コアが接続されたネットワークを拡張できるようにした
半導体チップ。
【請求項２】
前記計算コアと前記ルータはそれぞれ４個備えられ、
４個のルータの内の２個のルータには２本の外部接続用ラインが接続され、１個のルータには１本の外部接続用ラインが接続され、１個のルータには外部接続用ラインが接続されていない
請求項１記載の半導体チップ。
【請求項３】
前記計算コアと前記ルータはそれぞれ４個備えられ、
４個のルータの内の３個のルータには２本の外部接続用ラインが接続され、残りの１個のルータには外部接続用ラインが接続されていない
請求項１記載の半導体チップ。
【請求項４】
前記計算コアと前記ルータはそれぞれ４個備えられ、
４個のルータのそれぞれには、２本の外部接続用ラインが接続された
請求項１記載の半導体チップ。
【請求項５】
前記計算コアと前記ルータはそれぞれ４個備えられ、
４個のルータのそれぞれには、１本の外部接続用ラインが接続された
請求項１記載の半導体チップ。
【請求項６】
複数の半導体チップを接続した半導体チップ接続システムであり、
それぞれの半導体チップは、
演算処理を実行する制御部と、プログラムまたはデータを記憶するメモリとを有する複数の計算コアと、
前記複数の計算コアのそれぞれに接続された複数のルータと、
前記複数のルータの間を接続するネットワークと、
前記複数のルータの全てまたは一部に接続された外部接続用ラインとを備え、
前記外部接続用ラインで複数の半導体チップを接続することで、前記ネットワークが拡張される
半導体チップ接続システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体チップ、およびその半導体チップを複数接続した半導体チップ接続システムに関し、特にネットワークオンチップと称される技術に関する。
【背景技術】
【０００２】
従来、ネットワークオンチップ（ＮｏＣ）と称される半導体チップが知られている。
図１２は、ネットワークオンチップ１の構成例を示す図である。ネットワークオンチップ１は、複数のコア２ａ，２ｂ，２ｃ，・・・，２ｐを備える。図１２の例では、横方向と縦方向にそれぞれ４個ずつの４×４の１６個の計算コア２ａ〜２ｐを配置する。それぞれの計算コア２ａ〜２ｐは、中央制御ユニットやメモリなどの演算処理部を備えたマイクロコンピュータとして構成される。
【０００３】
それぞれの計算コア２ａ〜２ｐには、ネットワークインターフェース部３ａ〜３ｐを介してルータ４ａ〜４ｐが接続され、それぞれのルータ４ａ〜４ｐの間が、縦横に配置されたバスラインで相互に接続される。
この図１２に示すようなネットワークオンチップ１を用意することで、ネットワークオンチップ１内の計算コア２ａ〜２ｐで分散してデータ処理が行われ、各計算コアに適切な演算処理を割り当てることで、演算処理能力の高性能化を図ることができる。それぞれの計算コアに割り当てる機能は、それぞれの計算コア内のメモリに実装するプログラムにより決まるため、プログラムの書き換えで、様々な用途に対応できる。
図１２の例は計算コアが１６個の例であるが、例えば２５個の計算コアを備えた例や３６個の計算コアを備えた例など、より多数の計算コアを配置したチップも存在する。
特許文献１には、図２に一般的なネットワークオンチップの構成の例についての記載がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平２０１２−２２６７７６号公報（図２）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、ネットワークオンチップは、計算コア数に対応して複数のデータの同時処理が可能であるが、チップ内の計算コア数は固定であり、用途によっては計算コア数が多すぎる場合がある。
【０００６】
例えば、自動車内の各部を制御する制御装置にネットワークオンチップを適用することを想定する。ここで、多数の電子機器が取り付けられた高級な自動車の場合には多くの電子制御が必要であり、計算コアの数が多いネットワークオンチップが必要になる。一方、比較的価格の安い自動車の場合には、電子制御が必要な箇所が少なく、計算コアの数が多いネットワークオンチップをそのまま制御装置として使用すると、使われない計算コアが多数存在し、無駄が多くなる。
【０００７】
従来、自動車用の制御装置は、それぞれの車種毎に専用の半導体チップを製作しており、ネットワークオンチップを自動車の制御用に適用できれば、半導体チップの汎用化が可能になり、大きなメリットがある。しかしながら、上述したように車種によって最適なコア数が異なるため、いずれの車種にも最適な規模のネットワークオンチップとすることは困難であった。
【０００８】
本発明は、計算コアの数の柔軟な設定が可能なネットワークオンチップを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の半導体チップは、計算コアと、ルータとを備える。
計算コアは複数用意され、それぞれが、演算処理を実行する制御部と、プログラムまたはデータを記憶するメモリとを有する。
ルータは、複数の計算コアと同じ数用意され、それぞれの計算コアにルータを接続する。
複数のルータは、半導体チップ内のネットワークで接続される。また、複数のルータの全てまたは一部に、外部接続用ラインが接続される。
この外部接続用ラインを他の半導体チップの外部接続用ラインと接続することで、計算コアが接続されたネットワークを拡張できるようにした。
【００１０】
また、本発明の半導体チップ接続システムは、複数の半導体チップを接続したシステムであり、それぞれの半導体チップは、計算コアと、ルータとを備える。
それぞれの半導体チップの計算コアは複数用意され、それぞれが、演算処理を実行する制御部と、プログラムまたはデータを記憶するメモリとを有する。
ルータは、複数の計算コアと同じ数用意し、それぞれの計算コアにルータを接続する。
複数のルータは、半導体チップ内のネットワークで接続する。また、複数のルータの全てまたは一部に、外部接続用ラインが接続される。
この外部接続用ラインを、システム内の他の半導体チップの外部接続用ラインと接続して、計算コアが接続されたネットワークをシステム内の半導体チップ全体に拡張するようにした。
【発明の効果】
【００１１】
本発明によると、例えば１つの半導体チップが備える計算コアの数を比較的少ない数とし、複数の半導体チップを用意して、それぞれの外部接続用ラインで接続することで、接続した半導体チップの数により、任意の計算コアの数のシステムを構築できる。
この場合、それぞれの半導体チップが備える外部接続用ラインの本数を適切に設定することで、それぞれの外部接続用ラインが、比較的ビット数の大きなバス幅の太い伝送路に設定でき、半導体チップ間のデータ転送が良好に行うことができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施の形態によるネットワークオンチップの構成例を示すブロック図である。
【図２】本発明の第１の実施の形態による計算コアの構成例を示すブロック図である。
【図３】本発明の第１の実施の形態によるネットワーク例を示す構成図である。
【図４】本発明の第２の実施の形態によるネットワークオンチップの構成例を示すブロック図である。
【図５】本発明の第２の実施の形態によるネットワーク例を示す構成図である。
【図６】本発明の第３の実施の形態によるネットワークオンチップの構成例を示すブロック図である。
【図７】本発明の第３の実施の形態によるネットワーク例を示す構成図である。
【図８】本発明の第４の実施の形態によるネットワークオンチップの構成例を示すブロック図である。
【図９】本発明の第４の実施の形態によるネットワーク例を示す構成図である。
【図１０】本発明の各実施の形態のネットワークが接続されるシステムの例を示す構成図である。
【図１１】本発明の各実施の形態のネットワーク内の計算コアでの処理例を示すタイミングチャートである。
【図１２】従来のネットワークオンチップの構成例を示すブロック図である。
【発明を実施するための形態】
【００１３】
＜１．第１の実施の形態＞
［１−１．ネットワークオンチップの構成］
以下、本発明の第１の実施の形態の例を、図１〜図３を参照して説明する。
図１は、本実施の形態の例の半導体チップの構成を示す図である。
半導体チップ１００は、４個の計算コア１１０，１２０，１３０，１４０を備えたネットワークオンチップである。この４個の計算コア１１０〜１４０は、横２個×縦２個に配置する。１個の半導体チップ１００が４個の計算コア１１０〜１４０を備えるのは１つの例であり、その他の数の計算コアを配置してもよい。例えば、１個の半導体チップが、横３個×縦３個の９個の計算コアを備えてもよい。
【００１４】
各計算コア１１０，１２０，１３０，１４０には、ルータ１１４，１２４，１３４，１４４が接続される。４個のルータ１１４，１２４，１３４，１４４は、バスラインＢ１１，Ｂ１２，Ｂ１３，Ｂ１４で接続される。このバスラインＢ１１〜Ｂ１４で４個のルータ１１４，１２４，１３４，１４４を接続することで、半導体チップ１００内でのデータ転送用のネットワークが形成される。各計算コア１１０〜１４０は、このバスラインＢ１１〜Ｂ１４によるネットワークを使用して相互にデータ転送ができる。
【００１５】
また、各ルータ１１４，１２４，１３４，１４４には、外部接続用バスラインＢ２１〜Ｂ２８の一端が接続される。すなわち、ルータ１１４には外部接続用バスラインＢ２１，Ｂ２２が接続され、ルータ１２４には外部接続用バスラインＢ２３，Ｂ２４が接続される。また、ルータ１３４には外部接続用バスラインＢ２５，Ｂ２６が接続され、ルータ１４４には外部接続用バスラインＢ２７，Ｂ２８が接続される。
【００１６】
そして、各外部接続用バスラインＢ２１〜Ｂ２８の他端は、半導体チップ１００の表面の電極配置部１０１〜１０８に接続される。図１の例では、電極配置部１０１〜１０８が、半導体チップ１００の４つの周囲にほぼ均等に配置した例を示すが、このような均等な配置とするのは一例であり、その他の配置状態でもよい。
バスラインＢ１１〜Ｂ１４は、所定のビット数のバス幅のバスラインである。外部接続用バスラインＢ２１〜Ｂ２８についても、バスラインＢ１１〜Ｂ１４と同様のバス幅のバスラインとする。但し、電極配置部１０１〜１０８に配置可能な電極の数に制約がある場合には、外部接続用バスラインＢ２１〜Ｂ２８のバス幅を、内部接続用のバスラインＢ１１〜Ｂ１４のバス幅よりも狭くしてもよい。
【００１７】
［１−２．計算コアの構成］
図２は、１つの計算コア１１０の構成例を示す図である。ここでは計算コア１１０の構成を説明するが、他の計算コア１２０，１３０，１４０についても、計算コア１１０と同じ構成である。
計算コア１１０は、処理部１１１を備える。処理部１１１は、中央制御ユニット（ＣＰＵ）１１１ａと、メモリ１１１ｂと、アクセラレータ１１１ｃとを備える。これら中央制御ユニット１１１ａとメモリ１１１ｂとアクセラレータ１１１ｃとは、バスラインＢ３２で接続される。また、バスラインＢ３２には、ネットワークインターフェース部１１２を介してルータ１１４が接続される。ネットワークインターフェース部１１２とルータ１１４との間は、バスラインＢ３２で接続する。
【００１８】
メモリ１１１ｂには、プログラム（ソフトウェア）やデータが記憶される。そして、中央制御ユニット１１１ａは、メモリ１１１ｂに記憶されたプログラムを実行して、メモリ１１１ｂに記憶されたデータの演算処理を実行する。また、アクセラレータ１１１ｃは、特定の機能や処理を実行する。なお、図２の例では、計算コア１１０がアクセラレータ１１１ｃを備える構成を示したが、計算コア１１０がアクセラレータ１１１ｃを設けない構成でもよい。
【００１９】
ネットワークインターフェース部１１２は、処理部１１１内の各部とルータ１１４との中継処理を行う。ルータ１１４は、接続されたバスラインＢ１１，Ｂ１２を介して、半導体チップ１００内の他の計算コア１２０〜１４０とデータ転送を行う。また、外部接続用バスラインＢ２１〜Ｂ２８が、他の半導体チップと接続されている場合には、ルータ１１４が他の半導体チップとのデータ転送の処理を行う。
【００２０】
［１−３．半導体チップを複数接続した例］
図３は、半導体チップ１００を複数用意して接続し、大規模なシステムを構成した例を示す。
図３の例では、４個の半導体チップ１００を用意し、この４個の半導体チップ１００の電極配置部１０１〜１０８を接続した例を示す。
【００２１】
この例では、４個の半導体チップ１００は、それぞれ８個の電極配置部１０１〜１０８を備えているため、縦方向に２本のラインで隣接した半導体チップどうしを接続すると共に、横方向にも２本のラインで隣接した半導体チップどうしを接続する。
【００２２】
この図３に示す例では、１つの半導体チップが４個の計算コア１１０〜１４０を備えるため、４個の半導体チップ１００を接続することで、１６個の計算コアがネットワークで接続される。したがって、従来例として図１２に示した縦４個×横４個の計算コアを備えた１個のネットワークオンチップ１と同様の規模の回路になる。
また、図３に示す接続構成の場合、ネットワーク内の１６個の計算コアの間でデータ転送を行うバスラインについても、縦方向の４本のラインと横方向の４本のラインが形成される。したがって、従来の１個のネットワークオンチップ１と同様の転送が可能となり、データ転送能力についても、従来の１個のネットワークオンチップ１と同様の能力を有する。
【００２３】
図３では、４個の半導体チップ１００が接続される例を示したが、それぞれの半導体チップ１００ａ〜１００ｄの接続先がない電極配置部１０１〜１０８を使用して、さらに別の半導体チップを接続して、システムを拡張することもできる。例えば、縦３個×横３個の９個の半導体チップを接続してもよい。また、縦方向の接続数と横方向の接続数が異なったシステム構成でもよい。
このように半導体チップ１００の接続数を増やしてシステムを拡張することで、計算コアの数を任意に設定したシステムとすることができ、接続数の調整で、小規模なシステムから大規模なシステムまで、柔軟に対処できるようになる。
【００２４】
＜２．第２の実施の形態＞
［２−１．ネットワークオンチップの構成］
以下、本発明の第２の実施の形態の例を、図４〜図５を参照して説明する。図４および図５において、第１の実施の形態の例で説明した図１〜図３に対応する部分には同一符号を付す。
図４は、本実施の形態の例の半導体チップの構成を示す図である。
半導体チップ１００Ａは、４個の計算コア１１０，１２０，１３０，１４０を備え、それぞれの計算コア１１０，１２０，１３０，１４０には、ルータ１１４，１２４，１３４，１４４が接続される。各計算コア１１０〜１４０の構成については、例えば図２に示す構成が適用される。
４個のルータ１１４〜１４４は、内部バスラインＢ１１，Ｂ１２，Ｂ１３，Ｂ１４で接続される点についても、図１に示した半導体チップ１００と同じである。
【００２５】
そして、本実施の形態の例の半導体チップ１００Ａは、各ルータ１１４，１２４，１３４，１４４に接続される外部接続用バスラインの本数を、４本のバスラインＢ２１，Ｂ２４，Ｂ２５，Ｂ２７としたものである。
すなわち、ルータ１１４には外部接続用バスラインＢ２１が接続され、ルータ１２４には外部接続用バスラインＢ２４が接続される。また、ルータ１３４には外部接続用バスラインＢ２５が接続され、ルータ１４４には外部接続用バスラインＢ２７が接続される。
【００２６】
このように４本の外部接続用バスラインＢ２１，Ｂ２４，Ｂ２５，Ｂ２７だけを設けた構成としたため、電極配置部についても、４つの電極配置部１０１〜１０４だけが配置される。
このように４つの電極配置部１０１〜１０４を備えた半導体チップ１００Ａは、外部接続用のバスラインＢ２１，Ｂ２４，Ｂ２５，Ｂ２７として、ビット数が多いバスラインにできる。すなわち、例えば１個の半導体チップ１００Ａに配置可能な電極ピンが１００個であるとき、それぞれの電極配置部１０１〜１０４が、最大で２０個程度の電極ピンを備えることになり、２０ビット程度のバス幅にすることができる。したがって、十分なバス幅のバスラインが使用でき、大容量のデータ転送が可能になる。なお、上述したビット数は、１個の半導体チップに配置可能な電極ピンの数によって大きく変化し、ビット数は一例である。
【００２７】
［２−２．半導体チップを複数接続した例］
図５は、半導体チップ１００Ａを複数用意して接続して、大規模なシステムを構成した例を示す。
図５の例では、４個の半導体チップ１００Ａを用意し、この４個の半導体チップ１００Ａの電極配置部１０１〜１０４を接続した例を示す。
【００２８】
この例では、それぞれの半導体チップ１００Ａは、４個の電極配置部１０１〜１０４を備えているため、横方向に２本のラインで隣接した半導体チップどうしを、順に接続する。
【００２９】
この図５に示すように、４個の半導体チップ１００Ａを接続することで、１６個の計算コアがネットワークで接続される。このようにシステムとして１６個の計算コアを有することになり、従来の１個のネットワークオンチップ１と同様の能力を有する。
なお、この図５のシステム構成の場合、例えばデータ転送が頻繁に発生する計算コアどうしは、近くに配置することが好ましい。
【００３０】
＜３．第３の実施の形態＞
［３−１．ネットワークオンチップの構成］
以下、本発明の第３の実施の形態の例を、図６〜図７を参照して説明する。図６および図７において、第１，第２の実施の形態の例で説明した図１〜図５に対応する部分には同一符号を付す。
図６は、本実施の形態の例の半導体チップの構成を示す図である。
半導体チップ１００Ｂは、４個の計算コア１１０，１２０，１３０，１４０を備え、それぞれの計算コア１１０，１２０，１３０，１４０には、ルータ１１４，１２４，１３４，１４４が接続される。各計算コア１１０〜１４０の構成については、例えば図２に示す構成が適用される。
４個のルータ１１４，１２４，１３４，１４４は、内部バスラインＢ１１，Ｂ１２，Ｂ１３，Ｂ１４で接続される点についても、図１に示した半導体チップ１００と同じである。
【００３１】
そして、本実施の形態の例の半導体チップ１００Ｂは、各ルータ１１４，１２４，１３４，１４４に接続される外部接続用バスラインの本数を、５本のバスラインＢ２１，Ｂ２２，Ｂ２３，Ｂ２４，Ｂ２５としたものである。
すなわち、ルータ１１４には外部接続用バスラインＢ２１，Ｂ２２が接続され、ルータ１２４には外部接続用バスラインＢ２３，Ｂ２４が接続される。また、ルータ１３４には外部接続用バスラインＢ２５が接続される。ルータ１４４には外部接続用バスラインは接続されない。
【００３２】
このように５本の外部接続用バスラインＢ２１，Ｂ２２，Ｂ２３，Ｂ２４，Ｂ２５を設けた構成としたため、電極配置部についても、５つの電極配置部１０１，１０２，１０３，１０５，１０６だけが配置される。
【００３３】
［３−２．半導体チップを複数接続した例］
図７は、半導体チップ１００Ｂを複数用意して接続して、大規模なシステムを構成した例を示す。
図７の例では、８個の半導体チップ１００Ｂ１〜１００Ｂ８を用意し、この８個の半導体チップ１００Ｂを接続した例を示す。
【００３４】
この例では、８個の半導体チップ１００Ｂ１〜１００Ｂ８を、４個ずつのクラスタＣＳ１，ＣＳ２に分ける。すなわち、一方の４個の半導体チップ１００Ｂ１〜１００Ｂ４を、それぞれの５つの電極配置部１０１，１０２，１０３，１０５，１０６の内の４個を使用して接続したクラスタＣＳ１を形成する。
【００３５】
同様に、他方の４個の半導体チップ１００Ｂ５〜１００Ｂ８を、それぞれの５つの電極配置部１０１，１０２，１０３，１０５，１０６の内の４個を使用して接続したクラスタＣＳ２を形成する。
【００３６】
そして、クラスタＣＳ１内の４個の半導体チップ１００Ｂ１〜１００Ｂ４に１個ずつ残った電極配置部を使用して、他のクラスタと接続する。クラスタＣＳ２についても、４個の半導体チップ１００Ｂ５〜１００Ｂ８に１個ずつ残った電極配置部を使用して、他のクラスタと接続する。
すなわち、図７に示すように、クラスタＣＳ１とクラスタＣＳ２とを、２つのラインで接続する。また、クラスタＣＳ１,ＣＳ２を、さらに別のクラスタに接続することができる。
【００３７】
この図７に示すシステム構成の場合、それぞれのクラスタＣＳ１,ＣＳ２の内部では１６個の計算コア１１０〜１４０がバスラインで縦および横に接続され、隣接したクラスタとは２本のバスラインで接続されるようになる。
この図７の構成の場合、それぞれのクラスタＣＳ１,ＣＳ２の内部では、縦および横に４本ずつのバスラインが配置され、クラスタ内の計算コアの間でのデータ転送は、比較的高いデータ容量で行える。一方、複数のクラスタの間でのデータ転送は、２本のバスラインで行われるため、クラスタ内でのデータ転送に比べてそれなりの制限が発生する。このため、例えば連携して処理を行う必要のある計算コアについては、同じクラスタ内に配置するなどの対処を行うのが好ましい。
【００３８】
図６および図７に示した第３の実施の形態の例の場合にも、それぞれの半導体チップ１００Ｂが備える外部接続用のバスラインは、５本としたため、１本のバスラインあたりのバス幅を比較的太くすることができる。すなわち、例えば１個の半導体チップ１００Ｂに配置可能な電極ピンが１００個であるとき、それぞれの電極配置部１０１〜１０５が、最大で十数個程度の電極ピンを備えることになり、十数ビット程度のバス幅にすることができる。したがって、外部接続用のバスラインで、大容量のデータ転送が行える。
そして、図７に示すように、クラスタどうしを接続する際に、そのクラスタの間を複数のバスラインで接続することができ、クラスタの接続数を増やすことが比較的容易にできる。したがって、第３の実施の形態の例の半導体チップ１００Ｂを用意することで、半導体チップの接続数を増やすことが容易に行えると共に、システム内でのデータ転送容量についても確保できる。
【００３９】
なお、図７に示す８個の半導体チップ１００Ｂ１〜１００Ｂ８は、接続状態を見ると判るように、電極配置部の位置関係として、２つのものが存在する。すなわち、半導体チップ１００Ｂ１，１００Ｂ４，１００Ｂ５，１００Ｂ８と、半導体チップ１００Ｂ２，１００Ｂ３，１００Ｂ６，１００Ｂ７とは、電極配置部が上下方向および左右方向に反転した構成である。この場合、それぞれの電極配置状態の４種類の半導体チップを用意してもよいが、１種類の半導体チップだけを用意して、この４種類の電極配置状態で共用化してもよい。
この１種類の半導体チップで、４種類の電極配置状態を共用化する場合には、例えば電極配置部を切り替える構成とする。１つの例としては、電極配置部を切り替えるための２ビットのコンフィギュレーションビット（ｃ１，ｃ０）を設け、このコンフィギュレーションビットの値（０，０），（０，１），（１，０），（１，１）の組み合わせにより、電極配置部の使用状態を切り替える。このようにすることで、１個の半導体チップ１００Ｂが上下方向および左右方向に反転することができ、半導体チップの共用化が行える。
【００４０】
＜４．第４の実施の形態＞
［４−１．ネットワークオンチップの構成］
以下、本発明の第４の実施の形態の例を、図８〜図９を参照して説明する。図８および図７において、第１，第２，第３の実施の形態の例で説明した図１〜図７に対応する部分には同一符号を付す。
図８は、本実施の形態の例の半導体チップの構成を示す図である。
半導体チップ１００Ｃは、４個の計算コア１１０，１２０，１３０，１４０を備え、それぞれの計算コア１１０，１２０，１３０，１４０には、ルータ１１４，１２４，１３４，１４４が接続される。各計算コア１１０〜１４０の構成については、例えば図２に示す構成が適用される。
４個のルータ１１４，１２４，１３４，１４４は、内部バスラインＢ１１，Ｂ１２，Ｂ１３，Ｂ１４で接続される点についても、図１に示した半導体チップ１００と同じである。
【００４１】
そして、本実施の形態の例の半導体チップ１００Ｃは、各ルータ１１４，１２４，１３４，１４４に接続される外部接続用バスラインの本数を、６本のバスラインＢ２１，Ｂ２２，Ｂ２３，Ｂ２４，Ｂ２５，Ｂ２７としたものである。
すなわち、ルータ１１４には外部接続用バスラインＢ２１，Ｂ２２が接続され、ルータ１２４には外部接続用バスラインＢ２３，Ｂ２４が接続される。また、ルータ１３４には外部接続用バスラインＢ２５，Ｂ２７が接続される。ルータ１４４には外部接続用バスラインが接続されない。
【００４２】
このように６本の外部接続用バスラインＢ２１，Ｂ２２，Ｂ２３，Ｂ２４，Ｂ２５，Ｂ２７を設けた構成としたため、電極配置部についても、６つの電極配置部１０１，１０２，１０３，１０４，１０５，１０７だけが配置される。
【００４３】
［４−２．半導体チップを複数接続した例］
図９は、半導体チップ１００Ｃを複数用意して接続して、大規模なシステムを構成した例を示す。
図９の例では、８個の半導体チップ１００Ｃ１〜１００Ｃ８を用意し、この８個の半導体チップ１００Ｃ１〜１００Ｃ８を接続した例を示す。
【００４４】
この例では、８個の半導体チップ１００Ｃ１〜１００Ｃ８の接続状態は、図７の例と同じである。すなわち、８個の半導体チップ１００Ｃ１〜１００Ｃ８を、４個ずつのクラスタＣＳ１，ＣＳ２に分け、それぞれのクラスタの間を２本のバスラインで接続する。
ここで、図７の例の場合には、横方向にクラスタを増やすシステム構成であったが、図９の例の場合には、上下にもクラスタを増やすことができる。したがって、システムの拡張性が高くなる。
【００４５】
なお、図９に示す８個の半導体チップ１００Ｃ１〜１００Ｃ８についても、図７の例で説明したように、電極配置部の位置関係として、２つのものが存在する。この場合にも、それぞれの電極配置状態の４種類の半導体チップを用意してもよいが、１種類の半導体チップだけを用意して、コンフィギュレーションビットなどを使って切り替えるようにしてもよい。
【００４６】
＜５．システムの適用例（例１）＞
次に、ここまで説明した各実施の形態の例のシステムを適用する装置の例について説明する。
図１０は、自動車の制御システムに適用した例を示す図である。図１０では、第１の実施の形態の例で説明した半導体チップ１００を接続したシステムを示すが、この半導体チップ１００の代わりに、第２，第３，第４の実施の形態で説明した半導体チップ１００Ａ，１００Ｂ，１００Ｃを接続してもよい。また、図１０では１個の半導体チップ１００だけを示すが、この半導体チップ１００は、図３などに示すように複数の半導体チップ１００を接続したシステムの一部である。
【００４７】
半導体チップ１００内のルータ１１４，１２４は、外部接続用のライン（例えば図１に示すバスラインＢ２２，Ｂ２３）を介して、外部ネットワーク２１０側のルータ２０５ａ，２０５ｂに接続される。外部ネットワーク２１０は、自動車内の各部とデータ転送を行う車内ネットワークである。
ルータ２０５ａ，２０５ｂは、インターフェース部２０４ａ，２０４ｂを介して、外部ネットワーク２１０の接続部２０３ａ，２０３ｂに接続される。
【００４８】
外部ネットワーク２１０は、例えば自動車などの車両内のネットワークである。すなわち、外部ネットワーク２１０には、複数のセンサまたはアクチュエータ２０１ａ〜２０１ｎが、接続部２０２ａ〜２０２ｎ（ｎは任意の整数）を介して接続される。そして、各センサまたはアクチュエータ２０１ａ〜２０１ｎが検出したデータが、半導体チップ１００側に伝送されると共に、半導体チップ１００側から伝送された制御データが、各センサまたはアクチュエータ２０１ａ〜２０１ｎに供給される。
【００４９】
この図１０に示す構成とすることで、半導体チップ１００を複数接続したネットワークオンチップに相当する制御システムを使用して、自動車の各部の制御ができる。この場合、外部ネットワーク（車内ネットワーク）２１０に接続されたセンサまたはアクチュエータ２０１ａ〜２０１ｎの接続構成によって、半導体チップ１００の接続数を変更することで、制御システムの規模を変更することができる。例えば、制御が必要なセンサやアクチュエータが多数ある大規模なシステムの場合には、多数の半導体チップ１００を接続した制御システムを外部ネットワーク２１０に接続する。また、制御が必要なセンサやアクチュエータが比較的少ないシステムの場合には、比較的少ない数の半導体チップ１００を接続した制御システムを外部ネットワーク２１０に接続する。
このように、各実施の形態の例の半導体チップ１００，１００Ａ，１００Ｂ，１００Ｃを使用して制御システムを構成することで、制御規模が異なる場合でも柔軟に対処でき、いずれの規模の場合でも同じ半導体チップを使用でき、汎用性が高い効果を有する。
【００５０】
＜６．システムの適用例（例２）＞
図１１は、各実施の形態の例の半導体チップ１００，１００Ａ，１００Ｂ，１００Ｃを使用した制御システム内の各計算コアの使用例を示す図である。
この図１１に示した処理は、１つのタスクの処理が、２つ又は３つの計算コアで同時に実行される場合の例である。例えば、特定の演算処理を実行する計算コアとして、第１計算コア〜第６計算コアの６個の計算コアが用意され、さらに６個の計算コアの割り当てを制御するインターフェースコアを１個使用した場合の例である。図１１Ａはインターフェースコアが処理を実行する期間を示し、図１１Ｂ〜図１１Ｇはそれぞれ第１計算コア〜第６計算コアが実行するタスクを示す。
【００５１】
図１１の例では、あるタイミングでタスクＡ，Ｂ，Ｃの３つのタスクの処理が必要になった時、それぞれのタスクＡ，Ｂ，Ｃが、２つの計算コアで同時に実行される。すなわち、タスクＡは、第１計算コアと第２計算コアとで実行される。タスクＢは、第３計算コアと第４計算コアとで実行される。タスクＣは、第５計算コアと第６計算コアとで実行される。
そして、インターフェースコアは、各タスクＡ，Ｂ，Ｃの２つの計算コアでの演算結果を比較する。この比較で一致した場合には、それぞれのタスクの演算結果が正しいとして、それぞれのタスクが次のステップに移行する。
【００５２】
また、１つのタスクの２つの計算コアでの演算結果が一致しない場合には、同じタスクの処理を、３つの計算コアで再度実行させる。例えば、タスクＡの第１計算コアでの演算結果と第２計算コアでの演算結果とが一致しないとき、同じ演算処理を、３つの計算コア（例えば第１計算コアと第２計算コアと第３計算コア）で実行させる。インターフェースコアは、その３つの計算コアの演算結果を比較して、２つ以上の計算コアで同じ結果が得られたものを、正しい演算結果に決定する。
なお、上記の３つの計算コアによる演算により、誤った結果を出力している計算コアが見つかった場合、それを故障コアと判定し、以後計算に用いないようにするとともに、タスクＡの計算コアとして、タスクＡが格納されている別の計算コアを割り当て、以後はその新しい計算コアのペアでタスクＡを実行するようにする。図１１の例では、第１計算コアが故障と判定され、第３計算コアが新たにタスクＡ実行用コアとして割り当てられた様子を右側に示している。
【００５３】
この図１１に示すように、半導体チップ１００，１００Ａ，１００Ｂ，１００Ｃを使用した制御システム内で、同一の制御処理を複数の計算コアで実行するようにしたことで、演算処理の誤りを極力防ぐシステムを構築することができる。例えば、図１０に示したような自動車用の制御システムに、図１１に示す多重演算を行う処理を適用することで、自動車の各部の制御が、誤動作なく確実に実行できるという格別な効果を有する。しかも、このような多重演算を行うために必要な制御システムとして、各実施の形態の例で説明した半導体チップ１００などを複数接続したものを使用することで、多重演算数に応じて制御システム内の計算コアの数を適切に設定でき、良好な制御が容易に行える。
【００５４】
＜７．変形例＞
なお、各実施の形態の例に示した半導体チップ１００，１００Ａ，１００Ｂ，１００Ｃは、１個の半導体チップ内に、４個の計算コア１１０〜１４０を配置した。これに対して、１個の半導体チップが、横３個×縦３個の９個の計算コアや、横４個×縦４個の１６個の計算コアなどの、その他の個数の計算コアを備えてもよい。但し、複数の半導体チップを接続して制御システムを構成した場合に、無駄な計算コアが発生しないようにするためには、１個の半導体チップ内の計算コアの数が、あまり多くない方が好ましい。
【符号の説明】
【００５５】
１００，１００Ａ，１００Ｂ，１００Ｃ…半導体チップ、１０１〜１０８…電極配置部、１１０，１２０，１３０，１４０…計算コア、１１１，１２１，１３１，１４１…処理部、１１１ａ…中央制御ユニット（ＣＰＵ）、１１１ｂ…メモリ、１１１ｃ…アクセラレータ、１１２…ネットワークインターフェース部、１１４，１２４，１３４，１４４…ルータ、２０１ａ〜２０１ｎ…センサまたはアクチュエータ、２０２ａ〜２０２ｎ，２０３ａ，２０３ｂ…ルータ、２０４ａ，２０４ｂ…インターフェース部、２０５ａ，２０５ｂ…ルータ、２１０…ネットワーク、Ｂ１１〜Ｂ１４…バスライン、Ｂ２１〜Ｂ２８…外部接続用バスライン、ＣＳ１，ＣＳ２…クラスタ
【図１】
2014186509.tif 000003
【図２】
2014186509.tif 000004
【図３】
2014186509.tif 000005
【図４】
2014186509.tif 000006
【図５】
2014186509.tif 000007
【図６】
2014186509.tif 000008
【図７】
2014186509.tif 000009
【図８】
2014186509.tif 000010
【図９】
2014186509.tif 000011
【図１０】
2014186509.tif 000012
【図１１】
2014186509.tif 000013
【図１２】
2014186509.tif 000014