JP6392286B2 - マルチレベルのキャッシュ階層におけるキャストアウトを低減するための装置および方法 - Google Patents

マルチレベルのキャッシュ階層におけるキャストアウトを低減するための装置および方法 Download PDF

Info

Publication number
JP6392286B2
JP6392286B2 JP2016180526A JP2016180526A JP6392286B2 JP 6392286 B2 JP6392286 B2 JP 6392286B2 JP 2016180526 A JP2016180526 A JP 2016180526A JP 2016180526 A JP2016180526 A JP 2016180526A JP 6392286 B2 JP6392286 B2 JP 6392286B2
Authority
JP
Japan
Prior art keywords
cache
level
line
data
computer
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 - Fee Related
Application number
JP2016180526A
Other languages
English (en)
Other versions
JP2017033584A (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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2017033584A publication Critical patent/JP2017033584A/ja
Application granted granted Critical
Publication of JP6392286B2 publication Critical patent/JP6392286B2/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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • 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
    • 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/128Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
    • 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • 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)

Description

本開示は、一般に、キャッシュメモリの分野に関し、より明確には、命令、データおよびビクティムキャッシュを有するメモリシステムに関する。
携帯電話、ラップトップコンピュータ、携帯情報端末(personal digital assistant)(PDA)などのような多くのポータブル製品は、通信およびマルチメディアプログラムのようなプログラムを実行するプロセッサを利用する。そのような製品の処理システムは、命令およびデータを記憶するためのプロセッサおよびメモリコンプレックス(memory complex)を含む。大容量メインメモリは、一般的に、プロセッササイクル時間と比較して、遅いアクセス時間を有している。結果として、メモリコンプレックスは、従来、キャッシュメモリの容量およびパフォーマンスに基づいた階層最も高いパフォーマンスおよび最も低い容量のキャッシュがプロセッサに最も近く位置して、構成されている。例えば、レベル1命令キャッシュおよびレベル1データキャッシュは、一般に、プロセッサに直接アタッチ(attach)されるであろう。そしてレベル2ユニファイキャッシュ(unified cache)は、レベル1(L1)命令およびデータキャッシュに接続される。さらに、システムメモリは、レベル2(L2)ユニファイキャッシュに接続される。レベル1命令キャッシュは、一般に、プロセッサの速度で動作し、レベル2ユニファイキャッシュは、レベル1キャッシュより遅く動作するがシステムメモリより速いアクセスタイムを有している。他のメモリ構成は豊富であり、例えば、メモリ階層は、L1および2キャッシュに加えてレベル3キャッシュを有する。他のメモリ構成は、レベル1キャッシュおよびシステムメモリのみを使用することがある。
メモリ構成は、包含的キャッシュ(inclusive cache)、狭義包含的キャッシュ(strictly inclusive cache)、排他的キャッシュ(exclusive cache)、またはこれらのキャッシュタイプの組み合わせとして動作するキャッシュの階層から構成されることがある。ここの定義によって、互いに排他的な任意の2つのレベルのキャッシュは、同じキャッシュラインを含むことができない。互いに包含的な任意の2つのレベルのキャッシュは、同じキャッシュラインを含むことができる。互いに狭義に包含的な任意の2つのレベルのキャッシュは、より大きなキャッシュ、通常、上位レベルキャッシュがより小さなキャッシュ、通常、下位レベルキャッシュにおける全てのラインを含まなければならないことを意味する。3つ以上のマルチレベルキャッシュメモリ構成において、任意の2つ以上のキャッシュレベルは、排他的のように1つのタイプのキャッシュとして作動することがあり、残りのキャッシュレベルは、包含的のように1つの他のタイプのキャッシュとして動作することがある。
命令キャッシュは、一般に、命令キャッシュにおいて単一のアドレスに位置する複数の命令をサポートするように構築される。データキャッシュは、一般に、データキャッシュにおいて単一のアドレスに位置する複数のデータユニットをサポートするために構築される、ここでデータユニットはプロセッサに依存するバイトの可変数であることがある。この複数の命令またはデータユニットは、一般に、キャッシュラインまたは単にラインと呼ばれる。例えば、プロセッサは、L1キャッシュからの命令またはデータユニットをフェッチし、命令またはデータユニットキャッシュにおいて存在する場合、「ヒット(hit)」が生じ、命令またはデータユニットがプロセッサに提供される。命令またはデータユニットがL1キャッシュにおいて存在しない場合、「ミス(miss)」が生じる。ミスは、キャッシュラインにおいていかなる場所の命令またはデータユニットアクセスに生じることがある。ミスが生じたとき、キャッシュにおけるラインは、ミスされた命令を含む新しいラインと置換される。置換手段は、どのキャッシュライン置換するか決定するために使用される。例えば、最も使用されていないキャッシュラインを選択するかビクティムすることは、最長時間未使用(least recently used)(LRU)手段を表す。置換されるように選択されたキャッシュラインは、ビクティムキャッシュラインである。
キャッシュラインは、さらに、有効ビットおよびダーティ(dirty)ビットのような多数のステータス(status)ビットと関連されることがある。有効ビットは、命令またはデータがキャッシュラインにおいて存在することを示す。ーティビットは、キャッシュラインへの変更が生じたかどうかを示す。ライトバック(write-back)キャッシュにおいて、ダーティビットは、キャッシュラインが置換されることになっているとき、メモリシステム階層における次の上位メモリレベルに変更がライトバックされる必要があることを示す。
ビクティムキャッシュは、レベル1キャッシュのようなキャッシュに接続された、または、隣接する上位レベルキャッシュに一体化された別個のバッファであることがある。ビクティムキャッシュラインは、ビクティムラインが立ち退かせられる直後に必要であること、および、ビクティムキャッシュからの要求があるときビクティムラアクセスすることが上位レベルのメモリ階層からビクティムラインアクセスするより早いという想定のもとにビクティムキャッシュにおいて割り当てられることがある。ビクティムキャッシュが隣接する上位レベルキャッシュにおいて一体化されたと同時に、ラインが下位レベルキャッシュから置換されたとき、および、上位レベルキャッシュに割り当てられたときにキャストアウトが生じ、これにより、下位レベルキャッシュのビクティムをキャッシュする。下位レベルキャッシュは、すべての置換されたライン、ダーティおよび非ダーティ(non-dirty)の両方を上位レベルキャッシュに送信する。ある場合において、ビクティムラインは、すでにビクティムキャッシュにおいて存在することがあり、すでに存在するラインを再書き直すことは電力を消費し、ビクティムキャッシュへの帯域幅を低減する。
本開示は、メモリシステムにおける電力要求を低減することがポータブルアプリケーションにとって、および、一般に、処理システムにおける電力要求を低減することにとって重要であることを認識る。そのような目的のために、発明の実施形態は、置換されたキャッシュラインの割り当てを低減するためトラッキング方法をアドレスする。ラインは、下位レベルキャッシュにおいて置換されるために選択されている。選択されたラインが上位レベルキャッシュに存在することを示す選択されたラインに関連した情報は、識別される。上位レベルキャッシュにおける選択されたラインの割り当ては、識別された情報に基づいて防がれる。選択されたラインの割り当てを防ぐことは、割り当てに関連するであろう電力を節約する。
発明の他の実施形態は、キャストアウトを低減する方法をアドレスする。レベルXキャッシュにおけるミスに応じて、割り当て情報は、ミスに関連したキャッシュラインのタグのレベルXキャッシュにおいて保管される。割り当て情報は、キャッシュラインがレベルX+1キャッシュにおいて割り当てられていたかどうかを示す。ラインは、レベルXキャッシュにおいて置換されるために選択される。レベルXキャッシュからレベルX+1キャッシュの選択されたラインのキャストアウトは、レベルX+1キャッシュにおいてキャッシュラインが割り当てられたことを示す選択されたラインの割り当て情報に応じて防がれる。
発明の他の実施形態は、複数のキャッシュレベルを有するメモリシステムをアドレスする。下位レベルキャッシュは、それぞれ割り当てビットを持つ複数の第1キャッシュラインを記憶するように構成される。複数の第1キャッシュラインのうち1つに関連した割り当てビットは、複数の第1キャッシュラインのうち1つが上位レベルキャッシュにおいて割り当てられたどうかを示す。キャストアウトロジック回路は、複数の第1キャッシュラインからの置換のために選択された第1キャッシュラインが、選択された第1キャッシュラインに関連する割り当てビットに基づい上位レベルキャッシュにおけるキャッシュラインで過多のキャッシュラインかどうかを決定するように構成される。上位レベルキャッシュへ選択された第1キャッシュラインのキャストアウトは、選択された第1キャッシュラインの割り当てビットに応じて防がれる。
本発明の他の実施形態が、発明の様々な実施形態が示され、例として説明された次の詳細な記述から当業者に容易に明白になるであろうことは理解される。理解されるように、発明は、本発明からすべて外れることなく、他のおよび異なる実施形態があり、そのそれぞれ細部が様々の他の点において変更することできる。したがって、図面および詳細な説明は、限定的ではなく、本質的な例としてみなされることになっている。
図1は、無線通信システムを示す。 図2は、キャストアウトが低減される典型的なプロセッサおよびメモリコンプレックスの機能的なブロック図である。 図3は、キャストアウトを低減するためのプロセスを示すフロー図である。
詳細な説明
添付された図面と関連して下記に説明された詳細な説明は、本発明の様々な典型的な実施形態の説明として意図され、本発明が実施されることがある実施形態のみを表すことを意図していない。詳細な説明は、本発明の理解を提供する目的で特定の詳細を含む。しかしながら、当業者にとって、本発明がこれらの特定の詳細なしで実施されることがあることは明白であろう。ある場合において、よく知られているコンポーネントおよび要素は、本発明の概念を不明瞭にすることを防ぐためにブロック図の形式で示される。
図1は、発明の実施形態が有利に用いられることがある典型的な無線通信システム100を示す。例として、図1は、3つのリモートユニット120、130ならびに150、および、2つの基地局140を示す。共通の無線通信システムがより多くのリモートユニットおよび基地局を有することがあることが認識されるであろう。リモートユニット120、130および150は、コンポーネント125A、125Cおよび125Bとしてそれぞれ表されるハードウェアコンポーネント、ソフトウェアコンポーネントまたは両方を含む、それはさらに下記に述べられるような発明を具体化するのに適している。図1は、基地局140からリモートユニット120、130および150への順方向リンクシグナル180、および、リモートユニット120、130および150から基地局140への逆方向リンクシグナル190を示す。
図1において、リモートユニット120は携帯電話として示され、リモートユニット130はポータブルコンピュータとして示され、リモートユニット150は無線ローカルループ(wireless local loop)システムにおける固定されたロケーションリモート(fixed location remote)ユニットとして示される。例として、リモートユニットは、代替として、携帯電話、ページャ、ウォーキートーキ(walkie talkies)、ハンドヘルド個人用通信システム(handheld personal communication system)(PCS)ユニット個人用データアシスタント(personal data assistant)のようなポータブルデータユニット、またはメータ読み取り機器のような固定されたロケーションデータ(location data)ユニットであることがある。図1は、開示の教えによってリモートユニットを示すが、開示はこれらの典型的に示されたユニットに限定されていない。発明の実施形態は、レベル1キャッシュおよびレベル2キャッシュのようなメモリ階層の少なくとも2つのレベルを備えたプロセッサを有する任意の装置で適切に実施されることがある。
図2は、キャストアウトが低減される典型的なプロセッサおよびメモリコンプレックス200の機能的なブロック図である。典型的なプロセッサおよびメモリコンプレックス200は、プロセッサ202、L1キャッシュラインアレイ204およびL1キャッシュコントロールユニット206を備えたレベル1キャッシュ(L1キャッシュ)203、包含的レベル2キャッシュ(L2キャッシュ)208、およびシステムメモリ210を含む。L1キャッシュコントロールユニット206は、セットアソシエイティブ(set associative)キャッシュまたは完全アソシエイティブ(fully associative)キャッシュのような様々なタイプのキャッシュにおいて使用されることがあるように、タグのマッチングするためのキャストアウトロジック回路212およびレベル1コンテントアドレス指定可能メモリ(content addressable memory)(L1 CAM)214を含む。プロセッサコンプレックスに接続されることがある周辺装置は、説明の明瞭さのために示されていない。典型的なプロセッサおよびメモリコンプレックス200は、キャッシュ203ならびに208およびシステムメモリ210に記憶されたプログラムコードを実行するためのコンポーネント125A−Cにおいて発明の様々な実施形態において適切に実施されることがある。
L1キャッシュラインアレイ204は、キャッシュライン215−217のような複数のラインを含むことがある。1つの実施形態において、L1キャッシュ203は、各ラインが複数のデータユニットから構成されたデータキャッシュである。他の実施形態において、L1キャッシュ203は、各ラインが複数の命令から構成された命令キャッシュである。さらなる実施形態において、L1キャッシュ203は、各ラインが複数の命令またはデータユニットから構成されたユニファイキャッシュである。例えば、各ラインは、インスタンス化された(instantiated)キャッシュの実施形態に適切であり、複数の要素(U0、U1、…、U7)218−225のそれぞれから構成されている。各ラインと関連するのは、さらに下記で詳しく説明されるように、タグ226、ダーティビット(D)228、力置換キャストアウトビット(force replacement castout)(FRC)230である。キャッシュライン215−217は、ラインアドレス231−233のそれぞれにおけるL1キャッシュラインアレイ204で存在する。L1キャッシコントロールユニット206は、キャッシュラインにアクセスするためにI/DAインターフェース235で受信された命令アドレスまたはデータアドレス(I/DA)234に応答するアドレスコントロールロジックを含む。I/DA234は、タグ236、ラインアドレスフィールド(line address field)238、命令/データ「U」フィールド240、およびバイト「B」フィールド242によって構成されることがある。
典型的なプロセッサおよびメモリコンプレックス200において命令またはデータユニットをフェッチするために、プロセッサ202は、フェッチされる所望の命令/データの命令/データアドレス(I/DA)234を生成し、フェッチアドレスをL1キャッシュコントロールユニット206へと送信する。受信されたI/DA234に基づいて、L1キャッシュコントロールユニット206は、命令またはデータがL1キャッシュラインアレイ204において存在するかどうかをチックする。このチェックは、例えば、I/DA234によって選択されたライン215と関連したマッチングするタグ244をチェックする比較ロジックの使用を通じて、遂行される。命令またはデータが存在する場合、マッチまたはヒットが生じ、L1キャッシュコントロールユニット206はL1キャッシュ203において命令またはデータが存在することを示す。命令またはデータが存在しない場合、マッチがないまたはミスが見つか、L1キャッシュコントロールユニット206はL1キャッシュ203において命令またはデータが存在しないというミス指示を提供する。
命令またはデータが存在する場合、命令/データフェッチアドレスにおける命令またはデータは、L1キャッシュラインアレイ204から選択される。その後、命令またはデータは、命令/データアウトバス(instruction/data out bus)246でプロセッサ202に送信される。
命令/データがキャッシュにおいて存在しない場合、ミス情報はミスが生じたことを示すミスシグナル248によってL2キャッシュ208に提供される。L1キャッシュ203においてミスを発見する際に、L2キャッシュ208から所望の命令/データをフェッチする試みがなされる。L2キャッシュ208において所望の命令/データが存在する場合、それはメモリバスインターフェース(memory bus interface)250で提供される。L2キャッシュ208において所望の命令/データが存在しない場合、それはシステムメモリ210からフェッチされる。
L2キャッシュ208からの力置換キャストアウト(force replacement castout)(FRC)シグナル254は、メモリバスインターフェース250で送信された所望の命令/データとともに下位L1キャッシュ203に送信される。FRCシグナル254は、上位レベルL2キャッシュ208におけるヒットによって供給された命令/データが得られたどうかを示す。例えば、「0」状態のFRCシグナル254は、所望の命令/データがL2キャッシュ208から供給されたことを示す。「1」状態のFRCシグナル254は、所望の命令/データがシステムメモリ210からのように、L2キャッシュ208の上の他のレベルのメモリから供給されたことを示す。FRCシグナル254は、例えば、ライン21−217のような、適切なキャッシュラインと関連したタグに沿ってFRCビット256−258としてL1キャッシュ203において記憶される。要求されたラインがL2キャッシュ208およびL1キャッシュ203におけるミスであるとき、L1キャッシュ203がL2キャッシュ208の上の次のレベルのメモリによって供給されるのに対して、L2キャッシュ208はミスのときライン割り当てない。
下位レベルキャッシュがラインを置換しなければならないとき、ラインは下位レベルキャッシュにおけるラインとともに記憶された情報に応答して次のレベルのキャッシュにおいて割り当てられることがある。例えば、L1キャッシュ203のような下位レベルキャッシュが、「1」状態のダーティビット259によって示されるようダーティ指示を備えた、キャッシュライン215のような置換されるラインを選択する場合、キャストアウトロジック回路212は、キャッシュライン215が次のレベルのメモリ階層に割り当てられるように決定をする。「0」状態のダーティビット260を備えたキャッシュライン216のような、ダーティでなく、かつ、アクティブ、例えば「1」状態に設定された関連したFRCビット256を有している、キャッシュラインが置換されるために選択される場合、キャッシュライン216は、次のレベルのメモリ階層に割り当てられる。FRCビット256は、そのディレクトリにおいてラインが見つからなかった次のレベルのメモリ階層によって提供されたFRCシグナル254指示に応じてアクティブに設定される。「0」状態そのダーティビット261を備えたキャッシュライン217のよう、置換されるために選択されたキャッシュラインがダーティでなく、アクティブ、例えば「0」状態に設定された関連するFRCビット258を有している場合、キャッシュライン217は、次のレベルのメモリ階層に割り当てられない。キャストアウトは、ラインがダーティでなく、FRCビット258がその非アクティブ状態によって、このキャッシュライン217が次のレベルのメモリ階層に存在すると示すため要求されない。つまり、上位レベルキャッシュは、ダーティビットが設定、または、FRCビットが設定されるとき、下位レベルにおける置換されたキャッシュラインに応答してキャッシュラインを割り当てる。FRCビットのそのような使用を通じて、過多のキャストアウトは、抑えられ、それによって、上位レベルのメモリ階層への不必要なアクセスを防ぐことによって電力およびアクセスサイクルを節約する。
図3は、キャストアウトを低減するためのプロセス300を示すフロー図である。プロセス300において、メモリレベルは、インデックス(X)、(X+1)または(X+2)によって示される、ここで、例えば、X=1でL1L2およびL3メモリレベルが示されることがある。さらに、プロセス300のブロックの説明は、図2における機能的な要素の参照番号を含む。
プロセス300は、ブロック302において命令またはデータユニットをフェッチするプロセッサ202のようなプロセッサで始まる。決定ブロック304において、要求された命令/データがL1キャッシュ203のようなL(X)キャッシュに位置することができるかどうか決定される。命令/データが位置することができる場合、要求された命令/データがブロック306でL(X)キャッシュからフェッチされ、命令/データがブロック308でプロセッサに戻る。
命令/データがL(X)キャッシュに位置することができない場合、ミス指示が生成され、ブロック310において要求された命令/データがL2キャッシュ208のようL(X+1)キャッシュにおいて位置することができるかどうかを判断する。命令/データが位置することができる場合、要求された命令/データがブロック316でL(X+1)キャッシュからフェッチされる。ブロック318において、FRCビット258のような力置換キャストアウト(FRC)ビットは、L1キャッシュ203がL2キャッシュ208にこの命令/データを送信することを防ぐために、L1キャッシュ203のキャッシュライン217に関連するようなタグラインで「0」状態に設定される。
ブロック310に戻って、命令/データがL(X+1)キャッシュにおいて位置することができない場合、ミス指示が生成される。ブロック312において、要求された命令/データは、プロセッサおよびメモリコンプレックス200のシステムメモリ210またはL3キャッシュのよう、L(X+2)レベル以上のメモリ階層のレベルからフェッチされる。ブロック314において、FRCビット、例えば、FRCビット256は、「1」状態に設定され、キャッシュライン216のよう、選択されたラインに関連したタグとともに記憶される。
決定ブロック320において、L1キャッシュ203のよう、L(X)キャッシュにおいてラインが置換されるべきかどうか決定される。L(X)においてラインが置換されるべきことが決定した場合、それはさらに決定ブロック322において、選択されたライン、ビクティムラインが、「1」状態のダーティビット259によってされるように、ダーティかどうか決定される。選択されたビクティムラインがダーティである場合、ビクティムラインは、ブロック324で、L2キャッシュ208のよう、L(X+1)キャッシュにおいて割り当てられる。ダーティビット260および261によってされるように、選択されたビクティムラインがダーティでない場合、FRCビットは、決定ブロック326においてアクティブに設定されているかどうか決定するためにチェックされる。決定ブロック326において、FRCビット256のケースのように、FRCビットがアクティブであると決定された場合、ビクティムラインは、ブロック324で、L2キャッシュ208のよう、L(X+1)キャッシュにおいて割り当てられる。
決定ブロック320においてラインが置換されるべきでないと決定された場合、または、決定ブロック326において、FRCビットが、FRCビット258のケースのように、「0」状態のよう、非アクティブであると決定された場合、要求された命令/データは、ブロック328で、L1キャッシュ203のような、L(X)キャッシュにおいて割り当てられる。要求された命令/データは、さらに、ブロック330においてプロセッサ202のような要求プロセッサに戻る。そのような方法において、L(X+1)キャッシュへの過多のキャストアウトが防がれ、それによって電力を節約し、メモリ階層においてキャッシュアクセス帯域幅改善する。
本明細書に開示された実施形態と関連して説明された様々な例となるロジカルブロック、モジュール、回路、要素、および/またはコンポーネントは、汎用プロセッサ(general purpose processor)、デジタルシグナルプロセッサ(digital signal processor)(DSP)、特定用途向け集積回路(application specific integrated circuit)(ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array)(FPGA)または他のプログラマブルロジックコンポーネント、ディスクリートゲート(discrete gate)またはトランジスタロジック、ディスクリートハードウェア(discrete hardware)コンポーネント、または、本明細書で説明された機能を実行するように設計されたそれらの任意の組み合わせ、とともに実装または実行されることがある。汎用プロセッサは、マイクロプロセッサであることがあるが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または、定常マシンであることがある。プロセッサは、計算デバイスの組み合わせ、例えば、DSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、DSPのコアと接続された1つ以上のマイクロプロセッサ、または他の任意のそのような構成として実施されることもある。
本明細書に開示された実施形態と関連して説明された方法は、ハードウェア、プロセッサによって実行されたソフトウェアモジュール、または2つの組み合わせに直接実施されてもよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROM(登録商標)メモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、または、当業者において知られている記憶媒体の形式に存在してもよい。記憶媒体は、記憶媒体からプロセッサが情報を読み込み、記憶媒体に情報を書き込むことができるようなプロセッサにつながれることがある。代替として、記憶装置は、プロセッサと一体的であることがある。
発明が、命令キャッシュ、データキャッシュ、および他のタイプのキャッシュについての例となる実施形態のコンテキストに示される一方で、様々な広いインプリメンテーションが、上述した説明および下記に続く請求項と一致して、当業者によって使用されることが認識されるであろう。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
置換されたキャッシュラインの割り当てを低減するためのトラッキング方法であって、
下位レベルキャッシュにおいて置換されるべきラインを選択することと、
前記選択ラインが上位レベルキャッシュに存在すると示す前記選択されたラインと関連する情報を識別することと、
前記識別された情報に基づいて前記上位レベルキャッシュにおいて前記選択されたラインの割り当てを防ぐことと、
を備えたトラキング方法。
[C2]
前記下位レベルキャッシュにおけるミスに応じて、ミスによって前記下位レベルキャッシュにおいて割り当てられたキャッシュラインのタグを有する割り当て情報、前記キャッシュラインが前記上位レベルキャッシュにおいて割り当てられたかどうかを示す割り当て情報を記憶することと、
をさらに備えたC1のトラッキング方法。
[C3]
前記選択されたラインをダーティとして識別することと、
前記上位レベルキャッシュにおいて前記選択されたラインを割り当てることと、
をさらに備えたC1のトラッキング方法。
[C4]
前記選択されたラインを表す前記選択されたラインと関連する前記識別された情報が前記上位レベルキャッシュにおいて存在しないと決定することと、
前記上位レベルキャッシュにおける前記選択されたラインを割り当てることと、
をさらに備えたC1のトラッキング方法。
[C5]
前記選択されたラインをダーティでないとして識別することと、をさらに備えたC1のトラッキング方法。
[C6]
前記上位レベルキャッシュからデータユニットをフェッチすることと、
前記割り当て指示を前記上位レベルキャッシュにおいて前記データユニットが存在することを表す状態に設定することと、
をさらに備えたC2のトラッキング方法。
[C7]
前記上位レベルキャッシュの上の前記メモリ階層のレベルからデータユニットをフェッチすることと、
前記割り当てられた指示を前記上位レベルキャッシュにおいて前記データユニットが存在しないと表す状態に設定することと、
をさらに備えたC2のトラッキング方法。
[C8]
前記上位レベルキャッシュは、ビクティムキャッシュとして動作するC1のトラッキング方法。
[C9]
キャストアウトを低減する方法であって、
レベルXキャッシュにおけるミスに応じて、前記ミスに関連するキャッシュラインのタグにおける割り当て情報、レベルX+1キャッシュにおいて前記キャッシュラインが割り当てられたかどうか識別する割り当て情報を、レベルXキャッシュにおいて記憶することと、
前記レベルXキャッシュにおいて置換されるべきラインを選択することと、
前記レベルX+1キャッシュにおいて前記キャッシュラインが割り当てられたか示す前記選択されたラインの前記割り当てられた情報に応じて、レベルXキャッシュからレベルX+1キャッシュへの前記選択されたラインのキャストアウトを防ぐことと、
を備えたトラッキング方法。
[C10]
前記選択されたラインをダーティとして識別することと、
前記レベルX+1キャッシュにおいて前記選択されたラインを割り当てることと、
をさらに備えたC9の方法。
[C11]
前記選択されたラインを示す前記選択されたラインと関連する前記割り当て情報が前記レベルX+1キャッシュにおいて存在しないことを決定することと、
前記レベルX+1キャッシュにおいて前記選択されたラインを割り当てることと、
をさらに備えたC9の方法。
[C12]
前記選択ラインをダーティでないとして識別することと、
をさらに備えたC9の方法。
[C13]
前記レベルX+1キャッシュからデータユニットをフェッチすることと、
前記割り当て情報を前記データユニットが前記レベルX+1キャッシュにおいて存在することを表す状態に設定することと、
をさらに備えたC9の方法。
[C14]
前記レベルX+1キャッシュの上のメモリ階層のレベルからデータユニットをフェッチすることと、
前記割り当て情報を前記データユニットが前記レベルX+1キャッシュに存在しないことを表す状態に設定することと、
をさらに備えたC9の方法。
[C15]
前記レベルXキャッシュは、レベルXの命令キャッシュであるC9の方法。
[C16]
複数のキャッシュレベルを有するメモリシステムであって、
複数の第1キャッシュラインのそれぞれを割り当てビットで記憶するように構成された下位レベルキャッシュと、割り当てビットのそれぞれは前記割り当てビットと関連する前記第1キャッシュラインが上位レベルキャッシュにおいて割り当てられたかどうかを示す、
前記複数の第1キャッシュラインから置換するために選択された第1キャッシュラインが、前記選択された第1キャッシュラインと関連する前記割り当てビットに基づいて前記上位レベルキャッシュにおいてキャッシュラインで過多の(redundant)キャッシュラインであるかどうかを決定するように、および、前記選択された第1キャッシュラインの前記割り当てビットに応じて前記選択された第1キャッシュラインの前記上位レベルキャッシュへのキャストアウトを防ぐように、構成されたキャストアウトロジック回路と、
を備えたメモリシステム。
[C17]
前記上位レベルキャッシュは、
複数の第2キャッシュラインと、
前記下位レベルキャッシュにおけるミスに応じ、前記ミスに関連した前記キャッシュラインが前記上位レベルキャッシュにおいて割り当てられたかどうかに基づく割り当てシグナルを生成するように構成されたロジック回路と、前記割り当てシグナルは前記ミスがキャッシュラインと関連すると記憶のために前記下位レベルキャッシュと通信する、
を備えたC16のメモリシステム。
[C18]
前記キャストロジック回路は、前記割り当てビットを前記割り当てシグナルの前記状態に設定することをさらに備えたC17のメモリシステム。
[C19]
前記下位レベルキャッシュは、データキャッシュであるC16のメモリシステム。
[C20]
前記上位レベルキャッシュは、ユニファイドキャッシュであるC17のメモリシステム。

Claims (22)

  1. コンピュータ可読プログラムデータおよびコードで符号化されたコンピュータ可読非一時的媒体であって、前記プログラムデータおよびコードは、実行されたとき、
    レベルX+1キャッシュにおいてフェッチアドレスをヒットさせるメモリアクセスに応じて、レベルXキャッシュにおいて置換されるべき選択されたラインにアクセスすることと、
    前記選択されたラインが前記レベルX+1キャッシュにおいて存在しないことを示す割り当て指示、および前記選択されたラインが前記レベルX+1キャッシュにおいて存在することを示す割り当て指示に応じて、前記レベルX+1キャッシュにおいて前記選択されたラインを割り当てることと
    を行うように動作可能であるコンピュータ可読非一時的媒体。
  2. 実行されたとき、
    前記選択されたラインをダーティとして識別することと、
    前記レベルX+1キャッシュにおいて前記選択されたラインを割り当てることと、
    を行うように動作可能であるデータおよび命令をさらに備えた請求項1のコンピュータ可読非一時的媒体。
  3. アサートされていないダーティビットは、前記選択されたラインが修正されていないことを示す請求項1のコンピュータ可読非一時的媒体。
  4. 実行されたとき、
    前記レベルX+1キャッシュからデータユニットをフェッチすることと、
    前記割り当て指示を前記レベルX+1キャッシュにおいて前記データユニットが存在することを表す状態に設定することと、
    を行うように動作可能であるデータおよび命令をさらに備えた請求項1のコンピュータ可読非一時的媒体。
  5. 実行されたとき、
    前記レベルX+1キャッシュの上のメモリ階層のレベルからデータユニットをフェッチすることと、
    前記割り当てられた指示を前記レベルX+1キャッシュにおいて前記データユニットが存在しないことを表す状態に設定することと、
    を行うように動作可能であるデータおよび命令をさらに備えた請求項1のコンピュータ可読非一時的媒体。
  6. 前記レベルX+1キャッシュは、ビクティムキャッシュとして動作する請求項1のコンピュータ可読非一時的媒体。
  7. 前記選択されたラインは、前記レベルX+1キャッシュの最長時間未使用の置換手段によって決定された前記レベルX+1キャッシュにおけるアドレスにて割り当てられる請求項1のコンピュータ可読非一時的媒体。
  8. 実行されたとき、
    前記選択されたラインが前記レベルX+1キャッシュにおいて存在し、修正されていないことを示す前記選択されたラインに関連する情報を識別することと、
    前記識別された情報に応じて、前記レベルX+1キャッシュにおける前記選択されたラインの割り当てを防ぐことと、
    を行うように動作可能であるデータおよび命令をさらに備えた請求項1のコンピュータ可読非一時的媒体。
  9. コンピュータ可読プログラムデータおよびコードで符号化されたコンピュータ可読非一時的媒体であって、前記プログラムデータおよびコードは、実行されたとき、
    レベルX+1キャッシュにおいてフェッチアドレスをヒットさせるメモリアクセスに応じて、レベルXキャッシュにおいて置換されるべき選択されたラインにアクセスすることと、
    前記選択されたラインが前記レベルX+1キャッシュにおいて存在しないことを示す割り当てビット、および前記選択されたラインが前記レベルX+1キャッシュにおいて存在することを示す割り当てビットに応じて、前記レベルX+1キャッシュにおいて前記選択されたラインを割り当てることと
    を行うように動作可能であるコンピュータ可読非一時的媒体。
  10. 実行されたとき、
    前記選択されたラインをダーティとして識別することと、
    前記レベルX+1キャッシュにおいて前記選択されたラインを割り当てることと、
    を行うように動作可能であるデータおよび命令をさらに備えた請求項のコンピュータ可読非一時的媒体。
  11. 実行されたとき、
    前記選択されたラインに関連する前記割り当てビットが、前記選択されたラインが前記レベルX+1キャッシュにおいて存在しないことを示すこと、および前記選択されたラインがダーティでないことをダーティビットが示すことを決定することと、
    前記レベルX+1キャッシュにおいて前記選択されたラインを割り当てることと、
    を行うように動作可能であるデータおよび命令をさらに備えた請求項のコンピュータ可読非一時的媒体。
  12. アサートされていないダーティビットは、前記選択されたラインが修正されていないことを示す請求項のコンピュータ可読非一時的媒体。
  13. 実行されたとき、
    前記レベルX+1キャッシュからデータユニットをフェッチすることと、
    前記割り当てビットを前記データユニットが前記レベルX+1キャッシュにおいて存在することを表す状態に設定することと、
    を行うように動作可能であるデータおよび命令をさらに備えた請求項のコンピュータ可読非一時的媒体。
  14. 前記選択されたラインは、前記レベルX+1キャッシュの最長時間未使用の置換手段によって決定された前記レベルX+1キャッシュにおけるアドレスにて割り当てられる請求項のコンピュータ可読非一時的媒体。
  15. 実行されたとき、
    前記選択されたラインが前記レベルX+1キャッシュにおいて存在することを示す前記選択されたラインの割り当てビットに応じて、前記レベルXキャッシュから前記レベルX+1キャッシュへの前記選択されたラインのキャストアウトを防ぐように動作可能であるデータおよび命令をさらに備えた請求項のコンピュータ可読非一時的媒体。
  16. 複数のキャッシュレベルを有するメモリシステムであって、
    レベルXキャッシュにおいて複数の第1キャッシュラインのそれぞれを割り当てビットで記憶するための手段と、割り当てビットのそれぞれは前記割り当てビットに関連する前記複数の第1キャッシュラインのうちの1つがレベルX+1キャッシュにおいて割り当てられたかどうかを示す、
    前記レベルX+1キャッシュにおいてフェッチアドレスをヒットさせるアクセスのために、選択された第1キャッシュラインが前記レベルX+1キャッシュにおいて存在しないことを示す割り当てビットに基づいて、前記選択された第1キャッシュラインを前記レベルX+1キャッシュにキャストアウトするために、および前記選択された第1キャッシュラインが前記レベルX+1キャッシュにおいてキャッシュラインと重複することを示す前記選択された第1キャッシュラインの前記割り当てビットに応じて、前記選択された第1キャッシュラインの前記レベルX+1キャッシュへのキャストアウトを防ぐために、前記複数の第1キャッシュラインから置換するために前記選択された第1キャッシュラインが、前記レベルX+1キャッシュにおいて前記フェッチアドレスをヒットさせるメモリアクセスに応じて、前記選択された第1キャッシュラインに関連する前記割り当てビットに基づいて前記レベルX+1キャッシュにおいてキャッシュラインと重複するキャッシュラインであるかどうかを決定するための手段と、ここにおいて、キャッシュラインおよび関連する割り当てビットは、前記レベルX+1キャッシュにおいて前記フェッチアドレスをヒットさせる前記アクセスのために、前記レベルXキャッシュにおいて記憶され、前記関連する割り当てビットは、前記選択された第1キャッシュラインが前記レベルX+1キャッシュにおいて存在することを表す、
    を備えたメモリシステム。
  17. 前記レベルX+1キャッシュは、
    複数の第2キャッシュラインと、
    前記レベルXキャッシュにおけるミスに応じて、前記ミスに関連する前記キャッシュラインが前記レベルX+1キャッシュにおいて割り当てられたかどうかに基づく割り当てシグナルを生成するための手段と、前記割り当てシグナルは、前記ミスに関連する前記キャッシュラインにおける前記割り当てビットとして、記憶のために前記レベルXキャッシュに通信される、
    を備えた請求項16のメモリシステム。
  18. 前記割り当てビットを前記割り当てシグナルの状態に設定するための手段をさらに備えた請求項17のメモリシステム。
  19. 前記レベルXキャッシュは、データキャッシュである請求項16のメモリシステム。
  20. 前記レベルX+1キャッシュは、包含的キャッシュである請求項17のメモリシステム。
  21. 前記選択された第1キャッシュラインは、前記レベルX+1キャッシュの最長時間未使用の置換手段によって決定された前記レベルX+1キャッシュにおけるアドレスへキャストアウトされる請求項16のメモリシステム。
  22. コンピュータ可読プログラムデータおよびコードで符号化されたコンピュータ可読非一時的媒体であって、前記プログラムデータおよびコードは、実行されたとき、
    レベルX+1キャッシュにおいてフェッチアドレスをヒットさせるメモリアクセスに応じて、レベルXキャッシュにおいて置換されるべき選択されたラインにアクセスすることと、
    前記選択されたラインが前記レベルX+1キャッシュにおいて存在しないことを示す前記選択されたラインに関連する情報を識別することと、
    前記レベルX+1キャッシュにおいて前記フェッチアドレスをヒットさせる前記メモリアクセスのために、前記レベルX+1キャッシュの最長時間未使用の置換手段によって決定された前記レベルX+1キャッシュにおけるアドレスにて前記識別された情報に応じて、前記選択されたラインを割り当てることと、
    を行うように動作可能であるコンピュータ可読非一時的媒体。
JP2016180526A 2007-01-31 2016-09-15 マルチレベルのキャッシュ階層におけるキャストアウトを低減するための装置および方法 Expired - Fee Related JP6392286B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/669,245 2007-01-31
US11/669,245 US8078803B2 (en) 2008-01-30 2008-01-30 Apparatus and methods to reduce castouts in a multi-level cache hierarchy

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015006866A Division JP6009589B2 (ja) 2007-01-31 2015-01-16 マルチレベルのキャッシュ階層におけるキャストアウトを低減するための装置および方法

Publications (2)

Publication Number Publication Date
JP2017033584A JP2017033584A (ja) 2017-02-09
JP6392286B2 true JP6392286B2 (ja) 2018-09-19

Family

ID=39512778

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2009548426A Pending JP2010518487A (ja) 2008-01-30 2008-01-30 マルチレベルのキャッシュ階層におけるキャストアウトを低減するための装置および方法
JP2012253468A Pending JP2013069322A (ja) 2007-01-31 2012-11-19 マルチレベルのキャッシュ階層におけるキャストアウトを低減するための装置および方法
JP2015006866A Expired - Fee Related JP6009589B2 (ja) 2007-01-31 2015-01-16 マルチレベルのキャッシュ階層におけるキャストアウトを低減するための装置および方法
JP2016180526A Expired - Fee Related JP6392286B2 (ja) 2007-01-31 2016-09-15 マルチレベルのキャッシュ階層におけるキャストアウトを低減するための装置および方法

Family Applications Before (3)

Application Number Title Priority Date Filing Date
JP2009548426A Pending JP2010518487A (ja) 2008-01-30 2008-01-30 マルチレベルのキャッシュ階層におけるキャストアウトを低減するための装置および方法
JP2012253468A Pending JP2013069322A (ja) 2007-01-31 2012-11-19 マルチレベルのキャッシュ階層におけるキャストアウトを低減するための装置および方法
JP2015006866A Expired - Fee Related JP6009589B2 (ja) 2007-01-31 2015-01-16 マルチレベルのキャッシュ階層におけるキャストアウトを低減するための装置および方法

Country Status (10)

Country Link
US (2) US8078803B2 (ja)
EP (2) EP2527987A1 (ja)
JP (4) JP2010518487A (ja)
KR (1) KR101165132B1 (ja)
CN (2) CN101595462B (ja)
BR (1) BRPI0806865A2 (ja)
CA (1) CA2675046C (ja)
MX (1) MX2009008092A (ja)
RU (1) RU2438165C2 (ja)
WO (1) WO2008095025A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2438165C2 (ru) 2007-01-31 2011-12-27 Квэлкомм Инкорпорейтед Устройство и способы для уменьшения вытеснений в многоуровневой иерархии кэша
JP2010113593A (ja) 2008-11-07 2010-05-20 Sony Corp 情報処理装置、情報処理方法及び情報処理プログラム
WO2010052799A1 (ja) * 2008-11-10 2010-05-14 富士通株式会社 情報処理装置及びメモリ制御装置
US20110202727A1 (en) * 2010-02-18 2011-08-18 Qualcomm Incorporated Apparatus and Methods to Reduce Duplicate Line Fills in a Victim Cache
US9201794B2 (en) * 2011-05-20 2015-12-01 International Business Machines Corporation Dynamic hierarchical memory cache awareness within a storage system
US9021206B2 (en) 2011-08-25 2015-04-28 International Business Machines Corporation Use of cache statistics to ration cache hierarchy access
KR101862785B1 (ko) 2011-10-17 2018-07-06 삼성전자주식회사 타일 기반 렌더링을 위한 캐쉬 메모리 시스템 및 캐슁 방법
JP6046748B2 (ja) 2013-01-17 2016-12-21 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびファイル管理方法
KR20150132099A (ko) * 2013-03-20 2015-11-25 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 서로 다른 계층 레벨의 메모리 노드를 가진 메모리 시스템에서의 데이터 캐싱
US9854052B2 (en) * 2013-09-27 2017-12-26 Sap Se Business object attachments and expiring URLs
JP2015088146A (ja) * 2013-11-01 2015-05-07 株式会社ソニー・コンピュータエンタテインメント 情報処理装置
JP2015176245A (ja) 2014-03-13 2015-10-05 株式会社東芝 情報処理装置及びデータ構造
CN104932989B (zh) * 2014-03-21 2020-05-19 三星电子株式会社 数据到高速缓冲层次低延迟层级中的机会性高速缓冲注入
US10216640B2 (en) 2014-03-21 2019-02-26 Samsung Electronics Co., Ltd. Opportunistic cache injection of data into lower latency levels of the cache hierarchy
JP2016057763A (ja) 2014-09-08 2016-04-21 株式会社東芝 キャッシュ装置、及びプロセッサ
US9684602B2 (en) 2015-03-11 2017-06-20 Kabushiki Kaisha Toshiba Memory access control device, cache memory and semiconductor device
KR101697515B1 (ko) * 2015-12-15 2017-01-18 전남대학교산학협력단 캐시 라인의 태그 거리 상관관계를 이용한 캐시 교체 방법 및 임베디드 시스템
EP3572946B1 (en) * 2017-03-08 2022-12-07 Huawei Technologies Co., Ltd. Cache replacement method, device, and system
JP7139719B2 (ja) * 2018-06-26 2022-09-21 富士通株式会社 情報処理装置、演算処理装置及び情報処理装置の制御方法
US11782919B2 (en) * 2021-08-19 2023-10-10 International Business Machines Corporation Using metadata presence information to determine when to access a higher-level metadata table

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5564035A (en) * 1994-03-23 1996-10-08 Intel Corporation Exclusive and/or partially inclusive extension cache system and method to minimize swapping therein
US5737751A (en) 1996-03-26 1998-04-07 Intellectual Business Machines Corporation Cache memory management system having reduced reloads to a second level cache for enhanced memory performance in a data processing system
US5787478A (en) * 1997-03-05 1998-07-28 International Business Machines Corporation Method and system for implementing a cache coherency mechanism for utilization within a non-inclusive cache memory hierarchy
US6374330B1 (en) 1997-04-14 2002-04-16 International Business Machines Corporation Cache-coherency protocol with upstream undefined state
US6202129B1 (en) 1998-03-31 2001-03-13 Intel Corporation Shared cache structure for temporal and non-temporal information using indicative bits
TW451132B (en) * 1998-12-15 2001-08-21 Nippon Electric Co System and method for cache processing
US6564301B1 (en) 1999-07-06 2003-05-13 Arm Limited Management of caches in a data processing apparatus
US6282615B1 (en) * 1999-11-09 2001-08-28 International Business Machines Corporation Multiprocessor system bus with a data-less castout mechanism
US7024519B2 (en) * 2002-05-06 2006-04-04 Sony Computer Entertainment Inc. Methods and apparatus for controlling hierarchical cache memory
US6941421B2 (en) * 2002-10-29 2005-09-06 International Business Machines Corporation Zero delay data cache effective address generation
JP2006155080A (ja) * 2004-11-26 2006-06-15 Fujitsu Ltd メモリ制御装置およびメモリ制御方法
US20060155934A1 (en) * 2005-01-11 2006-07-13 Ramakrishnan Rajamony System and method for reducing unnecessary cache operations
US7330941B2 (en) 2005-03-23 2008-02-12 Qualcomm Incorporated Global modified indicator to reduce power consumption on cache miss
DE102005015116A1 (de) 2005-04-01 2006-10-05 Webasto Ag Kraftfahrzeugheizung
RU2438165C2 (ru) 2007-01-31 2011-12-27 Квэлкомм Инкорпорейтед Устройство и способы для уменьшения вытеснений в многоуровневой иерархии кэша
US20110202727A1 (en) 2010-02-18 2011-08-18 Qualcomm Incorporated Apparatus and Methods to Reduce Duplicate Line Fills in a Victim Cache

Also Published As

Publication number Publication date
CA2675046A1 (en) 2008-08-07
RU2438165C2 (ru) 2011-12-27
EP2118754A1 (en) 2009-11-18
EP2527987A1 (en) 2012-11-28
WO2008095025A1 (en) 2008-08-07
US20120059995A1 (en) 2012-03-08
BRPI0806865A2 (pt) 2014-04-29
CN102693187B (zh) 2016-03-30
CA2675046C (en) 2013-07-30
CN102693187A (zh) 2012-09-26
JP6009589B2 (ja) 2016-10-19
CN101595462A (zh) 2009-12-02
JP2017033584A (ja) 2017-02-09
KR20090115799A (ko) 2009-11-06
JP2013069322A (ja) 2013-04-18
MX2009008092A (es) 2009-08-12
US8386716B2 (en) 2013-02-26
JP2015111435A (ja) 2015-06-18
CN101595462B (zh) 2012-04-25
US8078803B2 (en) 2011-12-13
RU2009132554A (ru) 2011-03-10
KR101165132B1 (ko) 2012-07-12
JP2010518487A (ja) 2010-05-27
US20080183967A1 (en) 2008-07-31
EP2118754B1 (en) 2013-07-03

Similar Documents

Publication Publication Date Title
JP6392286B2 (ja) マルチレベルのキャッシュ階層におけるキャストアウトを低減するための装置および方法
US8930625B2 (en) Weighted history allocation predictor algorithm in a hybrid cache
KR101393933B1 (ko) 캐시 블록 코히어런스를 위한 시스템들, 방법들, 및 디바이스들
US8788757B2 (en) Dynamic inclusive policy in a hybrid cache hierarchy using hit rate
US20140089602A1 (en) System cache with partial write valid states
US20080086599A1 (en) Method to retain critical data in a cache in order to increase application performance
US20080022049A1 (en) Dynamically re-classifying data in a shared cache
US20130151778A1 (en) Dynamic Inclusive Policy in a Hybrid Cache Hierarchy Using Bandwidth
US11853223B2 (en) Caching streams of memory requests
US20140089600A1 (en) System cache with data pending state
US20140075118A1 (en) System cache with quota-based control
EP3163451B1 (en) Memory management method and device, and memory controller
CN115292214A (zh) 页表预测方法、存储访问操作方法、电子装置和电子设备
KR20060023963A (ko) 멀티쓰레디드 컴퓨터 프로세싱을 제공하는 방법, 장치 및시스템
US20140059297A1 (en) System cache with sticky allocation
US20110202727A1 (en) Apparatus and Methods to Reduce Duplicate Line Fills in a Victim Cache
US20180052778A1 (en) Increase cache associativity using hot set detection
JP2024511768A (ja) Dramキャッシュタグプリフェッチャ用の方法及び装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180606

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180822

R150 Certificate of patent or registration of utility model

Ref document number: 6392286

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees