(57)【要約】【課題】複数の処理装置をメモリを介して効率よくスケーラブルに接続拡張することが可能でしかも簡単な冗長構成を実現可能な共有メモリ装置を提供する。【解決手段】複数の処理装置１２−０〜１２−１６と、処理装置によりアクセス可能な複数のメモリモジュール１４−０〜１４−６３と、複数の処理装置のうち、特定の処理装置のみが特定のメモリモジュールに接続可能な接続部１３と、を有し、複数の処理装置は、接続部を介して一または複数のメモリモジュールにより形成されるメモリシステムＭ０〜Ｍ１５をアクセス可能で、異なる処理装置によりアクセス可能なメモリシステムは、異なる処理装置でアクセスされるメモリモジュールを一部共有し、複数の処理装置に対して冗長化可能な冗長機能を有する。処理装置１２−１６が冗長用処理装置である。【選択図】図５
2008077151.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理装置と、
前記処理装置によりアクセス可能な複数のメモリモジュールと、
前記複数の処理装置のうち、特定の処理装置のみが特定のメモリモジュールに接続可能な接続部と、を有し、
前記複数の処理装置は、前記接続部を介して一または複数のメモリモジュールにより形成されるメモリシステムをアクセス可能で、
異なる処理装置によりアクセス可能な前記メモリシステムは、異なる処理装置でアクセスされるメモリモジュールを一部共有し、
前記複数の処理装置に対して冗長化可能な冗長機能を有する
共有メモリ装置。
【請求項２】
前記冗長機能はシフト冗長機能である
請求項１記載の共有メモリ装置。
【請求項３】
前記共有メモリモジュールは、配置位置が近い処理装置同士がアクセス可能に、前記メモリシステムが形成されている
請求項１記載の共有メモリ装置。
【請求項４】
同じメモリモジュールに同時に複数の処理装置からアクセス要求があった場合には優先順位付け処理を実行し、その優先順位に従いアクセス制御を行う調停回路を有する
請求項１記載の共有メモリ装置。
【請求項５】
外部との通信が可能で、前記複数のメモリモジュールのアクセスを制御するコントローラを有し、
前記コントローラは、前記接続部を介して全てのメモリモジュールにアクセス可能である
請求項１記載の共有メモリ装置。
【請求項６】
複数の処理装置と、
複数のメモリモジュールと、
前記複数の処理装置のうち、特定の処理装置のみが特定のメモリモジュールに接続可能接続部と、
外部との通信が可能で、前記複数のメモリモジュールのアクセスを制御するコントローラを有し、
前記複数の処理装置は、前記接続部を介して一または複数のメモリモジュールにより形成されるメモリシステムをアクセス可能で、
異なる処理装置によりアクセス可能な前記メモリシステムは、異なる処理装置でアクセスされるメモリモジュールを一部共有し、
前記複数の処理装置に対して冗長化可能な冗長機能を含む
複数の共有メモリ装置を有し、
各共有メモリ装置のコントローラがバスにより接続されている
共有メモリ装置。
【請求項７】
前記冗長機能はシフト冗長機能である
請求項６記載の共有メモリ装置。
【請求項８】
前記共有メモリモジュールは、配置位置が近い処理装置同士がアクセス可能に、前記メモリシステムが形成されている
請求項６記載の共有メモリ装置。
【請求項９】
同じメモリモジュールに同時に複数の処理装置からアクセス要求があった場合には優先順位付け処理を実行し、その優先順位に従いアクセス制御を行う調停回路を有する
請求項６記載の共有メモリ装置。
【請求項１０】
前記コントローラは、前記接続部を介して全てのメモリモジュールにアクセス可能である
請求項６記載の共有メモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサエレメント（Processing Element：ＰＥ）等の処理装置を含む複数のメモリシステムを混載し、各システムのメモリを共有する共有メモリ装置に関するものである。
【背景技術】
【０００２】
複数のメモリシステムを混載するシステムにおいて、並列処理を重視したアーキテクチャを採用すると、たとえば図１に示すような構成となる。
図１の構成においては、ＰＥ（プロセッサエレメント）１−１〜１−４とメモリ２−１〜２−４は並列処理を優先するため、１対１で接続される。
図１の構成において、ＰＥ１とメモリ２は並列処理を優先するため１対１で接続されるが、ＰＥ１は隣接しているＰＥのデータを参照するためには、上位装置を介したパスを使う必要がある。
【０００３】
そこで、ＰＥ回路１から直接、隣接メモリまでの接続を、一般的に、図２に示すように、クロスバー（Ｘｂａｒ）３で行う構成が採用される。
【特許文献１】ＵＳＰ5,471,592
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前述した複数のＰＥをもつシステムにおいて、図３に示すように、メモリを介してデータの共有をおこない効率よくスケーラブルに接続拡張した場合にＰＥとメモリ間の接続がＰＥ数に対してリニアに増加しないという問題があった（要するに急激に増加する。）。
【０００５】
メモリの共有システムとしては、特許文献１（US5,471,592；Multi-Processor with crossbar link of processors and memories）以前は、ＳＩＭＤ,ＭＩＭＤのどちらかであったが、近年の複雑なアプリケーション実現のためにはその両方の機能を包含したメモリシステムが必要となる。そこで、その基本的方法が提案されている。
この場合、データを転送するのではなく、ＰＥとメモリの接続先を変更することで、効率的なマルチＰＥ処理を実現しており、次の３つの形態の接続を持つ。
【０００６】
メモリ全体をアクセスできるグローバル接続、
特定のＰＥに接続可能なローカル接続、
ＰＥの実行命令を転送する命令転送経路、
の３つである。
【０００７】
クロスバースイッチのそれぞれの縦方向(ひとつのメモリのつながる方向)(=メモリ毎と等価)にはプライオリティーをつけるための機構があり、ラウンドロビン（round-robin）方式で決定する。
【０００８】
しかしながら、この中では非常にたくさんのＰＥをクロスバー接続した場合の接続の巨大化に対してはまったく触れていないため、ＰＥ数を増加させた場合のクロスバー接続の急激な増大に対してはその対策方法はまったく考えられていない。
【０００９】
また、図４(Ａ)，(Ｂ)に示すように、ＰＥを増加させる場合のデータ転送路の増大を抑えるために、データ転送路の階層化も提案されているが、その場合には階層構造を構成するために接続ポート６の設置など、本来のデータ転送にとっては不要となる機構が必要となり、無駄が多い。
【００１０】
さらに、図５（クロスバーに接続されたアレー構造に対する故障回避）におけるように、クロスバー接続されたアレー構造に対して単純に冗長部分を追加してアレー要素のどれかひとつが故障していた場合に代替アレー要素を利用できるようにするためには、クロスバー接続がアレー要素の数分増加する。
アレー要素が少ない場合はなんとかこの方法でアレー冗長可能であっても、アレー要素が増加してきた場合には冗長化のためのクロスバー接続は急激に増大し、システム実装の足かせとなる。
【００１１】
本発明は、複数の処理装置をメモリを介して効率よくスケーラブルに接続拡張することが可能でしかも簡単な冗長構成を実現可能な共有メモリ装置を提供することにある。
【課題を解決するための手段】
【００１２】
本発明の第１の観点の共有メモリ装置は、複数の処理装置と、前記処理装置によりアクセス可能な複数のメモリモジュールと、前記複数の処理装置のうち、特定の処理装置のみが特定のメモリモジュールに接続可能な接続部と、を有し、前記複数の処理装置は、前記接続部を介して一または複数のメモリモジュールにより形成されるメモリシステムをアクセス可能で、異なる処理装置によりアクセス可能な前記メモリシステムは、異なる処理装置でアクセスされるメモリモジュールを一部共有し、前記複数の処理装置に対して冗長化可能な冗長機能を有する。
【００１３】
好適には、前記冗長機能はシフト冗長機能である。
【００１４】
好適には、前記共有メモリモジュールは、配置位置が近い処理装置同士がアクセス可能に、前記メモリシステムが形成されている。
【００１５】
好適には、同じメモリモジュールに同時に複数の処理装置からアクセス要求があった場合には優先順位付け処理を実行し、その優先順位に従いアクセス制御を行う調停回路を有する。
【００１６】
好適には、外部との通信が可能で、前記複数のメモリモジュールのアクセスを制御するコントローラを有し、前記コントローラは、前記接続部を介して全てのメモリモジュールにアクセス可能である。
【００１７】
本発明の第２の観点の共有メモリ装置は、複数の処理装置と、複数のメモリモジュールと、前記複数の処理装置のうち、特定の処理装置のみが特定のメモリモジュールに接続可能接続部と、外部との通信が可能で、前記複数のメモリモジュールのアクセスを制御するコントローラを有し、前記複数の処理装置は、前記接続部を介して一または複数のメモリモジュールにより形成されるメモリシステムをアクセス可能で、異なる処理装置によりアクセス可能な前記メモリシステムは、異なる処理装置でアクセスされるメモリモジュールを一部共有し、前記複数の処理装置に対して冗長化可能な冗長機能を含む複数の共有メモリ装置を有し、各共有メモリ装置のコントローラがバスにより接続されている。
【００１８】
本発明によれば、たとえば複数の処理装置のいずれかに故障があった場合、この処理装置に対して冗長機能を用いて冗長化処理、たとえばシフト冗長により冗長構成がとられる。
そして、複数の処理装置は、メモリシステムのメモリモジュールに接続部を介してアクセスする。このとき、異なる処理装置によりアクセス可能なメモリシステムは、異なる処理装置でアクセスされるメモリモジュールを一部共有している。すなわち、部分共有している。
【発明の効果】
【００１９】
本発明によれば、複数の処理装置をメモリを介して効率よくスケーラブルに接続拡張することができ、しかも簡単な冗長構成を実現可能である。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施形態を図面に関連付けて説明する。
【００２１】
図６は、本発明の実施形態に係る共有メモリ装置のシステム構成図である。
【００２２】
図６の共有メモリ装置１０は、ダイレクトメモリアクセスコントローラ（ＤＭＡコントローラ）１１と、複数（図５では１６）のＰＥコア１２−０〜１２−１６、接続部としての一部重なりマルチポートおよびシフト冗長回路(以下、オーバーラップマルチポートという)１３、複数（図５では６４個）のメモリモジュールとしてのメモリバンク(たとえばＳＲＡＭバンク)１４−０〜１４−６３、並びに調停回路１５を有する。
本実施形態の共有メモリ装置１０において、ＰＥコア１２−１６は冗長用ＰＥコアとして設けられており、いずれかのＰＥコアに故障がある場合に、後で説明するようなシフト冗長を行うことを可能に構成されている。
【００２３】
図６の共有メモリ装置１０において、メモリバンク１４−０〜１４−６３は隣接する８バンクにより形成される複数のメモリシステムＭ０〜Ｍ１５に区分けされている。
たとえば、メモリシステムＭ０は８個のメモリバンク１４−０〜１４−７により形成されている。
メモリシステムＭ０に隣接するメモリシステムＭ１は、メモリシステムＭ０の４個のメモリバンク１４−４〜１４−７を共有して８個のメモリバンク１４−４〜１４−１１により形成されている。
同様に、メモリシステムＭ１に隣接するメモリシステムＭ２は、メモリシステムＭ１の４個のメモリバンク１４−８〜１４−１１を共有して８個のメモリバンク１４−８〜１４−１５により形成されている。
以下、メモリシステムＭ３〜Ｍ１５は、隣接するメモリシステムの４つのメモリバンクを共有する形態で８つのメモリバンクにより形成されている。
ただし、メモリシステムＭ１５のみ４つのメモリバンクにより形成されている。
【００２４】
図５の共有メモリ装置１０において、各ＰＥコア１２−０〜１２−１５(１６)は、たとえば８バンク(16kByte)ずつアクセス可能となっていて、ＰＥコア１２−０〜１２−１５(１６)のアクセス可能バンクは隣同士など複数のＰＥ間で(8kByte)重なり合っている。
完全クロスバー接続ではなく、一部の接続を行わない。重なったＳＲＡＭバンクへのアクセス競合は調停により回避する。
一つのＰＥコアが直接接続領域を超えてのＳＲＡＭバンクに同時アクセスしたい場合に効率が低下するが、そのようなケースがレアケースとなるように共有バング数を設定することができるため、ここでの転送効率低下は全体のシステム効率の低下にはあまり関与しないようにできる。
【００２５】
このようなメモリバンクなどの部分共有を行う場合に、端ではないＰＥコアが故障した場合に、共有されたメモリバンクの状況が変化したのでは、実行プログラムの変更、データ受け渡しの変更などが発生し、効率が悪化するような冗長方式は許されない。そのためＰＥ間の関係がどのＰＥが故障してもメモリからみたＰＥコアの関係がかわらないようする。代表的方法としてＰＥコアに対してシフト冗長を行う。
【００２６】
図７は、シフト冗長構成を採用する場合のシフトスイッチの挿入方法について説明するための図である。
【００２７】
図７において、ＰＥコア１２−０〜１２−Ｎ，１２−Ｒ（冗長用ＰＥコア）と一般論理回路２０との間にシフトスイッチ回路２１−０〜２１−Ｎを挿入して、ＰＥコアの冗長化を行う様子を示した。
シフトスイッチ回路２１−０〜２１−Ｎは、論理回路２０側かの信号を選択するマルチプレクサ（ｍｕｘ１）２１１と、ＰＥコア側の信号を選択するマルチプレクサ（ｍｕｘ２）２１２を有している。
【００２８】
それぞれのＰＥコアが故障した場合に論理的に隣接する他のＰＥコアにその信号をまわすことで、機能を論理的に隣接したＰＥコアに受け渡し、さらに機能を受け渡されたＰＥコアは反対側の隣のＰＥコアに自分の機能を受け渡してゆき、冗長ＰＥコア１２−Ｒにたどり着くまで同様の受け渡しを行う。
たとえば、ＰＥコア１２−１が故障した場合には、ＰＥコア１２−１への入力信号はＰＥコア１２−２にも入力されていて、ＰＥコア１２−２では本来ＰＥコア１２−２に入力（接続）されていた入力信号ではなく、ＰＥコア１２−１への入力信号を用いて演算処理などを行う。
さらに、ＰＥコア１２−１から一般論理回路２０への出力信号は、ＰＥコア１２−２からの出力信号を伝達するようにマルチプレクサ２２２の選択信号を制御する。
【００２９】
不良ＰＥコアへの入力変化を停止することで、消費電力の削減を行う。パワーゲートなどで不良ＰＥコアの電源を遮断する場合は不要である。
スイッチ回路内のクランプはほぼ無視できる程度であることから、スイッチ回路内のゲート数を削減して、全体の規模削減と消費電力削減にあまりつながらない。
【００３０】
図８は、本実施形態に係る共有メモリ装置の信号経路の接続例を示す図である。
なお、図８においては、理解を容易にするために、各メモリシステムは、４つのメモリバンクにより構成している。
【００３１】
メモリシステムＭ０はメモリバンク１４−０〜１４−３により形成され、メモリシステムＭ１はメモリバンク１４−２〜１４−５により形成され、メモリシステムＭ２はメモリバンク１４−４〜１４−７により形成され、メモリシステムＭ３はメモリバンク１４−６〜１４−９により形成されている。
【００３２】
図８の共有メモリ装置１０Ａは、各ＰＥコア１２−０〜１２−３が４個のメモリバンクにアクセスする経路が存在する。
ただし、各ＰＥコア１２−０〜１２−３と通常のアクセス経路１３１との間にシフト冗長処理経路部１３２と、各ＰＥコア１２−０〜１２−３と調停回路１５との間にシフト冗長処理経路部１３３とを有する。
シフト冗長処理経路部１３２，１３３において、○の部分は配線同士のスイッチ機構である。
【００３３】
ＰＥコア１２−０は、冗長経路１３２１を介して通常の経路１３１に接続され、メモリモジュール１４−０〜１４−３に対してアクセス可能である。
ＰＥコア１２−１は、冗長経路１３２１を介して通常の経路１３１に接続され、メモリモジュール１４−０〜１４−３に対してアクセス可能である。また、ＰＥコア１２−１は、冗長経路１３２２を通して通常の経路１３１に接続され、メモリモジュール１４−２〜１４−５にアクセス可能である。
ＰＥコア１２−２は、冗長経路１３２２を介して通常の経路１３１に接続され、メモリモジュール１４−２〜１４−５に対してアクセス可能である。また、ＰＥコア１２−２は、冗長経路１３２３を通して通常の経路１３１に接続され、メモリモジュール１４−４〜１４−７にアクセス可能である。
ＰＥコア１２−３は、冗長経路１３２３を介して通常の経路１３１に接続され、メモリモジュール１４−４〜１４−７に対してアクセス可能である。また、ＰＥコア１２−３は、冗長経路１３２４を通して通常の経路１３１に接続され、メモリモジュール１４−６〜１４−９にアクセス可能である。
ＰＥコア１２−４は、冗長経路１３２４を介して通常の経路１３１に接続され、メモリモジュール１４−６〜１４−９に対してアクセス可能である。
【００３４】
また、ＰＥコア１２−０は冗長経路１３３１を通して調停回路１５に信号を送出可能である。調停回路１５は冗長経路１３３２を通して信号をＰＥコア１２−０に送出可能である。
ＰＥコア１２−１は冗長経路１３３１または１３３４を通して調停回路１５に信号を送出可能である。調停回路１５は冗長経路１３３２または１３３４を通して信号をＰＥコア１２−１に送出可能である。
ＰＥコア１２−２は冗長経路１３３３または１３３５を通して調停回路１５に信号を送出可能である。調停回路１５は冗長経路１３３４または１３３６を通して信号をＰＥコア１２−２に送出可能である。
ＰＥコア１２−３は冗長経路１３３５または１３３７を通して調停回路１５に信号を送出可能である。調停回路１５は冗長経路１３３６または１３３８を通して信号をＰＥコア１２−３に送出可能である。
ＰＥコア１２−４は冗長経路１３３７を通して調停回路１５に信号を送出可能である。調停回路１５は冗長経路１３３８を通して信号をＰＥコア１２−４に送出可能である。
【００３５】
本実施形態において、ＰＥコアが最初に処理する外部からのデータ転送は、ＤＭＡコントローラ１１により実現される。
図６において、ＤＭＡ１１を用いたデータ転送方法を説明する。
【００３６】
外部からのデータを特定のメモリバンクに転送または特定のメモリバンクのデータを外部に出力する場合、ＤＭＡコントローラ１１にＰＥコア１２−０〜１２−３から転送要求が入ると、ＤＭＡコントローラ１１は指定されたアドレスへの転送要求を調停回路１５に伝達して、転送許可を待つ。
転送許可が調停回路１５からおりたならば、外部データバスと特定のメモリを接続し、目的のアドレスを順に出力しながら外部データバスに対する転送制御などを行い、外部データバスとメモリの間でデータ伝送を実行する。シフト冗長機構はメモリの部分共有接続と同様に配線同士のスイッチ機構により実現できる。
【００３７】
次に、ＰＥ間でのデータ共有と転送の例を説明する。
図８において、ＰＥコア１２−０の入力データがメモリバンク１４−０に置かれ、ＰＥコア１２−０はメモリバンク１４−０の内容を読んで処理を行い、メモリバンク１４−２とメモリバンク１４−３に結果を出力する。
有効なデータをメモリバンク１４−２またはメモリバンク１４−３に出力すると、ＰＥコア１２−０はメモリバンク１４−２の特定アドレスＡ−１の有効確認ビットをオンとする。
ＰＥコア１２−１は自分の処理が完了した時点でＰＥコア１２−０がアドレスＡ−１をオンにしているかどうかを検査して、オンであればメモリバンク１４−２またはメモリバンク１４−３からのデータ読み出しと演算処理を開始する。
ＰＥコア１２−１は、メモリバンク１４−２とメモリバンク１４−３に置かれたデータを入力として処理してその出力をメモリバンク１４−４に行う。ＰＥコア１２−２は処理が完了するとＤＭＡコントローラ１１に対して外部へのデータ転送要求を行い、ＤＭＡコントローラ１１はメモリバンク１４−４の有効データを外部バスを経由して出力する。
各ＰＥコア１２−０〜１２−３と各メモリバンクのデータ転送は、各ＰＥコアが調停回路１５にデータ転送要求アドレスを伝達して調停回路１５が他のＰＥコア、ＤＭＡコントローラとの優先順位をround-robin方式で決定して、ＰＥコアに対して転送許可を発行する。
【００３８】
図９は、データ転送機構の実装例を示す図であって、メモリの部分共有のためのマルチプレクサとシフト冗長のためのマルチプレクサをひとつのマルチプレクサＭＵＸに機能を合体させた実装の例を示した図である。
【００３９】
メモリの部分共有と、シフト冗長をばらばらに実装するのではなく、両方を同時に実現する回路方式を選択することで、冗長のための回路増加を抑えることが可能となる。
点線で図示した配線がシフト冗長のために付加した配線を示している。ここでの例は実稼動するＰＥ数が４で、メモリバンクは全部で１０個、各ＰＥ間ので部分共有されたメモリバンク数は２バンクの場合を示している。すなわち、図８の構成に対応している。
【００４０】
ＰＥコア１２−０への入力はメモリバンク１４−０，１４−１，１４−２，１４−３のどれかひとつを選択可能なように４：１マルチプレクサＭＵＸ１でデータ入力を選択する。
ＰＥコア１２−０の出力はメモリバンク１４−０，１４−１，１４−２，１４−３のどれかひとつにデータ転送できるようにそれぞれのメモリバンクの入力のマルチプレクサＭＵＸ２のひとつの入力に接続されている。
ＰＥコア１２−１ではその入力はシフト動作のためにＰＥコア１４−０の機能を代替する場合に必要なＰＥコア１２−０へのメモリバンクからの入力としてメモリバンク１４−０，１４−１、通常の動作用としてメモリバンク１４−２，１４−３，１４−４，１４−５からの出力を選択的に入力するための６：１マルチプレクサＭＵＸ１により入力データの選択を行う。
ＰＥコア１２−１の出力は、ＰＥコア１２−０の機能を代替するためのシフト冗長のための出力先として、メモリモジュール１４−０，１４−１、通常の動作のための出力先としてメモリモジュール１４−２，１４−３，１４−４，１４−５の入力マルチプレクサＭＵＸ２に接続されている。
このような接続を行うことで、ＰＥコア１２−０はメモリモジュール１４−０，１４−１，１４−２，１４−３へのデータの入出力を行うことができ、ＰＥコア１２−１は通常はメモリモジュール１４−２，１４−３，１４−４，１４−５へのデータの入出力を行うことができる。
ＰＥコア１２−０が故障した場合には、ＰＥコア１２−１がその代替ＰＥとして機能するために、ＰＥコア１２−１はメモリモジュール１４−０，１４−１へのデータ入出力が行えるようになっている。
他のＰＥコア１２−２，１２−３，１２−Ｒに関しても同様の動作ができるように入力にマルチプレクサを接続して入力データの選択を行うことで、部分共有メモリとシフト冗長を同時に実現できるようになっている。
【００４１】
図１０は、ＰＥ(n)とＰＥ(n+1)におけるＭＥＭ（メモリバンク）(2n)へのアクセス調停のフローチャートである。
以下に、図１０においてＰＥ(n)とＰＥ(n+1)におけるＭＥＭ(2n)へのアクセス調停処理方法を説明する。なお、ここではＰＥコアをＰＥとして記している。
【００４２】
チップのリセット直後スタートからはじまり、まずはＰＥ(n)のＭＥＭ(2n)に対するアクセス要求を確認する(ＳＴ１)。要求がない場合はＰＥ(n+1)のＭＥＭ(2n)へのアクセス要求を確認フェーズに移行する(2)。
ＰＥ(n)のＭＥＭ(2n)に対するアクセス要求があった場合には、ＰＥ(n)にＭＥＭ(2n)に対するアクセス許可を与え、ＰＥ(n+1)にはＭＥＭ(2n)に対するアクセス拒否を行う(ＳＴ２)。
一定の時間をカウントするタイマーに初期値を設定する(ＳＴ３)。タイマーはカウントダウンを開始する。再びＰＥ(n)のＭＥＭ(2n)に対するアクセス要求を確認し、要求がない場合には(2)に移行する。あいかわらずアクセス要求がある場合には、タイマーのカウント値を確認してタイムアウトしていない場合には再びＰＥ(n)のＭＥＭ(2n)に対するアクセス要求確認を繰り返す。タイムアウトしていた場合には(2)に移行する（ＳＴ４，ＳＴ５）。
【００４３】
(2)においても同様な処理を行う。ＰＥ(n+1)のＭＥＭ(2n)に対するアクセス要求を確認する（ＳＴ６）。要求がない場合はＰＥ(n)のＭＥＭ(2n)へのアクセス要求を確認フェーズに移行する(スタート)。
ＰＥ(n+1)のＭＥＭ(2n)に対するアクセス要求があった場合には、ＰＥ(n+1)にＭＥＭ(2n)に対するアクセス許可を与え、ＰＥ(n)にはＭＥＭ(2n)に対するアクセス拒否を行う(ＳＴ７)。
一定の時間をカウントするタイマーに初期値を設定する(ＳＴ８)。タイマーはカウントダウンを開始する。再びＰＥ(n+1)のＭＥＭ(2n)に対するアクセス要求を確認し、要求がない場合には(スタート)に移行する。あいかわらずアクセス要求がある場合には、タイマーのカウント値を確認してタイムアウトしていない場合には再びＰＥ(n+1)のＭＥＭ(2n)に対するアクセス要求確認を繰り返す。タイムアウトしていた場合には(スタート)に移行する（ＳＴ９，ＳＴ１０）。
【００４４】
図１１は、部分共有マルチポート機構PEの階層単位増設方法を説明するための図である。  次に、ＤＭＡ転送のネックとなった場合の階層単位での増設方法を説明する。
【００４５】
ＰＥコア同士でのデータ転送に関しては、大量のデータ転送がぶつかることでの性能低下は大幅に減らすことが可能であるが、外部とメモリの間でのデータ転送はＰＥコアが複数の機能を同時に処理している場合には衝突する確率が増大する。
そのような場合には、図１１に示すように、ＰＥアレーを階層化することにより対処する。
図６の基本構成と同様に、ＰＥアレーを１６個とＤＭＡコントローラ１個をひとつの階層としてＡＸＩバス(Advanced eXtensible Interfaceバス）２０を経由して接続するメモリシステム１００を構成する。
このようなAXIの階層が少しでもはいらないようにすることは重要であり、本発明では、この階層を極力減らすことに寄与するものである。
【００４６】
以上説明したように、本実施形態によれば、複数のＰＥ（処理装置）１２−０〜１２−１５と、処理装置によりアクセス可能な複数のメモリモジュール１４−０〜１４−６３と、複数の処理装置のうち、特定の処理装置のみが特定のメモリモジュールに接続可能な接続部１３と、を有し、複数の処理装置は、接続部を介して一または複数のメモリモジュールにより形成されるメモリシステムＭ０〜Ｍ１５をアクセス可能で、異なる処理装置によりアクセス可能なメモリシステムは、異なる処理装置でアクセスされるメモリモジュールを一部共有し、さらに、同じメモリモジュールに同時に複数の処理装置からアクセス要求があった場合には優先順位付け処理を実行し、その優先順位に従いアクセス制御を行う調停回路１５を有しかつ、シフト冗長構成を有することから、次のような効果が実現可能となっている。
【００４７】
各ＰＥが利用する作業用メモリモジュール（Memory Module）を使ってそのままＰＥ間のデータ転送に利用することで、通信のためのメモリモジュールを削減可能である。
メモリへのアクセス（Access）方向を変更するのみであり、通信時間が限りなくゼロになる。
ＰＥ数が増加してもＰＥとメモリ間の接続資源の量はＰＥの数にリニアに増加するため、必要なだけのＰＥを簡単にスケーラブル(Scalable)に増設可能である。
全てのＰＥが全てのメモリモジュールに接続可能とすることは資源を使ったわりには効果は少ないが、本実施形態では、限定的なＰＥ間のアクセス調停になるため、同一メモリへのアクセス競合調停が簡素になる。
また、ＰＥ間のメモリ共有の関係を変化させることなく冗長構造が可能となり歩留まりのいちじるしい改善につながる。
複数のＰＥをスケーラブルに増加させながら冗長効果により製造歩留まりがいちじるしく向上する。
部分共有メモリ化処理並びに冗長処理を別々に行うよりもリソースをシェアできる部分があり同時に行うことで回路規模を減らすことができる。
【図面の簡単な説明】
【００４８】
【図１】マルチプロセッサの一般的なアーキテクチャを示す図である。
【図２】クロスバーを用いたアーキテクチャを示す図である。
【図３】ＰＥ増設の課題を説明するための図である。
【図４】ＰＥを増加させる場合のデータ転送路の増大を抑えるためにポートを用いた構成例を示す図である。
【図５】クロスバーに接続されたアレー構造に対する故障回避の方法を示し図である。
【図６】本発明の実施形態に係る共有メモリ装置のシステム構成図である。
【図７】シフト冗長構成を採用する場合のシフトスイッチの挿入方法について説明するための図である。
【図８】本実施形態に係る共有メモリ装置の信号経路の接続例を示す図である。
【図９】データ転送機構の実装例を示す図であって、メモリの部分共有のためのマルチプレクサとシフト冗長のためのマルチプレクサをひとつのマルチプレクサＭＵＸに機能を合体させた実装の例を示した図である。
【図１０】ＰＥ(n)とＰＥ(n+1)におけるＭＥＭ（メモリバンク）(2n)へのアクセス調停のフローチャートである。
【図１１】部分共有マルチポート機構PEの階層単位増設方法を説明するための図である。
【符号の説明】
【００４９】
１０，１０Ａ，１０Ｂ・・・共有メモリ装置、１１・・・ＤＭＡコントローラ、１２−０〜１２−１５・・・ＰＥコア（処理装置）、１３・・・一部重なりマルチポートおよびシフト冗長回路、１４−０〜１４−６３・・・メモリバンク（メモリモジュール）、１５・・・調停回路、２０・・・ＡＸＩバス、Ｍ０〜Ｍ１５・・・・メモリシステム。
【図１】
2008077151.tif 000003
【図２】
2008077151.tif 000004
【図３】
2008077151.tif 000005
【図４】
2008077151.tif 000006
【図５】
2008077151.tif 000007
【図６】
2008077151.tif 000008
【図７】
2008077151.tif 000009
【図８】
2008077151.tif 000010
【図９】
2008077151.tif 000011
【図１０】
2008077151.tif 000012
【図１１】
2008077151.tif 000013