JP2505020B2 - デ―タ処理システム - Google Patents
デ―タ処理システムInfo
- Publication number
- JP2505020B2 JP2505020B2 JP4829688A JP4829688A JP2505020B2 JP 2505020 B2 JP2505020 B2 JP 2505020B2 JP 4829688 A JP4829688 A JP 4829688A JP 4829688 A JP4829688 A JP 4829688A JP 2505020 B2 JP2505020 B2 JP 2505020B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- command
- pointer
- processor
- processing
- 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.)
- Expired - Lifetime
Links
Landscapes
- Multi Processors (AREA)
Description
【発明の詳細な説明】 〔概要〕 複数のデータ処理装置又はプロセッサにより共有され
る記憶領域の制御を行うデータ処理システムに関し, 記憶領域の解放,獲得等の処理の制御を確実に行うよ
うにしかつその制御を行うプロセッサの負担を小さくす
ることを目的とし, コマンド領域内に設けられ,当該コマンド領域の処理
の終了後に副プロセッサが処理すべき他のコマンド領域
を指示する情報を格納するポインタ格納領域と,前記副
プロセッサが処理すべきコマンド領域を指示する情報を
格納する先頭ポインタ領域と,前記先頭ポインタ領域の
情報を複写した情報を持つポインタ複写領域とを備え,
前記副プロセッサによる前記先頭ポインタ領域の指示す
るコマンド領域の処理の終了後,前記副プロセッサが前
記先頭ポインタ領域の情報を前記ポインタ複写領域に複
写し,その後,前記副プロセッサが前記ポインタ格納領
域の情報を前記先頭ポインタ領域に書き込むようにし, 主プロセッサが前記コマンド領域を獲得する際に,前
記先頭ポインタ領域とポインタ複写領域とを比較して当
該コマンド領域が解放されているか否かを調べる。よう
に構成する。
る記憶領域の制御を行うデータ処理システムに関し, 記憶領域の解放,獲得等の処理の制御を確実に行うよ
うにしかつその制御を行うプロセッサの負担を小さくす
ることを目的とし, コマンド領域内に設けられ,当該コマンド領域の処理
の終了後に副プロセッサが処理すべき他のコマンド領域
を指示する情報を格納するポインタ格納領域と,前記副
プロセッサが処理すべきコマンド領域を指示する情報を
格納する先頭ポインタ領域と,前記先頭ポインタ領域の
情報を複写した情報を持つポインタ複写領域とを備え,
前記副プロセッサによる前記先頭ポインタ領域の指示す
るコマンド領域の処理の終了後,前記副プロセッサが前
記先頭ポインタ領域の情報を前記ポインタ複写領域に複
写し,その後,前記副プロセッサが前記ポインタ格納領
域の情報を前記先頭ポインタ領域に書き込むようにし, 主プロセッサが前記コマンド領域を獲得する際に,前
記先頭ポインタ領域とポインタ複写領域とを比較して当
該コマンド領域が解放されているか否かを調べる。よう
に構成する。
本発明はデータ処理システムに関し,更に詳しくは,
複数のデータ処理装置又はプロセッサにより共有される
記憶領域の制御を行うデータ処理システムに関する。
複数のデータ処理装置又はプロセッサにより共有される
記憶領域の制御を行うデータ処理システムに関する。
処理能力の向上等のために,最近のデータ処理システ
ムにおいては,同時に動作可能な複数のデータ処理装置
又はプロセッサ(以下,単にプロセッサという)を設け
ると共に,これらの間で主記憶装置を共有するようにし
ている。
ムにおいては,同時に動作可能な複数のデータ処理装置
又はプロセッサ(以下,単にプロセッサという)を設け
ると共に,これらの間で主記憶装置を共有するようにし
ている。
このようなシステムにおいては,1つのプロセッサが共
有資源たる主記憶装置のある記憶領域を使用中に,他の
プロセッサが当該領域の内容を変更するとエラーを生じ
る。そこで,使用中はその領域について排他的占有とし
た上で処理を行う。
有資源たる主記憶装置のある記憶領域を使用中に,他の
プロセッサが当該領域の内容を変更するとエラーを生じ
る。そこで,使用中はその領域について排他的占有とし
た上で処理を行う。
主及び副のプロセッサを有するデータ処理システムに
おける記憶領域の排他的占有及びその領域を使用した処
理は,第4図に示す順で行われる。
おける記憶領域の排他的占有及びその領域を使用した処
理は,第4図に示す順で行われる。
(a)主プロセッサは主記憶装置中のある記憶領域を
獲得して,情報を加工して書き込み(処理(i)),
(b)副プロセッサが使用できるように割り当てる(処
理(ii))。(c)副プロセッサは当該記憶領域を使用
して,主プロセッサから指示された処理を行い(処理
(iii)),(d)この処理が終るとその旨を主プロセ
ッサに通知する(処理(iv))。(e)通知を受けた主
プロセッサは,副プロセッサによる以下の処理(vi)が
終了するのを待って,割り当てた記憶領域を解放する
(処理(v))。
獲得して,情報を加工して書き込み(処理(i)),
(b)副プロセッサが使用できるように割り当てる(処
理(ii))。(c)副プロセッサは当該記憶領域を使用
して,主プロセッサから指示された処理を行い(処理
(iii)),(d)この処理が終るとその旨を主プロセ
ッサに通知する(処理(iv))。(e)通知を受けた主
プロセッサは,副プロセッサによる以下の処理(vi)が
終了するのを待って,割り当てた記憶領域を解放する
(処理(v))。
(f)処理(vi)は,次のような処理である。即ち,
当該記憶領域には,副プロセッサが主プロセッサから割
り当てられた次の(別の)記憶領域を使用するための情
報も格納されている。一方,副プロセッサが前記処理終
了通知を行うのは副プロセッサが指示された処理を終了
した時点であり,前記情報の取り出しが終わっておら
ず,当該記憶領域の使用が完全には終わっていない時点
である。そこで,副プロセッサは前記処理終了通知後直
ちに前記情報の取り出しを行う(処理(vi))。そし
て,主プロセッサは,その終了を待って,記憶領域を解
放する(処理(v))。
当該記憶領域には,副プロセッサが主プロセッサから割
り当てられた次の(別の)記憶領域を使用するための情
報も格納されている。一方,副プロセッサが前記処理終
了通知を行うのは副プロセッサが指示された処理を終了
した時点であり,前記情報の取り出しが終わっておら
ず,当該記憶領域の使用が完全には終わっていない時点
である。そこで,副プロセッサは前記処理終了通知後直
ちに前記情報の取り出しを行う(処理(vi))。そし
て,主プロセッサは,その終了を待って,記憶領域を解
放する(処理(v))。
その後,(g)主プロセッサは,他の処理を副プロセ
ッサに行わせるために,必要があれば当該記憶領域を再
獲得し,前記処理(ii)以下が行われる(処理(vi
i)。
ッサに行わせるために,必要があれば当該記憶領域を再
獲得し,前記処理(ii)以下が行われる(処理(vi
i)。
副プロセッサが前記処理(vi)を行う際に,他の何ら
かの理由で当該副プロセッサに対する負荷が大きいと,
処理(vi)を終了するまでの時間が長くなってしまう。
かの理由で当該副プロセッサに対する負荷が大きいと,
処理(vi)を終了するまでの時間が長くなってしまう。
この場合,当該副プロセッサに割り当てた記憶領域の
副プロセッサによる使用時間が長くなる結果,割り当て
済みの記憶領域が増え,主プロセッサが割り当てるため
の領域が不足する。一方,当該記憶領域から副プロセッ
サが前記情報を取り出す前に,主プロセッサがこの領域
を解放,再獲得,加工等してしまうと,副プロセッサが
前記情報を正しく取り出せない状態(エラー)が発生し
得る。
副プロセッサによる使用時間が長くなる結果,割り当て
済みの記憶領域が増え,主プロセッサが割り当てるため
の領域が不足する。一方,当該記憶領域から副プロセッ
サが前記情報を取り出す前に,主プロセッサがこの領域
を解放,再獲得,加工等してしまうと,副プロセッサが
前記情報を正しく取り出せない状態(エラー)が発生し
得る。
そこで,従来は,主プロセッサが前記通知を受けた
ら,主プロセッサは,副プロセッサが前記情報を取り出
して当該記憶領域を利用した処理が終了するのを常に監
視し,その終了後直ちに当該領域を解放するようにして
いた。
ら,主プロセッサは,副プロセッサが前記情報を取り出
して当該記憶領域を利用した処理が終了するのを常に監
視し,その終了後直ちに当該領域を解放するようにして
いた。
この方法によれば,エラーの発生は防止できるが,監
視期間中は主プロセッサが他の処理を行うことができな
いという問題があった。
視期間中は主プロセッサが他の処理を行うことができな
いという問題があった。
本発明は,主プロセッサが簡単な比較処理を行うだけ
で,記憶領域の解放,獲得等の処理の制御を確実に行う
ようにしかつその制御を行うプロセッサの負担を小さく
したデータ処理システムを提供することを目的とする。
で,記憶領域の解放,獲得等の処理の制御を確実に行う
ようにしかつその制御を行うプロセッサの負担を小さく
したデータ処理システムを提供することを目的とする。
第1図は本発明の原理構成図であり,本発明によるデ
ータ処理システムを示している。
ータ処理システムを示している。
第1図において,1は主プロセッサ,2は副プロセッサ,3
は主及び副プロセッサ1及び2の共有資源としての記憶
装置,4は先頭ポインタ領域,5はコマンド領域でありポイ
ンタ格納領域6を含むもの,7はポインタ複写領域であ
る。
は主及び副プロセッサ1及び2の共有資源としての記憶
装置,4は先頭ポインタ領域,5はコマンド領域でありポイ
ンタ格納領域6を含むもの,7はポインタ複写領域であ
る。
主プロセッサ1は副プロセッサ2に処理させるコマン
ドを作成し,これを両者の共有する記憶装置3内に格納
する。このために,主プロセッサ1は記憶装置3に適当
な領域(コマンド領域)を獲得し,これにコマンドを作
成(格納)してコマンド領域5とする。また,主プロセ
ッサ1はコマンド領域5の解放や,他のコマンドを格納
するために先にコマンド領域5であって現在解放された
コマンド領域の再獲得を行う。
ドを作成し,これを両者の共有する記憶装置3内に格納
する。このために,主プロセッサ1は記憶装置3に適当
な領域(コマンド領域)を獲得し,これにコマンドを作
成(格納)してコマンド領域5とする。また,主プロセ
ッサ1はコマンド領域5の解放や,他のコマンドを格納
するために先にコマンド領域5であって現在解放された
コマンド領域の再獲得を行う。
副プロセッサ2は,先頭ポインタ領域4の内容(ポイ
ンタ0)が示すコマンド又はコマンド領域5についての
処理を行う。そして,当該処理が終了したら,副プロセ
ッサ2はその旨を主プロセッサ1に通知すると共に,ポ
インタ格納領域6の内容(ポインタ1)を取り出して先
頭ポインタ領域4に書き込む(内容をポインタ1とす
る)。
ンタ0)が示すコマンド又はコマンド領域5についての
処理を行う。そして,当該処理が終了したら,副プロセ
ッサ2はその旨を主プロセッサ1に通知すると共に,ポ
インタ格納領域6の内容(ポインタ1)を取り出して先
頭ポインタ領域4に書き込む(内容をポインタ1とす
る)。
記憶装置3は,共有資源としての記憶領域であり,各
領域4,5及び7を含む。
領域4,5及び7を含む。
先頭ポインタ領域4は,副プロセッサ2が持つ領域で
あり,当該副プロセッサ2が使用する領域(処理するコ
マンド領域5)を探す(指示する)情報(例えばポイン
タ0)を格納している。この情報は,副プロセッサ2に
よって,先頭ポインタ領域4にセットされる。主プロセ
ッサ1は,先頭ポインタ領域4への書き込みはできない
が,その内容を参照することはできる。
あり,当該副プロセッサ2が使用する領域(処理するコ
マンド領域5)を探す(指示する)情報(例えばポイン
タ0)を格納している。この情報は,副プロセッサ2に
よって,先頭ポインタ領域4にセットされる。主プロセ
ッサ1は,先頭ポインタ領域4への書き込みはできない
が,その内容を参照することはできる。
コマンド領域5は,コマンドを格納するために,主プ
ロセッサ1が獲得し副プロセッサ2に割り当てた記憶領
域である。コマンド領域は1又は2以上設けられる。各
コマンド領域は,コマンドを格納する他に,ポインタ格
納領域6を持つ。ポインタ格納領域6は,副プロセッサ
2が当該ポインタ格納領域6の含まれるコマンド領域5
の処理を終えた時に,次に処理すべきコマンド領域を指
示する情報(ポインタ1)を格納している。この情報
は,次に処理すべきコマンド領域がない時は「0」とさ
れ,一方,次に処理すべきコマンド領域がある時(コマ
ンド領域5が複数存在し,副プロセッサ2のコマンドチ
ェインを作っている時)はそのコマンド領域を指示す
る。
ロセッサ1が獲得し副プロセッサ2に割り当てた記憶領
域である。コマンド領域は1又は2以上設けられる。各
コマンド領域は,コマンドを格納する他に,ポインタ格
納領域6を持つ。ポインタ格納領域6は,副プロセッサ
2が当該ポインタ格納領域6の含まれるコマンド領域5
の処理を終えた時に,次に処理すべきコマンド領域を指
示する情報(ポインタ1)を格納している。この情報
は,次に処理すべきコマンド領域がない時は「0」とさ
れ,一方,次に処理すべきコマンド領域がある時(コマ
ンド領域5が複数存在し,副プロセッサ2のコマンドチ
ェインを作っている時)はそのコマンド領域を指示す
る。
ポインタ複写領域7は,先頭ポインタ領域4の内容
(ポインタ0)を複写するための,又は,複写した領域
である。この複写は,主プロセッサ1によって行われ,
主プロセッサ1が副プロセッサ2からコマンド領域5に
ついての処理が終了した通知を受けた後に行われる。ポ
インタ複写領域7は,記憶装置3内のいずれにあっても
よいが,例えば,コマンド領域5内のポインタ格納領域
6以外に設けられる。即ち,複写しようとしている内容
(ポインタ0)が指示するコマンド領域5,又は,処理が
終了したという通知の対象となったコマンド領域5に設
けられ,かつ,ポインタ格納領域6の内容(ポインタ
1)を破壊しないように設けられる。
(ポインタ0)を複写するための,又は,複写した領域
である。この複写は,主プロセッサ1によって行われ,
主プロセッサ1が副プロセッサ2からコマンド領域5に
ついての処理が終了した通知を受けた後に行われる。ポ
インタ複写領域7は,記憶装置3内のいずれにあっても
よいが,例えば,コマンド領域5内のポインタ格納領域
6以外に設けられる。即ち,複写しようとしている内容
(ポインタ0)が指示するコマンド領域5,又は,処理が
終了したという通知の対象となったコマンド領域5に設
けられ,かつ,ポインタ格納領域6の内容(ポインタ
1)を破壊しないように設けられる。
本発明によれば,共有資源である記憶領域についての
複数のプロセッサによる制御は,次のように行われる。
複数のプロセッサによる制御は,次のように行われる。
主プロセッサ1はコマンドを作成し,1つのコマンド
領域を獲得し,これにコマンドを格納してコマンド領域
5とする。このコマンドは,コマンド領域5の処理終了
後に副プロセッサ2が処理すべきコマンド領域を示す情
報(ポインタ1)を含む。
領域を獲得し,これにコマンドを格納してコマンド領域
5とする。このコマンドは,コマンド領域5の処理終了
後に副プロセッサ2が処理すべきコマンド領域を示す情
報(ポインタ1)を含む。
副プロセッサ2がコマンド領域5を使用できるよう
に,主プロセッサ1はコマンド領域5を指示する情報
(ポインタ0)を副プロセッサ2に送り,コマンド領域
5を副プロセッサ2に割り当てる。
に,主プロセッサ1はコマンド領域5を指示する情報
(ポインタ0)を副プロセッサ2に送り,コマンド領域
5を副プロセッサ2に割り当てる。
副プロセッサ2は情報(ポインタ0)を先頭ポイン
タ領域4にセットする。そして,この情報(ポインタ
0)が指示するコマンド領域5を用いて処理を行う。
タ領域4にセットする。そして,この情報(ポインタ
0)が指示するコマンド領域5を用いて処理を行う。
処理が終了すると,副プロセッサ2はその旨を主プ
ロセッサ1に通知する。
ロセッサ1に通知する。
通知を受けた主プロセッサ1は,先頭ポインタ領域
4の内容(ポインタ0)をコマンド領域5に複写したポ
インタ複写領域7とする。これにより,他の記憶(又は
コマンド)領域に影響を与えることなく,また,次に行
う処理についての情報(ポインタ1)を破壊することな
く,複写先を確保できる。コマンド領域5は使用済みで
あるから問題ない。
4の内容(ポインタ0)をコマンド領域5に複写したポ
インタ複写領域7とする。これにより,他の記憶(又は
コマンド)領域に影響を与えることなく,また,次に行
う処理についての情報(ポインタ1)を破壊することな
く,複写先を確保できる。コマンド領域5は使用済みで
あるから問題ない。
また,主プロセッサ1はコマンド領域5を解放す
る。即ち,他のコマンドを格納するために主プロセッサ
1が(再)獲得可能なコマンド領域とする。
る。即ち,他のコマンドを格納するために主プロセッサ
1が(再)獲得可能なコマンド領域とする。
一方,副プロセッサ2は,処理終了の通知を行った
後,ポインタ格納領域6の内容(ポインタ1)を取り出
し先頭ポインタ領域4に書き込む。この処理は,処理
と並列して行われるが,副プロセッサ2の負荷が小さけ
れば前記通知後速やかに行われ,負荷が大きければ通知
後比較的長時間を要する。
後,ポインタ格納領域6の内容(ポインタ1)を取り出
し先頭ポインタ領域4に書き込む。この処理は,処理
と並列して行われるが,副プロセッサ2の負荷が小さけ
れば前記通知後速やかに行われ,負荷が大きければ通知
後比較的長時間を要する。
主プロセッサ1は,解放されているコマンド領域を
獲得して割り当てを行う際に,当該コマンド領域のポイ
ンタ複写領域7の内容(ポインタ0)と,先頭ポインタ
領域4の内容とを比較する。両者が一致した時は,主プ
ロセッサ1は処理が未だ終了していないとみなし,当
該領域を獲得可能なコマンド領域から除く。両者が一致
しない(異なる)時は,主プロセッサ1は処理が終了
しているとみなし,当該領域を新たなコマンドを格納す
るためのコマンド領域として(再)獲得する。
獲得して割り当てを行う際に,当該コマンド領域のポイ
ンタ複写領域7の内容(ポインタ0)と,先頭ポインタ
領域4の内容とを比較する。両者が一致した時は,主プ
ロセッサ1は処理が未だ終了していないとみなし,当
該領域を獲得可能なコマンド領域から除く。両者が一致
しない(異なる)時は,主プロセッサ1は処理が終了
しているとみなし,当該領域を新たなコマンドを格納す
るためのコマンド領域として(再)獲得する。
以上に述べた如く,本発明によれば,主プロセッサ1
は,ポインタ複写領域7と内容と先頭ポインタ領域4の
内容とを比較するという簡単な処理を行った上でコマン
ド領域5が解放されていなければ別のコマンド領域5を
獲得するように試みればよく,従来の場合のようにコマ
ンド領域5を解放した後ポインタ格納領域6の内容(ポ
インタ1)の取り出しが終了するのを常に監視する必要
がなくなる。従って,主プロセッサ1は他の処理を行う
ことができる。
は,ポインタ複写領域7と内容と先頭ポインタ領域4の
内容とを比較するという簡単な処理を行った上でコマン
ド領域5が解放されていなければ別のコマンド領域5を
獲得するように試みればよく,従来の場合のようにコマ
ンド領域5を解放した後ポインタ格納領域6の内容(ポ
インタ1)の取り出しが終了するのを常に監視する必要
がなくなる。従って,主プロセッサ1は他の処理を行う
ことができる。
また,先にコマンド領域5であって現在解放されてい
るコマンド領域の再獲得は,主プロセッサ1によって,
ポインタ格納領域6の内容の取り出しが終了しているこ
とを確認した上で行われる。従って,ポインタ格納領域
6の内容が破壊されることを防止できる。
るコマンド領域の再獲得は,主プロセッサ1によって,
ポインタ格納領域6の内容の取り出しが終了しているこ
とを確認した上で行われる。従って,ポインタ格納領域
6の内容が破壊されることを防止できる。
また,主プロセッサ1が割り当てることができる記憶
(コマンド)領域の不足も見かけ上解消することがで
き,主プロセッサ1の処理が滞ることがなくなる。
(コマンド)領域の不足も見かけ上解消することがで
き,主プロセッサ1の処理が滞ることがなくなる。
第2図は本発明の実施例説明図であり,第3図は処理
フロー図である。
フロー図である。
第2図において,8はセマフォレジスタ,50及び51はコ
マンド領域でありコマンド領域5に対応するもの,60及
び61はポインタ格納領域でありポインタ格納領域6に対
応するもの,70はポインタ複写領域でありポインタ複写
領域7に対応するものである。
マンド領域でありコマンド領域5に対応するもの,60及
び61はポインタ格納領域でありポインタ格納領域6に対
応するもの,70はポインタ複写領域でありポインタ複写
領域7に対応するものである。
第1図に示すデータ処理システムにおいて,その各々
がポンインタ格納領域60,61,…を有する複数(第2図で
は2つ)のコマンド領域50,51,…が、主記憶装置3上に
設けられる。換言すれば,主記憶装置3のコマンド領域
として使用可能な領域は,例えば固定語長の複数のコマ
ンド領域(50,51,…)に分割される。一方,第1図に示
すデータ処理システムにおいて,セマフォレジスタ8が
設けられる。セマフォレジスタ8は,各コマンド領域が
主又は副プロセッサ1又は2のいずれによって排他的に
占有されているかを示しており,例えば,セマフォレジ
スタ8の各ビットが各コマンド領域に対応させられる。
セマフォレジスタ8を参照することにより,一方のプロ
セッサが使用中のコマンド領域に他方のプロセッサが書
き込みを行うことを防止している。
がポンインタ格納領域60,61,…を有する複数(第2図で
は2つ)のコマンド領域50,51,…が、主記憶装置3上に
設けられる。換言すれば,主記憶装置3のコマンド領域
として使用可能な領域は,例えば固定語長の複数のコマ
ンド領域(50,51,…)に分割される。一方,第1図に示
すデータ処理システムにおいて,セマフォレジスタ8が
設けられる。セマフォレジスタ8は,各コマンド領域が
主又は副プロセッサ1又は2のいずれによって排他的に
占有されているかを示しており,例えば,セマフォレジ
スタ8の各ビットが各コマンド領域に対応させられる。
セマフォレジスタ8を参照することにより,一方のプロ
セッサが使用中のコマンド領域に他方のプロセッサが書
き込みを行うことを防止している。
第2図(A)に図示の如く,前述の処理によって主
プロセッサ1が獲得したコマンド領域50,51,…は,主プ
ロセッサ1の第1(コマンド)チェイン(点線で示す)
につながれる。即ち,コマンド領域50,51,…は主プロセ
ッサ1によって副プロセッサ2に割り当て済みであり,
これらに対する書き込み権は副プロセッサ2が有してい
る。従って,セマフォレジスタ8のコマンド領域50,51,
…に対応する各ビットには,副プロセッサ2が使用中で
あることが表示される。主プロセッサ1が新たに獲得し
たコマンド領域は,主プロセッサ1の第1チェインの末
尾につながれる。なお,未だ割り当て済みでないコマン
ド領域は,主プロセッサ1による再獲得の対象として,
主プロセッサ1の第2(コマンド)チェインにつながれ
る。これら対する書き込み権は主プロセッサ1が有し,
常に書き込みできる状態にある。これらのコマンド領域
に対応するセマフォレジスタ8のビットには,主プロセ
ッサ1が占有していることが表示される。
プロセッサ1が獲得したコマンド領域50,51,…は,主プ
ロセッサ1の第1(コマンド)チェイン(点線で示す)
につながれる。即ち,コマンド領域50,51,…は主プロセ
ッサ1によって副プロセッサ2に割り当て済みであり,
これらに対する書き込み権は副プロセッサ2が有してい
る。従って,セマフォレジスタ8のコマンド領域50,51,
…に対応する各ビットには,副プロセッサ2が使用中で
あることが表示される。主プロセッサ1が新たに獲得し
たコマンド領域は,主プロセッサ1の第1チェインの末
尾につながれる。なお,未だ割り当て済みでないコマン
ド領域は,主プロセッサ1による再獲得の対象として,
主プロセッサ1の第2(コマンド)チェインにつながれ
る。これら対する書き込み権は主プロセッサ1が有し,
常に書き込みできる状態にある。これらのコマンド領域
に対応するセマフォレジスタ8のビットには,主プロセ
ッサ1が占有していることが表示される。
一方,処理及びにより,第2図(A)図示の如
く,副プロセッサ2(コマンド)チェイン(実線で示
す)を形成する。即ち,ポインタiがポインタi+1が
含まれるコマンド領域(50,51,…)を指示するように,
順に,先頭ポインタ領域4及びポインタ格納領域(60,6
1,…)に所定の情報(ポインタ)が書き込まれている。
従って,先頭ポインタ領域4は,副プロセッサ2が自ら
のコマンドチェインの先頭を示す情報(ポインタ)を格
納するためのものである。
く,副プロセッサ2(コマンド)チェイン(実線で示
す)を形成する。即ち,ポインタiがポインタi+1が
含まれるコマンド領域(50,51,…)を指示するように,
順に,先頭ポインタ領域4及びポインタ格納領域(60,6
1,…)に所定の情報(ポインタ)が書き込まれている。
従って,先頭ポインタ領域4は,副プロセッサ2が自ら
のコマンドチェインの先頭を示す情報(ポインタ)を格
納するためのものである。
このような状態で,(セマフォレジスタ8は副プロセ
ッサ2がコマンド領域50を占有することを示す),副プ
ロセッサ2は主プロセッサ1から割り当てられたコマン
ドを処理するため,先頭ポインタ領域4の内容(ポイン
タ0)が指示するコマンド領域50の処理(前述の処理
)を行う。
ッサ2がコマンド領域50を占有することを示す),副プ
ロセッサ2は主プロセッサ1から割り当てられたコマン
ドを処理するため,先頭ポインタ領域4の内容(ポイン
タ0)が指示するコマンド領域50の処理(前述の処理
)を行う。
従って,第2図(A)は,処理を終了した副プロセ
ッサ2が,主プロセッサ1にその旨を通知するための割
り込みをする直前の状態を示している。
ッサ2が,主プロセッサ1にその旨を通知するための割
り込みをする直前の状態を示している。
前述の処理の如く通知を受けた主プロセッサ1は,
その時点で先頭ポインタ領域4の内容(ポインタ0)が
指示するコマンド領域50に対応するセマフォレジタ8の
ビットを変更し,コマンド領域50を主プロセッサ1が占
有する(書込み権を持つ)ようにする。そして,前述の
処理の如く,主プロセッサ1は先頭ポインタ領域4の
内容(ポインタ0)をコマンド領域50内に複写し,ポイ
ンタ複写領域70とする。この後,第2図(B)に示す如
く,処理によって,コマンド領域50を第1チェインか
ら切り離して解放し,主プロセッサ1の第2チェイン
(一点鎖線で示す)の末尾につなぐ。
その時点で先頭ポインタ領域4の内容(ポインタ0)が
指示するコマンド領域50に対応するセマフォレジタ8の
ビットを変更し,コマンド領域50を主プロセッサ1が占
有する(書込み権を持つ)ようにする。そして,前述の
処理の如く,主プロセッサ1は先頭ポインタ領域4の
内容(ポインタ0)をコマンド領域50内に複写し,ポイ
ンタ複写領域70とする。この後,第2図(B)に示す如
く,処理によって,コマンド領域50を第1チェインか
ら切り離して解放し,主プロセッサ1の第2チェイン
(一点鎖線で示す)の末尾につなぐ。
以上の主プロセッサ1による処理と並行して,副プロ
セッサ2は前述の処理を行って,第2図(C)図示の
状態を作ろうとする。
セッサ2は前述の処理を行って,第2図(C)図示の
状態を作ろうとする。
即ち,副プロセッサ2は,自らが持つ(書込み権を持
つ)先頭ポインタ領域4へ,ポインタ格納領域60の内容
(ポインタ1)を書き込む。これにより,コマンド領域
50は副プロセッサ2のチェインから切り離され,当該チ
ェインはその先頭がポインタ1とされる。そして,副プ
ロセッサ2はポインタ1の指示するコマンド領域51の処
理を行う。
つ)先頭ポインタ領域4へ,ポインタ格納領域60の内容
(ポインタ1)を書き込む。これにより,コマンド領域
50は副プロセッサ2のチェインから切り離され,当該チ
ェインはその先頭がポインタ1とされる。そして,副プ
ロセッサ2はポインタ1の指示するコマンド領域51の処
理を行う。
一方,このような副プロセッサ2による処理とは独立
して,主プロセッサ1は必要に応じて前述の処理を行
う。この処理は,第3図に示す如き処理フローによって
行われる。
して,主プロセッサ1は必要に応じて前述の処理を行
う。この処理は,第3図に示す如き処理フローによって
行われる。
(a)主プロセッサ1はその第2チェインの1つのコマ
ンド領域を(再)獲得処理の対象とする。
ンド領域を(再)獲得処理の対象とする。
(b)主プロセッサ1は,当該コマンド領域のポインタ
複写領域の内容と先頭ポインタ領域4の内容とを比較す
る。
複写領域の内容と先頭ポインタ領域4の内容とを比較す
る。
(c)比較の結果両者が一致しない時,主プロセッサ1
は当該コマンド領域を獲得し,コマンドを作成して格納
する。
は当該コマンド領域を獲得し,コマンドを作成して格納
する。
副プロセッサ2の負荷が軽い時,又は,第2チェイン
につながれたコマンド領域が多い時等に,両者は一致し
ない。
につながれたコマンド領域が多い時等に,両者は一致し
ない。
(d)主プロセッサ1は当該コマンド領域をその第1チ
ェインの末尾につなぐ。また,当該コマンド領域は副プ
ロセッサ2のチェインの末尾につながれる。
ェインの末尾につなぐ。また,当該コマンド領域は副プ
ロセッサ2のチェインの末尾につながれる。
(e)一方,副プロセッサ2の負荷が重い時,比較の結
果両者が一致することが考えられる。この時,主プロセ
ッサ1はその第2チェインにつながれた(即ち獲得可能
な)他のコマンド領域が存在するかを判断する。
果両者が一致することが考えられる。この時,主プロセ
ッサ1はその第2チェインにつながれた(即ち獲得可能
な)他のコマンド領域が存在するかを判断する。
存在しない時,主プロセッサ1は定期的に処理(b)
を行って,両者が不一致となるのを待って処理(c)に
移る。
を行って,両者が不一致となるのを待って処理(c)に
移る。
(f)他のコマンド領域が存在する時,獲得処理の対象
を他のコマンド領域に変更する。これにより,当該他の
コマンド領域のポインタ複写領域の内容は必ず先頭ポイ
ンタ領域4の内容と異なるから,主プロセッサ1は処理
(c)以下を行う。
を他のコマンド領域に変更する。これにより,当該他の
コマンド領域のポインタ複写領域の内容は必ず先頭ポイ
ンタ領域4の内容と異なるから,主プロセッサ1は処理
(c)以下を行う。
以上により,主プロセッサ1による記憶(コマンド)
領域の(再)獲得処理は終了する。
領域の(再)獲得処理は終了する。
処理(d)によりチェインの末尾につながれたコマン
ド領域は,当該チェインの順に従って順次処理される。
また,処理(b)と(e)とのくり返しの処理は,主プ
ロセッサ1が常時行う必要はなく,コマンド領域の獲得
時に,また利用できるコマンド領域が満杯となっている
場合には定期的にパトロールを行えばよく,主プロセッ
サ1の負担は小さいものにできる。
ド領域は,当該チェインの順に従って順次処理される。
また,処理(b)と(e)とのくり返しの処理は,主プ
ロセッサ1が常時行う必要はなく,コマンド領域の獲得
時に,また利用できるコマンド領域が満杯となっている
場合には定期的にパトロールを行えばよく,主プロセッ
サ1の負担は小さいものにできる。
以上述べたように,本発明によれば,複数のデータ処
理装置又はプロセッサにより共有される記憶領域の解
放,獲得等の処理の制御を,その獲得の際に獲得可能か
否かを確認することによって,当該獲得の処理を行うデ
ータ処理装置又はプロセッサの負担を小さくすることが
でき,又,当該獲得の処理によってエラーが生ずること
を防止することができる。
理装置又はプロセッサにより共有される記憶領域の解
放,獲得等の処理の制御を,その獲得の際に獲得可能か
否かを確認することによって,当該獲得の処理を行うデ
ータ処理装置又はプロセッサの負担を小さくすることが
でき,又,当該獲得の処理によってエラーが生ずること
を防止することができる。
第1図は本発明の原理構成図, 第2図は実施例説明図, 第3図は処理フロー図, 第4図は従来技術説明図。 1は主プロセッサ,2は副プロセッサ,3は記憶装置,4は先
頭ポインタ領域,5,50,51はコマンド領域,6,60,61はポイ
ンタ格納領域,7,70はポインタ複写領域,8はセマフォレ
ジスタである。
頭ポインタ領域,5,50,51はコマンド領域,6,60,61はポイ
ンタ格納領域,7,70はポインタ複写領域,8はセマフォレ
ジスタである。
Claims (1)
- 【請求項1】コマンドを格納するための複数のコマンド
領域と, 前記複数のコマンド領域から1つのコマンド領域を獲得
し,その中にコマンドを作成し格納する主プロセッサ
と, 前記コマンドを格納したコマンド領域を処理する副プロ
セッサとを備え, 各々のコマンド領域内には,そのコマンド領域の処理の
終了後に前記副プロセッサが次に処理すべき他のコマン
ド領域を指示する情報を格納するポインタ格納領域とを
備えたデータ処理システムにおいて, 前記副プロセッサが処理すべきコマンド領域を指示する
情報を格納する先頭ポインタ領域と, 前記先頭ポインタ領域の情報を複写した情報を持つポイ
ンタ複写領域とをさらに備え, 前記副プロセッサは,前記先頭ポインタ領域の指示する
コマンド領域の処理の終了後,前記主プロセッサにその
旨を通知し, 前記主プロセッサは当該通知にもとづいて前記先頭ポイ
ンタ領域の情報を前記ポインタ複写領域に複写して当該
コマンド領域を解放し, その後,前記副プロセッサはポインタ格納領域の情報を
前記先頭ポインタ領域に書き込み, 前記主プロセッサはある1つのコマンド領域を獲得する
際に,前記先頭ポインタ領域とポインタ複写領域の内容
の一致・不一致を調べてそのコマンド領域が解放されて
いるか否かを判断し,解放されている場合にはそのコマ
ンド領域を獲得し,そうでない場合には別のコマンド領
域の獲得を試みる ことを特徴とするデータ処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4829688A JP2505020B2 (ja) | 1988-03-01 | 1988-03-01 | デ―タ処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4829688A JP2505020B2 (ja) | 1988-03-01 | 1988-03-01 | デ―タ処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01222362A JPH01222362A (ja) | 1989-09-05 |
JP2505020B2 true JP2505020B2 (ja) | 1996-06-05 |
Family
ID=12799476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4829688A Expired - Lifetime JP2505020B2 (ja) | 1988-03-01 | 1988-03-01 | デ―タ処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2505020B2 (ja) |
-
1988
- 1988-03-01 JP JP4829688A patent/JP2505020B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH01222362A (ja) | 1989-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0790562B1 (en) | Computer system data I/O by reference among CPUs and I/O devices | |
JP3557947B2 (ja) | 複数のプロセッサで同時にスレッドの実行を開始させる方法及びその装置並びにコンピュータ可読記録媒体 | |
KR100496116B1 (ko) | 멀티프로세서 장치 | |
US7100161B2 (en) | Method and apparatus for resource access synchronization | |
JP3612339B2 (ja) | データ処理方法および装置 | |
JPH01251258A (ja) | ネットワークシステムにおける共用領域管理方法 | |
US6219689B1 (en) | Parallel transaction processing system | |
JPH0713813B2 (ja) | データアクセス方法及びデータ処理システム | |
EP0790564A2 (en) | Computer system data I/O by reference among I/O devices and multiple memory units | |
EP0790563A2 (en) | Computer system data I/O by reference among CPUs and multiple memory units | |
EP0789305A2 (en) | Computer system data I/O by reference among multiple data sources and sinks | |
JPH0628049B2 (ja) | 非同期バス間のデータ転送方法 | |
JP2505020B2 (ja) | デ―タ処理システム | |
US6567908B1 (en) | Method of and apparatus for processing information, and providing medium | |
JP2629572B2 (ja) | 動的確保領域の保証方式 | |
IE61307B1 (en) | Method to execute two instruction sequences in an order determined in advance | |
JPH01303529A (ja) | データ処理装置 | |
EP0789306A2 (en) | Computer system data I/O by reference among multiple cpus | |
WO1993003436A1 (en) | Method and apparatus for reducing lock period of shared buffer | |
JP2002520731A (ja) | 微細粒子分散仮想共有メモリ | |
JP2992394B2 (ja) | マルチプロセッサシステム | |
JPS6016661B2 (ja) | 主メモリ割付方式 | |
JP2535568B2 (ja) | アプリケ―ションプログラムでの動的バッファ管理方式 | |
JP2000003287A (ja) | 共有リソースの排他制御装置、排他制御方法及び排他制御プログラムを記録した記録媒体 | |
JPH03116261A (ja) | マルチプロセッサ制御方式 |