JP3776202B2 - アドレス衝突検出回路 - Google Patents

アドレス衝突検出回路

Info

Publication number
JP3776202B2
JP3776202B2 JP11673297A JP11673297A JP3776202B2 JP 3776202 B2 JP3776202 B2 JP 3776202B2 JP 11673297 A JP11673297 A JP 11673297A JP 11673297 A JP11673297 A JP 11673297A JP 3776202 B2 JP3776202 B2 JP 3776202B2
Authority
JP
Japan
Prior art keywords
address
latest
access
memory
received
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
JP11673297A
Other languages
English (en)
Other versions
JPH1083346A5 (ja
JPH1083346A (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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH1083346A publication Critical patent/JPH1083346A/ja
Publication of JPH1083346A5 publication Critical patent/JPH1083346A5/ja
Application granted granted Critical
Publication of JP3776202B2 publication Critical patent/JP3776202B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明はコンピュータ・システムに関するもので、特にコンピュータ・システムにおけるグラフィック表示装置の画像表示のためグラフィック・コントローラ内のフレーム・バッファにアクセスする場合に発生する可能性のあるキャッシュ衝突を検出するグラフィック・コントローラに関するものである。
【0002】
【従来の技術】
グラフィックス・コントローラ・カードの複雑性はますます増加し、単一のコマンドから複合的演算を実行するケースが増加して来ている。このような複合演算は、指定された規則に従って、表示装置にデータを表示するために使用されるフレーム・バッファ・メモリの現在の内容を変更することをしばしば必要とする。これらの複合演算は、その性質上、フレーム・バッファ・メモリに対する複数のアクセス、特にフレーム・バッファ・メモリの範囲内の同一位置に対する複数のアクセがそれらが元々指定されたものと同じ順序で実行されるべきことを必要とする。フレーム・バッファ・メモリのアクセスにはターンアラウンド・タイムがあるので、1回の読取りおよびそれに続く1回の書込みに要する時間は、2つの連続した読取りまたは2つの連続した書込みの場合よりも長い。従って、フレーム・バッファ・メモリを修正する際に最高の処理性能を達成するため、多くの場合、コントローラは可能な限り多くの演算を待ち行列化し、次に、フレーム・バッファ・メモリからデータを読み取る連続読取り演算を発し、読み取ったデータに関する修正を実行し、次にフレーム・バッファ・メモリに新しいデータを書き戻す連続書込み演算を発する。
【0003】
より迅速な処理性能に対する要求と複合演算の要件を合致させるため、コントローラーは、ある所与のメモリ・アクセスが以前のアクセスと「衝突する」か否かを検出する機能を有していなければならない。すなわち、現在次アクセスと同じメモリ・アドレスに関して、以前のアクセスによって取得されたデータが既に待ち行列に保持されているか否かを検出することができなければならない。そのような衝突が検出されれば、コントローラは、新しいメモリ・アクセスを実行する前にその待ち行列を消去するか、あるいは、以前のアクセスによるデータに関してなされる修正結果を新しいアクセスが使用することができるようになにがしかのタグを付けなければならない。これらの操作のいずれを実行するにしても、衝突、すなわち、現在時アクセスと同じメモリ・アドレスに対して行われた以前のメモリ・アクセスによるデータが待ち行列に存在することを検出するメカニズムが必要となる。
【0004】
メモリ・アドレスの衝突を検出するための典型的な方法は、コンテント・アドレッサブル・メモリとも呼ばれる連想メモリを使用する。連想メモリにおいては、各アクセスのアドレスが、データおよび有効性を示す「タグ」ビットと共に記憶される。新しいメモリ・アクセスが実行される場合、新しいメモリ・アクセスのアドレスが、連想メモリに現在保有されているすべての有効エントリのアドレスと連想メモリによって並列的に比較される。これと同じメカニズムは、従来からあるキャッシュ・システムおよび仮想メモリ・システム内部のプロセッサにおいても使用されている。
【0005】
【発明が解決しようとする課題】
連想メモリは非常によく機能するとはいえ、並列比較を実行するために必要とされるハードウェアは非常に高価である。従って、メモリからデータを読み取る際に発生する可能性のあるキャッシュ衝突を効率的に検出する方法または装置が必要とされる。更に、連想メモリにおいて使用されている高価な並列比較を使用しない衝突検出方法または装置が必要とされる。
【0006】
【課題を解決するための手段】
本発明は、1つの局面において、メモリからデータを読み取る際に発生する可能性のあるキャッシュ衝突を検出する手段を提供する。別の局面において、本発明は、グラフィック・オブジェクトに関する演算を実行する場合に上記のような衝突を検出する手段を提供する。
【0007】
上記手段を実現するため、本発明は、例えばコンピュータ・システムのグラフィック表示サブシステム内におけるフレーム・バッファ・メモリとして使用される2次元メモリ・アレイ内での衝突の可能性を検出する衝突検出システムによって達成される。本発明の上記システムにおいて、メモリに対する最も最近のアクセスのアドレスまたはキャッシュ・バッファを消去した後のメモリに対する最初のアクセスのアドレスが保持される。その後、本発明の衝突検出システムは、後続のフレーム・バッファ・メモリ・アクセスの相対的位置のみに関心を持つ。本システムは、以前のフレーム・バッファ・メモリ・アクセスのすべての相対的位置を追跡し、メモリ・アクセスの流れが衝突を発生させる可能性があるような形態で以前のアクセス位置の方向へ戻る場合に潜在的衝突または「キャッシュ・ヒット」フラグをたてる。
【0008】
これを達成するため、本発明のシステムは、フレーム・バッファ・メモリに対する最新アクセスのアドレスのXおよびY位置と共に、当該メモリ・アクセスのアドレスに対して左右上下または斜め左上、右上、左下あるいは右下の位置で当該メモリ・アクセスより以前にメモリ・アクセスが行われたことがあることを標示する9個の状態ビットを保持する。本システムは、次に、現在時メモリ・アクセスのXおよびY両成分のアドレスを上記最新メモリ・アクセス・アドレスXおよびY成分と比較して、最新メモリ・アクセスに対する現在時メモリ・アクセスの方向を決定する。本システムは、方向を決定した後、この方向を上記9個の状態ビットの1つと比較して、その方向におけるメモリ・アクセスが既にあったことを該状態ビットが標示する場合、システムは潜在的ヒットを識別する。本システムは、各メモリ・アクセスの後、状態ビットが最後にリセットされた時以後のすべてのアクセスのアドレス位置を標示するように9個の状態ビットを更新する。
【0009】
本発明の1つの局面において、本システムは、メモリを1次元のみを持つものとみなし、現在時アクセスに比較して高低のアクセスを追跡し、フレーム・バッファ・メモリに対するすべての以前のアクセスの相対的位置を保持し、メモリ・アクセスの流れが衝突を発生させる可能性があるような形態で以前のアクセス位置の方向へ戻る場合に、潜在的衝突または「キャッシュ・ヒット」を示すフラグをたてる方法を含む。
【0010】
【発明の実施の形態】
以下は、本発明を実施する現時点で最良のものと考えられる形態を記述するものである。以下の記述は、本発明の一般的理念を記述するためにのみ行うものであり、本発明をその記述内容に限定する意図を持つものではない。
【0011】
図1は、本発明を実施するグラフィック・コントローラを含むコンピュータ・システムを示す。コンピュータ・システム100は、システム・バス104を経由してコンピュータ・システム100の他のエレメントと通信する処理エレメント102を含む。キーボード106およびグラフィック・ロケータ装置108はコンピュータ・システム100への入力を提供し、一方、グラフィック・コントローラ109および表示装置110はコンピュータ・システム100からの出力を提供する。本発明は、グラフィック・コントローラ109の範囲内に含まれる。
【0012】
データ記憶装置112が典型的にはコンピュータ・システム100の範囲内のデータおよびソフトウェアを記憶し、メモリ116は、オペレーティング・システム118、およびグラフィック・コントローラ109のサービスを利用するアプリケーション・プログラム120を典型的には含む。
【0013】
図2は、グラフィック・コントローラ109の回路部分を示す。オブジェクト分解回路202は、システム・バス104からデータおよびコマンドを受け取り、これら複合コマンドをメモリ・コントローラ212が実行することができる比較的単純な演算に分解する。これら比較的単純な演算は、フレーム・バッファ・メモリ210に対する多数のread-modify-write(読取り−修正−書込み)演算を含む。フレーム・バッファ・メモリ210のアクセスにはターンアラウンド・タイムがあるので、1回の読取りおよびそれに続く1回の書込みに要する時間は、2つの連続した読取りまたは2つの連続した書込みの場合よりも長い。
【0014】
フレーム・バッファ・メモリを修正する際に最高の処理性能を達成するため、メモリ・コントローラ212は可能な限り多くの演算を待ち行列化する。メモリ・コントローラ212は、次に、連続読取り演算を発してフレーム・バッファ・メモリからデータを読み取って、このデータをキャッシュ206に記憶する。次いで、メモリ・コントローラ212は、キャッシュ206のデータに対する修正を実行し、フレーム・バッファ・メモリ210に新しいデータを書き戻す連続書込み演算を実行する。
【0015】
しかしながら、この高い処理性能を達成するため、メモリ・コントローラ212は、フレーム・バッファ210から取り出されキャッシュ206に記憶されるべきデータのアドレスがキャッシュ206内に既に保持されているデータのアドレスと「衝突する」か否かを検出する衝突検出回路214を必要とする。この「衝突」は、潜在的衝突が起きる可能性のある時は必ずヒット信号216を送信する衝突検出回路214によって標示される。すなわち、本発明の衝突検出回路214は、衝突が発生したこと、あるいは、衝突が発生する可能性のあることを検出する。
【0016】
本発明の好ましい実施形態は、2次元フレーム・バッファ・メモリを使用するが、代替的には1次元メモリを使用する。この代替的実施形態においては、図3に示されるように、衝突検出回路214は、3個の方向状態ビットおよび1つの最新アクセス・レジスタのみを持つ。最新アクセス・アドレス・レジスタ302は、最新のメモリ・アクセスのアドレスを記憶し、中央状態ビット306は、最新アクセス・アドレス・レジスタ302が有効アドレスを含むか否かを標示する。低位アクセス方向状態ビット304は、最新アクセス・アドレス・レジスタ302に含まれるアドレスより低位のアドレスを持つアクセスが以前に発生したことがあることを標示し、高位アクセス方向状態ビット308は、最新アクセス・アドレス・レジスタ302に含まれるアドレスより高位のアドレスを持つアクセスが以前に発生したことがあることを標示する。
【0017】
この代替実施形態において、コントローラは、最新メモリ・アクセス・アドレス・レジスタに任意の値を記憶しすべての3つの状態ビットをクリアした状態で、処理を開始する。最初のメモリ・アクセスが受け取られると、システムは、状態ビットがすべてクリアされていることを検出し、従って以前の履歴が状態ビット内に存在しないので、メモリ・アクセスの発生を許容する。次に、システムはこのメモリ・アクセスのアドレスを最新アクセス・アドレス・レジスタ302に記憶し、また、中央状態ビット306をセットして最新アクセス・アドレス・レジスタ302が有効値を含むことを標示する。
【0018】
中央状態ビット306がセットされた後、現在時アクセスと呼ばれる別のメモリ・アドレスが受け取られると、システムは、現在時アクセスのアドレスを最新アクセス・アドレス・レジスタ302の値と比較する。それらが等しければ、システムはヒットを宣言する。それらが等しくない場合、システムは、現在時アクセスが最新アクセス・アドレス・レジスタ302の値より低いか高いかを判断する。例えば、現在時アクセスが最新アクセス・アドレス・レジスタ302の値より高いと仮定すれば、システムは高位アクセス方向状態ビット308を検査して、ここでは高位アクセス方向状態ビット308はセットされてないので、そのアクセスは許容される。アクセスを許容した後、システムは、現在時アクセスのためのメモリ・アドレスを最新アクセス・アドレス・レジスタ302に記憶し、低位アクセス方向状態ビット304をセットして、最新アクセス・アドレス・レジスタ302に現在含まれる値より低いアドレスを持つアクセスが以前に発生したことを標示する。低位アクセス状態ビットがセットされる理由は、現在時アクセスのアドレスが今や最新アクセス・アドレス・レジスタ302に記憶され、それより前すなわち現在時アクセスが発生する前に記憶されていたアドレスが現在時アクセス・アドレスより低かったためである。
【0019】
次に新しい別のメモリ・アドレスが受け取られると、システムは、この現在時アクセス・アドレスを最新アクセス・アドレス・レジスタ302に記憶された値と比較する。それらが等しければ、当然のことながらシステムはヒットを宣言する。等しくなければ、システムは現在時アクセスが最新アクセス・アドレス・レジスタ302の値より低いか高いかを判断する。ここで例えば現在時アクセスが最新アクセス・アドレス・レジスタ302の値より高いと仮定すれば、高位アクセス方向状態ビット308がセットされてないので、そのアクセスは許容される。しかし、現在時アクセスが最新アクセス・アドレス・レジスタ302の値より低いと仮定すれば、(低位アクセス状態ビットがセットされていることによって)最新アクセス・アドレス・レジスタ302の値より低いアドレスを持つアクセスが以前に発生していることが標示されているので、ヒットが宣言される。新しいメモリ・アクセスの値が最後アクセス・レジスタ302の値より高い限りは、衝突が発生する可能性はないので、アクセスは許容され続ける。アドレスが等しいかまたは低いアクセスを最初に受け取った時、衝突が発生する可能性があるので、ヒットが宣言される。
【0020】
このシステムは保守的であり、実際に何も存在しない場合にヒットを標示する可能性がある。例えば、第1のアクセスがアドレスXで発生し、第2のアクセスがX+1で発生したと仮定すれば、次に第3のアクセスがX−1で発生すれば、システムは衝突を標示するであろう。なぜならば、アドレスX+1における第2のアクセスがシステムが記憶する最新のアクセス・アドレスであるが、システムは、X+1より低位のアドレスに対する少くとも1つのアクセス(実際にはアドレスXへのアクセス)があったことをも記憶している。従って、アドレスX−1が受け取られると、X−1はX+1より低いので、システムは、ヒットを標示するフラグをたてる。システムはX−1がXより低位にあることすなわち実際にはヒットが発生しないことを判断しない。X+1より低位のいかなるアクセスもヒットを派生することをシステムが判断できれば十分である。
【0021】
本発明の好ましい実施形態の2次元フレーム・バッファに関しては、9個の状態ビットが使用される。図4には、以前のアクセスを標示するために使用される9つの方向状態ビットが示されている。9つの方向状態ビットは、最新アクセス・アドレス・レジスタが有効なXおよびY位置を含むか否かを標示する中央有効性ビット410を含む。中央上方向状態ビット404は、以前のアクセスが最新アクセス・アドレスより上の位置で発生したこと、すなわち、ボックス404内の記号「=X」および「<Y」で示されているように以前のアクセスのXアドレスは同じでYアドレスが低位であることを標示する。同様に、中央左方向状態ビット408は、以前のアクセスが最新アクセス・アドレスより左の位置で発生したこと、すなわち、ボックス408内の記号「<X」および「=Y」で示されているように以前のアクセスのXアドレスは低位でYアドレスが同じであることを標示する。中央右方向状態ビット412は、以前のアクセスが最新アクセス・アドレスより右の位置で発生したこと、すなわち、ボックス412内の記号「>X」および「=Y」で示されているように以前のアクセスのXアドレスは高位でYアドレスが同じであることを標示する。中央下方向状態ビット416は、以前のアクセスが最新アクセス・アドレスより下の位置で発生したこと、すなわち、ボックス416内の記号「=X」および「>Y」で示されているように以前のアクセスのXアドレスは同じでYアドレスが高位であることを標示する。
【0022】
更に他の4つの方向状態ビットは、以前のアクセスが最新アクセスに対して斜め方向で発生したか否かを標示する。左上方向状態ビット402は、以前のアクセスが最新アクセス・アドレスに対して左上の位置で発生したこと、すなわち、ボックス402内の記号「<X」および「<Y」で示されているように以前のアクセスのXアドレスは低位でYアドレスも低位であることを標示する。同様に、右上方向状態ビット406は、ボックス406内の記号「>X」および「<Y」で示されているように、以前のアクセスが最新アクセス・アドレスに対して右上のアドレスで発生したことを標示する。左下方向状態ビット414は、ボックス414内の記号「<X」および「>Y」で示されているように、以前のアクセスが最新アクセス・アドレスに対して左下のアドレスで発生したことを標示し、右下方向状態ビット418は、ボックス418内の記号「>X」および「>Y」で示されているように、以前のアクセスが最新アクセス・アドレスに対して右下のアドレスで発生したことを標示する。
【0023】
注:本明細書および添付図面において、左、右、上、下、左上、右上、左下、右下および中央の位置を、それぞれ次の( )内の略称として、CL(Center Left)、CR(Center Right)、AC(Above Center)、BC(Below Center)、AL(Above Left)、AR(Above Right),BL(Below Left)、BR(Below Right)およびC(Center)という記号で表す場合がある。
【0024】
以下の例は、図4で示された状態ビットが本発明の衝突検出回路によって使用される様態を示す。この例では、ピクセルを左から右へ上から下へ処理して各ピクセルを変更することによって、1つの長方形がラスタ化または描出される。本処理例の開始時において、以前のアクセス履歴がないことを標示するため、すべての9つの状態ビットがクリアされる。この動作は、システムの起動時またはキャッシュがすべて消去された時のいずれかに行われる。
【0025】
メモリ・アクセスがオブジェクト分解装置202から受け取られる時、中央ビット410が有効な以前のアクセス履歴が存在しないことを標示するので、衝突検出システムは比較を行わない。システムは、このメモリ・アクセスのアドレスをXおよびYレジスタに記憶し、中央ビット410をセットして、最新メモリ・アクセスの履歴が存在することを標示する。
【0026】
後続のメモリ・アクセスは、長方形の描出の典型的順序に従って、左から右、上から下へ進む。現在時アクセスと呼ばれる別のメモリ・アクセスが受け取られると、このアクセスのアドレスは最新のメモリ・アクセスの右にある、すなわち、Xアドレス位置は最新のメモリ・アクセスより大きくYアドレス位置は最新のメモリ・アクセスと同じである。衝突検出システムがこの現在時アクセス・アドレスを受け取ると、アドレスのXおよびY部分を最新のメモリ・アクセス・アドレスと比較し、X比較は「より大」をY比較は「等しい」を示す。上記の比較の結果、システムは「>X」および「=Y」条件を示す中央右ビット412を検査し、中央右位置412がセットされていないことを認識する。従って、システムはこのアクセスを許容する。
【0027】
上記アクセスが実行された後、システムは、(中央)左ビットをセットすることによって図4の状態ビット408を更新する。この結果、新たに更新された現在時アクセス・アドレスに対するアクセスより以前に現在時アクセス・アドレスの左側の位置でアクセスが行われたことがあることが標示される。システムは、今受け取ったアドレスをXおよびYアドレス・レジスタに記憶し、XおよびYレジスタが有効であることを標示する中央ビット410をセットする。このようにして、2つのアクセスの後、システムは、前のアクセスがXおよびYアドレス・レジスタに記憶された最新のアクセス・アドレスのどこか左側にあったことを記憶する。メモリ・アクセスが左から右へ移動するにつれ、システムは、上述の通り、先行アクセスが現在位置の左側にすべてあったことを認識する。長方形の最初の行の最新のピクセルが書き込まれた後、(図2の)オブジェクト分解装置202は、処理を長方形の次の行の最左端のピクセルへ移動する。
【0028】
次の行の最初のピクセルに関するメモリ・アドレスが受け取られると、システムはそのアドレスを検査し、当該アクセスが最新のアクセスの左下であると判断する。従って、システムは左下ビット414を検査し、このビットがセットされていないことがわかるので、該アクセスは許容される。このアクセスの後、システムは諸ビットを更新し、右上ビットをセットして、今や現在時アクセス・アドレス(具体的には最新のアクセス)の右上で発生したアクセスがあることを示す。前の状態が最新のアクセス・アドレスの左側に対するアクセスが存在したことを示していたので、中央上および左上ビットがそれら領域における可能なアクセス履歴を示すようにセットされる。実際には最新のアクセスの上および左でアクセスは発生していないけれども、最新のアクセスに先行するアクセスの左でアクセスが発生しているので、システムは、上および左のアクセスのすべてを、発生したものとしてフラグを立てなければならない。すなわち、以前の位置の左に何らかのアクセスが発生したが、システムは、どれ程左側に発生したかわからないので、以前の位置の左に位置していたすべてのアクセスが今や最新のアクセスの上および左にあることを示すようにフラグをたてる。しかし、システム方向状態ビットは、現在時メモリ・アクセス・アドレスの行の左側にも右側にもアクセスがなかったこと、また、現在時メモリ・アクセス・アドレスの下側にもアクセスがなかったことを標示する。
【0029】
今や、ラスタ化処理は長方形の2行目の左から右へ継続し、コントローラは衝突なしのフラグを立て続ける。衝突なしのフラッグをたてるこの処理は長方形の最下部まで続く。
【0030】
第2の例は、本発明のシステム内でヒットが発生する場合を示すものである。この例は、長方形の輪郭を描画する場合で、左上のコーナーから始まって、長方形の周囲の処理を時計回りに進めるものである。処理の開始時に、コントローラはすべての状態ビットをリセットする。最初のアドレスがXおよびYレジスタに記憶され、中央ビットが以前のアクセスがあったことを示すようにセットされる。アクセスが左から右へ進むにつれ、コントローラはアクセスが行の左側にアクセスがあったことを記憶するが、すべての新しいアクセスが最新のアクセスの右側にあるので、コントローラはヒットを示すフラグをたてない。
【0031】
最上行セグメントが終了すると、オブジェクト分解装置は、最上行の最新のピクセル位置の直下からアクセスを開始する。長方形の右辺におけるアクセスは、それらが最新のアクセスの下にあるので、許容される。コントローラは、アクセスが上にあったこと、および左上方向のどこかにアクセスがあったことを認識する。長方形の右辺の処理を終了すると、オブジェクト分解装置は、長方形の底辺に沿って左へのステッピングを開始する。現在、コントローラはアクセスが同じ行の右側および上方のどこかにあったことを認識している。しかし、長方形の右側で底辺ピクセルの左に対しするアクセスがなかったので、長方形の底辺を規定する底辺ピクセルの左へ移動するアクセスは許容される。
【0032】
最後に、長方形の底辺の処理を終了すると、オブジェクト分解装置は、長方形の左辺に沿って上昇するアクセスを開始する。長方形の左辺をのぼる最初のピクセルがアクセスされると、システムは、現在の「最新の」アドレスの真上である可能性のあるなんらかの上および左方向アクセスが既に発生していることを認める。
【0033】
この時点においてキャッシュは消去され、方向状態ビットおよびX、Yアドレス・レジスタがクリアされる。次に、オブジェクト分解装置は、長方形の左辺をのぼるピクセルをアクセスする。キャッシュの消去後のすべての新しいアクセスは、衝突の可能性のない上方向への一線上の移動であるので、長方形の左辺上の処理の間、ヒットを示すフラグはたたない。
【0034】
図5は、図2の好ましい実施形態の衝突検出回路部分のブロック図を示す。
フレーム・バッファ・アドレスバス204は、(図2の)オブジェクト分解装置202から(図2の)フレーム・バッファ210へメモリ・コントローラ212を経由して送付されるアドレスを受け取る。フレーム・バッファ・アドレスの「X」部分が、2つの比較器506よび508に回送され、そこで、アドレスのX部分が最新Xレジスタ502に記憶されている最新Xアドレス値と比較される。比較器506および508の出力は、EQX信号514およびLTX信号516であり、これらの信号は、NORゲートを使用して結合され、GTX信号516が作成される。これらの3つの信号は、フレーム・バッファ・アドレス・バス204上のアドレスのX部分が、最新Xレジスタ502に記憶されている最新のXアドレス値に等しい(EQX)か、それより大(GTX)かあるいは小(LTX)であるか否かを標示する。
【0035】
同様に、フレーム・バッファ・アドレスの「Y」部分が、2つの比較器510よび512に回送され、そこで、アドレスのY部分が最新Yレジスタ504に記憶されている最新Yアドレス値と比較される。比較器510および512の出力は、EQY信号518およびLTY信号520であり、これらの信号は、NORゲートを使用して結合され、GTY信号519が作成される。これらの3つの信号は、フレーム・バッファ・アドレス・バス204上のアドレスのY部分が、最新Yレジスタ504に記憶されている最新のYアドレス値に等しい(EQY)か、それより大(GTY)かあるいは小(LTY)であるか否かを標示する。
【0036】
これらの6つの信号EQX514、GTX515、LTX516、EQY518、GTY519およびLTY520は、アクセスが許容されるか否かを判断するため図4の状態ビットのいずれを検査しなければならないかを判断するために必要な信号を提供する。図5の残りの回路部分は、到来信号がXより小さくYより小さい場合ヒットが発生したか否かを判断するために使用される。
【0037】
左上ラッチ522は、(図4の)左上ビット402を記憶する。ANDゲート524は、左上ラッチ522内の状態値を、LTX信号516およびLTY信号520と結合する。フレーム・バッファ・アドレス204のX部分が、最新のX値502より小さい場合、LTX信号516は論理値1である。同様に、フレーム・バッファ・アドレス204のY部分が、最新のY値504より小さい場合、LTY信号520は論理値1である。左上ラッチ522が左上方向で既にアクセスが発生したことを標示するようにセットされていれば、上記2つの論理値の組み合わせはヒットを意味する。従って、すべての3つのビットが論理値1であれば、ANDゲート524の出力は論理値1となり、これにより、ANDゲートの出力である論理値1がその他の比較結果のその他のビットとORゲート526によって論理ORされると、この新しいアクセスが許容される前にキャッシュが消去されなければならないことを標示するヒット信号216がセットされる。
【0038】
その他の8つの状態ビットに関する回路は、図4の方向状態ビット定義に従って比較器出力信号EQX514、GTX515、LTX516、EQY518、GTY519とLTY520という異なる信号を使用することを当然除いて、上記の左上ラッチ522およびANDゲート524と同様である。ORゲート526は状態比較のすべての出力を結合して、ヒット信号216を生成する。
【0039】
アクセスが発生する都度、図4に示される9個の状態ビットのすべては更新されなければならない。アクセスが許容されなければ、キャッシュは消去され、すべての状態ビットはクリアされる。アクセスが許容される場合、下記表1に示される式に従って、各タイプのアクセスの発生後9つの状態ビットの各々が更新される。例えば、表1の最初のエントリは、前のアクセスの左上にアクセスが発生した後に9個の状態ビットを更新するための式を示し、第2のエントリは、前のアクセスのすぐ上にアクセスが発生した後に9個の状態ビットを更新するための式を示し、以下のエントリも同様にそれぞれ対応する状態ビットを更新する式を示す。
【0040】
下記表2は、左上の状態ビットを更新するための式を示す。この式は、表1に示されている左上の状態ビットに対する更新のすべてを論理OR演算を使用して結合することによって作成されている。その他の8個の状態ビットを更新する式も、同様に、表1に示されているそれぞれの状態ビットに対する更新のすべてを論理OR演算を使用して結合することによって作成される。表1および表2の式において、記号"+"は論理OR演算を示し、記号"・"は論理AND演算を示す。記号"<="は「...によって置き換えられる」を意味する。
【0041】
【表1】
// 新しいアクセスが左上の場合
AL <= AL
AC <= AL
AR <= AC + AR
CL <= AL
C <= '1'
CR <= AC + AR
BL <= CL + BL
BC <= CL + BL
BR <= C + CR + BC + BR
// 新しいアクセスが真上の場合
AL <= AL
AC <= AC
AR <= AR
CL <= AL
C <= '1'
CR <= AR
BL <= BL + CL
BC <= BC + C
BR <= BR + CR
// 新しいアクセスが右上の場合
AL <= AL + AC
AC <= AR
AR <= AR
CL <= AL + AC
C <= '1'
CR <= AR
BL <= BL + CL + C + BC
BC <= BR + CR
BR <= BR + CR
// 新しいアクセスが真左の場合
AL <= AL
AC <= AL
AR <= AR + AC
CL <= CL
C <= '1'
CR <= CR + C
BL <= BL
BC <= BL
BR <= BR + BC
// 新しいアクセスが最新アクセスと同じ場合
AL <= AL
AC <= AC
AR <= AR
CL <= CL
C <= '1'
CR <= CR
BL <= BL
BC <= BC
BR <= BR
// 新しいアクセスが真右の場合
AL <= AL + AC
AC <= AR
AR <= AR
CL <= CL + C
C <= '1'
CR <= CR
BL <= BL + BC
BC <= BR
BR <= BR
// 新しいアクセスが左下の場合
AL <= AL + CL
AC <= AL + CL
AR <= AL + AR + C + CR
CL <= BL
C <= '1'
CR <= BC + BR
BL <= BL
BC <= BL
BR <= BC + BR
// 新しいアクセスが真下の場合
AL <= AL + CL
AC <= AC + C
AR <= AR + CR
CL <= BL
C <= '1'
CR <= BR
BL <= BL
BC <= BC
BR <= BR
// 新しいアクセスが右下の場合
AL <= AL + AC + CL + C
AC <= AR + CR
AR <= AR + CR
CL <= BL + BC
C <= '1'
CR <= BR
BL <= BL + BC
BC <= BR
BR <= BR
【0042】
【表2】
AL <= LTX・LTY・AL
+ EQX・LTY・AL
+ GTX・LTY・(AL + AC)
+ LTX・EQY・AL
+ EQX・EQY・AL
+ GTX・EQY・(AL + AC)
+ LTX・GTY・(AL + CL)
+ EQX・GTY・(AL + CL)
+ GTX・GTY・(AL + AC + CL + C)
【0043】
図6は、左上の状態ビットをセットする表2の式の論理の流れを示す。その他の8個の状態ビットに関して表1の式を結合することによって同様の論理を作成することが可能である点は当業者に認められることであろう。また、ブール代数定理を使用することによって、表2の論理式を縮小して、図6に示される論理よりも小さい論理セットを提供することが可能である点も当業者に認められることであろう。
【0044】
3次元あるいはn次元のメモリでの使用のため本発明を拡張することができる点は当業者に認められることであろう。3次元の実施のためには、3次元の各々について27ビットの記憶域および比較器が必要とされる。n次元の実施のためには、n次元の各々について3nビットの記憶域および比較器が必要とされる。
【0045】
以上、本発明の好ましい実施形態を記述したが、上記記述は本発明をそのような実施形態に限定する意図を有するものではない。本発明の理念を逸脱することなく本発明の実施形態および構成に種々の変更および修正を加えることが可能である点は当業者に認められることであろう。
【0046】
本発明には、例として次のような実施様態が含まれる。
(1)メモリに対する複数アクセスの間に発生するアドレス衝突を検出し、衝突が検出される場合ヒット信号を送信する回路であって、受け取った最新アドレスを保持する最新アドレス・レジスタと、以前のメモリ・アクセスが第1の方向で発生したという標識を記憶する第1方向状態ビットと、現在時メモリ・アドレスを上記最新アドレス・レジスタに記憶されている最新アドレスと比較し、上記現在時メモリ・アドレスが上記最新アドレス・レジスタに記憶されている最新アドレスに対して第1の方向に位置することを標示する比較器回路と、衝突を検出する機能を持ち、上記現在時メモリ・アドレスが上記最新アドレス・レジスタに記憶されている最新アドレスに対して第1の方向に位置することを上記比較器回路が標示し、かつ、上記第1方向状態ビットが以前のメモリ・アクセスが上記第1の方向で発生したことを標示する場合、ヒット信号を送信するヒット検出回路と、を備えるアドレス衝突検出回路。
(2)以前のメモリ・アクセスが上記第1の方向とは反対の第2の方向で発生したという標識を記憶する第2方向状態ビットと、現在時メモリ・アドレスを上記最新アドレス・レジスタに記憶されている最新アドレスと比較し、上記現在時メモリ・アドレスが上記最新アドレス・レジスタに記憶されている最新アドレスに対して第2の方向に位置することを標示する第2比較器回路と、衝突を検出する機能を持ち、上記現在時メモリ・アドレスが上記最新アドレス・レジスタに記憶されている最新アドレスに対して第2の方向に位置することを上記第2比較器回路が標示しかつ上記第2方向状態ビットが以前のメモリ・アクセスが上記第2の方向で発生したことを標示する時第2ヒット信号を送信する第2ヒット検出回路と、を更に備える上記(1)に記載のアドレス衝突検出回路。
(3)上記最新アドレス・レジスタ、上記第1方向状態ビットおよび上記第2方向状態ビットにおける状態情報の存在を標示する中央状態ビットを更に備える上記(2)に記載のアドレス衝突検出回路。
(4)現在時メモリ・アドレスを上記最新アドレス・レジスタに記憶されている最新アドレスと比較し、上記現在時メモリ・アドレスが上記最新アドレス・レジスタに記憶されている最新アドレスと等しいことを標示する第3比較器回路と、衝突を検出する機能を持ち、上記現在時メモリ・アドレスが上記最新アドレス・レジスタに記憶されている最新アドレスと等しいことを上記第3比較器回路が標示する時第3ヒット信号を送信する第3ヒット検出回路と、を更に備える上記(3)に記載のアドレス衝突検出回路。
【0047】
(5)第1の次元としてXアドレスを持ち第2の次元としてYアドレスを持つ2次元アレイとして構成されるメモリにおける複数メモリ・アクセス間のアドレス衝突を検出し、衝突が検出される場合ヒット信号を送信する回路であって、受け取った最新アドレスを記憶する最新Xアドレス・レジスタと、受け取った最新アドレスを記憶する最新Yアドレス・レジスタと、以前のメモリ・アクセスが上、下、左または右方向で発生したという標識を記憶する4個の方向状態ビットと、現在時メモリ・アドレスを上記最新Xアドレス・レジスタに記憶されている最新アドレスと比較し、上記現在時メモリ・アドレスが上記最新Xアドレス・レジスタに記憶されている最新アドレスに対して左または右の方向に位置することを標示するX比較器回路と、現在時メモリ・アドレスを上記最新Yアドレス・レジスタに記憶されている最新アドレスと比較し、上記現在時メモリ・アドレスが上記最新Yアドレス・レジスタに記憶されている最新アドレスに対して上または下の方向に位置することを標示するY比較器回路と、衝突を検出する機能を持ち、上記現在時メモリ・アドレスが上記最新Xアドレス・レジスタに記憶されている最新アドレスおよび上記最新Yアドレス・レジスタに記憶されている最新アドレスに対して上、下、左または右の方向に位置することを上記X比較器回路および上記Y比較器回路が標示し、上記XおよびY比較器回路によって標示される方向に対応する上記4個の方向状態ビットの1つが以前のメモリ・アクセスが上記対応する方向で発生したことを標示する時ヒット信号を送信するヒット検出回路と、を備えるアドレス衝突検出回路。
(6)上記最新Xアドレス・レジスタおよび上記最新Yアドレス・レジスタにおける状態情報の存在を標示する中央状態ビットを更に備える上記(5)に記載のアドレス衝突検出回路。
【0048】
(7)現在時メモリ・アドレスが上記最新Yアドレス・レジスタに記憶されている最新アドレスに対し下方向に位置することを上記Y比較器回路が標示する時、以前のメモリ・アクセスが上方向で発生したことを標示するように上記4個の方向状態ビットの1つをセットする上状態更新回路と、現在時メモリ・アドレスが上記最新Yアドレス・レジスタに記憶されている最新アドレスに対し上方向に位置することを上記Y比較器回路が標示する時、以前のメモリ・アクセスが下方向で発生したことを標示するように上記4個の方向状態ビットの1つをセットする下状態更新回路と、現在時メモリ・アドレスが上記最新Xアドレス・レジスタに記憶されている最新アドレスに対し右方向に位置することを上記X比較器回路が標示する時、以前のメモリ・アクセスが左方向で発生したことを標示するように上記4個の方向状態ビットの1つをセットする左状態更新回路と、現在時メモリ・アドレスが上記最新Xアドレス・レジスタに記憶されている最新アドレスに対し左方向に位置することを上記X比較器回路が標示する時、以前のメモリ・アクセスが右方向で発生したことを標示するように上記4個の方向状態ビットの1つをセットする右状態更新回路と、を更に備える上記(5)に記載のアドレス衝突検出回路。
(8)以前のメモリ・アクセスが左上、左下、右上または右下の方向で発生したという標識を記憶する第2の4個の方向状態ビットと、衝突を検出する機能を持ち、上記現在時メモリ・アドレスが上記最新Xアドレス・レジスタに記憶されている最新アドレスおよび上記最新Yアドレス・レジスタに記憶されている最新アドレスに対して左上、左下、右上または右下の方向に位置することを上記X比較器回路および上記Y比較器回路が標示し、上記XおよびY比較器回路によって標示される方向に対応する上記第2の4個の方向状態ビットの1つが以前のメモリ・アクセスが上記対応する方向で発生したことを標示する時ヒット信号を送信する第2ヒット検出回路と、を更に備える上記(5)に記載のアドレス衝突検出回路。
【0049】
(9)現在時メモリ・アドレスが上記最新Xアドレス・レジスタおよび上記最新Yアドレス・レジスタに記憶されている最新アドレスに対し右下方向に位置することを上記X比較器回路および上記Y比較器回路が標示する時、以前のメモリ・アクセスが左上方向で発生したことを標示するように上記第2の4個の方向状態ビットの1つをセットする左上状態更新回路と、現在時メモリ・アドレスが上記最新Xアドレス・レジスタおよび上記最新Yアドレス・レジスタに記憶されている最新アドレスに対し左上方向に位置することを上記X比較器回路および上記Y比較器回路が標示する時、以前のメモリ・アクセスが右下方向で発生したことを標示するように上記第2の4個の方向状態ビットの1つをセットする右下状態更新回路と、現在時メモリ・アドレスが上記最新Xアドレス・レジスタおよび上記最新Yアドレス・レジスタに記憶されている最新アドレスに対し右上方向に位置することを上記X比較器回路および上記Y比較器回路が標示する時、以前のメモリ・アクセスが左下方向で発生したことを標示するように上記第2の4個の方向状態ビットの1つをセットする左下状態更新回路と、現在時メモリ・アドレスが上記最新Xアドレス・レジスタおよび上記最新Yアドレス・レジスタに記憶されている最新アドレスに対し左下方向に位置することを上記X比較器回路および上記Y比較器回路が標示する時、以前のメモリ・アクセスが右上方向で発生したことを標示するように上記第2の4個の方向状態ビットの1つをセットする右上状態更新回路と、を更に備える上記(8)に記載のアドレス衝突検出回路。
【0050】
【発明の効果】
本発明によって、連想メモリにおいて使用されている高価な並列比較を使用せずに、メモリからデータを読み取る際に発生する可能性のあるキャッシュ衝突を効率的に検出する方法および装置を実現することができる。
【図面の簡単な説明】
【図1】本発明を実施するグラフィック・コントローラを含むコンピュータ・システムのブロック図である。
【図2】図1のグラフィック・コントローラのブロック図である。
【図3】本発明の代替実施形態において使用される3個の状態ビットおよび1つのアドレス・レジスタを示すブロック図である。
【図4】本発明の好ましい実施形態において、以前のアクセスを示すために使用される9個の状態ビットを示すブロック図である。
【図5】本発明の好ましい実施形態である図2の衝突検出回路部分示すブロック図である。
【図6】本発明の好ましい実施形態である図2の衝突検出回路部分の論理ブロック図である。
【符号の説明】
100 コンピュータ・システム
102 処理エレメント
104 システム・バス
106 キーボード
108 グラフィック・ロケータ装置
109 グラフィック・コントローラ
110 表示装置
112 データ記憶装置
116 メモリ
118 オペレーティング・システム
120 アプリケーション・プログラム
202 オブジェクト分解回路
204 フレーム・バッファ・アドレス・バス
206 キャッシュ・メモリ
210 フレーム・バッファ
212 メモリ・コントローラ
214 衝突検出回路
216 ヒット信号
302 最新アクセス・アドレス・レジスタ
304 低位アクセス状態ビット
306、410 中央状態ビット
304 高位アクセス状態ビット
402 左上アクセス状態ビット
404 上アクセス状態ビット
406 右上アクセス状態ビット
408 左アクセス状態ビット
412 右アクセス状態ビット
414 左下アクセス状態ビット
416 下アクセス状態ビット
418 右下アクセス状態ビット
502 最新Xアドレス・レジスタ
504 最新Yアドレス・レジスタ
506、510 Xアドレス比較器
508、512 Yアドレス比較器
522 左上ラッチ器
524 ANDゲート
526 ORゲート

Claims (11)

  1. メモリに対する複数アクセスの間に発生するアドレス衝突を検出し、衝突が検出される場合ヒット信号を送信する回路であって、
    受け取った最新アドレスを保持する最新アドレス・レジスタと、
    以前のメモリ・アクセスが第1の方向で発生したという標識を記憶する第1方向状態ビットと、
    現在時メモリ・アドレスを前記最新アドレス・レジスタに記憶されている最新アドレスと比較し、前記現在時メモリ・アドレスが前記最新アドレス・レジスタに記憶されている最新アドレスに対して第1の方向に位置することを示す比較器回路と、
    前記現在時メモリ・アドレスが前記最新アドレス・レジスタに記憶されている最新アドレスに対して第1の方向に位置することを前記比較器回路が示し、かつ、前記第1方向状態ビットが以前のメモリ・アクセスが前記第1の方向で発生したことを示す場合、衝突を検出してヒット信号を送信するヒット検出回路と、
    を備えるアドレス衝突検出回路。
  2. 以前のメモリ・アクセスが前記第1の方向とは反対の第2の方向で発生したという標識を記憶する第2方向状態ビットと、
    現在時メモリ・アドレスを前記最新アドレス・レジスタに記憶されている最新アドレスと比較し、前記現在時メモリ・アドレスが前記最新アドレス・レジスタに記憶されている最新アドレスに対して第2の方向に位置することを示す第2比較器回路と、
    前記現在時メモリ・アドレスが前記最新アドレス・レジスタに記憶されている最新アドレスに対して第2の方向に位置することを前記第2比較器回路が示し、かつ前記第2方向状態ビットが以前のメモリ・アクセスが前記第2の方向で発生したことを示す時、衝突を検出して第2ヒット信号を送信する第2ヒット検出回路と、
    を更に備える請求項1に記載のアドレス衝突検出回路。
  3. 前記ヒット信号と前記第2ヒット信号を結合ヒット信号にまとめる論理OR回路をさらに備える請求項2に記載のアドレス衝突検出回路。
  4. 前記現在時メモリ・アドレスが前記最新アドレス・レジスタに記憶されている前記最新アドレスから前記第2の方向に位置することを前記比較器回路が示す時、前記第1方向状態ビットをセットし、前記現在時メモリ・アドレスが前記最新アドレス・レジスタに記憶されている前記最新アドレスから前記第1の方向に位置することを前記比較器回路が示す時、前記第2方向状態ビットをセットする、状態更新回路をさらに備える請求項2に記載のアドレス衝突検出回路。
  5. 前記最新アドレス・レジスタ、前記第1方向状態ビットおよび前記第2方向状態ビットにおける状態情報の存在を示す中央状態ビットを更に備える請求項2に記載のアドレス衝突検出回路。
  6. 現在時メモリ・アドレスを前記最新アドレス・レジスタに記憶されている最新アドレスと比較し、前記現在時メモリ・アドレスが前記最新アドレス・レジスタに記憶されている最新アドレスと等しいことを示す第3比較器回路と、
    前記現在時メモリ・アドレスが前記最新アドレス・レジスタに記憶されている最新アドレスと等しいことを前記第3比較器回路が示す時、衝突を検出して第3ヒット信号を送信する第3ヒット検出回路と、
    を更に備える請求項5に記載のアドレス衝突検出回路。
  7. メモリに対する複数アクセスの間に発生するアドレス衝突を検出し、衝突が検出される場合ヒット信号を送信する方法であって、
    (a)受け取った最新アドレスを保持するステップと、
    (b)以前のメモリ・アクセスが第1の方向で発生したことを示す第1方向標識を記憶するステップと、
    (c)受け取った現在時アドレスを前記受け取った最新アドレスと比較し、前記受け取った現在時アドレスが前記受け取った最新アドレスに対して第1の方向に位置することを示すステップと、
    (d)前記受け取った現在時アドレスが前記受け取った最新アドレスに対して第1の方向に位置することを前記ステップ(c)が示し、かつ、前記第1方向標識が以前のメモリ・アクセスが前記第1の方向で発生したことを示す場合、衝突を検出してヒット信号を送信するステップと、
    を備える方法。
  8. (e)以前のメモリ・アクセスが前記第1の方向とは反対の第2の方向で発生したという第2の標識を記憶するステップと、
    (f)前記受け取った現在時アドレスを前記受け取った最新アドレスと比較し、前記受け取った現在時アドレスが前記受け取った最新アドレスから前記第2の方向に位置することを示すステップと、
    (g)前記受け取った現在時アドレスが前記受け取った最新アドレスから第2の方向に位置することを前記ステップ(f)が示し、かつ前記第2方向標識が以前のメモリ・アクセスが前記第2の方向で発生したことを示す場合、衝突を検出して第2ヒット信号を送信するステップと、
    を更に備える請求項7に記載の方法。
  9. (h)前記ヒット信号と前記第2ヒット信号を結合ヒット信号にまとめるステップをさらに備える請求項8に記載の方法。
  10. (h)前記受け取った現在時アドレスが前記受け取った最新アドレスから前記第2の方向に位置することを前記比較するステップが示す時、前記第1方向標識をセットするステップと、
    (i)前記受け取った現在時アドレスが前記受け取った最新アドレスから前記第1の方向に位置することを前記比較するステップが示す時、前記第2方向標識をセットするステップと、
    をさらに備える請求項8に記載の方法。
  11. (e)前記受け取った最新アドレスが保持されたことを示す中央標識を保存するステップを更に備える請求項7に記載の方法。
JP11673297A 1996-05-29 1997-05-07 アドレス衝突検出回路 Expired - Fee Related JP3776202B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/655,054 US5777628A (en) 1996-05-29 1996-05-29 Method and apparatus for detecting cache collisions in a two dimensional memory
US655,054 1996-05-29

Publications (3)

Publication Number Publication Date
JPH1083346A JPH1083346A (ja) 1998-03-31
JPH1083346A5 JPH1083346A5 (ja) 2005-03-17
JP3776202B2 true JP3776202B2 (ja) 2006-05-17

Family

ID=24627312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11673297A Expired - Fee Related JP3776202B2 (ja) 1996-05-29 1997-05-07 アドレス衝突検出回路

Country Status (2)

Country Link
US (1) US5777628A (ja)
JP (1) JP3776202B2 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6577776B1 (en) * 1999-02-24 2003-06-10 Media 100, Inc. Transforming video images
ATE346342T1 (de) * 2002-11-05 2006-12-15 Koninkl Philips Electronics Nv Datenverarbeitungsvorrichtung mit adressenumlenkung als reaktion auf periodische adressenmuster
GB2415060B (en) * 2004-04-16 2007-02-14 Imagination Tech Ltd Dynamic load balancing
US8743142B1 (en) 2004-05-14 2014-06-03 Nvidia Corporation Unified data fetch graphics processing system and method
US8687010B1 (en) 2004-05-14 2014-04-01 Nvidia Corporation Arbitrary size texture palettes for use in graphics systems
US8860722B2 (en) * 2004-05-14 2014-10-14 Nvidia Corporation Early Z scoreboard tracking system and method
US8736628B1 (en) 2004-05-14 2014-05-27 Nvidia Corporation Single thread graphics processing system and method
US7079156B1 (en) * 2004-05-14 2006-07-18 Nvidia Corporation Method and system for implementing multiple high precision and low precision interpolators for a graphics pipeline
US8432394B1 (en) 2004-05-14 2013-04-30 Nvidia Corporation Method and system for implementing clamped z value interpolation in a raster stage of a graphics pipeline
US8711155B2 (en) * 2004-05-14 2014-04-29 Nvidia Corporation Early kill removal graphics processing system and method
US8736620B2 (en) * 2004-05-14 2014-05-27 Nvidia Corporation Kill bit graphics processing system and method
US8416242B1 (en) 2004-05-14 2013-04-09 Nvidia Corporation Method and system for interpolating level-of-detail in graphics processors
US8411105B1 (en) 2004-05-14 2013-04-02 Nvidia Corporation Method and system for computing pixel parameters
US20060007234A1 (en) * 2004-05-14 2006-01-12 Hutchins Edward A Coincident graphics pixel scoreboard tracking system and method
US7847755B1 (en) * 2005-05-23 2010-12-07 Glance Networks Method and apparatus for the identification and selective encoding of changed host display information
US8537168B1 (en) 2006-11-02 2013-09-17 Nvidia Corporation Method and system for deferred coverage mask generation in a raster stage
US8441497B1 (en) 2007-08-07 2013-05-14 Nvidia Corporation Interpolation of vertex attributes in a graphics processor
US9183607B1 (en) 2007-08-15 2015-11-10 Nvidia Corporation Scoreboard cache coherence in a graphics pipeline
US9256514B2 (en) 2009-02-19 2016-02-09 Nvidia Corporation Debugging and perfomance analysis of applications
US9411595B2 (en) 2012-05-31 2016-08-09 Nvidia Corporation Multi-threaded transactional memory coherence
US9824009B2 (en) 2012-12-21 2017-11-21 Nvidia Corporation Information coherency maintenance systems and methods
US10102142B2 (en) 2012-12-26 2018-10-16 Nvidia Corporation Virtual address based memory reordering
US9323534B2 (en) 2013-03-15 2016-04-26 Freescale Semiconductor, Inc. Method and apparatus for detecting a collision between multiple threads of execution for accessing a memory array
US9367437B2 (en) 2013-03-15 2016-06-14 Freescale Semiconductor, Inc. Method and apparatus for reducing the number of speculative accesses to a memory array
US9477575B2 (en) 2013-06-12 2016-10-25 Nvidia Corporation Method and system for implementing a multi-threaded API stream replay
US9116799B2 (en) 2013-06-30 2015-08-25 Freescale Semiconductor, Inc. Method for detecting bank collision at a memory and device therefor
US9569385B2 (en) 2013-09-09 2017-02-14 Nvidia Corporation Memory transaction ordering

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8700092D0 (en) * 1987-01-05 1987-02-11 Crosfield Electronics Ltd Image processing
US5287446A (en) * 1990-10-15 1994-02-15 Sierra On-Line, Inc. System and methods for intelligent movement on computer displays
US5513307A (en) * 1992-11-20 1996-04-30 Sega Of America, Inc. Video game with switchable collision graphics

Also Published As

Publication number Publication date
JPH1083346A (ja) 1998-03-31
US5777628A (en) 1998-07-07

Similar Documents

Publication Publication Date Title
US5777628A (en) Method and apparatus for detecting cache collisions in a two dimensional memory
EP0168121B1 (en) Memory access method and apparatus in multiple processor systems
US5133058A (en) Page-tagging translation look-aside buffer for a computer memory system
EP0052370A2 (en) A virtual storage data processing system
JPH06342403A (ja) 予測キャッシングシステム
JP3012541B2 (ja) 3次元グラフィックス空間におけるオブジェクト識別および衝突検知のための方法および装置
US6931495B2 (en) Processor and method of arithmetic processing thereof
JP2575598B2 (ja) マルチプロセッサ・コンピュータ・システムのシステム・メモリの並行性を増大する方法およびシステム
US5226132A (en) Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system
US5293622A (en) Computer system with input/output cache
US5619673A (en) Virtual access cache protection bits handling method and apparatus
US6356988B1 (en) Memory access system, address converter, and address conversion method capable of reducing a memory access time
EP0153109A2 (en) Cache coherence system
US7333106B1 (en) Method and apparatus for Z-buffer operations
JP3060988B2 (ja) 画像データ処理装置
JPS629945B2 (ja)
JPH0697393B2 (ja) ビットマップ処理装置
JP2540959B2 (ja) 情報処理装置
JP2773458B2 (ja) ベクトル制御装置
JPH06103477B2 (ja) 並列キャッシュメモリ
JPH04153753A (ja) キャッシュメモリ制御方式
JP2771350B2 (ja) 画像処理装置
JPH05289932A (ja) グラフィックメモリの制御方法および制御装置
JPH087663B2 (ja) コンピユータ・システムおよびその記憶装置アクセス方法
JPH0548498B2 (ja)

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040426

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060207

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060222

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

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees