JP2002207711A - グラフィックス負荷分散処理装置 - Google Patents

グラフィックス負荷分散処理装置

Info

Publication number
JP2002207711A
JP2002207711A JP2001003143A JP2001003143A JP2002207711A JP 2002207711 A JP2002207711 A JP 2002207711A JP 2001003143 A JP2001003143 A JP 2001003143A JP 2001003143 A JP2001003143 A JP 2001003143A JP 2002207711 A JP2002207711 A JP 2002207711A
Authority
JP
Japan
Prior art keywords
processing
unit
drawing data
command
load distribution
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
JP2001003143A
Other languages
English (en)
Inventor
Zenichi Takeji
善一 武次
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.)
NEC Engineering Ltd
Original Assignee
NEC Engineering 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 NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP2001003143A priority Critical patent/JP2002207711A/ja
Publication of JP2002207711A publication Critical patent/JP2002207711A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Image Generation (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 装置全体のスループット性能を向上可能なグ
ラフィックス負荷分散処理装置を提供する。 【解決手段】 負荷分散処理部2はホストバス100か
ら転送されてきた描画データをローカルバス201,2
02を介して、並列処理実行部3の処理部31−1〜3
1−m,32−1〜32−nから適当な処理部を決定し
て転送する。負荷分散処理部2は描画データの転送先を
任意のタイミングで切換えるためのコマンドを発行す
る。並列処理実行部3は負荷分散処理部2から転送され
てきた描画データにしたがってジオメトリ処理を行う。
処理結果選択部4は並列処理実行部3でジオメトリ処理
された描画データをローカルバス301,302を介し
て受取り、ローカルバス301,302からきた描画デ
ータのいずれかをレンダリングハードウェア5へ送出す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はグラフィックス負荷
分散処理装置に関し、特に並列実行可能なマルチプロセ
ッサを備え、高品位なグラフィックスをリアルタイムに
表示するグラフィックス並列処理装置に関する。
【0002】
【従来の技術】並列実行可能なマルチプロセッサを備え
たグラフィックス処理は、パーソナル・コンピュータ、
ワークステーション、ゲーム装置に用いられるコンピュ
ータ・グラフィックス・システムにおいて高速処理を実
現するために用いられている。
【0003】特に、3次元グラフィックス・システムで
は、複雑な描画データの組み合わせで構成されており、
極端にデータ長の違う描画データが混在したり、描画順
序を保証しなければならないという制限を要求されてい
る。
【0004】マルチプロセッサで効率的に並列処理する
ために描画データを上手く分割する方法については、特
開平10−240700号公報に、3次元グラフィック
ス描画プログラムをマルチプロセッサ構成の描画処理装
置で処理する際の負荷分散処理を、2段階に分けてホス
トコンピュータと描画処理装置とで行う方法が記載され
ている。
【0005】上記の描画処理装置の一例を図10に示
す。図10において、描画処理装置6はホスト1に接続
されており、入力FIFO(First In Fir
stOut)61,64,65と、負荷分散制御部62
と、バスアービタ63と、描画演算プロセッサ66,6
7と、出力FIFO68,69と、レンダリングハード
ウェア70とから構成されている。
【0006】また、ホスト1はCPU(中央処理装置)
11とメモリ12とキーボード13とを備えており、こ
れらホスト1と描画処理装置6とによって3次元グラフ
ィックス描画処理を行う際の負荷分散処理を2段階に分
けて行っている。
【0007】
【発明が解決しようとする課題】上述した従来のグラフ
ィックス並列処理装置では、マルチプロセッサ構成で処
理を実行する際のプロセッサ決定時の負荷分散を、効率
よく分配することができなかった場合、マルチプロセッ
サ構成で処理を実行した後、処理部の中から1つの処理
部を選択する時に無駄な待ち時間が発生しているので、
その無駄な待ち時間が装置全体のスループット性能を悪
化させてしまうという問題がある。
【0008】また、描画コマンドを上手く分割する技術
として、各プロセッサの前段に入力FIFOを備え、描
画コマンドを送出する処理部を決定する時に入力FIF
Oの空き状態を参照する方法で解決しているが、この方
法では描画データの数だけを判断し、描画データに設定
されているコマンド内容によって異なる処理時間を考慮
していないため、描画データの数と描画データの処理時
間とが異なるという問題がある。
【0009】さらに、並列処理実行部と処理結果選択部
との間を一つのローカルバスで制御すると、各処理部で
処理結果選択部への描画データの転送準備ができても、
処理結果選択部へ描画データを転送できないという状態
が増加するため、各処理部での処理ができなくなってし
まい、ついには装置全体のスループット性能を低下させ
てしまうので、並列処理実行部内の処理部の数が増加す
ると、並列処理実行部と処理結果選択部との間のローカ
ルバスの負担が増加するという問題がある。
【0010】そこで、本発明の目的は上記の問題点を解
消し、装置全体のスループット性能を向上させることが
できるグラフィックス負荷分散処理装置を提供すること
にある。
【0011】
【課題を解決するための手段】本発明によるグラフィッ
クス負荷分散処理装置は、複数の処理手段からなりかつ
マルチプロセッサ構成の並列処理実行手段と、前記複数
の処理手段のいずれかを選択する負荷分散処理手段と、
前記並列処理実行手段内に描画データをどれだけ送出し
たかを予想する手段と、複数の入力用FIFO(Fir
st In First Out)メモリを持ちかつ前
記複数の処理手段各々の処理結果のいずれかを選択する
処理結果選択手段と、前記処理結果選択手段の前記複数
の入力用FIFOメモリが受信可能か否かの情報を取得
する手段とを備え、前記負荷分散処理手段で前記複数の
処理手段のうちの任意の処理手段への切換えのタイミン
グを示すコマンドを追加するよう構成している。
【0012】すなわち、本発明のグラフィックス負荷分
散処理装置は、ホストコンピュータから描画データを負
荷分散処理部に転送し、負荷分散処理部で適切なマルチ
プロセッサ構成の並列処理実行部に転送し、並列処理実
行部内の各処理部でジオメトリ処理(座標変換、光源計
算、クリッピング等)を行い、処理結果選択部を介して
描画処理を行うレンダリングハードウェア部に転送する
3次元グラフィックス処理装置に関するものである。
【0013】本発明のグラフィックス負荷分散処理装置
では、この3次元グラフィックス処理装置において、ホ
ストコンピュータで3次元グラフィックス描画プログラ
ムから3次元グラフィックスコマンドを受取って3次元
グラフィックスコマンドの性質によって変換した描画デ
ータを負荷分散処理部にバスを介して転送を行う手段
と、描画データを処理部内の描画演算プロセッサの稼動
状況を予測して最適な処理部へ分配して最適に分割する
手段と、描画データを処理部にバスを介して転送を行う
手段と、複数のバスを介してマルチプロセッサ構成の並
列処理実行部から転送されてくる複数の描画データの中
からいずれかを決定する手段と、負荷分散処理部と並列
処理実行部との間及び並列処理実行部と処理結果選択部
との間のバス状況によるデータ転送ロスを軽減するため
のFIFOと、負荷分散処理部で決定した処理部の情報
を蓄積する手段とを有している。
【0014】本発明のグラフィックス負荷分散処理装置
では、上記のように構成し、マルチプロセッサ構成の処
理部の処理負荷を予測し、入力される描画データを送出
する並列処理実行部を決定し、各処理部の使用頻度を均
等にし、使用効率を最大にする(待機時間をなくす)よ
うに分配し、各処理部の中から1つの処理部を選択して
処理結果選択部へ描画データを送出させることによっ
て、グラフィックス並列処理装置全体のスループット性
能の向上が可能となる。
【0015】つまり、マルチプロセッサ構成の並列処理
実行部で極端にデータ長の違う描画データの混在のため
に発生する処理部間での待機時間を削減することによっ
て、グラフィックス並列処理装置全体のスループット性
能を向上させることが可能となる。
【0016】
【発明の実施の形態】次に、本発明の一実施例について
図面を参照して説明する。図1は本発明の一実施例によ
るグラフィックス並列処理装置の構成を示すブロック図
である。図1において、本発明の一実施例によるグラフ
ィックス並列処理装置はホストバス100と、負荷分散
処理部2と、ローカルバス201,202,301,3
02,401と、並列処理実行部3と、処理結果選択部
4とから構成され、このグラフィックス並列処理装置は
ホストバス100を介してホスト1に接続されている。
尚、ホスト1はCPU(中央処理装置)11とメモリ1
2とキーボード13とを備えている。
【0017】負荷分散処理部2は入力FIFO部21
と、コマンド分割部22と、出力FIFO部23,24
と、出力バス制御部25,26とから構成されている。
また、負荷分散処理部2はホストバス100とローカル
バス201,202とを介して並列処理実行部3に、ロ
ーカルバス401を介して処理結果選択部4にそれぞれ
接続され、ホストバス100から転送されてきた描画デ
ータをマルチプロセッサ構成の並列処理実行部3の中か
ら任意の処理部を決定し、その処理部に描画データを転
送する機能と、描画データを転送する処理部を任意のタ
イミングで切換えるためのコマンドを発行する機能と、
選択した処理部の決定情報を転送する機能とを有してい
る。
【0018】並列処理実行部3は複数の処理部31−1
〜31−m,32−1〜32−nとから構成され、処理
部31−1〜31−m,32−1〜32−n各々は入力
FIFO部311−1〜311−m,321−1〜32
1−n(入力FIFO部311−2〜311−m,32
1−1〜321−nは図示せず)と、描画演算プロセッ
サ312−1〜312−m,322−1〜322−n
(描画演算プロセッサ312−2〜312−m,322
−1〜322−nは図示せず)と、出力FIFO部31
3−1〜313−m,323−1〜323−n(出力F
IFO部313−2〜313−m,323−1〜323
−nは図示せず)と、パイプ認識部314−1〜314
−m,324−1〜324−n(パイプ認識部314−
2〜314−m,324−1〜324−nは図示せず)
と、出力バス制御部315−1〜315−m,325−
1〜325−n(出力バス制御部315−2〜315−
m,325−1〜325−nは図示せず)とから構成さ
れている。
【0019】また、並列処理実行部3はローカルバス3
01,302を介して処理結果選択部3に接続され、負
荷分散処理部2から転送されてきた描画データにしたが
ってジオメトリ処理(座標変換、光源計算、クリッピン
グ等)を行う機能を有している。
【0020】処理結果選択部4は入力FIFO部41,
42と、命令選択部43とから構成されている。また、
処理結果選択部4はレンダリングハードウェア5と接続
され、並列処理実行部3でジオメトリ処理された描画デ
ータを受取り、ローカルバス301,302を介して転
送されてきた描画データの描画順序を維持して送出する
機能を有している。
【0021】負荷分散処理部2の入力FIFO部21は
ホストバス100とコマンド分割部22とに接続され、
ホストバス100を制御し、ホストバス100と負荷分
散処理部2との間での転送ロスを軽減し、転送されてく
る描画データを保持する機能を有している。
【0022】コマンド分割部22は出力FIFO部2
3,24と処理結果選択部4内の命令選択部43とに接
続され、転送されてくる描画データをマルチプロセッサ
構成の並列処理実行部3の負荷状況を予測し、効率よく
並列処理実行部3へ分配する機能を有している。
【0023】出力FIFO部23は出力バス制御部25
に接続され、入力された描画データを負荷分散処理部2
内で並列処理実行部3とのデータ転送ロスをなくし、描
画データを保持する機能を有している。また、出力FI
FO部24は出力バス制御部26に接続され、入力され
た描画データを負荷分散処理部2内で並列処理実行部3
とのデータ転送ロスをなくし、描画データを保持する機
能を有している。
【0024】出力バス制御部25はローカルバス201
に接続され、出力FIFO部23から送出された描画デ
ータをローカルバス201を介して並列処理実行部3内
の処理部31−1〜31−mに転送する機能を有してい
る。また、出力バス制御部26はローカルバス202に
接続され、出力FIFO部24から送出された描画デー
タをローカルバス202を介して並列処理実行部3内の
処理部32−1〜32−nに転送する機能を有してい
る。
【0025】並列処理実行部3内の処理部31−1〜3
1−m,32−1〜32−nについては、以下、処理部
31−1を用いて説明する。処理部31−1の入力FI
FO部311−1はローカルバス201と描画演算プロ
セッサ312−1とに接続され、ローカルバス201を
制御し、ローカルバス201と処理部31−1との間で
の転送ロスを軽減し、転送されてくる描画データを保持
する機能を有している。
【0026】描画演算プロセッサ312−1は出力FI
FO部313−1に接続され、入力FIFO部311−
1から転送されてきた描画データ内の描画コマンドを識
別してジオメトリ処理を行い、その結果を出力FIFO
部313−1へ送出する機能を有している。
【0027】出力FIFO部313−1はパイプ認識部
314−1に接続され、パイプ認識部314−1へ描画
データを送出できない場合、描画データを保持し、並列
処理実行部3と処理結果選択部4との間での転送ロスを
軽減し、転送されてくる描画データを保持する機能を有
している。
【0028】パイプ認識部314−1は出力バス制御部
315−1に接続され、ローカルバス301のマスタ権
を持っているかを判断し、マスタ権を待っている場合に
出力バス制御部315−1に描画データを送出する機能
と、パイプ切換え命令がないかを識別し、切換え命令の
有無によって出力バス制御部315−1へ描画データを
転送する機能を有している。
【0029】出力バス制御部315−1はローカルバス
301に接続され、パイプ認識部314−1からの描画
データをローカルバス301を介して処理結果選択部4
に転送する機能を有している。
【0030】他の処理部31−2〜31−m,32−1
〜32−nも同様な機能を有し、処理部31−2〜31
−mはローカルバス201,301に接続され、処理部
32−1〜32−nはローカルバス202,302に接
続されている。
【0031】処理結果選択部4の入力FIFO部41は
ローカルバス301と命令選択部43とに接続され、ロ
ーカルバス301を制御し、ローカルバス301と命令
選択部43との間での転送ロスを軽減し、転送されてく
る描画データを保持する機能を有している。
【0032】入力FIFO部42はローカルバス302
と命令選択部43とに接続され、ローカルバス302を
制御し、ローカルバス302と命令選択部43との間で
の転送ロスを軽減し、転送されてくる描画データを保持
する機能を有している。
【0033】命令選択部43はレンダリングハードウェ
ア5と接続され、負荷分散処理部2から処理部31−1
〜31−m,32−1〜32−nの選択情報を入手し、
その情報に沿って、入力FIFO部41,42から転送
される描画データのどちらを後段に送出するかを選択す
る機能を有している。
【0034】図2は図1のコマンド分割部22の詳細な
構成を示すブロック図である。図2において、コマンド
分割部22はコマンド識別部221,228と、選択部
222と、カウンタテーブル223と、処理決定カウン
タ224〜227とから構成されている。
【0035】図3は図1の命令選択部43の詳細な構成
を示すブロック図である。図3において、命令選択部4
3は出力選択部431と、結果選択判断部432と、入
力FIFO433と、コマンド識別部434とから構成
されている。
【0036】図4は図2の選択部222での選択条件を
示す図である。図4において、初期状態としては処理部
(#10)31−1に対して分配されたコマンドが転送
されるものとする。ローカルバス201,202に接続
される処理部の数には特に制限はない。実際に接続でき
る数はハードウェアの物理的な制限によって限定される
ことになるが、本実施例では4個の処理部(#10)3
1−1,(#1m)31−m,(#20)32−1,
(#2n)32−nが接続された場合について以下説明
する。
【0037】この処理部nの“n”を処理部のパイプ番
号と呼ぶこととし、装置立上げ時等に予め処理部毎に全
て異なる番号が設定されているものとする。カウンタテ
ーブル223内のコマンド種別毎のカウント値もより正
確な値を入れることが望ましい。実際のカウンタ値はハ
ードウェアの物理的な制限によって限定されることにな
る。
【0038】これら図1〜図4を参照して本実施例の動
作について説明する。尚、以下の説明では処理部31−
1及びローカルバス201,301について説明する
が、他の処理部31−2〜31−m,32−1〜32−
n及びローカルバス202,302についてもその動作
は処理部31−1及びローカルバス201,301と同
様である。
【0039】負荷分散処理部2はホストバス100を介
して転送されてきた描画データをコマンド分配方法に基
づいて分割及び分配し、ローカルバス201を介して処
理部31−1へ送出する。処理部31−1は転送されて
きた描画データ内のコマンド種別を判断してジオメトリ
処理を行い、ローカルバス301でマスタ権を持った
時、ローカルバス301を介して転送されてきた描画デ
ータを処理結果選択部4へ送出する。処理結果選択部4
は転送されてきた描画データのいずれかを選択し、レン
ダリングハードウェア5へ描画データを送出する。
【0040】負荷分散処理部2はホストバス100を介
して転送されてきた描画データを受取ると、入力FIF
O部21へ描画データを送出し、コマンド分割部22が
描画データを引き取れない場合にその描画データを蓄積
する。
【0041】コマンド分割部22は入力FIFO部21
から転送されてきた描画データ内に設定されるコマンド
種別を判断し、指定される処理部31−1が接続される
出力FIFO部23へ描画コマンドを送出する。同時
に、コマンド分割部22はパイプ切換えコマンドの有無
も識別し、パイプ切換え命令がある場合に処理結果選択
部4へパイプ番号を送出する。
【0042】出力FIFO部23はローカルバス201
のバス状態に応じてコマンド分割部22から転送されて
くる描画コマンドを保持し、ローカルバス201が後段
に転送可能な時に出力バス制御部25へ送出する。出力
バス制御部25はローカルバス201を制御し、描画デ
ータを並列処理実行部3へ送出する。
【0043】並列処理実行部3はローカルバス201を
介して転送されてきた描画データを受取ると、入力FI
FO部311−1へ描画データを送出し、描画演算プロ
セッサ312−1が描画データを引き取れない場合にそ
の描画データを蓄積する。
【0044】描画演算プロセッサ312−1は入力FI
FO部311−1から転送されてきた描画データ内に設
定されるコマンド種別を判断してジオメトリ処理を行
い、処理結果の描画データを出力FIFO部313−1
へ送出する。
【0045】出力FIFO部313−1はパイプ認識部
314−1が出力バス制御部315−1への描画データ
の送出を許可していればその描画データを送出する。出
力FIFO部313−1は許可されていなければその描
画データを蓄積していく。
【0046】パイプ認識部314−1はローカルバス3
01のマスタ権を持っているかを判断し、バスのマスタ
権を持っている時、出力バス制御部315−1へ描画デ
ータを送出する。出力バス制御部315−1はローカル
バス301を制御し、描画データを処理結果選択部4へ
送出する。
【0047】処理結果選択部4はローカルバス301を
介して転送されてきた描画データを受取ると、入力FI
FO部41へ描画データを送出し、命令選択部43が描
画データを引き取れない場合にその描画データを蓄積す
る。
【0048】命令選択部43は描画データが転送されて
くると、描画データ内のコマンド種別を識別し、パイプ
切換え命令がある場合に、描画順序を維持するために、
入力FIFO部41,42のいずれかの描画データを選
択し、画面への表示を行うレンダリングハードウェア5
へ描画データを送出する。
【0049】コマンド分割部22において、入力FIF
O部21に転送されてきた描画データはコマンド識別部
221で、描画データ内のコマンドの種別から描画コマ
ンドの種類、パイプ切換え命令がないか等が識別され、
識別結果がカウンタテーブル223へ、描画データが選
択部222へそれぞれ送出される。
【0050】コマンド識別部228は出力FIFO部2
3,24からそれぞれの出力バス制御部25,26へ描
画データを転送した時に、その描画データ内のデータ種
別を識別し、その識別結果をカウンタテーブル223へ
送出する。
【0051】カウンタテーブル223ではコマンド種別
によって処理がどれくらいかかるかを予め入力してお
き、コマンド識別部221,228から転送されてきた
描画コマンドに対応する値を処理決定カウンタ224〜
227に送出する。
【0052】処理決定カウンタ224〜227はカウン
タテーブル223から転送されてきた値を基に加算及び
減算を行い、そのカウント結果を選択部222へ送出す
る。カウンタ値の加算及び減算はコマンド識別部221
で認識したコマンドに対応した値を加算し、コマンド識
別部228で認識したコマンドに対応した値を減算す
る。選択部222は処理決定カウンタ224〜227の
結果と処理結果選択部4の信号とから描画データを送出
する出力FIFO部23,24を決定する。
【0053】次に、命令選択部43において、入力FI
FO部41,42に転送されてきた描画データはコマン
ド識別部434でパイプ切換え命令の有無が判断され、
パイプ切換え命令が有った場合に、入力FIFO433
に蓄積された処理部の番号を基に入力FIFO部41,
42のいずれかの描画データが選択され、レンダリング
ハードウェア5に描画データが送出される。
【0054】結果選択判断部432は入力FIFO部4
1,42のそれぞれのFIFO空き容量と入力FIFO
433の空き容量とから論理和をとり、その結果を処理
結果選択部4の転送可能かどうかを示すFIFO空き容
量として、負荷分散処理部2へ送出する。
【0055】続いて、コマンド分割部22の選択部22
2で行う処理部31−1,31−m,32−1,32−
nのパイプを切換える動作について図1〜図4を参照し
て詳細に説明する。現在動作中の処理部を処理部(#1
0)31−1とし、これを処理部(#20)32−1に
切換えるものとする。
【0056】コマンド分割部22は処理部を切換える必
要が生じた場合、今まで描画データを転送していた処理
部(#10)31−1に対してパイプ切換えコマンドと
処理部(#20)32−1に切換えるためのパイプ番号
を転送する。また、次に転送される処理部(#20)3
2−1にも開始情報を持ったパイプ切換えコマンドを転
送し、処理部(#10)31−1の描画コマンドの転送
が終了すると、処理部(#20)32−1の描画コマン
ドを引き取るという情報を処理結果選択部4で認識でき
るようにする。
【0057】切換えタイミングの発行方法は、ホスト1
が規定の描画データ毎にプロセッサの切換えタイミング
を指示する方法と、負荷分散処理部2内部で数の多い頂
点列データを規定の頂点毎に切換えタイミングをコマン
ドに追加して指示する方法とがあるが、その切換えタイ
ミング毎にこの動作を行う。
【0058】処理結果選択部4内の結果選択判断部43
2でもつFIFO空き容量信号と、処理決定カウンタ2
24〜227の値とから、描画データを送出する処理部
31−1,31−m,32−1,32−nを決定し、結
果を処理結果選択部4内の入力FIFO433に転送す
る処理部の情報を、決定した処理部が接続されている出
力FIFO部23,24に描画データを送出する。
【0059】前回処理を行った処理部の状態値を保持し
ているレジスタが処理部(#10)31−1を示してい
る場合に処理部の切換え命令が入った描画データが転送
されてきた場合、処理部(#10)31−1の時の結果
選択判断部432から送出されるFIFO空き容量と、
処理決定カウンタ224〜227の状態とを調べる。
【0060】FIFO空き容量が既定値より少ない場合
や、処理決定カウンタ224〜227が既定値より少な
い場合を処理可能とし、両方の値が処理可能を示してい
る場合、転送されてきた描画データを対応する処理部へ
送出させる。
【0061】まず、結果選択判断部432から送出され
るFIFO空き容量がどのような状態かを調べ、空き容
量があるか判断し、“可能”な場合には処理決定カウン
タ224〜227の値を見る。
【0062】ともに“不可”の場合には、次の描画デー
タからは処理部(#20)32−1が接続される出力F
IFO部24へ描画データを送出し、処理部(#20)
32−1へ転送したことを示す状態値を入力FIFO4
33へ送出する。
【0063】また、処理決定カウンタ226の状態が
“不可”を示している場合には、処理決定カウンタ22
6の状態を調べる。可能な場合には処理部(#2n)3
2−nが接続される出力FIFO部24へ描画データを
送出し、処理部(#2n)32−nへ転送したことを示
す状態値を入力FIFO433へ送出する。
【0064】複数の処理部に同時に描画データを書込む
場合には、複数のFIFO空き容量、処理決定カウンタ
224〜227の値を参考にして、上記と同様な処理が
行われる。また、描画データの中にパイプ切換え情報が
コマンド種別に設定されている場合には上述した処理を
繰り返す。
【0065】図5は転送される描画データのフォーマッ
トの一例を示す図である。図5(a)は描画コマンド
(図形処理を必要とするコマンド、パイプ切換えコマン
ド、転送データ容量等)の情報を持つコマンド群を示
し、図5(b)はデータ設定(描画データ、パイプ切換
え先データ等)の情報を持つデータ群を示している。描
画データは描画コマンドとデータ設定とで構成され、デ
ータ設定の数は描画コマンド内の転送サイズで判断す
る。
【0066】図6及び図7は図1のコマンド分割部22
の処理動作を示すフローチャートであり、図8は図1の
命令選択部43の処理動作を示すフローチャートであ
り、図9は図2の処理決定カウンタ224〜227の処
理動作を示すフローチャートである。これら図1〜図9
を参照してコマンド分割部22と命令選択部43と処理
決定カウンタ224〜227とについてそれぞれの動作
を説明する。
【0067】負荷分散処理部2のコマンド分割部22は
入力FIFO部21に転送されてきた描画データをコマ
ンド識別部221で、描画データ内のコマンドの種別か
ら描画コマンドの種類、パイプ切換え命令がないか等を
識別し、その識別結果をカウンタテーブル223へ、描
画データを選択部222へそれぞれ送出する(図6ステ
ップS1)。
【0068】コマンド識別部228は出力FIFO部2
3,24からそれぞれの出力バス制御部25,26へ描
画データを転送した時に、その描画データ内のデータ種
別を識別し、その識別結果をカウンタテーブル223へ
送出するカウンタテーブル223ではコマンド種別によ
って処理がどれくらいかかるかを予め入力しておき、コ
マンド識別部221,228から転送されてきた描画コ
マンドに対応する値を処理決定カウンタ224〜227
に送出する(図6ステップS2)。
【0069】選択部222は処理決定カウンタ(#0〜
#3)224〜227の結果と処理結果選択部4の信号
とから描画データを送出する出力FIFO部23,24
を決定する。つまり、選択部222は処理結果選択部4
からのFIFO容量の空きはあるかを判断し(図6ステ
ップS3)、FIFO容量の空きがあれば、処理決定カ
ウンタ(#0〜#3)224〜227のカウンタ値が規
定値未満かを判断する(図6ステップS4)。
【0070】選択部222は処理決定カウンタ(#0〜
#3)224〜227のカウンタ値が規定値未満であれ
ば、パイプ切換え命令があるかどうかを判断する(図6
ステップS5)。選択部222はパイプ切換え命令がな
ければ、描画コマンドをカレント(出力FIFO部2
3,24のうちの現在使用中のFIFO)に転送する
(図6ステップS6)。
【0071】選択部222はパイプ切換え命令があれ
ば、入力FIFO部41,42のFIFO容量が空いて
いるかどうかを判断する(図6ステップS7)。選択部
222は入力FIFO部41のFIFO容量が空いてい
ると判断すると、処理決定カウンタ(#0,#1)22
4,225のうちの処理が可能な方を判断する(図6ス
テップS8)。
【0072】選択部222は処理決定カウンタ(#0)
224の処理が可能と判断すると、描画コマンドにパイ
プ切換え命令を追加し(図6ステップS9)、出力FI
FO部23及び出力バス制御部25を介して処理部(#
10)31−1へ描画コマンドを転送する(図6ステッ
プS10)。
【0073】また、選択部222は処理決定カウンタ
(#1)225の処理が可能と判断すると、描画コマン
ドにパイプ切換え命令を追加し(図6ステップS1
1)、出力FIFO部23及び出力バス制御部25を介
して処理部(#1m)31−mへ描画コマンドを転送す
る(図6ステップS12)。
【0074】さらに、選択部222は処理決定カウンタ
(#0,#1)224,225がその他の状態であれ
ば、描画コマンドをカレント(出力FIFO部23,2
4のうちの現在使用中のFIFO)に転送する(図6ス
テップS6)。
【0075】一方、選択部222は入力FIFO部42
のFIFO容量が空いていると判断すると、処理決定カ
ウンタ(#2,#3)226,227のうちの処理が可
能な方を判断する(図7ステップS13)。
【0076】選択部222は処理決定カウンタ(#2)
226の処理が可能と判断すると、描画コマンドにパイ
プ切換え命令を追加し(図7ステップS14)、出力F
IFO部24及び出力バス制御部26を介して処理部
(#20)32−1へ描画コマンドを転送する(図7ス
テップS15)。
【0077】また、選択部222は処理決定カウンタ
(#3)227の処理が可能と判断すると、描画コマン
ドにパイプ切換え命令を追加し(図7ステップS1
6)、出力FIFO部24及び出力バス制御部26を介
して処理部(#2n)32−nへ描画コマンドを転送す
る(図7ステップS17)。
【0078】さらに、選択部222は処理決定カウンタ
(#2,#3)226,227がその他の状態であれ
ば、描画コマンドをカレント(出力FIFO部23,2
4のうちの現在使用中のFIFO)に転送する(図6ス
テップS6)。
【0079】処理結果選択部4の命令選択部43は入力
FIFO部41,42に転送されてきた描画データをコ
マンド識別部434でコマンド種別を判別し(図8ステ
ップS21)、パイプ切換え命令があるかどうかを判別
する(図8ステップS22)。命令選択部43はパイプ
切換え命令がなければ、同じ入力FIFO部41,42
の描画データを選択してレンダリングハードウェア5に
出力する(図8ステップS23)。
【0080】また、命令選択部43はパイプ切換え命令
があれば、入力FIFO433が入力FIFO部41を
選択していれば(図8ステップS24)、入力FIFO
部41の描画データを選択してレンダリングハードウェ
ア5に出力する(図8ステップS25)。
【0081】さらに、命令選択部43は入力FIFO4
33が入力FIFO部42を選択していれば(図8ステ
ップS24)、入力FIFO部42の描画データを選択
してレンダリングハードウェア5に出力する(図8ステ
ップS26)。
【0082】負荷分散処理部2のコマンド分割部22に
おいて、処理決定カウンタ224〜227はカウンタテ
ーブル223から転送されてきた値を基に加算及び減算
を行い、そのカウント結果を選択部222へ送出する。
カウンタ値の加算及び減算はコマンド識別部221で認
識したコマンドに対応した値を加算し、コマンド識別部
228で認識したコマンドに対応した値を減算する。
【0083】これら処理決定カウンタ224〜227に
おいては入力FIFO部21に転送されてきた描画デー
タのコマンド種別が判別されると(図9ステップS3
1)、カウンタテーブル223のカウンタ値を読込む
(図9ステップS32)。
【0084】処理決定カウンタ224〜227は加算の
カウンタ値がセットされ(図9ステップS33)、減算
のカウンタ値がセットされていれば(図9ステップS3
4)、加算減算処理を行い(図9ステップS35)、そ
のカウンタ結果を出力する(図9ステップS37)。
【0085】また、処理決定カウンタ224〜227は
減算のカウンタ値がセットされていなければ(図9ステ
ップS34)、加算処理を行い(図9ステップS3
6)、そのカウンタ結果を出力する(図9ステップS3
7)。
【0086】一方、処理決定カウンタ224〜227は
加算のカウンタ値がセットされず(図9ステップS3
3)、減算のカウンタ値がセットされていれば(図9ス
テップS38)、処理決定カウンタで減算処理を行い
(図9ステップS39)、そのカウンタ結果を出力する
(図9ステップS37)。
【0087】処理決定カウンタ224〜227は減算の
カウンタ値がセットされていなければ(図9ステップS
38)、処理を行わずに(図9ステップS40)、その
カウンタ結果を出力する(図9ステップS37)。
【0088】このように、負荷分散処理部2で負荷の見
積もりを行うことで、処理部31−1〜31−m,32
−1〜32−nでの処理時間を予測することができ、並
列処理後の結果の情報(転送状況)をみることによっ
て、実際に負荷分散がうまくなされているかを判断する
ことができるので、グラフィックス並列処理装置全体の
スループット性能の向上を図ることができる。
【0089】これら2つの処理を行うことによって、各
処理部31−1〜31−m,32−1〜32−nの負荷
情報を正しく評価し、並列処理実行部3の複数ある処理
部31−1〜31−m,32−1〜32−nの使用頻度
を均等にして仕様効率を最大にすることができ、並列処
理実行部3の処理部31−1〜31−m,32−1〜3
2−n間の待機時間を減少させることができるため、グ
ラフィックス並列処理装置全体のスループット性能の向
上を図ることができる。
【0090】また、複数のローカルバス201,20
2,301,302を用いて処理することで、並列処理
実行部3と処理結果選択部4との間のローカルバス30
1,302での転送ロス時間を減少させることができる
ため、グラフィックス並列処理装置全体のスループット
性能の向上を図ることができる。
【0091】
【発明の効果】以上説明したように本発明によれば、複
数の処理手段からなりかつマルチプロセッサ構成の並列
処理実行手段と、複数の処理手段のいずれかを選択する
負荷分散処理手段と、並列処理実行手段内に描画データ
をどれだけ送出したかを予想する手段と、複数の入力用
FIFOメモリを持ちかつ複数の処理手段各々の処理結
果のいずれかを選択する処理結果選択手段と、複数の入
力用FIFOメモリが受信可能か否かの情報を取得する
手段とを配設し、負荷分散処理手段で複数の処理手段の
うちの任意の処理手段への切換えのタイミングを示すコ
マンドを追加することによって、装置全体のスループッ
ト性能を向上させることができるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例によるグラフィックス並列処
理装置の構成を示すブロック図である。
【図2】図1のコマンド分割部の詳細な構成を示すブロ
ック図である。
【図3】図1の命令選択部の詳細な構成を示すブロック
図である。
【図4】図2の選択部での選択条件を示す図である。
【図5】(a)は描画コマンドの情報を持つコマンド群
を示す図、(b)はデータ設定の情報を持つデータ群を
示す図である。
【図6】図1のコマンド分割部22の処理動作を示すフ
ローチャートである。
【図7】図1のコマンド分割部の処理動作を示すフロー
チャートである。
【図8】図1の命令選択部の処理動作を示すフローチャ
ートである。
【図9】図2の処理決定カウンタの処理動作を示すフロ
ーチャートである。
【図10】従来例によるグラフィックス並列処理装置の
構成を示すブロック図である。
【符号の説明】
1 ホスト 2 負荷分散処理部 3 並列処理実行部 4 処理結果選択部 5 レンダリングハードウェア 11 CPU 12 メモリ 13 キーボード 21,41,42,311−1 入力FIFO部 22 コマンド分割部 23,24,313−1 出力FIFO部 25,26,315−1 出力バス制御部 31−1〜31−m,32−1〜32−n 処理部 43 命令選択部 100 ホストバス 201,202,301,302,401 ローカルバ
ス 221,228,434 コマンド識別部 222 選択部 223 カウンタテーブル 224〜227 処理決定カウンタ 312−1 描画演算プロセッサ 314−1 パイプ認識部 431 出力選択部 432 結果選択判断部 433 入力FIFO

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数の処理手段からなりかつマルチプロ
    セッサ構成の並列処理実行手段と、前記複数の処理手段
    のいずれかを選択する負荷分散処理手段と、前記並列処
    理実行手段内に描画データをどれだけ送出したかを予想
    する手段と、複数の入力用FIFO(First In
    First Out)メモリを持ちかつ前記複数の処
    理手段各々の処理結果のいずれかを選択する処理結果選
    択手段と、前記処理結果選択手段の前記複数の入力用F
    IFOメモリが受信可能か否かの情報を取得する手段と
    を有し、前記負荷分散処理手段で前記複数の処理手段の
    うちの任意の処理手段への切換えのタイミングを示すコ
    マンドを追加するよう構成したことを特徴とするグラフ
    ィックス負荷分散処理装置。
  2. 【請求項2】 前記並列処理実行手段の前記複数の処理
    手段各々を複数のローカルバスのいずれかに接続するよ
    う構成したことを特徴とする請求項1記載のグラフィッ
    クス負荷分散処理装置。
  3. 【請求項3】 負荷分散の見積もり情報を生成する手段
    を前記並列処理実行手段の前段及び後段に含み、前記負
    荷分散処理手段で前記負荷分散の時間誤差を再確認する
    よう構成したことを特徴とする請求項1または請求項2
    記載のグラフィックス負荷分散処理装置。
  4. 【請求項4】 前記負荷分散処理手段から前記複数のロ
    ーカルバスを介して転送される描画データと前記並列処
    理実行手段から前記複数のローカルバスを介して転送さ
    れる描画データとを、前記並列処理実行手段内の処理時
    間に関わらず、前記処理結果選択手段で前記描画データ
    の順序通り転送させるようにしたことを特徴とする請求
    項2または請求項3記載のグラフィックス負荷分散処理
    装置。
JP2001003143A 2001-01-11 2001-01-11 グラフィックス負荷分散処理装置 Pending JP2002207711A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001003143A JP2002207711A (ja) 2001-01-11 2001-01-11 グラフィックス負荷分散処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001003143A JP2002207711A (ja) 2001-01-11 2001-01-11 グラフィックス負荷分散処理装置

Publications (1)

Publication Number Publication Date
JP2002207711A true JP2002207711A (ja) 2002-07-26

Family

ID=18871538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001003143A Pending JP2002207711A (ja) 2001-01-11 2001-01-11 グラフィックス負荷分散処理装置

Country Status (1)

Country Link
JP (1) JP2002207711A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005134976A (ja) * 2003-10-28 2005-05-26 Hitachi High-Technologies Corp 外観検査装置用画像処理装置
WO2010016169A1 (ja) * 2008-08-07 2010-02-11 日本電気株式会社 マルチプロセッサシステム及びその制御方法
JPWO2011148920A1 (ja) * 2010-05-26 2013-07-25 日本電気株式会社 マルチプロセッサシステム、実行制御方法、実行制御プログラム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005134976A (ja) * 2003-10-28 2005-05-26 Hitachi High-Technologies Corp 外観検査装置用画像処理装置
WO2010016169A1 (ja) * 2008-08-07 2010-02-11 日本電気株式会社 マルチプロセッサシステム及びその制御方法
CN102112972A (zh) * 2008-08-07 2011-06-29 日本电气株式会社 多处理器系统及其控制方法
US8583845B2 (en) 2008-08-07 2013-11-12 Nec Corporation Multi-processor system and controlling method thereof
JP5360061B2 (ja) * 2008-08-07 2013-12-04 日本電気株式会社 マルチプロセッサシステム及びその制御方法
JPWO2011148920A1 (ja) * 2010-05-26 2013-07-25 日本電気株式会社 マルチプロセッサシステム、実行制御方法、実行制御プログラム
US9164951B2 (en) 2010-05-26 2015-10-20 Nec Corporation Multiprocessor system, execution control method and execution control program
JP5895840B2 (ja) * 2010-05-26 2016-03-30 日本電気株式会社 マルチプロセッサシステム、実行制御方法、実行制御プログラム

Similar Documents

Publication Publication Date Title
US5918033A (en) Method and apparatus for dynamic location and control of processor resources to increase resolution of data dependency stalls
US5337410A (en) Data stream concentrator providing attribute data storage and graphics pipeline access
US6189065B1 (en) Method and apparatus for interrupt load balancing for powerPC processors
JP2525997B2 (ja) I/o割込みサブクラスの認識方法
US20070016709A1 (en) Bus control system and a method thereof
US8051234B2 (en) Multiprocessor system
KR19980703033A (ko) 프로세서
US20030177288A1 (en) Multiprocessor system
US7028297B2 (en) System and method of scalable transaction processing
JPH11317069A (ja) Fifo記憶装置
JP3721780B2 (ja) 複数のパイプライン処理機構を有するデータ処理装置
JPH08305498A (ja) データ転送装置
JP2002207711A (ja) グラフィックス負荷分散処理装置
US5682467A (en) Arbitrating apparatus for controlling selective access of multiple bus masters to a printing system video bus
US5860026A (en) Information processing system for controlling operations of input/output devices of another clusters according to control instructions issued from a cluster
JP2001167058A (ja) 情報処理装置
JP4218034B2 (ja) データ通信システムおよびデータ通信方法、データ通信プログラム
US20030041190A1 (en) System and method for efficiently performing a command swapping procedure
KR100732426B1 (ko) 고속 컨텍스트 전환을 갖는 컴퓨터
US10268529B2 (en) Parallel processing apparatus and inter-node communication method
JP2002175265A (ja) 直接メモリ・アクセス・コントローラを有するディジタル信号プロセッサにおける複数の構成素子間での信号群交換装置および方法
JP2006195705A (ja) プロセッサ
JP3126129B2 (ja) プライオリティ制御装置
JP5246810B2 (ja) 出力制御回路、出力制御回路の制御方法及びその制御プログラム
EP1193605A2 (en) Apparatus and method for the transfer of signal groups between digital signal processors in a digital signal processing unit