JP2521027B2 - マルチプロセッサ及びその制御方法 - Google Patents
マルチプロセッサ及びその制御方法Info
- Publication number
- JP2521027B2 JP2521027B2 JP21243293A JP21243293A JP2521027B2 JP 2521027 B2 JP2521027 B2 JP 2521027B2 JP 21243293 A JP21243293 A JP 21243293A JP 21243293 A JP21243293 A JP 21243293A JP 2521027 B2 JP2521027 B2 JP 2521027B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- task
- node
- data set
- temporary storage
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【0001】
【0002】本発明は、逐次送られてくる命令を各プロ
セッサに割り当てて並列実行するマルチプロセッサ及び
その制御方法に係り、さらに具体的には、順序性を持っ
たデータ列によって時々刻々更新されるデータ・セット
の任意の時点での瞬時値(スナップ・ショット)をマル
チプロセッサの要素プロセッサに割り当てて該スナップ
・ショットに対応する命令(例えば、グラフィックス・
システムに対する描画命令)を並列的且つ効率的に実行
するマルチプロセッサ及びその制御方法に関する。
セッサに割り当てて並列実行するマルチプロセッサ及び
その制御方法に係り、さらに具体的には、順序性を持っ
たデータ列によって時々刻々更新されるデータ・セット
の任意の時点での瞬時値(スナップ・ショット)をマル
チプロセッサの要素プロセッサに割り当てて該スナップ
・ショットに対応する命令(例えば、グラフィックス・
システムに対する描画命令)を並列的且つ効率的に実行
するマルチプロセッサ及びその制御方法に関する。
【0003】3次元グラフィックス・インターフェース
の一つであるPHIGS(Programmer's Hierarchical
Interactive Grahics System)などでは、通常、データ
を階層構造の形で記憶領域に格納している。従って、描
画時には、このデータの構造を評価して展開(トラバー
サル:Traversal)処理を行い、順次的な命令列すなわ
ちディスプレイ・リストを発生させて、グラフィックス
・システムに送るようになっている。
の一つであるPHIGS(Programmer's Hierarchical
Interactive Grahics System)などでは、通常、データ
を階層構造の形で記憶領域に格納している。従って、描
画時には、このデータの構造を評価して展開(トラバー
サル:Traversal)処理を行い、順次的な命令列すなわ
ちディスプレイ・リストを発生させて、グラフィックス
・システムに送るようになっている。
【0004】このディスプレイ・リストは、図4に示す
ように、属性(アトリビュート)設定命令と描画命令
(プリミティブ)から構成される。アトリビュート設定
命令とは、各プリミティブの属性、例えばプリミティブ
の色、光の拡散率、変換マトリックス等の設定を指示す
るための命令であり、図4では参照番号41,42,4
3がこれに該当する。また、プリミティブとは、各種の
図形要素の描画、例えば点、直線、ポリゴン等を指示す
るための命令であり、図4では参照番号44,45がこ
れに該当する。
ように、属性(アトリビュート)設定命令と描画命令
(プリミティブ)から構成される。アトリビュート設定
命令とは、各プリミティブの属性、例えばプリミティブ
の色、光の拡散率、変換マトリックス等の設定を指示す
るための命令であり、図4では参照番号41,42,4
3がこれに該当する。また、プリミティブとは、各種の
図形要素の描画、例えば点、直線、ポリゴン等を指示す
るための命令であり、図4では参照番号44,45がこ
れに該当する。
【0005】アトリビュート設定命令が発行されると、
そのアトリビュート値がTSL(Traversal State Lis
t)と呼ばれるシステム内の格納場所の該当するエント
リー(アドレス)に書き込まれる。そして、同種の属性
に対するアトリビュート値が再度設定されると、同じエ
ントリーに上書きされて新しい値が有効となる。従っ
て、TSLの内容は時々送られるアトリビュート設定命
令によって刻々と変化する。また、プリミティブが発行
されると、その時点でのTSL内のアトリビュート値の
瞬時値(スナップ・ショット)を参照しながら描画処理
がなされる。例えば、図4において、"Polygon
3"(44)というプリミティブに対して有効なインテリア
・カラー指示に係るアトリビュート値は、その時点のス
ナップ・ショット"CYAN"(41)であって、ディスプレ
イ・リスト(40)上で後に続く"PINK"(42)ではない。
そのアトリビュート値がTSL(Traversal State Lis
t)と呼ばれるシステム内の格納場所の該当するエント
リー(アドレス)に書き込まれる。そして、同種の属性
に対するアトリビュート値が再度設定されると、同じエ
ントリーに上書きされて新しい値が有効となる。従っ
て、TSLの内容は時々送られるアトリビュート設定命
令によって刻々と変化する。また、プリミティブが発行
されると、その時点でのTSL内のアトリビュート値の
瞬時値(スナップ・ショット)を参照しながら描画処理
がなされる。例えば、図4において、"Polygon
3"(44)というプリミティブに対して有効なインテリア
・カラー指示に係るアトリビュート値は、その時点のス
ナップ・ショット"CYAN"(41)であって、ディスプレ
イ・リスト(40)上で後に続く"PINK"(42)ではない。
【0006】トラバーサル処理自体は順次性があるた
め、全体として並列処理をに行うことはできない。しか
し、トラバーサルの行為とトラバーサル中に次々と生成
されるプリミティブの処理は、並列実行が可能である。
また、各プリミティブ同士は相互に影響を及ぼさないの
で、例えばプリミティブごとに各1つのプロセッサを順
次割り当てて並列処理を行うと効率がよい。但し、この
場合、各プロセッサは、自己が担当するプリミティブの
ためにTSLのスナップ・ショットを保持するととも
に、以後に発行されるアトリビュート値も参照できるよ
うにする必要がある。何故なら、共有メモリ上に全プロ
セッサに共通のTSLを設けたのでは、あるプロセッサ
が1つのプリミティブの描画処理を行っている間はTS
Lをそのプリミティブのためにスナップ・ショットに固
定しておかなければならず、頻繁に発行される後続のア
トリビュート設定命令の指示を実行できない(すなわ
ち、順次的な命令列(40)の処理を先に進めることができ
ず、プリミティブ単位の並列実行自体ができなくなる)
からである。
め、全体として並列処理をに行うことはできない。しか
し、トラバーサルの行為とトラバーサル中に次々と生成
されるプリミティブの処理は、並列実行が可能である。
また、各プリミティブ同士は相互に影響を及ぼさないの
で、例えばプリミティブごとに各1つのプロセッサを順
次割り当てて並列処理を行うと効率がよい。但し、この
場合、各プロセッサは、自己が担当するプリミティブの
ためにTSLのスナップ・ショットを保持するととも
に、以後に発行されるアトリビュート値も参照できるよ
うにする必要がある。何故なら、共有メモリ上に全プロ
セッサに共通のTSLを設けたのでは、あるプロセッサ
が1つのプリミティブの描画処理を行っている間はTS
Lをそのプリミティブのためにスナップ・ショットに固
定しておかなければならず、頻繁に発行される後続のア
トリビュート設定命令の指示を実行できない(すなわ
ち、順次的な命令列(40)の処理を先に進めることができ
ず、プリミティブ単位の並列実行自体ができなくなる)
からである。
【0007】また、共有メモリ上に全プロセッサ共通の
TSLを設ける場合であっても、各プロセッサがプリミ
ティブの処理開始時に毎回共通のTSLから自己のロー
カルな記憶領域にコピーすることによって、各プロセッ
サが所望のTSLスナップ・ショットを確保する、とい
う手法も考えられる。ところが、TSLは通常1000
バイト以上の大きなボリュームを有するので、このコピ
ー動作自体が大変なオーバーヘッドとなる。従って、バ
スの競合などのためマルチプロセッサの並列処理による
高速化の利点が損なわれてしまうことになる。
TSLを設ける場合であっても、各プロセッサがプリミ
ティブの処理開始時に毎回共通のTSLから自己のロー
カルな記憶領域にコピーすることによって、各プロセッ
サが所望のTSLスナップ・ショットを確保する、とい
う手法も考えられる。ところが、TSLは通常1000
バイト以上の大きなボリュームを有するので、このコピ
ー動作自体が大変なオーバーヘッドとなる。従って、バ
スの競合などのためマルチプロセッサの並列処理による
高速化の利点が損なわれてしまうことになる。
【0008】また、アトリビュート設定命令の履歴をと
っておき、各プロセッサが自己に割り振られたプリミテ
ィブがいずれのアトリビュート値に該当するかを参照す
る、という手法も考えられる。しかし、この場合も、上
記と同様の理由により、効率的とはいえない。
っておき、各プロセッサが自己に割り振られたプリミテ
ィブがいずれのアトリビュート値に該当するかを参照す
る、という手法も考えられる。しかし、この場合も、上
記と同様の理由により、効率的とはいえない。
【0009】特願平2−279505号には、TSLの
Push,PopをVRAMのライン・コピーを利用して行う
手法について開示されている。しかして、この手法によ
れば、Push,PoPを高速に行い、また、マルチプロセッ
サに対するデータ・セットの分配にも利用することが可
能である。しかし、マルチプロセッサ内の各マイクロプ
ロセッサがそれぞれのデータを受け取るためには、結局
はコモン・バスを介しなければならず、転送速度が遅く
なってしまう。また、この手法は、TSL全体を一度に
コピーするものなので、データ・セット中のどのエレメ
ントが変更されたかが不明である。従って、マイクロプ
ロセッサの内蔵キャッシュ中にデータ・セットをキャッ
シングするのが困難である。
Push,PopをVRAMのライン・コピーを利用して行う
手法について開示されている。しかして、この手法によ
れば、Push,PoPを高速に行い、また、マルチプロセッ
サに対するデータ・セットの分配にも利用することが可
能である。しかし、マルチプロセッサ内の各マイクロプ
ロセッサがそれぞれのデータを受け取るためには、結局
はコモン・バスを介しなければならず、転送速度が遅く
なってしまう。また、この手法は、TSL全体を一度に
コピーするものなので、データ・セット中のどのエレメ
ントが変更されたかが不明である。従って、マイクロプ
ロセッサの内蔵キャッシュ中にデータ・セットをキャッ
シングするのが困難である。
【0010】特開平5−54004号には、各要素プロ
セッサにロック可能な複数のメモリ(例えば三重メモリ
TTS:Triple TSL Store)を設けたマルチプロセッサ
・システムについて開示されている。該システムによれ
ば、任意の時点でのスナップ・ショットを高速に得て、
オーバーヘッドの少ない並列処理を行うことができる。
しかしながら、該システムでは、データ・セットのPus
h,Popのときには、TSLの内容全体をコモン・バス上
でコピーし、尚且つ各TTSに対してTSLの内容全体
をブロードキャストしなければならない。また、同公報
の図2中の参照番号29に示す実行ユニットは、TTS
内蔵(onchip)型の専用のマイクロプロセッサを用いる
ようにしている。しかし、実際にはコスト・パフォーマ
ンスなどの問題から、汎用プロセッサを使用してTTS
部分のみASIC化することが望ましい。
セッサにロック可能な複数のメモリ(例えば三重メモリ
TTS:Triple TSL Store)を設けたマルチプロセッサ
・システムについて開示されている。該システムによれ
ば、任意の時点でのスナップ・ショットを高速に得て、
オーバーヘッドの少ない並列処理を行うことができる。
しかしながら、該システムでは、データ・セットのPus
h,Popのときには、TSLの内容全体をコモン・バス上
でコピーし、尚且つ各TTSに対してTSLの内容全体
をブロードキャストしなければならない。また、同公報
の図2中の参照番号29に示す実行ユニットは、TTS
内蔵(onchip)型の専用のマイクロプロセッサを用いる
ようにしている。しかし、実際にはコスト・パフォーマ
ンスなどの問題から、汎用プロセッサを使用してTTS
部分のみASIC化することが望ましい。
【0011】一方、専用でなく汎用プロセッサを用いた
場合、TSLのスナップ・ショットをとる度にTTSか
ら新たにTSLの内容を一括してコピーしているので、
プロセッサの内蔵キャッシュの効果を充分には期待でき
ない。また、外部チップとしてのTTSとの通信はコモ
ン・バスを介して行われることになり、転送速度が数C
PUクロックかかってしまう。現実問題として、通常の
3次元グラフィックスでは毎回最低でも2個の4×4マ
トリックス(128byte)のデータ量がTSLから読み
出す必要があるので、転送速度が遅いということは処理
全体の高速化にとっても大きな障害となる。
場合、TSLのスナップ・ショットをとる度にTTSか
ら新たにTSLの内容を一括してコピーしているので、
プロセッサの内蔵キャッシュの効果を充分には期待でき
ない。また、外部チップとしてのTTSとの通信はコモ
ン・バスを介して行われることになり、転送速度が数C
PUクロックかかってしまう。現実問題として、通常の
3次元グラフィックスでは毎回最低でも2個の4×4マ
トリックス(128byte)のデータ量がTSLから読み
出す必要があるので、転送速度が遅いということは処理
全体の高速化にとっても大きな障害となる。
【0012】本発明は、例えばPHIGSのように、順
序性を持ったデータ列によって順次的に更新されていく
データ・セットに対応する命令列をオーバーヘッド少な
く順次的に実行できるマルチプロセッサ及びその制御方
法を提供することを目的とする。
序性を持ったデータ列によって順次的に更新されていく
データ・セットに対応する命令列をオーバーヘッド少な
く順次的に実行できるマルチプロセッサ及びその制御方
法を提供することを目的とする。
【0013】より具体的には、本発明は、順序性を持っ
たデータ列によって時々刻々更新されていくデータ・セ
ットの任意の時点でのスナップ・ショットをマルチプロ
セッサの各ノードに高速に割り当てて、それぞれのスナ
ップ・ショットに対する命令を効率的且つ並列に実行で
きるマルチプロセッサ及びその制御方法を提供すること
を目的とする。
たデータ列によって時々刻々更新されていくデータ・セ
ットの任意の時点でのスナップ・ショットをマルチプロ
セッサの各ノードに高速に割り当てて、それぞれのスナ
ップ・ショットに対する命令を効率的且つ並列に実行で
きるマルチプロセッサ及びその制御方法を提供すること
を目的とする。
【0014】本発明は、上記課題を参酌してなされたも
のであり、割り振られたタスクを並列に実行する複数の
ノードを有するマルチプロセッサにおいて、順序性を持
ったデータ・セットを受けとって順次各ノードに放送す
るとともにタスクをいずれかのノードに割り振る分配処
理手段と、各ノードの処理結果を統合する統合処理手段
とを有し、さらに、各ノードは、鍵状態と鍵解除状態の
いずれかの状態をとり、データ・セット単位でアドレス
指定可能で且つ受けとったデータ・セットを該当するア
ドレス上に即時書き込む第1の一時記憶手段と、データ
・セット単位でアドレス指定可能で且つ各アドレスは第
1の一時記憶手段のアドレスと対応付けられており鍵状
態に応じてデータ・セットの瞬時値を保持する第2の一
時記憶手段と、各第1及び第2の一時記憶手段の対応す
るアドレスに格納されたデータ同士を比較して差分を検
出する比較手段と、該差分を該アドレスに対応する領域
に記憶する差分記憶手段と、第2の一時記憶手段に格納
されたデータ・セットを参照しながら割り振られたタス
クを処理するとともに該タスクの処理終了時にノードを
鍵解除状態にするタスク処理手段と、タスク処理手段の
第2の一時記憶手段への参照を制御するとともにタスク
の分配に応答して差分記憶手段より差分を検出されたア
ドレスを読み出して第1の一時記憶手段の該アドレス上
のデータ・セットを第2の一時記憶手段の対応アドレス
にコピーするとともに該コピーの動作終了時にノードを
鍵状態にする記憶制御手段とを具備することを特徴とす
るマルチプロセッサである。
のであり、割り振られたタスクを並列に実行する複数の
ノードを有するマルチプロセッサにおいて、順序性を持
ったデータ・セットを受けとって順次各ノードに放送す
るとともにタスクをいずれかのノードに割り振る分配処
理手段と、各ノードの処理結果を統合する統合処理手段
とを有し、さらに、各ノードは、鍵状態と鍵解除状態の
いずれかの状態をとり、データ・セット単位でアドレス
指定可能で且つ受けとったデータ・セットを該当するア
ドレス上に即時書き込む第1の一時記憶手段と、データ
・セット単位でアドレス指定可能で且つ各アドレスは第
1の一時記憶手段のアドレスと対応付けられており鍵状
態に応じてデータ・セットの瞬時値を保持する第2の一
時記憶手段と、各第1及び第2の一時記憶手段の対応す
るアドレスに格納されたデータ同士を比較して差分を検
出する比較手段と、該差分を該アドレスに対応する領域
に記憶する差分記憶手段と、第2の一時記憶手段に格納
されたデータ・セットを参照しながら割り振られたタス
クを処理するとともに該タスクの処理終了時にノードを
鍵解除状態にするタスク処理手段と、タスク処理手段の
第2の一時記憶手段への参照を制御するとともにタスク
の分配に応答して差分記憶手段より差分を検出されたア
ドレスを読み出して第1の一時記憶手段の該アドレス上
のデータ・セットを第2の一時記憶手段の対応アドレス
にコピーするとともに該コピーの動作終了時にノードを
鍵状態にする記憶制御手段とを具備することを特徴とす
るマルチプロセッサである。
【0015】また、本発明は、上記マルチプロセッサで
あって、記憶制御手段はデータ・セットをコピーする際
に該アドレスをタスク処理手段にも流すとともに、タス
ク処理手段はキャッシュメモリを内蔵しており且つ記憶
制御手段から受けとったアドレスに対応するキャッシュ
メモリの領域を無効化することを特徴とするマルチプロ
セッサである
あって、記憶制御手段はデータ・セットをコピーする際
に該アドレスをタスク処理手段にも流すとともに、タス
ク処理手段はキャッシュメモリを内蔵しており且つ記憶
制御手段から受けとったアドレスに対応するキャッシュ
メモリの領域を無効化することを特徴とするマルチプロ
セッサである
【0016】また、本発明は、割り振られたタスクを並
列に実行する複数のノードを有するマルチプロセッサで
あって、順序性を持ったデータ・セットを受けとって順
次各ノードに放送するとともにタスクをいずれかのノー
ドに割り振る分配処理手段と、各ノードの処理結果を統
合する統合処理手段とを有し、さらに、各ノードは、鍵
状態と鍵解除状態のいずれかの状態をとり、データ・セ
ット単位でアドレス指定可能な第1の一時記憶手段と、
データ・セット単位でアドレス指定可能で且つ各アドレ
スは前記第1の一時記憶手段のアドレスと対応付けられ
ている第2の一時記憶手段と、タスクを処理するタスク
処理手段とを含んでいるマルチプロセッサを制御する方
法において、分配処理手段がデータ・セットを受けとっ
て各ノードに放送する工程と、第1の一時記憶手段が前
記データ・セットを該当するアドレスに書き込む工程
と、前記データ・セットと第2の一時記憶手段の対応す
るアドレスに格納されたデータ・セットとを比較して差
分を検出する工程と、前記差分をアドレスと対応付けて
記憶する工程と、分配処理手段が1つのノードを選択し
てタスクを割り振る工程と、該タスクの割り振りに応答
して、差分を検出されたアドレスを読み出して、第1の
一時記憶手段の該アドレスに格納されたデータ・セット
を第2の一時記憶手段の対応するアドレスにコピーする
工程と、差分を検出された全てのアドレスについてコピ
ーする工程が終了すると、ノードを鍵状態にする工程
と、鍵状態に応じて、タスク処理手段が第2の一時記憶
手段を参照しながらタスクを処理する工程と、タスク処
理手段がタスクを終了すると鍵解除状態にする工程と、
を具備することを特徴とするマルチプロセッサの制御方
法である。
列に実行する複数のノードを有するマルチプロセッサで
あって、順序性を持ったデータ・セットを受けとって順
次各ノードに放送するとともにタスクをいずれかのノー
ドに割り振る分配処理手段と、各ノードの処理結果を統
合する統合処理手段とを有し、さらに、各ノードは、鍵
状態と鍵解除状態のいずれかの状態をとり、データ・セ
ット単位でアドレス指定可能な第1の一時記憶手段と、
データ・セット単位でアドレス指定可能で且つ各アドレ
スは前記第1の一時記憶手段のアドレスと対応付けられ
ている第2の一時記憶手段と、タスクを処理するタスク
処理手段とを含んでいるマルチプロセッサを制御する方
法において、分配処理手段がデータ・セットを受けとっ
て各ノードに放送する工程と、第1の一時記憶手段が前
記データ・セットを該当するアドレスに書き込む工程
と、前記データ・セットと第2の一時記憶手段の対応す
るアドレスに格納されたデータ・セットとを比較して差
分を検出する工程と、前記差分をアドレスと対応付けて
記憶する工程と、分配処理手段が1つのノードを選択し
てタスクを割り振る工程と、該タスクの割り振りに応答
して、差分を検出されたアドレスを読み出して、第1の
一時記憶手段の該アドレスに格納されたデータ・セット
を第2の一時記憶手段の対応するアドレスにコピーする
工程と、差分を検出された全てのアドレスについてコピ
ーする工程が終了すると、ノードを鍵状態にする工程
と、鍵状態に応じて、タスク処理手段が第2の一時記憶
手段を参照しながらタスクを処理する工程と、タスク処
理手段がタスクを終了すると鍵解除状態にする工程と、
を具備することを特徴とするマルチプロセッサの制御方
法である。
【0017】また、本発明は、上記のマルチプロセッサ
の制御方法であって、ノードが既に鍵状態のときに分配
処理手段からデータ・セットを受けとると、第1の一時
記憶手段が前記データ・セットを該当するアドレスに書
き込み、前記データ・セットと第2の一時記憶手段の対
応するアドレスに格納されたデータ・セットとを比較し
て差分を検出し、前記差分をアドレスと対応付けて記憶
するが、第1の一時記憶手段から第2の一時記憶手段へ
のデータ・セットのコピーを行わない、ことを特徴とす
るマルチプロセッサの制御方法である。
の制御方法であって、ノードが既に鍵状態のときに分配
処理手段からデータ・セットを受けとると、第1の一時
記憶手段が前記データ・セットを該当するアドレスに書
き込み、前記データ・セットと第2の一時記憶手段の対
応するアドレスに格納されたデータ・セットとを比較し
て差分を検出し、前記差分をアドレスと対応付けて記憶
するが、第1の一時記憶手段から第2の一時記憶手段へ
のデータ・セットのコピーを行わない、ことを特徴とす
るマルチプロセッサの制御方法である。
【0018】また、本発明は、上記のマルチプロセッサ
の制御方法であって、タスク処理手段はキャッシュメモ
リを内蔵しており、データ・セットをコピーする際に該
アドレスをタスク処理手段にも流す工程と、タスク処理
手段が受けとったアドレスに対応するキャッシュメモリ
の領域を無効化する工程とをさらに具備することを特徴
とするマルチプロセッサの制御方法である。
の制御方法であって、タスク処理手段はキャッシュメモ
リを内蔵しており、データ・セットをコピーする際に該
アドレスをタスク処理手段にも流す工程と、タスク処理
手段が受けとったアドレスに対応するキャッシュメモリ
の領域を無効化する工程とをさらに具備することを特徴
とするマルチプロセッサの制御方法である。
【0019】以下、後述の実施例及び図面中の参照番号
に則して、本発明の作用を説明する。
に則して、本発明の作用を説明する。
【0020】データ・セットとしてのアトリビュート設
定命令が送り出されると、まず、第1の一時記憶手段と
しての第1のTSLバッファ(61)に現アトリビュート値
がコピーされる。次いで、現アトリビュート値と、第2
の一時記憶手段としての第2のTSLバッファ(62)の対
応アドレスに格納された旧アトリビュート値とが比較手
段としての比較回路(65)において比較され、両者の一致
または不一致を、差分記憶回路としてのTAG回路(63)
に記憶される。
定命令が送り出されると、まず、第1の一時記憶手段と
しての第1のTSLバッファ(61)に現アトリビュート値
がコピーされる。次いで、現アトリビュート値と、第2
の一時記憶手段としての第2のTSLバッファ(62)の対
応アドレスに格納された旧アトリビュート値とが比較手
段としての比較回路(65)において比較され、両者の一致
または不一致を、差分記憶回路としてのTAG回路(63)
に記憶される。
【0021】一方、タスクとしてのプリミティブがノー
ド(20)に割り振られると、TAG回路(63)からTSLの
変更箇所が逐次読み出される。記憶制御回路としてのD
MA制御回路(66)は、該変更箇所に対応するアドレスに
つき、第1のTSLバッファ(61)から第2のTSLバッ
ファ(62)にアトリビュート値のコピーを行うことで、T
SLの更新を行う。
ド(20)に割り振られると、TAG回路(63)からTSLの
変更箇所が逐次読み出される。記憶制御回路としてのD
MA制御回路(66)は、該変更箇所に対応するアドレスに
つき、第1のTSLバッファ(61)から第2のTSLバッ
ファ(62)にアトリビュート値のコピーを行うことで、T
SLの更新を行う。
【0022】全てのTSLの変更箇所につき、上述のコ
ピー動作が終了すると、ノード(20)は鍵状態となる。こ
の鍵状態は、タスク処理手段としてのMPU(21)が該タ
スクの処理を終了するまでは解除されず、且つ鍵状態の
間、第2のTSLバッファ(62)には後続のアトリビュー
ト値は上書きされない。従って、第2のTSLバッファ
(62)はTSLのスナップ・ショットを保持するととも
に、MPU(21)は該スナップ・ショットを参照しながら
タスクを処理できる。
ピー動作が終了すると、ノード(20)は鍵状態となる。こ
の鍵状態は、タスク処理手段としてのMPU(21)が該タ
スクの処理を終了するまでは解除されず、且つ鍵状態の
間、第2のTSLバッファ(62)には後続のアトリビュー
ト値は上書きされない。従って、第2のTSLバッファ
(62)はTSLのスナップ・ショットを保持するととも
に、MPU(21)は該スナップ・ショットを参照しながら
タスクを処理できる。
【0023】しかして、TAG回路(63)の内容を参照し
ながら、TSLの変更箇所のみをコピーして更新するよ
うにしたので、TSL全体をコピーすることに比し、T
SL管理を格段に高速化できる。
ながら、TSLの変更箇所のみをコピーして更新するよ
うにしたので、TSL全体をコピーすることに比し、T
SL管理を格段に高速化できる。
【0024】また、任意の時点でのTSLスナップ・シ
ョットを素早く利用できるので、グラフィックス・シス
テムは、描画命令を効率よく各ノードに割り当てること
により、マルチプロセッサで高速に並列処理することが
できる。
ョットを素早く利用できるので、グラフィックス・シス
テムは、描画命令を効率よく各ノードに割り当てること
により、マルチプロセッサで高速に並列処理することが
できる。
【0025】また、コピーに際し、MPUに対して該変
更箇所に関するメッセージを送るようにしている。MP
U(21)は、該メッセージを受け、スヌープ機構を利用し
て自己に内蔵されるキャッシュの該変更箇所を無効にす
ることができる、従って、アドレス・マップを適当に配
置すれば、TSLはいつでも内蔵キャッシュの中に保持
することができ、キャッシュのヒット率を向上させるこ
とができる。
更箇所に関するメッセージを送るようにしている。MP
U(21)は、該メッセージを受け、スヌープ機構を利用し
て自己に内蔵されるキャッシュの該変更箇所を無効にす
ることができる、従って、アドレス・マップを適当に配
置すれば、TSLはいつでも内蔵キャッシュの中に保持
することができ、キャッシュのヒット率を向上させるこ
とができる。
【0026】以下、本発明の実施例について、図面を参
照しながら詳解する。
照しながら詳解する。
【0027】A.装置の構成について
【0028】図1は、本発明を実現するためのグラフィ
ック・システム(100)の概観構成を示したものである。
同システム(100)は、ディスパッチ(Dispatch)・プロ
セッサ(10)と、複数のノード(20)…と、マージ(Merg
e)・プロセッサ(30)とを備えている。
ック・システム(100)の概観構成を示したものである。
同システム(100)は、ディスパッチ(Dispatch)・プロ
セッサ(10)と、複数のノード(20)…と、マージ(Merg
e)・プロセッサ(30)とを備えている。
【0029】グラフィックス・システム(100)は、ホス
トであるワークステーション、例えば米国IBM社製の
パワー・ステーション6000(商標)のマイクロ・チ
ャネル(商標)・バスに実装されるようになっている。
同システム(100)は、ワークステーションのメイン・メ
モリ(図示しない)のPHIGSによって展開処理され
たディスプレイ・リスト(例えば図4)に基づいて、描
画処理を行うようになっている。
トであるワークステーション、例えば米国IBM社製の
パワー・ステーション6000(商標)のマイクロ・チ
ャネル(商標)・バスに実装されるようになっている。
同システム(100)は、ワークステーションのメイン・メ
モリ(図示しない)のPHIGSによって展開処理され
たディスプレイ・リスト(例えば図4)に基づいて、描
画処理を行うようになっている。
【0030】ディスパッチ・プロセッサ(10)は、外部バ
ス(12)によってグラフィックス・システム(100)外のワ
ークステーション(図示しない)と接続され、また、デ
ィスパッチ・バス(11)によって各ノード(20)…の入力端
との間を相互接続されている。該ディスパッチ・プロセ
ッサ(10)は、外部バス(12)を介して順次供給される命令
列(アトリビュート設定命令とプリミティブ)を解釈す
る。解釈の結果、受けとった命令がアトリビュート設定
命令であれば、ディスパッチ・バス(11)を介して全ノー
ド(20)…にブロードキャストする。また、受けとった命
令がプリミティブであれば、1つのノード(20)のみを選
択して、ディスパッチ・バス(11)を介して該プリミティ
ブを供給するようにして、タクスを配分するようになっ
ている。
ス(12)によってグラフィックス・システム(100)外のワ
ークステーション(図示しない)と接続され、また、デ
ィスパッチ・バス(11)によって各ノード(20)…の入力端
との間を相互接続されている。該ディスパッチ・プロセ
ッサ(10)は、外部バス(12)を介して順次供給される命令
列(アトリビュート設定命令とプリミティブ)を解釈す
る。解釈の結果、受けとった命令がアトリビュート設定
命令であれば、ディスパッチ・バス(11)を介して全ノー
ド(20)…にブロードキャストする。また、受けとった命
令がプリミティブであれば、1つのノード(20)のみを選
択して、ディスパッチ・バス(11)を介して該プリミティ
ブを供給するようにして、タクスを配分するようになっ
ている。
【0031】マージ・プロセッサ(30)は、マージ・バス
(31)によって各ノード(20)…の出力端とマージ・プロセ
ッサ(30)との間を相互接続されており、各ノード(20)…
から送出されてくる計算結果を統合して、ワークステー
ション上の表示装置(図示しない)に実際の描画を行わ
せるようになっている。
(31)によって各ノード(20)…の出力端とマージ・プロセ
ッサ(30)との間を相互接続されており、各ノード(20)…
から送出されてくる計算結果を統合して、ワークステー
ション上の表示装置(図示しない)に実際の描画を行わ
せるようになっている。
【0032】各ノード(20)…は略同一の回路で構成され
ており、図2はその内部構成を詳細に示したものであ
る。すなわち、ノード(20)は、汎用プロセッサ(MP
U)(21)と、メモリ(22)と、アトリビュート・プロセッ
サ(23)とで構成され、各々の間はMPU・バス(24)及び
メモリ・バス(25)によって相互接続されている。なお、
ノードの個数は図1では便宜上4個となっているがこれ
に限定されるものではない。
ており、図2はその内部構成を詳細に示したものであ
る。すなわち、ノード(20)は、汎用プロセッサ(MP
U)(21)と、メモリ(22)と、アトリビュート・プロセッ
サ(23)とで構成され、各々の間はMPU・バス(24)及び
メモリ・バス(25)によって相互接続されている。なお、
ノードの個数は図1では便宜上4個となっているがこれ
に限定されるものではない。
【0033】アトリビュート・プロセッサ(23)は、さら
に、入力側FIFO(51)と、分岐回路(52)と、TSLバ
ッファ/コントローラ(53)と、出力側FIFO(54)とで
構成されている。そして、アトリビュート・プロセッサ
(23)は、割り当てられたプリミティブの処理状態に応じ
て、TSLのスナップ・ショットを保持する'Lock
ed'と、Lockが解除された'Unlocked'と
いう2つの状態をとることにより、TSLの管理を行う
ようになっているが、この点は後に詳解する。また、ア
トリビュート・プロセッサ(23)は、このLock状態を
示すために、1ビットのレジスタ(図示しない)を含ん
でいる。
に、入力側FIFO(51)と、分岐回路(52)と、TSLバ
ッファ/コントローラ(53)と、出力側FIFO(54)とで
構成されている。そして、アトリビュート・プロセッサ
(23)は、割り当てられたプリミティブの処理状態に応じ
て、TSLのスナップ・ショットを保持する'Lock
ed'と、Lockが解除された'Unlocked'と
いう2つの状態をとることにより、TSLの管理を行う
ようになっているが、この点は後に詳解する。また、ア
トリビュート・プロセッサ(23)は、このLock状態を
示すために、1ビットのレジスタ(図示しない)を含ん
でいる。
【0034】入力側FIFO(51)と出力側FIFO(54)
は、ともに略同一の構成及び動作を備えている。入力側
(51)FIFOは、ディスパッチ・バス(12)を介して命令
列を入力し、且つ入力した順番で送り出すようになって
いる。また、出力側FIFO(52)は、該ノード(20)が行
ったタスクの結果を入力し、且つ入力した順番でマージ
・プロセッサ(30)に送り出すようになっている。
は、ともに略同一の構成及び動作を備えている。入力側
(51)FIFOは、ディスパッチ・バス(12)を介して命令
列を入力し、且つ入力した順番で送り出すようになって
いる。また、出力側FIFO(52)は、該ノード(20)が行
ったタスクの結果を入力し、且つ入力した順番でマージ
・プロセッサ(30)に送り出すようになっている。
【0035】分岐回路(52)は、入力側FIFO(51)の送
出端に配された命令の内容を解釈して、アトリビュート
設定命令であれば後続のTSLバッファ/コントローラ
(53)にそのまま送り出し、プリミティブであればMPU
(21)が次に読み出すまで入力側FIFO(51)に待機させ
るようになっている。
出端に配された命令の内容を解釈して、アトリビュート
設定命令であれば後続のTSLバッファ/コントローラ
(53)にそのまま送り出し、プリミティブであればMPU
(21)が次に読み出すまで入力側FIFO(51)に待機させ
るようになっている。
【0036】TSLバッファ/コントローラ(53)は、M
PU(21)がプリミティブを処理する際に参照すべきTS
Lのスナップ・ショットを維持するとともに、TSLを
最新の内容に更新するようになっている。この内部の回
路構成及びTSLの管理については、後に詳解する。
PU(21)がプリミティブを処理する際に参照すべきTS
Lのスナップ・ショットを維持するとともに、TSLを
最新の内容に更新するようになっている。この内部の回
路構成及びTSLの管理については、後に詳解する。
【0037】MPU(21)は、キャッシュ内蔵型の汎用マ
イクロプロセッサで、スヌープ機構を有しており、各ノ
ードごとに装備されている。該MPU(21)は、入力側F
IFO(51)の送出端に配されたプリミティブを読み出
し、TSLバッファ/コントローラ(53)内に保持された
TSLのスナップ・ショットを参照しながら、'Transfo
rmation','Clipping','Lighting'等の描画処理を実行
するようになっている。そして、この処理結果は出力側
FIFO(54)に順次送り込まれるようになっている。
イクロプロセッサで、スヌープ機構を有しており、各ノ
ードごとに装備されている。該MPU(21)は、入力側F
IFO(51)の送出端に配されたプリミティブを読み出
し、TSLバッファ/コントローラ(53)内に保持された
TSLのスナップ・ショットを参照しながら、'Transfo
rmation','Clipping','Lighting'等の描画処理を実行
するようになっている。そして、この処理結果は出力側
FIFO(54)に順次送り込まれるようになっている。
【0038】メモリ(22)も、各ノードごとに装備され、
例えばTSLの内容のPush,Popのときにメモリ・バス
(25)を介して用いられる。
例えばTSLの内容のPush,Popのときにメモリ・バス
(25)を介して用いられる。
【0039】図3は、上記TSLバッファ/コントロー
ラ(53)の回路構成をさらに詳細に示したものである。す
なわち、TSLバッファ/コントローラ(53)は、第1の
TSLバッファ(61)と、第2のTSLバッファ(62)と、
TAG回路(63)と、LZC(Leading Zero Counter)回
路(64)と、比較回路(65)と、DMA制御回路(66)と、各
回路間の入出力を切り換えるための5個のマルチプレク
サ(MUX)(71),(72),(73),(74),(75)とを備えて
いる。また、TSLバッファ/コントローラ(53)は、ア
トリビュート・バスを介して入力側FIFO(51)からア
トリビュート設定命令を受けとるとともに、DMA制御
回路(66)による統制の下に、MPU・バス(24),メモリ
・バス(25)を介して、MPU(21)及びメモリ(22)のそれ
ぞれと通信を行えるようになっている。
ラ(53)の回路構成をさらに詳細に示したものである。す
なわち、TSLバッファ/コントローラ(53)は、第1の
TSLバッファ(61)と、第2のTSLバッファ(62)と、
TAG回路(63)と、LZC(Leading Zero Counter)回
路(64)と、比較回路(65)と、DMA制御回路(66)と、各
回路間の入出力を切り換えるための5個のマルチプレク
サ(MUX)(71),(72),(73),(74),(75)とを備えて
いる。また、TSLバッファ/コントローラ(53)は、ア
トリビュート・バスを介して入力側FIFO(51)からア
トリビュート設定命令を受けとるとともに、DMA制御
回路(66)による統制の下に、MPU・バス(24),メモリ
・バス(25)を介して、MPU(21)及びメモリ(22)のそれ
ぞれと通信を行えるようになっている。
【0040】第1のTSLバッファ(61)と第2のTSL
バッファ(62)は、共に、ワード単位(または数ワード単
位)でアドレス可能であり、各バッファ(61),(62)の同
一アドレスには同種の属性に対するアトリビュート値が
蓄えられるようになっている。
バッファ(62)は、共に、ワード単位(または数ワード単
位)でアドレス可能であり、各バッファ(61),(62)の同
一アドレスには同種の属性に対するアトリビュート値が
蓄えられるようになっている。
【0041】第1のTSLバッファ(61)は、アドレス部
分とデータ(アトリビュート値)部分とに分割されたア
トリビュート設定命令を、それぞれMUX(71),MUX
(72)を介して入力して、対応アドレスにデータを書き込
むことで、アトリビュート値(以下、現アトリビュート
値とする。)を更新するようになっている。また、第1
のTSLバッファ(61)は、MUX(71)を介してDMA制
御回路(66)からアドレスを受けとり、該アドレスに格納
されている現アトリビュート値を読み出して、MUX(7
2)を介して送り出すようになっている。
分とデータ(アトリビュート値)部分とに分割されたア
トリビュート設定命令を、それぞれMUX(71),MUX
(72)を介して入力して、対応アドレスにデータを書き込
むことで、アトリビュート値(以下、現アトリビュート
値とする。)を更新するようになっている。また、第1
のTSLバッファ(61)は、MUX(71)を介してDMA制
御回路(66)からアドレスを受けとり、該アドレスに格納
されている現アトリビュート値を読み出して、MUX(7
2)を介して送り出すようになっている。
【0042】一方、第2のTSLバッファ(62)は、アト
リビュート設定命令のうちアドレス部分のみをMUX(7
3)を介して受けとり、該アドレスに格納されているアト
リビュート値(以下、旧アトリビュート値とする。)を
MUX(74)を介して出力するようになっている。また、
第2のTSLバッファ(62)は、MUX(73)を介してDM
A制御回路(66)からアドレスを受けとり、MUX(74)を
介して送り込まれるアトリビュート値を該アドレスにコ
ピーするようになっている。
リビュート設定命令のうちアドレス部分のみをMUX(7
3)を介して受けとり、該アドレスに格納されているアト
リビュート値(以下、旧アトリビュート値とする。)を
MUX(74)を介して出力するようになっている。また、
第2のTSLバッファ(62)は、MUX(73)を介してDM
A制御回路(66)からアドレスを受けとり、MUX(74)を
介して送り込まれるアトリビュート値を該アドレスにコ
ピーするようになっている。
【0043】比較回路(65)は、アトリビュート設定命令
のうちデータ部分と、MUX(74)を介した第2のTSL
バッファ(62)のデータ出力とを2つの入力端として有
し、その出力端はMUX(75)へ向かっている。そして、
入力信号である現アトリビュート値と旧アトリビュート
値とを比較し、両者の値が一致すればMUX(75)の出力
は0となり、一方、両者の値が一致しなければ出力は1
となるようになっている。
のうちデータ部分と、MUX(74)を介した第2のTSL
バッファ(62)のデータ出力とを2つの入力端として有
し、その出力端はMUX(75)へ向かっている。そして、
入力信号である現アトリビュート値と旧アトリビュート
値とを比較し、両者の値が一致すればMUX(75)の出力
は0となり、一方、両者の値が一致しなければ出力は1
となるようになっている。
【0044】TAG回路(63)は、第1,第2のTSLバ
ッファ(61),(62)の各アドレスごとに対応するフィール
ドが1ビット(または数ビット)ずつ割り振られた、い
わゆるビット・マップ構成を有している。そして、MU
X(75)の出力を受けとり、対応するビット・フィールド
上に現アトリビュート値と旧アトリビュート値との差分
を随時書き込むようになっている。しかして、各ビット
・フィールドには、第1,第2のTSLバッファ(61),
(62)の対応するアドレス上のTSLの内容が一致する場
合は0が、一致しない場合は1が書き込まれるので、T
AG回路(63)の内容によってTSLの変更箇所が一目瞭
然となっている。また、TAG回路(63)は、DMA制御
回路(66)からアドレス信号を受けとり、対応するビット
・フィールドを0にリセットするようになっている。
ッファ(61),(62)の各アドレスごとに対応するフィール
ドが1ビット(または数ビット)ずつ割り振られた、い
わゆるビット・マップ構成を有している。そして、MU
X(75)の出力を受けとり、対応するビット・フィールド
上に現アトリビュート値と旧アトリビュート値との差分
を随時書き込むようになっている。しかして、各ビット
・フィールドには、第1,第2のTSLバッファ(61),
(62)の対応するアドレス上のTSLの内容が一致する場
合は0が、一致しない場合は1が書き込まれるので、T
AG回路(63)の内容によってTSLの変更箇所が一目瞭
然となっている。また、TAG回路(63)は、DMA制御
回路(66)からアドレス信号を受けとり、対応するビット
・フィールドを0にリセットするようになっている。
【0045】LZC回路(64)は、TAG回路(63)内で"
1"を示すビット・フィールドを順次検索し、これに対
応するアドレス、すなわちTSLの変更箇所をDMA制
御回路(66)に教示するようになっている。
1"を示すビット・フィールドを順次検索し、これに対
応するアドレス、すなわちTSLの変更箇所をDMA制
御回路(66)に教示するようになっている。
【0046】DMA制御回路(66)は、MPU(21)を介さ
ずにTSLバッファ(61),(62)間で直接データを転送す
るための制御を行う回路であり、MUX(71),(72)を介
して第1のTSLバッファ(61)と接続され、MUX(7
3),(74)を介して第2のTSLバッファ(62)と接続され
ており、また、MPU(21),メモリ(22)とはそれぞれM
PU・バス(24),メモリ・バス(25)を介して接続されて
いる。また、DMA制御回路(66)は、アトリビュート・
プロセッサ(23)がLock状態のとき、MPU(21)に対
し第2のTSLバッファ(62)の内容を参照させるように
なっている。一方、Unlock状態のとき、LZC回
路(64)の出力に応じて(すなわちTSLの変更箇所に対
して)、第1のTSLバッファ(61)と第2のTSLバッ
ファ(62)との間でTSLの内容のコピーを行わしめるよ
うになっている(このコピー動作等については後述す
る)。また、第2のTSLバッファ(62)へのコピーの
際、該コピーの対象となるアドレスをMPU・バス(24)
にも流し、スヌープ機構を用いてMPU(21)の内蔵キャ
ッシュ中の対応フィールドを無効化できるようになって
いる。また、DMA制御回路(66)は、第1のTSLバッ
ファ(61)の内容を、メモリ・バス(25)を介してメモリ(2
2)上のスタックに退避させ、またはスタックから回復さ
せることによって、TSLのPush,Pop動作を行うよう
にもなっている(Push,Pop動作については後述す
る)。
ずにTSLバッファ(61),(62)間で直接データを転送す
るための制御を行う回路であり、MUX(71),(72)を介
して第1のTSLバッファ(61)と接続され、MUX(7
3),(74)を介して第2のTSLバッファ(62)と接続され
ており、また、MPU(21),メモリ(22)とはそれぞれM
PU・バス(24),メモリ・バス(25)を介して接続されて
いる。また、DMA制御回路(66)は、アトリビュート・
プロセッサ(23)がLock状態のとき、MPU(21)に対
し第2のTSLバッファ(62)の内容を参照させるように
なっている。一方、Unlock状態のとき、LZC回
路(64)の出力に応じて(すなわちTSLの変更箇所に対
して)、第1のTSLバッファ(61)と第2のTSLバッ
ファ(62)との間でTSLの内容のコピーを行わしめるよ
うになっている(このコピー動作等については後述す
る)。また、第2のTSLバッファ(62)へのコピーの
際、該コピーの対象となるアドレスをMPU・バス(24)
にも流し、スヌープ機構を用いてMPU(21)の内蔵キャ
ッシュ中の対応フィールドを無効化できるようになって
いる。また、DMA制御回路(66)は、第1のTSLバッ
ファ(61)の内容を、メモリ・バス(25)を介してメモリ(2
2)上のスタックに退避させ、またはスタックから回復さ
せることによって、TSLのPush,Pop動作を行うよう
にもなっている(Push,Pop動作については後述す
る)。
【0047】B.装置の動作(処理の流れ)について
【0048】次に、本実施例の動作について説明する。
ここで、ワークステーションからは図4に示すディスプ
レイ・リスト(40)が順次送られ、且つ、グラフィックス
・システム(100)はこれを順次処理するものとする。
ここで、ワークステーションからは図4に示すディスプ
レイ・リスト(40)が順次送られ、且つ、グラフィックス
・システム(100)はこれを順次処理するものとする。
【0049】B−1.アトリビュート設定命令の処理
【0050】命令列は、まずディスパッチ・プロセッサ
(10)に渡る。最初の命令は、アトリビュート設定命令
(Set Interior Color Direct:CYAN)(41)であ
り、全てのノード(20)…にブロードキャストされ、アト
リビュート・プロセッサ(23)内の入力側FIFO(51)に
一時格納される。入力側FIFO(51)から送出されたア
トリビュート設定命令(41)は、分岐回路(52)によって判
別されて、TSLバッファ/コントローラ(53)へ向か
う。次いで、該アトリビュート設定命令(41)はアドレス
部分"GPICD"とデータ部分"CYAN"とに分割され
て、それぞれMUX(71),(72)を介して第1のTSLバ
ッファ(61)に入力される。しかして、第1のTSLバッ
ファ(61)の所定のアドレス"GPICD"には、アトリビ
ュート値"CYAN"が書き込まれる。この様子は、図5
に示す通りである。
(10)に渡る。最初の命令は、アトリビュート設定命令
(Set Interior Color Direct:CYAN)(41)であ
り、全てのノード(20)…にブロードキャストされ、アト
リビュート・プロセッサ(23)内の入力側FIFO(51)に
一時格納される。入力側FIFO(51)から送出されたア
トリビュート設定命令(41)は、分岐回路(52)によって判
別されて、TSLバッファ/コントローラ(53)へ向か
う。次いで、該アトリビュート設定命令(41)はアドレス
部分"GPICD"とデータ部分"CYAN"とに分割され
て、それぞれMUX(71),(72)を介して第1のTSLバ
ッファ(61)に入力される。しかして、第1のTSLバッ
ファ(61)の所定のアドレス"GPICD"には、アトリビ
ュート値"CYAN"が書き込まれる。この様子は、図5
に示す通りである。
【0051】一方、アドレス"GPICD"は、MUX(7
3)を介して第2のTSLバッファ(62)にも入力される。
第2のTSLバッファ(62)は、アドレス"GPICD"に
格納されている旧アトリビュート値を読み出し、MUX
(74)を介して比較回路(65)に送出する。比較回路(65)
は、旧アトリビュート値を、他方の入力である現アトリ
ビュート値と比較する。そして、MUX(75)の出力は、
両アトリビュート値が一致すれば"0"となり、一致しな
ければ"1"となる。該出力値は、TAG回路(63)内のア
ドレス"GPICD"に対応するビット・フィールドに書
き込まれる。いま、旧アトリビュート値が"CYAN"で
ないとすると、該ビット・フィールドには"1"が書き込
まれる。この様子は、図6に示す通りである。
3)を介して第2のTSLバッファ(62)にも入力される。
第2のTSLバッファ(62)は、アドレス"GPICD"に
格納されている旧アトリビュート値を読み出し、MUX
(74)を介して比較回路(65)に送出する。比較回路(65)
は、旧アトリビュート値を、他方の入力である現アトリ
ビュート値と比較する。そして、MUX(75)の出力は、
両アトリビュート値が一致すれば"0"となり、一致しな
ければ"1"となる。該出力値は、TAG回路(63)内のア
ドレス"GPICD"に対応するビット・フィールドに書
き込まれる。いま、旧アトリビュート値が"CYAN"で
ないとすると、該ビット・フィールドには"1"が書き込
まれる。この様子は、図6に示す通りである。
【0052】2番目の命令もアトリビュート設定命令
(Set Surface Properties:diff.coef.=0.9)(42)
である。従って、同様に全てのノード(20)…にブロード
キャストされる。そして、各ノード(20)…内の第1のT
SLバッファ(61)の所定のアドレス"GPSPR"には、
アトリビュート値"0.9"が書き込まれる。この様子
は、図7に示す通りである。
(Set Surface Properties:diff.coef.=0.9)(42)
である。従って、同様に全てのノード(20)…にブロード
キャストされる。そして、各ノード(20)…内の第1のT
SLバッファ(61)の所定のアドレス"GPSPR"には、
アトリビュート値"0.9"が書き込まれる。この様子
は、図7に示す通りである。
【0053】B−2.プリミティブの処理
【0054】次に、3番目の命令であるプリミティブ
(Polygon3)(44)がディスパッチ・プロセッサ(1
0)に渡る。ディスパッチ・プロセッサ(10)は、各ノード
(20)…の動作状態を確認してから、1つのノード(20)に
該プリミティブを割り振る。この様子は、図8に示す通
りである。
(Polygon3)(44)がディスパッチ・プロセッサ(1
0)に渡る。ディスパッチ・プロセッサ(10)は、各ノード
(20)…の動作状態を確認してから、1つのノード(20)に
該プリミティブを割り振る。この様子は、図8に示す通
りである。
【0055】プリミティブ(44)を割り振られたノード(2
0)のアトリビュート・プロセッサ(23)は、MPU(21)が
参照するためにその時点でのTSLのスナップ・ショッ
トを保持しなければならない(すなわち、その時点のT
SLの内容でLockしなければならない)。従って、
プリミティブを割り振られたら、アトリビュート・プロ
セッサ(23)は、まず自己の状態がUnlockedであ
ることを確認する。以前の時点でLockされていれ
ば、前回のプリミティブの処理が終了してUnlock
edとなるまで待機する。
0)のアトリビュート・プロセッサ(23)は、MPU(21)が
参照するためにその時点でのTSLのスナップ・ショッ
トを保持しなければならない(すなわち、その時点のT
SLの内容でLockしなければならない)。従って、
プリミティブを割り振られたら、アトリビュート・プロ
セッサ(23)は、まず自己の状態がUnlockedであ
ることを確認する。以前の時点でLockされていれ
ば、前回のプリミティブの処理が終了してUnlock
edとなるまで待機する。
【0056】次いで、LZC回路(64)は、TAG回路(6
3)内から"1"になっているビットを検索し、これに対応
するアドレスをDMA制御回路(66)に逐次送出する。上
述の場合、アドレス値"GPICD"が送られることにな
る。次いで、DMA制御回路(66)は、MUX(71)を介し
て、第1のTSLバッファ(61)にアドレス値"GPIC
D"を送る。第1のTSLハッファ(61)は、該アドレス
に格納された現アトリビュート値"CYAN"を、MUX
(72)を介して出力する。次いで、DMA制御回路(66)
は、アドレス"GPICD"及び現アトリビュート値"C
YAN"を、それぞれMUX(73),MUX(74)を介し
て、第2のTSLバッファに送る。しかして、第2のT
SLバッファ(62)が該アドレスにアトリビュート値"C
YAN"をコピーすることによって、TSLの内容が更
新される。また、DMA制御回路(66)は、コピーの対象
となるアドレス"GPICD"をTAG回路(63)にも送
る。TAG回路(63)は、該アドレスに対応するビット・
フィールドの値を"0"にリセットする。また、DMA制
御回路(66)は、第2のTSLバッファ(62)にアトリビュ
ート値"CYAN"をコピーする際に、コピーの対象とな
るアドレス"GPICD"をMPU(21)に対しても流す。
MPU(21)は、スヌープ機構を使って、該アドレスに対
応する内蔵キャッシュのフィールドを無効化する。その
後のプリミティブ処理の際、MPU(21)の内蔵キャッシ
ュへは書き換えられた箇所のみTSLが再転送されるの
で、更新による影響を最小限に抑えることができる。こ
れらの様子は、図9に示す通りであり。
3)内から"1"になっているビットを検索し、これに対応
するアドレスをDMA制御回路(66)に逐次送出する。上
述の場合、アドレス値"GPICD"が送られることにな
る。次いで、DMA制御回路(66)は、MUX(71)を介し
て、第1のTSLバッファ(61)にアドレス値"GPIC
D"を送る。第1のTSLハッファ(61)は、該アドレス
に格納された現アトリビュート値"CYAN"を、MUX
(72)を介して出力する。次いで、DMA制御回路(66)
は、アドレス"GPICD"及び現アトリビュート値"C
YAN"を、それぞれMUX(73),MUX(74)を介し
て、第2のTSLバッファに送る。しかして、第2のT
SLバッファ(62)が該アドレスにアトリビュート値"C
YAN"をコピーすることによって、TSLの内容が更
新される。また、DMA制御回路(66)は、コピーの対象
となるアドレス"GPICD"をTAG回路(63)にも送
る。TAG回路(63)は、該アドレスに対応するビット・
フィールドの値を"0"にリセットする。また、DMA制
御回路(66)は、第2のTSLバッファ(62)にアトリビュ
ート値"CYAN"をコピーする際に、コピーの対象とな
るアドレス"GPICD"をMPU(21)に対しても流す。
MPU(21)は、スヌープ機構を使って、該アドレスに対
応する内蔵キャッシュのフィールドを無効化する。その
後のプリミティブ処理の際、MPU(21)の内蔵キャッシ
ュへは書き換えられた箇所のみTSLが再転送されるの
で、更新による影響を最小限に抑えることができる。こ
れらの様子は、図9に示す通りであり。
【0057】以上のコピー動作はTAG回路(63)内の全
てのビットが"0"となるまで繰り返される。ちなみに図
10は、同様の過程によって2番目の命令(42)に係るア
トリビュート設定命令"diff.coeff=0.9"の内容まで
が更新された様子を示している。そして、アトリビュー
ト・プロセッサ(23)は自己の状態をLockedに設定
し、第2のTSLバッファ(62)はTSLのスナップ・シ
ョットを、Polygon3(44)の処理が終了するまで
維持する。
てのビットが"0"となるまで繰り返される。ちなみに図
10は、同様の過程によって2番目の命令(42)に係るア
トリビュート設定命令"diff.coeff=0.9"の内容まで
が更新された様子を示している。そして、アトリビュー
ト・プロセッサ(23)は自己の状態をLockedに設定
し、第2のTSLバッファ(62)はTSLのスナップ・シ
ョットを、Polygon3(44)の処理が終了するまで
維持する。
【0058】一方、Polygon3(44)は、入力側F
IFO(51)を経て、分岐回路(52)で判別されて、MPU
・バス(24)を介してMPU(21)に渡されている。MPU
(21)は、該スナップ・ショットを適宜参照しながら、プ
リミティブ(44)を処理する。
IFO(51)を経て、分岐回路(52)で判別されて、MPU
・バス(24)を介してMPU(21)に渡されている。MPU
(21)は、該スナップ・ショットを適宜参照しながら、プ
リミティブ(44)を処理する。
【0059】B−3.アトリビュート設定命令の処理の
再開
再開
【0060】アトリビュート・プロセッサ(23)がLoc
kedになった状態では、次のアトリビュート設定命令
の処理は第1のTSLバッファ(61)に対してのみ再開さ
れる。すなわち、第1のTSLバッファ(61)は常に最新
のTSLの内容を保持する一方、第2のTSLバッファ
(62)はLockを架けられた時点でのスナップ・ショッ
トを保持するようになっている。この様子を、ノード(2
0)のMPU(21)がプリミティブ(44)を処理している最中
に4番目の命令であるアトリビュート設定命令(Set In
terior Color Direct:PINK)がディスパッチされ
た場合を例に、以下詳解する。
kedになった状態では、次のアトリビュート設定命令
の処理は第1のTSLバッファ(61)に対してのみ再開さ
れる。すなわち、第1のTSLバッファ(61)は常に最新
のTSLの内容を保持する一方、第2のTSLバッファ
(62)はLockを架けられた時点でのスナップ・ショッ
トを保持するようになっている。この様子を、ノード(2
0)のMPU(21)がプリミティブ(44)を処理している最中
に4番目の命令であるアトリビュート設定命令(Set In
terior Color Direct:PINK)がディスパッチされ
た場合を例に、以下詳解する。
【0061】まず、アトリビュート設定命令(Set Inte
rior Color Direct:PINK)は、上述と同様に、入
力側FIFO(51),分岐回路(52)を経て、アドレス部
分"GPICD"とアトリビュート部分"PINK"とに分
割されて、TSLバッファ/コントローラ(53)に送り込
まれる。
rior Color Direct:PINK)は、上述と同様に、入
力側FIFO(51),分岐回路(52)を経て、アドレス部
分"GPICD"とアトリビュート部分"PINK"とに分
割されて、TSLバッファ/コントローラ(53)に送り込
まれる。
【0062】次いで、第1のTSLバッファ(61)のアド
レス"GPICD"に、上述した通りの動作によってアト
リビュート値"PINK"が上書きされることによって
に、TSLの内容が更新される(このとき、旧アトリビ
ュート値"CYAN"は消滅する)。
レス"GPICD"に、上述した通りの動作によってアト
リビュート値"PINK"が上書きされることによって
に、TSLの内容が更新される(このとき、旧アトリビ
ュート値"CYAN"は消滅する)。
【0063】一方、アトリビュート・プロセッサ(23)は
Lockされた状態なので、DMA制御回路(66)は、第
2のTSLバッファ(62)に最新のアトリビュート値"P
INK"をコピーする動作を即時には行わない。すなわ
ち、MPU(21)がPolygon3(44)の処理を終了し
てLockが解除されるまで、コピー動作を待機する。
この様子は、図11に示す通りである。
Lockされた状態なので、DMA制御回路(66)は、第
2のTSLバッファ(62)に最新のアトリビュート値"P
INK"をコピーする動作を即時には行わない。すなわ
ち、MPU(21)がPolygon3(44)の処理を終了し
てLockが解除されるまで、コピー動作を待機する。
この様子は、図11に示す通りである。
【0064】B−4.次のプリミティブの処理
【0065】また、1つのノード(20)がPolygon
3(44)を処理している最中(すなわちLockされた状
態)に、5番目の命令であるプリミティブ(Trian
gle Strip3)(45)がディスパッチ・プロセッ
サ(10)に渡されたとする。ノード(20)はPolygon
3(44)を処理中なので、ディスパッチ・プロセッサ(10)
は、他のノード(20-2)に対してTriangle St
rip3(45)を割り振る。この様子は、図12に示す通
りである。該ノード(20-2)では、TSL(インテリア・
カラー指示)の内容が既に"PINK"に更新済みであ
る。従って、MPU(21-2)は最新の内容を参照しながら
描画処理することができる。
3(44)を処理している最中(すなわちLockされた状
態)に、5番目の命令であるプリミティブ(Trian
gle Strip3)(45)がディスパッチ・プロセッ
サ(10)に渡されたとする。ノード(20)はPolygon
3(44)を処理中なので、ディスパッチ・プロセッサ(10)
は、他のノード(20-2)に対してTriangle St
rip3(45)を割り振る。この様子は、図12に示す通
りである。該ノード(20-2)では、TSL(インテリア・
カラー指示)の内容が既に"PINK"に更新済みであ
る。従って、MPU(21-2)は最新の内容を参照しながら
描画処理することができる。
【0066】C.Push,Pop動作について
【0067】TSLのPush,Popは、DMA制御装置(6
6)が、第1のTSLバッファ(61)の内容を、メモリ(22)
上のスタックに退避させ、または逆に回復させることに
よって行われる。これらの動作は、DRAMの高速ペー
ジ・モードを長い単位で行うことによって短時間で実現
できる。
6)が、第1のTSLバッファ(61)の内容を、メモリ(22)
上のスタックに退避させ、または逆に回復させることに
よって行われる。これらの動作は、DRAMの高速ペー
ジ・モードを長い単位で行うことによって短時間で実現
できる。
【0068】なお、Pop動作においてメモリ(22)から
TSLを回復させるときも、上述のアトリビュート設定
命令を処理する場合と同様に、第2のTSLバッファ(6
2)の内容と比較しながらTAG回路(63)の各ビット・フ
ィールドを更新しておき、アトリビュート・プロセッサ
(23)がLock状態のときにMPU(21)の内蔵キャッシ
ュのうち変更箇所のみ無効化を行う。すなわち、書き換
えられた箇所のみTSLを再転送することによって、内
蔵キャッシュへの影響を最小限に抑えることができる。
TSLを回復させるときも、上述のアトリビュート設定
命令を処理する場合と同様に、第2のTSLバッファ(6
2)の内容と比較しながらTAG回路(63)の各ビット・フ
ィールドを更新しておき、アトリビュート・プロセッサ
(23)がLock状態のときにMPU(21)の内蔵キャッシ
ュのうち変更箇所のみ無効化を行う。すなわち、書き換
えられた箇所のみTSLを再転送することによって、内
蔵キャッシュへの影響を最小限に抑えることができる。
【0069】D.アトリビュート・プロセッサの実装に
ついて
ついて
【0070】ここで、MPU(21)側からアトリビュート
・プロセッサ(23)の1側面を眺望してみる。
・プロセッサ(23)の1側面を眺望してみる。
【0071】MPU(21)は、MPU・バス(24)を介して
アトリビュート・プロセッサ(23)と通信する。一方、メ
モリ・バス(25)に接続されるメモリ(22)も、アトリビュ
ート・プロセッサ(23)を介した通常のメモリとして把握
することができる(メモリ(22)へのアクセスは、アトリ
ビュート・プロセッサ(23)が行う)。また、アトリビュ
ート・プロセッサ(23)内の入力側FIFO(51),出力側
FIFO(54)やTSLバッファもメモリ・マップ上で把
握することができる(但し、ここでいうTSLバッファ
は、実際に参照する第2のTSLバッファ(62)のみで充
分である。)。
アトリビュート・プロセッサ(23)と通信する。一方、メ
モリ・バス(25)に接続されるメモリ(22)も、アトリビュ
ート・プロセッサ(23)を介した通常のメモリとして把握
することができる(メモリ(22)へのアクセスは、アトリ
ビュート・プロセッサ(23)が行う)。また、アトリビュ
ート・プロセッサ(23)内の入力側FIFO(51),出力側
FIFO(54)やTSLバッファもメモリ・マップ上で把
握することができる(但し、ここでいうTSLバッファ
は、実際に参照する第2のTSLバッファ(62)のみで充
分である。)。
【0072】実際問題として、入力側FIFOを1Kバ
イト、出力側FIFOを4Kバイト、各TSLバッファ
をそれぞれ1.5Kバイトずつとると、合計で8Kバイ
トとなる。IBM社の標準マクロとしてGRAMマクロ
が挙げられる。該マクロは、最大16Kバイトまでのメ
ニューが用意されており、8Kバイトの容量であれば約
100Kゲートの素子が必要である。一方、従来技術で
あるCMOS4Sを用いた場合、200Kゲートまでな
ら1チップ上に実装することは充分可能である。従っ
て、論理IC部分を考慮に入れても、本発明に係るアト
リビュート・プロセッサを1チップ上に実装させること
は、従来技術でも実現できる。
イト、出力側FIFOを4Kバイト、各TSLバッファ
をそれぞれ1.5Kバイトずつとると、合計で8Kバイ
トとなる。IBM社の標準マクロとしてGRAMマクロ
が挙げられる。該マクロは、最大16Kバイトまでのメ
ニューが用意されており、8Kバイトの容量であれば約
100Kゲートの素子が必要である。一方、従来技術で
あるCMOS4Sを用いた場合、200Kゲートまでな
ら1チップ上に実装することは充分可能である。従っ
て、論理IC部分を考慮に入れても、本発明に係るアト
リビュート・プロセッサを1チップ上に実装させること
は、従来技術でも実現できる。
【0073】以上詳記したように、本発明では、第1の
TSLバッファが常に最新のTSLの内容を得る一方、
第2のTSLバッファがプリミティブ処理時のTSLの
スナップ・ショットを維持するようになっている。そし
て、現在のTSLの内容と前回のTSLの内容とを、T
SLの1ワード(または数ワード)ごとに差分をとり、
この変更箇所をTAG回路のビット・フィールド上で保
持し、変更箇所の内容のみを適宜第2のTSLバッファ
にコピーしてTSLの内容を更新するようにしている。
従って、TSL全体をコピーすることに比し、TSL管
理を格段に高速化できる。
TSLバッファが常に最新のTSLの内容を得る一方、
第2のTSLバッファがプリミティブ処理時のTSLの
スナップ・ショットを維持するようになっている。そし
て、現在のTSLの内容と前回のTSLの内容とを、T
SLの1ワード(または数ワード)ごとに差分をとり、
この変更箇所をTAG回路のビット・フィールド上で保
持し、変更箇所の内容のみを適宜第2のTSLバッファ
にコピーしてTSLの内容を更新するようにしている。
従って、TSL全体をコピーすることに比し、TSL管
理を格段に高速化できる。
【0074】また、コピーに際し、MPUに対して該変
更箇所に関する内蔵キャッシュ無効化のためのメッセー
ジを送ることによって、TSLのキャッシングの効果を
向上させることができる。
更箇所に関する内蔵キャッシュ無効化のためのメッセー
ジを送ることによって、TSLのキャッシングの効果を
向上させることができる。
【0075】また、本発明に係るアトリビュート・プロ
セッサを1チップ上に実装することが可能であり、高速
に動作させることができる。
セッサを1チップ上に実装することが可能であり、高速
に動作させることができる。
【0076】すなわち、本発明に従ってTSLを高速に
管理すれば、PHIGSなどで書かれたプログラムを、
内蔵キャッシュ型の高性能汎用マイクロプロセッサを用
いたマルチプロセッサ上で高速に並列処理することがで
きる。例えば、IBMが開発した大型計算機からパーソ
ナルコンピュータに至るまでサポートしている3次元グ
ラフィックス・インターフェースとしてgraPHIGS
がある。このgraPHIGSから送られてくる命令列
を、汎用プロセッサを用いたマルチプロセッサによって
処理する場合、この計算能力はノードの台数に応じて向
上することは明らかである。
管理すれば、PHIGSなどで書かれたプログラムを、
内蔵キャッシュ型の高性能汎用マイクロプロセッサを用
いたマルチプロセッサ上で高速に並列処理することがで
きる。例えば、IBMが開発した大型計算機からパーソ
ナルコンピュータに至るまでサポートしている3次元グ
ラフィックス・インターフェースとしてgraPHIGS
がある。このgraPHIGSから送られてくる命令列
を、汎用プロセッサを用いたマルチプロセッサによって
処理する場合、この計算能力はノードの台数に応じて向
上することは明らかである。
【図1】図1は、本発明の実施例に係るグラフィックス
・システムの概観構成を示す図である。
・システムの概観構成を示す図である。
【図2】図2は、該グラフィックス・システム内に備え
られた1つのノードの内部構成を示す図である。
られた1つのノードの内部構成を示す図である。
【図3】図3は、該ノード内に含まれるTSLバッファ
/コントローラの詳細な構成を示す図である。
/コントローラの詳細な構成を示す図である。
【図4】図4は、該グラフィックス・システムにおいて
使用されるディスプレイ・リストの例を示す図である。
使用されるディスプレイ・リストの例を示す図である。
【図5】図5は、本発明の実施例に係るグラフィックス
・システムの動作を示す図である。
・システムの動作を示す図である。
【図6】図6は、本発明の実施例に係るグラフィックス
・システムの動作を示す図である。
・システムの動作を示す図である。
【図7】図7は、本発明の実施例に係るグラフィックス
・システムの動作を示す図である。
・システムの動作を示す図である。
【図8】図8は、本発明の実施例に係るグラフィックス
・システムの動作を示す図である。
・システムの動作を示す図である。
【図9】図9は、本発明の実施例に係るグラフィックス
・システムの動作を示す図である。
・システムの動作を示す図である。
【図10】図10は、本発明の実施例に係るグラフィッ
クス・システムの動作を示す図である。
クス・システムの動作を示す図である。
【図11】図11は、本発明の実施例に係るグラフィッ
クス・システムの動作を示す図である。
クス・システムの動作を示す図である。
【図12】図12は、本発明の実施例に係るグラフィッ
クス・システムの動作を示す図である。
クス・システムの動作を示す図である。
100…グラフィック・システム、10…ディスパッチ
・プロセッサ、11…ディスパッチ・バス、12…外部
バス、20…ノード、21…MPU、22…メモリ、2
3…アトリビュート・プロセッサ、24…MPU・バ
ス、25…メモリ・バス、30…マージ・プロセッサ、
31…マージ・バス、51…入力側FIFO、52…分
岐回路、53…TSLバッファ/コントローラ、54…
出力側FIFO、61…第1のTSLバッファ、62…
第2のTSLバッファ、63…TAG回路、64…LZ
C回路、65…比較回路、66…DMA制御回路、7
1,72,73,74,75…MUX。
・プロセッサ、11…ディスパッチ・バス、12…外部
バス、20…ノード、21…MPU、22…メモリ、2
3…アトリビュート・プロセッサ、24…MPU・バ
ス、25…メモリ・バス、30…マージ・プロセッサ、
31…マージ・バス、51…入力側FIFO、52…分
岐回路、53…TSLバッファ/コントローラ、54…
出力側FIFO、61…第1のTSLバッファ、62…
第2のTSLバッファ、63…TAG回路、64…LZ
C回路、65…比較回路、66…DMA制御回路、7
1,72,73,74,75…MUX。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 森山 孝男 神奈川県大和市下鶴間1623番地14 日本 アイ・ビー・エム株式会社 東京基礎研 究所内 (72)発明者 小野 眞 神奈川県大和市下鶴間1623番地14 日本 アイ・ビー・エム株式会社 東京基礎研 究所内 (56)参考文献 特開 平5−54004(JP,A) 特開 昭60−159962(JP,A) 特開 昭58−185083(JP,A) 情報処理学会論文誌、34[4](平5 −4)「PHIGSの構造体を処理する ジオメトリ演算のマルチプロセッサ上で の実行効率評価」、P.732−742
Claims (4)
- 【請求項1】 割り振られたタスクを並列に実行する複
数のノードを有するマルチプロセッサにおいて、 順序性を持ったデータ・セットを受けとって順次各ノー
ドに放送するとともにタスクをいずれかのノードに割り
振る分配処理手段と、各ノードの処理結果を統合する統
合処理手段とを有し、 さらに、各ノードは、鍵状態と鍵解除状態のいずれかの
状態をとり、データ・セット単位でアドレス指定可能で
且つ受けとったデータ・セットを該当するアドレス上に
即時書き込む第1の一時記憶手段と、データ・セット単
位でアドレス指定可能で且つ各アドレスは第1の一時記
憶手段のアドレスと対応付けられており鍵状態に応じて
データ・セットの瞬時値を保持する第2の一時記憶手段
と、各第1及び第2の一時記憶手段の対応するアドレス
に格納されたデータ同士を比較して差分を検出する比較
手段と、該差分を該アドレスに対応する領域に記憶する
差分記憶手段と、第2の一時記憶手段に格納されたデー
タ・セットを参照しながら割り振られたタスクを処理す
るとともに該タスクの処理終了時にノードを鍵解除状態
にするタスク処理手段と、タスク処理手段の第2の一時
記憶手段への参照を制御するとともにタスクの分配に応
答して差分記憶手段より差分を検出されたアドレスを読
み出して第1の一時記憶手段の該アドレス上のデータ・
セットを第2の一時記憶手段の対応アドレスにコピーす
るとともに該コピーの動作終了時にノードを鍵状態にす
る記憶制御手段とを具備することを特徴とするマルチプ
ロセッサ。 - 【請求項2】 記憶制御手段はデータ・セットをコピー
する際に該アドレスをタスク処理手段にも流すととも
に、タスク処理手段はキャッシュメモリを内蔵しており
且つ記憶制御手段から受けとったアドレスに対応するキ
ャッシュメモリの領域を無効化することを特徴とする請
求項1に記載のマルチプロセッサ - 【請求項3】 割り振られたタスクを並列に実行する複
数のノードを有するマルチプロセッサであって、順序性
を持ったデータ・セットを受けとって順次各ノードに放
送するとともにタスクをいずれかのノードに割り振る分
配処理手段と、各ノードの処理結果を統合する統合処理
手段とを有し、さらに、各ノードは、鍵状態と鍵解除状
態のいずれかの状態をとり、データ・セット単位でアド
レス指定可能な第1の一時記憶手段と、データ・セット
単位でアドレス指定可能で且つ各アドレスは前記第1の
一時記憶手段のアドレスと対応付けられている第2の一
時記憶手段と、タスクを処理するタスク処理手段とを含
んでいるマルチプロセッサを制御する方法において、 分配処理手段がデータ・セットを受けとって各ノードに
放送する工程と、 第1の一時記憶手段が前記データ・セットを該当するア
ドレスに書き込む工程と、 前記データ・セットと第2の一時記憶手段の対応するア
ドレスに格納されたデータ・セットとを比較して差分を
検出する工程と、 前記差分をアドレスと対応付けて記憶する工程と、 分配処理手段が1つのノードを選択してタスクを割り振
る工程と、 該タスクの割り振りに応答して、差分を検出されたアド
レスを読み出して、第1の一時記憶手段の該アドレスに
格納されたデータ・セットを第2の一時記憶手段の対応
するアドレスにコピーする工程と、 差分を検出された全てのアドレスについてコピーする工
程が終了すると、ノードを鍵状態にする工程と、 鍵状態に応じて、タスク処理手段が第2の一時記憶手段
を参照しながらタスクを処理する工程と、 タスク処理手段がタスクを終了すると鍵解除状態にする
工程と、 を具備することを特徴とするマルチプロセッサの制御方
法。 - 【請求項4】 タスク処理手段はキャッシュメモリを内
蔵しており、 データ・セットをコピーする際に該アドレスをタスク処
理手段にも流す工程と、 タスク処理手段が受けとったアドレスに対応するキャッ
シュメモリの領域を無効化する工程とをさらに具備する
ことを特徴とする請求項3に記載のマルチプロセッサの
制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21243293A JP2521027B2 (ja) | 1993-08-27 | 1993-08-27 | マルチプロセッサ及びその制御方法 |
EP94305952A EP0640930A3 (en) | 1993-08-27 | 1994-08-11 | Multiprocessor system and control method for such a system. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21243293A JP2521027B2 (ja) | 1993-08-27 | 1993-08-27 | マルチプロセッサ及びその制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0793266A JPH0793266A (ja) | 1995-04-07 |
JP2521027B2 true JP2521027B2 (ja) | 1996-07-31 |
Family
ID=16622507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21243293A Expired - Lifetime JP2521027B2 (ja) | 1993-08-27 | 1993-08-27 | マルチプロセッサ及びその制御方法 |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP0640930A3 (ja) |
JP (1) | JP2521027B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001017424A (ja) * | 1999-07-02 | 2001-01-23 | Toshiba Corp | 超音波診断装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8325761B2 (en) | 2000-06-26 | 2012-12-04 | Massivley Parallel Technologies, Inc. | System and method for establishing sufficient virtual channel performance in a parallel computing network |
US7418470B2 (en) | 2000-06-26 | 2008-08-26 | Massively Parallel Technologies, Inc. | Parallel processing systems and method |
EP1502203A2 (en) * | 2002-01-10 | 2005-02-02 | Massively Parallel Technologies, Inc. | Parallel processing systems and method |
US8108512B2 (en) | 2006-09-01 | 2012-01-31 | Massively Parallel Technologies, Inc. | System and method for accessing and using a supercomputer |
US7958194B2 (en) | 2008-08-25 | 2011-06-07 | Massively Parallel Technologies, Inc. | System and method for parallel processing using a Type I Howard Cascade |
US10216692B2 (en) | 2009-06-17 | 2019-02-26 | Massively Parallel Technologies, Inc. | Multi-core parallel processing system |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4047161A (en) * | 1976-04-30 | 1977-09-06 | International Business Machines Corporation | Task management apparatus |
EP0543560B1 (en) * | 1991-11-19 | 1999-12-22 | Sun Microsystems, Inc. | Arbitrating multiprocessor accesses to shared resources |
-
1993
- 1993-08-27 JP JP21243293A patent/JP2521027B2/ja not_active Expired - Lifetime
-
1994
- 1994-08-11 EP EP94305952A patent/EP0640930A3/en not_active Withdrawn
Non-Patent Citations (1)
Title |
---|
情報処理学会論文誌、34[4](平5−4)「PHIGSの構造体を処理するジオメトリ演算のマルチプロセッサ上での実行効率評価」、P.732−742 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001017424A (ja) * | 1999-07-02 | 2001-01-23 | Toshiba Corp | 超音波診断装置 |
Also Published As
Publication number | Publication date |
---|---|
EP0640930A2 (en) | 1995-03-01 |
JPH0793266A (ja) | 1995-04-07 |
EP0640930A3 (en) | 1995-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5649230A (en) | System for transferring data using value in hardware FIFO'S unused data start pointer to update virtual FIFO'S start address pointer for fast context switching | |
US4928225A (en) | Coherent cache structures and methods | |
CN1617113B (zh) | 分配虚拟内存的方法、存储控制器和计算机*** | |
US5751995A (en) | Apparatus and method of maintaining processor ordering in a multiprocessor system which includes one or more processors that execute instructions speculatively | |
EP0514024B1 (en) | Method and apparatus for an improved memory architecture | |
US8255591B2 (en) | Method and system for managing cache injection in a multiprocessor system | |
JPH0997214A (ja) | 補助プロセッサのためのアドレス変換を含む情報処理システム | |
JPH0576060B2 (ja) | ||
JP3431850B2 (ja) | 同期化するための処理を行う方法およびデータ処理システム | |
US6223266B1 (en) | System and method for interfacing an input/output system memory to a host computer system memory | |
US6675262B1 (en) | Multi-processor computer system with cache-flushing system using memory recall | |
EP1416390A2 (en) | Cache pollution avoidance instructions | |
US20030061452A1 (en) | Processor and method of arithmetic processing thereof | |
JP2521027B2 (ja) | マルチプロセッサ及びその制御方法 | |
US20020116581A1 (en) | Memory aliasing in a processor system | |
EP0442690A2 (en) | Data cache store buffer for high performance computer | |
KR960012354B1 (ko) | 마이크로 프로세서 | |
JPH05158793A (ja) | 並列キャッシュメモリ | |
JP3006204B2 (ja) | 情報処理装置 | |
EP0787326B1 (en) | System and method for processing of memory data and communication system comprising such system | |
JP2700147B2 (ja) | 命令キャッシュ・フラッシュ・オン・rei制御 | |
JP3219810B2 (ja) | データ処理装置 | |
JPH0793215A (ja) | 半導体記憶装置 | |
JPH06231048A (ja) | コンピュータシステムおよびキャッシュメモリ制御装置 | |
JP3299147B2 (ja) | キャッシュ制御回路 |