JPH10307721A - ジオメトリ・アクセラレータ性能向上システム - Google Patents

ジオメトリ・アクセラレータ性能向上システム

Info

Publication number
JPH10307721A
JPH10307721A JP10110300A JP11030098A JPH10307721A JP H10307721 A JPH10307721 A JP H10307721A JP 10110300 A JP10110300 A JP 10110300A JP 11030098 A JP11030098 A JP 11030098A JP H10307721 A JPH10307721 A JP H10307721A
Authority
JP
Japan
Prior art keywords
control unit
logic
branch
instruction
rom
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.)
Pending
Application number
JP10110300A
Other languages
English (en)
Inventor
Jr Alan S Krech
アラン・エス・クレッチ・ジュニア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH10307721A publication Critical patent/JPH10307721A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】グラフィックス・システムにおけるジオメトリ
・アクセラレータの性能を向上させる。 【解決手段】本発明のジオメトリ・アクセラレータは、
複数の処理エレメントからなるスタック、マイクロコー
ド命令を介するROMの形態で実施され、各々が対応す
る画像データ処理エレメントを起動する複数の制御ユニ
ット、次に実行すべき命令の位置を定義する次アドレス
・フィールド、および、各々が上記制御ユニットのそれ
ぞれに対応する複数の制御ユニット論理エレメントを備
え、該制御ニット論理エレメントの各々が、上記スタッ
クおよび対応する制御ユニットから受け取る状態データ
に基づいて現在実行されている命令に関する次アドレス
を定義することによって、特定の処理エレメントによる
特定の画像データ処理の終了とともに次に処理すべき機
能に対応するROM内マイクロコード命令アドレスへ動
的にかつ迅速に分岐することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的にはコンピ
ュータ・グラフィックス・システムに関するもので、高
性能ジオメトリ・アクセラレータのROM型制御装置に
おける効率的多経路論理分岐を使用可能にする分散分岐
論理システムおよび方法に関するものである。
【0002】
【従来の技術】コンピュータ・グラフィックス・システ
ムは、二次元画面上にオブジェクトのグラフィック表現
を表示するため広く使用されている。現在のコンピュー
タ・グラフィックス・システムは、オブジェクトの非常
に詳細な視覚表現を提供し、種々のアプリケーションに
おいて使用されている。
【0003】コンピュータ・グラフィックス・システム
を使用する典型的なコンピュータが図1に示されてい
る。図1において、コンピュータ11は、中央処理装置
(CPU)12、CPU12によって実行されるソフトウ
ェアを記憶するシステム・メモリ14、CPU12から
受け取るグラフィックス・データを処理するグラフィッ
クス・システム16、前述の諸エレメントを電気的に相
互接続するように構成される局部的インタフェース1
8、および、接続経路22を経由してグラフィックス・
システム16に接続しグラフィックス・システム16に
よって生成された画像データを表示するように構成され
るディスプレイ21を含む。
【0004】グラフィックス・システム16は、ディス
プレイ21上に表現されるべきオブジェクトをグラフィ
ックス・プリミティブに分解する。「プリミティブ」
は、画像データの基本コンポーネントであり、点、線
分、ベクトルおよび、三角形および四辺形のような多角
形を含む。ディスプレイ21上に表現される1つまたは
複数のオブジェクトの形状を表現するグラフィックス・
プリミティブを提示または描画するため、典型的には、
グラフィックス・システム16においてハードウェア、
ソフトウェアのいずれかまたは両方が実施される。
【0005】一般的には、描出されるべきオブジェクト
のプリミティブは、プリミティブ・データという観点か
らCPU12によって定義される。例えば、あるプリミ
ティブが三角形である場合、CPU12は、x、yおよ
びz座標およびその頂点の(赤、緑、青のような)カラー
値という観点からプリミティブを定義する。特定のアプ
リケーションにおいては更に別の付加的プリミティブ・
データが使用されることもある。グラフィックス・シス
テムのラスタ機構のにおける描出ハードウェアは、究極
的にはプリミティブ・データを補間して、各プリミティ
ブおよび各ピクセルに関するR、GおよびBカラー値を
表す最終的表示画面ピクセル値を計算する。 グラフィ
ックス・システム16の詳細が図2に示されている。図
2に示されているように、コンピュータ・グラフィック
ス・システム16は、CPU12から頂点データを受け
取り表示されるべき形状を構成するプリミティブを定義
するように構成される1つまたは複数のジオメトリ・ア
クセラレータ23を含む。各ジオメトリ・アクセラレー
タ23は、例えば、拡大縮小または頂点の空間移動のよ
うな頂点データの変換を実行する変換機構(TRANS)2
4、境界を越えて広がるオブジェクト部分を切り取る
(クリップする)クリップ機構(CLIP)26、光の状態をシ
ミュレーションすることによって画像データを強化する
光機構(LIGHT)28、および数学的浮動小数点平面方程
式の観点からプリミティブを定義する平面方程式機構(P
LANE)32を含む多数の画像データ処理専用制御装置1
7を含む。制御装置17の各々は、典型的には、セル論
理の形態で、かつ、分離した独立状態マシンとして実施
される。描出データと呼ばれるジオメトリ・アクセラレ
ータ23の出力を使用して、各ピクセルおよび各プリミ
ティブに関する最終的画面座標およびカラー・データが
生成される。出力33は、浮動小数点から固定小数点へ
の変換装置(FP-TO-FIXED)34に渡され、そこで、ジオ
メトリ・アクセラレータ出力33が固定小数点形式35
に変換され、その値がラスタ機構36に渡される。ラス
タ機構36は、フレーム・バッファ・コントローラ38
を経由してフレーム・バッファ42に伝えられるピクセ
ル・データ37を生成する。フレーム・バッファ42
は、ディスプレイへの通信に先立ちピクセル・データを
一時的に記憶する働きをする。ピクセル・データは、フ
レーム・バッファ42からディジタル/アナログ変換器
(DAC)44を経由してディスプレイ21に送られる。
【0006】ジオメトリ・アクセラレータ23の動作
は、非常に数学的であり計算集約的である。3次元グラ
フィックス・ディスプレイの1つのフレームが何十万と
いうオーダーのプリミティブを含む可能性がある。最新
技術の性能を達成するため、ジオメトリ・アクセラレー
タ23は、一秒につき数億の浮動小数点計算を実行する
ことを要求される場合がある。更に、CPU12とグラ
フィックス・システム16の間のデータ伝送量は非常に
大きい。単一四辺形に関するデータが、各々が32ビッ
トであるワードが64個のオーダーのワードを必要とす
ることもある。CPU12からジオメトリ・アクセラレ
ータ23へ伝送されるデータには、付加的に、ディスプ
レイ21に対するグラフィックス画像を生成するために
必要とされる光パラメータ、クリッピング・パラメータ
およびその他のパラメータが含まれる。
【0007】ジオメトリ・アクセラレータ23におい
て、図3に示されるように、演算論理ユニット(ALU)
54、乗算機構55、除算機構56、比較機構57、ク
ランプ機構58等の他、レジスタ/RAM作業空間6
1、62を含む複数処理エレメントからなるスタック5
2を備えることが一般的である。プロセッサの諸エレメ
ントは、典型的には、複数の専用制御装置17によって
共有される。各制御装置17は、特定の計算タスクを達
成するように個々のプロセッサ・エレメント52の処理
活動を制御することができる。
【0008】プロセッサ・エレメントが各制御装置17
へアクセスすることができるように、適切な制御線接続
およびアクセス制御がプロセッサ・エレメント52と各
制御装置17の間で確立されなければならない。制御線
接続に対する1つの解決策は、図3で示されているよう
に各制御装置と各プロセッサ・エレメント52の間の制
御線を多重化することを含む。マルチプレクサ(図3のM
UX66)がこの目的を満たす。MUX66は、MUX制御機構
68によって制御される。MUX制御機構68は、所与の
時間においてどの制御装置17がプロセッサ・エレメン
ト62にアクセスすることを許容されるかを制御するた
めMUX66へイネーブル信号69を出す。動作的には、M
UX制御機構68は、MUX66に対して特定の制御装置1
7に関連するイネーブル信号をオンとし、当該特定制御
装置17に対する実行信号72をオンにする。次に、選
択された特定の制御装置17はオペランドおよびプロセ
ッサ開始信号を生成して、最終的にスタック51に転送
される処理演算を開始する。制御装置17は、該当する
接続線74、MUX66および接続線76を経由してスタ
ック51および所望の特定処理エレメント52にアクセ
スする。制御装置は、演算処理エレメント52がデータ
を入力バッファ77(通常はFIFOバッファ)から取り
出し出力バッファ82(通常はFIFOバッファ)に結果
を記憶するように制御する。制御装置17は、1つまた
は複数の処理エレメント52を通していかなる数の演算
をも始動させることができる。制御装置17がその処理
を終了すると、MUX制御装置68に対して終了信号84
を送る。次に、MUX制御68は、別の制御装置17に別
の実行信号72を送り、一方、対応するイネーブル信号
69を制御装置17へ送る。
【0009】
【発明が解決しようとする課題】上述の従来技術の設計
に関わる1つの問題は、MUX66を実施するため多数の
ゲート・レベルが必要とされる点である。別の問題は、
制御装置17から処理エレメント52へ送られる信号の
ために必要とされる時間をMUX66が増加させる点であ
る。ゲート遅延はこの増加の一部である。たとえトライ
ステートMUX66が多層ゲート構成を置き換えるため使
用されるとしても、ロード動作も時間遅延に寄与する。
更に、制御装置17の数および処理エレメント52の数
が増加するにつれ、上記の問題は拡大する。このよう
に、コンピュータ・グラフィックス・システムにおける
ジオメトリ・アクセラレータの性能を最適化するため、
制御装置17と処理エレメント52を効率的にインター
フェースさせるシステムおよび方法の必要性が当業界に
存在する。
【0010】
【課題を解決するための手段】上記課題を解決するた
め、本発明は、高性能ジオメトリ・アクセラレータのR
OM型制御ユニットにおける効率的多経路論理分岐を可
能にする分散分岐論理システムおよび方法を提供する。
一般に、分散分岐論理システムおよび方法は、論理の複
雑さを減少させ、ジオメトリ・アクセラレータに関する
必要な空間を最小にしその速度を増加させる。
【0011】本発明に従って、(演算論理ユニット、乗
算機構、除算機構、比較機構、クランプ機構などのよう
な)複数の処理エレメントのスタックが、(変換機構、分
解機構、クリップ機構、ボータイ(bow-tie)機構、光機
構、分類機構、平面方程式機構、かぶり(fog)機構など
のような)複数の制御ユニットと共に、ジオメトリ・ア
クセラレータに配置される。上記複数の制御ユニットは
マイクロコードを介するROMの形態で実施され、それ
ら制御ユニットの各々は画像データを修正するため処理
エレメントを駆動するように構成される。
【0012】次アドレス・フィールドが、マイクロコー
ド命令の各々に関連づけられ、実行されるべき次の命令
のROM内の位置を定義する。複数の制御ユニット論理
エレメントが制御ユニットそれぞれに対応して配置され
る。制御ユニット論理エレメントの各々は、そのそれぞ
れの制御ユニットに関する分岐を実施する。制御ユニッ
ト論理エレメントの各々は、スタックおよび対応するR
OM型制御ユニットから受け取る状態データに基づい
て、対応するROM型制御ユニットに関連する現在実行
中命令に関する次アドレス・フィールドを評価し定義す
るように構成される。具体的には、次アドレス・フィー
ルドの各々は、ROM内に当初から部分的に定義されて
いて、制御ユニット論理エレメントが、次アドレス・フ
ィールドに関連する少なくとも1つまたは複数のビット
(好ましくはLSB)をセットすることによって動作の間
に動的にROMにおける次アドレス・フィールドを完全
に定義する。
【0013】本発明は、1つの側面において、多経路論
理分岐機能性を使用可能にすることによってコンピュー
タ・グラフィックス・システムのためのジオメトリ・ア
クセラレータの必要空間を最小にし、速度を増加させる
方法を提供する。該方法は、マイクロコードを介するR
OMの形態で複数の制御ユニットを実施するステップ、
多数の処理エレメントからなるスタックを実施するステ
ップ、画像データを修正するため処理エレメントに関す
るマイクロコードを実行するステップ、各マイクロコー
ド命令の実行の後、各マイクロコード命令に関連する次
アドレスに基づいて複数の可能なマイクロコード位置の
うちの1つへの分岐を実行可能にするステップ、それぞ
れ制御ユニットに対応する複数の制御ユニット論理エレ
メントを実施するステップ、および、各装置論理エレメ
ントを用いて、分岐命令を制御するため上記スタックお
よび対応するROM型制御ユニットから受け取る状態デ
ータに基づいて実行中の対応する命令に関する次アドレ
スを定義するステップを含む。
【0014】本発明の利点として、より高い速度と性能
を持つジオメトリ・アクセラレータが実現すること、ジ
オメトリ・アクセラレータの制御ユニットを実施するた
めに必要とされる論理の複雑さを最小にすること、ジオ
メトリ・アクセラレータの制御ユニットを実施するため
に必要とされる空間要求を減少させること、および、ジ
オメトリ・アクセラレータの制御ユニット内部における
2経路対8経路条件分岐を可能にしそれによって、多重
化および制御論理の必要性を除去すること、があげられ
る。
【0015】
【発明の実施の形態】本発明は、一般的に述べれば、図
4に示されるように、(図1および図2の)コンピュータ
・グラフィックス・システム16の(図2の)ジオメトリ
・アクセラレータの制御ユニット17を読取専用メモり
すなわちROM100内で実施するものである。ROM
100内での制御ユニット17の実施は、制御ユニット
17を処理エレメント52に効果的にインターフェース
させ、ジオメトリ・アクセラレータ23に関する必要空
間を最小にし、速度全体を増加させる。このような実施
によって、性能を更に向上させる多経路論理分岐が可能
となる。言い換えると、複数の決定を同じ時間に並列的
に実行することが可能となる。
【0016】図4を参照してアーキテクチャの観点から
考察すれば、本発明のジオメトリ・アクセラレータ23
は、拡大縮小または頂点の空間的移動のような頂点デー
タに関する変換を実行する変換メカニズム(TRANS)2
4、四辺形の三角形への変換のようなプリミティブ分解
を実行する分解機構(DECOMP)25、境界を越えて広がる
オブジェクト部分をクリップするクリップ機構(CLIP)2
6、その交差ポイントを決定してプリミティブを三角形
に分解するためボウタイ(BOW-TIE)構成を処理するボウ
タイ機構(BOW-TIE)27、1つまたは複数の光条件をシ
ミュレーションすることによって画像データに陰影を与
え強化する光機構(LIGHT)28、特殊効果のためプリミ
ティブを前面と背面に分類する分類機構(CLASS)29、
数学的浮動小数点平面方程式という観点からプリミティ
ブを定義する平面方程式式機構(PLANE)、距離感を強調
するため画像のオブジェクトに背景色を与えるかぶり(F
OG)機構(FOG)を含む多数の画像データ処理専用制御ユニ
ット17を含む。
【0017】ジオメトリ・アクセラレータ23は、更
に、ROM100によって現在実行されている命令の範
囲内の次のアドレスを必要に応じて取り扱い、それによ
って現在の命令が最高8つの可能な命令位置(本発明の
好ましい実施形態では4つの可能な位置)のうちの1つ
へ最終的に分岐することができるように構成される分岐
論理機構102、上述のようにROM100からの命令
を実行するように構成される複数処理エレメント52か
らなるスタック51、CPU12からのデータを受け取
るように構成される入力バッファ77、およびラスタ機
構へ出力データを送るように構成される出力バッファを
含む。分岐論理機構102は、ROM100から次アド
レス(NEXT_ADDR)104を受け取るだけではなくROM
100、スタック51およびCPU12から状態データ
106を受け取るように構成される。状態データは、例
えば、制御ユニット17が演算を終了したか否かに関す
る情報、プリミティブまたは多角形のタイプに関する情
報、プリミティブが光パラメータを含むか否かに関する
情報、描出モード情報、光モード情報など、ジオメトリ
・アクセラレータ23の状態に関する種々のタイプの情
報を含むことができる。状態データ106に基づいて、
分岐論理機構102は、現在の命令に関連する次アドレ
ス104を修正すべきかまたは変更せずそのままとすべ
きか、修正すべき場合次アドレスをどのように変更すべ
きかに関して判断するように構成される。
【0018】図4に示されるように、分岐論理機構10
2はROM100から次アドレスまたはその一部(NEXT_
ADDR)104を受け取り、(修正後または修正しないま
ま)次アドレス108をROM100へ出力するように
構成される。ROM100において現在実行されている
命令は、対応する次アドレス・フィールド内に次アドレ
スを含む(図6参照)。次アドレス(NEXT_ADDR)108
は、現在の命令が完全に実行された後次の命令を求めて
分岐すべき次のアドレスをROM100に通知する。
【0019】以下は分岐論理機構102内で使用され得
る論理機能性の1例である。ここで、プリミティブ・デ
ータは変換機構24に渡され、ROM100における変
換制御ユニット24から状態データ106がプリミティ
ブが表示画面外であることを示していると仮定する。更
に、現在命令がクリップ制御ユニット26をポイントす
る次アドレス104を持っていると仮定する。このよう
な例の場合、分岐論理機構102は、次のプリミティブ
が処理されるのを待つため次アドレス108が変換制御
ユニット24の始めをポイントするように次アドレス1
04を変更する。
【0020】別の例としては、光機構が使用可能でない
のに現在時命令アドレスが光機構をポイントしていると
いうシナリオを考察すると、この場合、現在命令が(例
えば平面方程式機構32のような)別の制御ユニット1
7をポイントするように分岐論理機構102は次アドレ
スを修正する。
【0021】図5には、ジオメトリ・アクセラレータ2
3の1つの可能な特定の実施形態が示されている。この
特定の実施形態は、階層構成の論理機能性を備えた分岐
論理機構102を含む。具体的には、分岐論理機構10
2は、高次元の論理的判断を行うように構成される分岐
中央論理機構112、および、各制御ユニット17にそ
れぞれ対応する複数の個別制御ユニット論理エレメント
115を含む。各制御ユニット論理エレメント115
は、それぞれ対応する制御ユニット17の各々が条件つ
き分岐を実行するのを助け、間接アドレス指定を制御す
るため低次元の論理的判断を行うように構成される。
【0022】図5に示される特定の好ましい実施形態に
おいて、ROM100は、一般的に別々の独立したソフ
トウェア・モジュールの形態の複数の制御ユニット17
を含むが、インターリーブを行うようにプログラムする
ことも可能である。モジュールのコードは1時点で1つ
ずつ実行され、各々は命令76(好ましい実施形態では
211ビットの命令)を使用して特定の処理エレメント
52を駆動する。
【0023】ROM100に所在する各マイクロコード
命令は、図6に示されるようなフィールドを少なくとも
含む。図6を参照すると、各命令は、分岐フィールド1
21、次アドレス・フィールド104、次頂点フィール
ド122、次光フィールド123、初期化(フラグ)フィ
ールド124、データ経路制御(命令)フィールド12
5、条件コード・フィールド126および動作制御ユニ
ット識別子(ID)フィールド127を含む。
【0024】分岐フィールド121は、可能な分岐位置
の数に関する情報情報を含む。本発明の好ましい実施形
態では分岐は4つの可能な命令位置のうちの1つに対し
て発生することができるので、分岐フィールド121
は、2ビットの2-way_4-wayビット28および1ビット
のcond_uncondビット129を含む。前者は、分岐が2
方向または4方向のいずれであるかを示し、後者は命令
が条件つきであるか無条件であるかを定義する。「無条
件(uncond)」は、現在の命令の実行の後間接的分岐は起
きず、従って次アドレスは制御ユニット論理114によ
って修正されないことを意味する。「条件付き(cond)」
は、現在の命令の実行の後間接的分岐が発生し、従って
次アドレスの1つまたは2つのビットが制御ユニット論
理機構114によって置き換えられることを意味する。
2方向分岐であれば1つのビットが置き換えられ、4方
向分岐であれば2つのビットが置き換えられる。
【0025】次アドレス・フィールド104は、ROM
100において実行されるべき次の命令に対応するアド
レスを識別する。次アドレスは本発明に従う複数の位置
(すなわち命令スロット)の内の1つである。(図5の)制
御ユニット論理エレメント115の各々は、対応するR
OM型制御ユニット17に関連する、現在実行中命令に
関する次アドレス・フィールド104を評価して定義す
る。
【0026】次アドレス・フィールド104は、ROM
100において当初から部分的に定義され、制御ユニッ
ト論理エレメント115が、動作の間に、次アドレス・
フィールド104の1つまたは複数のビット(好ましい
実施形態では2つのLSB)を設定することによって次
アドレス・フィールドを完全に定義する。
【0027】次頂点フィールド122(好ましくは1ビ
ット)は、当該頂点に関する頂点カウントを増分させる
べき時を外部頂点/光カウンタ139(図5)に通知す
る。次光フィールド123(好ましくは1ビット)は、当
該光条件に関する光カウントを増分させるべき時を外部
頂点/光カウンタ139(図5)に通知する。
【0028】初期化フィールド124は、レジスタ61
/RAM作業空間62が初期化(消去または事前設定)さ
れるべきか否かを標示する。典型的には、初期化は、変
換制御ユニット24が新しいプリミティブを受ける時に
起こる。
【0029】データ経路制御フィールド125は、本質
的には処理エレメント52によって実行されるべき命令
である。データ経路制御フィールド125は、以下の機
能を少なくとも実行することができる。すなわち、レジ
スタ61/RAM62におけるオペランドの位置を定義
すること、オペランドに関して実行されるべき動作を定
義すること、処理エレメント52からデータをロードす
るべき時を出力バッファ82に通知すること、実行結果
をレジスタ61、RAM62や出力バッファ82のどの
位置に記憶すべきかを識別すること、である。
【0030】条件コード・フィールド126は、ROM
100の範囲内で現在動作中の制御ユニット17の現在
状態を標示する状態データである条件コードを識別す
る。条件コードは、特定の条件コード値が異なる制御ユ
ニット17における異なる事態を意味することができる
という意味において各制御ユニット17に対して特有の
ものである。条件コード17は、制御ユニット論理エレ
メント115のみならず分岐中央論理機構112におけ
る論理判断にも影響を及ぼすように無限の数の形態で活
用することができる。条件コードの特定の例は、制御ユ
ニット論理エレメント115および分岐中央論理機構1
12に関する論理の記述に関連して、詳細に後述され
る。
【0031】動作制御ユニット識別子(ID)フィールド
127は、ROM100において現在動作している特定
の制御ユニット17を識別する。
【0032】図5を参照すると、前述のように、スタッ
ク51は、複数の処理エレメント54−58およびレジ
スタおよびRAM空間61、62を含む。任意の所与の
時間において、処理エレメント52のうちの1つは、R
OM100における制御ユニット17のうちの1つから
の命令76を実行する。実行の間、各処理エレメント5
2は、入力バッファ77からデータを受け取り、実行の
間またはその後に、各処理エレメント52は、制御ユニ
ット17の制御の下、(図2の)ラスタ機構31への送信
のため好ましくは1ビットのロード信号143を介して
出力バッファ82に処理結果を書き込む。入力バッファ
77はスタック51に対し頂点情報を提供することがで
きる。処理エレメント52は、必要に応じて、特定の処
理エレメント52に従って分岐論理機構102へフラグ
131(10ビット)を送るように構成される。例えば、
比較処理エレメント57は、2つのオペランドが等しい
こと、2つのオペランドが等しくないこと、1つのオペ
ランドが他方のオペランドより大きいこと、1つのオペ
ランドが他方のオペランドより小さいこと等々を標示す
るフラグ131を作成する。
【0033】状態管理アドレス復号機構132は、32
ビットがデータで21ビットがアドレスで1ビットが入
力バッファが有効なデータを保有しているか否かを示す
合計54ビットのグローバル状態データおよびその他の
情報を入力バッファ77を経由してCPU12から受け
取るように配置される。状態管理アドレス復号機構13
2からのアンロード信号135(1ビット)は、状態デー
タの前述の伝送を起動する。モード情報は、ジオメトリ
・アクセラレータ23のいくつかの行動の側面を制御す
る。好ましい実施形態において、描出モード、第1光モ
ードおよび第2光モードという3つの動作モードを制御
する3つの32ビット・レジスタがある。一般的には、
描出モード・レジスタは、例えば光処理、かぶり処理ま
たはテクスチャ・マッピングのような適切な処理を介し
て画像データにおいて実行されるグラフィックス効果ま
たは機能のタイプに関してグローバルな情報を定義す
る。更に、第1および第2光モード・レジスタは、例え
ば使用されるべき光の数やタイプまたはテクスチャ・マ
ッピングのタイプなどグラフィックス効果が画像データ
にどのように適用されるべきかという特定の情報を定義
する。
【0034】分岐論理機構102の分岐中央論理機構1
12は、状態管理アドレス復号機構132から(好まし
くは200ビットの)モード情報(MODE_INFO)134を受
け取る。分岐中央論理機構112は、また、スタック5
1からフラッグ(FLAGS)131を、ROM100から条
件コード(CONDITION_CODES)126を、ROM100の
範囲内においてどの制御ユニット17が現在動作してい
るかを標示する動作制御ユニット信号136aをROM
100から、それぞれ受け取る。状態データすなわちモ
ード情報134、フラグ131、条件コード126およ
び動作制御ユニット信号136aに基づいて、分岐中央
論理機構112は、該当する次制御ユニット信号138
を生成して、動作中制御ユニット17に対応する個別制
御ユニット論理エレメント115へその信号を出力す
る。次制御ユニット信号138は、分岐中央論理機構1
12内の論理に従って次にどの制御ユニット17に分岐
しなければならないかを定義する。
【0035】制御ユニット論理機構114内に配置され
る個別制御ユニット論理エレメント115の各々は、対
応する制御ユニット17の分岐および間接アドレス指定
の実行を援助する。個別制御ユニット論理エレメント1
15の各々は、状態データに基づきまた状態データの機
能としてそれぞれの制御ユニット17に関する論理的判
断を行うように構成される。この場合、状態データは、
好ましい実施形態において、ROM100の現在命令か
ら受け取る次アドレス104のうちの2つの最下位ビッ
ト(LSB)104'、ROM100の現在命令から受け取る
分岐フィールド(BRANCH_FIELD)121、ROM100の
現在命令から受け取る条件コード(CONDITION_CODES)1
26、および、頂点/光カウンタ139から受け取る、
現在命令がコード・サブルーチンに関係する頂点/光の
グループ分けにおいて処理されるべき最後の頂点および
最後の光に現在命令が関係しているか否かを標示する最
終頂点/光信号(LAST)137、および、スタック51か
ら受け取るフラグ(FLAGS)131を含む。
【0036】各制御ユニット論理エレメント115の機
能性は、セル論理、ルックアップ・テーブルまたはその
他適当な論理メカニズムの形態で実施することができ
る。個別制御ユニット論理エレメント115の各々の内
部の論理の例をあげれば以下の通りである。論理機構の
構成は限りなく存在するので、本発明の論理構成は以下
に限定されるものとみなされるべきではない。
【0037】第1の例として、ROM100における特
定の制御ユニット17が動作中であると仮定する。この
例においては、対応する制御ユニット論理エレメント1
15が特定制御ユニット17から値iを持つ条件コード
を与えられる時、制御ユニット論理エレメント115
は、最終頂点ビット(LAST)137を評価して、最終頂点
ビット137がオンであれば、現在命令が光制御ユニッ
ト28へ分岐するように次アドレス104を設定するよ
うに、条件コードは、対応する制御ユニット論理エレメ
ント115の論理に関連づけされる。
【0038】別の例として、平面方程式機構32が動作
していて、数学演算が平面方程式ベクトルに対して実行
されていて、当該ベクトルに沿って平面方程式パラメー
タdxおよびdyの計算はすでに完了し、現在比較演算
がスタック51における比較処理エレメント57によっ
て実行されつつあると仮定する。この例では、平面方程
式機構32からの値iの条件コードは、対応する制御ユ
ニット論理エレメント115が比較演算の結果に関する
スタック51からのフラグ131を検査し次アドレス1
04を定義することを必要とする。更に、dxがフラグ
131に基づいてdyより大であれば(すなわちコード
がx主軸ベクトルに関して処理中であれば)、制御ユニ
ット論理エレメント115は、現在命令がコードの最初
の位置に分岐するように強制する。dyがフラグ131
に基づいてdxより大であれば(すなわちコードがy主
軸ベクトルに関して処理中であれば)、制御ユニット論
理エレメント115は、現在命令が第1の位置とは異な
る第2のコード位置に分岐するように強制する。
【0039】更に別の例として、特定の制御ユニット1
7が動作中であり、その対応する制御ユニット論理エレ
メント115が分岐中央論理機構112から受け取る次
制御ユニット信号138を検査しなければならないこと
を値iを持つ条件コードが標示すると仮定する。このケ
ースでは、制御ユニット論理エレメント115がiとい
う該当する条件コードを検出する時、分岐中央論理機構
112からの次制御ユニット信号138に基づいて別の
制御ユニット17への分岐が起きるように次アドレス1
04をセットする。
【0040】複数の個別制御ユニット論理エレメント1
15の実施は、ROM100に記憶されなければならな
いマイクロコード命令76のサイズを減少させ、更に分
岐機能性を実施するために必要な経路指定論理の量を減
少させる。言い換えると、個別制御ユニット論理エレメ
ント115の複数論理は単一の論理エレメントで実施す
ることができるが、特に集積回路で実施するような単一
エレメント論理機構はサイズおよび論理の複雑さにおい
て比較的大きいので、その実施は望ましくはない。
【0041】頂点/光カウンタ139はどのような適切
な論理を使用してでも実施できる。頂点/光カウンタ1
39は、プリミティブに関する光条件および頂点をカウ
ントし追跡するように設計される。該カウンタは、個別
制御ユニット論理エレメント115に関する最終頂点/
光信号137を生成して、ROM100から受け取るフ
ラグ初期化ビット141、ROM100から受け取る次
頂点/光信号142、および、状態管理アドレス復号機
構132から受け取るポイント、ベクトル、三角形、四
辺形などのプリミティブ・タイプを示す4ビットと使用
される光の数を示す8ビットからなる12ビットのプリ
ミティブ情報144を含む信号に基づきまたそのような
信号の関数として、プリミティブの最終頂点および最終
光が処理されたことを示す。
【0042】MUX146は、個別制御ユニット論理エレ
メント115から次アドレス(NEXT_ADDR)104の(好ま
しい実施形態では2ビットの)LSBを接続線148を
経由して受け取る。ROM100からの動作中制御ユニ
ット信号136b(本実施形態では3ビット)は、MUX1
46が使用中制御ユニット17に対応する適切な制御ユ
ニット論理エレメント115に関連する適切な接続線1
48を選択することを強制する。
【0043】好ましくは従来からあるデータ型(Dータ
イプ)フリップフロップ記憶ラッチであるラッチ149
が、MUX146からLSBを接続線151を経由して受
け取るように構成される。ラッチ149は、システム・
クロック信号(CK)152によってクロックを与えられ
る。好ましくは従来からあるデータ型(Dータイプ)フリ
ップフロップ記憶ラッチであるラッチ155が、ROM
100から次アドレス104の上位9ビット104"を
受け取る。ラッチ155は、システム・クロック信号(C
K)152によってクロックを与えられる。ラッチ155
は9ビット156を出力し、これはROM100のため
に次アドレス108(11ビット)を作成するようにラッ
チ149からの2つのビット154と組み合わせられ
る。
【0044】図7乃至図9は、図5の分岐中央論理機構
112の1つの可能な実施形態を示す。図7乃至図9に
おいて、菱形ブロックは、分岐中央論理機構112によ
って行われる論理判断を表し、長方形ブロックは、制御
ユニット17によってROM100の範囲内で実行され
る論理機能性を表している。図7乃至図9は、各プリミ
ティブに関して次にどの制御ユニット17が選択され活
用されるかを分岐中央論理機構112がどのように決定
するかを示している。
【0045】初期的に、基本的には変換機構24におけ
るヘッダであるディスパッチ機構24'がプリミティブ
の到来を待つ。プリミティブが到着すると、ディスパッ
チ機構24'は、この事実を分岐中央論理機構112に
通知する。分岐中央論理機構112はプリミティブが到
着するまでモード情報134を監視し続ける(ブロック
71)。プリミティブが到着したあと、分岐中央論理機
構112は、変換機構24に対応する次制御ユニット信
号138を作成する。変換機構がプリミティブを変換す
ると、プリミティブを拒絶すべきか否か判断が行われる
(ブロック72)。プリミティブ全体が画面からはずれて
いればプリミティブは普通拒絶され、この場合プロセス
はディスパッチ機構24'へ戻る。プリミティブが拒絶
されなければ、分岐中央論理機構112はプリミティブ
を分類する必要があるか否か判断する(ブロック73)。
【0046】好ましい実施形態においては、プリミティ
ブは前面または背面として分類される。一般的には、光
処理はこれらのパラメータに基づいて調節される。プリ
ミティブが分類される必要があるタイプであれば、分岐
中央論理機構112は分類機構29に対応する次制御ユ
ニット信号138を生成する。更に、分類機構29がプ
リミティブを分類した後、分岐中央論理機構112はプ
リミティブが間引かれるかどうか決定する。好ましい実
施形態においては、間引きは描出速度を最適化するため
に加えられる機能である。基本的には、ユーザは前面ま
たは背面プリミティブが破棄されなければならないか否
か指定することができる。現在次プリミティブが破棄さ
れるべきプリミティブであれば、プロセスはディスパッ
チ機構24'へ戻る。そうでなければ、分岐中央論理機
構112は、光機構28が呼び出されるべきか否か判断
する(ブロック575)。
【0047】ブロック73においてプリミティブが分類
される必要がないと分岐中央論理機構112が決定する
と、分岐中央論理機構112は、プリミティブが光機構
によって光処理されるべきか否か決定する(ブロック7
5)。光処理されるべきであるとブロック75において
判断されると、分岐中央論理機構112は、光機構が呼
び出されるように適切な次制御ユニット信号138を定
義する。プリミティブが一定のカラーでなければ、光処
理が行われる。光処理の後、分岐中央論理機構112
は、かぶり処理をプリミティブに適用すべきか否か判断
する(ブロック76)。必要であればかぶり機構39が呼
び出される。かぶりの適用の後またはブロック76でか
ぶり処理の適用は必要ないと判断される場合、分岐中央
論理機構112は内部レジスタを初期化する(ブロック
77)。この場合、これが第1のプリミティブであるこ
とを標示するように「第1」変数を意味する"FIRST"変
数が1にセットされ、これが四辺形の"A"タイプ(すなわ
ち凸面四辺形)であることを標示するように「四辺形A」
を表す"QUAD_A"変数が1にセットされ、これがボータイ
ではないことを標示するようにボータイ変数を意味す
る"BOW-TIE"変数が0にセットされる(ブロック77)。
【0048】内部レジスタの初期化の後、分岐中央論理
機構112は、プリミティブがクリップされる必要があ
るか否か判断する(ブロック78)。そうであれば、プロ
セスの流れはブロック81−86へ続く。そうでない場
合、プロセスの流れはブロック91−95へ続く。
【0049】プリミティブのクリッピングが実行される
べき場合、分岐中央論理機構112はプリミティブが四
辺形であるか否か判断する(ブロック81)。そうであれ
ば、分解機構25が呼び出される。一方、そうでなけれ
ば、分解メカニズム25は呼び出されない。必要に応じ
て四辺形の分析および分解が行われた後、指定された平
面に対するクリッピングが逐次処理される。クリップを
行う指定された平面の各々は図9のブロック83−85
で示されるループで処理される。ループに入る前に、内
部レジスタが初期化される。第1のクリップを行う平面
が考慮され分析されるように変数"model_clip_pass"が
0にセットされる。各パスがループを通る毎に、ボータ
イがあるか否か判断され(ブロック83)、存在する場合
交差ポイントを計算するためボータイ機構27が呼び出
される。更に、図9のループに示されるように、データ
を更に処理するためクリップ機構26および平面方程式
機構32が使用され、ブロック84における論理が変数
model_clip_passを増分し、すべてのクリッピング平面
が処理されるまでプロセスの流れはブロック83へ戻さ
れる(ブロック85)。
【0050】ブロック86において、このプリミティブ
が四辺形の最初の三角形であるか否か判断される。そう
でなければ、プロセスの流れはブロック71へ戻る。そ
うであれば、ブロック87において、分岐中央論理機構
112は、四辺形の第2の三角形を処理するように内部
レジスタをセットする。この場合、変数"MODEL_CLIP_PA
SS"は0にセットされ、変数"FIRST"は0にセットされ
る。
【0051】ブロック78において、プリミティブのク
リップが必要ないと判断されると、平面方程式機構32
が呼び出され、分岐中央論理機構112はプリミティブ
がタイプaの(凸面)四辺形であるか否か検査する(ブロ
ック91)。これは、スタック51および条件コード1
26からのフラグを観察することによって実行される。
特に、分岐中央論理機構112は、適切な条件コード1
26によってスタック51からのフラグ131を分析す
るように構成される。フラグ131は四辺形のタイプを
示す。凸面四辺形でなければ、プロセスはブロック71
へ戻って別のプリミティブを待つ。凸面四辺形であれ
ば、プリミティブは分解機構によって分解される(ブロ
ック25)。
【0052】次に、分岐中央論理機構112はプリミテ
ィブがボータイであるか否か判断する(ブロック93)。
そうでなければ、平面方程式機構32が呼び出される。
そうであれば、ボータイ機構が呼び出され、次に平面方
程式機構32が呼び出される。ブロック94−95の論
理はボータイの両方の三角形が処理されることを保証す
る。
【0053】動作 図10および図11を参照して、ROM100において
実施される制御ユニット17を持つジオメトリ・アクセ
ラレータ23の動作を以下に記述する。図10は、分岐
論理機構102と連係するROM100の範囲内におけ
る制御ユニット17の動作の例を反映する流れ図を示
す。この例においては、一般的に、制御ユニット17
は、対象プリミティブに関連する頂点およびび光のグル
ープのすべての頂点およびすべての光を処理する。以下
の記述では、図5および図10を参照する。
【0054】先ず、CPU12によってプリミティブの
データおよび状態データが入力バッファ77に与えられ
る。状態管理アドレス復号機構132は、アンロード信
号135を入力バッファ77に送ることによって状態デ
ータ133を読み取る。次に、状態管理アドレス復号機
構132は、状態データを解読し、分岐中央論理機構1
12へモード情報134を送る。更に、分岐中央論理機
構112は、それぞれの制御ユニット論理エレメント1
15へ次制御ユニット信号138を渡す。
【0055】マイクロコード命令がROM100によっ
て読み取られ、ROM100内のマイクロコード化され
た制御ユニット17がそれに従って動作する。マイクロ
コード化された制御ユニット17は、頂点/光のグルー
プ分けの開始において初期化ルーチンを実行する(ブロ
ック162)。この場合、ROM100の制御ユニット
17は、基本的には、FLAG_INIT141のようなフラ
グ、スタック51におけるレジスタ/RAM空間61,
62を初期化する。
【0056】次に、頂点ループ・ルーチンが開始され、
各ループ処理の間にプリミティブの頂点に関連するデー
タが処理される。ブロック163において、スタック5
1によって最近時に処理された頂点が現在対象となって
いるプリミティブの最後の頂点であるか否かが判断され
る。そうであれば、制御ユニット17は制御ユニット論
理エレメント115によってスタック51の制御を別の
制御ユニット17へ移すように強制される(ブロック1
64)。この場合、制御ユニット論理エレメント115
は、次アドレスLSBl04の1ビットまたは両方のビ
ットを修正することによってこれを実行する。分岐中央
論理機構112に関連する高水準論理が、どの装置17
が次に利用されるか最終的に決定する。制御ユニット論
理エレメント115は、適切な分岐位置、すなわち分岐
中央論理機構112からの次制御ユニット信号138に
基づいて次アドレスLSB104'をどのように修正す
るかを判断する。
【0057】前に処理された頂点が最後のものでなく従
って処理されるものが残っている場合、制御ユニット1
7のマイクロコードは、1つまたは複数の処理エレメン
ト52を使用して現在時頂点に対する1つまたは複数の
演算を実行する(ブロック165)。対応する制御ユニッ
ト論理エレメント115は、これらの演算の間に、分岐
フィールド121、条件コード126およびフラグ13
1に基づいて分岐を指示する。各頂点毎に、あてはまる
場合、光処理のループ・ルーチンが開始され、各ループ
動作の間にプリミティブの光に関連するデータが処理さ
れる。
【0058】ブロック166において、該当する制御ユ
ニット論理エレメント115は、最終光ビット137を
通して、スタック51によって前に処理された光が現在
対象になっている頂点の最後の光であるか否か判断す
る。そうでなければ、光処理が実行される(ブロック1
67)。対応する制御ユニット論理エレメント115
は、これら光処理動作の間に、分岐フィールド121、
条件コード126およびフラグ131に基づいて分岐を
指示する。光処理の後、光カウンタが増分され(ブロッ
ク168)、プロセスの流れは処理すべきものが残って
いれば次の光を識別するためブロック166へ戻る。処
理すべき光がなにもない場合、(図9の)頂点カウンタ1
39は次頂点信号142を介して進められ(ブロック1
66)、残っていれば次の別の頂点が処理のため取り出
される(ブロック163)。
【0059】すべての頂点および光がグループ分けにお
いて処理されるまで上記のプロセスは循環形式で続行す
る。この場合、プリミティブに対する処理が完了するま
で動作を開始できる権限が1つまたは複数のマイクロコ
ード化された制御ユニットに与えられることもできる。
【0060】マイクロコードの例 動作を一層明きらかにするため、ROM100における
マイクロコードの特定の単純化された例を図11を参照
して記述する。この例では、ROM100は図11に示
される内容を持つ少なくとも11個の命令を含むと仮定
する。
【0061】ROM100はスロット0にある命令の起
動を始める。制御ユニット17に関連するコードの開始
において、初期化ルーチンが実行される。この時点では
新しい制御ユニット17の開始という観点から命令の初
期化フラグはオンにセットされているので、ROM10
0は、(図5の)頂点カウンタ139に対し、FLAG_INITI
ALIZEフラグ141をオンにし、それによって頂点カウ
ンタ139はその頂点カウントを初期化する。頂点カウ
ンタ139は、状態管理アドレス復号機構132によっ
てプリミティブ情報信号144を介してプリミティブの
タイプおよび頂点の数を知らされる。更に、この命令の
無条件フラグが分岐フィールド121でオンにセットさ
れているので、制御ユニット論理エレメント115は、
TWO-WAY_FOUR-WAYフラグを見る必要はなく、次アドレス
LSB104'を修正する必要は全くない。間接アドレ
ス指定がないので、制御ユニット論理エレメント115
は次アドレス・フィールド104を修正しない。最後
に、命令は、実行されるべき次の命令が命令スロット1
にあることを標示するNEXT_ADDRフィールドを評価す
る。従って、実行される次の命令は、スロット1に置か
れている命令である。
【0062】初期化フラグがオフにされているのでスロ
ット1にある命令は初期化を必要としない。従って、頂
点カウンタ139に対するflag_init信号141はオフ
にされる。分岐フィールド121の条件つきフラグはオ
ンにされているので、該当する制御ユニット論理エレメ
ント115は、0にセットされているTWO-WAY_FOUR-WAY
フラグを分岐が2方向であると解釈する。論理エレメン
ト115によって、条件コード126およびスタック5
1からの任意のフラグ131に従って、スロット2また
はスロット3の命令への分岐を行うように命令の次アド
レス・フィールドを定義することができる。条件コード
126、フラグ131および最終信号137に基づい
て、頂点/光のグループ分けにおいて最後の光または頂
点が処理されなかった場合、ROM100がスロット2
に位置する命令を選択するように制御するように制御ユ
ニット論理エレメント115を構成することができる。
これを実行するため、制御ユニット論理エレメント11
5は次アドレスLSB148を適切に定義する。この場
合、論理エレメント115は、次アドレス104のLS
B1が変更されないまま次アドレス108に渡されるこ
とを許容し、次アドレス104のLSB0を強制的に0
にセットする。
【0063】スロット2の命令は、初期化フラグがオフ
となっているので初期化を必要としない。(図5の)頂点
カウンタ139は、FLAG_INIT信号141がオフとされ
ているので増分されない。更に、ROM100から接続
経路76を経由してスタック51に渡されるデータ経路
制御フィールド125によって、(図5の)ALU54に
よるオペランドAとBの加算が実行される。オペランド
AおよびBはレジスタ61、RAM62のいずれかまた
は両方から取りだされ、その位置は命令のデータ経路制
御125において定義される。結果は、ALU54によ
ってレジスタ61、RAM62または出力バッファ82
に記憶される。無条件フラグがオンにセットされている
ので、TWO-WAY_FOUR-WAYフラグの検査は不要で、制御ユ
ニット論理エレメント115は、次アドレスLSBを修
正する必要はない。更に、次のアドレスは、命令の事前
記述に従って、スロット4にある。
【0064】スロット4の命令は、スロット2の命令の
完了後ROM100によって起動される。初期化は行わ
れず、頂点カウンタ139は増分されない。命令によっ
て、ALU54がオペランドCおよびDを加算する。オ
ペランドCおよびDは、データ経路制御125に基づい
てレジスタ61またはRAM62から取り出される。結
果は、ALU54によってレジスタ61、RAM62、
出力バッファ82などに記憶される。更に、命令は条件
つきではないので、直接スロット5の命令に移行する。
ここでもまた、制御ユニット論理エレメント115は、
次アドレスLSBを修正しない。
【0065】スロット5の命令は初期化を行わず、頂点
カウンタ139は増分されない。この命令によって(図
5の)乗算機構はオペランドEおよびFを乗算する。オ
ペランドEおよびFは、レジスタ61またはRM62か
ら取り出される。結果は、乗算機構55によってレジス
タ61、RAM62、出力バッファ82などに記憶され
る。命令は条件付きでないので、NEXT_ADDRフィールド
に従ってスロット5にあるただ1つの他の命令にのみ分
岐することができる。この場合もまた、制御ユニット論
理エレメント115は、次アドレスLSBを修正しな
い。
【0066】スロット6の命令は、初期化フラグに従っ
た初期化プロセスを実行しない。この命令のデータ経路
制御フィールドによって、(図5の)比較機構57が(A
+B)と(C+D)を比較する。命令は無条件である。従
って、NEXT_VERTEXフィールドに従って頂点カウンタ1
39を増分した後、ROM100はスロット1の命令を
調べる。
【0067】各プリミティブ毎に、各頂点に関して1回
前述の動作が行われる。すなわち、ROM100はスロ
ット1、2、4、5および6を循環する。このように、
3つの頂点を持つ三角形の場合、前述の命令を循環する
サイクルが3回実行される。最後の頂点/光の後、例え
ばこの制御ユニット17に関する分岐論理115が最終
信号137を観察しそれが最後の頂点/光であるかどう
かを判断しなければならないことを意味する"7"という
ような条件コードを分岐中央論理機構112は認識す
る。この場合条件コードが"7"であるとする。この場
合、分岐中央論理機構112は、次制御ユニット17が
初期化されるべきことを該当する制御ユニット論理エレ
メント115に通知する。次アドレス・フィールド10
4は、ROM100が次の命令のためスロット3へ進ま
なければならないことを標示するように該当する制御ユ
ニット論理エレメント115によって設定される。
【0068】スロット3において、命令は、条件つきフ
ラグはオンとなっていて、命令は条件付きである。更に
TWO-WAY_FOUR-WAYフラグがオンとなっていて、それによ
って次の命令がROM100の中の4つの異なる位置の
1つにあることが標示される。可能な4つの位置はスロ
ット8−11である。制御ユニット論理エレメント11
5は、分岐中央論理機構112から受け取る次制御ユニ
ット信号138、ROM100から受け取る条件コード
126およびスタック51から受け取る何らかのフラグ
131に基づきかつそれらの機能として、次アドレスL
SBを定義することによって判断する。この例では、ス
ロット8−11はクリッピング、光処理(陰影づけ)、平
面方程式および分解に関するルーチンを開始する命令に
対応している。図11に示されているように、この命令
は"5"という条件コードを標示する。条件コード"5"は、
制御ユニット論理エレメント115に対し、別の制御ユ
ニットへ分岐するため分岐中央論理機構112からの次
制御ユニット信号138を検査しなければならないこと
を標示する。例えば分岐中央論理機構112が陰影付け
が次に実行されると判断するとすれば次制御ユニット1
7は例えば光機構であり、その場合、制御ユニット論理
エレメント115は、次アドレスがスロット9として定
義されるように次アドレスLSBを定義するであろう。
【0069】以上特定の好ましい実施形態を参照して、
本発明を記述したが、本発明の原理を逸脱することなく
上記好ましい実施形態および特定の例に種々の修正を加
えることが可能である点は当業者に明らかであろう。
【0070】本発明には、例として次のような実施様態
が含まれる。 (1)多経路論理分岐機能性を効率的に使用可能にする
ことによってコンピュータ・グラフィックス・システム
のためのジオメトリ・アクセラレータにおける必要空間
を最小にし、速度を増加させるシステムであって、複数
の処理エレメントからなるスタックと、マイクロコード
命令を介する読取専用メモりすなわちROMの形態で実
施され、各々が対応する画像データ処理エレメントを駆
動するように構成される複数の制御ユニットと、上記マ
イクロコード命令の各々に関連し実行されるべき次の命
令の上記ROMにおける位置を定義する次アドレス・フ
ィールドと、各々が上記制御ユニットのそれぞれに対応
し上記スタックおよび対応する制御ユニットから受け取
る状態データに基づいて上記対応する制御ユニットに関
連して現在実行されている命令に関する上記次アドレス
・フィールドを評価し定義するように構成される複数の
制御ユニット論理エレメントと、を備えるジオメトリ・
アクセラレータ性能向上システム。 (2)上記制御ユニット論理エレメントの各々が、それ
ぞれ対応する制御ユニット内の内部分岐命令を制御する
ように構成される、上記(1)に記載のシステム。 (3)分岐フィールドが上記命令の各々に関連づけさ
れ、上記制御ユニット論理エレメントの各々が上記対応
する制御ユニットから上記状態データの一部として上記
分岐フィールドを受け取るように構成され、上記分岐フ
ィールドが多数の可能な分岐位置を定義する、上記
(1)に記載のシステム。
【0071】(4)条件コード・フィールドが上記命令
の各々に関連づけられ、上記制御ユニット論理エレメン
トの各々が上記対応する制御ユニットから上記状態デー
タの一部として上記条件コード・フィールドを受け取る
ように構成され、上記条件コード・フィールドが、上記
対応する制御ユニットの状態を定義する、上記(1)に
記載のシステム。 (5)上記ROMから次頂点信号を受け取り、該次頂点
信号をカウントし対象頂点が最終頂点の場合上記状態デ
ータの一部としてその事実を上記制御ユニットに通知す
るように構成される頂点カウンタを更に備える、上記
(1)に記載のシステム。 (6)上記ROMから次光信号を受け取り、該次光信号
をカウントし対象光が最終の光の場合上記状態データの
一部としてその事実を上記制御ユニットに通知するよう
に構成される光カウンタを更に備える、上記(1)に記
載のシステム。 (7)上記制御ユニットが、変換機構、分解機構、クリ
ップ機構、ボータイ機構、光機構、分類機構、平面方程
式機構およびかぶり機構からなるグループから選択され
る、上記(1)に記載のシステム。 (8)上記処理エレメントが、演算論理ユニット、乗算
機構、除算機構、比較機構およびクランプ機構からなる
グループから選択される、上記(1)に記載のシステ
ム。 (9)上記次アドレス・フィールドの複数ビットの第1
のセットを受け取るように構成されるラッチを更に備
え、上記制御ユニット論理エレメントの各々が、上記次
アドレス・フィールドの複数ビットの第2のセットを受
け取り、上記状態データに基づいて上記第2のセットを
定義するように構成され、上記第1および第2のセット
が組み合わされて上記ROMに送られて新しい次アドレ
スを定義する、上記(1)に記載のシステム。
【0072】(10)多経路論理分岐機能性を効率的に
使用可能にすることによってコンピュータ・グラフィッ
クス・システムのためのジオメトリ・アクセラレータに
おける必要空間を最小にし、速度を増加させる方法であ
って、マイクロコード命令を介する読取専用メモりすな
わちROMの形態で複数の制御ユニットを準備するステ
ップと、複数の処理エレメントからなるスタックを準備
するステップと、画像データを処理するため上記処理エ
レメントを用いて上記マイクロコードを実行するステッ
プと、上記マイクロコード命令の各々の実行の後、上記
各マイクロコード命令に関連する次アドレスに基づいて
複数の可能なマイクロコード位置の1つへの分岐を可能
にするステップと、上記制御ユニットにそれぞれ対応す
る複数の制御ユニット論理エレメントを準備するステッ
プと、上記制御ユニット論理エレメントの各々を用い
て、上記スタックおよび対応する制御ユニットから受け
取る状態データに基づいて対応する命令に関する上記次
アドレスを定義するステップと、を含む方法。
【0073】
【発明の効果】高性能ジオメトリ・アクセラレータのR
OM型制御ユニットにおける効率的多経路論理分岐を可
能にする分散分岐論理機構を提供することによって、本
発明は、グラフィック・システムにおけるジオメトリ・
アクセラレータに関する論理の複雑さを減少させ、必要
な記憶空間を最小にし、その速度を増加させるという効
果を奏する。
【図面の簡単な説明】
【図1】グラフィックス・システムを備えるコンピュー
タを示すブロック図である。
【図2】図1のグラフィック・システムを示すブロック
図である。
【図3】図2のジオメトリ・アクセラレータの従来技術
実施形態を示すブロック図である。
【図4】ジオメトリ・アクセラレータの制御ユニットを
実施するように構成されたROMのブロック図である。
【図5】本発明に従う複数の分岐論理機構を持つ図4の
分岐論理の特定の階層的論理回路の実施を示すブロック
図である。
【図6】図4のROM内に配置されるマイクロコード命
令内のフィールドを例示する構造図である。
【図7】図8および図9と共に、図5の分岐論理機構の
一例を示す状態流れ図である。
【図8】図7および図9と共に、図5の分岐論理機構の
一例を示す状態流れ図である。
【図9】図7および図8と共に、図5の分岐論理機構の
一例を示す状態流れ図である。
【図10】図4および図5のROM内の各制御ユニット
の実施例を示す流れ図である。
【図11】図4および図5のROM内に配置されること
ができる可能なマイクロコードの実施例を簡略して示す
ブロック図である。
【符号の説明】
11 コンピュータ 12 CPU 14 システム・メモリ 16 グラフィックス・システム 17 制御ユニット 18 インタフェース 21 ディスプレイ 22 接続経路 23 ジオメリ・アクセラレータ 33 ラスタ機構 51 処理エレメント・スタック 52 処理エレメント 61 レジスタ 62 RAM 66 マルチプレクサ(MUX) 77 入力バッファ 82 出力バッファ 100 ROM 102 分岐論理機構 112 分岐中央論理機構 114 分散制御ユニット論理機構 115 制御ユニット論理エレメント 117 マイクロコード命令フィールド 139 頂点/光カウンタ 155 ラッチ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】多経路論理分岐機能性を効率的に使用可能
    にすることによってコンピュータ・グラフィックス・シ
    ステムのためのジオメトリ・アクセラレータにおける必
    要空間を最小にし、速度を増加させるシステムであっ
    て、 複数の処理エレメントからなるスタックと、 マイクロコード命令を介する読取専用メモりすなわちR
    OMの形態で実施され、各々が対応する画像データ処理
    エレメントを駆動するように構成される複数の制御ユニ
    ットと、 上記マイクロコード命令の各々に関連し実行されるべき
    次の命令の上記ROMにおける位置を定義する次アドレ
    ス・フィールドと、 各々が上記制御ユニットのそれぞれに対応し上記スタッ
    クおよび対応する制御ユニットから受け取る状態データ
    に基づいて上記対応する制御ユニットに関連して現在実
    行されている命令に関する上記次アドレス・フィールド
    を評価し定義するように構成される複数の制御ユニット
    論理エレメントと、 を備えるジオメトリ・アクセラレータ性能向上システ
    ム。
JP10110300A 1997-04-30 1998-04-21 ジオメトリ・アクセラレータ性能向上システム Pending JPH10307721A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/847,647 US5930519A (en) 1997-04-30 1997-04-30 Distributed branch logic system and method for a geometry accelerator
US847,647 1997-04-30

Publications (1)

Publication Number Publication Date
JPH10307721A true JPH10307721A (ja) 1998-11-17

Family

ID=25301146

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10110300A Pending JPH10307721A (ja) 1997-04-30 1998-04-21 ジオメトリ・アクセラレータ性能向上システム

Country Status (4)

Country Link
US (1) US5930519A (ja)
JP (1) JPH10307721A (ja)
DE (1) DE19806539A1 (ja)
GB (1) GB2324941B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6822656B1 (en) * 2000-07-13 2004-11-23 International Business Machines Corporation Sphere mode texture coordinate generator
US7392368B2 (en) * 2002-08-09 2008-06-24 Marvell International Ltd. Cross multiply and add instruction and multiply and subtract instruction SIMD execution on real and imaginary components of a plurality of complex data elements
US6986023B2 (en) * 2002-08-09 2006-01-10 Intel Corporation Conditional execution of coprocessor instruction based on main processor arithmetic flags
WO2004015563A1 (en) * 2002-08-09 2004-02-19 Intel Corporation Multimedia coprocessor control mechanism including alignment or broadcast instructions

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4862392A (en) * 1986-03-07 1989-08-29 Star Technologies, Inc. Geometry processor for graphics display system
US5097411A (en) * 1987-08-13 1992-03-17 Digital Equipment Corporation Graphics workstation for creating graphics data structure which are stored retrieved and displayed by a graphics subsystem for competing programs
US5088053A (en) * 1987-11-16 1992-02-11 Intel Corporation Memory controller as for a video signal processor
US4949300A (en) * 1988-01-07 1990-08-14 International Business Machines Corporation Sharing word-processing functions among multiple processors
DE69418646T2 (de) * 1993-06-04 2000-06-29 Sun Microsystems Inc Gleitkommaprozessor für einen hochleistungsfähigen dreidimensionalen Graphikbeschleuniger
US5710879A (en) * 1995-06-08 1998-01-20 Hewlett-Packard Company Method and apparatus for fast quadrilateral generation in a computer graphics system
US5720019A (en) * 1995-06-08 1998-02-17 Hewlett-Packard Company Computer graphics system having high performance primitive clipping preprocessing
US5696944A (en) * 1995-08-08 1997-12-09 Hewlett-Packard Company Computer graphics system having double buffered vertex ram with granularity

Also Published As

Publication number Publication date
DE19806539A1 (de) 1998-11-12
US5930519A (en) 1999-07-27
GB2324941B (en) 2001-07-25
GB9807144D0 (en) 1998-06-03
GB2324941A (en) 1998-11-04

Similar Documents

Publication Publication Date Title
US6807620B1 (en) Game system with graphics processor
US5517611A (en) Floating-point processor for a high performance three dimensional graphics accelerator
US6624819B1 (en) Method and system for providing a flexible and efficient processor for use in a graphics processing system
EP3748582B1 (en) A graphics processing architecture employing a unified shader
US6980209B1 (en) Method and system for scalable, dataflow-based, programmable processing of graphics data
US8074224B1 (en) Managing state information for a multi-threaded processor
US7071935B1 (en) Graphics system with just-in-time decompression of compressed graphics data
CN101156176A (zh) 图像处理装置
US5956047A (en) ROM-based control units in a geometry accelerator for a computer graphics system
US8775777B2 (en) Techniques for sourcing immediate values from a VLIW
EP0548586A2 (en) An extendable multiple image-buffer for graphics systems
JPH0727571B2 (ja) ラスタ走査表示装置及び図形データ転送方法
US7747842B1 (en) Configurable output buffer ganging for a parallel processor
US6085310A (en) Method and apparatus for performing an operation multiple times in response to a single instruction
WO1997034224A9 (en) Method and apparatus for performing an operation multiple times in response to a single instruction
US20080084424A1 (en) Early retiring instruction mechanism, method for performing the same and pixel processing system thereof
JPH10307721A (ja) ジオメトリ・アクセラレータ性能向上システム
JPH10307722A (ja) ジオメトリ・アクセラレータ性能向上システム
US6885375B2 (en) Stalling pipelines in large designs
CA2298337C (en) Game system with graphics processor
US20240036874A1 (en) Apparatus and method of optimising divergent processing in thread groups
US20080055307A1 (en) Graphics rendering pipeline
Han et al. Geometry engine architecture with early backface culling hardware
JP2708415B2 (ja) 図形処理装置