JPH0664567B2 - 多重プロセッサシステム - Google Patents
多重プロセッサシステムInfo
- Publication number
- JPH0664567B2 JPH0664567B2 JP1335941A JP33594189A JPH0664567B2 JP H0664567 B2 JPH0664567 B2 JP H0664567B2 JP 1335941 A JP1335941 A JP 1335941A JP 33594189 A JP33594189 A JP 33594189A JP H0664567 B2 JPH0664567 B2 JP H0664567B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- lock
- address
- main memory
- address register
- 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 - Lifetime
Links
- 230000015654 memory Effects 0.000 claims description 77
- 238000003860 storage Methods 0.000 claims description 75
- 230000006870 function Effects 0.000 claims description 9
- 238000000034 method Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 230000001934 delay Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 2
- 239000000725 suspension Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling 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)
Description
【発明の詳細な説明】 [産業上の利用分野] 本発明は、多重プロセッサシステムに係り、特に、その
ロック動作を高速実行する多重プロセッサに関するもの
である。
ロック動作を高速実行する多重プロセッサに関するもの
である。
[従来の技術] 多重プロセッサシステムにおいて、主記憶(MSと表
す)上でデータを共有するためには、ある一定期間他の
プロセッサからのデータアクセスを禁止して、データを
読書きするロック機構が必要である。このようなロック
機構については、例えば特開昭63-259758号公報に記載
されている技術が知られている。
す)上でデータを共有するためには、ある一定期間他の
プロセッサからのデータアクセスを禁止して、データを
読書きするロック機構が必要である。このようなロック
機構については、例えば特開昭63-259758号公報に記載
されている技術が知られている。
以下、この従来の技術について説明する。
各プロセッサ(IPと表す)は、ストアスルー制御によ
るバッファ記憶(BSと表す)と該BSのディレクトリ
を保持するバッファアドレスアレイ(BAAと表す)を
備え、また、各記憶制御装置(SCと表す)は、上記B
AAの一部の写しを保持するフロントアドレスアレイ
(FAAと表す)を備える。
るバッファ記憶(BSと表す)と該BSのディレクトリ
を保持するバッファアドレスアレイ(BAAと表す)を
備え、また、各記憶制御装置(SCと表す)は、上記B
AAの一部の写しを保持するフロントアドレスアレイ
(FAAと表す)を備える。
また、BAAの各エントリーには、予約ビット(RSV
ビットと表す)とロックビット(以下、Lビットと表
す)が、FAAには上記BAAのRSVビットの写しを
有する。
ビットと表す)とロックビット(以下、Lビットと表
す)が、FAAには上記BAAのRSVビットの写しを
有する。
そして、ロック要求を発行するIPは、ロック要求アド
レスに対応するBAAのエントリーを参照し、RSVビ
ットが‘1’ならば、直ちにLビットを‘1’にしてロ
ック状態に入る。
レスに対応するBAAのエントリーを参照し、RSVビ
ットが‘1’ならば、直ちにLビットを‘1’にしてロ
ック状態に入る。
RSVビットが‘1’でないときは、SCにロックアド
レスを送出し、すべてのFAAの対応するエントリーの
Lビットを参照し、もしRSVビットが‘1’のFAA
エントリーがあれば、該FAAに対応するIPにキャン
セル要求を発行する。キャンセルが完了した後、又は、
RSVビットが‘1’のFAAが存在しない時は、ロッ
ク要求元IPの対応するFAAエントリのRSVビット
を‘1’にした後、ロック要求元IPにロックの受付け
を通知し、要求元IPは該BAAのRSVビット、Lビ
ットを‘1’にしクロック状態に入る。
レスを送出し、すべてのFAAの対応するエントリーの
Lビットを参照し、もしRSVビットが‘1’のFAA
エントリーがあれば、該FAAに対応するIPにキャン
セル要求を発行する。キャンセルが完了した後、又は、
RSVビットが‘1’のFAAが存在しない時は、ロッ
ク要求元IPの対応するFAAエントリのRSVビット
を‘1’にした後、ロック要求元IPにロックの受付け
を通知し、要求元IPは該BAAのRSVビット、Lビ
ットを‘1’にしクロック状態に入る。
ロック状態の解除は、BAAのLビットを‘0’に設定
することで行なわれる。
することで行なわれる。
あるIPがロック状態の時、他のIPがロックアドレス
をアクセスしようとすると、当該IPのBAAエントリ
ーのRSVビットは必ず‘0’であるため、SCにリク
エストを要求する。SCでは、ロックIPのFAAの該
当エントリーのRSVビットが‘1’のため、ロックI
Pにキャンセルが発行される。ロックIPは、ロックが
解除されるまで、このキャンセルに対する応答を返さな
いため、ロックIP以外のIPによるロックアドレスの
アクセスは、ロック解除まで延期される。
をアクセスしようとすると、当該IPのBAAエントリ
ーのRSVビットは必ず‘0’であるため、SCにリク
エストを要求する。SCでは、ロックIPのFAAの該
当エントリーのRSVビットが‘1’のため、ロックI
Pにキャンセルが発行される。ロックIPは、ロックが
解除されるまで、このキャンセルに対する応答を返さな
いため、ロックIP以外のIPによるロックアドレスの
アクセスは、ロック解除まで延期される。
以上、説明した動作により、従来の技術はロック機構を
実現していた。
実現していた。
[発明が解決しようとする課題] 前記従来技術は、主記憶の写しの一部をBSに登録する
際、IP間で排他的に登録し、あるIPがあるBSのブ
ロックをロックしてアクセス中には、当該ブロックの他
IPからのアクセスを排除し、当該ブロックの他IPへ
の解放をロック解除時まで延期することを特徴としてい
る。
際、IP間で排他的に登録し、あるIPがあるBSのブ
ロックをロックしてアクセス中には、当該ブロックの他
IPからのアクセスを排除し、当該ブロックの他IPへ
の解放をロック解除時まで延期することを特徴としてい
る。
したがって、IPは、あるブロックをBSに登録する
際、リクエストとリクエストアドレスをCSに送出し、
これに対して、SCは当該ブロックの登録許可としてア
クセプトをIPに返信する。
際、リクエストとリクエストアドレスをCSに送出し、
これに対して、SCは当該ブロックの登録許可としてア
クセプトをIPに返信する。
このため、SCと各IP間にはIP毎にリクエスト、リ
クエストアドレス、アクセプトの各信号線が必要とな
る。
クエストアドレス、アクセプトの各信号線が必要とな
る。
多重プロセッサシステムにおいて、IPの台数が増加す
るとこの信号線は、台数に比例して増大するにもかかわ
らず、LSIのピン数等による実装上の問題により、信
号数には制限があり、実現が困難となる。
るとこの信号線は、台数に比例して増大するにもかかわ
らず、LSIのピン数等による実装上の問題により、信
号数には制限があり、実現が困難となる。
このため、リクエスト、アクセプト等の制御信号はIP
毎に独立に設け、信号数の多いアドレス線はバスにして
全IPで共通化することが行なわれている。
毎に独立に設け、信号数の多いアドレス線はバスにして
全IPで共通化することが行なわれている。
しかし、リクエストアドレスをバス化すると、複数のI
Pで同時にリクエストアドレスを送出することが不可能
になるため、バス権を調停する手段が必要になる。
Pで同時にリクエストアドレスを送出することが不可能
になるため、バス権を調停する手段が必要になる。
バス権の調停は、IPがSCへリクエスト要求した際、
SCが要求元IPにバス権を与えるバスアクセプト信号
が必要であり、また、バスアクセプトに呼応してIPか
らSCにリクエストアドレスを送出した際にリクエスト
アドレスがリクエスト要求IP以外のIPがロック中の
ため直ちにアクセプトを返答できない場合に、リクエス
ト要求IPは直ちにバス権を開放し他のIPのリクエス
ト要求をSCが受け付け可能とする機能と、この場合に
SCがリクエストアドレスを保持しつつ他のIPからの
リクエストを受付ける機能が必要となる。
SCが要求元IPにバス権を与えるバスアクセプト信号
が必要であり、また、バスアクセプトに呼応してIPか
らSCにリクエストアドレスを送出した際にリクエスト
アドレスがリクエスト要求IP以外のIPがロック中の
ため直ちにアクセプトを返答できない場合に、リクエス
ト要求IPは直ちにバス権を開放し他のIPのリクエス
ト要求をSCが受け付け可能とする機能と、この場合に
SCがリクエストアドレスを保持しつつ他のIPからの
リクエストを受付ける機能が必要となる。
バスアクセプト信号の追加は、制御論理を多少複雑に
し、IPからのリクエスト要求時間を増大させる欠点が
あるが、これはバス化には必須の次点であり許容範囲内
である。
し、IPからのリクエスト要求時間を増大させる欠点が
あるが、これはバス化には必須の次点であり許容範囲内
である。
しかしアクセプトを直ちに返答できない場合、バスを直
ちに開放して他IPからの別のリクエストを受付ける機
能は、SCの制御論理の複雑さを相当増大させてしまう
問題がある。
ちに開放して他IPからの別のリクエストを受付ける機
能は、SCの制御論理の複雑さを相当増大させてしまう
問題がある。
そこで、本発明は、主記憶の特定のアドレスを1つのI
Pのみでロック動作を高速にかつSCの制御論理の増大
無しに実現できる多重プロセッサシステムを提供するこ
とを目的とする。
Pのみでロック動作を高速にかつSCの制御論理の増大
無しに実現できる多重プロセッサシステムを提供するこ
とを目的とする。
[課題を解決するための手段] 前記目的達成のために、本発明は、複数のプロセッサ
と、複数のプロセッサが共有する1または複数の主記憶
と、主記憶毎に備えられたプロセッサより主記憶へのリ
クエストを制御する記憶制御装置と、を有する多重プロ
セッサシステムにおいて、 各プロセッサは、他のプロセッサが主記憶のロック設定
を発行した場合に、該他のプロセッサが主記憶のロック
解除を発行するまで、該他のプロセッサが送出したリク
エストアドレスを取り込み、取り込んだリクエストアド
レスが規定する主記憶のロック領域に、自プロセッサが
発行する記憶制御装置へのリクエストアドレスが属する
場合にはリクエストの発行を抑圧することを特徴とする
主記憶のロック制御方法を提供する。
と、複数のプロセッサが共有する1または複数の主記憶
と、主記憶毎に備えられたプロセッサより主記憶へのリ
クエストを制御する記憶制御装置と、を有する多重プロ
セッサシステムにおいて、 各プロセッサは、他のプロセッサが主記憶のロック設定
を発行した場合に、該他のプロセッサが主記憶のロック
解除を発行するまで、該他のプロセッサが送出したリク
エストアドレスを取り込み、取り込んだリクエストアド
レスが規定する主記憶のロック領域に、自プロセッサが
発行する記憶制御装置へのリクエストアドレスが属する
場合にはリクエストの発行を抑圧することを特徴とする
主記憶のロック制御方法を提供する。
また、本発明は前記目的達成のために、1または複数の
主記憶と、1以上の主記憶を共有する複数のプロセッサ
と、プロセッサより主記憶制御装置へのリクエストを制
御する、主記憶装置に接続された主記憶毎の記憶制御装
置と、各記憶制御装置と複数のプロセッサとを接続する
バスとを有する多重プロセッサシステムであって、各プ
ロセッサは、アドレスレジスタと、1以上のロックアド
レスレジスタと、他のプロセッサがロック設定を発行し
た場合に、他のプロセッサが前記バスに送出したリクエ
ストアドレスをロックアドレスレジスタに格納する手段
と、命令を実行し、記憶制御装置へのリクエストの発行
を要求し、記憶制御装置へのリクエストアドレスをアド
レスレジスタに格納する命令実行ユニットと、アドレス
レジスタとロックアドレスレジスタの内容を比較する比
較器と、比較器における比較の結果、ロックアドレスレ
ジスタの内容値が規定する領域にアドレスレジスタの内
容値が属する場合には記憶制御装置へのリクエストの発
行を延期する機能を備えた、命令実行ユニットよりの発
行要求に応じて記憶制御装置へのリクエストの発行を制
御するリクエスト制御手段と、他のプロセッサが主記憶
のロック解除を発行した場合に、リクエスト制御手段に
おける、ロック解除に対応するリクエストアドレスを格
納しているロックアドレスレジスタとアドレスレジスタ
との比較によるリクエスト発行の延期を解除する手段
と、を有することを特徴とする第1の多重プロセッサシ
ステムを提供する。
主記憶と、1以上の主記憶を共有する複数のプロセッサ
と、プロセッサより主記憶制御装置へのリクエストを制
御する、主記憶装置に接続された主記憶毎の記憶制御装
置と、各記憶制御装置と複数のプロセッサとを接続する
バスとを有する多重プロセッサシステムであって、各プ
ロセッサは、アドレスレジスタと、1以上のロックアド
レスレジスタと、他のプロセッサがロック設定を発行し
た場合に、他のプロセッサが前記バスに送出したリクエ
ストアドレスをロックアドレスレジスタに格納する手段
と、命令を実行し、記憶制御装置へのリクエストの発行
を要求し、記憶制御装置へのリクエストアドレスをアド
レスレジスタに格納する命令実行ユニットと、アドレス
レジスタとロックアドレスレジスタの内容を比較する比
較器と、比較器における比較の結果、ロックアドレスレ
ジスタの内容値が規定する領域にアドレスレジスタの内
容値が属する場合には記憶制御装置へのリクエストの発
行を延期する機能を備えた、命令実行ユニットよりの発
行要求に応じて記憶制御装置へのリクエストの発行を制
御するリクエスト制御手段と、他のプロセッサが主記憶
のロック解除を発行した場合に、リクエスト制御手段に
おける、ロック解除に対応するリクエストアドレスを格
納しているロックアドレスレジスタとアドレスレジスタ
との比較によるリクエスト発行の延期を解除する手段
と、を有することを特徴とする第1の多重プロセッサシ
ステムを提供する。
また、前記目的達成のために、本発明は、複数の主記憶
と、該複数の主記憶を共有する複数のプロセッサと、プ
ロセッサより主記憶へのリクエストを制御する、主記憶
装置に接続された主記憶毎の記憶制御装置と、各記憶制
御装置と前記複数のプロセッサとを接続する各記憶制御
装置毎に備えられたバスとを有する多重プロセッサシス
テムであって、 各プロセッサは、アドレスレジスタと、前記各バス毎に
対応して設けられた複数のロックアドレスレジスタと、
他のプロセッサがいずれかの主記憶のロック設定を発行
した場合に、他プロセッサがロック設定を発行した主記
憶に対応する記憶制御装置に接続されたバスに送出した
リクエストアドレスを該バスに対応するロックアドレス
レジスタに格納する手段と、命令を実行し、記憶制御装
置へのリクエストの発行を要求し、記憶制御装置へのリ
クエストアドレスをアドレスレジスタに格納する命令実
行ユニットと、アドレスレジスタと各ロックアドレスレ
ジスタの内容を比較する比較器と、比較器における比較
の結果、ロックアドレスレジスタの内容値が規定する領
域にアドレスレジスタの内容値が属する場合には記憶制
御装置へのリクエストの発行を延期する機能を備えた、
命令実行ユニットよりの発行要求に応じて各記憶制御装
置へのリクエストの発行を制御するリクエスト制御手段
と、他のプロセッサが主記憶のロック解除を発行した場
合に、リクエスト制御手段における、ロック解除に対応
するリクエストアドレスを格納しているロックアドレス
レジスタとアドレスレジスタとの比較によるリクエスト
発行の延期を解除する手段と、を有することを特徴とす
る第2の多重プロセッサシステムを提供する。
と、該複数の主記憶を共有する複数のプロセッサと、プ
ロセッサより主記憶へのリクエストを制御する、主記憶
装置に接続された主記憶毎の記憶制御装置と、各記憶制
御装置と前記複数のプロセッサとを接続する各記憶制御
装置毎に備えられたバスとを有する多重プロセッサシス
テムであって、 各プロセッサは、アドレスレジスタと、前記各バス毎に
対応して設けられた複数のロックアドレスレジスタと、
他のプロセッサがいずれかの主記憶のロック設定を発行
した場合に、他プロセッサがロック設定を発行した主記
憶に対応する記憶制御装置に接続されたバスに送出した
リクエストアドレスを該バスに対応するロックアドレス
レジスタに格納する手段と、命令を実行し、記憶制御装
置へのリクエストの発行を要求し、記憶制御装置へのリ
クエストアドレスをアドレスレジスタに格納する命令実
行ユニットと、アドレスレジスタと各ロックアドレスレ
ジスタの内容を比較する比較器と、比較器における比較
の結果、ロックアドレスレジスタの内容値が規定する領
域にアドレスレジスタの内容値が属する場合には記憶制
御装置へのリクエストの発行を延期する機能を備えた、
命令実行ユニットよりの発行要求に応じて各記憶制御装
置へのリクエストの発行を制御するリクエスト制御手段
と、他のプロセッサが主記憶のロック解除を発行した場
合に、リクエスト制御手段における、ロック解除に対応
するリクエストアドレスを格納しているロックアドレス
レジスタとアドレスレジスタとの比較によるリクエスト
発行の延期を解除する手段と、を有することを特徴とす
る第2の多重プロセッサシステムを提供する。
なお、前記第1または第2の多重プロセッサシステムに
おいては、各プロセッサと各記憶制御装置間にロック状
態通知線を備え、かつ、各記憶制御装置は、1のプロセ
ッサよりロック設定またはロック解除を受けた場合に、
他のプロセッサに前記ロック状態通知線を介してその旨
を通知するようにしても良い。
おいては、各プロセッサと各記憶制御装置間にロック状
態通知線を備え、かつ、各記憶制御装置は、1のプロセ
ッサよりロック設定またはロック解除を受けた場合に、
他のプロセッサに前記ロック状態通知線を介してその旨
を通知するようにしても良い。
または、前記第1または第2の多重プロセッサシステム
において、各記憶制御装置と前記複数のプロセッサとを
接続するロック状態通知バスを各記憶制御装置毎に備
え、各プロセッサは、いずれかの主記憶のロックを設定
する場合には、ロックを設定する主記憶に対応する記憶
制御装置に接続されたロック状態通知バスを介してロッ
ク設定を、いずれかの主記憶のロックを解除する場合に
は、ロックを解除する主記憶に対応する記憶制御装置に
接続されたロック状態通知バスを介してロック解除を、
他のプロセッサに通知するようにしても良い。
において、各記憶制御装置と前記複数のプロセッサとを
接続するロック状態通知バスを各記憶制御装置毎に備
え、各プロセッサは、いずれかの主記憶のロックを設定
する場合には、ロックを設定する主記憶に対応する記憶
制御装置に接続されたロック状態通知バスを介してロッ
ク設定を、いずれかの主記憶のロックを解除する場合に
は、ロックを解除する主記憶に対応する記憶制御装置に
接続されたロック状態通知バスを介してロック解除を、
他のプロセッサに通知するようにしても良い。
[作用] 本発明に係る、多重プロセッサシステムにおける主記憶
のロック制御方法によれば、各プロセッサは、他のプロ
セッサが主記憶のロック設定を発行した場合に、該他の
プロセッサが主記憶のロック解除を発行するまで、該他
のプロセッサが送出したリクエストアドレスを取り込
み、取り込んだリクエストアドレスが規定する主記憶の
ロック領域に、自プロセッサが発行する記憶制御装置へ
のリクエストアドレスが属する場合にはリクエストの発
行を抑圧することにより主記憶のロック機能を実現す
る。
のロック制御方法によれば、各プロセッサは、他のプロ
セッサが主記憶のロック設定を発行した場合に、該他の
プロセッサが主記憶のロック解除を発行するまで、該他
のプロセッサが送出したリクエストアドレスを取り込
み、取り込んだリクエストアドレスが規定する主記憶の
ロック領域に、自プロセッサが発行する記憶制御装置へ
のリクエストアドレスが属する場合にはリクエストの発
行を抑圧することにより主記憶のロック機能を実現す
る。
また、本発明に係る第1の多重プロセッサシステムによ
れば、他のプロセッサがロック設定を発行した場合に、
他のプロセッサが前記バスに送出したリクエストアドレ
スをロックアドレスレジスタに格納する。そして、アド
レスレジスタとロックアドレスレジスタの内容を比較器
において比較し、比較器における比較の結果、ロックア
ドレスレジスタの内容値が規定する領域に、アドレスレ
ジスタの内容値が属する場合には、命令実行ユニットよ
り発行要求があった場合でもリクエスト制御手段は記憶
制御装置へのリクエストの発行を延期する。そして、他
のプロセッサが主記憶のロック解除を発行した場合に、
リクエスト制御手段における、ロック解除に対応するリ
クエストアドレスを格納しているロックアドレスレジス
タとアドレスレジスタとの比較によるリクエスト発行の
延期を解除する。結果、主記憶のロック解除が発行され
るまで記憶制御装置記憶制御装置へリクエストは延期さ
れる。
れば、他のプロセッサがロック設定を発行した場合に、
他のプロセッサが前記バスに送出したリクエストアドレ
スをロックアドレスレジスタに格納する。そして、アド
レスレジスタとロックアドレスレジスタの内容を比較器
において比較し、比較器における比較の結果、ロックア
ドレスレジスタの内容値が規定する領域に、アドレスレ
ジスタの内容値が属する場合には、命令実行ユニットよ
り発行要求があった場合でもリクエスト制御手段は記憶
制御装置へのリクエストの発行を延期する。そして、他
のプロセッサが主記憶のロック解除を発行した場合に、
リクエスト制御手段における、ロック解除に対応するリ
クエストアドレスを格納しているロックアドレスレジス
タとアドレスレジスタとの比較によるリクエスト発行の
延期を解除する。結果、主記憶のロック解除が発行され
るまで記憶制御装置記憶制御装置へリクエストは延期さ
れる。
また、本発明に係る第2の多重プロセッサシステムによ
れば、他のプロセッサがいずれかの主記憶のロック設定
を発行した場合に、他プロセッサがロック設定を発行し
た主記憶に対応する記憶制御装置に接続されたバスに送
出したリクエストアドレスを該バスに対応するロックア
ドレスレジスタに格納する。そして、アドレスレジスタ
と各ロックアドレスレジスタの内容を比較器において比
較し、結果が所定の値の場合には、リクエスト制御手段
は命令実行ユニットより発行要求があった場合でも記憶
制御装置へのリクエストの発行を延期する。他のプロセ
ッサが主記憶のロック解除を発行した場合に、リクエス
ト制御手段における、ロック解除に対応するリクエスト
アドレスを格納しているロックアドレスレジスタとアド
レスレジスタとの比較によるリクエスト発行の延期を解
除する。結果、主記憶のロック解除が発行されるまで記
憶制御装置記憶制御装置へのリクエストは延期される。
れば、他のプロセッサがいずれかの主記憶のロック設定
を発行した場合に、他プロセッサがロック設定を発行し
た主記憶に対応する記憶制御装置に接続されたバスに送
出したリクエストアドレスを該バスに対応するロックア
ドレスレジスタに格納する。そして、アドレスレジスタ
と各ロックアドレスレジスタの内容を比較器において比
較し、結果が所定の値の場合には、リクエスト制御手段
は命令実行ユニットより発行要求があった場合でも記憶
制御装置へのリクエストの発行を延期する。他のプロセ
ッサが主記憶のロック解除を発行した場合に、リクエス
ト制御手段における、ロック解除に対応するリクエスト
アドレスを格納しているロックアドレスレジスタとアド
レスレジスタとの比較によるリクエスト発行の延期を解
除する。結果、主記憶のロック解除が発行されるまで記
憶制御装置記憶制御装置へのリクエストは延期される。
なお、前記第1または第2の多重プロセッサシステムに
ロック状態通知線を備えた場合は、各記憶制御装置は、
1のプロセッサよりロック設定またはロック解除を受け
た場合に、他のプロセッサに前記ロック状態通知線を介
してその旨を通知する。これにより、各IPは主記憶の
ロック設定および解除を知ることができる。
ロック状態通知線を備えた場合は、各記憶制御装置は、
1のプロセッサよりロック設定またはロック解除を受け
た場合に、他のプロセッサに前記ロック状態通知線を介
してその旨を通知する。これにより、各IPは主記憶の
ロック設定および解除を知ることができる。
また、前記第1または第2の多重プロセッサシステムに
ロック状態通知バスを各記憶制御装置毎に備えた場合
は、各プロセッサは、いずれかの主記憶のロックを設定
する場合には、ロックを設定する主記憶に対応する記憶
制御装置に接続されたロック状態通知バスを介してロッ
ク設定を、いずれかの主記憶のロックを解除する場合に
は、ロックを解除する主記憶に対応する記憶制御装置に
接続されたロック状態通知バスを介してロック解除を、
他のプロセッサに通知する。これによっても、各IPは
主記憶のロック設定および解除を知ることができる。
ロック状態通知バスを各記憶制御装置毎に備えた場合
は、各プロセッサは、いずれかの主記憶のロックを設定
する場合には、ロックを設定する主記憶に対応する記憶
制御装置に接続されたロック状態通知バスを介してロッ
ク設定を、いずれかの主記憶のロックを解除する場合に
は、ロックを解除する主記憶に対応する記憶制御装置に
接続されたロック状態通知バスを介してロック解除を、
他のプロセッサに通知する。これによっても、各IPは
主記憶のロック設定および解除を知ることができる。
以上のように、ロック中の他IPからのロックアドレス
への排他制御を、リクエスト元IPで行なうことが可能
となるため、ロック待ちによるSCでのリクエスト待ち
は存在しなくなり、SCの制御論理の増大が解消され、
さらにSCでのロック機能そのものも不要となるため、
高速で安価にロック機能を実現することができる。
への排他制御を、リクエスト元IPで行なうことが可能
となるため、ロック待ちによるSCでのリクエスト待ち
は存在しなくなり、SCの制御論理の増大が解消され、
さらにSCでのロック機能そのものも不要となるため、
高速で安価にロック機能を実現することができる。
[実施例] 以下、本発明に係る多重プロセッサシステムの第1の実
施例について説明する。
施例について説明する。
第1図に、本第1の実施例に係る多重プロセッサシステ
ムの構成を示す。
ムの構成を示す。
図中、プロセッサ(IP)1、2は、バス5を介して記
憶制御装置(SC)3に接続されており、SC3は主記
憶装置(MS)4に接続されている。
憶制御装置(SC)3に接続されており、SC3は主記
憶装置(MS)4に接続されている。
IP1、2は、内部に命令実行ユニット11、21を持
ち、ここで主記憶へのリクエストが発生すると、リクエ
ストアドレスはアドレスレジスタ12、22に送出さ
れ、リクエスト要求がリクエスト制御ユニット15、2
5に送出される。リクエスト制御ユニット15、25は
SC3内のアービトレーション32と、リクエスト信号
線111、121、バスアクセプト信号線112、12
2、アクセプト信号線113、123、ロック信号線1
14、124で結合されており、リクエスト信号線11
1、121を用いて、SCにリクエストが要求される。
ち、ここで主記憶へのリクエストが発生すると、リクエ
ストアドレスはアドレスレジスタ12、22に送出さ
れ、リクエスト要求がリクエスト制御ユニット15、2
5に送出される。リクエスト制御ユニット15、25は
SC3内のアービトレーション32と、リクエスト信号
線111、121、バスアクセプト信号線112、12
2、アクセプト信号線113、123、ロック信号線1
14、124で結合されており、リクエスト信号線11
1、121を用いて、SCにリクエストが要求される。
また、各IPは、ロックアドレスレジスタ13、23
と、比較器14、24を備えており、ロックアドレスレ
ジスタ13、23にはロックアドレスを保持し、比較器
14、24はロックアドレスレジスタとアドレスレジス
タの内容を比較し、結果をリクエスト制御ユニット1
5、25に通知する。
と、比較器14、24を備えており、ロックアドレスレ
ジスタ13、23にはロックアドレスを保持し、比較器
14、24はロックアドレスレジスタとアドレスレジス
タの内容を比較し、結果をリクエスト制御ユニット1
5、25に通知する。
アービトレーションユニット32はバスの使用許可をバ
スアクセプト信号112、122を用いてリクエスト制
御ユニット15、25に返答する。バスの使用許可がお
りると、リクエストアドレスは、アドレスレジスタ1
2、22よりアンプ16、26を通じてバス5に送出さ
れ、SC3内のアドレスレジスタ31に設定される。
スアクセプト信号112、122を用いてリクエスト制
御ユニット15、25に返答する。バスの使用許可がお
りると、リクエストアドレスは、アドレスレジスタ1
2、22よりアンプ16、26を通じてバス5に送出さ
れ、SC3内のアドレスレジスタ31に設定される。
主記憶アクセスは、アドレスレジスタ31とアービトレ
ーションユニット32からの信号により、主記憶アクセ
スユニット33がMS4をアクセスするが、主記憶アク
セスそのものは、本発明では問題としていないので説明
を省略する。
ーションユニット32からの信号により、主記憶アクセ
スユニット33がMS4をアクセスするが、主記憶アク
セスそのものは、本発明では問題としていないので説明
を省略する。
主記憶アクセスが完了すると、アービトレーションユニ
ット32は、アクセプト信号線113、123を用い
て、アクセプトをリクエスト制御ユニット15、25に
送出し、これにて、命令実行ユニット11、21からの
主記憶へのリクエスト動作が完了する。
ット32は、アクセプト信号線113、123を用い
て、アクセプトをリクエスト制御ユニット15、25に
送出し、これにて、命令実行ユニット11、21からの
主記憶へのリクエスト動作が完了する。
次に、リクエストが競合した場合の動作について説明す
る。
る。
第2図に、本システムのバス3の状態を示す。
図示するように、IP1とIP2のリクエスト要求が同
時に発生した場合、本実施例では、あらかじめ割り当て
たID番号の若いIPを優先して受け付ける。バスアク
セプトが返らないIPは、その間はリクエスト信号を送
出したままとなる。
時に発生した場合、本実施例では、あらかじめ割り当て
たID番号の若いIPを優先して受け付ける。バスアク
セプトが返らないIPは、その間はリクエスト信号を送
出したままとなる。
なお、リクエスト信号線111、121は、それぞれ、
複数の信号線で構成されており、複数種のリクエストを
発行できる。
複数の信号線で構成されており、複数種のリクエストを
発行できる。
第3図に、リクエスト種別の一覧を示す。
図示するように、本実施例においては、リクエストとし
て2種類のフェッチ、2種類のストア、フェッチおよび
ロック設定、ストアおよびロック解除の、計6種類のリ
クエスト信号を備える。
て2種類のフェッチ、2種類のストア、フェッチおよび
ロック設定、ストアおよびロック解除の、計6種類のリ
クエスト信号を備える。
本第1の実施例に係る多重プロセッサシステムのロック
設定時の動作について説明する。
設定時の動作について説明する。
第4図にロック設定時の動作を示す。
図示するように、ロックの設定は、例えばIP1がロッ
クを設定する際、IP1は通常のリクエストとと同様に
ロックアドレスをアドレスレジスタ12に設定して、リ
クエスト制御ユニット15より’フェッチおよびロック
設定コマンド’をリクエスト信号線111に送出する。
クを設定する際、IP1は通常のリクエストとと同様に
ロックアドレスをアドレスレジスタ12に設定して、リ
クエスト制御ユニット15より’フェッチおよびロック
設定コマンド’をリクエスト信号線111に送出する。
SC3は、通常のフェッチリクエストと同様の動作の他
に、アービトレーションユニット32より、IP1へバ
スアクセプト信号112の送出と同時に、ロック信号線
124を用いて、IP2にロックの設定を通知する。
に、アービトレーションユニット32より、IP1へバ
スアクセプト信号112の送出と同時に、ロック信号線
124を用いて、IP2にロックの設定を通知する。
IP1は、バスアクセプト信号112を受信すると、ア
ドレスレジスタ12に設定してあるロックアドレスをア
ンプ16を介してバス5に送出する。
ドレスレジスタ12に設定してあるロックアドレスをア
ンプ16を介してバス5に送出する。
IP2は、ロック設定通信を受けると、IP1がバス5
に送出中のロックアドレスをアンプ27を介してロック
アドレスレジスタ27に取込む。
に送出中のロックアドレスをアンプ27を介してロック
アドレスレジスタ27に取込む。
以上でIP1のロック設定が完了する。
次に、IP1がロック期間中に、IP2の命令実行ユニ
ット21にリクエストが発生した場合について記述す
る。
ット21にリクエストが発生した場合について記述す
る。
要求リクエストがロック設定リクエストの場合、リクエ
スト制御ユニット25はロック信号線124がリセット
されるまでリクエスト信号線121へのリクエスト送出
を延期する。
スト制御ユニット25はロック信号線124がリセット
されるまでリクエスト信号線121へのリクエスト送出
を延期する。
また、この状態でIP2のロック解除リクエストは論理
的に発生しない。
的に発生しない。
要求リクエストが、フェッチやストアの通常のメモリリ
クエストの場合、命令実行ユニット21からリクエスト
アドレスがアドレスレジスタ22に送出される。
クエストの場合、命令実行ユニット21からリクエスト
アドレスがアドレスレジスタ22に送出される。
アドレスレジスタ22とロックアドレスレジスタ23の
アドレスは、比較器24で比較され、一致した場合は一
致信号がリクエスト制御ユニット25に送られ、リクエ
スト制御ユニット25は、リクエスト信号線121への
リクエスト送出を延期する。比較器24での比較結果が
一致しない場合は、リクエスト信号線121から通常と
同様にリクエストが発せられる。
アドレスは、比較器24で比較され、一致した場合は一
致信号がリクエスト制御ユニット25に送られ、リクエ
スト制御ユニット25は、リクエスト信号線121への
リクエスト送出を延期する。比較器24での比較結果が
一致しない場合は、リクエスト信号線121から通常と
同様にリクエストが発せられる。
なお、前記した比較器24における比較は、ロックの単
位となる記憶空間の領域の大きさに合わせて、以下のよ
うに行う。たとえば、ロックの単位となる記憶空間大き
さが256である場合には、両アドレスの下位8ビット
を無視し、残りのアドレスのみを比較する。記憶空間大
きさが512の場合は下位9ビットを無視する。したが
って、ロックアドレスのうち比較に必要なビットのみを
ロックアドレスレジスタに格納するようにしても良い。
以下に述べる、第2、第3の実施例においても比較は同
様に行うものとする。
位となる記憶空間の領域の大きさに合わせて、以下のよ
うに行う。たとえば、ロックの単位となる記憶空間大き
さが256である場合には、両アドレスの下位8ビット
を無視し、残りのアドレスのみを比較する。記憶空間大
きさが512の場合は下位9ビットを無視する。したが
って、ロックアドレスのうち比較に必要なビットのみを
ロックアドレスレジスタに格納するようにしても良い。
以下に述べる、第2、第3の実施例においても比較は同
様に行うものとする。
なお、この記憶空間の領域の大きさは、マニュアルスイ
ッチや、ソフトウェアにより可変であることが望まし
い。
ッチや、ソフトウェアにより可変であることが望まし
い。
以上、これにより、IPがリクエストしたアドレスの属
する単位空間を一度にロックすることが可能となる。
する単位空間を一度にロックすることが可能となる。
次にロック設定の解除時の動作について説明する。
IP1において、命令実行ユニット11でのロック要求
が終了すると、IP1のリクエスト制御ユニット15
は、リクエスト信号線111に’ストアおよびロック解
除コマンド’を発行する。
が終了すると、IP1のリクエスト制御ユニット15
は、リクエスト信号線111に’ストアおよびロック解
除コマンド’を発行する。
アービトレーションユニット32はロック解除コマンド
を受付けると、ロック信号線124をリセットする。
を受付けると、ロック信号線124をリセットする。
この時、もしIP2において、IP1のロック期間中の
ため延期されているリクエストが存在する場合には、I
P2のリクエスト制御ユニット25は延期されていたリ
クエストをSC3に送出する。これにより、IP2によ
るロック設定の動作が開始する。
ため延期されているリクエストが存在する場合には、I
P2のリクエスト制御ユニット25は延期されていたリ
クエストをSC3に送出する。これにより、IP2によ
るロック設定の動作が開始する。
以上の動作により、IP1がある特定のアドレスをロッ
ク中、IP2は、このアドレスに対するアクセスが禁止
されるため、ロック動作が実現されたこととなる。
ク中、IP2は、このアドレスに対するアクセスが禁止
されるため、ロック動作が実現されたこととなる。
なお、IP2がロック設定を行なう場合も、上記IP1
の場合と同様に行なわれる。また、本実施例では説明を
簡略化するためにIPを2台として説明したが、3台以
上の場合も同様に実現できる。
の場合と同様に行なわれる。また、本実施例では説明を
簡略化するためにIPを2台として説明したが、3台以
上の場合も同様に実現できる。
以下、この例を本発明に係る多重プロセッサシステムの
第2の実施例として説明する。
第2の実施例として説明する。
第5図に本第2の実施例に係る多重プロセッサシステム
の構成を示す。
の構成を示す。
本例は、一例として、IPが3台の例を示したものであ
り、図中1、2、5がIPを示す。
り、図中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を
備えている。
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は、各々S
C3内のアービトレーション32と、リクエスト信号線
111、121、521、バスアクセプト信号線11
2、122、522、アクセプト信号線113、12
3、523、ロック信号線114、124、524で結
合されている。
C3内のアービトレーション32と、リクエスト信号線
111、121、521、バスアクセプト信号線11
2、122、522、アクセプト信号線113、12
3、523、ロック信号線114、124、524で結
合されている。
以下、その動作について、説明する。
まず、IP1がSC3にロックを設定した際、他のIP
2、3には、アービトレーション32よりそれぞれロッ
ク信号線124、524を介してロック設定が通知され
る。IP2、3は、第1の実施例と同様に、それぞれの
アドレスレジスタ23a、53aにロックアドレスをバ
ス5より取り込む。
2、3には、アービトレーション32よりそれぞれロッ
ク信号線124、524を介してロック設定が通知され
る。IP2、3は、第1の実施例と同様に、それぞれの
アドレスレジスタ23a、53aにロックアドレスをバ
ス5より取り込む。
なお、本例は、ロックアドレスを複数用いる例をも示し
ており、1回のロックアドレスの取り込みで、複数備え
たロックアドレスレジスタのいずれかにロックアドレス
を格納する。
ており、1回のロックアドレスの取り込みで、複数備え
たロックアドレスレジスタのいずれかにロックアドレス
を格納する。
その後、IP2、3においては、命令実行ユニット2
1、51からのSC3へのリクエスト発行の際、アドレ
スレジスタと自IPの各ロックアドレスレジスタの内容
が比較され、一致した場合は、そのリクエストの発行は
延期される。
1、51からのSC3へのリクエスト発行の際、アドレ
スレジスタと自IPの各ロックアドレスレジスタの内容
が比較され、一致した場合は、そのリクエストの発行は
延期される。
次に、たとえば、IP1が送出したロックアドレスを他
IPが保持している場合に、IP5から自身が保持して
いるロックアドレスと異なるアドレスにロック要求が発
行されると、他IPは空いているロックアドレスにこの
ロックアドレスを取り込む。なお、自身が保持している
ロックアドレスと同じアドレスへのロック要求の発行は
延期される。また、システム全体で各IPが有するロッ
クドレスレジスタ数以上のロックの同時設定は禁止され
る。
IPが保持している場合に、IP5から自身が保持して
いるロックアドレスと異なるアドレスにロック要求が発
行されると、他IPは空いているロックアドレスにこの
ロックアドレスを取り込む。なお、自身が保持している
ロックアドレスと同じアドレスへのロック要求の発行は
延期される。また、システム全体で各IPが有するロッ
クドレスレジスタ数以上のロックの同時設定は禁止され
る。
この時、IP2においては、2つのロックアドレスレジ
スタに2つのロックアドレスが保持されている。したが
って、IP2においては、ロックアドレスレジスタ23
a、23bの内容と一致するアドレスへのリクエストの
発行は延期される。
スタに2つのロックアドレスが保持されている。したが
って、IP2においては、ロックアドレスレジスタ23
a、23bの内容と一致するアドレスへのリクエストの
発行は延期される。
この場合、ロックの解除は、IP1またはIP5のロッ
ク解除要求発行に応じて、対応するロックレジスタの初
期化、または、次のロックレジスタの設定まで対応する
ロックレジスタとアドレスレジスタの比較の中止をすれ
ば良い。
ク解除要求発行に応じて、対応するロックレジスタの初
期化、または、次のロックレジスタの設定まで対応する
ロックレジスタとアドレスレジスタの比較の中止をすれ
ば良い。
なお、IPが3台以上存在するシステムであって、ロッ
クアドレスレジスタが1つのみのシステムも考えられる
が、この場合は、前記第1の実施例と同様に、あるIP
がロック設定中は、他のIPはリクエストおよびロック
要求の発行を延期するようにする。
クアドレスレジスタが1つのみのシステムも考えられる
が、この場合は、前記第1の実施例と同様に、あるIP
がロック設定中は、他のIPはリクエストおよびロック
要求の発行を延期するようにする。
以上、IPが3台以上のシステムと、ロックアドレスを
複数設定可能システムについて説明した。
複数設定可能システムについて説明した。
以下、本発明に係る多重プロセッサシステムの第3の実
施例について説明する。
施例について説明する。
第6図に、本第3の実施例に係る多重プロセッサシステ
ムの構成を示す。
ムの構成を示す。
図示するように、本実施例においては、IP1、2は、
双方共バス5を介してSC3に、バス8を介してSC6
に接続されており、SC3はMS4に、SC6はMS7
にそれぞれ接続されている。
双方共バス5を介してSC3に、バス8を介してSC6
に接続されており、SC3はMS4に、SC6はMS7
にそれぞれ接続されている。
各IP1、2は内部に命令実行ユニット11、21を持
ち、ここで主記憶へのリクエストが発生すると、リクエ
ストアドレスはアドレスレジスタ12、22に送出さ
れ、リクエスト要求がリクエスト制御ユニット15、2
5に送出される。リクエスト制御ユニット15、25は
SC3、SC6内のアービトレーション32、62と、
それぞれリクエスト信号線111および131、121
および141、バスアクセプト信号線112および13
2、122および142、アクセプト信号線113およ
び133、123および143で結合されており、リク
エスト信号線111、121によりSC3に、121、
141によりSC6にリクエストが要求される。
ち、ここで主記憶へのリクエストが発生すると、リクエ
ストアドレスはアドレスレジスタ12、22に送出さ
れ、リクエスト要求がリクエスト制御ユニット15、2
5に送出される。リクエスト制御ユニット15、25は
SC3、SC6内のアービトレーション32、62と、
それぞれリクエスト信号線111および131、121
および141、バスアクセプト信号線112および13
2、122および142、アクセプト信号線113およ
び133、123および143で結合されており、リク
エスト信号線111、121によりSC3に、121、
141によりSC6にリクエストが要求される。
アービトレーションユニット32はバスの使用許可をバ
スアクセプト信号112、122を用いてリクエスト制
御ユニット15、25に返答する。また、アービトレー
ションユニット62はバスの使用許可をバスアクセプト
信号132、142を用いてリクエスト制御ユニット1
5、25に返答する。
スアクセプト信号112、122を用いてリクエスト制
御ユニット15、25に返答する。また、アービトレー
ションユニット62はバスの使用許可をバスアクセプト
信号132、142を用いてリクエスト制御ユニット1
5、25に返答する。
バスの使用許可がおりると、リクエストアドレスは、ア
ドレスレジスタ12、22よりアンプ16、26を通じ
てバス5に送出され、SC3内のアドレスレジスタ31
に設定される。また、リクエストアドレスは、アドレス
レジスタ12、22よりアンプ41、71を通じてバス
8に送出され、SC6内のアドレスレジスタ61に設定
される。
ドレスレジスタ12、22よりアンプ16、26を通じ
てバス5に送出され、SC3内のアドレスレジスタ31
に設定される。また、リクエストアドレスは、アドレス
レジスタ12、22よりアンプ41、71を通じてバス
8に送出され、SC6内のアドレスレジスタ61に設定
される。
また、各IPは、各SC3、6に対応して、ロックアド
レスレジスタ13および18、23および28と、比較
器14および19、24および29を備えており、ロッ
クアドレスレジスタ13、23にはSC3のロックアド
レスを、ロックアドレスレジスタ18、28にはSC6
のロックアドレスを保持し、比較器は、各々ロックアド
レスレジスタとアドレスレジスタの内容を比較し、結果
をリクエスト制御ユニット15、25に通知する。
レスレジスタ13および18、23および28と、比較
器14および19、24および29を備えており、ロッ
クアドレスレジスタ13、23にはSC3のロックアド
レスを、ロックアドレスレジスタ18、28にはSC6
のロックアドレスを保持し、比較器は、各々ロックアド
レスレジスタとアドレスレジスタの内容を比較し、結果
をリクエスト制御ユニット15、25に通知する。
また、各IPはロック信号線151、152で結合され
ており、ロック信号線を介して互いのロック状態を検知
する。
ており、ロック信号線を介して互いのロック状態を検知
する。
本実施例は前述した第1の実施例にSC6とバス8を追
加したシステムであり、基本的な動作は第1の実施例と
同様であるので、以下異なる点のみ記述する。
加したシステムであり、基本的な動作は第1の実施例と
同様であるので、以下異なる点のみ記述する。
IP1がSC3にリクエストを発行する際は、リクエス
ト信号線111、バスアクセプト信号線112、アクセ
プト信号線113を用いる。同様にIP1がSC6にリ
クエストを発行する際は、リクエスト信号線131、バ
スアクセプト信号線132、アクセプト信号線133を
用いる。
ト信号線111、バスアクセプト信号線112、アクセ
プト信号線113を用いる。同様にIP1がSC6にリ
クエストを発行する際は、リクエスト信号線131、バ
スアクセプト信号線132、アクセプト信号線133を
用いる。
IP1がSC6のある主記憶アドレスにロックを設定す
る際、IP1はSC6に通常のフェッチリクエストを送
出する。
る際、IP1はSC6に通常のフェッチリクエストを送
出する。
本第3の実施例においては、前記第1の実施例で第3図
に示したコマンドうち項1から4すなわちフェッチとス
トアのリクエストのみ使用するものとする。
に示したコマンドうち項1から4すなわちフェッチとス
トアのリクエストのみ使用するものとする。
IP1は、SC6からバスアクセプト信号線132を受
付けると、アドレスレジスタ22に設定してあるロック
アドレスをバス8に送出する。また、同時に、ロック信
号線152を使用して、ロック設定を他のIPに、本実
施例ではIP2に通知する。
付けると、アドレスレジスタ22に設定してあるロック
アドレスをバス8に送出する。また、同時に、ロック信
号線152を使用して、ロック設定を他のIPに、本実
施例ではIP2に通知する。
IP2のリクエスト制御ユニット25は、ロック通知を
受けるとバス8に送出中のロックアドレスをロックアド
レスレジスタ28に取込む。
受けるとバス8に送出中のロックアドレスをロックアド
レスレジスタ28に取込む。
IP1がSC6をロック中にIP2の命令実行ユニット
21で主記憶リクエストが発生した場合は、リクエスト
先のSCがSC3の場合はリクエストの種別に関係なく
リクエストは発行される。
21で主記憶リクエストが発生した場合は、リクエスト
先のSCがSC3の場合はリクエストの種別に関係なく
リクエストは発行される。
リクエスト先がSC6の場合で、アドレスレジスタ22
に設定されたリクエストアドレスがロックアドレスレジ
スタ28と一致したと比較器29で検出された場合に
は、SC6へのリクエスト信号線141へのリクエスト
送出は、ロック解除まで延期される。一致しない場合に
は通常と同様にリクエストを発行する。
に設定されたリクエストアドレスがロックアドレスレジ
スタ28と一致したと比較器29で検出された場合に
は、SC6へのリクエスト信号線141へのリクエスト
送出は、ロック解除まで延期される。一致しない場合に
は通常と同様にリクエストを発行する。
なお、以上、IPが2台の場合を例に取り、SC、バス
が複数ある多重プロセッサシステムにおいても、IPに
おいてロック制御が実現できることを示したが、前記第
1の実施例と同様に、IPが2台以上の場合も、本実施
例に示した機構を拡張することにより同様に実現でき
る。
が複数ある多重プロセッサシステムにおいても、IPに
おいてロック制御が実現できることを示したが、前記第
1の実施例と同様に、IPが2台以上の場合も、本実施
例に示した機構を拡張することにより同様に実現でき
る。
また、各IP間のロック状態の通知が、SCを介さずに
実現できることを示したが、前記第1実施例において
も、各IPをロック信号線で直接結合して、直接ロック
状態の通知を行うようにしても良い。
実現できることを示したが、前記第1実施例において
も、各IPをロック信号線で直接結合して、直接ロック
状態の通知を行うようにしても良い。
以上、本実施例によれば、複数のIPとSCがバスによ
り結合された多重マルチプロセッサシステムのロック制
御において、下記に示す効果がある。
り結合された多重マルチプロセッサシステムのロック制
御において、下記に示す効果がある。
1.ロック期間中のロックアドレスの排他制御をリクエ
スト元であるIP側で行なっており、IPにおけるロッ
ク制御を、ロックレジスタ1個と比較器1個の少量のハ
ードウェアで実現している。SC側では、ロック制御の
ハードウェアはごく少量であり、システムとしてロック
制御ハードウェア量を激減させている。
スト元であるIP側で行なっており、IPにおけるロッ
ク制御を、ロックレジスタ1個と比較器1個の少量のハ
ードウェアで実現している。SC側では、ロック制御の
ハードウェアはごく少量であり、システムとしてロック
制御ハードウェア量を激減させている。
2.ロックの排他制御をIPで行なっているためロック
の設定や、ロック中の排他制御そのものをSCで行なう
より高速化できる。すなわち、ロックアドレスとの比較
をIP側でリクエスト要求前に行なえるため、SC側で
比較を行なうのに比べて、リクエストからアクセプトま
での時間を短縮可能となり、システムの性能を高めるこ
とができる。
の設定や、ロック中の排他制御そのものをSCで行なう
より高速化できる。すなわち、ロックアドレスとの比較
をIP側でリクエスト要求前に行なえるため、SC側で
比較を行なうのに比べて、リクエストからアクセプトま
での時間を短縮可能となり、システムの性能を高めるこ
とができる。
[発明の効果] 以上のように、本発明によれば、主記憶の特定のアドレ
スを1つの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、24、29…比較器、15、25
…リクエスト制御ユニット、16、17、41、42、
26、27、71、72…アンプ、32、62…アービ
トレーションユニット、33、63…主記憶アクセスユ
ニット、111、121、131、141…リクエスト
信号線、112、122、132、142…バスアクセ
プト信号線、113、123、133、143…アクセ
プト信号線、114、124、151、152…ロック
信号線。
ステムの構成を示すブロック図、第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、24、29…比較器、15、25
…リクエスト制御ユニット、16、17、41、42、
26、27、71、72…アンプ、32、62…アービ
トレーションユニット、33、63…主記憶アクセスユ
ニット、111、121、131、141…リクエスト
信号線、112、122、132、142…バスアクセ
プト信号線、113、123、133、143…アクセ
プト信号線、114、124、151、152…ロック
信号線。
Claims (6)
- 【請求項1】複数のプロセッサと、複数のプロセッサが
共有する1または複数の主記憶と、プロセッサより主記
憶へのリクエストを制御する主記憶毎に備えられた記憶
制御装置と、を有する多重プロセッサシステムにおい
て、 各プロセッサは、他のプロセッサが主記憶のロック設定
を発行した場合に、該他のプロセッサが送出したリクエ
ストアドレスを取り込み、取り込んだリクエストアドレ
スが規定する主記憶のロック領域に、自プロセッサが発
行する記憶制御装置へのリクエストのリクエストアドレ
スが属する場合にはリクエストの発行を行わずに、当該
リクエストを保存し、保存したリクエストのリクエスト
アドレスが属する領域をロック領域として規定するリク
エストアドレスについてのロック解除が前記他のプロセ
ッサから発行された場合に、保存したリクエストを記憶
制御装置へ発行することを特徴とする主記憶のロック制
御方法。 - 【請求項2】1または複数の主記憶と、1以上の主記憶
を共有する複数のプロセッサと、プロセッサより主記憶
制御装置へのリクエストを制御する、主記憶装置に接続
された主記憶毎の記憶制御装置と、各記憶制御装置と複
数のプロセッサとを接続する伝送路とを有する多重プロ
セッサシステムであって、 各プロセッサは、アドレスレジスタと、複数のロックア
ドレスレジスタと、他のプロセッサがロック設定を発行
した場合に、他のプロセッサが前記バスに送出したリク
エストアドレスを各ロックアドレスレジスタに、それぞ
れ格納する手段と、命令を実行し、記憶制御装置へのリ
クエストの発行を要求し、記憶制御装置へのリクエスト
アドレスをアドレスレジスタに格納する命令実行ユニッ
トと、アドレスレジスタと各ロックアドレスレジスタの
内容を比較する比較器と、比較器における比較の結果、
各ロックアドレスレジスタの各内容値が規定する各領域
のいずれかにアドレスレジスタの内容値が属する場合に
は記憶制御装置へのリクエストの発行を延期する機能を
備えた、命令実行ユニットよりの発行要求に応じて記憶
制御装置へのリクエストの発行を制御するリクエスト制
御手段と、他のプロセッサが主記憶のロック解除を発行
した場合に、ロック解除に対応するリクエストアドレス
を格納しているロックアドレスレジスタの内容、もしく
は、当該ロックアドレスレジスタの内容とアドレスレジ
スタの内容との比較器による比較結果を無効化した後、
比較器による比較結果が、各ロックアドレスレジスタの
各内容値が規定する各領域のいずれにもアドレスレジス
タの内容値が属さないことを示しているときには、リク
エスト制御手段における、アドレスレジスタに記憶され
ているアドレスへのリクエスト発行の延期を解除する手
段と、を有することを特徴とする多重プロセッサシステ
ム。 - 【請求項3】複数の主記憶と、該複数の主記憶を共有す
る複数のプロセッサと、プロセッサより主記憶へのリク
エストを制御する、主記憶装置に接続された主記憶毎の
記憶制御装置と、各記憶制御装置と前記複数のプロセッ
サとを接続する各記憶制御装置毎に備えられたバスとを
有する多重プロセッサシステムであって、 各プロセッサは、アドレスレジスタと、前記各バス毎に
対応して設けられた複数のロックアドレスレジスタと、
他のプロセッサがいずれかの主記憶のロック設定を発行
した場合に、他プロセッサがロック設定を発行した主記
憶に対応する記憶制御装置に接続されたバスに送出した
リクエストアドレスを該バスに対応するロックアドレス
レジスタに格納する手段と、命令を実行し、記憶制御装
置へのリクエストの発行を要求し、記憶制御装置へのリ
クエストアドレスをアドレスレジスタに格納する命令実
行ユニットと、アドレスレジスタと各ロックアドレスレ
ジスタの内容を比較する比較器と、比較器における比較
の結果、ロックアドレスレジスタの内容値が規定する領
域にアドレスレジスタの内容値が属する場合には記憶制
御装置へのリクエストの発行を延期する機能を備えた、
命令実行ユニットよりの発行要求に応じて各記憶制御装
置へのリクエストの発行を制御するリクエスト制御手段
と、他のプロセッサが主記憶のロック解除を発行した場
合に、リクエスト制御手段における、該ロック解除に対
応するリクエストアドレスを格納しているロックアドレ
スレジスタとアドレスレジスタとの比較によるリクエス
ト発行の延期を解除する手段と、を有することを特徴と
する多重プロセッサシステム。 - 【請求項4】請求項2または3記載の多重プロセッサシ
ステムであって、 各プロセッサと各記憶制御装置間にロック状態通知線を
備え、かつ、各記憶制御装置は、1のプロセッサよりロ
ック設定またはロック解除を受けた場合に、他のプロセ
ッサに前記ロック状態通知線を介してその旨を通知する
ことを特徴とする多重プロセッサシステム。 - 【請求項5】請求項2または3記載の多重プロセッサシ
ステムであって、 各記憶制御装置と前記複数のプロセッサとを接続するロ
ック状態通知バスを各記憶制御装置毎に備え、各プロセ
ッサは、いずれかの主記憶のロックを設定する場合に
は、ロックを設定する主記憶に対応する記憶制御装置に
接続されたロック状態通知バスを介してロック設定を、
いずれかの主記憶のロックを解除する場合には、ロック
を解除する主記憶に対応する記憶制御装置に接続された
ロック状態通知バスを介してロック解除を、他のプロセ
ッサに通知することを特徴とする多重プロセッサシステ
ム。 - 【請求項6】複数のプロセッサと、複数のプロセッサが
共有する1または複数の主記憶と、プロセッサより主記
憶へのリクエストを制御する主記憶毎に備えられた記憶
制御装置と、を有する多重プロセッサシステムにおい
て、 各プロセッサは、他のプロセッサが主記憶のロック設定
を発行した場合に、該他のプロセッサが送出した複数の
リクエストアドレスを取り込み、取り込んだ複数のリク
エストアドレスが規定する主記憶の複数のロック領域の
いずれかに、自プロセッサが発行する記憶制御装置への
リクエストのリクエストアドレスが属する場合にはリク
エストの発行を行わずに、当該リクエストを保存し、取
り込んだリクエストアドレスのうち、保存したリクエス
トのリクエストアドレスが属する領域をロック領域とし
て規定するリクエストアドレスについてのロック解除が
前記他のプロセッサから発行された場合に、保存したリ
クエストを記憶制御装置へ発行することを特徴とする主
記憶のロック制御方法。
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 JPH03196249A (ja) | 1991-08-27 |
JPH0664567B2 true 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) |
Families Citing this family (26)
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 |
US7071946B2 (en) * | 1997-12-30 | 2006-07-04 | Micron Technology, Inc. | Accelerated graphics port for a multiple memory controller computer system |
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 |
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 |
US6275914B1 (en) * | 1999-10-15 | 2001-08-14 | Micron Technology, Inc | Apparatus for preserving memory request ordering across multiple memory controllers |
US6275913B1 (en) * | 1999-10-15 | 2001-08-14 | Micron Technology, Inc. | Method 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 | 富士通株式会社 | データ転送装置およびデータ転送方法 |
JP4712863B2 (ja) | 2006-02-28 | 2011-06-29 | 富士通株式会社 | アドレス排他制御システムおよびアドレス排他制御方法 |
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 |
JP2008046969A (ja) * | 2006-08-18 | 2008-02-28 | Fujitsu Ltd | 共有メモリのアクセス監視方法及び装置 |
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 |
Family Cites Families (11)
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 |
JPS55108069A (en) * | 1979-02-13 | 1980-08-19 | Nippon Telegr & Teleph Corp <Ntt> | Multiprocessor processing system |
US4574350A (en) * | 1982-05-19 | 1986-03-04 | At&T Bell Laboratories | Shared resource locking apparatus |
JPS58225467A (ja) * | 1982-06-25 | 1983-12-27 | Toshiba Corp | マルチプロセツサシステムにおけるインタロツク方式 |
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 |
-
1989
- 1989-12-25 JP JP1335941A patent/JPH0664567B2/ja not_active Expired - Lifetime
-
1993
- 1993-10-29 US US08/144,486 patent/US5442755A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5442755A (en) | 1995-08-15 |
JPH03196249A (ja) | 1991-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0664567B2 (ja) | 多重プロセッサシステム | |
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 | |
US5579505A (en) | Memory access system and method for granting or preventing atomic or nonatomic memory access requests to shared memory regions | |
US5682516A (en) | Computer system that maintains system wide cache coherency during deferred communication transactions | |
US6292860B1 (en) | Method for preventing deadlock by suspending operation of processors, bridges, and devices | |
US6122712A (en) | Cache coherency controller of cache memory for maintaining data anti-dependence when threads are executed in parallel | |
EP0381325B1 (en) | Synchronising and processing of memory access operations | |
JP3871305B2 (ja) | マルチプロセッサ・システムにおけるメモリ・アクセスの動的直列化 | |
JP3634932B2 (ja) | データ完全性を維持するためのスピン・バッファおよび方法 | |
JP2820752B2 (ja) | 密結合マルチプロセッサシステムにおけるキャッシュメモリ一致制御方法 | |
US6047316A (en) | Multiprocessor computing apparatus having spin lock fairness | |
US5293491A (en) | Data processing system and memory controller for lock semaphore operations | |
JPH06214960A (ja) | 多重プロセッサシステム | |
KR100293594B1 (ko) | 공유메모리로의배타적액세스를실행하는멀티프로세서시스템 | |
US6076126A (en) | Software locking mechanism for locking shared resources in a data processing system | |
KR100915260B1 (ko) | 오토믹 세마포어 연산을 수행하기 위한 방법 및 장치 | |
US20030033489A1 (en) | Semaphore management circuit | |
JPH05108473A (ja) | デ−タ処理システム | |
US6862646B2 (en) | Method and apparatus for eliminating the software generated ready-signal to hardware devices that are not part of the memory coherency domain | |
JP2776759B2 (ja) | ロックリクエスト制御装置 | |
JP2000003302A (ja) | 共有メモリ排他アクセス制御方法 | |
JP3381079B2 (ja) | キャッシュメモリを用いた排他制御システム | |
JPS6153747B2 (ja) | ||
JPH05257903A (ja) | マルチプロセッサシステム |