JPS60200343A - タスク間共有デ−タの排他制御方式 - Google Patents
タスク間共有デ−タの排他制御方式Info
- Publication number
- JPS60200343A JPS60200343A JP5562784A JP5562784A JPS60200343A JP S60200343 A JPS60200343 A JP S60200343A JP 5562784 A JP5562784 A JP 5562784A JP 5562784 A JP5562784 A JP 5562784A JP S60200343 A JPS60200343 A JP S60200343A
- Authority
- JP
- Japan
- Prior art keywords
- request
- data
- unit
- ticket
- write
- 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
Links
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(技術分野)
本発明はタスク間共有データの排他制御方式に関し、特
に共有データの同時読み出し及び矛盾が発生しない最大
限の共有データに対する読み出し及び書き込みの並列性
を可能にするタスク間共有データの排他制御方式に関す
る。
に共有データの同時読み出し及び矛盾が発生しない最大
限の共有データに対する読み出し及び書き込みの並列性
を可能にするタスク間共有データの排他制御方式に関す
る。
(従来技術)
データベース管理に代表されるように複数のタスクによ
って共有される情報はその読み出し、書き込みに対して
注意深く同期をとることによってデータの一貫性を保た
れねばならない。
って共有される情報はその読み出し、書き込みに対して
注意深く同期をとることによってデータの一貫性を保た
れねばならない。
従来電子計算機の機械語としてはP−V命令。
l ock −un l ock命令といったものが用
意されて。
意されて。
ある時刻にはその情報を読み出しまたは書き込みが出来
るタスクが唯一という制限を設けることによって、読み
出し、書き込みに関係なく、複数タスク間の共有情報の
管理を行なっていた。
るタスクが唯一という制限を設けることによって、読み
出し、書き込みに関係なく、複数タスク間の共有情報の
管理を行なっていた。
しかしながらこの方式では本来複数タスク間で同時に読
み書きを行なうことが可能である状況においても、アク
セスの排他制御を行なって共有情報の読み書きの効率を
悪くしている場合があった。
み書きを行なうことが可能である状況においても、アク
セスの排他制御を行なって共有情報の読み書きの効率を
悪くしている場合があった。
たとえは、Cの方式は複数のタスクによって読み書きを
される一語長のデータの管理についてP−V命令を使っ
て具体的に説明すると、生産者−消費者(produc
er −consumer )問題として知られている
。そのアルゴリズムを第1図に示す。
される一語長のデータの管理についてP−V命令を使っ
て具体的に説明すると、生産者−消費者(produc
er −consumer )問題として知られている
。そのアルゴリズムを第1図に示す。
P−V命令は、踏み切9のしゃ断機に相当し、同時に踏
み切りの中に入れるのは1タスクである。
み切りの中に入れるのは1タスクである。
P命令は踏み切シに入りりい要求を示すものであシ、■
命令は踏み切りの中から外に出る時に、踏み切シのしゃ
断俄を上げる要求を示すものである。一般的に P、排他制御の必要なデータの操作、■という順序で使
用する。P命令t−’M行した時に既に踏み切りの中に
別タスクが入っているならばその別タスクが踏み切りの
外へ出る。すなわちV命令を実行するまでP命令で待ち
状態になる。従来のデータ処理装置では複数のタスクの
データ読み出し及び瞥き込みと読み出しの同時処理は逐
次直列化されてPV命令を使って処理されてい友。すな
わち、効率を悪化させる要因の第1番目は読み出しに関
しては複数のタスクが同時に共有情報を読み出しても矛
盾が起らないにもかかわらず排他的にアクセスが制限さ
れることであり、第2番目は読み出しと瞥さ込みの要求
も矛盾が発生しない最大限に同時に処理を行なうことが
出来るにもかかわらずCれをおこ九りていることである
。すなわち、従来の方式では共有情報の読み書きは、最
適な性能をもって処理されていないという欠点があった
。
命令は踏み切りの中から外に出る時に、踏み切シのしゃ
断俄を上げる要求を示すものである。一般的に P、排他制御の必要なデータの操作、■という順序で使
用する。P命令t−’M行した時に既に踏み切りの中に
別タスクが入っているならばその別タスクが踏み切りの
外へ出る。すなわちV命令を実行するまでP命令で待ち
状態になる。従来のデータ処理装置では複数のタスクの
データ読み出し及び瞥き込みと読み出しの同時処理は逐
次直列化されてPV命令を使って処理されてい友。すな
わち、効率を悪化させる要因の第1番目は読み出しに関
しては複数のタスクが同時に共有情報を読み出しても矛
盾が起らないにもかかわらず排他的にアクセスが制限さ
れることであり、第2番目は読み出しと瞥さ込みの要求
も矛盾が発生しない最大限に同時に処理を行なうことが
出来るにもかかわらずCれをおこ九りていることである
。すなわち、従来の方式では共有情報の読み書きは、最
適な性能をもって処理されていないという欠点があった
。
(発明の目的)
本発明の目的は従来の方式における欠点を除去すると共
に最大限の効率で共有情報の制御を行なえるように、前
記並列性を取シ出す為の共有データの排他制御方式を提
供することにある。
に最大限の効率で共有情報の制御を行なえるように、前
記並列性を取シ出す為の共有データの排他制御方式を提
供することにある。
(発明の構成)
本発明によれば、複数のタスクによって共有されるデー
タへのアクセス要求としてリードと2イトを許し、前記
複数タスクからの非同期かつ順不同の各要求tl−1つ
のプロセスとしてとらえ、前記共有データを前記プロセ
ス間で次々にその入力及び出力として受け渡されていく
データストリームとしてとらえ、各プロセスの生成時に
各プロセスの11序性を制御するチケット番号を各プロ
セスに配付して前記データストリームの流れを制御する
ことによシ、前記共有データの一貫性を保つ排他制御方
式であって、vI数タスクからのリードあるいはライト
のアクセス要求を一括して受ける要求解釈ユニットと、
タスクからの要求1つに対してその要求t−笑行すべく
1つ割りあてられ、要求の数に対して充分な数だけ存在
する仮数の要求実行ユニットと、前記複数個の要求実行
ユニット群のスケジューリングを行なう要求スケジユー
ラと。
タへのアクセス要求としてリードと2イトを許し、前記
複数タスクからの非同期かつ順不同の各要求tl−1つ
のプロセスとしてとらえ、前記共有データを前記プロセ
ス間で次々にその入力及び出力として受け渡されていく
データストリームとしてとらえ、各プロセスの生成時に
各プロセスの11序性を制御するチケット番号を各プロ
セスに配付して前記データストリームの流れを制御する
ことによシ、前記共有データの一貫性を保つ排他制御方
式であって、vI数タスクからのリードあるいはライト
のアクセス要求を一括して受ける要求解釈ユニットと、
タスクからの要求1つに対してその要求t−笑行すべく
1つ割りあてられ、要求の数に対して充分な数だけ存在
する仮数の要求実行ユニットと、前記複数個の要求実行
ユニット群のスケジューリングを行なう要求スケジユー
ラと。
前記チケット番号を管理するチケットカウンタと。
前記要求実行ユニット間で送受するデータストリームを
一時的にバッファリングする情報レジスタと、要求実行
ユニット間でのデータストリームの送受はブロードキャ
ストで行なわれるが、自分あてのデータストリートのと
きの不受信する判定ユニットと、ある要求に対して割シ
あてられ請求実行ユニットの解放を指示する信号を受信
するのに用いられるゲートとからなることを特徴とする
タスク間共■データの排他制御方式が得られる。
一時的にバッファリングする情報レジスタと、要求実行
ユニット間でのデータストリームの送受はブロードキャ
ストで行なわれるが、自分あてのデータストリートのと
きの不受信する判定ユニットと、ある要求に対して割シ
あてられ請求実行ユニットの解放を指示する信号を受信
するのに用いられるゲートとからなることを特徴とする
タスク間共■データの排他制御方式が得られる。
(実施例)
次に本発明の実施例について図面を参照して説明する。
第5図は本発明の一実施例における回路構成を示す。第
5図において1本実施例は複数のタスクによって共有さ
れるデータへのアクセス要求としてリードとライトを許
し、前記次数タスクからのリードやライトの非同期かつ
1胞不同の各要求を1つの小プロセスとしてとらえ、前
記共有データを前記小プロセス間で次々にその入力及び
出力として受け渡されていくデータストリームとしてと
らえ、そのデータの流れを制御することにニジ前記共有
データの一貫性を保つ排他制御t−実現する方式であっ
て、前記データの流れを制御するのに前記各小プロセス
に一連の番号チケットを1つずつ発行し、チケット番号
nt−持つ小プロセスはチケット番号n−1を持ちライ
ト要求を実行する小プロセスからその出力としての共有
データ直ヲ受けと9.チケット番号nを持つ小プロセス
の中でライト要求全実行する小プロセスは共!7’−タ
値を入力として受けとると、書き換えるべき値をチケッ
ト番号n+1を持つプロセスへの出力にして終了し、チ
ケット番号n′fc持つ小プロセスの中でリード要求t
−笑行する小プロセスは共有データ筺を入力として受け
とると、前記リード要求を出したタスクに前記入力値を
渡して終了し、前記一連のチケット番号全発行するチケ
ットカクンタはリード要求がりづ〈限りチケット番号値
を変えずに発行し、ライト要求が来るとそのライト要求
に対してはそのときのチケット番号[を与え、前記ライ
ト要求につづく要求に対してはl増加したチケット番号
値を与えるもので、複数のタスクからの読み出しあるい
は書き込みのアクセス要求を受けつける要求解釈ユニッ
ト1と、タスクからの要求1つに対してその要求を実行
すべく1つ割シあてられる、要求の数に対して充分な数
だけ存在する要求実行ユニツ)4.40と、複数個存在
する要求実行ユニットのスケジユーリングを行なう要求
スケジ瓢−22と、タスクからの非同期要求を順序化す
る為に1ずつ増分するのに用いられるチケットカクンタ
3と、要求実行ユニット4.40間で送受するデータを
一時的に格納する要求実行ユニット4.40と同数の情
報レジスタ5,50と。
5図において1本実施例は複数のタスクによって共有さ
れるデータへのアクセス要求としてリードとライトを許
し、前記次数タスクからのリードやライトの非同期かつ
1胞不同の各要求を1つの小プロセスとしてとらえ、前
記共有データを前記小プロセス間で次々にその入力及び
出力として受け渡されていくデータストリームとしてと
らえ、そのデータの流れを制御することにニジ前記共有
データの一貫性を保つ排他制御t−実現する方式であっ
て、前記データの流れを制御するのに前記各小プロセス
に一連の番号チケットを1つずつ発行し、チケット番号
nt−持つ小プロセスはチケット番号n−1を持ちライ
ト要求を実行する小プロセスからその出力としての共有
データ直ヲ受けと9.チケット番号nを持つ小プロセス
の中でライト要求全実行する小プロセスは共!7’−タ
値を入力として受けとると、書き換えるべき値をチケッ
ト番号n+1を持つプロセスへの出力にして終了し、チ
ケット番号n′fc持つ小プロセスの中でリード要求t
−笑行する小プロセスは共有データ筺を入力として受け
とると、前記リード要求を出したタスクに前記入力値を
渡して終了し、前記一連のチケット番号全発行するチケ
ットカクンタはリード要求がりづ〈限りチケット番号値
を変えずに発行し、ライト要求が来るとそのライト要求
に対してはそのときのチケット番号[を与え、前記ライ
ト要求につづく要求に対してはl増加したチケット番号
値を与えるもので、複数のタスクからの読み出しあるい
は書き込みのアクセス要求を受けつける要求解釈ユニッ
ト1と、タスクからの要求1つに対してその要求を実行
すべく1つ割シあてられる、要求の数に対して充分な数
だけ存在する要求実行ユニツ)4.40と、複数個存在
する要求実行ユニットのスケジユーリングを行なう要求
スケジ瓢−22と、タスクからの非同期要求を順序化す
る為に1ずつ増分するのに用いられるチケットカクンタ
3と、要求実行ユニット4.40間で送受するデータを
一時的に格納する要求実行ユニット4.40と同数の情
報レジスタ5,50と。
特定の要求実行ユニットからブロードキャストされた信
号を判別する為の要求実行ユニット4゜40と同数の判
定ユニッ)6.60と、ある特定の要求に対して割シあ
てられた要求実行ユニット4.400解放を指示する信
号を受信するために用いられる要求実行ユニット4.4
0と同数のグー)7.70を含む。
号を判別する為の要求実行ユニット4゜40と同数の判
定ユニッ)6.60と、ある特定の要求に対して割シあ
てられた要求実行ユニット4.400解放を指示する信
号を受信するために用いられる要求実行ユニット4.4
0と同数のグー)7.70を含む。
この実施例では代行部はバス結合によシ相互に結合され
ているが1代行部間士の結合方法にはバス結合という制
限はない。本方式を効率よく笑現するためには多数の代
行部が存在し1代行部の要求・解放の要求を効率よく笑
現し、任意の代行部から別の代行部へのデータ受は渡し
が容易である必要がある。
ているが1代行部間士の結合方法にはバス結合という制
限はない。本方式を効率よく笑現するためには多数の代
行部が存在し1代行部の要求・解放の要求を効率よく笑
現し、任意の代行部から別の代行部へのデータ受は渡し
が容易である必要がある。
動作説明の為には代行部が最低2つ必要なのでこの実施
例では2つの代行部を図示し、各代行部の構成要素に、
4. 5. 6または40. 50゜60の番号を与え
ている。
例では2つの代行部を図示し、各代行部の構成要素に、
4. 5. 6または40. 50゜60の番号を与え
ている。
要求解釈ユニット1は到着する要求がリードかライトか
全判断し、要求の種類を11に出力し。
全判断し、要求の種類を11に出力し。
同時に要求スケジー−ラ2に対して代行部全1つ割シあ
てるよう出力12t−送信し、要求の種類を出力13と
してすべての判定ユニットに送信する。
てるよう出力12t−送信し、要求の種類を出力13と
してすべての判定ユニットに送信する。
ここでは要求スクジェ−22が選択した代行部は。
命令火打ユニット4.情報レジスタ5と判定ユニット6
からなるとする。要求スケジニ−2は、°複数個の代行
部から1つを選択するために信号14を出力する。各代
行部は判定ユニットによ多信号41fi−受ける。ここ
で選択され次代打部の判定ユニット6は、チケットカク
ンタ3よシ送信された信号16のデータnと同じチケッ
ト番号よシ1小さい番号を持ちライト要求を処理する代
行部の情報レジスタ50の値を信号15として受信する
まで待つ。
からなるとする。要求スケジニ−2は、°複数個の代行
部から1つを選択するために信号14を出力する。各代
行部は判定ユニットによ多信号41fi−受ける。ここ
で選択され次代打部の判定ユニット6は、チケットカク
ンタ3よシ送信された信号16のデータnと同じチケッ
ト番号よシ1小さい番号を持ちライト要求を処理する代
行部の情報レジスタ50の値を信号15として受信する
まで待つ。
信号13,14,15.16がすべてそろうと、判定ユ
ニット6は、その要求がライトのときのみ。
ニット6は、その要求がライトのときのみ。
チケット番号n−11持って判定ユニット6からの装置
解放の許可信号を待つ装置の為に信号17をブロードキ
ャストする。その後、要求の種類には関係なく信号13
,14.15のデータをまとめて、信号22全通して命
令実行二ニット4に渡す。
解放の許可信号を待つ装置の為に信号17をブロードキ
ャストする。その後、要求の種類には関係なく信号13
,14.15のデータをまとめて、信号22全通して命
令実行二ニット4に渡す。
命令実行ユニット4は要求がリードの時、信号15のデ
ータを出力18として返し、要求スケジューラ2に装置
解放要求19を出力する。
ータを出力18として返し、要求スケジューラ2に装置
解放要求19を出力する。
要求実行ユニット4は、要求がライトのとき。
信号15で受けとった1lft−書きかえた値と信号1
6で受けとったチケット番号nに1加えたデータの組を
情報レジスタ5に書き込み、ゲート7に要求の終了を出
力21で知らせる。ゲート7はチケット番号n+1t:
持ち請求t−実行する別の代行部の判定ユニットからの
出力17を待つ。
6で受けとったチケット番号nに1加えたデータの組を
情報レジスタ5に書き込み、ゲート7に要求の終了を出
力21で知らせる。ゲート7はチケット番号n+1t:
持ち請求t−実行する別の代行部の判定ユニットからの
出力17を待つ。
ゲート7は信号17及び22がそろ−うと要求スケジW
−−y2に対して装置解放要求23t−出力する。
−−y2に対して装置解放要求23t−出力する。
このように本実流側の排他制御方式は、タスク間の排他
制御を美男するのに、共有データを特定のメモリセルに
格納して管理するのではなく、複数のタスクからのデー
タの読み書きの要求1つ1つを、各々1つの小プロセス
としてとらえ、前記共有データを前記小プロセス間でそ
の入力及び出力として流れていくデータストリームとし
てとらえ、そのデータの流れを各小プロセスに配付する
チケットによって制御することで最適な効率の排他制御
方式′1&:災現している。
制御を美男するのに、共有データを特定のメモリセルに
格納して管理するのではなく、複数のタスクからのデー
タの読み書きの要求1つ1つを、各々1つの小プロセス
としてとらえ、前記共有データを前記小プロセス間でそ
の入力及び出力として流れていくデータストリームとし
てとらえ、そのデータの流れを各小プロセスに配付する
チケットによって制御することで最適な効率の排他制御
方式′1&:災現している。
第2図は本発明の一実施例の排他制御方式における航空
券の予約センタの予約情報の管理を行なっている部分を
示す。
券の予約センタの予約情報の管理を行なっている部分を
示す。
第2図において1本笑施例における予約センタへのアク
セスの方式は、ある便の予約状況を知ることと1客席を
予約することの2通シあるとし。
セスの方式は、ある便の予約状況を知ることと1客席を
予約することの2通シあるとし。
前者をリード[READl、後者ライト(WR,ITE
n(nは座席数)]で表現することとする。例として、
ある便の総席数を100として、その便へのアクセス〃
1 10席予約 (→WRITE 10) 予約状況問いあわせ(→几EAI) )予約状況問いあ
わせ(→几EAD) 20席予約 (→WRITE20) 20席予約 (→WRITE20) 予約状況問いあわせ(→几HAD) の順に非同期に到着した場合を考える。
n(nは座席数)]で表現することとする。例として、
ある便の総席数を100として、その便へのアクセス〃
1 10席予約 (→WRITE 10) 予約状況問いあわせ(→几EAI) )予約状況問いあ
わせ(→几EAD) 20席予約 (→WRITE20) 20席予約 (→WRITE20) 予約状況問いあわせ(→几HAD) の順に非同期に到着した場合を考える。
予約センタのデータ処理装置は最初の問いあわせに対し
、1つの要求実行ユニッ)1−割シあて。
、1つの要求実行ユニッ)1−割シあて。
入力として総席数100と要求〔WRITE、10)と
チケット番号Oを渡す。要求実行ユニットは総席数を1
00−10の90 にして、チケット番号1f、持つ要
求実行ユニットに90というデータを渡し、要求を出し
九タスクに対しては、終了信号を送る。チケット番号は
最初の問いあわせは0゜次のRg A D 、几EAD
、W几ITEには1.その次のWRITE に21最後
の几EADに3が与えられる。
チケット番号Oを渡す。要求実行ユニットは総席数を1
00−10の90 にして、チケット番号1f、持つ要
求実行ユニットに90というデータを渡し、要求を出し
九タスクに対しては、終了信号を送る。チケット番号は
最初の問いあわせは0゜次のRg A D 、几EAD
、W几ITEには1.その次のWRITE に21最後
の几EADに3が与えられる。
チケット番号の意味は、同じ番号を持つ要求ないしはそ
の要求t−実行する要求実行ユニットは同時に処理され
ても矛盾が起らないことを意味する。
の要求t−実行する要求実行ユニットは同時に処理され
ても矛盾が起らないことを意味する。
チケット番号nf持り要求解釈ユニットはチケット番号
n−1を持つWRITE を実行する要求解釈ユニット
から総席数という入力を受けとるまでは実行を開始出来
ないので一連のチケット番号1゜2.3.・・・の順序
性は保たれる。
n−1を持つWRITE を実行する要求解釈ユニット
から総席数という入力を受けとるまでは実行を開始出来
ないので一連のチケット番号1゜2.3.・・・の順序
性は保たれる。
第2図ではチケット番号1t−持つ3つの要求解釈ユニ
ットは2つが几EADで1つがWRITEであるにもか
かわらず、同時に実行されても無矛盾である。つまシ共
有データを同時に読み書きしていることになる。チケッ
ト番号1を持つライト実行の要求実行ユニットは自分の
処理終了後9゜−20の70t−チケット番号2の要求
実行ユニットに対し送る。このとき送信側は70を受信
する要求実行ユニットが何台存在しているかはわかって
いない。チケット番号2の要求実行ユニットは70−2
0の50を次に送る。このように要求実行ユニット間の
データの送受は送夛手側が受け手が不特定多数であり、
誰であるかを認識していないのでブロードキャストとい
う形態をとることになる。
ットは2つが几EADで1つがWRITEであるにもか
かわらず、同時に実行されても無矛盾である。つまシ共
有データを同時に読み書きしていることになる。チケッ
ト番号1を持つライト実行の要求実行ユニットは自分の
処理終了後9゜−20の70t−チケット番号2の要求
実行ユニットに対し送る。このとき送信側は70を受信
する要求実行ユニットが何台存在しているかはわかって
いない。チケット番号2の要求実行ユニットは70−2
0の50を次に送る。このように要求実行ユニット間の
データの送受は送夛手側が受け手が不特定多数であり、
誰であるかを認識していないのでブロードキャストとい
う形態をとることになる。
次に本発明の一実施例における共有データの排他制御方
式の7a−チャートを説明する。この排他制御方式は大
別して、タスクからの要求を受けつけ要求実行ユニット
に要求分割シあてる唯一の要求受信部と実際に要求を実
行する。1要求に対して1つ割勺あてられる複数個の代
行部に2分出来る。前底要素である要求判定ユニット、
要求スケジュー2.チケットカウンタが要求受信部に相
当し、命令実行ユニットと情報レジスタと判定コ。
式の7a−チャートを説明する。この排他制御方式は大
別して、タスクからの要求を受けつけ要求実行ユニット
に要求分割シあてる唯一の要求受信部と実際に要求を実
行する。1要求に対して1つ割勺あてられる複数個の代
行部に2分出来る。前底要素である要求判定ユニット、
要求スケジュー2.チケットカウンタが要求受信部に相
当し、命令実行ユニットと情報レジスタと判定コ。
ニットが代行部に相当する。
第3図は要求受信部の実行の様子を示す70−チャート
を示し、第4図は代行部の実行70−チャ−1示す。第
3図および第4図において、要求受信部では要求解釈ユ
ニット1によって、複数のタスクからの要求をステップ
101で判断し。
を示し、第4図は代行部の実行70−チャ−1示す。第
3図および第4図において、要求受信部では要求解釈ユ
ニット1によって、複数のタスクからの要求をステップ
101で判断し。
書き込み要求のときのみ、チケットカウンタ3を1増加
する。要求解釈ユニッ)1は次に、要求の種類(REA
DかWRITE)とチケットカウンタ3の値を組とする
データを生成する。ステップ101の後、要求解釈ユニ
ット1のステップ102゜103の処理と並行して、要
求スケジェ−22は現在未使用の複数個の代行部中の任
意の1つを選択して複数ある代行部の1つを指す信号を
出力する。この信号によシ、該当する代行部は自分が選
択されたことを知る。命令解釈ユニット1はステップ1
04で生成したデータをステップ105で選択した代行
部に渡す。
する。要求解釈ユニッ)1は次に、要求の種類(REA
DかWRITE)とチケットカウンタ3の値を組とする
データを生成する。ステップ101の後、要求解釈ユニ
ット1のステップ102゜103の処理と並行して、要
求スケジェ−22は現在未使用の複数個の代行部中の任
意の1つを選択して複数ある代行部の1つを指す信号を
出力する。この信号によシ、該当する代行部は自分が選
択されたことを知る。命令解釈ユニット1はステップ1
04で生成したデータをステップ105で選択した代行
部に渡す。
第4図の代行部では次の4つのデータが到着するまで実
行は開始出来ない。
行は開始出来ない。
1、 要求スケジー−2からの指示信号2 要求解釈ユ
ニットからの要求の種類を示すデータ 3、 チケットカウンタから渡されるチケット化号 4.3.で割りあてられたチケット番号−1の代行者か
ら送られる情報レジスタの値 前記1. 2. 3. 4のデータがすべて到着すると
ステップ205で実行開始される。代行部はステップ2
06で要求の種類に応じて処理を行なう。
ニットからの要求の種類を示すデータ 3、 チケットカウンタから渡されるチケット化号 4.3.で割りあてられたチケット番号−1の代行者か
ら送られる情報レジスタの値 前記1. 2. 3. 4のデータがすべて到着すると
ステップ205で実行開始される。代行部はステップ2
06で要求の種類に応じて処理を行なう。
ステップ209及び210の処理は以下の理由の故に必
要である。
要である。
チケット番号nf持り代行部は自分に割りあてられt要
求を終了した後もチケット番号n−1t−持つ不特定多
数の代行部に情報レジスタのデータ金渡す為に存在して
いる必要がある。例えば要求のIli’1列が WRITE、1(、EAD、It、BAD、WRITE
、READ と続いた場合、最初のWRITEのチケット番号fnと
すると、このWRITE の要求を処理する代行部は続
く3要求の代行部に対して情報レジスタのデータを保証
しなくてはならない。
求を終了した後もチケット番号n−1t−持つ不特定多
数の代行部に情報レジスタのデータ金渡す為に存在して
いる必要がある。例えば要求のIli’1列が WRITE、1(、EAD、It、BAD、WRITE
、READ と続いた場合、最初のWRITEのチケット番号fnと
すると、このWRITE の要求を処理する代行部は続
く3要求の代行部に対して情報レジスタのデータを保証
しなくてはならない。
チケット番号n+1を持つWRITE 処理の代行部は
チケット番号nt−持つWRITE 処理の代行部の清
報レジスタの値が不要になったことをチケット番号nt
−持つWRI T E 処理の代行部に知らせる必要が
ある。
チケット番号nt−持つWRITE 処理の代行部の清
報レジスタの値が不要になったことをチケット番号nt
−持つWRI T E 処理の代行部に知らせる必要が
ある。
ステップ208では自分より1つチケット番号が小さい
代行部に送信する。ステップ210は自分より1つチケ
ット番号が大きい代行部からの受fば待ちである。
代行部に送信する。ステップ210は自分より1つチケ
ット番号が大きい代行部からの受fば待ちである。
ステップ211で前記代行部の処理が完全に終了したの
で前記代行部を実行した装置の解放を要求スケジューラ
に要求する。
で前記代行部を実行した装置の解放を要求スケジューラ
に要求する。
このように本実施例においてはタスク間で共有データを
並列的に制御することができる。
並列的に制御することができる。
(発明の効果)
本発明は以上説明したようにタスク間共有データの排他
制御方式を用いると、最大限の並列性を取少出し得るの
で、最大限の効率で共有情報の制御を行なえ、更にデー
タ処理装置を用いると前記排他制御方式を物理的に実現
することが可能とする効果がある。
制御方式を用いると、最大限の並列性を取少出し得るの
で、最大限の効率で共有情報の制御を行なえ、更にデー
タ処理装置を用いると前記排他制御方式を物理的に実現
することが可能とする効果がある。
第1図は生産者−消費者問題のアルゴリズム例を70−
チャートで示す図、第2図は本発明の実施例における共
有情報管理方式の概念的な説明の為の例を示す図%第3
図は本発明の一実施例における共有情報管理方式の受信
部のフローチャートを示す図、第4図は代行部の70−
チャー)f示す図、第5図は本発明の一実施例共有清報
管理方式を示す図である。 1・・・・・・要求解釈ユニット、2・・・・・・要求
スケジェ−2,3・・・・・・チケットカウンタ、4及
び40・・・・・・要求実行ユニット、5及び50・・
・・・・情報レジスタ。 6及び60・・・・・・判定ユニット、7・・・・・・
ゲート。 11、 12. 13. 14. 15. 16. 1
7゜1B、19. 20. 21. 22. 23・・
・・・・信号。 〜 斗彦看 適堂者 竿1圀 初」−11イ:]iL taθ 茅2刻 不3頂
チャートで示す図、第2図は本発明の実施例における共
有情報管理方式の概念的な説明の為の例を示す図%第3
図は本発明の一実施例における共有情報管理方式の受信
部のフローチャートを示す図、第4図は代行部の70−
チャー)f示す図、第5図は本発明の一実施例共有清報
管理方式を示す図である。 1・・・・・・要求解釈ユニット、2・・・・・・要求
スケジェ−2,3・・・・・・チケットカウンタ、4及
び40・・・・・・要求実行ユニット、5及び50・・
・・・・情報レジスタ。 6及び60・・・・・・判定ユニット、7・・・・・・
ゲート。 11、 12. 13. 14. 15. 16. 1
7゜1B、19. 20. 21. 22. 23・・
・・・・信号。 〜 斗彦看 適堂者 竿1圀 初」−11イ:]iL taθ 茅2刻 不3頂
Claims (1)
- 【特許請求の範囲】 複数のタスクによって共有されるデータへのアクセス要
求としてリードとライトt−許し、前記複数タスクから
の非同期かつ順不同の各要求を1つのプロセスとしてと
らえ、前記共有データを前記プロセス間で次々にその入
力及び出力として受け渡されていくデータストリームと
してとらえ、各プロセスの生成時に各プロセスの順序性
を制御するチケット番号を各プロセスに配付して前記デ
ータストリームの流れを制御するCとによシ、前記共有
データの一貫性を保つ排他制御方式であって。 複数タスクからのリードあるいはライトのアクセス要求
を一括して受ける要求解釈ユニットと、タスクからの要
求1つに対してその要求を実行すべく1つ割りあてられ
、要求の数に対して充分な数だけ存在する複数の要求実
行ユニットと、前記複数個の要求実行ユニット群のスケ
ジューリングを行なう要求スケジューラと、前記チケッ
ト番号を管理するチケットカウンタと、前記要求実行ユ
ニット間で送受するデータストリームを一時的にバッフ
ァリングする複数の情報レジスタと、要求果行ユニット
間でのデータストリームの送受はブロードキャストで行
なわれるが、自分あてのデータス!−ムのときのみ受信
する複数の判定ユニットと、ある要求に対して割りあて
られた要求実行ユニットの解放を指示する信号を受信す
るのに用いられるゲートとからなることを特徴とするタ
スク間共有データの排他制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5562784A JPS60200343A (ja) | 1984-03-23 | 1984-03-23 | タスク間共有デ−タの排他制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5562784A JPS60200343A (ja) | 1984-03-23 | 1984-03-23 | タスク間共有デ−タの排他制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS60200343A true JPS60200343A (ja) | 1985-10-09 |
Family
ID=13004018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5562784A Pending JPS60200343A (ja) | 1984-03-23 | 1984-03-23 | タスク間共有デ−タの排他制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS60200343A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0642385U (ja) * | 1990-12-26 | 1994-06-03 | デルタ工業株式会社 | 自動車用サスペンションシート |
-
1984
- 1984-03-23 JP JP5562784A patent/JPS60200343A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0642385U (ja) * | 1990-12-26 | 1994-06-03 | デルタ工業株式会社 | 自動車用サスペンションシート |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0502680B1 (en) | Synchronous multiprocessor efficiently utilizing processors having different performance characteristics | |
US5185868A (en) | Apparatus having hierarchically arranged decoders concurrently decoding instructions and shifting instructions not ready for execution to vacant decoders higher in the hierarchy | |
US5920714A (en) | System and method for distributed multiprocessor communications | |
US6868087B1 (en) | Request queue manager in transfer controller with hub and ports | |
KR0128274B1 (ko) | 인터페이스 시스템 및 그 동작 방법 | |
US5377341A (en) | Buffer storage control system | |
JPS61109164A (ja) | バス制御方法 | |
CN1570907B (zh) | 多处理器系统 | |
US6681270B1 (en) | Effective channel priority processing for transfer controller with hub and ports | |
JP2010501951A (ja) | 管理モジュール、生産者及び消費者プロセッサ、その構成、共有メモリを介したインタープロセッサ通信方法 | |
JPH06266615A (ja) | 順次データ転送型メモリ及び順次データ転送型メモリを用いたコンピュータシステム | |
CN116303169A (zh) | Dma控制装置和方法及芯片 | |
JPS60200343A (ja) | タスク間共有デ−タの排他制御方式 | |
JP4170330B2 (ja) | 情報処理装置 | |
JP3990569B2 (ja) | データメモリ制御装置 | |
JP3925105B2 (ja) | マルチプロセッサシステム | |
JP2007241922A (ja) | 共有資源利用のための調停方法及びその調停装置 | |
JP2718702B2 (ja) | メモリアクセス制御方法 | |
EP1115065A2 (en) | Effective channel priority processing for transfer controller with hub and ports | |
US6954468B1 (en) | Write allocation counter for transfer controller with hub and ports | |
JP3982077B2 (ja) | マルチプロセッサシステム | |
JPH08110894A (ja) | 並列計算機システム | |
CN116009966A (zh) | 一种实现异构多处理器运算分配的电路系统及方法 | |
JPH03241442A (ja) | ストアバッファ制御方式 | |
JPS5958552A (ja) | スロ−ダウン制御方式 |