JP3881404B2 - コンピュータ・グラフィックス・システム用のデータ・バス・プロトコル - Google Patents
コンピュータ・グラフィックス・システム用のデータ・バス・プロトコル Download PDFInfo
- Publication number
- JP3881404B2 JP3881404B2 JP14620796A JP14620796A JP3881404B2 JP 3881404 B2 JP3881404 B2 JP 3881404B2 JP 14620796 A JP14620796 A JP 14620796A JP 14620796 A JP14620796 A JP 14620796A JP 3881404 B2 JP3881404 B2 JP 3881404B2
- Authority
- JP
- Japan
- Prior art keywords
- data word
- bits
- circuit block
- data
- word
- 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
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Bus Control (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【0001】
【産業上の利用分野】
本発明は総括的にコンピュータ・グラフィックス・システムに関し、詳細にいえば、コンピュータ・グラフィックス・システムのデータ・バスでZ座標データを転送するバス・プロトコルに関する。
【0002】
【従来の技術】
コンピュータ・グラフィックス・システムは一般に、オブジェクトのグラフィック表示を2次元の表示画面に表示するために使用されている。現在のコンピュータ・グラフィックス・システムはきわめて細かい表示を行うことができ、各種の用途で使用されている。
【0003】
典型的なコンピュータ・グラフィックス・システムにおいて、表示画面に表示されるオブジェクトは複数のグラフィックス・プリミティブに分割される。プリミティブはグラフィック・ピクチャの基本的な構成要素であり、点、線、ベクトルおよび三角形などの多角形を含むことができる。通常、画面に表示される1つまたは複数のオブジェクトのビューを表すグラフィックス・プリミティブを、2次元の表示画面にレンダリングないし描画するハードウェア/ソフトウェア方式が実施されている。
【0004】
通常、レンダリング対象の3次元オブジェクトを定義するプリミティブは、各プリミティブをプリミティブ・データによって定義しているホスト・コンピュータによって与えられる。たとえば、プリミティブが三角形である場合、ホスト・コンピュータはプリミティブをその頂点のX、Y、Z座標により、また各頂点のR、G、Bカラー値によって定義することができる。レンダリング・ハードウェアはプリミティブ・データを補間して、各プリミティブを表すためにオンにされる表示画面のピクセル、および各ピクセルに対するR、G、B値を計算する。
【0005】
通常、プリミティブ・データはデータ・バスを使用して、グラフィックス・システムの各種の回路ブロックに分配される。データ・バスの標準的な幅には、32ビットや64ビットなどがある。非標準のデータ・バスを使用することもできるが、非標準のデータ・バスは通常、費用がかさむものであり、また付加的な開発時間を必要とする。プリミティブ・データ・ワードは通常、32ビット以下であるが、Z座標データは異なっており、高精度を達成するのに40ビットを必要とすることもある。
【0006】
【発明が解決しようとする課題】
従来技術のグラフィックス・システムでは、40ビットのZ座標データを32ビット幅のデータ・バスで送ることが必要となった場合に問題が生じる。プリミティブ・データの転送レートを最大限のものとするには、Z座標データを1バス・サイクルだけで転送することが望ましい。ハイ・エンドの、すなわちより高価な従来技術のシステムでは、40ビットのZ座標データの転送を少なくとも40ビットのバス幅を有するカスタム・データ・バスを利用して達成している。Z座標に必要な精度が低いロー・エンドの従来技術のシステムでは、標準データ・バスを使用できるようにするため、Z座標データは通常、32ビットに丸められている。あるいは、32ビットのデータ・バスを使用する従来技術のシステムでは、各40ビットのZ座標ワードを2つ以上のバス・サイクルを使用して転送しているが、こうすると、グラフィックス・プリミティブ・データの転送レートが低下する。40ビットのZ座標データによってもたらされる精度を維持すると共に、Z座標データの転送に2つのバス・サイクルを必要としないようにすることが望ましい。
【0007】
【課題を解決するための手段】
本発明の1つの形態によれば、コンピュータ・グラフィックス・システムの第1および第2の回路ブロックの間でデータを転送する装置が提供される。第1および第2の回路ブロックはnビットのデータ・バスによって相互接続される。この装置はデータ・ワードを第1回路ブロックから第2回路ブロックへデータ・バス上で順次伝送する、第1回路ブロック内の回路を備えている。データ・ワードはビット数がnビットよりも大きい1つまたは複数のロング・データ・ワードを含んでいる。この装置はさらに、nビットを超えるロング・データ・ワードのビットを格納する、第1回路ブロック内のレジスタと、ロング・データ・ワードの伝送に応じて、nビットを超えるロング・データ・ワードのビットをレジスタにロードし、かつレジスタに格納されているロング・データ・ワードのビットを第2回路ブロックへの伝送のために複合データ・ワードに組み合わせる、第1回路ブロック内のコントローラとを備えている。
【0008】
複合データ・ワードはビット数がnビット未満のショート・データ・ワードを含んでいてもよい。好ましい実施の形態において、40ビットのZ座標データは32ビットのデータ・バスで伝送される。3つのZ座標データ・ワードの8つの過剰ビットは8ビットのコマンド・ワードと組み合わされて、32ビットの複合データ・ワークを形成する。それ故、40ビットのZ座標データ・ワードを伝送するのに、余分なバス・サイクルは必要とされない。
【0009】
本発明の他の形態によれば、コンピュータ・グラフィックス・システムの第1および第2の回路ブロックの間でデータを転送する方法が提供される。第1および第2の回路ブロックはnビットのデータ・バスによって相互接続される。この方法はビット数がnビットよりも大きい1つまたは複数のロング・データ・ワードを含んでいるデータ・ワードの各々のnビットを第1回路ブロックから第2回路ブロックへ伝送するステップと、nビットを超えるロング・データ・ワードのビットをレジスタに格納するステップと、nビットを超えるロング・データ・ワードのビットを組み合わせて複合データ・ワードを形成するステップと、複合データ・ワードを第1回路ブロックから第2回路ブロックへデータ・バス上で伝送するステップとを含んでいる。
【0010】
本発明をよりよく理解するために、参照することによって本明細書に組み込まれる添付図面を参照する。
【0011】
【実施例】
図1は本発明のグラフィックス・システムの1実施の形態のブロック図であり、このシステムはテクスチャ・データをローカルに格納するキャッシュ・メモリを有するテクスチャ・マッピング・ハードウェアを含んでいる。説明のための図示の実施形態が基板やチップの数、これらを区画する態様、バス幅、およびデータ転送レートに関しては例示的なものに過ぎないことを理解すべきである。その他多くの実施形態を使用することができる。図示のように、システムはフロント・エンド基板10、テクスチャ・マッピング基板12、およびフレーム・バッファ基板14を含んでいる。フロント・エンド基板は52ビット・バス16でホスト・コンピュータ15と通信を行う。フロント・エンド基板はレンダリング対象のプリミティブをバス16でホスト・コンピュータから受け取る。プリミティブは、プリミティブが三角形である場合の頂点などのプリミティブのすべての部分に対するx、y、zベクトル座標データ、R、G、Bカラー・データおよびテクスチャS、T座標によって規定されている。3次元でプリミティブを表すデータは次いで、フロント・エンド基板10によって、85ビット・バス18でテクスチャ・マッピング基板12およびフレーム・バッファ基板14に与えられる。テクスチャ・マッピング基板は受け取ったプリミティブ・データを補間して、プリミティブを表す画面表示ピクセルを計算し、各プリミティブ・ピクセルに対する対応する合成テクスチャ・データを決定する。合成テクスチャ・データは、図面を明確とするため図2では単一のバスとして示されている5本の55ビット・バス28でフレーム・バッファ基板に与えられる。
【0012】
フレーム・バッファ基板14もフロント・エンド基板10から受け取ったプリミティブ・データを補間して、各プリミティブを表す表示画面上のピクセルを計算し、各ピクセルに対するオブジェクト・カラー値を決定する。フレーム・バッファ基板は次いで、ピクセルごとに、オブジェクト・カラー値を、テクスチャ・マッピング基板によってもたらされた合成テクスチャ・データと組み合わせて、各ピクセルに対して得られる画像のR、G、B値を生成する。各ピクセルに対するR、G、Bカラー制御信号はそれぞれ、R、G、Bライン29に与えられて、表示画面のピクセル(図示せず)を制御し、テクスチャ・マップされたプリミティブを表す得られる画像を表示画面に表示する。
【0013】
フロント・エンド基板10、テクスチャ・マッピング基板12およびフレーム・バッファ基板14は各々パイプライン化されており、複数のプリミティブで同時に作動する。テクスチャ・マッピング基板とフレーム・バッファ基板が、フロント・エンド基板によって以前にもたらされたプリミティブに対して作動している間に、フロント・エンド基板は基板12および14のパイプラインがいっぱいになるまで、新しいプリミティブに対する作動を継続し、これをもたらす。
【0014】
フロント・エンド基板10はディストリビュータ・チップ30、3個の3次元(3−D)形状アクセラレータ・チップ32A、32Bおよび32C、2次元(2−D)形状アクセラレータ・チップ34ならびにコンセントレータ・チップ36を含んでいる。ディストリビュータ・チップ30はバス16で、ホスト・コンピュータからX、Y、Z座標データおよびカラー・プリミティブ・データを受け取り、3−Dプリミティブ・データを3−D形状アクセラレータ・チップ32A、32Bおよび32Cに均等に分配する。このようにすると、プリミティブの3つのグループが同時に操作されるため、システムの帯域幅が増加する。データは40ビット・バス38Aで3−D形状アクセラレータ・チップ32Aおよび32Bにもたらされ、また40ビット・バス38Bでチップ32Cにもたらされる。バス38Aおよび38Bは両方とも60MHzの速度でデータを転送し、2個の3−D形状アクセラレータ・チップをサポートするのに十分な帯域幅をもたらす。2−Dプリミティブ・データは44ビット・バス40により40MHzの速度で2−D形状アクセラレータ・チップ34に与えられる。
【0015】
各3−D形状アクセラレータ・チップは受け取ったプリミティブを定義するx、y、z座標を対応する画面空間座標に変換し、その画面空間座標に対するオブジェクトのR、G、B値およびテクスチャのS、T値を決定し、プリミティブの四辺形を三角形に圧縮解除し、各三角形を定義する三角形平面式を計算する。各3−D形状アクセラレータ・チップはビュー・クリッピング操作を行って、複数のウィンドウが表示されている場合、あるいはプリミティブの一部が表示画面に表されているビュー容量を超えた場合に、得られる画像の正確な画面表示を行えるようにもする。3−D形状アクセラレータ・チップ32Aおよび32Bおよび32Cからの出力データはそれぞれ44ビット・バス42Aおよび42Bによって60MHzの速度でコンセントレータ・チップ36にもたらされる。2次元形状アクセラレータ・チップ34も46ビット・バス44により45MHzの速度で出力データをコンセントレータ・チップ36にもたらす。コンセントレータ・チップ36は3−D形状アクセラレータ・チップ32A−Cから受け取った3−Dプリミティブ出力データを組み合わせ、プリミティブをこれらがディストリビュータ・チップ30によって分配される前に有していた元の順序に並べ換え、組み合わされたプリミティブ出力データをバス18によってテクスチャ・マッピング基板およびフレーム・バッファ基板にもたらす。
【0016】
テクスチャ・マッピング基板12はテクスチャ・マッピング・チップ46、およびキャッシュ・メモリとして構成されているのが好ましいローカル・メモリ48を含んでいる。本発明の好ましい実施の形態において、ローカル・メモリは以下に述べる理由により、複数個のSDRAM(同期ダイナミック・ランダム・アクセス・メモリ)チップによって形成されている。以下で詳述するように、キャッシュ・メモリ48はフレーム・バッファ基板にレンダリングされるプリミティブと関連するテクスチャMIPマップ・データを記憶する。テクスチャMIPマップ・データはホスト・コンピュータ15のメイン・メモリ17からバス40によって2−D形状アクセラレータ・チップ34へ、また24ビット・バス24によってテクスチャ・マッピング・チップ46へダウンロードされる。
【0017】
テクスチャ・マッピング・チップ46はバス18によって、表示画面にレンダリングされるプリミティブを表すプリミティブ・データを逐次受け取る。上述したように、3−D形状アクセラレータ・チップ32A−Cによってもたらされるプリミティブは、点、線および三角形を含んでいる。テクスチャ・マッピング基板は点や線のテクスチャ・マッピングは行わず、三角形のプリミティブだけに作用する。三角形のプリミティブを表すデータは少なくとも1つの頂点に対するx、y、zオブジェクト・ピクセル座標、少なくとも1つの頂点のオブジェクト・カラーR、G、B値、少なくとも1つの頂点に対応しているテクスチャ・マップの部分のS、Tでの座標、および三角形の平面式を含んでいる。テクスチャ・マッピング・チップ46はオブジェクト・ピクセルのz座標およびオブジェクト・カラーR、G、B値を無視する。チップ46はx、yピクセル座標を補間し、プリミティブを表す各x、y画面表示ピクセルに対応するSおよびT座標を補間する。各ピクセルに関して、テクスチャ・マッピング・チップはキャッシュ・メモリからのピクセルに対応するテクスチャMIPの部分にアクセスし、ピクセルに対する合成テクスチャデータを計算する。このデータは複数のテクセルの荷重平均を含んでいてもよい。
【0018】
各ピクセルに対する合成テクスチャはテクスチャ・マッピング・チップ46によって、5本のバス28でフレーム・バッファ基板に与えられる。5本のバス28はそれぞれ、フレーム・バッファ基板に設けられた5個のフレーム・バッファ・コントローラ・チップ50A、50B、50C、50Dおよび50Eに結合されており、合成テクスチャ・データをフレーム・バッファ・コントローラ・チップに並列に与える。フレーム・バッファ・コントローラ・チップ50A−Eはそれぞれ、関連するVRAM(ビデオ・ランダム・アクセス・メモリ)チップ51A−Eのグループに結合されている。フレーム・バッファ基板はさらに、4個のビデオ・フォーマット・チップ52A、52B、52Cおよび52Dと、RAMDAC(ランダム・アクセス・メモリ・ディジタル・アナログ変換器)54を含んでいる。フレーム・バッファ・コントローラ・チップは表示画面の異なる非重畳セグメントを制御する。各フレーム・バッファ・コントローラ・チップはバス18によってフロント・エンド基板からプリミティブ・データを、またバス28によってテクスチャ・マッピング基板から合成テクスチャ・マッピング・データを受け取る。フレーム・バッファ・コントローラ・チップはプリミティブ・データを補間して、プリミティブを表すそれぞれのセグメントにおける画面表示ピクセル座標、および各ピクセル座標に対する対応するオブジェクトR、G、Bカラー値を計算する。合成テクスチャ・データがテクスチャ・マッピング基板からもたらされるこれらのプリミティブ(すなわち、三角形)に対して、フレーム・バッファ・コントローラ・チップはピクセルごとに、オブジェクト・カラー値と合成テクスチャ・データを組み合わせて、表示画面に表示される各ピクセルに対する最終的なR、G、B値を生成する。
【0019】
オブジェクト・カラー値およびテクスチャ・カラー値を組み合わせる態様は、さまざまな方法で制御することができる。たとえば、置換モードにおいては、オブジェクト・カラー値をテクスチャ・カラー値と置き換えるだけで、テクスチャ・カラー値だけをピクセルのレンダリングに使用できる。また、変調モードにおいては、オブジェクト・カラー値とテクスチャ・カラー値を乗算して、ピクセルに対する最終的なR、G、B値を生成することができる。さらに、対応するテクスチャ・カラー値をオブジェクト・カラー値と組み合わせる態様を規定する比率を指定するカラー制御ワードを各テクセルに関して記憶することができる。得られたカラー制御ワードを、各ピクセルに対応しており、バス28によってフレーム・バッファ・コントローラ・チップに与えられる合成テクセル・データに関して決定できるので、対応して得られた制御ワードによって指定された比率を使用して、各ピクセルに対する最終的なR、G、B値を決定することができる。
【0020】
フレーム・バッファ・コントローラ・チップ50A−Eによって生成された、各ピクセルに対するR、G、B値を含む得られる画像のビデオ・データは対応するVRAMチップ51A−Eに記憶される。VRAMチップ51A−Eの各グループは8個のVRAMチップを含んでおり、40個のVRAMチップがフレーム・バッファ基板に配置されるようになっている。ビデオ・フォーマット・チップ52A−Dの各々は10個のVRAMチップの別々のセットに接続され、これらからデータを受け取る。ビデオ・データはVRAMチップからシリアルにシフト・アウトされ、64ビット・バス58A、58B、58Cおよび58Dにより27MHzの速度で4個のビデオ・フォーマット・チップ52A、52B、52Cおよび52Dにそれぞれ与えられる。ビデオ・フォーマット・チップはビデオ・データをフォーマットして、RAMDACによって処理できるようにし、かつフォーマットされたデータを32ビット・バス60A、60B、60Cおよび60Dによって33MHzの速度でRAMDAC54へ与える。RAMDAC54は次いで、ディジタル・カラー・データをアナログR、G、Bカラー制御信号に変換し、各ピクセルに対するR、G、B制御信号を画面表示(図示せず)アナログR,G,B制御ライン29へもたらす。
【0021】
図2はバス18、コンセントレータ36、およびフレーム・バッファ・コントローラ50Aの関連部分を詳細に示す。コンセントレータは浮動小数点固定小数点変換器62、論理コントローラ70、および各々が例示の実施の形態においては少なくとも8ビットの記憶容量を有する3つの記憶部分64A、64B、64Cを有する記憶レジスタ64を含んでいる。フレーム・バッファ・コントローラ50Aは論理コントローラ72、記憶レジスタ67、並びに各々が例示の実施の形態においては少なくとも40ビットの記憶容量を有する3つの記憶部分66A、66B、および66Cを有している記憶レジスタ66を含んでいる。コンセントレータは3−D形状アクセラレータ・チップから受け取ったプリミティブ出力データを組み合わせ、浮動小数点固定小数点変換器62で浮動小数点から固定小数点への変換を行い、組み合わされたプリミティブ出力データをバス18によってフレーム・バッファ基板に与える。
【0022】
本発明の第1の実施の形態によるバス・プロトコルの作動を、三角形プリミティブを例として使用して、図2〜図4を参照して説明する。1実施例において、各三角形プリミティブは22ワードのデータによって定義される。図3は三角形プリミティブを定義するために使用される22のワードを説明する図である。図3に示すように、各々が40ビットのデータを含んでいるZ座標データの3つのワード、すなわち、Z、dZ/dX、およびdZ/deを除き、プリミティブ・データからなるワードの各々は32ビット以下を有している。
【0023】
図2に示した実施の形態において、データ・バスは32ビット幅であり、32ビットを1バス・サイクルで転送する。40ビットのZ座標データをコンセントレータ36からフレーム・バッファ・コントローラ50Aへ、32ビットのバス・サイクル1つで転送することはできない。40ビットのZ座標データ・ワードを例示の実施の形態で転送する手順を、図4に示す。各Z座標データ・ワードの40ビット全部を転送するために、32の最上位ビットを1バス・サイクルで転送し、残りの8ビットを論理コントローラ70の制御により、記憶レジスタ64に記憶する。この手順は3つのZ座標データ・ワード全部に対して繰り返され、各Z座標データ・ワード(24ビット)のうち8ビットがレジスタ64に記憶される。論理コントローラ70はシフト・レジスタ64を制御して、Z座標データ・ワードZ、dZ/dXおよびdZ/deの各々からの8ビットが記憶レジスタの対応する記憶部分64A、64B、64Cのそれぞれに記憶されるようにする。
【0024】
コマンド・ワードが通常、データ・バスによって転送されるプリミティブの最後のワードである。図2に示した実施の形態において、コマンド・ワードは8ビットだけで構成されている。コマンド・ワードが転送されることを論理コントローラ70が検出すると、Z座標データ・ワードの各々に対する0−7ビットからなる、記憶レジスタ64に以前に記憶されている24ビットがコマンド・ワードと組み合わされて、複合ワードを形成する。Zデータ・ワードの各々のコマンド・ワードおよび8個の低位ビット(合計32ビット)はデータ・バスにより1バス・サイクルで転送される。
【0025】
図2はフレーム・バッファ基板50Aの関連部分も示している。データ・バス18によって転送されたZ座標データ・ワードの各々をフレーム・バッファ・コントローラが受け取る。図2に示すように、32ビットの各Z座標データ・ワードは受け取られた場合に、論理コントローラ72の制御により、フレーム・バッファ・コントローラの記憶レジスタ66に記憶される。次いで、コマンド・ワードを含んでいるバス・サイクルがデータ・バスからフレーム・バッファ・コントローラによって受け取られ、かつ論理コントローラ72によって検出された場合、Z座標データ・ワードの各々に対応した8ビットが論理コントローラによって複合ワードからはぎ取られ、該当するZ座標ワードに対応する記憶レジスタ部分に置かれて、40ビットのZ座標データ・ワードの各々が記憶レジスタ66内で再組立てされるようになる。コマンド・ワードは記憶レジスタ67に記憶される。
【0026】
本発明のプロトコルによるZ座標データ・ワードの転送を図4の全体図に示す。ステップ80において、32ビット(ビット8:39)Z座標データが浮動小数点固定小数点変換器62によってフレーム・バッファ・コントローラ50Aへ転送される。32ビットのZ座標データは論理コントローラ72の制御によりレジスタ66Aにロードされる。コンセントレータ36において、Z座標データ・ワードのビット0:7はレジスタ64Aにロードされる。ステップ82において、dZ/dXデータ・ワードのビット8:39は浮動小数点固定小数点変換器62により、データ・バス18上をフレーム・バッファ・コントローラ50Aに転送され、レジスタ66Bにロードされる。dZ/dXデータ・ワードのビット0:7はコンセントレータ36内のレジスタ64Bにロードされる。ステップ84において、dZ/deデータ・ワードのビット8:39は浮動小数点固定小数点変換器62により、データ・バス18上を転送され、論理コントローラ72の制御によりレジスタ66Cにロードされる。dZ/deデータ・ワードのビット0:7はコンセントレータ36内のレジスタ64Cにロードされる。ステップ86において、コマンド・ワードの8ビットがレジスタ64A、64Bおよび64Cの内容と組み合わされて、32ビットの複合データ・ワードを形成する。複合データ・ワードはデータ・バス18上をフレーム・バッファ・コントローラ50Aへ転送される。フレーム・バッファ・コントローラ50Aにおいて、各z座標データ・ワードのビット0:7はレジスタ66A、66Bおよび66Cのそれぞれの低位ロケーションにロードされる。この時点で(ステップ8A)、3つのZ座標データ・ワードがレジスタ66A、66Bおよび66Cからの転送に利用可能である。3つの40ビットZ座標データ・ワードならびにコマンド・ワードは4つのバス・サイクルで32ビット・データ・バス18上で転送されている。
【0027】
上述した方式により、3つの40ビット幅のZ座標データ・ワードが、三角形に対するプリミティブ・データで構成されたすべてのワードを転送するための付加的なバス・サイクルを必要とする事なく、32ビット幅のデータ・バス上で転送される。上述した実施の形態において、三角形に対するプリミティブ・データを構成する22ワードは32ビット幅のデータ・バス上で22のバス・サイクルで転送される。例示の実施の形態において、データ・バス18は2つの32ビット・ワードを1バス・サイクルで転送するために64ビット幅である。この実施形態において、三角形のプリミティブに対する22ワードは11のバス・サイクルで転送することもできる。しかしながら、2つの32ビット・ワードが別々に制御されるのであるから、64ビット・バスは並列な2本の32ビット・バスと見るのが適切である。検討のため、バス18を32ビット・データ・ワードを転送する容量を有するものとみなす。
【0028】
本発明の第2の実施の形態において、コマンド・ワードは8ビット超、たとえば、11ビットでよい。この実施の形態においては、Z座標データ・ワードの各々の残っている8データ・ビットのうち7ビットだけが、コマンド・ワードと共に転送される。Z座標データ・ワードの各々の最下位ビットに対応する8番目のビットは廃棄される。本発明のこの実施の形態を図5に示す。図5に示すように、フレーム・バッファの記憶レジスタ66はZ座標データ・ワードを再構成する。図5の実施の形態は図2〜図4の実施の形態と同じ態様で作動するが、ビット数について適切な変更がなされている。この実施の形態において、再構成されたZ座標データ・ワードは元の40ビットのうちの39ビットだけで構成されている。各Z座標データ・ワードでの1ビットの損失はZ精度を若干低下させることとなる。しかしながら、得られるZ座標データ・ワードは依然32ヒット超のビットを含んでおり、付加的なバス・サイクルを必要としない。
【0029】
本発明のこの実施の形態が11以外のビット数kを有しているコマンド・ワードに適用できることに留意すべきである。この場合、32ビットのデータ・ワードに適合する記憶レジスタに含まれるできるだけ多くの残りのZ座標データ・ビットが、コマンド・ワードと共に1バス・サイクルで転送され、最下位ビットからなる付加的なZ座標データ・ビットは廃棄される。
【0030】
本発明の第3の実施の形態において、プリミティブ・データはコマンド・ワードを含んでいない。図6に示すこの実施の形態において、Z座標データ・ワードの24の残りのビットは論理コントローラ70の制御によりまとめて1付加データ・サイクルで転送される。以前の実施の形態と同様に、各Z座標データ・ワードのうち32ビットは1バス・サイクルで転送され、残りの8ビットは記憶レジスタ64に記憶され、24ビットが記憶レジスタ64に記憶されることとなる。データ・バス上を転送される各Z座標データ・ワードのうち32ビットはフレーム・バッファ基板が受け取り、論理コントローラ72によって記憶レジスタ66に記憶される。記憶レジスタ64に記憶された24ビットはデータ・バス上を1付加バス・サイクルで転送される。24ビットをフレーム・バッファ・コントローラが受け取り、論理コントローラ72が検出すると、Z座標データ・ワードの各々に対応する8ビットが該当するZ座標データ・ワードに対応する記憶レジスタ部分に置かれ、40ビットのZ座標データ・ワードの各々が記憶レジスタ66で再構成されるようになる。本発明のこの実施の形態は三角形のプリミティブ・データの各々に対して1付加バス・サイクルを必要とする。
【0031】
本明細書で図示説明した回路は単なる例として挙げたものである。たとえばSynopsysが市販している論理合成ソフトウェアを使用した大規模カスタム集積回路で、回路を実現することが好ましい。論理合成ソフトウェアはVeralogなどの高水準言語で作成された回路記述を最適化し、論理ゲートに変換する。5ボルトで作動する1ミクロンFETを作成するCMOSプロセス、3.3ボルトで作動する0.6ミクロン描画ゲート長デバイスを作成するCMOSプロセス、あるいはディジタル回路を実現する任意のその他適切なプロセスを使用して、回路を実現してもかまわない。論理合成ソフトウェアへの入力は構造的というよりも機能的なものであるから、論理合成ソフトウェアによって生成される実際の回路は、本明細書で開示したものと異なるものであることもある。
【0032】
本発明の少なくとも1つの例示の実施の形態を説明してきたが、各種の変更、改変および改善が当分野の技術者には容易に想起されよう。そのような変更、改変および改善は本発明の精神および範囲内のものである。したがって、上記の説明は単なる例に過ぎず、限定を目的としたものではない。本発明は首記の特許請求の範囲によってのみ規定されるものである。
【0033】
本発明の実施の形態を列挙すれば、概ね以下の通りである。
【0034】
〔1〕nビットを有するデータ・バス(18)によって相互接続された第1の回路ブロック(36)と第2の回路ブロック(50A)とを備えているコンピュータ・グラフィックス・システムにおいて、
第1の回路ブロックから前記データ・バス上を前記第2の回路ブロックへ、nビットよりも大きいビット数を有する1つまたは複数のロング・データ・ワードを含んでいるデータ・ワードを順次伝送する、第1の回路ブロックの回路(62)と、
nビットを超える前記ロング・データ・ワードのビットを記憶する、第1の回路ブロックのレジスタ(64)と、
前記ロング・データ・ワードの伝送に応じて、nビットを超える前記ロング・データ・ワードのビットを前記レジスタにロードし、かつ前記レジスタに格納された前記ロング・データ・ワードのビットを組み合わせて、前記第2の回路ブロックへの伝送のための複合データ・ワードにする、前記第1の回路ブロックのコントローラ(70)とを備えている装置。
【0035】
〔2〕前記ロング・データ・ワードを再構成する、第2の回路ブロックの回路をさらに備えており、nが32に等しく、nビットよりも大きいビット数を有する1つまたは複数のロング・データ・ワードがZ座標データ・ワードであり、nビット未満のビット数を有するショート・データ・ワードがコマンド・ワードである、上記第1項に記載の装置。
【0036】
〔3〕データ・ワードがnビット未満のビット数を有するショート・データ・ワードをさらに含んでおり、コントローラが前記ショート・データ・ワードの伝送に応じ、前記レジスタに格納された前記ロング・データ・ワードのビットを前記ショート・データ・ワードと組み合わせて、前記第2の回路ブロックへの伝送のための複合データ・ワードを形成する、上記第1または2項に記載の装置。
【0037】
〔4〕コントローラが前記複合データ・ワードのビット数をnビットに減らすために前記ロング・データ・ワードの十分な数のビットを削除する手段を含んでいる上記第1または3項に記載の装置。
【0038】
〔5〕第2の回路ブロックの回路が前記ロング・データ・ワードおよび第2のコントローラの各々を再構成する第2のレジスタを備えており、前記ロング・データ・ワードの伝送に応じて、前記ロング・データ・ワードを前記第2のレジスタにロードし、かつ前記複合データ・ワードの伝送に応じて、前記複合データ・ワードからのnビットを超える前記ロング・データ・ワードのビットを前記第2のレジスタにロードし、これによって前記ロング・データ・ワードが前記第2のレジスタで再構成される、上記第2項に記載の装置。
【0039】
〔6〕nビットを有するデータ・ワードを伝送するためのデータ・バス(18)によって相互接続された第1の回路ブロック(36)と第2の回路ブロック(50A)とを備えているコンピュータ・グラフィックス・システムにおいて、
第1の回路ブロックからデータ・バス上を前記第2の回路ブロックへ、nビットよりも大きいビット数を有する1つまたは複数のロング・データ・ワードを含んでいるデータ・ワードの各々のnビットを伝送するステップと、
nビットを超えるロング・データ・ワードのビットをレジスタ(64)に格納するステップと、
nビットを超えるロング・データ・ワードのビットを組み合わせて、複合データ・ワードを形成するステップと、
第1の回路ブロックからデータ・バス上を第2の回路ブロックへ複合データ・ワードを伝送するステップとを備えているデータ・バス上でデータ・ワードを転送する方法。
【0040】
〔7〕ロング・データ・ワードを第2の回路ブロックで再構成するステップをさらに備えている、上記第6項に記載の方法。
【0041】
〔8〕データ・ワードがnビット未満のビット数を有するショート・データ・ワードをさらに含んでおり、組合せステップがショート・データ・ワードをnビットを超えるロング・データ・ワードのビットと組み合わせ、複合データ・ワードを形成するステップを含む、上記第6または7項に記載の方法。
【0042】
〔9〕前記複合データ・ワードのビット数をnビットに減らすために前記ロング・データ・ワードの十分な数のビットを削除するステップをさらに備えている、上記第6または8項に記載の方法。
【0043】
〔10〕ロング・データ・ワードを第2の回路ブロックで再構成するステップが第1の回路ブロックから第2の回路ブロックに伝送されたロング・データ・ワードを第2のレジスタ(66)にロードし、前記複合データ・ワードからのnビットを超えるロング・データ・ワードのビットを前記第2のレジスタにロードし、これによってロング・データ・ワードが前記第2のレジスタで再構成される、上記第7項に記載の方法。
【0044】
【発明の効果】
本発明の実施の形態を三角形のプリミティブを例として使用して説明してきた。本発明が点、直線、ベクトルおよび多角形を含むその他のグラフィックス・プリミティブにも同様に適用できることを理解すべきである。これらのその他のプリミティブの場合、プリミティブを記述するのに使用されるワードの総数は変動することがあり、バス幅を超えるデータ・ワードの数は3よりも大きくても、小さくてもかまわない。しかしながら、本発明の同一の全体的な方式を使用することができる。具体的にいえば、データ・バスの幅を超えるZ座標データ・ワードのビットは、データ・バスの最大容量よりも少ないビット数を有するワードと組み合わされるので、データ・バス幅よりも大きいビット数を有するZ座標ワードは、付加的なバス・サイクルを付加する必要なしに転送されると言った効果が得られる。
【0045】
本発明の実施の形態を32ビット幅のデータ・バスを使用して説明してきた。本発明を32ビット以外のnビットの幅を有するデータ・バス、ならびにビット数m(m>n)を有するデータ・ワードに適用できることを理解すべきである。また、本発明をZ座標データがデータ・バスの幅よりも大きいビット数で構成されている場合について説明してきた。Z座標データの転送に関して上述した方式は、任意のグラフィック・パラメータを表し、バス幅よりも大きいビット数を有するデータ・ワードの転送にも同様に適用できる。
【図面の簡単な説明】
【図1】本発明を組み込むのに適したコンピュータ・グラフィックス・システムの1実施の形態のブロック図である。
【図2】本発明の第1の実施の形態のブロック図である。
【図3】図2の実施の形態で使用される三角形プリミティブのグラフィックス・プリミティブ・データ構造の図である。
【図4】図2の実施の形態によるデータ・フローを説明する図である。
【図5】本発明の第2の実施の形態による、コマンド・ワードとZ座標データの1バス・サイクルでの転送を説明するブロック図である。
【図6】本発明の第3の実施の形態による、コマンド・ワードがない場合のZ座標データの転送を説明するブロック図である。
【符号の説明】
18 データ・バス
36 第1の回路ブロック
50A 第2の回路ブロック
62 第1の回路ブロックの回路
64 第1の回路ブロックのレジスタ
66 第2のレジスタ
70 第1の回路ブロックのコントローラ
【産業上の利用分野】
本発明は総括的にコンピュータ・グラフィックス・システムに関し、詳細にいえば、コンピュータ・グラフィックス・システムのデータ・バスでZ座標データを転送するバス・プロトコルに関する。
【0002】
【従来の技術】
コンピュータ・グラフィックス・システムは一般に、オブジェクトのグラフィック表示を2次元の表示画面に表示するために使用されている。現在のコンピュータ・グラフィックス・システムはきわめて細かい表示を行うことができ、各種の用途で使用されている。
【0003】
典型的なコンピュータ・グラフィックス・システムにおいて、表示画面に表示されるオブジェクトは複数のグラフィックス・プリミティブに分割される。プリミティブはグラフィック・ピクチャの基本的な構成要素であり、点、線、ベクトルおよび三角形などの多角形を含むことができる。通常、画面に表示される1つまたは複数のオブジェクトのビューを表すグラフィックス・プリミティブを、2次元の表示画面にレンダリングないし描画するハードウェア/ソフトウェア方式が実施されている。
【0004】
通常、レンダリング対象の3次元オブジェクトを定義するプリミティブは、各プリミティブをプリミティブ・データによって定義しているホスト・コンピュータによって与えられる。たとえば、プリミティブが三角形である場合、ホスト・コンピュータはプリミティブをその頂点のX、Y、Z座標により、また各頂点のR、G、Bカラー値によって定義することができる。レンダリング・ハードウェアはプリミティブ・データを補間して、各プリミティブを表すためにオンにされる表示画面のピクセル、および各ピクセルに対するR、G、B値を計算する。
【0005】
通常、プリミティブ・データはデータ・バスを使用して、グラフィックス・システムの各種の回路ブロックに分配される。データ・バスの標準的な幅には、32ビットや64ビットなどがある。非標準のデータ・バスを使用することもできるが、非標準のデータ・バスは通常、費用がかさむものであり、また付加的な開発時間を必要とする。プリミティブ・データ・ワードは通常、32ビット以下であるが、Z座標データは異なっており、高精度を達成するのに40ビットを必要とすることもある。
【0006】
【発明が解決しようとする課題】
従来技術のグラフィックス・システムでは、40ビットのZ座標データを32ビット幅のデータ・バスで送ることが必要となった場合に問題が生じる。プリミティブ・データの転送レートを最大限のものとするには、Z座標データを1バス・サイクルだけで転送することが望ましい。ハイ・エンドの、すなわちより高価な従来技術のシステムでは、40ビットのZ座標データの転送を少なくとも40ビットのバス幅を有するカスタム・データ・バスを利用して達成している。Z座標に必要な精度が低いロー・エンドの従来技術のシステムでは、標準データ・バスを使用できるようにするため、Z座標データは通常、32ビットに丸められている。あるいは、32ビットのデータ・バスを使用する従来技術のシステムでは、各40ビットのZ座標ワードを2つ以上のバス・サイクルを使用して転送しているが、こうすると、グラフィックス・プリミティブ・データの転送レートが低下する。40ビットのZ座標データによってもたらされる精度を維持すると共に、Z座標データの転送に2つのバス・サイクルを必要としないようにすることが望ましい。
【0007】
【課題を解決するための手段】
本発明の1つの形態によれば、コンピュータ・グラフィックス・システムの第1および第2の回路ブロックの間でデータを転送する装置が提供される。第1および第2の回路ブロックはnビットのデータ・バスによって相互接続される。この装置はデータ・ワードを第1回路ブロックから第2回路ブロックへデータ・バス上で順次伝送する、第1回路ブロック内の回路を備えている。データ・ワードはビット数がnビットよりも大きい1つまたは複数のロング・データ・ワードを含んでいる。この装置はさらに、nビットを超えるロング・データ・ワードのビットを格納する、第1回路ブロック内のレジスタと、ロング・データ・ワードの伝送に応じて、nビットを超えるロング・データ・ワードのビットをレジスタにロードし、かつレジスタに格納されているロング・データ・ワードのビットを第2回路ブロックへの伝送のために複合データ・ワードに組み合わせる、第1回路ブロック内のコントローラとを備えている。
【0008】
複合データ・ワードはビット数がnビット未満のショート・データ・ワードを含んでいてもよい。好ましい実施の形態において、40ビットのZ座標データは32ビットのデータ・バスで伝送される。3つのZ座標データ・ワードの8つの過剰ビットは8ビットのコマンド・ワードと組み合わされて、32ビットの複合データ・ワークを形成する。それ故、40ビットのZ座標データ・ワードを伝送するのに、余分なバス・サイクルは必要とされない。
【0009】
本発明の他の形態によれば、コンピュータ・グラフィックス・システムの第1および第2の回路ブロックの間でデータを転送する方法が提供される。第1および第2の回路ブロックはnビットのデータ・バスによって相互接続される。この方法はビット数がnビットよりも大きい1つまたは複数のロング・データ・ワードを含んでいるデータ・ワードの各々のnビットを第1回路ブロックから第2回路ブロックへ伝送するステップと、nビットを超えるロング・データ・ワードのビットをレジスタに格納するステップと、nビットを超えるロング・データ・ワードのビットを組み合わせて複合データ・ワードを形成するステップと、複合データ・ワードを第1回路ブロックから第2回路ブロックへデータ・バス上で伝送するステップとを含んでいる。
【0010】
本発明をよりよく理解するために、参照することによって本明細書に組み込まれる添付図面を参照する。
【0011】
【実施例】
図1は本発明のグラフィックス・システムの1実施の形態のブロック図であり、このシステムはテクスチャ・データをローカルに格納するキャッシュ・メモリを有するテクスチャ・マッピング・ハードウェアを含んでいる。説明のための図示の実施形態が基板やチップの数、これらを区画する態様、バス幅、およびデータ転送レートに関しては例示的なものに過ぎないことを理解すべきである。その他多くの実施形態を使用することができる。図示のように、システムはフロント・エンド基板10、テクスチャ・マッピング基板12、およびフレーム・バッファ基板14を含んでいる。フロント・エンド基板は52ビット・バス16でホスト・コンピュータ15と通信を行う。フロント・エンド基板はレンダリング対象のプリミティブをバス16でホスト・コンピュータから受け取る。プリミティブは、プリミティブが三角形である場合の頂点などのプリミティブのすべての部分に対するx、y、zベクトル座標データ、R、G、Bカラー・データおよびテクスチャS、T座標によって規定されている。3次元でプリミティブを表すデータは次いで、フロント・エンド基板10によって、85ビット・バス18でテクスチャ・マッピング基板12およびフレーム・バッファ基板14に与えられる。テクスチャ・マッピング基板は受け取ったプリミティブ・データを補間して、プリミティブを表す画面表示ピクセルを計算し、各プリミティブ・ピクセルに対する対応する合成テクスチャ・データを決定する。合成テクスチャ・データは、図面を明確とするため図2では単一のバスとして示されている5本の55ビット・バス28でフレーム・バッファ基板に与えられる。
【0012】
フレーム・バッファ基板14もフロント・エンド基板10から受け取ったプリミティブ・データを補間して、各プリミティブを表す表示画面上のピクセルを計算し、各ピクセルに対するオブジェクト・カラー値を決定する。フレーム・バッファ基板は次いで、ピクセルごとに、オブジェクト・カラー値を、テクスチャ・マッピング基板によってもたらされた合成テクスチャ・データと組み合わせて、各ピクセルに対して得られる画像のR、G、B値を生成する。各ピクセルに対するR、G、Bカラー制御信号はそれぞれ、R、G、Bライン29に与えられて、表示画面のピクセル(図示せず)を制御し、テクスチャ・マップされたプリミティブを表す得られる画像を表示画面に表示する。
【0013】
フロント・エンド基板10、テクスチャ・マッピング基板12およびフレーム・バッファ基板14は各々パイプライン化されており、複数のプリミティブで同時に作動する。テクスチャ・マッピング基板とフレーム・バッファ基板が、フロント・エンド基板によって以前にもたらされたプリミティブに対して作動している間に、フロント・エンド基板は基板12および14のパイプラインがいっぱいになるまで、新しいプリミティブに対する作動を継続し、これをもたらす。
【0014】
フロント・エンド基板10はディストリビュータ・チップ30、3個の3次元(3−D)形状アクセラレータ・チップ32A、32Bおよび32C、2次元(2−D)形状アクセラレータ・チップ34ならびにコンセントレータ・チップ36を含んでいる。ディストリビュータ・チップ30はバス16で、ホスト・コンピュータからX、Y、Z座標データおよびカラー・プリミティブ・データを受け取り、3−Dプリミティブ・データを3−D形状アクセラレータ・チップ32A、32Bおよび32Cに均等に分配する。このようにすると、プリミティブの3つのグループが同時に操作されるため、システムの帯域幅が増加する。データは40ビット・バス38Aで3−D形状アクセラレータ・チップ32Aおよび32Bにもたらされ、また40ビット・バス38Bでチップ32Cにもたらされる。バス38Aおよび38Bは両方とも60MHzの速度でデータを転送し、2個の3−D形状アクセラレータ・チップをサポートするのに十分な帯域幅をもたらす。2−Dプリミティブ・データは44ビット・バス40により40MHzの速度で2−D形状アクセラレータ・チップ34に与えられる。
【0015】
各3−D形状アクセラレータ・チップは受け取ったプリミティブを定義するx、y、z座標を対応する画面空間座標に変換し、その画面空間座標に対するオブジェクトのR、G、B値およびテクスチャのS、T値を決定し、プリミティブの四辺形を三角形に圧縮解除し、各三角形を定義する三角形平面式を計算する。各3−D形状アクセラレータ・チップはビュー・クリッピング操作を行って、複数のウィンドウが表示されている場合、あるいはプリミティブの一部が表示画面に表されているビュー容量を超えた場合に、得られる画像の正確な画面表示を行えるようにもする。3−D形状アクセラレータ・チップ32Aおよび32Bおよび32Cからの出力データはそれぞれ44ビット・バス42Aおよび42Bによって60MHzの速度でコンセントレータ・チップ36にもたらされる。2次元形状アクセラレータ・チップ34も46ビット・バス44により45MHzの速度で出力データをコンセントレータ・チップ36にもたらす。コンセントレータ・チップ36は3−D形状アクセラレータ・チップ32A−Cから受け取った3−Dプリミティブ出力データを組み合わせ、プリミティブをこれらがディストリビュータ・チップ30によって分配される前に有していた元の順序に並べ換え、組み合わされたプリミティブ出力データをバス18によってテクスチャ・マッピング基板およびフレーム・バッファ基板にもたらす。
【0016】
テクスチャ・マッピング基板12はテクスチャ・マッピング・チップ46、およびキャッシュ・メモリとして構成されているのが好ましいローカル・メモリ48を含んでいる。本発明の好ましい実施の形態において、ローカル・メモリは以下に述べる理由により、複数個のSDRAM(同期ダイナミック・ランダム・アクセス・メモリ)チップによって形成されている。以下で詳述するように、キャッシュ・メモリ48はフレーム・バッファ基板にレンダリングされるプリミティブと関連するテクスチャMIPマップ・データを記憶する。テクスチャMIPマップ・データはホスト・コンピュータ15のメイン・メモリ17からバス40によって2−D形状アクセラレータ・チップ34へ、また24ビット・バス24によってテクスチャ・マッピング・チップ46へダウンロードされる。
【0017】
テクスチャ・マッピング・チップ46はバス18によって、表示画面にレンダリングされるプリミティブを表すプリミティブ・データを逐次受け取る。上述したように、3−D形状アクセラレータ・チップ32A−Cによってもたらされるプリミティブは、点、線および三角形を含んでいる。テクスチャ・マッピング基板は点や線のテクスチャ・マッピングは行わず、三角形のプリミティブだけに作用する。三角形のプリミティブを表すデータは少なくとも1つの頂点に対するx、y、zオブジェクト・ピクセル座標、少なくとも1つの頂点のオブジェクト・カラーR、G、B値、少なくとも1つの頂点に対応しているテクスチャ・マップの部分のS、Tでの座標、および三角形の平面式を含んでいる。テクスチャ・マッピング・チップ46はオブジェクト・ピクセルのz座標およびオブジェクト・カラーR、G、B値を無視する。チップ46はx、yピクセル座標を補間し、プリミティブを表す各x、y画面表示ピクセルに対応するSおよびT座標を補間する。各ピクセルに関して、テクスチャ・マッピング・チップはキャッシュ・メモリからのピクセルに対応するテクスチャMIPの部分にアクセスし、ピクセルに対する合成テクスチャデータを計算する。このデータは複数のテクセルの荷重平均を含んでいてもよい。
【0018】
各ピクセルに対する合成テクスチャはテクスチャ・マッピング・チップ46によって、5本のバス28でフレーム・バッファ基板に与えられる。5本のバス28はそれぞれ、フレーム・バッファ基板に設けられた5個のフレーム・バッファ・コントローラ・チップ50A、50B、50C、50Dおよび50Eに結合されており、合成テクスチャ・データをフレーム・バッファ・コントローラ・チップに並列に与える。フレーム・バッファ・コントローラ・チップ50A−Eはそれぞれ、関連するVRAM(ビデオ・ランダム・アクセス・メモリ)チップ51A−Eのグループに結合されている。フレーム・バッファ基板はさらに、4個のビデオ・フォーマット・チップ52A、52B、52Cおよび52Dと、RAMDAC(ランダム・アクセス・メモリ・ディジタル・アナログ変換器)54を含んでいる。フレーム・バッファ・コントローラ・チップは表示画面の異なる非重畳セグメントを制御する。各フレーム・バッファ・コントローラ・チップはバス18によってフロント・エンド基板からプリミティブ・データを、またバス28によってテクスチャ・マッピング基板から合成テクスチャ・マッピング・データを受け取る。フレーム・バッファ・コントローラ・チップはプリミティブ・データを補間して、プリミティブを表すそれぞれのセグメントにおける画面表示ピクセル座標、および各ピクセル座標に対する対応するオブジェクトR、G、Bカラー値を計算する。合成テクスチャ・データがテクスチャ・マッピング基板からもたらされるこれらのプリミティブ(すなわち、三角形)に対して、フレーム・バッファ・コントローラ・チップはピクセルごとに、オブジェクト・カラー値と合成テクスチャ・データを組み合わせて、表示画面に表示される各ピクセルに対する最終的なR、G、B値を生成する。
【0019】
オブジェクト・カラー値およびテクスチャ・カラー値を組み合わせる態様は、さまざまな方法で制御することができる。たとえば、置換モードにおいては、オブジェクト・カラー値をテクスチャ・カラー値と置き換えるだけで、テクスチャ・カラー値だけをピクセルのレンダリングに使用できる。また、変調モードにおいては、オブジェクト・カラー値とテクスチャ・カラー値を乗算して、ピクセルに対する最終的なR、G、B値を生成することができる。さらに、対応するテクスチャ・カラー値をオブジェクト・カラー値と組み合わせる態様を規定する比率を指定するカラー制御ワードを各テクセルに関して記憶することができる。得られたカラー制御ワードを、各ピクセルに対応しており、バス28によってフレーム・バッファ・コントローラ・チップに与えられる合成テクセル・データに関して決定できるので、対応して得られた制御ワードによって指定された比率を使用して、各ピクセルに対する最終的なR、G、B値を決定することができる。
【0020】
フレーム・バッファ・コントローラ・チップ50A−Eによって生成された、各ピクセルに対するR、G、B値を含む得られる画像のビデオ・データは対応するVRAMチップ51A−Eに記憶される。VRAMチップ51A−Eの各グループは8個のVRAMチップを含んでおり、40個のVRAMチップがフレーム・バッファ基板に配置されるようになっている。ビデオ・フォーマット・チップ52A−Dの各々は10個のVRAMチップの別々のセットに接続され、これらからデータを受け取る。ビデオ・データはVRAMチップからシリアルにシフト・アウトされ、64ビット・バス58A、58B、58Cおよび58Dにより27MHzの速度で4個のビデオ・フォーマット・チップ52A、52B、52Cおよび52Dにそれぞれ与えられる。ビデオ・フォーマット・チップはビデオ・データをフォーマットして、RAMDACによって処理できるようにし、かつフォーマットされたデータを32ビット・バス60A、60B、60Cおよび60Dによって33MHzの速度でRAMDAC54へ与える。RAMDAC54は次いで、ディジタル・カラー・データをアナログR、G、Bカラー制御信号に変換し、各ピクセルに対するR、G、B制御信号を画面表示(図示せず)アナログR,G,B制御ライン29へもたらす。
【0021】
図2はバス18、コンセントレータ36、およびフレーム・バッファ・コントローラ50Aの関連部分を詳細に示す。コンセントレータは浮動小数点固定小数点変換器62、論理コントローラ70、および各々が例示の実施の形態においては少なくとも8ビットの記憶容量を有する3つの記憶部分64A、64B、64Cを有する記憶レジスタ64を含んでいる。フレーム・バッファ・コントローラ50Aは論理コントローラ72、記憶レジスタ67、並びに各々が例示の実施の形態においては少なくとも40ビットの記憶容量を有する3つの記憶部分66A、66B、および66Cを有している記憶レジスタ66を含んでいる。コンセントレータは3−D形状アクセラレータ・チップから受け取ったプリミティブ出力データを組み合わせ、浮動小数点固定小数点変換器62で浮動小数点から固定小数点への変換を行い、組み合わされたプリミティブ出力データをバス18によってフレーム・バッファ基板に与える。
【0022】
本発明の第1の実施の形態によるバス・プロトコルの作動を、三角形プリミティブを例として使用して、図2〜図4を参照して説明する。1実施例において、各三角形プリミティブは22ワードのデータによって定義される。図3は三角形プリミティブを定義するために使用される22のワードを説明する図である。図3に示すように、各々が40ビットのデータを含んでいるZ座標データの3つのワード、すなわち、Z、dZ/dX、およびdZ/deを除き、プリミティブ・データからなるワードの各々は32ビット以下を有している。
【0023】
図2に示した実施の形態において、データ・バスは32ビット幅であり、32ビットを1バス・サイクルで転送する。40ビットのZ座標データをコンセントレータ36からフレーム・バッファ・コントローラ50Aへ、32ビットのバス・サイクル1つで転送することはできない。40ビットのZ座標データ・ワードを例示の実施の形態で転送する手順を、図4に示す。各Z座標データ・ワードの40ビット全部を転送するために、32の最上位ビットを1バス・サイクルで転送し、残りの8ビットを論理コントローラ70の制御により、記憶レジスタ64に記憶する。この手順は3つのZ座標データ・ワード全部に対して繰り返され、各Z座標データ・ワード(24ビット)のうち8ビットがレジスタ64に記憶される。論理コントローラ70はシフト・レジスタ64を制御して、Z座標データ・ワードZ、dZ/dXおよびdZ/deの各々からの8ビットが記憶レジスタの対応する記憶部分64A、64B、64Cのそれぞれに記憶されるようにする。
【0024】
コマンド・ワードが通常、データ・バスによって転送されるプリミティブの最後のワードである。図2に示した実施の形態において、コマンド・ワードは8ビットだけで構成されている。コマンド・ワードが転送されることを論理コントローラ70が検出すると、Z座標データ・ワードの各々に対する0−7ビットからなる、記憶レジスタ64に以前に記憶されている24ビットがコマンド・ワードと組み合わされて、複合ワードを形成する。Zデータ・ワードの各々のコマンド・ワードおよび8個の低位ビット(合計32ビット)はデータ・バスにより1バス・サイクルで転送される。
【0025】
図2はフレーム・バッファ基板50Aの関連部分も示している。データ・バス18によって転送されたZ座標データ・ワードの各々をフレーム・バッファ・コントローラが受け取る。図2に示すように、32ビットの各Z座標データ・ワードは受け取られた場合に、論理コントローラ72の制御により、フレーム・バッファ・コントローラの記憶レジスタ66に記憶される。次いで、コマンド・ワードを含んでいるバス・サイクルがデータ・バスからフレーム・バッファ・コントローラによって受け取られ、かつ論理コントローラ72によって検出された場合、Z座標データ・ワードの各々に対応した8ビットが論理コントローラによって複合ワードからはぎ取られ、該当するZ座標ワードに対応する記憶レジスタ部分に置かれて、40ビットのZ座標データ・ワードの各々が記憶レジスタ66内で再組立てされるようになる。コマンド・ワードは記憶レジスタ67に記憶される。
【0026】
本発明のプロトコルによるZ座標データ・ワードの転送を図4の全体図に示す。ステップ80において、32ビット(ビット8:39)Z座標データが浮動小数点固定小数点変換器62によってフレーム・バッファ・コントローラ50Aへ転送される。32ビットのZ座標データは論理コントローラ72の制御によりレジスタ66Aにロードされる。コンセントレータ36において、Z座標データ・ワードのビット0:7はレジスタ64Aにロードされる。ステップ82において、dZ/dXデータ・ワードのビット8:39は浮動小数点固定小数点変換器62により、データ・バス18上をフレーム・バッファ・コントローラ50Aに転送され、レジスタ66Bにロードされる。dZ/dXデータ・ワードのビット0:7はコンセントレータ36内のレジスタ64Bにロードされる。ステップ84において、dZ/deデータ・ワードのビット8:39は浮動小数点固定小数点変換器62により、データ・バス18上を転送され、論理コントローラ72の制御によりレジスタ66Cにロードされる。dZ/deデータ・ワードのビット0:7はコンセントレータ36内のレジスタ64Cにロードされる。ステップ86において、コマンド・ワードの8ビットがレジスタ64A、64Bおよび64Cの内容と組み合わされて、32ビットの複合データ・ワードを形成する。複合データ・ワードはデータ・バス18上をフレーム・バッファ・コントローラ50Aへ転送される。フレーム・バッファ・コントローラ50Aにおいて、各z座標データ・ワードのビット0:7はレジスタ66A、66Bおよび66Cのそれぞれの低位ロケーションにロードされる。この時点で(ステップ8A)、3つのZ座標データ・ワードがレジスタ66A、66Bおよび66Cからの転送に利用可能である。3つの40ビットZ座標データ・ワードならびにコマンド・ワードは4つのバス・サイクルで32ビット・データ・バス18上で転送されている。
【0027】
上述した方式により、3つの40ビット幅のZ座標データ・ワードが、三角形に対するプリミティブ・データで構成されたすべてのワードを転送するための付加的なバス・サイクルを必要とする事なく、32ビット幅のデータ・バス上で転送される。上述した実施の形態において、三角形に対するプリミティブ・データを構成する22ワードは32ビット幅のデータ・バス上で22のバス・サイクルで転送される。例示の実施の形態において、データ・バス18は2つの32ビット・ワードを1バス・サイクルで転送するために64ビット幅である。この実施形態において、三角形のプリミティブに対する22ワードは11のバス・サイクルで転送することもできる。しかしながら、2つの32ビット・ワードが別々に制御されるのであるから、64ビット・バスは並列な2本の32ビット・バスと見るのが適切である。検討のため、バス18を32ビット・データ・ワードを転送する容量を有するものとみなす。
【0028】
本発明の第2の実施の形態において、コマンド・ワードは8ビット超、たとえば、11ビットでよい。この実施の形態においては、Z座標データ・ワードの各々の残っている8データ・ビットのうち7ビットだけが、コマンド・ワードと共に転送される。Z座標データ・ワードの各々の最下位ビットに対応する8番目のビットは廃棄される。本発明のこの実施の形態を図5に示す。図5に示すように、フレーム・バッファの記憶レジスタ66はZ座標データ・ワードを再構成する。図5の実施の形態は図2〜図4の実施の形態と同じ態様で作動するが、ビット数について適切な変更がなされている。この実施の形態において、再構成されたZ座標データ・ワードは元の40ビットのうちの39ビットだけで構成されている。各Z座標データ・ワードでの1ビットの損失はZ精度を若干低下させることとなる。しかしながら、得られるZ座標データ・ワードは依然32ヒット超のビットを含んでおり、付加的なバス・サイクルを必要としない。
【0029】
本発明のこの実施の形態が11以外のビット数kを有しているコマンド・ワードに適用できることに留意すべきである。この場合、32ビットのデータ・ワードに適合する記憶レジスタに含まれるできるだけ多くの残りのZ座標データ・ビットが、コマンド・ワードと共に1バス・サイクルで転送され、最下位ビットからなる付加的なZ座標データ・ビットは廃棄される。
【0030】
本発明の第3の実施の形態において、プリミティブ・データはコマンド・ワードを含んでいない。図6に示すこの実施の形態において、Z座標データ・ワードの24の残りのビットは論理コントローラ70の制御によりまとめて1付加データ・サイクルで転送される。以前の実施の形態と同様に、各Z座標データ・ワードのうち32ビットは1バス・サイクルで転送され、残りの8ビットは記憶レジスタ64に記憶され、24ビットが記憶レジスタ64に記憶されることとなる。データ・バス上を転送される各Z座標データ・ワードのうち32ビットはフレーム・バッファ基板が受け取り、論理コントローラ72によって記憶レジスタ66に記憶される。記憶レジスタ64に記憶された24ビットはデータ・バス上を1付加バス・サイクルで転送される。24ビットをフレーム・バッファ・コントローラが受け取り、論理コントローラ72が検出すると、Z座標データ・ワードの各々に対応する8ビットが該当するZ座標データ・ワードに対応する記憶レジスタ部分に置かれ、40ビットのZ座標データ・ワードの各々が記憶レジスタ66で再構成されるようになる。本発明のこの実施の形態は三角形のプリミティブ・データの各々に対して1付加バス・サイクルを必要とする。
【0031】
本明細書で図示説明した回路は単なる例として挙げたものである。たとえばSynopsysが市販している論理合成ソフトウェアを使用した大規模カスタム集積回路で、回路を実現することが好ましい。論理合成ソフトウェアはVeralogなどの高水準言語で作成された回路記述を最適化し、論理ゲートに変換する。5ボルトで作動する1ミクロンFETを作成するCMOSプロセス、3.3ボルトで作動する0.6ミクロン描画ゲート長デバイスを作成するCMOSプロセス、あるいはディジタル回路を実現する任意のその他適切なプロセスを使用して、回路を実現してもかまわない。論理合成ソフトウェアへの入力は構造的というよりも機能的なものであるから、論理合成ソフトウェアによって生成される実際の回路は、本明細書で開示したものと異なるものであることもある。
【0032】
本発明の少なくとも1つの例示の実施の形態を説明してきたが、各種の変更、改変および改善が当分野の技術者には容易に想起されよう。そのような変更、改変および改善は本発明の精神および範囲内のものである。したがって、上記の説明は単なる例に過ぎず、限定を目的としたものではない。本発明は首記の特許請求の範囲によってのみ規定されるものである。
【0033】
本発明の実施の形態を列挙すれば、概ね以下の通りである。
【0034】
〔1〕nビットを有するデータ・バス(18)によって相互接続された第1の回路ブロック(36)と第2の回路ブロック(50A)とを備えているコンピュータ・グラフィックス・システムにおいて、
第1の回路ブロックから前記データ・バス上を前記第2の回路ブロックへ、nビットよりも大きいビット数を有する1つまたは複数のロング・データ・ワードを含んでいるデータ・ワードを順次伝送する、第1の回路ブロックの回路(62)と、
nビットを超える前記ロング・データ・ワードのビットを記憶する、第1の回路ブロックのレジスタ(64)と、
前記ロング・データ・ワードの伝送に応じて、nビットを超える前記ロング・データ・ワードのビットを前記レジスタにロードし、かつ前記レジスタに格納された前記ロング・データ・ワードのビットを組み合わせて、前記第2の回路ブロックへの伝送のための複合データ・ワードにする、前記第1の回路ブロックのコントローラ(70)とを備えている装置。
【0035】
〔2〕前記ロング・データ・ワードを再構成する、第2の回路ブロックの回路をさらに備えており、nが32に等しく、nビットよりも大きいビット数を有する1つまたは複数のロング・データ・ワードがZ座標データ・ワードであり、nビット未満のビット数を有するショート・データ・ワードがコマンド・ワードである、上記第1項に記載の装置。
【0036】
〔3〕データ・ワードがnビット未満のビット数を有するショート・データ・ワードをさらに含んでおり、コントローラが前記ショート・データ・ワードの伝送に応じ、前記レジスタに格納された前記ロング・データ・ワードのビットを前記ショート・データ・ワードと組み合わせて、前記第2の回路ブロックへの伝送のための複合データ・ワードを形成する、上記第1または2項に記載の装置。
【0037】
〔4〕コントローラが前記複合データ・ワードのビット数をnビットに減らすために前記ロング・データ・ワードの十分な数のビットを削除する手段を含んでいる上記第1または3項に記載の装置。
【0038】
〔5〕第2の回路ブロックの回路が前記ロング・データ・ワードおよび第2のコントローラの各々を再構成する第2のレジスタを備えており、前記ロング・データ・ワードの伝送に応じて、前記ロング・データ・ワードを前記第2のレジスタにロードし、かつ前記複合データ・ワードの伝送に応じて、前記複合データ・ワードからのnビットを超える前記ロング・データ・ワードのビットを前記第2のレジスタにロードし、これによって前記ロング・データ・ワードが前記第2のレジスタで再構成される、上記第2項に記載の装置。
【0039】
〔6〕nビットを有するデータ・ワードを伝送するためのデータ・バス(18)によって相互接続された第1の回路ブロック(36)と第2の回路ブロック(50A)とを備えているコンピュータ・グラフィックス・システムにおいて、
第1の回路ブロックからデータ・バス上を前記第2の回路ブロックへ、nビットよりも大きいビット数を有する1つまたは複数のロング・データ・ワードを含んでいるデータ・ワードの各々のnビットを伝送するステップと、
nビットを超えるロング・データ・ワードのビットをレジスタ(64)に格納するステップと、
nビットを超えるロング・データ・ワードのビットを組み合わせて、複合データ・ワードを形成するステップと、
第1の回路ブロックからデータ・バス上を第2の回路ブロックへ複合データ・ワードを伝送するステップとを備えているデータ・バス上でデータ・ワードを転送する方法。
【0040】
〔7〕ロング・データ・ワードを第2の回路ブロックで再構成するステップをさらに備えている、上記第6項に記載の方法。
【0041】
〔8〕データ・ワードがnビット未満のビット数を有するショート・データ・ワードをさらに含んでおり、組合せステップがショート・データ・ワードをnビットを超えるロング・データ・ワードのビットと組み合わせ、複合データ・ワードを形成するステップを含む、上記第6または7項に記載の方法。
【0042】
〔9〕前記複合データ・ワードのビット数をnビットに減らすために前記ロング・データ・ワードの十分な数のビットを削除するステップをさらに備えている、上記第6または8項に記載の方法。
【0043】
〔10〕ロング・データ・ワードを第2の回路ブロックで再構成するステップが第1の回路ブロックから第2の回路ブロックに伝送されたロング・データ・ワードを第2のレジスタ(66)にロードし、前記複合データ・ワードからのnビットを超えるロング・データ・ワードのビットを前記第2のレジスタにロードし、これによってロング・データ・ワードが前記第2のレジスタで再構成される、上記第7項に記載の方法。
【0044】
【発明の効果】
本発明の実施の形態を三角形のプリミティブを例として使用して説明してきた。本発明が点、直線、ベクトルおよび多角形を含むその他のグラフィックス・プリミティブにも同様に適用できることを理解すべきである。これらのその他のプリミティブの場合、プリミティブを記述するのに使用されるワードの総数は変動することがあり、バス幅を超えるデータ・ワードの数は3よりも大きくても、小さくてもかまわない。しかしながら、本発明の同一の全体的な方式を使用することができる。具体的にいえば、データ・バスの幅を超えるZ座標データ・ワードのビットは、データ・バスの最大容量よりも少ないビット数を有するワードと組み合わされるので、データ・バス幅よりも大きいビット数を有するZ座標ワードは、付加的なバス・サイクルを付加する必要なしに転送されると言った効果が得られる。
【0045】
本発明の実施の形態を32ビット幅のデータ・バスを使用して説明してきた。本発明を32ビット以外のnビットの幅を有するデータ・バス、ならびにビット数m(m>n)を有するデータ・ワードに適用できることを理解すべきである。また、本発明をZ座標データがデータ・バスの幅よりも大きいビット数で構成されている場合について説明してきた。Z座標データの転送に関して上述した方式は、任意のグラフィック・パラメータを表し、バス幅よりも大きいビット数を有するデータ・ワードの転送にも同様に適用できる。
【図面の簡単な説明】
【図1】本発明を組み込むのに適したコンピュータ・グラフィックス・システムの1実施の形態のブロック図である。
【図2】本発明の第1の実施の形態のブロック図である。
【図3】図2の実施の形態で使用される三角形プリミティブのグラフィックス・プリミティブ・データ構造の図である。
【図4】図2の実施の形態によるデータ・フローを説明する図である。
【図5】本発明の第2の実施の形態による、コマンド・ワードとZ座標データの1バス・サイクルでの転送を説明するブロック図である。
【図6】本発明の第3の実施の形態による、コマンド・ワードがない場合のZ座標データの転送を説明するブロック図である。
【符号の説明】
18 データ・バス
36 第1の回路ブロック
50A 第2の回路ブロック
62 第1の回路ブロックの回路
64 第1の回路ブロックのレジスタ
66 第2のレジスタ
70 第1の回路ブロックのコントローラ
Claims (10)
- nビットのビット幅を有するデータ・バスによって相互接続された第1の回路ブロックと第2の回路ブロックとを備えているコンピュータ・グラフィックス・システム内の前記回路ブロック間でデータを転送する装置であって、
第1の回路ブロックから前記データ・バス上を前記第2の回路ブロックへ、nビットよりも大きいビット幅を有する複数のロング・データ・ワードを含んでいるデータ・ワードを順次伝送する、第1の回路ブロック内の回路と、
前記ロング・データ・ワード中でnビットを越す部分のビット列を記憶する、第1の回路ブロック内のレジスタと、
前記ロング・データ・ワードの伝送に応じて、前記ロング・データ・ワード中でnビットを越す部分のビット列を前記レジスタにロードし、かつ前記レジスタに格納された前記ロング・データ・ワードの前記ビット列を組み合わせて、前記第2の回路ブロックへ伝送するための複合データ・ワードにする、前記第1の回路ブロック内のコントローラとを備え、
前記複合データ・ワードは、複数の前記ロング・データ・ワード中の前記ビット列を含むことを特徴とする装置。 - 前記ロング・データ・ワードを再構成する、第2の回路ブロック内の回路をさらに備えていることを特徴とする請求項1に記載の装置。
- 前記第2の回路ブロック内の回路は、
前記ロング・データ・ワードを再構成する第2のレジスタと、
前記ロング・データ・ワードの伝送に応じて前記ロング・データ・ワードを前記第2のレジスタにロードし、かつ前記複合データ・ワードの伝送に応じて、前記複合データ・ワードからの、前記ロング・データ・ワード中でnビットを越す部分の前記ビット列を前記第2のレジスタにロードし、これによって前記ロング・データ・ワードが前記第2のレジスタで再構成されるようにするための第2のコントローラと、
をさらに有することを特徴とする請求項2に記載の装置。 - nビットのビット幅を有するデータ・バスによって相互接続された第1の回路ブロックと第2の回路ブロックとを備えているコンピュータ・グラフィックス・システム内の前記回路ブロック間でデータを転送する装置であって、
第1の回路ブロックから前記データ・バス上を前記第2の回路ブロックへ、nビットよりも大きいビット幅を有する1つまたは複数のロング・データ・ワードを含んでいるデータ・ワードを順次伝送する、第1の回路ブロック内の回路と、
前記ロング・データ・ワード中でnビットを越す部分のビット列を記憶する、第1の回路ブロック内のレジスタと、
前記ロング・データ・ワードの伝送に応じて、前記ロング・データ・ワード中でnビットを越す部分のビット列を前記レジスタにロードし、かつ前記レジスタに格納された前記ロング・データ・ワード中の前記ビット列を組み合わせて、前記第2の回路ブロックへ伝送するための複合データ・ワードにする、前記第1の回路ブロック内のコントローラと、
前記ロング・データ・ワードを再構成する、第2の回路ブロック内の回路とを有し、
前記データ・ワードは、nビットよりも短いショート・データ・ワードをさらに有し、
前記コントローラは、前記ショート・データ・ワードの伝送に応じて、前記レジスタに記憶された前記ロング・データ・ワード中の前記ビット列と前記ショート・データ・ワードとを組み合わせて前記第2の回路ブロックへ伝送するための複合データ・ワードを形成する、
ことを特徴とする装置。 - 前記コントローラは、前記複合データ・ワードのビット幅が減じられてnビットとなるように前記ロング・データ・ワード中の下位ビット列を削除する手段を含むことを特徴とする請求項4に記載の装置。
- nは32であり、
ビット幅がnビットを越す前記複数のロング・データ・ワードは、Z座標データ・ワードであり、
ビット幅がnを下回るショート・データ・ワードは、コマンド・ワードであることを特徴とする請求項4に記載の装置。 - 前記Z座標データ・ワードは40ビットのビット幅を有し、
前記コマンド・ワードは、8ビットのビット幅を有することを特徴とする請求項6に記載の装置。 - nビットのビット幅を有するデータ・バスによって相互接続された第1の回路ブロックと第2の回路ブロックとを備えているコンピュータ・グラフィックス・システム内の前記回路ブロック間でデータを転送する装置であって、
第1の回路ブロックから前記データ・バス上を前記第2の回路ブロックへ、nビットよりも大きいビット幅を有する1つまたは複数のロング・データ・ワードを含んでいるデータ・ワードを順次伝送する、第1の回路ブロック内の回路と、
前記ロング・データ・ワード中でnビットを越す部分のビット列を記憶する、第1の回路ブロック内のレジスタと、
前記ロング・データ・ワードの伝送に応じて、前記ロング・データ・ワード中でnビットを越す部分の前記ビット列を前記レジスタにロードし、かつ前記レジスタに格納された前記ロング・データ・ワードの前記ビット列を組み合わせて、前記第2の回路ブロックへ伝送するための複合データ・ワードにする、前記第1の回路ブロック内のコントローラとを有し、
前記データ・ワードは、nビットよりも短いショート・データ・ワードを有し、
前記コントローラは、前記ショート・データ・ワードの伝送に応じて、前記レジスタに記憶された前記ロング・データ・ワード中の前記ビット列と前記ショート・データ・ワードとを組み合わせて前記第2の回路ブロックへ伝送するための複合データ・ワードを形成する、
ことを特徴とする装置。 - 前記コントローラは、前記複合データ・ワードのビット幅が減じられてnビットとなるように前記ロング・データ・ワード中のビット列を削除する手段を含むことを特徴とする請求項8に記載の装置。
- nビットのビット幅を有するデータ・バスによって相互接続された第1の回路ブロックと第2の回路ブロックとを備えているコンピュータ・グラフィックス・システム内の前記回路ブロック間でデータを転送する装置であって、
第1の回路ブロックから前記データ・バス上を前記第2の回路ブロックへ、nビットよりも大きいビット幅を有する1つまたは複数のロング・データ・ワードを含んでいるデータ・ワードを順次伝送する、第1の回路ブロック内の回路と、
前記ロング・データ・ワード中でnビットを越す部分のビット列を記憶する、第1の回路ブロック内のレジスタと、
前記ロング・データ・ワードの伝送に応じて、前記ロング・データ・ワード中でnビットを越す部分のビット列を前記レジスタにロードし、かつ前記レジスタに格納された前記ロング・データ・ワード中の前記ビット列を組み合わせて、前記第2の回路ブロックへの伝送のための複合データ・ワードにする、前記第1の回路ブロック内のコントローラとを有し、
前記コントローラは、前記複合データ・ワードのビット幅が減じられてnビットとなるように前記ロング・データ・ワード中のビット列を削除する手段を含むことを特徴とする装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/480,607 US5671373A (en) | 1995-06-08 | 1995-06-08 | Data bus protocol for computer graphics system |
US480-607 | 1995-06-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0954835A JPH0954835A (ja) | 1997-02-25 |
JP3881404B2 true JP3881404B2 (ja) | 2007-02-14 |
Family
ID=23908614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14620796A Expired - Fee Related JP3881404B2 (ja) | 1995-06-08 | 1996-06-07 | コンピュータ・グラフィックス・システム用のデータ・バス・プロトコル |
Country Status (5)
Country | Link |
---|---|
US (1) | US5671373A (ja) |
JP (1) | JP3881404B2 (ja) |
DE (1) | DE19619464C2 (ja) |
FR (1) | FR2735254B1 (ja) |
GB (1) | GB2301997B (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6119190A (en) * | 1996-11-06 | 2000-09-12 | Intel Corporation | Method to reduce system bus load due to USB bandwidth reclamation |
US5987568A (en) * | 1997-01-10 | 1999-11-16 | 3Com Corporation | Apparatus and method for operably connecting a processor cache and a cache controller to a digital signal processor |
US6118462A (en) | 1997-07-01 | 2000-09-12 | Memtrax Llc | Computer system controller having internal memory and external memory control |
US6122697A (en) * | 1997-11-14 | 2000-09-19 | Lucent Technologies, Inc. | System for extending the width of a data bus |
US7051228B2 (en) * | 2001-04-05 | 2006-05-23 | Brother Kogyo Kabushiki Kaisha | Data transmission system using equalized data streams indicative of lengths of time |
US7350002B2 (en) * | 2004-12-09 | 2008-03-25 | Agere Systems, Inc. | Round-robin bus protocol |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3761697A (en) * | 1971-11-17 | 1973-09-25 | Int Standard Electric Corp | Data processor interface |
US4447878A (en) * | 1978-05-30 | 1984-05-08 | Intel Corporation | Apparatus and method for providing byte and word compatible information transfers |
US4525804A (en) * | 1982-10-22 | 1985-06-25 | Halliburton Company | Interface apparatus for host computer and graphics terminal |
US4716527A (en) * | 1984-12-10 | 1987-12-29 | Ing. C. Olivetti | Bus converter |
JPS6226561A (ja) * | 1985-07-26 | 1987-02-04 | Toshiba Corp | パ−ソナルコンピユ−タ |
GB2234093B (en) * | 1989-06-21 | 1992-01-15 | Stratum Technology Limited | Data store connection |
JPH0352166A (ja) * | 1989-07-20 | 1991-03-06 | Tokico Ltd | 磁気ディスク装置 |
US5170477A (en) * | 1989-10-31 | 1992-12-08 | Ibm Corporation | Odd boundary address aligned direct memory acess device and method |
JPH0484253A (ja) * | 1990-07-26 | 1992-03-17 | Mitsubishi Electric Corp | バス幅制御回路 |
JP2836321B2 (ja) * | 1991-11-05 | 1998-12-14 | 三菱電機株式会社 | データ処理装置 |
GB2264574B (en) * | 1992-02-21 | 1995-10-18 | Kt Technology | External data storage device and connection therefor |
US5423009A (en) * | 1993-02-18 | 1995-06-06 | Sierra Semiconductor Corporation | Dynamic sizing bus controller that allows unrestricted byte enable patterns |
JPH0744489A (ja) * | 1993-07-27 | 1995-02-14 | Fujitsu Ltd | データ転送方法 |
-
1995
- 1995-06-08 US US08/480,607 patent/US5671373A/en not_active Expired - Lifetime
-
1996
- 1996-03-05 FR FR9602739A patent/FR2735254B1/fr not_active Expired - Lifetime
- 1996-05-14 DE DE19619464A patent/DE19619464C2/de not_active Expired - Fee Related
- 1996-06-05 GB GB9611671A patent/GB2301997B/en not_active Expired - Lifetime
- 1996-06-07 JP JP14620796A patent/JP3881404B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5671373A (en) | 1997-09-23 |
GB2301997B (en) | 2000-02-23 |
FR2735254A1 (fr) | 1996-12-13 |
DE19619464C2 (de) | 1999-03-25 |
GB2301997A (en) | 1996-12-18 |
FR2735254B1 (fr) | 1998-06-12 |
DE19619464A1 (de) | 1996-12-12 |
GB9611671D0 (en) | 1996-08-07 |
JPH0954835A (ja) | 1997-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5801711A (en) | Polyline and triangle strip data management techniques for enhancing performance of computer graphics system | |
US5896136A (en) | Computer graphics system with improved blending | |
JP3860859B2 (ja) | 高性能プリミティブ・クリッピング・プリプロセシングを有するコンピュータ・グラフィックス・システム | |
US6954204B2 (en) | Programmable graphics system and method using flexible, high-precision data formats | |
EP1025558B1 (en) | A method and apparatus for performing chroma key, transparency and fog operations | |
US5982384A (en) | System and method for triangle rasterization with frame buffers interleaved in two dimensions | |
US6924808B2 (en) | Area pattern processing of pixels | |
EP0817009A2 (en) | Three-dimensional graphics accelerator with direct data channels | |
EP0817117A2 (en) | Command processor for a three-dimensional graphics accelerator which includes geometry decompression capabilities | |
JPH11272880A (ja) | 固定小数点ライティング・ユニットを用いたロ―カル・アイ・ベクトルの高速計算方法 | |
US5847717A (en) | Data synchronization between a plurality of asynchronous data renderers | |
JP3476094B2 (ja) | 高性能3次元グラフィック・アクセラレータの作図プロセッサ | |
JP3839871B2 (ja) | 三角形を表わす画素データを生成する装置 | |
WO1999010840A2 (en) | Pixel clustering for improved graphics throughput | |
US5696944A (en) | Computer graphics system having double buffered vertex ram with granularity | |
US5784075A (en) | Memory mapping techniques for enhancing performance of computer graphics system | |
KR20060116916A (ko) | 텍스쳐 캐쉬 및 이를 구비한 3차원 그래픽 시스템, 그리고그것의 제어 방법 | |
JP3881404B2 (ja) | コンピュータ・グラフィックス・システム用のデータ・バス・プロトコル | |
US6859209B2 (en) | Graphics data accumulation for improved multi-layer texture performance | |
US5704025A (en) | Computer graphics system having per pixel depth cueing | |
US6850244B2 (en) | Apparatus and method for gradient mapping in a graphics processing system | |
US5657436A (en) | Preprocessing apparatus and method for line scan conversion in a computer graphics system | |
EP1288863B1 (en) | Method and device for drawing | |
JP3839870B2 (ja) | 四辺形を表わす画素データを生成する装置および方法 | |
US5623527A (en) | Method and apparatus for determining an integer power of a floating point number |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060523 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060815 |
|
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: 20061017 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061110 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |