JPS6361699B2 - - Google Patents

Info

Publication number
JPS6361699B2
JPS6361699B2 JP18477183A JP18477183A JPS6361699B2 JP S6361699 B2 JPS6361699 B2 JP S6361699B2 JP 18477183 A JP18477183 A JP 18477183A JP 18477183 A JP18477183 A JP 18477183A JP S6361699 B2 JPS6361699 B2 JP S6361699B2
Authority
JP
Japan
Prior art keywords
lock
request
test
unlock
processor
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
Application number
JP18477183A
Other languages
English (en)
Other versions
JPS6077257A (ja
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 filed Critical
Priority to JP18477183A priority Critical patent/JPS6077257A/ja
Publication of JPS6077257A publication Critical patent/JPS6077257A/ja
Publication of JPS6361699B2 publication Critical patent/JPS6361699B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 技術分野 本発明は複数のプロセツサと共通記憶装置とで
構成され、ロツク/アンロツク方式の排他制御を
行なうマルチプロセツサシステムに関する。
背景技術 複数のプロセツサと共通記憶装置とで構成され
るマルチプロセツサシステムでは、複数のプロセ
ツサによるデータベースの同時更新で、互いに干
渉しあつて、データの内容が破壊された、間違つ
た変更を受けないように、データベースを排他制
御する必要がある。この排他制御の方式としてロ
ツク/アンロツク方式があり、この方式は、ある
プロセツサが更新したいデータを含むデータベー
スの部分をロツクし、更新処理が完了するまでは
他のプロセツサの更新処理を拒否するものであ
る。
このロツク/アンロツク方式の排他制御を行な
うマルチプロセツサシステムでは、例外(通常の
プログラムシーケンスを遂行できない事態)が発
生すると、ロツク/アンロツク状態を示すデータ
をサーチして自プロセツサがロツクしているもの
があればそれをアンロツクするアンロツク処理を
行なつていた。このアンロツク処理は、例外によ
り中断された処理がロツクしていたリソースを開
放するために必要である。
このようにマルチプロセツサシステムでは、例
外発生時にロツクに関する処理が必要となるが、
例外発生時にロツクしているものが1つもないと
きには、このような処理は本来、不要である。し
かも、例外発生時に1つもロツクをとつていない
場合が大半であるので、性能ロスが大きかつた。
発明の目的 したがつて、本発明の目的は、例外発生時に自
プロセツサがロツクしているものが1つもないと
きにはロツクに関する処理を一切行なわずに例外
処理を行なえるようにしたマルチプロセツサシス
テムを提供することである。
発明の構成 本発明のマルチプロセツサシステムは、テスト
アンドロツク要求を行なうテストアンドロツク要
求手段と、前記テストアンドロツク要求が成功し
たことを検出するロツク成功検出手段と、アンロ
ツク要求を行なうアンロツク要求手段と、アンロ
ツク要求を検出するアンロツク要求検出手段と、
前記ロツク成功検出手段がロツク成功を検出した
こと、および前記アンロツク要求検出手段がアン
ロツク要求を検出したことにより当該プロセツサ
がロツクしているものが少なくとも1つあるか否
かを識別する情報を保持する手段とを備える。
このように、本発明は、当該プロセツサがロツ
クしているものが少なくとも1つあるか否かを判
別できるので、例外発生時に当該プロセツサがロ
ツクしているものが1つもないときにはロツクに
関する処理を一切行なわず例外処理を行なうこと
ができ、排他制御のオーバヘツドを軽減すること
ができる。
発明を実施するための最良の形態 以下、本発明を実施例の図面を参照しながら説
明する。
第1図は本発明の一実施例に係るマルチプロセ
ツサシステムのブロツク図である。本実施例のマ
ルチプロセツサシステムは、複数の共通記憶装置
10,11,12と複数のプロセツサ21,2
1,22とシステム制御装置30とで構成され、
複数の共通記憶装置10,11,12とシステム
制御装置30はメモリバス50により接続され、
複数のプロセツサ20,21,22とシステム制
御装置30は共通バス40により接続されてい
る。プロセツサ20,21,22は、テストアン
ドロツク要求時にアドレス情報とともにロツクフ
ラグ情報およびロツクプロセツサ番号情報をシス
テム制御装置30に送出する。
第3図aはテストアンドロツク要求時に送出す
るデータ(ロツクフラグ情報およびロツクプロセ
ツサ番号情報)のフオーマツトを示しており、0
ビツトのにロツクフラグ、1〜7ビツトにロツ
クしているプロセツサの番号が書きこまれてい
る。第3図bは共通記憶装置内における第3図a
のデータ(ロツクワード)の格納フオーマツトを
示す。ここで、テストアンドロツク要求とは、ア
ドレス情報で示されたアドレスのデータ(第3図
b)を読出し、ロツクフラグ情報が“0”なら
ばロツクフラグ情報およびロツクプロセツサ番号
情報をそのアドレス情報が示すエリアに書きこ
み、ロツクフラグ情報Vが“1”ならば書きこみ
は行なわない。この読出したロツクフラグ情報
が“0”のとき“ロツク成功”、“1”のとき“ロ
ツク不成功”と呼ぶ。
第2図はプロセツサ20,21,22の構成の
一部を示すブロツク図である。テストアンドロツ
ク要求回路61が共通バス40を介してシステム
制御装置30にテストアンドロツク要求を行なう
と、ロツク成功、ロツク不成功がリプライ情報と
して共通バス40を介してシステム制御装置30
から送られてくる。このロツク成功、ロツク不成
功の情報はロツク成功検出回路62に入力し、
“ロツク成功”が検出されると、アツプダウンカ
ウンタ65に+1のカウント指示が行なわれる。
アロツク要求はアンロツク要求回路63により共
通バス40を介してシステム制御装置30に対し
て行なわれる。このアンロツク要求をアンロツク
要求検出回路64が検出すると、アツプダウンカ
ウンタ65に−1のカウント指示が行なわれる。
すなわち、アツプダウンカウンタ65がリセツト
状態、つまり“0”のときには当該プロセツサが
ロツクしているものはないことを意味し、アツプ
ダウンカウンタ65がセツト状態、つまり“0”
でないときには当該プロセツサがロツクしている
ものが少なくとも一つあることを意味する。例外
が例外制御回路66で検出されると、アツプダウ
ンカウンタ65の内容が調べられ、アツプダウン
カウンタ65がセツト状態のときに自プロセツサ
がロツクしたものをアンロツクする指示がアンロ
ツク要求回路63に出力される。自プロセツサが
ロツクしたものをアンロツクする処理は、第3図
bのロツクワードを0から順次nまで読出し、ロ
ツクプロセツサ番号か自プロセツサ番号であるロ
ツクされているロツクワードに対してアンロツク
要求を出していく。
第4図は本発明の他の実施例のプロセツサ2
0,21,22の構成の一部を示すブロツク図で
ある。コントロールストア71にはアンロツク制
御のマイクロプログラムが格納されている。コン
トロールストア71にはアドレスレジスタ72か
らアドレスが与えられる。アドレスレジスタ72
にはその内容を+1する加算回路73が接続され
ている。アドレスレジスタ72には何算回路73
の出力と分岐制御回路74から分岐アドレスフイ
ールドの内容が入力し、この2つの入力はコント
ロールストア71のシーケンス制御フイールドの
指示により選択される。この分岐アドレスフイー
ルドの内容により分岐アドレスが修飾され、複雑
な条件分岐動作が可能となる。コントロールスト
ア71から読出されたマイクロプログラムはコマ
ンドレジスタ75に格納され、その出力で当該プ
ロセツサの各種機能が制御される。マイクロプロ
グラムの指示によりテストアンドロツク要求回路
61が共通バス40を介してシステム制御装置3
0にテストアンドロツク要求を出すと、ロツク成
功、ロツク不成功の情報がシテム制御装置30か
ら共通バス40を介してロツク成功検出回路62
に送られてくる。ロツク成功がロツク成功検出回
路62で検出されるとフリツプフロツプ76がセ
ツトされる。マイクロプログラムの指示によりア
ンロツク要求回路63からアンロツク要求が共通
バス40を介してシステム制御装置30に送られ
る。マイクロプログラムは自プロセツサにとつて
最後のロツクに対してアンロツク指持を行なつた
ときにフリツプフロツプ76にリセツト指示を行
なう。例外が例外制御回路66で検出されたとき
にフリツプフロツプ76の状態がマイクロプログ
ラムの指示でテストされ、フリツプフロツプ76
がセツト状態ならばマイクロプログラムは第3図
bのロツクワードを0から順次nまで読出し、ロ
ツクプロセツサ番号が自プロセツサ番号と同じで
あればその読出したロツクワードに対してアンロ
ツク指示を行ない、フリツプフロツプ76がリセ
ツト状態ならばロツクに関する処理を行なわない
ように制御する。
第5図は以上説明したマイクロプログラムのア
ンロツク制御ルーチンの概略を示すフローチヤー
トである。
【図面の簡単な説明】
第1図は本発明の一実施例に係るマルチプロセ
ツサシステムのブロツク図、第2図は本発明を構
成するプロセツサの実施例のブロツク図、第3図
aはテストアンドロツク要求時に送出するデータ
のフオーマツトを示す図、第3図bは共通記憶装
置内のロツクワードの格納フオーマツトを示す
図、第4図は本発明を構成するプロセツサの他の
実施例のブロツク図、第5図はアンロツク制御プ
ログラムのフローチヤートである。 10,11,12:共通記憶装置、20,2
1,22:プロセツサ、30:システム制御装
置、40:共通バス、50:メモリバス、61:
テストアンドロツク要求回路、62:ロツク成功
検出回路、63:アンロツク要求回路、64:ア
ンロツク要求検出回路、65:アツプダウンカウ
ンタ、66:例外制御回路、71:コントロール
ストア、72:アドレスレジスタ、73:加算回
路、74:分岐制御回路、75:コマンドレジス
タ、76:フリツプフロツプ。

Claims (1)

    【特許請求の範囲】
  1. 1 複数のプロセツサと共通記憶装置とを備えて
    構成され、ロツク/アンロツク方式の排他制御を
    行なうマルチプロセツサシステムにおいて、テス
    トアンドロツク要求を行なうテストアンドロツク
    要求手段と、前記テストアンドロツク要求が成功
    したことを検出するロツク成功検出手段と、アン
    ロツク要求を行なうアンロツク要求手段と、アン
    ロツク要求を検出するアンロツク要求検出手段
    と、前記ロツク成功検出手段がロツク成功を検出
    したこと、および前記アンロツク要求検出手段が
    アンロツク要求を検出したことにより当該プロセ
    ツサがロツクしているものが少なくとも1つある
    か否かを識別する情報を保持する手段とを備える
    ことを特徴とするマルチプロセツサシステム。
JP18477183A 1983-10-03 1983-10-03 マルチプロセツサシステム Granted JPS6077257A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18477183A JPS6077257A (ja) 1983-10-03 1983-10-03 マルチプロセツサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18477183A JPS6077257A (ja) 1983-10-03 1983-10-03 マルチプロセツサシステム

Publications (2)

Publication Number Publication Date
JPS6077257A JPS6077257A (ja) 1985-05-01
JPS6361699B2 true JPS6361699B2 (ja) 1988-11-30

Family

ID=16159025

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18477183A Granted JPS6077257A (ja) 1983-10-03 1983-10-03 マルチプロセツサシステム

Country Status (1)

Country Link
JP (1) JPS6077257A (ja)

Also Published As

Publication number Publication date
JPS6077257A (ja) 1985-05-01

Similar Documents

Publication Publication Date Title
US4733352A (en) Lock control for a shared storage in a data processing system
US4053752A (en) Error recovery and control in a mass storage system
EP0121700B1 (en) Multiprocessor storage serialization apparatus
US5136714A (en) Method and apparatus for implementing inter-processor interrupts using shared memory storage in a multi-processor computer system
US5522029A (en) Fault tolerant rendezvous and semaphore for multiple parallel processors
EP0363882B1 (en) Multiprocessor system using communication register having processor-associated storage locations
US3618042A (en) Error detection and instruction reexecution device in a data-processing apparatus
JPS6361699B2 (ja)
JP2547329B2 (ja) ロツクデータ設定装置
JPH01125633A (ja) マルチプロセッサシステムのデバッグ法
JPS5834856B2 (ja) キオクセイギヨソウチ
JPH0769822B2 (ja) 演算レジスタのバイパスチェック方式
JP3130798B2 (ja) バス転送装置
JPS6020779B2 (ja) 複合形電子計算機システム
US5644745A (en) Apparatus for replacing data availability information for an instruction subsequent to a branch with previous availability information upon branch prediction failure
JPH0395653A (ja) データ記憶装置のアドレス誤り検出方法
JPH0548498B2 (ja)
JPS59139199A (ja) 記憶保護方式
JPH03232051A (ja) セマフォアクセス制御方法
JPH0256663A (ja) ロツクデータ設定装置
JPS59200366A (ja) ロツク制御方式
JPH04242455A (ja) プロセッサ間通信トレース回路
JPS59121455A (ja) プレフイクシング方式
JPS5622281A (en) Buffer memory control system
JPS6318225B2 (ja)