(57)【特許請求の範囲】
【請求項１】
複数のプロセッサがアクセスする共有メモリ制御回路において、
複数のメモリ領域と、
前記複数のメモリ領域に対応して設けられ、メモリ領域の使用状態を記録する複数のメモリ管理レジスタと、
前記複数のメモリ領域の使用状態を記録するメモリ状態サマリレジスタと
を備え、
前記プロセッサは、前記メモリ状態サマリレジスタから未使用のメモリ領域を検出し、検出した未使用のメモリ領域に対応するセマフォレジスタにアクセスしてセマフォを獲得する共有メモリ制御回路。
【請求項２】
複数のプロセッサがアクセスする共有メモリ制御回路において、
複数のメモリ領域と、
前記複数のメモリ領域に対応して設けられた複数のメモリ管理レジスタであって、メモリ領域の使用状態を記録する複数のメモリ管理レジスタと
を備え、
前記メモリ管理レジスタは、対応するメモリ領域に対して、メモリ領域が使用中であるか未使用であるかという使用状態を記録するメモリアクセス状態ビットを有し、
１．メモリ領域への最終アクセスの種類を記録する最終アクセス種類ビット、
２．メモリ領域への最終アクセスをしたプロセッサのプロセッサ番号を記録する最終アクセスプロセッサビット、
３．通信データの宛先となる通信先プロセッサのプロセッサ番号を記録する通信用ＩＤビット、
４．通信データのデータ識別番号を記録するデータ識別ビット、
５．通信データが記録されたメモリ領域の開始アドレスおよび終了アドレス、および、読み出しを行ったメモリ領域の開始アドレスおよび終了アドレスを記録するアドレスビットの少なくともいずれか１つ以上のビットを有する共有メモリ制御回路。
【請求項３】
複数のプロセッサがアクセスする共有メモリ制御回路において、
複数のメモリ領域と、
前記複数のメモリ領域に対応して設けられ、メモリ領域の使用状態を記録する複数のメモリ管理レジスタと、
前記複数のメモリ領域の使用状態を記録するメモリ状態サマリレジスタと
を備え、
前記メモリ管理レジスタは、対応するメモリ領域に対して、メモリ領域が使用中であるか未使用であるかという使用状態を記録するメモリアクセス状態ビットを有し、
１．メモリ領域への最終アクセスの種類を記録する最終アクセス種類ビット、
２．メモリ領域への最終アクセスをしたプロセッサのプロセッサ番号を記録する最終アクセスプロセッサビット、
３．通信データの宛先となる通信先プロセッサのプロセッサ番号を記録する通信用ＩＤビット、
４．通信データのデータ識別番号を記録するデータ識別ビット、
５．通信データが記録されたメモリ領域の開始アドレスおよび終了アドレス、および、読み出しを行ったメモリ領域の開始アドレスおよび終了アドレスを記録するアドレスビットの少なくともいずれか１つ以上のビットを有する共有メモリ制御回路。
【請求項４】
複数のプロセッサがアクセスする共有メモリ制御回路において、
複数のメモリ領域と、
前記複数のメモリ領域の使用状態を記録するメモリ状態サマリレジスタと、
前記メモリ状態サマリレジスタにおいて未使用と記録されたメモリ領域の動作を停止させるメモリ制御部と、
前記メモリ制御部により動作が停止されたメモリ領域を記録するメモリ制御サマリレジスタと
を備え、
前記プロセッサは、前記メモリ状態サマリレジスタから未使用のメモリ領域を検出し、検出した未使用のメモリ領域に対応するセマフォレジスタにアクセスしてセマフォを獲得する共有メモリ制御回路。
【請求項５】
複数のメモリ領域を有する共有メモリに対して複数のプロセッサがアクセスする共有メモリ制御方法において、
前記複数のメモリ領域に対応して設けられた複数のメモリ管理レジスタに、メモリ領域の使用状態を記録する使用状態記録ステップと、
メモリ状態サマリレジスタに前記メモリ領域の使用状態を記録する管理状態記録ステップと、
前記メモリ状態サマリレジスタから未使用のメモリ領域を検出し、検出した未使用のメモリ領域に対応するセマフォレジスタにアクセスしてセマフォを獲得するセマフォ獲得ステップと
を備えた共有メモリ制御方法。
【請求項６】
前記複数のメモリ領域のなかで使用していない未使用のメモリ領域を判定する未使用判定ステップと、
前記未使用判定ステップで判定された未使用のメモリ領域の動作を停止させる停止ステップと、
メモリ制御サマリレジスタに、動作を停止させたメモリ領域を記録する停止記録ステップと、
前記メモリ制御サマリレジスタを参照して、使用可能なメモリ領域を判断して、使用可能なメモリ領域を選択する選択ステップと、
前記メモリ制御サマリレジスタを参照して、停止しているメモリ領域を判断して、停止しているメモリ領域を起動する起動ステップと
を備えた請求項５に記載の共有メモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、共有メモリ制御回路及び共有メモリ制御方法に関し、特に、複数のプロセッサからアクセス可能な共有メモリを有するマルチプロセッサシステムに関する。
【背景技術】
【０００２】
共有メモリを有するマルチプロセッサシステムにおいて、複数のプロセッサ（ＣＰＵ）から共有メモリにアクセスする際の排他制御のためにセマフォ（排他制御用変数）が用いられる。共有メモリを複数の領域に分割し、分割したメモリ領域に対応したセマフォレジスタを設ける。共有メモリアクセス時には、アクセスする領域に対応するセマフォレジスタが”０”であることを読み出すことにより、他のプロセッサにセマフォが獲得されていないことを確認した後に、セマフォ使用中を示すために”１”を書き込み、セマフォを獲得することで排他制御を行う。セマフォを獲得したあとに共有メモリへアクセスし、読み出し又は書き込みを行うことにより、複数のプロセッサからの同時アクセスを禁止し、同時書き込みによるデータ破壊やデータ読み出し中にデータが書き換えられることを防止している。そのため、セマフォ獲得失敗時すなわちセマフォレジスタから読み出した値が”１”の場合にはポーリングなどでセマフォ解放を待つ必要がある。
セマフォ獲得時は、セマフォレジスタの状態読み出し動作から獲得状態書き込み動作までの間に、別のプロセッサから読み出し又は書き込みが発生すると排他制御が実現できない。このため、セマフォレジスタの状態読み出しから獲得状態書き込みまでは他のプロセッサからのアクセスを禁止する必要があり、リード・モディファイ・ライトと呼ばれる状態読み出しを行うと同時に獲得状態を書き込む処理を行わなければならない。
【０００３】
そのため、複数のセマフォレジスタを同時に読み出すと、アクセスした複数のセマフォを獲得してしまう場合があるため、不要なセマフォを獲得しないようにするためには、１回のアクセスでは１つのセマフォレジスタしかアクセスできない。したがって、複数のセマフォ状態を同時に知ることができず、セマフォを獲得するためには１レジスタずつ順番にアクセスする必要があり、アクセス時間の増大によりスループットが低下していた。
【０００４】
また、共有メモリを用いて通信を行う場合、分割された共有メモリ領域内で有効な通信データが保存されたアドレス範囲を判別することができない。そのため、分割された共有メモリ領域内の全てのアドレスを読み出す必要があり、通信に用いられるデータが保存されていないアドレスからもデータを読み出さなければならず、通信のスループットが低下していた。また、通信で使用されるデータが保存されている領域と保存されていない領域を区別することができず、未使用のメモリ領域も含めたすべての共有メモリ領域を常時動作させておく必要があり、消費電力を増大させる原因となっていた。
【０００５】
このような問題に対し、特開２００４−１７８３７４では、共有バス上を流れるデータおよびアドレスを監視し、自プロセッサ用キャッシュにコピーすることで、セマフォレジスタへのアクセスを減らして、バスのひっ迫を抑制する。このように、共有メモリデータおよびセマフォレジスタデータと同一の内容を自プロセッサのキャッシュにコピーしてバス使用率を低減する技術が開示されている。
【０００６】
しかし、特開２００４−１７８３７４では、セマフォ獲得失敗時にはポーリングなどでセマフォ解放を待つ必要がある。また、複数のセマフォ状態を同時に知ることができず、セマフォを獲得するためには１レジスタずつ順番にアクセスする必要があり、アクセス時間や通信スループット、共有メモリによる消費電力を改善することができない。また、共有メモリデータおよびセマフォレジスタデータを保存できる大容量のキャッシュが必要であり、高コストとなる問題がある。
【０００７】
また、特開２００１−２２２４６６では、共有メモリを小ブロックに分割し、各ブロックに最後に更新したＣＰＵの識別子を示す識別子記憶領域を設置し、アクセスＣＰＵと一致する場合は、共有メモリを参照せず、ＣＰＵ専用メモリのデータを使用する技術が開示されている。
【０００８】
しかし、特開２００１−２２２４６６では、セマフォ獲得失敗時にはポーリングなどでセマフォ解放を待つ必要がある。また、複数のセマフォ状態を同時に知ることができず、セマフォを獲得するためには１レジスタずつ順番にアクセスする必要があり、アクセス時間や通信スループット、共有メモリによる消費電力を改善することができない。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００４−１７８３７４号公報
【特許文献２】特開２００１−２２２４６６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記のように、複数のプロセッサから共有メモリにアクセスするシステムではセマフォを用いた排他制御が行われるが、セマフォ獲得の失敗時にはポーリングなどでセマフォ解放を待つ必要があった。また、複数のセマフォ状態を同時に知ることができず、セマフォを獲得するためには１レジスタずつ順番にアクセスする必要があり、アクセス時間が増大し、スループットが低下していた。
また、共有メモリを用いて通信を行う場合、通信するデータが保存されたアドレスやシステムとして使用していないメモリ領域を判別することができず、通信に使用されてない領域へのアクセスによる通信スループットの低下いった課題があった。
また。未使用のメモリ領域も含めたすべての共有メモリ領域を常時動作させておくことによる消費電力の増大といった課題があった。
【００１１】
本発明は、複数のプロセッサからアクセスできる共有メモリを使用した通信スループットの改善を行うことを目的とする。
【課題を解決するための手段】
【００１２】
本発明の共有メモリ制御回路は、
複数のプロセッサがアクセスする共有メモリ制御回路において、
複数のメモリ領域と、
前記複数のメモリ領域に対応して設けられた複数のセマフォレジスタであって、メモリ領域の排他制御のために用いられるセマフォを記録する複数のセマフォレジスタと、
前記複数のセマフォレジスタの状態を記録するセマフォ状態サマリレジスタと
を備えた。
【発明の効果】
【００１３】
本発明によれば、複数のセマフォレジスタの状態を１回のアクセスで確認可能なセマフォ状態サマリレジスタを備えているので、共有メモリへのアクセス時間の短縮及び通信スループットの改善が可能となる。
【図面の簡単な説明】
【００１４】
【図１】この発明の実施の形態１による共有メモリ制御回路５０を説明する図である。
【図２】この発明の実施の形態１において複数のセマフォ状態読み出しの実現方法を説明する図である。
【図３】この発明の実施の形態１において送信側のプロセッサの動作を説明する図である。
【図４】この発明の実施の形態１において受信側のプロセッサの動作を説明する図である。
【図５】この発明の実施の形態２による共有メモリ制御回路５０を説明する図である。
【図６】この発明の実施の形態２において複数の共有メモリ領域の使用状態読み出しの実現方法を説明する図である。
【図７】この発明の実施の形態２において送信側のプロセッサの動作を説明する図である。
【図８】この発明の実施の形態２において受信側のプロセッサの動作を説明する図である。
【図９】この発明の実施の形態３による共有メモリ制御回路５０を説明する図である。
【図１０】この発明の実施の形態３において複数の共有メモリ領域の使用可否情報読み出しの実現方法を説明する図である。
【図１１】この発明の実施の形態３においてメモリ領域停止動作を説明する図である。
【図１２】この発明の実施の形態３においてメモリ領域起動動作を説明する図である。
【図１３】この発明の実施の形態３においてメモリ領域起動動作を説明する図である。
【発明を実施するための形態】
【００１５】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１は、本発明の第１の実施の形態における共有メモリ制御回路５０を含むマルチプロセッサシステム１００の構成を示す図である。
図１において、プロセッサ１０、プロセッサ２０、プロセッサ３０は、バス４０に接続されている。共有メモリ制御回路５０もバス４０に接続されている。共有メモリ制御回路５０は、共有メモリ５２０と共有メモリ５２０のアクセスを制御するアクセス制御部５４１とを有している。
共有メモリ５２０はＮ個に分割して管理されており、共有メモリ制御回路５０は、複数のメモリ領域を有し、図１では、共有メモリ５２０はメモリ領域５２１、５２２、５２３、５２４に分割されている。また、共有メモリ制御回路５０は、複数のメモリ領域に対応して複数のセマフォレジスタを設けている。セマフォレジスタは、メモリ領域の排他制御のために用いられるセマフォを記録するレジスタである。図１では、それぞれのメモリ領域５２１、５２２、５２３、５２４に対応するセマフォレジスタ５０１、５０２、５０３、５０４を設けている。図１において、「ＲＧ」は「レジスタ」を意味する。以下、セマフォレジスタ５０１、５０２、５０３、５０４を区別する必要がない場合は単にセマフォレジスタ５００という。
また、共有メモリ制御回路５０は、複数のセマフォレジスタの状態を記録するセマフォ状態サマリレジスタ５３１を設けている。
【００１６】
図２に示すように、セマフォレジスタ５００は、複数ビットからなるレジスタであり、セマフォレジスタ５００の最下位ビットは１ビットからなるセマフォを記録するセマフォ状態ビット５０９である。セマフォ状態ビット５０９が”０”のときセマフォが獲得されていないことを示し、”１”のときセマフォが獲得されていることを示す。セマフォ状態ビット５０９は、共有メモリ５２０を分割したメモリ領域に対応したセマフォレジスタ内のセマフォ獲得中を表すビットである。
また、図２に示すように、セマフォ状態サマリレジスタ５３１は、セマフォ状態ビット５０９の値を引き出して配列したＮビットのレジスタである。セマフォ状態サマリレジスタ５３１の各ビットは、対応するセマフォ状態ビット５０９に信号線で接続されており、セマフォ状態ビット５０９が変化すると同時にセマフォ状態サマリレジスタ５３１の各ビットの値に反映される。これにより、セマフォ状態サマリレジスタ５３１の最下位ビットから最上位ビットに向かってセマフォレジスタ５０１、５０２、５０３、５０４のセマフォ状態ビット５０９の値と同じ値が順に記録される。セマフォ状態サマリレジスタ５３１は、プロセッサから１回のアクセスで読み取ることができ、プロセッサは１回のアクセスでＮ個のセマフォ状態を知ることが可能となり、複数のセマフォレジスタに個別にアクセスする必要がなくなる。この際、セマフォ状態サマリレジスタ５３１をセマフォ状態ビット５０９に接続せずに独立したレジスタとし、セマフォ状態ビット５０９の値が変化した際にプロセッサまたはアクセス制御部５４１がセマフォ状態サマリレジスタ５３１を書き換えても良い。
【００１７】
＊＊＊動作の説明＊＊＊
図３と図４を用いて、共有メモリ制御回路５０の共有メモリ制御方法について説明する。ここでは、異なるプロセッサ間で共有メモリを使用したデータ通信を行う際の動作を、プロセッサ１からプロセッサ２に向けてデータを送信する場合を例に説明する。
【００１８】
＜＜データ送信動作＞＞
ステップ１１：セマフォ状態サマリレジスタ読み出しステップ
図３にデータ送信側のプロセッサ１の動作フローチャートを示す。データ送信側のプロセッサ１は、メモリ記憶領域にアクセスする際は、セマフォ状態サマリレジスタ５３１の値を読み出す。
【００１９】
ステップ１２：セマフォ獲得ステップとセマフォ状態記録ステップ
次に、プロセッサ１は、セマフォ状態サマリレジスタ５３１の値が”０”のビットを探しセマフォが獲得されていないセマフォレジスタを検出する。プロセッサ１は、メモリ領域が未使用のセマフォレジスタにアクセスし、セマフォを獲得する。すなわち、プロセッサ１は、セマフォ状態サマリレジスタ５３１の０の値のビットに対応するセマフォレジスタにアクセスし、そのセマフォレジスタの値を読み出すとともにセマフォ状態ビット５０９を”１”に書き換える。セマフォレジスタの状態読み出しから獲得状態書き込みまでは他のプロセッサからのアクセスを禁止する必要があり、例えば、リード・モディファイ・ライトと呼ばれる状態読み出しを行うと同時に獲得状態を書き込む処理をする。
この際、セマフォ状態ビット５０９に信号線で接続されているセマフォ状態サマリレジスタ５３１の対応するビットの値にセマフォ状態ビット５０９の値が反映される。また、セマフォ状態サマリレジスタ５３１をセマフォ状態ビット５０９に接続せずに独立したレジスタとした場合には、プロセッサ１は、セマフォ状態ビット５０９が”１”に書き換えられたセマフォレジスタに対応するセマフォ状態サマリレジスタ５３１のビットを”１”に書き換える。セマフォ状態サマリレジスタ５３１のビットを”１”に書き換える処理は、プロセッサ１ではなく、アクセス制御部５４１が実施してもよい。この場合は、アクセス制御部５４１は、セマフォ状態ビット５０９が”１”に書き換えられることを検出してセマフォ状態サマリレジスタ５３１の対応するビットを”１”に書き換える。
このように、セマフォ獲得ステップは、複数のメモリ領域に対応して設けられた複数のセマフォレジスタに、メモリ領域の排他制御のために用いられるセマフォを記録するステップである。
また、セマフォ状態記録ステップは、セマフォ状態サマリレジスタにセマフォレジスタの状態を記録するステップである。
【００２０】
ステップ１３：セマフォ獲得チェックステップ
セマフォ獲得の際、セマフォ状態サマリレジスタ５３１の読み出しからセマフォレジスタの状態読み出しまでの間に、別のプロセッサが同一のセマフォを獲得してしまうことにより、セマフォ獲得に失敗する、すなわちセマフォレジスタから読み出した値が”１”である可能性がある。この際は、読み出したセマフォ状態サマリレジスタの値から別のセマフォレジスタを選定し、セマフォが獲得されていないセマフォレジスタにアクセスすることでセマフォを獲得する。
【００２１】
ステップ１４：データ書き込みステップ（メモリ領域アクセスステップ）
次に、データ送信側のプロセッサ１は、獲得したセマフォに対応するメモリ領域に送信データを書き込む。
【００２２】
ステップ１５：セマフォ開放ステップ
全ての通信データの書き込みが終了すると、プロセッサ１はアクセスしたメモリ境域に対応するセマフォレジスタに”０”を書き込むことでセマフォを解放する。この際、セマフォ状態ビット５０９に信号線で接続されているセマフォ状態サマリレジスタ５３１の対応するビットの値にセマフォ状態ビット５０９の値が反映される。また、セマフォ状態サマリレジスタ５３１をセマフォ状態ビット５０９に接続せずに独立したレジスタとした場合には、プロセッサ１はセマフォ状態サマリレジスタ５３１の対応するビットを”０”に書き換える。
これにより、プロセッサ１からのデータ送信が完了する。
【００２３】
＜＜データ受信動作＞＞
次に、データ受信側のプロセッサ２が、プロセッサ１が書き込んだデータの読み出しを行う動作について説明する。図４にデータ受信側のプロセッサ２の動作フローチャートを示す。
【００２４】
ステップＳ２１：通知信号待ちステップ
プロセッサ２が共有メモリから通信データを読み出す読み出しタイミングは、プロセッサ１からプロセッサ２に割り込み信号などの通知信号で通知するか、またはポーリングを行う。プロセッサ２は、プロセッサ１から通知信号を待つ。
【００２５】
ステップＳ２２：読み出し開始ステップ
プロセッサ２は、通知信号を受信すると読み出し動作を開始する。
【００２６】
ステップＳ２３：セマフォ獲得ステップとセマフォ状態記録ステップ
プロセッサ２は、通知信号を解析して、通信データが記録されたメモリ領域を特定し、対応するセマフォレジスタにアクセスし、セマフォを獲得する。セマフォレジスタのアクセス動作とセマフォの獲得動作は、セマフォ状態サマリレジスタ５３１へのアクセスがない点を除き、前述したステップ１２と同じである。セマフォ状態サマリレジスタ５３１へのアクセスが不要である理由は、通信データが記録されたメモリ領域がすでにプロセッサ２に通知されており、プロセッサ２はアクセスすべきセマフォレジスタをすでに知っているからである。
【００２７】
ステップ２４：セマフォ獲得チェックステップ
セマフォ獲得の際、セマフォ獲得が失敗する場合がある。すなわち、セマフォレジスタから読み出した値が”１”の場合には、プロセッサ２又はアクセス制御部５４１は、ポーリングでセマフォレジスタのセマフォ解放を待つ。
【００２８】
ステップＳ２５：データ読み出しステップ（メモリ領域アクセスステップ）
セマフォ獲得後、プロセッサ２は、通信データが記録されたメモリ領域から通信データを読み出す。
【００２９】
ステップＳ２６：セマフォ開放ステップ
プロセッサ２による通信データの読み出しが終了すると、プロセッサ２は、アクセスしたメモリ領域に対応するセマフォレジスタに”０”を書き込み、セマフォを解放する。この際、セマフォ状態ビット５０９に信号線で接続されているセマフォ状態サマリレジスタ５３１の対応するビットの値にセマフォ状態ビット５０９の値が反映される。また、セマフォ状態サマリレジスタ５３１をセマフォ状態ビット５０９に接続せずに独立したレジスタとした場合には、プロセッサ２又はアクセス制御部５４１は、セマフォが開放されたセマフォレジスタに対応するセマフォ状態サマリレジスタ５３１のビットを”０”に書き換える。
これにより、プロセッサ２の受信処理が完了する。
【００３０】
＊＊＊実施の形態の効果の説明＊＊＊
本発明の実施の形態によれば、共有メモリ制御回路５０は、セマフォ状態サマリレジスタ５３１を備えているので、複数のプロセッサからアクセスできる共有メモリを使用した通信スループットの改善ができる。すなわち、複数のセマフォレジスタの状態を１回のアクセスで確認可能なセマフォ状態サマリレジスタ５３１を備えているので共有メモリへのアクセス時間の短縮が可能となる。
【００３１】
実施の形態２．
この実施の形態では、主として実施の形態１と異なる点について説明する。
＊＊＊構成の説明＊＊＊
図５は、本発明の第２の実施の形態における共有メモリ制御回路５０を含むシステムの構成を示す図である。
共有メモリ制御回路５０は、複数のメモリ領域に対応して複数のメモリ管理レジスタを設けている。複数のメモリ管理レジスタは、メモリ領域の使用状態を記録するレジスタである。図５では、メモリ領域５２１、５２２、５２３、５２４に対応するメモリ管理レジスタ５１１、５１２、５１３、５１４を設けている。以下、メモリ管理レジスタ５１１、５１２、５１３、５１４を区別する必要がない場合は単にメモリ管理レジスタ５１０という。
また、共有メモリ制御回路５０は、複数のメモリ領域の状態を記録するメモリ状態サマリレジスタ５３２を設けている。
【００３２】
図６に示すように、メモリ管理レジスタ５１０は、複数ビットからなるレジスタである。メモリ管理レジスタ５１０の最下位ビットは１ビットからなるメモリ使用状態ビット５１７である。メモリ使用状態ビット５１７が”０”のとき対応するメモリ領域が未使用であり、”１”のとき対応するメモリ領域が使用中であることを示す。メモリ使用状態ビット５１７は、共有メモリ５２０を分割したメモリ領域が未使用か使用中かを示すフラグビットである。
また、図６に示すように、メモリ状態サマリレジスタ５３２は、メモリ使用状態ビット５１７の値を引き出して配列したＮビットのレジスタである。メモリ状態サマリレジスタ５３２の各ビットは、対応するメモリ使用状態ビット５１７に信号線で接続されており、メモリ使用状態ビット５１７が変化すると同時にメモリ状態サマリレジスタ５３２の各ビットの値に反映される。これにより、メモリ状態サマリレジスタ５３２の最下位ビットから最上位ビットに向かってメモリ管理レジスタ５１１、５１２、５１３、５１４のメモリ使用状態ビット５１７の値と同じ値が順に記録されている。メモリ状態サマリレジスタ５３２は、プロセッサから１回のアクセスで読み取ることができ、プロセッサは１回のアクセスでＮ個のメモリ使用状態を知ることが可能となり、複数のメモリ管理レジスタに個別にアクセスする必要がなくなる。
【００３３】
メモリ管理レジスタ５１０は、対応するメモリ記憶領域に関する情報を保存するレジスタである。メモリ管理レジスタ５１０は、最下位ビットに前述したメモリ使用状態ビット５１７を有し、最下位ビット以外にメモリアクセス状態ビット５１８を有する。
メモリ使用状態ビット５１７は、メモリ領域の使用状態（有効な通信データの有無）を保存する。
メモリアクセス状態ビット５１８は、少なくとも以下のビットのいずれか１つ以上からなり、以下のメモリ記憶領域の情報を保存する。
１．最終アクセス種類ビット（１ビット）
メモリ領域への最終アクセス種類（０：読み出し又は１：書き込み）、
メモリアクセスの状態を知ることができる。
２．最終アクセスプロセッサビット（複数ビット）
メモリ領域への最終アクセスをしたプロセッサのプロセッサ番号、
３．通信用ＩＤビット（複数ビット）
通信データの宛先となる通信先プロセッサのプロセッサ番号、
４．データ識別ビット（複数ビット）
送信データの順番などを表す通信データのデータ識別番号を記録する。
５．アドレスビット（複数ビット）
送信データが記録されたメモリ領域の開始アドレスおよび終了アドレス。
および、読み出しを行ったメモリ領域の開始アドレスおよび終了アドレス。
【００３４】
メモリ領域へのアクセス時にメモリ管理レジスタ５１０のこれらの情報をハードウェア又はソフトウェアによりメモリ管理レジスタに保存する。具体的には、プロセッサ又はアクセス制御部５４１が、メモリ領域へのアクセス時にこれらの情報をメモリ管理レジスタに保存する。プロセッサは、このメモリ管理レジスタ５１０にアクセスすることにより、システム内の全てのプロセッサが共有メモリの使用状態を知ることができる。
【００３５】
＊＊＊動作の説明＊＊＊
図７と図８を用いて、共有メモリ制御回路５０の共有メモリ制御方法について説明する。
【００３６】
＜＜データ送信動作＞＞
ステップ１１：セマフォ状態サマリレジスタとメモリ状態サマリレジスタの読み出しステップ
データ送信側のプロセッサ１は、共有メモリにアクセスする際は、セマフォ状態サマリレジスタ５３１およびメモリ状態サマリレジスタ５３２の値を読み出す。
【００３７】
ステップ１２：セマフォ獲得ステップとセマフォ状態記録ステップ
プロセッサ１は、セマフォ状態サマリレジスタ５３１の値が”０”のビットを探しセマフォが獲得されていないセマフォレジスタを検出するとともに、メモリ状態サマリレジスタ５３２の値が”０”のビットを探し未使用のメモリ領域を検出する。そして、プロセッサ１は、セマフォが獲得されておらず未使用のメモリ領域のセマフォレジスタにアクセスし、セマフォを獲得する。その後、実施の形態１と同様の動作により、プロセッサ１は、セマフォレジスタに、メモリ領域の排他制御のために用いられるセマフォを記録し、セマフォ状態ビットに信号線で接続されているセマフォ状態サマリレジスタの対応するビットの値にセマフォ状態ビットの値が反映される。また、セマフォ状態サマリレジスタをセマフォ状態ビットに接続せずに独立したレジスタとした場合には、プロセッサ１はセマフォ状態サマリレジスタにセマフォレジスタの状態を記録する。
【００３８】
ステップ１３：セマフォ獲得チェックステップ
セマフォ獲得の際、セマフォ状態サマリレジスタ５３１の読み出しからセマフォレジスタの状態読み出しまでの間に、別のプロセッサが同一のセマフォを獲得してしまうことにより、セマフォ獲得に失敗する可能性がある。この際は、読み出したセマフォ状態サマリレジスタ５３１およびメモリ状態サマリレジスタ５３２の値から別のセマフォレジスタを選定し、セマフォが獲得されていないセマフォレジスタにアクセスすることでセマフォを獲得する。
【００３９】
ステップ１４−１：データ書き込みステップ（メモリ領域アクセスステップ）
次に、データ送信側のプロセッサ１は、獲得したセマフォに対応するメモリ領域に送信データを書き込む。
【００４０】
ステップ１４−２：使用状態記録ステップ
この際、アクセス制御部５４１は、書き込み先のメモリ領域に対応したメモリ管理レジスタのメモリ使用状態ビットに”１”を書き込み、対応するメモリ領域がプロセッサ間通信で使用中であることを記録する。ここで、メモリ領域が使用中であるとは、通信用のデータが保存されており、かつ読み出されていない状態であることを意味する。また、メモリ領域が未使用であるとは、使用中の通信用のデータが無い状態、すなわち、通信用のデータが保存されていないか、または保存されているが通信先のプロセッサによって通信データが読み出し済みであることを意味する。この際、メモリ使用状態ビットに信号線で接続されているメモリ状態サマリレジスタの対応するビットの値にセメモリ使用状態ビットの値が反映される。
同時に、アクセス制御部５４１は、最終アクセス種類ビットに”１”を書き込むことで、直前のアクセスが書き込みであったことを示す。また、アクセス制御部５４１は、最終アクセスプロセッサビットに”１”を書き込み、最終アクセスプロセッサがプロセッサ１であったことを示す。さらに、アクセス制御部５４１は、通信用ＩＤビットにデータ送信先のプロセッサＩＤである”２”を書き込むことで、送信先のプロセッサを指定する。加えて、アクセス制御部５４１は、データ識別ビットに送信データの順番を表す通信データ識別番号を書き込んでも良い。
アクセス制御部５４１は、データ書き込み時にデータの書き込み開始アドレスと書き込み終了アドレスをメモリ管理レジスタのアドレスビットの開始アドレスと終了アドレスに書き込み、メモリ領域のどのアドレスにデータが書き込まれたかを記憶する。
以上のように、使用状態記録ステップは、複数のメモリ領域に対応して設けられた複数のメモリ管理レジスタに、メモリ領域の使用状態を記録するステップである。
【００４１】
ステップ１４−３：管理状態記録ステップ
また、メモリ状態サマリレジスタをメモリ使用状態ビットに接続せずに独立したレジスタとした場合には、アクセス制御部５４１は、メモリ状態サマリレジスタ５３２の対応するビットへ”１”を書き込む。アクセス制御部５４１は、書き込み先のメモリ領域に対応したメモリ状態サマリレジスタ５３２の対応するビットに”１”を書き込み、対応するメモリ領域がプロセッサ間通信で使用中であることを記録する。
以上のように、管理状態記録ステップは、メモリ状態サマリレジスタ５３２にメモリ領域の使用状態を記録するステップである。
【００４２】
ステップ１５：セマフォ開放ステップ
全ての通信データの書き込みが終了すると、プロセッサ１はアクセスしたメモリ境域に対応するセマフォレジスタに”０”を書き込むことでセマフォを解放する。
この際、セマフォ状態ビットに信号線で接続されているセマフォ状態サマリレジスタの対応するビットの値にセマフォ状態ビットの値が反映される。また、セマフォ状態サマリレジスタをセマフォ状態ビットに接続せずに独立したレジスタとした場合には、プロセッサ１又はアクセス制御部５４１は、セマフォが開放されたセマフォレジスタに対応するセマフォ状態サマリレジスタ５３１のビットを”０”に書き換える。
これにより、プロセッサ１からのデータ送信が完了する。
【００４３】
＜＜データ受信動作＞＞
次に、データ受信側のプロセッサ２が、プロセッサ１が書き込んだデータの読み出しを行う動作について説明する。図８にデータ受信側のプロセッサ２の動作フローチャートを示す。
【００４４】
ステップＳ２１：ポーリングステップ又は通知信号待ちステップ
プロセッサ２が共有メモリから通信データを読み出すタイミングは、プロセッサ２がメモリ状態サマリレジスタ５３２をポーリングすることにより判断する。プロセッサ２は、メモリ状態サマリレジスタ５３２のあるビットへ”１”が書き込まれたことを検出すると、対応するメモリ管理レジスタ５１０の通信用ＩＤビットに記録された通信先プロセッサＩＤが”２”であるか否かを判断する。プロセッサ２は、メモリ状態サマリレジスタ５３２をポーリングする代わりに、メモリ管理レジスタをポーリングしてもよい。
あるいは、実施の形態１と同じく、プロセッサ２が共有メモリから通信データを読み出す読み出しタイミングは、プロセッサ１からプロセッサ２への通知信号で通知してもよい。
【００４５】
ステップＳ２２：読み出し開始ステップ
プロセッサ２は通信データが書き込まれたメモリ領域に対応するメモリ管理レジスタを読み出し、メモリ使用状態が”１”であり、通信用プロセッサＩＤが自プロセッサＩＤである”２”と一致し、最終アクセス種類が書き込みであった場合、未受信のデータがあると判断する。未受信のデータがあると判断した場合、共有メモリから通信データの読み出しを開始する。
あるいは、プロセッサ２は、通知信号を受信すると読み出し動作を開始する。
【００４６】
ステップＳ２３：セマフォ獲得ステップとセマフォ状態記録ステップ
プロセッサ２は、未受信のデータがあると判断した場合、実施の形態１と同じく、対応するセマフォレジスタにアクセスし、セマフォを獲得して、セマフォレジスタにセマフォの獲得を記録し、セマフォ状態サマリレジスタにセマフォレジスタの値を反映させる。
【００４７】
ステップ２４：セマフォ獲得チェックステップ
セマフォ獲得の際、セマフォ獲得が失敗する場合がある。すなわち、セマフォレジスタから読み出した値が”１”の場合には、プロセッサ２又はアクセス制御部５４１は、ポーリングでセマフォレジスタのセマフォ解放を待つ。
【００４８】
ステップＳ２５：データ読み出しステップ（メモリ領域アクセスステップ）
セマフォ獲得後、プロセッサ２は、通信データが記録されたメモリ領域から通信データを読み出す。
プロセッサ２は、読み出したメモリ管理レジスタのアドレスビットの開始アドレスと終了アドレスに記録された書き込み開始アドレスと書き込み終了アドレスから有効なデータが保存されているアドレス範囲を判断し、このアドレス範囲のデータを読み出す。これにより、書き込みが行われていないメモリ領域への不要なアクセスを防止することができるため、通信スループットを向上することができる。
プロセッサ２によるデータ読み出しが終了すると、プロセッサ２は、メモリ管理レジスタのアドレスビットの読み出し開始アドレスと終了アドレスに読み出したアドレスを書き込み、送信データを全て受信したことを示す。例えば、データが記録された開始アドレスと終了アドレスが読み出し開始アドレスと終了アドレスに一致することを判定し、送信データを全て受信したことを示す。
【００４９】
ステップＳ２６：セマフォ開放ステップ
プロセッサ２による通信データの読み出しが終了すると、プロセッサ２は、プロセッサ２はメモリ管理レジスタのメモリ使用状態ビット５１７に”０”を書き込み、プロセッサ間通信が完了したことを示す。
また、プロセッサ２は、アクセスしたメモリ領域に対応するセマフォレジスタに”０”を書き込み、セマフォを解放する。
この際、セマフォ状態ビットに信号線で接続されているセマフォ状態サマリレジスタの対応するビットの値にセマフォ状態ビットの値が反映される。また、セマフォ状態サマリレジスタをセマフォ状態ビットに接続せずに独立したレジスタとした場合には、プロセッサ２又はアクセス制御部５４１は、セマフォが開放されたセマフォレジスタに対応するセマフォ状態サマリレジスタ５３１のビットを”０”に書き換える。
また、メモリ状態サマリレジスタをメモリ使用状態ビットに接続せずに独立したレジスタとした場合には、プロセッサ２又はアクセス制御部５４１は、メモリ状態サマリレジスタ３５２のビットを”０”に書き換える。
これにより、プロセッサ２の受信処理が完了する。
【００５０】
＊＊＊実施の形態の効果の説明＊＊＊
本実施の形態によれば、複数のセマフォレジスタの状態を１回のアクセスで確認可能なメモリ状態サマリレジスタ５３２を備えているので共有メモリへのアクセス時間の短縮が可能となる。
また、プロセッサからメモリ領域へのアクセス履歴および状態をソフトウェア又はハードウェアで記録するメモリ管理レジスタを備え、複数のプロセッサからアクセス可能とすることにより、通信するプロセッサのアクセス状況確認と制御を可能とすることができ、複数のプロセッサからアクセスできる共有メモリを使用した通信スループットの改善が可能になる。
【００５１】
実施の形態３．
この実施の形態では、主として実施の形態１、２と異なる点について説明する。
【００５２】
＊＊＊構成の説明＊＊＊
図９を用いて、本発明の第３の実施の形態における共有メモリ制御回路５０を含むシステムを説明する。
実施の形態１と同様に、図９に示すように、メモリ領域５２１、５２２、５２３、５２４に対応したセマフォレジスタ５０１、５０２、５０３、５０４およびセマフォ状態サマリレジスタ５３１を設ける。
また、共有メモリ制御回路５０は、複数のメモリ領域の使用の可否を記録するメモリ制御サマリレジスタ５３３と、メモリ制御サマリレジスタ５３３において使用不可と記録されたメモリ領域の動作を停止させるメモリ制御部５４２とを設けている。
【００５３】
図１０に示すように、メモリ管理レジスタの最下位ビットに、メモリ領域が使用可能かどうかを示すメモリ制御状態ビット５１９を設ける。メモリ制御状態ビット５１９が”０”のとき対応するメモリ領域は使用不可であり、”１”のとき対応するメモリ領域が使用可であることを示す。メモリ使用状態ビット５１７は、共有メモリ５２０を分割したメモリ領域の使用の可否を示すフラグビットである。ここで、メモリ領域が使用可能であるとは、対応するメモリ領域に電源とクロックが正常に供給されており、メモリへの書き込みおよび読み出しができる状態であることを意味する。
また、図１０に示すように、メモリ制御サマリレジスタ５３３は、メモリ使用状態ビット５１７の値を引き出して配列したＮビットのレジスタである。メモリ制御サマリレジスタ５３３の最下位ビットから最上位ビットに向かってメモリ管理レジスタ５１１、５１２、５１３、５１４のメモリ制御状態ビット５１９の値と同じ値が順に記録されている。メモリ制御サマリレジスタ５３３は、プロセッサから１回のアクセスで読み取ることができ、プロセッサは１回のアクセスでＮ個のメモリ使用状態を知ることが可能となり、複数のメモリ管理レジスタに個別にアクセスする必要がなくなる。
【００５４】
メモリ制御部５４２は、メモリ領域の使用可否を制御する。メモリ制御部５４２は、分割されたメモリ領域ごとにクロックの動作又は停止と電源の供給有無を制御する。メモリ制御部５４２は、クロックの動作又は停止と電源の供給有無とのいずれか一方のみを制御してもよいし、両方とも制御してもよい。
【００５５】
＊＊＊動作の説明＊＊＊
図１１を用いて、未使用のメモリ領域の動作停止方法について説明する。
ステップＳ３１：未使用判定ステップ
プロセッサは、メモリ状態サマリレジスタ５３２を読み出すことで未使用すなわち使用中の通信用のデータが無い状態（通信用のデータが保存されていないか、又は保存されているが通信先のプロセッサによって通信データが読み出し済みの状態）のメモリ領域を判定する。また、プロセッサを使用せずに、アクセス制御部５４１又はメモリ制御部５４２がメモリ状態サマリレジスタ５３２の値から未使用のメモリ領域を判定してもよい。
この判定は定期的に実行してもよいし、プロセッサの受信処理が完了するたびに実行してもよい。
また、メモリ状態サマリレジスタ５３２を参照する代わりに、メモリ管理レジスタ５１０のメモリ制御状態ビット５１９を参照して未使用のメモリ領域を判定してもよい。
【００５６】
ステップＳ３２：停止ステップ
プロセッサは、未使用のメモリ領域を検出すると、メモリ制御部５４２を介して未使用のメモリ領域のクロックの停止又は電源の遮断を行う。また、アクセス制御部５４１がメモリ制御部５４２を介して未使用のメモリ領域のクロックの停止又は電源の遮断を行ってもよい。あるいは、メモリ制御部５４２が未使用のメモリ領域のクロックの停止又は電源の遮断を行ってもよい。これにより、使用しないメモリ領域の動作を停止させることができ、消費電力を低減できる。
【００５７】
ステップＳ３３：停止記録ステップ
さらに、プロセッサ又はアクセス制御部５４１が、クロックを停止又は電源を遮断したメモリ領域に対応するメモリ管理レジスタのメモリ制御状態ビット５１９に”０”を書き込む。また、プロセッサ又はアクセス制御部５４１がメモリ制御サマリレジスタ５３３の対応するビットに”０”を書き込む。これにより、対応するメモリ領域が使用不可であることを、全てのプロセッサがメモリ制御サマリレジスタ５３３から読み出すことができるため、使用不可のメモリ領域にアクセスすることを防止できる。
【００５８】
プロセッサ又はアクセス制御部５４１が、動作を停止させるメモリ領域は、未使用のメモリ領域のうちの一部でも全てでもよい。もしくは未使用のメモリ領域が一定数又は一定率になるようにしてもよい。
【００５９】
停止中のメモリ領域の起動方法について説明する。
動作を停止させたメモリ領域は、電源とクロックを供給することにより再起動させて使用可能にすることができる。
【００６０】
＜＜未使用のメモリ領域の全てを停止させている場合の再起動＞＞
図１２を用いて、未使用のメモリ領域の全てを停止させている場合のメモリ領域の起動方法について説明する。
ステップＳ４１：起動ステップ
未使用のメモリ領域の全てを停止させた状態でセマフォレジスタへのアクセスが発生した時、プロセッサ又はアクセス制御部５４１は、アクセスが発生したセマフォレジスタに対応するメモリ領域を再起動させ使用可能にする。
ステップＳ４２：起動記録ステップ
プロセッサ又はアクセス制御部５４１は、対応するメモリ管理レジスタのメモリ制御状態ビット５１９に”１”を書き込むとともに、メモリ制御状態ビットに信号線で接続されているメモリ制御サマリレジスタの対応するビットの値にメモリ制御状態ビットの値が反映される。また、メモリ制御サマリレジスタをメモリ制御状態ビットに接続せずに独立したレジスタとした場合には、プロセッサ又はアクセス制御部５４１は、メモリ制御サマリレジスタ５３３の対応するビットに”１”を書き込む。こうして、対応するメモリ領域が使用可能になったことをメモリ制御サマリレジスタ５３３からプロセッサが読み出すことができ、プロセッサは、実施の形態１，２で述べた動作を開始することができる。
【００６１】
＜＜未使用のメモリ領域の一部を停止させている場合の再起動＞＞
図１３を用いて、未使用のメモリ領域の一部を停止させている場合のメモリ領域の起動方法について説明する。
ステップＳ５１：使用可能なメモリ領域の選択ステップ
未使用のメモリ領域の一部のみ停止させた状態でセマフォレジスタへのアクセスが発生した時、プロセッサがメモリ制御サマリレジスタ５３３から動作中の使用可能なメモリ領域の存在を判断する。使用可能なメモリ領域があれば、プロセッサは、メモリ状態サマリレジスタ５３２から使用可能なメモリ領域であってかつ未使用のメモリ領域を選択することにより、共有メモリの使用を開始する。
このように、プロセッサは、メモリ制御サマリレジスタ５３３、メモリ状態サマリレジスタ５３２およびセマフォ状態サマリレジスタ５３１の値を順に読み出すことにより、メモリ領域を特定する。プロセッサは、電源及びクロックが正常に供給されており、かつ使用中の通信用のデータがなく、セマフォが解放されているメモリ領域を特定し、対応するセマフォの獲得を行う。これにより、アクセス元のプロセッサは共有メモリのクロック動作と電源供給を制御することなく、共有メモリへのアクセスが可能である。
【００６２】
ステップＳ５２：起動ステップ
さらに、プロセッサがメモリ状態サマリレジスタ５３２から使用可能なメモリ領域であってかつ未使用のメモリ領域を選択してゆくと、使用可能なメモリ領域であってかつ未使用のメモリ領域がなくなるか、もしくは一定数以下になる。この場合は、プロセッサ又はアクセス制御部５４１は、停止中のメモリ領域を再起動させることで未使用のメモリ領域を確保する。
【００６３】
ステップＳ５３：起動記録ステップ
プロセッサ又はアクセス制御部５４１は、対応するメモリ管理レジスタのメモリ制御状態ビット５１９に”１”を書き込むとともに、メモリ制御状態ビットに信号線で接続されているメモリ制御サマリレジスタの対応するビットの値にメモリ制御状態ビットの値が反映される。また、メモリ制御サマリレジスタをメモリ制御状態ビットに接続せずに独立したレジスタとした場合には、プロセッサ又はアクセス制御部５４１は、メモリ制御サマリレジスタ５３３の対応するビットに”１”を書き込む。こうして、対応するメモリ領域が使用可能になったことをメモリ制御サマリレジスタ５３３からプロセッサが読み出すことができ、プロセッサは、実施の形態１，２で述べた動作を開始することができる。
【００６４】
＊＊＊実施の形態の効果の説明＊＊＊
本実施の形態によれば、共有メモリ動作の制御が可能なメモリ状態サマリレジスタ５３２を備え、未使用のメモリ領域の動作を停止させるので、消費電力の削減を行うことが可能となる。すなわち、メモリへのアクセス状態から判定されたメモリ使用状態を記憶するメモリ状態サマリレジスタ５３２を備えることにより、使用していないメモリ領域を判定して電源供給を停止、又はクロック供給を停止することが可能になる。
【００６５】
本実施の形態によれば、複数のメモリ領域のメモリ使用状態を１回のアクセスで確認可能なメモリ制御サマリレジスタ５３３を備えているので共有メモリへのアクセス時間の短縮が可能となる。
【００６６】
＊＊＊他の構成の説明＊＊＊
アクセス制御部５４１は、プロセッサの命令を受付けてその命令を処理する部分であるから、前述した実施の形態１，２，３で、プロセッサの動作はアクセス制御部５４１の動作とみなすことができる。前述した実施の形態１，２，３のアクセス制御部５４１の動作は、すべてプロセッサが実行してもよい。
アクセス制御部５４１及びメモリ制御部５４２は、プロセッサで実現でき、ハードウェア、ファームウェア、ソフトウェアの組み合わせで実現することができる。
共有メモリは、ランダムアクセスメモリ、キャッシュメモリ、固定ディスク、光ディスクなどで実現することができる。
前述した実施の形態１，２，３で説明したレジスタは共有メモリ制御回路５０の内部にあるデータの保持や演算結果の保持や実行状態の保持に用いる記憶素子であるが、レジスタはデータを記憶するメモリでもよく、好ましくはプロセッサから高速にかつ少ない回数のアクセスで読み書きできるメモリであってもよい。
【００６７】
実施の形態２において、実施の形態１で述べたセマフォ状態サマリレジスタ５３１はなくてもよい。すなわち、共有メモリ制御回路５０に、セマフォレジスタ５００とアクセス制御部５４１とメモリ状態サマリレジスタ５３２とメモリ管理レジスタ５１０と共有メモリ５２０が存在しているだけでもよい。
あるいは、セマフォレジスタ５００とアクセス制御部５４１とメモリ状態サマリレジスタ５３２と共有メモリ５２０が存在しているだけでもよい。
また、メモリ状態サマリレジスタ５３２は、メモリ管理レジスタ５１０のメモリ使用状態ビット５１７と同じ情報を有しているから、メモリ状態サマリレジスタ５３２があればメモリ管理レジスタ５１０のメモリ使用状態ビット５１７はなくてもよい。逆に、メモリ管理レジスタ５１０のメモリ使用状態ビット５１７があればメモリ状態サマリレジスタ５３２はなくてもよい。
【００６８】
実施の形態３において、実施の形態１、２で述べたセマフォ状態サマリレジスタ５３１とセマフォレジスタ５００とメモリ管理レジスタ５１０はなくてもよい。すなわち、共有メモリ制御回路５０に、アクセス制御部５４１とメモリ状態サマリレジスタ５３２とメモリ制御サマリレジスタ５３３とメモリ制御部５４２と共有メモリ５２０が存在しているだけでもよい。
また、メモリ制御サマリレジスタ５３３は、メモリ管理レジスタ５１０のメモリ制御状態ビット５１９と同じ情報を有しているから、メモリ制御サマリレジスタ５３３があればメモリ管理レジスタ５１０のメモリ制御状態ビット５１９はなくてもよい。逆に、メモリ管理レジスタ５１０のメモリ制御状態ビット５１９があればメモリ制御サマリレジスタ５３３はなくてもよい。
【００６９】
セマフォ状態サマリレジスタ５３１とメモリ状態サマリレジスタ５３２とメモリ制御サマリレジスタ５３３のいずれか２個のレジスタ又はすべてのレジスタを組み合わせて一つの統合サマリレジスタにしてもよい
【符号の説明】
【００７０】
１０  プロセッサ、２０  プロセッサ、３０  プロセッサ、４０  バス、５０  共有メモリ制御回路、１００  マルチプロセッサシステム、５００，５０１，５０２，５０３，５０４  セマフォレジスタ、５０９  セマフォ状態ビット、５１０，５１１，５１２，５１３，５１４  メモリ管理レジスタ、５１７  メモリ使用状態ビット、５１８  メモリアクセス状態ビット、５１９  メモリ制御状態ビット、５２０  共有メモリ、５２１，５２２，５２３，５２４  メモリ領域、５３１  セマフォ状態サマリレジスタ、５３２  メモリ状態サマリレジスタ、５３３  メモリ制御サマリレジスタ、５４１  アクセス制御部、５４２  メモリ制御部。
【図１】
0006632416.tif 000002
【図２】
0006632416.tif 000003
【図３】
0006632416.tif 000004
【図４】
0006632416.tif 000005
【図５】
0006632416.tif 000006
【図６】
0006632416.tif 000007
【図７】
0006632416.tif 000008
【図８】
0006632416.tif 000009
【図９】
0006632416.tif 000010
【図１０】
0006632416.tif 000011
【図１１】
0006632416.tif 000012
【図１２】
0006632416.tif 000013
【図１３】
0006632416.tif 000014