JPH04282786A - Zバッファ値更新用高メモリ帯域幅システム - Google Patents

Zバッファ値更新用高メモリ帯域幅システム

Info

Publication number
JPH04282786A
JPH04282786A JP3237847A JP23784791A JPH04282786A JP H04282786 A JPH04282786 A JP H04282786A JP 3237847 A JP3237847 A JP 3237847A JP 23784791 A JP23784791 A JP 23784791A JP H04282786 A JPH04282786 A JP H04282786A
Authority
JP
Japan
Prior art keywords
value
memory
new
old
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3237847A
Other languages
English (en)
Inventor
Charles R Dowdell
チャールズ・アール・ドーデル
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH04282786A publication Critical patent/JPH04282786A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的に、コンピュー
タグラフィック装置に関し、特に、コンピュータグラフ
ィック装置に用いるZバッファ値更新用高メモリ帯域幅
システムに関する。
【0002】
【従来の技術及びその課題】現代のコンピュータグラフ
ィック装置は、物体を表わすコンピュータにより供給さ
れたデータに基づいて物体のイメージを表示するために
広く使用される。そのような装置において、画面は多数
の画素へ副分割され、そこで各々の画素は画面に対応し
ているxy平面の(x、y)座標組と関連づけ可能であ
る。互いに陰になっている物体(すなわち、1つの物体
が他の物体の前に現れ、従ってその部分の見通しを妨げ
る状況)を描画するため、z軸がさらに画面の平面内へ
向けて定義される。それぞれの画素はその画素位置にお
いて描画されるべき物体の深さを表示するz値に関連す
る。24ビットの2進数で表わされる各画素に対するz
値は、zバッファメモリ位置内に記憶される。従って、
以下の2つの量に各々の画素は関連する。すなわち、白
黒イメージの場合グレースケール輝度となり得るカラー
、およびその画素位置において描画されるべき物体の深
さ、すなわちz値の2つである。
【0003】一般的に、表示されたイメージは時間の経
過と共に展開または変化し、一連のイメージが表示され
るように全体のイメージがもう1つのイメージにより置
き換えられるか、またはある一定の画素のみが変化する
。一例として、物体を既存のイメージへ追加すると仮定
する。その場合、この新しい物体の部分は、それらが他
の既存の文体の後ろへ現れるよう描画されるべきである
。新しい物体がまたがっている画面部に対応している各
々の画素位置は以下の手順を経る。最初に画面上に存在
しているイメージに対応するz値(すなわち、旧z値)
がzバッファメモリから読み取られる。この旧z値は次
に、描画されるべき物体へ対応しているz値(すなわち
、新z値)と比較される。新z値が旧z値より小さく、
描画されるべき物体が問題となる画素位置において既存
のイメージの前にくると、新z値はzバッファメモリへ
書き込まれ、そのために旧z値が置き換えられる。 さらに、新カラー値がその画素位置で画面に描画される
。一方、新z値が旧z値より大きく、新しい物体はその
画素位置において既存の物体の後ろへくると、旧z値は
メモリ内にそのままの状態で残り、そして新z値が捨て
られる。その新カラー値は画面上には描画されない。 最後に、2つのz値が等しい場合、新カラー値はいくつ
かの事前に決定された規則に従って画面上に描画された
り、またはされなかったりする。従って、一般的に3つ
の段階処理が画素位置の更新において行われる。すなわ
ち、zバッファメモリの読み取り、新旧のz値の比較、
およびメモリへの新値の書き込みである。
【0004】当該の結果として、グラフィックアプリケ
ーションにおいては、更新動作が高速で行われる場合に
のみ希望される効果が実現される。メモリにより処理可
能な単位時間当りのビット数としてメモリ装置の帯域幅
を定義すると、できるだけ広い帯域値をもつことが望ま
しい。
【0005】
【課題を解決するための手段】本願の発明のz値更新シ
ステムは、先行技術のシステムより明らかにより広いメ
モリ帯域幅により特徴付けられる。一般的な先行技術3
段階zバッファ更新動作は、各更新された画素に対し、
メモリからまたはメモリへの48ビットのアセクス、読
み取り動作用24ビット、書き込み動作用24ビット、
および24ビット比較を含む。
【0006】発明の1つの特徴に従って、特別な画素ア
ドレスに対するz値の更新において、新z値および画素
アドレスを受信する制御器は、その画素アドレスのため
の単一ビットをチェックすることにより、妥当なz値が
このアドレスにおいて以前に記憶されたかどうかを最初
に決定する。もしなにも記憶されていない場合は、その
新z値は、メモリ読み込みまたはz値比較の必要性無し
でメモリ内へ書き込まれる。しかしながら、妥当なz値
が画素アドレスにおいて記憶されている場合、制御器は
更新動作を開始する。
【0007】発明の別の特徴に従って、以前に記憶され
たz値および新z値の部分が順次比較され、各々の比較
は次の比較を実行するかどうか、新z値の任意の部分が
メモリへ書き込むかどうか、または更新動作を終了する
かを決定する。与えられたメモリ帯域幅に関して、比較
のために単一画素、マルチバイトメモリアセクスを実行
するよりはむしろ、多くの異なるマルチバイトz値の部
分を表している個々のバイトが並列にアセクス可能であ
る。なぜならば、決定は最上位バイトのみの比較に基づ
いて時々決定可能であり、多くの画素に対して完全な順
アセクスは必要とされず、そして多くの最下位バイトの
アセクスが避けられる。さらに、遂行される比較は全2
4ビットz値のものよりはむしろ、単一バイトのみに関
するものである。
【0008】特別なz値のある一定の部分のみの更新結
果は、メモリへの/メモリからのデータバスの方向をい
つ反転させるかに関してある決定を行われなければなら
ないということである。これはz値がメモリから読み取
られた後にデータパスが常に反転されるという先行技術
手法とは対照的である。この決定時間を最小にするため
に、画素の追加バイトを読み取るための決定は迅速な等
価比較に基づく。書き込み決定はより遅い「より大きい
」または「より大きくない」という比較に基づくが、メ
モリは並列等価比較により書き込みモードに設定される
【0009】この更新手法のいくつかの見地は、より大
きなメモリ帯域幅を与える。第一に、単一ビットチェッ
クにより、z値が与えられたアドレスで以前に記憶され
たかどうかについての予備決定を行う場合に相当量の時
間が節約可能である。第二に、平均してより少ないメモ
リアセクスが必要となる。これは全z値がメモリから読
み取られ、比較され、そしてメモリへ書き込まれる代わ
りに、必要に応じ、部分的な読み取り、比較、および書
き込み動作を行うことができる。第三に、以前に記憶さ
れたz値および新しいz値との間の比較が、時間を要す
るが必要な比較を2つの比較(1つは速くおよび1つは
遅い)へ分解することにより実現される(これらは並列
に実施される)。最初の比較はメモリへの/メモリから
のデータパスを反転させる時間を決定しなければならな
いことにより引き起こされる速度の低下を軽減する。
【0010】本願のシステムの提出された実施例の中心
に制御器/メモリモジュールがある。制御器はメモリア
セクスメニュー、2つの比較器、2つの先入れ先出し(
FIFO)バッファ、状態マシンユニット、およびメモ
リをアセクスするために必要なRAMおよびCAS回路
を一部として含む。
【0011】多くのこれらの制御器/メモリモジュール
は、メモリ帯域幅を増すために並列アーキテクチャの一
部として取入れ可能である。そのようなアーキテクチャ
において、各々の画素グラフィック画面は制御器/メモ
リモジュールの1つを事前に割り当てられる。割り当て
ユニットは新z値およびその関連zバッファアドレスを
受信し、その画素を制御器/メモリモジュールの1つへ
続いて割り当てる。この割り当てにより、新z値は2つ
のFIFOバッファ、すなわち選択された制御器/メモ
リモジュールのFIFO、および一組の制御器/メモリ
モジュールの作業活動を文書化する中央FIFO内に置
かれる。新z値がその制御器/メモリモジュールへ属し
ているFIFOから出力される場合、上記で記述された
方法を使用してそれを更新する。一旦更新が終了すると
、中央FIFOは更新結果についての報告を受ける。 中央FIFOは制御器/メモリモジュールにより故障終
了の効果を克服するために使用されることに注意する。
【0012】FIFOの前における入力が更新結果とし
て通知された場合、その比較結果はカラー更新ユニット
に対して利用可能となる。カラー更新ユニットはコンピ
ュータ等のソースからカラー値および中央FIFOから
受信された更新結果に対応するアドレスを同時に受信し
、更新結果を用いてカラーがグラフィックス画面上に描
かれるかどうかを決定する。
【0013】
【実施例】I.基本手法および機器 次に、発明を図1ないし図3を参照しながら説明する。 図1はある与えられた画素に対する3段階更新動作(す
なっち、読み取り、比較、書き込み)を遂行する発明の
制御器/メモリモジュール100に関するブロック図で
ある。その図内で見られるように、モジュールは入力F
IFO102、出力FIFO118、24ビットの新z
値を保持するためレジスタ104、新z値の特別なバイ
トを選択するためマルチプレクサ106、旧z値のバイ
トを保持するためレジスタ108、妥当性ビットを記憶
するためレジスタ110、等価比較器112、「より大
きい」/「より大きくない」比較器114、状態マシン
116、行アドレスストローブ(RAS)、及び列アド
レスストローブ(CAS)回路120を順番に一部とし
て含む制御器を一部として含んでいる。
【0014】コンピュータのようなソースにより提供さ
れるような入力zバッファアドレス、新z値、および命
令は、入力FIFO102内に入力として記憶される。 ここで、必要ならば、命令は入力画素アドレスが新z値
により更新されることをコンピュータから制御器112
へ表示する役目を果たす。しかしながら、一般的に、命
令バスは制御器へのより一般的な命令を含むことができ
る。
【0015】FIFO102からの出力時、新z値はレ
ジスタ104内に記憶される。同時に、命令は状態マシ
ン116へ送信され、zバッファアドレスがRAS/C
AS回路120ヘ送信される。(グラフィックハードウ
ェア内で標準的に使用される)RAS/CAS回路12
0は、zバッファアドレスを現在の行アドレスと比較す
る。それらが合致する場合、次にzバッファ列アドレス
はデータ回線126上でメモリユニット124へ供給さ
れる。もしそれらが合致しない場合は、現在の行アドレ
スを変更するRASサイクルが、zバッファ列アドレス
を持つメモリ124の提供に先立って開始される。
【0016】ある与えられたzバッファアドレスに対し
て、メモリ124はメモリ内に記憶されたz値だけでな
く、INVALID(無効)ビットもまた含む。特別な
画素に対するINVALIDビットの値は、対応するz
値メモリ位置がそれ内に記憶された妥当なz値を持つか
どうかを、持つ場合には「0」の値、持たない場合には
「1」の値を表示することにより示す。
【0017】メモリ124がRAS/CAS回路120
からこの画素アドレスを受信するやいなや、INVAL
IDバイトレジスタ110の内容が試験される。レジス
タ110が現在の画素に対して1ビットがINVALI
DビットであるINVALIDバイトを含む場合、IN
VALIDビットの値が試験される。しかしながら、レ
ジスタ内に記憶されたINVALIDバイトが現在の画
素に対するINVALIDビットを含まない場合、IN
VALIDバイトはメモへ書き込まれ、希望されるIN
VALIDバイトが次にメモリから読み取られ、レジス
タ110内に記憶される。現在の画素に対するINVA
LIDビットの値が次に試験される。
【0018】INVALIDビットの値が「1」に等し
い場合、旧z値は存在せず、従って、新z値がメモリへ
書き込まれなければならない。さらに、現在の画素に対
するINVALIDビットの値が「0」へ設定される。 別の実施例において、INVALID=「1」である場
合、新z値は迅速にはメモリへ書き込まれないことに注
意する。代わりに、新z値が一定値を比較され、その比
較結果により、新z値または一定値がメモリへ書き込ま
れるかどうかが決定される。提出された実施例における
ように、INVALIDビットの値は「0」へ設定され
る。INVALID=「0」である場合、旧z値はメモ
リ内に存在せず、手順を更新している全z値が実行され
るべきである。
【0019】この場合において、レジスタ104ヘ供給
される新z値の部分は、必要に応じてメモリ124から
読み取られた旧z値の対応している部分と比較される。 各々の比較結果により追加メモリアセクスおよび比較が
行われるかどうかが決定される。
【0020】さらに詳細に述べれば、図2は図1内で示
される状態マシン論理116の状態図であり、INVA
LID=「0」の場合における更新動作の手法を描写し
ている。zバッファメモリから読み取られた旧24ビッ
トのz値の最上位、中位、および最下位バイトはそれぞ
れ、R1、R2、およびR3により示される。旧z値を
置き換えるためにメモリへ書き込まれる可能性のある新
24ビットz値の対応するバイトは、W1、W2、およ
びW3により示される。最後に、書き込みが必要とされ
ることを示す新旧のz値の対応するバイト間の関係が指
示されなければならない。以下の記述において、「より
大きい」という関係(>)が特定な例として使用され、
この「より大きい」という比較は等価比較と絶対値比較
と区別するため、全体を通して絶対値比較として参照さ
れる。しかしながら、任意の関連演算子(例えば、「よ
り少ない」、「より大きい」、「より等しい」)は、特
別なアプリケーションに従って使用可能であることに注
意する。
【0021】図2を参照し、新旧のz値の全ての24ビ
ットは一度に処理されないことに注意する。最初に、最
上位バイト(MSB)R1がメモリ124から読み取ら
れ、レジスタ108内に記憶される。選択行が状態マシ
ン116により制御されるマルチプレクサ106により
、W1はレジスタ104から得られる。等価比較器11
2により決定されるように、R1がW1に等しくない場
合、「NOP」状態が入力される。「NOP」状態は、
以下で詳細に記述されるように、メモリへの/メモリか
らのデータパス方向が確立される間の待ち状態である。 続いて、(本例がより「より大きいか」/「より大きく
ない」比較である)「0」動作が遂行されるべきである
。比較器114により決定されるように、R1>W1の
場合、全24ビット旧z値は全24ビット新z値よりよ
り大きい。従って、バイトW1、W2、およびW3から
成る全24ビット新z値はメモリ124へ書き込まれな
ければならない。しかしながら、R1≦W1である場合
、旧24ビットz値は新24ビットz値より小さくなり
、その結果、新z値はメモリへ書き込まれるべきでない
ことが示される。この場合、図2の「完了」状態により
示されるように、更新動作は直ちに終了される。
【0022】R1がW1に等しい場合にのみ追加比較が
必要とされる。その場合、R2はメモリから読み取られ
る。R2がW2に等しいくない場合、「NOP」状態が
入力される。そしてその後、「より大きい」/「より大
きくない」比較が比較器114により行われなければな
らない。R2>W2である場合、全24ビット旧z値は
全24ビット新z値よりより大きく、その結果として、
W2およびW3がメモリへ書き込まれなけれならない。 (W1はすでにメモリ内にあるR1と等しいので、それ
をメモリへ書き込む必要はない。)しかしながら、R2
≦W2である場合、次に旧24ビットz値は新24ビッ
トz値より小さい。その結果、新しい値はメモリへ書き
込まれるべきでないことが示される。すなわち、その結
果「完了」状態が入力される。
【0023】R2がW2に等しい場合、R3はメモリか
ら読み取られる。R3がW3に等しい場合、新旧のz値
は等しく、新z値はメモリへ書き込まれない。そのため
に、更新動作が終了する。R3がW3に等しくない場合
、「NOP」状態が入力され、その後「より大きい」/
「より大きくない」比較が行われるべきである。R3>
W3の場合、全24ビット旧z値は、全24ビット新z
値より大きく、その結果、W3がメモリへ書き込まなけ
ればならない。(W1およびW2はすでにメモリ内にあ
るR1およびR2と等しいため、それらをメモリ内へ書
き込む必要はない。)しかしながら、R3≦W3にであ
る場合、旧24ビットz値は新24ビットz値より小さ
くなり、その結果、新しい値がメモリへ書き込まれるべ
きでないことが表示される。また、「完了」状態が入力
される。
【0024】この点において、INVALIDビットの
値に従って2つの方法のいずれかにより終了され、更新
動作は完了する。すなわち、INVALID=1に対し
ては、新z値がメモリへ書き込まれた場合に更新が終了
される。INVALID=0に対しては、「DONE」
状態に到達した場合に更新が終了される。更新動作の結
果(すなわち、z値がメモリ内で置き換えられたかどう
か)は、外部的に利用可能となる出力FIFO118上
に置かれる(第III節参照)。データ回線を介してそ
の外部装置312は、データ回線128上の出力FIF
O118へハンドシェーク信号を戻し、更新結果が受信
されたことを示す。
【0025】II.  メモリ帯域幅増に関する議論第
I節および特に図2から明白であるように、読み取り/
比較/書き込み動作をせいぜい4つのメモリアセクスま
たはサイクル(例えば、R1、R2、W2、W3)おい
て必要である。これは(6バイトがメモリへ/メモリか
らアセクスされるべきであることを必要とする)先行技
術と異なる。旧z値の全ての24ビット(3バイト)が
読み取られなければならず、新z値の全ての24ビット
が書き込まれなければならない。
【0026】(最悪の場合において)6の代わりに、(
最悪の場合において)4バイトをアセクスすることが可
能であるために、メモリ帯域幅が直接増加することにな
る。この増加を示すため、各々の読み取りまたは書き込
み動作(8ビットまたは24ビットのいずれか)を継続
時間Tとする。次に、先行技術手法は24ビット書き込
み動作の前に24ビット読み取り動作を必要とするので
、2Tが必要とされる。それは1/(2T)の帯域幅へ
対応する。ここで、4つのメモリアセクスが必要とされ
る本願の発明の手法について考慮する(ここで、1/(
4T)のより少ない帯域幅がもたらされる)。しかしな
がら、帯域幅の意味のある比較を行うため、メモリ装置
は同一数の入/出力(1/0)ピンを持つべきである。 平行して動作する3つの(先行技術の場合におけるよう
に、全部で24のピンを持っている)8ビット幅のメモ
リユニットを考えると、メモリ帯域幅は実際には3/(
4T)であり、これは先行技術の帯域幅1/(2T)上
で50%の増加に対応する。
【0027】最悪の場合のみならず全ての場合において
、本願の発明によるメモリ帯域幅が少なくとも先行技術
のメモリ帯域幅と同様であるという事実を、以下のよう
に確認することができる。すべての可能性は次の2の場
合の1つに分類可能である。
【0028】(1)比較動作がメモリへの書き込みを最
終的に生じない場合 (2)比較動作がメモリへの書き込みを最終的に生じる
場合 最初の場合において、先行技術手法は3バイトのアセク
スを必要とする。しかしながら、この場合に対し、図2
に見られるように、本願の手法はR1=W1およびR2
=W2の場合にのみ3バイトのアセクスを必要とする。 R1≦W1またはR2≦W2の場合、それぞれ、1つま
たは2つのメモリアセクスのみが必要となる。従って、
(1)の場合に対して、本願の手法は少なくとも先行技
術の手法と同程度に速い。
【0029】上記で処理された最悪の場合に対応する(
2)の場合について、先行技術は6バイトのアセクスを
必要とする。しかしながら、本願の手法はたった4バイ
トのアセクス(すなわち、R1、W1、W2、W3;R
1、R2、W2、W3;またはR1、R2、R3、W3
)を必要とするだけである。従って、(2)の場合に対
しては、本願の手法は先行技術手法により50%速い。 最後に、一緒に考慮される(1)および(2)の場合に
対する結果により、本願の手法がより先行技術の手法よ
りもより速いことが証明される。 すなわち、本願の手法は先行技術の手法によりより大き
いメモリ帯域幅を持っている。
【0030】上記で行われる両方の手法に関する比較は
、比較動作のために必要な時間を取り入れていないこと
に注意する。しかしながら、8ビット比較動作が少なく
とも同程度に速く、そして一般的に明らかにより速い2
4ビット比較動作であるという事実は、本願の手法が先
行技術手法よりもより大きい帯域幅を持つという上記で
到達された結論を支援する。
【0031】再び図1を参照する。状態マシン論理11
6により必要とされる比較を行うため、本願の実施例は
2つの比較器を使用している。しかしながら、2つの比
較器により提供される同一の情報は、単一の「より大き
い」/「より小さい」/「等しい」比較器により交互に
提供可能であった。しかしながら、等価比較は絶対値比
較より明らかに速く行うことができるため、および等価
比較の結果は絶対値の結果よりり迅速に必要とされるた
め、単一の「より大きい」/「より小さい」/「等しい
比較」は、並列に行われる2つの比較に分解される。
【0032】詳細に述べるため、図2を参照する。メモ
リ装置は等価比較および絶対値比較の結果に従って、メ
モリ読み取りモードまたはメモリ書き込みモードのいず
れかであることが可能である。図1で見られるように、
メモリ装置124は単一バス接続を介して、メモリ装置
124からのデータの読み取りまたはそこへのデータの
書き込みのいずれかを行う制御器122へつながれる。 このバス接続間のデータ転送は任意の与えられた時間で
単一方向であるため、バス競合を避けるために、必要に
応じメモリ装置はメモリ読み取りモードからメモリ書き
込みモードへのおよびその逆の遷位を行わなければなら
ない。これを行うために、メモリ装置はそのデータ経路
をバスに沿って反転するための十分な時間を持つべきで
ある。この時間期間は「NOP」状態により図2の図中
で表わされる。
【0033】データ経路を反転するかしないか(すなわ
ち、次のバイトを読み取るか読み取らないか)に関する
決定は、「より大きい」/「より小さい」/「等しい」
比較より明らかにより速い等価比較の結果のみを必要と
するため、実際に必要とされる「より大きい」/「より
小さい」/「等しい」比較結果は速い等価比較およびよ
り遅い絶対比較に分解される。結果的に、等価結果は状
態マシン論理により直ちに使用可能である。すなわち、
等価比較のより緊急に必要とされる結果を得るため、状
態マシンは複合比較の結果を待つ必要はない。z値が等
しい場合、迅速な読み取りが行われる。z値が等しくな
い場合、メモリは書き込みモードへ直ちに設定される。 絶対値比較の結果は次に、新z値の現在のバイトをメモ
リへ書き込むかどうかを決定するために必要とされ、そ
れはすでに書き込みモードである。
【0034】2つの比較動作(等価および絶対値)は並
列に行われ、それらの結果はそれらが利用可能になると
状態マシンへ送信される。この並列性(状態)は、回路
の速度を更に増加することにおいて役立つ。
【0035】更新速度が先行技術手法と比較して増加さ
れる最終手段は、メモリ124内のINVALIDビッ
トの組の使用を通じて行われる。更新動作の多くの部分
がINVALID=「1」の場合において避けられるた
め、相当な時間節約がこのスキーマから発生する。
【0036】このスキーマもまた、グラフィック画面の
迅速なクリアの間、z値の迅速に更新するための方法を
提供する。通常、、グラフィック画面の一部分または全
てがクリアされるべき場合、クリアされるべき各々の画
素毎のz値メモリ位置が更新されなければならない。す
なわち、これは各画素毎の3つのメモリアセクス(書き
込み動作)を含む手順である。しかしながら、本願の発
明のINVALIDビットスキーマを使用することによ
り、これらの画素へ対応しているINVALIDビット
のみが「1」へ設定されなければならない。すなわち、
これはそうでなければ必要であろう大幅に少ないメモリ
アセクスを必要とする手順である。
【0037】III.  並列構成の手法および機器図
3は第I節内で記述される複数の制御器/メモリモジュ
ールを使用することにより、メモリ内に記憶されたz値
を更新するために、およびグラフィック画面上でカラー
を更新するために使用されるシステムのブロック図であ
る。システム(1)コンピュータのような、z値、zバ
ッファアドレス、指令のソース302;(2)カラー及
び画素アドレスのソース303;(3)割り当てユニッ
ト304;(4)8つのプロセッサモジュール100、
図1で詳細に示されるように各々が制御器/メモリモジ
ュール100を一部として含んでいる;(5)中央FI
FOバッファ312;(6)カラー更新ユニット314
;(7)フレームバッファ315;および(6)グラフ
ィックモニタ316により構成される。
【0038】画面上に続いて何が表示されるかに従って
、z値302は割り当てユニット304に対して、新し
い24ビットのz値のストリーム、およびそれらが対応
する画素のzバッファアドレスを提供する。ストリーム
内で与えられたzバッファアドレスに対して、割り当て
ユニットはアドレスの値を用いて、8つのプロセッサモ
ジュール100の正しい1つを選択する。選択されたプ
ロセッサモジュール100内のメモリユニット124(
図1)は、zバッファアドレスに対応する旧z値を含む
。各々のプロセッサモジュールのメモリ内で、各z値の
バイトが順アドレスにおいて記憶される。論理ユニット
304により行われる割り当てのために、zバッファア
ドレスの最下位ビットはモジュール内でアセクスのため
にもはや必要とされない。
【0039】割り当てユニットは次に、選択されたプロ
セッサモジュールの入力FIFO102(図1)に対し
、その画素アドレスおよび新z値を提供し、zバッファ
アドレスの3つの最下位ビットの形式を取るプロセッサ
モジュールの番号を中央FIFO312上に置くことに
より、プロセッサモジュールのその選択を文書化する。 プロセッサモジュール番号は、2つの単一ビット状態変
数(すなわち、[REPLACED(置き換え)]およ
び[DECISION−COMPLETE(決定完了)
]により、中央FIFO上に付けられる。これら2つの
変数は、新z値がそれらが対応するエントリで古いz値
を置き換えたかどうか、およびこの決定がなされたかど
うかをそれぞれ表示する。 [DECISION−COMPLETE(決定完了)]
は「0」へ初期化され、[DECISION−COMP
LETE(決定完了)]が「0」の状態のままである限
り、[REPLACED(置き換え)]値は意味を失う
【0040】エントリがそのプロセッサモジュール10
0に属している入力FIFO102から出力される場合
、プロセッサモジュールは上記の第I節内で記述される
読み取り/比較/書き込み動作を開始する。
【0041】特に、与えられた画素に対するINVAL
IDビットの値をチェックすることにより、およびその
値に従って新z値をメモリへ書き込むかまたは図2の状
態図により記述される更新処理を開始するかのいずれか
により、制御器122(図1)が開始する。この点にお
いて、旧z値は新z値により置き換えられたかまたは置
き換えられなかったかのいずれかであり、その効果に対
する表示が中央FIFO312へ提供される。特に、現
在のプロセッサモジュール100に対応している中央F
IFO312内の最も古いエントリは、単一ビット[R
EPLACED(置き換え)]の値を置き換えが発生し
た場合には「1」へ、置き換えが起きなかった場合には
「0」へ設定することにより更新される。同時に、[D
ECISION−COMPLETE(決定完了)]の値
は「1」へ設定される。
【0042】一般的に、このスキーマは故障終了をもた
らすことに注意する。すなわち、画素に対するz値更新
は、割り当てユニット304により受信されるように画
素に関する情報がストリーム内に順番と同じ順番で発生
する必要はない。例えば、この現象は、割り当てユニッ
トに到着する画素の大きな割合が、それらがプロセッサ
モジュール100の特別な1つへ割り当てられるべきで
あるように、アドレスを持つ場合に発生する。この場合
において、冗長な待ち行列がこのプロセッサにおいて形
成され、後で割り当てユニットに到着したが、他の処理
モジュールへ対応している画素は、混み合ったプロセッ
サでそれらの画素が待ち行列に入る前に更新される。さ
らに、ある決まったプロセッサにより処理される画素は
、より速い「完了」状態を生じる可能性がある。待ち行
列が数台の使用中のプロセッサにおいて形成される場合
、故障終了の許可は全てのプロセッサにおける待ち行列
の形成の可能性を明らかに避け、結果的に8台のプロセ
ッサ並列性が完全に利用されることを可能にする。
【0043】一旦中央FIFO312の前におけるエン
トリが[DECISION−COMPLETE]=「1
」を持つと、そのエントリはFIFO312から除去さ
れ、[REPLACED]ビットの値がカラー更新ユニ
ット314へ供給される。ソース303はカラー値およ
び画素アドレスをカラー更新ユニット314へ提供する
。それらのカラー値および画素アドレスは同一の順番(
すなわち、ユニット314に到着するREPLACED
ビットに対応している順番)である。ユニット314は
カラーが[REPLACED(置き換え)]の値に基づ
いてグラフィックモニタ316上に描写されるべきかど
うかを決定する。この決定はグラフィックモニタ316
へ結合されるフレームバッファ315上へ渡される。
【0044】発明が特別に示され、それについて提示さ
れた実施例に関して記述される一方、形式および細部に
おける種々の変更が、付け加えられる要求内で定義され
るようなその発明の精神および範囲から離れることなく
行われる可能性があることが、本発明に熟練している者
により理解される。例えば、システムの種々の構成要素
は、ハードウェアにより配線された論理回路またはプロ
グラムされたプロセッサを用いて実現されるが、速度の
点ではハードウェアにより実現することが望ましいであ
ろう。また、個々に示されそして要求される論理回路は
共通の回路で実現可能である。
【0045】
【発明の効果】以上のように、本発明によれば、Z値バ
ッファ更新用メモリに、より大きなメモリ帯域幅を与え
ることが可能である。このため、第一に、単一ビットチ
ェックにより、z値が与えられたアドレスで以前に記憶
されたかどうかについての予備決定を行う場合に相当量
の時間が節約可能である。第二に、平均してより少ない
メモリアセクスにより、全z値がメモリから読み取られ
、比較され、そしてメモリへ書き込まれる代わりに、必
要に応じ、部分的な読み取り、比較、および書き込み動
作を行うことができる。第三に、以前に記憶されたz値
および新しいz値との間の比較が、時間を要するが必要
な比較を2つの比較(1つは速くおよび1つは遅い)へ
分解することにより実現される(これらは並列に実施さ
れる)ので、速度の低下を軽減することが可能である。
【図面の簡単な説明】
【図1】本発明の心臓部を構成する制御器/メモリモジ
ュールのブロック図である。
【図2】図1の状態マシン116の動作を説明する状態
遷移図である。
【図3】複数の制御器/メモリモジュールを用いた並列
アーキテクチャのブロック図である。
【符号の説明】
100  制御器/メモリモジュール 102  入力FIFO 104  レジスタ 106  マルチプレクサ 108  レジスタ 110  レジスタ 112  等価比較器 114  「より大きい」/「より大きくない」比較器
116  状態マシン 118  出力FIFO 120  RAS/CAS回路 122  制御器 124  メモリ 126  データ回線 128  データ回線 312  外部装置

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】コンピュータグラフィックス画面の画素に
    対応するZ値を更新するためのシステムであって:(a
    ) 旧Z値を格納するためのメモリと;(b) グラフ
    ィックス画面の画素に対する新Z値を受けて、前記メモ
    リから画素に対する旧Z値の部分にアクセスするアクセ
    ス論理と; (c) 新Z値の部分と前記メモリからアクセスされた
    旧Z値の対応する部分とを比較する部分比較器と;(d
    ) 前記部分比較器の出力に基づいて、前記アクセス論
    理に旧Z値を新Z値と置き換えさせる決定論理であって
    、前記メモリからの旧Z値の別の部分にアクセスを行わ
    せ比較を行わせるか、または旧Z値の更新を終了させる
    ための決定論理と;から成ることを特徴とするシステム
JP3237847A 1990-09-18 1991-09-18 Zバッファ値更新用高メモリ帯域幅システム Pending JPH04282786A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/584,066 US5301263A (en) 1990-09-18 1990-09-18 High memory bandwidth system for updating z-buffer values
US584066 1990-09-18

Publications (1)

Publication Number Publication Date
JPH04282786A true JPH04282786A (ja) 1992-10-07

Family

ID=24335795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3237847A Pending JPH04282786A (ja) 1990-09-18 1991-09-18 Zバッファ値更新用高メモリ帯域幅システム

Country Status (2)

Country Link
US (1) US5301263A (ja)
JP (1) JPH04282786A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002108692A (ja) * 2000-07-03 2002-04-12 Samsung Electronics Co Ltd 半導体メモリ装置及び情報処理方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621866A (en) * 1992-07-24 1997-04-15 Fujitsu Limited Image processing apparatus having improved frame buffer with Z buffer and SAM port
US5583974A (en) * 1993-05-10 1996-12-10 Apple Computer, Inc. Computer graphics system having high performance multiple layer Z-buffer
KR100243179B1 (ko) * 1994-06-30 2000-02-01 윤종용 그래픽 시스템의 신호처리방법 및 장치
US5561750A (en) * 1994-09-22 1996-10-01 Seiko Epson Corporation Z-buffer tag memory organization
US5611041A (en) * 1994-12-19 1997-03-11 Cirrus Logic, Inc. Memory bandwidth optimization
US5812138A (en) * 1995-12-19 1998-09-22 Cirrus Logic, Inc. Method and apparatus for dynamic object indentification after Z-collision
US5760780A (en) * 1996-01-31 1998-06-02 Hewlett-Packard Company Computer graphics system using caching of pixel Z values to improve rendering performance
US5844571A (en) * 1996-06-10 1998-12-01 International Business Machines Corporation Z buffer bandwidth reductions via split transactions
US5933156A (en) * 1997-12-03 1999-08-03 Margolin; Jed Z-Buffer for row addressable graphics memory with flash fill
US6285779B1 (en) * 1999-08-02 2001-09-04 Trident Microsystems Floating-point complementary depth buffer
US6677945B2 (en) 2001-04-20 2004-01-13 Xgi Cayman, Ltd. Multi-resolution depth buffer
US7333106B1 (en) * 2003-03-27 2008-02-19 Silicon Motion, Inc. Method and apparatus for Z-buffer operations
WO2006011307A1 (ja) * 2004-07-23 2006-02-02 Matsushita Electric Industrial Co., Ltd. 3次元形状描画装置及び3次元形状描画方法
US7629952B2 (en) * 2006-03-30 2009-12-08 Intel Corporation Method and apparatus for reducing power consumption in displays
US8547382B2 (en) * 2008-05-30 2013-10-01 Advanced Micro Devices, Inc. Video graphics system and method of pixel data compression

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914582A (en) * 1986-06-27 1990-04-03 Hewlett-Packard Company Cache tag lookaside
US4813002A (en) * 1986-07-21 1989-03-14 Honeywell Bull Inc. High speed high density dynamic address translator
US4961153A (en) * 1987-08-18 1990-10-02 Hewlett Packard Company Graphics frame buffer with strip Z buffering and programmable Z buffer location
US4958302A (en) * 1987-08-18 1990-09-18 Hewlett-Packard Company Graphics frame buffer with pixel serializing group rotator
US4907174A (en) * 1988-06-02 1990-03-06 Sun Microsystems, Inc. Z-buffer allocated for window identification
US4951232A (en) * 1988-09-12 1990-08-21 Silicon Graphics, Inc. Method for updating pipelined, single port Z-buffer by segments on a scan line
US5038297A (en) * 1988-09-13 1991-08-06 Silicon Graphics, Inc. Method and apparatus for clearing a region of Z-buffer
US5068808A (en) * 1988-11-22 1991-11-26 Reality Imaging Corporation Imager and process

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002108692A (ja) * 2000-07-03 2002-04-12 Samsung Electronics Co Ltd 半導体メモリ装置及び情報処理方法

Also Published As

Publication number Publication date
US5301263A (en) 1994-04-05

Similar Documents

Publication Publication Date Title
US6124868A (en) Method and apparatus for multiple co-processor utilization of a ring buffer
JPH04282786A (ja) Zバッファ値更新用高メモリ帯域幅システム
US5524223A (en) Instruction accelerator for processing loop instructions with address generator using multiple stored increment values
US5754191A (en) Method and apparatus for optimizing pixel data write operations to a tile based frame buffer
US6393520B2 (en) Data processor and data processing system with internal memories
JPH04290150A (ja) Fifoバッファの制御装置及び制御方法並びにデータ転送を制御する装置
JPH07104734A (ja) 図形データ並列処理表示装置
US6985151B1 (en) Shader pixel storage in a graphics memory
JPH11317069A (ja) Fifo記憶装置
US5434967A (en) Decision variable hardware logic and processing methods for graphics display system
US6678755B1 (en) Method and apparatus for appending memory commands during a direct memory access operation
EP0149188B1 (en) Display control system
DE19922901A1 (de) Schnittstellensteuergerät für einen Bildpuffer
US7053904B1 (en) Position conflict detection and avoidance in a programmable graphics processor
US5530458A (en) Image memory control device
KR940001668B1 (ko) 컴퓨터시스템의 출력디스플레이를 신속하게 소거하는 개량된 장치
US6563505B1 (en) Method and apparatus for executing commands in a graphics controller chip
US6078336A (en) Graphics memory system that utilizes look-ahead paging for reducing paging overhead
EP0108647B1 (en) Data processing apparatus
US6006314A (en) Image processing system, storage device therefor and accessing method thereof
JPH09305164A (ja) ビットマップデータのビットビルト方法およびグラフィックス制御装置
EP1210691B1 (en) Method, system, and computer program product for overlapping graphics data collection and transmission using a single processor
EP0628912A1 (en) Cache memory apparatus
JPH0962633A (ja) ネットワーク制御装置
JPH0736806A (ja) Dma方式