JPH09512117A - データ記憶用キャッシュメモリ装置 - Google Patents

データ記憶用キャッシュメモリ装置

Info

Publication number
JPH09512117A
JPH09512117A JP7526710A JP52671095A JPH09512117A JP H09512117 A JPH09512117 A JP H09512117A JP 7526710 A JP7526710 A JP 7526710A JP 52671095 A JP52671095 A JP 52671095A JP H09512117 A JPH09512117 A JP H09512117A
Authority
JP
Japan
Prior art keywords
cache
address
group information
physical address
virtual
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
JP7526710A
Other languages
English (en)
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
Priority claimed from DE19512745A external-priority patent/DE19512745A1/de
Application filed by ゲーエムデー−フォルシュングスツェントルム インフォルマチオンシュテクニク ゲーエムベーハー filed Critical ゲーエムデー−フォルシュングスツェントルム インフォルマチオンシュテクニク ゲーエムベーハー
Publication of JPH09512117A publication Critical patent/JPH09512117A/ja
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)【要約】 仮想的にアドレスされ物理的に索引付けされたキャッシュメモリにおいて、各キャッシュエントリに対するカラー情報を指示することにより、キャッシュエントリのカラーの配置が、仮想及び物理ページのカラー配置に対して変更可能であり、これにより第2キャッシュアドレス動作が、不成功の第1キャッシュアドレス動作の後に実行される。依然としてキャッシュヒットとならない場合、カラー補正、即ちそれらの中で物理カラーを使用してキャッシュメモリを索引付けることにより、さらなるキャッシュアドレッシングが試みられる。このキャッシュアドレス動作もキャッシュヒットとならない場合はキャッシュミスとなる。

Description

【発明の詳細な説明】 データ記憶用キャッシュメモリ装置 本発明は、そのキャッシュエントリが物理(実)アドレスでタグ付けされて、 仮想的に索引付けされたキャッシュメモリを備えたキャッシュメモリ装置に関す る。 近年のプロセッサは、高速なプロセッサと低速なメインメモリとのギャップを 埋めるためにキャッシュメモリを必要としている。 物理索引キャッシュ及び仮想索引キャッシュは公知である。物理索引キャッシ ュ(図7)においては、先ずプロセッサによって与えられた仮想アドレスが、ト ランスレーションルックアサイドバッファ(TLB)によって物理アドレスに変 換される。そしてキャッシュはこの物理アドレスを使用してアドレスされる。 仮想索引キャッシュ(図8)においては、キャッシュは仮想アドレスによって 直接アドレスされる。キャッシュミスである場合、対応する物理アドレスへの変 換が単に行われる。仮想索引キャッシュは、TLBによる変換ステップが省略さ れるためにより高速であるという利点がある。但し類語,別名に直面した場合は 不利である。 直接配置されたキャッシュは、物理アドレス又は仮想アドレスaからキャッシ ュ索引を計算するために、またそれを用いてキャッシュの行を選択するためにマ ップ関数(図7,8に示す)を使用する。それからaは、このキャッシュライン と結合しているメモリ領域(キャッシュエントリのタグ)のアドレスと比較され る。これらが一致している場合がヒットであり(そしてキャッシュラインがメイ ンメモリの代わりに使用され)、そうでない場合がミスである。 大抵、(a修正キャッシュサイズ)/ラインサイズはマップ関数として使用さ れる。この最後には、完全な仮想アドレスがキャッシ ュに記憶されなくてもよいが、a/キャッシュサイズは充分である。 直接配置されたキャッシュは、n-way キャッシュより単純であるがミスする確 率が高い。基本的にこれらはn個の相応じてより小さい直接配置されたキャッシ ュブロックからなる。各メインメモリ素子は多くとも1つのブロックに配置され るようになしてある。マップ関数はn行のキャッシュラインを指示するので、キ ャッシュはマップ相当のアドレスを備えたn個までの素子を含むことができる。 このようにn個を組み合わせて結合させることは不一致の確率を低下させ、従っ てヒット率を上昇させる。 このタイプのキャッシュは、仮想索引−実(物理)タグキャッシュである。こ れは仮想索引−仮想タグキャッシュと同じ位高速であり、しかもその欠点の多く を回避することができ、特にマルチプロセッサシステム,類語,共有,コヒーレ ンスにおける問題を回避することができる。 物理索引キャッシュが同様の欠点を持たないことは事実であるが、キャッシュ アクセスが始まる前にTLBによる完全な変換ステップ(仮想→実)を必要とす る。一方、仮想索引−物理タグキャッシュはTLBとキャッシュとを平行にアク セスすることができる(図9参照)。これによりプロセッサの命令パイプライン がより短くなるので、一般に命令のアイドルタイムが1クロック分短縮され、プ ロセッサの性能が向上する。 キャッシュの索引付けに必要なアドレスビット(i)の全てがアドレスオフセ ットの範囲内(1ページ内のアドレス)に配置されている限り、簡単な機構が維 持される。このアドレス部は、仮想アドレスを物理アドレスへ変換することによ って変化しないので、TLBの変換ステップの前であってもキャッシュはアドレ ス(索引付け)されることができる。キャッシュアクセスと平行TLB変換ステ ッ プの最後においてのみ、キャッシュエントリに関連した物理アドレス(タグ)が TLBにより与えられた物理アドレスと同一であるかがチェックされる。この処 理においては、(i)と索引付けされたキャッシュエントリは(i)の索引ビッ トのアドレスにのみ関連しているので、索引部(i)に隣接したアドレスの最大 有効ビットのみが比較されなければならない。従って最大有効ビットのみがタグ (物理アドレス)としてキャッシュに記憶される必要がある。 このタイプのn方向結合型キャッシュのサイズは、n×2Pまでのみ可能であ る。ここで2Pはページサイズである。キャッシュサイズは、ページを大きくす るか、また結合を増やして大きくしてもよい。 しかしながらページカラリングは重要な技術である。これは、仮想/物理ペー ジアドレスの最小有効アドレスビットが一致するように、常に実メモリ内のペー ジをセットアップする方法が採られている(図10参照)。ここで仮想ページ番 号(vpn)とキャッシュ索引(i)とが重複する。この重複部分は図10にお いて黒く塗りつぶした部分である。仮想アドレスの対応する部分は仮想カラーc と称し、物理アドレスの対応する部分は物理カラーc’と称する。良好にカラー 配置された場合、即ち仮想カラーと物理カラーとが一致している場合、上述した サイズ限界n×2Pは無くなる。 図11に示すように仮想カラーと物理カラーとをさらに比較する場合は、対応 するカラービットを記憶することなくタグ付け(物理アドレス)が行われてもよ く、物理ページ番号の最大有効ビット(r’)のみがタグと比較されなければな らない。 本発明の目的は、ページカラー付けが悪い場合でも高速なキャッシュアクセス を可能とする、仮想索引−物理タグキャッシュメモリを備えたキャッシュメモリ 装置を提供することにある。しかしなが ら類語はアライメント制限無しに認容されるべきであり、1アドレス(メインア ドレス)を介したアクセスのみが高速である必要がある。他のアドレス(類語) を介したアクセスは遅くともよいが、各類語アドレスは確実にメインアドレスと して選択されなければならない。特にメインアドレスの仮想カラーは物理カラー と異ならせることを可能とするべきである。 この目的は、請求項1記載の特徴を有したキャッシュメモリ装置によって解決 され、このキャッシュメモリ装置の有用な実施例の特徴は各従属請求項にて記載 されている。 既に述べたように、所謂ページカラリングにおいては、仮想アドレス空間が、 異なるページグループ(“カラー”と呼ぶ)に再分されており、一般に仮想ペー ジの物理ページへの配置は充分カラー付けされている。言い換えると、赤色の仮 想ページは赤色の物理ページに配置されている。仮想カラーが仮想アドレスに含 まれるのと同様に、物理カラーは物理アドレスに含まれる。本発明のキャッシュ メモリ装置は、第1カラーの仮想ページに属する仮想アドレスを、第1カラーと は異なるカラーの物理ページに属するキャッシュエントリに配置する場合の問題 を解決する。 1)本発明に係るキャッシュメモリ装置においてキャッシュアドレスを行う場合 、先ず仮想アドレスのキャッシュ索引部とそのグループ情報(仮想カラー)によ って索引付けされる。このグループ情報は仮想ページ番号を表すページ番号アド レス部の一部である。これにより1つのキャッシュエントリが方向毎にアドレス される(キャッシュメモリは1方向でも多方向結合型でもどちらでもよい)。ア ドレスされたキャッシュエントリ毎に、タグが、(例えばTLBによって)仮想 アドレスから変換された物理アドレスの物理ページ番号の残余物理アドレス部と 一致しているかをチェックされる。従っ てキャッシュメモリの方向毎に1つのタグ比較器が存在する。しかしながらグル ープ情報の比較器もまたキャッシュメモリの方向毎に存在する。このグループ情 報比較器は、物理アドレスのグループ情報(物理カラー)を、方向毎にアドレス されたキャッシュエントリのグループ情報と比較する。さらに各キャッシュエン トリは状態フラグを有する。状態フラグがセットされている場合、そのキャッシ ュエントリはメインエントリであり、状態フラグがセットされていない場合、こ のキャッシュエントリのグループ情報はメインエントリを指示する。アドレスさ れたキャッシュエントリに関して、タグが残余物理アドレスに一致しており、グ ループ情報がページアドレスの物理ページ番号のグループ情報に一致しており、 状態フラグもセットされている場合、キャッシュヒットであり、これによりキャ ッシュアドレッシングを終了し、タグによって特定された各キャッシュエントリ のデータ領域にデータが書き込まれ、またここからデータが読み出される。この 場合1つがメインエントリとなる。 2)しかしながらアドレスされたキャッシュエントリの1つに関して、タグが残 余物理アドレス部に一致しているが、状態フラグがセットされていない場合、そ してさらに仮想グループ情報(仮想アドレスのグループ情報)が物理グループ情 報(物理アドレスのグループ情報)と同じである場合、キャッシュメモリの参照 エントリが充分カラー付けされてアクセスされこの参照エントリのグループ情報 がメインエントリを指示する。キャッシュメモリのこのメインエントリを確保す るためにキャッシュメモリは仮想アドレスのキャッシュ索引部と参照エントリの グループ情報とによって再度索引付けされる。グループ情報を記憶するキャッシ ュエントリ毎に一定のビット位置が設けられていてもよいし、又はデータ領域自 体にグループ情報を記憶することも可能である。これは対応するキャッシュエン トリが参照エントリである場合に、書き込み又は読み出しのためにこのデータ領 域を必要としないからである。この新たなキャッシュ索引付けの後に、アドレス されたキャッシュエントリが、残余物理アドレス部に一致しているか、及びアド レスされたキャッシュエントリのグループ情報に物理グループ情報が一致してい るかを再度チェックされる。いずれの場合も、セットされた状態フラグを有する 、アドレスされたキャッシュエントリと、残余物理アドレス部に対応するタグと 、物理グループ情報に対応するグループ情報とのうち1つが存在する。このよう にしてキャッシュヒットとなる。 3)キャッシュヒットとならず、仮想グループ情報が物理グループ情報と異なる 場合、“カラー補正”が試みられる。このカラー補正においては、キャッシュメ モリが、仮想アドレスのキャッシュ索引部及び物理アドレスのグループ情報(物 理カラー)の使用を指示し、アドレスされたキャッシュエントリのタグが残余物 理アドレス部に一致しているか、及びこれらのグループ情報が物理アドレスのグ ループ情報に一致しているかをチェックする。その後の動作は上述した機構に従 う(上の1)から参照、該当する場合は2)を含む)。このキャッシュアクセスが キャッシュヒットとならない場合、アドレッシングはそれ自体で取り消され、キ ャッシュミスを知らせる。 本発明のキャッシュメモリ装置を使用すると、仮想ページ及び物理ページの配 色、又はカラー配置に関する限りでは、キャッシュメモリが機能的に改善され得 る。この機能的改善によって共通の物理ページの異なるキャッシュエントリが、 異なる“カラー”(グループ情報)を使用して高速にてアドレスされ、自由にそ して個々に選択され得る単一のカラーの使用が常に適用可能である。 以下、図面を用いて本発明の実施例を詳細に述べる。各図は以下のものを示す 。 図1は本発明に係る着色不良キャッシュの準備ステップ、 図2は着色不良キャッシュをアクセスするステップ、 図3は着色不良キャッシュの迂回/索引ステップ、 図4はカラー補正ステップ、 図5はキャッシュメモリにおける一般的なカラー補正ステップ、 図6はキャッシュメモリにおけるアクセスステップ及びカラー補正ステップ、 図7は物理索引キャッシュメモリの構成、 図8は仮想索引−仮想タグキャッシュメモリの構成、 図9は仮想索引−物理タグキャッシュメモリの構成、 図10は着色良配置に基づいたキャッシュメモリの構成、 図11は図10のキャッシュメモリにおける良着色をチェックするステップ。 以下の符号はその後の説明において用いられる(図も参照)。 各キャッシュエントリ(ライン)は、タグ用の領域ri,ciと、1-ビット領域 mainiと、データ領域diと、さらにここでは記載しない状態領域とを含む。 現行のキャッシュラインは、索引iによって選択され、その上位 カラーのビット番号は等しい。 キャッシュにおいて、メインエントリと参照エントリとは区別さ 場合、diは現行データを含み、ciは物理カラーを含み、riはデータの物理ア ドレスの上位部を含む。メインエントリは上述した仮想メインアドレスを介して 高速にてアドレスされる。一方(mainiで確認された)参照エントリは、デ ータを含まないが、ciにおいて対応するメインエントリ、即ちその索引カラー に対応するリファレンスを含む。参照エントリの場合、riは関連データの物理 アドレスの上位部も含む。 上述したことに関係なく、着色良エントリ及び着色不良エントリは区別されて いる。着色良エントリでは索引カラー及び物理カラーが同一であり、着色不良エ ントリではそれらが一致していない。 着色良メインエントリと、着色不良メインエントリと着色良参照エントリとが ある。着色不良参照エントリはここでは生じない。 以下の不変事項が適用される。 1.キャッシュが着色良参照エントリを含む場合、その参照された位置に対応 する着色不良メインエントリをも含む。 2.各着色不良メインエントリに関しては、それに参照している1つの着色良 参照エントリが確実に存在する。 直接配置されたキャッシュのアドレッシングについて図1〜4を参照しながら 以下に述べる。 が仮想アドレスからロードされる(図1参照)。同時にTLBは入力としてvp nのアドレス変換を開始する。 それがメインエントリである場合、即ちmainiがセットされ、両方の比較に おいて等しい場合は、キャッシュヒットである、即ちキャッシュのデータが送出 される(読み出しアクセス)、又は新たなデータがキャッシュへ書き込まれる( 書き込みアクセス)。そしてキャッシュアクセスは終了する。 3.ステップ2において参照エントリが読み出された場合、即ち 別なステップ2が実行される(迂回ステップ)。(変形(a)又は参照索引だけで なく参照方向がデータ領域に記憶されている場合−直接配置されたキャッシュに ついてのみ−:(物理アドレス,カラー,及びメインエントリか否かの)チェッ クはこの迂回ステップにおいては実行されない。変形(b):リファレンスはciか らではなくdiから読まれる) 4.ステップ2においてメインエントリが読み出された場合、即ち ステップ2が実行される。 5.他の場合、キャッシュアクセスは失敗であり、キャッシュミスを知らせる。 上述した動作は多方向結合型(n方向結合型)キャッシュに相応じて適用され てもよい。n方向結合型キャッシュにおいては、n個のエントリが同時に選択さ れる。個々のエントリは以下の説明において追加索引j、例えばci,jによって 区別される。 以下において、右側に記載された動作の前処理は→の左側に記載 してある。選択肢を選択する場合、記載された全ての条件に適合している必要が ある(論理AND動作)。カンマで区切られた全ての 号及び/又はビットのセットを示す。信号及び/又はビットは、否定信号(st ep2!のような)に付与された“!”でリセットされる。Dはデータバスを示 す。1〜nの全てのjに関しては、以下の処理が平行に実行される。 全てのnブロックを結合すると、以下の処理が実行される。 この場合、□はキャッシュ動作の終了を示し、その結果、ヒット 択しない場合、同様の処理に従う次サイクルにて処理が続行される。 n方向結合型キャッシュにおいて、図式Bの下側の前に記載したステップにお ける一方向のエントリのための第1サイクルの間に“hit”の信号が出力され た場合、第1ステップの後の図式Aの上部にポイントマークされた“*”に1つ が達する。続いて、図式Bの第1段がこれに続き、キャッシュアクセスがポイン トマークさ れた“**”で(首尾よく)終了する。このようにメインエントリは1回目でヒ ットとなり、キャッシュメモリがアドレスされる。 しかしながら1回目のキャッシュメモリのアドレッシングにおいて参照エント リ(上述のステップ3参照)が見つかった場合、第1サイクルの後のポイントマ ークされた“***”に1つが達し、キャッシュメモリの全ての方向に対して再 度図式Aを用いて処理が続行される。 上記した図式Aに基づいてキャッシュメモリが再度アドレスされた後、ヒット 信号が未だセットされていない場合、キャッシュアクセスは失敗である。 上述した方法Aに基づいてキャッシュメモリをアドレスした後で、ヒット信号 及び信号step2の両方がセットされていない場合、索引カラーが物理カラー と一致しているときに、キャッシュアクセスは失敗でありミスとなる(ポイント マーク“****”参照)。しかしながら索引カラーが物理カラーと一致してい ないとき、カラー補正が実行される(図式Bの下段の“*****”参照)。こ れにより図式Aの始めからアクセスが再実行される。 以上は、全てのキャッシュエントリの読み出し及び書き込みについてのみ記述 したものであることを明らかにしておく。下位アドレスビットに関して、エント リの部分のみが通常の公知の手順で読み出されまた書き込まれることはいうまで もない。ここで述べた着色不良キャッシュの制御ロジックにおける影響は発生し ない。 上述したキャッシュは、メインエントリ毎の着色不良参照エントリ及び幾つか の参照エントリに展開することも可能である。そのとき参照エントリのうち少な くとも1つのエントリは、(参照エントリではデータ用とされない)そのデータ 領域における関連する全てのリストを保持する。 この代わりに,又はこれに加えて、参照エントリもデータを含み、これによっ てこのデータを読み出す際に、これらが迂回ステップなしに直接送出されてもよ い。読み出しでは、他の各エントリも更新されるか、そのデータ領域が無効であ るとマークされるかする必要がある。 上述したキャッシュアドレッシングのためのページ着色法は、配置が完全に着 色良好でない場合でも機能するようになしてあることはいうまでもない。本発明 にあっては、カラー補正されたキャッシュアクセス(図5参照)は、キャッシュ 索引部及び仮想アドレスのグループ情報を使用した第1のキャッシュアクセスが キャッシュミスとなり、TLBによって与えられた物理カラーc’が仮想カラー cと異なる場合に実行される。新たな(カラー補正された)キャッシュ索引付け は、仮想アドレスのキャッシュ索引部と物理アドレスに関連したグループ情報c とを用いて行われる。着色不良のページはこのように使用されるにもかかわらず 、キャッシュにアクセスする際に追加ステップを要する(図6参照)。 場合によっては着色不良の配置は厳然たるものである。例えば異なるカラーの 2つの仮想ページは、同一の物理ページに配置されなければならない。このよう にキャッシュメモリによって処理されるべき着色不良のページ配置は常に発生す る。 第1の変形では、キャッシュをアドレスする際に、先ず、キャッシュメモリは 、キャッシュ索引部と仮想アドレスのグループ情報とを用いて索引付けされ、1 つのキャッシュエントリがキャッシュメモリの方向毎にアドレスされる。このア ドレスされた全てのキャッシュエントリのタグは、仮想アドレスから変換された 物理アドレスの物理ページ番号の残余物理アドレス部に一致しているかどうかを チェックするために読み出される。さらに仮想アドレスのグループ 情報は、物理アドレスのグループ情報と比較される。これら2つのグループ情報 が一致している場合、アドレスされたキャッシュエントリのタグのうちのどれが 、仮想アドレスから変換された物理アドレスの残余物理アドレス部に一致してい るかをチェックされ、残余物理アドレス部に一致しているタグを有するキャッシ ュエントリがキャッシュヒットとなる。これによりキャッシュアドレス動作を終 了し、このキャッシュエントリのデータ領域にデータが書き込まれ、またここか らデータが読み出される。残余物理アドレス部に一致しているタグを有する、ア ドレスされたキャッシュエントリが存在しない場合、キャッシュアドレス動作を 終了し、キャッシュミスとなる。しかしながら2つのグループ情報が異なる(と 上述した比較によって確定された)場合、キャッシュメモリは、仮想アドレスの キャッシュ索引部と物理アドレスのグループ情報とを用いて索引付けされる。こ こでアドレスされたキャッシュエントリのタグのうちどれが、仮想アドレスから 変換された物理アドレスの残余物理アドレス部に一致しているかをチェックされ 、残余物理アドレス部に一致しているタグを有するキャッシュエントリがキャッ シュヒットとなる。これによりキャッシュアドレス動作を終了し、このキャッシ ュエントリのデータ領域にデータが書き込まれ、またここからデータが読み出さ れる。残余物理アドレス部に一致しているタグを有する、アドレスされたキャッ シュエントリが存在しない場合、キャッシュアドレス動作を終了し、キャッシュ ミスとなる。 カラー補正されたキャッシュ索引が可能な第2のキャッシュアクセスにおいて は、先ず、キャッシュ索引部と仮想アドレスのグループ情報とを使用して(カラ ー補正無しに)キャッシュがアドレスされ、1つのキャッシュエントリがキャッ シュメモリの方向毎にアドレスされる。ここでアドレスされた全てのキャッシュ エントリのタ グが、仮想アドレスから変換された物理アドレスの物理ページ番号の残余物理ア ドレス部に一致しているか否かをチェックするために読み出される。さらにここ でアドレスされた全てのキャッシュエントリのグループ情報が、仮想アドレスか ら変換された物理アドレスのグループ情報に対応するかをチェックするために読 み出される。そしてキャッシュエントリのうちのどれが、仮想アドレスから変換 された物理アドレスの残余物理アドレス部と、物理アドレスのグループ情報に一 致しているグループ情報とに一致しているタグを有するかがチェックされ、この キャッシュエントリがキャッシュヒットとなり、そしてキャッシュアドレス動作 を終了し、このキャッシュエントリのデータ領域へデータが書き込まれ、またこ こからデータが読み出される。残余物理アドレス部と物理アドレスのグループ情 報に一致しているグループ情報とに一致しているタグを有するキャッシュエント リが存在しない場合、仮想アドレスのグループ情報は物理アドレスのグループ情 報と比較される。両グループ情報が一致する場合、キャッシュアドレス動作を終 了し、キャッシュミスとなる。しかしながら2つのグループ情報が異なる場合、 キャッシュメモリは、仮想アドレスのキャッシュ索引部と物理アドレスのグルー プ情報とを用いて再度索引付けされる。ここでアドレスされた全てのキャッシュ エントリのタグ及びグループ情報が、残余物理アドレス部及び/又は物理アドレ スのグループ情報に対応するかをチェックするために読み出される。その後、ア ドレスされたキャッシュエントリのうちどれが、仮想アドレスから変換された物 理アドレスに一致しているタグと物理アドレスのグループ情報に一致しているグ ループ情報とを有するかが再度チェックされ、このキャッシュエントリがキャッ シュヒットとなる。これによりキャッシュアドレス動作を終了し、このキャッシ ュエントリのデータ領域にデータが書き 込まれ、またここからデータが読み出される。残余物理アドレス部に一致してい るタグと物理アドレスのグループ情報に一致しているグループ情報とを有するキ ャッシュエントリが再度存在しない場合、キャッシュアドレス動作を終了し、キ ャッシュミスとなる。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),JP,US

Claims (1)

  1. 【特許請求の範囲】 1.キャッシュ索引部と、仮想ページ番号を表し、仮想アドレスのページ番号ア ドレス部によって表された仮想ページが属する、複数のグループのうちの1つを 指示するグループ情報を有する、ページ番号アドレス部とを含む仮想アドレスに よって索引付けされる一方向又は多方向結合型キャッシュメモリを備え、 前記仮想アドレスは、グループ情報と残余物理アドレス部とを含む物理ページ 番号を表すページ番号アドレス部を用いて物理アドレスへ変換可能であり、前記 グループ情報は、物理アドレスのページ番号アドレス部によって表された物理ペ ージが属する、複数のグループのうち1つを指示し、 前記キャッシュメモリはキャッシュ索引部と仮想アドレスのグループ情報とに よって索引付け可能な複数のキャッシュエントリを有し、各キャッシュエントリ は少なくとも1つのタグと1つのグループ情報と1つのセット及びリセット可能 な状態フラグと少なくとも1つのデータ領域とを有し、 キャッシュアドレッシングは、 a)キャッシュメモリがキャッシュ索引部と仮想アドレスのグループ情報とを 使用して索引付けされ、1つのキャッシュエントリがキャッシュメモリの方向毎 にアドレスされるステップと、 b)アドレスされた全てのキャッシュエントリのタグが、仮想アドレスから変 換された物理アドレスの物理ページ番号の残余物理アドレス部への対応をチェッ クするために読み出されるステップと、 c)アドレスされた全てのキャッシュエントリのグループ情報が、仮想アドレ スから変換された物理アドレスのグループ情報への対応をチェックするために読 み出されるステップと、 d)ステップb),c)において読み出されたキャッシュエントリのうちどれが 、セットされた状態フラグを有するかがチェックされるステップと、 e)ステップd)において、キャッシュエントリが、セットされた状態フラグ と、物理アドレスの残余物理アドレス部に一致しているタグと、グループ情報に 一致しているグループ情報とを有する場合、キャッシュヒットとなり、キャッシ ュアドレス動作を終了し、各キャッシュエントリのデータ領域へのデータの書き 込み及びここからのデータの読み出しを可能とするステップ、又は f)仮想アドレスのグループ情報が物理アドレスのグループ情報と同一である かを判定し、アドレスされたキャッシュエントリのうちの1つが、物理ページ番 号の残余物理アドレス部に一致しているタグとセットされていない状態フラグと を有するかを判定するステップと、 g)ステップf)において、キャッシュエントリのための条件が与えられた場 合、キャッシュメモリがキャッシュ索引部とこのキャッシュエントリのグループ 情報とを使用して索引付けされ、1つのキャッシュエントリがキャッシュメモリ の方向毎にアドレスされ、ステッブb),c),d)が実行されるステップと、 h)アドレスされたキャッシュエントリのうち、セットされた状態フラグと、 物理アドレスの残余物理アドレス部に一致しているタグと、物理アドレスのグル ープ情報に一致しているグループ情報とを有するキャッシュエントリがキャッシ ュヒットとなり、キャッシュアドレス動作を終了し、各キャッシュエントリのデ ータ領域へのデータの書き込み及びここからのデータの読み出しを可能とするス テップと、 i)ステップf)において、条件が1つも与えられない場合、仮 想アドレスのグループ情報が物理アドレスのグループ情報と異なるかがチェック されるステップと、 j)ステップi)において、条件が与えられた場合、キャッシュメモリがキャ ッシュ索引部と物理アドレスのグループ情報とを使用して索引付けされ、1つの キャッシュエントリがキャッシュメモリの方向毎にアドレスされてステップb) 〜h)が実行され、そしてステップf)がその処理で実行され、ステップf)の 条件が1つも達成されない場合、キャッシュアドレス動作を終了してキャッシュ ミスとなるステップと、 k)ステップi)における条件が達成されない、又はステップh)においてキ ャッシュヒットとならない場合、キャッシュアドレス動作を終了し、キャッシュ ミスとなるステップと のいずれかとによって実施される データ記憶用キャッシュメモリ装置。 2.単方向用の直接配置されたキャッシュメモリの場合、唯一アドレスされたキ ャッシュエントリに関して、状態フラグとタグとグループ情報とのチェックがス テップh)において省略され、この唯一アドレスされたキャッシュエントリがキ ャッシュヒットとなることを特徴とする請求項1記載のキャッシュメモリ装置。 3.キャッシュ索引部と、仮想ページ番号を表し、仮想アドレスのページ番号ア ドレス部によって表された仮想ページが属する、複数のグループのうちの1つを 指示するグループ情報を有する、ページ番号アドレス部とを含む仮想アドレスに よって索引付けされる一方向又は多方向結合型キャッシュメモリを備え、 前記仮想アドレスは、グループ情報と残余物理アドレス部とを含 む物理ページ番号を表すページ番号アドレス部を用いて物理アドレスへ変換可能 であり、前記グループ情報は、物理アドレスのページ番号アドレス部によって表 された物理ページが属する、複数のグループのうち1つを指示し、 前記キャッシュメモリはキャッシュ索引部と仮想アドレスのグループ情報とに よって索引付け可能な複数のキャッシュエントリを有し、各キャッシュエントリ は少なくとも1つのタグと少なくとも1つのデータ領域とを有し、 キャッシュアドレッシングは、 a)キャッシュメモリがキャッシュ索引部と仮想アドレスのグループ情報とを 使用して索引付けされ、1つのキャッシュエントリがキャッシュメモリの方向毎 にアドレスされるステップと、 b)アドレスされた全てのキャッシュエントリのタグが、仮想アドレスから変 換された物理アドレスの物理ページ番号の残余物理アドレス部への対応をチェッ クするために読み出されるステップと、 c)仮想アドレスのグループ情報が物理アドレスのグループ情報と比較される ステップと、 d)ステップc)において両グループ情報が同一である場合、アドレスされた キャッシュエントリのタグのうちどれが物理アドレスの残余物理アドレス部に一 致しているかがチェックされ、残余物理アドレス部に一致しているタグを有する キャッシュエントリがキャッシュヒットとなり、これによりキャッシュアドレス 動作を終了し、データが各キャッシュエントリのデータ領域へ書き込まれまたこ こから読み出され得るステップと、 e)ステップd)において一致していない場合、キャッシュアドレス動作を終 了し、キャッシュミスとなるステップと、 f)ステップc)において両グループ情報が異なる場合、仮想ア ドレスのキャッシュ索引部と物理アドレスのグループ情報とを使用してキャッシ ュメモリが索引付けされるステップと、 g)アドレスされたキャッシュエントリのタグのうち、何れが、仮想アドレス から変換された物理アドレスの残余物理アドレス部に一致しているかがチェック され、残余物理アドレス部に一致しているタグを有するキャッシュエントリがキ ャッシュヒットとなり、これによりキャッシュアドレス動作を終了し、データが 各キャッシュエントリのデータ領域へ書き込まれまたここから読み出され得るス テップと、 h)ステップg)において、再度一致していない場合、キャッシュアドレス動 作を終了し、キャッシュミスとなるステップとによって実施される データ記憶用キャッシュメモリ装置。 4.キャッシュ索引部と、仮想ページ番号を表し、仮想アドレスのページ番号ア ドレス部によって表された仮想ページが属する、複数のグループのうちの1つを 指示するグループ情報を有する、ページ番号アドレス部とを含む仮想アドレスに よって索引付けされる一方向又は多方向結合型キャッシュメモリを備え、 前記仮想アドレスは、グループ情報と残余物理アドレス部とを含む物理ページ 番号を表すページ番号アドレス部を用いて物理アドレスへ変換可能であり、前記 グループ情報は、物理アドレスのページ番号アドレス部によって表された物理ペ ージが属する、複数のグループのうち1つを指示し、 前記キャッシュメモリはキャッシュ索引部と仮想アドレスのグループ情報とに よって索引付け可能な複数のキャッシュエントリを有し、各キャッシュエントリ は少なくとも1つのタグと1つのグルー プ情報と1つのセット及びリセット可能な状態フラグと少なくとも1つのデータ 領域とを有し、 キャッシュアドレッシングは、 a)キャッシュメモリはキャッシュ索引部と仮想アドレスのグループ情報とを 使用して索引付けされ、1つのキャッシュエントリがキャッシュメモリの方向毎 にアドレスされるステップと、 b)アドレスされた全てのキャッシュエントリのタグが、仮想アドレスから変 換された物理アドレスの物理ページ番号の残余物理アドレス部への対応をチェッ クするために読み出されるステップと、 c)アドレスされた全てのキャッシュエントリのグループ情報が仮想アドレス から変換された物理アドレスのグループ情報への対応をチェックするために読み 出されるステップと、 d)アドレスされたキャッシュエントリのうちどれが、仮想アドレスから変換 された物理アドレスの物理ページ番号の残余物理アドレス部に一致しているタグ と、物理アドレスのグループ情報に一致しているグループ情報とを有するかがチ ェックされ、このキャッシュエントリがキャッシュヒットとなり、これによりキ ャッシュアドレス動作を終了し、データが各キャッシュエントリのデータ領域へ 書き込まれまたここから読み出され得るステップと、 e)ステップd)において一致していない場合、仮想アドレスのグループ情報 が物理アドレスのグループ情報と比較されるステップと、 f)両グループ情報が一致している場合、キャッシュアドレス動作を終了し、 キャッシュミスとなるステップと、 g)両グループ情報が異なる場合、仮想アドレスのキャッシュ索引部と物理ア ドレスのグループ情報とを使用してキャッシュメモリが再度索引付けされるステ ップと、 h)ステップg)に基づいて索引付けされたキャッシュメモリに対してステッ プd)が実行されるステップと、 i)ステップh)に基づいて実行されステップd)において再度一致していな い場合、キャッシュアドレス動作を終了し、キャッシュミスとなるステップとに よって実施される データ記憶用キャッシュメモリ装置。
JP7526710A 1994-04-15 1995-04-12 データ記憶用キャッシュメモリ装置 Pending JPH09512117A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
DE4412929 1994-04-15
DE4412929.7 1995-04-05
DE19512745A DE19512745A1 (de) 1994-04-15 1995-04-05 Cache-Speichervorrichtung zum Speichern von Daten
DE19512745.5 1995-04-05
PCT/EP1995/001378 WO1995028678A1 (de) 1994-04-15 1995-04-12 Cache-speichervorrichtung zum speichern von daten

Publications (1)

Publication Number Publication Date
JPH09512117A true JPH09512117A (ja) 1997-12-02

Family

ID=25935614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7526710A Pending JPH09512117A (ja) 1994-04-15 1995-04-12 データ記憶用キャッシュメモリ装置

Country Status (4)

Country Link
US (1) US5913222A (ja)
EP (1) EP0755541A1 (ja)
JP (1) JPH09512117A (ja)
WO (1) WO1995028678A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE59901649D1 (de) * 1998-07-03 2002-07-11 Siemens Ag Verfahren zur steuerung der zuteilung eines speicherzugriffs
US6469705B1 (en) * 1999-09-21 2002-10-22 Autodesk Canada Inc. Cache addressing
EP1158749A3 (en) * 2000-04-07 2001-12-05 E-Color, Inc. A method and apparatus for distributing color corrected images across a network using distributed caching
US6625335B1 (en) 2000-05-11 2003-09-23 Matsushita Electric Industrial Co., Ltd. Method and apparatus for assigning keywords to documents
US6654859B2 (en) * 2001-07-26 2003-11-25 International Business Machines Corporation NUMA page selection using coloring
US20040111806A1 (en) * 2002-12-11 2004-06-17 Scheper William Michael Compositions comprising glycol ether solvents and methods employing same
US20050223500A1 (en) * 2003-06-27 2005-10-13 The Procter & Gamble Company Solvent treatment of fabric articles
US7996619B2 (en) * 2004-04-22 2011-08-09 Intel Corporation K-way direct mapped cache
US8671248B2 (en) * 2007-01-05 2014-03-11 International Business Machines Corporation Architecture support of memory access coloring
US8799581B2 (en) * 2007-01-05 2014-08-05 International Business Machines Corporation Cache coherence monitoring and feedback
US9336147B2 (en) 2012-06-12 2016-05-10 Microsoft Technology Licensing, Llc Cache and memory allocation for virtual machines
US20140082252A1 (en) * 2012-09-17 2014-03-20 International Business Machines Corporation Combined Two-Level Cache Directory
US9189409B2 (en) * 2013-02-19 2015-11-17 Avago Technologies General Ip (Singapore) Pte. Ltd. Reducing writes to solid state drive cache memories of storage controllers

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4400774A (en) * 1981-02-02 1983-08-23 Bell Telephone Laboratories, Incorporated Cache addressing arrangement in a computer system
EP0314740A1 (en) * 1987-05-14 1989-05-10 Ncr Corporation Memory addressing system
US5226133A (en) * 1989-12-01 1993-07-06 Silicon Graphics, Inc. Two-level translation look-aside buffer using partial addresses for enhanced speed
JP2839060B2 (ja) * 1992-03-02 1998-12-16 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理システムおよびデータ処理方法
US5584002A (en) * 1993-02-22 1996-12-10 International Business Machines Corporation Cache remapping using synonym classes

Also Published As

Publication number Publication date
WO1995028678A1 (de) 1995-10-26
EP0755541A1 (de) 1997-01-29
US5913222A (en) 1999-06-15

Similar Documents

Publication Publication Date Title
EP2118753B1 (en) Address translation method and apparatus
KR920005280B1 (ko) 고속 캐쉬 시스템
US6026467A (en) Content-addressable memory implemented with a memory management unit
JPH09512117A (ja) データ記憶用キャッシュメモリ装置
JPH0315211B2 (ja)
US5276850A (en) Information processing apparatus with cache memory and a processor which generates a data block address and a plurality of data subblock addresses simultaneously
US6079004A (en) Method of indexing a TLB using a routing code in a virtual address
JPH09512122A (ja) データ記憶用キャッシュ記憶装置
US8688890B2 (en) Bit ordering for communicating an address on a serial fabric
EP0239359B1 (en) Address translation circuit
CA1262287A (en) Explicit instructions for control of translation lookaside buffers
US6915406B2 (en) Address translation apparatus, address translation method, and two-layer address translation apparatus
US6574698B1 (en) Method and system for accessing a cache memory within a data processing system
US5996062A (en) Method and apparatus for controlling an instruction pipeline in a data processing system
EP0173909B1 (en) Look-aside buffer least recently used marker controller
JPH07281947A (ja) 入出力アドレス用変換装置
JPH0695967A (ja) データプロセッサ
JPH02308349A (ja) バッファ記憶制御装置
EP0224168A2 (en) Buffer storage control system
EP0376253B1 (en) Information processing apparatus with cache memory
US6216198B1 (en) Cache memory accessible for continuous data without tag array indexing
JPS623354A (ja) キヤツシユメモリ・アクセス方式
RU2433456C2 (ru) Виртуально маркированный кэш команд с поведением физически маркированного
US6581139B1 (en) Set-associative cache memory having asymmetric latency among sets
JPH0512124A (ja) バツフア記憶制御方式