JPH1115735A - 不均一アクセスメモリ及びキャッシュメモリコヒーレンスを有する情報処理マシン - Google Patents
不均一アクセスメモリ及びキャッシュメモリコヒーレンスを有する情報処理マシンInfo
- Publication number
- JPH1115735A JPH1115735A JP10153260A JP15326098A JPH1115735A JP H1115735 A JPH1115735 A JP H1115735A JP 10153260 A JP10153260 A JP 10153260A JP 15326098 A JP15326098 A JP 15326098A JP H1115735 A JPH1115735 A JP H1115735A
- Authority
- JP
- Japan
- Prior art keywords
- register
- module
- block
- address
- memory
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/348—Circuit details, i.e. tracer hardware
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/885—Monitoring specific for caches
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/25—Using a specific main memory architecture
- G06F2212/254—Distributed memory
- G06F2212/2542—Non-uniform memory access [NUMA] architecture
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【課題】 アクセス頻度が均一でないメモリを有するマ
ルチプロセッサシステムの性能を向上させる。 【解決手段】 本発明の情報処理マシンは、複数のモジ
ュールで構成され、一つのモジュール(10)が他のモ
ジュール(20、40、60)とのデータのコヒーレン
スを確保する装置(6)を備える。該装置(6)は、メ
モリの第一物理アドレスを格納するための第一レジスタ
(81、101)と、メモリの第二物理アドレスを格納
するための第二レジスタ(82、102)と、第一物理
アドレスと第二物理アドレスとの間にアドレスが含まれ
るデータに関する活動量を測定する第一手段(90、9
5、111、121、88、92、108)と、活動量
を測定するためのしきい値を格納するための第三レジス
タ(83、93、109)と、第一手段によって測定さ
れる活動量がしきい値を超えたことを検出する第二手段
(91、94、112、122)とを含む。
ルチプロセッサシステムの性能を向上させる。 【解決手段】 本発明の情報処理マシンは、複数のモジ
ュールで構成され、一つのモジュール(10)が他のモ
ジュール(20、40、60)とのデータのコヒーレン
スを確保する装置(6)を備える。該装置(6)は、メ
モリの第一物理アドレスを格納するための第一レジスタ
(81、101)と、メモリの第二物理アドレスを格納
するための第二レジスタ(82、102)と、第一物理
アドレスと第二物理アドレスとの間にアドレスが含まれ
るデータに関する活動量を測定する第一手段(90、9
5、111、121、88、92、108)と、活動量
を測定するためのしきい値を格納するための第三レジス
タ(83、93、109)と、第一手段によって測定さ
れる活動量がしきい値を超えたことを検出する第二手段
(91、94、112、122)とを含む。
Description
【0001】
【発明の属する技術分野】本発明は、不均一アクセスメ
モリ及びキャッシュコヒーレンスを有する情報処理マシ
ンを対象とする。
モリ及びキャッシュコヒーレンスを有する情報処理マシ
ンを対象とする。
【0002】
【従来の技術】情報処理分野では、マシンを構成するプ
ロセッサの数を増やすことによりマシンの性能を上げる
ことが可能である。SMPという名称で知られている種
類のマシンにより、同一のマシンの種々のプロセッサ
は、システムバスを使用して対称的にマシンのメモリに
アクセスすることができる。アクセスされた全データに
ついてメモリへのアクセス時間がほぼ同じである限り、
これらは、均一アクセスメモリを有するマシンと言え
る。しかしながらこのようなマシンの性能曲線は、プロ
セッサ数に比例して一次曲線的に増加することはない。
プロセッサの数が多い場合、マシンは、アプリケーショ
ンを実行するために使用するリソースへのアクセス性に
ついてより多くの問題を管理することになる。その結
果、プロセッサ数がしばしば四個程度と見積もられる最
適値を超えると性能曲線が顕著に変化する。この問題に
対し、先行技術は種々の解決方法を提案している。
ロセッサの数を増やすことによりマシンの性能を上げる
ことが可能である。SMPという名称で知られている種
類のマシンにより、同一のマシンの種々のプロセッサ
は、システムバスを使用して対称的にマシンのメモリに
アクセスすることができる。アクセスされた全データに
ついてメモリへのアクセス時間がほぼ同じである限り、
これらは、均一アクセスメモリを有するマシンと言え
る。しかしながらこのようなマシンの性能曲線は、プロ
セッサ数に比例して一次曲線的に増加することはない。
プロセッサの数が多い場合、マシンは、アプリケーショ
ンを実行するために使用するリソースへのアクセス性に
ついてより多くの問題を管理することになる。その結
果、プロセッサ数がしばしば四個程度と見積もられる最
適値を超えると性能曲線が顕著に変化する。この問題に
対し、先行技術は種々の解決方法を提案している。
【0003】既知の解決方法は、複数のマシンを群にし
てネットワークでこれらのマシン間の通信を行うことか
ら成る。各マシンは、最適な数、たとえば四個のプロセ
ッサと、独自のオペレーティングシステムとを有する。
各マシンは、別のマシンが有する最新データについて処
理を行う毎に、この別のマシンとの通信を確立する。こ
れらの通信に必要な時間及びコヒーレンスのあるデータ
で作業を行う必要性から、たとえば、多くの通信を必要
とする分散アプリケーションなどの大きなアプリケーシ
ョンの場合、待ち時間の問題が生じる。待ち時間とは、
メモリへのアクセスの要求の送信時からこの要求に対す
る応答が受信されるまでの時間である。
てネットワークでこれらのマシン間の通信を行うことか
ら成る。各マシンは、最適な数、たとえば四個のプロセ
ッサと、独自のオペレーティングシステムとを有する。
各マシンは、別のマシンが有する最新データについて処
理を行う毎に、この別のマシンとの通信を確立する。こ
れらの通信に必要な時間及びコヒーレンスのあるデータ
で作業を行う必要性から、たとえば、多くの通信を必要
とする分散アプリケーションなどの大きなアプリケーシ
ョンの場合、待ち時間の問題が生じる。待ち時間とは、
メモリへのアクセスの要求の送信時からこの要求に対す
る応答が受信されるまでの時間である。
【0004】別の既知の解決方法は、NUMA型マシン
による解決方法である。これは、アクセスされるデータ
のロケーションによりメモリへのアクセス時間が異な
る、不均一アクセスメモリ(Non Uniform Memory Acces
s)を有するマシンである。NUMA型マシンは複数の
モジュールで構成され、各モジュールは、最適数のプロ
セッサと、マシンの全メモリの物理的部分とを備える。
モジュールは通常、別のモジュールと共有しないメモリ
の物理的部分へのアクセスの方が、共有する部分へのア
クセスよりも容易であることから、このようなマシンは
不均一メモリアクセス型である。各モジュールは、これ
らのプロセッサと物理メモリとを接続する専用システム
バスを有するが、全モジュールに共通のオペレーティン
グシステムにより、専用システムバスの全体が、マシン
の唯一のシステムバスであるとみなされる。論理アドレ
シングにより、あるモジュールの所与の物理メモリロケ
ーションに常駐場所が割り当てられる。あるプロセッサ
を想定した場合、物理的にプロセッサと同じモジュール
上にあるローカルメモリの部分へのアクセスと、プロセ
ッサのあるモジュールとは別の単数又は複数のモジュー
ル上に物理的に存在するリモートメモリの部分へのアク
セスとがある。
による解決方法である。これは、アクセスされるデータ
のロケーションによりメモリへのアクセス時間が異な
る、不均一アクセスメモリ(Non Uniform Memory Acces
s)を有するマシンである。NUMA型マシンは複数の
モジュールで構成され、各モジュールは、最適数のプロ
セッサと、マシンの全メモリの物理的部分とを備える。
モジュールは通常、別のモジュールと共有しないメモリ
の物理的部分へのアクセスの方が、共有する部分へのア
クセスよりも容易であることから、このようなマシンは
不均一メモリアクセス型である。各モジュールは、これ
らのプロセッサと物理メモリとを接続する専用システム
バスを有するが、全モジュールに共通のオペレーティン
グシステムにより、専用システムバスの全体が、マシン
の唯一のシステムバスであるとみなされる。論理アドレ
シングにより、あるモジュールの所与の物理メモリロケ
ーションに常駐場所が割り当てられる。あるプロセッサ
を想定した場合、物理的にプロセッサと同じモジュール
上にあるローカルメモリの部分へのアクセスと、プロセ
ッサのあるモジュールとは別の単数又は複数のモジュー
ル上に物理的に存在するリモートメモリの部分へのアク
セスとがある。
【0005】NUMA型マシンの特別な種類はCCNU
MA型、すなわちキャッシュコヒーレンス(Cache Cohe
rency)を有するマシンである。共有キャッシュメモリ
機構では、ある瞬間において、このブロックの有効なす
なわち最新のコピーは、必ずしも物理的常駐メモリのロ
ケーションにあるとは限らない。従ってブロックの一つ
又は複数の最新コピーは、アプリケーションの要求及び
システムコールに応じて、あるモジュールから別のモジ
ュールに移動することがある。モジュール内にある物理
メモリは、該モジュールのアクセスが最も速いメモリで
ある。なぜならローカルシステムバスにより直接行われ
るからである。離れた別のモジュールにある物理メモリ
は、当該モジュールのアクセスが最も遅いメモリであ
る。なぜならモジュール間で一つ又は複数のトランザク
ションを必要とするからである。モジュールに対してロ
ーカルな物理メモリは、このモジュール内に常駐するデ
ータブロックに特に割り当てられた第一部分と、他のモ
ジュール内に常駐するブロックコピーに特に割り当てら
れた第二部分とを備える。物理メモリの第二部分は、他
のモジュール内のリモートメモリのキャッシュメモリを
構成する。
MA型、すなわちキャッシュコヒーレンス(Cache Cohe
rency)を有するマシンである。共有キャッシュメモリ
機構では、ある瞬間において、このブロックの有効なす
なわち最新のコピーは、必ずしも物理的常駐メモリのロ
ケーションにあるとは限らない。従ってブロックの一つ
又は複数の最新コピーは、アプリケーションの要求及び
システムコールに応じて、あるモジュールから別のモジ
ュールに移動することがある。モジュール内にある物理
メモリは、該モジュールのアクセスが最も速いメモリで
ある。なぜならローカルシステムバスにより直接行われ
るからである。離れた別のモジュールにある物理メモリ
は、当該モジュールのアクセスが最も遅いメモリであ
る。なぜならモジュール間で一つ又は複数のトランザク
ションを必要とするからである。モジュールに対してロ
ーカルな物理メモリは、このモジュール内に常駐するデ
ータブロックに特に割り当てられた第一部分と、他のモ
ジュール内に常駐するブロックコピーに特に割り当てら
れた第二部分とを備える。物理メモリの第二部分は、他
のモジュール内のリモートメモリのキャッシュメモリを
構成する。
【0006】物理メモリの第一部分内に常駐するブロッ
クは、その内容が最新コピーでない場合には、即使用可
能であるわけではない。たとえば、他の一つ又は複数の
モジュールがこのブロックを共有し、これら他のモジュ
ールのうちの一つが、メモリのコヒーレンスの観点から
最新のコピーを有する場合がこれに該当する。この当該
モジュールは、他のモジュールとの、物理メモリの第一
部分内に常駐するブロックの共有を管理するために、ロ
ーカルメモリテーブルLMD(Local Memory Director
y)を使用することができる。テーブルLMDは複数の
行で構成され、各行は、モジュール内に常駐し一つ又は
複数の他のモジュールにより共有されるブロックを参照
するためのものである。
クは、その内容が最新コピーでない場合には、即使用可
能であるわけではない。たとえば、他の一つ又は複数の
モジュールがこのブロックを共有し、これら他のモジュ
ールのうちの一つが、メモリのコヒーレンスの観点から
最新のコピーを有する場合がこれに該当する。この当該
モジュールは、他のモジュールとの、物理メモリの第一
部分内に常駐するブロックの共有を管理するために、ロ
ーカルメモリテーブルLMD(Local Memory Director
y)を使用することができる。テーブルLMDは複数の
行で構成され、各行は、モジュール内に常駐し一つ又は
複数の他のモジュールにより共有されるブロックを参照
するためのものである。
【0007】物理メモリの第一部分内に常駐しないブロ
ックは、物理メモリの第二部分内でこのブロックの最新
コピーにアクセスすることができれば、即使用すること
ができる。このモジュールは、物理メモリの第二部分内
の最新コピーの存在を管理するために、リモートキャッ
シュテーブルRCT(Remote Cache Table)を使用する
ことができる。リモートキャッシュテーブルRCTは複
数の行で構成され、各行は、物理メモリの第二部分のロ
ケーションと対応するようになっており、各ロケーショ
ンは、この行により参照されるブロックのコピーを格納
するためのものである。
ックは、物理メモリの第二部分内でこのブロックの最新
コピーにアクセスすることができれば、即使用すること
ができる。このモジュールは、物理メモリの第二部分内
の最新コピーの存在を管理するために、リモートキャッ
シュテーブルRCT(Remote Cache Table)を使用する
ことができる。リモートキャッシュテーブルRCTは複
数の行で構成され、各行は、物理メモリの第二部分のロ
ケーションと対応するようになっており、各ロケーショ
ンは、この行により参照されるブロックのコピーを格納
するためのものである。
【0008】
【発明が解決しようとする課題】不均一アクセスメモリ
及びキャッシュコヒーレンスを有するマシンの利点は、
各モジュールが、そのローカルメモリの第一部分内に常
駐するデータブロック上、又は別のモジュールのメモリ
の第一部分内に常駐するブロックのローカルメモリの第
二部分内のコピー上で動作することである。その場合、
一つのモジュールはデータのコヒーレンスを確保するた
めに最新コピー上で動作する場合を除いては、他のモジ
ュールと通信する必要がない。従って、実行時には各モ
ジュールは、必要であれば、必要とするブロックのコピ
ーをそのローカルメモリに戻すので先験的に、データブ
ロックがどのモジュールに常駐するかは問題とはならな
い。しかしながら、全モジュールに共通のオペレーティ
ングシステム又は分散型のいくつかのアプリケーション
を実行する場合、データによってはモジュール全体に対
し影響を持つこともあり得る。そのようなデータとは、
例を挙げると、プロセス割り当てテーブル、オープンフ
ァイルテーブル、又は共有リソースラッチテーブルに関
するものである。これらのデータのコヒーレンスをはか
る場合、モジュール間で多くのやりとりが必要となり、
従ってそのようなマシンの所望される性能の向上が妨げ
られる恐れがある。問題は、複数のモジュールが共有し
ているデータがマシンの性能をどの程度損ねるかを先験
的に評価することが困難なことであり、さらに、この損
失は、マシン上で実行されるアプリケーションが増える
につれて、マシンのオペレーティングモードに依存する
ようになる。他方、ロケーションのため、よりこのよう
な性能を損ねる恐れのあるデータを無視してまで、性能
を損ねる可能性がほとんどないデータに関する最適化の
ためにコストをかけることは有利ではない。
及びキャッシュコヒーレンスを有するマシンの利点は、
各モジュールが、そのローカルメモリの第一部分内に常
駐するデータブロック上、又は別のモジュールのメモリ
の第一部分内に常駐するブロックのローカルメモリの第
二部分内のコピー上で動作することである。その場合、
一つのモジュールはデータのコヒーレンスを確保するた
めに最新コピー上で動作する場合を除いては、他のモジ
ュールと通信する必要がない。従って、実行時には各モ
ジュールは、必要であれば、必要とするブロックのコピ
ーをそのローカルメモリに戻すので先験的に、データブ
ロックがどのモジュールに常駐するかは問題とはならな
い。しかしながら、全モジュールに共通のオペレーティ
ングシステム又は分散型のいくつかのアプリケーション
を実行する場合、データによってはモジュール全体に対
し影響を持つこともあり得る。そのようなデータとは、
例を挙げると、プロセス割り当てテーブル、オープンフ
ァイルテーブル、又は共有リソースラッチテーブルに関
するものである。これらのデータのコヒーレンスをはか
る場合、モジュール間で多くのやりとりが必要となり、
従ってそのようなマシンの所望される性能の向上が妨げ
られる恐れがある。問題は、複数のモジュールが共有し
ているデータがマシンの性能をどの程度損ねるかを先験
的に評価することが困難なことであり、さらに、この損
失は、マシン上で実行されるアプリケーションが増える
につれて、マシンのオペレーティングモードに依存する
ようになる。他方、ロケーションのため、よりこのよう
な性能を損ねる恐れのあるデータを無視してまで、性能
を損ねる可能性がほとんどないデータに関する最適化の
ためにコストをかけることは有利ではない。
【0009】
【課題を解決するための手段】本発明は、複数のモジュ
ールで構成され、一つのモジュールが他のモジュールと
のデータのコヒーレンスを確保する装置を備え、不均一
アクセスメモリ及びキャッシュコヒーレンスを有する情
報処理マシンであって、 − メモリの第一物理アドレスを格納するための第一レ
ジスタと、 − メモリの第二物理アドレスを格納するための第二レ
ジスタと、 − 前記第一物理アドレスと前記第二物理アドレスとの
間にアドレスが含まれるデータに関する活動量を測定す
る第一手段と、 − 前記活動量を測定するためのしきい値を格納するた
めの第三レジスタと、 − 第一手段によって測定される活動量が前記しきい値
を超えたことを検出する第二手段とを少なくとも含むこ
とを特徴とする情報処理マシンを提供する。
ールで構成され、一つのモジュールが他のモジュールと
のデータのコヒーレンスを確保する装置を備え、不均一
アクセスメモリ及びキャッシュコヒーレンスを有する情
報処理マシンであって、 − メモリの第一物理アドレスを格納するための第一レ
ジスタと、 − メモリの第二物理アドレスを格納するための第二レ
ジスタと、 − 前記第一物理アドレスと前記第二物理アドレスとの
間にアドレスが含まれるデータに関する活動量を測定す
る第一手段と、 − 前記活動量を測定するためのしきい値を格納するた
めの第三レジスタと、 − 第一手段によって測定される活動量が前記しきい値
を超えたことを検出する第二手段とを少なくとも含むこ
とを特徴とする情報処理マシンを提供する。
【0010】マシンのメモリ空間内にウインドウを構成
する二つの物理アドレス間にアドレスが含まれるデータ
に関する活動量を測定することにより、プロセッサのプ
ライベートキャッシュメモリにより要求が送信されてか
らこのプライベートキャッシュメモリ内でこの要求に対
応する応答が得られるまでの時間である、該ウインドウ
に固有の待ち時間を推定することができる。推定は、絶
対時間又はトランザクション数を基にして行うことがで
きる。
する二つの物理アドレス間にアドレスが含まれるデータ
に関する活動量を測定することにより、プロセッサのプ
ライベートキャッシュメモリにより要求が送信されてか
らこのプライベートキャッシュメモリ内でこの要求に対
応する応答が得られるまでの時間である、該ウインドウ
に固有の待ち時間を推定することができる。推定は、絶
対時間又はトランザクション数を基にして行うことがで
きる。
【0011】本発明は、図面を参照して行う実施形態の
記載により、より良く理解されよう。
記載により、より良く理解されよう。
【0012】
【発明の実施の形態】図1は、ループ16により相互接
続される四つのモジュール10、20、40及び60で
構成される不均一メモリアクセスマシンのアーキテクチ
ャの例を示す図である。図1を参照して行う以下の記載
は、二つ以上の任意の数のモジュールについて有効であ
る。モジュール間の接続は一つ又は複数の交換ループ、
あるいはグリッド、ハイパーキューブ相互接続、さらに
はクロスバー等の良く知られた手段により行うことがで
きる。モジュールを相互接続することにより、メモリコ
ヒーレンスプロトコルを使用するモジュール間でトラン
ザクションを行うことができる。
続される四つのモジュール10、20、40及び60で
構成される不均一メモリアクセスマシンのアーキテクチ
ャの例を示す図である。図1を参照して行う以下の記載
は、二つ以上の任意の数のモジュールについて有効であ
る。モジュール間の接続は一つ又は複数の交換ループ、
あるいはグリッド、ハイパーキューブ相互接続、さらに
はクロスバー等の良く知られた手段により行うことがで
きる。モジュールを相互接続することにより、メモリコ
ヒーレンスプロトコルを使用するモジュール間でトラン
ザクションを行うことができる。
【0013】モジュール10は、四つのプロセッサ1〜
4と、メモリ5と、ループ16により他のモジュールへ
接続する装置6とを備える。種々の要素1〜6は、モジ
ュール10内のシステムバス7により相互に接続され
る。モジュール20は、四つのプロセッサ21〜24
と、メモリ25と、ループ16により他のモジュールへ
接続する装置26とを備える。種々の要素21〜26
は、モジュール20内のシステムバス27により相互に
接続される。モジュール40は、四つのプロセッサ41
〜44と、メモリ45と、ループ16により他のモジュ
ールへ接続する装置46とを備える。種々の要素41〜
46は、モジュール40内のシステムバス47により相
互に接続される。モジュール60は、四つのプロセッサ
61〜64と、メモリ65と、ループ16により他のモ
ジュールへ接続する装置66とを備える。種々の要素6
1〜66は、モジュール60内のシステムバス67によ
り相互に接続される。装置6、26、46、66はそれ
ぞれリンク17、37、57、77によりループ16に
接続される。
4と、メモリ5と、ループ16により他のモジュールへ
接続する装置6とを備える。種々の要素1〜6は、モジ
ュール10内のシステムバス7により相互に接続され
る。モジュール20は、四つのプロセッサ21〜24
と、メモリ25と、ループ16により他のモジュールへ
接続する装置26とを備える。種々の要素21〜26
は、モジュール20内のシステムバス27により相互に
接続される。モジュール40は、四つのプロセッサ41
〜44と、メモリ45と、ループ16により他のモジュ
ールへ接続する装置46とを備える。種々の要素41〜
46は、モジュール40内のシステムバス47により相
互に接続される。モジュール60は、四つのプロセッサ
61〜64と、メモリ65と、ループ16により他のモ
ジュールへ接続する装置66とを備える。種々の要素6
1〜66は、モジュール60内のシステムバス67によ
り相互に接続される。装置6、26、46、66はそれ
ぞれリンク17、37、57、77によりループ16に
接続される。
【0014】各プロセッサ1〜4、21〜24、41〜
44、61〜64は、内部及び/又は外部の専用キャッ
シュメモリ11〜14、31〜34、51〜54、71
〜74を有する。また、モジュール10はRCと呼ぶリ
モートアクセスキャッシュメモリ15を備え、モジュー
ル20はRCと呼ぶリモートアクセスキャッシュメモリ
35を備え、モジュール40はRCと呼ぶリモートアク
セスキャッシュメモリ55を備え、モジュール60はR
Cと呼ぶリモートアクセスキャッシュメモリ75を備え
る。キャッシュメモリ15、35、55及び/又は75
のサイズをパラメータ化することができるようにするた
めには、図1に示すように、メモリ5、25、45、6
5の専用領域にキャッシュメモリを物理的に置くことが
有利である。この場合、以下の記載では、メモリ5’、
25’、45’、65’を、キャッシュメモリ15、3
5、55、75のデータブロックを含まないメモリ5、
25、45、65のデータブロックで構成されているも
のとみなす。キャッシュメモリ15、35、55、75
が、メモリ5、25、45、65の物理的構成要素とは
異なる物理的構成要素で構成される場合には、符号
5’、25’、45’、65’は5、25、45、65
と同一である。
44、61〜64は、内部及び/又は外部の専用キャッ
シュメモリ11〜14、31〜34、51〜54、71
〜74を有する。また、モジュール10はRCと呼ぶリ
モートアクセスキャッシュメモリ15を備え、モジュー
ル20はRCと呼ぶリモートアクセスキャッシュメモリ
35を備え、モジュール40はRCと呼ぶリモートアク
セスキャッシュメモリ55を備え、モジュール60はR
Cと呼ぶリモートアクセスキャッシュメモリ75を備え
る。キャッシュメモリ15、35、55及び/又は75
のサイズをパラメータ化することができるようにするた
めには、図1に示すように、メモリ5、25、45、6
5の専用領域にキャッシュメモリを物理的に置くことが
有利である。この場合、以下の記載では、メモリ5’、
25’、45’、65’を、キャッシュメモリ15、3
5、55、75のデータブロックを含まないメモリ5、
25、45、65のデータブロックで構成されているも
のとみなす。キャッシュメモリ15、35、55、75
が、メモリ5、25、45、65の物理的構成要素とは
異なる物理的構成要素で構成される場合には、符号
5’、25’、45’、65’は5、25、45、65
と同一である。
【0015】各プロセッサ1〜4、21〜24、41〜
44、61〜64は、ただ一つのアドレス空間の論理ア
ドレスを使用して、メモリ5’、25’、45’、6
5’に含まれるデータブロックにアクセスするが、その
際、メモリ5’、25’、45’、65’がローカルで
あってプロセッサと同じモジュールに属するか、あるい
はリモートであってプロセッサとは異なるモジュールに
属するかは区別しない。モジュール10内では、たとえ
ば、アドレスされたメモリが物理的に存在するモジュー
ルを示す論理アドレスの上位ビットを使用して、論理ア
ドレスがメモリ5’内に常駐するブロックのローカル物
理アドレスに対応するか、論理アドレスがモジュール2
0、40、60のうちのいずれかに常駐するブロックの
リモート物理アドレスに対応するかを区別するのは装置
6であり、その場合、下位ビットは常駐モジュールの内
部の物理アドレスを示す。モジュール20内では、たと
えば、アドレスされたメモリが物理的に存在するモジュ
ールを示す論理アドレスの上位ビットを使用して、論理
アドレスがメモリ25’内に常駐するブロックのローカ
ル物理アドレスに対応するか、論理アドレスがモジュー
ル40、60、10のうちのいずれかに常駐するブロッ
クのリモート物理アドレスに対応するかを区別するのは
装置26であり、その場合、下位ビットは常駐モジュー
ルの内部の物理アドレスを示し、以下、他のモジュール
についても同様である。上記の上位ビットは、論理アド
レスのフィールドA4を構成する。このようにしてアク
セスされたデータブロックは、全プロセッサが共有する
メモリセットSMを構成する。
44、61〜64は、ただ一つのアドレス空間の論理ア
ドレスを使用して、メモリ5’、25’、45’、6
5’に含まれるデータブロックにアクセスするが、その
際、メモリ5’、25’、45’、65’がローカルで
あってプロセッサと同じモジュールに属するか、あるい
はリモートであってプロセッサとは異なるモジュールに
属するかは区別しない。モジュール10内では、たとえ
ば、アドレスされたメモリが物理的に存在するモジュー
ルを示す論理アドレスの上位ビットを使用して、論理ア
ドレスがメモリ5’内に常駐するブロックのローカル物
理アドレスに対応するか、論理アドレスがモジュール2
0、40、60のうちのいずれかに常駐するブロックの
リモート物理アドレスに対応するかを区別するのは装置
6であり、その場合、下位ビットは常駐モジュールの内
部の物理アドレスを示す。モジュール20内では、たと
えば、アドレスされたメモリが物理的に存在するモジュ
ールを示す論理アドレスの上位ビットを使用して、論理
アドレスがメモリ25’内に常駐するブロックのローカ
ル物理アドレスに対応するか、論理アドレスがモジュー
ル40、60、10のうちのいずれかに常駐するブロッ
クのリモート物理アドレスに対応するかを区別するのは
装置26であり、その場合、下位ビットは常駐モジュー
ルの内部の物理アドレスを示し、以下、他のモジュール
についても同様である。上記の上位ビットは、論理アド
レスのフィールドA4を構成する。このようにしてアク
セスされたデータブロックは、全プロセッサが共有する
メモリセットSMを構成する。
【0016】プロセッサ1を参照する以下の記載は、モ
ジュール10を参照するプロセッサ2〜4、モジュール
20を参照するプロセッサ21〜24、モジュール40
を参照するプロセッサ41〜44、ならびにモジュール
60を参照するプロセッサ61〜64に関しても当ては
まる。
ジュール10を参照するプロセッサ2〜4、モジュール
20を参照するプロセッサ21〜24、モジュール40
を参照するプロセッサ41〜44、ならびにモジュール
60を参照するプロセッサ61〜64に関しても当ては
まる。
【0017】プロセッサ1は、専用キャッシュ11を使
用して、直接、アソシアティブ、あるいはブロックセッ
トアソシアティブ機構などの公知のキャッシュメモリ機
構により、セットSMのデータブロックB1に含まれる
ワードを処理する。これらの機構についてはここでは説
明しない。
用して、直接、アソシアティブ、あるいはブロックセッ
トアソシアティブ機構などの公知のキャッシュメモリ機
構により、セットSMのデータブロックB1に含まれる
ワードを処理する。これらの機構についてはここでは説
明しない。
【0018】キャッシュメモリは図示はしなかったが、
高速アクセスメモリと対応表とを備えることに留意され
たい。直接対応機構の場合、あるワードの論理アドレス
内で上位ビットから下位ビット側に向かって、基本的に
三つのフィールドがある。すなわち、ラベルと呼ばれる
第一フィールドA1と、インデックスと呼ばれる第二フ
ィールドA2と、このワードを含むデータブロック内の
ワードのアドレスと呼ばれる第三フィールドA3であ
る。通常、第一及び第二フィールドはブロックB1の論
理アドレスを構成する。インデックスA1は、本来これ
ら二つの値を含む対応表のある一つの行を指す。第一の
値は、このインデックスにより物理イメージが高速アク
セスメモリ内に直接アドレスされるブロックB2のラベ
ルA1’である。第二の値は、ブロックB2がプロセッ
サに占有されているか、別のプロセッサにより共有され
ているか、また後者の場合、その内容は有効であるか又
は他のプロセッサにより変更されたかどうかを示すステ
ータスコードである。
高速アクセスメモリと対応表とを備えることに留意され
たい。直接対応機構の場合、あるワードの論理アドレス
内で上位ビットから下位ビット側に向かって、基本的に
三つのフィールドがある。すなわち、ラベルと呼ばれる
第一フィールドA1と、インデックスと呼ばれる第二フ
ィールドA2と、このワードを含むデータブロック内の
ワードのアドレスと呼ばれる第三フィールドA3であ
る。通常、第一及び第二フィールドはブロックB1の論
理アドレスを構成する。インデックスA1は、本来これ
ら二つの値を含む対応表のある一つの行を指す。第一の
値は、このインデックスにより物理イメージが高速アク
セスメモリ内に直接アドレスされるブロックB2のラベ
ルA1’である。第二の値は、ブロックB2がプロセッ
サに占有されているか、別のプロセッサにより共有され
ているか、また後者の場合、その内容は有効であるか又
は他のプロセッサにより変更されたかどうかを示すステ
ータスコードである。
【0019】ブロックB1のラベルA1がブロックB2
のラベルA1’と等しく、かつステータスコードが占有
又は有効な内容を示している場合には、ブロックB2
は、高速アクセスメモリ内に物理的に含まれたブロック
B1でしかなく、プロセッサは、論理アドレスの第二及
び第三フィールドを使用して高速アクセスメモリ内にワ
ードを物理的にアドレスすることにより、このブロック
内に含まれているワードを直接処理することができる。
ステータスコードが共有を示している場合には、キャッ
シュメモリ機構は、ブロックB1のアドレスに変更を示
すために信号S1をバス7に送信し、その結果、このブ
ロックを共有するキャッシュメモリ内でこのブロックの
ステータスコードが変更される。
のラベルA1’と等しく、かつステータスコードが占有
又は有効な内容を示している場合には、ブロックB2
は、高速アクセスメモリ内に物理的に含まれたブロック
B1でしかなく、プロセッサは、論理アドレスの第二及
び第三フィールドを使用して高速アクセスメモリ内にワ
ードを物理的にアドレスすることにより、このブロック
内に含まれているワードを直接処理することができる。
ステータスコードが共有を示している場合には、キャッ
シュメモリ機構は、ブロックB1のアドレスに変更を示
すために信号S1をバス7に送信し、その結果、このブ
ロックを共有するキャッシュメモリ内でこのブロックの
ステータスコードが変更される。
【0020】ブロックB1のラベルA1がブロックB2
のラベルA1’とは異なる場合、あるいはステータスコ
ードが分割又は変更された内容を示している場合には、
プロセッサは、論理アドレスの第二及び第三フィールド
を使用して高速アクセスメモリ内にワードを物理的にア
ドレスすることにより、このブロック内に含まれている
ワードを直接処理することはできない。ステータスコー
ドが占有を示している場合には、キャッシュメモリ機構
は、キャッシュメモリ内の、インデックスA2により指
示された物理アドレスに場所を開放するように、共有メ
モリへのブロックB2の書き込み要求Q2を送信し、次
に、キャッシュメモリ内の、インデックスA2により指
示された物理アドレスにブロックB1をロードするよう
に、共有メモリからのブロックB1の読み出し要求Q1
を送信する。そうでなければ、キャッシュメモリ機構
は、キャッシュメモリ内でインデックスA2により指示
された物理アドレスにブロックB1をロードするよう
に、共有メモリからのブロックB1の読み出し要求Q1
を送信する。
のラベルA1’とは異なる場合、あるいはステータスコ
ードが分割又は変更された内容を示している場合には、
プロセッサは、論理アドレスの第二及び第三フィールド
を使用して高速アクセスメモリ内にワードを物理的にア
ドレスすることにより、このブロック内に含まれている
ワードを直接処理することはできない。ステータスコー
ドが占有を示している場合には、キャッシュメモリ機構
は、キャッシュメモリ内の、インデックスA2により指
示された物理アドレスに場所を開放するように、共有メ
モリへのブロックB2の書き込み要求Q2を送信し、次
に、キャッシュメモリ内の、インデックスA2により指
示された物理アドレスにブロックB1をロードするよう
に、共有メモリからのブロックB1の読み出し要求Q1
を送信する。そうでなければ、キャッシュメモリ機構
は、キャッシュメモリ内でインデックスA2により指示
された物理アドレスにブロックB1をロードするよう
に、共有メモリからのブロックB1の読み出し要求Q1
を送信する。
【0021】図2は、装置6の第一レベルの詳細、なら
びにフィールドA1及びA2で構成されるブロックのア
ドレスが信号S1、要求Q1又はQ2に結合されて、バ
ス7上を流れる時に使われるハードウェア及び論理要素
を示す図である。RCCと呼ばれる装置6は、LMDと
呼ばれるテーブル8と、RCTと呼ばれるテーブル9
と、レジスタ18と、レジスタ19とを備える。ブロッ
クのアドレスも三つのフィールドA4〜A6、又は二つ
のフィールドA7及びA8で共有される。フィールドA
4はフィールドA5よりも上位のビットで構成され、フ
ィールドA6はフィールドA5よりも下位のビットで構
成される。フィールドA8は下位のビットで構成され、
フィールドA7は、フィールドA4を包含するように、
フィールドA4のビット数よりも多い数の上位ビットで
構成される。フィールドA4〜A8の有用性は以下の記
載において明らかになろう。フィールドA4〜A8の値
に応じたレジスタ18及び19への書き込みロジック
は、論理関数が処理されるセルにより表わされる。同一
項を含み、一方には頭に=記号が付き、他方には頭に≠
が付いた各対のセルは比較器を表わし、その結果により
下流側の論理段が起動する。各レジスタ18及び19に
は、一対のセルで象徴的に示す信号の二つの可能な状態
のうちのいずれかが書き込まれる。上記したロジック
は、装置6専用のマイクロプロセッサを使用することに
より実行することができる。ハードウェア回路でこのロ
ジックを実現することにより、実行速度は向上する。モ
ジュール10に対しローカルとみなされ、モジュール2
0、40、60に対しリモートとみなされる装置6につ
いて図2を参照して行った記載は、循環置換により符号
を置き換えることにより、とくに、モジュールに応じ
て、循環置換により8を28、48又は68に、9を2
9、49又は69に置き換えることにより、装置26、
46、66についても当てはまる。
びにフィールドA1及びA2で構成されるブロックのア
ドレスが信号S1、要求Q1又はQ2に結合されて、バ
ス7上を流れる時に使われるハードウェア及び論理要素
を示す図である。RCCと呼ばれる装置6は、LMDと
呼ばれるテーブル8と、RCTと呼ばれるテーブル9
と、レジスタ18と、レジスタ19とを備える。ブロッ
クのアドレスも三つのフィールドA4〜A6、又は二つ
のフィールドA7及びA8で共有される。フィールドA
4はフィールドA5よりも上位のビットで構成され、フ
ィールドA6はフィールドA5よりも下位のビットで構
成される。フィールドA8は下位のビットで構成され、
フィールドA7は、フィールドA4を包含するように、
フィールドA4のビット数よりも多い数の上位ビットで
構成される。フィールドA4〜A8の有用性は以下の記
載において明らかになろう。フィールドA4〜A8の値
に応じたレジスタ18及び19への書き込みロジック
は、論理関数が処理されるセルにより表わされる。同一
項を含み、一方には頭に=記号が付き、他方には頭に≠
が付いた各対のセルは比較器を表わし、その結果により
下流側の論理段が起動する。各レジスタ18及び19に
は、一対のセルで象徴的に示す信号の二つの可能な状態
のうちのいずれかが書き込まれる。上記したロジック
は、装置6専用のマイクロプロセッサを使用することに
より実行することができる。ハードウェア回路でこのロ
ジックを実現することにより、実行速度は向上する。モ
ジュール10に対しローカルとみなされ、モジュール2
0、40、60に対しリモートとみなされる装置6につ
いて図2を参照して行った記載は、循環置換により符号
を置き換えることにより、とくに、モジュールに応じ
て、循環置換により8を28、48又は68に、9を2
9、49又は69に置き換えることにより、装置26、
46、66についても当てはまる。
【0022】バス7上を信号S1、要求Q1又は要求Q
2が通過するのを装置6が検出した時には、論理アドレ
スのフィールドA4内に含まれる上位ビットが、モジュ
ール10に対しローカルなメモリ5’内に当該ブロック
が物理的に常駐していることを示している場合には、装
置はそのテーブル8を使用してキャッシュメモリ機構に
より当該ブロックを処理し、ラベルの上位ビットが、リ
モートモジュール20、40又は60のうちのいずれか
に当該ブロックが物理的に常駐していることを示してい
る場合には、そのテーブル9を使用してキャッシュメモ
リ機構により該ブロックを処理する。
2が通過するのを装置6が検出した時には、論理アドレ
スのフィールドA4内に含まれる上位ビットが、モジュ
ール10に対しローカルなメモリ5’内に当該ブロック
が物理的に常駐していることを示している場合には、装
置はそのテーブル8を使用してキャッシュメモリ機構に
より当該ブロックを処理し、ラベルの上位ビットが、リ
モートモジュール20、40又は60のうちのいずれか
に当該ブロックが物理的に常駐していることを示してい
る場合には、そのテーブル9を使用してキャッシュメモ
リ機構により該ブロックを処理する。
【0023】テーブル8は、ラベルの上位ビットに続く
論理アドレスのフィールドA5を構成するm個のビット
によりインデックスされる。数mの値によりテーブル8
のサイズが直接定まる。テーブルの行数は2mに等し
い。テーブル8の各行は、一つ又は複数のリモートモジ
ュールとの間で共有されるブロックの論理アドレスのフ
ィールドA6及びステータスコードS2を構成する下位
ビットを含む。ステータスコードS2はたとえば、存在
ビット及び状態ビットから成る多重項である。フィール
ドA5及びA6により参照されるブロックが常駐するモ
ジュール10に対しリモートな各モジュール20、4
0、60には、このブロックの前記リモートモジュール
20、40、60との共有の有無を示す存在ビットが付
与される。一つ又は複数の状態ビットは、ブロックがリ
モートモジュールにより変更されるかどうかを示す。あ
る所与の時点において、一つのモジュールのみが、ブロ
ックの最新バージョンとなる変更コピーを有する場合、
すなわち、ステータスコードS2が変更を示している場
合、このブロックのリモートモジュールとの共有を示す
存在ビットは一つしかなく、それは、最新バージョンを
含むモジュールに付与されたビットである。モジュール
10内のブロックのコピーは更新されなくなり、他のモ
ジュール内のブロックのコピーは無効である。ステータ
スコードS2が変更を示していない場合、モジュール1
0がブロックの最新コピーを有し、存在ビットが立って
いるモジュールは全て、モジュール10と共有されるブ
ロックの最新コピーを有することを意味する。リモート
モジュールとの共有が存在することを示す存在ビットが
ない場合、ブロックの最新コピーはモジュール10内に
ある。実際、必要であれば、別のブロックを参照するた
めに、対応するテーブル8の行を利用することができ
る。ここでは、ブロックの論理アドレスの下位ビット
は、上記のm個のビットに続くビットであり、その結
果、フィールドA4、A5、A6のリンクはフィールド
A1及びA2のリンクを含む。フィールドA5及びA6
により、メモリ5’で構成されるローカルメモリ内にブ
ロックを物理的にアドレスすることができる。
論理アドレスのフィールドA5を構成するm個のビット
によりインデックスされる。数mの値によりテーブル8
のサイズが直接定まる。テーブルの行数は2mに等し
い。テーブル8の各行は、一つ又は複数のリモートモジ
ュールとの間で共有されるブロックの論理アドレスのフ
ィールドA6及びステータスコードS2を構成する下位
ビットを含む。ステータスコードS2はたとえば、存在
ビット及び状態ビットから成る多重項である。フィール
ドA5及びA6により参照されるブロックが常駐するモ
ジュール10に対しリモートな各モジュール20、4
0、60には、このブロックの前記リモートモジュール
20、40、60との共有の有無を示す存在ビットが付
与される。一つ又は複数の状態ビットは、ブロックがリ
モートモジュールにより変更されるかどうかを示す。あ
る所与の時点において、一つのモジュールのみが、ブロ
ックの最新バージョンとなる変更コピーを有する場合、
すなわち、ステータスコードS2が変更を示している場
合、このブロックのリモートモジュールとの共有を示す
存在ビットは一つしかなく、それは、最新バージョンを
含むモジュールに付与されたビットである。モジュール
10内のブロックのコピーは更新されなくなり、他のモ
ジュール内のブロックのコピーは無効である。ステータ
スコードS2が変更を示していない場合、モジュール1
0がブロックの最新コピーを有し、存在ビットが立って
いるモジュールは全て、モジュール10と共有されるブ
ロックの最新コピーを有することを意味する。リモート
モジュールとの共有が存在することを示す存在ビットが
ない場合、ブロックの最新コピーはモジュール10内に
ある。実際、必要であれば、別のブロックを参照するた
めに、対応するテーブル8の行を利用することができ
る。ここでは、ブロックの論理アドレスの下位ビット
は、上記のm個のビットに続くビットであり、その結
果、フィールドA4、A5、A6のリンクはフィールド
A1及びA2のリンクを含む。フィールドA5及びA6
により、メモリ5’で構成されるローカルメモリ内にブ
ロックを物理的にアドレスすることができる。
【0024】フィールドA5のm個のビットによりイン
デックスされる行が、処理されたブロックの行とは異な
るアドレスの値を含む場合には、モジュール10以外の
モジュールはそこにアクセスしないことを意味する。そ
の場合、ブロックの処理はモジュール10に対し依然ロ
ーカルであり、メモリ5’、及び場合によっては専用キ
ャッシュメモリ11〜14内での更新で十分であるた
め、テーブル8内にディレクトリは必要ではない。装置
6は、リモートモジュールとの間でトランザクションを
行うことなくローカルヒットを示すために、ローカルヒ
ット信号LHを発生する。信号LHはレジスタ18に書
き込まれる。ステータスコードS2のいずれのビット
も、リモートモジュールとの間の共有を示さない場合も
同様である。
デックスされる行が、処理されたブロックの行とは異な
るアドレスの値を含む場合には、モジュール10以外の
モジュールはそこにアクセスしないことを意味する。そ
の場合、ブロックの処理はモジュール10に対し依然ロ
ーカルであり、メモリ5’、及び場合によっては専用キ
ャッシュメモリ11〜14内での更新で十分であるた
め、テーブル8内にディレクトリは必要ではない。装置
6は、リモートモジュールとの間でトランザクションを
行うことなくローカルヒットを示すために、ローカルヒ
ット信号LHを発生する。信号LHはレジスタ18に書
き込まれる。ステータスコードS2のいずれのビット
も、リモートモジュールとの間の共有を示さない場合も
同様である。
【0025】フィールドA5のm個のビットによりイン
デックスされるテーブル8の行が、処理されたブロック
のアドレスの値に等しいアドレスの値A6を含み、ステ
ータスコードの少なくとも一つのビットが共有を示す場
合、モジュール10以外のモジュール、たとえばモジュ
ール20が前回そこにアクセスしたことを意味する。従
ってブロックの処理は、リモートモジュール20による
前回のアクセスとこのブロックに関する処理とによって
異なる。ステータスコードS2が、ブロックは現在、共
有使用状態であるとした場合には、装置6は、リモート
モジュール20との間でトランザクションを行う必要が
あるかどうかを判定する。
デックスされるテーブル8の行が、処理されたブロック
のアドレスの値に等しいアドレスの値A6を含み、ステ
ータスコードの少なくとも一つのビットが共有を示す場
合、モジュール10以外のモジュール、たとえばモジュ
ール20が前回そこにアクセスしたことを意味する。従
ってブロックの処理は、リモートモジュール20による
前回のアクセスとこのブロックに関する処理とによって
異なる。ステータスコードS2が、ブロックは現在、共
有使用状態であるとした場合には、装置6は、リモート
モジュール20との間でトランザクションを行う必要が
あるかどうかを判定する。
【0026】ステータスコードS2が、ブロックがリモ
ートモジュールにより変更されたことを示している場
合、ブロックの有効コピーをモジュール10内の常駐物
理メモリ内に戻すために、読み出し要求Q1は、この有
効コピーを有するリモートモジュールとのトランザクシ
ョンを必要とし、従って装置6は、ローカル誤りを知ら
せるためにローカル誤り信号LMを発生する。これには
リモートモジュールとの少なくとも一回のトランザクシ
ョンが伴う。信号LMはレジスタ18に書き込まれ、次
に装置6は、トランザクションを行うために、コードS
2を非変更状態に更新する。
ートモジュールにより変更されたことを示している場
合、ブロックの有効コピーをモジュール10内の常駐物
理メモリ内に戻すために、読み出し要求Q1は、この有
効コピーを有するリモートモジュールとのトランザクシ
ョンを必要とし、従って装置6は、ローカル誤りを知ら
せるためにローカル誤り信号LMを発生する。これには
リモートモジュールとの少なくとも一回のトランザクシ
ョンが伴う。信号LMはレジスタ18に書き込まれ、次
に装置6は、トランザクションを行うために、コードS
2を非変更状態に更新する。
【0027】ステータスコードS2が、ブロックがリモ
ートモジュールにより変更されたことを示していない場
合、モジュール10はブロックの有効コピーを有するの
で、読み出し要求Q1は、リモートモジュールとのトラ
ンザクションを必要とせず、従って装置6は、ローカル
ヒット信号LHを発生する。一方、ブロックの変更信号
S1又は書き込み要求Q2は、コードS2のビットが存
在を示す各リモートモジュールとのトランザクションを
必要とし、各リモートモジュールが有するブロックのコ
ピーが有効でないことをリモートモジュールに知らせ
る。従って装置6は、ローカル誤り信号LMを発生す
る。
ートモジュールにより変更されたことを示していない場
合、モジュール10はブロックの有効コピーを有するの
で、読み出し要求Q1は、リモートモジュールとのトラ
ンザクションを必要とせず、従って装置6は、ローカル
ヒット信号LHを発生する。一方、ブロックの変更信号
S1又は書き込み要求Q2は、コードS2のビットが存
在を示す各リモートモジュールとのトランザクションを
必要とし、各リモートモジュールが有するブロックのコ
ピーが有効でないことをリモートモジュールに知らせ
る。従って装置6は、ローカル誤り信号LMを発生す
る。
【0028】ここでは、再書き込み(write back)キャ
ッシュメモリ機構を使用しての信号LH及びLMの発生
について説明した。同時書き込み(write through)キ
ャッシュメモリ機構を使用する場合、モジュール10が
ブロックの最新コピーを有し、従って装置6は信号LH
を発生するので、要求Q1はトランザクションを必要と
しないが、要求Q2又は信号S1は、リモートモジュー
ル20内でブロックのコピーを更新し、装置6は信号L
Mを発生するので、少なくとも一つのこのようなモジュ
ールとのトランザクションを必要とすることを理解され
たい。
ッシュメモリ機構を使用しての信号LH及びLMの発生
について説明した。同時書き込み(write through)キ
ャッシュメモリ機構を使用する場合、モジュール10が
ブロックの最新コピーを有し、従って装置6は信号LH
を発生するので、要求Q1はトランザクションを必要と
しないが、要求Q2又は信号S1は、リモートモジュー
ル20内でブロックのコピーを更新し、装置6は信号L
Mを発生するので、少なくとも一つのこのようなモジュ
ールとのトランザクションを必要とすることを理解され
たい。
【0029】テーブル9は、フィールドA8を構成する
論理アドレスのn個の下位ビットによりインデックスさ
れる。数nの値によりテーブル9のサイズが直接定ま
る。テーブルの行数は2nに等しい。テーブル9の各行
はステータスコードS3と、フィールドA8によりキャ
ッシュメモリ15内で直接インデックスされるブロック
のコピーを参照する論理アドレスのフィールドA7とを
含む。従って、キャッシュメモリ15のサイズは2nブ
ロックである。ステータスコードS3はたとえば、フィ
ールドA8によりテーブル9内で参照されるブロックの
状態を示す三つの状態Inv、Sha、Modをコード
化するための二つのビットで構成される。状態Inv
は、参照されたブロックが無効であること、すなわち参
照されたブロックが、リモートモジュール20、40又
は60により変更されたことを示す。状態Shaは、参
照されたブロックが少なくとも一つのリモートモジュー
ル20、40、60により共有されていることを示す。
状態Modは、参照されたブロックがローカルモジュー
ル10により変更され、キャッシュメモリ15内のその
コピーが最新であることを示す。
論理アドレスのn個の下位ビットによりインデックスさ
れる。数nの値によりテーブル9のサイズが直接定ま
る。テーブルの行数は2nに等しい。テーブル9の各行
はステータスコードS3と、フィールドA8によりキャ
ッシュメモリ15内で直接インデックスされるブロック
のコピーを参照する論理アドレスのフィールドA7とを
含む。従って、キャッシュメモリ15のサイズは2nブ
ロックである。ステータスコードS3はたとえば、フィ
ールドA8によりテーブル9内で参照されるブロックの
状態を示す三つの状態Inv、Sha、Modをコード
化するための二つのビットで構成される。状態Inv
は、参照されたブロックが無効であること、すなわち参
照されたブロックが、リモートモジュール20、40又
は60により変更されたことを示す。状態Shaは、参
照されたブロックが少なくとも一つのリモートモジュー
ル20、40、60により共有されていることを示す。
状態Modは、参照されたブロックがローカルモジュー
ル10により変更され、キャッシュメモリ15内のその
コピーが最新であることを示す。
【0030】フィールドA8のn個のビットによりイン
デックスされるテーブル9の行が、処理されたブロック
のフィールド値に等しいフィールド値A’7を含む場
合、モジュール10以外のモジュール、たとえばモジュ
ール20が、プロセッサ1〜4に共通のキャッシュメモ
リ15内にコピーされたことを意味する。キャッシュメ
モリのサイズは、テーブル9内で参照された2n個のブ
ロックを格納するように選択される。テーブル9のサイ
ズはnの値を選択することによりパラメータ化すること
が可能であるので、キャッシュメモリ15のサイズも同
様のことが言える。このパラメータ化可能性を実現する
有利な手段は、メモリ5から専用アドレシング領域を取
り出し、それをキャッシュメモリ15に割り当てること
である。従って、メモリ25、45、65内の専用アド
レシング領域をキャッシュメモリ35、55、75に割
り当てるために、この手段が各リモートモジュール2
0、40、60に適用される。メモリ5、25、45、
65と比較し、キャッシュメモリ15、35、55、7
5のサイズは小さいため、この手段では、全モジュール
に共通なメモリのサイズはあまり小さくならない。
デックスされるテーブル9の行が、処理されたブロック
のフィールド値に等しいフィールド値A’7を含む場
合、モジュール10以外のモジュール、たとえばモジュ
ール20が、プロセッサ1〜4に共通のキャッシュメモ
リ15内にコピーされたことを意味する。キャッシュメ
モリのサイズは、テーブル9内で参照された2n個のブ
ロックを格納するように選択される。テーブル9のサイ
ズはnの値を選択することによりパラメータ化すること
が可能であるので、キャッシュメモリ15のサイズも同
様のことが言える。このパラメータ化可能性を実現する
有利な手段は、メモリ5から専用アドレシング領域を取
り出し、それをキャッシュメモリ15に割り当てること
である。従って、メモリ25、45、65内の専用アド
レシング領域をキャッシュメモリ35、55、75に割
り当てるために、この手段が各リモートモジュール2
0、40、60に適用される。メモリ5、25、45、
65と比較し、キャッシュメモリ15、35、55、7
5のサイズは小さいため、この手段では、全モジュール
に共通なメモリのサイズはあまり小さくならない。
【0031】次に、装置6は、テーブル9内で参照され
たブロック、すなわち信号S1又は要求Q1又はQ2に
より処理されたブロックのステータスコードS3を調べ
る。ステータスコードS3が、ブロックは無効であるこ
とを示している場合には、装置6は、後述するように、
フィールドA8のn個のビットによりインデックスされ
る行が、処理されたブロックのフィールド値と異なるフ
ィールド値A’7を含む場合と同じトランザクション及
び同じ信号を発生する。
たブロック、すなわち信号S1又は要求Q1又はQ2に
より処理されたブロックのステータスコードS3を調べ
る。ステータスコードS3が、ブロックは無効であるこ
とを示している場合には、装置6は、後述するように、
フィールドA8のn個のビットによりインデックスされ
る行が、処理されたブロックのフィールド値と異なるフ
ィールド値A’7を含む場合と同じトランザクション及
び同じ信号を発生する。
【0032】ステータスコードS3が、ブロックが別の
モジュールに共有されていないことを示している場合に
は、リモートモジュールとのトランザクションは一切必
要なく、装置6は、リモートモジュールとのトランザク
ションなしのリモートヒットを知らせるために、リモー
トヒット信号RHを発生する。
モジュールに共有されていないことを示している場合に
は、リモートモジュールとのトランザクションは一切必
要なく、装置6は、リモートモジュールとのトランザク
ションなしのリモートヒットを知らせるために、リモー
トヒット信号RHを発生する。
【0033】テーブル9内のステータスコードが、ブロ
ックは現在、共有使用状態であることを示す場合には、
装置6は、リモートモジュール20との間でトランザク
ションを行う必要があるかどうかを判定する。信号S1
に関しては、ブロックが常駐しているモジュール20の
ステータスコードS2に、ブロックが変更されることを
書き込み、キャッシュメモリ55、75内にブロックの
コピーを有するモジュール40又は60のステータスコ
ードS3に、ブロックが無効であることを書き込むため
にトランザクションが必要であり、従って装置6は、リ
モートモジュールとの間で少なくとも一つのトランザク
ションが開始されたリモート誤りを知らせるために、リ
モート誤り信号RMを発生する。装置6は、ブロックが
変更されることを、そのステータスコードS3内で宣言
する。モジュール10に対しリモートであるメモリへの
再書き込み要求Q2に関しては、トランザクションは一
切必要でなく、装置6はリモートヒット信号RHを発生
する。読み出し要求Q1に関しては、テーブル9内のス
テータスコードS3が、モジュール10内のブロックの
内容が有効であることを示している場合には、トランザ
クションは一切必要でなく、従って装置6はリモートヒ
ット信号RHを発生するが、テーブル9内のステータス
コードS3が、モジュール10内のブロックの内容が無
効であることを示している場合には、モジュール10内
のブロックの内容を更新するためにトランザクションが
必要であり、従って装置6はリモート誤り信号RMを発
生し、トランザクションの終了時に、ブロックはそのス
テータスコードS3内で有効であると宣言する。ここで
は、再書き込み(write back)キャッシュメモリ機構を
使用しての信号RH及びRMの発生について説明した。
同時書き込み(write through)のキャッシュメモリ機
構を使用する場合は、前記ロジックを修正するだけでよ
く、その結果、信号S1及び要求Q2が、リモートモジ
ュールとのトランザクションを必要とするようになり、
モジュール20、40、60内でブロックが再更新さ
れ、モジュール6は信号RMを発生するようになり、ま
た、その結果、ブロックの内容は必ず再更新されるの
で、要求Q1はトランザクションを必要としない。
ックは現在、共有使用状態であることを示す場合には、
装置6は、リモートモジュール20との間でトランザク
ションを行う必要があるかどうかを判定する。信号S1
に関しては、ブロックが常駐しているモジュール20の
ステータスコードS2に、ブロックが変更されることを
書き込み、キャッシュメモリ55、75内にブロックの
コピーを有するモジュール40又は60のステータスコ
ードS3に、ブロックが無効であることを書き込むため
にトランザクションが必要であり、従って装置6は、リ
モートモジュールとの間で少なくとも一つのトランザク
ションが開始されたリモート誤りを知らせるために、リ
モート誤り信号RMを発生する。装置6は、ブロックが
変更されることを、そのステータスコードS3内で宣言
する。モジュール10に対しリモートであるメモリへの
再書き込み要求Q2に関しては、トランザクションは一
切必要でなく、装置6はリモートヒット信号RHを発生
する。読み出し要求Q1に関しては、テーブル9内のス
テータスコードS3が、モジュール10内のブロックの
内容が有効であることを示している場合には、トランザ
クションは一切必要でなく、従って装置6はリモートヒ
ット信号RHを発生するが、テーブル9内のステータス
コードS3が、モジュール10内のブロックの内容が無
効であることを示している場合には、モジュール10内
のブロックの内容を更新するためにトランザクションが
必要であり、従って装置6はリモート誤り信号RMを発
生し、トランザクションの終了時に、ブロックはそのス
テータスコードS3内で有効であると宣言する。ここで
は、再書き込み(write back)キャッシュメモリ機構を
使用しての信号RH及びRMの発生について説明した。
同時書き込み(write through)のキャッシュメモリ機
構を使用する場合は、前記ロジックを修正するだけでよ
く、その結果、信号S1及び要求Q2が、リモートモジ
ュールとのトランザクションを必要とするようになり、
モジュール20、40、60内でブロックが再更新さ
れ、モジュール6は信号RMを発生するようになり、ま
た、その結果、ブロックの内容は必ず再更新されるの
で、要求Q1はトランザクションを必要としない。
【0034】n個のビットによりインデックスされる行
が、処理されたブロックの行とは異なるアドレスの値を
含む場合には、テーブル9をインデックスすることによ
りキャッシュメモリ15内に論理的にアドレスされるブ
ロックは処理されたブロックとは異なることを意味す
る。その場合、テーブル9内で参照されたブロックを、
処理されたブロックに置き換える必要がある。従って装
置6は信号RHを発生する。この場合、装置6は、キャ
ッシュメモリ15内で、テーブルされるブロックが処理
されたブロックに置き換えられたことを示す信号S4も
発生する。テーブル9はもはやそのコヒーレンスを確保
することができないので、キャッシュメモリ15内でテ
ーブルされるブロックを専用キャッシュメモリ11〜1
4内で無効化するために、信号S4がバス7に送信され
る。装置6はまた、常駐モジュールの装置26、46又
は66に、装置がブロックを参照することを止める旨を
知らせる。その結果、装置26、46又は66は、ブロ
ックが参照されていたテーブル28、48又は68の行
内のモジュール10に相当する存在ビットを下げる。次
に装置6は、リモートモジュール20、40又は60と
のトランザクションにより、テーブル9の再更新を行
い、処理されたブロックを、テーブル9をインデックス
することによりキャッシュメモリ15内に論理的にアド
レスされる物理的ロケーションに戻す。トランザクショ
ンは主に、ブロックの常駐リモートモジュール20、4
0又は60に読み出し要求を送信することから成る。説
明を簡単にするために、たとえばブロックの常駐モジュ
ールがモジュール20であるとみなすことにする。
が、処理されたブロックの行とは異なるアドレスの値を
含む場合には、テーブル9をインデックスすることによ
りキャッシュメモリ15内に論理的にアドレスされるブ
ロックは処理されたブロックとは異なることを意味す
る。その場合、テーブル9内で参照されたブロックを、
処理されたブロックに置き換える必要がある。従って装
置6は信号RHを発生する。この場合、装置6は、キャ
ッシュメモリ15内で、テーブルされるブロックが処理
されたブロックに置き換えられたことを示す信号S4も
発生する。テーブル9はもはやそのコヒーレンスを確保
することができないので、キャッシュメモリ15内でテ
ーブルされるブロックを専用キャッシュメモリ11〜1
4内で無効化するために、信号S4がバス7に送信され
る。装置6はまた、常駐モジュールの装置26、46又
は66に、装置がブロックを参照することを止める旨を
知らせる。その結果、装置26、46又は66は、ブロ
ックが参照されていたテーブル28、48又は68の行
内のモジュール10に相当する存在ビットを下げる。次
に装置6は、リモートモジュール20、40又は60と
のトランザクションにより、テーブル9の再更新を行
い、処理されたブロックを、テーブル9をインデックス
することによりキャッシュメモリ15内に論理的にアド
レスされる物理的ロケーションに戻す。トランザクショ
ンは主に、ブロックの常駐リモートモジュール20、4
0又は60に読み出し要求を送信することから成る。説
明を簡単にするために、たとえばブロックの常駐モジュ
ールがモジュール20であるとみなすことにする。
【0035】図3は、装置6、26、46、66の第二
レベルの詳細、ならびにフィールドA1及びA2で構成
されるブロックのアドレスが、他のモジュールからリン
ク17、37、57、77を介して、このブロックの常
駐モジュールに到達する時に使われるハードウェア及び
論理要素を示す図である。図2に関する説明は図3につ
いても当てはまる。とくに、図3に示した符号は、以下
の記載を分りやすくするための装置26のものである。
レベルの詳細、ならびにフィールドA1及びA2で構成
されるブロックのアドレスが、他のモジュールからリン
ク17、37、57、77を介して、このブロックの常
駐モジュールに到達する時に使われるハードウェア及び
論理要素を示す図である。図2に関する説明は図3につ
いても当てはまる。とくに、図3に示した符号は、以下
の記載を分りやすくするための装置26のものである。
【0036】処理されたブロックがテーブル28に格納
される場合、ブロックがモジュール10により共有され
ることを示すために、そのステータスコードS2が更新
される。処理されたブロックを格納するテーブル28の
行において、ステータスコードS2が、別のモジュール
40、60によってはブロックが変更されないことを示
している場合には、装置26はブロックのコピーを装置
6に送信する。このコピーは、メモリ25の中、又はキ
ャッシュメモリ31〜34のうちの一つの中を読むこと
により得られる。ステータスコードが、ブロックが変更
されていることを示している場合、装置26は、ブロッ
クの最新バージョンを有するモジュール40、60の装
置に読み出し要求を送信する。最新のコピーを有する装
置46、66は、ブロックのコピーをモジュール10の
装置6及びモジュール20の装置26に送信する。装置
26は、そのローカルメモリ25’及び共有状態のコー
ドS2を再更新する。装置6は、共有非変更ステータス
コードで、テーブル9内のブロックのテーブルを作成
し、ブロックをキャッシュメモリ15内に書き込む。次
に装置6は、肯定応答を装置26に送信する。装置は、
そのステータスコードS2に、モジュール10との共有
を付加する。
される場合、ブロックがモジュール10により共有され
ることを示すために、そのステータスコードS2が更新
される。処理されたブロックを格納するテーブル28の
行において、ステータスコードS2が、別のモジュール
40、60によってはブロックが変更されないことを示
している場合には、装置26はブロックのコピーを装置
6に送信する。このコピーは、メモリ25の中、又はキ
ャッシュメモリ31〜34のうちの一つの中を読むこと
により得られる。ステータスコードが、ブロックが変更
されていることを示している場合、装置26は、ブロッ
クの最新バージョンを有するモジュール40、60の装
置に読み出し要求を送信する。最新のコピーを有する装
置46、66は、ブロックのコピーをモジュール10の
装置6及びモジュール20の装置26に送信する。装置
26は、そのローカルメモリ25’及び共有状態のコー
ドS2を再更新する。装置6は、共有非変更ステータス
コードで、テーブル9内のブロックのテーブルを作成
し、ブロックをキャッシュメモリ15内に書き込む。次
に装置6は、肯定応答を装置26に送信する。装置は、
そのステータスコードS2に、モジュール10との共有
を付加する。
【0037】処理されたブロックがテーブル28に格納
されない場合、装置26は、テーブルに格納されたブロ
ックが、処理されたブロックに置き換えられることを示
すために、信号S5を発生する。テーブルに格納された
ブロックのステータスコードS2が、モジュール10、
40、60によりブロックが変更されたことを示してい
る場合、装置26は、ブロックの最新バージョンを有す
るモジュール10、40、60の装置に読み出し要求を
送信する。ブロックのコピーが変更されていることを参
照ブロックのコードS3が示す装置6、46、66は、
モジュール20の装置26にブロックのコピーを送信
し、ローカルメモリ25’を再更新する。テーブル9、
49、69の行でブロックを参照する一つ又は複数の装
置6、46、66に、信号S5が送信され、その結果、
各々は、無効状態でコードS3を更新する。次に装置2
6は、ブロックが、変更されていないモジュール10と
の間で共有されることを示すステータスコードS2で、
テーブル28内で処理ブロックのテーブルを作成する。
最後に装置26は、処理されたブロックの内容を装置6
に送信し、装置は、非無効化され共有され変更されてい
ないステータスコードで、テーブル9内のブロックのテ
ーブルを作成し、ブロックをキャッシュメモリ15に書
き込む。テーブル28に格納されたブロックのステータ
スコードS2が、ブロックが変更されたことを示してい
ない場合、信号S5が一つ又は複数の装置6、46、6
6に送信され、装置はそのテーブル9、49、69の行
でブロックを参照し、その結果、各々は無効状態でコー
ドS3を更新する。次に装置26は、ブロックが、変更
されていないモジュール10との間で共有されることを
示すステータスコードS2で、テーブル28内で処理ブ
ロックのテーブルを作成する。最後に装置26は、処理
されたブロックの内容を装置6に送信し、装置は、非無
効化され共有され変更されていないステータスコード
で、テーブル9内のブロックのテーブルを作成し、ブロ
ックをキャッシュメモリ15に書き込む。
されない場合、装置26は、テーブルに格納されたブロ
ックが、処理されたブロックに置き換えられることを示
すために、信号S5を発生する。テーブルに格納された
ブロックのステータスコードS2が、モジュール10、
40、60によりブロックが変更されたことを示してい
る場合、装置26は、ブロックの最新バージョンを有す
るモジュール10、40、60の装置に読み出し要求を
送信する。ブロックのコピーが変更されていることを参
照ブロックのコードS3が示す装置6、46、66は、
モジュール20の装置26にブロックのコピーを送信
し、ローカルメモリ25’を再更新する。テーブル9、
49、69の行でブロックを参照する一つ又は複数の装
置6、46、66に、信号S5が送信され、その結果、
各々は、無効状態でコードS3を更新する。次に装置2
6は、ブロックが、変更されていないモジュール10と
の間で共有されることを示すステータスコードS2で、
テーブル28内で処理ブロックのテーブルを作成する。
最後に装置26は、処理されたブロックの内容を装置6
に送信し、装置は、非無効化され共有され変更されてい
ないステータスコードで、テーブル9内のブロックのテ
ーブルを作成し、ブロックをキャッシュメモリ15に書
き込む。テーブル28に格納されたブロックのステータ
スコードS2が、ブロックが変更されたことを示してい
ない場合、信号S5が一つ又は複数の装置6、46、6
6に送信され、装置はそのテーブル9、49、69の行
でブロックを参照し、その結果、各々は無効状態でコー
ドS3を更新する。次に装置26は、ブロックが、変更
されていないモジュール10との間で共有されることを
示すステータスコードS2で、テーブル28内で処理ブ
ロックのテーブルを作成する。最後に装置26は、処理
されたブロックの内容を装置6に送信し、装置は、非無
効化され共有され変更されていないステータスコード
で、テーブル9内のブロックのテーブルを作成し、ブロ
ックをキャッシュメモリ15に書き込む。
【0038】以上の説明は直接対応キャッシュメモリ機
構に基くものである。専用キャッシュメモリ11〜1
4、31〜34、41〜44、61〜64及びテーブル
8、9、28、29、48、49、68、69の全て又
は一部において、アソシアティブ、あるいはブロックセ
ットアソシアティブキャッシュメモリ機構など他の公知
のキャッシュメモリ機構を使用する場合、上記した方法
を実施しても、当業者には、克服できないような問題は
生じないであろう。
構に基くものである。専用キャッシュメモリ11〜1
4、31〜34、41〜44、61〜64及びテーブル
8、9、28、29、48、49、68、69の全て又
は一部において、アソシアティブ、あるいはブロックセ
ットアソシアティブキャッシュメモリ機構など他の公知
のキャッシュメモリ機構を使用する場合、上記した方法
を実施しても、当業者には、克服できないような問題は
生じないであろう。
【0039】特に、テーブル8、28、48、68で
は、ブロックセットアソシアティブ方式を使用すること
が有利である。フィールドA5を構成する同じm個のビ
ットの場合、たとえば四つのブロックの、ブロックセッ
トアソシアティブでは、直接対応と比べて、テーブル8
に関して四倍のメモリを必要とする。各行は各ステータ
スコードS2で四つのブロックを参照できるからであ
る。一方、直接対応では、フィールドA5によりインデ
ックスされる行にブロックを参照させることが必要な時
には、行が使用可能であれば問題はないが、フィールド
A6’など別のブロックへの参照行が、参照すべきブロ
ックのフィールドA6とは異なる場合には、置き換えが
必要である。行で参照されるブロックがない場合、ある
いは既に参照されたブロックのステータスコードS2
が、リモートモジュールとの共有の存在を示していない
場合には、その行は使用可能であり、その場合、このよ
うなブロックの参照は無効であるとされる。たとえば四
つのブロックの、ブロックセットアソシアティブでは、
行で参照されるブロックが四つ未満である場合、あるい
は既に参照された少なくとも一つのブロックの参照が無
効である場合には、行が使用可能であることが有利であ
る。こうすることにより、新規ブロックを参照する必要
が生じる前に既に参照されたブロックの参照が無効にな
る確率は直接対応機構と比べて増加する。行が使用不可
能であるため置き換えが必要である場合、最も古いブロ
ック上、又はステータスコードS2内に立った存在コー
ドの最小数をもつブロック上で置き換えを行うことがで
きる。これにより、置き換えられたばかりのブロックを
別のモジュールが直ちに再度、参照を要求する可能性は
低くなる。
は、ブロックセットアソシアティブ方式を使用すること
が有利である。フィールドA5を構成する同じm個のビ
ットの場合、たとえば四つのブロックの、ブロックセッ
トアソシアティブでは、直接対応と比べて、テーブル8
に関して四倍のメモリを必要とする。各行は各ステータ
スコードS2で四つのブロックを参照できるからであ
る。一方、直接対応では、フィールドA5によりインデ
ックスされる行にブロックを参照させることが必要な時
には、行が使用可能であれば問題はないが、フィールド
A6’など別のブロックへの参照行が、参照すべきブロ
ックのフィールドA6とは異なる場合には、置き換えが
必要である。行で参照されるブロックがない場合、ある
いは既に参照されたブロックのステータスコードS2
が、リモートモジュールとの共有の存在を示していない
場合には、その行は使用可能であり、その場合、このよ
うなブロックの参照は無効であるとされる。たとえば四
つのブロックの、ブロックセットアソシアティブでは、
行で参照されるブロックが四つ未満である場合、あるい
は既に参照された少なくとも一つのブロックの参照が無
効である場合には、行が使用可能であることが有利であ
る。こうすることにより、新規ブロックを参照する必要
が生じる前に既に参照されたブロックの参照が無効にな
る確率は直接対応機構と比べて増加する。行が使用不可
能であるため置き換えが必要である場合、最も古いブロ
ック上、又はステータスコードS2内に立った存在コー
ドの最小数をもつブロック上で置き換えを行うことがで
きる。これにより、置き換えられたばかりのブロックを
別のモジュールが直ちに再度、参照を要求する可能性は
低くなる。
【0040】図4は装置6の更なる詳細を示す図であ
る。レジスタ81は、マシンのメモリ空間の内部に第一
論理アドレスを格納するためのものである。レジスタ8
2は、マシンのメモリ空間の内部に第二論理アドレスを
格納するためのものである。開始アドレスと呼ばれる第
一論理アドレスは、終了アドレスと呼ばれる第二論理ア
ドレスよりも数値が小さい。装置6が、バス7又はリン
ク17から以前に認識したブロックアドレスに関するト
ランザクションを発生すると、このアドレスは、比較器
84によりレジスタ81の内容と比較され、比較器85
によりレジスタ82の内容と比較される。ブロックアド
レスがレジスタ81の内容よりも大きくかつレジスタ8
2の内容よりも小さい場合、論理回路87は、ブロック
が、前記開始アドレスと前記終了アドレスとで規定され
るマシンのメモリのウインドウに所属することを知らせ
る。
る。レジスタ81は、マシンのメモリ空間の内部に第一
論理アドレスを格納するためのものである。レジスタ8
2は、マシンのメモリ空間の内部に第二論理アドレスを
格納するためのものである。開始アドレスと呼ばれる第
一論理アドレスは、終了アドレスと呼ばれる第二論理ア
ドレスよりも数値が小さい。装置6が、バス7又はリン
ク17から以前に認識したブロックアドレスに関するト
ランザクションを発生すると、このアドレスは、比較器
84によりレジスタ81の内容と比較され、比較器85
によりレジスタ82の内容と比較される。ブロックアド
レスがレジスタ81の内容よりも大きくかつレジスタ8
2の内容よりも小さい場合、論理回路87は、ブロック
が、前記開始アドレスと前記終了アドレスとで規定され
るマシンのメモリのウインドウに所属することを知らせ
る。
【0041】以上、図2及び図3を参照して、ブロック
アドレスが認識されると、装置6の種々の論理要素は、
テーブル8及び9の内容に応じて一つ又は複数のトラン
ザクションを発生することを述べた。図が無意味に複雑
にならないようにするため、これらの論理要素は論理回
路80内に象徴的にまとめてある。論理回路87が、ブ
ロックが前記開始アドレスと前記終了アドレスとで規定
されるマシンのメモリのウインドウに所属することを知
らせれば、装置6はリンク17に対しトランザクション
の送受を行う毎に、論理回路88はカウンタ90を増分
する。
アドレスが認識されると、装置6の種々の論理要素は、
テーブル8及び9の内容に応じて一つ又は複数のトラン
ザクションを発生することを述べた。図が無意味に複雑
にならないようにするため、これらの論理要素は論理回
路80内に象徴的にまとめてある。論理回路87が、ブ
ロックが前記開始アドレスと前記終了アドレスとで規定
されるマシンのメモリのウインドウに所属することを知
らせれば、装置6はリンク17に対しトランザクション
の送受を行う毎に、論理回路88はカウンタ90を増分
する。
【0042】これにより、カウンタ90の内容は、前記
開始アドレスと前記終了アドレスとで規定されるウイン
ドウ内にアドレスされローカルモジュール10とリモー
トモジュール20、40、60とのトランザクション数
を示すデータに関する活動量を示す。この場合、前記ウ
インドウの熱を、この活動量に比例する量であると定義
する。
開始アドレスと前記終了アドレスとで規定されるウイン
ドウ内にアドレスされローカルモジュール10とリモー
トモジュール20、40、60とのトランザクション数
を示すデータに関する活動量を示す。この場合、前記ウ
インドウの熱を、この活動量に比例する量であると定義
する。
【0043】レジスタ83は、ローカルモジュール10
とリモートモジュール20、40、60とのトランザク
ション数を示すしきい値を格納するためのものである。
レジスタ83の内容がカウンタ90の内容より小さくな
ると、カウンタ91は、割り込み信号をバス7に送信す
る。
とリモートモジュール20、40、60とのトランザク
ション数を示すしきい値を格納するためのものである。
レジスタ83の内容がカウンタ90の内容より小さくな
ると、カウンタ91は、割り込み信号をバス7に送信す
る。
【0044】図5は装置6の別の詳細を示す図である。
レジスタ81は、マシンのメモリ空間の内部に第一論理
アドレスを格納するためのものである。レジスタ82
は、マシンのメモリ空間の内部に第二論理アドレスを格
納するためのものである。開始アドレスと呼ばれる第一
論理アドレスは、終了アドレスと呼ばれる第二論理アド
レスよりも数値が小さい。装置6が、バス7又はリンク
17から前回認識した、ブロックアドレスに関するトラ
ンザクションを発生すると、このアドレスは、比較器8
4によりレジスタ81の内容と比較され、比較器85に
よりレジスタ82の内容と比較される。ブロックアドレ
スがレジスタ81の内容よりも大きくかつレジスタ82
の内容よりも小さい場合、論理回路87は、ブロック
が、前記開始アドレスと前記終了アドレスとで規定され
るマシンのメモリのウインドウに所属することを知らせ
る。
レジスタ81は、マシンのメモリ空間の内部に第一論理
アドレスを格納するためのものである。レジスタ82
は、マシンのメモリ空間の内部に第二論理アドレスを格
納するためのものである。開始アドレスと呼ばれる第一
論理アドレスは、終了アドレスと呼ばれる第二論理アド
レスよりも数値が小さい。装置6が、バス7又はリンク
17から前回認識した、ブロックアドレスに関するトラ
ンザクションを発生すると、このアドレスは、比較器8
4によりレジスタ81の内容と比較され、比較器85に
よりレジスタ82の内容と比較される。ブロックアドレ
スがレジスタ81の内容よりも大きくかつレジスタ82
の内容よりも小さい場合、論理回路87は、ブロック
が、前記開始アドレスと前記終了アドレスとで規定され
るマシンのメモリのウインドウに所属することを知らせ
る。
【0045】以上、図2及び図3を参照して、ブロック
アドレスが認識されると、装置6の種々の論理要素は、
テーブル8及び9の内容に応じて一つ又は複数のトラン
ザクションを発生することを述べた。図が無意味に複雑
にならないようにするため、これらの論理要素は論理回
路80内に象徴的にまとめてある。装置6が、日付0に
ブロックアドレスを認識したことによる最新トランザク
ションTnをリンク17上で日付nに受信すると、論理
回路87が、前記開始アドレスと前記終了アドレスとで
規定されるマシンのメモリのウインドウにブロックが所
属することを知らせれば、演算ユニット92は、日付n
から日付0を減算する。すると演算ユニット92は、こ
のようにして得られた結果をカウンタ95の内容に加算
する。
アドレスが認識されると、装置6の種々の論理要素は、
テーブル8及び9の内容に応じて一つ又は複数のトラン
ザクションを発生することを述べた。図が無意味に複雑
にならないようにするため、これらの論理要素は論理回
路80内に象徴的にまとめてある。装置6が、日付0に
ブロックアドレスを認識したことによる最新トランザク
ションTnをリンク17上で日付nに受信すると、論理
回路87が、前記開始アドレスと前記終了アドレスとで
規定されるマシンのメモリのウインドウにブロックが所
属することを知らせれば、演算ユニット92は、日付n
から日付0を減算する。すると演算ユニット92は、こ
のようにして得られた結果をカウンタ95の内容に加算
する。
【0046】これにより、カウンタ95の内容は、開始
アドレスと終了アドレスとで規定されるウインドウ内に
アドレスされローカルモジュール10とリモートモジュ
ール20、40、60とのトランザクションの通算待ち
時間を示すデータに関する活動量を示す。この場合、前
記ウインドウの熱を、この活動量に比例する量であると
定義する。
アドレスと終了アドレスとで規定されるウインドウ内に
アドレスされローカルモジュール10とリモートモジュ
ール20、40、60とのトランザクションの通算待ち
時間を示すデータに関する活動量を示す。この場合、前
記ウインドウの熱を、この活動量に比例する量であると
定義する。
【0047】レジスタ93は、ローカルモジュール10
とリモートモジュール20、40、60とのトランザク
ションの通算待ち時間を示すしきい値を格納するための
ものである。レジスタ93の内容がカウンタ95の内容
より小さくなると、カウンタ94は、割り込み信号をバ
ス7に送信する。
とリモートモジュール20、40、60とのトランザク
ションの通算待ち時間を示すしきい値を格納するための
ものである。レジスタ93の内容がカウンタ95の内容
より小さくなると、カウンタ94は、割り込み信号をバ
ス7に送信する。
【0048】レジスタ81、82、83、及び93はバ
ス7上で読み書きアクセスが可能である。カウンタ9
0、95はバス7上で読み出しのみアクセスが可能であ
る。チェックレジスタ86は読み書きアクセスが可能で
あり、従ってモジュール10内で実行されるプロセス
は、0から4までの番号を有する、例えば五つのビット
の低及び高の状態に応じてカウンタ90、95の読み出
しを管理することができる。ビット0の低状態により、
論理回路88によるカウンタ90、又は演算ユニット9
2によるカウンタ95の増分が阻止される。ビット0の
高状態では、論理回路88によるカウンタ90、又は演
算ユニット92によるカウンタ95の増分は阻止されな
い。ビット1の低状態により、比較器91、94により
発生する割り込みが、論理回路88によるカウンタ9
0、又は演算ユニット92によるカウンタ95の増分に
作用することが阻止される。ビット1の高状態により、
比較器91、94により発生する割り込みに引き続く、
論理回路88によるカウンタ90、又は演算ユニット9
2によるカウンタ95の増分が一切阻止される。ビット
2の低状態により、比較器91、94による割り込みの
発生が無効になる。カウンタ90の内容がレジスタ83
の内容を超えるか、カウンタ95の内容がレジスタ93
の内容を超えると、ビット2の高状態により、比較器9
1、94による割り込みの発生が有効になる。ビット3
の低状態は、カウンタ90の変化には作用しない。ビッ
ト3の高状態は、カウンタ90の内容を0の値にする。
ビット4の低状態は、カウンタ95の内容には作用しな
い。ビット4の高状態は、カウンタ95の内容を0の値
にする。
ス7上で読み書きアクセスが可能である。カウンタ9
0、95はバス7上で読み出しのみアクセスが可能であ
る。チェックレジスタ86は読み書きアクセスが可能で
あり、従ってモジュール10内で実行されるプロセス
は、0から4までの番号を有する、例えば五つのビット
の低及び高の状態に応じてカウンタ90、95の読み出
しを管理することができる。ビット0の低状態により、
論理回路88によるカウンタ90、又は演算ユニット9
2によるカウンタ95の増分が阻止される。ビット0の
高状態では、論理回路88によるカウンタ90、又は演
算ユニット92によるカウンタ95の増分は阻止されな
い。ビット1の低状態により、比較器91、94により
発生する割り込みが、論理回路88によるカウンタ9
0、又は演算ユニット92によるカウンタ95の増分に
作用することが阻止される。ビット1の高状態により、
比較器91、94により発生する割り込みに引き続く、
論理回路88によるカウンタ90、又は演算ユニット9
2によるカウンタ95の増分が一切阻止される。ビット
2の低状態により、比較器91、94による割り込みの
発生が無効になる。カウンタ90の内容がレジスタ83
の内容を超えるか、カウンタ95の内容がレジスタ93
の内容を超えると、ビット2の高状態により、比較器9
1、94による割り込みの発生が有効になる。ビット3
の低状態は、カウンタ90の変化には作用しない。ビッ
ト3の高状態は、カウンタ90の内容を0の値にする。
ビット4の低状態は、カウンタ95の内容には作用しな
い。ビット4の高状態は、カウンタ95の内容を0の値
にする。
【0049】装置6が、バス7上を流れるブロックアド
レスを認識した時には、マシンのメモリの空間には、非
共有アクセス空間と、読み出し共有アクセス空間と、書
き込み及び/又は読み出し共有空間の三つのクラスがあ
る。
レスを認識した時には、マシンのメモリの空間には、非
共有アクセス空間と、読み出し共有アクセス空間と、書
き込み及び/又は読み出し共有空間の三つのクラスがあ
る。
【0050】非共有アクセス空間に属するブロックの場
合、モジュール10が、ブロックの最新コピーを保有す
る唯一のモジュールであるので、ローカルモジュール1
0とリモートモジュール20、40、60との間ではト
ランザクションは必要ない。前記開始アドレスと前記終
了アドレスとで規定され、この空間内に全てが含まれる
マシンのメモリのウインドウは、図4又は図5を参照し
て定義した熱が0であるので、コールドであると呼ばれ
る。
合、モジュール10が、ブロックの最新コピーを保有す
る唯一のモジュールであるので、ローカルモジュール1
0とリモートモジュール20、40、60との間ではト
ランザクションは必要ない。前記開始アドレスと前記終
了アドレスとで規定され、この空間内に全てが含まれる
マシンのメモリのウインドウは、図4又は図5を参照し
て定義した熱が0であるので、コールドであると呼ばれ
る。
【0051】読み出し及び/又は書き込み共有アクセス
空間に属するブロックの場合、特にモジュール10がブ
ロックの最新コピーを保有していない場合には、ローカ
ルモジュール10とリモートモジュール20、40、6
0との間で一つ又は複数のトランザクションが必要であ
る。開始アドレスと終了アドレスとで規定され、この空
間との交点が0でないマシンのメモリのウインドウは、
図4又は図5を参照して定義した熱が正の値であるの
で、ホットであると呼ばれる。
空間に属するブロックの場合、特にモジュール10がブ
ロックの最新コピーを保有していない場合には、ローカ
ルモジュール10とリモートモジュール20、40、6
0との間で一つ又は複数のトランザクションが必要であ
る。開始アドレスと終了アドレスとで規定され、この空
間との交点が0でないマシンのメモリのウインドウは、
図4又は図5を参照して定義した熱が正の値であるの
で、ホットであると呼ばれる。
【0052】上記の装置6のハードウェア構造により、
マシンのメモリのウインドウの熱を測定するための種々
のソフトウェアプロセスを使用することができる。
マシンのメモリのウインドウの熱を測定するための種々
のソフトウェアプロセスを使用することができる。
【0053】例として、トランザクション数に関する活
動量に比例する熱を測定するプロセスを想定することに
する。レジスタ86のビット0から4は、カウンタ90
の内容を強制的に0の値にするために、当初、高の状態
にされる。ウインドウ内にアドレスされるデータブロッ
クに関するトランザクションがカウントされるウインド
ウを決定するために、レジスタ81に開始アドレスが書
き込まれ、レジスタ82に終了アドレスが書き込まれ
る。カウンタ90が到達する最大活動量を決定するため
にしきい値がレジスタ83に書き込まれる。決定された
ウインドウに関するトランザクションのカウントを有効
にするために、レジスタ86のビット0が低状態にさ
れ、同時に、レジスタ86のビット0が低状態にされる
日付ddcが記憶される。比較器91により発生する割
り込みが受信されると、日付ddcと割り込み発生日付
dfcの差として、マシンのクロックサイクル数で表わ
すカウントの継続時間が計算される。ウインドウの熱
は、カウンタ90の内容をカウントの継続時間で割るこ
とにより計算される。カウントの最大日付dmcにおい
て比較器91により発生する割り込みの受信がない場
合、日付ddcと日付dmcの差として、マシンのクロ
ックサイクル数で表わすカウントの継続時間が計算され
る。ウインドウの熱は、カウンタ90の内容をカウント
の継続時間で割ることにより計算される。このようにし
て計算された熱は、単位時間当たりのトランザクション
量において均一である。
動量に比例する熱を測定するプロセスを想定することに
する。レジスタ86のビット0から4は、カウンタ90
の内容を強制的に0の値にするために、当初、高の状態
にされる。ウインドウ内にアドレスされるデータブロッ
クに関するトランザクションがカウントされるウインド
ウを決定するために、レジスタ81に開始アドレスが書
き込まれ、レジスタ82に終了アドレスが書き込まれ
る。カウンタ90が到達する最大活動量を決定するため
にしきい値がレジスタ83に書き込まれる。決定された
ウインドウに関するトランザクションのカウントを有効
にするために、レジスタ86のビット0が低状態にさ
れ、同時に、レジスタ86のビット0が低状態にされる
日付ddcが記憶される。比較器91により発生する割
り込みが受信されると、日付ddcと割り込み発生日付
dfcの差として、マシンのクロックサイクル数で表わ
すカウントの継続時間が計算される。ウインドウの熱
は、カウンタ90の内容をカウントの継続時間で割るこ
とにより計算される。カウントの最大日付dmcにおい
て比較器91により発生する割り込みの受信がない場
合、日付ddcと日付dmcの差として、マシンのクロ
ックサイクル数で表わすカウントの継続時間が計算され
る。ウインドウの熱は、カウンタ90の内容をカウント
の継続時間で割ることにより計算される。このようにし
て計算された熱は、単位時間当たりのトランザクション
量において均一である。
【0054】例として、トランザクションの通算待ち時
間に関する活動量に比例する熱を測定するプロセスを想
定することにする。レジスタ86のビット0から3及び
5は、カウンタ95の内容を強制的に0の値にするため
に、当初、高の状態にされる。ウインドウ内にアドレス
されるデータブロックに関するトランザクションがカウ
ントされるウインドウを決定するために、レジスタ81
に開始アドレスが書き込まれ、レジスタ82に終了アド
レスが書き込まれる。カウンタ95が到達する最大活動
量を決定するためにしきい値がレジスタ93に書き込ま
れる。決定されたウインドウに関する通算待ち時間を有
効にするために、レジスタ86のビット0が低状態にさ
れ、同時に、レジスタ86のビット0が低状態にされる
日付ddcが記憶される。比較器94により発生する割
り込みが受信されると、日付ddcと割り込み発生日付
dfcの差として、マシンのクロックサイクル数で表わ
すカウントの継続時間が計算される。ウインドウの熱
は、カウンタ95の内容をカウントの継続時間で割るこ
とにより計算される。カウントの最大日付dmcにおい
て比較器94により発生する割り込みの受信がない場
合、日付ddcと日付dmcの差として、マシンのクロ
ックサイクル数で表わすカウントの継続時間が計算され
る。ウインドウの熱は、カウンタ95の内容をカウント
の継続時間で割ることにより計算される。このようにし
て計算された熱は無次元量である。
間に関する活動量に比例する熱を測定するプロセスを想
定することにする。レジスタ86のビット0から3及び
5は、カウンタ95の内容を強制的に0の値にするため
に、当初、高の状態にされる。ウインドウ内にアドレス
されるデータブロックに関するトランザクションがカウ
ントされるウインドウを決定するために、レジスタ81
に開始アドレスが書き込まれ、レジスタ82に終了アド
レスが書き込まれる。カウンタ95が到達する最大活動
量を決定するためにしきい値がレジスタ93に書き込ま
れる。決定されたウインドウに関する通算待ち時間を有
効にするために、レジスタ86のビット0が低状態にさ
れ、同時に、レジスタ86のビット0が低状態にされる
日付ddcが記憶される。比較器94により発生する割
り込みが受信されると、日付ddcと割り込み発生日付
dfcの差として、マシンのクロックサイクル数で表わ
すカウントの継続時間が計算される。ウインドウの熱
は、カウンタ95の内容をカウントの継続時間で割るこ
とにより計算される。カウントの最大日付dmcにおい
て比較器94により発生する割り込みの受信がない場
合、日付ddcと日付dmcの差として、マシンのクロ
ックサイクル数で表わすカウントの継続時間が計算され
る。ウインドウの熱は、カウンタ95の内容をカウント
の継続時間で割ることにより計算される。このようにし
て計算された熱は無次元量である。
【0055】装置6がカウンタ90及びカウンタ95を
備える場合には、例として、トランザクションの平均継
続時間に関する活動量に比例する熱を測定するプロセス
を想定することにする。レジスタ86のビット0から5
は、カウンタ90及び95の内容を強制的に0の値にす
るために、当初、高の状態にされる。ウインドウ内にア
ドレスされるデータブロックに関するトランザクション
がカウントされるウインドウを決定するために、レジス
タ81に開始アドレスが書き込まれ、レジスタ82に終
了アドレスが書き込まれる。カウンタ90又はカウンタ
95が到達する最大活動量を決定するために、しきい値
がレジスタ83に書き込まれ、またしきい値がレジスタ
93に書き込まれる。決定されたウインドウに関するト
ランザクションのカウントを有効にするために、レジス
タ86のビット0が低状態にされ、同時に、レジスタ8
6のビット0が低状態にされる日付ddcが記憶され
る。比較器91又は比較器94により発生する割り込み
が受信される。ウインドウの熱は、カウンタ95の内容
をカウンタ90の内容で割ることにより計算される。カ
ウントの最大日付dmcにおいて比較器91又は比較器
94により発生する割り込みの受信がなく、カウンタ9
0の内容が0の場合、ウインドウの熱は0であると計算
される。カウンタ90の内容が非0である場合、ウイン
ドウの熱はカウンタ95の内容をカウンタ90の内容で
割ることにより計算される。このようにして計算された
熱は時間的に均一である。
備える場合には、例として、トランザクションの平均継
続時間に関する活動量に比例する熱を測定するプロセス
を想定することにする。レジスタ86のビット0から5
は、カウンタ90及び95の内容を強制的に0の値にす
るために、当初、高の状態にされる。ウインドウ内にア
ドレスされるデータブロックに関するトランザクション
がカウントされるウインドウを決定するために、レジス
タ81に開始アドレスが書き込まれ、レジスタ82に終
了アドレスが書き込まれる。カウンタ90又はカウンタ
95が到達する最大活動量を決定するために、しきい値
がレジスタ83に書き込まれ、またしきい値がレジスタ
93に書き込まれる。決定されたウインドウに関するト
ランザクションのカウントを有効にするために、レジス
タ86のビット0が低状態にされ、同時に、レジスタ8
6のビット0が低状態にされる日付ddcが記憶され
る。比較器91又は比較器94により発生する割り込み
が受信される。ウインドウの熱は、カウンタ95の内容
をカウンタ90の内容で割ることにより計算される。カ
ウントの最大日付dmcにおいて比較器91又は比較器
94により発生する割り込みの受信がなく、カウンタ9
0の内容が0の場合、ウインドウの熱は0であると計算
される。カウンタ90の内容が非0である場合、ウイン
ドウの熱はカウンタ95の内容をカウンタ90の内容で
割ることにより計算される。このようにして計算された
熱は時間的に均一である。
【0056】ウインドウの絶対熱を決定するのではな
く、種々のウインドウの熱を互いに比較し、最も熱い一
つ又は複数のウインドウを決定するのであれば、熱の評
価単位は重要ではない。通常、時間的に比較的安定な量
としてウインドウの熱を想定する。前述の例のうちの一
つによれば、レジスタ81及び82内に格納された個別
の値によりそれぞれ決定される種々のウインドウについ
て本プロセスを繰り返すだけでよい。
く、種々のウインドウの熱を互いに比較し、最も熱い一
つ又は複数のウインドウを決定するのであれば、熱の評
価単位は重要ではない。通常、時間的に比較的安定な量
としてウインドウの熱を想定する。前述の例のうちの一
つによれば、レジスタ81及び82内に格納された個別
の値によりそれぞれ決定される種々のウインドウについ
て本プロセスを繰り返すだけでよい。
【0057】図6は、装置6の外部で実行されるプロセ
スを必要としないで、他の複数のウインドウの中から最
も熱いウインドウを得るための装置6の詳細を示す図で
ある。レジスタ101は、マシンのメモリ空間の内部に
第一論理アドレスを格納するためのものである。レジス
タ102は、マシンのメモリ空間の内部に第二論理アド
レスを格納するためのものである。開始アドレスと呼ば
れる第一論理アドレスは、終了アドレスと呼ばれる第二
論理アドレスよりも数値が小さい。装置6が、バス7又
はリンク17から前回認識した、ブロックアドレスに関
するトランザクションを発生すると、このアドレスは、
比較器104によりレジスタ101の内容と比較され、
比較器105によりレジスタ102の内容と比較され
る。ブロックアドレスがレジスタ101の内容よりも大
きくかつレジスタ102の内容よりも小さい場合、論理
回路107は、ブロックが、前記開始アドレスと前記終
了アドレスとで規定されるオートフォーカスウインドウ
と呼ばれるマシンのメモリのウインドウに所属すること
を知らせる。論理回路107は、前記オートフォーカス
ウインドウに属するブロックに関する各トランザクショ
ンにおいて信号を送信するための論理回路88と同一で
あるか、あるいは前記オートフォーカスウインドウに属
するブロックに関する待ち時間の値を送信するための論
理回路92と同一の論理回路108を有効化する。レジ
スタ103は、レジスタ101に格納されている論理ア
ドレスとレジスタ102に格納されている論理アドレス
との間に含まれる第三論理アドレスを格納するためのも
のである。装置6により認識されるブロックのアドレス
は、比較器106により、レジスタ103の内容と比較
される。
スを必要としないで、他の複数のウインドウの中から最
も熱いウインドウを得るための装置6の詳細を示す図で
ある。レジスタ101は、マシンのメモリ空間の内部に
第一論理アドレスを格納するためのものである。レジス
タ102は、マシンのメモリ空間の内部に第二論理アド
レスを格納するためのものである。開始アドレスと呼ば
れる第一論理アドレスは、終了アドレスと呼ばれる第二
論理アドレスよりも数値が小さい。装置6が、バス7又
はリンク17から前回認識した、ブロックアドレスに関
するトランザクションを発生すると、このアドレスは、
比較器104によりレジスタ101の内容と比較され、
比較器105によりレジスタ102の内容と比較され
る。ブロックアドレスがレジスタ101の内容よりも大
きくかつレジスタ102の内容よりも小さい場合、論理
回路107は、ブロックが、前記開始アドレスと前記終
了アドレスとで規定されるオートフォーカスウインドウ
と呼ばれるマシンのメモリのウインドウに所属すること
を知らせる。論理回路107は、前記オートフォーカス
ウインドウに属するブロックに関する各トランザクショ
ンにおいて信号を送信するための論理回路88と同一で
あるか、あるいは前記オートフォーカスウインドウに属
するブロックに関する待ち時間の値を送信するための論
理回路92と同一の論理回路108を有効化する。レジ
スタ103は、レジスタ101に格納されている論理ア
ドレスとレジスタ102に格納されている論理アドレス
との間に含まれる第三論理アドレスを格納するためのも
のである。装置6により認識されるブロックのアドレス
は、比較器106により、レジスタ103の内容と比較
される。
【0058】レジスタ103は、前記オートフォーカス
ウインドウの二つのサブウインドウを規定する。論理回
路110は、レジスタ101の内容より大きくレジスタ
103の内容より小さいアドレスの第一サブウインドウ
のアドレスに関する論理回路108から発せられる信号
を有効にする。論理回路120は、レジスタ103の内
容より大きくレジスタ102の内容より小さいアドレス
の第二サブウインドウのアドレスに関する論理回路10
8から発せられる信号を有効にする。
ウインドウの二つのサブウインドウを規定する。論理回
路110は、レジスタ101の内容より大きくレジスタ
103の内容より小さいアドレスの第一サブウインドウ
のアドレスに関する論理回路108から発せられる信号
を有効にする。論理回路120は、レジスタ103の内
容より大きくレジスタ102の内容より小さいアドレス
の第二サブウインドウのアドレスに関する論理回路10
8から発せられる信号を有効にする。
【0059】カウンタ111は、論理回路108から発
せられ論理回路110により有効にされる信号を順次加
算するためのものである。従ってカウンタ111の内容
は、第一サブウインドウ内にアドレスされたデータに関
する活動量を表わす。
せられ論理回路110により有効にされる信号を順次加
算するためのものである。従ってカウンタ111の内容
は、第一サブウインドウ内にアドレスされたデータに関
する活動量を表わす。
【0060】カウンタ121は、論理回路108から発
せられ論理回路120により有効にされる信号を順次加
算するためのものである。従ってカウンタ121の内容
は、第二サブウインドウ内にアドレスされたデータに関
する活動量を表わす。
せられ論理回路120により有効にされる信号を順次加
算するためのものである。従ってカウンタ121の内容
は、第二サブウインドウ内にアドレスされたデータに関
する活動量を表わす。
【0061】レジスタ109は、上述した活動量に関す
るしきい値を格納するためのものである。レジスタ10
9の内容がカウンタ111の内容より小さければ、比較
器112は信号I1をシーケンサ114に送信する。レ
ジスタ109の内容がカウンタ121の内容より小さけ
れば、比較器122は信号I2をシーケンサ114に送
信する。シーケンサ114の動作は図7を参照して説明
する。
るしきい値を格納するためのものである。レジスタ10
9の内容がカウンタ111の内容より小さければ、比較
器112は信号I1をシーケンサ114に送信する。レ
ジスタ109の内容がカウンタ121の内容より小さけ
れば、比較器122は信号I2をシーケンサ114に送
信する。シーケンサ114の動作は図7を参照して説明
する。
【0062】レジスタ115は、オートフォーカスウイ
ンドウについての最小サイズ値を格納するためのもので
あり、通算値は、レジスタ101及び102の内容の差
である。
ンドウについての最小サイズ値を格納するためのもので
あり、通算値は、レジスタ101及び102の内容の差
である。
【0063】レジスタ101、102、109、及び1
15はシーケンサ114によりバス7上で読み書きアク
セスが可能である。カウンタ111、121はシーケン
サ114により読み書きアクセスが可能である。チェッ
クレジスタ113は読み書きアクセスが可能であり、従
って、0から6までの番号を有する、例えば七つのビッ
トの低及び高の状態に応じて、シーケンサ114により
実行されるシーケンスを管理することができる。ビット
0の高状態により、論理回路108によるカウンタ11
1及び121の増分が一切阻止される。ビット0の低状
態では、論理回路108によるカウンタ111及び12
1の増分は阻止されない。ビット1の低状態により、シ
ーケンサ114により発生する割り込みが、論理回路1
08によるカウンタ111及び121の増分に作用する
ことが阻止される。ビット1の高状態により、シーケン
サ114により発生する割り込みに引き続く、論理回路
108によるカウンタ111及び121の増分が阻止さ
れる。ビット2の低状態により、シーケンサ114によ
る割り込みの発生が無効になる。レジスタ115の内容
がレジスタ102及び101の内容の差を超えると、ビ
ット2の高状態により、シーケンサ114によるによる
割り込みの発生が有効になる。ビット3の低状態は、カ
ウンタ111及び121の変化には作用しない。ビット
3の高状態は、カウンタ121及び122の内容を0の
値にする。ビット4及び5の状態は、0から3の間の指
数の2の累乗に従う除数の値を符号化する。ビット6の
低状態は、オートフォーカスウインドウのサイズが、レ
ジスタ115に格納されている値よりも大きいことを示
す。ビット6の高状態は、オートフォーカスウインドウ
のサイズが、レジスタ115に格納されている値よりも
小さいことを示す。
15はシーケンサ114によりバス7上で読み書きアク
セスが可能である。カウンタ111、121はシーケン
サ114により読み書きアクセスが可能である。チェッ
クレジスタ113は読み書きアクセスが可能であり、従
って、0から6までの番号を有する、例えば七つのビッ
トの低及び高の状態に応じて、シーケンサ114により
実行されるシーケンスを管理することができる。ビット
0の高状態により、論理回路108によるカウンタ11
1及び121の増分が一切阻止される。ビット0の低状
態では、論理回路108によるカウンタ111及び12
1の増分は阻止されない。ビット1の低状態により、シ
ーケンサ114により発生する割り込みが、論理回路1
08によるカウンタ111及び121の増分に作用する
ことが阻止される。ビット1の高状態により、シーケン
サ114により発生する割り込みに引き続く、論理回路
108によるカウンタ111及び121の増分が阻止さ
れる。ビット2の低状態により、シーケンサ114によ
る割り込みの発生が無効になる。レジスタ115の内容
がレジスタ102及び101の内容の差を超えると、ビ
ット2の高状態により、シーケンサ114によるによる
割り込みの発生が有効になる。ビット3の低状態は、カ
ウンタ111及び121の変化には作用しない。ビット
3の高状態は、カウンタ121及び122の内容を0の
値にする。ビット4及び5の状態は、0から3の間の指
数の2の累乗に従う除数の値を符号化する。ビット6の
低状態は、オートフォーカスウインドウのサイズが、レ
ジスタ115に格納されている値よりも大きいことを示
す。ビット6の高状態は、オートフォーカスウインドウ
のサイズが、レジスタ115に格納されている値よりも
小さいことを示す。
【0064】図7のペトリ線図により、シーケンサ11
4の動作を説明することができる。ビット0から3によ
り、カウンタ111及び121に0の値を強制するレジ
スタ113に格納された値により、シーケンサの初期段
階から段階E1への移行が有効になる。
4の動作を説明することができる。ビット0から3によ
り、カウンタ111及び121に0の値を強制するレジ
スタ113に格納された値により、シーケンサの初期段
階から段階E1への移行が有効になる。
【0065】段階E1では、装置6の外部のモジュール
10内で実行されるプロセスは、レジスタ101、10
2、109、113、及び115にオートフォーカスウ
インドウの初期状態を書き込む可能性を有する。ビット
6の低状態を有するレジスタ113の値により、段階E
1から段階E2への移行が有効になる。
10内で実行されるプロセスは、レジスタ101、10
2、109、113、及び115にオートフォーカスウ
インドウの初期状態を書き込む可能性を有する。ビット
6の低状態を有するレジスタ113の値により、段階E
1から段階E2への移行が有効になる。
【0066】段階E2では、レジスタ101及び102
に格納されている値の合計の半分がレジスタ103に書
き込まれ、次に、レジスタ113のビット0が低状態に
され、カウンタ111及び121が起動する。ビット0
が低状態にされると、装置6は段階E3に対応する状態
に移行する。
に格納されている値の合計の半分がレジスタ103に書
き込まれ、次に、レジスタ113のビット0が低状態に
され、カウンタ111及び121が起動する。ビット0
が低状態にされると、装置6は段階E3に対応する状態
に移行する。
【0067】段階E3に対応する状態では、カウンタ1
11又は、121は、オートフォーカスウインドウの第
一サブウインドウ又は第二サブウインドウの熱とそれぞ
れ同じであるとみなすことのできる活動量を直接蓄積す
る。シーケンサ114が割り込み信号I1を受信すると
段階E4が起動する。シーケンサ114が割り込み信号
I2を受信すると段階E5が起動する。比較器112が
発する信号I1は、第二サブウインドウより早く第一サ
ブウインドウの熱がレジスタ109に格納されているし
きい値を超えたことを示す。比較器122が発する信号
I2は、第一サブウインドウより早く第二サブウインド
ウの熱がレジスタ109に格納されているしきい値を超
えたことを示す。図7のペトリ線図の水平二重線は段階
E4又はE5の起動論理ORを表わす。
11又は、121は、オートフォーカスウインドウの第
一サブウインドウ又は第二サブウインドウの熱とそれぞ
れ同じであるとみなすことのできる活動量を直接蓄積す
る。シーケンサ114が割り込み信号I1を受信すると
段階E4が起動する。シーケンサ114が割り込み信号
I2を受信すると段階E5が起動する。比較器112が
発する信号I1は、第二サブウインドウより早く第一サ
ブウインドウの熱がレジスタ109に格納されているし
きい値を超えたことを示す。比較器122が発する信号
I2は、第一サブウインドウより早く第二サブウインド
ウの熱がレジスタ109に格納されているしきい値を超
えたことを示す。図7のペトリ線図の水平二重線は段階
E4又はE5の起動論理ORを表わす。
【0068】段階E4では、第二サブウインドウよりも
第一サブウインドウの方が熱くなる。シーケンサ114
によりレジスタ103の値がレジスタ102に書き込ま
れ、オートフォーカスウインドウは第一サブウインドウ
に等しいと再度規定される。レジスタ113のビット0
は、カウンタ111及び121を無効にするために、シ
ーケンサ114により高状態にされる。
第一サブウインドウの方が熱くなる。シーケンサ114
によりレジスタ103の値がレジスタ102に書き込ま
れ、オートフォーカスウインドウは第一サブウインドウ
に等しいと再度規定される。レジスタ113のビット0
は、カウンタ111及び121を無効にするために、シ
ーケンサ114により高状態にされる。
【0069】段階E5では、第一サブウインドウよりも
第二サブウインドウの方が熱くなる。シーケンサ114
によりレジスタ103の値がレジスタ101に書き込ま
れ、オートフォーカスウインドウは第二サブウインドウ
に等しいと再度規定される。レジスタ113のビット0
は、カウンタ111及び121を無効にするために、シ
ーケンサ114により高状態にされる。
第二サブウインドウの方が熱くなる。シーケンサ114
によりレジスタ103の値がレジスタ101に書き込ま
れ、オートフォーカスウインドウは第二サブウインドウ
に等しいと再度規定される。レジスタ113のビット0
は、カウンタ111及び121を無効にするために、シ
ーケンサ114により高状態にされる。
【0070】レジスタ113のビット0が高状態になる
と、レジスタ102の内容からレジスタ101の内容を
減算することによりオートフォーカスウインドウのサイ
ズが計算される段階E6が起動する。このようにして得
られたサイズは、レジスタ115内に含まれる値と比較
される。サイズがレジスタ115の値以下であると段階
E7が起動する。サイズがレジスタ115の値より大き
いと段階E8が起動する。
と、レジスタ102の内容からレジスタ101の内容を
減算することによりオートフォーカスウインドウのサイ
ズが計算される段階E6が起動する。このようにして得
られたサイズは、レジスタ115内に含まれる値と比較
される。サイズがレジスタ115の値以下であると段階
E7が起動する。サイズがレジスタ115の値より大き
いと段階E8が起動する。
【0071】段階E7では、オートフォーカスウインド
ウは、同一のサイズの少なくとも一つのウインドウがこ
のウインドウよりも冷たい最小サイズウインドウに収束
する。バス7上で割り込みI3が発生し、レジスタ11
3のビット6が高状態にされ、得られた収束が通知さ
れ、その結果、装置6に対し外部のプロセスは、レジス
タ101及び102の内容を読むことができる。ビット
6が高状態になると、シーケンサは初期段階に復帰す
る。
ウは、同一のサイズの少なくとも一つのウインドウがこ
のウインドウよりも冷たい最小サイズウインドウに収束
する。バス7上で割り込みI3が発生し、レジスタ11
3のビット6が高状態にされ、得られた収束が通知さ
れ、その結果、装置6に対し外部のプロセスは、レジス
タ101及び102の内容を読むことができる。ビット
6が高状態になると、シーケンサは初期段階に復帰す
る。
【0072】段階E8では、オートフォーカスウインド
ウが最小サイズウインドウに収束すること及びレジスタ
113のビット6の変化はない。レジスタ109に格納
されている値は、レジスタ113のビット4及び5によ
り符号化される2のべきで除算される。しきい値を低く
することが可能であるため、以降に決定される新たなサ
ブウインドウ上でカウンタ111又は121がしきい値
に到達するのを加速することができる。実際、段階E6
を通過する毎にオートフォーカスウインドウのサイズが
減少するので、このウインドウに関する活動量は、直前
のオートフォーカスウインドウの活動量と比較してより
長い時間を要することがあり得る。ビット6が低状態に
なると段階E2が再起動する。このようにして、段階E
7に移行するまで、段階E2からE6にまたがるループ
が繰り返される。
ウが最小サイズウインドウに収束すること及びレジスタ
113のビット6の変化はない。レジスタ109に格納
されている値は、レジスタ113のビット4及び5によ
り符号化される2のべきで除算される。しきい値を低く
することが可能であるため、以降に決定される新たなサ
ブウインドウ上でカウンタ111又は121がしきい値
に到達するのを加速することができる。実際、段階E6
を通過する毎にオートフォーカスウインドウのサイズが
減少するので、このウインドウに関する活動量は、直前
のオートフォーカスウインドウの活動量と比較してより
長い時間を要することがあり得る。ビット6が低状態に
なると段階E2が再起動する。このようにして、段階E
7に移行するまで、段階E2からE6にまたがるループ
が繰り返される。
【0073】割り込みI3により起動される、装置6の
外部のプロセスは、最も熱いウインドウのうちの一つに
オートフォーカスウインドウが収束したかどうかを調べ
るために、レジスタ113のビット6の値を参照するこ
とができる。このプロセスはまた、レジスタ113のビ
ット0及びビット6を高状態にし、0の値をレジスタ1
09に書き込むことにより、シーケンサ114に割り込
みをかけることができる。実際、オートフォーカスウイ
ンドウの熱が弱過ぎて十分に速い収束が行えないことが
あり得る。その場合プロセスは、高速収束を実現するこ
とができる他の値をレジスタ101、102、109、
113、及び115のうちの一つ又は複数のレジスタに
ロードすることができる。
外部のプロセスは、最も熱いウインドウのうちの一つに
オートフォーカスウインドウが収束したかどうかを調べ
るために、レジスタ113のビット6の値を参照するこ
とができる。このプロセスはまた、レジスタ113のビ
ット0及びビット6を高状態にし、0の値をレジスタ1
09に書き込むことにより、シーケンサ114に割り込
みをかけることができる。実際、オートフォーカスウイ
ンドウの熱が弱過ぎて十分に速い収束が行えないことが
あり得る。その場合プロセスは、高速収束を実現するこ
とができる他の値をレジスタ101、102、109、
113、及び115のうちの一つ又は複数のレジスタに
ロードすることができる。
【0074】装置6の外部で実行されるプロセスは、シ
ーケンサ114により実行されるシーケンスの起動、停
止、又は終了にしか作用しないことに留意されたい。こ
れにより、装置6の外部で実行されるプロセスが、装置
6により行われる測定に影響を及ぼすことが回避され
る。
ーケンサ114により実行されるシーケンスの起動、停
止、又は終了にしか作用しないことに留意されたい。こ
れにより、装置6の外部で実行されるプロセスが、装置
6により行われる測定に影響を及ぼすことが回避され
る。
【図1】四つのモジュールを有するマシンのアーキテク
チャを示す図である。
チャを示す図である。
【図2】ローカルとみなされるモジュール内にある装置
の詳細を示す図である。
の詳細を示す図である。
【図3】リモートとみなされるモジュール内にある装置
の詳細を示す図である。
の詳細を示す図である。
【図4】本発明を実施するための装置の他の詳細を示す
図である。
図である。
【図5】本発明を実施するための装置の他の詳細を示す
図である。
図である。
【図6】本発明を実施するための装置の他の詳細を示す
図である。
図である。
【図7】図6の装置の動作を示す図である。
1、2、3、4、21、22、23、24、41、4
2、43、44、61、62、63、64、 プロセッ
サ 5、25、45、65 メモリ 6、26、46、66 他のモジュールへ接続する装置 7、27、47、67 システムバス 8、28、48、68 第一テーブル 9 テーブル 10、20、40、60 モジュール 11、12、13、14、31、32、33、34、5
1、52、53、54、71、72、73、74 専用
キャッシュメモリ 15、35、55、75 リモートアクセスキャッシュ
メモリ 16 ループ 17、37、57、77 リンク 18、19、93 レジスタ 80 論理回路 81、101 第一レジスタ 82、102 第二レジスタ 83、93、109 第三レジスタ 84、85 比較器 86 チェックレジスタ 87、88、107、108、110、120 論理回
路 90、91、94、95、111、121 カウンタ 92 演算ユニット 103 第四レジスタ 104、105、106、112、122 比較器 113 チェックレジスタ 114 シーケンサ A1、A2、A3、A4、A5、A6、A7、A8 フ
ィールド E1、E2、E3、E4、E5、E6、E7、E8 段
階 I1、I2、I3 割り込み LH ローカル接続信号 LM ローカル誤り信号 RH リモートヒット信号 RM リモート誤り信号 S1 ブロックの変更信号 S2、S3 ステータスコード S5 信号
2、43、44、61、62、63、64、 プロセッ
サ 5、25、45、65 メモリ 6、26、46、66 他のモジュールへ接続する装置 7、27、47、67 システムバス 8、28、48、68 第一テーブル 9 テーブル 10、20、40、60 モジュール 11、12、13、14、31、32、33、34、5
1、52、53、54、71、72、73、74 専用
キャッシュメモリ 15、35、55、75 リモートアクセスキャッシュ
メモリ 16 ループ 17、37、57、77 リンク 18、19、93 レジスタ 80 論理回路 81、101 第一レジスタ 82、102 第二レジスタ 83、93、109 第三レジスタ 84、85 比較器 86 チェックレジスタ 87、88、107、108、110、120 論理回
路 90、91、94、95、111、121 カウンタ 92 演算ユニット 103 第四レジスタ 104、105、106、112、122 比較器 113 チェックレジスタ 114 シーケンサ A1、A2、A3、A4、A5、A6、A7、A8 フ
ィールド E1、E2、E3、E4、E5、E6、E7、E8 段
階 I1、I2、I3 割り込み LH ローカル接続信号 LM ローカル誤り信号 RH リモートヒット信号 RM リモート誤り信号 S1 ブロックの変更信号 S2、S3 ステータスコード S5 信号
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アンリ・レゾン フランス国、38000・グルノーブル、ブル バール・ドユ・マレシヤル・ルクレール、 23
Claims (7)
- 【請求項1】 複数のモジュール(10、20、40、
60)で構成され、一つのモジュール(10)が他のモ
ジュール(20、40、60)とのデータのコヒーレン
スを確保する装置(6)を備え、不均一アクセスメモリ
及びキャッシュメモリコヒーレンスを有する情報処理マ
シンであって、前記装置(6)が、 メモリの第一物理アドレスを格納するための第一レジス
タ(81、101)と、 メモリの第二物理アドレスを格納するための第二レジス
タ(82、102)と、 前記第一物理アドレスと前記第二物理アドレスとの間に
アドレスが含まれるデータに関する活動量を測定する第
一手段(90、95、111、121、88、92、1
08)と、 前記活動量を測定するためのしきい値を格納するための
第三レジスタ(83、93、109)と、 第一手段によって測定される活動量が前記しきい値を超
えたことを検出する第二手段(91、94、112、1
22)とを少なくとも含むことを特徴とする情報処理マ
シン。 - 【請求項2】 第一手段が、第一物理アドレスと第二物
理アドレスとの間にアドレスが含まれるデータに関す
る、一つのモジュールと他のモジュールとの間のトラン
ザクションのカウンタ(90)を備えることを特徴とす
る請求項1に記載の情報処理マシン。 - 【請求項3】 第一手段が、第一物理アドレスと第二物
理アドレスとの間にアドレスが含まれるデータに関す
る、一つのモジュールと他のモジュールとの間のトラン
ザクションの待ち時間のカウンタ(95)を備えること
を特徴とする請求項1に記載の情報処理マシン。 - 【請求項4】 前記装置(6)が、第一論理アドレスと
第二論理アドレスとの間に含まれる第三論理アドレスを
格納するための第四レジスタ(103)を備え、第一手
段が、第一物理アドレスと第三物理アドレスとの間にア
ドレスが含まれるデータに関する、一つのモジュールと
他のモジュールとの間のトランザクションのカウンタ
(111)と、前記第三物理アドレスと前記第二物理ア
ドレスとの間にアドレスが含まれるデータに関する、一
つのモジュールと他のモジュールとの間のトランザクシ
ョンのカウンタ(121)とを備えることを特徴とする
請求項1に記載の情報処理マシン。 - 【請求項5】 前記装置(6)が、第一論理アドレスと
第二論理アドレスとの間に含まれる第三論理アドレスを
格納するための第四レジスタ(103)を備え、第一手
段が、第一物理アドレスと第三物理アドレスとの間にア
ドレスが含まれるデータに関する、一つのモジュールと
他のモジュールとの間のトランザクションの待ち時間の
カウンタ(111)と、第三物理アドレスと第二物理ア
ドレスとの間にアドレスが含まれるデータに関する、一
つのモジュールと他のモジュールとの間のトランザクシ
ョンの待ち時間のカウンタ(121)とを備えることを
特徴とする請求項1に記載の情報処理マシン。 - 【請求項6】 前記装置(6)が、カウンタ(111)
の内容が第三レジスタ(109)の内容を超過した時、
第四レジスタ(103)の内容を第二レジスタ(10
2)に書き込み、カウンタ(121)の内容が第三レジ
スタ(109)の内容を超過した時、第四レジスタ(1
03)の内容を第一レジスタ(101)に書き込み、第
一レジスタ(101)と第二レジスタ(102)の値の
間に含まれる値を第四レジスタ(103)に書き込むシ
ーケンサ(114)を備えることを特徴とする請求項4
又は5に記載の情報処理マシン。 - 【請求項7】 差がしきい値を超過した時、シーケンサ
(114)をその初期状態に復帰させるために、前記装
置(6)が、第一レジスタ(101)及び第二レジスタ
(102)の内容の差に関するしきい値を格納するため
の第五レジスタ(115)を備えることを特徴とする請
求項6に記載の情報処理マシン。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR9706747A FR2764097B1 (fr) | 1997-06-02 | 1997-06-02 | Detection de points chauds dans une machine avec memoire a acces non uniforme |
| FR9706747 | 1997-06-02 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1115735A true JPH1115735A (ja) | 1999-01-22 |
Family
ID=9507485
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10153260A Pending JPH1115735A (ja) | 1997-06-02 | 1998-06-02 | 不均一アクセスメモリ及びキャッシュメモリコヒーレンスを有する情報処理マシン |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US6195728B1 (ja) |
| EP (1) | EP0883064B1 (ja) |
| JP (1) | JPH1115735A (ja) |
| DE (1) | DE69822364T2 (ja) |
| FR (1) | FR2764097B1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020175173A1 (ja) * | 2019-02-26 | 2020-09-03 | 日本電気株式会社 | メモリ配置装置、メモリ配置方法、及び、メモリ配置プログラムを格納した記録媒体 |
Families Citing this family (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0908825B1 (en) * | 1997-10-10 | 2002-09-04 | Bull S.A. | A data-processing system with cc-NUMA (cache coherent, non-uniform memory access) architecture and remote access cache incorporated in local memory |
| JP4252139B2 (ja) * | 1998-12-16 | 2009-04-08 | 株式会社日立製作所 | 記憶装置システム |
| US6633959B2 (en) * | 2001-06-21 | 2003-10-14 | International Business Machines Corporation | Non-uniform memory access (NUMA) data processing system that provides notification of remote deallocation of shared data |
| US6615322B2 (en) | 2001-06-21 | 2003-09-02 | International Business Machines Corporation | Two-stage request protocol for accessing remote memory data in a NUMA data processing system |
| US6711652B2 (en) | 2001-06-21 | 2004-03-23 | International Business Machines Corporation | Non-uniform memory access (NUMA) data processing system that provides precise notification of remote deallocation of modified data |
| US6760817B2 (en) | 2001-06-21 | 2004-07-06 | International Business Machines Corporation | Method and system for prefetching utilizing memory initiated prefetch write operations |
| US6760809B2 (en) | 2001-06-21 | 2004-07-06 | International Business Machines Corporation | Non-uniform memory access (NUMA) data processing system having remote memory cache incorporated within system memory |
| US6754782B2 (en) | 2001-06-21 | 2004-06-22 | International Business Machines Corporation | Decentralized global coherency management in a multi-node computer system |
| US6901485B2 (en) | 2001-06-21 | 2005-05-31 | International Business Machines Corporation | Memory directory management in a multi-node computer system |
| US6654857B2 (en) | 2001-06-21 | 2003-11-25 | International Business Machines Corporation | Non-uniform memory access (NUMA) computer system having distributed global coherency management |
| US6721853B2 (en) | 2001-06-29 | 2004-04-13 | International Business Machines Corporation | High performance data processing system via cache victimization protocols |
| US7096323B1 (en) * | 2002-09-27 | 2006-08-22 | Advanced Micro Devices, Inc. | Computer system with processor cache that stores remote cache presence information |
| US8209490B2 (en) * | 2003-12-30 | 2012-06-26 | Intel Corporation | Protocol for maintaining cache coherency in a CMP |
| US7426649B2 (en) * | 2005-02-09 | 2008-09-16 | International Business Machines Corporation | Power management via DIMM read operation limiter |
| US10649943B2 (en) * | 2017-05-26 | 2020-05-12 | Dell Products, L.P. | System and method for I/O aware processor configuration |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4068304A (en) * | 1973-01-02 | 1978-01-10 | International Business Machines Corporation | Storage hierarchy performance monitor |
| US4845615A (en) * | 1984-04-30 | 1989-07-04 | Hewlett-Packard Company | Software performance analyzer |
| US5269013A (en) * | 1991-03-20 | 1993-12-07 | Digital Equipment Corporation | Adaptive memory management method for coupled memory multiprocessor systems |
| EP0689141A3 (en) * | 1994-06-20 | 1997-10-15 | At & T Corp | Disruption-based hardware support for system performance profiling |
| EP0769171A1 (en) * | 1995-05-05 | 1997-04-23 | Silicon Graphics, Inc. | Page migration in a non-uniform memory access (numa) system |
| US5887146A (en) * | 1995-08-14 | 1999-03-23 | Data General Corporation | Symmetric multiprocessing computer with non-uniform memory access architecture |
| US5860116A (en) * | 1996-12-11 | 1999-01-12 | Ncr Corporation | Memory page location control for multiple memory-multiple processor system |
| US6014690A (en) * | 1997-10-24 | 2000-01-11 | Digital Equipment Corporation | Employing multiple channels for deadlock avoidance in a cache coherency protocol |
| US6035377A (en) * | 1997-12-17 | 2000-03-07 | Ncr Corporation | Method and apparatus for determining memory pages having greatest frequency of access in a non-uniform memory access computer system |
-
1997
- 1997-06-02 FR FR9706747A patent/FR2764097B1/fr not_active Expired - Fee Related
-
1998
- 1998-05-27 EP EP98401261A patent/EP0883064B1/fr not_active Expired - Lifetime
- 1998-05-27 DE DE69822364T patent/DE69822364T2/de not_active Expired - Lifetime
- 1998-06-02 US US09/088,370 patent/US6195728B1/en not_active Expired - Lifetime
- 1998-06-02 JP JP10153260A patent/JPH1115735A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020175173A1 (ja) * | 2019-02-26 | 2020-09-03 | 日本電気株式会社 | メモリ配置装置、メモリ配置方法、及び、メモリ配置プログラムを格納した記録媒体 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0883064A1 (fr) | 1998-12-09 |
| FR2764097A1 (fr) | 1998-12-04 |
| DE69822364T2 (de) | 2005-02-17 |
| FR2764097B1 (fr) | 1999-07-02 |
| US6195728B1 (en) | 2001-02-27 |
| DE69822364D1 (de) | 2004-04-22 |
| EP0883064B1 (fr) | 2004-03-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5734922A (en) | Multiprocessing system configured to detect and efficiently provide for migratory data access patterns | |
| US10176057B2 (en) | Multi-lock caches | |
| CN110865968B (zh) | 多核处理装置及其内核之间数据传输方法 | |
| US5749095A (en) | Multiprocessing system configured to perform efficient write operations | |
| US5860159A (en) | Multiprocessing system including an apparatus for optimizing spin--lock operations | |
| US5983326A (en) | Multiprocessing system including an enhanced blocking mechanism for read-to-share-transactions in a NUMA mode | |
| US5878268A (en) | Multiprocessing system configured to store coherency state within multiple subnodes of a processing node | |
| JP3281893B2 (ja) | キャッシュ・メモリ階層内で利用するキャッシュ・コヒーレンシ機構を実施するための方法およびシステム | |
| US11928061B2 (en) | Cache management method and apparatus | |
| EP0818733B1 (en) | A multiprocessing system configured to perform software initiated prefetch operations | |
| JPH1115735A (ja) | 不均一アクセスメモリ及びキャッシュメモリコヒーレンスを有する情報処理マシン | |
| US20010037419A1 (en) | Multiprocessing system configured to perform efficient block copy operations | |
| US9229869B1 (en) | Multi-lock caches | |
| JPH10334068A (ja) | 非均一メモリアクセスを有するマシン用の置換カウンタ | |
| US20060123197A1 (en) | System, method and computer program product for application-level cache-mapping awareness and reallocation | |
| KR100243319B1 (ko) | 비포함적 메모리 억세스 메커니즘 | |
| US6195731B1 (en) | Instrumentation device for a machine with non-uniform memory access | |
| US7721047B2 (en) | System, method and computer program product for application-level cache-mapping awareness and reallocation requests | |
| JPWO2009075070A1 (ja) | 共有キャッシュ制御装置、共有キャッシュ制御方法及び集積回路 | |
| CN118656265B (zh) | 多核处理器的独占访问控制方法、多核处理器及电子设备 | |
| CN119179656A (zh) | 数据缓存控制方法、装置、介质、程序产品及终端 | |
| US7363435B1 (en) | System and method for coherence prediction | |
| EP4498245A1 (en) | Data processing method, apparatus, electronic device, and computer-readable storage medium | |
| CN119988257B (zh) | 多核处理器高速缓存访问失效后的缓存块替换方法、装置 | |
| CN116701263B (zh) | 一种用于超级计算机的dma操作方法及系统 |