JPH09507599A - Data storage - Google Patents

Data storage

Info

Publication number
JPH09507599A
JPH09507599A JP8513638A JP51363896A JPH09507599A JP H09507599 A JPH09507599 A JP H09507599A JP 8513638 A JP8513638 A JP 8513638A JP 51363896 A JP51363896 A JP 51363896A JP H09507599 A JPH09507599 A JP H09507599A
Authority
JP
Japan
Prior art keywords
address
real
memory
page
cache
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
Application number
JP8513638A
Other languages
Japanese (ja)
Inventor
リードテケ,ジョヘン
Original Assignee
ゲーエムデー−フォルシュングスツェントルム インフォルマチオンシュテクニク ゲーエムベーハー
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 ゲーエムデー−フォルシュングスツェントルム インフォルマチオンシュテクニク ゲーエムベーハー filed Critical ゲーエムデー−フォルシュングスツェントルム インフォルマチオンシュテクニク ゲーエムベーハー
Publication of JPH09507599A publication Critical patent/JPH09507599A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1054Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/653Page colouring

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)【要約】 データを格納するためのメモリ装置であって、仮想または実アドレス空間のアドレスによってインデックス付け可能なキャッシュメモリを有する。アドレスはページオフセットアドレス部と、ページ番号を表すと共にグループ情報及び常駐アドレス部を備えるページ番号アドレス部とを有する。グループ情報は、アドレスのページ番号アドレス部によりページが表現される複数のグループの内の一つを指示する。キャッシュメモリは、少なくともページオフセットアドレス部の一部によって及びアドレスのグループ情報によってインデックス付けされる。実メモリは、アドレスの常駐アドレス部及びページオフセットアドレス部によってのみインデックス付けされる。 (57) [Summary] A memory device for storing data, which has a cache memory that can be indexed by an address in a virtual or real address space. The address has a page offset address part and a page number address part that represents a page number and that includes group information and a resident address part. The group information indicates one of a plurality of groups in which a page is represented by the page number address part of the address. The cache memory is indexed by at least part of the page offset address part and by the group information of the address. The real memory is indexed only by the resident address part of the address and the page offset address part.

Description

【発明の詳細な説明】 データ格納装置 本発明は、従来のアーキテクチャで可能なより多数のページの適宜に色付けされ た割り当てを認める実メモリアーキテクチャに関する。 ある種の仮想インデクス及び実タグ付けされたキャッシュは、もしも対応するペ ージが適宜に色付けされて割り付けられている場合には、プロセッサによる迅速 なキャッシュアクセスのみが許される。そのため、適宜に色付けされて割り付け られている多数のページはプログラムをスピードアップすることが可能である。 適宜に色付けされた割り付けはいくつかのTLBアーキテクチャにとっても有利 であろうし、またキャッシュクラッシュを減少すべく使用されるであろう。 また更に、実メモリアーキテクチャは、実ページのランダム色付けの余地を認め る。これによって、大容量且つ実インデクス付けされたキャッシュ、たとえば二 次キャッシュ、は個々の用途に従って区切られ、それらは予測可能なミスレート を伴って使用可能である。このことは、実時間及びマルチメディアアプリケーシ ョンにおいて特に望まれている。更に他の適用は、ページの再色付けによる動的 コンフリクトリダクションに見出される。 1.キャッシュを有する従来のメモリ 1.1 実及び仮想キャッシュ 近年のプロセッサは、高速プロセッサと低速主メモリとの間のギャップを埋める ために、キャッシュメモリを必要とする。 実インデクス及び仮想インデクス付きキャッシュが知られている。実インデクス 付きキャッシュでは、図5に示すように、プロセッサにより供給される仮想アド レスvは変換索引バッファ(TLB)により最初に実アドレスrに変換される。 そして、この実アドレスrによりキャッシュはアドレス付けられる。仮想インデ クス付きキャッシュでは、図6に示すように、キャッシュは仮想アドレスvによ り直接アドレス付けられる。対応する実アドレスrへの変換は、キャッシュミス が発生した場合にのみ行なわれる。TLBによる変換が省略されるという理由か ら、仮想インデクス付きキャッシュの利点は高速にある。その難点は、シノニム または別名になった場合に示される。 1.2 ダイレクトマップ及びn−ウェイセットアソシアティブキャッシュ ダイレクトマップキャッシュは、実アドレスrまたは仮想アドレスvからキャッ シュインデクスを計算し、またそれに関するキャッシュのラインを選択するため に、マップ機能(図5及び図6に示すような)を使用する。そして、rまたはv は、このキャッシュラインと現在連想付けられているメモリ領域(キャッシュエ ントリのタグ)と比較される。一致の場合にはヒット(そのキャッシュラインは 主メモリの代わりに使用される)であり、そうでなければミスである。 主として、(rモジュロキャッシュサイズ)/ラインサイズまたは (vモジュロキャッシュサイズ)/ラインサイズは、マップ機能として使用され る。この手法では、仮想アドレスの全てがキャッシュに格納されるべきではなく 、r/キャッシュサイズまたはv/キャッシュサイズで十分であろう。 ダイレクトマップキャッシュは単純ではあるが、n−ウェイキャッシュに比して 高ミスレートを生ずる。基本的には、これらは比較的小さいダイレクトマップキ ャッシュブロックからなる。それは各主メモリエレメントが多くとも一つのブロ ックに配置されることを保証する。マップ機能はnキャッシュラインを示すため 、キャッシュはマップと等価なアドレスまでのnエレメントを含み得る。このn −フォールド連想可能性は、クラッシュの可能性を減少させ、それに伴ってヒッ トレートを増加させる。 1.3 仮想インデクス及び実タグ付きキャッシュ 現在提起されているキャッシュタイプは仮想インデクス及び実(物理)タグ付き キャッシュである。それは仮想インデクス及び仮想タグ付きキャッシュ同様に高 速であるが、それの難点の多く、特にマルチププロセッサシステム,シノニム, 分散,コヒーレントに関する問題をまだ回避していない。 実インデクス付きキャッシュもまたこれらの難点が無いということは真実である が、キャッシュアクセスの開始が可能になる以前にTLBによる完全なアドレス 変換ステップ(仮想−実)が要求される。他方、仮想インデクス及び実タグ付き キャッシュにはTLBとキャッシュとの並行アクセスの余地がある(図7参照) 。その結果、プ ロセッサの能力の向上に伴って、一般に、一命令のアイドルタイムを一クロック 減少させるために、プロセッサの命令パイプラインはより短くなる。 キャッシュをインデクス付けするために必要な全てのアドレスビット(i)がア ドレスオフセット(ページ内のアドレス)の範囲内に位置する限りは、メカニズ ムは単純なままである。なぜなら、このアドレス部は仮想アドレスの実アドレス への変換によっては変化しないからであり、それによってキャッシュはTLBの 変換ステップ以前においてもアドレス付け(インデクス付け)することが可能で ある。キャッシュアクセス及びTLBの並列変換の最後においてのみ、キャッシ ュエントリに連想付けられている実アドレス(タグ)がTLBにより供給された 実アドレスと同一であるか否かがチェックされる。そのような実行に際して、イ ンデクス部(i)に隣接するアドレスの最上位ビットのみが比較される。なぜな らば、(i)でインデクス付けされたキャッシュエントリは、そのインデクスビ ットが値(i)を有するアドレスにのみ連想付けられているからである。従って 、最上位ビットのみがキャッシュにタグ(実アドレス)として格納されなければ ならない。 このタイプのn−ウェイセットアソシアティブキャッシュは、サイズはn×2P までであってもよい。なお、2Pはページサイズである。キャッシュサイズはよ り大きなページ数または増加された連想可能性により増加されてもよい。 ところで、興味ある技術として、ページカラーリング(ページ色付け)がある。 これは、実メモリ中のページのセットアップが常に仮 想及び実ページアドレスの最下位アドレスビットが同一(図8参照)であるよう な手法である。この場合、仮想ページ番号(vpn)及びキャッシュインデクス (i)はオーバラップするであろう。このオーバラップ部分は図8において黒で 示されている。仮想アドレスの対応する部分は仮想色cと称され、実アドレスの 部分は実色c’と称される。適宜に色付けされた割り付けにおいては、即ち仮想 及び実色が一致している場合は、上述のサイズn×2Pの限界は回避される。 もし、図9に示されているように、仮想及び実色の付加的な比較があれば、タグ (実アドレス)付けは対応する色ビットの格納無しに実行されてもよく、また実 ページ番号の最上位ビット(r’)のみがタグと比較されなければならない。 もちろん、割り付けが完全に適宜に色付けされていない場合にも、キャッシュは 機能しなければならい。従って、もし最初のキャッシュアクセスがミスし、TL Bにより供給された実色c’が仮想色cとは異なっていても、TLBにより供給 された実色c’(最初のキャッシュアクセスに使用された仮想色cに代えて)( 図10参照)及びキャッシュインデクス(i)でアドレス付けされたキャッシュ に対して色補正キャッシュアクセスが試みられるであろう。このように、不適当 に色付けされたページも使用可能であるが、それらはキャッシュアクセスの間に 付加的なステップを要求する(図11参照)。 注意すべきは、適宜には色付けされていない割り付けがある環境下、たとえば異 なって色付けされた二つの仮想ページが同一の実ページ にマッピングされるべき場合、において究極の必要になるかもしれないというこ とである。 1.4 実メモリ中の適宜に色付けされた割り付け 2sバイトのページサイズ,m×2sバイトの従来の実メモリ及びi×2tのi− ウェイセットアソシアティブキャッシュに関しては、c=2t-s個の色(t>s のとき)が存在する。実メモリにおいてはm/cページまで、個々の仮想色で適 宜に色付けして割り付けることが可能である。 実メモリに割り付けられた仮想ページの仮想色のランダムな及び均一な分布に関 して、n≦mページが適宜に色付けされる確率は、実メモリの50%より多くが 使用される場合よりもむしろ既に低くなっている。このようにして、適宜に色付 けされた割り付けは使用可能な実メモリのパーセンテージを制限する。たとえば 、4Mの実メモリ及び4Kのページを有するシステムにおいては、その限度はi ×128Kキャッシュに対しては50%であり、i×64Kキャッシュに対して は60%である。 1.5 予測可能なキャッシュミスレート 異なる色付けをされたページからのデータもまたキャッシュの異なる部分にマッ ピングされるため、異なる色付けをされたページからのデータ間でキャッシュコ ンフリクトは決して発生しないであろう。 もし、たとえば、リアルタイムアプリケーションが「黄色」の実ペ ージのみに与えられ、他のいずれのアプリケーションも「黄色」の実ページには 与えられないとすると、このアプリケーションのキャッシュミスレートは他の全 ての同時にアクティブであるアプリケーションから独立する、即ち予測可能にな るであろう。不幸にも、従来のメモリアーキテクチャでは全ての「黄色」の実ペ ージはそのためにブロックされるであろう。4色(c=4)の場合、適当な小さ いリアルタイムアプリケーションでも既に物理メモリの25%をブロックしてい るであろう。 1.6 コンフリクトリダクション キャッシュコンフリクトが動的に減少される場合、ページは「再色付け」のため に適合化されねばならない。従来のアーキテクチャでは、このことは、色が各実 ページに変更不可能に割り付けられているために、1ページの物理的なコピーを 要求する。 2 目的/解決 本発明の目的は、従来の実メモリのアーキテクチャに比して実メモリ中に実質的 により多くのページの適宜に色付けされた割り付けの余地を認めたメモリアーキ テクチャを提供することである。更に、各色に対するページに異なる番号を実メ モリが持ってもよいようにするために、少なくともいくつかの実メモリのページ の色はオペレーティングシステムによる決定から自由にしておくべきである。 この問題を解決するために、本発明は以下を備えるデータ格納用のメモリ装置を 提案する。 −そのアドレスがページオフセットアドレス部と、ページ番号を表すと共にグル ープ情報及び常駐アドレス部を含むページ番号アドレス部とを有し、グループ情 報はアドレスのページ番号アドレス部で表現されるページが属する複数のグルー プの内の一つを指示し、少なくともページオフセットアドレス部によって及びア ドレスのグループ情報によってインデクス付けされることに好適であり、仮想ま たは実アドレス空間のアドレスでアドレス付けされることに適合したキャッシュ メモリと、 −アドレスの常駐アドレス部及びページオフセットアドレス部のみ、及び可能で あればグループ情報の一部によってインデクス付けされることに適合した実メモ リ。 本発明のメモリ装置がアクセスされるアドレスのグループ情報は前述の色である 。ページオフセットアドレス部はページ内のアドレスを決定する。少なくとも、 このページオフセットアドレス部の一部及びグループ情報は、キャッシュをイン デクス付けるためのアドレスのキャッシュインデクス部として共に使用される。 これに対して、グループ情報は実メモリのインデクス付けには使用されないか、 または一部のみが使用される。これにより、実メモリ中のそれらのページは、ア プリケーションのために予約されたそのアプリケーションに現実に必要な色を備 えている。このように、他の全てのページが並列アプリケーションに使用されて もよいので、実メモリのワークロードは改善される。キャッシュメモリのインデ クス付けは、ブロック情報及びページオフセットアドレス部またはその一部によ り排他的に実行される。 本発明の有利な実施例では、少なくとも一つの第1のアドレス領域及び少なくと も一つの第2のアドレス領域を有し、また全体のアドレスが少なくとも一つの第 1のアドレス領域のアドレスにより実メモリのインデクス付けに使用され、これ に対してアドレスの少なくとも常駐アドレス部,ページオフセットアドレス部及 び可能であればグループ情報の一部が、少なくとも一つの第2のアドレス領域の アドレスにより実メモリのインデクス付けに使用されるアドレス空間を備える。 この実施例では、実メモリの一部のみが本発明の手法によりインデクス付け可能 である。 好ましくは、アドレスは実アドレスである。その代わりに、アドレスは仮想アド レスであってもよく、この場合にはキャッシュメモリはページオフセットアドレ ス部の一部によって及び仮想アドレスのグループ情報によってインデクス付けす ることが可能であり、同様に実メモリは仮想アドレスから変換された実アドレス の常駐アドレス部によって及び仮想アドレスのページオフセットアドレス部によ って、更に可能であれば、仮想アドレスから変換された実アドレスのグループ情 報の一部によってインデクス付けすることが可能である。 基本的には、アドレス空間に関しては、同一サイズまたは異なるサイズのページ を含むことが可能である。第1の場合には、アドレスの全体の長さは一定である が、ページオフセットアドレス部及びグループ情報の長さはそれぞれ可変に保た れる。ここで、アドレス空間が複数のアドレス領域を有することは実現可能であ り、そのアドレスはページオフセットアドレス部及び/又は異なる長さのグルー プ情報を有し、各アドレス領域に関して全てのアドレスのページオフセットアド レス部の長さが同じであること及び全てのアドレスのグループ情報部の長さが等 しいこと、及びアドレス領域のアドレスにより実メモリにインデクス付けするこ とに関して、もし可能であれば、アドレスの個々のグループ情報の一部と同様に 、それぞれの常駐アドレス部及び常駐ページオフセットアドレス部が使用される ことは真実である。異なるアドレス領域はアドレス空間の異なるページサイズに それぞれ連想付けられる。換言すれば、ページサイズはアドレス領域により決定 される。アドレス領域は実メモリの分離した及び/又はオーバラップしたメモリ 領域にマッピングされてもよい。 好ましくは、アドレス空間の各アドレスに対して、ページオフセットアドレス部 及びグループ情報の長さが指示されること、たとえばメモリに格納されること及 びそれによって供給されることが用意される。これにより、ページサイズ及びア ドレス領域の固定した連想は排除される。 以下は図面による本発明の実施例の詳細な記述である。図面は、 図1−本発明により物理実メモリがアドレス付けされた場合の実アドレス空間及 び連想付けられた物理実メモリの比較の模式図、 図2−実メモリをアドレス付けるために使用されるアドレスへの実アドレス空間 アドレスの変換を使用する自由色付けの説明図、 図3−実メモリをアドレス付けるために使用されるアドレスへの実 アドレス空間アドレスの変換を使用する制限された色付けの説明図、 図4−実メモリをアドレス付けるために使用されるアドレスへの実アドレス空間 アドレスの変換を使用する動的色付けの説明図、 図5−実インデクス付きキャッシュメモリの模式的説明図、 図6−仮想インデクス及び仮想タグ付きキャッシュメモリの模式的説明図、 図7−仮想インデクス及び実タグ付きキャッシュメモリの模式的説明図、 図8−適宜に色付けされた割り付けに基づくキャッシュメモリの模式的説明図、 図9−適宜の色付けのチェックを有するキャッシュメモリの模式的説明図、 図10−色付け補正ステップの説明図、及び 図11−アクセスステップの説明図。 3. 自由に色付け可能な領域を有する実メモリ c個の色及び適宜に色付けされた割り付けにより、mページの実メモリはm/c −ウェイセットアソシアティブシステムと見做せる。 それはmエントリの全てを受入れるか、一色当たりm/cエントリが最大である 。そのようなシステムは付加的な小さなフルアソシアティブキャッシュによる実 質的な改善を経験してもよい。この付加的なキャッシュは、m/cアソシアティ ブキャッシュのj個までのオーバラップを受け入れるために、どのような色のj 個のエントリをも含むことが可能である。(もし、一つの色のk>m/cエント リが要求されるのであれば、これはk−m/c個のオーバラップを意味するであ ろう)このように、一般には、システム全体は、適宜に色付けされた割り付けの 規則に違反しない限りは、実メモリの相当程度大きな部分を使用可能である。 4M,4Kページ及びi×128Kのキャッシュの実メモリを有するシステムで は、たとえば、32K(j=8)の自由に色付け可能なページに対する限界は既 に70%である。64K(j=16)に関してはほとんど80%が達成されてお り、また256K(j=64)に関してはほとんど100%が達成されている。 上述のようなアーキテクチャを実現するために、jページのサイズの物理メモリ の一つ(連続する)の部分は、任意の実色を有するjページを保持可能であるこ とが必要である。 3.1 固定ページサイズに関する自由な色付け能力 通常、実アドレス空間の一つまたはそれ以上の連続する部分は、物理的に実存す るメモリ上に1:1でマッピングされる。そして、物理メモリ以外のメモリは実 アドレス空間の残余の部分に連想付けられる。 自由に色付け可能な領域を有する実メモリにおいては、物理メモリの部分、即ち m−jページ、のみが1:1にマッピングされる。物理メモリの残余のページは 、j×cページのサイズを有する実アドレス空間の使用されていない部分にマッ ピングされる。図1は一例の説明図である。 2sバイトのページサイズ,m×2sバイトの従来の実メモリ及びi×2tバイト のi−ウェイセットアソシアティブキャッシュに関しては、c=2t-s個の色( t>sのとき)が存在する。j×cページのサイズの実アドレス空間の自由に色 付け可能な領域は、それぞれcページのサイズのj個のボックスに分割されてい る。各ボックスは整置された実アドレス2t(rモジュロ2t=0)においてスタ ートする。一つのボックスの全てのページは物理メモリの同一のページにマッピ ングされる。図2はそのようなアドレス変換の一例の説明図である。簡単のため に、図2においては、実アドレス空間の自由に色付け可能な部分は、値aを有す る実アドレスの最上位ビットにより特定されると見做される。2u-1<j≦2uに 対しては、uはbの長さに等しいとすると、この領域は実アドレス2u+1aにお いてスタートし、2u+tバイトのサイズを有する。従って、連想付けられている 物理メモリは物理アドレス2u+sa’においてスタートし、2sjのサイズを有す ると見做される(a’は、t−sビットのaよりも長いビットストリングである )。 変換されるべき実アドレスrは、値aを有する上位部分と、ボックスを特定する uビットのフィールドbと、実色を含むt−xビット(図では黒)のフィールド cと、ページ内のオフセットを示すフィ ールドxとで構成される。変換されたアドレスr’は −オフセットフィールドxを変更せずに引き継ぐ、 −ボックスフィールドbを右へt−sビットシフトして引き継ぐ、 −残余(上位)部分を値a’で置換する。 以上から理解される如く、実色cはこの処理で完全に消滅する。実行可能なよう に、ボックス当たり一ページのみが使用可能であるが、ページ(及びその実色) は任意に選択可能である。このようにして、任意の色のjページが同様にjペー ジのみのサイズを有する物理メモリに置かれる。 実アドレスから物理アドレスへのこの変換、この明細書では自由色付けと称され る、は仮想アドレスから実アドレスへの変換と混同されてはならない。自由色付 けは、自由色付け可能な領域に対してのみ有効であり、付加的には仮想アドレス から実アドレスへの変形にも有効である。 仮想アドレスの変換に比して、プロセッサによる個々のアクセスに対してここで 述べた変換は不要であるが、キャッシュミスの場合にのみ、キャッシュをバイパ スしてライトバックまたはアクセスする、ということに注意すべきである。なお 更に、実質的にアドレスラインの適切な、即ち余分な時間を必要としない配線の みが要求される、ということにも注意すべきである。 フィールドbは上位または隣接しないビットで構成されてもよい。 変形 1 Aを自由に色付け可能な領域の基底アドレスとして、A’を物理メモリの連想付 けられた部分の基底アドレスとして見做す。A及び/又はA’は2u+tまたは2u +s に整置されるべきではない。(とはいえ、少なくともAはページスタートアド レス、即ち2sに整置されるべきである)。 もしもA≦r<A+2sjであれば、実アドレスrは変換されるであろう。この 場合、フィールドb及びxはrからではなくr−Aから抽出され、またr’はA ’を加算すること:r’=A’+2sb+xにより形成される。 整置されていない基底アドレスは、以下の全ての場合と同様に使用される。 変形 2 実アドレス空間に要求される領域のサイズを減少させる目的で、色cの上位ビッ トはボックスxを特定するフィールドbに含むことが可能である(図3参照)。 もし、実色のkビットが使用されるのであれば、2u-k+tのサイズの実アドレス 空間領域のみが必要であろう。他方、実色のkビットが残る、即ちボックスi内 で任意の色のページをもはや生成出来ないが、色c÷2t-s-k=iを有するペー ジのみは生成出来る。 最上位ビットに代えて、cの他のkビットも同様に使用されてもよい。 変形 3 自由な色付け能力を制限することなしに実アドレス空間の要求される領域のサイ ズを減少させるため、色変換ユニット(Color Translation Unit:CTU)(図 4参照)による動的変換が利用されてもよい。またこの場合においても、色フィ ールドcのビットはb(最上位ビットまたは他のビット)を形成するために使用 される。CTUはbでインデクス付けされ、b’を供給する。j(またはそれ以 上)個のエントリを有するメモリがCTUとして使用されてもよい。(jより大 きい場合)アクセスはCTUキャッシュ(TLBと同様)によりスピードアップ されてもよい。 3.2 マルチプルページサイズを有する自由色付け能力 3.2.1 簡単な解決 3.1に記述された一つまたは幾つかの方法は一つのページサイズに対して使用 される。そのため、各ページサイズには、実アドレス空間の自由に色付け可能な 異なる領域が存在する。物理メモリの対応する部分は相互に分離されていてもよ いが、オーバラップされていてもよい。 3.2.2 洗練された解決 実アドレス空間中の一つの自由に色付け可能な領域は全てのページサイズに対し て使用可能である。しかし、変換ロジックは実アドレスに加えてページサイズを も含んでいる。オフセットフィールドxはページサイズにより動的に決定される 。より大きいフィールドxに関しては、bまたはb’の対応する下位ビットは無 視される。その代わり、より大きいxの上位ビットが使用される。 代わりに、現在のページサイズはオフセットxの幅,色フィールドc及びボック スフィールドbを動的に決定することもまた可能である。一般的に、x及びcは 共に一定幅である。そのとき、bは現在のcの幅に対応して動的に右シフトされ るであろう。Detailed Description of the Invention                              Data storage The present invention provides the appropriate coloring of a larger number of pages than possible with conventional architectures. Related to real memory architecture that allows allocation. Certain virtual index and real-tagged caches, if corresponding If the pages are appropriately colored and assigned, the processor will Only cache access is allowed. Therefore, it is assigned with appropriate coloring The large number of pages available can speed up the program. Properly colored allocation is also advantageous for some TLB architectures And will be used to reduce cache crashes. Furthermore, the real memory architecture allows for random coloring of real pages. You. This allows large, real-indexed caches, such as two caches. Next caches are separated according to individual use and they have a predictable miss rate Can be used with. This is a real-time and multimedia application. Especially desired. Yet another application is dynamic with page recoloring. Found in Conflict Reduction. 1. Conventional memory with cache 1.1 Real and virtual cache Modern processors bridge the gap between fast processors and slow main memory In order to do so, it requires a cache memory. Caches with a real index and a virtual index are known. Real index With cache, as shown in FIG. 5, the virtual add provided by the processor The reply v is first translated to the real address r by the translation lookaside buffer (TLB). The cache is then addressed by this real address r. Virtual index In the cache with index, as shown in FIG. Directly addressed. Conversion to the corresponding real address r is a cache miss Occurs only when occurs. Is it because the conversion by TLB is omitted? The advantage of the cache with virtual index is high speed. The difficulty is the synonym Or, it is displayed when it becomes an alias. 1.2 Direct map and n-way set associative cache The direct map cache is cached from the real address r or the virtual address v. To calculate the index and also select the line of cache for it To use the map function (as shown in FIGS. 5 and 6). And r or v Is the memory area currently associated with this cache line (the cache Entry tag). Hit if match (the cache line is It is used instead of main memory), otherwise it is a mistake. Mainly (r modulo cache size) / line size or (V modulo cache size) / line size is used as a map function You. With this approach, not all virtual addresses should be cached , R / cache size or v / cache size may be sufficient. The direct map cache is simple, but compared to the n-way cache Produces a high miss rate. Basically, these are relatively small direct map keys. It consists of cash blocks. It has at most one block for each main memory element. Guaranteed to be placed on the dock. The map function shows n cache lines , The cache may contain n elements up to the address equivalent to the map. This n -Fold associativity reduces the likelihood of crashes and the Increase traits. 1.3 Virtual index and cache with real tag Currently proposed cache types are with virtual index and real (physical) tags It is a cache. It is as high as virtual index and virtual tagged cache. Fast, but with many of its drawbacks, especially multiprocessor systems, synonyms, We have not yet avoided the problems of dispersion and coherence. It is true that real indexed caches also do not have these difficulties But the full address by the TLB before the cache access can be started A conversion step (virtual-real) is required. On the other hand, with virtual index and real tag The cache has room for parallel access between the TLB and the cache (see FIG. 7). . As a result, Generally, the idle time of one instruction is set to one clock as the performance of the processor is improved. In order to reduce it, the processor's instruction pipeline becomes shorter. All the address bits (i) needed to index the cache are As long as it is within the range of the dress offset (address within the page), Mu remains simple. Because this address part is the real address of the virtual address Is not changed by the conversion to Addressing (indexing) is possible even before the conversion step. is there. Only at the end of cache access and parallel conversion of TLB, cache The real address (tag) associated with the entry is supplied by the TLB. It is checked whether it is the same as the real address. In doing so, Only the most significant bits of the addresses adjacent to the index part (i) are compared. Why If the cache entry indexed in (i) is Is associated only with the address having the value (i). Therefore If only the most significant bit is stored as a tag (real address) in the cache, I won't. This type of n-way set associative cache is n × 2 in size.P May be up to. 2PIs the page size. The cache size is It may be increased by a larger number of pages or increased associativity. By the way, as an interesting technology, there is page coloring. This is because the page setup in real memory is always The least significant address bits of the memory and real page addresses are the same (see FIG. 8) Is a technique. In this case, virtual page number (vpn) and cache index (I) will overlap. This overlapping part is black in FIG. It is shown. The corresponding part of the virtual address is called virtual color c The part is called real color c '. In the appropriately colored allocation, i.e. virtual And the actual colors match, the above size n × 2PThe limit of is avoided. If there is an additional comparison of virtual and real colors, as shown in FIG. (Real addressing) may be performed without storing the corresponding color bit, and Only the most significant bit (r ') of the page number has to be compared with the tag. Of course, if the allocations aren't completely colored appropriately, the cache It has to work. Therefore, if the first cache access misses, TL Even if the real color c'supplied by B is different from the virtual color c, it is supplied by TLB. Real color c '(instead of the virtual color c used for the first cache access) ( (See FIG. 10) and cache addressed by cache index (i) A color corrected cache access will be attempted to. Improper, like this Pages colored in are also available, but they are not Requires an additional step (see Figure 11). It is important to note that in environments where there are allocations that are not Two virtual pages that have been colored and are the same real page If it should be mapped to And. 1.4 Appropriately colored allocation in real memory 2sPage size in bytes, m × 2sConventional real memory of bytes and i × 2tI- For wayset associative cash, c = 2tsIndividual color (t> s When) exists. Suitable for individual virtual colors up to m / c pages in real memory It is possible to assign them by coloring them for convenience. The random and uniform distribution of virtual colors of virtual pages allocated in real memory. Therefore, the probability that n ≦ m pages are appropriately colored is greater than 50% of the actual memory. It is already lower than when used. In this way, it is colored appropriately The allocated allocation limits the percentage of real memory available. For example In a system with 4M real memory and 4K pages, the limit is i 50% for x128K cache, i * 64K cache Is 60%. 1.5 Predictable cache miss rate Data from differently colored pages will also map to different parts of the cache. Be cached between data from differently colored pages. Conflicts will never occur. If, for example, the real-time application is a "yellow" real Page only, and no other application has a "yellow" real page If not given, the cache miss rate for this application is Independent of all simultaneously active applications, i.e. predictable Will Unfortunately, all "yellow" real patterns in traditional memory architectures Will be blocked for that reason. For 4 colors (c = 4), an appropriate small Even real-time applications already block 25% of physical memory Will 1.6 Conflict reduction If cache conflicts are dynamically reduced, the page is "recolored" Must be adapted to. In traditional architectures, this means that each color is A physical copy of one page, because it is irrevocably assigned to the page Request. 2 purpose / solution The object of the present invention is to realize the real memory in real memory as compared with the conventional real memory architecture. Memory arches that allow more pages to be appropriately colored and allocated It is to provide the texture. In addition, the page for each color can have a different number. At least some pages of real memory to allow the mori to have The color of should be free from decisions made by the operating system. In order to solve this problem, the present invention provides a memory device for data storage, which comprises: suggest. -The address represents the page offset address part and page number and is Group information and page number address part including resident address part. Information is the page number of the address. One of the groups, and at least by the page offset address part. Suitable for being indexed by dress group information, and Or a cache adapted to be addressed with an address in the real address space Memory and -Only the resident address part of the address and the page offset address part, and An actual memo that is suitable for being indexed by part of the group information, if any Li. The group information of the address to which the memory device of the present invention is accessed is the above-mentioned color. . The page offset address part determines the address within the page. at least, A part of this page offset address part and the group information are loaded in the cache. It is also used as the cache index part of the address for indexing. On the other hand, is group information not used for indexing real memory? Or only some are used. This allows those pages in real memory to Reserve the colors that are actually reserved for the application. I am. This way, all other pages are used for parallel applications. The real memory workload is improved. Cache memory index The block information is assigned by the block information and page offset address part or part thereof. Executed exclusively. In an advantageous embodiment of the invention at least one first address area and at least one Also has one second address area, and the entire address has at least one second address area. It is used to index the real memory by the address of the address area of 1. For at least the resident address part, page offset address part and If possible, part of the group information is stored in at least one second address area. It has the address space used for indexing the real memory by address. In this embodiment, only part of the real memory can be indexed by the method of the present invention. It is. Preferably the address is a real address. Instead, the address is a virtual However, in this case, the cache memory does not use the page offset address. Indexed by part of the group and virtual address group information Similarly, the real memory is the real address translated from the virtual address. By the resident address part of the virtual address and by the page offset address part of the virtual address. If possible, the group information of the real address converted from the virtual address It is possible to index some of the information. Basically, in terms of address space, pages of the same size or different sizes Can be included. In the first case, the total length of the address is constant However, the page offset address part and the length of the group information are kept variable. It is. Here, it is feasible that the address space has multiple address areas. Address is the page offset address part and / or a glue of different length. Page offset address of all addresses for each address area. The address part has the same length and the group information parts of all addresses have the same length. And index into the real memory according to the address of the address area. Regarding and as well as part of the individual group information of the address, if possible , The respective resident address part and resident page offset address part are used That is true. Different address areas have different page sizes in the address space Each is associated. In other words, the page size is determined by the address area Is done. Address area is a separate and / or overlapping memory of real memory It may be mapped to a region. Preferably, for each address in the address space, the page offset address part And that the length of the group information is indicated, eg stored in memory and And thereby be prepared to be supplied. This allows the page size and The fixed association of the dress area is eliminated. The following is a detailed description of embodiments of the invention with reference to the drawings. The drawings are Figure 1-Real address space and address when physical real memory is addressed by the present invention And schematic diagram of comparison of physical real memory associated with each other, Figure 2-Real Address Space to Addresses Used to Address Real Memory Illustration of free coloring using address translation, Figure 3-Real to memory address used to address real memory Illustration of limited coloring using address space address translation, Figure 4-Real Address Space to Addresses Used to Address Real Memory Illustration of dynamic coloring using address translation, Figure 5-schematic explanatory diagram of cache memory with real index, FIG. 6-schematic explanatory diagram of cache memory with virtual index and virtual tag, FIG. 7-schematic explanatory diagram of virtual index and cache memory with real tag, FIG. 8--a schematic illustration of a cache memory based on appropriately colored allocations, Figure 9-schematic illustration of a cache memory with appropriate coloring checks, FIG. 10-An explanatory view of the coloring correction step, and FIG. 11-Explanation view of an access step. 3. Real memory with freely colorable areas With c colors and appropriately colored allocations, m pages of real memory are m / c -Can be regarded as a wayset associative system. It accepts all m entries, or max m / c entries per color . Such a system would be implemented with an additional small full associative cache. You may experience qualitative improvements. This additional cache is a m / c associativity What color j to accept up to j overlaps of the cache Entries may also be included. (If k> m / c of one color This means km-c / c overlaps, if Thus, in general, the entire system will consist of appropriately colored allocations. A fairly large portion of real memory can be used as long as the rules are not violated. In a system with a real memory of 4M, 4K pages and i × 128K cache Is already limited to a freely colorizable page of 32K (j = 8), for example. Is 70%. Almost 80% has been achieved for 64K (j = 16) In addition, almost 100% has been achieved for 256K (j = 64). Physical memory of the size of j pages to realize the architecture as described above. One of the (continuous) parts of j can hold j pages with arbitrary real colors. And are required. 3.1 Free coloring ability for fixed page size Normally, one or more contiguous parts of the real address space are physically extant. 1: 1 mapping on the memory. And memory other than physical memory is It is associated with the rest of the address space. In real memory with freely colorable areas, part of physical memory, ie Only mj pages are mapped 1: 1. The remaining pages of physical memory are , The unused address part of the real address space with size j × c pages Be pinged. FIG. 1 is an explanatory diagram of an example. 2sPage size in bytes, m × 2sConventional real memory of bytes and i × 2tPart-Time Job C = 2 for the i-way set associative cache oftsIndividual color ( (when t> s) exists. Free color of real address space of size j × c pages The attachable area is divided into j boxes, each c pages in size. You. Each box has a real address 2t(R modulo 2t= 0) To All pages in a box map to the same page in physical memory. Be used. FIG. 2 is an explanatory diagram of an example of such address conversion. For simplicity In FIG. 2, the freely colorable part of the real address space has the value a. Be considered to be specified by the most significant bit of the real address. 2u-1<J ≦ 2uTo On the other hand, if u is equal to the length of b, this area isu + 1to a And start 2u + tHas a size of bytes. Therefore, it is associated Physical memory is physical address 2u + sStart at a ', 2shave a size of j (A 'is a bit string longer than a of t-s bits) ). The real address r to be translated specifies the upper part with value a and the box u-bit field b and t-x-bit (black in the figure) field containing the actual color c and a file showing the offset within the page And the field x. The translated address r'is Take over the offset field x without changing it, -Shift box field b to the right by ts bits and carry over, Replace the rest (upper) part with the value a '. As will be understood from the above, the actual color c is completely eliminated by this processing. To be viable In addition, only one page per box can be used, but the page (and its actual color) Can be arbitrarily selected. In this way, page j of any color is Are placed in physical memory having a size of only This conversion of real addresses to physical addresses, referred to herein as free coloring Should not be confused with virtual-to-real-address translation. Free coloring Is valid only for areas that can be colored freely, and additionally, virtual addresses It is also effective in transforming from a real address. Here for each access by the processor as compared to virtual address translation The conversion mentioned is not necessary, but the cache is bypassed only in case of a cache miss. It should be noted that access to write back or access is done. Note that In addition, the wiring of the address lines is substantially adequate, that is, it does not require extra time. It should also be noted that only that is required. The field b may be composed of high-order or non-adjacent bits. Deformation 1 A'is the base address of the area that can be colored freely, and A'is associated with the physical memory. It is regarded as the base address of the marked part. A and / or A'is 2u + tOr 2u + s Should not be aligned. (But at least A is a page start ad Less, ie 2sShould be aligned). What if A ≦ r <A + 2sIf j, the real address r will be translated. this , The fields b and x are extracted from r-A instead of r, and r'is A 'Adding: r' = A '+ 2sb + x. Unaligned base addresses are used as in all cases below. Transformation 2 In order to reduce the size of the area required for the real address space, the upper bits of color c are Can be included in the field b that identifies the box x (see FIG. 3). 2 if the real color k bits are usedu-k + tReal address of size Only the spatial domain will be needed. On the other hand, k bits of the actual color remain, that is, in box i Can no longer generate pages of any color, but color c / 2tsk= I Only Ji can be created. Instead of the most significant bit, the other k bits of c may be used as well. Deformation 3 Size the required area of the real address space without limiting the free coloring ability. Color conversion unit (CTU) (Fig. 4) may be used. Also in this case, the color filter The bits of field c are used to form b (the most significant bit or other bit) Is done. The CTU is indexed with b and supplies b '. j (or later A memory with (top) entries may be used as a CTU. (Greater than j Access is accelerated by CTU cache (similar to TLB) May be done. 3.2 Free coloring ability with multiple page sizes 3.2.1 Simple solution One or several methods described in 3.1 can be used for one page size Is done. Therefore, each page size can be colored freely in the real address space. There are different areas. Corresponding portions of physical memory may be isolated from each other. However, they may be overlapped. 3.2.2 A sophisticated solution One freely colorable area in the real address space for all page sizes Can be used. However, the translation logic uses the page size in addition to the real address. Also included. Offset field x is dynamically determined by page size . For larger fields x, there is no corresponding lower bit of b or b '. To be seen. Instead, the upper bits of the larger x are used. Instead, the current page size is offset x width, color field c and box It is also possible to determine the field b dynamically. In general, x and c are Both are constant width. Then b is dynamically right shifted according to the current width of c. Will

Claims (1)

【特許請求の範囲】 1.−そのアドレスがページオフセットアドレス部と、ページ番号を表すと共に グループ情報及び常駐アドレス部を含むページ番号アドレス部とを有し、グルー プ情報はアドレスのページ番号アドレス部で表現されるページが属する複数のグ ループの内の一つを指示し、少なくともページオフセットアドレス部によって及 びアドレスのグループ情報によってインデクス付けされることに好適であり、仮 想または実アドレス空間のアドレスでアドレス付けされることに適合したキャッ シュメモリと、 −アドレスの常駐アドレス部及びページオフセットアドレス部のみ、及び可能で あればグループ情報の一部によってインデクス付けされることに適合した実メモ リと を備えるデータを格納するメモリ装置。 2.請求項1のメモリ装置において、グループ情報の一部は実メモリのアドレス 付けにも使用可能であることを特徴とする。 3.請求項1または2のメモリ装置において、アドレス空間は少なくとも一つの 第1及び少なくとも一つの第2のアドレス領域を有し、全体のアドレスは少なく とも一つの第1のアドレス領域のアドレスによって実メモリのインデクス付けに 使用され、これに対してアドレスの常駐アドレス部,ページオフセットアドレス 部のみ、及び可能であればグループ情報の一部が、少なくとも一つの第2のアド レ ス領域のアドレスによって実メモリのインデクス付けに使用されることを特徴と する。 4.請求項1乃至3のいずれかのメモリ装置において、アドレスは実アドレスで あることを特徴とする。 5.請求項1乃至3のいずれかのメモリ装置において、アドレスは実アドレスで あり、キャッシュメモリはページオフセットアドレス部の一部によって及び仮想 アドレスのグループ情報によってインデクス付け可能であり、実メモリは仮想ア ドレスから変換された実アドレスの常駐アドレス部によって及び仮想アドレスの ページオフセットアドレス部によっても、また可能であれば、仮想アドレスから 変換された実アドレスのグループ情報の一部によってもインデックス付け可能で あることを特徴とする。 6.請求項1乃至5のいずれかのメモリ装置において、アドレスの一定の全長に 対して、ページオフセットアドレス部及びグループ情報の長さはそれぞれ可変で あることを特徴とする。 7.請求項6のメモリ装置において、アドレス空間は複数のアドレス領域を有し 、そのアドレスはページオフセットアドレス部及び/又は異なる長さのグループ 情報を有し、各アドレス領域に関して、全てのアドレスのページオフセットアド レス部の長さが同じであるということ、全てのアドレスのグループ情報部の長さ が同じであるということ、及びアドレス領域のアドレスにより実メモリをインデ ックス付けするために、それぞれの常駐アドレス部及び常駐ページオフセットア ドレス部、また可能であればアドレスのそれぞれのグ ループ情報の一部が使用されるということが真実であることを特徴とする。 8.請求項7のメモリ装置において、アドレス領域は実メモリの分離したメモリ 領域にマッピングされることを特徴とする。 9.請求項7のメモリ装置において、アドレス領域は実メモリのオーバラップし たメモリ領域にマッピングされることを特徴とする。 10.請求項6のメモリ装置において、アドレス空間の各アドレスに対して、ペ ージオフセットアドレス部及びグループ情報の長さが指示されることを特徴とす る。[Claims] 1. -The address represents the page offset address part and the page number and Group number and page number address part including resident address part The page information of the page number of the address belongs to multiple groups to which the page is expressed. Indicate one of the loops and extend at least by the page offset address part. It is suitable to be indexed by group information of Cache that is adapted to be addressed with an address in the virtual or real address space. Shreme, -Only the resident address part of the address and the page offset address part, and An actual memo that is suitable for being indexed by part of the group information, if any Li and   A memory device for storing data comprising: 2. The memory device according to claim 1, wherein part of the group information is an address of a real memory. It is characterized in that it can also be used for attachment. 3. The memory device according to claim 1 or 2, wherein the address space is at least one. It has a first and at least one second address area, the total address is small Both are used for indexing the real memory by the address of the first address area. Used for this, resident address part of address, page offset address Only part, and possibly part of the group information, is included in at least one second Les It is used to index the real memory according to the address of the memory area. I do. 4. 4. The memory device according to claim 1, wherein the address is a real address. There is a feature. 5. 4. The memory device according to claim 1, wherein the address is a real address. Yes, the cache memory is part of the page offset address part and virtual It can be indexed by the address group information, and the real memory is a virtual address. By the resident address part of the real address translated from the dress and of the virtual address By the page offset address part, and if possible, from the virtual address It can also be indexed by part of the translated real address group information. There is a feature. 6. The memory device according to any one of claims 1 to 5, wherein the address has a fixed total length. On the other hand, the page offset address part and the length of group information are variable. There is a feature. 7. 7. The memory device according to claim 6, wherein the address space has a plurality of address areas. , The address is a page offset address part and / or a group of different length Contains information and page offset add of all addresses for each address area The length of the reply part is the same, the length of the group information part of all addresses Are the same, and the real memory is indexed by the address in the address area. Resident address section and resident page offset address Dress section and, if possible, each address group Characterized by the fact that part of the loop information is used. 8. 8. The memory device according to claim 7, wherein the address area is a separate memory from the real memory. It is characterized by being mapped to a region. 9. 8. The memory device according to claim 7, wherein the address areas overlap the real memory. It is characterized in that it is mapped to a memory area. 10. 7. The memory device according to claim 6, wherein for each address in the address space, Page offset address part and the length of the group information are specified. You.
JP8513638A 1994-10-22 1995-10-19 Data storage Pending JPH09507599A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE4437866.1 1994-10-22
DE4437866 1994-10-22
PCT/EP1995/004103 WO1996013005A1 (en) 1994-10-22 1995-10-19 Data storage device

Publications (1)

Publication Number Publication Date
JPH09507599A true JPH09507599A (en) 1997-07-29

Family

ID=6531495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8513638A Pending JPH09507599A (en) 1994-10-22 1995-10-19 Data storage

Country Status (3)

Country Link
JP (1) JPH09507599A (en)
DE (1) DE19538961C2 (en)
WO (1) WO1996013005A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009301102A (en) * 2008-06-10 2009-12-24 Nec Corp Memory system for using cache memory, its method, and its program
JP5293611B2 (en) * 2007-12-12 2013-09-18 日本電気株式会社 Memory relocation system
JP5293974B2 (en) * 2008-03-04 2013-09-18 日本電気株式会社 Memory mapping method and memory system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19512745A1 (en) * 1994-04-15 1995-10-26 Mathematik Und Datenverarbeitu Cache memory device for storing data

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5293611B2 (en) * 2007-12-12 2013-09-18 日本電気株式会社 Memory relocation system
JP5293974B2 (en) * 2008-03-04 2013-09-18 日本電気株式会社 Memory mapping method and memory system
JP2009301102A (en) * 2008-06-10 2009-12-24 Nec Corp Memory system for using cache memory, its method, and its program

Also Published As

Publication number Publication date
WO1996013005A1 (en) 1996-05-02
DE19538961A1 (en) 1996-05-02
DE19538961C2 (en) 1997-03-20

Similar Documents

Publication Publication Date Title
US5940872A (en) Software and hardware-managed translation lookaside buffer
CA2026224C (en) Apparatus for maintaining consistency in a multiprocess computer system using virtual caching
JP3370683B2 (en) Cash system
US5694567A (en) Direct-mapped cache with cache locking allowing expanded contiguous memory storage by swapping one or more tag bits with one or more index bits
US5509135A (en) Multi-index multi-way set-associative cache
US8095736B2 (en) Methods and systems for dynamic cache partitioning for distributed applications operating on multiprocessor architectures
US5574877A (en) TLB with two physical pages per virtual tag
US5060137A (en) Explicit instructions for control of translation lookaside buffers
US5897660A (en) Method for managing free physical pages that reduces trashing to improve system performance
US7216201B2 (en) Parallel cachelets
JP2008507019A (en) Memory management system
US6954828B2 (en) Management of caches in a data processing apparatus
US6745292B1 (en) Apparatus and method for selectively allocating cache lines in a partitioned cache shared by multiprocessors
US10474575B2 (en) Cache-based communication between execution threads of a data processing system
US20020007442A1 (en) Cache coherency mechanism
US5905997A (en) Set-associative cache memory utilizing a single bank of physical memory
US6009503A (en) Cache memory indexing using virtual, primary and secondary color indexes
US5913222A (en) Color correction method in a virtually addressed and physically indexed cache memory in the event of no cache hit
EP0942376A1 (en) Method and system for pre-fetch cache interrogation using snoop port
US6138216A (en) Microprocessor cache consistency
CA1262287A (en) Explicit instructions for control of translation lookaside buffers
KR20010021053A (en) Method and apparatus for managing cache line replacement within a computer system
JPH09507599A (en) Data storage
US6567907B1 (en) Avoiding mapping conflicts in a translation look-aside buffer
US5410663A (en) Method and system for cache memory congruence class management in a data processing system