JPH11345168A - デ―タ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム - Google Patents

デ―タ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム

Info

Publication number
JPH11345168A
JPH11345168A JP11096477A JP9647799A JPH11345168A JP H11345168 A JPH11345168 A JP H11345168A JP 11096477 A JP11096477 A JP 11096477A JP 9647799 A JP9647799 A JP 9647799A JP H11345168 A JPH11345168 A JP H11345168A
Authority
JP
Japan
Prior art keywords
array
cache
translation
memory
directory
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.)
Granted
Application number
JP11096477A
Other languages
English (en)
Other versions
JP3210637B2 (ja
Inventor
Hoo Zon San
サン・ホー・ゾン
Abraham Silverman Joel
ジョウエル・エイブラハム・シルバーマン
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 JPH11345168A publication Critical patent/JPH11345168A/ja
Application granted granted Critical
Publication of JP3210637B2 publication Critical patent/JP3210637B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • 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

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)【要約】 【課題】 データ処理システム内のキャッシュ・メモリ
にアクセスするための方法を提供すること。 【解決手段】 キャッシュ・メモリは、メモリ・アレイ
とディレクトリとともに変換索引バッファを含む。キャ
ッシュ・メモリは、バイト・フィールドと行フィールド
と実効ページ番号フィールドとを含む、実効アドレスに
よってアクセスすることができる。キャッシュ・アクセ
ス・プロセスを容易にするため、変換索引バッファと同
じ行数を有する変換アレイが設けられている。変換アレ
イの各行は、システム・メモリのページあたりの行数と
キャッシュのセット・アソシエイティビティとの積と同
数のアレイ項目を有する。変換アレイは、ディレクトリ
または変換索引バッファの内容が更新されたあとで更新
される。変換アレイは、キャッシュ・メモリが変換した
アドレスに関連するデータを格納しているかどうかを判
定するために、実効アドレスの行フィールドの内容によ
ってアクセスすることができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般にデータ処理
の方法およびシステムに関し、特にデータ処理システム
内のメモリ・アクセスの速度を向上するための方法およ
びシステムに関する。より具体的には、本発明は、デー
タ処理システム内のキャッシュ・メモリにアクセスする
ための方法およびシステムに関する。
【0002】
【従来の技術】メモリ・アクセスのためにデータ処理シ
ステム内のメイン・メモリを構成するための一般的な方
法は、ページと呼ばれる連続位置からなるブロックにメ
イン・メモリを分割することによるものであり、各ペー
ジは同じ行数を有し、各行は同じバイト数を有する。し
たがって、メイン・メモリにアクセスするために使用す
るアドレスは、通常、ページ番号と、行番号と、バイト
位置とを含む。このようなアドレスは、一般に実アドレ
ス(RA:Real Address)または物理アドレスという。
しかし、仮想アドレス指定方式を使用する場合、アクセ
ス・アドレスは実効アドレス(EA:Effective Addres
s)または仮想アドレスという。仮想アドレス指定方式
では命令またはデータは再配置可能であるということを
考慮すると、実効アドレスまたは仮想アドレスは、メイ
ン・メモリ内の実際の位置を指定する対応する実アドレ
スまたは物理アドレスにマッピングしなければならな
い。にもかかわらず、メイン・メモリは概念上、前述の
ようにページ単位に分割されるので、一般にメイン・メ
モリの1ページ内のバイトを識別する実効アドレスの下
位ビットは、通常、いかなる変換も必要としないが、実
効アドレスの上位ビットは、メイン・メモリ内の実際の
ページ位置を指定する対応する実ページ・アドレスに変
換する必要がある。
【0003】メイン・メモリ内に格納されたデータへの
アクセス速度を上げるために、最新のデータ処理システ
ムでは一般に、キャッシュ・メモリとして知られる高速
メモリで最新使用データを管理する。このキャッシュ・
メモリは複数のキャッシュ行を有し、メイン・メモリ内
の連続アドレスに情報を格納するためにキャッシュ行ご
とに複数のバイトを有する。さらに、各キャッシュ行
は、一般にメイン・メモリの対応するページの部分アド
レスを識別する関連タグを有する。各キャッシュ行内の
情報はメイン・メモリの様々なページからのものである
可能性があるので、タグは、メイン・メモリのどのペー
ジにそのキャッシュ行が属するかを識別するための便利
な方法を提供する。
【0004】典型的なキャッシュ・メモリ実施態様で
は、情報は1つまたは複数のメモリ・アレイに格納され
る。さらに、各キャッシュ行ごとに対応するタグは、デ
ィレクトリまたはタグ・アレイとして知られる構造とし
て格納される。通常、変換索引バッファ(TLB:Tran
slation Lookaside Buffer)という追加構造も使用し
て、キャッシュ・メモリ・アクセス中に実効アドレスか
ら実アドレスへの変換を容易にする。
【0005】実効アドレスによってキャッシュ・メモリ
内のバイトにアクセスするには、実効アドレスの行部分
(中位ビット)を使用して、メモリ・アレイからのキャ
ッシュ行とともにディレクトリからの対応するタグを選
択する。次に、実効アドレスのバイト部分(下位ビッ
ト)を使用して、選択したキャッシュ行から指定のバイ
トを選択する。同時に、実効アドレスのページ部分(上
位ビット)は変換索引バッファを介して変換され、実ペ
ージ番号を決定する。この変換によって得られる実ペー
ジ番号がディレクトリ内に格納された実アドレス・タグ
と一致する場合、選択したキャッシュ行から読み取られ
たデータはプログラムによって実際に探索されたデータ
である。これは一般にキャッシュ「ヒット」と呼ばれ、
要求したデータがキャッシュ・メモリ内で見つかったこ
とを意味する。実アドレス・タグと変換した実ページ番
号とが一致しない場合、キャッシュ「ミス」が発生し、
要求したデータがキャッシュ・メモリ内に格納されてい
なかったことを意味する。したがって、要求したデータ
は、メイン・メモリまたはメモリ階層内の他の場所から
検索しなければならない。
【0006】直接マッピング・キャッシュでは、実メモ
リ・ページ内のすべてのページからの対応する行のグル
ープのうち、一度にキャッシュ・メモリに格納できるの
は1つだけであるが、より高い「ヒット」率を達成する
ために、代わりにセットアソシエイティブ・キャッシュ
を使用することもある。たとえば、Nウェイ・セットア
ソシエイティブ・キャッシュでは、N通りのページから
の対応する行を格納することができる。すべての項目は
それぞれの関連タグによって区別することができるの
で、同じ行番号を有するN行のうちのどれがプログラム
が要求した情報を含むかを解決することはいつでも可能
である。この解決には、変換した実ページ番号と、所与
の行番号に関連するN個のタグとの比較が必要である。
各比較によって、N通りの可能性の中から適切なキャッ
シュ行を選択するためにN対1のマルチプレクサへの入
力が生成される。
【0007】使用するキャッシュ・アーキテクチャにも
かかわらず、アドレス変換用のクリティカル・パスは依
然として変換索引バッファと、ディレクトリと、比較回
路のグループとを含み、これはキャッシュ・メモリ内の
適切なキャッシュ行を選択するためにキャッシュ・アク
セス中に使用しなければならない。このクリティカル・
パスは、キャッシュ・アクセス・プロセス全体に所与の
不要な遅延をもたらす可能性があるので、データ処理シ
ステム内にキャッシュ・アクセス中のアドレス変換のた
めの改良された方法およびシステムを提供することが望
ましいと思われる。
【0008】
【発明が解決しようとする課題】したがって、上記の説
明を考慮すると、本発明の一目的は、データ処理のため
の改良された方法およびシステムを提供することにあ
る。
【0009】本発明の他の目的は、データ処理システム
内のメモリ・アクセスの速度を向上するための改良され
た方法およびシステムを提供することにある。
【0010】本発明の他の目的は、データ処理システム
内のキャッシュ・メモリにアクセスするための改良され
た方法およびシステムを提供することにある。
【0011】
【課題を解決するための手段】本発明の好ましい実施例
によれば、キャッシュ・メモリは、メモリ・アレイとデ
ィレクトリとともに変換索引バッファを含む。キャッシ
ュ・メモリは、バイト・フィールドと行フィールドと実
効ページ番号フィールドとを含む、実効アドレスによっ
てアクセスすることができる。キャッシュ・アクセス・
プロセスを容易にするため、変換索引バッファと同じ行
数を有する変換アレイが設けられている。変換アレイの
各行は、メモリのページあたりの行数とキャッシュのセ
ット・アソシエイティビティとの積と同数のアレイ項目
を有する。変換アレイは、ディレクトリまたは変換索引
バッファの内容が更新されたあとで更新される。変換ア
レイは、キャッシュ・メモリが変換したアドレスに関連
するデータを格納しているかどうかを判定するために、
実効アドレスの行フィールドの内容によってアクセスす
ることができる。
【0012】
【発明の実施の形態】本発明は、キャッシュ・メモリを
有する様々なプロセッサで実行することができる。キャ
ッシュ・メモリは、たとえば、1次キャッシュの場合も
あれば、2次または3次キャッシュの場合もある。
【0013】次に添付図面、特に図1を参照すると、本
発明の好ましい実施例を組み込むことができるプロセッ
サのブロック図が示されている。プロセッサ10内のバ
ス・インタフェース・ユニット12は、データ・キャッ
シュ13および命令キャッシュ14に結合されている。
データ・キャッシュ13と命令キャッシュ14はどちら
も高速セットアソシエイティブ・キャッシュであり、そ
れによりプロセッサ10はメイン・メモリ(図示せず)
から事前に転送されたデータまたは命令のサブセットへ
の比較的高速のアクセス時間を達成することができる。
命令キャッシュ14は、各実行サイクル中に命令キャッ
シュ14から命令を取り出す命令ユニット11にさらに
結合されている。
【0014】また、プロセッサ10は、3つの実行ユニ
ット、すなわち、整数ユニット15、ロード/ストア・
ユニット16、浮動小数点ユニット17も含む。各実行
ユニット15〜17は1つまたは複数のクラスの命令を
実行することができ、すべての実行ユニット15〜17
は各プロセッサ・サイクル中に同時に動作することがで
きる。実行が終了した後、実行ユニット15〜17は、
命令タイプに応じてデータ結果をそれぞれのリネーム・
バッファに格納する。次に、実行ユニット15〜17の
いずれかが、命令ユニットが終了したことを完了ユニッ
ト20に通知する。最後に、それぞれのリネーム・バッ
ファから汎用レジスタ18または浮動小数点レジスタ1
9に結果データを転送することにより、命令はプログラ
ム順に完了する。
【0015】次に図2を参照すると、従来技術によるア
クセス方法とともにセットアソシエイティブ・キャッシ
ュ・メモリを示すブロック図が示されている。セットア
ソシエイティブ・キャッシュ・メモリは、データ・キャ
ッシュの場合もあれば、命令キャッシュの場合もある。
図示の通り、セットアソシエイティブ・キャッシュ・メ
モリはメモリ・アレイ21とともにディレクトリ22を
含み、そのどちらも2つのウェイ、すなわち、ウェイ0
とウェイ1とに分割されている。メモリ・アレイ21内
の各キャッシュ行は、ディレクトリ22内に対応する行
を有する。キャッシュ行のデータまたは命令部分はメモ
リ・アレイ21で管理され、同じキャッシュ行のタグ部
分はディレクトリ22で管理される。また、実効アドレ
スを対応する実アドレスに変換するための変換索引バッ
ファ(TLB)23も図2に示されている。具体的に
は、TLB23は、実効アドレスのページ番号部分(ま
たは実効ページ番号)を対応する実ページ番号に変換す
るだけである。
【0016】メモリ・アレイ21に格納された情報は、
実効アドレス20によってアクセスすることができる。
実効アドレス20は、バイト・フィールドと、行フィー
ルドと、ページ番号フィールドとを含む。実効アドレス
20の行フィールドはメモリ・アレイ21内の特定のキ
ャッシュ行を選択するために使用し、実効アドレス20
のバイト・フィールドは選択したキャッシュ行内の特定
のバイトに索引を付けるために使用する。さらに、実効
アドレス20のページ番号フィールドはTLB23に送
られ、対応する実番号番号に変換される。この実ページ
番号は、キャッシュ「ヒット」であるかまたはキャッシ
ュ「ミス」であるかを判定するために、ディレクトリ2
2からの選択したキャッシュ行のタグと比較するために
使用する。ちなみに、ディレクトリ22内の2つのウェ
イのうちの1つからのタグと実ページ番号との一致は、
キャッシュ「ヒット」を意味する。
【0017】図2に示すように、実効ページ番号を実ペ
ージ番号に変換するためのクリティカル・パスは、TL
B23と、ディレクトリ22と、比較回路24とを含
む。ほとんどの場合、このような従来技術の構成のネッ
クは、特にページ番号変換パス上にある。このようなネ
ックによって、キャッシュ・アクセス・プロセス全体に
1サイクルまたは2サイクルが追加される可能性があ
る。
【0018】次に図3を参照すると、本発明の好ましい
実施例によるアクセス方法とともにセットアソシエイテ
ィブ・キャッシュ・メモリを示すブロック図が示されて
いる。図2からのセットアソシエイティブ・キャッシュ
・メモリと同様に、図3のセットアソシエイティブ・キ
ャッシュ・メモリはメモリ・アレイ31とディレクトリ
32とを含み、そのいずれも2つのウェイ、すなわち、
ウェイ0とウェイ1とに分割され、そのいずれも複数の
キャッシュ行を有する。キャッシュ行のデータまたは命
令部分はメモリ・アレイ31で管理され、同じキャッシ
ュ行のタグ部分はディレクトリ32で管理される。セッ
トアソシエイティブ・キャッシュ・メモリは、データ・
キャッシュの場合もあれば、命令キャッシュの場合もあ
り、あるいはデータと命令の両方を格納する統一キャッ
シュの場合もある。
【0019】メモリ・アレイ31に格納された情報は、
実効アドレス30によってアクセスすることができる。
実効アドレス30は、メイン・メモリ内の仮想ページを
示すためのページ番号フィールドと、仮想ページ内の特
定のキャッシュ行を選択するための行フィールドと、選
択したキャッシュ行内の特定のバイトに索引を付けるた
めのバイト・フィールドとを含む。たとえば、32行の
キャッシュ行を有する4Kバイト・ページの場合、その
バイト・フィールドは7ビット幅になり、行フィールド
は5ビット幅になるだろう。
【0020】本発明の好ましい実施例によれば、ディレ
クトリ32およびTLB33から抽出した情報を格納す
るために変換アレイ34を使用する。変換アレイ34は
TLB33と同数の行項目を有する。たとえば、TLB
33が256個の行項目を有する場合、変換アレイ34
も256個の行項目を有することになる。さらに、変換
アレイ34はディレクトリ32と同数のウェイを有す
る。図示の通り、変換アレイ34は2つのウェイを有
し、ディレクトリ32と同じである。変換アレイ34の
各ウェイ内の各行は、ページあたりのキャッシュ行の数
に対応する複数のアレイ項目(それぞれ1ビットずつ)
を有する。たとえば、1ページが32行のキャッシュ行
を有する場合、変換アレイ34は各ウェイの各行内に3
2個のアレイ項目を有することになる。好ましいこと
に、変換アレイ34は連想記憶装置である。
【0021】ディレクトリ32内のキャッシュ行用の各
実アドレス・タグは、好ましいことに変換アレイ34内
の対応するアレイ項目内の論理「1」によって表され
る。本発明の中心的な態様の1つは、TLB33内では
所与の実効アドレスが1つの実アドレスのみにマッピン
グされるという認識である。このため、前述のように変
換アレイ34内のアレイ項目の配置では、変換アレイ3
4内の各アレイ項目(1ビット)は実効ページ番号と行
番号とウェイ番号とによって明確に突き止められる。論
理「1」を有する各アレイ項目は、所与の実ページの対
応するキャッシュ行が現在、ディレクトリ32内に存在
することを示している。したがって、キャッシュ・アク
セスは、TLB33をバイパスしながら、変換アレイ3
4を使用することによって行うことができる。
【0022】変換アレイ34は、列または行のいずれか
によってアクセスすることができる。変換アレイ34の
各ウェイは、1ページ上のキャッシュ行の数と同数の列
を有するので、列によって変換アレイ34にアクセスす
るために実効アドレス30の行番号を使用する。そうで
はない場合、変換アレイ34は、実効アドレス30の実
効ページ番号を使用して対応する行番号を突き止めるこ
とによってアクセスすることができる。
【0023】変換アレイ34内のアレイ項目は、ディレ
クトリ32またはTLB33のいずれかで内容変更を行
ったときに更新する必要がある。TLB33内の行項目
が新しい有効項目で置き換えられた場合、TLB33の
実ページ番号部分はディレクトリ32内のすべての実ア
ドレス・タグと比較しなければならない。ディレクトリ
32内の実アドレス・タグのうち、TLB33内の新し
い実ページ番号と一致するすべての実アドレス・タグの
位置は、ディレクトリ32内の実アドレス・タグの対応
する物理位置に基づいて行番号に分解される。一致する
すべての行番号の集合は、ディレクトリ32内のウェイ
あたり1つずつのビット・ベクトルとして記録される。
各ウェイのベクトルは、新しい項目を受け取るTLB3
3の行に対応する変換アレイ34の行に格納される。し
かし、TLB33内の行項目が無効になると、変換アレ
イ34内のアレイ項目に関するアクションは一切不要で
ある。これは、正常変換の前提条件になるように有効な
行項目をTLB33で見つける必要がある基本的な変換
メカニズム内ではTLB33内の行項目に有効というマ
ークを付ける項目が必要になると思われるからである。
行項目が無効になると、変換障害が通知され、ヒットま
たはミス表示は通常、無視される。
【0024】また、変換アレイ34内の各アレイ項目
は、ディレクトリ32内の実アドレス・タグの変更を行
ったときにも更新しなければならない。たとえば、キャ
ッシュ行が無効になると、その行の実アドレス・タグを
TLB33内のすべての実ページ番号と比較しなければ
ならない。変換アレイ34内のアレイ項目は、一致項目
の行内に位置し、無効になったキャッシュ行の実アドレ
ス・タグの行番号/ウェイに対応する列内に位置する
が、論理「0」に設定しなければならない。また、キャ
ッシュ行を他のキャッシュ行で置き換える場合も、同様
の手順に従う。変換アレイ34内のアレイ項目を論理
「0」に設定するために、前述のように、置換え中のキ
ャッシュ行の実アドレス・タグを比較する。次に、新し
い行の実アドレス・タグをTLB33内のすべての実ペ
ージ番号と比較する。変換アレイ34内のアレイ項目
は、一致項目の行内に位置し、置き換えられたキャッシ
ュ行の実アドレス・タグのキャッシュ行番号/ウェイに
対応する列内に位置するが、論理「1」に設定しなけれ
ばならない。
【0025】本発明の結果として、変換のために実効ア
ドレス30の実効ページ番号をTLB33に送るのでは
なく、実効ページ番号が変換アレイ34に直接送られる
ので、仮想ページ番号から実ページ番号への変換のため
に依然としてTLB33が必要であってもTLB33は
完全にバイパスすることができる。変換アレイ34内の
アレイ項目のうちの1つから「1」が得られるというこ
とは、キャッシュ「ヒット」を意味する。また、変換ア
レイ34内の「1」の位置によって、マルチプレクサ3
5を介してメモリ・アレイ31の適切なウェイが選択さ
れる。この手法は、TLB33などの変換ハードウェア
を通るパスによって全体的なキャッシュ・アクセス遅延
が制限されるときに有利である。
【0026】これまでに説明したように、本発明は、デ
ータ処理システム内のキャッシュ・メモリにアクセスす
るための改良された方法およびシステムを提供する。本
発明では、クリティカル・パス・アドレス変換時にディ
レクトリ・アクセスとタグ比較の両方を含むキャッシュ
・アクセスの速度を上げることができるように、実効ペ
ージ番号を実ページ番号に変換するステップと、その後
のTLBからの実ページ番号とディレクトリから読み取
られた実アドレス・タグとの比較が不要になる。本発明
は、比較的小さいページ・サイズ(たとえば、4Kバイ
ト)を有するメイン・メモリと、比較的低いセット・ア
ソシエイティビティ(たとえば、2〜4ウェイ)を備え
たキャッシュ・メモリとを有するデータ処理システムに
特に適用可能である。実ページ番号とタグ比較を解消す
ることにより、本発明では、キャッシュ「ヒット」また
は「ミス」表示をプロセッサに迅速に送り返すことがで
きる。
【0027】本発明の好ましい実施例を示すためにセッ
トアソシエイト・キャッシュを使用しているが、当業者
であれば、ここに開示した原理は直接マッピング・キャ
ッシュにも適用可能であることが分かるだろう。
【0028】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0029】(1)実効アドレスを使用するデータ処理
システム内のキャッシュ・メモリにアクセスするための
方法において、前記実効アドレスがバイト・フィールド
と行フィールドと実効ページ番号フィールドとを含み、
前記キャッシュ・メモリがメモリ・アレイとともにディ
レクトリと変換索引バッファとを含み、前記方法が、前
記変換索引バッファ内と同数の行と、システム・メモリ
のページあたりのキャッシュ行と前記キャッシュ・メモ
リのアソシエイティビティとの積と同数の各行内のアレ
イ項目とを含む変換アレイを設けるステップと、実効ア
ドレスによるキャッシュ・アクセスに応答して、前記キ
ャッシュ・メモリが前記変換アレイを使用して前記実効
アドレスに関連するデータを格納しているかどうかを判
定するステップとを含む方法。 (2)前記判定ステップが、前記実効アドレスの行フィ
ールドを使用して前記変換アレイにアクセスするステッ
プをさらに含む、上記(1)に記載の方法。 (3)前記判定ステップが、一致の表示を有する前記ア
レイ項目のうちの1つを検出するステップをさらに含
む、上記(2)に記載の方法。 (4)前記方法が、前記ディレクトリまたは前記変換索
引バッファ内の内容が更新されたあとで前記変換アレイ
を更新するステップをさらに含む、上記(1)に記載の
方法。 (5)前記ディレクトリが実ページ番号を含み、前記変
換索引バッファが実効ページ番号を実ページ番号に変換
するためのものである、上記(1)に記載の方法。 (6)実効アドレスを使用することによりアクセス可能
なキャッシュ・メモリを有するプロセッサにおいて、前
記実効アドレスがバイト・フィールドと行フィールドと
実効ページ番号フィールドとを含み、前記キャッシュ・
メモリがメモリ・アレイとともにディレクトリと変換索
引バッファとを含み、前記プロセッサが、前記変換索引
バッファ内と同数の行と、システム・メモリのページあ
たりのキャッシュ行と前記キャッシュ・メモリのアソシ
エイティビティとの積と同数の各行内のアレイ項目とを
含む変換アレイと、実効アドレスによるキャッシュ・ア
クセスに応答して、前記キャッシュ・メモリが前記変換
アレイを使用して前記実効アドレスに関連するデータを
格納しているかどうかを判定する手段とを含むプロセッ
サ。 (7)前記判定手段が、前記実効アドレスの行フィール
ドを使用して前記変換アレイにアクセスする手段をさら
に含む、上記(6)に記載のプロセッサ。 (8)前記判定手段が、一致の表示を有する前記アレイ
項目のうちの1つを検出する手段をさらに含む、上記
(7)に記載のプロセッサ。 (9)前記プロセッサが、前記ディレクトリまたは前記
変換索引バッファ内の内容が更新されたあとで前記変換
アレイを更新する手段をさらに含む、上記(6)に記載
のプロセッサ。 (10)前記ディレクトリが実ページ番号を含み、前記
変換索引バッファが実効ページ番号を実ページ番号に変
換するためのものである、上記(6)に記載のプロセッ
サ。
【図面の簡単な説明】
【図1】本発明の好ましい実施例を組み込むことができ
るプロセッサのブロック図である。
【図2】従来技術によるアクセス方法とともにセットア
ソシエイティブ・キャッシュ・メモリを示すブロック図
である。
【図3】本発明の好ましい実施例による変換アレイを有
するセットアソシエイティブ・キャッシュ・メモリのブ
ロック図である。
【符号の説明】
31 メモリ・アレイ 32 ディレクトリ 33 変換索引バッファ 34 変換アレイ 35 マルチプレクサ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジョウエル・エイブラハム・シルバーマン アメリカ合衆国10589 ニューヨーク州ソ マーズ ミッチェル・ロード 134

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】実効アドレスを使用するデータ処理システ
    ム内のキャッシュ・メモリにアクセスするための方法に
    おいて、前記実効アドレスがバイト・フィールドと行フ
    ィールドと実効ページ番号フィールドとを含み、前記キ
    ャッシュ・メモリがメモリ・アレイとともにディレクト
    リと変換索引バッファとを含み、前記方法が、 前記変換索引バッファ内と同数の行と、システム・メモ
    リのページあたりのキャッシュ行と前記キャッシュ・メ
    モリのアソシエイティビティとの積と同数の各行内のア
    レイ項目とを含む変換アレイを設けるステップと、 実効アドレスによるキャッシュ・アクセスに応答して、
    前記キャッシュ・メモリが前記変換アレイを使用して前
    記実効アドレスに関連するデータを格納しているかどう
    かを判定するステップとを含む方法。
  2. 【請求項2】前記判定ステップが、前記実効アドレスの
    行フィールドを使用して前記変換アレイにアクセスする
    ステップをさらに含む、請求項1に記載の方法。
  3. 【請求項3】前記判定ステップが、一致の表示を有する
    前記アレイ項目のうちの1つを検出するステップをさら
    に含む、請求項2に記載の方法。
  4. 【請求項4】前記方法が、前記ディレクトリまたは前記
    変換索引バッファ内の内容が更新されたあとで前記変換
    アレイを更新するステップをさらに含む、請求項1に記
    載の方法。
  5. 【請求項5】前記ディレクトリが実ページ番号を含み、
    前記変換索引バッファが実効ページ番号を実ページ番号
    に変換するためのものである、請求項1に記載の方法。
  6. 【請求項6】実効アドレスを使用することによりアクセ
    ス可能なキャッシュ・メモリを有するプロセッサにおい
    て、前記実効アドレスがバイト・フィールドと行フィー
    ルドと実効ページ番号フィールドとを含み、前記キャッ
    シュ・メモリがメモリ・アレイとともにディレクトリと
    変換索引バッファとを含み、前記プロセッサが、 前記変換索引バッファ内と同数の行と、システム・メモ
    リのページあたりのキャッシュ行と前記キャッシュ・メ
    モリのアソシエイティビティとの積と同数の各行内のア
    レイ項目とを含む変換アレイと、 実効アドレスによるキャッシュ・アクセスに応答して、
    前記キャッシュ・メモリが前記変換アレイを使用して前
    記実効アドレスに関連するデータを格納しているかどう
    かを判定する手段とを含むプロセッサ。
  7. 【請求項7】前記判定手段が、前記実効アドレスの行フ
    ィールドを使用して前記変換アレイにアクセスする手段
    をさらに含む、請求項6に記載のプロセッサ。
  8. 【請求項8】前記判定手段が、一致の表示を有する前記
    アレイ項目のうちの1つを検出する手段をさらに含む、
    請求項7に記載のプロセッサ。
  9. 【請求項9】前記プロセッサが、前記ディレクトリまた
    は前記変換索引バッファ内の内容が更新されたあとで前
    記変換アレイを更新する手段をさらに含む、請求項6に
    記載のプロセッサ。
  10. 【請求項10】前記ディレクトリが実ページ番号を含
    み、前記変換索引バッファが実効ページ番号を実ページ
    番号に変換するためのものである、請求項6に記載のプ
    ロセッサ。
JP09647799A 1998-04-17 1999-04-02 データ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム Expired - Fee Related JP3210637B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/062,002 US6574698B1 (en) 1998-04-17 1998-04-17 Method and system for accessing a cache memory within a data processing system
US09/062002 1998-04-17

Publications (2)

Publication Number Publication Date
JPH11345168A true JPH11345168A (ja) 1999-12-14
JP3210637B2 JP3210637B2 (ja) 2001-09-17

Family

ID=22039583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09647799A Expired - Fee Related JP3210637B2 (ja) 1998-04-17 1999-04-02 データ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム

Country Status (3)

Country Link
US (1) US6574698B1 (ja)
JP (1) JP3210637B2 (ja)
KR (1) KR100321107B1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8244979B2 (en) * 2007-07-13 2012-08-14 International Business Machines Corporation System and method for cache-locking mechanism using translation table attributes for replacement class ID determination
US8099579B2 (en) * 2007-07-13 2012-01-17 International Business Machines Corporation System and method for cache-locking mechanism using segment table attributes for replacement class ID determination
JP4821887B2 (ja) * 2009-06-08 2011-11-24 日本電気株式会社 コヒーレンシ制御システム、コヒーレンシ制御装置及びコヒーレンシ制御方法
US9396130B2 (en) 2012-08-18 2016-07-19 Qualcomm Technologies, Inc. System translation look-aside buffer integrated in an interconnect
US9164904B2 (en) * 2012-08-28 2015-10-20 Hewlett-Packard Development Company, L.P. Accessing remote memory on a memory blade
US9292453B2 (en) * 2013-02-01 2016-03-22 International Business Machines Corporation Storing a system-absolute address (SAA) in a first level translation look-aside buffer (TLB)
WO2015051506A1 (en) * 2013-10-09 2015-04-16 Advanced Micro Devices, Inc. Enhancing lifetime of non-volatile cache by reducing intra-block write variation
KR20210133829A (ko) 2020-04-29 2021-11-08 아프로비에이 주식회사 기능성 마스크
KR20210156709A (ko) 2020-06-18 2021-12-27 아프로비에이 주식회사 마스크

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4797814A (en) * 1986-05-01 1989-01-10 International Business Machines Corporation Variable address mode cache
US5299147A (en) 1993-02-22 1994-03-29 Intergraph Corporation Decoder scheme for fully associative translation-lookaside buffer
US5996062A (en) * 1993-11-24 1999-11-30 Intergraph Corporation Method and apparatus for controlling an instruction pipeline in a data processing system
JP3169155B2 (ja) * 1993-12-22 2001-05-21 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 情報をキャッシュするための回路
US5970512A (en) * 1997-03-27 1999-10-19 International Business Machines Corporation Translation shadow array adder-decoder circuit for selecting consecutive TLB entries

Also Published As

Publication number Publication date
KR19990082723A (ko) 1999-11-25
US6574698B1 (en) 2003-06-03
KR100321107B1 (ko) 2002-03-18
JP3210637B2 (ja) 2001-09-17

Similar Documents

Publication Publication Date Title
KR920005280B1 (ko) 고속 캐쉬 시스템
KR960001946B1 (ko) 우선 변환 참조버퍼
US6772316B2 (en) Method and apparatus for updating and invalidating store data
US5058003A (en) Virtual storage dynamic address translation mechanism for multiple-sized pages
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
EP0036110B1 (en) Cache addressing mechanism
US6014732A (en) Cache memory with reduced access time
US6493812B1 (en) Apparatus and method for virtual address aliasing and multiple page size support in a computer system having a prevalidated cache
JP3666689B2 (ja) 仮想アドレス変換方法
JP4065660B2 (ja) 機能が並列に分散された変換索引バッファ
KR101057526B1 (ko) 주소 변환 방법 및 장치
JP2603476B2 (ja) データ取り出し方法
JPH04320553A (ja) アドレス変換機構
JPH03142644A (ja) キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
JPH0555898B2 (ja)
JP3449487B2 (ja) 変換索引緩衝機構
KR930010733A (ko) 라이트 드루 가상 캐시메모리, 에일리어스 어드레싱 및 캐시플러시
US5737575A (en) Interleaved key memory with multi-page key cache
JP3210637B2 (ja) データ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム
EP0486154B1 (en) Method of operating a virtual memory system
US6226731B1 (en) Method and system for accessing a cache memory within a data-processing system utilizing a pre-calculated comparison array
EP0206050A2 (en) Virtually addressed cache memory with physical tags
EP0224168A2 (en) Buffer storage control system
US6581139B1 (en) Set-associative cache memory having asymmetric latency among sets
US6460118B1 (en) Set-associative cache memory having incremental access latencies among sets

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees