JPH0437948A - 排他制御方式 - Google Patents

排他制御方式

Info

Publication number
JPH0437948A
JPH0437948A JP14161690A JP14161690A JPH0437948A JP H0437948 A JPH0437948 A JP H0437948A JP 14161690 A JP14161690 A JP 14161690A JP 14161690 A JP14161690 A JP 14161690A JP H0437948 A JPH0437948 A JP H0437948A
Authority
JP
Japan
Prior art keywords
processor
memory
lock
address
bus
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
JP14161690A
Other languages
English (en)
Inventor
Masanori Hirano
平野 正則
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP14161690A priority Critical patent/JPH0437948A/ja
Publication of JPH0437948A publication Critical patent/JPH0437948A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、排他制御方式に関し、特にマルチプロセッサ
のシステム性能の向上に好適な排他制御方式に関するも
のである。
(従来の技術) 従来、複数のプロセッサをバス結合した密結合マルチプ
ロセッサシステムでは、各プロセッサは共有の主記憶で
ある共有メモリを介して通信を行う、このように何台も
のプロセッサからアクセスされるデータを共有して使用
するのて、各プロセッサが勝手に自分の処理をやると、
他のプロセッサと相互に関係する処理のデータは誤った
ものになってしまう。これを防ぐには、プロセッサがメ
モリからデータを読出してから、メモリにデータを書込
むまで、他のプロセッサからそのデータへのアクセスを
禁止するような共有データの排他制御が必要である。例
えば、文献:村岡洋−著、「コンピュータアーキテクチ
ャ」、コンピュータサイエンス大学講座、P129〜P
132.1981年に示されたように、排他制御の方法
として、メモリ内にある共有データにプロセッサがデー
タを使用中であることを示すロックバイトを付加し、プ
ロセッサが共有データにアクセスする場合は、まず共有
データのロックバイトを読出し、値が0゛であれば共有
データへのアクセス権を獲得し、ロックバイトな°“1
″にする。一方、ロックバイトの値が′1゛であれば共
有データへのアクセス権を獲得できずプロセッサはロッ
クバイトが′“0”になるまで上記の排他制御を繰り返
す。
また、プロセッサがロックバイトを読出して値が710
1+かどうか判断し、○゛であったならば“1パをここ
へ書くわけであるが、1′°を書く前に他のプロセッサ
がロックバイトを読出してしまうと、どちらのプロセッ
サもロックが成功したと思ってしまうことになる。そこ
て、他のプロセッサのメモリアクセスを防止する必要性
がある。
従って、複数のプロセッサが同時にロックバイトを読出
し、その値が“0°′のとき、同時に共有データへのア
クセス権を獲得するのを防止するため、ロックバイトの
読出しからロックバイトの“1′°書込みまで他プロセ
ツサからのメモリアクセスを防止する機構がハード的に
設けられている。これは排他制御命令で使用される。以
下にこのハードによる防止法を具体的に説明する。
第5図は従来の排他制御方式を説明するための図である
。これは、バス結合マルチプロセッサシステムの構成を
示している。また、第2図に排他制御命令の実行タイミ
ングチャートを示す。
第5図において、1,2はプロセッサ、4はプロセッサ
1.2及びメモリ3を結合するためのバス、5は排他制
御を行うため各プロセッサからロック信号を送出するロ
ック信号線である。
以下、第1図、第2図により従来の排他制御動作を説明
する。
プロセッサ1が排他制御命令を解読し、メモリ3からロ
ックバイトの読出しを行うとき、まず、ハス4を介して
、アドレスをメモリ3に送る。このとき、同時にロック
信号をオンとし、他プロセツサからのメモリアクセスを
禁止する。メモリ3は、共有データのロックバイトを読
出し、バス4を介して、プロセッサ1に送る。プロセッ
サ1はロックバイトが“OII又は“1゛かにより共有
データへのアクセス権を得たか否かをチエツクする。
ロックバイトが0゛°であり、共有データへのアクセス
権を獲得した場合には、プロセッサ1はメモリ3内の共
有データのロックバイトへ1°゛を書込むため、バス4
を介してアドレス及びデータ(“1′°)をメモリ3に
送って書込み、同時にロック信号をオフとする。ロック
信号をオフとすることにより他プロセツサからのメモリ
アクセスを可能とする。ここで、プロセッサ2は、ロッ
ク信号がオンの間(プロセッサ1がロックバイトを読出
し、ロックバイトをチエツクし、ロックバイトの書込み
終了まての間)メモリアクセス要求をバスに出せない。
排他制御命令を上述のように制御することにより、メモ
リ3からのロックバイトの読出しから書込みまで、バス
をロックすることにより、他プロセツサからのすべての
メモリアクセスを禁止てきるため、共有データへのアク
セス権を複数プロセッサへ割り当てることを防止できる
(発明が解決しようとする課題) しかしながら、上記従来の方式では、ロックバイトの読
出しから書込みまてバスをロックしてしまい、その間化
プロセッサからバスを使用できないため、他プロセツサ
は、バス競合により待ち合わせとなりプロセッサ性能が
低下し、システム性能を向上てきないという問題がある
本発明の目的は、このような従来の問題を解決し、マル
チプロセッサシステムにおいて、ロックバイトの読出し
から書込みまでの間てあっても、他プロセツサに対しバ
スを介してメモリへのアクセスを可能とすることにより
、バス競合を少なくし、システム性能を向上させる排他
制御方式を提供することにある。
(課題を解決するための手段) 上記目的を達成するため、本発明の排他制御方式は、複
数のプロセッサ及びメモリがバスで接続された情報処理
装置において、全プロセッサとメモリ間には、互いにリ
トライ信号を入出力するリトライ信号線を備え、あるプ
ロセッサが、メモリの特定アドレスを読出し、次に同一
のメモリアドレスに書込みを行う場合、読出しから書込
みの間、他のプロセッサのメモリアクセスを監視する手
段と、該監視手段により、他のプロセッサの上記特定ア
ドレスへのメモリアクセスを検出すると、上記リトライ
信号を出力し、他のプロセッサに再試行を通知するとと
もに、メモリに上記メモリアクセスのキャンセルを通知
する手段とを具備することに特徴がある。
上記排他制御方式において、上記監視する手段及び通知
する手段は、上記プロセッサ又は上記メモリのいずれか
一方に具備することに特徴がある。
(作用) 本発明においては、あるプロセッサが、メモリの特定ア
ドレスを読出し、次に同一のメモリアドレスに書込みを
行う場合、読出しから書込みの間、他のプロセッサのメ
モリアクセスを監視し、他のプロセッサの上記特定アド
レスへのメモリアクセスを検出すると、上記リトライ信
号を出力し、他のプロセッサに再試行を通知するととも
に、メモリに上記メモリアクセスのキャンセルを通知す
る。
(実施例) 以下、本発明の一実施例を、図面により詳細に説明する
第1図は本発明の一実施例を示す排他制御方式を説明す
るための図である。これは、マルチプロセッサシステム
の構成を示している。また、第1図における排他制御の
タイミングチャートを第2図、第3図に示す。
第1図において、11.12はプロセッサ、13はメモ
リ、14.15はアドレスレジスタ、16.17は比較
回路、18.19はアンドゲート、20はハス、21は
リトライ信号線、22.23はロック信号線、24.2
5はアドレスレジスタ14.15の内容を比較回路16
.17に与える信号線、26.27は比較回路16.1
7の出力をアンドゲート18.19に与える信号線であ
る。
本実施例では、あるプロセッサが、メモリの特定アドレ
スを読出し、次に同一のメモリアドレスに書込みを行う
場合、読出しから書込みの間、他のプロセッサのメモリ
アクセスを監視する手段を、ロックバイトのアドレスを
保持するアドレスレジスタと、このアドレスレジスタの
内容とバス上を流れる他プロセツサからのメモリアクセ
スアドレスとの一致を検出する比較器と、この比較器の
出力とロック信号の論理積を取るアンドケートとから構
成してプロセッサ側に付加し、上記アンドゲートの出力
を得て他プロセツサに再試行を通知し、メモリに上記メ
モリアクセスのキャンセルを通知する手段としてプロセ
ッサとメモリ間にリトライ信号線を設けている。
プロセッサ11か排他制御命令を解読し、メモリ13か
らロックバイトの読出しを行うとき、まずバス20を介
してアドレスをメモリ13に送ると共にアドレスレジス
タ14にアドレスを設定する。また、ロック信号をオン
とする。メモリ13は共有データのロックバイトを読出
し、バス20を介してプロセッサ11に送る。プロセッ
サ11はロックバイトが°“OHか°“1′かにより共
有データへのアクセス権を得たか否かをチエツクする。
プロセッサ11がロックバイトのチエツク中にプロセッ
サ12でメモリ読出し要求が起こった場合、従来の排他
制御方式では、プロセッサ12は、プロセッサ11かメ
モリ13に対しロックバイトの書込みを行い、ロック信
号をオフとするまで待たなければならなかった。本実施
例では、バスか空いていれば待つ必要かない。以下、プ
ロセッサ12がロックバイトとアドレスが異なるデータ
の読出しを行う場合(第2図のタイミングチャート)と
、ロックバイトと同じアドレスに対し読出しを行う場合
(第3図のタイミンクチャート)について説明する。
まず、プロセッサ12がプロセッサ11かアクセスして
いるロックバイトとはアドレスが異なるデータの読出し
を行う場合、プロセッサ12はバス20を介してアドレ
スをメモリ13に送る。また、同時にこのバス20上に
送出されたアドレスはプロセッサ11の比較回路16に
入力される。プロセッサ11のアドレスレジスタ14の
内容(現在、排他制御実行中のロックバイトのアドレス
)とプロセッサ12からバス20上に送出されたアドレ
スは異なるため、比較回路16の出力はオフとなり、リ
トライ信号はオフのままである。メモリ13は、リトラ
イ信号がオフのため、所定のデータの読出しを行い、バ
ス20を介してプロセッサ12に読出しデータを送る。
すなわち、プロセッサ12は、ロックバイトと異なるア
ドレスのデータの読出しが可能となる(第2図のタイミ
ングチャートを参照)。
また、以上の説明ては読出し時動作のみを説明したか、
プロセッサ12が書込みを行う場合でも同じようにアク
セスが可能である。
次に、プロセッサ12がロックバイトと同一アドレスの
データを読出す場合、プロセッサ12は、バス20を介
してアドレスをメモリ13に送る。また、同時にこのバ
ス20上に送出されたアドレスはプロセッサ11の比較
回路16に与えられる。アドレスレジスタ14の内容(
ロックバイトのアドレス)とフロセッサ12から送られ
たアドレスは同一であるため、比較回路16の出力はオ
ンとなる。このときフロセッサ11からのロック信号は
オンであるため、アンドゲート18の出力はオンとなり
、リトライ信号線21を介してメモリ13及びプロセッ
サ12にリトライが指示される。
リトライが指示されると、メモリ13はプロセッサ12
のアクセスに対する読出し動作を中止し、プロセッサ1
2は、あらかじめ決められた時間経過後、再度メモリ1
3の同一アドレスへの読出しアクセスを行う。これは、
プロセッサ11がメモリ13に対しロックバイトの書込
みを行い、ロック信号をオフとするまて繰り返される。
ロック信号がオフとなると、リトライ信号はオフのまま
であるため、プロセッサ12は、ロックハイドをメモリ
13から読出すことができる(第3図のタイミングチャ
ートを参照)。
以上述べたように、プロセッサ11がメモリ13からロ
ックバイトを読出した後、ピックバイトをチエツクし、
ロックハイドをメモリ13に書込む間に、プロセッサ1
2からメモリアクセスを行うことが可能である。
第4図は、本発明の他の実施例を示す排他制御方式を説
明するための図である。これは、上述の監視手段及び通
知手段をメモリ側に付加したマルチプロセッサシステム
の構成を示している。
第4図において、11.12はプロセッサ、13はメモ
リ、28はアドレスレジスタ、29は比較回路、30は
アンドゲート、20はバス、31はロック信号線、21
はリトライ信号線、32はアドレスレジスタシ8の内容
を比較回路29に与える信号線、33は比較回路29の
出力をアンドゲート30に与える信号線である。
プロセッサ11が排他制御命令を解読し、ロックバイト
の読出しを行うとき、まず、バス20を介してアドレス
をメモリ13に送ると共に、ロック信号をオンとする。
このとき、バス20のアドレスはアドレスレジスタ28
に設定される。
メモリ13はロックハイドを読出し、バス20を介して
プロセッサ11に送る。プロセッサ11はロックバイト
が“0パか°“1′°かにより共有データのアクセス権
を得たか否かをチエツクする。
プロセッサ11がロックバイトのチエツク中にプロセッ
サ12でメモリ読出し要求か起こった場合、プロセッサ
12かロックハイドとアドレスが異なるデータの読出し
を行う場合と、ロックバイトと同じアドレスに対し読出
しを行う場合について説明する。
まず、プロセッサ12かプロセッサ11がアクセスして
いるロックバイトとはアドレスが異なるデータの読出し
を行う場合、プロセッサ12はハス20を介してアドレ
スをメモリ13に送る。また、同時にこのバス20上に
送出されたアドレスはメモリ13の比較回路29に入力
される。メモリ13のアドレスレジスタ28の内容(現
在、排他制御実行中のロックバイトのアドレス)とプロ
セッサ12からバス20上に送出されたアドレスは異な
るため、比較回路29の出力はオフとなり、リトライ信
号はオフのままである。メモリ13は、リトライ信号が
オフのため、所定のデータの読出しを行い、バス20を
介してプロセッサ12に読出しデータを送る。すなわち
、プロセッサ12は、ロックバイトと異なるアドレスの
データの読出しが可能となる。
また、以上の説明では読出し時動作のみを説明したが、
プロセッサ12が書込みを行う場合でも同じようにアク
セスが可能である。
次に、プロセッサ12がロックバイトと同一アドレスの
データを読出す場合、プロセッサ12は、バス20を介
してアドレスをメモリ13に送る。また、同時にこのバ
ス20上に送出されたアドレスはメモリ13の比較回路
29に与えられる。アドレスレジスタ28の内容(ロッ
クバイトのアドレス)とプロセッサ12から送られたア
ドレスは同一であるため、比較回路29の出力はオンと
なる。このときフロセッサ11からのロック信号はオン
であるため、アンドゲート30の出力はオンとなり、リ
トライ信号線21を介してメモリ13及びプロセッサ1
2にリトライが指示される。
リトライが指示されると、メモリ13はプロセッサ12
のアクセスに対する読出し動作を中止し、プロセッサ1
2は、あらかじめ決められた時間経過後、再度メモリ1
3の同一アドレスへの読8しアクセスを行う。これは、
プロセッサ11がメモリ13に対しロックバイトの書込
みを行い、ロック信号をオフとするまで繰り返される。
ロック信号がオフとなると、リトライ信号はオフのまま
であるため、プロセッサ12は、ロックバイトをメモリ
から読出すことができる。
このように他の実施例においても、プロセッサ11がメ
モリ13からロックバイトを読出した後、ロックバイト
をチエツクし、ロックバイトをメモリに書込む間に、プ
ロセッサ12からメモリアクセスを行うことが可能であ
る。
(発明の効果) 以上説明したように、本発明によれば、プロセッサ側ま
たはメモリ側に簡単な回路を付加することにより、ある
プロセッサがロックバイトなコ売出した後、それをチエ
ツクし、次にロックバイトの書込みを行う間であっても
、バスを開放し、他のプロセッサがバスを使用すること
を可能としたため、他のプロセッサは、バス競合による
待ち合わせが少なくなり、プロセッサの性能を向上させ
ることができる。
【図面の簡単な説明】
第1図は本発明の一実施例を示す排他制御方式を説明す
るための図、 第2図は第1図における排他制御のタイミングチャート
図、 第3図は第1図における排他制御のタイミングチャート
図、 第4図は本発明の他の実施例を示す排他制御方式を説明
するための図、 第5図は従来の排他制御方式を説明するための図、 第6図は第5図における排他制御のタイミングチャート
図である。 11、12・・・プロセッサ、 14、15.28・・・アドレスレジスタ、16、17
.29・・・比較回路、 18、19.30・・・アンドケート、20・・・バス
、      21・・・リトライ信号線、22、23
.31・・・ロック信号線、24、25.26.27.
32.33・・・信号線。

Claims (2)

    【特許請求の範囲】
  1. (1)複数のプロセッサ及びメモリがバスで接続された
    情報処理装置において、 全プロセッサとメモリ間には、互いにリトライ信号を入
    出力するリトライ信号線を備え、あるプロセッサが、メ
    モリの特定アドレスを読出し、次に同一のメモリアドレ
    スに書込みを行う場合、読出しから書込みの間、他のプ
    ロセッサのメモリアクセスを監視する手段と、 該監視手段により、他のプロセッサの上記特定アドレス
    へのメモリアクセスを検出すると、上記リトライ信号を
    出力し、他のプロセッサに再試行を通知するとともに、
    メモリに上記メモリアクセスのキャンセルを通知する手
    段と を具備することを特徴とする排他制御方式。
  2. (2)上記監視する手段及び通知する手段は、上記プロ
    セッサ又は上記メモリのいずれか一方に具備することを
    特徴とする請求項1記載の排他制御方式。
JP14161690A 1990-06-01 1990-06-01 排他制御方式 Pending JPH0437948A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14161690A JPH0437948A (ja) 1990-06-01 1990-06-01 排他制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14161690A JPH0437948A (ja) 1990-06-01 1990-06-01 排他制御方式

Publications (1)

Publication Number Publication Date
JPH0437948A true JPH0437948A (ja) 1992-02-07

Family

ID=15296181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14161690A Pending JPH0437948A (ja) 1990-06-01 1990-06-01 排他制御方式

Country Status (1)

Country Link
JP (1) JPH0437948A (ja)

Similar Documents

Publication Publication Date Title
JP3999821B2 (ja) データ処理システム内でバス仲裁プロトコルを実行する方法および装置
US4737932A (en) Processor
JPS59180767A (ja) 直列化装置
JPH04213136A (ja) 参照ビット,変更ビットの更新方法
JP2000003302A (ja) 共有メモリ排他アクセス制御方法
JPH0437948A (ja) 排他制御方式
US8281080B2 (en) Method and apparatus for modifying an information unit using an atomic operation
JP2587468B2 (ja) ロツクデータ設定装置
JP3219422B2 (ja) キャッシュメモリ制御方式
JPH05257903A (ja) マルチプロセッサシステム
JP2679440B2 (ja) 情報処理装置
JPS6174045A (ja) マルチプロセツサシステムにおけるチヤネル制御方式
JPS63286959A (ja) メモリアクセス方式
JPS62184564A (ja) 電子計算機制御方式
JP2547329B2 (ja) ロツクデータ設定装置
JPH0374759A (ja) マルチプロセッサシステム
JPS6215644A (ja) キヤツシユメモリ制御回路
JPH03131955A (ja) メモリコントローラ装置
JPH0289154A (ja) 情報処理システム
JPS6224347A (ja) バス制御装置
JPH05134918A (ja) 情報処理装置
JPS6257050A (ja) 共有メモリ装置
JPS59172029A (ja) 非同期共通バスにおけるlock制御方式
JPH01144151A (ja) 情報処理装置
JPH044441A (ja) メモリ排他制御方式