JPH05120438A - 描画処理装置 - Google Patents

描画処理装置

Info

Publication number
JPH05120438A
JPH05120438A JP4048019A JP4801992A JPH05120438A JP H05120438 A JPH05120438 A JP H05120438A JP 4048019 A JP4048019 A JP 4048019A JP 4801992 A JP4801992 A JP 4801992A JP H05120438 A JPH05120438 A JP H05120438A
Authority
JP
Japan
Prior art keywords
data
register
command packet
drawing command
processors
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
JP4048019A
Other languages
English (en)
Inventor
Kazumasa Ito
和正 伊藤
Hiroshi Kato
宏 加藤
Junichi Fujita
純一 藤田
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to US07/922,675 priority Critical patent/US5450550A/en
Publication of JPH05120438A publication Critical patent/JPH05120438A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 【目的】 現在の描画コマンドパケットの処理を終了し
たプロセッサは、次の描画コマンドパケットを連続的に
処理する。待ち時間を解消或いは大幅に短縮して、シス
テム全体の処理速度を向上させ得る。 【構成】 並列接続されている複数のプロセッサLP0〜
LP3によって描画処理を並列的に行う場合、各プロセッ
サLP0〜LP3内のデータレジスタに、現在、描画処理中
の描画コマンドパケットGCP(i) を保持させると共に、
次に処理すべき描画コマンドパケットGCP(i+1) をプ
リフエッチする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、描画処理装置、特に
一つの描画コマンドパケットを複数のプロセッサで並列
に処理する描画処理装置に関する。
【0002】
【従来の技術】従来、描画〔グラフィックス〕処理能力
を向上させる一つの手法として、一つの描画コマンドパ
ケットを、複数のプロセッサで並列に処理することが行
われていた。
【0003】この明細書中、描画コマンドパケットGCP
とは、図13に示されるように、描画コマンドGCと、0
個以上のパラメータGPとからなるものとする。描画コマ
ンドGCとは、図13に示されるように描画内容〔例え
ば、三角形〕を指定するものである。
【0004】また、パラメータGPとは、図13に示され
るように、頂点、カラー、Z値等を意味している。この
頂点、カラー、Z値等のパラメータは、夫々、データ
と、該データを格納するレジスタに割り振られているア
ドレスとが一対で保持されている。
【0005】図13乃至図15を参照して、従来の描画
処理装置について説明する。例としてプロセッサを4個
使用する場合を考える。図14には、プロセッサLP0、
LP1、LP2、LP3を並列に接続した状態が示されてい
る。図14に示される端子101を介して、描画コマン
ドパケットGCP が、プロセッサLP0、LP1、LP2、LP3
に夫々供給される。
【0006】プロセッサLP0〜LP3は、供給される描画
コマンドパケットGCP に基づいて、例えば、図15に示
される三角形TR10を生成する。該三角形TR10の
生成は、三角形TR10を構成しているピクセルPXi
jの内、各プロセッサLP0、LP1、LP2、LP3が各自の
担当する範囲のピクセルPXijを生成することによっ
てなされる。
【0007】図15中、横軸はX軸であり、縦軸はY軸
である。X、Y両軸に付されている数字は、X−Y座標
平面の座標データ(X、Y)を表す数字である。描画コ
マンドパケットGCP によって指示された図形は、図15
に示されるように、ピクセルPX60、PX66、PX
06を頂点とする三角形TR10である。
【0008】図15に於いて、プロセッサLP0は、Y座
標のデータが“0”,“4”,“8”・・・である時
に、指定された頂点で形成される三角形TR10を表示
するために、該当するピクセルを生成する。
【0009】例えば、Y座標のデータが“0”である時
には領域ARLP01のピクセルPX60が生成される。Y
座標のデータが“4”である時には領域ARLP02を構成
しているピクセルPX24、PX34、PX44、PX
54、PX64が生成される。
【0010】その他のプロセッサLP1、LP2、LP3の場
合も同様にして、夫々のプロセッサLP1、LP2、LP3が
担当する領域のピクセルPXijを生成する。即ち、プ
ロセッサLP1は、Y座標のデータが“1”,“5”,・
・・である時に、領域ARLP11、ARLP12を構成してい
るピクセルの生成を行う。
【0011】図15に於いて、プロセッサLP2は、Y座
標のデータが“2”,“6”,・・・である時に領域AR
LP21、ARLP22を構成しているピクセルの生成を行
う。
【0012】図15に於いて、プロセッサLP3は、Y座
標のデータが“3”,“7”・・・である時に、領域AR
LP31、・・・を構成しているピクセルの生成を行う。
【0013】
【発明が解決しようとする課題】上述のように、一つの
描画コマンドパケットGCP を複数のプロセッサLP0〜LP
3で並列に処理する従来のシステムでは、該複数のプロ
セッサLP0〜LP3に於ける画像データの処理が、図16
に示されるように、描画コマンドパケットGCP の単位に
同期してなされていた。
【0014】図16に於いて、Aには描画コマンドパケ
ットGCP 1〜GCP 4が処理される様子が示されている。
同図BにはプロセッサLP0、同図CにはプロセッサLP
1、同図DにはプロセッサLP2、同図Eにはプロセッサ
LP3の、各動作期間と次の描画コマンドパケットGCP が
供給されるまで待機している待ち状態の期間が示されて
いる。
【0015】図16中B乃至Eに於いて、空白の部分は
描画コマンドパケットGCP を処理している期間を示し、
斜線の付されている部分は待ち状態の期間を示してい
る。
【0016】図16からも明らかなように、複数のプロ
セッサLP0〜LP3に於ける画像データの処理は描画コマ
ンドパケットGCP の単位に同期してなされている。従っ
て、次の描画コマンドパケットGCP(i+1) を処理する
ためには、現在の描画コマンドパケットGCP(i)の処理
が、全てのプロセッサLP0〜LP3に於いて終了していな
ければならない。
【0017】この結果、待機時間の解消若しくは短縮が
困難であり、画像データの処理時間を全体的に短縮する
ことが困難であるという問題点があった。また、各描画
コマンドパケットGCP に於いて、最も処理に時間のかか
るプロセッサによりシステム全体の処理速度が決定され
てしまうという問題点があった。
【0018】従って、この発明の目的は、各プロセッサ
が、他のプロセッサから受ける影響を少なくし、描画コ
マンドパケットを次々に処理することの可能な描画処理
装置を提供することにある。
【0019】
【課題を解決するための手段】この発明では、複数のプ
ロセッサを並列に接続して画像データの処理を行う描画
処理装置に於いて、プロセッサは、現在、描画処理中の
コマンドパケットと、少なくとも次に描画処理するコマ
ンドパケットとを保持するようにした構成としている。
【0020】
【作用】画像データの処理を行うために、並列に接続さ
れている複数のプロセッサは、現在、描画処理中のコマ
ンドパケットに加えて、少なくとも次に描画処理するコ
マンドパケットを保持〔プリフエッチ〕することが可能
である。
【0021】
【実施例】以下、この発明の一実施例について図1乃至
図12を参照して説明する。尚、この明細書中、プリミ
テイブとは、三角形、四角形等の多角形若しくはこれら
の多角形で形成された図形を直接イメージするための多
角形描画原素を意味するものである。
【0022】この一実施例に示される描画処理装置の構
成が図1に示されている。図1の構成に於いて、端子1
1を介して供給される描画コマンドパケットGCPは、F
IFOメモリ〔以下、単にメモリと称する〕12に供給
され、該メモリに取り込まれる。
【0023】上述の描画コマンドパケットGCP の詳細が
図2に示されている。図2に示されるように、描画コマ
ンドパケットGCP 1、GCP2は、描画コマンドGC1、GC
2と、該描画コマンドGC1、GC2を実行するために必要
なパラメータGP11〜GP1N、GP21〜GP2Nとからな
る。
【0024】メモリ12では、コントローラ13からの
制御信号に基づいて、上述の描画コマンドパケットGCP
を出力する。
【0025】各プロセッサLP0〜LP3が描画処理を行っ
ていない時、または、次に処理する描画コマンドパケッ
トをまだ保持してない時は、ハイレベルのウエイト信号
WAIT*がプロセッサLP0〜LP3で形成される。該ウエイ
ト信号WAIT*は、プロセッサLP0〜LP3からコントロー
ラ13に供給される。この明細書中、“*”の記号はロ
ーアクテイブを意味するものである。
【0026】また、各プロセッサLP0、LP1、LP2、LP
3が描画処理を行い、かつ次に実行する描画コマンドパ
ケットを保持している時は、ローレベルのウエイト信号
WAIT*がプロセッサLP0〜LP3で形成される。該ウエイ
ト信号WAIT*は、プロセッサLP0〜LP3からコントロー
ラ13に供給される。
【0027】コントローラ13は、全てのプロセッサLP
0〜LP3に於いて、ウェイト信号WAIT*がハイレベルで
あることを検出した場合にのみ、次の描画コマンドパケ
ットGCP(i+1) をプロセッサLP0〜LP3に供給すべく
メモリ12、プロセッサLP0〜LP3の制御を行う。
【0028】各プロセッサLP0〜LP3では、描画処理の
結果、ピクセルPXijのデータが形成される。該ピク
セルPXijのデータは、端子14〜17を介して出力
される。
【0029】ここで、プロセッサLP0〜LP3について、
図3を参照して説明する。このプロセッサは、即ち、3
次元プリミテイブ生成装置であり、2次元及び3次元の
プリミテイブを高速に描画するものである。描画コマン
ドパケットGCP を受け取ると、例えば、最高で25Mピ
クセル/秒の速さで1ピクセル毎に描画データを出力す
るものである。
【0030】描画するプリミテイブ〔以下、描画プリミ
テイブと称する〕としては、例えば、以下のものがあ
る。 ライン〔直線〕・・・・・・・・2次元、3次元 トライアングル〔三角形〕・・・2次元、3次元 レクタングル〔長方形〕・・・・2次元、3次元 ポリゴン〔多角形〕・・・・・・2次元、3次元 ビットマップ・・・・・・・・・2次元 ピクセルマップ・・・・・・・・2次元 スキャンライン・ピクセル・・・3次元
【0031】上述の描画プリミテイブに対して、例え
ば、5タイプのカラー出力が必要に応じて用意されてい
る。 リアル・カラー(24ビット) インデックス・カラー(10ビット) デイザ・カラー(3ビット、4ビット) XPカラー(1ビット)
【0032】更に、必要に応じて以下の属性を付加す
る。 ライン・パターン(32ビット) ハッチ・パターン(16×16ビット) 半透明パターン(4×4ビット) ライン幅(3、5)
【0033】図3に示されるように、このプロセッサ
は、SPインターフエースブロック1、ラインブロック
2、スキャンブロック3、ライン幅ブロック4、パター
ンブロック5、XPインターフエースブロック6、コン
トロールブロック7等から主に構成されている。
【0034】SPインターフエースブロック1は、プリ
ミテイブを生成するための描画コマンドパケットGCP を
受け入れるためのブロックである。SPインターフエー
スブロック1は、入力されたアドレスをデコードし、各
レジスタ等に対して各種ロード信号を出力する。
【0035】この発明の特徴は、SPインターフエース
ブロック1にあるので、このインターフエースブロック
1の構成を、図4及び図5を参照して説明する。
【0036】SPインターフエースブロック1は、端子
25を介して供給されるデータストローブ信号DS*を
保持するレジスタ26と、端子27を介して供給される
8ビットのアドレスデータADを保持するレジスタ28
と、端子29を介して供給される48ビットのデータD
Tを保持するレジスタ30と、該データDTをデコーダ
31からの制御信号に基づいて保持するデータレジスタ
部32と、データDTをデータレジスタ部32にロード
するための制御信号を形成するデコーダ31と、ウエイ
ト信号WAIT*を形成するウエイト信号形成部33とから
主に構成されている。
【0037】レジスタ26は、端子25を介して供給さ
れるデータストローブ信号DS*をクロックパルスPCL
K のタイミングで取込み、次段に出力する。レジスタ2
6は、ウエイト信号WAIT*がローレベルである時、デー
タストローブ信号DS*を保持するように制御されてい
る。
【0038】レジスタ26の出力は、ウエイト信号形成
部33のNANDゲート34にレベルが反転された状態
で供給され、また、デコーダ31に供給される。
【0039】レジスタ28は、端子27を介して供給さ
れる8ビットのアドレスデータADをクロックパルスP
CLK のタイミングで取込み、次段に出力する。レジスタ
28は、ウエイト信号WAIT*がローレベルである時、ア
ドレスデータADを保持するように制御されている。
【0040】レジスタ28の出力は、デコーダ31に供
給されると共に、アドレスデータADの一部が、後述す
るデータレジスタ部32内の実行レジスタを表すアドレ
スデータとしてウエイト信号形成部33のNANDゲー
ト34に供給される。
【0041】レジスタ30は、端子29を介して供給さ
れる48ビットのデータDTをクロックパルスPCLK の
タイミングで取込み、次段に出力する。レジスタ30
は、ウエイト信号WAIT*がローレベルである時、データ
DTを保持するように制御されている。このレジスタ3
0の出力は、データレジスタ部32に供給される。
【0042】ウエイト信号形成部33は、NANDゲー
ト34と、インバータ35とから主に構成されている。
ウエイト信号形成部33では、データストローブ信号D
S*、コントロールブロック7からの制御信号、データ
レジスタ部32内の実行レジスタを表すアドレスデータ
に基づいて、ウエイト信号WAIT*が形成される。
【0043】NANDゲート34の入力側には、レジス
タ26からの出力レベルが反転された信号と、端子36
を介して供給され描画処理中は常にハイレベルとされて
いるコントロールブロック7からの制御信号と、レジス
タ28から供給される後述するデータレジスタ部32内
の実行レジスタを表すアドレスデータとが、夫々、供給
される。
【0044】このNANDゲート34から出力されるウ
エイト信号WAIT*は、インバータ35を介してデコーダ
31に供給されると共に、端子37から取出され外部に
出力される。
【0045】デコーダ31では、データストローブ信号
DS*が、ローレベルの時、動作がなされ、ハイレベル
の時は動作が停止される。
【0046】デコーダ31では、アドレスデータADに
基づいて、データレジスタ部32内のレジスタにデータ
DTをロードするためのロード信号が形成される。該ロ
ード信号は、端子371a、371b、372a、37
2b、・・・・・・37(N-1)a、37(N-1)b、37
N を介してデータレジスタ部32に供給される。
【0047】データレジスタ部32の構成が図5に示さ
れている。データレジスタ部32は、複数のデータレジ
スタ401 〜40(N-1) と、実行レジスタ41とから主
に構成されている。以下の説明に於いて、“i”は、1
〜(N-1) に於ける任意の数を表すものとする。
【0048】各データレジスタ40iは、前段のレジス
タ40iaと、該前段のレジスタ40iaに接続されて
いる後段のレジスタ40ibによって構成されている。
そして、前段のレジスタ40iaは、端子37iaに接
続され、後段のレジスタ40ibは、端子37ibに接
続されている。また、実行レジスタ41は、端子37N
に接続されている。
【0049】データレジスタ40iは、夫々、端子45
を介して、レジスタ30に接続されている。そして、デ
ータレジスタ40iを構成する前段のレジスタ40ia
は、ローレベルのロード信号が供給されると、レジスタ
30から供給されるデータDTをクロックパルスPCLK
のタイミングで取込み次段に出力すると共に、データD
Tを保持する。
【0050】後段のレジスタ40ibは、ローレベルの
ロード信号が供給されると、前段のレジスタ40iaか
ら供給されるデータDTをクロックパルスPCLK のタイ
ミングで取込み、端子461 〜46(N-1) を介して出力
すると共に、、データDTを保持する。
【0051】実行レジスタ41は、ローレベルのロード
信号が供給されると、レジスタ30から供給されるデー
タDTをクロックパルスPCLK のタイミングで取込み、
次段に出力すると共に、データDTを保持する。
【0052】再び、図3に戻り、各プロセッサLP0〜LP
3の構成について説明する。各種ロード信号は、内部状
態に応じて出力が禁止される。この時は禁止が解除され
るまで、前段の回路ブロックに対してウェイト信号WAIT
*を出力して、図3中、DTで示されるデータの入力を一
時、中断する。
【0053】禁止が解除されると、ロード信号を出力し
て前段の回路ブロックに対するウェイト信号WAIT*の出
力を停止する。
【0054】ラインブロック2は、各種のアルゴリズ
ム、例えば、ブレゼンハムのアルゴリズムを用いて、ラ
イン及び多角形の外形線を生成するブロックである。
【0055】スキャンブロック3は、多角形の内部をX
軸方向にスキャンするブロックである。即ち、受け取っ
たデータをX軸方向に補間していくブロックである。補
間回路は、X、Z、R、G、Bの各データごとに設けら
れている。
【0056】ライン幅ブロック4は、太線を生成するブ
ロックである。即ち、ラインブロック2より与えられた
X、Y座標を中心にし、該中心を囲む所定数のピクセル
を描画する。
【0057】パターンブロック5は、ラインパターン、
ハッチパターン、半透明パターン、デイザパターン等の
属性を生成されたプリミテイブに付加するブロックであ
る。即ち、パターンブロック5は、ラインパターン、ハ
ッチパターン、半透明パターン、デイザパターンを有す
るもので、1ピクセル毎にこれらのパターンを参照して
各データに反映させる。
【0058】XPインターフエースブロック6は、生成
されたプリミテイブをピクセル単位で、次段の回路に出
力するブロックである。コントロールブロック7は、プ
ロセッサLP全体を制御するブロックである。
【0059】次いで、図2乃至図8を参照し、動作につ
いて説明する。図7に示されるように、時点t1以前で
は、各プロセッサLP0〜LP3からは、ハイレベルのウエ
イト信号WAIT*がコントローラ13に供給されている。
従って、コントローラ13は、メモリ12から図2に示
されるような描画コマンドパケットGCP 1を読み出し、
各プロセッサLP0〜LP3に供給する。
【0060】データDT、アドレスデータAD等の取込
みを、プロセッサLP0を例にして説明する。尚、データ
DT、アドレスデータAD等の取込みは、詳述せぬもの
の他のプロセッサLP1〜LP3に於いても同様になされて
いる。
【0061】端子25を介してデータストローブ信号D
S*がローレベルで供給されると共に、端子27を介し
て8ビットのアドレスデータADが供給され、端子29
を介して48ビットのデータDTが供給される。
【0062】これは、図7に示されるように、各パラメ
ータのアドレスデータAD及びデータDTが並列的に供
給されるものである。このデータストローブ信号DS*
がローレベルとされている間は、アドレスデータAD、
データDT等が有効とされる。
【0063】図7中の時点t1以前では、ハイレベルの
ウエイト信号WAIT*が、レジスタ26、28、30に供
給されているので、レジスタ26、28、30では、デ
ータストローブ信号DS*、アドレスデータAD、デー
タDT等をクロックパルスPCLK のタイミングで取込む
と共に、次段に出力する。
【0064】データストローブ信号DS*は、レジスタ
26に格納されると共に、レベルが反転されハイレベル
とされた状態でNANDゲート34に供給される。ま
た、このデータストローブ信号DS*は、デコーダ31
に供給される。
【0065】アドレスデータADがレジスタ28に格納
されると共に、デコーダ31に供給される。またアドレ
スデータADの内の一部が、データレジスタ部32内の
実行レジスタ41を表すアドレスデータとしてNAND
ゲート34に供給される。
【0066】データDTは、データレジスタ部32のデ
ータレジスタ40iの内、前段のレジスタ40iaまた
は実行レジスタ41に供給される。
【0067】アドレスデータADのレジスタ28への取
込み、データDTのレジスタ30、上述の前段のレジス
タ40iaへの取込みは、図7に示されるように、パラ
メータGP1、描画コマンドGC1、パラメータGP2、描画
コマンドGC2の順序にてなされる。
【0068】デコーダ31では、レジスタ28から供給
されるアドレスデータADに基づいて、データレジスタ
部32内のデータレジスタ40iまたは実行レジスタ4
1の選択がなされる。
【0069】まず、選択されたデータレジスタ40iの
内、まず、前段のレジスタ40iaに対して、例えば、
ローレベルのロード信号が供給され、次いで、実行レジ
スタ41及び後段のレジスタ40ibに対して、例え
ば、ローレベルのロード信号が供給される。
【0070】選択されたデータレジスタ40iの内、前
段のレジスタ40iaでは、デコーダ31から、例え
ば、ローレベルのロード信号が供給されると、描画コマ
ンドパケットGCP 1のデータDTがクロックパルスPCL
K のタイミングで取込まれると共に、保持され次段に出
力される。
【0071】後段のレジスタ40ibでは、デコーダ3
1から、例えば、ローレベルのロード信号が供給される
と、前段のレジスタ40iaから出力されていた描画コ
マンドパケットGCP 1のデータDTが保持される。
【0072】上述の後段のレジスタ40ibに格納され
ているデータDTは、端子46i、47を介して次段の
回路ブロックに供給され、描画処理に用いられる。これ
によって、図6及び図7中の時点t1から描画コマンド
パケットGCP1の描画処理が実行される。
【0073】図6には、時点t1以後の描画コマンドパ
ケットGCP の描画処理の状態が示されている。
【0074】この時点t1からの描画処理中の期間で
は、データレジスタ40iに於ける後段のレジスタ40
ibの内容、即ち、描画コマンドパケットGCP1のデー
タDTはそのまま保持されている。次段の回路ブロック
は、後段のレジスタ40ibの内容のみを参照する。
【0075】図7に示されるように、描画コマンドパケ
ットGCP 1の処理がなされている時点t1以後の期間で
は、描画コマンドパケットGCP 1のパラメータGP1のデ
ータDTは、データレジスタ40iの後段のデータレジ
スタ40ibに保持されている。従って、データレジス
タ40iの前段のデータレジスタ40iaには、次の描
画コマンドパケットGCP 2を格納し得る。
【0076】図6に示されるように、描画処理は時点t
1から全てのプロセッサLP0〜LP3によってなされてい
るので、コントローラ13では、描画コマンドパケット
GCP1の各プロセッサLP0〜LP3への供給が終了する
と、続いて時点t1から描画コマンドパケットGCP 2の
供給を行う。
【0077】図7に示されるように、描画コマンドパケ
ットGCP 2は、上述の描画コマンドパケットGCP 1と同
様にして、各プロセッサLP0〜LP3へロードされる。こ
の各プロセッサLP0〜LP3に於ける描画コマンドパケッ
トGCP 2のロードは時点t1aに至るまで行われる。
【0078】これによって、各プロセッサLP0〜LP3の
データレジスタ部32に於けるデータレジスタ40iの
前段のレジスタ40iaに、描画コマンドパケットGCP
2のデータDTがクロックパルスPCLK のタイミングで
プリフエッチされる。
【0079】描画コマンドパケットGCP 2のプリフエッ
チが終了すると、プロセッサLP0〜LP3側では、描画コ
マンドパケットGCP 2に続く描画コマンドパケットGCP
3の入力を禁止させるべく、時点t1aよりウエイト信
号WAIT*をローレベルとし、該ウエイト信号WAIT*をコ
ントローラ13に対して供給する。
【0080】図7中の時点t1aに於いて、ローレベル
のウエイト信号WAIT*が出力されると共に、データスト
ローブ信号DS*がハイレベルに立上がる。データスト
ローブ信号DS*がハイレベルに立上がることによっ
て、該ハイレベルの期間に於けるデータが無効とされ
る。ウエイト信号WAIT*は、図7に示されるように、描
画コマンドパケットGCP 1の描画処理が終了する時点t
2までローレベルとされる。
【0081】コントローラ13はプロセッサLP0〜L
P3のウェイト信号WAIT*のうち1つでもローレベルで
出力されたことを検出すると、メモリ12からの描画コ
マンドパケットGCP 3の出力を停止させる。
【0082】図6及び図7に示されるように、時点t2
に至ると、プロセッサLP0に於ける描画コマンドパケッ
トGCP 1の処理が終了する。これによって、プロセッサ
LP0のウエイト信号WAIT*が解除されてハイレベルに
立上がる。
【0083】各プロセッサLPにおいてこの描画コマンド
パケットGCP1の処理が終了した段階で、ウエイト信号W
AIT*がハイレベルに立上がり、デコーダ31から、例
えば、ローレベルのロード信号が後段のレジスタ40i
bに対して供給される。
【0084】この結果、各データレジスタ40iの前段
のレジスタ40iaに保持されている描画コマンドパケ
ットGCP 2のデータDTが、後段のレジスタ40ibに
移される。
【0085】上述の後段のレジスタ40ibに格納され
ている描画コマンドパケットGCP 2のデータDTは、端
子46i、47を介して次段の回路ブロックに供給さ
れ、描画処理に用いられる。
【0086】これによって、描画コマンドパケットGCP
2の描画処理が、図6に示されるように、プロセッサLP
0では時点t2から、また、プロセッサLP2、LP3では
時点t3から、更に、プロセッサLP1では時点t4から
なされる。
【0087】時点t2からの描画処理中の期間では、デ
ータレジスタ40iに於ける後段のレジスタ40ibの
内容、即ち、描画コマンドパケットGCP 2のデータDT
はそのまま保持されている。次段の回路ブロックは、後
段のレジスタ40ibの内容のみを参照する。
【0088】各データレジスタ40iの前段のレジスタ
40iaには、次の描画コマンドパケットGCP 3をロー
ドし得る。そこで、コントローラ13は、描画コマンド
パケットGCP 1の場合と同様に、描画コマンドパケット
GCP 2の描画処理を行っている間、描画コマンドパケッ
トGCP 3を各プロセッサLP0〜LP3にロードさせるべ
く、メモリ12、プロセッサLP0〜LP3を制御する。
【0089】前述したように、プロセッサLP0〜LP3に
於ける新たな描画コマンドパケットGCP(i+1)の取込み
は、プロセッサLP0〜LP3の全てが描画コマンドパケッ
トGCP(i)の処理を開始したことが条件とされるため、描
画コマンドパケットGCP 3の取込みは、図6に於ける時
点t4以後になされる。同様に、描画コマンドパケット
GCP4の取込みは、時点t8以後になされる。
【0090】ところで、図6に示されるように、描画コ
マンドパケットGCP5の取込みのなされる時は、時点t
12からである。これについて、以下に説明する。
【0091】プロセッサLP0、LP3は、時点t9から描
画コマンドパケットGCP 4の処理を開始し、プロセッサ
LP1は、時点t10から描画コマンドパケットGCP 4の
処理を開始している。
【0092】しかしながら、プロセッサLP0、LP1、LP
3が、描画コマンドパケットGCP 4の処理を既に実行し
ている或いは終了している時点t11では、プロセッサ
LP2が描画コマンドパケットGCP3の処理を実行してい
るため、該プロセッサLP2から出力され、描画コマン
ドパケットGCP 3に対応するウエイト信号WAIT*がロー
レベルとされている。
【0093】従って、時点t11に於いて、コントロー
ラ13では、プロセッサLP2からのウエイト信号WAIT
*がローレベルで出力されたことを検出するため、メモ
リ12からの描画コマンドパケットGCP 5の出力が停止
される。
【0094】これによって、プロセッサLP0、LP3で
は、既に時点t11にて、描画コマンドパケットGCP 4
の処理が終了しているにもかかわらず、描画コマンドパ
ケットGCP 5が供給されない。従って、図6に示される
ように、プロセッサLP0、LP3は、時点t11〜t12
の間、待ち状態とされる。
【0095】図6に示されるように、時点t12に於い
て、プロセッサLP2に於いて、描画コマンドパケットGC
P 4の処理が開始されるため、該プロセッサLP2から出
力されるウエイト信号WAIT*が解除され、ハイレベルと
される。
【0096】コントローラ13の制御によって、時点t
12より、メモリ12から描画コマンドパケットGCP 5
が出力される。この描画コマンドパケットGCP 5の各プ
ロセッサLP0〜LP3に於ける取込みは、時点t12から
なされる。
【0097】そして、プロセッサLP0、LP3では、時点
t12から描画コマンドパケットGCP 5の処理が開始さ
れ、プロセッサLP1、LP2では、時点t13から描画コ
マンドパケットGCP 5の処理が開始される。
【0098】これによって、図8に示されるような三角
形TR1の描画がなされる。プロセッサLP0〜LP3は、
供給される描画コマンドパケットGCP に基づいて、例え
ば、図8に示される三角形TR1を生成する。この三角
形TR1の生成は、該三角形TR1を構成しているピク
セルPXijの内、各プロセッサLP0、LP1、LP2、LP
3が各自の担当する範囲のピクセルPXijを生成する
ことによってなされる。
【0099】図8中、横軸はX軸であり、縦軸はY軸で
ある。X、Y両軸に付されている数字は、X−Y座標平
面の座標データ(X、Y)を表す数字である。描画コマ
ンドパケットGCP によって指示された図形は、図8に示
されるように、ピクセルPX60、PX66、PX06
を頂点とする三角形TR1である。
【0100】図8に於いて、プロセッサLP0は、Y座標
のデータが“0”,“4”,“8”・・・である時に、
指定された頂点で形成される三角形TR1を表示するた
めに、該当するピクセルの生成を行う。
【0101】例えば、Y座標のデータが“0”である時
には領域ARLP01のピクセルPX60が生成される。Y
座標のデータが“4”である時には領域ARLP02を構成
しているピクセルPX24、PX34、PX44、PX
54、PX64が生成される。
【0102】その他のプロセッサLP1、LP2、LP3の場
合も同様にして、夫々のプロセッサLP1、LP2、LP3が
担当する領域のピクセルPXijを生成する。即ち、プ
ロセッサLP1は、Y座標のデータが“1”,“5”,・
・・である時に、領域ARLP11、ARLP12を構成してい
るピクセルの生成を行う。
【0103】図8に於いて、プロセッサLP2は、Y座標
のデータが“2”,“6”,・・である時に、領域ARLP
21、ARLP22を構成しているピクセルの生成を行う。
【0104】図8に於いて、プロセッサLP3は、Y座標
のデータが“3”,“7”・・である時に、領域ARLP3
1、・・・を構成しているピクセルの生成を行う。
【0105】この一実施例によれば、並列接続されてい
る複数のプロセッサLP0〜LP3によって描画処理を並列
的に行う場合、各プロセッサLP0〜LP3内のデータレジ
スタ40iの内、後段のレジスタ40ibに、現在、描
画処理中の描画コマンドパケットGCP(i) のデータDT
が保持されていると共に、前段のレジスタ40iaに次
に処理すべき描画コマンドパケットGCP(i+1) のデー
タDTをプリフエッチするようにしているので、現在の
描画コマンドパケットGCP(i) の処理を終了したプロセ
ッサLPは、次の描画コマンドパケットGCP(i+1) の処
理を実行でき、各プロセッサLP0〜LP3は連続的に描画
コマンドパケットGCP の処理を実行できる。
【0106】これによって、複数のプロセッサLP0〜LP
3にて発生する待ち時間の解消或いは大幅な短縮が可能
となり、そして、システム全体の処理速度の向上が可能
となる。
【0107】また、この一実施例によれば、描画処理中
にプロセッサLP内のデータレジスタ40iの内、前段の
レジスタ40iaに次に処理すべき描画コマンドパケッ
トGCP(i+1) のデータDTを取込むようにしているの
で、一つのプロセッサLP、例えば、プロセッサLP0を用
いて描画処理を行う場合であっても、描画処理時間中に
次に処理すべき描画コマンドパケットGCP(i+1) のデ
ータDTを取込むことができ、処理能力、効率を向上さ
せることができる。
【0108】更に、この一実施例では、前段のレジスタ
40iaに加えて、後段のレジスタ40ibを設けてい
るので、前回の描画コマンドGCで使用したパラメーター
を再度ロードすることなく、今回の描画処理実行時に使
用することができる。
【0109】図9乃至図12は、この発明の他の実施例
を示す図である。尚、上述の一実施例と共通する部分に
は同一符号を付し、重複する説明を省略する。
【0110】この他の実施例が、前述の一実施例と異な
る点は、データストローブ信号DS*を保持するレジス
タ26、アドレスデータADを保持するレジスタ28、
データDTを保持するレジスタ30の前段に、1段のバ
ッファレジスタを配していることである。
【0111】これは、図1に示されるコントローラ13
が、各プロセッサLP0〜LP3から出力されるウエイト信
号WAIT*を検出しても、直ぐに動作状態を切り替えるこ
とが難しい場合にクロックパルスPCLK の1周期分の余
裕を持たせたものである。
【0112】図9には、データストローブ信号DS*を
保持する部分の構成が示されている。図9の構成に於い
て、端子25を介してデータストローブ信号DS*が供
給される。このデータストローブ信号DS*は、バッフ
ァレジスタ55、セレクタ56の一方の端子56aに供
給される。
【0113】バッファレジスタ55は、レジスタ26と
同様に、入力されるデータストローブ信号DS*をクロ
ックパルスPCLK のタイミングで取込み、次段に出力す
ると共に、ウエイト信号WAIT*がローレベルである時、
データストローブ信号DS*を保持するように制御され
ている。バッファレジスタ55から出力されるデータス
トローブ信号DS*は、セレクタ56の他方の端子56
bに供給される。
【0114】セレクタ56の接続状態は、端子57を介
してコントロールブロック7から供給される制御信号に
より制御される。該セレクタ56によって選択されたデ
ータストローブ信号DS*はレジスタ26に供給され
る。そして、端子58を介して供給されるウエイト信号
WAIT*がローレベルである時、データストローブ信号D
S*がレジスタ26に保持される。
【0115】図10には、アドレスデータADを保持す
る部分の構成が示されている。図10の構成に於いて、
端子27を介してアドレスデータADが供給される。こ
のアドレスデータADは、バッファレジスタ61、セレ
クタ62の一方の端子62aに供給される。
【0116】バッファレジスタ61は、レジスタ28と
同様に、入力されるアドレスデータADをクロックパル
スPCLK のタイミングで取込み、次段に出力すると共
に、ウエイト信号WAIT*がローレベルである時、アドレ
スデータADを保持するように制御されている。このバ
ッファレジスタ61から出力されるアドレスデータAD
は、セレクタ62の他方の端子62bに供給される。
【0117】セレクタ62の接続状態は、端子63を介
してコントロールブロック7から供給される制御信号に
より制御される。該セレクタ62によって選択されたア
ドレスデータADはレジスタ28に供給される。そし
て、端子64を介して供給されるウエイト信号WAIT*が
ローレベルである時、アドレスデータADがレジスタ2
8に保持される。
【0118】図11には、データDTを保持する部分の
構成が示されている。図11の構成に於いて、端子29
を介してデータDTが供給される。このデータDTは、
バッファレジスタ71、セレクタ72の一方の端子72
aに供給される。
【0119】バッファレジスタ71は、レジスタ30と
同様に、入力されるデータDTをクロックパルスPCLK
のタイミングで取込み、次段に出力すると共に、ウエイ
ト信号WAIT*がローレベルである時、データDTを保持
するように制御されている。このバッファレジスタ71
から出力されるデータDTは、セレクタ72の他方の端
子72bに供給される。
【0120】セレクタ72の接続状態は、端子73を介
してコントロールブロック7から供給される制御信号に
て制御される。該セレクタ72によって選択されたデー
タDTはレジスタ30に供給される。そして、端子74
を介して供給されるウエイト信号WAIT*がローレベルで
ある時、データDTがレジスタ30に保持される。
【0121】以下、図9乃至図12を参照して、動作を
説明する。また、説明を簡単にするため、プロセッサは
1つだけあるものとする。時点t1に至る迄の期間で
は、図12に示されるように、データストローブ信号D
S*はローレベルとされており、データは有効であるこ
とが示されている。また、時点t1に至る迄の期間で
は、図12に示されるように、ウエイト信号WAIT*は、
ハイレベルとされており、供給される各種のデータの受
け入れが可能であることを示している。
【0122】図12に示されるように、時点t1まで
は、描画コマンドパケットGCP 1の受け入れ、また、時
点t1〜t1cまでは、描画コマンドパケットGCP 2の
受け入れがなされる。この描画コマンドパケットGCP
1、GCP 2の受け入れは、前述の一実施例と同様にして
なされるので、重複する説明を省略する。
【0123】図12の時点t1cでは、現在、描画処理
中の描画コマンドパケットGCP 1のパラメータGP1、描
画コマンドGC1に加え、次に処理すべき描画コマンドパ
ケットGCP 2のパラメータGP2、描画コマンドGC2をも
既にデータレジスタ40iに取込んでいる。
【0124】時点t1cに於いて、ウエイト信号WAIT*
がハイレベルからローレベルに立下がる。即ち、描画コ
マンドパケットGCP 3の転送を停止させるべく、プロセ
ッサLP0からコントローラ13にローレベルのウエイト
信号WAIT*が供給される。
【0125】コントローラ13では、ローレベルのウエ
イト信号WAIT*が検出されると、プロセッサLP0に対
し、図12に示される時点t1dより描画コマンドパケ
ットGCP 3の供給を停止する。従って、図12に示され
るように、プロセッサLP0に対する描画コマンドパケッ
トGCP 3の供給が停止される。
【0126】これと共に、コントロールブロック7で
は、セレクタ56、62、72に対して制御信号を供給
する。これによって、セレクタ56では端子56b側に
接続され、また、セレクタ62では端子62b側に接続
され、更に、セレクタ72では端子72b側に接続され
る。
【0127】図12に示され、また、上述したように、
コントローラ13では、プロセッサLP0から出力される
ウエイト信号WAIT*を検出しても直ぐに動作状態を切り
替えることが難しいので、時点t1c〜t1dの間に、
1クロックパルスPCLK に相当する描画コマンドパケッ
トGCP 3のパラメータGP3aがプロセッサLP0に供給さ
れる。
【0128】時点t1c〜t1dの間の描画コマンドパ
ケットGCP 3のパラメータGP3a、データストローブ信
号DS*のレベル等は、図12に示されるクロックパル
スPCLK1の立上りエッジにて、バッファレジスタ55、
61、71に取込まれ、保持されている。
【0129】例えば、描画コマンドパケットGCP 3のパ
ラメータGP3aは、バッファレジスタ61、71に保持
され、また、データストローブ信号DS*のレベル〔図
12の例ではローレベル〕は、バッファレジスタ55に
保持される。
【0130】時点t1d〜t2aまでは、データストロ
ーブ信号DS*がハイレベルに立上がるので、この間の
データは無効とされる。
【0131】時点t1〜t2までは、図12に示される
ように、描画コマンドパケットGCP1の描画処理がなさ
れる。このレジスタ26、28、30以後の回路構成及
び、信号或いはデータ等の処理については、前述した一
実施例と同様であるので、重複する説明を省略する。そ
して、時点t2に至ると、ウエイト信号WAIT*がハイレ
ベルに立上がる。
【0132】時点t2に於いて、プロセッサLP0からコ
ントローラ13に、ハイレベルのウエイト信号WAIT*が
供給される。
【0133】コントローラ13では、ウエイト信号WAIT
*に基づいて、プロセッサLP0に対する描画コマンドパ
ケットGCP 3の供給を、図12に示される時点t2aよ
り再開する。
【0134】前述したように、セレクタ56、62、7
2では、端子56b、62b、72b側に接続されてい
るので、バッファレジスタ55、61、71に保持され
ている時点t1c〜t1dの間のデータストローブ信号
DS*、パラメータGP3a等が、セレクタ56、62、
72を介してレジスタ26、28、30に供給される。
【0135】即ち、レジスタ26には、データストロー
ブ信号DS*のレベル〔ローレベル〕が取込まれ、ま
た、レジスタ28、30には、描画コマンドパケットGC
P 3のパラメータGP3aが取込まれる。
【0136】バッファレジスタ55、61、71からの
データの取込みが終了すると、コントロールブロック7
は、セレクタ56、62、72に対して制御信号を供給
する。これによって、セレクタ56、62、72は時点
t2a迄に接続状態が制御される。即ち、セレクタ56
では端子56a側に接続され、また、セレクタ62では
端子62a側に接続され、更に、セレクタ72では端子
72a側に接続される。
【0137】従って、レジスタ26、28、30では、
時点t2〜t2aの間では、上述した時点t1c〜t1
dの間のデータが保持されると共に、出力される。ま
た、時点t2b以後では、描画コマンドパケットGCP 3
のパラメータGP3bと、それに続くパラメータGP3c、
・・・が保持され、出力される。
【0138】時点t1c〜t1dのデータストローブ信
号DS*は、ローレベルとされているので、この間のデ
ータは有効とされる。これに基づいて、時点t1c〜t
1dのパラメータGP3aが有効とされ、次段に供給され
る。
【0139】時点t2a以後のデータストローブ信号D
S*は、ローレベルとされているので、この間のデータ
は有効とされる。これに基づいて、時点t2a以後のパ
ラメータGP3b、GP3c、・・・が有効とされ、次段に
供給される。
【0140】結果的に描画コマンドパケットGCP 3は途
切れることなく、レジスタ26、28、30及び、該レ
ジスタ26、28、30以後の回路に供給される。
【0141】時点t2後は、図12に示されるように、
描画コマンドパケットGCP 2の描画処理がなされる。こ
のレジスタ26、28、30以後の回路構成また、信号
或いはデータの処理については、前述した一実施例と同
様であるので、重複する説明を省略する。
【0142】この他の実施例によれば、前述の一実施例
の効果に加え、時点t1cに於いて、プロセッサLPから
ローレベルのウエイト信号WAIT*を出力した後、1クロ
ックパルスPCLK に相当する描画コマンドパケットGCP
3のパラメータGP3aが各プロセッサLP0〜LP3にて保
持されているので、外部とのインターフエースのタイミ
ングに余裕を持たせることができる。
【0143】
【発明の効果】この発明にかかる描画処理装置によれ
ば、現在の描画コマンドパケットの処理を終了したプロ
セッサは、次の描画コマンドパケットの処理を実行で
き、各プロセッサは、連続的に描画コマンドパケットの
処理を実行できるという効果があり、これによって、待
ち時間の解消或いは大幅な短縮が可能となり、また、シ
ステム全体の処理速度を向上させることができるという
効果がある。
【0144】また、現在の描画コマンドパケットの描画
処理時間中に次に処理すべき描画コマンドパケットを取
込むことができるので、一つのプロセッサを用いて描画
処理を行う場合でも、処理能力、そして、効率を向上さ
せることができるという効果がある。
【図面の簡単な説明】
【図1】この発明の一実施例の全体ブロック図である。
【図2】描画コマンドパケットの構成を示す説明図であ
る。
【図3】プロセッサの構成を示すブロック図である。
【図4】インターフエースブロックの構成を示すブロッ
ク図である。
【図5】データレジスタ部の構成を示すブロック図であ
る。
【図6】複数のプロセッサの処理状態と待ち時間を示す
説明図である。
【図7】インターフエースブロックの動作を示すタイミ
ングチャートである。
【図8】複数のプロセッサによって三角形を描画する例
を示す説明図である。
【図9】他の実施例を示すブロック図である。
【図10】他の実施例を示すブロック図である。
【図11】他の実施例を示すブロック図である。
【図12】他の実施例に於けるインターフエースブロッ
クの動作を示すタイミングチャートである。
【図13】描画コマンドパケットの構成を示す従来例の
説明図である。
【図14】複数のプロセッサによって三角形を描画する
例を示す従来例のブロック図である。
【図15】複数のプロセッサによる描画処理を示す従来
例の説明図である。
【図16】複数のプロセッサの処理状態と待ち時間を示
す従来例の説明図である。
【符号の説明】
32 データレジスタ部 LP0、LP1、LP2、LP3 プロセッサ GCP 、GCP 1、GCP 2 描画コマンドパケット GC、GC1、GC2 描画コマンド GP、GP11〜GP1N、GP21〜GP2N パラメータ 401〜40(N-1) データレジスタ 401a〜40(N-1) a レジスタ 401b〜40(N-1) b レジスタ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサを並列に接続して画像
    データの処理を行う描画処理装置に於いて、 上記プロセッサは、 描画コマンド及びパラメータとからなり、現在、描画処
    理中のコマンドパケットと、 描画コマンド及びパラメータとからなり、少なくとも次
    に描画処理するコマンドパケットと、を保持するように
    したことを特徴とする描画処理装置。
JP4048019A 1991-08-09 1992-02-04 描画処理装置 Pending JPH05120438A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US07/922,675 US5450550A (en) 1991-08-09 1992-07-30 Parallel processing system for parallel prefetching of identical packet having two rendering commands and processing second command prior to completion of processing the first command

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP22501691 1991-08-09
JP3-225016 1991-08-09

Publications (1)

Publication Number Publication Date
JPH05120438A true JPH05120438A (ja) 1993-05-18

Family

ID=16822754

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4048019A Pending JPH05120438A (ja) 1991-08-09 1992-02-04 描画処理装置

Country Status (1)

Country Link
JP (1) JPH05120438A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7551178B2 (en) 2005-06-02 2009-06-23 Samsung Electronics Co., Ltd. Apparatuses and methods for processing graphics and computer readable mediums storing the methods

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7551178B2 (en) 2005-06-02 2009-06-23 Samsung Electronics Co., Ltd. Apparatuses and methods for processing graphics and computer readable mediums storing the methods

Similar Documents

Publication Publication Date Title
US5751291A (en) System and method for accelerated occlusion culling
JP4249397B2 (ja) グラフィックス・パイプラインを同期化する方法および装置
CA2049914C (en) Direct memory access apparatus in image processing system and external storage device used therein
JP2884250B2 (ja) パイプライン形の単一ポートz―バッファを更新する効果的な方法
US7612781B2 (en) Memory control method of graphic processor unit
JPH02125770A (ja) ハーフ・トーン・ピクセル・プロセッサ
WO2000011604B1 (en) Apparatus and method for geometry operations in a 3d-graphics pipeline
US8941669B1 (en) Split push buffer rendering for scalability
US6985151B1 (en) Shader pixel storage in a graphics memory
EP1255227A1 (en) Vertices index processor
US6950106B2 (en) 3-dimensional graphic plotting apparatus
JPH04282786A (ja) Zバッファ値更新用高メモリ帯域幅システム
US5450550A (en) Parallel processing system for parallel prefetching of identical packet having two rendering commands and processing second command prior to completion of processing the first command
KR100297145B1 (ko) 그래픽 처리장치 및 그래픽 처리방법
US6088037A (en) Rendering processor
JPH05120438A (ja) 描画処理装置
CA2055784C (en) Hierarchical memory controller
JP3068590B1 (ja) 2次元画像処理装置
JPH05249953A (ja) 画像表示装置
JPH09305164A (ja) ビットマップデータのビットビルト方法およびグラフィックス制御装置
JP3740415B2 (ja) グラフィック処理装置
EP0467394B1 (en) Graphic processor
JP2836617B2 (ja) レンダリングプロセッサ
JPH0896112A (ja) 画像データ処理装置およびそれを用いた情報システム
JP2015034891A (ja) レジスタ設定制御装置