JPH06101026B2 - グラフィックプロセツサ - Google Patents

グラフィックプロセツサ

Info

Publication number
JPH06101026B2
JPH06101026B2 JP61058455A JP5845586A JPH06101026B2 JP H06101026 B2 JPH06101026 B2 JP H06101026B2 JP 61058455 A JP61058455 A JP 61058455A JP 5845586 A JP5845586 A JP 5845586A JP H06101026 B2 JPH06101026 B2 JP H06101026B2
Authority
JP
Japan
Prior art keywords
pixel
data
processor
group
processors
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP61058455A
Other languages
English (en)
Other versions
JPS61255476A (ja
Inventor
レオン・ルメルスキー
Original Assignee
インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション
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 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション filed Critical インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション
Publication of JPS61255476A publication Critical patent/JPS61255476A/ja
Publication of JPH06101026B2 publication Critical patent/JPH06101026B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multi Processors (AREA)
  • Image Processing (AREA)
  • Processing Or Creating Images (AREA)

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明は、画素長が任意に制限されず、同時に広い範囲
のロード可能操作セットを実現でき、様々なフォーマッ
トの画素データを処理できる、改良されたグラフィック
・プロセッサに関するものである。
B.開示の概要 画素プロセッサは複数の画素スライス・プロセッサ(PS
P)を含み、そのアーキテクチャは画素スライス・プロ
セッサの数を増やすだけで画素長が拡張できるように配
列されている。各画素スライス・プロセッサは、まず別
の画素スライス・プロセッサと相互接続されており、フ
レーム・バッファを含む各種のソースから導き出したデ
ータを選択的に処理手段に提示するための複数のレジス
タ・ゲート、およびマルチプレクサを含んでいる。処理
手段の出力は、フレーム・バッファに戻して記憶するこ
ともでき、または関連する画素スライス・プロセッサ中
の1個または複数のレジスタあるいは別の画素スライス
・プロセッサ中のレジスタに送ることができる。画素ス
ライス・プロセッサのビット容量に等しいまたはそれを
越える画素長については、SIMD操作を行なう。本発明の
特定の実施例では、画素スライス・プロセッサのビット
容量と越える画素長に対して、SIMD操作を行なう。K個
の画素に対して同時に操作を行なうため、画素スライス
・プロセッサを、それぞれK個のプロセッサを含むn/i
組のグループにまとめる。ただし、iは各画素スライス
・プロセッサのビット処理能力を示し、nは画素長であ
る。
このアーキテイクチャは (i)各画素スライス・プロセッサと関連するフレーム
・バッファとの間での、グループ内部の双方向データ流
れ、 (ii)あるグループ内の画素スライス・プロセッサ間の
データ流れ、および (iii)異なるグループの対応する画素スライス・プロ
セッサ間のデータ流れ を処理するためのデータ・パスを含んでおり、そのため
画素内繰上げを必要とする計算および画素間通信を必要
とする条件つき計算が可能である。
C.従来の技術 グラフィック適用業務の主な問題点は、画面更新の実行
である。単一の(またはホスト・)プロセッサがすべて
のグラフィック計算を処理する場合、その結果は通常実
行時間が受け入れ難いほど長くなる。分散処理方式を使
うと、この問題の解決に役立つ。すなわち、グラフィッ
ク・プロセッサは、ホスト・プロセッサで制御される処
理エレメントのアレイである。
先行技術のグラフィック・プロセッサは、典型的な場
合、ビット・スライス・マイクロプログラム式マシンま
たは通常のマイクロプロセッサのどちらかを使ってき
た。しかし、先行技術のアーキテクチャは、その画素長
が比較的任意に制御されていた。このアーキテクチャの
改良は、演算論理機構(ALU)をフレーム・バッファの
データ・ストリームに組み込むことによって実現され
た。
コンピュータ・グラフィックス誌(“Computer Graphic
s")、第15巻、第3号、1981年8月刊、所載のクロウ
(Crow)等の論文「改善された機能性をフレーム・バッ
ファ・システム」(“A Frame Buffer System with Enh
anced Fun ctionality")を参照のこと。このハードウ
ェアは、読取り/修正/書込み記憶装置を加速し、任意
の画素長に拡張することができる。残念ながらこの方法
は、条件つき計算には好都合でなく、ソース・オペラン
ドと宛先オペランドのアドレスが異なる状況を効果的に
処理できない。
SUNワークステーション・アーキテクチャ(コンピュー
タ・グラフィックス誌(“Computer Graphics")、第14
巻、第3号、1980年7月刊、所載のベヒトルスハイム
(Bechtolsheim)等の論文、および「FT−1024ユーザー
ズ・マニュアル」(“FT−1024 User's Manual")、フ
ォワード・テクノロジー社、カリフオルニア州サンタ・
クララ、1982年刊、を参照のこと)は、ALUオペランド
記憶用の余分のレジスタを含んでいる。このワークステ
ーションは、任意にアドレスされたオペランドに対する
組合せ機能をもたらす。しかし、SUNグラフィック・プ
ロセッサは、そのアーキテクチャが単一ビット・プレー
ン・フォーマット向けであるため、グレイ・スケースま
たはカラー・イメージ修正のために容易に再配列できな
い。SUNワークステーションでは、ホスト・プロセッサ
が画素値に対する条件につき演算操作を担当しており、
このことは重大な拘束である。
上記のどちらのアーキテクチャも、操作ビットおよび画
素データ・フォーマットが予め定められているという拘
束がある。こちらの拘束は重大である。たとえば、画素
データは、ある種の適用業務では異なる長さをもつ赤
色、緑色、青色および深さ(Z)コンポーネントを含
み、別の適用業務ではいくつかのビット・プレーンを表
わすことがある。操作ビットおよびデータ・フォーマッ
トが、特定の適用業務に応じて異なることがあり得る。
D.問題点を解決するための手段 本発明は、一つの実施例では下記の特性をもつn−ビッ
ト画素スライス・プロセッサないし単位プロセッサを含
むアーキテクチャを提供することによって、先行技術の
上記およびその他の問題を解決するものである。
ALUは、ランダム・アクセス・メモリ(RAM)の形をと
る。RAMの最初のnアドレス・ビットは第1のオペラン
ドを表し、次のnビットは第2オペランドを表す。その
他のアドレス・ビットは、操作制御をもたらす。単位プ
ロセッサは、RAMのn入出力ビットをラッチLAと結合す
るためのトランシーバを含んでいる。ALUで実現される
特定の機能は、機能テーブルとして表され、それがデー
タ線からトランシーバを経てRAMにロードされる。した
がって、このトランシーバは双方向性である。
ラッチLAに常駐する出力データは、フレーム・バッファ
(FB)に書き込み、または第2のバス・トランシーバ
(BT)を使って、PSPバスに載せる。FBおよびLAデータ
は、またソース・マスク・レジスタ(SMR)、ソース・
レジスタ(SR)、宛先マスク・レジスタ(DMR)および
宛先レジスタ(DR)にロードできる(以下「ソース(So
urce)を「S」、「宛先(Destination)」を「D」と
も表す。)BTを通るデータ流れ方向を制御することによ
って、PSPバスを使ってFBまたは上記の4種のレジスタ
のうちの1個ないし数個にロードすることができる。
SR、SMR、DR、およびDMRレジスタは、ソース・データと
宛先データのストアまたは条件コードとして働く。後者
の場合、SRデータとSMRデータの論理積がSANDゲートに
よって実現され、それに応じてDRデータとDMRデータの
論理積がDANDゲートに代ってもたらされる。
ソース・マルチプレクサ(SM)が、その4つのn−ビッ
ト入力をALUに対するオペランドとして選択する。すな
わち、ALUに対する一つのオペランドを、SRデータ、SMR
データ、SANDデータ、およびLAデータとFBデータのどち
らかから選ぶことができる。LA出力は(BTを経て)PSP
バスにも接続されているので、PSPデータ・バスもALUオ
ペランドとして使用して、カスケード形画素スライス・
プロセッサないし単位プロセッサ間のデータ通信をもた
らすことができる。宛先マルチプレクサ(DM)も同様
に、DMR、DR、DAND、LA、FB、またはPSPバスのうちから
選択して、ALUに対するもう1つのオペランドをもたら
す。
マイクロプログラム式制御装置からの制御信号が、対応
する装置のクロック入力を使用可能にする。(パイプラ
イン式データ流れの能力をもたらす。) 単位プロセッサはPSPバス上で通信できるので、必要な
らば、より大きな画素長を収容するため、単位プロセッ
サの数を変更することができる。したがって、nよりも
大きな長さの画素が処理できる。
一つの実施例によれば、本発明は、 複数の単位プロセッサ 上記のすべての単位プロセッサに接続された第1の伝導
手段、 少なくとも2つの出力グループをもち、第1の出力グル
ープは上記のすべての単位プロセッサに接続され、第2
の出力グループは、上記の別々の単位プロセッサに独自
に接続されている制御メモリ、 上記の各単位プロセッサとの間の双方向データ・パスを
備えたフレーム・バッファ、 からなり、 上記の各単位プロセッサが、 ビット長がnの第1および第2のオペランド・レジス
タ、 上記のオペランド・レジスタから導かれてデータを処理
してn−ビット出力データを生成するための上記の各オ
ペランド・レジスタからの入力をもつn−ビット処理手
段、 上記処理手段の上記のnビット−出力データに応答する
データ・ラッチおよび 上記のラッチをフレーム・バッファおよび上記の第1伝
導手段に結合する接続手段、を含み、 nビットまたはそれ以下の画素長を拡張する毎に追加の
単位プロセッサを追加して、画素長の拡張部を収容す
る、 ビット長が拡張可能な画素プロセッサを提供する。
本発明の別の実施例では、画素スライス・プロセッサは
画素長と同じ幅のデータを処理できる必要はなく、画素
スライス・プロセッサのグループを選択的に使って、各
画素を処理する。しかし、同時に実行は単一画素のみに
制限されていず、単一命令複数データ(SIMD)処理が使
用される。これは、n−ビットの画素についてn個のフ
レーム・バッファ・プレーンを使うことによって実現さ
れる。複数データ・ストリームの処理は、Kビット・ワ
ードをもたらすように各フレーム・バッファ・プレーン
を選択して、同時にK個の画素が処理できるようにする
ことによって、実現される。画素スライス・プロセッサ
は、それぞれiビットのデータを処理できる。(ただ
し、n、K、iはそれぞれ1より大きい独立の整数であ
り、iはn以下である)。nフレーム・バッファ・プレ
ーンを、各グループがi個のプレーンを含む複数のグル
ープに分割する。同様に画素スライス・プロセッサも、
各フレーム・バッファ・フレーン・グループに対して1
つの画素スライス・プロセッサのグループができるよう
に、グループにまとめる。各画素スライス・プロセッサ
は、同時に幅iビットのデータを処理できるので、1グ
ループ当りの画素スライス・プロセッサはK個である。
単一プロセッサの処理能力を越える長さの画素スライス
・プロレッサを相互接続するデータ・パスを介した画素
内繰上げを設ける。一方、条件つき計算を行なう際の先
行技術の問題点を避けるため、あるグループ内の画素ス
ライス・プロセッサ間の通信のためのデータ・パスを設
ける。この実施例では、本発明は、 1グループ当りi個のフレーム・バッファを含むグルー
プに配列され、それぞれがKビット幅のデータを記憶す
る、n個のフレーム・バッファ(ただし、nとiはそれ
ぞれ1より大きな独立の整数であり、iはフレーム・バ
ッファのグループをn/i組与えるn以下の整数)、 1グループ当りK個のプロセッサを含むn/i組のグルー
プに配列され、各プロセッサ・グループがそれぞれ各フ
レーム・バッファ・グループに対応し、それぞれがiビ
ット幅のデータに対して動作する、複数の画素スライス
・プロセッサ、および 上記のフレーム・バッファと上記の画素スライス・プロ
セッサの間での、グループ内部の双方向データ流れ、あ
るグループ内の画素スライス・プロセッサ間のデータ流
れ、および異なるグループの対応する画素スライス・プ
ロセッサ間のデータ流れを実現するためのデータ・パス
手段、 からなり、 画素内繰上げまたは画素間通信を必要とする計算が上記
データ・パス手段上で実施され、また画素長の拡張が整
数nの増加によって処理される、 画素長を容易に拡張でき、かつ効率的な画素間通信を必
要とする条件つき操作を効率的に処理できる、同時にK
個の画素(ただし、Kはより大きな整数)に対する単一
命令複数データ操作用のグラフィック・プロセッサを提
供する。
この実施例にもとづいて本発明を効率的に実現するた
め、各画素スライス・プロセッサ・グループを異なる回
路基板に配置することができる。すなわち、あるグルー
プ内の画素スライス・プロセッサ間の通信をもたらすデ
ータ・パスを完全に一枚の回路基板内に配置する。画素
内通信用に、異なる回路板を結合するバスを設ける。画
素内バスは、同時に処理される画素の数Kと同数の導線
グループしか必要としない。1グループ当りの導線はi
本となり、画素内バスは合計K*i本の導線を必要とす
る。基板内バスは、n(画素のビット長)と関係がない
ので、処理される画素長を拡張するには、追加の回路基
板を追加するだけでよい。したがって、本発明のこの態
様は、 上記の各画素スライス・プロセッサ・グループが上記の
回路基板のうちの異なるものの上に配置されている、各
グループ毎に1個ず複数個の回路基板、および 上記のデータ・パス手段ののち、異なるグループの対応
する画素スライス・プロセッサ間のデータ流れに対する
部分をもたらすための基板間バス、を含む、上記のよう
な装置を提供する。
本明細書の以下の部分では、添付の図面を参照しながら
本発明についてさらに説明する。
E.実施例 第1図は、本発明にもとづいて作成した画素プロセッサ
10のブロック・ダイアグラムである。第1図には、プロ
セッサ10をフレーム・バッファ30、マイクロプログラム
式制御メモリ20、トランシーバ40、およびホスト・デー
タ・バス50との関連で示してある。画素プロセッサ10
は、複数のPSP(または1つの)プロセッサを含んでい
る。第1図には、画素スライス・プロセッサ11(PSP
1)、PSP2(12)、PSPK(13)を示してある。第1図の
実施例では、各PSPプロセッサは、データをnビット単
位で処理するか、後述の様に画素長はnよりも大きくて
もよい。単位プロセッサの数は任意であり、その選択
は、選んだ画素長と各単位プロセッサのビット容量
(n)に依存する。例えば、32ビット画素の場合、それ
ぞれ8ビットを処理する単位プロセッサ4個で充分であ
る。一方この画素プロセッサのアーキテクチャは、複数
の画素を同時に処理できる。例えば、8ビット画素の場
合、それぞれ8ビット幅の単位プロセッサ4個が4個の
画素を同時に処理することになる。
各単位プロセッサは、フレーム・バッファ30との間に専
用の双方向データ・バスを備えている。即ち、プロセッ
サ11は専用バス1Bを持ち、プロセッサ12は専用バス2Bを
持ち、プロセッサ13は専用バスKBを持っている。
トランシーバ40も、各単位プロセッサをホストデータ・
バス50に接続する双方向データ・バスを備えている。PS
Pバスか、バス1P−KPを経て各単位プロセッサに接続さ
れ、このPSPバスは、トランシーバ40に接続されてい
る。各単位プロセッサは、またバス51、52……5Kを介し
てホスト・データ・バス50にデータを受信または送信で
きる。
マイクロプログラム式制御メモリ20が、各単位プロセッ
サに結合されている。マイクロプログラム式メモリ20か
ら出る制御信号は、第1、及び第2のグループに分類で
きる。第1の制御信号グループは、すべての単位プロセ
ッサに共通に結合される。即ち、個別信号Y1−Y(13+
L)を含む。Y制御信号グループである。マイクロプロ
グラム式制御メモリ20から出る第2の制御信号グループ
は、別々の単位プロセッサに独自に結合される。この制
御信号グループは、X制御信号とZ制御信号を含み、各
グループ内の制御信号は唯一の単位プロセッサに結合さ
れる。即ち信号X1とZ1は、単位プロセッサ11に結合され
X2とZ2は、単位プロセッサ12に結合され、XKとZKは単位
プロセッサ13のみに結合される。
第2図は、典型的な単位プロセッサのブロック・ダイア
グラムである。ALU機能は、RAM200の形で実現される。R
AM200は、ポート200A、200B、200Cで3つのデータ入力
パスに、またボート200Dで1つの入出力バスに結合され
ている。入力ポート200Aはnビット・パスを経てソース
・マルチプレクサSMUXの出力部に結合されている。SMUX
は異なる4つのnビット入力を持ち、この4つの入力の
うちのどれが有効かは、制御信号Y3とY4が決定する。第
1の入力は、SANDゲートの出力によってもたらされる。
SANDゲートは、2つのnビット入力をもつ。第1の入力
はNビット・レジスタSMRから導かれ、第2の入力はn
ビット・レジスタSRから導かれる。SMUXその他の3つの
入力のうちの2つは、それぞれレジスタSMRとSRの出力
によって直接もたらされる。SMUXマルチプレクサへの第
4の入力は、Bバスによってもたらされる。これは、フ
レーム・バッファ30に入力する単位プロセッサの専用双
方向バスである。SMRレジスタおよび、SRレジスタへの
入力も、Bバスによってもたらされ、それぞれ制御信号
Y2とY1によってゲートされる。
入力ポート200Bに結合されたデータ・バスは同様の宛先
装置から導かれる。もっと具体的に言えば、入力ポート
200Bは、4つのnビット入力をもつ宛先マルチプレクサ
DMUXの出力部に結合されている。第1の入力は、ゲート
DANDによってもたらされる。ゲートDANDへの入力は、レ
ジスタDMR及びDRによってもたらされ、これらのレジス
タはDMUXへの他の3つの入力のうちの2つももたらす。
DMUXへの第4の入力はBバスから導かれ、DMUXへの有効
入力は制御信号Y7とY8が選択する。レジスタDMR及びDR
への入力もBバスによってもたらされ、制御信号Y5とY6
によってゲートされるX制御信号がレジスタDMR及びDR
を刻時(すなわち、該レジスタのクロック入力信号を発
生)する。
入力ポート200Cは、Lビット幅であり、制御信号Y14−
Y(13+L)によってすべての単位プロセッサに共通に
与えられる。入出力ポート200Dもnビット幅であり、ト
ランシーバTに結合されている。トランシーバTを通る
データ流れの方向は共通制御信号Y10によって制御さ
れ、RAM200データ方向も同じ信号で制御される。トラン
シーバTのRAM200に接続されていない入出力ポートは、
ラッチLAの入力部およびホスト・データ・バス50に結合
されている。ラッチLAの出力部は、双方向トランシーバ
BTとフレーム・バッファ・バスBに結合されている。ラ
ッチLAは共通制御信号Y11によって刻時され、共通制御
信号Y12によって使用可能にされる。双方向トランシー
バBTのもう一つの入出力ポートは、PSPバスに結合され
ている。双方向トランシーバBTを通るデータ流れの方向
は、独自の制御信号Zによって制御され、トランシーバ
は共通制御信号Y13によって使用可能にされる。
以上の説明から、どの単位プロセッサの出力データも、
他の単位プロセッサに選択的に送られ、例えば、選択さ
れたSR、SMR、DR及びDMRレジスタのみに、PSPバスから
のデータがロードされる。一例として、Z2、X1、XK、Y2
及びY6がアクティブな場合、単位プロセッサ2のRAM200
からのALU出力データ(制御信号Z2)が単位プロセッサ
1(制御信号X1)とK(制御信号XK)のSMRレジスタ
(制御信号Y2)およびDMRレジスタ(制御信号Y6)にロ
ードされる。
RAM200の内容は、ホスト、プロセッサ・データ・バス50
から書き込むことができる。上側アドレス・ビットは制
御信号Y14−Y(13+L)によってもたらされ、下側ア
ドレス・ビットはALUオペランドとして各単位プロセッ
サのレジスタ対(例えば)SRとDRにロードされる。
レジスタSR、SMR、PR及びDMRは、ホスト・プロセッサ・
データ・バス50からトランシーバ40を経てロードでき
る。このトランシーバはPSPバス上に出力をもたらす。
フレーム・バッファ30の読取りまたは、書込みに、同じ
データ・パスをホストが使う。これは、ホスト・データ
・バスの長さを画素よりも短くでき、したがってホスト
とフレーム・バッファまたは、画素プロセッサの間での
データ転送に数サイクルを要するという事実と合致す
る。一方、すべての双方向トランシーバBTを動作させ
て、ホストからPSPバスを経て、ゼロ(または空白)デ
ータを受け取らせることにより、フレーム・バッファの
メモリ・クリアを同時に実施することができる。
例えば第1図に示したようないくつかの単位プロセッサ
の連結操作が、画素プロセッサの唯一の操作方式ではな
い。いくつかの単位プロセッを並列に動作させて、複数
個の画素を同時に処理することもできる。この場合の画
素プロセッサの連結関係を第3図に示す。第3図は、各
単位プロセッサ11−13を、それらの専用双方向フレーム
・バッファ・パス1B−NBを経て、別のフレーム・バッフ
ァ300−302に結合した所を示したものである。ただし、
フレーム・バッファ300−302は同じフレーム・バッファ
30の別の部分でもよい。各単位プロセッサ11−13は、同
じパス51−5Nを経てホスト・データ・バス50に結合され
ている。マイクロプログラム式制御メモリ20の連結関係
はやや変わっている。第1図の場合と同じく、Y制御信
号は、すべての単位プロセッサ11−13に共通に結合され
ている。第1図と異なる点は、X制御信号およびZ制御
信号をすべての単位プロセッサ11−13に共通なものとす
ることができることである。また、PSPバスの形状も第
1図と違っている。第1図では、PSPバスはトランシー
バの入出力部とすべての単位プロセッサの間で共通に接
続されていたか、第3図に示すようにトランシーバBTの
入出力部は、それぞれ別の単位プロセッサに専用のパス
1P−NPを経てトランシーバ45に、またトランシーバ45を
経て、ホスト・データ・バス50に結合されている。
第1図の配置から第3図の配置に移るとき、マイクロプ
ログラム式制御メモリ20と単位プロセッサ11−13の間の
連結関係を変更する別の方法として、連結関係は第1図
のままにできるが、各X制御信号(X1−XK)が同じで、
また同様に各Z制御信号(Z1−ZK)も同じになるよう
に、マイクロプログラム式制御メモリ20の内容を配列す
る。この別法を、第3図で破線の導線X1−X3とZ1−Z3に
よって示す。
第4図は、本発明の画素スライス・プロセッサが、隠れ
た表面の除去用の3次元コンピュータ・グラフィックス
に適用されてきたZバッファ・アルゴリズムをどのよう
に実現できるかを示したのである。Zバッファ・アルゴ
リズムを使って、その対応する深さ(DZまたはSZ)が、
もう一方の深さよりも大きな場合、1つの画素値(Sま
たはD)をもう一つの画素値(DまたはS)で重ね書き
することができる。もっと正式に記載すると IF(SZ>DZ)THEN D ELSE S この例を説明する際、各単位プロセッサは4ビット幅
(n=4)であり、3つの単位プロセッサがあり(K=
3)、即ち、3つの4ビット単位プロセッサを作って、
12ビット・プロセッサが作成されると仮定する。この12
ビット画素は、4ビット(ビット0−3)の強度情報と
8ビット(ビット4−11)の深さ情報をもつ。第4図を
使って、本発明の画素プロセッサを用いたアルゴリズム
の実行を例示する。図の左側に、このアルゴリズムの実
行をインプリメント(実現)するために使う3つのプロ
セッサのSMR、SR、DMR及びDRレジスタが示されている。
説明しやすくするため3つのプロセッサの共通レジスタ
はすべて一つにまとめる。即ち、第4図の左上隅のブロ
ックには、プロセッサ11、12、13の3つのSMRレジスタ
が縦に並べて示されている。プロセスを示すための時間
軸は水平であり、時間は左から右へと進行する。1つま
たは、複数のレジスタの内容に重大な情報の変更が起こ
ると、レジスタは再生され、新しい情報のソースが再生
される。レジスタの識別は、その垂直位置を維持するこ
とによって単純化される。即ち、3つのSMRレジスタが
図の最上段に示してあり、3つのSRレジスタが第2段に
あり、3つのDMRレジスタが第3段にあり、DRレジスタ
は第4段、即ち最下段にある。時間軸は5つの論理サイ
クルに分割され、各サイクルに1つの命令コード(ALUO
P)が割り当てられる。論理サイクルは、実行に1つま
たは複数のクロック・サイクルを要することがある。プ
ロセス開始時にあるソース画素に対応するデータが3つ
の単位プロセッサのSRレジスタに書き込まれ、別の画素
(宛先画素)に対応するデータが、3つの単位プロセッ
サのDRレジスタに書き込まれたと仮定する。低位4ビッ
トは単位プロセッサ11に書き込まれ、強度情報を表す。
次の4ビットは、低位深さ情報を表し、単位プロセッサ
12に書き込まれる。高位4ビットは、高位深さ情報を表
し、単位プロセッサ13に書き込まれる。
第1のサイクル(CMP)では、単位プロセッサ2中でソ
ース画素および宛先画素からの低位深さ情報の比較が実
行される。同時に、単位プロセッサ3のALU中で高位深
さ情報が比較される。各比較によって、等しい場合00、
DR>SRの場合01、DR<SRの場合10の3つの結果のうちの
1つが生成される。この3つの可能性は、2ビットしか
要せず、残りの2ビット(例えば上位2ビット)は空白
のままでよい。このため、単位プロセッサ2と3のラッ
チLA中に0000、0001または0010が残る。この結果が、プ
ロセッサ2と3のDMRレジスタに書き戻される。この2
つの比較操作から2つのオペランドが得られ、第3のプ
ロセッサで使用される。
第2の論理サイクル(COD(変換:codeの略))は、非標
準的グラフィック操作であり、2つの結果オペランドの
有効な4ビットを使って、プロセッサ13のRAMにアドレ
スする。さらに具体的にいえば、PSP3のDMRレジスタか
らのデータと(PSPバスによってPSP3のBT、バスBおよ
びSMUXに転送される)PSP2のラッチLAからのデータが、
PSP3のRAM200に投入されて、結果バイトを生じる。この
結果バイトはSZがDZよりも大きい場合は0、そうでなけ
ればF(16進数)である。この結果がプロセッサ3のDM
Rレジスタに戻ってロードされる。これで第2の論理サ
イクルは終了する。
第3の論理サイクルは、プロセッサ13のDMRレジスタか
ら各プロセッサのSMRレジスタへの転送だけである。こ
れで第3の論理サイクルは完了する。このとき、比較の
結果が、プロセッサ13のDMRレジスタと各プロセッサのS
MRレジスタに入っている。
第4の論理サイクルは、プロセッサ13でDMRレジスタの
内容に対して実施されるNOT機能である。NOT演算の結果
は、3つの各プロセッサのDMRレジスタに書き込まれ
る。この時点で、ソース深さが宛先深さより大きくなか
った場合、第4図に示すように、それは各プロセッサの
SMRレジスタ中の量F(16進数)および3つの各プロセ
ッサのDMRレジスタ中の(NOT演算の結果としての)量0
で示される。一方、ソース深さが宛先深さよりも大きか
った場合、第3サイクルで生成される結果は第4図に示
すようにはならず、0となる。この0が転送されて各SM
Rレジスタ中に現われるが、各プロセッサのDMRレジスタ
中の量は0ではなくF(16進数)となる。これで第4の
論理サイクルは完了し、所期の結果を生じる第5の論理
サイクルのためのステージがセットされる。
第5の論理サイクルは、3つの各プロセッサ中で実施さ
れ、各RAM200のポート200Aに対する入力としてSAND出力
(SRレジスタとSMRレジスタの内容の論理積)を使用
し、ポート200Bに対する入力はDAND出力(DRとDMRの内
容の論理積である。第4図に示すように、ソース深さが
宛先深さよりも大きくない場合、所期の結果はソース画
素である。これはSAND中で生成された結果であり、各RA
M200のポート200Aに供給される。DANDレジスタの出力は
(DANDゲートへの入力の1つがDMRレジスタの0内容な
ので)0である。RAM200からの結果は、ソース画素であ
り、それが次にラッチLAにロードされ(各プロセッサ中
で4ビット)、さらにフレーム・バッファに転送され
る。一方、ソース深さが宛先深さよりも大きかった場
合、DMRレジスタは量F(16進数)を含み、SMRレジスタ
は量0を含むことになる。したがって、SANDゲートの出
力は0となり、DANDゲートの出力はD画素となり、ラッ
チLAで得られるデータはD画素となり、次にそれがフレ
ーム・バッファに転送される。
第4図に示したようなZバッファ・アルゴリズムのイン
プレメンテーションは、8ビットの深さデータだけに限
られない。8ビットよりも大きな深さデータでは、連続
するいくつかのCMP−CODサイクルが連結されて、この場
合もDMRレジスタ中で単一の結果を生じ、次にそれが第
4図の論理サイクル3、4、5で示すように使われる。
第5図は、別名をつけないコピー操作を表すのに使われ
る同様のダイアグラムである。“ジャギー”とか“ステ
アケーシング”とか呼ばれているグラフィック処理上の
問題は、いくつかの異なる解決策がある。ある方法で
は、事前フィルタしたソース・イメージを、フレーム・
バッファまたはホスト・メモリのキャッシュ部分に記憶
し、次にフレーム・バッファ可視部分に直接コピーす
る。中間グレイ・スケールの強度は、宛先イメージのた
めに選んだ前景色と背景色に依存するので、カラー・イ
メージに対して直接使用できない。RGBカラー・モデル
を採用する場合、ソース強度I、前景色R1、G1、B1およ
び背景色R2、G2、B2にもとづいて、カラー強度を計算で
きる。再度画素値が各RGB成分に対して4ビットずつ12
ビットであり、強度(I)が0から15の(別の4ビッ
ト)範囲であると仮定すると、宛先画素の赤色成分R
は、次のように計算できる。
R=R1*/15+R2*(15−I)/15(1) 緑色(G)成分と青色(B)成分も同じやり方で計算す
る。
このアルゴリズムのインプレメンテーションを、同じ規
約を使って第5図に示す。すなわち、3つのプロセッサ
(PSP1−3)のSMR、SR、DMRおよびDRレジスタが、互い
に隣接しているものとして示す。このプロセスの論理サ
イクルを水平に左から右へと示す。各種レジスタ中の情
報が変化すると、レジスタは(その垂直位置を変更せず
に)再生され、新しい情報とその情報のソースが表され
る。このアルゴリズムの実行を開始するには、R1、G1、
B1前景データを3つのプロセッサのSRレジスタにロード
し、R2、G2、B2背景データをDRレジスタにロードし、強
度IをPSP1NODMRレジスタにロードする。
第1の論理サイクルでは、強度データIがすべてのDMR
レジスタにコピーされる。第2図を暫時参照すると、制
御信号をY7およびY8を使用可能にして、DMUXがその入力
としてDMRレジスタの出力を選択するようにする。これ
でPSP1中のRAM200のポート200Bに対する有効な入力がも
たらされ、PSP2−3中の入力はこれらのプロセッサのDM
Rレジスタが空なのでブランクとなる。制御信号Y3、Y4
を使用可能にして、RAM200のポート200Aに対する入力を
もたらすようにSMRレジスタの出力を選択することがで
きる。これは空白情報であり、RAM200は、これらの状況
下でポート200BをラッチLAにコピーするようにアレンジ
される。PSP1中のBTトランシーバを使用可能にして、ラ
ッチLAの内容をPSPバスに載せる。PSP1のレジスタは刻
時しないので、それらは変更されないままとなる。PSP2
およびPSP3プロセッサ中のレジスタを刻時して、それら
のBTトランシーバを使用可能にして、PSPバスの内容を
Bバスに載せ、制御信号Y6を使用可能にして、PSP2およ
びPSP3中でBバスの内容がDMRレジスタにロードされる
ようにする。Y6はPSPに対して共通であるが、PSP1は刻
時されないため、それがY6制御信号に応答することが防
止される。こうして、強度データIを各PSP1〜3のDMR
レジスタにコピーした。これで第1の論理サイクルは終
了する。
第2の論理サイクルでは、DMRデータを使って各プロセ
ッサ中でNOT機能を実行し、NOT演算の結果がSMRレジス
タに入れられる。したがって第2の論理サイクルの終了
時には各PSP1−3のDMRレジスタはI強度を含み、各PSP
1−3のSMRレジスタは量15−I(Iの補数)を含む。
論理サイクル3では、各RAM/200が、ポート200Aおよび
ポート200Bに対するソースとしてそれぞれSRレジスタお
よびDMRレジスタを使って演算(A*B)/15を実行する
ように制御される。結果はSRレジスタに戻され、第3の
論理サイクルの終了時に、PSP1のSRレジスタはR1の代り
に量(R1*I)/15、PSP2のSRレジスタは(G1*I)/1
5、PSP3のSRレジスタは量(B1*I)/15を含むようにな
る。
論理サイクル4では、SMRおよびDRデータを使って同じ
演算が行われる。したがって、PSP1のDRレジスタは終了
時に量〔R2*(15−I)〕/15、PSP2のDRレジスタ〔G2
*(15−I)〕/15、PSP3のDRレジスタは量〔B2*(15
−I)〕/15を含む。これで第4の論理サイクルは終了
し、最終の第5サイクルのためのステージがセットされ
る。
最終の第5サイクルでは、各プロセッサはそのSRおよび
DRレジスタの内容の加算を実行する。結果は各プロセッ
サのラッチLAにロードされ、そこからフレーム・バッフ
ァ中の宛先位置に結合される。各プロセッサのラッチLA
が式(1)を表すデータを保持することは自明のはずで
ある。
最後に、最後の例は、PSPワードの境界と位置合せされ
ていないデータに対する一般的算術演算の例である。こ
れらの境界は、上記の2つの例のうちの一つのような例
に対して選ばれている。第6図は、異なるプロセッサ
(PSP1−3)の同様のレジスタがすべて互いに隣接して
示され、また時間が水平に左から右へと進行し、またレ
ジスタ中の情報が著しく変化する場合、そのレジスタが
同じ垂直位置に再生され、変更された情報のソースが明
示的に示される点で、第4図および第5図と同じ設定で
ある。第6図に示すように、SRレジスタの内容は一部PS
P1のSRレジスタ中に、一部はPSP2のレジスタ中に若干の
S1データを含んでいる。(具体的には、PSP1はS1データ
の低位ビットS1Aを含み、PSP2のSRレジスタの一部は高
位ビットS1Bを含む)。PSP2のSRレジスタも、S2データ
の低位ビットS2Aを含み、一方PSP3のSRレジスタはS2デ
ータの高位ビットS2Bを含む。DRレジスタは、同じフォ
ーマットの対応する宛先データを保持する。S1とD1、デ
ータおよびS2とD2データを加算するのが目標である。結
果は、連続する4つの論理サイクルで実現される。
第1の論理サイクルでは、PSP1のRAM200がS1AとD1Aの加
算を実行するが、繰上げビット(C1)のみを保持し、そ
れがSMRレジスタの必ず高位ビット位置に記憶される。P
SP中でもS2AとD2Aの高位ビットを使って同じ演算が行わ
れる。RAM200の内容は、この演算では事実上S1BとD1Bを
無視する。この演算の繰上げビットはPSP2のSMRレジス
タのやはり必ず高位ビット位置に記憶される。これで論
理サイクル1は終了する。
論理サイクル2では、各RAM200がSRレジスタとDRレジス
タの加算を実行し、結果をDRレジスタに入れる。すなわ
ちPSP1中の結果は和(S1A+D1A)で繰上げはなく、PSP3
の演算では和(S2B+D2B)が生じ、やはり繰上げはな
く、PSP2プロセッサ中では和(S1B+D1B)がレジスタの
あるサブフイールドで生成され、もう一つのサブフィー
ルドでは和(S2A+D2A)が生成され、やはり繰上げはな
い。この演算では繰上げがないため、出力ビットの数、
したがってDRレジスタのこの和で占められるサブフィー
ルドは入力と等しく、したがってデータ間のオーバーラ
ップはない。RAM200のプログラミングは必ずPSP2中で実
行される演算に特有であり、したがってPSP1やPSP3中で
の演算とは異なる。これで論理サイクル2は終了する。
論理サイクル3では、PSP2プロセッサ中でだけ演算が行
われる。このプロセッサ中では、DRレジスタの内容をPS
P1のSMRレジスタと加算する。PSP1のSMRレジスタから導
かれた繰上げビットが考慮に入っているため、これでS1
+D1の真の結果が与えられる。これで論理サイクル3は
終了する。必要ならば、和D1+S1について他の場所に記
憶されている繰上げビットがあるかどうかテストでき
る。別法として、フィールト長を固定する。そうすると
繰上げは不要またはプログラマの誤りの結果である。
論理サイクル4は、PSP3プロセッサ中でだけ行われ、DR
レジスタの内容がPSP2からのSMRレジスタの(S2A+D2A
の加算からの繰上げビットを含む)内容と加算される。
PSP2のDRレジスタは、2つのサブフィールドを含む。1
つのサブフィールドは、S1+D1の和の高位ビット(具体
的にはS1B+D1B+C1)を含む。DRレジスタのもう一方の
サブフィールドには、S2+D2の低位ビットの和(具体的
にはS2A+D2A)が入る。最後に、PSP3のDRレジスタ中に
は、S2+D2の高位ビットの和(具体的にはS2B+D2B+C
2)が入る。論理サイクル4の終了時の上記のDRレジス
タの内容によって、3つのプロセッサのDRレジスタは、
その関連するRAM200を経てそれぞれのラッチLAに、また
各ラッチLAからフレーム・バッファにゲートできる。結
果のデータ境界は、初期データのデータ境界と同じであ
ることに注意すべきである。さらに、PSP3のSMRレジス
タおよび各プロセッサのDMRレジスタは使用されないこ
とに注意すること。したがって、データ成分間の3つの
任意境界が3つのPSPによって容易に処理できる。さら
に具体的にいえば、第12図が画素中に3ビットの赤色フ
ィールド(ビット0−2)、3ビットの緑色フィールド
(ビット3−5)、4ビットの青色フィールド(ビット
6−9)および2ビットの属性フィールド(ビット10、
11)の情報分布を示すものと仮定する。PSPは4ビット
を処理すると仮定したので、第12図の破線は、PSP1−3
によって処理される画素スライスを示す。フィールド境
界がPSP境界と一致しないことに注意すること。しか
し、第6図に関して説明した方法を使って、この問題を
解決できる。このことは、大部分のカラー・グラフィッ
ク適用業務にとって有意義である。画素データ・フォー
マットがより複雑な場合、あるいはPSPの数よりも多く
の境界がある場合、状況は処理できるが、より複雑にな
る。
第1図および第3図は、それぞれ各画素スライス・プロ
セッサの処理能力を上回る長さの画素を処理できるよう
に(第1図)または画素長が各画素スライス・プロセッ
サの能力に等しい数の画素を同時に処理できるように
(第3図)画素スライス・プロセッサ間の連結関係が変
更された、画素プロセッサを示したものである。しか
し、本発明はそれだけに限られず、画素長が各画素スラ
イス・プロセッサのビット容量を越える場合でも画素の
SIMD処理(並列処理)を実現することができる。これ
が、第9図ないし第11図に示した本発明の第2の実施例
の主題である。
本発明のこの実施例について詳しく説明する前に、まず
第7図と第8図を参照して、先行技術のグラフィック・
プロセッサと本発明によって克服されるその欠点をみて
みる。第7図は、n個のメモリ・プレーン(FB0−FBn−
1)の配列を示したものである。各メモリ・プレーン
は、K−ビット・ワードを含んでいる。すなわち一回の
アクセスでK個のn−ビット画素がもたらされる。これ
はK個の処理エレメントP0−PK−1によって並列にアク
セスされる。各画素プロセッサP0−PK−1(右側)を相
互接続するn−ビット・バスが、n−ビット画素に対す
る画素間通信をもたらす。第7図では、メモリとプロセ
ッサ間のK*n個の外部接続が必要であり、画素長を拡
張する妨げとなる。第7図で画素長を拡張する唯一の方
法は、各画素プロセッサP0−PK−1をその能力が増すよ
うに交換することがある。
第8図は、SUNディスプレイ・アーキテクチャを示した
ものである。このアーキテクチャは、単一ビット画素か
らなるイメージ向けのもので、異なるビット・プレーン
または同じビット・プレーンに記憶されているデータの
並列計算を実現する。プロセッサP0−Pn−1を同時に動
作させることによって、いくつかの画素に対して同時に
計算が実行でき、画素は単一ビットからなるため、同時
画素処理がプロセッサのうちの一台で実行できる。一
方、画素値の計算を必要とするイメージ修正は、ホスト
・コンピュータによって、低速の順次方式で行なわなけ
ればならない。このアーキテクチャではビット長の拡張
は制限されていず、余分のビット・プレーン・メモリと
処理エレメントを追加するだけで増加できる。
しかし、第9図に示した画素プロセッサは、画素長を容
易に拡張でき、同時に画素データのアレイ処理および並
列プレーン間の計算が実現できるグラフィック・プロセ
ッサをもたらす。
ここで第9図を参照すると、フレーム・バッファは、そ
れぞれK−ビット・ワードを含むn個のメモリ・プレー
ン(FB0−FBn−1)によって表される。n個のメモリ・
プレーンは、1グループ当りi個のプレーンを含むグル
ープにまとめられている。また複数の画素スライス・プ
ロセッサ(PSP0、PSP1など)が設けられ、やはり各フレ
ム・バッファ・プレーン・グループに一つの画素スライ
ス・プロセッサ・グループが対応するようにグループに
まとめられている。各画素スライス・プロセッサは、i
−ビット・ワードを処理することができ、1グループに
つきK個の画素スライス・プロセッサがある。あるグル
ープ内の各プロセッサは、異なる画素の一部分を処理す
る。1画素当りnビットで各プロセッサがiビットを処
理するので、1画素当りn/i個のプロセッサが必要であ
り、K個の画素を並列に処理するので、合計K*(n/
i)個のプロセッサがある。
関連するグループ内の画素スライス・プロセッサとフレ
ーム・バッファ・プレーンの間の双方向データ流れをも
たらすため、双方向データ・パスが設けられている。こ
のデータ・パスは、各グループ毎にK*i本の導線を含
んでいる。第9図に示すように、FB0に結合されたK本
の導線は、関連するグループ内の各画素スライス・プロ
セッサのゼロ・ビット位置に結合されている。FB1から
のK個の各出力ビットも、そのグループ内のK個の各画
素スライス・プロセッサの単位ビット位置に結合されて
いる。したがって、FB0から読み取られたK−ビット・
ワードが、そのグループ内の各画素スライス・プロセッ
サに対して単一ビットをもたらす。すべてのフレーム・
バッファに並列にアクセスすると、フレーム・バッファ
FB0−FBi−1から読み取られたK*iビットが、そのグ
ループ内のK個の各画素スライス・プロセッサに対して
iビットのデータをもたらす。他のグループについて同
じ配列が繰り返される。
画素内および画素間通信を実現して、条件つき処理およ
び画素内での繰上げ処理ができるようにするため、画素
スライス・プロセッサが2本の追加データ・パスを経て
互いに相互接続されている。各グループは、データ・パ
スAB(グループ内通信用)を含んでいる。したがってAB
1データ・パス、AB2データ・パスおよびAB(n/i)デー
タ・パスがある。これらの各データ・パスはiビット幅
であり、Bポートを経て画素スライス・プロセッサに結
合されている。各画素スライス・プロセッサは、またC
ポートを含んでいる。
グループ間通信用には、別のデータ・パス(EB)が設け
られている。EBデータ・パスは、異なるグループ中の対
応する画素スライス・プロセッサを相互接続する。たと
えば、EB0は各グループの0オーダー画素スライス・プ
ロセッサ(PSP0、PSPK、PSP2Kなど)を相互接続する。
このデータ・パスは、各ビット毎に1本、i本の導線か
らなるグループを含んでいる。同様のデータ・バスEB1
が、(単位オーダー)画素スライス・プロセッサPSP1、
PSPK+1、PSP2K+1などを、これらの各画素スライス
・プロセッサの当該のCポートを介して接続している。
同様にi−ビット・データ・パス、EB2……EBK−1が設
けられている。
異なるグループ中の対応する画素スライス・プロセッサ
は、共通画素の異なる部分に対して動作するので、デー
タ・パスEB0−EBK−1は、画素内繰上げをもたらす。
一方、同じグループ内の異なるスライス・プロセッサ
は、異なる画素に対して動作し、したがってデータ・パ
スAB1−AB(n−i)は画素間通信をもたらす。
第9図のアーキテクチャの効率的なインプレメンテーシ
ョンは、(画素スライス・プロセッサおよび恐らくは対
応するフレーム・バッファの)異なる各グループを別々
の回路基板上に配置することによって実現される。この
インプレメンテーションにもとづく、グループ内パスは
回路基板の境界と交差しない。グループ間バス(EB0−E
BK−1)は各基板に接続されるが、このバス中の導線の
数およびその基板への接続は、画素長nとは独立であ
り、したがって新しい基板を追加するだけで画素のビッ
ト長を拡張できる。
第9図のアーキテクチャは、画素間計算および画素内計
算の速度が損われない。第9図のアーキテクチャは、ま
た特に画素長nが第7図または第8図のデータ・パスよ
りも大きい場合、第7図または第8図のアーキテクチャ
では反復的メモリ・アクセスが必要なのに、第9図のア
ーキテクチャでは単一メモリ・アクセス以上を必要とす
る画素長で動作する必要がないため、第7図または第8
図のアーキテクチャよりも有利である。
第9図のアーキテクチャは、任意のビット・スライス・
プロセッサ、たとえばAm2901で実現できる。第9図に示
した画素スライス・プロセッサは、第2図に示した形を
とることもできる。さらに具体的にいえば、(第9図
の)ポートBおよびCは、(第2図の双方向トランシー
バBTの代りに)3方向トランシーバに接続される。
第10図は、グループ内およびグループ間通信ネットワー
クのインプレメンテーションである。第10図では、異な
る8個の回路基板(グループ)がある。各グループが4
ビット(i=4)を処理するとすれば、32−ビットの画
素が処理できる。本発明の一実施例では、16画素が並列
に処理された(K=16)。第10図では、フレーム・バッ
ファと画素スライス・プロセッサおよび関連する内部結
線は省略してあるが、バスEB0−EBK−1およびAB1−AB
(n/i)のインプレメンテーションは示してある。さら
に具体的にいえば、この2バス(グループ内バスとグル
ープ間バス)構造を実現するため、第9図または第10図
のプロセッサは3方向トランシーバTR0、TR1などを使っ
ている。これは74LS442にすることができる。各トラン
シーバTR1などのAポートは、関連する画素スライス・
プロセッサたとえばバスBとラッチLA(第2図)に接続
されている。言いかえれば、3方向トランシーバTRを第
2図の双方向トランシーバBTの代りに使用する。基板
(グループ)上の各3方向トランシーバのBポートは、
関連するABバスに接続されている。各トランシーバのC
ポートは、外部バスEB0、FB1などのうちの1本に接続さ
れ、第9図の同じ番号のバス構造を実現している。ホス
ト・データ・バス50は、各基板上の追加トランシーバ、
たとえばT1、T2などに結合されている。各トランシーバ
T1−T8は、基板上の関連するABバスに接続されている。
各基板は、その他に制御装置Cを含んでいる。すなわ
ち、各基板1−8毎に1つずつ制御装置C1−C8がある。
制御バス(8ビット幅)は、各制御装置C1−C8用の制御
信号Y0−Y7をもたらす。制御装置Cは、フィールド・プ
ログラム記憶式論理アレイ82S153として実現できる。し
たがって、第10図に示すように、基板1はビット0−3
を処理し、基板2はビット4−7を処理し、以下同様に
基板8はビット30−32を処理する。各基板上の最低位位
置は第1の画素(画素0)を処理し、各基板上の次の位
置は次の画素(画素1)を処理し、以下同様に各基板上
の最後の位置は画素K−1を処理する。
第11図は、制御装置C1−C8に対するビット割当ての一例
である。制御信号が異なる4種の条件を確定する。たと
えば2本のバスが使用不能であり、バスABは指定した画
素(画素j)からの書込みが可能であり、バスABはホス
ト・データ・バス50から任意の画素をコピー可能であ
り、またバスEBは、ソースを構成する指定された4ビッ
ト画素部分によって使用可能になっている。さらに具体
的にいうと、条件00(それぞれビット8と7)のとき、
すべてのバスが使用不能である。条件01のときは、ABバ
スが使用可能であり、ビット0−3が別の画素に書き込
むソースとなる画素を識別する。この条件01のときに、
ソース画素と関連するトランシーバがそのBポートを介
して送信装置として働き、他のトランシーバはバスABか
らそのBポートを経て受信する。条件10のときは、EBバ
スが使用可能であり、ビット4−6が別の画素に書き込
むソースとなる4ビット画素部分を識別する。すなわ
ち、ビット4M−4M+3と関連するトランシーバがそのC
ポートを介して送信装置として働き、EBバスに結合され
た他のトランシーバは、そのCポートを介して受信装置
として働く。最後に、条件11のときは、ABバスがホスト
・データ・バスから受信できる。すなわち、すべてのト
ランシーバはABバスからそのBポートを経て受信する。
第9図または第10図は、画素の近隣がある走査線に沿っ
ている場合、たとえば処理される16画素が同時にある走
査線に沿っている場合に好都合である。しかし、他の近
隣もよく行われている。同時に処理される16画素が4×
4アレイの形であると仮定する。この場合、ABバス(画
素間バス)を使って、画素データを他の選択された画素
に伝えることができる。いくつかの画素を送る場合、グ
ループ内バスが1本しかないので、連続操作が必要であ
る。第9図または第10図のアーキテクチャを、第13図の
4×4アレイ用と拡張し改良することができる。第13図
は、画素プロセッサ500を示したものである。この場
合、3方向トランシーバTR1などの代りに5ポート・ト
ランシーバETR0などを使う。(EBバスに結合された)1
つのポートは画素内通信用である。他の4個までのポー
トは、それぞれABバスの代りに使った4本までの各バス
専用である。これらのバスは、典型的なPSP9の場合、
(PSP8に接続された)AAB、(PSP5に接続された)BAB、
(PSP10に接続された)CAB、および(PSP13に接続され
た)DABである。したがってPSP9からPSP13へのデータ転
送をPSP5からPSP9への転送と同時に行うことができる。
明らかなことであるが、他にもアレイを接続するための
配置があり、それぞれ別の利点と欠点をもっている。
【図面の簡単な説明】
第1図は、本発明の一実施例にもとづく画素プロセッサ
・アーキテクチャのブロックダイアグラムである。 第2図は、第1図のブロック・ダイアグラムに含まれる
典型的な画素スライス・プロセッサの詳細ブロック・ダ
イアグラムである。 第3図は、本発明の第1の実施例にもとづく、画素プロ
セッサの別のブロック・ダイアグラムである。 第4図ないし第6図は、本発明の第1の実施例にもとづ
いて効率的に実現された、異なる3種の計算アルゴリズ
ムのデータ流れを図示したものである。 第7図および第8図は、先行技術の画素プロセッサ・ア
ーキテクチャを図示したものである。 第9図は、本発明の第2の実施例にもとづく画素プロセ
ッサ・アーキテクチャのブロック・ダイアグラムであ
る。 第10図は、本発明の第2の実施例にもとづく画素プロセ
ッサ間の通信の効率的なインプレメンテーションを図示
したブロック・ダイアグラムである。 第11図は、第10図のブロック・ダイアグラムに示した通
信ネットワークを実現する際に使われる制御信号を列挙
したテーブルである。 第12図は、フィールド境界がPSPビット幅と一致しない
典型的な画素を示したものである。 第13図は、第9図または第10図の第2の実施例のバリエ
ーションである。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】画素長の拡張、および効率的な画素間通信
    を必要とする条件つき処理を実行し、1つが最大nビッ
    トから成るK個の画素(ただし、nおよびKは1より大
    きな整数)に対して同時に単一命令複数データ処理を実
    効するグラフィック・プロセッサにおいて、 1グループ当りi個のフレーム・バッファを含むグルー
    プに配列され、それぞれがKビット幅のデータを記憶す
    る、n個のフレーム・バッファ(ただし、nとiはそれ
    ぞれ1より大きな整数であり、iはフレーム・バッファ
    のグループをn/i組与えるnより小さな整数)、 1グループ当りK個のプロセッサを含むn/i組のグルー
    プに配列され、各プロセッサ・グループがそれぞれ各フ
    レーム・バッファ・グループに対応し、それぞれがiビ
    ット幅のデータに対して動作する、複数の画素スライス
    ・プロセッサ、および、 (i)上記フレーム・バッファと上記画素スライス・プ
    ロセッサ間での、グループ内部の双方向ビット並行デー
    タ流れ、および (ii)あるグループ内の画素スライス・プロセッサ間の
    データ流れ、および (iii)異なるグループの対応する画素スライス・プロ
    セッサ間のデータ流れ、を実現し、1つのグループに属
    するフレーム・バッファと同一グループの画素スライス
    ・プロセッサの接続を含むグループ内部の双方向ビット
    並行データ流れを実現するデータパス手段からなり、 画素内繰上げを必要とする処理および画素間通信を必要
    とする条件つき処理が上記データ・パス手段上で実施さ
    れ、また画素長の拡張が前記整数nの増加によって処理
    される、グラフィック・プロセッサ。
JP61058455A 1985-04-30 1986-03-18 グラフィックプロセツサ Expired - Lifetime JPH06101026B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US72899085A 1985-04-30 1985-04-30
US728990 1985-04-30

Publications (2)

Publication Number Publication Date
JPS61255476A JPS61255476A (ja) 1986-11-13
JPH06101026B2 true JPH06101026B2 (ja) 1994-12-12

Family

ID=24929115

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61058455A Expired - Lifetime JPH06101026B2 (ja) 1985-04-30 1986-03-18 グラフィックプロセツサ

Country Status (4)

Country Link
EP (1) EP0203728B1 (ja)
JP (1) JPH06101026B2 (ja)
CA (1) CA1244958A (ja)
DE (1) DE3689081T2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4809346A (en) * 1986-07-18 1989-02-28 Hughes Aircraft Company Computer vision architecture for iconic to symbolic transformation
US4823286A (en) * 1987-02-12 1989-04-18 International Business Machines Corporation Pixel data path for high performance raster displays with all-point-addressable frame buffers
US5262965A (en) * 1988-10-31 1993-11-16 Bts-Broadcast Television Systems, Inc. System and method for high speed computer graphics image computation using a parallel connected, asynchronous multiprocessor ring coupled to a synchronous special purpose video processing ring

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3273549D1 (en) * 1981-07-24 1986-11-06 Texas Instruments Inc Restructurable integrated circuit
JPS58209784A (ja) * 1982-05-31 1983-12-06 株式会社東芝 メモリシステム

Also Published As

Publication number Publication date
DE3689081T2 (de) 1994-05-05
EP0203728A3 (en) 1990-03-14
DE3689081D1 (de) 1993-11-04
CA1244958A (en) 1988-11-15
EP0203728A2 (en) 1986-12-03
EP0203728B1 (en) 1993-09-29
JPS61255476A (ja) 1986-11-13

Similar Documents

Publication Publication Date Title
US4860248A (en) Pixel slice processor with frame buffers grouped according to pixel bit width
US5812147A (en) Instruction methods for performing data formatting while moving data between memory and a vector register file
US5517666A (en) Program controlled processor wherein vector distributor and vector coupler operate independently of sequencer
KR100319768B1 (ko) 영상화및그래픽처리시스템내에서의다차원주소발생방법
US5801711A (en) Polyline and triangle strip data management techniques for enhancing performance of computer graphics system
EP0138451B1 (en) Vector data processing system for indirect address instructions
US5430885A (en) Multi-processor system and co-processor used for the same
US20010008563A1 (en) Parallel processor and image processing apparatus
JPH0810464B2 (ja) ビデオ表示アダプタ及びピクセル・プロセッサ
JPH10177659A (ja) 改良されたバス通信用の共通データ・ラインを用いてマルチ論理バスを実行する3次元グラフィック・アクセレータ
US4823281A (en) Color graphic processor for performing logical operations
JPS6240740B2 (ja)
US5185859A (en) Graphics processor, a graphics computer system, and a process of masking selected bits
US6091863A (en) Image processor and data processing system using the same processor
US5696944A (en) Computer graphics system having double buffered vertex ram with granularity
KR100765567B1 (ko) 산술 논리 유닛 및 스택을 가지는 데이터 프로세서, 멀티미디어 장치 및 컴퓨터 판독가능 기록 매체
JP2001084229A (ja) Simd型プロセッサ
JP2919774B2 (ja) 深いフレームバッファにおいて浅いピクセルを迅速に指示してコピーする方法
JPH07168752A (ja) ディスプレイメモリ構成体
JPH06101026B2 (ja) グラフィックプロセツサ
US4697235A (en) List vector control apparatus
EP2382546B1 (en) Memory management process and apparatus for the same
JPS6321694A (ja) 画像処理装置
TW301732B (ja)
JPS62205452A (ja) 記憶制御方式