JPH09288559A - 図形描画処理方式 - Google Patents
図形描画処理方式Info
- Publication number
- JPH09288559A JPH09288559A JP12270796A JP12270796A JPH09288559A JP H09288559 A JPH09288559 A JP H09288559A JP 12270796 A JP12270796 A JP 12270796A JP 12270796 A JP12270796 A JP 12270796A JP H09288559 A JPH09288559 A JP H09288559A
- Authority
- JP
- Japan
- Prior art keywords
- graphic
- command
- accelerator
- graphic accelerator
- full
- 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
- 239000000872 buffer Substances 0.000 claims abstract description 70
- 238000006243 chemical reaction Methods 0.000 claims abstract description 9
- 238000009877 rendering Methods 0.000 claims description 9
- 238000003672 processing method Methods 0.000 claims description 3
- 238000000034 method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000007796 conventional method Methods 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 2
Landscapes
- Digital Computer Display Output (AREA)
- Image Generation (AREA)
Abstract
(57)【要約】
【課題】グラフィックアクセラレータ(GA)を装備し
たシステムの図形描画処理の高速化の達成。 【解決手段】CPU側からグラフィックアクセラレータ
のFIFOバッファにコマンドを転送して表示画面上に
描画する図形描画処理システムにおいて、CPU側から
コマンドの転送を行う際にグラフィックアクセラレータ
側からCPU側にFIFOバッファがフル状態であるこ
とを示すハードウェア割り込みが発生されるまでは、C
PU側はステータスレジスタの参照を行うことなく、コ
マンドをFIFOバッファに転送する。
たシステムの図形描画処理の高速化の達成。 【解決手段】CPU側からグラフィックアクセラレータ
のFIFOバッファにコマンドを転送して表示画面上に
描画する図形描画処理システムにおいて、CPU側から
コマンドの転送を行う際にグラフィックアクセラレータ
側からCPU側にFIFOバッファがフル状態であるこ
とを示すハードウェア割り込みが発生されるまでは、C
PU側はステータスレジスタの参照を行うことなく、コ
マンドをFIFOバッファに転送する。
Description
【0001】
【発明の属する技術分野】本発明は、図形処理システム
に関し、特に、中央処理装置(CPU)とは別に、図形
描画処理を高速に行うために、1又は複数のプロセッサ
とメモリ等を有したグラフィックアクセラレータ(Gr
aphics Accelerator;「GA」とも
いう)をハードウェアとして具備してなる図形描画方式
に関する。
に関し、特に、中央処理装置(CPU)とは別に、図形
描画処理を高速に行うために、1又は複数のプロセッサ
とメモリ等を有したグラフィックアクセラレータ(Gr
aphics Accelerator;「GA」とも
いう)をハードウェアとして具備してなる図形描画方式
に関する。
【0002】
【従来の技術】この種の図形描画方式の従来の技術とし
て、例えば特開平5−46546号公報には、命令実行
ユニットと並列動作が可能なグラフィックユニットを有
するマイクロプロセッサにおいて、パラメータの転送を
高速に実行するため、複数のパラメータのそれぞれに対
して複数段のファーストインファーストアウト(「FI
FO」という、先入れ先出し方式)バッファと1ビット
の制御フラグとパラメータ保持用レジスタを備え、その
中の1個を起動パラメータ用FIFOバッファとして使
用し、残りの非起動パラメータ用FIFOバッファに
は、各段毎に1ビットの更新フラグフィールドを設け、
この更新フラグで指定された非起動パラメータのみを各
々のパラメータ保持用レジスタに取り込み、起動パラメ
ータ用FIFOバッファから起動パラメータを起動用パ
ラメータ保持用レジスタに設定することでグラフィック
ユニットを起動するようにした装置が提案されている。
なお、グラフィックユニットはグラフィック処理するた
めの各種パラメータ(座標値、メモリアドレス、モード
等)を保持するレジスタを持ち、他のユニット(整数ユ
ニット、浮動小数点ユニット)からそのパレメータを受
け取り、この中の1つのパラメータ(「起動パラメー
タ」という)レジスタがグラフィックユニットへの動作
開始を支持する役割を持ち、このパラメータの書き込み
により処理が開始される。
て、例えば特開平5−46546号公報には、命令実行
ユニットと並列動作が可能なグラフィックユニットを有
するマイクロプロセッサにおいて、パラメータの転送を
高速に実行するため、複数のパラメータのそれぞれに対
して複数段のファーストインファーストアウト(「FI
FO」という、先入れ先出し方式)バッファと1ビット
の制御フラグとパラメータ保持用レジスタを備え、その
中の1個を起動パラメータ用FIFOバッファとして使
用し、残りの非起動パラメータ用FIFOバッファに
は、各段毎に1ビットの更新フラグフィールドを設け、
この更新フラグで指定された非起動パラメータのみを各
々のパラメータ保持用レジスタに取り込み、起動パラメ
ータ用FIFOバッファから起動パラメータを起動用パ
ラメータ保持用レジスタに設定することでグラフィック
ユニットを起動するようにした装置が提案されている。
なお、グラフィックユニットはグラフィック処理するた
めの各種パラメータ(座標値、メモリアドレス、モード
等)を保持するレジスタを持ち、他のユニット(整数ユ
ニット、浮動小数点ユニット)からそのパレメータを受
け取り、この中の1つのパラメータ(「起動パラメー
タ」という)レジスタがグラフィックユニットへの動作
開始を支持する役割を持ち、このパラメータの書き込み
により処理が開始される。
【0003】上述したように、この従来の技術において
は、パラメータ毎にFIFOバッファを設けたことによ
り、グラフィックユニットが動作中でも、命令実行ユニ
ットはパラメータを転送して処理を続行することができ
る。
は、パラメータ毎にFIFOバッファを設けたことによ
り、グラフィックユニットが動作中でも、命令実行ユニ
ットはパラメータを転送して処理を続行することができ
る。
【0004】さらに、制御フラグを持ち、変更しなかっ
たパラメータにも、起動パラメータ書き込み時に、その
ことを識別するフラグを書き、有効なパラメータのみパ
ラメータ保持レジスタへセットすることで、グラフィッ
クコア部がパラメータをFIFOバッファからレジスタ
へ読み出すオーバヘッドを軽減することを可能として
る。
たパラメータにも、起動パラメータ書き込み時に、その
ことを識別するフラグを書き、有効なパラメータのみパ
ラメータ保持レジスタへセットすることで、グラフィッ
クコア部がパラメータをFIFOバッファからレジスタ
へ読み出すオーバヘッドを軽減することを可能として
る。
【0005】次に第2の従来の技術として、上記第1の
従来の技術とは相違して、パラメータの高速転送のため
の特別な装置を持たない図形処理システムがある。従
来、グラフィックアクセラレータ(GA)を使用して図
形を描画する図形処理システムでは、高速描画のために
グラフィックアクセラレータコマンド(「GAコマン
ド」という)をバッファリングし、グラフィックアクセ
ラレータのFIFOバッファへ転送するが、転送の度毎
に、グラフィックアクセラレータのステータスレジスタ
を参照し、FIFOバッファがフル(一杯)でないこと
を確認してから、コマンド転送を行っている。
従来の技術とは相違して、パラメータの高速転送のため
の特別な装置を持たない図形処理システムがある。従
来、グラフィックアクセラレータ(GA)を使用して図
形を描画する図形処理システムでは、高速描画のために
グラフィックアクセラレータコマンド(「GAコマン
ド」という)をバッファリングし、グラフィックアクセ
ラレータのFIFOバッファへ転送するが、転送の度毎
に、グラフィックアクセラレータのステータスレジスタ
を参照し、FIFOバッファがフル(一杯)でないこと
を確認してから、コマンド転送を行っている。
【0006】
【発明が解決しようとする課題】上述した第1の従来の
技術は、パラメータ高速転送のための特別な装置を必要
とし、また、特別な装置を有する図形処理システムは高
価である。
技術は、パラメータ高速転送のための特別な装置を必要
とし、また、特別な装置を有する図形処理システムは高
価である。
【0007】また、上記第2の従来技術は、上記第1の
従来技術のような特別な装置は必要としないものの、グ
ラフィックアクセラレータのFIFOバッファへの書き
込みについて、効率的なコマンド転送ができないという
問題がある。
従来技術のような特別な装置は必要としないものの、グ
ラフィックアクセラレータのFIFOバッファへの書き
込みについて、効率的なコマンド転送ができないという
問題がある。
【0008】その理由は、グラフィックアクセラレータ
のFIFOバッファへ転送するたびに、グラフィックア
クセラレータの持つグラフィックアクセラレータステー
タスレジスタを直接参照して、グラフィックアクセラレ
ータへコマンドが転送できる状態であることを確認した
後に、グラフィックアクセラレータへコマンド転送を行
うため、CPUの負荷が大きいためである。すなわち、
グラフィックアクセラレータの持つグラフィックアクセ
ラレータステータスレジスタをCPU側から直接参照す
ると、該参照はCPU側の命令実行時間に比べて非常に
長い時間を要することになり、高速描画システムの実現
を阻害する要因となっている。
のFIFOバッファへ転送するたびに、グラフィックア
クセラレータの持つグラフィックアクセラレータステー
タスレジスタを直接参照して、グラフィックアクセラレ
ータへコマンドが転送できる状態であることを確認した
後に、グラフィックアクセラレータへコマンド転送を行
うため、CPUの負荷が大きいためである。すなわち、
グラフィックアクセラレータの持つグラフィックアクセ
ラレータステータスレジスタをCPU側から直接参照す
ると、該参照はCPU側の命令実行時間に比べて非常に
長い時間を要することになり、高速描画システムの実現
を阻害する要因となっている。
【0009】また、CPU側におけるグラフィックアク
セラレータステータスレジスタの参照回数を減らすため
に、バッファリングを行い、転送回数を減らしている
が、バッファリング過程が追加されるので、CPUの負
荷が大きくなっている。
セラレータステータスレジスタの参照回数を減らすため
に、バッファリングを行い、転送回数を減らしている
が、バッファリング過程が追加されるので、CPUの負
荷が大きくなっている。
【0010】従って、本発明は上記事情に鑑みてなされ
たものであって、その目的は、グラフィックアクセラレ
ータを装備したシステムにおいて、図形描画処理の高速
化を達成するシステムを提供することにある。
たものであって、その目的は、グラフィックアクセラレ
ータを装備したシステムにおいて、図形描画処理の高速
化を達成するシステムを提供することにある。
【0011】
【課題を解決するための手段】前記目的を達成するた
め、本発明の図形描画処理方式は、CPU側からグラフ
ィックアクセラレータに描画のためのコマンド及び/又
はパラメータを転送して表示画面上に表示出力する図形
描画処理システムにおいて、前記CPUから前記グラフ
ィックアクセラレータが具備するファーストインファー
ストアウトバッファ(「FIFOバッファ」という)に
コマンド及び/又はパラメータの転送を行う際に、前記
グラフィックアクセラレータ側から前記CPUに前記F
IFOバッファがフル状態であることを示すハードウェ
ア割り込みが発生されるまでは、前記CPUは前記グラ
フィックアクセラレータの状態を示すステータスレジス
タの参照を行うことなく、前記コマンド及び/又はパラ
メータを前記FIFOバッファに転送することを特徴と
する。
め、本発明の図形描画処理方式は、CPU側からグラフ
ィックアクセラレータに描画のためのコマンド及び/又
はパラメータを転送して表示画面上に表示出力する図形
描画処理システムにおいて、前記CPUから前記グラフ
ィックアクセラレータが具備するファーストインファー
ストアウトバッファ(「FIFOバッファ」という)に
コマンド及び/又はパラメータの転送を行う際に、前記
グラフィックアクセラレータ側から前記CPUに前記F
IFOバッファがフル状態であることを示すハードウェ
ア割り込みが発生されるまでは、前記CPUは前記グラ
フィックアクセラレータの状態を示すステータスレジス
タの参照を行うことなく、前記コマンド及び/又はパラ
メータを前記FIFOバッファに転送することを特徴と
する。
【0012】本発明においては、前記CPUから前記F
IFOバッファにコマンド及び/又はパラメータ情報の
転送中に、前記グラフィックアクセラレータ側から前記
CPUに前記FIFOバッファがフル状態であることを
示すハードウェア割り込みが通知された際に、前記転送
を中断し、その後、転送を再開する際に前記CPUは前
記グラフィックアクセラレータの状態を示すステータス
レジスタの参照を行い、前記FIFOバッファがフルで
ないことを確認した時にコマンド及び/又はパラメータ
の転送を行う、ことを特徴とする。
IFOバッファにコマンド及び/又はパラメータ情報の
転送中に、前記グラフィックアクセラレータ側から前記
CPUに前記FIFOバッファがフル状態であることを
示すハードウェア割り込みが通知された際に、前記転送
を中断し、その後、転送を再開する際に前記CPUは前
記グラフィックアクセラレータの状態を示すステータス
レジスタの参照を行い、前記FIFOバッファがフルで
ないことを確認した時にコマンド及び/又はパラメータ
の転送を行う、ことを特徴とする。
【0013】また、本発明は、好ましくは、利用者プロ
グラムから指示された図形コマンドから図形の描画等を
行い、中央処理装置とは別に、図形描画処理を高速に行
うために、1又は複数のプロセッサとメモリを含むグラ
フィックアクセラレータを備え、該グラフィックアクセ
ラレータを使用して図形描画処理を行う図形処理システ
ムにおいて、利用者プログラムから図形コマンドを入力
し、該図形コマンドから、グラフィックアクセラレータ
が具備するファーストインファーストアウトバッファ
(「FIFOバッファ」という)へ転送するグラフィッ
クアクセラレータコマンドを生成するグラフィックアク
セラレータコマンド変換手段と、前記グラフィックアク
セラレータコマンド変換手段によって生成されたグラフ
ィックアクセラレータコマンドを前記FIFOバッファ
へ転送し、前記FIFOバッファがフルとなった時のハ
ードウェア割り込み通知を受けて該コマンドの転送を中
断すると共に、再び転送を行う際に、グラフィックアク
セラレータステータスレジスタを参照し、該グラフィッ
クアクセラレータステータスレジスタが前記FIFOバ
ッファがフルであることを示す状態である場合にはフル
でなくなるまで転送を待ち合わせ、該グラフィックアク
セラレータステータスレジスタが前記FIFOバッファ
がフルでないことを示す時には前記コマンドの転送を行
うグラフィックアクセラレータコマンド転送手段と、を
有し、グラフィックアクセラレータは、前記FIFOバ
ッファがフルになったときに、グラフィックアクセラレ
ータステータスレジスタをフル状態に設定するととも
に、前記中央処理装置側にハードウェア割り込みを上
げ、前記FIFOバッファがフルでなくなった時にグラ
フィックアクセラレータステータスレジスタを非フル状
態に設定するファーストインファーストアウトステータ
ス情報設定手段と、前記FIFOバッファからグラフィ
ックアクセラレータコマンドを取り出し、該コマンドか
らフレームバッファ上の描画イメージを該フレームバッ
ファに設定するグラフィックアクセラレータレンダリン
グ手段と、を有し、前記グラフィックアクセラレータス
テータスレジスタの参照回数の減少を特徴とするように
したものである。
グラムから指示された図形コマンドから図形の描画等を
行い、中央処理装置とは別に、図形描画処理を高速に行
うために、1又は複数のプロセッサとメモリを含むグラ
フィックアクセラレータを備え、該グラフィックアクセ
ラレータを使用して図形描画処理を行う図形処理システ
ムにおいて、利用者プログラムから図形コマンドを入力
し、該図形コマンドから、グラフィックアクセラレータ
が具備するファーストインファーストアウトバッファ
(「FIFOバッファ」という)へ転送するグラフィッ
クアクセラレータコマンドを生成するグラフィックアク
セラレータコマンド変換手段と、前記グラフィックアク
セラレータコマンド変換手段によって生成されたグラフ
ィックアクセラレータコマンドを前記FIFOバッファ
へ転送し、前記FIFOバッファがフルとなった時のハ
ードウェア割り込み通知を受けて該コマンドの転送を中
断すると共に、再び転送を行う際に、グラフィックアク
セラレータステータスレジスタを参照し、該グラフィッ
クアクセラレータステータスレジスタが前記FIFOバ
ッファがフルであることを示す状態である場合にはフル
でなくなるまで転送を待ち合わせ、該グラフィックアク
セラレータステータスレジスタが前記FIFOバッファ
がフルでないことを示す時には前記コマンドの転送を行
うグラフィックアクセラレータコマンド転送手段と、を
有し、グラフィックアクセラレータは、前記FIFOバ
ッファがフルになったときに、グラフィックアクセラレ
ータステータスレジスタをフル状態に設定するととも
に、前記中央処理装置側にハードウェア割り込みを上
げ、前記FIFOバッファがフルでなくなった時にグラ
フィックアクセラレータステータスレジスタを非フル状
態に設定するファーストインファーストアウトステータ
ス情報設定手段と、前記FIFOバッファからグラフィ
ックアクセラレータコマンドを取り出し、該コマンドか
らフレームバッファ上の描画イメージを該フレームバッ
ファに設定するグラフィックアクセラレータレンダリン
グ手段と、を有し、前記グラフィックアクセラレータス
テータスレジスタの参照回数の減少を特徴とするように
したものである。
【0014】本発明によれば、CPU側(図形処理シス
テム側)では、FIFOへのコマンド転送毎のグラフィ
ックアクセラレータステータスレジスタ参照を行わず、
このためグラフィックアクセラレータステータスレジス
タの参照回数を大幅に低減している。また、図形処理シ
ステム側でバッファリングも行わないため、CPUの負
荷を軽減し、グラフィックアクセラレータへのコマンド
転送を効率的に行い、図形描画を高速に行うことができ
る。
テム側)では、FIFOへのコマンド転送毎のグラフィ
ックアクセラレータステータスレジスタ参照を行わず、
このためグラフィックアクセラレータステータスレジス
タの参照回数を大幅に低減している。また、図形処理シ
ステム側でバッファリングも行わないため、CPUの負
荷を軽減し、グラフィックアクセラレータへのコマンド
転送を効率的に行い、図形描画を高速に行うことができ
る。
【0015】
【発明の実施の形態】本発明の実施の形態について図面
を参照して以下に詳細に説明する。図1は、本発明の実
施の形態の構成を示す図である。
を参照して以下に詳細に説明する。図1は、本発明の実
施の形態の構成を示す図である。
【0016】図1を参照すると、本発明の実施の形態に
おいては、CPU側の図形処理システム20は、利用者
プログラム10から図形コマンドが図形処理システム2
0に渡されると、グラフィックアクセラレータ(GA)
30のファーストインファーストアウトバッファ(「F
IFOバッファ」という)31へ転送するためのグラフ
ィックアクセラレータコマンド(「GAコマンド」とい
う)を図形コマンドから生成するグラフィックアクセラ
レータコマンド変換手段(「GAコマンド変換手段」と
いう)21と、GAコマンド変換手段21によって生成
されたGAコマンドをFIFOバッファ31へ転送し、
FIFO−フル(FIFOバッファが一杯)の際のハー
ドウェア割り込みにより該転送を中断し、次の転送のタ
イミングにおいて、グラフィックアクセラレータ30の
グラフィックアクセラレータステータスレジスタ(「G
Aステータスレジスタ」という)32を参照して、FI
FO−フル(FIFOバッファが一杯)でなくなるまで
待ち合わせ、FIFO−ノット−フル(FIFOバッフ
ァが一杯でない)なら、転送を行うグラフィックアクセ
ラレータコマンド転送手段(「GAコマンド転送手
段」)22と、を有している。
おいては、CPU側の図形処理システム20は、利用者
プログラム10から図形コマンドが図形処理システム2
0に渡されると、グラフィックアクセラレータ(GA)
30のファーストインファーストアウトバッファ(「F
IFOバッファ」という)31へ転送するためのグラフ
ィックアクセラレータコマンド(「GAコマンド」とい
う)を図形コマンドから生成するグラフィックアクセラ
レータコマンド変換手段(「GAコマンド変換手段」と
いう)21と、GAコマンド変換手段21によって生成
されたGAコマンドをFIFOバッファ31へ転送し、
FIFO−フル(FIFOバッファが一杯)の際のハー
ドウェア割り込みにより該転送を中断し、次の転送のタ
イミングにおいて、グラフィックアクセラレータ30の
グラフィックアクセラレータステータスレジスタ(「G
Aステータスレジスタ」という)32を参照して、FI
FO−フル(FIFOバッファが一杯)でなくなるまで
待ち合わせ、FIFO−ノット−フル(FIFOバッフ
ァが一杯でない)なら、転送を行うグラフィックアクセ
ラレータコマンド転送手段(「GAコマンド転送手
段」)22と、を有している。
【0017】グラフィックアクセラレータ30は、FI
FOバッファ31と、GAステータスレジスタ32と、
FIFOバッファ31がフルになったとき電気信号の出
力してGAステータスレジスタ32をFIFO−フルの
状態に設定するとともに、CPU側へハードウェア割り
込みを上げ、一方、FIFOバッファ31がフルでなく
なったときには、電気信号を出力してGAステータスレ
ジスタ32をFIFO−ノット−フルの状態に設定する
グラフィックアクセラレータステータス情報設定手段
(「GAステータス情報設定手段」という)33と、F
IFOバッファ31からGAコマンドを取り出し、取り
だしたコマンドからフレームバッファ(FRB)40上
の描画イメージをFRB40上に設定するグラフィック
アクセラレータレンダリング手段(「GAレンダリング
手段」という)34と、から構成される。
FOバッファ31と、GAステータスレジスタ32と、
FIFOバッファ31がフルになったとき電気信号の出
力してGAステータスレジスタ32をFIFO−フルの
状態に設定するとともに、CPU側へハードウェア割り
込みを上げ、一方、FIFOバッファ31がフルでなく
なったときには、電気信号を出力してGAステータスレ
ジスタ32をFIFO−ノット−フルの状態に設定する
グラフィックアクセラレータステータス情報設定手段
(「GAステータス情報設定手段」という)33と、F
IFOバッファ31からGAコマンドを取り出し、取り
だしたコマンドからフレームバッファ(FRB)40上
の描画イメージをFRB40上に設定するグラフィック
アクセラレータレンダリング手段(「GAレンダリング
手段」という)34と、から構成される。
【0018】上記した本発明の実施の形態についてより
詳細に説明すべく実施例を図2から図5を参照して詳細
に説明する。
詳細に説明すべく実施例を図2から図5を参照して詳細
に説明する。
【0019】図2は、GAコマンド変換手段21の処理
動作の一例を模式的に示したものである。
動作の一例を模式的に示したものである。
【0020】利用者プログラム10では、座標値(1.
0,1.0)から(100.0,100.0)まで、線
幅が2.0の線を描画するために、まず“LINEWI
DTH”という関数をコールし、引数“2.0”を与え
ている(CALL LINEWIDTH(2.0))。
0,1.0)から(100.0,100.0)まで、線
幅が2.0の線を描画するために、まず“LINEWI
DTH”という関数をコールし、引数“2.0”を与え
ている(CALL LINEWIDTH(2.0))。
【0021】次に、“LINE”という関数をコール
し、引数として始点座標値(1.0,1.0)と終点座
標値(100.0,100.0)を与えている(CAL
L LINE(1.0,1.0,100.0,100.
0))。
し、引数として始点座標値(1.0,1.0)と終点座
標値(100.0,100.0)を与えている(CAL
L LINE(1.0,1.0,100.0,100.
0))。
【0022】利用者プログラム10から図形コマンドを
受け取った図形処理システム21では、“線幅2.0”
という図形コマンド211と、“(1.0,1.0)か
ら(100.0,100.0)位置に線描画”という図
形コマンド212とを認識し、8バイトのGAコマンド
213と、20バイトのGAコマンド214と、を生成
する。
受け取った図形処理システム21では、“線幅2.0”
という図形コマンド211と、“(1.0,1.0)か
ら(100.0,100.0)位置に線描画”という図
形コマンド212とを認識し、8バイトのGAコマンド
213と、20バイトのGAコマンド214と、を生成
する。
【0023】線幅のGAコマンド213の最初の2バイ
トには、線幅コマンドの全バイト数を示す値の“8”が
設定されている。次の2バイトには、このコマンドが
“線幅設定コマンド”であることを、グラフィックアク
セラレータ(GA)30に知らせるオペレーションコー
ド“35”が設定されている。次の4バイトには、線幅
の実際のデータ“2.0”が設定される。
トには、線幅コマンドの全バイト数を示す値の“8”が
設定されている。次の2バイトには、このコマンドが
“線幅設定コマンド”であることを、グラフィックアク
セラレータ(GA)30に知らせるオペレーションコー
ド“35”が設定されている。次の4バイトには、線幅
の実際のデータ“2.0”が設定される。
【0024】続いて、線描画のGAコマンドを生成し、
最初の2バイトには、線描画コマンドの全バイト数を示
す“20”が設定されている。次の2バイトには、この
コマンドが“線描画コマンド”であることをグラフィッ
クアクセラレータ(GA)30に知らせるオペレーショ
ンコード“17”が設定されている。次の16バイトに
は、4バイト毎に、始点座標のx座標値の“1.0”、
y座標値の“1.0”、終点座標値のx座標値の“10
0.0”、y座標値の“100.0”が設定される。
最初の2バイトには、線描画コマンドの全バイト数を示
す“20”が設定されている。次の2バイトには、この
コマンドが“線描画コマンド”であることをグラフィッ
クアクセラレータ(GA)30に知らせるオペレーショ
ンコード“17”が設定されている。次の16バイトに
は、4バイト毎に、始点座標のx座標値の“1.0”、
y座標値の“1.0”、終点座標値のx座標値の“10
0.0”、y座標値の“100.0”が設定される。
【0025】図3は、図形処理システム20におけるG
Aコマンド転送手段22の処理動作の一例を示す流れ図
である。
Aコマンド転送手段22の処理動作の一例を示す流れ図
である。
【0026】図3を参照すると、ステップ221におい
て、GAコマンド変換手段21で生成されたGAコマン
ドを、グラフィックアクセラレータ(GA)30のFI
FOバッファ31へ、FIFO−フルの通知がない限
り、転送する。
て、GAコマンド変換手段21で生成されたGAコマン
ドを、グラフィックアクセラレータ(GA)30のFI
FOバッファ31へ、FIFO−フルの通知がない限
り、転送する。
【0027】FIFOバッファ31がフルになり、FI
FO−フルがGAステータス情報設定手段33から割り
込みにより通知されると、GAコマンド転送手段は転送
を中断する(ステップ222)。
FO−フルがGAステータス情報設定手段33から割り
込みにより通知されると、GAコマンド転送手段は転送
を中断する(ステップ222)。
【0028】転送中断後、初めてコマンド転送するとき
のみ、GAコマンド転送手段22は、GAステータスレ
ジスタ32を参照し、FIFO−フル/ノット−フル状
態であるか否かのチェックを行い、フルでないこと(F
IFO−ノット−フル)を確認してから(ステップ22
3)、コマンド転送を行う。
のみ、GAコマンド転送手段22は、GAステータスレ
ジスタ32を参照し、FIFO−フル/ノット−フル状
態であるか否かのチェックを行い、フルでないこと(F
IFO−ノット−フル)を確認してから(ステップ22
3)、コマンド転送を行う。
【0029】図4は、GAステータス情報設定手段33
の処理動作の一例を模式的に示す図である。
の処理動作の一例を模式的に示す図である。
【0030】FIFOバッファ31がフル(一杯)にな
った時点で、電気信号を出力して、ステップ331で、
GAステータスレジスタを、FIFO−フル状態に設定
するとともに、ステップ332で、CPU側へハードウ
ェア割り込みを上げる。FIFOバッファがFIFO−
フルとなった後においてFIFO−ノット−フルになっ
たときは、電気信号を出力して、ステップ333で、G
Aステータス情報をFIFO−ノット−フル状態に設定
する。
った時点で、電気信号を出力して、ステップ331で、
GAステータスレジスタを、FIFO−フル状態に設定
するとともに、ステップ332で、CPU側へハードウ
ェア割り込みを上げる。FIFOバッファがFIFO−
フルとなった後においてFIFO−ノット−フルになっ
たときは、電気信号を出力して、ステップ333で、G
Aステータス情報をFIFO−ノット−フル状態に設定
する。
【0031】図5は、GAレンダリング手段34の処理
動作の一例を模式的に示す図である。GAレンダリング
手段34は、FIFOバッファ31からGAコマンドを
取り出し、1コマンドずつ処理する。
動作の一例を模式的に示す図である。GAレンダリング
手段34は、FIFOバッファ31からGAコマンドを
取り出し、1コマンドずつ処理する。
【0032】まず、取り出したコマンド213を参照
し、コマンド長は8バイトであり、オペレーションコー
ドが“35”であることから、これをデコードした結
果、線幅設定コマンドであると認識し、線幅レジスタ
に、“2.0”を設定する。
し、コマンド長は8バイトであり、オペレーションコー
ドが“35”であることから、これをデコードした結
果、線幅設定コマンドであると認識し、線幅レジスタ
に、“2.0”を設定する。
【0033】グラフィックアクセラレータ(GA)30
の処理機構は、以後、線描画コマンドを受け付けると、
線幅2.0で処理する。
の処理機構は、以後、線描画コマンドを受け付けると、
線幅2.0で処理する。
【0034】次のコマンド214を参照し、オペレーシ
ョンコードが“17”であることから、線描画コマンド
であると認識し、線描画のための始点x座標値レジスタ
に“1.0”、始点y座標値レジスタに“1.0”、終
点x座標値レジスタに“100.0”、終点y座標値レ
ジスタに“100.0”をそれぞれ設定する。
ョンコードが“17”であることから、線描画コマンド
であると認識し、線描画のための始点x座標値レジスタ
に“1.0”、始点y座標値レジスタに“1.0”、終
点x座標値レジスタに“100.0”、終点y座標値レ
ジスタに“100.0”をそれぞれ設定する。
【0035】グラフィックアクセラレータ(GA)の処
理機構は、設定された値から、フレームバッファ(FR
B)40上の、線の始点と終点の座標値を計算し、さら
に始点と終点をつなぐビットの描画位置を計算し、その
生成したイメージをフレームバッファ(FRB)40に
設定し、これにより図形表示装置50には、始点と終点
を所定の線幅で結ぶ直線が描画出力される。
理機構は、設定された値から、フレームバッファ(FR
B)40上の、線の始点と終点の座標値を計算し、さら
に始点と終点をつなぐビットの描画位置を計算し、その
生成したイメージをフレームバッファ(FRB)40に
設定し、これにより図形表示装置50には、始点と終点
を所定の線幅で結ぶ直線が描画出力される。
【0036】
【発明の効果】以上説明したように、本発明によれば、
CPUの負荷を軽減し、グラフィックアクセラレータへ
のコマンド転送を効率的に行い、図形描画を高速に行う
ことである。これは、従来、グラフィックアクセラレー
タへのコマンド転送時に行っていたGAステータスレジ
スタの参照はCPU負荷が大きかったが、本発明はGA
ステータスレジスタの参照回数を大幅に減少させ、ま
た、転送時のバッファリング処理も行わないようにした
ことによる。
CPUの負荷を軽減し、グラフィックアクセラレータへ
のコマンド転送を効率的に行い、図形描画を高速に行う
ことである。これは、従来、グラフィックアクセラレー
タへのコマンド転送時に行っていたGAステータスレジ
スタの参照はCPU負荷が大きかったが、本発明はGA
ステータスレジスタの参照回数を大幅に減少させ、ま
た、転送時のバッファリング処理も行わないようにした
ことによる。
【図1】本発明の実施の形態の構成を示す図である。
【図2】本発明の実施例を説明するための図であり、G
Aコマンド変換手段の処理の一例を模式的に示す図であ
る。
Aコマンド変換手段の処理の一例を模式的に示す図であ
る。
【図3】本発明の実施例を説明するための図であり、G
Aコマンド転送手段の処理の一例を模式的に示す図であ
る。
Aコマンド転送手段の処理の一例を模式的に示す図であ
る。
【図4】本発明の実施例を説明するための図であり、G
Aステータス情報設定手段の処理の一例を模式的に示す
図である。
Aステータス情報設定手段の処理の一例を模式的に示す
図である。
【図5】本発明の実施例を説明するための図であり、G
Aレンダリング手段の処理の一例を模式的に示す図であ
る。
Aレンダリング手段の処理の一例を模式的に示す図であ
る。
10 利用者プログラム 20 図形処理システム 21 グラフィックアクセラレータコマンド変換手段
(GAコマンド変換手段) 22 グラフィックアクセラレータコマンド転送手段
(GAコマンド転送手段) 30 グラフィックアクセラレータ(GA) 31 ファーストインファーストアウトバッファ(FI
FOバッファ) 32 グラフィックアクセラレータステータスレジスタ
(GAステータスレジスタ) 33 グラフィックアクセラレータステータス情報設定
手段(GAステータス情報設定手段) 34 グラフィックアクセラレータレンダリング手段
(GAレンダリング手段) 40 フレームバッファ(FRB) 50 図形表示装置
(GAコマンド変換手段) 22 グラフィックアクセラレータコマンド転送手段
(GAコマンド転送手段) 30 グラフィックアクセラレータ(GA) 31 ファーストインファーストアウトバッファ(FI
FOバッファ) 32 グラフィックアクセラレータステータスレジスタ
(GAステータスレジスタ) 33 グラフィックアクセラレータステータス情報設定
手段(GAステータス情報設定手段) 34 グラフィックアクセラレータレンダリング手段
(GAレンダリング手段) 40 フレームバッファ(FRB) 50 図形表示装置
Claims (3)
- 【請求項1】CPU側からグラフィックアクセラレータ
に描画のためのコマンド及び/又はパラメータを転送し
て表示画面上に表示出力する図形描画処理システムにお
いて、 前記CPUから前記グラフィックアクセラレータが具備
するファーストインファーストアウトバッファ(「FI
FOバッファ」という)にコマンド及び/又はパラメー
タの転送を行う際に、前記グラフィックアクセラレータ
側から前記CPUに前記FIFOバッファがフル状態で
あることを示すハードウェア割り込みが発生されるまで
は、前記CPUは前記グラフィックアクセラレータの状
態を示すステータスレジスタの参照を行うことなく、前
記コマンド及び/又はパラメータを前記FIFOバッフ
ァに転送することを特徴とする図形描画処理方式。 - 【請求項2】前記CPUから前記FIFOバッファにコ
マンド及び/又はパラメータ情報の転送中に、前記グラ
フィックアクセラレータ側から前記CPUに前記FIF
Oバッファがフル状態であることを示すハードウェア割
り込みが通知された際に、前記転送を中断し、その後、
転送を再開する際に前記CPUは前記グラフィックアク
セラレータの状態を示すステータスレジスタの参照を行
い、前記FIFOバッファがフルでないことを確認した
時にコマンド及び/又はパラメータの転送を行う、こと
を特徴とする請求項1記載の図形描画処理方式。 - 【請求項3】利用者プログラムから指示された図形コマ
ンドから図形の描画等を行い、中央処理装置とは別に、
図形描画処理を高速に行うために、1又は複数のプロセ
ッサとメモリを含むグラフィックアクセラレータを備
え、該グラフィックアクセラレータを使用して図形描画
処理を行う図形処理システムにおいて、 利用者プログラムから図形コマンドを入力し、該図形コ
マンドから、グラフィックアクセラレータが具備するフ
ァーストインファーストアウトバッファ(「FIFOバ
ッファ」という)へ転送するグラフィックアクセラレー
タコマンドを生成するグラフィックアクセラレータコマ
ンド変換手段と、 前記グラフィックアクセラレータコマンド変換手段によ
って生成されたグラフィックアクセラレータコマンドを
前記FIFOバッファへ転送し、前記FIFOバッファ
がフルとなった時のハードウェア割り込み通知を受けて
該コマンドの転送を中断すると共に、再び転送を行う際
に、グラフィックアクセラレータステータスレジスタを
参照し、該グラフィックアクセラレータステータスレジ
スタが前記FIFOバッファがフルであることを示す状
態である場合にはフルでなくなるまで転送を待ち合わ
せ、該グラフィックアクセラレータステータスレジスタ
が前記FIFOバッファがフルでないことを示す時には
前記コマンドの転送を行うグラフィックアクセラレータ
コマンド転送手段と、を有し、 グラフィックアクセラレータは、 前記FIFOバッファがフルになったときに、グラフィ
ックアクセラレータステータスレジスタをフル状態に設
定するとともに、前記中央処理装置側にハードウェア割
り込みを上げ、 前記FIFOバッファがフルでなくなった時にグラフィ
ックアクセラレータステータスレジスタを非フル状態に
設定するファーストインファーストアウトステータス情
報設定手段と、 前記FIFOバッファからグラフィックアクセラレータ
コマンドを取り出し、該コマンドからフレームバッファ
上の描画イメージを該フレームバッファに設定するグラ
フィックアクセラレータレンダリング手段と、 を有し、 前記グラフィックアクセラレータステータスレジスタの
参照回数の減少させたことを特徴とする図形描画処理方
式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP12270796A JPH09288559A (ja) | 1996-04-19 | 1996-04-19 | 図形描画処理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP12270796A JPH09288559A (ja) | 1996-04-19 | 1996-04-19 | 図形描画処理方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09288559A true JPH09288559A (ja) | 1997-11-04 |
Family
ID=14842624
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP12270796A Pending JPH09288559A (ja) | 1996-04-19 | 1996-04-19 | 図形描画処理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH09288559A (ja) |
-
1996
- 1996-04-19 JP JP12270796A patent/JPH09288559A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8004533B2 (en) | Graphics input command stream scheduling method and apparatus | |
| JP3218029B2 (ja) | グラフィックス・システム、グラフィックス・オペレーションを実行する方法及びコンピュータ読取り可能媒体 | |
| US8269780B2 (en) | Batching graphics operations with time stamp tracking | |
| US7583268B2 (en) | Graphics pipeline precise interrupt method and apparatus | |
| US20070103475A1 (en) | Interruptible GPU and method for processing multiple contexts and runlists | |
| JPH05342084A (ja) | データ記憶装置及びデータ記憶方法 | |
| CN100382033C (zh) | 计算机系统 | |
| JPH09288559A (ja) | 図形描画処理方式 | |
| JP2768352B2 (ja) | 図形描画処理システム | |
| WO1999040518A1 (en) | Method and apparatus to synchronize graphics rendering and display | |
| US20060082580A1 (en) | Method and apparatus for triggering frame updates | |
| JP3826942B2 (ja) | 描画命令のフックを利用した画像の転送 | |
| JP2667864B2 (ja) | データ処理装置 | |
| US8694697B1 (en) | Rescindable instruction dispatcher | |
| JP3077687B2 (ja) | データ転送方法及び画像処理装置 | |
| JP2002342301A (ja) | コプロセッサを備えたマイクロコンピュータ | |
| JPH07306946A (ja) | トランザクション合成による並行読み取り処理 | |
| JPH08320924A (ja) | 図形処理システム | |
| JP4641018B2 (ja) | 画像取込装置およびそれを備えた画像表示装置 | |
| JP2549410B2 (ja) | 主記憶参照順序制御方式 | |
| JP2830239B2 (ja) | 入力表示制御装置 | |
| CN119067833A (zh) | Gpu软硬件模块及gpu图形显示缓冲区交换同步方法 | |
| JPH0495153A (ja) | データ処理装置における非同期処理の同期化方式 | |
| JPS61156454A (ja) | デ−タ転送制御装置 | |
| JP2002351658A (ja) | 演算処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19990817 |