JPH0652051A - 階層メモリ制御 - Google Patents

階層メモリ制御

Info

Publication number
JPH0652051A
JPH0652051A JP3231088A JP23108891A JPH0652051A JP H0652051 A JPH0652051 A JP H0652051A JP 3231088 A JP3231088 A JP 3231088A JP 23108891 A JP23108891 A JP 23108891A JP H0652051 A JPH0652051 A JP H0652051A
Authority
JP
Japan
Prior art keywords
buffer
circuit
line
triangle
memory
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.)
Granted
Application number
JP3231088A
Other languages
English (en)
Other versions
JPH087715B2 (ja
Inventor
Jr Lee E Johnson
リー・エドワード・ジョンソン・ジュニア
Daryl J Kokoszka
ダリル・ジョン・ココスツカ
Steven P Larky
スティーブン・フィリップ・ラーキィ
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0652051A publication Critical patent/JPH0652051A/ja
Publication of JPH087715B2 publication Critical patent/JPH087715B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【目的】本発明は、高性能のメモリ制御を実現する。 【構成】複数の命令を受信するとともに、順次記憶する
ための回路と、それぞれがそのバッファに対するアクセ
スを調整するためのバッファ制御回路を有する複数のバ
ッファメモリとを含むメモリ装置が提供される。また、
各バッファ制御回路および受信回路とそれぞれ結合さ
れ、少なくとも一つの他の順次記憶された命令に応答し
て少なくとも一つの残りのバッファをアクセスする間
に、先に順次記憶された命令に応答して、1あるいは複
数のバッファをアクセスするための回路も含まれる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、一般的には、コンピ
ュータグラフィックスカード、より具体的には、高性能
のラスター化するプロセッサに関する。
【0002】
【従来の技術】図1は、典型的なスカラーコンピュータ
100のブロック図である。コンピュータは、メモリ1
20と結合された主プロセッサ、入力装置130および
出力装置140を含む。入力装置130は、キーボー
ド、マウス、タブレットあるいは他の種類の入力装置を
含む。出力装置140は、テキストモニタ、プロッタあ
るいは他の種類の出力装置を含む。また、主プロセッサ
は、グラフィックスカード200を通じてグラフィック
ディスプレイのような出力装置150と結合される。グ
ラフィックスカード200は、主プロセッサ110から
グラフィックスに関する命令を受信する。そして、この
グラフィックスカードは、その命令を実行し、グラフィ
ックディスプレイ150へのRGB信号を生成し、それ
によって、ワークステーションプロセッサからの所望の
グラフィックス出力を描画する。
【0003】
【発明が解決しようとする課題】本発明は、高性能のメ
モリ制御を実現することを目的とする。
【0004】
【課題を解決するための手段】この発明によれば、複数
の命令を受信するとともに、順次記憶するための回路
と、それぞれがそのバッファに対するアクセスを調整す
る(regulate)ためのバッファ制御手段を含む複数のバッ
ファメモリとを有するメモリ装置が提供される。また、
各バッファ制御回路および受信回路と結合され、少なく
とも一つの他の順次記憶された命令に応答して少なくと
も一つの残りのバッファをアクセスする間に、先の順次
記憶された命令に応答して、1あるいは複数の上記バッ
ファをアクセスするための回路が含まれる。
【0005】
【実施例】この発明の好適なる実施例では、グラフィッ
クスカード200は、前置グラフィックスプロセッサ2
10、ラスター化プロセッサおよび表示コントローラ2
20(ラスター化回路あるいはラスター化エンジンとし
ても知られている)、フレームバッファ230、Zバッ
ファ240、属性バッファ250、およびRAMDAC
を有している。フレームバッファおよび属性バッファ
は、通常、VRAMであり、Zバッファは、通常、DR
AMである。前置グラフィックスプロセッサ210は、
世界座標系で図形構成あるいはイメージに関する命令を
主プロセッサから受信し、三角形、bitblt(ビッ
ト・ブロック転送)、線等を含む基本要素(プリミティ
ブ)と称されるものによって一般的に記述する。また、
前置グラフィックスプロセッサは、ワークステーション
プロセッサからの画素命令を扱うことができる。そし
て、前置グラフィックスプロセッサは、種々の変換、ク
リッピングおよびライティングの命令を実行し、それに
よって図形構成あるいはイメージを略スクリーン座標系
で記述する。この情報は、ラスター化回路220へ渡さ
れる。
【0006】ラスター化回路220は、図形構成あるい
はイメージの処理の内部ループを実行する。ラスター化
回路は、典型的には、線基本要素に沿った画素、ディス
プレイ上の二つの領域間の論理的なあるいは算術的な機
能(bitbltの排他的な論理和のような)を行うデ
ィスプレイ上のある領域から他の領域へのコピー、デプ
ス比較試験を行った後に、シェーディングされた画素で
もって三角形状領域(Zバッファのグーロー(Gour
aud)シェーディングされた三角形)の塗りつぶし、
さらに、他の典型的なグラフィックス機能を生成する。
全体的に、ラスター化回路は、前置グラフィックスプロ
セッサからの情報とバッファ中に以前に蓄えられた情報
に基づいてスクリーン座標系において、フレームバッフ
ァ、Zバッファおよび属性バッファを更新する。
【0007】ダブルバッファとされうるフレームバッフ
ァ230は、グラフィックディスプレイの各画素に関す
る赤、緑および青の記述を含む。Zバッファは、フレー
ムバッファ中に蓄えられた画素のデプスあるいはZ値の
記述を含む。この情報は、提示された画素を論理試験に
基づき、表示すべきかどうかを決定するうえで、ラスタ
ー化回路にとって有用である。若し、論理試験が偽なら
ば、フレームおよびZバッファが更新されず、提示画素
よりむしろ現画素が表示される。若し、論理試験が真な
らば、フレームおよびZバッファが更新され、提示画素
が表示される。この実施例では、フレームバッファは、
1280×1024画素について24プレーン(赤、緑
および青のそれぞれで8プレーン)を有し、Zバッファ
は、同一の画素数に関して24ビット/画素を有してい
る。属性バッファ250もダブルバッファとされうるも
ので、フレームバッファ中の画素について、それらがウ
インドウ、オーバーレーおよびマイクロコードプレーン
のどれに属するか、それらが書き込み保護されているか
どうか、などのような制御情報を含む。
【0008】そして、RAMDAC260は、フレーム
バッファ中の画素の記述と属性バッファからの制御プレ
ーンを使用してアナログRGB信号ストリームを生成す
る。そして、グラフィックディスプレイ150は、この
RGB信号ストリームを用いて図形イメージを表示す
る。
【0009】図2は、ラスター化プロセッサ220のブ
ロック図である。入力インターフェイス300が所定の
プロトコルで、前置グラフィックスプロセッサとの通信
を行う。この通信に基づいて、入力インターフェイス
は、アドレスを復号し、データを適切な内部レジスタに
向け、ラスター化フロントエンド305の要求に合致し
たインターフェイスタイミングを生成する。例えば、入
力インターフェイスが三角形内挿回路310に対して三
角形基本要素と関係する情報を送る。さらに、入力イン
ターフェイスは、bitbltおよび線描画パラメータ
計算回路320に対して、bitbltおよび線基本要
素のアドレス情報を送り、また、対応するデータを幅お
よびフォーマット変換回路330へ送る。この実施例で
は、入力インターフェイスは、内部レジスタがデータ受
信可能かどうかを決定する。若し、内部レジスタが使用
可能でないならば、入力インターフェイスが内部レジス
タの書き込み保護を行うとともに、適当な内部レジスタ
がデータ受信可能となるまで、そのデータを遅らせる。
さらに、入力インターフェイスは、妥当なデータを持た
ない内部レジスタの読み出し保護を行う。この入力イン
ターフェイスは、状態情報を含む双方向の通信をコマン
ド翻訳およびスーパーバイザと行う。また、入力インタ
ーフェイスは、CRTコントローラ350に対してある
種のCRT制御コードを渡す。
【0010】三角形内挿回路310は、アドレスおよび
データスプリッタとして捉えることができる。三角形基
本要素と関係する情報は、三角形内挿回路310へ送ら
れ、そして、三角形内挿回路は、この情報を線基本要素
の系列へ分離する。そして、三角形内挿回路は、線基本
要素のために、データからアドレス情報を分離し、この
アドレス情報をbitbltおよび線描画パラメータ計
算回路へ渡す。
【0011】bitbltおよび線描画パラメータ計算
回路320は、三角形内挿回路310から水平線基本要
素のアドレス情報を受信し、また、入力インターフェイ
ス300を介してグラフィックスプロセッサからオリエ
ンテーション中のbitbltのアドレス情報と線基本
要素とを受信する。そして、このbitbltおよび線
描画パラメータ計算回路は、bitbltおよび線基本
要素に関する種々のパラメータを計算し、その情報をb
itbltおよび線描画シーケンサ360へ渡す。そし
て、bitbltおよび線描画シーケンサは、bitb
ltあるいは線基本要素により作用された各画素のため
の増分画素アドレスを生成する。これとともに、シーケ
ンサは、データ経路370に対して制御情報を提供す
る。それから、この情報は、フレームバッファおよびZ
バッファを更新するために、階層メモリ制御回路380
(メモリハイパーバイザと称する)へ渡される。
【0012】幅およびフォーマット変換回路330は、
前置グラフィックスプロセッサあるいは主プロセッサか
らの入力データを目標バッファと互換性のあるフォーマ
ットへ翻訳する。この変換回路は、連続である画素のた
めにデータ文字列を扱う。このデータは、色およびZ情
報を含む。内挿色信号を有する線は、幅およびフォーマ
ット変換回路に渡されずに、直接的にbitbltおよ
び線描画パラメータ計算回路320へ渡される。この実
施例では、変換回路は、1ビット画素を24ビット画素
へ変換でき、フレームバッファ中の単色テキストを二つ
の色のいずれにも拡張させる。さらに、幅およびフォー
マット変換回路330は、32ビットワードを40ビッ
トワードあるいは他の幅へ変換できるとともに、ラスタ
ー化回路の利用にとって必要なフォーマット変換を行う
ことができる。入力データの幅およびフォーマットが変
換されると、データ経路370へデータが渡される。
【0013】データ経路370は、ビットおよび線描画
シーケンサ360と協同して、三角形内挿回路310
と、幅およびフォーマット変換回路330とからのデー
タをメモリハイパーバイザ380へ渡す。この協同は、
コマンド翻訳およびスーパーバイザ340によって調整
される。また、データ経路は、源および送出先の混合ば
かりでなく、画素の回転および配置のような必要なデー
タ操作を行う。コマンド翻訳およびスーパーバイザ34
0は、種々の制御信号によって、ラスター化回路220
の作用を調整する。これとともに、このコマンド翻訳お
よびスーパーバイザは、入力インターフェイス300を
介してグラフィックスプロセッサとラスター化回路の状
態を通信する。
【0014】CRTコントローラ350は、CRTある
いは表示装置のための種々の制御情報を扱う。これは、
水平および垂直同期信号の再生、フレームブランキン
グ、複合同期信号、および他の制御信号を含む。これら
の信号は、メモリハイパーバイザ380を通じてグラフ
ィックディスプレイ装置の活動を調整する。これととも
に、CRTコントローラは、フレームバッファの動作の
ためのアドレスおよびロード信号を生成する。
【0015】メモリハイパーバイザ380は、フレーム
バッファ制御回路390、Zバッファ制御回路392お
よび属性バッファ制御回路394を介して、フレームバ
ッファ、Zバッファおよび属性バッファをそれぞれ更新
することを扱う。属性バッファ制御プレーンは、グラフ
ィックスプロセッサによって命令されるように、メモリ
ハイパーバイザにより更新される。フレームバッファ画
素は、Zアルゴリズムに従って更新される。すなわち、
論理試験がなされる。若し、論理試験が真であるなら
ば、メモリハイパーバイザ380によって、フレームバ
ッファおよびZバッファが新たな画素値でもって更新さ
れる。このZアルゴリズムは、画素というよりはむしろ
基本要素のZ値が比較されて、表示目的についてどの基
本要素が他の前面に存在するかを決定するペインターの
(Painter’s)アルゴリズムとは異なってい
る。
【0016】ビットおよび線描画パラメータ計算回路3
20とシーケンサ360とを分離することによって、パ
ラメータが計算され、シーケンサへ渡されると、パラメ
ータ計算回路は、それから、線描画シーケンサがその処
理を完了することを待たずに、次のbitbltあるい
は線基本要素を扱うことができる利点が得られる。この
ことは、特に、三角形および台形の基本要素を扱うため
に有用である。すなわち、三角形内挿回路310は、三
角形基本要素を水平線基本要素の系列に分離し、この水
平線基本要素がbitbltおよび線描画パラメータ計
算回路へ順次渡される。そして、bitbltおよび線
描画パラメータ計算回路と、bitbltおよび線描画
シーケンサとが種々の水平線を扱うためのそれらの処理
を完遂する間に、三角形内挿回路が次の三角形線に移る
ことができる。
【0017】この実施例では、三角形内挿回路は、三角
形あるいは台形基本要素から分離された線基本要素毎に
10サイクルの速度で動作し、bitbltおよび線描
画パラメータ計算回路は、線基本要素毎に6サイクルの
速度で動作し、bitbltおよび線描画シーケンサ
は、画素毎に1サイクルの速度で動作する。その結果、
bitbltおよび線描画シーケンサにより引かれた線
基本要素の長さ(すなわち、画素数)は、どの程度の頻
度でシーケンサが線基本要素を引くことを開始できるか
に直接的に影響し、その結果、パラメータ計算回路ある
いはシーケンサは、一方が他方を遅らせるのである。三
角形基本要素を描画する時に、三角形基本要素の幅が結
果の線基本要素の長さを決定する。若し、なるべく小さ
い三角形基本要素を使用するならば、bitbltおよ
び線描画シーケンサは、パラメータ計算回路によって遅
れないことができる。このことは、グーローシェーディ
ングのような小さい三角形の計算に非常に有用である。
若し、一つの三角形基本要素を画素毎に細分化するなら
ば、それは、フォング(Phong)シェーディングに
略等価である。
【0018】ラスター化回路の個々のサブシステムは、
この発明をより十分に記述するために、以下に示され
る。引き続いて、これらのサブシステムの相互関係がど
のようなものかより十分に述べるために種々のタイミン
グ図が示される。
【0019】三角形内挿回路 三角形内挿回路は、アドレスおよびデータスプリッタと
して把握することができる。例えばグーローシェーディ
ングされた三角形は、三角形基本要素を水平線へスライ
スすることによって描画することができる。各線の始点
のXY値および色を計算するために、左エッジに沿って
内挿がされ、各線の端点を見出すために、右エッジに沿
って、内挿がされる。三角形内挿回路には、入力インタ
ーフェイスから以下の18個のパラメータが与えられ
る。 Ymin −三角形の上部のy値 Ymax −三角形の底部のy値 XL −三角形の左側の開始x値 XR −三角形の右側の開始x値 δXL −三角形の左側のx値のy毎の変化 δXR −三角形の右側のx値のy毎の変化 R0,G0,B0,Z0 −〔Ymin ,Xleft〕で規定される初
期の色およびデプス値 δRS,GS,δBs,δZS, −左の傾斜およびx軸にそれぞれ沿った色およびデ δRX,δGX,δBX,δZX, プスデルタ
【0020】これらの18個のパラメータから、三角形
内挿回路は、描画される三角形のための以下の11個の
出力パラメータを生成する。それらの7個は、引くべき
各水平線のために渡される。 Y −水平線に関する垂直アドレス XL −その線の左端点の開始x値 XR −その線の右端点の開始x値 R −線の初期赤色 G −線の初期緑色 B −線の初期青色 δR−デルタ赤色 δG−デルタ緑色 δB−デルタ青色 Z −初期Z δZ−デルタZ
【0021】図3は、三角形データ構造入力パラメータ
中のパラメータと描画される三角形基本要素の間の関係
を示す(δが大文字のデルタに換えられている)。一例
として、三角形基本要素の上部の左側の画素(XL およ
びYmin における)は、R0,G0,B0およびZ0の
初期の色およびデプス値を有する。Ymin の下の水平線
上の左側の画素は、XL +δXL のX値と、R0 +δR
S ,G0 +δGS ,B0 +δBS ,Z0 +δZS の色お
よびデプス値とを有している。
【0022】三角形は、内挿された3−D線の色の系列
として描画される。三角形内挿回路は、11個の出力パ
ラメータを計算し、それらを線描画およびパラメータ計
算回路に渡す。新たな三角形が描画されようとする時
に、内挿の必要が要求されない故に、その最初の線のた
めのパラメータが線描画およびパラメータ計算回路に直
ちに送られる。次の三角形内挿ループでは、各パスにお
いて7個の新たなアドレスおよび色パラメータが生成さ
れる。
【0023】以下の全体的な順序制御が三角形内挿回路
によってなされる。第1に、三角形内挿回路は、入力イ
ンターフェイスから三角形基本要素の18個のパラメー
タを受信する。第2に、最初の線基本要素にための出力
パラメータが生成され、三角形の一つの水平間隔が塗り
つぶされる。Y1,Y2,XL ,XR (Yに等しいY1
およびY2を有する)がbitbltおよび線描画パラ
メータ計算回路320へ渡され、R、G、B、δR、δ
G、δB、Z、δZがデータ経路370へ渡される。第
3に、新たなパラメータXL 、XR 、Y、R、G、B、
Zが計算され、計算される次の線基本要素のために蓄え
られる。そして、Ymax が検出され、それによって、最
後の生成すべき線基本要素が指示されるまで、第2およ
び第3のステップが反復される。
【0024】図4は、この実施例による三角形内挿サブ
システムのブロック図であり、この回路は、入力パラメ
ータから出力パラメータを計算するために使用される。
三角形内挿回路310は、バッファ(レジスタファイ
ル)管理制御回路(TBF FSM)400、三角形内
挿およびパラメータ受け渡し管理回路(TRI FS
M)401、アドレスマップ回路402、比較回路40
3、レジスタファイルの36個の32ビットワードの記
憶装置404、内挿用のキャリールックアヘッド加算回
路405およびその累算レジスタ406、並びに線生成
サブシステム(アドレス決め、色およびZ内挿)へのデ
ータバス407を含む。アドレスマップ回路は、ルック
アップテーブルであり、バッファ管理制御回路400、
受け渡し制御回路401および入力インターフェイス3
00からの入力を復号することによって、物理レジスタ
ファイルアドレスを作成する。比較回路403は、三角
形終了の状態を検出する。キャリールックアヘッド加算
回路405が内挿用に使用される。
【0025】レジスタファイル404は、二つの三角形
基本要素のためのパラメータを保持するのに十分な記憶
容量を有している。これによって、三角形の動作がダブ
ルバッファとされる。すなわち、内挿制御回路401が
バッファの他の半分を利用している間に、新たな三角形
用のデータがバッファのアイドル部分にロードされるバ
ッファ管理制御回路400は、二つのバッファの分離状
態を保証する。レジスタファイルが二つの書き込みポー
トと三つの読み出しポートとを有する。レジスタファイ
ルの一つの書き込みポート(W1)が新たなデータをロ
ード用に割り当てられる。他の書き込みポート(W0)
が計算結果を蓄えるために、内挿制御回路によって使用
される。アイドルバッファのアイドル半分が一杯になる
まで、三角形内挿作業と並列に、新たなデータがアイド
ルバッファ内へロードされることができる。3個の読み
出しポートは、パラメータを渡し、計算するために使用
される。
【0026】内挿制御回路401で用いられるTRM
FSMアルゴリズムは、よりスループットを上げるよう
に、調整されている。線生成の初期サイクルは、その三
角形パスによって作成されたアドレス情報だけを必要と
する。実際に線を引くことを開始するまで、色パラメー
タが不要である。このことを利用するために、三角形計
算動作は、最初に線アドレス決めパラメータが生成され
てから、次に色およびデプスパラメータが生成されるよ
うに、順序制御される。内挿パスの最初では、線生成回
路が使用可能か検査される。若し、この検査が肯定的で
あれば、上述のものと異なったパラメータ受け渡し順序
制御が使用される。アドレスパラメータは、累算回路か
らそのまま一度に手放され、色およびデプスパラメータ
の生成が継続している間に、線順序制御が開始する。そ
して、色およびデプスパラメータが遅れて渡される。そ
れから、パラメータ計算回路320は、三角形内挿回路
が色およびデプス情報の処理を継続している間に、線ア
ドレスを処理する。三角形制御回路は、直ちに次のパス
を開始でき、若し、現三角形が完了し、そのアイドルバ
ッファが一杯であれば、新たな三角形でさえも開始する
ことができる。
【0027】図5は、三角形内挿回路によって達成され
る並列を示すタイミング図である。明瞭とするために、
TRI FSMの状態図が含まれている。水平軸が時間
経過を示す。垂直軸が各サイクルでなされるタスクを示
す。例えば時点T0からT1では、3個の線アドレス決
めパラメータ(Y0、XL 0、XR 0)がレジスタファ
イルから線描画パラメータ計算回路へ転送され、一方、
3個の新たなレジスタファイルアドレスが時点T2への
ジャンプに備えて、ラッチへクロックで取り込まれる。
時点T4からT5では、3個のデルタ色値が転送されて
おり、一方、Yをインクリメントするために必要な読み
出しアドレスが用意される。T8からT9では、XR が
蓄えられており、Ziが計算されており、Riを計算す
るためのアドレスが準備されている。
【0028】bitbltおよび線描画パラメータ計算回路 bitbltおよび線描画パラメータ計算回路320
は、bitbltおよび線描画シーケンサ340のため
のアドレス決め情報を前処理する。シーケンサ360
は、各画素アドレスを計算し、色内挿の速度を制御し、
また、メモリハイパーバイザとの通信を行う。メモリア
ドレス決めを二つのタスク(アドレス処理タスクおよび
画素アドレス決めタスク、各タスクが別のサブシステム
によってなされる)へ区切ることによって、2番目の線
あるいはbitbltの処理を開始するのに先行して、
最初の線あるいはbitbltが部分的に処理されるこ
とのみが必要とされる。これは、ブレゼンハム(Bre
senham)(FUNDAMENTALSOF INTERACTIVE COMPUTER
GRAPHICS" 第2版、J.D.Foley,A.Van Dam 著、74〜81
頁参照) およびDDA("FUNDAMENTALS OF INTERACTIVE
COMPUTER GRAPHICS"第2版、J.D.Foley,A.Van Dam 著、
73〜74頁参照) の両者の線計算に対しても適用する。こ
のことは、三角形基本要素を描画する時に、特に有用で
ある。
【0029】4個の線入力アドレスパラメータが処理さ
れ、ブレゼンハムアルゴリズムパラメータと同様に、線
方向および象限情報が作成される。bitblt入力
は、コピーされる前に画素が重ね書きされないように、
XおよびYにおけるどの方向に、その画素の読み出しお
よび書き込みが進行されねばならないかを決定するため
に、処理される必要がある。線基本要素の入力および出
力パラメータは以下のものである。
【0030】線入力: Y1−第1の端点のy値 Y2−第2の端点のy値 X1−第1の端点のx値 X2−第2の端点のx値 線出力: Ystart −Y1 Yend −Y2 Xstart quot −X1/5 Xend quot −X2/5 Xstart rem −X1/5の割算の余り Xend rem −X2/5の割算余り D term,I1,I2−ブレゼンハムアルゴリズムパラ
メータ Slope GT 1 −>1の線の傾き Slope pos −正の傾き X1 GT X2 −X1>X2
【0031】bitbltの入力および出力パラメータ
は以下のものである。 BitBlt入力 Xsource −コピーされるブロックの最下位Xアド
レス Ysource −コピーされるブロックの最下位Yアド
レス Xdestination −ブロック宛先の左上隅のXアドレス Ydestination −ブロック宛先の左上隅のYアドレス Width −幅の画素数 Height −高さの画素数 BitBlt出力 Xsrc start d5−源ブロックに関する開始Xアド
レス Xsrc end d5 −源ブロックに関する終止Xアド
レス Ysrc start −源ブロックに関する開始Yアド
レス Ysrc end −源ブロックに関する終止Yアド
レス Xdest start d5−送出先ブロックに関する開始X
アドレス Xdest end d5 −送出先ブロックに関する終止X
アドレス Ydest start −送出先ブロックに関する開始Y
アドレス Ydest end −送出先ブロックに関する終止Y
アドレス Xmasks (4) −5画素グループ中でどのブロッ
クがブロック境界で操作されるかを指示する5ビットマ
スク
【0032】いずれの順序制御においても、パラメータ
計算回路は、図形基本要素の混合が可能である。例えば
bitbltは、DDA線を先に置くことができ、そし
て、折れ線セグメントの順序制御、三角形間隔の系列等
を先に行うことができる。パラメータ計算回路のアイド
ル状態によって、初期化が起こり、それによってどのサ
イクルも無駄にならない。さらに、そこにおいて出力パ
ラメータがシーケンサへ渡されるパラメータ計算回路の
最終状態は、最終的なパラメータ計算を行う。その結果
として、最後の出力値がパラメータ計算回路内のレジス
タよりむしろ、シーケンサへ直接的に渡される。然も、
このサブシステムは、ある処理ステップの期間で、5個
までの計算動作〔(a+b)、(a−b)、(b−
a)、(a−b)×2、a−b×2、a×2、a<b、
a>b、a=b、a/5を含む〕を同時に行うことがで
き、高いスループットが維持される。
【0033】図6は、bitbltおよび線描画パラメ
ータ計算回路データ流れのブロック図である。入力イン
ターフェイス300および三角形内挿回路310から入
力パラメータが受信される。そして、出力パラメータが
マルチプレクサ510、インバータ520、キャリール
ックアヘッド加算回路530、割算回路540およびレ
ジスタ550によって、入力パラメータから計算され
る。
【0034】図7は、ブレゼンハム線順序制御について
の細部および強調を有するパラメータ計算回路320に
関する状態流れ図である。この制御回路は、図6に示さ
れるマルチプレクサおよびレジスタを切り替え、パラメ
ータ計算順序制御を遂行する。一例として、ステップs
lp gt1では、変数dxがdyと比較される。若
し、dyがdxより大きいならば、引かれる線の傾きが
45°より大きい角度とされ、slp gt1 one
フラグがセットされる。ステップd termでは、s
lp gt1 oneフラグが試験され、図と付随する
コメントに示されるように、どのように、dterm変
数が計算されるかが決定される。
【0035】Bitbltおよび線描画シーケンサ bitbltおよび線描画シーケンサは、フレームバッ
ファアドレスを計算し、色内挿の速度を制御し、メモリ
ハイパーバイザとの通信を行う。シーケンサは、データ
経路370と共に働いて、シーケンサからのアドレス情
報およびデータ経路からの対応データを座標方式で渡
す。
【0036】線に関してのブレゼンハムおよびDDAア
ルゴリズムのいずれかが使用されて、入力アドレスパラ
メータが処理され、画素アドレスおよびライトイネーブ
ルが生成される。bitblt入力は、コピーされる前
に画素が重ね書きされないように、その画素をXおよび
Yにおけるどの方向に書き込みおよび読み出しを進めね
ばならないかを決定する。シーケンサ用の入力および出
力パラメータは、下記のものである。
【0037】線入力 Ystart −Y1 Yend −Y2 Xstart quot −X1/5 Xend quot −X2/5 Xstart rem −X1/5の割算の余り Xend rem −X2/5の割算余り D term,I1,I2−ブレゼンハムアルゴリズムパラ
メータ Slope GT 1 −>1の線の傾き Slope pos −正の傾き X1 GT X2 −X1>X2
【0038】BitBlt入力 Xsrc start d5−源ブロックに関する開始Xアド
レス Xsrc end d5 −源ブロックに関する終止Xアド
レス Ysrc start −源ブロックに関する開始Yアド
レス Ysrc end −源ブロックに関する終止Yアド
レス Xdest start d5−送出先ブロックに関する開始X
アドレス Xdest end d5 −送出先ブロックに関する終止X
アドレス Ydest start −送出先ブロックに関する開始Y
アドレス Ydest end −送出先ブロックに関する終止Y
アドレス Xmasks (4) −5画素グループ中でどのブロッ
クがブロック境界で操作されるかを指示する5ビットマ
スク
【0039】出力: PixXaddr −8ビットフレームバッファアドレス PixYaddr −10ビットYフレームバッファアドレ
ス WeMask −5ビット画素ライトイネーブルマスク MemReadReg −フレームバッファ読み出し要求 MemWriteReg −フレームバッファ書き込み要求 DestNotSource −動作が送出先あるいは源かを指示する
フラグ
【0040】図8は、bitbltおよび線描画シーケ
ンサのデータ流れのブロック図である。bitbltお
よび線パラメータ計算回路320は、bitbltおよ
び線描画シーケンサ360に対するデータを提供するも
のと示される。シーケンサ360は、アドレス決め制御
610、論理演算ユニット(演算ユニットとしても知ら
れている)620、630、640、メモリ要求制御6
50、およびメモリインターフェイス660を含んでい
る。演算ユニットは、パラメータ計算回路によって提供
されたデータから基本要素を描画するうえで必要な計算
を行う。演算ユニット620および630がY変数を扱
い、演算ユニット640がX変数を扱う。アドレス決め
制御610は、演算ユニットの動作と、メモリインター
フェイスへ渡されるそれらの動作の結果とを制御する。
メモリ要求制御650は、メモリインターフェイスの動
作を制御する。メモリインターフェイスは、メモリハイ
パーバイザへ渡すために、データを蓄え、フォーマット
化する。さらに、メモリ要求制御およびメモリインター
フェイスの動作によって、アドレス決め制御および演算
ユニットが並列で高速で機能される。
【0041】入力インターフェイス 図9は、図2中に示される入力インターフェイス300
のより詳細なブロック図である。アドレスデコーダ70
0は、レジスタ702およびデコーダ704を有する。
デコーダは、どの種類の要求が保留されているかを決定
し、この要求を全体要求、三角形要求等のような異なる
種類へ分類する。また、保護されることがない雑要求も
ある。つまり、割り込みレジスタは、読み出しあるいは
書き込みが常に可能である。前置プロセッサ210から
の要求、読み出し/書き込みおよびストローブライン、
およびラスター化プロセッサ機能ブロックからのビジー
信号がレジスタ保護検査回路710へ入力される。この
レジスタ保護検査回路は、インターフェイス712およ
びインターフェイス制御回路状態マシーン714を有す
る。検査回路は、要求の種類をビジーラインの現状態と
比較し、レジスタ動作を進めるかどうかを決定する。動
作が進めることができる時に、前置プロセッサに対して
レディラインが明示され、書き込みストローブラインが
正しい機能ブロックに対して明示される(レジスタ動作
が書き込みの場合)。
【0042】図10は、動作中の入力インターフェイス
の状態図である。コマンド翻訳およびスーパーバイザ3
40、三角形内挿回路310、bitbltおよび線描
画パラメータ計算回路320、およびデータ経路370
は、入力インターフェイスに対して、それらの内部レジ
スタの書き込み(または読み出し)が可能な時を指示す
る各ビジー信号を提供する。内部レジスタが前置プロセ
ッサによって書き込まれる(または読み出される)時
に、入力インターフェイスは、関連する機能ブロックか
らのビジー信号を試験することによって動作を進めても
良いかどうかを決定する。若し、レジスタ動作が進めて
も良いならば、入力インターフェイスがレディ信号を前
置プロセッサに対して戻す。若し、レジスタ動作が読み
出しならば、データが前置プロセッサへ送られる。若
し、レディ動作が書き込みならば、内部レジスタがスト
ローブされ、そこへ新たなデータがロードされる。若
し、レジスタ動作が進められないならば、機能ブロック
が動作を許可するまで、入力インターフェイスがレディ
を与えない。各ブロックのビジー信号の状態は、単なる
ビジー指示子以上のものでも可能である。若し、ブロッ
クが入力FIFOを有しているならば、ビジーは、FI
FO一杯信号と対応することができる。
【0043】レジスタ保護構成は、状態レジスタの試験
を除去することにより、全体的な性能を改善する。次の
レジスタロードに進むことができる時には、状態レジス
タを試験し、レジスタがロードされうることを決定する
のに費やされる時間は、常に無駄である。動作のため
に、二三のロードされるパラメータのみが必要で、動作
が迅速(短い線のように)な時には、この性能の向上が
著しい。これらの場合では、ビジーでないことを指示す
る状態レジスタを読むのに必要な時間は、パラメータを
ロードするための時間よりも、相対的に長い。
【0044】また、レジスタ保護構成は、動作のオーバ
ラップを容易とする。一例として、bitbltおよび
線描画パラメータ計算回路320が線を補間している間
に、パラメータが三角形内挿回路へロードされることが
できる。これによって、なされる動作の混合が存在する
時に、性能が向上する。動作の開始時に、コマンド翻訳
およびスーパーバイザ340が別々のビジー信号を有
し、それによって、以前の動作が完了するまでは、開始
動作レジスタの更新が阻止される。
【0045】いくつかのレジスタは、1種類の動作に特
定されるが、他のものは、1以上のものに共通である。
入力インターフェイスによって、各内部レジスタが1ま
たは複数のビジー信号によって保護される。このことに
より、一例として、送出先バッファ選択(フレームバッ
ファ、Zバッファあるいは属性バッファ)が動作中のバ
ッファ選択の変更を阻止するために、非活動状態の全て
のビジー信号を要求するにもかかわらず、線のXYアド
レスが線描画回路ビジー信号によって単独で保護され
る。この区別を行うことによって、簡単なDMAコント
ローラがラスター化プロセッサ中のいずれのレジスタを
いかなる順序でもロードすることができる。入力インタ
ーフェイスは、不適切な時点でレジスタがロードされる
ことを防止する。DMAコントローラは、メモリ中の表
示リストからラスター化プロセッサへのコピーをセット
されうる。ラスター化プロセッサが動作を完了する時
に、パラメータの次のセットがロードされうる。全体的
なレジスタ制御(例えばバッファ選択)への変更ばかり
でなく、異なる動作が混合されることが可能である。
【0046】bitbltおよび線描画パラメータ計算
回路300からのビジー、およびデータ経路370から
のビジーのようなデータビジー信号とアドレスとを分離
することによって、簡単なDMAインターフェイスによ
る処理が可能である。この場合には、保護機構によっ
て、以前の文字bitbltが遂行される間に、各連続
文字のアドレス情報(送出先X、Y)の入力がなされ
る。そして、この保護機構が新たな文字イメージを扱う
ことが可能なレートでデータ経路を与える
【0047】メモリハイパーバイザ ハードウエアでZおよび属性比較を実現するには、いく
つかの方法がある。その一つは、フレーム、属性および
Zバッファ用の単一のメモリ制御回路を持つことであ
る。ラスター化フロントエンドがアドレス、色およびZ
デプス情報を生成し、現にアクセスが必要とされるバッ
ファを決定し、適切なバッファをアクセスするために、
メモリ制御回路に対して要求を送る。メモリ制御回路が
動作を終了した時に、ラスター化回路が処理されるべき
次の要求を送る。Zおよび/または属性比較が活動状態
である間では、いくつかのメモリ要求がひとつの画素を
書き込むために、ラスター化フロントエンドによって、
送出先に送られねばならない。
【0048】この実現の効率は、主として3つの理由で
制限される。第1に、唯一のメモリ制御回路の存在のた
めに、全てのバッファアクセスが順序制御でなされねば
ならない。第2の理由は、Zおよび/または属性バッフ
ァを読み出す処理、ラスター化フロントエンドへデータ
を送る処理、比較を行う処理、どのバッファを次にアク
セスするかを決定する処理、並びにメモリ制御回路に対
する適切な要求を送る処理は、多数のパイプライン段を
必要とすることである。この動作の系列あるいはループ
は、画素毎にされねばならない。このループを通り抜け
るのに必要な時間は、最大のメモリの帯域幅での動作に
とって、殆ど常に、長すぎる。第3の理由は、それがZ
および/または属性比較を終了し、現画素を送出先バッ
ファに対して書き込むまでは、ラスター化フロントエン
ドがラスター化(すなわち、アドレス、色およびZデプ
スの生成)を開始できないことである。言い換えると、
若し、画素がラスター化されてないならば、Zおよび/
または属性比較を行うことが不可能である。画素のラス
ター化およびバッファをアクセスするのに必要な時間が
変化するので、メモリバンクがラスター化される画素を
待っていたり、またはラスター化がメモリアクセスが完
了するのを待っているインスタンスが多く存在する。こ
の待ち状態によって、全体の性能が低下する。
【0049】図11は、図2中のメモリハイパーバイザ
のより詳細なブロック図である。並列的な独立のメモリ
制御回路800、801および820がZ、および属性
バッファのためにそれぞれ用いられる。これによって、
フレームバッファを書き込んでいる間に、属性バッファ
を読み出すような複数のメモリ要求を同時に実行するこ
とが可能となる。バッファがバスを共有するために、た
とえ二つのメモリ要求を同時に実行することができない
としても、共有バスが最大速度で走るように、メモリ制
御回路をオーバラップさせることができる。
【0050】ハイパーバイザ830が比較動作およびメ
モリ制御回路を起動し、制御するのに使用される。それ
は、メモリ制御回路に近く(すなわち、少数のパイプラ
イン段)、それによって、比較結果が迅速に利用され
る。これによりデータバスをより効率的に利用できる。
【0051】ラスター化フロントエンド要求がハイパー
バイザの前段で、パイプラインあるいはバッファ840
へ挿入される。これは、ラスター化フロントエンドおよ
びメモリバンク間の性能における違いを緩和させ、それ
によって、それぞれがより多くの機会に最大速度で動作
される。このことにより、メモリバンクがラスター化さ
れる画素を待ったり、あるいはラスター化フロントエン
ドがメモリアクセスが完了するのを待つインスタンスを
大幅に低減できる。さらに、ハイパーバイザが現動作を
実行している間に、次のメモリ動作の実行を開始するこ
とがてきる。
【0052】読み出しおよび書き込み要求がラスター化
フロントエンドによって、ハイパーバイザへ送られる。
ハイパーバイザが要求を受信可能な時に、これがラスタ
ー化フロントエンドに対して許諾を送り、要求と関連す
る必要な全てのデータをラッチする。許諾を受信する時
に、たとえハイパーバイザが最初の要求を完了していな
くとも、ラスター化フロントエンドは、要求が完了した
として、次の要求の生成を開始する。
【0053】読み出しおよび書き込み動作に加えて、メ
モリデータの保全を確実とするために、リフレッシュ動
作がVRAMおよびDRAMの両者についてされねばな
らない。また、グラフィックディスプレイ上にメモリ内
容を表示するために、VRAMについて、シリアルレジ
スタロードがされねばならない。これらの動作のいずれ
かあるいは両者がなされる必要がある時に、割り込みが
ハイパーバイザに送られる。ハイパーバイザがフロント
エンド読み出しまたは書き込み要求を完了し、必要なリ
フレッシュ/シリアルロード動作が完了するまで、動作
を休止し、そして、ラスター化要求の処理を再開する。
【0054】メモリ要求のパイプライン化、同期化およ
び順序制御は、いくつかの例によって、より容易に理解
される。図12は、図2の装置がフレームバッファへの
書き込み、Zおよび属性比較を行う系列をどのように処
理するかを示す。まず、ラスター化フロントエンド(図
2)がパイプラインへ書き込み要求を入れる。ハイパー
バイザが直ちにどの比較オプション(この例では、属性
およびZ)を行わねばならないかを決定する。次のサイ
クルでは、読み出し要求が属性メモリ制御回路へ送られ
る。この制御回路が非活動状態であるので、それが直ち
に許諾をハイパーバイザへ送り、アドレスをラッチす
る。その次のサイクルで、許諾を受信する時になされる
動作をハイパーバイザが考え、Zメモリ制御回路に対し
て読み出し要求を送る。この例では、Zおよびフレーム
バッファが共通データバスを共有するので、フレームバ
ッファメモリ制御回路がデータバスを完了するまでは、
Zメモリ制御回路が待たねばならない。この待ち期間
は、全てののメモリ制御回路間の種々のビジー信号の授
受により決定される。適切な待ち期間の後に、Zメモリ
制御回路がハイパーバイザへ許諾を送る。次に、書き込
み要求がZメモリ制御回路へ送られる。若し、Zおよび
/または属性比較が偽であるならば、Zメモリ制御回路
が許諾を送った後に書き込み動作を中断する。最後に、
書き込み要求がフレームバッファ制御回路へ送られる。
また、比較が偽の場合に、フレームバッファ制御回路が
許諾を送った後に書き込み動作を中断する。
【0055】図13は、ラスター化回路が属性比較だけ
を有するフレームバッファへの書き込みの系列をどのよ
うに処理するかを示す。まず、ラスター化フロントエン
ド(図2)がパイプラインへ書き込み要求を入れる。ハ
イパーバイザが直ちにどの比較オプション(この例で
は、属性比較のみ)を行わねばならないかを決定する。
次のサイクルでは、読み出し要求が属性メモリ制御回路
へ送られる。この制御回路が非活動状態であるので、そ
れが直ちに許諾をハイパーバイザへ送り、アドレスをラ
ッチする。この許諾を受信する時に、ハイパーバイザが
フレームバッファ制御回路に対して書き込み要求を送
り、同時に、属性フレームバッファに対して読み出し要
求を送る(この属性読み出し要求は、パイプライン中の
要求N+1のためのもので、定期的なプロセッサ要求の
前に一つのパイプライン段階が獲得される)。若し、属
性比較が偽であるならば、フレームバッファ制御回路が
許諾を送った後に書き込み動作を中断する。
【0056】タイミング図 パイプラインおよびインタロックの動作は、いくつかの
例によって一層理解される。図14は、図2のラスター
化回路220がbitbltの系列がその後に続く、線
の系列をどのように処理するかを示す。箱が各サブシス
テムがいつビジーであるかを示す。隣接するコマンド間
の区別の手助けのために、斜線が付されている。線に関
する順序制御は、以下の通りである。線の端点が入力イ
ンターフェイス300を通じてロードされ、最終値がコ
マンド翻訳回路340に対する開始信号であり、若し、
それがビジーあるいは使用される計算されたパラメータ
のその最後のセットを待っているかのいずれでもないと
きには、コマンド翻訳回路がパラメータ計算回路320
を始動させ、パラメータ計算回路が描画シーケンサ36
0のための必要な値を作成し、描画シーケンサがメモリ
ハイパーバイザ380に対して、メモリ要求を作成す
る。一つのサブシステムが最初の線を完了すると、直ち
に次の線について作業することが可能となる。このよう
に、パラメータ計算回路は、描画シーケンサが線1につ
いて作業している間に、線2について作業する。最初の
線が開始すると、メモリハイパーバイザがビジーに維持
される。若し、線3の後にbitbltが続くと、描画
シーケンサが線を終了する前でも、コマンド翻訳回路が
bitbltについてのパラメータ計算回路を始動させ
る。従って、コマンドの二つの異なる型がオーバラップ
方式で処理され、また、メモリハイパーバイザが最大の
利用率を維持する。
【0057】図15は、図2の装置が三角形の系列をど
のように処理するかを示す。隣接する三角形に関連する
動作間の区別の手助けのために、斜線が付されている。
順序制御は、以下の通りである。三角形のパラメータが
入力インターフェイスを通じてロードされ、最終値がコ
マンド翻訳回路に対する開始信号であり、若し、それが
ビジーでなければ、コマンド翻訳回路が三角形内挿回路
220を始動させ、三角形内挿回路が線(あるいは間
隔)の系列をそれが受け付け可能ならば、パラメータ計
算回路に与え、パラメータ計算回路が描画シーケンサの
ための必要な値を作成し、描画シーケンサがメモリハイ
パーバイザ380に対して、メモリ要求を作成する。2
個の三角形パラメータバッファがあり、一つの三角形が
ロードされると、直ちに第2のものもロードされるよう
になされる。第3の三角形は、最初のものが完全に内挿
されるまでは、ロードされることができない。三角形の
最初の間隔が始動されると、メモリハイパーバイザがビ
ジーに維持される。三角形内挿回路は、パラメータの2
個のセットのための内部記憶装置を有しており、その結
果、次の三角形の新たなパラメータを受信するのに、入
力インターフェイスがビジーである間に、一つの三角形
が完了した後の使用されない時間区間が存在しない。
【0058】図16は、図2の装置が入力データのフォ
ーマット変換を要求する外部bitblt(文字拡張の
ような)の系列をどのように処理するかを示す。隣接す
るbitbltに関する動作間の区別の手助けのため
に、斜線が付されている。順序制御は、以下の通りであ
る。bitbltのパラメータが入力インターフェイス
を通じてロードされ、最終値がコマンド翻訳回路に対す
る開始信号であり、若し、それが受け付け可能であれ
ば、コマンド翻訳回路がパラメータ計算回路を始動さ
せ、パラメータ計算回路が描画シーケンサおよびフォー
マット変換回路330のための必要な値を作成し、それ
をフォーマット変換回路に渡す入力インターフェイスを
介してbitbltデータが到来し始めることが可能と
なり、データ経路370がフォーマット変換回路からの
データを持つと、描画シーケンサがメモリハイパーバイ
ザに対して、メモリ要求を作成する。フォーマット変換
回路は、内部FIFOを有し、その結果、それが描画シ
ーケンサを追い越すことができ、それによって、入力イ
ンターフェイスが早く終了する。そして、bitblt
2に関するパラメータがロードされ、全体の順序制御が
再開される。若し、フォーマット変換回路のFIFOが
十分に大きく、且つ入力インターフェイスロードがメモ
リハイパーバイザよりも速く画素を書き込むことできる
ならば、メモリが利用可能に維持される。入力データの
各ビットに関して、一般的に3バイト(24ビット画
素)である出力データの画素が生成されるので、このこ
とは、文字に関しては、間違いなく真実である。
【0059】オーバラップ動作は、可能ないつでも、現
動作が完了する前に次の動作を始めさせる、種々の状態
マシーン間のインタロックを有することによって支援さ
れる。入力インターフェイスによって、現に使用されて
ないか、もはや安定状態であることが要求されない、レ
ジスタに新たな値がロードされることができる。このコ
マンド翻訳回路は、どのサブシステムが以前のコマンド
に含まれるかを決定し、若し、新たなコマンドのための
最初の活動状態のブロックが以前のコマンドを処理する
のにビジーでなければ、新たなコマンドを開始させる。
一例として、図17に示すように、若し、新たなコマン
ドが三角形であって、以前のコマンドが線であったなら
ば(bitbltも同様)、コマンド翻訳回路が三角形
内挿回路に三角形始動信号を送る。それから、三角形内
挿回路が三角形の最初の水平間隔を作成を進めるが、b
itbltおよび線描画パラメータ計算回路が受け付け
可能であるまでは、その間隔のためのパラメータ計算が
遅らされる。若し、線が十分に長い(あるいはbitb
ltが十分に大きい)ならば、メモリハイパーバイザが
以前の動作を完了する前に、入力インターフェイスが三
角形をロードする。三角形の最初の線も、メモリを利用
可能としたままで、以前の線が描画される間に計算され
る。しかしながら、bitbltが三角形の後に続く時
には、入力インターフェイスは、三角形の最後の線が完
了する後までは、そのbitbltパラメータがロード
されることを防止する。これによって、最後の線の長さ
に依存するメモリ利用中のギャップがなくなる。図17
では、小さいギャップが示されているが、殆どの線は、
ギャップが存在しないようにするのに十分に長い。
【0060】この発明は、特定の実施例を参照して十分
に述べられているが、他に変わりうる実施例は、当業者
にとって明らかであろう。例えば線描画のためのブレゼ
ンハムアルゴリズムは、2つのサブシステムより多いも
のによってなされる、2つの順序タスクより多いものへ
分けることができる。
【0061】
【発明の効果】本発明によれば、高性能のメモリ制御が
実現される。
【図面の簡単な説明】
【図1】典型的なスカラーコンピュータのブロック図で
ある。
【図2】好適なラスター化プロセッサおよび表示コント
ローラのブロック図である。
【図3】三角形データ構造中のパラメータおよび描画さ
れる三角形基本要素間の関係を示す図である。
【図4】三角形内挿サブシステムの好適な実施例の図で
ある。
【図5】三角形内挿回路により達成される並列を示すタ
イミング図である。
【図6】bitbltおよび線描画パラメータ計算回路
のデータの流れのブロック図である。
【図7】bitbltおよび線描画パラメータ計算回路
の状態流れ図である。
【図8】bitbltおよび線描画シーケンサのデータ
流れのブロック図である。
【図9】図2に示される入力インターフェイスのより詳
細なブロック図である。
【図10】図6Aに示される入力インターフェイスの状
態図である。
【図11】図2に示されるメモリハイパーバイザより詳
細なブロック図である。
【図12】図2のメモリハイパーバイザがフレームバッ
ファへの書き込みの系列をどのように処理するかを示す
図である。
【図13】図2のメモリハイパーバイザがフレームバッ
ファへの書き込みの系列をどのように処理するかを示す
図である。
【図14】図2のラスター化プロセッサおよび表示コン
トローラがイメージ基本要素の種々の種類をどのように
処理するかを示すタイミング図である。
【図15】図2のラスター化プロセッサおよび表示コン
トローラがイメージ基本要素の種々の種類をどのように
処理するかを示すタイミング図である。
【図16】図2のラスター化プロセッサおよび表示コン
トローラがイメージ基本要素の種々の種類をどのように
処理するかを示すタイミング図である。
【図17】図2のラスター化プロセッサおよび表示コン
トローラがイメージ基本要素の種々の種類をどのように
処理するかを示すタイミング図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ダリル・ジョン・ココスツカ アメリカ合衆国、テキサス州、オウスティ ン、ロンサム バレー トレイル 5910 (72)発明者 スティーブン・フィリップ・ラーキィ アメリカ合衆国、テキサス州、オウスティ ン、スコッツマン ドライブ 8911

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 複数の命令を受信するとともに、順次記
    憶するための手段と、 それぞれがそのバッファに対するアクセスを調整するた
    めのバッファ制御手段を有する複数のバッファメモリ
    と、 各バッファ制御手段および上記受信手段と結合され、少
    なくとも一つの他の順次記憶された命令に応答して少な
    くとも一つの残りのバッファをアクセスする間に、先の
    順次記憶された命令に応答して、1あるいは複数の上記
    バッファをアクセスするための手段とからなるメモリ装
    置。
  2. 【請求項2】 請求項1記載のメモリ装置であって、 上記バッファ制御手段のそれぞれが残りのバッファ制御
    手段の動作と独立して、各自のバッファへのアクセスを
    制御することを特徴とする装置。
  3. 【請求項3】 請求項2記載のメモリ装置であって、 上記バッファ制御手段が相互結合されることを特徴とす
    る装置。
  4. 【請求項4】 請求項3記載のメモリ装置であって、 上記記憶手段手段がファーストイン・ファーストアウト
    バッファを有することを特徴とする装置。
  5. 【請求項5】 メモリ装置中の情報のアクセスを制御す
    るための方法であって、 複数の命令を受信するとともに、順次記憶するためのス
    テップと、 複数のバッファのそれぞれに対するアクセスを調整する
    ためのステップと、 少なくとも一つの他の順次記憶された命令に応答して少
    なくとも一つの残りのバッファをアクセスする間に、先
    の順次記憶された命令に応答して、1あるいは複数の上
    記バッファをアクセスするステップとからなる方法。
  6. 【請求項6】 画素情報を含むグラフィックス命令を生
    成するための手段と、複数の上記命令を受信するととも
    に、順次記憶するための手段と、 それぞれがそのバッファに対するアクセスを調整するた
    めのバッファ制御手段を有する複数のバッファメモリ
    と、 各バッファ制御手段および上記受信手段と結合され、少
    なくとも一つの他の順次記憶された命令に応答して少な
    くとも一つの残りのバッファをアクセスする間に、先の
    順次記憶された命令に応答して、1あるいは複数の上記
    バッファをアクセスするための手段と、 上記バッファの少なくとも一つに記憶された画素情報を
    表示するための手段とからなるグラフィックス表示シス
    テム。
  7. 【請求項7】 メモリ装置中の情報のアクセスを制御す
    る請求項5記載の方法であって、 上記複数のバッファに対するアクセスを調整するステッ
    プが複数のバッファ制御手段によってなされ、各バッフ
    ァ制御手段が上記複数のバッファの一つのためのアクセ
    スを調整することを特徴とする方法。
  8. 【請求項8】 メモリ装置中の情報のアクセスを制御す
    る請求項7記載の方法であって、 上記バッファ制御手段のそれぞれが残りのバッファ制御
    手段の動作と独立して、各自のバッファへのアクセスを
    調整することを特徴とする方法。
  9. 【請求項9】 メモリ装置中の情報のアクセスを制御す
    る請求項7記載の方法であって、 上記記憶のステップがファーストイン・ファーストアウ
    ト処理を使用してなされることを特徴とする方法。
  10. 【請求項10】 請求項6記載のグラフィックス表示シ
    ステムであって、 上記バッファ制御手段のそれぞれが残りのバッファ制御
    手段の動作と独立して、各自のバッファへのアクセスを
    制御することを特徴とする方法。
  11. 【請求項11】 請求項10記載のグラフィックス表示
    システムであって、 上記バッファ制御手段が相互結合されることを特徴とす
    る方法。
  12. 【請求項12】 請求項11記載のグラフィックス表示
    システムであって、 上記記憶手段がファーストイン・ファーストアウトバッ
    ファを有することを特徴とする方法。
JP3231088A 1990-11-15 1991-08-20 データ処理装置及びアクセス制御方法 Expired - Fee Related JPH087715B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US61435590A 1990-11-15 1990-11-15
US614355 1990-11-15

Publications (2)

Publication Number Publication Date
JPH0652051A true JPH0652051A (ja) 1994-02-25
JPH087715B2 JPH087715B2 (ja) 1996-01-29

Family

ID=24460898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3231088A Expired - Fee Related JPH087715B2 (ja) 1990-11-15 1991-08-20 データ処理装置及びアクセス制御方法

Country Status (4)

Country Link
US (1) US5511154A (ja)
EP (1) EP0486194A2 (ja)
JP (1) JPH087715B2 (ja)
CA (1) CA2055784C (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870109A (en) * 1997-06-06 1999-02-09 Digital Equipment Corporation Graphic system with read/write overlap detector
US6208772B1 (en) * 1997-10-17 2001-03-27 Acuity Imaging, Llc Data processing system for logically adjacent data samples such as image data in a machine vision system
US6762761B2 (en) * 1999-03-31 2004-07-13 International Business Machines Corporation Method and system for graphics rendering using hardware-event-triggered execution of captured graphics hardware instructions
US7405734B2 (en) * 2000-07-18 2008-07-29 Silicon Graphics, Inc. Method and system for presenting three-dimensional computer graphics images using multiple graphics processing units
DE60120474T2 (de) * 2000-12-18 2007-01-04 Lightspace Technologies, Inc. Rasterung von dreidimensionalen bildern
US7345686B2 (en) * 2004-05-06 2008-03-18 Pixar Method and apparatus for visibility determination and processing
FR2884629B1 (fr) * 2005-04-15 2007-06-22 Atmel Corp Dispositif d'amelioration de la bande passante pour des circuits munis de controleurs memoires multiples
US8392497B2 (en) * 2009-11-25 2013-03-05 Framehawk, LLC Systems and algorithm for interfacing with a virtualized computing service over a network using a lightweight client

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3761894A (en) * 1972-05-12 1973-09-25 Bell Telephone Labor Inc Partitioned ramdom access memories for increasing throughput rate
US3742457A (en) * 1972-05-15 1973-06-26 Honeywell Inf Systems High speed data transfer for a peripheral controller
US3800292A (en) * 1972-10-05 1974-03-26 Honeywell Inf Systems Variable masking for segmented memory
US4037210A (en) * 1973-08-30 1977-07-19 Burroughs Corporation Computer-peripheral interface
DE2508240C2 (de) * 1975-02-26 1984-08-02 Siegerland-Bremsen K.H. Emde Maschinenfabrik, 6342 Haiger Selbsttätige Nachstellvorrichtung für Außenbackenbremsen
US4038642A (en) * 1976-04-30 1977-07-26 International Business Machines Corporation Input/output interface logic for concurrent operations
US4183089A (en) * 1977-08-30 1980-01-08 Xerox Corporation Data communications system for a reproduction machine having a master and secondary controllers
US4521850A (en) * 1977-12-30 1985-06-04 Honeywell Information Systems Inc. Instruction buffer associated with a cache memory unit
JPS54146549A (en) * 1978-05-09 1979-11-15 Hitachi Ltd Information processor
US4371932A (en) * 1979-07-30 1983-02-01 International Business Machines Corp. I/O Controller for transferring data between a host processor and multiple I/O units
US4309755A (en) * 1979-08-22 1982-01-05 Bell Telephone Laboratories, Incorporated Computer input/output arrangement for enabling a simultaneous read/write data transfer
DE3015125A1 (de) * 1980-04-19 1981-10-22 Ibm Deutschland Gmbh, 7000 Stuttgart Einrichtung zur speicherung und darstellung graphischer information
JPS57119390A (en) * 1981-01-16 1982-07-24 Tokyo Shibaura Electric Co Shading method
US4396995A (en) * 1981-02-25 1983-08-02 Ncr Corporation Adapter for interfacing between two buses
US4517641A (en) * 1982-04-30 1985-05-14 International Business Machines Corporation Lookahead I/O device control subsystem
US4490788A (en) * 1982-09-29 1984-12-25 Schlumberger Technology Corporation Well-logging data processing system having segmented serial processor-to-peripheral data links
JPS5971093A (ja) * 1982-10-18 1984-04-21 株式会社日立製作所 塗潰し図形発生装置
JPS59114631A (ja) * 1982-12-22 1984-07-02 Hitachi Ltd 端末制御装置
US4609917A (en) * 1983-01-17 1986-09-02 Lexidata Corporation Three-dimensional display system
US4751671A (en) * 1983-02-14 1988-06-14 Prime Computer, Inc. Size configurable data storage system
US4549263A (en) * 1983-02-14 1985-10-22 Texas Instruments Incorporated Device interface controller for input/output controller
US4691295A (en) * 1983-02-28 1987-09-01 Data General Corporation System for storing and retreiving display information in a plurality of memory planes
US4586038A (en) * 1983-12-12 1986-04-29 General Electric Company True-perspective texture/shading processor
US4600986A (en) * 1984-04-02 1986-07-15 Sperry Corporation Pipelined split stack with high performance interleaved decode
JPS60220387A (ja) * 1984-04-13 1985-11-05 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション ラスタ走査表示装置
US4725831A (en) * 1984-04-27 1988-02-16 Xtar Corporation High-speed video graphics system and method for generating solid polygons on a raster display
US4648049A (en) * 1984-05-07 1987-03-03 Advanced Micro Devices, Inc. Rapid graphics bit mapping circuit and method
US4677573A (en) * 1984-05-15 1987-06-30 International Business Machines Corporation Hardware generation of styled vectors in a graphics system
US4697178A (en) * 1984-06-29 1987-09-29 Megatek Corporation Computer graphics system for real-time calculation and display of the perspective view of three-dimensional scenes
US4750107A (en) * 1985-01-07 1988-06-07 Unisys Corporation Printer-tape data link processor with DMA slave controller which automatically switches between dual output control data chomels
US4750113A (en) * 1985-02-28 1988-06-07 Unisys Corporation Dual function I/O controller
US4926324A (en) * 1985-02-28 1990-05-15 Hitachi, Ltd. I/O control system and method
US4679041A (en) * 1985-06-13 1987-07-07 Sun Microsystems, Inc. High speed Z-buffer with dynamic random access memory
US5062076A (en) * 1985-07-12 1991-10-29 Wang Laboratories, Inc. Cascadable, high-bandwidth, multi-channel image transfer controller
US4783736A (en) * 1985-07-22 1988-11-08 Alliant Computer Systems Corporation Digital computer with multisection cache
US4758965A (en) * 1985-10-09 1988-07-19 International Business Machines Corporation Polygon fill processor
JPS62147548A (ja) * 1985-12-23 1987-07-01 Mitsubishi Electric Corp 外部記憶制御装置
US5134702A (en) * 1986-04-21 1992-07-28 Ncr Corporation Serial-to-parallel and parallel-to-serial converter
US4805116A (en) * 1986-04-23 1989-02-14 International Business Machines Corporation Interpolated display characteristic value generator
US4847758A (en) * 1987-10-30 1989-07-11 Zenith Electronics Corporation Main memory access in a microprocessor system with a cache memory
FR2623349A1 (fr) * 1987-11-18 1989-05-19 Alcatel Thomson Faisceaux Dispositif de retard d'au moins un train de donnees binaires a haut debit
US4949280A (en) * 1988-05-10 1990-08-14 Battelle Memorial Institute Parallel processor-based raster graphics system architecture
US5006980A (en) * 1988-07-20 1991-04-09 Digital Equipment Corporation Pipelined digital CPU with deadlock resolution
US4951229A (en) * 1988-07-22 1990-08-21 International Business Machines Corporation Apparatus and method for managing multiple images in a graphic display system
EP0372185A3 (en) * 1988-10-13 1990-11-07 Pixar Method and apparatus for the storage and manipulation of three-dimensional data arrays

Also Published As

Publication number Publication date
EP0486194A2 (en) 1992-05-20
EP0486194A3 (ja) 1994-01-26
US5511154A (en) 1996-04-23
JPH087715B2 (ja) 1996-01-29
CA2055784C (en) 1998-05-19
CA2055784A1 (en) 1992-05-16

Similar Documents

Publication Publication Date Title
JP2725915B2 (ja) 三角形描画装置及び方法
JPH0683969A (ja) グラフィックス・プロセッサ及びグラフィックス・データ処理方法
KR960003041B1 (ko) 그래픽 시스템용의 확장 가능한 다영상 버퍼
US5790134A (en) Hardware architecture for image generation and manipulation
US4725831A (en) High-speed video graphics system and method for generating solid polygons on a raster display
US9405586B2 (en) Method of dynamic load-balancing within a PC-based computing system employing a multiple GPU-based graphics pipeline architecture supporting multiple modes of GPU parallelization
US5774133A (en) Computer system with improved pixel processing capabilities
US5185599A (en) Local display bus architecture and communications method for Raster display
US6597363B1 (en) Graphics processor with deferred shading
JP2001357410A (ja) 別々に生成された3次元イメージを合成するグラフィックス・システム
GB2245129A (en) Local display bus architecture and communications method for raster display
US6864892B2 (en) Graphics data synchronization with multiple data paths in a graphics accelerator
JPH1097635A (ja) ディスプレイリストを生成する方法、ディスプレイリストを受け取りグラフィックスプロセッサに格納する方法、プリミティブをレンダリングする方法およびディスプレイリストを用いてプリミティブをレンダリングするシステム
US5420972A (en) Method and apparatus for rendering lines
US5463723A (en) Method and apparatus for filling polygons
US7439979B1 (en) Shader with cache memory
JPH0652051A (ja) 階層メモリ制御
US5339394A (en) I/O register protection circuit
US5999200A (en) Method and apparatus for automatically controlling the destination of a graphics command in a register file
US6885375B2 (en) Stalling pipelines in large designs
JPH09120278A (ja) コンピュータグラフィックスシステムにおけるラインスキャンコンバージョン装置とその方法
JP2836617B2 (ja) レンダリングプロセッサ
Haaker et al. A distributed frame buffer within a window-oriented high performance graphics system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees