JP2005531847A - キャッシュメモリへのプリフェッチを制御するための方法ならびに装置 - Google Patents

キャッシュメモリへのプリフェッチを制御するための方法ならびに装置 Download PDF

Info

Publication number
JP2005531847A
JP2005531847A JP2004517262A JP2004517262A JP2005531847A JP 2005531847 A JP2005531847 A JP 2005531847A JP 2004517262 A JP2004517262 A JP 2004517262A JP 2004517262 A JP2004517262 A JP 2004517262A JP 2005531847 A JP2005531847 A JP 2005531847A
Authority
JP
Japan
Prior art keywords
block
zone
boundary line
line
data
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
JP2004517262A
Other languages
English (en)
Other versions
JP4005083B2 (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 JP2005531847A publication Critical patent/JP2005531847A/ja
Application granted granted Critical
Publication of JP4005083B2 publication Critical patent/JP4005083B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

メインメモリ(112)を複数のブロック(120)に分割できるようにし、各ブロックは他のブロックのうちの少なくとも1つと隣接しており、各データブロックは、データバイトを1つ以上含む複数のデータ単位(122)を有する方法ならびに装置である。また、メインメモリの各ブロックを、データ単位を1つ以上有する複数のゾーンに分割し、各所定のブロックの対応するゾーンの少なくとも一部をその所定のブロックに隣接するブロックの対応する別のブロックと関連付け、別のブロックのうちの所定のブロックに関連付けられているゾーンのいずれかにあるデータ単位のいずれかがアドレス指定された場合に、そのブロックをキャッシュメモリにプリフェッチできるようにする。

Description

本発明は、キャッシュメモリを制御するための方法ならびに装置に関し、より詳細にはキャッシュメモリにデータをプリフェッチするための方法ならびに装置に関する。
近年、最先端のコンピュータアプリケーションがますます複雑になっているため、コンピュータによるデータ処理のスループットの向上への要求がとどまることを知らず、マイクロプロセシングシステムに対する要求が増加の一途をたどっている。とりわけ、グラフィックアプリケーションは、所望の視覚的効果を得るため、比較的短時間に膨大な数のデータアクセス、データ演算およびデータ操作を実行する必要があるため、マイクロプロセシングシステムに対する要求が高いシステムの1つとなっている。従来のマイクロプロセッサは、サイクルタイム(マイクロプロセッサがデータを操作することができる時間の単位)が例えば2ナノ秒と非常に短いが、メインメモリに記憶されているデータへのアクセスに必要な時間は、マイクロプロセッサのサイクルタイムに比べてかなり長い。例えば、ダイナミックランダムアクセスメモリ(DRAM)技術を利用して実装したメインメモリから1バイトのデータを取り出す際のアクセス時間は約60ナノ秒代である。
DRAMメモリのアクセス時間が比較的長いことによるボトルネックを改善するために、当業者はキャッシュメモリを利用してきた。キャッシュメモリは、DRAMメモリよりも格段に高速であり、メインメモリが備えるデータ記憶機能を強化する。例えば、L2キャッシュメモリをマイクロプロセッサの外部に結合したり、L1キャッシュメモリをマイクロプロセッサの内部に結合したりすることができ、これらのメモリはDRAM技術を利用して実装したメインメモリよりも格段に高速である。L2キャッシュメモリは、例えばスタティックランダムアクセスメモリ(SRAM)技術を利用して実装することができ、DRAM技術よりも約2〜3倍高速である。L1キャッシュメモリは、L2キャッシュメモリよりもさらに高速である。
キャッシュメモリは比較的高価であるため、通常はメインメモリよりも容量が大幅に小さい。このため、キャッシュメモリに記憶すべきデータを決定するために、従来のアルゴリズムが使用されている。例えば、このような従来のアルゴリズムは、「参照の局所性」の理論の概念に基づいており、この概念は、ある特定の時点において、マイクロプロセッサが膨大な実行可能プログラムの比較的限られた部分しか使用していないという事実を利用するものである。このため、参照の局所性の概念に従って、ある特定の時点において、全実行可能プログラムのうちの限られた部分のみがキャッシュメモリに記憶される。
キャッシュメモリへのデータの記憶を制御するための、参照の局所性を利用する公知のアルゴリズムやその他の概念の詳細については、その数が多いためにここに記載することはできない。ただし、アプリケーションによってデータ処理の目的が大きく異なることがあるため、あらゆるアプリケーションに適するアルゴリズムは存在しないということを言及すれば十分であろう。
グラフィックアプリケーションでは、例えば、メインメモリ内で記憶されているデータに強い局所性がみられることがあり、この局所性は、メインメモリ内のピクセルデータの座標の関数となっている。詳しく述べると、グラフィックアプリケーションに使用するメインメモリは、概念上、二次元平面に編成され得、画像内の各ピクセルに関する情報は、特定のXY座標に記憶される。グラフィックアプリケーションに使用するメインメモリは、さらに複数の矩形ブロックに編成され得、それぞれのブロックに、複数のピクセルに関する情報が格納される。特定のブロック内のピクセルは極めて線形的にアドレスを付与され得る。換言すれば、特定の矩形ブロック内で、ピクセル情報へのアクセスが極度に連続していることがある。
このため、グラフィックアプリケーションでキャッシュメモリを制御するための従来のアルゴリズムは、通常、矩形ブロックの全体のピクセル情報を特定のキャッシュラインに記憶させる。キャッシュヒットが発生した場合(すなわち、特定のデータバイトに対するメモリアクセス要求が、キャッシュメモリにアクセスすることで満たされた場合)、その特定の矩形ブロック内のピクセル情報の線形性が高いため、次に行われるデータアクセス要求がキャッシュヒットとなる可能性が高い。一方、キャッシュミスが発生した場合(すなわち、キャッシュメモリにアクセスしても、特定のデータバイトに対するメモリアクセス要求が満たされない場合)、要求されたデータバイトが存在する矩形ブロック内の全ピクセル情報をメインメモリから読み出して、キャッシュメモリに記憶する。しかし、この従来のアルゴリズムは、グラフィックアプリケーションで使用するメモリの線形性と高い局所性とに付随する特性を有効に利用していない。実際、このようなアルゴリズムでは、かなりのキャッシュミスが発生し、この結果、メモリ制御の効率低下、処理のスループットの低下、およびグラフィックの画質の劣化が生じる。
したがって、処理のスループットを向上させ、グラフィックの画質を向上させるために、グラフィックアプリケーションで使用するメモリにみられる線形性および高い局所性を利用するような、キャッシュメモリを含むメモリ全般を制御するための新しい方法ならびに装置が当業界で求められている。
本発明の少なくとも1つの態様によると、メモリ制御装置は、複数の二次元のブロックに分割されているメインメモリと、各ブロックは1つ以上のデータバイトを有する複数のデータ単位を有し、各所定のブロックは複数のゾーンに分割されており、各ゾーンは前記データ単位を1つ以上有し、前記ゾーンの少なくとも一部は、前記所定のブロックに隣接する対応するブロックに関連付けられており、前記メインメモリの前記データバイトに対するアドレスを受け取ると共に、前記アドレスをデコードして、対応するデータバイトが存在するゾーンを特定するように動作可能なアドレスデコーダと、前記アドレスデコーダが対応するゾーンに存在するデータバイトのアドレスを受け取ると、前記対応するゾーンに関連付けられているブロックをキャッシュメモリにプリフェッチするように動作可能なプリフェッチアドレスジェネレータと、を有する。
例えば、前記各ブロックは、左の隣接ブロックと共通の左境界線、右の隣接ブロックと共通の右境界線、上の隣接ブロックと共通の上境界線、および下の隣接ブロックと共通の下境界線のうちの少なくとも1つを有し得る。さらに、前記各ブロックは、前記左の隣接ブロックに関連付けられており、前記左境界線に沿って配置されたデータ単位を少なくとも1つ有する左ゾーン、前記右の隣接ブロックに関連付けられており、前記右境界線に沿って配置されたデータ単位を少なくとも1つ有する右ゾーン、前記上の隣接ブロックに関連付けられており、前記上境界線に沿って配置されたデータ単位を少なくとも1つ有する上ゾーン、および前記下の隣接ブロックに関連付けられており、前記下境界線に沿って配置されたデータ単位を少なくとも1つ有する下ゾーン少なくとも1つを有し得る。
このような分割を使用して、前記左ゾーンは前記上境界線から前記下境界線まで延びる左分割線によって少なくとも一部画定されてもよく、前記左ゾーンは前記左境界線と前記左分割線との間に存在するデータ単位の少なくとも一部を有してもよく、前記右ゾーンは前記上境界線から前記下境界線まで延びる右境界線によって少なくとも一部画定されてもよく、前記右ゾーンは前記右境界線と前記右分割線との間に存在するデータ単位の少なくとも一部を有してもよく、前記上ゾーンは前記左境界線から前記右境界線まで延びる上境界線によって少なくとも一部画定されてもよく、前記上ゾーンは前記上境界線と前記上分割線との間に存在するデータ単位の少なくとも一部を有してもよく、前記下ゾーンは前記左境界線から前記右境界線まで延びる下境界線によって少なくとも一部画定されてもよく、前記下ゾーンは前記下境界線と前記下分割線との間に存在するデータ単位の少なくとも一部を有してもよい。
好ましくは、前記左分割線、前記右分割線、前記上分割線、および前記下分割線は前記アドレスの特定のビットに対応付けられており、前記アドレスデコーダは、前記アドレスをデコードして、前記特定のビットに基づいて前記対応するデータバイトが存在するゾーンを特定するように動作可能である。
例えば、各ブロックは、前記左分割線、前記右分割線、前記上分割線、および前記下分割線の間に存在する1つ以上のデータ単位を有する中央ゾーンを有してもよく、前記中央ゾーンは好ましくはどの隣接ブロックとも関連付けられていない。各ブロックは、好ましくは、前記左境界線、前記上境界線、前記上分割線および前記左分割線の間に存在するデータ単位を有し、どの隣接ブロックとも関連付けられていない左上ゾーンと、前記左境界線、前記下境界線、前記下分割線および前記左分割線の間に存在するデータ単位を有し、どの隣接ブロックとも関連付けられていない左下ゾーンと、前記右境界線、前記上境界線、前記上分割線および前記右分割線の間に存在するデータ単位を有し、どの隣接ブロックとも関連付けられていない右上ゾーンと、前記右境界線、前記下境界線、前記下分割線および前記右分割線の間に存在するデータ単位を有し、どの隣接ブロックとも関連付けられていない右下ゾーンと、のうちの少なくとも1つをさらに有する。
本発明の少なくとも1つの別の態様に係る方法は、メインメモリを複数の二次元のブロックに分割すると共に、各ブロックをデータバイトを1つ以上含む複数のデータ単位に分割するステップと、前記メインメモリの各ブロックを、前記データ単位を1つ以上有する複数のゾーンに分割するステップと、各ブロックの対応するゾーンの少なくとも一部を前記ブロックのうちの別のブロックに関連付けるステップと、前記別のブロックのうちの1つのブロックに関連付けられているゾーンのいずれかにあるデータ単位のいずれかがアドレス指定された場合に、そのブロックの少なくとも一部をキャッシュメモリにプリフェッチするステップと、を有する。
好ましくは、各ブロックの前記少なくとも一部のゾーンのそれぞれは1つの隣接ブロックに関連付けられている。さらに、各ブロックの少なくとも1つのゾーンは、好ましくはそのブロックと、関連付けられている隣接ブロックとの間の境界線に沿って配置されている。
添付の図面を参照しつつ、ここに記載する本発明の説明を読めば、他の態様、特徴および利点等は当業者に自明となるであろう。
本発明を説明するために、現在の好ましい形態を図面の形で示すが、本発明は、図示したとおりの構成ならびに手段に限定されないことを理解されたい。
図面において、同じ参照符号は、同一の要素を示している。図1に、本発明による、メモリを制御するために適した方法および/または装置の態様を示す。簡潔を期すと共に明確になるように、図1のブロック図は装置100の説明として本明細書において参照かつ記載される。しかし、この記載は同等の効力を有する方法のさまざまな態様に容易に適用できることを理解されたい。装置100は、好ましくは、プロセッサ102、アドレスレジスタ104、アドレスデコーダ106、プリフェッチアドレスジェネレータ108、メモリコントローラ110、メインメモリ112、およびキャッシュメモリ114を備える。
プロセッサ102は、メインメモリおよび/またはキャッシュメモリ114からデータを要求し、このデータを操作して所望の結果を得ることができる公知の技術のいずれかを用いて実装することができる。例えば、プロセッサ102は、通常のマイクロプロセッサ、分散型マイクロプロセッサなど、ソフトウェアおよび/またはファームウェアを実行することができる公知のマイクロプロセッサのいずれかを利用して実装することができる。例えば、プロセッサ102は、グレースケール情報、色情報、テクスチャデータ、ポリゴン情報、ビデオフレーム情報等を含むピクセルデータなどのデータを要求して操作することができるグラフィックプロセッサであり得る。
プロセッサ102は、好ましくは、メモリアドレスなどのデータアクセス要求を、アドレスレジスタ104とメモリコントローラ110に対して与える。アドレスデコーダ106とプリフェッチアドレスジェネレータ108は、好ましくは、メインメモリ112に対してキャッシュメモリ114に記憶する情報の管理上望ましい結果を得るために、メモリコントローラ110にさらに情報を与えるように動作可能である。装置100の各種機能ブロックのこの相互の関係をさらに詳しく説明するため、図2〜5を参照する。
図2は、図1の機能ブロックに従って実行および/または実装され得る特定のアクション/機能を示すフローチャートである。アクション200で、メインメモリ112(図1)が好ましくは複数の二次元のデータブロックに分割される。メインメモリ112が必ずしも物理的に分割されるわけではないという点で、メインメモリ112の分割は主として概念的なものであり、メインメモリ112は、装置100のさまざまな機能ブロックが実行するデータの記憶およびデータへのアクセスに対して機能的に分割されるという点を理解されたい。
より詳細には、図3を参照すると、メインメモリ112は、好ましくは、DRAMなどの、データ記憶位置112Aを複数有する公知の技術のいずれかを利用して実装することができる。説明のために、各データ位置112Aは1データバイトを表し、各バイトは、例えば、8ビット、16ビット、32ビット、64ビット等を有するとする。データ記憶位置112Aは、16進アドレス、すなわち0000、0001、0002、...003F、...023F等で示されている。この例では、図3のメインメモリ112は、1,024のデータ記憶位置112Aを有し、それぞれの位置112Aに1データバイトを記憶することができるとする。このメインメモリ112のサイズは例に過ぎず、本発明の範囲を限定することを意図するものではないことを理解されたい。
図2のアクション200に説明を戻すと、メインメモリ112は二次元のデータブロック120に分割されており、さらに図3を参照すると、メインメモリ112のデータ記憶位置112Aは、好ましくはデータブロック120に編成されており、例えばアドレス0000〜003Fに記憶されている全ピクセル情報(すなわちデータバイト)を格納している。説明のために、画像の1ピクセルを表すための情報が、4データバイト(例えば、グレースケール情報に1バイト、色情報に1バイトなど)を必要とするとさらに想定する。このため、この例では、図3のメモリ112は、144個のピクセルに関する情報を記憶することができる。各データブロック120は、メインメモリ112に記憶されている144個のピクセルからなるサブセットに関する情報を格納している。各データブロック120は、好ましくは二次元の矩形ブロックであり、それぞれのピクセルのサブセットに関する情報がXYデカルト座標系に配置される。
図2,3を参照すると、アクション202(図2)で、各データブロック120が好ましくは複数のデータ単位122(図3)に分割され、このとき、各データ単位122はピクセルのそれぞれ1つに関する情報を格納している。上に挙げた例では、図3の各データ単位122は4データバイトを有する。本発明に従ってデータ単位122を編成する方法は数多くあるが、ジグザグパターンで直線状に並ぶように、データ単位122を左から右、上から下の順で編成することが好ましい。この場合、データバイトのアドレスは、順に(先頭のデータ単位122の)0000、0001、0002、0003、(次のデータ単位122の)0004、0005、0006、0007、…と続く。データブロック120の全体について、後続のデータ単位122の後続のデータバイトが、左から右(X方向)に、上から下に(Y方向)に並んでいく。
図4に示すように、メインメモリ112内の別のピクセル群に関連する情報は、好ましくは別のデータブロック120に分割されており、このデータブロック120は二次元のX、Yの格子に配置されている。上に挙げた例では、これにより、中央ブロック(名称表示なし)、左上データブロック、上データブロック、右上データブロック、左データブロック、右データブロック、左下データブロック、下データブロック、および右下データブロックの9個のデータブロック120が形成されている。左上データブロック120(すなわち図3のデータブロック120)がアドレス0000〜003Fに記憶されているデータバイトに関連する情報を表すと想定すると、図4の中央ブロックは、メインメモリ112のアドレス0100〜013Fに記憶されているピクセル情報を格納している。
メモリコントローラ110に採用されているアルゴリズムによって、キャッシュメモリ114内の特定のキャッシュラインに、データブロック120全体のピクセル情報が記憶されていると想定すると、プロセッサ102が、例えば(図4の中央ブロック内の)アドレス0114に記憶されているデータバイトを要求したときに、キャッシュメモリ114が中央ブロックに関連するピクセル情報を格納していなければ、キャッシュミスが発生する。この結果、メモリコントローラ110は好ましくは、メインメモリ112から、アドレス0100〜013Fに記憶されているピクセル情報を読み込んで、この情報をキャッシュメモリ114に記憶する。
上に挙げた例では、次に行われるデータアクセス要求が、メモリ位置0115に記憶されているデータバイトに対するものである可能性が高く、このデータバイトは既にキャッシュメモリ114に記憶されているため、キャッシュヒットとなる。さらに、プロセッサ102がアドレス0114〜0117(同じデータ単位122内のアドレス)に記憶されているデータバイトを既に全て要求している場合には、次に行われるデータアクセス要求の対象が、中央データブロック120に存在する可能性もあれば、存在しない可能性もある。実際、次に行われるデータアクセス要求が、隣接するデータブロック120(例えば左上データブロック120、上データブロック120、右上データブロック120など)に存在するデータバイトに対するものである可能性がある。事実、次に要求されたデータバイトが、キャッシュメモリ114に記憶していない隣接データブロック120に存在する場合にはキャッシュミスが発生する。
本発明は、別のデータブロックにあるデータに対する要求に基づいて、1つ以上の隣接データブロック120をキャッシュメモリ114にプリフェッチすることによって、キャッシュヒット率を向上させる方法ならびに装置を得ることを意図するものである。これを実現するため、アクション204(図2)で、各データブロック120が好ましくは複数のゾーンに分割され、各ゾーンは1つ以上のデータ単位を含む。
図5を参照して例を挙げると、中央データブロック120が、ゾーン1〜ゾーン9と記された9個のゾーンに分割される。図5では、ゾーンに分割されているのは中央データブロック120だけであるが、本発明では、ゾーンに分割するデータブロック120の数は幾つであってもよく、好ましくは、各データブロック120がこのように分割される。この例では、ゾーン1、3、7、9はそれぞれデータ単位122を1つ含み、ゾーン2、4、6、8はそれぞれデータ単位122を2つ含み、ゾーン5はデータ単位122を4つ含む。
アクション206(図2)で、図5の中央データブロック120などの各データブロック120内の少なくとも一部のゾーンのそれぞれが、中央データブロック120に隣接しているデータブロック120に関連付けられる。例えば、本発明の一態様によれば、ゾーン2は好ましくは上データブロック120に関連付けられ、ゾーン4は好ましくは左データブロック120に関連付けられ、ゾーン6は好ましくは右データブロック120に関連付けられ、ゾーン8は好ましくは下データブロック120に関連付けられる。中央データブロック120のゾーン1、3、7、9は、好ましくはどの隣接データブロック120とも関連付けられない。同様に、中央データブロック120のゾーン5は、好ましくはどの隣接データブロック120とも関連付けられない。このように関連付けをする理由、および/または関連付けをしない理由は、本明細書で詳細に後述する。
アクション208(図2)で、プロセッサ102は、好ましくはアクセス要求(1つ以上のデータバイトのアドレスなど)を生成する。上記したように、このデータバイトは、データブロック120のゾーンのデータ単位122に存在する。このアクセス要求は、好ましくはアドレスレジスタ104とメモリコントローラ110に与えられる(アクション208)。メモリコントローラ110は、好ましくは、このアクセス要求がキャッシュメモリ114のキャッシュラインに関連付けられている複数のキャッシュタグのうちのいずれか1つと一致するかどうかを判定する。キャッシュヒットの場合、すなわち、アクセス要求がキャッシュメモリ114に記憶されているデータと一致した場合、要求されたデータバイトがキャッシュメモリ114から読み出されて、プロセッサ102(および/または他の任意の適切なデバイスまたはプロセス)に提供される。
本発明の1つ以上の別の態様よれば、アドレスレジスタ104は、好ましくはこのアクセス要求(すなわち要求されたデータバイトのアドレス)をアドレスデコーダ106に与える。アドレスデコーダ106は、好ましくはこのアクセス要求をデコード、すなわち要求されたデータバイトのアドレスをデコードして、そのデータバイトが存在するゾーンを特定するように動作可能である(アクション210)。例えば、アドレスデコーダ106は、要求されたデータバイトが存在するゾーンを特定する際に、好ましくはそのアドレスの特定のビットを分析するように動作可能である。この点について、図6を参照してさらに詳細に説明する。中央データブロック120は、9個のゾーンに分割されており、これらのゾーンは、左境界線130(隣接する左データブロック120と共通)、右境界線132(隣接する右データブロック120と共通)、上境界線134(隣接する上データブロック120と共通)、および下境界線136(隣接する下データブロック120と共通)によって画定されている。これらのゾーンは、上境界線134から下境界線136まで延びる左分割線140、同様に上境界線134から下境界線136まで延びる右境界線、左境界線130から右境界線132まで延びる上分割線144、および同様に左境界線130から右境界線132まで延びる下分割線146によってさらに画定されている。
この境界線および分割線の例によると、ゾーン1(左上ゾーン)は、左境界線130、上境界線134、上分割線144、および左分割線140の間に存在する1つのデータ単位122を有する。ゾーン2(上ゾーン)は、上境界線134と上分割線144との間に存在する2つのデータ単位122を有する。ゾーン3(右上ゾーン)は、右境界線132、上境界線134、上分割線144、および右分割線142の間に存在する1つのデータ単位122を有する。ゾーン4(左ゾーン)は、左境界線130と左分割線140との間に存在する2つのデータ単位122を有する。ゾーン5(中央ゾーン)は、左分割線140、右分割線142、上分割線144、および下分割線146の間に存在する4つのデータ単位122を有する。ゾーン6(右ゾーン)は、右境界線132と右分割線142との間に存在する2つのデータ単位122を有する。ゾーン7(左下ゾーン)は、左境界線130、下境界線136、下分割線146、および左分割線140の間に存在する1つのデータ単位122を有する。ゾーン8(下ゾーン)は下境界線136と下分割線146との間に存在する2つのデータ単位122を有する。最後に、ゾーン9(右下ゾーン)は、右境界線132、下境界線136、下分割線146、および右分割線142の間に存在する1つのデータ単位122を有する。
上述の例では、左分割線140、右分割線142、上分割線144、および下分割線146は、中央データブロック120(さらには任意のデータブロック120)に記憶されているデータバイトのアドレスの特定のビットによって定義することができる。実際、左分割線140と右分割線142は、アクセス要求アドレスの第3ビットと第2ビットによって定義することができる(例えば、これらからデコードまたは確認されても、この両方が行われてもよい)。同様に、上分割線144と下分割線146は、アクセス要求アドレスの第5ビットと第4ビットによって定義される。当業者であれば、それぞれのゾーンの境界を定義またはデコードするために使用するアドレスの特定のビットは、データブロック120のサイズ、データ単位122のサイズ、バイトのサイズ、および境界線と分割線の位置や経路によって決まることを理解されよう。
上述の例では、アドレスデコーダ106は、好ましくはアクセス要求アドレスのビット5、4、3、2を分析して、要求されたデータバイトが存在するゾーンを特定する(図2のアクション210)。アクション212で、特定されたゾーンが隣接データブロック120に関連付けられているかどうかを判定する。プリフェッチアドレスジェネレータ108は、好ましくはアクション206で定義した関連付けに基づいてこの判定を行うように動作可能である。例えば、アクセス要求アドレスが011Cの場合(図5)、アドレスデコーダ106は、好ましくはアクセス要求アドレスの上記のビットを分析して、要求されたデータバイトがゾーン6に存在することを特定する。プリフェッチアドレスジェネレータ108は、好ましくはこの情報を受け取って、ゾーン6が隣接データブロック120に関連付けられているかどうかを判定する。上に挙げた例では、ゾーン6は、右データブロック120に関連付けられている。これにより、プリフェッチアドレスジェネレータ108は、好ましくは、メインメモリ112から右データブロック120をキャッシュメモリ114にプリフェッチするよう求める要求を生成する(アクション214)。アドレスデコーダ106によって特定されたゾーンが隣接データブロック120に関連付けられていない場合(アクション212)、手順フローは好ましくはアクション208に分岐して、プロセッサ102から次のアクセス要求を受け取る。
図5を参照すると、ゾーン2、ゾーン4、ゾーン6、およびゾーン8は、ある一定の仮定に基づいて、上データブロック120、左データブロック120、右データブロック120、および下データブロック120にそれぞれ関連付けされた点に留意されたい。例えば、現在のアクセス要求が中央データブロック120のゾーン2に存在するデータバイトに対するものである場合、次のアクセス要求は、上データブロック120に対して行われる可能性が高いと仮定した。ゾーン4と左データブロック120、ゾーン6と右データブロック120、およびゾーン8と下データブロック120の間の関係についても同じように仮定した。
さらに、現在のアクセス要求がゾーン5に存在するデータバイトに対するものである場合には、次のアクセス要求が、中央データブロック12以外に対して行われる可能性は低いと仮定した。ゾーン1、ゾーン3、ゾーン7、およびゾーン9については、次のアクセス要求が隣接データブロック120に対するものである可能性があるものの、この隣接データブロック120が左データブロックである可能性、左上データブロックである可能性、および上データブロックである可能性は同程度であると仮定した。このため、例えばゾーン1とこれらの隣接データブロック120のうちの特定の1つとを関連付けたからといって、キャッシュヒット率が必ずしも向上するわけでない。当然、状況の緊急度が高い場合には、ゾーン1、ゾーン3、ゾーン7、および/またはゾーン9と、隣接データブロック120の1つ以上とを関連付けることが有用なこともあり、このため、本発明のさらに別の態様に従ってこの点が考察される。
図5,図6に示すゾーン構成は、本発明に必須というわけではない。図7A,7Bに別法によるゾーン構成を示す。これらのゾーン構成についても例に過ぎず、本発明の範囲を限定することを意図するものではない。
本発明の少なくとも1つの別の態様によれば、メインメモリ112とキャッシュメモリ114とを制御するための方法ならびに装置は、図1に示すような適切なハードウェアを用いて実現することができる。この種のハードウェアは、公知の技術のいずれかを用いて実装することができる。この例には、標準的なディジタル回路、ソフトウェアプログラムおよび/またはファームウェアプログラムを実行するように動作可能な公知のプロセッサのいずれか、プログラマブル読出し専用メモリ(PROM)、プログラマブルアレイロジックデバイス(PAL)などの、1つ以上のプログラム可能なディジタル装置またはシステムなどがある。さらに、図1に示した装置100は、特定の機能ブロックに分けて図示しているが、これらのブロックは、別個の回路によって実施しても、1つ以上の機能単位を結合しても、この両方を行ってもよい。さらに、本発明は、持ち運んだり配布したり、あるいはこの両方を行えるように、適切な記憶媒体(フロッピーディスク、メモリチップなど)に記憶可能なソフトウェアプログラムおよび/またはファームウェアプログラムによって実装されてもよい。
本明細書に記載し、特許を請求するメモリ制御のための方法ならびに装置は、例えばグラフィックアプリケーションで使用されるメモリの線形性と高い局所性とに付随する特性を有利に利用する。キャッシュヒットが大幅に向上し、このため、メモリ効率、処理のスループット、およびグラフィックの画質の向上が達成される。
本明細書において、具体的な実施形態を用いて本発明を記載したが、これらの実施形態は、本発明の原理および応用の例を示すものに過ぎないことを理解されたい。このため、添付の請求の範囲に記載した本発明の趣旨および範囲から逸脱することなく、これら例示的な実施形態を種々に変更したり、上記以外の構成を考案し得ることが理解されよう。
本発明の1つ以上態様に従ってメモリを制御するために適した装置の態様(および/または方法の態様)を示すブロック図である。 図1に示したような本発明の1つ以上の態様に従って実行および/または実装され得る特定のアクション/機能を示すフローチャートである。 図1に示した装置(および/または方法の態様)と共に使用され得るメモリの特定の特徴を示す概念ブロック図である。 図3のメモリの概念を詳細に示す別の概念ブロック図である。 図3のメモリの概念を詳細に示すさらに別の概念ブロック図である。 図3のメモリのデータブロックの特定の態様を詳細に示す概念ブロック図である。 本発明の1つ以上の別の態様による、メモリの制御および/または実装に関し、図5に示した概念の別例を詳細に示す概念ブロック図である。 本発明の1つ以上の別の態様による、メモリの制御および/または実装に関し、図5に示した概念の別例を詳細に示す概念ブロック図である。

Claims (16)

  1. 複数の二次元のブロックに分割されているメインメモリを有し、各ブロックは1つ以上のデータバイトを有する複数のデータ単位を備え、各所定のブロックは複数のゾーンに分割されており、各ゾーンは前記データ単位を1つ以上備えるとともに前記ゾーンの少なくとも一部は、前記所定のブロックに隣接する対応するブロックに関連付けられているものであり、
    前記メインメモリのデータバイトに対するアドレスを受け取ると共に、前記アドレスをデコードして、対応するデータバイトが存在するゾーンを特定するように動作可能なアドレスデコーダと、
    前記アドレスデコーダが対応するゾーンに存在するデータバイトのアドレスを受け取ると、前記対応するゾーンに関連付けられているブロックをキャッシュメモリにプリフェッチするように動作可能なプリフェッチアドレスジェネレータと、を有するメモリ制御装置。
  2. 前記各ブロックは、左の隣接ブロックと当該ブロックとで共有する左境界線、右の隣接ブロックと当該ブロックとで共有する右境界線、上の隣接ブロックと当該ブロックとで共有する上境界線、および下の隣接ブロックと当該ブロックとで共有する下境界線、のうちの少なくとも1つを有し、
    前記各ブロックは、前記左の隣接ブロックに関連付けられて前記左境界線に沿って配置されたデータ単位を少なくとも1つ有する左ゾーン、前記右の隣接ブロックに関連付けられて前記右境界線に沿って配置されたデータ単位を少なくとも1つ有する右ゾーン、前記上の隣接ブロックに関連付けられて前記上境界線に沿って配置されたデータ単位を少なくとも1つ有する上ゾーン、および前記下の隣接ブロックに関連付けられて前記下境界線に沿って配置されたデータ単位を少なくとも1つ有する下ゾーン、のうちの少なくとも1つを有する請求項1に記載の装置。
  3. 前記左ゾーンは前記上境界線から前記下境界線まで延びる左分割線によって少なくともその一部が画定されており、前記左ゾーンは前記左境界線と前記左分割線との間に存在するデータ単位の少なくとも一部を有するものであり、
    前記右ゾーンは前記上境界線から前記下境界線まで延びる右境界線によって少なくともその一部が確定されており、前記右ゾーンは前記右境界線と前記右分割線との間に存在するデータ単位の少なくとも一部を有するものであり、
    前記上ゾーンは前記左境界線から前記右境界線まで延びる上境界線によって少なくともその一部が画定されており、前記上ゾーンは前記上境界線と前記上分割線との間に存在するデータ単位の少なくとも一部を有するものであり、
    前記下ゾーンは前記左境界線から前記右境界線まで延びる下境界線によって少なくともその一部が画定されており、前記下ゾーンは前記下境界線と前記下分割線との間に存在するデータ単位の少なくとも一部を有するものである、請求項2に記載の装置。
  4. 前記左分割線、前記右分割線、前記上分割線、および前記下分割線は、前記アドレスの特定のビットに対応付けられており、前記アドレスデコーダは、前記アドレスをデコードして、前記特定のビットに基づいて前記対応するデータバイトが存在するゾーンを特定するように動作可能である請求項3に記載の装置。
  5. 各ブロックは、前記左分割線、前記右分割線、前記上分割線、および前記下分割線の間に存在する1つ以上のデータ単位を有する中央ゾーンを有し、前記中央ゾーンはどの隣接ブロックとも関連付けられていない請求項3に記載の装置。
  6. 各ブロックは、
    前記左境界線、前記上境界線、前記上分割線および前記左分割線の間に存在するデータ単位を有し、どの隣接ブロックとも関連付けられていない左上ゾーンと、
    前記左境界線、前記下境界線、前記下分割線および前記左分割線の間に存在するデータ単位を有し、どの隣接ブロックとも関連付けられていない左下ゾーンと、
    前記右境界線、前記上境界線、前記上分割線および前記右分割線の間に存在するデータ単位を有し、どの隣接ブロックとも関連付けられていない右上ゾーンと、
    前記右境界線、前記下境界線、前記下分割線および前記右分割線の間に存在するデータ単位を有し、どの隣接ブロックとも関連付けられていない右下ゾーンと、のうちの少なくとも1つを有する請求項3に記載の装置。
  7. メインメモリを複数の二次元のブロックに分割すると共に、各ブロックをデータバイトを1つ以上含む複数のデータ単位に分割するステップと、
    前記メインメモリの各ブロックを、前記データ単位を1つ以上有する複数のゾーンに分割するステップと、
    前記ブロックのうちの少なくとも1つのブロックの少なくとも1つのゾーンを他のブロックに関連付けるステップと、
    前記少なくとも1つのゾーンに存在する前記データ単位のうちの1つのデータバイトの1つ以上がアドレス指定された場合に、前記他のブロックの少なくとも一部をキャッシュメモリにプリフェッチするステップと、を有する方法。
  8. メインメモリを複数の二次元のブロックに分割すると共に、各ブロックをデータバイトを1つ以上含む複数のデータ単位に分割するステップと、
    前記メインメモリの各ブロックを、前記データ単位を1つ以上有する複数のゾーンに分割するステップと、
    各ブロックの対応するゾーンの少なくとも一部を前記ブロックのうちの別のブロックに関連付けるステップと、
    前記別のブロックのうちの1つのブロックに関連付けられているゾーンのいずれかにあるデータ単位のいずれかがアドレス指定された場合に、そのブロックの少なくとも一部をキャッシュメモリにプリフェッチするステップと、を有する方法。
  9. 各ブロックの前記少なくとも一部のゾーンのそれぞれは1つの隣接するブロックに関連付けられている請求項8に記載の方法。
  10. 各ブロックの少なくとも1つのゾーンは、そのブロックと、関連付けられている隣接ブロックとの間の境界線に沿って配置されている請求項9に記載の方法。
  11. 各ブロックは、そのブロックと、関連付けられている対応する隣接ブロックとの各境界線に沿って配置されている対応するゾーンを有する請求項10に記載の方法。
  12. メインメモリを複数の二次元の矩形ブロックに分割するステップであって、各ブロックは共通の境界線に沿って他のブロックのうちの少なくとも1つと隣接しており、各データブロックは、データバイトを1つ以上含む複数のデータ単位を有するステップと、
    前記メインメモリの各ブロックを、前記データ単位を1つ以上有する複数のゾーンに分割するステップと、
    各所定のブロックの対応するゾーンの少なくとも一部を前記所定のブロックに隣接するブロックの対応する別のブロックと関連付けるステップと、
    前記別のブロックのうちの所定のブロックに関連付けられているゾーンのいずれかにあるデータ単位のいずれかがアドレス指定された場合に、そのブロックをキャッシュメモリにプリフェッチするステップと、を有する方法。
  13. 前記各ブロックは、左の隣接ブロックと共通の左境界線、右の隣接ブロックと共通の右境界線、上の隣接ブロックと共通の上境界線、および下の隣接ブロックと共通の下境界線のうちの少なくとも1つを有し、
    前記各ブロックは、前記左の隣接ブロックに関連付けられており、前記左境界線に沿って配置されたデータ単位を少なくとも1つ有する左ゾーン、前記右の隣接ブロックに関連付けられており、前記右境界線に沿って配置されたデータ単位を少なくとも1つ有する右ゾーン、前記上の隣接ブロックに関連付けられており、前記上境界線に沿って配置されたデータ単位を少なくとも1つ有する上ゾーン、および前記下の隣接ブロックに関連付けられており、前記下境界線に沿って配置されたデータ単位を少なくとも1つ有する下ゾーンのうちの少なくとも1つを有する請求項12に記載の方法。
  14. 前記左ゾーンは前記上境界線から前記下境界線まで延びる左分割線によって少なくとも一部画定されており、前記左ゾーンは前記左境界線と前記左分割線との間に存在するデータ単位の少なくとも一部を有し、
    前記右ゾーンは前記上境界線から前記下境界線まで延びる右境界線によって少なくとも一部画定されており、前記右ゾーンは前記右境界線と前記右分割線との間に存在するデータ単位の少なくとも一部を有し、
    前記上ゾーンは前記左境界線から前記右境界線まで延びる上境界線によって少なくとも一部画定されており、前記上ゾーンは前記上境界線と前記上分割線との間に存在するデータ単位の少なくとも一部を有し、
    前記下ゾーンは前記左境界線から前記右境界線まで延びる下境界線によって少なくとも一部画定されており、前記下ゾーンは前記下境界線と前記下分割線との間に存在するデータ単位の少なくとも一部を有する請求項13に記載の方法。
  15. 各ブロックは、前記左分割線、前記右分割線、前記上分割線、および前記下分割線の間に存在する1つ以上のデータ単位を有する中央ゾーンを有し、前記中央ゾーンはどの隣接ブロックとも関連付けられていない請求項14に記載の方法。
  16. 各ブロックは、
    前記左境界線、前記上境界線、前記上分割線および前記左分割線の間に存在するデータ単位を有し、どの隣接ブロックとも関連付けられていない左上ゾーンと、
    前記左境界線、前記下境界線、前記下分割線および前記左分割線の間に存在するデータ単位を有し、どの隣接ブロックとも関連付けられていない左下ゾーンと、
    前記右境界線、前記上境界線、前記上分割線および前記右分割線の間に存在するデータ単位を有し、どの隣接ブロックとも関連付けられていない右上ゾーンと、
    前記右境界線、前記下境界線、前記下分割線および前記右分割線の間に存在するデータ単位を有し、どの隣接ブロックとも関連付けられていない右下ゾーンと、のうちの少なくとも1つを有する請求項14に記載の方法。
JP2004517262A 2002-07-01 2003-06-24 キャッシュメモリへのプリフェッチを制御するための方法ならびに装置 Expired - Fee Related JP4005083B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/187,072 US6816946B2 (en) 2002-07-01 2002-07-01 Methods and apparatus for controlling a cache memory
PCT/JP2003/007959 WO2004003753A1 (en) 2002-07-01 2003-06-24 Methods and apparatus for controlling a cache memory

Publications (2)

Publication Number Publication Date
JP2005531847A true JP2005531847A (ja) 2005-10-20
JP4005083B2 JP4005083B2 (ja) 2007-11-07

Family

ID=29779984

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004517262A Expired - Fee Related JP4005083B2 (ja) 2002-07-01 2003-06-24 キャッシュメモリへのプリフェッチを制御するための方法ならびに装置

Country Status (7)

Country Link
US (1) US6816946B2 (ja)
EP (1) EP1518178B1 (ja)
JP (1) JP4005083B2 (ja)
KR (1) KR100688875B1 (ja)
AU (1) AU2003243005A1 (ja)
TW (1) TWI232374B (ja)
WO (1) WO2004003753A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012190382A (ja) * 2011-03-14 2012-10-04 Dainippon Printing Co Ltd 画像変形装置および命令付加装置

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7493450B2 (en) * 2003-04-14 2009-02-17 Hewlett-Packard Development Company, L.P. Method of triggering read cache pre-fetch to increase host read throughput
JP2005313627A (ja) * 2004-03-31 2005-11-10 Seiko Epson Corp 液体噴射装置及び液体噴射装置の液体吐出方法
US7877546B2 (en) * 2004-08-09 2011-01-25 International Business Machines Corporation System, method, and circuit for retrieving data in data blocks into a cache memory from a mass data storage device based on a triggering event
US9026744B2 (en) 2005-03-23 2015-05-05 Qualcomm Incorporated Enforcing strongly-ordered requests in a weakly-ordered processing
KR100654462B1 (ko) * 2005-08-24 2006-12-06 삼성전자주식회사 캐쉬 메모리를 메모리 블록으로 나누어 파일의 데이터를저장하는 캐쉬 방법 및 캐쉬 시스템
US8195889B2 (en) * 2009-03-25 2012-06-05 Advanced Micro Devices, Inc. Hybrid region CAM for region prefetcher and methods thereof
US8988531B2 (en) 2010-07-08 2015-03-24 Texas Instruments Incorporated Method and apparatus for sub-picture based raster scanning coding order
US8560719B2 (en) * 2011-09-14 2013-10-15 Mobitv, Inc. Fragment server directed device fragment caching
KR20130081526A (ko) 2012-01-09 2013-07-17 삼성전자주식회사 저장 장치, 그것을 포함하는 전자 장치, 및 그것의 데이터 관리 방법들
US20140184630A1 (en) 2012-12-27 2014-07-03 Scott A. Krig Optimizing image memory access
WO2014143036A1 (en) 2013-03-15 2014-09-18 Intel Corporation Method for pinning data in large cache in multi-level memory system
JP6127964B2 (ja) * 2013-12-26 2017-05-17 ソニー株式会社 信号切換装置および信号切換装置の動作制御方法
WO2015120825A1 (en) * 2014-02-17 2015-08-20 Mediatek Inc. Data access methods and data access devices utilizing the same
US9788078B2 (en) * 2014-03-25 2017-10-10 Samsung Electronics Co., Ltd. Enhanced distortion signaling for MMT assets and ISOBMFF with improved MMT QoS descriptor having multiple QoE operating points
WO2019127487A1 (zh) 2017-12-29 2019-07-04 华为技术有限公司 一种数据预取方法、装置和存储设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995012165A1 (en) * 1993-10-22 1995-05-04 Gestalt Technologies, Incorporated Distributed management in a partitioned memory system
US5752037A (en) * 1996-04-26 1998-05-12 Hewlett-Packard Company Method of prefetching data for references with multiple stride directions
US6629188B1 (en) * 2000-11-13 2003-09-30 Nvidia Corporation Circuit and method for prefetching data for a texture cache
JP4093741B2 (ja) * 2001-10-03 2008-06-04 シャープ株式会社 外部メモリ制御装置およびそれを含んだデータ駆動型情報処理装置
US20030154349A1 (en) * 2002-01-24 2003-08-14 Berg Stefan G. Program-directed cache prefetching for media processors
US6760818B2 (en) * 2002-05-01 2004-07-06 Koninklijke Philips Electronics N.V. Memory region based data pre-fetching

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012190382A (ja) * 2011-03-14 2012-10-04 Dainippon Printing Co Ltd 画像変形装置および命令付加装置

Also Published As

Publication number Publication date
KR100688875B1 (ko) 2007-03-02
TW200402624A (en) 2004-02-16
US6816946B2 (en) 2004-11-09
JP4005083B2 (ja) 2007-11-07
TWI232374B (en) 2005-05-11
EP1518178B1 (en) 2019-01-23
WO2004003753A1 (en) 2004-01-08
EP1518178A1 (en) 2005-03-30
AU2003243005A1 (en) 2004-01-19
KR20050024371A (ko) 2005-03-10
US20040003178A1 (en) 2004-01-01

Similar Documents

Publication Publication Date Title
JP4005083B2 (ja) キャッシュメモリへのプリフェッチを制御するための方法ならびに装置
US7805587B1 (en) Memory addressing controlled by PTE fields
JP3172950B2 (ja) 予測キャッシングシステム
JPH08328958A (ja) 命令キャッシュ、キャッシュメモリ装置及びその方法
CN103370728B (zh) 用于图形处理的数据存储地址指派的方法和设备
US8180965B2 (en) System and method for cache access prediction
KR102366808B1 (ko) 캐시 메모리 시스템 및 그 동작방법
JP2002373115A (ja) 共有キャッシュメモリのリプレイスメント制御方法及びその装置
US10032246B2 (en) Approach to caching decoded texture data with variable dimensions
US20100153645A1 (en) Cache control apparatus and method
JP2009528612A (ja) データ処理システム並びにデータ及び/又は命令のプリフェッチ方法
JP2004030000A (ja) 共有キャッシュメモリのヒット判定制御方法及び共有キャッシュメモリのヒット判定制御方式
JP2010097557A (ja) セットアソシアティブ方式のキャッシュ装置及びキャッシュ方法
US20050225557A1 (en) Method and apparatus for reading texture data from a cache
US10585803B2 (en) Systems and methods for addressing a cache with split-indexes
US20140122807A1 (en) Memory address translations
JP5071977B2 (ja) キャッシュメモリーを管理するシステムと方法
US20120124324A1 (en) Method and apparatus for translating memory access address
CN107861890A (zh) 访存处理方法、装置及电子设备
US20090055574A1 (en) NAND Flash Memory Device And Related Method Thereof
US20050268021A1 (en) Method and system for operating a cache memory
JP4534488B2 (ja) データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
JP3540388B2 (ja) コンピュータシステム
TW201335882A (zh) 圖形處理單元及其圖形資料存取方法
JPH04153753A (ja) キャッシュメモリ制御方式

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070612

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070808

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070822

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4005083

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100831

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110831

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120831

Year of fee payment: 5

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

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130831

Year of fee payment: 6

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

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

LAPS Cancellation because of no payment of annual fees