JPH0467226B2 - - Google Patents

Info

Publication number
JPH0467226B2
JPH0467226B2 JP10951282A JP10951282A JPH0467226B2 JP H0467226 B2 JPH0467226 B2 JP H0467226B2 JP 10951282 A JP10951282 A JP 10951282A JP 10951282 A JP10951282 A JP 10951282A JP H0467226 B2 JPH0467226 B2 JP H0467226B2
Authority
JP
Japan
Prior art keywords
interlock
processor
output
signal
type
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
JP10951282A
Other languages
English (en)
Other versions
JPS58225467A (ja
Inventor
Hiroshi Nakamura
Kazutoshi Eguchi
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.)
Toshiba Corp
Original Assignee
Tokyo Shibaura 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 Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP10951282A priority Critical patent/JPS58225467A/ja
Publication of JPS58225467A publication Critical patent/JPS58225467A/ja
Publication of JPH0467226B2 publication Critical patent/JPH0467226B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は複数のプロセツサが同時に同種の操作
を行なうことを禁止するマルチプロセツサシステ
ムにおけるインタロツク方式に関する。
〔発明の技術的背景〕
複数のプロセツサがメモリなどの各種資源を共
有するマルチプロセツサシステムでは、各プロセ
ツサが同時に同種の操作を行なうことを禁止する
いわゆるインクロツク機構が設けられているのが
一般的である。従来、この種のインタロツク機構
は次のようにして実現されていた。すなわち第1
図に示される従来のマルチプロセツサシステムで
は、Test and Setという命令(以下TS命令と称
する)と、Store Byteという命令(以下、STB
命令と称する)とが用意されており、例えばプロ
セツサ(以下、Pと称する)101がメモリ20
の或るブロツクを参照するなどの特定種類の操作
を行なう場合に、まずP101は上記TS命令を実
行するようになつている。このTS命令はメモリ
制御装置30を介してメモリ20の当該命令で指
定される番地の1バイトデータ(制御データと称
される)を読み取り、当該データが例えば全て論
理“0”の場合に上記指定番地の内容を全て論理
“1”に書き替える命令である。このTS命令によ
つて上述の書き替えが終了すると、P101は上
記特定種類の操作を行なう。そして、P101
当該特定種類の操作を実行している際中に他のP
102〜10nがこの種の操作を行なうために上
記TS命令を実行しても、上記指定番地の内容が
インタロツク状態を示す論理“1”となつている
ため、P101と同種の操作(この例ではメモリ
参照)を行なうことは禁止される。これに対し、
STB命令は上記特定種類の操作が終了した後に
実行される命令で、上記指定番地の内容(制御デ
ータ)を全て論理“0”に戻す命令である。この
STB命令が実行されることにより他のP(プロセ
ツサ)がP101と同様の手順で上記特定種類の
操作を行なうことが可能となる。このように従来
のマルチプロセツサシステムでは、TS命令と
STB命令とを利用してソフトウエアレベルでの
インタロツク機構を実現していた。すなわち、
TS命令でインタロツクをかけ、STB命令でイン
タロツクをはずすことができる。
〔背景技術の問題点〕
しかし、上述した従来のインタロツク方式で
は、インタロツクのためにメモリ20の特定領域
に制御データを用意しなければならず、しかも当
該制御データは誤つて書き替えられる危険に常に
さらされており、誤つて書き替えられた場合には
インタロツク機構が有効に機能されない欠点があ
つた。
〔発明の目的〕
本発明は上記事情に鑑みてなされたものでその
目的は、メモリ参照を前提としないインタロツク
機構の実現が図れ、もつてメモリ上に制御データ
を用意することが不要となり、確実なインタロツ
クが行なえるマルチプロセツサシステムにおける
インタロツク方式を提供することにある。
〔発明の概要〕
本発明は各プロセツサがメモリを参照すること
を制御するメモリ制御装置から論理的に独立して
いるインタロツク回路を設け、このインタロツク
回路にプロセツサが働きかけることによりインタ
ロツクをかけたり、インタロツクをはずしたりす
るようにしている。そこで本発明ではオペランド
をもたず、メモリ上に制御データを必要としない
2種の命令(LOCK命令、UNLOCK命令)を用
意し、プロセツサは各プロセツサが同時に同種の
操作を行なうことを禁止する必要がある場合に
LOCK命令を実行することによつて得られるイン
タロツク要求信号をインタロツク回路に出力する
ようになつている。インタロツク回路は当該要求
信号が1台のプロセツサだけから出力されている
場合にはそのプロセツサを示すプロセツサ情報を
レジスタに登録し、当該要求信号が複数のプロセ
ツサから同時に出力されている場合にはこれらプ
ロセツサの中で最も優先順位の高いプロセツサを
示すプロセツサ情報をレジスタに登録し、この登
録情報で示される1台のプロセツサに対してのみ
第1種許可信号を出力して上記操作の実行を許可
すると同時に、当該プロセツサを除く全てのプロ
セツサに対して上記操作を禁止するための禁止信
号を出力してインタロツクをかけるものである。
そして、上記操作の実行が許可されたプロセツサ
が当該操作終了時にUNLOCK命令を実行するこ
とによつて得られるインタロツク解除信号をイン
タロツク回路に出力すると、インタロツク回路は
全プロセツサに第2種許可信号を出力してインタ
ロツクをはずすようになつている。
〔発明の実施例〕
以下、本発明の一実施例を図面を参照して説明
する。第2図のマルチプロセツサシステムにおい
て1001〜100nはP(プロセツサ)である。
200は各P1001〜100nが共有使用する
メモリ、300はP1001〜100nからのメ
モリ200への参照を制御するメモリ制御装置で
ある。400はインタロツクを制御するインタロ
ツク回路でり、メモリ制御装置300から論理的
に独立している。インタロツク回路400は各P
1001〜100nが同時に同種の操作を行なう
ことを禁止する回路であり、第3図に示されるよ
うに構成されている。
第3図において、410は各P1001〜10
0nの優先度に従つてインタロツク要求を受け付
けるための優先順位エンコーダである。優先順位
エンコーダ410には、各P1001〜P100
nからのインタロツク要求を示すインタロツク要
求信号LOCK1〜LOCKnが入力されるようになつ
ている。この信号LOCKi(i=i〜n)は各P1
001〜100nが同時に同種の操作を行なうこ
とを禁止する必要がある場合に、当該操作を行な
いたいP100iから出力されるもので、LOCK
命令を実行することによつて得られる信号であ
る。このLOCK命令はオペランドをもたず、メモ
リ200上に制御データを必要としない。すなわ
ち、LOCK命令はメモリ参照を前提としない。し
たがつてLOCK命令の実行はメモリ制御装置30
0の動作とは無関係に行なわれる。これは後述す
るUNLOCK命令についても同様である。優先順
位エンコーダ410は例えば米テキサスインスツ
ルメント(TI)社製のSN74148である。
420は優先順位エンコーダの出力であるプロ
セツサ番号(1番〜n番)が置数されるレジスタ
である。430は前記各インタロツク要求信号
LOCK1〜LOCKnが入力されるオアゲート、44
0はオアゲート430の出力およびシステムクロ
ツク信号CLKが入力されるアンドゲートである。
アンドゲート440の出力はレジスタ420のク
ロツク入力端子(CK端子)に供給される。45
0は各P1001〜100nからのインタロツク
解除要求を示すインタロツク解除信号
UNLOCK1〜UNLOCKnが入力されるオアゲー
トである。この信号UNLOCKi(i=1〜n)は
P100iが上述の操作を終了した場合に当該P
100iから出力されるもので、UKLOCK命令
を実行することによつて得られる信号である。4
60はオアゲート450の出力およびシステムク
ロツク信号CLKが入力されるアンドゲートであ
る。アンドゲート460の出力はレジスタ420
のクリア端子(CLR端子)に供給される。
470はデコード部である。デコード部470
はレジスタ420の内容に基づいて論理“0”ま
たは論理“1”の信号INHIBIT1〜nに対応する
P1001〜100nに出力するために、デコー
ダ471とオアゲート4721〜472nとを有
している。デコーダ471はレジスタ420の内
容をデコードし、当該内容がプロセツサ番号(1
番〜n番)の場合には出力端子D1〜Dnのうちの
対応する出力端子から論理“1”の信号(第1種
許可信号)を出力する。またデコーダ471はレ
ジスタ420の内容が全て論理“0”すなわちレ
ジスタ420がクリア状態にある場合には出力端
子D0から論理“1”の信号(第2種許可信号)
を出力する。オアゲート472i(i=1〜n)
はデコーダ471の出力端子D0から出力される
信号と同じく出力端子Di(i=1〜n)から出力
される信号との論理和をとり信号INHIBITi(i
=1−n)を出力する。この信号INHIBITi(i
=1〜n)は対応するP100i(i=1〜n)
に供給される。P100i(i=1〜n)はこの
信号INHIBITi(i=1〜n)の状態に応じてイ
ンタロツク回路400の使用可否、前記操作の許
可/禁止を判断するようになつている。
次に本発明の一実施例の動作を第4図のフロー
チヤートを参照して説明する。今、P1002
或る種の操作、例えばメモリ200の参照を行な
う際、他のP(プロセツサ)がメモリ参照を同時
(この同時とは、或るPがメモリ参照などの操作
中にある場合に他のPが当該操作を行なう状態も
含むものである)に行なうことを禁止するために
LOCK命令を実行しようとしているものとする。
P1002は当該LOCK命令をマイクロプログラ
ムレベルで実行するようになつており、第4図の
フローチヤートに示されているように、まずイン
タロツク回路400が使用可であるか否かの判定
を行なう(ステツプS1)。この判定はインタロツ
ク回路400(のオアゲート4722)からP1
002に供給される信号INHIBIT2の論理状態に
基づいて行なわれる。本実施例において、
INHIBITi=“1”はインタロツク回路400の
使用許可を示し、INHIBITi=“0”はインタロ
ツク回路400の使用禁止を示している。今、信
号INHIBIT1〜INHIBITnが論理“1”であるも
のとすると、P1002はINHIBIT2=“1”に基
づいてインタロツク回路400の使用許可を判断
して(ステツプS1)インタロツク要求信号
LOCK2をインタロツク回路400に出力する。
(ステツプS2)。この信号LOCK2はインタロツク
回路400の優先順位エンコーダ410に入力さ
れる。
優先順位エンコーダ410は入力されるインタ
ロツク信号LOCKiに対応するP100iにプロ
セツサ番号iを出力する。この例では信号
LOCK2が入力されており、優先順位エンコーダ
410はP1002を示すプロセツサ番号2を出
力する。なお、本実施例ではP1001〜P10
0nには優先順位が与えられており、P1001
P1002…P100nの順に優先順位が低くな
つている。したがつて、P1002より優先順位
の高いP1001がP1002と同時にLOCK命令
を実行してインタロツク要求信号LOCK1を出力
した場合には、優先順位エンコーダ410は、こ
れら入力される信号LOCK1,LOCK2から優先順
位を識別してP1001を示すプロセツサ番号1
を出力することになる。
優先順位エンコーダ410から出力されるP1
002を示すプロセツサ番号2はレジスタ420
に入力される。当該プロセツサ番号2はシステム
クロツク信号CLKの特定のタイミングでレジス
タ420に置数(すなわち登録)される。レジス
タ420の出力はデコーダ471でデコードされ
る。レジスタ420の出力すなわちレジスタ42
0の登録内容がプロセツサ番号i(i=1〜n)
である場合、デコーダ471の出力端子Di(i=
1〜n)から論理“1”の信号が出力される。端
子Di(i=1〜n)からの論理“1”出力は対応
するP100i(i=1〜n)がインタロツクを
かけていることを示すものである。これに対し、
レジスタ420の出力が全て論理“0”の場合、
デコーダ471の出力端子D0から論理“1”の
信号が出力される。端子D0からの論理“1”出
力はインタロツクをかけているP(プロセツサ)
がないことを示すものである。この例では、レジ
スタ420の出力内容はP1002を示すプロセ
ツサ番号2であり、したがつてデコーダ471の
出力端子D2だけから論理“1”の信号が出力さ
れる。この結果、信号INHIBIT2のみが論理
“1”となり、他の信号INHIBIT1,INHIBIT3
〜INHIBITnについては全て論理“0”となる。
P1002はインタロツク要求信号LOCK2を出
力すると、次のサイクルでは前記操作が許可され
たか否かいいかえれば他のPに対してインタロツ
クをかけたか否かの判断を行なう(ステツプ
S3)。この判断は、信号INHIB−IT2の論理状態
に基づいて行なわれる。もし、P1002がイン
タロツク要求信号LOCK2と出力すると同時にP
1001がインタロツク要求信号LOCK1を出力し
た場合には、P1001がレジスタ420に登録
されるので信号INHIBIT2は論理“0”となつて
しまい(信号INHIBIT1のみが論理“1”とな
る)、P1002は前記操作が禁止されているもの
と判断することになる。この場合、P1002
待機状態すなわちステツプS1に戻る(ステツプ
S2でNO判定の場合も同じ)。なお、待機状態と
せず、他種の操作を行なうようにしてもよい。こ
れに対し、前述のように信号INHIBIT2が論理
“1”の場合には、P1002は前記操作が許可さ
れ(かつ他のPに対してインタロツクがかけら
れ)たものと判断し、当該操作を実行する。
P1002は上記操作を実行すると、インタロ
ツクをはずすためにUNLOCK命令を実行する。
この結果、P1002からインタロツク解除信号
UNLOCK2がインタロツク回路400に出力さ
れ、レジスタ420がクリア状態(すなわちレジ
スタ420の内容が全て論理“0”)となる。レ
ジスタ420の出力内容が変化することによりデ
コーダ471の出力も変化し、この場合には出力
端子D0の出力のみが論理“1”となる。これに
より信号INHIBIT1〜INHIBITnが全て論理
“1”となり、インタロツクがはずされる。この
結果、全てのP1001〜100nが前記操作と
同種の操作を行なうこと、およびインタロツク回
路400を使用することが可能となる。なお、各
P1001〜100nが上記操作を行なう場合に、
他P(プロセツサ)が同種の操作を行なうことを
禁止したい場合には、インタロツク回路400を
使用して前述したように他Pに対してインタロツ
クをかければよい。
ところで前記実施例では、デコーダ471の出
力端子Di(i=1〜n)からの出力信号(第1種
許可信号)と同じく出力端子D0からの出力信号
(第2種許可信号)とのオア出力を信号
INHIBITiとして対応するP100iに出力する
場合について出力したが、端子Diからの出力信
号を対応するP100iに出力すると共に、端子
D0からの出力信号を全てのP1001〜100n
に共通に出力するようにしてもよい。この場合、
P100iは端子D0からの出力信号によつてイ
ンタロツク回路の使用可否を判断し、端子Diか
らの出力信号によつて該当操作の許可の有無(す
なわち他Pに対してインタロツクがかけられたか
否か)を判断することになる。
〔発明の効果〕
以上詳述したように本発明のマルチプロセツサ
システムにおけるインタロツク方式によれば、メ
モリ参照を前提としないインタロツク機構の実現
が図れるのでメモリ上に制御データを用意するこ
とが不要となり、誤つたメモリ書き替えに対して
も安全であり確実なインタロツクが行なえる。
【図面の簡単な説明】
第1図は従来例を示すブロツク図、第2図は本
発明の一実施例を示すブロツク図、第3図は上記
実施例におけるインタロツク回路の構成を示す
図、第4図は動作を説明するためのフローチヤー
トである。 101〜10n,1001〜100n……プロセ
ツサP、20,200……メモリ、30,300
……メモリ制御装置、400……インタロツク回
路、410……優先順位エンコーダ、420……
レジスタ、470……デコード部。

Claims (1)

  1. 【特許請求の範囲】 1 複数のプロセツサが各種資源を共有使用する
    マルチプロセツサシステムにおいて、 上記プロセツサが予め定められた処理である特
    定種類の操作を行なう際に、他のプロセツサがこ
    の特定種類の操作と同種の操作を行なうことを禁
    止する要求を出すためのインタロツク回路であつ
    て、上記プロセツサが上記特定種類の操作を行な
    う際に該当プロセツサから出力されるインタロツ
    ク要求信号に基づいて優先順位付けを行ない、最
    も優先順位の高い要求プロセツサを示すプロセツ
    サ情報を出力する優先順位エンコーダと、この優
    先順位エンコーダから出力されるプロセツサ情報
    を保持するための保持手段と、上記特定種類の操
    作の終了時に該当プロセツサから出力されるイン
    タロツク解除信号に基づいて上記保持手段に上記
    複数のプロセツサのいずれをも示さない特定値を
    設定する手段と、上記保持手段の保持内容をデコ
    ードし、当該保持手段に上記プロセツサ情報が保
    持されている場合には該当するプロセツサに対し
    てのみ第1種許可信号を出力すると共に当該プロ
    セツサを除く全てのプロセツサに対して上記特定
    種類の操作と同種の操作の実行を禁止することを
    要求する禁止信号を出力してインタロツクをかけ
    る一方、上記保持手段に上記特定値が設定されて
    いる場合には上記複数のプロセツサの全てに対し
    て第2種許可信号を出力してインタロツクをはず
    すデコード手段とを具備するインタロツク回路
    を、メモリの制御を司るメモリ制御装置から独立
    して設け、 上記各プロセツサは、上記インタロツク回路に
    上記インタロツク要求信号を出力した際には、上
    記インタロツク回路から自プロセツサに上記第1
    種許可信号が与えられることにより上記特定種類
    の操作の実行が許可されたことを判断し、上記イ
    ンタロツク回路を使用しようとする際には、その
    使用可否を上記第2種許可信号によつて判断する
    ことを特徴とするマルチプロセツサシステムにお
    けるインタロツク方式。
JP10951282A 1982-06-25 1982-06-25 マルチプロセツサシステムにおけるインタロツク方式 Granted JPS58225467A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10951282A JPS58225467A (ja) 1982-06-25 1982-06-25 マルチプロセツサシステムにおけるインタロツク方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10951282A JPS58225467A (ja) 1982-06-25 1982-06-25 マルチプロセツサシステムにおけるインタロツク方式

Publications (2)

Publication Number Publication Date
JPS58225467A JPS58225467A (ja) 1983-12-27
JPH0467226B2 true JPH0467226B2 (ja) 1992-10-27

Family

ID=14512138

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10951282A Granted JPS58225467A (ja) 1982-06-25 1982-06-25 マルチプロセツサシステムにおけるインタロツク方式

Country Status (1)

Country Link
JP (1) JPS58225467A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61198355A (ja) * 1985-02-28 1986-09-02 Toshiba Corp マルチプロセツサシステム
JPH0664567B2 (ja) * 1989-12-25 1994-08-22 株式会社日立製作所 多重プロセッサシステム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51131232A (en) * 1975-05-12 1976-11-15 Toshiba Corp Computer composit system
JPS5289438A (en) * 1976-01-21 1977-07-27 Hitachi Ltd Request selection device

Also Published As

Publication number Publication date
JPS58225467A (ja) 1983-12-27

Similar Documents

Publication Publication Date Title
US4354227A (en) Fixed resource allocation method and apparatus for multiprocessor systems having complementarily phased cycles
US5889983A (en) Compare and exchange operation in a processing system
US6754859B2 (en) Computer processor read/alter/rewrite optimization cache invalidate signals
JPS6243764A (ja) バス・ステ−ト制御回路
JPS5837587B2 (ja) メモリ・ロック装置
JP3661852B2 (ja) ライブラリに権利を割り当てるためのシステムを備える保護されたマイクロプロセッサ
JP2002358237A (ja) プロセッサのメモリ装置に対する権限のないアクセスを防止する保護回路
US5848276A (en) High speed, direct register access operation for parallel processing units
JPH0467226B2 (ja)
US5951662A (en) Single latch semaphore register device for multi-processor systems
US6535943B1 (en) Information processing device enabling floating interrupt to be pending and a method executing an interrupt condition change instruction
JPS62160554A (ja) メモリの不正アクセス防止装置
JPS61245255A (ja) 不揮発性メモリ装置
JPH04127261A (ja) マルチプロセッサシステム
JPS5834856B2 (ja) キオクセイギヨソウチ
JP2968060B2 (ja) マイクロプロセッサ
JPS6238743B2 (ja)
JPH0256663A (ja) ロツクデータ設定装置
JPS60132263A (ja) 記憶制御方式
JPS60159958A (ja) デ−タ転送制御回路
JPS6068448A (ja) 複数計算機システムの共通メモリ制御方式
JPH01187665A (ja) プロセッサ間の割込み方式
JPS61194548A (ja) フアイルアクセス排他制御方式
JPH05127974A (ja) セマフオビツト回路
JPS6174045A (ja) マルチプロセツサシステムにおけるチヤネル制御方式