JP2002207714A - マルチプロセッサ装置 - Google Patents

マルチプロセッサ装置

Info

Publication number
JP2002207714A
JP2002207714A JP2001003933A JP2001003933A JP2002207714A JP 2002207714 A JP2002207714 A JP 2002207714A JP 2001003933 A JP2001003933 A JP 2001003933A JP 2001003933 A JP2001003933 A JP 2001003933A JP 2002207714 A JP2002207714 A JP 2002207714A
Authority
JP
Japan
Prior art keywords
distributed semaphore
state
connection
shared resource
semaphore
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
JP2001003933A
Other languages
English (en)
Inventor
Tadashi Yoshimoto
忠司 吉本
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2001003933A priority Critical patent/JP2002207714A/ja
Publication of JP2002207714A publication Critical patent/JP2002207714A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 組み込み用などでバスの信号線の本数に制限
のあるシステムやシリアルバスなどでは、信号線の本数
を増やすことに制限があり困難であった。 【解決手段】 前記複数のプロセッシングエレメントの
うちのあるプロセッシングエレメントが前記接続経路を
介して前記共有リソースへの接続を要求した場合、当該
プロセッシングエレメントの記憶手段に記憶される接続
状況が前記共有リソースへの接続を許可する情報へ変更
するとともに、当該プロセッシングエレメント以外の他
のプロセッシングエレメントの検知手段は前記共有リソ
ースへの接続の要求が有ることを検知した後、対応する
記憶手段に記憶される接続状況を共有リソースへの接続
を不許可とする情報への変更を指令するように構成し
た。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、マルチプロセッ
サの間で共有される共有バス上の共有リソースを排他制
御しつつ使用するマルチプロセッサ装置に関するもので
ある。
【0002】
【従来の技術】従来では、例えば近年パーソナルコンピ
ュータをはじめとする計算機の分野でよく用いられる構
成の1つに、PCIバスをシステムバスとし、PCIバ
ス上の複数のマスタと共有リソースで構成されるような
疎結合型のマルチプロセッサ装置がある。図15は従来
のマルチプロセッサ装置の一例である。図において、1
000、2000はプロセッシングエレメント(以下P
E:Processing Elementと称す)で
あり、10000は接続経路である共有バスである。
【0003】10001はアドレス・データ信号、10
002は制御信号、10003はアービトレーション信
号、10004はロック信号である。1000、200
0はプロセッシングエレメント(以下PE:Proce
ssing Elementと称す) 図の装置において、例えばPE1000がロック信号1
0004を送出している間は他のPE(ここではPE2
000)はバスアクセスできないような機構(図示せ
ず)をPEの外側に設け、共有バスの排他制御を行って
いた。
【0004】また、プロセッサバスを共有バスとし、複
数のプロセッサと共有リソースを直結するような密結合
型のマルチプロセッサ装置では、例えば書籍「計算機設
計技法 マルチプロセッサシステム論」(B.ウイルキ
ンソン 著、高橋義造 監訳、94年4月 (株)トッパ
ン発行、ISBN:4−8101−8584−2)のP
219〜P227に記載のように、共有メモリ上にセマ
フォ用のフラグを設け、そのフラグに対してモトローラ
社のプロセッサMC68000のTAS命令といったよ
うに、互いに異なる2つのプロセッサが同時に共有リソ
ースに直結できないような機械語命令を実行することに
より、マルチプロセッサ間でのセマフォの一貫性を保持
していた。
【0005】また、疎結合型のマルチプロセッサ装置に
おいても、上記TAS命令と同様に機能するバスプロト
コルを持つシステムバスを採用しているマルチプロセッ
サ装置では、そのバスプロトコルを使用していた。
【0006】
【発明が解決しようとする課題】このように、主に疎結
合型のマルチプロセッサ装置では、共有バスに排他制御
用の信号線が必要であったが、組み込み用などでバスの
信号線の本数に制限のあるシステムやシリアルバスなど
では、信号線の本数を増やすことに制限があり困難であ
った。また、セマフォ用のフラグとして共有メモリを使
用しているため、セマフォ取得に失敗すると、セマフォ
取得に成功するまで、しばらく経ってから再びセマフォ
取得を試みることを繰り返さなければならない。このた
め、遅延が生じたり、マルチプロセッサ間で初回のセマ
フォ取得要求を先にしたものが待たされ、後からセマフ
ォ要求をしたものが先にセマフォを取得できるなどの取
得順序の不整合が起こる可能性があった。
【0007】また、密結合型のマルチプロセッサ装置で
は、プロセッサの機械語命令に頼る必要があり、アプリ
ケーションレベルのソフトウェアから当該機械語命令を
使用するにはアセンブラで処理を記述する必要があった
ため、プログラムの作成に手間がかかるばかりか、プロ
グラムの作成が困難であり、かつプロセッサの異なるシ
ステムでは移植性が悪いなどの問題があった。
【0008】また、プロセッサの機械語命令に頼る場合
には、疎結合のマルチプロセッサ構成を採ることができ
なかった。また、共有バスの排他制御に際しても、疎結
合のマルチプロセッサ構成の場合と同様、セマフォの取
得順序に関して不整合が起こる可能性があった。また、
TAS命令と同様に機能するバスプロトコルを持ったシ
ステムバスを採用しているマルチプロセッサ装置でその
バスプロトコルを使用するためには、PEだけでなく共
有リソース側でもこのバスプロトコルをサポートする必
要があるため、開発負荷が高かった。更に、そのバスプ
ロトコルを使用したとしても、システムバスの性能や対
応する共有リソースの性能が悪い場合には、バスプロト
コルが終了するまでの時間がかかるため、システム性能
の低下を招く可能性があった。
【0009】この発明は上述の問題を解決するためにな
されたものであり、TAS命令というような機能に対応
するバスプロトコルを持たないようなマルチプロセッサ
装置(特に疎結合のマルチプロセッサ装置)において、
共有バス上に排他制御用の信号線を特別に設けなくと
も、共有バス及び共有バス上の共有リソースを共有する
マルチプロセッサ装置を得ることを目的とする。
【0010】
【課題を解決するための手段】この発明に係るマルチプ
ロセッサ装置は、共有リソースと、前記共有リソースに
接続する接続経路と、複数のプロセッシングエレメント
とを備え、前記プロセッシングエレメントは、前記共有
リソースへの接続を制御するための情報であって、その
情報は前記共有リソースへの接続動作に応じ予め定めら
れた規則に従って変更される接続状況を前記予め定めら
れた規則にしたがって変更するとともに記憶する記憶手
段と、所定のアドレスへのアクセスを検知することによ
り前記共有リソースへの接続の要求の有無を検知するこ
とによって前記記憶手段動作を制御する検知手段とを有
し、前記複数のプロセッシングエレメントのうちのある
プロセッシングエレメントが前記接続経路を介して前記
共有リソースへの接続を要求した場合、当該プロセッシ
ングエレメントの記憶手段に記憶される接続状況が前記
共有リソースへの接続を許可する情報へ変更するととも
に、当該プロセッシングエレメント以外の他のプロセッ
シングエレメントの検知手段は前記共有リソースへの接
続の要求が有ることを検知した後、対応する記憶手段に
記憶される接続状況を共有リソースへの接続を不許可と
する情報への変更を指令するように構成したものであ
る。
【0011】この発明に係るマルチプロセッサ装置は、
各プロセッシングエレメントは接続経路の使用権の情報
を保持する接続経路使用権情報記憶手段を有し、あるプ
ロセッシングエレメントが前記接続経路を介して共有リ
ソースへの接続を要求し、接続経路の使用権を得た場
合、当該プロセッシングエレメントの接続経路使用権情
報記憶手段は、接続経路の使用権を得たことを示す情報
を保持するように構成したものである。
【0012】この発明に係るマルチプロセッサ装置は、
プロセッシングエレメントは、その上で動作するソフト
ウェアから共有リソースへの接続を要求するための指令
信号を受け取る指令信号を受け取ると、記憶手段に記憶
される接続状況を共有リソースへの接続待ちに対応する
情報に変更するとともに、当該プロセッシングエレメン
トの記憶手段に記憶される接続状況が前記共有リソース
への接続を許可する情報となるまで適当な時間間隔で前
記共有リソースへの接続を要求するように構成したもの
である。
【0013】この発明に係るマルチプロセッサ装置は、
プロセッシングエレメントの記憶手段を分散セマフォス
テートマシンとし、前記プロセッシングエレメントの接
続経路使用権情報記憶手段をバスアービタとし、検知手
段を分散セマフォを取得するためのアドレスへのアクセ
スを検知するものとし、前記プロセッシングエレメント
は少なくとも1つCPUと、分散セマフォを取得するた
めのアドレスへアクセスするバス制御回路とを有するも
のである。
【0014】この発明に係るマルチプロセッサ装置は、
分散セマフォステートマシンに記憶される接続状況が共
有リソースへの接続待ちに対応する情報であるとき、当
該プロセッシングエレメントが分散セマフォを取得する
まで当該プロセッシングエレメントのCPUは前記分散
セマフォの取得要求の処理を待ち状態とするように構成
したものである。
【0015】この発明に係るマルチプロセッサ装置は、
プロセッシングエレメントは分散セマフォが取得できな
かった場合には当該CPUに分散セマフォ取得失敗応答
を返すとともに、分散セマフォが取得できるまで分散セ
マフォ取得要求を保持しておき、当該プロセッシングエ
レメントの分散セマフォステートマシンは分散セマフォ
が取得できたときに分散セマフォを取得した状態に遷移
するとともに、当該プロセッシングエレメントのCPU
に対して分散セマフォが取得できたことを通知するため
の割込み信号を発生し、当該プロセッシングエレメント
のCPUに前記割込み信号を送るように構成したもので
ある。
【0016】この発明に係るマルチプロセッサ装置は、
プロセッシングエレメントは、その上で動作するソフト
ウェアから共有リソースへの接続を要求するための指令
信号を受け取る指令信号を受け取ると、当該プロセッシ
ングエレメントは、前記ソフトウェアから前記共有リソ
ースへの接続の要求があったことを記憶するとともに、
前記ソフトウェアの処理を中断させ、前記ソフトウェア
の処理以外の他の処理を実行することができるように構
成したものである。
【0017】
【発明の実施の形態】実施の形態1.図1〜図6は実施
の形態1のマルチプロセッサ装置を説明するための図で
ある。図1は実施の形態1のマルチプロセッサ装置の構
成を説明するための図である。図において、1000、
2000はPE、つまりプロセッシングエレメントであ
る。1100はPE1000のCPU(Central
ProcessingUnit:中央処理装置)、2
100はPE2000のCPUである。1200はPE
1000が共有リソースに接続するための接続経路であ
る共有バス10000を介して共有リソースへの接続を
要求したとき、共有リソースへの接続を制御するための
情報であって、共有リソースへの接続動作に応じ予め定
められた規則に従って変更される接続状況を記憶する記
憶手段に対応する分散セマフォステートマシンである。
2200はPE2000が共有リソースに接続するため
の接続経路である共有バス10000を介して共有リソ
ースへの接続を要求したとき、共有リソースへの接続を
制御するための情報であって、共有リソースへの接続動
作に応じ予め定められた規則に従って変更される接続状
況を記憶する記憶手段に対応する分散セマフォステート
マシンである。
【0018】1300、2300は接続経路使用権情報
記憶手段に対応するバスアービタである。バスアービタ
1300はPE1000に設けたものであり、バスアー
ビタ2300はPE2000に設けたものである。バス
アービタ1300、2300は、PEが共有バス100
00を介して共有リソースへの接続を要求したときにお
いて、共有バス10000を使用するPEの有無を後述
するバス制御回路に調べさせ、無い場合には当該PEが
共有バスの使用できうる状態であると判断し、共有バス
10000の使用権を得たものとして、これに関する情
報を記憶し保持するものである。1400はPE100
0のバス制御回路、2400はPE2000のバス制御
回路である。バス制御回路1400はPE1000に設
けたものであり、バス制御回路2400はPE2000
に設けたものである。バス制御回路1400、1500
は例えば分散セマフォの取得または開放するため所定の
アドレスへアクセスするものである。所定のアドレスと
は例えば取得用/開放用のアドレスといったように別個
に設けられており、かつこのアドレスはマルチプロセッ
サ装置を構成するシステム内で予め決められたものであ
る。
【0019】1500はPE1000の検知手段に対応
する分散セマフォ要求検知回路、2500はPE200
0の検知手段に対応する分散セマフォ要求検知回路であ
る。分散セマフォ要求検知回路1500はPE1000
に設けたものであり、分散セマフォ要求検知回路250
0はPE2000に設けたものである。分散セマフォ要
求検知回路1500、2500は、バス制御回路140
0、2400から所定のアドレスへのアクセス信号の有
無を同期して検知することにより、共有リソース100
00への接続の有無を検知するものである。図1では、
PEが2つあるものを例に説明しているが、PEが3つ
以上あってもかまわない。
【0020】図2は実施の形態1のマルチプロセッサ装
置を説明するための図であり、詳しくは記憶手段に対応
する分散セマフォステートマシンの動作を説明するため
の図である。記憶手段に対応する分散セマフォステート
マシンは、プロセッシングエレメントが共有リソースへ
の接続を要求する動作を行ったときの動作の段階に応じ
た状態を接続状況として記憶するものを例に説明する。
また、接続状況として記憶される状態は動作の段階に応
じて遷移する。
【0021】図において、110は該当するPE(つま
り図1に示す分散セマフォステートマシンを有するいず
れかのPE、以後当該PEと称す)から分散セマフォを
取得するための要求が発生しておらず、かつ他のPE
(つまり、当該PE以外のPE)も分散セマフォを取得
していない状態に対応するFREE状態である。
【0022】120は当該PEからの分散セマフォ取得
要求を受けバスアービタに共有バスを取得することを要
求している状態に対応するBRQ状態である。130は
バスアービタが共有バスの使用を許可し、分散セマフォ
取得要求としてのバスアクセスが開始、実行されている
状態に対応するBGN状態である。140は分散セマフ
ォ取得要求としてバスアクセスを実行した結果、当該P
Eが分散セマフォを取得した状態に対応するGET状態
である。
【0023】150は当該PEから分散セマフォ取得要
求が発生したとき、他のPEからも分散セマフォ取得要
求が発生したため、当該PEに分散セマフォ取得を不許
可として応答する状態に対応するNG状態である。16
0は他のPEが分散セマフォを既に取得しているため、
当該PEは分散セマフォを取得できない状態に対応する
HLD状態である。
【0024】図に示した分散セマフォステートマシンに
おいて、記憶される接続状況はあるPEが共有リソース
への接続の要求を行う動作を行ったとき、その動作の段
階の応じた情報(つまり上述した状態)が記憶されると
ともに、動作の段階にしたがって状態が遷移することに
より、変更されるものである。実施の形態1のマルチプ
ロセッサ装置は、各PEは分散セマフォステートマシン
を有するので、各PEは共有バス10000への接続が
可能かどうかを分散セマフォステートマシンに記憶され
た接続状況により判断できるので、判断に要する時間
(特に接続できないと判断するのに要する時間)を短縮
することができる。
【0025】図1に示した装置の具体的な動作を説明す
る。分散セマフォを取得するための要求がない状態であ
るFREE状態110が分散セマフォステートマシンの
定常状態である。定常状態とは、例えばリセット直後の
PEの状態といったようにいずれのPEも共有バスを使
用していない状態である。FREE状態110におい
て、他PEが共有バス10000経由で分散セマフォの
取得を要求してきた場合、分散セマフォステートマシン
はFREE状態110からHLD状態160に遷移す
る。FREE状態110において、当該PEのCPUと
他PEのCPUとから分散セマフォ取得要求が発生した
場合、当該PEのCPUへ分散セマフォ取得を不許可と
して応答するNG状態150を経由して他PEが分散セ
マフォを取得している状態であるHLD状態160に遷
移する。
【0026】当該PEの分散セマフォステートマシンが
FREE状態110であって、他PEから分散セマフォ
取得要求がなく、当該PEのCPUから分散セマフォ取
得要求が発生した場合、当該PEの分散セマフォステー
トマシンはBRQ状態120に遷移してバスアービタに
共有バスの取得を要求する。BRQ状態120におい
て、他PEから共有バス10000経由で分散セマフォ
取得要求が発生すると、当該PEのCPUへ分散セマフ
ォの取得を不許可として応答するNG状態150に遷移
した後、HLD状態160に遷移する。BRQ状態12
0で、他のPEから共有バス経由での分散セマフォ取得
要求がなくバスアービタが共有バスの使用を許可する
と、分散セマフォ取得のための共有バスアクセスを実行
するBGN状態130に遷移する。
【0027】その後、共有バスを経由した所定のアドレ
スへのアクセスが終了すれば、分散セマフォを取得した
ことを示すGET状態140に遷移し、あるPEのCP
Uには分散セマフォ取得要求許可を応答する。実施の形
態1のマルチプロセッサ装置では、共有バス10000
を排他制御することにより、共有バス10000に接続
する共有リソースを排他制御するような構成であるた
め、共有バス10000を使用することができるように
なったPEは必ず分散セマフォは取得できるため、当該
PEのCPUにセマフォ取得要求許可を応答するのは共
有バスを取得できた時点以後であれば、GET状態14
0になる以前でもかまわない。
【0028】GET状態140において、当該PEのC
PUが分散セマフォ開放要求を発生すると、当該PEの
分散セマフォステートマシンはFREE状態110に遷
移する。HLD状態160において、当該PEのCPU
から分散セマフォ取得要求が発生したとき、当該要求に
不許可として応答するNG状態150に遷移した後、再
びHLD状態160に戻る。HLD状態160で共有リ
ソースを使用するPEから分散セマフォ解放要求が発生
すると、FREE状態110に遷移する。
【0029】各分散セマフォステートマシンにおいて、
GET状態を分散セマフォの取得許可の回数により細分
化し、複数の分散セマフォ取得要求に対し許可できるカ
ウンティングセマフォとして分散セマフォを実現するこ
とも可能である。
【0030】図3は実施の形態1のマルチプロセッサ装
置の動作の一例を説明するための図であり、特に、ある
PEが他PEと競合することなく分散セマフォを取得す
る動作を説明するための図である。また、図において当
該PEをPE1000、他PEをPE2000とする。
また、分散セマフォステートマシン1200、2200
はFREE状態110であるとする。
【0031】まず、PE1000内のCPU1100か
ら分散セマフォステートマシン1200へ分散セマフォ
の取得を要求するための信号(分散セマフォ取得要求と
称す)を送る。分散セマフォ取得要求信号とは、例えば
分散セマフォリードアクセス信号などである。分散セマ
フォステートマシン1200は、その内部に記憶されて
いるPE1000の接続状況がFREE状態110であ
るため、分散セマフォ取得要求信号を受信すると、記憶
される状態がBRQ状態120に遷移する。次に、分散
セマフォステートマシン1200に記憶された状態がB
RQ状態120となったとき、分散セマフォステートマ
シン1200は共有リソースに接続する共有バス100
00の占有、使用を要求するための信号(共有バス取得
要求と称す)をバスアービタ1300に送る。
【0032】バスアービタ1300は当該共有バス取得
要求を受信すると、共有バス10000の使用権を取得
するための動作を行う。バスアービタ1300は共有バ
ス10000の使用権を取得すると、共有バス1000
0を使用することを許可する信号(共有バス取得許可と
称す)を分散セマフォステートマシン1200とバス制
御回路1400とに送る。
【0033】分散セマフォステートマシン1200は共
有バス取得許可信号を受けとるとともに、その内部に記
憶される状態がBGN状態130に遷移し、バスアクセ
ス終了を待つ。バス制御回路1400は共有バス取得許
可を受け、分散セマフォ取得要求信号を対応するバスプ
ロトコルに変換するとともに、システムで一意に決めら
れた分散セマフォ取得要求用のアドレスへアクセスを実
行する。
【0034】分散セマフォ取得要求用のアドレスへのア
クセスに成功すると分散セマフォが取得できたと判断
し、バス制御回路1400は分散セマフォステートマシ
ン1200へ分散セマフォが取得できたことを通知する
信号(分散セマフォ取得通知と称す)を送り、これを受
けた分散セマフォステートマシン1200はGET状態
140に遷移した後、分散セマフォ取得要求に対し、成
功したことを通知する信号(分散セマフォ取得成功と称
す)をCPU1100に送る。これは、例えば分散セマ
フォ取得要求をリードアクセスとし、リードデータ値
(例えばその値が1)を返すように構成すればよい。こ
の後、PE1000は共有リソース10000を使用す
る。
【0035】一方、共有バス10000上で分散セマフ
ォ取得要求用のアドレスへのアクセスが実行されると、
PE2000の分散セマフォ要求検知回路2500は当
該アクセスを検知し、他のPE(ここではPE100
0)からの共有リソースの使用が現在あると判断すると
ともに、他のPEとの競合を避けるため、自身の分散セ
マフォステートマシン2200に記憶された状態をHL
D状態に遷移することを要求するための信号(分散セマ
フォHLD要求と称す)を分散セマフォステートマシン
2200に送る。分散セマフォステートマシン2200
は分散セマフォHLD要求を受けると他のPEが分散セ
マフォを取得したとしてHLD状態160に遷移する。
【0036】PE1000は共有リソースの使用を終了
する場合、CPU1100が分散セマフォステートマシ
ン1200に分散セマフォの開放を要求するための信号
(分散セマフォ開放要求と称す)を送る。分散セマフォ
開放要求として例えば、分散セマフォレジスタへのライ
トアクセス信号等がある。
【0037】分散セマフォステートマシン1200は分
散セマフォ開放要求を受信すると、バスアービタ130
0に共有バス10000の開放要求を発行する。バスア
ービタ1300はバス制御回路1400へ共有バスを経
由し分散セマフォ開放用のアドレスへアクセスを行う。
このアクセスに成功すると、バスアービタ1300は分
散セマフォステートマシン1200へGET状態140
からFREE状態110へ遷移するように指令を出し、
これを受けた分散セマフォステートマシン1200はF
REE状態110に遷移する。
【0038】一方PE2000の分散セマフォ要求検知
回路2500は当該アクセスを検知し、他のPE(ここ
ではPE1000)からの共有リソースの使用が無いも
のと判断し、分散セマフォステートマシン2200へH
LD状態160からFREE状態110へ遷移するよう
に指令を出し、これを受けた分散セマフォステートマシ
ン2200は記憶する状態がFREE状態110とな
る。
【0039】図3では、PEを2つ有するものを例に説
明したが、PEを3つ以上有するような構成では、分散
セマフォの取得/開放を要求するための所定のアドレス
へのアクセスを実行したPE以外の全てのPEの分散セ
マフォ要求検知回路がこのアクセスを同時に検知するよ
うに構成すればよい。具体的には、各PEの分散セマフ
ォ要求検知回路は、共有バス10000上の所定のアド
レスへのアクセスがあるかどうかを所定の時間間隔で同
期して検知するとともに、分散セマフォの取得/開放を
要求するための所定のアドレスへのアクセス信号を検知
したとき、対応する分散セマフォステートマシンへ所定
の状態へ遷移させることを指令する信号を同期して送る
ように構成すればよい。
【0040】図4は実施の形態1のマルチプロセッサ装
置の動作の一例を説明するための図であり、具体的に
は、他PEにより既に分散セマフォが取得されている状
態において、あるPEが分散セマフォを取得しようとし
たときの動作を説明するための図である。
【0041】ここでは、PEが2つある場合であり、P
E2000により分散セマフォが取得されている状態に
おいて、PE1000が分散セマフォを取得するための
要求を行ったときの動作を説明する。このときPE20
00によって分散セマフォが既に取得されているため、
PE1000の分散セマフォステートマシン1200は
既にHLD状態にある。この状態で、PE1000のC
PU1100より分散セマフォ取得要求が発生すると、
分散セマフォステートマシン1200は分散セマフォの
取得が失敗したことを伝達する信号をCPU1100へ
送り、処理を終了する。分散セマフォの取得が失敗した
ことを伝達する信号として例えば、分散セマフォリード
アクセスに対し、リードアクセスが失敗したことに対応
するリードデータ値(例えばその値が0))等がある。
【0042】図5は実施の形態1のマルチプロセッサ装
置の動作の一例を説明するための図であり、具体的に
は、他PEの分散セマフォステートマシンに記憶される
状態がHLD状態となる前にこの他PEから分散セマフ
ォの取得要求があったときの動作を説明するための図で
ある。ここでは、PE1000が分散セマフォを取得
し、かつPE2000の分散セマフォステートマシン2
200に記憶される状態がHLD状態となる前にPE2
000から分散セマフォの取得要求があったときの動作
を説明するための図である。PE1000が分散セマフ
ォを取得するまでの動作は、図3の説明と同様である。
【0043】共有バス10000上の分散セマフォ取得
要求用のアドレスへのアクセスが実行されると、PE2
000では分散セマフォ要求検知回路2500が分散セ
マフォ取得要求アクセスを検知して分散セマフォHLD
要求を発行する。また、PE2000内では分散セマフ
ォ取得要求が発行されるため、分散セマフォステートマ
シン2200には分散セマフォHLD要求と分散セマフ
ォ取得要求が同時に要求される。
【0044】このとき、PE1000の分散セマフォ取
得要求を許可している状態であるため、PE2000の
分散セマフォステートマシン2200は、FREE状態
110からNG状態150を経由してHLD状態160
に遷移する。そして、CPU2100からの分散セマフ
ォ取得要求に対し、分散セマフォステートマシン220
0は分散セマフォ取得失敗応答を返し、分散セマフォH
LD要求のもととなる分散セマフォ取得要求アクセスを
終了させる。これにより、PE1000が分散セマフォ
を取得し、PE2000は分散セマフォの取得をできな
くする。このように構成することにより、PE(特にC
PU)は分散セマフォ取得要求を行ってから共有リソー
スへの接続ができないと判断するまでに要する時間を短
くすることができる。
【0045】図6は実施の形態1のマルチプロセッサ装
置の動作の一例を説明するための図であり、具体的に
は、相異なる2つのPEで競合が発生した場合の動作の
一例を説明するための図である。PE1000が分散セ
マフォを取得するまでの動作は、図3の説明と同様であ
る。共有バス10000上で分散セマフォ取得要求アク
セスが実行されると、PE2000では分散セマフォ要
求検知回路2500が分散セマフォ取得要求アクセスを
検知して分散セマフォHLD要求を発行する。
【0046】PE2000ではCPU2100より分散
セマフォ取得要求が発行され、分散セマフォステートマ
シン2200はBRQ状態120に遷移してバスアービ
タ2300に共有バス取得要求を発行する。バスアービ
タ2300は共有バス10000の使用権取得のための
動作を行うが、既にPE1000が取得しているため共
有バス10000の使用権を取得できない。この状態で
分散セマフォ要求検知回路2500から分散セマフォス
テートマシン2200に分散セマフォHLD要求が発生
すると、分散セマフォステートマシン2200は、BR
Q状態120からNG状態150に遷移し、分散セマフ
ォ取得失敗応答をCPU2100に返すとともに、HL
D状態160に遷移する。
【0047】実施の形態1のマルチプロセッサ装置は上
述のような構成を有しているため、共有バス上に排他制
御用の信号線を特別に設けなくとも、各プロセッシング
エレメントは共有バス及び共有バス上の共有リソースを
排他制御しつつ使用することが可能となる。また、疎結
合型のマルチプロセッサ装置において本構成を適用すれ
ば、共有バスに排他制御用の信号線を必要としないた
め、組み込み用などでバスの信号線の本数に制限のある
システムやシリアルバスなどに容易に適用することがで
きるとともに、開発負荷を低くすることができる。
【0048】また、他のPEが既に共有リソースを使用
している場合、あるPEは分散セマフォステートマシン
の情報を参照すれば共有リソースを使用できないことが
判断できるので、共有リソースを使用できないと判断す
るのに要する時間が短くなる。従ってシステムバスの性
能や対応する共有リソースの性能が悪い場合であって
も、バスプロトコルの終了までの時間が短縮されるの
で、システム性能の低下を招くことはない。更には、各
分散セマフォ要求検知回路は互いに同期しつつ分散セマ
フォ取得要求を検知しているので、時間的に後から共有
リソースへの接続を要求したPEが先に接続するといっ
たような、接続順序に不整合が生じることはない。
【0049】実施の形態2.実施の形態2のマルチプロ
セッサ装置は各PEの上で動作するソフトウェア(例え
ばアプリケーションプログラム)、オペレーティングシ
ステムから共有バス10000に接続する共有リソース
の使用するための要求を受け取ったとき、これを処理す
るような構成を有することを特徴とするものである。図
7は、実施の形態2のマルチプロセッサ装置のPEの処
理の概念を説明するための図である。図において、21
000はPEで動作するアプリケーションプログラムで
ある。210001はアプリケーションプログラム21
000に記された共有バスを介し、共有リソースの使用
を要求するための指令情報である。22000はアプリ
ケーションプログラム21000から指令情報2100
01を受け取ったとき、このアプリケーションプログラ
ム21000が動作するPEの動作を制御する制御手段
である共有リソース処理モジュールである。
【0050】各PEは起動しているアプリケーションプ
ログラム21000からの指令情報を受信する指令情報
受信手段(図示せず)を有し、指令情報受信手段は指令
情報210001を受け取ると、共有リソース処理モジ
ュール22000を起動する。共有リソース処理モジュ
ール22000は当該PEが分散セマフォの取得を行う
ようにその動作を制御する。当該PEが分散セマフォを
取得する動作は実施の形態1に同じである。
【0051】当該PEが分散セマフォの取得に成功する
と(つまり当該PEの分散セマフォステートマシンの内
部に記憶される状態がGET状態140になると)、ア
プリケションプログラム21000は共有バス1000
0上の所望する共有リソースを使用する。またアプリケ
ーションプログラム21000は、共有リソースの使用
が終了すれば、当該PEの分散セマフォステートマシン
に記憶される状態をFREE状態110にし、共有バス
10000の使用権を開放する。
【0052】また、共有リソース処理モジュール220
00はPEが分散セマフォの取得に失敗すると、一定時
間後再びPEに共通リソースの取得を行わせるために、
対応するPEのCPUへ分散セマフォを取得するための
指示を出す。このように構成することにより、PE上で
動作するアプリケーションプログラムから共有リソース
を排他制御しながら使用することができる。
【0053】図8は実施の形態2のマルチプロセッサ装
置において、共有リソース処理モジュール22000の
処理方法を説明するためのフローチャート図である。図
において、STARTとは、アプリケーションプログラ
ム21000から共有リソースの使用を要求するための
指令を受けたときである。まずST10において、アプ
リケーションソフトウェア21000から共有バス10
000上の共有リソースへのアクセス要求を受け取る
と、まず分散セマフォを取得するための指令信号を対応
するPEのCPUへ送る。対応するPEが分散セマフォ
の取得に成功したときにはST30へ進み、失敗したと
きにはST20へ進む。
【0054】ST20では対応するPEが分散セマフォ
の取得に失敗し、一定時間が経過した後再びST10に
進み、分散セマフォ取得するための指令信号を対応する
PEのCPUへ送る。ST30では共有バス10000
の使用権を取得したので、アプリケーションプログラム
21000は共有バス10000を介し、所望する共有
リソースへアクセスする。アクセスが終了するとST4
0へ進む。ST40では分散セマフォを解放し、共有リ
ソ−ス処理モジュールを終了し、アプリケーションソフ
トウェア21000はその後の処理を実行する。
【0055】実施の形態2のマルチプロセッサ装置はア
プリケーションプログラム21000から共有リソース
を使用する要求があったとき、共有リソース処理モジュ
ール22000から対応するPE(つまりアプリケーシ
ョンプログラム21000が動作しているPE)のCP
Uに対し、分散セマフォを取得するための指令信号を出
すように構成したので、アプリケーションプログラム2
1000から共有バス10000を介して共有リソース
にアクセスすることができる。さらに共有リソース処理
モジュールは対応するPEが分散セマフォの取得に失敗
したとしても、一定時間経過後に再び対応するPEのC
PUに分散セマフォを取得するための指令信号を送るの
で、確実に分散セマフォを取得することができる。
【0056】また共有バス10000上に共有リソース
が複数あるような構成である場合には、各PE毎に個々
の共有リソースに対応する分散セマフォステートマシン
を設け、個々の共有リソースに対応する分散セマフォを
設けるとともに、各PEが共有バス10000上のある
共有リソースを排他制御するように構成すれば、共有バ
ス10000上に複数の共有リソースがある場合におい
て、各PEが共有バス10000上の共有リソースをよ
り効率よく利用することができる。
【0057】実施の形態3.図9は実施の形態3のマル
チプロセッサ装置を説明するための図であり、具体的に
は分散セマフォステートマシンに記憶される接続状況が
どのように変更されるかを説明するための状態遷移図で
ある。図において、図2と同一の符号を付したものは同
一またはこれに相当するものである。図において、17
0は他PEが分散セマフォを既に取得している状態にお
いて、当該PEが分散セマフォの取得の要求を行ったと
きに記憶される状態に対応するWAIT状態である。W
AIT状態170は当該PEが分散セマフォを取得する
まで対応する分散セマフォステートマシンに記憶され
る。
【0058】図に示す分散セマフォステートマシンの動
作を説明する。FREE状態110において、他PEが
共有バス10000経由で分散セマフォ取得を要求して
きた場合、分散セマフォステートマシンはHLD状態1
60に遷移する。 HLD状態160において、当該P
Eからの分散セマフォ取得要求がないまま分散セマフォ
が解放されると、FREE状態110に遷移する。HL
D状態160において、他PEが分散セマフォを解放す
る前に当該PEから分散セマフォ取得要求が発生する
と、WAIT状態170に遷移する。このWAIT状態
170は、他PEが分散セマフォを解放し、当該PEが
分散セマフォを取得できるまでこの状態を保ちつづけ
る。
【0059】FREE状態110において、当該PEか
ら分散セマフォの取得の要求が発生すると、BRQ状態
120に遷移する。BRQ状態120でバスアービタか
ら共有バス取得許可が返ってくる前に共有バス1000
0経由で他PEから分散セマフォの取得の要求するため
のアドレスへアクセスが発生するとWAIT状態170
に遷移する。分散セマフォステートマシンに記憶された
状態がWAIT状態170であるとき、共有バス取得要
求を発生することができないように予め設定されてい
る。従って、共有バス10000経由で他PEが共有リ
ソースの使用を終了し、分散セマフォを解放すると、W
AIT状態170から再びBRQ状態120に遷移して
共有バス取得要求を発生する。
【0060】BRQ状態120で他PEに分散セマフォ
を取得されることなく共有バス取得許可をバスアービタ
より受信すると、分散セマフォ取得のため、分散セマフ
ォ取得要求用のアドレスへアクセスを実行するBGN状
態130に遷移し、アクセス終了後、CPUへ分散セマ
フォ取得要求に許可を応答し、分散セマフォを取得した
ことを示すGET状態140に遷移する。GET状態1
40になると、当該PEは共有リソースを使用するとと
もに、共有リソースの使用が終了したとき、当該PEは
分散セマフォの解放要求用のアドレスへアクセスを実行
し、その後FREE状態110に遷移する。このよう
に、実施の形態3のマルチプロセッサ装置のPEの分散
セマフォステートマシンは記憶された状態がWAIT状
態170であるとき、当該PE内のバス制御回路からな
される分散セマフォ取得要求用のアドレスへのアクセス
は、BGN状態130となって分散セマフォ取得が許可
されるまで、CPUのアクセスがウェイトされる。
【0061】図10は、実施の形態3のマルチプロセッ
サ装置を説明するための図である。図において、図1と
同一の符号を付したものは同一またはこれに相当するも
のである。図において、1200a、2200aは記憶
手段に対応する分散セマフォステートマシンであり、分
散セマフォステートマシン1200a、2200aは図
9に示したような動作状態の遷移が行われるものであ
る。
【0062】図に示したマルチプロセッサ装置の動作の
一例を説明する。まず、複数のPE(ここではPE10
00、PE2000)が互いに競合することなく分散セ
マフォを取得するときの動作は実施の形態1に同じであ
るのでここでは説明を省略する。
【0063】PE2000が分散セマフォ取得要求のた
めに共有バス10000の使用権を取得して共有バス1
0000上で分散セマフォ取得要求アクセスを実行した
後、PE1000が分散セマフォ取得要求を発行する場
合について、PE1000の動作について説明する。
【0064】分散セマフォステートマシン1200aが
FREE状態110でありかつ、PE1000のCPU
1100が分散セマフォステートマシン1200aへ分
散セマフォ取得要求を送る前に分散セマフォ要求検知回
路1500が共有バス10000上の分散セマフォ取得
要求アクセスを検知し、分散セマフォHLD要求を分散
セマフォステートマシン1200aに送ったとき、分散
セマフォステートマシン1200aはHLD状態160
に遷移する。その後CPU1100から分散セマフォス
テートマシン1200aへ分散セマフォ取得要求が送ら
れると、WAIT状態170に遷移して分散セマフォが
解放されるのを待つ。
【0065】また、分散セマフォステートマシン120
0aがFREE状態110であり、分散セマフォ要求検
知回路1500が分散セマフォ取得要求のアクセスを検
知する前にCPU1100が分散セマフォステートマシ
ン1200aへ分散セマフォ取得要求を送ったとき、分
散セマフォステートマシン1200aに記憶される状態
は一旦BRQ状態120に遷移するが、共有バス100
00を取得するより前に分散セマフォ要求検知回路15
00が分散セマフォ取得要求アクセスを検知するため、
分散セマフォステートマシン1200aはWAIT状態
170に遷移し、分散セマフォが解放されるのを待つ。
【0066】分散セマフォステートマシン1200aが
WAIT状態170である場合において、分散セマフォ
要求検知回路1500は分散セマフォ解放要求用のアド
レスへのアクセスを検知することにより、分散セマフォ
が共有バス10000経由で解放されたと判断し、分散
セマフォステートマシン1200aに再びBRQ状態1
20に遷移するよう指令する。これを受けた分散セマフ
ォステートマシン1200aは再びBRQ状態120に
遷移するとともに、バスアービタ1300に共有バス取
得要求を送る。この後、再び共有バス10000の使用
権を取得する以前に共有バス10000経由で分散セマ
フォが他のPEに取得されるとWAIT状態170に遷
移し、分散セマフォが解放された状態でバスアービタ1
300が共有バス取得許可を送る。また、共有バス10
000の使用権を取得すると、分散セマフォステートマ
シン1200aは記憶される状態をBGN状態130に
遷移し、バス制御回路1400が共有バス10000上
で分散セマフォ取得要求アクセスを発行する。
【0067】また、実施の形態3のマルチプロセッサ装
置は、分散セマフォの取得に失敗したPEのCPUは所
定の時間間隔毎に分散セマフォの取得要求を分散セマフ
ォステートマシンに送る必要がないため、CPUの負荷
を軽減することができる。更にPE毎に優先度を割り当
てれば、複数のPEがWAIT状態170であったとし
ても優先度の高いPEに分散セマフォを取得させること
により、分散セマフォの取得順序を制御できる。
【0068】実施の形態4.図11は実施の形態4のマ
ルチプロセッサ装置における分散セマフォステートマシ
ンの動作を説明するための図であり、詳しくは分散セマ
フォステートマシンにより記憶されるマルチプロセッサ
の状態を示す状態遷移図である。図において図2、9と
同一の符号を付したものは同一またはこれに相当するも
のである。図において180は共有バス10000の使
用権を取得できるのを待っているFLG状態、190は
共有バス10000の使用権を取得し、分散セマフォ取
得要求を行うため、分散セマフォ取得要求用のアドレス
へのアクセスを実行しているFBGN状態、200は分
散セマフォ取得要求用のアドレスへのアクセス終了後、
当該PE内のCPUに割込みを発生しているIR状態で
ある。
【0069】次に、図11に示す分散セマフォステート
マシンの動作を説明する。例えば、リセット直後のよう
に分散セマフォの取得要求が全くない状態であるFRE
E状態110が分散セマフォステートマシンの定常状態
である。分散セマフォステートマシンがFREE状態1
10であり、かつ当該分散セマフォステートマシンを有
するPEのCPUからの分散セマフォ取得要求がなくか
つ、他PEが共有バス10000経由で分散セマフォ取
得を要求してきた場合、当該PEの分散セマフォ要求検
知検知回路は、他PEからの分散セマフォ取得要求を検
知し、分散セマフォHLD要求を当該分散セマフォステ
ートマシンに送ることにより、分散セマフォステートマ
シンはHLD状態160に遷移する。
【0070】当該分散セマフォステートマシンがHLD
状態160である場合において、当該PEのCPUから
の分散セマフォ取得要求がないまま他PEが分散セマフ
ォを解放すると、当該PEの分散セマフォ要求検知回路
は分散セマフォの開放を検知した後、分散セマフォステ
ートマシンに記憶される状態をFREE状態110に遷
移するよう指令を送り、これを受けた分散セマフォステ
ートマシンは記憶される状態がFREE状態110に遷
移する。
【0071】HLD状態160で分散セマフォが解放さ
れる前に当該PEのCPUから分散セマフォ取得要求が
発生すると、NG状態150に遷移する。FREE状態
110で当該PEのCPUからと他PEからの分散セマ
フォ取得要求が発生した場合、当該PEのCPUへ分散
セマフォ取得を不許可として応答するNG状態150に
遷移する。FREE状態110で他PEから分散セマフ
ォ取得要求がなく、当該PEのCPUから分散セマフォ
取得要求が発生した場合、BRQ状態120に遷移して
バスアービタに共有バス10000の使用を要求する。
【0072】BRQ状態120で他PEから共有バス経
由で分散セマフォ取得要求が発生すると、当該PEのC
PUへ分散セマフォ取得を不許可として応答するNG状
態150に遷移する。BRQ状態120で、他PEから
共有バス経由での分散セマフォ取得要求がなくバスアー
ビタが共有バスの使用を許可すると、分散セマフォ取得
のための共有バスアクセスを実行するBGN状態130
に遷移する。その後、共有バスアクセス終了とともに分
散セマフォを取得したことを示すGET状態140に遷
移し、当該PEのCPUには分散セマフォ取得要求許可
を応答する。GET状態140では、当該PEのCPU
が分散セマフォ開放要求を送るとFREE状態110に
遷移する。
【0073】NG状態150では当該PEのCPUへは
分散セマフォ取得を不許可として応答し、バスアービタ
への共有バス取得要求を一旦終了させ、分散セマフォが
解放されるのを待つ。分散セマフォが解放されると、N
G状態150からFLG状態180に遷移する。FLG
状態180では、分散セマフォステートマシンはバスア
ービタに共有バス取得要求を出力し、バスアービタから
共有バス取得許可が返ってきた時点でFBGN状態19
0に遷移するとともに、共有バス取得要求を終了する。
FBGN状態190では、BGN状態と同様、分散セマ
フォ取得のため、分散セマフォ取得要求用のアドレスへ
のアクセスを実行し、アクセス終了後IR状態200に
遷移する。
【0074】IR状態200では、分散セマフォが取得
できたことを通知するために、CPU1100に割込み
信号を送る。この後、分散セマフォステートマシンはG
ET状態140に遷移する。GET状態140では、当
該PEのCPUが分散セマフォ開放要求を発生するとF
REE状態110に遷移する。HLD状態160で他P
Eから分散セマフォ開放要求が発生すると、FREE状
態110に遷移する。
【0075】図12は実施の形態4のマルチプロセッサ
装置を説明するための図であり、具体的にはマルチプロ
セッサ装置の構成を示すブロック図である。図において
1200b、2200bは分散セマフォステートマシン
である。図12のマルチプロセッサ装置の動作におい
て、他PEと競合なく分散セマフォを取得するときのP
Eの動作は実施の形態1に説明したものと同様の動作と
なるので、ここでは説明を省略する。
【0076】競合が発生した場合において、先に分散セ
マフォを取得したPEの動作は実施の形態1に示したも
のと同様の動作となる。競合が発生した場合において、
分散セマフォを取得できなかったPEでは、一旦対応す
るCPUに分散セマフォ取得失敗を応答し、内部に記憶
される状態がNG状態150となる。今競合が発生した
場合において、分散セマフォを取得できなかったPEが
PE2000であり、分散セマフォステートマシン22
00bに記憶された状態がNG状態150であるとす
る。分散セマフォステートマシン2200bがNG状態
150となっている間は、対応するCPU2200は分
散セマフォを取得する動作以外の処理を行うことができ
る。その後、分散セマフォを取得していたPE1000
が分散セマフォを開放したとする。PE2000の分散
セマフォ要求検知回路2500は分散セマフォの開放を
検知するとともに、分散セマフォステートマシン220
0bへFLG状態180に遷移するように指令を出す。
これを受けた分散セマフォステートマシン2200bは
FLG状態180に遷移するとともに、分散セマフォス
テートマシン2200bはバスアービタ2300に共有
バス取得要求を出力し、バスアービタ2300は共有バ
ス10000の使用権を取得すると、共有バス取得許可
を返し、これを受けた分散セマフォステートマシン22
00bFBGN状態190に遷移する。このとき、バス
制御回路1400は分散セマフォ取得のため、分散セマ
フォ取得要求用のアドレスへのアクセスを実行し、アク
セス終了後、分散セマフォステートマシン2200bは
IR状態200に遷移する。IR状態200となった分
散セマフォステートマシン2200bは、CPU210
0に割り込み信号を送信した後、分散セマフォステート
マシン2200bは記憶する状態がGET状態140と
なる。
【0077】実施の形態4のマルチプロセッサ装置は、
分散セマフォステートマシンに記憶された状態がNG状
態である場合、対応するCPUは分散セマフォを取得す
るための動作以外の処理を行えるように構成したので、
CPUの稼働率が上がり、より効率のよい処理を行うこ
とが可能となる。
【0078】実施の形態5.図13は実施の形態5のマ
ルチプロセッサ装置の動作を説明するための図であり、
詳しくはマルチプロセッサ装置の共有リソース処理モジ
ュール22000の処理を説明するための図である。
【0079】図に示すように、アプリケーションソフト
ウェア21000で共有バス10000上のリソースへ
のアクセスが必要になると、共有リソース処理モジュー
ル22000を呼び出す。共有リソース処理モジュール
22000では、図に示すように、アプリケーションソ
フトウェア21000から共有バス10000上の共有
リソースへのアクセス要求を受け取ると、まず分散セマ
フォ取得要求を発行する。
【0080】本要求が発行されると、分散セマフォステ
ートマシンによって、分散セマフォが取得できるまでC
PUからの分散セマフォ取得要求としてのアクセスはウ
ェイトされる。その後、分散セマフォが取得可能とな
り、分散セマフォステートマシンがウェイトしていたC
PUからの当該アクセスをウェイト解除して分散セマフ
ォ取得成功応答を返す。
【0081】分散セマフォ取得成功応答が返ってくる
と、共有バス10000を取得できたとして共有バス1
0000上の所望のリソースへのアクセスを実行する。
アクセス終了後、分散セマフォを解放して処理を終了
し、アプリケーションソフトウェア21000に制御を
戻す。
【0082】図14は、実施の形態5のマルチプロセッ
サ装置の動作を説明するための図である。図において、
23000は分散セマフォ取得通知割り込み23010
の処理を行う割り込み処理プログラムに対応するISR
である。ISR23000は、対応するPEの分散セマ
フォステートマシンからの分散セマフォ取得通知割込み
23010が発生したとき、その処理がなされるように
予め設定されているものである。
【0083】アプリケーションソフトウェア21000
で共有バス10000上の共有リソースへのアクセスが
必要になると、共有リソース処理モジュール22000
が呼び出される。共有リソース処理モジュール2200
0では、図に示すように、アプリケーションソフトウェ
ア21000から共有バス10000上の共有リソース
へのアクセス要求を受け取ると、まずST10により分
散セマフォ取得要求を発行する。
【0084】本要求に対して分散セマフォ取得失敗応答
が返ってきた場合には、ST60により分散セマフォ取
得待ちとして休止状態となり、休止状態の間は他のタス
クにCPUを一旦明け渡す。その後、分散セマフォ取得
通知割込み23010が発生し、これに対応する信号を
検知するとISR23000が起動する。図に示したも
のでは、ISR23000は、ST70により検出した
割込みをクリアする。次にST80により分散セマフォ
取得待ちで休止状態のタスクを再開するための指令情報
(ここでは分散セマフォ取得成功応答)を共有リソース
処理モジュール22000に送るとともに、その処理を
終了する。共有リソース処理モジュール22000は、
分散セマフォ取得成功応答を受け取るかISR2300
0により休止状態から再開されると、ST30により共
有リソースへのアクセスを実行する。次に共有リソース
の使用が終了したとき、ST40により分散セマフォを
開放し、その処理を終了するとともに、アプリケーショ
ンソフトウェア21000はその後の処理を実行する。
【0085】この実施の形態によれば、共有リソース処
理モジュール22000は、分散セマフォの取得に失敗
したとき、その処理を一旦停止するとともに、CPUは
他の処理(タスク)を行えるように構成したので、他の
プロセッシングエレメントが分散セマフォを取得してい
るときに分散セマフォ取得要求を発生して分散セマフォ
取得に失敗したとしても、分散セマフォをポーリングす
る必要がないため、各PEのCPUの稼働率を高めるこ
とが可能となる。
【0086】ここでは、一つのアプリケーションソフト
ウェアのみが共有リソースへアクセスするような例とな
っているが、複数のアプリケーションソフトウェアが共
有リソースへアクセスするシステムでもかまわない。こ
のようなシステムでは、共有リソース処理モジュール2
2000をリエントラントな関数とするかアプリケーシ
ョンソフトウェアとは独立したタスクとし、共有リソー
ス処理モジュール23000では共有リソースへのアク
セスを要求し、その処理の状態が休止状態となっている
タスクを管理できるように構成すればよい。
【0087】上述した各実施の形態のマルチプロセッサ
装置はネットワーク上にグローバルなシステム空間を持
つような、ネットワーク接続されたものとしてもよい。
この場合、分散セマフォをグローバルなシステム空間の
アドレスに割り付け、そのアドレスへのアクセスをネッ
トワーク上にブロードキャストし、そのアドレスへのア
クセスを他のPEから分散セマフォ取得要求として扱う
ように構成すればよい。
【0088】
【発明の効果】この発明に係るマルチプロセッサ装置
は、共有リソースと、前記共有リソースに接続する接続
経路と、複数のプロセッシングエレメントとを備え、前
記プロセッシングエレメントは、前記共有リソースへの
接続を制御するための情報であって、その情報は前記共
有リソースへの接続動作に応じ予め定められた規則に従
って変更される接続状況を前記予め定められた規則にし
たがって変更するとともに記憶する記憶手段と、所定の
アドレスへのアクセスを検知することにより前記共有リ
ソースへの接続の要求の有無を検知することによって前
記記憶手段動作を制御する検知手段とを有し、前記複数
のプロセッシングエレメントのうちのあるプロセッシン
グエレメントが前記接続経路を介して前記共有リソース
への接続を要求した場合、当該プロセッシングエレメン
トの記憶手段に記憶される接続状況が前記共有リソース
への接続を許可する情報へ変更するとともに、当該プロ
セッシングエレメント以外の他のプロセッシングエレメ
ントの検知手段は前記共有リソースへの接続の要求が有
ることを検知した後、対応する記憶手段に記憶される接
続状況を共有リソースへの接続を不許可とする情報への
変更を指令するように構成したので、組み込み用などの
バスの信号線の本数に制限のあるシステムやシリアルバ
スなどでも、信号線の本数を増やすことなく、共有リソ
ースを排他制御することが可能となる。
【0089】この発明に係るマルチプロセッサ装置は、
各プロセッシングエレメントは接続経路の使用権の情報
を保持する接続経路使用権情報記憶手段を有し、あるプ
ロセッシングエレメントが前記接続経路を介して共有リ
ソースへの接続を要求し、接続経路の使用権を得た場
合、当該プロセッシングエレメントの接続経路使用権情
報記憶手段は、接続経路の使用権を得たことを示す情報
を保持するように構成したので、組み込み用などのバス
の信号線の本数に制限のあるシステムやシリアルバスな
どでも、信号線の本数を増やすことなく、共有リソース
を排他制御することが可能となる。
【0090】この発明に係るマルチプロセッサ装置は、
プロセッシングエレメントは、その上で動作するソフト
ウェアから共有リソースへの接続を要求するための指令
信号を受け取る指令信号を受け取ると、記憶手段に記憶
される接続状況を共有リソースへの接続待ちに対応する
情報に変更するとともに、当該プロセッシングエレメン
トの記憶手段に記憶される接続状況が前記共有リソース
への接続を許可する情報となるまで適当な時間間隔で前
記共有リソースへの接続を要求するように構成したの
で、プロセッシングエレメント上で動作するアプリケー
ションプログラムから共有リソースを排他制御しながら
使用することができる。
【0091】この発明に係るマルチプロセッサ装置は、
プロセッシングエレメントの記憶手段を分散セマフォス
テートマシンとし、前記プロセッシングエレメントの接
続経路使用権情報記憶手段をバスアービタとし、検知手
段を分散セマフォを取得するためのアドレスへのアクセ
スを検知するものとし、前記プロセッシングエレメント
は少なくとも1つCPUと、分散セマフォを取得するた
めのアドレスへアクセスするバス制御回路とを有するの
で、組み込み用などのバスの信号線の本数に制限のある
システムやシリアルバスなどでも、信号線の本数を増や
すことなく、共有リソースを排他制御することが可能と
なる。更には、接続経路上でバスプロトコルを実行する
以前でも、共有リソースの排他制御権を取得可能な状態
で接続経路を取得した時点でCPUに対して分散セマフ
ォ取得許可を応答できるため、システム性能が向上す
る。
【0092】この発明に係るマルチプロセッサ装置は、
分散セマフォステートマシンに記憶される接続状況が共
有リソースへの接続待ちに対応する情報であるとき、当
該プロセッシングエレメントが分散セマフォを取得する
まで当該プロセッシングエレメントのCPUは前記分散
セマフォの取得要求の処理を待ち状態とするように構成
したので、あるプロセッシングエレメントが分散セマフ
ォを取得している状態で複数のプロセッシングエレメン
トから分散セマフォ取得要求が発生した場合でも、プロ
セッシングエレメントの優先順位を予め決めておけば、
分散セマフォの取得順序を制御できる。
【0093】この発明に係るマルチプロセッサ装置は、
プロセッシングエレメントは分散セマフォが取得できな
かった場合には当該CPUに分散セマフォ取得失敗応答
を返すとともに、分散セマフォが取得できるまで分散セ
マフォ取得要求を保持しておき、当該プロセッシングエ
レメントの分散セマフォステートマシンは分散セマフォ
が取得できたときに分散セマフォを取得した状態に遷移
するとともに、当該プロセッシングエレメントのCPU
に対して分散セマフォが取得できたことを通知するため
の割込み信号を発生し、当該プロセッシングエレメント
のCPUに前記割込み信号を送るように構成したので、
他のプロセッシングエレメントが分散セマフォを取得し
ているときに分散セマフォ取得要求を発生して分散セマ
フォ取得に失敗したとしても、分散セマフォをポーリン
グする必要がないため、CPUの稼働率を高めることが
可能となる。
【0094】この発明に係るマルチプロセッサ装置は、
プロセッシングエレメントは、その上で動作するソフト
ウェアから共有リソースへの接続を要求するための指令
信号を受け取る指令信号を受け取ると、当該プロセッシ
ングエレメントは、前記ソフトウェアから前記共有リソ
ースへの接続の要求があったことを記憶するとともに、
前記ソフトウェアの処理を中断させ、前記ソフトウェア
の処理以外の他の処理を実行することができるように構
成したので、他のプロセッシングエレメントが分散セマ
フォを取得しているときに分散セマフォ取得要求を発生
して分散セマフォ取得に失敗したとしても、分散セマフ
ォをポーリングする必要がないため、CPUの稼働率を
高めることが可能となる。
【図面の簡単な説明】
【図1】 実施の形態1のマルチプロセッサ装置を説明
するための図である。
【図2】 実施の形態1のマルチプロセッサ装置を説明
するための図である。
【図3】 実施の形態1のマルチプロセッサ装置を説明
するための図である。
【図4】 実施の形態1のマルチプロセッサ装置を説明
するための図である。
【図5】 実施の形態1のマルチプロセッサ装置を説明
するための図である。
【図6】 実施の形態1のマルチプロセッサ装置を説明
するための図である。
【図7】 実施の形態2のマルチプロセッサ装置を説明
するための図である。
【図8】 実施の形態2のマルチプロセッサ装置を説明
するための図である。
【図9】 実施の形態3のマルチプロセッサ装置を説明
するための図である。
【図10】 実施の形態3のマルチプロセッサ装置を説
明するための図である。
【図11】 実施の形態4のマルチプロセッサ装置を説
明するための図である。
【図12】 実施の形態4のマルチプロセッサ装置を説
明するための図である。
【図13】 実施の形態5のマルチプロセッサ装置を説
明するための図である。
【図14】 実施の形態5のマルチプロセッサ装置を説
明するための図である。
【図15】 従来のマルチプロセッサ装置を説明するた
めの図である。
【符号の説明】
1000、2000 プロセッシングエレメント 1100、2100 CPU 1200、2200 分散セマフォステートマシン 1300、2300 バスアービタ 1400、2400 バス制御回路 1500、2500 分散セマフォ要求検知回路 10000 共有バス

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 共有リソースと、 前記共有リソースに接続する接続経路と、 複数のプロセッシングエレメントとを備え、 前記プロセッシングエレメントは、 前記共有リソースへの接続を制御するための情報であっ
    て、その情報は前記共有リソースへの接続動作に応じ予
    め定められた規則に従って変更される接続状況を前記予
    め定められた規則にしたがって変更するとともに記憶す
    る記憶手段と、所定のアドレスへのアクセスを検知する
    ことにより前記共有リソースへの接続の要求の有無を検
    知することによって前記記憶手段動作を制御する検知手
    段とを有し、 前記複数のプロセッシングエレメントのうちのあるプロ
    セッシングエレメントが前記接続経路を介して前記共有
    リソースへの接続を要求した場合、 当該プロセッシングエレメントの記憶手段に記憶される
    接続状況が前記共有リソースへの接続を許可する情報へ
    変更するとともに、 当該プロセッシングエレメント以外の他のプロセッシン
    グエレメントの検知手段は前記共有リソースへの接続の
    要求が有ることを検知した後、対応する記憶手段に記憶
    される接続状況を共有リソースへの接続を不許可とする
    情報への変更を指令するように構成したことを特徴とす
    るマルチプロセッサ装置。
  2. 【請求項2】 各プロセッシングエレメントは接続経路
    の使用権の情報を保持する接続経路使用権情報記憶手段
    を有し、 あるプロセッシングエレメントが前記接続経路を介して
    共有リソースへの接続を要求し、接続経路の使用権を得
    た場合、 当該プロセッシングエレメントの接続経路使用権情報記
    憶手段は、接続経路の使用権を得たことを示す情報を保
    持するように構成したことを特徴とする請求項1に記載
    のマルチプロセッサ装置。
  3. 【請求項3】 プロセッシングエレメントの記憶手段を
    分散セマフォステートマシンとし、 前記プロセッシングエレメントの接続経路使用権情報記
    憶手段をバスアービタとし、 検知手段を分散セマフォを取得するためのアドレスへの
    アクセスを検知するものとし、 前記プロセッシングエレメントは少なくとも1つCPU
    と、 分散セマフォを取得するためのアドレスへアクセスする
    バス制御回路とを有することを特徴とする請求項2に記
    載のマルチプロセッサ装置。
  4. 【請求項4】 プロセッシングエレメントは、 その上で動作するソフトウェアから共有リソースへの接
    続を要求するための指令信号を受け取る指令信号を受け
    取ると、 記憶手段に記憶される接続状況を共有リソースへの接続
    待ちに対応する情報に変更するとともに、 当該プロセッシングエレメントの記憶手段に記憶される
    接続状況が前記共有リソースへの接続を許可する情報と
    なるまで適当な時間間隔で前記共有リソースへの接続を
    要求するように構成したことを特徴とする請求項1また
    は2のいずれかに記載のマルチプロセッサ装置。
  5. 【請求項5】 分散セマフォステートマシンに記憶され
    る接続状況が共有リソースへの接続待ちに対応する情報
    であるとき、 当該プロセッシングエレメントが 分散セマフォを取得するまで当該プロセッシングエレメ
    ントのCPUは前記分散セマフォの取得要求の処理を待
    ち状態とするように構成したことを特徴とする請求項4
    に記載のマルチプロセッサ装置。
  6. 【請求項6】 プロセッシングエレメントは分散セマフ
    ォが取得できなかった場合には当該CPUに分散セマフ
    ォ取得失敗応答を返すとともに、分散セマフォが取得で
    きるまで分散セマフォ取得要求を保持しておき、 当該プロセッシングエレメントの分散セマフォステート
    マシンは分散セマフォが取得できたときに分散セマフォ
    を取得した状態に遷移するとともに、 当該プロセッシングエレメントのCPUに対して分散セ
    マフォが取得できたことを通知するための割込み信号を
    発生し、 当該プロセッシングエレメントのCPUに前記割込み信
    号を送るように構成したことを特徴とする請求項4に記
    載のマルチプロセッサ装置。
  7. 【請求項7】 プロセッシングエレメントは、 その上で動作するソフトウェアから共有リソースへの接
    続を要求するための指令信号を受け取る指令信号を受け
    取ると、 当該プロセッシングエレメントは、前記ソフトウェアか
    ら前記共有リソースへの接続の要求があったことを記憶
    するとともに、前記ソフトウェアの処理を中断させ、 前記ソフトウェアの処理以外の他の処理を実行すること
    ができるように構成したことを特徴とする請求項6に記
    載のマルチプロセッサ装置。
JP2001003933A 2001-01-11 2001-01-11 マルチプロセッサ装置 Pending JP2002207714A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001003933A JP2002207714A (ja) 2001-01-11 2001-01-11 マルチプロセッサ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001003933A JP2002207714A (ja) 2001-01-11 2001-01-11 マルチプロセッサ装置

Publications (1)

Publication Number Publication Date
JP2002207714A true JP2002207714A (ja) 2002-07-26

Family

ID=18872194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001003933A Pending JP2002207714A (ja) 2001-01-11 2001-01-11 マルチプロセッサ装置

Country Status (1)

Country Link
JP (1) JP2002207714A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010013443A1 (ja) * 2008-07-31 2010-02-04 パナソニック株式会社 リソース排他制御システム、装置、方法およびプログラム
JP2010140290A (ja) * 2008-12-12 2010-06-24 Panasonic Corp マルチプロセッサシステム及びその排他制御の調停方法
JP2013016180A (ja) * 2011-07-05 2013-01-24 Robert Bosch Gmbh 技術ユニットの構成を装備する方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010013443A1 (ja) * 2008-07-31 2010-02-04 パナソニック株式会社 リソース排他制御システム、装置、方法およびプログラム
JP2010039582A (ja) * 2008-07-31 2010-02-18 Panasonic Corp リソース排他制御システム、装置、方法およびプログラム
CN102112968A (zh) * 2008-07-31 2011-06-29 松下电器产业株式会社 资源排他控制系统、装置、方法以及程序
US8447899B2 (en) 2008-07-31 2013-05-21 Panasonic Corporation System, device, method and program for exclusively controlling resources
JP2010140290A (ja) * 2008-12-12 2010-06-24 Panasonic Corp マルチプロセッサシステム及びその排他制御の調停方法
JP2013016180A (ja) * 2011-07-05 2013-01-24 Robert Bosch Gmbh 技術ユニットの構成を装備する方法

Similar Documents

Publication Publication Date Title
US6986005B2 (en) Low latency lock for multiprocessor computer system
JPH05197671A (ja) マスター・スレーブ通信方法
WO1988008577A2 (en) Node for servicing interrupt request messages on a pended bus
JPH10293744A (ja) Pciバス・システム
JP2002342299A (ja) クラスタシステム、コンピュータ及びプログラム
WO1988008575A1 (en) Interrupting node for providing interrupt requests to a pended bus
JP2007219816A (ja) マルチプロセッサシステム
JPH0679305B2 (ja) 保留バスを用いて割り込みに応じる装置及び方法
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
JP2008033893A (ja) マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス権設定方法
JPH08263312A (ja) バス仲裁方法及びその装置
JP2002207714A (ja) マルチプロセッサ装置
JPH10307788A (ja) バスブリッジ
KR100243868B1 (ko) 주 전산기에서의 중재로직 방법
JPH05257903A (ja) マルチプロセッサシステム
JP5111940B2 (ja) 情報処理装置及びアクセス制御方法
JPH06266657A (ja) 情報処理装置
JP2906197B2 (ja) 二重化バス装置
KR100973851B1 (ko) 임베디드 시스템 및 그의 내부 버스 충돌을 방지하는 방법
JP2002269033A (ja) リトライ制御機能を有するアービタを用いたバスシステムおよびシステムlsi
JP2836591B2 (ja) プロセッサ間バス伝送方法及びプロセッサ間バス伝送システム
JPH1139266A (ja) マルチプロセッサ装置
JPS6145348A (ja) バス優先権制御方式
JP3187117B2 (ja) マルチプロセッサ内蔵1チップマイクロコンピュータ
JP2001075826A (ja) 並列計算機における高効率セマフォ処理方式

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040628

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090728

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091201