(57)【要約】【課題】  共有メモリへの読書きに起因するプログラム処理効率の低下を防止すること。【解決手段】  個々に半導体チップで形成された各プロセッサ１Ａ〜１Ｎが、アクセス調停制御に応じてプロセッサ外部の共有メモリ２に共通バス９を介してデータの共有・交換を行うマルチプロセッサシステムにおいて、各プロセッサ１の内蔵メモリ１２に、共有メモリ２のデータの共有・交換に使用される記憶容量と同容量の仮想共有メモリ１２１を備え、演算プロセッサ１１とは独立に指定された共有メモリ２又は仮想共有メモリ１２１の領域から領域へ複写動作を行うＤＭＡプロセッサ１４を備え、各プロセッサ１の外部に、ＤＭＡプロセッサ１４を起動するトリガ信号を発生するトリガ信号発生器７と、そのトリガ信号を各ＤＭＡプロセッサ１４に伝達するトリガ信号伝達バス８とを備え、各ＤＭＡプロセッサ１４の動作期間が互いに重複しないようにトリガ信号を入力する。【選択図】      図１
2006293836.tif 000002
【特許請求の範囲】
【請求項１】
個々に半導体チップで形成され、当該半導体チップ内に演算プロセッサと、データ読書き可能な内蔵メモリと、当該半導体チップ外部のデータバス間でデータの入出力を行うインタフェースを有する各プロセッサが、各プロセッサ外部のアクセス調停手段のアクセス調停制御に応じてプロセッサ外部の共有メモリに共通バスを介してデータを読書きしてデータの共有・交換を行うマルチプロセッサシステムにおいて、
前記各プロセッサの内部に、前記共有メモリのデータの共有・交換に使用される記憶容量と同容量の仮想共有メモリを前記内蔵メモリに備えると共に、前記演算プロセッサとは独立に指定された共有メモリ又は仮想共有メモリの記憶領域から記憶領域へ複写動作を行うＤＭＡプロセッサを備え、
前記各プロセッサの外部に、前記ＤＭＡプロセッサを起動するトリガ信号を発生する発生手段と、この発生手段からのトリガ信号を各プロセッサのＤＭＡプロセッサに伝達する伝達バスとを備え、
前記各プロセッサのＤＭＡプロセッサの動作期間が互いに重複しないように前記トリガ信号を入力する
ことを特徴とするマルチプロセッサシステム。
【請求項２】
前記共有メモリ及び前記仮想共有メモリは、前記各プロセッサ毎の書込み用の領域に区分けされ、前記演算プロセッサは自プロセッサ内の仮想共有メモリの自プロセッサ用書込み領域へ他プロセッサに通知したいデータを書込み、当該仮想共有メモリの自プロセッサ用書込み領域以外の領域から他のプロセッサが通知したデータを読み出すことで、データの共有・交換を行う
ことを特徴とする請求項１に記載のマルチプロセッサシステム。
【請求項３】
前記共有メモリ及び前記仮想共有メモリは、前記各プロセッサ毎の書込み領域に区分けされ、自プロセッサ内部のＤＭＡプロセッサは、前記トリガ信号に応じて、前記仮想共有メモリの自プロセッサ用書込み領域から前記共有メモリの自プロセッサ用書込み領域への複写動作と、前記共有メモリの自プロセッサ用書込み領域以外の記憶領域から前記仮想共有メモリの自プロセッサ用書込み領域以外の記憶領域への複写動作を行うことで、データの共有・交換を行う
ことを特徴とする請求項１または２に記載のマルチプロセッサシステム。
【請求項４】
前記ＤＭＡプロセッサに、データの高速処理を行う高速用ＤＭＡプロセッサと、データの低速処理を行う低速用ＤＭＡプロセッサとを備え、
前記共有メモリ及び前記仮想共有メモリの記憶領域を、前記共有・交換したいデータの更新頻度に対応して更新頻度の高い高速用領域と、更新頻度の低い低速用領域とに分け、前記高速用ＤＭＡプロセッサによって前記高速用領域にアクセスし、前記低速用ＤＭＡプロセッサによって前記低速用領域にアクセスするようにした
ことを特徴とする請求項１から３の何れか１項に記載のマルチプロセッサシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器や電子システムに組み込まれるマルチプロセッサシステムに関する。
【背景技術】
【０００２】
図１２は、従来のマルチプロセッサシステムの構成を示すブロック図である。この図１２に示すマルチプロセッサシステムは、非特許文献１でも略同様の構成例が紹介されている組込み用マルチプロセッサシステムの典型的な構成例である。
図１２に示すマルチプロセッサシステムは、各々が半導体チップにより形成されたｎ個のプロセッサ１Ａ〜１Ｎと、これらプロセッサ１Ａ〜１Ｎの各内部に、半導体チップ内のＣＰＵ（中央処理装置）である演算プロセッサ１１Ａ〜１１Ｎと、これら演算プロセッサ１１Ａ〜１１Ｎに接続された読書き可能な内蔵メモリ１２Ａ〜１２Ｎと外部バスＩＦ１３Ａ〜１３Ｎとを有し、また、各外部バスＩＦ（インタフェース）１３Ａ〜１３Ｎにイネーブル付バスドライバ４Ａ〜４Ｎを介して接続された共有メモリ２と、各外部バスＩＦ１３Ａ〜１３Ｎに接続されたアクセス調停装置３とを備えて構成されている。
【０００３】
なお、以下の説明において各構成要素の数字符号の後ろに付したＡ〜Ｎ等のサフィックスは省略する場合もある。
更に説明すると、外部バスＩＦ１３Ａ〜１３Ｎは、各プロセッサ１Ａ〜１Ｎ、即ち半導体チップの外部のバスへのアクセス制御を行う半導体チップ内のインタフェースコントローラである。共通バス９は、各プロセッサ１Ａ〜１Ｎが共有メモリ２へアクセスする時に使用する共通のバスである。
【０００４】
アクセス調停装置３は、複数のアクセス要求があった場合に、１つのアクセスのみ選択して許可する調停を行う。このアクセス調停装置３と各プロセッサ１Ａ〜１Ｎ間のアクセス要求信号５Ａ〜５Ｎは、アクセス許可を要求する信号であり、アクセス許可信号６Ａ〜６Ｎは、アクセス許可の要求信号５Ａ〜５Ｎに対するアクセスを許可する信号である。
このマルチプロセッサシステムでは、ｎ個のプロセッサ１Ａ〜１Ｎで共通に使用する共有メモリ２を備え、各プロセッサ１Ａ〜１Ｎによって共有メモリ２の予め約束されたアドレスに書込み又は読出しを行うことで、データの共有と交換を行っている。
【０００５】
共有メモリ２及び共通バス９は、各プロセッサ１Ａ〜１Ｎで同時に使用することが出来ないため、アクセス調停装置３が設けられている。共有メモリ２へアクセスしたいプロセッサ（例えば１Ａ）は、第１ステップとしてアクセス要求信号５Ａを出力し、第２ステップでアクセス調停装置３からアクセス許可信号６Ａを受け取ったら、第３ステップでイネーブル付バスドライバ４Ａを開き、共通バス９を介して共有メモリ２への読書きを行う。
【０００６】
各プロセッサ１Ａ〜１Ｎで同時に２つ以上のアクセス要求６が重なった場合には、アクセス調停装置３が決められた規則に従いアクセス要求の内の１つを選択して、それに対するアクセス許可信号６を返答するようになっており、共通バス９と共通メモリ２を複数のプロセッサが同時に使用しないようになっている。
【非特許文献１】「マイクロプロセッサ技術：昭和６４年６月１０日初版発行、編集兼発行者・電気学会、発売元・オーム社」の「４．３マルチプロセッサシステム／４．３．３具体例／（７）プロセス制御システム」
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、従来のマルチプロセッサシステムにおいて、共有メモリ２は、各プロセッサ１Ａ〜１Ｎの半導体チップ外部に設置されるので、演算プロセッサ１１Ａ〜１１Ｎの動作クロックの高速化と共に、同じ半導体チップ上にある内蔵メモリ１２Ａ〜１２Ｎに対する読込み・書込み動作に要する時間に対して、外部バスＩＦ１３Ａ〜１３Ｎを介し共有メモリ２等の半導体チップ外部に対する読込み・書込み動作に要する時間が相対的に長くかかるようになってきた。
【０００８】
汎用的な演算プロセッサにおいては、特に読込み動作について、演算プロセッサ１１Ａ〜１１Ｎに読込むデータが何時使用されるかはプログラム次第であって不明である。このため、読込みデータが演算プロセッサ１１Ａ〜１１Ｎの内部レジスタに格納されるまで、プログラム処理が停止する。
これらの理由により、マルチプロセッサシステムにて必須となる共有メモリ２への読み書きが、プログラム処理効率を低下させるという問題がある。
本発明は、このような課題に鑑みてなされたものであり、共有メモリへの読書きに起因するプログラム処理効率の低下を防止することができる装置及び方法を提供することを目的としている。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の請求項１によるマルチプロセッサシステムは、個々に半導体チップで形成され、当該半導体チップ内に演算プロセッサと、データ読書き可能な内蔵メモリと、当該半導体チップ外部のデータバス間でデータの入出力を行うインタフェースを有する各プロセッサが、各プロセッサ外部のアクセス調停手段のアクセス調停制御に応じてプロセッサ外部の共有メモリに共通バスを介してデータを読書きしてデータの共有・交換を行うマルチプロセッサシステムにおいて、前記各プロセッサの内部に、前記共有メモリのデータの共有・交換に使用される記憶容量と同容量の仮想共有メモリを前記内蔵メモリに備えると共に、前記演算プロセッサとは独立に指定された共有メモリ又は仮想共有メモリの記憶領域から記憶領域へ複写動作を行うＤＭＡプロセッサを備え、前記各プロセッサの外部に、前記ＤＭＡプロセッサを起動するトリガ信号を発生する発生手段と、この発生手段からのトリガ信号を各プロセッサのＤＭＡプロセッサに伝達する伝達バスとを備え、前記各プロセッサのＤＭＡプロセッサの動作期間が互いに重複しないように前記トリガ信号を入力することを特徴とする。
【００１０】
この構成によれば、例えば、ＤＭＡプロセッサが、自プロセッサの動作期間中に自所属プロセッサ内の仮想共有メモリの自領域からデータを読出し、これを共有メモリの自領域へ書き込むと共に、共有メモリの他領域からデータを読み出して自所属プロセッサ内の仮想共有メモリの他領域へ書き込むことができる。また、プロセッサの演算プロセッサが、他のプロセッサに通知したいデータを仮想共有メモリの自領域へ書込み、他のプロセッサから通知されたデータを仮想共有メモリの他領域から読み出すことで、データの共有・交換を行うことができる。これによって、プロセッサの仮想共有メモリの自領域への書込み頻度の間隔が、ＤＭＡ起動用のトリガ信号の周期より長ければ、その書込みは共有メモリを介して他のプロセッサ内の仮想共有メモリへ複写される。従って、各プロセッサの演算プロセッサが、データの共有・交換を行うために半導体チップ外部の共有メモリに直接アクセスする必要はなく、同じ半導体チップ上にある内蔵メモリ内の仮想共有メモリへの書込み・読出しを行えば良い。
【００１１】
また、本発明の請求項２によるマルチプロセッサシステムは、請求項１において、前記共有メモリ及び前記仮想共有メモリは、前記各プロセッサ毎の書込み用の領域に区分けされ、前記演算プロセッサは自プロセッサ内の仮想共有メモリの自プロセッサ用書込み領域へ他プロセッサに通知したいデータを書込み、当該仮想共有メモリの自プロセッサ用書込み領域以外の領域から他のプロセッサが通知したデータを読み出すことで、データの共有・交換を行うことを特徴とする。
【００１２】
この構成によれば、例えばプロセッサＡの演算プロセッサが、他のプロセッサＢ〜Ｎに通知したいデータを仮想共有メモリの領域Ａへ書込み、他のプロセッサＢ〜Ｎから通知されたデータを仮想共有メモリの領域Ｂ〜Ｎから読み出すことで、データの共有・交換を行う。他のプロセッサＢ〜Ｎでも同様のことを行う。このような動作によって、各プロセッサの演算プロセッサは、データの共有・交換を行うために半導体チップ外部の共有メモリに直接アクセスする必要はなく、同じ半導体チップ上にある内蔵メモリ内の仮想共有メモリへの書込み・読出しを行えば良い。
【００１３】
また、本発明の請求項３によるマルチプロセッサシステムは、請求項１または２において、前記共有メモリ及び前記仮想共有メモリは、前記各プロセッサ毎の書込み領域に区分けされ、自プロセッサ内部のＤＭＡプロセッサは、前記トリガ信号に応じて、前記仮想共有メモリの自プロセッサ用書込み領域から前記共有メモリの自プロセッサ用書込み領域への複写動作と、前記共有メモリの自プロセッサ用書込み領域以外の記憶領域から前記仮想共有メモリの自プロセッサ用書込み領域以外の記憶領域への複写動作を行うことで、データの共有・交換を行うことを特徴とする。
【００１４】
この構成によれば、例えばプロセッサＡのＤＭＡプロセッサが、自プロセッサの動作期間中に、自所属プロセッサＡ内の仮想共有メモリの領域Ａからデータを読出し、これを共有メモリの領域Ａへ書き込むと共に、共有メモリの領域Ｂ〜Ｎからデータを読み出して自所属プロセッサ内の仮想共有メモリの領域Ｂ〜Ｎへ書き込む。これと同様に、プロセッサＢのＤＭＡプロセッサが、自プロセッサの動作期間中に、自所属プロセッサＡ内の仮想共有メモリの領域Ｂからデータを読出し、これを共有メモリの領域Ｂへ書き込むと共に、共有メモリの領域Ａ・Ｃ〜Ｎからデータを読み出して自所属プロセッサＢ内の仮想共有メモリの領域Ａ・Ｃ〜Ｎへ書き込む。以降、他のプロセッサＣ〜Ｎでも同様のことを行う。このような動作によって、プロセッサの仮想共有メモリの自領域への書込み頻度の間隔が、ＤＭＡ起動用のトリガ信号の周期より長ければ、その書込みは共有メモリを介して他のプロセッサ内の仮想共有メモリへ複写される。
【００１５】
また、本発明の請求項４によるマルチプロセッサシステムは、請求項１から３の何れか１項において、前記ＤＭＡプロセッサに、データの高速処理を行う高速用ＤＭＡプロセッサと、データの低速処理を行う低速用ＤＭＡプロセッサとを備え、前記共有メモリ及び前記仮想共有メモリの記憶領域を、前記共有・交換したいデータの更新頻度に対応して更新頻度の高い高速用領域と、更新頻度の低い低速用領域とに分け、前記高速用ＤＭＡプロセッサによって前記高速用領域にアクセスし、前記低速用ＤＭＡプロセッサによって前記低速用領域にアクセスするようにしたことを特徴とする。
【００１６】
この構成によれば、例えばプロセッサＡの演算プロセッサが、高速（又は高頻度）に他のプロセッサＢ〜Ｎに通知したいデータを仮想共有メモリの自高速用領域に書込み、他のプロセッサＢ〜Ｎが高速（又は高頻度）に通知したいデータを仮想共有メモリの他高速用領域から読み出す。一方、低速（又は低頻度）でも良いデータは低速用領域を使用する。このようにして更新したい頻度に応じて効率良くデータの共有・交換を行うことができる。
【発明の効果】
【００１７】
以上説明したように本発明によれば、共有メモリへの読書きに起因するプログラム処理効率の低下を防止することができるという効果がある。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を、図面を参照して説明する。但し、本明細書中の全図において相互に対応する部分には同一符号を付し、重複部分においては後述での説明を適時省略する。
図１は、本発明の実施の形態に係るマルチプロセッサシステムの構成を示す図である。
図１に示すマルチプロセッサシステムは、図１２に示した従来のマルチプロセッサシステムの構成要素に、次に説明する要素が加えられて構成されている。
【００１９】
各々が半導体チップによって形成される各プロセッサ１Ａ〜１Ｎの読書き可能な内蔵メモリ１２Ａ〜１２Ｎに、仮想共有メモリ１２１Ａ〜１２１Ｎと称する記憶領域（単に、領域とも称す）を設けた。
仮想共有メモリ１２１の容量は、共有メモリ２で実際にデータ共有を行うために使用される記憶容量と同じであり、記憶領域の割付けは、図２（ａ）に示すように共有メモリ２及び仮想共有メモリ１２１が共通となっており、各プロセッサ１Ａ〜１Ｎの専用書込み領域Ａ〜Ｎが割付けられている。
【００２０】
図２（ｂ）に示すように、共有メモリ２において、領域Ａは、プロセッサ１ＡのＤＭＡプロセッサ１４Ａがデータを書込むと共に、他のプロセッサ１Ｂ〜１ＮのＤＭＡプロセッサ１４Ｂ〜１４Ｎが書込まれたデータを読出す領域である。これと同様に他の領域Ｂ〜Ｎも、自プロセッサ１のＤＭＡプロセッサ１４がデータを書込むと共に、他のプロセッサ１のＤＭＡプロセッサ１４が書込まれたデータを読出す領域となっている。
【００２１】
仮想共有メモリ１２１は、図２（ｃ）に示すようにプロセッサ１Ａの仮想共有メモリ１２１Ａを代表すると、領域Ａは、自プロセッサ１Ａの演算プロセッサ１１Ａがデータを書込むと共に、自プロセッサ１ＡのＤＭＡプロセッサ１４Ａが書込まれたデータを読み出して共有メモリ２の自プロセッサ１Ａへの割付領域に書込むための領域である。
また、他の領域Ｂ〜Ｎは、自プロセッサ１ＡのＤＭＡプロセッサ１４Ａが共有メモリ２の他プロセッサ１Ｂ〜１Ｎへの割付領域から読み出したデータを書込む領域である。
【００２２】
更に、全ての領域Ａ〜Ｎは、自プロセッサ１Ａの演算プロセッサ１１が書込まれたデータを読出し可能な領域となっている。
この他、各プロセッサ１Ａ〜１Ｎにトリガ信号伝達バス８を介して接続されたトリガ発生器７を設けた。トリガ発生器７は、ＤＭＡプロセッサ１４を起動するためのトリガ信号を発生する。トリガ信号伝達バス８は、トリガ発生器７から発生されたトリガ信号を伝達する。なお、トリガ信号伝達バス８は、複数の信号線で構成される場合もある。
【００２３】
これら新規追加要素は次のように使用される。
ＤＭＡプロセッサ１４は、図３の時刻ｔ１〜ｔ３に示すように、トリガ信号発生器７の発生する周期的なＤＭＡ起動トリガ信号に基づいて、各プロセッサ１Ａ〜１ＮのＤＭＡプロセッサ１４Ａ〜１４Ｎの動作期間が、ｔ１Ａ〜ｔ１Ｎ，ｔ２Ａ〜ｔ２Ｎで示すように互いに重複しないように起動される。
例えば、プロセッサ１ＡのＤＭＡプロセッサ（図には単にＤＭＡと記載）１４Ａは、自プロセッサ１４Ａの動作期間ｔ１Ａ中に、図２（ｃ）に示すように自所属プロセッサ１Ａ内の仮想共有メモリ１２１Ａの領域Ａからデータを読出し、これを図２（ｂ）に示すように共有メモリ２の領域Ａへ書き込むと共に、共有メモリ２の領域Ｂ〜Ｎからデータを読み出して自所属プロセッサ１Ａ内の仮想共有メモリ１２１Ａの領域Ｂ〜Ｎへ書き込む。
【００２４】
これと同様に、プロセッサ１ＢのＤＭＡプロセッサ１４Ｂは、自プロセッサ１４Ｂの動作期間ｔ１Ｂ中に、自所属プロセッサ内の仮想共有メモリ１２１Ｂの領域Ｂからデータを読出し、これを共有メモリ２の領域Ｂへ書き込むと共に、共有メモリ２の領域Ａ・Ｃ〜Ｎからデータを読み出して自所属プロセッサ１Ｂ内の仮想共有メモリ１２１Ｂの領域Ａ・Ｃ〜Ｎへ書き込む。以降、プロセッサ１Ｃ〜１Ｎでも同様のことが行われる。
【００２５】
また、プロセッサ１Ａの演算プロセッサ１１Ａは、他のプロセッサ１Ｂ〜１Ｎに通知したいデータを仮想共有メモリ１２１Ａの領域Ａへ書込み、他のプロセッサ１Ｂ〜１Ｎから通知されたデータを仮想共有メモリ１２１Ａの領域Ｂ〜Ｎから読み出すことで、データの共有・交換を行う。プロセッサ１Ｂ〜１Ｎでも同様のことが行われる。
このような手段によって、演算プロセッサ１１の仮想共有メモリ１２１の自領域への書込み頻度の間隔が、ＤＭＡ起動トリガ信号の周期より長ければ、その書込みは共有メモリ２を介して他のプロセッサ内の仮想共有メモリ１２１へ複写される。
よって、各プロセッサ１Ａ〜１Ｎの演算プロセッサ１１Ａ〜１１Ｎは、データの共有・交換を行うために半導体チップ外部の共有メモリ２に直接アクセスする必要はなく、同じ半導体チップ上にある内蔵メモリ１２Ａ〜１２Ｎ内の仮想共有メモリ１２１Ａ〜１２１Ｎへの書込み・読出しを行えば良い。
【００２６】
以下、このような本実施の形態に基づく具体的な実施例を説明する。
（実施例１）
本実施例１のマルチプロセッサシステムの構成は、上記実施の形態で説明したマルチプロセッサシステムの構成と基本的には同じであるが、トリガ信号伝達バス８の構成が、図４に示すように、各ＤＭＡプロセッサ１４Ａ〜１４Ｎへ単一の信号線で共通のトリガ信号８１０を伝達する構成となっている。
【００２７】
各ＤＭＡプロセッサ１４Ａ〜１４Ｎを起動するＤＭＡ起動トリガ信号も、共通トリガ信号８１０として伝送され、図３に示すように、周期的にトリガ信号発生器７で生成される。
各ＤＭＡプロセッサ１４Ａ〜１４Ｎは、ＤＭＡ起動トリガ信号を元にＤＭＡプロセッサ１４内に設定された位相で起動される。その位相設定は、各ＤＭＡプロセッサ１４Ａ〜１４Ｎの動作期間が重ならないように設定される。
【００２８】
このような構成のマルチプロセッサシステムにおいて、上記実施の形態で説明したと同様の動作により、各プロセッサ１Ａ〜１Ｎの演算プロセッサ１１Ａ〜１１Ｎが、データの共有・交換を行う。
即ち、図２（ｂ）及び（ｃ）に示すように、プロセッサ１ＡにおいてＤＭＡプロセッサ１４Ａが、自プロセッサ１４Ａの動作期間ｔ１Ａ中に、自所属プロセッサ１Ａ内の仮想共有メモリ１２１Ａの領域Ａからデータを読出し、これを共有メモリ２の領域Ａへ書き込むと共に、共有メモリ２の領域Ｂ〜Ｎからデータを読み出して自プロセッサ内の仮想共有メモリ１２１Ａの領域Ｂ〜Ｎへ書き込む。他のプロセッサ１Ｂ〜１Ｎにおいても同様の動作が行われる。
【００２９】
また、プロセッサ１Ａの演算プロセッサ１１Ａは、他のプロセッサ１Ｂ〜１Ｎに通知したいデータを仮想共有メモリ１２１Ａの領域Ａへ書込み、他のプロセッサ１Ｂ〜１Ｎから通知されたデータを仮想共有メモリ１２１Ａの領域Ｂ〜Ｎから読み出すことで、データの共有・交換を行う。プロセッサ１Ｂ〜１Ｎでも同様のことが行われる。
【００３０】
（実施例２）
本実施例２のマルチプロセッサシステムの構成も、上記実施例１の構成と基本的には同じであるが、トリガ信号伝達バス８の構成が次のようになっている。
即ち、トリガ信号伝達バス８は、図５に示すように、ＤＭＡ起動トリガ信号を、ＤＭＡプロセッサ１４Ａ用にトリガ信号８２０Ａ、ＤＭＡプロセッサ１４Ｂ用にトリガ信号８２０Ｂ、ＤＭＡプロセッサ１４Ｎ用にトリガ信号８２０Ｎのように、個々のＤＭＡプロセッサ１４Ａ〜１４Ｎ毎に伝達する構成となっている。
各ＤＭＡ起動トリガ信号８２０Ａ〜８２０Ｎは、図６に時刻ｔ１〜ｔ７で示すように、トリガ信号発生器７から周期的に生成され、更に、これらＤＭＡ起動トリガ信号８２０Ａ〜８２０Ｎの入力タイミングで起動するＤＭＡプロセッサ１４Ａ〜１４Ｎの動作期間ｔ１Ａ、ｔ２Ｂ，ｔ３Ｎ，ｔ４Ａ、ｔ５Ｂ，ｔ６Ｎが重ならないように発生される。
このような実施例２の構成のマルチプロセッサシステムにおいては、上記実施例１で説明したと同様の動作により、各プロセッサ１Ａ〜１Ｎの演算プロセッサ１１Ａ〜１１Ｎが、データの共有・交換を行う。
【００３１】
（実施例３）
本実施例３のマルチプロセッサシステムの構成も、上記実施例１の構成と基本的には同じであるが、トリガ信号伝達バス８の構成が次のようになっている。
即ち、トリガ信号伝達バス８には、上記実施例１で説明したように共通の信号が伝達されるが、実施例１と異なり、図７（ａ）に示すように、トリガ種別を与えるタイプ指定信号８３２とトリガのタイミングを与えるストローブ信号８３１の複数の信号構成となっている。図７（ｂ）に示すように、タイプ指定信号８３２は、ストローブ信号８３１によってトリガされる。
【００３２】
このようなタイプ指定信号８３２及びストローブ信号８３１によって各ＤＭＡプロセッサ１４Ａ〜１４Ｎに供給される各ＤＭＡ起動トリガ信号は、図６に示したように時刻ｔ１〜ｔ７でトリガ信号発生器７から周期的に生成され、更に、これらＤＭＡ起動トリガ信号の入力タイミングで起動するＤＭＡプロセッサ１４Ａ〜１４Ｎの動作期間ｔ１Ａ，ｔ２Ｂ，ｔ３Ｎ，ｔ４Ａ、ｔ５Ｂ，ｔ６Ｎが重ならないように発生される。
【００３３】
また、各ＤＭＡプロセッサ１４Ａ〜１４Ｎは、各ＤＭＡ起動トリガ信号を構成するタイプ指定信号８３２で区別され、入力タイミングがストローブ信号８３１で与えられるようになっている。
このような実施例３の構成のマルチプロセッサシステムにおいては、上記実施例１で説明したと同様の動作により、各プロセッサ１Ａ〜１Ｎの演算プロセッサ１１Ａ〜１１Ｎが、データの共有・交換を行う。
【００３４】
（実施例４）
本実施例４のマルチプロセッサシステムの構成も、上記実施例１の構成と基本的には同じであるが、各ＤＭＡプロセッサ１４Ａ〜１４Ｎが図８に示すように、高速用ＤＭＡプロセッサ１４１及び低速用ＤＭＡプロセッサ１４２を備えて構成されている。
このような構成としたのは次の理由による。マルチプロセッサシステムでは、共有・交換したいデータが全て同じ頻度で更新（変化）するとは限らないので、共有メモリ２及び仮想共有メモリ１２１の領域は更新したい頻度に対応して小分けにし、データの複写量を減らす方が合理的である。これを実現するためにＤＭＡプロセッサ１４を、高速用ＤＭＡプロセッサ１４１及び低速用ＤＭＡプロセッサ１４２を備えて構成した。
【００３５】
また、図９（ａ）に示すように、共有メモリ２及び仮想共有メモリ１２１のメモリ割付けは、共有・交換したいデータの更新頻度に対応して、更新頻度の高い高速用領域ＨＡ〜ＨＮと、更新頻度の低い低速用領域ＬＡ〜ＬＮに分けられている。
図９（ｂ）に示すように、共有メモリ２において、高速用領域ＨＡは、プロセッサ１Ａの高速用ＤＭＡプロセッサ１４１Ａがデータを書込むと共に、他のプロセッサ１Ｂ〜１Ｎの高速用ＤＭＡプロセッサ１４１Ｂ〜１４１Ｎが書込まれたデータを読出す領域である。これと同様に他の高速用領域ＨＡ〜ＨＮも、自プロセッサ１の高速用ＤＭＡプロセッサ１４１がデータを書込むと共に、他のプロセッサ１の高速用ＤＭＡプロセッサ１４１が書込まれたデータを読出す領域となっている。
【００３６】
更に、共有メモリ２において、低速用領域ＨＡは、プロセッサ１Ａの低速用ＤＭＡプロセッサ１４２Ａがデータを書込むと共に、他のプロセッサ１Ｂ〜１Ｎの低速用ＤＭＡプロセッサ１４２Ｂ〜１４２Ｎが書込まれたデータを読出す領域である。これと同様に他の低速用領域ＬＡ〜ＬＮも、自プロセッサ１の低速用ＤＭＡプロセッサ１４２がデータを書込むと共に、他のプロセッサ１の低速用ＤＭＡプロセッサ１４２が書込まれたデータを読出す領域となっている。
【００３７】
図９（ｃ）に示すように、仮想共有メモリ１２１は、プロセッサ１Ａの仮想共有メモリ１２１Ａを代表すると、高速用領域ＨＡは、自プロセッサ１Ａの演算プロセッサ１１Ａがデータを書込むと共に、自プロセッサ１Ａの高速用ＤＭＡプロセッサ１４１Ａが書込まれたデータを読み出して共有メモリ２の自プロセッサ１Ａに割り付けられた高速用領域ＨＡに書込むための領域である。
【００３８】
また、他の高速用領域ＨＢ〜ＨＮは、自プロセッサ１Ａの高速用ＤＭＡプロセッサ１４１Ａが共有メモリ２の他プロセッサ１Ｂ〜１Ｎに割り付けられた高速用領域ＨＢ〜ＨＮから読み出したデータを書込む領域である。全ての高速用領域ＨＡ〜ＨＮは、自プロセッサ１Ａの演算プロセッサ１１Ａが書込まれたデータを読出し可能な領域となっている。
更に、仮想共有メモリ１２１は、プロセッサ１Ａの仮想共有メモリ１２１Ａを代表すると、低速用領域ＬＡは、自プロセッサ１Ａの演算プロセッサ１１Ａがデータを書込むと共に、自プロセッサ１Ａの低速用ＤＭＡプロセッサ１４２Ａが書込まれたデータを読み出して共有メモリ２の自プロセッサ１Ａに割り付けられた低速用領域ＬＡに書込むための領域である。
【００３９】
また、他の低速用領域ＬＢ〜ＬＮは、自プロセッサ１Ａの低速用ＤＭＡプロセッサ１４２Ａが共有メモリ２の他プロセッサ１Ｂ〜１Ｎに割り付けられた低速用領域ＬＢ〜ＬＮから読み出したデータを書込む領域である。全ての低速用領域ＬＡ〜ＬＮは、自プロセッサ１Ａの演算プロセッサ１１Ａが書込まれたデータを読出し可能な領域となっている。
【００４０】
図１０に示すように、トリガ信号伝達バス８は、ＤＭＡ起動トリガ信号を、個々の高速用ＤＭＡプロセッサ１４１及び低速用ＤＭＡプロセッサ１４２毎に伝達する構成となっている。
即ち、高速用ＤＭＡプロセッサ１４１Ａ用にトリガ信号８２１Ａ、低速用ＤＭＡプロセッサ１４２Ａ用にトリガ信号８２２Ａ、高速用ＤＭＡプロセッサ１４１Ｂ用にトリガ信号８２１Ｂ、低速用ＤＭＡプロセッサ１４２Ｂ用にトリガ信号８２２Ｂ、高速用ＤＭＡプロセッサ１４１Ｎ用にトリガ信号８２１Ｎ、低速用ＤＭＡプロセッサ１４２Ｎ用にトリガ信号８２２Ｎのように、個々のＤＭＡプロセッサ１４１及び１４２毎に伝達する構成となっている。
【００４１】
各ＤＭＡ起動トリガ信号８２１Ａ〜８２１Ｎ，８２２Ａ〜８２２Ｎは、図１１に時刻ｔ１〜ｔ９で示すように、トリガ信号発生器７から周期的に生成され、更に、これらＤＭＡ起動トリガ信号８２１Ａ〜８２１Ｎ，８２２Ａ〜８２２Ｎの入力タイミングで起動する高速用ＤＭＡプロセッサ１４１及び低速用ＤＭＡプロセッサ１４２の動作期間ｔ１Ａ、ｔ２Ｂ，ｔ３Ｎ，ｔ４Ａ，ｔ５Ａ，ｔ６Ｂ，ｔ７Ｎ，ｔ８Ｂが重ならないように発生される。更に、低速用のＤＭＡ起動トリガ信号８２２Ａ〜８２２Ｎの発生周期ｔ４Ａ，ｔ８Ｂが、高速用のＤＭＡ起動トリガ信号ｔ１Ａ、ｔ２Ｂ，ｔ３Ｎ，ｔ５Ａ，ｔ６Ｂ，ｔ７Ｎの発生周期より長く発生される。
【００４２】
プロセッサ１Ａの高速用ＤＭＡプロセッサ１４１Ａは、自プロセッサ１４１Ａの動作期間中に、図９（ｃ）及び（ｂ）に示すように、自プロセッサ１４１Ａ内の仮想共有メモリ１２１Ａの高速用領域ＨＡからデータを読出して共有メモリ２の高速用領域ＨＡへの書き込みと、共有メモリ２の他の高速用領域ＨＢ〜ＨＮからデータを読み出して自プロセッサ１４１Ａ内の仮想共有メモリ１２１Ａの高速用領域Ｂ〜Ｎへの書込みを行う。他のプロセッサ１Ｂ〜１Ｎでも同様のことが行われる。
【００４３】
この動作と同様に、各プロセッサ１の低速用ＤＭＡプロセッサ１４２も、自プロセッサ１４２内の仮想共有メモリ１２１から共有メモリ２への複写動作、共有メモリ２から仮想共有メモリ１２１への複写動作を行う。
プロセッサ１Ａの演算プロセッサ１１Ａは、高速（又は高頻度）に他のプロセッサ１Ｂ〜１Ｎに通知したいデータを仮想共有メモリ１２Ａの高速用領域ＨＡに書込み、他のプロセッサ１Ｂ〜１Ｎが高速（又は高頻度）に通知したいデータを仮想共有メモリ１２Ｂ〜１２Ｎの高速用領域ＨＢ〜ＨＮから読み出す。一方、低速（又は低頻度）でも良いデータは低速用領域を使用する。以上のようにして更新したい頻度に対応したデータの共有・交換を行う。
【００４４】
この実施例４のトリガ信号バス８は、図７に示したように、全ＤＭＡプロセッサ１４１Ａ〜１４１Ｎ及び１４２Ａ〜１４２Ｎへ共通の信号が伝達されるが、トリガ種別を与えるタイプ指定信号とトリガのタイミングを与えるストローブ信号のような複数の信号で構成されていていても良い。
以上説明した実施例１〜４によれば、各プロセッサ１Ａ〜１Ｎの演算プロセッサ１１Ａ〜１１Ｎは、データの共有・交換を行うために半導体チップ外部の共有メモリ２に直接アクセスする必要はなく、同じ半導体チップ上にある内蔵メモリ１２Ａ〜１２Ｎ内の仮想共有メモリ１２１Ａ〜１２１Ｎへの書込み・読出しを行えば良い。
【００４５】
一般的に、同じ半導体チップ上にある内蔵メモリ１２Ａ〜１２Ｎに対する読込み・書込み動作に要する時間は、外部バスＩＦ１３Ａ〜１３Ｎを介して半導体チップ外部に対する読込み・書込み動作に要する時間よりも遥かに短い。よって、マルチプロセッサシステムにおいて必須となる共有メモリ２への読書きに起因するプログラム処理効率の低下を防止することができる。言い換えれば、マルチプロセッサシステムにおいて共有メモリ２への読書きを行う際のプログラム処理効率を向上させることができる。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施の形態に係るマルチプロセッサシステムの構成を示す図である。
【図２】上記実施の形態に係るマルチプロセッサシステムの共有メモリ及び仮想共有メモリを示し、（ａ）は共有メモリ及び仮想共有メモリの記憶領域の割付け図、（ｂ）は共有メモリの各記憶領域への書込み読出し動作の説明図、（ｃ）は仮想共有メモリの各記憶領域への書込み読出し動作の説明図である。
【図３】上記実施の形態に係るマルチプロセッサシステムにおいてトリガ信号発生器から発生されるＤＭＡ起動トリガ信号の各ＤＭＡプロセッサへの入力タイミング及び各ＤＭＡプロセッサの動作タイミングを示す図である。
【図４】上記実施の形態に係る実施例１のマルチプロセッサシステムにおけるトリガ信号伝達バスの構成を示す図である。
【図５】上記実施の形態に係る実施例２のマルチプロセッサシステムにおけるトリガ信号伝達バスの構成を示す図である。
【図６】上記実施例２のマルチプロセッサシステムにおいてトリガ信号発生器から発生されるＤＭＡ起動トリガ信号の各ＤＭＡプロセッサへの入力タイミング及び各ＤＭＡプロセッサの動作タイミングを示す図である。
【図７】上記実施の形態に係る実施例３のマルチプロセッサシステムにおけるトリガ信号伝達バスの構成を示す図である。
【図８】上記実施の形態に係る実施例４のマルチプロセッサシステムのＤＭＡプロセッサの構成を示す図である。
【図９】上記実施例４のマルチプロセッサシステムの共有メモリ及び仮想共有メモリを示し、（ａ）は共有メモリ及び仮想共有メモリの記憶領域の割付け図、（ｂ）は共有メモリの各記憶領域への書込み読出し動作の説明図、（ｃ）は仮想共有メモリの各記憶領域への書込み読出し動作の説明図である。
【図１０】上記実施例４のマルチプロセッサシステムにおけるトリガ信号伝達バスの構成を示す図である。
【図１１】上記実施例４のマルチプロセッサシステムにおいてトリガ信号発生器から発生される高速用又は低速用ＤＭＡ起動トリガ信号の各高速用又は低速用ＤＭＡプロセッサへの入力タイミング及び当該ＤＭＡプロセッサの動作タイミングを示す図である。
【図１２】従来のマルチプロセッサシステムの構成を示す図である。
【符号の説明】
【００４７】
１Ａ〜１Ｎ  プロセッサ
２  共有メモリ
３  アクセス調停装置
４Ａ〜４Ｎ  イネーブル付バスドライバ
７  トリガ信号発生器
８  トリガ信号伝達バス
１２Ａ〜１２Ｎ  内蔵メモリ
１３Ａ〜１３Ｎ  外部バスＩＦ
１４Ａ〜１４Ｎ  ＤＭＡプロセッサ
１２１Ａ〜１２１Ｎ  仮想共有メモリ
１４１Ａ〜１４１Ｎ  高速用ＤＭＡプロセッサ
１４２Ａ〜１４２Ｎ  低速用ＤＭＡプロセッサ
８２０Ａ〜８２０Ｎ  ＤＭＡ起動トリガ信号
８２１Ａ〜８２１Ｎ  高速用ＤＭＡ起動トリガ信号
８２２Ａ〜８２２Ｎ  低速用ＤＭＡ起動トリガ信号
８３１  ストローブ信号
８３２  タイプ指定信号
ＬＡ〜ＬＮ  低速用領域
ＨＡ〜ＨＮ  高速用領域
【図１】
2006293836.tif 000003
【図２】
2006293836.tif 000004
【図３】
2006293836.tif 000005
【図４】
2006293836.tif 000006
【図５】
2006293836.tif 000007
【図６】
2006293836.tif 000008
【図７】
2006293836.tif 000009
【図８】
2006293836.tif 000010
【図９】
2006293836.tif 000011
【図１０】
2006293836.tif 000012
【図１１】
2006293836.tif 000013
【図１２】
2006293836.tif 000014