JPH02108149A - マルチプロセッサの排他制御機構 - Google Patents

マルチプロセッサの排他制御機構

Info

Publication number
JPH02108149A
JPH02108149A JP26039788A JP26039788A JPH02108149A JP H02108149 A JPH02108149 A JP H02108149A JP 26039788 A JP26039788 A JP 26039788A JP 26039788 A JP26039788 A JP 26039788A JP H02108149 A JPH02108149 A JP H02108149A
Authority
JP
Japan
Prior art keywords
resource
processor
blocks
contents
count
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
JP26039788A
Other languages
English (en)
Inventor
Shinobu Hasebe
忍 長谷部
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP26039788A priority Critical patent/JPH02108149A/ja
Publication of JPH02108149A publication Critical patent/JPH02108149A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、複数のプロセッサで資源を共有するマルチプ
ロセッサの排他制御機構に関する。
(従来の技術) 計算機のシステムの一つとして、処理能力を向上させる
と同時に、資源(記憶装置や入出力装置等)の効率的な
利用を達成するため、複数のプロセッサを用いて並行処
理を行なう、マルチプロセッサの計算機システムを挙げ
ることができる。
マルチプロセッサの計算機システムは、1つのプロセッ
サで処理を実行する場合よりも、処理能力を向上させ得
るとともに、資源を共有して効率的に利用できるといっ
た利点がある。
この種のマルチプロセッサの計算機システムでは、複数
のプロセッサによる資源の利用要求の競合調整が必要と
なる。このため、複数のプロセッサが特定の記憶装置(
共有記憶装置)を共有し、個々のプロセッサは、資源を
利用しようとするとき、共有記憶装置を参照して資源の
利用が可能か否かを判断する。
共有記憶装置の内容が、資源の利用可を表示するもので
あれば、プロセッサは、資源を利用することができる。
共有記憶装置の内容が、資源の利用不可を表示するもの
であれば、その資源は既に他のプロセッサが利用してい
ると判断し、他のプロセッサの処理が終了して資源が開
放されるのを待つ。
このように、複数のプロセッサと、共有記憶装置と、資
源とから構成され、さらに複数のプロセッサが、同時に
同一資源を利用できない制御が行なわれるマルチプロセ
ッサの制御システムを、マルチプロセッサの排他制御機
構と呼んでい葛。
第2図に、従来の第1のマルチプロセッサの排他制御機
構のブロック図を示す。
図は、2つのプロセッサにより3つの資源を共有する機
構を示すものである。
図において、第1のプロセッサ1と第2のプロセッサ2
と共有記憶装置3とが、外部アクセスバス4を介して接
続されている。外部アクセスバス4には、ハードディス
ク、フロッピーディスクドライブ、プリンタ等から構成
される第1の資源5、第2の資源6、第3の資源7が接
続されている。
共有記憶装置3.は、ランダム・アクセス・メモリ(R
AM)等の書換え可能な記憶装置から構成され、第1の
指定部301、第2の指定部302、第3の指定部30
3が設けられている。各指定部は、それぞれ第1の資源
5、第2の資源6、第3の資源7が利用可能であるか否
かを示す領域である。
以上の構成の機構において、プロセッサが資源の利用を
行なおうとする場合、各プロセッサは、TAS命令(テ
ストアンドセット命令)を実行する。このTAS命令は
、資源が利用可能な状態にあるか否かを判断する場合に
実行する命令である。
ここで、TAS命令の動作を第3図を用いて説明する。
第3図は、従来のTAS命令の動作を示すフローチャー
トである。
ここでは、第2図に示した第1のプロセッサ1が第1の
資源の利用が可能か否かを判断するものとする。
まず、プロセッサ1は、第1の指定部301の内容を読
取り、プロセッサ1に設けられた図示しないレジスタA
に格納しくステップS1)、ステップS2に移る。ステ
ップS2では、レジスタAの内容が“0”か否かを判断
する。この結果YESの場合には、第1の指定部301
に°゛1”を書込み(ステップS3)、第1の資源5の
利用許可の処理がなされ(ステップS4) 、TAS命
令の実行を終了する。ステップS2においてNoの場合
には、ステップS3.S4をパスして、第1の資源5の
利用拒否の処理がなされ(ステップS5)、TAS命令
の実行を終了する。
第1のプロセッサ1は、第1の資源5の利用が許可され
た場合、第1の資源5を占有することになる。また、利
用拒否の処理がなされた場合、他のプロセッサが既に利
用しているものと判断して、適当なタイミングでTAS
命令の実行を繰返して第1の資源5が開放されるのを待
つ。
プロセッサ1は、第1の資源5の利用が終了した場合に
は、第1の指定部301に“O”を格納して第1の資源
5の開放を行なう。
第1のプロセッサ1が第1の資源5を利用している最中
に、第2のプロセッサ2が第1の資源を利用するためT
AS命令を実行した場合、第1の指定部301の内容が
“1”であるため、第2のプロセッサ2による第1の資
源5の利用拒否の処理がなされる。以後、第2のプロセ
ッサ2は、第1の資源5が開放されるまでTAS命令の
実行を繰返す。
(発明が解決しようとする課題) 次に、1つの資源が複数の要素から構成されているよう
な場合(1つの資源が複数の要素に区分されている場合
)について説明する。即ちフロッピーディスクドライブ
(資源)を例に取ると、フロッピーディスクドライブが
複数のドライブ装置(要素)から構成されているような
場合について説明する。
第4図は、従来の第2のマルチプロセッサの排他制御機
構のブロック図である。
第4図に示した機構は、第2図に示した機構の、第1の
資源5及び第2の資源6の構成を相違させたものである
第4図に示した第1の資源5は、第1のブロック501
  第2のブロック502、第3のブロック503から
構成されている。これをフロッピーディスクドライブに
例えた場合、3つのドライブ装置から構成されているこ
とになる。また第2の資源6は、第1のブロック601
5第2のブロック602とから構成されている。これを
ハードディスクに例えると、1つのハードディスクの領
域が2つに区分されていることになる。
以上の構成において、第3図において説明したようなT
AS命令を実行した場合について説明する。
例えば、TAS命令を実行しプロセッサ1が第1の資源
5の第1のブロック501を利用しているとする。
ここで、第1のプロセッサ1に、第1のブロック501
の他に第2のブロック502を利用する必要が生じたと
する。この場合、第1のプロセッサ1は、第1の資源5
の第2のブロック502を利用するため、TAS命令を
実行することになる。この場合、共有記憶装置3の第1
の指定部301の内容が既に°゛1”を示しているため
、第3図において説明したように、利用拒否の処理がな
され、TAS命令を終了する。以後、第1のプロセッサ
1は、第2のブロック502の利用許可の処理がなされ
るまで、繰返しTAS命令を実行することになる。しか
し、第1のプロセッサ1自体が、第1の指定部301の
内容を“1゛°に設定しているため、繰返しTAS命令
を実行しても第2のブロック502の利用許可の処理は
行なわれない。このため、プロセッサ1は、TAS命令
を実行し続けるデッドロック状態(無限ループの実行)
に陥る。
このデッドロック状態に陥ると、データの破壊等の予期
せぬ事態が発生しやすくなり、機構は人手によるリセッ
ト等を行なわなければ正常な状態に戻らなくなる。さら
に、いずれかのプロセッサが資源の利用中に故障してし
まい、資源の開放がなされない場合、他のプロセッサは
、その資源を利用することができなくなる。この場合に
は、速やかに故障したプロセッサを発見し処置をしなけ
ればならないが、故障したプロセッサを発見するには複
雑な手続きが必要で、非常に手間のかかる作業を強いら
れていた。
本発明は以上の点に着目してなされたもので、プロセッ
サがデッドロック状態に陥ることなく円滑に複数のブロ
ックから構成される資源を利用することができ、さらに
プロセッサが資源の利用中に故障したような場合にも、
容易に故障したプロセッサを特定できるマルチプロセッ
サの排他制御機構を提供することを目的とするものであ
る。
(課題を解決するための手段) 本発明のマルチプロセッサの排他制御機構は、複数のプ
ロセッサと、前記各プロセッサに共有される資源と、前
記資源の利用状態を示す共有記憶装置とからなり、前記
資源は、区分して利用される複数のブロックからなり、
前記共有記憶装置には、前記いずれのプロセッサが前記
資源を使用しているかを表示する状態表示部と、前記複
数のブロックの利用ブロック数を表示するカウント部と
が設けられているものである。
(作用) 以上の機構は、まずプロセッサが新たに資源を利用しよ
うとする場合、既に他のプロセッサが利用しているか判
断するため、当該資源に対応する状態表示部の内容を調
べる。この結果、利用可能であれば、当該プロセッサを
特定する固有情報を状態表示部に格納し、さらにカウン
ト部の内容を1増やす。状態表示部に格納される固有情
報は、複数のプロセッサの内、1つを特定するための、
例えばプロセッサ番号等である。カウント部は、資源が
全く利用されていない場合には“0”に設定されている
。また、プロセッサに利用される資源のブロック数が増
加する毎にlづつ値が増加し、利用するブロック数が減
少する毎に1づつ減少する。即ちこのカウント部には、
プロセッサが利用する資源のブロック数が格納されるこ
とになる。同一のプロセッサが同一資源の他のブロック
利用したい場合に、このプロセッサは、状態表示部の内
容を調べ、自己のプロセッサを示す固有情報が格納され
ているか否かを判断する。この結果、自己のプロセッサ
を示していたら、カウント部の内容を1増やし、他のブ
ロックを利用する。
故に、プロセッサは、既に利用中の資源の他のブロック
を容易に利用することができる。
(実施例) 第1図は、本発明のマルチプロセッサの排他制御機構の
ブロックである。
図において、第1のプロセッサ11、第2のプロセッサ
12及び共有記憶装置13は、外部アクセスバス4を介
して接続されている。外部アクセスバス4には、第1の
資源5、第2の資源6及び第3の資源7が接続されてい
る。
第1のプロセッサ11には、アクセス判断手段111と
、自己判断手段112と、カウント制御手段113と、
リセット手段114とが設けられている。
同様に第2のプロセッサ12にも各手段が設けられてい
る。共有記憶装置13には、第1の状態表示部131と
第1のカウント部132、第2の状態表示部133及び
第2のカウント部134、さらに第3の状態表示部13
5及び第3のカウント部136が設けられている。第1
の資源5及び第2の資源6さらに第3の資源7の構成は
第4図に示した従来例と同様で、第1の資源5は、3つ
のブロックから構成され、第2の資源6は、2つのブロ
ックから構成されている。また、第1の資源5をフロッ
ピーディスクドライブに例えると、3つのドライブ装置
から構成されていることになる。同様に第2の資源6を
ハードディスクに例えると、1つのハードディスクの領
域が2つに区分されていることになる。
第1の状態表示部131と第1のカウント部132は、
第1の資源5の利用状態を示す領域である。
同様に第2の状態表示部133と第2のカウント部13
4は、第2の資源6、第3の状態表示部135と第3の
カウント部136は、第3の資源7の利用状態を示す領
域である。第1の状態表示部131、第2の状態表示部
133、第3の状態表示部135及び第1のカウント部
132、第2のカウント部134、第3のカウント部1
36には、資源が何も利用されていない場合、“O”が
格納される。また、たとえば、第1の資源5が第1のプ
ロセッサ11により利用されている場合には、第1の状
態表示部131には、第1のプロセッサ11を特定する
固有情報、例えば“l”が格納され、第1のカウント部
132には、“1”、“2”、“3”の内どれかが格納
される。同様に第2の資源6が第2のプロセッサ12に
より利用されている場合には、第2の状態表示部133
には、固有情報“2”が格納され、第2のカウント部1
34には、“1°′、“2”の内どれかが格納される。
第1のプロセッサ11のアクセス判断手段Illは、共
有記憶装置13の第1の状態表示部131、第2の状態
表示部133もしくは第3の状態表示部135の内容に
基づいて、第1の資源5、第2の資源6及び第3の資源
7の利用が可能か否かを判断する手段である。自己判断
手段112は、第1の状態表示部131、第2の状態表
示部133及び第3の状態表示部135の内容が、自己
のプロセッサを示す固有情報か否かを判断する手段であ
る。カウント制御手段113は、第1のカウント部13
2、第2のカウント部134、第3のカウント部136
の値を、それぞれ資源の利用中のブロック数に応じて増
減する手段である。リセット手段114は、第1のカウ
ント部132、第・2のカウント部134、第3のカウ
ント部136の内容が、利用するブロックがなくなった
ことを示した場合、第1の状態表示部131、第2の状
態表示部133、第3の状態表示部135の内容を“0
゛°に設定する手段である。
以上の構成の機構の動作を資源の利用要求(5ETTA
G命令)及び資源の開放(RESETTAG命令)の2
つの場合について説明する。
第5図は、本発明に係る5ETTAG命令の動作を示す
フローチャートである。
初期状態では、共有記憶装置13の各部の値は、各資源
が利用可能であることを示している。
即ち、各部の値は“0”に設定されている。
ここでは、第1図に示した第1のプロセッサlが、第1
の資源5の利用を行なうものとして説明する。
まず、第1のプロセッサ11のアクセス判断手段111
は、第1の状態表示部131の内容を読出して第1のプ
ロセッサ11に設けられた図示しないレジスタAに格納
しくステップ5ll)、内部レジスタAの値が“0”か
否かを判断する(ステップ512)。この結果YESの
場合、第1の状態表示部131に第1のプロセッサ11
の固有情報(ITAG)、例えば“第1のプロセッサ1
1の場合゛1”、第2のプロセッサ12の場合°゛2°
を格納しくステップ313)、第1のプロセッサ11の
カウント制御手段113により第1のカウント部132
の値を“1”増加する(ステップ514)。これにより
、カウント部132の値は、O”から“1”に変わる。
そして第1の資源5利用の許可の処理を行なう(ステッ
プ515)。
これにより5ETTAG命令が終了し、1のプロセッサ
11は、第1の資源5の、例えば第1のブロック501
を利用することができる。
さて、ステップS12においてNoの場合、自己判断手
段112により、第1の状態表示部+31の内容をレジ
スタAに格納し、内部レジスタAの内容と第1のプロセ
ッサ11の固有情報(ITAG)が一致するか否かが判
断される(ステップ516)。この結果、一致した場合
には、ステップS14に移る。結果が不一致の場合には
、第1の資源5利用の拒否の処理を行ない(ステップS
 17 ) 、5ETTAG命令を終了する。
なお、ステップSL2からステップS16を経由してス
テップS14に移る処理は、既に第1の資源5の、例え
ば第1のブロック501が利用されていて、さらに同一
プロセッサから、第2のブロック502や第3のブロッ
ク503の利用の要求が発生した場合に実行される処理
である。
このように、既に利用している第1の資源5の第1のブ
ロック501の他に、同一のプロセッサが第2のブロッ
ク502や第3のブロック503を利用したい場合、容
易に第2のブロック502や第3のブロック503の利
用の許可の処理を行なうことができる。第2の資源につ
いても同様である。
次に、第6図は、本発明に係るRESETTAG命令の
動作を示すフローチャートである。
まず、アクセス判断手段111により第1の状態表示部
131の内容を、図示しないレジスタAに格納しくステ
ップ521) レジスタAの値が“O”か否かの判断を
行なう(ステップ522)。結果がNoの場合、自己判
断手段112により、レジスタAの値が第1のプロセッ
サ11の固有情報(ITAG)と一致するか否かの判断
を行なう(ステップ523)。この結果一致した場合に
は、カウント制御手段113は、第1のカウント部13
2の値を1減らしくステップ524)、第1のカウント
部132の値が“0”か否かの判断を行なう(ステップ
525)。この結果YESの場合、リセット手段114
は、第1の状態表示部131に“O”を格納しくステッ
プ526) 、第1の資源5を開放してRESETTA
G命令を終了する(ステップ527)。ステップS22
の結果がYESの場合もしくはステップS23の結果が
不一致の場合、RESETTAG命令の実行に矛盾が生
じたものとしてエラー処理を行ない(ステップ828)
、RESETTAG命令を終了する。
このように、第1の資源5の各ブロックが開放される毎
に第1のカウント部132の値が減らされ、値が“0”
になると、第1の状態表示部131が“0゛°にリセッ
トされ、第1の資源5が開放される。
ところで、第1のプロセッサ11が第1の資源5を利用
中に故障したとする。このような場合、第1の資源5が
非常に長い時間開放されないことになる。このような場
合、図示しない故障判断手段により、第1の状態表示部
131の内容を読取る。この読取った内容により第1の
資源5を利用していたプロセッサが判別でき、容易に第
1のプロセッサ11の故障であることを認識し、処置を
することができる。
本発明のマルチプロセッサの排他制御機構は、以上の実
施例に限定されない。
実施例においては、資源としてフロッピーディスクドラ
イブやハードディスクの入出力装置を挙げて説明したが
、複数の区画に区分された、記憶装置の管理等にも応用
することができる。さらにプロセッサに、5ETTAG
命令を繰返し実行する回数もしくは時間を計測する機能
を設け、この計測の結果が一定値を越えた場合、資源を
利用しているプロセッサの故障と判断し、共有記憶装置
13の各状態表示部を読取り、故障したプロセッサを認
識する手段を設けてもよい。
(発明の効果) 以上の構成の本発明のマルチプロセッサの排他制御機構
は、複数のブロックから構成された資源を利用する場合
において、既に利用されている資源のブロック以外の他
のブロックを利用したいとき、容易に利用可能か否かが
判断でき、資源の開放を待ち続けてデッドロック状態に
陥るといった障害の発生を回避することができる。また
、資源を利用しているプロセッサを判断できるため、資
源を利用中プロセッサが故障しても容易にどのプロセッ
サが故障したか判断することができる。
【図面の簡単な説明】
第1図は本発明のマルチプロセッサの排他制御機構のブ
ロック図、第2図は従来の第1のマルチプロセッサの排
他制御機構のブロック図、第3図は従来のTAS命令の
動作を示すフローチャート、第4図は従来の第2のマル
チプロセッサの排他制御機構のブロック図、第5図は本
発明に係る5ETTAG命令の動作を示すフローチャー
ト、第6図は本発明に係るRESεTTAG命令の動作
を示すフローチャートである。 5・・・第1の資源、6・・・第2の資源、7・・・第
3の資源、11・・・第1のプロセッサ、12・・・第
2のプロセッサ、13・・・共有記憶装置、11 、1
21・・・アクセス判断手段、12 、122・・・自
己判断手段、 13 、123・・・カウント制御手段、14 、 1
24・・・リセント手段、31・・・第1の状態表示部
、 32・・・第1のカウント部、 33・・・第2の状態表示部、 34・・・第2のカウント部、 35・・・第3の状態表示部、 136・・・第3のカウント部。 第6図 従来のTAS命令の動作を示すフローチャート第3図 本発明に係る5ETTAG命令の動作を示すフローチャ
ート第5図

Claims (1)

  1. 【特許請求の範囲】 複数のプロセッサと、 前記各プロセッサに共有される資源と、 前記資源の利用状態を示す共有記憶装置とからなり、 前記資源は、 区分して利用される複数のブロックからなり、前記共有
    記憶装置には、 前記いずれのプロセッサが前記資源を使用しているかを
    表示する状態表示部と、 前記複数のブロックの利用ブロック数を表示するカウン
    ト部とが設けられていることを特徴とするマルチプロセ
    ッサの排他制御機構。
JP26039788A 1988-10-18 1988-10-18 マルチプロセッサの排他制御機構 Pending JPH02108149A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26039788A JPH02108149A (ja) 1988-10-18 1988-10-18 マルチプロセッサの排他制御機構

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26039788A JPH02108149A (ja) 1988-10-18 1988-10-18 マルチプロセッサの排他制御機構

Publications (1)

Publication Number Publication Date
JPH02108149A true JPH02108149A (ja) 1990-04-20

Family

ID=17347354

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26039788A Pending JPH02108149A (ja) 1988-10-18 1988-10-18 マルチプロセッサの排他制御機構

Country Status (1)

Country Link
JP (1) JPH02108149A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008062508A1 (fr) * 2006-11-21 2008-05-29 Fujitsu Limited Système multi-processeur

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5827255A (ja) * 1981-08-12 1983-02-17 Hitachi Ltd 複数電子計算機間共用フアイルの制御方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5827255A (ja) * 1981-08-12 1983-02-17 Hitachi Ltd 複数電子計算機間共用フアイルの制御方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008062508A1 (fr) * 2006-11-21 2008-05-29 Fujitsu Limited Système multi-processeur

Similar Documents

Publication Publication Date Title
US7350006B2 (en) System and method of interrupt handling
US4914570A (en) Process distribution and sharing system for multiple processor computer system
US6697834B1 (en) Mutual exculsion system and method for restarting critical sections of code when preempted during a critical section
EP0443557B1 (en) Interrupt controller capable of realizing interrupt nesting function
JPS5841538B2 (ja) マルチプロセツサシステム ノ ユウセンセイギヨホウシキ
JPH0430053B2 (ja)
JPH02230455A (ja) 外部記憶装置の割込み制御方式
US7216252B1 (en) Method and apparatus for machine check abort handling in a multiprocessing system
JPH02108149A (ja) マルチプロセッサの排他制御機構
WO2019188177A1 (ja) 情報処理装置
JP2986930B2 (ja) 対称型マルチプロセッサのタスクスケジューリング方式
JP3105554B2 (ja) 割込みコントローラ
JPH11184828A (ja) マルチプロセッサシステムのテスト方式
JPS6097440A (ja) 仮想多重プロセツサ装置
JPS6125249A (ja) 排他制御方式
JP2825589B2 (ja) バス制御方式
JPH04364550A (ja) メモリ管理方法
JPH01310466A (ja) マルチプロセッサシステム
JPH011048A (ja) プロセス優先順位制御システム
JPH04302352A (ja) マルチプロセッサシステム
JPS6367642A (ja) 仮想計算機システムの制御方式
JPS5840216B2 (ja) テストアンドセツト方式
JPS59111563A (ja) マルチプロセツサの制御方式
JPS5839342B2 (ja) マルチプロセツサシステムニオケル ワリコミシヨリホウシキ
JPH0535507A (ja) 中央処理装置