(57)【特許請求の範囲】
【請求項１】
対応する複数のプロセッサ・アクセス信号を生成するように構成され、前記プロセッサ・アクセス信号によってグラフィックス・データを処理するように構成された複数の制御装置と、
制御ラインを有し、前記プロセッサ・アクセス信号を実行し、前記グラフィックス・データを処理するように構成されたプロセッサ素子と、
複数の選択信号を生成するように構成されたマルチプレクサ制御装置と、
前記複数の制御装置と同数の複数の論理ゲートであって、各論理ゲートが、対応する制御装置に接続された入力と、前記制御ラインに接続された出力と、選択信号を受信するための、前記マルチプレクサ制御装置に接続された選択端子とを有する、複数の論理ゲートと、
前記マルチプレクサ制御装置は、前記論理ゲートのうちの１つに対して前記選択信号のうちの１つをアサートし、該１つの論理ゲートをイネーブルすることにより、前記１つの論理ゲートに関連する１つの前記制御装置に対し、前記１つのプロセッサ・アクセス信号を前記１つの制御装置から前記制御ラインへ印加することによる前記プロセッサ素子の制御の獲得を許可するように構成されることと、
第２の制御ラインを有する第２のプロセッサ素子と、
第２の複数の論理ゲートと、
前記マルチプレクサ制御装置は、前記選択信号のうちの他の選択信号を前記１つの制御装置に関連する前記第２の複数の論理ゲートのうちの他の論理ゲートに供給することにより、前記１つの制御装置に対し、前記第２のプロセッサ素子の制御の獲得を許可するように構成されることと
からなる、グラフィックス・アクセラレータ。
【請求項２】
前記マルチプレクサ制御装置は、前記制御装置を選択的に始動させるための始動信号を生成し、前記制御装置を選択的に停止させるための停止信号を生成するように構成される、請求項１に記載のグラフィックス・アクセラレータ。
【請求項３】
前記マルチプレクサ制御装置は、他の全ての論理ゲートの選択された端子に対して前記選択信号をデアサートすることにより、前記他の全ての論理ゲートをディセーブルし、前記１つの制御装置が前記プロセッサ素子を制御している間、前記他の論理ゲートに関連する他の全ての制御装置に対し、前記プロセッサ素子のアクセスを禁止するように構成される、請求項１に記載のグラフィックス・アクセラレータ。
【請求項４】
前記第２の複数の論理ゲートの数は前記複数の制御装置の数と同じであり、前記第２の複数の論理ゲートの各論理ゲートは、対応する制御装置に接続された入力と、前記第２の制御ラインに接続された出力と、前記マルチプレクサ制御装置に接続された選択端子とを有する、請求項１に記載のグラフィックス・アクセラレータ。
【請求項５】
前記１つの制御装置は、前記１つの論理ゲート及び前記他の論理ゲートが、前記マルチプレクサ制御装置から前記１つの選択信号及び前記他の制御信号をそれぞれ受信したときに、前記プロセッサ素子と前記第２のプロセッサ素子の両方の制御を獲得するように構成される、請求項１に記載のグラフィックス・アクセラレータ。
【請求項６】
前記プロセッサ素子及び前記第２のプロセッサ素子は、マイクロプロセッサの一部を構成する、請求項１に記載のグラフィックス・アクセラレータ。
【請求項７】
マイクロプロセッサに対する制御ライン・アクセスを共有するための制御システムを有するグラフィックス・アクセラレータであって、
グラフィックス・データを処理するように構成された複数の制御装置と、
前記複数の制御装置と同数の複数の選択ラインを有し、前記制御装置の始動及び停止を制御するために、前記制御装置にそれぞれ接続された複数の始動／停止ラインを有する、マルチプレクサ制御装置と、
制御ラインを有するプロセッサ素子と、
前記複数の選択ラインを受け取り、該制御ラインにより、ある時点において前記制御装置のうちの１つだけに対し、前記プロセッサ素子の制御の獲得を選択的に許可する手段と、
第２のプロセッサ素子と、
前記選択的に許可する手段及び前記マルチプレクサ制御装置が、前記ある時点において前記１つの制御装置に対し、前記第２のプロセッサの制御の獲得を許可することからなり、
それによって、前記マルチプレクサ制御装置は、前記始動／停止ライン及び前記選択ラインを用いて、前記１つの制御装置の選択を制御するように構成される、グラフィックス・アクセラレータ。
【請求項８】
前記プロセッサ素子及び前記第２のプロセッサ素子は、マイクロプロセッサの一部を構成する、請求項７に記載のグラフィックス・アクセラレータ。
【請求項９】
前記選択的に許可する手段は、前記複数の制御装置と同数の複数の論理ゲートを含み、該論理ゲートのそれぞれが、対応する制御装置に接続された入力と、前記制御ラインに接続された出力と、前記マルチプレクサ制御装置の対応する選択ラインに接続された選択端子とを有する、請求項７に記載のグラフィックス・アクセラレータ。
【請求項１０】
特定の論理ゲートだけが前記１つの制御装置に関連し、前記特定の論理ゲートだけが、その入力と前記制御ラインとの間に閉回路を形成する、請求項９に記載のグラフィックス・アクセラレータ。
【請求項１１】
前記特定の論理ゲート以外の論理ゲートは全て、前記選択信号を受信せず、その入力と前記制御ラインとの間に開回路を形成する、請求項１０に記載のグラフィックス・アクセラレータ。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、マルチプレクサ・システムに関するものであり、とりわけ、マイクロプロセッサに対する制御ライン・アクセスを共用する制御装置のための最小論理マルチプレクサ・システムに関するものである。
【０００２】
【従来の技術】
マイクロプロセッサ内におけるプロセッサ素子に対する制御ライン・アクセスを共用する制御装置のための効率的な最小論理マルチプレクサ・システムを実現することが、３次元イメージング装置における高性能グラフィックス・アクセラレータ回路の分野における問題である。回路の実施規模が増し続け、根底をなすチップ設計が縮小し続けるにつれて、グラフィックス・アクセラレータ回路において利用可能な回路スペースがしだいに制限されるために、効率のよい最小論理マルチプレクサ・システムの実現が必要になる。
【０００３】
マイクロプロセッサ・ベースのアーキテクチャにおいては、これらに制限されるわけではないが、演算／論理装置（ＡＬＵ）、レジスタ、乗算器、除算器、及び、ランダム・アクセス・メモリ（ＲＡＭ）作業領域を含む１組の汎用プロセッサ素子がマイクロプロセッサ自体に納められているのが普通である。プロセッサ素子は、一般に、複数の特殊制御装置によって共用される。各制御装置は、個々のプロセッサ素子の処理活動を指示して、特定の計算タスクを実施させることができる。各制御ラインに対するプロセッサ素子のアクセスを可能にするため、プロセッサ素子と各制御装置の間において、十分な制御ライン接続性及びアクセス制御が確立されなければならない。
【０００４】
制御ラインの接続性が得られるようにする解決策の１つは、プロセッサ素子と各制御装置の間で専用の制御ラインを利用することである。専用の制御ラインによる解決策は、少数の制御装置及び制御ラインの場合にはなんとかできるが、制御装置及び制御ラインの数が増すにつれて、この解決策はすぐに手に負えなくなる。さらに、各制御ラインをそのそれぞれのプロセッサ素子及び制御装置に物理的に接続するのに必要なスペースは、この解決策の場合にも制限要素になる可能性がある。こうした理由から、専用の制御ラインによる解決策は、回路スペースに制限のある環境では望ましくない。
【０００５】
制御ラインの接続性が得られるようにするためのもう１つの解決策は、各制御装置とプロセッサ素子の間の制御ラインを多重化することである。マルチプレクサの使用可能化リードを利用して、適切な時間に、プロセッサ素子に対するどの制御装置のアクセスを許可するかが制御される。しかし、マルチプレクサ・アクセスに関する重要な問題は、従来のマルチプレクサの実施によって必要とされるゲート・レベル数である。特に、従来のマルチプレクサの実施に用いられる論理は、主としてＮＡＮＤゲート階層構造で、多重化される各追加制御ライン毎に、ゲート・レベル深度が急速に増す。制御ライン毎に必要とされるゲート数に影響する要素には、各ゲートのための使用可能化リードが、ゲートを使用可能にするものとしての働きだけではなく、ゲート論理に対する入力としても含まれているという点がある。さらに、ゲート数及びゲート・レベルは、ゲート遅延による重大なタイミング問題にも影響する。潜在的に、数百もの制御ラインが、各制御装置と各プロセッサ素子との間の多重化を必要とする可能性があるので、従来のマルチプレクサ・アクセスでは、回路スペースの制限された環境にとっては多すぎるし、遅すぎる。
【０００６】
従って、既存の制御ラインの接続性及びマルチプレクサの設計による解決策では、回路スペースに制限のある環境で必要とされる最小論理及び最小回路要素によって各プロセッサ素子を各制御装置に接続することはできない。制御ラインを共用するための最小論理回路を実現するという現存する要求は、これまで満たされていない。
【０００７】
【発明が解決しようとする課題】
本発明はの課題は、多数の制御ラインが、各制御装置と各プロセッサ素子との間の多重化を必要とする場合でも、制限された回路スペースで高速なマルチプレクサ・システムの提供にある。
【０００８】
【課題を解決するための手段】
上述の課題は、本発明の最小論理マルチプレクサ・システムによって解決され、該分野における技術的進歩が達成されることになる。本発明では、ワン・ショット使用可能化リードを備えたトライステート・ドライバを利用して、最小限の回路を実施し、ゲート遅延を最小限に抑え、符号化制御信号をそれぞれの制御線によってプロセッサ素子に送ることができるようなやり方で、各プロセッサ素子と各制御装置が完全に接続されるようにする。
【０００９】
トライステート・マルチプレクサは、制御ライン当たりのトライステート・ドライバ（ゲート）を１つだけしか必要としないことで、最小限の回路が実現する。この結果、ゲート遅延が最小でフラットな非階層構造をなすゲートが実現する。トライステート・マルチプレクサにおける各ゲートは、マルチプレクサ制御装置によって制御される選択リードを介して使用可能及び使用禁止になるＮＯＴゲートである。選択リードは、ゲートに対する論理入力として利用されるのではない。トライステート・マルチプレクサにおける単一ゲートに関する真理値表は、ゲートが使用可能の場合、通常のＮＯＴゲートの真理値表である。ゲートの論理入力に関係なく、ゲートが使用禁止の場合にはいつでも高インピーダンス出力が生じる。そのインピーダンス・レベルは、使用可能になったゲートが、競合することなく、付随する制御ラインを駆動できるようにする、開回路の様相を呈するのに十分なものでなければならない。マルチプレクサ制御装置は、処理されるグラフィック・プリミティブのタイプに基づいて、どの制御装置を活動状態にし、どの制御装置ゲート・グループを使用可能にするかを制御する。
【００１０】
トライステート・マルチプレクサは、単に信号を多重化する以上のことを行うという点に留意されたい。トライステート・マルチプレクサによれば、ある単一制御装置に関するアクセスによって、全てのプロセッサ素子に関する全ての制御ラインの制御が可能になり、この結果、その制御装置のアクセスの制御が無効になるまで、他の制御装置はプロセッサ素子にアクセスできなくなる。プロセッサ素子に対するアクセスを待つ制御装置は、その間に、プロセッサ素子を必要としない他の処理タスクを自由に実施することができる。
【００１１】
第１のトライステート・マルチプレクサ実施例の場合、他に「制御装置ゲート・グループ」としても知られる、任意の制御装置の１つと関連したゲート・グループが、制御装置とプロセッサ素子の間の中間マルチプレクサ回路に配置される。共通の選択リードが、任意の１つの制御装置ゲート・グループにおける全てのゲートによって並列に共用される。
【００１２】
もう１つのトライステート・マルチプレクサ実施例の場合、各制御装置ゲート・グループは、そのそれぞれの制御装置内に配置されるので、従って、中間マルチプレクサ回路に対する制御ラインの経路選択が不要になる。マルチプレクサ制御装置は、前述のように、やはり各制御装置ゲート・グループを使用可能にする。
【００１３】
上述の実施例のいずれにおいても、マルチプレクサは、個々のプロセッサ素子に対する制御装置のアクセス、または、全てのプロセッサ素子に対する制御装置の同時アクセスを許可することが可能で、それは設計上の選択の問題である。本発明における望ましい実施例によれば、１度に１つの制御装置による全てのプロセッサ素子に対するアクセスが可能になる。
【００１４】
【実施例】
グラフィックス・アクセラレータ・アーキテクチャ（図１）
図１には、３次元イメージング装置において用いられるグラフィックス・アクセラレータ・アーキテクチャ１００が示されている。アーキテクチャ１００は、例示だけを目的とした例であって、本発明を制限するものではない。
【００１５】
従来のグラフィックス・アクセラレータは、ソフトウェア及び／または汎用マイクロ・コード化プロセッサとして実施される浮動小数点集約アーキテクチャである。アーキテクチャ１００と従来のグラフィックス・アクセラレータ・アーキテクチャの基本的相違は、アーキテクチャ１００には、ハード配線制御機能、動的論理浮動小数点メガ・セル、及び、カスタム度の高い固定制御ラインが含まれるという点である。すなわち、本アーキテクチャは、制御装置の制御下にあるベクトル処理環境において、ランダムな配向を施された多角形及び／またはベクトルに関して、幾何マトリックス変換、多角形分解、オブジェクトのライティング／シェーディング、クリッピング、遠近関係の調整、及び、平面／勾配均一化計算を実施するように設計されている。本アーキテクチャ１００によって処理される一般的な多角形は、３辺または４辺を有する多角形である。
【００１６】
アーキテクチャ１００は、全ての３次元プリミティブを処理するようには設計されていない。その代わり、該アーキテクチャは、３次元システム内における下流ハードウェアによる後続処理を容易にするため、最も一般的に処理される特徴を備えた最も一般的なプリミティブだけを迅速かつ効率よく分解して、処理することによって、より大きい総合的な３次元イメージ処理方式の支援を行う。制御装置の制御を受ける２マイクロプロセッサ・アーキテクチャ１００を用いて最も一般的なプリミティブだけをベクトル処理することによって、より小さく、より効率のよい高性能３次元イメージング・システムが実現する。しかし、本発明の最小論理マルチプレクサ・システムの必要を喚起したのは、最小の回路スペースで、最高の性能を要求する制御装置支援ベクトル処理環境である。
【００１７】
アーキテクチャ１００は、第１のマイクロプロセッサ１１０と第２のマイクロプロセッサ１２５を備えた２プロセッサ・ベクトル処理設計である。操作上、第１のマイクロプロセッサ１１０は、従来のＦＩＦＯ１０２を介して入力される頂点プリミティブに前処理を施す。デュアルＲＡＭバッファ１０５及び１０７によって、マイクロプロセッサがプリミティブにアクセスを行うステージング領域が得られる。マイクロプロセッサ１１０は、それに限定されるわけではないが、幾何変換、部分勾配計算、及び、他の予備計算を含む、入力プリミティブに対する浮動小数点演算を実施してから、メモリ１１２及び１１５を介して、その結果をマイクロプロセッサ１２５に送る。マイクロプロセッサ１１０には、それに限定されるわけではないが、レジスタ、ＲＡＭメモリ、ＡＬＵ、乗算器、及び、除算器等の複数のプロセッサ素子が含まれている。
【００１８】
トライステート・マルチプレクサ（MUX）１３０は、制御装置１３５を介してマイクロプロセッサ１１０内のプロセッサ素子１１１に対するアクセスを制御する。プロセッサ素子１１１は、それに限定されるわけではないが、アドレス復号化、変換、分解、及び、ライティング援助を含む制御装置１３５からの処理命令を受ける、マイクロプロセッサ１１０を通る処理流れの一部としてデータ処理を行う。
【００１９】
メモリ素子１１２及び１１５は、それぞれ、ハイブリッドＦＩＦＯ／ＲＡＭメモリ方式を実施するメモリ・コントローラ１１３及び１１６によって制御される。実施されるプリミティブ・タイプ及び操作に従って、メモリ１１２及び１１５は修正ＦＩＦＯまたはＲＡＭ構成で利用される。
【００２０】
メモリ素子１１２及び１１５から出力されるプリミティブは、クリッピングＲＡＭステージング装置１１８から出力されるライト位置、輝度、カラー、及び、方向と統合される。組み合わせられたデータは、マイクロプロセッサ１２５による処理に備えて、入力ラッチ待ち行列１２１に送り込まれる。マイクロプロセッサ１２５は、それに限定されるわけではないが、レジスタ、ＲＡＭメモリ、ＡＬＵ、乗算器、及び、除算器等のそれ自体のプロセッサ素子１２６を含んでいる。トライステート・マルチプレクサ１４０は、マイクロプロセッサ１２５内のプロセッサ素子１２６に対するアクセスを制御する。プロセッサ素子１２６は、それに限定されるわけではないが、ライティング、クリッピング、及び、平面方程式処理支援を含む制御装置１４５による処理命令を受ける、マイクロプロセッサ１２５を通る処理流れの一部としてデータ処理を行う。マイクロプロセッサ１２５からの処理出力は、本開示の範囲外の下流ハードウェアによる後続の処理に備えて、従来のＦＩＦＯ待ち行列１２７で出力される。
【００２１】
従来のマルチプレクサ・ゲート実施例（図２及び図３）
図２には、当該技術において周知の従来のＮＡＮＤゲート・マルチプレクサ実施例２００が示されている。マルチプレクサ実施例２００によれば、単一制御ライン２０５で２つの制御装置２１０及び２１１のどちらか任意の１つにアクセスすることが可能になる。制御ライン２０５は、マイクロプロセッサ２２４内にあるいくつかのプロセッサ素子２２５の中からプロセッサ素子２２２に接続される。従来のＮＡＮＤゲート・マルチプレクサ実施例２００には、第１レベル・ゲート２３０及び２３１と第２レベル・ゲート２４０等の階層ゲート実施例が含まれている。ゲート２３０及び２３１は、それぞれが、それぞれ、制御装置２１０及び２１１からの制御装置入力２５０及び２５１を含む２つの入力と、両方とも、マルチプレクサ制御装置２７０からの選択リード２６０及び２６１を備えている。第１レベル・ゲート２３０及び２３１は、それぞれ、選択リード２６０及び２６１をゲート入力として受け入れ、第２レベル・ゲート２４０は、ゲート２３０及び２３１から単一制御ライン２０５への出力を減少させることが必要とされる。第２レベル・ゲート２４０は、ゲート遅延を付加することによって回路効率を低下させるだけでなく、マルチプレクサの実施に必要な回路要素の量を増加させる。
【００２２】
図３には、単に４つの制御装置３１０〜３１３の任意の１つに対する単一制御ライン３０５のアクセス可能性を拡大するだけのことによって生じる、ＮＡＮＤゲート・マルチプレクサ実施例２００に対する論理ゲートの影響が示されている。制御ライン３０５は、マイクロプロセッサ３２４内にいくつかあるプロセッサ素子３２５の中から単一プロセッサ素子３２２に接続されている。４つの制御装置ＮＡＮＤゲート・マルチプレクサ実施例３００には、第１レベル・ゲート３３０〜３３３、第２レベル・ゲート３３４〜３３５、第２レベル・ゲート３３４〜３３５からの出力を識別するＮＯＲゲート３３６、及び、最後に、ＮＯＲゲート３３６の出力をプロセッサ素子３２２に理解可能なものに変更するＮＯＴゲート３３７から成る、さらに複雑な階層ゲート実施例が含まれている。図３に関して、第１レベル・ゲート３３０〜３３３のそれぞれには、それぞれ、制御装置３１０〜３１３からの制御装置入力３５０〜３５３を含む２つの入力と、それぞれ、マルチプレクサ制御装置３７０からの選択リード３６０〜３６３が備わっている。第１レベル・ゲート３３０〜３３３は、選択リード３６０〜３６３をゲート入力として受け入れるので、第２レベル及びその後続レベルのゲート３３４〜３３７は、最終的に単一制御ライン２０５に接続することが必要になる。８つのゲート３３０〜３３７を備えることに伴う本ゲート論理の複雑さが、４つの制御装置３１０〜３１３の間で１つの制御ラインを共用することである場合、多数の制御装置間で数百の制御ラインを共用する試みは、回路スペースに制限があり、複数レベルのゲート遅延を許容しない高速処理を必要とする環境では手に負えない。
【００２３】
トライステート・マルチプレクサ・システム・ゲート実施例（図４及び図５）
図４には、望ましいトライステート・マルチプレクサ・ゲート実施例４００が示されている。ゲート実施例４００は、単一制御ライン４０５によって、２つの制御装置４１０及び４１１のいずれか任意の１つに対するアクセスを可能にするという点で、ゲート実施例２００と同等である。制御ライン４０５は、マイクロプロセッサ１１０内のいくつかあるプロセッサ素子の中からプロセッサ素子の１つ４２２に接続されている。マイクロプロセッサ１１０は、例示だけを目的として、本例に用いるために選択された。本発明は、マイクロプロセッサ１２５及び付随する制御装置１４５にも等しく適用可能である。
【００２４】
トライステート・マルチプレクサ・ゲート実施例４００には、ＮＯＴゲート４３０及び４３１から成るフラットな非階層ゲート実施例が含まれている。階層ゲート・レベルは必要ではない。ゲート４３０及び４３１のそれぞれは、それぞれ、制御装置４１０及び４１１からの１つの論理入力４５０及び４５１を備えている。選択リード４６０及び４６１は、マルチプレクサ制御装置４７０の制御を受け、各ゲート４３０及び４３１を使用可能または使用禁止にする働きだけしかしない。選択リード４６０及び４６１は、ゲート４３０及び４３１のいずれかに対する論理入力として結合されるのではなく、ゲート４３０及び４３１を使用可能または使用禁止にする働きだけしかしないので、ゲート４３０と４３１のいずれかが使用可能になると、制御ライン４０５を介してプロセッサ素子４２２に制御情報を送ることが可能になる。使用可能になったゲートの真理値表は、通常のＮＯＴゲートの真理値表である。使用禁止になったゲートは、ゲートの論理入力に関係なく、高インピーダンス出力を送り出す。出力されるインピーダンス・レベルは、使用可能になったゲートが、競合することなく、付随する制御ラインを駆動できるようにする、開回路の様相を呈するのに十分なものでなければならない。マイクロプロセッサ１１０のプロセッサ素子１１１は、それぞれ、数十の制御ラインを必要とする可能性があり、各制御装置４１０〜４１１は、１度に各プロセッサ素子１１１の全制御ラインに対するアクセスを必要とするので、既に明らかなように、ゲート実施例４００は、回路実施サイズが最小限に抑えられ、ゲート遅延が最小限に抑えられているので、先行技術のゲート実施例２００よりも優れている。
【００２５】
マルチプレクサ制御装置４７０は、それぞれの制御装置４１０〜４１１のための始動及び停止制御リード対４８０〜４８１の制御も行う。制御リード対４８０及び４８１は、協調してプリミティブに処理を加えようとする際に、どんなタスクをいつ開始するかを各制御装置４１０〜４１１に伝える。制御装置は、プロセッサ素子１１１を必要としない独立したタスクを実施することができるので、マルチプレクサ制御装置４７０による全ての始動命令に、同じ制御装置４１０または４１１に関して使用可能になった選択リード４６０または４６１が随伴するわけではない。
【００２６】
図５には、望ましいトライステート・マルチプレクサ・ゲート実施例４００の拡張バージョンであるトライステート・マルチプレクサ・ゲート実施例５００が示されている。トライステート・マルチプレクサ・ゲート実施例５００は、単一の制御ライン４０５で４つの制御装置４１０〜４１３に対するアクセスを可能にするので、やはり、ゲート実施例３００と同等である。この場合、制御ライン４０５は、マイクロプロセッサ１１０内にあるいくつかのプロセッサ素子１１１の中からプロセッサ素子４２２に接続されている。各制御装置４１０〜４１３は、各ゲート４３０〜４３３毎に、単一制御装置入力４５０〜４５３及び選択リード４６０〜４６３を備えている。
【００２７】
１つの制御ライン４０５に関して、各制御装置４１０〜４１３毎に１つのマルチプレクサ・ゲート４３０〜４３３が存在するという点に留意することが重要である。この制御ラインとマルチプレクサ・ゲートの１対１の関係は、トライステート・マルチプレクサ・ゲート実施例５００に存在するそれぞれの個別制御ラインに一貫している。制御装置に関連したゲートを２つ以上備える実施例の場合、単一選択リード４６０は、制御装置ゲート・グループにおける各ゲートと並列に接続するので、適切な瞬間に制御装置４１０に関する全てのゲートを同時に使用可能にすることができるという点を認識することも重要である。マルチプレクサ制御装置４７０は、前述のように、各制御装置４１０〜４１４毎に、始動及び停止制御リード対４８０〜４８４以外に、選択リード４６０〜４６３の制御も行う。
【００２８】
図６には、トライステート・マルチプレクサ実施例６００のブロック図が示されている。トライステート・マルチプレクサ１３０には、制御装置ゲート・グループ４３０〜４３４内の個別マルチプレクサＮＯＴゲート（不図示）が含まれている。トライステート・マルチプレクサ１３０は、制御装置１３５とプロセッサ素子１１１の中間位置に配置されており、制御装置４１０〜４１４からの入力制御ライン４５０〜４５４、及び、プロセッサ素子４２０〜４２４への多重化出力制御ライン４４０〜４４４に接続されている。
【００２９】
各個別プロセッサ素子４２０〜４２４は、設計によって異なる数の制御ライン４４０〜４４４を必要とする。まとめると合計「ｗ」本になる制御ラインに関して、それぞれ、プロセッサ素子４２０は、「ａ」本の制御ライン４４０を必要とし、プロセッサ素子４２１は、「ｂ」本の制御ライン４４１を必要とし、プロセッサ素子４２２は、「ｃ」本の制御ライン４４２を必要とし、プロセッサ素子４２３は、「ｄ」本の制御ライン４４３を必要とし、プロセッサ素子４２４は、「ｅ」本の制御ライン４４４を必要とする。このため、全てのプロセッサ素子４２０〜４２４に対して同時に排他的アクセスを行うためには、「ｎ」個の個別制御装置４１０〜４１４は、それぞれ、各制御装置４１０〜４１４毎にそれぞれの組４５０〜４５４をなす「ｗ」本の制御ラインが取り付けられていなければならない。このことは、トライステート・マルチプレクサ１３０には、それぞれ、「ｎ」の制御ゲート・グループ４３０〜４３４において機能するｎ*ｗのゲートが含まれているということを表している。各選択リード４６０〜４６４によって、任意の１つの制御装置ゲート・グループ４３０〜４３４に関して並列をなす全てのゲートが使用可能及び使用禁止になる。
【００３０】
選択リード４６０〜４６４が、マルチプレクサ制御装置４７０によって制御される。マルチプレクサ制御装置４７０は、前述のように、各制御装置４１０〜４１４毎に始動及び停止制御リード対４８０〜４８４の制御も行う。その結果は、各制御装置４１０〜４１４毎に、全てのプロセッサ素子４２０〜４２４に排他的アクセスを同時に行うために利用され、また、プロセッサ素子４２０〜４２４の任意の１つに処理命令を送って、処理の指示を行うために利用される、それ自体の完全な組をなす「ｗ」本の制御ライン４５０〜４５４を備えるということになる。
【００３１】
例えば、各プロセッサ素子４２０〜４２４が、それぞれ、制御ライン４４０〜４４４のために３０、２０、４０、３０、及び、２０といった数の制御ラインを必要とする場合、各個別制御装置４１０〜４１４は、各組をなす制御ライン４５０〜４５４毎に１４０の制御ラインを必要とする。このことは、また、例えば、５つの制御装置のためだけに完全な接続性を支援するためには、トライステート・マルチプレクサ１３０は、７００のゲートを介して７００の制御ラインの多重化を行わなければならないということを表している。ゲート遅延レベルが１つだけしかない本発明によって得られるのと同じ完全な接続性を付与するのに、従来のＮＡＮＤゲート・マルチプレクサ実施例２００または３００では、１４００を優に超えるマルチプレクサ・ゲートが必要で、少なくとも４レベルのゲート遅延が生じることになる。
【００３２】
各制御装置内のトライステート・マルチプレクサ実施例（図７）
図７には、制御装置１３５とプロセッサ素子１１１との中間位置にトライステート・マルチプレクサ１３０が配置されない、トライステート・マルチプレクサ実施例７００が示されている。代わりに、各制御装置ゲート・グループ４３０〜４３４は、それぞれの制御装置４１０〜４１４に並置されるか、できれば、その内部に配置される。マルチプレクサ制御装置４７０は、前述のように、グループ全体を同時に使用可能にする選択リード４６０〜４６４を、各制御装置ゲート・グループ４３０〜４３４毎にそれぞれ設けている。マルチプレクサ制御装置４７０は、前述のように、各制御装置４１０〜４１４毎に、始動及び停止制御リード対４８０〜４８４の制御も行う。
【００３３】
各制御装置ゲート・グループ４３０〜４３４からの出力には、やはり、制御ライン幅が「ｗ」の制御ライン・バス４５５を結合する組をなす「ｗ」本の制御ライン４５０〜４５４が含まれている。制御ライン・バス４５５内の各制御ラインは、制御ライン４４０〜４４４のように、最終的には、マイクロプロセッサ１１０のそれぞれのプロセッサ素子４２０〜４２４に対して分割される。各制御装置４１０〜４１４毎にマルチプレクサ論理回路４３０〜４３４を実施することによって、制御ラインの経路選択がさらに減少し、従って、既に回路スペースに制限のある環境において回路スペース要件が緩和されることになる。
【００３４】
操作の総括（図８〜図９）
図８〜図９には、図６及び７に示すトライステート・マルチプレクサ・システム６００または７００が実施する操作ステップの総括が示されている。操作ステップは、図６または図７に開示のトライステート・マルチプレクサ・システム実施例のいずれについても明白である。操作ステップのための制御論理回路が、マルチプレクサ制御装置４７０内に配置され、その制御を受ける。説明のため、制御装置の機能には、それぞれ、制御装置４１０〜４１４のための変換、分解、ライティング、クリッピング、及び、平面方程式が含まれることになるという点を理解されたい。トライステート・マルチプレクサ・システム６００または７００が、個々の制御装置４１０〜４１４間で複数プリミティブに同時に処理を加えるように設計されていることを認識するのが重要である。しかし、以下では、単一プリミティブに生じる処理ステップに焦点を合わせて簡単に説明することにする。
【００３５】
処理はステップ８０５から開始され、グラフィックス・アクセラレータ・アーキテクチャ１００の必要とする初期化及びセット・アップが行われる。ステップ８１０において、マイクロプロセッサ１１０による処理のためにプリミティブが入手可能になると、マルチプレクサ制御装置４７０は、各制御装置４１０〜４１４を順に始動及び停止させ、必要に応じて、後述のように、各制御装置ゲート・グループ４３０〜４３４を使用可能または使用禁止にすることによって、プリミティブに関する処理活動全体を指示する。ステップ８１０において処理のためのプリミティブが得られない場合、トライステート・マルチプレクサ・システム６００または７００は、処理のためプリミティブの到着を待つ。
【００３６】
処理のためにプリミティブが入手可能になると、ステップ８１５において、変換制御装置４１０が始動し、プリミティブから個々の処理タスクへの変換を開始する。オプションにより、ステップ８２０において、プロセッサ素子１１１による処理が必要になる場合には、ステップ８１８において、変換制御装置４１０のための制御装置ゲート・グループ４３０が使用可能になる。ステップ８２０において、プロセッサ素子１１１による処理が完了すると、ステップ８２１において、制御装置ゲート・グループ４３０が使用禁止になる。オプションの使用可能／使用禁止ステップ８１８〜８２１を実施するかどうかにかかわらず、ステップ８２３において、変換制御装置８１０は停止する。
【００３７】
ステップ８２９において、分解制御装置４１１が始動する。オプションにより、プロセッサ素子１１１による処理が必要な場合には、ステップ８３２において、制御装置ゲート・グループ４３１が使用可能になる。ステップ８３４において、分解制御装置４１１の制御下で、プロセッサ素子１１１によって、プリミティブが三角形に分解され、プリミティブに対する再計算が実施される。ステップ８３４におけるプロセッサ素子１１１による処理が完了すると、ステップ８３５において、制御装置ゲート・グループ４３１が使用禁止になる。オプションによる使用可能／使用禁止ステップ８３２〜８４０が実施されるかどうかにかかわらず、分解制御装置４１１は、ステップ８４３において停止する。
【００３８】
判定ブロック８５０において、プリミティブにライティングが必要ということになれば、ステップ８５２から処理が続行され、ライティング制御装置４１２が始動する。オプションにより、プロセッサ素子１１１による処理が必要とされる場合には、ステップ８５４において、制御装置ゲート・グループ４３２が使用可能になり、ステップ８５６において、ライティング制御装置４１２の制御下で、必要なライティング計算がプロセッサ素子１１１によって進められる。ステップ８５６におけるプロセッサ素子１１１による処理が完了すると、ステップ８５８において、制御装置ゲート・グループ４３２が使用禁止になる。オプションによる使用可能／使用禁止ステップ８５４〜８５８が実施されるかどうかにかかわらず、ライティング制御装置４１２は、ステップ８６０において停止する。
【００３９】
ライン８９０に沿ってそのまま図９まで進み、判定ブロック８６２において、処理を受けるプリミティブにクリッピングが必要ということになると、ステップ８６４から処理が続行され、クリッピング制御装置４１３が始動する。オプションにより、プロセッサ素子１１１による処理が必要とされる場合には、ステップ８６６において、制御装置ゲート・グループ４３３が使用可能になり、ステップ８６８において、クリッピング制御装置４１３の制御下で、プロセッサ素子１１１によって、必要なクリッピング計算が進められる。ステップ８６８におけるプロセッサ素子１１１による処理が完了すると、ステップ８７０において、制御装置ゲート・グループ４３３が使用禁止になる。オプションによる使用可能／使用禁止ステップ８６６〜８７０が実施されるかどうかにかかわらず、クリッピング制御装置４１３は、ステップ８７２において停止する。
【００４０】
ステップ８７５において平面方程式制御装置４１４が始動する。オプションにより、プロセッサ素子１１１による処理が必要とされる場合には、ステップ８７７において、制御装置ゲート・グループ４３４が使用可能になり、ステップ８７９において、平面方程式制御装置４１４の制御下で、プロセッサ素子１１１によって、必要な平面方程式計算が進められる。ステップ８７９におけるプロセッサ素子１１１による処理が完了すると、ステップ８８２において、制御装置ゲート・グループ４３４が使用禁止になる。オプションによる使用可能／使用禁止ステップ８７７〜８８２が実施されるかどうかにかかわらず、クリッピング制御装置４１４は、ステップ８８４において停止する。処理すべきプリミティブが得られる限り、該処理はライン９９１に沿って図８の判定ブロック８１０まで続行される。
【００４１】
以上詳説したが、発明の理解を容易にするため、本発明の実施態様のいくつかを以下に記載する。
【００４２】
（実施態様１）
複数の制御装置（１３５）、複数のプロセッサ素子（１１１）、及び、その間の複数の制御ライン（４５５）を備えた電子装置（１００）における最小論理マルチプレクサ・システム（６００）において、
非階層的に実施され、それぞれ、１対１で前記複数の制御装置（１３５）のそれぞれに対応する複数の制御装置ゲート・グループ（４３０〜４３４）に分割される複数のゲート（５００）を介して、前記複数の制御装置（１３５）によって前記複数のプロセッサ素子（１１１）に対するアクセスを制御するための手段（１３０）と、
前記複数の制御装置ゲート・グループ（４３０〜４３４）の１つを使用可能にするための手段（４７０）と、
前記複数の制御装置ゲート・グループ（４３０〜４３４）の１つを使用禁止にするための手段（４７０）とを備えた、最小論理マルチプレクサ・システム。
【００４３】
（実施態様２）
前記複数の制御装置ゲート・グループ（４３０〜４３４）のうち使用可能になったグループの各ゲート（５００）が論理出力を送り出すことと、
前記複数の制御装置ゲート・グループ（４３０〜４３４）のうち使用禁止になったグループの各ゲート（５００）が高インピーダンス出力を送り出すことを特徴とする、
実施態様１に記載の最小論理マルチプレクサ・システム（６００）。
（実施態様３）
前記複数の制御装置（１３５）の任意の１つを始動させるための手段（４７０）と、
前記複数の制御装置（１３５）の任意の１つを停止させるための手段（４７０）を特徴とする、
実施態様１に記載の最小論理マルチプレクサ・システム（６００）。
【００４４】
（実施態様４）
前記複数の制御装置ゲート・グループ（４３０〜４３４）の少なくとも１つが、前記複数のプロセッサ素子（１１１）と前記複数の制御装置（１３５）の間に配置されていることを特徴とする、実施態様１に記載の最小論理マルチプレクサ・システム（６００）。
（実施態様５）
前記複数の制御装置ゲート・グループ（４３０〜４３４）の少なくとも１つが、該グループから選択される、並置されたもの、及び、内部に位置するものから構成される前記複数の制御装置（１３５）の対応する１つに対して配置されていることを特徴とする、実施態様１に記載の最小論理マルチプレクサ・システム（６００）。
（実施態様６）
前記複数のゲート（５００）のそれぞれに、１つの論理入力リード（４５０）、１つの論理出力リード（４０５）、及び、１つの選択リード（４６０）だけしか含まれていないことを特徴とする、実施態様１に記載の最小論理マルチプレクサ・システム。
【００４５】
（実施態様７）
複数の制御装置（１３５）、複数のプロセッサ素子（１１１）、及び、その間の複数の制御ライン（４５５）を備えた電子装置（１００）における最小論理マルチプレクサ・システム（６００）を利用するための方法（８００）において、非階層的に実施され、１対１で前記複数の制御装置（１３５）に対応する複数の制御装置ゲート・グループ（４３０〜４３４）に分割される複数のゲート（５００）を介して、前記複数の制御装置（１３５）によって前記複数のプロセッサ素子（１１１）に対するアクセスを制御するステップと、
前記複数の制御装置ゲート・グループ（４３０〜４３４）の１つを使用可能にして、前記複数のゲート（５００）のそれぞれから論理出力が送り出されるようにするステップと、
前記複数の制御装置ゲート・グループ（４３０〜４３４）の１つを使用禁止にすることによって、前記複数のゲート（５００）のそれぞれから高インピーダンス出力が送り出されるようにするステップとを含む、
方法。
【００４６】
（実施態様８）
前記複数の制御装置（１３５）のそれぞれを始動させるステップ（４７０）と、
前記複数の制御装置（１３５）のそれぞれを停止させるステップ（４７０）を特徴とする、
実施態様７に記載の方法（８００）。
（実施態様９）
複数のゲート（５００）と、
前記複数のゲート（５００）の選択されたゲートから複数の論理出力を送り出すための手段（４７０）と、
前記複数のゲート（５００）の選択されたゲートから複数の非論理出力を送り出すための手段（４７０）と、前記複数の非論理出力が、前記マルチプレクサ（１３０）の外部から観察すると、開回路に見えることを特徴とする、
電子装置（１００）内のマルチプレクサ（１３０）。
【００４７】
（実施態様１０）
複数の制御ライン（４５５）を共用するためのマルチプレクサ・システム（７００）において、
非階層的に実施され、前記複数の制御ライン（４５５）の対応する１つに沿って任意の位置に独立して配置することが可能であり、それぞれ、１つの論理入力（４５０）と、１つの論理出力（４０５）と、１つの選択リード（４６０）だけしか備えていない、前記複数の制御ライン（４５５）と１対１に対応する複数のゲート（４３０〜４３４）と、
前記１つの選択リード（４６０〜４６４）によって前記複数のゲート（４３０〜４３４）の少なくとも１つを使用可能にし、論理出力が送り出されるようにするための手段（４７０）と、前記１つの選択リード（４６０〜４６４）によって前記複数のゲート（４３０〜４３４）の少なくとも１つを使用禁止にするための手段（４７０）とを備えた、マルチプレクサ・システム。
【００４８】
【発明の効果】
本発明の効果は回路スペースに制限のある電子装置に適応する、ゲート遅延が最小限の非階層回路実施例で示される。マルチプレクサ・システムをプロセッサ素子と制御装置の間に配置するか、あるいは、それぞれの制御装置に並置するか、その内部に配置することによって、回路実施例の最小化をさらに押し進めることが可能になる。マルチプレクサ・システムは、選択リード入力をマルチプレクサ・ゲートに対する論理入力として利用せずに、処理制御情報を個々のプロセッサ素子に送る。本書では本発明の特定の実施例について開示されているが、当該技術の熟練者であれば、付属の実施態様の範囲内に含まれる本発明の代替実施例を設計することが可能であり、また、設計しようとすることが期待される。
【図面の簡単な説明】
【図１】トライステート・マルチプレクサ・システムを含むグラフィックス・アクセラレータ・アーキテクチャを示すブロック図である。
【図２】２つの制御装置に関する先行技術によるマルチプレクサ・ゲート実施例を示すブロック図である。
【図３】４つの制御装置に関する先行技術によるマルチプレクサ・ゲート実施例を示すブロック図である。
【図４】２つの制御装置に関する本発明のトライステート・マルチプレクサ・ゲート実施例を示すブロック図である。
【図５】４つの制御装置に関する本発明のトライステート・マルチプレクサ・ゲート実施例を示すブロック図である。
【図６】中間トライステート・マルチプレクサ実施例を示すブロック図である。
【図７】制御装置をベースにしたトライステート・マルチプレクサ実施例を示すブロック図である。
【図８】トライステート・マルチプレクサ・システムの操作ステップを示す流れ図である。
【図９】トライステート・マルチプレクサ・システムの操作ステップを示す流れ図である。
【符号の説明】
１００  グラフィックス・アクセラレータ・アーキテクチャ
１０２  ＦＩＦＯ
１０５  ＲＡＭバッファ
１０７  ＲＡＭバッファ
１１０  第１のマイクロプロセッサ
１１１  プロセッサ素子
１１２  メモリ
１１５  メモリ
１１８  クリッピングＲＡＭステージング装        置
１２１  入力ラッチ待ち行列
１２５  第２のマイクロプロセッサ
１２６  プロセッサ素子
１３０  トライステート・マルチプレクサ
１３５  制御装置
１４０  トライステート・マルチプレクサ
１４５  制御装置
２００  ＮＡＮＤゲート・マルチプレクサ
２０５  単一制御ライン
２１０  制御装置
２１１  制御装置
２２２  プロセッサ素子
２２４  マイクロプロセッサ
２２５  プロセッサ素子
２３０  第１レベル・ゲート
２３１  第１レベル・ゲート
２４０  第２レベル・ゲート
２６０  選択リード
２６１  選択リード
３００  制御装置ＮＡＮＤゲート・マルチプ        レクサ
３０５  単一制御ライン
３２２  単一プロセッサ素子
３２４  マイクロプロセッサ
３２５  プロセッサ素子
３３０  第１レベルゲート
３３１  第１レベルゲート
３３２  第１レベルゲート
３３３  第１レベルゲート
３３４  第２レベルゲート
３３５  第２レベルゲート
３３６  ＮＯＲゲート
３３７  ＮＯＴゲート
３５０  制御装置入力
３５１  制御装置入力
３５２  制御装置入力
３５３  制御装置入力
３６０  選択リード
３６１  選択リード
３６２  選択リード
３６３  選択リード
３７０  マイクロプロセッサ制御装置
４００  トライステート・マルチプレクサ
４０５  単一制御ライン
４１０  制御装置
４１１  制御装置
４１２  制御装置
４１３  制御装置
４１４  制御装置
４２０  プロセッサ素子
４２１  プロセッサ素子
４２２  プロセッサ素子
４２３  プロセッサ素子
４２４  プロセッサ素子
４３０  制御装置ゲート・グループ
４３１  制御装置ゲート・グループ
４３２  制御装置ゲート・グループ
４３３  制御装置ゲート・グループ
４３４  制御装置ゲート・グループ
４４０  出力制御ライン
４４１  出力制御ライン
４４２  出力制御ライン
４４３  出力制御ライン
４４４  出力制御ライン
４５０  論理入力
４５１  論理入力
４５２  論理入力
４５３  論理入力
４５４  論理入力
４５５  制御ライン・バス
４６０  選択リード
４６１  選択リード
４６２  選択リード
４６３  選択リード
４６４  選択リード
４７０  マルチプレクサ制御装置
４８０  始動及び停止制御リード対
４８１  始動及び停止制御リード対
４８２  始動及び停止制御リード対
４８３  始動及び停止制御リード対
４８４  始動及び停止制御リード対
５００  トライステート・マルチプレクサ・ゲート
６００  トライステート・マルチプレクサ・システム
７００  トライステート・マルチプレクサ・システム
【図１】
0003778993.tif 000002
【図２】
0003778993.tif 000003
【図３】
0003778993.tif 000004
【図４】
0003778993.tif 000005
【図５】
0003778993.tif 000006
【図６】
0003778993.tif 000007
【図７】
0003778993.tif 000008
【図８】
0003778993.tif 000009
【図９】
0003778993.tif 000010