JP4925385B2 - 機能拡張型メモリコントローラを備えるグラフィックス処理システム - Google Patents
機能拡張型メモリコントローラを備えるグラフィックス処理システム Download PDFInfo
- Publication number
- JP4925385B2 JP4925385B2 JP2001133526A JP2001133526A JP4925385B2 JP 4925385 B2 JP4925385 B2 JP 4925385B2 JP 2001133526 A JP2001133526 A JP 2001133526A JP 2001133526 A JP2001133526 A JP 2001133526A JP 4925385 B2 JP4925385 B2 JP 4925385B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- resource
- main
- write
- access
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Memory System (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Description
【発明の属する技術分野】
本発明は、コンピュータグラフィックスに関し、より特定的には、ホームビデオゲームプラットフォームなどの対話式グラフィックスシステムに関する。さらにより特定的には、本発明は、リソースのメインメモリへのアクセスを制御する対話式グラフィックスシステムなどで使用されるメモリコントローラに関する。
【0002】
【発明の背景と概要】
恐竜、宇宙人、アニメ化されたおもちゃといった空想的な生物が、非常にリアルに映像化された映画を見かけることが多くなっている。このような動画は、コンピュータグラフィックスにより可能となっている。この技術を用いることにより、コンピュータグラフィックスアーチストは、各物体の形状および時間の経過に伴って生じる外見上の変化を特定することができる。そして、コンピュータが物体をモデリングして、家庭用テレビやコンピュータなどの画面上に表示する。表示動画の各部分は、そのシーンにおける物体相互の距離および向き、各物体に対する照明方向、各物体の表面の質感、その他様々な要素に基づき着色・形成され、この着色・形成を適切に行うために必要な数多くの処理は、コンピュータが引き受ける。
【0003】
コンピュータグラフィックスの生成処理が複雑なため、ほんの数年前まで、コンピュータで生成した3次元グラフィックスの活用は、高価格で専門化されたフライトシュミレータ、上位グラフィックスワークステーション、およびスーパーコンピュータに限られていた。人々は、これらコンピュータシステムによって作り出された動画を、映画や制作費の高いテレビコマーシャルで目にすることがあっても、実際にグラフィックスを作成しているコンピュータと接触することはできなかったのである。しかし、ニンテンドウ64(登録商標)や各種3Dグラフィックスカードなど、比較的安価なPC用グラフィックスプラットフォームの登場により、状況は変わった。今や、自宅やオフィスでも、手ごろな価格のコンピュータグラフィックスシステムを用いて、迫力のある3Dアニメーションおよびシミュレーションを、対話的に作り出すことが可能になっている。
【0004】
迫力のある3Dアニメーションおよびシミュレーションを、手ごろな価格のコンピュータグラフィックスシステムを用いて作り出すには、競合リソース間におけるメインメモリへのアクセスを効率的に制御することが重要である。このようなアクセス制御システムには、どれもかなりの制約が加えられる。例えば、CPUで実行される主要なアプリケーションプログラムは、CPUもメインメモリへのアクセスをシークする数多くのリソースのうちのひとつであることから、命令の高速処理を可能にするために、一定のメモリ読み出し待ち時間でメモリアクセスが許可されなければならない。したがって、CPUは、メインメモリへのアクセスに対して高い優先順位を付与される必要がある。迫力のあるグラフィックスを生成するためには、メモリアクセスをシークするグラフィックス関連リソースも同様に、グラフィックス処理を高速に行うためにメインメモリへの高速アクセスが保証されなければならない。
【0005】
本発明は、ここで例示的に開示される、メインメモリへのアクセスをシークする数多くの競合リソース間の調停など、様々なメモリ制御関連機能を果たすメモリコントローラによって具体化される。この固有なメモリコントローラによって行われるタスクは、メモリアクセスを要求しているリソースのメモリ待ち時間および帯域幅の必要条件の対処、ターンアラウンドを減少させるためのバッファ書き込み、メインメモリのリフレッシュ、プログラム可能なレジスタを使用してのメインメモリの保護、およびその他数多くの機能が含まれる。
【0006】
メインメモリから/への読み出し/書き込みをシークするリソースのメモリアクセスを制御する際、メモリコントローラは、メモリ読み出しとメモリ書き込みとの間の切り替えを最小にして、この切り替えにより引き起こされる遊休サイクルによるメモリ帯域幅の浪費を回避し、それによりメモリアクセス時間を向上させる。この例示メモリコントローラは、読み出し/書き込みの切り替えを減少するため、様々な競合リソースからの書き込み要求をキューに入れる「グローバル」書き込みキューを使用する固有な書き込み式バッファ技法を組み込むことにより、そのような切り替えを最小にする。これにより、メモリ書き込みを競合する複数のリソースは1つのリソースにまとめられ、そこから書き込み要求が送出される。
【0007】
ここに示す実施形態例に従って、メモリコントローラは、リソースのメモリ待ち時間と帯域幅必要条件とを考慮に入れて、メインメモリへのアクセスを有利に最適化する。
【0008】
ここに示すメモリコントローラは、同一アドレス位置が書き込み動作により更新されるより先にメインメモリのアドレス位置からデータを読み出すことにより引き起こされるメモリからの古いデータへのアクセスを回避することにより、メモリコヒーレンシー問題を固有に解決する。コヒーレンシー問題は、読み出しおよび書き込み機能を共に有する単一リソースと、異なるリソースとの両方によって対処される。実施形態例では、このようなコヒーレンシー問題をリソース関連バッファを効率的にフラッシュすることで対処している。例えば、メインメモリへの書き込みを行っているリソースは、フラッシュ信号をメモリコントローラに送出し、そのリソースの書き込み式バッファがフラッシュの必要があることを知らせる。実施例に従って、メモリコントローラはフラッシュ認識ハンドシェイク信号を生成して、競合リソースに対してメインメモリに書き込みされたデータは、関連リソースバッファではなく、実際はメインメモリに格納されていることを伝える。
【0009】
【発明の実施の形態】
図1に、対話式3Dコンピュータグラフィックスシステム50の一例を示す。システム50は、興味をそそる立体音響を伴う対話式3Dビデオゲームをプレイするのに使用され得る。さらに、その他さまざまなアプリケーションにも使用され得る。
【0010】
本例において、システム50は、デジタル表現または3次元世界のモデルを、対話的にリアルタイムで処理する機能を有する。システム50は、当該世界をどこでも任意の視点から部分的、または全体的に表示することができる。例えば、システム50は、手持ちコントローラ52aおよび52b、またはその他の入力装置からのリアルタイム入力に応答して、対話的に視点を変えることができる。これにより、ゲームプレイヤは、当該世界の内部、または外部にいる誰かの目を通して当該世界を見ることができる。システム50は、リアルタイム対話式3D表示を必要としないアプリケーションに使用可能であるが(例えば2D表示生成、および/または非対話式表示)、その高品質な3D画像の超高速表示機能により、非常にリアルで迫力のあるゲームプレイの製作、またはその他グラフィカルな対話に使用することができる。
【0011】
システム50を用いてビデオゲームなどのアプリケーションをプレイするには、ユーザはまず、ケーブル58を用いて、メインユニット54を自身のカラーテレビセット56、またはその他の表示装置に接続する。メインユニット54は、映像信号と音声信号とを生成して、カラーテレビセット56を制御する。映像信号は、テレビスクリーン59上に表示される画像を制御するものであり、音声信号は、テレビステレオスピーカ61L、61Rを通して、音声として再生される。
【0012】
さらに、ユーザは、メインユニット54を電源に接続する。この電源は従来のACアダプタ(図示せず)であって、標準型の家庭用電気コンセントに差込まれ、家庭用電流をメインユニット54への電力供給に適した低圧DC信号に変換する。電池は他の実施形態で使用可能である。
【0013】
ユーザは、手持ちコントローラ52aおよび52bでメインユニット54を制御してもよい。例えば、操縦部60を用いて、テレビ56に表示されるキャラクタが3次元世界で動く操縦部60はさらに、その他のアプリケーションに入力を与える(例えば、メニューの選択、ポインタ/カーソルの制御)。コントローラ52aおよび52bは、さまざまな形をとることができる。本例においては、図示されるコントローラ52はそれぞれ、ジョイスティック、プッシュボタン、および/または方向スイッチなどの操縦部60aまたは60bを備える。コントローラ52は、電磁(無線、赤外線など)波を介して、ケーブル、またはワイヤレスでメインユニット54に接続されてもよい。
【0014】
ゲームなどのアプリケーションをプレイする場合、ユーザはビデオゲームなど、自身がプレイしたいアプリケーションを記憶している記憶媒体62を適宜選択し、その記憶媒体をメインユニット54のスロット64に挿入する。記憶媒体62は、例えば、特別にコード化および/または暗号化された光および/または磁気ディスクであってもよい。ユーザは、電源スイッチ66を操作してメインユニット54をオンにし、記憶媒体62に記憶されているソフトウェアに基づいて、ビデオゲームなどのアプリケーションの実行を開始させる。ユーザは、コントローラ52aおよび52bを操作して、メインユニット54に入力を与えてもよい。例えば、操縦部60aや60bを操作すや60bを動かすと、アニメ化されたキャラクタがそれぞれ異なる方向に移動したり、3次元世界におけるユーザの視点が変化し得る。記憶媒体62内部に格納されているソフトウェアにより、コントローラ52aおよび52b上の各操縦部60aおよび60bが果たす機能、およびその時間はそれぞれ異なる。
【0015】
システム全体の電子部品例
図2は、システム50の構成要素例を示すブロック図である。主な構成要素としては、
・メインプロセッサ(CPU)110
・メインメモリ112、および
・グラフィックス&音声プロセッサ114
が含まれる。
【0016】
本例において、メインプロセッサ110(例えば、機能拡張型IBM POWER PC750)は、グラフィックス&音声プロセッサ114を介して、手持ちコントローラ52(および/またはその他の入力装置)から入力を受け取る。メインプロセッサ110は、ユーザ入力に対話的に応答し、光ディスクドライブなどの大容量記憶アクセス装置106を介して、外部記憶媒体62によって提供されるビデオゲーム、またはその他のプログラムを実行する。例えば、ビデオゲームプレイの状況において、メインプロセッサ110は、様々な対話式制御機能に加え、衝突検出や動画処理を行うことができる。
【0017】
本例では、メインプロセッサ110は、3Dグラフィックスコマンドと音声コマンドとを生成し、それらをグラフィックス&音声プロセッサ114に送出する。グラフィックス&音声プロセッサ114は、これらコマンドを処理し、表示器59上に動的な視覚画像を生成し、さらにステレオスピーカ61Rおよび61L、またはその他の適切な音声出力装置から、高品質な立体音響を出力する。
【0018】
例示のシステム50は、グラフィックス&音声プロセッサ114から画像信号を受信し、その画像信号を、コンピュータのモニタや家庭用カラーテレビセット56などの標準的な表示装置に表示するのに適したアナログおよび/またはデジタル映像信号に変換するビデオ符号化器120を含む。システム50は、さらに、デジタル化された音声信号を圧縮/伸張し、さらに必要に応じて、デジタル音声信号フォーマットとアナログ音声信号フォーマット間の変換を行う音声コーディック(コンプレッサ/デコンプレッサ)122を含む。音声コーディック122は、バッファ124を介して音声入力を受け取り、それらを処理(プロセッサが生成したその他の音声信号や、大容量記憶アクセス装置106の音声出力ストリームを介して受信する音声信号をミックス)するためにグラフィックス&音声プロセッサ114に提供することもできる。本例におけるグラフィックス&音声プロセッサ114は、音声関連情報を音声タスクに使用可能な音声メモリ126に格納する。グラフィックス&音声プロセッサ114は、処理結果の音声出力信号を、伸張してアナログ信号に変換(例えば、バッファアンプ128Lおよび128Rを介して)するために、音声コーデック122に出力し、その結果、スピーカ61Lおよび61Rによって再生され得る。
【0019】
グラフィックス&音声プロセッサ114は、システム50中に存在する様々な装置と通信する機能を備えている。例えば、パラレルデジタルバス130は、大容量記憶アクセス装置106および/またはその他の構成要素との通信に使用され得る。シリアル周辺バス132は、例えば、
・プログラム可能な読み出し専用メモリおよび/またはリアルタイムクロック134
・モデム136、またはその他のネットワーキングインターフェース(プログラム命令および/またはデータが、そこから/そこにダウンロードまたはアップロードされ得る、インターネットやその他のデジタルネットワークなどのテレコミュニケーションネットワーク138に、システム50を接続し得るもの)
・フラッシュメモリ140
等の各種周辺装置と通信するのに使用されてもよい。なお、さらなる外部バス142は、一例としてシリアルバスであってもよく、追加拡張メモリ144(例えば、メモリカード)などの装置との通信に使用されてもよい。コネクタは、様々な装置をバス130、132、142に接続するために使用されてもよい。
【0020】
グラフィックス&音声プロセッサの例
図3は、グラフィックス&音声プロセッサ114の一例を示すブロック図である。グラフィックス&音声プロセッサ114は、例えば、単一ASIC(特定用途向け集積回路)である。本例においては、グラフィックス&音声プロセッサ114は、
・プロセッサインターフェース150
・メモリインターフェース/コントローラ152
・3Dグラフィックスプロセッサ154
・音声デジタル信号プロセッサ(DSP)156
・音声メモリインターフェース158
・音声インターフェースおよびミキサ160
・周辺コントローラ162、および
・ディスプレイコントローラ164
を備える。
【0021】
3Dグラフィックスプロセッサ154は、グラフィックス処理タスクを行う。音声デジタル信号プロセッサ156は、音声処理タスクを行う。ディスプレイコントローラ164は、メインメモリ112の画像情報にアクセスし、それを表示装置56に表示するためビデオ符号化器120に供給する。音声インタ―フェースおよびミキサ160は、音声コーデック122と接続されて、異なるソースからの音声(例えば、大容量記憶アクセス装置106からの音声ストリーム、音声DSP156からの出力、および音声コーディック122を介して受信した外部音声入力)をミックスすることができる。プロセッサインターフェース150は、メインプロセッサ110とグラフィックス&音声プロセッサ114との間で、データの供給とインターフェース制御とを行う。
【0022】
以下に詳細に説明するが、メモリインターフェース152は、グラフィックス&音声プロセッサ114とメモリ112との間で、データの供給とインターフェース制御とを行う。本例では、メインプロセッサ110は、グラフィックス&音声プロセッサ114の一部であるプロセッサインターフェース150およびメモリインターフェース152を介して、メインメモリ112にアクセスする。周辺コントローラ162は、グラフィックス&音声プロセッサ114と前述した様々な周辺装置との間で、データの供給とインターフェース制御とを行う。音声メモリインターフェース158は、音声メモリ126とのインターフェースとなる。
【0023】
グラフィックスパイプラインの例
図4は、図3の例よりさらに詳しく示した3Dグラフィックスプロセッサ154を含むグラフィックス処理システムを示す。3Dグラフィックスプロセッサ154は、他構成要素に加え、コマンドプロセッサ200と3Dグラフィックスパイプライン180とを備える。メインプロセッサ110は、コマンドプロセッサ200にデータのストリーム(例えば、グラフィックスコマンドストリーム、表示リスト)を通信する。メインプロセッサ110は、2レベルキャッシュ115を備え、メモリ待ち時間を最小にする。さらに、グラフィックス&音声プロセッサ114向けのアンキャッシュデータのストリーム用書き込み用ギャザリングバッファ111を備える。この書き込み用ギャザリングバッファ111は、キャッシュラインを部分的に集めてフルキャッシュラインにし、バスを最大限に使用するために、1回につき1キャッシュラインでデータをグラフィックス&音声プロセッサ114に送出する。
【0024】
コマンドプロセッサ200は、プロセッサ110から表示コマンドを受信し、それらを解析する。なお、この処理を行うのに必要な追加データがあれば、メモリコントローラ152を介して共有メモリ112から取得する。コマンドプロセッサ200は、2Dおよび/または3D処理およびレンダリングを行うために、頂点コマンドのストリームをグラフィックスパイプライン180に提供する。グラフィックスパイプライン180は、これらのコマンドに基づいて画像を生成する。結果作り出された画像情報は、メインメモリ112に転送され、パイプライン180のフレームバッファ出力を表示器56に表示するディスプレイコントローラ/ビデオインターフェースユニット164によりアクセスされる。
【0025】
図5は、グラフィックスプロセッサ154を用いて行われる処理を説明するために示すブロック論理フロー図である。メインプロセッサ110は、グラフィックスコマンドストリーム210、表示リスト212、および頂点配列214をメインメモリ112に格納し、コマンドプロセッサ200にプロセッサ/バスインターフェース150を介してポインタを送り出してもよい。メインプロセッサ110は、1つまたはそれ以上のグラフィックス先入れ先出し(FIFO)バッファ210にグラッフィクスコマンドを格納して、メインメモリ110内に割り当てる。コマンドプロセッサ200は、
・同期/フロー制御、およびロードバランシングのための、グラフィックスコマンドを受信してバッファリングする、オンチップFIFOメモリバッファ216を介しての、メインメモリ112からのコマンドストリーム
・オンチップコールFIFOメモリバッファ218を介しての、メインメモリ112からの表示リスト212、および
・頂点キャッシュ220を介しての、メインメモリ112内のコマンドストリームおよび/または頂点配列214からの頂点の属性、
を取り込む。
【0026】
コマンドプロセッサ200は、コマンド処理動作200aを行い、属性のタイプを浮動小数点形式に変換して、その結果である完全な頂点ポリゴンデータをグラフィックスパイプライン180に送り出す。そしてレンダリングとラスタライゼーションとが行われる。プログラム可能なメモリ調停回路130(図4参照)は、グラフィックスパイプライン180と、コマンドプロセッサ200と、ディスプレイコントローラ/ビデオインターフェースユニット164との間の、共有メインメモリ112へのアクセスを調停する。
【0027】
図4は、
・変換ユニット300
・セットアップ/ラスタライザ400
・テクスチャユニット500
・テクスチャ環境ユニット600、および
・ピクセルエンジン700、
を備えるグラフィックスパイプライン180を示す。
【0028】
変換ユニット300は、様々な2Dおよび3D変換やその他動作300a(図5参照)を実行する。変換ユニット300は、1つまたはそれ以上のマトリックスメモリ300bを備え、変換処理300aで使用するマトリックスを格納する。変換ユニット300は、受け取った図形を頂点ごとにオブジェクト空間からスクリーン空間に変換したり、受け取ったテクスチャ座標から投影するテクスチャの座標を求めたり(300c)する。変換ユニット300は、さらにポリゴンのクリッピング/カリング300dを行う。明暗処理300eも同様に変換ユニット300によって行われ、頂点ごとに明暗計算を行って例えば最高8段階の明暗を得る。変換ユニット300は、さらにテクスチャ座標を作成(300c)し、ポリゴンのクリッピング/カリング処理(300d)同様、エンボスタイプのバンプマッピング効果を得る。
【0029】
セットアップ/ラスタライザ400は、変換ユニット300から頂点データを受信し、境界のラスタライズ、テクスチャ座標のラスタライズ、および色のラスタライズを行う1つまたはそれ以上のラスタライズユニット(400b)にトライアングルセットアップ情報を送出するセットアップユニットを含んでいる。
【0030】
テクスチャユニット500(オンチップテクスチャメモリ(TMEN)502を備えていてもかまわない)は、テクスチャに関する様々な処理、例えば
・メインメモリ112からのテクスチャ504の受信、
・例えば、マルチテクスチャ処理、キャッシュ後テクスチャの伸張、テクスチャフィルタリング、エンボス、投影テクスチャを使用しての陰影および明暗処理、α透明度や深度のBLITを含むテクスチャ処理(500a)、
・バンプマッピング、疑似テクスチャ、およびテクスチャタイリング効果(500b)用にテクスチャの座標のずれを計算するバンプマップ処理、および
・間接的テクスチャ処理(500c)、
を行う。
【0031】
テクスチャユニット500は、テクスチャ環境処理(600a)のために、フィルタされたテクスチャの値を、テクスチャ環境ユニット600に出力する。テクスチャ環境ユニット600は、ポリゴンとテクスチャの色/α/深度とをブレンドし、テクスチャフォグ処理(600b)を行って、フォグ効果に基づく逆レンジを得ることができる。テクスチャ環境ユニット600は、例えば色/α変調、エンボス、細部テクスチャリング、テクスチャスワッピング、クランピング、および深度ブレンディングに基づいて、興味深い様々な環境関連機能を実行するための段を複数備え得る。
【0032】
ピクセルエンジン700は、深度(z)比較(700a)およびピクセルブレンディング(700b)を行う。本例において、ピクセルエンジン700は、データを埋め込み型(オンチップ)フレームバッファメモリ702に格納する。グラフィックスパイプライン180は、1つまたはそれ以上の埋め込み型DRAMメモリ702を備え、フレームバッファ、および/またはテクスチャ情報をローカルに格納してもよい。Z比較700a’は、その時点におけるレンダリングモードによっては、グラフィクスパイプライン180の初期段において行われてもよい(αブレンディングが必要でなければ、z比較は初期の段階で実行されてもよい)。ピクセルエンジン700は、オンチップフレームバッファ702をメインメモリ112に定期的に書き込むコピー動作700cを行い、ディスプレイ/ビデオインターフェースユニット164のアクセスに備える。さらに、このコピー動作700cは、動的なテクスチャ合成効果を得るために、埋め込み型フレームバッファ702の内容をメインメモリ112内のテクスチャにコピーする際にも利用され得る。アンチエイリアシングおよびその他のフィルタリングは、コピーアウト動作中に行われる。グラフィックパイプライン180のフレームバッファ出力(最終的にメインメモリ112内に蓄えられる)は、ディスプレイ/ビデオインターフェースユニット164によってフレームごとに読み取られる。ディスプレイコントローラ/ビデオインターフェース164は、デジタルRGBピクセル値を出力して、表示器56に表示させる。
【0033】
図6および図7は、メモリコントローラ152(図3および図4)およびそれに接続されて、メインメモリ112へのアクセスを競合する様々なリソースを示すブロック図である。メインメモリ112は、例えば、Mosys社製であって、内部リフレッシュ動作を自動的に行う、1TSRAMなどのSRAMを備える。メモリインターフェースコントローラ152は、メインプロセッサ110、グラフィックス&音声プロセッサ114、およびメインメモリ112の間で、データ供給およびインターフェース制御を可能にする。図4において、メモリコントローラ152およびグラフィックスメモリ要求調停130は、それぞれ個別の構成要素として示されているが、以下に説明する実施例においては、グラフィックスメモリ要求調停130は、メモリコントローラ152に含まれる。
【0034】
図6および図7に示すように、メモリコントローラ152は、メインメモリ12へのアクセスをシークする様々な競合リソースに接続される。これら競合リソースには、プロセッサインターフェース(PI)150(メインプロセッサ110に接続される)、音声DSP(DSP)156、入力/出力インターフェース(IO)802、ビデオインターフェース(VI)164、キャッシュ/コマンドプロセッサ(CP)200、テクスチャユニット(TC)500、およびピクセルエンジン(PE)700が含まれる。本実施形態例において、これらリソースのうち、プロセッサインターフェース150、音声DSP156、およびIOインターフェース802は、メインメモリ112からの情報読み出しおよび情報書き込みの両方に動作可能である。IOインターフェース802は、自身の調停に動作可能であり、モデム、DVDインターフェースなどの様々な入力/出力装置にインターフェースされ、そのメモリ帯域幅の要求基準も比較的低い。本実施形態例において、ビデオインターフェース164、キャッシュ/コマンドプロセッサ200、およびテクスチャユニット500は、メインメモリ112からの情報読み出しだけに動作可能であり、ピクセルエンジン700は、メインメモリ112への情報書き込みだけに動作可能である。
【0035】
メモリコントローラ152は、様々なメモリコントローラタスクを行い、タスクには、1)例えば、図6および図7に示す7つのポートの間の、メインメモリ112に対するアクセスの調停、2)メモリアクセスを要求しているリソースのメモリ待ち時間、および必要帯域幅を考慮に入れた上での、メモリアクセスの認可、3)アクセスターンアランドを減少させるためのバッファ書き込み、4)必要に応じてメインメモリ112のリフレッシュ、および5)プログラム可能なレジスタを使用しての、メインメモリ112の保護、などが含まれる。図6および図7に示す実施形態例においては、メモリアクセスをシークする7つのポートが図示されている。当業者には自明であるが、どの実施例においても、ポートの数は7以下であっても、以上であってもよい。さらに、図7など(さらにその他の実施例における説明も含む)に示すバス/信号ライン幅は、例示目的のためだけに過ぎず、本発明の範囲を制限するものではない。メモリコントローラ152は、特定ポートの間で調停を行い、メインメモリ112に要求を送出する。本実施形態例において、メモリコントローラ152、およびその入力および出力のすべては200MHzで動作する。128ビットの200MHzデータパスは、4チャネルメモリアクセスコントロール(MAC)ブロックを経由して最高400MHzでクロック制御され、400MHzの外部1TSRAMメモリとの通信を許可する。MACは、各32ビットパスからデータを受信して、適切なクロック速度でデータを同期読み出しする。図7に示すアドレスおよび制御信号は、IOピンに直接接続される。メインメモリ112との通信に使用される特定の信号方式は、本発明には含まれない。
【0036】
本実施形態例におけるメモリコントローラリソース調停の方法(発明の名称が「共有リソースアクセス方法および装置」である、同時係属出願番号60/226、886、代理人名簿番号723−754でさらに説明されてこの出願は、ここに引用例として組み込まれている)に従って、アプリケーションプログラマが、例えば3.2ギガバイトのメインメモリ112の帯域幅の割り当てを制御できるようにするため、帯域幅制御は、上記リソースのそれぞれに固有に関連して行われる。例えば、プログラム可能な帯域幅制御レジスタは、それぞれコマンドプロセッサ200、および、テクスチャユニット500に対応づけられる。これらは、メインメモリの帯域幅を、テクスチャユニット500よりコマンドプロセッサ200に対してより多く割り当てるために利用される。この方法によれば、見識のあるユーザであれば、上記の競合インターフェースドライバを個々のアプリケーションのニーズに合わせて調整し、総合的な性能を向上させることも可能である。従って、上記の競合インターフェースそれぞれに対して、レジスタを利用してそのメモリ帯域幅の割り当てを制御し、nクロックサイクルごとにメモリ調停の要求が確実に認可されるようにする。これにより、あるインターフェースが一度に大量のリクエストを生成し、他のインターフェースも同様にリクエストを生成している場合、各インターフェースに対して例えばフィルタを使用して、メインメモリへのアクセス要求をスローダウンさせることができる。または、メインメモリ112が遊休状態にあり、さらにどのユニットもメモリアクセスを主張していない場合、そのようなアクセス要求が認可される。他のインターフェースからの要求が同時に存在する場合、使用するフィルタによって、ある特定のインターフェースに対して要求が認可されるスピードが規定される。
【0037】
メモリコントローラ152は、メインメモリ112への要求に関連する様々なグラフィックスデータを制御し、例えば、
・3Dグラフィックスプロセッサ154(具体的には、コマンドプロセッサ200、テクスチャユニット500、およびピクセルエンジン700)、
・プロセッサインターフェース150を介するメインプロセッサ110、
・音声DSP156、
・ディスプレイコントローラ164、および
・様々なI/Oユニット(大容量記憶アクセス装置106)のための周辺コントローラ162、
などがある。
【0038】
図8に、メインメモリへのアクセスを競合するこれら「要求部」に関わるいくつかの典型的な動作を示す。図8中の矢印は、以下の動作を示す。
1. 新たな画像、ゲームセクタまたはレベル、またはその他アプリケーションシーケンスのための大容量記憶アクセス装置62(例えばDVD)からメインメモリ112へのテクスチャ画像のロード
2. 新たに画像、ゲームセクタまたはレベル、またはその他アプリケーションシーケンスのための、大容量記憶アクセル装置62からメインメモリへの形状頂点配列のロード
3. メインプロセッサ110、またはグラフィックスプロセッサ154によるテクスチャマップの動的レンダリング
4. メインプロセッサ110による、頂点配列の動的生成、または変更
5. グラフィックスプロセッサ154による消費のために、メインプロセッサ110による光のアニメ化およびマトリックスの変換
6. グラフィックスプロセッサ154による消費のために、メインプロセッサ110による表示リストの作成
7. メインプロセッサ110による、グラフィックスコマンドストリームの生成
8. 3Dグラフィックスプロセッサ154によるグラフィックスコマンドストリームの読み出し
9. 3Dグラフィックスプロセッサ154による表示リストの読み出し
10. レンダリングのための、3Dグラフィックスプロセッサ154による頂点アクセス
11. レンダリングのための、3Dグラフィックスプロセッサ154によるテクスチャアクセス
【0039】
この実施例において、グラフィックスプロセッサ114は、以下のタイプのデータに対して、整列要求などのデータメモリ必要条件をいくつか有する。例えば、テクスチャおよびテクスチャ参照用テーブル画像、表示リスト、グラフィックスFIFO、および外部フレームバッファなどに対してである。これらのデータオブジェクトに対して整列が要求されるのは、グラフィックスプロセッサ114が非常に高速であり、かつメインメモリ112からのデータが32バイトのまとまりで転送されるためである。データ整列により、単純かつ高速なハードウエアが可能になる。
【0040】
頂点、マトリックス、および光配列などその他のデータオブジェクトについては、本実施形態例における追加的なハードウェアサポートによって、コアース整列(4バイト整列)が不要になる。このようなデータオブジェクトが多数存在するため、個々のオブジェクトのメモリ消費は、場合によっては低くなり、よって、整列要求の緩和によりメモリの消費が抑えられる。
【0041】
この実施例において、複数のプロセッサとハードウェアブロックにより、メインメモリが更新され得る。さらに、CPU110、およびグラフィックスプロセッサ114は、様々なデータキャッシュを含む。ハードウェアはメインメモリ内でのデータ、およびその関連キャッシュのコヒーレンシーを保持しないため、様々なコヒーレンシーに関わる問題を引き起こす原因となる。例えば、グラフィックスプロセッサ114用のデータをCPUが変更または生成する場合、CPUが自身の書き込み用バッファを介してキャッシュされたメモリにデータ書き込みを行う場合、およびグラフィックスプロセッサ114向けの新たなデータをDVDからメインメモリにロードする場合などが考えられる。コヒレンシーに関わる問題は、これら後者2つの場合において、データの格納に使用されていたメインメモリがその他のグラフィックスデータに使用された場合に起こり得る。
【0042】
DVDがデータをロードする場合、DVD APIは、CPUデータキャッシュ内に存在するメインメモリのロードされた部分を自動的に無効にする。この安全策により、プログラマはCPUのデータキャッシュコーヒレンシーを気にすることなく、DVDにロードされたデータを変更することができる。このDVD AIPの特質は、デフォルトでアクティブにされ、プログラマによってイナクティブにされる。
【0043】
DVDによってロードされたグラフィカルデータは、グラフィックスプロセッサ114によるレンダリングのために、既にフォーマットされているテクスチャと頂点とを含んでいてもよい。そのため、頂点キャッシュとテクスチャキャッシュ領域を無効にする必要が生じる。
【0044】
CPU110は、メインメモリへの書き込み手段を2つ備える。書き込み用ギャザリングバッファと、CPUキャッシュ階層とである。書き込み用ギャザリングバッファは、通常、キャッシュに影響を及ぼさずにグラフィクスコマンドをメモリに「ブラスト」するのに使用される。その結果、書き込み用ギャザリングバッファを介して送出された情報は、キャッシュコヒーレントではない。書き込み用ギャザリングバッファを用いて、CPUキャッシュ内に存在し得るメモリエリアへの書き込みを回避する場合には、注意が必要である。以下に示すキャッシュフラッシング指示を利用して、CPUキャッシュからデータエリアを強制してもよい。
【0045】
CPUが自身のキャッシュを通してグラフィックスデータを生成または変更する場合、以下のメモリタイプは、古いデータを格納することになりかねない。
・メインメモリ
・グラフィックスプロセッサ114の頂点キャッシュ、テクスチャキャッシュ領域
グラフィックスプロセッサ114に正しいデータを送出するためには、本実施形態例に従って、グラフィックスプロセッサ114の頂点、またはテクスチャキャッシュを無効にすると共に、CPUデータキャッシュをフラッシュする必要がある。典型的に、CPUは、グラフィックスプロセッサ114より1フレーム先んじてデータをアニメ化する。そこで、データのコヒーレンシー保持に効率的な方法としては、
・CPUによって変更されたグラフィックスデータすべてをメインメモリ内で順にグループ分けして、ブロックデータのキャッシュフラッシュを効率化する
・各グラフィックスフレームの先頭部分で、全てのテクスチャキャッシュ同様、頂点キャッシュを無効にする、
などがある。
【0046】
これらの動作は、メインメモリ112に対する読み出し、書き込みに関係する動作の一部の例示に過ぎない。特に、メモリコントローラ152は、メインメモリの読み出し、書き込み動作に関わるポートの間で調停を行う。
【0047】
図9は、メモリコントローラ152をより詳細に示すブロック図である。図9に示すように、メモリコントローラ152は、図6および図7に示す競合リソースのそれぞれに対応する、それぞれ独立した「ローカルな」インターフェースを含む。コントローラpiインターフェース150Iは、プロセッサインターフェース150とインターフェースされ、コントローラDSPインターフェース156Iは音声DSP156とインターフェースされ、コントローラioインターフェース802Iは入出力インターフェース802とインターフェースされ、コントローラビデオインターフェース164Iはビデオインターフェース164とインターフェースされ、コントローラcpインターフェース200Iはコマンドプロセッサ200とインターフェースされ、コントローラtcインターフェース500Iはテクスチャユニット500とインターフェースされ、さらに、インターフェースpe700Iはピクセルエンジン700とインターフェースされる。メモリコントローラ152は、以下に図17および図18を参照してさらに詳しく説明する、外部メモリコントロール829を介してメインメモリと接続される。図17および図18に示す外部メモリコントロールは、図17および図18に示すように、書き込み・読み出し状態間で双方向メモリバスを切り替える、読み出し/書き込み制御信号を生成する。
【0048】
例えばテクスチャ座標インターフェース500Iに注目すると、このインターフェースは、図6および図7に示す読み出し専用テクスチャユニット500に接続される。TCインターフェース500I(メインメモリから読み出されたリソースに接続される各ローカルインターフェース)は、読み出し要求と、その関連リソースであるテクスチャユニット500から受信に示すRQ2)を含む。メモリコントローラインターフェースpe、dsp、io、およびpiも同様に、図10に示すような、書き込み要求をキューに入れるためのローカル書き込みキューをWQ0−4をそれぞれ含む。
【0049】
図9に戻り、調停コントロール825は、調停技法を実現するための制御論理を含む。調停技法に関しては、以下およびここに引用例として組み込まれている発明の名称が「共有リソースアクセス方法および装置」である上述の同時係属出願(代理人名簿番号723−754)でさらに詳しく説明する。調停コントロール825は、例えばテクスチャインターフェース500Iが読み出し要求を受信すると、それに対して注意を喚起される。同様に、インターフェース200I、700I、150I、156I、164I、802I、および829は、メモリアクセス要求競合の調停目的に、調停コントロール825に動作可能に接続される。以下にさらに詳しく説明するが、例えばメモリTCインターフェース500I、およびDSPインターフェース156Iから読み出し要求を受信すると(競合リソースは500Iと156Iだけと仮定した場合)、調停コントロール825は、最初のメモリサイクルをテクスチャユニットTCに付与し、次のメモリサイクルをDSP156に授与する。これにより、読み出し要求はラウンドロビン方式で認可され得る。調停コントローラ825は、上述の同時係属特許出願で説明され、さらには以下で述べるように、ペンディング要求のすべてを認識した上で認可を行う。
【0050】
図11に示す読み出しデータパスからもわかるように、テクスチャユニットTCの帯域幅要求は高い(メインメモリデータパスと同じ幅を有する128ビットGFXデータパス参照)。このため、テクスチャユニットは、メモリ帯域幅を無駄にすることなくその要求が認可され得る。図11に示すように、DSPの帯域幅は64ビットであり、メモリサイクルを無駄にしないような方法で、調停コントロール825によって優先度が授与される。
【0051】
調停コントロール825は、例えば、以下に述べる調停技法を実現する状態により順位付けを行う状態装置である。上記同時係属特許出願で詳しく述べているように、調停コントロール825は、帯域幅ダイアルレジスタによって部分制御されるため、(例えば)テクスチャユニット500からメモリアクセス要求があった場合、その要求は効果的に抑制される。このため、テクスチャデータを大量に含むビデオゲームにおいては、システムの帯域幅は調整されて、その特定ゲームのメモリアクセスのニーズに対して最適化される。
【0052】
より具体的には、上述したように、各読み出し「マスタ」(メインメモリ112へのアクセスをシークするリソース)は、メインメモリ112からの読み出しに備えて読み出しアドレスをキューに入れるために、読み出しキューRQ1からRQ6のうち対応するものに関連づけられる。メインメモリ112へのアクセスをシークする書き込みマスタは、メインメモリ112への書き込みに備えて書き込みアドレスをキューに入れるために、書き込みキューWQ1からWQ4のうち対応するものに関連づけられる。調停コントロール825は、所定の調停プロセスを利用して、メインメモリへのアクセスを読み出しキューRQ1からRQ6に割り当て、さらに、書き込みキューWQ1からWQ4のうち、どの書き込み要求がグローバル書き込み用バッファWQ0に提供されるかを制御する。少なくとも要求のいくつかがこの調停プロセスに供給される率は、プログラム可能な帯域幅ダイアルレジスタの設定に従って制御可能である。ある特別な動作目的でダイアルレジスタを適切に設定することにより、見識のあるユーザは、要求の流れをこの調停プロセスに合わせることにより、システムの動作性能を向上させることが可能である。
【0053】
グローバル書き込み用バッファWQ0に書き込み要求を集めることにより、読み出しから書き込み、および書き込みから読み出しへの切り替えが減少され、メインメモリタイプが動作によって変更される際に生じるデッドメモリサイクルが最小化できる。書き込み要求はグローバル書き込み用バッファWQ0に供給され、一方読み出し要求は調停プロセスに従って処理される。グローバル書き込み用バッファWQ0があるレベルまで満たされた場合、あるいはメインプロセッサの読み出し要求がグローバル書き込み用バッファのエントリにマッチした場合、メインメモリのデータパスは、読み出しから書き込み状態に切り替えられることが多い。このスイッチオーバーにより、グローバル書き込み用バッファWQ0は、メインメモリ112のある特定アドレスにデータを書き込むためにフラッシュされる。
【0054】
既に述べたように、ダイアルレジスタは対応マスタのためにメモリ帯域幅を制御する。例えば、コマンドプロセッサのダイアルレジスタの内容がメモリサイクルごとに加算される累算器が1.00より少ない場合、この調停方式では、待ち状態のコマンドプロセッサ要求があったとしても、累算器の内容が1.00以上になるように十分なサイクルが経過するまで、または他のマスタからの待ち状態の要求があるまで、別のマスタにメモリアクセスを認可する。メモリコントローラ152は、ダイアルレジスタの設定により、メインメモリ112が遊休状態にならないようにするのが好ましい。ダイアルレジスタは、該当マスタのダイアルレジスタに対応する累算器が1.00に等しくなるまで、そのマスタからの要求をマスキングすることにより、この調停方式に作用する。
【0055】
このように、帯域幅ダイアルレジスタは、主要メモリの「ホグ」により、メモリの使用に影響を及ぼす。読み出しダイアルは、マスタの調停方式における参加頻度と、メモリへのアクセス頻度を制御する。書き込みダイアルはフロー制御目的であり、書き込みをグローバル書き込み用バッファWQ0にスロットリングすることにより、書き込み装置をスローダウンさせることができる。ここで、帯域幅ダイアルの設定により、許可されない未処理読み出し要求がある場合、調停によりメモリを遊休状態にしないことが好ましい。この場合、スロットリングされる要求部の間で、ラウンドロビン方式が用いられる。
【0056】
このシステム例においては、読み出しはすべて単一キャッシュライン(32バイト)である。そのため、キャッシュラインの読み出しには200MHzで2サイクル要し、新規読み出しは10ナノ秒ごとに行われる。その他要求部の間でのラウンドロビン調停において、メインプロセッサ110からの読み出しが最優先される。メモリ所有権は、読み出し要求部の間で10ナノ秒毎に変わってリフレッシュされるが、書き込みキューは常に全体にわたって書き込みされる。書き込みキューは、あるレベルまで、またはあるレベルを超えて満たされたとき、またはメインプロセッサからの読み出し要求が書き込み用バッファのエントリにマッチしたときに、要求を開始する。
【0057】
図9に示すように、帯域幅ダイアルレジスタ、およびその他以下に特定されるレジスタは、メモリコントローラのプログラム可能なメモリレジスタ823として具現化される。以下で詳しく特定されるこれらレジスタは、メインCPU110によりプログラム可能であり、様々なメモリコントローラ機能を制御する。メモリコントローラ152に含まれるレジスタは、メモリアクセスパフォーマンス関連のレジスタである。例えば、パフォーマンスカウンタレジスタは、特定の競合リソースから受け取った要求の数を特定する。パフォーマンスカウンタは、浪費されたメモリサイクルの状況を把握するのに用いられ、パフォーマンスカウンタレジスタの解析に基づいて、メモリ帯域幅がどの程度有効に割り当てられているかを決定する。パフォーマンスカウンタは、読み出し/書き込み動作間の切り替えで必然的にロスされたサイクルと、遊休タイムとを区別するのに使用されてもよい。上述したように、サイクルは、読み出しから書き込みへの切り替えで浪費される。例えば、2遊休サイクルはこのような切り替えが原因である。パフォーマンスカウンタは、読み出し/書き込み切り替え、およびリフレッシュ動作に必ず使用されるメモリサイクルを、パフォーマンス統計量から減算することにより、アプリケーションプログラムがメモリ帯域幅をどの程度有効に活用しているかを決定するのに使用されてもよい。このパフォーマンスをモニタすれば、アプリケーションプログラマは、メモリのより有効活用が可能なプログラムを有利に設計することができる。
【0058】
図10に戻り、上述の通り、読み出しキューRQ1からRQ6のそれぞれは、図9に示す関連インターフェース内に存在する。これにより、読み出しRQ1は、図10に示す信号線の接続先からもわかるように、CPインターフェース200I内に存在する。同様に、書き込みキュ−WQ1(本実施形態例においては8つの要求をキューに入れる)はPEインターフェース700Iだけに存在し、ここでは「ローカル」書き込みキューバッファと称する。同様に、WQ2からWQ4はDSP IOおよびPIインターフェースにそれぞれ存在し、ローカル書き込みキューバッファである。図10に示すWQ0は、複数リソース、または「グローバル」書き込み用バッファであって、図9に示す構成要素wrbuf827に存在する。図9に示す書き込み用バッファ827への入力は、図10に示すWQ0への入力に対応する。
【0059】
仮に、書き込み用バッファ827が複数の書き込み要求を一度に受信した場合、本発明の実施形態例に従って、メモリ書き込みバッファ827は、これら書き込み要求の間で調停を行う。さらに、書き込み用バッファ827で実現される、グローバル書き込み用バッファに関連してダイアルレジスタを利用してもよい。これにより、ダイアルレジスタの使用を通して、PEまたはPIからの書き込み要求は、アプリケーションプログラマによって下位優先要求であると見なされ得る。グローバル書き込み用バッファ827は、書き込み要求を調停するために、調停コントロール825に動作可能に接続される。
【0060】
図9の各読み出しキューからの読み出し要求は、調停コントロール825に直接接続されて、受信読み出し要求の間で調停される。リクエストバス(メインメモリ112から/への読み出し/書き込みは、関連アドレスで行われるかどうかを特定する)は、メインメモリ112へのアクセスをシークする各リソースに対応する。メモリコントローラ152は、受信メモリアクセス要求をキューに入れて、その要求結果を、要求を出しているリソースに送出する。
【0061】
書き込み要求の場合、フロー制御は、WQ1からWQ4などのローカル書き込み用バッファを部分的に使用することで達成され、ローカル書き込み用バッファがフル(もしくはほとんどフル)の場合、メインメモリ112への書き込み要求の関連リソースに信号を送信して、そのリソースにデータの送信停止を伝える。
【0062】
メモリコントローラ152は、読み出し/書き込み切り替えを最小にするよう有意に設計される。これは、読み出し/書き込み状態に合わせてバスを配置する必要から、切り替えによりメモリサイクルがロスされるためである。メモリコントローラ152は、wrbuf827内にあるグローバル書き込み用バッファWQ0に必要書き込みを集めることにより、このような読み出し/書き込み切り替えを最小にする。書き込み要求はバッファされる一方、読み出し要求は、それぞれ異なるリソースの調停コントロール825によって処理される。書き込み用バッファWQ0がフルに近い状態の場合、ラウンドロビン方式で読み出し要求を調停する。その後、複数のリソースからの例えばWQ1−WQ4でフルになった、グローバル書き込み用バッファWQ0からの複数の書き込みは、実質的に同時に処理される。グローバル書き込み用バッファWQ0が、例えば75−80%フルの状態にあるとき、メモリコントローラ115は書き込み状態に切り替えてメインメモリ112に対して書き込み用バッファWQ0のフラッシングを開始して、特定アドレス位置への書き込みを行う。
【0063】
メモリコントローラ152は、3段階の書き込み調停を行う。第1段階の調停では、メモリからの情報読み出しをシークするリソースを、書き込み用バッファ制御論理方式で調停する。別段階の書き込み調停は、書き込み用バッファがフルでない場合に行われる。第3段階の調停は、コヒーレントな処理が必要な場合に行われ、書き込み用バッファはコヒーレンシー問題を解決するためにフラッシュされる。
【0064】
読み出し要求処理に対して、本実施形態例においては、例えば上記各リソースのダイアルレジスタの内容に鑑みて、リソース要求調停処理に基づいて、リソースに対してラウンドロビン方式で読み出しが行われる。
【0065】
下記テーブルリストは、図10に示す読み出し/書き込みキューそれぞれのサイズ例を示すものである。
【表1】
【0066】
図11は、メモリアクセスコントローラ804,806,808を経由する、メインメモリ112から特定リソースまでの読み出しデータパスを示す。読み出し要求部6つであるが、装置につながる読み出しデータパスは、128ビットGFXパス、64ビットシステムパス、および64ビットCPUパスの3本のみである。本実施例では、データは同時にすべてのデータパス上を転送されないので、各装置に固有なデータパスは使用しない。また、データ受信に4サイクル要する64ビット装置が用いられているので、本インプリメンテーション例では、単一128ビットデータパスは使用されない。CPUアクセスの待ち時間を減少するために、CPUポートには自身のパスが付与されており、そのため2本の64ビットパス、および1本の128ビットパスが使用されている。これらパスは、以下のように接続されている。
・GFXパス、128ビット@200MHzは、CP200およびTC500に接続。バスの帯域幅(BW)はメモリBWに等しい。
・CPUパス、64ビット@200MHzは、piだけに接続。このパスの帯域幅はメモリ112の帯域幅の1/2。
・システムバス、64ビット@200MHzは、IO、DSP、およびVIに接続。これら装置はすべて低BWであり、未処理のトランザクションは1つしか送出できない。バスBWはメモリBWの1/2。
これらバスの本数およびBWは、メモリ調停に直接的に影響する。例えば、GFXパスはメモリからデータを連続的に要求することができ、一方CPUは1キャッシュラインサイクル(100MHz)おきにしかデータを要求できない。システムバスに関しても同様である。
【0067】
メインメモリ112から読み出されたデータは、要求リソースに順に送り戻される。従って、第1の要求の後に、第2、その他複数の未処理要求が続く場合、これら要求すべてに対して調停を行ってから、要求がなされた順に処理される。よって、順位が1の要求リソースによる要求データがまずルーティングされて、その後順位が2の要求リソースによる要求データが続く。読み出しは、CPUによって順に処理されるものとする。この設計により、ハードウェア、またはソフトウェアによる再順位付け処理が不要になる。
【0068】
メモリコントローラは、スタティックRAM(SRAM)タイプのメモリを用いてメインメモリ112を十分に利用するために、アクセス要求に効率的に応答できるよう有利に設計される。上述したように、本実施形態例では、1TSTRAMを使用しているので、高密度DRAMのコンテキストにおいて、ほぼ静的なRAMタイプのアクセスが可能である。ほぼSRAMのようなアクセスの使用により、例えば、メインメモリ112へのデータ書き込みは順に行うのが望ましい。というのは、SRAMのある位置への書き込みは、そのデータがSRAMのどこに格納されるかに関わらず、他の位置への書き込みと同じだけの時間がかかるためである。逆に、DRAMを使用する場合、メモリへの書き込みは、スピード設定を最大限に活用するために、メモリリフレッシュスケジュールに従って行われる必要がある。SRAMを使用することで、効率的に要求を順に処理し、さらにはデータのコヒーレンシーも保持することができる。
【0069】
コヒーレンシーの保持(好ましい実施形態例においてはプロセッサのコヒーレンシー。他のリソースは、読み出し/書き込みコヒーレンシーの確保にフラッシュを行いがちなため)について、あるリソースが関連書き込み用バッファに書き込みを行い、その後メインメモリ112にデータを書き込む場合、およびそのほぼ直後にメインメモリ112からそのデータの読み出しを行おうとしている場合、シークされる更新後のデータではなく、メインメモリ112からの古いデータを読み込む可能性があるため、コヒーレンシー問題が生じる。メモリコントローラ152は、各読み出し要求に対して、読み出しされるアドレスをチェックして、そのようなアドレスは書き込みバッファには存在しないこと確認することで、コヒーレンシー問題に対処する。アドレスが書き込み用バッファに存在する場合、書き込み用バッファはフラッシュされる必要がある。すなわち、読み出し動作に先立ち、メインメモリにコピーされる。
【0070】
例えば、コマンドプロセッサCP200のようなリソースは、単方向性リソースであるので、メインメモリ112からの読み出し動作のみを行い、メインメモリ112への書き込み動作は行わない。実施例において、ピクセルエンジンPEはメインメモリ112への書き込みだけを行う。コヒーレンシー問題は、特にCPU110によって処理される必要がある。というのは、CPU110は、メインメモリ112から/への読み出し/書き込みを行うためである。そのため、CPUの読み出しに関して、読み出されるアドレスは、書き込み用バッファのアドレスと比較され、上述したように、アドレスが書き込み用バッファに存在する場合、書き込み用バッファはフラッシュされて、その後読み出し動作が行われる。例えば、あるリソースによる書き込みが、書き込み用バッファ内に存在するアドレス位置0、1、および2に対して行われ、位置0が書き込み用バッファ内にあることをうけて、位置0からの読み出しが行われようとしている場合、システムは、位置0からの読み出しが行われる前に書き込み用バッファの内容をフラッシュする。従って、装置内のコヒーレンシーエラーを防ぐには、リソースが読み出しと書き込みとの両方の機能を有する場合にだけ、そのようなエラーは起こり得る。
【0071】
しかしながら、メモリコントローラ152が、それぞれ異なるリソース間のコヒーレンシーエラーを防ぐことも望ましい。そのため、ピクセルエンジン700がメインメモリ112への情報コピーのコマンドを受け取った場合、ピクセルエンジン700の関連ローカル書き込み用バッファは、コピーされるデータと、メインメモリ112への書き込みが行われるアドレス位置とを含む。例えば、テクスチャユニット500のようなビデオインターフェース164は、ピクセルエンジン700がデータを書き込んでいるのと同じアドレスからデータの読み出しをシークするような場合、例示メモリコントローラ152はこれらの動作を同期させる。よって、本発明の実施形態例に従って、メインメモリ112への書き込みを行っている装置/リソースは、メモリコントローラ152にフラッシュ信号を送出し、メモリコントローラ152に個々のリソースの書き込み用バッファを空にするよう指示する。メモリコントローラ152は、この動作が終了したことを示す信号を生成し、例えば、表示装置164にそのメモリ位置からデータを読み出すことを可能にさせるよう、CPU110に通知する。メモリコントローラ152からの、メインメモリ112に書き込まれたデータが実際に格納されているのはメインメモリ112であって、バッファではないという通知によって、どの競合リソースもこのデータにアクセスするチャンスがあることがわかる。この実施形態例に従って、装置間のコヒーレンシーは、メモリに書き込みを行う装置がメモリコントローラ152からフラッシュ認識ハンドシェイク信号を受信することによって保証される。
【0072】
本発明の実施形態例に従って、書き込みに遅れが生じるため、様々なタイプのコヒーレンシープロトコルが行われる。そのいくつかは上述した。以下にコヒーレンシープロトコルを慨述する。
・同一ユニットからの、書き込みと読み出しとの間のコヒーレンシー
・CPUへの/からの書き込みと読み出し間のコヒーレンシー
・CPUによる書き込みと、CP FIFOにおけるCPによる読み出しとの間のコヒーレンシー
・2つの異なるユニットへの/からの書き込み/読み出し間のコヒーレンシー
【0073】
同一ユニットからのRWコヒーレンシー
実施例において、DSP、IO、およびPIは書き込み、および読み出しを行うことができる。この実施例では、DSPまたはIOにはハードウェアのRWコヒーレンシーはない。自身がメインメモリ112に書き込んだデータを、装置が読み戻す必要がある場合、その装置は明示的に書き込み用バッファをフラッシュする必要がある。そうするためには、フラッシュ書き込み用バッファコマンドを送出し、認識信号を待機する。一方、PI読み出し要求は、書き込み用バッファアドレスと照合される。合致すれば、書き込み用バッファはフラッシュされる。その後、読み出しが続行される。書き込み用バッファは、ユニットとグローバル書き込み用バッファとのために、個々に書き込み用バッファを備える。
【0074】
CPUからのRWコヒーレンシー
CPU110の書き込み/読み出しコヒーレンシーに対処するには、ロジック、および書き込み用バッファフラッシュメカニズムのバイパスを利用する。CPUからの読み出し要求に対しては、読み出しアドレスがメインメモリ112に即時送出されるので、1サイクル経過するまでRWコヒーレンシーをチェックするのに十分な時間がない。合致が見られた場合、読み出し要求は既に送出されているので、メモリからの読み出しデータは中途終了され、書き込み用バッファはフラッシュされ、その書き込み用バッファのフラッシュ終了時に書き込みデータおよび読み出しデータがバイパスおよび併合されてCPU110に戻る。
【0075】
読み出し後、同一アドレスに書き込みが行われる場合、これら2つの要求は読み出しキューと書き出しキューとに別々に送り出されるため、メモリコントローラ152はこれら2つの要求の順番を識別することができない。そのため、本来見込まれた順番ではなく、読み出しデータは、最終的に新規書き込みデータになってしまう。読み出しデータが戻ってくる前に書き込みを送出しないよう、CPU110の構造を設定する必要がある。
【0076】
その他のユニット間のRWコヒーレンシー
この実施例では、メモリへの書き込みを行えるのは、DSP、IO、PE、およびPIの4つのユニットである。装置がメモリに書き込みを行うときはいつでも、別の装置にデータの読み出しを信号で伝える前に、自身の書き込み用バッファを明示的にフラッシュする必要がある。そのため、これら4インターフェースのそれぞれは2ワイヤフラッシュ/認識プロトコルを備える。DSP、IO、またはPEは、CPU110に割り込みをかける前に、DMA書き込みの最後にフラッシュを送出する。これにより、読み出しのすぐ後にCPU110が所望のデータにアクセルすることができる。CPU110は、メインメモリ112内にバッファを設定するとき、および別の装置にDMAの読み出し開始させたいとき、明示的フラッシュを行う必要がある。DMAを起動する前に、CPU110は「同期」指示を出す必要がある。この指示は、同期バスサイクルをもたらし、これによりメモリコントローラ152が書き込み用バッファをフラッシュする。フラッシュの終了後、同期指示は完了して、CPUはDMA読みだし動作を開始することができる。
【0077】
CP FIFOのための、CPU/CP間のRWコヒーレンシー
メモリコントローラは、外部メモリに関連するコマンド関連バッファCP FIFOのために、CPU書き込みとCP読みだしとの間のRWコヒーレンシーにも対処する。PIは、その書き込み要求がCP FIFO用であるかどうかを示し、CP FIFO用の書き込みデータが実際にメインメモリにコミットされると、メモリコントローラはその書き込み要求をCPに送出する。
【0078】
図9に戻り、メモリコントローラ152は、メモリレジスタ823を1組備え、それを介して、メモリコントローラは様々なメモリ制御、および調停機能を果たすようにプログラム可能に制御され得る。本発明の実施例において、レジスタは、すべてプロセッサインターフェース150を介して書き込みされる。この例示メモリコントローラレジスタの表が以下に設定されているが、下記レジスタは以下のようなカテゴリにグループ分けされてもよい。
【0079】
メモリ保護/割り込みイネーブルレジスタ
4組のレジスタは、読み出しイネーブル、および/または書き込みイネーブルビットを、以下のレジスタ例の表に示すMEM_MARR_CONTROLレジスタに設定することにより、メモリ読み出し、書き込み、または読み出し/書き込み保護に使用することができる。例えば、読み出しアドレスがMEM_MARR0_STARTと、MEM_MARR0_ENDの範囲にあって、MARR0読み出しが不可能にされている場合、MARR0割り込みビットがMEM_INT_STATレジスタに設定され、MEM_INT_ADDRLおよびMEM_INT_ADDRHは、割り込みを引き起こした読み出しアドレスを有することになる。さらに、MARR0割り込みイネーブルビットがMEM_INT_ENBLレジスタに設定された場合、CPUが割り込みされる。ここで、メモリコントローラ152は、割り込みを引き起こすメインメモリ112への読み出し/書き込みトランザクションを終了させることはない。
【0080】
要求アドレスが現在のメモリ構成レンジ外にあって、64メガバイトのアドレススペース内にある場合、アドレス割り込みが生成される。要求アドレスが64メガバイトを超える場合、PIはアドレス割り込みを生成してメモリコントローラには要求を送出しない。
【0081】
帯域幅ダイアルレジスタ
この実施例では、CP、TC、PE、CPU読み出し、およびCPU書き込みマスタ用のダイアルレジスタを使用する。これらダイアルレジスタは、関連マスタが使用するメモリ帯域幅を減少させる。例えば、関連累算器に加算されるCPダイアルレジスタの内容が1より少ない場合、待ち状態のCP要求があったとしても、CPダイアルレジスタの累算器が1に等しく加算されるまで、またはどのマスタからも待ち状態要求がなくなるまで、この調停技法例では別のマスタにメモリアクセスを認可する。つまり、メモリコントローラ152は、ダイアルレジスタの設定によって、メモリ112を遊休状態には決してさせない。これらダイアルレジスタは、ダイアルレジスタおよび累算器の内容が1に等しくない場合、マスタからの要求をマスキングすることによって、この調停技法に直接的に影響を及ぼす。より詳しい内容に関しては、以下に説明する技法、さらに、ここに引用例として組み込まれている、発明の名称が「共有リソースアクセス方法および装置」である、上述の同時係属出願(代理人名簿番号723−754)を参照されたい。
【0082】
パフォーマンスカウンタレジスタ
それぞれ独立して読み出しおよび書き込み要求カウンタを有するCPU以外のマスタは、要求カウンタを有する。これらカウンタは主に、メモリ使用に関する統計量、およびそれぞれ異なるマスタの帯域幅の収集に使用される。さらに2つの追加カウンタがあり、読み出し/書き込みバスターンアラウンドオーバーヘッドにより遊休サイクル数をカウントするためのMEM_FI_REQCOUNTと、リフレッシュサイクル数をカウントするためのMEM_RF_REQCOUNTとがある。これらカウンタはすべて最大値に達するとクランプされる。
【0083】
ターンアラウンドレジスタへのデータ
データパスターンアラウンドのための遊休サイクル数を設定するレジスタには3種類ある。1つは異なるメモリバンクからRDへのRD、1つはWR切り替えのためのRD、そして1つはRD切り替えのためのWRである。
【0084】
メモリリフレッシュおよびしきい値レジスタ
クロック数がリフレッシュカウンタにおけるリフレッシュカウントに達した場合、リフレッシュ要求が生成される。メモリが遊休状態にある場合、メモリにはリフレッシュサイクルが与えられる。しかしながら、メモリが遊休状態にない場合、リフレッシュ要求の合計がメモリリフレッシュしきい値レジスタの設定しきい値に達した場合のみ、与えられる。
【0085】
メモリコントローラ152のレジスタセット例の説明のために、以下の表にメモリコントローラ152レジスタの例を示す。
【表2】
【0086】
図9のメモリコントローラブロック図に戻り、上述したように、メモリコントローラ152は、上記競合リソース間でのメモリアクセス要求を調停するために動作する調停コントロール825を備える。調停コントロールの詳細に関しては、ここに引用例として組み込まれている、発明の名称が「共有リソースアクセス方法および装置」である同時係属出願番号60/226、886を参照されたい。読み出しは、すべて単一キャッシュライン(32バイト)である。キャッシュラインの読み出しには200Mhzで2サイクル要する。そのため、新規読み出しは10ナノ秒ごとに行われる。CPUの読み出しは、その他の要求部の間でラウンドロビン方式で最優先される。メモリの所有権は、読み出し要求部の間で10ナノ秒毎に変わってリフレッシュされるが、書き込みキューは常に全体にわたって書き込みされる。書き込みキューは、あるレベルを超えたとき、またはCPUの読み出し要求が書き込み用バッファのエントリにマッチしたときに、要求を開始する。本実施形態例においては、要求の頻度に関して以下の制限が課せられる。
・CPUの読み出しは2つ連続して行えない。
・システムの読み出しは2つ連続して行えない。
・10ナノ秒のリフレッシュサイクル中、2行リフレッシュされる。5ナノ秒ごとに1行。
【0087】
BWダイアル
上述したように、BWダイアルは、上記BWレジスタを介して提供され、メモリの主な使用部によるメモリの使用に影響を及ぼす。以下の装置は、ダイアルを有する。
・CPU読みだし
・CP読み出し
・TC読みだし
・CPU書き込み
・PE書き込み
【0088】
読み出しダイアルは、ユニットの調停への参加とメモリアクセスの頻度を制御する。書き込みダイアルはフロー制御用であり、メイン書き込み用バッファに書き込みをスロットリングすることにより書き込み装置をスローダウンさせることができる。
【0089】
この調停技法により、BWダイアルにより許可されていない未処理の読み出し要求がある場合は、メモリ112はアイドル状態にはなれない。この場合、スロットされている要求部の間ではラウンドロビン方式が適用される。
【0090】
読み出しキューの調停
CPU読み出しは、以下の場合を除いて最優先される。
CPUが先のアクセスに対するマスタである場合
CPU読み出しダイアルノブが1.00に等しくなく、そのダイアルノブが1.00に等しい他のマスタによる要求がある場合
書き込み用バッファが完全にフルな状態で、書き込みサイクルの最中である場合
先のCPU読み出しアドレスが、書き込み用バッファをフラッシュさせるPIローカル書き込み用バッファ、またはグローバル書き込み用バッファにおける有効なCPU書き込みアドレスに合致する場合
【0091】
CP(またはTC)読み出しが、その他のシステムマスタ(DSP、IO、およびVI)と同じレベルの優先度を有し、従って、以下の条件以外でシステムマスタをラウンドロビン方式でメモリ調停する。
DSP、IO、またはVIが、その時点で再調停できなかった先のアクセスに対するマスタである、
CP(またはTC)の読み出しダイアルノブは1.00に等しくなく、そのダイアルノブが1.00に等しい他のマスタによる要求がある場合、その優先順位は最低になる。
【0092】
DSP(またはIOまたはVI)の読み出しは、その他GFXマスタ(CPおよびTC)と同程度の優先順位を有し、従って、以下の条件以外でGFXマスタをラウンドロビン方式でメモリ調停する。
DSP(またはIOまたはVI)が、その時点で再調停できなかった先のアクセスに対するマスタである場合
【0093】
書き込み用バッファは、以下の状態以外でCPU、GFX、またはシステムマスタより低い優先度を有する。
書きこみ用バッファが完全にフルな状態で、ラウンドロビン方式で調停を行う場合
CPU読み出しアドレスは、書き込み用バッファ内の書き込みアドレスと合致する場合、最優先される。
優先順位が高いその他のマスタのダイアルノブが1.00より低い場合
【0094】
以下の条件以外で、リフレッシュは最低の優先順位を有する。
リフレッシュ要求の合計がしきい値に達すると、その優先順位はCPU読み出しのすぐ下のレベルまであがる。
優先順位が高いその他のマスタのダイアルノブが1.00より低い場合
【0095】
書き込みキューの調停
CPU、PE、DSP、およびIOは、書き込みキューの4つのマスタである。CPUによる書き込みは最優先され、その他3つのマスタは以下の状態以外の場合にラウンドロビン方式で調停される。
CPUの書き込みダイアルノブが1.00に等しくなく、そのダイアルノブが1.00に等しい書き込みマスタが他にある場合
これらすべてが読み出しマスタと共にメモリ帯域幅を調停する書き込みキューを構成する。
【0096】
メモリコントローラ152と共に図6に示すインターフェースのそれぞれについてさらに詳しく説明する。図12は、メモリコントローラ152とプロセッサインターフェース(PI)150との間でやりとりされる通信信号のセットの例を示すブロック図である。図12に示すインターフェースにより、CPU110によるメインメモリ112からの/への読み出し/書き込みが可能になる。
【0097】
このインターフェースは、複数の未処理読み出し要求をサポートする。本実施例において、新規読み出し要求はサイクル毎に送出され、新規書き込み要求は4クロック毎に送出され得る(バス上のキャッシュラインを転送するには4サイクル)。メモリコントローラ152は、mem_pi_reqfullをアサートしてフロー制御を行う。書きこみデータは認識されない。読み出しデータは、キャッシュが最初のoctバイト転送されることにより認識される。要求アドレスが32Bに整列していない場合、まずクリティカルダブルワードがリターンされる。読み出しデータはすべて順に処理される。書き込みデータは、メモリ効率を向上させるためにバッファされて遅延される。書き込み用バッファがフラッシュされたことを信号で伝えるために、mem_pi_flush_ackがサイクル毎に送出される。
【0098】
インターフェース制御信号は、ワイヤが長いことによるタイミングにかかる問題を回避するため、すべて登録されなければならない。例えば、メモリコントローラ152はまずpi_mem_req信号を登録し、さらに、生成されたmem_pi_ack信号もメモリコントローラ152側とモジュール150側の両方に登録されなければならない。
【0099】
しかしながら、メモリ帯域幅とCPUの性能により、pi_mem_addrは登録されず、メインメモリに即時送出される。これにより、待ち時間が1サイクル短縮される。
【0100】
本実施例において、メモリコントローラ152とプロセッサインターフェース150間でやりとりされる信号を、以下の表に示す。
【表3】
【0101】
次に音声DSP156/メモリコントローラインターフェース152に注目し、以下の表では、これら2つの構成要素の間でやりとりされる信号の例を、信号に関する記述と共に示す。
【表4】
【0102】
実施例において、DSP/メモリコントローラ152インターフェースについて、許可される未処理の転送はせいぜい1つである。すなわち、先の転送が完了するまでは次の転送は行われない(mem_dspAck信号で)。書き込みデータをバッファするのに、メモリコントローラ152側には少なくとも2段階の書き込み用バッファが存在する。つまり、インターフェースはモジュール156からの書き込みデータがバッファ可能であり、バッファがフルの場合には、ack信号の送出を遅延することができる。
【0103】
ワイヤが長いことによるタイミングにかかる問題を回避するために、インターフェース制御信号はすべて登録されなければならない。例えば、メモリコントローラ152はまずdsp_memReq信号を登録し、さらに生成されたmem_dspAck信号も、メモリコントローラ側とモジュール156側とで登録されなければならない。よって、dsp_memReqとmem_dspAckとの間、およびmem_dspAckとその次のdsp_memReqとの間には、1クロックの最低遅延しか生じない。
【0104】
次に入出力インターフェース802/メモリコントローラインターフェース152に注目し、やりとりされる信号の例を以下の表に示す。
【表5】
【0105】
I/Oインターフェース802/メモリコントローラ152信号について、本実施形態例において許可される未処理の転送はせいぜい1つである。すなわち、先の転送が完了するまで、次の転送は行われない(mem_ioAck信号で)。書き込みデータをバッファするのに、メモリコントローラ側には少なくとも2段階の書き込み用バッファが存在する。つまり、インターフェースはモジュール802からの書き込みデータがバッファ可能であり、バッファがフルの場合には、認識信号の送出を遅延することができる。
【0106】
図13は、メモリコントローラ152とビデオインターフェース164との間でやりとりされる通信信号のセットの例を示すブロック図である。インターフェース信号は下記表に示す。
【0107】
このインターフェースにより、ビデオインターフェースおよびメインメモリからの読み出しを可能にする。読み出しはすべてキャッシュラインサイズ(32バイト)であり、64ビットバス上を転送される。
【表6】
【0108】
このメモリコントローラ152/ビデオインターフェース164は、単一未処理読み出し要求をサポートする。新規読み出し要求は、先の要求に対する認識が受け取られてから送出され得る。
【0109】
インターフェース制御信号はすべて、ワイヤが長いことによるタイミングにかかる問題を回避するために登録されなければならない。例えば、メモリコントローラ152はまずvi_mem_req信号を登録し、生成されたmem_vi_ack信号も、メモリコントローラ側とモジュール164側の両方で登録されなければならない。
【0110】
読み出し、書き込みバス上のデータのバイトの順位は以下の通りである。
【表7】
【0111】
図14は、メモリコントローラ152とキャッシュ/コマンドプロセッサ200との間でやりとりされる通信信号のセットの例を示すブロック図である。これら構成要素の間でやりとりされる信号の例を下の表に示す。
【表8】
【0112】
図15は、メモリコントローラ152とテクスチャユニット500との間でやりとりされる通信信号のセットの例を示すブロック図である。これら構成要素の間でやりとりされる信号の例を下の表に示す。
【表9】
【0113】
図16は、メモリコントローラ152とピクセルエンジン(PE)700との間でやりとりされる通信信号のセットの例を示すブロック図である。メインメモリには、表示のためにフィルタされたフレームバッファ画像が転送されていた。フレームバッファフォーマットは、テクスチャフォーマットに変換され、メインメモリ112に書き込みされることもある。これら構成要素の間でやりとりされる信号の例を下の表に示す。
【表10】
【0114】
メモリコントローラ152は、アドレスおよび制御信号を直接外部メモリに送出する。図示されている制御信号は、読み出し状態から書き込み状態に切り替えを行うための制御信号である。これら構成要素の間でやりとりされる信号の例を下の表に示す。これら信号には、読み出し状態から書き込み状態への双方向メモリバスの切り替えに必要な読み出し/書き込み信号が含まれる。
【表11】
【0115】
その他互換性のあるインプリメンテーション例
上記システム装置50は、上述したホームビデオゲームコンソール構成以外でも実現され得る。例えば、システム50をエミュレート、そうでなければ互換性がある違った構成を有するプラットフォーム上で、システム50向けに記述されたグラフィックスアプリケーションやソフトウェアを実行することができる。システム50のハードウェアおよびソフトウェアリソースの一部、またはすべてをエミュレート、シミュレート、および/または提供できるプラットフォームであれば、ソフトウェアを首尾良く実行することができる。
【0116】
例えば、エミュレータは、システム50のハードウェアおよび/またはソフトウェア構成(プラットフォーム)とは異なるハードウェアおよび/またはソフトウェア構成(プラットフォーム)を提供し得る。このエミュレータシステムは、アプリケーションソフトウェアが記述されたシステムのハードウェア、および/またはソフトウェア構成要素の一部、またはすべてをエミュレートまたはシミュレートするソフトウェアおよび/またはハードウェア構成要素を含むこともある。例えば、このエミュレータシステムは、システム50のハードウェアおよび/またはファーウェアをシミュレートするソフトウェアエミュレータプログラムを実行するパーソナルコンピュータのような汎用デジタルコンピュータを備えることもある。
【0117】
汎用デジタルコンピュータ(例えば、IBMやマッキントッシュのパーソナルコンピュータ、およびその互換機)によっては、DirectXやその他3DグラフィクスコマンドAPIに準拠する3Dグラフィックスパイプラインを提供する、3Dグラフィックスカードを装備している。あるいは、サウンドコマンドの標準セットに基づく高品質な立体音響を可能にする、立体音響サウンドカードも装備していることがある。このような、エミュレータソフトウェアを実行するマルチメディアハードウェア対応パーソナルコンピュータは、システム50のグラフィックスおよびサウンド性能を近似させるのに十分な性能を有し得る。エミュレータソフトウェアは、パーソナルコンピュータのプラットフォーム上のハードウェアリソースを制御して、ゲームプログラマがゲームソフトウェアを記述したホームビデオゲームコンソールプラットフォームの処理、3Dグラフィックス、サウンド、周辺、およびその他機能をシミュレートする。
【0118】
図17に、ホストプラットフォーム1201、エミュレータ構成要素1303、および記憶媒体62に記憶されたゲームソフトウェアの実行可能な2値画像を用いた、包括的なエミュレーション処理の例を示す。ホスト1201は、例えば、パーソナルコンピュータ、ビデオゲームコンソール、またはその他十分な演算能力を有するプラットフォームのような、汎用または特殊目的用デジタル演算装置である。エミュレータ1303は、ホストプラットフォーム1201上で実行され、記憶媒体62からのコマンド、データ、および情報をホスト1201により処理可能な形式にリアルタイムに変換するソフトウェアおよび/またはハードウェアである。例えば、エミュレータ1303は、システム50による実行を意図する「ソース」2値画像プログラム命令を記憶媒体62から取り出し、これらプログラム命令をホスト1201が実行または処理可能な対象形式に変換する。
【0119】
例えば、ソフトウェアが、IBM PowerPCなどの特定のプロセッサを用いて、プラットフォーム上で実行されるよう記述されたものであり、ホスト1201がそれとは異なる(例えばインテルの)プロセッサを使用したパーソナルコンピュータである場合、エミュレータ1303は記憶媒体1305から2値画像のプログラム命令を1つまたはそのシーケンスを取り出して、これらプログラム命令を1つまたはそれ以上の同等なインテルの2値画像プログラム命令に変換する。エミュレータ1303は、グラフィックス&音声プロセッサ114による処理向けのグラフィックスコマンドと音声コマンドも取り出しおよび/または生成し、これらコマンドをホスト1201上で使用可能なハードウェアおよび/またはソフトウェアグラフィックスおよび音声処理リソースにより処理され得るフォーマットに変換する。一例として、エミュレータ1303は、これらのコマンドを、ホスト1201の特定グラフィックスおよび/または音声ハードウェアで処理され得るコマンドに変換してもよい(例えば、標準DirectX、OpenGL、および/または音声APIを用いて)。
【0120】
上記ビデオゲームシステムの特長の一部またはすべてを提供するために使用されるエミュレータ1303は、グラフィックユーザインターフェース(GUI)を備えていてもよく、これによりエミュレータを用いて実行されるゲームの様々なオプションやスクリーンモデルの選択が簡易化または自動化される。例えば、このようなエミュレータ1303は、本来のソフトウェア用ホストプラットフォームと比べてさらに機能が拡張されていてもよい。
【0121】
図18に、エミュレータ1303と共に使用するのに適したエミュレーションホストシステム1201を示す。システム1201は、処理ユニット1203およびシステムメモリ1205を含む。システムバス1207は、システムメモリ1205を始めとする様々なシステム構成要素を処理ユニット1203に接続する。システムバス1207は、メモリバスまたはメモリコントローラを含むバス構造のいくつかのタイプのうちの1つであり、様々なバスアーキテクチャのうちの1つを利用した周辺バスおよびローカルバスである。システムメモリ1207は、読み出し専用メモリ(ROM)1252、およびランダムアクセスメモリ(RAM)1254を含む。起動中など、パーソナルコンピュータシステム1201の内部要素の間での情報の転送に役立つ基本ルーチンを含む基本入出力システム(BIOS)1256は、ROM1252に格納される。システム1201は、さらに様々なドライブと、それに関連するコンピュータ読み出し可能な媒体を含む。ハードディスクドライブ1209は(典型的に固定の)磁気ハードディスク1211から/への読み出し/書き込みを行う。追加(できればオプションで)磁気ディスクドライブ1213は、着脱可能な「フロッピー」またはその他の磁気ディスク1215から/への読み出し/書き込みを行う。光ディスクドライブ1217は、CD ROMやその他の光学媒体などの着脱可能な光ディスクドライブ1219から読み出しを行い、構成によっては、書きこみも行う。それぞれハードディスクドライブインターフェース1221と光ドライブインターフェース1225とによってシステムバス1207に接続される。そのドライブとそれに関連するコンピュータ読み出し可能な媒体とは、コンピュータ読み出し可能命令、データ構造、プログラムモジュール、ゲームプログラム、およびその他パーソナルコンピュータシステム1201向けのデータを不揮発的に記憶する。他の構成において、データを格納し、コンピュータによってアクセスされ得るコンピュータ読み出し可能な媒体磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイ(Bernoulli)カセット、ランダムアクセスメモリ(RAMs)、読み出し専用メモリ(ROMs)なども使用され得る。
【0122】
エミュレータ1303を含む数多くのプログラムモジュールは、ハードディスク1211、着脱式磁気ディスク1215、光ディスク1219、および/またはシステムメモリ1205のROM1252および/またはRAM1254上に記憶される。このようなプログラムモジュールは、グラフィックス&音声APIs、ひとつまたはそれ以上のアプリケーションプログラム、その他プログラムモジュール、プログラムデータ、およびゲームデータを提供するオペレーティングシステムを含んでいてもよい。ユーザは、キーボード1227、ポインティング装置1229、マイク、ジョイスティック、ゲームコントローラ、衛星放送用アンテナ、スキャナなどの入力装置を通してパーソナルコンピュータシステム1201にコマンドや情報を入力する。例えばこれらの入力装置は、システムバス1207に接続されるシリアルポートインターフェース1231を介して処理ユニット1203に接続され得るが、もちろん他のインターフェース、例えばパラレルポート、ゲームポートファイアワイヤバス、またはユニバーサルシリアルバス(USB)によっても接続され得る。モニタ1233などの表示装置も、ビデオアダプタ1235などのインターフェースを介してシステムバス1207に接続される。
【0123】
システム1201はモデム1154やその他のネットワークインターフェース手段も含み、インターネットなどのネットワーク1152を介して通信を確立する。内部、外部を問わず、モデム1154はシリアルポートインターフェース1231を介してシステムバス123に接続される。ネットワークインターフェース1156も備えられていてもよく、これによりシステム1201がローカルエリアネットワーク1152を介して、リモート演算装置1150(別システム1201など)と通信可能になる(この通信は、広域ネットワーク1152、またはダイアルアップやその他の通信手段などの通信パスでもかまわない)。システム1201は、典型的に、プリンタやその他標準型の周辺装置など、その他周辺出力装置を含む。
【0124】
例えば、標準3Dグラフィックスアプリケーションプログラマインターフェースに基づいて送出された3Dグラフィックスパイプラインチップを含んでいてもよい。ステレオスピーカ1237のセットは、バス1207からのサウンドコマンドに基づいて高品質な立体音響を生成するためのハードウェアおよび組み込みソフトウェアサポートを提供する、従来の「サウンドカード」のようなサウンド生成インターフェースを介してシステムバス1207に接続される。これらハードウェア機能により、システム1201が、記憶媒体62に格納されているソフトウェアをプレイするための、十分なグラフィックスおよびサウンドスピード性能を提供する。
【0125】
以上、本発明を、最も実用的で好ましい実施形態であると現時点で判断される内容に関して説明してきたが、本発明は、開示された実施形態にのみ制限されるべきものではなく、反対に記載したクレームの範囲内において、様々に変更、および同等な内容が適用されるものとする。
【図面の簡単な説明】
【図1】対話式コンピュータグラフィックスシステム例の全体図である。
【図2】図1に示すコンピュータグラフィックスシステム例を示すブロック図である。
【図3】図2に示すコンピュータグラフィックスシステム例を示すブロック図である。
【図4】図3に示すコンピュータグラフィックスシステム例を示すブロック図である。
【図5】図4のグラフィックス&音声プロセッサのロジカルフロー図の例である。
【図6】メモリコントローラと、それに接続される競合リソースを示すブロック図である。
【図7】メモリコントローラと、それに接続される競合リソースを示すブロック図である。
【図8】メインメモリにアクセスする様々なリソースの例を示すブロック図である。
【図9】図6および図7に示すメモリコントローラのより詳細なブロック図である。
【図10】メモリコントローラのアドレスパスを示す図である。
【図11】メモリコントローラの読み出しデータパスを示す図である。
【図12】メモリコントローラとプロセッサインターフェース(PI)との間でやりとりされる通信信号のセット例を示すブロック図である。
【図13】メモリコントローラとビデオインターフェースとの間でやりとりされる通信信号のセット例を示すブロック図である。
【図14】メモリコントローラとキャッシュ/コマンドプロセッサとの間でやりとりされる通信信号のセット例を示すブロック図である。
【図15】メモリコントローラとテクスチャユニット500との間でやりとりされる通信信号のセット例を示すブロック図である。
【図16】メモリコントローラとピクセルエンジン(700)との間でやりとりされる通信信号のセット例を示すブロック図である。
【図17】別の互換的な実施例を示す図である。
【図18】別の互換的な実施例を示す図である。
Claims (19)
- メインプロセッサと、前記メインプロセッサと協働してグラフィックディスプレイ上にグラフィックス画像を生成するグラフィックス処理システムと、メインメモリを含むメモリとを備えるグラフィックスシステムに含まれる、メモリコントローラであって、
前記グラフィックスシステムは、前記メインメモリへのアクセスをシークする複数のリソースを有し、
前記メモリコントローラは、
複数のバッファメモリであって、当該複数のバッファメモリの各々は、前記メインメモリへのアクセスをシークする前記複数のリソースのうちの1つに動作可能に接続されて、メモリアクセスの要求を示す情報である、
前記メインメモリへの書き込みキューまたは、
前記メインメモリからの読み出しキュー、
を格納するための複数のバッファメモリと、
前記複数のバッファメモリに接続され、前記複数のリソースの各々によるメモリアクセス要求のうち前記書き込みキューを格納する、マルチリソースバッファメモリと、
前記複数のバッファメモリから前記マルチリソースバッファメモリへの情報の転送を制御する制御回路と、
前記メインプロセッサによりプログラム可能な1セットの制御レジスタとを備え、
前記制御回路は、前記複数のバッファメモリからの前記マルチリソースバッファメモリへの情報の転送を制御するように動作可能であり、前記リソース間の調停に動作可能でメモリアクセスの要求を許可し、前記メインメモリへの書き込み動作から前記メインメモリからの読み出し動作への切り替え頻度を減少することを特徴とし、
前記制御レジスタは、前記制御回路によりアクセスされてどのリソースがメモリアクセスを許可されるかを決定して前記メインメモリの帯域幅の割り当てを制御する複数のメモリ帯域幅制御レジスタを含む、メモリコントローラ。 - 前記制御回路は、前記複数のバッファメモリから前記マルチリソースバッファメモリに書き込み要求が接続される割合を制御するのに動作可能であることを特徴とする、請求項1に記載のメモリコントローラ。
- 前記メインメモリからの読み出しキューの各々は、前記メインメモリからの情報の読み出しをシークするリソースに動作可能に接続されていることを特徴とする、請求項1に記載のメモリコントローラ。
- 前記制御回路は、前記メインメモリへのアクセス要求を許可する調停回路を含むことを特徴とする、請求項1に記載のメモリコントローラ。
- 前記調停回路は、前記リソースがメインメモリへのアクセスの調停に参加することを可能とされる頻度を制御するのに動作可能であることを特徴とする、請求項4に記載のメモリコントローラ。
- 前記メモリコントローラは、前記複数のリソースのうちの1つに関連するメモリアクセス制御レジスタをさらに含み、
前記制御回路は、前記メモリアクセス制御レジスタの内容に応答する調停回路を備え、前記リソースのメモリアクセス調停への参加頻度を決定することを特徴とする、請求項1に記載のメモリコントローラ。 - 前記メモリ帯域幅制御レジスタは、それぞれメインメモリアクセスをシークするリソースに関連することを特徴とする、請求項1に記載のメモリコントローラ。
- 前記制御レジスタは、メモリアクセス要求リソースに関連するレジスタを少なくとも1つ含み、そのリソースにメモリアクセスを許可することによる浪費メモリサイクルを示す前記メモリアクセス要求リソース用のデータを格納することを特徴とする、請求項1に記載のメモリコントローラ。
- 前記メインメモリに書き込みを行っているリソースは、フラッシュ信号を生成して、そのリソースの書き込みキューのフラッシュを開始させることを特徴とする、請求項1に記載のメモリコントローラ。
- フラッシュ認識ハンドシェイク信号を生成するフラッシュ認識ハンドシェイク信号生成回路をさらに含み、それにより前記メインメモリに書き込みされたデータが、関連リソースのバッファではなく実際には前記メインメモリに格納されていることを競合リソースに示すことを特徴とする、請求項9に記載のメモリコントローラ。
- メインプロセッサと、前記メインプロセッサと協働してグラフィックディスプレイ上にグラフィックス画像を生成するグラフィックス処理システムと、メインメモリを含むメモリとを備えるグラフィックスシステムに含まれる、メモリコントローラであって、
前記グラフィックスシステムは、前記メインメモリへのアクセスをシークする複数のリソースを有し、
前記メモリコントローラは、
複数のバッファメモリであって、当該複数のバッファメモリの各々は、前記メインメモリへのアクセスをシークする前記複数のリソースのうちの1つに動作可能に接続されて、メモリアクセスの要求を示す情報である、
前記メインメモリへの書き込みキューまたは、
前記メインメモリからの読み出しキュー、
を格納するための、複数のバッファメモリと、
前記複数のバッファメモリに接続され、前記複数のリソースの各々によるメモリアクセス要求のうち前記書き込みキューを格納する、マルチリソースバッファメモリと、
前記複数のバッファメモリからの前記マルチリソースバッファメモリへの情報の転送を制御する制御回路と、
前記メインプロセッサによりプログラム可能な1セットの制御レジスタとを備え、
前記制御回路は、前記複数のバッファメモリからの前記マルチリソースバッファメモリへの情報の転送を制御するように動作可能であり、前記メインメモリへの書き込み動作から前記メインメモリからの読み出し動作への切り替え頻度を減少することを特徴とし、
前記制御レジスタは、メモリアクセスのリソースに関連するレジスタを少なくとも1つ含み、そのリソースの少なくともメモリ帯域幅を示す前記リソース用のデータを格納して、当該リソースに対する前記メインメモリの帯域幅の割り当てを制御する、メモリコントローラ。 - メインプロセッサ、メインメモリを含むメモリ、および前記メインメモリへのアクセスを前記メインプロセッサと競合する、少なくとも第1および第2のリソースを含む情報処理システムに含まれる、メモリコントローラであって、
前記メモリコントローラは、
メインプロセッサ読み出し要求キューおよびメインプロセッサ書き込み要求キューを含むメインプロセッサ関係インターフェースと、
少なくとも第1のリソース読み出し要求キューと第1のリソース書き込み要求キューとのどちらかを含む、第1のリソース関係インターフェースと、
少なくとも第2のリソース読み出し要求キューと第2のリソース書き込み要求キューとのどちらか1つを含む、第2のリソース関係インターフェースと、
前記メインプロセッサ関係インターフェース、前記第1のリソース関係インターフェースおよび第2のリソース関係インターフェースとに接続され、前記メインプロセッサ書き込み要求キュー、前記第1のリソース書き込み要求キューおよび前記第2のリソース書き込み要求キューから前記メインメモリへの書き込み要求を受信するマルチリソース書き込みキューと、
前記メインメモリへのアクセスを許可するメモリアクセス制御回路と、
前記メインプロセッサによりプログラム可能な1セットの制御レジスタとを含み、
前記メモリアクセス制御回路は、前記メインプロセッサ書き込み要求キューからの情報の転送を制御するよう動作可能であり、前記読み出し要求キューのそれぞれから読み出し要求を受信するために接続されており、前記マルチリソース書き込みキューから書き込み要求を受信して、前記リソース間の調停に動作可能でメモリアクセスの要求を許可し、これにより、前記メインメモリへの書き込み動作から前記メインメモリからの読み出し動作への切り替え頻度を減少させることを特徴とし、
前記制御レジスタは、前記メモリアクセス制御回路によりアクセスされてどのリソースがメモリアクセスを許可されるかを決定してメインメモリの帯域幅の割り当てを制御する複数のメモリ帯域幅制御レジスタを含む、メモリコントローラ。 - 前記メモリアクセス制御回路は、メモリアクセスを競合するリソース間で調停を行い、かつ要求リソースが調停参加をイネーブルされる頻度を制御する動作が可能であることを特徴とする、請求項12に記載のメモリコントローラ。
- 前記リソースのうち1つと関連するメモリアクセス制御レジスタをさらに含み、
前記メモリアクセス制御回路は、前記メモリアクセス制御レジスタの内容に応答する調停回路を含み、前記リソースがメモリアクセス調停への参加を許可される頻度を決定することを特徴とする、請求項12に記載のメモリコントローラ。 - 前記メモリ帯域幅制御レジスタは、それぞれメインメモリアクセスをシークするリソースに関連することを特徴とする、請求項12に記載のメモリコントローラ。
- 前記制御レジスタは、メモリアクセス要求リソースに関連する性能関係レジスタを少なくとも1つ含み、そのリソースにメモリアクセスを許可することによる浪費メモリサイクルを示す前記リソース用のデータを格納することを特徴とする、請求項12に記載のメモリコントローラ。
- メインメモリへの書き込みを行っているリソースは、フラッシュ信号を生成して、そのリソースの書き込み要求キューのフラッシュを開始させることを特徴とする、請求項12に記載のメモリコントローラ。
- フラッシュ認識ハンドシェイク信号を生成し、メインメモリに書き込みされたデータが、関連リソースのバッファではなく実際にはメインメモリに格納されていることを競合リソースに示すフラッシュ認識ハンドシェイク信号生成回路をさらに含む、請求項17に記載のメモリコントローラ。
- メインプロセッサ、メインメモリを含むメモリ、および前記メインメモリへのアクセスを前記メインプロセッサと競合する、少なくとも第1および第2のリソースを含む情報処理システムに含まれるメモリコントローラであって、
前記メモリコントローラは、
メインプロセッサ読み出し要求キューおよびメインプロセッサ書き込み要求キューを含むメインプロセッサ関係インターフェースと、
少なくとも第1のリソース読み出し要求キューと第1のリソース書き込み要求キューとのどちらかを含む、第1のリソース関係インターフェースと、
少なくとも第2のリソース読み出し要求キューと第2のリソース書き込み要求キューとのどちらか1つを含む、第2のリソース関係インターフェースと、
前記メインプロセッサ関係インターフェース、前記第1のリソース関係インターフェースおよび第2のリソース関係インターフェースとに接続され、前記メインプロセッサ書き込み要求キュー、前記第1のリソース書き込み要求キューおよび前記第2のリソース書き込み要求キューから前記メインメモリへの書き込み要求を受信するマルチリソース書き込みキューと、
前記メインメモリへのアクセスを許可するメモリアクセス制御回路と、
前記メインプロセッサによりプログラム可能な1セットの制御レジスタとを含み、
前記メモリアクセス制御回路は、前記メインプロセッサ書き込み要求キューからの情報の転送を制御するよう動作可能であり、前記読み出し要求キューのそれぞれから読み出し要求を受信するために接続されており、前記マルチリソース書き込みキューから書き込み要求を受信して、前記リソース間の調停に動作可能でメモリアクセスの要求を許可し、これにより、前記メインメモリへの書き込み動作から前記メインメモリからの読み出し動作への切り替え頻度を減少させることを特徴とし、
前記制御レジスタは、メモリアクセス要求リソースに関連する性能に関係するレジスタを少なくとも1つ含み、当該性能に関係するレジスタは、そのリソースのメモリ使用量とメモリ帯域幅との少なくともどちらか1つを示す前記リソース用のデータを格納して、前記データを利用して所定サイクルごとにメモリ調停の要求が許可されるように当該リソースに対するメインメモリの帯域幅の割り当てを制御する、メモリコントローラ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US22689400P | 2000-08-23 | 2000-08-23 | |
US60/226894 | 2000-08-23 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011280536A Division JP5149985B2 (ja) | 2000-08-23 | 2011-12-21 | 機能拡張型メモリコントローラを備えるグラフィックス処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002189629A JP2002189629A (ja) | 2002-07-05 |
JP4925385B2 true JP4925385B2 (ja) | 2012-04-25 |
Family
ID=22850861
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001133526A Expired - Fee Related JP4925385B2 (ja) | 2000-08-23 | 2001-04-27 | 機能拡張型メモリコントローラを備えるグラフィックス処理システム |
JP2011280536A Expired - Fee Related JP5149985B2 (ja) | 2000-08-23 | 2011-12-21 | 機能拡張型メモリコントローラを備えるグラフィックス処理システム |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011280536A Expired - Fee Related JP5149985B2 (ja) | 2000-08-23 | 2011-12-21 | 機能拡張型メモリコントローラを備えるグラフィックス処理システム |
Country Status (2)
Country | Link |
---|---|
US (2) | US7538772B1 (ja) |
JP (2) | JP4925385B2 (ja) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9849372B2 (en) * | 2012-09-28 | 2017-12-26 | Sony Interactive Entertainment Inc. | Method and apparatus for improving efficiency without increasing latency in emulation of a legacy application title |
US8483227B2 (en) | 2003-11-20 | 2013-07-09 | International Business Machines Corporation | Controlling bandwidth reservations method and apparatus |
US7787481B1 (en) * | 2004-07-19 | 2010-08-31 | Advanced Micro Devices, Inc. | Prefetch scheme to minimize interpacket gap |
DE102004038211A1 (de) * | 2004-08-05 | 2006-03-16 | Robert Bosch Gmbh | Botschaftsverwalter und Verfahren zur Steuerung des Zugriffs auf Daten eines Botschaftsspeichers eines Kommunikationsbausteins |
US20060083102A1 (en) * | 2004-10-20 | 2006-04-20 | Seagate Technology Llc | Failover control of dual controllers in a redundant data storage system |
JP2008021228A (ja) * | 2006-07-14 | 2008-01-31 | Renesas Technology Corp | データ処理装置 |
US8035647B1 (en) * | 2006-08-24 | 2011-10-11 | Nvidia Corporation | Raster operations unit with interleaving of read and write requests using PCI express |
US8117478B2 (en) * | 2006-12-29 | 2012-02-14 | Intel Corporation | Optimizing power usage by processor cores based on architectural events |
US20080204373A1 (en) * | 2007-02-27 | 2008-08-28 | Leroy Sutton | R-port assembly for video signal format conversion |
JP4987070B2 (ja) * | 2007-04-11 | 2012-07-25 | パナソニック株式会社 | 画像生成装置及び画像生成方法 |
US8542266B2 (en) * | 2007-05-21 | 2013-09-24 | Polycom, Inc. | Method and system for adapting a CP layout according to interaction between conferees |
TW201015579A (en) * | 2008-09-18 | 2010-04-16 | Panasonic Corp | Buffer memory device, memory system, and data readout method |
TW201015321A (en) * | 2008-09-25 | 2010-04-16 | Panasonic Corp | Buffer memory device, memory system and data trnsfer method |
ES2621989T3 (es) * | 2009-01-27 | 2017-07-05 | Mitsubishi Electric Corporation | Dispositivo de presentación de estados y método de presentación de dispositivos de presentación de estados |
WO2010087140A1 (ja) * | 2009-01-30 | 2010-08-05 | 三菱電機株式会社 | 状態表示装置 |
US8397006B2 (en) * | 2010-01-28 | 2013-03-12 | Freescale Semiconductor, Inc. | Arbitration scheme for accessing a shared resource |
US20130329553A1 (en) | 2012-06-06 | 2013-12-12 | Mosys, Inc. | Traffic metering and shaping for network packets |
US9400695B2 (en) * | 2010-02-26 | 2016-07-26 | Microsoft Technology Licensing, Llc | Low latency rendering of objects |
CN102918515B (zh) | 2010-05-28 | 2015-10-14 | 惠普发展公司,有限责任合伙企业 | 将数据存储在存储器控制器中的多个缓冲器的任何中 |
US9053562B1 (en) | 2010-06-24 | 2015-06-09 | Gregory S. Rabin | Two dimensional to three dimensional moving image converter |
JP5752382B2 (ja) * | 2010-09-29 | 2015-07-22 | 矢崎総業株式会社 | 表示装置及び画像データの転送方法 |
US8490111B2 (en) * | 2011-04-16 | 2013-07-16 | Throughputer, Inc. | Efficient network and memory architecture for multi-core data processing system |
US20130117168A1 (en) | 2011-11-04 | 2013-05-09 | Mark Henrik Sandstrom | Maximizing Throughput of Multi-user Parallel Data Processing Systems |
US8789065B2 (en) | 2012-06-08 | 2014-07-22 | Throughputer, Inc. | System and method for input data load adaptive parallel processing |
US9460546B1 (en) | 2011-03-30 | 2016-10-04 | Nvidia Corporation | Hierarchical structure for accelerating ray tracing operations in scene rendering |
US8970584B1 (en) | 2011-06-24 | 2015-03-03 | Nvidia Corporation | Bounding box-based techniques for improved sample test efficiency in image rendering |
US9142043B1 (en) | 2011-06-24 | 2015-09-22 | Nvidia Corporation | System and method for improved sample test efficiency in image rendering |
US9147270B1 (en) | 2011-06-24 | 2015-09-29 | Nvidia Corporation | Bounding plane-based techniques for improved sample test efficiency in image rendering |
US9118902B1 (en) | 2011-07-05 | 2015-08-25 | Lucasfilm Entertainment Company Ltd. | Stereoscopic conversion |
US9448847B2 (en) | 2011-07-15 | 2016-09-20 | Throughputer, Inc. | Concurrent program execution optimization |
US9269183B1 (en) | 2011-07-31 | 2016-02-23 | Nvidia Corporation | Combined clipless time and lens bounds for improved sample test efficiency in image rendering |
GB2495959A (en) * | 2011-10-26 | 2013-05-01 | Imagination Tech Ltd | Multi-threaded memory access processor |
US9305394B2 (en) | 2012-01-27 | 2016-04-05 | Nvidia Corporation | System and process for improved sampling for parallel light transport simulation |
US9236064B2 (en) | 2012-02-15 | 2016-01-12 | Microsoft Technology Licensing, Llc | Sample rate converter with automatic anti-aliasing filter |
US9159158B2 (en) | 2012-07-19 | 2015-10-13 | Nvidia Corporation | Surface classification for point-based rendering within graphics display system |
US9171394B2 (en) | 2012-07-19 | 2015-10-27 | Nvidia Corporation | Light transport consistent scene simplification within graphics display system |
JP5987913B2 (ja) * | 2012-09-26 | 2016-09-07 | 富士通株式会社 | 情報処理装置、情報処理方法、及び情報処理プログラム |
US9559889B1 (en) * | 2012-10-31 | 2017-01-31 | Amazon Technologies, Inc. | Cache population optimization for storage gateways |
US9992021B1 (en) | 2013-03-14 | 2018-06-05 | GoTenna, Inc. | System and method for private and point-to-point communication between computing devices |
US9744826B2 (en) | 2013-05-31 | 2017-08-29 | Fox Factory, Inc. | Methods and apparatus for adjusting a spring pre-load |
US9911477B1 (en) * | 2014-04-18 | 2018-03-06 | Altera Corporation | Memory controller architecture with improved memory scheduling efficiency |
US9330433B2 (en) * | 2014-06-30 | 2016-05-03 | Intel Corporation | Data distribution fabric in scalable GPUs |
KR101717355B1 (ko) | 2015-07-29 | 2017-03-16 | 엘에스산전 주식회사 | 에너지 관리 시스템의 디스플레이 장치 및 방법 |
US10585818B2 (en) | 2017-04-05 | 2020-03-10 | International Business Machines Corporation | Low overhead exclusive control for shared memory objects |
US10664419B2 (en) * | 2017-11-02 | 2020-05-26 | Arm Limited | I/O driven data transfer in a data processing network |
TWI727203B (zh) * | 2018-09-07 | 2021-05-11 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
US10877906B2 (en) | 2018-09-17 | 2020-12-29 | Micron Technology, Inc. | Scheduling of read operations and write operations based on a data bus mode |
US11004251B2 (en) | 2018-11-27 | 2021-05-11 | Advanced Micro Devices, Inc. | Automatic configuration of knobs to optimize performance of a graphics pipeline |
Family Cites Families (454)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4275413A (en) | 1978-03-30 | 1981-06-23 | Takashi Sakamoto | Linear interpolator for color correction |
US4357624A (en) | 1979-05-15 | 1982-11-02 | Combined Logic Company | Interactive video production system |
US4491836A (en) | 1980-02-29 | 1985-01-01 | Calma Company | Graphics display system and method including two-dimensional cache |
US4425559A (en) | 1980-06-02 | 1984-01-10 | Atari, Inc. | Method and apparatus for generating line segments and polygonal areas on a raster-type display |
US4388620A (en) | 1981-01-05 | 1983-06-14 | Atari, Inc. | Method and apparatus for generating elliptical images on a raster-type video display |
US4463380A (en) | 1981-09-25 | 1984-07-31 | Vought Corporation | Image processing system |
US4570233A (en) | 1982-07-01 | 1986-02-11 | The Singer Company | Modular digital image generator |
US4600919A (en) | 1982-08-03 | 1986-07-15 | New York Institute Of Technology | Three dimensional animation |
US4615013A (en) | 1983-08-02 | 1986-09-30 | The Singer Company | Method and apparatus for texture generation |
JPS6043764A (ja) * | 1983-08-19 | 1985-03-08 | Nec Corp | 情報処理システム |
GB8322438D0 (en) | 1983-08-19 | 1983-10-12 | Marconi Avionics | Display systems |
US4586038A (en) | 1983-12-12 | 1986-04-29 | General Electric Company | True-perspective texture/shading processor |
EP0146961B1 (en) | 1983-12-26 | 1991-03-20 | Hitachi, Ltd. | Image and graphic pattern processing apparatus |
US4808988A (en) | 1984-04-13 | 1989-02-28 | Megatek Corporation | Digital vector generator for a graphic display system |
US4725831A (en) | 1984-04-27 | 1988-02-16 | Xtar Corporation | High-speed video graphics system and method for generating solid polygons on a raster display |
US4829452A (en) | 1984-07-05 | 1989-05-09 | Xerox Corporation | Small angle image rotation using block transfers |
US4658247A (en) | 1984-07-30 | 1987-04-14 | Cornell Research Foundation, Inc. | Pipelined, line buffered real-time color graphics display system |
US4695943A (en) | 1984-09-27 | 1987-09-22 | Honeywell Information Systems Inc. | Multiprocessor shared pipeline cache memory with split cycle and concurrent utilization |
DE3584718D1 (de) | 1984-12-07 | 1992-01-02 | Dainippon Screen Mfg | Bilddatenverarbeitungsverfahren und system dafuer. |
US4625289A (en) | 1985-01-09 | 1986-11-25 | Evans & Sutherland Computer Corp. | Computer graphics system of general surface rendering by exhaustive sampling |
US4710876A (en) | 1985-06-05 | 1987-12-01 | General Electric Company | System and method for the display of surface structures contained within the interior region of a solid body |
US5239624A (en) | 1985-06-19 | 1993-08-24 | Pixar | Pseudo-random point sampling techniques in computer graphics |
US4897806A (en) | 1985-06-19 | 1990-01-30 | Pixar | Pseudo-random point sampling techniques in computer graphics |
FR2586838B1 (fr) | 1985-08-30 | 1989-07-28 | Labo Electronique Physique | Processeur d'elimination de faces cachees pour la synthese d'images a trois dimensions |
JPH0762794B2 (ja) | 1985-09-13 | 1995-07-05 | 株式会社日立製作所 | グラフイツク表示装置 |
US4974177A (en) | 1985-10-04 | 1990-11-27 | Daikin Industries Ltd. | Mapping circuit of a CRT display device |
US4692880A (en) | 1985-11-15 | 1987-09-08 | General Electric Company | Memory efficient cell texturing for advanced video object generator |
JPS62192878A (ja) | 1986-02-20 | 1987-08-24 | Nippon Gakki Seizo Kk | 多角形の塗りつぶし方法 |
US4862392A (en) | 1986-03-07 | 1989-08-29 | Star Technologies, Inc. | Geometry processor for graphics display system |
JPS62231380A (ja) | 1986-03-31 | 1987-10-09 | Namuko:Kk | 画像合成装置 |
US5504917A (en) | 1986-04-14 | 1996-04-02 | National Instruments Corporation | Method and apparatus for providing picture generation and control features in a graphical data flow environment |
US4785395A (en) | 1986-06-27 | 1988-11-15 | Honeywell Bull Inc. | Multiprocessor coherent cache system including two level shared cache with separately allocated processor storage locations and inter-level duplicate entry replacement |
US4768148A (en) | 1986-06-27 | 1988-08-30 | Honeywell Bull Inc. | Read in process memory apparatus |
US4817175A (en) | 1986-08-26 | 1989-03-28 | Schlumberger Systems And Services, Inc. | Video stream processing system |
US4855934A (en) | 1986-10-03 | 1989-08-08 | Evans & Sutherland Computer Corporation | System for texturing computer graphics images |
US4918625A (en) | 1986-12-19 | 1990-04-17 | Cae-Link Corporation | Method and apparatus for processing translucent objects |
US4965750A (en) | 1987-03-31 | 1990-10-23 | Hitachi, Ltd. | Graphic processor suitable for graphic data transfer and conversion processes |
US4833601A (en) | 1987-05-28 | 1989-05-23 | Bull Hn Information Systems Inc. | Cache resiliency in processing a variety of address faults |
US4935879A (en) | 1987-08-05 | 1990-06-19 | Daikin Industries, Ltd. | Texture mapping apparatus and method |
US4965751A (en) | 1987-08-18 | 1990-10-23 | Hewlett-Packard Company | Graphics system with programmable tile size and multiplexed pixel data and partial pixel addresses based on tile size |
US5170468A (en) | 1987-08-18 | 1992-12-08 | Hewlett-Packard Company | Graphics system with shadow ram update to the color map |
US4866637A (en) | 1987-10-30 | 1989-09-12 | International Business Machines Corporation | Pipelined lighting model processing system for a graphics workstation's shading function |
US5144291A (en) | 1987-11-02 | 1992-09-01 | Matsushita Electric Industrial Co., Ltd. | Means for eliminating hidden surface |
US4888712A (en) | 1987-11-04 | 1989-12-19 | Schlumberger Systems, Inc. | Guardband clipping method and apparatus for 3-D graphics display system |
US4901064A (en) | 1987-11-04 | 1990-02-13 | Schlumberger Technologies, Inc. | Normal vector shading for 3-D graphics display system |
US4945500A (en) | 1987-11-04 | 1990-07-31 | Schlumberger Technologies, Inc. | Triangle processor for 3-D graphics display system |
US5361386A (en) | 1987-12-04 | 1994-11-01 | Evans & Sutherland Computer Corp. | System for polygon interpolation using instantaneous values in a variable |
CA1309198C (en) | 1987-12-10 | 1992-10-20 | Carlo J. Evangelisti | Parallel rendering of smoothly shaded color triangles with anti-aliased edges for a three dimensional color display |
US4974176A (en) | 1987-12-18 | 1990-11-27 | General Electric Company | Microtexture for close-in detail |
GB2214037A (en) | 1987-12-18 | 1989-08-23 | Ibm | Solid modelling system |
US5136664A (en) | 1988-02-23 | 1992-08-04 | Bersack Bret B | Pixel rendering |
JPH0693181B2 (ja) | 1988-03-18 | 1994-11-16 | 株式会社日立製作所 | 表示装置 |
US6054999A (en) | 1988-03-22 | 2000-04-25 | Strandberg; Oerjan | Method and apparatus for computer supported animation |
DE68918886T2 (de) | 1988-04-08 | 1995-06-01 | Dainippon Screen Mfg | Verfahren zur Gewinnung der Aussenlinie eines Objektes in einem Bild. |
US4907174A (en) | 1988-06-02 | 1990-03-06 | Sun Microsystems, Inc. | Z-buffer allocated for window identification |
US5097427A (en) | 1988-07-06 | 1992-03-17 | Hewlett-Packard Company | Texture mapping for computer graphics display controller system |
US5315692A (en) | 1988-07-22 | 1994-05-24 | Hughes Training, Inc. | Multiple object pipeline display system |
US5003496A (en) | 1988-08-26 | 1991-03-26 | Eastman Kodak Company | Page memory control in a raster image processor |
US4989138A (en) | 1988-09-02 | 1991-01-29 | Tektronix, Inc. | Single bus graphics data processing pipeline with decentralized bus arbitration |
JPH0727581B2 (ja) | 1988-09-09 | 1995-03-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 図形処理装置 |
US5016183A (en) | 1988-09-13 | 1991-05-14 | Computer Design, Inc. | Textile design system and method |
US5018076A (en) | 1988-09-16 | 1991-05-21 | Chips And Technologies, Inc. | Method and circuitry for dual panel displays |
JP2685548B2 (ja) | 1988-11-28 | 1997-12-03 | 株式会社日立製作所 | ディジタル画像データの回転方法およびその装置 |
GB8828342D0 (en) | 1988-12-05 | 1989-01-05 | Rediffusion Simulation Ltd | Image generator |
US5062057A (en) | 1988-12-09 | 1991-10-29 | E-Machines Incorporated | Computer display controller with reconfigurable frame buffer memory |
US5659673A (en) | 1988-12-16 | 1997-08-19 | Canon Kabushiki Kaisha | Image processing apparatus |
US5255353A (en) | 1989-02-28 | 1993-10-19 | Ricoh Company, Ltd. | Three-dimensional shadow processor for an image forming apparatus |
US5204944A (en) | 1989-07-28 | 1993-04-20 | The Trustees Of Columbia University In The City Of New York | Separable image warping methods and systems using spatial lookup tables |
DE69031202T2 (de) | 1989-10-13 | 1998-02-19 | Matsushita Electric Ind Co Ltd | Verfahren und Gerät zur Farbkompensierung in Farbbildern |
JPH0776991B2 (ja) | 1989-10-24 | 1995-08-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Nurbsデータ変換方法及び装置 |
JP3005007B2 (ja) | 1989-12-21 | 2000-01-31 | キヤノン株式会社 | 画像符号化装置 |
US5056044A (en) | 1989-12-21 | 1991-10-08 | Hewlett-Packard Company | Graphics frame buffer with programmable tile size |
SE464265B (sv) | 1990-01-10 | 1991-03-25 | Stefan Blixt | Grafikprocessor |
GB2240017A (en) | 1990-01-15 | 1991-07-17 | Philips Electronic Associated | New, interpolated texture values are fed back to texture memories |
GB2240015A (en) | 1990-01-15 | 1991-07-17 | Philips Electronic Associated | Texture memory addressing |
RU2106012C1 (ru) | 1990-02-05 | 1998-02-27 | Нинтендо Ко. Лтд. | Устройство дисплея подвижного изображения и внешнее запоминающее устройство, используемое для него |
US5224208A (en) | 1990-03-16 | 1993-06-29 | Hewlett-Packard Company | Gradient calculation for texture mapping |
US5179638A (en) | 1990-04-26 | 1993-01-12 | Honeywell Inc. | Method and apparatus for generating a texture mapped perspective view |
US5163126A (en) | 1990-05-10 | 1992-11-10 | International Business Machines Corporation | Method for adaptively providing near phong grade shading for patterns in a graphics display system |
US5412796A (en) | 1990-05-12 | 1995-05-02 | Rediffusion Simulation Limited | Method and apparatus for generating images simulating non-homogeneous fog effects |
EP0464907B1 (en) | 1990-06-29 | 1996-10-09 | Philips Electronics Uk Limited | Generating an image |
EP0470782B1 (en) | 1990-08-08 | 1996-02-14 | The Peerless Group | Image rendering process and apparatus |
US6020894A (en) | 1990-08-16 | 2000-02-01 | Canon Kabushiki Kaisha | Full-color desktop publishing system |
US5241658A (en) | 1990-08-21 | 1993-08-31 | Apple Computer, Inc. | Apparatus for storing information in and deriving information from a frame buffer |
JP2725915B2 (ja) | 1990-11-15 | 1998-03-11 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 三角形描画装置及び方法 |
US5268995A (en) | 1990-11-21 | 1993-12-07 | Motorola, Inc. | Method for executing graphics Z-compare and pixel merge instructions in a data processor |
US5268996A (en) | 1990-12-20 | 1993-12-07 | General Electric Company | Computer image generation method for determination of total pixel illumination due to plural light sources |
US5774133A (en) | 1991-01-09 | 1998-06-30 | 3Dlabs Ltd. | Computer system with improved pixel processing capabilities |
US5307450A (en) | 1991-02-19 | 1994-04-26 | Silicon Graphics, Inc. | Z-subdivision for improved texture mapping |
JPH07122908B2 (ja) | 1991-03-12 | 1995-12-25 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 3次元のソリッド物体を表す表示可能情報を生成する装置と方法 |
US5421028A (en) | 1991-03-15 | 1995-05-30 | Hewlett-Packard Company | Processing commands and data in a common pipeline path in a high-speed computer graphics system |
JP3413843B2 (ja) * | 1991-03-19 | 2003-06-09 | 株式会社日立製作所 | ベクトルデータの要素を並列処理するベクトルプロセッサ |
US5415549A (en) | 1991-03-21 | 1995-05-16 | Atari Games Corporation | Method for coloring a polygon on a video display |
US5265233A (en) * | 1991-05-17 | 1993-11-23 | Sun Microsystems, Inc. | Method and apparatus for providing total and partial store ordering for a memory in multi-processor system |
JP3316592B2 (ja) | 1991-06-17 | 2002-08-19 | サン・マイクロシステムズ・インコーポレーテッド | 二重バッファ・出力ディスプレー・システム、および、第1のフレーム・バッファおよび第2のフレーム・バッファ相互間の切り換えを行う方法 |
DE69233717T2 (de) | 1991-06-28 | 2008-10-30 | Lim, Hong Lip, Darlington | Verbesserungen in sichtbarkeit-berechnungen fuer 3d-rechner |
JP3321651B2 (ja) | 1991-07-26 | 2002-09-03 | サン・マイクロシステムズ・インコーポレーテッド | コンピュータの出力表示のためのフレームバッファメモリを提供する装置および方法 |
EP0739513B1 (en) | 1991-08-13 | 1999-10-27 | The Board Of Regents Of The University Of Washington | Method of transmitting of data |
TW225595B (ja) | 1991-09-03 | 1994-06-21 | Gen Electric | |
JPH05120239A (ja) * | 1991-10-30 | 1993-05-18 | Seiko Epson Corp | 並列処理回路 |
US5404445A (en) | 1991-10-31 | 1995-04-04 | Toshiba America Information Systems, Inc. | External interface for a high performance graphics adapter allowing for graphics compatibility |
US5353424A (en) | 1991-11-19 | 1994-10-04 | Digital Equipment Corporation | Fast tag compare and bank select in set associative cache |
US5345541A (en) | 1991-12-20 | 1994-09-06 | Apple Computer, Inc. | Method and apparatus for approximating a value between two endpoint values in a three-dimensional image rendering device |
US5377313A (en) | 1992-01-29 | 1994-12-27 | International Business Machines Corporation | Computer graphics display method and system with shadow generation |
WO1993021623A1 (en) | 1992-04-17 | 1993-10-28 | Intel Corporation | Visual frame buffer architecture |
JP2760731B2 (ja) | 1992-04-30 | 1998-06-04 | 株式会社東芝 | グラフィックス互換性を可能にする高性能グラフィックスアダプタ用外部インターフェース回路 |
US5469535A (en) | 1992-05-04 | 1995-11-21 | Midway Manufacturing Company | Three-dimensional, texture mapping display system |
GB2267203B (en) | 1992-05-15 | 1997-03-19 | Fujitsu Ltd | Three-dimensional graphics drawing apparatus, and a memory apparatus to be used in texture mapping |
US5366376A (en) | 1992-05-22 | 1994-11-22 | Atari Games Corporation | Driver training system and method with performance data feedback |
JPH06103148A (ja) * | 1992-05-26 | 1994-04-15 | Nec Corp | ライトバッファ |
JPH05334244A (ja) * | 1992-06-01 | 1993-12-17 | Yokogawa Electric Corp | バス・インタフェース・ユニット |
US5473736A (en) | 1992-06-08 | 1995-12-05 | Chroma Graphics | Method and apparatus for ordering and remapping colors in images of real two- and three-dimensional objects |
US5432900A (en) | 1992-06-19 | 1995-07-11 | Intel Corporation | Integrated graphics and video computer display system |
US5828907A (en) | 1992-06-30 | 1998-10-27 | Discovision Associates | Token-based adaptive video processing arrangement |
JPH0628485A (ja) | 1992-07-09 | 1994-02-04 | Toshiba Corp | テクスチャーアドレス生成器、テクスチャーパターン生成器、テクスチャー描画装置及びテクスチャーアドレス生成方法 |
US5475803A (en) | 1992-07-10 | 1995-12-12 | Lsi Logic Corporation | Method for 2-D affine transformation of images |
JPH07325934A (ja) | 1992-07-10 | 1995-12-12 | Walt Disney Co:The | 仮想世界に向上したグラフィックスを提供する方法および装置 |
US5821940A (en) | 1992-08-03 | 1998-10-13 | Ball Corporation | Computer graphics vertex index cache system for polygons |
GB2270243B (en) | 1992-08-26 | 1996-02-28 | Namco Ltd | Image synthesizing system |
JP2682559B2 (ja) | 1992-09-30 | 1997-11-26 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 物体の画像をディスプレイ装置上に表示する装置及び方法並びにコンピュータ・グラフィックス表示システム |
US5432895A (en) | 1992-10-01 | 1995-07-11 | University Corporation For Atmospheric Research | Virtual reality imaging system |
GB2271259A (en) | 1992-10-02 | 1994-04-06 | Canon Res Ct Europe Ltd | Processing image data |
US5890190A (en) | 1992-12-31 | 1999-03-30 | Intel Corporation | Frame buffer for storing graphics and video data |
US5559954A (en) | 1993-02-24 | 1996-09-24 | Intel Corporation | Method & apparatus for displaying pixels from a multi-format frame buffer |
US5859645A (en) | 1993-03-26 | 1999-01-12 | Loral Corporation | Method for point sampling in computer graphics systems |
BR9404930A (pt) | 1993-04-09 | 1999-06-15 | Sega Enterprises Kk | Dispositivo de conexões múltiplas para uso em aparelho de jogo |
US5644364A (en) | 1993-04-16 | 1997-07-01 | Avid Technology, Inc. | Media pipeline with multichannel video processing and playback |
US5606650A (en) | 1993-04-22 | 1997-02-25 | Apple Computer, Inc. | Method and apparatus for storage and retrieval of a texture map in a graphics display system |
JP3026698B2 (ja) | 1993-05-27 | 2000-03-27 | キヤノン株式会社 | 画像処理方法及びその装置 |
GB2278524B (en) | 1993-05-28 | 1997-12-10 | Nihon Unisys Ltd | Method and apparatus for rendering visual images employing area calculation and blending of fractional pixel lists for anti-aliasing and transparency |
US5392393A (en) | 1993-06-04 | 1995-02-21 | Sun Microsystems, Inc. | Architecture for a high performance three dimensional graphics accelerator |
US5408650A (en) | 1993-06-29 | 1995-04-18 | Digital Equipment Corporation | Memory analysis system for dynamically displaying memory allocation and de-allocation events associated with an application program |
JPH0778267A (ja) | 1993-07-09 | 1995-03-20 | Silicon Graphics Inc | 陰影を表示する方法及びコンピュータ制御表示システム |
US5490240A (en) | 1993-07-09 | 1996-02-06 | Silicon Graphics, Inc. | System and method of generating interactive computer graphic images incorporating three dimensional textures |
GB9316214D0 (en) | 1993-08-05 | 1993-09-22 | Philips Electronics Uk Ltd | Image processing |
JPH0766424A (ja) | 1993-08-20 | 1995-03-10 | Semiconductor Energy Lab Co Ltd | 半導体装置およびその作製方法 |
WO1995010822A1 (en) | 1993-10-15 | 1995-04-20 | Evans & Sutherland Computer Corporation | Direct rendering of textured height fields |
JPH07146952A (ja) | 1993-11-22 | 1995-06-06 | Konami Kk | 3次元画像処理装置 |
WO1995015528A1 (en) | 1993-11-30 | 1995-06-08 | Vlsi Technology, Inc. | A reallocatable memory subsystem enabling transparent transfer of memory function during upgrade |
JPH07200386A (ja) | 1993-12-28 | 1995-08-04 | Toshiba Corp | 共有メモリのアクセス制御装置および画像形成装置 |
US5592597A (en) | 1994-02-14 | 1997-01-07 | Parametric Technology Corporation | Real-time image generation system for simulating physical paint, drawing media, and feature modeling with 3-D graphics |
US5557712A (en) | 1994-02-16 | 1996-09-17 | Apple Computer, Inc. | Color map tables smoothing in a color computer graphics system avoiding objectionable color shifts |
US5548709A (en) | 1994-03-07 | 1996-08-20 | Silicon Graphics, Inc. | Apparatus and method for integrating texture memory and interpolation logic in a computer system |
US5487146A (en) | 1994-03-08 | 1996-01-23 | Texas Instruments Incorporated | Plural memory access address generation employing guide table entries forming linked list |
US5506604A (en) | 1994-04-06 | 1996-04-09 | Cirrus Logic, Inc. | Apparatus, systems and methods for processing video data in conjunction with a multi-format frame buffer |
US5461712A (en) | 1994-04-18 | 1995-10-24 | International Business Machines Corporation | Quadrant-based two-dimensional memory manager |
JP3240821B2 (ja) | 1994-04-22 | 2001-12-25 | 株式会社日立製作所 | 高機能画像メモリlsi及びそれを用いた表示装置 |
US5608864A (en) | 1994-04-29 | 1997-03-04 | Cirrus Logic, Inc. | Variable pixel depth and format for video windows |
US5664162A (en) | 1994-05-23 | 1997-09-02 | Cirrus Logic, Inc. | Graphics accelerator with dual memory controllers |
JP3220328B2 (ja) | 1994-06-01 | 2001-10-22 | 株式会社ソニー・コンピュータエンタテインメント | ビデオゲーム機 |
US5694143A (en) | 1994-06-02 | 1997-12-02 | Accelerix Limited | Single chip frame buffer and graphics accelerator |
JPH10502181A (ja) | 1994-06-20 | 1998-02-24 | ネオマジック・コーポレイション | メモリインタフェースのないグラフィックスコントローラ集積回路 |
US5768626A (en) | 1994-06-24 | 1998-06-16 | Intel Corporation | Method and apparatus for servicing a plurality of FIFO's in a capture gate array |
US5600763A (en) | 1994-07-21 | 1997-02-04 | Apple Computer, Inc. | Error-bounded antialiased rendering of complex scenes |
US5684941A (en) | 1994-09-01 | 1997-11-04 | Cirrus Logic, Inc. | Interpolation rendering of polygons into a pixel grid |
US5678037A (en) | 1994-09-16 | 1997-10-14 | Vlsi Technology, Inc. | Hardware graphics accelerator system and method therefor |
US5553228A (en) | 1994-09-19 | 1996-09-03 | International Business Machines Corporation | Accelerated interface between processors and hardware adapters |
US5933154A (en) | 1994-09-30 | 1999-08-03 | Apple Computer, Inc. | Multi-panel video display control addressing of interleaved frame buffers via CPU address conversion |
GB2293938B (en) | 1994-10-04 | 1999-01-20 | Winbond Electronics Corp | Apparatus for digital video format conversion |
TW278162B (ja) | 1994-10-07 | 1996-06-11 | Yamaha Corp | |
TW357913U (en) | 1994-10-12 | 1999-05-01 | Sega Enterprises Kk | Peripheral machinery |
JPH08123969A (ja) | 1994-10-28 | 1996-05-17 | Mitsubishi Electric Corp | マッピング装置 |
GB9422089D0 (en) | 1994-11-02 | 1994-12-21 | Philips Electronics Uk Ltd | Blurring for computer graphics |
US5593350A (en) | 1994-11-04 | 1997-01-14 | Thrustmaster, Inc. | Video game card having interrupt resistant behavior |
US5838334A (en) | 1994-11-16 | 1998-11-17 | Dye; Thomas A. | Memory and graphics controller which performs pointer-based display list video refresh operations |
US6067098A (en) | 1994-11-16 | 2000-05-23 | Interactive Silicon, Inc. | Video/graphics controller which performs pointer-based display list video refresh operation |
JP2637931B2 (ja) | 1994-12-01 | 1997-08-06 | インターナショナル・ビジネス・マシーンズ・コーポレイション | テクスチャ・マッピングを行うコンピュータ・システム |
US5561752A (en) | 1994-12-22 | 1996-10-01 | Apple Computer, Inc. | Multipass graphics rendering method and apparatus with re-traverse flag |
KR100242880B1 (ko) | 1994-12-29 | 2000-02-01 | 전주범 | 분할된 영역의 윤곽추적장치 |
JP4130237B2 (ja) | 1995-01-28 | 2008-08-06 | 株式会社半導体エネルギー研究所 | 結晶性珪素膜の作製方法及び半導体装置の作製方法 |
JPH08221593A (ja) | 1995-02-14 | 1996-08-30 | Hitachi Ltd | 図形表示装置 |
US5649082A (en) | 1995-03-20 | 1997-07-15 | Silicon Graphics, Inc. | Efficient method and apparatus for determining texture coordinates for lines and polygons |
US5900881A (en) | 1995-03-22 | 1999-05-04 | Ikedo; Tsuneo | Computer graphics circuit |
US5815166A (en) | 1995-03-24 | 1998-09-29 | 3Dlabs Inc., Ltd. | Graphics subsystem with slaveable rasterizer |
US5805868A (en) | 1995-03-24 | 1998-09-08 | 3Dlabs Inc. Ltd. | Graphics subsystem with fast clear capability |
US5701444A (en) | 1995-03-24 | 1997-12-23 | 3Dlabs Inc. Ltd. | Three-dimensional graphics subsystem with enhanced support for graphical user interface |
US6025853A (en) | 1995-03-24 | 2000-02-15 | 3Dlabs Inc. Ltd. | Integrated graphics subsystem with message-passing architecture |
US5835096A (en) | 1995-03-24 | 1998-11-10 | 3D Labs | Rendering system using 3D texture-processing hardware for accelerated 2D rendering |
US5798770A (en) | 1995-03-24 | 1998-08-25 | 3Dlabs Inc. Ltd. | Graphics rendering system with reconfigurable pipeline sequence |
US5727192A (en) | 1995-03-24 | 1998-03-10 | 3Dlabs Inc. Ltd. | Serial rendering system with auto-synchronization on frame blanking |
US5594854A (en) | 1995-03-24 | 1997-01-14 | 3Dlabs Inc. Ltd. | Graphics subsystem with coarse subpixel correction |
US5777629A (en) | 1995-03-24 | 1998-07-07 | 3Dlabs Inc. Ltd. | Graphics subsystem with smart direct-memory-access operation |
US5764228A (en) | 1995-03-24 | 1998-06-09 | 3Dlabs Inc., Ltd. | Graphics pre-processing and rendering system |
US5666494A (en) * | 1995-03-31 | 1997-09-09 | Samsung Electronics Co., Ltd. | Queue management mechanism which allows entries to be processed in any order |
US5805175A (en) | 1995-04-14 | 1998-09-08 | Nvidia Corporation | Method and apparatus for providing a plurality of color formats from a single frame buffer |
US5687357A (en) | 1995-04-14 | 1997-11-11 | Nvidia Corporation | Register array for utilizing burst mode transfer on local bus |
US5714981A (en) | 1995-04-21 | 1998-02-03 | Advanced Gravis Computer Technology, Ltd. | Gameport communication apparatus and method |
US5651104A (en) | 1995-04-25 | 1997-07-22 | Evans & Sutherland Computer Corporation | Computer graphics system and process for adaptive supersampling |
US5751295A (en) | 1995-04-27 | 1998-05-12 | Control Systems, Inc. | Graphics accelerator chip and method |
US5798762A (en) | 1995-05-10 | 1998-08-25 | Cagent Technologies, Inc. | Controlling a real-time rendering engine using a list-based control mechanism |
US5721947A (en) | 1995-05-15 | 1998-02-24 | Nvidia Corporation | Apparatus adapted to be joined between the system I/O bus and I/O devices which translates addresses furnished directly by an application program |
US5758182A (en) | 1995-05-15 | 1998-05-26 | Nvidia Corporation | DMA controller translates virtual I/O device address received directly from application program command to physical i/o device address of I/O device on device bus |
US5638535A (en) | 1995-05-15 | 1997-06-10 | Nvidia Corporation | Method and apparatus for providing flow control with lying for input/output operations in a computer system |
US5740406A (en) | 1995-05-15 | 1998-04-14 | Nvidia Corporation | Method and apparatus for providing fifo buffer input to an input/output device used in a computer system |
US5657443A (en) | 1995-05-16 | 1997-08-12 | Hewlett-Packard Company | Enhanced test system for an application-specific memory scheme |
JP3081774B2 (ja) | 1995-05-24 | 2000-08-28 | シャープ株式会社 | テクスチャーパターンメモリ回路 |
JPH08328941A (ja) | 1995-05-31 | 1996-12-13 | Nec Corp | メモリアクセス制御回路 |
US5745118A (en) | 1995-06-06 | 1998-04-28 | Hewlett-Packard Company | 3D bypass for download of textures |
US5751292A (en) | 1995-06-06 | 1998-05-12 | Hewlett-Packard Company | Texture mapping method and system |
US5877741A (en) | 1995-06-07 | 1999-03-02 | Seiko Epson Corporation | System and method for implementing an overlay pathway |
US5828383A (en) | 1995-06-23 | 1998-10-27 | S3 Incorporated | Controller for processing different pixel data types stored in the same display memory by use of tag bits |
US5754191A (en) | 1995-06-23 | 1998-05-19 | Cirrus Logic, Inc. | Method and apparatus for optimizing pixel data write operations to a tile based frame buffer |
JPH0916806A (ja) | 1995-07-04 | 1997-01-17 | Ricoh Co Ltd | 立体画像処理装置 |
JP3349871B2 (ja) | 1995-07-10 | 2002-11-25 | 株式会社リコー | 画像処理装置 |
JP3780011B2 (ja) | 1995-07-14 | 2006-05-31 | 株式会社ルネサステクノロジ | 半導体記憶装置 |
US5682522A (en) | 1995-07-18 | 1997-10-28 | Silicon Integrated Systems Corp. | Shared memory architecture of graphics frame buffer and hard disk cache |
US5628686A (en) | 1995-07-31 | 1997-05-13 | Microsoft Corporation | Apparatus and method for bidirectional data communication in a game port |
US6016150A (en) | 1995-08-04 | 2000-01-18 | Microsoft Corporation | Sprite compositor and method for performing lighting and shading operations using a compositor to combine factored image layers |
US6008820A (en) | 1995-08-04 | 1999-12-28 | Microsoft Corporation | Processor for controlling the display of rendered image layers and method for controlling same |
IL114838A0 (en) | 1995-08-04 | 1996-11-14 | Spiegel Ehud | Apparatus and method for object tracking |
US5870097A (en) | 1995-08-04 | 1999-02-09 | Microsoft Corporation | Method and system for improving shadowing in a graphics rendering system |
US5999189A (en) | 1995-08-04 | 1999-12-07 | Microsoft Corporation | Image compression to reduce pixel and texture memory requirements in a real-time image generator |
US5949428A (en) | 1995-08-04 | 1999-09-07 | Microsoft Corporation | Method and apparatus for resolving pixel data in a graphics rendering system |
US5880737A (en) | 1995-08-04 | 1999-03-09 | Microsoft Corporation | Method and system for accessing texture data in environments with high latency in a graphics rendering system |
US5867166A (en) | 1995-08-04 | 1999-02-02 | Microsoft Corporation | Method and system for generating images using Gsprites |
US5886701A (en) | 1995-08-04 | 1999-03-23 | Microsoft Corporation | Graphics rendering device and method for operating same |
US5801711A (en) | 1995-08-08 | 1998-09-01 | Hewlett Packard Company | Polyline and triangle strip data management techniques for enhancing performance of computer graphics system |
US5819017A (en) | 1995-08-22 | 1998-10-06 | Silicon Graphics, Inc. | Apparatus and method for selectively storing depth information of a 3-D image |
US5767856A (en) | 1995-08-22 | 1998-06-16 | Rendition, Inc. | Pixel engine pipeline for a 3D graphics accelerator |
US5657478A (en) | 1995-08-22 | 1997-08-12 | Rendition, Inc. | Method and apparatus for batchable frame switch and synchronization operations |
US5734386A (en) | 1995-09-08 | 1998-03-31 | Evans & Sutherland Computer Corporation | System and method for displaying textured polygons using planar texture interpolation |
JP2861890B2 (ja) | 1995-09-28 | 1999-02-24 | 日本電気株式会社 | カラー画像表示装置 |
US5796855A (en) | 1995-10-05 | 1998-08-18 | Microsoft Corporation | Polygon block matching method |
US6057851A (en) | 1995-10-06 | 2000-05-02 | International Business Machines Corp. | Computer graphics system having efficient texture mapping with perspective correction |
JP3524247B2 (ja) | 1995-10-09 | 2004-05-10 | 任天堂株式会社 | ゲーム機およびそれを用いたゲーム機システム |
AU734018B2 (en) | 1995-10-09 | 2001-05-31 | Nintendo Co., Ltd. | Three-dimension image processing system |
US6007428A (en) | 1995-10-09 | 1999-12-28 | Nintendo Co., Ltd. | Operation controlling device and video processing system used therewith |
US5835102A (en) | 1995-10-19 | 1998-11-10 | Sparta, Inc. | System for transmission and recovery of digital data using video graphics display processor and method of operation thereof |
US5977979A (en) | 1995-10-31 | 1999-11-02 | International Business Machines Corporation | Simulated three-dimensional display using bit-mapped information |
US5724561A (en) | 1995-11-03 | 1998-03-03 | 3Dfx Interactive, Incorporated | System and method for efficiently determining a fog blend value in processing graphical images |
US5740343A (en) | 1995-11-03 | 1998-04-14 | 3Dfx Interactive, Incorporated | Texture compositing apparatus and method |
US5808630A (en) | 1995-11-03 | 1998-09-15 | Sierra Semiconductor Corporation | Split video architecture for personal computers |
US5760783A (en) | 1995-11-06 | 1998-06-02 | Silicon Graphics, Inc. | Method and system for providing texture using a selected portion of a texture map |
KR100261076B1 (ko) | 1995-11-09 | 2000-07-01 | 윤종용 | 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링방법 및 장치 |
JP3700871B2 (ja) | 1995-11-11 | 2005-09-28 | ソニー株式会社 | 画像変換装置 |
US5940089A (en) | 1995-11-13 | 1999-08-17 | Ati Technologies | Method and apparatus for displaying multiple windows on a display monitor |
US6155926A (en) | 1995-11-22 | 2000-12-05 | Nintendo Co., Ltd. | Video game system and method with enhanced three-dimensional character and background control |
US6022274A (en) | 1995-11-22 | 2000-02-08 | Nintendo Co., Ltd. | Video game system using memory module |
US6331856B1 (en) | 1995-11-22 | 2001-12-18 | Nintendo Co., Ltd. | Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing |
US5883638A (en) | 1995-12-01 | 1999-03-16 | Lucas Digital, Ltd. | Method and apparatus for creating lifelike digital representations of computer animated objects by providing corrective enveloping |
US5917502A (en) | 1995-12-06 | 1999-06-29 | Intergraph Corporation | Peer-to-peer parallel processing graphics accelerator |
US5850229A (en) | 1995-12-15 | 1998-12-15 | Raindrop Geomagic, Inc. | Apparatus and method for geometric morphing |
US6111584A (en) | 1995-12-18 | 2000-08-29 | 3Dlabs Inc. Ltd. | Rendering system with mini-patch retrieval from local texture storage |
US5748199A (en) | 1995-12-20 | 1998-05-05 | Synthonics Incorporated | Method and apparatus for converting a two dimensional motion picture into a three dimensional motion picture |
US5740383A (en) | 1995-12-22 | 1998-04-14 | Cirrus Logic, Inc. | Dynamic arbitration priority |
US5892517A (en) | 1996-01-02 | 1999-04-06 | Integrated Device Technology, Inc. | Shared access texturing of computer graphic images |
US5831625A (en) | 1996-01-02 | 1998-11-03 | Integrated Device Technology, Inc. | Wavelet texturing |
EP0786756B1 (en) | 1996-01-23 | 2009-03-25 | Hewlett-Packard Company, A Delaware Corporation | Data transfer arbitration for display controller |
US5943058A (en) | 1996-01-25 | 1999-08-24 | Silicon Graphics, Inc. | Texture mapping circuit for performing data interpolations |
US5781927A (en) | 1996-01-30 | 1998-07-14 | United Microelectronics Corporation | Main memory arbitration with priority scheduling capability including multiple priorty signal connections |
US5739819A (en) | 1996-02-05 | 1998-04-14 | Scitex Corporation Ltd. | Method and apparatus for generating an artificial shadow in a two dimensional color image |
US5963220A (en) | 1996-02-08 | 1999-10-05 | Industrial Technology Research Institute | Mip map/rip map texture linear addressing memory organization and address generator |
DE19606357A1 (de) | 1996-02-12 | 1997-08-14 | Gmd Gmbh | Bildverarbeitungsverfahren zur Darstellung von spiegelnden Objekten und zugehörige Vorrichtung |
US5777623A (en) | 1996-02-15 | 1998-07-07 | Canon Kabushiki Kaisha | Apparatus and method for performing perspectively correct interpolation in computer graphics in a variable direction along a line of pixels |
US5801720A (en) | 1996-02-20 | 1998-09-01 | National Semiconductor Corporation | Data transfer from a graphics subsystem to system memory |
US5914725A (en) | 1996-03-07 | 1999-06-22 | Powertv, Inc. | Interpolation of pixel values and alpha values in a computer graphics display device |
US5870587A (en) | 1996-03-20 | 1999-02-09 | International Business Machines Corporation | Information-handling system, method, and article of manufacture including a mechanism for providing an improved application binary interface |
US5982390A (en) | 1996-03-25 | 1999-11-09 | Stan Stoneking | Controlling personality manifestations by objects in a computer-assisted animation environment |
US6078311A (en) | 1996-03-26 | 2000-06-20 | Pacific Digital Peripherals, Inc. | Joystick game adapter card for a personal computer |
US5828416A (en) * | 1996-03-29 | 1998-10-27 | Matsushita Electric Corporation Of America | System and method for interfacing a transport decoder to a elementary stream video decorder |
US5809219A (en) | 1996-04-15 | 1998-09-15 | Silicon Graphics, Inc. | Analytic motion blur coverage in the generation of computer graphics imagery |
US5909218A (en) | 1996-04-25 | 1999-06-01 | Matsushita Electric Industrial Co., Ltd. | Transmitter-receiver of three-dimensional skeleton structure motions and method thereof |
US6020931A (en) | 1996-04-25 | 2000-02-01 | George S. Sheng | Video composition and position system and media signal communication system |
US5831624A (en) | 1996-04-30 | 1998-11-03 | 3Dfx Interactive Inc | Level of detail texture filtering with dithering and mipmaps |
US5818456A (en) | 1996-04-30 | 1998-10-06 | Evans & Sutherland Computer Corporation | Computer graphics system with adaptive pixel multisampler |
US5949440A (en) | 1996-04-30 | 1999-09-07 | Hewlett Packard Compnay | Method and apparatus for processing graphics primitives in multiple modes using reconfigurable hardware |
US5886705A (en) | 1996-05-17 | 1999-03-23 | Seiko Epson Corporation | Texture memory organization based on data locality |
US5912676A (en) | 1996-06-14 | 1999-06-15 | Lsi Logic Corporation | MPEG decoder frame memory interface which is reconfigurable for different frame store architectures |
US5966134A (en) | 1996-06-28 | 1999-10-12 | Softimage | Simulating cel animation and shading |
US6115047A (en) | 1996-07-01 | 2000-09-05 | Sun Microsystems, Inc. | Method and apparatus for implementing efficient floating point Z-buffering |
US6046746A (en) | 1996-07-01 | 2000-04-04 | Sun Microsystems, Inc. | Method and apparatus implementing high resolution rendition of Z-buffered primitives |
US5821949A (en) | 1996-07-01 | 1998-10-13 | Sun Microsystems, Inc. | Three-dimensional graphics accelerator with direct data channels for improved performance |
US5874969A (en) | 1996-07-01 | 1999-02-23 | Sun Microsystems, Inc. | Three-dimensional graphics accelerator which implements multiple logical buses using common data lines for improved bus communication |
US5745125A (en) | 1996-07-02 | 1998-04-28 | Sun Microsystems, Inc. | Floating point processor for a three-dimensional graphics accelerator which includes floating point, lighting and set-up cores for improved performance |
US5877771A (en) | 1996-07-12 | 1999-03-02 | Silicon Graphics, Inc. | Method and apparatus for supersampling based on the local rate of change in texture |
US6038348A (en) | 1996-07-24 | 2000-03-14 | Oak Technology, Inc. | Pixel image enhancement system and method |
US5887155A (en) | 1996-07-25 | 1999-03-23 | Microunity Systems Engineering, Inc. | Vertex based geometry engine system for use in integrated circuit design |
US5751291A (en) | 1996-07-26 | 1998-05-12 | Hewlett-Packard Company | System and method for accelerated occlusion culling |
MY119610A (en) | 1996-07-31 | 2005-06-30 | Sony Corp | Apparatus and method for storing and accessing picture generation data |
US5828382A (en) | 1996-08-02 | 1998-10-27 | Cirrus Logic, Inc. | Apparatus for dynamic XY tiled texture caching |
US5923334A (en) | 1996-08-05 | 1999-07-13 | International Business Machines Corporation | Polyhedral environment map utilizing a triangular data structure |
US6154600A (en) * | 1996-08-06 | 2000-11-28 | Applied Magic, Inc. | Media editor for non-linear editing system |
US5933150A (en) | 1996-08-06 | 1999-08-03 | Interval Research Corporation | System for image manipulation and animation using embedded constraint graphics |
IL119082A (en) | 1996-08-16 | 2001-04-30 | Virtue Ltd | A method for creating graphic characters |
US6028611A (en) | 1996-08-29 | 2000-02-22 | Apple Computer, Inc. | Modular digital image processing via an image processing chain |
JP3387750B2 (ja) | 1996-09-02 | 2003-03-17 | 株式会社リコー | シェーディング処理装置 |
DE19637463A1 (de) | 1996-09-13 | 1998-03-26 | Gsf Forschungszentrum Umwelt | Verfahren zur Anzeige von geometrischen Objektoberflächen |
US6104417A (en) | 1996-09-13 | 2000-08-15 | Silicon Graphics, Inc. | Unified memory computer architecture with dynamic graphics memory allocation |
US5987567A (en) | 1996-09-30 | 1999-11-16 | Apple Computer, Inc. | System and method for caching texture map information |
US6115049A (en) | 1996-09-30 | 2000-09-05 | Apple Computer, Inc. | Method and apparatus for high performance antialiasing which minimizes per pixel storage and object data bandwidth |
US5926647A (en) | 1996-10-11 | 1999-07-20 | Divicom Inc. | Processing system with dynamic alteration of a color look-up table |
US6018350A (en) | 1996-10-29 | 2000-01-25 | Real 3D, Inc. | Illumination and shadow simulation in a computer graphics/imaging system |
US5933155A (en) | 1996-11-06 | 1999-08-03 | Silicon Graphics, Inc. | System and method for buffering multiple frames while controlling latency |
US5926182A (en) | 1996-11-19 | 1999-07-20 | International Business Machines Corporation | Efficient rendering utilizing user defined shields and windows |
DE69718291T2 (de) | 1996-11-21 | 2003-11-13 | Koninkl Philips Electronics Nv | Verfahren und gerät zur erzeugung eines computergrafikbildes |
US5861888A (en) | 1996-11-27 | 1999-01-19 | Vlsi Technology Inc | Method and a system for the nonlinear storage of a texture map within a linear memory device |
JP3885262B2 (ja) | 1996-12-17 | 2007-02-21 | 株式会社セガ | テクスチャマップ上の複数画素を混合する方法及び、これを用いた複数画素混合回路と画像処理装置 |
KR100225072B1 (ko) | 1996-12-18 | 1999-10-15 | 윤종용 | 포멧 콘버터 |
US5912675A (en) | 1996-12-19 | 1999-06-15 | Avid Technology, Inc. | System and method using bounding volumes for assigning vertices of envelopes to skeleton elements in an animation system |
US6111582A (en) | 1996-12-20 | 2000-08-29 | Jenkins; Barry L. | System and method of image generation and encoding using primitive reprojection |
US6057847A (en) | 1996-12-20 | 2000-05-02 | Jenkins; Barry | System and method of image generation and encoding using primitive reprojection |
US5831640A (en) | 1996-12-20 | 1998-11-03 | Cirrus Logic, Inc. | Enhanced texture map data fetching circuit and method |
US5933529A (en) | 1996-12-24 | 1999-08-03 | Daewoo Electronics Co., Ltd. | Method of tracing a contour of an object based on background information of the object |
JP3738924B2 (ja) | 1996-12-24 | 2006-01-25 | ソニー株式会社 | 描画装置および方法 |
US6052127A (en) | 1996-12-30 | 2000-04-18 | Cirrus Logic, Inc. | Circuit for determining non-homogenous second order perspective texture mapping coordinates using linear interpolation |
US5986663A (en) | 1997-10-10 | 1999-11-16 | Cirrus Logic, Inc. | Auto level of detail-based MIP mapping in a graphics processor |
US5844576A (en) | 1996-12-30 | 1998-12-01 | Cirrus Logic, Inc. | Tiled linear host texture storage |
US5852451A (en) | 1997-01-09 | 1998-12-22 | S3 Incorporation | Pixel reordering for improved texture mapping |
US5940086A (en) | 1997-01-10 | 1999-08-17 | Hewlett Packard Company | System and method for dynamically allocating data among geometry accelerators in a computer graphics system |
US6097435A (en) | 1997-01-31 | 2000-08-01 | Hughes Electronics Corporation | Video system with selectable bit rate reduction |
US5990903A (en) | 1997-02-03 | 1999-11-23 | Micron Technologies, Inc. | Method and apparatus for performing chroma key, transparency and fog operations |
DE19708679A1 (de) | 1997-02-21 | 1998-08-27 | Gmd Gmbh | Bilddarstellungsverfahren und Vorrichtung zur Durchführung des Verfahrens |
US5870098A (en) | 1997-02-26 | 1999-02-09 | Evans & Sutherland Computer Corporation | Method for rendering shadows on a graphical display |
US5880736A (en) | 1997-02-28 | 1999-03-09 | Silicon Graphics, Inc. | Method system and computer program product for shading |
US6061462A (en) | 1997-03-07 | 2000-05-09 | Phoenix Licensing, Inc. | Digital cartoon and animation process |
US6037948A (en) | 1997-03-07 | 2000-03-14 | Silicon Graphics, Inc. | Method, system, and computer program product for updating texture with overscan |
US6043804A (en) | 1997-03-21 | 2000-03-28 | Alliance Semiconductor Corp. | Color pixel format conversion incorporating color look-up table and post look-up arithmetic operation |
US6088042A (en) | 1997-03-31 | 2000-07-11 | Katrix, Inc. | Interactive motion data animation system |
US5949421A (en) | 1997-03-31 | 1999-09-07 | Cirrus Logic, Inc. | Method and system for efficient register sorting for three dimensional graphics |
US6057859A (en) | 1997-03-31 | 2000-05-02 | Katrix, Inc. | Limb coordination system for interactive computer animation of articulated characters with blended motion data |
JP2845857B2 (ja) | 1997-04-01 | 1999-01-13 | コナミ株式会社 | 画像の半透明表示装置,半透明表示方法,及びコンピュータプログラムを記録した機械読取り可能な記録媒体 |
WO1998045815A1 (en) | 1997-04-04 | 1998-10-15 | Intergraph Corporation | Apparatus and method for applying effects to graphical images |
US5920876A (en) | 1997-04-23 | 1999-07-06 | Sun Microsystems, Inc. | Performing exact garbage collection using bitmaps that identify pointer values within objects |
JP3294149B2 (ja) | 1997-04-23 | 2002-06-24 | シャープ株式会社 | 立体テクスチャマッピング処理装置及びそれを用いた3次元画像生成装置 |
US6005583A (en) | 1997-04-30 | 1999-12-21 | Hewlett-Packard Company | Precise gradient calculation system and method for a texture mapping system of a computer graphics system |
US5956042A (en) | 1997-04-30 | 1999-09-21 | Hewlett-Packard Co. | Graphics accelerator with improved lighting processor |
US6057852A (en) | 1997-04-30 | 2000-05-02 | Hewlett-Packard Company | Graphics accelerator with constant color identifier |
US6028608A (en) | 1997-05-09 | 2000-02-22 | Jenkins; Barry | System and method of perception-based image generation and encoding |
US5999198A (en) | 1997-05-09 | 1999-12-07 | Compaq Computer Corporation | Graphics address remapping table entry feature flags for customizing the operation of memory pages associated with an accelerated graphics port device |
US5861893A (en) | 1997-05-27 | 1999-01-19 | Intel Corporation | System and method for graphics data concurrency and coherency |
US5969726A (en) | 1997-05-30 | 1999-10-19 | Hewlett-Packard Co. | Caching and coherency control of multiple geometry accelerators in a computer graphics system |
US5920326A (en) | 1997-05-30 | 1999-07-06 | Hewlett Packard Company | Caching and coherency control of multiple geometry accelerators in a computer graphics system |
US6437781B1 (en) | 1997-05-30 | 2002-08-20 | Hewlett-Packard Company | Computer graphics system having per pixel fog blending |
US5909225A (en) | 1997-05-30 | 1999-06-01 | Hewlett-Packard Co. | Frame buffer cache for graphics applications |
CA2239279C (en) | 1997-06-02 | 2002-04-23 | Nippon Telegraph And Telephone Corporation | Image generating apparatus and method |
US5870109A (en) | 1997-06-06 | 1999-02-09 | Digital Equipment Corporation | Graphic system with read/write overlap detector |
US6092158A (en) * | 1997-06-13 | 2000-07-18 | Intel Corporation | Method and apparatus for arbitrating between command streams |
US5945997A (en) | 1997-06-26 | 1999-08-31 | S3 Incorporated | Block- and band-oriented traversal in three-dimensional triangle rendering |
US6052133A (en) | 1997-06-27 | 2000-04-18 | S3 Incorporated | Multi-function controller and method for a computer graphics display system |
US5936641A (en) | 1997-06-27 | 1999-08-10 | Object Technology Licensing Corp | Graphics hardware acceleration method, computer program, and system |
US6043821A (en) | 1997-06-30 | 2000-03-28 | Ati Technologies, Inc. | Method and apparatus for rendering pixel information from blended texture maps |
US6118462A (en) | 1997-07-01 | 2000-09-12 | Memtrax Llc | Computer system controller having internal memory and external memory control |
US6057862A (en) | 1997-07-01 | 2000-05-02 | Memtrax Llc | Computer system having a common display memory and main memory |
US6038031A (en) | 1997-07-28 | 2000-03-14 | 3Dlabs, Ltd | 3D graphics object copying with reduced edge artifacts |
US6011562A (en) | 1997-08-01 | 2000-01-04 | Avid Technology Inc. | Method and system employing an NLE to create and modify 3D animations by mixing and compositing animation data |
US6037949A (en) | 1997-08-04 | 2000-03-14 | Pixar Animation Studios | Texture mapping and other uses of scalar fields on subdivision surfaces in computer graphics and animation |
US6046747A (en) | 1997-08-04 | 2000-04-04 | Hewlett-Packard Company | Graphics application programming interface avoiding repetitive transfer of texture mapping data |
US6002410A (en) | 1997-08-25 | 1999-12-14 | Chromatic Research, Inc. | Reconfigurable texture cache |
US5903283A (en) | 1997-08-27 | 1999-05-11 | Chips & Technologies, Inc. | Video memory controller with dynamic bus arbitration |
US6006303A (en) * | 1997-08-28 | 1999-12-21 | Oki Electric Industry Co., Inc. | Priority encoding and decoding for memory architecture |
US6016151A (en) | 1997-09-12 | 2000-01-18 | Neomagic Corp. | 3D triangle rendering by texture hardware and color software using simultaneous triangle-walking and interpolation for parallel operation |
US6054993A (en) | 1997-09-17 | 2000-04-25 | Cirrus Logic, Inc. | Chroma-keyed specular texture mapping in a graphics processor |
US5956043A (en) | 1997-09-18 | 1999-09-21 | Novell, Inc. | Textured tile rotation system and method |
US5936683A (en) | 1997-09-29 | 1999-08-10 | Neo Magic Corp. | YUV-to-RGB conversion without multiplies using look-up tables and pre-clipping |
US5986677A (en) | 1997-09-30 | 1999-11-16 | Compaq Computer Corporation | Accelerated graphics port read transaction merging |
US5949423A (en) | 1997-09-30 | 1999-09-07 | Hewlett Packard Company | Z buffer with degree of visibility test |
US6052129A (en) | 1997-10-01 | 2000-04-18 | International Business Machines Corporation | Method and apparatus for deferred clipping of polygons |
US5995121A (en) | 1997-10-16 | 1999-11-30 | Hewlett-Packard Company | Multiple graphics pipeline integration with a windowing system through the use of a high speed interconnect to the frame buffer |
US6199533B1 (en) | 1999-02-01 | 2001-03-13 | Cummins Engine Company, Inc. | Pilot valve controlled three-way fuel injection control valve assembly |
JP4068219B2 (ja) | 1997-10-21 | 2008-03-26 | 株式会社半導体エネルギー研究所 | 半導体装置の作製方法 |
US6035360A (en) | 1997-10-29 | 2000-03-07 | International Business Machines Corporation | Multi-port SRAM access control using time division multiplexed arbitration |
US5958020A (en) | 1997-10-29 | 1999-09-28 | Vlsi Technology, Inc. | Real time event determination in a universal serial bus system |
US6021417A (en) | 1997-10-31 | 2000-02-01 | Foto Fantasy, Inc. | Method of stimulating the creation of an artist's drawing or painting, and device for accomplishing same |
US6057863A (en) | 1997-10-31 | 2000-05-02 | Compaq Computer Corporation | Dual purpose apparatus, method and system for accelerated graphics port and fibre channel arbitrated loop interfaces |
US6151602A (en) | 1997-11-07 | 2000-11-21 | Inprise Corporation | Database system with methods providing a platform-independent self-describing data packet for transmitting information |
US6075546A (en) | 1997-11-10 | 2000-06-13 | Silicon Grahphics, Inc. | Packetized command interface to graphics processor |
US6088701A (en) | 1997-11-14 | 2000-07-11 | 3Dfx Interactive, Incorporated | Command data transport to a graphics processing device from a CPU performing write reordering operations |
JPH11167557A (ja) * | 1997-12-02 | 1999-06-22 | Hitachi Ltd | 共有メモリアクセス順序保証方法及びマルチプロセッサシステム |
US6002407A (en) | 1997-12-16 | 1999-12-14 | Oak Technology, Inc. | Cache memory and method for use in generating computer graphics texture |
US6091431A (en) | 1997-12-18 | 2000-07-18 | Intel Corporation | Method and apparatus for improving processor to graphics device local memory performance |
US6070204A (en) | 1998-01-06 | 2000-05-30 | Intel Corporation | Method and apparatus for using universal serial bus keyboard to control DOS operations |
US6052125A (en) | 1998-01-07 | 2000-04-18 | Evans & Sutherland Computer Corporation | Method for reducing the rendering load for high depth complexity scenes on a computer graphics display |
US6226713B1 (en) | 1998-01-21 | 2001-05-01 | Sun Microsystems, Inc. | Apparatus and method for queueing structures in a multi-level non-blocking cache subsystem |
US6105094A (en) | 1998-01-26 | 2000-08-15 | Adaptec, Inc. | Method and apparatus for allocating exclusive shared resource requests in a computer system |
US6014144A (en) | 1998-02-03 | 2000-01-11 | Sun Microsystems, Inc. | Rapid computation of local eye vectors in a fixed point lighting unit |
US6108743A (en) | 1998-02-10 | 2000-08-22 | Intel Corporation | Technique for performing DMA including arbitration between a chained low priority DMA and high priority DMA occurring between two links in the chained low priority |
US6496187B1 (en) | 1998-02-17 | 2002-12-17 | Sun Microsystems, Inc. | Graphics system configured to perform parallel sample to pixel calculation |
US6078338A (en) | 1998-03-11 | 2000-06-20 | Compaq Computer Corporation | Accelerated graphics port programmable memory access arbiter |
US6064392A (en) | 1998-03-16 | 2000-05-16 | Oak Technology, Inc. | Method and apparatus for generating non-homogenous fog |
US6232981B1 (en) | 1998-03-26 | 2001-05-15 | Silicon Graphics, Inc. | Method for improving texture locality for pixel quads by diagonal level-of-detail calculation |
US6104415A (en) | 1998-03-26 | 2000-08-15 | Silicon Graphics, Inc. | Method for accelerating minified textured cache access |
US6023738A (en) | 1998-03-30 | 2000-02-08 | Nvidia Corporation | Method and apparatus for accelerating the transfer of graphical images |
US6049338A (en) | 1998-04-01 | 2000-04-11 | Hewlett-Packard Company | Spatial filter for surface texture navigation |
US6226012B1 (en) | 1998-04-02 | 2001-05-01 | Nvidia Corporation | Method and apparatus for accelerating the rendering of graphical images |
US6144387A (en) | 1998-04-03 | 2000-11-07 | Liu; Mei-Chi | Guard region and hither plane vertex modification for graphics rendering |
US6191794B1 (en) | 1998-04-08 | 2001-02-20 | Nvidia Corporation | Method and apparatus for scaling texture maps for graphical images |
US6011565A (en) | 1998-04-09 | 2000-01-04 | S3 Incorporated | Non-stalled requesting texture cache |
US6144365A (en) | 1998-04-15 | 2000-11-07 | S3 Incorporated | System and method for performing blending using an over sampling buffer |
US6092124A (en) | 1998-04-17 | 2000-07-18 | Nvidia Corporation | Method and apparatus for accelerating the rendering of images |
US6128026A (en) | 1998-05-04 | 2000-10-03 | S3 Incorporated | Double buffered graphics and video accelerator having a write blocking memory interface and method of doing the same |
US6252610B1 (en) | 1998-05-29 | 2001-06-26 | Silicon Graphics, Inc. | Method and apparatus for efficiently switching state in a graphics pipeline |
US6492991B1 (en) | 1998-08-28 | 2002-12-10 | Ati International Srl | Method and apparatus for controlling compressed Z information in a video graphics system |
US6072496A (en) | 1998-06-08 | 2000-06-06 | Microsoft Corporation | Method and system for capturing and representing 3D geometry, color and shading of facial expressions and other animated objects |
US6215496B1 (en) | 1998-07-23 | 2001-04-10 | Microsoft Corporation | Sprites with depth |
US6215497B1 (en) | 1998-08-12 | 2001-04-10 | Monolithic System Technology, Inc. | Method and apparatus for maximizing the random access bandwidth of a multi-bank DRAM in a computer graphics system |
US6236413B1 (en) | 1998-08-14 | 2001-05-22 | Silicon Graphics, Inc. | Method and system for a RISC graphics pipeline optimized for high clock speeds by using recirculation |
US6268861B1 (en) | 1998-08-25 | 2001-07-31 | Silicon Graphics, Incorporated | Volumetric three-dimensional fog rendering technique |
JP4399910B2 (ja) | 1998-09-10 | 2010-01-20 | 株式会社セガ | ブレンディング処理を含む画像処理装置及びその方法 |
US6177944B1 (en) | 1998-09-18 | 2001-01-23 | International Business Machines Corporation | Two phase rendering for computer graphics |
US6202101B1 (en) * | 1998-09-30 | 2001-03-13 | Compaq Computer Corporation | System and method for concurrently requesting input/output and memory address space while maintaining order of data sent and returned therefrom |
JP2000132704A (ja) | 1998-10-26 | 2000-05-12 | Sony Corp | 画像情報処理装置及び方法 |
JP3668019B2 (ja) | 1998-10-27 | 2005-07-06 | 株式会社ソニー・コンピュータエンタテインメント | 記録媒体、画像処理装置および画像処理方法 |
JP2000156875A (ja) | 1998-11-19 | 2000-06-06 | Sony Corp | 映像制作装置および映像表示システムおよびグラフィックス制作方法 |
US6329997B1 (en) | 1998-12-04 | 2001-12-11 | Silicon Motion, Inc. | 3-D graphics chip with embedded DRAM buffers |
US6295586B1 (en) * | 1998-12-04 | 2001-09-25 | Advanced Micro Devices, Inc. | Queue based memory controller |
JP2000181780A (ja) * | 1998-12-16 | 2000-06-30 | Hitachi Ltd | ストアバッファ装置 |
JP4240343B2 (ja) | 1998-12-19 | 2009-03-18 | 株式会社セガ | 画像生成装置および画像生成方法 |
US6275235B1 (en) | 1998-12-21 | 2001-08-14 | Silicon Graphics, Inc. | High precision texture wrapping method and device |
US6417858B1 (en) | 1998-12-23 | 2002-07-09 | Microsoft Corporation | Processor for geometry transformations and lighting calculations |
JP2000194683A (ja) * | 1998-12-28 | 2000-07-14 | Nec Kofu Ltd | 共有メモリの調停回路およびその調停方法 |
JP4395902B2 (ja) | 1999-01-19 | 2010-01-13 | 株式会社セガ | 画像処理方法及び、これを利用した画像処理装置 |
JP2000215325A (ja) | 1999-01-21 | 2000-08-04 | Sega Enterp Ltd | 画像処理方法および画像処理装置並びにプログラムを記録した記録媒体 |
US6353438B1 (en) | 1999-02-03 | 2002-03-05 | Artx | Cache organization—direct mapped cache |
US6181352B1 (en) | 1999-03-22 | 2001-01-30 | Nvidia Corporation | Graphics pipeline selectively providing multiple pixels or multiple textures |
US6466223B1 (en) | 1999-03-24 | 2002-10-15 | Microsoft Corporation | Method and apparatus for texture memory management |
US6173367B1 (en) | 1999-05-19 | 2001-01-09 | Ati Technologies, Inc. | Method and apparatus for accessing graphics cache memory |
US6426747B1 (en) | 1999-06-04 | 2002-07-30 | Microsoft Corporation | Optimization of mesh locality for transparent vertex caching |
US6459429B1 (en) | 1999-06-14 | 2002-10-01 | Sun Microsystems, Inc. | Segmenting compressed graphics data for parallel decompression and rendering |
US6501479B1 (en) | 1999-06-21 | 2002-12-31 | Ati International Srl | Multi-format vertex data processing apparatus and method |
US6408362B1 (en) | 1999-06-24 | 2002-06-18 | International Business Machines Corporation | Data processing system, cache, and method that select a castout victim in response to the latencies of memory copies of cached data |
US6807311B1 (en) | 1999-07-08 | 2004-10-19 | Ati International Srl | Method and apparatus for compressing and storing image data |
US6339428B1 (en) | 1999-07-16 | 2002-01-15 | Ati International Srl | Method and apparatus for compressed texture caching in a video graphics system |
US6285779B1 (en) | 1999-08-02 | 2001-09-04 | Trident Microsystems | Floating-point complementary depth buffer |
US6476822B1 (en) | 1999-08-30 | 2002-11-05 | Ati International Srl | Method and apparatus for displaying images |
US6330647B1 (en) * | 1999-08-31 | 2001-12-11 | Micron Technology, Inc. | Memory bandwidth allocation based on access count priority scheme |
US6476811B1 (en) | 1999-09-01 | 2002-11-05 | Ati International, Srl | Method and apparatus for compressing parameter values for pixels in a display frame |
US6476808B1 (en) | 1999-10-14 | 2002-11-05 | S3 Graphics Co., Ltd. | Token-based buffer system and method for a geometry pipeline in three-dimensional graphics |
US6452600B1 (en) | 1999-10-28 | 2002-09-17 | Nintendo Co., Ltd. | Graphics system interface |
US6717577B1 (en) | 1999-10-28 | 2004-04-06 | Nintendo Co., Ltd. | Vertex cache for 3D computer graphics |
US6618048B1 (en) | 1999-10-28 | 2003-09-09 | Nintendo Co., Ltd. | 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components |
US6198488B1 (en) | 1999-12-06 | 2001-03-06 | Nvidia | Transform, lighting and rasterization system embodied on a single semiconductor platform |
US6469707B1 (en) | 2000-01-19 | 2002-10-22 | Nvidia Corporation | Method for efficiently rendering color information for a pixel in a computer system |
US7119813B1 (en) | 2000-06-02 | 2006-10-10 | Nintendo Co., Ltd. | Variable bit field encoding |
US6937245B1 (en) | 2000-08-23 | 2005-08-30 | Nintendo Co., Ltd. | Graphics system with embedded frame buffer having reconfigurable pixel formats |
US6980218B1 (en) | 2000-08-23 | 2005-12-27 | Nintendo Co., Ltd. | Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system |
US7061502B1 (en) | 2000-08-23 | 2006-06-13 | Nintendo Co., Ltd. | Method and apparatus for providing logical combination of N alpha operations within a graphics system |
US6811489B1 (en) | 2000-08-23 | 2004-11-02 | Nintendo Co., Ltd. | Controller interface for a graphics system |
US6707458B1 (en) | 2000-08-23 | 2004-03-16 | Nintendo Co., Ltd. | Method and apparatus for texture tiling in a graphics system |
US6639595B1 (en) | 2000-08-23 | 2003-10-28 | Nintendo Co., Ltd. | Achromatic lighting in a graphics system and method |
US6700586B1 (en) | 2000-08-23 | 2004-03-02 | Nintendo Co., Ltd. | Low cost graphics with stitching processing hardware support for skeletal animation |
US6999100B1 (en) | 2000-08-23 | 2006-02-14 | Nintendo Co., Ltd. | Method and apparatus for anti-aliasing in a graphics system |
US7002591B1 (en) | 2000-08-23 | 2006-02-21 | Nintendo Co., Ltd. | Method and apparatus for interleaved processing of direct and indirect texture coordinates in a graphics system |
US7196710B1 (en) | 2000-08-23 | 2007-03-27 | Nintendo Co., Ltd. | Method and apparatus for buffering graphics data in a graphics system |
US6664962B1 (en) | 2000-08-23 | 2003-12-16 | Nintendo Co., Ltd. | Shadow mapping in a low cost graphics system |
US6580430B1 (en) | 2000-08-23 | 2003-06-17 | Nintendo Co., Ltd. | Method and apparatus for providing improved fog effects in a graphics system |
US6606689B1 (en) | 2000-08-23 | 2003-08-12 | Nintendo Co., Ltd. | Method and apparatus for pre-caching data in audio memory |
US6825851B1 (en) | 2000-08-23 | 2004-11-30 | Nintendo Co., Ltd. | Method and apparatus for environment-mapped bump-mapping in a graphics system |
US7034828B1 (en) | 2000-08-23 | 2006-04-25 | Nintendo Co., Ltd. | Recirculating shade tree blender for a graphics system |
US6609977B1 (en) | 2000-08-23 | 2003-08-26 | Nintendo Co., Ltd. | External interfaces for a 3D graphics system |
US6636214B1 (en) | 2000-08-23 | 2003-10-21 | Nintendo Co., Ltd. | Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode |
US6867781B1 (en) | 2000-08-23 | 2005-03-15 | Nintendo Co., Ltd. | Graphics pipeline token synchronization |
US6664958B1 (en) | 2000-08-23 | 2003-12-16 | Nintendo Co., Ltd. | Z-texturing |
US7184059B1 (en) | 2000-08-23 | 2007-02-27 | Nintendo Co., Ltd. | Graphics system with copy out conversions between embedded frame buffer and main memory |
US6564304B1 (en) * | 2000-09-01 | 2003-05-13 | Ati Technologies Inc. | Memory processing system and method for accessing memory including reordering memory requests to reduce mode switching |
-
2000
- 2000-11-28 US US09/726,220 patent/US7538772B1/en not_active Expired - Lifetime
-
2001
- 2001-04-27 JP JP2001133526A patent/JP4925385B2/ja not_active Expired - Fee Related
-
2009
- 2009-05-22 US US12/470,712 patent/US8098255B2/en not_active Expired - Fee Related
-
2011
- 2011-12-21 JP JP2011280536A patent/JP5149985B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20090225094A1 (en) | 2009-09-10 |
JP5149985B2 (ja) | 2013-02-20 |
JP2012089158A (ja) | 2012-05-10 |
US8098255B2 (en) | 2012-01-17 |
JP2002189629A (ja) | 2002-07-05 |
US7538772B1 (en) | 2009-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4925385B2 (ja) | 機能拡張型メモリコントローラを備えるグラフィックス処理システム | |
JP4757406B2 (ja) | グラフィクスシステム | |
US7333114B2 (en) | System and method for parallel execution of data generation tasks | |
US7548996B2 (en) | Data streamer | |
US6347344B1 (en) | Integrated multimedia system with local processor, data transfer switch, processing modules, fixed functional unit, data streamer, interface unit and multiplexer, all integrated on multimedia processor | |
JP4808858B2 (ja) | グラフィクスパイプラインおよびそれの同期化方法 | |
JP3786913B2 (ja) | 3次元グラフィックプロセッサ | |
US6560674B1 (en) | Data cache system | |
JP2002169596A (ja) | オーディオ信号をプリフェッチするための方法および装置 | |
CA2355794C (en) | Method and apparatus for pre-caching data in audio memory | |
US7369665B1 (en) | Method and apparatus for mixing sound signals | |
JP5020443B2 (ja) | 共有リソースへのアクセス方法及び装置 | |
JP4658397B2 (ja) | オーディオメモリ内のデータを予めキャッシュする方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080424 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110426 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110622 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110711 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20110902 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110906 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110926 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111221 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20120112 |
|
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: 20120203 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120206 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150217 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4925385 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |