JPH03196249A - 多重プロセッサシステム - Google Patents

多重プロセッサシステム

Info

Publication number
JPH03196249A
JPH03196249A JP1335941A JP33594189A JPH03196249A JP H03196249 A JPH03196249 A JP H03196249A JP 1335941 A JP1335941 A JP 1335941A JP 33594189 A JP33594189 A JP 33594189A JP H03196249 A JPH03196249 A JP H03196249A
Authority
JP
Japan
Prior art keywords
lock
request
address
control device
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
JP1335941A
Other languages
English (en)
Other versions
JPH0664567B2 (ja
Inventor
Masabumi Shibata
正文 柴田
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP1335941A priority Critical patent/JPH0664567B2/ja
Publication of JPH03196249A publication Critical patent/JPH03196249A/ja
Priority to US08/144,486 priority patent/US5442755A/en
Publication of JPH0664567B2 publication Critical patent/JPH0664567B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • 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
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野コ 本発明は、多重プロセッサシステムに係り、特に、その
ロック動作を高速実行する多重プロセッサ↓二関するも
のである。
[従来の技術] 多重プロセッサシステムにおいて、主記憶(MSと表す
)上でデータを共有するためには、ある一定期開催のプ
ロセッサからのデータアクセスを禁止して、データを読
書きするロック機構が必要であるヵこのようなロック機
構については、例えば特開昭63−259758号公報
に記載されている技術が知られている。
以下、この従来の技術について説明する。
各プロセッサ(IPと表す)は、ストアスルー制御によ
るバッファ記憶(BSと表す)と該BSのディレクトリ
を保持するバッファアドレスアレイ(BAAと表す)を
備え、また、各記憶制御装置(SCと表す)は、上記B
AAの一部の写しを保持するフロントアドレスアレイ(
FAAと表す)を備える。
また、BAAの各エントリーには、予約ビット(R3V
ビットと表す)とロックピット(以下。
Lビットと表す)が、FAAには上記BAAのR8Vビ
ットの写しを有する。
そして、ロック要求を発行するIPは、ロック要求アド
レスに対応するBAAのエントリーを参照し、R5Vビ
ットが1′ならば、直ちにLビットを1′にしてロック
状態に入る。
R5Vビットが1′でないときは、SCにロックアドレ
スを送出し、すべてのFAAの対応するエントリーのL
ビットを参照し、もしR9Vビットが1′ のFAAエ
ントリーがあれば、該FAAに対応するIPにキャンセ
ル要求を発行する。キャンセルが完了した後、又は、R
8Vビットが1′のFAAが存在しない時は、ロック要
求元IPの対応するFAAエントリのR8Vビットを1
′にした後、ロック要求元IPにロックの受付けを通知
し、要求元IPは該BAAのR3Vビット、Lビットを
1′にしクロック状態に入る。
ロック状態の解除は、BAAのLビットを0′に設定す
ることで行なわれる。
あるIPがロック状態の時、他のIPがロックアドレス
をアクセスしようとすると、当該IPのBAAエントリ
ーのR8Vビットは必ずI O+であるため、SCにリ
クエストを要求する。SCでは、ロックIPのFAAの
該当エントリーのR8Vビットが11′のため、ロック
IPにキャンセルが発行される。ロックIPは、ロック
が解除されるまで、このキャンセルに対する応答を返さ
ないため、ロックIP以外のIPによるロックアドレス
のアクセスは、ロック解除まで延期される。
以上、説明した動作により、従来の技術はロック機構を
実現していた。
[発明が解決しようとする課題] 前記従来技術は、主記憶の写しの一部をBSに登録する
際、IP間で排他的に登録し、あるIPがあるBSのブ
ロックをロックしてアクセス中には、当該ブロックの他
IPからのアクセスを排除し、当該ブロックの他IPへ
の解放をロック解除時まで延期することを特徴としてい
る。
したがって、IPは、あるブロックをBSに登録する際
、リクエストとリクエストアドレスをC8に送出し、こ
れに対して、SCは当該ブロックの登録許可としてアク
セプトをIPに返信する。
このため、SCと各IP間にはIP毎にリクエスト、リ
クエストアドレス、アクセプトの各信号線が必要となる
多重プロセッサシステムにおいて、IPの台数が増加す
るとこの信号線は、台数に比例して増大するにもかかわ
らず、LSIのピン数等による実装上の問題により、信
号数には制限があり、実現が困難となる。
このため、リクエスト、アクセプト等の制御信号はIP
毎に独立に設け、信号数の多いアドレス線はパスにして
全IPで共通化することが行なわれでいる。
しかし、リクエストアドレスをパス化すると、複数のI
Pで同時にリクエストアドレスを送出することか不可能
になるため、バス権を調停する手段が必要になる。
バス権の調停は、IPがSCヘリクエスト要求した際、
SCが要求元IPにバス権を与えるパスアクセプト信号
が必要であり、また、パスアクセプトに呼応してIPか
らSCにリクエストアドレスを送出した際にリクエスト
アドレスがリクエスト要求IP以外のIPがロック中の
ため直ちにアクセプトを返答できない場合に、リクエス
ト要求IPは直ちにバス権を開放し他のIPのリクエス
ト要求をSCが受は付は可能とする機能と、この場合に
SCがリクエストアドレスを保持しつつ他のIPからの
リクエストを受付ける機能が必要となる。
パスアクセプト信号の追加は、制御論理を多少複雑にし
、IPからのリクエスト要求時間を増大させる欠点があ
るが、これはバス化には必須の次点であり許容範囲内で
ある。
しかしアクセプトを直ちに返答できない場合、バスを直
ちに開放して他IPからの別のリクエストを受付ける機
能は、SCの制御論理の複雑さを相当増大させてしまう
問題がある。
そこで1本発明は、主記憶の特定のアドレスを1つのI
Pのみでロック動作を高速にかつSCの制御論理の増大
無しに実現できる多重プロセッサシステムを提供するこ
とを目的とする。
[課題を解決するための手段] 前記目的達成のために、本発明は、複数のプロセッサと
、複数のプロセッサが共有する1または複数の主記憶と
、主記憶毎に備えられたプロセッサより主記憶へのリク
エストを制御する記憶制御装置と、を有する多重プロセ
ッサシステムにおいて、 各プロセッサは、他のプロセッサが主記憶のロック設定
を発行した場合に、核的のプロセッサが主記憶のロック
解除を発行するまで、核的のプロセッサが送出したリク
エストアドレスを取り込み、取り込んだリクエストアド
レスが規定する主記憶のロック領域に、自プロセッサが
発行する記憶制御装置へのリクエストアドレスが属する
場合にはリクエストの発行を抑圧することを特徴とする
主記憶のロック制御方法を提供する。
また1本発明は前記目的達成のために、1または複数の
主記憶と、1以上の主記憶を共有する複数のプロセッサ
と、プロセッサより主記憶制御装置へのリクエストを制
御する。主記憶装置に接続された主記憶毎の記憶制御装
置と、各記憶制御装置と複数のプロセッサとを接続する
バスとを有する多重プロセッサシステムであって、各プ
ロセッサは、アドレスレジスタと、1以上のロックアド
レスレジスタと、他のプロセッサがロック設定を発行し
た場合に、他のプロセッサが前記バスに送出したリクエ
ストアドレスをロックアドレスレジスタに格納する手段
と、命令を実行し、記憶制御装置へのリクエストの発行
を要求し、記憶制御装置へのリクエストアドレスをアド
レスレジスタに格納する命令実行ユニットと、アドレス
レジスタとロックアドレスレジスタの内容を比較する比
較器と、比較器における比較の結果、ロックアドレスレ
ジスタの内容値が規定する領域にアドレスレジスタの内
容値が属する場合には記憶制御装置へのリクエストの発
行を延期する機能を備えた。命令実行ユニットよりの発
行要求に応じて記憶制御装置へのリクエストの発行を制
御するリクエスト制御手段と、他のプロセッサが主記憶
のロック解除を発行した場合に、リクエスト制御手段に
おける、ロック解除に対応するリクエストアドレスを格
納しているロックアドレスレジスタとアドレスレジスタ
との比較によるリクエスト発行の延期を解除する手段と
、を有することを特徴とする第1の多重プロセッサシス
テムを提供する。
また、前記目的達成のために、本発明は、複数の主記憶
と、該複数の主記憶を共有する複数のプロセッサと、プ
ロセッサより主記憶へのリクエストを制御する、主記憶
装置に接続された主記憶毎の記憶制御装置と、各記憶制
御装置と前記複数のプロセッサとを接続する各記憶制御
装置毎に備えられたバスとを有する多重プロセッサシス
テムであって、 各プロセッサは、アドレスレジスタと、前記各バス毎に
対応して設けられた複数のロックアドレスレジスタと、
他のプロセッサがいずれかの主記憶のロック設定を発行
した場合に、他プロセッサがロック設定を発行した主記
憶に対応する記憶制御装置に接続されたバスに送出した
リクエストアドレスを該バスに対応するロックアドレス
レジスタに格納する手段と、命令を実行し、記憶制御装
置へのリクエストの発行を要求し、記憶制御装置へのリ
クエストアドレスをアドレスレジスタに格納する命令実
行ユニットと、アドレスレジスタと各ロックアドレスレ
ジスタの内容を比較する比較器と、比較器における比較
の結果、ロックアドレスレジスタの内容値が規定する領
域にアドレスレジスタの内容値が属する場合には記憶制
御装置へのリクエストの発行を延期する機能を備えた、
命令実行ユニットよりの発行要求に応じて各記憶制御装
置へのリクエストの発行を制御するリクエスト制御手段
と、他のプロセッサが主記憶のロック解除を発行した場
合に、リクエスト制御手段におケル、ロック解除に対応
するリクエストアドレスを格納しているロックアドレス
レジスタとアドレスレジスタとの比較によるリクエスト
発行の延期を解除する手段と、を有することを特徴とす
る第2の多重プロセッサシステムを提供する。
なお、前記第1または第2の多重プロセッサシステムに
おいては、各プロセッサと各記憶制御装置間にロック状
態通知線を備え、かつ、各記憶制御装置は、1のプロセ
ッサよりロック設定またはロック解除を受けた場合に、
他のプロセッサに前記ロック状態通知線を介してその旨
を通知するようにしても良い。
または、前記第1または第2の多重プロセッサシステム
において、各記憶制御装置と前記複数のプロセッサとを
接続するロック状態通知バスを各記憶制御装置毎に備え
、各プロセッサは、いずれかの主記憶のロックを設定す
る場合には、ロックを設定する主記憶に対応する記憶制
御装置に接続されたロック状態通知バスを介してロック
設定を、いずれかの主記憶のロックを解除する場合には
、ロックを解除する主記憶に対応する記憶制御装置に接
続されたロック状態通知バスを介してロック解除を、他
のプロセッサに通知するようにしても良い。
[作 用] 本発明に係る、多重プロセッサシステムにおける主記憶
のロック制御方法によれば、各プロセッサは、他のプロ
セッサが主記憶のロック設定を発行した場合に、核化の
プロセッサが主記憶のロック解除を発行するまで、核化
のプロセッサが送出したリクエストアドレスを取り込み
、取り込んだリクエストアドレスが規定する主記憶のロ
ック領域に、自プロセッサが発行する記憶制御装置への
リクエストアドレスが属する場合にはリクエストの発行
を抑圧することにより主記憶のロック機能を実現する。
また、本発明に係る第1の多重プロセッサシステムによ
れば、他のプロセッサがロック設定を発行した場合に、
他のプロセッサが前記バスに送出したリクエストアドレ
スをロックアドレスレジスタに格納する。そして、アド
レスレジスタとロックアドレスレジスタの内容を比較器
において比較し、比較器における比較の結果、ロックア
ドレスレジスタの内容値が規定する領域に、アドレスレ
ジスタの内容値が属する場合には、命令実行ユニットよ
り発行要求があった場合でもリクエスト制御手段は記憶
制御装置へのリクエストの発行を延期する。そして、他
のプロセッサが主記憶のロック解除を発行した場合に、
リクエスト制御手段における。ロック解除に対応するリ
クエストアドレスを格納しているロックアドレスレジス
タとアドレスレジスタとの比較によるリクエスト発行の
延期を解除する。結果、主記憶のロック解除が発行され
るまで記憶制御装置記憶制御装置ヘリクエストは延期さ
れる。
また、本発明に係る第2の多重プロセッサシステムによ
れば、他のプロセッサがいずれかの主記憶のロック設定
を発行した場合に、他プロセッサがロック設定を発行し
た主記憶に対応する記憶制御装置に接続されたバスに送
出したリクエストアドレスを該バスに対応するロックア
ドレスレジスタに格納する。そして、アドレスレジスタ
と各ロックアドレスレジスタの内容を比較器において比
較し、結果が所定の値の場合には、リクエスト制御手段
は命令実行ユニットより発行要求があった場合でも記憶
制御装置へのリクエストの発行を延期する。他のプロセ
ッサが主記憶のロック解除を発行した場合に、リクエス
ト制御手段における、ロック解除に対応するリクエスト
アドレスを格納しているロックアドレスレジスタとアド
レスレジスタとの比較によるリクエスト発行の延期を解
除する。結果、主記憶のロック解除が発行されるまで記
憶制御装置記憶制御装置へのリクエストは延期される。
なお、前記第1または第2の多重プロセッサシステムに
ロック状態通知線を備えた場合は、各記憶制御装置は、
1のプロセッサよりロック設定またはロック解除を受け
た場合に、他のプロセッサに前記ロック状態通知線を介
してその旨を通知する。これにより、各IPは主記憶の
ロック設定および解除を知ることができる。
また、前記第1または第2の多重プロセッサシステムに
ロック状態通知バスを各記憶制御装置毎に備えた場合は
、各プロセッサは、いずれかの主記憶のロックを設定す
る場合には、ロックを設定する主記憶に対応する記憶制
御装置に接続されたロック状態通知バスを介してロック
設定を、いずれかの主記憶のロックを解除する場合には
、ロックを解除する主記憶に対応する記憶制御装置に接
続されたロック状態通知バスを介してロック解除を、他
のプロセッサに通知する。これによっても、各IPは主
記憶のロック設定および解除を知ることができる。
以上のように、ロック中の他IPからのロックアドレス
への排他制御を、リクエスト元IPで行なうことが可能
となるため、ロック待ちによるSCでのリクエスト待ち
は存在しなくなり、SCの制御論理の増大が解消され、
さらにSCでのロック機能そのものも不要となるため、
高速で安価にロック機能を実現することができる。
(以下余白) [実施例] 以下1本発明に係る多重プロセッサシステムの第1の実
施例について説明する。
第1図に、木用1の実施例に係る多重プロセッサシステ
ムの構成を示す。
図中、プロセッサ(IP)1.2は、バス5を介して記
憶制御装置(SC)3に接続されており。
SC3は主記憶装置(MS)4に接続されている。
IPl、2は、内部に命令実行ユニット11゜21を持
ち、ここで主記憶へのリクエストが発生すると、リクエ
ストアドレスはアドレスレジスタ12.22に送出され
、リクエスト要求がリクエスト制御ユニット15.25
に送出される。リクエスト制御ユニット15.25はS
C3内のアービトレーション32と、リクエスト信号l
llA111゜121、バスアクセプト信号線112,
122゜アクセプト信号線113,123、ロック信号
線114.124で結合されており、リクエスト信号線
111.121を用いて、SCにリクエストが要求され
る。
また、各IPは、ロックアドレスレジスタ13.23と
、比較器14.24を備えており、ロックアドレスレジ
スタ13.23にはロックアドレスを保持し、比較器1
4.24はロックアドレスレジスタとアドレスレジスタ
の内容を規格し、結果をリクエスト制御ユニット15.
25に通知する。
アービトレーションユニット32はバスの使用許可をバ
スアクセプト信号112,122を用いてリクエスト制
御ユニット15.25に返答する。
バスの使用許可がおりると、リクエストアドレスは、ア
ドレスレジスタ12.22よりアンプ16゜26を通じ
てバス5に送出され、SC3内のアドレスレジスタ31
に設定される。
主記憶アクセスは、アドレスレジスタ31とアービトレ
ーションユニット32からの信号により。
主記憶アクセスユニット33がMS4をアクセスするが
、主記憶アクセスそのものは、本発明では問題としてい
ないので説明を省略する。
主記憶アクセスが完了すると、アービトレーションユニ
ット32は、アクセプト信号線113、123を用いて
、アクセプトをリクエスト制御ユニット15.25に送
出し、これにて、命令実行ユニット11.21からの主
記憶へのリクエスト動作が完了する。
次に、リクエストが競合した場合の動作について説明す
る。
第2図に、本システムのバス3の状態を示す。
図示するように、IPIとIP2のリクエスト要求が同
時に発生した場合、本実施例では、あらかじめ割り当て
たID番号の若いIPを優先して受は付ける。バスアク
セプトが返らないIPは、その間はリクエスト信号を送
出したままとなる6なお、リクエスト信号線111.1
.21は、それぞれ、*数の信号線で構成されており、
複数種のリクエストを発行できる。
第3図に、リクエスト種別の一覧を示す。
図示するように、本実施例においては、リクエストとし
て2種類のフェッチ、2種類のストア、フェッチおよび
ロック設定、ストアおよびロック解除の、計6種類のリ
クエスト信号を備える。
水弟1の実施例に係る多重プロセッサシステムのロック
設定時の動作について説明する。
第4図にロック設定時の動作を示す。
図示するように、ロックの設定は、例えばIPIがロッ
クを設定する際、IPIは通常のリクエストとと同様に
ロックアドレスをアドレスレジスタ12に設定して、リ
クエスト制御ユニット15より′フェッチおよびロック
設定コマンド′をリクエスト信号線111に送出する。
SC3は、通常のフェッチリクエストと同様の動作の他
に、アービトレーションユニット32より、IPIヘパ
スアクセプト信号112の送出と同時に、ロック信号線
124を用いて、IP2にロックの設定を通知する。
IPIは、バスアクセプト信号112を受信すると、ア
ドレスレジスタ12に設定しであるロックアドレスをア
ンプ16を介してバス5に送出する。
IP2は、ロック設定通信を受けると、IPIがバス5
に送出中のロックアドレスをアンプ27を介してロック
アドレスレジスタ27に取込む。
以上でIPIのロック設定が完了する。
次に、IPIがロック期間中に、IP2の命令実行ユニ
ット21にリクエストが発生した場合について記述する
要求リクエストがロック設定リクエストの場合、ノクエ
スト制御ユニット25はロック信号線124がリセット
されるまでリクエスト信号線121へのリクエスト送出
を延期する。
また、この状態でIP2のロック解除リクエストは論理
的に発生しない。
要求リクエストが、フェッチやストアの通常のメモリリ
クエストの場合、命令実行ユニット21からリクエスト
アドレスがアドレスレジスタ22に送出される。
アドレスレジスタ22とロックアドレスレジスタ23の
アドレスは、比較器24で比較され、−致した場合は一
致信号がリクエスト制御ユニット25に送られ、リクエ
スト制御ユニット25は、リクエスト信号41121へ
のリクエスト送出を延期する。比較器24での比較結果
が一致しない場合は、リクエスト信号線121から通常
と同様にリクエストが発せられる。
なお、前記した比較器24における比較は、ロックの単
位となる記憶空間の領域の大きさに合わせて、以下のよ
うに行う。たとえば、ロックのm位となる記憶空間大き
さが256である場合には。
両アドレスの下位8ビツトを無視し、残りのアドレスの
みを比較する。記憶空間大きさが512の場合は下位9
ビツトを無視する。したがって、ロックアドレスのうち
比較に必要なビットのみをロックアドレスレジスタに格
納するようにしても良い。以下に述べる、第2.第3の
実施例においても比較は同様に行うものとする。
なお、この記憶空間の領域の大きさは、マニュアルスイ
ッチや、ソフトウェアにより可変であることが望ましい
以上、これにより−IPがリクエストしたアドレスの属
する単位空間を一度にロックすることが可能となる。
次にロック設定の解除時の動作について説明する。
IPl&、−おいて、命令実行ユニット11でのロック
要求が終了すると、IPIのリクエスト制御ユニット1
5は、リクエスト信号線111に1ストアおよびロック
解除コマンド1を発行する。
アービトレーションユニット32はロック解除コマンド
を受付けると、ロック信号線124をリセットする。
この時、もしIP2において、IPlのロック期間中の
ため延期されているリクエストが存在する場合には、I
P2のリクエスト制御ユニット25は延期されていたリ
クエストをSC3に送出する。これにより、IP2によ
るロック設定の動作が開始する。
以上の動作により、IPIがある特定のアドレスをロッ
ク中、IP2は、このアドレスに対するアクセスが禁止
されるため、ロック動作が実現されたこととなる。
なお、IP2がロック設定を行なう場合も、上記IPI
の場合と同様に行なわれる。また1本実施例では説明を
簡略化するためにIPを2台として説明したが、3台以
上の場合も同様に実現できる。
以下、この例を本発明に係る多重プロセッサシステムの
第2の実施例として説明する。
第5図に水弟2の実施例に係る多重プロセッサシステム
の構成を示す。
本例は、−例として、IPが3台の例を示したものであ
り1図中1,2.5がIPを示す。
各IPは、各々1つの命令実行ユニット11.21.5
1.1つのアドレスユニット12.22.52.2つの
ロックアドレスレジスタ13aおよび13b、23aお
よび23b、53aおよび53b、2つの比較器14a
および14b、24aおよび24b、54aおよび54
b、1つのリクエスト制御ユニット15.25.55を
備えている。
各リクエスト制御ユニット15.25.55は、各々、
SCa内のアービトレーション32と、リクエスト信号
線11.1.121,521、パスアクセプト信号線1
12,122,522、アクセプト信号線113.12
3.523、ロック信号線114.124,524で結
合されている。
以下、その動作について、説明する。
まず、IPIがSC3にロックを設定した際、他のIP
2.3には、アービトレーション32よりそれぞれロッ
ク信号線124,524を介してロック設定が通知され
る。IP2.3は、第1の実施例と同様に、それぞれの
アドレスレジスタ23a、53aにロックアドレスをバ
ス5より取り込む。
なお、本例は、ロックアドレスを複数用いる例をも示し
ており、1回のロックアドレスの取り込みで、複数備え
たロックアドレスレジスタのいずれかにロックアドレス
を格納する。
その後、IP2.3においては、命令実行ユニット21
.51からのSC3へのリクエスト発行の際、アドレス
レジスタと自IPの各ロックアドレスレジスタの内容が
比較され、一致した場合は。
そのリクエストの発行は延期される。
次に、たとえば、IPIが送出したロックアドレスを他
IPが保持している場合に、IP5から自身が保持して
いるロックアドレスと異なるアドレスにロック要求が発
行されると、他IPは空いているロックアドレスにこの
ロックアドレスを取り込む、なお、自身が保持している
ロックアドレスと同じアドレスへのロック要求の発行は
延期される。また、システム全体で各IPが有するロッ
クドレスレジスタ数以上のロッックの同時設定は禁止さ
れる。
この時、IP2においては、2つのロックアドレスレジ
スタに2つのロックアドレスが保持されている。したが
って、IP2においては、ロックアドレスレジスタ23
a、23bの内容と一致するアドレスへのリクエストの
発行は延期される。
この場合、ロックの解除は、IPIまたはIP5のロッ
ク解除要求発行に応じて、対応するロックレジスタの初
期化、または1次のロックレジスタの設定まで対応する
ロックレジスタとアドレスレジスタの比較の中止をすれ
ば良い。
なお、IPが3台以上存在するシステムであって、ロッ
クアドレスレジスタが1つのみのシステムも考えられる
が、この場合は、前記第1の実施例と同様に、あるIP
がロック設定中は、他のIPはリクエストおよびロック
要求の発行を延期するようにする。
以上、IPが3台以上のシステムと、ロックアドレスを
複数設定可能システムについて説明した。
以下、本発明に係る多重プロセッサシステムの第3の実
施例について説明する。
第6図に、本第3の実施例に係る多重プロセッサシステ
ムの構成を示す。
図示するように、本実施例においては、TPI、2は、
双方共バス5を介してSC3に、バス8を介してSC6
に接続されており、SC3はMS4に、SC6はMS7
にそれぞれ接続されている。
各IPI、2は内部に命令実行ユニット11.21を持
ち、ここで主記憶へのリクエストが発生すると、リクエ
ストアドレスはアドレスレジスタ12.22に送出され
、リクエスト要求がリクエスト制御ユニット15.25
に送出される。リクエスト制御ユニット15.25はS
C3、SC6内のアービトレーション32.62と、そ
れぞれリクエスト信号m111および131,121お
よび141.バスアクセプト信号線112および132
.122および142、アクセプト信号線113および
133.123および143で結合されており、リクエ
スト信号線111.121によりSC3に、121.1
41によりSC6にリクエストが要求される。
アービトレーションユニット32はバスの使用許可をバ
スアクセプト信号112,122を用いてリクエスト制
御ユニット15.25に返答する。
また、アービトレーションユニット62はバスの使用許
可をパスアクセプト信号]32.142を用いてリクエ
スト制御ユニット15.25に返答する。
バスの使用許可がおりると、リクエストアドレスは、ア
ドレスレジスタ12.22よりアンプ16.26を通じ
てバス5に送出され、SCa内のアドレスレジスタ31
に設定される。また、リクエストアドレスは、アドレス
レジスタ12゜22よりアンプ41.71を通じてバス
8に送出され、SCG内のアドレスレジスタ61に設定
される。
また、各IPは、各SC3,6に対応して、ロックアド
レスレジスタ13および18,23および28と、比較
器14および19.24および29を備えており、ロッ
クアドレスレジスタ13.23にはSC3のロックアド
レスを、ロックアドレスレジスタ]−8,28にはS0
6のロックアドレスを保持し、比較器は、各々ロックア
ドレスレジスタとアドレスレジスタの内容を比較し、結
果をリクエスト制御ユニット15.25に通知する。
また、各IPはロック信号線151,152で結合され
ており、ロック信号線を介して互いのロック状態を検知
する。
本実施例は前述した第1の実施例にSC6とバス8を追
加したシステムであり、基本的な動作は第1の実施例と
同様であるので、以下具なる点のみ記述する。
IPIがSC3にリクエストを発行する際は、リクエス
ト信号線111.パスアクセプト信号線112、アクセ
プト信号線113を用いる。同様にIPIがSC6にリ
クエストを発行する際は5リク工スト信号線131.パ
スアクセプト信号線132、アクセプト信号線133を
用いる。
IPIがSC6のある主記憶アドレスにロックを設定す
る際、IPIはSC6に通常のフエ:!チリクエストを
送出する。
本第3の実施例においては、前記第1の実施例で第3図
に示したコマンドうち項1から4すなわちフェッチとス
トアのリクエストのみ使用するものとする。
IPIは、SC6からバスアクセプト(言号線132を
受付けると、アドレスレジスタ22に設定しであるロッ
クアドレスをバス8に送出する。
また、同時に、ロック信号線152を使用して。
ロック設定を他のIPに、本実施例ではIP2に通知す
る。
IP2のリクエスト制御ユニット25は・ロック通知を
受けるとバス8に送出中のロックアドレスをロックアド
レスレジスタ28に取込む・IPIがSC6をロック中
にIP2の命令実行ユニット21で主記憶リクエストが
発生した場合は、リクエスト先のSCがSC3の場合は
リクエストの種別に関係なくリクエストは発行される。
リクエスト先がSC6の場合で、アドレスレジスタ22
に設定されたリクエストアドレスがロックアドレスレジ
スタ28と一致したと比較器29で検出された場合には
、SC6へのリクエスト信号線141へのリクエスト送
出は、ロック解除まで延期される。一致しない場合には
通常と同様にリクエストを発行する。
なお1以上、IPが2台の場合を例に取り、SC、バス
が複数ある多重プロセッサシステムにおいても、IPに
おいてロック制御が実現できることを示したが、前記第
1の実施例と同様に。
IPが2台以上の場合も、本実施例に示した機構を拡張
することにより同様に実現できる。
また、各IP間のロック状態の通知が、SCを介さずに
実現できることを示したが、前記第1実施例においても
、各IPをロック信号線で直接結合して、直接ロック状
態の通知を行うようにしても良い。
以上、本実施例によれば、複数のIPとSCがバスによ
り結合された多重マルチプロセッサシステムのロック制
御において、下記に示す効果がある。
1、ロック期間中のロックアドレスの排他制御をリクエ
スト元であるIP側で行なっており、IPにおけるロッ
ク制御を、ロックレジスタ1個と比較器1個の少量のハ
ードウェアで実現している。SC側では、ロック制御の
ハードウェアはごく少量であり、システムとしてロック
制御ハードウェア量を激減させている。
2、ロックの排他制御をIPで行なっているためロック
の設定や、ロック中の排他制御そのものをSCで行なう
より高速化できる。すなわち、ロックアドレスとの比較
をIP側でリクエスト要求前に行なえるため、SC側で
比較を行なうのに比べて、リクエストからアクセプトま
での時間を短縮可能となり、システムの性能を高めるこ
とができる。
[発明の効果] 以上のように、本発明によれば、主記憶の特定のアドレ
スを1つのIPのみでロック動作を高速にかつSCの制
御論理の増大無しに実現できる多重プロセッサシステム
を提供することができる。
【図面の簡単な説明】
第1図は本発明の第1の実施例に係る多重プロセッサシ
ステムの構成を示すブロック図、第2図は多重プロセッ
サシステムの動作を示すタイムチャート、第3図はリク
エスト種の一覧を示す説明図、第4図はロック設定時の
動作を示すタイムチャート、第5図は本発明の第2実施
例に係る多重プロセッサシステムの構成を示すブロック
図、第6図は本発明の第3の実施例に係る多重プロセッ
サシステムの構成を示すブロック図である。 1.2・・・プロセッサ(IP)、3.6・・・記憶制
御装置(SC) 、4.7・・・主記憶装置、5,8・
・・バス、11.21・・・命令実行ユニット、12.
22.31・・・アドレスレジスタ、13.18.23
.28・・・ロックアドレスレジスタ、14.19.2
4.29・・・比較器、15.25・・・リクエスト制
御ユニット、16.17.41.42.26.27.7
1.72・・・アンプ、32.62・・・アービトレー
ションユニット、33.63・・・主記憶アクセスユニ
ット、111,121.131.141・・・リクエス
ト信号線、112,122゜132.142・・・バス
アクセプト信号線、113.123.133.143・
・・アクセプト信号線、114.124.151.15
2・・・ロック信号線。

Claims (1)

  1. 【特許請求の範囲】 1、複数のプロセッサと、複数のプロセッサが共有する
    1または複数の主記憶と、プロセッサより主記憶へのリ
    クエストを制御する主記憶毎に備えられた記憶制御装置
    と、を有する多重プロセッサシステムにおいて、 各プロセッサは、他のプロセッサが主記憶のロック設定
    を発行した場合に、該他のプロセッサが主記憶のロック
    解除を発行するまで、該他のプロセッサが送出したリク
    エストアドレスを取り込み、取り込んだリクエストアド
    レスが規定する主記憶のロック領域に、自プロセッサが
    発行する記憶制御装置へのリクエストアドレスが属する
    場合にはリクエストの発行を抑圧することを特徴とする
    主記憶のロック制御方法。 2、1または複数の主記憶と、1以上の主記憶を共有す
    る複数のプロセッサと、プロセッサより主記憶制御装置
    へのリクエストを制御する、主記憶装置に接続された主
    記憶毎の記憶制御装置と、各記憶制御装置と複数のプロ
    セッサとを接続するバスとを有する多重プロセッサシス
    テムであって、 各プロセッサは、アドレスレジスタと、1以上のロック
    アドレスレジスタと、他のプロセッサがロック設定を発
    行した場合に、他のプロセッサが前記バスに送出したリ
    クエストアドレスをロックアドレスレジスタに格納する
    手段と、命令を実行し、記憶制御装置へのリクエストの
    発行を要求し、記憶制御装置へのリクエストアドレスを
    アドレスレジスタに格納する命令実行ユニットと、アド
    レスレジスタと各ロックアドレスレジスタの内容を比較
    する比較器と、比較器における比較の結果、ロックアド
    レスレジスタの内容値が規定する領域にアドレスレジス
    タの内容値が属する場合には記憶制御装置へのリクエス
    トの発行を延期する機能を備えた、命令実行ユニットよ
    りの発行要求に応じて記憶制御装置へのリクエストの発
    行を制御するリクエスト制御手段と、他のプロセッサが
    主記憶のロック解除を発行した場合に、リクエスト制御
    手段における、ロック解除に対応するリクエストアドレ
    スを格納しているロックアドレスレジスタとアドレスレ
    ジスタとの比較によるリクエスト発行の延期を解除する
    手段と、を有することを特徴とする多重プロセッサシス
    テム。 3、複数の主記憶と、該複数の主記憶を共有する複数の
    プロセッサと、プロセッサより主記憶へのリクエストを
    制御する、主記憶装置に接続された主記憶毎の記憶制御
    装置と、各記憶制御装置と前記複数のプロセッサとを接
    続する各記憶制御装置毎に備えられたバスとを有する多
    重プロセッサシステムであって、 各プロセッサは、アドレスレジスタと、前記各バス毎に
    対応して設けられた複数のロックアドレスレジスタと、
    他のプロセッサがいずれかの主記憶のロック設定を発行
    した場合に、他プロセッサがロック設定を発行した主記
    憶に対応する記憶制御装置に接続されたバスに送出した
    リクエストアドレスを該バスに対応するロックアドレス
    レジスタに格納する手段と、命令を実行し、記憶制御装
    置へのリクエストの発行を要求し、記憶制御装置へのリ
    クエストアドレスをアドレスレジスタに格納する命令実
    行ユニットと、アドレスレジスタと各ロックアドレスレ
    ジスタの内容を比較する比較器と、比較器における比較
    の結果、ロックアドレスレジスタの内容値が規定する領
    域にアドレスレジスタの内容値が属する場合には記憶制
    御装置へのリクエストの発行を延期する機能を備えた、
    命令実行ユニットよりの発行要求に応じて各記憶制御装
    置へのリクエストの発行を制御するリクエスト制御手段
    と、他のプロセッサが主記憶のロック解除を発行した場
    合に、リクエスト制御手段における、該ロック解除に対
    応するリクエストアドレスを格納しているロックアドレ
    スレジスタとアドレスレジスタとの比較によるリクエス
    ト発行の延期を解除する手段と、を有することを特徴と
    する多重プロセッサシステム。 4、請求項2または3記載の多重プロセッサシステムで
    あって、 各プロセッサと各記憶制御装置間にロック状態通知線を
    備え、かつ、各記憶制御装置は、1のプロセッサよりロ
    ック設定またはロック解除を受けた場合に、他のプロセ
    ッサに前記ロック状態通知線を介してその旨を通知する
    ことを特徴とする多重プロセッサシステム。5、請求項
    2または3記載の多重プロセッサシステムであって、 各記憶制御装置と前記複数のプロセッサとを接続するロ
    ック状態通知バスを各記憶制御装置毎に備え、各プロセ
    ッサは、いずれかの主記憶のロックを設定する場合には
    、ロックを設定する主記憶に対応する記憶制御装置に接
    続されたロック状態通知バスを介してロック設定を、い
    ずれかの主記憶のロックを解除する場合には、ロックを
    解除する主記憶に対応する記憶制御装置に接続されたロ
    ック状態通知バスを介してロック解除を、他のプロセッ
    サに通知することを特徴とする多重プロセッサシステム
JP1335941A 1989-12-25 1989-12-25 多重プロセッサシステム Expired - Lifetime JPH0664567B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1335941A JPH0664567B2 (ja) 1989-12-25 1989-12-25 多重プロセッサシステム
US08/144,486 US5442755A (en) 1989-12-25 1993-10-29 Multi-processor system with lock address register in each processor for storing lock address sent to bus by another processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1335941A JPH0664567B2 (ja) 1989-12-25 1989-12-25 多重プロセッサシステム

Publications (2)

Publication Number Publication Date
JPH03196249A true JPH03196249A (ja) 1991-08-27
JPH0664567B2 JPH0664567B2 (ja) 1994-08-22

Family

ID=18294056

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1335941A Expired - Lifetime JPH0664567B2 (ja) 1989-12-25 1989-12-25 多重プロセッサシステム

Country Status (2)

Country Link
US (1) US5442755A (ja)
JP (1) JPH0664567B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008046969A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd 共有メモリのアクセス監視方法及び装置
US8082410B2 (en) 2006-02-28 2011-12-20 Fujitsu Limited Address exclusive control system and address exclusive control method

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2874488B2 (ja) * 1992-10-30 1999-03-24 富士通株式会社 処理装置
JPH07262140A (ja) * 1994-03-16 1995-10-13 Nec Corp 排他制御装置
US5655100A (en) * 1995-03-31 1997-08-05 Sun Microsystems, Inc. Transaction activation processor for controlling memory transaction execution in a packet switched cache coherent multiprocessor system
US5892954A (en) * 1995-07-07 1999-04-06 Sun Microsystems, Inc. Method and apparatus for refreshing file locks to minimize conflicting accesses to data files
US5968157A (en) * 1997-01-23 1999-10-19 Sun Microsystems, Inc. Locking of computer resources
US6108757A (en) * 1997-02-28 2000-08-22 Lucent Technologies Inc. Method for locking a shared resource in multiprocessor system
US6105085A (en) * 1997-12-26 2000-08-15 Emc Corporation Lock mechanism for shared resources having associated data structure stored in common memory include a lock portion and a reserve portion
US6078981A (en) * 1997-12-29 2000-06-20 Intel Corporation Transaction stall technique to prevent livelock in multiple-processor systems
US6157398A (en) * 1997-12-30 2000-12-05 Micron Technology, Inc. Method of implementing an accelerated graphics port for a multiple memory controller computer system
US7071946B2 (en) * 1997-12-30 2006-07-04 Micron Technology, Inc. Accelerated graphics port for a multiple memory controller computer system
US6252612B1 (en) * 1997-12-30 2001-06-26 Micron Electronics, Inc. Accelerated graphics port for multiple memory controller computer system
US6141734A (en) * 1998-02-03 2000-10-31 Compaq Computer Corporation Method and apparatus for optimizing the performance of LDxL and STxC interlock instructions in the context of a write invalidate protocol
US6460121B1 (en) * 1998-09-14 2002-10-01 Compaq Information Technologies Group, L.P. Method for providing an atomic memory read using a compare-exchange instruction primitive
US6275913B1 (en) * 1999-10-15 2001-08-14 Micron Technology, Inc. Method for preserving memory request ordering across multiple memory controllers
US6275914B1 (en) * 1999-10-15 2001-08-14 Micron Technology, Inc Apparatus for preserving memory request ordering across multiple memory controllers
US6654837B1 (en) * 1999-12-28 2003-11-25 Intel Corporation Dynamic priority external transaction system
US7096324B1 (en) 2000-06-12 2006-08-22 Altera Corporation Embedded processor with dual-port SRAM for programmable logic
JP4394298B2 (ja) * 2001-02-20 2010-01-06 日本電気株式会社 マルチプロセッサシステムとその共有メモリ制御方法、及び共有メモリ制御プログラム
DE10146516A1 (de) * 2001-09-21 2003-04-24 Infineon Technologies Ag Programmgesteuerte Einheit
US6922745B2 (en) * 2002-05-02 2005-07-26 Intel Corporation Method and apparatus for handling locks
JP4576323B2 (ja) * 2004-12-10 2010-11-04 富士通株式会社 データ転送装置およびデータ転送方法
US7913048B2 (en) * 2006-07-26 2011-03-22 International Business Machines Corporation Data subscribe-and-publish mechanisms and methods for producer-consumer pre-fetch communications
US9015436B2 (en) * 2011-08-22 2015-04-21 Intel Corporation Performing an atomic operation without quiescing an interconnect structure
GB2523804B (en) * 2014-03-06 2021-03-31 Advanced Risc Mach Ltd Transactional memory support

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55108069A (en) * 1979-02-13 1980-08-19 Nippon Telegr & Teleph Corp <Ntt> Multiprocessor processing system
JPS58225467A (ja) * 1982-06-25 1983-12-27 Toshiba Corp マルチプロセツサシステムにおけるインタロツク方式

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4224664A (en) * 1976-05-07 1980-09-23 Honeywell Information Systems Inc. Apparatus for detecting when the activity of one process in relation to a common piece of information interferes with any other process in a multiprogramming/multiprocessing computer system
US4402046A (en) * 1978-12-21 1983-08-30 Intel Corporation Interprocessor communication system
US4574350A (en) * 1982-05-19 1986-03-04 At&T Bell Laboratories Shared resource locking apparatus
JPH0760422B2 (ja) * 1983-12-30 1995-06-28 株式会社日立製作所 記憶ロツク方式
JPS63259758A (ja) * 1987-04-17 1988-10-26 Hitachi Ltd 多重プロセツサシステム
US4937733A (en) * 1987-05-01 1990-06-26 Digital Equipment Corporation Method and apparatus for assuring adequate access to system resources by processors in a multiprocessor computer system
US4975870A (en) * 1988-02-25 1990-12-04 Data General Corporation Apparatus for locking a portion of a computer memory
US4984153A (en) * 1988-04-27 1991-01-08 Unisys Corporation Storage locking control for a plurality of processors which share a common storage unit
AU633724B2 (en) * 1990-06-29 1993-02-04 Digital Equipment Corporation Interlock queueing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55108069A (en) * 1979-02-13 1980-08-19 Nippon Telegr & Teleph Corp <Ntt> Multiprocessor processing system
JPS58225467A (ja) * 1982-06-25 1983-12-27 Toshiba Corp マルチプロセツサシステムにおけるインタロツク方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8082410B2 (en) 2006-02-28 2011-12-20 Fujitsu Limited Address exclusive control system and address exclusive control method
JP2008046969A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd 共有メモリのアクセス監視方法及び装置

Also Published As

Publication number Publication date
US5442755A (en) 1995-08-15
JPH0664567B2 (ja) 1994-08-22

Similar Documents

Publication Publication Date Title
JPH03196249A (ja) 多重プロセッサシステム
US5579505A (en) Memory access system and method for granting or preventing atomic or nonatomic memory access requests to shared memory regions
US5678026A (en) Multi-processor data processing system with control for granting multiple storage locks in parallel and parallel lock priority and second level cache priority queues
US6516393B1 (en) Dynamic serialization of memory access in a multi-processor system
US6625698B2 (en) Method and apparatus for controlling memory storage locks based on cache line ownership
US6189078B1 (en) System and method for increasing data transfer throughput for cache purge transactions using multiple data response indicators to maintain processor consistency
JP3206914B2 (ja) 多重プロセッサ・システム
US6292860B1 (en) Method for preventing deadlock by suspending operation of processors, bridges, and devices
JP2830116B2 (ja) マルチプロセッサシステムにおけるロック制御機構
JPS59180767A (ja) 直列化装置
JP2001167077A (ja) ネットワークシステムにおけるデータアクセス方法、ネットワークシステムおよび記録媒体
US11829188B2 (en) Method for managing the debugging of a system on chip forming for example a microcontroller, and corresponding system on chip
JP2003050789A (ja) 回路、プロセッサ、及びマルチプロセッサシステム
US6986013B2 (en) Imprecise cache line protection mechanism during a memory clone operation
US20040111547A1 (en) High speed memory cloning facility via a lockless multiprocessor mechanism
JP2011221931A (ja) データプロセッサ
US6981108B1 (en) Method for locking shared resources connected by a PCI bus
JP2507071B2 (ja) バスロック制御方式
JPS6153747B2 (ja)
JPH09269935A (ja) メモリ制御装置、及びメモリ制御方法
JPS5858666A (ja) デ−タ処理装置
JPH05257903A (ja) マルチプロセッサシステム
JP2856761B2 (ja) 資源ロック管理装置
JPS62214466A (ja) 記憶装置ロツク制御方式
JP2656558B2 (ja) キャッシュメモリ制御回路