JP3718302B2 - 命令取り出し方法および装置 - Google Patents

命令取り出し方法および装置 Download PDF

Info

Publication number
JP3718302B2
JP3718302B2 JP32119696A JP32119696A JP3718302B2 JP 3718302 B2 JP3718302 B2 JP 3718302B2 JP 32119696 A JP32119696 A JP 32119696A JP 32119696 A JP32119696 A JP 32119696A JP 3718302 B2 JP3718302 B2 JP 3718302B2
Authority
JP
Japan
Prior art keywords
cache
word
line
words
address
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
JP32119696A
Other languages
English (en)
Other versions
JPH09288578A (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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH09288578A publication Critical patent/JPH09288578A/ja
Application granted granted Critical
Publication of JP3718302B2 publication Critical patent/JP3718302B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0886Variable-length word access

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)
  • Advance Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、一般にコンピュータ中の命令を取り出す方法および装置に関し、詳細には、Nウェイ・セットアソシエーティブ・キャッシュに記憶されている一連の命令を効率的に取り出すことに関する。
【0002】
【従来の技術】
多数のコンピュータ・システムは、キャッシュ・メモリを使用して、メイン・メモリに記憶されている項目、例えば命令、の取り出しに関連する遅延を短縮する。メモリ・アクセス時間は、しばしばホスト・プロセッサ・スループットを制限する要因である。したがって、多くの場合キャッシュ・メモリが使用される。
【0003】
図1は、命令キャッシュ・メモリ・システム10の簡略化された構成を示す。メイン・メモリ24と実行装置12との間に命令キャッシュ20が配設される。メイン・メモリ24にいくつかの他の実行装置13を結合することもできる。この場合、命令キャッシュ20は実行装置12のメモリ・アクセス時間を短縮する働きをする。実行装置12が命令を実行した後、プログラム・カウンタ14は、次の命令または予想される次の命令を示す。ある種のケースでは、プログラム・カウンタによって出力されるアドレスの、たとえば仮想アドレスから物理アドレスへの完全な、あるいは部分的な変換を行う必要がある。仮想アドレスに基づいて物理アドレスの参照を行う必要があることもある。これは、ページング装置16および変換索引バッファ(TLB17)を当技術分野でよく知られているように使用することによって行うことができる。システムは、次の(または予想される次の)命令のアドレスをキャッシュ制御18に提供する。キャッシュ制御18は、命令の各部を1つまたは複数のタグと比較することによって、要求された命令が現在、命令キャッシュ20に存在しているかどうかを判定する。必要な命令が命令キャッシュ20にない場合(「ミス」)、キャッシュ制御18は制御22を与え、その結果、命令のブロックがメイン・メモリ24からキャッシュ20内へ送られる。キャッシュのアクセスが再試行される。
【0004】
キャッシュ20が、必要な命令を含む場合(「ヒット」)、アドレスがプログラム・カウンタ14内にあるワードを含め、1つまたは複数の命令ワードがキャッシュ20から出力される。通常、いくつかのワードが一度に出力される。4ワードの転送が一般的である。これらのワードはたとえば、通常いくつかの命令を保持できる、命令バッファ26に記憶することができる。したがって、通常、実行装置12が迅速にアクセスできる複数の命令がある。これは、実行装置12が、ある周期中には(たとえば、キャッシュ・ミス後にキャッシュ20が書き込まれているとき)、キャッシュ20から出力されるときよりも高速に命令を受け取ることができるので、有用である。しかし、いくつかのケースでは、命令バッファ26に蓄積された命令は無効化または削除される。たとえば、こうなるのは、実行装置12が分岐命令を取り出し、実行装置12に新しい命令シーケンスを入力する必要があるときである。
【0005】
複数の実行装置がメイン・メモリへのアクセスを許可され、キャッシュに書込みが行われるケースでは、システムは通常、キャッシュ20中のデータとメモリ24中のデータが互いに対応するようにする何らかの方法を含む。これは通常、「キャッシュ・コヒーレンシ」の維持と呼ばれる。いくつかのキャッシュ・コヒーレンシ技法が知られている。この例として、「ライトスルー」および「ライトバック」と呼ばれる技法がある。ある種のシステムでは、バス監視装置28を使用することによってキャッシュ・コヒーレンシが維持される。この装置28は、グローバル・アドレス・バス31を監視し、たとえば他のバス・マスタ(図示せず)によるメモリへの書込み動作を検出する。これによって、キャッシュ制御18は、他の装置が共用メモリ中の位置に書き込むときにキャッシュ・エントリを無効化することができる。
【0006】
いくつかのキャッシュ・メモリ間のマッピング技法が知られている。1つの技法は「セットアソシエーティブ・マッピング」として知られており、この技法では、キャッシュは2つ以上のセット(場合によっては「バンク」、または「コンパートメント」、または「ウェイ」と呼ばれる)に分割されるとみなされる。図2は、2ウェイ・セットアソシエーティブ・キャッシュ20の例を示す。この図では、キャッシュ20は、第1のセットまたはコンパートメント32と第2のセットまたはコンパートメント34とを含む。各コンパートメント32、34は複数のスロットまたはライン36aないし36n、38aないし38nを含む。各ラインは、いくつかのワード42aないし42k、44aないし44kを含む。議論の都合上、本明細書の全体にわたって、アクセス当たり4つのワードを検索するキャッシュ・システムについて説明する。さらに、説明する例示的なシステムは、ライン当たり8つのワードを含む。当業者なら、アクセス当たりに異なる数のワードを検索することができ、セットアソシエーティブ・キャッシュ中のラインが8つよりも多くのワードを含むことができることを認識されよう。
【0007】
従来の命令取出し方法における1つの問題は、1つのライン36aないし36n、38aないし38nの終わり付近に配置されたワードに対して取出しが行われる状況である。これはたとえば、分岐命令が取り出された後に比較的頻繁に発生する。通常の動作では、プログラム・カウンタ14がワード45bなどラインの終わり付近にはない命令を指し示すと、キャッシュ20は、まずタグを使用して、要求されたデータがライン36a上に存在するデータであることを検証した後にいくつかのワード(たとえば、4つのワード45b、45c、45d、45e)を出力する。ライン36aの始め付近でアクセスが行われるとき、これは容易に実行される。というのは、キャッシュ中の所与のスロットまたはラインが連続的なアドレスを含む一連の命令ワードを含むことが分かっており、すなわち、ワード45bのアドレスの次のアドレスを有する命令ワードがワード45cであることが分かっているからである。
【0008】
しかし、ライン36aの終わり付近では、現行のシステムでは、ライン36aの最後のワード45kの後に続くワードが何になるかは分からない。通常、45kの後に続くワードは、次のライン(すなわち、36b)の第1のワード46aとキャッシュ20の他方のセット34中の対応するライン38b中の第1のワード48aとのどちらかになる。しかし、従来のセットアソシエーティブ・システムでは、これらの位置のうちのどちらがライン36aの最後の命令45kの後に続く命令を保持するかに関する情報が得られなかった。したがって、従来の装置では、45jなどラインの終わり付近のワードに対して読取りアクセスが行われると、45jや45kなどラインの終わりにあるワードは命令バッファ26に出力することができたが、45kの後のワードは、位置が得られないので出力できなかった。通常、このため、たとえばTLB17を参照し、あるいは次のワードの位置を判定し、次いでキャッシュ20の第2のアクセスを試すのに必要な他の処置をとることが必要になる。したがって、ラインの終わりから離れた位置のアクセスでは、アクセス当たりの平均歩留まりがいくつかのワードの出力、たとえば(前述のように)アクセス当たり4ワードであったことが分かる。しかし、ラインの終わり付近でアクセスが行われると、アクセスの結果、出力される有効ワードが4つよりも少なくなることがあった。
【0009】
ラインの終わり付近でのキャッシュ・アクセスのこの低い効率が特に厄介ないくつかの状況がある。最初のアクセス・アドレスがラインの終わりに近ければ近いほど、効率が悪くなる。たとえば、ワード45kにアクセスする場合、キャッシュのそのアクセス中に命令バッファ26に有用であるのは、4つのワードではなく単一のワードだけである。また、キャッシュ・アクセス当たりに4つよりも多くのワードを出力するように構成されたシステムは、ラインの終わりから離れた位置で生じる効率の相対低減と比べてずっと大きな低減をラインの終わり付近に有する。下記の説明から明らかなように、キャッシュの各アクセスの結果、通常i個のワードが出力され、キャッシュ・ラインの長さがkワードである場合、ラインの終わり付近の問題の可能性は、アクセスがラインの(k−i+1)番目のワードとラインのk番目のワードとの間で行われるときに常に生じる。さらに、この問題は、キャッシュ・ラインの終わり付近のアクセスが、命令バッファ26が空のときに行われた場合に悪化する。この状況は、分岐が行われた後にしばしば発生する。
【0010】
図3は、前述のキャッシュ・システムと共に使用できるキャッシュ・タグを示す。この例では、タグは、各ワードごとに1セクションずつ、いくつかのセクション54a、54b、54c、54dを含む。たとえば、キャッシュへのアクセス当たり4ワードの場合、図のように、それぞれのタグは4つのセクションを含む。54aに代表される各セクションは、たとえば実アドレス・タグまたは仮想アドレス・タグ(ADDRESS)、すなわち通常はメイン・メモリ中の対応するワードのアドレスの一部を含むいくつかのエントリを含む。各タグ内にいくつかのフラグも含まれる。当業者なら分かるように、「ダーティ」フラグ(通常、たとえばキャッシュ・コヒーレンシのために使用できる1ビット)および有効フラグを使用して、キャッシュのこの位置に記憶されるデータが有効なデータであるかどうかを示すことができる。
【0011】
【発明が解決しようとする課題】
したがって、セットアソシエーティブ・キャッシュ・システム中のラインの終わり付近でのアクセスの結果として生じる非効率を低減させるシステムが必要である。
【0012】
【課題を解決するための手段】
本発明は、ラインの終わりにあるワードの後に続くワードの位置を判定できるようにする情報を提供することによってキャッシュ・ラインの終わり付近でのアクセスの問題に対処する。ある特定の実施態様では、この情報は拡張タグに含まれる。
【0013】
それぞれ、複数のマルチワード・ラインとして構成された、N個のセットまたはコンパートメントを有するNウェイ・セットアソシエーティブ・キャッシュでは、キャッシュは、アドレスを含むタグ・ワードを受け取り、それに応答してM個のワードを出力する。2ウェイ・セットアソシエーティブ・キャッシュでは、N=2であり、4ウェイ・セットアソシエーティブ・キャッシュでは、N=4である。キャッシュ・アクセスに応答して4つのワードが出力されるシステムでは、M=4である。本発明の一実施態様によれば、N個のコンパートメントのうちの1つの第1のラインに保持された第1のワードにアドレスする第1のタグがキャッシュに入力される。これとほぼ同時に、N個のコンパートメントのうちのどれが、第1のワードを保持するラインの終わりにあるワードの後に続く少なくとも1つの他のワードを保持するラインを含むかを示す情報もキャッシュに入力される。アドレスされたワードが、それを含むラインの終わりのM−1ワード内にあるとき、キャッシュは、少なくともアドレスされたワードと少なくとも1つの他のワードとを含むM個のワードを出力する。好ましくは、この情報は、タグ情報の一部として含まれる。
【0014】
一実施態様では、後に続くラインの位置を指し示すポインタが有効なデータを指し示すかどうかを判定する「ポインタ有効」情報も含まれる。たとえば、現在アドレスされているラインの終わりが連続命令文字列または「命令スレッド」の終わりを表す場合、後に続くライン上のデータは無効である可能性がある。
【0015】
キャッシュの他の実施態様では、キャッシュは2ウェイ・セットアソシエーティブ・キャッシュであり、各ワードごとの各タグ付き部分には、2つの追加ビットしか必要ではなく、第1ビットは、後に続くワードがセットアソシエーティブ・タグの第1のセット内にあるか、それともセットアソシエーティブ・タグの第2のセット内にあるかを示し、第2ビットは、後に続くラインを指し示すポインタが有効かどうかを示す。他の実施態様では、キャッシュは4ウェイ・セットアソシエーティブ・キャッシュであり、次の連続ラインを指し示すワード当たり3つ以上の追加ビットがタグに提供される。
【0016】
本発明の性質および利点をより完全に理解するには、添付の図面に関連して下記の説明を参照すべきである。
【0017】
【発明の実施の形態】
一実施形態によれば、タグ62は、図4に示されており、2ウェイ・セットアソシエーティブ・キャッシュ中の特定のワードに関連付けられ、通常はタグ・フィールド56、58、60だけでなく1ビット・ポインタ64と1ビット「ポインタ有効」フラグ66も含む。2ウェイ・セットアソシエーティブ・キャッシュでは、キャッシュ・ライン中の最後のワードの後に続く命令スレッド中のワードは、アクセス・ワードと同じセットと他方のセットのどちらかにある。したがって、命令スレッド中の後に続くラインを含むセットを指し示すために必要なのは単一のビット64だけである。後に続くラインが有効と無効のどちらかなので、「ポインタ有効」タグとして必要なのは単一のビット66だけである。したがって、本発明の一実施形態によれば、本発明のこの実施形態を実施するためにタグがワード当たり2ビットだけ拡張される。
【0018】
図5に示したように、タグが、キャッシュのセットのj番目のライン上に存在するアドレスを受け取ると(72)、そのタグが調べられ、ポインタ64が得られる(74)。そのアドレスを使用してアクセスすべきワードがラインの終わりのM−1個(Mは、キャッシュ20への通常のアクセス時に命令バッファ26に出力されるワードの数である)のワード内にない場合(76)、ステップ78で命令バッファ26にM個のワードが出力される。しかし、アドレスされたワードがラインの終わりのM−1個のワード内にある場合、キャッシュ20は、アクセスされたワードからラインの終わりまでの、j番目のラインに残っているすべてのワード、すなわち合計でM−L個のワードを出力し(82)、ポインタ有効タグが、ポインタが有効であることを示す(84)場合は、ステップ86で、ステップ74で得られたポインタによって示されたどちらかのセットの(j+1)番目のラインのL個のワードも命令バッファ26に出力する。
【0019】
次に、一例として図2を参照すると分かるように、ポインタ64の値零が第1のセット32を表し、値1が第2のセット34を表すと仮定される。たとえば、キャッシュ20がセット32のライン36a上のワード45jの読取りアドレスを受け取ると仮定する。さらに、タグ62を検査したときに、ワード45jのポインタ64が(第2のセット34の使用を示す)「1」に等しいことが分かったと仮定する。これに応答して、キャッシュ20は、ライン36aから2つのワード45jおよび45kを出力し、キャッシュ20の第2のセット34のライン38bから2つのワード48aおよび48bを出力する(「ポインタ有効」フラグ66が、ポインタ64が有効であることを示す場合)。
【0020】
好ましくは、ライン36aからのワード45j、45kの出力およびライン38bからのワード48aおよび48bの出力は、たとえばキャッシュ20のアドレス・デコーダの適当な構成によって、単一のキャッシュ・メモリ・アクセスの時間内に行われる。たとえば、一実施形態における復号は、修理回路が行または列の復号配線をそれぞれ1行または1列以上シフトするある種のメモリ冗長構造で使用されるような回路によって行うことができる。そのような1つの方式は、モリシゲル等著「A 45−ns 64Mb DRAM with a Merged Match−Line Test Architecture」(IEEE Journal of Solid−State Circuits、第26巻、第11号、1991年11月号、1486ページないし1492ページ)に記載されている。そのような復号方式はたとえば、セグメント化ワード・ラインを使用できるようにするために使用することができる。前述の文献のヒューズ構造をライン内の復号済み開始点で置き換え、隣接するワード・ラインに部分的にアクセスできるようにすることができる。別々のラインにアクセスできるようにする他の復号方式を使用することもできる。
【0021】
システムが適切に動作できるように、コンピュータ・システムは、正しいポインタ情報64など正しい情報をタグに記憶するように構成しなければならない。この情報は、たとえば新しいデータ・ラインがメイン・メモリ24からキャッシュ20にロードされたときに正しく記憶し、あるいは、たとえばキャッシュのラインが無効化されたときに改訂しなければならない。このタスク専用の回路を設計し構築することは可能であるが、すでにコンピュータ内で使用することができ、かつ必要な情報を有する回路を使用することによって、コストを最小限に抑えることが好ましい。バス監視装置28は、当技術分野でよく知られている構成を有し、この装置を使用して、ポインタ64を正しく記憶するのに必要な情報を生成することができる。通常、バス監視装置24は、どのアドレスが、他のアドレス・セットの後に続き、あるいはそのようなセットに一致するかを判定できる回路を含む。この情報は、キャッシュ・ラインの終わりまたは終わり付近にあるデータの場合に、後に続くラインが同じセットにあるか、それとも他のセットにあるかを判定するために必要である。
【0022】
図5に示した方法を使用することに対する1つの例外は、ラインの終わりがページ境界に一致するときに発生する。この場合、図5の方法は使用すべきではない。すなわち、後に続くラインのデータは、判定できる場合でも出力すべきではない。これは、保護レベルなどの項目がページ境界全体にわたって異なり、したがってページ境界を横切る際には、システムに、後に続くラインからワードを自動的に出力させるのではなく、TLB17を参照させることが好ましいからである。
【0023】
図6は、4ウェイ・セットアソシエーティブ・キャッシュ中の単一のワードのタグ部88を示す。4ウェイ・セットアソシエーティブ・キャッシュは4つの状態を有するので、4つの状態のうちの1つを指し示すために2ビットが必要であり、「ポインタ有効」フラグ用に1つの追加ビットが必要である。したがって、各ワードごとの(あるいは少なくとも各ラインの終わり付近にあるワードの)タグ用に3つの追加ビットのみを提供することによって4ウェイ・セットアソシエーティブ・キャッシュ用の本発明のシステムを実施することができる。しかし、一実施形態による実施上の理由で、この場合は4ビット92を与えることが好ましい。対応するビット位置に特定のセットを示す「1」値を有するなど、各ビットに4つのセットのうちの1つを指し示すようにすることによって、4ビット92を使用することができる。したがって、4ビット・ポインタ92は、第1のセットを指し示す値1000と、第2のセットを指し示す値0100と、第3のセットを指し示す値0010と、第4のセットを指し示す値0001とを有する。(0000など)任意の他の値を「ポインタ無効」フラグとして使用することができる。
【0024】
上記の説明に照らして、本発明の利点は明らかである。本発明は、従来の方法に対してキャッシュ・アクセス当たりに出力されるワードの平均数を向上させることができる。本発明は、キャッシュ・アクセスによって、TLBの参照が必要になることなど、ワードが得られないことを示す表示が返されたときに発生するオーバヘッドを回避する。
【0025】
本発明のいくつかの変形例を使用することができる。本発明は、2ウェイ・キャッシュや4ウェイ・キャッシュ以外のNウェイ・セットアソシエーティブ・キャッシュと共に使用することができる。本発明は、命令キャッシュ以外のキャッシュと共に使用することができる。本発明は、いくつかの異なるタグ構造と共に使用することができる。本発明は、タグ位置以外の位置にポインタを記憶することができる。ただし、情報は、タグ情報が得られるのと同じ位置で得られることが好ましい。
【0026】
ある種の変形および修正を含む好ましい実施形態を介して本発明を説明したが、他の変形および修正を使用することもできる。したがって、本発明の範囲は、請求項によって確認すべきである。
【図面の簡単な説明】
【図1】 命令キャッシュを含むコンピュータ・システムの簡略化されたブロック図である。
【図2】 2ウェイ・セットアソシエーティブ・キャッシュの概略図である。
【図3】 キャッシュ・タグの構造の図である。
【図4】 本発明の一実施形態によるキャッシュ・タグの図である。
【図5】 本発明の実施形態による命令タグの命令にアクセスする方法を示す流れ図である。
【図6】 本発明の一実施形態によるタグの構造の図である。
【符号の説明】
10 キャッシュ・メモリ・システム
12 実行装置
14 プログラム・カウンタ
17 変換索引緩衝機構
18 キャッシュ制御
20 命令キャッシュ
22 制御
24 メイン・メモリ
26 命令バッファ
28 バス監視装置
31 グローバル・アドレス・バス
32 第1のセットまたはコンパートメント
34 第2のセットまたはコンパートメント
36 スロットまたはライン
42 ワード
56 タグ・フィールド
62 タグ
64 ビット

Claims (4)

  1. Nが2以上で、Mが2以上であるとき、N個のコンパートメントを有するNウェイ・セットアソシエーティブ・キャッシュを有し、各コンパートメントが複数のマルチワード・ラインとして構成され、前記キャッシュが、アドレスを含むタグ・ワードを受け取り、これに応答してM個のワードを出力するコンピュータにおいて、正しいM個のワードの出力を保証するためにコンピュータによって実施される方法であって、
    前記N個のコンパートメントのうちの1つのライン内に保持されたターゲット・ワードの第1のアドレスを前記キャッシュに入力するステップと、
    N個のコンパートメントのうちのどれが、前記ターゲット・ワードを保持するラインの終わりにあるワードの後に続く少なくとも1つの他のワードを保持するラインを含むかを示す第1の情報を前記キャッシュに入力するステップと、
    前記ターゲット・ワードが前記ラインの終わりのM−1個のワード内であるときに、前記ターゲット・ワードを含むコンパートメントからの前記ターゲット・ワードと前記第1の情報が示すコンパートメントからの少なくとも1つの他のワードとを含むM個のワードを前記キャッシュから出力するステップとを含むことを特徴とする方法。
  2. さらに、前記第1の情報が有効であるかどうかを示す第2の情報を前記キャッシュに入力することを含むことを特徴とする請求項1に記載の方法。
  3. Nが、2以上で、Mが2以上であるとき、N個のバンクを有するNウェイ・セットアソシエーティブ・キャッシュを有し、各バンクが複数のワードを保持する複数のラインとして構成され、前記キャッシュが、アドレスを含むタグ・ワードを受け取り、これに応答してM個のワードを出力するコンピュータにおいて、正しいM個のワードの出力を保証する装置であって、
    前記キャッシュ中の、前記バンクのうちの1つのライン内に保持されたターゲット・ワードの第1のアドレスを受け取る手段と、
    前記ターゲット・ワードの前記アドレスを受け取るとともに、そのターゲット・ワードを保持するラインの終わりにあるワードの後に続く少なくとも1つの他のワードを保持するラインを含むのはN個のバンクのうちのどれかを示す第1の情報を受け取る手段と、
    前記ターゲット・ワードが前記ラインの終わりのM−1個のワード内にあるときに、前記ターゲット・ワードを含むバンクからの前記ターゲット・ワードと前記第1の情報が示すバンクからの少なくとも1つの他のワードとを含むM個のワードを前記キャッシュから出力する手段とを備えることを特徴とする装置。
  4. さらに、前記第1の情報が有効であるかどうかを示す第2の情報を受け取る手段を備えることを特徴とする請求項3に記載の装置。
JP32119696A 1995-11-17 1996-11-18 命令取り出し方法および装置 Expired - Lifetime JP3718302B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/559,972 US6098150A (en) 1995-11-17 1995-11-17 Method and apparatus for fetching information from a cache memory
US08/559972 1995-11-17

Publications (2)

Publication Number Publication Date
JPH09288578A JPH09288578A (ja) 1997-11-04
JP3718302B2 true JP3718302B2 (ja) 2005-11-24

Family

ID=24235832

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32119696A Expired - Lifetime JP3718302B2 (ja) 1995-11-17 1996-11-18 命令取り出し方法および装置

Country Status (3)

Country Link
US (1) US6098150A (ja)
JP (1) JP3718302B2 (ja)
KR (1) KR100423276B1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6564311B2 (en) * 1999-01-19 2003-05-13 Matsushita Electric Industrial Co., Ltd. Apparatus for translation between virtual and physical addresses using a virtual page number, a physical page number, a process identifier and a global bit
US6715035B1 (en) * 2000-02-17 2004-03-30 International Business Machines Corporation Cache for processing data in a memory controller and a method of use thereof to reduce first transfer latency
US7089360B1 (en) 2000-03-22 2006-08-08 Intel Corporation Shared cache wordline decoder for redundant and regular addresses
US6507531B1 (en) 2000-03-29 2003-01-14 Intel Corporation Cache column multiplexing using redundant form addresses
US7386671B2 (en) * 2000-06-09 2008-06-10 Texas Instruments Incorporated Smart cache
US6385071B1 (en) 2001-05-21 2002-05-07 International Business Machines Corporation Redundant scheme for CAMRAM memory array
US6707752B2 (en) 2001-06-22 2004-03-16 Intel Corporation Tag design for cache access with redundant-form address
US20030188105A1 (en) * 2002-01-23 2003-10-02 Arm Limited Management of caches in a data processing apparatus
CA2540213C (en) * 2003-10-11 2013-02-12 Spans Logic Inc. Memory and power efficient mechanism for fast table lookup
US7747599B1 (en) 2004-07-23 2010-06-29 Netlogic Microsystems, Inc. Integrated search engine devices that utilize hierarchical memories containing b-trees and span prefix masks to support longest prefix match search operations
US7725450B1 (en) 2004-07-23 2010-05-25 Netlogic Microsystems, Inc. Integrated search engine devices having pipelined search and tree maintenance sub-engines therein that maintain search coherence during multi-cycle update operations
US7653619B1 (en) 2004-07-23 2010-01-26 Netlogic Microsystems, Inc. Integrated search engine devices having pipelined search and tree maintenance sub-engines therein that support variable tree height
US8886677B1 (en) 2004-07-23 2014-11-11 Netlogic Microsystems, Inc. Integrated search engine devices that support LPM search operations using span prefix masks that encode key prefix length
US7603346B1 (en) 2004-07-23 2009-10-13 Netlogic Microsystems, Inc. Integrated search engine devices having pipelined search and b-tree maintenance sub-engines therein
KR100680366B1 (ko) * 2005-10-17 2007-02-08 현대자동차주식회사 차량의 리어언더뷰미러 시스템
EP1821571A1 (en) * 2006-02-15 2007-08-22 Oticon A/S Loop antenna for in the ear audio device
US7697518B1 (en) 2006-09-15 2010-04-13 Netlogic Microsystems, Inc. Integrated search engine devices and methods of updating same using node splitting and merging operations
US7831626B1 (en) 2006-11-27 2010-11-09 Netlogic Microsystems, Inc. Integrated search engine devices having a plurality of multi-way trees of search keys therein that share a common root node
US8086641B1 (en) 2006-11-27 2011-12-27 Netlogic Microsystems, Inc. Integrated search engine devices that utilize SPM-linked bit maps to reduce handle memory duplication and methods of operating same
US7953721B1 (en) 2006-11-27 2011-05-31 Netlogic Microsystems, Inc. Integrated search engine devices that support database key dumping and methods of operating same
US7987205B1 (en) 2006-11-27 2011-07-26 Netlogic Microsystems, Inc. Integrated search engine devices having pipelined node maintenance sub-engines therein that support database flush operations
US8495272B2 (en) * 2006-11-29 2013-07-23 International Business Machines Corporation Method to save bus switching power and reduce noise in an engineered bus
US7886176B1 (en) 2007-09-24 2011-02-08 Integrated Device Technology, Inc. DDR memory system for measuring a clock signal by identifying a delay value corresponding to a changed logic state during clock signal transitions
US7716204B1 (en) 2007-12-21 2010-05-11 Netlogic Microsystems, Inc. Handle allocation managers and methods for integated circuit search engine devices
US7801877B1 (en) 2008-04-14 2010-09-21 Netlogic Microsystems, Inc. Handle memory access managers and methods for integrated circuit search engine devices
US8438330B2 (en) 2010-05-17 2013-05-07 Netlogic Microsystems, Inc. Updating cam arrays using prefix length distribution prediction
KR102447471B1 (ko) 2015-06-24 2022-09-27 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 스토리지 장치

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5197146A (en) * 1989-06-21 1993-03-23 Hewlett-Packard Company Method for maintaining cache coherence in a multiprocessor computer system
CA2045788A1 (en) * 1990-06-29 1991-12-30 Kadangode K. Ramakrishnan Cache arrangement for file system in digital data processing system
US5412787A (en) * 1990-11-21 1995-05-02 Hewlett-Packard Company Two-level TLB having the second level TLB implemented in cache tag RAMs
GB2255211B (en) * 1991-04-25 1995-05-17 Intel Corp LRU pointer updating in a controller for two-way set associative cache
US5367659A (en) * 1991-09-30 1994-11-22 Intel Corporation Tag initialization in a controller for two-way set associative cache
US5509131A (en) * 1991-10-22 1996-04-16 Unisys Corporation System for pointer updating across paged memory
US5285527A (en) * 1991-12-11 1994-02-08 Northern Telecom Limited Predictive historical cache memory
US5367653A (en) * 1991-12-26 1994-11-22 International Business Machines Corporation Reconfigurable multi-way associative cache memory
WO1993017385A1 (en) * 1992-02-27 1993-09-02 Intel Corporation Dynamic flow instruction cache memory
US5418922A (en) * 1992-04-30 1995-05-23 International Business Machines Corporation History table for set prediction for accessing a set associative cache
US5450561A (en) * 1992-07-29 1995-09-12 Bull Hn Information Systems Inc. Cache miss prediction method and apparatus for use with a paged main memory in a data processing system
US5493667A (en) * 1993-02-09 1996-02-20 Intel Corporation Apparatus and method for an instruction cache locking scheme
US5588128A (en) * 1993-04-02 1996-12-24 Vlsi Technology, Inc. Dynamic direction look ahead read buffer
US5537573A (en) * 1993-05-28 1996-07-16 Rambus, Inc. Cache system and method for prefetching of data
US5689672A (en) * 1993-10-29 1997-11-18 Advanced Micro Devices, Inc. Pre-decoded instruction cache and method therefor particularly suitable for variable byte-length instructions
US5717916A (en) * 1994-09-30 1998-02-10 Vlsi Technology, Inc. Method for providing an improved fully associative cache memory having a finite state machine and linked list structure
US5640532A (en) * 1994-10-14 1997-06-17 Compaq Computer Corporation Microprocessor cache memory way prediction based on the way of previous memory read
US5752069A (en) * 1995-08-31 1998-05-12 Advanced Micro Devices, Inc. Superscalar microprocessor employing away prediction structure

Also Published As

Publication number Publication date
KR100423276B1 (ko) 2004-06-18
JPH09288578A (ja) 1997-11-04
US6098150A (en) 2000-08-01
KR970029066A (ko) 1997-06-26

Similar Documents

Publication Publication Date Title
JP3718302B2 (ja) 命令取り出し方法および装置
US6047357A (en) High speed method for maintaining cache coherency in a multi-level, set associative cache hierarchy
US5586283A (en) Method and apparatus for the reduction of tablewalk latencies in a translation look aside buffer
US6772316B2 (en) Method and apparatus for updating and invalidating store data
EP0695996B1 (en) Multi-level cache system
USRE45078E1 (en) Highly efficient design of storage array utilizing multiple pointers to indicate valid and invalid lines for use in first and second cache spaces and memory subsystems
US8041894B2 (en) Method and system for a multi-level virtual/real cache system with synonym resolution
EP0674267B1 (en) Sub-line cache coherent write transactions
US5003459A (en) Cache memory system
US5440707A (en) Instruction and data cache with a shared TLB for split accesses and snooping in the same clock cycle
JP3666689B2 (ja) 仮想アドレス変換方法
US4825412A (en) Lockout registers
JP2005528695A (ja) キャッシュ置換ポリシーの簡略化した実施態様を用いたマルチスレッド化キャッシュのための方法および装置
KR930022222A (ko) 캐시가 일관된 다중 처리기 컴퓨터 시스템에서 다중 미결동작을 제공하기 위한 장치 및 그 방법
JPH07295886A (ja) 階層メモリ、階層メモリを有するコンピュータ・システムおよび階層メモリ管理方法
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
US6591341B1 (en) Multilevel cache system and method having a merged tag array to store tags for multiple data arrays
US5802567A (en) Mechanism for managing offset and aliasing conditions within a content-addressable memory-based cache memory
JP3929872B2 (ja) キャッシュメモリ、プロセッサ及びキャッシュ制御方法
US6510506B2 (en) Error detection in cache tag array using valid vector
US5603008A (en) Computer system having cache memories with independently validated keys in the TLB
EP0173909B1 (en) Look-aside buffer least recently used marker controller
US5619673A (en) Virtual access cache protection bits handling method and apparatus
JPH1055276A (ja) 多重レベル分岐予測方法および装置
US6134699A (en) Method and apparatus for detecting virtual address parity error for a translation lookaside buffer

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050419

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050719

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050809

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050902

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080909

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090909

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100909

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100909

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110909

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120909

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130909

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term