JP3564327B2 - 図形処理装置 - Google Patents
図形処理装置 Download PDFInfo
- Publication number
- JP3564327B2 JP3564327B2 JP16596099A JP16596099A JP3564327B2 JP 3564327 B2 JP3564327 B2 JP 3564327B2 JP 16596099 A JP16596099 A JP 16596099A JP 16596099 A JP16596099 A JP 16596099A JP 3564327 B2 JP3564327 B2 JP 3564327B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- geometric
- load
- drawing instruction
- geometric operation
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Multi Processors (AREA)
- Image Processing (AREA)
Description
【発明の属する技術分野】
本発明は、コンピュータグラフィックスやCAD等の図形処理に用いられ、複数のプロセッサを直列に結合したパイプライン構造の図形処理装置に関する。
【0002】
【従来の技術】
コンピュータグラフィックスやCAD等の図形処理に用いられるコンピュータの性能は、主プロセッサやメモリ等からなるホスト側の性能と、三次元図形処理に特有の座標変換・クリッピング・光源計算等の幾何演算や、幾何演算結果により実際の描画処理を行うグラフィックスサブシステムの性能との2つの要素に左右される。
【0003】
ここで、図4は、従来技術による三次元図形処理装置の構成を示すブロック図である。図において、1はホストコンピュータであり、ホストコンピュータ1上で実行されるアプリケーションプログラム3、グラフィックスサブシステム2を制御するデバイスドライバ4を実行する主プロセッサ8を備えている。2はグラフィックスサブシステムであり、グラフィックスサブシステム内で幾何演算処理を実行する副プロセッサ5、幾何演算処理結果に基づいて図形描画を実行する描画処理部6、描画結果が格納されるメモリであるフレームバッファ7を備えている。
【0004】
図形描画指示は、アプリケーションプログラム3からデバイスドライバ4に対して出力される。デバイスドライバ4は、アプリケーションプログラム3からの指示に対応するグラフィックスサブシステム2への描画指示を出力する。グラフィックスサブシステム2に入力された描画指示は、副プロセッサ5で幾何演算処理され、副プロセッサ5から描画処理部6に描画指示が出力される。最後に描画処理部6で最終的な図形描画処理が実行され、結果がフレームバッファ7に書き込まれる。
【0005】
【発明が解決しようとする課題】
上述したホストコンピュータ1およびグラフィックスサブシステム2(2要素)は、各々が技術の進歩により性能向上していくが、コンピュータ全体での性能としては、2つのうち低い性能を持つ方でシステム性能が決定されてしまい、ハードウェア資源が効率的に活かされない。近年、特に、主プロセッサ8は、短い周期で製品開発がなされ、性能向上が著しい。そのため、従来技術では、新規に性能向上した主プロセッサ8を搭載したハードウェアを用いたとしても、総合的な性能がグラフィックスサブシステム性能で制限されるという問題があった。
【0006】
この発明は上述した事情に鑑みてなされたもので、図形処理実行時の負荷状況に応じて処理を分散することで、図形処理性能を向上させることができる図形処理装置を提供することを目的とする。
【0007】
【課題を解決するための手段】
上述した問題点を解決するために、請求項1記載の発明では、複数のプロセッサを直列に結合し、所定のプロセッサで幾何演算処理を実行するパイプライン構造の図形処理装置において、前記複数のプロセッサの負荷状況を判定する負荷状況判定処理手段を具備し、前記負荷状況判定処理手段により判定される負荷状況が、高負荷時のとき、通常は幾何演算処理を行わないプロセッサが、前記所定のプロセッサで実行される幾何演算処理の一部を代替実行することを特徴とする。
【0008】
また、請求項2記載の発明では、請求項1記載の図形処理装置において、前記所定のプロセッサは、高負荷時において、通常は幾何演算処理を行わないプロセッサが前記幾何演算処理の一部を代替実行する場合、残りの幾何演算処理を実行するように制御されることを特徴とする。
【0009】
また、請求項3記載の発明では、請求項1記載の図形処理装置において、前記複数のプロセッサの負荷状況を格納する負荷状況格納手段を具備することを特徴とする。
【0010】
また、請求項4記載の発明では、請求項1から請求項3のいずれかに記載の図形処理装置において、前記複数のプロセッサにおいて、幾何演算処理を実行するプロセッサは実際の描画処理を行うグラフィックサブプロセッサであり、通常は幾何演算処理を行わないプロセッサは、前記グラフィックサブプロセッサを制御するホストコンピュータであることを特徴とする。
【0011】
この発明では、複数のプロセッサを直列に結合したパイプライン構造の図形処理装置における幾何演算処理のうち、負荷状況判定処理手段により判定された、幾何演算処理を実行するプロセッサの負荷に応じて、幾何演算処理の一部を負荷の軽い側のプロセッサの幾何演算処理手段で実行することで、最適な図形処理性能を実現することができることが可能となる。
【0012】
【発明の実施の形態】
以下、図面を用いて本発明の実施の形態を説明する。
A.実施形態の構成
図1は、本発明の実施形態による三次元図形処理装置の構成を示すブロック図である。なお、図4に対応する部分には同一の符号を付けて説明を省略する。図において、デバイスドライバ4は、負荷状況判定処理手段21および幾何演算処理手段22を備えている。負荷状況判定処理手段21は、グラフィックスサブシステム2の負荷状況に応じて幾何演算処理をホストコンピュータ1側で分担するか否かを決定する。ドライバ内の幾何演算処理手段22は、負荷状況判定処理手段21によりグラフィックサブシステム2の負荷が高いと判断された場合、従来、グラフィックスサブシステム2で全て実行していた幾何演算処理のうち、分担可能な一部を実行する。
【0013】
次に、副プロセッサ5は、幾何演算処理手段23および幾何演算処理手段24を備えている。幾何演算処理手段23および幾何演算処理手段24は、グラフィックサブシステム2の負荷が低く、当該システムで十分に全ての幾何演算処理を処理することができる場合、ホストコンピュータ1で分担可能であるか否かに拘わらず、幾何演算処理を実行する。また、グラフィックサブシステム2の負荷が高く、ホストコンピュータ1で幾何演算処理が分担可能である場合、幾何演算処理手段23は、幾何演算処理を実行しない。これに対して、幾何演算処理手段24は、ホストコンピュータ1で分担不可能な幾何演算処理を実行する。なお、図中の矢印は、各部間での図形描画指示の流れを示している。
【0014】
図1において、デバイスドライバ4に入力された描画指示は、負荷状況判定処理手段21によって、デバイスドライバ4内の幾何演算処理手段22もしくは副プロセッサ5内の幾何演算処理手段23に分配される。幾何演算処理手段23が描画指示を受けた場合には、従来、副プロセッサ5で実行していたのと同じ処理が幾何演算処理手段23および幾何演算処理手段24で実行され、描画処理部6へ描画指示が出力される。一方、幾何演算処理手段22が描画指示を受けた場合には、幾何演算処理の一部が幾何演算処理手段22で処理されるとともに、幾何演算処理手段23を経由せずに幾何演算処理手段24に描画指示が出力され、幾何演算処理手段24において、ホストコンピュータ1で分担不可能な幾何演算処理が実行され、その後、描画処理部6に描画指示が出力される。
【0015】
次に、図2は、本実施形態による負荷判定処理方法を説明するための機能ブロック図である。なお、図1に対応する部分には同一の符号を付けて説明を省略する。図2において、描画指示格納領域31は、デバイスドライバ4からの描画指示が書き込まれる領域である。描画指示格納領域32は、描画指示格納領域31と同様に描画指示が書き込まれる領域である。描画指示入力FIFOバッファ33は、描画指示格納領域31または描画指示格納領域32に格納された描画指示を幾何演算処理手段23以降に供給するためのバッファである。負荷状況格納領域34は、グラフィックスサブシステム2の負荷状況を、ホストコンピュータ1が受け取るための領域である。
【0016】
デバイスドライバ4は、まず、描画指示格納領域31に描画指示を書き込む。描画指示格納領域31が一杯になると、描画指示格納領域31から描画指示入力FIFOバッファ33に対して描画指示のDMA転送が開始される。描画指示入力FIFOバッファ33は、DMAを用いて描画指示格納領域31に書き込まれた描画指示を読み込み、幾何演算処理手段23以降の手段に対して出力する。描画指示入力FIFOバッファ33が描画指示格納領域31から描画指示を読み込開始する時、副プロセッサ5は、描画指示をDMA転送によって入力中であることを負荷状況格納領域34に通知する。描画指示格納領域31からの描画指示を全て読み込んだ後、副プロセッサ5は、描画指示のDMA転送による入力が終了したということを負荷状況格納領域34に通知する。デバイスドライバ4は、副プロセッサ5の負荷状況の判別を、負荷状況格納領域34に書き込まれた副プロセッサ5の状況を読み取ることにより、副プロセッサ5の負荷状況を判別し、該負荷状況に応じた描画指示を描画指示格納領域32に書き込む。
【0017】
描画指示格納領域32が一杯になると、デバイスドライバ4は、描画指示格納領域31中の描画指示の副プロセッサ5への入力が終了していなければ、終了するまで待ち合わせる。その後、描画指示格納領域32の描画指示が描画指示入力FIFOバッファ33に対してDMA転送される。以降は、描画指示格納領域31と描画指示格納領域32との役割が交代し、描画指示格納領域32中の描画指示をDMA転送中に、デバイスドライバ4が負荷状況格納領域34中の情報に従って、副プロセッサ5の負荷状況に応じた描画指示を描画指示格納領域31に書き込む。
【0018】
上述した処理において、ホストコンピュータ1においては、描画指示格納領域31または32には、図1に示す負荷状況判定処理手段21によりグラフィックスサブシステム2の負荷が高いと判断された場合には、幾何演算処理手段22による幾何演算処理後の描画指示が書き込まれ、負荷状況判定処理手段21によりグラフィックスサブシステム2の負荷が低いと判断された場合には、未処理の描画指示が書き込まれる。そして、グラフィックサブシステム2の副プロセッサ5においては、描画指示入力FIFOバッファ33から描画指示を後段へ送出する際に、グラフィックスサブシステム2の負荷が高いと判断された場合には、幾何演算処理手段23を通さずに、幾何演算処理手段24へ供給する。
【0019】
B.実施例の動作
次に、図3に示すフローチャートを参照して本実施例による負荷判定処理方法について詳細に説明する。デバイスドライバ4に描画指示が入力されると、まず、ステップS40において、グラフィックスサブシステム2の負荷が高いか否か、すなわち現在の描画指示を副プロセッサ5が即時に実行できるか否かが判別される。そして、副プロセッサ5で即時実行可能の場合には、ステップS41で、グラフィックスサブシステム2に描画指示を出力し、ステップS45で、幾何演算処理手段23で幾何演算処理を実行した後、ステップS46で、幾何演算処理手段24で幾何演算処理を実行する。
【0020】
一方、副プロセッサ5で即時実行不可能の場合には、ステップS42において、幾何演算処理手段22で、グラフィックスサブシステム2で全て実行していた幾何演算処理のうち、分担可能な一部の幾何演算処理を実行する。次に、グラフィックスサブシステム2で描画継続要であるか否かが判別される。そして、それ以上処理を続行する必要なしと判定した場合には、アプリケーションプログラム3からの描画指示は、グラフィックスシステム2に出力されることなく、当該処理を終了する。一方、グラフィックスサブシステム2で描画継続要であると判定された場合には、ステップS44において、グラフィックスサブシステム2に描画指示を出力し、ステップS46で、幾何演算処理手段24で、分配され、ホストコンピュータ1で分担不可能な部分の幾何演算処理を実行する。
【0021】
【発明の効果】
以上説明したように、本発明によれば、複数のプロセッサを直列に結合したパイプライン構造の図形処理装置における幾何演算処理のうち、負荷状況判定処理手段により判定された、幾何演算処理を実行するプロセッサの負荷に応じて、幾何演算処理の一部を負荷の軽い側のプロセッサの幾何演算処理手段で実行するようにしたので、ホストコンピュータの性能、もしくはグラフィックスサブシステム側プロセッサの性能のいずれか一方でも向上した場合、図形処理を行うコンピュータ全体の性能を向上させることができるという利点が得られる。
【図面の簡単な説明】
【図1】本発明の実施形態による三次元図形処理装置の構成を示すブロック図である。
【図2】本実施形態による負荷判定処理方法を説明するための機能ブロック図である。
【図3】本実施形態による負荷判定処理方法を説明するためのフローチャートである。
【図4】従来技術による三次元図形処理装置の構成を示すブロック図である。
【符号の説明】
1 ホストコンピュータ(複数のプロセッサ)
2 グラフィックスサブシステム(複数のプロセッサ)
3 アプリケーションプログラム
4 デバイスドライバ
5 副プロセッサ
6 描画処理部
7 フレームバッファ
8 主プロセッサ
21 負荷状況判定処理手段
22 幾何演算処理手段
23 幾何演算処理手段(第1の幾何演算処理手段)
24 幾何演算処理手段(第2の幾何演算処理手段)
31 描画指示格納領域(複数の記憶手段)
32 描画指示格納領域(複数の記憶手段)
33 描画指示入力FIFOバッファ(供給手段)
34 負荷状況格納領域
Claims (4)
- 複数のプロセッサを直列に結合し、所定のプロセッサで幾何演算処理を実行するパイプライン構造の図形処理装置において、
前記複数のプロセッサの負荷状況を判定する負荷状況判定処理手段を具備し、
前記負荷状況判定処理手段により判定される負荷状況が、高負荷時のとき、通常は幾何演算処理を行わないプロセッサが、前記所定のプロセッサで実行される幾何演算処理の一部を代替実行する
ことを特徴とする図形処理装置。 - 前記所定のプロセッサは、
高負荷時において、通常は幾何演算処理を行わないプロセッサが前記幾何演算処理の一部を代替実行する場合、残りの幾何演算処理を実行するように制御される
ことを特徴とする請求項1記載の図形処理装置。 - 前記複数のプロセッサの負荷状況を格納する負荷状況格納手段を具備することを特徴とする請求項1記載の図形処理装置。
- 前記複数のプロセッサにおいて、幾何演算処理を実行するプロセッサは実際の描画処理を行うグラフィックサブプロセッサであり、通常は幾何演算処理を行わないプロセッサは、前記グラフィックサブプロセッサを制御するホストコンピュータである
ことを特徴とする請求項1から請求項3のいずれかに記載の図形処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16596099A JP3564327B2 (ja) | 1999-06-11 | 1999-06-11 | 図形処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16596099A JP3564327B2 (ja) | 1999-06-11 | 1999-06-11 | 図形処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000353152A JP2000353152A (ja) | 2000-12-19 |
JP3564327B2 true JP3564327B2 (ja) | 2004-09-08 |
Family
ID=15822296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16596099A Expired - Fee Related JP3564327B2 (ja) | 1999-06-11 | 1999-06-11 | 図形処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3564327B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4522292B2 (ja) * | 2005-03-09 | 2010-08-11 | キヤノン株式会社 | 画像処理装置及び画像処理方法 |
JP2008276407A (ja) | 2007-04-26 | 2008-11-13 | Canon Inc | 画像処理装置及びその方法 |
JP5444888B2 (ja) * | 2009-06-30 | 2014-03-19 | 株式会社リコー | 画像処理装置、描画制御方法及び描画制御プログラム |
-
1999
- 1999-06-11 JP JP16596099A patent/JP3564327B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000353152A (ja) | 2000-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH08171494A (ja) | マルチスレッドプロセッサ | |
JP5776688B2 (ja) | 情報処理装置及びタスク切り替え方法 | |
JPS6258341A (ja) | 入出力割込処理方式 | |
JPH01150963A (ja) | 計算機におけるipl方法 | |
JPH09212371A (ja) | レジスタ退避及び復元システム | |
US7760205B2 (en) | Information processing apparatus for efficient image processing | |
JP4693074B2 (ja) | 外観検査装置及び外観検査方法 | |
JP3564327B2 (ja) | 図形処理装置 | |
US20220171630A1 (en) | Apparatus and method | |
JP2007087244A (ja) | コプロセッサ及びコンピュータシステム | |
KR102535532B1 (ko) | 데이터 절감 장치, 데이터 절감 방법 및 데이터 절감 장치를 포함하는 시스템 | |
US8019978B1 (en) | Unit status reporting protocol | |
JP2885210B2 (ja) | 図形処理システム | |
JPS6158861B2 (ja) | ||
JPS6159539A (ja) | サブプロセツサのレジスタ退避/復帰方式 | |
JP3123425B2 (ja) | 割り込み負荷分散装置 | |
JPH0764960A (ja) | データフロープロセサ | |
CN116594745A (zh) | 任务执行方法、系统、芯片及电子设备 | |
JP3450549B2 (ja) | 画像処理方法及び装置 | |
JP2954006B2 (ja) | エミュレーション装置およびエミュレーション方法 | |
JPS59172060A (ja) | 多重処理システムの制御方式 | |
JP2006195860A (ja) | 情報処理装置 | |
JPS6389963A (ja) | マルチプロセサシステムにおける並列イニシヤル処理方式 | |
JPH05324587A (ja) | 高速パイプライン処理装置 | |
JPH01140272A (ja) | 画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040217 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040415 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040525 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040607 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S633 | Written request for registration of reclamation of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313633 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080611 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090611 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100611 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100611 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110611 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120611 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120611 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130611 Year of fee payment: 9 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |