JP4302083B2 - キャッシュシステムおよびキャッシュシステム制御方法 - Google Patents

キャッシュシステムおよびキャッシュシステム制御方法 Download PDF

Info

Publication number
JP4302083B2
JP4302083B2 JP2005207350A JP2005207350A JP4302083B2 JP 4302083 B2 JP4302083 B2 JP 4302083B2 JP 2005207350 A JP2005207350 A JP 2005207350A JP 2005207350 A JP2005207350 A JP 2005207350A JP 4302083 B2 JP4302083 B2 JP 4302083B2
Authority
JP
Japan
Prior art keywords
entry
reload
victim
cache
pointer
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
JP2005207350A
Other languages
English (en)
Other versions
JP2006031710A (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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment 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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of JP2006031710A publication Critical patent/JP2006031710A/ja
Application granted granted Critical
Publication of JP4302083B2 publication Critical patent/JP4302083B2/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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • G06F12/0859Overlapped cache accessing, e.g. pipeline with reload from main memory
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means

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

本発明は、コンピュータシステム、具体的にはキャッシュバッファに関する。
データの高速なフェッチとストアに対する要望の高まりにつれ、より速いコンピュータシステムが必要とされている。このような要望を満たすために、サイズが小さい連想記憶装置であって、比較的に低いアクセスレイテンシと広い帯域幅を有するキャッシュシステムが用いられてきた。
ライトバックキャッシュシステムにおいて、ストアインストラクションに応じたデータの変更は、キャッシュのみに対して行われる。後に、キャッシュミスを解決するためにメインメモリからリロードされたデータを格納するためのスペースがないときに、変更対象となるデータはキャッシュからメインメモリへライトバックされる。以下の説明において、このような変更対象となるデータをビクティム(犠牲者)データという。
したがって、キャッシュにフリーエントリがないときにおいてキャッシュミスを解決するために、システムは、2つの異なるオペレーションを用いる。1つは、メインメモリから所望のデータを読み出してキャッシュに格納させる「リロード」である。もう1つは、リロードオペレーションのためのフリーエントリを得るために、ビクティムデータをビクティムエントリからメインメモリに書き込む「ライトバック」である。基本的には、ライトバックが終わらないかぎり、リロードオペレーションが実行できない。
従来のライトバックキャッシュシステムは、ライトバックオペレーションの開始後にライトバックされるデータ(ライトバックデータ)を速く移動することができるようにライトバックバッファを用いる。こうすれば、ライトバックオペレーションがライトバックバッファを用いることができ、それによって、リロードオペレーションはビクティムエントリの利用を速やかに開始することができる。
しかし、このようなライトバックバッファは、キャッシュシステムの外に設けられた外部データストレージであり、実装面積と電力消費の点において、キャッシュの設計を難しくしている。
本発明は、上記事情に鑑みてなされ、その目的は、従来のライトバックキャッシュシステムに関連する問題の少なくとも一部を解決することにある。
本発明にかかる態様は、キャッシュシステムにおけるライトバックオペレーションとリロードオペレーションを扱うデータ処理方法に関する。具体的には、キャッシュシステムにおいて、複数のポインタおよび可動バッファを用いて、1つまたは複数のプロセッサからのストレージアクセスインストラクションを受け取る。これらのバッファは、データアレイに集積され、リロードおよびライトバックオペレーションのために用いられることができる。さらに、キャッシュコントローラはキャッシュミスのために特定のリロードバッファをリザーブするとともに、ビクティムをメモリにライトバックすることによってリロードバッファの空き状態を保持して次のキャッシュミスに備える。
以下の説明において、本発明の主旨を理解しやすくするために、多数の具体的な詳細例を用いるが、当業者であれば、これらの詳細例を用いなくても本発明を実施することができる。また、詳細を必要以上に説明することによって本発明の主旨が分からなくなることがないように、従来知られている要素についてはブロック図形式で示す。ネットワーク通信、電磁信号技術などは、本発明の関連分野について通常の知識を有するものにとって本発明の主旨を理解するうえで不必要と思われ詳細ほど、その説明を簡略にしている。
さらに、特記しないかぎり、以下に説明する各機能は、ハードウェア、ソフトウェア、またはそれらの組合せによって実現される。望ましくは、コンピュータまたは電子データプロセッサなど、コンピュータプログラムコードや、ソフトウェアなどのようなコードにしたがって機能するプロセッサ、またはこれらの機能を実行するようにプログラミングされた集積回路によっておのおのの機能を実行する。
図1は、従来の典型的な4ウェイセット連想式ライトバックキャッシュであるキャッシュ107を示す。従来のライトバックキャッシュは、キャッシュミスが生じ、かつその合同クラスにおいて空きがない場合に、置換が必要になる。合同クラスセットは、同じインデックスが付けられたキャッシュエントリセットである。図示の例では、キャッシュミスはインデックスiで生じており、インデックスiについての合同クラスには、空きスロットがない。ビクティムエントリが選択されてキャッシュ107から移動されると、新しいデータがリロードされる。置き換えるためのリロードは、必然的にライトバックに続いて行われるので、キャッシュミスが解決される。
図2は、従来の典型的なキャッシュ置換の動作フローを示す。図示のように、キャッシュ置換のために、2つの連続したメモリオペレーションは必要である。従来のキャッシュは、ライトバックバッファ106を用いることによって、この2つのオペレーションを並列的に扱う。
まず、プログラムまたはデバイスは、プロセッサとなるCPUa105に対してインストラクション(リクエスト102)を出す。このインストラクションはキャッシュ107に伝達され、そのタグ(ユニークな識別子)と、キャッシュ107に保存されたタグとの比較が行われる。マッチするタグがあれば、データアクセスオペレーションはキャッシュ内において行われる。一方、マッチするタグがなければ、キャッシュミスが記録され、空き(無効)エントリに新しいデータをリロードするためのリロードオペレーションが始まる。ここで、空きエントリがなく、ビクティム演算ロジックがビクティムエントリを指定している場合、このエントリはビクティムとしてライトバックバッファ106に移動され、バスとメインメモリが可能なときにメインメモリにライトバックされる。すなわち可能なキャッシュラインの数がnであり、そのため、バス120を介して転送されてきたデータの格納場所を確保するためにビクティムデータを外に移動しなければいけない。バス120は、新しいデータをビクティムエントリラインに転送する。「リロード」と「ライトバック」は、メインメモリ転送オペレーションであり、遅い転送と、システム処理能力の高い消費率をもたらす。
通常、ライトバックバッファ106は、ラッチ、フリップフロップ(FF)、またはより小さいレジスタファイルで実装される。さらに、ラッチおよびレジスタファイルのビットあたりの実装面積や消費電力が大きい場合には、このライトバックバッファをキャッシュストレージに統合することで同等の機能をより小さい面積と消費電力で実装することができる。本発明の実施形態にかかるキャッシュシステムは、キャッシュシステム内部において独立したライトバックバッファを設ける代わりに、キャッシュシステムにリロードポインタ150を設け、このリロードポインタ150によりキャッシュストレージ内において可動リロードエントリ(図3にて詳細を示す)を指定する。こうすることによって、ライトバックと同時に行われるリロードのために、空きスロットまたはリロードエントリが常に指定されるので、ビクティムエントリは、テンポラリなライトバックバッファ106に移動されずにメインメモリにライトバックされる。また、リロードポインタ150は、キャッシュシステム内部におけるデータの移動を防ぐために、キャッシュストレージ内を移動して、ライトバックによって生じた可能な空きスロットを指定する。もし、リロードポインタ150が一カ所に固定されていると、次のリロードの前に今回のリロードデータを移動しなければならない。
図3は、本発明の実施形態にかかるキャッシュ置換処理の動作フローのプロセスの代表例を示す。ここでは、独立したライトバックバッファを設けていない。キャッシュシステム内部において、キャッシュストレージ107の中の少なくても1つのオープンスロットが、リロードエントリとして論理的に接続されている。
フリーエントリが1つしかないときにキャッシュミスが生じると、ビクティムポインタ演算ロジックによって新しいビクティムが選択される。そして、新しいデータ103がリロードバッファにロードされるのと同時に、ビクティムデータが、メインメモリの対応する領域に記憶されたデータよりアップデートされていれば、ビクティムはバス120に出力される。この処理が終わると、リロードポインタ150は更新される。
図4は、典型的なプロセッサキャッシュシステム100の接続図である。CPUa105とCPUb110は、標準構成のバス構造を用いて、それぞれのキャッシュシステム、すなわちキャッシュシステム108キャッシュシステム112を介してデータやコマンドなどのストアと読み出しを行う。ここで、2つのプロセッサを示しており、この2つのプロセッサは、並列に動作し、かつ互いに主従関係がないですが、同じ結果を得ることができれば、プロセッサの構成、プロセッサの数は任意である。バスインタフェースユニット、すなわちバスIF109とバスIF114は、キャッシュシステムからメインメモリに対するリクエストを扱う。
キャッシュシステム108とキャッシュシステム112は、プロセッサからストレージオペレーションリクエストを受け取り、このリクエストに応じてキャッシュストレージにアクセスする。たとえばキャッシュシステム108にキャッシュミスがあると、このキャッシュミスを解決するために、キャッシュシステム108は、バスIF109に、メインメモリ140または同じ階層のほかのキャッシュにアクセスするリクエストを出す。n個のプロセッサがあり、x個のキャッシュミスが同時に(連続的にまたは並列的に)生じた場合には、メモリコントローラ130は、もっとも緊急なキャッシュミスが優先的に対処されるように、各キャッシュミスのインプット/アウトプット順を決定する。キャッシュストレージにおいて、キャッシュミスのためにメインメモリから読み出したデータを格納する空きがない場合、キャッシュシステム108は、ビクティムデータをメインメモリ140にライトバックするために、ビクティムエントリをリクエストするライトバックリクエストを発行する。
図5は、典型的なキャッシュシステムを示すブロック図である。このシステムには、3つの互いに独立する有限状態マシン(FSM)が含まれている。なお、FSMの数は、3に限られることがない。
キャッシュミスFSM305はキャッシュミスを扱い、ライトバックFSM310はライトバックを扱う。スヌープFSM315は、バスに接続されているほかのデバイスからのスヌープリクエストの受信および実行を扱う。2つのデータポインタRP325とVP330が備えられている。RP325は、キャッシュミスFSM305により扱われるキャッシュミスのためのポインタであり、VP330は、ライトバックFSM310により扱われるライトバックのためのビクティムポインタである。キャッシュミスのために読み出したデータは、RP325により指定されたエントリに格納されるので、RP325により指定されたキャッシュエントリは、いかなるときにキャッシュミスが生じても空き状態であるようにしなけばならない。
キャッシュストレージ107にフリーエントリ(RP325により、キャッシュミスを扱うために指定したエントリを除く)がない場合、VP330により指定されるエントリを得るためのライトバックリクエストが発行される。RP325は、フリーエントリ演算FE340によってフリーエントリを指定するように保持されている。ライトバックが終了すると、ビクティムエントリがライトバックリクエストによって無効にされているため、RP325は、ビクティムエントリの値に更新され、次のキャッシュミスに備える。次のライトバックリクエストに備え、VP330も、後述するビクティムポインタ演算器VE350により更新される。多くの場合において、VP330の位置を得るためにLRU(Least Recently Used)アルゴリズムによる演算も行われる。キャッシュミスデータ(リロードデータ)はRP325により指定されたエントリに直接格納されるとともに、ライトバックデータはVP330により指定されたエントリから直接ライトバックされるため、キャッシュ内部において、ビクティムエントリからライトバックエントリへの不必要なデータ移動を避けることができる。これによって、パフォーマンスが向上する。
図5に示すキャッシュシステムは、キャッシュストレージ107に対応するディレクトリ(D320)を備える。このディレクトリとキャッシュストレージは接続されて連想記憶装置、すなわちCAM360を形成する。D320は、キャッシュストレージの各位置に記憶されたデータのタグとキャッシュ状態とを対応付けて記憶する。タグは、ターゲットアドレスを特定のディレクトリと結び付けることができる情報である。キャッシュ状態は、単一のバスシステムによって接続されたマルチプロセッサシステム間のキャッシュ一貫性を保持するための、キャッシュエントリのデータ属性である。すべてのキャッシュシステムは、キャッシュ一貫性プロトコルについて、全体のキャッシュ一貫性を保持しなければならない。キャッシュミスFSM305、ライトバックFSM310、スヌープFSM315は、D320のようなディレクトリを用いて通信し、ターゲットキャッシュエントリのための情報の取出しと、キャッシュ状態の一貫した更新を行う。ビクティムポインタ演算器VE350は、LRU345から情報を取り出してビクティムポインタVP330を計算する。バスIF109は、バス120へのインタフェースであり、バス120は、システムバス、メモリバス、サウスブリッジまたはほかのデータ通信パスウエイとすることができる。3つのFSMは、バスIF109を介して通信し、バス120を介してリクエストの送受信を行う。
バスIF109からのスヌープコマンドは、スヌープFSM315にスヌープコマンドにかかる処理を開始させる。また、バスIF109は、いずれか1つまたは複数のFSMからのリクエストにしたがって、キャッシュストレージ107とバス120間のデータ転送を扱う。
本発明は、多様な形態で実施することができる。本発明の趣旨から逸脱しないかぎり、前述した実施形態の種々のバリエーションを実施してもよい。ここでその概要について説明した機能は様々な設計およびプログラミングモデルで実現することが可能である。ここでの説明は、特定の設計またはプログラミングモデルが望ましいことではなく、それに基づいてこれらの設計またはプログラミングモデルを構成することができる基本思想を示唆するものである。
したがって、本発明のいくつかの主要な特徴について説明したが、これらの特徴は、具体例であって、本発明の機能を限定するものではない。上述した実施形態に対して、バリエーションを増やしたり、構成要素の修正、変更、置換などを行ってもよい。場合によっては、上述した本発明の機能のうちの一部を、ほかの機能と関連せずに用いてもよい。当業者は上記説明に基づいて種々の修正、改良を施してもよい。したがって、請求項に対して、本発明の基本思想の範囲内において広く解釈すべきである。
従来の典型的な4ーウェイセット連想式ライトバックキャッシュを示す図である。 従来の典型的なキャッシュ置換の動作フローを示す図である。 本発明の実施形態にかかるキャッシュ置換の動作フローのプロセスの代表例を示す図である。 典型的なプロセッサキャッシュシステムの接続図である。 典型的なキャッシュシステムを示すブロック図である。
符号の説明
102 リクエスト、 103 新しいデータ、 105 CPUa、106 ライトバックバッファ、 107 キャッシュ、 109 バスIF、 110 CPUb、 112 キャッシュ、 114 バスIF、 120 バス、 130 メモリコントローラ、 140 メインメモリ、 150 リロードポインタ、 200 マルチプロセッサシステム、 305 キャッシュミスFSM、 310 ライトバックFSM、 315 スヌープFSM、 320 ディレクトリD、 325 リロードポインタRP、 330 ビクティムポインタVP、 340 フリーエントリ演算FE、 345 LRU、 350 ビクティムエントリ演算VE、 360 連想記憶装置CAM。

Claims (8)

  1. キャッシュストレージにおけるエントリであって、メインメモリから読み出されたデータが格納されるべきリロードエントリを指定するリロードポインタと、
    キャッシュストレージにおけるフリーエントリを前記リロードエントリとして指定するよう前記リロードポインタを設定するフリーエントリ演算手段と、
    キャッシュミスが発生した際、前記リロードポインタが指定するリロードエントリに対してメインメモリから読み出したデータを格納するキャッシュミス制御手段と、
    キャッシュストレージにおけるエントリであって、格納されたデータがメインメモリにライトバックされるべきビクティムエントリを指定するビクティムポインタと、
    キャッシュミスが発生した際、キャッシュストレージにおけるフリーエントリが、前記リロードポインタが指定するリロードエントリだけであることを条件として、前記キャッシュミス制御手段によるリロードエントリへのデータ格納処理と並列して、前記ビクティムポインタが指定するビクティムエントリに格納されたデータをメインメモリへライトバックするライトバック制御手段と、
    前記ライトバック制御手段によるライトバック処理を契機として、所定のアルゴリズムに基づいて選択されたキャッシュストレージにおける別のエントリを新たなビクティムエントリとして指定するよう前記ビクティムポインタを設定するビクティムエントリ演算手段と、を備え、
    前記ライトバック制御手段は、ライトバック処理を実行したビクティムエントリを、新たなリロードエントリとして前記リロードポインタが指定するよう前記フリーエントリ演算手段において設定させるために、当該ライトバック処理を実行したビクティムエントリに格納されたデータを無効なデータとして設定することを特徴とするキャッシュシステム。
  2. 他のデバイスのリクエストに対応するためのバスオペレーションをスヌープするスヌープ制御手段をさらに備えることを特徴とする請求項1に記載のキャッシュシステム。
  3. 前記スヌープ制御手段は、ディレクトリと接続されていることを特徴とする請求項2に記載のキャッシュシステム
  4. 前記ビクティムエントリ演算手段は、前記別のエントリとして、前記キャッシュストレージにおけるエントリのうち最も過去に用いられたエントリを選択することを特徴とする請求項1から3のいずれかに記載のキャッシュシステム。
  5. キャッシュシステムを制御する方法であって、
    キャッシュストレージにおけるエントリであって、メインメモリから読み出されたデータが格納されるべきリロードエントリを指定するリロードポインタが、キャッシュストレージにおけるフリーエントリを前記リロードエントリとして指定するよう設定するステップと、
    キャッシュミスが発生した際、前記リロードポインタが指定するリロードエントリに対してメインメモリから読み出したデータを格納するステップと、
    キャッシュミスが発生した際、キャッシュストレージにおけるフリーエントリが、前記リロードポインタが指定するリロードエントリだけであることを条件として、キャッシュストレージにおけるエントリであって、格納されたデータがメインメモリにライトバックされるべきビクティムエントリを指定するビクティムポインタについて、そのビクティムポインタが指定するビクティムエントリに格納されたデータを、前記リロードエントリへのデータ格納処理と並列してメインメモリへライトバックするステップと、
    前記メインメモリへのライトバック処理を契機として、所定のアルゴリズムに基づいて選択されたキャッシュストレージにおける別のエントリを新たなビクティムエントリとして指定するよう前記ビクティムポインタを設定するステップと、を備え、
    前記ライトバックするステップは、ライトバック処理を実行したビクティムエントリを、新たなリロードエントリとして前記リロードポインタにより指定させるために、当該ライトバック処理を実行したビクティムエントリに格納されたデータを無効なデータとして設定するステップを含むことを特徴とするキャッシュシステム制御方法。
  6. 前記ビクティムポインタを設定するステップは、前記別のエントリとして、前記キャッシュストレージにおけるエントリのうち最も過去に用いられたエントリを選択することを特徴とする請求項5に記載のキャッシュシステム制御方法。
  7. キャッシュシステムを制御するためのコンピュータプログラムであって、
    キャッシュストレージにおけるエントリであって、メインメモリから読み出されたデータが格納されるべきリロードエントリを指定するリロードポインタが、キャッシュストレージにおけるフリーエントリを前記リロードエントリとして指定するよう設定する機能と、
    キャッシュミスが発生した際、前記リロードポインタが指定するリロードエントリに対してメインメモリから読み出したデータを格納する機能と、
    キャッシュミスが発生した際、キャッシュストレージにおけるフリーエントリが、前記リロードポインタが指定するリロードエントリだけであることを条件として、キャッシュストレージにおけるエントリであって、格納されたデータがメインメモリにライトバックされるべきビクティムエントリを指定するビクティムポインタについて、そのビクティムポインタが指定するビクティムエントリに格納されたデータを、前記リロードエントリへのデータ格納処理と並列してメインメモリへライトバックする機能と、
    前記メインメモリへのライトバック処理を契機として、所定のアルゴリズムに基づいて選択されたキャッシュストレージにおける別のエントリを新たなビクティムエントリとして指定するよう前記ビクティムポインタを設定する機能と、を前記キャッシュシステムに実現させ、
    前記ライトバックする機能は、ライトバック処理を実行したビクティムエントリを、新たなリロードエントリとして前記リロードポインタにより指定させるために、当該ライトバック処理を実行したビクティムエントリに格納されたデータを無効なデータとして設定する機能を含むことを特徴とするキャッシュシステム制御プログラム。
  8. 請求項7に記載のキャッシュシステム制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2005207350A 2004-07-15 2005-07-15 キャッシュシステムおよびキャッシュシステム制御方法 Expired - Fee Related JP4302083B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/891,796 US20060015689A1 (en) 2004-07-15 2004-07-15 Implementation and management of moveable buffers in cache system

Publications (2)

Publication Number Publication Date
JP2006031710A JP2006031710A (ja) 2006-02-02
JP4302083B2 true JP4302083B2 (ja) 2009-07-22

Family

ID=35134646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005207350A Expired - Fee Related JP4302083B2 (ja) 2004-07-15 2005-07-15 キャッシュシステムおよびキャッシュシステム制御方法

Country Status (3)

Country Link
US (1) US20060015689A1 (ja)
JP (1) JP4302083B2 (ja)
WO (1) WO2006040689A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7281092B2 (en) * 2005-06-02 2007-10-09 International Business Machines Corporation System and method of managing cache hierarchies with adaptive mechanisms
US20080244189A1 (en) * 2007-03-30 2008-10-02 Allison Brian D Method, Apparatus, System and Program Product Supporting Directory-Assisted Speculative Snoop Probe With Concurrent Memory Access
US20080244190A1 (en) * 2007-03-30 2008-10-02 Shedivy David A Method, Apparatus, System and Program Product Supporting Efficient Eviction of an Entry From a Central Coherence Directory
US7966521B2 (en) * 2008-07-14 2011-06-21 International Business Machines Corporation Light weight and high throughput test case generation methodology for testing cache/TLB intervention and diagnostics
US9678882B2 (en) * 2012-10-11 2017-06-13 Intel Corporation Systems and methods for non-blocking implementation of cache flush instructions
US10922230B2 (en) * 2016-07-15 2021-02-16 Advanced Micro Devices, Inc. System and method for identifying pendency of a memory access request at a cache entry

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US159004A (en) * 1875-01-19 Improvement in hair-cutters gages
JP3183161B2 (ja) * 1996-04-12 2001-07-03 三菱自動車工業株式会社 覚醒度推定装置
US6542081B2 (en) * 1996-08-19 2003-04-01 William C. Torch System and method for monitoring eye movement
US5732232A (en) * 1996-09-17 1998-03-24 International Business Machines Corp. Method and apparatus for directing the expression of emotion for a graphical user interface
US6145057A (en) * 1997-04-14 2000-11-07 International Business Machines Corporation Precise method and system for selecting an alternative cache entry for replacement in response to a conflict between cache operation requests
US5950205A (en) * 1997-09-25 1999-09-07 Cisco Technology, Inc. Data transmission over the internet using a cache memory file system
US6085294A (en) * 1997-10-24 2000-07-04 Compaq Computer Corporation Distributed data dependency stall mechanism
DE19801009C1 (de) * 1998-01-14 1999-04-22 Daimler Chrysler Ag Verfahren und Vorrichtung zum Abbremsen eines Fahrzeugs
US6190314B1 (en) * 1998-07-15 2001-02-20 International Business Machines Corporation Computer input device with biosensors for sensing user emotions
US6347261B1 (en) * 1999-08-04 2002-02-12 Yamaha Hatsudoki Kabushiki Kaisha User-machine interface system for enhanced interaction
US6523089B2 (en) * 2000-07-19 2003-02-18 Rambus Inc. Memory controller with power management logic
US6483418B1 (en) * 2000-08-18 2002-11-19 Texas Instruments Incorporated Creep acting miniature thermostatic electrical switch and thermostatic member used therewith
US6611206B2 (en) * 2001-03-15 2003-08-26 Koninklijke Philips Electronics N.V. Automatic system for monitoring independent person requiring occasional assistance
JP2003072488A (ja) * 2001-08-31 2003-03-12 Sony Corp 車載装置、車両及び車両情報の処理方法
US7221809B2 (en) * 2001-12-17 2007-05-22 Genex Technologies, Inc. Face recognition system and method
JP4033672B2 (ja) * 2001-12-26 2008-01-16 株式会社日立製作所 緊急事態通報システム
US7003139B2 (en) * 2002-02-19 2006-02-21 Eastman Kodak Company Method for using facial expression to determine affective information in an imaging system

Also Published As

Publication number Publication date
WO2006040689A1 (en) 2006-04-20
US20060015689A1 (en) 2006-01-19
JP2006031710A (ja) 2006-02-02

Similar Documents

Publication Publication Date Title
US8495299B2 (en) Non-blocking data transfer via memory cache manipulation
US6286090B1 (en) Mechanism for selectively imposing interference order between page-table fetches and corresponding data fetches
US6725343B2 (en) System and method for generating cache coherence directory entries and error correction codes in a multiprocessor system
US6272602B1 (en) Multiprocessing system employing pending tags to maintain cache coherence
US6085263A (en) Method and apparatus for employing commit-signals and prefetching to maintain inter-reference ordering in a high-performance I/O processor
US8719508B2 (en) Near neighbor data cache sharing
US6728839B1 (en) Attribute based memory pre-fetching technique
KR100704089B1 (ko) L2 디렉토리를 이용한 멀티프로세서 시스템의 가-로드촉진 방법 및 장치
US20090132749A1 (en) Cache memory system
US11023410B2 (en) Instructions for performing multi-line memory accesses
JP2000250813A (ja) I/oキャッシュ・メモリにおけるデータ管理方法
JP2010507160A (ja) データ処理装置の共有メモリへの書込みアクセス要求の処理
KR20040012812A (ko) L2 디렉토리를 이용한 멀티프로세서 시스템의 가-저장촉진 방법 및 장치
KR101639943B1 (ko) 범용 그래픽 프로세서의 공유 메모리를 캐시로 동작시키기 위한 공유 메모리 제어 방법 및 이를 이용한 범용 그래픽 프로세서
JP4302083B2 (ja) キャッシュシステムおよびキャッシュシステム制御方法
EP3885918B1 (en) System, apparatus and method for performing a remote atomic operation via an interface
US11556477B2 (en) System and method for configurable cache IP with flushable address range
US7657667B2 (en) Method to provide cache management commands for a DMA controller
JP4577729B2 (ja) ライトバックキャッシュにおいてスヌーププッシュ処理やスヌープキル処理が同時発生しているときのライトバック処理をキャンセルするためのシステムおよび方法
US9886212B2 (en) Mechanism for copying data in memory
CN109791521B (zh) 提供数据访问的原子集的装置及方法
JP2007207224A (ja) データ・ラインをキャッシュに書き込む方法
US6728842B2 (en) Cache updating in multiprocessor systems
WO2023055508A1 (en) Storing an indication of a specific data pattern in spare directory entries
JPH08123722A (ja) 情報処理システムにおける記憶制御方法および記憶制御装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090109

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

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

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

Free format text: PAYMENT UNTIL: 20120501

Year of fee payment: 3

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

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees