JPH03501176A - 高性能グラフィックスワークステーション - Google Patents
高性能グラフィックスワークステーションInfo
- Publication number
- JPH03501176A JPH03501176A JP63507486A JP50748688A JPH03501176A JP H03501176 A JPH03501176 A JP H03501176A JP 63507486 A JP63507486 A JP 63507486A JP 50748688 A JP50748688 A JP 50748688A JP H03501176 A JPH03501176 A JP H03501176A
- Authority
- JP
- Japan
- Prior art keywords
- graphics
- memory
- context
- processing unit
- central processing
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three-dimensional [3D] modelling for computer graphics
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Memory System (AREA)
- Controls And Circuits For Display Device (AREA)
- Digital Computer Display Output (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。
Description
【発明の詳細な説明】
高性能グラフィックスワークステーションi町」l
A1発明の分野
本発明はコンピュータ用グラフィックスワークステーションに関し、特にデジタ
ルコンピュータホストとグラフィックス処理サブシステムとを含む高性能で、独
立式のグラフィックスワークステージシンに関する。本発明は、システムリソー
スを最大限利用すると共に、本質上データ駆動される非同期の各構成要素間での
動作を有効に調整することによって、2次元及び3次元の高解像度グラフィック
ス表示を可能とする効率的な制御構造を提供する。
B、従来のグラフィックスシステム
近年、コンピュータシステムを使って文字や図形の出力データを発生し、可視表
示する分野で多大の発展がなされてきた。最も初期のシステムは2次元の表示に
限られ、英数字を使って実現する表示が多かった。このような初期システムのグ
ラフィックスデータの発生能力は制限されていたので、システムの表示能力を拡
張するため、所定サイズ及び形状の一部の文字表示は文字データメモリ内に記憶
され、必要に応じユーザによってディスプレイメモリへ転送可能であった。コン
ピュータグラフィックスの分野における重要な発展の一つに、ディスプレメモリ
内に出力データを記憶させておく、いわゆる“ピントマツプ式ゝグラフィックス
表示システムの使用があるや “ビットマツプ式゛法は、出力データをビクセル
の2次元配列として可視化するもので、各ビクセルがディスプレイ装置での個々
の画素と対応する。2次元の黒白グラフィックス表示では、各ビクセルは黒また
は白をそれぞれ表示するのに1ビツトの情報、すなわちOまたは1を含むだけで
よい。
従って、2次元の黒白表示のための全ビクセルは2次元マツプの形となり、マツ
プ内の各情報ビットがディスプレイ装置に表示される出力データを構成する。
自明のごとく、3次元でのカラーグラフインク表示は2次元での黒白表示と比べ
、ディスプレイ装置での表示に必要な出力データの量と、陰極線管での表示のた
めに出力データを処理するのに必要なグラフインクスジステムの処理能力を大幅
に増加させる。
例えば、カラーに関してだけでも、カラーの赤、緑及び青の各成分に関する情報
と表示のためのカラー強度とを記憶するのに、各ビクセル毎に8ピントの情報が
必要になる。
ビットマツプ式法は従来技術によって、各々がカラー情報の一属性、すなわち赤
平面、緑平面、青平面及び強度平面に対応する別々の、離間した平行平面によっ
て3次元の配列が可視化される平面式概念へと拡張された。各ビクセルは別々の
平面上に記憶されたビットで構成され、データ処理は、幾つかのメモリロケーシ
ョンの中からビクセルの別々のビットを検索するためのグラフィックスシステム
を必要とする。
3次元の表示、シェーディング、表面反射性、対象の回転などその他の属性及び
表示特徴がグラフィックスシステムに加えられるべきときは、対象を表し可視表
示するのに、システムのメモリ構造及び容量とデータ処理能力が大幅に拡張され
ねばならない。
元グラフィックスシステムを独立のワークステーション型システム、特にマルチ
ユーザ能力を備えたグラフィックスシステムとして実施する可能性を一般的に制
限してきた。32ピントのワードマイクロプロセッサなどの技術的発展がグラフ
ィックスシステムを独立のワークステーションとして実施するためのハードウェ
ア的基礎を与えているが、複数のアプリケーションプロセスを処理してマルチユ
ーザ能力を実行可能とする有効な高性能グラフィックスワークステージシンシス
テムを達成するには、尚解消しがたいデータ構造と処理及びシステムの動作制御
上の必要条件が残されている。これらの必要条件は、従来技術によって適切に対
処さ従って、本発明の主な目的は、マルチユーザ能力を備えた高性能、高解像度
のグラフィックス表示に必要なデータ構造と処理、及びシステムの動作制御を可
能とする独立式のグラフィックスワークステーションを提供することにある。
概略的に言えば、本発明のシステムは、中間処理装置とバス機構によってグラフ
ィックスサブシステムに接続されたホスト中央処理装置を存する。ホストサブシ
ステムは、ホスト内に存在する1つ以上のアプリケーションプログラムを実行し
て、表示すべき2次元及び/又は3次元の対象を表すグラフィックスデータ構造
を形成するように動作可能である。グラフィックスデータ構造は、グラフィック
スサブシステム内の構造メモリ構成要素内に記憶される。3次元のグラフィック
スデータ構造は、各々構造メモリ内における階層状のグラフィックスデータノー
ド構造とL7て実現される0本発明のシステムで基本的に使われるような対話型
コンピュータグラフィックスの原則概念の詳しいwi46については、J、 D
。
pollと^、 Van Damの対話−9,r:<g!、9グラ」乙4−/
I−洛−q基一本、(Addison−iJesley 1982 )を参照の
こと。
各ノードが基本のメモリユニットとして定義され、ホスト内に存在する特定のア
プリケーションプログラムに基づき、同じくホスト内のメモリライブラリに記憶
されている前もって選択された構造化グラフィソクスルーナンを使って形成され
るグラフィックス構造のプリミティブ、変換、属性などに関するコマンドまたは
グラフィックスデータを含む、グラフィックスサブシステム内の非同期動作する
構造ウォーカー(walker )が、構造メモリ内に記憶された特別の制′4
Bfi造を横切って連続的にトラバースしながら、グラフィックス構造のノード
のトラパーサル要求を読み取って処理し、ノード内に含まれているデータとコマ
ンドの情報をグラフインクスパイプラインに送って、グラフィックスサブシステ
ムのグラフィックス処理構成要素による処理、走査及び表示を行う。
本発明の重要な特徴によれば、トラパーサル制御機能はホストとグラフィックス
サブシステム構成要素とに分割され、競合するアプリケーションプログラムによ
ってなされるグラフィックス構造のトラパーサル要求を受け入れ、次いでそのト
ラパーサルを、各々の競合アプリケーションプログラムがそれぞれ各自のグラフ
ィックス処理サブシステムを調べ、システムの構成要素を最も効率的に利用して
実行可能なように、スケジュール設定して実施する。階層状のツートメそり構造
、非同期のメモリ!・ラバーサル及び監視トラパーサル制御の各m能が相互に協
働し、複合(compleに)グラフィックスデータ構造を記憶すると共に、順
序付けられ調整された方法でグラフィックスデータ構造をするためのシステムリ
ソースの効率的な割当を与えることによって、システム内における高性能な3次
元の表示能力を容易とする0本発明のシステムは、グラフィックスサブシステム
構成要素の進行中である、データ駆動式非同期動作の効率的な調整と制御を有効
に利用して、ホスト内に存在する全てのシステムリソースを均等に複数のアプリ
ケージジンプログラムへ振り分け、マルチユーザ機能を可能とする。
本発明では対話型コンピュータグラフィックスの既知概念に基づき、ユーザのワ
ールド座標系からワークステーションの物理的なディスプレイ装置、すなわち陰
極線管にとって適切な幾何学的座標−・と変換「るのに、ウィンドウシステムを
用いる。ウィンドウはビクセルの矩形配列で、表示画面の物理的な寸法に対する
ウィンドウのクイズに応じて、部分的にまたは全体的にディスプレイ装置上で目
視可能である。またウィ:/ドウは、一つの°親”ウィンドウと複数のサブつま
り゛子供°ウィンドウを含む階層状になっている。ウィ′/ドウはサイズを決め
換えでき、グラフィックス構造によって定義されたディスプレイ装置の各部分の
詳細表示のためサブウィンドウが親ウィンドウより大きいサイズの場合、サブウ
ィンドウは親ウィンドウを切り取った形で使われる。本発明の好ましい実施例に
関する以下の説明で詳述するように、アプリケーションプログラムによって発生
されるグラフィックス構造の表示と組み合わせて使うのに極めてを利なウィンド
ウシステムは、ロイヤリティの支払いのない産業規準として、米国マサチューセ
ノツエf4犬学の援助で開発されたXウィンドウシステムである。本発明では、
ウィンドウ座標及び属性を生成し定義するためにウィンドウシステムから発生さ
れるデータは、ウィンドウの矩形配列内に表示されるべき対象の階層状グラフィ
ックスデータノード構造との相ゲ関連が、トラパーサル制御システムによって一
義的に識別される。
従って、構造ウォーカ・−による非同期のトラパーサルで、相互に関連付けられ
たグラフィックス構造のデータ及びコマンドとウィンドウデータを、グラフィッ
クス構成処理要素に与えることができる。トラパーサル制御におりるウィンドウ
データーグラフィックス構造の相互関連機能が、主に2次元のビー/ )マツプ
式グラフィックス用に開発されたXウィンドウシステムなどの極め−C有効なウ
ィンドウシステムの利用を可能とすることによって、高性能の3次元グラフィッ
クス表示をさらに容易とする。3次元のノードメモリ構造との相互関連を表すウ
ィンドウ識別データが、3次元的相関性を有利なXウィンドウシステムへとシス
テマテインクに併合する。
本発明の別の重要な特徴によれば、別個な2次元のビ・ノトマ・ノブ式グラフィ
ックスシステムが3次元の構成要素と並列に与えられて、2次元のアプリケーシ
ョンプログラムを処理する。ビットマツプ式グラフィックスシステムは、構造メ
モリ内のビットマツプデータコマンドをトラペースするためのレンダリング(r
ender−ing)プロセッサとビットマツプメモリを含む、2次元のグラフ
ィックスに適したリソースを有する。また、構造メモリは並列の3次元及び2次
元のグラフィックスシステムによって共有され、両方とも3次元のグラフィック
ス構造メモリ及び2次元のビットマツプメモリとして機能する。レンダリングプ
ロセツサも並列の各グラフィックスシステムによって共有され、3次元対象のた
めのポリゴン(多角形)描写とビットマツプグラフイ・ノクスを処理する。この
ようにして、3次元の能力を持つシステムリソースは、2次元表示に関連した処
理タスクによる過剰負担を生じず、また3次元及び2次元両処理での重複する機
能能力が共有され、システム内のハードウェア構成要素の数が減少される。
さらに、グラフィックスサブシステムに関するアドレスデータをホストシステム
の仮想メモリ内ヘマノビングすることによって、高いオペレーティング効率が達
成される。これにより、ホスト内に存在するアプリケーションプロセスは、ハー
ドウェア機構または装置ドライバへの1接的なメモリアクセスを必要とせずに、
例えば構造メモリなどのグラフィックスサブシステムと直接交信可能となる。
従って、本発明は対話型構成要素の処理能力を最大化することによって、独立式
ワークステージタンの構成で実施可能な構成で3次元のグラフィックス能力を達
成する0階層状のデータ構造がメモリ内に組み込まれ、3次元対象のプリミティ
ブ、属性及び幾何学的変換を表す複合データ構造の定義を可能とする。メモリ内
に組み入れられたデータ構造の非同期トラパーサルが、トラパーサル制御機能と
組み合わされて、グラフィンクスパイプラインへと至るグラフィックスデータ及
びコマンドの流れを調整制御し、複数のアプリケーションプロセスの効率的な処
理及び表示を容易に可能とするような順序付けられた処理及び表示を与える。
本発明の上記及びその他の特徴と利点のより明瞭な理解のため、本発明の好まし
い実施例に関する以下の詳細な説明と添付の図面が参照されるべきである。
凹皿■呈茎翌R里
第1図は本発明によるコンピュータグラフィックスシステムのブロック図である
。
第2図は第1図のグラフィックスサブシステムのブロック図である。
第3図は本発明のコンピュータグラフィックスシステム用ソフトウェア編成のブ
ロック図である。
第4図は第2図のグラフィックスサブシステムの構造メモリのブロック図である
。
第5図は本発明によるグラフィックスデータ構造のノードメモリ構造編成のブロ
ック図である。
第6図は本発明のBIババスモリマツプのブロック図である。
第7図は第6図のブロック図の予約I10スペースの分解ブロック図である。
第8図はビットマツプグラフィックス処理用のグラフィックス文脈(コンテキス
ト)及びトラパーサルモデルのブロック図である。
第9図はビットマツプルートのブロック図である。
第10図はピントマツプグラフィックス文脈のブロック図である。
第11図はビットマツプセルアレイのブロック図である。
第12図はピントマツプ表示文脈のブロック図である。
第13図はデータ構造の仮想ルートノードとグラフィックス文脈間の接続をブロ
ック図の形で示す。
第14 as b、c図は各種標準ノードの例を示す。
■の 士しい の量 な量゛ヨ
システム
次に図面中の第1図をまず参照すると、本発明によるグラフィックスワークステ
ーションシステムがブロック図の形で示しである。ホストサブシステムは、ホス
ト中央処理袋210、ホストメモリ11、テープコントローラ12、制御プロセ
ッサ13及びディスクコントローラ14を備えている。ホストサブシステムの各
構成要素1O111,12,13ば、バス15によって相互にインタフェースさ
れる。
本発明の教示を有利に実施するための好ましいホストサブシステムは、ホスト中
央処理装置IOとして使われる5corpioまたはDigital KA82
5ホストプロセッサ、ホストメモリ11として使われる4−Mbyte MS8
20−BAメモリモジュール、テープコントローラ12として使われるDEBN
x Ethernetローカルエリアネットワーク及びTK5095 Mbyt
eのストリーミングテープドライブ、ディスクコントローラ14として使われる
RX5081B−kbyteのディスケットドライブ、制御プロセッサ13とし
て機能するAuroraまたはDigital KA800制御プロセッサ、及
びバス15として機能するVAX Bus InterconnectまたはV
AX Bl同期、時間多重型の32ビツトバスを有する。シングルボードVAX
プロセッサである5corpioプロセツサが完全な一組のVAχ命令セットを
実行し、vhSまたはULTRIXのオペレーティングシステムとアプリケーシ
ョンを実行する。 5corpioホストプロセツサ、Aurora制御プロセ
ッサ、VAX Blバス及びその他の各ホストサブシステム構成要素は、Dig
ital Equipment Corporattonから市販されている。
制御プロセッサ13は、制御プロセッサ13をグラフィックスサブシステム17
にインタフェースするローカルつまり1132バス16を備えている。従って、
Aurora *Ji11プロセッサ13はグラフィックスサブシステム17と
BTババス5の間のインタフェースとして機能する。また制御プロセッサ13は
、第1図に示したようにシリアルデータライン24を介し周辺リピータボックス
23によって制御プロセッサ13へ接続されたキーボード18、ボタンボックス
19、マウス20、タブレフト21及びダイアルボックス22などの対話型周辺
装置用の入/出力前処理も行う。
周辺リピータボックス23は、モニターサイトにある周辺装置18.19.20
.21.22に電力を供給すると共に、周辺装置18.19.20,21.22
から周辺信号を集めるのに使われる0周辺リピータボックス23が信号をパケッ
ト化し、そのパケットを制御プロセッサ13を介しホスト中央処理装置10へ送
ることによって、集められた周辺信号を編成する。また周辺リピータボックス2
3は、ホスト中央処理装置10から制御プロセンサ13を介してパケットを受け
取り、データをアンパンクし、アンバックデータを適切な周辺装置18.19.
20.21.22に送る。制御プロセッサ13と周辺リピータボックス23の入
/出力前処理機能のさらに詳しい説明については、本願と同一日に出願された係
属中の出願通し番号第 号、名称「周辺リピータボックス」を参照のこと。
また、Aurora i!II御プロセッサ13は5corpioホスト中央処
理装置10用のコンソールをエミュレートするように動作可能であるのが好まし
い。コンソールのエミュレーションは、制御プロセッサ13とホスト中央処理装
置10の間のシリアルデータライン25を用いることによって達成される。この
ため、追加の機器を必要とせずにホストサブシステムの診断を実行したり、デバ
グを行うのに、Aurora制御プロセッサ13が使える。制御プロセッサ13
のコンソールエミュレーションのさらに詳しい説明については、本願と同一日に
出願された係属中の出願通し番号第□−号、名称「グラフィックスワークステー
ション用のコンソールエミュレーション」を参照のこと。
本発明の好ましい実施例によれば、グラフィックスサブシステム17は、Eva
ns & 5utherland Co5puLer Corporation
から市販されているShadowfoxグラフィックスカードセットをを有する
。
グラフィックスサブシステム17の主機能は、以下明かとなるように、中央処理
袋W、10内に存在する複数のアプリケーションプログラムによって組み入れら
れるグラフィックスデータ構造を記憶し、またグラフィックスデータ構造を処理
、走査及び表示する。
第2図を参照すれば、Shadowfaxグラフィックスカードセントは、ロー
カル1132バス16によって制御プロセッサ13とインタフェースされた構造
メモリ26を備えている。後で詳述するように、構造メモリ26は、アプリケー
ションプログラムによってホスト中央処理装置lO内に組み入れられるグラフィ
ックスデータ構造を記憶するための4Mbyteメモリを有する。
非同期動作の構造ウォーカー27が、1132バス16によって制御プロセッサ
13と、また構造メモリバス28によって構造メモリ26にそれぞれインタフェ
ースされている。構造ウォーカー27は専用の、32ビア1・、ピントスライス
マイクロプロセッサで、これが構造メモリ26内に記憶されたグラフィックスデ
ータ構造を連続的にトラバースし、グラフィックスデータをライン30を介し゛
Cグラフィックスバイブラインプロセッサ29に送る。
Sl+adowfaxグラフィックスサブシステムの設計及び動作モードによれ
ば、グラフィックスバイブラインプロセッサ29が構造ウォーカー27から受け
取ったデータをパケットへと編成し、グラフィックス変換、マトリクス乗算、ク
リンピング、透視分割及び視点マフピングを行う、これで、グラフィックスバイ
ブラインプロセッサ29によって処理されたグラフィックスデータ構造は、ホス
ト中央処理装置IO内のアプリケーションプログラムを介しユーザによって実施
されたデータ構造ワールドスペースデータがら、対象を表示すべき画面の物理的
寸法に対して表示可能な画面スペースデータへと変換される。
一対のデータタップ31.32が、グラフィックスパイプラインプロセッサ29
の出力から受け取った各コマンドとデータパケットを調べ、パケットをパイプラ
インに送るのか、あるいはパケットをグラフィックスデータ管理装置33に送り
、そこからさらに適切な宛先へと回送するのかを判定する0例えば、χ、Y、Z
及びカラーデータパケットは、ライン勾配、調整後のエンド点、及びラインの向
きを示す状態フラグの計算のため、デルタ、/深さ指示(depth cue
)計算器34に直接送られる。カラーデー・りとZデータがバックグランドカラ
ーと混合され、相対的な赤、緑及び青の値を決める。デルタ/深さ指示計算器3
4の出力は、ライン描画アルゴリズムでの計算のため、ビクセルプロセッサ35
に送られる。グラフィックスデータ管理装233は、全ての有効な描画コマンド
をビクセルプロセッサ35内ヘロードするのに使われると共に、パイプラインコ
マンドをレンダリングプロセッサ36ヘバンフアし、またレンダリングプロセッ
サ36からのデータをビクセルプロセッサ35へとバッファする。後で詳述する
ように、レンダリングプロセッサ36はポリゴン(多角形)を描写する3次元の
グラフィックスプロセスで使われる。
ビクセルプロセッサ35は16個の同等のプロセンサを有し、これらがデルタ/
深さ指示計算器34から発生されたエンド点及び勾配データと、レンダリングプ
ロセッサ36から与えられたポリゴン描写データとを用いて、別称されていない
(anHaliased )深さ指示されたラインを描く。ビクセルプロセッサ
35は、システムモニター38用に発生されたビクセル像を含むための1024
x1024のビクセルメモリを有する。フレームバッファ37は、1024x8
64.60hzで、インターレースされていないラスター走査式表示フォーマン
トを与える。
画像(ビデオ)コントローラ39がフレームバッファ37からの出力電光は取り
、デジタルデータをアナログ信号に変換してモニター38を駆動する。好ましい
実施例において、モニター38は、1024x864のビクセル像領域を持つD
igital VR290−[IA/D3/[)419インチ型カラーモニター
からなる。画像コントローラ39は、表示用の画像フォーマントを判定するため
のウィンドウ探索テーブルと、ビクセルの赤、緑及び青成分を決めるためのカラ
ー値のカラー探索テーブルも含んでいる。また第2図に示すように、画像コント
ローラ39とグラフィックスサブシステム17内のその他の各構成要素とをイン
タフェース丈るため、グラフィックスデータバス40が設けられている。
ユににスl」(了ニ一旦−乙久
サブシステムマフピングとは、ホストプロセッサ10を制御プロセッサ13内の
ローカルRAM、構造メモリ26、及びグラフィックスサブシステム17内の各
種レジスタへ直接アクセス可能とするのに本発明で使われる技法である。これら
の各構成要素は、ホストシステムの仮想メモリ内に直接マツピングされている。
サブシステムマフピングは以下明かとなるように、“データ駆動式”?シンであ
る本発明のシステムの動作において極めて有利である。
従来のシステムでは、CPLI外のハードウェアへアクセスするのに、装置ドラ
イバを用いる方法が使われている。装置ドライバとは、ホストCPUと特定の装
置、すなわちメモリ、ディスクユニット、テープユニットなどとの間の交信を処
理するために専用に作成されたプログラムである。従って、CPUが外部の装置
メモリにアクセスしたいときは、装置ドライバを呼び出し、これがレジスタを使
って直接装置メモリをロードするか、あるいは直接メモリアクセス(DMA)の
動作を行う。D M Aの場合には、ドライバがユーザのデータを物理メモリ内
にロックしくDMAハードウェアはデータが物理メモリ内にロックされることを
必要とする)、出所及び宛先アドレスを設定した後、DMAハードウェアを呼び
出して出所から宛先へ転送される情報を得る。
一般に、このDMA法は非常に受υ入れ易い。t7かし、本発明などのデータ駆
動式“7シンでは、かかるDMA法のコストが高くなりすぎる0本発明のグラフ
ィックスシステムにおいて、ホスト中央処理装置10の主な機能はコマンドをグ
ラフィックスザブシステム17へ送ることにある。従って、ホスト中央処理装置
110は、それが実行するほとんどの動作でDMAハードウェアを使う必要があ
る。つまり、この問題を考慮して、サブシステムマフピング方式が考案された。
ホスI・中央処理装置10はBlバス15を、システムメモリ11及び制御プロ
セッサ13と共有している(第1図参照)、制御プロセッサのローカルバスは1
132バス16である。バス16には、ローカル制御プロセッサRAM (I
Mbyte )、ローカルレジスタ、及び構造メモリ26、構造ウォーカー27
、グラフィンクスバイグライン29、グラフィックスデータ管理装置33及びレ
ンダリングプロセッサ36、ビクセルプロセッサ35、並びにフレームバッファ
27を含むグラフィックスサブシステム17の各構成要素が接続されている。尚
、これらの構成要素全てが、+132バス16へ物理的に接続されるわけではな
い(第2回参照)。サブシステムマフピング方式は、ホスト中央処理装置10が
1132バスの各付設構成要素に直接アクセスするのを可能とする。
直接アクセスを実施するため、1132バスの各付設構成要素は、Blバスメモ
リマツプの予約110スペース内にマツピングされる。第6図はBlメモリマツ
プを示し、また第7図は、各構成要素がマツピングされる第6図のメモリマツプ
の予約110スペースの詳細を示している。システムが初期設定されると、ホス
ト中央処理装置10の装置ドライバがマツピングを行うために呼び出される。第
1のステップでは、制御プロセッサ13内に2つのマーノビングレジスタを設定
する。マンピングレジスタ自体が、オペレーティングシステムによってホストの
仮想アドレススペース内にマツピングされている。第ルジスタ5ADRが、20
800000 HE XであるBTlメモリマツプ内予約I10スペースの開始
アドレスを表す、第2レジスタEADRが、22000000HEXであるBl
メモリマツプ内の予約110スペースの終了アドレスを表す、これは単に、装置
ドライバが介し及び終了アドレスをそれぞれのレジスタ内へ書き込むことによっ
て行われる。制御プロセッサ130マイクロコードが、それ自身のローカルRA
Mを、上記のアドレス範囲内に再配置する。このステップが行われたところで、
物理的なマツピングは終了する。
ホスト装置ドライバが次に行うステップでは、+132の各行、膜構成要素(制
御プロセッサRAM、構造メモリ26及びグラフィックスサブシステム17の各
レジスタ)を、ホストの仮想アドレススペース(SO)内ヘマフビングする。こ
のステップが必要なのは、ホスト中央処理装置11E10にメモリ管理(MM)
ハードウェアが含まれているため、ホストソフトウェアは物理アドレスを指定で
きないからである。このハードウェアは常に実行されており、ホスト中央処理装
置10から出力されるアドレスを選別している。つまり、各アドレスは仮想アド
レスとされているため、メモリ管理ハードウェアが常に、仮想アドレスから物理
アドレスを作成するための翻訳レベルの実行を試みている。翻訳レベルは、該当
アドレスがシステム仮想アドレスかまたはプロセス仮想アドレスであるかに依存
する。この区別は、各々その違いによって異なる翻訳テーブル及び翻訳メカニズ
ムへと進むために重要である。
プロセス仮想アドレスはプロセスに固有で、これを本発明の目的に使う場合には
、各プロセスがメモリ自体にマフピングされなければならない、これは各プロセ
ス毎に、そのアドレススペースに4 Mbyteの仮想アドレススペースを付加
する結果となる。従って本発明によれば、1132バスのマフピングをシステム
仮想アドレスに選定することによって、システム上での各プロセスはメモリリソ
ースを無駄に使うことなく、そのバスにアクセスすることが可能になる。またこ
れは、グラフィックスサブシステムによって参照される物理アドレスを決定する
のに使われる計算の複雑さも減少させる。
ホスト装置ドライバが最後に行うステップでは、1132バス付設構成要素の仮
想アドレスを含んでいるSOページのプロテクトを取り外す、これらのページを
アンロックすることによって、システム上のどのプロセスでもシステム仮想アド
レススペースにアドレス可能となる。一般にSoベージは、どのプロセスもがア
クセス可能ではないオペレーティングシステムのソフトウェアとデータを含んで
いる。Soページがロックされていると、それらの仮想アドレスへのアクセス路
は、唯一システムコールを介してだけとなる。これはシステムをより複雑にし、
オーバヘッドを増加させる。つまり、SOベージをアンロックすることによって
、システムコールの使用を取り除ける。
ホスト装置ドライバが上記の各ステップを実行したところで、マンピングは終了
する。ここで、各プロセスはマツピング済みの各1132バス付設構成要素のい
ずれにも直接読取/書込アクセス可能となる。何故なら、これらの構成要素はホ
ストの仮想メモリ内に直接マツピングされているからである。各プロセスは、こ
れらの構成要素をそれぞれのローカルメモリとして扱うことができる。従って、
直接メモリアクセス用のハードウェア、装置ドライバまたはオペレーテイグシス
テムコールを用いる必要が省かれる。
記憶装置及びソフトウェア機構
前述の説明によってグラフインク・サブシステム17は基本的に構造探知装置(
5tructure walker ) 27の非同期的動作によって決定され
る非同期モードで動作することが理解されよう、前記構造探知装置27は前述の
とうり、グラフインク・データ構造の連続的な逐次的な横移動を介して構造記憶
装置26からグラフインク・サブシステム17の別の部品へのデータの流れを制
御する。グラフィック・バイブラインを経たデータ流れの全てが構造探知装置の
動作の機能である。以下により詳細に説明するように、ホスト中央処理装置10
は応用プログラムを実行して、ディスプレイされるべき三次元対象を表わす階層
的節点構造内のグラフインク・データ構造を構成する。この節点構造は構造記憶
装置26内に記憶される。
グラフインク・−−タ 告の ・き 占グラフィック・データ構造は対象及びそ
のディスプレイの態様を記述する全てのデータから構成されている。グラフイン
ク・データ構造は節点の階層的集合及びそれらを接続する経路である。
節点は実行可能指令とデータの集合である。構造探知装W27は各節点を横断し
、節点を残りのデータ構造に連結する各節点内の単数又は複数のポインタを追従
する。構造探知装置27が節点を横断すると、構造探知装置は指令とデータとを
抽出して、これらをグラフインク・バイブラインへと伝送し、そこでデータ構造
によって定義される対象のディスプレイが最終的に作成される。
データ構造はのちにより詳細に説明するグラフィック文脈によって定義されるグ
ラフィック環境内に存在する0、グラフインク文脈は仮想ルート節点を介してシ
ステム・データ構造に接続されている。仮想ルート節点は単に第13図に示すよ
うにシステムによって作成されたグラフインク文脈から派生するユーザー作成の
最上の節点である。
データ構造の構成中、データ構造を形成する節点は広範な機能、すなわちグラフ
インクプリミティブの記述から横への流れの制御までの機能を果たす。節点は最
初に構造グラフィック・ルーチン(SGR) 、SGR開始構造(文脈) =
SG[1SBEGIN−3TIltlCTURE(context )を呼出し
、次に節点を作成するルーチンを呼出し、ルーチンSGR終了構造(文脈、ハン
ドル) −5GR3END −5TRUCTURE(context 、、 h
andle )でシーフェンスを終了することによって群又は構造内で相互に連
結される。その結果、ポインタは節点を相互に連結し、それによって構造探知装
227は後述するように節点をその正しい順序どうりに横断することができる。
データ構造を作成するため節点は6つに分類される。最初の3つの分類は次のと
うりである。
原始節点−ベクトル、多角形及び記号列(ストリング)用のグラフインク・デー
タを含む。
属性節点−線のカラー、線のパターン、陰影及び採光のようなグラフインク・プ
リミティブの外観を制御する。
変換節点−データがスクリーン上にディスプレイされる態様を記述する。変換節
点はグラフインク変換及び正規の変換及び視野ボートのためのマトリクスの構成
を制御する0例えば原始節点が立方体を構成するなら、変換節点はそれを規準化
し回転してブロックを作成することができる。
次の3つの節点は先回り (アドバンスト)グラフインク・データ構造を作成す
るために用いられる。
参照節点(リファレンス節点)
階層的構造は参照節点によって構成される。参照節点は構造探知装置27に対し
て、参照節点を含む構造の横断を継続する前に別の構造(呼出し構造の「側構造
」と呼ぶ)を横断するように命令する。参照節点は3つの様式で動作する。ずな
ゎち復元、非復元及び分岐様式である。節点を作成するルーチンの参照様式(r
ef−mode )パラメタが様式を確定する。これらの様式は階層的グラフィ
ック状態の変化がグラフインク・データ構造の別の部分の横断に影響を及ぼす態
様を制御する。
復元様式
復元様式にセントされた参照節点は構造探知装置27に対して、現在の変換マト
リクス、現在の属性設定等の現在のグラフインクの状態を、参照された剛構造を
横断する前にスタックに保存し、その後、剛構造の横断を終了したときに前記状
態を復元するように命令する。その結果、副構造内での階層的グラフインクの状
態の変化はより高次の構造のグラフインクの状態に影響を及ぼさない。
非復元様式
非復元様式にセントされた参照節点は構造探知装置27に再指令を発するが、階
層的なグラフインク状態を保存し、かつ参照節点に戻ったときにそれを復元する
ようには命令しない。この様式は少なくとも2つの状況で有効である。すなわち
、参照された剛構造がグラフィックの状態を変化さセないことが確実であり、か
つ横断の効率を最適化したい場合、及びより低次の階層的レベルでグラフィック
の状態を変更して、同レベル又はより高いレベルのテ°−タIN造の横断に影響
を及ぼしたい場合である。
分岐様式
復元及び非復元様式の場合、!:同様に、分岐様式にセフ)された参照節点は構
造探知装置の横断を再指令する。しかし、構造探知装置F27が参照された剛構
造の横断を終ですると、それは参照節点には戻らない。その結果、グラフィック
状態を保存したり復元する必要がない。分岐参照様式は2つ又はそれ以上の剛構
造の中から選択する条件付参照節点と共に用いられるのが通例である。
それはプログラミング言語中のrGOTOJ命令と同様である。
参照節点には2つの形式のものがある。すなわち条件付き形式と条件なし形式で
ある1両方の節点とも復元、非復元及び分岐参照様式を実行可能である0条件付
き節点は1つ又は2つのオペランドの値ζこ応じて2つ又はそれ以上の代替横断
経路のうちの1つを選択する0例えば、1つの形式の条件付き節点はオペランド
が相互に等しいか、より大きいか、より小さいかを比較する9条件なし節点は、
構造探知装置27が参照された構造の横断を終了したときにより高レベルの構造
に戻る任意選択機能をともなって単一の剛構造を参照する。第14図a乃至Cは
各種の参照例を示している。第14図a乃至Cの参照節点の右側の“R”、“N
R”又は°B”は参照が復元、非復元又は分岐様式のいずれであるかを示すこと
に留意されたい。更に非復元参照用の主参照ポインタ上には補足的な視覚約手が
かりとして円が付され、分岐参照に続く節点には灰色にくま取りが付されて、構
造探知装置27が決してそれらの節点を横断しないことを示している。
第14図aは青の正方形と共に赤い円をディスプレイする呼出し/復元節点を備
えたデータ構造を示す。参照節点が状態を復元するので、赤い線のカラー属性は
呼出し構造にセントされた線のカラー属性には影響を及ぼさない。
第14図すはテスト/非復元節点によってテストされたオペランドが真であるか
偽であるかによって青または赤の正方形のいずれかをディスプレイする条件付き
テスト/非復元節点を備えたデータ構造を示す、参照節点が状態を復元しないの
で、参照された4R造内にセットされた線カラーの属性は呼出し構造によってデ
ィスプレイされたカラー〇ご影響を及ぼず。
第14図Cは比較5/分岐節点によっ゛ζ比較されたオペランドの値に応じて3
つの参照された剛構造のうちの1つをディスプレ・イ゛4る条件付き比較、/分
岐節点を備えたデータ構造を示す。
υ1当て節点
割当て節点は条件付き参照節点によってテス1された値(オペランド)を準備し
かつ処理して、所与の条件付き参照節点が横断経路を選択する態様を動的に制御
できるようにす−る。この節点は構造記憶領域内に含まれるデータに基づいて演
算を行なう。この演算には移動論理和(セ・2ト・ビット)、論理積否定(クリ
ヤ・ビット)、加算、減算、X論理和が含まれる。
特別目的節点
特別目的節点によってあつらえ節点を構成し、構造内の異なる場所で同一のデー
タを使用し、使用しないデータを記憶することができる。これは構造記憶装置の
スペースと編集時間の双方を節減する。特別目的節点にはデータ節点、一般節点
及び間接節点の3つがある。これらの節へはテーラ−が独自の用途のためのデー
タ構造を応用できることによりフレキシビリティを高めることができる。
データ節点は特定業務(アプリケーション)用に予約された欄内に応用データを
含めるためのものである。 yin造績知装置はデータ節点内のデータを否定し
、次のポインタに追従する。
−一般節点は指令及びバイブラインに向がうデータを含んでいる。
構造検知装置27は一般節点内では情報を処理せず、サブシステム状態の変化を
記録せずにこの節点をグラフインクサブシステム27へとバスする。一般節点は
グラフィック・サブシステムの状態を変更できるが、構造検知装置はそのように
して行なわれた変化を復元しない。
間接節点はデータ構造内の別の節点から1つの節点内のデータを参照する能力を
備えている。例えば、アプリケーションは締力)−データを含む節点を確定し、
間接節点内の情報を参照するために間接節点を利用することができる。これによ
って記’tf ell域は節減され、構造中の多くの節点を編集することなくカ
ラー指定の変更かuI能である。間接節点によって任意の原始、属性及び変換動
作を実行することができる。
先回りグラフィック・データ構造は表1に示したルーチンによっ′C作成される
。
表1.先回りグラフィック・データ構造ルーチン3、 3GR呼出し 文脈、参
照一様式、参照−ハンドル、ハンドル
4、 SGRテスト 文脈、参照一様式、様式、オブスベソクーopspec
(演算上の規制間)、真−ハンドル、偽ハンドル、ハンドル
5、 5GRテスト−及び 文脈、参照一様式、様式、オプスペソクリャ り、
真−ハンドル、偽ハンドル、ハンドル
6、 3GR比較 文脈、参照一様式、様式I、様式2、ドル
7、、SC;Rケース 文脈、参照一様式、様式、オブスベソ8. 5GR−セ
ット 文脈、参照一様式、様式1、オブスベ9、SC;Rテスト−クリ 文脈、
参照一様式、様式1オプスベツヤ りl、様式2オプスペツク2、真ハンドル、
偽−ハンドル、ハンドル
10、SGR移動 文脈、様式l、オブスペックエ、様式2、オブスペック2、
ハンドル
11、SGR移動−ブロア 文脈、サイズ、様式1、オプスペックク 1、様式
2、オプスペック2、ハンド12、SCR移動−マスク 文脈、マスク、様式1
、オブスペック1、様式2、ハンドル
13、SGRセフト−ピッ 文脈、様式1、オプスペソク1、様式ト 2、オブ
スペック2、ハンドル
14.3C,Rクリヤービン 文脈、様式1、オブスペック1、様式ト 2、オ
プスペック2、ハンドル
ミ5.3GR加算 文脈、様式1、オブスペック1、様式2、オプスペック2、
ハンドル
16.3GR減算 文脈、様式1、オブスペック1、様式2、オブスペック2、
ハンドル
17.5GRX論理和 文脈、様式l、オブスペック1、様式2、オブスペック
2、ハンドル
18.3GR・一般 文脈、サイズ、データ、ハンドル19.3GR間接 文脈
、トウーハンドル(to handle )、ハンドル
20.3GR間接 文脈、トウーハンドル、ハンドル21.3GRデータ 文脈
、サイズ、データ、ハンドル条件付き節点を用いることによってユーザーにはア
ドバンスト・データ構造を作成する上で更にフレキシビリティが付与される。
上述の表工を参照すると、条件付き節点はルーチン4〜9を呼出すことによって
、割当て節点はルーチン10〜17によって、又、特別目的節点はルーチン18
〜21によって作成される。
条件付き参照節点
条件付き参照節点は真/偽テスト又は値比較のいずれかに基づいて構造探知装置
27の横断経路を再指令する。テストの結果に基づき、条件付き参照節点は構造
探知装置27に対して、テスト結果に関連する所定の横断経路をたどるよう命令
する。
条件付き参照節点によって実施されるテストは節点内の1つ又は2つのオペラン
ド(節点の形式による)内に記憶されている値を利用する。これらのオペランド
の値は割当て節点の処理によって処理されることによって、所定の条件付き参照
節点が横断経路を選択するB様の動的な制御が可能になる。これらのオペランド
は表2に記載されている4つのアクセス様式を用いて検索され、本発明の対象に
含まれる。
アクセス様式は節点を作成するルーチンの様式、様式1又は様式2のパラメタ(
節点の形式による)内にセントされた定数によって指定される。アクセス様式は
システムに対してルーチンの演算上の規制側(opspec )パラメタ引き数
の解読方法を告げる。
様式1パラメタはオブスペック1のアクセスを規制し、様式2はオプスペック2
のアクセスを規制する。
表2=オペランド・アクセス様式
定数 様式記述
5GR3K−即時 オペランドはオペランド規制側(オブスペック)、指令パラ
メタとして節点
内に記憶された現在値である。
5GR3K−絶対 オペランドはオペランド規制側として節点内に記憶された構
造記憶装置仮想
アドレス内に含まれている。
5GR3K−レジスタ オペランドは(0−2)の番号が付された3つのレジス
タの1つに含まれて
いる。これらのレジスタは階層的グラ
フィック状態の一部として保存及び復
元可能である構造記憶装置内の特別の
記憶位置である。3つのレジスタは全
てオペランドを記憶するために利用で
きるが、レジスタ0は、変位様式が使
用される場合に基底アドレスとして使
用するために予約されなければならな
い。
5GR3K−変位 オペランドはオペランド規制側内に記憶された値をレジスタ
0の内容に加算
することによって得られた構造記憶装
置仮想アドレスに位置している。
条件付き参照節点によって行なわれるテストは横断の時点でのオペランドの値を
用いる。この値は呼出されたときに節点構成ルーチンへとバスされたオペランド
でもよく、又は以下に詳細に説明するように割当て節点がオペランドの値を変更
していてもよい。
オペランド・アクセス様式は割当て及び参照節点で用いる場合に重要である。ア
クセス様式を用いることによって割当て節点は構造記憶装置内に退加データ又は
一般データを作成することができる。参照節点はその後、作成されたデータに従
って分岐にされることができる。特別目的節点を用いることによってデータはグ
ラフィック・サブシステム17に伝送されることができる。このようにして、デ
ータ構造は実際に“サブプログラム°を書込み、が、2#に造の横断中にこれを
実行することができる。それによって従来の方法よりもより汎用の機能性と記憶
資源のより有効な活用性が達成され、それにより条件レジスタのような定まった
記憶位置での条件付の分岐が行なわれる。
条件付き参照及び割当て節点の例には次のようなものがある。
○テスト
○テストー及び−クリャ
0比較
テスト節点は次のルーチンによって作成される。
SGRテスト(文脈、参照一様式、様式、オブスペック、真ハンドル、偽−ハン
ドル、ハンドル)
この節点はオペランドにて簡単な真/偽テストを行ない、構造探知装置に対し、
テスト結果が真(非ゼロ)であるか偽(ゼロ)であるかに応じて1つ又は2つの
構造を横断するように指令する。
オペランドの値は不変のままに留まる。
テスト−及び−クリヤ節点は次のルーチンによって作成される。
SGRテスト−及びクリヤ(文脈、参照一様式、様式、オブスペック、真−ハン
ドル、偽−ハンドル、ハンドル)この節点はテスト節点と同様に真/偽テストを
実施する。まずオペランドの値をテストし、次にオペランドの値をゼロ(偽)に
セントする。この節点はオペランドをクリヤするので(すなわち、オペランドを
偽条件にセットする)、後続の横断ではこの節点は構造検知装227に対して、
オペランドが再度真の条件にリセットされた場合だけ真の条件に連結する経路を
指示する。
比較節点は次のルーチンによって作成される。
SGR比較(文脈、参照一様式、様式l、オブスペック1、様式2、オブスベソ
ク2、以下−ハンドル、同−一ハンドル、以上ハンドル、ハンドル)
この節点は2つのオペランドのテストを行なって、いずれががより大きい場合は
どちらが大きいのかを判定し、かつ構造検知装置に対して、第1のオペランドが
第2のオペランド以下であるが、。
等しいか、又は以上であるかに応じて3つの側構造のうちの1つを横断するよう
に指令する。オペランドは不変のままに留まる。
ケース節点は次のルーチンによって作成される。
SGRケース(文脈、参照一様式、様式、オブスベノク、カウント、アザワイズ
−ハンドル、ケースーハンドルズ、ハンドル)この節点はオペランドの値をテス
トし、かつ構造探知装置に対して、咳値に割当゛Cられた側構造を横断するよう
に指令する。オペラン(゛の値が側構造と関連するものでない場合は省略時開構
造の横断がなされる。オペランドは不変のままに留まる。この節点によって、節
点内のオペランドの値に応じでいくつかの横断経路を選択することかできる。
テスト−セント及びテスト−クリヤ節点は次のルーチンによって作成される。
5GR−セント(文脈、参照一様式、様式1、オブスペック1.49式2、オブ
スペック2、真−ハンドル、偽−ハンドル、ハンドル)
SGR−クリヤ(文脈、参照一様式、様式1、オプスペック1、様式2、オブス
ペック2、真−ハンドル、偽−ハンドル、ハンドル)
これらの節点によってマスク状のテストを行ってグラフインク・データ構造のど
の部分を横断すべきであるかを判定することができる。テスト−セットは第1の
オペランドにセントされたビットが、第2のオペランドにもセントされているか
否かを判定する。
テスト結果が真であるならば(すなわち、2つのオペランドの論理積が第1のオ
ペランドと等しい場合は)第1の側構造の横断がなされる。偽であるならば第2
の側構造の横断がなされる。
テスト−クリヤは第1のオペランドでクリヤであるビットが、第2のオペランド
でもクリヤであるか否かを判定する。テスト結果が真であるならば(すなわち、
2つのオペランドの論理積が0に等しい場合)、第1の側構造の横断がなされる
。偽であるならば、第2の側構造の横断がなされる。
例えば特定の機構が“割込み可能”又は“割込み不能”であることを表わすマス
クをレジスタ1内に記憶することができよう。
テスト−セットは機構が割込み可能であるか否かをテストするために利用でき、
割込み可能であるならば、構造検知装置に対して適切な側構造を横断するよう指
令する。
割当て節点
割当て節点はデータ構造の横断の結果、オペランドを修正することによって条件
付き参照節点の使用に際して更にフトキシヒリアイをもたらす、言い換えると、
条件付き参照節点によってテストされるべき条件は、割当て節点がそれらのオペ
ランドを修正するために利用される態様に応じてそれぞれの横断で異なることが
できるや
割当て節、1.ζは条件付き参照節曳により用いられるオペtントーc四則演算
又はビ・ノド演算を行なう、υ1当て節す農ま次のとうりである。
○移動
0移動ブロツク
O加算
○減算
OX論理和
移動節点は次のルーチンによって作成される。
S、 G R移動(文脈、様式1、オブスペック1、様式2、オブスペック2、
ハンドル)
この節点は演算上の規制側(オブスベソク) 1によって設定されたロケーショ
ンから演算上の規制側2によって設定されたロケーションへの長語移動演算を行
なう。
移動−ブロック節点は次のルーチンによって作成される。
SGR移動−ブロック(文脈、サイズ、オブスペック11様式%式%)
この節点は演算上の規制側1によって設定されたロケーションから、演算上の規
制側2によって設定されたロケーション−・の、サイズ・パラメタによって指示
された長語のブロックの移動演算この節点はマスク・パラメタによって指定され
たビットを第1のオペランドの対応する値と等しい第2のオペランド内の値へと
セットする。
セント、−ビット節点は次のルーチンによって作成される。
5GR−一ビット(文脈、様式1、オプスペック1、様式2、オブスペック2、
ハンドル)
この節点は、第1のオペランドにセットされた全てのビットを第2のオペランド
にセントする論理和演算を行なう。
クリヤーピント節点は次のルーチンによって作成される。
SGRクリヤービット(文脈、様式1、オブスペックl、襟式2、オブスペック
2、ハンドル)
この節点は論理積否定演算を行ない、第1のオペランドにセントされた全てのビ
ットを第2のオペランドでクリヤする。
加算節点は次のルーチンによって作成される。
S G R加算(文脈、様式1、オブスペック1、様式2、オブスペック2、ハ
ンドル)
この節点はオペランド1とオペランド2の符号付き長語加算を行なう、加算の結
果は第2のオペランドに記憶される。
減算節点は次のルーチンによって作成される。
SGR減算(文脈、様式1、オブスペック1、様式2、オブスペック2、ハンド
ル)
この節点は符号付き長語減算を行ない、オペランド2からオベランド1を減算し
、その結果を第2のオペランド内に記憶する。
X論理和節点は次のルーチンによって作成される。
5GRX論理和(文脈、様式1、オブスベフク1、様式2、オプスペック2、ハ
ンドル)
この節点は2つのオペランドを用いてX論理和減算を行ない、その結果を第2の
オペランドに記憶する。第2のオペランド内の全てがセフ)されると、否定演算
が行なわれることに留意されたい。
特別目的節点の例は次のとうりである。
特別目的節点を構成するルーチンはグラフィック・データ構造のフレキシビリテ
ィと効率を高める。これには次の3つの節点がある。
〇一般
○間接
○データ
ーpA節点は次のルーチンによって作成される。
5GR一般(文脈、サイズ、データ、ハンドル)一般節点は指令又はデータ又は
その双方をグラフインク・バイブラインを経て伝送する手段をもたらし、実際に
あつらえ節点を作成する。用いられる指令は階層的グラフィック状態に影響を及
ぼすものではない。
間接節点は次のルーチンによって作成される。
sGR間接C文k、)ウーハンドル、ハンドル)間接節点は別の節点内のデータ
を参照する。アプリケーションはあらかじめ定められたデータを参照する間接節
点を挿入できる。
ルーチンは参照された節点の形式の節点を作成される間接節点に挿入し、又、構
造検出装置に対してその節点に含まれるデータを横断するよう指示するポインタ
を挿入する。それによって参照された節点と同一であるが、グラフインク・デー
タ副構造の別の部分に位置する節点が作成される。このルーチンは属性表を構成
するのに有効である。それによって記憶領域が節減され、編集時の変更数が限定
される。
データ節点は次のルーチンによって構成される。
SGRデータ(文脈、サイズ、データ、ハンドル)データ節点は応用プログラム
によって使用されるべきデータの記憶又は保存に利用される。構造の横断中、構
造検出装置27はこの節点にデータを引渡すが、次のポインタに追従する。
構造検出装置の主要機能はデータ構造の節点を適正な順序で正確に横断し、それ
ぞれの形式の節点を正しく処理することである。
構造検出装置27の処理機能には構造の節点の更なる横断に関する節点指令を実
行し、又は節点構造内の代替節点分岐へと条件付き分岐を行ない、かつ前述のよ
うに横断された節点内に含まれるデータ及び指令情報を処理のためにグラフイン
ク・パイプライン・プロセッサ29へと伝送することが含まれる。
又2上文王ヱ椿炭
第3図には、本発明のグラフインクシステムのソフトウェア構成を示すブロック
図が示されている。アプリケーション100は、グラフインクデータ構造に関す
るリクエストを含む、多くのアプリケーション100は、グラフインクサブシス
テム17による操作及び表示のためにマルチプル・グラフィックデータ構造をな
すホスト中央処理装置10内に存在する。好適な実施例では、Xウィンドーシス
テムが、アプリケーション100内に含まれるウィンドー処理及びビットマツプ
・グラフィックリクエストを実行している。Xウィンドーシステムは、マサチュ
ーセッツ工科大学の発行する刊行物、例えば、ジム・ゲディス、ロン・ニューマ
ン及びロバート・W・シェイフラーにょるXリブ=C言語Xインタフェース・プ
ロトコル・バージョン11、及びロバート・W・シエイフラーによるXウィンド
ーシステム・プロトコル・バージョン11ベータテストに十分に記載されている
。これらの刊行物は、料金を支払うことなく、どのような目的にでも使用、複写
及び修正出来る。Xウィンドーシステムに関する情報は、マサチューセッツ工科
大学コンピュータサイエンス研究所、545テクノロジースクエア、ケンブリッ
ジ、マサチューセッツ02139より入手出来る。
Xウィンドーシステムは、タライアントーサーバーモデルに基づく、アプリケー
ション100は、クライアントサイドで用意され、そのリクエストをサーバープ
ロセス101に送信することによりその仕事を達成するものである。サーバー1
01は要求された機能を実行し、ステータスをクライアント・アプリケーション
100に送る。Xウィンドーシステムの主たるコンポーネントは、Xプロトコル
102、サーバー101及びXリブ103である。
Xプロトコル102は、サーバー101及びクライアント100間の通信用モデ
ルを定義し、またグラフインクサブシステム】7用モデルも定義する。モデルは
、特定の方法で連動する種々のオブジェクトからなる。最も基本的なオブジェク
トはウィンドーであり、そのビクセルの長方形アレイは、所定の時間で、(部分
的に)モニター38上で見られるが、もしくは見られない、ウィンドーは、階層
状であり、換言すると、ウィンドーはサブウィンドーを有している。サブウィン
ドーが表示されると、それはその親に対してクリツブされる。モニターは、階層
のルーツである。各ウィンドーは固有のID、光特性リストを有しており、クリ
ニーティング・プロセス100よりもプロセス100により操作される。Xプロ
トコル102により、存在するウィンドーの数は制限されるものではない(即ち
、ウィンドーは「チーブ」である)。
Xプロトコル102により定義される他のオブジェクトには、以下のものが含ま
れる。
カラーマンプ:ビクセル値及びカラーとの関連。
ビ、クスマソプ:ビクセルの長方形アレイ。
タイル二領域を満たし、カーソルを示すのに使用される特別の種類のピックスマ
ツブ。
ポリライン:特定のクライテリアによるウィンドー内に表示される関連するポイ
ントの1セント。
(グリフ)フォント: (その比例フォントを含む)英数字に対応するピントマ
ツプの1セント。
Xプロトコル102は、またイベント数も示す。これらのイベントはサーバー1
01により検出され、例えば、周辺装置からの受信信号を制御プロセッサ13及
び周辺リピータボックス23(第3図参照)を介して入力して、フライアン)1
00上にバスする。イベントの例としては、以下のものがある。
露光イベント:以前に閉じられた表示ウィンドーの一部が今開かれること。
キーボードイベント:ディスプレイ上のキーが押されること。
ボタンイベント:ポインティングデバイス(例えば、マウス20)が押されるこ
と。
クライアント100は、イベントに関心があることを明確に示したイベントの告
知のみを受信する。イベントは時間順のキューで維持され、同期成いは非同期で
フライアン)100に゛より受信される。
Xサーバー101は、クライアント・アプリケーション100及びグラフインク
サブシステム17間の通信を行なう。各クラインク(100は、通信プロトコル
を介してサーバー101との間の接続を確立している。クライアントlOOはサ
ーバー101にコマンドを送信して、例えば、ウィンドーへの書込み、フォント
のローディング、カラーマツプの操作、成るイベントに対する関心を示すこと等
の機能を遂行する。Xサーバー101は、その後、例えば、ストラフチャーメモ
リ26内のノー ドを介してグラフインクサブシステム17ヘコ”7ンドを送信
することにより、要求された機能を遂行する。
す・−バー101は、常に、モニター38の如き同じマシン上に配置される。そ
こにマシン当たり1以上のサーバーを配置し、かつサーバーが1台以上のモニタ
ー38を制御することが出来る。
各モ、−ター38は、しかるに、せいぜい1台のサーバーにより制御しうるちの
である。
サーバー101は、ウィンドーシステムを動作せしめる本発明の特定のシステム
に対するXウィンドーシステム・からの通信用の装置従属(D D X) プロ
グラムとインタフェースする装置独立(DD+)プログラムを具備している。本
発明に関しては、DDXの最重要特性は、1ラバース制御の3次元ディスプレイ
文脈機能であり、このトラバース穆1?卸により、ウィニ/ドーサーバー101
内のyイスグレイマネージャ・−106を介して、クライアント・アプリケーシ
ョン100により示されるウィンドーはステラクチレーメ(す2G内のり・4ア
ント・7ブリケーシヨン100により構築される3次元グラフインク構造に二接
続される。ここで、3次元機能はXウィン]・−システム内に組込まれる。
XIJブ103は、X→ドーパ−に対するクラ・インクl〜のインクフェースで
ある。それは、実行中のXプロトコル102により具備される機能に対応する手
順インタフェースである。これにより、ウィンドーを作り、表示する等のコール
が存在することとなる。
Xリブは手順インタフェースであるため、それは高レベルの言語により呼び出さ
れるよう設計される。
ウィンドーマネージャー104は、ヒユーマン・ワークステーション・インタフ
ェースをなすアプリケーションである。特に、それはウィンドーを作り、移動し
、その大きさを変え、また破壊する能力を備えたユーザーを具備している。これ
らの動作は、マウス20をボインティングディバスとして使用し、ボタンクリッ
クをし、キーボードを打つことにより、示される。Xプロトコル】02はどのウ
ィンドーマネージャーをも特定しないにも拘らず、そのいくつかが現在選択され
ている。Xは、カスタマイズド・ウィンドーマネージャー実現に必要な特性を具
備している。これは、ウィンドーマネージャーがXアプリケーションを実行する
のに必要ではなく、(シかるに、同一のディスプレイ上に同一の時刻に)マルチ
プル・ウィンドーマネージャーを有することが可能であることを意味する。
グラフインクパッケージは、Xウィンドーシステムのトップ、例えば、G K
S o / bパッケージに積層しうる。本発明では、グラフインクパッケージ
は、ビットマツプ・グラフインクを介して、2次元ディスプレイに使用される。
実際、Xウィンドーシステムは、ビットマツプ・グラフィックサブシステムと関
連して使用されるように開発された。ビットマツプ・グラフィック文脈及びコン
テキストは、再現プロセッサ36により加工される。
本発明によれば、3次元グラフインクデータ構造は、ホストサブシステム内に具
備された構造化グラフインクルーチン105(SGR)を直接に介して、アプリ
ケーション・クライアント100により構築される6アプリケーシヨン100は
、特定のグー?フィフクデーク構造を構築J−るのに必要とされる種々の構造化
グラフィックルーチ゛1.〆1.05を利用する。構造化グラフィックルー・チ
ンはアプリゲージワン100によるルーチンリクエストを実i〒し、ストラフチ
ャーメモリ26内の適切な連係ノードを構築す15、以下のものは、グラフィッ
クデータ構造実現のためのホストサブシステム内に具備された構造化グラフィッ
クルーチンの各例SGR$BEGIN−ストラクチャー(文脈)このサブルーチ
ン呼出し用のグラフィック・コンテキストの識別子。
コンテキスト・アーギュメントは、グラフインク・コンテキスト・ブロックの識
別子を含む符合なし整数のアドレスである。
目 的
ステラクチャを開始すること。
説明
ストラフチャーは互いに連係されたノードのJゲルーブである。
SGR$BEGIN−ストラフチャー呼出し後、同一のコンテキストがストラフ
チャーの最後に追加される。SGR$BEGiN−一ストラクチヤ−によりノー
ドは作成されない。ストラフチャーは、SGR$BEGIN4−ストラフチャー
により終了する。
連係ノードの情報は、コンテキスト・アーギュメントに参照されるグラフィック
・コンテキスト内に記憶されるため、マルチプル・コンテキストを用いて、同時
にマルチプル・ストラフチャーを構築することが出来る。
ステラクチヤーを構築しないコンテキスト用にS G R$ BEGIN−9−
ストうクナヤーを呼出すことは、エラーとなる。
各ストラフチャーを、データノードヌは不能ノードの如き、何もしない、ノード
で開始することが望ましい、これにより、ストラフチャー・はマルチプルノード
と参照され、ストラフチャー内の最初の真ノードの交換が可能となる。
L2ニー
SGR$C0LOR
フォーマット
SGR$C0LOR(コンテキスト、赤、緑、青、カラー)アこのサブルーチン
呼出し用のグラフィック・コンテキストの識別子。
コンテキスト・アーギュメントは、グラフインク・コンテキスト・グロ・ツクの
識別子を含む符合なし整数のアドレスである。
赤
カラーの赤色輝度。赤アーギュメントは、赤色輝度の値を含むF−フローティン
グフt−77ト内の符合なしロングワードのアドレスである。この値は、0.0
(輝度ゼロ)から1.0(最大輝度)の範囲内にある。
緑
カラーの緑色輝度。緑アーギュメントは、緑色輝度の値を含むF−フローティン
グフォーマント内の符合なしロングワードのアドレスである。この値は、o、o
cm度ゼロ)から1.0(最大輝度)の範囲内にある。
青
カラーの青色輝度、青アーギュメントは、青色輝度の値を含むF−フローティン
グフォーマント内の符合なしロングワードのアドレスである。この値は、0.0
(輝度ゼロ)から1.0(最大輝度)の範囲内にある。
カラー
ルーチンによりリターンされるカラー・ロングワード、カラー・アーギュメント
は、カラー値をリターンする符合なしロングワードのアドレスをリターンする。
目 的
カラーワードを作成すること。
説明
このルーチンは、赤、緑及び青の輝度よりなるカラーを作成する。カラーワード
のフォーマントは次のスケールで示される。
カラーは、アーギュメントとして、SGR$5ET−バンクグランド、SGR$
5ET−ラインーカラー、及びS G R$ 5TAT[ISヘバスされる。
関連ルーチン
SGR$5ET−バンクグランド
SGR$5ET−ラインーカラー
SGR$5ET−サーフェス−カラー
SGR$5TATLIS
夕LL二
SGR$ VECTOR
フォーマント
SGR$VECTOR(コンテキスト、頂点−フォーマント、エディツト−フラ
グ、カウント、頂点−アレイ、ハンドル)このサブルーチン呼出し用のグラフィ
ック・コンテキストの識別子。
コンテキスト・アーギュメントは、グラフインク・コンテキスト・ブロックの識
別子を含む符合なし整数のアドレスである。
頂点−フォーマット
フラグは、頂点−アレイ・アーギュメントによりバスされる頂点のフォーマット
を示す、頂点−フォーマント・アーギュメントは、次のフラグを含む符合なしロ
ングワードである。
ステータスワードを含む。
SGR$M X−セントされると、アレイ内の各頂点はX座標を含む。
SG[18M Y セントされると、アレイ内の各頂点はy座標を含む。
SGR$M Z セントされると、アレイ内の各頂点は2座標を含む。
SGR$M W セットされると、アレイ内の各頂点はW座標を含む。
エディツト−フラグ
フラグは、ルーチンが項目頂点のステータスワードをノード内に記憶するように
フォーマットする方法を特定する。エディツト−フラグは、次のフラグを含む符
合なしロングワードのアドレスSGR$M EDIT POLYLINE セン
トされると、分離ドローモードを伴った項目頂点用のデフォルト・ステ
ータスワードを作成する。
SGR$M EDIT 5EPARATE セントされると、ポリライン・ドロ
ーモードを伴った項目頂点用のデフォル
ト・ステータスワードを作成する。
DGR,3M EDIT POLYLINE又はS G R$ M EDITS
EPARATEのいずれもエディツト−フラグ・アーギュメント内にセットされ
ないと、項目頂点のステータスワードは変化せず、そのステータスワードは各頂
点にて適切に満たされねばならない、エディツト−フラグ・アーギュメントは、
ステータスワードを伴わない頂点には影響しない。
カウント
頂点−アレイ・アーギュメントによりバスされた頂点の数。カウント・アーギュ
メントは、符合なしロングワードのアドレスである。
エメントはロングワードのアレイのアドレスであり、このアレイは、頂点−フォ
ーマット内にセントされたフラグ数により示された頂点コンポーネントの数で乗
算されたカウント・アーギュメントによりバスされた値と等しいロングワードの
数を含まねばならない0例えば、(頂点−フォーマット・アーギュメント内にS
GR$M 5TATUS、SGR$M X、SGR$M Y及びSGR,3M
Zをセットすることにより)頂点−フォーマントが3 D with 5tat
us頂点フォーマットを示し、カウント・アーギュメントが頂点の数が10であ
ることを示した場合、その後頂点アレイは40のロングワードを含まねばならな
い、頂点コンポーネントは、x、ySzSwのステータス順でなければならない
。
全ての座標は、グラフインク・コンテキスト内にセントされたデフォルト浮動小
数点フォーマントによらねばならない。
ハンドル
このルーチンによりクリエイトされたノードの識別子、ハンドル・アーギュメン
トは、識別子を含む符合なしのロングワードのアドレスにリターンする。
目 的
ベクトルノードをクリエイトすること。
説明
このルーチンは、ベクトルノードをクリエイトする。このノードがストラフチャ
ー・ウォーカー27によりトラバースされると、データがグラフインクサブシス
テム17に送られて、上記の如く、表示されるベクトルが描かれる。可視とする
ためには、ベクトルは適切に変形されねばならず、(例えば、それらはクリッピ
ング・ブレーン内になければならず)、(バンクグランドカラーと異なるカラー
の如き)正確なアトリビュートを存し、多角形により覆い隠されないことが必要
である。
各ベクトルは、ステータスワード、及びxSy、z、w座標を有することが出来
る。ステータスワードはドローモードをセットし、及び/又は項目ベクトルカラ
ーが可能となる。
フォーマント
SGR$X ROTATE MATR’lX(コンテキスト、乗算−制御、角度
、マトリックス)
このサブルーチン呼出し用のグラフインク・コンテキストの識別子。
コンテキスト・アーギュメントは、グラフインク・コンテキスト・ブロックの識
別子を含む符合なし整数のアドレスである。
乗算−制御
如何にしてマトリックス・アーギュメントが解釈されるかを特定する0乗算−制
御アーギュメントは、符合なしロングワードのアドレスである。許容しうる値は
、次のものである。
元素 鉦
SGR$K REPLACE マトリックス・アーギュメントは、このルーチン
により生成される新たなマ
トリックスにリターンする。
マトリックス 新−マトリックス
5G17$に−PRE11旧1.TIPLY マトリックス・アーギュメントは
、こツルーチンにより生成される新たなマ
トリックスが予め乗算されるマトリッ
クスを供給する6その後、マトリック
ス・アーギュメントはその結果のマト
リックスにリターンする。
SGR$K POSTl1lllLTIl”LY マトリックス・アーギュメン
トは2、ごのルーチンにより生成された新たなマ
トリックスが後に乗算されるマトリッ
クスを供給する。その後、マトリック
ス・アーギュメントはその結果のマト
リックスにリターンする。
マトリックス マトリックス X
新−マトリックス
角度
ラジアンの回転角度。角度アーギュメントは、F−フローティング・フォーマン
ト内のロングワードのアドレスである。
マトリックス
このルーチンによりクリエイトされるX−回転マトリックス。
マトリックス・アーギュメントは、結果マトリックスを含むF−フローティング
・フォーマット内のロングワードの4x4アレイのアドレスにリターンする。マ
トリックスは、行主要順序となっX−回転マトリックスをクリエイトすること。
説明
このルーチンは、X軸で回転する回転マトリックスを計算する。
その回転は、+X軸から見て時計方向の角度ラジアンである0回転マトリックス
は、マトリックス・アーギュメント内にリターンする。いくつかの追加ルーチン
がホストサブシステム内に記憶され、これによりアプリケーション・プロセス1
00は、ステラクチ十−メモリ26内に記憶され、その結果ストラッチ中−・ウ
ォーカー27によりトラバースされるカラーの3次元イメージを示すグラフィッ
クデータ連係ツートストラクチャ−を構築する。以′ドに示すものは、機能毎番
ごリストされたルーナユ/を伴った完全な構造化グラフィック・ルーチン・ライ
ブラリーの一例である。
、表」−り影pRブリ]icよ」:湧ノSGR$5TATLIS コンテキスト
、フラツグ、カラー、ステータス
亥I工旦53グトリビュート・ルーチンジェネラル・7トリピエートSGRアー
ギ亘ン二上。
SGR$5ET−BACKGROtlND :17 fキスト、カラー、A 7
ト、)LiscRssET−GEOrlETRY−MASK コンテキスト、
イネーブル−マスク、ディスエーブル−マスク、ハンドル
5GFl$SET rNTENsITY RANGE :17テキスト、ミニマ
ム、マキシマム、ハンドル
SGR$5ET3rNE C0LOR、ニア 7フーキスト、カラー、ハンドル
SGR$SET LINE FILTEI? コンテキスト、フィルタ、ハンド
ルディスエーブル−マスク、ハンドル
SGR$SETノF、CTORDRAlj?l0DEコンテキスト、ドロー−モ
ード、ハンドル
ポリゴン6アトリビユートSGI? アーギュメ ン トSGI?$SET L
IG)IT コンテキスト、ライト−+dsライトディスエーブルーマスク、ハ
ンドル
ドル
SGI?$5ET−3URFACjpH0PERT I ESコンテキスト、サ
イド、特性、ハンド
ノIノ
SGR$SET 5TIIING FONT コンテキスト、フラグ、スペーシ
ング−ハンドル、プロセス−ハンドル、グ
SGR$C0LO1l コンテキスト、フラグ、レッド、グリーン、ブルー、カ
ラー
3 : SGR・ルーチン
五里盈旦且 アーギュメント
SGR$BEGIN−12ENDERING コンテキスト、スタイル、ハンド
ルSGR$END RENDERING コンテキスト、ハンドル4 : SG
R・ノ・ルーチン
マ)リフクス・フンボンシコン5GII アーギュメ ン ト 。
SGR$C0NCAT MATRIX D 7テキスト、フラグ、マトリックス
ノーマル−マトリックス、ハンドル
SGR$LOAD MATRIK コンテキスト、フラグ、マトリックスノーマ
ル−マトリックス、ハンドル
SGR$5IJBS丁ITUEE MATRIX ] 7テキスト、フラグ、マ
トリックスノーマル−マトリックス、ハンドル
角度、ポイント1、ポイント2、
マトリックス
SGR$5CALE MATRIX :l ”Jテキスト、マルチイブライ−制
御、ベクトル、マトリックス
SGR$ROTATE MATRIX コンテキスト、マルテイブライー−fi
ll?■、角度、マトリックス
SGR$Y ROTATE MATRIX ニア 7テキ、2. )、’7/L
/テイフ゛ライー311省卸、角度、マトリックス
SGR$Z ROTATE−MATRIX コアテキスト、マルチイブライ−角
度、マトリックス
フロム、トウー、アップ、マトリ・ツクス
ジマス、インシイデンス、ツイスト、
コンテキスト、マルチイブライ−制御。
高さ、アスペクト、フロント、バック、コンテキスト、マルチイブライ−制御、
角度、高さ、アスペクト、フロント、
Jレ
ジェネラル・マ)リフクス・コーティリティSGR アーギュメ ン トSGl
l$COPY MATl?IX コンテキスト、フロム−マトリックス、トウー
−マトリックス
SGR$IDENTITY−MATRIX D 7fキスト、マトリックスSG
R$IDVERSE MATRIX :I ンテキスト、マトリックスインバー
ス−マトリックス
SGR$MULTIPLY MATRICBS コンテキスト、ブリマトリック
ス、ボSGR$NO闘^L MATRIX コンテキスト、マトリックス、ノー
マル−マトリックス
5 : SGRビューボー ・ルーチン6 : SGRストークヂャー・ビイル
ディング・ルーチンストラクチ會−・ビ農ダイングSGR アーギュメ ン ト
SGR$BEGIN STRLICT[IRE コアテキストSGR$END
STRUCTURE コンテキスト、ハンドル7:SGR ルーチン
焦]1■11Σ亙」」 アーギュメントSGIl$CALL 文脈、基準モード
、モード、オブスペック、カウント、アザ−ワイズ・ハン
ドル、ケース・ハンドル、ハンドル
SGR$COMPARE 文脈、基準モード、モデル、オプスペック1、モード
2、オプスペノク2、
レス・ハンドル、イクオール・ハンド
ル、グレーグ・バンドル
バンドル
SGR$TEST 文脈、基準モード、モデル、オプスベソク、トウルー・ハン
ドル、ファシス・ハンドル、ハンドル
SGR$$εST − AIID − CLεAt? 文脈、基準モード、モー
ド、オプスペック、トウルー・ハンドル、ファシス・SGR$TEST − C
LEAll 文脈−基準モード、モデル、オプスペック、モード2、オブスペッ
ク2、ト
ウルー・ハンドル、ファシス・ハンド
ル、ハンドル
SGR$T[iST − SET 文脈、基準モード、モデル、オプスペック、
モード2、オブスペソク2、ト
ウルー・ハンドル、ファシス・ハンド
SGl?$ADD 文脈、モデル、オプスペック、モード2、オブスペソク2、
ハンドル
SGl?$CLEAR − BITS 文脈、モデル、オブスベソク1、モード
2、オブスベンク2、ハンドル
SGR$MOVE 文脈、モデル、オブスペック1、モード2、オブスベンク2
、ハンドル
SGI?$MOVE −BLOCK 文脈、サイズ、−E−7ル、オプスヘフク
1、モード2、オブスペック2、ハン
ドル
SGR$?IOνE −11AsK 文脈、マスク、モデル、オブスペック11
モード2、オブスペック2、ハン
ドル
SGR$SET −BITS 文脈、モデル、オブスペック1、モード2、オブ
スペフク2、ハンドル
SGR$SUB 文脈、モデル、オブスペック1、モード2、オブスペック2、
ハンドル
5Gll$X01l 文脈、モデル、オブスペック1、モード2、オブスベソク
2、ハンドル
表8 : SGRグラ入Lムし文■ヱニ至lグラフィック SGRアーギュメイ
」−5GR$C0PY −C0NTFST 文脈から文脈へSGR$CREAT
E −CON丁EST ディスプレイ、文脈グラフィック文脈編集5GR−
兜一太一一処−1ヱニエエムZ上
5GR1lNO・DEF・
BASE −GEO?IETRY 文脈、ジオメトリSGR$INQ −DEF
・
BLINK・PERIODS 文脈、オン、オフSGR$INQ −DEF・
BIIFFERING −110DE 文脈、モードSGl?$INQ ・[l
EF・
DRAWABLE 文脈、ドローワブルSGR$INO・DEF ・
FIR5T −PICX 文脈、ビック・ナンバーSGR$INO・DEF・
FP −FORMAT 文脈、rpフォーマント、rpブロック指数
SGR$INQ・DEF・
)IIT −BOX −LOGATTON 文脈、ヒント・ボックス・ロケーシ
ョン
SGR$INQ −DEF ・
HIT −BOX −5IZE 文脈、ヒント・ボックス・サイズSGR$I!
IQ −DEF・
Ll)IE −FILTER文脈、フィルタ・ナンバー、フィルタ値
SGR$INロ ・ DEF ・
PATH−5TACK 文脈、バス・サイズSGR$IN[I・DEF・
PICM −ID −5TACK 文脈、ビック・id・サイズ5GIl$4N
Q −DEF・
PICK −1,IMIT 文脈、ビック・リミット5Gll$INQ −DE
F・
PICK −QLIEIIE 文脈、ピンク・サイズ、バス・サイズ、ビック・
id・サイズ
SGR$INQ −DEF・
REPEAT −PERIOD 文脈、期間SGR$INQ −DEF・
TRAVER5AL −10文脈、) ラバー +nz ・tdSGR$INΩ
・DEF ・
丁1?AVEI?sAL −MODE 文脈、モードフラグSGR$INQ −
DEF・
UPDATE −1’l0DH文脈、更新モードSGR$IIJQ −[)EF
・
VERTEX 文脈、バーテンクス・4dSGR$INO・[IEF・
VIRTIIAL −ROOT 文脈、ハンドルグラフインク文脈編集5GRs
−
センチイノ久 アーギュメント
SGR$INO−DEF・
BASE −GEOMETRY 文脈、ジオメトリ5GIl$ING −DEF
・
BLINK −PERIODS 文脈、オン、オフSGR$INQ −DEF・
BUFFERING −MODE 文脈、モードSGR$INQ −DEF・
DRAIIABLE 文脈、ドローワブル、アタッチ・デタソチ
5Gii$INO・[1lEF・
FIIlST −PICK 文脈、ビック・ナンバーSGR$INQ −DEP
・
FP −FOR1’lAT 文脈、rpフォーマント、rpブロック指数
SGR$INΩ・[lEF・
旧T −BOX −LOCATION 文脈、ヒント・ボックス・ロケーション
SGR$TNQ −DEF ・
旧丁・BOX −5IZE 文脈、ヒツト・ボックスサイズSGR$INO・D
EF・
LINE −FILTER文脈、フィルタ・ナンバー、フィルタ値
SGR$iNQ −DEF・
PATH−5TACK 文脈、バス・サイズSGR$iNQ −DEF・
PI(J −10−5TACK 文脈、ビック・id・サイズSGR$l110
・ DEF ・
PICK −LlHIT 文脈、ビック・リミットSGR$INQ −DEF・
PICK・QUEtlE 文脈、ピンク・サイズ、バス・サイズ、ビック・id
・サイズ
SGR$rNQ −DEF・
REPEAT −PERIOD 文脈、期間SGR$INQ −DEF・
TRAVER5AL −10文脈、トラバーサ71z・1dSGR$INO−D
EF・
T’RAVER5AL −MODE 文脈、mode1glagsSGR$IN
Q −DEF・
LIPDATE −MODE 文脈、更新モードSGR$INO−DEF・
VERTEX 文脈、バーテンクス−4dSGl?$INQ −DEF・
VIRTUAL −[100? 文脈、ハフ )’ 7L/表に旦旦3ドーパー
サル穆′ルーチン
」上”)火五夷銭旭 アーギュメント
SGR$ADD ・ TO・
QUEtlE 文脈、キュー・ハンドル、ファースト・ハンドル、ラスト・ハン
ドル
SGR$QUEUE 文脈、基準モード、ファースト・ハンドル、カレント・ハ
ンドル、ラスト・
ハンドル、ハンドル
SGR$$REMOVE ・
FROM −QUEUE 文脈、キュー・ハンドル、ファースト・ハンドル、ラ
スト・ハンドル
SGR$INO・
TRAVE[1SAL −5TATE 文脈、トラバーサ7L/−タイプ、ウェ
イト・フラグ、ステート
SGR$RELEASE・
tlP[1ATES 文脈
SGR$REQIIEST・
TRAVER5AL 文脈、トラパーサル・タイプ10:SGRピ・キング・ル
ーチン
旦ヱま7j” 3匹」■ アーギュメントSGR$COMPUTE・
PICK −POINT 文脈、ノード・ピンクド、タイプ、ビック・ベクトル
、vert−geow 嘲マント、ユーザー・ベクトル
SGR$C0NCA丁 ・
PICX −ID 文脈、識別子、ハンドルSGR$GET −PICK 文j
llR、マックス・パス・ベア、マックス・ピンク・ids 、スティタス、ノ
ード・ビンクド、タイプ、インデックス、ビック・ベクトル、シert−geo
I11“マット、nuw’ベア3ret、パス、num’ids ・ret %
ピンク1ds
SGR$LOAD・
PICに弓D 文脈、識別子、ハンドルSGR$PIIINT・
PI(J 文脈、マックス・パスペア、マックス・ピンク・jds %スティタ
ス、ノード・ビンクド、タイプ、インデックス、ビ
ック婚ベクトル、vert φgeom φマット、nun−ペアΦretsバ
ス、r+u−−ids −ret S ビック1ds
SGR$5UBSTITIITE・
PICK −ID 文脈、識別子、ハンドル11 : SGRハンドリング・ル
ーチンハンドリング5GRs アーギュメントSGR$ALLOCATE・
DEVICE 文脈、装置
SGR$C0)INEcT・
DEVICE −To −MAT 文脈、装置、ハンドル、幾何学的操作、軸線
、マトリックス操作、ヴァリュー・ニーセージ・フラグ
SGR$DISCONNECT・
DEVICE −Fl?OM −MAT 文脈、装置、ハンドルSGR$5rS
PATCH−
DEVICE −EVENT 文脈、事象SGR$FIND・
DEVICE 文脈、ディスプレイ、装置−タイプ、ユニット、装置・id(、
nB1n5
〔、nDims ) )
SGIl$FREE・
DEVICE 文脈、装置
SGR$GET・
DEVICE −ATTR文脈、装f1%attrBIockSGR$GET・
DEVICE −CHAR5文脈、装置2. nB1n5 % nDims 5
ndevice s neXjdeVlceSGR$GET・
[IEVICE −VALUE 文脈、装置、valueBlockSGR$S
E?・
[IEVICE −AS丁 文脈、装置、valueB]ock、事象コード、
アクシラン、パラメータ
SGl?$SET・
DEVICE −ATTR文脈、装置、attrBIockSGR$SET・
DEVICE −LABEL 文脈、装置、レーヘル、カウントSGR$S[、
τ・
DEVICE −VALUE 文脈、装置、valueBIock12:SGR
’告 ル−チン
′ トロポジー5GRs アーギュメントSGR$INQUIRE・
LINKS 文脈、ハンドル、前ハンドル、次ハンドル
SGR$INQUIRE・
REFERENCE 文脈、ハンドル、インデックス、基準ハンドル
SGR$POSTFIX −
NODE 文脈、ハンドル、新ハンドルSGR$PREFIX −
NODE 文脈、ハンドル、新ハンドルSGR$REPLACE・
INDIRECT 文脈、ハンドル、間接ハンドルSGR$REPLACE・
NEXτ 文脈、ハンドル、新次ハンドルSGR$REPLACE・
+10DE 文k、ハンドル、新ハンドルSGl?$l?EPLACE・
REFERENCE 文脈、ハンドル、インデックス、基準SGR$INQtl
lRE・
BITMASKS 文脈、ハンドル、イネーブル・ビット、ディスエイプル・ピ
ント
SGR$INQυIR8・
CHARACTERS 文脈、ハンドル、第1位置、最終位置、ストリング・サ
イズ、結果カウント、
結果ストリング
SGI?$INQUIRE・
C0LOR文脈、ハンドル、カラー
SGR$INQUIRE・
DEFAULT・VERTEX 文脈、ハンドル、バーテンクス・4dSGR$
INQUIRE ・
FP −BLOCX −EXPO)IENT文脈、ハンドル、fpブo7り指数
5Gll$INQ[IIRE ・
IND lllECT 文脈、ハンドル、間接ハンドルSGR$INQIIIR
E・
INTENSITY −RANGE 文脈、ハンドル、ミニマム、マキシマム
SGR$INQUIRE・
LINE −FILTER文脈、ハンドル、フィルタSGR$INQUIRE・
MATRIX 文脈、ハンドル、フラグマトリックス、ノーマル・マトリック
ス
5G)l$IN[1uIRE・
N0DE −ENABLE 文脈、ハンドル、オンオフ5Gli$INQUII
?E・
N0DB −TYPE 文脈、ハンドル、ノード・タイプSGR$IN口υll
?E ・
0PSPEC文脈、ハンドル、オブスペック・r d sオブスペック
5G11$l1IQ[III?E −
PICK −10文脈、ハンドル、識別子SGR$INQυIRE・
PLANE −EQLIATION 文脈、ハンドル、ブレーン方程式%式%
REF・C0UNT 文脈、ハンドル、結果システム・カウント、結果ユーザー
・カウント
SGR$INQUIRE・
5TRING −5PACING 文脈、ハンドル、間隔バーテックスSGR$
INQUIRE・
IJsER−DATA 文脈、ハンドル、ユーザー・データSGR$INQUI
RE・
USER−TYPE 文脈、ハンドル、ユーザー・タイプSGR$夏N[]UI
I’lE ・
USER−TYPE 文脈、ハンドル、ユーザー・タイプSGR$INQUIR
E・
VERTICES 文脈、ハンドル、第1位置、最終位置、アレイ・サイズ、結
果カウント、結果
バーテックス・アレイ
SGR$IN(IUIRE・
■IEWPOINT 文脈、ハンドル、左下、右上ノード 5GRs−六 アー
ギュメントSGR$REPLACE・
BITFIASKS文脈、ハンドル、イネーブル・ピント、ディスエイプル・ビ
ット
SGR$REPLACE・
C)IARACT[!R5文脈、ハンドル、位置、削除カウント、挿入カウント
、挿入ストリング、結果
ハンドル
SGR$REPLACE・
C0LOR文脈、ハンドル、カラー
SGR$REPLACE・
DEFAυLT −VE!?TEX 文脈、ハンドル、バーテックス・4dSG
l?$REPLACE・
FP −BLO(J −EXPONENT文脈、ハンドル、fpブoyり・指数
SGR$I?EPLACE・
INTENSITY −RANGE 文脈、ハンドル、ミニマム、マキシマム
SGR$REPLACE・
LINE −FILTER文脈、ハンドル、フィルタSGR$REPLACE・
?IATRIX 文脈、ハンドル、フラグ、マトリックス、ノーマル・マトリッ
クス
SGR$REPLACE・
N0DH−ENABLE 文脈、ハンドル、オンオフSGR$REPLACE・
0PSPEC文k、ハンドル、オブスペック・id1オプスペック
SGR$REPLACE・
PICK −10文脈、ハンドル、識別子SGR$REPLACE・
PLANE −EQUATION 文脈、ハンドル、プレーン方程式%式%
5TRING −5PACING 文脈、ハンドル、間隔バーテックスSGR$
REPLACE・
USER−DATA 文脈、ハンドル、ユーザー・データSGR$REPLAC
E・
USEI? −TYPE 文脈、ハンドル、ユーザー・タイプSGR$REPL
ACE・
VERTICES 文脈、ハンドル、位置、削除カウント、挿入カウント、挿入
バーテックス、結
果ハンドル
SGR$REPLACE・
VIEWPORT 文脈、ハフ )’ JL/、左下、右上SGR$DECRE
MENT・
REF −C0UNT 文脈、ハンドルSGR$INCRE?IENT −
REF −C0UNT 文脈、ハンドルSGR$DATA 文脈、サイズ、デー
タ、ハンドルSGR$GENELIC文脈、サイズ、データ、ハンドル5GIl
$INDIRECT 文脈、ハンドルへ、ハンドルここで第4図を参照して、こ
こには構造メモリ26がブロック図の形で示しである。この構造メモリの主機能
は生成したグラフ配置したビットマツプ・グラフインク・パッケージのいずれか
を介してホスト中央処理ユニット10内に存在するアブリケーシッン・プログラ
ム100によって構成されたグラフィック・データ構造の「稼働コピー」を記憶
することにある。このメモリはメモリ装置200のアレイで構成されており、こ
れらのメモリ装置は256K CMOS DRAMSとして設けてあり、各々が
1メガバイトの最小メモリ・サイズを存する。メモリ装置200のアレイは全体
で4メガバイトのメモリを構成するように配置しである。200nsを採るラン
ダムアクセスとスタティック・コラム・モードを用いてワードあたり100ns
の逐次アクセスを実行する。
構造メモリ・バス201はメモリ装置をll32Busインターフエース202
、構造ウォーカー・インターフェース203および翻訳プロセッサ・インターフ
ェース204に接続して、それぞれ、制御プロセッサ13、翻訳プロセッサ36
、構造ウォーカー27を経てのメモリ装置200とホスト中央処理ユニット10
との間でのデータのやり取りを行なう。構造うオーカー27は上述したように三
次元グラフインク・データ構造ノードをトラバースするようにプログラムを組ん
だ特殊用途32ピント・ビットスライス・プロセッサである。グラフインク、サ
ブシステムの構造メモリ26および構造ウォーカー27の構成要素についての一
層詳しい説明が必要ならば、Evans & 5utherland Comp
uter Corpo−rationの刊行したrShadowfax Tec
hnical ManualJを参照されたい。
上々ヱ痴f嫁層性匪
本発明の成る重要な特徴によれば、トラパーサル制御機能はホスト、グラフィッ
ク・サブシステムの構成要素の中に区画割りされており、ホスト中央処理ユニッ
ト10内に存在するいくつかの競合するアプリケーション・プログラム100に
よってなされるグラフィック構造トラパーサルのためのリクエストを受け入れ、
このようなトラパーサル・リクエストを順次にスケジュールし、ディスパッチす
る。
トラパーサル制御機能は構造メモリ26内に構築されたノード制御構造内に具体
化されており、構造メモリは、トラバースされたときに、トラパーサル・リクエ
スト機構、ハンドル・トラパーサル・り、ケジューリング、トラパーサル・モニ
タリング、アプリケーション同期化を与える。制御構造は中央処理ユニフ)10
内に存在するいくつかのアプリケーション・プログラムのすべてを廃棄する状態
にグラフインク・サブシステム17を置き、各プログラムがグラフインク・サブ
システム17を自分自身のものと見なすように作用する。したがって、トラパー
サル制御構造は競合するアプリケーション・プログラム100からのトラパーサ
ル・リクエストを構造ウォーカー27の非同期動作と調和させ、グラフインク・
サブシステム17の処理能力を最大限に発揮させると共に多数のアプリケーショ
ン・プログラムを処理できるようにする。
本発明によれば、3つの基本的なトラパーサル構造がある。すなわち、システム
制御構造(SO3)と、三次元ディスプレイ文脈(3DDCs)と、三次元グラ
フインク文脈(30GCs)とである、システム制御構造は構造ウォーカー27
にとってはトップレベルの制御器であり、構造ウォーカー27作動システムとし
て作用する。ディスプレイ文脈はウィンドウによって構成されたモニタ・スクリ
ーン上のビュウポイント内に三次元像のマフピングを行なう、グラフインク文脈
はすべてのグラフインク属性を与え、対応するディスプレイ文脈に対する接続を
含むグラフィック・データ構造のトラパーサルを行なうのに必要な情報を制御す
る。
制御構造はアプリケーションによって生成されたグラフィック文脈の重複リンク
ド・リストをシステム制御構造に添付することによって相互連結される。リスト
内のグラフィック文脈の各々はグラフィック文脈を1つのディスプレイ文脈に相
互連結するのに用いられる1つのディスプレイ文脈根ノードと、グラフィック・
データ構造へのリンクとして用いられる1つの仮想根ノードとを含む(第5図参
照)、ディスプレイ文脈は多数のグラフィック文脈の中で共用され、いくつかの
グラフィック文脈を単一のウィンドウ内で作動させることができる。さらに、グ
ラフィック・データ構造の全体または一部を多数のグラフインク文脈の中で共用
することもできる。
システム制御構造
システム制御構造(SO3)は構造ウォーカー27のための監視プログラムとし
て作用し、次の機能を実行する。
0 3DGC)ラバーサルのためのリクエストを検出し、受は入れること。
○ スヘでの3 DGC)ラバーサルをスケジュールし、ディスバッチする。
03DDCsへの更新を行なうこと。
○ サーバー101におけるトラパーサル制御機能によってリクエストされるま
まに3DGCsおよび3DDCsを非活動化すること。
SCS作成・制御
DDX始動手順の一部として、ウィンドウ形成用サーバー101はトラパーサル
ll1IN御機能を呼び出してSC3構造のために必要とされるグラフィック・
データ・構造ノードを割当て、生成すると共にそのトラパーサルを開始する。
ひとたび始動したならば、SO8はすべてのトラパーサル・リクエストが満たさ
れるまで実行し続ける(すなわち、トラバースされ続ける)、すべてのリクエス
トが満たされたならば、scsは制御プロセッサ13をリクエストすることによ
って停止して次の垂直方向リドL−−ス事象でトラバースを再開し、過剰なS
OSリクエスト処理を防ぐ0次の例外状況でのみ、5C3)ラバースは終了し、
サーバー101によつて再始動を要求する。
la) サーバー101はトラバース・タイムアウト状態を検知する。
(b)SC3検出のエラー状態が検出される。
tc+ サーバー101はサーバー・ランダウン手続きの一部としての「サーバ
ー・ランダウン」リクエストを発行することによってSO3)ラバーサルを終了
してしまう。
fdl 構造ウォーカー27がエラー状態に遭遇すると、そのときには、制御プ
ロセッサ13に通告した後に停止することになる。
SOSデータ・ブロック
機能を果たすために、SC8構造はrscsデータ・ブロック」として集合的に
知られる構造メモリ26内の一部の制御変数を維持する。このデータ・ブロック
の内容を以下に説明する。
○S CS −3tate
このロングワードは次の値の1つを採ることによってSO8実行の現行状態を示
す。
SGR$$K −5TATE −INITIAL−S CSがなおその初期処理
を完了しなければならない。
SGR$$K −5TATE・UPDATE−S OSがSCS更新処理を実行
しつつある。
SGR$$K −5TATE・l0LH−S OSがなんらトラパーサル・リク
エストがベンディング状態にあるのを見出せなかった後に停止し、次の垂直方向
リトレース事象で制御プロセッサ13によって再開されることが考えられる。
SGR$$K −5TATE −EVENT−S OSが制御プロセッサ13に
成る事象を提供し、直ちに再開されると考えられる。
SI”、R$$K −5TATE −TRAV −PHASE −S CSがト
ラパーサル処理を実行しつつある。
SGR$$K −5TATE −1?ANDOWN −S CSが「サーバー・
ランダウン」リクエストを処理してしまった。
SGR$$K −5TATE −TRAV −11PDATE−S OSがクラ
イアントのグラフインク・ディスプレイ構造にSO3据え置き更新を実行してい
る。
SGR$$K −5TATE −TRAV −CXT −5ETUP −S C
Sが3DGC−(=ントアソブ処理を実行している。
SGR$$K −5TATE −Tl?AV −CXT −CLEAIIUP
−S OSが3DGC−クリーンアンプ処理を実行している。
SGR$$に一5TATE−TRAI 3 DDC−3DDC構造がトラバース
されている。
SGR$$K −5TATE −TRAV −CLIENT−クライアントの1
00グラフインク・ディスプレイ構造がトラバースされている。
SGR$lK −5TATE −INT −ERROR−S CSが内部エラー
を検出した後に停止した。
構造ウォーカー27はこのロングワードへ排他的書込みアクセスを要求する。
OS CS −Frame−Bank
これはどのフレーム・バッファ・バンクがディスプレイされているのかを示すシ
ステム−ワイド・ロングワード・フラグである。
SGR$$K −BANK −A−フレーム・バッファ・バンクrAJが現在表
示されている。
SGR$$K・BANK −B−フレーム・バッファ・バンクrBJが現在表示
されている。
構造ウォーカー27はこのロングワードへ排他的書込みアクセスを要求する。
○S CS −WLtlT −BANXこれはウィンドウ・ルックアップ・テー
ブル(WLLIT)のどのイメージ・バンクが活動状態にあるかを示すシステム
側ロングワード・フラグである。
SGR$$K −5IDH−A−ウィンドウ・イメージ・バンクrAJが現在活
動状態にある。
SGR$$X −5IDE −B−ウィンドウ・イメージ・バンクrBJが現在
活動状態にある。
この構造ウォーカー27はこのロングワードに排他的書込みアクセスを要求する
。
Q S CS −Perfo■PTraversalこのロングワード・フラグ
は内部的にSO8で使用されてリクエスト処理の終りでトラパーサル・リクエス
トの不在を検出する。
構造ウォーカー27はこのロングワードに排他的書込みアクセスを要求する。
03 C3−5Hap −Bank ◆Requestこのロングワード・フラ
グはSO8で内部的に使用されてフレーム・バッファ・バンクがトラパーサル処
理の終りでスワップされなければならないことを思い出させる。これはフレーム
・バンク・重複バッファ処理ウィンドウの3DDCsによってセントされる。構
造ウォーカー27はこのロングワードに排他的書込みアクセスを要求する。
○S CS −5wap−WLIIT−Requestこのロングワード・フラ
グはSO8で内部的に使用されて−LOTのウィンドウ・イメージ・バンクがト
ラパーサル処理の終りでスワツプされなければならないことを思い出させる。そ
れはWLUT・バンク・重複バッファ処理ウィンドウの3DDCsによってセン
トされる。構造ウォーカー27はこのロングワードに排他的書込みアクセスを要
求する。
○S CS ゝ5erver 3Rundownウィンドウ形成用サーバー10
1がこのフラグを非ゼロにセットして構造ウォーカー27をして優雅に(トラパ
ーサル・フェイズ処理の完了時に)SC3のトラパーサルを終了させる。構造ウ
ォーカー27はSO3)ラバーサルを停止させる前の最終アクションとしてサー
バー101をクリアすることになる。
OS CS 1 Nun 1 Pa5sesこのロングワードはSCSメインル
ープを通してPa5sesモードのカウントを受ける。構造ウォーカー27はこ
のロングワードに排他的書込みアクセスを要求する。
Q S CS Nun ・ FrancesこのロングワードはSC3)ラバー
サル処理が実施された回数のカウントを含む、構造ウォーカー27はこのロング
ワードに排他的書込みアクセスを要求する。
OS CS φPrevious−Tiw+eSO3のリクエスト/トラパーサ
ル・ループの始動時に、このロングワードは601(zでロードされ、制御プロ
セッサ13がタイム値を保持する。これはS CS −Elapsed Ti+
+eを決定するのに用いられる。
○S CS −Elapsed−TtmeこのロングワードはSC3のリクエス
ト/トラパーサル・ループ間で経過した60)1zシステム時間の間隔をホール
ドするのに用いられる。この値はブリンクで用いられ、トラパーサル・スケジュ
ーリング・アルゴリズムを反復させる。
Q S CS 、 Watchdog−TierSO3は実行時の成る時点で最
長処理間隔でこのロングワードをロードする。サーバー101内のトラ−パーサ
ル制御機能はこのタイマを周期的に減分し、タイマがゼロになったときにタイム
アウト処理を実施する。
○S CS 、 Event−Pointerこのロングワードは成る事象に添
付したデータ・ブロックの仮想アドレスを含む、構造ウォーカー27はこのロン
グワードに排他的書込みアクセスを要求する。
○S CS 、 Queue−NodeこのロングワードはSC8更新処理サブ
ストラクチヤー内のキュー・ノードのハンドルを含む
OS CS 、 Pick ・Id−5tackこのロングワードはシステム省
略時ピンク・バス・スタック・ノードのハンドルを含む。
Q S CS 、 Ca1l ・Update−NodeこのロングワードはS
C3更新処理におけるコール・ノードの仮想アドレスを含む、このノードは更新
機構によって要求されてSO3への据え置き更新を実施する。構造ウォーカー2
7はこのロングワードに排他的書込みアクセスを要求する。
os CS、 Num−G Cs
このロングワードはSC8に添付した3DGCにおける3 DGCの数を反映す
る。構造ウォーカー27はこのロングワードに排他的書込みアクセスを要求する
。
03C3,GC4ist・Head
○SC3,GC−List4ail
これらのロングワードはSC3に添付した3DGCsのダブルリンク・リストを
記載している。これらのロングワードは3 DGCデータ・ブロックの構造メモ
リ・アドレスを含むポインタか、あるいは、3DGCsの不在を示す「空白」で
ある、構造ウォーカー27はこれらのロングワードに排他的書込みアクセスを要
求すQ S CS 、Li5t−)lead○S CS、Li5t−Tail
これらのロングワードはSC8に添付した3DDCsのダブルリンク・リストを
記載している。これらのロングワードは3 DDCsの構造メモリ26アドレス
を含むポインタである。構造ウォーカー27はこれらのロングワードに排他的書
込みアクセスを要求する。
OS CS 、 Current−G C−Pointerこのロングワードは
5OS)ラバーサル処理によって現在処理されつつある3DGCデータ・ブロッ
クの構造メモリ26アドレスでロードされる。構造ウォーカー27はこのロング
ワードに排、他的書込みアクセスを要求する。
Q S CS 、 Current−D C−Pointerこのロングワード
は5CS)ラバーサル処理によって現在処理されつつある3DGCに添付された
3DDCデータ・ブロックの構造メモリ26アドレスでロードされる。構造ウォ
ーカー27はこのロングワードに排他的書込みアクセスを要求する。
QS CS 、 Current−C1ient−Potnterこのロングワ
ードはSCSトラパーサル処理によって現在処理されつつある3DGCに添付さ
れたクライアント100グラフイツク・データ構造の根の構造メモリ26アドレ
スでロードされる。
構造ウォーカー27はこのロングワードに排他的書込みアクセスを要求する。
O3CS、 Current ・G C−I DこのロングワードはSCSトラ
パーサル処理によって処理されつつある3DGCのグラフィック文脈識別rC;
D IDJでロードされる。クライアント処理100はこのロングワードを点検
していくつかの3DGCのうちのどれがそのトラパーサルを要求されたか決定す
る。
QS CS、 Current−G C−5tart−TiffieO3CS、
Current−G C・End−Timeこれらのロングワードは3DGC
のトラパーサルが開始し、完了した制御プロセッサ13維持のシステム時間でロ
ードされる。
構造ウォーカー27はこのロングワードに排他的書込みアクセスを要求する。
QS CS 、Current 9Traversal 8Typeこのロング
ワードの内容は現在実行されているトラパーサルのタイプを反映している。構造
ウォーカー27はこのロングワードに排他的書込みアクセスを要求する。
−3GR3SK−DRAW−TRAVER3AL−SGR3SK−HITTES
T−TRAVER3ALscsi成
SO8構造の編成を以下に説明する。
SO8構造はリクエスト・モードとトラバース処理モードの間で変わる。リクエ
スト・モード中、SO8に添付された3 0GCリストの各3 DGCは順次に
訪問される。トラパーサルのリクエストが未解決で、3DGCの現在の状態が許
すならば、3DGCデータ・ブロック内のフラグが更新されてトラ−バース処理
において適切なトラパーサルを生じさせることになる。さらに、少なくとも1つ
のドロー・トラパーサル・リクエストが特定のクラスの3DGCについてなされ
たならばフレーム・バッファ・バンクまたはウィンドウ・ルンクアップ・テーフ
゛ル・イメージ・バンクのいずれかに応答してドロー・トラパーサルがすべての
3DGCsについて実行されることになる。
少なくとも1つの有効トラパーサル・リクエストがリクエスト処理で検出された
と仮定すると、トラパーサル処理モードは受け入れられたすべてのリクエストを
満たすように進行する。これは3DGCリストの各30GCを順次に訪問するこ
とによってなされ、必要に応じてヒントテストおよびドロー・トラパーサルをこ
の順序で実施する。2タイプのトラパーサルの任意のグループ化が、対応するリ
クエストが発行されたとすれば、所与のトラパーサル・バスにおいて3DGCに
なされ得る。トラバース・リクエストがなんら解決されていない場合には、SO
3は次の垂直方向リトレース事象まで停止したままに置かれ、この事象が生じた
時点でリクエスト処理が再度実施される。これは構造メモリ26に不必要なロー
ドがなされるのを防ぐために行なわれる。
BEGIN 5C3
Define 5tate and matrix 5tack overfl
ow areasHIP (SC55tate −” In1tial’) T
)IEN3D Graphjcs−1nitjalizationHNDIP
Set SCS、Watchdog−TimerH5C5Update−Pro
cessingHRequest Processing;Traversal
Processtng;END ll0
C1ear SC3,5erver Rundown;SC5,5tate =
” Rundown”:END 5C5
BEGIN 3D Graphics−InitializationInit
ialize the SC5,Frame Bank to Bank ”A
″[bejng displayed ]C1ear both valid
planes;In1ttalization Hierarchical 5
tate ’END 3D−Graphics In1tialization
SOSトラパーサルが開始したとき、SO8は直ちに状態・マトリックス・スタ
ック・オーバーフロー・エリアを定め、いくつかのフラグを初期化し、そのメイ
ン処理ループに入るように進行する。
SCS更新処理
SOSループの最初の部分はSO3更新処理である。この部分は更新機構を使用
してSCSに据え置き更新を実施する。
BEGIN SC5Update−ProcessingSC5,5tate
= ” Update Phase”HPerfoma update to
SC5via call to SC3,Ca1l−Update Node:
END 5CjUpdate Processingリクエスト処理
SOSループのリクエスト処理部分またはモードは2つの機能を実施する。第1
の機能は3DDCデータ・ブロックに修正を施すことにある。これを行なうため
に、リクエスト処理はシステムにとつで既知であるすべての3DDCsを点検し
、未解決のリクエストをスワップしているもののractive half J
をトグルする。
この処理はリクエスト処理およびトラパーサル処理中に一貫した3 DDCデー
タを確保するために実施される。
次に、リクエスト処理は3Dクライアント100およびディスプレイ・マネージ
ャーから(3DDCデータ・ブロックに含まれる情報から)トラパーサル・リク
エストを集める。この処理は3DGCリストに含まれる3DGC構造をトラバー
スすることによって実施される。各3DGCは、「リクエスト・フェイズJ S
C5状態を検出した後、そこに向けられたすべての未解決のトラパーサル・リク
エストに答えることになる。このリクエスト処理の結果は3DGC内に保持され
る。
さらに、重複バッファ処理3DGCs (フレーム・バッファ・バンクまたはウ
ィンドウ・ルックアンプ・テーブル・イメージ・バンクのいずれかに応答して3
DDCsを持つ)が訪問された場合、特定のバンクをスワップするリクエストが
記録される。これはすべての30GCsのドロー・トラパーサルを強制し、実際
のスワツピング指令をトラバース処理の終りに給送するのに用いられる。
各30GCを訪問した後になんらトラバース・リクエストが検出されなかった場
合には、SO8はそれ自身を眠らせる。制御プロセッサ1.3(ACP)は次の
垂直方向リトレース事象でSOSトラバースを再開する。
BEGIN Request ProcessingSC5,5tate =
” RequesjPhase’;C1ear SC5,511ap Bank
RequestHClear SC3,Swap WLLIT Reques
t;O
Increment SC3,Num Phases;SC5Elapse T
ime−5yste+a VRCount SC5Previous−Time
:SC5Previous Time = 5ystes+ VRCount;
1F (NOT SCS、 Perform Traversal) THEN
SCS、5tate −” Idle″;Request ACP to re
sume SCS at next VRevent;5uspend tra
versalH3C3,5tate = ” Request Phase”H
NDIF
[JNτIL (SC3,Perform Traversal ORSC3,
5erver Rundown)END Request Processtn
gBEGIN Traversal GCLi5tRO= SC5,GCLi5
t Head:W)IrLE (RO[GChandle ] NOT NIJ
LL) D。
5ave physical addr of 3DGCdata block
1nRO= GC,FlinkH
NDDO
RO= SC5,DCLi5jHead;W)IILE (RO[DChand
le ] NOT NULL) D。
IF (3DDC,System Enabled) T)IENIP (3D
DC,K11l)THENClear 3DDC,K11l;
Set 3DDC,DeadH
LSE
C1ear 3DDC,C1ear−RequestH5end 3DDC,C
1ear Window generic node to clear wi
ndow;lF (3DDC,Swap Request) T)IENTog
gle 3(11)C,Active Hlaf;C1ear 3DDC,Sw
ap−Request;NDIF
ALLOW ATTENTION INTERRUPTS:IF (3DDC,
C1ear Request) THENClear 3DDC,C1ear−
Request;5end 3DDC,C1ear Window gener
ic node to clear window;ENI)IF
EN[1IF
RO−3DDC,Flank;
NDDO
RO−SC5,GCLi5t Head;讐旧LE (RO[[;Chandl
e ] NOT NLILL) DOIP (3DGC,5ysteffiEn
abled) TIIENlF (30GC,DC−Date Ptr=3DD
Cbeing deleted [RI] )HEN
3DGC,DCDate Ptr = NLILL;NDIF
ENI)IF
RO= 3DGC,Flink:
END Remove DCLinksトラパーサル処理
SOSループのトラパーサル処理部分またはモードは3 DGCリストに記載さ
れている各3DGCを訪問する。このアクションは各3DGCに含まれるリクエ
スト処理、モード情報の結果に応じてトラパーサルを開始する。成る種のハード
ウェア・特殊動作が実際の文脈トラパーサルを大かっこで(くる、さらに、一方
または両方のバンク・フラグが先にリクエスト処理に実施されたウィンドウ−タ
イプ検出の結果としてトグルされ得る。
BEGIN Traversal ProcessingSC3,5tate
e ” Traversal Phase”HlF (SC3,Perforw
lTraversal) THENClear SC3,)’erfor* T
raversal;Perform Traversal 5etup act
ionsHTraversaI GCLi5tH
IP (SC3,Swap Bank Request) THEN↑oggl
e SCS、Frame Bank;Command RP to 5uap
banks+ clear valid plane;NDIF
IP (SC3,Swap−WLUT Request) THEN↑oggl
e SC5,WLUT Bank;Coa+mand RP to 5iiap
WLUT image bankBNDIF
Perfme Traversal cleanup actions;グラフ
インク文脈
3Dグラフインク文脈(3DGC)制御構造はグラフインク属性と、1つのクラ
イアント100グラフイツク・データ構造のあらゆるタイプのトラパーサルをリ
クエストし、実施するのに必要な制御情報を含む。
r3DGcJは3DGC構造の独特の例として説明したが、トラバーザル制御は
「総称J3DGCとして知られる実際の制御構造のうちのほんの一例である。こ
の構造はポインタをr3DGCデータ・ブロック」に通し、これが成る特定の3
DGC例に対応する情報を与える。3DGCリストに維持されるのがこれらの3
0GCデータ・ブロックである。
3DGC作成・制御
3DGCはクライアント100が5GR5CREATE−CONTEXTを呼び
出したときにはいつでもサーバー101によって作成される。3DGCが割当て
られ、作成されたならば、サーバー101はそれを3DGCリストのテイルに置
く。サーバー101がクライアント100の終了を検知したときは、そのクライ
アントに所をされているすべての3DGCsが非活動化される。対応する3 D
GCデータ・ブロックは相互連結され、リクエスト処理が非活動化リクエストを
認めるまで再使用される。クライアント100は以下のSGR呼出しを行なうこ
とによって3DDCを3DGCにつなぐことができる。
5GR3SET DEF DRAWABLE gc、window idlag
クライアントは以下のSGR呼出しを行なうことによってクライアント100グ
ラフインク・データ構造を3DGCにつなげることができる。
5GRSSET DEF VIRTUAL ROOT gc。
andle
30GCデータ・ブロック
総称30GC構造はポインタをトラバースされている3 DGCに対応するr3
DGCデータ・ブロック」に通す、このデータ・ブロックは3DGCにとって特
定の制御情報を含み、以下に定義するものである。
03 D G C,Flink
03 DGC,B11nk
これらのロングワードは重複連結3DGCリストにおけるリンクとして役立つ構
造メモリ・アドレスを含む。サーバー101のトラバーザル制御機能はこれらの
ロングワードに排他的書込みアクセスを要求する。
03 D G C、5yste+m Enabledこのロングワード・フラグ
は、3DGCが3DGCリストに加えられたときにSC8によってセントされる
。このフラグは、(1)この3DGCがトラバースされつつあったか、(2)非
活動化リクエストがSO5によって検出されたかしたときにサーバー1、01に
よってクリアされる。このフラグがセントされたとき、3DGCはシステムから
効果的に除去される。
03 D G C,K11l
このロングワード・フラグは所有しているクライアント100が死んだときにサ
ーバー101のトラパーサル機能によってセントされる。これが効果的に非活動
化リクエストとなり、3 DGCがもはや活動状態にないという認識の下にsc
sによってクリアされる。
03 D G C,Dead
このロングワード・フラグはキル・リクエストが検出されたときにSO8によっ
てセントされる。このフラグは分離してサーバー101のトラパーサル制御機能
によって再使用され得る3 DGCリストの3DGCデータ・ブロックを識別す
るのに用いられる。
03 DGC,System FlagこのロングワードはSC3で使用される
ピント・フラグを含む。
構造ウォーカー27はこのロングワードに排他的書込みアクセスを要求する。
−これらのフラグはSOSリクエスト処理で受け入れられたトラパーサル・リク
エストを記録するのに役立つ。
−これらのフラグはリクエスト処理によってセント/クリアされて(もしあれば
)添付3DDCによって示された重複バンファ処理のタイプを記録する。トラパ
ーサル処理はこれらのフラグを用いて、明示リクエストがなくてもこの3DGC
についてドロー・トラバースが行なわなければならないかどうかを決定する。
03 D G C、Num Traversal Pa5sesこれらのロング
ワードはこの特定の3 DGCがトラバースされた回数および理由を反映してい
る。構造ウォーカー27はこれらのロングワードに排他的書込みアクセスを要求
する。
03 D G C、Num Timeoutsこのロングワードはこの3DGC
がトラバースされつつあったときに生じたタイムアウトの回数のカウントを含む
。
03DGC,Num−υpdate
このロングワードはこの3 DGC内の更新キュー・ノードがトラバースされた
回数のカウントを含む。
03DGC,B11nk On Timerこのロングワードは「ブリンクオン
」トラパーサルを実施することになっている時刻を決定するのに用いられる。
03 D G C,B11nk Off Tigerこのロングワードは「ブリ
ンクオフ」トラパーサルが行なわれることになっている時刻を決定するのに用い
られる。
Q3 DGC,Repeat Timerこのロングワードは「反復」トラパー
サルを実施することになっている時刻を決定するのに用いられる。
03DGC,TCID
このロングワードばこの3 DGCに組みあわされたトラパーサル文脈のXウィ
ンドウ・システム・リソース数を含む。
03 D G C、TraversaI−TypeこのロングワードはS CS
−Current Traversal T Y P Eのコピーを含み、こ
のコピーはクライアント構造でトラバース・タイブー特殊処理を可能とするのに
利用する。
C3D G C、Nun Hjt Te5t Traversalsこれらのロ
ングワードはトラパーサルの回数のカウントを含む。
構造ウォーカー27はこれらのロングワードに排他的書込みアクセスを要求する
。
03 D G C,Bljnk 5tateこのロングワードは現在のブリンク
状態を含む。
このロングワードはS CS −Blink Maskのコピーを含み、このコ
ピーが非周期的ブリンク動作のためにクライアント構造に利用できる。
03DGC,VRCount
このロングワードは60H2システム・タイムのコピーを含む。
03DGC,GCID
このロングワードはサーバー101によって割当てられた3DGC1li別子を
含み、これは必要に応じてクライアント100によって修正され得る。SCSは
3DGCデータ・ブロックのアドレスを用いて3DGCsを区別し、したがって
、このIDが特別のものである必要はない。
030GC,DCData Po1nterこのロングワードはこの3DGCに
添付された3DDCデータ・ブロックの構造メモリ・アドレスを含み、添付がな
ければゼロである。ウィンドウ形成用サーバー101のトラパーサル制御機能ハ
ロングワードに排他的書込みアクセスを要求する。
03 D G C、C11ent Rootこのロングワードはこの3 DGC
に添付されたクライアント・ディスプレイ構造の構造メモリ・アドレスを含み、
添付がなければゼロとなる。クライアント・プロセス100はこのロングワード
に排他的書込みアクセスを要求する。
03 D G C、Ca1l Update Nodeこのロングワードは任意
のドロー・トラパーサルに先立ってトラバースされる呼出しノードの仮想アドレ
スを含む、このノードは添付クライアント構造に据え置き更新を行なうべく更新
機構で要求される。構造ウォーカー27はこのロングワードに排他的書込みアク
セスを要求する。
03DGC,C11ent Flagsこのロングワードは次のSGR呼出しを
介してクライアント100によって制御されるトラパーサル・モード・ビットを
含む。
5GR3SET DEF TRAVER3AL MODB gc。
modeflag
オートマチック−セット時、添付3DDCが「重複バッファ処理」ウィンドウで
ある場合、SO8はシステム・ディスプレイ・バッファがスワツプされたときに
はいつでもこの3DGCを再トラバースさせることができる。
リゾイスブレイーセント時、サーバー101内のディスプレイ・マネージャーは
必要に応じてこの3DGCのドロー・トラパーサルを要求し、ディスプレイ上に
正しいイメージを保つことを許される。
リビーテフドーセソト時、この3DGCのドロー・トラパーサルは3DGCによ
って決定されたままの周期で実施される。
Repeat Period
ブリンク−セット時、この3DGCのドロー・トラパーサルはPeriod、3
DGC,B11nk Off Periodこれらのロングワードは反復モード
またはブリンク・トラパーサル・モードが実行されているときにドロー・トラパ
ーサルの周期性を決定する時間間隔を含む。
QCHent Draw Requestこのロングワード・フラグはクライア
ントによって非ゼロにセントされて次のSGR呼出しを経てドロー・トラパーサ
ルをリクエストする。
traversal type−5GR3K DRAW TRAVER3ALS
GR3REQUEST TRAVER3AL display、gc。
traversal type
SO8はリクエストが検出された後にこのフラグをクリアする。
○C1+ent Draw Pendfngこのロングワード・フラグはSO8
によって非ゼロにセントされ、クライアント・ドロー・リクエストが理解された
ことを示す。
SO3はトラバサールが完了した後にこのフラグをクリアする。
QCIjnt on DRAW
このロングワード・フラグはクライアントlOoがドロー・トラパサル完了の通
告をリクエストしたときにウィンドウ形成用サーバー101によって非ゼロにセ
ットされる。SCSはトラバサールが完了した後に制御プロセッサ13にこの事
象を通す直前にこのフラグをクリアする。
Q Draw 5equence Nus+berこのロングワードの内容は完
了したドロー・トラバサールの結果として送られた通告事象に含まれる。サーバ
ー101のトラバサール制御機能はこのロングワードに排他的書込みアクセスを
要○C1jent Hittest Pending○Notify on H
4ttest○ Hittest 5equence Numberこれらのロ
ングワードは上述したドロー・トラバサール・変数に類似した要領でヒツトテス
ト・トラバサールのために使用される。
○5ync Request
○5ync Pending
○Notjfy on 5ync
○5ync 5equence Nu+mberこれらのロングワードはSC3
と同期化させるべくサーバー101で使用される。
3DGC編成
3DGCはSO8状態変数の内容に応じてリクエスト処理とトラパーサル処理に
分けられる。
リクエスト処理は、なんらかのトラパーサル・リクエスト処理が実行される前に
30GCがシステムとクライアント100の両方によって使用可能とされること
を要求する。この状態が満たされたならば、サービス・トラパーサルのリクエス
トが受け入れられる0次に、[可視J 3DDCがこの3DGCにつなげられた
場合、ドロー・トラパーサル・リクエストが受け入れられる。クライアント10
0がこの3DGCを使用禁止とし、その確認を要求した場合には、クライアント
100が通告を受けることになる。
トラパサル処理は、対応するリクエストが未解決の場合にはヒントテストとドロ
ー・トラパーサルを(この順序で)実行する。
フライアン)100の要求があれば、確認を受けている「通告事象」が通知され
る。
非活動化処理はSCS状態と無関係に実施される。もし30GCがシステム使用
可能とされ、「キル」リクエストが未解決であれば、3DGCはrdeadJと
タグを付けられ、システム使用禁止とされる。30GCリストはまだつながって
いるが、3DGCデータ・ブロックは分離、再使用のために利用できる。
Do CASE(SC5,5tate)IF(3DGC,K11l) THEN
Clear 30GC,K111
C1ear 3DGC,5yste++iu Enabled;Set 30G
C,Dead;
Event Notify(opcode=scs EVENT/GCDEAT
H。
headere3DGc 、、 num=osreason=GCDEATH%
5tatus=OK) ;
SC5,5tate=″Request Phase ” ;ELSEIF(3
DGC,5ync Request) TEHNClear 3DGC,5yn
c Request;1F(3DGC,Noti、fy on 5ync) T
HENClear 3DGC,Notify on 5yncHEvent N
otify(opcode=scs EVENT/5YNC。
header=3DGC。
nusa=3DGc、 5ync Seq 。
reason=sYNcs
s ta tus=OK ;
SC5,5tate−” Request Phase ” ;ENDIF
El、Sll:
IJpdate Request Processing;Draw Requ
est Processing;ENDIF
Increment 3DGC,NuIIRequest Pa5sesHCA
SE Traversaj Phase:Do−Hittest Proces
sing;Do Draw Processing;Increment 3D
GC,Nun traversal Pa5ses;ENDCASE
ENDIF
3[IGC,C1tent Update I’ending=3DGC,C1
1ent l1pdate RequesJClear 3DGC,C11en
t Update request;SCS+ 5tate= ” Trave
rsing C11ent tlpdate Li5t″Traverse 3
DGC,Update La5t to perfortm deferred
updates;C1ear 3DGC,C11ent Update Pe
nding;IF(3DGC,Notify on Update) TIIE
NClear 3DGC,Notify on Upclate;Event
、Notify(opcode=SC3EVENT/UPDATE。
header=3DGc、 num=3DGc、Llpdat Seq 。
reason=UPDATE。
5tatusllOK) ;
SC5,5tate1−Request Phase″NDIF
ENII Update request ProcessingBEGUN
Draw Request ProcessingIF(3DGC,DCDat
a Ptr !=NULL) 丁HENIF(3DGC,Visfble) T
tlENRl−30DC(RO)、 Draw RequestR2−3DDC
(RO)、FormatRO−3C5,Current GCPtr30GC,
C11ent Dra@Pendtng=3[IGC,Cl1erit Dra
w Request;ENDIF
1F(3DGC,C11ent Flags、 Repeated)丁HEN
CALL Repeat Mode Processing;ENDIF
ENDIF
IF(3DGC,C11ent Flags、 Redisplay) THE
NIF(3DGC,Draw Request) THENSet 3DGC,
Do DCDraw;Set SC5,Perform Traversal;
ENDIF
ENDIF
1F(3DGC,Fomat 1ndicates Bank 2B) THE
NSet 3DGC,Bank 2B?
IP(3DGC,Do C1tent Draw OR3DGCDo DCDr
aw) THENSet SC5,Swap Bank RequestoHN
DTF
ELSEIF(30GC,Format INDICATES WLUT 2B
)Tl(EN Set 3DGC,−υT−2B;
IF(3DGC,Do C1tent’ Draw OR3DGC,Do DG
Draw) T’henSet SCS、 Swap WLuT Reque
stHEN(IIF
ENDIF
ENDIF Visible
ENDIF Attached to windowEND Draw Req
uest ProcessingBEGIN Repeat Mode Pro
cessingIP(3DGC,Repeat Tt+mer<=SCS、 E
lasped Time) T)IBNSet 3DGC,System Fl
ags、Do C11ent Draw、Do RepeatedSet SC
3,Perfom TraversalH3DGC,Repeat Tiger
g3DGC,Repeat PeriodHLSE
Decre+5ent 3DGC,Repeat−丁tmer by SC5,
Elasped Time;ENDIF
END Repeat Mode ProcessingBEGIN B11n
k Mode ProcessingIP(3DGC,B11nk 5tate
= ’ Off ” ) THENlF(3DGC,Bling Off Ti
er<−5CS、Elapsed Timer) T)IENSet 30GS
、 SystemlFlags、 Do C11ent Draw+Do B1
1nk3DGC,B11nk 5tate−” On″:3DGC,B11nk
Off Tiger−3DGC,B11nk Off Perjod;ELS
E
Decrement 3DGC,B11nk 0ff−Tiger by SC
S、EIapsed TiaeHLSE
IF(3DGC,B11nk On Tiger<−3C5,Elapsed
Tiger) THENSet 3DBC,System Flags、Do
C1fent Draw+Do B11nkSet SC3,Perform
Traversal;3DGC,Bltnk 5tate= ’Off ” ;
3DGC,B11nk On Ti+aer=3DGC,B11nk On P
eriod;ELSE
Decre+eent 3DGC,Bljnk On Timer by SC
3,Elapsed Tjme;ENDIF
ENDIF
END B11nk Mode ProcessingBEGIN Do Dr
aw ProcessingSC5,Current Travesal Ty
pe−Draw″;Draw TraversalB
Clear 3DGC,Do C11ent Draw Pending;IF
(3DGC,Notify on Draw) THENClear 3DGC
,Notify on Draw;5end ’″Begin 3D Cont
ext″to RP to allow BM Processing:5en
d Event Notify(opcode=scs EVENT/DRAW
、heade−3DGC%
numlI3DGc、Draw Seq。
reason=DRAW 、
5tatus=OK) :
SCS、5tate−’I Traversal Phase″NDIF
SCS、 Current Traversal Type=”Draw”Dr
aw Traversal;
C1ear 3DDC+Draw request;ELSE IF(SCS、
Swap Bank Request)AND(30GC,Bank 2BO
R(SC5,511ap WLUT Request)AND(3DGC,WL
UT 2B)IF(3DGC,CIjent Flags、 Automati
c) THENSC3,Current Traversal Type=’D
raw”;Draw Traversal
ENDIF
ENDIF
END Do Draw ProcessingBEGIN Draw Tra
versalSC3,5tate= ’ Traversing [Ipdat
e Li5t ”Process client updates via 3
DGC,Ca1l 1lpdate NodeH3CS、5tate= ” T
raversing Contex 5etup″Perform 3D Co
ntext 5etup actions;SC3,Current DCPt
r−3DGC,DCData Ptr;SC5,5tate−Traversi
ng 3DDC”Traverse(genertc)3DDCto 5et−
up rendertng(window)environsentH
(Restore RO=(SM)address of current 3
DGC)3DGC,Current Traversal Typeg″Dra
w ”3DGC,B11nk Mask−System B11nk Mask
(ala ACP);3DGC,VRCount=System VRCoun
t(ala ACP):SC5,Current GC5tart Ti5e=
System VRCount(ala ACP);SC5,5tate−“T
raversjng C11ent″Traverse C11ent 5tr
ucture to draw client’s imageH5CS、Cu
rrent GCEnd Ti5e=Syste−VRCount(aha A
CP);Re5tore RO=(SM)address of curren
t 3DGC;SC5,5tate−Traversing Context
5etup ”Perfom 3D Context cleanup act
ions;Increment 3DGC,Draw Context、5ta
te−Traversal Phase”END Drall Travers
alBEGIN Htttest Request Processing30
GC,C11ent 1(ittest Pendfg=3DGC,C11en
t HittestRequestH
IF(3DGC,C11ent Hittest Pending) THEN
Clear 30GC,CIjent Hittest Request:Se
t 3DGC,Do Hittest;Set SCS、Perfom−丁ra
versal;NDIF
END Hittest Request ProcessingBEGIN
Do−旧ttest ProcessingIF(3DGC,Do−旧ttes
t) THENClear 3DGC,Do Hittest;SC5,Cur
rent Traversal Type−Hit tes t ” ;Hjt
test TarversalHClear 3DGC,C11ent Hit
test Pending;夏F(3DGC,Notify on−旧ttes
t) THENClear 3DGC,Notify on HittestH
5end“Begin 3D Context” to RP to allo
w BMprOcesslrlgi
Event Notify(opcode=scs EVENT/HITTES
T。
header−3DGC。
num=3DGc、 Hittest Seq。
reson=HITTEsT。
s ta tus=OK) ;
SC3,5tate−”Traversal Phase″NDIF
END Do Hittest ProcessingBEGIN Hitte
st TraversalSC3,5tate=″Traversing Co
ntext 5etup″Perfor+s 3D Context 5etu
p actions;SC3,Current C11ent、 Ptr=3D
GC,C11ent Root;SC5,Current GCID−3DGC
,GCID;3DGC,Current Traversal Type−”H
ittest”SCS、 Current GC−−5tart Time=S
yste+m VRCount(ala ACP);SC3,5tate=“T
raversing C11ent”Traverse C11ent 5tr
cture to hittest client’s imageHSC5,
Current GCEnd Time=Syste−VRCount(ala
ACP);Re5tore RO=(SM) address of cur
rent 3DGC;SCS、5tate= ” Traversing Co
ntext 5etup″Perform 3D Context elean
up act、ionsHIncrewhent 3DGC,Hittest
CountH5C3,5tate= ” Traversal Phase ”
END !(ittest−Traversalディスプレイ文脈
3Dディスプレイ文脈(3DDC)制御構造はスクリーンの矩形領域へのクライ
アント発生イメージのマツピングを決定する。
3DGCから呼び出されたとき、3DDCは対応したディスプレイ・マネージャ
ー・ウィンドウに関係するサブシステム状態をロードする(翻訳環境)、3DD
Cはバンクが現在表示されていることを示す。これは書込みマスク等のようなバ
ンク応答属性をセントアップするのに用いられる。
翻訳環境は次のものを含む。
Oウィンドウ番号
Oウィンドウ・マスク
O前景カラー
○背景カラー
○ベース・マトリックス
Oベース・ビュウポイント
O画素フォーマット
○省略時ライン・フィルタ
○画素プロセ:ノサ設定
○フィルタ・ラウンディング・イネーブル/ディスエーブル○FB読み出しの際
の有効ブレーンの使用0フレーム・バッファ書込みマスク
○バイブラインーイネーブル・マスク
ここでr3DDcJという用語は3DDC構造のただ1つの例についてのみ言及
したが、トラバサール制御は「総称J 3DDCとして知られる実際の制御構造
の他の例でも行なえる。この構造はポインタを成る特定の3DDC例に対応する
情報を与える「3DDCデータ・ブロック」に送る。
3DDC作成・制御
クライアント・プロセス100はウィンドウ形成システム101.102.10
3に対して適切な呼出しを行なうことによってウィンドウを作成する。このアク
チョンの結果として、ディスプレイ・マネージャーがウィンドウの記述(r3D
DC記述子」におけるもの)をサーバー101のトラバサール制御機能に送る。
このルーチンは3DDCデータ・ブロックに割当て、それを3DDC記述子から
抽出された情報と組合わせる。もしクライアント100がこのウィンドウを30
GCに添付すること(または、後にそれをディスパッチすること)を望むならば
、以下のSGR呼出しを行なう。このルーチンは、フラグ・パラメータに応じて
、対応する30GCデータ・ブロックにおける3 DDCデータ・ブロックのア
ドレスを入力したりあるいは取り出したりする。
5GR5SET DEF DRAWABLE gc、 window id、f
lagこのディプレイ・マネージャーはウィンドウ属性に対する変化に応答して
3DDCデータ・ブロックを修正することができる。3DDCGA修正後も可視
性を保有している場合にはこの3 DDCに添付されたすべての3DGCsにつ
いてドロー・トラバサール・リクエストが発行される。
3DDCデータ・ブロック
Q 3 D D C,Fljnk
o 3 D D C5Blink
これらのロングワードは二重結合した3DDCリストにおけるリンクとして役立
つ構造メモリ26アドレスを含む、構造ウォーカー27はこれらのロングワード
に排他的書込みアクセスを要求する。
03 D D C、Systems Enabledこのロングワード・フラグ
はこの3DDCが3DDCリストに加えられたときにSO8によってセントされ
る。このフラグは非活動化リクエストの結果としてSO3によってクリアされる
。
○3171DC,l[il+
このロングワード・フラグは所有クライアント100が死んだときにサーバー1
01のトラバサール制御機能によってセントされる。このフラグは効果的な非活
動化リクエストであり、3 DD(:がもはや活動していないと確認されるとS
OSリクエスト処理によってクリアされる。
03 D D C,Dead
このロングワード・フラグはキル・リクエストが検出されたときにSO3によっ
てセントされる。このフラグはサーバー101のトラバサ・−ル制御機能によっ
て分離され、再使用され得る3DDCリストの3DDCデータ・ブロックを識別
するのに用いられる。
03 D D C、Swap Requestこのロングワードは3DDCデー
タ・ブロックへの構造ウォカー27、サーバー101のアクセスを同期化するの
に用いられる。
サーバー101のトラバサール制御機能がこのフラグ・クリアを見出したとき、
3DDCデータ・ブロックの「非活動」ハーフ部分にアクセスすることができる
。この時点で、この非活動ハーフ部分を更新し、このロングワードを非ゼロにセ
ントする。SO3がこのフラグ・セント状態を見出したならば、活動ハーフ部分
と非活動ハーフ部分とをスワップし、このフラグをクリアする。
もしサーバ101のトラバサール制御機能がこのフラグ・セット状n(SC3が
先のスワップ・リクエストをまだ理解しなければならないことを示している状L
i)を見出したならば、2つのオプションがある。
(a) このフラグをSO8がクリアするまで待機することができる。
これは先に更新された部分が少なくとも一度理解されることを保証する。
世) フラグそのものをクリアし、短時間待機し、次いでその時点で「非活動」
ハーフ部分を更新することができる。しかしながら、ここで、先のスワップ・リ
クエストがほとんど無視されることになることに注意されたい、待機状態はSO
3が現在のところ先のリクエストを処理している場合に要求される。〔この時間
中(3ノ一ド分> SCSによってアテンション割り込みが禁止され、この臨界
領域が限定される。〕O03D D C、Active Halfこのロングワ
ードはこの3DDCデータ・ブロックのどの[ハ−フ部分」が現在SCsリクエ
スト・トラバサール処理で使用されているかを示す、ゼロの場合には、第1ハー
フ部分が活動しているか、あるいは、第2ハーフ部分が活動している。
3DDCデータ・ブロックは次のグループの事項の連続コピー(ハーフ部分)で
ある。
03DDC,ν1sible
このロングワード・フラグが非ゼロのとき、代表のウィンドウは(少なくとも部
分的に)スクリーン上で見ることができる。ゼロの場合、ウィンドウは全体的に
黒ずむがあるいはアイコン化され、この場合、ドロー・トラバサールは試みられ
ない。
03 D D C,Draw Requestこのロングワード・フラグはデー
タ・マネージャーの命令で非ゼロにセントされてこの3DDCにつながるすべて
の3 DGCsのためのドロー・トラバサールをリクエストする。このアクショ
ンは、たとえば、成るウィンドウがエクスポージャ事象あるいはりサイズ動作に
出会ったときに必要とされる。SCSはこの3D[lCにつながる3 DGCの
第1のドロー・トラバサールに続いてこのフラグをクリアする。
03 D D C,Window Numberこのロングワードは総称ノード
に入力するに適したフォーマントにおけるウィンドウ番号を含む。
03 D D C,Window Maskこのロングワードは総称ノードに入
力するのに適したフォーマットにおけるウィンドウ・マスクを含む。
03DDC,Pixel Formatこのロングワードはこのウィンドウの画
素フォーマントを含む。
I B、 4 bit Mapped
−I B、4 bit Gray 5cale−I B、8 bit Mapp
ed
l B、8 bit Gray 5cale1、B、1 2 bit RGB
lB、24 bit RGB
−WL UT 2 B、4 btt Mapped−WL tJ7 2 B、4
bit Gray 5cale−WL UT 2 B、8 bjt Mapp
ed−WLUT 2B、8 bit Gray 5cale−WLUT 2 B
、1 2 bit RGB−Bank 2 B、4 bit Mapped−B
ank 28% 4 bit Gray 5cale−Bank 2B、8 b
it Mapped−Bank 2 B、8 bit Gray 5cale−
Bank 2B、1 2 bit RGB−Bank 2B、24 bit R
GBo 3 D D C,Background Co1orこのロングワード
はセット背景ノードに入力するのに適したフォーマントのウィンドウ背景カラー
を含む03 D D C,Foreground Co1orこのロングワード
はベース・マトリックスにロードするようにトラバースされるベース・マトリッ
クスX3の仮想アドレスを含む。
03DDC,Ba5e Matric SGRこのロングワードはベース・マト
リックスをロードするようにトラバサースされるベース・マトリックスX3の仮
想アドレスを含む。
Q3DDC,Ba5e Matrix GDSこのロングワードはベース・マト
リックスをロードするようにトラバースされるベース・マトリックス・グラフイ
ンク・ディスプレイ構造ノードの物理的アドレスを含む。
03DDC,Ba5e Viewport SGRこのロングワードはベース・
ビューボートをロードするようにトラバースされるベース・ビニ−ボートX3の
仮想アドレスを含む。
03DDC,Ba5e Viewpot GDSこのロングワードはベース・ビ
ニ−ボートをロードするようにトラバースされるベース・ビューボート・グラフ
インク・データ構造の物理的アドレスを含む。
3DDC編成
Load Ba5e Matrix;
1+oad Ba5e Normal Matrix:Load Ba5e V
iswport;Load Wfndow Nus+berHLoad Wfd
ow Mask:
Load Foreground(Line)Color;Load Back
ground Co1or;Fors+at Dependenj−−5etu
pHC1ear 3DDC,Draw RequestHEND Generi
c 3DDC;
BEGIN Format Dependent 5ett+pIP(DDC,
Forvat、Buffering−WLUT Bank Double Bu
ffered ” )IF(SC5,WLIJT Bank= ” A ” )
THEN Plane Mask=3DDC,PlaneLSE
Plane Mask=3DDC,Plane Mask A;NDIF
C1ear(4nput−side)window to the backg
round colorLSE
Plane Mask=3DDC,Plane Mask A;NDIF
IF(3DDC,Format、 Buffering−” Fravae B
ank−Double Buffered″)
T)IEN
IP(SCS、Frame Bank−’ A ” )THEN(A bein
g displayed)Source Bank= ” B ” ;Dest
jnation Bank=″B only;Enabfe valid pl
ane when reading pixelsHLSE
Source Bankm ” A ’ :Destinatjon Bank
s ” A only ” ;Enable valid plance wh
en reading pixelsHNDIF
ELSE(Single Buffered ”、”WLUT Bank Do
uble Bu4ferd’″)Source Bank= ” A ” ;D
estinatton Bank−” A arid B ” ;Disabl
e valid plane when reading pixels;ND
IF
1F(3DDC,Fomat、CIass= ’ Mapped ’ )THE
NLoad Pixel Proc ALU mode++ ” 5tore
” ;Disable rounding in PPA;Disable a
dditive bler+ding on 1ine crossing;E
LSE(″)IGB ’、” GrayScale ” )Load Pixe
l Proc ALU modes ” Add wjth Ceiling
” ;Enable rounding in PPA;Enable add
itive blending on 1ine crossings;NDI
F
CASE 3DDC,Format、 Depth″4bits”:
Er+able 4−bit ALU elode:“8 bitg ” :
Disable 4−bit ALLI modeH”12bfts″:
Enable 4−bit ALU mode:24 bitg ’ :
Disable 4−bit ALIJ mode;ENDCASE
END Format Dependent 5etup以下はトラパサル制御
機能とのインタフェース接続を可能とすべくフライアン)100、サーバー10
1の廃稟時に行なわれる種々のルーチンの概要である。
5GR3REPEAT C0NTEXT display 、gcディス乙に歪
、’:、 レバ、、スカーバ101への特定の接続を指定するXウィンドウシス
テムディスプレイ変数である。
これは、形成された:→D G Cの識別子である。
クライエントプロセス100は、グラフインクコンチクスト(30GC)を形成
するためにこのルーチンを呼び出す。
5GR5SET DEF DRIVABLE gc、 windov −4d、
flaggに
れは、取り付けられるべき30GCの“30GCID”である。
wtndow id
この長ワードは、3DGCに取り付けられるべき又はそこから取り外されるべき
ウィンドウの識別を含む。
lag
この長ワードが非ゼロにセットされた場合には、ウィンドウが取り付けられる。
これがゼロの場合には、ウィンドウが取り外される。
クライエントプロセス100は、ウィンドウ(3DDC)をグラフィックコンチ
クスト(3DGC)に取り付けたり又はそこから取り外したりするためにこのル
ーチンを呼び出す。
これは、取り(すけられるべ!3DGCの’3DGCID’である。
1+andle
この長ワードは、3DGCのクライエント構造体のルートノードとして入力され
るべき)・−ドの仮想アドレスを含む。
クライエントプロセス100は、グラフィックデータ構造体(クライエント構造
体)をグラフインクコンチクスト(3DGC)に取り付けるためにこのルーチン
を呼び出す。
これば、新たなトラパーサルモードを受け入れるための30GCの”3DGCI
D″である。
modef lags
この長ワードは、頁69で3 D G C,C11ent flage3に対し
て述べたようなトラパーサルモードを指定する。
、7ライエントプロセス100は、3DGCの適当なトラパーサルモードを設定
するためにこのルーチンを呼び出す、これらのモードは、3DGCの次のトラパ
ーサルに影響を及ぼす。
これは、トラバージされるべき3 DGCである。
traversal type
これは、所望のトラパーサルの形式を指定する。
* 5GRSK DRAW TRAVERSAL−ドロートラパーサル用* 5
GRSK tllTTEsT TRAVERSAL−ヒントテストトラパーサル
用
クライエントプロセス100は、特定の形式のトラパーサルを3DGCに対して
実行することを要求するためにこのルーチンを呼び出す。
SGI?5INQ Ti1AVER5AL 5TATE gc、 traver
sal、type。
Haitflag+ 5tate
これは、問題とする3DGCである。
traversal type
この長ワードは、問題とするトラパーサルの形式を指定するために用いられる。
¥5GR5X DRAW TRAVERSAL−ドロートラパーサル完了用ネ5
GR3K 旧TTEST TiAVER5AL−ヒツトテストトラパーサル完了
用
iyaitflag
この長ワー ドフラグが非ゼロの場合には、指定の事象が生じるまでこのルーチ
ンは復帰し2ない、さもなくば、事象の状態が直ちに復帰する。
クライエントプロセス100 Ll、特定のトラパーサル完了の状態又は表示を
得るためにこのルー・チンを呼び出す。
5GR5STAIliTUP
サーバ101は、サーバプロセス1.01において動作するトラパーサル制御機
能を初期化するためにこのルーチンを呼び出す。
この動作には、全ての制御構造体の形成と、SO3)ラバーサルの開始とが含ま
れる。
これは、形成されるべき3 DGCの識別子である。
3dge db
新たな3 D G Cに関連した3DGCデータブロフクの仮想アドレスは、こ
の長ワードに復帰される。
サーバj01は、5GR5CIIEATE C0NTEXTをめるクライエント
100に応答して新たな3DGC構造体を形成するためにこのルーチンを呼び出
す。
5GR5CREATE 3DDCdescriptor、 3ddc db3d
de descriptor
規準によっでバスし、ウィンドウの初期記述を含む長ワードの構造体
3ddc db
形成されそして基準によって復帰した3DDCデータブロツクの仮想アドレス
サーバ101は、新たに形成されたウィンドウに関連する3DDC構造体を形成
するためにこのルーチンを呼び出す、復帰した3DDCデータブロツクのアドレ
スは、このウィンドウを任意の数の3DGCにリンクするために後で用いること
ができる。
5GR5UPDATE 3DDC3ddc descriptor、 3ddc
db3ddc descr4ptor
基準によってバスし、ウィンドウの更新記述を含む長ワードの構造体
3ddc cb
更新され、規準によってバスされるべき3DDCデータブロツクの仮想アドレス
サーバ101は、新たに再形成/変更されたウィンドウに関連した3DDC構造
体を更新するためにこのルーチンを呼び出す。
このルーチンは、ウィンドウが目に見えるもので且つ3DGCが適切にイネーブ
ルされたとすれば、このウィンドウに取り付けられた全ての3 DGCのドロー
トラパーサルを要求する。
5GR3RUNDO讐N
サーバ101は、SC8のトラパーサルを穏やかに終らせるためにこのルーチン
を呼び出す。
トラパーサル制JFNII能の以上の説明から、3次元グラフインクコンチクス
ト(3DGC)が全てのトラパーサル制御機能を一緒に結合することが理解され
よう、SCSの要求処理及びトラパーサル処理モードによる各3DGCの構造ウ
ォーカ27のトラパーサルは、グラフィックデータ構造の全てのトラパーサルを
実行するに必要なグラフィックアトリビュート及び制御情報を構造ウォーカ27
に与える。第5図に示すように、各クライエント100には、グラフィックデー
タ構造体(GDS)を3D仮想ルートを経て3DGCに取り付けると共にその取
り付けられた3 DGCにおけるトラパーサル要求フラグを制御するための呼び
出し及びルーチンが与えられる。又、クライエント100は、ディスプレイマネ
ージャによって形成された3DDCに30GCを結合して3次元機能をXウィン
ドウシステムに合流させるための呼び出しを行なう、このように、構造メモリ2
6の非同期トラパーサルは、多数のクライエント100に利用できるトラパーサ
ル要求機構と、要求/トラパーサル処理モードとによって制御されて、グラフィ
ックデータ及びコマンドをライン30を経てグラフィックバイブラインプロセッ
サ29へある順序で流すためのノードトラパーサルシーケンスを系統的に形成す
る。グラフィックデータ及びコマンドの順序付けされた流れは、構造ウォーカ2
7の連続的な非同期のトラパーサル動作に対し3DGC及びこれに接続された3
DDCを介してトラパーサル要求とそれに関連したグラフィ、クデータ構造体及
びウィンドウ情報を編成することにより、グラフインクサブシステム17のリソ
ースを最大の効率で使用し、多数のアプリケーションプログラムを効率良く処理
するよう確保する。
レンダリングプロセッサ鄭′卸 びビフトヱヱエ久iヱ土ヱL土ヱ叉ニヱ王不久
本発明のグラフィックサブシステム17は、2つの形式のグラフィック環境、即
ち、上記した3−Dグラフィック及びビットマツプ(2−D)グラフィックをユ
ーザに提供する。ビットマツプ環境は、その3−D環境と同様であるが、それよ
り若干簡単である。3−Dの場合と同様に、ビットマツプアプリケーションは、
共存メモリ (構造体メモリ26)に記憶されたデータ構造体を使用することに
よりグラフィックサブシステム17と通信する。これらのデータ構造体、即ちピ
ントマツプグラフィックデータ構造体は、レンダリングプロセッサ36によって
トラバースされて処理される。
レンダリングプロセッサ36は、システムにおける多数のタスク、即ち、3−D
レンディション、ビットマツブレンディジョン、ビットマツプグラフィックデー
タ構造体のトラパーサル及びビデオサブシステム制御を実行する。コンピュータ
グラフィックにおいて「レンディション」という用語は、物体を現実的に描くた
めにカラーをつけたり陰影をつけたり照明を当てたりする技術を指す、又、レン
ダリングプロセッサ36は、ビットマツプ及び3−Dグラフインクオペレージコ
ンのスケジュール調整も行なう、トラパーサル及びレンディションに加えて、レ
ンダリングプロセッサ36は、ビデオサブシステムのインターフェイスもなす(
カラールックアップテーブル、ウィンドウルックアップテーブル及びカーソルマ
ネージメント)。
レンダリングプロセッサ36は、ビットマツプグラフィックのコンチクストにお
ける共存リソースである。グラフインクは、2レベルのインターフェイスをなす
、第1のインターフェイスは、アブストラフシロンをほんの僅かに追加するだけ
でハードウェア/マイクロコード設備への原始アクセスを与える。第2のインタ
ーフェイスは、標準的なデジタルウィンドウシステム(X又はUIS)によって
予想される機能性及び意味論を与えるモデルレベルインターフェイスである。レ
ンダリングプロセッサ36とグラフインクシステムの他部分との間のインターフ
ェイスは、ビットマツプグラフインク及び3−Dグラフィックアブリケーシッン
の間でレンダリングプロセッサ36を最適に分担するように設計されている。
グラ」し仁ム久旦臣jシLんル
ンダリングプロセッサ36及びドローイングハードウェアは、グラフィックコマ
ンドを実行するときに使用されるかもしくは変更される状態を維持する。このよ
うな状態全体で、ドローイングコマンドを実行するコンチクストを構成する。こ
のコンチクスト、即ちハードウェアコンチクストは、レンダリングプロセッサ3
6によって実行されるコマンドを使用することによってのみ管理される。
マルチタスクグラフィック環境は、多数のグラフインクコンチクストの間で1つ
のハードウェアコンチクストを分担させることによって得られる。グラフインク
コンチクストは、一連の実行と、その一連の実行においてコマンドを実行するに
必要な状態とを表わす、マルチタスクは、多数のプロセスコンチクストが時分割
システムのハードウェアコンチクストを分割するのと同様に行なわれる(スケジ
ューリング及び実行)。グラフインクコンチクストはレンダリングプロセッサに
よってトラバースされ、マークされたコンチクストは実行に対してスケジュール
がたてられる。
マルチタスクに加えて、各グラフインクコンチクストは、グラフインクコマンド
実行中の任意の時間にその状態をグラフインクハードウェアに動的にロードする
ための状態及び機構を与える。
このように、一連の実行が実行について必要とされる状態からデカツプルされる
。
グラフィックコンチクストの実行は、2つの段階、即ちロード階段及び更新段階
で行なわれる。ロード段階においては、ハードウェアコンチクストがロードされ
ているグラフインクコンテクストと一致する状態にされる。ビットマツプグラフ
インクコンチクストのロード段階は、典型的に、ハードウェアコンチクストにド
ローイング状態を設定するが、ドローイングを実行することはめったにない、3
−Dグラフインクコンチクストのロード段階は、典型的に、ハードウェアコンチ
クストの状態を設定するが、ワールドの図を含む像を描く。
更新段階中には、ワールドの記述を変更するコマンドがコンシュームされる。ビ
ットマツプワールドの記述は、該記述を更新する際にビットマツプの編集(ラス
ク化)を必要とするようにビットマツプデータ構造体に含まれる。
3−Dワールドの記述は、より複雑なデータ構造体に含まれる。
このデータ構造体は、通常、口・−ド段階中にトラバースされ、記述を更新する
際にそのデータ構造体の一部分を編集する必要があるようにされる。3−D及び
ビットマツプの両方の場合に、データ構造体は、使用されるデータ形式及びオペ
レーションに唯一の差が生じるように編集される。
レンダリングプロセッサ36は、ハードウェアコンチクストを更新するコマンド
のリストを実行することによりビットマツプグラフィックコンチクストをロード
し、上記リストは、初期化リストと称する。この初期化リストは、ドローイング
コマンドを実行する前にハードウェアコンチクストの一貫性を得るために使用さ
れる。グラフインクコンチクストがロードされるたびに、初期化リストの全ての
コマンドが実行されるがコンシュームはされない。
初期化リストは、ポスト及び制御プロセッサからの直接メモリアクセスによって
変更されるか又はレンダリングプロセッサ36により実行されるコマンドを介し
て変更される。従って、クライエントは、ビットマツプグラフィックコンチクス
トに必要とされる状態の種類及び量をぞの初期化リストを用いて決定する。
ピントマツプグラフィックコンチクストは、汎用のロード/ストアアーキテクチ
ャに類似した処理環境を表わす、この環境においては、各グラフインクコンチク
ストは、現在の1組の汎用レジスタ、全部で32個のレジスタを有している。汎
用レジスタの内容は、、グラフ、インクコンチクストの寿命全体にわたって一貫
するように保証される。これに対し、ハードウェアコンチクストは、グラフイン
クコンチクストの1つの実行と別の実行との間に一貫性を保つように保証されず
、その結果、グラフィックコンチクストをロー・ドするときにはハ・−・ドウエ
アコンチクストが一貫したものであるようにされねばならない。
通常、レジスタは、コマンドによって明確に命令されたときにレンダリングプロ
セッサ36によって使用される。然し乍ら、レンダリングプロセッサ36は、グ
ラフインクコンチクストをロードして実行しながらあるデータへアクセスするこ
とが必要である。
このデータは、グラフインクコンチクストの実行中に含蓄的にアクセスされ、あ
るレジスタに静的に指定されるや初期化リストのポインタは、レンダリングプロ
セッサ36がグラフィ・、lクコンテクストのロード中に使用するデータの例で
あり、レンダリングプロセッサ36は、レジスタ2にこのポインタがあると仮定
するが、レジスタ2は他の全ての点では汎用レジスタである。
−トラノ達二タコと
グラフィックコンチクストは、3−Dに対しては構造体ウオ・−力そしてビット
マツプに対し′ζはレンダリングプロセッサ36によってトラバースされるデー
タ構造体に記憶される。これは、レンダリングプロセッサ36が2つの役割、即
ちラスクエンジン及びビットマツプグラソイツクデータ構造体トラバーサの役割
を果たすごとを意味する。全てのビットマツプグラフインクコンチクストデータ
構造体は1.ビ、ノトマソブデータ構造体ルート(ピントマツプルート)にリン
クされ、そしC全ての3−Dグラノイソクコンテクストデータ構造体は、3−D
データ構造体ルート(3−Dルート)にリンクされる。ビットマツプ及び3−D
ルートの両方に対するポインタは、指定された構造体メモリ26内にある。
トラパーサルは、ある種のグラフィックコンチクストを実行のために選択する方
法について使用する用語である。グラフィックコンチクストのリストは、リスト
を通して進んで各コンチクストに直列にビジソト(訪れる)することによりトラ
バースされる。
各ビジフト中に、グラフィックコンチクストを実行する必要があるかどうか判断
され、もしそうであれば、コンチクストがロードされて実行される。
所与の時間に処理されているトラパーサルは3個までである。
即ち、優先順位の低い3−Dトラパーサルと、優先順位の低いビットマフブトラ
バーサルと、優先順位の高いビットマツプトラパーサルである。然し乍ら、所与
の時間に実行されるのはこれら3つのうちの1つだけである。トラパーサルは、
インアクティブであるか7.?り子イブであるか又は保留中である。トラパーサ
ルは、躾初、インアクティブであり、信号機構を使用することによってアクティ
ブにされる。アクティブにされると、リスト内の第1のグラフィックコンチクス
トが見えるようになる。トラパーサルは、別のトラパーサルをアクティブにする
か又は復再開る必要があるときに保留される。保留されたトラパーサルが再開さ
れるときには、そのトラパーサルの現在グラフィックコンチクストが見えるよう
にされる。全てのグラフインクコンチクストが見えるようにされそしてそのトラ
バーザルに対する信号が保留中でなくなった後にドラバ・−サルがインアクティ
ブになる。
グラフィックコンチクストが見えるようになると、グラフィ:/クコンテクスト
に対してローカルである2つのビ・ノドを用いて、グラフィックコンチクストが
実行を必要とするかどうかの判断を行なう1.その第1のピッIは、グ・うフィ
ックコンチクストが低い優先順において実行を必要とすることを指示する。第2
のピントは、グラフィックコンチクストが高い優先順位にお1・為で実行を必要
とすることを指示する。トラバーサは、ビジントの第1段階とし、て適当なビッ
ト(争数又は複数)をチェックしてクリアする(インターロックする)、にれら
のビットは、グラフィックコンチクストのレジスタ1の2つの下位ピントに配置
されている。グラフインクコンチクスト及びトラパーサルモデルを示した第8図
を参照されたい。
ビットマツプトラパーサルは、ビットマツプルートの2つのビット(優先順位の
低いランビット及び優先順位の高いランビット)を使用すると共にレンダリング
プロセッサ36の制御状態レジスタ(C3R)を使用することによりアクチベー
トするように信号される。ホストはこのC3Rを経てレンダリングプロセッサ3
6を制御する。優先順位の低いビットマツプトラパーサルをアクチベートするた
めに、優先順位の低いランビットがセットされる。
このビットは、時間ベースで又はC3Hのアテンションに応答してレンダリング
ブロセッ+36によってチェックされクリアされる(インターロックされる)、
優先順位の高いトラパーサルに対する信号発生も、ビットマツプルートにおける
優先順位の高いランビットを用いることにより同様に行なわれる。
トランザクションは、オペレーション又はプログラムより成る一連のコマンドで
ある。トランザクションにおけるコマンドは互いに同期して実行するが、他のト
ランザクションのコマンドと非同期で実行してもよい、多数のトランザクション
は、1つのグラフィックコンチクスト内で同期して実行してもよいし、多数のグ
ラフインクコンチクスト内で非同期で実行してもよい、トランザクションは、ト
ランザクション終了コマンドを用いることにより明確に終了される。ビットマツ
プトランザクションは、コマンド待ち行列が空になったときに含蓄的に終了され
る。
トランザクションは、通常は、ある種のデータ一貫性を維持するためにある時間
中レンダリングプログラム36をロックする。
これは、ロック及びアンロックコマンドを用いることによって行なわれる。レン
ダリングプロセッサ36がロックされる間には、現在トラパーサルが保留されず
、アンロックコマンドに出会うまで現在グラフインクコンチクストが実行を続け
る。
レンダリングプロセッサ36はピントマツプグラフィックスコンテキストからの
命令の実行と、3−Dグラフィックスコンテキストからの命令の実行との間を交
番する。3−D命令はジオメトリパイプラインから取られる。一般的には低優先
順位3−D及び低優先順位ピントマツプグラフィックスコンテキストの優先順位
は同等である。3−Dグラフィックスコンテキストとビットマツプグラフィック
スコンテキストとの間の公平さを保証するスケジューリング方針を確立するため
に、以下に示す規則が使用される。
巨、ビットマツプ横切りは、ビットマツプルート内の何れかのランビットがセン
トされている場合はベンディングになる。
5、ベンディングの高優先順位のピントマツプ横切りは、3−Dトランザクショ
ン中の、或は任意の2つの低優先順位ビットマツプトランザクション間の任意の
時間に、できる限り早く開始する。
9、高優先順位ピントマツプ横切りは、中断されることなく全てのビットマツプ
グラフィックスコンテキストを最初から最後まで横切る。
9、未決の低優先順位ビットマツプ横切りは、3−Dフレームの終り命令を受け
た後に、或はVSYNCに続いて現行3−Dトランザクションが終了した直後に
開始する。
5、低優先順位ビットマツプ横切りは、全てのビットマツプグラフィックスコン
テキストを最初から最後まで横切るが、複数回に亘って中断され、再開され得る
。横切りはVSYNCに続(ベンディング状態で中断され、該状態に戻される。
この中断中にベンディングの3−Dトランザクションの実行を開始する。
9、ビットマツプグラフィックスコンテキストは、その低或は高ランビットがセ
ントされるとベンディングになる。
5、ベンディングの高優先順位ビットマツプグラフィックスコンテキストは、そ
れが横切られた時は何時でも実行される。
S、ベンディングの低優先順位ピントマツプグラフィックスコンテキストは、低
優先1噴位で横切られた時に限って実行される。
S、もしグラフィックスコンテキストへの1回の調査で実行した命令の数がビッ
トマツプルート内に特定されている限度を超えれば、そのグラフィックスコンテ
キストは中断されベンディングになる(再スケジュールされる)。次で横切りは
次のグラフィックスコンテキストへ進ム。
S、ピントマツプグラフィックスコンテキストの実行は、命令待合せが無くなっ
た時に終了する。
S、もしレンダリングプロセッサ36がグラフィックスコンテキストによって錠
止されれば、全てのスケジューリングは解錠命令が現われるまで延期される。も
し命令待合せが無くなれば、レンダリングプロセッサ36は解錠命令が現われる
まで命令待合せを再試行するように続行する。全ての再試行に際してレンダリン
グプロセッサ36はバスの行き詰りを回避するために5μs待機する。
レンダリングプロセッサ36が使用するスケジューリングアルゴリズムの例を以
下に示す、このアルゴリズムは上述のスケジューリング方針を履行するものであ
る。
rp 1dle 1oop()
EGIN
IP(rp attention)
EGIN
IP(TestAndClear(resmem、bmroot、5tatus
、hi))do hi bm traversal()ND
IF((rp attention)OR(vsync occured))A
ND(NOT3d transaction)
EldN
IP (Tes tAndcIear (reswem 、 bsroo t、
s ta tus 、 b i) )do hi bm traversal
()IP(TestAndCIear(resmem、bsroot、5tat
us、Io))do low bs+ traversalc )EN[l
ND
do hi bm traversal< )EGIN
FORALL gc IN resmem、bsroot、gcltstIP(
TestAndClear(gc、5tatus、hi))[IEGIN
ND
ND
do ’ low bm traversal()EGIN
starting gcgresmem、bs+root、gclist、cu
rrentHFOREVER
EGIN
gcsresma+ffi、b+mroot、gcltst、curre+ll
t4IP(resmem、baroot、gclist、current、ne
xt EQL nH)resmem+bmroot、gcl ist、curr
ent−resmem、bmroot、gclist、Hrst;LSE
resmem、bmroot、gclist、current=resme+w
、bmroot、gclist、current、next;TF(TestA
ndClear(gc、5tatus、 Io))EGIN
load base regtster(gc)FORALL cmd IN
gc、1niqexecute command(gc、cmd)FORALL
cs+d IN gc、exeqEGIN
1F(TestAndclear(res+eea+、bmroot。
5tatus、hi))
(reschedule requested)OR(cosunand−ND
resme+m、bmroot、gclist、current))OR(ν5
ynch occured)break;ND
ND
再スケジューリングは次の横切りまでグラフィックスコンテキスト内の命令の実
行を延期させる。再スケジュールは、グラフィックスコンテキストランビット及
び広域ランビットの両方がセットされていることを必要とrる。これらのビット
がセントされると、横切りは次のグラ“フィックスコンテキストへ進む。
L/ンダリングブロセソザ36はピントマツプルート内に横切りカウントを維持
する。この横切りカウントは低優先順位ビットマー、1tブ横切りが完了すると
増加させられる。顧客はこのカウントを使用して低優先順位ビットマツプ横切り
が行われたか否かを決定することが可能である。このカウントはレンダリングプ
ロセッサ36が所与のグラフィックスコンテキストにサービスしたことの保証と
して使用することはできないが、該プロセッサ36がアクセスから連結されなか
った構造に現在アクセスしていないことの保証に使用することができる。従って
顧客はく−の横切りカウントを使用して連結されていないバケ−/ )に、将来
のごみ集めのため、日付けを入れることができる。
第9図はビットマツプルートデータ構造を示す。(横切りは不活動状態にあるも
のとしていることに注意されたい、)以下に列挙しであるのは、このデータ構造
の記述である。
* ステータス:ビットマツプ横切りに使用されるピントを容れ32ビツトのフ
ィールド。
下表はこのフィールド内のビットの定義を示す。
旦ヱ上 起−述
O低優先順位シンピント
1 高優先順位ランビット
2〜31 保留及びOにする
* 現行:実行済の低優先順位ピントマツプグラフィックスコンテキストに対す
るポインタ、低優先順位ビットマツプ横切りが不活動である時は°最初”を指す
。
* 最初:最初のビットマツプグラフィックスコンテキストに対するポインタ。
ネ 最後:最後のビット“7ツブグシフイツクスコンテキストに対するポインタ
。
* 命令限界:任意のスケジューリングサ・イクル中にグラフィ・?クスコンテ
キストにおい゛ζ実1〒できる命令の閂人数を特定する無符号整数。
* カウント二発生した低優先順位ビットマツプ横切りの無符号整数カウント。
ビットマツプグラフィックスコンテキストはデータ構造である。
第10図はごのビットマップグラフィックスコンテキストデータ構造を示す、(
図示の命令待合せ内の命令は何れも実行されなか7.たごとに注意されたい、)
*次:次のピントマツプグラフィックスコンテキストに対するポインタ。
* ステータス:ビニ、 )マツプ横切りに使用されるビットを容れるビットフ
ィールド、下表はこのフィールド内の各ビットの定義を示す。
ざ二仁ヒ 記−jと
0 低優先順位ランビット
1 高優先l順位ランビット
2〜31 保留−一及びOにする
* In1t :初期化リストを作成する命令のリストに対するポインタ。
本 現行:実行済のピットマッググラフィックス命令に対するポインタ、低優先
順位ビットマツプ横切りが不活動である時は°最初”を指す。
* 最初二最初のピットマッググラフィックス命令に対するポインタ。
* 最後:最後のビットマッググラフィックス命令に対するポインタ。
事 バースレ・ンスタは32の汎用レジスタに二対するポインタごある。
ビフトマソブデータフォーーーンットは、ピントマツプ“データがメモリ内ごと
のように構成されているかに関する。ピントマツプを)メモリ内で構成可能なら
しめるには複数の方式が存在し7゛いる。
レンダリングプロセッサ36のン1゛クロ符号は4ソオ・−マットを管理する。
*非バックバイト
*非パソクロングワード
セルアL・−フォーマットにおいては、画素データの2 X 4. X 4了レ
ー、即ち4列4fi素の166画素らの2ビツトが口〉゛グフード内に含まれる
。隣接するロングワードはX次元に隣接するセルを含む。第11図は、あるセル
内のビットがあるロングワード内のビットとどのように対応するかを示す。
下表は、ビット記憶を記述するのに使用される約束を示す。
ロングワード 32ビツト
二次元フォーマットは、既存DECワークステーションにおいて最も広く使用さ
れている。二次元フォーマツ]・においては、32画素からの1ビツト(各画素
内の同一ビット)をロングワード内に記憶する。ビット0〜31は、ビットマツ
プ内を左から右へ走る―接画素からである。走査線上の連続(左から右・\)画
素からのビットはメモリの連続ロングワード内に容れられる。ti累の走査線を
記憶するのに使用されるメモリはロングフードパソディンゲされる。走査線の隣
接面は隣接するメモリ領域内に記憶さlNる4、これは、走査線内のテ゛−夕が
通常は・ノードバー・?イングされる標準二次元ピントマツプから逸脱している
。システムメモリから構造メモリへ、或は構造メモリからシステムへデータを複
写する時、ホストはこの差を補償しなければならない、II構造メモリホストか
らバイトアドレス可能であるが、レンダリングプロセッサ36からはロングワー
ドアドレスのみが可能である。
非パンクバイトフォーマットにおいては、ビットマツプは8或はそれ以下のビッ
ト深さの画素を容れる。各画素はメモリのバイト内にビット0に揃えられて容れ
られ、1バイトは正確に1画素を容れる。走査線上の連続(左から右へ)画素は
メモリの連続バイト内に容れられる0画素の走査線を記憶するのに使用されるメ
モリはロングワードバフディングされる。
非バンクロングワードフォーマットにおいては、ピントマツプは32或はそれ以
下のビット深さの画素を容れ、各画素はメモリロングワード内にビットOに揃え
られて容れられ、lロングワードは正確に1画素を容れる。走査線上の連続(左
がら右へ)画素はメモリの連続ロングワード内に容れられる。
ピッチとは、幾何学的に隣接する画素のためのデータの相対的なメモリ位置を特
定する値のことである。画素データはX、Y或は2次元に隣接することができる
。X次元で隣接する画素データは隣接するメモリ位置に記憶されるが、他次元で
隣接する画素データはYピッチ或は2ピツチの何れかによって特定される量だけ
離間したメモリ位1にある。ピッチ値はビットマツプ次元及びフォーマントから
計算することができる。ピッチ値は、通常は特定の命令の履行におけるアーチフ
ァクトである。本発明のシステムに関しては、ピッチはホストソフトウェアによ
って計算されることが多く、低レベル命令を実行するためにレンダリングプロセ
ッサ36によって使用される。これによってレンダリングプロセンサ36は複雑
なビットマツプデータ構造の知識を持たずに済む。
セルアレーを除く全てのピントマツプフォーマットにおいては、Yピンチは1つ
の走査線から次の走査線までどのように運動するかを特定する。二次元フォーマ
ットにおいては、Zピッチは1つの面から次の面までどのように運動するかを特
定する。セルアレーフ1−マントに関しては、Yピンチはセルの1つの走査線(
ビットマツプの4走査線)から次の走査線までどのように運動するかを特定し、
Zピッチはセルの1つの面(ビットマツプの2つの面)から次の面までどのよう
に運動するかを特定する。
表示コンテキストは方形領域、表示領域を1或はそれ以上のビットマツプ上にど
のように投影するかを限定する0表示領域がビットマツプ内に出現する各回を表
示インスタンスであると見做す。
表示インスタンスは、表示領域が出現するビットマツプ、そのビットマツプ内の
表示領域のオフセント、表示領域をどのようにクリップするか(方形及び窓平面
の両方或は何りか一方)、及びどの画素フォーマントを使用するかを特定する0
表示コンテキストデータ構造を第12図に示し、以下に説明する。
行先データ構造
*インスタンス:表示インスタンスリストのアドレスを容れるロングワード、値
が0 (ゼロ値)であると表示コンテキストは現在どのビットマツプ内にも現わ
れていないことを意味する。
*巾:表示領域の巾を容れるワード。
*高さ:表示領域の高さを容れるワード。
行先インスタンスデータ構造
*次二次の表示インスタンスのアドレスを容れるロングワード。
アドレスが0 (ゼロ値)であると表示インスタンスリストの終りを表わす。
本ビントマツプ二ビットマップ記述子のアドレスを容れるロングワード、θ値は
フレームバッファビットマツプを意味し、レンダリングプロセッサ36が受入れ
る唯一の値である。もし非0値が検出されればレンダリングプロセンサ36は行
先インスタンスを無視する。
*Xオフ二ビントマップの原点からの表示領域のXオフセントを容れるワード。
*Yオフ:ビットマツプの原点からの表示領域のyオフセントを容れるワード。
本バ7りH表示インスタンスが表示されるのはどのフレームバッファバンクであ
るかを特定するビットフィールド。
旦ヱ上 長−五
OバンクA可能化
1 バンクB可能化
2〜15 保留及び0にする
*ZE:表示画素の画素法がりを容れる無符号ワード、現行では、この値は4或
は8の倍数に制限されている。
*ZO:ビットマップ画素内の表示画素の画素オフセットを容れる符号付きワー
ド、現行では、この値は4の広がりを有する表示に関しては4の倍数に、また8
の広がりを有する表示に関しては8の倍数に制限されている。
*ZF :表示画素フォーマ7 )を容れる無符号ワード、現行では、0の値は
マツプされたカラーフォーマットを、またlの値は金色フォーマ7)を特定する
。
*PMSK:表示画素データを、それが書込まれる時にマスクするのに使用され
るビットフィールドを容れるロングワード。
*WV :作図動作をマスクするのに使用されるハードウェアウィンドウ番号を
容れる無符号ワード。
*WM:ウィンドウ番号内のどのビットを使用するかを指示するハードウェアウ
ィンドウマスクを容れる無符号ワード。
*Rカウント:表示インスタンス内のクリッピング方形の数を容れるワード。
*RECTS :この表示インスタンスに関する作図動作をクリップするのに使
用される下記の如き方形データ構造のアレー。
各方形は表示領域の原点に関連する。方形は何処に作図を遂行するのかを特定す
る。空白の方形リストは作図を遂行しないことを特定する。
方形データ構造
*X:X:クリソピングの左上角のXオフセントを特定する。
*Y:タリンビング方形の左上角のyオフセントを特定する。
ネW:クリッピング方形の巾を特定するワード。
*H:クリンピング方形の高さを特定するワード。
以上に説明した本発明の好ましい実施例は、本発明の明白な教示から逸脱するこ
となく若干の変更が可能であることから、単なる例示に過ぎない、従って本発明
を限定する請求の範囲を参照されたい。
ぽ)
FIG、 6
す7六″Tl、、 rk’レス
FIG、 7
グうンイ′ン2 〕巧キλV
1こIシフ)レベ
PIXOPIXI PIX2 PIX32゛う2イ゛/2フーテばヒλμ
特許庁長官 吉 1)文 毅 殿
1.事件の表示 PCT/υ5B810272T3、補正をする者
事件との関係 出願人
4、代理人
5、補正命令の日付 自 発
請求の範囲
1、少なくとも1つのオペレーティング装置に関連してシステム仮想メモリを有
する第1の中央処理装置をオペレーティングする方法において、(a) 前記第
1の中央処理装置を前記少なくとも1つのオペレーティング装置に結合するバス
を設け、
ら)前記バスにスターティングおよびエンディングアドレスを有するリヂーブド
人出カスペースを設け−1
CC) 前記システム仮想メモリ内に前記少なくとも1つのオペレーティング装
置のためのシステム仮想アドレススペースヲ設ケ、
(d) 前記少なくとも1つのオペレーティング装置にマツピングレジスタを設
け、
(e) 前記バスにて前記リヂーブド入出カスペースの前記スターティングおよ
びエンディングアドレスを前記少なくとも1つのオペレーティング装置の前記マ
ツピングレジスタへ転送するように前記第1の中央処理装置をオペレ−ティング
し、
(f) 前記少なくとも1つのオペレーティング装置のアドレススペースを前記
システム仮想アドレススペースにマツプするように前記第1の中央処理装置をオ
ペレーティングし、C(至)前記第1の中央処理装置が直接メモリアクセスハー
ドウェア、オペレーティングシステムコールおよび装置ドライバを必要とせずに
前記少なくとも1つのオペレーティング装置に直接的にアクセスしうるように、
少なくとも1つのオペレーティング装置のアドレススペースがマツプされる前記
システム仮想アドレススペースをアンプロテクトするように前記第1の中央処理
装置をオペレーティングする、
ことを特徴とする方法。
2、コンビ二−タシステムにおいて、
(a) システム仮想アドレススペースを存スるシステム仮想メモリを含む第1
の中央処理装置と、
ら)マツピングレジスタを含む少なくとも1つのオペレーティング装置と、
(C) 前記中央処理装置と前記少なくとも1つのオペレーティング装置とを結
合し、スターティングおよびエンディングアドレスを持ったリザ゛−ブト入出カ
スペースを有するバスと、を備えており、
(d) 前記マツピングレジスタは、前記リヂーブド入出カスペースの前記スタ
ーティングおよびエンディングアドレスを記憶し、
(e) 前記少なくとも1つのオペレーティング装置のアトl/ススペースは、
前記システム仮想アドレススペースの部分ヘマツプされ、(f) 前記少なくと
も1つのオペレーティング装置のアドレスがマツプされる前記システム仮想アド
レススペースの部分は、アンプロテクト状態にある、
ことを特徴とするコンピュータシステム。
3、 メモリシステムにおいて、
(a) 第1の中央処理装置に結合されたシステム仮想アトL・ススペースを有
するシステム仮想メモリと、
ら)マツピングレジスタを含む少なくとも1つのオペレーティング装置と、
(C) 前記中央処理装置と前記少なくとも1つのオペレーティング装置とを結
合し、スターティングおよびエンディングアドレスを持ったリザーブド入出カス
ペースを有するバスと、を備えており、
(d) 前記マンピングレジスタは、前記リザー・ブトスペースの前記スターテ
ィングおよびエンディングアドレスを記憶し、
(e) 前記少なくとも1つのオペレーティング装置のアドレススペースは、前
記システム仮想アドレスにマツプされ、
(f) 前記少なくとも1つのオペレーティング装置のアドレスがマツプされる
前記システム仮想アドレススペースの部分は、アンプロテクト状態にある、
ことを特徴とするメモリシステム。
4、 グラフインクシステムにおいて、(a)2次元グラフィック像を処理し操
作すべく作動しうる中央処理装置を含む2次元グラフィックサブシステムと、
(b) 前記中央処理装置に結合された出力を有する3次元グラフィック像を処
理し操作すべく作動しうる3次元グラフィックサブシステムと、
を備えており、
(C) 前記中央処理装置は、前記3次元グラフインクサブシステムかみ受けら
れる前記3次元グラフィック像を操作するように動作しうるものであり、さらに
、
(d) 前記中央処理装置の出力に結合され前記2次元グラフィック像および3
次元グラフィック像を表示するための手段
を備えることを特徴とするグラフィックシステム。
5、 中央処理装置を有するコンピュータグラフィックシステムをオペレーティ
ングする方法において、
(a) ハードウェアコンテキストを定める状態を維持するように前記中央処理
装置をオペレーティングし、
ら) グラフィックコンテキストにグラフィックコマンドを記憶するように前記
中央処理装置をオペレーティングし、
(c) 前Eグラフィックコンテキストの間で前記ハードウェアコンテキストを
共用させることによりマルチタスキング環境を与えるように前記中央処理装置を
さらにオペレーティングする、
ことを特徴とする方法。
6、コンヒユータグラフイックシステムをオペレーティングする方法において、
(a) ホスト中央処理装置に複数のアプリケーションプロセスを設け、
ら)前記アプリケーションプロセスを実行して、それらアプリケーションプロセ
スに関連し前、g己コンヒニータグラフィックシステム:こよって表示されるべ
き対象を表すグラフィックデータおよびコマンドを各々含む個々のグラフィック
データストラフチアーを発生させるように前記ホスト中央処理装置をオペレーテ
ィングし、
(C) メモリ装置に前記価々のグラフィックデータストラクチ丁−を記憶する
ように前記ホスト中央処理装置をさろにオペレーティングし、(d) 前記価々
のグラフィックデータストラクチ丁−のあるシーケンスに従って前記メモリ装置
をトラバースして前記シーケンスに従って前記グラフィックデータおよびコマン
ドを、処理、操作および表示のためのグラフィックサブシステムに対して非同期
的に読み出し且つ送信するようにグラフィック装置をオペレーティングし、
(e) (i )前記グラフィックデータストラクチャーの予め選択された1つ
のトラバースのモードおよびタイプに関する情報を各々含む別々のトラバース要
求を選択的に発生し制御し、
(u)前記発生されたトラバース要求の各々を前記グラフィックデータストラク
チャーの予め選択された1つに付け、
(iii >前記トラバース要求を読み出して実行して多重のアプリケーション
プロセスのグラフィック処理を行うために、
前記アプリケーションプロセスをさろに実行することにより前記グラフィック装
置および前記ホスト中央処理装置を協調的にオペレーティングすることにより個
々のグラフィックデータストラクチャーの前記シーケンスをオーダーリングしセ
ツティングする、
ことを特徴とする方法。
7、 コンピュータグラフィックシステムにおいて、(a) 複数のアプリケー
ションプロセスを含むホスト中央処理装置を備えており、
(b) 前記ホスト中央処理装置は、前記コンビニ−タグラフイックシステムに
よって表示されるべき対象を表すグラフィックデータおよびコマンドを各々含む
個々のグラフィックデータストラクチャーを発生するための前記アプリケーショ
ンプロセスを実行するように作動しろるものであり、さらに、
(C) メモリ装置を備えており、
(d) 前記ホスト中央処理装置は、前記メモリ装置に前記価々のグラフインク
データストラフチアーを記憶させるように作動しうるちのであり、さろに、
(e) グラフィックデータを処理し表示するように作動しろるグラフィックサ
ブシステムと、(f) 前記価々のグラフィックデータストラクチャーのあるシ
ーケンスによって前記メモリ装置をトラバースして前記グラフィックサブシステ
ムに対して前記シーケンスに従って前記グラフィックデータおよびコマンドを非
同期的に読み出し且つ送信するように作動するグラフィック装置とを備えており
、
(g) 前記グラフィック装置およびホスト中央処理装置は、前記グラフィック
データストラクチア−の予め選択された1つのトラバースのモードおよびタイプ
に関する情報を各々含む別々のトラバース要求を、前記アプリケーションプロセ
スをさらに実行することにより発生し、前記側々のトラバース要求の各々を前記
グラフィックデータストラフチアーの予め選択された1つへ付け、前記トラバー
ス要求を読み出して実行して多重のアプリケーションプロセスのグラフィック処
理を行えるようにすることにより、前記シーケンスをオーダリング且つセツティ
ングするように協調的に動作しうる、
ことを特徴とするコンピュータグラフィックシステム。
8、 データストラフチャーにおけるノードの条件付テストを前記データストラ
フチア−のトラバース中に行う方法において、
(a) メモリに含まれたデータについて、テストされるべきオペランドに対す
る値を定めるようにオペレーティングし、
(′b)前記メモリからの前記オペランドにアクセスし、
(C) 前記オペランドの箇についてテストを行い、(d) 前記テストの結果
に従ってデータストラクチ〒−におけるあるバスをトラバースする、ことを特徴
とする方法。
9、 先取りグラフィックデータストラクチイーを作り出す方法において、
(a) メモリに含まれたデータについてテストされるべきオペランドのための
値を定めるようにオペレーティングし、
(b) 前記メモリからの前記オペランドにアクセスし、
(C) 前記オペランドの値について条件付テストを行い、
(d) 前記条件付テストの結果に従って前記データストラフチャーにおけるバ
スをトラバースする、
ことを特徴とする方法。
10、先取りグラフィックデータストラクチャーを作り出す方法において、
(a) データストラフチャーに情報を含むカスタムノードを作り出し、
(′b)前記カスタムノードのトラバース中にグラフィックサブシステムへ前記
情報をバスする、ことを特徴とする方法。
平成 年 月 日
Claims (1)
- 【特許請求の範囲】 1.少なくとも1つのオペレーティング装置に関連してシステム仮想メモリを有 する第1の中央処理装置をオペレーティングする方法において、 (a)前記第1の中央処理装置を前記少なくとも1つのオペレーティング装置に 結合するバスを設け、 (b)前記バスにスターティングおよびエンディングアドレスを存するリザーブ ド入出力スペースを設け、(c)前記システム仮想メモリ内に前記少なくとも1 つのオペレーティング装置のためのシステム仮想アドレススペースを設け、 (d)前記少なくとも1つのオペレーティング装置にマッピングレジスタを設け 、 (e)前記バスにて前記リザーブド入出力スペースの前記スターティングおよび エンディングアドレスを前記少なくとも1つのオペレーティング装置の前記マッ ピングレジスタへ転送するように前記第1の中央処理装置をオペレーティングし 、(f)前記少なくとも1つのオペレーティング装置のアドレススペースを前記 システム仮想アドレススペースにマップするように前記第1の中央処理装置をオ ペレーティングし、(g)前記第1の中央処理装置が直接メモリアクセスハート ウェア、オペレーティングシステムコールおよび装置ドライバを必要とせずに前 記少なくとも1つのオペレーティング装置に直接的にアクセスしうるように、少 なくとも1つのオペレーティング装置のアドレススペースがマップされる前記シ ステム仮想アドレススペースをアンプロテクトするように前記第1の中央処理装 置をオペレーティングする、ことを特徴とする方法。 2.前記少なくとも1つのオペレーティング装置は、第2の中央処理装置を備え る請求の範囲第1項記載の方法。 3.前記第2の中央処理装置は、コンピュータグラフィックサプシステムに結合 されている請求の範囲第2項記載の方法。 4.前記第2の中央処理装置は、ローカルバスによって前記コンピュータグラフ ィックサプシステムに結合されている請求の範囲第3項記数の方法。 5.コンピュータシステムにおいて、 (a)システム仮想アドレススペースを有するシステム仮想メモリを含む第1の 中央処理装置と、 (b)マッピングレジスタを含む少なくとも1つのオペレーティング装置と、 (c)前記中央処理装置と前記少なくとも1つのオペレーティング装置とを結合 し、スターティングおよびエンディングアドレスを持ったリザーブド入出力スペ ースを有するバスと、を備えており、 (d)前記マッピングレジスタは、前記リザーブド入出力スペースの前記スター ティングおよびエンディングアドレスを記憶し、 (e)前記少なくとも1つのオペレーティング装置のアドレススペースは、前記 システム仮想アドレススペースの部分へマップされ、 (f)前記少なくとも1つのオペレーティング装置のアドレスがマップされる前 記システム仮想アドレススペースの部分は、アンプロテクト状態にある、 ことを特徴とするコンピュータシステム。 6.前記少なくとも1つのオペレーティング装置は、第2の中央処理装置を備え る請求の範囲第5項記載のコンピュータシステム。 7.前記第2の中央処理装置に結合されたコンピュータグラフィックサプシステ ムをさらに備える請求の範囲第6項記載のコンピュータシステム。 8.前記第2の中央処理装置を前記コンピュータグラフィックサプシステムに結 合するローカルバスをさらに含む請求の範囲第7項記載のコンピュータシステム 。 9.メモリシステムにおいて、 (a)第1の中央処理装置に結合されたシステム仮想アドレススペースを有する システム仮想メモリと、(b)マッピングレジスタを含む少なくとも1つのオペ レーティング装置と、 (c)前記中央処理装置と前記少なくとも1つのオペレーティング装置とを結合 し、スターティングおよびエンディングアドレスを持ったりザープド入出力スペ ースを有するバスと、を備えており、 (d)前記マッピングレジスタは、前記リザーブドスペースの前記スターティン グおよびエンディングアドレスを記憶し、(e)前記少なくとも1つのオペレー ティング装置のアドレススペースは、前記システム仮想アドレスにマップされ、 (f)前記少なくとも1つのオペレーティング装置のアドレスがマップされる前 記システム仮想アドレススペースの部分は、アンプロテクト状態にある、 ことを特徴とするメモリシステム。 10.前記少なくとも1つのオペレーティング装置は、第2の中央処理装置を備 える請求の範囲第9項記載のメモリシステム。 11.前記第2の中央処理装置に結合されたコンピュータグラフィックサプシス テムをさらに備える請求の範囲第10項記載のメモリシステム。 12.前記第2の中央処理装置を前記コンピュータグラフィックサプシステムへ 結合するローカルバスをさらに含む請求の範囲第11項記載のメモリシステム。 13.グラフィックシステムにおいて、(a)2次元グラフィック像を処理し操 作すべく作動しうる中央処理装置を含む2次元グラフィックサプシステムと、( b)前記中央処理装置に結合された出力を有する3次元グラフィック像を処理し 操作すべく作動しうる3次元グラフィックサプシステムと、 を備えており、 (c)前記中央処理装置は、前記3次元グラフィックサプシステムから受けられ る前記3次元グラフィック像を操作するように動作しうるものであり、さらに、 (d)前記中央処理装置の出力に結合され前記2次元グラフィック像および3次 元グラフィック像を表示するための手段を備えることを特徴とするグラフィック システム。 14.メモリ装置を含み、前記3次元グラフィック像を作り出すのに使用される データが前記メモリ装置に記憶される請求の範囲第13項記載のグラフィックシ ステム。 15.メモリ装置を含み、前記2次元グラフィック像を作り出すのに使用される データが前記メモリ装置に記憶される請求の範囲第13項記載のグラフィックシ ステム。 16.共通メモリ装置を含み、前記3次元グラフィックー像および2次元グラフ ィック像を作り出すのに使用されるデータが前記共通メモリ装置に記憶される請 求の範囲第13項記載のグラフィックシステム。 17.中央処理装置を有するコンピュータグラフィックシステムをオペレーティ ングする方法において、 (a)ハードウェアコンテキストを定める状態を維持するように前記中央処理装 置をオペレーティングし、(b)グラフィックコンテキストにグラフィックコマ ンドを記憶するように前記中央処理装置をオペレーティングし、(c)前記グラ フィックコンテキストの間で前記ハードウェアコンテキストを共用させることに よりマルチタスキング環境を与えるように前記中央処理装置をさらにオペレーテ ィングする、 ことを特徴とする方法。 18.前記中央処理装置をさらにオペレーティングする段階は、前記ハードウェ アコンテキストに前記グラフィックコンテキストの実行をスケジュールするよう に前記中央処理装置をオペレーティングすることを含む請求の範囲第17項記載 の方法。 19.前記グラフィックコンテキストの実行を中断することなく、前記ハードウ ェアコンテキストを動的にロードするように前記中央処理装置をオペレーティン グすることをさらに含む請求の範囲第17項記載の方法。 20.コンテキストグラフィックシステムをオペレーティングする方法において 、 (a)ホスト中央処理装置に複数のアプリケーションプロセスを設け、 (b)前記アプリケーションプロセスを実行して、それらアプリケーションプロ セスに関連し前記コンテキストグラフィックシステムによって表示されるべき対 象を表すグラフィックデータおよびコマンドを各々含む個々のグラフィックデー タストラクチャーを発生させるように前記ホスト中央処理装置をオペレーティン グし、 (c)メモリ装置に前記個々のグラフィックデータストラクチャーを記憶するよ うに前記ホスト中央処理装置をさらにオペレーティングし、 (d)前記個々のグラフィックデータストラクチャーのあるシーケンスに従って 前記メモリ装置をトラバースして前記シーケンスに従って前記グラフィックデー タおよびコマンドを、処理、操作および表示のためのグラフィックサプシステム に対して非同期的に読み出し且つ送信するようにグラフィック装置をオペレーテ ィングし、 (e)(j)前記グラフィックデータストラクチャーの予め選択された1つのト ラバースのモードおよびタイプに関する情報を各々含む別々のトラバース要求を 選択的に発生し制御し、 (ii)前記発生されたトラバース要求の各々を前記グラフィックデータストラ クチャーの予め選択された1つに付け、(iii)前記トラバース要求を読み出 して実行して多重のアプリケーションプロセスのグラフィック処理を行うために 、前記アプリケーションプロセスをさらに実行することにより前記グラフィック 装置および前記ホスト中央処理装置を協調的にオペレーティングすることにより 個々のグラフィックデータストラクチャーの前記シーケンスをオーダーリングし セッティングする、 ことを特徴とする方法。 21.(a)前記グラフィックデータストラチャーの予め選択された少なくとも 1つのトラバースの読出しおよび実行を行うのに必要なグラフィックアトリピュ ートおよび制御情報を各々含むグラフィックコンテキストを発生するように前記 ホスト中央処理装置をオペレーティングし、(b)前記トラーバス要求は、前記 グラフィックコンテキストにフラッグを備え、 (c)前記グラフックデータストラクチャーの前記予め選択された少なくとも1 つに前記グラフィックコンテキストの各々を付けるように前記ホスト中央処理装 置をさらにオペレーティングする、 ような請求の範囲第20項記載の方法。 22.(a)窓を発生するように前記ホスト中央処理装置をオペレーティングし 、 (b)前記窓の予め選択された1つの記述に関する情報を各々含む表示コンテキ ストを発生するように前記ホスト中央処理装置をオペレーティングし、 (c)前記グラフィックコンテキストの予め選択された少なくとも1つに前記表 示コンテキストの各々を付けるように前記ホスト中央処理装置をさらにオペレー ティングする、ような請求の範囲第21項記載の方法。 23.前記メモリ装置に前記グラフィックデータストラクチャーを階層的ノード メモリストラクチャーとして記憶させることをさらに含む請求の範囲第20項ま たは第21項または第22項記載の方法。 24(a)要求プロセスにおいて前記メモリ装置をトラバースして前記グラフィ ックコンテキストにおけるトラバース要求の存在を確証するように前記グラフィ ック装置をオペレーティングし、 (b)その後に、トラバースプロセスにおいて前記メモリ装置をトラバースして 前記(a)の要求プロセスに従って確認されたトラバース要求にしたがって前記 グラフィックデータストラクチャーをトラバースするように前記グラフィック装 置をオペレーティングする、 ような請求の範囲第21項または第22項記載の方法。 25.(a)対応するグラフィックコンテキストヘのポインタを各々含む単一イ ンスタンスの前記メモリ装置におけるリストを、前記グラフィックコンテキスト の各々からコンパイリングし、 (b)前記リストを使用して前記メモリ装置をトラバースする、ような請求の範 囲第21項記載の方法。 26.(a)対応する表示コンテキストヘのポインタを各々含む単一インスタン スの前記メモリ装置におけるリストを、前記表示コンテキストの各々からコンパ イリングし、(b)前記リストを使用して前記メモリ装置をトラバースする、よ うな請求の範囲第25項記載の方法。 27.コンピュータグラフィックシステムにおいて、(a)複数のアプリケーシ ョンプロセスを含むホスト中央処理装置を備えており、 (b)前記ホスト中央処理装置は、前記コンピュータグラフィックシステムによ って表示されるべき対象を表すグラフィックデータおよびコマンドを各々含む個 々のグラフィックデータストラクチャーを発生するため前記アプリケーションプ ロセスを実行するように作動しうるものであり、さらに、(c)メモリ装置を備 えており、 (d)前記ホスト中央処理装置は、前記メモリ装置に前記個々のグラフィックデ ータストラクチャーを記憶させるように作動しうるものであり、さらに、 (e)グラフィックデータを処理し表示するように作動しうるグラフィックサプ システムと、 (f)前記個々のグラフィックデータストラクチャーのあるシーケンスによって 前記メモリ装置をトラバースして前記グラフィックサプシステムに対して前記シ ーケンスに従って前記グラフィックデータおよびコマンドを非同期的に読み出し 且つ送信するように作動するグラフィック装置とを備えており、(g)前記グラ フィック装置およびホスト中央処理装置は、前記グラフィックデータストラクチ ャーの予め選択された1つのトラバースのモードおよびタイプに関する情報を各 々含む別々のトラバース要求を、前記アプリケーションプロセスをさらに実行す ることにより発生し、前記別々のトラバース要求の各々を前記グラフィックデー タストラクチャーの予め選択された1つへ付け、前記トラバース要求を読み出し て実行して多重のアプリケーションプロセスのグラフィック処理を行えるように することのより、前記シーケンスをオーダリング且つセッティングするように協 調的に動作しうる、ことを特徴とするコンピュータグラフィックシステム。 28.前記中央処理装置は、前記グラフィックデータストラクチャーの予め選択 された少なくとも1つの読出しおよび実行を行うのに必要とされるグラフィック アトリピュートおよび制御情報を各々含むグラフィックコンテキストを発生し、 前記グラフィックデータストラクチャーの前記予め選択された少なくとも1つに 前記グラフィックコンテキストの各々を付けるように作動しうる請求の範囲第2 7項記載のコンピュータグラフィックシステム。 29.前記トラバース要求は、前記グラフィックコンピュータにフラッグを備え る請求の範囲第28項記載のコンピュータグラフィックシステム。 30.前記中央処理装置は、窓および該窓の予め選択された1つの記述に関する 情報を各々含む表示コンテキストを発生し、前記表示コンテキストの各々を前記 グラフィックコンテキストの予め選択された少なくとも1つに付けるように作動 する請求の範囲第28項または第29項記載のコンピュータグラフィックシステ ム。 31.前記中央処理装置は、前記メモリ装置に前記グラフィックデータストラク チャーを、階層的ノードメモリストラクチャーとして記憶させるように動作しう る請求の範囲第27項記載のコンピュータグラフィックシステム。 32.データストラクチャーにおけるノードの条件付テストを前記データストラ クチャーのトラバース中に行う方法において、(a)メモリに含まれたデータに ついて、テストされるべきオペランドに対する値を定めるようにオペレーティン グし、(b)前記メモリからの前記オペランドにアクセスし、(c)前記オペラ ンドの値についてテストを行い、(d)前記テストの結果に従ってデータストラ クチャーにおけるあるバスをトラバースする、 ことを特徴とする方法。 33.前記メモリにおけるオペランドにアクセスする工程は、コマンドパラメー タに記憶された値をレジスタの内容に加えることによって得られるアドレスにそ のオペランドを置くことによって行われる請求の範囲第32項記載の方法。 34.前記メモリにおけるオペランドにアクセスする工程は、オペランドを前記 メモリにおけるレジスタに置くことによって行われる請求の範囲第32項記載の 方法。 35.前記メモリにおけるオペランドにアクセスする工程は、前記ノードに指定 されたアドレスにオペランドを置くことによって行われる請求の範囲第32項記 載の方法。 36.前記メモリにおけるオペランドにアクセスする工程は、前記ノードにオペ ランドを置くことによって行われる請求の範囲第32項記載の方法。 37.先取りグラフィックデータストラクチャーを作り出す方法において、 (a)メモリに含まれたデータについてテストされるべきオペランドのための値 を定めるようにオペレーティングし、(b)前記メモリからの前記オペランドに アクセスし、(c)前記オペランドの値について条件付テストを行い、(d)前 記条件付テストの結果に従って前記データストラクチャーにおけるパスをトラバ ースする、 ことを特徴とする方法。 38.前記メモリにおけるオペランドにアクセスする工程は、コマンドパラメー タに記憶された値をレジスタの内容に加えることによって得られたアドレスにオ ペランドを置くことによって行われる請求の範囲第37項記載の方法。 39.前記メモリにおけるオペランドにアクセスする工程は、前記メモリにおけ るレジスタにオペランドを置くことによって行われる請求の範囲第37項記載の 方法。 40.前記メモリにおけるオペランドにアクセスする工程は、前記ノードに指定 されたアドレスにオペランドを置くことによって行われる請求の範囲第37項記 載の方法。 41.前記メモリにおけるオペランドにアクセスする工程は、前記ノードにオペ ランドを置くことによって行われる請求の範囲第37項記載の方法。 42.先取りグラフィックデータストラクチャーを作り出す方法において、 (a)データストラクチャーに情報を含むカスタムノードを作り出し、 (b)前記カスタムノードのトラバース中にグラフィックサプシステムへ前記情 報をパスする、 ことを特徴とする方法。 43.前記情報をパスする工程は、前記グラフィックサプシステムヘパスされた 情報を処理しないストラクチャーウォーカーによって行われる請求の範囲第42 項記載の方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/085,081 US5155822A (en) | 1987-08-13 | 1987-08-13 | High performance graphics workstation |
| US085,081 | 1987-08-13 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03501176A true JPH03501176A (ja) | 1991-03-14 |
Family
ID=22189341
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63507486A Pending JPH03501176A (ja) | 1987-08-13 | 1988-08-12 | 高性能グラフィックスワークステーション |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5155822A (ja) |
| EP (1) | EP0329771B1 (ja) |
| JP (1) | JPH03501176A (ja) |
| DE (1) | DE3855234T2 (ja) |
| WO (1) | WO1989001664A1 (ja) |
Families Citing this family (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5224210A (en) * | 1989-07-28 | 1993-06-29 | Hewlett-Packard Company | Method and apparatus for graphics pipeline context switching in a multi-tasking windows system |
| JP2938104B2 (ja) * | 1989-11-08 | 1999-08-23 | 株式会社日立製作所 | 共有資源管理法方および情報処理システム |
| US5307458A (en) * | 1991-12-23 | 1994-04-26 | Xerox Corporation | Input/output coprocessor for printing machine |
| US5394524A (en) * | 1992-08-07 | 1995-02-28 | International Business Machines Corporation | Method and apparatus for processing two graphics data streams in parallel |
| US5430841A (en) * | 1992-10-29 | 1995-07-04 | International Business Machines Corporation | Context management in a graphics system |
| GB2278524B (en) * | 1993-05-28 | 1997-12-10 | Nihon Unisys Ltd | Method and apparatus for rendering visual images employing area calculation and blending of fractional pixel lists for anti-aliasing and transparency |
| EP0722589B1 (en) * | 1993-10-06 | 1999-01-20 | Honeywell Inc. | Virtual graphics processor and method for embedded, real time display systems |
| JP3660366B2 (ja) * | 1993-12-28 | 2005-06-15 | 富士通株式会社 | 図形を用いたプログラミングシステム |
| JP3492761B2 (ja) * | 1994-04-07 | 2004-02-03 | 株式会社ソニー・コンピュータエンタテインメント | 画像生成方法及び装置 |
| US5517601A (en) * | 1994-09-30 | 1996-05-14 | Hewlett-Packard Company | High speed apparatus and method for rasterization of font glyphs |
| US5649173A (en) * | 1995-03-06 | 1997-07-15 | Seiko Epson Corporation | Hardware architecture for image generation and manipulation |
| US5805868A (en) * | 1995-03-24 | 1998-09-08 | 3Dlabs Inc. Ltd. | Graphics subsystem with fast clear capability |
| US5751979A (en) * | 1995-05-31 | 1998-05-12 | Unisys Corporation | Video hardware for protected, multiprocessing systems |
| US6057852A (en) * | 1997-04-30 | 2000-05-02 | Hewlett-Packard Company | Graphics accelerator with constant color identifier |
| US6404435B1 (en) * | 1998-04-03 | 2002-06-11 | Avid Technology, Inc. | Method and apparatus for three-dimensional alphanumeric character animation |
| US6512522B1 (en) | 1999-04-15 | 2003-01-28 | Avid Technology, Inc. | Animation of three-dimensional characters along a path for motion video sequences |
| US7015918B2 (en) * | 2003-06-10 | 2006-03-21 | Lsi Logic Corporation | 2-D luma and chroma DMA optimized for 4 memory banks |
| US6993598B2 (en) * | 2003-10-09 | 2006-01-31 | International Business Machines Corporation | Method and apparatus for efficient sharing of DMA resource |
| JP4463573B2 (ja) * | 2004-01-22 | 2010-05-19 | 藤倉ゴム工業株式会社 | 除振装置 |
| US7136943B2 (en) * | 2004-03-18 | 2006-11-14 | International Business Machines Corporation | Method and apparatus for managing context switches using a context switch history table |
| US7441909B2 (en) | 2005-01-20 | 2008-10-28 | Hewlett-Packard Development Company, L.P. | Optical assembly for a projection system |
| JP4493626B2 (ja) * | 2006-05-25 | 2010-06-30 | 株式会社ソニー・コンピュータエンタテインメント | マルチプロセッサシステム、ライブラリモジュール、および描画処理方法 |
| JP4378572B2 (ja) * | 2007-06-28 | 2009-12-09 | Necシステムテクノロジー株式会社 | データ転送システム、データ転送方法、ホスト装置及び描画装置 |
| US8520007B2 (en) * | 2008-01-15 | 2013-08-27 | Mitsubishi Electronic Corporation | Graphic drawing device and graphic drawing method |
| US9401004B2 (en) * | 2009-10-13 | 2016-07-26 | Nvidia Corporation | State shadowing to support a multi-threaded driver environment |
| TWI447670B (zh) * | 2011-07-11 | 2014-08-01 | Aspeed Technology Inc | 具有高速傳輸功能之基板管理控制器及其傳輸方法 |
| US9251555B2 (en) | 2012-06-08 | 2016-02-02 | 2236008 Ontario, Inc. | Tiled viewport composition |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS623359A (ja) * | 1985-06-28 | 1987-01-09 | Yokogawa Hewlett Packard Ltd | 仮想記憶方式 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4315310A (en) * | 1979-09-28 | 1982-02-09 | Intel Corporation | Input/output data processing system |
| US4453211A (en) * | 1981-04-28 | 1984-06-05 | Formation, Inc. | System bus for an emulated multichannel system |
| US4509115A (en) * | 1982-04-21 | 1985-04-02 | Digital Equipment Corporation | Two-port memory controller |
| FR2582132B1 (fr) * | 1985-05-15 | 1987-07-17 | O Donnell Ciaran | Circuit de memoire d'image virtuelle permettant le multifenetrage |
| US4769636A (en) * | 1985-08-14 | 1988-09-06 | Hitachi, Ltd. | Display control method for multi-window system |
| US4742447A (en) * | 1986-01-16 | 1988-05-03 | International Business Machines Corporation | Method to control I/O accesses in a multi-tasking virtual memory virtual machine type data processing system |
| US4802085A (en) * | 1987-01-22 | 1989-01-31 | National Semiconductor Corporation | Apparatus and method for detecting and handling memory-mapped I/O by a pipelined microprocessor |
| US4956771A (en) * | 1988-05-24 | 1990-09-11 | Prime Computer, Inc. | Method for inter-processor data transfer |
-
1987
- 1987-08-13 US US07/085,081 patent/US5155822A/en not_active Expired - Lifetime
-
1988
- 1988-08-12 DE DE3855234T patent/DE3855234T2/de not_active Expired - Fee Related
- 1988-08-12 JP JP63507486A patent/JPH03501176A/ja active Pending
- 1988-08-12 WO PCT/US1988/002727 patent/WO1989001664A1/en not_active Ceased
- 1988-08-12 EP EP88908489A patent/EP0329771B1/en not_active Expired - Lifetime
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS623359A (ja) * | 1985-06-28 | 1987-01-09 | Yokogawa Hewlett Packard Ltd | 仮想記憶方式 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0329771B1 (en) | 1996-04-24 |
| EP0329771A1 (en) | 1989-08-30 |
| DE3855234T2 (de) | 1997-01-09 |
| DE3855234D1 (de) | 1996-05-30 |
| US5155822A (en) | 1992-10-13 |
| WO1989001664A1 (en) | 1989-02-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH03501176A (ja) | 高性能グラフィックスワークステーション | |
| US4928247A (en) | Method and apparatus for the continuous and asynchronous traversal and processing of graphics data structures | |
| US6088044A (en) | Method for parallelizing software graphics geometry pipeline rendering | |
| US5251322A (en) | Method of operating a computer graphics system including asynchronously traversing its nodes | |
| US5255211A (en) | Methods and apparatus for generating and processing synthetic and absolute real time environments | |
| KR101231291B1 (ko) | 자원 결합 방법 및 그를 위한 컴퓨터 판독가능 매체 및 애플리케이션 프로그래밍 인터페이스와, 종속성 트리 재구성 방법 | |
| Crow | A more flexible image generation environment | |
| US7209139B1 (en) | Efficient rendering of similar objects in a three-dimensional graphics engine | |
| US5951672A (en) | Synchronization method for work distribution in a multiprocessor system | |
| US5774122A (en) | Method for visual programming with aid of animation | |
| US7233331B2 (en) | Parallel object task engine and processing method | |
| US6307558B1 (en) | Method of hierarchical static scene simplification | |
| Rhee et al. | Real‐time weighted pose‐space deformation on the GPU | |
| US20020091992A1 (en) | Method for visual programming with aid of animation | |
| Crow et al. | 3d image synthesis on the connection machine | |
| EP1152331A2 (en) | Parallel task processing system and method | |
| CN120409066B (zh) | 一种面向城市建筑群地震灾害模拟的可视化系统及方法 | |
| US7190362B1 (en) | System and method for organizing data for a 3-dimensional graphics pipeline | |
| Stiles et al. | Lingua graphica: A visual language for virtual environments | |
| Hedelman | A data flow approach to procedural modeling | |
| Johnson et al. | Real-Time Blackboards For Sensor Fusions | |
| Snyder | ObjectSim-A Reusable Object Oriented DIS Visual Simulation | |
| JP3559336B2 (ja) | Cgデータ作成装置とcgアニメーション編集装置 | |
| Bethel et al. | Combining a multithreaded scene graph system with a tiled display environment | |
| Le Huynh et al. | PIX: An Object-Oriented Network Graphics Environment |