JPH02205963A - 読取中断処理 - Google Patents
読取中断処理Info
- Publication number
- JPH02205963A JPH02205963A JP1166500A JP16650089A JPH02205963A JP H02205963 A JPH02205963 A JP H02205963A JP 1166500 A JP1166500 A JP 1166500A JP 16650089 A JP16650089 A JP 16650089A JP H02205963 A JPH02205963 A JP H02205963A
- Authority
- JP
- Japan
- Prior art keywords
- data
- scu
- memory
- cpu
- reading
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims description 10
- 238000000034 method Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 8
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 230000005055 memory storage Effects 0.000 claims 4
- 230000003213 activating effect Effects 0.000 claims 1
- 239000013256 coordination polymer Substances 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 abstract description 2
- 230000002250 progressing effect Effects 0.000 abstract 1
- 238000013500 data storage Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
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/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明はデジタルコンピュータのメモリ制御システムに
関し、特に要求データの変更バージョンが別の付設CP
Uキャッシュで利用可能なときに、付設の中央処理語!
(CPU)に応答してシステム制御装置(SCU)の主
メモリの読取を自動的に中断する方法及び装置に関する
。
関し、特に要求データの変更バージョンが別の付設CP
Uキャッシュで利用可能なときに、付設の中央処理語!
(CPU)に応答してシステム制御装置(SCU)の主
メモリの読取を自動的に中断する方法及び装置に関する
。
(従来の技術)
デジタルコンピュータシステムが付設の1つの主メモリ
と複数の独立したCPUを備えたSCUを含むアーキテ
クチャを具備し、各CPUが各自の付設書き戻しくライ
トバック)キヤ・7シユを備えている場合、SCUの主
メモリ内に置かれたデータの変更バージョンが付設CP
U0書き戻しキャッシュに存在することがある。従って
、CPUの1つが選ばれたデータに関する要求をSCU
に送ると、SCUの主メモリ内に記憶された要求データ
が要求しているCPUへ転送される前に、別の1つのC
PU内における要求データの変更バージョンの存在が判
定されねばならない。
と複数の独立したCPUを備えたSCUを含むアーキテ
クチャを具備し、各CPUが各自の付設書き戻しくライ
トバック)キヤ・7シユを備えている場合、SCUの主
メモリ内に置かれたデータの変更バージョンが付設CP
U0書き戻しキャッシュに存在することがある。従って
、CPUの1つが選ばれたデータに関する要求をSCU
に送ると、SCUの主メモリ内に記憶された要求データ
が要求しているCPUへ転送される前に、別の1つのC
PU内における要求データの変更バージョンの存在が判
定されねばならない。
要求データの変更バージョンを検索する通常の方法では
、まず変更データのロケーションについて、それが5C
UO主メモリまたはCPUキャッシュの1つのいずれに
あるかを判定した後、その判定されたロケーションから
変更データを検索する。この方法は良好に機能するが、
まず要求データの変更バージョンを突き止めてから、そ
れを要求しているCPUに転送するため、メモリの読取
待ち時間が長くなる。
、まず変更データのロケーションについて、それが5C
UO主メモリまたはCPUキャッシュの1つのいずれに
あるかを判定した後、その判定されたロケーションから
変更データを検索する。この方法は良好に機能するが、
まず要求データの変更バージョンを突き止めてから、そ
れを要求しているCPUに転送するため、メモリの読取
待ち時間が長くなる。
(発明が解決しようとする課題)
上記のようなコンピュータシステムにおけるメモリの読
取待ち時間を減らすのに使われる方法は一般に、要求デ
ータのロケーション情報を要求しているCPUに“送る
”ためのCPU内交信リンク、及び通常のCPUからの
SCUへの交信リンク、あるいは変更データが書き込ま
れる度に変更データのロケーションを各CPUに交信す
るための、SCUと各CPU用の付設システムバスイン
タフェースサブシステムを含んだ共通のSCU/CPU
システムバスを必要とする。しかしこれらの方法は、各
CPUにおける変更データ情報の取得及び保持のため、
過度に複雑で高価な交信リンク、及び各CPUでの高度
なハードウェア及び余分のメモリ容量を必要とする。
取待ち時間を減らすのに使われる方法は一般に、要求デ
ータのロケーション情報を要求しているCPUに“送る
”ためのCPU内交信リンク、及び通常のCPUからの
SCUへの交信リンク、あるいは変更データが書き込ま
れる度に変更データのロケーションを各CPUに交信す
るための、SCUと各CPU用の付設システムバスイン
タフェースサブシステムを含んだ共通のSCU/CPU
システムバスを必要とする。しかしこれらの方法は、各
CPUにおける変更データ情報の取得及び保持のため、
過度に複雑で高価な交信リンク、及び各CPUでの高度
なハードウェア及び余分のメモリ容量を必要とする。
(課題を解決するための手段)
本発明は、全ての変更データの記憶ロケーション情報が
SCUのロケーションディレクトリ内に記憶された状態
で、通常CPUからSCUへの交信リンクの使用を可能
とする。変更データがCPUのキャッシュ内へ入力され
る度に、その変更データのロケーションアドレス情報が
SCUのデータロケーションディレクトリに転送されて
記憶される。CPUの1つがSCUからデータを要求す
る度に、SCUは要求データのSCU主メモリからの通
常の読取サイクルをスタートする。しかし、これと同時
にSCUはSCUディレクトリ内に記憶されているデー
タロケーションアドレスもサーチし、いずれかのCPU
キャッシュ内における要求データの変更バージョンのロ
ケーションを捜し出す。このような変更データがCPU
キャッシュの1つ内で突き止められると、SCU主メモ
リ装置の読取動作が中断され、SCUはその変更データ
を突き止められたCPUから要求しているCPuへと、
SCUの主メモリ自体から転送される場合と同じ方法で
転送する。同時に、変更データがSCUの主メモリ内へ
書き込まれ、変更データのロケーションがSCUの主メ
モリ内に存在するものとして再アドレスされる。
SCUのロケーションディレクトリ内に記憶された状態
で、通常CPUからSCUへの交信リンクの使用を可能
とする。変更データがCPUのキャッシュ内へ入力され
る度に、その変更データのロケーションアドレス情報が
SCUのデータロケーションディレクトリに転送されて
記憶される。CPUの1つがSCUからデータを要求す
る度に、SCUは要求データのSCU主メモリからの通
常の読取サイクルをスタートする。しかし、これと同時
にSCUはSCUディレクトリ内に記憶されているデー
タロケーションアドレスもサーチし、いずれかのCPU
キャッシュ内における要求データの変更バージョンのロ
ケーションを捜し出す。このような変更データがCPU
キャッシュの1つ内で突き止められると、SCU主メモ
リ装置の読取動作が中断され、SCUはその変更データ
を突き止められたCPUから要求しているCPuへと、
SCUの主メモリ自体から転送される場合と同じ方法で
転送する。同時に、変更データがSCUの主メモリ内へ
書き込まれ、変更データのロケーションがSCUの主メ
モリ内に存在するものとして再アドレスされる。
しかし、5CUO主メモリから読み取られたデータが利
用可能な最新のバージ日ンであることを。
用可能な最新のバージ日ンであることを。
変更データのサーチを示すと、開始されたSCU主メモ
リの読取サイクルが完了可能とされ、こうして読み取ら
れた要求データが要求しているCPUに転送される。
リの読取サイクルが完了可能とされ、こうして読み取ら
れた要求データが要求しているCPUに転送される。
従って、簡単なCP U/S CU交信リンクでメモリ
読取の最小待ち時間が得られる。CPUからのデータ要
求がSCU主メモリからの通常のメモリ読取動作を開始
させ、同時進行している変更データのロケ−シロンサー
チ中に要求データのより最近のバージョンの代替ロケー
ションがSCUによって見つからなければ、その読取動
作を完了させる。SCU主メモリ読取動作の進行中にそ
のようなロケーションが見つかれば、その読取動作が中
断され、変更データがそれの突き止められたCPUキャ
ッシュからSCUを介して要求しているCPUに回送さ
れる。つまり、メモリ読取の最大待ち時間は、通常のS
CU主メモリ読取動作の待ち時間より、変更データのロ
ケーションを突き止めて、SCU主メモリの読取動作を
終了させるのに必要な時間長いだけである。従って、簡
単なコンピュータシステムのアーキテクチャを保ったま
ま、CPUと300間におけるデータ伝送のバンド幅が
最小限化される。
読取の最小待ち時間が得られる。CPUからのデータ要
求がSCU主メモリからの通常のメモリ読取動作を開始
させ、同時進行している変更データのロケ−シロンサー
チ中に要求データのより最近のバージョンの代替ロケー
ションがSCUによって見つからなければ、その読取動
作を完了させる。SCU主メモリ読取動作の進行中にそ
のようなロケーションが見つかれば、その読取動作が中
断され、変更データがそれの突き止められたCPUキャ
ッシュからSCUを介して要求しているCPUに回送さ
れる。つまり、メモリ読取の最大待ち時間は、通常のS
CU主メモリ読取動作の待ち時間より、変更データのロ
ケーションを突き止めて、SCU主メモリの読取動作を
終了させるのに必要な時間長いだけである。従って、簡
単なコンピュータシステムのアーキテクチャを保ったま
ま、CPUと300間におけるデータ伝送のバンド幅が
最小限化される。
(実施例)
全図を通じ同じ参照符号は同じまたは対応した部分を示
している図面を参照すると、第1図は本発明を実施する
のに適した典型的なデジタルコンピュータシステム2を
示す。システム2は、付設のSCU主メモリ6とSCU
データ記憶ロケーションディレクトリ8を含むシステム
制御装置(SCU)4を具備する。5CU14は一般に
、付設のデータバスリンク12を介して複数の独立した
中央処理装置t (CPU)10に相互接続されている
。各々のCPUl0は、書き戻しくライトバック)キャ
ッシュ14、制御装置16及び入/出力(Ilo)装置
18を有する。
している図面を参照すると、第1図は本発明を実施する
のに適した典型的なデジタルコンピュータシステム2を
示す。システム2は、付設のSCU主メモリ6とSCU
データ記憶ロケーションディレクトリ8を含むシステム
制御装置(SCU)4を具備する。5CU14は一般に
、付設のデータバスリンク12を介して複数の独立した
中央処理装置t (CPU)10に相互接続されている
。各々のCPUl0は、書き戻しくライトバック)キャ
ッシュ14、制御装置16及び入/出力(Ilo)装置
18を有する。
CPUl0は個々に、当該分野で周知のように、SCl
主メモリ6内に記憶されているデータの変更バージョン
を含め、それぞれの付設キャッシュ14内に記憶された
データを更新することがある。
主メモリ6内に記憶されているデータの変更バージョン
を含め、それぞれの付設キャッシュ14内に記憶された
データを更新することがある。
しかし同じく当該分野で周知のように、個々のCPUl
0に書き込まれるデータのアドレスは5CU4へ転送さ
れてSCUデータ記憶ロケーションディレクトリ8に記
憶されるので、5CU4は他のいずれかのCPUioに
よって要求されたいずれかのCPUl0内のいずれかの
変更データを、サーチして突き止めることができる。第
1図におけるSCU主メモリ6とSCUディレクトリ8
、並びに各付設CPUl0毎のCPU書き戻しキャッシ
ュ14、cpUll]?Il装置16及びCPUT10
装置16はそれぞれ各種周知の構成で相互に接続可能な
周知の要素で、これらの要素自体は本発明の一部を構成
しないため、概念要求だけを目的として第1図にはブロ
ックの形で示しである。
0に書き込まれるデータのアドレスは5CU4へ転送さ
れてSCUデータ記憶ロケーションディレクトリ8に記
憶されるので、5CU4は他のいずれかのCPUioに
よって要求されたいずれかのCPUl0内のいずれかの
変更データを、サーチして突き止めることができる。第
1図におけるSCU主メモリ6とSCUディレクトリ8
、並びに各付設CPUl0毎のCPU書き戻しキャッシ
ュ14、cpUll]?Il装置16及びCPUT10
装置16はそれぞれ各種周知の構成で相互に接続可能な
周知の要素で、これらの要素自体は本発明の一部を構成
しないため、概念要求だけを目的として第1図にはブロ
ックの形で示しである。
SCUデータ記憶ロケーションディレクトリ8は全ての
データ記憶ロケーション情報を記憶するので、まずSC
Uディレクトリ8に問い合わせて、要求している1つの
CPUI Oによって要求されたいずれかのデータの最
新バージョンのロケーションを見い出し、その後要求デ
ータの最新バージョンのアドレスが求められたら、SC
U主メモリ6または他のCPUキャッシュ14の1つど
ちらかの対応したソースからデータを読み取ることがで
きる。
データ記憶ロケーション情報を記憶するので、まずSC
Uディレクトリ8に問い合わせて、要求している1つの
CPUI Oによって要求されたいずれかのデータの最
新バージョンのロケーションを見い出し、その後要求デ
ータの最新バージョンのアドレスが求められたら、SC
U主メモリ6または他のCPUキャッシュ14の1つど
ちらかの対応したソースからデータを読み取ることがで
きる。
しかし、前記のごとくこのような手順は、特にSCl主
メモリ6内に記憶された最も要求されるデータが現在デ
ータである場合、不必要なメモリ読取待ち時間を生じる
。なぜなら前記したように、SCl主メモリ6内に記憶
された最も要求されるデータが現在データである場合で
も、SCU主メモリ6の通常の読取サイクルが開始可能
となるまで、全てのデータ記憶ロケーションが5CU4
によってサーチされねばなならない。
メモリ6内に記憶された最も要求されるデータが現在デ
ータである場合、不必要なメモリ読取待ち時間を生じる
。なぜなら前記したように、SCl主メモリ6内に記憶
された最も要求されるデータが現在データである場合で
も、SCU主メモリ6の通常の読取サイクルが開始可能
となるまで、全てのデータ記憶ロケーションが5CU4
によってサーチされねばなならない。
本発明は、要求している1つのCPUl0からの要求後
できるだけすばやく、SCU主メモリ6の通常の読取サ
イクルを開始することによって、上記の不必要なメモリ
読取待ち時間を取り除く。
できるだけすばやく、SCU主メモリ6の通常の読取サ
イクルを開始することによって、上記の不必要なメモリ
読取待ち時間を取り除く。
同時に、SCUデータ記憶ロケーションディレクトリ8
内に記憶されているデータロケーションの問い合わせも
行われて、要求データの変更バージョンのロケーション
を求める。要求データがSCl主メモリ6内で見つかる
と、SCU主メモリ6の最初の読取サイクルが継続され
る。しかし、要求データの最新バージョンがCPUキャ
ッシュ14の1つ内にあると判定されると、中断コマン
ドがSCU主メモリ6に送られるSCU主メモリ6の通
常の読取サイクルを終了させた後、要求データの最新バ
ージョンを持っていると判定されたCPUキャッシュ1
4が問い合わされる。CPUキャッシュ14の突き止め
られた1つからデータが読み取られ、そのデータが5C
U4を介して要求している1つのCPUl0に送られる
。
内に記憶されているデータロケーションの問い合わせも
行われて、要求データの変更バージョンのロケーション
を求める。要求データがSCl主メモリ6内で見つかる
と、SCU主メモリ6の最初の読取サイクルが継続され
る。しかし、要求データの最新バージョンがCPUキャ
ッシュ14の1つ内にあると判定されると、中断コマン
ドがSCU主メモリ6に送られるSCU主メモリ6の通
常の読取サイクルを終了させた後、要求データの最新バ
ージョンを持っていると判定されたCPUキャッシュ1
4が問い合わされる。CPUキャッシュ14の突き止め
られた1つからデータが読み取られ、そのデータが5C
U4を介して要求している1つのCPUl0に送られる
。
本発明の手法が、第2図のシステムのフローチャートに
示しである。要求している1つのCPU10が、それに
付設のI10装置18と制御装置16を介゛して、選ば
れたデータを要求する。データ要求は、付設のデータバ
スリング12を介して5CU4に送られる。5CU4は
同時に、SCU主メモリ6の通常の読取サイクルを開始
して要求データを検索すると共に、SCUデータ記憶ロ
ケーションディレクトリ8のサーチを開始して要求デー
タの最新バージョンを突き止める。
示しである。要求している1つのCPU10が、それに
付設のI10装置18と制御装置16を介゛して、選ば
れたデータを要求する。データ要求は、付設のデータバ
スリング12を介して5CU4に送られる。5CU4は
同時に、SCU主メモリ6の通常の読取サイクルを開始
して要求データを検索すると共に、SCUデータ記憶ロ
ケーションディレクトリ8のサーチを開始して要求デー
タの最新バージョンを突き止める。
SCUデータ記憶ロケーションディレクトリ8が要求デ
ータの最新バージョンのロケーションを求めた後、求め
られたロケーションがSCl主メモリ6内にあるかどう
かを判定する。SCl主メモリ6内にあれば、5CU4
からSCU主メモリ6に“承tv(oK) ”コマン
ドが与えられてその開始された読取サイクルを完了し、
読取サイクルの完了後、要求データが付設のデータバス
リンク12を介して要求している1つのCPUl0に転
送される。
ータの最新バージョンのロケーションを求めた後、求め
られたロケーションがSCl主メモリ6内にあるかどう
かを判定する。SCl主メモリ6内にあれば、5CU4
からSCU主メモリ6に“承tv(oK) ”コマン
ドが与えられてその開始された読取サイクルを完了し、
読取サイクルの完了後、要求データが付設のデータバス
リンク12を介して要求している1つのCPUl0に転
送される。
要求データの最新バージョンが5CUO主メモI76内
にないと判定されると、5CU4は“中断(ABORT
)”コマンドによってSCU主メモリ6の開始された読
取サイクルを中断し、同時に5CU4は、要求データの
最新バージョンを持っていると判断され突き止められた
1つのCPUl0に、付設のデータバスリンク12を介
してデータ要求を送る。次いで、突き止められた1つの
CPU10がそれに付設のCPUキャッシュ14に記憶
されている要求データの最新バージョンを読み取り、こ
うして読み取られた要求データが突き止められた1つの
CPUl0から付設のデータバスリンク12を介して5
CU4に転送される。そして、5CU4が受け取った要
求データを、要求している1つのCPUioに付設のデ
ータバスリンク12を介して送る。同時に、5CU4は
要求データの記憶バージョンを、突き止められた1つの
CPUl0から受け取った最新バージョンと置き換える
と共に、現在SCU主メモリが要求データの最新バージ
ョンを有することをSCUディレクトリ8内に指示する
。
にないと判定されると、5CU4は“中断(ABORT
)”コマンドによってSCU主メモリ6の開始された読
取サイクルを中断し、同時に5CU4は、要求データの
最新バージョンを持っていると判断され突き止められた
1つのCPUl0に、付設のデータバスリンク12を介
してデータ要求を送る。次いで、突き止められた1つの
CPU10がそれに付設のCPUキャッシュ14に記憶
されている要求データの最新バージョンを読み取り、こ
うして読み取られた要求データが突き止められた1つの
CPUl0から付設のデータバスリンク12を介して5
CU4に転送される。そして、5CU4が受け取った要
求データを、要求している1つのCPUioに付設のデ
ータバスリンク12を介して送る。同時に、5CU4は
要求データの記憶バージョンを、突き止められた1つの
CPUl0から受け取った最新バージョンと置き換える
と共に、現在SCU主メモリが要求データの最新バージ
ョンを有することをSCUディレクトリ8内に指示する
。
本発明による読取中断処理は、第3図に示した好ましい
実施例によって好ましい実施例によって容易に実行され
る。SCU主メモリ6は、SCUメモリインタフェース
装N20、メモリアレイコントロール22、メモリアド
レス選択バッファ24及びメモリアレイ26を具備する
。これらは各種周知の構成で相互に接続可能な周知の要
素で、これらの要素自体は本発明の一部を構成しないた
め、概念表示だけを目的として第3図にはブロックの形
で示しである。5CU4は前記したように、ロードコマ
ンドライン28上の“ロードコマンド(LOAD CO
MMAND) ”信号とコマンドライン30上の“読
取(READ) ”信号を同時に確認することによって
メモリ読取サイクルを開始し、両ライン28と30はS
CU/メモリインタフェース装置20に信号を供給して
いる。5CU4とSCU主メモリ6のSCU/メモリイ
ンタフェース装置20間のSCU読取サイクル状態ライ
ン32が、周知の手順に従って前記のごとく、5CU4
とSCU主メモリ6間で“承認”または“中断”コマン
ドを交信する役割を果たす。インタフェース装置20は
、“スター) (START)“信号をメモリスタート
ライン34上に、“読取゛信号をメモリアレイコマンド
ライン36上に、また選ばれたアドレス信号をアドレス
選択ライン38上にそれぞれ与えるたとによって応答す
る。メモリスタートライン34上の“スタート”信号と
メモリアレイコマンドライン36上の“読取”信号は、
メモリアレイコントローラ22に送られる。メモリアレ
イ状態ライン40もメモリアレイコントローラ22をイ
ンタフェース装置20と相互に接続し、“承認”または
“中断”の読取サイクルコマンドをメモリアレイコント
ローラ22に転送する。メモリアレイコントローラ22
は、ライン34上の“スタート”信号とライン36上の
“読取”信号に対して、一連の3つの信号をメモリアレ
イストローブライン42上に与えることによって応答す
る。これら3つの信号とは、“行アドレスストローフ(
RAS)″信号、1列アドレスストローブ(CAS)”
信号及び“書込エネーブル(WRITEENABLE)
’″信号ある。
実施例によって好ましい実施例によって容易に実行され
る。SCU主メモリ6は、SCUメモリインタフェース
装N20、メモリアレイコントロール22、メモリアド
レス選択バッファ24及びメモリアレイ26を具備する
。これらは各種周知の構成で相互に接続可能な周知の要
素で、これらの要素自体は本発明の一部を構成しないた
め、概念表示だけを目的として第3図にはブロックの形
で示しである。5CU4は前記したように、ロードコマ
ンドライン28上の“ロードコマンド(LOAD CO
MMAND) ”信号とコマンドライン30上の“読
取(READ) ”信号を同時に確認することによって
メモリ読取サイクルを開始し、両ライン28と30はS
CU/メモリインタフェース装置20に信号を供給して
いる。5CU4とSCU主メモリ6のSCU/メモリイ
ンタフェース装置20間のSCU読取サイクル状態ライ
ン32が、周知の手順に従って前記のごとく、5CU4
とSCU主メモリ6間で“承認”または“中断”コマン
ドを交信する役割を果たす。インタフェース装置20は
、“スター) (START)“信号をメモリスタート
ライン34上に、“読取゛信号をメモリアレイコマンド
ライン36上に、また選ばれたアドレス信号をアドレス
選択ライン38上にそれぞれ与えるたとによって応答す
る。メモリスタートライン34上の“スタート”信号と
メモリアレイコマンドライン36上の“読取”信号は、
メモリアレイコントローラ22に送られる。メモリアレ
イ状態ライン40もメモリアレイコントローラ22をイ
ンタフェース装置20と相互に接続し、“承認”または
“中断”の読取サイクルコマンドをメモリアレイコント
ローラ22に転送する。メモリアレイコントローラ22
は、ライン34上の“スタート”信号とライン36上の
“読取”信号に対して、一連の3つの信号をメモリアレ
イストローブライン42上に与えることによって応答す
る。これら3つの信号とは、“行アドレスストローフ(
RAS)″信号、1列アドレスストローブ(CAS)”
信号及び“書込エネーブル(WRITEENABLE)
’″信号ある。
アドレス選択ライン38はメモリアドレス選択バッファ
24に信号を供給し、メモリアドレス選択バッファ24
はライン38上のアドレス選択信号に対し、メモリアレ
イアドレスライン44上にアドレス信号を与えることに
よって応答する。
24に信号を供給し、メモリアドレス選択バッファ24
はライン38上のアドレス選択信号に対し、メモリアレ
イアドレスライン44上にアドレス信号を与えることに
よって応答する。
メモリアレイストローブライン42とメモリアレイアド
レスライン44は共に、メモリアレイ26に信号を供給
する。RAS信号がストローブライン42上に確認され
ている間、メモリアドレストローブライン44がアドレ
ス信号をメモリアレイ26に与える。RASタイミング
要求が満たされた後、CAS信号がストローブライン4
2上に確認される。CASタイミング要求が満たされた
ら、アドレスライン44上のアドレス信号に対応したデ
ータが読み取られる。データの交換が指定されていない
と、“書込エネーブル(WRITE!11!NABLE
) “信号が確認されない。
レスライン44は共に、メモリアレイ26に信号を供給
する。RAS信号がストローブライン42上に確認され
ている間、メモリアドレストローブライン44がアドレ
ス信号をメモリアレイ26に与える。RASタイミング
要求が満たされた後、CAS信号がストローブライン4
2上に確認される。CASタイミング要求が満たされた
ら、アドレスライン44上のアドレス信号に対応したデ
ータが読み取られる。データの交換が指定されていない
と、“書込エネーブル(WRITE!11!NABLE
) “信号が確認されない。
要求データの最新バージョンがSCU主メモリ6内にあ
ることを、SCUディレクトリ8が周知の手順に基づき
判定すると、5CU4は主メモリ状態ライン32を経て
“承認”信号をインタフェース装置20に送る。次いで
、インタフェース装置20が“承認”状態信号をメモリ
アレイコントローラ22に送り、前述したようにメモリ
読取サイクル最後まで進行可能とする。
ることを、SCUディレクトリ8が周知の手順に基づき
判定すると、5CU4は主メモリ状態ライン32を経て
“承認”信号をインタフェース装置20に送る。次いで
、インタフェース装置20が“承認”状態信号をメモリ
アレイコントローラ22に送り、前述したようにメモリ
読取サイクル最後まで進行可能とする。
一方、要求データの最新バージョンがSCU主メモリ6
内でなく、1つのCPUキャッシュ14内にあることを
SCUディレクトリ8が周知の手順に基づき判定すると
、5CU4は主メモリ状態ライン32を経て“中断″信
号をインタフェース装置20に送る。次いで、インタフ
ェース装置20が“中断″(言号をメモリアレイコント
ローラ22に送り、前述したようにできるだけすばやく
読取サイクルを終了させる。RAS及びCASのタイミ
ング制約のため、“中断”信号がメモリアレイコントロ
ーラ22によって受け取られた後、ある時間中にRAS
及びCAS両信号が確認されねばならないこともある。
内でなく、1つのCPUキャッシュ14内にあることを
SCUディレクトリ8が周知の手順に基づき判定すると
、5CU4は主メモリ状態ライン32を経て“中断″信
号をインタフェース装置20に送る。次いで、インタフ
ェース装置20が“中断″(言号をメモリアレイコント
ローラ22に送り、前述したようにできるだけすばやく
読取サイクルを終了させる。RAS及びCASのタイミ
ング制約のため、“中断”信号がメモリアレイコントロ
ーラ22によって受け取られた後、ある時間中にRAS
及びCAS両信号が確認されねばならないこともある。
それにも拘らず、前記のごとき読取中断処理は、データ
の転送バンド幅に何等の影響も及ぼさずに、コンピュー
タシステム2のメモリ読取待ち時間を最小とする。一部
のメモリ読取は開始されて完了されないため、コンピュ
ータシステム2のメモリ効率は妥協としである程度損な
われる。しかしこの妥協は、SCU主メモリ6内に記憶
された最も要求されるデータが現在データと判定される
場合最小となる。
の転送バンド幅に何等の影響も及ぼさずに、コンピュー
タシステム2のメモリ読取待ち時間を最小とする。一部
のメモリ読取は開始されて完了されないため、コンピュ
ータシステム2のメモリ効率は妥協としである程度損な
われる。しかしこの妥協は、SCU主メモリ6内に記憶
された最も要求されるデータが現在データと判定される
場合最小となる。
本発明の特質を声明するため以上説明し図示した部品及
びアセンブリの詳細、配置及び構成における各種変更が
、特許請求の範囲に記載された本発明の原理及び範囲内
において、当業者にとって可能なことはもちろんである
。
びアセンブリの詳細、配置及び構成における各種変更が
、特許請求の範囲に記載された本発明の原理及び範囲内
において、当業者にとって可能なことはもちろんである
。
第1図は本発明を実施するのに適した、SCU及び独立
の付設CPUを備えた典型的なコンピュータシステムの
ブロック図;第2図は第1図に示したシステムで用いる
のに適した、本発明の好ましい実施例における論理ステ
ップの基本フローチャート:及び第3図は第1図に示し
たデジタルコンピュータシステムで使われる本発明の好
ましい実施例の典型的なブロック図である。 2・・・コンピュータシステム、4・・・システム制御
装置(SCU) 、6・・・SCUメモリ(装置)、8
・・・SCUデータロケーションディレクトリ、10・
・・中央処理装置(C’PU)、14・・・CPU書き
戻しキャッシュ、20・・・SCUメモリインタフェー
ス装置、22・・・メモリアレイコントローラ、24・
・・メモリアドレス選択バッファ、26・・・メモリア
レイ。
の付設CPUを備えた典型的なコンピュータシステムの
ブロック図;第2図は第1図に示したシステムで用いる
のに適した、本発明の好ましい実施例における論理ステ
ップの基本フローチャート:及び第3図は第1図に示し
たデジタルコンピュータシステムで使われる本発明の好
ましい実施例の典型的なブロック図である。 2・・・コンピュータシステム、4・・・システム制御
装置(SCU) 、6・・・SCUメモリ(装置)、8
・・・SCUデータロケーションディレクトリ、10・
・・中央処理装置(C’PU)、14・・・CPU書き
戻しキャッシュ、20・・・SCUメモリインタフェー
ス装置、22・・・メモリアレイコントローラ、24・
・・メモリアドレス選択バッファ、26・・・メモリア
レイ。
Claims (12)
- (1)メモリ装置とデータロケーションディレクトリを
有するシステム制御装置(SCU)、及び各々が書き戻
しキャッシュを有する複数の中央処理装置(CPU)を
具備したデジタルコンピュータシステムで、メモリ記憶
内のCPU要求データに関するメモリ読取待ち時間を最
小限とする方法において: 変更データが前記CPUの1つのキャッシュ内に記憶さ
れているとき、該変更データのロケーションを前記SC
Uに伝送するステップ;前記変更データの記憶ロケーシ
ョンを前記 SCUの前記データロケーションディレクトリに記憶す
るステップ; 前記CPUの1つからのデータの要求を前記SCUで受
け取るステップ; 前記要求データを前記SCUの前記メモリから読み取る
ステップ; 前記読取ステップと同時に、前記SCUの前記データロ
ケーションディレクトリをサーチし、前記要求データの
変更バージョンが前記CPUキャッシュの1つ内にある
かどうかを判定するステップ;及び 前記データロケーションディレクトリをサーチするステ
ップで、前記要求データの変更バージョンが前記CPU
キャッシュの1つ内に記憶されていると確認されたら、
前記要求データの前記SCUメモリからの読取ステップ
を中断するステップ; を含む方法。 - (2)前記サーチするステップが、前記読取ステップの
完了前に完了する請求項(1)記載の方法。 - (3)前記中断するステップが、前記読取ステップの完
了前に完了する請求項(2)記載の方法。 - (4) 前記要求データの変更バージョンを、前記SC
Uを介して前記突き止められたCPUキャッシュから前
記要求しているCPUへと転送するステップ; 前記変更データを前記SCUメモリ内に記憶するステッ
プ;及び 前記SCUメモリに記憶された前記変更データのロケー
ションを、前記SCUデータロケーションディレクトリ
内に記憶するステップ;をさらに含む請求項(2)記載
の方法。 - (5)メモリ装置とデータロケーションディレクトリを
有するシステム制御装置(SCU)、及び各々が書き戻
しキャッシュを有する複数の中央処理装置(CPU)を
具備したデジタルコンピュータシステムで、メモリ記憶
内のCPU要求データに関するメモリ読取待ち時間を最
小限とする方法において: 前記CPUの1つからのデータの要求を前記SCUで受
け取るステップ; 前記要求データを前記SCUの前記メモリから読み取る
ステップ; 前記読取ステップと同時に、前記SCUの前記データロ
ケーションディレクトリをサーチし、前記要求データの
変更バージョンが前記CPUキャッシュの1つ内にある
かどうかを判定するステップ;及び 前記データロケーションディレクトリをサーチするステ
ップで、前記要求データの変更バージョンが前記CPU
キャッシュの1つ内に記憶されていると確認されたら、
前記要求データの前記SCUメモリからの読取ステップ
を中断するステップ; を含む方法。 - (6)前記サーチするステップが、前記読取ステップの
完了前に完了する請求項(5)記載の方法。 - (7)前記中断するステップが、前記読取ステップの完
了前に完了する請求項(6)記載の方法。 - (8)前記要求データの変更バージョンを、前記SCU
を介して前記突き止められたCPUキャッシュから前記
要求しているCPUへと転送するステップ; 前記変更データを前記SCUメモリ内に記憶するステッ
プ;及び 前記SCUメモリに記憶された前記変更データのロケー
ションを、前記SCUデータロケーションディレクトリ
内に記憶するステップ;をさらに含む請求項(5)記載
の方法。 - (9)複数の中央処理装置(CPU)と、前記CPUの
1つからのデータの要求を受け取ると問い合わせ信号を
発生し、その後CPU要求データの最新バージョンが別
のCPUの1つで突き止められたら中断信号を発生する
システム制御装置(SCU)とを有するデジタルコンピ
ュータで、メモリ装置内に記憶されたCPU要求データ
に関するメモリ読取待ち時間を最小限とするのに有用な
メモリ装置において: 前記メモリ装置から前記CPU要求データを読み取る読
取手段; 前記問い合わせ信号と中断信号をデコードする手段; 前記デコードされた問い合わせ信号に応じて前記読取手
段を作動し、前記メモリ装置からの前記要求データの読
取を開始する手段;及び前記デコードされた中断信号に
応じて、前記読取手段が前記メモリ装置からの前記CP
U要求データの読取を完了まで至らせない手段;を備え
たメモリ装置。 - (10)システム制御装置(SCU)で使われ、複数の
中央処理装置(CPU)を有するコンピュータシステム
において作動し、メモリ装置内に記憶されたCPU要求
データに関するメモリ読取待ち時間を最小限とするメモ
リ装置において:前記メモリ装置から前記CPU要求デ
ータを読み取る読取サイクルを有する読取手段; 前記CPU要求データに関する前記CPUの1つからの
要求を表す、前記SCUからの問い合わせ信号をデコー
ドする手段; 前記デコードされた問い合わせ信号に応じて前記読取手
段の読取サイクルを開始し、前記メモリ装置からの前記
要求データの読取を開始する手段; 前記メモリ装置内の前記CPU要求データがCPU要求
データの最新バージョンを含んでいないという判定を表
す、前記SCUからの中断信号をデコードする手段;及
び 前記デコードされた中断信号に応じて、前記読取手段の
読取サイクルを終了させ、前記メモリ装置からの前記C
PU要求データの読取完了まで至らせない手段; を備えたメモリ装置。 - (11)メモリ、データロケーションディレクトリ及び
複数の中央処理装置(CPU)を有するデジタルコンピ
ュータで、メモリ記憶内のCPU要求データに関するメ
モリ読取待ち時間を最小限とするのに有用な装置におい
て: 変更データが前記CPUの1つ内に記憶されているとき
、該変更データのロケーションを受け取る手段; 前記変更データの記憶ロケーションを前記データロケー
ションディレクトリに記憶する手段;データの要求を受
け取る手段; 前記データロケーションディレクトリをサーチし、前記
要求データの変更バージョンが前記CPUの1つ内に記
憶されているかどうかを判定するサーチサイクルを有す
る手段; 前記メモリから要求データを読み取る読取サイクルを有
する手段; 前記サーチ手段のサーチサイクルが前記読取手段の読取
サイクルと同時に発生する;及び前記要求データの変更
バージョンが前記CPUの1つ内に記憶されていると前
記サーチ手段が判定したら、前記読取手段の読取サイク
ルを中断する手段; を備えた装置。 - (12)メモリ、データロケーションディレクトリ及び
複数の中央処理装置(CPU)を有するデジタルコンピ
ュータで、メモリ記憶内のCPU要求データに関するメ
モリ読取待ち時間を最小限とするのに有用な装置におい
て: 変更データの前記CPUの1つ内に記憶されているとき
、該変更データのロケーションを受け取る手段; 前記ロケーション受取手段に応答して、前記変更データ
の記憶ロケーションを前記データロケーションディレク
トリに記憶する手段; データの要求を受け取る手段; 前記データ受取手段に応答して前記データロケーション
ディレクトリをサーチし、前記要求データの変更バージ
ョンが前記CPUの1つ内に記憶されているかどうかを
判定するサーチサイクルを有する手段; 前記要求データの変更バージョンが前記CPUの1つ内
に記憶されているかどうかを判定するとサーチを前記サ
ーチ手段が行うと同時に、前記受取手段に応答して、前
記メモリから要求データを読み取る読取サイクルを開始
する手段;及び 前記要求データの変更バージョンが前記CPUの1つ内
に記憶されていたら、前記サーチ手段に応答して前記読
取手段のメモリ読取サイクルを終了させ、前記メモリか
らの前記要求データの読取完了まで至らせない手段; を備えた装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US30347189A | 1989-01-27 | 1989-01-27 | |
US303471 | 1989-01-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02205963A true JPH02205963A (ja) | 1990-08-15 |
Family
ID=23172262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1166500A Pending JPH02205963A (ja) | 1989-01-27 | 1989-06-28 | 読取中断処理 |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP0379771A3 (ja) |
JP (1) | JPH02205963A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09282191A (ja) * | 1996-04-12 | 1997-10-31 | Nec Corp | 障害処理方式 |
US7093078B2 (en) | 1999-12-09 | 2006-08-15 | Nec Corporation | Data access method in the network system and the network system |
KR100615660B1 (ko) * | 1998-12-21 | 2006-08-25 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | 메모리 취소 메세지를 이용한 시스템 메모리 대역폭의유지 및 캐시 코히런시 유지 |
JP2007272922A (ja) * | 2001-06-04 | 2007-10-18 | Fujitsu Ltd | 複数ノード間での通信方法、相互接続ポートおよび相互接続システム |
JP2016015121A (ja) * | 2014-05-27 | 2016-01-28 | ブル・エス・アー・エス | マルチプロセッサシステムのメインメモリ対する投機的クエリ |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69622079T2 (de) * | 1995-03-31 | 2002-10-31 | Sun Microsystems, Inc. | Verfahren und Vorrichtung zur schnellen Einleitung von Speicherzugriffen in einem cachekohärenten Multiprozessorsystem |
DE69717124T2 (de) * | 1997-12-11 | 2003-07-17 | Bull S.A., Louveciennes | Verfahren zum Lesen von Daten auf einem gemeinsamen Speicher in einem Multiprozessor-Rechnersystem |
US6338122B1 (en) * | 1998-12-15 | 2002-01-08 | International Business Machines Corporation | Non-uniform memory access (NUMA) data processing system that speculatively forwards a read request to a remote processing node |
US6275905B1 (en) | 1998-12-21 | 2001-08-14 | Advanced Micro Devices, Inc. | Messaging scheme to maintain cache coherency and conserve system memory bandwidth during a memory read operation in a multiprocessing computer system |
US6393529B1 (en) | 1998-12-21 | 2002-05-21 | Advanced Micro Devices, Inc. | Conversation of distributed memory bandwidth in multiprocessor system with cache coherency by transmitting cancel subsequent to victim write |
US6370621B1 (en) | 1998-12-21 | 2002-04-09 | Advanced Micro Devices, Inc. | Memory cancel response optionally cancelling memory controller's providing of data in response to a read operation |
US6490661B1 (en) | 1998-12-21 | 2002-12-03 | Advanced Micro Devices, Inc. | Maintaining cache coherency during a memory read operation in a multiprocessing computer system |
US6631401B1 (en) | 1998-12-21 | 2003-10-07 | Advanced Micro Devices, Inc. | Flexible probe/probe response routing for maintaining coherency |
US6757793B1 (en) | 2000-03-29 | 2004-06-29 | Advanced Micro Devices, Inc. | Reducing probe traffic in multiprocessor systems using a victim record table |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4503497A (en) * | 1982-05-27 | 1985-03-05 | International Business Machines Corporation | System for independent cache-to-cache transfer |
-
1989
- 1989-06-28 JP JP1166500A patent/JPH02205963A/ja active Pending
- 1989-07-03 EP EP19890306722 patent/EP0379771A3/en not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09282191A (ja) * | 1996-04-12 | 1997-10-31 | Nec Corp | 障害処理方式 |
KR100615660B1 (ko) * | 1998-12-21 | 2006-08-25 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | 메모리 취소 메세지를 이용한 시스템 메모리 대역폭의유지 및 캐시 코히런시 유지 |
US7093078B2 (en) | 1999-12-09 | 2006-08-15 | Nec Corporation | Data access method in the network system and the network system |
JP2007272922A (ja) * | 2001-06-04 | 2007-10-18 | Fujitsu Ltd | 複数ノード間での通信方法、相互接続ポートおよび相互接続システム |
JP2016015121A (ja) * | 2014-05-27 | 2016-01-28 | ブル・エス・アー・エス | マルチプロセッサシステムのメインメモリ対する投機的クエリ |
Also Published As
Publication number | Publication date |
---|---|
EP0379771A2 (en) | 1990-08-01 |
EP0379771A3 (en) | 1991-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0568231B1 (en) | Methods and apparatus for providing multiple outstanding operations in a cache consistent multiple processor computer system | |
EP0542417B1 (en) | Method and direct memory access controller for asynchronously reading/writing data from/to a memory with improved throughput | |
US5659710A (en) | Cache coherency method and system employing serially encoded snoop responses | |
US6321296B1 (en) | SDRAM L3 cache using speculative loads with command aborts to lower latency | |
JPH02205963A (ja) | 読取中断処理 | |
JPH07319767A (ja) | コンピュータ・システム | |
JPH07325761A (ja) | 仮想記憶システムに使用するための装置 | |
JPH04233050A (ja) | キャッシュメモリ交換プロトコル | |
US5603010A (en) | Performing speculative system memory reads prior to decoding device code | |
JPH08249231A (ja) | マルチプロセッサ・システムにおける古いデータの処理システム及び方法 | |
US6247101B1 (en) | Tagged access synchronous bus architecture | |
US6782463B2 (en) | Shared memory array | |
JPH05216757A (ja) | プロセツサシステム及びそのデータ転送方法 | |
US5987570A (en) | Performing overlapping burst memory accesses and interleaved memory accesses on cache misses | |
US6754779B1 (en) | SDRAM read prefetch from multiple master devices | |
JP3018038B2 (ja) | キャッシュを有するデータ処理装置 | |
JPH04336641A (ja) | 処理システムにおける使用のためのデータキャッシュおよび方法 | |
JPH02184946A (ja) | キヤツシユ・バイパス装置 | |
JPS63208151A (ja) | デジタルデータ処理システムのプロセッサと特殊命令プロセッサの間のインターフェイス | |
JP3093446B2 (ja) | 情報処理装置 | |
JPH08115272A (ja) | データ処理システムにおける遠隔再試行方法及び装置 | |
US5752265A (en) | Memory accessing in a multi-processor system using snooping | |
JPH0210450A (ja) | キヤツシユメモリの先行フエツチ制御方式 | |
KR100454652B1 (ko) | 하이파이버스시스템의주기억장치 | |
JPH0756844A (ja) | システムメモリを有するバスをベースにしたコンピュータシステムに使用するためのマスタバスマスタおよびバスをベースにしたコンピュータシステム |