JPH0619739B2 - 多重プロセツサ・システムのキヤツシユを制御する方法 - Google Patents

多重プロセツサ・システムのキヤツシユを制御する方法

Info

Publication number
JPH0619739B2
JPH0619739B2 JP61219918A JP21991886A JPH0619739B2 JP H0619739 B2 JPH0619739 B2 JP H0619739B2 JP 61219918 A JP61219918 A JP 61219918A JP 21991886 A JP21991886 A JP 21991886A JP H0619739 B2 JPH0619739 B2 JP H0619739B2
Authority
JP
Japan
Prior art keywords
cache
line
directory
control domain
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP61219918A
Other languages
English (en)
Other versions
JPS62105250A (ja
Inventor
リーシング・リユ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS62105250A publication Critical patent/JPS62105250A/ja
Publication of JPH0619739B2 publication Critical patent/JPH0619739B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/0837—Cache consistency protocols with software control, e.g. non-cacheable data

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)

Description

【発明の詳細な説明】 A.産業上の利用分野 この発明はデータ処理の分野に関するものであり、特
に、多重プロセツサシステムにおいて、専用キヤツシユ
を有する複数の中央処理装置間で共用されるデータの一
致性の制御に関するものである。
B.従来技術および発明が解決しようとする問題点 高性能処理装置(CP)は多くの場合、キヤツシユとし
て知られている専用の高速ハードウエア管理バツフアを
有している。キヤツシユは通常システムのユーザに透過
である。多重プロセツサ(MP)システムでは、多数C
Pが同一の主記憶装置(MS)を共用し、各CPはアク
セスが出されると、常に最新の更新されたデータを得る
必要がある。このため、しばしばキヤツシユコヒーレン
ス問題として知られているキヤツシユ間のデータの一致
性をハードウエアで管理する。
従来のMPシステムには、多種類のキヤツシユがある。
キヤツシユの種類の1つは、下位レベルの記憶階層への
データの変更を常に更新するために、CPが直接主記憶
装置(または第2のレベルのキヤツシユ)にデータを記
憶することを妨害しないストアスルー(ST)キヤツシ
ユである。主記憶装置への記憶を更新する際に、記憶を
開始するCPにあるキヤツシユ以外のキヤツシユから必
要とされるキヤツシユラインのコピーを無効にするた
め、適当な相互照会(以下、XIという)動作を行うこ
とができる。通常のSTの設計では、データ記憶を取り
入れるため、相当の主記憶のバンド幅、いわゆる処理能
力(通常は平均で全CP記憶要求の10〜20%)を必
要とする。
他の種類のキヤツシユの設計は、ストアインキヤツシユ
(SIC)である。SICは、米国特許第373536
0号明細書、および米国特許第3771137号明細書
に開示されている。SICキヤツシユデイレクトリ(キ
ヤツシユブロツクと主記憶ブロツクとの対応を表す)に
ついては、米国特許第4394731号明細書に詳述さ
れており、SICの各ラインは、排他状態/読出し専用
状態(EX/RO)のフラグビツトによつて制御される
MPの共用可能性を有する。STキヤツシユとSICキ
ヤツシユとの主な相違点は、SIC中の記憶がすべてキ
ヤツシユ自体に向けられていることである(このキヤツ
シユ自体は、記憶されたラインがSICキヤツシユ中に
ない場合は、キヤツシユミスを生じさせる)。通常、キ
ヤツシユラインの修正は、ラインがキヤツシユから置き
換えられた場合のみ、主記憶装置(MS)で更新され
る。その結果、SICの設計は、より複雑なコヒーレン
ス制御およびXIの追放の不利を犠牲にして(XIの追
放は、1つのCPからのデータアクセスが、他のCPの
キヤツシユで修正されたラインを見出されるときに起
る)主記憶装置の必要なバンド幅を減少する。
これまでに開発されたキヤツシユコヒーレンス制御機構
には種々のものがある。代表的な例として、グローバル
デイレクトリ法、ブロードキヤスト法、およびメモリタ
グ付け法がある。グローバルデイレクトリ法では、記憶
制御エレメント(SCE)が、CPのキヤツシユデイレ
トクリのコピーを含んでいる。したがつてXIの決定は
むしろ効率よく解決される。ブロードキヤスト法では、
アクセスがローカルキヤツシユで解決できない場合、C
Pからの記憶要求を、他の全CPに送る。メモリタグ付
け法では、どのCPが現在キヤツシユ内にそのラインを
有しているかを指示するために、主記憶装置内の各ライ
ンにタグ付けを行う。
全ての上記キヤツシユコヒーレンス制御法は、CPの数
が増大した場合、またはCPクラスタ間に物理的分割が
ある場合、特に高性能CPを考慮中の場合、欠点があ
る。
代りの方法して、効率の良いXI制御の実施が抑制され
ているある種のデータの一致をソフトウエア制御させる
方法がある。その考え方は、他のCPからの記憶による
データ汚染の危険がある場合、専用キヤツシユからライ
ンを無効にする、いわゆるフラツシユすることである。
このような汚染は、たとえばオブジエクトが、CP上で
実行されるタスクによつて解放される時に生じ、したが
つて他のCP上のタスクが資源を得て、これを修正す
る。いくつかのコンピユータアーキテクチユアでは(た
とえばIBM801)、キヤツシユからデータラインを
フラツシユするために提供された命令が設けられてい
る。このようなキヤツシユフラツシユ命令は、そのライ
ンがキヤツシユから置換されるべきアドレスの範囲を指
定することによつて設計される。これらの方法では、ソ
フトウエア(たとえばコンパイラまたはプログラマ)
に、フラツシユするためのアドレス範囲を追跡させる。
アドレス範囲は、ソフトウエアにおける論理オブジエク
トの意味論上の仕様でない。したがつて、このようなキ
ヤツシユフラツシユ命令は、記憶装置をソフトウエアに
対して透過にしない。
キヤツシユコヒーレンス制御法には、いくつかの公知の
方法があるが、ロツキング法に基づくキヤツシユコヒー
レンスを目指した方法は公知でない。下記はキヤツシユ
制御機構の代表的な方法である。
米国特許第4484267号明細書は、従来のキヤツシ
ユコヒーレンス制御機構のある種の変形に関するもので
ある。この方法は、キヤツシユ行が将来、相互照会を受
ける可能性の有無を動的に決定しようとし、ピンポン動
作をする欠点を減少させるためにこのようなラインでス
トアスルーを行なおうとしている。この方法では、従来
のグローバルSCEデイレクトリ制御が無効化を行なう
ために必要とされる。しかしながら、本願発明では、密
に結合された多重プロセツサが、適切なソフトウエア制
御により相互照会について全く心配する必要がないよう
に、グローバルXI制御が除去されるキヤツシユ設計
(適切なシステム設計を加える)について記載されてい
る。
米国特許第4293910号明細書は保護キー制御に関
するものである。保護キーは、記憶データに対する無許
可のアクセスまたは修正を検出するために使用されてい
る。しかしながら、本願発明では、記憶タグがキヤツシ
ユコヒーレンス動作を簡単にするために使用される。保
護キーと提案された記憶タグ法は直接関係ない。
米国特許第4400770号明細書は、データの共有を
許す結果として、異なる仮想アドレスが同一の物理アド
レスを共用するいわゆる「同義語問題」に関するもので
ある。この同義語問題は、同一物理(絶対)ラインアド
レスを表す「仮想」アドレスによつて選択された2つ以
上(たとえば4つ)のキヤツシユ一致クラスの可能性に
よつて引き起こされる。この問題は、ページサイズ、キ
ヤツシユサイズ、およびキヤツシユラインサイズと何ら
かの関係がある。これは、多重プロセツサにおけるキヤ
ツシユコヒーレンス問題に向けられるものではない。
米国特許第4400773号明細書は、入出力チヤネル
の直列化問題に関するものである。この方法は、ある種
のロツクビツトを記憶するのにソフトウエア制御ブロツ
クを使用し、直列化状態を試験するためにテストサブチ
ヤネル(Test Subchannel)命令を使用する。しかしなが
ら、本願発明は、キヤツシユに関するもので、特に、特
定の入出力装置上のチヤネル操作の直列化問題に関する
ものではない。
米国特許第4399504号明細書は多重システムにお
けるデータベースのロツキング法に関するものである。
その焦点は、ソフトウエアパツケージのためのアルゴリ
ズム法に合わせられる。しかしながら、本願発明は、あ
る種のソフトウエアの同期法(たとえばデータベースの
ロツキング法)の実施を仮定し、実際に、ソフトウエア
のロツキング法がいかに実施されたかに関するものでは
ない。
米国特許第4099243号明細書は、ロツクアウト方
式により異なる装置からの記憶ブロツクの操作の直列化
を扱つたものである。これは、記憶ブロツクに関するも
のである。これは、記憶ブロツクを扱つたもので、主と
してハードウエアによつて実施されることを除き、デー
タベースのロツキング法に類似している。この特許は前
述の米国特許第4400773号および第439950
4号と同様に装置の直列化に関し、ロツキングに類似し
た装置を与えている。
この発明の目的は、ロツキング法に基づく改良されたキ
ヤツシユコヒーレンス機構を提供することにある。
この発明の他の目的は、各キヤツシユ行でカバーされる
ソフトウエアの制御定義域識別(CDID)を使用する
ことによつて、改良されたキヤツシユコヒーレンス機構
を提供することにある。
この発明の他の目的は、従来の相互照会(XI)が行な
われない改良されたキヤツシユコヒーレンス機構を提供
することにある。
C.問題点を解決するための手段 本願発明は、システムソフトウエアにおけるある種の現
存のオブジエクトの同期を仮定している。オブジエクト
はシステムソフトウエア(たとえば、オペレーテイング
システム(OS)、フアイルシステム等)によつてより
正確に制御される資源である。オブジエクトは使用され
るアプリケーシヨンによつて異なる。例えば、フアイル
システムでは、オブジエクトはフアイルまたはインデツ
クスデイレクトリである。汎用OSの場合、オブジエク
トは、いかにシステムがその資源を制御するかによつて
ページフレーム、統合データ構造(たとえば、待ち行
列、テーブル、ロツクワード)、ユーザプロセス、メモ
リのクラス等である。ソフトウエアの同期が正しいと仮
定するキヤツシユコヒーレンスを保証するキヤツシユプ
ロトコル(キヤツシユの規約)が扱われている。したが
つて、米国特許第4099243号の発明と、本願発明
とは、異なる問題を異なる方法で取り扱つている。
本願発明によると、新規装置が、キヤツシユデイレクト
リでソフトウエアオブジエクトおよびユーザタスクの論
理的見出しを結合させるために設けられている。したが
つて、意味プロトコルはキヤツシユコヒーレンスを維持
するためにキヤツシユフラツシユを実行するためにソフ
トウエアによつて使用される。これは、有効な実施が達
成するのが困難である或る種の状況でXI制御の必要性
を除いている。
本発明はキヤツシユデイレクトリで、各キヤツシユ・ラ
インによつてカバーされるソフトウエアの制御定義域識
別(CDID)を関連づける方法および装置を提供す
る。このような装置、および、活発にラインを使用する
ユーザの識別の追加のいずれか、または両方によつて、
ある種のデータのキヤツシユコヒーレンスは、このよう
なオブジエクトへのアクセスが、ロツキング型の同時制
御装置と正しく同期化されているとき、従来の相互照会
(XI)を実行せずに制御される。キヤツシユに対する
ソフトウエアプロトコルは、解放されたキヤツシユ・ラ
インのフラツシユを制御するために資源の中心部に設け
られる。これらのプロトコルのパラメータは、高水準の
定義域識別およびタスク識別である。
D.実施例 この発明は、キヤツシユデイレクトリで、ソフトウエア
オブジエクトおよびユーザタスクのいずれかまたは両方
のある種の論理見出しを結合させるための新規の装置お
よび制御方法を提供するものである。このような装置
で、意味プロトコルはキヤツシユコヒーレンスを維持す
るためにキヤツシユフラツシユを実行するようにソフト
ウエアによつて使用される。これは、有効な実施を達成
することが困難である或る種の状況で、XI制御の必要
性を除去する。
ロツキング法に基づくキヤツシユコヒーレンス制御の基
本的な考え方は下記のとおりである。共用データへのソ
フトウエアアクセスは、しばしばある種の許可機構によ
つて制御される。ロツキング法は、このようなソフトウ
エア同期制御の典型的な技術である。ユーザはオブジエ
クトにアクセスするために、ロツクを許可される必要が
ある。オブジエクトを使用した後は、ユーザはロツクを
解除する。ロツキング法には異なる種類のものがある。
ここでは、主として、ユーザがオブジエクトを修正する
時、オブジェクトのロツキングが排他性を保証すべきで
あるようなロツキング(すなわち、このユーザは、オブ
ジエクトがそのユーザによつて解除される前に、このオ
ブジエクトにアクセスできる唯一の人である)である。
その結果、ユーザは、他の全ユーザがこのオブジエクト
に対するロツクを解除した場合のみ、オブジエクトに対
してEXCLUSIVEが許可される。
MSが2の累乗(たとえば256バイト)のサイズのブ
ロツクに分割されていると仮定する。ブロツクサイズ
は、必要とされる全キヤツシユラインのサイズと少なく
とも同じでなければならない。したがつて、1ラインは
2つのブロツクに分割することはできない。ここでは、
ブロツク解体特性を有するオブジエクトについて考え
る。瞬時に、かりにこのオブジエクトを含むように割り
当てられたMSブロツクが、このオブジエクトに属さな
いアクセス可能なデータを含まないならば、オブジエク
トはブロツク解体特性を有する。キヤツシユコヒーレン
スに関する限りでは、キヤツシユのラインが他のCPに
よつて修正される可能性がある場合は、キヤツシユのラ
インがキヤツシユから追い出されたことを確認し、この
ラインが他のCPからアクセスされることができないう
ちに、キヤツシユのラインの修正が常にMSで更新され
ていることを確認しなければならない。これらの条件
は、このブロツクをカバーするオブジエクトになおロツ
クを保持するCPを使用可能なユーザがもはやいなくな
ると、ブロツクに属するラインがキヤツシユ(MSで更
新された修正ラインを有する)から追い出される場合に
満足される。IBM801コンピユータ等、キヤツシユ
からラインを追い出すための命令を有するアーキテクチ
ユアはあつた。しかしながら、このようなキヤツシユ・
ラインのフラツシユ命令は、フラツシユされるべきライ
ンを指定するためにアドレス範囲を使用する。これは、
記憶装置をソフトウエアに透過しないソフトウエアオブ
ジエクトのアドレス範囲を追跡するためにソフトウエア
に負担をかける。
ここで採用する新規の方法は、キヤツシユデイレクトリ
にオブジエクトの識別を埋め込むものである。これによ
り、ターゲツトオブジエクトの意味仕様をとるキヤツシ
ユフラツシユ命令が提供される。同一CPを使用してい
る多数のユーザによつて同時に共用されるラインを不必
要にフラツシユするためにキヤツシユミス頻度を減少さ
せるための方法も提供される。
まず第1に、MSのラインを2種類に分類する。第I種
のラインは、キヤツシユコヒーレンスがFLUSHプロ
トコル(フラツシユの規約)によつて制御されるもので
ある。一つは第II種のラインで、第II種のラインのキヤ
ツシユコヒーレンスは、他の手段によつて制御される。
他に指定しない限り、第I種のみを取扱う。また、他に
示さない限り、この発明は以後、MODIFIEDビツ
トがキヤツシユデイレクトリで使用されるSICを使用
して説明される。修正ビツトONを有するキヤツシユ・
ラインは、まだMSで更新されていない修正を含む。
各MSのブロツクは、制御定義域(CD)と動的に関連
付けられている。CDは共用オブジエクトから引き出さ
れたオブジエクトのクラスである。
制御定義域(CD)の概念は実記憶装置の分割に関連し
ている。例えば、システムは3つのオブジエクトO1、
O2およびO3を有していると仮定する。オブジエクト
O1は、VP1およびVP2とラベルを付けられる2つ
の隣接する仮想ページをカバーする。また、オブジエク
トO2およびO3はそれぞれ仮想ページVP3およびV
P4によつてカバーされ、オブジエクトO1およびO2
は制御定義域Aに属し、一方、オブジエクトO3は制御
定義域Bに属すると仮定する。
仮想ページVP1〜VP4は、特定の時間に実ページR
P1〜RP4に変換される。OSは、どのオブジエクト
がどの制御定義域にあるべきであるかを決定する。実ペ
ージフレームが特定の仮想ページに割り当てられた後、
OSは実ページフレームにCDID(すなわち、制御定
義域識別)をセツトする。したがつて、この例では、R
P1〜RP3のCDIDは制御定義域Aを反映し、一方
制御定義域BはRP4で反映される。システムのハード
ウエアはアクセスの際オブジエクトのためのCDIDを
識別することができる。例えば、オブジエクトO1がア
クセスされると、メモリ制御ハードウエアはRP1およ
びRP2のCDIDタグからCDIDAを検出する。各
CDは独特の識別(CDID)を有する。MPシステム
にあるCDの最大数は、各CDIDを表わすのに使用可
能なビツト数によつて決定される。多くのブロツクは同
一のCDに属する。CPからの各記憶アクセス毎に、対
応するCDIDをハードウエアに知らされるべきであ
る。CDIDはアドレス変換テーブル(たとえばセグメ
ントテーブル、ページテーブル)に記憶させるか、また
はハードウエア(たとえば1メガバイトのMS記憶装置
当たり8タグビツト)によつて直接実施される。各キヤ
ツシユ(STでもSICでもよい)のデイレクトリ内に
は、(VALIDビツト、MODIFIEDビツトのよ
うな他の必要な状況標識のほかに)キヤツシユの各ライ
ンのためにCDIDフイールドがあり、そこに、現ライ
ンのためのCDIDが記憶される。必要な場合、独特の
CDID(CDID0で表わす)が、第II種のデータラ
イン(共用可能性は明示キヤツシユ・ラインフラツシユ
法で制御されないもの)を指示するために割り当てられ
る。MSからキヤツシユへのラインの取出しの際に、記
憶アクセスハードウエアにより得られるCDIDは、キ
ヤツシユデイレクトリのCDIDフイールドへ自動的に
ゲートされる。PAGEは仮想アドレス変換の粒度(タ
スクの大きさ)で、変換索引バツフア(TLB)が変換
の高速化のために使用されると仮定すると、使用される
各PAGEのためのCDIDも、それらに対応するTL
Bエントリに記憶される。
キヤツシユデイレクトリにユーザ識別(UID)を結合
するオプシヨンも提供される。UIDは、プロセス、例
えばネツトワークのシステムユーザおよびアプリケーシ
ヨンプログラムまたは共用メモリを使用する他のシステ
ムでさえ識別する。このオプシヨンにより、必要とされ
るオブジエクトにロツクを保持しているCPのユーザが
まだいる間、キヤツシユからラインをフラツシユするオ
ーバーヘツドを減らすことができる。考慮されるユーザ
は、共用オブジエクトのロツクとアクセスとを両立でき
なければならない。どの時点でも、同一のUIDの下で
は、同一の共用オブジエクトに保持される複数(2つ以
上)のロツクがあつてはならない。UIDの下で実行さ
れる共用オブジエクトをアクセスするプログラムは、同
一のUIDの下で得られたロツクによりアクセス権を許
可されるべきである。また、UIDの下で得られる共用
オブジエクトのロツクは、同一UIDの下で解除される
べきである。UIDの規定は、特定システムの実施に対
して行なわれる。このオプシヨンが実行されると、UI
Dは、記憶アクセスハードウエアに使用可能であるべき
である。UIDは、プログラムが開始される前に、シス
テムにより、LCTL型の命令を介して、制御レジスタ
にロードされる。下記に、キヤツシユデイレクトリでの
関連するUIDのオプシヨンと共に、本発明を説明す
る。
キヤツシユデイレクトリの各ラインのエントリには、一
定数(たとえば2つ)のUIDフイールドがある。各U
IDCは、一定数(例えば4ビツト)のビツトからな
る。UIDは、表わすのにそれに対応するUIDよりも
多くのビツト(たとえば32ビツト)を要するUIDC
はUIDよりビツト数が少ない傾向にあるので、このU
IDCは回路を節約するためキヤツシユデイレクトリの
UIDの代りに使用されるUIDのクラス識別子であ
る。UIDのためのUIDC(“uidc(UID)”
で表わす)は、ある種の規則(たとえば、UIDからあ
る種のビツトの抽出)により、ハードウエアにより得ら
れる。各デイレクトリのエントリに、2つ以上のUID
Cフイールドがある場合は、下記の説明で仮定するよう
に、ある種のLRU(least−recently
used)型の置き換えハードウエアは、キヤツシユラ
インへのアクセスに関連するK個(Kは整数)までの使
用可能UIDCを獲得するために提供される。(CDI
D0に等しくないCDIDを有する)キヤツシユライン
へのアクセスがCPから出されると、ハードウエアは、
現在のUIDCがすでにキヤツシユデイレクトリのエン
トリのUIDCフイールドにあるかどうかをチエツクす
る。一致が見つかり、このUIDCが、すでにUIDC
フイールドにないならば、このUIDCは最新使用(M
RU)にされる。そうでない場合は、UIDCは、必要
な置き換えにより、MRUとして挿入される。独特のU
IDCは、どの有効UIDのUIDCでもあり得ないD
UMMYと称される。また、どの実行プログラムに対し
てもUIDであり得ないUID(またDUMMYと呼ば
れる)が仮定される。両UIDC値が、キヤツシユライ
ンのエントリのUIDCのフイールドでDUMMYであ
る場合、そのキヤツシユラインは、INVALIDとし
て扱われる。(したがつてこの場合、有効性を示すため
に、キヤツシユデイレクトリのエントリに他のVビツト
は必要ではない。システムセツト中、キヤツシユデイレ
クトリの全UIDCフイールドはDUMMYを含むよう
に初期設定される。
キヤツシユコヒーレンスの制御は、下記の形のFLUS
H命令によつて実行される。
FLUSH UID,CDID,M,I 修正された(M)フラグおよび無効(I)フラグは、そ
れぞれ1ビツトを使用して表わされる。命令の正確なフ
オーマツトは、特定のアーキテクチユア設計に対して行
なわれる。CPからFLUSH命令が出力されると、パ
ラメータUID、CDIDおよびMはキヤツシユ動作の
目標ラインと突き合わされるために使用される。UID
とCDIDの意味は、前述より明らかである。Mフラグ
がオンの場合は、FLUSH命令は、キヤツシユの修正
ラインでのみ作動し、そうでない場合は、未修正ライン
をまたカバーする。指定されたUIDパラメータがDU
MMYでない場合、FLUSH命令は、キヤツシユデイ
レクトリのUIDCフイールドで検出された“uidc
(UID)”を有するラインのみをカバーし、そうでな
い場合は、UIDCの突き合わせは実行されない。UI
D,CDIDおよびM仕様によつて突き合わされたすべ
てのキヤツシユ・ラインに対して、FLUSH命令の実
行により、MSで修正ラインが更新され、対応するMO
DIFIEDビツトがオフにされる。UIDが汎用レジ
スタ(GPR)を用いて指定されるFLUSH命令の実
行を考え、GPRO(RO)が、DUMMY UIDを
指示すると仮定する。Iフラグがオンで、UIDがRO
によつて指定されないならば、FLUSH命令の実行は
また、突き合わされたデイレクトリのエントリの“ui
cd(UID)”をDUMMYに変える。Iフラグがオ
ンであり、UIDがROで指定されるならば、突き合わ
されたキヤツシユラインは実際に(デイレクトリのエン
トリのUIDCのフイールドにKDUMMYを入れるこ
とにより)無効化される。
FLUSH命令の実行は、MSの更新と同期しているべ
きである。修正キヤツシユ・ラインが、フラツシユの実
行によりMSで更新されると、FLUSH命令は、これ
らの更新がMSシステムで肯定応答されるまで、実行さ
れない。
MSによる更新の肯定応答は、特定のMSアーキテクチ
ユアによるところが大きい。保留中の記憶バツフアが実
行されているMSシステムの場合、更新の肯定応答は、
更新がバツフアされると直ちに出力される。実行のこの
部分については、これ以上の説明は行なわない。
FLUSH命令は、上記の形式に限定されるものではな
い。MODIFIEDビツト(たとえばST中)なしの
キヤツシユ機構の場合、FLUSH命令にMパラメータ
が存在する必要はない。Iフラグにより指示される操作
を行うことが常に望ましい場合は、Iパラメータは命令
フオーマツトから省略される。UIDが、FLUSH命
令の実行時に常にハードウエアに知られていると、UI
Dパラメータも省略される。CDID0以外にCDID
が1つしかない場合は、CDIDパラメータも省略され
る。すべての共用オブジエクトを指示するために、他の
パラメータビツトSを提供することも有利である。Sビ
ツトがオンであると、すべての共用オブジエクト(第I
種)がFLUSH命令に含まれる(この場合、CDID
のパラメータ値は無視される)。
本発明は主として、システムの中心部が適切なロツキン
グ制御下でアクセスされるある種の共用データオブジエ
クトのキヤツシユコヒーレンスを保証するために論理F
LUSH命令のプロトコルを発行する設計を提供するよ
うにされる。ユーザが共用オブジエクトにアクセスを開
始する前に、ロツキングのプロトコルはアクセスの許可
を得るために発行される。このような共用オブジエクト
へのアクセスが、ロツクを解除するためにユーザの要求
を完了した後、システムの中心部は、ロツクが実際に他
のユーザへの使用可能性に対して解除される前に、必要
なキヤツシユフラツシユ動作を行うためにFLUSH命
令を使用する。また、ユーザのためのCPの切換えの可
能性がある場合は、このシステムは、ユーザの最後が実
行したCPのキヤツシユの作業ラインを一掃するために
FLUSH命令を出力する。FLUSH命令は、特権シ
ステム状態でのみ実行されるべきである。このようにし
て、記憶状態の整合性は、問題プログラムによつて破壊
されず、この問題プログラムはキヤツシユコヒーレンス
を維持する負担から解放される。
FLUSH命令が高い頻度で実行されるならば、性能の
低下が生じる。本発明を使用する良好なシステム設計
は、ソフトウエアに基づくキヤツシユコヒーレンス制御
を、効率の良いXI実行が容易に達成されない共用オブ
ジエクトに比較的まれなアクセスのみに限定する。この
状況は、MPシステムに多数のCPがある場合、または
CP群間に物理的な分離がある場合に生じる。このよう
な状況が発生すると、従来の方法を使用する完全に一般
的なキヤツシユコヒーレンス制御を得るのはむしろ困難
である。このような環境で、MSの共用を提供する妥当
な方法は、システム活動のほとんどが個々のCP(また
はCP群)で実行されるように、システムを区分し、C
P(またはCP群)を、共用オブジエクトへの簡単なア
クセスにより、相互に通信させることである。このよう
な共用オブジエクトの、可能性のある例はメツセージで
ある。本発明は、CP(またはCP群)の間で共用する
オブジエクトのアクセスのためにデータの一致性の制御
への洗練された方法を提供する。
CDに対する共用オブジエクトの割り当ては、キヤツシ
ユの性能に影響力を有する。ユーザが2つの異なる共用
オブジエクトにアクセスする許可が与えられる場合の状
況を考察する。ユーザにより、このオブジエクトの1つ
が解放されると、システムは、これらの2つのオブジエ
クトが同一CDにたまたま割り当てられているならば、
キヤツシユのもう一方のオブジエクトのために有効な作
業ラインを無効にして追い出す。これにより、記憶の更
新およびキヤツシユミスに不要な記憶のオバーヘツドを
生じる。したがつて、CDに対する共用オブジエクトの
割り当ての主な原理は、上記の現象が頻繁に起りがちに
ならないように、使用可能共用オブジエクト間でのCD
IDの妥当なランダム化を提供することにある。
第2図は、本発明が実施されるMP構成を示す。同一M
S10を共用するMPにN個(Nは整数)のCP2、
4、6および8がある。各CPは、命令復号実行エレメ
ント(IE)12、14、16および18、ならびにバ
ツフア制御エレメント(BCE)20、22、24およ
び26をそれぞれ有している。BCEは、専用CPデイ
レクトリ、ならびにそれぞれのキヤツシユおよび制御装
置を含む。各BCEは、記憶制御装置(SC)28また
は30を介して、共用種記憶装置(MS)10にアクセ
スする。このSC28および30は、それぞれチヤネル
装置29および31に接続されている。それよりもMS
10は、全CPに共用される第2のレベル(L2)のキ
ヤツシユで、このCPではこのL2キヤツシユは順番に
MSをアクセスするこのようなL2キヤツシユの動作は
下記のMSの動作と同様である。
第3図は、第2図に示されるBCE20、22、24ま
たは26のうちの1つの内部を示す。このBCEは、4
ウエイ連想キヤツシユ40、そのデイレクトリ42、デ
イレクトリ置き換え選択回路44を含み、またCDI
D、UIDC1、UIDC2フイールドおよびそれらの
制御回路を除いて、前述の米国特許第4394731号
明細書に記載された形式の各CPに関連する他の論理を
含む。米国特許第4394731号の全BCEの明細書
全体をここに引用する。この特許のプロセツサデイレク
トリは、本発明では、先行技術のVビツト位置をUID
C1、UIDC2に置き換え第4図に示されるようなデ
イレクトリの各ラインのエントリに2つの新しいフイー
ルドUR(1ビツト)およびCDIDを追加することに
より、CPのキヤツシユデイレクトリを提供するように
修正されている。また、この発明の実施例のためにここ
で記載されるCPデイレクトリのための制御装置は、米
国特許第4394731号明細書記載のものとは異なる
ものである。
各キヤツシユデイレクトリのエントリのURビツトは、
そのラインのためのUIDC1およびUIDC2上でL
RUを実行するために役立つ。キヤツシユデイレクトリ
のエントリで、URが1であればUIDC1が、URが
0であればUIDC2が、それぞれLRUである。新し
い(別個の)UIDCがデイレクトリのエントリに挿入
されるべきであると、新しいUIDCを含むためにエン
トリのUIDCフイールドは、LRUである。説明のた
め、BLOCKの粒度はPAGEであり、各ページテー
ブルのエントリは、現在のPAGEと関連するCDID
を含むと仮定される。仮想アドレス変換の際変換機構
は、関連するPAGEのCDIDを得て、これをBCE
の内部レジスタCDIDにゲートする。また、プログラ
ムがCP上で実行するためにタスク指名されると、その
“uidc(UID)”が、これもBCEの内部レジス
タUIDCRにロードされる。この説明において、“内
容(CDIDR)”および“(内容(UIDR))”は
それぞれ、レジスタCDIDR、およびUIDRの現在
の内容を指示するのに使用される。
第4図は、出力レジスタ100すなわちCPキヤツシユ
デイレクトリの選択された一致クラスの4つの連想エン
トリの関連情報のエントリフオーマツトを示す。従来の
XOR回路104A−104Dは、4つの連想エントリ
のうち(ある場合)どれかが選択可能であるかを判定
し、UIDCは、101A−101D、102A−10
2D続いてNORゲート105A−105Dを比較し
(=DUMMY)、有効ラインのエントリの選択106
A−106Dだけが、IE103からの要求アドレスに
よるキヤツシユヒツトまたはミスの有無を判定できるよ
うにする。レジスタ100の一致クラスでのキヤツシユ
ヒツトは、キヤツシユヒツトライン108を付勢するた
めにOR回路107への入力ラインの1つを付勢する。
OR回路107への入力ラインのいずれも付勢されない
ならば、キヤツシユミスライン110はOR回路107
からの信号を受信しないインバータ109によつて付勢
される。
キヤツシユミスの場合、BCEは、現在のキヤツシユ要
求のためのCDIDがCDID0であるかどうかをチエ
ツクするために内部レジスタCDIDR(変換機構によ
つてセツトされる)を使用する。現在のキヤツシユ要求
がCDID0に対するものであるとわかつた場合、(た
とえば、XI決定および変換アレイ更新時に)とられる
処置は、(遠隔)キヤツシユ・ラインの無効化が無効化
された遠隔キヤツシユデイレクトリのエントリのUID
C1およびUIDC2の両方にDUMMYと入れること
によつて表わされることを除いて、米国特許第4394
731号明細書に記載されたものと同様である。キヤツ
シユヒツトがCDID0に対する場合ないことが検出さ
れると、選択されたキヤツシユ行は、IEによるアクセ
スのための準備であると見なされる(それ以上のXIに
関する考察はされない。)いずれの場合も、選択された
デイレクトリのエントリのUIDCフイールドは、キヤ
ツシユのアクセスが終了する前に、第I表に指定する規
則により更新される。
選択されたデイレクトリのエントリのCHビツトは、I
Eが記憶動作を要求するならばオンにされる。また、キ
ヤツシユミスの場合、“内容(CDIDR)”は、新し
く取出されたラインに対してエントリのCDIDのフイ
ールドにゲートされる。“内容(CDIDR)”≠CD
ID0によりIE103からのキヤツシユアクセス要求
に対するキヤツシユミスの際、選択された一致クラスに
LRUラインを置き換える決定がなされる。置き換える
ためのLRラインの選択は、米国特許第4394731
号に採用された方法と同様である。置き換えられたライ
ンが米国特許第4394731号明細書に特定されるよ
うなそのデイレクトリのエントリにオンのCHビツトを
有しているならば、MSの更新がまず実行される。IE
からの要求に対して、MSから新しく取り出されたライ
ンは、置き換えが選択されたキヤツシユ・ラインの位置
に転送される。この新しく取り出された行のデイレクト
リのエントリは、CDID←“内容(CDIDR)”、
UIDC1←“内容(UIDCR)”、UIDC2←D
UMMY、UR←0となるようにリセツトされる。変更
ビツトCHもまた、IE要求が記憶動作に対するもので
ある場合、1にセツトされる。
IEから出されるFLUSH命令の実行のための可能な
実施は第1図のフローチヤートに示されている。第1図
に示されるアルゴリズムは下記のとおりである。キヤツ
シユの一致クラスは、FLUSH命令のパラメータによ
り示される仕様に合致するデイレクトリのエントリを
(ある場合)探すことにより1つずつ検索される。突き
合わされたデイレクトリのエントリが一致クラスで見つ
かると、FLUSH命令を実行するため、適当な動作が
とられる。
第1図のデイレクトリのエントリのマツチング128の
ための論理図が第6図に示されている。(FLUSH命
令の入力パラメータUIDから計算された)UIDC1
12は、XORゲート116A−116Dおよび117
A−117Dを使用して、4つの連想性のUIDCフイ
ールドと比較される。次に、ORゲート118A−11
8Dは、一致クラスの4つのエントリのそれぞれが、突
き合わされたUIDCフイールドを有するかどうかを判
定する。XOR回路115は、入力UIDCがDUMM
Yであるかどうかを判定し、出力ビツト(入力がDUM
MYであれば0)をNORゲート118A−118Dに
供給する。同様に、CDIDの入力パラメータは、XO
Rゲート120A−120Dを使用して、一致クラスの
4つのエントリのCDIDのフイールドに対して突き合
わされる。XORゲート119は、入力のCDIDがC
DID0であるかどうかを判定するのに使用され出力ビ
ツト(入力がCDIDである場合は0)はNORゲート
121A−121Dにゲートされる。FLUSH命令の
Mのパラメータビツトはまずインバータ122で反転さ
れ、次にORゲート123A−123Dに入力される。
次に、ANDゲート124A−124Dは、入力のパラ
メータUIDC,CDIDおよびMに対して、一致され
た値を有する一致クラスの全エントリを選択する。
所定の一致クラスの場合、128で、125A−125
Dから選択されたエントリがあるならば、各選択された
ラインは、FLUSH動作129にを受けやすい。第7
図は、129のためのフローチヤートを提供する。第7
図は、選択ラインのエントリ125A−125Dはそれ
ぞれ、まず134で変更フラグCHに対してチエツクさ
れる。CH=1であると、135でライン(またはその
変更)がMSに対して更新され(135)、MSの更新
の肯定応答を受け取ると、CHビツトはオフにされる。
その後、136でIフラグがFLUSH命令で指定され
るならば、選択されたエントリに対して適当な無効化ス
テツプ137がとられる。無効化ステツプ137は、第
II表の規則により、UR,UIDC1およびUIDC2
のフイールドを適当に変更することにより実行される。
この発明のキヤツシユの基本操作命令(UID,UID
C,CDID,CDIDC,UR)およびFLUSH命
令は、BCEレベル以下の各種の公知の記憶階層設計に
よつて実施されるので、本発明の前述の説明はBCEレ
ベル以下の記憶制御設計の明細について行なう。低レベ
ルの記憶設計は、本発明の良好な実施を提供するのに合
うようになされる。
ユーザおよびデータのためのUIDおよびCDIDの規
定は、特定のシステム設計に対して行なわれる。
SETUID UID SETCDID CDID,PAGEID 等の特別な命令、または他の変形命令は、ソフトウエア
規定のために供給される。望むならば、内部レジスタU
IDCRは、(“uidc(UID)”の代りにCID
を含む他のレジスタUIDRで置き換えられる。
本発明は、SICを用いて説明される。STキヤツシユ
を有するMPまで説明を拡張するのは簡単である。ST
キヤツシユを使用すれば、CHフラグと関連するすべて
の動作、ならびにキヤツシユ・ラインの置き換えおよび
無効化の際のMS更新は放棄される。
第1図で、FLUSH命令の実行は、一致フラスに基づ
いて逐次行なわれる。各一致クラスに対して、第6図の
PDのエントリ選択回路は、一致クラスの4つのエント
リのFLUSH命令の仕様のマツチングを並列に実行す
る。FLUSH命令の実行の良好な実施は、FLUSH
命令のパラメータに対して、キヤツシユデイレクトリの
エントリの並列マツチングを最適化すべきである。キヤ
ツシユデイレクトリのエントリは、FLUSH命令の状
態のマツチングに必要なタグは、主としてCH,CDI
D,UIDC1およびUIDC2である。設計のこの部
分を最適化する可能性のある方法は、突き合わされるデ
イレクトリのエントリの検索が、個々の一致クラスの読
出しに限定されないように、回路を分離(またはこれら
のタグの余分なコピーを維持)するためにこれらのタグ
のいくつかまたは全部を移動することである。特別に設
計された回路は、より多く(たとえば16)のデイレク
トリのエントリに対して、同時に並行して第5図の突合
わせ動作を行う。
キヤツシユデイレクトリのエントリのCDIDタグは、
主としてFLUSH動作のために保持される。MPで
は、余分のキヤツシユ・ラインをFLUSHすることは
常に(性能に対して最適ではないけれども)安全であ
る。デイレクトリビツトを節約する1つの実際的な方法
は、各キヤツシユ・ラインのエントリで、CDIDタグ
の代りにCDIDクラス(CDIDC)タグを使用する
ことである。CDIDの場合、8ビツト表示、CDID
Cの場合、4ビツト表示を考察する。2つ以上のCDI
Dは、同一のCDIDCと関連づけられる。CDIDの
場合、対応するCDIDC(“cdidc(CDI
D)”で示す)は、CDID表示から、ある種のビツト
を抜き取る(または排他的オアをとる)ことにより、計
算される。CDIDタグがキヤツシユデイレクトリで使
用されると、FLUSH命令のエントリ選択回路の入力
線113(第6図)は、予め計算され、内部レジスタに
記憶される。“cdidc(CDID)”を(CSID
の代りに)送るべきである。CDIDの計算、およびC
Dへの共用オブジエクトの割り当ての設計に重要な要素
は、FLUSH命令の実行が、FLUSHを生じさせる
共用オブジエクトの一部ではないキヤツシユ・ラインに
大きな影響を与えないように、十分なランダム化を提供
することである。
以上、本発明は、実施するUIDおよびUIDCのオプ
シヨンで説明された。このオプシヨンが必要とされない
場合、キヤツシユデイレクトリのエントリ当たり1つの
明示のVビツトは、キヤツシユ・ラインの有効性を指示
するために(米国特許第4394731号明細書に記載
されているように)必要とされる。開示した実施の他の
部分は、UIDおよびUIDCの検査および更新に関す
るすべての回路およびステツプを単に除去することによ
り修正される。
本発明は、特に米国特許第4394731号明細書のS
ICキヤツシユ構成フレームワークに基づいて説明され
ている。
E.発明の効果 本発明は、前述の従来の方法で生じる問題点を解決し、
キヤツシユコヒーレンスを維持するためにキヤツシユの
フラツシユ動作を行なうことにより、効率的な実施が困
難なある種の状態で、XI制御の必要を除くようにする
という効果がある。
【図面の簡単な説明】
第1図は、FLUSH実行手順全体のフローチヤート、
第2図は、多重処理構成におけるキヤツシユおよびデイ
レクトリを示すブロツクダイアグラム、第3図は、修正
した従来の四元セツト連想キヤツシユの詳細なブロツク
ダイアグラムである。この図には、デイレクトリのエン
トリの新しいフイールドCDID,UIDC1およびU
IDC2、ならびに関連する一部の制御回路、第4図は
CPのキヤツシユデイレクトリのヒツト/ミス検出回
路、第5図は、各CPのキヤツシユデイレクトリのエン
トリのタグビツト、第6図は、各一致クラスでのFLU
SH実行のための制御回路、第7図は、FLUSH命令
のパラメータによつて指定された条件に一致することが
わかつた一致クラスにキヤツシユ行のエントリがある場
合の、キヤツシユ一致クラスでのFLUSH実行のフロ
ーチヤートを示す。 115、119……XOR回路、122……インバー
タ、128……デイレクトリのエントリ突き合わせ部。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】複数の中央処理装置と、この中央処理装置
    によつて共用される主記憶装置とを有し、各中央処理装
    置はキヤツシユ及びデイレクトリを有し、このデイレク
    トリは複数の情報のラインエントリを有し、この情報の
    ブロツクは少なくとも1ラインから構成され、制御定義
    域は少なくとも1つの情報のブロツクとして、規定さ
    れ、各ラインエントリはラインが属する前記制御定義域
    を識別する制御定義域識別フラグと、前記主記憶装置へ
    の最後の更新以後前記ラインが変更されたことを示す1
    方の状態及び前記主記憶装置への最後の更新以後前記ラ
    インが変更されなかったことを示す他方の状態を有する
    変更フラグを含む多重プロツセサシステムのキヤツシユ
    を制御する方法において、 前記主記憶装置から前記キヤツシユに転送される情報の
    任意のブロツクの各情報ラインの前記制御定義域フラグ
    を情報の前記任意のブロツクの前記制御定義域を識別す
    るように設定し、 所与の中央処理装置に関連した前記キヤツシユから所定
    の制御定義域識別フラグを有する情報ラインを取除くた
    めに前記所定の制御定義域識別フラグを含むFLUSH
    コマンドを前記所与の中央処理装置によつて発行し、 前記FLUSHコマンドの前記制御定義域識別フラグと
    前記関連キヤツシユの情報ラインの前記制御定義域識別
    フラグとを比較し、前記制御定義域識別フラグが一致す
    れば、前記関連キヤツシユから一致した前記制御定義域
    識別フラグを有するラインを取除き、 前記キヤツシユの変更されたラインのみに前記FLUS
    Hコマンドが作動する1方の状態及び前記FLUSHコ
    マンドが変更されたライン及び変更されないラインに作
    動する他方の状態を示す修正フラグが前記1方の状態を
    示すと共に前記変更フラグが前記1方の状態を示す場合
    のみ前記キヤツシユから前記情報ラインを取除くように
    したことを特徴とする多重プロセツサシステムのキヤツ
    シユを制御する方法。
JP61219918A 1985-10-30 1986-09-19 多重プロセツサ・システムのキヤツシユを制御する方法 Expired - Lifetime JPH0619739B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US79272885A 1985-10-30 1985-10-30
US792728 1985-10-30

Publications (2)

Publication Number Publication Date
JPS62105250A JPS62105250A (ja) 1987-05-15
JPH0619739B2 true JPH0619739B2 (ja) 1994-03-16

Family

ID=25157874

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61219918A Expired - Lifetime JPH0619739B2 (ja) 1985-10-30 1986-09-19 多重プロセツサ・システムのキヤツシユを制御する方法

Country Status (3)

Country Link
EP (1) EP0220451B1 (ja)
JP (1) JPH0619739B2 (ja)
DE (1) DE3650021T2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01119849A (ja) * 1987-11-04 1989-05-11 Hitachi Ltd 多重プロセッサシステム
JPH01173241A (ja) * 1987-12-28 1989-07-07 Toshiba Corp キャッシュメモリ装置
GB8814077D0 (en) * 1988-06-14 1988-07-20 Int Computers Ltd Data memory system
US4928225A (en) * 1988-08-25 1990-05-22 Edgcore Technology, Inc. Coherent cache structures and methods
US5724549A (en) * 1992-04-06 1998-03-03 Cyrix Corporation Cache coherency without bus master arbitration signals
GB9704542D0 (en) 1997-03-05 1997-04-23 Sgs Thomson Microelectronics A cache coherency mechanism
US9454490B2 (en) 2003-05-12 2016-09-27 International Business Machines Corporation Invalidating a range of two or more translation table entries and instruction therefore
US7284100B2 (en) * 2003-05-12 2007-10-16 International Business Machines Corporation Invalidating storage, clearing buffer entries, and an instruction therefor
WO2012102002A1 (ja) 2011-01-24 2012-08-02 パナソニック株式会社 仮想計算機システム、仮想計算機制御方法、仮想計算機制御プログラム、記録媒体、及び集積回路
US9182984B2 (en) 2012-06-15 2015-11-10 International Business Machines Corporation Local clearing control
CN115827512A (zh) * 2022-12-20 2023-03-21 北京奕斯伟计算技术股份有限公司 数据处理装置、方法、电子设备和存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3735360A (en) * 1971-08-25 1973-05-22 Ibm High speed buffer operation in a multi-processing system
US4399506A (en) * 1980-10-06 1983-08-16 International Business Machines Corporation Store-in-cache processor means for clearing main storage
EP0049423B1 (en) * 1980-10-06 1987-04-01 International Business Machines Corporation Multiprocessor system
JPS609296B2 (ja) * 1980-12-19 1985-03-09 富士通株式会社 バッファメモリ制御方式
JPS589273A (ja) * 1981-07-07 1983-01-19 Nec Corp デ−タ処理装置
US4463420A (en) * 1982-02-23 1984-07-31 International Business Machines Corporation Multiprocessor cache replacement under task control

Also Published As

Publication number Publication date
EP0220451B1 (en) 1994-08-10
JPS62105250A (ja) 1987-05-15
DE3650021D1 (de) 1994-09-15
DE3650021T2 (de) 1995-03-09
EP0220451A2 (en) 1987-05-06
EP0220451A3 (en) 1989-11-15

Similar Documents

Publication Publication Date Title
US4775955A (en) Cache coherence mechanism based on locking
US7073044B2 (en) Method and apparatus for sharing TLB entries
CN101727405B (zh) 虚拟地址高速缓冲存储器和方法以及处理器
US6728858B2 (en) Method and apparatus including heuristic for sharing TLB entries
US6370622B1 (en) Method and apparatus for curious and column caching
EP0945805B1 (en) A cache coherency mechanism
US4763244A (en) Paged memory management unit capable of selectively supporting multiple address spaces
US4890223A (en) Paged memory management unit which evaluates access permissions when creating translator
US7996650B2 (en) Microprocessor that performs speculative tablewalks
US4763250A (en) Paged memory management unit having variable number of translation table levels
US6456891B1 (en) System and method for transparent handling of extended register states
KR102531261B1 (ko) 캐시 메인터넌스 명령
US20180336035A1 (en) Method and apparatus for processing instructions using processing-in-memory
US8521944B2 (en) Performing memory accesses using memory context information
US20080155168A1 (en) Scalability of virtual TLBs for multi-processor virtual machines
JP2011198091A (ja) 仮想アドレスキャッシュメモリ、プロセッサ及びマルチプロセッサシステム
JPH04227552A (ja) ストアスルーキャッシュ管理システム
GB2499168A (en) Method, system and program for cache coherency control
US7552254B1 (en) Associating address space identifiers with active contexts
CN119621608B (zh) 硬件辅助页表管理系统、方法、介质、程序产品及终端
CN109983538B (zh) 存储地址转换
US7363435B1 (en) System and method for coherence prediction
CN114365102B (zh) 转译后备缓冲器失效
EP0220451B1 (en) A cache coherence mechanism based on locking
CN117785735A (zh) 一种基于标签缓存的标签式存储结构及方法