JPH0850474A - 深いフレームバッファにおいて浅いピクセルを迅速に指示してコピーする方法 - Google Patents
深いフレームバッファにおいて浅いピクセルを迅速に指示してコピーする方法Info
- Publication number
- JPH0850474A JPH0850474A JP7165566A JP16556695A JPH0850474A JP H0850474 A JPH0850474 A JP H0850474A JP 7165566 A JP7165566 A JP 7165566A JP 16556695 A JP16556695 A JP 16556695A JP H0850474 A JPH0850474 A JP H0850474A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- data
- memory
- graphics
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 14
- 239000000872 buffer Substances 0.000 title claims description 54
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 description 9
- 238000009877 rendering Methods 0.000 description 5
- 230000008520 organization Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000277301 Esociformes Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control 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/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control 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/39—Control of the bit-mapped memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/123—Frame memory handling using interleaving
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control 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/363—Graphics controllers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Input (AREA)
- Memory System (AREA)
- Image Generation (AREA)
Abstract
(57)【要約】
【目的】 グラフィックサブシステムで実行されるグラ
フィックアプリケーションの性能を改善する方法を提供
する。 【構成】 コンピュータプロセッサのビデオサブシステ
ムは、ビデオメモリに接続されたグラフィックコントロ
ーラを備えている。グラフィックサブシステムに与えら
れるものより少数のピクセル当たりビットを使用するア
プリケーションに対するグラフィック性能を改善する方
法は、異なるピクセルの対応バイトがビデオメモリの異
なる同時アクセス可能な位置に記憶されるようにピクセ
ル及びバイトデータをビデオメモリに再構成する段階を
備えている。このような構成では、ビデオメモリバスの
全ての使用可能なバイトを用いてビデオメモリへのアク
セスが与えられ、これにより、グラフィックオペレーシ
ョンの性能が高められる。更に、複数の独立して動作す
るメモリコントローラを有するグラフィックシステム
は、ビデオメモリバスが全容量で動作するよう確保する
ことによりグラフィック性能を改善する。
フィックアプリケーションの性能を改善する方法を提供
する。 【構成】 コンピュータプロセッサのビデオサブシステ
ムは、ビデオメモリに接続されたグラフィックコントロ
ーラを備えている。グラフィックサブシステムに与えら
れるものより少数のピクセル当たりビットを使用するア
プリケーションに対するグラフィック性能を改善する方
法は、異なるピクセルの対応バイトがビデオメモリの異
なる同時アクセス可能な位置に記憶されるようにピクセ
ル及びバイトデータをビデオメモリに再構成する段階を
備えている。このような構成では、ビデオメモリバスの
全ての使用可能なバイトを用いてビデオメモリへのアク
セスが与えられ、これにより、グラフィックオペレーシ
ョンの性能が高められる。更に、複数の独立して動作す
るメモリコントローラを有するグラフィックシステム
は、ビデオメモリバスが全容量で動作するよう確保する
ことによりグラフィック性能を改善する。
Description
【0001】
【産業上の利用分野】本発明は一般にコンピュータシス
テムの分野に係り、より詳細には、コンピュータシステ
ムにグラフィック情報を記憶する方法に係る。
テムの分野に係り、より詳細には、コンピュータシステ
ムにグラフィック情報を記憶する方法に係る。
【0002】
【従来の技術】良く知られているように、コンピュータ
処理システムは、一般に、メモリ又はディスクに記憶さ
れた命令流を処理するための中央処理ユニットを備えて
いる。種々のソフトウェアアプリケーションは、コンピ
ュータ処理システムにより同時に実行することができ
る。これらアプリケーションの1つは、コンピュータ処
理システムに接続されたモニタに表示される像を制御す
る。コンピュータ処理システムは、モニタに表示される
像情報を制御するための特殊なグラフィックハードウェ
ア及びソフトウェアをしばしば備えている。
処理システムは、一般に、メモリ又はディスクに記憶さ
れた命令流を処理するための中央処理ユニットを備えて
いる。種々のソフトウェアアプリケーションは、コンピ
ュータ処理システムにより同時に実行することができ
る。これらアプリケーションの1つは、コンピュータ処
理システムに接続されたモニタに表示される像を制御す
る。コンピュータ処理システムは、モニタに表示される
像情報を制御するための特殊なグラフィックハードウェ
ア及びソフトウェアをしばしば備えている。
【0003】グラフィックハードウェアは、通常、グラ
フィックコントローラ及びビデオフレームバッファを備
えている。グラフィックコントローラは、フレームバッ
ファ内のデータの操作を制御するためにコンピュータ処
理システムからコマンドを受け取る。グラフィックコン
トローラは、メモリからフレームバッファへデータをコ
ピーしたり、線を引いたり、又はデータを点描したりす
る種々の通常のグラフィック機能の性能を高めるための
ロジックを含むことができる。
フィックコントローラ及びビデオフレームバッファを備
えている。グラフィックコントローラは、フレームバッ
ファ内のデータの操作を制御するためにコンピュータ処
理システムからコマンドを受け取る。グラフィックコン
トローラは、メモリからフレームバッファへデータをコ
ピーしたり、線を引いたり、又はデータを点描したりす
る種々の通常のグラフィック機能の性能を高めるための
ロジックを含むことができる。
【0004】コンピュータプロセッサは、オペレーショ
ンを実行するときに、ビデオRAMのピクセルデータを
更新する。グラフィック性能は、通常、グラフィックコ
ントローラがビデオRAMのデータをいかに速く更新又
は検索できるかによって測定される。
ンを実行するときに、ビデオRAMのピクセルデータを
更新する。グラフィック性能は、通常、グラフィックコ
ントローラがビデオRAMのデータをいかに速く更新又
は検索できるかによって測定される。
【0005】典型的に、モニタに表示されるフレームバ
ッファの全てのピクセルは、同じ物理的サイズであり、
即ちピクセル当たり同じ数のビットを備えている。各表
示ピクセルに8ビットが割り当てられるように構成され
たグラフィックコントローラは、以下「8ビットグラフ
ィックシステム」と称する。8ビットグラフィックシス
テムにおいて次々に表示されるピクセルのビットアドレ
スは、p、p+8、p+16、等々である。各表示ピク
セルに32ビットが割り当てられるように構成されたグ
ラフィックコントローラは、以下「32ビットグラフィ
ックシステム」と称する。32ビットグラフィックシス
テムにおいて次々に表示されるピクセルのビットアドレ
スは、p、p+32、p+64、等々である。
ッファの全てのピクセルは、同じ物理的サイズであり、
即ちピクセル当たり同じ数のビットを備えている。各表
示ピクセルに8ビットが割り当てられるように構成され
たグラフィックコントローラは、以下「8ビットグラフ
ィックシステム」と称する。8ビットグラフィックシス
テムにおいて次々に表示されるピクセルのビットアドレ
スは、p、p+8、p+16、等々である。各表示ピク
セルに32ビットが割り当てられるように構成されたグ
ラフィックコントローラは、以下「32ビットグラフィ
ックシステム」と称する。32ビットグラフィックシス
テムにおいて次々に表示されるピクセルのビットアドレ
スは、p、p+32、p+64、等々である。
【0006】制御ビットは、各表示ピクセルに組み合わ
され、そのピクセルのデータビットをいかに解読しなけ
ればならないかを決定する。これらの制御ビットは、ピ
クセルデータ自体と共に含まれてもよいし、個別のメモ
リエリアに含まれてもよい。32ビットグラフィックシ
ステムにおいて、制御ビットに対するある値は、ピクセ
ルのビット23:16が赤色の輝度を指定し、ビット1
5:8が緑色の輝度を指定し、そしてビット7:0が青
色の輝度を指定するように指定を行う。制御ビットに対
する別の値は、256エントリx24ビットテーブルを
インデックスするのに7:0を使用すべきである指定す
る。このテーブルで見つかる24ビットは、赤、緑及び
青色の輝度に対する8ビット頂点を指定するのに使用さ
れる。
され、そのピクセルのデータビットをいかに解読しなけ
ればならないかを決定する。これらの制御ビットは、ピ
クセルデータ自体と共に含まれてもよいし、個別のメモ
リエリアに含まれてもよい。32ビットグラフィックシ
ステムにおいて、制御ビットに対するある値は、ピクセ
ルのビット23:16が赤色の輝度を指定し、ビット1
5:8が緑色の輝度を指定し、そしてビット7:0が青
色の輝度を指定するように指定を行う。制御ビットに対
する別の値は、256エントリx24ビットテーブルを
インデックスするのに7:0を使用すべきである指定す
る。このテーブルで見つかる24ビットは、赤、緑及び
青色の輝度に対する8ビット頂点を指定するのに使用さ
れる。
【0007】このような制御ビットを使用することによ
り、32ビットグラフィックシステムは、8ビットグラ
フィックシステムに対して書かれたアプリケーション
と、8ビットより多い情報をもつピクセルを必要とする
アプリケーションとを同時に表示することができる。し
かしながら、8ビットピクセルに対して書かれたアプリ
ケーションの性能は、32ビットグラフィックシステム
において実行されるときに問題となる。というのは、各
ピクセルには、物理的に32ビットが割り当てられ、即
ち8ビットグラフィックシステムに必要とされる記憶容
量の4倍が割り当てられるからである。多くのグラフィ
ックオペレーションは、ビデオメモリに対するバス帯域
巾によって制限されるので、8ビットピクセルアプリケ
ーションに対する幾つかのオペレーションは、32ビッ
トピクセルのグラフィックシステムでは4倍程度低速で
動作することになる。
り、32ビットグラフィックシステムは、8ビットグラ
フィックシステムに対して書かれたアプリケーション
と、8ビットより多い情報をもつピクセルを必要とする
アプリケーションとを同時に表示することができる。し
かしながら、8ビットピクセルに対して書かれたアプリ
ケーションの性能は、32ビットグラフィックシステム
において実行されるときに問題となる。というのは、各
ピクセルには、物理的に32ビットが割り当てられ、即
ち8ビットグラフィックシステムに必要とされる記憶容
量の4倍が割り当てられるからである。多くのグラフィ
ックオペレーションは、ビデオメモリに対するバス帯域
巾によって制限されるので、8ビットピクセルアプリケ
ーションに対する幾つかのオペレーションは、32ビッ
トピクセルのグラフィックシステムでは4倍程度低速で
動作することになる。
【0008】例えば、図1を簡単に参照すれば、ビデオ
メモリ75は、4つのメモリバンクであるバンク80な
いし83を備えるように示されており、各バンクは4つ
のRAMデバイスを含む。RAMデバイスの各々は2バ
イトのピクセルデータを記憶する。図1から明らかなよ
うに、ビデオメモリ75は、8ピクセルの32ビットグ
ラフィックデータを記憶する。
メモリ75は、4つのメモリバンクであるバンク80な
いし83を備えるように示されており、各バンクは4つ
のRAMデバイスを含む。RAMデバイスの各々は2バ
イトのピクセルデータを記憶する。図1から明らかなよ
うに、ビデオメモリ75は、8ピクセルの32ビットグ
ラフィックデータを記憶する。
【0009】典型的に、8ビットの視覚的アプリケーシ
ョンが32ビットグラフィックシステムで実行されると
きには、ほとんどのグラフィックオペレーションにより
変更されたデータを含むのは、各32ビットピクセルの
1バイトのみである。制御ビットがピクセルデータから
個別に記憶される場合には、各ピクセルの他の3つのバ
イトが完全に未使用となる。制御ビットがピクセルデー
タの一部分として記憶される場合には、制御ビットは、
ディスプレイハードウェアにより残りのピクセルの解読
を制御するように使用される。これらの制御ビットは、
例えば、アプリケーションがウインドウをポップアッ
プ、ポップダウン又は移動するときには、あまり頻繁に
変更されない。制御ビットは、典型的に、ウインドウに
対する通常の描写オペレーションによって変更されな
い。その結果、たとえピクセルデータが制御ビットを備
えていても、通常の描写オペレーションは各32ビット
ピクセルのうちの8ビットのみを読み取り又は書き込み
すればよい。
ョンが32ビットグラフィックシステムで実行されると
きには、ほとんどのグラフィックオペレーションにより
変更されたデータを含むのは、各32ビットピクセルの
1バイトのみである。制御ビットがピクセルデータから
個別に記憶される場合には、各ピクセルの他の3つのバ
イトが完全に未使用となる。制御ビットがピクセルデー
タの一部分として記憶される場合には、制御ビットは、
ディスプレイハードウェアにより残りのピクセルの解読
を制御するように使用される。これらの制御ビットは、
例えば、アプリケーションがウインドウをポップアッ
プ、ポップダウン又は移動するときには、あまり頻繁に
変更されない。制御ビットは、典型的に、ウインドウに
対する通常の描写オペレーションによって変更されな
い。その結果、たとえピクセルデータが制御ビットを備
えていても、通常の描写オペレーションは各32ビット
ピクセルのうちの8ビットのみを読み取り又は書き込み
すればよい。
【0010】図1に示すように、32ビットグラフィッ
クシステムにおいて、バイト0が8ビットアプリケーシ
ョンに対する関連データバイトであると仮定すれば、メ
モリアクセスにおいてピクセル0及びピクセル1のバイ
ト0のみがアクセスされる。従って、各メモリトランザ
クション中には64ビットバス65の16ビットだけが
使用されるが、バスの48ビットは未使用となる。その
結果、8つの8ビットピクセルを読み取るか又は書き込
むのにバンク83に対し4つのメモリアクセスが必要と
なる。
クシステムにおいて、バイト0が8ビットアプリケーシ
ョンに対する関連データバイトであると仮定すれば、メ
モリアクセスにおいてピクセル0及びピクセル1のバイ
ト0のみがアクセスされる。従って、各メモリトランザ
クション中には64ビットバス65の16ビットだけが
使用されるが、バスの48ビットは未使用となる。その
結果、8つの8ビットピクセルを読み取るか又は書き込
むのにバンク83に対し4つのメモリアクセスが必要と
なる。
【0011】
【発明が解決しようとする課題】これに対し、8ビット
グラフィックシステムにおいては、8ビットグラフィッ
クアプリケーションが1つのメモリアクセスのみにおい
て8つの8ビットピクセルを読み取り又は書き込みす
る。従って、同じグラフィックアプリケーションに対
し、各表示ピクセルにいかに多くのビットが割り当てら
れるかに基づいて同じグラフィックハードウェアで2つ
の異なる性能結果が生じることになる。
グラフィックシステムにおいては、8ビットグラフィッ
クアプリケーションが1つのメモリアクセスのみにおい
て8つの8ビットピクセルを読み取り又は書き込みす
る。従って、同じグラフィックアプリケーションに対
し、各表示ピクセルにいかに多くのビットが割り当てら
れるかに基づいて同じグラフィックハードウェアで2つ
の異なる性能結果が生じることになる。
【0012】従って、グラフィックシステムの構成によ
り必要とされるよりも少数のビットしかピクセル当たり
に必要としないアプリケーションを、そのアプリケーシ
ョンの性能を低下せずに実行できるようにするグラフィ
ックシステムを提供することが要望される。
り必要とされるよりも少数のビットしかピクセル当たり
に必要としないアプリケーションを、そのアプリケーシ
ョンの性能を低下せずに実行できるようにするグラフィ
ックシステムを提供することが要望される。
【0013】
【課題を解決するための手段】本発明の1つの特徴によ
れば、グラフィックサブシステムで実行されるグラフィ
ックアプリケーションの性能を改善する方法であって、
上記グラフィックサブシステムは、グラフィックデータ
を記憶するビデオメモリを有し、そして上記グラフィッ
クサブシステムは、ピクセル当たり第1数のビットを有
するアプリケーションをサポートするように構成され、
そして上記グラフィックアプリケーションは、ピクセル
当たり第2のより少数のビットを用いて実行されるよう
な方法において、グラフィックデータの異なるピクセル
の対応バイトがビデオメモリの異なる同時アクセス可能
な位置に記憶されるようにピクセルをビデオメモリに記
憶する段階を備えた方法が提供される。このような構成
では、ビデオメモリバスの完全な利用を達成することに
より、グラフィックシステムで使用できるものより少数
のピクセル当たりビットを使用するアプリケーションに
対し最大のグラフィック性能を達成することができる。
れば、グラフィックサブシステムで実行されるグラフィ
ックアプリケーションの性能を改善する方法であって、
上記グラフィックサブシステムは、グラフィックデータ
を記憶するビデオメモリを有し、そして上記グラフィッ
クサブシステムは、ピクセル当たり第1数のビットを有
するアプリケーションをサポートするように構成され、
そして上記グラフィックアプリケーションは、ピクセル
当たり第2のより少数のビットを用いて実行されるよう
な方法において、グラフィックデータの異なるピクセル
の対応バイトがビデオメモリの異なる同時アクセス可能
な位置に記憶されるようにピクセルをビデオメモリに記
憶する段階を備えた方法が提供される。このような構成
では、ビデオメモリバスの完全な利用を達成することに
より、グラフィックシステムで使用できるものより少数
のピクセル当たりビットを使用するアプリケーションに
対し最大のグラフィック性能を達成することができる。
【0014】
【実施例】図2を参照すれば、本発明によるコンピュー
タシステム20は中央処理ユニット(CPU)22を備
え、これはシステムバス24を経て接続されてメモリ2
6と通信するように示されている。又、CPU22は、
入力/出力(I/O)バス28を経て接続されて、ディ
スクコントローラ30又はグラフィックコントローラ3
2のような外部装置とも通信する。グラフィックコント
ローラ32は、陰極線管(CRT)モニタ34へ像デー
タを与えるように接続される。
タシステム20は中央処理ユニット(CPU)22を備
え、これはシステムバス24を経て接続されてメモリ2
6と通信するように示されている。又、CPU22は、
入力/出力(I/O)バス28を経て接続されて、ディ
スクコントローラ30又はグラフィックコントローラ3
2のような外部装置とも通信する。グラフィックコント
ローラ32は、陰極線管(CRT)モニタ34へ像デー
タを与えるように接続される。
【0015】コンピュータシステム20の動作中に、C
PU22は、メモリ26に記憶された命令流を用いてア
プリケーションに基づいて動作する。CPU22におい
て実行される多数のアプリケーションは、CRT34に
表示されるべき像データ又は描写要求を発生する。一般
に、この技術においてグラフィックドライバとして知ら
れているソフトウェアプログラムは、I/Oバス28を
経てグラフィックコントローラ32へ適当なアドレス、
データ及び描写コマンドを与えることにより、種々のア
プリケーションにより与えられた像データ又は描写要求
がCRTに表示されるのを制御する。これらコマンド
は、メモリ26からグラフィック装置32のメモリへデ
ータをコピーするコマンド、或いは線を描いたりグラフ
ィックデータを点描して陰影付けするコマンドを含んで
いる。
PU22は、メモリ26に記憶された命令流を用いてア
プリケーションに基づいて動作する。CPU22におい
て実行される多数のアプリケーションは、CRT34に
表示されるべき像データ又は描写要求を発生する。一般
に、この技術においてグラフィックドライバとして知ら
れているソフトウェアプログラムは、I/Oバス28を
経てグラフィックコントローラ32へ適当なアドレス、
データ及び描写コマンドを与えることにより、種々のア
プリケーションにより与えられた像データ又は描写要求
がCRTに表示されるのを制御する。これらコマンド
は、メモリ26からグラフィック装置32のメモリへデ
ータをコピーするコマンド、或いは線を描いたりグラフ
ィックデータを点描して陰影付けするコマンドを含んで
いる。
【0016】I/Oバス28は、定められたプロトコル
を介してディスクやコンソールのような外部装置と通信
する32ビットバスである。現在、種々様々なI/Oバ
スが市場で入手でき、その各々は、それ自身の定められ
たプロトコルを有している。本発明の1つの実施例に用
いられるI/Oバス28は、TURBOchannel
(登録商標)プロトコルに基づいて動作し、従って、グ
ラフィック装置32のインターフェイスは、TURBO
channel(登録商標)プロトコルに従って設計さ
れる。TURBOchannel(登録商標)バスは、
最大帯域巾が100Mバイト/秒に等しい高性能バスで
ある。本発明は、別のI/Oバスプロトコルを用いたシ
ステム構成、或いはグラフィックコントローラ32をシ
ステムバス24に接続することによるシステム構成にも
適用できることが当業者に理解されよう。
を介してディスクやコンソールのような外部装置と通信
する32ビットバスである。現在、種々様々なI/Oバ
スが市場で入手でき、その各々は、それ自身の定められ
たプロトコルを有している。本発明の1つの実施例に用
いられるI/Oバス28は、TURBOchannel
(登録商標)プロトコルに基づいて動作し、従って、グ
ラフィック装置32のインターフェイスは、TURBO
channel(登録商標)プロトコルに従って設計さ
れる。TURBOchannel(登録商標)バスは、
最大帯域巾が100Mバイト/秒に等しい高性能バスで
ある。本発明は、別のI/Oバスプロトコルを用いたシ
ステム構成、或いはグラフィックコントローラ32をシ
ステムバス24に接続することによるシステム構成にも
適用できることが当業者に理解されよう。
【0017】図3を参照すれば、本発明のグラフィック
コントローラ32は、I/Oバス28を経て受け取った
コマンドをデコードするための制御ロジック40を含む
ように示されている。制御ロジック40は、レジスタロ
ジック42に制御信号を与えるように接続される。レジ
スタロジック42は、動作モード、ディスプレイの走査
線の長さ、及びグラフィックコントローラに対する他の
同様の使用情報を記憶するための複数のレジスタを備え
ている。レジスタロジック42の1つのレジスタは、平
面マスクレジスタ47である。この平面マスクレジスタ
47は、メモリへの各書き込みトランザクションに対し
てデータのどのビットを読み取り又は変更すべきかを指
示する情報を記憶する。
コントローラ32は、I/Oバス28を経て受け取った
コマンドをデコードするための制御ロジック40を含む
ように示されている。制御ロジック40は、レジスタロ
ジック42に制御信号を与えるように接続される。レジ
スタロジック42は、動作モード、ディスプレイの走査
線の長さ、及びグラフィックコントローラに対する他の
同様の使用情報を記憶するための複数のレジスタを備え
ている。レジスタロジック42の1つのレジスタは、平
面マスクレジスタ47である。この平面マスクレジスタ
47は、メモリへの各書き込みトランザクションに対し
てデータのどのビットを読み取り又は変更すべきかを指
示する情報を記憶する。
【0018】レジスタロジック42は、制御データライ
ン43を経てアドレスジェネレータ44に情報を与え
る。データジェネレータ46は、I/Oバス28からの
データ及びレジスタ42からのデータを受け取るように
接続される。データジェネレータ46は、データを再構
成ロジック50へ与え、このロジックは、ソース回転レ
ジスタ52で指示された量だけデータを回転する。更
に、この再構成ロジック50は、バス50aを経て合併
バッファ58にデータを通す。
ン43を経てアドレスジェネレータ44に情報を与え
る。データジェネレータ46は、I/Oバス28からの
データ及びレジスタ42からのデータを受け取るように
接続される。データジェネレータ46は、データを再構
成ロジック50へ与え、このロジックは、ソース回転レ
ジスタ52で指示された量だけデータを回転する。更
に、この再構成ロジック50は、バス50aを経て合併
バッファ58にデータを通す。
【0019】合併バッファ58は、多数の次々の読み取
り又は書き込み要求を可能なときに1つのメモリアクセ
スに結合することによりビデオメモリへの書き込みの数
を減少する64ビットバッファである。合併バッファア
ドレスレジスタ57は、合併バッファ58に記憶された
データの現在ビデオメモリアドレスを記憶する。合併バ
ッファアドレスレジスタ57は、アドレス発生ロジック
44からのアドレスを受け取るように接続される。
り又は書き込み要求を可能なときに1つのメモリアクセ
スに結合することによりビデオメモリへの書き込みの数
を減少する64ビットバッファである。合併バッファア
ドレスレジスタ57は、合併バッファ58に記憶された
データの現在ビデオメモリアドレスを記憶する。合併バ
ッファアドレスレジスタ57は、アドレス発生ロジック
44からのアドレスを受け取るように接続される。
【0020】又、アドレス発生ロジック44は、バイト
イネーブルレジスタ61へ出力を与える。バイトイネー
ブルレジスタ61は、バス50a上のデータのどのバイ
トをビデオメモリ70へ書き込むべきかを指示するイネ
ーブル信号を記憶する。バイトイネーブルレジスタ61
は、書き込み制御ロジック63へ入力を与えるように接
続される。書き込み制御ロジック63は、合併バッファ
58のデータに対する更新を制御する。データは、合併
バッファ58が「いっぱい」であるか、アドレス発生ロ
ジック44が合併アドレスレジスタ57のアドレスに関
係しないアドレスを与えるか、又はアドレス発生ロジッ
クがアイドル状態であるときに、合併バッファ58から
書き込みバッファ60へ通される。
イネーブルレジスタ61へ出力を与える。バイトイネー
ブルレジスタ61は、バス50a上のデータのどのバイ
トをビデオメモリ70へ書き込むべきかを指示するイネ
ーブル信号を記憶する。バイトイネーブルレジスタ61
は、書き込み制御ロジック63へ入力を与えるように接
続される。書き込み制御ロジック63は、合併バッファ
58のデータに対する更新を制御する。データは、合併
バッファ58が「いっぱい」であるか、アドレス発生ロ
ジック44が合併アドレスレジスタ57のアドレスに関
係しないアドレスを与えるか、又はアドレス発生ロジッ
クがアイドル状態であるときに、合併バッファ58から
書き込みバッファ60へ通される。
【0021】書き込みバッファ60は、4つの16ビッ
トバッファ60aないし60dより成り、その各々は、
それに対応するメモリコントローラ62、64、66及
び68に接続される。これらのメモリコントローラ62
ないし68は、書き込みバッファ60と、ビデオバス6
5と、ビデオメモリ70との間のデータの転送を制御す
る。
トバッファ60aないし60dより成り、その各々は、
それに対応するメモリコントローラ62、64、66及
び68に接続される。これらのメモリコントローラ62
ないし68は、書き込みバッファ60と、ビデオバス6
5と、ビデオメモリ70との間のデータの転送を制御す
る。
【0022】ビデオメモリ70からのデータは、ビデオ
シフトレジスタ72へ周期的に転送され、そしてデジタ
ル/アナログコンバータ(RAMDAC(登録商標))
74へ直列にシフトして出される。RAMDAC(登録
商標)に送られたピクセルデータは、カラールックアッ
プテーブル(LUT)76をアクセスするのに使用さ
れ、これは、出力データをデジタル/アナログコンバー
タ77a、77b及び77cに出力する。出力データの
形態は、RAMDAC(登録商標)が動作するモードに
基づく。アナログ/デジタルコンバータは、3つのアナ
ログ信号R、G及びBをライン78a、78b及び78
cを経てCRTへ各々送信する。
シフトレジスタ72へ周期的に転送され、そしてデジタ
ル/アナログコンバータ(RAMDAC(登録商標))
74へ直列にシフトして出される。RAMDAC(登録
商標)に送られたピクセルデータは、カラールックアッ
プテーブル(LUT)76をアクセスするのに使用さ
れ、これは、出力データをデジタル/アナログコンバー
タ77a、77b及び77cに出力する。出力データの
形態は、RAMDAC(登録商標)が動作するモードに
基づく。アナログ/デジタルコンバータは、3つのアナ
ログ信号R、G及びBをライン78a、78b及び78
cを経てCRTへ各々送信する。
【0023】ビデオメモリ70のデータは、CPU(図
1)によりバス65を経て読み取られる。バス65のデ
ータは、再構成ロジック50へ送られ、該ロジックは、
検索したバイトを適当な順序で構成し、I/Oバス28
に出力する。
1)によりバス65を経て読み取られる。バス65のデ
ータは、再構成ロジック50へ送られ、該ロジックは、
検索したバイトを適当な順序で構成し、I/Oバス28
に出力する。
【0024】グラフィックコントローラ32は、32ビ
ット及び8ビットグラフィックシステムを含む種々の構
成で動作することができる。32ビットグラフィックシ
ステムでは各表示ピクセルは32ビットである。32ビ
ットは、3つのフィールド、即ちオーバーレイフィール
ド、制御フィールド及びカラーデータフィールドより成
る。オーバーレイフィールドは、4ビットのオーバーレ
イ情報を備えている。制御フィールドは、4ビットの制
御情報を備え、これは、カラーデータの残りの24ビッ
トをいかに解読するか(例えば、8ビットの赤情報、8
ビットの緑情報及び8ビットの青情報)をグラフィック
コントローラに指示する。或いは又、カラーデータフィ
ールドのビットのサブセットを使用して、RAMDAC
(登録商標)のカラールックアップテーブルを直接アド
レスすることができる。
ット及び8ビットグラフィックシステムを含む種々の構
成で動作することができる。32ビットグラフィックシ
ステムでは各表示ピクセルは32ビットである。32ビ
ットは、3つのフィールド、即ちオーバーレイフィール
ド、制御フィールド及びカラーデータフィールドより成
る。オーバーレイフィールドは、4ビットのオーバーレ
イ情報を備えている。制御フィールドは、4ビットの制
御情報を備え、これは、カラーデータの残りの24ビッ
トをいかに解読するか(例えば、8ビットの赤情報、8
ビットの緑情報及び8ビットの青情報)をグラフィック
コントローラに指示する。或いは又、カラーデータフィ
ールドのビットのサブセットを使用して、RAMDAC
(登録商標)のカラールックアップテーブルを直接アド
レスすることができる。
【0025】8ビットグラフィックシステムにおいて
は、表示ピクセルが8ビットであって種々の方法で解読
することができる。例えば、8ビットは、8ビットのグ
レースケール情報を与えることもできるし、又は3ビッ
トが赤で、2ビットが青で、3ビットが緑の情報という
カラー情報を与えるように8ビットを使用することもで
きる。
は、表示ピクセルが8ビットであって種々の方法で解読
することができる。例えば、8ビットは、8ビットのグ
レースケール情報を与えることもできるし、又は3ビッ
トが赤で、2ビットが青で、3ビットが緑の情報という
カラー情報を与えるように8ビットを使用することもで
きる。
【0026】32ビットのピクセル情報を記憶するよう
に構成されたビデオメモリ(フレームバッファとも称す
る)は、「深い」フレームバッファと称される。32ビ
ット/ピクセルのカラー情報を有することにより、グラ
フィックシステムに得られるカラー間にはより高い階調
が生じる。カラーの階調に対して8ビット/ピクセルの
みを使用し且つ32ビット/ピクセルに対して構成され
たグラフィックサブシステムにおいて実行されるグラフ
ィックアプリケーションは、「浅い」ピクセルを使用す
ると称される。
に構成されたビデオメモリ(フレームバッファとも称す
る)は、「深い」フレームバッファと称される。32ビ
ット/ピクセルのカラー情報を有することにより、グラ
フィックシステムに得られるカラー間にはより高い階調
が生じる。カラーの階調に対して8ビット/ピクセルの
みを使用し且つ32ビット/ピクセルに対して構成され
たグラフィックサブシステムにおいて実行されるグラフ
ィックアプリケーションは、「浅い」ピクセルを使用す
ると称される。
【0027】グラフィックコントローラの内部データ路
は、64ビット巾である。データ路は、2つの32ビッ
トピクセル、4つの16ビットピクセル、又は8つの8
ビットピクセルのいずれかを与える。しかしながら、ビ
デオメモリ70は、浅いピクセルアプリケーションがス
クリーン上で現在実行されるときにアプリケーションを
変更できない。それ故、8ビット及び16ビットのグラ
フィックアプリケーションをサポートできるように32
ビットグラフィックシステムにおいてアプリケーション
が実行されるときには、8ビットピクセル、16ビット
ピクセル及び32ビットピクセルのアプリケーションに
対して、ピクセルの位置がビデオRAM70の同じ位置
になければならない。
は、64ビット巾である。データ路は、2つの32ビッ
トピクセル、4つの16ビットピクセル、又は8つの8
ビットピクセルのいずれかを与える。しかしながら、ビ
デオメモリ70は、浅いピクセルアプリケーションがス
クリーン上で現在実行されるときにアプリケーションを
変更できない。それ故、8ビット及び16ビットのグラ
フィックアプリケーションをサポートできるように32
ビットグラフィックシステムにおいてアプリケーション
が実行されるときには、8ビットピクセル、16ビット
ピクセル及び32ビットピクセルのアプリケーションに
対して、ピクセルの位置がビデオRAM70の同じ位置
になければならない。
【0028】アドレスジェネレータ44及び再構成ロジ
ック50は、各グラフィックアプリケーションに対し、
ピクセルデータが予想RAM装置に記憶されるよう確保
するように動作する。再構成ロジック50は、32ビッ
トグラフィックシステムにおいて実行されるアプリケー
ションにより8ビットのピクセル情報又は16ビットの
ピクセル情報のみが使用されるときに、「深い」フレー
ムバッファに「浅い」ピクセルを迅速にペイント及びコ
ピーできるように使用される。
ック50は、各グラフィックアプリケーションに対し、
ピクセルデータが予想RAM装置に記憶されるよう確保
するように動作する。再構成ロジック50は、32ビッ
トグラフィックシステムにおいて実行されるアプリケー
ションにより8ビットのピクセル情報又は16ビットの
ピクセル情報のみが使用されるときに、「深い」フレー
ムバッファに「浅い」ピクセルを迅速にペイント及びコ
ピーできるように使用される。
【0029】図1の公知ビデオメモリを再び簡単に参照
すれば、ビデオRAM80ないし83の4つのバンク
は、4つの個々のRAM装置を各々含むように示されて
おり、その各々は2バイトのピクセルデータを記憶す
る。それ故、16個の個々のRAM装置を用いて、64
ビットバスにデータが与えられる。
すれば、ビデオRAM80ないし83の4つのバンク
は、4つの個々のRAM装置を各々含むように示されて
おり、その各々は2バイトのピクセルデータを記憶す
る。それ故、16個の個々のRAM装置を用いて、64
ビットバスにデータが与えられる。
【0030】典型的に、32ビットグラフィックシステ
ムにおいて8ビットのグラフィックアプリケーションが
実行されるときには、各32ビットピクセルの1バイト
のみがピクセルカラーデータを構成する。例えば、4つ
のメモリバンク、即ちバンク80ないし83は、2バイ
トのピクセルデータを各々含むように示されている。バ
イト0が当該バイトであると仮定すれば、ビデオメモリ
におけるピクセルの配置により、8ビットグラフィック
システムでは、ピクセル0(P0.B0)及びピクセル
1(P1.B0)のバイト0のみが1つのメモリアクセ
ス中にアクセスできる。その結果、ビデオメモリバス6
5のバイトの6つは未使用となる。バイト0データの8
個のピクセルを得るために、バンク83への4つのメモ
リアクセスが必要となる。
ムにおいて8ビットのグラフィックアプリケーションが
実行されるときには、各32ビットピクセルの1バイト
のみがピクセルカラーデータを構成する。例えば、4つ
のメモリバンク、即ちバンク80ないし83は、2バイ
トのピクセルデータを各々含むように示されている。バ
イト0が当該バイトであると仮定すれば、ビデオメモリ
におけるピクセルの配置により、8ビットグラフィック
システムでは、ピクセル0(P0.B0)及びピクセル
1(P1.B0)のバイト0のみが1つのメモリアクセ
ス中にアクセスできる。その結果、ビデオメモリバス6
5のバイトの6つは未使用となる。バイト0データの8
個のピクセルを得るために、バンク83への4つのメモ
リアクセスが必要となる。
【0031】図4を参照すれば、ビデオメモリ85は、
4つのメモリ切片90ないし93を含むように示されて
おり、各切片は、更に、4つのRAM装置を含む。各R
AM装置は、P#.B#で示された2バイトのピクセル
データを記憶し、これらは、ピクセル番号及びピクセル
内のバイト数を表す。16個の個々のRAM装置がある
ので、各ピクセルの個々のバイトは、RAM装置の専用
部分に割り当てられ、異なるピクセルの対応バイトがビ
デオバス65の異なる「バイトレーン」に割り当てられ
るようにする。「バイトレーン」とは、ビデオバス65
に対するビデオメモリのカラムを指し、ピクセルが8ビ
ット/ピクセルでありそして出力バスが全64ビットよ
り成る本発明のシステムでは、ビデオメモリ85に8個
の異なる「バイトレーン」が存在する。
4つのメモリ切片90ないし93を含むように示されて
おり、各切片は、更に、4つのRAM装置を含む。各R
AM装置は、P#.B#で示された2バイトのピクセル
データを記憶し、これらは、ピクセル番号及びピクセル
内のバイト数を表す。16個の個々のRAM装置がある
ので、各ピクセルの個々のバイトは、RAM装置の専用
部分に割り当てられ、異なるピクセルの対応バイトがビ
デオバス65の異なる「バイトレーン」に割り当てられ
るようにする。「バイトレーン」とは、ビデオバス65
に対するビデオメモリのカラムを指し、ピクセルが8ビ
ット/ピクセルでありそして出力バスが全64ビットよ
り成る本発明のシステムでは、ビデオメモリ85に8個
の異なる「バイトレーン」が存在する。
【0032】メモリの連続する線にバイトの位置を再構
成することにより、メモリにおけるピクセルの構成は、
所与のバイト(例えば、バイト0)の位置がカラーデー
タの各ピクセル(0−7)に対しRAM装置のアクセス
可能な位置に存在するように編成される。
成することにより、メモリにおけるピクセルの構成は、
所与のバイト(例えば、バイト0)の位置がカラーデー
タの各ピクセル(0−7)に対しRAM装置のアクセス
可能な位置に存在するように編成される。
【0033】従って、メモリの4つの全切片90ないし
93は、ビデオメモリ70の1つのアクセスのみで64
ビットの8ビットピクセルデータをビデオバス65へ同
時に与えるようにアクセスすることができ、これに対し
て、図1に示す公知メモリシステムでは4つのアクセス
が必要とされた。この構成では、メモリバスが完全に利
用され、それ故、32ビットグラフィックシステムにお
ける多数の8ビットグラフィックアプリケーションオペ
レーションの性能がほぼ4倍になる。
93は、ビデオメモリ70の1つのアクセスのみで64
ビットの8ビットピクセルデータをビデオバス65へ同
時に与えるようにアクセスすることができ、これに対し
て、図1に示す公知メモリシステムでは4つのアクセス
が必要とされた。この構成では、メモリバスが完全に利
用され、それ故、32ビットグラフィックシステムにお
ける多数の8ビットグラフィックアプリケーションオペ
レーションの性能がほぼ4倍になる。
【0034】更に、メモリの4つの全切片90ないし9
3は、ビデオメモリ70の1つのアクセスのみを用いて
64ビットの16ビットピクセルデータをビデオバス6
5へ同時に与えるようにアクセスすることができ、これ
に対して、図1に示す公知メモリシステムでは2つのア
クセスが必要とされた。この構成では、32ビットグラ
フィックシステムにおける多数の16ビットグラフィッ
クアプリケーションオペレーションの性能がほぼ2倍に
なる。
3は、ビデオメモリ70の1つのアクセスのみを用いて
64ビットの16ビットピクセルデータをビデオバス6
5へ同時に与えるようにアクセスすることができ、これ
に対して、図1に示す公知メモリシステムでは2つのア
クセスが必要とされた。この構成では、32ビットグラ
フィックシステムにおける多数の16ビットグラフィッ
クアプリケーションオペレーションの性能がほぼ2倍に
なる。
【0035】各ピクセル(0−7)のバイト(0−3)
は、ビデオバス65の最大の利用が達せられるよう編成
される。これは、一対の32ビットピクセルのバイト
「n」が他の対のピクセルのバイト「n」と同じビデオ
メモリ切片に記憶されないように個々のピクセルが再構
成されるよう確保することにより達成される。
は、ビデオバス65の最大の利用が達せられるよう編成
される。これは、一対の32ビットピクセルのバイト
「n」が他の対のピクセルのバイト「n」と同じビデオ
メモリ切片に記憶されないように個々のピクセルが再構
成されるよう確保することにより達成される。
【0036】図3のグラフィックシステムでは、各メモ
リコントローラ62ないし68は、メモリ参照当たり2
バイトを与えるようにビデオメモリの切片90ないし9
3の1つをアクセスする。図4に示す構成は、いずれか
のピクセル(0−7)のバイト0(又はバイト1−3)
がバス65の同じバイトレーンに配置される場合がない
よう確保し、従って、個別のメモリアクセスを必要とす
ることにより、上記の設計基準を満足する。各メモリコ
ントローラはその切片を独立してアクセスし、そして各
切片はバイトnデータをもつ一対のピクセルのみを含む
ので、メモリコントローラは、64ビットのバイトnデ
ータを1つのメモリアクセスで与えるように動作するこ
とができ、ひいては、バス65の最大の利用が得られ
る。
リコントローラ62ないし68は、メモリ参照当たり2
バイトを与えるようにビデオメモリの切片90ないし9
3の1つをアクセスする。図4に示す構成は、いずれか
のピクセル(0−7)のバイト0(又はバイト1−3)
がバス65の同じバイトレーンに配置される場合がない
よう確保し、従って、個別のメモリアクセスを必要とす
ることにより、上記の設計基準を満足する。各メモリコ
ントローラはその切片を独立してアクセスし、そして各
切片はバイトnデータをもつ一対のピクセルのみを含む
ので、メモリコントローラは、64ビットのバイトnデ
ータを1つのメモリアクセスで与えるように動作するこ
とができ、ひいては、バス65の最大の利用が得られ
る。
【0037】図4に示すピクセルのバイトの編成は、3
2ビットグラフィックシステムにおいて8ビット、16
ビット及び32ビットアプリケーションをサポートでき
るようにする。メモリをアクセスするか又はメモリから
データを検索するときには、バス65のピクセル及びデ
ータをアプリケーションの形式(即ち、ビット数)に基
づいて再構成し、正しいメモリ装置がデータで更新され
るよう確保する。
2ビットグラフィックシステムにおいて8ビット、16
ビット及び32ビットアプリケーションをサポートでき
るようにする。メモリをアクセスするか又はメモリから
データを検索するときには、バス65のピクセル及びデ
ータをアプリケーションの形式(即ち、ビット数)に基
づいて再構成し、正しいメモリ装置がデータで更新され
るよう確保する。
【0038】32ビットグラフィックシステムにおいて
32ビットグラフィックモードで動作するときに、バス
にデータをいかに与えるかの一例を以下に示す。
32ビットグラフィックモードで動作するときに、バス
にデータをいかに与えるかの一例を以下に示す。
【0039】ピクセル0及びピクセル1のバイト0−3
は、次の順序でバス65に与えられる。P1.B3、P
0.B3、P1.B2、P0.B2、P1.B1、P
0.B1、P1.B0、P0.B0
は、次の順序でバス65に与えられる。P1.B3、P
0.B3、P1.B2、P0.B2、P1.B1、P
0.B1、P1.B0、P0.B0
【0040】ピクセル2及びピクセル3のバイト0−3
は、次の順序でアクセスされる。P3.B1、P2.B
1、P3.B0、P2.B0、P3.B3、P2.B
3、P3.B2、P2.B2
は、次の順序でアクセスされる。P3.B1、P2.B
1、P3.B0、P2.B0、P3.B3、P2.B
3、P3.B2、P2.B2
【0041】ピクセル4及びピクセル5のバイト0−3
は、次の順序でアクセスされる。P5.B2、P4.B
2、P5.B1、P4.B1、P5.B0、P4.B
0、P5.B3、P4.B3
は、次の順序でアクセスされる。P5.B2、P4.B
2、P5.B1、P4.B1、P5.B0、P4.B
0、P5.B3、P4.B3
【0042】ピクセル6及びピクセル7のバイト0−3
は、次の順序でアクセスされる。P7.B0、P6.B
0、P7.B3、P6.B3、P7.B2、P6.B
2、P7.B1、P6.B1
は、次の順序でアクセスされる。P7.B0、P6.B
0、P7.B3、P6.B3、P7.B2、P6.B
2、P7.B1、P6.B1
【0043】32ビットグラフィックシステムにおいて
動作する16ビットアプリケーションに対しバスにデー
タをいかに与えるかの例を以下に示す。ピクセル0ない
しピクセル3のバイト0−1は、次の順序でバス65に
与えられる。P3.B1、P2.B1、P3.B0、P
2.B0、P1.B1、P0.B1、P1.B0、P
0.B0
動作する16ビットアプリケーションに対しバスにデー
タをいかに与えるかの例を以下に示す。ピクセル0ない
しピクセル3のバイト0−1は、次の順序でバス65に
与えられる。P3.B1、P2.B1、P3.B0、P
2.B0、P1.B1、P0.B1、P1.B0、P
0.B0
【0044】ピクセル4ないしピクセル7のバイト0−
1は、次の順序でバス65に与えられる。P7.B0、
P6.B0、P5.B1、P4.B1、P5.B0、P
4.B0、P7.B1、P6.B1
1は、次の順序でバス65に与えられる。P7.B0、
P6.B0、P5.B1、P4.B1、P5.B0、P
4.B0、P7.B1、P6.B1
【0045】ピクセル0−7に対するバイト2−3情報
は、32ビットグラフィックシステムにおいて16ビッ
トアプリケーションで動作するときに2つのメモリアク
セスのみで同様に得られることに注意されたい。
は、32ビットグラフィックシステムにおいて16ビッ
トアプリケーションで動作するときに2つのメモリアク
セスのみで同様に得られることに注意されたい。
【0046】バイト0情報を検索しそして32ビットグ
ラフィックシステムにおいて動作する8ビットアプリケ
ーションに対してバスにデータをいかに与えるかの例を
以下に示す。P7.B0、P6.B0、P3.B0、P
2.B0、P5.B0、P4.B0、P1.B0、P
0.B0
ラフィックシステムにおいて動作する8ビットアプリケ
ーションに対してバスにデータをいかに与えるかの例を
以下に示す。P7.B0、P6.B0、P3.B0、P
2.B0、P5.B0、P4.B0、P1.B0、P
0.B0
【0047】図4においてバイト0情報がハイライト処
理されているが、ビデオメモリ85の編成は、一度に与
えられるべき8ピクセルのバイト3情報、バイト2情報
又はバイト1情報の全てを考慮している。このような構
成では、8ビットグラフィックアプリケーションは、3
2ビットピクセルのいかなるバイトも変更できる。選択
されたバイトは、ソースバイトレジスタ52及び行先バ
イトレジスタ54に記憶される。グラフィックアプリケ
ーションにより所望される適当なバイトを知ることによ
り、再構成ロジックは、適当な順序でピクセルデータを
与えるのに適した量だけビデオメモリ入力又は出力を回
転する。
理されているが、ビデオメモリ85の編成は、一度に与
えられるべき8ピクセルのバイト3情報、バイト2情報
又はバイト1情報の全てを考慮している。このような構
成では、8ビットグラフィックアプリケーションは、3
2ビットピクセルのいかなるバイトも変更できる。選択
されたバイトは、ソースバイトレジスタ52及び行先バ
イトレジスタ54に記憶される。グラフィックアプリケ
ーションにより所望される適当なバイトを知ることによ
り、再構成ロジックは、適当な順序でピクセルデータを
与えるのに適した量だけビデオメモリ入力又は出力を回
転する。
【0048】バス65上のデータのバイト及びピクセル
の順序をグラフィックアプリケーションのビット数に基
づいて適当な順序に再構成することにより、各メモリア
クセスごとに各RAM装置に適当なデータが与えられる
よう確保される。
の順序をグラフィックアプリケーションのビット数に基
づいて適当な順序に再構成することにより、各メモリア
クセスごとに各RAM装置に適当なデータが与えられる
よう確保される。
【0049】構成されたグラフィックシステムよりも少
数のビットをもつグラフィックアプリケーションをサポ
ートするようにビデオメモリを編成する方法は、1つの
「深いフレームのバッファ」のための「浅いピクセル」
の1つ又は2つの形式に制約されるものではない。むし
ろ、2n ビットの深さをサポートするよう構成され、2
m 個の切片に分割されたフレームバッファの場合に、2
(n-m) ないし2n の範囲のピクセル巾を有する全てのア
プリケーションは、上記のように、ビデオバスを完全に
利用するように操作することができる。
数のビットをもつグラフィックアプリケーションをサポ
ートするようにビデオメモリを編成する方法は、1つの
「深いフレームのバッファ」のための「浅いピクセル」
の1つ又は2つの形式に制約されるものではない。むし
ろ、2n ビットの深さをサポートするよう構成され、2
m 個の切片に分割されたフレームバッファの場合に、2
(n-m) ないし2n の範囲のピクセル巾を有する全てのア
プリケーションは、上記のように、ビデオバスを完全に
利用するように操作することができる。
【0050】ビデオメモリには、上記の効果を発揮する
バイト及びピクセルの種々の再構成が考えられる。所与
のアプリケーションの頻度に基づいて、メモリレイアウ
トにおいてある形式のアプリケーション(8又は16ビ
ットグラフィック)に別のアプリケーションよりも優先
順位を与えることが所望される。これは、各アクセスに
対し検索/記憶されたピクセルにおいて簡単な回転機構
のみを実行すればよいようにバイト及びピクセルを再構
成することにより行われる。
バイト及びピクセルの種々の再構成が考えられる。所与
のアプリケーションの頻度に基づいて、メモリレイアウ
トにおいてある形式のアプリケーション(8又は16ビ
ットグラフィック)に別のアプリケーションよりも優先
順位を与えることが所望される。これは、各アクセスに
対し検索/記憶されたピクセルにおいて簡単な回転機構
のみを実行すればよいようにバイト及びピクセルを再構
成することにより行われる。
【0051】この技術は、所望のメモリサイズまで拡張
できることが明らかである。メモリの各32バイトブロ
ックは、ピクセル番号を適宜再表示して図4に示した構
成と同一に編成しなければならない。再構成ロジック5
0は、メモリアドレスの多数の下位ビットを用いて、メ
モリコントローラとやり取りされるデータをいかに再構
成すべきかを決定する。即ち、上位のアドレスビット
は、再構成ロジック50によって無視される。
できることが明らかである。メモリの各32バイトブロ
ックは、ピクセル番号を適宜再表示して図4に示した構
成と同一に編成しなければならない。再構成ロジック5
0は、メモリアドレスの多数の下位ビットを用いて、メ
モリコントローラとやり取りされるデータをいかに再構
成すべきかを決定する。即ち、上位のアドレスビット
は、再構成ロジック50によって無視される。
【0052】再び図3を参照すれば、32ビットグラフ
ィックモードにおいて8ビットアプリケーションで動作
するときには、グラフィックコントローラ32は、次の
ように動作する。到来するピクセル更新コマンドは、I
/Oバスを経て受け取られ、そしてアドレス発生ロジッ
ク44からのアドレスビットは、再構成ロジック50へ
供給される。ピクセルは、8ビットの当該ピクセルカラ
ーデータ情報のみを含むので、各32ビットピクセルの
1バイトのみがカラーデータを含む。ピクセルのアドレ
スに基づいて、ピクセルデータは、再構成ロジック50
により64ビットバスに対して適当な位置に再構成され
る。
ィックモードにおいて8ビットアプリケーションで動作
するときには、グラフィックコントローラ32は、次の
ように動作する。到来するピクセル更新コマンドは、I
/Oバスを経て受け取られ、そしてアドレス発生ロジッ
ク44からのアドレスビットは、再構成ロジック50へ
供給される。ピクセルは、8ビットの当該ピクセルカラ
ーデータ情報のみを含むので、各32ビットピクセルの
1バイトのみがカラーデータを含む。ピクセルのアドレ
スに基づいて、ピクセルデータは、再構成ロジック50
により64ビットバスに対して適当な位置に再構成され
る。
【0053】ビデオRAMから検索された出力データを
単に回転するだけで所望のピクセル/バイト順序を得る
ことができ、回転量は、32ビットピクセルのアドレス
におけるビットのサブセットと、ソースバイトレジスタ
52において選択されたデータのバイトとに基づくもの
であることが明らかであろう。さもなくば、再構成ロジ
ック50のハードウェアは、ピクセル及びバイトデータ
の所望の編成を受け入れるように設計される。
単に回転するだけで所望のピクセル/バイト順序を得る
ことができ、回転量は、32ビットピクセルのアドレス
におけるビットのサブセットと、ソースバイトレジスタ
52において選択されたデータのバイトとに基づくもの
であることが明らかであろう。さもなくば、再構成ロジ
ック50のハードウェアは、ピクセル及びバイトデータ
の所望の編成を受け入れるように設計される。
【0054】現在オペレーションのアドレスは、合併ア
ドレスレジスタ57に記憶される。到来データがバス5
0aに与えられると、バイトイネーブルレジスタ61
は、バス50a上のデータのどのバイトが有効であって
メモリに書き込み/読み取りされるべきかを指示する情
報を与える。各バイトイネーブルは、64ビットバスの
バイトの1つに対応する。バイトイネーブルレジスタ
は、再構成ロジック50へ送られる。
ドレスレジスタ57に記憶される。到来データがバス5
0aに与えられると、バイトイネーブルレジスタ61
は、バス50a上のデータのどのバイトが有効であって
メモリに書き込み/読み取りされるべきかを指示する情
報を与える。各バイトイネーブルは、64ビットバスの
バイトの1つに対応する。バイトイネーブルレジスタ
は、再構成ロジック50へ送られる。
【0055】バイトイネーブルレジスタ61からのデー
タに加えて、平面マスクレジスタ47からのデータも再
構成ロジック50へ送られる。平面マスクレジスタ47
は、各表示ピクセルのどのビットがグラフィックアプリ
ケーションによって変更されるかを決定する平面マスク
を記憶する。従って、再構成ロジック50によって与え
られて合併バッファマスクレジスタ55に記憶されるバ
イトイネーブルは、バイトイネーブルレジスタ61、平
面マスクレジスタ47の内容、オペレーションモード及
びオペレーションの形式の組合せである。
タに加えて、平面マスクレジスタ47からのデータも再
構成ロジック50へ送られる。平面マスクレジスタ47
は、各表示ピクセルのどのビットがグラフィックアプリ
ケーションによって変更されるかを決定する平面マスク
を記憶する。従って、再構成ロジック50によって与え
られて合併バッファマスクレジスタ55に記憶されるバ
イトイネーブルは、バイトイネーブルレジスタ61、平
面マスクレジスタ47の内容、オペレーションモード及
びオペレーションの形式の組合せである。
【0056】バス50aのデータのアドレスが合併バッ
ファアドレスレジスタ57のクオドワードアドレスに対
応し、そして合併バッファバイトマスク55が合併バッ
ファ位置が空きであることを指示する場合には、バス5
0aのデータが合併バッファ58のデータと合併され
る。
ファアドレスレジスタ57のクオドワードアドレスに対
応し、そして合併バッファバイトマスク55が合併バッ
ファ位置が空きであることを指示する場合には、バス5
0aのデータが合併バッファ58のデータと合併され
る。
【0057】合併バッファ58が「いっぱい」であると
き、即ち合併バッファにスペースがないか、到来アドレ
スが合併アドレスレジスタ57に記憶されたクオドワー
ドアドレスに対応しないか、又はアドレス発生ロジック
44がアイドル状態であるときに、合併バッファ58か
らのデータが書き込みバッファ60へシフトされる。書
き込みサブバッファに記憶されるべき16ビットに対応
するバイトイネーブルの少なくとも1つがセットされた
場合には、16ビットデータ及びバイトイネーブルビッ
トの両方がそれに対応するサブバッファに記憶される。
その結果、各サブバッファ60a−60dは、合併バッ
ファからの16ビットのデータ及び2ビットのバイトイ
ネーブルを記憶し、メモリコントローラ62、64、6
6及び68の1つによって各々制御される。
き、即ち合併バッファにスペースがないか、到来アドレ
スが合併アドレスレジスタ57に記憶されたクオドワー
ドアドレスに対応しないか、又はアドレス発生ロジック
44がアイドル状態であるときに、合併バッファ58か
らのデータが書き込みバッファ60へシフトされる。書
き込みサブバッファに記憶されるべき16ビットに対応
するバイトイネーブルの少なくとも1つがセットされた
場合には、16ビットデータ及びバイトイネーブルビッ
トの両方がそれに対応するサブバッファに記憶される。
その結果、各サブバッファ60a−60dは、合併バッ
ファからの16ビットのデータ及び2ビットのバイトイ
ネーブルを記憶し、メモリコントローラ62、64、6
6及び68の1つによって各々制御される。
【0058】しかしながら、対応するバイトイネーブル
ビットの少なくとも1つがセットされたサブバッファの
みが合併バッファからデータを受け取る。例えば、合併
バッファのバイトマスクレジスタ55に記憶されたデー
タが00 00 01 00である場合には、サブバッ
ファ60cのみにバス58aからのデータ及びバイトイ
ネーブルビット01がロードされる。サブバッファ60
cにデータがロードされると、メモリコントローラ66
は、ロードされたデータに対応するバイトイネーブルビ
ットを使用し、サブバッファ60cからのデータのイネ
ーブルされたバイトをビデオメモリの適当な位置へ書き
込む。
ビットの少なくとも1つがセットされたサブバッファの
みが合併バッファからデータを受け取る。例えば、合併
バッファのバイトマスクレジスタ55に記憶されたデー
タが00 00 01 00である場合には、サブバッ
ファ60cのみにバス58aからのデータ及びバイトイ
ネーブルビット01がロードされる。サブバッファ60
cにデータがロードされると、メモリコントローラ66
は、ロードされたデータに対応するバイトイネーブルビ
ットを使用し、サブバッファ60cからのデータのイネ
ーブルされたバイトをビデオメモリの適当な位置へ書き
込む。
【0059】メモリアクセス中にはメモリコントローラ
66のみが使用されるので、残りのメモリコントローラ
は、バス58aを経てそれらのサブバッファへ到来する
データの他のピクセルを自由に受け取る。
66のみが使用されるので、残りのメモリコントローラ
は、バス58aを経てそれらのサブバッファへ到来する
データの他のピクセルを自由に受け取る。
【0060】メモリコントローラが完全に独立して動作
できるようにすることにより、メモリコントローラが同
期して動作する公知の構成よりも相当に性能が改善され
る。同期メモリコントローラシステムにおいては、1バ
イトのデータのみをメモリに書き込むのに4つのメモリ
コントローラが用いられ、3つのメモリコントローラは
アイドル状態に留まって他のメモリコントローラによる
書き込みの完了を待機すると考えられる。同期メモリコ
ントローラシステムでは、システムの性能がピクセル当
たりの物理的バイトの数によって限定される。
できるようにすることにより、メモリコントローラが同
期して動作する公知の構成よりも相当に性能が改善され
る。同期メモリコントローラシステムにおいては、1バ
イトのデータのみをメモリに書き込むのに4つのメモリ
コントローラが用いられ、3つのメモリコントローラは
アイドル状態に留まって他のメモリコントローラによる
書き込みの完了を待機すると考えられる。同期メモリコ
ントローラシステムでは、システムの性能がピクセル当
たりの物理的バイトの数によって限定される。
【0061】しかしながら、メモリコントローラが完全
に独立して動作するように設計されたときには、メモリ
コントローラのアクセス周期中に、実際にビデオメモリ
にアクセスするコントローラのみがビジーとなる。従っ
て、このようなグラフィックシステムの性能は、実際に
書き込まれるピクセルの数のみによって限定されるので
あって、ピクセル当たりの物理的バイトの実際の数によ
って限定されるのではない。
に独立して動作するように設計されたときには、メモリ
コントローラのアクセス周期中に、実際にビデオメモリ
にアクセスするコントローラのみがビジーとなる。従っ
て、このようなグラフィックシステムの性能は、実際に
書き込まれるピクセルの数のみによって限定されるので
あって、ピクセル当たりの物理的バイトの実際の数によ
って限定されるのではない。
【0062】例えば、再び図4を参照すれば、24ビッ
ト/ピクセルを用いたグラフィックアプリケーションが
32ビットグラフィックシステムにおいて実行されそし
てメモリコントローラ62、64、66及び68が各々
バイト0、バイト1、バイト2及びバイト3データに対
して動作すると仮定する。同期メモリコントローラシス
テムを用いると、各ピクセルのバイト0−2を書き込む
ためには、合併バッファ60からのデータ及びバイトイ
ネーブルレジスタ61からのバイトイネーブルが各サブ
バッファ60a−60dへシフトされる。メモリコント
ローラ68は、サブバッファ60dから00のバイトイ
ネーブルを受け取り、他のメモリコントローラ62、6
4及び66によるメモリアクセス中にアイドル状態に留
まる。メモリコントローラ68は、他のコントローラが
3バイトのピクセルデータの更新を終了するまでそれ以
上のピクセルデータを自由に受け入れることはできな
い。従って、8個の24ビットピクセルを書き込むため
には、4つのメモリアクセスを行わねばならない。
ト/ピクセルを用いたグラフィックアプリケーションが
32ビットグラフィックシステムにおいて実行されそし
てメモリコントローラ62、64、66及び68が各々
バイト0、バイト1、バイト2及びバイト3データに対
して動作すると仮定する。同期メモリコントローラシス
テムを用いると、各ピクセルのバイト0−2を書き込む
ためには、合併バッファ60からのデータ及びバイトイ
ネーブルレジスタ61からのバイトイネーブルが各サブ
バッファ60a−60dへシフトされる。メモリコント
ローラ68は、サブバッファ60dから00のバイトイ
ネーブルを受け取り、他のメモリコントローラ62、6
4及び66によるメモリアクセス中にアイドル状態に留
まる。メモリコントローラ68は、他のコントローラが
3バイトのピクセルデータの更新を終了するまでそれ以
上のピクセルデータを自由に受け入れることはできな
い。従って、8個の24ビットピクセルを書き込むため
には、4つのメモリアクセスを行わねばならない。
【0063】4回のメモリ参照が必要であることは、図
4を参照して明らかである。第1のメモリアクセスサイ
クルにおいては、ピクセル0及びピクセル1のバイト0
−2がアクセスされる。従って、第1のメモリアクセス
では、メモリ切片90に対する更新はない。第2のメモ
リアクセスサイクルでは、ピクセル2及びピクセル3の
バイト0−2がアクセスされる。メモリ切片92に対す
る更新はない。第3のメモリアクセスサイクルにおいて
は、ピクセル4及びピクセル5のバイト0−2がアクセ
スされる。メモリ切片93に対する更新はない。第4の
メモリサイクルにおいては、ピクセル6及びピクセル7
のバイト0−2がアクセスされる。メモリ切片91に対
する更新はない。
4を参照して明らかである。第1のメモリアクセスサイ
クルにおいては、ピクセル0及びピクセル1のバイト0
−2がアクセスされる。従って、第1のメモリアクセス
では、メモリ切片90に対する更新はない。第2のメモ
リアクセスサイクルでは、ピクセル2及びピクセル3の
バイト0−2がアクセスされる。メモリ切片92に対す
る更新はない。第3のメモリアクセスサイクルにおいて
は、ピクセル4及びピクセル5のバイト0−2がアクセ
スされる。メモリ切片93に対する更新はない。第4の
メモリサイクルにおいては、ピクセル6及びピクセル7
のバイト0−2がアクセスされる。メモリ切片91に対
する更新はない。
【0064】しかしながら、好ましい実施例において
は、全てのメモリコントローラが独立して動作する状態
で、任意の時間にアイドル状態に留まる必要のあるメモ
リコントローラは皆無である。これは、所与のメモリコ
ントローラに対するバイトイネーブルが00に等しいと
きに、メモリコントローラが所与のデータのエントリを
受け取らず、合併バッファ58からその書き込みバッフ
ァへの新たなデータを自由に受け取るためである。その
結果、各32ビットピクセルの24ビットのみが実際に
変更された8個の32ビットピクセルを書き込むこと
は、3回のメモリアクセスと同等に行うことができる。
は、全てのメモリコントローラが独立して動作する状態
で、任意の時間にアイドル状態に留まる必要のあるメモ
リコントローラは皆無である。これは、所与のメモリコ
ントローラに対するバイトイネーブルが00に等しいと
きに、メモリコントローラが所与のデータのエントリを
受け取らず、合併バッファ58からその書き込みバッフ
ァへの新たなデータを自由に受け取るためである。その
結果、各32ビットピクセルの24ビットのみが実際に
変更された8個の32ビットピクセルを書き込むこと
は、3回のメモリアクセスと同等に行うことができる。
【0065】例えば、図4を再び参照すれば、第1のメ
モリアクセス中に、ピクセル0及びピクセル1のバイト
0−2がアクセスされる。更に、ピクセル2及びピクセ
ル3のバイト1がアクセスされる。第2のメモリアクセ
スにおいて、ピクセル2及びピクセル3のバイト0及び
バイト2がアクセスされ、そしてピクセル4及びピクセ
ル5のバイト0及びバイト2がアクセスされる。第3の
メモリアクセスにおいては、ピクセル4及びピクセル5
のバイト1がアクセスされ、そしてピクセル6及びピク
セル7のバイト0−2がアクセスされる。
モリアクセス中に、ピクセル0及びピクセル1のバイト
0−2がアクセスされる。更に、ピクセル2及びピクセ
ル3のバイト1がアクセスされる。第2のメモリアクセ
スにおいて、ピクセル2及びピクセル3のバイト0及び
バイト2がアクセスされ、そしてピクセル4及びピクセ
ル5のバイト0及びバイト2がアクセスされる。第3の
メモリアクセスにおいては、ピクセル4及びピクセル5
のバイト1がアクセスされ、そしてピクセル6及びピク
セル7のバイト0−2がアクセスされる。
【0066】各32ビットピクセルの全4バイトより少
ないバイトのアクセスが極めて一般的となる。24ビッ
トのカラー情報を使用するアプリケーションは、制御情
報をほとんど変更することがなく、従って、ほとんどの
オペレーションは、各32ビットピクセルの3つのバイ
トのみを読み取り又は書き込みする。あるRAMDAC
(登録商標)は、24ビットのカラー情報を2つの12
ビットバッファへと分割することができ、制御ビット
は、上位又は下位のいずれの12ビットを表示すべきか
判断する。これら2つの12ビットフィールドを、それ
らが2つの個別の16ビットピクセルとしてアクセスで
きるように割り当てできる場合には最良の性能が得られ
るが、この構成は、あるRAMDAC(登録商標)では
除外されてしまう。しかし、RAMDACが、一方の1
2ビットフィールドをビット0−11に割り当てできそ
して他方の12ビットフィールドをビット12−23に
割り当てできる場合には、いずれかの12ビットフィー
ルドへのアクセスが各32ビットピクセルの2バイトの
みへのアクセスしか必要としない。従って、12ビット
情報の8ピクセルのアクセスは、上記の16ビットアプ
リケーションを参照して述べたように2つのメモリアク
セスのみで行うことができる。
ないバイトのアクセスが極めて一般的となる。24ビッ
トのカラー情報を使用するアプリケーションは、制御情
報をほとんど変更することがなく、従って、ほとんどの
オペレーションは、各32ビットピクセルの3つのバイ
トのみを読み取り又は書き込みする。あるRAMDAC
(登録商標)は、24ビットのカラー情報を2つの12
ビットバッファへと分割することができ、制御ビット
は、上位又は下位のいずれの12ビットを表示すべきか
判断する。これら2つの12ビットフィールドを、それ
らが2つの個別の16ビットピクセルとしてアクセスで
きるように割り当てできる場合には最良の性能が得られ
るが、この構成は、あるRAMDAC(登録商標)では
除外されてしまう。しかし、RAMDACが、一方の1
2ビットフィールドをビット0−11に割り当てできそ
して他方の12ビットフィールドをビット12−23に
割り当てできる場合には、いずれかの12ビットフィー
ルドへのアクセスが各32ビットピクセルの2バイトの
みへのアクセスしか必要としない。従って、12ビット
情報の8ピクセルのアクセスは、上記の16ビットアプ
リケーションを参照して述べたように2つのメモリアク
セスのみで行うことができる。
【0067】三次元アプリケーションは、Zバッファ及
びステンシルバッファを使用する。図3に示すグラフィ
ックコントローラにおいては、各32ビットのZ/ステ
ンシルバッファピクセルは、2つのフィールド、即ち8
ビットステンシルフィールド及び24ビットZ値フィー
ルドを含む。三次元オペレーションのほとんどは、ステ
ンシルフィールドではなく、Z値フィールドを読み取り
及び書き込むするだけであり、従って、各32ビットピ
クセルの3つのバイトのみに対して動作する。従って、
Z情報の8ピクセルのアクセスは、図4について述べた
ように3つのメモリアクセスサイクルで達成される。
びステンシルバッファを使用する。図3に示すグラフィ
ックコントローラにおいては、各32ビットのZ/ステ
ンシルバッファピクセルは、2つのフィールド、即ち8
ビットステンシルフィールド及び24ビットZ値フィー
ルドを含む。三次元オペレーションのほとんどは、ステ
ンシルフィールドではなく、Z値フィールドを読み取り
及び書き込むするだけであり、従って、各32ビットピ
クセルの3つのバイトのみに対して動作する。従って、
Z情報の8ピクセルのアクセスは、図4について述べた
ように3つのメモリアクセスサイクルで達成される。
【0068】上記のグラフィックシステムは、ビデオメ
モリにおけるピクセルデータの不規則な配列の利点を利
用してビデオバスの利用を高め、ひいては、全グラフィ
ックシステム性能を高めるものである。加えて、ビデオ
メモリの各切片を制御するメモリコントローラを完全に
独立できることにより、あるアプリケーションに対する
グラフィック性能が更に改善される。本発明の好ましい
実施例について述べたが、その概念を組み込んだ他の実
施例も使用できることは当業者に明らかであろう。それ
故、本発明は、ここに開示した実施例に限定されるもの
ではなく、特許請求の範囲のみによって限定されるもの
とする。
モリにおけるピクセルデータの不規則な配列の利点を利
用してビデオバスの利用を高め、ひいては、全グラフィ
ックシステム性能を高めるものである。加えて、ビデオ
メモリの各切片を制御するメモリコントローラを完全に
独立できることにより、あるアプリケーションに対する
グラフィック性能が更に改善される。本発明の好ましい
実施例について述べたが、その概念を組み込んだ他の実
施例も使用できることは当業者に明らかであろう。それ
故、本発明は、ここに開示した実施例に限定されるもの
ではなく、特許請求の範囲のみによって限定されるもの
とする。
【図1】32ビットグラフィックビデオメモリにおける
8ビットグラフィックピクセルの公知レイアウトを示す
図である。
8ビットグラフィックピクセルの公知レイアウトを示す
図である。
【図2】本発明により動作するコンピュータシステムを
示す図である。
示す図である。
【図3】図2のコンピュータシステムに使用するグラフ
ィックコントローラを示すブロック図である。
ィックコントローラを示すブロック図である。
【図4】図3のグラフィックコントローラによって実行
される32ビットグラフィックアプリケーションにおけ
る8ビットグラフィックピクセルの割り当てを示す図で
ある。
される32ビットグラフィックアプリケーションにおけ
る8ビットグラフィックピクセルの割り当てを示す図で
ある。
20 コンピュータシステム 22 中央処理ユニット(CPU) 24 システムバス 26 メモリ 28 入力/出力(I/O)バス 30 ディスクコントローラ 32 グラフィックコントローラ 34 陰極線管(CRT)モニタ 40 制御ロジック 42 レジスタロジック 44 アドレスジェネレータ 46 データジェネレータ 47 平面マスクレジスタ 50 再構成ロジック 52 ソース回転レジスタ 57 合併アドレスレジスタ 58 合併バッファ 60 書き込みバッファ 61 バイトイネーブルレジスタ 63 書き込み制御ロジック 65 ビデオバス 70 ビデオメモリ 72 ビデオシフトレジスタ 74 デジタル/アナログコンバータ 76 カラールックアップテーブル
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロバート エス マックナマラ アメリカ合衆国 マサチューセッツ州 01740ボルトン ホウィットカム ロード 66 (72)発明者 クリストファー シー ジアノス アメリカ合衆国 マサチューセッツ州 01564スターリング パイクス ヒル ロ ード 14 (72)発明者 ジョエル ジェイ マコーマック アメリカ合衆国 カリフォルニア州 94062 ウッドサイド サミット スプリ ングス ロード 480エイ
Claims (5)
- 【請求項1】 グラフィックデータを記憶するためのビ
デオメモリを有するグラフィックサブシステムで実行さ
れる複数のグラフィックアプリケーションの性能を改善
する方法であって、上記グラフィックサブシステムは、
ピクセル当たり第1のビット数を有するアプリケーショ
ンをサポートするように構成され、そして上記グラフィ
ックアプリケーションは、ピクセル当たり複数の第2の
より少数のビットを用いて実行されるような方法におい
て、 グラフィックデータの異なるピクセルの対応バイトが上
記ビデオメモリの異なる同時アクセス可能な位置に記憶
されるようにピクセルを上記ビデオメモリに記憶する、
という段階を備えたことを特徴とする方法。 - 【請求項2】 複数の切片に分けられたメモリに複数の
ピクセルを記憶する方法であって、各切片は、所定数の
バイトのピクセルデータを記憶し、上記メモリは、ピク
セル当たり第1数のバイトを有する第1ピクセルを記憶
するよう構成され、上記複数のピクセルは、ピクセル当
たり第2数のバイトを有し、該第2数は上記第1数に等
しいか又はそれ未満であるような方法において、 第1数のバイトを有する上記第1ピクセルをピクセルデ
ータの複数のグループに構成し、ピクセルデータの上記
グループの各々は、上記所定数のバイトのデータより成
り、そしてピクセルデータの上記グループの各々は、上
記第1ピクセルの異なるピクセルの対応バイトより成
り、そして上記第1ピクセルの対応バイトより成るピク
セルデータのグループが上記複数の切片の異なる切片に
各々記憶されるようにピクセルデータの上記グループを
上記複数の切片に割り当てる、という段階を備えたこと
を特徴とする方法。 - 【請求項3】 グラフィックプロセッサと、 上記グラフィックプロセッサに接続されたビデオバス
と、 複数のピクセルデータを記憶するためのメモリとを備
え、上記ピクセルデータは複数のデータバイトより成
り、グラフィックデータの異なるピクセルの対応バイト
は、上記ビデオバスが最大に利用されるように上記ビデ
オメモリの異なる同時アクセス可能な位置に記憶される
ことを特徴とする装置。 - 【請求項4】 上記グラフィックプロセッサに接続さ
れ、上記ビデオメモリへの次々の書き込みを結合する合
併バッファと、 上記合併バッファに接続された複数のコントローラとを
更に備え、これら複数のコントローラの各々は、上記メ
モリの対応する複数の切片の1つを独立して制御する請
求項5に記載の装置。 - 【請求項5】 ピクセルバスに複数のピクセルデータを
供給する手段と、 ピクセルを供給する上記手段に各々接続された複数のコ
ントローラであって、上記ピクセルバスからの上記ピク
セルデータの一部分を記憶する専用のバッファを各々含
んでいるような複数のコントローラと、 上記複数のコントローラに接続されたメモリであって、
専用バッファの上記数に対応する複数の切片に分けられ
たメモリとを備え、各々の切片は、上記専用バッファの
対応する1つからデータを受け取り、上記切片各々の読
み取り及び書き込みは、上記複数のコントローラによっ
て独立して制御されることを特徴とする装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US27019494A | 1994-07-01 | 1994-07-01 | |
| US08/270194 | 1994-07-01 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0850474A true JPH0850474A (ja) | 1996-02-20 |
| JP2919774B2 JP2919774B2 (ja) | 1999-07-19 |
Family
ID=23030307
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7165566A Expired - Fee Related JP2919774B2 (ja) | 1994-07-01 | 1995-06-30 | 深いフレームバッファにおいて浅いピクセルを迅速に指示してコピーする方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5696945A (ja) |
| EP (1) | EP0752694B1 (ja) |
| JP (1) | JP2919774B2 (ja) |
| DE (1) | DE69534890T2 (ja) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5909225A (en) * | 1997-05-30 | 1999-06-01 | Hewlett-Packard Co. | Frame buffer cache for graphics applications |
| US5937204A (en) * | 1997-05-30 | 1999-08-10 | Helwett-Packard, Co. | Dual-pipeline architecture for enhancing the performance of graphics memory |
| US6002412A (en) * | 1997-05-30 | 1999-12-14 | Hewlett-Packard Co. | Increased performance of graphics memory using page sorting fifos |
| US6275243B1 (en) * | 1998-04-08 | 2001-08-14 | Nvidia Corporation | Method and apparatus for accelerating the transfer of graphical images |
| US6271867B1 (en) * | 1998-10-31 | 2001-08-07 | Duke University | Efficient pixel packing |
| US6457121B1 (en) * | 1999-03-17 | 2002-09-24 | Intel Corporation | Method and apparatus for reordering data in X86 ordering |
| US6559852B1 (en) * | 1999-07-31 | 2003-05-06 | Hewlett Packard Development Company, L.P. | Z test and conditional merger of colliding pixels during batch building |
| US7286134B1 (en) * | 2003-12-17 | 2007-10-23 | Nvidia Corporation | System and method for packing data in a tiled graphics memory |
| US7420568B1 (en) * | 2003-12-17 | 2008-09-02 | Nvidia Corporation | System and method for packing data in different formats in a tiled graphics memory |
| US7760804B2 (en) * | 2004-06-21 | 2010-07-20 | Intel Corporation | Efficient use of a render cache |
| US8319783B1 (en) | 2008-12-19 | 2012-11-27 | Nvidia Corporation | Index-based zero-bandwidth clears |
| US8330766B1 (en) | 2008-12-19 | 2012-12-11 | Nvidia Corporation | Zero-bandwidth clears |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB1472303A (en) * | 1973-09-21 | 1977-05-04 | Siemens Ag | Electronic data storage systems |
| US4745407A (en) * | 1985-10-30 | 1988-05-17 | Sun Microsystems, Inc. | Memory organization apparatus and method |
| JPS63204595A (ja) * | 1987-02-20 | 1988-08-24 | Fujitsu Ltd | マルチプレ−ンビデオram構成方式 |
| WO1992002922A1 (en) * | 1990-08-03 | 1992-02-20 | Du Pont Pixel Systems Limited | Data-array processing and memory systems |
| DE69231172T2 (de) * | 1991-01-23 | 2001-03-08 | Seiko Epson Corp., Tokio/Tokyo | Datenspeicher und bildverarbeitungssystem mit einem solchen datenspeicher |
| US6088045A (en) * | 1991-07-22 | 2000-07-11 | International Business Machines Corporation | High definition multimedia display |
| US5303200A (en) * | 1992-07-02 | 1994-04-12 | The Boeing Company | N-dimensional multi-port memory |
| US5422657A (en) * | 1993-09-13 | 1995-06-06 | Industrial Technology Research Institute | Graphics memory architecture for multimode display system |
-
1995
- 1995-06-30 JP JP7165566A patent/JP2919774B2/ja not_active Expired - Fee Related
- 1995-07-03 EP EP95304644A patent/EP0752694B1/en not_active Expired - Lifetime
- 1995-07-03 DE DE69534890T patent/DE69534890T2/de not_active Expired - Fee Related
-
1997
- 1997-01-06 US US08/781,991 patent/US5696945A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| EP0752694A2 (en) | 1997-01-08 |
| EP0752694A3 (en) | 1997-09-24 |
| DE69534890T2 (de) | 2006-08-17 |
| DE69534890D1 (de) | 2006-05-11 |
| US5696945A (en) | 1997-12-09 |
| EP0752694B1 (en) | 2006-03-22 |
| JP2919774B2 (ja) | 1999-07-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5781201A (en) | Method for providing improved graphics performance through atypical pixel storage in video memory | |
| US6911983B2 (en) | Double-buffering of pixel data using copy-on-write semantics | |
| US6002411A (en) | Integrated video and memory controller with data processing and graphical processing capabilities | |
| US4823286A (en) | Pixel data path for high performance raster displays with all-point-addressable frame buffers | |
| US5801711A (en) | Polyline and triangle strip data management techniques for enhancing performance of computer graphics system | |
| JPH0855226A (ja) | 線引き性能を向上する方法 | |
| US5091720A (en) | Display system comprising a windowing mechanism | |
| US5764243A (en) | Rendering architecture with selectable processing of multi-pixel spans | |
| EP1741089B1 (en) | Gpu rendering to system memory | |
| US5251298A (en) | Method and apparatus for auxiliary pixel color management using monomap addresses which map to color pixel addresses | |
| EP0318259A2 (en) | Software configurable memory architecture for data processing system having graphics capability | |
| JP3940435B2 (ja) | ダイレクト・メモリ・アクセス(dma)バイト・スワッピングを実行する方法および装置 | |
| US5454076A (en) | Method and apparatus for simultaneously minimizing storage and maximizing total memory bandwidth for a repeating pattern | |
| JP2919774B2 (ja) | 深いフレームバッファにおいて浅いピクセルを迅速に指示してコピーする方法 | |
| JPH08896U (ja) | メモリ装置 | |
| JPH08212382A (ja) | Z−バッファタグメモリ構成 | |
| US6812928B2 (en) | Performance texture mapping by combining requests for image data | |
| JP3306746B2 (ja) | 異なるピクセル・サイズを処理するウインドウ・システムにおけるディスプレイ・グラフィック・アダプタ及びピクセル・データを記憶する方法 | |
| JP3734226B2 (ja) | 圧縮され、ワード整合されたビットマップを高速ブロック転送する方法および装置 | |
| US5422657A (en) | Graphics memory architecture for multimode display system | |
| US6927776B2 (en) | Data transfer device and method | |
| US5696944A (en) | Computer graphics system having double buffered vertex ram with granularity | |
| JPH1069548A (ja) | コンピュータ・グラフィックス・システム | |
| JPH0740242B2 (ja) | データ転送方法 | |
| US5818465A (en) | Fast display of images having a small number of colors with a VGA-type adapter |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090423 Year of fee payment: 10 |
|
| LAPS | Cancellation because of no payment of annual fees |