JPH08138060A - 並列プロセッサを用いる表示処理装置 - Google Patents

並列プロセッサを用いる表示処理装置

Info

Publication number
JPH08138060A
JPH08138060A JP6295697A JP29569794A JPH08138060A JP H08138060 A JPH08138060 A JP H08138060A JP 6295697 A JP6295697 A JP 6295697A JP 29569794 A JP29569794 A JP 29569794A JP H08138060 A JPH08138060 A JP H08138060A
Authority
JP
Japan
Prior art keywords
processor
instruction
stream
order
drawing command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6295697A
Other languages
English (en)
Inventor
Yumiko Sugita
由美子 杉田
Shinji Kimura
信二 木村
Reiko Yamamoto
礼己 山本
Toshiyuki Kuwana
利幸 桑名
Masahito Manda
雅人 萬田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP6295697A priority Critical patent/JPH08138060A/ja
Publication of JPH08138060A publication Critical patent/JPH08138060A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】 【目的】 複数のスレッドで並列に処理され混在して転
送された描画命令をスレッドが起動した順番と同じ順序
で、画面上に描画命令の処理結果を表示する。 【構成】 CPU11〜12で複数のスレッドが順次生成す
るストリーム順序情報及び描画順序情報を有する描画命
令(命令)からなる描画命令ストリームが混在してグラ
フィック・バス・コントローラ(GBC)19に転送さ
れ、GBCは受信した命令を順次メモリ20に格納し、各
命令の描画順序を指定するテーブルを作成し、該テーブ
ルにより描画順に命令を読み出し、命令を処理するプロ
セッサをプロセッサ27〜30からその負荷状態を見て選択
し、その識別子を命令のIDの第1プロセッサとして設
定し、IDの第2プロセッサとして次命令を処理するプ
ロセッサの識別子を設定し、ラスターコンバータ21はプ
ロセッサから命令を読み込み処理し、次の描画命令をI
Dの第2プロセッサのプロセッサから読み込む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、並列実行可能な複数の
プロセッサを備えた並列処理装置に係り、特に、動画の
ように滑らかな表示画面変更処理を必要とするグラフィ
ックスシステムにおける並列プロセッサを用いる表示装
置に関する。
【0002】
【従来の技術】コンピュータ・グラフィックスの応用分
野がビジュアルシミュレーションや科学技術計算結果の
可視化などに広がるとともに、表示性能に対する高速描
画の要求がさらに高まっている。従来、このような高速
化の要求に答える技術としては、座標変換やクリッピン
グといったジオメトリ処理を専用プロセッサで処理する
ことによって解決してきた。特に高速化の性能が要求さ
れる分野では、特開平2−275581号公報に記載さ
れるようにジオメトリ処理のための専用プロセッサを複
数のプロセッサで構成し、個々のプロセッサをパイプラ
イン状に接続する方式が知られている。また、Comp
uter Graphics(SIGGRAPH’93
Conference Proceedings)、
Vol. 27、pp93〜100や、日経エレクトロ
ニクス、No. 578、pp137〜154、あるい
は日経CG、No.73、pp143〜153には、ジ
オメトリ処理を並列に処理するグラフィックスシステム
が記載されている。さらに、グラフィックスシステムへ
の近年のもう一つの要求として高品質化が上げられ、そ
の代表的な方法に透明感のある物体の重なり表現があ
る。この分野では、Computer Graphic
s Principles andPractice、
pp7557〜563や、3次元コンピュータグラフィ
ックス、ASCII出版、pp288〜297に記載さ
れているように、描画順序によって異なる品質の図形を
生成できることが知られている。一方、上記のグラフィ
ックスシステムを利用する応用プログラム側においても
複数の中央演算装置(CPU)を用いる並列プログラミ
ングが普及してきている。応用プログラムの並列プログ
ラミングは、並列化コンパイラを用いて並列化を支援す
るものや、スレッドと呼ばれるOS(オペレーティング
システム)が支援する機能を用いて応用プログラムを複
数の並列処理可能な処理に分割する方法などが知られて
いる。スレッドについてはUNIX MAGAZIN
E、Vol.5、No.2、pp.46〜52に紹介さ
れている。
【0003】
【発明が解決しようとする課題】高性能なグラフィック
スシステムを備えた計算機において、グラフィックスシ
ステムの性能を十分に引き出すためには、応用プログラ
ムが動作するCPU側も必要な描画命令データの供給量
を満たす必要がある。前記で述べたようにグラフィック
スシステムおよび応用プログラム(CPUで実行)は並
列化の手法によりそれぞれ性能の向上が可能である。し
かし、グラフィックスシステムへの描画命令データ供給
の点から、CPU側の並列化を行なうと、従来のグラフ
ィックスシステムはCPUで動作する応用プログラムが
複数のスレッドとして動作することを考慮していないた
め不都合が起こる。特に複数のCPUでスレッドを動作
させると、各スレッドを実行するCPUの負荷により応
用プログラムがスレッドを起動した順番と異なる順序で
描画命令データがグラフィックスシステムへ転送される
ことが起こるが、グラフィックスシステムの描画命令デ
ータの受信口はこのことを考慮していないため、受け取
った順に描画命令の処理を行なっていく。また、グラフ
ィックスシステムにおいて描画命令データのジオメトリ
演算部を複数のプロセッサで並列に実行した場合にも、
各プロセッサの負荷の違いにより次の命令データが生成
される順番はプロセッサに配布された順番とは異なると
いう現象が起こる。ところが、透明感のある物体の重な
り表現などを実現する場合、API(Applicat
ion Program Interface)の描画
命令の発行順序で描画の品質を制御しているため、CP
Uからグラフィックスシステムへデータを転送する場
合、描画するプリミティブ単位(折れ線列、三角形列な
ど)間の順序を保証する必要がある。このプリミティブ
単位の描画順序保証のためには、応用プログラムの各ス
レッド間でグラフィックスシステムへ転送する際に排他
制御を行なう必要がある。従って並列化を実現しようと
すると、排他制御という新たなオーバヘッドが生じてし
まうという課題が生ずる。本発明の目的は、応用プログ
ラムの各スレッド間でグラフィックスシステムへ転送す
る際に排他制御を行なう必要を無くし、複数の命令スト
リームを構成する個々の命令を混在して同時にグラフィ
ックシステムに転送しても、応用プログラムがスレッド
を起動した順番と同じ順序で表示画面上に描画命令の処
理結果を表示することにある。
【0004】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、並列動作可能な複数のプロセッサにより
描画命令を処理し、その処理結果に基づき表示画面上に
表示を行なう並列プロセッサを用いる表示装置であり、
上位装置において複数のスレッドからなる応用プログラ
ムの夫々のスレッドが順次生成するストリーム順序情報
及び描画順序情報を有する描画命令からなる描画命令ス
トリームが混在して転送された複数の描画命令ストリー
ムを受信する受信手段と、記憶装置に前記受信した描画
命令を順次格納し、かつ前記ストリーム順序情報及び描
画順序情報に基づき該順次格納した各描画命令の描画順
序を指定するテーブルを作成する手段と、該テーブルを
参照して描画順序にしたがい記憶装置から描画命令を読
み出し、該描画命令に対して該描画命令を処理するプロ
セッサを前記複数のプロセッサの中から割り当てる割当
手段と、プロセッサの処理結果を前記描画順序にしたが
い順次読み込み描画命令ストリーム毎に描画を行なう描
画手段を備えるようにしている。また、前記テーブル
は、描画命令ストリーム順に該ストリーム内の描画命令
の前記記憶装置におけるアドレスを描画順序にしたがい
格納するようにしている。また、前記割当手段は、前記
各描画命令のID部に該描画命令に割り当てられる第1
のプロセッサの識別子と該描画命令に続く次描画命令に
割り当てられる第2のプロセッサの識別子を設定し、前
記記憶装置から読み出された描画命令の第1のプロセッ
サの識別子として前記複数のプロセッサの中からその負
荷状態に基づき選択したプロセッサのプロセッサ識別子
を設定し、前記第2のプロセッサの識別子としては、次
描画命令が同一描画命令ストリームに属するときは第1
のプロセッサの識別子と同一のプロセッサの識別子を設
定し、次描画命令が他の描画命令ストリームに属すると
きは前記複数のプロセッサの中からその負荷状態に基づ
き選択したプロセッサのプロセッサ識別子を設定するよ
うにしている。また、前記描画手段は、読み込んだ描画
命令にしたがい描画を行ない、該読み込んだ描画命令の
ID部に設定された第2のプロセッサの識別子で指定さ
れるプロセッサから次の描画命令を読み込むようにして
いる。さらに、並列動作可能な複数のプロセッサにより
描画命令を処理し、その処理結果に基づき表示画面上に
表示を行なう並列プロセッサを用いる表示装置であり、
上位装置において複数のスレッドからなる応用プログラ
ムの夫々のスレッドが順次生成する複数の頂点データか
らなりストリーム順序情報及び頂点数情報を有する描画
命令ストリームが並列して転送された複数の描画命令ス
トリームを受信する受信手段と、記憶装置に前記受信し
た描画命令ストリームを順次格納し、かつ前記ストリー
ム順序情報に基づき該順次格納した各描画命令ストリー
ムの描画順序を指定するテーブルを作成する手段と、該
テーブルを参照して描画順序にしたがい記憶装置から描
画命令を読み出し、該描画命令に対して該描画命令を処
理するプロセッサを前記複数のプロセッサの中から割り
当てる割当手段と、プロセッサの処理結果を前記描画順
序にしたがい順次読み込み描画命令ストリーム毎に描画
を行なう描画手段を備えるようにしている。
【0005】
【作用】上記手段により、応用プログラムの各スレッド
間でグラフィックスシステムへ転送する際に排他制御を
行なう必要が無くなり、排他制御のオーバヘッドが無く
なり、また、複数のスレッドの並列度が上がる。各スレ
ッドが順次生成する描画命令ストリームが混在して転送
されても、並列プロセッサを用いた表示処理装置におい
て応用プログラムが指定して実行した描画順序通りに描
画が行われる。また、応用プログラムから描画順序を明
示的に指示することにより、応用プログラムにおいて実
行順序に縛られたコーディングを行なう必要がなくな
り、APIに柔軟性を持たせることができる。
【0006】
【実施例】以下、本発明の一実施例を詳細に説明する。
図1は本発明の概要を示す説明図である。応用プログラ
ム50は描画命令ストリームを生成するスレッドA〜D
(51〜54)で構成されている。各スレッド51〜5
4はA,B,C,Dの順に起動され、各々異なるCPU
(11〜14)で実行される。各スレッド(51〜5
4)からグラフィックスシステム63へ転送される描画
命令ストリームの描画命令55〜58は、実行されるC
PU(11〜14)の負荷の違いにより任意の順で転送
される。各描画命令ストリームの各描画命令(55〜5
8)には応用プログラムから指定された描画順序情報
(59〜62)が付加されている。グラフィックスシス
テム63は、描画順序を識別する手段64、座標変換や
クリッピングを行なうジオメトリ演算部66、識別手段
64によって識別した順序に従って描画処理を制御する
手段67、描画データをドットイメージに展開しフレー
ムメモリへ出力するラスター変換部68がある。また、
グラフィックスシステム用のメモリ20には識別した描
画順序に関する情報65を格納する。ジオメトリ演算部
66で生成された新しいストリーム(69〜72)は、
描画制御手段67と描画順序に関する情報65を用い応
用プログラム50が設定した描画順に従ってラスター変
換部68に渡され処理される。ラスター変換部で生成さ
れたデータはディスプレイ73に表示される。
【0007】図2は、本発明による表示制御を実行する
ためのシステム構成のブロック図である。中央演算装置
であるCPU11から14は本システムの主プロセッサ
であり、バス・コントローラ15を通して接続される主
メモリ16を共用メモリとして使用する。CPU11か
ら14は、さらにバス・コントローラ15とシステムバ
ス17を通して、ディスク装置やキーボードなどの入出
力装置を制御するためのI/O制御装置18や、表示を
行なうためのグラフィックスシステム(19〜34)に
アクセスが可能とする。
【0008】グラフィックス・バス・コントローラ19
は、CPUから転送されてくる命令ストリームの受信
し、命令ストリームをジオメトリ演算部(23〜34)
に割り当てる。メモリ20はグラフィックス・バス・コ
ントローラ19が、状態の管理や命令ストリームの一時
的な格納に使用するメモリである。命令ストリームは、
ジオメトリ演算部(23〜34)により並列に座標変換
およびクリッピング処理が行われる。処理された命令ス
トリームは、描画処理のため、ラスター変換器21に送
られ、ドットイメージに展開され、フレームメモリ22
に書き込みが行われた後、ディスプレイに表示される。
【0009】ジオメトリ演算部(23〜34)は、複数
個の同じブロックで構成され、FIFO(23〜26)
は、グラフィックス・バス・コントローラ19からの命
令ストリームの格納や、ジオメトリ演算後のラスター変
換器に送るデータを格納するための入出力FIFOであ
る。ジオメトリ・プロセッサ(27〜30)はジオメト
リ演算を行なうためのプロセッサであり、メモリ(31
〜34)に格納されたプログラムおよびデータにより動
作する。また、CPU11から14で動作するオペレー
ティングシステムおよび応用プログラムは主メモリ16
に格納されており、このオペレーティングシステムは1
つの応用プログラム(タスク)を複数のスレッドに分割
し、スレッドを各CPUに割当てる機能を有しているも
のとする。
【0010】図3に本発明を適用したCPU(11〜1
4)から送られ、グラフィックスシステム(19〜3
4)で処理する命令の形式を示す。1つの命令は32バ
イトで構成され、命令の種別を示すオペコード部40、
識別子を示すID部41、および1頂点の3次元座標の
座標値を表すx座標42、y座標43、z座標44、と
座標の色を赤(R)/緑(G)/青(B)で表すR値4
5、G値46、B値47で構成される。データ48は必
ず0とする。オペコード部40は値(16進数)により
次の意味を持つものとする。 0000:座標データ 0001:折れ線の始まり、かつ座標データ 0002:三角形列の始まり、かつ座標データ 000f:座標データの終わり 識別子を示すID部41には、CPUからグラフィック
スシステムに渡ってくる時には、応用プログラムが設定
した描画順序情報が設定されている。本実施例はこの情
報を2バイトで表す。このため、2バイトで表せる値を
超えて順番を設定する場合は、再度、1からの数値を使
って順番の設定を行なうことを応用プログラムとグラフ
ィックスシステムとの間で規則として定める。この情報
は識別手段で識別し、ジオメトリ・プロセッサに配分す
るために該当描画命令ストリームおよび次の描画命令ス
トリームを実行するジオメトリ・プロセッサの情報に設
定し直す。ここで、1つの描画命令ストリームとは、1
つの折れ線あるいは三角形列を構成するデータの集まり
を意味する。図4に折れ線の例、図5に三角形列の例を
示す。
【0011】図6は描画命令ストリームの描画順序管理
テーブルの構成を示したものである。描画順序管理テー
ブル80は4バイト構成であり項目数は256個とす
る。この256という数値は描画命令ストリームの中の
描画順序を設定する項目の2バイトのうち1バイトで指
定できる限界値を用いている。これは描画順序情報の1
つとしてストリームを識別するために1バイトを使用す
ることを考慮して設けた数値である。
【0012】描画順序管理テーブル80の値は受け取っ
た描画命令をバッファに格納する時に順序情報から描画
順序とストリームを識別する。描画命令格納バッファ8
1に格納する1番目の描画命令86のストリーム識別子
は2であり、そのストリームでの描画順序は1なので、
描画順序管理テーブル80の2番目の項目85に描画命
令格納バッファ81の格納された描画命令86の先頭ア
ドレスをキューイング87する。キューイングバッファ
は描画命令のアドレス格納エリアと次のキューイングバ
ッファへのポインタエリアで構成する。描画命令格納バ
ッファ81に格納する2番目の描画命令83のストリー
ム識別子は1であり、そのストリームでの描画順序は1
なので、描画順序管理テーブル80の1番目の項目82
に描画命令格納バッファ81の格納された描画命令83
の先頭アドレスをキューイング84する。描画令格納バ
ッファ81に格納する3番目の描画命令88のストリー
ム識別子は1であり、そのストリームでの描画順序は2
なので、描画順序管理テーブル80の1番目の項目82
のキューに描画命令88の先頭アドレスをキューイング
89する。受け付けた描画命令に対して同様の処理を繰
り返し、各情報を格納する。描画順序管理テーブル80
の各項目の初期値は0とし、各項目が0の場合は該当す
る順番の命令が未受理と判断する。
【0013】図7は描画順序に従った転送を制御する転
送制御情報の構成である。転送順序カウンタ90は、次
に描画順の何番目のデータをジオメトリ・プロセッサに
転送するかを管理する。初期値は1とし、ジオメトリ・
プロセッサに該当順序のデータの転送を行なうと値をイ
ンクリメントする。テーブルインデックス91は描画順
序管理テーブル80の何番目の項目のデータをジオメト
リ・プロセッサに転送するかを管理する。例えば、25
6番目のストリームの時、転送順序カウンタ90の順序
情報の値は256、テーブルインデックス91の値は2
56であり、257番目のストリームの時、転送順序カ
ウンタ90の順序情報の値は257、テーブルインデッ
クス91の値は1となる。
【0014】次に、図8と図9により、図3の描画命令
のID部の情報変更処理の流れを説明する。グラフィッ
クス・バス・コントローラ19は、転送制御情報(9
0,91)を利用し、次にジオメトリ・プロセッサに送
るべき描画命令を決定し、その情報があるかを見る(1
11)。なければ図3の形式の描画命令ストリーム(1
00〜102)がCPU(11〜14)から転送されて
くると(112)、グラフィックス・バス・コントロー
ラ19は、各描画命令ストリームの描画順序情報(ID
部)41を識別し、図6に示した情報を生成(11
3)、メモリ20に一時的に格納する(114)。次に
ジオメトリ・プロセッサに送るべき描画命令情報があれ
ば、CPUの負荷状態からその描画命令ストリームおよ
び次の描画命令ストリームを実行するジオメトリ・プロ
セッサを割り当て決定し(115)、その情報を各命令
のID部に設定(116)、命令(103〜105)を
該当プロセッサへ転送する(117)。本制御は描画処
理終了の情報きたら終了する(110)。順番がきて処
理した描画順序管理テーブルの項目の値は0を再設定
し、項目を全部使用した場合には、このすでに処理され
空きとなった項目を再利用する。上記方法でジオメトリ
・プロセッサに送る順序を制御して付加した情報は、ジ
オメトリ・プロセッサから取り出される順序情報として
利用する。
【0015】グラフィックスシステム内では図3に示し
た命令形式がジオメトリ部(23〜34)およびラスタ
ー変換器21で処理され、描画を行なう。このとき命令
形式(103〜105)のID部41は複数あるジオメ
トリ・プロセッサへの宛先の意味を表す。図2の4つあ
るジオメトリ・プロセッサ(27〜30)の宛先にそれ
ぞれ1、2、3、4という番号を割当てる。ID部41
は2バイトのうち上位1バイトをその命令を処理するジ
オメトリ・プロセッサの宛先、下位1バイトをその次の
命令を処理するジオメトリ・プロセッサの宛先とする。
例えば、ID=(1、1)ならばそのIDを持つ命令と
その次に処理する命令はジオメトリ・プロセッサ27で
処理し、ID=(1、2)ならばそのIDを持つ命令は
ジオメトリ・プロセッサ27で、その次に処理する命令
はジオメトリ・プロセッサ28で処理するものとする。
【0016】グラフィックス・バス・コントローラ19
は、ジオメトリ・プロセッサ(27〜30)の負荷状態
により、その命令を処理するジオメトリ・プロセッサと
その次の命令を処理するジオメトリ・プロセッサを決定
し、ID部を計算する。1つの命令ストリームは同じジ
オメトリ・プロセッサで処理するため、ID部の2つの
値が異なる命令は、オペコード部が000fの値を持つ
座標の終了命令のみに付加することになる。尚、初期状
態において一番最初の命令を処理するジオメトリ・プロ
セッサは必ずジオメトリ・プロセッサ27(宛先は1)
とする。
【0017】グラフィックス・バス・コントローラ19
はID部の計算を行い、命令を処理するジオメトリ・プ
ロセッサのFIFO(23〜26)に命令を送る。命令
を送られたジオメトリ・プロセッサは、命令の種別に従
いジオメトリ演算を行い、再びFIFOに演算後の命令
を書き込む。ラスター変換器21は、ジオメトリ・プロ
セッサ27から演算後の命令を読み込み、ドットイメー
ジを生成し、フレームメモリ22を更新する。同時にラ
スター変換器21は命令のID部41の下位1バイトの
値から次に読み込むジオメトリ・プロセッサ(27〜3
0)のFIFO(23〜26)を決定し、処理を繰り返
す。以上の手順により、グラフィックス・バス・コント
ローラ19が計算した命令のID部41の値の順序に従
って、ラスター変換器21が命令を受け取るため、必ず
描画の順序は保証される。
【0018】図10は描画命令にプロセッサを割り当て
ID部41にプロセッサの識別子を設定する計算制御フ
ローである。グラフィックス・バス・コントローラ19
は、対象命令を処理するジオメトリ・プロセッサの宛先
情報をID1、その次の命令を処理するジオメトリ・プ
ロセッサの宛先情報をID2と表現している。描画命令
を受け取ったならば(140)、その命令が処理の一番
最初の描画命令かを判断し(141)、初めての命令で
あれば該命令を実行するジオメトリ・プロセッサは識別
子(宛先)1のジオメトリ・プロセッサとしID1に情
報を設定するとともに記憶しておく(142)。さらに
その命令が1頂点データ(命令ストリームが1命令で終
わる)であるかを判定し(143)、1頂点でなけれ
ば、ID2にも実行プロセッサの識別子を設定(14
4)、ID部の設定が終了したら該当ジオメトリ・プロ
セッサに命令を転送する(146)。1頂点の場合は、
全ジオメトリ・プロセッサの負荷を判定して次の命令ス
トリームを割当てるジオメトリ・プロセッサを決定しI
D2に設定し(145)、該当ジオメトリ・プロセッサ
に命令を転送する(146)。初めての命令でなけれ
ば、すでに任意のジオメトリ・プロセッサが割当てられ
いくつかの命令が処理されているストリームに属する命
令かを判定し(147)、該当ストリームがあればその
中の最後の命令かを判定(148)、最後の命令であれ
ばID1に実行ジオメトリ・プロセッサの識別子を設定
し、さらに全ジオメトリ・プロセッサの負荷を判定して
次の命令ストリームを割当てるジオメトリ・プロセッサ
を決定しID2に設定し(149)、該当ジオメトリ・
プロセッサへ転送する(155)。該当ストリームの最
後の命令でなければ、ID1とID2に実行ジオメトリ
・プロセッサの識別子を設定し(150)、該当ジオメ
トリ・プロセッサへ転送する(155)。新しいストリ
ームの命令であれば記憶してある次のストリームに割当
てるジオメトリ・プロセッサの識別子をID1に設定す
る(151)。さらにその命令が1頂点データであるか
を判定し(152)、1頂点でなければ、ID2に実行
ジオメトリ・プロセッサの識別子を設定し(153)、
該当ジオメトリ・プロセッサに命令を転送する(15
5)。1頂点の場合は、全ジオメトリ・プロセッサの負
荷を判定して次の命令ストリームを割当てるジオメトリ
・プロセッサを決定しID2に設定すると共に記憶して
おき(154)、該当ジオメトリ・プロセッサに命令を
転送する(155)。なお、描画命令がなくなり描画終
了を識別した時(156)に本処理を終了する。
【0019】なお、画順序情報の指定は、本発明で述べ
た描画順序情報の指定を含むプロトコルを応用プログラ
ムに公開し応用プログラム自身が定義する方法の他、応
用プログラムでの実行順序を描画順序情報として応用プ
ログラムでの描画命令ストリームの出現順序を検出して
描画順序情報の指定を含むプロトコルを生成する手段
(ライブラリ・プログラム)を設ける方法がある。
【0020】実施例2として、CPUから渡されるデー
タが個々の頂点毎ではなく複数の頂点の集合である描画
命令ストリームの場合を考える。図11は描画命令スト
リームの形式である。1つの命令は、ヘッダ部分の12
バイトとデータ部分の(24バイト*頂点数)バイトで
構成され、ヘッダ部分は命令の種別を示すオペコード部
120、描画順序情報を示すID部121、頂点数を示
すカウント部128、およびデータ部分は各3次元座標
の座標値を表すx座標122、y座標123、z座標1
24、と座標の色を赤(R)/緑(G)/青(B)で表
すR値125、G値126、B値127の任意数の集合
で構成される。オペコード部n1の値の意味は 0001:折れ線の座標データ 0002:三角形列の座標データ ID部121の値はグラフィックスシステム内で変化す
ることはない。ジオメトリ演算部で産出した描画命令ス
トリームにおいて、図12に示す情報(図6の変型)を
生成、図7の手段を用いて描画順序に従ってラスター変
換部に描画命令ストリームを転送することにより、実現
できる。
【0021】図12は描画命令ストリームの描画順序管
理テーブルの構成を示したものである。描画順序管理テ
ーブル130は図6と同様、4バイト構成であり項目数
は256個とする。この256という数値は描画命令ス
トリームの中の描画順序を設定する項目の2バイトのう
ち1バイトで指定できる限界値を用いている。これは描
画順序情報の1つとしてプロセス識別子も用いる時に1
バイトを使用することを考慮して設けた数値であるが、
情報の設定方法や設定格納するメモリの容量などによっ
て変更してもよい。描画順序管理テーブル130の値は
受け取った描画命令をバッファに格納する時に順序情報
を識別し、描画命令ストリーム格納バッファ131に格
納されている1番目の描画命令ストリーム135の描画
順序は2なので2番目の項目134に描画命令ストリー
ム135の先頭アドレスを設定し、2番目の描画命令ス
トリーム133の描画順序は1なので1番目の項目13
2に描画命令ストリーム133の先頭アドレスを設定す
る、という対応で各情報を格納する。描画順序管理テー
ブル130の各項目の初期値は0とし、各項目が0の場
合は該当する順番のデータが未受理と判断する。
【0022】
【発明の効果】本発明によれば、応用プログラムを複数
のCPUの上で複数のスレッドで並列に処理し、各スレ
ッドが順次生成する描画命令ストリームが混在して転送
されても、応用プログラムが指定もしくは意識して実行
した描画順序通りに描画が行われるので、並列プロセッ
サを用いた表示処理装置においても、正しい品質の描画
が可能となる。また、応用プログラムの各スレッド間で
グラフィックスシステムへ転送する際に排他制御を行な
う必要が無くなり、排他制御のオーバヘッドを無くすこ
とができ、また、複数のスレッドの並列度を上げること
ができ、高速描画が可能になる。また、応用プログラム
から描画順序を明示的に指示することにより、応用プロ
グラムにおいて実行順序に縛られたコーディングを行な
う必要がなくなり、APIに柔軟性を持たせることがで
きる。
【図面の簡単な説明】
【図1】本発明の概要を説明するための図である。
【図2】本発明による表示処理装置を含むシステムの構
成を示すブロック図である。
【図3】描画命令の形式を示す図である。
【図4】描画命令ストリームの例(折れ線)を示す図で
ある。
【図5】描画命令ストリームの例(三角形列)を示す図
である。
【図6】描画順序管理テーブルの構成と該テーブルと描
画命令格納バッファの関係を示す図である。
【図7】転送制御情報の構成を示す図である。
【図8】描画命令のID部の処理の流れを示すブロック
図である。
【図9】描画命令のID部の処理のフローチャートを示
す図である。
【図10】描画命令のID部の計算制御処理のフローチ
ャートを示す図である。
【図11】描画命令ストリームの形式を示す図である。
【図12】描画命令ストリームの描画順序管理テーブル
の構成を示す図である。
【符号の説明】
11〜14 主プロセッサ 15 バス・コントローラ 16 主メモリ 17 システムバス 18 I/O制御装置 19 グラフィックス・バス・コントローラ 20 メモリ 21 ラスター変換器 22 フレームメモリ 23〜26 入出力FIFO 27〜30 ジオメトリ・プロセッサ 31〜34 メモリ 50 応用プログラム 51〜54 スレッドプログラム 55〜58 描画命令ストリームの描画命令 59〜62 描画順序情報 63 グラフィックスシステム 64 順序情報識別手段 65 描画順序情報 66 ジオメトリ演算部 67 順序制御手段 68 ラスター変換部 69〜72 新描画命令ストリーム 73 CRT
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 // G06T 13/00 9365−5H G06F 15/62 340 A (72)発明者 桑名 利幸 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内 (72)発明者 萬田 雅人 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 並列動作可能な複数のプロセッサにより
    描画命令を処理し、その処理結果に基づき表示画面上に
    表示を行なう並列プロセッサを用いる表示装置であっ
    て、 上位装置において複数のスレッドからなる応用プログラ
    ムの夫々のスレッドが順次生成するストリーム順序情報
    及び描画順序情報を有する描画命令からなる描画命令ス
    トリームが混在して転送された複数の描画命令ストリー
    ムを受信する受信手段と、 記憶装置に前記受信した描画命令を順次格納し、かつ前
    記ストリーム順序情報及び描画順序情報に基づき該順次
    格納した各描画命令の描画順序を指定するテーブルを作
    成する手段と、 該テーブルを参照して描画順序にしたがい記憶装置から
    描画命令を読み出し、該描画命令に対して該描画命令を
    処理するプロセッサを前記複数のプロセッサの中から割
    り当てる割当手段と、 プロセッサの処理結果を前記描画順序にしたがい順次読
    み込み描画命令ストリーム毎に描画を行なう描画手段を
    備えることを特徴とする並列プロセッサを用いる表示装
    置。
  2. 【請求項2】 請求項1記載の並列プロセッサを用いる
    表示装置において、 前記テーブルは、描画命令ストリーム順に該ストリーム
    内の描画命令の前記記憶装置におけるアドレスを描画順
    序にしたがい格納することを特徴とする並列プロセッサ
    を用いる表示装置。
  3. 【請求項3】 請求項1記載の並列プロセッサを用いる
    表示装置において、 前記割当手段は、前記各描画命令のID部に該描画命令
    に割り当てられる第1のプロセッサの識別子と該描画命
    令に続く次描画命令に割り当てられる第2のプロセッサ
    の識別子を設定し、 前記記憶装置から読み出された描画命令の第1のプロセ
    ッサの識別子として前記複数のプロセッサの中からその
    負荷状態に基づき選択したプロセッサのプロセッサ識別
    子を設定し、前記第2のプロセッサの識別子としては、
    次描画命令が同一描画命令ストリームに属するときは第
    1のプロセッサの識別子と同一のプロセッサの識別子を
    設定し、次描画命令が他の描画命令ストリームに属する
    ときは前記複数のプロセッサの中からその負荷状態に基
    づき選択したプロセッサのプロセッサ識別子を設定する
    ことを特徴とする並列プロセッサを用いる表示装置。
  4. 【請求項4】 請求項3記載の並列プロセッサを用いる
    表示装置において、 前記描画手段は、読み込んだ描画命令にしたがい描画を
    行ない、該読み込んだ描画命令のID部に設定された第
    2のプロセッサの識別子で指定されるプロセッサから次
    の描画命令を読み込むことを特徴とする並列プロセッサ
    を用いる表示装置。
  5. 【請求項5】 並列動作可能な複数のプロセッサにより
    描画命令を処理し、その処理結果に基づき表示画面上に
    表示を行なう並列プロセッサを用いる表示装置であっ
    て、 上位装置において複数のスレッドからなる応用プログラ
    ムの夫々のスレッドが順次生成する複数の頂点データか
    らなりストリーム順序情報及び頂点数情報を有する描画
    命令ストリームが並列して転送された複数の描画命令ス
    トリームを受信する受信手段と、 記憶装置に前記受信した描画命令ストリームを順次格納
    し、かつ前記ストリーム順序情報に基づき該順次格納し
    た各描画命令ストリームの描画順序を指定するテーブル
    を作成する手段と、 該テーブルを参照して描画順序にしたがい記憶装置から
    描画命令を読み出し、該描画命令に対して該描画命令を
    処理するプロセッサを前記複数のプロセッサの中から割
    り当てる割当手段と、 プロセッサの処理結果を前記描画順序にしたがい順次読
    み込み描画命令ストリーム毎に描画を行なう描画手段を
    備えることを特徴とする並列プロセッサを用いる表示装
    置。
JP6295697A 1994-11-04 1994-11-04 並列プロセッサを用いる表示処理装置 Pending JPH08138060A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6295697A JPH08138060A (ja) 1994-11-04 1994-11-04 並列プロセッサを用いる表示処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6295697A JPH08138060A (ja) 1994-11-04 1994-11-04 並列プロセッサを用いる表示処理装置

Publications (1)

Publication Number Publication Date
JPH08138060A true JPH08138060A (ja) 1996-05-31

Family

ID=17823999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6295697A Pending JPH08138060A (ja) 1994-11-04 1994-11-04 並列プロセッサを用いる表示処理装置

Country Status (1)

Country Link
JP (1) JPH08138060A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002031769A1 (fr) * 2000-10-10 2002-04-18 Sony Computer Entertainment Inc. Procede et systeme de traitement de donnees, programme informatique, et support enregistre
WO2007043130A1 (ja) * 2005-10-03 2007-04-19 Fujitsu Limited 描画装置、半導体集積回路装置及び描画方法
JP2007193835A (ja) * 1999-12-06 2007-08-02 Nvidia Corp 単一の半導体プラットフォームで支持される変換、ライティング、ラスター化システム
CN103593383A (zh) * 2012-08-13 2014-02-19 株式会社突飞软件 利用多重处理的渲染处理装置及方法
JP2014038576A (ja) * 2012-08-13 2014-02-27 Tobesoft Co Ltd 多重プロセシングを用いたレンダリング処理装置及び方法
CN111476706A (zh) * 2020-06-02 2020-07-31 长沙景嘉微电子股份有限公司 顶点并行处理方法、装置及计算机存储介质、电子设备

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007193835A (ja) * 1999-12-06 2007-08-02 Nvidia Corp 単一の半導体プラットフォームで支持される変換、ライティング、ラスター化システム
WO2002031769A1 (fr) * 2000-10-10 2002-04-18 Sony Computer Entertainment Inc. Procede et systeme de traitement de donnees, programme informatique, et support enregistre
JP2002244646A (ja) * 2000-10-10 2002-08-30 Sony Computer Entertainment Inc データ処理システム及びデータ処理方法、コンピュータプログラム、記録媒体
US7212211B2 (en) 2000-10-10 2007-05-01 Sony Computer Entertainment Inc. Data processing system and method, computer program, and recording medium
WO2007043130A1 (ja) * 2005-10-03 2007-04-19 Fujitsu Limited 描画装置、半導体集積回路装置及び描画方法
CN103593383A (zh) * 2012-08-13 2014-02-19 株式会社突飞软件 利用多重处理的渲染处理装置及方法
JP2014038576A (ja) * 2012-08-13 2014-02-27 Tobesoft Co Ltd 多重プロセシングを用いたレンダリング処理装置及び方法
JP2014038577A (ja) * 2012-08-13 2014-02-27 Tobesoft Co Ltd 多重プロセシングを用いたレンダリング処理装置及び方法
US8952970B2 (en) 2012-08-13 2015-02-10 Tobesoft Co., Ltd. Rendering processing apparatus and method using multiprocessing
US8952971B2 (en) 2012-08-13 2015-02-10 Tobesoft Co., Ltd. Rendering processing apparatus and method using multiprocessing
CN111476706A (zh) * 2020-06-02 2020-07-31 长沙景嘉微电子股份有限公司 顶点并行处理方法、装置及计算机存储介质、电子设备

Similar Documents

Publication Publication Date Title
JP2770598B2 (ja) 図形表示方法およびその装置
US5940086A (en) System and method for dynamically allocating data among geometry accelerators in a computer graphics system
US4928247A (en) Method and apparatus for the continuous and asynchronous traversal and processing of graphics data structures
US6701420B1 (en) Memory management system and method for allocating and reusing memory
US5757385A (en) Method and apparatus for managing multiprocessor graphical workload distribution
CN101371247B (zh) 用于图形处理器的并行阵列结构
US5097411A (en) Graphics workstation for creating graphics data structure which are stored retrieved and displayed by a graphics subsystem for competing programs
US5440746A (en) System and method for synchronizing processors in a parallel processing environment
US5251322A (en) Method of operating a computer graphics system including asynchronously traversing its nodes
US5155822A (en) High performance graphics workstation
JP3416877B2 (ja) タスクを並列処理するための装置及び方法
US20070273700A1 (en) Method, system and computer program product for efficiently utilizing limited resources in a graphics device
CN101261729B (zh) 在分布式图形处理单元内管理多重执行绪的***与方法
EP2495665B1 (en) Command transfer controlling apparatus and command transfer controlling method
JP2007533029A (ja) スケーラブルシェーダアーキテクチャ
TWI633516B (zh) 曲面細分及幾何著色器的功率效率屬性處理
US5471579A (en) Graphics system using parallel processors and processing method of the same
JPH08138060A (ja) 並列プロセッサを用いる表示処理装置
KR20030020367A (ko) 데이터 처리 시스템에서의 동적 그래픽 컨텍스트 스위칭방법 및 그 장치
JPH08249502A (ja) 補助バッファ情報を用いる改良型グラフィクス・ピッキング方法及び装置
TW201351276A (zh) 計算工作的排程和執行
JPH10240700A (ja) グラフィックス並列処理装置
JPH08138059A (ja) 並列プロセッサを用いる表示装置
JP2947984B2 (ja) マルチプロセッサシステムにおける図形描画方式
JPH05205026A (ja) 同時ピック事象の処理方法及び装置