JPH07152646A - 記憶階層レベル間での交換のコヒーレンシー管理方法 - Google Patents
記憶階層レベル間での交換のコヒーレンシー管理方法Info
- Publication number
- JPH07152646A JPH07152646A JP6164406A JP16440694A JPH07152646A JP H07152646 A JPH07152646 A JP H07152646A JP 6164406 A JP6164406 A JP 6164406A JP 16440694 A JP16440694 A JP 16440694A JP H07152646 A JPH07152646 A JP H07152646A
- Authority
- JP
- Japan
- Prior art keywords
- hierarchy
- block
- update
- information
- level
- 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/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
-
- 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/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
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)
Abstract
(57)【要約】
【目的】 記憶階層のレベル間で交換のコヒーレンシー
を管理するための最適な方法を提供する。 【構成】 階層の上位レベルと下位レベルとに接続され
た少なくとも1つの中間レベルを有する記憶階層のレベ
ル間での交換に適用される方法。階層の各レベルはメモ
リ(3、5、6)からなる。このメモリはアドレス(A
d)によって識別される情報(11)を格納した複数の
ブロック(10)からなり、上位レベルおよび中間レベ
ルにあるメモリのブロックは下位レベルの対応するアド
レスにあるブロック内の情報のコピーを格納している。
上位レベルにあるメモリのブロック(10.32)内の
情報を修正する際、上位レベルにある他のメモリの対応
するアドレスにある情報の少なくとも一部を無効にし、
更新の有用性に基づいて中間レベルおよび下位レベルの
対応するアドレスにある情報の更新あるいは無効化を管
理する。
を管理するための最適な方法を提供する。 【構成】 階層の上位レベルと下位レベルとに接続され
た少なくとも1つの中間レベルを有する記憶階層のレベ
ル間での交換に適用される方法。階層の各レベルはメモ
リ(3、5、6)からなる。このメモリはアドレス(A
d)によって識別される情報(11)を格納した複数の
ブロック(10)からなり、上位レベルおよび中間レベ
ルにあるメモリのブロックは下位レベルの対応するアド
レスにあるブロック内の情報のコピーを格納している。
上位レベルにあるメモリのブロック(10.32)内の
情報を修正する際、上位レベルにある他のメモリの対応
するアドレスにある情報の少なくとも一部を無効にし、
更新の有用性に基づいて中間レベルおよび下位レベルの
対応するアドレスにある情報の更新あるいは無効化を管
理する。
Description
【0001】
【産業上の利用分野】本発明は、少なくとも3つのレベ
ルを有する記憶階層のレベル間での交換のコヒーレント
な管理方法に関する。
ルを有する記憶階層のレベル間での交換のコヒーレント
な管理方法に関する。
【0002】
【従来の技術】最高速の最も高価な技術によるメモリの
容量を減らした記憶階層の諸レベルを設け、この階層の
連続したレベルのどこに置くかに応じて技術的コストに
反比例してメモリのサイズを増やしていき、あるいは常
に階層の最高速部分のメモリサイクルにほぼ匹敵するア
クセス時間で最も有用な情報を得られるのにちょうど十
分な容量のメモリを階層の最上位のレベルに使用して、
階層の全容量を階層の最下位のレベルにあるメモリすな
わち一般に最も安価な技術による最も大容量のメモリの
レベルの容量に等しくすることにより、総費用が法外な
ものになるという問題を生じずに、可能な限り大きなメ
モリ空間を持てるようにするための記憶階層を備える情
報処理アセンブリが知られている。
容量を減らした記憶階層の諸レベルを設け、この階層の
連続したレベルのどこに置くかに応じて技術的コストに
反比例してメモリのサイズを増やしていき、あるいは常
に階層の最高速部分のメモリサイクルにほぼ匹敵するア
クセス時間で最も有用な情報を得られるのにちょうど十
分な容量のメモリを階層の最上位のレベルに使用して、
階層の全容量を階層の最下位のレベルにあるメモリすな
わち一般に最も安価な技術による最も大容量のメモリの
レベルの容量に等しくすることにより、総費用が法外な
ものになるという問題を生じずに、可能な限り大きなメ
モリ空間を持てるようにするための記憶階層を備える情
報処理アセンブリが知られている。
【0003】通常の用語について考えると、各レベルは
複数のメモリに分かれており、このメモリ自体もアドレ
スによって識別される情報を格納した複数のブロックに
分かれている。階層の最下位レベルにあるアドレスは情
報の所在地に対応している。一方、階層の他のレベルに
あるブロックに格納されたこの情報のコピーも同じアド
レスに関連しているが、当該メモリの管理処理装置によ
って決められた任意の場所に格納されている。
複数のメモリに分かれており、このメモリ自体もアドレ
スによって識別される情報を格納した複数のブロックに
分かれている。階層の最下位レベルにあるアドレスは情
報の所在地に対応している。一方、階層の他のレベルに
あるブロックに格納されたこの情報のコピーも同じアド
レスに関連しているが、当該メモリの管理処理装置によ
って決められた任意の場所に格納されている。
【0004】
【発明が解決しようとする課題】このような記憶階層で
は、下位レベルにあるブロックの同一の初期情報のコピ
ーが複数存在し、これらのコピーが階層の上位レベルに
ある異なるブロックで修正された場合に、コピーのコヒ
ーレンシーの管理の問題が生じる。
は、下位レベルにあるブロックの同一の初期情報のコピ
ーが複数存在し、これらのコピーが階層の上位レベルに
ある異なるブロックで修正された場合に、コピーのコヒ
ーレンシーの管理の問題が生じる。
【0005】情報の管理のコヒーレンシーを保証するた
めに、上位レベルにあるブロックで情報を修正した場合
には、階層の上位レベルにある対応するブロックに格納
された情報を更新するかあるいは無効化するのが普通で
ある。更新には、情報の修正が行われなかったメモリに
格納されている情報に対する問合せ時に発生するミスヒ
ットを避けることができるという利点がある。しかしな
がら、この方法では修正を行う毎に情報を更新しなけれ
ばならず、メモリ間をつなぐ信号線上でのメッセージの
ビットレートが極めて大きくなるため、更新することで
情報処理装置の動作時間を犠牲にしなければならないと
いう欠点もある。一方、無効化は、情報を何回か修正す
る間に1回しか行わなくてよいので情報処理装置の動作
時間の点では有利であるが、情報が無効になったメモリ
での問合せの成功率は落ちる。
めに、上位レベルにあるブロックで情報を修正した場合
には、階層の上位レベルにある対応するブロックに格納
された情報を更新するかあるいは無効化するのが普通で
ある。更新には、情報の修正が行われなかったメモリに
格納されている情報に対する問合せ時に発生するミスヒ
ットを避けることができるという利点がある。しかしな
がら、この方法では修正を行う毎に情報を更新しなけれ
ばならず、メモリ間をつなぐ信号線上でのメッセージの
ビットレートが極めて大きくなるため、更新することで
情報処理装置の動作時間を犠牲にしなければならないと
いう欠点もある。一方、無効化は、情報を何回か修正す
る間に1回しか行わなくてよいので情報処理装置の動作
時間の点では有利であるが、情報が無効になったメモリ
での問合せの成功率は落ちる。
【0006】実際の情報処理アセンブリでは、記憶階層
の汎用管理システムのレベルでの命令やアプリケーショ
ンプログラムの命令によって、更新または無効化の処理
プロトコルを予め定めてある。従って、必要に応じて記
憶階層のレベル間をつなぐ信号線上のメッセージのビッ
トレートを最適化するように処理プロトコルを適合させ
ることが好ましいことは明らかである。
の汎用管理システムのレベルでの命令やアプリケーショ
ンプログラムの命令によって、更新または無効化の処理
プロトコルを予め定めてある。従って、必要に応じて記
憶階層のレベル間をつなぐ信号線上のメッセージのビッ
トレートを最適化するように処理プロトコルを適合させ
ることが好ましいことは明らかである。
【0007】本発明の目的は、階層の上位レベルおよび
下位レベルに接続された少なくとも1つの中間レベルを
有する記憶階層のレベル間で交換のコヒーレンシーを管
理するための最適な方法を提供することにある。
下位レベルに接続された少なくとも1つの中間レベルを
有する記憶階層のレベル間で交換のコヒーレンシーを管
理するための最適な方法を提供することにある。
【0008】
【課題を解決するための手段】本発明によれば、階層の
上位レベルにあるメモリのブロックに格納された情報の
修正時に、階層の上位レベルにある他のメモリの対応す
るアドレスにある情報の少なくとも一部を無効化し、更
新の有用性に応じて階層の中間レベルおよび下位レベル
の対応するアドレスにある情報の更新や無効化を管理す
るコヒーレンシー管理方法が得られる。
上位レベルにあるメモリのブロックに格納された情報の
修正時に、階層の上位レベルにある他のメモリの対応す
るアドレスにある情報の少なくとも一部を無効化し、更
新の有用性に応じて階層の中間レベルおよび下位レベル
の対応するアドレスにある情報の更新や無効化を管理す
るコヒーレンシー管理方法が得られる。
【0009】従って、情報が有用であり得るブロックに
格納された情報を維持しながら、更新に必要なメッセー
ジの交換を最小限に抑えることができる。本発明による
方法は、階層の中間レベルが例えば50MHzで16オ
クテットの転送能力を持つバスなどの待ち時間の短い信
号線によって階層の上位レベルと接続され、例えば2ギ
ガビット/秒の2本の直列接続からなる信号線などの高
ビットレートの信号線によって階層の下位レベルと接続
されている場合に特に好都合である。特に、このような
場合、修正後の情報が必要になった場合に待ち時間の短
い信号線を利用してこの修正後の情報を高速にアクセス
し、この待ち時間の短い信号線のあまり良くないビット
レートによる影響をなくすと共に、直列信号線の高ビッ
トレートを利用してこれらの信号線での長い待ち時間に
よる影響を最小限に抑えた更新を行う。
格納された情報を維持しながら、更新に必要なメッセー
ジの交換を最小限に抑えることができる。本発明による
方法は、階層の中間レベルが例えば50MHzで16オ
クテットの転送能力を持つバスなどの待ち時間の短い信
号線によって階層の上位レベルと接続され、例えば2ギ
ガビット/秒の2本の直列接続からなる信号線などの高
ビットレートの信号線によって階層の下位レベルと接続
されている場合に特に好都合である。特に、このような
場合、修正後の情報が必要になった場合に待ち時間の短
い信号線を利用してこの修正後の情報を高速にアクセス
し、この待ち時間の短い信号線のあまり良くないビット
レートによる影響をなくすと共に、直列信号線の高ビッ
トレートを利用してこれらの信号線での長い待ち時間に
よる影響を最小限に抑えた更新を行う。
【0010】階層における異なるレベルにあるメモリを
ノードに応じて再グループ化した情報処理アセンブリに
関する本発明の有利な態様によれば、修正されたブロッ
クが属するノードの階層の上位レベルにあるメモリに対
応するアドレスにあるブロックを更新すると共に、他の
ノード内の階層の上位レベルにあるメモリに対応するア
ドレスにあるブロックを無効にする。
ノードに応じて再グループ化した情報処理アセンブリに
関する本発明の有利な態様によれば、修正されたブロッ
クが属するノードの階層の上位レベルにあるメモリに対
応するアドレスにあるブロックを更新すると共に、他の
ノード内の階層の上位レベルにあるメモリに対応するア
ドレスにあるブロックを無効にする。
【0011】従って、情報処理アセンブリの残りの信号
線上のメッセージの流れを最小限に抑えながら、階層の
上位レベルにあるメモリが簡単にアクセスできることを
利用してこれらのメモリに対応するブロックを更新する
ことができる。
線上のメッセージの流れを最小限に抑えながら、階層の
上位レベルにあるメモリが簡単にアクセスできることを
利用してこれらのメモリに対応するブロックを更新する
ことができる。
【0012】階層の中間レベルの対応するアドレスにあ
るブロックに格納された情報のコピーを更新モードでプ
ロトコルに従って通常通り処理する情報処理アセンブリ
において交換の管理をさらに洗練された形で最適化する
ことを目的とした本発明の他の態様によれば、該ブロッ
クに格納された情報の第1のコピーあるいは情報の更新
を行う際に第1の状態になると共に、該ブロックに格納
された情報を利用する時には第2の状態になる有用ビッ
トを階層の中間レベルにある各ブロックに関連させ、階
層の下位レベルのあるアドレスにある情報を修正する際
に、階層の中間レベルの対応するアドレスにあるブロッ
クの更新を行うと共に、このアドレスにある先の更新の
有用性に応じて処理プロトコルが更新モードに維持さ
れ、あるいは無効化モードになり、この先の更新の有用
性は、更新の直前の同一アドレスのブロックでの有用ビ
ットの状態に応じて決定される。
るブロックに格納された情報のコピーを更新モードでプ
ロトコルに従って通常通り処理する情報処理アセンブリ
において交換の管理をさらに洗練された形で最適化する
ことを目的とした本発明の他の態様によれば、該ブロッ
クに格納された情報の第1のコピーあるいは情報の更新
を行う際に第1の状態になると共に、該ブロックに格納
された情報を利用する時には第2の状態になる有用ビッ
トを階層の中間レベルにある各ブロックに関連させ、階
層の下位レベルのあるアドレスにある情報を修正する際
に、階層の中間レベルの対応するアドレスにあるブロッ
クの更新を行うと共に、このアドレスにある先の更新の
有用性に応じて処理プロトコルが更新モードに維持さ
れ、あるいは無効化モードになり、この先の更新の有用
性は、更新の直前の同一アドレスのブロックでの有用ビ
ットの状態に応じて決定される。
【0013】従って、有用ビットの状態から更新済み情
報が利用されておらず先に行われた更新が無駄であった
ことが分かると、処理プロトコルが対応するアドレスか
ら無効化モードに移り、後の修正の際に更新を効率よく
行なうことができる。
報が利用されておらず先に行われた更新が無駄であった
ことが分かると、処理プロトコルが対応するアドレスか
ら無効化モードに移り、後の修正の際に更新を効率よく
行なうことができる。
【0014】本発明の実施態様の第1の形態によれば、
下位レベルに更新閾値を記憶し、第2の状態にある有用
ビットの比率が少なくとも更新閾値に等しい場合にはプ
ロトコルを更新モードに維持し、第2の状態にある有用
ビットの比率が更新閾値よりも小さい場合には無効モー
ドにする。
下位レベルに更新閾値を記憶し、第2の状態にある有用
ビットの比率が少なくとも更新閾値に等しい場合にはプ
ロトコルを更新モードに維持し、第2の状態にある有用
ビットの比率が更新閾値よりも小さい場合には無効モー
ドにする。
【0015】本発明の実施態様の第2の形態によれば、
階層の下位レベルに第1の閾値および第2の閾値を記憶
し、第1および第2の閾値と比較することにより第1お
よび第2の状態にある有用ビットの実際の数に応じて処
理プロトコルを更新モードに維持しあるいは無効化モー
ドにする。
階層の下位レベルに第1の閾値および第2の閾値を記憶
し、第1および第2の閾値と比較することにより第1お
よび第2の状態にある有用ビットの実際の数に応じて処
理プロトコルを更新モードに維持しあるいは無効化モー
ドにする。
【0016】具体的には、第2の状態にある有用ビット
の数が第2の閾値よりも小さい場合に、プロトコルを無
効化モードにする。
の数が第2の閾値よりも小さい場合に、プロトコルを無
効化モードにする。
【0017】第1および第2の状態にある有用ビットの
数がそれぞれ第1および第2の閾値よりも大きい場合に
は、プロトコルを更新モードに維持したまま、階層の上
位レベルにあるブロックに格納された情報を単発的に無
効化することが好ましい。
数がそれぞれ第1および第2の閾値よりも大きい場合に
は、プロトコルを更新モードに維持したまま、階層の上
位レベルにあるブロックに格納された情報を単発的に無
効化することが好ましい。
【0018】本発明のさらに他の態様によれば、階層の
中間レベルにあるブロックに格納された情報のコピーを
更新モードにあるプロトコルで処理する場合に更新の有
用性に応じて変化すると共に、階層の中間レベルにある
ブロックに格納された情報のコピーを無効化モードにあ
るプロトコルで処理する場合にはミスヒットの性質に応
じて変化するコードを階層の下位レベルの各アドレスに
関連させる。更新の有用性は有用ビットの状態に応じて
決定され、ミスヒットの性質は階層の中間レベルにある
メモリ内の情報およびアドレスの有無あるいは該メモリ
のブロック内の無効な情報によって決定され、階層の下
位レベルにある当該アドレスのコードに応じてプロトコ
ルのモードを変える。従って、実際の状況を極めて細か
く解析することができると共に、更新モードから無効化
モードに移るだけでなく、ミスヒットの性質から判断し
て明らかに有用なものであると分かった場合には更新モ
ードに戻ることもできる。
中間レベルにあるブロックに格納された情報のコピーを
更新モードにあるプロトコルで処理する場合に更新の有
用性に応じて変化すると共に、階層の中間レベルにある
ブロックに格納された情報のコピーを無効化モードにあ
るプロトコルで処理する場合にはミスヒットの性質に応
じて変化するコードを階層の下位レベルの各アドレスに
関連させる。更新の有用性は有用ビットの状態に応じて
決定され、ミスヒットの性質は階層の中間レベルにある
メモリ内の情報およびアドレスの有無あるいは該メモリ
のブロック内の無効な情報によって決定され、階層の下
位レベルにある当該アドレスのコードに応じてプロトコ
ルのモードを変える。従って、実際の状況を極めて細か
く解析することができると共に、更新モードから無効化
モードに移るだけでなく、ミスヒットの性質から判断し
て明らかに有用なものであると分かった場合には更新モ
ードに戻ることもできる。
【0019】もちろん、更新の有用性を判断する際には
以下の実施例において説明するモードを利用する。
以下の実施例において説明するモードを利用する。
【0020】
【実施例】図1を参照し、本発明による方法を共用メモ
リを使用する情報処理アセンブリに関して説明する。こ
の情報処理アセンブリでは、どの処理装置からもアクセ
ス可能なものでなければならない汎用メモリを、各処理
装置から直接あるいは間接的にアクセス可能なローカル
メモリに分散させている。以下に述べる実施例におい
て、処理装置およびメモリは、信号線を介して互いに接
続されたノードに従って再グループ化されている。
リを使用する情報処理アセンブリに関して説明する。こ
の情報処理アセンブリでは、どの処理装置からもアクセ
ス可能なものでなければならない汎用メモリを、各処理
装置から直接あるいは間接的にアクセス可能なローカル
メモリに分散させている。以下に述べる実施例におい
て、処理装置およびメモリは、信号線を介して互いに接
続されたノードに従って再グループ化されている。
【0021】図示の情報処理アセンブリは、一点鎖線の
矩形ブロックで示す3つのノードを含む。これらのノー
ドには参照符号1を付し、さらに各ノードを個々に区別
するために補助参照符号1、2、3を付す。よって、各
ノードはそれぞれ1.1、1.2、1.3となる。
矩形ブロックで示す3つのノードを含む。これらのノー
ドには参照符号1を付し、さらに各ノードを個々に区別
するために補助参照符号1、2、3を付す。よって、各
ノードはそれぞれ1.1、1.2、1.3となる。
【0022】本発明を説明するためにここでは3つのノ
ードを示してあるが、本発明はこの数に限定されるもの
ではなく、後述する本発明による方法を使用すれば、多
数(その数は図示の例に限定されるものではない)の処
理装置を各々再グループ化して得られる極めて多数のノ
ードからなる群を実現することができる。本発明では処
理装置の総数に比例して性能が向上するが、従来の方法
を使用すると処理装置の数を増やしても、逆に性能はす
ぐに限界に達してしまう。
ードを示してあるが、本発明はこの数に限定されるもの
ではなく、後述する本発明による方法を使用すれば、多
数(その数は図示の例に限定されるものではない)の処
理装置を各々再グループ化して得られる極めて多数のノ
ードからなる群を実現することができる。本発明では処
理装置の総数に比例して性能が向上するが、従来の方法
を使用すると処理装置の数を増やしても、逆に性能はす
ぐに限界に達してしまう。
【0023】図1を参照すると、各ノード1は参照符号
2を付した2つの命令処理装置を備えている。これらの
命令処理装置には2桁の補助参照符号を付し、各々どの
ノードに属するか(個々の補助参照符号の10の位の数
字)を示す。また、各命令処理装置にはノードの内部で
順に番号(個々の補助参照符号の1の位の数字)を付し
てある。従って、ノード1.1に属する処理装置は参照
符号2.11および2.12、ノード1.2に属する処
理装置は参照符号2.21および2.22、ノード1.
3に属する処理装置は参照符号2.31および2.32
で示される。
2を付した2つの命令処理装置を備えている。これらの
命令処理装置には2桁の補助参照符号を付し、各々どの
ノードに属するか(個々の補助参照符号の10の位の数
字)を示す。また、各命令処理装置にはノードの内部で
順に番号(個々の補助参照符号の1の位の数字)を付し
てある。従って、ノード1.1に属する処理装置は参照
符号2.11および2.12、ノード1.2に属する処
理装置は参照符号2.21および2.22、ノード1.
3に属する処理装置は参照符号2.31および2.32
で示される。
【0024】各処理装置は直接メモリに接続されてい
る。以下の説明では、このメモリを専用キャッシュまた
は階層の上位レベルにあるメモリと呼ぶ。「キャッシ
ュ」という用語は、情報処理アセンブリの汎用メモリの
あるアドレスに保持された情報のコピーを格納してお
き、命令処理装置が特定の情報を使用して命令を実行す
る際にこの命令の実行毎に汎用メモリから情報を機械的
に取り出してくる場合よりも高速に同じ情報を利用でき
るようにするためのブロックを有するメモリという意味
で用いられるのが普通である。本願明細書において使用
する「専用キャッシュ」あるいは「階層の上位レベルに
あるメモリ」という用語は、命令処理装置が直接接続さ
れているキャッシュを意味する。専用キャッシュには参
照符号3を付し、これらのキャッシュが接続された処理
装置の場合と同様に個々の専用キャッシュには以下のよ
うに参照符号を付す。すなわち、ノード1.1について
は3.11および3.12、ノード1.2については
3.21および3.22、ノード1.3については3.
31および3.32で専用キャッシュを示してある。
る。以下の説明では、このメモリを専用キャッシュまた
は階層の上位レベルにあるメモリと呼ぶ。「キャッシ
ュ」という用語は、情報処理アセンブリの汎用メモリの
あるアドレスに保持された情報のコピーを格納してお
き、命令処理装置が特定の情報を使用して命令を実行す
る際にこの命令の実行毎に汎用メモリから情報を機械的
に取り出してくる場合よりも高速に同じ情報を利用でき
るようにするためのブロックを有するメモリという意味
で用いられるのが普通である。本願明細書において使用
する「専用キャッシュ」あるいは「階層の上位レベルに
あるメモリ」という用語は、命令処理装置が直接接続さ
れているキャッシュを意味する。専用キャッシュには参
照符号3を付し、これらのキャッシュが接続された処理
装置の場合と同様に個々の専用キャッシュには以下のよ
うに参照符号を付す。すなわち、ノード1.1について
は3.11および3.12、ノード1.2については
3.21および3.22、ノード1.3については3.
31および3.32で専用キャッシュを示してある。
【0025】専用キャッシュ3は各ノード内でパラレル
バスに接続されている。このパラレルバスには参照符号
4を付し、さらに個々のパラレルバスを区別するために
それぞれが属するノードに対応した補助参照符号を付
す。従って各パラレルバスを示す参照符号は4.1、
4.2、4.3となる。後述するノード内の全構成要素
についてこれと同じように参照符号を付す。このバス4
はノード内での単なる内部接続用であるので、以下の説
明ではこのバスをローカルバスと呼ぶ。ローカルバス4
は、例えば50MHzで16オクテットの転送能力を持
つバスなどの待ち時間の短いバスである。
バスに接続されている。このパラレルバスには参照符号
4を付し、さらに個々のパラレルバスを区別するために
それぞれが属するノードに対応した補助参照符号を付
す。従って各パラレルバスを示す参照符号は4.1、
4.2、4.3となる。後述するノード内の全構成要素
についてこれと同じように参照符号を付す。このバス4
はノード内での単なる内部接続用であるので、以下の説
明ではこのバスをローカルバスと呼ぶ。ローカルバス4
は、例えば50MHzで16オクテットの転送能力を持
つバスなどの待ち時間の短いバスである。
【0026】各ローカルバスはキャッシュ(以下、共用
キャッシュと呼ぶ)に接続されている。共用キャッシュ
は階層の中間レベルにあるメモリからなり、全体として
参照符号5で示され、その各々は参照符号5.1、5.
2、5.3で示されている。各ローカルバスは、また情
報処理アセンブリの汎用メモリの一部に接続されてい
る。汎用メモリの各部分がノード内にあることを示すた
めに、以下の説明ではこれらの部分をローカルメモリと
呼ぶ。ローカルメモリを参照符号6で示し、そのそれぞ
れを6.1、6.2、6.3とする。
キャッシュと呼ぶ)に接続されている。共用キャッシュ
は階層の中間レベルにあるメモリからなり、全体として
参照符号5で示され、その各々は参照符号5.1、5.
2、5.3で示されている。各ローカルバスは、また情
報処理アセンブリの汎用メモリの一部に接続されてい
る。汎用メモリの各部分がノード内にあることを示すた
めに、以下の説明ではこれらの部分をローカルメモリと
呼ぶ。ローカルメモリを参照符号6で示し、そのそれぞ
れを6.1、6.2、6.3とする。
【0027】ここに図示する好ましい実施例において、
共用キャッシュ5およびローカルメモリ6は、7.1、
7.2、7.3で示されるパラレルバス7に接続されて
いる。以下の説明ではパラレルバス7をシステムバスと
呼ぶ。各システムバスは、8.1、8.2、8.3で示
される直列信号線制御装置8に接続されている。この直
列信号線制御装置は、ノード同士を接続するための直列
信号線9とシステムバスとの間のインタフェースをなし
ている。
共用キャッシュ5およびローカルメモリ6は、7.1、
7.2、7.3で示されるパラレルバス7に接続されて
いる。以下の説明ではパラレルバス7をシステムバスと
呼ぶ。各システムバスは、8.1、8.2、8.3で示
される直列信号線制御装置8に接続されている。この直
列信号線制御装置は、ノード同士を接続するための直列
信号線9とシステムバスとの間のインタフェースをなし
ている。
【0028】管理処理装置は異なるレベルのメモリの各
々に接続されているが、ここでは図面が細かくなりすぎ
るのを避けるために図示していない。階層の上位レベ
ル、階層の中間レベル、階層の下位レベルという呼び方
は、記憶階層内での各レベルの幾何的位置を示すもので
はなく、命令処理装置に対する多少なりとも直接的な関
係の重要度を示す。具体的には、ローカルメモリ6は物
理的にはむしろ共用キャッシュ5に隣接するような形で
配置されている。このようにするため、ノード内ではロ
ーカルメモリ6は直接ローカルバス4に接続されている
が、本発明ではローカルメモリの方を下位レベルのメモ
リにしていることに注意されたい。同一ノード内で別の
情報を同時にアクセスするために、例えばローカルメモ
リ6.2など同じノードのローカルメモリに格納されて
いる情報を、この場合であれば共用キャッシュ5.2な
どのノードの共用キャッシュにコピーする。この時、ノ
ード1.2の処理装置はローカルメモリ内の情報を直接
アクセスすることができるが、共用キャッシュ5.2に
格納されたコピーは他のノードのローカルメモリ内の情
報のコピー同様に階層の中間レベルにあるメモリ中のコ
ピーとみなされることは理解できよう。
々に接続されているが、ここでは図面が細かくなりすぎ
るのを避けるために図示していない。階層の上位レベ
ル、階層の中間レベル、階層の下位レベルという呼び方
は、記憶階層内での各レベルの幾何的位置を示すもので
はなく、命令処理装置に対する多少なりとも直接的な関
係の重要度を示す。具体的には、ローカルメモリ6は物
理的にはむしろ共用キャッシュ5に隣接するような形で
配置されている。このようにするため、ノード内ではロ
ーカルメモリ6は直接ローカルバス4に接続されている
が、本発明ではローカルメモリの方を下位レベルのメモ
リにしていることに注意されたい。同一ノード内で別の
情報を同時にアクセスするために、例えばローカルメモ
リ6.2など同じノードのローカルメモリに格納されて
いる情報を、この場合であれば共用キャッシュ5.2な
どのノードの共用キャッシュにコピーする。この時、ノ
ード1.2の処理装置はローカルメモリ内の情報を直接
アクセスすることができるが、共用キャッシュ5.2に
格納されたコピーは他のノードのローカルメモリ内の情
報のコピー同様に階層の中間レベルにあるメモリ中のコ
ピーとみなされることは理解できよう。
【0029】一般に、階層の下位レベルにあるローカル
メモリ6は、低コストの技術で得られる大容量のメモリ
である。一方、階層の上位レベルにある専用キャッシュ
3は、高価な技術によるメモリである。この専用キャッ
シュはアクセス速度は速いが、製造費用が法外に高くな
らないようにその相対的サイズはメモリ6のサイズより
もずっと小さい。
メモリ6は、低コストの技術で得られる大容量のメモリ
である。一方、階層の上位レベルにある専用キャッシュ
3は、高価な技術によるメモリである。この専用キャッ
シュはアクセス速度は速いが、製造費用が法外に高くな
らないようにその相対的サイズはメモリ6のサイズより
もずっと小さい。
【0030】次に動作について説明する。例えばブロッ
ク10に格納されている情報やアドレスAdに関連した
ビット列11で示される情報など最初からメモリ6に格
納されている情報は、階層の上位レベルにある対応する
ブロック(それぞれ10.1、10.3;10.11、
10.22、10.31および10.32)内に格納さ
れた情報を順次コピーしたものであり、命令処理装置に
おいて即座に利用できるようにこの命令処理装置からの
要求に応じて同一のアドレスAdと関連させてある。従
って、図示の例では情報Aは、階層の中間レベルにある
対応する共用キャッシュ5.1のブロック10.1と共
用キャッシュ5.3のブロック10.3とにコピーさ
れ、次に階層の上位レベルにある専用キャッシュ3.1
1、3.31、3.32のブロック10.11、10.
31、10.32にコピーされる。専用キャッシュ3.
22のブロック10.22内のコピーについて考える
と、専用キャッシュ3.22は同一ノード内にあるロー
カルメモリ6.2を直接アクセスできるため、このコピ
ーは直接実行される。従って、命令処理装置2.11、
2.22、2.31および2.32は同じ情報を独立し
て処理する。ある情報をAからBに修正する時に例えば
ブロック10.32など階層の上位レベルでこの情報を
修正した場合、下向きの太い矢印で示すように、階層の
下位レベルすなわちローカルメモリ6.2でもこの情報
が分かるようにしておく。他のメモリ3のブロック全て
についても同様に体系的な更新を行うことができる。し
かしながら、1つの命令処理装置2が情報を修正する毎
に階層の上位レベルにある他のメモリ全てにおいて更新
を行ってしまうと、信号線上の更新メッセージのビット
レートが極めて大きくなり、命令処理装置を待たせてし
まうというリスクを生じる。
ク10に格納されている情報やアドレスAdに関連した
ビット列11で示される情報など最初からメモリ6に格
納されている情報は、階層の上位レベルにある対応する
ブロック(それぞれ10.1、10.3;10.11、
10.22、10.31および10.32)内に格納さ
れた情報を順次コピーしたものであり、命令処理装置に
おいて即座に利用できるようにこの命令処理装置からの
要求に応じて同一のアドレスAdと関連させてある。従
って、図示の例では情報Aは、階層の中間レベルにある
対応する共用キャッシュ5.1のブロック10.1と共
用キャッシュ5.3のブロック10.3とにコピーさ
れ、次に階層の上位レベルにある専用キャッシュ3.1
1、3.31、3.32のブロック10.11、10.
31、10.32にコピーされる。専用キャッシュ3.
22のブロック10.22内のコピーについて考える
と、専用キャッシュ3.22は同一ノード内にあるロー
カルメモリ6.2を直接アクセスできるため、このコピ
ーは直接実行される。従って、命令処理装置2.11、
2.22、2.31および2.32は同じ情報を独立し
て処理する。ある情報をAからBに修正する時に例えば
ブロック10.32など階層の上位レベルでこの情報を
修正した場合、下向きの太い矢印で示すように、階層の
下位レベルすなわちローカルメモリ6.2でもこの情報
が分かるようにしておく。他のメモリ3のブロック全て
についても同様に体系的な更新を行うことができる。し
かしながら、1つの命令処理装置2が情報を修正する毎
に階層の上位レベルにある他のメモリ全てにおいて更新
を行ってしまうと、信号線上の更新メッセージのビット
レートが極めて大きくなり、命令処理装置を待たせてし
まうというリスクを生じる。
【0031】一方、全メモリ3において無効化を行う
と、命令処理装置2が後で問合せを行う時にミスヒット
が生じ、結局は同じように命令処理装置2の動作速度が
落ちてしまう。
と、命令処理装置2が後で問合せを行う時にミスヒット
が生じ、結局は同じように命令処理装置2の動作速度が
落ちてしまう。
【0032】本発明によれば、階層の上位レベルにある
他のメモリの対応するアドレスにある情報の少なくとも
一部を無効にし、階層の中間レベルおよび下位レベルの
対応するアドレスにある情報の更新や無効化を更新の有
用性に基づいて管理する。
他のメモリの対応するアドレスにある情報の少なくとも
一部を無効にし、階層の中間レベルおよび下位レベルの
対応するアドレスにある情報の更新や無効化を更新の有
用性に基づいて管理する。
【0033】特に、図1に示す好ましい実施例によれ
ば、修正されたブロックの属するノードの階層の上位レ
ベルにあるメモリ3の対応するアドレスにあるブロック
を更新する一方で、他のノードの階層の上位レベルにあ
るメモリの対応するアドレスにあるブロックを無効にす
る。図示の実施例において、修正は処理装置2.32に
よって行われ、したがって最初に専用キャッシュ3.3
2内で実行されると仮定する。本発明によれば、専用キ
ャッシュ3.31のブロック10.31内の情報を更新
すると共に、専用キャッシュ3.11のブロック10.
11に格納された情報と、専用キャッシュ3.22のブ
ロック10.22に格納された情報を無効にする。
ば、修正されたブロックの属するノードの階層の上位レ
ベルにあるメモリ3の対応するアドレスにあるブロック
を更新する一方で、他のノードの階層の上位レベルにあ
るメモリの対応するアドレスにあるブロックを無効にす
る。図示の実施例において、修正は処理装置2.32に
よって行われ、したがって最初に専用キャッシュ3.3
2内で実行されると仮定する。本発明によれば、専用キ
ャッシュ3.31のブロック10.31内の情報を更新
すると共に、専用キャッシュ3.11のブロック10.
11に格納された情報と、専用キャッシュ3.22のブ
ロック10.22に格納された情報を無効にする。
【0034】仮に処理装置2.11によって利用される
ことを前提に情報Aを予めコピーしておいたとしても、
この情報が処理装置によって利用されずに問合せの対象
ともならないのであれば、共用キャッシュ5.1のブロ
ック10.1内の情報の更新は必ずしも有用という訳で
はないことに留意されたい。
ことを前提に情報Aを予めコピーしておいたとしても、
この情報が処理装置によって利用されずに問合せの対象
ともならないのであれば、共用キャッシュ5.1のブロ
ック10.1内の情報の更新は必ずしも有用という訳で
はないことに留意されたい。
【0035】本発明の好ましい実施例によれば、更新の
有用性に基づいて処理モードを適合させる。このように
するため、本発明の第1の実施例では、メモリ5のブロ
ックに格納された情報のコピーを更新モードにあるプロ
トコルで通常通り処理し、階層の中間レベルにある各ブ
ロックに有用ビット12を関連させる。すなわち、ブロ
ック10.1にはビット12.1、ブロック10.3に
はビット12.3を関連させる。有用ビットは、第1の
コピーあるいはこのアドレスに関連した情報の更新時に
は例えば図1において「0」で示すように第1の状態に
なり、このアドレスに関連した情報の問合せ時には例え
ば状態1などの第2の状態になる。実際には、階層の下
位レベルにあるメモリ6.2の管理処理装置によって更
新を行う場合には、更新が行われるブロックから肯定応
答信号が出力される。従って、更新の直前に有用ビット
の状態についての指示を簡単に肯定応答メッセージに含
めることができる。この有用ビットの状態は、このブロ
ックについての前の更新がどの程度有用であるかを示
す。具体的には、有用ビットの前の更新後にアドレスが
照会された場合にはそのブロックは「1」になり、アド
レスが全く照会されない場合にはそのブロックは「0」
のままである。
有用性に基づいて処理モードを適合させる。このように
するため、本発明の第1の実施例では、メモリ5のブロ
ックに格納された情報のコピーを更新モードにあるプロ
トコルで通常通り処理し、階層の中間レベルにある各ブ
ロックに有用ビット12を関連させる。すなわち、ブロ
ック10.1にはビット12.1、ブロック10.3に
はビット12.3を関連させる。有用ビットは、第1の
コピーあるいはこのアドレスに関連した情報の更新時に
は例えば図1において「0」で示すように第1の状態に
なり、このアドレスに関連した情報の問合せ時には例え
ば状態1などの第2の状態になる。実際には、階層の下
位レベルにあるメモリ6.2の管理処理装置によって更
新を行う場合には、更新が行われるブロックから肯定応
答信号が出力される。従って、更新の直前に有用ビット
の状態についての指示を簡単に肯定応答メッセージに含
めることができる。この有用ビットの状態は、このブロ
ックについての前の更新がどの程度有用であるかを示
す。具体的には、有用ビットの前の更新後にアドレスが
照会された場合にはそのブロックは「1」になり、アド
レスが全く照会されない場合にはそのブロックは「0」
のままである。
【0036】この指示の利用は、特に階層の下位レベル
にあるブロックの各々に接続された階層の中間レベルに
あるブロックの数や、異なる命令処理装置間での予測で
きる情報共用の程度などに応じて様々な方法で行うこと
ができる。プロトコルの機能モードを、ある1つのブロ
ックでの更新の有用性を考慮してというよりは、同一の
アドレスを有する中間レベルにあるブロックの群に応じ
た更新の有用性を考慮して修正されることが好ましい。
にあるブロックの各々に接続された階層の中間レベルに
あるブロックの数や、異なる命令処理装置間での予測で
きる情報共用の程度などに応じて様々な方法で行うこと
ができる。プロトコルの機能モードを、ある1つのブロ
ックでの更新の有用性を考慮してというよりは、同一の
アドレスを有する中間レベルにあるブロックの群に応じ
た更新の有用性を考慮して修正されることが好ましい。
【0037】特に、本発明のこの実施例の第1の形態に
よれば、例えば階層の下位レベルにあるメモリ6.2の
管理処理装置に関連したディレクトリ(図示せず)に更
新閾値を記憶しておき、更新を行う毎に第2の状態にあ
る有用ビットの比率を更新閾値と比較する。第2の状態
にある有用ビットの比率が更新閾値よりも小さい場合、
階層の中間レベルにある同一アドレスのブロック全てに
ついて処理プロトコルを無効化モードに維持する。ま
た、第2の状態にある有用ビットの比率が少なくとも更
新閾値と等しい場合には、階層の上位レベルの処理プロ
トコルを更新モードに維持する。
よれば、例えば階層の下位レベルにあるメモリ6.2の
管理処理装置に関連したディレクトリ(図示せず)に更
新閾値を記憶しておき、更新を行う毎に第2の状態にあ
る有用ビットの比率を更新閾値と比較する。第2の状態
にある有用ビットの比率が更新閾値よりも小さい場合、
階層の中間レベルにある同一アドレスのブロック全てに
ついて処理プロトコルを無効化モードに維持する。ま
た、第2の状態にある有用ビットの比率が少なくとも更
新閾値と等しい場合には、階層の上位レベルの処理プロ
トコルを更新モードに維持する。
【0038】図2の表に示した本実施例の第2の形態で
は、第2の状態にある有用ビットの比率は考慮せず、各
状態にあるビット数および2つの閾値を考慮に入れる。
第1の状態にある有用ビット数、すなわち前回の更新時
以来1度も照会されていないためその更新が無駄になる
ブロックに関連した有用ビットの数を第1の閾値S1と
比較する。第2の状態にある有用ビット数、すなわち同
一アドレスを有し、メモリの接続されている命令処理装
置によって照会され、前回の更新が有用になったブロッ
クに関連した有用ビットの数を、第1の閾値S1ではな
く第2の閾値S2と比較する。
は、第2の状態にある有用ビットの比率は考慮せず、各
状態にあるビット数および2つの閾値を考慮に入れる。
第1の状態にある有用ビット数、すなわち前回の更新時
以来1度も照会されていないためその更新が無駄になる
ブロックに関連した有用ビットの数を第1の閾値S1と
比較する。第2の状態にある有用ビット数、すなわち同
一アドレスを有し、メモリの接続されている命令処理装
置によって照会され、前回の更新が有用になったブロッ
クに関連した有用ビットの数を、第1の閾値S1ではな
く第2の閾値S2と比較する。
【0039】このように比較した結果に基づいてプロト
コルの処理モードは「更新」モードに維持されるかある
いは「無効化」モードにされる。図2に示す好ましい実
施例によれば、第2の状態にある有用ビットの数が第1
の状態にある有用ビットの数及び第2の閾値S2よりも
小さくなると、無効化モードに移る。第2の状態にある
有用ビットの数が第2の閾値S2よりも大きく、かつ第
1の状態にある有用ビットの数が第1の閾値S1よりも
小さいような状況では、プロトコルは更新モードにな
る。第2の状態にある有用ビット数が第2の閾値よりも
大きく、かつ第1の状態にある有用ビット数も第1の閾
値S1よりも大きい場合にも、プロトコルは更新モード
になるが、明らかに無駄なものであって次の更新前に命
令処理装置からの問合せがなければ、更新されることも
ない大量のコピーを格納しているメモリをクリアするた
めに単発的に無効化を実行する。この目的のため、更新
モードにあるプロトコルは、修正対象となる下位レベル
のブロックと同一アドレスを有する、階層の中間レベル
に存在するブロックに対するコピーの更新だけを行うこ
とに留意されたい。
コルの処理モードは「更新」モードに維持されるかある
いは「無効化」モードにされる。図2に示す好ましい実
施例によれば、第2の状態にある有用ビットの数が第1
の状態にある有用ビットの数及び第2の閾値S2よりも
小さくなると、無効化モードに移る。第2の状態にある
有用ビットの数が第2の閾値S2よりも大きく、かつ第
1の状態にある有用ビットの数が第1の閾値S1よりも
小さいような状況では、プロトコルは更新モードにな
る。第2の状態にある有用ビット数が第2の閾値よりも
大きく、かつ第1の状態にある有用ビット数も第1の閾
値S1よりも大きい場合にも、プロトコルは更新モード
になるが、明らかに無駄なものであって次の更新前に命
令処理装置からの問合せがなければ、更新されることも
ない大量のコピーを格納しているメモリをクリアするた
めに単発的に無効化を実行する。この目的のため、更新
モードにあるプロトコルは、修正対象となる下位レベル
のブロックと同一アドレスを有する、階層の中間レベル
に存在するブロックに対するコピーの更新だけを行うこ
とに留意されたい。
【0040】以下に述べる本発明の特定の実施例の2つ
の形態は、多数の処理装置が限られた回数だけしか情報
を利用しなかった場合に更新メッセージのビットレート
を効果的に減少させる一方で、限られた数の処理装置だ
けが情報を頻繁に利用し多数の処理装置はその情報をあ
まり利用しなかった場合に中間レベルにおける問い合わ
せのミスヒット率を増加させる統計的機能を有する。無
効化モードになった後は、更新が有用であるならば更新
モードに戻すことができると好ましい。
の形態は、多数の処理装置が限られた回数だけしか情報
を利用しなかった場合に更新メッセージのビットレート
を効果的に減少させる一方で、限られた数の処理装置だ
けが情報を頻繁に利用し多数の処理装置はその情報をあ
まり利用しなかった場合に中間レベルにおける問い合わ
せのミスヒット率を増加させる統計的機能を有する。無
効化モードになった後は、更新が有用であるならば更新
モードに戻すことができると好ましい。
【0041】これについて、本発明の実施例における第
2の形態によれば、プロトコルが更新モードである時に
は更新の有用性、プロトコルが無効化モードである時に
はミスヒットの性質に応じて後述するように変化するコ
ードを下位レベルの各アドレスに関連させる。
2の形態によれば、プロトコルが更新モードである時に
は更新の有用性、プロトコルが無効化モードである時に
はミスヒットの性質に応じて後述するように変化するコ
ードを下位レベルの各アドレスに関連させる。
【0042】本発明のこの実施例の第2の形態では、階
層の下位レベルにあるアドレスのコードに応じてプロト
コルのモードを変化させる。
層の下位レベルにあるアドレスのコードに応じてプロト
コルのモードを変化させる。
【0043】図1を参照すると、下位レベルにあるブロ
ック10はそれぞれコードを形成する2ビットからなる
領域13を有する。このコードの変化およびプロトコル
に対応する機能のモードの選択の例を図3に示す。図3
には、下位レベルのアドレスに関連した2ビットのコー
ドについて考えられる異なる値を示してある。これらの
値は点線で2つのグループに分けられている。点線の上
側にある値は無効化モードにあるプロトコルに対応し、
点線の下側にある値は更新モードにあるプロトコルに対
応している。
ック10はそれぞれコードを形成する2ビットからなる
領域13を有する。このコードの変化およびプロトコル
に対応する機能のモードの選択の例を図3に示す。図3
には、下位レベルのアドレスに関連した2ビットのコー
ドについて考えられる異なる値を示してある。これらの
値は点線で2つのグループに分けられている。点線の上
側にある値は無効化モードにあるプロトコルに対応し、
点線の下側にある値は更新モードにあるプロトコルに対
応している。
【0044】コードの値の変化と、コードの値が変化す
ることによるプロトコルのモードへの影響について説明
するために、下位レベルにあるメモリ6のブロック10
に格納された情報はコピーされていないと仮定し、その
2ビットのコードはゼロであって中間レベルにあるメモ
リとの関係を示すプロトコルは無効化モードにあると仮
定する。
ることによるプロトコルのモードへの影響について説明
するために、下位レベルにあるメモリ6のブロック10
に格納された情報はコピーされていないと仮定し、その
2ビットのコードはゼロであって中間レベルにあるメモ
リとの関係を示すプロトコルは無効化モードにあると仮
定する。
【0045】このような状況から出発して、アドレス
(Ad)における情報を必要としている例えば命令処理
装置2.11などの命令処理装置は、専用キャッシュ
3.11に対してその情報を要求する。専用キャッシュ
3.11はその情報を格納していないため、共用キャッ
シュ5.1に対して同じように情報を要求する。(ここ
で、要求された情報はローカルメモリ6.1には格納さ
れておらず、例えば図示の例ではローカルメモリ6.2
など他のノードにあるローカルメモリに格納されている
と仮定する。)共用キャッシュ5.1はその情報を格納
していないので、メモリ5.1の管理処理装置は、シス
テムバス7.1、直列信号線制御装置8.1、この直列
信号線制御装置と直列信号線制御装置8.2とを結ぶ直
列信号線9、システムバス7.2を介してメモリ6.2
に対してその情報を要求しなければならない。この問合
せの間、共用キャッシュ5.1の管理処理装置は、共用
キャッシュ5.1にその情報はないだけでなくどのブロ
ックにもアドレス(Ad)が含まれていないことを示す
信号をローカルメモリ6.2の管理処理装置に送る。以
下、このような状況を「重大なミスヒット」と呼び、図
3において矢印14で示す。この矢印14は、ブロック
10の領域13のコードの値が「00」のままであり、
アドレス(Ad)に関するメモリ6.2とメモリ5との
関係を示すプロトコルが無効化モードのままである状態
に対応する。この情報が極めてまれにしか利用されない
のであれば、共用キャッシュ5.1の管理処理装置は後
にそのアドレスを消去する。処理装置2.11によって
この情報に対して後述する新たな問合せがなされた場合
には状況は再び重大なミスヒット状態になる。新たな処
理装置が情報のコピーを問合せる毎に同じようなことが
起こる。
(Ad)における情報を必要としている例えば命令処理
装置2.11などの命令処理装置は、専用キャッシュ
3.11に対してその情報を要求する。専用キャッシュ
3.11はその情報を格納していないため、共用キャッ
シュ5.1に対して同じように情報を要求する。(ここ
で、要求された情報はローカルメモリ6.1には格納さ
れておらず、例えば図示の例ではローカルメモリ6.2
など他のノードにあるローカルメモリに格納されている
と仮定する。)共用キャッシュ5.1はその情報を格納
していないので、メモリ5.1の管理処理装置は、シス
テムバス7.1、直列信号線制御装置8.1、この直列
信号線制御装置と直列信号線制御装置8.2とを結ぶ直
列信号線9、システムバス7.2を介してメモリ6.2
に対してその情報を要求しなければならない。この問合
せの間、共用キャッシュ5.1の管理処理装置は、共用
キャッシュ5.1にその情報はないだけでなくどのブロ
ックにもアドレス(Ad)が含まれていないことを示す
信号をローカルメモリ6.2の管理処理装置に送る。以
下、このような状況を「重大なミスヒット」と呼び、図
3において矢印14で示す。この矢印14は、ブロック
10の領域13のコードの値が「00」のままであり、
アドレス(Ad)に関するメモリ6.2とメモリ5との
関係を示すプロトコルが無効化モードのままである状態
に対応する。この情報が極めてまれにしか利用されない
のであれば、共用キャッシュ5.1の管理処理装置は後
にそのアドレスを消去する。処理装置2.11によって
この情報に対して後述する新たな問合せがなされた場合
には状況は再び重大なミスヒット状態になる。新たな処
理装置が情報のコピーを問合せる毎に同じようなことが
起こる。
【0046】ここで、情報は中間レベルの2つのブロッ
ク10.1および10.3に順次コピーされており、例
えば図1に示すような2.32などの処理装置が情報を
AからBに修正したと仮定する。下降関係のプロトコル
によれば、ブロック10のベースアドレスの情報も同じ
ように修正されるが、ブロック10のコードは「00」
のままである。メモリ6.2からメモリ5方向への上昇
関係のプロトコルは無効化モードのままであり、ブロッ
ク10.1の情報は単に無効化され、一方アドレス(A
d)はブロック10.1に維持される。
ク10.1および10.3に順次コピーされており、例
えば図1に示すような2.32などの処理装置が情報を
AからBに修正したと仮定する。下降関係のプロトコル
によれば、ブロック10のベースアドレスの情報も同じ
ように修正されるが、ブロック10のコードは「00」
のままである。メモリ6.2からメモリ5方向への上昇
関係のプロトコルは無効化モードのままであり、ブロッ
ク10.1の情報は単に無効化され、一方アドレス(A
d)はブロック10.1に維持される。
【0047】この状況において、処理装置2.11によ
って情報が要求されると、メモリ5.1の管理処理装置
はアドレスの存在を確認するが無効化されている関連の
情報を与えることはできない。従って、その情報を更新
するために再びメモリ6.2に問合せる必要がある。し
かしながら、この問合せはアドレス(Ad)が常にブロ
ック10.1にあることを明言することによって実行さ
れる。以下、このような状況を「些細なミスヒット」と
呼ぶ。この時、図3において矢印15で示すようにコー
ドの値が「01」になるように、コードの状態を示すビ
ットの1つを修正する。図3からも明らかなように、こ
のコードについてメモリ6.2からメモリ5方向へのア
ドレス(Ad)についての関係のプロトコルは無効化モ
ードのままであり、その間にアドレス10.1が削除さ
れていれば処理装置2.11以外の処理装置による情報
の修正後のブロック10.1に対する問合せは再び些細
なミスヒット状態になる。このような重大なミスヒット
に対応する状況を図3において矢印16で示す。ここで
はブロック10内のコードを値「00」に戻す。
って情報が要求されると、メモリ5.1の管理処理装置
はアドレスの存在を確認するが無効化されている関連の
情報を与えることはできない。従って、その情報を更新
するために再びメモリ6.2に問合せる必要がある。し
かしながら、この問合せはアドレス(Ad)が常にブロ
ック10.1にあることを明言することによって実行さ
れる。以下、このような状況を「些細なミスヒット」と
呼ぶ。この時、図3において矢印15で示すようにコー
ドの値が「01」になるように、コードの状態を示すビ
ットの1つを修正する。図3からも明らかなように、こ
のコードについてメモリ6.2からメモリ5方向へのア
ドレス(Ad)についての関係のプロトコルは無効化モ
ードのままであり、その間にアドレス10.1が削除さ
れていれば処理装置2.11以外の処理装置による情報
の修正後のブロック10.1に対する問合せは再び些細
なミスヒット状態になる。このような重大なミスヒット
に対応する状況を図3において矢印16で示す。ここで
はブロック10内のコードを値「00」に戻す。
【0048】一方、些細なミスヒットを図3の矢印17
で示す。コードの値が「01」の時に些細なミスヒット
が生じるとこのコードの値は「10」になり、アドレス
Adに関連した上昇関係のプロトコルは変化して更新モ
ードになる。
で示す。コードの値が「01」の時に些細なミスヒット
が生じるとこのコードの値は「10」になり、アドレス
Adに関連した上昇関係のプロトコルは変化して更新モ
ードになる。
【0049】従って、いずれか1つの命令処理装置2に
よって後で情報が修正されると、階層の中間レベルにお
いて各メモリ5が更新され、各共用キャッシュ5に対す
る問合せは成功しミスヒットは生じない。この状況から
出発して、提起される質問は、更新を実行するのに役立
つものであるか否か知ることである。最初に情報を要求
している処理装置側で生じる可能性のあるミスヒットは
もはや考慮されない。この場合、本発明の第1の実施例
において説明したような更新の有用性についての基準、
すなわちメモリ5のブロックの各更新が適用され、肯定
応答信号によって有用ビット12の状態を送信する。各
アドレスに対し、メモリ6の管理処理装置は、上述の実
施例の1つに基づいて有用ビット全体の状態を解析し、
それから更新の全体的有用性を導き出す。
よって後で情報が修正されると、階層の中間レベルにお
いて各メモリ5が更新され、各共用キャッシュ5に対す
る問合せは成功しミスヒットは生じない。この状況から
出発して、提起される質問は、更新を実行するのに役立
つものであるか否か知ることである。最初に情報を要求
している処理装置側で生じる可能性のあるミスヒットは
もはや考慮されない。この場合、本発明の第1の実施例
において説明したような更新の有用性についての基準、
すなわちメモリ5のブロックの各更新が適用され、肯定
応答信号によって有用ビット12の状態を送信する。各
アドレスに対し、メモリ6の管理処理装置は、上述の実
施例の1つに基づいて有用ビット全体の状態を解析し、
それから更新の全体的有用性を導き出す。
【0050】有用ビットの状態に対応する更新が有用で
ある場合には、コードの値は図3において矢印18で示
すように「10」に維持され、上昇関係のプロトコルも
当然変化しない。全体として更新が無用である場合に
は、図3において矢印18で示すようにコードの値は
「11」に修正される。
ある場合には、コードの値は図3において矢印18で示
すように「10」に維持され、上昇関係のプロトコルも
当然変化しない。全体として更新が無用である場合に
は、図3において矢印18で示すようにコードの値は
「11」に修正される。
【0051】次の更新時に有用ビットが変化し、有用な
更新を示している場合には、このコードは図3において
矢印20で示すように値「10」に戻る。一方、コード
の値が「11」である時に、次の更新の間に有用ビット
が好ましい形に変更されないことが確認されると、直前
になされた更新は無駄になり、コードは図3において矢
印21で示すように「00」の値をとり、上昇関係のプ
ロトコルは無効化モードに戻る。次に再び上述したよう
な状況になる。
更新を示している場合には、このコードは図3において
矢印20で示すように値「10」に戻る。一方、コード
の値が「11」である時に、次の更新の間に有用ビット
が好ましい形に変更されないことが確認されると、直前
になされた更新は無駄になり、コードは図3において矢
印21で示すように「00」の値をとり、上昇関係のプ
ロトコルは無効化モードに戻る。次に再び上述したよう
な状況になる。
【0052】本発明による実施例の第2の形態では、モ
ードの上昇関係のプロトコルを他のプロトコルにするこ
とができる。ただし、このようにしてもモードの変更は
頻繁になりすぎることはないので、メモリ間の信号線上
でメッセージの流れを最適化することができる。
ードの上昇関係のプロトコルを他のプロトコルにするこ
とができる。ただし、このようにしてもモードの変更は
頻繁になりすぎることはないので、メモリ間の信号線上
でメッセージの流れを最適化することができる。
【0053】初期化は必ずしもコード「00」を使用し
て行わなくてもよいことに留意されたい。他のコードを
使用し、上述したような機構に基づいてそのコードから
変更を実行することもできる。
て行わなくてもよいことに留意されたい。他のコードを
使用し、上述したような機構に基づいてそのコードから
変更を実行することもできる。
【0054】また、当該のアドレスに関連した情報につ
いてのコピーの状況に応じて異なるアドレスを異なるモ
ードにおくこともできることに留意されたい。
いてのコピーの状況に応じて異なるアドレスを異なるモ
ードにおくこともできることに留意されたい。
【0055】もちろん、本発明は上述した実施例に限定
されるものではなく、特許請求の範囲に規定されている
ような本発明の趣旨を逸脱することなく様々な変更を加
えることが可能である。
されるものではなく、特許請求の範囲に規定されている
ような本発明の趣旨を逸脱することなく様々な変更を加
えることが可能である。
【0056】具体的には、1つのノードの中で共用キャ
ッシュを同一ノードのローカルメモリに対して中間レベ
ルのメモリとして機能させることができる。また、専用
キャッシュを階層の中間レベルに相当するものとするこ
ともできる。この場合、ノードのローカルメモリのアド
レスについて、そのノードの専用キャッシュに対応する
ブロックと有用ビットとを関連させ、有用ビットの状態
に応じてそのノードの専用キャッシュにおいて更新や無
効化を実行させることができる。
ッシュを同一ノードのローカルメモリに対して中間レベ
ルのメモリとして機能させることができる。また、専用
キャッシュを階層の中間レベルに相当するものとするこ
ともできる。この場合、ノードのローカルメモリのアド
レスについて、そのノードの専用キャッシュに対応する
ブロックと有用ビットとを関連させ、有用ビットの状態
に応じてそのノードの専用キャッシュにおいて更新や無
効化を実行させることができる。
【0057】一方、ローカルメモリのうちの1つに最初
から格納されていた情報を利用して処理装置のみによっ
て修正する場合には、ローカルメモリの管理処理装置
は、処理装置に対応する専用キャッシュに対してその情
報を格納できるのはそのキャッシュだけであり、他の処
理装置によって再要求されるまで情報を無効にするだけ
でローカルメモリまで修正を再び順次下げる必要はない
ことを通知することができる。
から格納されていた情報を利用して処理装置のみによっ
て修正する場合には、ローカルメモリの管理処理装置
は、処理装置に対応する専用キャッシュに対してその情
報を格納できるのはそのキャッシュだけであり、他の処
理装置によって再要求されるまで情報を無効にするだけ
でローカルメモリまで修正を再び順次下げる必要はない
ことを通知することができる。
【0058】以上、各ノード内でローカルメモリが直接
ローカルバスに接続されている情報処理アセンブリに本
発明を適用した場合について説明したが、本発明は階層
の下位レベルにあるメモリを排他的に階層の中間レベル
にあるメモリに接続した場合にも同じように適用可能で
ある。
ローカルバスに接続されている情報処理アセンブリに本
発明を適用した場合について説明したが、本発明は階層
の下位レベルにあるメモリを排他的に階層の中間レベル
にあるメモリに接続した場合にも同じように適用可能で
ある。
【0059】また、更新モードと無効化モードの切り換
えは、例えばメモリ6の各アドレスに関連したコードに
ついて考えられる値の数を増やすなどの他の方法で行う
こともできる。ただし、その方法が複雑になりすぎず、
もはや要求を満足せず順番を待たせることのないように
メモリの管理処理装置の機能を複雑にしないように注意
する必要がある。
えは、例えばメモリ6の各アドレスに関連したコードに
ついて考えられる値の数を増やすなどの他の方法で行う
こともできる。ただし、その方法が複雑になりすぎず、
もはや要求を満足せず順番を待たせることのないように
メモリの管理処理装置の機能を複雑にしないように注意
する必要がある。
【0060】
【発明の効果】以上説明したように、本発明は、少なく
とも階層の上位レベルおよび下位レベルのメモリに接続
された中間レベルのメモリを有する記憶階層のレベル間
で交換のコヒーレンシーを管理するための最適な方法が
得られるという効果を奏する。
とも階層の上位レベルおよび下位レベルのメモリに接続
された中間レベルのメモリを有する記憶階層のレベル間
で交換のコヒーレンシーを管理するための最適な方法が
得られるという効果を奏する。
【図1】本発明による方法を3つのレベルを有する記憶
階層について示す概略図である。
階層について示す概略図である。
【図2】本発明の第1の実施例における第2の形態を説
明するための表である。
明するための表である。
【図3】状況を細かく分析する場合の更新および無効化
の方法を示す概略図である。
の方法を示す概略図である。
1 ノード 2 命令処理装置 3 専用キャッシュ 4 ローカルバス 5 共用キャッシュ 6 ローカルメモリ 7 システムバス 8 直列信号線制御装置
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成6年11月16日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】図2
【補正方法】変更
【補正内容】
【図2】本発明の第1の実施例における第2の形態を説
明するための図表である。
明するための図表である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アンヌ・カズインスキ フランス国、マンゲラン・78660・アブリ、 シユマン・デ・シヤルボニエ、13
Claims (10)
- 【請求項1】 上位レベルと、上位レベルおよび下位レ
ベルに接続された少なくとも1つの中間レベルと、下位
レベルとを含む記憶階層のレベル間での交換のコヒーレ
ンシー管理方法であって、前記階層の各レベルが複数の
メモリ(3、5、6)からなり、該メモリはアドレス
(Ad)によって識別される情報(11)を格納した複
数のブロック(10)からなり、前記階層の上位レベル
および中間レベルにあるメモリのブロックが、前記階層
の下位レベルの対応するアドレスにあるブロックに格納
された情報のコピーを格納し、階層の上位レベルにある
メモリのブロック(10.32)に格納された情報を修
正する際、前記階層の上位レベルにある他のメモリの対
応するアドレスにある情報の少なくとも一部を無効に
し、更新の有用性に基づいて前記階層の中間レベルおよ
び下位レベルの対応するアドレスにある情報の更新ある
いは無効化を管理することを特徴とする、記憶階層レベ
ル間での交換のコヒーレンシー管理方法。 - 【請求項2】 信号線によって前記階層の異なるレベル
にあるメモリを複数のノードに再グループ化して情報処
理アセンブリとする記憶階層レベル間での交換のコヒー
レンシー管理方法において、前記階層の上位レベルにあ
るメモリのブロック(10.32)に格納された情報を
修正する際、修正されるブロックが属するノード(1.
3)の前記階層の上位レベルにあるメモリの対応するア
ドレスにあるブロック(10.31)を更新すると共
に、他のノード(1.1、1.2)内の前記階層の上位
レベルにあるメモリの対応するアドレスにあるブロック
(10.11、10.22)を無効にすることを特徴と
する、請求項1に記載の記憶階層レベル間での交換のコ
ヒーレンシー管理方法。 - 【請求項3】 更新モードの間はプロトコルに基づいて
前記階層の中間レベルの対応するアドレスにあるブロッ
クに格納された情報のコピーを通常通り処理する記憶階
層レベル間での交換コヒーレンシー管理方法において、
該ブロックに格納された情報の第1のコピーあるいは情
報の更新を行う際に第1の状態になると共に、該ブロッ
クに格納された情報を利用する時には第2の状態になる
有用ビット(12)を前記階層の中間レベルにある各ブ
ロックに関連させ、前記階層の下位レベルのあるアドレ
スにある情報を修正する際に、前記階層の中間レベルの
対応するアドレスにあるブロックの更新を行うと共に、
該アドレスにおける前回の更新の有用性に応じて処理プ
ロトコルを更新モードに維持するかまたは無効化モード
にし、該前回の更新の有用性が、該更新の直前に同一ア
ドレスのブロックでの有用ビットの状態に応じて決定さ
れることを特徴とする、請求項1または2に記載の記憶
階層レベル間での交換のコヒーレンシー管理方法。 - 【請求項4】 下位レベルに更新閾値を記憶し、第2の
状態にある有用ビットの比率が少なくとも更新閾値と等
しい場合にはプロトコルを更新モードに維持し、第2の
状態にある有用ビットの比率が更新閾値よりも小さい場
合には無効化モードにすることを特徴とする、請求項3
に記載の記憶階層レベル間での交換のコヒーレンシー管
理方法。 - 【請求項5】 前記階層の下位レベルに第1の閾値およ
び第2の閾値を記憶し、第1および第2の閾値と比較す
ることにより第1および第2の状態にある有用ビットの
実際の数に応じて処理プロトコルを更新モードに維持す
るかあるいは無効化モードにすることを特徴とする、請
求項3に記載の記憶階層レベル間での交換のコヒーレン
シー管理方法。 - 【請求項6】 第2の状態にある有用ビットの数が第2
の閾値よりも小さい場合にプロトコルを無効化モードに
することを特徴とする、請求項5に記載の記憶階層レベ
ル間での交換のコヒーレンシー管理方法。 - 【請求項7】 第1の状態および第2の状態にある有用
ビットの数がそれぞれ第1および第2の閾値よりも大き
い場合に、プロトコルを更新モードに維持したまま、前
記階層の上位レベルにあるブロックに格納された情報を
単発的に無効化することを特徴とする、請求項6に記載
の記憶階層レベル間での交換のコヒーレンシー管理方
法。 - 【請求項8】 更新モードの間はプロトコルに基づいて
前記階層の中間レベルの対応するアドレスにあるブロッ
クに格納された情報のコピーを通常通り処理し、該ブロ
ックに格納された情報の第1のコピーあるいは情報の更
新を行う際に第1の状態になると共に、該ブロックに格
納された情報を利用する時には第2の状態になる有用ビ
ット(12)を前記階層の中間レベルにある各ブロック
に関連させる記憶階層レベル間での交換のコヒーレンシ
ー管理方法において、前記階層の中間レベルにあるブロ
ックに格納された情報のコピーを更新モードにあるプロ
トコルで処理する場合に更新の有用性に応じて変化する
と共に、前記階層の中間レベルにあるブロックに格納さ
れた情報のコピーを無効化モードにあるプロトコルで処
理する場合にはミスヒットの性質に応じて変化するコー
ド(13)を前記階層の下位レベルにある各アドレスに
関連させ、更新の有用性が有用ビットの状態に応じて決
定され、ミスヒットの性質が前記階層の中間レベルにあ
るメモリ内の情報およびアドレスの有無あるいは該メモ
リのブロック内の無効な情報によって決定され、前記階
層の下位レベルにある該アドレスのコードに応じてプロ
トコルのモードを変えることを特徴とする、請求項1ま
たは2に記載の記憶階層レベル間での交換のコヒーレン
シー管理方法。 - 【請求項9】 前記階層の下位レベルに更新閾値を記憶
し、第2の状態にある有用ビットの比率と閾値を比較す
ることによって更新の有用性を判断することを特徴とす
る、請求項8に記載の記憶階層レベル間での交換のコヒ
ーレンシー管理方法。 - 【請求項10】 前記階層の下位レベルに第1の閾値お
よび第2の閾値を記憶し、該第1および第2の閾値と比
較することにより第1および第2の状態にある有用ビッ
トの実際の数に応じてコードを変化させることを特徴と
する、請求項8に記載の記憶階層レベル間での交換のコ
ヒーレンシー管理方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR9308711 | 1993-07-15 | ||
| FR9308711A FR2707774B1 (fr) | 1993-07-15 | 1993-07-15 | Procédé de gestion cohérente des échanges entre des niveaux d'une hiérarchie de mémoires à au moins trois niveaux. |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07152646A true JPH07152646A (ja) | 1995-06-16 |
Family
ID=9449277
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6164406A Pending JPH07152646A (ja) | 1993-07-15 | 1994-07-15 | 記憶階層レベル間での交換のコヒーレンシー管理方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5568633A (ja) |
| EP (1) | EP0636988B1 (ja) |
| JP (1) | JPH07152646A (ja) |
| DE (1) | DE69421340T2 (ja) |
| FR (1) | FR2707774B1 (ja) |
Families Citing this family (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6078337A (en) * | 1994-09-12 | 2000-06-20 | Canon Kabushiki Kaisha | Maintaining consistency of cache memory data by arbitrating use of a connection route by plural nodes |
| JP3872118B2 (ja) * | 1995-03-20 | 2007-01-24 | 富士通株式会社 | キャッシュコヒーレンス装置 |
| US5860120A (en) * | 1996-12-09 | 1999-01-12 | Intel Corporation | Directory-based coherency system using two bits to maintain coherency on a dual ported memory system |
| US6052760A (en) * | 1997-11-05 | 2000-04-18 | Unisys Corporation | Computer system including plural caches and utilizing access history or patterns to determine data ownership for efficient handling of software locks |
| US6049845A (en) * | 1997-11-05 | 2000-04-11 | Unisys Corporation | System and method for providing speculative arbitration for transferring data |
| AU1209299A (en) * | 1997-11-05 | 1999-05-24 | Unisys Corporation | A directory-based cache coherency system |
| US6092156A (en) * | 1997-11-05 | 2000-07-18 | Unisys Corporation | System and method for avoiding deadlocks utilizing split lock operations to provide exclusive access to memory during non-atomic operations |
| US6314501B1 (en) | 1998-07-23 | 2001-11-06 | Unisys Corporation | Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory |
| US6338117B1 (en) * | 1998-08-28 | 2002-01-08 | International Business Machines Corporation | System and method for coordinated hierarchical caching and cache replacement |
| US6687818B1 (en) | 1999-07-28 | 2004-02-03 | Unisys Corporation | Method and apparatus for initiating execution of an application processor in a clustered multiprocessor system |
| US6665761B1 (en) | 1999-07-28 | 2003-12-16 | Unisys Corporation | Method and apparatus for routing interrupts in a clustered multiprocessor system |
| US6338116B1 (en) * | 1999-11-09 | 2002-01-08 | International Business Machines Corporation | Method and apparatus for a data-less write operation within a cache memory hierarchy for a data processing system |
| JP2001166993A (ja) * | 1999-12-13 | 2001-06-22 | Hitachi Ltd | 記憶制御装置およびキャッシュメモリの制御方法 |
| EP1227385A3 (en) * | 2001-01-24 | 2005-11-23 | Matsushita Electric Industrial Co., Ltd. | Semiconductor integrated circuit |
| JP2003345528A (ja) * | 2002-05-22 | 2003-12-05 | Hitachi Ltd | 記憶システム |
| JP4090400B2 (ja) * | 2003-07-24 | 2008-05-28 | 株式会社日立製作所 | ストレージシステム |
| JP4408692B2 (ja) * | 2003-12-19 | 2010-02-03 | 富士通株式会社 | 通信装置管理プログラム |
Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61290550A (ja) * | 1985-06-19 | 1986-12-20 | Hitachi Ltd | 階層記憶制御方式 |
| JPH01228035A (ja) * | 1988-03-08 | 1989-09-12 | Fujitsu Ltd | データ処理装置 |
| JPH02253356A (ja) * | 1989-03-28 | 1990-10-12 | Toshiba Corp | 階層キャッシュメモリ装置とその制御方式 |
| JPH03172943A (ja) * | 1989-12-01 | 1991-07-26 | Mitsubishi Electric Corp | キャッシュメモリ制御方式 |
| JPH03217963A (ja) * | 1990-01-16 | 1991-09-25 | Internatl Business Mach Corp <Ibm> | マルチプロセッサ・システムおよびそのプライベート・キャッシュ制御方法 |
| JPH03230238A (ja) * | 1990-02-05 | 1991-10-14 | Nippon Telegr & Teleph Corp <Ntt> | キャッシュメモリ制御方式 |
| JPH03253963A (ja) * | 1990-02-20 | 1991-11-13 | Internatl Business Mach Corp <Ibm> | マルチプロセツサ・システム |
| JPH04191946A (ja) * | 1990-11-27 | 1992-07-10 | Agency Of Ind Science & Technol | スヌープキャッシュメモリ制御方式 |
| JPH04357541A (ja) * | 1990-07-27 | 1992-12-10 | Fujitsu Ltd | 階層メモリ制御方式 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4445174A (en) * | 1981-03-31 | 1984-04-24 | International Business Machines Corporation | Multiprocessing system including a shared cache |
| JPH0680499B2 (ja) * | 1989-01-13 | 1994-10-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプロセッサ・システムのキャッシュ制御システムおよび方法 |
| JPH0721781B2 (ja) * | 1989-03-13 | 1995-03-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプロセツサ・システム |
| US5136700A (en) * | 1989-12-22 | 1992-08-04 | Digital Equipment Corporation | Apparatus and method for reducing interference in two-level cache memories |
| US5291442A (en) * | 1990-10-31 | 1994-03-01 | International Business Machines Corporation | Method and apparatus for dynamic cache line sectoring in multiprocessor systems |
| CA2051209C (en) * | 1990-11-30 | 1996-05-07 | Pradeep S. Sindhu | Consistency protocols for shared memory multiprocessors |
-
1993
- 1993-07-15 FR FR9308711A patent/FR2707774B1/fr not_active Expired - Fee Related
-
1994
- 1994-07-11 DE DE69421340T patent/DE69421340T2/de not_active Expired - Lifetime
- 1994-07-11 EP EP94401597A patent/EP0636988B1/fr not_active Expired - Lifetime
- 1994-07-15 US US08/275,383 patent/US5568633A/en not_active Expired - Lifetime
- 1994-07-15 JP JP6164406A patent/JPH07152646A/ja active Pending
Patent Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61290550A (ja) * | 1985-06-19 | 1986-12-20 | Hitachi Ltd | 階層記憶制御方式 |
| JPH01228035A (ja) * | 1988-03-08 | 1989-09-12 | Fujitsu Ltd | データ処理装置 |
| JPH02253356A (ja) * | 1989-03-28 | 1990-10-12 | Toshiba Corp | 階層キャッシュメモリ装置とその制御方式 |
| JPH03172943A (ja) * | 1989-12-01 | 1991-07-26 | Mitsubishi Electric Corp | キャッシュメモリ制御方式 |
| JPH03217963A (ja) * | 1990-01-16 | 1991-09-25 | Internatl Business Mach Corp <Ibm> | マルチプロセッサ・システムおよびそのプライベート・キャッシュ制御方法 |
| JPH03230238A (ja) * | 1990-02-05 | 1991-10-14 | Nippon Telegr & Teleph Corp <Ntt> | キャッシュメモリ制御方式 |
| JPH03253963A (ja) * | 1990-02-20 | 1991-11-13 | Internatl Business Mach Corp <Ibm> | マルチプロセツサ・システム |
| JPH04357541A (ja) * | 1990-07-27 | 1992-12-10 | Fujitsu Ltd | 階層メモリ制御方式 |
| JPH04191946A (ja) * | 1990-11-27 | 1992-07-10 | Agency Of Ind Science & Technol | スヌープキャッシュメモリ制御方式 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0636988A1 (fr) | 1995-02-01 |
| DE69421340T2 (de) | 2000-02-10 |
| DE69421340D1 (de) | 1999-12-02 |
| EP0636988B1 (fr) | 1999-10-27 |
| FR2707774B1 (fr) | 1995-08-18 |
| FR2707774A1 (fr) | 1995-01-20 |
| US5568633A (en) | 1996-10-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3889044B2 (ja) | 不均一メモリ・アクセス(numa)システムにおけるページ移動 | |
| US6088769A (en) | Multiprocessor cache coherence directed by combined local and global tables | |
| US8489819B2 (en) | Victim cache lateral castout targeting | |
| US8117397B2 (en) | Victim cache line selection | |
| US6766424B1 (en) | Computer architecture with dynamic sub-page placement | |
| US9176876B2 (en) | Selective cache-to-cache lateral castouts | |
| US8225045B2 (en) | Lateral cache-to-cache cast-in | |
| US6760809B2 (en) | Non-uniform memory access (NUMA) data processing system having remote memory cache incorporated within system memory | |
| EP0818732B1 (en) | Hybrid memory access protocol in a distributed shared memory computer system | |
| US8347036B2 (en) | Empirically based dynamic control of transmission of victim cache lateral castouts | |
| US6199147B1 (en) | Distributed-memory multiprocessor computer system with directory-based cache coherency with ambiguous mappings of cached data to main-memory locations | |
| JP4500014B2 (ja) | 分散メモリマルチプロセッサシステムにおけるメモリ移行のためのシステムおよび方法 | |
| US20030009639A1 (en) | Non-uniform memory access (NUMA) data processing system that provides precise notification of remote deallocation of modified data | |
| WO2002073417A1 (en) | State-based allocation and replacement for improved hit ratio in directory caches | |
| JP2000155747A (ja) | マルチプロセッサ・ノ―ドデ―タ処理システムに使用するディレクトリエントリ割当てシステム及び方法 | |
| US5568633A (en) | Process for managing a hierarcy of memories | |
| CN107341114B (zh) | 一种目录管理的方法、节点控制器和系统 | |
| JPH08235052A (ja) | ディレクトリ内にアドレス・タグを記憶するためのシステムおよび方法 | |
| US11556471B2 (en) | Cache coherency management for multi-category memories | |
| JP2007035026A (ja) | 対称型マルチプロセッシングシステムにおける排他的読み出し要求の待ち時間を削減するためのシステム | |
| US7093075B2 (en) | Location-based placement algorithms for set associative cache memory | |
| JP2000285023A (ja) | ファイル制御装置 | |
| JP2005509204A (ja) | 下位レベルのキャッシュを含むアクセスを促進するためのリバースディレクトリ | |
| US11625326B2 (en) | Management of coherency directory cache entry ejection | |
| WO2001029674A1 (en) | Multi-processor system and method of accessing data therein |