(57)【要約】【課題】主処理装置及び複数の従処理装置間でデュアルポートメモリを介してデータ交換を行う際の、主処理装置の処理負荷を軽減する。【解決手段】主ＣＰＵ１０と複数の従ＣＰＵ２０−ｉ毎に設けられたデュアルポートメモリ３０−ｉとを共通データバスＢＵＳ２で接続し、主ＣＰＵ１０とデュアルポートメモリ３０−ｉとデュアルポートメモリ３０−ｉ毎に設けられたアクセスコントローラ４０−ｉとを共通アドレスバスＢＵＳ１で接続する。デュアルポートメモリ３３０−ｉに共通エリア３２０と、従ＣＰＵ２０−ｉ毎に設けられた個別エリア３２５−ｉとを設け、全てのデュアルポートメモリ３０−ｉで同一のアドレスを設定する。主ＣＰＵ１０から全従ＣＰＵ２０−ｉに同一データを通知するときには、主ＣＰＵ１０は、共通エリア３２０のアドレスを指定して全アクセスコントローラ４０−ｉに対して書き込み指示を行う。【選択図】          図１
2018067049.tif 000002
【特許請求の範囲】
【請求項１】
一の主処理装置と、
複数の従処理装置と、
前記主処理装置と前記従処理装置との間に前記従処理装置毎に対応付けられて設けられ、前記主処理装置との間で入出力されるデータ及び従処理装置との間で入出力されるデータを記憶するデュアルポートメモリと、
当該デュアルポートメモリ毎に対応付けて設けられデュアルポートメモリに対する主処理装置のアクセスを制御する第一メモリアクセスコントローラと、
前記デュアルポートメモリ毎に対応付けて設けられ当該デュアルポートメモリに対する前記従処理装置のアクセスを制御する第二メモリアクセスコントローラと、
前記主処理装置と複数の前記デュアルポートメモリとを接続する共通データバスと、
前記主処理装置と複数の前記第一メモリアクセスコントローラと複数の前記デュアルポートメモリとを接続する共通アドレスバスと、
前記主処理装置と複数の前記第一メモリアクセスコントローラとを接続する共通制御信号線と、を備え、
前記デュアルポートメモリのそれぞれは、前記主処理装置から全ての前記従処理装置に通知される共通データが格納される共通エリアと、全ての前記従処理装置毎に対応付けて設けられた複数の個別エリアと、を有することを特徴とするマルチプロセッサシステム。
【請求項２】
前記共通エリア及び前記個別エリアには全ての前記デュアルポートメモリで同一アドレスが設定されていることを特徴とする請求項１に記載のマルチプロセッサシステム。
【請求項３】
全ての前記第一メモリアクセスコントローラは、
前記共通アドレスバスを介して通知されるアドレスが前記共通エリアを指定するアドレスであり、前記共通制御信号線を介して書き込み指示が通知されたときには、前記共通データバスを介して通知されるデータを、対応するデュアルポートメモリの通知されたアドレスに書き込み、
前記共通アドレスバスを介して通知されるアドレスが自第一メモリアクセスコントローラに対応する従処理装置に対応付けられた個別エリアを指定するアドレスであり、前記共通制御信号線を介して書き込み指示が通知されたときには、前記共通データバスを介して通知されるデータを、対応するデュアルポートメモリの通知されたアドレスに書き込み、
前記共通アドレスバスを介して通知されるアドレスが自第一メモリアクセスコントローラに対応する従処理装置に対応付けられた個別エリアを指定するアドレスであり、前記共通制御信号線を介して読み出し指示が通知されたときには、対応するデュアルポートメモリの通知されたアドレスのデータを前記共通データバスに出力し、
前記共通アドレスバスを介して通知されるアドレスが、前記共通エリアを指定するアドレス及び自第一メモリアクセスコントローラに対応する従処理装置に対応付けられた個別エリアを指定するアドレスのいずれも除くアドレスであるとき、前記共通制御信号線を介して書き込み指示が通知された場合には前記デュアルポートメモリへの書き込みは行わず、前記共通制御信号線を介して読み出し指示が通知された場合には、前記共通データバスを介して通知されるデータを、対応するデュアルポートメモリの通知されたアドレスに書き込むことを特徴とする請求項１又は請求項２に記載のマルチプロセッサシステム。
【請求項４】
前記従処理装置と当該従処理装置に対応する前記デュアルポートメモリとを前記従処理装置毎に接続するデータバスと、
前記従処理装置と当該従処理装置に対応する前記第二メモリアクセスコントローラ及び前記デュアルポートメモリとを前記従処理装置毎に接続するアドレスバスと、
前記従処理装置と当該従処理装置に対応する前記第二メモリアクセスコントローラとを前記従処理装置毎に接続する制御信号線と、を備え、
前記第二メモリアクセスコントローラは、
前記アドレスバスを介して通知されるアドレスが前記デュアルポートメモリ内のアドレスであり、前記制御信号線を介して書き込み指示が通知されたときには、前記データバスを介して通知されるデータを、対応するデュアルポートメモリの通知されたアドレスに書き込み、
前記アドレスバスを介して通知されるアドレスが前記デュアルポートメモリ内のアドレスであり、前記制御信号線を介して読み出し指示が通知されたときには、対応するデュアルポートメモリの通知されたアドレスのデータを、前記データバスに出力し、
前記従処理装置は、前記主処理装置から全ての前記従処理装置に通知される共通データを読み出すときには前記共通エリアを指定するアドレスを通知し、前記主処理装置から自従処理装置のみに通知されるデータを読み出すときには自従処理装置に対応付けられた前記個別エリアを指定するアドレスを通知し、他の従処理装置から自従処理装置に通知されるデータを読み出すときには通知元の従処理装置に対応付けられた前記個別エリアを指定するアドレスを通知することを特徴とする請求項１から請求項３のいずれか一項に記載のマルチプロセッサシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチプロセッサシステムに関する。
【背景技術】
【０００２】
特許文献１には、保護制御演算に影響を与えることなく、遠隔からの整定変更、設定変更、装置内部のデータ転送を高速に実行するに好適なディジタル保護制御装置が開示されている。このディジタル保護制御装置は、デュアルポートメモリにより密結合されたリアルタイム処理演算ブロックとネットワーク処理ブロックとを有している。リアルタイム処理演算ブロックは、リアルタイム処理演算用の演算ＣＰＵ（Central Processing Unit）と、デュアルポートメモリの書き込み制御を実行するデュアルポートメモリ制御回路とを備えている。ネットワーク処理ブロックは、ネットワーク処理用のネットワークＣＰＵと、デュアルポートメモリのネットワークＣＰＵ側からのアクセスを制御するデュアルポートメモリ制御回路とを備えている。
【０００３】
デュアルポートメモリは双方向ポートを備えており、例えば図９に示すように、第一ＣＰＵ１と第二ＣＰＵ２との間に接続され、デュアルポートメモリ３を介して第一ＣＰＵ１と第二ＣＰＵ２との間でデータ交換を行うようになっている。
また、産業用のマルチプロセッサシステム等においては、図９に示すように第一ＣＰＵ１と第二ＣＰＵ２との間で、一対一でデータ交換を行う構成や、図１０に示すように要素機能の個別制御を行う複数の従ＣＰＵ２−ｉ（ｉ＝１、２、３、…、ｎ）と、これら複数のＣＰＵ２−ｉを制御し全体制御を行う主ＣＰＵ１とを備え、一対複数のＣＰＵ間でデータ交換を行う構成も一般的である。
【０００４】
一対複数のＣＰＵ間でデータ交換を行う場合には、図１０に示すように、従ＣＰＵ２−ｉ毎にデュアルポートメモリ３−ｉが設けられ、各従ＣＰＵ２−ｉは、それぞれ対応するデュアルポートメモリ３−ｉを介して、主ＣＰＵ１と従ＣＰＵ２−ｉとの間でデータ交換を行うようになっている。
なお、図９、図１０では図示していないが、第一ＣＰＵ１、第二ＣＰＵ２それぞれとデュアルポートメモリ３との間、主ＣＰＵ１とデュアルポートメモリ３−ｉそれぞれとの間及び各従ＣＰＵ２−ｉと対応するデュアルポートメモリ３−ｉとの間に、デュアルポートメモリ制御回路が設けられ、このデュアルポートメモリ制御回路によって、各ＣＰＵから各デュアルポートメモリ３、３−ｉへのアクセスを制御している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−６４８９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、図１０に示すように、一対複数のＣＰＵを備えたシステムにおいて、ＣＰＵどうしでの簡易なデータ交換手段として、デュアルポートメモリ３−ｉを使用する方法がある。デュアルポートメモリ３−ｉを使用する場合、例えば、全体制御を行う主ＣＰＵ１から全ての従ＣＰＵ２−ｉに対して同一の指令データを通知するときには、主ＣＰＵ１が各従ＣＰＵ２−ｉに対応するデュアルポートメモリ３−ｉそれぞれに対して同一の指令データを個別に書き込む必要がある。
【０００７】
また、従ＣＰＵ２−ｉどうしで互いのデータを使用する場合、例えば、従ＣＰＵ２−１のデータを従ＣＰＵ２−ｎが使用する場合には、まず、従ＣＰＵ２−１がデータＤ−１をデュアルポートメモリ３−１に書き込む。このデュアルポートメモリ３−１に書き込まれたデータＤ−１を主ＣＰＵ１が読み出し、読み出したデータＤ−１を主ＣＰＵ１が従ＣＰＵ２−ｎに対応するデュアルポートメモリ３−ｎに書き込む。そして、従ＣＰＵ２−ｎがデュアルポートメモリ３−ｎからデータＤ−ｎ、つまりデータＤ−１を読み出す。これによって、従ＣＰＵ２−ｎは、従ＣＰＵ２−１のデータＤ−１を取得するようにしている。
【０００８】
このように、主ＣＰＵ１は、全ての従ＣＰＵ２−ｉに対して同一指令データを通知する場合には、デュアルポートメモリ３−ｉのそれぞれに対して同一の指令データを書き込む必要がある。また、主ＣＰＵ１は、従ＣＰＵ２−ｉどうしでデータ交換を行う場合に、デュアルポートメモリ３−ｉからのデータの読み出しや書き込みを行う必要がある。そのため、データ交換を行う際の主ＣＰＵ１の処理負荷が大きいという問題がある。
そこで、本発明は、上記従来の未解決の課題に着目してなされたものであり、主処理装置と複数の従処理装置との間のデータ交換をデュアルポートメモリを介して行う際の、主処理装置の負荷を軽減することの可能なマルチプロセッサシステムを提供することを目的としている。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の一実施形態に係るマルチプロセッサシステムは、一の主処理装置と、複数の従処理装置と、主処理装置と従処理装置との間に従処理装置毎に対応付けられて設けられ、主処理装置との間で入出力されるデータ及び従処理装置との間で入出力されるデータを記憶するデュアルポートメモリと、デュアルポートメモリ毎に対応付けて設けられデュアルポートメモリに対する主処理装置のアクセスを制御する第一メモリアクセスコントローラと、デュアルポートメモリ毎に対応付けて設けられデュアルポートメモリに対する従処理装置のアクセスを制御する第二メモリアクセスコントローラと、主処理装置と複数の前記デュアルポートメモリとを接続する共通データバスと、主処理装置と複数の第一メモリアクセスコントローラと複数のデュアルポートメモリとを接続する共通アドレスバスと、主処理装置と複数の第一メモリアクセスコントローラとを接続する共通制御信号線と、を備え、デュアルポートメモリのそれぞれは、主処理装置から全ての従処理装置に通知される共通データが格納される共通エリアと、全ての従処理装置毎に対応付けて設けられた複数の個別エリアと、を有するマルチプロセッサシステム、が提供される。
【発明の効果】
【００１０】
本発明の一態様によれば、主処理装置と従処理装置との間、及び従処理装置どうしでのデータ交換時における主処理装置の処理負荷を軽減することができるマルチプロセッサシステムを実現することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明を適用したマルチプロセッサシステムの全体構成の一例を示す概略構成図である。
【図２】マルチプロセッサシステムの要部の詳細の一例を示す構成図である。
【図３】デュアルポートメモリの記憶部のエリア区分の一例を示す説明図である。
【図４】従ＣＰＵ側がデュアルポートメモリに書き込み動作を行う際の各部の動作説明に供するタイミングチャートの一例である。
【図５】従ＣＰＵ側がデュアルポートメモリから読み出し動作を行う際の各部の動作説明に供するタイミングチャートの一例である。
【図６】主ＣＰＵ側が全てのデュアルポートメモリに書き込み動作を行う際の各部の動作説明に供するタイミングチャートの一例である。
【図７】主ＣＰＵ側が一つのデュアルポートメモリへ書き込みを行う際の各部の動作説明に供するタイミングチャートの一例である。
【図８】主ＣＰＵ側が一つのデュアルポートメモリから読み出しを行う際の各部の動作説明に供するタイミングチャートの一例である。
【図９】従来のマルチプロセッサシステムの一例を示す構成図である。
【図１０】従来のマルチプロセッサシステムの一例を示す構成図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の一実施形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
また、以下に示す実施形態は、本発明の技術的思想を具体化するための装置や方法を例示するものであって、本発明の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものでない。本発明の技術的思想は、特許請求の範囲に記載された請求項が規定する技術的範囲内において、種々の変更を加えることができる。
【００１３】
図１は、本発明の一実施形態に係るマルチプロセッサシステムの一例を示す概略構成図である。
マルチプロセッサシステム１００は、主ＣＰＵ（主処理装置）１０と、従ＣＰＵ（従処理装置）２０−ｉ（ｉ＝１、２、３、…、ｎ）と、デュアルポートメモリ３０−ｉと、アクセスコントローラ（第一メモリアクセスコントローラ）４０−ｉと、アクセスコントローラ（第二メモリアクセスコントローラ）５０−ｉとを備える。さらに、マルチプロセッサシステム１００は、ＣＰＵ番号設定部６０−ｉと、クロック信号発信器７０と、クロック信号発信器８０−ｉと、を備える。従ＣＰＵ２０−ｉ毎に、デュアルポートメモリ３０−ｉと、アクセスコントローラ４０−ｉ及び５０−ｉと、ＣＰＵ番号設定部６０−ｉと、が設けられ、従ＣＰＵ２０−ｉと、デュアルポートメモリ３０−ｉと、アクセスコントローラ４０−ｉ及び５０−ｉと、ＣＰＵ番号設定部６０−ｉと、が対応付けられている。
【００１４】
各従ＣＰＵ２０−ｉは、例えば産業用機器の制御を行うマルチプロセッサシステム１００において産業用機器の各要素を個別に制御するためのＣＰＵである。主ＣＰＵ１０は、これら従ＣＰＵ２０−ｉを制御し、マルチプロセッサシステム１００の全体制御を行う。
クロック信号発信器７０はクロック信号ＣＬＫを発信し、クロック信号ＣＬＫは主ＣＰＵ１０に出力される。主ＣＰＵ１０はクロック信号ＣＬＫに同期して動作する。クロック信号発信器８０−ｉは従ＣＰＵ２０−ｉ毎に設けられ、クロック信号ＣＬＫＢ−ｉを発信する。このクロック信号ＣＬＫＢ−ｉは、各従ＣＰＵ２０−ｉ、各アクセスコントローラ４０−ｉ、及び各アクセスコントローラ５０−ｉのそれぞれに出力され、これら各部はクロック信号ＣＬＫＢ−ｉに同期して動作する。クロック信号ＣＬＫ及びＣＬＫＢ−ｉの周波数は同一であっても異なる周波数であってもよい。
【００１５】
なお、各デュアルポートメモリ３０−ｉ、各アクセスコントローラ４０−ｉ、各アクセスコントローラ５０−ｉ、及び各従ＣＰＵ２０−ｉの各部はそれぞれ同一構成を有する。
図２は、マルチプロセッサシステム１００の要部の詳細の一例を示す構成図である。
各デュアルポートメモリ３０−ｉは、主ＣＰＵ１０がデュアルポートメモリ３０−ｉにアクセスするための第一入出力ポート３１と、従ＣＰＵ２０−ｉが対応するデュアルポートメモリ３０−ｉにアクセスするための第二入出力ポート３２と、データを記憶する記憶部３３と、を備える。記憶部３３は例えばアレイ構造のメモリセルを有している。
【００１６】
記憶部３３は、図３に示すように、共通エリア３２０と、全ての従ＣＰＵ２０−ｉ毎に設けられた少なくともｎ個の個別エリア３２５−ｉと、を有する。
共通エリア３２０は、主ＣＰＵ１０から全ての従ＣＰＵ２０−ｉに対して同一データが通知される場合に、この同一データが書き込まれる領域である。個別エリア３２５−ｉは、各従ＣＰＵ２０−ｉと主ＣＰＵ１０との間でデータ交換が行われる場合、また、従ＣＰＵ２０−ｉどうしでデータ交換を行う場合に、交換データが記憶される領域である。
【００１７】
個別エリア３２５−ｉは、従ＣＰＵ２０−ｉに対応付けて設けられると共に、この従ＣＰＵ−ｉに対応付けられた、デュアルポートメモリ３０−ｉ、アクセスコントローラ４０−ｉ及び５０−ｉと対応付けられている。
全てのデュアルポートメモリ３０−ｉは、例えば図３に示すように、共通エリア３２０のアドレスをＡＤＲ−０、個別エリア３２５−１のアドレスをＡＤＲ−１、個別エリア３２５−２のアドレスをＡＤＲ−２、…、個別エリア３２５−ｎのアドレスをＡＤＲ−ｎとしてメモリ割付されている。つまり、全ての、デュアルポートメモリ３０−ｉにおいて、共通エリア３２０及び各個別エリア３２５−ｉそれぞれは、互いに同一アドレスが設定されている。
【００１８】
デュアルポートメモリ３０−ｉは、第一入出力ポート３１を介して入力されるデータ書込信号ＬＷＲ−ｉ及び主ＣＰＵ１０から入力されるアドレス信号ＬＡＤＲに応じて、主ＣＰＵ１０から入力される書込データＬＤＴＷを記憶部３３に書き込む。また、デュアルポートメモリ３０−ｉは、第二入出力ポート３２を介して入力されるデータ書込信号ＲＷＲ−ｉ及び従ＣＰＵ２０−ｉから入力されるアドレス信号ＲＡＤＲ−ｉに応じて、従ＣＰＵ２０−ｉから入力される書込データＲＤＴＷ−ｉを記憶部３３に書き込む。
【００１９】
また、デュアルポートメモリ３０−ｉは、第一入出力ポート３１を介して入力されるデータ読出信号ＬＲＤ−ｉ及びアドレス信号ＬＡＤＲに応じて、記憶部３３のデータを読出データＬＤＴＲとして読み出す。
さらにデュアルポートメモリ３０−ｉは、第二入出力ポート３２を介して入力されるデータ読出信号ＲＲＤ−ｉ及びアドレス信号ＲＡＤＲ−ｉに応じて、記憶部３３のデータを読み出し、読出データＲＤＴＲ−ｉとして出力する。
【００２０】
第一入出力ポート３１には、データ読出信号ＬＲＤ−ｉ、データ書込信号ＬＷＲ−ｉ、チップセレクト信号ＬＣＳ−ｉ、及びアドレス信号ＬＡＤＲが入力される入力端子が設けられている。また、第一入出力ポート３１には、読出データＬＤＴＲが出力され、書込データＬＤＴＷが入力される入出力端子が設けられている。同様に、第二入出力ポート３２には、データ読出信号ＲＲＤ−ｉ、データ書込信号ＲＷＲ−ｉ、チップセレクト信号ＲＣＳ−ｉ、及びアドレス信号ＲＡＤＲ−ｉが入力される入力端子が設けられている。また、第二入出力ポート３２には、読出データＲＤＴＲ−ｉが出力され、書込データＲＤＴＷ−ｉが入力される入出力端子が設けられている。
【００２１】
各アクセスコントローラ４０−ｉは、このアクセスコントローラ４０−ｉに対応付けられたデュアルポートメモリ３０−ｉに対する主ＣＰＵ１０のアクセスを制御する。
各アクセスコントローラ５０−ｉは、このアクセスコントローラ５０−ｉに対応付けられたデュアルポートメモリ３０−ｉに対する従ＣＰＵ２０−ｉのアクセスを制御する。
【００２２】
各ＣＰＵ番号設定部６０−ｉは、各従ＣＰＵ２０−ｉのそれぞれに対し、異なるＣＰＵ番号Ｎ−ｉを設定する。また、ＣＰＵ番号設定部６０−ｉで設定されたＣＰＵ番号Ｎ−ｉは、従ＣＰＵ２０−ｉに対応付けられたアクセスコントローラ４０−ｉ及びアクセスコントローラ５０−ｉに通知される。ＣＰＵ番号Ｎ−ｉが通知された従ＣＰＵ２０−ｉ、アクセスコントローラ４０−ｉ、及びアクセスコントローラ５０−ｉのそれぞれは、通知されたＣＰＵ番号Ｎ−ｉを所定の記憶領域に記憶する。
各ＣＰＵ番号設定部６０−ｉは、例えば、ロータリスイッチ、短絡片を使用するビットスイッチ等の手動により設定されるスイッチ、又はレジスタ等の電子回路からなるスイッチ等で構成される。
【００２３】
各ＣＰＵ番号設定部６０−ｉによって設定されたＣＰＵ番号Ｎ−ｉにより、各従ＣＰＵ２０−ｉがデュアルポートメモリ３０−ｉを利用してデータ交換を行う際に、デュアルポートメモリ３０−ｉの記憶部３３に設けられた複数の個別エリア３２５−ｉのうち、どの個別エリアを使用するかが決定される。また、各アクセスコントローラ４０−ｉ及び５０−ｉは、ＣＰＵ番号Ｎ−ｉにより、これらアクセスコントローラ４０−ｉ及び５０−ｉに対応付けられた従ＣＰＵ２０−ｉが、デュアルポートメモリ３０−ｉに設けられた複数の個別エリア３２５−ｉのうちどの個別エリアを使用するかを認識する。例えば、従ＣＰＵ２０−１に対し、ＣＰＵ番号Ｎ−１が設定された場合には、アクセスコントローラ４０−１及び５０−１は、従ＣＰＵ２０−１が個別エリア３２５−１を使用するものと認識する。
【００２４】
また、アクセスコントローラ４０−ｉは、主ＣＰＵ１０から通知されるアドレス信号ＬＡＤＲが、対応する個別エリア３２５−ｉに割り付けられたアドレスを指定するとき、自己宛のアドレス信号であると認識して、デュアルポートメモリ３０−ｉの、アドレス信号で指定される個別エリア３２５−ｉへのアクセスを行う。
【００２５】
主ＣＰＵ１０と各アクセスコントローラ４０−ｉとの間には、データ読出指示信号ＲＤ送信用の共通信号ライン（共通制御信号線）Ｌ１と、データ書込指示信号ＷＲ送信用の共通信号ライン（共通制御信号線）Ｌ２が設けられている。また、アクセスコントローラ４０−ｉと、デュアルポートメモリ３０−ｉとの間には、データ読出信号ＬＲＤ−ｉ送信用の信号ラインＬ３−ｉと、データ書込信号ＬＷＲ−ｉ送信用の信号ラインＬ４−ｉと、チップセレクト信号ＬＣＳ−ｉ送信用の信号ラインＬ５−ｉとが設けられている。主ＣＰＵ１０と全てのアクセスコントローラ４０−ｉと全てのデュアルポートメモリ３０−ｉとは、共通のアドレスバス（以下、共通アドレスバスという。）ＢＵＳ１で接続される。主ＣＰＵ１０と全てのデュアルポートメモリ３０−ｉとは共通のデータバス（以下、共通データバスという。）ＢＵＳ２で接続される。
【００２６】
一方、各従ＣＰＵ２０−ｉと各従ＣＰＵ２０−ｉに対応付けられたアクセスコントローラ５０−ｉとの間には、データ読出指示信号ＲＤ−ｉ送信用の信号ライン（制御信号線）Ｌ１１−ｉと、データ書込指示信号ＷＲ−ｉ送信用の信号ライン（制御信号線）Ｌ１２−ｉとが設けられている。また、各アクセスコントローラ５０−ｉと各アクセスコントローラ５０−ｉに対応付けられたデュアルポートメモリ３０−ｉとの間には、データ読出信号ＲＲＤ−ｉ送信用の信号ラインＬ１３−ｉと、データ書込信号ＲＷＲ−ｉ送信用の信号ラインＬ１４−ｉと、チップセレクト信号ＲＣＳ−ｉ送信用の信号ラインＬ１５−ｉとが設けられている。また、各従ＣＰＵ２０−ｉと各従ＣＰＵ２０−ｉに対応付けられたアクセスコントローラ５０−ｉ及びデュアルポートメモリ３０−ｉとは、アドレスバスＢＵＳ３−ｉで接続される。同様に、各従ＣＰＵ２０−ｉは各従ＣＰＵ２０−ｉに対応付けられたデュアルポートメモリ３０−ｉとデータバスＢＵＳ４−ｉで接続される。
次に、アクセスコントローラ４０−ｉ及び５０−ｉのデュアルポートメモリ３０−ｉへのアクセス時の動作を説明する。
【００２７】
（アクセスコントローラ５０−ｉによる書き込み時の動作）
アクセスコントローラ５０−ｉは、従ＣＰＵ２０−ｉからのアドレス信号ＲＡＤＲ−ｉが記憶部３３内のアドレスを指定するとき、チップセレクト信号ＲＣＳ−ｉをアサート状態（有効状態）にする。さらに従ＣＰＵ２０−ｉからのデータ書込指示信号ＷＲ−ｉがアサート状態に切り替わると、データ書込信号ＲＷＲ−ｉをアサート状態にする。これにより、デュアルポートメモリ３０−ｉのアドレス信号ＲＡＤＲ−ｉで指定されるアドレスに、データバスＢＵＳ４−ｉ上のデータが書込データＲＤＴＷ−ｉとして書き込まれる。
【００２８】
（アクセスコントローラ５０−ｉによる読み出し時の動作）
アクセスコントローラ５０−ｉは、従ＣＰＵ２０−ｉからのアドレス信号ＲＡＤＲ−ｉが記憶部３３内のアドレスを指定するとき、チップセレクト信号ＲＣＳ−ｉをアサート状態にする。さらに従ＣＰＵ２０−ｉからのデータ読出指示信号ＲＤ−ｉがアサート状態に切り替わると、データ読出信号ＲＲＤ−ｉをアサート状態にする。これにより、対応するデュアルポートメモリ３０−ｉのアドレス信号ＲＡＤＲ−ｉで指定されるアドレスからのデータが読出データＲＤＴＲ−ｉとして出力される。
【００２９】
（アクセスコントローラ４０−ｉによる共通エリアへの書き込み時の動作）
アクセスコントローラ４０−ｉは、主ＣＰＵ１０からのアドレス信号ＬＡＤＲがデュアルポートメモリ３０−ｉの共通エリア３２０を指定するとき、チップセレクト信号ＬＣＳ−ｉをアサート状態にする。さらに主ＣＰＵ１０からのデータ書込指示信号ＷＲがアサート状態に切り替わると、データ書込信号ＬＷＲ−ｉをアサート状態にする。これにより、デュアルポートメモリ３０−ｉのアドレス信号ＬＡＤＲで指定されるアドレス、つまり共通エリア３２０に、共通データバスＢＵＳ２により通知されるデータが書込データＬＤＴＷとして書き込まれる。
全てのアクセスコントローラ４０−ｉがこの動作を行うため、全てのデュアルポートメモリ３０−ｉの共通エリア３２０に、同一の書込データＬＤＴＷが書き込まれる。
【００３０】
（アクセスコントローラ４０−ｉによる一つの個別エリア３２５−ｉへの書き込み時の動作）
アクセスコントローラ４０−ｉのうち、主ＣＰＵ１０からのアドレス信号ＬＡＤＲが、自アクセスコントローラ４０−ｉに対応付けられた個別エリア３２５−ｉを指定するアドレスであるアクセスコントローラ４０−ｉは、チップセレクト信号ＬＣＳ−ｉをアサート状態にする。さらに主ＣＰＵ１０からのデータ書込指示信号ＷＲがアサート状態に切り替わると、データ書込信号ＬＷＲ−ｉをアサート状態にする。これにより、デュアルポートメモリ３０−ｉのアドレス信号ＬＡＤＲで指定されるアドレス、つまり個別エリア３２５−ｉに、共通データバスＢＵＳ２により通知される書込データＬＤＴＷが書き込まれる。
なお、アクセスコントローラ４０−ｉのうち、主ＣＰＵ１０からのアドレス信号ＬＡＤＲが、自アクセスコントローラ４０−ｉに対応付けられた個別エリア３２５−ｉを指定するアドレスではないアクセスコントローラ４０−ｉの動作については後述する。
【００３１】
（アクセスコントローラ４０−ｉによる個別エリア３２５−ｉからの読み出し時の動作）
アクセスコントローラ４０−ｉのうち、主ＣＰＵ１０からのアドレス信号ＬＡＤＲが、自アクセスコントローラ４０−ｉに対応付けられた個別エリア３２５−ｉを指定するアドレスであるアクセスコントローラ４０−ｉは、チップセレクト信号ＬＣＳ−ｉをアサート状態にする。さらに主ＣＰＵ１０からのデータ読出指示信号ＲＤがアサート状態に切り替わると、データ読出信号ＬＲＤ−ｉをアサート状態にする。これにより、デュアルポートメモリ３０−ｉの個別エリア３２５−ｉのデータが、読出データＬＤＴＲとして出力される。
なお、アクセスコントローラ４０−ｉのうち、主ＣＰＵ１０から出力されるアドレス信号ＬＡＤＲが、自アクセスコントローラ４０−ｉに対応付けられた個別エリア３２５−ｉを指定するアドレスではないアクセスコントローラ４０−ｉの動作については後述する。
【００３２】
（アドレス信号ＬＡＤＲが、共通エリア３２０及び自アクセスコントローラ４０−ｉに対応する個別エリア３２５−ｉを除くエリアを指定するアドレスである場合の、アクセスコントローラ４０−ｉの動作）
（書き込み指示時）
アクセスコントローラ４０−ｉのうち、主ＣＰＵ１０から出力されるアドレス信号ＬＡＤＲが、共通エリア３２０を指定するアドレスでもなく、且つ自アクセスコントローラ４０−ｉに対応付けられた個別エリア３２５−ｉを指定するアドレスのいずれでもないアクセスコントローラ４０−ｉは、主ＣＰＵ１０からのデータ書込指示信号ＷＲがアサート状態に切り替わっても、データ書込信号ＬＷＲ−ｉをネゲート状態のままに維持する。このため、デュアルポートメモリ３０−ｉへの書き込みは行われない。
【００３３】
したがって、主ＣＰＵ１０により、いずれかの個別エリア、例えば３２５−α（αは１〜ｎのいずれかの値）への書き込みが指示された場合、複数のデュアルポートメモリ３０−ｉのうち、アドレス信号ＬＡＤＲで指定された個別エリアに対応する、デュアルポートメモリ３０−αの個別エリア３２５−αにのみ書込データＬＤＴＷが格納され、他のデュアルポートメモリ３０−ｉには書込データＬＤＴＷは格納されない。
【００３４】
（読み出し指示時）
アクセスコントローラ４０−ｉのうち、主ＣＰＵ１０から出力されるアドレス信号ＬＡＤＲが、共通エリア３２０を指定するアドレスでもなく、且つ自アクセスコントローラ４０−ｉに対応付けられた個別エリア３２５−ｉを指定するアドレスのいずれでもないアクセスコントローラ、例えば４０−β（βは、１〜ｎのうちのαを除く値）は、主ＣＰＵ１０からのデータ読出指示信号ＲＤがアサート状態に切り替わっても、データ読出信号ＬＲＤ−βをネゲート状態のままとする。そして、チップセレクト信号ＬＣＳ−βをアサート状態にし、さらに、データ書込信号ＬＷＲ−βをアサート状態にする。これにより、各アクセスコントローラ４０−βに対応するデュアルポートメモリ３０−βそれぞれの個別エリア３２５−αに、共通データバスＢＵＳ２上のデータを書き込む。
【００３５】
したがって、主ＣＰＵ１０により、いずれかの個別エリア、例えば３２５−αからの読み出しが指示された場合、複数のデュアルポートメモリ３０−ｉのうち、アドレス信号ＬＡＤＲで指定された個別エリアに対応する、デュアルポートメモリ３０−αの個別エリア３２５−αに格納されているデータが、他のデュアルポートメモリ３０−βそれぞれの個別エリア３２５−αそれぞれに格納されることになる。つまり、全てのデュアルポートメモリ３０−ｉの個別エリア３２５−αに、デュアルポートメモリ３０−αの個別エリア３２５−αに格納されているデータと同一のデータが格納されることになる。
次に、上記実施形態の動作を図４から図８のタイミングチャートを伴って説明する。
【００３６】
（アクセスコントローラ５０−ｉによる書き込み時の動作）
図４は、アクセスコントローラ５０−ｉがデュアルポートメモリ３０−ｉにデータを書き込む場合、つまり従ＣＰＵ２０−ｉがデュアルポートメモリ３０−ｉにデータを書き込む場合のタイミングチャートを示したものである。
図４において、（ａ）はアドレス信号ＲＡＤＲ−ｉ、（ｂ）は書込データＲＤＴＷ−ｉ、（ｃ）はデータ読出指示信号ＲＤ−ｉ、（ｄ）はデータ書込指示信号ＷＲ−ｉ、（ｅ）はチップセレクト信号ＲＣＳ−ｉ、（ｆ）はデータ読出信号ＲＲＤ−ｉ、（ｇ）はデータ書込信号ＲＷＲ−ｉである。
【００３７】
従ＣＰＵ２０−ｉは、まず書き込み先を指定するアドレス信号ＲＡＤＲ−ｉと、書込データＲＤＴＷ−ｉとを出力する。
アクセスコントローラ５０−ｉは、時点ｔ１で、アドレス信号ＲＡＤＲ−ｉが確定し、このアドレス信号ＲＡＤＲ−ｉが記憶部３３内のアドレスであると判断すると、チップセレクト信号ＲＣＳ−ｉをアサート状態に切り替える。時点ｔ２で従ＣＰＵ２０−ｉがデータ書込指示信号ＷＲ−ｉをアサート状態に切り替えると、アクセスコントローラ５０−ｉは、データ書込信号ＲＷＲ−ｉをアサート状態に切り替える。これによりデュアルポートメモリ３０−ｉに書込データＲＤＴＷ−ｉが書き込まれる。
【００３８】
そして、従ＣＰＵ２０−ｉが、時点ｔ３でデータ書込指示信号ＷＲ−ｉをネゲート状態に切り替えると、アクセスコントローラ５０−ｉはデータ書込信号ＲＷＲ−ｉをネゲート状態に切り替える。
続いて、時点ｔ４で、従ＣＰＵ２０−ｉがアドレス信号ＲＡＤＲ−ｉを切り替え、時点ｔ５でアドレス信号ＲＡＤＲ−ｉが確定し、アクセスコントローラ５０−ｉが、このアドレス信号ＲＡＤＲ−ｉが記憶部３３内のアドレスではないと判断すると、アクセスコントローラ５０−ｉはチップセレクト信号ＲＣＳ−ｉをネゲート状態に切り替える。
【００３９】
ここで、各従ＣＰＵ２０−ｉは、自従ＣＰＵ２０−ｉと主ＣＰＵ１０との間でデータ交換を行う場合、また、自従ＣＰＵ２０−ｉから他の従ＣＰＵ２０−ｉにデータ通知を行う場合には、複数の個別エリア３２５−ｉのうち自従ＣＰＵ２０−ｉに対応する個別エリアを介して行う。このため、アクセスコントローラ５０−ｉは、従ＣＰＵ２０−ｉから入力されるアドレス信号ＲＡＤＲ−ｉが、自従ＣＰＵ２０−ｉに対応する個別エリア３２５−ｉを指定するアドレスではないと判断されるときには、従ＣＰＵ２０−ｉからのデータ書込指示信号ＷＲ−ｉがアサート状態となった場合に、データ書込信号ＲＷＲ−ｉをネゲート状態のままとする。
【００４０】
（アクセスコントローラ５０−ｉによる読み出し時の動作）
図５は、アクセスコントローラ５０−ｉがデュアルポートメモリ３０−ｉからデータを読み出す場合、つまり、従ＣＰＵ２０−ｉがデュアルポートメモリ３０−ｉからデータを読み出す場合の、タイミングチャートを示したものである。
図５において、（ａ）はアドレス信号ＲＡＤＲ−ｉ、（ｂ）はデータ読出指示信号ＲＤ−ｉ、（ｃ）はデータ書込指示信号ＷＲ−ｉ、（ｄ）はチップセレクト信号ＲＣＳ−ｉ、（ｅ）はデータ読出信号ＲＲＤ−ｉ、（ｆ）はデータ書込信号ＲＷＲ−ｉ、（ｇ）は読出データＲＤＴＲ−ｉである。
【００４１】
従ＣＰＵ２０−ｉは、まず読み出し先を指定するアドレス信号ＲＡＤＲ−ｉを出力し、チップセレクト信号ＲＣＳ−ｉをアサート状態に切り替える。
アクセスコントローラ５０−ｉは、時点ｔ１で、アドレス信号ＲＡＤＲ−ｉが確定し、このアドレス信号ＲＡＤＲ−ｉが、記憶部３３内のアドレスを指定する信号であると判断すると、チップセレクト信号ＲＣＳ−ｉをアサート状態に切り替える。時点ｔ２で従ＣＰＵ２０−ｉがデータ読出指示信号ＲＤ−ｉ（ｉ＝α）をアサート状態に切り替えると、アクセスコントローラ５０−ｉは、データ読出信号ＲＲＤ−ｉをアサート状態に切り替える。これにより、デュアルポートメモリ３０−ｉの個別エリア３２５−ｉに格納されたデータがデータバスＢＵＳ４−ｉに出力され、時点ｔ３で読出データＲＤＴＲ−ｉとして確定する。
【００４２】
そして、時点ｔ４で従ＣＰＵ２０−ｉがデータ読出指示信号ＲＤ−ｉをネゲート状態に切り替え、データバスＢＵＳ４−ｉ上の読出データＲＤＴＲ−ｉを読み込む。また、アクセスコントローラ５０−ｉはデータ読出信号ＲＲＤ−ｉをネゲート状態に切り替える。そして、従ＣＰＵ２０−ｉがアドレス信号ＲＡＤＲ−ｉを切り替え、時点ｔ５でアドレス信号ＲＡＤＲ−ｉが確定すると、アクセスコントローラ５０−ｉは、アドレス信号ＲＡＤＲ−ｉが記憶部３３内のアドレスを指定する信号でないと判断すると、チップセレクト信号ＲＣＳ−ｉをネゲート状態に切り替える。
【００４３】
なお、時点ｔ２でデータ読出信号ＲＲＤ−ｉがネゲート状態になってから、時点ｔ３で読出データＲＤＴＲ−ｉが確定するまでの時点ｔ２〜ｔ３の時間差は、デュアルポートメモリ３０−ｉの出力遅延によるものである。
なお、後述するが主ＣＰＵ１０から、全ての従ＣＰＵ２０−ｉへ同一データを通知する際には、デュアルポートメモリ３０−ｉの共通エリア３２０を介して行う。また、従ＣＰＵ２０−ｉのうちのいずれか、例えばＣＰＵ２０−αから、他の従ＣＰＵ、例えば２０−βに対してデータ通知を行う場合には、ＣＰＵ２０−αに対応する個別エリア３２５−αを介してこの合う。このため、従ＣＰＵ２０−ｉが出力するアドレス信号ＲＡＤＲ−ｉが、従ＣＰＵ２０−ｉに対応する個別エリア３２５−ｉを除く領域を指定するアドレスであっても、従ＣＰＵ２０−ｉがデュアルポートメモリ３０−ｉからデータを読み出す読み出し操作の場合には、アクセスコントローラ５０−ｉは、チップセレクト信号ＲＣＳ−ｉ及び、データ読出信号ＲＲＤ−ｉをアサート状態に切り替える。
【００４４】
（主ＣＰＵ１０による共通エリアへの書き込み時の動作）
主ＣＰＵ１０から全ての従ＣＰＵ２０−ｉに同一データを通知する場合、共通エリアを介して行う。
図６に、主ＣＰＵ１０が共通エリア３２０に共通データを書き込む場合のタイミングチャートを示す。図６において、（ａ）はアドレス信号ＬＡＤＲ、（ｂ）は書込データＬＤＴＷ、（ｃ）はデータ読出指示信号ＲＤ、（ｄ）はデータ書込指示信号ＷＲ、（ｅ）はアクセスコントローラ４０−１から出力されるチップセレクト信号ＬＣＳ−１、（ｆ）はアクセスコントローラ４０−１から出力されるデータ読出信号ＬＲＤ−１、（ｇ）はアクセスコントローラ４０−１から出力されるデータ書込信号ＬＷＲ−１、（ｈ）はアクセスコントローラ４０−ｉから出力されるチップセレクト信号ＬＣＳ−ｉ、（ｉ）はアクセスコントローラ４０−ｉから出力されるデータ読出信号ＬＲＤ−ｉ、（ｊ）はアクセスコントローラ４０−ｉから出力されるデータ書込信号ＬＷＲ−ｉ、（ｋ）はアクセスコントローラ４０−ｎから出力されるチップセレクト信号ＬＣＳ−ｎ、（ｌ）はアクセスコントローラ４０−ｎから出力されるデータ読出信号ＬＲＤ−ｎ、（ｍ）はアクセスコントローラ４０−ｎから出力されるデータ書込信号ＬＷＲ−ｎ、を示す。
【００４５】
主ＣＰＵ１０は、まず共通エリア３２０を指定するアドレス信号ＬＡＤＲと、書込データＬＤＴＷと、を出力する。
各アクセスコントローラ４０−ｉは、時点ｔ１でアドレス信号ＬＡＤＲが確定し、アドレス信号ＬＡＤＲが共通エリア３２０を指定するアドレスであると判断すると、チップセレクト信号ＬＣＳ−ｉをアサート状態に切り替える。時点ｔ２で主ＣＰＵ１０がデータ書込指示信号ＷＲをアサート状態に切り替えると、各アクセスコントローラ４０−ｉは、データ書込信号ＬＷＲ−ｉを一定時間アサート状態に切り替える。これにより、各デュアルポートメモリ３０−ｉの共通エリア３２０に書込データＬＤＴＷが書き込まれる。つまり、共通データバスＢＵＳ２に出力された書込データＬＤＴＷが、全てのデュアルポートメモリ３０−ｉの共通エリア３２０に書き込まれることになる。
【００４６】
そして、時点ｔ３で主ＣＰＵ１０がデータ書込指示信号ＷＲをネゲート状態に切り替え、続いてアドレス信号ＬＡＤＲを切り替え、時点ｔ４でアドレス信号ＬＡＤＲが確定すると、各アクセスコントローラ４０−ｉでは、共通エリア３２０を指定するアドレス信号ＬＡＤＲではないと判断すると、チップセレクト信号ＬＣＳ−ｉをネゲート状態に切り替える。
なお、各アクセスコントローラ４０−ｉでは、データ書込指示信号ＷＲがアサート状態である時点ｔ２〜ｔ３の間であれば、例えば、クロック信号などに基づいて、各アクセスコントローラ４０−ｉで都合のよいタイミングで、データ書込信号ＬＷＲ−ｉをアサート状態とすればよい。
【００４７】
（主ＣＰＵ１０による一つの個別エリア３２５−ｉへの書き込み時の動作）
主ＣＰＵ１０から、一つの従ＣＰＵ２０−ｉにデータを通知する場合、データの通知は、従ＣＰＵ２０−ｉに対応する個別エリア３２５−ｉを介して行う。
図７に、主ＣＰＵ１０が従ＣＰＵ、例えば２０−αに対応するデュアルポートメモリ３０−αの個別エリア３２５−αに通知データを書き込む場合のタイミングチャートを示す。図７において、（ａ）はアドレス信号ＬＡＤＲ、（ｂ）は書込データＬＤＴＷ、（ｃ）はデータ読出指示信号ＲＤ、（ｄ）はデータ書込指示信号ＷＲ、（ｅ）はアクセスコントローラ４０−１から出力されるチップセレクト信号ＬＣＳ−１、（ｆ）はアクセスコントローラ４０−１から出力されるデータ読出信号ＬＲＤ−１、（ｇ）はアクセスコントローラ４０−１から出力されるデータ書込信号ＬＷＲ−１、（ｈ）はアクセスコントローラ４０−αから出力されるチップセレクト信号ＬＣＳ−α、（ｉ）はアクセスコントローラ４０−αから出力されるデータ読出信号ＬＲＤ−α、（ｊ）はアクセスコントローラ４０−αから出力されるデータ書込信号ＬＷＲ−α、（ｋ）はアクセスコントローラ４０−ｎから出力されるチップセレクト信号ＬＣＳ−ｎ、（ｌ）はアクセスコントローラ４０−ｎから出力されるデータ読出信号ＬＲＤ−ｎ、（ｍ）はアクセスコントローラ４０−ｎから出力されるデータ書込信号ＬＷＲ−ｎ、を示す。
【００４８】
主ＣＰＵ１０は、まずデータ通知先の従ＣＰＵ２０−αに対応する個別エリア３２５−αを指定するアドレス信号ＬＡＤＲと、書込データＬＤＴＷとを出力する。
各アクセスコントローラ４０−ｉは、時点ｔ１でアドレス信号ＬＡＤＲが確定すると、アドレス信号ＬＡＤＲが、共通エリア３２０を指定しているか、自アクセスコントローラ４０−ｉに対応する個別エリア３２５−ｉを指定しているかを判断し、自アクセスコントローラ４０−ｉに対応する個別エリア３２５−ｉを指定していると判断したアクセスコントローラ、例えば４０−αは、チップセレクト信号ＬＣＳ−αをアサート状態に切り替える。アドレス信号ＬＡＤＲが共通エリア３２０及び自アクセスコントローラ４０−ｉに対応する個別エリア３２５−ｉのいずれも指定していないと判断したアクセスコントローラ４０−ｉのそれぞれは、チップセレクト信号ＬＣＳ−ｉと、データ書込信号ＬＷＲ−ｉをネゲート状態のままとする。
【００４９】
そして、時点ｔ２で主ＣＰＵ１０がデータ書込指示信号ＷＲをアサート状態に切り替えると、アクセスコントローラ４０−αは、データ書込信号ＬＷＲ−αを一定時間アサート状態に切り替える。これにより、デュアルポートメモリ３０−αの個別エリア３２５−αに書込データＬＤＴＷが書き込まれる。
一方、アクセスコントローラ４０−αを除く各アクセスコントローラ４０−ｉは、個別エリア３２５−αのみへのデータの書き込みと判断し、デュアルポートメモリ３０−ｉへのデータの書き込みは行わない。これにより、主ＣＰＵ１０から出力された書込データＬＤＴＷは、デュアルポートメモリ３０−ｉのうち、デュアルポートメモリ３０−αの個別エリア３２５−αにのみ書き込まれ、他のデュアルポートメモリ３０−ｉには書き込まれない。
【００５０】
そして、時点ｔ３で主ＣＰＵ１０がデータ書込指示信号ＷＲをネゲート状態に切り替え、続いてアドレス信号ＬＡＤＲを切り替えると、時点ｔ４でアドレス信号ＬＡＤＲが確定した時点で、アクセスコントローラ４０−αは、アドレス信号ＬＡＤＲが個別エリア３２５−αを指定するアドレスではないと判断し、チップセレクト信号ＬＣＳ−αをネゲート状態に切り替える。
なお、アクセスコントローラ４０−αでは、データ書込指示信号ＷＲがアサート状態である時点ｔ２〜ｔ３の間であれば、例えば、クロック信号などに基づいて、アクセスコントローラ４０−αで都合のよいタイミングで、データ書込信号ＬＷＲ−αをアサート状態とすればよい。
【００５１】
（主ＣＰＵ１０による個別エリア３２５−ｉからの読み出し時の動作）
主ＣＰＵ１０は、一つの従ＣＰＵ２０−ｉからデータを受け取る場合、従ＣＰＵ２０−ｉに対応するデュアルポートメモリ３０−ｉの個別エリア３２５−ｉからデータを読み出す。また、アクセスコントローラ４０−ｉがデュアルポートメモリ３０−ｉの個別エリア３２５−ｉからデータを読み出す動作を行うことにより、読み出したデータを、データの読み出し先のデュアルポートメモリ３０−ｉを除く他のデュアルポートメモリ３０−ｉへ書き込む。
【００５２】
図８に、アクセスコントローラ４０−ｉが、デュアルポートメモリ３０−ｉからデータを読み出す場合のタイミングチャートを示す。図８において、（ａ）はアドレス信号ＬＡＤＲ、（ｂ）はデータ読出指示信号ＲＤ、（ｃ）はデータ書込指示信号ＷＲ、（ｄ）はアクセスコントローラ４０−１から出力されるチップセレクト信号ＬＣＳ−１、（ｅ）はアクセスコントローラ４０−１から出力されるデータ読出信号ＬＲＤ−１、（ｆ）はアクセスコントローラ４０−１から出力されるデータ書込信号ＬＷＲ−１、（ｇ）はアクセスコントローラ４０−αからデュアルポートメモリ３０−αに出力されるチップセレクト信号ＬＣＳ−α、（ｈ）はアクセスコントローラ４０−αからデュアルポートメモリ３０−αに出力されるデータ読出信号ＬＲＤ−α、（ｉ）はアクセスコントローラ４０−αから出力されるデータ書込信号ＬＷＲ−α、（ｊ）は読出データＬＤＴＲ、（ｋ）はアクセスコントローラ４０−ｎから出力されるチップセレクト信号ＬＣＳ−ｎ、（ｌ）はアクセスコントローラ４０−ｎから出力されるデータ読出信号ＬＲＤ−ｎ、（ｍ）はアクセスコントローラ４０−ｎから出力されるデータ書込信号ＬＷＲ−ｎ、を示す。
【００５３】
主ＣＰＵ１０は、データ交換先の従ＣＰＵ、例えば２０−αに対応する個別エリア３２５−αを指定するアドレス信号ＬＡＤＲを出力する。
アドレス信号ＬＡＤＲが時点ｔ１で確定し、各アクセスコントローラ４０−ｉのうち、自アクセスコントローラ４０−ｉに対応する個別エリア３２５−ｉを指定するアドレス信号ＬＡＤＲであると判定したアクセスコントローラ、例えば４０−αは、チップセレクト信号ＬＣＳ−αをアサート状態に切り替える。
【００５４】
そして、時点ｔ２で主ＣＰＵ１０がデータ読出指示信号ＲＤをアサート状態に切り替えると、アクセスコントローラ４０−αはデータ読出信号ＬＲＤ−αをアサート状態に切り替える。これにより、時点ｔ２からｔ３の出力遅延後に、デュアルポートメモリ３０−αの個別エリア３２５−αのデータが読出データＬＤＴＲとして共通データバスＢＵＳ２に出力される。
【００５５】
主ＣＰＵ１０は時点ｔ４でデータ読出指示信号ＲＤをネゲート状態に切り替え、このタイミングで、読出データＬＤＴＲを読み込む。その後、主ＣＰＵ１０がアドレス信号ＬＡＤＲを切り替えると、アクセスコントローラ４０−αでは、データ読出指示信号ＲＤがネゲート状態に切り替わったことを受けてデータ読出信号ＬＲＤ−αをネゲート状態に切り替え、時点ｔ６でアドレス信号ＬＡＤＲが確定すると、個別エリア３２５−αを指定するアドレスではない場合にはチップセレクト信号ＬＣＳ−αをネゲート状態に切り替える。
【００５６】
一方、アクセスコントローラ４０−αを除く他のアクセスコントローラ４０−ｉは、アドレス信号ＬＡＤＲが個別エリア３２５−αを指定するアドレス信号であり、時点ｔ２でデータ読出指示信号ＲＤがアサート状態に切り替わったことから、デュアルポートメモリ３０−αの個別エリア３２５−αからのデータの読出と判断し、図８の（ｄ）〜（ｆ）、（ｋ）〜（ｍ）に示すように、チップセレクト信号ＬＣＳ−ｉをアサート状態に切り替え、共通データバスＢＵＳ２に出力された読出データＬＤＴＲが確定した時点ｔ３からデータ読出指示信号ＲＤがネゲート状態に切り替わる時点ｔ４までの間に、データ書込信号ＬＷＲ−ｉを一定時間アサート状態に切り替える。これにより、デュアルポートメモリ３０−αを除く各デュアルポートメモリ３０−ｉそれぞれの個別エリア３２５−αに、共通データバスＢＵＳ２上のデータ、つまり、アクセスコントローラ４０−αがデュアルポートメモリ３０−αの個別エリア３２５−αから読み出した、読出データＬＤＴＲが書き込まれる。
【００５７】
そして、アクセスコントローラ４０−αを除くアクセスコントローラ４０−ｉは、時点ｔ４でデータ読出信号ＲＤがネゲート状態に切り替わると、これを受けてチップセレクト信号ＬＣＳ−ｉをネゲート状態に切り替える。
以上の操作によって、アクセスコントローラ４０−αを除く各デュアルポートメモリ３０−ｉの個別エリア３２５−αに、デュアルポートメモリ３０−αの個別エリア３２５−αに格納されていたデータが書き込まれることになる。
【００５８】
したがって、従ＣＰＵ２０−αを除く従ＣＰＵ２０−ｉは、対応するデュアルポートメモリ３０−ｉの個別エリア３２５−αからデータを読み出すことにより、従ＣＰＵ２０−αがデュアルポートメモリ３０−αに書き込んだデータを取得することができる。つまり、従ＣＰＵ２０−αから、他の従ＣＰＵ２０−ｉに対して、データ通知を行うことができる。
【００５９】
なお、アクセスコントローラ４０−αを除くアクセスコントローラ４０−ｉでは、データ読出信号ＲＤ−ｉがアサート状態となる時点ｔ２〜ｔ４間で、例えば、クロック信号などに基づいて、共通データバスＢＵＳ２上に出力された読出データＬＤＴＲが安定し、デュアルポートメモリ３０−ｉに共通データバスＢＵＳ２上に出力された読出データＬＤＴＲを書き込むために必要なセットタイムを満足するタイミングでデータ書込信号ＬＷＲ−ｉを一定時間アサート状態に切り替えればよい。
【００６０】
このように、本発明の一実施形態に係るマルチプロセッサシステム１００では、主ＣＰＵ１０が共通エリア３２０を指定するアドレス信号ＬＡＤＲを出力し、データ書込指示信号ＷＲをアサート状態とすることによって、全てのデュアルポートメモリ３０−ｉの共通エリア３２０に同一データが格納される。
したがって、主ＣＰＵ１０から全ての従ＣＰＵ２０−ｉに対して同一データを通知するときには、主ＣＰＵ１０が共通エリア３２０に書き込みを行い、各従ＣＰＵ２０−ｉそれぞれが共通エリア３２０からデータを読み出すことによって、同一データを通知することができる。つまり、主ＣＰＵ１０は、各デュアルポートメモリ３０−ｉに対して個別にデータを書き込む操作を行う必要はなく、各デュアルポートメモリ３０−ｉの共通エリア３２０を指定するアドレス信号ＬＡＤＲを出力すると共に書込データＬＤＴＷを出力するという、一度の書込操作で、全ての従ＣＰＵ２０−ｉに同一データを通知することができる。
【００６１】
また、主ＣＰＵ１０がアクセスコントローラ４０−ｉにより、いずれかのデュアルポートメモリ３０−ｉの個別エリア３２５−ｉからデータを読み出す操作を行うと、個別エリア３２５−ｉのデータが、他の全てのデュアルポートメモリ３０−ｉの個別エリア３２５−ｉに書き込まれる。
したがって、従ＣＰＵ２０−ｉどうしでデータ交換を行う場合には、まず、データの通知元の従ＣＰＵ、例えば２０−ｎがデュアルポートメモリ３０−ｎの自従ＣＰＵ２０−ｎに対応する個別エリア３２５−ｎに通知データを書き込み、次に、主ＣＰＵ１０が通知元の従ＣＰＵ２０−ｎに対応するデュアルポートメモリ３０−ｎの従ＣＰＵ２０−ｎに対応付けられた個別エリア３２５−ｎからのデータの読み出し操作を行い、次に、通知先の従ＣＰＵ、例えば２０−１がデュアルポートメモリ３０−１の、通知元の従ＣＰＵ２０−ｎに対応付けられた個別エリア３２５−ｎからデータを読み出すことによって、従ＣＰＵ２０−ｉどうしでのデータ交換を行うことができる。
【００６２】
そのため、主ＣＰＵ１０は、通知元の従ＣＰＵ２０−ｎに対応するデュアルポートメモリ３０−ｎの個別エリア３２５−ｎからデータを読み出す一度の読み出し操作を行うだけでよい。
よって従来に比較して、データ交換時の主ＣＰＵ１０の負荷を軽減することができる。
以上、特定の実施形態を参照して本発明を説明したが、これら説明によって発明を限定するものではない。本発明の説明を参照することにより、当業者には、開示された実施形態の種々の変形例とともに本発明の別の実施形態も明らかである。従って、特許請求の範囲は、本発明の範囲及び要旨に含まれるこれらの変形例又は実施形態も網羅すると解すべきである。
【符号の説明】
【００６３】
１０  主ＣＰＵ（主処理装置）
２０−ｉ  従ＣＰＵ（従処理装置）
３０−ｉ  デュアルポートメモリ
４０−ｉ  アクセスコントローラ（第一メモリアクセスコントローラ）
５０−ｉ  アクセスコントローラ（第二メモリアクセスコントローラ）
６０−ｉ  ＣＰＵ番号設定部
１００  マルチプロセッサシステム
３２０  共通エリア
３２５−ｉ  個別エリア
【図１】
2018067049.tif 000003
【図２】
2018067049.tif 000004
【図３】
2018067049.tif 000005
【図４】
2018067049.tif 000006
【図５】
2018067049.tif 000007
【図６】
2018067049.tif 000008
【図７】
2018067049.tif 000009
【図８】
2018067049.tif 000010
【図９】
2018067049.tif 000011
【図１０】
2018067049.tif 000012