(57)【要約】【課題】第１プロセッサ及び複数の第２プロセッサの各相互間でデュアルポートメモリを介してデータ交換を行う際の、第１プロセッサの処理負荷を軽減することができるマルチプロセッサシステムを提供する。【解決手段】マルチプロセッサシステムは、第１ＣＰＵ１１とバックボード６との間に接続される第１デュアルポートメモリ５１、及び、第１デュアルポートメモリ５１のバックボード６側に接続される第１バスコントローラ３１を搭載する第１ボード１と、第２ＣＰＵ１２_1〜１２_nとバックボード６との間に接続される第２デュアルポートメモリ５２_1〜５２_n、及び、第２デュアルポートメモリ５２_1〜５２_nのバックボード６側に接続される前記第２バスコントローラとを有し、第１バスコントローラ３１及び第２バスコントローラ３２_1〜３２_nの各相互間はバックボード６により接続される。【選択図】図１
2018128845.tif 000002
【特許請求の範囲】
【請求項１】
第１プロセッサを搭載する第１ボードと、
第２プロセッサをそれぞれ搭載する複数の第２ボードと、
前記第１ボード及び前記複数の第２ボードを装着することにより前記第１ボード及び前記複数の第２ボードの各相互間を接続するバックボードと
を備えるマルチプロセッサシステムにおいて、
前記第１ボードは、前記第１プロセッサと前記バックボードとの間に接続される第１デュアルポートメモリと、前記第１デュアルポートメモリの前記バックボード側に接続され、前記第１デュアルポートメモリの前記バックボード側のアクセスを制御する第１バスコントローラとを有し、
前記複数の第２ボードのそれぞれは、対応する前記第２プロセッサと前記バックボードとの間に接続される第２デュアルポートメモリと、対応する前記第２デュアルポートメモリの前記バックボード側に接続され、前記対応する第２デュアルポートメモリの前記バックボード側のアクセスを制御する第２バスコントローラとを有し、
前記第１バスコントローラ及び複数の前記第２バスコントローラの各相互間は、前記バックボードにより接続されることを特徴とするマルチプロセッサシステム。
【請求項２】
前記第１デュアルポートメモリ及び複数の前記第２デュアルポートメモリの各記憶域は、前記第１プロセッサ及び複数の前記第２プロセッサのそれぞれ専用の複数のデータ書込エリアを有し、
前記第１バスコントローラ及び前記複数の第２バスコントローラは、前記第１デュアルポートメモリが前記第１プロセッサ専用の前記データ書込エリアに書き込んだデータを、前記複数の第２デュアルポートメモリのそれぞれの前記第１プロセッサ専用のデータ書込エリアに複写し、
前記第１バスコントローラ及び前記複数の第２バスコントローラは、１つの前記第２デュアルポートメモリが、対応する１つの前記第２プロセッサ専用のデータ書込エリアに書き込んだデータを、前記第１デュアルポートメモリ及び前記１つの第２プロセッサを除く前記複数の第２デュアルポートメモリのそれぞれの前記１つの第２プロセッサ専用のデータ書込エリアに複写することを特徴とする請求項１に記載のマルチプロセッサシステム。
【請求項３】
前記第１バスコントローラは、前記第１デュアルポートメモリから、前記第１プロセッサ専用の前記データ書込エリアを読み出すことを示す信号を出力した場合、前記第１デュアルポートメモリに、前記第１プロセッサ専用の前記データ書込エリアのデータを前記バックボードに出力させ、
前記複数の第２バスコントローラのそれぞれは、対応する前記第２デュアルポートメモリに、前記第１デュアルポートメモリにより出力されたデータを、対応する前記第２デュアルポートメモリの前記第１プロセッサ専用の前記データ書込エリアに複写させることを特徴とする請求項２に記載のマルチプロセッサシステム。
【請求項４】
前記第１バスコントローラが、１つの前記第２デュアルポートメモリから、対応する１つの前記第２プロセッサ専用の前記データ書込エリアを読み出すことを示す信号を出力した場合、対応する１つの前記第２バスコントローラは、前記１つの第２デュアルポートメモリに、前記１つの第２プロセッサ専用の前記データ書込エリアのデータを前記バックボードに出力させ、
前記第１バスコントローラは、前記第１デュアルポートメモリに、前記１つの第２デュアルポートメモリにより出力されたデータを、前記第１デュアルポートメモリの前記１つの第２プロセッサ専用の前記データ書込エリアに複写させ、
前記複数の第２バスコントローラのそれぞれは、対応する前記第２デュアルポートメモリに、前記第１デュアルポートメモリにより出力されたデータを、対応する前記第２デュアルポートメモリの前記第１プロセッサ専用の前記データ書込エリアに複写させることを特徴とする請求項２又は３に記載のマルチプロセッサシステム。
【請求項５】
前記第１バスコントローラは、前記第１デュアルポートメモリ及び複数の前記第２デュアルポートメモリの各記憶域に共通の、前記第１プロセッサ及び複数の前記第２プロセッサのそれぞれ専用の複数のデータ書込エリアの各アドレス値を所定周期で含むアドレス信号と、前記アドレス信号に連動することにより前記第１デュアルポートメモリ及び前記複数の第２デュアルポートメモリの何れかのアクセスを制御するアクセス制御信号とを出力することにより、前記第１プロセッサ及び複数の前記第２プロセッサの何れか専用の前記データ書込エリアを読み出すことを示す信号を出力することを特徴とする請求項３又は４に記載のマルチプロセッサシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチプロセッサシステムに関する。
【背景技術】
【０００２】
例えばディジタルリレー等の産業用機器のマルチプロセッサシステムにおいて、図８に示すように、第１ＣＰＵ（Central Processing Unit：プロセッサ）１０と、第２ＣＰＵ３０と、第１ＣＰＵ１０及び第２ＣＰＵ３０の間を接続する双方向のポートを有するデュアルポートメモリ５０をとを備え、第１ＣＰＵ１０及び第２ＣＰＵ３０がデュアルポートメモリ５０を介して一対一でデータ交換を行う方式が知られている（特許文献１参照）。
【０００３】
その他、図９に示すように、全体制御を行う第１ＣＰＵ１０を搭載する第１ボード１００と、各要素機能の個別制御をそれぞれ行う複数の第２ＣＰＵ２０_1〜２０_nをそれぞれ搭載する複数の第２ボード２００_1〜２００_nと、第１ボード１００及び複数の第２ボード２００_1〜２００_nをそれぞれ装着するバックボード６Ｐとを備えるシステムにおいて、バックボード６Ｐのバックボードバス６０Ｐを介して、第１ＣＰＵ１０と複数の第２ＣＰＵ２０_1〜２０_nとの間でデータ交換を行う方式が知られている。このような方式では、例えば、第１ＣＰＵ１０及び複数の第２ＣＰＵ２０_1〜２０_nは、第２ＣＰＵ２０_1〜２０_nにそれぞれ対応する第２ボード２００_1〜２００_nにぞれぞれ設けられたデュアルポートメモリを介して、相互間でデータ交換を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−６４８９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
図９に示すようなシステムにおいて、例えば第１ＣＰＵ１０から全ての第２ＣＰＵ２０_1〜２０_nに対して同一の指令データを通知する場合、第１ＣＰＵ１０が、バックボードバス６０Ｐを介して、第２ＣＰＵ２０_1〜２０_nにそれぞれ対応するデュアルポートメモリのそれぞれに対して同一の指令データを個別に書き込む必要があった。また、例えば第２ＣＰＵ２０_1のデータを第２ＣＰＵ２０_nが使用する場合、第１ＣＰＵ１０が、第２ボード２００_1のデュアルポートメモリから第２ＣＰＵ２０_1のデータを読み出し、第１ＣＰＵ１０が、第２ボード２００_nのデュアルポートメモリに読み出したデータを書き込む必要があった。このように、一対複数でデータ交換を行うマルチプロセッサシステムにおいて、第１ＣＰＵ１０の処理負荷が大きいという問題がある。
【０００６】
本発明は、上記問題点を鑑み、第１プロセッサ及び複数の第２プロセッサの各相互間でデュアルポートメモリを介してデータ交換を行う際の、第１プロセッサの処理負荷を軽減することができるマルチプロセッサシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の一態様に係るマルチプロセッサシステムは、第１プロセッサを搭載する第１ボードと、第２プロセッサをそれぞれ搭載する複数の第２ボードと、第１ボード及び複数の第２ボードを装着することにより第１ボード及び複数の第２ボードの各相互間を接続するバックボードとを備えることを要旨とし、第１ボードは、第１プロセッサとバックボードとの間に接続される第１デュアルポートメモリと、第１デュアルポートメモリのバックボード側に接続され、第１デュアルポートメモリのバックボード側のアクセスを制御する第１バスコントローラとを有し、複数の第２ボードのそれぞれは、対応する第２プロセッサとバックボードとの間に接続される第２デュアルポートメモリと、対応する第２デュアルポートメモリのバックボード側に接続され、対応する第２デュアルポートメモリのバックボード側のアクセスを制御する第２バスコントローラとを有し、第１バスコントローラ及び複数の第２バスコントローラの各相互間は、バックボードにより接続されることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、第１プロセッサ及び複数の第２プロセッサの各相互間でデュアルポートメモリを介してデータ交換を行う際の、第１プロセッサの処理負荷を軽減することができるマルチプロセッサシステムを提供できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係るマルチプロセッサシステムの基本的な構成を説明するブロック図である。
【図２】本発明の実施形態に係るマルチプロセッサシステムの構成を説明するブロック図である。
【図３】第１デュアルポートメモリ及び第２デュアルポートメモリの各記憶域のエリア区分の一例を説明する図である。
【図４】第１アクセスコントローラが出力するアドレス信号の一例を説明する図である。
【図５】第１アクセスコントローラが第１ＣＰＵ専用のデータ書込エリアのアドレス値を出力する場合の各アクセスコントローラの動作を説明するタイミングチャートである。
【図６】第１アクセスコントローラが１つの第２ＣＰＵ専用のデータ書込エリアのアドレス値を出力する場合の各アクセスコントローラの動作を説明するタイミングチャートである。
【図７】一般的なＣＰＵがＤＰＲＡＭとの間で送受信する信号の一例を説明するタイミングチャートである。
【図８】従来のマルチプロセッサシステムの一例を説明するブロック図である。
【図９】従来のマルチプロセッサシステムの一例を説明するブロック図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の実施形態を説明する。図面の記載において、同一又は類似の部分には同一又は類似の符号を付し、重複する説明を省略する。但し、以下に示す実施形態は、本発明の技術的思想を具体化するためのシステムや装置を例示するものであって、本発明の技術的思想は、下記の実施形態に例示したシステムや装置に特定するものでない。本発明の技術的思想は、特許請求の範囲に記載された技術的範囲内において、種々の変更を加えることができる。
【００１１】
（マルチプロセッサシステム）
本発明の実施形態に係るマルチプロセッサシステムは、図１に示すように、第１ＣＰＵ１１、第１デュアルポートメモリ５１及び第１バスコントローラ３１を搭載する第１ボード１と、第２ＣＰＵ１２_1，１２_2，……，１２_n、第２デュアルポートメモリ５２_1，５２_2，……，５２_n及び第２バスコントローラ３２_1，３２_2，……，３２_nをそれぞれ搭載する複数の第２ボード２_1，２_2，……，２_n（ｎ：２以上の整数）と、第１ボード１及び複数の第２ボード２_1〜２_nを装着することにより第１ボード１及び複数の第２ボード２_1〜２_nの各相互間を接続するバックボードバス６０を有するバックボード６とを備える。
【００１２】
第１ＣＰＵ１１は、複数の第２ボード２_1〜２_nのそれぞれを制御することにより、本発明の実施形態に係るマルチプロセッサシステムの全体制御を行うプロセッサである。第１デュアルポートメモリ５１は、第１ＣＰＵ１１とバックボード６との間に接続される。第１デュアルポートメモリ５１の一方側のポートは、第１ＣＰＵ１１に接続され、他方側のポートは、バックボード６に接続される。第１バスコントローラ３１は、第１デュアルポートメモリ５１のバックボード６側のポートに接続され、第１デュアルポートメモリ５１のバックボード側のアクセスを制御する。
【００１３】
第２ＣＰＵ１２_1〜１２_nのそれぞれは、例えば、産業用機器の制御を行うマルチプロセッサシステムにおいて産業用機器の各要素を個別に制御するプロセッサである。第２デュアルポートメモリ５２_1〜５２_nのそれぞれは、第２ＣＰＵ１２_1〜１２_nとバックボード６との各間に接続される。第２デュアルポートメモリ５２_1〜５２_nのそれぞれ一方側のポートは、第２ＣＰＵ１２_1〜１２_nに接続され、それぞれ他方側のポートは、バックボード６に接続される。第２バスコントローラ３２_1〜３２_nのそれぞれは、第２デュアルポートメモリ５２_1〜５２_nのそれぞれバックボード６側のポートに接続され、第２デュアルポートメモリ５２_1〜５２_nのそれぞれバックボード側のアクセスを制御する。
【００１４】
第１バスコントローラ３１及び第２バスコントローラ３２_1〜３２_nの各相互間は、第１ボード１及び複数の第２ボード２_1〜２_nがバックボードバス６０にそれぞれ装着されることにより、バックボード６のバックボードバス６０を介して接続される。
【００１５】
以下、図２に示すブロック図を用いて、第１ボード１と、複数の第２ボード２_1〜２_nの何れかである第２ボード２_i（ｉは１〜ｎの整数）と、第１ボード１及び第２ボード２_iを装着するバックボード６との詳細について説明する。
【００１６】
図２に示すように、第１バスコントローラ３１は、第１ＣＰＵ１１を識別する番号を第１ボード１に対して設定する第１ＣＰＵ番号設定部３１１と、第１デュアルポートメモリ５１のバックボード６側のアクセスを制御する第１アクセスコントローラ３１２とを有する。第１ＣＰＵ１１を識別する番号は、例えば、ジャンパスイッチ等によるマニュアル設定や他のストレージデバイスにパラメータとして記憶される設定値を初期化処理として設定されることにより決定され、第１アクセスコントローラ３１２により保持される。
【００１７】
同様に、複数の第２バスコントローラ３２_1〜３２_nの何れかである第２バスコントローラ３２_i（ｉは１〜ｎの整数）は、対応する（同一の第２ボード２_iに搭載される）第２ＣＰＵ１２_iを識別する番号を第２ボード２_iに対して設定する第２ＣＰＵ番号設定部３２１_iと、第２デュアルポートメモリ５２_iのバックボード６側のアクセスを制御する第２アクセスコントローラ３２２_iとを有する。第２ＣＰＵ１２_iを識別する番号は、例えば、ジャンパスイッチ等によるマニュアル設定や他のストレージデバイスにパラメータとして記憶される設定値を初期化処理として設定されることにより決定され、対応する第２アクセスコントローラ３２２_iにより保持される。
【００１８】
第１デュアルポートメモリ５１は、第１ＣＰＵ１１に接続される第１入出力ポート（第１プロセッサ側ポート）５１１と、第１バスコントローラ３１及びバックボードバス６０に接続される第２入出力ポート（第１バックボード側ポート）５１２と、データを記憶する記憶部５１３とを備える。
【００１９】
同様に、第２デュアルポートメモリ５２_iは、第２ＣＰＵ１２_iに接続される第１入出力ポート（第２プロセッサ側ポート）５２１_iと、第２バスコントローラ３２_i及びバックボードバス６０に接続される第２入出力ポート（第２バックボード側ポート）５２２_iと、データを記憶する記憶部５２３_iとを備える。
【００２０】
第１デュアルポートメモリ５１の第１入出力ポート５１１と第１ＣＰＵ１１との間は、チップセレクト信号L_CS1用のチップセレクト信号線Ｌ１と、データ読出信号L_RD1用のデータ読出信号線Ｌ２と、データ書込信号L_WR1用のデータ書込信号線Ｌ３とにより接続される。その他、第１ＣＰＵ１１と第１入出力ポート５１１との間は、アドレス信号L_Addr1用のアドレスバスＢ１と、データ信号L_Data1用のデータバスＢ２とにより接続される。
【００２１】
同様に、第２デュアルポートメモリ５２_iの第１入出力ポート５２１_iと第２ＣＰＵ１２_iとの間には、チップセレクト信号L_CS2i用のチップセレクト信号線Ｌ１ｉと、データ読出信号L_RD2i用のデータ読出信号線Ｌ２ｉと、データ書込信号L_WR2i用のデータ書込信号線Ｌ３ｉが設けられる。その他、第２ＣＰＵ１２_iと第１入出力ポート５２１_iとの間は、アドレス信号L_Addr2i用のアドレスバスＢ１ｉと、データ信号L_Data2i用のデータバスＢ２ｉとにより接続される。
【００２２】
第１デュアルポートメモリ５１の第２入出力ポート５１２と第１アクセスコントローラ３１２との間は、チップセレクト信号R_CS1用のチップセレクト信号線Ｌ４と、データ読出信号R_RD1用のデータ読出信号線Ｌ５と、データ書込信号R_WR1用のデータ書込信号線Ｌ６とにより接続される。その他、第２入出力ポート５１２と第１アクセスコントローラ３１２との間は、アドレス信号R_Addr1用のアドレスバスＢ３と、データ信号R_Data1用のデータバスＢ４とにより接続される。
【００２３】
同様に、第２デュアルポートメモリ５２_iの第２入出力ポート５２２_iと第２アクセスコントローラ３２２_iとの間は、チップセレクト信号R_CS2i用のチップセレクト信号線Ｌ４ｉと、データ読出信号R_RD2i用のデータ読出信号線Ｌ５ｉと、データ書込信号R_WR2i用のデータ書込信号線Ｌ６ｉとにより接続される。その他、第２入出力ポート５２２_iと第２アクセスコントローラ３２２_iとの間は、アドレス信号R_Addr1用のアドレスバスＢ３ｉと、データ信号R_Data2i用のデータバスＢ４ｉとにより接続される。
【００２４】
バックボードバス６０は、アクセス制御信号OPREQ用の制御信号バス６１と、アドレス信号R_Addr1用のバックボードアドレスバス６２と、データ信号R_Data1/2i用のバックボードデータバス６３とを備える。制御信号バス６１は、アクセス制御信号OPREQ用の制御信号線Ｌ７により第１アクセスコントローラ３１２に接続し、アクセス制御信号OPREQ用の制御信号線Ｌ７ｉにより第２アクセスコントローラ３２２_iに接続する。バックボードアドレスバス６２は、アドレスバスＢ３，Ｂ３ｉにそれぞれ接続する。バックボードデータバス６３は、データバスＢ４，Ｂ４ｉにそれぞれ接続する。
【００２５】
図３に示すように、記憶部５１３及び記憶部５２３_1〜５２３_nの各記憶域は、第１ＣＰＵ１１専用のデータ書込エリア５０１及び複数の第２プロセッサ１２_1〜１２_nのそれぞれ専用の複数のデータ書込エリア５０２_1〜５０２_nを有する。記憶部５１３及び記憶部５２３_1〜５２３_nに共通するように、データ書込エリア５０１はアドレス値がＡ１からＡ２_1未満の範囲、データ書込エリア５０２_1はアドレス値がＡ２_1からＡ２_2未満の範囲、……、データ書込エリア５０２_nはアドレス値がＡ２_nからＡ３未満の範囲に設定される。
【００２６】
（第１アクセスコントローラ３１２の動作）
図４に示すように、第１ＣＰＵ番号設定部３１１により、第１ＣＰＵ１１を有する第１ボード１に搭載されるアクセスコントローラであることが定義された第１アクセスコントローラ３１２は、記憶部５１３及び記憶部５２３_1〜５２３_nの各記憶域の、第１ＣＰＵ１１及び複数の前記第２ＣＰＵ１２のそれぞれ専用の複数のデータ書込エリア５０１，５０２_1〜５０２_nの各アドレス値を所定周期で含むアドレス信号R_Addr1を生成する。
【００２７】
アドレス信号R_Addr1は、アドレスバスＢ３を介して第１デュアルポートメモリ５１及びバックボードアドレスバス６２に出力される。アドレス信号R_Addr1は、例えば、１周期Ｐ内において、第１ＣＰＵ１１専用のデータ書込エリア５０１のアドレス範囲（アドレス値がＡ１からＡ２_1未満の範囲）の各アドレス値から、第２ＣＰＵ１２_n専用のデータ書込エリア５０２_nのアドレス範囲（アドレス値がＡ２_nからＡ３未満の範囲）まで、順次出力されるように生成される。なお、データ書込エリア５０１，５０２_1〜５０２_nのそれぞれのアドレス範囲では、開始アドレスから終了アドレスまでインクリメントされながら各アドレス値が順次含まれる。
【００２８】
また、第１アクセスコントローラ３１２は、アドレス信号R_Addr1に連動することにより第１デュアルポートメモリ５１及び複数の第２デュアルポートメモリ５２_1〜５２_nの何れかのアクセスを制御するアクセス制御信号OPREQを生成する。第１アクセスコントローラ３１２は、アクセス制御信号OPREQを、制御信号線Ｌ７を介して制御信号バス６１に出力する。第１アクセスコントローラ３１２は、アドレス信号R_Addr1及びアクセス制御信号OPREQを生成することにより、第１ＣＰＵ１１及び複数の第２ＣＰＵ１２_1〜１２_nの何れか専用のデータ書込エリアを読み出すことを示す信号を生成する。
【００２９】
例えば、図５に示すように、第１アクセスコントローラ３１２は、出力するアドレス信号R_Addr1のアドレス値が、対応する（同一の第１ボード１に搭載される）第１ＣＰＵ１１専用のデータ書込エリア５０１のアドレス値Ａ１である場合、アクセス制御信号OPREQのアサート（有効状態）及びネゲート（無効状態）に連動してデータ読出信号R_RD1のアサート及びネゲートを行うことにより、第１デュアルポートメモリ５１に、アドレス値Ａ１に対応する記憶部５１３のデータを含むデータ信号R_Data1を、バックボードデータバス６３に出力させる。
【００３０】
詳細には、時刻ｔ１において第１アクセスコントローラ３１２が出力するアドレス信号R_Addr1のアドレス値Ａ１が安定した後、時刻t２において第１アクセスコントローラ３１２は、アクセス制御信号OPREQアサートする。アクセス制御信号OPREQは、制御信号バス６１を介して複数の第２ボード２_1〜２_nにそれぞれ入力される。第１アクセスコントローラ３１２は、出力するアドレス信号R_Addr1が次に変化する時刻ｔ８以前の時刻t６においてアクセス制御信号OPREQをネゲートする。
【００３１】
第１アクセスコントローラ３１２は、出力するアドレス信号R_Addr1のアドレス値が、第１ＣＰＵ１１専用のデータ書込エリア５０１のアドレス値Ａ１である場合、時刻ｔ３においてアクセス制御信号OPREQのアサートに応じてデータ読出信号R_RD1をアサートする。第１アクセスコントローラ３１２は、時刻ｔ６にけるアクセス制御信号OPREQのネゲートに応じて、時刻ｔ７においてデータ読出信号R_RD1をネゲートする。これにより、第１アクセスコントローラ３１２は、第１デュアルポートメモリ５１が第１ＣＰＵ１１専用のデータ書込エリアを読み出すことを示す信号を出力する。
【００３２】
データ読出信号R_RD1のアサートに応じて、第１デュアルポートメモリ５１は、記憶部５１３からアドレス信号R_Addr1のアドレス値に対応するデータを読み出し、データ信号R_Data1としてバックボードデータバス６３に出力する。データ信号R_Data1は、バックボード６のバックボードデータバス６３を介して、複数の第２ボード２_1〜２_nにそれぞれ入力される。
【００３３】
一方、図６に示すように、第１アクセスコントローラ３１２は、出力するアドレス信号R_Addr1のアドレス値が、複数の第２ＣＰＵ１２_1〜１２_nの何れかである第２ＣＰＵ１２_i専用のデータ書込エリア５０２_iのアドレス値Ａ２_iである場合（即ち、第１アクセスコントローラ３１２に対応する第１ＣＰＵ１１専用のデータ書込エリア５０１のアドレス値Ａ１でない場合）、アクセス制御信号OPREQのアサート及びネゲートに連動してデータ書込信号R_WR1のアサート及びネゲートを行う。これにより、第１アクセスコントローラ３１２は、第１デュアルポートメモリ５１に、バックボードデータバス６３を介して入力されたデータ信号R_Data2iを、記憶部５１３の第２ＣＰＵ１２_i専用のデータ書込エリア５０２_iに複写させる。
【００３４】
詳細には、時刻ｔ１において第１アクセスコントローラ３１２が出力するアドレス信号R_Addr1のアドレス値が安定した後、時刻t２において第１アクセスコントローラ３１２は、アクセス制御信号OPREQアサートする。アクセス制御信号OPREQは、制御信号バス６１を介して複数の第２ボード２_1〜２_nにそれぞれ入力される。第１アクセスコントローラ３１２は、出力するアドレス信号R_Addr1が次に変化する時刻ｔ８以前の時刻t６においてアクセス制御信号OPREQをネゲートする。
【００３５】
第１アクセスコントローラ３１２は、出力するアドレス信号R_Addr1のアドレス値が、複数の第２ＣＰＵ１２_1〜１２_nの何れかである第２ＣＰＵ１２_i専用のデータ書込エリア５０２_iのアドレス値Ａ２_iである場合（即ち、第１ＣＰＵ１１専用のデータ書込エリア５０１のアドレス値Ａ１でない場合）、時刻ｔ３におけるアクセス制御信号OPREQのアサートの後、第２デュアルポートメモリ５２_iが出力するデータ信号R_Data2iの値が安定する時刻ｔ４から時刻t５までの間において、データ書込信号R_WR1をアサートしてネゲートする。第１アクセスコントローラ３１２は、第１デュアルポートメモリ５１に、バックボードデータバス６３を介して入力されたデータ信号R_Data2iを、記憶部５１３の第２ＣＰＵ１２_i専用のデータ書込エリア５０２_iに複写させる。
【００３６】
なお、時刻ｔ３から時刻ｔ５までの各タイミングは、例えば、アクセス制御信号OPREQがアサートされるタイミングと、第１ボード１及び第２ボード２_1〜２_nのそれぞれに搭載されるクロック発振器のクロックタイミングとに基づいて決定されるものであり、互いの間隔は、アドレス信号R_Addr1が変化する間隔（時刻ｔ１から時刻ｔ８までの時間）より短い。
【００３７】
（第２アクセスコントローラ３２２_1〜３２２_nの動作）
以下、第２アクセスコントローラ３２２_1〜３２２_nの動作について、複数の第２ボード２_1〜２_nの何れかである第２ボード２_i（ｉは１〜ｎの整数）、及び、第２ボード２_iを除く複数の第２ボード２_1〜２_nの何れかである第２ボード２_k（ｋは１〜ｎの整数、ｋ≠ｉ）のように定義されたｉ及びｋを適宜用いて説明する。
【００３８】
図５に示すように、第２アクセスコントローラ３２２_iは、バックボードアドレスバス６２から入力されたアドレス信号R_Addr1のアドレス値が、第１ＣＰＵ１１専用のデータ書込エリア５０１のアドレス値Ａ１である場合（即ち、対応する第２ＣＰＵ１２_i専用のデータ書込エリア５０２_iのアドレス値Ａ２_iでない場合）、アクセス制御信号OPREQのアサート及びネゲートに連動してデータ書込信号R_WR2iのアサート及びネゲートを行う。これにより、第２アクセスコントローラ３２２_iは、バックボードデータバス６３から入力されたデータ信号R_Data2iのデータ値を、対応する第２デュアルポートメモリ５２_iに、記憶部５２３_iの第１ＣＰＵ１１専用のデータ書込エリア５０１に複写させる。
【００３９】
詳細には、第２アクセスコントローラ３２２_iは、バックボードアドレスバス６２から入力されたアドレス信号R_Addr1のアドレス値が、第１ＣＰＵ１１及び第２ＣＰＵ１２_1〜１２_nの何れか専用のデータ書込エリアのアドレス値である場合、チップセレクト信号R_CS2iをアサートする。第２アクセスコントローラ３２２_iは、入力されたアドレス信号R_Addr1のアドレス値が第１ＣＰＵ１１専用のデータ書込エリアのアドレス値である場合（即ち、対応する第２ＣＰＵ１２_i専用のデータ書込エリアでない場合)、制御信号バス６１を介して入力されるアクセス制御信号OPREQがアサートされた後の、第１デュアルポートメモリ５１から出力されるデータ信号R_Data1が安定する時刻ｔ４から時刻ｔ５までの間に、データ書込信号R_WR2iをアサートしてネゲートする。これにより、第１デュアルポートメモリ５１の第１ＣＰＵ１１専用のデータ書込エリアのデータが、第２デュアルポートメモリ５２_iの第１ＣＰＵ１１専用のデータ書込エリアに複写される。
【００４０】
なお、図５に示すように、他の第２アクセスコントローラ３２２_kの動作は、第２アクセスコントローラ３２２_iと同様である。また、時刻ｔ３から時刻ｔ５までの各タイミングは、例えば、アクセス制御信号OPREQがアサートされるタイミングと、第１ボード１及び第２ボード２_1〜２_nのそれぞれに搭載されるクロック発振器のクロックタイミングとに基づいて決定されるものであり、互いの間隔は、アドレス信号R_Addr1が変化する間隔（時刻ｔ１から時刻ｔ８までの時間）より短い。
【００４１】
一方、図６に示すように、第２アクセスコントローラ３２２_iは、バックボードアドレスバス６２から入力されたアドレス信号R_Addr1のアドレス値が、対応する第２ＣＰＵ１２_i専用のデータ書込エリア５０２_iのアドレス値Ａ２_iである場合、アクセス制御信号OPREQのアサート及びネゲートに連動してデータ読出信号R_RD1のアサート及びネゲートを行う。これにより、第２アクセスコントローラ３２２_iは、第２デュアルポートメモリ５２_iに、アドレス値Ａ２_iに対応する記憶部５２３_iのデータを含むデータ信号R_Data1を、バックボードデータバス６３に出力させる。
【００４２】
詳細には、第２アクセスコントローラ３２２_iは、バックボードアドレスバス６２から入力されたアドレス信号R_Addr1のアドレス値が、第１ＣＰＵ１１及び第２ＣＰＵ１２_1〜１２_nの何れか専用のデータ書込エリアのアドレス値である場合、チップセレクト信号R_CS2iをアサートする。第２アクセスコントローラ３２２_iは、入力されたアドレス信号R_Addr1のアドレス値が、第２ＣＰＵ１２_i専用のデータ書込エリア５０２_iのアドレス値Ａ２_iである場合、時刻t３においてアクセス制御信号OPREQのアサートに応じてデータ読出信号R_RD2iをアサートし、時刻t７においてアクセス制御信号OPREQのネゲートに応じてデータ読出信号R_RD2iをネゲートする。これにより、第２アクセスコントローラ３２２_iは、第２デュアルポートメモリ５２_iに、記憶部５２３_iの第２ＣＰＵ１２_i専用のデータ書込エリア５０２_iのアドレス値Ａ２_iのデータを、データ信号R_Data2iとしてバックボードデータバス６３に出力する。
【００４３】
第２アクセスコントローラ３２２_kは、バックボードアドレスバス６２から入力されたアドレス信号R_Addr1のアドレス値が、第２ＣＰＵ１２_i専用のデータ書込エリア５０２_iのアドレス値Ａ２_iである場合（即ち、対応する第２ＣＰＵ１２_k専用のデータ書込エリアでない場合）、制御信号バス６１を介して入力されるアクセス制御信号OPREQがアサートされた後の、第２デュアルポートメモリ５２_iから出力されるデータ信号R_Data2iが安定する時刻ｔ４から時刻ｔ５までの間に、データ書込信号R_WR2kをアサートしてネゲートする。これにより、第２デュアルポートメモリ５２_iの第２ＣＰＵ１２_i専用のデータ書込エリアのデータが、第２デュアルポートメモリ５２_kの第１ＣＰＵ１２_i専用のデータ書込エリアに複写される。
【００４４】
（ＣＰＵの動作）
第１ＣＰＵ１１及び複数の第２ＣＰＵ１２_1〜１２_nは、互いに同様に動作し、且つ一般的な構成を採用可能であるため、図７に示すように、第１ＣＰＵ１１及び複数の第２ＣＰＵ１２_1〜１２_nの何れかであるＣＰＵｘと、ＣＰＵｘに対応する第１デュアルポートメモリ５１及び第２デュアルポートメモリ５２_1〜５２_nの何れかであるデュアルポートメモリ（ＤＰＲＡＭ）ｘとの間で伝送されるアドレス信号L_Addrｘ、チップセレクト信号L_CSｘ、データ読出信号L_RDｘ、データ書込信号L_WRｘ及びデータ信号L_Dataｘについて例示的に説明する。
【００４５】
ＣＰＵｘは、時刻ｔ１において、ＤＰＲＡＭｘの記憶域のアドレスを指定するアドレス信号L_Addrｘを出力し、チップセレクト信号L_CSｘをアサートする。時刻t２におけるデータ読出信号L_RDｘのアサートに応じて、ＤＰＲＡＭｘは、指定されたアドレスに格納されるデータをデータ信号L_Dataｘとしてデータバスを介してＣＰＵｘに出力する。また、ＣＰＵｘは、時刻ｔ５において、ＤＰＲＡＭｘの記憶域のアドレスを指定するアドレス信号L_Addrｘを出力し、チップセレクト信号L_CSｘをアサートする。時刻t６におけるデータ書込信号L_WRｘのアサートに応じて、ＤＰＲＡＭｘは、ＣＰＵｘからデータバスを介して入力されたデータ信号L_Dataｘを指定されたアドレスに格納する。
【００４６】
以上説明したように、本発明の実施形態に係るマルチプロセッサシステムによれば、第１デュアルポートメモリ５１及び第２デュアルポートメモリ５２_1〜５２_nのそれぞれのバックボード側のアクセスをそれぞれ制御する第１バスコントローラ３１及び第２バスコントローラ３２_1〜３２_nの各相互間がバックボード６により接続されるため、第１バスコントローラ３１及び第２バスコントローラ３２_1〜３２_nにより、所定周期で第１デュアルポートメモリ５１及び第２デュアルポートメモリ５２_1〜５２_nの各記憶域を同期させることができる。
【００４７】
このため、本発明の実施形態に係るマルチプロセッサシステムによれば、例えば図４における周期Ｐ１の期間中に、第１ＣＰＵ１１が、対応する第１デュアルポートメモリ５１の、第１ＣＰＵ１１専用のデータ書込エリアに書き込んだ新たなデータは、遅くとも次の周期Ｐ２の期間中に、第２デュアルポートメモリ５２_1〜５２_nの、各第１ＣＰＵ１１専用のデータ書込エリアに複写される。よって、第２ＣＰＵ１２_1〜１２_nは、次の周期Ｐ３の開始時点から、第２デュアルポートメモリ５２_1〜５２_nから、第１ＣＰＵ１１により書き込まれた新たなデータと同一のデータを確実に読み出すことができる。
【００４８】
このように、本発明の実施形態に係るマルチプロセッサシステムによれば、例えば、第１ＣＰＵ１１は、第２ＣＰＵ１２_1〜１２_nに同一のデータを通知する場合、第２ＣＰＵ１２_1〜１２_nにそれぞれ対応する第２デュアルポートメモリ５２_1〜５２_nに個別に制御する必要はなく、第１デュアルポートメモリ５１の第１ＣＰＵ１１専用のデータ書込エリアに１回書込む動作を行えばよい。また、第２ＣＰＵ１２_iのデータを第２ＣＰＵ１２_kが使用する場合、第１CPU１１が第２ＣＰＵ１２_iに対応する第２デュアルポートメモリ５２_iから第２ＣＰＵ１２_iのデータを読み出した後、第１ＣＰＵ１１が第２ＣＰＵ１２_kに対応する第２デュアルポートメモリ５２_iへ書き込む必要はなく、第２ＣＰＵ１２_iは第２デュアルポートメモリ５２_iの、第２ＣＰＵ１２_i専用のデータ書込エリアに１回書込む動作を行えばよい。
【００４９】
以上の通り、本発明の実施形態に係るマルチプロセッサシステムによれば、第１ＣＰＵ１１及び複数の第２ＣＰＵ１２_1〜１２_nの各相互間でデュアルポートメモリを介してデータ交換を行う際の、第１ＣＰＵ１１の処理負荷を軽減することができる。更に、第１ボード１及び複数の第２ボード２_1〜２_nは、互いに同様の構成を有し得るため、第１ＣＰＵ番号設定部３１１及び第２ＣＰＵ番号設定部３２１_1〜３２１_nにより識別されることにより定義されることができるため、部品や回路構成を共通化することができ、製造コストを低減することができる。
【００５０】
（その他の実施形態）
上記のように、本発明の実施形態を記載したが、この開示の一部をなす論述及び図面は本発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなろう。
【００５１】
例えば、既に述べた実施形態において、データ書込エリア５０１及び複数のデータ書込エリア５０２_1〜５０２_nは、連続したエリアとして図３に示されるが、第１ＣＰＵ１１専用のデータ書込エリア及び複数の第２プロセッサ１２_1〜１２_nのそれぞれ専用の複数のデータ書込エリアとして、第１アクセスコントローラ３１２及び第２アクセスコントローラ３２２_1〜３２２_iにより同一の定義が共有されていれば、不連続なアドレスであってもよい。
【００５２】
その他、上記の実施形態において説明される各構成を任意に応用した構成等、本発明はここでは記載していない様々な実施形態等を含むことは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【符号の説明】
【００５３】
１  第１ボード
２  第２ボード
６  バックボード
１１  第１ＣＰＵ（第１プロセッサ）
１２_1〜１２_n  第２ＣＰＵ（第２プロセッサ）
３１  第１バスコントローラ
３２_1〜３２_n  第２バスコントローラ
５１  第１デュアルポートメモリ
５２_1〜５２_n  第２デュアルポートメモリ
５０１  データ書込エリア
５０２_1〜５０２_n  データ書込エリア
Ａ１，Ａ２_1〜Ａ２_n，Ａ３  アドレス値
【図１】
2018128845.tif 000003
【図２】
2018128845.tif 000004
【図３】
2018128845.tif 000005
【図４】
2018128845.tif 000006
【図５】
2018128845.tif 000007
【図６】
2018128845.tif 000008
【図７】
2018128845.tif 000009
【図８】
2018128845.tif 000010
【図９】
2018128845.tif 000011