JP2003280980A - 共有メモリ排他制御装置及び共有メモリ排他制御方法 - Google Patents

共有メモリ排他制御装置及び共有メモリ排他制御方法

Info

Publication number
JP2003280980A
JP2003280980A JP2002079115A JP2002079115A JP2003280980A JP 2003280980 A JP2003280980 A JP 2003280980A JP 2002079115 A JP2002079115 A JP 2002079115A JP 2002079115 A JP2002079115 A JP 2002079115A JP 2003280980 A JP2003280980 A JP 2003280980A
Authority
JP
Japan
Prior art keywords
shared memory
processor
bus
exclusive control
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002079115A
Other languages
English (en)
Inventor
Toshiaki Nagasawa
利明 長沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002079115A priority Critical patent/JP2003280980A/ja
Publication of JP2003280980A publication Critical patent/JP2003280980A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 システム全体の回路規模の増大を抑え且
つバスの使用効率及び処理性能を向上させた共有メモリ
排他制御装置を提供する。 【解決手段】 プロセッサ11は、メモリバス17を介
して共有メモリ15にアクセスできた場合、メモリバス
17のアドレス信号線にプロセッサ11の識別番号を設
定して排他使用権を獲得する。メモリアクセスコントロ
ーラ16は、アドレス信号線にプロセッサ11の識別番
号が設定されたことにより、プロセッサ11が共有メモ
リ15にアクセスできたことを認識する。その後、プロ
セッサ11が排他使用権を解放するまでプロセッサ11
以外の共有メモリ15にアクセスするプロセッサに対し
てメモリバス17を介してリトライ応答を開始する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マルチプロセッサ
システムに用いて好適な共有メモリ排他制御装置及び共
有メモリ排他制御方法に関する。
【0002】
【従来の技術】集約化の進んだ通信制御装置では、大量
のデータをリアルタイムに処理するマルチプロセッサ構
成が一般的である。このようなマルチプロセッサ構成は
複数のプロセッサと各プロセッサが共有するメモリとを
設けて、複数のプロセッサの1つが共有メモリを使用し
ている時に、他のプロセッサが共有メモリにアクセスし
てデータの更新等を行わないように排他制御する必要が
ある。
【0003】そのような制御を行う従来の排他制御装置
として、例えば特開平5−73412号公報又は特開平
5−225117号公報で開示されたものがある。特開
平5−73412号公報で開示された排他制御装置で
は、共有メモリを複数のメモリブロックに分けてブロッ
ク番号で管理し、プロセッサが自プロセッサ番号と使用
するメモリブロック番号を含んだアクセス要求を生成し
てバス調停部に送信する。バス調停部は、受信したブロ
ック番号のメモリブロックが使用されているか否かを排
他フラグで確認し、共有メモリが使用されていなければ
使用許可を当該プロセッサに与えることにより、共有メ
モリの排他制御を行っている。
【0004】特開平5−225117号公報で開示され
た排他制御装置では、共有メモリのアドレス情報と、ア
ドレスをアクセスロックしたプロセッサ番号と、アクセ
スロック情報を記憶する記憶部とを共有メモリとは別に
設けて、共有メモリを使用したいプロセッサがバス調停
部にアクセス要求を送信し、バス調停部が受信したプロ
セッサ番号と記憶部のプロセッサ番号を比較して、プロ
セッサ番号が一致している場合に使用許可を当該プロセ
ッサに与えることにより、共有メモリの排他制御を行っ
ている。
【0005】上記2つの従来技術のバス調停部は、とも
にバスのアービタ回路内部で使用権を調停する回路であ
り、排他使用権獲得中の排他フラグ制御、排他フラグ領
域のメモリを回路内部に設けているため、共有メモリの
排他制御に共有メモリを使用しないことや排他使用権獲
得中の排他フラグ制御が容易になる利点がある。
【0006】一方、OS(オペレーティングシステム)
もしくはソフトウェアで共有メモリの排他制御を実現す
る方法として、共有メモリを使用したいプロセッサが全
プロセッサに対してアクセス状況を確認し、他のプロセ
ッサも同時にアクセスを行おうとしていた場合には、予
め決めておいた優先順位に従って優先順位の高いプロセ
ッサが共有メモリの排他使用権を獲得する方法がある。
【0007】
【発明が解決しようとする課題】しかしながら、従来の
排他制御技術においては、共有メモリを使用しない通信
(例えばプロセッサ間通信)を行う場合にも、常にプロ
セッサ番号とアドレス等をアービタ回路(図示略)が監
視する必要があるため、処理の高速性を要求されるマル
チプロセッサシステムの場合では、メモリバスとプロセ
ッサ間通信などの通信制御用バスとを分けることにな
り、システム全体の回路規模が複雑且つ増大するという
問題がある。
【0008】また、従来のOSもしくはソフトウェアで
共有メモリの排他制御を実現する方法においては、共有
メモリをいずれのプロセッサも使用していない場合であ
っても、共有メモリを使用したいプロセッサが他のプロ
セッサにアクセス状況を確認し終わるまでバスを使用す
ることがないので、バスの使用効率が悪く処理性能が劣
化するという問題がある。
【0009】本発明は係る点に鑑みてなされたものであ
り、システム全体の回路規模の増大を抑え且つバスの使
用効率及び処理性能を向上させることができる共有メモ
リ排他制御装置及び共有メモリ排他制御方法を提供する
ことを目的とする。
【0010】
【課題を解決するための手段】請求項1に係る発明の共
有メモリ排他制御装置は、複数のプロセッサのいずれか
1つが共有メモリを使用している時に他のプロセッサが
前記共有メモリを使用できないように排他制御する共有
メモリ排他制御装置であって、前記複数のプロセッサ夫
々が前記共有メモリにアクセスするときのみプロセッサ
の識別番号を監視し、前記複数のプロセッサのうちいず
れか1つが前記共有メモリのアクセス権を獲得したこと
を認識すると、他のプロセッサの前記共有メモリへのア
クセス要求に対してリトライ応答を返す監視手段を具備
する構成を採る。
【0011】この構成によれば、複数のプロセッサ夫々
が共有メモリをアクセスするときだけプロセッサの識別
番号を監視するので、処理の高速性を要求されるマルチ
プロセッサシステムにおいても、メモリバスとプロセッ
サ間通信などの通信制御用バスとを分ける必要がないの
で、システム全体の回路規模の増大を抑えることができ
る。
【0012】また、プロセッサのメモリバス占有時間
は、バスクロックの十倍から数十倍(20MHzクロッ
クのバスの場合でも、500nsec〜2μsec程
度)なので、ソフトウェアで実現する場合に比べてバス
の使用効率及び処理性能を向上させることができる。
【0013】請求項2に係る発明の共有メモリ排他制御
装置は、請求項1に係る発明の共有メモリ排他制御装置
において、前記共有メモリのアクセス権を獲得したプロ
セッサは、自己の識別番号をアドレス信号線の上位数ビ
ットに設定し、前記監視手段は、前記バスのアドレス信
号線の上位ビットを監視し、当該ビットに識別番号が設
定されていることを認識すると、当該識別番号のプロセ
ッサがアクセスする前記共有メモリの排他領域に対する
排他制御を行う構成を採る。
【0014】この構成によれば、プロセッサの識別番号
をアドレス信号線の上位ビット(例えば、2ビット)に
設定し、監視手段がバスのアドレス信号線の上位ビット
を監視することにより、複数のアドレスをまとめて排他
領域として排他制御の対象とすることができる。
【0015】請求項3に係る発明の共有メモリ排他制御
装置は、請求項2に係る発明の共有メモリ排他制御装置
において、前記共有メモリの異なる複数のアドレスに対
して複数の排他領域を指定する監視対象指定手段を具備
し、前記監視手段は、前記監視対象指定手段によって指
定された複数の排他領域に対して独立に排他制御を行う
構成を採る。
【0016】この構成によれば、共有メモリの異なるア
ドレスに対して複数の排他領域を指定し、複数の排他領
域に対して独立に排他制御を行えるので、共有メモリの
排他制御を効率良く行うことができる。
【0017】請求項4に係る発明の共有メモリ排他制御
装置は、請求項1から請求項3のいずれかに係る発明の
共有メモリ排他制御装置において、前記監視手段は、前
記共有メモリにアクセスする前記プロセッサのタスクの
識別番号を監視する構成を採る。
【0018】この構成によれば、プロセッサ間の排他制
御だけでなく、タスク間の排他制御も可能となる。
【0019】請求項5に係る発明の共有メモリ排他制御
装置は、請求項1から請求項4のいずれかに係る発明の
共有メモリ排他制御装置において、前記共有メモリのア
クセス権を与えられたプロセッサがバスを占有すること
ができる最大占有時間を設定するバス占有時間設定手段
を具備し、前記監視手段は、前記バス占有時間設定手段
によって設定された最大占有時間と前記共有メモリのア
クセス権を与られたプロセッサのバス占有時間とを比較
し、前記プロセッサのバス占有時間が前記最大占有時間
を超えた場合に占有時間違反を検出し、前記プロセッサ
の排他制御を無効にする構成を採る。
【0020】この構成によれば、共有メモリを使用中の
プロセッサが自発的にバス占有を解除しなくてもメモリ
バスの占有時間違反を検出して排他制御を無効化するこ
とによりリトライ多発を防止できりとともに、共有メモ
リを使用中のプロセッサの障害を検出することができ
る。
【0021】請求項6に係る発明のマルチプロセッサシ
ステムは、請求項1から請求項5のいずれかに係る発明
の共有メモリ排他制御装置を具備する構成を採る。
【0022】この構成によれば、システム全体の回路規
模の増大を抑え且つバスの使用効率及び処理性能が向上
したマルチプロセッサシステムを提供できる。
【0023】請求項7に係る発明の通信制御装置は、請
求項6に係る発明のマルチプロセッサシステムを具備す
る構成を採る。
【0024】この構成によれば、小型且つ処理能力の高
い通信制御装置を提供することができる。
【0025】請求項8に係る発明の共有メモリ排他制御
方法は、複数のプロセッサのいずれか1つが共有メモリ
を使用している時に他のプロセッサが前記共有メモリを
使用できないように排他制御する共有メモリ排他制御方
法であって、前記バスのアドレス信号線を監視する監視
工程と、前記複数のプロセッサのいずれか1つが前記バ
スのアドレス信号線に識別番号を設定したことを検出す
る検出工程と、前記識別番号からプロセッサを特定する
プロセッサ特定工程と、前記特定したプロセッサの他の
プロセッサが前記共有メモリへアクセスした場合にリト
ライ応答を返すリトライ応答工程とを具備する。
【0026】この方法によれば、複数のプロセッサ夫々
が共有メモリをアクセスするときだけプロセッサの識別
番号を監視するので、処理の高速性を要求されるマルチ
プロセッサシステムにおいても、メモリバスとプロセッ
サ間通信などの通信制御用バスとを分ける必要がないの
で、システム全体の回路規模の増大を抑えることが可能
となる。
【0027】また、プロセッサのメモリバス占有時間
は、バスクロックの十倍から数十倍(20MHzクロッ
クのバスの場合でも、500nsec〜2μsec程
度)なので、ソフトウェアで実現する場合に比べてバス
の使用効率及び処理性能を向上させることができる。
【0028】
【発明の実施の形態】本発明の骨子は、複数のプロセッ
サ夫々が共有メモリにアクセスするときのみプロセッサ
の識別番号を監視し、複数のプロセッサのうちいずれか
1つが共有メモリのアクセス権を獲得した場合、そのア
クセス権を解放するまでの間に他のプロセッサが共有メ
モリをアクセスした場合に、そのプロセッサに対してリ
トライ応答を返すことで共有メモリの排他制御を行うこ
とである。
【0029】以下、本発明の実施の形態について、図面
を参照して詳細に説明する。
【0030】(実施の形態1)図1は、本発明の実施の
形態1に係るマルチプロセッサシステムの構成を示すブ
ロック図である。この図において、本実施の形態のマル
チプロセッサシステムは、4つのプロセッサ11〜14
と、共有メモリ15と、メモリアクセスコントローラ
(監視手段)16と、共有メモリ15と各プロセッサ1
1〜14とを接続するメモリバス17と、図示していな
い外部装置と各プロセッサ11〜14とを接続するI/
O(入出力)バス18とを備えている。なお、本実施の
形態では、プロセッサの数を4としたが、2つ以上であ
れば数に限定されるものではない。
【0031】プロセッサ11〜14は、それぞれ同一の
処理(タスク)を分散して行う。各プロセッサ11〜1
4は、他のプロセッサと区別するための識別番号(以
下、IDと称する)を保持している。共有メモリ15
は、各プロセッサ11〜14が共有して使用するメモリ
であり、アドレス領域(テーブル)の排他使用権獲得中
を表す排他フラグを備えている。この排他フラグを設定
したプロセッサのみがアドレス領域を使用することがで
きる。
【0032】メモリバス17は、共有メモリ15と各プ
ロセッサ11〜14との間でのデータ授受に使用され
る。I/Oバス18は、図示せぬ外部装置と各プロセッ
サ11〜14との間でのデータ授受に使用される。メモ
リアクセスコントローラ16は、共有メモリ15とメモ
リバス17との間に配置され、各プロセッサ11〜14
が共有メモリ15にアクセスするのを監視し、排他フラ
グを設定したプロセッサが当該フラグを解放するまでの
間に他のプロセッサが共有メモリ15をアクセスした場
合にリトライ応答を返す。
【0033】次に、上記構成のマルチプロセッサシステ
ムの動作について説明する。ここでは、プロセッサ11
とプロセッサ12が共有メモリ15の同一アドレス領域
にデータを書き込む場合について説明する。プロセッサ
11がメモリバス17を介して共有メモリ15にアクセ
スできると、メモリバス17のアドレス信号線に自己の
IDを設定する。この場合、プロセッサのIDをアドレ
ス信号線の上位数ビット(例えば2ビット)に設定する
ことで、複数のアドレスをまとめて排他領域として排他
制御の対象とすることができる。なお、アドレス信号線
以外のメモリバス17の信号線を使用しても良い。
【0034】メモリアクセスコントローラ16は、アド
レス信号線にプロセッサ11のIDが設定されたことに
より、プロセッサ11が共有メモリ15にアクセスでき
たことを認識する。プロセッサ11は、アドレス信号線
に自己のIDを設定した後、共有メモリ15の排他使用
権を獲得するため、排他フラグに使用中を表す値を設定
する。例えば排他フラグに「1」を書き込む。
【0035】プロセッサ11にて排他フラグに使用中を
表す値が設定された後、プロセッサ12が共有メモリ1
5にアクセスすると、メモリアクセスコントローラ16
はメモリバス17を介してプロセッサ12に対するリト
ライ応答を開始する。プロセッサ12はメモリバス17
のリトライサイクルに入り、プロセッサ11が排他フラ
グを解放するまで(例えば排他フラグに「0」を書き込
むまで)、排他使用権獲得待ち状態となる。
【0036】プロセッサ11は、アドレス領域にデータ
の書き込み等が終了した時点で、排他フラグを解放する
ため、メモリバス17を介して共有メモリ15にアクセ
スし、アドレス信号線に自己(プロセッサ11)のID
を設定する。メモリアクセスコントローラ16は、アド
レス信号線にプロセッサ11のIDが設定されたことに
より、プロセッサ11が共有メモリ15にアクセスした
ことを認識し、プロセッサ11にメモリバス17のアク
セスを許可する。これにより、プロセッサ11は排他フ
ラグを開放する。
【0037】メモリアクセスコントローラ16は、プロ
セッサ11が排他フラグを解放すると、その時点でプロ
セッサ12に対するリトライ応答を停止し、プロセッサ
12にメモリバス17のアクセスを許可する。プロセッ
サ12はメモリバス17の書き込みサイクルに入る。
【0038】このように、プロセッサ11〜14が共有
メモリ15の同一アドレス領域にデータを書き込む場
合、メモリアクセスコントローラ16は各プロセッサ1
1〜14が共有メモリ15にアクセスするのを監視し、
排他フラグを設定したプロセッサが当該フラグを解放す
るまでの間、他のプロセッサが共有メモリ15をアクセ
スした場合にリトライ応答を返すことにより、共有メモ
リ15の排他制御を行う。
【0039】図2は、メモリバス17で排他制御が行わ
れる際の信号線のタイミングチャートを示す図である。
この図を参照してメモリバス17のリトライ応答のタイ
ミングについて説明する。さて、2つのプロセッサ11
と12からのメモリバス17のアクセス要求は、BRQ
(バスリクエスト)1〜4信号としてメモリアクセスコ
ントローラ16に送出される。メモリアクセスコントロ
ーラ16は、メモリバス17の使用状況を判断し、ラウ
ンドロビンなどの優先順位に基づいて1つのプロセッサ
を選択し、選択したプロセッサに使用許可を表すBGN
T(バスグラント)11〜14信号をイネーブル信号と
して送出する。このとき、プロセッサ11が先にアクセ
ス中であってもプロセッサ12からのBRQ信号は有効
であり、BGNT信号は送出される。
【0040】またこの場合、メモリアクセスコントロー
ラ16のBB(バスビジー)信号がプロセッサ11には
送出されないが、プロセッサ12には送出されるので、
プロセッサ12はこのBB信号がネゲートされるまでリ
トライを繰り返す。プロセッサ11のメモリバス占有時
間は、バスクロックの十倍から数十倍(20MHzクロ
ックのバスの場合でも、500nsec〜2μsec程
度)なので、プロセッサ12はソフトウェアで応答監視
によるリトライ処理を実現するよりも遥かに短時間でメ
モリアクセスが可能となる。
【0041】このように本実施の形態のマルチプロセッ
サシステムによれば、プロセッサ11〜14が共有メモ
リ15をアクセスするときにのみ、メモリアクセスコン
トローラ16がバスのアドレス信号線を監視するので、
処理の高速性が要求されるマルチプロセッサシステムに
おいても、メモリバスと、プロセッサ間通信などの通信
制御用バスとを分ける必要がないので、システム全体の
回路規模の増大を抑えることができる。
【0042】また、プロセッサのメモリバス占有時間
は、バスクロックの十倍から数十倍(20MHzクロッ
クのバスの場合でも、500nsec〜2μsec程
度)なので、ソフトウェアで実現する場合と比べてバス
の使用効率及び処理性能が向上する。
【0043】なお、プロセッサの障害によるメモリバス
の占有や、他プロセッサのリトライ応答の多発を防止す
るために、メモリアクセスコントローラ16にプログラ
マブルなパラメータを用意し、メモリバスの最大占有時
間を起動時に指定できるようにしてもよい。このように
することで、共有メモリ15を使用中のプロセッサが排
他フラグを解放しなくても、メモリバスの占有時間違反
を検出して排他制御を無効にすることによりリトライ多
発を防止でき、さらに共有メモリ15を使用中のプロセ
ッサの障害を検出することができる。また、プロセッサ
の障害を検出した場合に上位ソフトウェアで復旧処理を
行える機構を設けてもよい。
【0044】また、起動時にメモリアクセスコントロー
ルのプログラマブルなパラメータにより、共有メモリ1
5の異なる複数のアドレスに対して複数の排他領域を指
定し、複数の排他領域に対して独立に排他制御を行える
ようにしてもよい。これにより、共有メモリ15の異な
るアドレスに対して複数の排他領域を指定でき、複数の
排他領域に対して独立に排他制御を行えるので、共有メ
モリ15の排他制御を効率良くできる。
【0045】(実施の形態2)図3は、本発明の実施の
形態2に係るマルチプロセッサシステムの構成を示すブ
ロック図である。なお、図3では、図1で示した構成要
素と同一ないしは同等である要素には同一符号を付して
説明を省略する。ここでは、実施の形態2に関わる部分
を中心に説明する。
【0046】図3に示すように、本実施の形態のマルチ
プロセッサシステムでは、図1の各プロセッサ11〜1
4に異なるタスク21、22を備えている。各タスク2
1、22は他のタスクと区別するためのタスク識別番号
(以下、TIDと称する。)を保持している。なお、本
実施の形態では、2つのタスクとしたが2以上であれば
その数に限定はない。
【0047】次に、本実施の形態のマルチプロセッサシ
ステムの動作について説明する。なお、ここでは、タス
ク21とタスク22が共有メモリ15の同一アドレス領
域に格納されたデータを書き込みする場合について説明
する。
【0048】プロセッサ11のタスク21がメモリバス
17を介して共有メモリ15にアクセスできると、メモ
リバス17のアドレス信号線(例えば上位2ビット)に
プロセッサ11のIDを設定し、またアドレス信号線と
は別の信号線に自己のTIDを設定する。なお、プロセ
ッサ11のIDとタスク21のTIDを時分割多重し
て、同じアドレス信号線に設定しても良い。
【0049】メモリアクセスコントローラ16は、アド
レス信号線にプロセッサ11のIDが設定され、且つア
ドレス信号線以外にタスク21のTIDが設定されたこ
とにより、プロセッサ11のタスク21が共有メモリ1
5にアクセスできたことを認識する。タスク21は共有
メモリ15の排他使用権を獲得するため、排他フラグに
使用中を表す値を設定する(例えば排他フラグに「1」
を書き込む)。
【0050】このとき、プロセッサ11のタスク22が
共有メモリ15にアクセスすると、メモリアクセスコン
トローラ16はメモリバス17を介してタスク22に対
するリトライ応答を開始する。タスク22はメモリバス
17のリトライサイクルに入り、タスク21が排他フラ
グを解放するまで(例えば排他フラグに「0」を書き込
むまで)、排他使用権獲得待ち状態となる。
【0051】タスク21はアドレス領域にデータの書き
込み等が終了した時点で排他フラグを解放するため、メ
モリバス17を介して共有メモリ15にアクセスしてア
ドレス信号線にプロセッサ11のIDを設定し、またア
ドレス信号線とは別の信号線に自己のTIDを設定す
る。
【0052】メモリアクセスコントローラ16はアドレ
ス信号線にプロセッサ11のIDが設定され、且つアド
レス信号線以外にタスク21のTIDを設定されたこと
により、タスク21が共有メモリ15にアクセスできた
ことを認識し、タスク21にメモリバス17のアクセス
を許可する。これにより、タスク21は排他フラグを解
放する。
【0053】タスク21が排他フラグを解放した時点
で、メモリアクセスコントローラ16はプロセッサ11
のタスク22に対するリトライ応答を停止し、タスク2
2にメモリバス17のアクセスを許可する。タスク22
はメモリバス17の書き込みサイクルに入る。
【0054】このように、複数のタスクが共有メモリ1
5の同一アドレス領域に格納されたデータを書き込みす
る場合、メモリアクセスコントローラ16は各タスク2
1、22が共有メモリ15にアクセスするのを監視し、
排他フラグを設定したタスクが排他フラグを解放するま
での間に、他のタスクが共有メモリ15をアクセスした
場合にリトライ応答を返すことにより、共有メモリ15
の排他制御を行う。
【0055】なお、リトライ応答中には他のタスクが共
有メモリ15にアクセスできないため、リトライアウト
回数を調整し、短時間で一旦リトライアウト(メモリバ
スのアクセスを解放)する必要がある。
【0056】ここで、メモリバス17のリトライ応答の
タイミングについて、図2を参照して説明する。この図
に示したプロセッサ2のリトライ中がプロセッサ11の
タスク22のリトライ中となる。プロセッサ11のタス
ク21とタスク22とからのメモリバス17のアクセス
要求は、BRQ(バスリクエスト)1〜4信号としてメ
モリアクセスコントローラ16に送出される。
【0057】メモリアクセスコントローラ16は、メモ
リバス17の使用状況を判断し、ラウンドロビンなどの
優先順位に基づいて1つのタスクを選択し、選択したタ
スクに使用許可を表すBGNT(バスグラント)11〜
14信号をイネーブル信号として送出する。このとき、
プロセッサ11のタスク21が先にアクセス中であって
も、タスク22からのBRQ信号は有効であり、BGN
T信号は送出される。この場合、メモリアクセスコント
ローラ16のBB(バスビジー)信号がプロセッサ11
のタスク21には送出されないが、タスク22には送出
されるため、タスク22はこのBB信号がネゲートされ
るまでリトライを繰り返す。
【0058】プロセッサ11のタスク21のメモリバス
占有時間は、バスクロックの十倍から数十倍(20MH
zクロックのバスの場合でも、500nsec〜2μs
ec程度)なので、タスク22はソフトウェアで応答監
視によるリトライ処理を実現するよりも遥かに短時間で
メモリアクセスが可能となる。
【0059】このように本実施の形態のマルチプロセッ
サシステムによれば、プロセッサのタスクが共有メモリ
をアクセスする場合だけメモリアクセスコントローラが
バスのアドレス信号線を監視するので、処理の高速性を
要求されるマルチプロセッサシステムにおいても、メモ
リバスと、プロセッサ間通信などの通信制御用バスとを
分ける必要がないので、システム全体の回路規模の増大
を抑えることができる。また、プロセッサ間の排他制御
だけでなく、タスク間の排他制御を実現できる。
【0060】また、タスクのメモリバス占有時間は、バ
スクロックの十倍から数十倍(20MHzクロックのバ
スの場合でも、500nsec〜2μsec程度)なの
で、ソフトウェアで実現する場合に比べてバスの使用効
率及び処理性能を向上させることができる。
【0061】
【発明の効果】以上説明したように、本発明によれば、
システム全体の回路規模の増大を抑え、且つバスの使用
効率及び処理性能を向上させることができる。また、メ
モリバスの最大占有時間を起動時に指定することにより
リトライ多発を防止でき、さらに共有メモリを使用中の
プロセッサの障害を検出することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1に係るマルチプロセッサ
システムの構成を示すブロック図
【図2】本発明の実施の形態1に係るマルチプロセッサ
システムの排他制御における動作を説明するためのタイ
ミングチャート図
【図3】本発明の実施の形態2に係るマルチプロセッサ
システムの構成を示すブロック図
【符号の説明】
11〜14 プロセッサ 15 共有メモリ 16 メモリアクセスコントローラ 17 メモリバス 18 I/Oバス 21、22 タスク

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサのいずれか1つが共有
    メモリを使用している時に他のプロセッサが前記共有メ
    モリを使用できないように排他制御する共有メモリ排他
    制御装置であって、前記複数のプロセッサ夫々が前記共
    有メモリにアクセスするときのみプロセッサの識別番号
    を監視し、前記複数のプロセッサのうちいずれか1つが
    前記共有メモリのアクセス権を獲得したことを認識する
    と、他のプロセッサの前記共有メモリへのアクセス要求
    に対してリトライ応答を返す監視手段を具備することを
    特徴とする共有メモリ排他制御装置。
  2. 【請求項2】 前記共有メモリのアクセス権を獲得した
    プロセッサは、自己の識別番号をアドレス信号線の上位
    数ビットに設定し、前記監視手段は、前記バスのアドレ
    ス信号線の上位ビットを監視し、当該ビットに識別番号
    が設定されていることを認識すると、当該識別番号のプ
    ロセッサがアクセスする前記共有メモリの排他領域に対
    する排他制御を行うことを特徴とする請求項1記載の共
    有メモリ排他制御装置。
  3. 【請求項3】 前記共有メモリの異なる複数のアドレス
    に対して複数の排他領域を指定する監視対象指定手段を
    具備し、前記監視手段は、前記監視対象指定手段によっ
    て指定された複数の排他領域に対して独立に排他制御を
    行うことを特徴とする請求項2記載の共有メモリ排他制
    御装置。
  4. 【請求項4】 前記監視手段は、前記共有メモリにアク
    セスする前記プロセッサのタスクの識別番号を監視する
    ことを特徴とする請求項1から請求項3のいずれかに記
    載の共有メモリ排他制御装置。
  5. 【請求項5】 前記共有メモリのアクセス権を与えられ
    たプロセッサがバスを占有することができる最大占有時
    間を設定するバス占有時間設定手段を具備し、前記監視
    手段は、前記バス占有時間設定手段によって設定された
    最大占有時間と前記共有メモリのアクセス権を与られた
    プロセッサのバス占有時間とを比較し、前記プロセッサ
    のバス占有時間が前記最大占有時間を超えた場合に占有
    時間違反を検出し、前記プロセッサの排他制御を無効に
    することを特徴とする請求項1から請求項4のいずれか
    に記載の共有メモリ排他制御装置。
  6. 【請求項6】 請求項1から請求項5のいずれかに記載
    の共有メモリ排他制御装置を具備することを特徴とする
    マルチプロセッサシステム。
  7. 【請求項7】 請求項6記載のマルチプロセッサシステ
    ムを具備することを特徴とする通信制御装置。
  8. 【請求項8】 複数のプロセッサのいずれか1つが共有
    メモリを使用している時に他のプロセッサが前記共有メ
    モリを使用できないように排他制御する共有メモリ排他
    制御方法であって、前記バスのアドレス信号線を監視す
    る監視工程と、前記複数のプロセッサのいずれか1つが
    前記バスのアドレス信号線に識別番号を設定したことを
    検出する検出工程と、前記識別番号からプロセッサを特
    定するプロセッサ特定工程と、前記特定したプロセッサ
    の他のプロセッサが前記共有メモリへアクセスした場合
    にリトライ応答を返すリトライ応答工程とを、具備する
    ことを特徴とする共有メモリ排他制御方法。
JP2002079115A 2002-03-20 2002-03-20 共有メモリ排他制御装置及び共有メモリ排他制御方法 Pending JP2003280980A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002079115A JP2003280980A (ja) 2002-03-20 2002-03-20 共有メモリ排他制御装置及び共有メモリ排他制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002079115A JP2003280980A (ja) 2002-03-20 2002-03-20 共有メモリ排他制御装置及び共有メモリ排他制御方法

Publications (1)

Publication Number Publication Date
JP2003280980A true JP2003280980A (ja) 2003-10-03

Family

ID=29228715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002079115A Pending JP2003280980A (ja) 2002-03-20 2002-03-20 共有メモリ排他制御装置及び共有メモリ排他制御方法

Country Status (1)

Country Link
JP (1) JP2003280980A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100827720B1 (ko) 2006-10-16 2008-05-07 엠텍비젼 주식회사 접근 제어 장치를 가지는 듀얼 포트 메모리, 듀얼 포트메모리를 가지는 메모리 시스템 및 듀얼 포트 메모리의접근 제어 방법
JP2008529114A (ja) * 2005-01-24 2008-07-31 インターナショナル・ビジネス・マシーンズ・コーポレーション 単一プロセッサまたはマルチプロセッサ・コンピュータ・システムにおけるマルチタスク・アプリケーションのロギングおよび再生を最適化する方法
JP2014096173A (ja) * 2005-12-06 2014-05-22 Samsung Electronics Co Ltd メモリシステム及びそれを含むメモリ処理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008529114A (ja) * 2005-01-24 2008-07-31 インターナショナル・ビジネス・マシーンズ・コーポレーション 単一プロセッサまたはマルチプロセッサ・コンピュータ・システムにおけるマルチタスク・アプリケーションのロギングおよび再生を最適化する方法
JP2014096173A (ja) * 2005-12-06 2014-05-22 Samsung Electronics Co Ltd メモリシステム及びそれを含むメモリ処理方法
US8984237B2 (en) 2005-12-06 2015-03-17 Samsung Electronics Co., Ltd. Memory system and memory management method including the same
KR100827720B1 (ko) 2006-10-16 2008-05-07 엠텍비젼 주식회사 접근 제어 장치를 가지는 듀얼 포트 메모리, 듀얼 포트메모리를 가지는 메모리 시스템 및 듀얼 포트 메모리의접근 제어 방법

Similar Documents

Publication Publication Date Title
US4449183A (en) Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
TWI396088B (zh) 執行原子信號操作之方法及裝置
US6986005B2 (en) Low latency lock for multiprocessor computer system
JP2009508247A (ja) バス調停に関する方法及びシステム
JP2008130056A (ja) 半導体回路
KR100644596B1 (ko) 버스 시스템 및 그 버스 중재방법
JP2008276391A (ja) メモリアクセス制御装置
WO1996013774A1 (en) Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
EP0366434A2 (en) Quasi-fair arbitration scheme with default owner speedup
US9170963B2 (en) Apparatus and method for generating interrupt signal that supports multi-processor
JP2007508607A (ja) 複数のプロセッサと1つのメモリシステムを有するシステムのためのメモリインタフェース
JP2010055440A (ja) 分散共有メモリ型マルチプロセッサ及びデータ処理方法
EP3176701B1 (en) Systems and methods for transmitting an access request via a flexible register access bus
EP1811394B1 (en) An arbitrator and its arbitration method
JP2003280980A (ja) 共有メモリ排他制御装置及び共有メモリ排他制御方法
JP2004062910A (ja) マルチコアプロセッサにセマフォを具現化し、共通資源へのアクセスを制御する方法
JPH09153009A (ja) 階層構成バスのアービトレーション方法
JP2008511890A (ja) アトミック・オペレーションを用いて情報単位を変更する方法及び装置
JP4684577B2 (ja) 高速の帯域幅のシステムバスを仲裁するためのバスシステム及びその方法
JP2006277363A (ja) 情報転送方式,画像形成装置
JP2007241922A (ja) 共有資源利用のための調停方法及びその調停装置
JP2000099391A (ja) プリンタ装置およびプリンタ制御方法、並びに記録媒体
JPH0844661A (ja) 情報処理装置
CN117009266A (zh) 一种握手协议总线仲裁模块及片上系统
KR100243868B1 (ko) 주 전산기에서의 중재로직 방법