JP2006529034A - 置換に利用可能なキャッシュウェイを選択する方法と装置 - Google Patents

置換に利用可能なキャッシュウェイを選択する方法と装置 Download PDF

Info

Publication number
JP2006529034A
JP2006529034A JP2006521113A JP2006521113A JP2006529034A JP 2006529034 A JP2006529034 A JP 2006529034A JP 2006521113 A JP2006521113 A JP 2006521113A JP 2006521113 A JP2006521113 A JP 2006521113A JP 2006529034 A JP2006529034 A JP 2006529034A
Authority
JP
Japan
Prior art keywords
rule set
cache
access address
address
replacement
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
JP2006521113A
Other languages
English (en)
Other versions
JP4210698B2 (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.)
NXP USA Inc
Original Assignee
NXP USA 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 NXP USA Inc filed Critical NXP USA Inc
Publication of JP2006529034A publication Critical patent/JP2006529034A/ja
Application granted granted Critical
Publication of JP4210698B2 publication Critical patent/JP4210698B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • 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/12Replacement control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

マルチウェイキャッシュにおいて、置換に利用可能なN個のウェイを選択する方法において、複数のルールセット(102,108)が与えられ、これら複数のルールセットのそれぞれがキャッシュにおいて置換に利用可能であるN個のウェイを特定するものである(なお、Nは0以上である)。この方法においては、さらにアクセスアドレスを受信し、複数のルールセットのうち1つを選択するために少なくともこのアクセスアドレスの一部を使用する。複数のルールセットのうち選択された1つ(110)は、置換に利用可能であるキャッシュにおいてN個のウェイを選択するために用いられる。一実施例では、ルールセットを選択するためにアクセスアドレス(40)の高次ビットを使用する。別の実施例においては、ルールセットを選択するために少なくともアクセスアドレスの一部とルールセットセレクタ制御レジスタが用いられる。さらに別の実施例においては、ルールセットを選択するためにアクセスアドレスとアドレス範囲コンパレータが用いられる。

Description

本発明はデータ処理システムに関し、より具体的にはデータ処理システムにおける選択可能なキャッシュ置換の方策に関する。
データ処理システムにおいて、例えば携帯機器やハンドヘルド機器の広範囲な使用に伴い、消費電力の低減は重要度を増しつつある。今日では多くのデータ処理システムには、(メインメモリや他の内部又は外部メモリなどの)メモリへのアクセス回数を低減するために、集積回路上に配置されたキャッシュとも称されるより小さく、より速く、より効率的なメモリが用いられる。キャッシュへのアクセスの場合、一般的には消費電力が少なくて済むため、他の内部又は外部メモリに対するアクセスと比べて待ち時間が短くなる。従って、消費電力を低減し性能を上げるためには、その後再度要求されるような項目についてはより早くより効率的なキャッシュに記憶させることが望ましい。
再利用の度合いが低い情報がキャッシュに残っていた場合、これが再利用の度合いが高い情報を置換した場合にキャッシュ汚染が発生する。すなわち一般的には、(例えば複数回再要求されるなど)再度要求される可能性が高いため、より再利用の度合いが高い情報がキャッシュに残るべきである。例えば、ある種の情報は他の情報に比べてその寿命が短く、このような寿命の短い情報によるキャッシュ汚染は、消費電力を増加させ、また、その寿命の短い情報によって置き換えられた後には、遅くより効率的でない内部又は外部メモリから寿命の長い情報を再取得する必要があるため、キャッシュの性能を低下させる。しかしながら、キャッシュ内の再利用によってこれら短い寿命の情報も利益を享受できるようにすることが好ましい。従って、消費電力とキャッシュの性能との向上を得るために、キャッシュ汚染を低減した、改善されたキャッシュが望まれている。
本発明の一例を添付図面に示すが、本発明は図示したものに限定されない。図面において同様の符号は同様の要素を示す。当業者であれば、図面における要素はいずれも簡素化及び明確さを目的として図示されており、必ずしも実物大ではないことが理解できる。例えば、図面におけるいくつかの要素の寸法は、本発明の実施例の理解を深めることを目的として他の要素に対して強調されている。
本明細書において、「バス」という用語は、例えばデータ、アドレス、制御あるいは状態などの1種以上の情報を伝達するために使用される複数の信号やコンダクタを指すのに用いられる。本明細書において述べられるコンダクタとは、単一のコンダクタ、複数のコンダクタ、一方向性コンダクタあるいは双方向コンダクタに関連して図示あるいは説明される。しかしながら、異なる実施例においてはコンダクタの実施が異なる。例えば、一方向性コンダクタに代えて双方向コンダクタを使用することも、逆であることも可能である。また、複数のコンダクタに代えて複数の信号を直列的にあるいは時分割式に伝達する単一のコンダクタを用いてもよい。同様に、複数の信号を伝搬する単一のコンダクタをこれら信号のサブセットを伝搬する複数の異なるコンダクタへと分割することも可能である。従って、信号伝達に関しては多くのオプションが存在する。
一般に、キャッシュの性能と消費電力はキャッシュ汚染を低減することによって改善される。前述のように、キャッシュに残っていた場合、再利用の度合いがより低い情報が再利用の度合いのより高い情報を置換する場合にキャッシュ汚染が発生する。本発明の一実施例では、異なる種類の情報をキャッシュへ配置するのを制御することによってキャッシュ汚染が低減される。例えば、異なる種類の情報は、異なる寿命を有する。例えば、マルチメディア、グラフィックス又はストリーミングデータなどの一時データに比べて指令やスタックまたはヒープデータは一般的にその寿命が長い。他の種類の情報であってもその寿命が異なる。寿命の長い情報は、一般的に同じ情報が再び要求される可能性が高いという点においてその再利用の可能性が高い。従って、要求された時点においてその情報が既にキャッシュにあると効率を上げることが可能である。しかしながら、より短い寿命の情報がより長い寿命の情報を連続的に置換する場合、より長い寿命の情報がその後要求された場合にその情報が既にキャッシュ内にない可能性が高くなり、再度遅い、より効率の悪いメモリから要求された情報を取得しなければならない。しかしながら、中短期の寿命を有する情報もこの再利用の利益を享受することが可能であることが好ましい。従って、後述するように、本発明の異なる実施例では、キャッシュ内への情報の配置をプログラム可能にフレキシブルに制御してキャッシュ性能を改善し、システムの消費電力を低減することが可能となる。
図1には、データ処理システム10の一実施例が示されている。データ処理システム10は集積回路12と外部メモリ14とを含む。集積回路12は、プロセッサ16、キャッシュメモリ18、バスインターフェイス22及び他のモジュール20を含む。また集積回路12はバス24とバス26とを含む。バス24によってプロセッサ16、キャッシュメモリ18、バスインターフェイス22及び他のモジュール20が連結されている。バス26は、バスインターフェイス22を外部メモリ14と連結する。ある特定の典型的なデータ処理システム10の実施例について説明するが、このような処理システムのさまざまな構造や別の実施例を用いることが可能であることが意図される。
例えば、キャッシュ18は集積回路12の一部として示されているが、キャッシュ18は集積回路12の外部、例えば外部メモリ14などの中に設けられてもよい。また、集積回路12は、例えばマルチプロセッサデータ処理システムなどにおいて任意の数のプロセッサを含むものであってもよく、他のモジュール20が例えば他のマスター、スレーブあるいはメモリなどの他の周辺機器を含むものであってもよい。集積回路12は、集積回路12の異なる部分が異なる集積回路上に配置されるように任意の数の集積回路を含むものであってもよいし、集積回路12は単一集積回路であってもよい。また、外部メモリ14は集積回路12と同じ集積回路上に配置されていても別の集積回路上に配置されていてもよい。データ処理システム10については、以下に図2乃至5を参照して説明される本発明の実施例を理解するために必要な程度にのみ説明する。残りの機能性については本技術分野において知られており、本技術分野において公知のさまざまな様式に変更可能である。
図2には、キャッシュ18の一部に関する特定の実施例が示されている。キャッシュ18のこの部分はレジスタ62、マルチプルウェイ用タグメモリアレイ42乃至48、マルチプルウェイ用データメモリアレイ50乃至56、及びキャッシュ制御回路58を含む。アクセスアドレス40はバス24のアドレス部から受信されてタグ値部64、インデックス部66及びワード選択部68を含む。例えば読み取りアクセスにおいて、アクセスアドレス40は要求された情報(例えばデータあるいは指令)のアドレスに対応する。図示された実施例では、受信されたアクセスアドレス40は、レジスタ62内に記憶される。アクセスアドレス40のタグ部64は、マルチプルウェイタグアレイ42乃至48に供給されるタグ値データを含む。インデックス部66からのデータは、マルチプルウェイタグアレイ42乃至48とマルチプルウェイデータアレイ50乃至56との両方に供給されてタグ及びデータアレイに対してインデックスを付与するために用いられる。例えば、一実施例では、インデックス部66は各ウェイのタグとデータ部内における所定の数のセットのうちの一つを選択するためのセット標識を有する。ワード選択部68からのデータはマルチプルウェイデータアレイ50乃至56に供給されて、データアレイ、例えばデータアレイ(ウェイ0)50、内のデータがインデックス部66とワード選択部68の両方によって示される。すなわち、インデックス部66はデータアレイ(ウェイ0)50の1つのエントリーを識別し、その後ワード選択68がそのエントリーの一部分を識別する。マルチプルウェイデータアレイは、バス24の双方向データ部にも連結されて、バス24にデータを供給し、バス24からデータを受信する。
各タグアレイは、例えばタグアレイ(ウェイ0)42の場合、タグ値64とインデックス値66に対応して配置されたタグアレイ(ウェイ0)42内のデータとの比較に基づいて、例えばデータアレイ(ウェイ0)50などの対応するデータアレイにヒット信号を供給する。例えば、作動中に、タグ部64は、ヒット信号72を生成するために、インデックス部66を介してタグアレイ(ウェイ0)42から読み出された値と比較される。比較された値同士がマッチする場合、ヒット信号72はヒットを示すためにアサ―トされる。データアレイ(ウェイ0)50は、複数のデータブロックを含んでおり、インデックス値66とワード選択値68の両方によってアドレス付けられ、ヒットに対してアドレスされたデータアイテムがデータアレイ(ウェイ0)50からバス24のデータ部へと出力される。しかしながら、もし比較された値同士がマッチしない場合、ヒット信号72はアサートされずにキャッシュ18のそのウェイにおけるミスを示す。タグ値64とタグアレイ42乃至48のうち任意のタグとの間にマッチが成立しない場合、ヒット信号72乃至78のうちいずれもがアサートされず、これはアクセスアドレス40のキャッシュ18におけるミスを示す。
図2においてはキャッシュ18の一部の一例のみが示されている。しかしながら、別の実施例では、所望の機能性を得るためにレジスタ62、タグアレイ42乃至48及びデータアレイ50乃至56は、従来技術において公知である多くの異なる方法において使用してもよい。
以下に説明するように、キャッシュ制御回路58は、少なくともアクセスアドレス40の一部を受信し、現在のアクセスに対応する選択されたルールセットを決定する。選択されたルールセットは、0からN個のウェイのうちのどのウェイが置換に利用可能であるかを示す(もしあれば)。本発明の一実施例では、各ルールセットはキャッシュにおける各ウェイのための単一制御ビットであって、そのルールセットが選択された場合にはその特定のウェイが置換の候補となるかどうかを示す単一制御ビットを備える。他の実施例では、与えられたルールセットに関して、与えられたウェイが置換の候補として考えられるか否かを示すのに別の方法を用いることが可能である。
操作の一例では、装置からの読み取りアクセス要求に応答して、要求された情報のアドレスはアクセスアドレス40としてキャッシュ18に供給される。アクセスアドレス40のタグ値64がタグアレイ42,44,46及び48内においていずれともマッチしない場合、前述したミスが生じる。ミスが生じた場合、要求された情報は例えば外部メモリ14又は他の(内部又は外部の)メモリから取得されてキャッシュ内に記憶され、読み取られた要求に応答して、前記要求をした装置に供給される。一実施例では、キャッシュ制御回路58は、少なくともアクセスアドレス40の一部に基づいてルールセットを選択し、この選択されたルールセットを適用して取得情報の受信と記憶に利用可能なウェイを決定し、選択されたルールセットによって示された、取得情報を記憶すべき利用可能なウェイを選択し、選択されたウェイに現在存在する情報のうち、どの情報が取得された情報によって置換されるべきかを決定する。従って、キャッシュ制御回路は書き込み許可89を通信路70を介してデータアレイ50乃至56に供給して、選択されたウェイの更新を可能とする。キャッシュ制御回路58は通信路61を介してタグアレイ42乃至48ともつながっており、選択された対応するデータアレイに書き込みが行われる場合に必要に応じてタグアレイの更新を制御する。この機能性は本技術分野で知られているため、以下の説明はデータアレイ50乃至56の更新に焦点を合わせ、タグアレイ42乃至48の適切な対応する更新についての更なる説明はしない。キャッシュ制御回路58は、バス24のデータ、アドレス及び制御の各部にも双方的に連結されている。キャッシュ制御回路58は、公知の他の多くの機能を実施することが可能であってもよく、従って、図3乃至5の実施例に適用されるキャッシュ制御回路58の部分のみを以下に説明する。
図3には図2のキャッシュ制御回路58の一部分の一実施例が示されている。図3の実施例は、キャッシュウェイ制御レジスタ100及び置換制御回路112を含むルールセット選択回路113を含む。ルールセット選択回路113は、バス24のアドレス部からアクセスアドレス40の高次ビットを受信して、高次ビットを使用してルールセット102,104,106及び108のうち1つを選択されたルールセット110として選択する。選択されたルールセット110は、書き込み許可89を出力する置換制御回路に供給される。図示された実施例では、アクセスアドレス40の2つの高次ビットは4つの可能なルールセット(102乃至108)のうち1つを選択するのに用いられる。しかしながら、別の実施例では、より少数のあるいはより多数の可能なルールセットからの選択のために任意の数の高次ビットを使用することができる。例えば、アクセスアドレス40の3つの高次ビットを8つの(あるいはそれ以下の)可能なルールセットからの選択のために用いてもよい。一実施例では、ルールセットの選択に使用されるアクセスアドレス40の高次ビットは、本来キャッシュ18及びデータ処理システム10において使用されないアドレスビットである。従って、本来使用されないため、(アクセスアドレス40の残りのビットによって特定される)特定のアクセスアドレスに対して望まれるルールセットに応じて選択するように設定してもよい。例えば、主に一時データに対応するアドレスは、キャッシュ18のうち特定のウェイのみが一時データを記憶するようにキャッシュ18の特定のウェイに対して割り当てられてもよい。この例では、一時データ用のアドレスの高次ビットは、例えば10などの値に設定されることによって、この特定の種類の一時データのために利用可能なウェイを認識するルールセット106を選択する。同様に、指令あるいは他の長寿命の情報に対応するアドレスの高次ビットは、例えば00などの値に設定されることによって、この特定の種類の長寿命の情報のために利用可能なウェイを認識するルールセット102を選択する。
別の実施例では、適切なルールセットを選択するために高次ビット以外にも(例えば本来は使用されないビットなど)その他のビットがアクセスアドレス内に存在することがある。すなわち、別の実施例では、ルールセット選択回路113は、ルールセットを選択するためにアクセスアドレス40の別の部分を受信することができる。また、図3の実施例において、使用されてないアドレスビットあるいはラインを有する既存のデータ処理システムデザインは、最小限の追加回路とともに上述のキャッシュ制御回路58の部分に簡単に後付けすることができる。
図3に示されていないが、適切なルールセットを選択するためにキャッシュウェイ制御レジスタ100に選択信号を供給するのにアクセスアドレス40の高次ビットを復号するためのデコーダを使用してもよい。従って、N個のエントリーのうちの1つを選択するのに複数のアドレスビットを使用することを可能にする種々の方法に従うルールセット選択回路113を使用してもよいことが当業者であれば理解できる。
図4には、本発明の一実施例によるルールセット102の一例が図示されている。図示した実施例では、ルールセット102は、キャッシュ18の各ウェイ(0乃至N)につき1つの置換許可フィールドを含む。例えば、ルールセット102は、ウェイ0置換許可114、ウェイ1置換許可116及びウェイN置換許可118を含む。一実施例では、例えばルールセット102などの各ルールセットは、ルールセット内における各ビットをユーザがプログラム可能になるように、ユーザプログラム可能なレジスタに記憶される。ルールセット102における各置換許可フィールドは、対応するウェイが置換に利用可能か否かを示す。すなわち、各置換許可フィールドは、ミスとなったアクセス要求に応じてメモリから取得された情報を記憶するために対応するウェイが利用可能であるかを示す。例えば、上記段落で説明した例のように、ルールセット102を用いて長寿命の情報を記憶するアドレスに対応づけてもよい。この例では、ユーザはこの種の長寿命の情報の使用のためにウェイ0乃至5を割り当てることを希望することがあり、ユーザはルールセット102にウェイ0乃至5のための置換許可フィールドをアサートしてもよい。別の実施例では、ルールセット102を用いてシステム内において最も短寿命の情報を記憶するアドレスに対応づけてもよい。すなわちユーザがこの種の情報の使用のために0乃至N個のウェイのうちの1つのみを割り当てる。こうして(例えばルールセット102などの)ルールセットを用いてキャッシュ汚染を増加させる可能性が最も高い類の情報に対して特定の数のウェイのみを割り当てることによってキャッシュ汚染を低減する。なお、一実施例では、ルールセット102の各置換許可フィールドは、そのウェイが許可されているか否かを示す単一のビットである。別の実施例では、特定のウェイが置換不可能であることをアサートされたビットが示すことが可能である。また、より多くのあるいはより少ないビットを用いることが可能であり、特定のウェイのフィールドを組み合わせたり、別々に符号化してもよい。
再度図3を参照するに、キャッシュウェイ制御レジスタ100は一実施例では複数のレジスタを有し、そのうち1つが各ルールセット102乃至108を記憶する。ここで各ルールセットは(図4との関連において上述したとおり)ルールセット102として使用されてもよい。あるいはキャッシュウェイ制御レジスタ100は、例えば所望の実施のために要するルールセットの数とサイズなどによって必要に応じてより多くのあるいはより少ないレジスタを含むことが可能である。また別の実施例では、これらはレジスタとして使用されるのではなく、他の内部あるいは外部メモリにおいて設けられていてもよい。一実施例では、レジスタはユーザに対する柔軟性を有するようにユーザによってプログラム可能であり、ユーザが利用可能なルールセットをいかにして用い、異なる種類の情報に対してキャッシュ18の異なるウェイをいかに割り当てるかを決定することができる。一旦アクセスアドレス40の高次ビットによって特定のルールセットが選択された場合、これが選択されたルールセット110として置換制御回路112に与えられる。
置換制御回路112は、選択されたルールセット110に基づいて、キャッシュのミスに応じて取得された情報を記憶するためにどのウェイを選択すべきかを決定する。例えば、(ルールセット102乃至108に対応する)選択されたルールセット110は1つ以上のウェイが置換のために利用可能であることを示し、よって、置換制御回路112は選択されたルールセット110に基づいてどのウェイが利用可能であるかを決定し、その後利用可能なウェイのうちどれを今回の置換に用いるのかを決定することができる。一実施例では、置換制御回路112を用いてウェイを選択するのにラウンドロビン方法や最低使用頻度方法を用いることができる。他の多くの公知である方法を用いて置換において利用可能なウェイから一つのウェイを選択することが可能である。更に、一旦置換用のウェイが選択された場合、置換制御回路112が(例えばラウンドロビン方法や最低使用頻度方法などの)公知である多くの方法を用いて置換状態情報を変更することが可能である。一旦ウェイが選択された場合、置換制御回路112はデータアレイ50乃至56の選択されたウェイに対して許可を与えるために書き込み許可89を与えることができる。一実施例では、書き込み許可89は、1つの書き込み許可信号をキャッシュ18の各ウェイに供給する。例えば、キャッシュ18が(例えば0から7の)8つのウェイを含む場合、書き込み許可89は、各ウェイに対して1つ、よって8つの許可信号を含むことになる。あるいは置換制御回路112(又は他の制御回路)が書き込み許可89を与えるために書き込み許可信号を符号化することが可能である。例えば、キャッシュ18が8つのウェイを含む場合、8つのウェイのうち1つを選択するために3ビットの書き込み許可89を用いることが可能である。キャッシュ制御回路58もまた置換を実施するために必要に応じてタグアレイ42乃至48にアクセスすることが可能である。なお、別の実施例では、選択されたルールセットが置換のためにいかなるウェイをも許可しない場合も置換制御回路112が利用可能なウェイのうちいずれのウェイをも選択しない場合もある。
図5においてキャッシュ制御回路58の部分の別の実施例を示している。図5の実施例では、ユーザはアクセスアドレス40の任意の(連続的又は非連続である)サブセットに基づいてプログラム可能なルールセットを選択することが可能である。キャッシュ制御回路58の部分は、アドレスラインセレクタ120、アドレスライン選択レジスタ124、ルールセットセレクタ制御レジスタ126、キャッシュウェイ制御レジスタ100及び置換制御回路112を含むルールセット選択回路136を含む。アドレスラインセレクタ120は、アドレスライン選択レジスタ124に基づいてアクセスアドレス40の部分を選択し、選択したアドレスラインのデータをインデックスとしてルールセットセレクタ制御レジスタ126に供給する。一実施例では、ユーザによってプログラム可能なレジスタであるルールセットセレクタ制御レジスタ126は、ルールセット標識134をキャッシュウェイ制御レジスタ100に供給してルールセット102乃至108のうち1つを表示する。その後選択されたルールセットは、選択されたルールセット110として置換制御回路112へと与えられ、その後書き込み許可89を与える。従って、ルールセット選択回路136がアクセスアドレス40(又は少なくともアクセスアドレス40のうち一部)を受信して選択されたルールセット110を与える。なお、ルールセット102乃至108、選択されたルールセット110、置換回路112及び書き込み許可89を含むキャッシュウェイ制御レジスタ100は、図3及び4との関連において説明した方法で作動するため、図5の実施例に関連しては再度説明しない。
一実施例では、アドレスライン選択レジスタ124は、ユーザがルールセットを選択するためにアクセスアドレス40のうちどのライン(又はビット)を使用すべきかを表示することのできる、ユーザプログラム可能レジスタである。アドレスライン選択レジスタ124に基づいてアドレスラインセレクタ120は、(アクセスアドレス40の選択されたビット又はラインから)表示されたアドレス値をインデックス122としてルールセットセレクタ制御レジスタ126に供給する。例えば、一実施例では、アドレスライン選択レジスタ124は、アクセスアドレス40の各アドレスビットに対して1つのビットを有することが可能であり、レジスタ124のビットがアサートされた場合には、アクセスアドレス40の対応するアドレスビットがインデックス122の一部として用いられる。他の実施例においてアドレスライン選択レジスタ124の別のフォーマットを用いてユーザがアクセスアドレス40のサブセット(あるいは全てを)インデックス122として選択することが可能となる。一実施例では、インデックス122は、ルールセットセレクタ制御レジスタ126の各エントリーを区別するために必要な最低限の数のビットを含む。例えば、ルールセットセレクタ制御レジスタ126が4つ以下のエントリーしか含まない場合、各エントリーをアドレスするためにはアクセスアドレス40の(連続的又は非連続な)2つのビットのみが必要となる(よって2ビットインデックス122となる)。しかしながら、ルールセットセレクタ制御レジスタ126が8つのエントリーを含む場合、アクセスアドレス40の少なくとも3つのラインが必要とされる(よって少なくとも3ビットインデックス122となる)。また、インデックス122は、アクセスアドレス40の選択されたビットからさまざまな方法によって導き出すことが可能である。一実施例では、インデックス122は、アクセスアドレス40の選択されたビット又はラインの単なる連結であってもよい。また別の実施例では、選択されたビットに基づいてインデックス122を得るためのデコーダあるいは他の回路を用いることができる。
ルールセットセレクタ制御レジスタ126内における(例えばエントリー128,130及び132などの)各エントリーは、どのルールセットを選択すべきという標識を与える。例えば、図示された実施例では、インデックス122がエントリー130を選択した場合、「11」の値がルールセット108を選択するルールセット標識134としてとして与えられる。従って、図示された実施例では、「00」の値がルールセット102を、「01」の値がルールセット104、「10」の値がルールセット106を、「11」の値がルールセット108を表す。図示された実施例では、ルールセットセレクタ制御レジスタ126は、ルールセット102を表すエントリー128と、ルールセット108を表すエントリー130と、ルールセット106を表すエントリー132を含む。図5において図示される実施例においてキャッシュウェイ制御レジスタ100が4つの可能性のあるルールセットを含むため、ルールセットセレクタ制御レジスタ126の各エントリーは4つのルールセット間で選択される2つのビットを含む。ルールセットの数がこれ以上である場合、ルールセットセレクタ制御レジスタ126の各エントリーがより多くのビットを含むことになる。また、ルールセットセレクタ制御レジスタ126の複数のエントリーが同一のルールセットを表す。また、別の実施例ではルールセットを表すためにルールセットセレクタ制御レジスタ126のエントリーのための異なるフォーマットを用いることができる。
別の実施例では、キャッシュウェイ制御レジスタ100は、(ルールセット102乃至108のうちいずれか1つであっても別のルールセットであってもよい)デフォルトルールセットを含むことができ、インデックス122がレジスタ126のインデックスに対応しない場合、デフォルトのルールセットが選択されたルールセット110として与えられてもよい。例えば、インデックス122が2ビット値であるが、ルールセットセレクタ制御レジスタ126には3つのエントリーしかない場合、インデックス122の値のうち1つがデフォルトのルールセットに対応してもよい。同様に、別の例では、インデックス122は3ビット値であるが、ルールセットセレクタ制御レジスタ126に6つのエントリーしかない場合、インデックス122の値のうち1つ又は2つはデフォルトのルールセットに対応してもよい。
従って、図5の実施例において、アクセスアドレス40の全てあるいは一部を用いてルールセットを選択することが可能であり、ユーザはルールセットセレクタ制御レジスタ126の値をプログラムすることによって要求されたアドレスの与えられたアドレス範囲においてどのルールセットを使用すべきかを柔軟にプログラムすることが可能である。また、アクセスアドレス40の選択されたビットは、連続的なビットであってもそうでなくてもよい。図5は、1つの使用例しか示していないが、例えばルールセット標識134などの、ルールセットを選択するために用いられるルールセット標識を選択するためにアクセスアドレス40の一部を選択する方法は数多くあることが当業者であれば理解できる。
図6にはキャッシュ制御回路58の部分に関する別の実施例が示されている。図6の実施例によれば、ユーザはアクセスアドレス40の全てあるいは一部分に基づいてルールセットを選択することが可能となる。例えば図示された実施例では、ルールセット選択回路138は、アクセスアドレス40(又は少なくともアクセスアドレス40の一部)が含まれる(もしあれば)アドレス範囲によってルールセットを選択する。図6のキャッシュ制御回路58の部分は、アドレス範囲コンパレータ140、デフォルトセレクタ150、キャッシュウェイ制御レジスタ100及び置換制御回路112を有するルールセット選択回路138を含む。アドレス範囲コンパレータ140とデフォルトセレクタ150とは、ルールセット102乃至108あるいはデフォルトルールセット152のうち1つを選択するために用いられる。アクセスアドレス40がアドレスコンパレータ142乃至148のうちいずれか1つによって規定されるアドレス範囲のうち1つの中に含まれる場合、ルールセット102乃至108のうち1つが選択される。しかしながら、アクセスアドレス40がアドレスコンパレータ142乃至148のうちいずれか1つによって規定されるアドレス範囲のうち1つの中に含まれない場合、デフォルトルールセット152が選択される。(なお、一実施例では、デフォルトルールセット152はルールセット102乃至108とは別個の、追加ルールセットであるのに対して、別の実施例においてデフォルトルールセット152はルールセット102乃至108のうちいずれか1つであってもよい。)選択されたルールセットは、その後選択されたルールセット110として置換制御回路112に供給され、これにより書き込み許可89が与えられる。なお、(デフォルトルールセット152を除く)キャッシュウェイ制御レジスタ100、選択されたルールセット110、置換回路112及び書き込み許可89は、図3及び4との関連において説明した方法で作動するため、図6の実施例に関連しては再度説明しない。
アドレス範囲コンパレータ140は、アクセスアドレス40が含まれる(もしあれば)どのアドレス範囲に含まれるのかを決定する。例えば、アドレスコンパレータ142乃至148のそれぞれを用いてアドレス範囲を規定する。一実施例では、アドレスコンパレータ142乃至148のうちそれぞれが対応する範囲の開始アドレスと終了アドレスとを記憶する回路と、その範囲に含まれるか否かを決定するため、アクセスアドレス40とその開始及び終了アドレスとを比較する比較回路とを含む。あるいは、各アドレスコンパレータ142乃至148は(アドレス範囲の開始アドレスを規定する)ベースアドレスと(そのベースアドレスから範囲を規定する)マスク値とを記憶する回路と、その範囲に含まれるか否かを決定するために、マスク値によってマスクされるアクセスアドレス40をマスク値によってマスクされる、基礎としたアドレスに対して比較する比較回路とを有してもよい。従って、各範囲は、対応するルールセットを表す。例えば、図6において図示される実施例では、アクセスアドレス40がアドレスコンパレータ142によって規定されるアドレス範囲内に含まれる場合、ルールセット102が表示される。アクセスアドレス40がアドレスコンパレータ144によって規定されるアドレス範囲内に含まれる場合、ルールセット104が表示される。アクセスアドレス40がアドレスコンパレータ146によって規定されるアドレス範囲内に含まれる場合、ルールセット106が表示される。アクセスアドレス40がアドレスコンパレータ148によって規定されるアドレス範囲内に含まれる場合、ルールセット108が表示される。
アクセスアドレス40がアドレス範囲コンパレータ140によって規定される範囲のいずれにも含まれない場合、デフォルトセレクタ150はデフォルトルールセット152を選択する。例えば、一実施例では、デフォルトセレクタ150は、アドレス範囲コンパレータ140とキャッシュウェイ制御レジスタ100との間に連結された標識のいずれもがアサートされていないかどうか見るために監視し、それに応じてその出力標識をアサートしてデフォルトルールセット152を選択する。デフォルトルールセット152は、例えば図4のルールセット102のように他のルールセットと同様の形と機能とを有してもよい。なお、デフォルトルールセット152は任意である。例えば、アクセスアドレス40がいつもある範囲内にあるように全ての範囲を決めてもよい。なお、他の実施例では、必要に応じて任意の数のアドレス範囲を有することができる。更に、複数のアドレス範囲が同一のルールセットに対応することも可能である。一実施例では、各範囲は重複していない。しかしながら、別の実施例において重複していることも可能である。
従って、アドレス範囲内の情報の種類に応じてキャッシュ18の異なるウェイを許可するためにルールセットを使用することが可能であるように、アドレス範囲は異なる種類の情報を示すようにアドレス範囲コンパレータ140によって設定されてもよい。例えば、ストリーミングデータに関して、ストリーミングデータを記憶するアドレスのアドレス範囲は、アドレスコンパレータ146によって表示されることができるため、アクセスアドレス40がこの範囲内に含まれる場合にはストリーミングデータが表示され、よってこれらストリーミングデータを記憶するために、許可されている(すなわち利用可能な)ウェイを含むルールセット106が選択される。従って、ユーザにはどのアドレス範囲がキャッシュ18のどのウェイに対応させるかを決定する柔軟性が与えられるため、この柔軟性を生かしてキャッシュ性能を向上し、キャッシュ汚染を低減することが可能である。
なお、上述の実施例は、ミスとなった読み取りアクセスに応じてキャッシュ18内において置換に利用可能なウェイを示すためのルールセットを選択する場合に関連して説明された。しかしながら、他の実施例では上述の方法は、さらに別の、例えば先読みなどの、公知であるヒット、ミスあるいは両方に応じて実施されうる他の作業のためにキャッシュ内において置換のために利用可能なウェイを示すためのルールセットを選択するのに使用されてもよい。
従って、(例えばルールセット選択回路113,136,138などの)ルールセット選択回路の異なる使用を用いて少なくともアクセスアドレスの一部に基
づいてルールセットを選択する方法が理解される。各実施例では、キャッシュ性能を向上し、キャッシュ汚染を低減するために、例えば異なるキャッシュウェイを異なる種類の情報に対して割り当てるなどしてルールセットを設計することが可能である。例えば、一実施例では、ユーザは情報の寿命に応じて異なるキャッシュウェイを割り当てることによって短い寿命の情報が長寿命の情報を置換する(あるいは重複置換する)ことがないようにすることが可能である。あるいは、(寿命以外あるいはそれに加えて)情報の異なる特性を用いて異なるキャッシュウェイを割り当てることが可能である。更に、例えばキャッシュウェイ制御レジスタ100、ルールセットセレクタ制御レジスタ126、アドレス範囲コンパレータ140などのルールセット選択回路の部分のプログラム可能性によってユーザは、(キャッシュ18などの)キャッシュを異なる種類のアプリケーションに対して最適化することが可能となる。更に、図5及び6の実施例によって最低限の諸経費でもって必要に応じて任意の数のルールセットとアドレス範囲とを規定することが可能となる。ルールセットは、必要に応じてタスクあるいはスレッドの実施中であってもいつでも再プログラムすることが可能である。更に、最適化は、特別なソフトウェア指令や別途ソフトウェア実施に関わる諸経費を必要とすることなく実施することができる。また、メモリ管理ユニットは、異なるメモリ領域に記憶されている情報の種類に関する知識を必要としない。
本発明を特定の実施例に関連して説明した。しかしながら、特許請求の範囲に記載される本発明の範囲から逸脱することなく、多種の変形や変更が可能であることは当業者にとって理解される。従って、説明及び図面は、限定的な意味合いよりも例示的であるとしてみなされるべきであって、このような全ての変形は、本発明の範囲に含まれるものとされる。
特定の実施例に関連して利点、他の長所あるいは問題に対する解決策を説明した。しかしながら、利点、長所あるいは問題に対する解決策、及び利点、長所あるいは問題に対する解決策をもたすあるいはより顕著にする要素は、重大又は必要でなく、また特許請求の範囲の一部又は全てにおける必要不可欠な特徴又は要素として解釈されるべきでない。「a」や「an」という用語は、本明細書において1つあるいはそれ以上のものを指す。「含む及び/又は有する」という用語は、本明細書において「備える」(すなわちオープンランゲージ)として定義される。本明細書において、「備える」、「備えている」あるいはそのバリエーションである用語は、非排他的な包括を保証するため、羅列された要素を含むプロセス、方法、商品又は装置がこれらの要素だけではなく、明確に羅列されていない、あるいはこれらプロセス、方法、商品又は装置に特有である要素を含むことがある。
本発明の一実施例に従うデータ処理システムを示す概略図である。 本発明の一実施例に従う図1のキャッシュの一部を示す概略図である。 本発明の一実施例に従う図2のキャッシュ制御回路の一部を示す概略図である。 本発明の一実施例に従うキャッシュウェイ制御レジスタの一部を示す概略図である。 本発明の別実施例に従う図2のキャッシュ制御回路の一部を示す概略図である。 本発明の別実施例に従う図2のキャッシュ制御回路の一部を示す概略図である。

Claims (19)

  1. 複数のウェイを有するキャッシュにおいて、置換に利用可能なN個のウェイを選択する方法であって、
    複数のルールセットを用意する工程であって、前記複数のルールセットの各々は前記キャッシュにおいて置換に利用可能なN個のウェイを特定するものであり、Nはゼロ以上の整数である、前記用意する工程と、
    アクセスアドレスを受信する工程と、
    少なくとも前記アクセスアドレスの一部を使用して、前記複数のルールセットから選択された1つのルールセットを選択する工程と、
    前記選択された1つのルールセットを使用して、前記キャッシュにおいて置換に利用可能なN個のウェイを選択する工程とを備える前記方法。
  2. 前記少なくともアクセスアドレスの一部が複数の連続的なアクセスアドレスビットを含む請求項1に記載の方法。
  3. 前記複数のウェイのうちの第1のウェイの置換を許可する第1のプログラム可能なビットを与える工程を更に備える請求項1に記載の方法。
  4. 前記複数のウェイのうちの第2のウェイの置換を許可する第2のプログラム可能なビットを与える工程を更に備える請求項3に記載の方法。
  5. 前記複数のルールセットのうちの第1のルールセットが第1及び第2のプログラム可能なビットを備える請求項4に記載の方法。
  6. 前記複数のウェイのうちの前記第1のウェイの置換を許可する第3のプログラム可能なビットを与える工程と、
    前記複数のウェイのうちの前記第2のウェイの置換を許可する第4のプログラム可能なビットを与える工程とを更に備え、前記複数のルールセットのうちの第2のルールセットは前記第3及び第4のプログラム可能なビットを備える請求項5に記載の方法。
  7. 前記少なくともアクセスアドレスの一部は複数のビットを備え、前記複数のビットが前記アクセスアドレスの最高次ビットを備える請求項1に記載の方法。
  8. 前記少なくともアクセスアドレスの一部は前記キャッシュにおいて別の用途をもたない請求項1に記載の方法。
  9. 前記アクセスアドレスの複数のビットを選択して前記アクセスアドレスのうち少なくとも一部として使用する工程を更に備える請求項1に記載の方法。
  10. 前記少なくとも前記アクセスアドレスの一部を復号する工程を更に備える、当該複合する工程は、前記少なくとも前記アクセスアドレスの一部を使用して、前記複数のルールセットから選択された1つのルールセットを選択する工程に先だって行われる請求項1に記載の方法。
  11. 前記少なくともアクセスアドレスの一部を受信し、前記複数のルールセットのうち少なくとも一つを選択するためのルールセット標識を与えるルールセット選択制御レジスタを設ける工程を更に備える請求項1に記載の方法。
  12. 前記複数のルールセットのうちの第1のルールセットに対応する第1のアドレス範囲を用意する工程と、
    前記アクセスアドレスが前記第1のアドレス範囲内にあるか否かを決定する工程とを更に備える請求項1に記載の方法。
  13. 前記複数のルールセットのうちの第2のルールセットに対応する第2のアドレス範囲を用意する工程と、
    前記アクセスアドレスが前記第2のアドレス範囲内にあるか否かを決定する工程とを更に備える請求項12に記載の方法。
  14. 前記アクセスアドレスが、前記第1のアドレス範囲内になく、かつ、前記第2のアドレス範囲内にない場合、前記複数のルールセットからデフォルトルールセットを使用する工程を更に備える請求項13に記載の方法。
  15. 前記キャッシュは集積回路の一部として形成される請求項1に記載の方法。
  16. 複数のウェイを有するキャッシュを備えた集積回路であって、前記キャッシュが、
    複数のルールセットを記憶するルールセット記憶回路を備えたルールセット選択回路であって、前記複数のルールセットの各々が前記キャッシュにおいて置換に利用可能なN個のウェイを特定するものであり、Nは0以上の整数であり、少なくともアクセスアドレスの一部を使用して少なくとも1つの選択されたルールセット信号を用意する前記ルールセット選択回路と、
    前記ルールセット選択回路に連結され、前記少なくとも1つの選択されたルールセット信号を受信する置換制御回路とを備え、前記置換制御回路は前記少なくとも1つの選択されたルールセット信号を使用して前記キャッシュにおいて置換に利用可能なN個のウェイを選択するものである前記集積回路。
  17. 前記ルールセット選択回路は、
    ベースアドレス値と下限値とのうちの1つを記憶する第1の記憶回路と、
    マスク値と上限値とのうちの1つを記憶する第2の記憶回路とを更に備える請求項16に記載の集積回路。
  18. 複数のルールセットを記憶する記憶回路と、
    前記記憶回路に連結され、アクセスアドレスの一部を利用して、前記複数のルールセットのうち少なくとも1つのルールセットを選択するために使用されるルールセット標識を生成する回路とを備え、前記複数のルールセットのうちの前記1つのルールセットは、前記キャッシュにおいて置換に利用可能な少なくとも0以上のウェイを選択するために使用されるものであるキャッシュ制御回路。
  19. 前記記憶回路は、少なくとも1つのユーザプログラム可能な制御レジスタを備える請求項18に記載のキャッシュ制御回路。
JP2006521113A 2003-07-25 2004-07-13 置換に利用可能なキャッシュウェイを選択する方法と装置 Expired - Fee Related JP4210698B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/627,559 US6973540B2 (en) 2003-07-25 2003-07-25 Method and apparatus for selecting cache ways available for replacement
PCT/US2004/022439 WO2005013040A2 (en) 2003-07-25 2004-07-13 Method and apparatus for selecting cache ways available for replacement

Publications (2)

Publication Number Publication Date
JP2006529034A true JP2006529034A (ja) 2006-12-28
JP4210698B2 JP4210698B2 (ja) 2009-01-21

Family

ID=34080672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006521113A Expired - Fee Related JP4210698B2 (ja) 2003-07-25 2004-07-13 置換に利用可能なキャッシュウェイを選択する方法と装置

Country Status (7)

Country Link
US (1) US6973540B2 (ja)
EP (1) EP1652095A2 (ja)
JP (1) JP4210698B2 (ja)
KR (1) KR101098689B1 (ja)
CN (1) CN100407172C (ja)
TW (1) TW200532450A (ja)
WO (1) WO2005013040A2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009509274A (ja) * 2005-09-21 2009-03-05 クゥアルコム・インコーポレイテッド キャッシュのパーティショニングを管理する方法および装置
JP2010191754A (ja) * 2009-02-19 2010-09-02 Mitsubishi Electric Corp キャッシュ記憶装置
JP2017507443A (ja) * 2014-12-14 2017-03-16 ヴィア アライアンス セミコンダクター カンパニー リミテッド ヘテロジニアス置換ポリシーを用いるセット・アソシエイティブ・キャッシュ・メモリ

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070204107A1 (en) * 2004-02-24 2007-08-30 Analog Devices, Inc. Cache memory background preprocessing
US20060101208A1 (en) * 2004-11-09 2006-05-11 Intel Corporation Method and apparatus for handling non-temporal memory accesses in a cache
US20080052467A1 (en) * 2006-08-25 2008-02-28 Advanced Micro Devices, Inc. System for restricted cache access during information transfers and method thereof
US9208036B2 (en) 2011-04-19 2015-12-08 Freescale Semiconductor, Inc. Dynamic lockstep cache memory replacement logic
US9086977B2 (en) 2011-04-19 2015-07-21 Freescale Semiconductor, Inc. Cache memory with dynamic lockstep support
GB2505220A (en) * 2012-08-23 2014-02-26 Ibm Efficient rule execution in decision services
US10783083B2 (en) * 2018-02-12 2020-09-22 Stmicroelectronics (Beijing) Research & Development Co. Ltd Cache management device, system and method

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5568632A (en) * 1993-12-17 1996-10-22 Lsi Logic Corporation Method and apparatus for cache memory
US5809528A (en) * 1996-12-24 1998-09-15 International Business Machines Corporation Method and circuit for a least recently used replacement mechanism and invalidated address handling in a fully associative many-way cache memory
US6434671B2 (en) 1997-09-30 2002-08-13 Intel Corporation Software-controlled cache memory compartmentalization
US6185657B1 (en) * 1998-04-20 2001-02-06 Motorola Inc. Multi-way cache apparatus and method
US6205519B1 (en) 1998-05-27 2001-03-20 Hewlett Packard Company Cache management for a multi-threaded processor
GB9901933D0 (en) 1999-01-28 1999-03-17 Univ Bristol Cache memory
US6393525B1 (en) * 1999-05-18 2002-05-21 Intel Corporation Least recently used replacement method with protection
CN1282025A (zh) * 2000-08-31 2001-01-31 后健慈 动态随机存取内存的记忆页运作方法及其架构
JP2002140234A (ja) * 2000-11-02 2002-05-17 Hitachi Ltd キャッシュ装置
US20030159003A1 (en) * 2001-10-23 2003-08-21 Ip-First, Llc Associative cache memory with replacement way information integrated into directory
US6848025B2 (en) * 2001-10-26 2005-01-25 Elan Research, Inc. Method and system for programmable replacement mechanism for caching devices
CN1165000C (zh) * 2001-12-20 2004-09-01 中国科学院计算技术研究所 动态索引的微处理器高速缓存方法
TW556212B (en) * 2002-01-14 2003-10-01 Ip First Llc L2 cache LRU generation method and apparatus

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009509274A (ja) * 2005-09-21 2009-03-05 クゥアルコム・インコーポレイテッド キャッシュのパーティショニングを管理する方法および装置
JP4847534B2 (ja) * 2005-09-21 2011-12-28 クゥアルコム・インコーポレイテッド キャッシュのパーティショニングを管理する方法および装置
JP2010191754A (ja) * 2009-02-19 2010-09-02 Mitsubishi Electric Corp キャッシュ記憶装置
JP2017507443A (ja) * 2014-12-14 2017-03-16 ヴィア アライアンス セミコンダクター カンパニー リミテッド ヘテロジニアス置換ポリシーを用いるセット・アソシエイティブ・キャッシュ・メモリ

Also Published As

Publication number Publication date
US20050021911A1 (en) 2005-01-27
EP1652095A2 (en) 2006-05-03
CN100407172C (zh) 2008-07-30
US6973540B2 (en) 2005-12-06
KR101098689B1 (ko) 2011-12-23
WO2005013040A2 (en) 2005-02-10
JP4210698B2 (ja) 2009-01-21
WO2005013040A3 (en) 2005-08-04
CN1809819A (zh) 2006-07-26
TW200532450A (en) 2005-10-01
KR20060055522A (ko) 2006-05-23

Similar Documents

Publication Publication Date Title
KR100813370B1 (ko) 캐시 메모리 및 그 제어방법
EP0952524B1 (en) Multi-way cache apparatus and method
US7802057B2 (en) Priority aware selective cache allocation
US6058456A (en) Software-managed programmable unified/split caching mechanism for instructions and data
US8356239B2 (en) Selective cache way mirroring
US6578065B1 (en) Multi-threaded processing system and method for scheduling the execution of threads based on data received from a cache memory
US7111124B2 (en) Set partitioning for cache memories
KR101845371B1 (ko) 오프-다이 캐시 메모리의 태그들의 세트들을 캐시하기 위한 방법, 장치, 및 시스템
KR100942408B1 (ko) 가변 길이 명령어에 대한 절전 방법 및 장치
CN101097547A (zh) 用智能最近最少使用方案在高速缓存中进行功率性能调整
JP4210698B2 (ja) 置換に利用可能なキャッシュウェイを選択する方法と装置
US6898671B2 (en) Data processor for reducing set-associative cache energy via selective way prediction
US6026470A (en) Software-managed programmable associativity caching mechanism monitoring cache misses to selectively implement multiple associativity levels
JP2006018841A (ja) さまざまなメモリラインサイズに適応的に対応可能なキャッシュメモリシステムおよび方法
US20090292880A1 (en) Cache memory system
US20220121576A1 (en) Reduce Data Traffic between Cache and Memory via Data Access of Variable Sizes
US7376797B2 (en) Cache memory system and method using reference bits
US20150006935A1 (en) Method for controlling cache memory and apparatus for the same
KR100486252B1 (ko) 캐쉬 장치 및 이에 적합한 캐쉬 제어 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080415

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080708

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080912

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: 20081007

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081027

R150 Certificate of patent or registration of utility model

Ref document number: 4210698

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121031

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20121031

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131031

Year of fee payment: 5

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees