JPH0760422B2 - 記憶ロツク方式 - Google Patents
記憶ロツク方式Info
- Publication number
- JPH0760422B2 JPH0760422B2 JP58247670A JP24767083A JPH0760422B2 JP H0760422 B2 JPH0760422 B2 JP H0760422B2 JP 58247670 A JP58247670 A JP 58247670A JP 24767083 A JP24767083 A JP 24767083A JP H0760422 B2 JPH0760422 B2 JP H0760422B2
- Authority
- JP
- Japan
- Prior art keywords
- lock
- address
- access source
- access
- request
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】 〔発明の利用分野〕 本発明は、複数のアクセス元装置(演算処理装置、入出
力処理装置等)によって共有される記憶装置のロツク機
構に関する。
力処理装置等)によって共有される記憶装置のロツク機
構に関する。
複数のアクセス元装置が主記憶を共有して独立に動作す
るシステムでは、一つのアクセス元装置が主記憶の一部
をアクセスしている間、その部分に対する他のアクセス
元装置からのアクセスを禁止することが必要になる、こ
れをロツクと呼び、禁止された主記憶上のエリアをロツ
ク・エリアと呼ぶ。
るシステムでは、一つのアクセス元装置が主記憶の一部
をアクセスしている間、その部分に対する他のアクセス
元装置からのアクセスを禁止することが必要になる、こ
れをロツクと呼び、禁止された主記憶上のエリアをロツ
ク・エリアと呼ぶ。
従来のロツク方式の一つに特開昭57−158081号「多重プ
ロセツサ・システムにおけるキヤツシユ制御方式」があ
る。これは、各アクセス元装置が有するキヤツシユ・デ
イレクトリの各エントリ対応にロツク・ビツトを用意
し、そのロツク・ビツトのオン状態によつて当該エント
リ内のアドレスが示す主記憶上のエリアをロツクするも
のである。しかしながら、この方式にも次のような改善
の余地がないわけではない。すなわち、(1)あるアク
セス元装置で主記憶のアクセス要求が発生すると、当該
要求アドレスが他のアクセス元装置によってロツクされ
ているかどうかを判定するために、他の全てのアクセス
元装置のキヤツシユ・デイレクトリを検索する必要があ
り、そのため、各アクセス元装置のキヤツシユ・デイレ
クトリのビジー率が高くなる。(2)他の全てのアクセ
ス元装置のキヤツシユ・デイレクトリを検索してロツク
されていないことを確認してからでないと、主記憶のア
クセス要求が処理できないため、ターン・アラウンドが
大きくなる。
ロセツサ・システムにおけるキヤツシユ制御方式」があ
る。これは、各アクセス元装置が有するキヤツシユ・デ
イレクトリの各エントリ対応にロツク・ビツトを用意
し、そのロツク・ビツトのオン状態によつて当該エント
リ内のアドレスが示す主記憶上のエリアをロツクするも
のである。しかしながら、この方式にも次のような改善
の余地がないわけではない。すなわち、(1)あるアク
セス元装置で主記憶のアクセス要求が発生すると、当該
要求アドレスが他のアクセス元装置によってロツクされ
ているかどうかを判定するために、他の全てのアクセス
元装置のキヤツシユ・デイレクトリを検索する必要があ
り、そのため、各アクセス元装置のキヤツシユ・デイレ
クトリのビジー率が高くなる。(2)他の全てのアクセ
ス元装置のキヤツシユ・デイレクトリを検索してロツク
されていないことを確認してからでないと、主記憶のア
クセス要求が処理できないため、ターン・アラウンドが
大きくなる。
主記憶上のエリアをロツクする方法として、各アクセス
元装置内にロツク・アドレスを格納するレジスタを設け
る方法をとつた場合でも、前記と同様にターン・アラウ
ンドは大きくなる。
元装置内にロツク・アドレスを格納するレジスタを設け
る方法をとつた場合でも、前記と同様にターン・アラウ
ンドは大きくなる。
また、記憶制御装置内に当該記憶制御装置に接続される
アクセス元装置に対応するロツク・アドレス保持手段を
設けた場合でも、記憶制御装置を複数台有するシステム
では、前記と同様の問題が生じる。
アクセス元装置に対応するロツク・アドレス保持手段を
設けた場合でも、記憶制御装置を複数台有するシステム
では、前記と同様の問題が生じる。
特開昭55−108069号公報には、各アクセス元装置に、他
のすべてのアクセス元装置がロツクしたアドレスの写し
を保持する手段を設けた、記憶ロツク方式が記載れてい
る。この方式によれば、前記の問題は解決されるにして
も、記憶制御装置が複数台あるような大規模なシステム
では、ハードウエア量の増加が膨大になる。
のすべてのアクセス元装置がロツクしたアドレスの写し
を保持する手段を設けた、記憶ロツク方式が記載れてい
る。この方式によれば、前記の問題は解決されるにして
も、記憶制御装置が複数台あるような大規模なシステム
では、ハードウエア量の増加が膨大になる。
本発明の目的は、前記のように他のアクセス元装置のキ
ヤツシユ・デイレクトリのビジー率が増加したり、ター
ン・アラウンドが増大することなく、しかもハードウエ
ア量の増加が僅少な、記憶ロツク手段を提供するにあ
る。
ヤツシユ・デイレクトリのビジー率が増加したり、ター
ン・アラウンドが増大することなく、しかもハードウエ
ア量の増加が僅少な、記憶ロツク手段を提供するにあ
る。
この発明の特徴とするところは、それぞれ一群のアクセ
ス元装置が接続された複数の記憶制御装置の各個ごと
に、他の記憶制御装置に接続されたアクセス元装置によ
り記憶ロツクされたロツク・アドレスを示す情報の写し
を保持する手段と、ロツク・アドレスを示す情報の写し
を授受するために他の各記憶制御装置と通信する手段
と、それに接続されたアクセス元装置からの記憶アクセ
ス要求の要求アドレスがロツクされていることが、前記
保持手段の内容から判明すれば、そのアクセス要求を拒
否する手段とを、備える点にある。
ス元装置が接続された複数の記憶制御装置の各個ごと
に、他の記憶制御装置に接続されたアクセス元装置によ
り記憶ロツクされたロツク・アドレスを示す情報の写し
を保持する手段と、ロツク・アドレスを示す情報の写し
を授受するために他の各記憶制御装置と通信する手段
と、それに接続されたアクセス元装置からの記憶アクセ
ス要求の要求アドレスがロツクされていることが、前記
保持手段の内容から判明すれば、そのアクセス要求を拒
否する手段とを、備える点にある。
これにより、少量のハードウエアの付加によつて、他の
アクセス元装置又は他の記憶制御装置内に記録されたロ
ツク・アドレスを示す情報に直接アクセスする必要が除
かれる。
アクセス元装置又は他の記憶制御装置内に記録されたロ
ツク・アドレスを示す情報に直接アクセスする必要が除
かれる。
次に、本発明の一実施例を図面を用いて詳細に説明す
る。
る。
第1図は本発明の一実施例のシステム構成図である。図
において、101は主記憶装置(以下MSと略す)であり、1
02,103は記憶制御装置(以下SCと略す)であり、104〜1
07はアクセス元装置(中央処理装置又は入出力処理装
置)であり、121,131はキヤツシユ・メモリ(以下BSと
略す)であり、122,132はキヤツシユ・デイレクトリ
(以下BAAと略す)であり、123,133は各SC102・103に接
続されるアクセス元装置対応のロツク・アドレス格納用
レジスタ群及び当該レジスタ群の内容と各々のSCに接続
されるアクセス元装置から送出されたMSへのアクセス要
求アドレスとを比較する比較回路を有するロツク判定部
(以下LKAと略す)であり、124は本発明により追加され
たものでLKA133に登録されたロツク・アドレスの写しを
格納するレジスタ群及び当該レジスタ群の内容とSC102
に接続されるアクセス元装置104,105から送出されたMS
へのアクセス要求アドレスとを比較する比較回路を有す
るロツク判定部(以下FLKAと略す)であり、134も同様
にLKA123の写しをもつFLKAであり、125,135は各SCに接
続されるアクセス元装置で発生するリクエスト及び他方
のSCからのリクエストの処理優先順位を決定するプライ
オリテイ論理である。
において、101は主記憶装置(以下MSと略す)であり、1
02,103は記憶制御装置(以下SCと略す)であり、104〜1
07はアクセス元装置(中央処理装置又は入出力処理装
置)であり、121,131はキヤツシユ・メモリ(以下BSと
略す)であり、122,132はキヤツシユ・デイレクトリ
(以下BAAと略す)であり、123,133は各SC102・103に接
続されるアクセス元装置対応のロツク・アドレス格納用
レジスタ群及び当該レジスタ群の内容と各々のSCに接続
されるアクセス元装置から送出されたMSへのアクセス要
求アドレスとを比較する比較回路を有するロツク判定部
(以下LKAと略す)であり、124は本発明により追加され
たものでLKA133に登録されたロツク・アドレスの写しを
格納するレジスタ群及び当該レジスタ群の内容とSC102
に接続されるアクセス元装置104,105から送出されたMS
へのアクセス要求アドレスとを比較する比較回路を有す
るロツク判定部(以下FLKAと略す)であり、134も同様
にLKA123の写しをもつFLKAであり、125,135は各SCに接
続されるアクセス元装置で発生するリクエスト及び他方
のSCからのリクエストの処理優先順位を決定するプライ
オリテイ論理である。
第2図はLKA123,FLKA124を詳細に示した図であるが、LK
A133,FLKA134も同様である。201は第1図のプライオリ
テイ論理125で選択されたリクエストのアクセス要求ア
ドレス線であり、202は同じくプライオリテイ論理125で
選択されたリクエストがロツクのセツト要求又はリセツ
ト要求であつた場合のロツク・アドレス格納用レジスタ
の制御線であり、203はプライオリテイ論理125で選択さ
れたリクエストのアクセス要求アドレスとロツク・アド
レス格納用レジスタに登録されている内容とを比較する
かどうかを制御するコンペア・イネーブル線である。LK
A123内の211,212は第1図のアクセス元装置104,105に対
応したロツク・アドレス格納用レジスタで、ロツク・ア
ドレス部と有効フラグ部よりなる。213,214は比較回路
である。FLKA124も、LKA123と同様に、アドレス格納用
レジスタ221,222と比較回路223,224よりなる。アドレス
格納用レジスタ221,222には第1図のSC103内のLKA133に
格納されている情報と同じものが写しとして格納され
る。(LKAを設けてロツク・アドレスを登録する代りに
キヤツシユ・デイレクトリの各エントリ対応にロツク・
ビツトを持つ方式に対しても、本発明は適用できるが、
その場合でも、FLKAの登録データ及び制御方法はかわら
ない。) 今例えば、アクセス元装置104で主記憶上のあるアドレ
スに対して書込みアクセス要求が発生した場合、プライ
オリテイ論理125で当該リクエストが選択されると、ア
クセス要求アドレスが201を通り比較回路213,214,223,2
24に入力される。ロツク・アドレス格納用レジスタに対
しては何ら制御(セツト又はリセツト)の必要がないの
で制御線202の信号はオフとする。他のアクセス元装置1
05〜107が当該要求アドレスに対してロツクをかけてい
るかどうかを判定するため、他のアクセス元装置対応の
比較回路214,223,224のコンペア・イネーブル信号203を
オンにし、ロツク・アドレス格納用レジスタ212,221,22
2の内容とアクセス元装置104からのアクセス要求アドレ
スを比較する。(自分自身のロツク・アドレスとは比較
せず、不一致の信号を送出する。)いずれかの比較回路
においてアドレスが一致し、かつ、そこのロツク・アド
レス格納用レジスタの有効フラグがセツトされていれ
ば、その比較回路から“1"が出力される。204はOR回路
で、各比較回路からの出力の論理和をとり、出力信号20
5を出力する、出力信号205が“1"であれば、アクセス元
装置104からの当該アクセス要求は他のいずれかのアク
セス元装置のロツク・エリアに対するものであるので、
出力信号205によりBAA122の検索が抑止され、BS121又は
MS101へのアクセスが許されない。
A133,FLKA134も同様である。201は第1図のプライオリ
テイ論理125で選択されたリクエストのアクセス要求ア
ドレス線であり、202は同じくプライオリテイ論理125で
選択されたリクエストがロツクのセツト要求又はリセツ
ト要求であつた場合のロツク・アドレス格納用レジスタ
の制御線であり、203はプライオリテイ論理125で選択さ
れたリクエストのアクセス要求アドレスとロツク・アド
レス格納用レジスタに登録されている内容とを比較する
かどうかを制御するコンペア・イネーブル線である。LK
A123内の211,212は第1図のアクセス元装置104,105に対
応したロツク・アドレス格納用レジスタで、ロツク・ア
ドレス部と有効フラグ部よりなる。213,214は比較回路
である。FLKA124も、LKA123と同様に、アドレス格納用
レジスタ221,222と比較回路223,224よりなる。アドレス
格納用レジスタ221,222には第1図のSC103内のLKA133に
格納されている情報と同じものが写しとして格納され
る。(LKAを設けてロツク・アドレスを登録する代りに
キヤツシユ・デイレクトリの各エントリ対応にロツク・
ビツトを持つ方式に対しても、本発明は適用できるが、
その場合でも、FLKAの登録データ及び制御方法はかわら
ない。) 今例えば、アクセス元装置104で主記憶上のあるアドレ
スに対して書込みアクセス要求が発生した場合、プライ
オリテイ論理125で当該リクエストが選択されると、ア
クセス要求アドレスが201を通り比較回路213,214,223,2
24に入力される。ロツク・アドレス格納用レジスタに対
しては何ら制御(セツト又はリセツト)の必要がないの
で制御線202の信号はオフとする。他のアクセス元装置1
05〜107が当該要求アドレスに対してロツクをかけてい
るかどうかを判定するため、他のアクセス元装置対応の
比較回路214,223,224のコンペア・イネーブル信号203を
オンにし、ロツク・アドレス格納用レジスタ212,221,22
2の内容とアクセス元装置104からのアクセス要求アドレ
スを比較する。(自分自身のロツク・アドレスとは比較
せず、不一致の信号を送出する。)いずれかの比較回路
においてアドレスが一致し、かつ、そこのロツク・アド
レス格納用レジスタの有効フラグがセツトされていれ
ば、その比較回路から“1"が出力される。204はOR回路
で、各比較回路からの出力の論理和をとり、出力信号20
5を出力する、出力信号205が“1"であれば、アクセス元
装置104からの当該アクセス要求は他のいずれかのアク
セス元装置のロツク・エリアに対するものであるので、
出力信号205によりBAA122の検索が抑止され、BS121又は
MS101へのアクセスが許されない。
以下、第1図,第2図及び第3図によりFLKA123,124の
制御方法を説明する。
制御方法を説明する。
第3図はFLKA(例えば124)のロツク・アドレス格納用
レジスタの登録データ及び、セツト信号の生成機構を示
す図である。
レジスタの登録データ及び、セツト信号の生成機構を示
す図である。
第1図において、アクセス元装置106がロツクのセツト
要求をSC103に対して発行し、プライオリテイ論理135で
選択されると、SC103内のLKA133のアクセス元装置106に
対応するロツク・アドレス格納用レジスタがセツトされ
るとともに、SC103からSC102のFLKA124内のロツク・ア
ドレスの写しを格納するレジスタに対し登録要求が出さ
れる。FLKAの登録要求がSC103からSC102に対して送出さ
れる間は、SC102からSC103に対してFLKAの登録要求が送
出されるのを抑止し、命令の実行順序を保証する。SC10
2のプライオリテイ論理125では、SC103からのFLKAの登
録要求が最優先で受けられる。
要求をSC103に対して発行し、プライオリテイ論理135で
選択されると、SC103内のLKA133のアクセス元装置106に
対応するロツク・アドレス格納用レジスタがセツトされ
るとともに、SC103からSC102のFLKA124内のロツク・ア
ドレスの写しを格納するレジスタに対し登録要求が出さ
れる。FLKAの登録要求がSC103からSC102に対して送出さ
れる間は、SC102からSC103に対してFLKAの登録要求が送
出されるのを抑止し、命令の実行順序を保証する。SC10
2のプライオリテイ論理125では、SC103からのFLKAの登
録要求が最優先で受けられる。
これにより、一方のSCで既に実行されつつあるロツクの
効果を、他方のSCにおけるアクセス要求の処理に確実に
反映することができる。
効果を、他方のSCにおけるアクセス要求の処理に確実に
反映することができる。
FLKA124のアクセス元装置106に対応するロツク・アドレ
ス格納用レジスタ(例えば221)は、第3図に示すよう
に、ロツク・アドレス部310と、有効フラグ部(有効フ
ラグ311と有効フラグのパリテイ312)よりなる。プライ
オリテイ論理125で受付けられたリクエストが、FLKA124
内のアクセス元装置106に対応するロツク・アドレス格
納用レジスタの登録要求であれば、セツト要求信号303
が“1"となる。この時FLKAの制御リセツト信号304が
“0"であれば、FLKAへの登録要求アドレス201がセレク
ト回路302で選択されて、ロツク・アドレス格納用レジ
スタのアドレス部に入力される。有効フラグ部について
は、AND回路308を介して有効フラグ311へは“1",パリテ
イ312へは“0"が入力される。(本実施例では奇数パリ
テイをとるものとする。)その際、セツト要求信号303
が“1"であるので、OR回路307,309を介して、アドレス
部及び有効フラグ部のセツト信号が生成され、前記入力
データを格納する。
ス格納用レジスタ(例えば221)は、第3図に示すよう
に、ロツク・アドレス部310と、有効フラグ部(有効フ
ラグ311と有効フラグのパリテイ312)よりなる。プライ
オリテイ論理125で受付けられたリクエストが、FLKA124
内のアクセス元装置106に対応するロツク・アドレス格
納用レジスタの登録要求であれば、セツト要求信号303
が“1"となる。この時FLKAの制御リセツト信号304が
“0"であれば、FLKAへの登録要求アドレス201がセレク
ト回路302で選択されて、ロツク・アドレス格納用レジ
スタのアドレス部に入力される。有効フラグ部について
は、AND回路308を介して有効フラグ311へは“1",パリテ
イ312へは“0"が入力される。(本実施例では奇数パリ
テイをとるものとする。)その際、セツト要求信号303
が“1"であるので、OR回路307,309を介して、アドレス
部及び有効フラグ部のセツト信号が生成され、前記入力
データを格納する。
アクセス元装置106がロツクのリセツト要求をSC103に対
して発行し、プライオリテイ論理135で選択されると、L
KA133内のアクセス元装置106に対応するロツク・アドレ
ス格納用レジスタをリセツトするとともに、SC103からS
C102のFLKA124に対しリセツト要求が出される。SC102の
プライオリテイ論理125で選択されたリクエストが、FLK
A124内のアクセス元装置106に対応するロツク・アドレ
ス格納用レジスタのリセツト要求であれば、リセツト要
求信号305が“1"となる。この時、同時にセツト要求信
号303が“1"となることはないので、ロツク・アドレス
格納用レジスタの有効フラグ部の有効フラグ311へは
“0",パリテイ312へは“1"が入力される。その際、リセ
ツト要求信号305が“1"であるので、OR回路306,309を介
して有効フラグ部のセツト信号が生成され、前記入力デ
ータを格納する。ロツクのリセツト時、アドレス部310
へは初期データ301をセレクト回路302で選択して格納し
てもよいが、第3図では、アドレス部にセツトされてい
るアドレスはそのまま保持し、有効フラグだけをリセツ
トする方式をとつている。
して発行し、プライオリテイ論理135で選択されると、L
KA133内のアクセス元装置106に対応するロツク・アドレ
ス格納用レジスタをリセツトするとともに、SC103からS
C102のFLKA124に対しリセツト要求が出される。SC102の
プライオリテイ論理125で選択されたリクエストが、FLK
A124内のアクセス元装置106に対応するロツク・アドレ
ス格納用レジスタのリセツト要求であれば、リセツト要
求信号305が“1"となる。この時、同時にセツト要求信
号303が“1"となることはないので、ロツク・アドレス
格納用レジスタの有効フラグ部の有効フラグ311へは
“0",パリテイ312へは“1"が入力される。その際、リセ
ツト要求信号305が“1"であるので、OR回路306,309を介
して有効フラグ部のセツト信号が生成され、前記入力デ
ータを格納する。ロツクのリセツト時、アドレス部310
へは初期データ301をセレクト回路302で選択して格納し
てもよいが、第3図では、アドレス部にセツトされてい
るアドレスはそのまま保持し、有効フラグだけをリセツ
トする方式をとつている。
アクセス元装置106に対する制御系論理のリセツト(コ
ントロール・リセツト)信号が出された場合、当該アク
セス元装置に対応するFLKAのロツク・アドレス格納用レ
ジスタをリセツトするため、FLKAは制御リセツト信号30
4をもつ。制御リセツト信号304が“1"となると、その時
にプライオリテイ論理125でFLKAへの登録要求が選択さ
れていても、セレクト回路302で初期データ301を選択し
てアドレス部310へ入力する。有効フラグ311へもAND回
路308で“0"を生成して入力してそのパリテイを保証
し、OR回路307,及び306,309を介してセツト信号が生成
されて、前記入力データをセツトする。制御リセツトで
アドレス部310へ初期データ301を格納するのは、アドレ
ス部にアドレスとそのパリテイを含めて登録する場合、
パワー・オン時などでは、アドレス部のパリテイが保証
されていないので、パリテイを保証するために有効であ
る。
ントロール・リセツト)信号が出された場合、当該アク
セス元装置に対応するFLKAのロツク・アドレス格納用レ
ジスタをリセツトするため、FLKAは制御リセツト信号30
4をもつ。制御リセツト信号304が“1"となると、その時
にプライオリテイ論理125でFLKAへの登録要求が選択さ
れていても、セレクト回路302で初期データ301を選択し
てアドレス部310へ入力する。有効フラグ311へもAND回
路308で“0"を生成して入力してそのパリテイを保証
し、OR回路307,及び306,309を介してセツト信号が生成
されて、前記入力データをセツトする。制御リセツトで
アドレス部310へ初期データ301を格納するのは、アドレ
ス部にアドレスとそのパリテイを含めて登録する場合、
パワー・オン時などでは、アドレス部のパリテイが保証
されていないので、パリテイを保証するために有効であ
る。
本実施例では、一方のSCにおけるLKAをセツトするたび
に他方のSCにおけるFLKAもセツトする方法について示し
たが、例えばアクセス元装置106がロツクのセツト要求
を出した場合に、BS121に当該ロツクエリアが存在しな
いことがSC103で判定できる情報をもつておれば、SC103
内のLKA133にだけ登録しておき、SC102でBS121に存在し
ないエリアに対してアクセス要求を受付けた時に、SC10
3のLKA133を検索し、当該エリアがロツクされていれ
ば、LKA133に登録されているアドレスをFLKA124に登録
しなおす方法がとれる。
に他方のSCにおけるFLKAもセツトする方法について示し
たが、例えばアクセス元装置106がロツクのセツト要求
を出した場合に、BS121に当該ロツクエリアが存在しな
いことがSC103で判定できる情報をもつておれば、SC103
内のLKA133にだけ登録しておき、SC102でBS121に存在し
ないエリアに対してアクセス要求を受付けた時に、SC10
3のLKA133を検索し、当該エリアがロツクされていれ
ば、LKA133に登録されているアドレスをFLKA124に登録
しなおす方法がとれる。
本発明によれば、アクセス要求のあつたアドレスがロツ
ク・エリアに属するか否かの判定をするのに、他の装置
のキヤツシユ・デイレクトリやロツク・アドレス・レジ
スタ群を参照する必要がないから、ロツク動作が高速化
し、また、他の装置のキヤツシユ・デイレクトリ等のビ
ジー率を高めるなどの迷惑をかけることもないので、シ
ステム全体の高速化が期待できる。
ク・エリアに属するか否かの判定をするのに、他の装置
のキヤツシユ・デイレクトリやロツク・アドレス・レジ
スタ群を参照する必要がないから、ロツク動作が高速化
し、また、他の装置のキヤツシユ・デイレクトリ等のビ
ジー率を高めるなどの迷惑をかけることもないので、シ
ステム全体の高速化が期待できる。
しかも、ロツク・アドレス情報保持手段を各アクセス元
装置ごとに設けるのと比較して、レジスタとその制御回
路、比較器、装置間信号線などのハードウエア量の増加
は僅少である。
装置ごとに設けるのと比較して、レジスタとその制御回
路、比較器、装置間信号線などのハードウエア量の増加
は僅少である。
第1図は本発明の一実施例の全体的構成を示すブロツク
ダイヤグラム、第2図はロツク・アドレス格納用レジス
タ群、ロツク・アドレスの写しを格納するレジスタ群及
びそれらの周辺回路を示すブロツクダイヤグラム、第3
図はロツク・アドレスの写しを格納するレジスタとその
周辺回路の細部を示すブロツクダイヤグラムである。 101……主記憶装置、102,103……記憶制御装置、104〜1
07……アクセス元装置、123,133……ロツク・アドレス
格納用レジスタと比較回路を有するロツク判定部、124,
134……ロツク・アドレスの写しを格納するレジスタと
比較回路を有するロツク判定部。
ダイヤグラム、第2図はロツク・アドレス格納用レジス
タ群、ロツク・アドレスの写しを格納するレジスタ群及
びそれらの周辺回路を示すブロツクダイヤグラム、第3
図はロツク・アドレスの写しを格納するレジスタとその
周辺回路の細部を示すブロツクダイヤグラムである。 101……主記憶装置、102,103……記憶制御装置、104〜1
07……アクセス元装置、123,133……ロツク・アドレス
格納用レジスタと比較回路を有するロツク判定部、124,
134……ロツク・アドレスの写しを格納するレジスタと
比較回路を有するロツク判定部。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 若井 勝郎 神奈川県秦野市堀山下1番地 株式会社日 立製作所神奈川工場内 (72)発明者 岸 誠 神奈川県秦野市堀山下1番地 株式会社日 立製作所神奈川工場内 (72)発明者 松尾 寿久 神奈川県秦野市堀山下1番地 株式会社日 立製作所神奈川工場内 (56)参考文献 特開 昭55−108069(JP,A)
Claims (1)
- 【請求項1】記憶装置と、複数のアクセス元装置と、そ
れぞれが前記記憶装置に接続されるとともに少なくとも
前記複数のアクセス元装置の一つに接続されて、それに
接続されたアクセス元装置からの記憶アクセス要求を処
理する複数の記憶制御装置とを有するデータ処理装置に
おいて、前記複数の記憶制御装置のそれぞれが、 当該記憶制御装置に接続されたアクセス元装置により記
憶ロツクされたロツク・アドレスを示す情報を保持する
第1の保持手段と、 他の各記憶制御装置に接続されたアクセス元装置により
記憶ロツクされたロツク・アドレスを示す情報の写しを
保持する第2の保持手段と、 前記ロツク・アドレスを示す情報の写しを授受するため
に他の各記憶制御装置と通信する手段と、 当該記憶制御装置に接続されたアクセス元装置がアクセ
ス要求に際して指定したアドレスがロツクされているこ
とを、前記第1の保持手段に保持されている前記ロツク
・アドレスを示す情報又は前記第2の保持手段に保持さ
れている前記ロツク・アドレスを示す情報の写しが表わ
していることに応答して、そのアクセス要求を拒否する
手段と を備えることを特徴とする記憶ロツク方式。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58247670A JPH0760422B2 (ja) | 1983-12-30 | 1983-12-30 | 記憶ロツク方式 |
US06/687,913 US4733352A (en) | 1983-12-30 | 1984-12-31 | Lock control for a shared storage in a data processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58247670A JPH0760422B2 (ja) | 1983-12-30 | 1983-12-30 | 記憶ロツク方式 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23135093A Division JP2509524B2 (ja) | 1993-09-17 | 1993-09-17 | 記憶ロック方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS60144855A JPS60144855A (ja) | 1985-07-31 |
JPH0760422B2 true JPH0760422B2 (ja) | 1995-06-28 |
Family
ID=17166910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58247670A Expired - Lifetime JPH0760422B2 (ja) | 1983-12-30 | 1983-12-30 | 記憶ロツク方式 |
Country Status (2)
Country | Link |
---|---|
US (1) | US4733352A (ja) |
JP (1) | JPH0760422B2 (ja) |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4870704A (en) * | 1984-10-31 | 1989-09-26 | Flexible Computer Corporation | Multicomputer digital processing system |
US4984153A (en) * | 1988-04-27 | 1991-01-08 | Unisys Corporation | Storage locking control for a plurality of processors which share a common storage unit |
US5251318A (en) * | 1988-09-02 | 1993-10-05 | Hitachi, Ltd. | Multiprocessing system comparing information copied from extended storage before and after processing for serializing access to shared resource |
US5142676A (en) * | 1988-12-28 | 1992-08-25 | Gte Laboratories Incorporated | Separate content addressable memories for storing locked segment addresses and locking processor identifications for controlling access to shared memory |
US5210848A (en) * | 1989-02-22 | 1993-05-11 | International Business Machines Corporation | Multi-processor caches with large granularity exclusivity locking |
JP2830116B2 (ja) * | 1989-07-27 | 1998-12-02 | 日本電気株式会社 | マルチプロセッサシステムにおけるロック制御機構 |
JPH0664567B2 (ja) * | 1989-12-25 | 1994-08-22 | 株式会社日立製作所 | 多重プロセッサシステム |
US5276847A (en) * | 1990-02-14 | 1994-01-04 | Intel Corporation | Method for locking and unlocking a computer address |
US5255387A (en) * | 1990-04-27 | 1993-10-19 | International Business Machines Corporation | Method and apparatus for concurrency control of shared data updates and queries |
US5249286A (en) * | 1990-05-29 | 1993-09-28 | National Semiconductor Corporation | Selectively locking memory locations within a microprocessor's on-chip cache |
US5506980A (en) * | 1991-10-22 | 1996-04-09 | Hitachi, Ltd. | Method and apparatus for parallel processing of a large data array utilizing a shared auxiliary memory |
JPH05210640A (ja) * | 1992-01-31 | 1993-08-20 | Hitachi Ltd | マルチプロセッサシステム |
US5423044A (en) * | 1992-06-16 | 1995-06-06 | International Business Machines Corporation | Shared, distributed lock manager for loosely coupled processing systems |
US5398331A (en) * | 1992-07-08 | 1995-03-14 | International Business Machines Corporation | Shared storage controller for dual copy shared data |
US5317749A (en) * | 1992-09-25 | 1994-05-31 | International Business Machines Corporation | Method and apparatus for controlling access by a plurality of processors to a shared resource |
US5721870A (en) * | 1994-05-25 | 1998-02-24 | Nec Corporation | Lock control for a shared main storage data processing system |
US5630045A (en) * | 1994-12-06 | 1997-05-13 | International Business Machines Corporation | Device and method for fault tolerant dual fetch and store |
DE69606365T2 (de) * | 1995-03-21 | 2000-08-24 | Koninklijke Philips Electronics N.V., Eindhoven | Bildaufnahmevorrichtung |
US5835941A (en) * | 1995-11-17 | 1998-11-10 | Micron Technology Inc. | Internally cached static random access memory architecture |
US5678026A (en) * | 1995-12-28 | 1997-10-14 | Unisys Corporation | Multi-processor data processing system with control for granting multiple storage locks in parallel and parallel lock priority and second level cache priority queues |
US6167486A (en) * | 1996-11-18 | 2000-12-26 | Nec Electronics, Inc. | Parallel access virtual channel memory system with cacheable channels |
US6122711A (en) * | 1997-01-07 | 2000-09-19 | Unisys Corporation | Method of and apparatus for store-in second level cache flush |
US6145006A (en) * | 1997-06-25 | 2000-11-07 | Emc Corporation | Method and apparatus for coordinating locking operations of heterogeneous host computers accessing a storage subsystem |
US6493804B1 (en) | 1997-10-01 | 2002-12-10 | Regents Of The University Of Minnesota | Global file system and data storage device locks |
US6446220B1 (en) | 1998-08-04 | 2002-09-03 | International Business Machines Corporation | Updating data and parity data with and without read caches |
US6332197B1 (en) | 1998-08-04 | 2001-12-18 | International Business Machines Corp. | System for updating data in a multi-adaptor environment |
US6272662B1 (en) * | 1998-08-04 | 2001-08-07 | International Business Machines Corporation | Distributed storage system using front-end and back-end locking |
US6446237B1 (en) | 1998-08-04 | 2002-09-03 | International Business Machines Corporation | Updating and reading data and parity blocks in a shared disk system |
US6279138B1 (en) | 1998-08-04 | 2001-08-21 | International Business Machines Corporation | System for changing the parity structure of a raid array |
US6539446B1 (en) * | 1999-05-07 | 2003-03-25 | Oracle Corporation | Resource locking approach |
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 |
US6708254B2 (en) * | 1999-11-10 | 2004-03-16 | Nec Electronics America, Inc. | Parallel access virtual channel memory system |
US6928525B1 (en) * | 2000-04-28 | 2005-08-09 | Hewlett-Packard Development Company, L.P. | Per cache line semaphore for cache access arbitration |
US7723601B2 (en) * | 2007-03-22 | 2010-05-25 | Qualcomm Incorporated | Shared buffer management for processing audio files |
US8732683B2 (en) * | 2008-02-01 | 2014-05-20 | International Business Machines Corporation | Compiler providing idiom to idiom accelerator |
US8341635B2 (en) | 2008-02-01 | 2012-12-25 | International Business Machines Corporation | Hardware wake-and-go mechanism with look-ahead polling |
US8171476B2 (en) * | 2008-02-01 | 2012-05-01 | International Business Machines Corporation | Wake-and-go mechanism with prioritization of threads |
US8788795B2 (en) * | 2008-02-01 | 2014-07-22 | International Business Machines Corporation | Programming idiom accelerator to examine pre-fetched instruction streams for multiple processors |
US8612977B2 (en) * | 2008-02-01 | 2013-12-17 | International Business Machines Corporation | Wake-and-go mechanism with software save of thread state |
US8640141B2 (en) * | 2008-02-01 | 2014-01-28 | International Business Machines Corporation | Wake-and-go mechanism with hardware private array |
US8880853B2 (en) * | 2008-02-01 | 2014-11-04 | International Business Machines Corporation | CAM-based wake-and-go snooping engine for waking a thread put to sleep for spinning on a target address lock |
US8386822B2 (en) * | 2008-02-01 | 2013-02-26 | International Business Machines Corporation | Wake-and-go mechanism with data monitoring |
US8145849B2 (en) * | 2008-02-01 | 2012-03-27 | International Business Machines Corporation | Wake-and-go mechanism with system bus response |
US8516484B2 (en) * | 2008-02-01 | 2013-08-20 | International Business Machines Corporation | Wake-and-go mechanism for a data processing system |
US8316218B2 (en) * | 2008-02-01 | 2012-11-20 | International Business Machines Corporation | Look-ahead wake-and-go engine with speculative execution |
US7865705B2 (en) * | 2008-02-01 | 2011-01-04 | International Business Machines Corporation | Branch target address cache including address type tag bit |
US8312458B2 (en) * | 2008-02-01 | 2012-11-13 | International Business Machines Corporation | Central repository for wake-and-go mechanism |
US8127080B2 (en) * | 2008-02-01 | 2012-02-28 | International Business Machines Corporation | Wake-and-go mechanism with system address bus transaction master |
US8452947B2 (en) * | 2008-02-01 | 2013-05-28 | International Business Machines Corporation | Hardware wake-and-go mechanism and content addressable memory with instruction pre-fetch look-ahead to detect programming idioms |
US8725992B2 (en) | 2008-02-01 | 2014-05-13 | International Business Machines Corporation | Programming language exposing idiom calls to a programming idiom accelerator |
US8225120B2 (en) * | 2008-02-01 | 2012-07-17 | International Business Machines Corporation | Wake-and-go mechanism with data exclusivity |
US8250396B2 (en) | 2008-02-01 | 2012-08-21 | International Business Machines Corporation | Hardware wake-and-go mechanism for a data processing system |
US8082315B2 (en) | 2009-04-16 | 2011-12-20 | International Business Machines Corporation | Programming idiom accelerator for remote update |
US8145723B2 (en) * | 2009-04-16 | 2012-03-27 | International Business Machines Corporation | Complex remote update programming idiom accelerator |
US8230201B2 (en) * | 2009-04-16 | 2012-07-24 | International Business Machines Corporation | Migrating sleeping and waking threads between wake-and-go mechanisms in a multiple processor data processing system |
US8886919B2 (en) * | 2009-04-16 | 2014-11-11 | International Business Machines Corporation | Remote update programming idiom accelerator with allocated processor resources |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3469239A (en) * | 1965-12-02 | 1969-09-23 | Hughes Aircraft Co | Interlocking means for a multi-processor system |
JPS5440182B2 (ja) * | 1974-02-26 | 1979-12-01 | ||
US4136386A (en) * | 1977-10-06 | 1979-01-23 | International Business Machines Corporation | Backing store access coordination in a multi-processor system |
JPS55108069A (en) * | 1979-02-13 | 1980-08-19 | Nippon Telegr & Teleph Corp <Ntt> | Multiprocessor processing system |
US4561051A (en) * | 1984-02-10 | 1985-12-24 | Prime Computer, Inc. | Memory access method and apparatus in multiple processor systems |
-
1983
- 1983-12-30 JP JP58247670A patent/JPH0760422B2/ja not_active Expired - Lifetime
-
1984
- 1984-12-31 US US06/687,913 patent/US4733352A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS60144855A (ja) | 1985-07-31 |
US4733352A (en) | 1988-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0760422B2 (ja) | 記憶ロツク方式 | |
EP0464715B1 (en) | Interlock queueing | |
US6910108B2 (en) | Hardware support for partitioning a multiprocessor system to allow distinct operating systems | |
JP3871305B2 (ja) | マルチプロセッサ・システムにおけるメモリ・アクセスの動的直列化 | |
US6122712A (en) | Cache coherency controller of cache memory for maintaining data anti-dependence when threads are executed in parallel | |
US7047322B1 (en) | System and method for performing conflict resolution and flow control in a multiprocessor system | |
US4654778A (en) | Direct parallel path for storage accesses unloading common system path | |
US5586331A (en) | Duplicated logic and interconnection system for arbitration among multiple information processors | |
US6986005B2 (en) | Low latency lock for multiprocessor computer system | |
JP2005050368A (ja) | マルチプロセッサ・システム | |
EP0443557B1 (en) | Interrupt controller capable of realizing interrupt nesting function | |
JPH0666056B2 (ja) | 情報処理システム | |
US5696939A (en) | Apparatus and method using a semaphore buffer for semaphore instructions | |
US7159079B2 (en) | Multiprocessor system | |
US6970963B2 (en) | Apparatus and method for synchronizing multiple accesses to common resources | |
JPH05108473A (ja) | デ−タ処理システム | |
US5218688A (en) | Data processing system with memory-access priority control | |
JP2509524B2 (ja) | 記憶ロック方式 | |
JP2000137646A (ja) | マルチプロセッサシステムにおけるキャッシュメモリ制御方法及びマルチプロセッサシステム | |
JP2011221931A (ja) | データプロセッサ | |
JPS6153747B2 (ja) | ||
US20020078322A1 (en) | Method for rapid communication within a parallel computer system, and a parallel computer system operated by the method | |
JPH04305746A (ja) | キャッシュメモリ制御装置 | |
US20230385195A1 (en) | Cache management using cache scope designation | |
JPH11175392A (ja) | ランダムアクセスメモリへの共用アクセスを制御する方法およびシステム |