JPS59173866A - Lock control system - Google Patents

Lock control system

Info

Publication number
JPS59173866A
JPS59173866A JP58049254A JP4925483A JPS59173866A JP S59173866 A JPS59173866 A JP S59173866A JP 58049254 A JP58049254 A JP 58049254A JP 4925483 A JP4925483 A JP 4925483A JP S59173866 A JPS59173866 A JP S59173866A
Authority
JP
Japan
Prior art keywords
lock
lock request
request
signal
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.)
Granted
Application number
JP58049254A
Other languages
Japanese (ja)
Other versions
JPS6336545B2 (en
Inventor
Susumu Shibazaki
進 柴崎
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 JP58049254A priority Critical patent/JPS59173866A/en
Publication of JPS59173866A publication Critical patent/JPS59173866A/en
Publication of JPS6336545B2 publication Critical patent/JPS6336545B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/16Handling requests for interconnection or transfer for access to memory bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)

Abstract

PURPOSE:To prevent the performance deterioration of a multi-processor by recognizing the failure of a lock request, if occurs, to avoid the repetition of useless lock requests. CONSTITUTION:A lock control system consists of CPUs 1 and 2 which serve as plural processors and a lock control circuit 3. The CPU1 and 2 send a microprogram instruction which is read out of a control storage register 23 and decoded to an execution control part. The circuit 3 recognizes the failure of a lock request, if occurs, and resets a flip-flop 13. Thus the lock request is suppressed repetitively until a lock release signal which gives a lock enable state is received. When a lock request is accepted, a logic ''0'' is delivered to an output line 131. At the same time, the output of the circuit 3 is stored as it is in flip- flop circuits 18 and 19.

Description

【発明の詳細な説明】 本発明はロック制御方式に関し、特に複数のプロセッサ
が入出力装置、バス、データバッファ等のハードウェア
およびプログラム、データ等のソフトウェアを含む共有
資源を通常は1個のプロセッサのみで占用する排他制御
を行ないつつ全体として1つの系を構成して動作するマ
ルチグロセッサシステムにおいて、前記排他制御を実行
するために行なうロック動作のロック制御方式に関する
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a lock control system, and in particular, the present invention relates to a lock control system in which multiple processors normally share shared resources, including hardware such as input/output devices, buses, and data buffers, and software such as programs and data, to a single processor. The present invention relates to a lock control method for a lock operation performed to execute exclusive control in a multi-grocer system that operates as one system while performing exclusive control exclusively for exclusive use.

複数のプロセッサ等の資源要求者が非同期状態で1つの
共有資源全要求する場合には、各資源要求者による要求
の衝突を避は矛盾なく制御するだめの排他制御が必要で
あシ、このような排他制御により通常1つのプロセッサ
に対して共有資源の使用権全付与し他のプロセッサによ
る使用は排除しつつデータの処理を実行するロック(l
ock)動作はよく知られている。
When multiple resource requesters such as processors request all of one shared resource in an asynchronous state, exclusive control is required to avoid conflicting requests from each resource requestor and to control them without contradiction. Locking (Lock), which normally grants full usage rights to shared resources to one processor through exclusive control and executes data processing while excluding usage by other processors.
ock) operation is well known.

従来のマルチプロセッサシステムにおけるロックの実行
は、共有資源の使用権全必要とする各プロセッサがそル
ぞn随意にロック要求を出している。従って既に他のプ
ロセッサがロック要求を出して共有資源の使用権を与え
らnてデータ処理実行中にあってはロック要求は失敗し
、このためロック要求が成功するまで繰返しロック要求
金山し続はロック要求が成功したのちそのプロセッサに
よる処理が実行さnることとなる。
In a conventional multiprocessor system, each processor that requires the right to use a shared resource issues a lock request at will. Therefore, if another processor has already issued a lock request and been given the right to use the shared resource and is processing data, the lock request will fail, and the lock request will continue to be made repeatedly until the lock request succeeds. After the lock request is successful, the processing by that processor will be executed.

−しかしながら、このようなロック要求はマルチプロセ
ッサシステムを構成する全プロセッサによって行なわn
ることか可能であるため、上述したようなロック要求の
繰返しによってマルチプロセッサシステム全体の7ステ
ム動作が影響を受は全プロセッサの処理性能もその個数
に対応して大幅に低下してしまうという欠点がある。
-However, such lock requests are made by all processors that make up the multiprocessor system.
Since it is possible to do this repeatedly, the 7-system operation of the entire multiprocessor system is affected by repeated lock requests as described above, and the processing performance of all processors is also significantly reduced in proportion to the number of them. There is.

本発明の目的は上述した欠点を除去し、マルチプロセッ
サシステムにおける共有資源の排他制御を行なうための
ロック要求において、自プロセッサによるロック要求が
失敗した場合にはロック成功により処理実行中の他プロ
セツサからロック解除通知がくるまでロック要求を出さ
ないようにするという手段金偏え、ロック要求失敗を継
続する無意味な動作?排除しマルチプロセッサシステム
の処理性能の低下を大幅に減少することができるロック
制御方式を提供することにある。
An object of the present invention is to eliminate the above-mentioned drawbacks, and in a lock request for exclusive control of a shared resource in a multiprocessor system, if the lock request by the own processor fails, the lock is successful and the other processors executing the process Is it a method of not issuing a lock request until a lock release notice is received, which is a pointless action that keeps the lock request failing? An object of the present invention is to provide a lock control method that can eliminate and significantly reduce deterioration in processing performance of a multiprocessor system.

本発明の方式は、ロックによりシステム共有資源の排他
制御全行なうマルチプロセッサシステムにおいて、この
マルチプロセッサシステム金構成する複数のプロセッサ
からのロック要求を受けるとこれに応答しロックが可能
であるかもしくは不可能であるかによってロック成功も
しくは不成功の結果全そルぞれのプロセッサに通知しこ
の結果に対応する処理を実行せしめるロック要求結果通
知手段と、前記複数のプロセッサのうちのいず牡かがロ
ック要求を行なって失敗したときこf’L全ロック要求
を行なったプロセッサが認識するロック要求失敗認識手
段と、ロック要求を行なったプロセッサがロック要求に
成功し果すべき処理を実行したのち自プロセッサ以外の
前記複数の全プロセッサに対しロック解除子通知するロ
ック解除通知手段と、前記ロック要求失敗認識手段によ
ってロック要求を出したプロセッサがロック要求の失敗
を認識した場合前記ロック解除手段によって他のプロセ
ッサからロック解除を通知さn7)までロック要求を抑
止するロック要求抑止手段と、前記ロック要求失敗認識
手段によってロック要求全出したプロセッサがロック要
求の失敗を認識した場合前記ロック要求結果通知手段の
結果′(i−変更するロック要求結果変更手段と全備え
て構成さルる。
In a multiprocessor system in which all system shared resources are exclusively controlled by locking, the system of the present invention is capable of determining whether locking is possible or not in response to a lock request from a plurality of processors that make up the multiprocessor system. lock request result notification means for notifying all the processors of a result of lock success or failure depending on whether the lock is possible and causing them to execute processing corresponding to the result; When the lock request fails, the lock request failure recognition means is recognized by the processor that made the full lock request, and after the processor that made the lock request has succeeded in the lock request and executed the necessary processing, the self-processor lock release notification means for notifying all of the plurality of processors other than the processors of the lock release, and when the processor that issued the lock request recognizes the failure of the lock request by the lock request failure recognition means, the lock release means sends a lock release notification to the other processors. a lock request suppressing means for suppressing lock requests from n7) to notification of lock release, and a result of the lock request result notifying means when the processor that issued all the lock requests recognizes the failure of the lock request by the lock request failure recognition means. '(i--consisting of means for changing the lock request result.

次に図面を参照して本発明の詳細な説明する。Next, the present invention will be described in detail with reference to the drawings.

第1図を参照すると、本発明の一実施例はマルチプロセ
ッサシステムを構成する複数のプロセッサシステム全構
成する複数のプロセッサとじてのCPU(0)1. C
PUα)2とロック制御回路3とにより構成さルる。
Referring to FIG. 1, one embodiment of the present invention includes CPU(0)1. C
PUα) 2 and a lock control circuit 3.

第1図の実施例においては、プロセッサとして(7) 
CPU 、2 CPU、(0)1およびCPU(1)2
 ノ2個金側として示しているが、こルは伺個であって
も差支えない。
In the embodiment of FIG. 1, as a processor (7)
CPU, 2 CPU, (0) 1 and CPU (1) 2
Although 2 pieces are shown on the gold side, there is no problem even if there are 2 pieces on the gold side.

CPU(o)1とCPU(1)2とは同一の構成内容を
有するCPUであり、CPU(0)1  に示す如くセ
レクタ10゜フリツプフロツプ回路11.OR回路12
,20.フリップフロッグ回路13.AND回路14.
NO地路1516、AND回路17.およびフリップフ
ロッグ回路18.19のほか、マイクロプログラム方式
によるCPU に含まnる構成要素としての制御記憶2
1゜制御記憶アドレスレジスタ22および制御記憶レジ
スタ23等金備えて構成さ肛る。
CPU(o)1 and CPU(1)2 are CPUs having the same configuration, and as shown in CPU(0)1, a selector 10° flip-flop circuit 11. OR circuit 12
,20. Flip-frog circuit 13. AND circuit 14.
NO ground 1516, AND circuit 17. In addition to flip-flop circuits 18 and 19, control memory 2 is a component included in the microprogrammed CPU.
1 degree control storage address register 22, control storage register 23, etc.

さて、マイクロプログラムを格納し記憶する制御記憶2
1は、制御記憶アドレスレジスタ22がら出力ライ/2
21 を介して受ける制御記憶アドレス信号の指定する
マイクロプログラムを読出され出力ライ;’211  
t−介してこfl、t”制御記憶レジスタ23に送出す
る。制御記憶レジスタ23にストアされたマイクロプロ
グラムにはロック要求の指定を行なうロック制御フィー
ルドが含ま几ておシ、このロック制御フィールドによっ
てロック要求が指定されているときはこのロック制御フ
ィールド23 (a)に指定された内容がロック要求信
号として出力2イア231  e介してセレクタ1oに
送出されるとともにこのマイクロプログラムの内容は出
力ライン232 を介して出力され、デコーダ等によっ
て解読さルたのちその内容の実行を制御する実行制御部
(図示せず)等に供給さルる。らこの実行制御部金倉し
てマイクロプログラムの指定する内容の処理が実行され
、このあと次のマイクロプログラムがまた制御記憶アド
レスレジスタ22によって指定されるというようにして
次次に制御記憶21のマイクロプログラムが実行される
Now, control memory 2 that stores and memorizes microprograms.
1 is the output line/2 from the control storage address register 22.
'211 The microprogram specified by the control storage address signal received via the output line is read out; '211
The microprogram stored in the control storage register 23 includes a lock control field for specifying a lock request. When a request is specified, the contents specified in the lock control field 23 (a) are sent as a lock request signal to the selector 1o via the output 2 ear 231e, and the contents of this microprogram are sent to the output line 232. After being decoded by a decoder etc., it is supplied to an execution control unit (not shown) that controls the execution of the contents. A process is executed, and then the next microprogram is again specified by the control memory address register 22, and so on, and the microprograms in the control memory 21 are executed one after another.

セレクタ10にはこのようにして供給されたロック要求
信号と入力ライ;/101  e介して入力する、ロッ
ク要求をしない内容七指示するロック非要求信号とが印
加し、後述するフリップフロップ回路13から出力ライ
ン131 を介して供給されるセレクト信号が印加され
るときにはロック非要求信号金1またセレクト信号が供
給さnないときにはロック要求信号をセレクトしてこ詐
らt出カライア102  k介してロック制御回路3に
送出する。上述したロック非要求信号は他のCPU、た
とえばCPU(1)がロック要求に成功して処理を実行
しておりロック要求金山すことが不適当である場合にロ
ック要求信号の入力の有無にかかわらずロック非要求を
行なわない内容會有する予め特定量るコードの信号とし
て設定されているものである。
The lock request signal thus supplied and a lock non-request signal input through the input line 101e and instructing the content not to request lock are applied to the selector 10, and the lock request signal is input from the flip-flop circuit 13, which will be described later. When the select signal supplied via the output line 131 is applied, the lock non-request signal is selected, and when the select signal is not supplied, the lock request signal is selected. Send to 3. The above-mentioned lock non-request signal is sent regardless of whether or not the lock request signal is input when another CPU, for example CPU (1), has successfully requested a lock and is executing a process and it is inappropriate to make a lock request. This signal is set in advance as a specific code signal that has the content that no lock request is made.

従来のロック要求方式におってはこのようにロック要求
とロック非要求との2つの運用状態を設けることなくロ
ック要求信号のみが各CPUから繰返し出力さ几、この
ため前述したような欠点を生ずることとなる。
In the conventional lock request method, only the lock request signal is repeatedly output from each CPU without providing the two operating states of lock request and lock non-request, and this results in the above-mentioned drawbacks. It happens.

そこで本発明においてはこの欠点を次のようにして除去
している。
Therefore, in the present invention, this drawback is eliminated as follows.

無意味なロック要求金避けるためには、一度ロツク要求
に失敗したプロセッサがロック要求成功の可能性が発生
したこと、つま90ツク七取っていた他プロセツサがロ
ックを外したことを認識できなくてはならない。
In order to avoid meaningless lock request fees, a processor that has once failed in a lock request must not be able to recognize that there is a possibility that the lock request will succeed, or that another processor that was holding the lock has released the lock. Must not be.

CPU(o)1とCPU(1)2とはそれぞれ制御記憶
レジスタ23から読出されデコーダ等を介して解読さn
たマイクロプログラム命令を前述した実行制御部に送出
しこれによる制御上受けつつ命令が実行さ几るが、ロッ
ク解除もCPU(0)1やCPUα)2等の各CPU 
からこのような実行制御段階で互いに通知し合うように
予め設定さnており、第1図の実施例でCPU(1)2
によるロック状態が解除されたときには、CPU(1)
2から入力ライン111t″介して2値の論理値“1”
レベルの信号がロック解除信号としてフリップフロップ
回路11に送出さnるように制御記憶21.制御記憶ア
ドレスレジスタ22、および制御記憶レジスタ23等に
よるマイクロプログラム命令処理を介してフリ7171
21回路11の入力が決定されている。
CPU(o)1 and CPU(1)2 are each read from the control storage register 23 and decoded via a decoder or the like.
The microprogram instructions are sent to the above-mentioned execution control unit, and the instructions are executed while being controlled by this unit.However, unlocking is also performed by each CPU such as CPU (0) 1 and CPU α) 2.
In the embodiment shown in FIG. 1, the CPU (1) 2
When the lock state is released by CPU (1)
2 through the input line 111t'', a binary logical value “1”
level signal is sent to the flip-flop circuit 11 as a lock release signal to the control memory 21. The control storage address register 22, control storage register 23, etc. perform microprogram instruction processing to
The input of the 21 circuit 11 has been determined.

フリップフロップ回路11は、フリップフロップ回路1
3.18および19と同じく、クロック信号CLが印加
するごとに入力論理値′″1′、″″0′″に対応して
出力論理値11”ど011−得るいわゆるD凰フリップ
フロップ回路である。
The flip-flop circuit 11 is the flip-flop circuit 1
Similar to 3.18 and 19, this is a so-called D-flip-flop circuit that obtains an output logical value of 11'' in response to an input logical value of ``1'' or ``0'' every time the clock signal CL is applied. .

フリップフロップ回路11は、CPU(1)2により回
路12の1人力として送出する。
The flip-flop circuit 11 is output by the CPU (1) 2 as a single unit of the circuit 12.

OR回路12には入カライア222 t”介して外部の
イベントによυCPU(o)iに対する割込み等力五発
生した場貧、こnr制御記憶アドレスレジスタ22會介
して制御記憶21に割込ませるとともにOR回路12の
もうひとつの入力として供給される論理値′1” レベ
ルの信号が外部イベント信号として入力する。
If an interrupt to CPU(o)i is generated by an external event through an input signal 222t'' to the OR circuit 12, an interrupt is generated to the control memory 21 via the control memory address register 22. A signal at the logic value '1'' level, which is supplied as another input to the OR circuit 12, is input as an external event signal.

従ってOR回路12はこnら2人力のいずnがが論理値
″′1”レベルで供給さ几るときに論理イvrx’レベ
ルの信号を出力しこf’Li出カライカライン12Z介
してフリップフロップ回路13にリセッ)fN号として
供給し、また2人力いずiの供給も受けず従ってロック
が継続しているときにはフリップフロップ回路13には
リセット信号が送出さnない。
Therefore, the OR circuit 12 outputs a signal at the logic level "vrx" when one of these two inputs is supplied at the logic value "'1" level. The reset signal is supplied to the flip-flop circuit 13 as a reset signal (fN), and when neither of the two input signals (i) is received and therefore the lock continues, no reset signal is sent to the flip-flop circuit 13 (n).

さて、CPU(0)のマイクロプログラムのロック要求
により出力ライン102  を介して送出さルたロック
要求信号はロック制御回路3に送出さnるが、このロッ
ク制御回路3にはCPU(1)2等の他のCPUからの
すべてのロック要求信号も入力さ几、ロック制御回路3
はこれらの入力を受けるごとにこのロック要求信号に対
して応答する意味の論理値°゛1”レベルのリグライ信
号を出力しこれを出方ライン301 を介してAND回
路14およびフリップフロップ回路19に送出するとと
もに、その時点における全ロック要求信号の入力状態を
判断して既にロック成功中のロック要求信号があnば論
理値″0”レベル、他にロック要求信号の入力がなけ。
Now, the lock request signal sent out via the output line 102 in response to a lock request from the microprogram of CPU (0) is sent to the lock control circuit 3. All lock request signals from other CPUs such as
Every time it receives these inputs, it outputs a regri signal with a logical value of 1" level in response to this lock request signal, and sends this to the AND circuit 14 and the flip-flop circuit 19 via the output line 301. At the same time, the input states of all lock request signals at that time are judged, and if there is a lock request signal that has already been successfully locked, the logic value is "0" level, and if no other lock request signals are input.

ば論理値11”レベルの信号をそ扛ぞれロック不成功お
よびロック、成功は号として出力ライン302 を介し
てNOT回路15およびANN絡路17送出する。
In this case, a logic 11'' level signal is sent to NOT circuit 15 and ANN circuit 17 through output line 302 as a lock failure and lock success signal, respectively.

ロック制御回路3からロック不成功信号、すなわち論理
値゛0”レベルの信号が出力されると、こnはNOT回
路15によって論理値“1″レベルに変換さ几て出力ラ
イy151r介してフリップフロップ回路13に供給さ
nる。−万、論理値′1”レベルのリグライ信号はAN
D回路14に供給さル、AND回路14はこ几とクロッ
ク信号CLとの2人力を同時に受けるとき出力ラインに
クロック信号CL(、−出力し論理値61”レベルのク
ロック信号がフリップフロップ回路13のクロック端子
に印加さnlこのクロック信号のタイミングでNOT回
路15の出力がセット信号としてラッチさn出力として
論理値″1#1#レベル、こfLヲ出カライン131全
介してセレクタ10にセレクタ信号として送出する。
When the lock control circuit 3 outputs a lock failure signal, that is, a signal with a logic value of "0" level, this signal is converted to a logic value of "1" level by the NOT circuit 15 and then sent to the flip-flop via the output line y151r. The retry signal at the logic value '1'' level is supplied to the circuit 13.
When the AND circuit 14 simultaneously receives the two signals of this signal and the clock signal CL, it outputs the clock signal CL (, -) to the output line, and the clock signal with a logic value of 61'' level is output to the flip-flop circuit 13. At the timing of this clock signal, the output of the NOT circuit 15 is latched as a set signal, and the logical value "1#1# level" is applied to the clock terminal of fL. Send as.

セレクタ10はこのセレクタ信号によって入力ライン1
01  を介して入力するロック非要求信号をロック要
求信号に変えて出力ライン102  を介してロック制
御回路3に送出する。
Selector 10 selects input line 1 by this selector signal.
The lock non-request signal inputted through 01 is converted into a lock request signal and sent to the lock control circuit 3 through output line 102.

このようにしてロック要求が不成功の場合にはロック要
求の失敗f、認識しその後のロック要求が抑止されるが
、前述した如く出力ライン111  k介してフリップ
フロップ回路11にロック解除は号を受けるか、もしく
は出カライア222  k介して外部イベントtH号を
受けOR回路12から論理値″′1#レベルのリセット
信号がフリップフロップ回路13に入力さnるとフリッ
プフロップ回路13がリセットさt1出カライン131
 には論理1ro”レベルが出力さn1従ってロック非
要求信号の送出は中止し、ロック要求信号が出力ライン
102を介してロック制御回路3に送出さnる。
In this way, if the lock request is unsuccessful, the failure f of the lock request is recognized and subsequent lock requests are suppressed, but as described above, no lock release signal is sent to the flip-flop circuit 11 via the output line 111k. When the flip-flop circuit 13 receives the external event tH signal through the output signal 222k, or receives the external event tH signal from the OR circuit 12, the flip-flop circuit 13 is reset. Kaline 131
A logic 1ro'' level is output at n1, so the sending of the lock non-request signal is stopped, and a lock request signal is sent to the lock control circuit 3 via the output line 102.

ロック制御回路3はこの状態でロック要求信号を受はロ
ック要求が失敗すると前述した動作を繰返し、ロック要
求が成功した場合には出力ライン302 を介して論理
値@1”レベルの信号をロック成功信号として送出する
。この場合はフリップフロップ回路13は論理値“0#
レベルを受けて論理値″′0#レベルの出力を出力ライ
ン131に送出し、従ってセレクタ10によるロック要
求信号とロック非要求信号の切替えは行なわルない。
If the lock control circuit 3 receives the lock request signal in this state, it repeats the above-mentioned operation if the lock request fails, and if the lock request is successful, it outputs a signal with a logic value @1'' level through the output line 302 indicating that the lock is successful. In this case, the flip-flop circuit 13 outputs the logic value “0#”.
In response to the level, an output with a logical value of ``'0# level'' is sent to the output line 131, so that the selector 10 does not switch between the lock request signal and the lock non-request signal.

このようにしてロック要求が不成功の場合にはこf’L
を認識してロック解除信号が入力するまではロックの要
求全抑止し、ロック解除信号を受けてからロックに成功
した場合にはCPU(0)1におけるマイクロプログラ
ムの指定する処理が実行さnlこルが完了するとCPU
(0)1からCPUα)2等の他のCPU に対するロ
ック解除信号の通知が行なわ扛るが、この動作は次のよ
うにして実施される。
In this way, if the lock request is unsuccessful,
All lock requests are suppressed until a lock release signal is input after recognizing the lock, and if locking is successful after receiving a lock release signal, the process specified by the microprogram in CPU (0) 1 is executed. When the file is completed, the CPU
(0) 1 notifies other CPUs such as CPU α) 2 of a lock release signal, and this operation is carried out as follows.

すなわち、ロック要求不成功の場合にはフリップフロッ
プ回路13の出力として論理値′1”が出力ライ/13
1  ’に介してNOT回路16にも入力され、こnは
論理値”0″レベルとして出力ライン161 k、介し
て・αD回路1701人力として送出される。AND回
路17には出力ライン302を介して論理値”0”レベ
ルがもうひとつの入力として加えらnるがこの場合はA
ND 東件は成立せず出力ライン171には論理値″″
0”レベルが出力する。
That is, if the lock request is unsuccessful, the logic value '1'' is output from the flip-flop circuit 13.
1' is also input to the NOT circuit 16, and this signal is sent out as a logical value "0" level through the output line 161k and the αD circuit 1701. A logic value "0" level is applied as another input to the AND circuit 17 via the output line 302, but in this case, the logic value "0" level is applied as another input.
ND The condition does not hold and the output line 171 has a logical value ""
0” level is output.

ロック要求成功の場合には上述した論理値レベルが逆転
した状態となfi AND回路17の2人力にはそnぞ
n論理値″1”レベルの信号が加えらn従ってAND 
条件が成立して出力ライン171 には論理値“1”レ
ベルの信号が供給さルる。
If the lock request is successful, the above-mentioned logic value level is reversed.A signal of the logic value "1" level is applied to the two inputs of the AND circuit 17, so the AND
When the condition is met, a signal with a logical value of "1" level is supplied to the output line 171.

フリップフロップ回路18は、クロック信号CLを印加
されるごとにこの入力の論理値に対応する0″もしくは
“1”レベルの論理値を出力しこf’L’に出力ライン
181 全弁して出力し、前述した実行制御部等の制御
のもとに制御記憶レジスタ23によって指定さnる次に
実行すべきマイクロプログラム命令のアドレス全変更せ
しめて制御記憶アドレスレジスタ22によって指定する
ようにしてフリップフロップ回路18の出力、すなわち
ロック成功、不成功に対応するマイクロプログラム命令
の処理が実行される。
The flip-flop circuit 18 outputs a logic value of 0'' or "1" level corresponding to the logic value of this input every time the clock signal CL is applied. Then, under the control of the above-mentioned execution control unit, etc., the address of the next microprogram instruction to be executed is changed as specified by the control storage register 23, and the flip-flop is specified by the control storage address register 22. Processing of microprogram instructions corresponding to the output of the circuit 18, ie, lock success or failure, is executed.

一方、フリップフロップ回路19には、ロック要求信号
がロック制御回路3に入力するごとにこれに郡答して論
理値“1#レベルのリプライ信号が出力ライン301全
介して入力さnる。このリプライ信号は出力ライン10
2 を介してロック制御回路3に入力する信号がロック
要求信号であるときこのロック要求に応答する信号とし
て出力されるもの′11′あり、フリップフロップ回路
13から出力ライン131  ft介して出力する信号
が論理r OTtとる場合、すなわちフリップフロップ
回路13が出力ライ/121  ’に介してロック解除
信号金受けているときでらって、従って入力するロック
要求信号によるロック要求がロック制御回路3の判定に
よって晟功となるか不成功となるかの状態はこのリプラ
イ信号が出力さまた状態のときだけありうることとなる
。このような意味をもつリプライ信号がフリップフロッ
プ回路19に供給さルると、クロック信号CL、印加時
ごとにセットさn論理値“1″レベルの出力を出力ライ
ンに送出する。
On the other hand, each time a lock request signal is input to the lock control circuit 3, a reply signal of logical value "1# level" is input to the flip-flop circuit 19 via all output lines 301. The reply signal is output line 10
When the signal input to the lock control circuit 3 via 2 is a lock request signal, there is a signal '11' which is output as a response to this lock request, and is a signal output from the flip-flop circuit 13 via the output line 131ft. If it takes the logic rOTt, that is, when the flip-flop circuit 13 is receiving the lock release signal via the output line /121', the lock request signal based on the input lock request signal is determined by the lock control circuit 3. Therefore, the state of success or failure is possible only when this reply signal is in the output state. When a reply signal having such a meaning is supplied to the flip-flop circuit 19, it sends out to the output line an output of n logic value "1" level, which is set every time the clock signal CL is applied.

フリップフロップ回路19もこのようにしてリプライ信
号の入力の有無に対応して論理値″″1”もしくは“O
”を出力し、こnはフリップフロップ回路18によるロ
ック要求の成功もしくは不成功いずルかを待ち受ける情
報として出力ライン191  に出力さ几たのち、フリ
ップフロップ回路18の出力と全く同様にして制御記憶
レジスタ23で指定さnる次のマイクロ命令アドレス金
変えて制御記憶アドレスレジスタ22の指定するアドレ
ス金、ロック成功もしくは不成功に対応して実行すべき
次のマイクロプログラムの指定し、その処理を実行せし
める。
In this way, the flip-flop circuit 19 also changes to the logic value ""1" or "O" depending on whether or not the reply signal is input.
” is output to the output line 191 as information to wait for whether the lock request by the flip-flop circuit 18 is successful or unsuccessful. After that, it is controlled in exactly the same way as the output of the flip-flop circuit 18. The next micro-instruction address specified by the memory register 23 is changed to the address specified by the control memory address register 22, and the next micro-program to be executed is specified in response to lock success or failure, and its processing is executed. Let it be carried out.

ロック要求が不成功に終った場合、そのプロセッサは他
プロセツサからロック解除通知が発生しない間もしくは
外部イベントが発生しない間は、・前述したように出力
ライ/131 に論理値″1#全出力しておシ、この結
果AND 回路17は論理値0#會、OR回路2oは論
理値″′1″全1″七七出力し、フリップフロップ回路
18,19の出力はそnぞれ論理値″′0″、および論
理値@1#に変更さルる。こnはロック要求不成功の結
果と等しく、マイクロ命令アドレスはロック不成功の処
理t−災行せしめるマイクロ命令アドレスを指示するよ
うに指定さ几る。
If the lock request is unsuccessful, the processor outputs the logic value ``1#'' to the output line /131 as described above, unless a lock release notification is generated from another processor or an external event occurs. As a result, the AND circuit 17 outputs a logical value of 0, the OR circuit 2o outputs a logical value of ``1'', and the outputs of the flip-flop circuits 18 and 19 each have a logical value of n''. '0'', and the logical value @1#. This n is equal to the result of an unsuccessful lock request, and the microinstruction address is specified to point to the microinstruction address that causes the lock failure to proceed.

また、ロック要求が成功した場合、もしくはロック要求
が不成功に終った場合て他プロセツサか。
Also, if the lock request is successful, or if the lock request is unsuccessful, the other processor?

らロック解除通知が発生しfcアと、あるいは外部イベ
ントが発生したあとは出力ライン131 には論理値@
O”が出力さnフリップフロップ回路18゜19にはロ
ック制御回路3の出力がそのままストアさnる。
After a lock release notification occurs and an external event occurs, the output line 131 has a logical value @
The output of the lock control circuit 3 is stored as it is in the flip-flop circuits 18 and 19.

このようにして、ロック解除状態にあっては複数のCP
U からのロック要求を受けてこrl′t−判足し、ロ
ック要求に応答するリグライ信号とともにロックの成功
もしくは不成功をそnぞnのCPUに通知して、成功し
たCPU は本来の処理を実行せしめ、不成功のCPU
 についてはロック要求の無意味な繰返しを抑止じた待
機状態として次のロック成功の機会全付与するようにロ
ック要求の結果f:CPU に通知しつつ、CPUには
この結果に対応する処理を実行せしめるロック要求結果
通知手段とロック要求結果変更手段とによって極めて効
果的なロック動作を行なっている。
In this way, in the unlocked state, multiple CP
Upon receiving the lock request from U, the CPU determines whether the lock was successful or not and sends a retry signal in response to the lock request to each CPU, and the successful CPU executes the original processing. An unsuccessful CPU
, the result of the lock request f: is notified to the CPU, and the CPU executes the process corresponding to this result in a standby state that suppresses the meaningless repetition of the lock request and gives all chances for the next successful lock. The lock request result notifying means and the lock request result changing means provide an extremely effective locking operation.

本発明のロック制御方式は、ロックによシシステム共有
資源の排他制御上行なうマルチプロセッサシステムにお
いて、ロック要求に失敗したプロセッサはこれを認識し
てロック解除状態になるまでは無意味な繰返し要求を避
け、またロック要求に成功したプロセッサはこれによっ
て処理業務を完了した場合、ロック解除を他のプロセッ
サに通知してロック要求を行なわしめるように制御する
点に基本的な特徴を有するものでロシ、第1図に示す実
施例の変形も種種考えらnる。
The lock control method of the present invention is such that in a multiprocessor system that uses locks to perform exclusive control of system-shared resources, a processor that has failed in a lock request recognizes this and makes meaningless repeated requests until the lock is released. The basic feature is that when a processor that has successfully made a lock request has completed its processing task, it notifies other processors of the lock release and controls them to make a lock request. Various modifications of the embodiment shown in FIG. 1 are possible.

たとえば、第1図の実施例ではプロセッサがCPtJ(
0)1オJ:びCPU(1)2ノ2 個tJll用f 
、6 場e ’に例としているが、この個数はマルチプ
ロセッサシステムO規模に応じて任意に設定しても全く
同様に実施しうろことは明らかである。
For example, in the embodiment of FIG.
0) 1 oJ: and CPU (1) 2 no 2 pieces tJll f
, 6, case e' is taken as an example, but it is clear that this number can be arbitrarily set depending on the scale of the multiprocessor system O and the implementation can be carried out in exactly the same way.

また、フリップフロップ回路11.13.18.および
19はこnをD型フリップフロッ1回路としているが、
こルらは同等な機能を有する他のフリップフロップ回路
と置換しても差支えなく、以上は本発明の主旨を損なう
ことなくいずnも容易に実施しうるものである。
Also, flip-flop circuits 11.13.18. and 19 is a D-type flip-flop circuit,
There is no problem in replacing these with other flip-flop circuits having equivalent functions, and the above can be easily implemented without detracting from the gist of the present invention.

以上説明したように本発明によ1ttJf、ロックによ
シシステム共有資源の排他制御を行ないつつ処理を行な
うマルチプロセッサシステムにおいて、ロック要求を失
敗したときはこf′Lt−認識してロック可能状態とな
るロック解除信号を受けるまでは繰返しロック要求を抑
止し、ロックに成功して本来の成理全完了したときはロ
ック解除信号を他の全プロセッサに通知するという手段
金偏えることによって無意味なロック要求の繰返しを避
は従ってマルチプロセッサのシステム性能の低下全大幅
に改善しうるロック制御方式が実現できるという効果が
ある。
As explained above, according to the present invention, in a multiprocessor system that performs processing while performing exclusive control of system-shared resources, when a lock request fails, this f'Lt-recognizes and locks possible state. The method of repeatedly suppressing lock requests until a lock release signal is received, and then notifying all other processors of the lock release signal when the lock is successfully completed and the original purpose is completed, is meaningless by distributing the money. Avoiding repeated lock requests has the effect of realizing a lock control scheme that can significantly improve the overall performance of a multiprocessor system.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明の一実施例を示すブロック図である。 1.4・・・・・・CPU、 3・・・・・・ロック制
御回路、11.13゜18.19・・・・・・フリップ
フロップ回路、12,20・・・・・・OR回路、14
,17・・・・・・AND回路、15.16・・・・・
・NOT回路、21・・・・・・制御記憶、22・・・
・・・制御記憶アドレスレジスタ、23・・・・・・制
御記憶レジスタ。 代理人 弁理士  内 原   晋
FIG. 1 is a block diagram showing one embodiment of the present invention. 1.4...CPU, 3...Lock control circuit, 11.13゜18.19...Flip-flop circuit, 12,20...OR circuit , 14
, 17...AND circuit, 15.16...
・NOT circuit, 21... Control memory, 22...
. . . Control storage address register, 23 . . . Control storage register. Agent Patent Attorney Susumu Uchihara

Claims (1)

【特許請求の範囲】[Claims] ロックによシシステム共有資源の排他制御上行なうマル
チプロセッサシステムにおいて、このマルチプロセッサ
システムを構成する複数のプロセッサからのロック要求
を受けるとこ几に応答しロックが可能であるかもしくは
不可能であるかによってロック成功もしくは不成功の結
果をそ几ぞnのプロセッサに通知しこの結果に対応する
処理を実行せしめるロック要求結果通知手段と、前記複
数のプロセッサのうちのいず几かがロック要求上行なっ
て失敗したときこf′Lf、ロック要求を行なったプロ
セッサが認識するロック要求失敗認識手段と、ロック要
求を行なったプロセッサがロック要求に成功し果すべき
処理全実行したのち自プロセッサ以外の前記複数の全プ
ロセッサに対しロック解除を通知するロック解除通知手
段と、前記ロック要求失敗認識手段によってロック要求
を出したプロセッサがロック要求の失敗全認識した場合
前記ロック解除手段によって他のプロセッサからロック
解除を通知さnるまでロック要求を抑止するロック要求
抑止手段と、前記ロック要求失敗認識手段によってロッ
ク要求金山したプロセッサがロック要求の失敗全認識し
た場合前記ロック要求結果通知手段の結果を変更するロ
ック要求結果変更手段とを備えてマルチプロセッサシス
テムにおけるロック要求の制御を行なうことを特徴とす
るロック制御方式。
In a multiprocessor system that uses locks for exclusive control of system-shared resources, is it possible or impossible to lock in response to a lock request from multiple processors that make up this multiprocessor system? a lock request result notifying means for notifying each processor of a result of success or failure of the lock and causing the processor to execute a process corresponding to the result; When the lock request fails, f'Lf is recognized by the lock request failure recognition means recognized by the processor that made the lock request, and after the processor that made the lock request succeeds in the lock request and executes all the processing that should be carried out, the above-mentioned plurality of processors other than the own processor lock release notification means for notifying all processors of lock release; and when a processor that issued a lock request recognizes all failures of the lock request by the lock request failure recognition means, the lock release means requests unlocking from other processors. a lock request suppressing means for suppressing a lock request until a lock request is notified; and a lock request for changing a result of the lock request result notification means when a processor that has received a lock request by the lock request failure recognition means recognizes all failures of the lock request. 1. A lock control method comprising a result changing means to control lock requests in a multiprocessor system.
JP58049254A 1983-03-24 1983-03-24 Lock control system Granted JPS59173866A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58049254A JPS59173866A (en) 1983-03-24 1983-03-24 Lock control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58049254A JPS59173866A (en) 1983-03-24 1983-03-24 Lock control system

Publications (2)

Publication Number Publication Date
JPS59173866A true JPS59173866A (en) 1984-10-02
JPS6336545B2 JPS6336545B2 (en) 1988-07-20

Family

ID=12825694

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58049254A Granted JPS59173866A (en) 1983-03-24 1983-03-24 Lock control system

Country Status (1)

Country Link
JP (1) JPS59173866A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS626366A (en) * 1985-07-03 1987-01-13 Hitachi Ltd Memory control system
JPS6367670A (en) * 1986-09-09 1988-03-26 Fujitsu Ltd Managing and processing system for occupation information on inter-system shared resources
JPH02500226A (en) * 1987-05-01 1990-01-25 ディジタル イクイプメント コーポレーション Commander node method and apparatus for ensuring sufficient access to system resources in a multiprocessor computer system
JPH0625985B2 (en) * 1987-05-01 1994-04-06 ディジタル イクイプメント コーポレーション Method and apparatus for ensuring proper access to system resources by a processor in a multiprocessor computer system
US5341510A (en) * 1987-05-01 1994-08-23 Digital Equipment Corporation Commander node method and apparatus for assuring adequate access to system resources in a multiprocessor

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS626366A (en) * 1985-07-03 1987-01-13 Hitachi Ltd Memory control system
JPS6367670A (en) * 1986-09-09 1988-03-26 Fujitsu Ltd Managing and processing system for occupation information on inter-system shared resources
JPH0511342B2 (en) * 1986-09-09 1993-02-15 Fujitsu Ltd
JPH02500226A (en) * 1987-05-01 1990-01-25 ディジタル イクイプメント コーポレーション Commander node method and apparatus for ensuring sufficient access to system resources in a multiprocessor computer system
JPH0625985B2 (en) * 1987-05-01 1994-04-06 ディジタル イクイプメント コーポレーション Method and apparatus for ensuring proper access to system resources by a processor in a multiprocessor computer system
US5341510A (en) * 1987-05-01 1994-08-23 Digital Equipment Corporation Commander node method and apparatus for assuring adequate access to system resources in a multiprocessor

Also Published As

Publication number Publication date
JPS6336545B2 (en) 1988-07-20

Similar Documents

Publication Publication Date Title
US3551892A (en) Interaction in a multi-processing system utilizing central timers
US4937733A (en) Method and apparatus for assuring adequate access to system resources by processors in a multiprocessor computer system
US5524247A (en) System for scheduling programming units to a resource based on status variables indicating a lock or lock-wait state thereof
US4665484A (en) Shared memory multiprocessing system & method
US6226717B1 (en) System and method for exclusive access to shared storage
US20220156084A1 (en) Processor architecture with micro-threading control by hardware-accelerated kernel thread
JP2830116B2 (en) Lock control mechanism in multiprocessor system
JPH04308961A (en) Means and apparatus for notifying state of synchronous locking of occupied process
CN110597640A (en) Inter-process data transmission method and device, terminal and computer storage medium
US20040117793A1 (en) Operating system architecture employing synchronous tasks
JPH1115793A (en) Protection method for resource maintainability
US4348722A (en) Bus error recognition for microprogrammed data processor
JPH02250119A (en) Timer with multiple timer reference function
JPH02252010A (en) Timer channel with match recognization chracteristics
US3309672A (en) Electronic computer interrupt system
JPS59173866A (en) Lock control system
US5341510A (en) Commander node method and apparatus for assuring adequate access to system resources in a multiprocessor
US20200264886A1 (en) Reduction of interrupt service latency in multi-processor systems
JPS6332648A (en) Multiplex processor level altering/synchronizing apparatus
JP3560534B2 (en) Multiprocessor system and its exclusive control method
JP2011118756A (en) Exclusive control program, exclusive control method, and information processing system
CN117453413A (en) Resource application method, device, electronic equipment and storage medium
JPH02194464A (en) Lock control mechanism for multiprocessor system
JP2845542B2 (en) Exclusive control method in multiprocessor system
JPS623367A (en) Main storage access system