(57)【特許請求の範囲】
【請求項１】
ｎビットのビット幅を有するデータ・バスによって相互接続された第１の回路ブロックと第２の回路ブロックとを備えているコンピュータ・グラフィックス・システム内の前記回路ブロック間でデータを転送する装置であって、
第１の回路ブロックから前記データ・バス上を前記第２の回路ブロックへ、ｎビットよりも大きいビット幅を有する複数のロング・データ・ワードを含んでいるデータ・ワードを順次伝送する、第１の回路ブロック内の回路と、
前記ロング・データ・ワード中でｎビットを越す部分のビット列を記憶する、第１の回路ブロック内のレジスタと、
前記ロング・データ・ワードの伝送に応じて、前記ロング・データ・ワード中でｎビットを越す部分のビット列を前記レジスタにロードし、かつ前記レジスタに格納された前記ロング・データ・ワードの前記ビット列を組み合わせて、前記第２の回路ブロックへ伝送するための複合データ・ワードにする、前記第１の回路ブロック内のコントローラとを備え、
前記複合データ・ワードは、複数の前記ロング・データ・ワード中の前記ビット列を含むことを特徴とする装置。
【請求項２】
前記ロング・データ・ワードを再構成する、第２の回路ブロック内の回路をさらに備えていることを特徴とする請求項１に記載の装置。
【請求項３】
前記第２の回路ブロック内の回路は、
前記ロング・データ・ワードを再構成する第２のレジスタと、
前記ロング・データ・ワードの伝送に応じて前記ロング・データ・ワードを前記第２のレジスタにロードし、かつ前記複合データ・ワードの伝送に応じて、前記複合データ・ワードからの、前記ロング・データ・ワード中でｎビットを越す部分の前記ビット列を前記第２のレジスタにロードし、これによって前記ロング・データ・ワードが前記第２のレジスタで再構成されるようにするための第２のコントローラと、
をさらに有することを特徴とする請求項２に記載の装置。
【請求項４】
ｎビットのビット幅を有するデータ・バスによって相互接続された第１の回路ブロックと第２の回路ブロックとを備えているコンピュータ・グラフィックス・システム内の前記回路ブロック間でデータを転送する装置であって、
第１の回路ブロックから前記データ・バス上を前記第２の回路ブロックへ、ｎビットよりも大きいビット幅を有する１つまたは複数のロング・データ・ワードを含んでいるデータ・ワードを順次伝送する、第１の回路ブロック内の回路と、
前記ロング・データ・ワード中でｎビットを越す部分のビット列を記憶する、第１の回路ブロック内のレジスタと、
前記ロング・データ・ワードの伝送に応じて、前記ロング・データ・ワード中でｎビットを越す部分のビット列を前記レジスタにロードし、かつ前記レジスタに格納された前記ロング・データ・ワード中の前記ビット列を組み合わせて、前記第２の回路ブロックへ伝送するための複合データ・ワードにする、前記第１の回路ブロック内のコントローラと、
前記ロング・データ・ワードを再構成する、第２の回路ブロック内の回路とを有し、
前記データ・ワードは、ｎビットよりも短いショート・データ・ワードをさらに有し、
前記コントローラは、前記ショート・データ・ワードの伝送に応じて、前記レジスタに記憶された前記ロング・データ・ワード中の前記ビット列と前記ショート・データ・ワードとを組み合わせて前記第２の回路ブロックへ伝送するための複合データ・ワードを形成する、
ことを特徴とする装置。
【請求項５】
前記コントローラは、前記複合データ・ワードのビット幅が減じられてｎビットとなるように前記ロング・データ・ワード中の下位ビット列を削除する手段を含むことを特徴とする請求項４に記載の装置。
【請求項６】
ｎは３２であり、
ビット幅がｎビットを越す前記複数のロング・データ・ワードは、Z座標データ・ワードであり、
ビット幅がｎを下回るショート・データ・ワードは、コマンド・ワードであることを特徴とする請求項４に記載の装置。
【請求項７】
前記Z座標データ・ワードは４０ビットのビット幅を有し、
前記コマンド・ワードは、８ビットのビット幅を有することを特徴とする請求項６に記載の装置。
【請求項８】
ｎビットのビット幅を有するデータ・バスによって相互接続された第１の回路ブロックと第２の回路ブロックとを備えているコンピュータ・グラフィックス・システム内の前記回路ブロック間でデータを転送する装置であって、
第１の回路ブロックから前記データ・バス上を前記第２の回路ブロックへ、ｎビットよりも大きいビット幅を有する１つまたは複数のロング・データ・ワードを含んでいるデータ・ワードを順次伝送する、第１の回路ブロック内の回路と、
前記ロング・データ・ワード中でｎビットを越す部分のビット列を記憶する、第１の回路ブロック内のレジスタと、
前記ロング・データ・ワードの伝送に応じて、前記ロング・データ・ワード中でｎビットを越す部分の前記ビット列を前記レジスタにロードし、かつ前記レジスタに格納された前記ロング・データ・ワードの前記ビット列を組み合わせて、前記第２の回路ブロックへ伝送するための複合データ・ワードにする、前記第１の回路ブロック内のコントローラとを有し、
前記データ・ワードは、ｎビットよりも短いショート・データ・ワードを有し、
前記コントローラは、前記ショート・データ・ワードの伝送に応じて、前記レジスタに記憶された前記ロング・データ・ワード中の前記ビット列と前記ショート・データ・ワードとを組み合わせて前記第２の回路ブロックへ伝送するための複合データ・ワードを形成する、
ことを特徴とする装置。
【請求項９】
前記コントローラは、前記複合データ・ワードのビット幅が減じられてｎビットとなるように前記ロング・データ・ワード中のビット列を削除する手段を含むことを特徴とする請求項８に記載の装置。
【請求項１０】
ｎビットのビット幅を有するデータ・バスによって相互接続された第１の回路ブロックと第２の回路ブロックとを備えているコンピュータ・グラフィックス・システム内の前記回路ブロック間でデータを転送する装置であって、
第１の回路ブロックから前記データ・バス上を前記第２の回路ブロックへ、ｎビットよりも大きいビット幅を有する１つまたは複数のロング・データ・ワードを含んでいるデータ・ワードを順次伝送する、第１の回路ブロック内の回路と、
前記ロング・データ・ワード中でｎビットを越す部分のビット列を記憶する、第１の回路ブロック内のレジスタと、
前記ロング・データ・ワードの伝送に応じて、前記ロング・データ・ワード中でｎビットを越す部分のビット列を前記レジスタにロードし、かつ前記レジスタに格納された前記ロング・データ・ワード中の前記ビット列を組み合わせて、前記第２の回路ブロックへの伝送のための複合データ・ワードにする、前記第１の回路ブロック内のコントローラとを有し、
前記コントローラは、前記複合データ・ワードのビット幅が減じられてｎビットとなるように前記ロング・データ・ワード中のビット列を削除する手段を含むことを特徴とする装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は総括的にコンピュータ・グラフィックス・システムに関し、詳細にいえば、コンピュータ・グラフィックス・システムのデータ・バスでＺ座標データを転送するバス・プロトコルに関する。
【０００２】
【従来の技術】
コンピュータ・グラフィックス・システムは一般に、オブジェクトのグラフィック表示を２次元の表示画面に表示するために使用されている。現在のコンピュータ・グラフィックス・システムはきわめて細かい表示を行うことができ、各種の用途で使用されている。
【０００３】
典型的なコンピュータ・グラフィックス・システムにおいて、表示画面に表示されるオブジェクトは複数のグラフィックス・プリミティブに分割される。プリミティブはグラフィック・ピクチャの基本的な構成要素であり、点、線、ベクトルおよび三角形などの多角形を含むことができる。通常、画面に表示される１つまたは複数のオブジェクトのビューを表すグラフィックス・プリミティブを、２次元の表示画面にレンダリングないし描画するハードウェア／ソフトウェア方式が実施されている。
【０００４】
通常、レンダリング対象の３次元オブジェクトを定義するプリミティブは、各プリミティブをプリミティブ・データによって定義しているホスト・コンピュータによって与えられる。たとえば、プリミティブが三角形である場合、ホスト・コンピュータはプリミティブをその頂点のＸ、Ｙ、Ｚ座標により、また各頂点のＲ、Ｇ、Ｂカラー値によって定義することができる。レンダリング・ハードウェアはプリミティブ・データを補間して、各プリミティブを表すためにオンにされる表示画面のピクセル、および各ピクセルに対するＲ、Ｇ、Ｂ値を計算する。
【０００５】
通常、プリミティブ・データはデータ・バスを使用して、グラフィックス・システムの各種の回路ブロックに分配される。データ・バスの標準的な幅には、３２ビットや６４ビットなどがある。非標準のデータ・バスを使用することもできるが、非標準のデータ・バスは通常、費用がかさむものであり、また付加的な開発時間を必要とする。プリミティブ・データ・ワードは通常、３２ビット以下であるが、Ｚ座標データは異なっており、高精度を達成するのに４０ビットを必要とすることもある。
【０００６】
【発明が解決しようとする課題】
従来技術のグラフィックス・システムでは、４０ビットのＺ座標データを３２ビット幅のデータ・バスで送ることが必要となった場合に問題が生じる。プリミティブ・データの転送レートを最大限のものとするには、Ｚ座標データを１バス・サイクルだけで転送することが望ましい。ハイ・エンドの、すなわちより高価な従来技術のシステムでは、４０ビットのＺ座標データの転送を少なくとも４０ビットのバス幅を有するカスタム・データ・バスを利用して達成している。Ｚ座標に必要な精度が低いロー・エンドの従来技術のシステムでは、標準データ・バスを使用できるようにするため、Ｚ座標データは通常、３２ビットに丸められている。あるいは、３２ビットのデータ・バスを使用する従来技術のシステムでは、各４０ビットのＺ座標ワードを２つ以上のバス・サイクルを使用して転送しているが、こうすると、グラフィックス・プリミティブ・データの転送レートが低下する。４０ビットのＺ座標データによってもたらされる精度を維持すると共に、Ｚ座標データの転送に２つのバス・サイクルを必要としないようにすることが望ましい。
【０００７】
【課題を解決するための手段】
本発明の１つの形態によれば、コンピュータ・グラフィックス・システムの第１および第２の回路ブロックの間でデータを転送する装置が提供される。第１および第２の回路ブロックはｎビットのデータ・バスによって相互接続される。この装置はデータ・ワードを第１回路ブロックから第２回路ブロックへデータ・バス上で順次伝送する、第１回路ブロック内の回路を備えている。データ・ワードはビット数がｎビットよりも大きい１つまたは複数のロング・データ・ワードを含んでいる。この装置はさらに、ｎビットを超えるロング・データ・ワードのビットを格納する、第１回路ブロック内のレジスタと、ロング・データ・ワードの伝送に応じて、ｎビットを超えるロング・データ・ワードのビットをレジスタにロードし、かつレジスタに格納されているロング・データ・ワードのビットを第２回路ブロックへの伝送のために複合データ・ワードに組み合わせる、第１回路ブロック内のコントローラとを備えている。
【０００８】
複合データ・ワードはビット数がｎビット未満のショート・データ・ワードを含んでいてもよい。好ましい実施の形態において、４０ビットのＺ座標データは３２ビットのデータ・バスで伝送される。３つのＺ座標データ・ワードの８つの過剰ビットは８ビットのコマンド・ワードと組み合わされて、３２ビットの複合データ・ワークを形成する。それ故、４０ビットのＺ座標データ・ワードを伝送するのに、余分なバス・サイクルは必要とされない。
【０００９】
本発明の他の形態によれば、コンピュータ・グラフィックス・システムの第１および第２の回路ブロックの間でデータを転送する方法が提供される。第１および第２の回路ブロックはｎビットのデータ・バスによって相互接続される。この方法はビット数がｎビットよりも大きい１つまたは複数のロング・データ・ワードを含んでいるデータ・ワードの各々のｎビットを第１回路ブロックから第２回路ブロックへ伝送するステップと、ｎビットを超えるロング・データ・ワードのビットをレジスタに格納するステップと、ｎビットを超えるロング・データ・ワードのビットを組み合わせて複合データ・ワードを形成するステップと、複合データ・ワードを第１回路ブロックから第２回路ブロックへデータ・バス上で伝送するステップとを含んでいる。
【００１０】
本発明をよりよく理解するために、参照することによって本明細書に組み込まれる添付図面を参照する。
【００１１】
【実施例】
図１は本発明のグラフィックス・システムの１実施の形態のブロック図であり、このシステムはテクスチャ・データをローカルに格納するキャッシュ・メモリを有するテクスチャ・マッピング・ハードウェアを含んでいる。説明のための図示の実施形態が基板やチップの数、これらを区画する態様、バス幅、およびデータ転送レートに関しては例示的なものに過ぎないことを理解すべきである。その他多くの実施形態を使用することができる。図示のように、システムはフロント・エンド基板１０、テクスチャ・マッピング基板１２、およびフレーム・バッファ基板１４を含んでいる。フロント・エンド基板は５２ビット・バス１６でホスト・コンピュータ１５と通信を行う。フロント・エンド基板はレンダリング対象のプリミティブをバス１６でホスト・コンピュータから受け取る。プリミティブは、プリミティブが三角形である場合の頂点などのプリミティブのすべての部分に対するｘ、ｙ、ｚベクトル座標データ、Ｒ、Ｇ、Ｂカラー・データおよびテクスチャＳ、Ｔ座標によって規定されている。３次元でプリミティブを表すデータは次いで、フロント・エンド基板１０によって、８５ビット・バス１８でテクスチャ・マッピング基板１２およびフレーム・バッファ基板１４に与えられる。テクスチャ・マッピング基板は受け取ったプリミティブ・データを補間して、プリミティブを表す画面表示ピクセルを計算し、各プリミティブ・ピクセルに対する対応する合成テクスチャ・データを決定する。合成テクスチャ・データは、図面を明確とするため図２では単一のバスとして示されている５本の５５ビット・バス２８でフレーム・バッファ基板に与えられる。
【００１２】
フレーム・バッファ基板１４もフロント・エンド基板１０から受け取ったプリミティブ・データを補間して、各プリミティブを表す表示画面上のピクセルを計算し、各ピクセルに対するオブジェクト・カラー値を決定する。フレーム・バッファ基板は次いで、ピクセルごとに、オブジェクト・カラー値を、テクスチャ・マッピング基板によってもたらされた合成テクスチャ・データと組み合わせて、各ピクセルに対して得られる画像のＲ、Ｇ、Ｂ値を生成する。各ピクセルに対するＲ、Ｇ、Ｂカラー制御信号はそれぞれ、Ｒ、Ｇ、Ｂライン２９に与えられて、表示画面のピクセル（図示せず）を制御し、テクスチャ・マップされたプリミティブを表す得られる画像を表示画面に表示する。
【００１３】
フロント・エンド基板１０、テクスチャ・マッピング基板１２およびフレーム・バッファ基板１４は各々パイプライン化されており、複数のプリミティブで同時に作動する。テクスチャ・マッピング基板とフレーム・バッファ基板が、フロント・エンド基板によって以前にもたらされたプリミティブに対して作動している間に、フロント・エンド基板は基板１２および１４のパイプラインがいっぱいになるまで、新しいプリミティブに対する作動を継続し、これをもたらす。
【００１４】
フロント・エンド基板１０はディストリビュータ・チップ３０、３個の３次元（３−Ｄ）形状アクセラレータ・チップ３２Ａ、３２Ｂおよび３２Ｃ、２次元（２−Ｄ）形状アクセラレータ・チップ３４ならびにコンセントレータ・チップ３６を含んでいる。ディストリビュータ・チップ３０はバス１６で、ホスト・コンピュータからＸ、Ｙ、Ｚ座標データおよびカラー・プリミティブ・データを受け取り、３−Ｄプリミティブ・データを３−Ｄ形状アクセラレータ・チップ３２Ａ、３２Ｂおよび３２Ｃに均等に分配する。このようにすると、プリミティブの３つのグループが同時に操作されるため、システムの帯域幅が増加する。データは４０ビット・バス３８Ａで３−Ｄ形状アクセラレータ・チップ３２Ａおよび３２Ｂにもたらされ、また４０ビット・バス３８Ｂでチップ３２Ｃにもたらされる。バス３８Ａおよび３８Ｂは両方とも６０ＭＨｚの速度でデータを転送し、２個の３−Ｄ形状アクセラレータ・チップをサポートするのに十分な帯域幅をもたらす。２−Ｄプリミティブ・データは４４ビット・バス４０により４０ＭＨｚの速度で２−Ｄ形状アクセラレータ・チップ３４に与えられる。
【００１５】
各３−Ｄ形状アクセラレータ・チップは受け取ったプリミティブを定義するｘ、ｙ、ｚ座標を対応する画面空間座標に変換し、その画面空間座標に対するオブジェクトのＲ、Ｇ、Ｂ値およびテクスチャのＳ、Ｔ値を決定し、プリミティブの四辺形を三角形に圧縮解除し、各三角形を定義する三角形平面式を計算する。各３−Ｄ形状アクセラレータ・チップはビュー・クリッピング操作を行って、複数のウィンドウが表示されている場合、あるいはプリミティブの一部が表示画面に表されているビュー容量を超えた場合に、得られる画像の正確な画面表示を行えるようにもする。３−Ｄ形状アクセラレータ・チップ３２Ａおよび３２Ｂおよび３２Ｃからの出力データはそれぞれ４４ビット・バス４２Ａおよび４２Ｂによって６０ＭＨｚの速度でコンセントレータ・チップ３６にもたらされる。２次元形状アクセラレータ・チップ３４も４６ビット・バス４４により４５ＭＨｚの速度で出力データをコンセントレータ・チップ３６にもたらす。コンセントレータ・チップ３６は３−Ｄ形状アクセラレータ・チップ３２Ａ−Ｃから受け取った３−Ｄプリミティブ出力データを組み合わせ、プリミティブをこれらがディストリビュータ・チップ３０によって分配される前に有していた元の順序に並べ換え、組み合わされたプリミティブ出力データをバス１８によってテクスチャ・マッピング基板およびフレーム・バッファ基板にもたらす。
【００１６】
テクスチャ・マッピング基板１２はテクスチャ・マッピング・チップ４６、およびキャッシュ・メモリとして構成されているのが好ましいローカル・メモリ４８を含んでいる。本発明の好ましい実施の形態において、ローカル・メモリは以下に述べる理由により、複数個のＳＤＲＡＭ（同期ダイナミック・ランダム・アクセス・メモリ）チップによって形成されている。以下で詳述するように、キャッシュ・メモリ４８はフレーム・バッファ基板にレンダリングされるプリミティブと関連するテクスチャＭＩＰマップ・データを記憶する。テクスチャＭＩＰマップ・データはホスト・コンピュータ１５のメイン・メモリ１７からバス４０によって２−Ｄ形状アクセラレータ・チップ３４へ、また２４ビット・バス２４によってテクスチャ・マッピング・チップ４６へダウンロードされる。
【００１７】
テクスチャ・マッピング・チップ４６はバス１８によって、表示画面にレンダリングされるプリミティブを表すプリミティブ・データを逐次受け取る。上述したように、３−Ｄ形状アクセラレータ・チップ３２Ａ−Ｃによってもたらされるプリミティブは、点、線および三角形を含んでいる。テクスチャ・マッピング基板は点や線のテクスチャ・マッピングは行わず、三角形のプリミティブだけに作用する。三角形のプリミティブを表すデータは少なくとも１つの頂点に対するｘ、ｙ、ｚオブジェクト・ピクセル座標、少なくとも１つの頂点のオブジェクト・カラーＲ、Ｇ、Ｂ値、少なくとも１つの頂点に対応しているテクスチャ・マップの部分のＳ、Ｔでの座標、および三角形の平面式を含んでいる。テクスチャ・マッピング・チップ４６はオブジェクト・ピクセルのｚ座標およびオブジェクト・カラーＲ、Ｇ、Ｂ値を無視する。チップ４６はｘ、ｙピクセル座標を補間し、プリミティブを表す各ｘ、ｙ画面表示ピクセルに対応するＳおよびＴ座標を補間する。各ピクセルに関して、テクスチャ・マッピング・チップはキャッシュ・メモリからのピクセルに対応するテクスチャＭＩＰの部分にアクセスし、ピクセルに対する合成テクスチャデータを計算する。このデータは複数のテクセルの荷重平均を含んでいてもよい。
【００１８】
各ピクセルに対する合成テクスチャはテクスチャ・マッピング・チップ４６によって、５本のバス２８でフレーム・バッファ基板に与えられる。５本のバス２８はそれぞれ、フレーム・バッファ基板に設けられた５個のフレーム・バッファ・コントローラ・チップ５０Ａ、５０Ｂ、５０Ｃ、５０Ｄおよび５０Ｅに結合されており、合成テクスチャ・データをフレーム・バッファ・コントローラ・チップに並列に与える。フレーム・バッファ・コントローラ・チップ５０Ａ−Ｅはそれぞれ、関連するＶＲＡＭ（ビデオ・ランダム・アクセス・メモリ）チップ５１Ａ−Ｅのグループに結合されている。フレーム・バッファ基板はさらに、４個のビデオ・フォーマット・チップ５２Ａ、５２Ｂ、５２Ｃおよび５２Ｄと、ＲＡＭＤＡＣ（ランダム・アクセス・メモリ・ディジタル・アナログ変換器）５４を含んでいる。フレーム・バッファ・コントローラ・チップは表示画面の異なる非重畳セグメントを制御する。各フレーム・バッファ・コントローラ・チップはバス１８によってフロント・エンド基板からプリミティブ・データを、またバス２８によってテクスチャ・マッピング基板から合成テクスチャ・マッピング・データを受け取る。フレーム・バッファ・コントローラ・チップはプリミティブ・データを補間して、プリミティブを表すそれぞれのセグメントにおける画面表示ピクセル座標、および各ピクセル座標に対する対応するオブジェクトＲ、Ｇ、Ｂカラー値を計算する。合成テクスチャ・データがテクスチャ・マッピング基板からもたらされるこれらのプリミティブ（すなわち、三角形）に対して、フレーム・バッファ・コントローラ・チップはピクセルごとに、オブジェクト・カラー値と合成テクスチャ・データを組み合わせて、表示画面に表示される各ピクセルに対する最終的なＲ、Ｇ、Ｂ値を生成する。
【００１９】
オブジェクト・カラー値およびテクスチャ・カラー値を組み合わせる態様は、さまざまな方法で制御することができる。たとえば、置換モードにおいては、オブジェクト・カラー値をテクスチャ・カラー値と置き換えるだけで、テクスチャ・カラー値だけをピクセルのレンダリングに使用できる。また、変調モードにおいては、オブジェクト・カラー値とテクスチャ・カラー値を乗算して、ピクセルに対する最終的なＲ、Ｇ、Ｂ値を生成することができる。さらに、対応するテクスチャ・カラー値をオブジェクト・カラー値と組み合わせる態様を規定する比率を指定するカラー制御ワードを各テクセルに関して記憶することができる。得られたカラー制御ワードを、各ピクセルに対応しており、バス２８によってフレーム・バッファ・コントローラ・チップに与えられる合成テクセル・データに関して決定できるので、対応して得られた制御ワードによって指定された比率を使用して、各ピクセルに対する最終的なＲ、Ｇ、Ｂ値を決定することができる。
【００２０】
フレーム・バッファ・コントローラ・チップ５０Ａ−Ｅによって生成された、各ピクセルに対するＲ、Ｇ、Ｂ値を含む得られる画像のビデオ・データは対応するＶＲＡＭチップ５１Ａ−Ｅに記憶される。ＶＲＡＭチップ５１Ａ−Ｅの各グループは８個のＶＲＡＭチップを含んでおり、４０個のＶＲＡＭチップがフレーム・バッファ基板に配置されるようになっている。ビデオ・フォーマット・チップ５２Ａ−Ｄの各々は１０個のＶＲＡＭチップの別々のセットに接続され、これらからデータを受け取る。ビデオ・データはＶＲＡＭチップからシリアルにシフト・アウトされ、６４ビット・バス５８Ａ、５８Ｂ、５８Ｃおよび５８Ｄにより２７ＭＨｚの速度で４個のビデオ・フォーマット・チップ５２Ａ、５２Ｂ、５２Ｃおよび５２Ｄにそれぞれ与えられる。ビデオ・フォーマット・チップはビデオ・データをフォーマットして、ＲＡＭＤＡＣによって処理できるようにし、かつフォーマットされたデータを３２ビット・バス６０Ａ、６０Ｂ、６０Ｃおよび６０Ｄによって３３ＭＨｚの速度でＲＡＭＤＡＣ５４へ与える。ＲＡＭＤＡＣ５４は次いで、ディジタル・カラー・データをアナログＲ、Ｇ、Ｂカラー制御信号に変換し、各ピクセルに対するＲ、Ｇ、Ｂ制御信号を画面表示（図示せず）アナログＲ，Ｇ，Ｂ制御ライン２９へもたらす。
【００２１】
図２はバス１８、コンセントレータ３６、およびフレーム・バッファ・コントローラ５０Ａの関連部分を詳細に示す。コンセントレータは浮動小数点固定小数点変換器６２、論理コントローラ７０、および各々が例示の実施の形態においては少なくとも８ビットの記憶容量を有する３つの記憶部分６４Ａ、６４Ｂ、６４Ｃを有する記憶レジスタ６４を含んでいる。フレーム・バッファ・コントローラ５０Ａは論理コントローラ７２、記憶レジスタ６７、並びに各々が例示の実施の形態においては少なくとも４０ビットの記憶容量を有する３つの記憶部分６６Ａ、６６Ｂ、および６６Ｃを有している記憶レジスタ６６を含んでいる。コンセントレータは３−Ｄ形状アクセラレータ・チップから受け取ったプリミティブ出力データを組み合わせ、浮動小数点固定小数点変換器６２で浮動小数点から固定小数点への変換を行い、組み合わされたプリミティブ出力データをバス１８によってフレーム・バッファ基板に与える。
【００２２】
本発明の第１の実施の形態によるバス・プロトコルの作動を、三角形プリミティブを例として使用して、図２〜図４を参照して説明する。１実施例において、各三角形プリミティブは２２ワードのデータによって定義される。図３は三角形プリミティブを定義するために使用される２２のワードを説明する図である。図３に示すように、各々が４０ビットのデータを含んでいるＺ座標データの３つのワード、すなわち、Ｚ、ｄＺ／ｄＸ、およびｄＺ／ｄｅを除き、プリミティブ・データからなるワードの各々は３２ビット以下を有している。
【００２３】
図２に示した実施の形態において、データ・バスは３２ビット幅であり、３２ビットを１バス・サイクルで転送する。４０ビットのＺ座標データをコンセントレータ３６からフレーム・バッファ・コントローラ５０Ａへ、３２ビットのバス・サイクル１つで転送することはできない。４０ビットのＺ座標データ・ワードを例示の実施の形態で転送する手順を、図４に示す。各Ｚ座標データ・ワードの４０ビット全部を転送するために、３２の最上位ビットを１バス・サイクルで転送し、残りの８ビットを論理コントローラ７０の制御により、記憶レジスタ６４に記憶する。この手順は３つのＺ座標データ・ワード全部に対して繰り返され、各Ｚ座標データ・ワード（２４ビット）のうち８ビットがレジスタ６４に記憶される。論理コントローラ７０はシフト・レジスタ６４を制御して、Ｚ座標データ・ワードＺ、ｄＺ／ｄＸおよびｄＺ／ｄｅの各々からの８ビットが記憶レジスタの対応する記憶部分６４Ａ、６４Ｂ、６４Ｃのそれぞれに記憶されるようにする。
【００２４】
コマンド・ワードが通常、データ・バスによって転送されるプリミティブの最後のワードである。図２に示した実施の形態において、コマンド・ワードは８ビットだけで構成されている。コマンド・ワードが転送されることを論理コントローラ７０が検出すると、Ｚ座標データ・ワードの各々に対する０−７ビットからなる、記憶レジスタ６４に以前に記憶されている２４ビットがコマンド・ワードと組み合わされて、複合ワードを形成する。Ｚデータ・ワードの各々のコマンド・ワードおよび８個の低位ビット（合計３２ビット）はデータ・バスにより１バス・サイクルで転送される。
【００２５】
図２はフレーム・バッファ基板５０Ａの関連部分も示している。データ・バス１８によって転送されたＺ座標データ・ワードの各々をフレーム・バッファ・コントローラが受け取る。図２に示すように、３２ビットの各Ｚ座標データ・ワードは受け取られた場合に、論理コントローラ７２の制御により、フレーム・バッファ・コントローラの記憶レジスタ６６に記憶される。次いで、コマンド・ワードを含んでいるバス・サイクルがデータ・バスからフレーム・バッファ・コントローラによって受け取られ、かつ論理コントローラ７２によって検出された場合、Ｚ座標データ・ワードの各々に対応した８ビットが論理コントローラによって複合ワードからはぎ取られ、該当するＺ座標ワードに対応する記憶レジスタ部分に置かれて、４０ビットのＺ座標データ・ワードの各々が記憶レジスタ６６内で再組立てされるようになる。コマンド・ワードは記憶レジスタ６７に記憶される。
【００２６】
本発明のプロトコルによるＺ座標データ・ワードの転送を図４の全体図に示す。ステップ８０において、３２ビット（ビット８：３９）Ｚ座標データが浮動小数点固定小数点変換器６２によってフレーム・バッファ・コントローラ５０Ａへ転送される。３２ビットのＺ座標データは論理コントローラ７２の制御によりレジスタ６６Ａにロードされる。コンセントレータ３６において、Ｚ座標データ・ワードのビット０：７はレジスタ６４Ａにロードされる。ステップ８２において、ｄＺ／ｄＸデータ・ワードのビット８：３９は浮動小数点固定小数点変換器６２により、データ・バス１８上をフレーム・バッファ・コントローラ５０Ａに転送され、レジスタ６６Ｂにロードされる。ｄＺ／ｄＸデータ・ワードのビット０：７はコンセントレータ３６内のレジスタ６４Ｂにロードされる。ステップ８４において、ｄＺ／ｄｅデータ・ワードのビット８：３９は浮動小数点固定小数点変換器６２により、データ・バス１８上を転送され、論理コントローラ７２の制御によりレジスタ６６Ｃにロードされる。ｄＺ／ｄｅデータ・ワードのビット０：７はコンセントレータ３６内のレジスタ６４Ｃにロードされる。ステップ８６において、コマンド・ワードの８ビットがレジスタ６４Ａ、６４Ｂおよび６４Ｃの内容と組み合わされて、３２ビットの複合データ・ワードを形成する。複合データ・ワードはデータ・バス１８上をフレーム・バッファ・コントローラ５０Ａへ転送される。フレーム・バッファ・コントローラ５０Ａにおいて、各ｚ座標データ・ワードのビット０：７はレジスタ６６Ａ、６６Ｂおよび６６Ｃのそれぞれの低位ロケーションにロードされる。この時点で（ステップ８Ａ）、３つのＺ座標データ・ワードがレジスタ６６Ａ、６６Ｂおよび６６Ｃからの転送に利用可能である。３つの４０ビットＺ座標データ・ワードならびにコマンド・ワードは４つのバス・サイクルで３２ビット・データ・バス１８上で転送されている。
【００２７】
上述した方式により、３つの４０ビット幅のＺ座標データ・ワードが、三角形に対するプリミティブ・データで構成されたすべてのワードを転送するための付加的なバス・サイクルを必要とする事なく、３２ビット幅のデータ・バス上で転送される。上述した実施の形態において、三角形に対するプリミティブ・データを構成する２２ワードは３２ビット幅のデータ・バス上で２２のバス・サイクルで転送される。例示の実施の形態において、データ・バス１８は２つの３２ビット・ワードを１バス・サイクルで転送するために６４ビット幅である。この実施形態において、三角形のプリミティブに対する２２ワードは１１のバス・サイクルで転送することもできる。しかしながら、２つの３２ビット・ワードが別々に制御されるのであるから、６４ビット・バスは並列な２本の３２ビット・バスと見るのが適切である。検討のため、バス１８を３２ビット・データ・ワードを転送する容量を有するものとみなす。
【００２８】
本発明の第２の実施の形態において、コマンド・ワードは８ビット超、たとえば、１１ビットでよい。この実施の形態においては、Ｚ座標データ・ワードの各々の残っている８データ・ビットのうち７ビットだけが、コマンド・ワードと共に転送される。Ｚ座標データ・ワードの各々の最下位ビットに対応する８番目のビットは廃棄される。本発明のこの実施の形態を図５に示す。図５に示すように、フレーム・バッファの記憶レジスタ６６はＺ座標データ・ワードを再構成する。図５の実施の形態は図２〜図４の実施の形態と同じ態様で作動するが、ビット数について適切な変更がなされている。この実施の形態において、再構成されたＺ座標データ・ワードは元の４０ビットのうちの３９ビットだけで構成されている。各Ｚ座標データ・ワードでの１ビットの損失はＺ精度を若干低下させることとなる。しかしながら、得られるＺ座標データ・ワードは依然３２ヒット超のビットを含んでおり、付加的なバス・サイクルを必要としない。
【００２９】
本発明のこの実施の形態が１１以外のビット数ｋを有しているコマンド・ワードに適用できることに留意すべきである。この場合、３２ビットのデータ・ワードに適合する記憶レジスタに含まれるできるだけ多くの残りのＺ座標データ・ビットが、コマンド・ワードと共に１バス・サイクルで転送され、最下位ビットからなる付加的なＺ座標データ・ビットは廃棄される。
【００３０】
本発明の第３の実施の形態において、プリミティブ・データはコマンド・ワードを含んでいない。図６に示すこの実施の形態において、Ｚ座標データ・ワードの２４の残りのビットは論理コントローラ７０の制御によりまとめて１付加データ・サイクルで転送される。以前の実施の形態と同様に、各Ｚ座標データ・ワードのうち３２ビットは１バス・サイクルで転送され、残りの８ビットは記憶レジスタ６４に記憶され、２４ビットが記憶レジスタ６４に記憶されることとなる。データ・バス上を転送される各Ｚ座標データ・ワードのうち３２ビットはフレーム・バッファ基板が受け取り、論理コントローラ７２によって記憶レジスタ６６に記憶される。記憶レジスタ６４に記憶された２４ビットはデータ・バス上を１付加バス・サイクルで転送される。２４ビットをフレーム・バッファ・コントローラが受け取り、論理コントローラ７２が検出すると、Ｚ座標データ・ワードの各々に対応する８ビットが該当するＺ座標データ・ワードに対応する記憶レジスタ部分に置かれ、４０ビットのＺ座標データ・ワードの各々が記憶レジスタ６６で再構成されるようになる。本発明のこの実施の形態は三角形のプリミティブ・データの各々に対して１付加バス・サイクルを必要とする。
【００３１】
本明細書で図示説明した回路は単なる例として挙げたものである。たとえばＳｙｎｏｐｓｙｓが市販している論理合成ソフトウェアを使用した大規模カスタム集積回路で、回路を実現することが好ましい。論理合成ソフトウェアはＶｅｒａｌｏｇなどの高水準言語で作成された回路記述を最適化し、論理ゲートに変換する。５ボルトで作動する１ミクロンＦＥＴを作成するＣＭＯＳプロセス、３．３ボルトで作動する０．６ミクロン描画ゲート長デバイスを作成するＣＭＯＳプロセス、あるいはディジタル回路を実現する任意のその他適切なプロセスを使用して、回路を実現してもかまわない。論理合成ソフトウェアへの入力は構造的というよりも機能的なものであるから、論理合成ソフトウェアによって生成される実際の回路は、本明細書で開示したものと異なるものであることもある。
【００３２】
本発明の少なくとも１つの例示の実施の形態を説明してきたが、各種の変更、改変および改善が当分野の技術者には容易に想起されよう。そのような変更、改変および改善は本発明の精神および範囲内のものである。したがって、上記の説明は単なる例に過ぎず、限定を目的としたものではない。本発明は首記の特許請求の範囲によってのみ規定されるものである。
【００３３】
本発明の実施の形態を列挙すれば、概ね以下の通りである。
【００３４】
〔１〕ｎビットを有するデータ・バス（１８）によって相互接続された第１の回路ブロック（３６）と第２の回路ブロック（５０Ａ）とを備えているコンピュータ・グラフィックス・システムにおいて、
第１の回路ブロックから前記データ・バス上を前記第２の回路ブロックへ、ｎビットよりも大きいビット数を有する１つまたは複数のロング・データ・ワードを含んでいるデータ・ワードを順次伝送する、第１の回路ブロックの回路（６２）と、
ｎビットを超える前記ロング・データ・ワードのビットを記憶する、第１の回路ブロックのレジスタ（６４）と、
前記ロング・データ・ワードの伝送に応じて、ｎビットを超える前記ロング・データ・ワードのビットを前記レジスタにロードし、かつ前記レジスタに格納された前記ロング・データ・ワードのビットを組み合わせて、前記第２の回路ブロックへの伝送のための複合データ・ワードにする、前記第１の回路ブロックのコントローラ（７０）とを備えている装置。
【００３５】
〔２〕前記ロング・データ・ワードを再構成する、第２の回路ブロックの回路をさらに備えており、ｎが３２に等しく、ｎビットよりも大きいビット数を有する１つまたは複数のロング・データ・ワードがＺ座標データ・ワードであり、ｎビット未満のビット数を有するショート・データ・ワードがコマンド・ワードである、上記第１項に記載の装置。
【００３６】
〔３〕データ・ワードがｎビット未満のビット数を有するショート・データ・ワードをさらに含んでおり、コントローラが前記ショート・データ・ワードの伝送に応じ、前記レジスタに格納された前記ロング・データ・ワードのビットを前記ショート・データ・ワードと組み合わせて、前記第２の回路ブロックへの伝送のための複合データ・ワードを形成する、上記第１または２項に記載の装置。
【００３７】
〔４〕コントローラが前記複合データ・ワードのビット数をｎビットに減らすために前記ロング・データ・ワードの十分な数のビットを削除する手段を含んでいる上記第１または３項に記載の装置。
【００３８】
〔５〕第２の回路ブロックの回路が前記ロング・データ・ワードおよび第２のコントローラの各々を再構成する第２のレジスタを備えており、前記ロング・データ・ワードの伝送に応じて、前記ロング・データ・ワードを前記第２のレジスタにロードし、かつ前記複合データ・ワードの伝送に応じて、前記複合データ・ワードからのｎビットを超える前記ロング・データ・ワードのビットを前記第２のレジスタにロードし、これによって前記ロング・データ・ワードが前記第２のレジスタで再構成される、上記第２項に記載の装置。
【００３９】
〔６〕ｎビットを有するデータ・ワードを伝送するためのデータ・バス（１８）によって相互接続された第１の回路ブロック（３６）と第２の回路ブロック（５０Ａ）とを備えているコンピュータ・グラフィックス・システムにおいて、
第１の回路ブロックからデータ・バス上を前記第２の回路ブロックへ、ｎビットよりも大きいビット数を有する１つまたは複数のロング・データ・ワードを含んでいるデータ・ワードの各々のｎビットを伝送するステップと、
ｎビットを超えるロング・データ・ワードのビットをレジスタ（６４）に格納するステップと、
ｎビットを超えるロング・データ・ワードのビットを組み合わせて、複合データ・ワードを形成するステップと、
第１の回路ブロックからデータ・バス上を第２の回路ブロックへ複合データ・ワードを伝送するステップとを備えているデータ・バス上でデータ・ワードを転送する方法。
【００４０】
〔７〕ロング・データ・ワードを第２の回路ブロックで再構成するステップをさらに備えている、上記第６項に記載の方法。
【００４１】
〔８〕データ・ワードがｎビット未満のビット数を有するショート・データ・ワードをさらに含んでおり、組合せステップがショート・データ・ワードをｎビットを超えるロング・データ・ワードのビットと組み合わせ、複合データ・ワードを形成するステップを含む、上記第６または７項に記載の方法。
【００４２】
〔９〕前記複合データ・ワードのビット数をｎビットに減らすために前記ロング・データ・ワードの十分な数のビットを削除するステップをさらに備えている、上記第６または８項に記載の方法。
【００４３】
〔１０〕ロング・データ・ワードを第２の回路ブロックで再構成するステップが第１の回路ブロックから第２の回路ブロックに伝送されたロング・データ・ワードを第２のレジスタ（６６）にロードし、前記複合データ・ワードからのｎビットを超えるロング・データ・ワードのビットを前記第２のレジスタにロードし、これによってロング・データ・ワードが前記第２のレジスタで再構成される、上記第７項に記載の方法。
【００４４】
【発明の効果】
本発明の実施の形態を三角形のプリミティブを例として使用して説明してきた。本発明が点、直線、ベクトルおよび多角形を含むその他のグラフィックス・プリミティブにも同様に適用できることを理解すべきである。これらのその他のプリミティブの場合、プリミティブを記述するのに使用されるワードの総数は変動することがあり、バス幅を超えるデータ・ワードの数は３よりも大きくても、小さくてもかまわない。しかしながら、本発明の同一の全体的な方式を使用することができる。具体的にいえば、データ・バスの幅を超えるＺ座標データ・ワードのビットは、データ・バスの最大容量よりも少ないビット数を有するワードと組み合わされるので、データ・バス幅よりも大きいビット数を有するＺ座標ワードは、付加的なバス・サイクルを付加する必要なしに転送されると言った効果が得られる。
【００４５】
本発明の実施の形態を３２ビット幅のデータ・バスを使用して説明してきた。本発明を３２ビット以外のｎビットの幅を有するデータ・バス、ならびにビット数ｍ（ｍ＞ｎ）を有するデータ・ワードに適用できることを理解すべきである。また、本発明をＺ座標データがデータ・バスの幅よりも大きいビット数で構成されている場合について説明してきた。Ｚ座標データの転送に関して上述した方式は、任意のグラフィック・パラメータを表し、バス幅よりも大きいビット数を有するデータ・ワードの転送にも同様に適用できる。
【図面の簡単な説明】
【図１】本発明を組み込むのに適したコンピュータ・グラフィックス・システムの１実施の形態のブロック図である。
【図２】本発明の第１の実施の形態のブロック図である。
【図３】図２の実施の形態で使用される三角形プリミティブのグラフィックス・プリミティブ・データ構造の図である。
【図４】図２の実施の形態によるデータ・フローを説明する図である。
【図５】本発明の第２の実施の形態による、コマンド・ワードとＺ座標データの１バス・サイクルでの転送を説明するブロック図である。
【図６】本発明の第３の実施の形態による、コマンド・ワードがない場合のＺ座標データの転送を説明するブロック図である。
【符号の説明】
１８  データ・バス
３６  第１の回路ブロック
５０Ａ  第２の回路ブロック
６２  第１の回路ブロックの回路
６４  第１の回路ブロックのレジスタ
６６  第２のレジスタ
７０  第１の回路ブロックのコントローラ
【図１】
0003881404.tif 000002
【図２】
0003881404.tif 000003
【図３】
0003881404.tif 000004
【図４】
0003881404.tif 000005
【図５】
0003881404.tif 000006
【図６】
0003881404.tif 000007