JPH06149753A - セマフォ制御方法 - Google Patents

セマフォ制御方法

Info

Publication number
JPH06149753A
JPH06149753A JP4315995A JP31599592A JPH06149753A JP H06149753 A JPH06149753 A JP H06149753A JP 4315995 A JP4315995 A JP 4315995A JP 31599592 A JP31599592 A JP 31599592A JP H06149753 A JPH06149753 A JP H06149753A
Authority
JP
Japan
Prior art keywords
semaphore
message
information
processor
released
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
JP4315995A
Other languages
English (en)
Inventor
Takashi Hatada
貴史 畑田
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 JP4315995A priority Critical patent/JPH06149753A/ja
Publication of JPH06149753A publication Critical patent/JPH06149753A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 共有メモリを利用したプロセッサ間通信のメ
ッセージデータエリアの排他制御を可能にする。 【構成】 セマフォを獲得したプロセッサを特定すると
ともに、セマフォを解放するプロセッサを特定するセマ
フォ情報のテーブルを各セマフォ71〜7nに設けた。
このセマフォ情報に従ってメッセージが解放され、この
セマフォ情報はメッセージが特定のプロセッサに解放さ
れるまで保持される。これにより、例えばプロセッサ1
1はセマフォ情報に従ってメッセージをプロセッサ12
へ送信する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、複数のプロセッサあ
るいはタスクが共有データを用いてメッセージ通信を行
うような計算機システムでのセマフォ制御方法に関する
ものである。
【0002】
【従来の技術】図9は、例えば特開昭62−20044
9号公報に示されるような従来のセマフォ制御方法を説
明するための図である。データの更新に際して該当する
共有データに対応するセマフォメモリの内容(a)をプ
ロセッサが読みだして、これを(b)→(c)に示すよ
うに変更する。すなわち、ビットD7を”1”とし、ビ
ットD0〜D6(図中斜線を施した部分)にプロセッサ
またはタスクを識別するような値を書き入れる。そして
これを(d)に示すようにセマフォメモリに書き込む。
【0003】次に従来のセマフォ制御方法の動作につい
て説明する。図10は複数のプロセッサが共有データを
有する計算機システムのセマフォ制御についての制御の
流れの例を説明するための図で、11〜1nはそれぞれ
プロセッサを、2はメモリ、31〜3nはセマフォ、4
1〜4nは共有データ、5はメモリバスを表しており、
A〜Eはそれぞれ以下の説明に対応する制御の流れを示
している。図10において、プロセッサ12がある共有
データを更新しようとするときは、制御の流れAではプ
ロセッサ12がセマフォの値を調べるためにセマフォを
読みだして来る。(図中読みだしたセマフォの内容を8
で示す部分として表示している。)制御の流れBでは該
プロセッサ12はセマフォの値が”0”であるセマフォ
の値を”1”に更新し、セマフォにプロセッサ12に対
応するプロセッサ番号を付加してセマフォメモリに書き
込む。(図中書き込むセマフォの内容を9で示す部分と
して表示している。)制御の流れCではプロセッサ12
は危険領域の命令を実行する。即ち、共有データの更新
を行う。制御の流れDではプロセッサ12の障害が発生
すると、プロセッサ12は他の正常なプロセッサに割込
をかける。制御の流れEでは割込を受け付けたプロセッ
サは障害を発生しているプロセッサが獲得しているセマ
フォを検索することにより、障害を発生しているプロセ
ッサを判別できる。
【0004】
【発明が解決しようとする課題】従来のセマフォ制御方
法は以上のように行われていたので、セマフォを獲得す
るプロセッサとセマフォ解放するプロセッサが異なるよ
うに指定できないために、プロセッサ間通信のメッセー
ジのデータエリアの排他制御に用いることが出来ないな
どの問題点があった。
【0005】この発明は上記のような問題点を解消する
ためになされたもので、セマフォを各処理部の共有メモ
リを利用した処理部間の通信のメッセージデータエリア
の排他制御を可能にするセマフォ制御方法を提供するこ
とを目的とする。
【0006】
【課題を解決するための手段】請求項1の発明に係るセ
マフォ制御方法は、セマフォを獲得した処理部を特定
し、かつセマフォを解放する処理部を特定するセマフォ
情報のテーブル7Aを各セマフォ71〜7nに設け、こ
のセマフォ情報7に従ってメッセージが解放されるよう
にし、このセマフォ情報7をメッセージが特定の処理部
に解放されるまで保持するようにしたものである。
【0007】請求項2の発明に係るセマフォ制御方法
は、セマフォを獲得した処理部を特定し、かつセマフォ
を解放する処理部を複数個特定するセマフォ情報700
のテーブルを各セマフォに設け、このセマフォ情報70
0に従って複数のメッセージが一度に解放されるように
し、このセマフォ情報700をメッセージが特定の処理
部に解放されるまで保持するようにしたものである。
【0008】請求項3の発明に係るセマフォ制御方法
は、セマフォを獲得した処理部を特定し、かつセマフォ
を解放する処理部を特定するセマフォ情報のテーブルを
各セマフォ71〜7nに設け、このセマフォ情報に優先
度情報711〜71nを付加し、この優先度情報が付加
されたセマフォ情報に従ってメッセージが解放されるよ
うにし、このセマフォ情報を上記メッセージが特定の処
理部に解放されるまで保持するようにしたものである。
【0009】
【作用】請求項1の発明においては、テーブル7Aによ
って、セマフォの獲得した処理部が特定され、かつセマ
フォの解放する処理部が特定される。両処理部間のメッ
セージは上記セマフォ情報に従って解放され、このセマ
フォ情報はメッセージが特定の処理部に解放されるまで
保持される。したがって、特定された両処理部間でメッ
セージの通信が可能となる。
【0010】請求項2の発明においては、テーブルのセ
マフォ情報700によって、セマフォの獲得した処理部
が特定され、かつセマフォの解放する処理部が複数個特
定される。複数個の特定された処理部間のメッセージは
上記セマフォ情報に従って一度に解放され、このセマフ
ォ情報はメッセージが特定の処理部に解放されるまで保
持される。したがって、特定された複数個の処理部間で
メッセージの通信が可能となる。
【0011】請求項3の発明においては、テーブルによ
って、セマフォの獲得した処理部が特定され、かつセマ
フォの解放する処理部が特定される。このセマフォ情報
には優先度情報711〜71nが付加され、両処理部間
のメッセージは優先度情報の順に解放され、このセマフ
ォ情報はメッセージが特定の処理部に解放されるまで保
持される。したがって、特定された両処理部間で優先順
にメッセージの通信が可能となる。
【0012】
【実施例】
実施例1.(請求項1対応) 図1はこの発明の実施例によるセマフォ制御方法を用い
た計算機システムの構成を示すブロック図である。図1
において、11〜18はデータを処理する処理部として
のプロセッサ、2はプロセッサ11〜18が共有できる
共有メモリ、5はプロセッサ11〜18と共有メモリ2
を接続しているメモリバスである。共有メモリ2は、プ
ロセッサ11〜18が通信するためのメッセージデータ
エリア61〜6nと、これらのメッセージデータエリア
61〜6nを排他制御するためのセマフォ71〜7nと
を有している。
【0013】図2はセマフォ情報のデーブルと、このテ
ーブルを制御する制御手段とを示すブロック図である。
図2において、7Aはセマフォが持つビット情報(セマ
フォ情報7)を格納するテーブル、7Bはセマフォ情報
7に従って例えば特定のプロセッサ12(図1参照)、
即ち自プロセッサにメッセージデータエリア61(図1
参照)内のメッセージを解放する(受信する)ととも
に、解放後にセマフォ情報7をクリヤする制御を行う制
御手段である。なお、この制御手段7Bはプロセッサ1
1〜18内にそれぞれ備えられている。また、この制御
手段7Bは、セマフォを獲得したプロセッサ(メッセー
ジを送信するプロセッサ)の番号に対応してテーブル7
Aにセマフォを解放するプロセッサ(メッセージを受信
するプロセッサ)の番号を書込む機能がある。
【0014】図2のセマフォ情報7において、縦軸がセ
マフォを獲得したプロセッサの番号、横軸はセマフォを
解放すべきプロセッサの番号を示し、「1」が立ったビ
ットがセマフォの有効状態を示す。
【0015】次に動作について図3、図4に示すフロー
チャートに基づいて説明する。本実施例では、図1にお
いて、プロセッサ11からプロセッサ12へメッセージ
を送信する場合を考える。従って、図3がメッセージを
送信するプロセッサすなわちプロセッサ11のフローチ
ャート、図4がメッセージを受信するプロセッサすなわ
ちプロセッサ12のフローチャートである。まずメッセ
ージを送信するプロセッサ11がメッセージを送るため
にメッセージデータエリア61を排他制御しているセマ
フォ71の獲得待ちにはいる(ステップ101)。そし
てセマフォ71を獲得できなければ、ステップ101に
戻り、獲得できれば次のステップに進む(ステップ10
2)。つぎに、メッセージデータエリア61にメッセー
ジデータを書き込む(ステップ103)。そして、セマ
フォ71のビット情報のテーブルを図2に示すようにビ
ット情報のテーブル7Aのようにセマフォ71を獲得し
たプロセッサ11とセマフォ71を解放するプロセッサ
12が交差するビットを1とする。これによりプロセッ
サ12以外のプロセッサはメッセージエリア61をアク
セス出来なくなる(ステップ104)。
【0016】つぎに、受信側のプロセッサ12を図4の
フローチャートに基づいて説明する。まず、制御手段7
Bは、セマフォ71にあるセマフォ情報7について自プ
ロセッサの番号に対応するビットをチェックし(ステッ
プ201)、ビットが立っていなければ、ステップ20
1に戻り、そうでなければつぎのステップに進む(ステ
ップ202)。立っているビットの位置でメッセージを
送信したプロセッサ11を認識し、メッセージをプロセ
ッサ12が管理するローカルメモリにコピーするなど受
信メッセージの処理を行う(ステップ203)。そして
セマフォ情報7のビットをクリアにすることにより、セ
マフォ71を解放する(ステップ204)。即ち、セマ
フォ71は受信メッセージが特定のプロセッサに解放
(受信)されるまで保持される。
【0017】この実施例1におけるセマフォ制御方法
は、共有メモリによるプロセッサ間通信において、送信
プロセッサがセマフォを獲得しメッセージエリアにメッ
セージを書き込んだ後、受信プロセッサがそのメッセー
ジの受信処理を終了し、そのセマフォを解放するまで、
受信プロセッサ以外のプロセッサはそのセマフォを獲得
できない。すなわち、メッセージを共有メモリから受信
プロセッサが管理するローカルメモリへのコピーするな
どの受信処理を行うまで、そのメッセージエリアのデー
タは他のプロセッサから保護される。
【0018】実施例2.(請求項2対応) この実施例2では、セマフォを獲得したプロセッサを特
定し、かつセマフォを解放するプロセッサを複数個特定
するセマフォ情報のテーブルを各セマフォに設け、この
セマフォ情報に従って複数のメッセージが一度に解放さ
れるようにし、このセマフォ情報をメッセージが特定の
プロセッサに解放されるまで保持するようにしたもので
ある。即ち、図5に示すようにセマフォ情報700に複
数のビットを立てることにより、複数のプロセッサがメ
ッセージを受信するまでメッセージエリアを保護でき
る。図5では、プロセッサ11からのメッセージをプロ
セッサ12、プロセッサ13、プロセッサ14が受信す
る場合のセマフォ情報700を示している。したがっ
て、実施例1では一つのプロセッサがメッセージを受信
するが、この実施例2では複数個のプロセッサがメッセ
ージを一度に受信することができる。
【0019】実施例3.(請求項3対応) 上記実施例1,2では優先度の定義されていないセマフ
ォの制御方式を説明したが、実施例3として図6に示す
ように、セマフォ71〜7nに優先度情報711〜71
nをそれぞれつけることにより、メッセージに優先度を
持たせることが出来る。メッセージエリア61〜6nに
情報をそれぞれ書き込むプロセッサ(メッセージ送信プ
ロセッサ)がメッセージの優先度情報を書く。一方、メ
ッセージを読むプロセッサ(メッセージ受信プロセッ
サ)は受信するメッセージが複数ある場合に、優先度情
報を見て、優先度の高いメッセージから受信処理を行
う。優先度情報の具体例としては、0〜3の2ビット値
が考えられる。0が最も高く、3が最も低い、4段階の
優先度を持つことになる。
【0020】なお、優先度情報をつける方法としては、
図7に示すようにプロセッサ番号の特定スペースMに隣
接して2ビットの優先度特定欄Nを設け、この優先度特
定欄Nより優先度情報711〜71nを構成してもよ
い。これにより制御手段7B(図2参照)は、特定スペ
ースM内のプロセッサ番号を先に読込み、次いで優先度
特定欄N内の優先度情報を読込み、この読込んだ優先度
の順序で処理を実行する。
【0021】実施例4.(請求項1,2,3対応) なお、上記実施例1,2,3では処理部としてプロセッ
サの場合を説明したが、図8に示すようにプロセッサを
タスク111〜118に置き換えても、上記と同様の効
果を奏する。
【0022】実施例5.(請求項1,2,3対応) なお、上記実施例1,2,3ではプロセッサが8個の場
合を説明したが、これに限らず、任意数のプロセッサで
あっても、上記と同様の効果を奏する。
【0023】
【発明の効果】以上のように請求項1の発明によれば、
セマフォを獲得した処理部を特定し、かつセマフォを解
放する処理部を特定するセマフォ情報のテーブルを各セ
マフォに設け、このセマフォ情報に従ってメッセージが
解放されるようにし、このセマフォ情報をメッセージが
特定の処理部に解放されるまで保持するようにしたの
で、セマフォを獲得した処理部とセマフォを解放すべき
処理部の情報をセマフォに持たせることができ、これに
より、各処理部の共有メモリを利用した処理部間の通信
のメッセージデータエリアの排他制御を行うことがで
き、また、送信側の処理部が受信動作の確認を簡単に行
えるという効果が得られる。
【0024】請求項2の発明によれば、セマフォを獲得
した処理部を特定し、かつセマフォを解放する処理部を
複数個特定するセマフォ情報のテーブルを各セマフォに
設け、このセマフォ情報に従って複数のメッセージが一
度に解放されるようにし、このセマフォ情報をメッセー
ジが特定の処理部に解放されるまで保持するようにした
ので、上記と同様の効果が得られるとともに、複数個の
プロセッサがメッセージを一度に受信でき、通信効率が
高まるという効果が得られる。
【0025】請求項3の発明によれば、セマフォを獲得
した処理部を特定し、かつセマフォを解放する処理部を
特定するセマフォ情報のテーブルを各セマフォに設け、
このセマフォ情報に優先度情報を付加し、この優先度情
報が付加されたセマフォ情報に従ってメッセージが解放
されるようにし、このセマフォ情報をメッセージが特定
の処理部に解放されるまで保持するようにしたので、上
記の効果以外に、優先度の高いメッセージから受信で
き、通信効率が高まるという効果が得られる。
【図面の簡単な説明】
【図1】この発明の実施例1による計算機システムのブ
ロック図である。
【図2】この実施例1におけるセマフォ情報のテーブル
と制御手段を示す図である。
【図3】この実施例1における送信側プロセッサの動作
を示すフローチャートである。
【図4】この実施例1における受信側プロセッサの動作
を示すフローチャートである。
【図5】この発明の実施例2におけるセマフォ情報を示
す図である。
【図6】この発明の実施例3による計算機システムのブ
ロック図である。
【図7】この実施例3において優先度情報をつける方法
を説明するための図である。
【図8】この発明の実施例4による計算機システムのブ
ロック図である。
【図9】従来のセマフォによる制御を説明するための図
である。
【図10】従来の計算機システムにおいてセマフォによ
る制御の流れを説明するためのブロック図である。
【符号の説明】
2 共有メモリ 11〜18 プロセッサ(処理部) 61〜6n メッセージデータエリア 71〜7n セマフォ 7 セマフォ情報 7A テーブル 700 セマフォ情報 711〜71n 優先度情報 111〜118 タスク(処理部)

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 それぞれセマフォを有する複数のメッセ
    ージデータエリアから成る共有メモリを、プロセッサ又
    はタスクより成る複数の処理部で共有してメッセージの
    通信を行う計算機システムにおいて、セマフォを獲得し
    た処理部を特定し、かつセマフォを解放する処理部を特
    定するセマフォ情報のテーブルを各セマフォに設け、上
    記セマフォ情報に従ってメッセージが解放されるように
    し、このセマフォ情報を上記メッセージが特定の処理部
    に解放されるまで保持するようにしたことを特徴とする
    セマフォ制御方法。
  2. 【請求項2】 それぞれセマフォを有する複数のメッセ
    ージデータエリアから成る共有メモリを、プロセッサ又
    はタスクより成る複数の処理部で共有してメッセージの
    通信を行う計算機システムにおいて、セマフォを獲得し
    た処理部を特定し、かつセマフォを解放する処理部を複
    数個特定するセマフォ情報のテーブルを各セマフォに設
    け、上記セマフォ情報に従って複数のメッセージが一度
    に解放されるようにし、このセマフォ情報を上記メッセ
    ージが特定の処理部に解放されるまで保持するようにし
    たことを特徴とするセマフォ制御方法。
  3. 【請求項3】 それぞれセマフォを有する複数のメッセ
    ージデータエリアから成る共有メモリを、プロセッサ又
    はタスクより成る複数の処理部で共有してメッセージの
    通信を行う計算機システムにおいて、セマフォを獲得し
    た処理部を特定し、かつセマフォを解放する処理部を複
    数個特定するセマフォ情報のテーブルを各セマフォに設
    け、上記セマフォ情報に優先度情報を付加し、この優先
    度情報の順番で上記セマフォに従ってメッセージが解放
    されるようにし、このセマフォ情報を上記メッセージが
    特定の処理部に解放されるまで保持するようにしたこと
    を特徴とするセマフォ制御方法。
JP4315995A 1992-10-30 1992-10-30 セマフォ制御方法 Pending JPH06149753A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4315995A JPH06149753A (ja) 1992-10-30 1992-10-30 セマフォ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4315995A JPH06149753A (ja) 1992-10-30 1992-10-30 セマフォ制御方法

Publications (1)

Publication Number Publication Date
JPH06149753A true JPH06149753A (ja) 1994-05-31

Family

ID=18072070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4315995A Pending JPH06149753A (ja) 1992-10-30 1992-10-30 セマフォ制御方法

Country Status (1)

Country Link
JP (1) JPH06149753A (ja)

Similar Documents

Publication Publication Date Title
EP0194462B1 (en) System bus means for inter-processor communication
EP0368655B1 (en) Communication system using a common memory
US4417303A (en) Multi-processor data communication bus structure
KR20180071967A (ko) 데이터 처리
US5754781A (en) Data transfer controller device for controlling data transferred by and among separate clusters
JPH06119297A (ja) データ処理システムにおける命令の実行順序を決定する方法および装置
JPH06149753A (ja) セマフォ制御方法
JPH05233560A (ja) 多重プロセッサ回路用プロセッサ間連絡システムおよびその方法
JPH0142011B2 (ja)
JPH01501660A (ja) コンピユータ間通信制御装置及びその方法
JPH0668040A (ja) プロセッサ間通信用キュー制御方式
JP2539436B2 (ja) プロセツサ間通信方式
JPH02213976A (ja) 多重処理コンピユータ及びプロセツサ間通信方法
JP2705955B2 (ja) 並列情報処理装置
KR960007835B1 (ko) 다중 프로세서의 공통 메모리 억세스 장치
JP2853607B2 (ja) ジョブ間通信システム
JP2001273191A (ja) コンピュータシステム
JPH08340348A (ja) 情報処理システム
JPH04330541A (ja) 共通データ転送システム
JPH01261766A (ja) データ通信方式
JPH0334051A (ja) インターフエース制御方式
JPH04188350A (ja) メモリ回路および分散処理システム
JPH0358162A (ja) プロセッサ間通信方式
JPH03204755A (ja) データ転送装置
JPH01261767A (ja) データ通信方式

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 9

Free format text: PAYMENT UNTIL: 20101109

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 9

Free format text: PAYMENT UNTIL: 20101109

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121109

Year of fee payment: 11

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 11

Free format text: PAYMENT UNTIL: 20121109

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141109

Year of fee payment: 13

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350