(57)【要約】      （修正有）【課題】クロスバーバス回路内に欠陥が生じるか、あるいは使用している間に故障が生じても、故障を回避することを可能にする。【解決手段】バス間を接続する複数のトランジスタスイッチとを有し、データ伝送先部へのデータ転送を一対一に行うことのできるクロスバーバス１０と、データに判定ビットを付加して、クロスバーバスに送る判定ビット付加装置６と、データ転送の結果が成功したか否かの判定を行う転送結果判定装置１５と、データを保持するデータ保持装置１７と、再転送要求を出力し、データ保持部に保持されているデータをデータ伝送先部に送出させる再転送判定装置１９と、クロスバーバス内の転送経路を選択するとともにこの選択されたトランジスタスイッチの状態をメモリに記憶させ、転送経路に含まれるトランジスタスイッチをオンさせる選択信号を出力する転送経路選択回路１１と、を備えている。【選択図】図９
2009217581.tif 000002
【特許請求の範囲】
【請求項１】
それぞれがデータを伝送することのできる複数のデータ伝送元部と、
前記データの伝送先となる複数のデータ伝送先部と、
交差する複数のバスと、交差するバス間を接続する複数のトランジスタスイッチとを有し、これらのトランジスタスイッチを選択することにより、複数の前記データ伝送元部から複数のデータ伝送先部へのデータ転送を一対一に行うことのできるクロスバーバスと、
複数の前記データ伝送元部のそれぞれから伝送されるデータに判定ビットを付加して、前記クロスバーバスに送る判定ビット付加装置と、
前記クロスバーバスから出力されるデータに付加された判定ビットに基づいて、前記データ転送の結果が成功したか否かの判定を行う転送結果判定装置と、
前記データ転送の結果が成功した場合に、前記データ転送された前記データを保持するデータ保持装置と、
前記データ転送の結果に基づいて、前記データを再転送させるか否かの判定を行い、再転送させる場合に再転送要求を出力し、再転送させない場合に転送要求を前記データ保持部に送り、前記データ保持部に保持されているデータを前記データ伝送先部に送出させる再転送判定装置と、
前記データ転送の伝送元および伝送先に関する情報に基づいて前記クロスバーバスの前記トランジスタスイッチを選択する選択信号を出力して選択された前記トランジスタスイッチをオンさせることにより前記データ伝送元部から前記データ伝送先部への前記クロスバーバス内の転送経路を選択するとともにこの選択されたトランジスタスイッチの状態をメモリに記憶させ、かつ前記再転送要求に基づいて再転送のための転送経路を選択し、この選択された転送経路に含まれる前記トランジスタスイッチをオンさせる選択信号を出力する転送経路選択回路と、
を備えていることを特徴とするクロスバーバス回路。
【請求項２】
前記クロスバーバスは２次元クロスバーバスであって、
複数の前記データ伝送元部に対応して設けられた複数の第１バスと、
複数の前記データ伝送先部に対応して設けられた複数の第２バスと、
複数の前記第１バスおよび複数の前記第２バスにそれぞれ交差するように並列して設けられた複数の第３バスと、
前記第１および第２バスと前記第３バスとの交差部にそれぞれ設けられ、交差するバス同士を電気的に接続しかつゲートに前記選択信号を受ける複数のトランジスタスイッチと、
を備え、
前記転送経路選択部は、前記再転送要求を受けた場合には、前回までの転送経路に含まれる前記第３バスと異なる第３バスを含む転送経路を選択することを特徴とする請求項１記載のクロスバーバス回路。
【請求項３】
前記クロスバーバスは３次元クロスバーバスであって、
積層された複数の第１レイヤーを有しそれぞれの第１レイヤーが、並列された複数の第１バスを有する第１レイヤー群と、
前記第１レイヤー群と積層され、前記第１レイヤー群と同じ数の積層された複数の第２レイヤーを有しそれぞれの第２レイヤーが、並列されかつ前記第２レイヤーを前記第１レイヤーに投影したときに前記第１バスと交差するように配置された複数の第２バスを有する第２レイヤー群と、
前記第２レイヤー群と積層され、前記第１レイヤー群と同じ数の複数の第３レイヤーを有しそれぞれの第３レイヤーが、並列されかつ前記第３レイヤーを前記第２レイヤーに投影したときに前記第２バスと交差するように配置された複数の第３バスを有する第３レイヤー群と、
複数の前記データ伝送元部に対応して設けられ前記第１レイヤー群の各レイヤーを貫通し、前記第１バスと交差する第４バスと、
前記第１および第２レイヤー群の各レイヤーを貫通し、前記第１バスおよび前記第２バスと交差する第５バスと、
前記第２および第３レイヤー群の各レイヤーを貫通し、前記第２バスおよび前記第３バスと交差する第６バスと、
複数の前記データ伝送先部に対応して設けられ前記第３レイヤー群の各レイヤーを貫通し、前記第３バスと交差する第７バスと、
前記第１バスと前記第４バスとの交差部、前記第１バスおよび前記第２バスと前記第５バスとの交差部、前記第２バスおよび前記第３バスと第６バスとの交差部、および前記第３バスと前記第７バスとの交差部にそれぞれ設けられ、交差するバス同士を電気的に接続しかつゲートに前記選択信号を受ける複数のトランジスタスイッチと、
を備え、
前記転送経路選択部は、前記再転送要求を受けた場合には、前記第１乃至第３レイヤー群の中の少なくとも１つのレイヤー群中で、前回までの転送経路に含まれるレイヤーと異なるレイヤーを含む転送経路を選択することを特徴とする請求項１記載のクロスバーバス回路。
【請求項４】
前記転送経路選択部は、前記再転送要求を受けた場合には、前記第５および第６バス中で、前回までの転送経路に含まれるバスと異なるバスを含む転送経路を選択することを特徴とする請求項３記載のクロスバーバス回路。
【請求項５】
前記クロスバーバスは３次元クロスバーバスであって、
積層された複数の第１レイヤーを有しそれぞれの第１レイヤーが、並列された複数の第１バスを有する第１レイヤー群と、
前記第１レイヤー群と積層され、前記第１レイヤー群と同じ数の積層された複数の第２レイヤーを有しそれぞれの第２レイヤーが、並列されかつ前記第２レイヤーを前記第１レイヤーに投影したときに前記第１バスと交差するように配置された複数の第２バスを有する第２レイヤー群と、
前記第２レイヤー群と積層され、前記第１レイヤー群と同じ数の複数の第３レイヤーを有しそれぞれの第３レイヤーが、並列されかつ前記第３レイヤーを前記第２レイヤーに投影したときに前記第２バスと交差するように配置された複数の第３バスを有する第３レイヤー群と、
複数の前記データ伝送元部に対応して設けられ前記第１レイヤー群の各レイヤーを貫通し、前記第１バスと交差する第４バスと、
前記第１および第２レイヤー群の各レイヤーを貫通し、前記第１バスおよび前記第２バスと交差する第５バスと、
前記第２および第３レイヤー群の各レイヤーを貫通し、前記第２バスおよび前記第３バスと交差する第６バスと、
複数の前記データ伝送先部に対応して設けられ前記第３レイヤー群の各レイヤーを貫通し、前記第３バスと交差する第７バスと、
前記第１バスと前記第４バスとの交差部、前記第１バスおよび前記第２バスと前記第５バスとの交差部、前記第２バスおよび前記第３バスと第６バスとの交差部、および前記第３バスと前記第７バスとの交差部にそれぞれ設けられ、交差するバス同士を電気的に接続しかつゲートに前記選択信号を受ける複数のトランジスタスイッチと、
を備え、
前記転送経路選択部は、前記再転送要求を受けた場合には、前記第５および第６バス中で、前回までの転送経路に含まれるバスと異なるバスを含む転送経路を選択することを特徴とする請求項１記載のクロスバーバス回路。
【請求項６】
前記再転送判定回路は、再転送回数をカウントする機能を有し、再転送回数のカウント値が設定回数に達した場合に再転送を行わず、転送失敗信号を外部に出力することを特徴とする請求項１乃至５のいずれかに記載のクロスバーバス回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、欠陥誤り耐性機能付きクロスバーバス回路に関する。
【背景技術】
【０００２】
半導体製造プロセスの微細化によるトランジスタの集積度の向上が、これまでのプロセッサの性能向上を支えてきた。しかし、単一プロセッサ内のトランジスタを増やす事による性能向上は、トランジスタの微細化が進むにつれその向上に限界がでてきており、さらにトランジスタの微細化そのものに限界が見え始めてきている。そこで新しい性能向上方法として、近年盛んに行われているのがマルチコアプロセッサ化である。このマルチコアプロセッサは、トランジスタの微細化により可能となった方式である。これにより従来の単一コアプロセッサを越える性能を得る事が可能である。
【０００３】
しかしマルチコアプロセッサの性能は、コア内のトランジスタ数によってのみ決まるのではなく、コア間の接続方法によっても左右される。現在のマルチコアプロセッサは、バス型やリング型などの相互接続ネットワークを使用して接続され、データの伝送を行っている。バス型のネットワークは、バスが備える調停機能によって、指定された１個のコアにだけバスの使用を許可する（例えば、特許文献１参照）。リング型のネットワークは、それぞれのコアに接続しているスイッチを、調停機能が管理する事で複数のコアに同時にバスの使用権が与えられる。これらの方法は、どちらもコア数が増えても共有するバス数が増えるわけではないので、１個のコアがバスを占有できる時間が減るか、あるいはコア間の距離が結果的に長くなるため、最悪の場合の伝送時間が長くなってしまうという欠点がある。結果としてコア数が増えると、コア間の通信が全体の性能のボトルネックとなってしまうという欠点を抱えている。さらに、マルチコア化することにより、コア間の配線などの領域が増え、全体的な面積が増えてしまうという欠点も抱えている。
【特許文献１】特開平０６−２５９３４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、回路作成時のクロスバーバス回路内に欠陥が生じるか、あるいは使用している間に故障が生じても、故障を可及的に回避することのできるクロスバーバス回路を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の一態様によるクロスバーバス回路は、それぞれがデータを伝送することのできる複数のデータ伝送元部と、前記データの伝送先となる複数のデータ伝送先部と、交差する複数のバスと、交差するバス間を接続する複数のトランジスタスイッチとを有し、これらのトランジスタスイッチを選択することにより、複数の前記データ伝送元部から複数のデータ伝送先部へのデータ転送を一対一に行うことのできるクロスバーバスと、複数の前記データ伝送元部のそれぞれから伝送されるデータに判定ビットを付加して、前記クロスバーバスに送る判定ビット付加装置と、前記クロスバーバスから出力されるデータに付加された判定ビットに基づいて、前記データ転送の結果が成功したか否かの判定を行う転送結果判定装置と、前記データ転送の結果が成功した場合に、前記データ転送された前記データを保持するデータ保持装置と、前記データ転送の結果に基づいて、前記データを再転送させるか否かの判定を行い、再転送させる場合に再転送要求を出力し、再転送させない場合に転送要求を前記データ保持部に送り、前記データ保持部に保持されているデータを前記データ伝送先部に送出させる再転送判定装置と、前記データ転送の伝送元および伝送先に関する情報に基づいて前記クロスバーバスの前記トランジスタスイッチを選択する選択信号を出力して選択された前記トランジスタスイッチをオンさせることにより前記データ伝送元部から前記データ伝送先部への前記クロスバーバス内の転送経路を選択するとともにこの選択されたトランジスタスイッチの状態をメモリに記憶させ、かつ前記再転送要求に基づいて再転送のための転送経路を選択し、この選択された転送経路に含まれる前記トランジスタスイッチをオンさせる選択信号を出力する転送経路選択回路と、を備えていることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、回路作成時のクロスバーバス回路内に欠陥が生じるか、あるいは使用している間に故障が生じても、故障を可及的に回避することができる。  
【発明を実施するための最良の形態】
【０００７】
本発明の実施形態を説明する前に、本発明に至った経緯について説明する。
【０００８】
まず、一般的な２次元クロスバーバス回路について説明する。この２次元クロスバーバス回路は、図１に示すように、複数のメモリコア２１〜２４からなるメモリコア部２と、複数のプロセッサコア２２１〜２２４からなるプロセッサコア部２２と、それらの間に設けられ、内部に複数のトランジスタスイッチ（図１においては図示せず）を有する２次元クロスバーバス１０と、転送要求対情報（すなわち、伝送元および伝送先の情報）に基づいて、メモリコア２１〜２からプロセッサコア２２１〜２２４へのデータの転送経路を選択し、この選択された転送経路に含まれるクロスバーバス１０のトランジスタスイッチを選択する選択信号を出力する転送経路選択装置８と、を備えている。転送経路選択装置８から出力される選択信号は、スイッチ接続線９を通ってクロスバーバス１０のトランジスタスイッチに送られ、トランジスタスイッチをオンさせる。また、メモリコア２１〜２４は、入力データ線４１〜４４をそれぞれ介してクロスバーバス１０に接続され、プロセッサコア２２１〜２２４は、出力データ線２０１〜２０４を介してクロスバーバス１０に接続される。なお、クロスバーバス１０の上側にプロセッサコア２２１〜２２４を配置し、下側にメモリコア２１〜２４を配置する構成であってもよい。
【０００９】
この２次元クロスバーバス回路は、図２に示すように、２次元クロスバーバス１０を通って、メモリコア２１〜２４とプロセッサコア２２１〜２２４との間のデータ転送を１対１に並列に行う事が可能な回路である。例えば、図２においては、クロスバーバス１０内のトランジスタスイッチを適宜選択することによって、メモリコア２１はプロセッサコア２２３と接続され、メモリコア２２はプロセッサコア２２４と接続され、メモリコア２３はプロセッサコア２２２と接続され、メモリコア２４はプロセッサコア２２１と接続されることにより、データ転送を１対１に並列に行う。
【００１０】
４メモリコア×４プロセッサコア用の２次元クロスバーバス１０は図３に示す構成を有している。縦方向のバス１０ａは、重複しないように入力データ線もしくは出力データ線のどれかと接続している。横方向のバス１０ｂはメモリコア数と同じ数だけ設けられ、それぞれの横方向のバス１０ｂは全ての縦方向バス１０ａと交差するように配置される。縦横のバス１０ａ、１０ｂの交差領域にトランジスタスイッチ１０ｃが設けられ、これらのトランジスタスイッチ１０ｃをオン、オフすることによって縦のバス１０ａと横のバス１０ｂとの間を電気的に接続する。そして図４に示すように、縦バス１０ａ、横バス１０ｂの全ての縦バス１０ａ上に、オン状態のトランジスタスイッチ１０ｃが高々１個存在するように、トランジスタスイッチの状態を決定する。４個のメモリコア、４個のプロセッサコアの場合、横バス１０ｂは４本用意しているので、これにより４対のデータ転送を同時に行う事が可能となる。図５は、図４に示すデータ転送路のうちの１つのデータ転送路を表している。このデータ転送路は破線で示され、入力データ線４１と出力データ線２０４とを接続している。
【００１１】
次に、一般的な３次元クロスバーバス回路について説明する。この３次元クロスバーバス回路は、図１２に示すように、複数のメモリコア２１１〜２２２からなるメモリコア部２と、プロセッサコア２２１１〜２２２２からなるプロセッサコア部２２と、それらの間に配置され、内部に複数のトランジスタスイッチを有する３次元クロスバーバス５０と、転送要求対情報に基づいてメモリコア２１１〜２２２からプロセッサコア２２１１〜２２２２への転送経路を選択し、この選択された転送経路に含まれるクロスバーバス５０のトランジスタスイッチを選択する選択信号を出力する転送経路選択装置８とを備えている。転送経路選択装置８から出力される選択信号は、スイッチ接続線９を通ってクロスバーバス５０のトランジスタスイッチに送られ、トランジスタスイッチをオンさせる。また、メモリコア２１１〜２２２は、入力データ線４１１〜４２２をそれぞれ介してクロスバーバス５０に接続され、プロセッサコア２２１１〜２２２２は、出力データ線２０１１〜２０２２を介してクロスバーバス５０に接続される。なお、クロスバーバス５０の上側にプロセッサコア２２１１〜２２２２を配置し、下側にメモリコア２１１〜２２２を配置する構成であってもよい。
【００１２】
この３次元クロスバーバス回路は、３次元クロスバーバス５０を通って、メモリコア２１１〜２２２とプロセッサコア２２１１〜２２２２との間のデータ転送を１対１に並列に行うことが可能となる回路である。３次元クロスバーバス５０は、図７に示すように、レイヤー群Ａ、レイヤー群Ｂ、およびレイヤー群Ｃが積層された構成を有している。レイヤー群Ａは、水平面内の第１方向に沿って配置されたバス５０ａと、上記水平面に垂直な方向に沿って配置されたバス５０ｂと上記バス５０ａとの間に設置されたトランジスタスイッチ５０を有するレイヤーを複数積層させた構成となっている。レイヤー群Ｂは、水平面内の第２の方向に沿って配置された配線５０ｄと、上記水平面に垂直な方向に沿って配置された配線５０ｂと上記配線５０ｄとの間のトランジスタスイッチ５０ｃとを有するレイヤーを複数積層させた構成となっている。また、レイヤー群Ｃは、レイヤー群Ａと同じ構成を有している。図７においては、同一のレイヤーは破線で囲まれた領域で表されている。垂直方向のバス５０ｂについては、入力データ線４１１〜４２２に接続しているバス（以下、入力バスともいう）５０ｂは、レイヤー群Ａとレイヤー群Ｂとの間で、切断されている。入力データ線４１１〜４２２と同じ位置にある、レイヤー群Ｂとレイヤー群Ｃとを通る垂直方向のバス５０ｂを、プリメモリバスと呼ぶ。また、出力データ線２０１１〜２０２２に接続しているバス（以下、出力バスともいう）５０ｂはレイヤー群ＢとＣの間で切断されており、入力データ線４１１〜４２２と出力データ線２０１１〜２０２２に接続している入力バスおよび出力バスは、同じ位置に配置しない。図７に示すように、出力データ線と同位置のレイヤー群Ａとレイヤー群Ｂとを通る垂直方向のバス５０ｂをプリプロセッサバスと呼ぶ。
【００１３】
オン状態にするトランジスタスイッチ５０ｃは、全ての入力バス、出力バス、プリプロセッサバス、プリメモリバス上では、各レイヤー群内で１個、オン状態になるように設定する。プリプロセッサバスとプリメモリバスは、２つのレイヤー群にまたがっているので、それぞれのレイヤー上で１個ずつ、計２個のスイッチがオンされていなくてはいけない。またこのとき、あるレイヤー上の１本のバス上では、同じ種類のバスと接合しているトランジスタスイッチが同時にオンにはならないようにする。つまり、レイヤー群Ａ内のレイヤー上のバスならば、入力バスに接続するトランジスタスイッチと、プリプロセッサバスに接続するトランジスタスイッチがオンになるようにする。これらのトランジスタスイッチの選択は、データを転送要求コア対の情報に基づいて、転送経路選択装置８によって選択される。選択装置８内では、それぞれのコア間通信要求の情報を元に、上記条件を各バス上のトランジスタスイッチが満たすように、トランジスタスイッチを選択する。図８は上記条件を満たすように、それぞれのトランジスタスイッチをオン状態にした場合の、ある１つのデータ転送経路を表している。
【００１４】
このような層構造を持つクロスバーバスにおいて欠陥や故障耐性を上げるためにはレイヤー数を増やして回路を作成し、さらには、欠陥箇所及び故障箇所の特定を行わなくてはいけない。この場合の問題点は、元々、必要なレイヤー数が多いのに関わらず、欠陥の割合や故障の割合に応じてレイヤーの総数を増やすなどの冗長性をさらに最初に用意する必要があるということである。しかし、実際の製品ではそれが困難となる。というのも、単なる冗長性では転送時のエラー率をある所定の値以下になることを保証することができないからである。更に、製造後の故障を確定する作業は、時間的場所的な制約によりとても困難になってしまう。
【００１５】
そこで、本発明者達は、鋭意研究に努め、回路作成時のクロスバーバス回路内に欠陥が生じるか、あるいは使用している間に故障が生じても、故障を可及的に回避することのできる欠陥誤り耐性機能付きクロスバーバス回路を開発した。この欠陥誤り耐性機能付きクロスバーバス回路の実施形態を以下に説明する。
【００１６】
（第１実施形態）
本発明の第１実施形態による２次元クロスバーバス回路を図９に示す。本実施形態の２次元クロスバーバス回路は、メモリコア部２と、判定ビット付加装置６と、内部に複数のトランジスタスイッチ（図示せず）を有する２次元クロスバーバス１０と、転送経路選択装置１１と、メモリ１３と、転送結果判定装置１５と、転送データ保持装置１７と、再送判定装置１９と、プロセッサコア部２２とを備えている。
【００１７】
本実施形態においても、メモリコア部２およびプロセッサコア部２２は、図１に示す２次元クロスバーバス回路と同様に、複数のメモリプロセッサ（図示せず）および複数のプロセッサコア（図示せず）をそれぞれ備えている。また同様に、各メモリコアに対応して入力データ線４が設けられ、各プロセッサコアに対応して出力データ線２０が設けられている。
【００１８】
判定ビット付加装置６は、各メモリプロセッサから対応する入力データ線４を介して送られてくる入力データに必要なビット数の判定ビットを付加して２次元クロスバーバス１０に送付する。本実施形態の２次元クロスバーバス１０は、図３に示す２次元クロスバーバス１０と同じ構成を有している。すなわち、複数のトランジスタスイッチを有している。
【００１９】
転送経路選択装置１１は、転送要求対情報（すなわち、伝送元および伝送先の情報）に基づいて、２次元クロスバーバス１０における、メモリコア部２からプロセッサコア部２２へのデータの転送経路を選択し、この選択された転送経路に含まれる、クロスバーバス１０のトランジスタスイッチをオンさせる選択信号を出力するとともに、この選択結果に応じたクロスバーバス１０におけるトランジスタスイッチの状態（オン状態またはオフ状態）をメモリ１３に記憶させる。本実施形態においては、後述する再転送判定装置１９から送られてくる再転送要求に基づいて、再転送経路を選択し、この選択された再転送経路に含まれるクロスバーバス１０のトランジスタスイッチを選択する選択信号を出力するとともに、この選択結果に応じたクロスバーバス１０におけるトランジスタスイッチの状態をメモリ１３に記憶させる。なお、メモリ１３は転送経路選択装置１１に内蔵されていてもよい。
【００２０】
転送結果判定装置１５の一具体例を図２４に示す。この具体例の転送結果判定装置１５は、各判定ビットに対して、確認ビット照合回路１５ａと、フリップフロップ回路１５ｂとが設けられている。クロスバーバス１０を介して送られてくる判定ビットを含む信号が入力Ｉｎとして受ける。この入力Ｉｎは、確認ビット照合回路１５ａと、フリップフロップ回路１５ｂに入力される。確認ビット照合回路１５ａは、入力された判定ビットを照合し、転送が成功の場合には出力信号Ｏｕｔ＿１を「１」として出力し、転送が不成功の場合には出力信号Ｏｕｔ＿１を「０」として出力する。フリップフロップ回路１５ｂは、確認ビット照合回路１５ａの出力信号Ｏｕｔ＿１が「１」となった場合に、判定ビット以降のデータを出力信号Ｏｕｔ＿２として出力する。転送結果判定装置１５の出力はデータ保持装置１７に保持される。
【００２１】
次に、本実施形態に係る転送経路選択装置１１、メモリ１３、転送結果判定装置１５、転送データ保持装置１７、および再送判定装置１９の動作を、図１０を参照して説明する。図１０は、本実施形態の２次元クロスバーバス回路の動作を説明するフローチャートである。
【００２２】
まず、メモリコア部２から入力データ線４を介して送られてくる入力データに、判定ビット付加装置６が転送結果判定用ビットを付加し、２次元クロスバーバス１０に送出する。
【００２３】
これと並行して、転送要求対情報に基づいて、２次元クロスバーバス１０における、メモリコア部２からプロセッサコア部２２へのデータの転送経路が転送経路選択装置１１によって選択される（図１０のステップＳ１）。すると、この選択された転送経路に含まれる、クロスバーバス１０のトランジスタスイッチをオンさせる選択信号が転送経路選択装置１１から出力されるとともに、この選択結果に応じたクロスバーバス１０におけるトランジスタスイッチの状態がメモリ１３に記憶される（図１０のステップＳ２）。
【００２４】
転送経路選択装置８から出力される選択信号は、スイッチ接続線９を通ってクロスバーバス１０のトランジスタスイッチに送られ、選択された転送経路に含まれるトランジスタスイッチをオンさせる。これにより、判定ビットが付加されたデータが２次元クロスバーバス１０を通って転送結果判定装置１５に送られる（図１０のステップＳ３）。すると、転送結果判定装置１５において、転送結果判定用ビットに基づいて、転送が成功したか否かの判定が行われ（図１０のステップＳ４）、転送が成功した場合は、転送データは、データ保持装置１７に一時的に保持される（図１０のステップＳ５）。その後、転送が成功したことを示す転送結果が再送判定装置１９に送られる（図１０のステップＳ６）。また、転送が成功しなかった場合は、転送が成功しなかったことを示す転送結果が再送判定装置１９に送られる（図１０のステップＳ６）。
【００２５】
再転送判定装置１９は、これまでの転送結果も入れてそれぞれの転送が最低１回成功しているか判定し（図１０のステップＳ７）、転送が１回も成功していない場合には、再転送要求を転送経路選択装置１１に送る。また、転送が成功している場合には、再転送判定装置１９は、データ保持装置１７に転送要求信号を送り、データ保持装置１７に一時的に保持されているデータを、出力データ線２０を介してプロセッサコア部２２に一斉に転送する（図１０のステップＳ９）。
【００２６】
再転送判定装置１９から再転送要求を転送経路選択装置１１が受けると、転送経路選択装置１１は、転送経路を縦方向にシフトすることによって再転送経路を選択し（図１０のステップＳ８）、この選択された再転送経路に含まれるクロスバーバス１０のトランジスタスイッチを選択する選択信号を出力するとともに、この選択結果に応じたクロスバーバス１０におけるトランジスタスイッチの状態をメモリ１３に記憶させる（図１０のステップＳ２）。この再転送経路に基づいて、再度データ転送を実行させる。データ転送を終了するまでこの操作を繰り返し行う。
【００２７】
転送経路を縦方向にシフトすることによって再転送経路を選択する一具体例を図１１に示す。この縦方向シフトは、図１１に示すようにトランジスタスイッチの状態を、前回の転送時の経路から１つ下の段のバスを使用してデータ転送を行う方法である。なお、一番下のバスを使用して転送した場合には、次の再転送時には一番上のバスを使用する。また、一番初めの転送要求時には、転送経路選択装置６０によって計算されたスイッチ状態を保持し、その値を３次元クロスバーバス内のトランジスタスイッチにそれぞれスイッチ接続線９を通して反映させることも可能である。
【００２８】
以上説明したように、本実施形態によれば、欠陥や出荷後に故障が発生した場合でも、クロスバーバス内部のデータ経路を何度か切り替え再度転送することが可能となり、最終的に全てのデータの転送を行う事ができる。これにより、回路作成時のクロスバーバス回路内に欠陥が生じるか、あるいは使用している間に故障が生じても、故障を可及的に回避することができる。なお、本実施形態においては、再転送した場合は、１回のデータ転送にかかる遅延が、転送経路を再選択するための処理時間および再転送時間の分だけ大きくなる。しかし、再選択のための処理は、１回選択を行うと、それをシフトするだけの処理しか行わない為、遅延はそれほどかからず、またクロスバーバスの場合、１回のデータ転送にかかる配線遅延が他のバスよりも格段に小さいという特徴を有しているため、データの再転送を行ったとしても、システム全体の遅延にはつながらないという利点がある。
【００２９】
なお、本実施形態において、メモリコア部２とプロセッサコア部２２の配置を逆にしてもよい。すなわち、入力データがプロセッサコア部２２から出力され、メモリコア部２が転送データを受けるように構成してもよい。
【００３０】
（変形例）
次に、本実施形態の一変形例による欠陥誤り耐性機能付き２次元クロスバーバス回路を図１２に示す。本変形例の２次元クロスバーバス回路は、図９に示す第１実施形態の２次元クロスバーバス回路において、再転送判定装置１９を再転送判定装置１９Ａに置き換えた構成となっている。この再転送判定装置１９Ａは、再転送回数をカウントし、このカウント値が所定回数以上の場合には、転送が失敗であるとして、ＯＵＴ信号を出力し、転送作業を中止する機能を再転送判定装置１９に付加した構成を有している。
【００３１】
本変形例も、再転送回数が所定値未満の場合には、回路作成時のクロスバーバス回路内に欠陥が生じるか、あるいは使用している間に故障が生じても、故障を可及的に回避することができる。また、再転送回数に制限を設けたことにより、転送が不可能な場合に無駄な処理を永遠に行うことを回避することができるという利点を有する。
【００３２】
（第２実施形態）
次に、本発明の第２実施形態による３次元クロスバーバス回路を図１３に示す。本実施形態の３次元クロスバーバス回路は、メモリコア部２と、判定ビット付加装置６と、内部に複数のトランジスタスイッチ（図示せず）を有する３次元クロスバーバス５０と、転送経路選択装置６０と、メモリ６２と、転送結果判定装置１５と、転送データ保持装置１７と、再送判定装置１９と、プロセッサコア部２２とを備えている。
【００３３】
本実施形態においても、メモリコア部２およびプロセッサコア部２２は、図６に示す３次元クロスバーバス回路と同様に、複数のメモリプロセッサ（図示せず）および複数のプロセッサコア（図示せず）をそれぞれ備えている。また同様に、各メモリコアに対応して入力データ線４が設けられ、各プロセッサコアに対応して出力データ線２０が設けられている。
【００３４】
判定ビット付加装置６は、各メモリプロセッサから対応する入力データ線４を介して送られてくる入力データに転送結果判定用ビットを付加して２次元クロスバーバス１０に送付する。本実施形態の３次元クロスバーバス１０は、図７に示す３次元クロスバーバス１０と同じ構成を有している。すなわち、レイヤー群Ａ、レイヤー群Ｂ、およびレイヤー群Ｃを有しており、各レイヤー群は複数のレイヤーを有しており、各レイヤーには複数のトランジスタスイッチを有している。
【００３５】
転送経路選択装置６０は、転送要求対情報（すなわち、伝送元および伝送先の情報）に基づいて、３次元クロスバーバス５０における、メモリコア部２からプロセッサコア部２２へのデータの転送経路を選択し、この選択された転送経路に含まれる、クロスバーバス５０のトランジスタスイッチをオンさせる選択信号を出力するとともに、この選択結果に応じたクロスバーバス５０におけるトランジスタスイッチの状態（オン状態またはオフ状態）をメモリ６２に記憶させる。なお、本実施形態においては、後述する再転送判定装置１９から送られてくる再転送要求に基づいて、再転送経路を選択し、この選択された再転送経路に含まれるクロスバーバス５０のトランジスタスイッチを選択する選択信号を出力するとともに、この選択結果に応じたクロスバーバス５０におけるトランジスタスイッチの状態をメモリ６２に記憶させる。なお、メモリ６２は転送経路選択装置６０に内蔵されていてもよい。
【００３６】
次に、本実施形態に係る転送経路選択装置６０、メモリ６２、転送結果判定装置１５、転送データ保持装置１７、および再送判定装置１９の動作を、図１４を参照して説明する。図１４は、本実施形態の３次元クロスバーバス回路の動作を説明するフローチャートである。
【００３７】
まず、メモリコア部２から入力データ線４を介して送られてくる入力データに、判定ビット付加装置６が転送結果判定用ビットを付加し、３次元クロスバーバス５０に送出する。
【００３８】
これと並行して、転送要求対情報に基づいて、３次元クロスバーバス５０における、メモリコア部２からプロセッサコア部２２へのデータの転送経路が転送経路選択装置６０によって選択される（図１４のステップＳ１１）。すると、この選択された転送経路に含まれる、クロスバーバス５０のトランジスタスイッチをオンさせる選択信号が転送経路選択装置６０から出力されるとともに、この選択結果に応じたクロスバーバス５０におけるトランジスタスイッチの状態がメモリ６２に記憶される（図１４のステップＳ１２）。
【００３９】
転送経路選択装置６０から出力される選択信号は、スイッチ接続線９を通ってクロスバーバス５０のトランジスタスイッチに送られ、選択された転送経路に含まれるトランジスタスイッチをオンさせる。これにより、判定ビットが付加されたデータが３次元クロスバーバス５０を通って転送結果判定装置１５に送られる（図１４のステップＳ１３）。すると、転送結果判定装置１５において、転送結果判定用ビットに基づいて、転送が成功したか否かの判定が行われ（図１４のステップＳ１４）、転送が成功した場合は、転送データは、データ保持装置１７に一時的に保持される（図１４のステップＳ１５）。その後、転送が成功したことを示す転送結果が再送判定装置１９に送られる（図１４のステップＳ１６）。また、転送が成功しなかった場合は、転送が成功しなかったことを示す転送結果が再送判定装置１９に送られる（図１４のステップＳ１６）。
【００４０】
再転送判定装置１９は、これまでの転送結果も入れてそれぞれの転送が最低１回成功しているか判定し（図１４のステップＳ１７）、転送が１回も成功していない場合には、再転送要求を転送経路選択装置６０に送る。また、転送が成功している場合には、再転送判定装置１９は、データ保持装置１７に転送要求信号を送り、データ保持装置１７に一時的に保持されているデータを、出力データ線２０を介してプロセッサコア部２２に一斉に転送する（図１４のステップＳ１９）。
【００４１】
再転送判定装置１９から再転送要求を転送経路選択装置６０が受けると、転送経路選択装置６０は、転送経路を垂直方向にシフトすることによって再転送経路を選択し（図１４のステップＳ１８）、この選択された再転送経路に含まれるクロスバーバス５０のトランジスタスイッチを選択する選択信号を出力するとともに、この選択結果に応じたクロスバーバス５０におけるトランジスタスイッチの状態をメモリ６２に記憶させる（図１４のステップＳ１２）。この再転送経路に基づいて、再度データ転送を実行させる。データ転送を終了するまでこの操作を繰り返し行う。
【００４２】
転送経路を垂直方向にシフトすることによって再転送経路を選択する一具体例を図１５に示す。垂直方向にシフトするとは、図１５に示すようにトランジスタスイッチの状態を、前回の転送時の経路からレイヤー群Ａ、レイヤー群Ｂ、およびレイヤー群Ｃのいずれかのみのレイヤー群のレイヤー内で、１つ下の段のレイヤー上のバスを使用してデータ転送を行うように決定する方法である。なお、一番下のレイヤー上のバスを使用して転送を行っている場合は、次の再転送時には一番上のレイヤー上のバスを使用する。レイヤー群Ａ内で再転送をレイヤー数分行ったら、次に再転送要求がきた場合はレイヤー群Ａ内のシフト操作は行わず、レイヤー群Ｂ内でシフト操作を行い、その後、レイヤー群Ｃ内でのみシフト操作を行う。また、一番初めの転送要求時には、転送経路選択装置６０によって計算されたスイッチ状態を保持し、その値を３次元クロスバーバス内のトランジスタスイッチにそれぞれスイッチ接続線９を通して反映させることも可能である。
【００４３】
以上説明したように、本実施形態によれば、欠陥や出荷後に故障が発生した場合でも、クロスバーバス内部のデータ経路を何度か切り替え再度転送することが可能となり、最終的に全てのデータの転送を行う事ができる。これにより、回路作成時のクロスバーバス回路内に欠陥が生じるか、あるいは使用している間に故障が生じても、故障を可及的に回避することができる。なお、本実施形態においては、再転送した場合は、１回のデータ転送にかかる遅延が、転送経路を再選択するための処理時間および再転送時間の分だけ大きくなる。しかし、再選択のための処理は、１回選択を行うと、それをシフトするだけの処理しか行わない為、遅延はそれほどかからず、またクロスバーバスの場合、１回のデータ転送にかかる配線遅延が他のバスよりも格段に小さいという特徴を有しているため、データの再転送を行ったとしても、システム全体の遅延にはつながらないという利点がある。
【００４４】
なお、本実施形態において、メモリコア部２とプロセッサコア部２２の配置を逆にしてもよい。すなわち、入力データがプロセッサコア部２２から出力され、メモリコア部２が転送データを受けるように構成してもよい。
【００４５】
（変形例）
次に、本実施形態の一変形例による欠陥誤り耐性機能付き３次元クロスバーバス回路を図１６に示す。本変形例の３次元クロスバーバス回路は、図１３に示す第２実施形態の３次元クロスバーバス回路において、再転送判定装置１９を再転送判定装置１９Ａに置き換えた構成となっている。この再転送判定装置１９Ａは、再転送回数をカウントし、このカウント値が所定回数以上の場合には、転送が失敗であるとして、ＯＵＴ信号を出力し、転送作業を中止する機能を再転送判定装置１９に付加した構成を有している。
【００４６】
本変形例も、再転送回数が所定値未満の場合には、回路作成時のクロスバーバス回路内に欠陥が生じるか、あるいは使用している間に故障が生じても、故障を可及的に回避することができる。また、再転送回数に制限を設けたことにより、転送が不可能な場合に無駄な処理を永遠に行うことを回避することができるという利点を有する。
【００４７】
（第３実施形態）
次に、本発明の第３実施形態による３次元クロスバーバス回路を図１７に示す。本実施形態の３次元クロスバーバス回路は、メモリコア部２と、判定ビット付加装置６と、内部に複数のトランジスタスイッチ（図示せず）を有する３次元クロスバーバス５０と、転送経路選択装置６０Ａと、メモリ６２と、転送結果判定装置１５と、転送データ保持装置１７と、再送判定装置１９と、プロセッサコア部２２とを備えている。
【００４８】
本実施形態においても、メモリコア部２およびプロセッサコア部２２は、図６に示す３次元クロスバーバス回路と同様に、複数のメモリプロセッサ（図示せず）および複数のプロセッサコア（図示せず）をそれぞれ備えている。また同様に、各メモリコアに対応して入力データ線４が設けられ、各プロセッサコアに対応して出力データ線２０が設けられている。
【００４９】
判定ビット付加装置６は、各メモリプロセッサから対応する入力データ線４を介して送られてくる入力データに転送結果判定用ビットを付加して２次元クロスバーバス１０に送付する。本実施形態の３次元クロスバーバス１０は、図７に示す３次元クロスバーバス１０と同じ構成を有している。すなわち、レイヤー群Ａ、レイヤー群Ｂ、およびレイヤー群Ｃを有しており、各レイヤー群は複数のレイヤーを有しており、各レイヤーには複数のトランジスタスイッチを有している。
【００５０】
転送経路選択装置６０Ａは、転送要求対情報（すなわち、伝送元および伝送先の情報）に基づいて、３次元クロスバーバス５０における、メモリコア部２からプロセッサコア部２２へのデータの転送経路を選択し、この選択された転送経路に含まれる、クロスバーバス５０のトランジスタスイッチをオンさせる選択信号を出力するとともに、この選択結果に応じたクロスバーバス５０におけるトランジスタスイッチの状態（オン状態またはオフ状態）をメモリ６２に記憶させる。なお、本実施形態においては、後述する再転送判定装置１９から送られてくる再転送要求に基づいて、再転送経路を選択し、この選択された再転送経路に含まれるクロスバーバス５０のトランジスタスイッチを選択する選択信号を出力するとともに、この選択結果に応じたクロスバーバス５０におけるトランジスタスイッチの状態をメモリ６２に記憶させる。
【００５１】
次に、本実施形態に係る転送経路選択装置６０Ａ、メモリ６２、転送結果判定装置１５、転送データ保持装置１７、および再送判定装置１９の動作を、図１８を参照して説明する。図１８は、本実施形態の３次元クロスバーバス回路の動作を説明するフローチャートである。
【００５２】
まず、メモリコア部２から入力データ線４を介して送られてくる入力データに、判定ビット付加装置６が転送結果判定用ビットを付加し、３次元クロスバーバス５０に送出する。
【００５３】
これと並行して、転送要求対情報に基づいて、３次元クロスバーバス５０における、メモリコア部２からプロセッサコア部２２へのデータの転送経路が転送経路選択装置６０Ａによって選択される（図１８のステップＳ２１）。すると、この選択された転送経路に含まれる、クロスバーバス５０のトランジスタスイッチをオンさせる選択信号が転送経路選択装置６０Ａから出力されるとともに、この選択結果に応じたクロスバーバス５０におけるトランジスタスイッチの状態がメモリ６２に記憶される（図１８のステップＳ２２）。
【００５４】
転送経路選択装置６０Ａから出力される選択信号は、スイッチ接続線９を通ってクロスバーバス５０のトランジスタスイッチに送られ、選択された転送経路に含まれるトランジスタスイッチをオンさせる。これにより、判定ビットが付加されたデータが３次元クロスバーバス５０を通って転送結果判定装置１５に送られる（図１８のステップＳ２３）。すると、転送結果判定装置１５において、転送結果判定用ビットに基づいて、転送が成功したか否かの判定が行われ（図１８のステップＳ２４）、転送が成功した場合は、転送データは、データ保持装置１７に一時的に保持される（図１８のステップＳ２５）。その後、転送が成功したことを示す転送結果が再送判定装置１９に送られる（図１８のステップＳ２６）。また、転送が成功しなかった場合は、転送が成功しなかったことを示す転送結果が再送判定装置１９に送られる（図１８のステップＳ２６）。
【００５５】
再転送判定装置１９は、これまでの転送結果も入れてそれぞれの転送が最低１回成功しているか判定し（図１８のステップＳ２７）、転送が１回も成功していない場合には、再転送要求を転送経路選択装置６０Ａに送る。また、転送が成功している場合には、再転送判定装置１９は、データ保持装置１７に転送要求信号を送り、データ保持装置１７に一時的に保持されているデータを、出力データ線２０を介してプロセッサコア部２２に一斉に転送する（図１８のステップＳ２９）。
【００５６】
再転送判定装置１９から再転送要求を転送経路選択装置６０Ａが受けると、転送経路選択装置６０Ａは、転送経路を水平方向にシフトすることによって再転送経路を選択し（図１８のステップＳ２８）、この選択された再転送経路に含まれるクロスバーバス５０のトランジスタスイッチを選択する選択信号を出力するとともに、この選択結果に応じたクロスバーバス５０におけるトランジスタスイッチの状態をメモリ６２に記憶させる（図１８のステップＳ２２）。この再転送経路に基づいて、再度データ転送を実行させる。データ転送を終了するまでこの操作を繰り返し行う。
【００５７】
転送経路を水平方向にシフトすることによって再転送経路を選択する一具体例を図１９に示す。水平方向にシフトするとは、図１９に示すように、トランジスタスイッチの状態を、全てのデータ転送経路に対して、前回の転送時の経路から各レイヤー上の各バス上で、オンにするトランジスタを１つずつずらして設定することである。全てのスイッチを同じ向きでシフトする必要がある。すなわち、水平方向にシフトするとは、レイヤー集合Ａとレイヤー集合Ｂとを接続するプリプロセッサバスまたはレイヤー集合Ｂとレイヤー集合Ｃとを接続するプリメモリバスの少なくとも一方のバスを前回までの転送経路に含まれていたバスと異なるバスを含む転送経路を再転送経路として選択する方法である。また、一番初めの転送要求時には、転送経路選択装置６０Ａによって選択されたスイッチ状態を保持し、その値を３次元クロスバーバスのトランジスタスイッチにそれぞれスイッチ接続線９を通して反映させることも可能である。
【００５８】
以上説明したように、本実施形態によれば、欠陥や出荷後に故障が発生した場合でも、クロスバーバス内部のデータ経路を何度か切り替え再度転送することが可能となり、最終的に全てのデータの転送を行う事ができる。これにより、回路作成時のクロスバーバス回路内に欠陥が生じるか、あるいは使用している間に故障が生じても、故障を可及的に回避することができる。なお、本実施形態においては、再転送した場合は、１回のデータ転送にかかる遅延が、転送経路を再選択するための処理時間および再転送時間の分だけ大きくなる。しかし、再選択のための処理は、１回選択を行うと、それをシフトするだけの処理しか行わない為、遅延はそれほどかからず、またクロスバーバスの場合、１回のデータ転送にかかる配線遅延が他のバスよりも格段に小さいという特徴を有しているため、データの再転送を行ったとしても、システム全体の遅延にはつながらないという利点がある。
【００５９】
なお、本実施形態において、メモリコア部２とプロセッサコア部２２の配置を逆にしてもよい。すなわち、入力データがプロセッサコア部２２から出力され、メモリコア部２が転送データを受けるように構成してもよい。
【００６０】
（変形例）
次に、本実施形態の一変形例による欠陥誤り耐性機能付き３次元クロスバーバス回路を図２０に示す。本変形例の３次元クロスバーバス回路は、図１７に示す第３実施形態の３次元クロスバーバス回路において、再転送判定装置１９を再転送判定装置１９Ａに置き換えた構成となっている。この再転送判定装置１９Ａは、再転送回数をカウントし、このカウント値が所定回数以上の場合には、転送が失敗であるとして、ＯＵＴ信号を出力し、転送作業を中止する機能を再転送判定装置１９に付加した構成を有している。
【００６１】
本変形例も、再転送回数が所定値未満の場合には、回路作成時のクロスバーバス回路内に欠陥が生じるか、あるいは使用している間に故障が生じても、故障を可及的に回避することができる。また、再転送回数に制限を設けたことにより、転送が不可能な場合に無駄な処理を永遠に行うことを回避することができるという利点を有する。
【００６２】
（第４実施形態）
次に、本発明の第４実施形態による３次元クロスバーバス回路を図２１に示す。本実施形態の３次元クロスバーバス回路は、メモリコア部２と、判定ビット付加装置６と、内部に複数のトランジスタスイッチ（図示せず）を有する３次元クロスバーバス５０と、転送経路選択装置６０Ｂと、メモリ６２と、転送結果判定装置１５と、転送データ保持装置１７と、再送判定装置１９と、プロセッサコア部２２とを備えている。
【００６３】
本実施形態においても、メモリコア部２およびプロセッサコア部２２は、図６に示す３次元クロスバーバス回路と同様に、複数のメモリプロセッサ（図示せず）および複数のプロセッサコア（図示せず）をそれぞれ備えている。また同様に、各メモリコアに対応して入力データ線４が設けられ、各プロセッサコアに対応して出力データ線２０が設けられている。
【００６４】
判定ビット付加装置６は、各メモリプロセッサから対応する入力データ線４を介して送られてくる入力データに転送結果判定用ビットを付加して２次元クロスバーバス１０に送付する。本実施形態の３次元クロスバーバス１０は、図７に示す３次元クロスバーバス１０と同じ構成を有している。すなわち、レイヤー群Ａ、レイヤー群Ｂ、およびレイヤー群Ｃを有しており、各レイヤー群は複数のレイヤーを有しており、各レイヤーには複数のトランジスタスイッチを有している。
【００６５】
転送経路選択装置６０Ｂは、転送要求対情報（すなわち、伝送元および伝送先の情報）に基づいて、３次元クロスバーバス５０における、メモリコア部２からプロセッサコア部２２へのデータの転送経路を選択し、この選択された転送経路に含まれる、クロスバーバス５０のトランジスタスイッチをオンさせる選択信号を出力するとともに、この選択結果に応じたクロスバーバス５０におけるトランジスタスイッチの状態（オン状態またはオフ状態）をメモリ６２に記憶させる。なお、本実施形態においては、後述する再転送判定装置１９から送られてくる再転送要求に基づいて、再転送経路を選択し、この選択された再転送経路に含まれるクロスバーバス５０のトランジスタスイッチを選択する選択信号を出力するとともに、この選択結果に応じたクロスバーバス５０におけるトランジスタスイッチの状態をメモリ６２に記憶させる。
【００６６】
次に、本実施形態に係る転送経路選択装置６０Ｂ、メモリ６２、転送結果判定装置１５、転送データ保持装置１７、および再送判定装置１９の動作を、図２２を参照して説明する。図２２は、本実施形態の３次元クロスバーバス回路の動作を説明するフローチャートである。
【００６７】
まず、メモリコア部２から入力データ線４を介して送られてくる入力データに、判定ビット付加装置６が転送結果判定用ビットを付加し、３次元クロスバーバス５０に送出する。
【００６８】
これと並行して、転送要求対情報に基づいて、３次元クロスバーバス５０における、メモリコア部２からプロセッサコア部２２へのデータの転送経路が転送経路選択装置６０Ｂによって選択される（図２２のステップＳ３１）。すると、この選択された転送経路に含まれる、クロスバーバス５０のトランジスタスイッチをオンさせる選択信号が転送経路選択装置６０Ｂから出力されるとともに、この選択結果に応じたクロスバーバス５０におけるトランジスタスイッチの状態がメモリ６２に記憶される（図２２のステップＳ３２）。
【００６９】
転送経路選択装置６０Ｂから出力される選択信号は、スイッチ接続線９を通ってクロスバーバス５０のトランジスタスイッチに送られ、選択された転送経路に含まれるトランジスタスイッチをオンさせる。これにより、判定ビットが付加されたデータが３次元クロスバーバス５０を通って転送結果判定装置１５に送られる（図２２のステップＳ３３）。すると、転送結果判定装置１５において、転送結果判定用ビットに基づいて、転送が成功したか否かの判定が行われ（図２２のステップＳ３４）、転送が成功した場合は、転送データは、データ保持装置１７に一時的に保持される（図２２のステップＳ３５）。その後、転送が成功したことを示す転送結果が再送判定装置１９に送られる（図２２のステップＳ３６）。また、転送が成功しなかった場合は、転送が成功しなかったことを示す転送結果が再送判定装置１９に送られる（図２２のステップＳ３６）。
【００７０】
再転送判定装置１９は、これまでの転送結果も入れてそれぞれの転送が最低１回成功しているか判定し（図２２のステップＳ３７）、転送が１回も成功していない場合には、再転送要求を転送経路選択装置６０Ｂに送る。また、転送が成功している場合には、再転送判定装置１９は、データ保持装置１７に転送要求信号を送り、データ保持装置１７に一時的に保持されているデータを、出力データ線２０を介してプロセッサコア部２２に一斉に転送する（図２２のステップＳ３９）。
【００７１】
再転送判定装置１９から再転送要求を転送経路選択装置６０Ｂが受けると、転送経路選択装置６０Ｂは、転送経路を垂直または水平方向にシフトすることによって再転送経路を選択し（図２２のステップＳ３８）、この選択された再転送経路に含まれるクロスバーバス５０のトランジスタスイッチを選択する選択信号を出力するとともに、この選択結果に応じたクロスバーバス５０におけるトランジスタスイッチの状態をメモリ６２に記憶させる（図２２のステップＳ３２）。この再転送経路に基づいて、再度データ転送を実行させる。データ転送を終了するまでこの操作を繰り返し行う。すなわち、本実施形態の転送経路選択装置６０Ｂは、第２および第３実施形態で説明した再転送経路の選択機能を共に含んでおり、例えば、再転送経路をまず垂直方向にシフトさせて行い、首尾良くいかない場合には、水平方向にシフトさせて行う。
【００７２】
以上説明したように、本実施形態によれば、欠陥や出荷後に故障が発生した場合でも、クロスバーバス内部のデータ経路を何度か切り替え再度転送することが可能となり、最終的に全てのデータの転送を行う事ができる。これにより、回路作成時のクロスバーバス回路内に欠陥が生じるか、あるいは使用している間に故障が生じても、故障を可及的に回避することができる。なお、本実施形態においては、再転送した場合は、１回のデータ転送にかかる遅延が、転送経路を再選択するための処理時間および再転送時間の分だけ大きくなる。しかし、再選択のための処理は、１回選択を行うと、それをシフトするだけの処理しか行わない為、遅延はそれほどかからず、またクロスバーバスの場合、１回のデータ転送にかかる配線遅延が他のバスよりも格段に小さいという特徴を有しているため、データの再転送を行ったとしても、システム全体の遅延にはつながらないという利点がある。
【００７３】
なお、本実施形態において、メモリコア部２とプロセッサコア部２２の配置を逆にしてもよい。すなわち、入力データがプロセッサコア部２２から出力され、メモリコア部２が転送データを受けるように構成してもよい。
【００７４】
（変形例）
次に、本実施形態の一変形例による欠陥誤り耐性機能付き３次元クロスバーバス回路を図２３に示す。本変形例の３次元クロスバーバス回路は、図２１に示す第４実施形態の３次元クロスバーバス回路において、再転送判定装置１９を再転送判定装置１９Ａに置き換えた構成となっている。この再転送判定装置１９Ａは、再転送回数をカウントし、このカウント値が所定回数以上の場合には、転送が失敗であるとして、ＯＵＴ信号を出力し、転送作業を中止する機能を再転送判定装置１９に付加した構成を有している。
【００７５】
本変形例も、再転送回数が所定値未満の場合には、回路作成時のクロスバーバス回路内に欠陥が生じるか、あるいは使用している間に故障が生じても、故障を可及的に回避することができる。また、再転送回数に制限を設けたことにより、転送が不可能な場合に無駄な処理を永遠に行うことを回避することができるという利点を有する。
【図面の簡単な説明】
【００７６】
【図１】一般的な２次元クロスバーバス回路を示す図。
【図２】図１に示す２次元クロスバーバス回路の同時転送経路を示す図。
【図３】図１に示す２次元クロスバーバス回路の２次元クロスバーバスを示す図。
【図４】図３に示す２次元クロスバーバスにおける転送経路の設定例を示す図。
【図５】図３に示す２次元クロスバーバスにおける一転送経路を示す図。
【図６】一般的な３次元クロスバーバス回路を示す図。
【図７】図６に示す３次元クロスバーバス回路の３次元クロスバーバスを示す図。
【図８】図７に示す３次元クロスバーバスにおける転送経路の設定例を示す図。
【図９】本発明の第１実施形態による２次元クロスバーバス回路を示す図。
【図１０】第１実施形態の２次元クロスバーバス回路の動作を説明するフローチャート。
【図１１】第１実施形態の２次元クロスバーバス回路の再転送経路を選択する方法を説明する図。
【図１２】第１実施形態の一変形例による２次元クロスバーバス回路を示す図。
【図１３】本発明の第２実施形態による３次元クロスバーバス回路を示す図。
【図１４】第２実施形態の３次元クロスバーバス回路の動作を説明するフローチャート。
【図１５】第２実施形態の３次元クロスバーバス回路の再転送経路を選択する方法を説明する図。
【図１６】第２実施形態の一変形例による３次元クロスバーバス回路を示す図。
【図１７】本発明の第３実施形態による３次元クロスバーバス回路を示す図。
【図１８】第３実施形態の３次元クロスバーバス回路の動作を説明するフローチャート。
【図１９】第３実施形態の３次元クロスバーバス回路の再転送経路を選択する方法を説明する図。
【図２０】第３実施形態の一変形例による３次元クロスバーバス回路を示す図。
【図２１】本発明の第４実施形態による３次元クロスバーバス回路を示す図。
【図２２】第４実施形態の３次元クロスバーバス回路の動作を説明するフローチャート。
【図２３】第４実施形態の一変形例による３次元クロスバーバス回路を示す図。
【図２４】転送結果判定装置の一具体例を示すブッロク図。
【符号の説明】
【００７７】
２  メモリコア部
２１〜２４  メモリコア
４  入力データ線
４１〜４４  入力データ線
６  判定ビット付加装置
８  転送経路選択装置
９  スイッチ接続線
１０  ２次元クロスバーバス
１１  転送経路選択装置
１３  メモリ
１５  転送結果判定装置
１５ａ  確認ビット照合回路
１５ｂ  フリップフロップ回路
１７  データ保持装置
１９  再転送判定装置
１９Ａ  再転送判定装置  
５０  ３次元クロスバーバス
６０Ａ  転送経路選択装置
６０Ｂ  転送経路選択装置
６２  メモリ
【図１】
2009217581.tif 000003
【図２】
2009217581.tif 000004
【図３】
2009217581.tif 000005
【図４】
2009217581.tif 000006
【図５】
2009217581.tif 000007
【図６】
2009217581.tif 000008
【図７】
2009217581.tif 000009
【図８】
2009217581.tif 000010
【図９】
2009217581.tif 000011
【図１０】
2009217581.tif 000012
【図１１】
2009217581.tif 000013
【図１２】
2009217581.tif 000014
【図１３】
2009217581.tif 000015
【図１４】
2009217581.tif 000016
【図１５】
2009217581.tif 000017
【図１６】
2009217581.tif 000018
【図１７】
2009217581.tif 000019
【図１８】
2009217581.tif 000020
【図１９】
2009217581.tif 000021
【図２０】
2009217581.tif 000022
【図２１】
2009217581.tif 000023
【図２２】
2009217581.tif 000024
【図２３】
2009217581.tif 000025
【図２４】
2009217581.tif 000026