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
Application number
JP5562784A
Other languages
English (en)
Inventor
Hideo Shimazu
秀雄 島津
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.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric 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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP5562784A priority Critical patent/JPS60200343A/ja
Publication of JPS60200343A publication Critical patent/JPS60200343A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (技術分野) 本発明はタスク間共有データの排他制御方式に関し、特
に共有データの同時読み出し及び矛盾が発生しない最大
限の共有データに対する読み出し及び書き込みの並列性
を可能にするタスク間共有データの排他制御方式に関す
る。
(従来技術) データベース管理に代表されるように複数のタスクによ
って共有される情報はその読み出し、書き込みに対して
注意深く同期をとることによってデータの一貫性を保た
れねばならない。
従来電子計算機の機械語としてはP−V命令。
l ock −un l ock命令といったものが用
意されて。
ある時刻にはその情報を読み出しまたは書き込みが出来
るタスクが唯一という制限を設けることによって、読み
出し、書き込みに関係なく、複数タスク間の共有情報の
管理を行なっていた。
しかしながらこの方式では本来複数タスク間で同時に読
み書きを行なうことが可能である状況においても、アク
セスの排他制御を行なって共有情報の読み書きの効率を
悪くしている場合があった。
たとえは、Cの方式は複数のタスクによって読み書きを
される一語長のデータの管理についてP−V命令を使っ
て具体的に説明すると、生産者−消費者(produc
er −consumer )問題として知られている
。そのアルゴリズムを第1図に示す。
P−V命令は、踏み切9のしゃ断機に相当し、同時に踏
み切りの中に入れるのは1タスクである。
P命令は踏み切シに入りりい要求を示すものであシ、■
命令は踏み切りの中から外に出る時に、踏み切シのしゃ
断俄を上げる要求を示すものである。一般的に P、排他制御の必要なデータの操作、■という順序で使
用する。P命令t−’M行した時に既に踏み切りの中に
別タスクが入っているならばその別タスクが踏み切りの
外へ出る。すなわちV命令を実行するまでP命令で待ち
状態になる。従来のデータ処理装置では複数のタスクの
データ読み出し及び瞥き込みと読み出しの同時処理は逐
次直列化されてPV命令を使って処理されてい友。すな
わち、効率を悪化させる要因の第1番目は読み出しに関
しては複数のタスクが同時に共有情報を読み出しても矛
盾が起らないにもかかわらず排他的にアクセスが制限さ
れることであり、第2番目は読み出しと瞥さ込みの要求
も矛盾が発生しない最大限に同時に処理を行なうことが
出来るにもかかわらずCれをおこ九りていることである
。すなわち、従来の方式では共有情報の読み書きは、最
適な性能をもって処理されていないという欠点があった
(発明の目的) 本発明の目的は従来の方式における欠点を除去すると共
に最大限の効率で共有情報の制御を行なえるように、前
記並列性を取シ出す為の共有データの排他制御方式を提
供することにある。
(発明の構成) 本発明によれば、複数のタスクによって共有されるデー
タへのアクセス要求としてリードと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と。
特定の要求実行ユニットからブロードキャストされた信
号を判別する為の要求実行ユニット4゜40と同数の判
定ユニッ)6.60と、ある特定の要求に対して割シあ
てられた要求実行ユニット4.400解放を指示する信
号を受信するために用いられる要求実行ユニット4.4
0と同数のグー)7.70を含む。
この実施例では代行部はバス結合によシ相互に結合され
ているが1代行部間士の結合方法にはバス結合という制
限はない。本方式を効率よく笑現するためには多数の代
行部が存在し1代行部の要求・解放の要求を効率よく笑
現し、任意の代行部から別の代行部へのデータ受は渡し
が容易である必要がある。
動作説明の為には代行部が最低2つ必要なのでこの実施
例では2つの代行部を図示し、各代行部の構成要素に、
4. 5. 6または40. 50゜60の番号を与え
ている。
要求解釈ユニット1は到着する要求がリードかライトか
全判断し、要求の種類を11に出力し。
同時に要求スケジー−ラ2に対して代行部全1つ割シあ
てるよう出力12t−送信し、要求の種類を出力13と
してすべての判定ユニットに送信する。
ここでは要求スクジェ−22が選択した代行部は。
命令火打ユニット4.情報レジスタ5と判定ユニット6
からなるとする。要求スケジニ−2は、°複数個の代行
部から1つを選択するために信号14を出力する。各代
行部は判定ユニットによ多信号41fi−受ける。ここ
で選択され次代打部の判定ユニット6は、チケットカク
ンタ3よシ送信された信号16のデータnと同じチケッ
ト番号よシ1小さい番号を持ちライト要求を処理する代
行部の情報レジスタ50の値を信号15として受信する
まで待つ。
信号13,14,15.16がすべてそろうと、判定ユ
ニット6は、その要求がライトのときのみ。
チケット番号n−11持って判定ユニット6からの装置
解放の許可信号を待つ装置の為に信号17をブロードキ
ャストする。その後、要求の種類には関係なく信号13
,14.15のデータをまとめて、信号22全通して命
令実行二ニット4に渡す。
命令実行ユニット4は要求がリードの時、信号15のデ
ータを出力18として返し、要求スケジューラ2に装置
解放要求19を出力する。
要求実行ユニット4は、要求がライトのとき。
信号15で受けとった1lft−書きかえた値と信号1
6で受けとったチケット番号nに1加えたデータの組を
情報レジスタ5に書き込み、ゲート7に要求の終了を出
力21で知らせる。ゲート7はチケット番号n+1t:
持ち請求t−実行する別の代行部の判定ユニットからの
出力17を待つ。
ゲート7は信号17及び22がそろ−うと要求スケジW
−−y2に対して装置解放要求23t−出力する。
このように本実流側の排他制御方式は、タスク間の排他
制御を美男するのに、共有データを特定のメモリセルに
格納して管理するのではなく、複数のタスクからのデー
タの読み書きの要求1つ1つを、各々1つの小プロセス
としてとらえ、前記共有データを前記小プロセス間でそ
の入力及び出力として流れていくデータストリームとし
てとらえ、そのデータの流れを各小プロセスに配付する
チケットによって制御することで最適な効率の排他制御
方式′1&:災現している。
第2図は本発明の一実施例の排他制御方式における航空
券の予約センタの予約情報の管理を行なっている部分を
示す。
第2図において1本笑施例における予約センタへのアク
セスの方式は、ある便の予約状況を知ることと1客席を
予約することの2通シあるとし。
前者をリード[READl、後者ライト(WR,ITE
n(nは座席数)]で表現することとする。例として、
ある便の総席数を100として、その便へのアクセス〃
1 10席予約 (→WRITE 10) 予約状況問いあわせ(→几EAI) )予約状況問いあ
わせ(→几EAD) 20席予約 (→WRITE20) 20席予約 (→WRITE20) 予約状況問いあわせ(→几HAD) の順に非同期に到着した場合を考える。
予約センタのデータ処理装置は最初の問いあわせに対し
、1つの要求実行ユニッ)1−割シあて。
入力として総席数100と要求〔WRITE、10)と
チケット番号Oを渡す。要求実行ユニットは総席数を1
00−10の90 にして、チケット番号1f、持つ要
求実行ユニットに90というデータを渡し、要求を出し
九タスクに対しては、終了信号を送る。チケット番号は
最初の問いあわせは0゜次のRg A D 、几EAD
、W几ITEには1.その次のWRITE に21最後
の几EADに3が与えられる。
チケット番号の意味は、同じ番号を持つ要求ないしはそ
の要求t−実行する要求実行ユニットは同時に処理され
ても矛盾が起らないことを意味する。
チケット番号nf持り要求解釈ユニットはチケット番号
n−1を持つWRITE を実行する要求解釈ユニット
から総席数という入力を受けとるまでは実行を開始出来
ないので一連のチケット番号1゜2.3.・・・の順序
性は保たれる。
第2図ではチケット番号1t−持つ3つの要求解釈ユニ
ットは2つが几EADで1つがWRITEであるにもか
かわらず、同時に実行されても無矛盾である。つまシ共
有データを同時に読み書きしていることになる。チケッ
ト番号1を持つライト実行の要求実行ユニットは自分の
処理終了後9゜−20の70t−チケット番号2の要求
実行ユニットに対し送る。このとき送信側は70を受信
する要求実行ユニットが何台存在しているかはわかって
いない。チケット番号2の要求実行ユニットは70−2
0の50を次に送る。このように要求実行ユニット間の
データの送受は送夛手側が受け手が不特定多数であり、
誰であるかを認識していないのでブロードキャストとい
う形態をとることになる。
次に本発明の一実施例における共有データの排他制御方
式の7a−チャートを説明する。この排他制御方式は大
別して、タスクからの要求を受けつけ要求実行ユニット
に要求分割シあてる唯一の要求受信部と実際に要求を実
行する。1要求に対して1つ割勺あてられる複数個の代
行部に2分出来る。前底要素である要求判定ユニット、
要求スケジュー2.チケットカウンタが要求受信部に相
当し、命令実行ユニットと情報レジスタと判定コ。
ニットが代行部に相当する。
第3図は要求受信部の実行の様子を示す70−チャート
を示し、第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で選択した代行
部に渡す。
第4図の代行部では次の4つのデータが到着するまで実
行は開始出来ない。
1、 要求スケジー−2からの指示信号2 要求解釈ユ
ニットからの要求の種類を示すデータ 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+1を持つWRITE 処理の代行部は
チケット番号nt−持つWRITE 処理の代行部の清
報レジスタの値が不要になったことをチケット番号nt
−持つWRI T E 処理の代行部に知らせる必要が
ある。
ステップ208では自分より1つチケット番号が小さい
代行部に送信する。ステップ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頂

Claims (1)

  1. 【特許請求の範囲】 複数のタスクによって共有されるデータへのアクセス要
    求としてリードとライトt−許し、前記複数タスクから
    の非同期かつ順不同の各要求を1つのプロセスとしてと
    らえ、前記共有データを前記プロセス間で次々にその入
    力及び出力として受け渡されていくデータストリームと
    してとらえ、各プロセスの生成時に各プロセスの順序性
    を制御するチケット番号を各プロセスに配付して前記デ
    ータストリームの流れを制御するCとによシ、前記共有
    データの一貫性を保つ排他制御方式であって。 複数タスクからのリードあるいはライトのアクセス要求
    を一括して受ける要求解釈ユニットと、タスクからの要
    求1つに対してその要求を実行すべく1つ割りあてられ
    、要求の数に対して充分な数だけ存在する複数の要求実
    行ユニットと、前記複数個の要求実行ユニット群のスケ
    ジューリングを行なう要求スケジューラと、前記チケッ
    ト番号を管理するチケットカウンタと、前記要求実行ユ
    ニット間で送受するデータストリームを一時的にバッフ
    ァリングする複数の情報レジスタと、要求果行ユニット
    間でのデータストリームの送受はブロードキャストで行
    なわれるが、自分あてのデータス!−ムのときのみ受信
    する複数の判定ユニットと、ある要求に対して割りあて
    られた要求実行ユニットの解放を指示する信号を受信す
    るのに用いられるゲートとからなることを特徴とするタ
    スク間共有データの排他制御方式。
JP5562784A 1984-03-23 1984-03-23 タスク間共有デ−タの排他制御方式 Pending JPS60200343A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0642385U (ja) * 1990-12-26 1994-06-03 デルタ工業株式会社 自動車用サスペンションシート

Cited By (1)

* Cited by examiner, † Cited by third party
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) スロ−ダウン制御方式