JPH087792B2 - グラフィックス・システムにおける拡張可能な複数のイメージ・バッファ - Google Patents
グラフィックス・システムにおける拡張可能な複数のイメージ・バッファInfo
- Publication number
- JPH087792B2 JPH087792B2 JP4323014A JP32301492A JPH087792B2 JP H087792 B2 JPH087792 B2 JP H087792B2 JP 4323014 A JP4323014 A JP 4323014A JP 32301492 A JP32301492 A JP 32301492A JP H087792 B2 JPH087792 B2 JP H087792B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- buffer
- module
- memory
- bus
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Input (AREA)
- Image Generation (AREA)
- Hydrogenated Pyridines (AREA)
- Digital Computer Display Output (AREA)
Description
【0001】
【産業上の利用分野】本発明は一般にグラフィックス表
示装置及びその方法に関し、特に、高性能グラフィック
ス・システムのイメージ・バッファに関する。
示装置及びその方法に関し、特に、高性能グラフィック
ス・システムのイメージ・バッファに関する。
【0002】
【従来の技術】高性能グラフィックス・システムは表面
データを記憶するメモリを使用する。これらのバッファ
の内容は、例えば色などのオブジェクト面の特定の特
徴、或いはz軸(深度方向)に沿う観察者からの距離を
含む。データは各画素に対して記憶され、隠れ面消去或
いはエイリアス除去などの問題を解決する画素指向のア
ルゴリズムを支持する。これらのアルゴリズムは、メモ
リ・ロケーションに記憶される値を別の値と比較するな
どの比較的単純なオペレーションを実行するハードウェ
ア機能により支持される。
データを記憶するメモリを使用する。これらのバッファ
の内容は、例えば色などのオブジェクト面の特定の特
徴、或いはz軸(深度方向)に沿う観察者からの距離を
含む。データは各画素に対して記憶され、隠れ面消去或
いはエイリアス除去などの問題を解決する画素指向のア
ルゴリズムを支持する。これらのアルゴリズムは、メモ
リ・ロケーションに記憶される値を別の値と比較するな
どの比較的単純なオペレーションを実行するハードウェ
ア機能により支持される。
【0003】従来、これらのバッファの構成はかなり制
約され、特定の事前に定義された使用だけが許可され
た。この制約は主にハードウェア機能に依存する。これ
らの制約は処理能力のより高いバッファの装備、及び、
より広い帯域幅を有する容易にアクセス可能なデータ・
パスの提供を阻止する。例えば、通常、2個の値を2個
の異なるバッファ・ロケーションに対して同時に比較す
ることは可能ではない。従来のバッファ・アーキテクチ
ャのこうした制限は、一般に、バッファに対するより高
能力で複雑なオペレーション及びテストを要求する高度
なグラフィックス・アルゴリズムには対応できない。
約され、特定の事前に定義された使用だけが許可され
た。この制約は主にハードウェア機能に依存する。これ
らの制約は処理能力のより高いバッファの装備、及び、
より広い帯域幅を有する容易にアクセス可能なデータ・
パスの提供を阻止する。例えば、通常、2個の値を2個
の異なるバッファ・ロケーションに対して同時に比較す
ることは可能ではない。従来のバッファ・アーキテクチ
ャのこうした制限は、一般に、バッファに対するより高
能力で複雑なオペレーション及びテストを要求する高度
なグラフィックス・アルゴリズムには対応できない。
【0004】更に詳細には、コンピュータ・グラフィッ
クスは、多くの自然科学、技術、及び医療訓練のツール
として不可欠であることはよく認識されている。CAD
プログラムを使用する技術者などのユーザの効率は、グ
ラフィックス表示が対話式にユーザ入力及びコマンドに
応答すると、非常に改善される。しかしながら、対話式
性能を提供するのに十分に単純なアルゴリズムは、グラ
フィックス・ワークステーションのメインCPUを使用
して実行する場合には、限られた数しか存在しない。従
って、ほとんどのアルゴリズム及びアプリケーション
は、要求される実時間性能を維持するために必要なスル
ープット及び応答時間を達成するために、ハードウェア
の支援を必要とする。
クスは、多くの自然科学、技術、及び医療訓練のツール
として不可欠であることはよく認識されている。CAD
プログラムを使用する技術者などのユーザの効率は、グ
ラフィックス表示が対話式にユーザ入力及びコマンドに
応答すると、非常に改善される。しかしながら、対話式
性能を提供するのに十分に単純なアルゴリズムは、グラ
フィックス・ワークステーションのメインCPUを使用
して実行する場合には、限られた数しか存在しない。従
って、ほとんどのアルゴリズム及びアプリケーション
は、要求される実時間性能を維持するために必要なスル
ープット及び応答時間を達成するために、ハードウェア
の支援を必要とする。
【0005】この目的のために、コンピュータ・グラフ
ィックス・ワークステーションは、特定のアルゴリズム
及びアプリケーションを支持する様々なハードウェア機
能を提供する。これらの機能には、4x4のマトリクス
・オペレーションなどの典型的な幾何計算の高速実行を
専門に扱う特殊な処理ステージが含まれる。多くのアル
ゴリズムは特定のデータ・タイプを記憶するための専用
の大容量バッファ・メモリを装備し、これらのバッファ
に特殊なオペレーションを提供することによっても支持
される。
ィックス・ワークステーションは、特定のアルゴリズム
及びアプリケーションを支持する様々なハードウェア機
能を提供する。これらの機能には、4x4のマトリクス
・オペレーションなどの典型的な幾何計算の高速実行を
専門に扱う特殊な処理ステージが含まれる。多くのアル
ゴリズムは特定のデータ・タイプを記憶するための専用
の大容量バッファ・メモリを装備し、これらのバッファ
に特殊なオペレーションを提供することによっても支持
される。
【0006】これらのオペレーションは支持されるアル
ゴリズムの中核機能を実行する。専用のグラフィックス
・バッファにより支持される機能の例として、隠れ面消
去、エイリアス除去、ウィンドウ表示、及びテクスチャ
・マッピングが挙げられる。
ゴリズムの中核機能を実行する。専用のグラフィックス
・バッファにより支持される機能の例として、隠れ面消
去、エイリアス除去、ウィンドウ表示、及びテクスチャ
・マッピングが挙げられる。
【0007】グラフィックス表示装置上の各画素に対応
する記憶領域を提供するメモリ或いはグラフィックス・
バッファは、あらゆるラスタ・グラフィックス・システ
ムの一部を形成する。従来、こうしたバッファはグラフ
ィックス画面上に表示される情報を記憶し、従って、フ
レーム・バッファ或いは表示メモリとして知られてい
る。
する記憶領域を提供するメモリ或いはグラフィックス・
バッファは、あらゆるラスタ・グラフィックス・システ
ムの一部を形成する。従来、こうしたバッファはグラフ
ィックス画面上に表示される情報を記憶し、従って、フ
レーム・バッファ或いは表示メモリとして知られてい
る。
【0008】更に高度なワークステーションでは追加の
画素メモリが装備され、これについては、例えばKurt A
keleyによる"The Silicon Graphics 4D/240GTXSuperwor
kstation"、IEEE Computer Graphics & Applications、
vol.9、no.4pp.71-83、July 1989、及びBruce S.Bor
denによる"Graphics Processing ona Graphics Superco
mputer"、Computer Graphics & Application、vol.4、
no.9、pp.56-62、July 1989 で述べられている。この
追加の画素メモリは特定の予め定義された機能を支持す
る。次に、画素バッファにより支持される普及している
機能及び方式について説明する。
画素メモリが装備され、これについては、例えばKurt A
keleyによる"The Silicon Graphics 4D/240GTXSuperwor
kstation"、IEEE Computer Graphics & Applications、
vol.9、no.4pp.71-83、July 1989、及びBruce S.Bor
denによる"Graphics Processing ona Graphics Superco
mputer"、Computer Graphics & Application、vol.4、
no.9、pp.56-62、July 1989 で述べられている。この
追加の画素メモリは特定の予め定義された機能を支持す
る。次に、画素バッファにより支持される普及している
機能及び方式について説明する。
【0009】隠れ面消去 画素バッファはEdwin Catmullによる1974年の博士
論文"A SubdivisionAlgorithm for Computer Display o
f Curved Surfaces"(ユタ大学コンピュータ・サイエン
ス学科、ユタ州ソルト・レーク・シティ、レポート UTE
C-CSc-74-133として発表されている)におけるz−バッ
ファ(深度バッファ)・アルゴリズムを支持する。各画
素に対し、観察者に最も近い表面の深度を示す深度値が
記憶される。画素の深度値及び色値は、新たな深度値
が、記憶される深度値よりも小さい場合に限り置換され
る。これはすなわち、関連する画素が以前の画素より前
方に位置することを示す。
論文"A SubdivisionAlgorithm for Computer Display o
f Curved Surfaces"(ユタ大学コンピュータ・サイエン
ス学科、ユタ州ソルト・レーク・シティ、レポート UTE
C-CSc-74-133として発表されている)におけるz−バッ
ファ(深度バッファ)・アルゴリズムを支持する。各画
素に対し、観察者に最も近い表面の深度を示す深度値が
記憶される。画素の深度値及び色値は、新たな深度値
が、記憶される深度値よりも小さい場合に限り置換され
る。これはすなわち、関連する画素が以前の画素より前
方に位置することを示す。
【0010】エイリアス除去 レッド−グリーン−ブルー(RGB)の色値、適用範
囲、或いは透過係数(アルファ)が画素メモリに記憶さ
れる。新たな色が画素メモリに書込まれると、これは記
憶されているアルファと新たなアルファの値を基本とし
て、以前の色と結合される。この方法はアルファ・ブレ
ンディング或いはコンポジッティングとして知られ、To
m Duffによる"Compositing 3-D Rendered Images"、ACM
ComputerGraphics(Proc.Sggraph)、vol.19、no.
3、pp.41-44、July 1985 で説明されている。
囲、或いは透過係数(アルファ)が画素メモリに記憶さ
れる。新たな色が画素メモリに書込まれると、これは記
憶されているアルファと新たなアルファの値を基本とし
て、以前の色と結合される。この方法はアルファ・ブレ
ンディング或いはコンポジッティングとして知られ、To
m Duffによる"Compositing 3-D Rendered Images"、ACM
ComputerGraphics(Proc.Sggraph)、vol.19、no.
3、pp.41-44、July 1985 で説明されている。
【0011】テクスチャ・マッピング テクスチャと称されるポイントによりサンプルされるイ
メージ或いはパターンが、追加の画素メモリに記憶され
る。メモリ内の値は表示されるオブジェクトの特定のパ
ラメータを変更するために使用され、最も単純なケース
ではこれは色を示す。
メージ或いはパターンが、追加の画素メモリに記憶され
る。メモリ内の値は表示されるオブジェクトの特定のパ
ラメータを変更するために使用され、最も単純なケース
ではこれは色を示す。
【0012】拡張画素メモリを有利に使用する別の方法
では、余分の制御ビット・プレーンを提供する。すなわ
ち、各画素に対応して個々のビットを提供し、これらの
ビットが組み合わされて或いは別々に、アクセス及び操
作される。これらのビットは典型的には、別の画素バッ
ファ・メモリへの書込みを制御する情報を格納する。制
御ビット・プレーンの応用例としては、画面のマスク生
成、画素フラグの記憶、及び画素カウンタの実現などが
ある。
では、余分の制御ビット・プレーンを提供する。すなわ
ち、各画素に対応して個々のビットを提供し、これらの
ビットが組み合わされて或いは別々に、アクセス及び操
作される。これらのビットは典型的には、別の画素バッ
ファ・メモリへの書込みを制御する情報を格納する。制
御ビット・プレーンの応用例としては、画面のマスク生
成、画素フラグの記憶、及び画素カウンタの実現などが
ある。
【0013】一般に、グラフィックス・バッファ・アー
キテクチャは2つの要素を含む。これらはグラフィック
ス・メモリ、及び、メモリ上でオペレーションを実行す
る関連するデータ・パスである。例えば、z−バッファ
・アルゴリズムでは、深度メモリに記憶される深度値
は、入力される深度値と比較される必要がある。しかし
ながら、周知のタイプのグラフィックス・バッファ・ア
ーキテクチャでは、アルゴリズムを達成するために必要
な機能、すなわちバッファを支持するだけの機能を提供
する。換言すると、グラフィックス・バッファ・アーキ
テクチャはグラフィックス・バッファの使用を予め定義
する。しかしながら、新たなアルゴリズム及び技術の出
現により、これらの従来のグラフィックス・バッファ・
アーキテクチャは、新たな要求に適応する柔軟性に欠け
る。これらは一般に、新たなグラフィックス方法を支持
することができず、従って、こうした方法によるハード
ウェア支援による実現を妨げる。
キテクチャは2つの要素を含む。これらはグラフィック
ス・メモリ、及び、メモリ上でオペレーションを実行す
る関連するデータ・パスである。例えば、z−バッファ
・アルゴリズムでは、深度メモリに記憶される深度値
は、入力される深度値と比較される必要がある。しかし
ながら、周知のタイプのグラフィックス・バッファ・ア
ーキテクチャでは、アルゴリズムを達成するために必要
な機能、すなわちバッファを支持するだけの機能を提供
する。換言すると、グラフィックス・バッファ・アーキ
テクチャはグラフィックス・バッファの使用を予め定義
する。しかしながら、新たなアルゴリズム及び技術の出
現により、これらの従来のグラフィックス・バッファ・
アーキテクチャは、新たな要求に適応する柔軟性に欠け
る。これらは一般に、新たなグラフィックス方法を支持
することができず、従って、こうした方法によるハード
ウェア支援による実現を妨げる。
【0014】
【発明が解決しようとする課題】本発明の目的は、従来
システムの制限を解決するグラフィックス・バッファ及
び関連するデータ・パスの新たな構成を提供する。
システムの制限を解決するグラフィックス・バッファ及
び関連するデータ・パスの新たな構成を提供する。
【0015】本発明の目的は、バッファ上のオペレーシ
ョンを支持するフレームワークにおける、モジュール形
式のグラフィックス・バッファ・アーキテクチャを提供
する。
ョンを支持するフレームワークにおける、モジュール形
式のグラフィックス・バッファ・アーキテクチャを提供
する。
【0016】本発明の目的は、バッファ・モジュール及
びデータ・パスの汎用の及び正規の構成の組合せにおい
て、バッファ当たり1個のプロセッサを有するグラフィ
ックス・バッファ・アーキテクチャを提供する。
びデータ・パスの汎用の及び正規の構成の組合せにおい
て、バッファ当たり1個のプロセッサを有するグラフィ
ックス・バッファ・アーキテクチャを提供する。
【0017】本発明の目的は、バッファ当たり1個のプ
ロセッサ、モジュラ・バッファを共に結合するバス、及
び、所与のグラフィックス・アプリケーションに対応す
るグラフィックス・バッファをプログラマブルに構成す
る機能を有する、モジュール形式のプログラマブルなグ
ラフィックス・バッファ・アーキテクチャを提供する。
ロセッサ、モジュラ・バッファを共に結合するバス、及
び、所与のグラフィックス・アプリケーションに対応す
るグラフィックス・バッファをプログラマブルに構成す
る機能を有する、モジュール形式のプログラマブルなグ
ラフィックス・バッファ・アーキテクチャを提供する。
【0018】
【課題を解決するための手段】前述の及び他の問題、及
び、本発明の目的が、ラスタ・グラフィックス・システ
ムのためのグラフィックス・バッファ・アーキテクチャ
によりそれぞれ解決され、また実現される。このアーキ
テクチャは、共通の画素バスに接続される全てのモジュ
ールにより定義され、また構成される。モジュールはホ
スト・プロセッサによりプログラムされ、ホスト・バス
を介してホスト・プロセッサと通信する。各モジュール
はメモリ、及び、画素バス及びローカル・メモリをアク
セスするローカル・プロセッサを含む。画素バスはデー
タ・パス、アドレス・パス、及び画素データ上のテスト
結果を示す複数のラインを含む制御パスを含む。
び、本発明の目的が、ラスタ・グラフィックス・システ
ムのためのグラフィックス・バッファ・アーキテクチャ
によりそれぞれ解決され、また実現される。このアーキ
テクチャは、共通の画素バスに接続される全てのモジュ
ールにより定義され、また構成される。モジュールはホ
スト・プロセッサによりプログラムされ、ホスト・バス
を介してホスト・プロセッサと通信する。各モジュール
はメモリ、及び、画素バス及びローカル・メモリをアク
セスするローカル・プロセッサを含む。画素バスはデー
タ・パス、アドレス・パス、及び画素データ上のテスト
結果を示す複数のラインを含む制御パスを含む。
【0019】複数のタイプのバッファ・モジュールが存
在し、これらには表面バッファ、制御バッファ、及び仮
想バッファが含まれる。表面バッファは内部画素メモリ
内の表面情報を記憶し、画素データ・バスとの間で表面
情報を書込み及び読出しする。制御バッファは画素フラ
グなどの各画素に対する制御情報を記憶し、また画素バ
ス、特に画素アドレス・バスと対話する。仮想バッファ
は画素バスと、画素データ及び/或いは画素アドレスを
送受信する外部装置との間の共通インタフェースを提供
する。
在し、これらには表面バッファ、制御バッファ、及び仮
想バッファが含まれる。表面バッファは内部画素メモリ
内の表面情報を記憶し、画素データ・バスとの間で表面
情報を書込み及び読出しする。制御バッファは画素フラ
グなどの各画素に対する制御情報を記憶し、また画素バ
ス、特に画素アドレス・バスと対話する。仮想バッファ
は画素バスと、画素データ及び/或いは画素アドレスを
送受信する外部装置との間の共通インタフェースを提供
する。
【0020】各バッファ・モジュールは画素バス上のデ
ータ及び関連する内部メモリからのデータを使用して、
テスト及びオペレーションを実行する。各バッファ・モ
ジュールは他のモジュール(可能であれば全て)のテス
ト結果を踏まえた条件の下で、内部メモリを更新する。
同様に、新たな画素値の計算オペレーションについて
も、他のバッファ・モジュールにより実行されるテスト
に影響される。
ータ及び関連する内部メモリからのデータを使用して、
テスト及びオペレーションを実行する。各バッファ・モ
ジュールは他のモジュール(可能であれば全て)のテス
ト結果を踏まえた条件の下で、内部メモリを更新する。
同様に、新たな画素値の計算オペレーションについて
も、他のバッファ・モジュールにより実行されるテスト
に影響される。
【0021】全てのバッファ・モジュールは並列に動作
し、プログラマブルな機能及びテストを実行する。モジ
ュールはバッファ・モジュールの振舞いを決定する状態
変数を指定することによりプログラムされる。一度プロ
グラムされると、モジュールはホスト・プロセッサとは
独立に動作する。
し、プログラマブルな機能及びテストを実行する。モジ
ュールはバッファ・モジュールの振舞いを決定する状態
変数を指定することによりプログラムされる。一度プロ
グラムされると、モジュールはホスト・プロセッサとは
独立に動作する。
【0022】画素バスはいくつかのサブ・バスを含む。
サブ・バスは1個のバッファ・モジュール或いは異なる
バッファ・モジュールにより制御される。サブ・バスを
駆動するバッファ・モジュール、及びサブ・バスを読出
すモジュールの選択は、ホスト・プロセッサにより構成
される。
サブ・バスは1個のバッファ・モジュール或いは異なる
バッファ・モジュールにより制御される。サブ・バスを
駆動するバッファ・モジュール、及びサブ・バスを読出
すモジュールの選択は、ホスト・プロセッサにより構成
される。
【0023】データは仮想バッファ手段によりバッファ
・モジュールに対して入出力され、仮想バッファは制御
バッファ及び表面バッファの場合と同様に、画素バスに
対するインタフェースを示す。
・モジュールに対して入出力され、仮想バッファは制御
バッファ及び表面バッファの場合と同様に、画素バスに
対するインタフェースを示す。
【0024】更に詳細には、イメージを表す画素を表現
する情報を記憶するグラフィックス・バッファが開示さ
れる。グラフィックス・バッファは複数のバッファ・モ
ジュールを含む。最小の構成では、従来のグラフィック
ス・バッファ・システムに相当する機能を提供する構成
となる。実施例では、3つの表面バッファ・モジュール
が使用される。1個の表面バッファ・モジュールは各画
素に対して深度(z−バッファ)を記憶する。残りの2
個の表面バッファ・モジュールは、各画素に対し、色情
報(フレーム・バッファ)を記憶する。2個の色バッフ
ァは2重バッファ構成を成し、画素データは1個のバッ
ファから表示装置に出力され、他のバッファはラスタラ
イザから画素色データを受信し格納する。
する情報を記憶するグラフィックス・バッファが開示さ
れる。グラフィックス・バッファは複数のバッファ・モ
ジュールを含む。最小の構成では、従来のグラフィック
ス・バッファ・システムに相当する機能を提供する構成
となる。実施例では、3つの表面バッファ・モジュール
が使用される。1個の表面バッファ・モジュールは各画
素に対して深度(z−バッファ)を記憶する。残りの2
個の表面バッファ・モジュールは、各画素に対し、色情
報(フレーム・バッファ)を記憶する。2個の色バッフ
ァは2重バッファ構成を成し、画素データは1個のバッ
ファから表示装置に出力され、他のバッファはラスタラ
イザから画素色データを受信し格納する。
【0025】また実施例では、グラフィックス・バッフ
ァは複数の表面バッファ・モジュールを含み、各々は複
数の画素に対応する画素情報を記憶する第1のメモリを
含む。表面バッファ・モジュールの各々は、更に第1の
メモリに結合される第1のプロセッサを含み、これは読
出した画素情報を変更し、変更された画素情報を再び第
1のメモリに戻すために使用される。グラフィックス・
バッファは更に少なくとも1個の制御バッファ・モジュ
ールを含み、これは各画素に対応する他の画素情報を記
憶するための第2のメモリと、他の画素情報を変更する
ための第2のプロセッサを有する。画素バスは複数の表
面バッファ・モジュールと、少なくとも1個の制御バッ
ファ・モジュールとの間に結合され、両者間で画素デー
タ及び画素アドレスを含む画素に関連する情報を伝達す
る。仮想バッファ・モジュールもまた画素バスに結合さ
れ、画素データ及びアドレスを受信し、画素データ及び
アドレスをそこから送信するために使用される。
ァは複数の表面バッファ・モジュールを含み、各々は複
数の画素に対応する画素情報を記憶する第1のメモリを
含む。表面バッファ・モジュールの各々は、更に第1の
メモリに結合される第1のプロセッサを含み、これは読
出した画素情報を変更し、変更された画素情報を再び第
1のメモリに戻すために使用される。グラフィックス・
バッファは更に少なくとも1個の制御バッファ・モジュ
ールを含み、これは各画素に対応する他の画素情報を記
憶するための第2のメモリと、他の画素情報を変更する
ための第2のプロセッサを有する。画素バスは複数の表
面バッファ・モジュールと、少なくとも1個の制御バッ
ファ・モジュールとの間に結合され、両者間で画素デー
タ及び画素アドレスを含む画素に関連する情報を伝達す
る。仮想バッファ・モジュールもまた画素バスに結合さ
れ、画素データ及びアドレスを受信し、画素データ及び
アドレスをそこから送信するために使用される。
【0026】
【実施例】典型的なラスタ・グラフィックス・システム
が図1に示され、主(ホスト)プロセッサ12及びグラ
フィックス・サブシステム14が含まれる。ホスト・プ
ロセッサ12はアプリケーション・プログラムを実行
し、グラフィックス・サブシステム14に対し、グラフ
ィックス・タスクを割り当てる。
が図1に示され、主(ホスト)プロセッサ12及びグラ
フィックス・サブシステム14が含まれる。ホスト・プ
ロセッサ12はアプリケーション・プログラムを実行
し、グラフィックス・サブシステム14に対し、グラフ
ィックス・タスクを割り当てる。
【0027】グラフィックス・サブシステム14はいく
つかの構成要素を含み、これらはラスタ表示装置16上
に表示する幾何学的エンティティを準備するために必要
なオペレーションを実行する。本発明の説明のために、
グラフィックス・サブシステム14のモデルは、次に示
す機能ユニットを含むものとする。この特定のモデルは
本発明を実施するにおいて、制限を与えるものではな
い。
つかの構成要素を含み、これらはラスタ表示装置16上
に表示する幾何学的エンティティを準備するために必要
なオペレーションを実行する。本発明の説明のために、
グラフィックス・サブシステム14のモデルは、次に示
す機能ユニットを含むものとする。この特定のモデルは
本発明を実施するにおいて、制限を与えるものではな
い。
【0028】幾何処理ユニット18は、画面(ウィンド
ウ)境界に対するクリッピングと同様に、幾何学的遠近
法変換を実行する。その結果生ずる頂点、直線、三角形
などのグラフィック要素は画面空間座標内に表現され
る。
ウ)境界に対するクリッピングと同様に、幾何学的遠近
法変換を実行する。その結果生ずる頂点、直線、三角形
などのグラフィック要素は画面空間座標内に表現され
る。
【0029】走査変換(ラスタライゼーション)ユニッ
ト20はグラフィックス要素をラスタ情報、すなわちグ
ラフィックス要素によりカバーされる表示画面画素の表
現に分解する。
ト20はグラフィックス要素をラスタ情報、すなわちグ
ラフィックス要素によりカバーされる表示画面画素の表
現に分解する。
【0030】グラフィックス・バッファ・ユニット22
は画素を受信し、画素単位でこれらの画素を記憶、テス
ト、及び処理する。
は画素を受信し、画素単位でこれらの画素を記憶、テス
ト、及び処理する。
【0031】表示ユニット24はグラフィックス・バッ
ファ・ユニット22から画素を受信し、これらを典型的
にはラスタ画面であるところの出力装置16上に表示さ
れる情報に変換する。
ファ・ユニット22から画素を受信し、これらを典型的
にはラスタ画面であるところの出力装置16上に表示さ
れる情報に変換する。
【0032】本発明は特にグラフィックス・バッファ・
ユニット22に関して、新たなアーキテクチャを提供す
る。
ユニット22に関して、新たなアーキテクチャを提供す
る。
【0033】以降で使用される次に示す用語は、以下の
意味を有するものである。
意味を有するものである。
【0034】バッファ:画素情報を記憶するメモリを含
むモジュール。本発明では、バッファはメモリに記憶さ
れる情報を管理し処理するプロセッサ或いはデータ・パ
スも含む。本明細書ではバッファはバッファ・モジュー
ル或いは画素バッファとも称される。
むモジュール。本発明では、バッファはメモリに記憶さ
れる情報を管理し処理するプロセッサ或いはデータ・パ
スも含む。本明細書ではバッファはバッファ・モジュー
ル或いは画素バッファとも称される。
【0035】バッファ・メモリ:バッファ・モジュール
内の画素メモリ。
内の画素メモリ。
【0036】バッファ・プロセッサ:バッファ・メモリ
内のデータを処理するバッファ・モジュール内のプロセ
ッサ(データパス)。
内のデータを処理するバッファ・モジュール内のプロセ
ッサ(データパス)。
【0037】画素:走査変換ユニット20から受信され
る各画素は、表示装置16の画面上の画素のロケーショ
ンを定義する画素アドレスと、関連する画素を表現する
画素データにより表現される。画素データは実施例で
は、RGB(色)、アルファ(透過度)、及び深度(z
軸)情報により表現される。各画素に対しこの他の情報
も関連させることが可能であり、例えば画素処理アルゴ
リズムでは画素フラグが使用される。
る各画素は、表示装置16の画面上の画素のロケーショ
ンを定義する画素アドレスと、関連する画素を表現する
画素データにより表現される。画素データは実施例で
は、RGB(色)、アルファ(透過度)、及び深度(z
軸)情報により表現される。各画素に対しこの他の情報
も関連させることが可能であり、例えば画素処理アルゴ
リズムでは画素フラグが使用される。
【0038】M−バッファ・アーキテクチャ
【0039】図2はグラフィックス・バッファ・ユニッ
ト22の単純化したブロック図であり、このユニットは
以降の説明ではM−バッファ22と称することにする。
次に構成要素の簡単な説明をする。それぞれの詳細な説
明については以降で述べられる。
ト22の単純化したブロック図であり、このユニットは
以降の説明ではM−バッファ22と称することにする。
次に構成要素の簡単な説明をする。それぞれの詳細な説
明については以降で述べられる。
【0040】ホスト・バス30はホスト・プロセッサ1
2により使用されるインタフェースであり、M−バッフ
ァ22を構成し、構成要素であるバッファ・モジュール
をプログラムする。複数の表面バッファ32により画素
表面データが記憶、テスト、及び処理される。1個或い
は複数の制御バッファ34は、画素制御プレーンを記
憶、テスト、及び処理する。仮想バッファ・モジュール
36はM−バッファ22とグラフィックス・サブシステ
ム14の他の構成要素、例えば走査変換ユニット20及
び表示ユニット24などとの間のインタフェース機能を
果たす。仮想バッファ36と"実"バッファ(32、3
4)の両者は共通のプロトコルにより画素バス38をア
クセスする。すなわち、仮想バッファ36は、画素バス
38における通信に関し、バッファ・モジュール(3
2、34)と同様に機能する。しかしながら、仮想バッ
ファ36は、画素データ及び/或いは画素アドレスをバ
ッファするために物理メモリを必要としない。が、搭載
することは可能である。画素バス38はM−バッファ内
の全てのバッファ・モジュール(32、34、36)に
接続され、画素データ及び画素アドレスを転送し、画素
のテスト結果を同報通信し、またバッファ・モジュール
(32、34、46)のオペレーションを同期させるた
めにデータパスを提供する。
2により使用されるインタフェースであり、M−バッフ
ァ22を構成し、構成要素であるバッファ・モジュール
をプログラムする。複数の表面バッファ32により画素
表面データが記憶、テスト、及び処理される。1個或い
は複数の制御バッファ34は、画素制御プレーンを記
憶、テスト、及び処理する。仮想バッファ・モジュール
36はM−バッファ22とグラフィックス・サブシステ
ム14の他の構成要素、例えば走査変換ユニット20及
び表示ユニット24などとの間のインタフェース機能を
果たす。仮想バッファ36と"実"バッファ(32、3
4)の両者は共通のプロトコルにより画素バス38をア
クセスする。すなわち、仮想バッファ36は、画素バス
38における通信に関し、バッファ・モジュール(3
2、34)と同様に機能する。しかしながら、仮想バッ
ファ36は、画素データ及び/或いは画素アドレスをバ
ッファするために物理メモリを必要としない。が、搭載
することは可能である。画素バス38はM−バッファ内
の全てのバッファ・モジュール(32、34、36)に
接続され、画素データ及び画素アドレスを転送し、画素
のテスト結果を同報通信し、またバッファ・モジュール
(32、34、46)のオペレーションを同期させるた
めにデータパスを提供する。
【0041】画素バス
【0042】図3を参照すると、画素バス38はいくつ
かのサブ・バスにより構成され、これらはバッファ・モ
ジュール間で情報を転送し、またバッファ・モジュール
のオペレーションを同期させる。本発明の実施例におけ
るこれらのサブ・バスについて次に説明する。
かのサブ・バスにより構成され、これらはバッファ・モ
ジュール間で情報を転送し、またバッファ・モジュール
のオペレーションを同期させる。本発明の実施例におけ
るこれらのサブ・バスについて次に説明する。
【0043】2つの画素データ・バス(PData1
38a、PData2 38b)は、表面バッファ・モ
ジュール32と仮想バッファ・モジュール36の間で画
素データを転送する。バッファ・モジュール(32、3
6)の一方が、画素データ・バス(38a、38b)の
一方を駆動する。他方のバッファ・モジュール(32、
36)は、駆動される画素データ・バッファ上のデータ
を読込むか或いは無視する。画素データ・バス(38
a、38b)の幅は、バッファ・メモリに記憶されるデ
ータのワード長の関数である。本発明の実施例では、画
素データ・バス(38a、38b)はそれぞれ32ビッ
ト幅である。が、これに限るものではない。
38a、PData2 38b)は、表面バッファ・モ
ジュール32と仮想バッファ・モジュール36の間で画
素データを転送する。バッファ・モジュール(32、3
6)の一方が、画素データ・バス(38a、38b)の
一方を駆動する。他方のバッファ・モジュール(32、
36)は、駆動される画素データ・バッファ上のデータ
を読込むか或いは無視する。画素データ・バス(38
a、38b)の幅は、バッファ・メモリに記憶されるデ
ータのワード長の関数である。本発明の実施例では、画
素データ・バス(38a、38b)はそれぞれ32ビッ
ト幅である。が、これに限るものではない。
【0044】本発明の他の実施例では、2つよりも多い
或いは少ない数の画素データ・バスが使用可能であるこ
とを述べておく。
或いは少ない数の画素データ・バスが使用可能であるこ
とを述べておく。
【0045】画素アドレス・バス(PAddr)38c
は画素アドレス(画素表示画面座標)を他のバッファ・
モジュール(32、34、36)に提供する。これらの
バッファ・モジュールの1個は画素アドレス・バス38
cを駆動し、一方、他の全てのモジュールはそこからア
ドレスを受信する。画素アドレス・バス(38c)の幅
は、目的の表示装置16上の全ての画素をアドレス指定
するために十分な幅を有する。本発明の実施例では、画
素アドレス・バス38cは22本のアドレス線を有し、
これは1280x1024画素をアドレス指定するため
に十分な数である。目的とするアプリケーションによ
り、22本より多くの或いは少ない数のアドレス線の使
用が可能である。
は画素アドレス(画素表示画面座標)を他のバッファ・
モジュール(32、34、36)に提供する。これらの
バッファ・モジュールの1個は画素アドレス・バス38
cを駆動し、一方、他の全てのモジュールはそこからア
ドレスを受信する。画素アドレス・バス(38c)の幅
は、目的の表示装置16上の全ての画素をアドレス指定
するために十分な幅を有する。本発明の実施例では、画
素アドレス・バス38cは22本のアドレス線を有し、
これは1280x1024画素をアドレス指定するため
に十分な数である。目的とするアプリケーションによ
り、22本より多くの或いは少ない数のアドレス線の使
用が可能である。
【0046】画素結果(PResult)バス38dは
多重信号線バスであり、各バッファ・モジュールからの
テスト結果を他の全てのバッファ・モジュールに同報通
信する。画素結果バス38dの各ラインは1個のバッフ
ァ・モジュールにより駆動される。他のバッファ・モジ
ュールはこれらのラインに応答して、それらの内部バッ
ファ・メモリを更新するか判断する。すなわち、各バッ
ファ・モジュール(32、34、36)はPResul
tバス38dの1本のラインを駆動し、PResult
バス38dの全てのラインを受信する。
多重信号線バスであり、各バッファ・モジュールからの
テスト結果を他の全てのバッファ・モジュールに同報通
信する。画素結果バス38dの各ラインは1個のバッフ
ァ・モジュールにより駆動される。他のバッファ・モジ
ュールはこれらのラインに応答して、それらの内部バッ
ファ・メモリを更新するか判断する。すなわち、各バッ
ファ・モジュール(32、34、36)はPResul
tバス38dの1本のラインを駆動し、PResult
バス38dの全てのラインを受信する。
【0047】ここでPResultバス38dの複数の
ラインを駆動するバッファ・モジュールを提供すること
も、本発明の範中に含まれることを述べておく。例え
ば、PResultバス38dの2本のラインを駆動す
るバッファ・モジュールでは、画素比較の結果の大小関
係或いは一致を表現することができる。
ラインを駆動するバッファ・モジュールを提供すること
も、本発明の範中に含まれることを述べておく。例え
ば、PResultバス38dの2本のラインを駆動す
るバッファ・モジュールでは、画素比較の結果の大小関
係或いは一致を表現することができる。
【0048】画素制御(PCtrl)バス38eはバッ
ファ・モジュール(32、34、36)間の通信及び同
期のために信号を伝送する。PCtrlバス38eは以
下に示す信号を含む。
ファ・モジュール(32、34、36)間の通信及び同
期のために信号を伝送する。PCtrlバス38eは以
下に示す信号を含む。
【0049】信号線NEWは、バッファ・モジュールに
よりアサートされると、新たな画素すなわち画素アドレ
ス及び画素データが画素バス38上に存在することを示
す。
よりアサートされると、新たな画素すなわち画素アドレ
ス及び画素データが画素バス38上に存在することを示
す。
【0050】信号線WAITはアサートされると、バッ
ファ・モジュール(32、34、36)の少なくとも1
個が、現行の画素バス・サイクルにおいてオペレーショ
ンを完了できないことを通知し、現行サイクルの延長を
要求する。例えば、バッファ・モジュール(32、3
4)の1個が動的メモリの新たなページ/コラムのアク
セスを要求されると、そのためには追加のメモリ・セッ
トアップ時間が必要となる。
ファ・モジュール(32、34、36)の少なくとも1
個が、現行の画素バス・サイクルにおいてオペレーショ
ンを完了できないことを通知し、現行サイクルの延長を
要求する。例えば、バッファ・モジュール(32、3
4)の1個が動的メモリの新たなページ/コラムのアク
セスを要求されると、そのためには追加のメモリ・セッ
トアップ時間が必要となる。
【0051】STEPは、バッファ・モジュール(3
2、34、36)特にそれらの内部パイプライン・ステ
ージを、予め定義されたPHASEを通じて駆動する信
号線であり、これについては後述される。
2、34、36)特にそれらの内部パイプライン・ステ
ージを、予め定義されたPHASEを通じて駆動する信
号線であり、これについては後述される。
【0052】CLOCKは同期クロック信号を全てのバ
ッファ・モジュール(32、34、36)に分配する一
連のラインである。本発明の実施例では、CLOCKは
40ナノ秒の周期を有するが、他の周期も本発明の教示
の範中に含まれることは明らかである。
ッファ・モジュール(32、34、36)に分配する一
連のラインである。本発明の実施例では、CLOCKは
40ナノ秒の周期を有するが、他の周期も本発明の教示
の範中に含まれることは明らかである。
【0053】RFSHはアサートされると、ダイナミッ
ク・メモリを含むバッファ・モジュール(32、34、
36)がメモリ情報を保存するために、リフレッシュ・
サイクルを実行すべきであることを通知する。
ク・メモリを含むバッファ・モジュール(32、34、
36)がメモリ情報を保存するために、リフレッシュ・
サイクルを実行すべきであることを通知する。
【0054】画素制御バス38eにはバス制御(CNT
L)39が結合され、これはWAIT信号を受信し、前
述のCLOCK及びSTEP信号を生成する。バス制御
39はまたRFSH信号も生成する。
L)39が結合され、これはWAIT信号を受信し、前
述のCLOCK及びSTEP信号を生成する。バス制御
39はまたRFSH信号も生成する。
【0055】これらの信号線のオペレーションについて
更に詳しく述べる前に、図4及び図5に従い、M−バッ
ファ22により実行されるオペレーションの基本シーケ
ンスについて説明する。
更に詳しく述べる前に、図4及び図5に従い、M−バッ
ファ22により実行されるオペレーションの基本シーケ
ンスについて説明する。
【0056】ステップA、アドレス生成(GA):画素
アドレス・バス38cを駆動するバッファ・モジュール
(32、34、36)が画素アドレスを生成し、それを
画素アドレス・バス38c上に駆動する。アドレスを生
成するバッファ・モジュールはまた、信号NEWを生成
する。この状態はPHASE=0、STEP=0に相当
する。
アドレス・バス38cを駆動するバッファ・モジュール
(32、34、36)が画素アドレスを生成し、それを
画素アドレス・バス38c上に駆動する。アドレスを生
成するバッファ・モジュールはまた、信号NEWを生成
する。この状態はPHASE=0、STEP=0に相当
する。
【0057】ステップB、アドレス変更(MA):全て
のバッファ・モジュールは画素アドレス・バス38cか
らアドレスを読込み、それを変更する。この状態はPH
ASE=0、STEP=1に相当する。
のバッファ・モジュールは画素アドレス・バス38cか
らアドレスを読込み、それを変更する。この状態はPH
ASE=0、STEP=1に相当する。
【0058】ステップC、読出し(RD):バッファ・
モジュールは(変更された)画素アドレスを使用し、関
連するバッファ・メモリ46からデータを読出す。画素
バス38を駆動するバッファ・モジュールは、データを
画素バス38のサブ・バス(PDATA1 38a、P
DATA2 38b)の1つに出力する。この状態はP
HASE=1、STEP=0に相当する。
モジュールは(変更された)画素アドレスを使用し、関
連するバッファ・メモリ46からデータを読出す。画素
バス38を駆動するバッファ・モジュールは、データを
画素バス38のサブ・バス(PDATA1 38a、P
DATA2 38b)の1つに出力する。この状態はP
HASE=1、STEP=0に相当する。
【0059】ステップD、テスト及び計算(TC):表
面及び/或いは仮想バッファ・モジュール(32、3
6)は、画素バスのサブ・バスの内の1つ或いはいくつ
かから画素データを受信する。受信データに応答して、
モジュールは以下に示す2つの活動を実行する。
面及び/或いは仮想バッファ・モジュール(32、3
6)は、画素バスのサブ・バスの内の1つ或いはいくつ
かから画素データを受信する。受信データに応答して、
モジュールは以下に示す2つの活動を実行する。
【0060】ステップD1:受信されたデータ値はテス
トされるか、或いは第2の値と比較される。テスト結果
は1ビット(RESULT)で表現され、画素結果バス
38dの関連するラインに書込まれ、他の全てのバッフ
ァ・モジュール(32、34、36)に同報通信され
る。前述のように、本発明の他の実施例では、テスト結
果は1ビットよりも多いビット数により表現されること
も可能である。
トされるか、或いは第2の値と比較される。テスト結果
は1ビット(RESULT)で表現され、画素結果バス
38dの関連するラインに書込まれ、他の全てのバッフ
ァ・モジュール(32、34、36)に同報通信され
る。前述のように、本発明の他の実施例では、テスト結
果は1ビットよりも多いビット数により表現されること
も可能である。
【0061】ステップD2:受信されたデータ値は、ス
テップF(下記)で関連するバッファ・メモリ46に書
込まれる新たな値を計算するために使用される。
テップF(下記)で関連するバッファ・メモリ46に書
込まれる新たな値を計算するために使用される。
【0062】ステップDはPHASE=1、STEP=
1に相当する。
1に相当する。
【0063】ステップE、判断及び変更(DM):全て
のバッファ・モジュール(32、34、36)は画素結
果バス38dを読出し、ステップD2で計算された値が
バッファ・メモリ46に書込まれるか判断する。この状
態はPHASE=2、STEP=0に相当する。
のバッファ・モジュール(32、34、36)は画素結
果バス38dを読出し、ステップD2で計算された値が
バッファ・メモリ46に書込まれるか判断する。この状
態はPHASE=2、STEP=0に相当する。
【0064】ステップF、書込み(WR):ステップE
で許可される場合、ステップD2で計算された値がバッ
ファ・メモリ46に書込まれる。この状態はPHASE
=2、STEP=1に相当する。
で許可される場合、ステップD2で計算された値がバッ
ファ・メモリ46に書込まれる。この状態はPHASE
=2、STEP=1に相当する。
【0065】前述のステップの完全なシーケンスは本明
細書ではオペレーションと称される。ステップGA+M
A、RD+TC、及びDM+WRの各々は、並列に実行
されるステージ・グループを形成する。これらのステー
ジ・グループは本明細書ではオペレーションのPHAS
Eと称され、特定の時間においていくつかの或いは全て
のステージ・グループが活動状態となる。ステージ・グ
ループの活動化は3ビットのシフト・レジスタ(PIP
Eレジスタ154)により制御され、これについては以
降で制御装置56に関連して説明される。PIPEレジ
スタ154の各ビットはステージ・グループの1個に対
応する。このシフト・レジスタにおいてセットされるビ
ットは、対応するステージ・グループが現行フェーズに
おいて活動状態であることを示す。同時に複数のステー
ジ・グループが活動状態になることが可能である。
細書ではオペレーションと称される。ステップGA+M
A、RD+TC、及びDM+WRの各々は、並列に実行
されるステージ・グループを形成する。これらのステー
ジ・グループは本明細書ではオペレーションのPHAS
Eと称され、特定の時間においていくつかの或いは全て
のステージ・グループが活動状態となる。ステージ・グ
ループの活動化は3ビットのシフト・レジスタ(PIP
Eレジスタ154)により制御され、これについては以
降で制御装置56に関連して説明される。PIPEレジ
スタ154の各ビットはステージ・グループの1個に対
応する。このシフト・レジスタにおいてセットされるビ
ットは、対応するステージ・グループが現行フェーズに
おいて活動状態であることを示す。同時に複数のステー
ジ・グループが活動状態になることが可能である。
【0066】図4はこれらのステップが3ステージ・パ
イプラインに配列され、オペレーションをスピード・ア
ップする様子を表す。図示されるように、3ステージ・
パイプラインはパイプラインが充填状態であれば、各ス
テップにおいてバッファ・メモリ46をアクセスする。
イプラインに配列され、オペレーションをスピード・ア
ップする様子を表す。図示されるように、3ステージ・
パイプラインはパイプラインが充填状態であれば、各ス
テップにおいてバッファ・メモリ46をアクセスする。
【0067】図4は各バッファ・モジュールにより実行
されるオペレーションの基本シーケンスを表す。しかし
ながら、いくつかのアプリケーションでは、画素アドレ
スを別の画素及び/或いは別のバッファに記憶される値
に基づき決定するアドレス指定方法を取る。こうしたア
クセス機構は間接アドレス指定或いはマッピングと称さ
れる。例えば、テクスチャ・マッピングはバッファから
テクスチャ座標を読出すことにより、画面上に表示され
る値を決定する。テクスチャ座標は、次に、更に表示さ
れるか或いは処理される値を有するテクスチャ・マップ
を含む別のバッファをアドレス指定するために使用され
る。
されるオペレーションの基本シーケンスを表す。しかし
ながら、いくつかのアプリケーションでは、画素アドレ
スを別の画素及び/或いは別のバッファに記憶される値
に基づき決定するアドレス指定方法を取る。こうしたア
クセス機構は間接アドレス指定或いはマッピングと称さ
れる。例えば、テクスチャ・マッピングはバッファから
テクスチャ座標を読出すことにより、画面上に表示され
る値を決定する。テクスチャ座標は、次に、更に表示さ
れるか或いは処理される値を有するテクスチャ・マップ
を含む別のバッファをアドレス指定するために使用され
る。
【0068】M−バッファ22は次に示す機能を提供す
ることにより、こうしたオペレーションを実施する。
ることにより、こうしたオペレーションを実施する。
【0069】第1に、バッファ・メモリ46から読出さ
れた値は画素アドレス・バス38cに導かれる。この機
能はバッファ・メモリ46に記憶される画素値が画素ア
ドレスとして解釈されることを可能とする。
れた値は画素アドレス・バス38cに導かれる。この機
能はバッファ・メモリ46に記憶される画素値が画素ア
ドレスとして解釈されることを可能とする。
【0070】第2に、オペレーションの基本シーケンス
は図5に示すように拡張され、間接アドレス指定により
画素値をアクセスするための余分なサイクルが追加され
る。第2及び第3のパイプライン・オペレーションの各
々は、追加のMA及びRDステップを含み、受信された
画素アドレスはバッファ・メモリ46から更に画素アド
レスを抽出するために使用される。
は図5に示すように拡張され、間接アドレス指定により
画素値をアクセスするための余分なサイクルが追加され
る。第2及び第3のパイプライン・オペレーションの各
々は、追加のMA及びRDステップを含み、受信された
画素アドレスはバッファ・メモリ46から更に画素アド
レスを抽出するために使用される。
【0071】M−バッファ22はこのように、いくつか
のレベルの間接指定による画素アクセスを可能とする。
図5は1レベルの間接指定によるアクセスを示し、更に
オペレーションの基本シーケンスを拡張することによ
り、バッファ・モジュール・ハードウェアの使用を低減
することを示す。すなわち、オペレーションの基本シー
ケンスにおいては3つのオペレーションが並列に実行さ
れるが、間接アドレス指定を使用する場合、並列オペレ
ーションの平均数は2或いはそれ以下に減少される。
のレベルの間接指定による画素アクセスを可能とする。
図5は1レベルの間接指定によるアクセスを示し、更に
オペレーションの基本シーケンスを拡張することによ
り、バッファ・モジュール・ハードウェアの使用を低減
することを示す。すなわち、オペレーションの基本シー
ケンスにおいては3つのオペレーションが並列に実行さ
れるが、間接アドレス指定を使用する場合、並列オペレ
ーションの平均数は2或いはそれ以下に減少される。
【0072】図13ー15を参照すると、画素バス38
のタイミング特性が示される。
のタイミング特性が示される。
【0073】新たな画素アドレス(NEW活動状態)は
パイプライン・フェーズの第1のステップ(PHASE
=0、STEP=0)においてのみアサートされる。更
に、新たな画素アドレスは、RFSH或いはWAITの
一方が活動状態の場合、適用されない。図13及び図1
4において、WAIT信号線のアサーションはSTEP
信号の生成を中断し、それにより1待機状態或いはそれ
以上を挿入する。STEP信号の第1のアサーションに
よりGAパイプライン・ステップが生成され、それにM
Aパイプライン・ステップが、続いてRDパイプライン
・ステップが続く。実施例では、第1の画素に対応し
て、DMとWRステップの間に待機状態が挿入される。
第2の画素に対応しては、待機状態はRDとTCステッ
プの間に挿入され、また第3の画素に対応しては、待機
状態はGAとMAステップの間に挿入される。すなわ
ち、第2の画素に対応して実行される読出しアクセスに
より、WAIT信号線のアサーションが発生する。図1
4では第1の画素に対する書込みアクセス(WR)の実
行により、WAIT信号線のアサーションが発生する。
パイプライン・フェーズの第1のステップ(PHASE
=0、STEP=0)においてのみアサートされる。更
に、新たな画素アドレスは、RFSH或いはWAITの
一方が活動状態の場合、適用されない。図13及び図1
4において、WAIT信号線のアサーションはSTEP
信号の生成を中断し、それにより1待機状態或いはそれ
以上を挿入する。STEP信号の第1のアサーションに
よりGAパイプライン・ステップが生成され、それにM
Aパイプライン・ステップが、続いてRDパイプライン
・ステップが続く。実施例では、第1の画素に対応し
て、DMとWRステップの間に待機状態が挿入される。
第2の画素に対応しては、待機状態はRDとTCステッ
プの間に挿入され、また第3の画素に対応しては、待機
状態はGAとMAステップの間に挿入される。すなわ
ち、第2の画素に対応して実行される読出しアクセスに
より、WAIT信号線のアサーションが発生する。図1
4では第1の画素に対する書込みアクセス(WR)の実
行により、WAIT信号線のアサーションが発生する。
【0074】図15を参照すると、リフレッシュ・サイ
クルが、パイプライン・フェーズの第2ステップ(ST
EP=1)の間にRFSHをアサートすることにより要
求される。リフレッシュは現行のパイプライン・ステッ
プが完了するや否や実行される。RFSHをアサート解
除後、リフレッシュ・サイクルが完了され、通常のオペ
レーションが継続される。
クルが、パイプライン・フェーズの第2ステップ(ST
EP=1)の間にRFSHをアサートすることにより要
求される。リフレッシュは現行のパイプライン・ステッ
プが完了するや否や実行される。RFSHをアサート解
除後、リフレッシュ・サイクルが完了され、通常のオペ
レーションが継続される。
【0075】WAIT信号は新たなメモリ・ページを要
求するメモリ・アクセスの最初において活動化される。
WAIT信号はメモリ・アクセスが完了する1クロック
・サイクル以前にアサート解除される。WAITはまた
リフレッシュ・オペレーション中にも活動状態であり、
RFSH信号のアサート解除後に、全ての画素バッファ
が保留のリフレッシュ・サイクルを完了することを保証
する。
求するメモリ・アクセスの最初において活動化される。
WAIT信号はメモリ・アクセスが完了する1クロック
・サイクル以前にアサート解除される。WAITはまた
リフレッシュ・オペレーション中にも活動状態であり、
RFSH信号のアサート解除後に、全ての画素バッファ
が保留のリフレッシュ・サイクルを完了することを保証
する。
【0076】表面バッファ
【0077】表面バッファ32はM−バッファ22の汎
用目的バッファ・リソースを形成する。これらは深度
値、色値、及びアルファ値などの表示される表面に通常
関連するデータを記憶する。ホスト・プロセッサ12上
において実行されるアプリケーション・プログラムは、
これらのバッファが使用される方法及び目的を決定す
る。
用目的バッファ・リソースを形成する。これらは深度
値、色値、及びアルファ値などの表示される表面に通常
関連するデータを記憶する。ホスト・プロセッサ12上
において実行されるアプリケーション・プログラムは、
これらのバッファが使用される方法及び目的を決定す
る。
【0078】図6及び図7を参照すると、表面バッファ
・モジュール32はいくつかのブロックにより構成され
る。これらのブロックは、ブロック内に含まれるレジス
タにホスト・バスを介し情報を書込むことにより指定さ
れるホストによりプログラム可能な機能を実行する。次
に表面バッファ・モジュール32の各要素ブロックにつ
いて説明する。
・モジュール32はいくつかのブロックにより構成され
る。これらのブロックは、ブロック内に含まれるレジス
タにホスト・バスを介し情報を書込むことにより指定さ
れるホストによりプログラム可能な機能を実行する。次
に表面バッファ・モジュール32の各要素ブロックにつ
いて説明する。
【0079】判断テーブル40(図11参照)はメモリ
更新信号MUpdate40aを制御する。判断テーブ
ル40はPResultバス38dから受信されるライ
ン数に相当するだけの変数を有するブール関数を実行す
る。すなわち本発明の実施例では、バッファ・モジュー
ル数に等しいライン数となる。MUpdate40aの
ファンクションは、画素更新条件が満たされると真であ
り、それ以外では偽である。
更新信号MUpdate40aを制御する。判断テーブ
ル40はPResultバス38dから受信されるライ
ン数に相当するだけの変数を有するブール関数を実行す
る。すなわち本発明の実施例では、バッファ・モジュー
ル数に等しいライン数となる。MUpdate40aの
ファンクションは、画素更新条件が満たされると真であ
り、それ以外では偽である。
【0080】更に詳しくは、バッファ・メモリ46の更
新は、全てのバッファ・モジュール(32、34、3
6)の関連するテスト・ユニット42からの報告結果に
より形成される特定の条件の下でのみ発生する。結果ビ
ットは共に判断テーブル40に対するアドレスを形成す
る。本実施例では、判断テーブル40は2個のスタティ
ックRAM(SRAM)60a及び60bを含む。判断
テーブル40に使用されるSRAMのサイズは画素バッ
ファの最大数の関数となる。例えば、M−バッファ22
がn個の表面バッファ32、1個の制御バッファ、及び
2個の仮想バッファ36を含むものと仮定すると、サイ
ズは2n+3x1ビットとなる。SRAM 60a及び60
bはホスト・バス30のインタフェース62を介してロ
ードされる。PResultバス38dの下位4ビット
は、マルチプレクサ64及び論理60cを介し、RAM
60から読出された16ビットの一方を選択する。ホス
ト・プロセッサ12はレジスタ書込み活動(HWR)を
実行することにより、RAM60へデータを書込む。デ
ータはカウンタ66の内容により支持されるRAM60
のロケーションに書込まれる。RAM60のデータはま
た、ホストが選択信号A13と共にHRDをアサートす
ることによって読出される。ホスト・アドレス・バス
(HAddr30b)はデコーダ68に供給され、デコ
ーダは2つの選択信号A12及びA13の一方を生成す
る。A12はHDataバス30aからカウンタ66へ
のホスト・データのローディングを許可し、A13選択
信号はレジスタ・カウンタ66の内容をインクリメント
し、またその内容のRAM60のアドレス・バス68上
への出力を可能とする。A13がアサートされない場
合、バッファ68aはPResultバス38dをアド
レス・バス68上に伝送する。また、論理60cはPR
esultバス38dのビット3をゲートし、SRAM
60a及びSRAM60bのどちらかを選択する。マル
チプレクサ64の出力は、PResultバス38dの
ビット[0:2]により選択され、1ビットのレジスタ
70に記憶され、MUpdata信号40aを形成す
る。MUpdata信号40aは、全てのPResul
tバス38dの信号線の論理状態、及び、SRAM60
a或いはSRAM60bのアドレス指定されるロケーシ
ョンの予めプログラムされた内容により、ゼロまたは1
となる。
新は、全てのバッファ・モジュール(32、34、3
6)の関連するテスト・ユニット42からの報告結果に
より形成される特定の条件の下でのみ発生する。結果ビ
ットは共に判断テーブル40に対するアドレスを形成す
る。本実施例では、判断テーブル40は2個のスタティ
ックRAM(SRAM)60a及び60bを含む。判断
テーブル40に使用されるSRAMのサイズは画素バッ
ファの最大数の関数となる。例えば、M−バッファ22
がn個の表面バッファ32、1個の制御バッファ、及び
2個の仮想バッファ36を含むものと仮定すると、サイ
ズは2n+3x1ビットとなる。SRAM 60a及び60
bはホスト・バス30のインタフェース62を介してロ
ードされる。PResultバス38dの下位4ビット
は、マルチプレクサ64及び論理60cを介し、RAM
60から読出された16ビットの一方を選択する。ホス
ト・プロセッサ12はレジスタ書込み活動(HWR)を
実行することにより、RAM60へデータを書込む。デ
ータはカウンタ66の内容により支持されるRAM60
のロケーションに書込まれる。RAM60のデータはま
た、ホストが選択信号A13と共にHRDをアサートす
ることによって読出される。ホスト・アドレス・バス
(HAddr30b)はデコーダ68に供給され、デコ
ーダは2つの選択信号A12及びA13の一方を生成す
る。A12はHDataバス30aからカウンタ66へ
のホスト・データのローディングを許可し、A13選択
信号はレジスタ・カウンタ66の内容をインクリメント
し、またその内容のRAM60のアドレス・バス68上
への出力を可能とする。A13がアサートされない場
合、バッファ68aはPResultバス38dをアド
レス・バス68上に伝送する。また、論理60cはPR
esultバス38dのビット3をゲートし、SRAM
60a及びSRAM60bのどちらかを選択する。マル
チプレクサ64の出力は、PResultバス38dの
ビット[0:2]により選択され、1ビットのレジスタ
70に記憶され、MUpdata信号40aを形成す
る。MUpdata信号40aは、全てのPResul
tバス38dの信号線の論理状態、及び、SRAM60
a或いはSRAM60bのアドレス指定されるロケーシ
ョンの予めプログラムされた内容により、ゼロまたは1
となる。
【0081】テスト・データパス42(図10)は3つ
の基準の内の2つを使用して、画素テストを実行する。
特に、テスト・データパス42は画素バス38(サブ・
バスPData1 38a、PData2 38bの一
方または両方)、内部データ・バスPData0 32
a或いはテスト・データパス42に記憶される基準値か
らのデータを使用する。テスト結果は信号Result
42aとして表現され、これは画素結果バス38dの1
本のラインに接続され、これを駆動する。基準値は2つ
の方法の内の一方の方法により使用される。これは別の
画素値との比較のため、或いは比較される2つの値の一
方に加算される許容値として使用される。比較される2
つのデータ項目の指定されるビットは、読出しマスク・
レジスタ72の使用を通じてマスクされる。
の基準の内の2つを使用して、画素テストを実行する。
特に、テスト・データパス42は画素バス38(サブ・
バスPData1 38a、PData2 38bの一
方または両方)、内部データ・バスPData0 32
a或いはテスト・データパス42に記憶される基準値か
らのデータを使用する。テスト結果は信号Result
42aとして表現され、これは画素結果バス38dの1
本のラインに接続され、これを駆動する。基準値は2つ
の方法の内の一方の方法により使用される。これは別の
画素値との比較のため、或いは比較される2つの値の一
方に加算される許容値として使用される。比較される2
つのデータ項目の指定されるビットは、読出しマスク・
レジスタ72の使用を通じてマスクされる。
【0082】更に詳しくは、テスト・データパス42は
ホスト・バス30及び画素バス38に接続される。PR
esult42a出力はPResultバス38dに駆
動される。テスト・データパス42のオペレーション
は、制御56のステータス・レジスタ152及びパイプ
ライン・レジスタ154(以降で説明される)から制御
される。比較器74はテスト・レジスタ76の制御の下
で、表1に示す一連のテストを実施する。
ホスト・バス30及び画素バス38に接続される。PR
esult42a出力はPResultバス38dに駆
動される。テスト・データパス42のオペレーション
は、制御56のステータス・レジスタ152及びパイプ
ライン・レジスタ154(以降で説明される)から制御
される。比較器74はテスト・レジスタ76の制御の下
で、表1に示す一連のテストを実施する。
【0083】
【0084】実行される特定のテストはホスト・プロセ
ッサ30によりロードされるテスト・レジスタ76の内
容により選択される。更に、テスト・レジスタ76の内
容は基準レジスタ78に記憶される値が比較の第1の引
数に追加されるかどうかを判断する。第1の引数は一般
にバッファ・メモリ46の出力であるPData032
aから受信される。32ビットの読出しマスク・レジス
タ72は、比較において無視されるビットに対応してゼ
ロがロードされる。マルチプレクサ・グループ80は加
算器82と共に、比較器74に対し、A及びB入力を提
供する。比較結果は、テスト・データパス42とPRs
eultバス38dとをインタフェースするレジスタ8
4に書込まれる。比較器74の出力は入力データが有効
な場合、すなわちパイプライン・ステージTCが活動状
態の場合、レジスタ84に書込まれる。これはパイプ・
レジスタ154の出力であるPHASE[1]とSTE
P信号との組合せにより通知される。
ッサ30によりロードされるテスト・レジスタ76の内
容により選択される。更に、テスト・レジスタ76の内
容は基準レジスタ78に記憶される値が比較の第1の引
数に追加されるかどうかを判断する。第1の引数は一般
にバッファ・メモリ46の出力であるPData032
aから受信される。32ビットの読出しマスク・レジス
タ72は、比較において無視されるビットに対応してゼ
ロがロードされる。マルチプレクサ・グループ80は加
算器82と共に、比較器74に対し、A及びB入力を提
供する。比較結果は、テスト・データパス42とPRs
eultバス38dとをインタフェースするレジスタ8
4に書込まれる。比較器74の出力は入力データが有効
な場合、すなわちパイプライン・ステージTCが活動状
態の場合、レジスタ84に書込まれる。これはパイプ・
レジスタ154の出力であるPHASE[1]とSTE
P信号との組合せにより通知される。
【0085】計算データパス44(図9)は、テスト・
データパス42と同じ入力を受信する。これらの入力を
基に、計算データ・パス44はDataIn 44aと
して表現される新たな画素値を計算する。しかしなが
ら、この値は判断テーブル40により決定されるメモリ
更新条件が満たされる場合に限り、バッファ・メモリ4
6に書込まれる。
データパス42と同じ入力を受信する。これらの入力を
基に、計算データ・パス44はDataIn 44aと
して表現される新たな画素値を計算する。しかしなが
ら、この値は判断テーブル40により決定されるメモリ
更新条件が満たされる場合に限り、バッファ・メモリ4
6に書込まれる。
【0086】更に詳しくは、計算データパス44は画素
の値を、指定されるオペレーションに従い変換する。こ
の変換は次に示す3つのデータ要素のいずれか2つを結
合する。すなわちそれらは、(a)画素メモリ46から
読出される画素値、(b)PData1 38aまたは
PData2 38bのどちらか一方から読出される画
素値、及び(c)データパスにおいてホスト・プロセッ
サ12によりロードされるオペランド・レジスタ90に
記憶されるオペランドである。オペレーション結果は更
に、書込みマスク・レジスタ92の内容に従い変更され
る。このレジスタについてもホスト・プロセッサ12に
よりロードされる。オペレーション自体は、マルチプレ
クサ94aを介し、オペレーション・レジスタ94の内
容により指定される。計算データパス44はALU96
を含み、これは表2で表される指定されたオペレーショ
ンのセットを実行する。
の値を、指定されるオペレーションに従い変換する。こ
の変換は次に示す3つのデータ要素のいずれか2つを結
合する。すなわちそれらは、(a)画素メモリ46から
読出される画素値、(b)PData1 38aまたは
PData2 38bのどちらか一方から読出される画
素値、及び(c)データパスにおいてホスト・プロセッ
サ12によりロードされるオペランド・レジスタ90に
記憶されるオペランドである。オペレーション結果は更
に、書込みマスク・レジスタ92の内容に従い変更され
る。このレジスタについてもホスト・プロセッサ12に
よりロードされる。オペレーション自体は、マルチプレ
クサ94aを介し、オペレーション・レジスタ94の内
容により指定される。計算データパス44はALU96
を含み、これは表2で表される指定されたオペレーショ
ンのセットを実行する。
【0087】 表2 オペレーション 意味 ADD A+B SUBA B−A SUBB A−B AND AとBの論理積 OR AとBの論理和 XOR AとBの排他的論理和 NAND AとBの否定論理積 NOR AとBの否定論理和 NXOR AとBの否定排他的論理和
【0088】オペレーションはALUとオペレーション
・レジスタ94の内容により選択される。単純なオペレ
ーション、例えばALUの出力をゼロにセットする或い
は入力の1つをALUの出力にコピーするなどは、オペ
ランド・レジスタ90に適切な値をロードすることによ
り獲得される。
・レジスタ94の内容により選択される。単純なオペレ
ーション、例えばALUの出力をゼロにセットする或い
は入力の1つをALUの出力にコピーするなどは、オペ
ランド・レジスタ90に適切な値をロードすることによ
り獲得される。
【0089】オペレーション・レジスタ94の2ビット
は、表3に従いALU96への入力を選択する。
は、表3に従いALU96への入力を選択する。
【0090】 表3 ALU入力 A ALU入力 B バッファ・メモリ46 PData1 38aまたはPData2 38b バッファ・メモリ46 オペランド・レジスタ90 オペランド・レジスタ90 PData1 38aまたはPData2 38b オペランド・レジスタ90 オペランド・レジスタ90
【0091】書込みマスク・レジスタ92にはゼロがロ
ードされ、バッファ・メモリ46のロケーションの元の
内容は変更されないように維持される。これはPDat
a0バス32aをALUの近傍まで伝達し、その選択ビ
ットをマルチプレクサ98を介してゲートすることによ
り達成される。
ードされ、バッファ・メモリ46のロケーションの元の
内容は変更されないように維持される。これはPDat
a0バス32aをALUの近傍まで伝達し、その選択ビ
ットをマルチプレクサ98を介してゲートすることによ
り達成される。
【0092】最終結果はレジスタ100に書込まれ、こ
れはバッファ・メモリ46に入力されるDataInバ
ス44aに接続される。入力データが値であれば、すな
わちパイプライン・ステージTCが活動状態であれば、
最終結果はレジスタ100に書込まれる。これは制御装
置56の前述のパイプ・レジスタ154の出力であるP
HASE[1]とSTEP信号との組合せにより指示さ
れる。
れはバッファ・メモリ46に入力されるDataInバ
ス44aに接続される。入力データが値であれば、すな
わちパイプライン・ステージTCが活動状態であれば、
最終結果はレジスタ100に書込まれる。これは制御装
置56の前述のパイプ・レジスタ154の出力であるP
HASE[1]とSTEP信号との組合せにより指示さ
れる。
【0093】バッファ・メモリ46は画素データを記憶
する。バッファ・メモリ46は半導体メモリ、好適には
ダイナミック・ランダム・アクセス・メモリ(DRA
M)により構成される。バッファ・メモリ46はアドレ
ス・マネージャ48により、メモリ・アドレス(MAd
dr)バス48a及びメモリ制御(MCtrl)バス4
8bを介して制御及びアクセスされる。データは計算デ
ータパス44によりDataInバス44aを介して、
バッファ・メモリ46に書込まれる。バッファ・メモリ
46の出力はDataOutバス44bであり、これは
内部画素データ・バス(PData0)32aに接続さ
れる。
する。バッファ・メモリ46は半導体メモリ、好適には
ダイナミック・ランダム・アクセス・メモリ(DRA
M)により構成される。バッファ・メモリ46はアドレ
ス・マネージャ48により、メモリ・アドレス(MAd
dr)バス48a及びメモリ制御(MCtrl)バス4
8bを介して制御及びアクセスされる。データは計算デ
ータパス44によりDataInバス44aを介して、
バッファ・メモリ46に書込まれる。バッファ・メモリ
46の出力はDataOutバス44bであり、これは
内部画素データ・バス(PData0)32aに接続さ
れる。
【0094】本発明の実施例では、バッファ・メモリ4
6は1024x1024画素として編成され、各画素は
32ビットで表現される。バッファ・メモリ46は実施
例では32プレーンのDRAMデバイスにより構成さ
れ、これによりページ・モード・アクセスが提供され
る。画素はバッファ・メモリ46内に行主導形式で、す
なわち各走査線が1セグメント当たり256画素を含む
4つのセグメントに分割される形式で記憶される。図1
7で示されるように、各走査線セグメントは、バッファ
・メモリ46の1ページ内に記憶される。
6は1024x1024画素として編成され、各画素は
32ビットで表現される。バッファ・メモリ46は実施
例では32プレーンのDRAMデバイスにより構成さ
れ、これによりページ・モード・アクセスが提供され
る。画素はバッファ・メモリ46内に行主導形式で、す
なわち各走査線が1セグメント当たり256画素を含む
4つのセグメントに分割される形式で記憶される。図1
7で示されるように、各走査線セグメントは、バッファ
・メモリ46の1ページ内に記憶される。
【0095】この特定のメモリ編成が選択される理由
は、数多くのアプリケーションが画素バッファ間で画素
転送を拡張的に使用するためである。画素転送が一般に
走査線単位で実施されるという点で、1走査線内の画素
を効率的にアクセスすることが重要である。
は、数多くのアプリケーションが画素バッファ間で画素
転送を拡張的に使用するためである。画素転送が一般に
走査線単位で実施されるという点で、1走査線内の画素
を効率的にアクセスすることが重要である。
【0096】しかしながら、バッファ・メモリ46の多
数の異なる編成が使用可能である。例えば、2本の隣接
する走査線の走査線セグメントを記憶するために8バン
クのメモリが使用され、2本の走査線の画素アドレスは
全て、異なるバンクの各々の同一ページに含まれる。こ
こで図16及び図17に示される画素及びメモリ編成
は、本発明の実施例を制限するものではないことを述べ
ておく。
数の異なる編成が使用可能である。例えば、2本の隣接
する走査線の走査線セグメントを記憶するために8バン
クのメモリが使用され、2本の走査線の画素アドレスは
全て、異なるバンクの各々の同一ページに含まれる。こ
こで図16及び図17に示される画素及びメモリ編成
は、本発明の実施例を制限するものではないことを述べ
ておく。
【0097】アドレス・マネージャ48は画素アドレス
を生成及び変更するためにオペレートする。これらのア
ドレスはバッファ・メモリ46に提供され、また構成次
第では、画素アドレス・バス38cにも提供される。ア
ドレス・マネージャ48はまた、MCtrl信号48b
を生成することにより、バッファ・メモリ46のオペレ
ーションを制御する。上述のように、バッファ・メモリ
46の書込みオペレーションは、信号MUpdate4
0aがアサートされる場合に限り開始される。
を生成及び変更するためにオペレートする。これらのア
ドレスはバッファ・メモリ46に提供され、また構成次
第では、画素アドレス・バス38cにも提供される。ア
ドレス・マネージャ48はまた、MCtrl信号48b
を生成することにより、バッファ・メモリ46のオペレ
ーションを制御する。上述のように、バッファ・メモリ
46の書込みオペレーションは、信号MUpdate4
0aがアサートされる場合に限り開始される。
【0098】アドレス・マネージャ48はいくつかのコ
マンドに応答する。これらのコマンドには次に示すもの
が含まれる。
マンドに応答する。これらのコマンドには次に示すもの
が含まれる。
【0099】GENERATE 画面ボックスを定義する座標内の全ての画素に対応する
画素アドレスを生成する。 HOLD 画面ボックス座標の値を変更しないように維持する。 TRACKAddr PAddrバス38c上に現れた全ての画素の座標によ
り定義される境界ボックスを生成する。 TRACKUpd 関連するバッファ・メモリにおいて更新された全ての画
素により定義される境界ボックスを生成する。
画素アドレスを生成する。 HOLD 画面ボックス座標の値を変更しないように維持する。 TRACKAddr PAddrバス38c上に現れた全ての画素の座標によ
り定義される境界ボックスを生成する。 TRACKUpd 関連するバッファ・メモリにおいて更新された全ての画
素により定義される境界ボックスを生成する。
【0100】アドレス・マネージャ48はまたRESE
Tコマンドに応答し、その際LEFT及びTOPレジス
タ(50b、50d)には大きな値(0xff...
f)がロードされ、またRIGHT及びBOTTOMレ
ジスタ(50a、50c)にはゼロがロードされる。従
って、LEFT>RIGHT及びTOP>BOTTOM
となる。これはy=0が画面の最上部に、またx=0が
画面の左端に配置されると仮定すると、"負の"画素境界
ボックスを表す。
Tコマンドに応答し、その際LEFT及びTOPレジス
タ(50b、50d)には大きな値(0xff...
f)がロードされ、またRIGHT及びBOTTOMレ
ジスタ(50a、50c)にはゼロがロードされる。従
って、LEFT>RIGHT及びTOP>BOTTOM
となる。これはy=0が画面の最上部に、またx=0が
画面の左端に配置されると仮定すると、"負の"画素境界
ボックスを表す。
【0101】アドレス・マネージャ48は2つのモード
の内の一方により構成され、これらは特に受動モード及
び能動モードである。
の内の一方により構成され、これらは特に受動モード及
び能動モードである。
【0102】受動モードにおいては、アドレス・マネー
ジャ48は画素アドレス・バス38cから画素アドレス
を読出し、このアドレスをバッファ・メモリ46に伝搬
する。アドレス・マネージャ46は画素アドレス・バス
38cから読出される画素を囲む画面ボックスを動的に
構成する(TRACKコマンド)ためにプログラマブル
であり、画素バス38上に転送された全ての画素に対し
(TRACKAddrコマンド)、或いは関連するバッ
ファ・メモリ46において更新された画素だけに対して
(TRACKUpdコマンド)対応する。画面ボックス
座標はレジスタ(50a、50b、50c、50d)に
格納され、これらはX及びY画素座標の最小及び最大を
含む(left、top、right、botto
m)。レジスタ50a−50dはホスト・プロセッサ1
2によりホスト・バス30を介して読出し可能であり、
それによりホスト・プロセッサは画面の更新が発生した
か、及び、どの画面が影響されたかを判断する。初期化
のために、レジスタ50a−50dはゼロ領域画面ボッ
クスにリセットされる(RESETコマンド)。アドレ
ス・マネージャ48はまた、これらのレジスタの内容に
影響を及ぼすことなく、画面ボックスを定義するレジス
タの更新を中止するようにプログラムされる(HOLD
コマンド)。
ジャ48は画素アドレス・バス38cから画素アドレス
を読出し、このアドレスをバッファ・メモリ46に伝搬
する。アドレス・マネージャ46は画素アドレス・バス
38cから読出される画素を囲む画面ボックスを動的に
構成する(TRACKコマンド)ためにプログラマブル
であり、画素バス38上に転送された全ての画素に対し
(TRACKAddrコマンド)、或いは関連するバッ
ファ・メモリ46において更新された画素だけに対して
(TRACKUpdコマンド)対応する。画面ボックス
座標はレジスタ(50a、50b、50c、50d)に
格納され、これらはX及びY画素座標の最小及び最大を
含む(left、top、right、botto
m)。レジスタ50a−50dはホスト・プロセッサ1
2によりホスト・バス30を介して読出し可能であり、
それによりホスト・プロセッサは画面の更新が発生した
か、及び、どの画面が影響されたかを判断する。初期化
のために、レジスタ50a−50dはゼロ領域画面ボッ
クスにリセットされる(RESETコマンド)。アドレ
ス・マネージャ48はまた、これらのレジスタの内容に
影響を及ぼすことなく、画面ボックスを定義するレジス
タの更新を中止するようにプログラムされる(HOLD
コマンド)。
【0103】能動モードでは、画面ボックスを形成する
ために使用される同一のレジスタ(50aー50d)
は、アドレス・マネージャ48が画素アドレスを生成す
る4角形の画面領域を定義するために使用される。レジ
スタ50a−50dの内容は、画面ボックス座標を定義
し、これはホスト・プロセッサ12により外部的にプロ
グラムされるか、以前に実行されたTRACKコマンド
結果によりプログラムされる。画素アドレスが生成され
るシーケンスは、生成される第1の画素アドレスを指定
することによりプログラムされる。生成されるアドレス
は、アドレス・マネージャ48の出力をPAddrバス
38cに結合するバス・インタフェース52を介して、
画素アドレス・バス38cに書込まれる。受動モードで
は、画素アドレスは、バッファ・メモリ46にも転送さ
れる。
ために使用される同一のレジスタ(50aー50d)
は、アドレス・マネージャ48が画素アドレスを生成す
る4角形の画面領域を定義するために使用される。レジ
スタ50a−50dの内容は、画面ボックス座標を定義
し、これはホスト・プロセッサ12により外部的にプロ
グラムされるか、以前に実行されたTRACKコマンド
結果によりプログラムされる。画素アドレスが生成され
るシーケンスは、生成される第1の画素アドレスを指定
することによりプログラムされる。生成されるアドレス
は、アドレス・マネージャ48の出力をPAddrバス
38cに結合するバス・インタフェース52を介して、
画素アドレス・バス38cに書込まれる。受動モードで
は、画素アドレスは、バッファ・メモリ46にも転送さ
れる。
【0104】画素アドレス・バス38cから受信される
か、或いは内部的に生成され、バッファ・メモリ46に
転送される画素アドレスは、オフセット値を加算されて
変更される。この機能の実行のために、アドレス・マネ
ージャ48はxオフセット・レジスタ54a及びyオフ
セット・レジスタ54bを含む。アドレス・マネージャ
48は、記憶されるオフセットを(a)加算しない、
(b)読出しオペレーションの場合のみ加算、(c)書
込みオペレーションの場合のみ加算、或いは(d)読出
し及び書込みオペレーションの両方の場合で加算するよ
うにプログラマブルである。この機能により、画素アド
レスは異なる画面領域に関連される。例えば、画面領域
として、画素をコピーするための画面領域が挙げられ
る。
か、或いは内部的に生成され、バッファ・メモリ46に
転送される画素アドレスは、オフセット値を加算されて
変更される。この機能の実行のために、アドレス・マネ
ージャ48はxオフセット・レジスタ54a及びyオフ
セット・レジスタ54bを含む。アドレス・マネージャ
48は、記憶されるオフセットを(a)加算しない、
(b)読出しオペレーションの場合のみ加算、(c)書
込みオペレーションの場合のみ加算、或いは(d)読出
し及び書込みオペレーションの両方の場合で加算するよ
うにプログラマブルである。この機能により、画素アド
レスは異なる画面領域に関連される。例えば、画面領域
として、画素をコピーするための画面領域が挙げられ
る。
【0105】更に詳細には、図18を参照すると、アド
レス・マネージャ48は画素メモリ46をアクセスする
ためのアドレスを提供するアドレス発生器102を含
む。アドレス発生器102は内部レジスタを使用してア
ドレスを生成するか、或いは画素バス38からアドレス
を読出してオペレートする。このアドレスは次にオフセ
ット・ユニット104に転送され、ここでアドレスはプ
ログラムされたオフセットに従い変更される。オフセッ
ト・ユニット104のアドレス出力はDRAM制御装置
106に提供され、これが要求されるDRAMタイミン
グ信号(RAS及びCASなど)に従い、必要となるD
RAMの行及び列アドレスをバッファ・メモリ46に提
供する。
レス・マネージャ48は画素メモリ46をアクセスする
ためのアドレスを提供するアドレス発生器102を含
む。アドレス発生器102は内部レジスタを使用してア
ドレスを生成するか、或いは画素バス38からアドレス
を読出してオペレートする。このアドレスは次にオフセ
ット・ユニット104に転送され、ここでアドレスはプ
ログラムされたオフセットに従い変更される。オフセッ
ト・ユニット104のアドレス出力はDRAM制御装置
106に提供され、これが要求されるDRAMタイミン
グ信号(RAS及びCASなど)に従い、必要となるD
RAMの行及び列アドレスをバッファ・メモリ46に提
供する。
【0106】図19はアドレス発生器102の詳細な構
成を示す。アドレス発生器102はRIGHT50a、
LEFT50b、BOTTOM50c、及びTOP50
dレジスタを含む。これらのレジスタ50a−50d
は、ホスト・プロセッサのデータ・バス30aからマル
チプレクサ・グループ108を介して直接ロードされる
か、或いはオフセット・ユニット104に記憶されるア
ドレスからロードされる(AWRITE)。これらのレ
ジスタはまた、全てゼロ或いは全て1にセットされる。
アドレス発生器102は(≧)機能を実行する第1の比
較器110、及び(≦)機能を実行する第2の比較器1
10を含む。比較器110のA入力は、LEFTレジス
タ50b、或いはTOPレジスタ50dの出力の一方を
選択するマルチプレクサ114から提供される。比較器
110のB入力は、PAddrバス38C上に現れる画
素アドレス、或いはXYカウンタ118により生成され
る画素アドレス(CNT XY)の一方を選択するマル
チプレクサ116から提供される。カウンタ118はマ
ルチプレクサ120を介し、マルチプレクサ114の出
力(LOW)、或いはマルチプレクサ122の出力(H
IGH)によりプリセットされる。カウンタ118は、
定義された画面ボックスの4つのコーナのいずれか1つ
から走査を開始するようにプログラムされる。カウンタ
118はまたBUSY信号を生成し、この信号は読出し
専用ステータス信号として、後述されるステータス・レ
ジスタ152に提供される。
成を示す。アドレス発生器102はRIGHT50a、
LEFT50b、BOTTOM50c、及びTOP50
dレジスタを含む。これらのレジスタ50a−50d
は、ホスト・プロセッサのデータ・バス30aからマル
チプレクサ・グループ108を介して直接ロードされる
か、或いはオフセット・ユニット104に記憶されるア
ドレスからロードされる(AWRITE)。これらのレ
ジスタはまた、全てゼロ或いは全て1にセットされる。
アドレス発生器102は(≧)機能を実行する第1の比
較器110、及び(≦)機能を実行する第2の比較器1
10を含む。比較器110のA入力は、LEFTレジス
タ50b、或いはTOPレジスタ50dの出力の一方を
選択するマルチプレクサ114から提供される。比較器
110のB入力は、PAddrバス38C上に現れる画
素アドレス、或いはXYカウンタ118により生成され
る画素アドレス(CNT XY)の一方を選択するマル
チプレクサ116から提供される。カウンタ118はマ
ルチプレクサ120を介し、マルチプレクサ114の出
力(LOW)、或いはマルチプレクサ122の出力(H
IGH)によりプリセットされる。カウンタ118は、
定義された画面ボックスの4つのコーナのいずれか1つ
から走査を開始するようにプログラムされる。カウンタ
118はまたBUSY信号を生成し、この信号は読出し
専用ステータス信号として、後述されるステータス・レ
ジスタ152に提供される。
【0107】比較器112のA入力は、マルチプレクサ
116により提供される。比較器112のB入力は、R
IGHTレジスタ50a或いはBOTTOMレジスタ5
0Cの出力の一方を選択するマルチプレクサ112を介
して提供される。2個の比較器の出力は論理ブロック1
24に提供され、これは画素アドレスと記憶される画面
ボックス座標との比較結果により、画素アドレスが定義
された画面ボックス内に存在することが示されると、信
号INSIDEを生成する。このINSIDE信号は、
xy−カウンタ118の使用可能制御入力として使用さ
れ、これによりカウンタは定義された画面ボックスの内
側と定義される画面領域に対し、画素アドレスを生成す
る。
116により提供される。比較器112のB入力は、R
IGHTレジスタ50a或いはBOTTOMレジスタ5
0Cの出力の一方を選択するマルチプレクサ112を介
して提供される。2個の比較器の出力は論理ブロック1
24に提供され、これは画素アドレスと記憶される画面
ボックス座標との比較結果により、画素アドレスが定義
された画面ボックス内に存在することが示されると、信
号INSIDEを生成する。このINSIDE信号は、
xy−カウンタ118の使用可能制御入力として使用さ
れ、これによりカウンタは定義された画面ボックスの内
側と定義される画面領域に対し、画素アドレスを生成す
る。
【0108】アドレス発生器102は1パイプライン・
サイクル内でそのタスクを完了する必要があるため、す
なわち1パイプライン・フェーズおきであるため、X及
びY座標の計算は2つのパイプライン・フェーズに渡り
分散される。第1のフェーズ間にX座標が更新され、第
2のフェーズの間にY座標が更新される。画素アドレス
・バス38cからのX及びYアドレス、或いはXY−カ
ウンタ118により生成されるアドレスの一方は、X−
マルチプレクサ126及びY−マルチプレクサ128を
介して、オフセット・ユニット104に出力される。
サイクル内でそのタスクを完了する必要があるため、す
なわち1パイプライン・フェーズおきであるため、X及
びY座標の計算は2つのパイプライン・フェーズに渡り
分散される。第1のフェーズ間にX座標が更新され、第
2のフェーズの間にY座標が更新される。画素アドレス
・バス38cからのX及びYアドレス、或いはXY−カ
ウンタ118により生成されるアドレスの一方は、X−
マルチプレクサ126及びY−マルチプレクサ128を
介して、オフセット・ユニット104に出力される。
【0109】前述のTRACKコマンドに関し、表現
(P_ADDR.? >= ????)及び(P_AD
DR.? <= ????)は、連続するステップにお
いて、それぞれ比較器110及び112により決定され
る。これらのテスト結果は、FLAGi(i=lef
t、right、top、bottom)として指定さ
れる4つのフリップ・フロップ110a及び112aに
記憶され、後にLEFT、RIGHT、TOP、BOT
TOMレジスタ50a−50dに対する更新信号を識別
するために使用される。例えば、FLAGleft=
(P_ADDR.x<LEFT)を示す。
(P_ADDR.? >= ????)及び(P_AD
DR.? <= ????)は、連続するステップにお
いて、それぞれ比較器110及び112により決定され
る。これらのテスト結果は、FLAGi(i=lef
t、right、top、bottom)として指定さ
れる4つのフリップ・フロップ110a及び112aに
記憶され、後にLEFT、RIGHT、TOP、BOT
TOMレジスタ50a−50dに対する更新信号を識別
するために使用される。例えば、FLAGleft=
(P_ADDR.x<LEFT)を示す。
【0110】これらのテストはGA及びMAステップの
間に実行されるが、画面ボックス・レジスタ50a−5
0dはWEステップにおいてのみ更新される点で、画素
アドレスは一時的に保管されねばならない。これは後述
されるように、オフセット・ユニット104により、レ
ジスタAWRITE132を使用して実行される。
間に実行されるが、画面ボックス・レジスタ50a−5
0dはWEステップにおいてのみ更新される点で、画素
アドレスは一時的に保管されねばならない。これは後述
されるように、オフセット・ユニット104により、レ
ジスタAWRITE132を使用して実行される。
【0111】同様な理由で、すなわち次のセットのフラ
グ(FLAGi)は第1のセットのフラグが使用される
以前に生成される点で、FLAGi_AUXとして指定
される第2のセットのフリップ・フロップ110b及び
112bが設けられ、これはステップTCの間にFLA
Giフリップ・フロップ110a及び112aから値を
受信する。
グ(FLAGi)は第1のセットのフラグが使用される
以前に生成される点で、FLAGi_AUXとして指定
される第2のセットのフリップ・フロップ110b及び
112bが設けられ、これはステップTCの間にFLA
Giフリップ・フロップ110a及び112aから値を
受信する。
【0112】WRステップの間に、レジスタAWRIT
E132の内容は、条件付きでレジスタLEFT、RI
GHT、TOP、BOTTOM(50a−50d)にコ
ピーされる。
E132の内容は、条件付きでレジスタLEFT、RI
GHT、TOP、BOTTOM(50a−50d)にコ
ピーされる。
【0113】このデータ転送における条件は、TRAC
KAddrコマンドに関しては、FLAGi_AUX
かつ PHASE[2] かつ STEPであり、TR
ACKUpdコマンドに関しては、FLAGi_AUX
かつ MUpdate かつ PHASE[2]かつ
STEPである。
KAddrコマンドに関しては、FLAGi_AUX
かつ PHASE[2] かつ STEPであり、TR
ACKUpdコマンドに関しては、FLAGi_AUX
かつ MUpdate かつ PHASE[2]かつ
STEPである。
【0114】TRACKAddrコマンドは、PAdd
rバス38c上における現行画面ボックスの外側に位置
する全ての画素に対する更新を実行する。TRACKU
pdコマンドに関しては、バッファ・メモリ46内の対
応する画素が変更された場合、すなわちMUpdate
=1の時に限り、上記更新が実行される。
rバス38c上における現行画面ボックスの外側に位置
する全ての画素に対する更新を実行する。TRACKU
pdコマンドに関しては、バッファ・メモリ46内の対
応する画素が変更された場合、すなわちMUpdate
=1の時に限り、上記更新が実行される。
【0115】次に示す表4はTRACKコマンド・オペ
レーションをまとめたものである。
レーションをまとめたものである。
【0116】 表4 フェーズ ステップ 活動 1 GA X座標をテストする。 2 MA FLAGleft及びFLAGright を書込む。 3 RD Y座標をテストする。 FLAGtop及びFLAGbottom を書込む。 4 TC FLAGiをFLAG_AUXにコピー 5 DM 6 WR TRACKAddr: if(FLAGtop_AUX)then TOP=AWRITE.y TRACKUpd: if(FLAGtop_AUX及びMUpd ate)then TOP=AWRITE.y dto.for left、right及びb ottom
【0117】図20はオフセット・ユニット104の構
成を詳細に示す。オフセット・ユニットはアドレス発生
器102から受信されるアドレスを、条件付きでXY−
座標にオフセット値を加算することにより変換する。こ
のオフセットはバッファ・メモリ46に対する書込みア
クセス、読出しアクセス、或いは両タイプのアクセスに
おいて加算される。
成を詳細に示す。オフセット・ユニットはアドレス発生
器102から受信されるアドレスを、条件付きでXY−
座標にオフセット値を加算することにより変換する。こ
のオフセットはバッファ・メモリ46に対する書込みア
クセス、読出しアクセス、或いは両タイプのアクセスに
おいて加算される。
【0118】上述のパイプライン技術によれば、連続す
る画素のオペレーションは、前回の画素が画素メモリ4
6に書き戻されるより以前に画素値の読出しが発生する
ようにオーバーラップされる。その結果、画素アドレス
がバッファされる必要が生じる。このバッファ作用はレ
ジスタAREAD130及びAWRITE132により
実施される。これらのレジスタは、次の読出しアクセス
或いは次の書込みアクセスにおける(未変更の)画素メ
モリ46のアドレスをそれぞれ格納する。AREADレ
ジスタ130はアドレス発生器102のマルチプレクサ
126及び128の出力を受信する。AREADレジス
タ130に記憶されるアドレスが実際の読出しアドレス
を形成するために使用された後、この読出しアドレスは
レジスタあWRITE132に転送され、続く画素の処
理期間中、保存される。マルチプレクサ134はレジス
タ130及び132の間で選択し、出力をX加算器13
6及びY加算器138に提供する。X加算器136の第
2の入力は、Xオフセット・レジスタ54aから提供さ
れる。Y加算器138の第2の入力は、Yオフセット・
レジスタ54bから提供される。レジスタ54a及び5
4bは、予めホスト・データ・バス30aから受信され
たそれぞれX及びYオフセット値を記憶している。変更
アドレス(AMOD)140を記憶する出力レジスタ1
40は、DRAM制御装置106とのインタフェースを
形成する。論理142は、Yアドレスがバッファ・メモ
リ46に対する最後のアクセスから変更されたかを検出
するために提供される。変更が検出されると、これは画
素メモリ46に対する次のアクセスが、バッファ・メモ
リ46の異なるページを指すことを示す。PAGE信号
のアサーションにより、DRAM制御装置106はバッ
ファ・メモリ46に対するページ・モード・アクセスの
発行を停止する。PAGE信号のアサーションはまた、
画素バス32上にWAIT信号を生成する。これはバッ
ファ・メモリ46に対する標準のアクセスは、ページ・
モード・アクセスに比較して、より時間を必要とするこ
とによる。表5はオフセット・ユニット104のオペレ
ーションをまとめたものであり、これらのオペレーショ
ンと画素オペレーションのステップ及びフェーズとの関
連を示す。
る画素のオペレーションは、前回の画素が画素メモリ4
6に書き戻されるより以前に画素値の読出しが発生する
ようにオーバーラップされる。その結果、画素アドレス
がバッファされる必要が生じる。このバッファ作用はレ
ジスタAREAD130及びAWRITE132により
実施される。これらのレジスタは、次の読出しアクセス
或いは次の書込みアクセスにおける(未変更の)画素メ
モリ46のアドレスをそれぞれ格納する。AREADレ
ジスタ130はアドレス発生器102のマルチプレクサ
126及び128の出力を受信する。AREADレジス
タ130に記憶されるアドレスが実際の読出しアドレス
を形成するために使用された後、この読出しアドレスは
レジスタあWRITE132に転送され、続く画素の処
理期間中、保存される。マルチプレクサ134はレジス
タ130及び132の間で選択し、出力をX加算器13
6及びY加算器138に提供する。X加算器136の第
2の入力は、Xオフセット・レジスタ54aから提供さ
れる。Y加算器138の第2の入力は、Yオフセット・
レジスタ54bから提供される。レジスタ54a及び5
4bは、予めホスト・データ・バス30aから受信され
たそれぞれX及びYオフセット値を記憶している。変更
アドレス(AMOD)140を記憶する出力レジスタ1
40は、DRAM制御装置106とのインタフェースを
形成する。論理142は、Yアドレスがバッファ・メモ
リ46に対する最後のアクセスから変更されたかを検出
するために提供される。変更が検出されると、これは画
素メモリ46に対する次のアクセスが、バッファ・メモ
リ46の異なるページを指すことを示す。PAGE信号
のアサーションにより、DRAM制御装置106はバッ
ファ・メモリ46に対するページ・モード・アクセスの
発行を停止する。PAGE信号のアサーションはまた、
画素バス32上にWAIT信号を生成する。これはバッ
ファ・メモリ46に対する標準のアクセスは、ページ・
モード・アクセスに比較して、より時間を必要とするこ
とによる。表5はオフセット・ユニット104のオペレ
ーションをまとめたものであり、これらのオペレーショ
ンと画素オペレーションのステップ及びフェーズとの関
連を示す。
【0119】 表5 フェーズ ステップ 活動 1 GA アドレス発生器がAREADを書込む。 MA オフセット・ユニットがAREADの内容を 変更し、AMODを書込む。 2 RD DRAM制御装置がメモリに対する読出しア クセスを実行する。AWRITE:=ARE AD TC 3 DM オフセット・ユニットがAWRITEの内容 を変更し、AMODを書込む。 WR DRAM制御装置がメモリに対する書込みア クセスを実行する。
【0120】画素バス・インタフェース52はM−バッ
ファ22・システムの一部として、バッファ・モジュー
ルを構成する。これはどの情報が画素バス38から表面
バッファ・モジュール32へ伝搬されるか、またどの情
報が表面バッファ・モジュール32から画素バス38に
転送されるかを制御する。
ファ22・システムの一部として、バッファ・モジュー
ルを構成する。これはどの情報が画素バス38から表面
バッファ・モジュール32へ伝搬されるか、またどの情
報が表面バッファ・モジュール32から画素バス38に
転送されるかを制御する。
【0121】表面バッファ・モジュール32はまた制御
ブロック56を含み、これは表面バッファ・モジュール
32の全体的なオペレーションを制御する。
ブロック56を含み、これは表面バッファ・モジュール
32の全体的なオペレーションを制御する。
【0122】図8を参照すると、制御ブロック56の詳
細が示される。制御ブロック56は3つの主要素を含
み、これらはホスト・プロセッサ12とのインタフェー
ス150、前述のステータス・レジスタ152、及び前
述のパイプ・レジスタ154である。ホスト・インタフ
ェース150はホスト・バス30の制御線(HCtrl
30c)を解釈し、関連する表面バッファ・モジュール
32に対する読出し及び書込みオペレーションを識別す
る。こうしたオペレーションが発生すると、ホスト・イ
ンタフェース150はHRead或いはHWriteを
セットし、それぞれの場合においてホスト読出しサイク
ル或いは書込みサイクルを示す。ホスト・プロセッサ1
2がステータス・レジスタ152をアドレス指定する
と、信号A15がアサートされる。信号A15は、ホス
ト・アドレス・バス(HAddr30b)が値15(0
x0...0f)を有するときにアサートされる。
細が示される。制御ブロック56は3つの主要素を含
み、これらはホスト・プロセッサ12とのインタフェー
ス150、前述のステータス・レジスタ152、及び前
述のパイプ・レジスタ154である。ホスト・インタフ
ェース150はホスト・バス30の制御線(HCtrl
30c)を解釈し、関連する表面バッファ・モジュール
32に対する読出し及び書込みオペレーションを識別す
る。こうしたオペレーションが発生すると、ホスト・イ
ンタフェース150はHRead或いはHWriteを
セットし、それぞれの場合においてホスト読出しサイク
ル或いは書込みサイクルを示す。ホスト・プロセッサ1
2がステータス・レジスタ152をアドレス指定する
と、信号A15がアサートされる。信号A15は、ホス
ト・アドレス・バス(HAddr30b)が値15(0
x0...0f)を有するときにアサートされる。
【0123】ステータス・レジスタ152は2つの部分
に分割される。第1の部分はホスト・プロセッサ12に
より書込み及び読出し可能である。この部分は表面バッ
ファ・モジュール32のための構成データを格納する。
ステータス・レジスタ152の第2の部分は読出し専用
ロケーションであり、表面バッファ・モジュール32の
現行のオペレーション・ステータスを指示する。本発明
の実施例では、読出し専用部分は、このモジュールのB
USYステータス及びUpdateステータスをホスト
・プロセッサ12に提供する。ステータス・レジスタ信
号の機能を表6に示す。
に分割される。第1の部分はホスト・プロセッサ12に
より書込み及び読出し可能である。この部分は表面バッ
ファ・モジュール32のための構成データを格納する。
ステータス・レジスタ152の第2の部分は読出し専用
ロケーションであり、表面バッファ・モジュール32の
現行のオペレーション・ステータスを指示する。本発明
の実施例では、読出し専用部分は、このモジュールのB
USYステータス及びUpdateステータスをホスト
・プロセッサ12に提供する。ステータス・レジスタ信
号の機能を表6に示す。
【0124】 表6 名称 機能 RAEDY(BUSY) 0:画面領域がスキャン・アウト中である 。 1:バッファが画面領域をスキャン・アウ ト中でない。 CHANGED(Update) 最後にこのフラグがリセットされて以来、 バッファが変更された。 WVIDEO このビットはそのバッファ・メモリが画素 情報を表示装置24にスキャン・アウトす るために使用されるビデオRAN(VRA M)から生成されるバッファ・モジールに 使用される。1の場合、画素情報はスキャ ン・アウトされる。0の場合、走査オペレ ーションは発生しない。 ENABLE 0:メモリへの書込み不可。画素バスから 切断する。 1:通常のオペレーションが許可される。 WADDRアドレス・バスPAddr 38cを駆動する。 WDATA2 データ・バスPData38bを駆動す る。 WDATA1 データ・バスPData38aを駆動す る。 RDATA2 ソース・データ・バスPData2を選択 する。 RDATA1 ソース・データ・バスPData1を選択 する。 OFFSETMODE(OMode) オフセット・レジスタを使用する現行モ ード。 DIRMODE(DMode) 画面領域をスキャン・アウトする現行方 向。 ADDRMODE(AMode) アドレス発生器のオペレーションの現行モ ード。 FUNCTIONENA: アサートされると、計算データパスにより 実行されるオペレーションは、判断テーブ ル40から出力されるオペコード(FUN CTION34b)により決定される。 セットされない場合、計算データパスのオ ペレーションはオペレーション・レジスタ 94内のオペコードにより決定される。こ のビットは制御バッファ34のためにのみ 使用される。
【0125】前述のように、パイプ・レジスタ154は
3ビットのシフト・レジスタとして実施される。各ビッ
トはパイプライン・ステージの1つに対応する。あるビ
ット位置における論理1は、対応するステージが活動状
態、すなわちデータにより充填されていることを示す。
反対に、ゼロはステージが非活動状態であることを示
す。新たな画素データが画素バス38上に出力される
と、これはNEW信号及びSTEP信号によりパイプ・
レジスタ154に入力される。STEP信号の次のエッ
ジにより、この論理1はパイプ・レジスタ154の残り
のステージを通過して伝搬される。パイプ・レジスタ1
54の出力は、入力されるWAIT信号及びENABL
Eステータス・ビットと共に、論理154aと記され
る。
3ビットのシフト・レジスタとして実施される。各ビッ
トはパイプライン・ステージの1つに対応する。あるビ
ット位置における論理1は、対応するステージが活動状
態、すなわちデータにより充填されていることを示す。
反対に、ゼロはステージが非活動状態であることを示
す。新たな画素データが画素バス38上に出力される
と、これはNEW信号及びSTEP信号によりパイプ・
レジスタ154に入力される。STEP信号の次のエッ
ジにより、この論理1はパイプ・レジスタ154の残り
のステージを通過して伝搬される。パイプ・レジスタ1
54の出力は、入力されるWAIT信号及びENABL
Eステータス・ビットと共に、論理154aと記され
る。
【0126】パイプ・レジスタ154は循環シフト・レ
ジスタとして構成されない点で、新たな画素が生成さ
れ、NEW信号がアサートされる度に、論理1がパイプ
・レジスタ154の最下位ビット(Phase[0])
にシフトされる。同時に、最下位ビットに在中する情報
はパイプ・レジスタ154の次のビット位置、すなわち
Phase[1]にシフトされる。同様に、情報はPh
ase[1]からPhase[2]に伝搬される。従っ
て、最大3つの論理1が同時にパイプ・レジスタ154
内に在中することができる。次にこれらの3つのビット
の組合せと、その意味合いの関係について示す。
ジスタとして構成されない点で、新たな画素が生成さ
れ、NEW信号がアサートされる度に、論理1がパイプ
・レジスタ154の最下位ビット(Phase[0])
にシフトされる。同時に、最下位ビットに在中する情報
はパイプ・レジスタ154の次のビット位置、すなわち
Phase[1]にシフトされる。同様に、情報はPh
ase[1]からPhase[2]に伝搬される。従っ
て、最大3つの論理1が同時にパイプ・レジスタ154
内に在中することができる。次にこれらの3つのビット
の組合せと、その意味合いの関係について示す。
【0127】 パイプ・レジスタ154の内容 意味合い 000 活動状態の画素が存在しない。 001 ステップGA及びMAが活動状態。 011 ステップGA、MA、RD及びTC が活動状態。 111 全てのステップが活動状態で、パイ プラインがフル状態。 101 ステップRD及びTCが遊休状態。
【0128】制御バッファ 図12を参照すると、制御バッファ・モジュール34の
構成は、表面バッファ・モジュール32の場合と類似し
ている。違いは制御バッファ・モジュール34の異なる
機能を反映する。表面バッファ・モジュール32の要素
に共通な要素はプライム記号を付加した参照番号により
指定される。
構成は、表面バッファ・モジュール32の場合と類似し
ている。違いは制御バッファ・モジュール34の異なる
機能を反映する。表面バッファ・モジュール32の要素
に共通な要素はプライム記号を付加した参照番号により
指定される。
【0129】特に、制御バッファ・モジュール34に記
憶される画素に関連する情報は、典型的には1ビット或
いはせいぜい数ビット幅である。効率を維持するため
に、これらのデータ項目のいくつかは制御バッファ・モ
ジュール34のバッファ・メモリ46´に記憶される。
従って、テスト・データパス42´及び計算データパス
44´は、メモリ・ワードのサブセット或いは本実施例
では32ビットの画素グループ上で動作する。
憶される画素に関連する情報は、典型的には1ビット或
いはせいぜい数ビット幅である。効率を維持するため
に、これらのデータ項目のいくつかは制御バッファ・モ
ジュール34のバッファ・メモリ46´に記憶される。
従って、テスト・データパス42´及び計算データパス
44´は、メモリ・ワードのサブセット或いは本実施例
では32ビットの画素グループ上で動作する。
【0130】また、バッファ・メモリ46´の内容は外
部ソースからロードされるのではなく、内部的に形成さ
れる。例えば、画素フラグはPResultバス38d
上に報告されるテスト結果に従いセット或いはリセット
される。このように制御バッファ・モジュール34は、
画素データ・バス38a、38bへの接続を必要とせ
ず、また有さない。
部ソースからロードされるのではなく、内部的に形成さ
れる。例えば、画素フラグはPResultバス38d
上に報告されるテスト結果に従いセット或いはリセット
される。このように制御バッファ・モジュール34は、
画素データ・バス38a、38bへの接続を必要とせ
ず、また有さない。
【0131】しばしば、次の画素値を計算するためのオ
ペレーションは、画素テスト結果に依存する。例えば、
画素カウンタはテストが進行するとインクリメントさ
れ、テストが失敗するとデクリメントされる。従って、
計算データパス44´により実行されるオペレーション
は、テスト結果に依存して動的に選択可能である。これ
は判断テーブル40´から出力される追加のFunct
ion34bにより実施される。Function出力
34bは計算データパス44´により実行されるファン
クションを選択する。すなわち、Function出力
34bはオペコードを伝達し、これに計算データパス4
4´が応答する。
ペレーションは、画素テスト結果に依存する。例えば、
画素カウンタはテストが進行するとインクリメントさ
れ、テストが失敗するとデクリメントされる。従って、
計算データパス44´により実行されるオペレーション
は、テスト結果に依存して動的に選択可能である。これ
は判断テーブル40´から出力される追加のFunct
ion34bにより実施される。Function出力
34bは計算データパス44´により実行されるファン
クションを選択する。すなわち、Function出力
34bはオペコードを伝達し、これに計算データパス4
4´が応答する。
【0132】更に詳しくは、図11及び図9を参照する
と、制御モジュール34において、判断テーブル40´
はマルチプレクサ64a及び出力レジスタ70aを含
む。PResultバス38dのビットはマルチプレク
サ64aの出力ビットを選択し、これはレジスタ70a
によりラッチされる。レジスタ70aの出力はFunc
tionバス34bを駆動する。ホスト・プロセッサに
よりロードされるオペレーション・レジスタ94の出力
と、判断テーブル40´により生成されるオペコードの
間の選択は、上述のように、FUNCIONENAと指
定されるステータス・レジスタ152のビットにより制
御される。このようにホスト・プロセッサ12は、計算
データパス44´のオペレーション(オペコード)を、
レジスタ94の出力或いは判断テーブル40´内のレジ
スタ70aの出力の一方から選択できる。
と、制御モジュール34において、判断テーブル40´
はマルチプレクサ64a及び出力レジスタ70aを含
む。PResultバス38dのビットはマルチプレク
サ64aの出力ビットを選択し、これはレジスタ70a
によりラッチされる。レジスタ70aの出力はFunc
tionバス34bを駆動する。ホスト・プロセッサに
よりロードされるオペレーション・レジスタ94の出力
と、判断テーブル40´により生成されるオペコードの
間の選択は、上述のように、FUNCIONENAと指
定されるステータス・レジスタ152のビットにより制
御される。このようにホスト・プロセッサ12は、計算
データパス44´のオペレーション(オペコード)を、
レジスタ94の出力或いは判断テーブル40´内のレジ
スタ70aの出力の一方から選択できる。
【0133】仮想バッファ グラフィックス・サブシステム10の他の構成要素は、
仮想バッファ36によりM−バッファ22とインタフェ
ースされる。M−バッファ22は画素バス38から入力
データを受信し、出力データを画素バス38に出力す
る。仮想バッファ36は画素バス38とインタフェース
され、画素バス38に関する物理バッファとして機能す
る。これは異なるユニット及び装置をM−バッファ22
に接続するための標準的な手段を提供する。この技術
は、ファネル(funnel)画素への指定パスをバッ
ファ構造に設け、画素オペレーション用に他のバスを設
ける従来のバッファ・アーキテクチャの制約を除去す
る。本発明は、異なる画素処理ステージ間における画素
情報の転送を可能とする中央ユニバーサル・バス(画素
バス38)を提供することにより、これらの制限を克服
する。
仮想バッファ36によりM−バッファ22とインタフェ
ースされる。M−バッファ22は画素バス38から入力
データを受信し、出力データを画素バス38に出力す
る。仮想バッファ36は画素バス38とインタフェース
され、画素バス38に関する物理バッファとして機能す
る。これは異なるユニット及び装置をM−バッファ22
に接続するための標準的な手段を提供する。この技術
は、ファネル(funnel)画素への指定パスをバッ
ファ構造に設け、画素オペレーション用に他のバスを設
ける従来のバッファ・アーキテクチャの制約を除去す
る。本発明は、異なる画素処理ステージ間における画素
情報の転送を可能とする中央ユニバーサル・バス(画素
バス38)を提供することにより、これらの制限を克服
する。
【0134】図21を参照すると、仮想バッファ36は
物理バッファ(32、34)により提供される機能のサ
ブセットを提供する。例えば、走査変換ユニットを構成
する仮想バッファ36は、画素アドレス及び画素データ
を画素バス38上に提供する読出し専用バッファ(ロー
カル・メモリ36a)だけを含む。仮想バッファ36に
より実施される他の機能の例を次に示す。
物理バッファ(32、34)により提供される機能のサ
ブセットを提供する。例えば、走査変換ユニットを構成
する仮想バッファ36は、画素アドレス及び画素データ
を画素バス38上に提供する読出し専用バッファ(ロー
カル・メモリ36a)だけを含む。仮想バッファ36に
より実施される他の機能の例を次に示す。
【0135】仮想バッファ36はフレーム・バッファと
して機能し、標準バッファの全ての機能を提供する。こ
の場合、画素データを出力装置24に転送する第2のイ
ンタフェース(入出力インタフェース36b)が提供さ
れる。
して機能し、標準バッファの全ての機能を提供する。こ
の場合、画素データを出力装置24に転送する第2のイ
ンタフェース(入出力インタフェース36b)が提供さ
れる。
【0136】仮想バッファ36はビデオ・バッファとし
て機能する。この場合、入出力インタフェース36b
は、ビデオ・カメラなどのビデオ・ソースから画素情報
を受信するために適応される。受信されたビデオ・デー
タは内部バッファ・メモリ36aに局所的に記憶され、
続いて画素バス38を介してM−バッファ22に伝搬さ
れる。この実施例では、ローカル・メモリ36aは先入
れ先出し方式(FIFO)バッファとして実施される。
て機能する。この場合、入出力インタフェース36b
は、ビデオ・カメラなどのビデオ・ソースから画素情報
を受信するために適応される。受信されたビデオ・デー
タは内部バッファ・メモリ36aに局所的に記憶され、
続いて画素バス38を介してM−バッファ22に伝搬さ
れる。この実施例では、ローカル・メモリ36aは先入
れ先出し方式(FIFO)バッファとして実施される。
【0137】仮想バッファ36は、例えばユーザにより
発行される入力事象の画素座標に対する画素アドレスを
生成する入力装置とのインタフェース機能を果たす。こ
れらの画素座標は入出力インタフェース36bを介して
受信され、画素アドレス・バス38cを介してM−バッ
ファ22に導かれる。
発行される入力事象の画素座標に対する画素アドレスを
生成する入力装置とのインタフェース機能を果たす。こ
れらの画素座標は入出力インタフェース36bを介して
受信され、画素アドレス・バス38cを介してM−バッ
ファ22に導かれる。
【0138】ここで特定の実施例では、画素バス38に
対する全ての接続が要求される訳ではない。例えば、仮
想バッファ36はPDataバス(38a、38b)の
一方との間においてのみ、データの送受信を提供する可
能性がある。またいくつかの応用例では、仮想バッファ
36は独立され、入出力インタフェース36は必要とさ
れない。例えば、仮想バッファ36は、間接画素(U、
V)アドレスを受信し、対応する表面テクスチャ情報を
出力する順次テクスチャ発生器を構成する。
対する全ての接続が要求される訳ではない。例えば、仮
想バッファ36はPDataバス(38a、38b)の
一方との間においてのみ、データの送受信を提供する可
能性がある。またいくつかの応用例では、仮想バッファ
36は独立され、入出力インタフェース36は必要とさ
れない。例えば、仮想バッファ36は、間接画素(U、
V)アドレスを受信し、対応する表面テクスチャ情報を
出力する順次テクスチャ発生器を構成する。
【0139】更に、仮想バッファ36はPResult
38dを使用するためには要求されない。すなわち、オ
ペレーションはテスト結果とは独立である。しかしなが
ら、PResultバス38dの1本或いは数本のライ
ンを制御することは、仮想バッファ36にとって有利で
ある。例えば、ラスタライザとして機能する際、仮想バ
ッファはPResultバス38dのラインを制御する
ことにより、画素を前面或いは後面に属するものとして
記する。この技術は後述されるトリクル・アルゴリズム
を実施する際に有用である。
38dを使用するためには要求されない。すなわち、オ
ペレーションはテスト結果とは独立である。しかしなが
ら、PResultバス38dの1本或いは数本のライ
ンを制御することは、仮想バッファ36にとって有利で
ある。例えば、ラスタライザとして機能する際、仮想バ
ッファはPResultバス38dのラインを制御する
ことにより、画素を前面或いは後面に属するものとして
記する。この技術は後述されるトリクル・アルゴリズム
を実施する際に有用である。
【0140】要するに、本発明はバッファ・メモリ46
の内容に関する多重並列画素テストを実施し、これらの
テスト結果を組み合わせることにより、複雑な更新条件
を形成する。各バッファ・モジュールにおけるテスト・
ユニット42はホスト・プロセッサ12により個々にプ
ログラムされ、異なるテストを実行する。これらのテス
トはバッファ・メモリ46から読出される画素値、画素
バス38から受信される画素値、及びテスト・データパ
ス内部のプログラマブルなレジスタに記憶される値の組
合せを考慮する。所与のテストの結果(真または偽)は
他の全てのバッファ・モジュール(32、34、36)
に同報通信される。全てのテストの結果の組合せによ
り、特定のバッファ・モジュールがその関連する内部バ
ッファ・メモリ46に新たな画素値を書込むかどうかが
決定される。指定されるテストとは独立に、各バッファ
・モジュールは判断テーブル40内にブール関数を格納
し、その内部バッファ・メモリ46が更新されるテスト
結果の組合せを定義する。
の内容に関する多重並列画素テストを実施し、これらの
テスト結果を組み合わせることにより、複雑な更新条件
を形成する。各バッファ・モジュールにおけるテスト・
ユニット42はホスト・プロセッサ12により個々にプ
ログラムされ、異なるテストを実行する。これらのテス
トはバッファ・メモリ46から読出される画素値、画素
バス38から受信される画素値、及びテスト・データパ
ス内部のプログラマブルなレジスタに記憶される値の組
合せを考慮する。所与のテストの結果(真または偽)は
他の全てのバッファ・モジュール(32、34、36)
に同報通信される。全てのテストの結果の組合せによ
り、特定のバッファ・モジュールがその関連する内部バ
ッファ・メモリ46に新たな画素値を書込むかどうかが
決定される。指定されるテストとは独立に、各バッファ
・モジュールは判断テーブル40内にブール関数を格納
し、その内部バッファ・メモリ46が更新されるテスト
結果の組合せを定義する。
【0141】複雑な更新条件により提供される制御バッ
ファ・モジュール34の柔軟性は、計算データパス44
´により実行されるファンクションを動的に選択する機
能により、一層促進される。複雑な更新条件と同様に、
このファンクションは、全てのバッファ・モジュールに
より報告されるテスト結果に基づき選択される。テスト
結果の異なる組合せに対し実行される一連のファンクシ
ョンについても、ホスト・プロセッサ12により更新条
件から独立にプログラムされる。
ファ・モジュール34の柔軟性は、計算データパス44
´により実行されるファンクションを動的に選択する機
能により、一層促進される。複雑な更新条件と同様に、
このファンクションは、全てのバッファ・モジュールに
より報告されるテスト結果に基づき選択される。テスト
結果の異なる組合せに対し実行される一連のファンクシ
ョンについても、ホスト・プロセッサ12により更新条
件から独立にプログラムされる。
【0142】本発明のM−バッファ22は多数の異なる
実施例において実施される。
実施例において実施される。
【0143】第1の実施例では、全てのバッファ・モジ
ュールはハードウェアにおける物理バッファとして実施
される。画素バス38は全てのバッファ・モジュールに
接続され、バックプレーン・バス・システムとして実施
される。
ュールはハードウェアにおける物理バッファとして実施
される。画素バス38は全てのバッファ・モジュールに
接続され、バックプレーン・バス・システムとして実施
される。
【0144】第2の実施例では、全てのバッファ・モジ
ュールは、マルチ・タスキング・コンピュータである単
一プロセッサ上のソフトウェアにおいてエミュレートさ
れる。バッファ・メモリ46は仮想メモリ内において割
当てられ、バッファ・プロセッサはホスト・プロセッサ
12により実行される異なるタスク或いは処理によりエ
ミュレートされる。異なる処理間の通信、例えば画素デ
ータ・バス(38a、38b)、画素アドレス・バス3
8c、及び画素結果バス38dは、周知の技術により実
現される。例えば、画素転送は共用メモリを使用するこ
とにより実施され、処理間或いはバッファ・モジュール
間の通信は周知の相互タスク間通信技術により実行され
る。
ュールは、マルチ・タスキング・コンピュータである単
一プロセッサ上のソフトウェアにおいてエミュレートさ
れる。バッファ・メモリ46は仮想メモリ内において割
当てられ、バッファ・プロセッサはホスト・プロセッサ
12により実行される異なるタスク或いは処理によりエ
ミュレートされる。異なる処理間の通信、例えば画素デ
ータ・バス(38a、38b)、画素アドレス・バス3
8c、及び画素結果バス38dは、周知の技術により実
現される。例えば、画素転送は共用メモリを使用するこ
とにより実施され、処理間或いはバッファ・モジュール
間の通信は周知の相互タスク間通信技術により実行され
る。
【0145】第3の実施例では、M−バッファ22の特
定のバッファが物理バッファとして実現され、残りに関
しては仮想メモリ内に割当て得られるソフトウェア・バ
ッファを使用してエミュレートされ、並列処理により制
御される。物理バッファとソフトウェア・バッファ間の
接続は、仮想バッファ36を使用して行われる。仮想バ
ッファ36はホスト・プロセッサ12を提供し、順々に
バッファ・モジュールをエミュレートする処理、ハード
ウェアにより実施されるM−バッファ22のその部分に
対するアクセスを行う。
定のバッファが物理バッファとして実現され、残りに関
しては仮想メモリ内に割当て得られるソフトウェア・バ
ッファを使用してエミュレートされ、並列処理により制
御される。物理バッファとソフトウェア・バッファ間の
接続は、仮想バッファ36を使用して行われる。仮想バ
ッファ36はホスト・プロセッサ12を提供し、順々に
バッファ・モジュールをエミュレートする処理、ハード
ウェアにより実施されるM−バッファ22のその部分に
対するアクセスを行う。
【0146】第4の実施例では、M−バッファ22は汎
用目的の並列システムにおける多重プロセッサ上でエミ
ュレートされる。各プロセッサは1個のバッファ・モジ
ュールの機能をエミュレートする。
用目的の並列システムにおける多重プロセッサ上でエミ
ュレートされる。各プロセッサは1個のバッファ・モジ
ュールの機能をエミュレートする。
【0147】M−バッファ22のアーキテクチャをこれ
まで述べてきたが、M−バッファ22を使用する例につ
いて次に述べ、その機能に関する理解を深めることにす
る。
まで述べてきたが、M−バッファ22を使用する例につ
いて次に述べ、その機能に関する理解を深めることにす
る。
【0148】例1 最初の例では、複数バッファを有効活用する描写方法に
おいてM−バッファを使用する。この例はトリクル・ア
ルゴリズムとして知られる技術において実施される。ト
リクル・アルゴリズムはDavid A.Epstein、Frederik
W.Jansen、Jaroslaw R.Rossignacによる"Z-Buffer Re
ndering From CSG:The TrickleAlgorithm"、Technical
Report RC 15182、IBM Research Division、T.J.Wat
son Research Center、Yorktown Heights、NY、Novembe
r 1989、及びJarek Rossignac、Jeffrey Wuによる"Corr
ect Shading of Regularized CSGSolids Using a Depth
-Interval Buffer"、Proceedings of the Eurographics
Workshop on Graphics Hardware、1990、Eurographic
s、September 1990 で説明されている。
おいてM−バッファを使用する。この例はトリクル・ア
ルゴリズムとして知られる技術において実施される。ト
リクル・アルゴリズムはDavid A.Epstein、Frederik
W.Jansen、Jaroslaw R.Rossignacによる"Z-Buffer Re
ndering From CSG:The TrickleAlgorithm"、Technical
Report RC 15182、IBM Research Division、T.J.Wat
son Research Center、Yorktown Heights、NY、Novembe
r 1989、及びJarek Rossignac、Jeffrey Wuによる"Corr
ect Shading of Regularized CSGSolids Using a Depth
-Interval Buffer"、Proceedings of the Eurographics
Workshop on Graphics Hardware、1990、Eurographic
s、September 1990 で説明されている。
【0149】この他にDavid A.Epstein、Jaroslaw R.
Rossignac、Jeffrey W.Wuによる1991年3月12日
出願の米国特許出願S.N.07/672058"Direct Display o
fCSG Expression by the Use of Depth Buffers"も参照
される。
Rossignac、Jeffrey W.Wuによる1991年3月12日
出願の米国特許出願S.N.07/672058"Direct Display o
fCSG Expression by the Use of Depth Buffers"も参照
される。
【0150】一般に、トリクル・アルゴリズムは、オブ
ジェクトをその境界表現に変換することなく、ラスタ表
示装置上にCSG (Constructive Solid Geometry)オ
ブジェクトの表示を可能とする。
ジェクトをその境界表現に変換することなく、ラスタ表
示装置上にCSG (Constructive Solid Geometry)オ
ブジェクトの表示を可能とする。
【0151】大域的なアルゴリズムを以下に示す。 1.CSG表現はオブジェクトをサブ・オブジェクトの
合併として表現するプロダクトの和 (sum-of-product
s)形式に変換される。サブ・オブジェクトは基本オブ
ジェクトの共通部分として構成される。 2.各プロダクトはプロダクト・バッファ(P−バッフ
ァ)に走査変換される。プロダクトのイメージが完全に
P−バッファに描写されると、P−バッファはプロダク
トの可視的な正面を含む。このイメージはz−バッファ
を使用することにより、ユニオン・バッファ(U−バッ
ファ)と併合される。
合併として表現するプロダクトの和 (sum-of-product
s)形式に変換される。サブ・オブジェクトは基本オブ
ジェクトの共通部分として構成される。 2.各プロダクトはプロダクト・バッファ(P−バッフ
ァ)に走査変換される。プロダクトのイメージが完全に
P−バッファに描写されると、P−バッファはプロダク
トの可視的な正面を含む。このイメージはz−バッファ
を使用することにより、ユニオン・バッファ(U−バッ
ファ)と併合される。
【0152】次に示す擬似コードはこれら2つのステッ
プを示す。
プを示す。
【0153】オブジェクトをプロダクトの和形式に変換
する。U−バッファを初期化する。各プロダクトに対
し、正面画素をP−バッファに計算する。深度バッファ
を使用し、結果をU−バッファに併合する。
する。U−バッファを初期化する。各プロダクトに対
し、正面画素をP−バッファに計算する。深度バッファ
を使用し、結果をU−バッファに併合する。
【0154】プロダクトの可視的な正面画素の計算は更
に複雑な処理となる。主な考え方は、プロダクトの可視
的な表面のポイントは、他の全ての要素内に配置され、
最も近接し且つ正面を向く表面上に存在する。この表面
を見い出すために、2個の深度バッファが必要とされ
る。
に複雑な処理となる。主な考え方は、プロダクトの可視
的な表面のポイントは、他の全ての要素内に配置され、
最も近接し且つ正面を向く表面上に存在する。この表面
を見い出すために、2個の深度バッファが必要とされ
る。
【0155】第1のバッファはP−バッファであり、こ
れは結局、プロダクトのイメージを保持する。アルゴリ
ズムが進行する間、P−バッファには前述のようにして
見い出された最も近接する正面を向くポイントが格納さ
れる。第2のバッファは探索バッファ(S−バッファ)
であり、P−バッファに格納される表面の背後に位置す
る正面を向く表面を探索するために使用される。こうし
た表面が見い出されると、これはP−バッファに格納さ
れている表面を置換する。これによりP−バッファは、
前方から後方の描写に更新或いは"トリクル"される。次
に示す擬似コードはこの技術を詳述するものである。
れは結局、プロダクトのイメージを保持する。アルゴリ
ズムが進行する間、P−バッファには前述のようにして
見い出された最も近接する正面を向くポイントが格納さ
れる。第2のバッファは探索バッファ(S−バッファ)
であり、P−バッファに格納される表面の背後に位置す
る正面を向く表面を探索するために使用される。こうし
た表面が見い出されると、これはP−バッファに格納さ
れている表面を置換する。これによりP−バッファは、
前方から後方の描写に更新或いは"トリクル"される。次
に示す擬似コードはこの技術を詳述するものである。
【0156】P−バッファをバックグランドに初期化す
る。非実行中の間、プロダクトの要素を循環し、S−バ
ッファにP−バッファの背後に位置する次の面を計算す
る。次の基本面が正面を向く画素において、S−バッフ
ァをP−バッファにコピーする。
る。非実行中の間、プロダクトの要素を循環し、S−バ
ッファにP−バッファの背後に位置する次の面を計算す
る。次の基本面が正面を向く画素において、S−バッフ
ァをP−バッファにコピーする。
【0157】トリクル・アルゴリズムに関するこの説明
は、ホスト・プロセッサ12により実行される適切なコ
ードに変換される。図22の流れ図はアプリケーション
の全体構成を表す。プログラムのセグメントは最初に使
用されるバッファ及びそれらの構成を定義する。フラグ
・バッファ及びP−バッファが異なるタスクのために使
用される。従って、これらは異なる構成において使用さ
れる。主ループ内でこれらの構成を定義するのを回避す
るために、これらは予め定義され、変数に記憶される。
これらの変数の内容は次に効率的にバッファに転送され
る。
は、ホスト・プロセッサ12により実行される適切なコ
ードに変換される。図22の流れ図はアプリケーション
の全体構成を表す。プログラムのセグメントは最初に使
用されるバッファ及びそれらの構成を定義する。フラグ
・バッファ及びP−バッファが異なるタスクのために使
用される。従って、これらは異なる構成において使用さ
れる。主ループ内でこれらの構成を定義するのを回避す
るために、これらは予め定義され、変数に記憶される。
これらの変数の内容は次に効率的にバッファに転送され
る。
【0158】ステップAは使用されるバッファ・モジュ
ールの名前を定義する。6個の表面バッファ・モジュー
ル32が使用され、これらの内の2個はU−バッファと
して(一方は色用、他方は深度用)、2個はP−バッフ
ァとして(一方は色用、他方は深度用)、更に2個はS
−バッファとして(一方は色用、他方は深度用)使用さ
れる。1個の制御バッファ34が画素フラグ・ビットを
保持するために使用される。また、色及び深度情報を画
素バス38に入力するために、2個の仮想バッファ36
(ScanC、ScanZ)が使用される。最初の仮想
プレーン(UPlane)としてScanFlagが定
義される。ステップAはまた、定数及び局所変数を定義
する。
ールの名前を定義する。6個の表面バッファ・モジュー
ル32が使用され、これらの内の2個はU−バッファと
して(一方は色用、他方は深度用)、2個はP−バッフ
ァとして(一方は色用、他方は深度用)、更に2個はS
−バッファとして(一方は色用、他方は深度用)使用さ
れる。1個の制御バッファ34が画素フラグ・ビットを
保持するために使用される。また、色及び深度情報を画
素バス38に入力するために、2個の仮想バッファ36
(ScanC、ScanZ)が使用される。最初の仮想
プレーン(UPlane)としてScanFlagが定
義される。ステップAはまた、定数及び局所変数を定義
する。
【0159】ステップBは全てのバッファ構成を定義す
る。特にU−バッファは許容値を使用するz−バッファ
として定義される。許容値は関連する表面バッファ・モ
ジュール32のオペランド・レジスタ90に格納され
る。P−バッファは2つの目的のために使用される。こ
れはS−バッファと共に深度間隔バッファ(DIB)を
形成するために、そして後に深度バッファとして使用さ
れる。これらの構成は前述のように、変数として記憶さ
れる。S−バッファはバック・バッファ及びDIBにお
けるターゲット・バッファとして使用される。制御モジ
ュール34に記憶されるフラグ・ビットは、DIBの一
部を成すP−バッファに対する深度テストがパスすると
変更され、DIBのオペレーション中はP−バッファの
書込みのためにテストされる。
る。特にU−バッファは許容値を使用するz−バッファ
として定義される。許容値は関連する表面バッファ・モ
ジュール32のオペランド・レジスタ90に格納され
る。P−バッファは2つの目的のために使用される。こ
れはS−バッファと共に深度間隔バッファ(DIB)を
形成するために、そして後に深度バッファとして使用さ
れる。これらの構成は前述のように、変数として記憶さ
れる。S−バッファはバック・バッファ及びDIBにお
けるターゲット・バッファとして使用される。制御モジ
ュール34に記憶されるフラグ・ビットは、DIBの一
部を成すP−バッファに対する深度テストがパスすると
変更され、DIBのオペレーション中はP−バッファの
書込みのためにテストされる。
【0160】ステップCで、オブジェクトはプロダクト
の和形式に変換され、ステップDで、U−バッファが初
期化される。
の和形式に変換され、ステップDで、U−バッファが初
期化される。
【0161】ステップEで、主ループは全てのプロダク
トをP−バッファに描写し、次にプロダクトをU−バッ
ファに併合する。主ループはP−バッファの初期化ステ
ップ(E1)、及びプロダクトに属する各要素を処理す
るループの完了を待機するステップを含む。後者は要素
が循環リストに記憶されているかの如く実施される。こ
の内部ループはS−バッファを初期化するステップ(E
2)、及び、P−バッファ及びS−バッファにより形成
される深度間隔バッファ(DIB)を構成するステップ
(E3)を含む。DIBテストをパスした画素はS−バ
ッファに書込まれる。画素がS−バッファに書込まれる
度に、画素フラグが反転される。S−バッファは、TR
ACKUpdコマンドにより変更される画素を追跡する
ために構成される(E4)。次に、要素が循環リストか
らフェッチされ(E4.1)、その面の全てがDIBに
走査変換される(E5)。
トをP−バッファに描写し、次にプロダクトをU−バッ
ファに併合する。主ループはP−バッファの初期化ステ
ップ(E1)、及びプロダクトに属する各要素を処理す
るループの完了を待機するステップを含む。後者は要素
が循環リストに記憶されているかの如く実施される。こ
の内部ループはS−バッファを初期化するステップ(E
2)、及び、P−バッファ及びS−バッファにより形成
される深度間隔バッファ(DIB)を構成するステップ
(E3)を含む。DIBテストをパスした画素はS−バ
ッファに書込まれる。画素がS−バッファに書込まれる
度に、画素フラグが反転される。S−バッファは、TR
ACKUpdコマンドにより変更される画素を追跡する
ために構成される(E4)。次に、要素が循環リストか
らフェッチされ(E4.1)、その面の全てがDIBに
走査変換される(E5)。
【0162】この要素の全ての面が走査変換されると、
S−バッファは現行プロダクトの可視的な正面の表面上
に配置される候補となる表面ポイントを含む。これらの
ポイントは、画素フラグがアサートされ、S−バッファ
及びP−バッファに記憶されるz−値が異なれば、P−
バッファに書込まれる。従って、P−バッファは、入力
されるz−値がそのバッファ・メモリ46に記憶される
z−値と異なるかどうかをテストするように構成される
(E6.1)。フラグ・バッファは画素フラグの値をテ
ストするために構成される(E6.2)。P−バッファ
の画面ボックスはリセットされ、P−バッファはバッフ
ァ・メモリ46内で更新される全ての画素の周辺の境界
ボックスを生成するように構成される(E6.3)。最
後に、S−バッファがそのバッファ・メモリ46から、
P−バッファのバッファ・メモリ46に画素の転送を開
始する(E6.4)。
S−バッファは現行プロダクトの可視的な正面の表面上
に配置される候補となる表面ポイントを含む。これらの
ポイントは、画素フラグがアサートされ、S−バッファ
及びP−バッファに記憶されるz−値が異なれば、P−
バッファに書込まれる。従って、P−バッファは、入力
されるz−値がそのバッファ・メモリ46に記憶される
z−値と異なるかどうかをテストするように構成される
(E6.1)。フラグ・バッファは画素フラグの値をテ
ストするために構成される(E6.2)。P−バッファ
の画面ボックスはリセットされ、P−バッファはバッフ
ァ・メモリ46内で更新される全ての画素の周辺の境界
ボックスを生成するように構成される(E6.3)。最
後に、S−バッファがそのバッファ・メモリ46から、
P−バッファのバッファ・メモリ46に画素の転送を開
始する(E6.4)。
【0163】新たに生成される画素を追跡するための準
備ステップ(E4及びE6.3)は、これらの画素周辺
の境界ボックスを維持しなければならない表面バッファ
・モジュールに対応するアドレス・マネージャ48を書
込むステップを含む。これは最初にリセット・コマンド
を、続いてトラック・コマンドを送信することにより実
行される。ステップE6.4は、S−バッファにおいて
変更されたこれらの画素を、画素バス38を介して、P
−バッファに転送する。これはホスト・プロセッサ12
からのGENERATEコマンドの発行により、画素を
画素バス38に書込むように、S−バッファのアドレス
・マネージャ48内のアドレス発生器102をプログラ
ムする処理が含まれる。これによりアドレス発生器10
2のカウンタ118は、変更画素を囲む画面ボックスに
対応する画素アドレスを生成する。
備ステップ(E4及びE6.3)は、これらの画素周辺
の境界ボックスを維持しなければならない表面バッファ
・モジュールに対応するアドレス・マネージャ48を書
込むステップを含む。これは最初にリセット・コマンド
を、続いてトラック・コマンドを送信することにより実
行される。ステップE6.4は、S−バッファにおいて
変更されたこれらの画素を、画素バス38を介して、P
−バッファに転送する。これはホスト・プロセッサ12
からのGENERATEコマンドの発行により、画素を
画素バス38に書込むように、S−バッファのアドレス
・マネージャ48内のアドレス発生器102をプログラ
ムする処理が含まれる。これによりアドレス発生器10
2のカウンタ118は、変更画素を囲む画面ボックスに
対応する画素アドレスを生成する。
【0164】ステップE7では、P−バッファが更新さ
れたかを確認するためのテストが実施される。更新され
た場合、主ループは完了され、実行はステップFに移行
し、ここで合併を形成するためにP−バッファに記憶さ
れるプロダクトがU−バッファに併合される。更新され
なかった場合は、実行はステップ2に継続する。
れたかを確認するためのテストが実施される。更新され
た場合、主ループは完了され、実行はステップFに移行
し、ここで合併を形成するためにP−バッファに記憶さ
れるプロダクトがU−バッファに併合される。更新され
なかった場合は、実行はステップ2に継続する。
【0165】例2 第2の例はPaul Haeberli及びKurt Akeleyによる"The A
ccumulation Buffer:Hardware Support for High-Quali
ty Rendering"、Computer Graphics、24(4):309-318、A
ugust 1990で説明されるタイプの計算バッファにおいて
実施される。この計算バッファは、エイリアス除去、モ
ーション・ブラー (motion blur)、或いはソフト・シ
ャドウ (soft shadow)などの様々な描写技術を実施す
るために使用される。基本的な原理は、微妙に異なる描
写パラメータ或いはビュー・ポイントを使用し、イメー
ジを数回描写する。するとイメージは累算バッファにお
いて累算される。全てのイメージが描写された後、累算
バッファに記憶される値が描写パスの数により除算さ
れ、最終的なイメージ色が獲得される。
ccumulation Buffer:Hardware Support for High-Quali
ty Rendering"、Computer Graphics、24(4):309-318、A
ugust 1990で説明されるタイプの計算バッファにおいて
実施される。この計算バッファは、エイリアス除去、モ
ーション・ブラー (motion blur)、或いはソフト・シ
ャドウ (soft shadow)などの様々な描写技術を実施す
るために使用される。基本的な原理は、微妙に異なる描
写パラメータ或いはビュー・ポイントを使用し、イメー
ジを数回描写する。するとイメージは累算バッファにお
いて累算される。全てのイメージが描写された後、累算
バッファに記憶される値が描写パスの数により除算さ
れ、最終的なイメージ色が獲得される。
【0166】次に示す擬似コードは、このアルゴリズム
の構成を示す。
の構成を示す。
【0167】累算バッファをゼロに初期化する。描写パ
ラメータをリセットする。描写される全てのイメージに
対し、{描写パラメータを乱す。z−バッファをクリア
する。イメージを描写し、全ての画素(x、y)に対
し、 if(newZ[x、y]<oldZ[x、y]) {oldZ[x、y]=newZ[x、y]; accBuffer[x、y]+=newColow[x、y]; } } 全ての画素(x、y)に対し、 accBuffer[x、y]/=描写イメージ数
ラメータをリセットする。描写される全てのイメージに
対し、{描写パラメータを乱す。z−バッファをクリア
する。イメージを描写し、全ての画素(x、y)に対
し、 if(newZ[x、y]<oldZ[x、y]) {oldZ[x、y]=newZ[x、y]; accBuffer[x、y]+=newColow[x、y]; } } 全ての画素(x、y)に対し、 accBuffer[x、y]/=描写イメージ数
【0168】この技術がM−バッファ22のアーキテク
チャにおいて実施される場合、いくつかの考慮がなされ
る必要がある。
チャにおいて実施される場合、いくつかの考慮がなされ
る必要がある。
【0169】第1に、累算バッファは中間結果を保持す
るのに十分なビットを提供しなければならない。従っ
て、各色成分に対し、16ビットが提供される。
るのに十分なビットを提供しなければならない。従っ
て、各色成分に対し、16ビットが提供される。
【0170】第2に、各表面バッファ32は画素当たり
32ビットを記憶するため、累算バッファは表面バッフ
ァ32の2個に跨って分散される。第1の表面バッファ
はレッド及びブルー成分を記憶し、第2の表面バッファ
はグリーン成分を記憶する。
32ビットを記憶するため、累算バッファは表面バッフ
ァ32の2個に跨って分散される。第1の表面バッファ
はレッド及びブルー成分を記憶し、第2の表面バッファ
はグリーン成分を記憶する。
【0171】第3に、画素バス38は2つのデータ項目
を一度に転送するため、画素(z、RB、G)を表現す
る3ワードが2ステップで転送される。第1のステップ
で、z−値がバスPData1 38a上に出力され、
またレッド及びブルー情報がバスPData2 38b
上に出力される。第2のステップでは、z−値がバスP
Data1 38a上にアサートされ、グリーン成分が
バスPData2 38b上にアサートされる。画素デ
ータを2ステップで送信するこの方法は、2つの画素デ
ータ・バスを使用する本実施例の結果による。もし3つ
の画素データ・バスを使用する場合には、全ての画素デ
ータは同時に転送されることになる。
を一度に転送するため、画素(z、RB、G)を表現す
る3ワードが2ステップで転送される。第1のステップ
で、z−値がバスPData1 38a上に出力され、
またレッド及びブルー情報がバスPData2 38b
上に出力される。第2のステップでは、z−値がバスP
Data1 38a上にアサートされ、グリーン成分が
バスPData2 38b上にアサートされる。画素デ
ータを2ステップで送信するこの方法は、2つの画素デ
ータ・バスを使用する本実施例の結果による。もし3つ
の画素データ・バスを使用する場合には、全ての画素デ
ータは同時に転送されることになる。
【0172】第4に、これら2つのフェーズを区別する
ために、制御バッファ34内の仮想ビット・プレーンが
使用される。走査変換処理はこのビット・プレーンを第
1のステップの間にセットし、第2のステップの間にリ
セットする。
ために、制御バッファ34内の仮想ビット・プレーンが
使用される。走査変換処理はこのビット・プレーンを第
1のステップの間にセットし、第2のステップの間にリ
セットする。
【0173】第5に、深度比較が両ステップにおいて実
施される。しかしながら、z−値は第2のステップの間
においてのみ、関連するバッファ・メモリ46に書込ま
れる。
施される。しかしながら、z−値は第2のステップの間
においてのみ、関連するバッファ・メモリ46に書込ま
れる。
【0174】最後に、2個の表面バッファは、RGB値
を保持するバッファを獲得するために併合される。これ
はRB表面バッファの特定のビット・プレーンだけをマ
スクし、書込むことにより実行される。
を保持するバッファを獲得するために併合される。これ
はRB表面バッファの特定のビット・プレーンだけをマ
スクし、書込むことにより実行される。
【0175】上述の説明に基づき、本明細書において述
べられたM−バッファ22は多くの点で、複数命令単一
データ(MISD)ストリーム・アーキテクチャに類似
することが理解されよう。M−バッファ22は追加のバ
ッファ・モジュールを提供することにより、より複雑な
レベル及び処理能力にも対応できる。この点で、数個の
バッファ・モジュールから成る基本的なグラフィックス
・バッファが用意され、後に更にバッファ・モジュール
を追加することにより、グラフィックス・バッファは拡
張される。
べられたM−バッファ22は多くの点で、複数命令単一
データ(MISD)ストリーム・アーキテクチャに類似
することが理解されよう。M−バッファ22は追加のバ
ッファ・モジュールを提供することにより、より複雑な
レベル及び処理能力にも対応できる。この点で、数個の
バッファ・モジュールから成る基本的なグラフィックス
・バッファが用意され、後に更にバッファ・モジュール
を追加することにより、グラフィックス・バッファは拡
張される。
【0176】図23はグラフィックス・バッファの別の
実施例を示す。仮想バッファ36は走査変換ユニット2
0から入力を受信し、画素データ及び画素アドレスを画
素バス38に提供する。画素バス38には3つの表面バ
ッファ・モジュール32a、32b、32cが接続さ
れ、各々は非インタレース・システムでは、画素データ
の1つの完全なフレームを記憶する。これらの2個の表
面バッファ・モジュールはフレーム・バッファとして機
能し、画素色データのためのダブル・バッファを提供す
る。表面バッファ・モジュール32cは深度バッファ
(z−バッファ)として機能し、各画面画素に対応する
深度値を記憶する。
実施例を示す。仮想バッファ36は走査変換ユニット2
0から入力を受信し、画素データ及び画素アドレスを画
素バス38に提供する。画素バス38には3つの表面バ
ッファ・モジュール32a、32b、32cが接続さ
れ、各々は非インタレース・システムでは、画素データ
の1つの完全なフレームを記憶する。これらの2個の表
面バッファ・モジュールはフレーム・バッファとして機
能し、画素色データのためのダブル・バッファを提供す
る。表面バッファ・モジュール32cは深度バッファ
(z−バッファ)として機能し、各画面画素に対応する
深度値を記憶する。
【0177】表面バッファ・モジュール32a及び32
bは、各々、表示装置24と直接インタフェースするた
めの画素出力回路33を含むように変更される。オペレ
ーションに際し、表示装置24は表面バッファ・モジュ
ール32a或いは32bの一方から画素を読出し、他方
は次のフレームに対応する画素をロードされる。表示装
置24はこうして2個の表面バッファ・モジュール32
a及び32bの間を交互する。この実施例では、表面バ
ッファ・モジュール32a及び32bはまた、表示装置
24とインタフェースするための仮想バッファ・モジュ
ールとしても機能する。制御バッファ・モジュール34
はこの実施例では不要である。
bは、各々、表示装置24と直接インタフェースするた
めの画素出力回路33を含むように変更される。オペレ
ーションに際し、表示装置24は表面バッファ・モジュ
ール32a或いは32bの一方から画素を読出し、他方
は次のフレームに対応する画素をロードされる。表示装
置24はこうして2個の表面バッファ・モジュール32
a及び32bの間を交互する。この実施例では、表面バ
ッファ・モジュール32a及び32bはまた、表示装置
24とインタフェースするための仮想バッファ・モジュ
ールとしても機能する。制御バッファ・モジュール34
はこの実施例では不要である。
【0178】
【発明の効果】以上説明したように、本発明によれば、
モジュール方式のプログラマブルなグラフィックス・バ
ッファ・アーキテクチャが提供される。このアーキテク
チャはバッファ当たり1個のプロセッサと、モジュラ・
バッファを結合するバスと、所与のアプリケーションに
対応して、グラフィックス・バッファをプログラマブル
に構成する機能とを有する。
モジュール方式のプログラマブルなグラフィックス・バ
ッファ・アーキテクチャが提供される。このアーキテク
チャはバッファ当たり1個のプロセッサと、モジュラ・
バッファを結合するバスと、所与のアプリケーションに
対応して、グラフィックス・バッファをプログラマブル
に構成する機能とを有する。
【図1】複数のイメージ・バッファを含むグラフィック
ス・システムの全体的なアーキテクチャを示すブロック
図である。
ス・システムの全体的なアーキテクチャを示すブロック
図である。
【図2】本発明により構成される複数イメージ・バッフ
ァ(M−バッファ)・アーキテクチャのブロック図であ
る。
ァ(M−バッファ)・アーキテクチャのブロック図であ
る。
【図3】本発明の特徴である画素バスの詳細を示す図で
ある。
ある。
【図4】M−バッファのオペレーションの基本シーケン
スを示す図である。
スを示す図である。
【図5】M−バッファにより実施される間接的画素アド
レス指定オペレーションの拡張シーケンスを示す図であ
る。
レス指定オペレーションの拡張シーケンスを示す図であ
る。
【図6】M−バッファの構成要素である表面バッファの
全体ブロック図である。
全体ブロック図である。
【図7】図6の表面バッファの詳細を示すブロック図で
ある。
ある。
【図8】表面バッファ制御装置の詳細構成を示すブロッ
ク図である。
ク図である。
【図9】表面バッファ・データ・パスの構造を示す図で
ある。
ある。
【図10】表面バッファ・テスト・ユニットの詳細構成
を示す図である。
を示す図である。
【図11】表面バッファの判断テーブルの詳細構成を示
す図である。
す図である。
【図12】M−バッファの構成要素である制御バッファ
のブロック図である。
のブロック図である。
【図13】読出しアクセスにおいて待機サイクルを有す
る画素バスのタイミング図である。
る画素バスのタイミング図である。
【図14】書込みアクセスにおいて待機サイクルを有す
る画素バスのタイミング図である。
る画素バスのタイミング図である。
【図15】リフレッシュ・サイクルを示す画素バスのタ
イミング図である。
イミング図である。
【図16】画素メモリの構成の一例を示し、表示画面上
の画素配列を表す。
の画素配列を表す。
【図17】画素メモリの構成の一例を示し、画素メモリ
における画素の対応するロケーションを表す。
における画素の対応するロケーションを表す。
【図18】M−バッファの構成要素であるアドレス・マ
ネージャの構成を示すブロック図である。
ネージャの構成を示すブロック図である。
【図19】アドレス・マネージャの構成要素であるアド
レス生成器の詳細構成を示すブロック図である。
レス生成器の詳細構成を示すブロック図である。
【図20】アドレス・マネージャ・オフセット・ユニッ
トのブロック図である。
トのブロック図である。
【図21】仮想バッファの一実施例を示すブロック図で
ある。
ある。
【図22】M−バッファを使用するアプリケーションの
オペレーションを表す流れ図である。
オペレーションを表す流れ図である。
【図23】本発明により構成されるフレーム・バッファ
のブロック図である。
のブロック図である。
12・・・主(ホスト)プロセッサ 14・・・グラフィックス・サブシステム 20・・・走査変換(ラスタライゼーション)ユニット 22・・・グラフィックス・バッファ・ユニット(M−
バッファ) 30・・・ホスト・バス 32・・・表面バッファ・モジュール 34・・・制御バッファ・モジュール 36・・・仮想バッファ・モジュール 38・・・画素バス 44・・・計算データ・パス 46・・・バッファ・メモリ 48・・・アドレス・マネージャ 52・・・バス・インタフェース 72・・・読出しマスク・レジスタ 76・・・テスト・レジスタ 78・・・基準レジスタ 90・・・オペランド・レジスタ 92・・・書込みマスク・レジスタ 94・・・オペレーション・レジスタ 102・・・アドレス発生器 104・・・オフセット・ユニット 106・・・DRAM制御装置 108・・・マルチプレクサ・グループ 152・・・ステータス・レジスタ 154・・・PIPEレジスタ
バッファ) 30・・・ホスト・バス 32・・・表面バッファ・モジュール 34・・・制御バッファ・モジュール 36・・・仮想バッファ・モジュール 38・・・画素バス 44・・・計算データ・パス 46・・・バッファ・メモリ 48・・・アドレス・マネージャ 52・・・バス・インタフェース 72・・・読出しマスク・レジスタ 76・・・テスト・レジスタ 78・・・基準レジスタ 90・・・オペランド・レジスタ 92・・・書込みマスク・レジスタ 94・・・オペレーション・レジスタ 102・・・アドレス発生器 104・・・オフセット・ユニット 106・・・DRAM制御装置 108・・・マルチプレクサ・グループ 152・・・ステータス・レジスタ 154・・・PIPEレジスタ
Claims (9)
- 【請求項1】複数の画素を表示する表示手段とともに使
用され且つ当該複数の画素を表現する情報を記憶するグ
ラフィックス・バッファであって、 モジュール相互接続用バスにより相互に結合された複数
のモジュールが設けられ、 前記複数のモジュールのうち少なくとも1個の第1のモ
ジュールは、前記複数の画素の各々ごとにオブジェクト
のイメージの表面の性質を指定する情報を記憶する第1
のメモリと、当該第1のメモリ内の記憶情報を変更する
ために当該第1のメモリに結合された第1の処理手段と
を含み、前記第1のメモリはその記憶情報を供給するた
めに前記モジュール相互接続用バスに結合され、前記複
数のモジュールのうち少なくとも1個の第2のモジュー
ルは、前記複数の画素の各々ごとにその制御情報を記憶
する第2のメモリと、当該第2のメモリ内の記憶情報を
変更するために当該第2のメモリに結合された第2の処
理手段とを含み、 前記複数のモジュールの各々を、関連する前記第1及び
第2のメモリ内の記憶情報について前記第1及び第2の
処理手段が実行すべきオペレーションを指定するホスト
・プロセッサ手段にそれぞれ結合する手段が設けられ、 前記複数のモジュールのうち少なくとも1個の第3のモ
ジュールは、画素情報のソースから当該画素情報を受信
し且つこれを前記モジュール相互接続用バスを介して前
記複数のモジュールのうち少なくとも1個の他のモジュ
ールに供給するように、当該モジュール相互接続用バス
及び当該画素情報のソースにそれぞれ結合され、 前記複数のモジュールのうち少なくとも1個の第4のモ
ジュールは、前記モジュール相互接続用バスから前記画
素情報の利用手段に当該画素情報を供給するように、当
該モジュール相互接続用バス及び当該利用手段にそれぞ
れ結合されていること を特徴とするグラフィックス・バッファ。 - 【請求項2】前記モジュール相互接続用バスは、 画素アドレスを伝達する第1の複数の信号線と、 画素データを伝達する第2の複数の信号線と、 前記モジュール相互接続用バス上で行われるオペレーシ
ョンの制御情報を伝達する第3の複数の信号線と を含むことを特徴とする請求項1記載のグラフィックス
・バッファ。 - 【請求項3】前記第3の複数の信号線は、 前記モジュール相互接続用バスのサイクルを定義する周
期を有する同期用のクロック信号を伝達する信号線と、 アサート時に、前記モジュール相互接続用バス上に新た
な画素情報が存在することを示す信号線と、 アサート時に、前記複数のモジュールのうち少なくとも
1個のモジュールがオペレーションを完了するために前
記モジュール相互接続用バスの1個以上の追加のサイク
ルを必要とすることを示す信号線と、 各画素に対する画素情報を処理している間に、全ての前
記モジュールのオペレーションを複数のオペレーション
・ステップを通してシーケンス制御するための繰り返し
信号を伝達する信号線と を含むことを特徴とする請求項2記載のグラフィックス
・バッファ。 - 【請求項4】前記第3の複数の信号線は、 アサート時に、ダイナミック・メモリ素子から構成され
るメモリを有するモジュールにおいて、リフレッシュ・
オペレーションが行われることを示す信号線 を含むことを特徴とする請求項2記載のグラフィックス
・バッファ。 - 【請求項5】前記モジュール相互接続用バスは、 画素アドレスを伝達する第1の複数の信号線と、 画素データを伝達する第2の複数の信号線と、 画素について遂行されるテスト結果を表す情報を伝達す
る第3の複数の信号線とを含み、 前記第3の複数の信号線の各々は、前記複数のモジュー
ルの1個にそれぞれ結合されて、当該モジュールがこれ
に関連する前記メモリから読出したデータを前記第2の
複数の信号線から読出したデータと比較するオペレーシ
ョンの結果に従い駆動され、前記第3の複数の信号線の
各々は、前記複数のモジュールのうち他のモジュールに
より受信され且つ当該他のモジュールに関連する前記メ
モリ内の記憶情報を変更すべきか否かを決定するように
当該他のモジュールの判断手段にそれぞれ結合され、前
記決定は前記第3の複数の信号線に結合された前記複数
のモジュールのうち全てのモジュールから受信される前
記比較オペレーションの結果に従い遂行されること を特徴とする請求項1記載のグラフィックス・バッフ
ァ。 - 【請求項6】(n×m)個の画素を表示する表示手段と
ともに使用され且つ複数のモジュールから構成されたグ
ラフィックス・バッファであって、 前記複数のモジュールの1個が、 当該モジュールをモジュール相互接続用バスを介して他
のモジュールに結合する手段と、 画素情報を記憶する少なくとも(n×m)個のロケーシ
ョンを有するメモリ手段と、 前記メモリ手段に結合され、このメモリ手段に記憶され
た画素情報を読出し、この画素情報を変更し、この変更
済みの画素情報を前記メモリ手段に再度記憶させるプロ
セッサ手段と、 前記メモリ手段に結合され、基準レジスタ手段及びテス
ト・レジスタ手段を含むテスト手段とを備え、 当該テスト手段が、前記テスト・レジスタ手段に記憶さ
れたテスト指定情報に応答して、(a)前記メモリ手段
から読出した画素情報を、前記モジュール相互接続用バ
スを介して他のモジュールから供給された画素データと
比較するか、又は(b)前記基準レジスタの内容を、前
記メモリ手段から読出した画素情報若しくは前記モジュ
ール相互接続用バスを介して他のモジュールから供給さ
れた画素データと比較し、この比較オペレーションの結
果を表す少なくとも1つの出力を前記モジュール相互接
続用バスの少なくとも1つの結果信号線を介して他の前
記モジュールに供給するようにしたこと を特徴とするグラフィックス・バッファ。 - 【請求項7】前記1個のモジュールは、前記モジュール
相互接続用バスに結合されたアドレス・マネージャ手段
を含み、当該アドレス・マネージャ手段は前記モジュー
ル相互接続用バスから一の画素アドレスを受け取り、当
該画素アドレスで以て前記メモリ手段をアドレスするこ
とにより、前記(n×m)個のロケーションの1つから
記憶済みの画素情報を読出すことを特徴とする請求項6
記載のグラフィックス・バッファ。 - 【請求項8】前記1個のモジュールは、複数の画素処理
状態を通して駆動される前記モジュール相互接続用バス
のシーケンス制御信号線に結合された入力を有するシー
ケンス制御手段を含むことを特徴とする請求項7記載の
グラフィックス・バッファ。 - 【請求項9】前記モジュール相互接続用バスは、 画素アドレスを伝達する第1の複数の信号線と、 画素データを伝達する第2の複数の信号線と、 前記モジュール相互接続用バス上で行われるオペレーシ
ョンを表す情報を伝達する第3の複数の結果信号線とを
含み、 前記画素処理状態は、 イネーブル時に、一の画素アドレスを前記アドレス・マ
ネージャ手段から前記第1の複数の信号線に駆動するア
ドレス生成(GA)状態と、 前記第1の複数の信号線から一の画素アドレスを読出
し、必要に応じて、画素の処理オペレーションを実行す
るために当該画素アドレスを変更するアドレス変更(M
A)状態と、 前記画素アドレス又は前記変更済みの画素アドレスを使
用して前記メモリ手段からそのデータを読出し、イネー
ブル時に、当該メモリ手段から読出したデータを前記第
2の複数の信号線に駆動する読出し(RD)状態と、 当該モジュールが前記第2の複数の信号線からデータを
読出し、前記テスト手段が前記第2の複数の信号線から
読出したデータを前記メモリ手段から読出したデータと
比較し、前記プロセッサ手段が前記メモリ手段から読出
したデータから変更済みのデータ値を計算し、前記テス
ト手段が前記比較の結果を関連する1本以上の前記結果
信号線に出力するテスト及び計算(TC)状態と、 当該モジュールが全ての前記結果信号線を読出し、前記
テスト及び計算状態の間に出力される結果に基づき、前
記テスト及び計算状態の間に計算された変更済みのデー
タ値を前記メモリ手段に書込むか否かを判断する判断及
び変更(DM)状態と、 前記判断及び変更状態によりイネーブルされると、前記
テスト及び計算状態の間に計算した変更済みのデータ値
を前記メモリ手段の前記画素アドレス又は前記変更済み
の画素アドレスにおいて書込む書込み(WR)状態と を含むことを特徴とする請求項8記載のグラフィックス
・バッファ。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US813318 | 1991-12-24 | ||
| US07/813,318 US5274760A (en) | 1991-12-24 | 1991-12-24 | Extendable multiple image-buffer for graphics systems |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH05282458A JPH05282458A (ja) | 1993-10-29 |
| JPH087792B2 true JPH087792B2 (ja) | 1996-01-29 |
Family
ID=25212047
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4323014A Expired - Lifetime JPH087792B2 (ja) | 1991-12-24 | 1992-12-02 | グラフィックス・システムにおける拡張可能な複数のイメージ・バッファ |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5274760A (ja) |
| EP (1) | EP0548586A3 (ja) |
| JP (1) | JPH087792B2 (ja) |
| KR (1) | KR960003041B1 (ja) |
| ES (1) | ES2103416T3 (ja) |
Families Citing this family (55)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5621866A (en) * | 1992-07-24 | 1997-04-15 | Fujitsu Limited | Image processing apparatus having improved frame buffer with Z buffer and SAM port |
| US5434967A (en) * | 1992-10-27 | 1995-07-18 | International Business Machines Corporation | Decision variable hardware logic and processing methods for graphics display system |
| US5404318A (en) * | 1992-12-01 | 1995-04-04 | Sun Microsystems, Inc. | Test mode readback in a memory display interface |
| US6357047B1 (en) | 1997-06-30 | 2002-03-12 | Avid Technology, Inc. | Media pipeline with multichannel video processing and playback |
| WO1994027240A1 (en) * | 1993-05-10 | 1994-11-24 | Apple Computer, Inc. | Computer graphics system having high performance multiple layer z-buffer |
| 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 |
| US5479606A (en) * | 1993-07-21 | 1995-12-26 | Pgm Systems, Inc. | Data display apparatus for displaying patterns using samples of signal data |
| US5568401A (en) * | 1993-09-20 | 1996-10-22 | International Business Machines Corporation | System and method for transforming program code for efficient pixel processing |
| US5808627A (en) * | 1994-04-22 | 1998-09-15 | Apple Computer, Inc. | Method and apparatus for increasing the speed of rendering of objects in a display system |
| EP0681279B1 (en) * | 1994-05-03 | 2001-07-18 | Sun Microsystems, Inc. | Frame buffer random access memory and system |
| US5544306A (en) * | 1994-05-03 | 1996-08-06 | Sun Microsystems, Inc. | Flexible dram access in a frame buffer memory and system |
| US5619624A (en) * | 1994-05-20 | 1997-04-08 | Management Graphics, Inc. | Apparatus for selecting a rasterizer processing order for a plurality of graphic image files |
| JP2637920B2 (ja) * | 1994-08-11 | 1997-08-06 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータ・グラフィック・システム及びフレーム・バッファ使用方法 |
| US5473566A (en) * | 1994-09-12 | 1995-12-05 | Cirrus Logic, Inc. | Memory architecture and devices, systems and methods utilizing the same |
| US5561750A (en) * | 1994-09-22 | 1996-10-01 | Seiko Epson Corporation | Z-buffer tag memory organization |
| US5649173A (en) * | 1995-03-06 | 1997-07-15 | Seiko Epson Corporation | Hardware architecture for image generation and manipulation |
| US5801779A (en) * | 1995-12-26 | 1998-09-01 | C-Cube Microsystems, Inc. | Rate control with panic mode |
| US5883670A (en) * | 1996-08-02 | 1999-03-16 | Avid Technology, Inc. | Motion video processing circuit for capture playback and manipulation of digital motion video information on a computer |
| US6288722B1 (en) * | 1996-10-17 | 2001-09-11 | International Business Machines Corporation | Frame buffer reconfiguration during graphics processing based upon image attributes |
| US6185704B1 (en) * | 1997-04-11 | 2001-02-06 | Texas Instruments Incorporated | System signaling schemes for processor and memory module |
| US5870109A (en) * | 1997-06-06 | 1999-02-09 | Digital Equipment Corporation | Graphic system with read/write overlap detector |
| US6105083A (en) * | 1997-06-20 | 2000-08-15 | Avid Technology, Inc. | Apparatus and method for controlling transfer of data between and processing of data by interconnected data processing elements |
| GB9715005D0 (en) * | 1997-07-17 | 1997-09-24 | Philips Electronics Nv | Graphic image texture generation |
| DE19904375C2 (de) * | 1999-02-03 | 2001-01-04 | Siemens Ag | Verfahren zur Funktionsüberprüfung von Speicherzellen eines integrierten Halbleiterspeichers |
| JP3403707B2 (ja) * | 2000-09-29 | 2003-05-06 | 松下電器産業株式会社 | 描画装置 |
| US7248265B2 (en) * | 2004-04-16 | 2007-07-24 | Apple Inc. | System and method for processing graphics operations with graphics processing unit |
| US8134561B2 (en) | 2004-04-16 | 2012-03-13 | Apple Inc. | System for optimizing graphics operations |
| US7231632B2 (en) | 2004-04-16 | 2007-06-12 | Apple Computer, Inc. | System for reducing the number of programs necessary to render an image |
| US8704837B2 (en) * | 2004-04-16 | 2014-04-22 | Apple Inc. | High-level program interface for graphics operations |
| US7636489B2 (en) | 2004-04-16 | 2009-12-22 | Apple Inc. | Blur computation algorithm |
| US7847800B2 (en) | 2004-04-16 | 2010-12-07 | Apple Inc. | System for emulating graphics operations |
| US7397964B2 (en) | 2004-06-24 | 2008-07-08 | Apple Inc. | Gaussian blur approximation suitable for GPU |
| US8130237B2 (en) | 2004-06-24 | 2012-03-06 | Apple Inc. | Resolution independent user interface design |
| US8068103B2 (en) | 2004-06-24 | 2011-11-29 | Apple Inc. | User-interface design |
| US7546543B2 (en) | 2004-06-25 | 2009-06-09 | Apple Inc. | Widget authoring and editing environment |
| US8239749B2 (en) | 2004-06-25 | 2012-08-07 | Apple Inc. | Procedurally expressing graphic objects for web pages |
| US7652678B2 (en) | 2004-06-25 | 2010-01-26 | Apple Inc. | Partial display updates in a windowing system using a programmable graphics processing unit |
| US7490295B2 (en) | 2004-06-25 | 2009-02-10 | Apple Inc. | Layer for accessing user interface elements |
| US7227551B2 (en) | 2004-12-23 | 2007-06-05 | Apple Inc. | Manipulating text and graphic appearance |
| US8140975B2 (en) | 2005-01-07 | 2012-03-20 | Apple Inc. | Slide show navigation |
| US7852353B1 (en) | 2005-03-31 | 2010-12-14 | Apple Inc. | Encoding a transparency (alpha) channel in a video bitstream |
| US8452090B1 (en) | 2005-04-25 | 2013-05-28 | Apple Inc. | Bayer reconstruction of images using a GPU |
| US7289127B1 (en) | 2005-04-25 | 2007-10-30 | Apple, Inc. | Multi-conic gradient generation |
| US8793576B2 (en) | 2005-10-14 | 2014-07-29 | Apple Inc. | System and method for computing a desktop picture |
| US7752556B2 (en) | 2005-10-27 | 2010-07-06 | Apple Inc. | Workflow widgets |
| US7483037B2 (en) | 2005-10-27 | 2009-01-27 | Apple, Inc. | Resampling chroma video using a programmable graphics processing unit to provide improved color rendering |
| US9104294B2 (en) | 2005-10-27 | 2015-08-11 | Apple Inc. | Linked widgets |
| US7743336B2 (en) | 2005-10-27 | 2010-06-22 | Apple Inc. | Widget security |
| US7707514B2 (en) | 2005-11-18 | 2010-04-27 | Apple Inc. | Management of user interface elements in a display environment |
| US8869027B2 (en) | 2006-08-04 | 2014-10-21 | Apple Inc. | Management and generation of dashboards |
| US8954871B2 (en) | 2007-07-18 | 2015-02-10 | Apple Inc. | User-centric widgets and dashboards |
| US9619304B2 (en) | 2008-02-05 | 2017-04-11 | Adobe Systems Incorporated | Automatic connections between application components |
| US20100164971A1 (en) * | 2008-12-29 | 2010-07-01 | Celio Technology Corporation | Graphics processor |
| US8933951B2 (en) * | 2010-03-31 | 2015-01-13 | Intel Corporation | Techniques for controlling frame refresh |
| EP2595008B1 (fr) * | 2011-11-17 | 2015-01-07 | Montres Rado S.A. | Boîte pour pièce d'horlogerie |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| NL134125C (ja) * | 1958-04-25 | |||
| US4491932A (en) * | 1981-10-01 | 1985-01-01 | Yeda Research & Development Co. Ltd. | Associative processor particularly useful for tomographic image reconstruction |
| US4590465A (en) * | 1982-02-18 | 1986-05-20 | Henry Fuchs | Graphics display system using logic-enhanced pixel memory cells |
| US4827445A (en) * | 1982-02-18 | 1989-05-02 | University Of North Carolina | Image buffer having logic-enhanced pixel memory cells and method for setting values therein |
| US4484349A (en) * | 1982-03-11 | 1984-11-20 | Environmental Research Institute Of Michigan | Parallel pipeline image processor |
| US4648045A (en) * | 1984-05-23 | 1987-03-03 | The Board Of Trustees Of The Leland Standford Jr. University | High speed memory and processor system for raster display |
| US4658247A (en) * | 1984-07-30 | 1987-04-14 | Cornell Research Foundation, Inc. | Pipelined, line buffered real-time color graphics display system |
| US4860248A (en) * | 1985-04-30 | 1989-08-22 | Ibm Corporation | Pixel slice processor with frame buffers grouped according to pixel bit width |
| US4737921A (en) * | 1985-06-03 | 1988-04-12 | Dynamic Digital Displays, Inc. | Three dimensional medical image display system |
| US4700320A (en) * | 1985-07-09 | 1987-10-13 | American Telephone And Telegraph Company, At&T Bell Laboratories | Bitmapped graphics workstation |
| US4809347A (en) * | 1986-07-18 | 1989-02-28 | Hughes Aircraft Company | Computer vision architecture |
| US5046023A (en) * | 1987-10-06 | 1991-09-03 | Hitachi, Ltd. | Graphic processing system having bus connection control capable of high-speed parallel drawing processing in a frame buffer and a system memory |
| US4941107A (en) * | 1986-11-17 | 1990-07-10 | Kabushiki Kaisha Toshiba | Image data processing apparatus |
| US5010515A (en) * | 1987-07-28 | 1991-04-23 | Raster Technologies, Inc. | Parallel graphics processor with workload distributing and dependency mechanisms and method for distributing workload |
| US4949280A (en) * | 1988-05-10 | 1990-08-14 | Battelle Memorial Institute | Parallel processor-based raster graphics system architecture |
| US4958303A (en) * | 1988-05-12 | 1990-09-18 | Digital Equipment Corporation | Apparatus for exchanging pixel data among pixel processors |
| US4967392A (en) * | 1988-07-27 | 1990-10-30 | Alliant Computer Systems Corporation | Drawing processor for computer graphic system using a plurality of parallel processors which each handle a group of display screen scanlines |
| US5027292A (en) * | 1989-04-19 | 1991-06-25 | International Business Machines Corporation | Multiple depth buffers for graphics and solid modelling |
-
1991
- 1991-12-24 US US07/813,318 patent/US5274760A/en not_active Expired - Fee Related
-
1992
- 1992-11-27 EP EP92120316A patent/EP0548586A3/en not_active Withdrawn
- 1992-12-02 JP JP4323014A patent/JPH087792B2/ja not_active Expired - Lifetime
- 1992-12-07 KR KR1019920023469A patent/KR960003041B1/ko not_active Expired - Fee Related
-
1993
- 1993-12-16 ES ES93120316T patent/ES2103416T3/es not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| KR930013968A (ko) | 1993-07-22 |
| KR960003041B1 (ko) | 1996-03-04 |
| ES2103416T3 (es) | 1997-09-16 |
| EP0548586A2 (en) | 1993-06-30 |
| EP0548586A3 (en) | 1995-09-20 |
| JPH05282458A (ja) | 1993-10-29 |
| US5274760A (en) | 1993-12-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH087792B2 (ja) | グラフィックス・システムにおける拡張可能な複数のイメージ・バッファ | |
| US6377266B1 (en) | Bit BLT with multiple graphics processors | |
| US7924287B2 (en) | Method and system for minimizing an amount of data needed to test data against subarea boundaries in spatially composited digital video | |
| US6700581B2 (en) | In-circuit test using scan chains | |
| US6798421B2 (en) | Same tile method | |
| US6819332B2 (en) | Antialias mask generation | |
| US20100079454A1 (en) | Single Pass Tessellation | |
| US6166743A (en) | Method and system for improved z-test during image rendering | |
| US7522171B1 (en) | On-the-fly reordering of 32-bit per component texture images in a multi-cycle data transfer | |
| US8941669B1 (en) | Split push buffer rendering for scalability | |
| JPH0683970A (ja) | 三角形描画装置及び方法 | |
| JPH0683969A (ja) | グラフィックス・プロセッサ及びグラフィックス・データ処理方法 | |
| JPH0727571B2 (ja) | ラスタ走査表示装置及び図形データ転送方法 | |
| EP0329771A1 (en) | High performance graphics workstation and method of operating therefor | |
| US20030169259A1 (en) | Graphics data synchronization with multiple data paths in a graphics accelerator | |
| US6812928B2 (en) | Performance texture mapping by combining requests for image data | |
| CN113450445A (zh) | 临时密实渲染的自适应像素采样顺序 | |
| US20030164823A1 (en) | 3D graphics accelerator architecture | |
| JP2025501026A (ja) | グラフィックス破棄エンジン | |
| JPH0714029A (ja) | 線描画装置及び方法 | |
| US6885375B2 (en) | Stalling pipelines in large designs | |
| Molnar | The PixelFlow texture and image subsystem | |
| US12361628B2 (en) | Configurable multiple-die graphics processing unit | |
| JPH0652051A (ja) | 階層メモリ制御 | |
| US12169896B2 (en) | Graphics primitives and positions through memory buffers |