JP3172950B2 - 予測キャッシングシステム - Google Patents

予測キャッシングシステム

Info

Publication number
JP3172950B2
JP3172950B2 JP19746691A JP19746691A JP3172950B2 JP 3172950 B2 JP3172950 B2 JP 3172950B2 JP 19746691 A JP19746691 A JP 19746691A JP 19746691 A JP19746691 A JP 19746691A JP 3172950 B2 JP3172950 B2 JP 3172950B2
Authority
JP
Japan
Prior art keywords
address
write
access
read
pattern
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
JP19746691A
Other languages
English (en)
Other versions
JPH06342403A (ja
Inventor
カーチス・プリーム
クリス・マラコフスキイ
ロバート・ロチェッティ
デヴィッド・ローゼンタール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH06342403A publication Critical patent/JPH06342403A/ja
Application granted granted Critical
Publication of JP3172950B2 publication Critical patent/JP3172950B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/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
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6026Prefetching based on access pattern detection, e.g. stride based prefetch

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

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータシステム
で使用されるキャッシング構成に関し、特に、そのよう
なシステムが使用すると期待されるデータをキャッシン
グする方法及び装置に関する。
【0002】
【従来の技術】コンピュータシステムでは、情報を検索
するための主メモリのアクセスはシステムの動作時間の
かなりの部分を占める。その理由は様々であるが、第1
に、主メモリがランダムアクセスメモリであることが挙
げられる。ランダムアクセスメモリは、多くの場合、相
対的に低速の記憶装置を使用することにより、そのコス
トを限度内に保つように十分に大型となっている。第2
に、主メモリの物理的な大きさを増すことなくアドレス
可能スペースを拡大するために仮想メモリ構成を使用す
るシステムにおいては、ルックアップテーブルを利用し
て仮想アドレスを物理アドレスに変換するメモリ管理装
置によって、主メモリと、磁気ディスク記憶装置などの
二次メモリの双方の情報をアドレスすることが必要であ
る。この間接アドレッシングは相当な量の時間を要す
る。
【0003】このため、さらに進んだシステムでは、シ
ステムの動作をスピードアップするためにキャッシュメ
モリを使用することが主流になってきている。キャッシ
ュメモリは相対的に容量の小さな高速の(従って、高価
な)ランダムアクセスメモリを利用し、最近使用された
命令及び/又はデータをプロセッサがそれらを使用した
ままの形で記憶する。その後、キャッシュメモリのその
ような情報を取り出して利用できるので、次にその情報
が要求されたときの関連プロセッサによるアクセスは以
前より速くなるであろう。一般的に、最近使用したばか
りの情報は他の情報と比べてすぐに使用される確率が高
いというのがキャッシングの基本理論である。キャッシ
ュメモリは、多くの場合に、主メモリとして使用するラ
ンダムアクセスメモリより物理的に高速であり、また、
物理アドレスを確定するためのルックアップ動作は不要
であるので、主メモリより高速でアドレス指定できるよ
うに構成されている。このようなキャッシング構成の動
作によって、コンピュータシステムの動作速度はある種
の情報については大きくアップしたのであった。
【0004】1つの動作を実行するに際して同一の情報
を繰り返し利用するような状況の下では、キャッシング
は十分に機能する。このような用途の例は、ルーピング
動作を含む命令を実行するときに見られる。ところが、
動作のステップごとに全く新しい情報を使用するという
状況では、キャッシングは適切に機能しないのが普通で
ある。たとえば、水平方向と垂直方向のそれぞれに約千
画素分の8ビットのビットマップカラー情報を表示する
コンピュータ出力表示装置のスクリーンを下方へ画面移
動する場合には、約1メガバイトのデータをたどること
が必要である。通常のキャッシュメモリは64キロバイ
トの情報を保持できる。画面移動の動作は、本質的に
は、第1の走査線にある情報を読み取り、その情報を上
又は下の次の走査線に書き込む。画面移動を実行するた
めにキャッシュを使用しても、そのようなフレームバッ
ファからの数本分の走査線の情報しか保持できない。従
って、初めの数本の走査線を除いて、キャッシュメモリ
に導入された情報は全く再利用されないので、動作速度
はアップしない。さらに、画面移動動作の大部分につい
て、プロセッサはキャッシュメモリを新たな情報で充填
し続けているので、キャッシュメモリを使用するほうが
しない場合よりはるかに長い動作時間を要することにな
る。そのようなキャッシュ充填動作の間、プロセッサ
は、まず、情報を求めてキャッシュメモリを調べ、キャ
ッシュメモリに情報が欠落していると判定し、ルックア
ップテーブルに目を転じて情報の物理アドレスを探し、
使用すべき情報を主メモリでアクセスし、その情報をキ
ャッシュメモリに他の情報と置き換えて記憶しなければ
ならず、そこでようやくその情報を使用するのである。
画面移動動作中、このような動作を連続して繰り返さな
ければならないので、動作が単純な主メモリのアクセス
より長い時間を要することは以外ではなくなってしま
う。
【0005】コンピュータの動作速度を増す方法の1つ
によれば、動作のクロックサイクルごとに1つの命令が
実行されるようにパイプライン化した命令をプロセッサ
が処理するように設計する。キャッシング方式を採用す
る初期のパイプライン化コンピュータシステムでは、キ
ャッシュメモリにミスが生じるたびにおよそ4つの命令
が失われることが実証されていたが、現在設計されてい
るより高速のシステムはキャッシュミスごとに64回に
もわたる命令を失う。これは高速コンピュータシステム
においては非常に大きな遅延である。このため、数多く
のシステムは、現在、システムの動作を遅延させるおそ
れのある状況ではキャッシング動作をディスエーブルす
る方式を取り入れている。そのような方式はある情報の
キャッシングが原因となる遅延をなくしはするが、その
情報の処理をスピードアップすることは全くない。
【0006】
【発明が解決しようとする課題】従って、本発明の目的
は、コンピュータシステムの動作速度を増すことであ
る。本発明の別の、さらに特定した目的は、コンピュー
タの動作において次にどの情報が使用されるかを予測
し、その期待情報をシステムによる利用に備えて小型キ
ャッシュに導入する回路を提供することにより、コンピ
ュータシステムの動作速度を増すことである。
【0007】
【課題を解決するための手段】本発明の上記の目的及び
その他の目的は、通常のシステム構成要素に加えて、シ
ステムメモリの特定の一部分と密接に関連する相対的に
小型のキャッシュメモリと、密接に関連するメモリでア
クセスされるデータのパターンを識別する手段と、識別
されたパターンから得た予測に基づいてキャッシュメモ
リを充填する手段とを具備するコンピュータシステムに
おいて実現される。本発明の上記の目的と特徴並びにそ
の他の目的と特徴は、添付の図面に関連する以下の詳細
な説明を参照することによりさらに良く理解されるであ
ろう。尚、図面中、いくつかの図を通して、同じ図中符
号は同じ要素を指す。
【0008】〔表記法及び用語〕以下の詳細な説明の中
には、コンピュータメモリ内部にあるデータビットにつ
いての操作をアルゴリズム及び記号表示によって提示し
ている部分がある。そのようなアルゴリズムによる説明
や表示は、データ処理技術に熟達している人がその作業
の内容を同じ分野の他の当業者に最も有効に伝達するた
めの手段である。
【0009】ここでは、また、一般的にも、アルゴリズ
ムは所望の結果に至る首尾一貫した一連のステップであ
ると考えられている。それらのステップは、物理的な量
の物理的操作を要求するステップである。通常、物理的
な量は記憶,転送,組み合わせ,比較及びその他の方法
による操作が可能である電気的信号又は磁気信号の形態
をとるが、必ずそうであるとは限らない。時によって
は、主に一般に使用されている用語であるという理由に
より、それらの信号をビット,値,要素,記号,文字,
項,数などと呼ぶと好都合であることがわかっている。
ただし、これらの用語及びそれに類する用語は全て適切
な物理的な量と関連させるべきものであり、単にそのよ
うな量に便宜上付されたラベルであるにすぎないことを
忘れてはならない。
【0010】さらに、実行される操作を、オペレータが
実行する知的動作と一般には関連している加算又は比較
などの用語で呼ぶ場合が多いが、本発明の一部を成す、
ここで説明する動作のいずれをとっても、そのようなオ
ペレータの能力は不要であり、多くの場合に望ましくな
い。動作は機械の動作である。本発明の動作を実行する
のに有用な機械には、汎用デジタルコンピュータ又は他
の同様の装置がある。いずれにせよ、コンピュータを動
作させる際の方法動作と、計算それ自体の方法との明確
な区別に留意すべきである。本発明は、電気的信号又は
他の物理的(たとえば、機械的,化学的)信号を処理し
て、別の所望の物理的信号を発生させるに際してコンピ
ュータを動作させる装置及び方法ステップに関する。
【0011】
【実施例】まず、図1に関して説明すると、図1には、
典型的なワークステーションで使用するフレームバッフ
ァ10が線図で示されている。この明細書では、便宜
上、フレームバッファ10は、水平方向に各走査線に沿
って約千個の画素を有し且つ垂直方向には約千本の走査
線を有するビットマップ形コンピュータ出力表示装置に
表示するためのデータを保持することができると考えて
も良い。通常、ここに実例として示したフレームバッフ
ァ10は画素ごとに8ビットの情報を保持し、従って、
スクリーン表示のためのデータとしては合わせて約1メ
ガバイトのデータを保持できるものと考えられる。
【0012】一般に、ここでは、便宜上、各画素の情報
は、その画素が出力表示装置に現れる位置とほぼ同じで
あるフレームバッファ10の位置に記憶されるものと考
える。これは必ずしも真実ではないが、少なくとも論理
的には正しい言いかたであり、そのように考えることに
よって、おそらく幾分かは理解が容易になるであろう。
従って、フレームバッファ10に記憶されている情報が
表わす画素は、コンピュータ出力表示装置にそれらの画
素が表示されるであろう位置と同じフレームバッファ1
0の位置に記憶されるものとして図示してある。たとえ
ば、図1に線分12,13及び14として示したベクト
ルは、表示スクリーンにそれらのベクトルが現れるのと
同じ位置であるフレームバッファ10の画素位置(論理
的であれ、物理的であれ)に記憶される。
【0013】図2は、図1に示した線分12,13及び
14それぞれの一部を含むフレームバッファ10の一部
分15を拡大し、10×10画素に限定して示す図であ
る。図2に示されている線分13の部分は、フレームバ
ッファの水平方向の1つの行に沿って互いに連続して記
憶された10個の画素により表される。この情報は出力
表示装置の1本の走査線に沿って現れる。図2に示され
ている線分14の部分は、フレームバッファの1つの列
に互いに上下に隣接して記憶された10個の画素により
表されており、それらの画素は出力表示装置の10本の
隣接する走査線上に表示される。図2に示されている線
分12の部分は、フレームバッファのいくつかの隣接す
る水平の行に記憶された画素により表されており、それ
らの画素は出力表示装置の何本かの隣接する走査線上に
現れることになる。尚、各走査線上にある画素は互いに
連続し、隣接して位置している。
【0014】3つの線分12,13及び14は、コンピ
ュータシステムのビットマップ形出力表示装置に表示す
るためにフレームバッファに記憶される様々な要素の中
でも典型的なものである。そのような要素は、ほぼあら
ゆる形状のより大きな図形を構成するために使用されて
も良い。3つの異なる線分12,13及び14をよく見
てみると、線分13をフレームバッファに記憶するとき
には、画素は同じ行に位置し、線形アドレスは互いにす
ぐ隣あっていることが当業者には認められるであろう。
汎用システムキャッシュメモリを充填しているとき、シ
ステムはアクセスされた特定の情報だけではなく、アク
セスされたその情報に隣接しており、間を置かずにアク
セスされそうである情報をもキャッシュメモリに書き込
むのが普通である。従って、線分13のある位置がアク
セスされたならば、プロセッサと関連する典型的なキャ
ッシュメモリには、通常、その線分のアクセスされた位
置に隣接する画素を規定する情報が保持されるので、始
動時のキャッシュミス以外のものを引き起こさずにそれ
らの画素をもアクセスできるのである。
【0015】これに対し、線分14は、それぞれXの値
は同じであるが、すぐ前にアクセスされた行より1行だ
け下方に位置するアドレスを有する複数の画素により表
されている。キャッシュメモリの大きさと、実行されて
いる動作にもよるが、表示の更新を行うときには、線分
14上の1つの位置を初めてアクセスした後、同じ行に
互いにすぐ隣接している画素のみがキャッシュメモリに
保持されるのが普通である。そのため、線分14をアク
セスするときには、線分14を出力表示装置に書き込む
ためにキャッシュメモリを読み取ってゆく際に線分14
の画素ごとにキャッシュミスが起こる可能性がある。ま
た、線分12を表している画素は、個々の行では互いに
すぐ隣接しているが、行ごとにY方向に画素1つずつず
れているアドレスを有する。線分14の場合と同様に、
通常、典型的なキャッシュには、アクセスされた画素と
同じ行にある線分12の画素のみが記憶されることにな
る。そこで、出力表示装置に線分12を書き込むときに
は、走査線ごとにキャッシュミスが起こってしまうの
で、図2に示した線分12の部分については合わせて3
回のキャッシュミスが起こる。
【0016】しかしながら、図2に示す線分のいずれを
読み取る又は書き込むときでも、読み取るべき次の画素
又は書き込むべき次の画素は、フレームバッファの中で
最前に記述された画素からX方向及び/又はY方向に1
画素以内にあるアドレスを有する画素となる。図2に
は、フレームバッファに記憶されるそのような9個の隣
接画素から成る画素群を表わすボックス17が重ねて示
されている。表示装置にある線分を表示するために現在
アクセス中である画素がボックス17の中の9個の画素
の中心位置にあると考えられる場合には、同じ線分を表
示している限り、次にアクセスすべき画素は残る8つの
画素位置の中の1つに位置することになる。連続するど
のような線分に関しても、これはフレームバッファの読
み取りアクセスと、書き込みアクセスの双方について当
てはまる。
【0017】従って、線分に関連してフレームバッファ
において読み取り動作と書き込み動作が実行されるたび
に、任意の形状の線分が表示されている限り、次の画素
のアドレスを正確に予測できるであろう。線分が始まる
か又は終わるときに限って、次の画素の位置を正確に予
測することは不可能である。線を表示してゆくときの次
の画素アドレスを正確に予測できるので、どのような線
分を表すときにも、次に起こりうる画素のアドレスにデ
ータを記憶するために小型のキャッシュを使用できる。
説明した2つの動作(読み取り及び書き込み)につい
て、このようなキャッシュは、次のアクセス時にキャッ
シュミスが起こらないと確認するために、現在アクセス
中である位置に関するデータと、現在位置を取り巻く8
つの画素位置に関するデータとを保持するだけで良い。
【0018】このようなキャッシュはごく小さい(記憶
場所は9つ)が、得られる速度の増加は決して小さくな
い。たとえば、中央処理装置と関連する通常のキャッシ
ュを使用する場合、線分14に関する画素を出力表示装
置に書き込めるようにフレームバッファから読み取ると
きには、画素ごとにキャッシュミスが起こると予期する
ことができる。表示すべき線分が10画素の長さであれ
ば、64回までの命令回数をもつパイプライン化アーキ
テクチャにおける遅延はそのような線分を描いている間
に10回起こるであろう。ところが、ここで説明する小
型キャッシュを使用すると、線分14の最初の画素でキ
ャッシュミスが起こるだけであろうと考えられるので、
動作は総じて64回の命令回数を9倍した程度までスピ
ードアップする。これは、非常に小型のキャッシュで成
しうる加速としては大きなものである。統計的研究によ
れば、読み取りアクセスはフレームバッファの動作の約
50パーセントを占めることがわかっている。ここで説
明するようなキャッシュメモリを使用すると、フレーム
バッファの画素位置ごとに余す所なくアクセスする代わ
りに、さらに高速で動作するキャッシュメモリをアクセ
スできるので、いくつかの動作は相当にスピードアップ
するであろう。その結果、ホストCPUのフレームバッ
ファアクセス要求と次のアクセス要求との間のフレーム
バッファアクセスをすぐに実行することにより、キャッ
シュを充填状態のままにしておくことができると仮定さ
れる。
【0019】一般的には、起こりうるフレームバッファ
のラスター動作には3つの種類がある。それらの動作を
ゼロオペランドラスター動作、1オペランドラスター動
作及び2オペランドラスター動作と分類できるであろ
う。まず、ゼロオペランドラスター動作は書き込み専用
動作であり、その1例はスクリーンの一部領域のクリア
である。フレームバッファの特定の画素に何が保持され
ていたかを知る必要がないので、次の動作に備えてキャ
ッシュは不要である。しかしながら、小型キャッシュは
あるレベルの書き込みバッファリングを本質的に実行す
ることにより、書き込みアクセス時の動作をスピードア
ップすることができる。キャッシュは書き込みアクセス
を受け入れ、関連データを受け入れ、ホストを開放する
ことができる。ホストは書き込みが起こったと想定し、
他の動作を継続する。その一方で、キャッシュは実際に
フレームバッファにデータを書き込む。1オペランド動
作の例は、画素を黒から白に変更する反転指令である。
このような動作は画素ごとに読み取りと、書き込みとを
要求する。線分の場合、上述の小型キャッシュはこのよ
うな動作について十分な記憶能力を提供する。これに対
し、2オペランド動作は表示の垂直方向画面移動などの
コピー動作により例示されるであろう。このような動作
では、1つの画素の情報を第1の場所から読み取り、第
2の場所に書き込む。どのような線分に対しても、本発
明によるキャッシュは、読み取るべき場所に関する前記
の9つのアドレスと、書き込むべき画素を記憶している
別の9つのアドレスの双方に関連する情報を記憶するの
に十分な大きさでなければならない。すなわち、画素を
読み取って、支持された距離だけ離れている新たなアド
レス、たとえば、走査線1本だけすぐ下方に位置するア
ドレスに書き込むのである。読み取るべき第1のアドレ
スをアクセスするとキャッシュミスが起こるが、書き込
むべき第2のアドレスは、命令により指示された距離か
らわかっている。さらに、読み取るべき次のアドレスは
最初にアクセスした読み取り位置を取り囲む8つの画素
の中にあり、書き込むべき次のアドレスは第2に読み取
った画素から、第1に読み取った画素から第1に書き込
んだ画素までの距離と同じ指示距離をおいた場所に位置
している。このように、これらのアドレスがキャッシュ
されると仮定すると、それぞれの位置を確定するために
十分な情報を利用でき、その線分のコピーが終了するま
で、キャッシュミスはそれ以上起こらない。
【0020】以上説明したように、本発明が提案する小
型キャッシング構成が、最も単純なゼロオペランド動作
を除くあらゆる動作においてフレームバッファの動作速
度を相当に増すことは明らかである。
【0021】このような構成をハードウェアで構成する
には、画素を読み取り始める初期位置と、その初期位置
を取り囲む8つの画素と、画素をコピーすべき第1の位
置と、その第1の位置を取り囲む8つの画素とを含む少
なくとも18の独立した位置にデータとアドレスを記憶
するのに十分なキャッシュメモリがあるだけで良い。上
述のような回路構成を図3にブロック線図の形態で示
す。この構成は中央処理装置22と、主メモリ24と、
フレームバッファ26と、小型予測キャッシュメモリ2
8とを含む。これらの素子はそれぞれシステムバスに接
続している。キャッシュメモリ28は、フレームバッフ
ァ26をアクセスする必要なくアドレッシングされた情
報が存在することを肯定応答することができるように、
バスインタフェースに配置されている。
【0022】図3の構成は、中央処理装置22がフレー
ムバッファ26をアクセスすると、アクセスされた情報
とそのアドレスをキャッシュメモリ28の適切な9つの
画素位置の中心位置に配置させるようにシステムソフト
ウェアにより制御されることになっている。その後、ア
クセスされた位置を取り囲むフレームバッファ26の8
つの画素位置をそのアドレスと共にキャッシュメモリ2
8の他方の8つの位置に移す。通常、この充填にはフレ
ームバッファを3回又は4回アクセスする必要がある。
このようなキャッシュメモリ28の充填は多少の時間を
要するが、システムの総待ち時間は、通常、フレームバ
ッファのアクセスとアクセスとの間にこの充填を実行す
るのに十分な時間を与える。フレームバッファ26の別
の位置に情報を書き込むような動作の場合、その位置の
アドレスを確定し、キャッシュメモリ28の9つの記憶
スペースから成る第2のグループの中心に配置させる。
その時点から、当該線分に関わる情報をキャッシュメモ
リ28でアクセスし、利用することができる。次に隣接
する画素をアクセスすると、その隣接する画素の情報と
アドレスは画素9つから成る第1のグループの中心位置
に導入され、残る位置はその隣接する画素を取り囲むア
ドレスで充填されるが、それらのアドレスの多くは既に
キャッシュメモリに入っている。画素が書き込まれるご
とに、同じようにして、新たな位置の情報を画素9つの
第2のグループの中心へ移動させる。この原理に従って
設計されたキャッシュメモリ28は、連続する線分をフ
レームバッファに描出するに際してこのような小型予測
キャッシュとしては最高のヒット率を示す。
【0023】本発明に従って予測キャッシュを実現する
別の構成は、次のアクセスが指向する可能性のある位置
を取り囲むのとは幾分異なるキャッシング構成を利用す
る。そのような構成は前記の構成ほどハードウェアを使
用しないので低コストではあるが、ヒット率は幾分低く
なる。この構成は、最初にアクセスされた位置を取り囲
む全てのアクセス可能位置に関わる情報を記憶するので
はなく、フレームバッファの次のアクセスに対して唯一
つの位置を予測しようとするものであるので、ハードウ
ェアに要するコストは少なくなる。
【0024】このような構成は、フレームバッファで起
こりうる様々な動作をさらに詳細に検討することにより
得られるであろう。それらの動作を図4に示す複数の特
定のステップに分解しても良い。たとえば、線の位置を
確定するために一連の読み取り動作が起こるとする。そ
のような動作においてはアドレスNを読み取り、次にN
+Sを読み取る。尚、SはアドレスNからの任意のオフ
セットであるが、通常は最初の画素から1画素以内にあ
る。オフセットSをストライドと呼んでも良い。特定の
線分の中では、その線分の方向に関わらず、次にアクセ
スすべき画素はおそらくN+2Sに位置していると思わ
れる。書き込みラスター動作のシーケンスについて同じ
画素アクセスが起こる。第1のアドレスとストライドが
与えられれば、1本のまっすぐな線分をアクセスしてい
る限り、読み取りアクセスは書き込みアクセスのシーケ
ンスにおける次の画素をかなりの程度まで予測できる。
当然のことながら、線分の形状が2〜3の画素から余り
に変化してしまったために、予測が不可能になることは
ありうる。その場合、ヒット率は幾分低下する。フレー
ムバッファに1本の線分を書き込むだけの動作では、読
み取り動作におけるのと同じ動作シーケンスが起こる。
【0025】画面移動や、それに類する動作のように線
分の画素を1つの位置から別の位置へコピーする動作の
場合にはさらに多くの動作が関わってくる。フレームバ
ッファを含めて、メモリはほぼ間違いなく1度に1画素
より多い量でアクセスされる。たとえば、典型的なシス
テムはメモリの語1つ分をアクセスする。そのような語
は32ビット、すなわち4バイトの記憶を含むと考えら
れる。各画素を単一のビットによって規定する白黒シス
テムにおいては、それぞれの語の中に互いに異なる32
個のビットが含まれることになる。多くのシステムは個
々の画素をアクセスせず、アクセスしうる最小の量は、
通常、1バイト(この例のシステムでは8ビット)であ
る。従って、1つの画素であっても、フレームバッファ
内の1つの場所から別の場所へコピーするためには、1
バイト、すなわち、語1つ分をアクセスしなければなら
ない。関心画素が読み取るべき語の始まりから、書き込
むべき語におけるのと等しいオフセットを経て位置して
いる場合、アドレスに関する限り、コピー動作は1回の
読み取りと、1回の書き込みのみから成る。すなわち、
位置Nにおける読み取り内容を位置Mに書き込み、位置
N+Sにおける次の読み取り内容を位置M+Sに書き込
むのである。線を読み取り、書き込む間、このシーケン
スが続く。このような読み取りは、関心画素に加えて、
同じ行に位置している同じバイト、すなわち、同じ語の
中の隣接する画素をもアクセスし且つ記憶する。それら
の画素が別の線分の位置を含んでいるならば、それらは
第1の位置の1回のアクセスの中でアクセスされる。
【0026】これに対し、読み取るべき第1の画素がフ
レームバッファの語境界から第1のオフセットを経た位
置にあり、(読み取るべき別の画素が同じ行に位置する
場合)且つその第1の画素を語境界から第2のオフセッ
トを経た位置に書き込むべきである場合には、アクセス
すべき部分又は書き込むべき部分のいずれかは2つの異
なる語、すなわちバイトに位置すると考えられる。この
情報のコピーは、2回の読み取り動作と1回の書き込み
動作又は1回の読み取り動作と2回の書き込み動作のい
ずれかの方式で実行されれば良い。一方の場合には、語
1つ分の書き込みを完全に満たすことができる十分な読
み取り(2回)を実行しなければならない。他方の場合
には、読み取りごとに得られる語1つを完全に利用する
ために書き込みを2回まで実行しなければならない。多
くのコンピュータでは読み取り/読み取り/書き込みプ
ロセスを使用しており、この型のコピー動作は読み取り
/書き込み/読み取り/書き込みとして続いてゆく。コ
ピー動作によってはRS /RD/WD ,RS/RD /WD
等々のパターンを有するものさえある。この2回目の読
み取りは、新たなデータ(Sはソースデータを表わす添
字である)と旧データ(Dは宛先データを表わす添字で
ある)とを組み合わせるためにラスター動作により要求
される。
【0027】このように、典型的なフレームバッファ動
作のどれをとっても、読み取り/読み取り/読み取り,
書き込み/書き込み/書き込み又は読み取り/書き込み
/読み取り/書き込みのパターンを識別すれば良いこと
がわかる。これがわかれば、パターン認識回路によって
次のアクセスを予測することができる。たとえば、現在
情報アクセスのアドレスが望まれる場合、その位置はフ
レームバッファへの最前の3回のアクセスから予測可能
であろう。このように、一般的には、最前の3つのアド
レスと、最前の2回のアクセスから得たデータと、アク
セスの型(読み取り又は書き込み)とによって次の画素
の位置を予測する。アクセスの型はパターンをREAD
/READ/READ,WRITE/WRITE/WR
ITE又はREAD/WRITE/READ/WRIT
Eとして規定する。さらに、アドレスの差によって所望
のアクセスに関するストライドを予測する。先に指摘し
た通り、READ/READ/READ及びWRITE
/WRITE/WRITEの場合のストライドは最前の
アクセスアドレスと、そのすぐ前のアクセスアドレスと
の差である。パターンがREAD/WRITE/REA
D/WRITEである型のコピー動作の場合には、2回
の読み取りアクセスの間のストライドは書き込みアクセ
ス間のストライドと同じであり、読み取りアクセスと書
き込みアクセスとの間のストライドは最前の読み取りア
クセスと書き込みアクセスとの間のストライドと同じで
ある。従って、何らかの特定の線分に関するパターンの
中で、コピー動作又はそれに類する動作の始めの3つの
画素の後にアクセスを比較するたびに、次のアクセスを
予測することができる。また、さらに複雑な反復パター
ンであっても、十分な論理があれば、それらのパターン
を予測可能とすることができる。
【0028】図5は、このさらに特定的な形態の予測キ
ャッシングを実行するために利用して良い回路60をブ
ロック線図の形で示す。回路60は、最前の3回のアク
セスそれぞれのアドレスと、最前の2回のアクセスと関
連するデータ(通常、3ステップ以上戻ったときのデー
タは有用ではない)と、最前の3回のアクセスそれぞれ
のアクセスの型とを記憶するレジスタ61〜63を含
む。フレームバッファのアクセスが不要となるように、
次のステップでアクセスされるべきデータを予測し、そ
れをキャッシュに記憶しておくことが望まれる。中央処
理装置から入力するアドレス,データ及びオペランドは
レジスタ64に供給されて、キャッシュのアドレスと比
較される。
【0029】レジスタ61〜63の最前の3回のアクセ
スのアドレスを比較器65〜67において比較して、キ
ャッシュヒットがあるか否かを判定する。予測に際して
は、判定されたアクセスパターンに応答してこれらのレ
ジスタのアドレス情報を選択的に減算器68及び69に
供給し、減算器は比較器が判定したパターンに従って読
み取りアクセス間又は書き込みアクセス間のストライド
を確定する。このストライドに最前のアクセスの中の1
つのアドレスを加えたものが、情報をアクセスすべき予
測アドレスを表わす。フレームバッファのこのアドレス
にある情報をアクセスし、キャッシュ(77)に記憶し
ておけば、中央処理装置から新たなアドレスを受信した
ときにその情報を利用することができる。
【0030】さらに詳細にいえば、アクセスの型がRE
AD/WRITE/READ/WRITE TYPEで
あることがわかった場合には、コピーの型の動作を予測
する。そのような場合、最前のアドレスAn-1を先行ア
ドレスAn-2から減算して、読み取り動作と書き込み動
作の位置の差を求める。この結果をレジスタ71に記憶
させる。次に、減算器69においてアドレスAn-3 とア
ドレスAnー1 との差を確定して、最前の2回の読み取り
動作又は最前の2回の書き込み動作の差を求め、結果を
レジスタ72に記憶させる。2つのレジスタ71及び7
2にある結果をマルチプレクサ75により選択し、マル
チプレクサ76が選択したアクセスアドレスに加算器7
4において加算すると、その結果が予測アドレスとな
る。この予測アドレスのデータをレジスタ77に記憶さ
せておき、中央処理装置はこのレジスタ77をアクセス
する。この第2の、より特殊化したキャッシング構成は
第1の構成(3回のアクセスの平均)と比べてミス損失
が著しく少ない(1回のアクセス)。
【0031】尚、このような小型特殊化キャッシュを使
用しても、動作速度が増すこと以外にコンピュータシス
テムの動作には全く影響はないことに注意すべきであ
る。予測キャッシュメモリはシステムの他の動作と並行
して情報を記憶するので、ある特定の予測が有効でない
とわかった場合にも、システムに遅延は生じない。キャ
ッシュミスの場合、動作は単に通常通りに進行するだけ
である。
【0032】非常に形式的な動作のパターンを有するフ
レームバッファに関して予測キャッシングの利用を説明
したが、ランダムアクセスメモリでも同じ特徴の多くが
見られる。従って、ランダムアクセスメモリ内部の動作
に同じ一般原理を適用して良い。たとえば、主メモリに
記憶させてあるマトリクスに情報を記憶する又はそのよ
うなマトリクスから情報を検索する状況や、情報をルー
ピング動作に取り入れる状況は数多く生じる。この種の
動作に同じ原理を適用できる。同様にして処理できるよ
うな識別可能パターンを有するメモリ動作は当業者には
自明であろう。
【0033】以上、本発明を好ましい実施例に関して説
明したが、本発明の趣旨から逸脱せずに様々な変形や変
更を当業者により実施しうることは理解されるであろ
う。従って、本発明は特許請求の範囲によって判断され
るべきである。
【図面の簡単な説明】
【図1】表示に備えてフレームバッファに記憶できる様
々な要素を示すフレームバッファの図。
【図2】表示に備えてフレームバッファに記憶できる様
々な要素を示す図1に示したフレームバッファの一部の
拡大図。
【図3】本発明に従ってキャッシングを実行する回路を
示すブロック線図。
【図4】本発明の動作を理解する上で有用であるフレー
ムバッファの一部の図。
【図5】本発明に従ってキャッシングを実行する第2の
回路を示すブロック線図。
【符号の説明】
22 中央処理装置 24 主メモリ 26 フレームバッファ 28 予測キャッシュメモリ 61〜64 レジスタ 65〜67 比較器 68,69 減算器 71,72 レジスタ 74 加算器 75,76 マルチプレクサ 77 レジスタ
───────────────────────────────────────────────────── フロントページの続き (73)特許権者 591064003 901 SAN ANTONIO ROA D PALO ALTO,CA 94303, U.S.A. (72)発明者 クリス・マラコフスキイ アメリカ合衆国 95051 カリフォルニ ア州・サンタ クララ・スラッシュ ウ ェイ・3775 (72)発明者 ロバート・ロチェッティ アメリカ合衆国 95014 カリフォルニ ア州・カッパチーノ・アパートメント 30シィ・ノース ステリング ロード・ 10870 (72)発明者 デヴィッド・ローゼンタール アメリカ合衆国 94301 カリフォルニ ア州・パロ アルト・アパートメント 407・アルマ ストリート・427 (56)参考文献 特開 平3−154977(JP,A) 特開 平3−291767(JP,A) 特開 平2−91776(JP,A) 特開 昭63−255778(JP,A) 特開 平1−262585(JP,A) 米国特許5056044(US,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 G06T 1/60 G06T 11/00 - 11/40 G06T 15/00 - 15/60 G06T 17/00 - 17/30 G09G 5/00 - 5/42

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 中央処理装置(CPU)と、主メモリ
    と、フレーム・バッファと、前記フレーム・バッファに
    結合されたキャッシュ・メモリとを含むコンピュータ・
    システムにおいて、前記フレーム・バッファ用の予測ア
    ドレスを生成するコンピュータ実施方法であって、 第1のアドレスが前記主メモリへの第1の前のアクセス
    を指定し、第2のアドレスが前記主メモリへの第2の前
    のアクセスを指定し、第3のアドレスが前記主メモリへ
    の第3の前のアクセスを指定するように、前記主メモリ
    への3つの前のアクセスの3つのアドレスを複数のアド
    レス・レジスタ中に記憶するステップと、 第1のアクセス・タイプが前記第1の前のアクセスの読
    取り動作または書込み動作を指定し、第2のアクセス・
    タイプが前記第2の前のアクセスの読取り動作または書
    込み動作を指定し、第3のアクセス・タイプが前記第3
    の前のアクセスの読取り動作または書込み動作を指定す
    るように、各アクセス・タイプが前記主メモリへの読取
    り動作または書込み動作を指定する、前記主メモリへの
    3つの前のアクセスの3つのアクセス・タイプを複数の
    アクセス・タイプ・レジスタ中に記憶するステップと、 動作パターンが生成されるように前記第1のアクセス・
    タイプ、前記第2のアクセス・タイプおよび前記第3の
    アクセス・タイプをある順序で配列するステップと、 前記動作パターンに基づいて前記3つのアドレスからの
    ストライドを計算するステップと、 前記動作パターンが読取り、読取り、読取り(RRR)
    パターンまたは書込み、書込み、書込み(WWW)パタ
    ーンを含んでいるときに前記第3のアドレスを選択する
    ステップと、 前記動作パターンが書込み、読取り、書込み(WRW)
    パターンを含んでいるときに前記第2のアドレスを選択
    するステップと、 前記動作パターンについて計算した前記ストライドを選
    択した前記アドレスに加えることによって前記予測アド
    レスを生成するステップと、 前記主メモリ中の前記予測アドレスのデータを読み取る
    ステップと、 前記データを前記キャッシュ・メモリ中に記憶するステ
    ップとを含む方法。
  2. 【請求項2】 中央処理装置と、主メモリと、フレーム
    ・バッファと、前記フレーム・バッファに結合されたキ
    ャッシュ・メモリとを含むコンピュータ・システムにお
    いて、前記フレーム・バッファ用の予測アドレスを生成
    するコンピュータ実施方法であって、 第1のアドレスが前記主メモリへの第1の前のアクセス
    を指定し、第2のアドレスが前記主メモリへの第2の前
    のアクセスを指定し、第3のアドレスが前記主メモリへ
    の第3の前のアクセスを指定するように、前記主メモリ
    への3つの前のアクセスの3つのアドレスを複数のアド
    レス・レジスタ中に記憶するステップと、 第1のアクセス・タイプが前記第1の前のアクセスの読
    取り動作または書込み動作を指定し、第2のアクセス・
    タイプが前記第2の前のアクセスの読取り動作または書
    込み動作を指定し、第3のアクセス・タイプが前記第3
    の前のアクセスの読取り動作または書込み動作を指定す
    るように、各アクセス・タイプが前記主メモリへの読取
    り動作または書込み動作を指定する、前記主メモリへの
    3つの前のアクセスの3つのアクセス・タイプを複数の
    アクセス・タイプ・レジスタ中に記憶するステップと、 動作パターンが生成されるように前記第1のアクセス・
    タイプ、前記第2のアクセス・タイプおよび前記第3の
    アクセス・タイプをある順序で配列するステップと、 前記動作パターンが読取り、読取り、読取り(RRR)
    パターンまたは書込み、書込み、書込み(WWW)パタ
    ーンを含んでいるときに第1のストライドを生成するた
    めに前記第1のアドレスを前記第2のアドレスから引く
    ステップと、 前記動作パターンが書込み、読取り、書込み(WRW)
    パターンまたは読取り、読取り、書込み(RRW)パタ
    ーンを含んでいるときに第2のストライドを生成するた
    めに前記第3のアドレスを前記第1のアドレスから引く
    ステップと、 前記動作パターンが読取り、読取り、読取り(RRR)
    パターンまたは書込み、書込み、書込み(WWW)パタ
    ーンを含んでいるときに前記第3のアドレスを選択する
    ステップと、 前記動作パターンが書込み、読取り、書込み(WRW)
    パターンを含んでいるときに前記第2のアドレスを選択
    するステップと、 前記動作パターンについて計算した前記ストライドを選
    択した前記アドレスに加えることによって前記予測アド
    レスを生成するステップと、 前記主メモリ中の前記予測アドレスのデータを読み取る
    ステップと、 前記データを前記キャッシュ・メモリ中に記憶するステ
    ップとを含む方法。
  3. 【請求項3】 中央処理装置(CPU)と、主メモリ
    と、フレーム・バッファと、前記フレーム・バッファに
    結合されたキャッシュ・メモリとを含むコンピュータ・
    システムにおいて、前記フレーム・バッファ用の予測ア
    ドレスを生成する装置であって、 複数のアドレスおよびアクセス・タイプを記憶し、記憶
    された第1のアドレスが前記主メモリへの第1の前のア
    クセスを指定し、記憶された第2のアドレスが前記主メ
    モリへの第2の前のアクセスを指定し、記憶された第3
    のアトレスが前記主メモリへの第3の前のアクセスを指
    定するように、前記主メモリへの3つの前のアクセスの
    3つのアドレスを記憶し、第1のアクセス・タイプが前
    記第1の前のアクセスの読取り動作または書込み動作を
    指定し、前記第2のアクセス・タイプが前記第2の前の
    アクセスの読取り動作または書込み動作を指定し、第3
    のアクセス・タイプが前記第3の前のアクセスの読取り
    動作または書込み動作を指定するように、前記主メモリ
    への読取り動作または書込み動作を指定する、前記主メ
    モリへの3つの前のアクセスそれぞれの3つのアクセス
    ・タイプを複数のアクセス・タイプ・レジスタ中に記憶
    する記憶手段と、 前記記憶手段に結合され、前記フレーム・バッファへの
    後続の書込み動作のアドレスを予測し、動作パターンが
    生成されるように前記第1のアクセス・タイプ、前記第
    2のアクセス・タイプおよび前記第3のアクセス・タイ
    プをある順序で配列し、前記動作パターンに基づいて前
    記3つのアドレスからストライドを計算し、前記動作パ
    ターンが読取り、読取り、読取り(RRR)パターンま
    たは書込み、書込み、書込み(WWW)パターンを含ん
    でいるときに前記第3のアドレスを選択し、前記動作パ
    ターンが書込み、読取り、書込み(WRW)パターンを
    含んでいるときに前記第2のアドレスを選択し、前記動
    作パターンについて計算した前記ストライドを選択した
    前記アドレスに加えることによって前記予測アドレスを
    生成する予測手段と、 前記予測手段に結合され、前記主メモリから前記キャッ
    シュ・メモリにデータを書き込み、前記主メモリ中の前
    記予測アドレスのデータを読み取り、前記データを前記
    キャッシュ・メモリ中に記憶するフェッチ手段とを含む
    装置。
JP19746691A 1990-08-31 1991-07-12 予測キャッシングシステム Expired - Fee Related JP3172950B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US57667290A 1990-08-31 1990-08-31
US576.672 1990-08-31

Publications (2)

Publication Number Publication Date
JPH06342403A JPH06342403A (ja) 1994-12-13
JP3172950B2 true JP3172950B2 (ja) 2001-06-04

Family

ID=24305465

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19746691A Expired - Fee Related JP3172950B2 (ja) 1990-08-31 1991-07-12 予測キャッシングシステム

Country Status (5)

Country Link
US (1) US5287487A (ja)
JP (1) JP3172950B2 (ja)
AU (1) AU634354B2 (ja)
GB (1) GB2247546B (ja)
HK (1) HK156095A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7903885B2 (en) 2004-11-11 2011-03-08 Panasonic Corporation Data converting apparatus and method

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2703417B2 (ja) * 1991-04-05 1998-01-26 富士通株式会社 受信バッファ
US5392414A (en) * 1992-06-30 1995-02-21 Sun Microsystems, Inc. Rapid data retrieval from data storage structures using prior access predictive annotations
JP2744882B2 (ja) * 1993-01-15 1998-04-28 インターナショナル・ビジネス・マシーンズ・コーポレイション キューにより命令の実行を制御する装置及び方法
JPH06332664A (ja) * 1993-03-23 1994-12-02 Toshiba Corp 表示制御システム
US5588128A (en) * 1993-04-02 1996-12-24 Vlsi Technology, Inc. Dynamic direction look ahead read buffer
WO1995001600A1 (en) * 1993-07-02 1995-01-12 Oakleigh Systems, Inc. Predictive disk cache system
US5426764A (en) * 1993-08-24 1995-06-20 Ryan; Charles P. Cache miss prediction apparatus with priority encoder for multiple prediction matches and method therefor
US5548739A (en) * 1993-11-04 1996-08-20 Sun Microsystems, Inc. Method and apparatus for rapidly retrieving data from a physically addressed data storage structure using address page crossing predictive annotations
US5822760A (en) * 1994-01-31 1998-10-13 Fujitsu Limited Cache-memory system having multidimensional cache
US5808627A (en) * 1994-04-22 1998-09-15 Apple Computer, Inc. Method and apparatus for increasing the speed of rendering of objects in a display system
US5649144A (en) * 1994-06-13 1997-07-15 Hewlett-Packard Co. Apparatus, systems and methods for improving data cache hit rates
ATE347709T1 (de) * 1994-09-14 2006-12-15 Intel Corp Editiersystem mit vorabzwischenspeicherung welches abfolgelisten verwendet
US5802292A (en) * 1995-04-28 1998-09-01 Digital Equipment Corporation Method for predictive prefetching of information over a communications network
US5694568A (en) * 1995-07-27 1997-12-02 Board Of Trustees Of The University Of Illinois Prefetch system applicable to complex memory access schemes
US5854921A (en) * 1995-08-31 1998-12-29 Advanced Micro Devices, Inc. Stride-based data address prediction structure
US5822790A (en) * 1997-02-07 1998-10-13 Sun Microsystems, Inc. Voting data prefetch engine
JP3175675B2 (ja) 1997-12-04 2001-06-11 日本電気株式会社 プリフェッチ制御装置
US6035383A (en) * 1997-11-03 2000-03-07 Arm Limited Memory access request result prediction prior to confirm signal generation
US6134643A (en) * 1997-11-26 2000-10-17 Intel Corporation Method and apparatus for cache line prediction and prefetching using a prefetch controller and buffer and access history
US6070230A (en) * 1997-12-29 2000-05-30 Hewlett-Packard Company Multi-threaded read ahead prediction by pattern recognition
US5930472A (en) * 1998-04-29 1999-07-27 Motorola, Inc. Method and apparatus in a wireless communication system for splitting a browser functionality between a wireless client and an infrastructure portion
US6223257B1 (en) 1999-05-12 2001-04-24 Rise Technology Company Instruction cache address generation technique having reduced delays in fetching missed data
US7143264B2 (en) * 2002-10-10 2006-11-28 Intel Corporation Apparatus and method for performing data access in accordance with memory access patterns
US7181723B2 (en) * 2003-05-27 2007-02-20 Intel Corporation Methods and apparatus for stride profiling a software application
US7328340B2 (en) * 2003-06-27 2008-02-05 Intel Corporation Methods and apparatus to provide secure firmware storage and service access
US7010649B2 (en) * 2003-10-14 2006-03-07 International Business Machines Corporation Performance of a cache by including a tag that stores an indication of a previously requested address by the processor not stored in the cache
US7681141B2 (en) * 2004-05-11 2010-03-16 Sony Computer Entertainment America Inc. Fast scrolling in a graphical user interface
US20060242329A1 (en) * 2005-04-19 2006-10-26 Tien-Fu Chen Power-efficient encoder architecture for data stream on bus and encoding method thereof
US20070130114A1 (en) * 2005-06-20 2007-06-07 Xiao-Feng Li Methods and apparatus to optimize processing throughput of data structures in programs
US7878148B2 (en) * 2008-05-19 2011-02-01 Seth Yin Pao Swenson Pet dish having an extended threaded neck ring and screw-cap lid
US20100162126A1 (en) * 2008-12-23 2010-06-24 Palm, Inc. Predictive cache techniques
JP5533109B2 (ja) * 2010-03-24 2014-06-25 セイコーエプソン株式会社 画像表示装置、プロジェクター、および、画像表示装置におけるデータの取得方法
US8830249B2 (en) * 2011-09-12 2014-09-09 Sony Computer Entertainment Inc. Accelerated texture lookups using texture coordinate derivatives
US10659648B2 (en) * 2018-01-09 2020-05-19 Seiko Epson Corporation Printing apparatus and text input program
CN112862724B (zh) * 2021-03-12 2022-09-09 上海壁仞智能科技有限公司 用于计算的方法、计算设备和计算机可读存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3898624A (en) * 1973-06-14 1975-08-05 Amdahl Corp Data processing system with variable prefetch and replacement algorithms
GB1515376A (en) * 1975-07-09 1978-06-21 Int Computers Ltd Data storage systems
US4536836A (en) * 1981-11-27 1985-08-20 Storage Technology Corporation Detection of sequential data stream
DE3379081D1 (en) * 1982-06-21 1989-03-02 Ibm Method and apparatus for managing a buffer pool referenced by batch and interactive process
JPH0630075B2 (ja) * 1984-08-31 1994-04-20 株式会社日立製作所 キャッシュメモリを有するデータ処理装置
US4980823A (en) * 1987-06-22 1990-12-25 International Business Machines Corporation Sequential prefetching with deconfirmation
JPS648458A (en) * 1987-06-22 1989-01-12 Ibm Prefetching of line sequentially to cache memory of computer from main memory
US4888679A (en) * 1988-01-11 1989-12-19 Digital Equipment Corporation Method and apparatus using a cache and main memory for both vector processing and scalar processing by prefetching cache blocks including vector data elements
US5146578A (en) * 1989-05-01 1992-09-08 Zenith Data Systems Corporation Method of varying the amount of data prefetched to a cache memory in dependence on the history of data requests
US5093777A (en) * 1989-06-12 1992-03-03 Bull Hn Information Systems Inc. Method and apparatus for predicting address of a subsequent cache request upon analyzing address patterns stored in separate miss stack
US5056044A (en) * 1989-12-21 1991-10-08 Hewlett-Packard Company Graphics frame buffer with programmable tile size
EP0449369B1 (en) * 1990-03-27 1998-07-29 Koninklijke Philips Electronics N.V. A data processing system provided with a performance enhancing instruction cache
US5530941A (en) * 1990-08-06 1996-06-25 Ncr Corporation System and method for prefetching data from a main computer memory into a cache memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7903885B2 (en) 2004-11-11 2011-03-08 Panasonic Corporation Data converting apparatus and method

Also Published As

Publication number Publication date
HK156095A (en) 1995-10-13
AU7203091A (en) 1992-03-05
JPH06342403A (ja) 1994-12-13
GB2247546A (en) 1992-03-04
US5287487A (en) 1994-02-15
AU634354B2 (en) 1993-02-18
GB2247546B (en) 1995-03-01
GB9104326D0 (en) 1991-04-17

Similar Documents

Publication Publication Date Title
JP3172950B2 (ja) 予測キャッシングシステム
US5990902A (en) Apparatus and method for prefetching texture data in a video controller of graphic accelerators
JP4181576B2 (ja) キャッシング機構
US7589741B1 (en) Processing high numbers of independent textures in a 3-D graphics pipeline
EP0458127A2 (en) Translation of multiple virtual pages upon a TLB miss
EP0595066A2 (en) Context management in a graphics system
US5561750A (en) Z-buffer tag memory organization
JP3449487B2 (ja) 変換索引緩衝機構
US5454076A (en) Method and apparatus for simultaneously minimizing storage and maximizing total memory bandwidth for a repeating pattern
JP2681398B2 (ja) 記憶装置
US5822760A (en) Cache-memory system having multidimensional cache
US5761709A (en) Write cache for servicing write requests within a predetermined address range
US6008823A (en) Method and apparatus for enhancing access to a shared memory
US6098151A (en) Cache memory control system that caches requested data and adjacently displayed data
US5790137A (en) System and method for using a frame buffer in cached mode to increase bus utilization during graphics operations
JP3038868B2 (ja) 画像データのブロック転送装置
US6563505B1 (en) Method and apparatus for executing commands in a graphics controller chip
JPH0553909A (ja) 画像データ処理におけるキヤツシユメモリ制御方式
JPH09259041A (ja) キャッシュメモリ制御方式
US20030014581A1 (en) Method and apparatus for modifying cache address computation schemes
KR0170665B1 (ko) 3차원 그래픽스용 램
US5802570A (en) Multiprocessor system with parallel execution of data
JP2004152292A (ja) 予測アドレス値を生成するための計算回路、および計算回路で次アドレスを予測する方法
JP2000029788A (ja) キャッシュメモリシステム及びそれに用いるキャッシュ制御方法並びにその制御プログラムを記録した記録媒体
JP2704043B2 (ja) 画像処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees