(57)【要約】【課題】各プロセッサからの共通メモリへのアクセスが競合しても、共通メモリへのアクセス回数を削減する。【解決手段】マルチプロセッサシステムにおいて、共通メモリにデータを記憶する多数のデータ領域と該データ領域毎の使用中を示す制御情報を記憶する制御情報領域を設け、各プロセッサに共通メモリと同等の記憶ユニットとアクセス制御部を設け、アクセス権のないプロセッサのアクセス制御部は、共通バス上を流れるデータ及びアドレスを監視し、共通メモリへの書き込みデータ及び共通メモリからの読み取りデータを取り込んで自プロセッサ内の記憶ユニットに格納して共通メモリと同一の内容を保持する。【選択図】    図１
2004178374.tif 000002
【特許請求の範囲】
【請求項１】
共通メモリと多数のプロセッサとを共通バスを介して接続し、共通メモリの同一データ領域へのアクセスを１つのプロセッサのみに許可するマルチプロセッサシステムにおいて、
共通メモリにデータを記憶する多数のデータ領域と該データ領域毎の使用中を示す制御情報を記憶する制御情報領域を設け、
各プロセッサに前記共通メモリと同等の記憶ユニットとアクセス制御部を設け、
アクセス権のないプロセッサのアクセス制御部は、共通バス上を流れるデータ及びアドレスを監視し、共通メモリへの書き込みデータ及び共通メモリからの読み取りデータを取り込んで自プロセッサ内の前記記憶ユニットに格納する、
ことを特徴とするマルチプロセッサシステム。
【請求項２】
各プロセッサの前記記憶ユニットと共通メモリのアドレス空間に同一のアドレスを割り振り、アクセス権のないプロセッサのアクセス制御部は、共通バス上のアドレスが指示する記憶ユニットの記憶域に共通バス上のデータを書込む、
ことを特徴とする請求項１記載のマルチプロセッサシステム。
【請求項３】
各プロセッサのアクセス制御部は、上位ユニットから前記共通メモリにおける所定データ領域へのアクセスが要求されたとき、前記記憶ユニットにおける該データ領域に応じた制御情報を読み取って、他プロセッサが使用中であるか判断し、使用中の場合には共通メモリにアクセスすることなく判断結果を上位装置に入力する、
ことを特徴とする請求項１記載のマルチプロセッサシステム。
【請求項４】
共通メモリと多数のプロセッサとを共通バスを介して接続し、共通メモリの同一データ領域へのアクセスを１つのプロセッサのみに許可するマルチプロセッサシステムにおいて、
共通メモリにデータを記憶する多数のデータ領域と該データ領域毎の使用中を示す制御情報を記憶する制御情報領域を設け、
各プロセッサに前記制御情報領域と同等の記憶ユニットとアクセス制御部を設け、
アクセス権のないプロセッサのアクセス制御部は、共通バス上を流れる制御情報及びアドレスを監視し、該制御情報を取り込んで自プロセッサ内の前記記憶ユニットに格納する、
ことを特徴とするマルチプロセッサシステム。
【請求項５】
共通メモリと多数のプロセッサとを共通バスを介して接続し、共通メモリの同一データ領域へのアクセスを１つのプロセッサのみに許可するマルチプロセッサシステムにおいて、
共通メモリにデータを記憶する多数のデータ領域と該データ領域毎の使用中を示す制御情報を記憶する制御情報領域を設け、
各プロセッサに前記データ領域と同等の記憶ユニットと、アクセス制御部を設け、
アクセス権のないプロセッサのアクセス制御部は、共通バス上を流れるデータ及びアドレスを監視し、該データを取り込んで自プロセッサ内の前記記憶ユニットに格納する、
ことを特徴とするマルチプロセッサシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マルチプロセッサに係わり、特に、共有メモリを備えたマルチプロセッサシステムに関する。
【０００２】
【従来の技術】
図９は移動体通信システムの構成図であり、固定網１は市内電話交換機１ａ，１ｂ、中継交換機１ｃ、関門交換機１ｄ等で構成されている。移動網２は、移動体用関門交換機２ａ、移動機に対してサービスをを提供するための加入者クラスや位置登録情報を管理するホームロケーションレジスタ（ＨＬＲ）２ｂ、ホームロケーションレジスタ（ＨＬＲ）を参照して無線制御を行う基地局制御装置（ＲＮＣ）３ａ，３ｂ，を決定する移動体交換機２ｃ等で構成されている。
基地局制御装置（ＲＮＣ）  ３ａ，３ｂは、上位装置である移動体交換機２ｃやマルチメディア信号処理装置（ＭＰＥ）４と接続してコマンドを入出力する機能、コマンドに従った処理を行う機能、基地局５ａ，５ｂとの間でデータの送受信を行う機能を備えている。各基地局５ａ〜５ｂは管理下のセル内に存在する多数のユーザ装置（移動局）６ａ，６ｂと無線で通信する。固定網１には固定電話機７やＰＨＳ用アダプタ８を介してＰＨＳ基地局９が接続されている。
【０００３】
基地局制御装置３ａ￣３ｂはマルチプロセッサ構成になっている。図１０は基地局制御装置のマルチプロセッサ構成であり、外部との送受信部は省略している。共通バスであるＧバス１０にはバス割り当て制御を行うバスアービタ（ＢＣＯＮＴ）１１、複数のプロセッサ（ＣＰＵ＃１〜ＣＰＵ＃ｎ）１２１￣１２ｎ、共通メモリカード（ＣＭ）１３が接続されている。各プロセッサＣＰＵ＃１〜ＣＰＵ＃ｎは同一の構成を備え、マイクロプロセッサユニット（ＭＰＵ）２１と、共通メモリカード（ＣＭ）１３へのアクセスを制御するアクセス制御部（ＬＳＩ）２２を有している。共通メモリカード（ＣＭ）１３はＲＡＭ構成の共通メモリ２３と共通メモリコントローラ（ＣＭコントローラ）２４を有している。共通メモリ２３は多数のデータ記憶領域Ａ〜Ｎを備えたデータ記憶部ＧＭと、それぞれの記憶領域Ａ〜Ｎが現在使用中であるか否か、並びに使用中のプロセッサ名を保存する排他制御データ記憶部（セマフォレジスタ）ｓｅｍｆを有している。使用中フラグが立っている記憶領域には他のプロセッサはアクセスすることができない。
【０００４】
バスアービタ１１と各プロセッサＣＰＵ＃１〜ＣＰＵ＃ｎ間は図１１で示すようにそれぞれ信号線で接続されている。各プロセッサはバスが使用中でないと該信号線よりバス使用権要求信号＊ＢＲＥＱｊをバスアービタに送出してバス使用権を要求する。バスアービタ１１は所定のプロセッサにバス使用権を与える場合には、バス使用使用許可信号＊ＢＧＮＴｊを該プロセッサに送出する。プロセッサはデータ転送中、バスビジー＊ＢＢを出力する必要があり、他のプロセッサはバスビジー＊ＢＢを参照してバス使用中であればバスを使用することが出来ない。
【０００５】
所定のプロセッサ例えばプロセッサＣＰＵ＃ｎがバス使用権を得て、データ記憶部ＧＭのデータ記憶領域ＧＭ−Ａにアクセスする場合、該データ記憶領域ＧＭ−Ａが使用中でなければ対応するセマフォレジスタｓｅｍｆの記憶領域ａに使用中フラグ（排他制御フラグ）を立てる。しかる後、プロセッサＣＰＵ＃ｎはデータ記憶領域ＧＭ−Ａにアクセスし、データの読み出し、あるいはデータの書き込みを行い、データ記憶領域ＧＭ−Ａにアクセスする必要が無くなればセマフォレジスタｓｅｍｆの記憶領域ａに記憶されている排他制御フラグをクリアする。これにより、他のプロセッサＣＰＵ＃１￣ＣＰＵ＃ｎ−１はデータ記憶領域ＧＭ−Ａにアクセス可能となる。
【０００６】
ところで、従来のマルチプロセッサ処理での共通メモリカードＣＭへのアクセス方法だと、プロセッサＣＰＵ＃ｎが使用中のデータ記憶領域ＧＭ−Ａへアクセスしたい他のプロセッサＣＰＵ＃１￣ＣＰＵ＃ｎ−１は、バス使用権を得る毎にセマフォレジスタｓｅｍｆの内容を読み取ってデータ記憶領域ＧＭ−Ａに応じた排他制御フラグが立っているか否かを調べる必要がある。排他制御フラグが立っていると２μｓのタイミング後、同様に排他制御フラグが立っているか調べ、以後、フラグが解除されるまで無限に共通メモリカードＣＭへのセマフォレジスタｓｅｍｆのリード命令を実行する。このため、図１２に示すようにバスアクセス回数（バス使用回数）が非常に多くなるばかりでなく、このアクセス処理（無限リトライ）の実行回数の増大により、ＣＰＵの使用率の急上昇という結果になっていた。そのため、装置本来の能力が十分に発揮されないという結果になっていた。
【０００７】
図１３〜図１７は従来の共通メモリカードＣＭへのアクセス制御説明図であり、説明を簡単にするためにプロセッサはＣＰＵ＃０，ＣＰＵ＃１の２台としている。セマフォレジスタ（排他制御データ記憶部）ｓｅｍｆは、共通メモリにおけるデータ記憶領域Ａ〜Ｎのアクセス権を管理し、管理情報として、▲１▼アクセス権獲得中ＣＰＵ番号と▲２▼獲得中フラグ（排他制御フラグ）を使用する。セマフォレジスタｓｅｍｆが管理する共通メモリＣＭのアドレス範囲に関して、ｓｅｍｆ−ａはデータ記憶領域ＧＭ−Ａ、ｓｅｍｆ−ｂはデータ記憶領域ＧＭ−Ｂ，．．．，ｓｅｍｆ−ｎはデータ記憶領域ＧＭ−Ｎを管理するよう対応している。
【０００８】
所定のデータ領域に対するアクセス権を獲得するには、図１３を参照すれば、以下の処理を行う。
▲１▼：ＣＰＵ＃０内のＭＰＵ  ２１からセマフォ獲得するためのリードアクセスが発生する。この時のターゲットは共通メモリカードＣＭ  １３の共通メモリ２３のセマフォレジスタｓｅｍｆにあるｓｅｍｆ−ａである。
▲２▼：ＣＰＵ＃０内のアクセス制御部（ＬＳＩ）は▲１▼のアクセス要求を受信し、共通バス１０に対してリードアクセスを送出し、共通メモリカードＣＭからｓｅｍｆ−ａの獲得結果の返送を待つ。
▲３▼：ＣＭコントローラ２４は共通バス上に送出された前記リードアクセスを受信し、そのアクセスに該当するｓｅｍｆ−ａのデータを読み出す。
▲４▼：読み出したｓｅｍｆ−ａのデータが未使状態であれば、今回のアクセス元のＣＣＰＵ＃０が使用中となるような管理情報を付加し、ｓｅｍｆ−ａに対して書き戻す。これにより、ｓｅｍｆ−ａはＣＰＵ＃０の使用中状態となる。
▲５▼：ついで、ＣＭコントローラ２４はｓｅｍｆ−ａに書き戻した管理情報を共通バス上に返送データとして送出する。返送データはＣＰＵ＃０が獲得成功となっている。
▲６▼：ＣＰＵ＃０のアクセス制御部２２は共通バス上に返送されたデータを受信し、ＭＰＵ  ２１へ中継しセマフォ獲得処理が完了する。この時点でＣＰＵ＃０はデータ領域ＧＭ−Ａのアクセス権を獲得したことになる。
【０００９】
以上により、ｓｅｍｆ−ａに応じたデータ領域ＧＭ−Ａのアクセス権が獲得されれば、ＣＰＵ＃０は図１４に示すようにアクセスを開始する。
▲１▼：ＣＰＵ＃０が処理を開始し、その途中で共通メモリ２３のデータ領域ＧＭ−Ａからのデータの読み出し、あるいは書き込みが必要となれば、該データ領域ＧＭ−ＡへのアクセスがＭＰＵ  ２１から送出される。
▲２▼：アクセス制御部２２は▲１▼のアクセスを受信し、共通バス１０に対してリードアクセスを送出し、共通メモリカードＣＭのデータ領域ＧＭ−Ａからの読み出しデータの返送を待つ。なお、例としてリードアクセスを記述する。
▲３▼：ＣＭコントローラ２４は共通バス上に送出されたリードアクセスを受信する。
▲４▼：ＣＭコントローラ２４は、そのリードアクセスに該当するデータ領域ＧＭ−Ａのデータを読み出す。ライトの場合にはバス上のデータを受信し、ＧＭ−Ａに書き込む。
▲５▼：ＣＭコントローラ２４は、読み出したデータを共通バス上に返送データとして送出する。
▲６▼：ＣＰＵ＃０のアクセス制御部２２は共通バス上に返送されたデータを受信し、ＭＰＵ
２１へ中継する。
以降、ＣＰＵ＃０の処理が終了するまで、▲１▼〜▲６▼が繰り返されることになり、ライトアクセスが発生する毎に、データ領域ＧＭ−Ａのデータが更新される。
【００１０】
ＣＰＵ＃０のデータ領域ＧＭ−Ａへのアクセスが不要になれば図１５に示すように終了処理が行われる。
▲１▼：ＣＰＵ＃０の処理が終了すれば、ＭＰＵ２１はデータ領域ＧＭ−Ａのアクセス権を開放するために、開放アクセスをｓｅｍｆ−ａに向けて送出する。すなわち、ＭＰＵ２１はｓｅｍｆ−ａへのデータ０のライトアクセスを行う。
▲２▼：このライトアクセスは、アクセス制御部２２が一旦受信し、突き放し処理により、ＭＰＵ  ２１に向けて終了報告をする。この時点で、ＭＰＵ側の処理は完了するが、後処理をアクセス制御部２２が実施する。
▲３▼：ライトアクセスを受信したアクセス制御部２２はｓｅｍｆ−ａ向けのライトアクセスを共通バス上に送出する。
▲４▼：ＣＭコントローラ２４は共通バス上に送出されたアクセス（ライトアドレスとデータ）を受信する。
▲５▼：ＣＭコントローラ２４は受信したライトデータ（＝０）をセマフォレジスタｓｅｍｆのｓｅｍｆ−ａに書き込み、該ｓｅｍｆ−ａを未使用状態に戻す。これにより、以降、他ＣＰＵからもデータ領域ＧＭ−Ｎへアクセス可能状態になる。
これら一連の処理により、ＣＰＵ＃０が共通メモリカードＣＭのデータ領域ＧＭ−Ａを更新できることになる。
【００１１】
一方、図１３の動作でｓｅｍｆ−ａに応じたデータ領域ＧＭ−ＡのアクセスがＣＰＵ＃０により獲得されている状態において、ＣＰＵ＃１よりセマフォ獲得するためのリードアクセスが発生すると、図１６に示す処理が行われる
▲１▼：ＣＰＵ＃１内のＭＰＵ  ２１はセマフォ獲得するためのリードアクセスを出力する。この時のターゲットは共通メモリカードＣＭの共通メモリ２３上にあるセマフォレジスタのｓｅｍｆ−ａである。
▲２▼：ＣＰＵ＃１内のアクセス制御部２２は▲１▼のアクセスを受信すれば、共通バス１０に対してリードアクセスを送出し、共通メモリカードＣＭからｓｅｍｆ−ａの獲得結果の返送を待つ。
▲３▼：ＣＭコントローラ２４は共通バス上に送出されたリードアクセスを受信し、そのアクセスに該当するセマフォレジスタのｓｅｍｆ−ａのデータを読み出す。
▲４▼：ついで、ＣＭコントローラ２４は読み出したｓｅｍｆ−ａのデータが使用中状態であるか判別する。使用中であるため、アクセス元のＣＰＵ＃１のセマフォ獲得は失敗となる。なお、管理情報はＣＰＵ＃０が使用中のため、特に書き戻し処理は発生しない。ｓｅｍｆ−ａはＣＰＵ＃０使用中状態のままである。
▲５▼：ＣＭコントローラ２４はＣＰＵ＃１に対して、ｓｅｍｆ−ａ獲得失敗の情報を共通バス上に返送データとして送出する。返送データはＣＰＵ＃１がｓｅｍｆ−ａ獲得失敗となっている。
▲６▼：ＣＰＵ＃１のアクセス制御部２２は共通バス上に返送されたデータを受信し、ＭＰＵ  ２１へ中継する。
この時点でＣＰＵ＃１はｓｅｍｆ−ａに応じたデータ領域ＭＧ−Ａへのアクセス権の獲得を失敗したことになり、以後、ｓｅｍｆ−ａ（データ領域ＭＧ−Ａへのアクセス権）が獲得できるまでリトライアクセスを繰り返すことになる。
【００１２】
ｓｅｍｆ−ａに応じたデータ領域ＭＧ−Ａへのアクセス権がすでにＣＰＵ＃０により獲得されており、データ領域ＧＭ−Ａに対してＣＰＵ＃０がアクセス中である場合、ＣＰＵ＃１がｓｅｍｆ−ａへアクセス権獲得のリトライアクセスを繰り返したとき、図１７に従って以下の処理が行われる。ＣＰＵ＃０のアクセス処理は図１４の▲１▼〜▲６▼と同じである。かかる状態において、ＣＰＵ＃０の処理の合間にＣＰＵ＃１のセマフォ獲得リトライアクセスが発生すると、▲７▼以降の処理（図１６の▲１▼〜▲６▼に相当）が行われる。このため、共通バ
ス１０を圧迫させることになる。
その結果、ＣＰＵ＃０から出力されるアクセスが遅延し、ＣＰＵ＃０が獲得しているｓｅｍｆ−ａの開放処理が遅れる。また、その期間中もＣＰＵ＃１からのセマフォ獲得リトライアクセスが発生してしまうことにより、ＣＰＵ＃０，ＣＰＵ＃１両方の処理が遅延することになる。
【００１３】
共通メモリを備えたマルチプロセッサシステムとして、特開平６−２７４４１５号公報に開示されたシステムがある。このマルチプロセッサシステムでは、各プロセッサにキャッシュメモリを設け、プロセッサが共通メモリにアクセスしたとき、アクセスの種別（読み／書きの別）及び読み出しあるいは書込んだデータをキャッシュメモリに保存しておき、他装置が共通メモリにデータを書込んだとき、該キャッシュメモリのデータを無効にするものである。このようにすることにより、バス状態を監視することなく、共有メモリとキャッシュメモリの整合性を保持でき、しかも、キャッシュメモリに記憶されているデータにヒットすれば共通メモリをアクセスする必要が無い。
【特許文献１】特開平６−２７４４１５号公報
【００１４】
【発明が解決しようとする課題】
図１０￣図１７に示した従来のマルチプロセッサシステムでは、バスアクセス回数（バス使用回数）が非常に多くなり、使用中プロセッサから出力されるアクセスが遅延し、また、獲得しているｓｅｍｆ−ａの開放処理も遅れる。更に、アクセスリトライ処理の実行回数の増大により、ＣＰＵ使用率の急上昇を招き、スループットを低下させる問題がある。
特開平６−２７４４１５号公報のマルチプロセッサシステムは、キャッシュメモリを設ける点で有用性を発生するが、共通メモリへのアクセスが競合する場合の解決方法を与えない。
以上から本発明の目的は、各プロセッサからの共通メモリへのアクセスが競合しても、共通メモリへのアクセス回数を削減して、プロセッサの能力を十分に発揮できるようにすることである。
【００１５】
【課題を解決するための手段】
本発明は、共通メモリと多数のプロセッサとを共通バスを介して接続し、共通メモリの同一データ領域へのアクセスを１つのプロセッサのみに許可するマルチプロセッサシステムである。
このマルチプロセッサシステムにおいて、▲１▼共通メモリにデータを記憶する多数のデータ領域と該データ領域毎の使用中を示す制御情報を記憶する制御情報領域とを設け、▲２▼各プロセッサに前記共通メモリと同等の記憶ユニットとアクセス制御部を設け、▲３▼アクセス権のないプロセッサのアクセス制御部は、共通バス上を流れるデータ及びアドレスを監視し、共通メモリへの書き込みデータ及び共通メモリからの読み取りデータを取り込んで自プロセッサ内の前記記憶ユニットに格納する。即ち、各プロセッサの前記記憶ユニットと共通メモリのアドレス空間に同一のアドレスを割り振り、アクセス権のないプロセッサのアクセス制御部は、共通バス上のアドレスが指示する自分の記憶ユニットの記憶域に共通バス上のデータを書込む。
【００１６】
以上のように構成することにより、各プロセッサの記憶ユニットと共通メモリの内容を同一に出来る。この結果、データ領域のアクセス権を獲得していないプロセッサ装置は、自装置内の記憶ユニットを参照するだけで他のプロセッサ装置が該データ領域を使用しているかわかる。このため、従来のように一々共通バスを介して共通メモリに問い合わせる必要がなく、プロセッサのスループットを向上することができ、しかも、短時間で結果を入手することが出来る。
又、共通バスがビジーとなる状態を少なく出来るため、アクセス権を獲得しているプロセッサは共通メモリから高速にデータの読み出しやデータの書き込みが可能になる。
又、本発明のマルチプロセッサシステムにおいて、所定データ領域のアクセス権を獲得しているプロセッサは、自装置内の記憶ユニットにヒットすれば共通メモリにアクセスする必要がなく、高速に該記憶ユニットから該データを読み取って処理することが出来、プロセッサのスループットを向上することができる。
【００１７】
【発明の実施の形態】
（Ａ）第１実施例
（ａ）マルチプロセッサシステムの構成
図１は第１実実施例のマルチプロセッサシステムの構成図である。
共通バスであるＧバス５０にはバス割り当て制御を行うバスアービタ（ＢＣＯＮＴ）５１、複数のプロセッサ（ＣＰＵ＃１〜ＣＰＵ＃ｎ）５２１￣５２ｎ、共通メモリカード（ＣＭ）５３が接続されている。各プロセッサＣＰＵ＃１〜ＣＰＵ＃ｎは同一の構成を備え、マイクロプロセッサユニット（ＭＰＵ）６１と、共通メモリカード（ＣＭ）５３へのアクセスを制御するアクセス制御部（専用ＬＳＩ）６２と、キャッシュメモリ６３を有している。
【００１８】
共通メモリカード（ＣＭ）５３はＲＡＭ構成の共通メモリ７１と共通メモリコントローラ（ＣＭコントローラ）７２を有している。共通メモリ７１は多数のデータ記憶領域Ａ〜Ｎを備えたデータ記憶部ＧＭと、それぞれのデータ記憶領域が現在使用中であるか否か、並びに使用中のプロセッサ名を保存するセマフォレジスタ（排他制御データ記憶部）ｓｅｍｆを有している。データ領域Ａ〜Ｎの使用状況を記憶するセマフォレジスタ部分はｓｅｍｆ−ａ〜ｓｅｍｆ−ｎである。使用中フラグが立っているｓｅｍｆ−ｊに応じたデータ記憶領域Ｊには他のプロセッサはアクセスすることができない。
各プロセッサのキャッシュメモリ６３は、共通メモリカードＣＭの共通メモリ７１と同一サイズで同一の情報を記憶できるようになっている。すなわち、キャッシュメモリ６３は共通メモリ７１と同様に、▲１▼データ記憶領域Ａ〜Ｎを備えたデータ記憶部ＧＭ（ＧＭキャッシュ）と、▲２▼各データ記憶領域が現在使用中であるか否か、並びに使用中のプロセッサ名を保存するセマフォレジスタｓｅｍｆ（セマフォキャッシュ）を有している。
【００１９】
バスアービタ１１と各プロセッサＣＰＵ＃１〜ＣＰＵ＃ｎ間は従来例（図１１）と同様にそれぞれ信号線で接続されている。各プロセッサはバスが使用中でないと該信号線よりバス使用権要求信号＊ＢＲＥＱｊをバスアービタに送出してバス使用権を要求する。バスアービタ１１は所定のプロセッサにバス使用権を与える場合には、バス使用使用許可信号＊ＢＧＮＴｊを該プロセッサに送出する。プロセッサはデータ転送中、バスビジー＊ＢＢを出力する必要があり、他のプロセッサはバスビジー＊ＢＢを参照してバス使用中であればバスを使用することが出来ない。
【００２０】
（ｂ）本発明の概略動作
本発明の概略動作を説明する。例えばＣＰＵ＃ｎからの要求により、ＣＭコントローラ７２が該ＣＰＵ＃ｎにデータ記憶領域ａのアクセス権を与えたとする。かかる場合、ＣＭコントローラ７２は、共通メモリカード５３のセマフォレジスタｓｅｍｆのｓｅｍｆ−ａに管理情報（使用中フラグ、使用中プロセッサ名）を書込むと共に、該管理情報をＣＰＵ＃ｎのセマフォキャッシュ６３ｂのｓｅｍｆ−ａに書込むライトアクセスを共通バス５０上に送出する。ＣＰＵ＃ｎのアクセス制御部（専用ＬＳＩ）６２は該管理情報を取り込んでセマフォキャッシュ６３ｂのｓｅｍｆ−ａに書込む。このとき、他のＣＰＵ＃１〜  ＣＰＵ＃ｎ−１は、共通バス上にアドレス／データが流れているか監視しており、該アドレス／データを盗み取りし、あたかも自身への書き込みデータであるかのように取り込んで自身のキャッシュメモリ６３のセマフォレジスタ６３ｂのｓｅｍｆ−ａに格納する。セマフォｓｅｍｆ−ａを解放する場合も同様である。従って、全ＣＰＵ＃１〜  ＣＰＵ＃ｎおよび共通メモリカードにおけるセマフォレジスタの内容はすべて同じになる。
【００２１】
ＣＰＵ＃ｎが、共通メモリカード５３のデータ記憶領域ＧＭ−Ａからデータを読み出すとき以下の制御が行われる。すなわち、ＣＰＵ＃ｎが共通メモリカード５３にリードアクセスすると、共通メモリカード５３は共通メモリ７１よりデータを読み出して共通バス５０に送出する。ＣＰＵ＃ｎは該データを共通バス５０を介して受信して内蔵のＭＰＵ  ６１に入力すると共にキャッシュメモリ６３のＧＭキャッシュ６３ａのデータ領域ＧＭ−Ａに格納する。この時、他のＣＰＵ＃１〜  ＣＰＵ＃ｎ−１は、共通バス上にアドレス／データが流れているか監視しており、該アドレス／データを盗み取りし、自身のキャッシュメモリ６３のＧＭキャッシュ６３ａのデータ領域ＧＭ−Ａに格納する。
【００２２】
又、ＣＰＵ＃ｎが、共通メモリカード５３のデータ記憶領域ＧＭ−Ａにデータを書込むとき以下の制御が行われる。すなわち、ＣＰＵ＃ｎは共通メモリカード５３に共通バス５０を介してライトアクセスすると共に、自身のキャッシュメモリ６３のＧＭキャッシュ６３ａのデータ領域ＧＭ−Ａにライトアクセスにかかわるデータを書込む。また、共通メモリカード５３のＣＭコントローラ７２は該ライトアクセスによりデータを共通メモリ７１のデータ領域ＧＭ−Ａに書込む。このとき、他のＣＰＵ＃１〜  ＣＰＵ＃ｎ−１は、共通バス上にアドレス／データが流れているか監視しており、該アドレス／データを盗み取りし、自身のキャッシュメモリ６３のＧＭキャッシュ６３ａのデータ領域ＧＭ−Ａに格納する。
以上により、全ＣＰＵ＃１〜  ＣＰＵ＃ｎおよび共通メモリカードにおけるデータ記憶部ＧＭの内容が同じになる。
【００２３】
従って、各ＣＰＵ＃１〜  ＣＰＵ＃ｎは、自身のセマフォレジスタｓｅｍｆを参照すればデータ格納領域Ａ〜Ｎの使用中の有無を識別でき、従来技術のように共通バスを介して一々共通メモリカードのセマフォレジスタを参照する必要が無くなり、アクセス回数を減少することができる。
又、データ格納領域ＧＭ−ｊのアクセス権を得たＣＰＵはヒットする場合には共通メモリカードにアクセスしなくても、自身のキャッシュメモリのデータ記憶部からデータを読み出すことができ、共通メモリカードへのアクセス回数を減らすことができ、各プロセッサの能力を十分に発揮できるようになる。
【００２４】
（ｃ）本発明の詳細動作
図２は、ＣＰＵ＃０が所定のデータ領域（データ領域Ｎ）に対するアクセス権を獲得する処理の説明図である。なお、各ＣＰＵ＃０〜ＣＰＵ＃１のキャッシュメモリ６３及び共通メモリ７１には同一アドレスが割り振られている。
▲１▼：ＣＰＵ＃０内のＭＰＵ  ６１はセマフォ獲得するためのリードアクセスを発生する。この時のターゲットは共通メモリカードＣＭ上にあるｓｅｍｆ−ｎである。
▲２▼：アクセス制御部（専用ＬＳＩ）６２は，▲１▼のアクセスを受信すると、ＣＰＵ＃０内のセマフォキャッシュ６３ｂから該当アドレスの状態を読み出す。読み出した結果、他ＣＰＵが使用中でなければ、すなわち、空き状態であれば、専用ＬＳＩ  ６２は共通バス５０に対してリードアクセスを送出し、共通メモリカードＣＭからのｓｅｍｆ−ｎの獲得結果の返送を待つ。
▲３▼：ＣＭコントローラ７２は共通バス上に送出されたリードアクセスを受信し、そのアクセスに該当するｓｅｍｆ−ｎのデータを読み出す。
▲４▼：読み出したｓｅｍｆ−ｎのデータが未使状態であれば、今回のアクセス元のＣＰＵ＃０が使用中となるような管理情報を作成してｓｅｍｆ−ｎに書き戻す。これにより、ｓｅｍｆ−ｎはＣＰＵ＃０使用中状態となる。尚、管理情報に使用中フラグデータ及び使用プロセッサ名を含める。
▲５▼：ＣＭコントローラ７２は、ｓｅｍｆ−ｎに書き戻した管理情報及びキャッシュアドレスを共通バス５０上に返送データとして送出する。返送データはＣＰＵ＃０が獲得成功となっている。
▲６▼：ＣＰＵ＃０の専用ＬＳＩ  ６２は共通バス上に返送されたデータを受信し、ＭＰＵ６１へ中継する。この時点でＣＰＵ＃０はデータ領域ＧＭ−Ａのアクセス権を獲得したことになる。
▲７▼：また、専用ＬＳＩ  ６２はこの時のデータ（管理情報）を、アドレスが指定するセマフォキャッシュ６３ｂのｓｅｍｆ−ｎにも書き込む。これにより、セマフォキャッシュはＣＰＵ＃０使用中状態を示す。この時点で、ＣＰＵ＃０内のｓｅｍｆ−ｎと共通メモリカードＣＭ内ｓｅｍｆ−ｎの内容が一致することになる。
▲８▼：一方、ＣＰＵ＃０以外のＣＰＵ＃１は、▲５▼で共通バス上に送出されているアドレス、データ等を監視しており、その時のアクセスを盗み取りし、ＣＰＵ＃１内の専用ＬＳＩ  ６２も受信することになる。
▲９▼：ＣＰＵ＃１内の専用ＬＳＩ  ６２は、取り込んだデータを、アドレスが指定するセマフォキャッシュ６３ｂのｓｅｍｆ−ｎに書き込む。この時点で、ＣＰＵ＃０，ＣＰＵ＃１および共通メモリカードＣＭ内のｓｅｍｆ−ｎの内容がすべて一致することになる。
【００２５】
図３は、ｓｅｍｆ−ｎ（データ領域ＧＭ−Ｎのアクセス権）がＣＰＵ＃０により獲得されており、ＣＰＵ＃０，ＣＰＵ＃１及び共通メモリカードＣＭ内のｓｅｍｆ−ｎの内容が一致している状態において、ＣＰＵ＃０がデータ領域ＧＭ−Ｎにアクセスする処理説明図である。
▲１▼：ＣＰＵ＃０のＭＰＵ  ６１が処理を開始し、その途中でデータ領域ＧＭ−Ｎからデータを読み出し、あるいはデータ領域ＧＭ−Ｎへデータを書き込む必要が発生した場合、ＭＰＵ  ６１はデータ領域ＧＭ−Ｎへのアクセスを出力する。
▲２▼：ＣＰＵ＃０の専用ＬＳＩ  ６２は、▲１▼のアクセスを受信し、ＣＰＵ＃０内のＧＭキャッシュ６３ａから該当アドレスの状態を読み出す。なお、図にはアドレスの状態を記憶する領域は示していないが、該領域には各アドレスのデータの有効、無効を表示するテータス情報が保持されている。
読み出した結果、該当アドレスのデータが無効であれば、専用ＬＳＩ  ６２は共通バス５０に対してリードアクセスを送出し、共通メモリカードＣＭのデータ領域ＧＭ−Ｎからのデータ返送を待つ。
なお、ＧＭキャッシュ６３ａから読み出したステータ情報がデータの有効を示していれば、ＧＭキャッシュ６３ａのデータ領域ＧＭ−Ｎからデータを読み出してＭＰＵ  ６１に入力して処理は終了する。
▲３▼：データが無効で、専用ＬＳＩ  ６２が共通バス５０に対してリードアクセスを送出すれば、ＣＭコントローラ７２は共通バス上に送出されたリードアクセスを受信する。
▲４▼：ついで、ＣＭコントローラ７２は該当するデータ領域ＧＭ−Ｎのデータを読み出す。
▲５▼：ＣＭコントローラ７２は読み出したデータ領域ＧＭ−Ｎのデータとデータ領域ＧＭ−Ｎのアドレスを共通バス上に返送データとして送出する。
▲６▼：ＣＰＵ＃０内の専用ＬＳＩ  ６２は共通バス上に返送されたデータを受信し、ＭＰＵ  ６１へ中継する。
▲７▼：また、ＣＰＵ＃０内の専用ＬＳＩ  ６２はこの時のデータをアドレスが指定するＧＭキャッシュ６３ａのデータ領域ＧＭ−Ｎにも書き込む。この時点で、ＣＰＵ＃０内のデータ領域ＧＭ−Ｎと共通メモリカードＣＭ内のデータ領域ＧＭ−Ｎの内容が一致することになる。
▲８▼：以上と並行して、ＣＰＵ＃０以外のＣＰＵ＃１は、▲５▼で共通バス上に送出されているアドレス、データ等を監視しており、その時のアクセスを盗み取りし、ＣＰＵ＃１内の専用ＬＳＩ  ６２も受信することになる。
▲９▼：ＣＰＵ＃１内の専用ＬＳＩ  ６２は，共通バスに送出されたデータ領域ＧＭ−Ｎのデータを取り込み、アドレスが指定するＧＭキャッシュ６３ａ内のデータ領域ＧＭ−Ｎに書き込む。この時点で、ＣＰＵ＃０，ＣＰＵ＃１および共通メモリカードＣＭ内のデータ領域ＧＭ−Ｎの内容がすべて一致することになる。
以降、ＣＰＵ＃０の処理が終了するまで、▲１▼〜▲９▼が繰り返される。また、ライトアクセスが発生する毎に、データ領域ＧＭ−Ｎのデータが更新される。
以降、同様に、各ＣＰＵ内の専用ＬＳＩ  ６２により共通バス上のアクセスが監視されることで、ＣＰＵ＃０，ＣＰＵ＃１および共通メモリカードＣＭ内のデータ領域ＧＭ−Ｎの内容がすべて一致する。
【００２６】
図４はデータ記憶部ＧＭへの書き込みの処理である。
▲１▼：ＣＰＵ＃０が処理を開始し、その途中でデータ領域ＧＭ−Ｎへの書き込みが必要になるとＭＰＵ  ６１は該データ領域ＧＭ−Ｎへのライトアクセスを出力する。
▲２▼：ＣＰＵ＃０の専用ＬＳＩ  ６２はそのアクセスを受信した時点で、ＭＰＵ  ６１に対して正常応答しＭＰＵ間の通信処理を完了させる。ただし、実際には、共通メモリカードＣＭ内のデータ領域ＧＭ−Ｎに対する書き込み処理が完了してないので、専用ＬＳＩ  ６２は後処理を継続する。
▲３▼：専用ＬＳＩ  ６２は受信したデータ領域ＧＭ−Ｎに書込むデータとデータ領域ＧＭ−Ｎのアドレスを共通バス上に送出する。
▲４▼：▲３▼と同時に専用ＬＳＩ  ６２は、ＣＰＵ＃０内のＧＭキャッシュ６３ａから該当アドレスの状態を読み出す。書き込みの場合は、該当アドレスのデータの無効／有効に関係なくＣＰＵ＃０のＧＭキャッシュ６３ａ内のデータ領域ＧＭ−Ｎにライトデータを書き込む。
▲５▼：ＣＭコントローラ７２は共通バス上に送出されたデータを受信する。
▲６▼：ついで、ＣＭコントローラ７２は受信した該当アドレスに対するデータ領域ＧＭ−Ｎに対してライトデータを書き込む。
▲７▼：ＣＰＵ＃０以外のＣＰＵ＃１は、▲３▼で共通バス上に送出されているアドレス、データ等を監視しており、その時のアク  セスを盗み取りし、ＣＰＵ＃１内の専用ＬＳＩ  ６２がこれらアドレス、データを取り込む。
▲８▼：  ＣＰＵ＃１内の専用ＬＳＩ  ６２は、盗み取りしたデータをアドレスが指示するＧＭキャッシュ６３ａのデータ領域ＧＭ−Ｎに書き込む。この時点で、ＣＰＵ＃０，ＣＰＵ＃１および共通メモリカードＣＭ内のデータ領域ＧＭ−Ｎの内容が一致することになる。
以後、ＣＰＵ＃０からのライト処理が発生するたびに、▲１▼〜▲８▼が繰り返されデータ領域ＧＭ−Ｎのデータが更新される。
以降、各ＣＰＵ内の専用ＬＳＩにより共通バス上のアクセスが監視されることで、各ＧＭキャッシュ６３ａ及び共通メモリカードのデータ記憶部ＧＭの内容が一致することになる。
【００２７】
図５は共通メモリカードのデータ記憶部ＧＭからの読み出しが、ＣＰＵ＃０内のＧＭキャッシュ６３ａにヒットした場合の処理である。
▲１▼：ＣＰＵ＃０が処理を開始し、その途中でデータ領域ＧＭ−Ｎからのデータ読み出しが必要になると、ＭＰＵ  ６１は該データ領域ＧＭ−Ｎへのリードアクセスを出力する。
▲２▼：ＣＰＵ＃０の専用ＬＳＩ  ６２はそのアクセスを受信した時点で、ＣＰＵ＃０内のＧＭキャッシュ６３ａから該当アドレスの状態を読み出す。
▲３▼：専用ＬＳＩ  ６２は読み出したデータが有効な場合には、そのデータをＭＰＵ  ２１に対して返送し、リードアクセスを完了する。この場合には、共通メモリカードＣＭへのリードアクセスは不要なため共通バスへのアクセスもキャンセルされる。
【００２８】
図６はＣＰＵ＃０がセマフォレジスタ６３ｂのｓｅｍｆ−ｎ  に応じたデータ領域ＧＭ−Ｎを使用中において、ＣＰＵ＃１によるｓｅｍｆ−ｎのセマフォ獲得アクセスが発生した場合の処理である。
▲１▼：ＣＰＵ＃１のＭＰＵ  ６１はｓｅｍｆ−ｎに対するセマフォ獲得アクセスを出力する。なお、この時、ｓｅｍｆ−ｎはすでにＣＰＵ＃０によって使用中状態である。
▲２▼：ＣＰＵ＃１の専用ＬＳＩ  ６２は、受信したセマフォ獲得アクセスに該当するセマフォキャッシュ６３ｂのアドレスからｓｅｍｆ−ｎを読み出し、ＣＰＵ＃０が使用中状態であることを認識する。
▲３▼：ＣＰＵ＃１の専用ＬＳＩ  ６２はＭＰＵ  ６１に対してセマフォ獲得アクセスが失敗したデータを返送する。この時、ＣＰＵ＃１の専用ＬＳＩ  ６２は共通メモリカードＣＭへのセマフォ獲得アクセスが不要となるため、共通バスへのアクセスをキャンセルする。
以後、ＣＰＵ＃１のＭＰＵ  ６１は、ＣＰＵ＃０による使用が終了してセマフォ獲得が成功するまで▲１▼から▲３▼の動作を繰り返す。この間、セマフォ獲得失敗時のリトライアクセスは共通バス上に送出されない。
【００２９】
以上、第１実施例によれば、所定のデータ領域のアクセス権を獲得していないプロセッサ装置は装置内情報を参照するだけで他のプロセッサ装置が該データ領域を使用しているかわかるため、従来のように一々共通バスを介して共通メモリカードに問い合わせる必要がなく、プロセッサのスループットを向上することができ、しかも、短時間で結果を入手することが出来る。
又、第１実施例によれば、所定のデータ領域のアクセス権を獲得しているプロセッサは自装置内のキャッシュにヒットすれば共通メモリカードにアクセスする必要がなく高速にデータを読み取って処理することが出来、プロセッサのスループットを向上することができる。又、アクセス権のないプロセッサにデータの書き込みを禁止させ、データの読み取りを可能とすれば、他のプロセッサも自装置内のキャッシュにヒットすれば共通メモリカードにアクセスする必要がなく高速にデータを読み取って処理することが出来、プロセッサのスループットを向上することが可能となる。
又、共通バスがビジーとなる状態を少なくできるため、アクセス権を獲得しているプロセッサは共通メモリから高速にデータの読み出しやデータの書き込みが可能になる。
【００３０】
（Ｂ）第２実施例
図７は本発明の第２実施例の構成図であり、図１の第１実施例と同一部分には同一符号を付している。異なる点は、第２実施例においてキャッシュメモリ６３をセマフォキャッシュ６３ｂのみ設け、ＧＭキャッシュ６３ａを省略した点である。
第２実施例では、セマフォキャッシュ６３ｂに書込む管理情報（使用中フラグデータ及び使用プロセッサ名を含む）が共通バス５０上を流れたとき（図２参照）、アクセス権のない他のプロセッサは、該データを盗み取りして自分のセマフォキャッシュ６３ｂに保存する。
第２実施例によれば、第１実施例の図６と同様に、データ領域のアクセス権を獲得していないプロセッサ装置は装置内情報を参照するだけで他のプロセッサ装置が該データ領域を使用しているかわかる。このため、従来のように一々共通バスを介して共通メモリに問い合わせる必要がなく、プロセッサのスループットを向上することができ、しかも、短時間で結果を入手することが出来る。
【００３１】
（Ｃ）第３実施例
図８は本発明の第３実施例の構成図であり、図１の第１実施例と同一部分には同一符号を付している。異なる点は、第３実施例においてキャッシュメモリ６３をＧＭキャッシュ６３ａのみ設け、セマフォキャッシュ６３ｂを省略した点である。
第３実施例では、ＧＭキャッシュ６３ａに書込むデータが共通バス５０上を流れたとき（図３、図４参照）、アクセス権のない他のプロセッサは、該データを盗み取りして自分のＧＭキャッシュ６３ａに保存する。
第３実施例によれば、データ領域のアクセス権を獲得しているプロセッサは自装置内のキャッシュにヒットすれば共通メモリにアクセスする必要がなく高速にデータを読み取って処理することがが出来、プロセッサのスループットを向上することができる。
又、アクセス権のないプロセッサにデータの書き込みを禁止させ、データの読み取りを可能にすれば、他のプロセッサも自装置内のＧＭキャッシュ６３ａにヒットすれば共通メモリにアクセスする必要がなく，高速にデータを読み取って処理がすることが出来、プロセッサのスループットを向上することができる。
【００３２】
（Ｄ）変形例
図１の第１実施例では共通メモリカード５３を残したが、初期時に、各プロセッサの記憶ユニット６３の内容を同一にし、かつ、記憶内容をすべて有効にしておけば、この共通メモリカード５３を削除することもできる。この場合、アクセス権を有するプロセッサＣＰＵ＃ｎが共通メモリカード（実在しない）へデータを書き込む場合には、自分の記憶ユニット６３に該データを書込むと共に、共通バス５０にデータとアドレスを送出する。他のプロセッサＣＰＵ＃１〜ＣＰＵ＃ｎ−１は共通バス上のデータとアドレスを取り込んで自分の記憶ユニット６３に書込む。
【００３３】
（付記１）  共通メモリと多数のプロセッサとを共通バスを介して接続し、共通メモリの同一データ領域へのアクセスを１つのプロセッサのみに許可するマルチプロセッサシステムにおいて、
共通メモリにデータを記憶する多数のデータ領域と該データ領域毎の使用中を示す制御情報を記憶する制御情報領域を設け、
各プロセッサに前記共通メモリと同等の記憶ユニットとアクセス制御部を設け、
アクセス権のないプロセッサのアクセス制御部は、共通バス上を流れるデータ及びアドレスを監視し、共通メモリへの書き込みデータ及び共通メモリからの読み取りデータを取り込んで自プロセッサ内の前記記憶ユニットに格納する、
ことを特徴とするマルチプロセッサシステム。
（付記２）  各プロセッサの前記記憶ユニットと共通メモリのアドレス空間に同一のアドレスを割り振り、アクセス権のないプロセッサのアクセス制御部は、共通バス上のアドレスが指示する記憶ユニットの記憶域に共通バス上のデータを書込む、
ことを特徴とする付記１記載のマルチプロセッサシステム。
（付記３）  各プロセッサのアクセス制御部は、上位ユニットから前記共通メモリにおける所定データ領域へのアクセスが要求されたとき、前記記憶ユニットにおける該データ領域に応じた制御情報を読み取って、他プロセッサが使用中であるか判断し、使用中の場合には共通メモリにアクセスすることなく判断結果を上位装置に入力する、
ことを特徴とする付記１記載のマルチプロセッサシステム。
（付記４）  アクセス権のあるプロセッサのアクセス制御部は、上位ユニットから共通メモリにおける所定データ領域からのデータ読み出しが指示されたとき、前記記憶ユニットにおける該データ領域が有効であれば、このデータ領域からデータを読み取って上位装置に入力する、
ことを特徴とする付記１記載のマルチプロセッサシステム。
（付記５）  アクセス権のあるプロセッサのアクセス制御部は、上位ユニットから共通メモリにおける所定データ領域へのデータの書き込みが指示されたとき、前記記憶ユニットのデータ領域にデータを書込むと共に、該データ及び該データ領域に応じたアドレスを共通バスに送出する、
ことを特徴とする付記２記載のマルチプロセッサシステム。
（付記６）  共通メモリと多数のプロセッサとを共通バスを介して接続し、共通メモリの同一データ領域へのアクセスを１つのプロセッサのみに許可するマルチプロセッサシステムにおいて、
共通メモリにデータを記憶する多数のデータ領域と該データ領域毎の使用中を示す制御情報を記憶する制御情報領域を設け、
各プロセッサに前記制御情報領域と同等の記憶ユニットとアクセス制御部を設け、
アクセス権のないプロセッサのアクセス制御部は、共通バス上を流れる制御情報及びアドレスを監視し、該制御情報を取り込んで自プロセッサ内の前記記憶ユニットに格納する、
ことを特徴とするマルチプロセッサシステム。
（付記７）  各プロセッサの前記記憶ユニットと、共通メモリの制御情報領域とに同一のアドレスを割り振り、アクセス権のないプロセッサのアクセス制御部は、共通バス上のアドレスが指示する記憶ユニットの記憶域に共通バス上の制御情報を取り込んで書込む、
ことを特徴とする付記６記載のマルチプロセッサシステム。
（付記８）  各プロセッサのアクセス制御部は、上位ユニットから前記共通メモリにおける所定データ領域へのアクセスが要求されたとき、前記記憶ユニットにおける該データ領域に応じた制御情報を読み取って、他プロセッサが使用中であるか判断し、使用中の場合には共通メモリにアクセスすることなく判断結果を上位装置に入力する、
ことを特徴とする付記６記載のマルチプロセッサシステム。
（付記９）  共通メモリと多数のプロセッサとを共通バスを介して接続し、共通メモリの同一データ領域へのアクセスを１つのプロセッサのみに許可するマルチプロセッサシステムにおいて、
共通メモリにデータを記憶する多数のデータ領域と該データ領域毎の使用中を示す制御情報を記憶する制御情報領域を設け、
各プロセッサに前記データ領域と同等の記憶ユニットと、アクセス制御部を設け、
アクセス権のないプロセッサのアクセス制御部は、共通バス上を流れるデータ及びアドレスを監視し、該データを取り込んで自プロセッサ内の前記記憶ユニットに格納する、
ことを特徴とするマルチプロセッサシステム。
【００３４】
【発明の効果】
以上本発明によれば、所定のデータ領域のアクセス権を獲得していないプロセッサ装置は装置内情報を参照するだけで他のプロセッサ装置が該データ領域を使用しているかわかる。このため、従来のように一々共通バスを介して共通メモリに問い合わせる必要がなく、プロセッサのスループットを向上することができ、しかも、短時間で結果を入手することが出来る。
又、本発明によれば、所定のデータ領域のアクセス権を獲得しているプロセッサは自装置内のキャッシュにヒットすれば共通メモリにアクセスする必要がなく高速にデータを読み取って処理することが出来、プロセッサのスループットを向上することができる。
又、本発明によれば、アクセス権のないプロセッサにデータの書き込みのみを禁止させ、データの読み取りを可能とすれば、他のプロセッサも自装置内のキャッシュにヒットすれば共通メモリにアクセスする必要がなく高速にデータを読み取って処理することが出来、プロセッサのスループットを向上することが可能となる。
又、本発明によれば、共通バスがビジーとなる状態を少なく出来るため、アクセス権を獲得しているプロセッサは共通メモリから高速にデータの読み出しやデータの書き込みが可能になる。
【図面の簡単な説明】
【図１】第１実実施例のマルチプロセッサシステムの構成図である。
【図２】ＣＰＵ＃０が所定のデータ領域（データ領域ＧＭ−Ｎ）に対するアクセス権を獲得する処理の説明図である。
【図３】データ領域ＧＭ−Ｎのアクセス権がＣＰＵ＃０により獲得されている状態において、該ＣＰＵ＃０がデータ領域ＧＭ−Ｎにアクセスする処理説明図である。
【図４】データ記憶部ＧＭへの書き込みの処理説明図である。
【図５】共通メモリカードのデータ記憶部ＧＭからの読み出しが、ＣＰＵ＃０内ＧＭキャッシュにヒットした場合の処理説明図である。
【図６】ＣＰＵ＃０がｓｅｍｆ−ｎ  に応じたデータ領域ＧＭ−Ｎを使用中において、ＣＰＵ＃１によるｓｅｍｆ−ｎのセマフォ獲得アクセスが発生した場合の処理説明図である。
【図７】本発明の第２実施例の構成図である。
【図８】本発明の第３実施例の構成図である。
【図９】移動体通信システムの構成図である。
【図１０】従来の基地局制御装置のマルチプロセッサ構成図である。
【図１１】バスアービタと各プロセッサ間の接続図である。
【図１２】従来のバスアクセス回数（バス使用回数）の状況説明図である。
【図１３】従来の共通メモリカードＣＭへの第１のアクセス制御説明図である。
【図１４】従来の共通メモリカードＣＭへの第２のアクセス制御説明図である。
【図１５】従来の共通メモリカードＣＭへの第３のアクセス制御説明図である。
【図１６】従来の共通メモリカードＣＭへの第４のアクセス制御説明図である。
【図１７】従来の共通メモリカードＣＭへの第５のアクセス制御説明図である。
【符号の説明】
５０  共通バスであるＧバス
５１  バスアービタ（ＢＣＯＮＴ）
５２１〜５２ｎ  プロセッサ（ＣＰＵ＃１〜ＣＰＵ＃ｎ）
５３  共通メモリカード（ＣＭ）
６１  マイクロプロセッサユニット（ＭＰＵ）
６２  アクセス制御部（専用ＬＳＩ）
６３  キャッシュメモリ
７１  共通メモリ
７２  共通メモリコントローラ（ＣＭコントローラ）
【図１】
2004178374.tif 000003
【図２】
2004178374.tif 000004
【図３】
2004178374.tif 000005
【図４】
2004178374.tif 000006
【図５】
2004178374.tif 000007
【図６】
2004178374.tif 000008
【図７】
2004178374.tif 000009
【図８】
2004178374.tif 000010
【図９】
2004178374.tif 000011
【図１０】
2004178374.tif 000012
【図１１】
2004178374.tif 000013
【図１２】
2004178374.tif 000014
【図１３】
2004178374.tif 000015
【図１４】
2004178374.tif 000016
【図１５】
2004178374.tif 000017
【図１６】
2004178374.tif 000018
【図１７】
2004178374.tif 000019