JPS6077257A - Multiprocessor system - Google Patents
Multiprocessor systemInfo
- Publication number
- JPS6077257A JPS6077257A JP18477183A JP18477183A JPS6077257A JP S6077257 A JPS6077257 A JP S6077257A JP 18477183 A JP18477183 A JP 18477183A JP 18477183 A JP18477183 A JP 18477183A JP S6077257 A JPS6077257 A JP S6077257A
- Authority
- JP
- Japan
- Prior art keywords
- lock
- request
- unlock
- success
- test
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling 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)
Abstract
Description
【発明の詳細な説明】
技術分野
本発明は枚数のプロセッサと共通記憶装置とでm戒され
、ロック/アンロック方式の排他制御を行なうマルチプ
ロセッサシステムに関する。DETAILED DESCRIPTION OF THE INVENTION Technical Field The present invention relates to a multiprocessor system that is controlled by a number of processors and a common storage device and that performs lock/unlock exclusive control.
背景技術
複数のプロセッサと共通記憶装置とで構成されるマルチ
プロセッサシステムでは、複数のプロセッサによるデー
タベースの同時更新で、互いに干渉しあって、データの
内容が破壊された、間違った変更を受けないように、デ
ータベースを排他制御する必要がある。この排他制御の
方式としてロック/アンロック方式があり、この方式は
、あるプロセッサが更新したいデータを含むデータベー
スの部分をロックし、更新処理が完了するまでは他のプ
ロセッサの更新処理を拒否するものである。BACKGROUND ART In a multiprocessor system consisting of a plurality of processors and a common storage device, it is necessary to prevent data contents from being destroyed or erroneously changed due to mutual interference caused by simultaneous updating of a database by the plurality of processors. Therefore, it is necessary to have exclusive control over the database. One method of exclusive control is the lock/unlock method, in which a processor locks the part of the database that contains the data it wants to update, and refuses update processing by other processors until the update processing is complete. It is.
このロック/アンロック方式の排他制御を行なうマルチ
プロセッサシステムでは、例外(通常のプログラムシー
クンスを遂行できない事態)が発生ずると、ロック/ア
ンロック状態を示すデータをサーチして自プロセッサが
ロックしているものがあればそれをアンロックするアン
ロック処理を行なっていた。このアンロック処理は、例
外により中断された処理がロックしていたリソースを開
放するために必要である。In a multiprocessor system that uses exclusive lock/unlock control, when an exception occurs (a situation in which a normal program sequence cannot be executed), data indicating the lock/unlock status is searched and the own processor is locked. If there is an item in the list, it will be unlocked. This unlocking process is necessary to release the resources locked by the process that was interrupted by the exception.
このようにマルチプロセッサシステムでは、例外発生時
にロックに関する処理が必要となるが、例外発生時にロ
ックしているものが1つもないときには、このような処
理は本来、不要である。しかも、例外発生時に1つもロ
ックをとっていない場合が大半であるので、性能四スが
大きかった。In this way, in a multiprocessor system, processing related to locking is required when an exception occurs, but such processing is essentially unnecessary when nothing is locked when an exception occurs. Moreover, in most cases, no locks are held when an exception occurs, resulting in a large performance penalty.
発明の目的
したがって、本発明の目的は、例外発生時に自プロセッ
サがロックしているものが1つもないときにはロックに
関する処理を一切行なわずに例外処理を行なえるように
したマルチプロセッサシステムを提供することである。OBJECTS OF THE INVENTION Accordingly, an object of the present invention is to provide a multiprocessor system in which exception processing can be performed without performing any lock-related processing when there is nothing locked by the own processor when an exception occurs. It is.
発明の構成
本発明のマルチプロセッサシステムは〜テストアンドロ
ック要求を行なうテストアンドロック要求手段と、前記
テストアンドロック要求が成功したことを検出するロッ
ク成功検出手段と、アンロック要求を行なうアンロック
要求手段と、アンロック要求を検出するアンロック要求
検出手段と、前記ロック成功検出手段がロック成功を検
出したこと、および前記アンロック要求検出手段がアン
ロック要求を検出したことにより当該プロセッサがロッ
クしているものが少なくとも1つあるか否かを識別する
情報を保持する手段とを備える。Configuration of the Invention The multiprocessor system of the present invention includes: - test and lock request means for making a test and lock request; lock success detection means for detecting that the test and lock request is successful; and an unlock request for making an unlock request. means, an unlock request detecting means for detecting an unlock request, the lock success detecting means detecting a lock success, and the unlock request detecting means detecting an unlock request, so that the processor is locked. and means for holding information for identifying whether or not there is at least one item.
このように、本発明は、当該プロセッサがロックしてい
るものが少なくとも1つあるか否かを判別できるので、
例外発生時に当該プロセッサがロックしているものが1
つもないときにはロックに関する処理を一切行なわず例
外処理を行なうことができ、排他制御のオーバヘッドを
軽減することができる。In this way, the present invention can determine whether there is at least one thing locked by the processor.
1 is locked by the processor when the exception occurs
Exception processing can be performed without any lock-related processing when there is no need, and the overhead of exclusive control can be reduced.
発明を実施するだめの最良の形態 以下、本発明を実施例の図面を参照しながら説明する。Best mode for carrying out the invention The present invention will be described below with reference to drawings of embodiments.
第1図は本発明の一実施例に係るマルチプロセッサシス
テムのブロック図である。本実施例のマルチプロセッサ
システムは、複数の共通記憶装置10.11.12と複
数のプロセッサ20,21.22とシステム制御装置8
0とで構成され、複数の共通記憶装ffi 10.11
. IJとシステム制御装置80はメモリバス50によ
り接続され、複数のプロセッサ20.21.22とシス
テム制御装置80は共通バス40により接続されている
。プロセッサ20,21.22は、テストアンドロック
要求時にアドレス情報とともにロックフラグ情報および
ロックプロセッサ番号情報をシステム制御装置80に送
出する。FIG. 1 is a block diagram of a multiprocessor system according to an embodiment of the present invention. The multiprocessor system of this embodiment includes a plurality of common storage devices 10, 11, 12, a plurality of processors 20, 21, 22, and a system control device 8.
0 and multiple common storage devices ffi 10.11
.. The IJ and the system control device 80 are connected by a memory bus 50, and the plurality of processors 20, 21, 22 and the system control device 80 are connected by a common bus 40. The processors 20, 21, and 22 send address information, lock flag information, and lock processor number information to the system control device 80 at the time of a test and lock request.
第3図(a)はテストアンドロック要求時に送出するデ
ータ(ロックフラグ情報およびロックプロセッサ番号情
報)のフォーマットを示しており、θビットのVにロッ
クフラグ、1〜7ビツトにロックしているプロセッサの
番号が書きこまれている。FIG. 3(a) shows the format of the data (lock flag information and lock processor number information) sent at the time of a test and lock request. number is written on it.
第3図(b)は共通記憶装置内における第8図(a)の
データ(ロックワード)の格納フォーマットを示す。FIG. 3(b) shows the storage format of the data (lock word) of FIG. 8(a) in the common storage device.
ここで、テストアンドロック要求とは、アドレス情報で
示されたアドレスのデータ(第3図(b))全読出し、
ロックフラグ情報Vが′0′ならばロックフラグ情報お
よびロックプロセッサ番号情報をそ、のアドレス情報が
示すエリアに書きこみ、ロックフラグ情報Vが′1′な
らば書きこみは行なわない。Here, the test and lock request means to read all the data (FIG. 3(b)) at the address indicated by the address information,
If the lock flag information V is '0', the lock flag information and lock processor number information are written into the area indicated by the address information, and if the lock flag information V is '1', no writing is performed.
この続出したpツクフラグ情報Vが%0/Fのとぎ一ツ
ク戒功“、′1′のとき10ツク不成功“と呼ぶ。When the successive p-tsk flag information V is %0/F, it is called "one-trick practice success", and when it is '1', it is called "10-trick failure".
第2図はプロセッサ20,21.22の構成の一部を示
すブロック図である。テストアンドロック要求回路61
が共通バス4oを介してシステム制御装ff80にテス
トアンドロック要求を行なうと、ロック成功、四ツク不
成功がリプライ情報として共通バス40を介してシステ
ム制御装置8oがら送られてくる。FIG. 2 is a block diagram showing part of the configuration of the processors 20, 21, and 22. Test and lock request circuit 61
When the test-and-lock request is sent to the system control device ff80 via the common bus 4o, the system control device 8o sends response information indicating whether the lock was successful or not as reply information via the common bus 40.
このロック成功、pツク不成功の情報はロック成功検出
回路62に久方し、10ツク成功“が検出されると、ア
ップダウンカウンタ65に+1のカウント指示が行なわ
れる。アンロック要求はアンロック要求回路68により
共通バス4oを介してシステム制御装置80に対して行
なわれる。このアンロック要求をアンロック要求検出回
路64が検出すると、アップダウンカウンタ65に−1
のカウント指示が行なわれる。すなわち、アップダウン
カウンタ65がリセット状態、つまり10′′のときに
は当該プロセツサがロックしているものはないことを意
味し、アップダウンカウンタ65がセット状態、つまり
′□ IIでないときには当該プロセッサがロックして
いるものが少なくとも一つあることを意味する。This information of lock success and p-tock failure is stored in the lock success detection circuit 62 for a long time, and when "10-tock success" is detected, a +1 count instruction is given to the up/down counter 65. The request circuit 68 sends the unlock request to the system control device 80 via the common bus 4o. When the unlock request detection circuit 64 detects this unlock request, the up/down counter 65 is set to -1.
A count instruction is given. That is, when the up/down counter 65 is in a reset state, that is, 10'', it means that there is nothing locked by the processor, and when the up/down counter 65 is in a set state, that is, it is not '□ II, the processor is locked. means that there is at least one
例外が例外制御回路66で検出されると、ア゛ンブタ。When an exception is detected by the exception control circuit 66, the interrupter is activated.
ランカウンタ65の内容が調べられ、アツブタ゛ウンカ
ウンタ65が一ヒツト状態のときに自ブロセ・ンサカ(
ロックしたものをアンロックする指示がアンロック要求
回路68に出力される。自プロセッサが口゛ンクしたも
のをアンロックする処理は、第8図(b)のロックワー
ドを0から順次nまで続出し、ロックプロセッサ番号か
目プロセッサ番号であるロックされているロックワード
に対してアンロック要求を出していく。The content of the run counter 65 is checked, and when the run counter 65 is in the one-hit state, the current run counter 65 is checked.
An instruction to unlock the locked item is output to the unlock request circuit 68. The process of unlocking what has been locked by the own processor is to sequentially sequentially input the lock words from 0 to n as shown in FIG. and sends an unlock request.
第4図は本発明の池の実証例のプロセッサ20゜21.
22の構成の一部を示すブロック図である。コントロー
ルストア71にはアンロック制御のマイクロプログラム
が格納されている。コントロールストア71にはアドレ
スレジスタ72からアドレスカ5与えられる。アドレス
レジスタ72にはその内容を+1する加算回路78が接
続されている。アドレスレジスタ72には加算回路78
の出力と分岐制御回路74から分岐アドレスフィールド
の内容が入力し、この2つの入力はコントロールストア
71のシーケンス制御フィールドの指示により選択され
る。この分岐アドレスフィールドの内容により分岐アド
レスが修飾され、複雑な条件分岐動作が可能となる。FIG. 4 shows processors 20, 21.
22 is a block diagram showing a part of the configuration of the computer. The control store 71 stores an unlock control microprogram. Control store 71 is given five address numbers from address register 72 . An adder circuit 78 is connected to the address register 72 to add 1 to its contents. The address register 72 has an adder circuit 78
and the content of the branch address field from the branch control circuit 74 are input, and these two inputs are selected by instructions in the sequence control field of the control store 71. The branch address is modified by the contents of this branch address field, allowing complex conditional branching operations.
コントロールストア71から読出されたマイクロプログ
ラムはコマンドレジスタ75に格納され、その出力で当
該プロセッサの各種機能が制御される。The microprogram read from the control store 71 is stored in the command register 75, and its output controls various functions of the processor.
マイクロプログラムの指示によりテストアンドロック要
求回路61が共通バス40を介してシステム制御装置8
0にテストアンドロック要求を出すと、ロック成功、四
ツク不成功の十〇報がシステム制御装置80から共通バ
ス40を介してロック成功検出回路62に送られてくる
。ロック成功がロック成功検出回路62で検出されると
7リツプフロツブ76がセットされる。マイクロプログ
ラムの指示によりアンロック要求回路68からアンロッ
ク要求が共通バス40を介してシステム制御装置80に
送られる。マイクロプログラムは自プロセッサにとって
最後のロックに対してアンロック指示を行なったときに
7リツプフロツブ76にリセット指示を行なう。例外が
例外制御回路66で検出されたときに7リツプフロツブ
76の状態がマイクロプログラムの指示でテストされ、
7リツプフロツブ76がセット状態ならばマイクロプロ
グラムは第8図(t))のロックワードを0から順次n
まで読出し、ロックプロセッサ番号が自ブ四セッサ番号
と同じであればその読出したロックワードに対してアン
ロック指示を行ない、フリップフロップ76がリセット
状態ならばロックに関する処理を行なわないように制御
する。According to instructions from the microprogram, the test and lock request circuit 61 connects to the system controller 8 via the common bus 40.
When a test and lock request is issued to 0, ten reports of successful locking and failure of locking are sent from the system control device 80 to the locking success detection circuit 62 via the common bus 40. When lock success is detected by the lock success detection circuit 62, the 7 lip flop 76 is set. An unlock request is sent from the unlock request circuit 68 to the system controller 80 via the common bus 40 according to instructions from the microprogram. When the microprogram issues an unlock instruction to the last lock for its own processor, it issues a reset instruction to the 7 lip flop block 76. When an exception is detected by the exception control circuit 66, the state of the seven lip flops 76 is tested under the instructions of the microprogram;
7 If the lip-flop 76 is in the set state, the microprogram sets the lock word in FIG. 8(t)) sequentially from 0 to n.
If the lock processor number is the same as the own processor number, an unlock instruction is given to the read lock word, and if the flip-flop 76 is in the reset state, control is performed so that no lock-related processing is performed.
第5図は以上説明したマイクロプログラムのアンロック
制御ルーチンの概略を示すフローチャートである。FIG. 5 is a flowchart showing an outline of the unlock control routine of the microprogram explained above.
第1図は本発明の一実施例に係るマルチプロセッサシス
テムのブロック図、第2図は本発明を構成するプロセッ
サの実施例のブロック図、第8図(a)はテストアンド
ロック要求時に送出するデータのフォーマットを示す図
、第8図(b)は共通記憶装置内のロックワードの格納
フォーマットを示す図、第4図は本発明を構成するプロ
セッサの他の実施例のブロック図、第5図はアンロック
制?A11プログラムのフローチャートである。
10、 IL 12 :共通記憶装置、20、21.2
2 :プロセッサ、
80ニジステム制御装置、
40:共通バス、50:メモリバス、
61:テストアンドロック要求回路、
62:ロック成功検出回路、
68:アンロック要求回路、
64:アンロック要求検出回路、
65ニアツブダウンカウンタ、
66:例外制御回路、
71:コントルールストア、
72ニアドレスレジスタ、
78:加算回路、74;分岐制御回路、75:コマンド
レジスタ、
76:7リツプ70ツブ。
(a) (b)
第3図
第4図
第5因FIG. 1 is a block diagram of a multiprocessor system according to an embodiment of the present invention, FIG. 2 is a block diagram of an embodiment of a processor constituting the present invention, and FIG. 8(a) is a block diagram of a multiprocessor system according to an embodiment of the invention. 8(b) is a diagram showing the storage format of the lock word in the common storage device; FIG. 4 is a block diagram of another embodiment of the processor constituting the present invention; FIG. Is it unlocked? It is a flowchart of the A11 program. 10, IL 12: Common storage, 20, 21.2
2: Processor, 80 System control device, 40: Common bus, 50: Memory bus, 61: Test and lock request circuit, 62: Lock success detection circuit, 68: Unlock request circuit, 64: Unlock request detection circuit, 65 Near block down counter, 66: Exception control circuit, 71: Control store, 72 Near address register, 78: Adder circuit, 74: Branch control circuit, 75: Command register, 76: 7 Rip 70 block. (a) (b) Figure 3 Figure 4 Cause 5
Claims (1)
ロック/アンロック方式の排他制御を行なうマルチプロ
セッサシステムにおいて、テストアンドロック要求を行
なうテストアンドロック要求手段と、前記テストアンド
ロック要求が成功した。ことを検出するロック成功検出
手段と、アンロック要求を行なうアンロック要求手段と
、アンロック要求を検出するアン四ツク要求検出手段と
、前記ロック成功検出手段がロック成功を検出したこと
、および前記アンロック要求検出手段がアンロック要求
を検出したことにより当該プロセッサがロックしている
ものが少なくとも1つあるか否かを識別する情報を保持
する手段とを備えることを%′徴とするマルチプロセッ
サシステム。configured with a plurality of processors and a common storage device,
In a multiprocessor system that performs lock/unlock exclusive control, a test and lock request means performs a test and lock request, and the test and lock request is successful. lock success detection means for detecting a lock success; unlock request means for making an unlock request; unlock request detection means for detecting an unlock request; A multiprocessor characterized by: means for holding information for identifying whether or not there is at least one thing locked by the processor when the unlock request detecting means detects an unlock request. system.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP18477183A JPS6077257A (en) | 1983-10-03 | 1983-10-03 | Multiprocessor system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP18477183A JPS6077257A (en) | 1983-10-03 | 1983-10-03 | Multiprocessor system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6077257A true JPS6077257A (en) | 1985-05-01 |
| JPS6361699B2 JPS6361699B2 (en) | 1988-11-30 |
Family
ID=16159025
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP18477183A Granted JPS6077257A (en) | 1983-10-03 | 1983-10-03 | Multiprocessor system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6077257A (en) |
-
1983
- 1983-10-03 JP JP18477183A patent/JPS6077257A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS6361699B2 (en) | 1988-11-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4791554A (en) | Method and apparatus for preventing deadlock in a data base management system | |
| US5446862A (en) | System and method for granting or preventing atomic or nonatomic memory access requests to shared memory regions | |
| US5895494A (en) | Method of executing perform locked operation instructions for supporting recovery of data consistency if lost due to processor failure, and a method of recovering the data consistency after processor failure | |
| 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 | |
| JPH09138778A (en) | Device and method using semaphore buffer for semaphore instruction | |
| JPS6077257A (en) | Multiprocessor system | |
| CA1302580C (en) | Apparatus and method for using lockout for synchronization of access to main memory signal groups in a multiprocessor data processing system | |
| JPH0444140A (en) | Virtual memory control method | |
| JPS61136132A (en) | Information processor | |
| US5644745A (en) | Apparatus for replacing data availability information for an instruction subsequent to a branch with previous availability information upon branch prediction failure | |
| JPS5834856B2 (en) | Kiokuseigiyosouchi | |
| JP2755646B2 (en) | Data driven data processor | |
| JPS59103155A (en) | Data processing module | |
| JP2547329B2 (en) | Lock data setting device | |
| CN115048220A (en) | Dynamic data competition detection method, device, terminal and storage medium | |
| JPH0279122A (en) | Floating point arithmetic mechanism | |
| JPH05143422A (en) | Updated journal managing system | |
| JPH0527811A (en) | Sequencer contact lock system | |
| JPH07295812A (en) | Conditional branch control method and apparatus | |
| JPH03232051A (en) | Semaphore access control method | |
| JPH0548498B2 (en) | ||
| JPH01147773A (en) | Vector processor | |
| JPS61194548A (en) | Exclusive control system for file access |