JP3397709B2 - フレーム・バッファ線形アドレス指定方法 - Google Patents

フレーム・バッファ線形アドレス指定方法

Info

Publication number
JP3397709B2
JP3397709B2 JP01641999A JP1641999A JP3397709B2 JP 3397709 B2 JP3397709 B2 JP 3397709B2 JP 01641999 A JP01641999 A JP 01641999A JP 1641999 A JP1641999 A JP 1641999A JP 3397709 B2 JP3397709 B2 JP 3397709B2
Authority
JP
Japan
Prior art keywords
address
linear
memory
section
byte
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP01641999A
Other languages
English (en)
Other versions
JPH11283021A (ja
Inventor
ジョエル・ディー・バック−ジェングラー
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 JPH11283021A publication Critical patent/JPH11283021A/ja
Application granted granted Critical
Publication of JP3397709B2 publication Critical patent/JP3397709B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Image Input (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般に、コンピュ
ータ・グラフィックス・システムに関するもので、特
に、仮想線形フレーム・バッファ・アドレス指定の方法
および装置に関するものである。
【0002】
【従来の技術】コンピュータ・グラフィックス・システ
ムは、2次元コンピュータ・ディスプレイ画面上でのオ
ブジェクトのグラフィック表現を表示するために一般に
使用される。現在のコンピュータ・グラフィックス・シ
ステムは、非常に精細な表現を提供することができ、種
々のアプリケーションにおいて使用されている。
【0003】典型的コンピュータ・グラフィックス・シ
ステムにおいては、一定量のメモリがグラフィックス・
ディスプレイに割り当てられる。その利用できるメモリ
(例えばフレーム・バッファ・メモリ)は、例えば640
×480バイトまたは800×600バイトのようなデ
ィスプレイ要件に従って一連のセクションに細分され
る。この例において、ディスプレイ構成は、例えば、デ
ィスプレイ・バッファ、Z(深さ)バッファ、合成バッフ
ァ、ビデオ・バッファおよび複数のテクスチャ・バッフ
ァなどを含む。
【0004】上記ディスプレイ・システムは、一般的に
は、ディスプレイに対して固定量のフレーム・バッファ
・メモリを提供するが、所望のディスプレイ構成に従っ
て、異なるメモリ量を異なるバッファに割り当てる。最
も単純な形態にいては、フレーム・バッファ・メモリは
典型的には線形の形態でアクセスされる。この場合、メ
モリは、各々同等に扱われる各メモリ位置を持つ線形ス
トリームまたはバイトに区分される。
【0005】例を示せば、図1には、複数のセクション
に区分された2MB(メガバイト)のメモリ・セクション
11が示されている。メモリ・セクション11の最初の
786KB(キロバイト)12は、ディスプレイ・バッフ
ァに割り当てられた1024×768バイトのマトリッ
クスに配列されている。次に、メモリ・セクション11
の640×480バイトは、Zバッファに割り当てら
れ、メモリ・セクション14において308KBとして
図示されている。次の308KBは、合成バッファ16
の640×480バイト・セクションに割り当てられて
いる。同様に、ビデオ・バッファ17およびテクスチャ
・バッファ18、19および21がメモリ11の複数セ
クションに割り当てられている。
【0006】図1に示されているメモリ・セクションに
おいて、各バッファ、すなわちディスプレイ・バッファ
12、Zバッファ14、合成バッファ16等々は、それ
ぞれの特定のバイト幅(すなわちバイト・ストライド)を
持つ。例えば、ディスプレイ・バッファ12のバイト幅
は1024であり、一方、合成バッファ16のバイト幅
は640である。
【0007】ディスプレイ・バッファ12を参照すれ
ば、メモリの最初の1024バイトはディスプレイ・バ
ッファ12の最初の行を形成する。ディスプレイ・バッ
ファ12の1025番目のバイトは第2行目の最初とな
り、以下同様となる。セクション12は1024バイト
幅を持つと見なされる。特定のメモリ位置を定義するた
め、すなわちアドレスx,yを線形アドレス(LA)に変換す
るため、以下の公式が使用される。 X,Y⇒線形アドレス(LA)=y*バイト幅(BS)+基底アドレス
(BA) 基底アドレスは、割り当てられたメモリの特定のセクシ
ョンに関する開始位置である。セクション12に関する
基底アドレスは"O"であり、一方、セクション16に関
する基底アドレスは1093632すなわち786432+307200=109
3632である。例えば、セクション16は、640バイト
×480バイトという次元を持ち、合計307200バイトで
ある。"x"次元は640で、"y"次元は480である。ア
クセスされるべき所望のメモリ位置がピクセル(3,2)、
すなわち"x"次元が3で、"y"次元が2であると仮定すれ
ば、上記公式から、LA=2("y"次元)*640(バイト幅)+3("
x"次元)+1093632(基底アドレス) = 1094915となる。従
って、3,2というx,y位置は1094915という線形アドレス
に変換され、このアドレスは、バイト1094915がセクシ
ョン16のピクセル3,2によって表される特定バイトに
アクセスを望む場合指定されるアドレスであることを意
味する。
【0008】しかし、現実にはメモリの各バイトは同等
ではない。基盤をなすメモリ・アーキテクチャのため、
ある部分のメモリ・アクセスが他の部分よりコストがか
かる場合が一般的である。基礎的メモリは、(行、列)ア
ドレスを使用してアクセスされ、そのアドレスは多重化
アドレス・バス上で指定される。2つのアクセスが同じ
行アドレスを持つならば、行アドレスが最初のアクセス
に供給された後は、第2のアクセスに関して行アドレス
が指定される必要はない。第2のアクセスが異なる行ア
ドレスを持つならば、行および列両方のアドレスが指定
されなければならない。
【0009】コンピュータ・グラフィックスにおいて
は、メモリ・アクセスに対する高度な2次元局所性が存
在する。すなわち、第1のアクセスを所与とすれば、次
のアクセスは、xまたはy次元のいずれかにおいて第1
のアクセスに近い可能性が高い。
【0010】高性能コンピュータ・グラフィックス装置
の設計者は、メモリ・コントローラを設計する際、これ
ら2つの事実を活用する。XおよびY方向の両方における
連続するアクセスが同じ行アドレス(すなわち同じペー
ジ)を持つ可能性が高いような形態でメモリが構成され
ていて、それによって連続アクセスが比較的コストが低
いことを設計者は確認する。
【0011】図2の(A)には上述の概念が図示されてい
る。図2の(A)は、上述のメモリに関するプリミティブ
およびピクセルの位置を示している。グラフィック画像
がスクリーン上に表示される時、すべての画像の構築ブ
ロックはプリミティブと呼ばれる。プリミティブの形状
は、典型的には、三角形または正方形をしている。
【0012】プリミティブ33は、メモリの1ページを
表すページ31aの範囲内に完全に位置している。最初
のピクセル32の描出の後、後続のピクセル(例えばピ
クセル34)が同じメモリ・ページ31a内にある可能
性が高く、メモリが図2の(A)のように配置されアクセ
スされる場合プリミティブ34を描出するシステム資源
は比較的少なくてすむ。プリミティブ39は、ブロック
31bおよび31dにまたがるように図示されている。
ピクセル37が最初に描出されると仮定すると、プリミ
ティブ39は、メモリのページ31bおよび31dにま
たがってはいるが、後続のピクセル36がピクセル37
と同じメモリ・ページ31bに描出される可能性はやは
り高い。
【0013】図2の(B)には、図1のメモリの複数ペー
ジ上のプリミティブおよびピクセルの位置が図示されて
いる。図2の(B)は、メモリ11の29個の行すなわち
ページを示している。メモリ11の各ページは、102
4バイトの線形に構成されたメモリを含む。プリミティ
ブ33、38および39は、高い資源マッピングの概念
を示すように描かれている。各プリミティブは複数のピ
クセルから構成される。プリミティブ33の中のピクセ
ル32が最初に描出されると仮定すると、メモリが図2
の(B)のように構成されている場合、次に描出されるピ
クセル35は、異なるページすなわちメモリ行に描出さ
れる可能性が高い。図2の(B)において、メモリが線形
に構成されているため、各プリミティブに対して描出さ
れる後続のピクセルは異なるページ上にある可能性が高
く、そのため描出に要するシステム資源が増加する。
【0014】しかしながら、図2の(A)に示されるよう
な、高性能メモリ・アクセス・メカニズムは、アクセス
されるべき特定のメモリ位置の(X,Y)アドレスをグラフ
ィックス・メモリ・コントローラがを知っていることを
必要とする。前述した線形アクセス機構は、(X,Y)アド
レスではなく、単一アドレスだけを提供する。
【0015】("DirectX"APIのような)パーソナル・
コンピュータ業界標準が線形バイト型のメモリ・アクセ
ス機構の使用を必要とする場合を除いて、このような構
成は問題とならないであろう。すなわち、PC市場はメ
モリにアクセスするため基底アドレスおよびバイト幅値
を必要とする。基底アドレスは、特定のセクションの開
始を示すメモリ位置であり、バイト幅は、特定のメモリ
・セクションにおける線形に構成された(例えばX方向
の)バイト数である。
【0016】対応する1つの方法は、単一幅をフレーム
・バッファ・メモリ全体に割り当てて、ページを矩形に
構成することである。
【0017】図3には、矩形2次元アレイが示されてい
る。矩形メモリ・セクション41は、1024バイトと
いう単一のバイト幅を持つ1つの大きい2次元アレイ4
1としてメモリ全体を取り扱うという妥協的解決手段を
図示している。この解決策では、メモリのページは描出
されるプリミティブの2次元局所性を活用するように再
構成される。(例えば、バッファ12、Zバッファ1
4、合成バッファ16等々を表す)いかなる矩形もいか
なる目的にも使用される単一の大きい矩形から切り出す
ことができるという意味において、柔軟性の要件は満た
されている。しかしながら、この解決策の欠点は、未使
用のメモリ領域が未使用のままとされることである。こ
れらの未使用セクションは領域42として図示されてい
る。例えば、領域12には、物理的に追加バッファを割
り当てるのに十分なメモリがあるが、利用できるメモリ
位置がメモリ内で散乱していて、再構成の量に見合う所
望のサイズの矩形を形成することができない。更に、こ
の構成は、DirectXのようなAPIによって必要とされ
る線形割り当てを犠牲にする。
【0018】図4の(A)および(B)は、640バイト幅
バッファ43および800バイト幅バッファ47を示し
ている。図4の(A)および(B)は、特定のメモリ位置の
線形アドレスが異なるバイト幅値を持つバッファにおけ
る異なる行および列位置に対応する概念を図示してい
る。具体的に述べれば、図4の(A)において、線形アド
レス位置2600は、640バイト幅バッファ43にお
ける4行40列に対応し、一方、図4の(B)に示される
ように、線形アドレス2600は、840バイト幅バッ
ファ47における3行200列に対応する。
【0019】
【発明が解決しようとする課題】APIはメモリへの線
形アクセスの様態が維持されることを必要とするので、
矩形メモリのアドレス指定を使用するグラフィックス・
レンダリング・システムの2次元性を活用しながら、線
形メモリ・アドレス指定の様態を提供することが必要と
されている。
【0020】
【課題を解決するための手段】本発明は、仮想線形フレ
ーム・バッファ・アドレス指定を行う改善された方法お
よび装置を提供する。特定のアプリケーションに限定さ
れることはないが、当該方法および装置は、グラフィッ
クス表示システムに関するフレーム・バッファ・メモリ
の仮想線形アドレス指定に特に適している。
【0021】線形フレーム・バッファを指定する本発明
の方法は、以下の諸ステップを含む。最初に、アドレス
空間の1つのセクションが複数のセクションに分割され
る。それら複数セクションの各々は、特定バイト幅値お
よび関連するアドレス区域を有する。アドレス区域は基
底アドレスとして知られる下限を持ち、関連する物理メ
モリ・セクションを持つ。物理アドレス・オフセット記
述子が物理メモリの各セクションに関連づけられる。特
定のバイト幅値、アドレス区域および物理アドレス・オ
フセット記述子の各々は、メモリの特定アドレス区域と
関連づけられ、それぞれテーブルに書き込まれる。1つ
のバイトの特定線形アドレスのアドレス区域を決定した
後、特定線形アドレスに関連するアドレス区域を決定す
るため線形アドレスをアドレス空間の各セクションと比
較することによって、該当するバイト幅値、アドレス区
域および物理アドレス・オフセット記述子がテーブルか
ら選択される。
【0022】次に、基底アドレスが特定の線形アドレス
から減算され、その結果はローカル線形アドレスとな
る。次に、X、Y位置がローカル線形アドレスおよびバ
イト幅値に基づいて計算される。最後に、X、Y位置お
よび物理アドレス・オフセット記述子がグラフィックス
・メモリ・コントローラに供給され、そこで、オリジナ
ルの線形アドレスに対応する物理メモリの位置が決定さ
れる。特定の仮想フレーム・バッファに物理メモリ位置
が与えられという意味において、割り当てられたアドレ
ス空間は仮想的である。
【0023】アーキテクチャの観点から見れば、グラフ
ィック・ディスプレイ・システムと関連して使用される
時、仮想線形フレーム・バッファ・アドレス指定論理機
構は次のように実施される。最初に、メモリにおける1
バイトの特定線形アドレスに対応するアドレス区域を決
定するために構成される論理が使用される。アドレス区
域は基底アドレスとして知られる下限および関連する物
理メモリ・セクションを持つ。次に、バイト幅値および
基底アドレスをアドレス区域と関係づけるように構成さ
れる論理が使用される。次に、物理アドレス・オフセッ
ト記述子を物理メモリの各セクションに関連づける論理
が使用される。次に、ローカル線形アドレスを導出する
ため、特定の線形アドレスから基底アドレスを減算する
論理が使用される。ローカル線形アドレスはバイト幅値
で除算され、XおよびYアドレスが導出される。最後
に、X、Y位置および物理アドレス・オフセット記述子
がグラフィックス・メモリ・コントローラに供給され、
そこで、特定の線形アドレスに対応する物理アドレスが
決定される。バイト幅値、アドレス区域および物理アド
レス・オフセット記述子はテーブルから選択される。ア
ドレス区域を決定する論理機構は、例えば、複数比較器
からなるバンクまたはループ・カウンタを備えた単一比
較器である。
【0024】本発明の利点の1つは、本発明が矩形メモ
リ・マッピングを維持しながら、線形フレーム・バッフ
ァ・アドレス指定の様態を提供する点である。本発明の
別の利点は、本発明がフレーム・バッファ・アドレス指
定に関するAPI要件に準拠する点である。本発明の更
に別の1つの利点は、アドレス空間に許容される以上の
物理メモリにアクセスすることが可能とされる点であ
る。更に本発明の利点の1つは、本発明が、ハードウェ
ア、ソフトウェアまたはそれらの組合せのいずれの形態
でも実施することができる点である。ソフトウェアで実
施される場合、本発明は、記憶、使用、輸送のため、い
かなるコンピュータ読み取り可能媒体をも利用できる。
本発明の更に別の利点は、本発明は設計上単純であり、
大量生産が容易である点である。
【0025】
【発明の実施の形態】本発明は、ソフトウェア、ハード
ウェアまたはそれらの組合せのいずれの形態でも実施す
ることができる。好ましい実施形態において、本発明の
エレメントはハードウェアで実施されるが、それはメモ
リに記憶されるソフトウェアによって制御される。上記
ソフトウェアは、任意の適切なコンピュータに関連する
システムまたは方法による(あるいはそれと連係する)運
搬または使用のためになんらかのコンピュータ読み取り
可能媒体に記憶されることができる。本明細書の文脈に
おいて、コンピュータ読み取り可能媒体は、コンピュー
タに関連するシステムまたは方法によってあるいはそれ
と連係して使用されるコンピュータ・プログラムを包含
あるいは記憶することができる電子、磁気、光学あるい
はその他の物理的装置あるいは手段である。
【0026】図5には、仮想フレーム・バッファのメモ
リ割り当てが図示されている。図5の仮想線形アドレス
空間11は、ディスプレイ・バッファ12、Z(深さ)バ
ッファ14、合成バッファ16、ビデオ・バッファ17
およびテクスチャ・バッファ18、19および21を含
む。その他多くのバッファ・タイプが可能ではあるが、
簡略化のため7つのバッファ・タイプのみをここでは図
示している。仮想アドレス指定は、例えば、ディスプレ
イ・バッファ12を物理メモリ56のセクション54
に、Zバッファ14をセクション52に、合成バッファ
16をセクション54に等々、それぞれ対応させる。
【0027】図5は、仮想線形アドレス空間11が手つ
かずのまま維持されながら、実際にはそのメモリが物理
メモリ56における可変位置にマップすなわち対応付け
されることを示している。物理メモリ56のサイズは、
仮想アドレス空間量より大きい場合もある。物理アドレ
ス・オフセット既述子として知られる記述子が、物理メ
モリ56における各バッファの範囲内に含まれる。この
記述子によって、本発明の仮想線形フレーム・バッファ
・アドレス指定論理機構が、物理メモリにおける1つの
位置を特定バッファの開始位置と関係づけることができ
る。
【0028】図2を再び参照すれば、図2の(A)に示さ
れるようにフレーム・バッファ・メモリを構成すること
によって可能とされるグラフィックス・レンダリングの
2次元性を活用するため、ピクセルの特定のXおよびY
位置は、所与の線形アドレスから決定される。
【0029】メモリ位置アドレスを計算するため、AP
Iは基底アドレスおよびバイト幅を与えられる。API
は線形アドレスを次のように計算する。 [x,y]⇒LA=BA+y*BS+x 但し、LAは線形アドレス、BAは基底アドレス、BSはバイ
ト幅である。APIは線形アドレスを本発明の論理機構
に渡す。しかし、所与の線形アドレスからのバイト・ア
ドレスの決定を成功させるためには、矩形メモリ・マッ
ピングであるので、XおよびYアドレスが決定されなけ
ればならない。
【0030】メモリのブロックは2次元で矩形であるの
で、図4の(A)および(B)に関連して既述したように、
メモリの特定のブロックのXおよびY位置はメモリの特
定のセクションのバイト幅に従って相違する。例えば、
図4の(A)に示されるようなメモリ43の640バイト
幅セクションの場合、メモリの特定のバイト位置は、図
4の(B)の800バイト幅セクション47の場合と相違
する。例えば、セクション43の第2行上の最初のバイ
トはバイト640であるが、セクション47の第2行上
の最初のバイトはバイト800である。仮想線形フレー
ム・バッファ・アドレス指定論理機構は、同一プログラ
ムにおいて例えば640幅と800幅のような異なるフ
レーム・バッファ・サイズの使用を可能にすることによ
って、メモリのマッピングを効率的に実行することを可
能にする。図示されている640および800バイト幅
メモリ・セクションは例示の目的のためのものにすぎな
い点は注意されるべきであろう。本発明の仮想線形フレ
ーム・バッファ・アドレス指定論理を使用して、いかな
る幅のメモリ・セクションのアドレス指定を行うことも
可能である。
【0031】例えば、すべてのメモリが同じバイト幅
(例えば640バイト幅)であるとすれば、各線形アドレ
スは640で除算されるだけでよい。しかしながら、異
なるサイズのバッファ・タイプを実施できることが望ま
しい。図1および図5を再び参照して、各セクションが
異なるバイト幅を持つ複数のセクションへ仮想線形アド
レス空間11を分割する概念を以下既述する。例示の目
的のため、物理メモリ52、54および58は、図6に
関連して既述されるフレーム・バッファ・メモリ74と
同じものであるとする。
【0032】仮想線形アドレス空間11は、各領域が異
なるバイト幅のバッファを形成する複数の仮想メモリ領
域に分割される。ディスプレイ・バッファ12は102
4バイト幅、Zバッファ14は640バイト幅、合成バ
ッファ16は640バイト幅、ビデオ・バッファ17は
320バイト幅をそれぞれ持つ。これら4つのバッファ
は例示の目的にすぎず、その他多数のバイト幅を持つ多
数のバッファが可能である。多くのバッファ・タイプを
提供することができるように、複数の可変バイト幅バッ
ファが仮想線形アドレス空間11の範囲内で共存するこ
とが許容されることが望ましい。詳細は図6を参照して
後述するが、フレーム・バッファ・メモリ74の領域に
対応するバイト幅値が仮想線形アドレス・テーブルに書
き込まれる(以下の既述において仮想線形アドレスをvir
tual linear addressの頭文字をとってVLAと略称す
る場合がある)。これによってフレーム・バッファの範
囲内で異なるサイズの複数のメモリ・セクションにアク
セスすることが可能となる。この場合、各セクションは
複数のバッファ・タイプに対して構成されることが可能
である。
【0033】例えば、線形アドレスを所与とすれば、X
およびYは次のように決定される。 X=(LA-BA)%BS Y=(LA-BA)÷BS 但し、%はモジュロ演算剰余である。例えば、メモリ1
6の640バイト幅セクションで、1094915という線形
アドレスおよび基底アドレス1093632を所与とすれば、 X=(1094915-1093632)÷640=2 Y=(1094915-1093632)%640=3 これから、線形アドレスがどのように導出されたか明ら
かである。これは、バイト2、3にアクセスすることを
望んだAPIが次の値を導出したことを意味する。 LA=BA+Y*BS+X LA=1093632+2*640+3 LA=1093632+ 1280+3 LA=1094915 上記の計算は、線形アドレス1094915が、図1における
メモリ・セクション16に関するX、Yアドレス2、3
に対応していることを示している。
【0034】図6には、グラフィックス表示システム6
1が示されている。グラフィックス表示システム61は
当業界において既知のコンポーネントを含む。このシス
テムには、アクセス・バス68を経由してグラフィック
ス・システム49およびシステム・メモリ66と通信す
るプロセッサ62が含まれている。グラフィックス・シ
ステム49には、更に、グラフィックス・メモリ・コン
トローラ73およびアクセス・バス68と通信するジオ
メトリ・アクセラレータ63が含まれる。ジオメトリ・
アクセラレータ63は、プリミティブを作成しラスタ化
し、データを提供する。
【0035】また、グラフィックス・システム49は、
アクセス・バス68およびグラフィックス・メモリ・コ
ントローラ73と通信する本発明の仮想線形フレーム・
バッファ・アドレス指定論理機構100を含む。フレー
ム・バッファ・メモリ74はグラフィックス・メモリ・
コントローラ73と通信する。
【0036】フレーム・バッファ・メモリ74は、その
メモリの割り当てに従って複数のディスプレイ構成を提
供するように構成されることができる。ディスプレイ・
コントローラ77は、CRT76上にグラフィック・デ
ィスプレイ画像を生成することによってユーザに情報を
表示するため、グラフィックス・メモリ・コントローラ
73およびCRT76と通信する。システム・メモリ6
6の範囲内にはグラフィックス・ドライバ67が配置さ
れる。グラフィックス・ドライバ67は、更に、仮想線
形フレーム・バッファ論理機構100を含み、この機構
100は、更に、仮想線形アドレス(VLA)テーブル1
10を含み、フレーム・バッファ・メモリ74部分をア
ドレスするように構成される。
【0037】仮想線形アドレス・テーブル110は、バ
イト幅値、アドレス区域および物理アドレス・オフセッ
ト記述子を記入するように構成されている。好ましい実
施形態において、本発明は、ソフトウェアによって駆動
されるいくつかのハードウェア・エレメントの組合せで
ある。具体的には、仮想線形フレーム・バッファ・アド
レス指定論理機構100は、システム・メモリ66とグ
ラフィックス・システム49に配置されている。仮想線
形フレーム・バッファ・アドレス指定論理機構100
は、以下に記述するように、ハードウェアを構成しそれ
を駆動することによって、グラフィックス・メモリ・コ
ントローラ73と連係してフレーム・バッファ・メモリ
74をアドレスする。
【0038】このタスクは、アプリケーション78の範
囲内に含まれるアプリケーション・プログラム・インタ
フェース65によって供給される特定メモリ位置の線形
アドレスを取り出し、アドレス区域を決定するため線形
アドレスをアドレス空間のセクションと比較し、線形ア
ドレスからXおよびYアドレスを導出することによっ
て、達成される。線形アドレスが所在する特定メモリ・
セクションに対応する特定線形アドレスのアドレス区域
に従って、基底アドレス値およびバイト・ストライド値
がVLAテーブル110から選択される。特定線形アド
レスは、VLAテーブル110から取り出された特定基
底アドレス値およびバイト幅値と関連づけられる。以上
の詳細は図7を参照して以下に記述される。フレーム・
バッファ・メモリ74がシステム・メモリ66の1つの
セグメントである場合もあるが、例示の目的のためここ
では独立のエレメントとして示されている。
【0039】図7には、図6の仮想線形フレーム・バッ
ファ論理機構の装置の概要が示されている。線形アドレ
スはバス102を経由して比較器アレイ102a乃至1
02dへ入力される。図7には、各々が1つのフレーム
・バッファに対応する4つの比較器が図示されてはいる
が、仮想線形アドレス空間11のサイズおよび割り当て
られたバッファの数に応じて、比較器アレイは大きくす
ることができる。比較器は、線形アドレスのアドレス区
域を決定するために使用されるもので、この例では「範
囲比較」機能として示されている。例えば、比較器10
2aは線116a上でバス101から線形アドレスを受
け取る。線形アドレスがARL[0]からARH[0]の範囲内にあ
れば、線109aが活動状態にされる。線形アドレスが
ARL[1]からARH[1]の範囲内にあれば、線109bが活動
状態にされる。基底アドレスの実際の値は、実際に使用
されている仮想線形アドレス空間11の構成に依存す
る。上述の比較器の構成が、どのアドレス値範囲に線形
アドレスが含まれるかを決定する。
【0040】線109a乃至線109dのどれが活動状
態にされたかに従って、符号化器111は、線124を
経由して仮想線形アドレス(VLA)テーブル110にテ
ーブル・エントリ選択信号を送る。符号化器111は、
範囲比較器102の結果を使用して、VLAテーブル1
10から1つのエントリを選択する。テーブル選択エン
トリ機能によって、アドレス区域(AR)テーブル11
2、バイト幅(BS)テーブル114および物理アドレス
・オフセット記述子(PAOD)テーブル117から1つ
のエントリが選択される。
【0041】例えば、符号化器111は、線109a上
の入力[0]が真であるか否か(すなわち特定の線形アドレ
スがARL[0]および ARH[0]によって定義される値の範囲
内にあると比較器102aが決定しているか否か)を判
断することによって選択機能を実行する。真であれば、
テーブル・エントリ選択機能は[0]に関連する値を選択
する。具体的には、AR値112a(ARL[0})、BS値114
a(BS[0])およびおよびPAOD値117a(PAOD[0])が選択
される。もしも入力[1]が真であれば、テーブル・エン
トリ選択機能は[1]に関連する値を選択する。その他の
入力についても同様である。
【0042】図7に示されているVLAテーブル110
は複数のテーブルを含む。アドレス区域(AR)テーブル
はエントリ112a乃至112hを含む。好ましい実施
形態において、AR112aおよび112bは、具体的に
は、ARL[0]およびARH[0]に対応する。この例における4
つの比較器を所与とすれば、ARL[0]はアドレスの最初の
範囲における低アドレスを表し、ARH[0]はアドレスの最
初の範囲における高アドレスを表す。同様に、AR112
cおよび112dは、ARL[1]およびARH[1]に対応する。
ARL[1]はアドレスの次の範囲における低アドレスを表
し、ARH[1]はアドレスの次の範囲における高アドレスを
表す。各範囲の基底アドレスはARL値である。
【0043】VLAテーブル110は、また、バイト幅
テーブル114を含む。バイト幅テーブル114は、バ
イト幅値BS[0]乃至BS[3]に対応するバイト幅値114a
乃至114dを含む。BS[0]はアドレス区域0に対応し、
BS[1]はアドレス区域1に対応し、以下同様である。
【0044】最後に、VLAテーブル110は物理アド
レス・オフセット記述子テーブル117を含む。物理ア
ドレス・オフセット記述子テーブル117は、物理アド
レス・オフセット記述子PAOD[0]乃至PAOD[3]に対応する
PAOD値117a乃至117dを含む。同様に、PAOD
[0]はアドレス区域0に対応し、PAOD[1]はアドレス区域
1に対応し、以下同様である。
【0045】符号化器111が特定のテーブル・エント
リを選択する時、VLAテーブル110の中の各テーブ
ルから1つの値が選択される。アドレス区域に対応する
基底アドレス(すなわちARL[n])が線121上に出力さ
れ、バイト幅が線107上に出力され、PAODが線1
18上に出力される。
【0046】VLAテーブル110内の各テーブルで表
される4つの範囲(0-3)は、この例では、4つのフレー
ム・バッファに対応している。例えば、テーブル値[0]
はディスプレイ・バッファ12に対応し、テーブル値
[1]はZ(深さ)バッファ14に対応している。以下のテ
ーブル値も同様にそれぞれのバッファに対応している。
このようにして、仮想線形フレーム・バッファ・アドレ
ス指定論理機構100は、仮想線形アドレス空間11と
いう単一セクションの範囲内で異なるバイト幅を複数の
バッファに割り当てることができる。
【0047】前述のように、基底アドレスは、特定線形
アドレスが含まれるアドレス区域の下限を表している。
減算器126において、線104上の特定線形アドレス
から線121上の基底アドレスが減算され、特定のロー
カル線形アドレスが線122上に生成される。ローカル
線形アドレスは、ディスプレイ・バッファ12または合
成バッファ16のようなメモリ・バッファに関する線形
アドレスである。次に、ローカル線形アドレスは線10
7上のバイト幅値で除算される。除算結果として出力さ
れる商がYアドレスであり、剰余がXアドレスである。
物理アドレス・オフセット記述子と共に、このXおよび
Yアドレスは、グラフィックス・メモリ・コントローラ
73に供給され、そこで、オリジナルの線形アドレスに
対応する物理アドレスが計算される。
【0048】比較器102は並列アレイとして例示され
ているが、線形アドレスから正しいアドレス区域を決定
することができる限り、その他の構成も可能である。更
に、VLAテーブル110の好ましい実施形態が3つの
テーブル、すなわちARテーブル112、BSテーブル
114およびPAODテーブル117を例示している
が、その他のテーブル構成も可能である。
【0049】図8には、図7の仮想線形フレーム・バッ
ファ・アドレス指定装置の代替実施形態200の概要が
示されている。図7と同じ番号を持つエレメントは同じ
機能を実行するので、詳細説明は省略する。図7の比較
器102a乃至102dおよび符号化器111は、単一
の比較器202およびループ・カウンタ210と置き換
えられている。また、注意すべき点であるが、図8のV
LAテーブル110の中のARテーブル112、BSテ
ーブル114およびPAODテーブル117はn個のバ
ッファに関する値を含む。ループ・カウンタは、バッフ
ァ0からnまでに対応する値を反復しながら、VLAテ
ーブル110から各エントリを連続的に選択する。線2
01上の線形アドレスが現在時VLAテーブル・エント
リによって指定されるアドレスの範囲内にあることを比
較器202が検出すると、比較器202は、ループ・カ
ウンタに信号を送って、カウントを停止させる。その時
点で、正しいアドレス区域が選択され、図7に関連して
記述した残りの計算が実行される。
【0050】図9には、図5の仮想線形フレーム・バッ
ファ・アドレス指定論理機構100の動作を表す流れ図
が示されている。ブロック151において、仮想線形ア
ドレス空間11のセクションが複数セクションに分割さ
れる。各セクションは、図1および図5に示されるよう
に、特定のバイト幅値およびブロック152において関
係づけられるアドレス区域を持つ。
【0051】ブロック153において、物理アドレス・
オフセット記述子が物理メモリの各セクションに割り当
てられる。物理メモリの1つのセクションは仮想線形メ
モリの各セクションと関連づけられる。ブロック154
において、バイト幅値、アドレス区域値および物理アド
レス・オフセット記述子が仮想線形アドレス・テーブル
110に書き込まれる。具体的には、VLAテーブル1
10は、仮想線形アドレス空間11の各セクションと関
連づけられるバイト幅値、アドレス区域値および物理ア
ドレス・オフセット記述子値を含む。
【0052】ブロック156に示されるように、API
65によって供給される線形アドレスを取り出し、この
例では論理比較器102a乃至102dまたは202を
用いて当該線形アドレスが含まれるアドレス区域を判断
することによって、特定線形アドレスの基底アドレス区
域が決定される。
【0053】ブロック157において、比較器102ま
たは202によって決定されたアドレス区域に基づい
て、VLAテーブル110から特定バイト幅値、基底ア
ドレスおよび物理アドレス・オフセット記述子が選択さ
れる。ブロック158において、基底アドレス(すなわ
ちアドレス区域の下限値)がAPIによって供給された
線形アドレスから減算され、ローカル線形アドレスが生
成される。
【0054】ブロック159において、VLAテーブル
110から選択されたバイト幅値で上記ローカル線形ア
ドレスを除算することによってXおよびYアドレスが計
算される。Yアドレスは除算結果の商であり、Xアドレ
スは除算結果の剰余である。ブロック161において、
X、Yアドレスおよび物理アドレス・オフセット記述子
がグラフィックス・メモリ・コントローラ73によって
使用され、フレーム・バッファ・メモリ74の位置に対
応する物理アドレスが計算される。
【0055】以上本発明の好ましい実施形態を記述した
が、本発明の理念を逸脱することなく、上記実施形態に
対する種々の修正およびバリエーションが可能であるこ
とは当業者に明らかであろう。例えば、特定用途向けI
C(すなわちASIC)上に高性能疑似線形フレーム・バ
ッファ・メモリ・マッピング論理を実施することことが
できる。
【0056】本発明には、例として次のような実施様態
が含まれる。 (1)フレーム・バッファの線形アドレス指定を行う方
法であって、各々が基底アドレスとして知られる下限値
を含む複数の関連する値および関連する1つの物理メモ
リ・セクションを有する複数のセクションに、1つのア
ドレス空間セクションを分割するステップと、上記物理
メモリ・セクションの各々に1つの物理メモリ・オフセ
ット記述子を割り当てるステップと、上記複数の値およ
び上記物理メモリ・オフセット記述子をテーブルに書き
込むステップと、1つのアドレスを上記アドレス空間セ
クションの各々と比較して該アドレスが関連する上記ア
ドレス空間セクションに対応するアドレス区域を決定す
ることによって上記複数の値および上記物理メモリ・オ
フセット記述子の1つを上記テーブルから選択するステ
ップと、ローカル・アドレスを作成するため上記アドレ
スから上記基底アドレスを減算するステップと、上記ロ
ーカル・アドレスおよび上記複数の値のうちの1つに基
づいて、上記物理メモリにおける1つの位置を計算する
ステップと、上記計算した位置および上記物理メモリ・
オフセット記述子をメモリ・コントローラに供給するス
テップと、を含むフレーム・バッファ線形アドレス指定
方法。(2)上記アドレス空間セクションが仮想線形メ
モリである、上記(1)に記載のフレーム・バッファ線
形アドレス指定方法。
【0057】(3)1つの仮想線形アドレスを受け取る
ステップと、上記仮想線形アドレスを物理アドレスに変
換するステップと、を含む、フレーム・バッファのアド
レス指定を行う方法。 (4)各々が基底アドレスとして知られる下限値を含む
複数の関連する値および関連する1つの物理メモリ・セ
クションを有する複数のセクションに、1つのアドレス
空間セクションを分割するステップと、上記物理メモリ
・セクションの各々に1つの物理メモリ・オフセット記
述子を割り当てるステップと、上記複数の値および上記
物理メモリ・オフセット記述子をテーブルに書き込むス
テップと、1つのアドレスを上記アドレス空間セクショ
ンの各々と比較して該アドレスが関連する上記アドレス
空間セクションに対応するアドレス区域を決定すること
によって上記複数の値および上記物理メモリ・オフセッ
ト記述子の1つを上記テーブルから選択するステップ
と、ローカル・アドレスを作成するため上記アドレスか
ら上記基底アドレスを減算するステップと、上記ローカ
ル・アドレスおよび上記複数の値のうちの1つに基づい
て、上記物理メモリにおける1つの位置を計算するステ
ップと、上記計算した位置および上記物理メモリ・オフ
セット記述子をメモリ・コントローラに供給するステッ
プと、を更に含む、上記(3)に記載のフレーム・バッ
ファ・アドレス指定方法。
【0058】(5)フレーム・バッファの線形アドレス
指定を行う装置であって、アドレス空間における1バイ
トのアドレスに対応し、基底アドレスとして知られる下
限および関連する1つの物理メモリ・セクションを有す
るアドレス区域を決定するように構成される論理機構
と、バイト幅値および上記基底アドレスを上記アドレス
区域に関連づけるように構成される論理機構と、物理メ
モリ・オフセット記述子を上記物理メモリの各セクショ
ンに関連づけるように構成される論理機構と、ローカル
・アドレスを供給するため、上記アドレスから上記基底
アドレスを減算するように構成される論理機構と、上記
ローカル・アドレスを上記バイト幅で除算するように構
成される論理機構と、上記ローカル・アドレスおよび上
記バイト幅値に基づいて上記アドレスに関連する上記物
理メモリ内アドレスを計算するように構成される論理機
構と、物理メモリ内の上記アドレスおよび上記物理メモ
リ・オフセット記述子に基づいて物理アドレスを計算す
るように構成される論理機構と、を備えるフレーム・バ
ッファ線形アドレス指定装置。
【0059】(6)上記バイト幅値がテーブルから選択
される、上記(5)に記載のフレーム・バッファ線形ア
ドレス指定装置。 (7)アドレス区域を決定する上記論理機構が複数の比
較器を含む、上記(5)に記載のフレーム・バッファ線
形アドレス指定装置。 (8)アドレス区域を決定する上記論理機構が1つの比
較器および1つのループ・カウンタを含む、上記(5)
に記載のフレーム・バッファ線形アドレス指定装置。 (9)上記アドレス区域がテーブルから選択される、上
記(5)に記載のフレーム・バッファ線形アドレス指定
装置。 (10)仮想線形アドレスを物理アドレスに変換するよ
うに構成される論理機構を備えるフレーム・バッファ・
アドレス指定装置。
【0060】
【発明の効果】本発明の仮想線形フレーム・バッファ・
アドレス指定論理機構によって、線形アドレス指定方式
を維持しながら、同一プログラムにおいて異なるフレー
ム・バッファ・サイズの使用が可能とされるので、メモ
リ・マッピングの効率が向上する。
【図面の簡単な説明】
【図1】複数セクションに分割された2MBメモリ・セ
クションを示すブロック図である。
【図2】(A)は1メモリ・ページに描出されるプリミテ
ィブおよびピクセルの位置を示すブロック図であり、
(B)は図1の複数メモリ・ページに描出されるプリミテ
ィブおよびピクセルの位置を示すブロック図である。
【図3】は、矩形2次元アレイに配列された図1のバッ
ファのブロック図である。
【図4】(A)は640バイト幅、(B)は800バイト幅
をそれぞれ有するバッファのブロック図である。
【図5】仮想フレーム・バッファ・メモリ割り当てを示
すブロック図である。
【図6】本発明の仮想線形フレーム・バッファ・アドレ
ス指定論理を含むグラフィック・プロセッサ・システム
のブロック図である。
【図7】図6の仮想線形フレーム・バッファ・アドレス
指定論理の装置を示すブロック図である。
【図8】図7の仮想線形フレーム・バッファ・アドレス
指定論理装置の代替実施形態を示すブロック図である。
【図9】図5の仮想線形フレーム・バッファ・アドレス
指定論理の動作を示す流れ図である。
【符号の説明】
11 アドレス空間 12,14,16 物理メモリ・セクション 56 物理メモリ 100 仮想線形フレーム・バッファ・アドレス
指定論理 101 線形アドレス 102 比較器 110 テーブル 112 アドレス区域 114 バイト幅 117 物理アドレス・オフセット記述子 121 基底アドレス 122 ローカル・アドレス
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06T 1/60 G06F 12/00 - 12/06

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】線形アドレスをX、Yアドレスに変換する
    ことによってフレーム・バッファを線形アドレス指定す
    る方法であって、 線形アドレスをフレーム・バッファに供給するステップ
    と、 1つのアドレス空間セクションを複数のセクションに分
    割するステップと、前記複数のセクションのそれぞれに、該セクションのア
    ドレス区域およびバイト幅値を関連づけるステップであ
    って、該アドレス区域は、該アドレス区域の下限を示す
    基底アドレスを有するステップと、 前記複数のセクションのそれぞれに関連づけられる 物理
    メモリ・セクションに、オフセット記述子を割り当てる
    ステップと、前記アドレス区域、バイト幅値および オフセット記述子
    をテーブルに配置するステップと、前記供給された線形アドレスを、前記アドレス区域のそ
    れぞれと比較することによって、該線形アドレスが含ま
    れるセクションを求めるステップと、 前記求めたセクションに関連付けられたアドレス区域の
    基底アドレス、バイト幅値、およびオフセット記述子
    を、 前記テーブルから選択するステップと、 前記選択された基底アドレスを前記線形アドレスから減
    して、ローカル線形アドレスを求めるステップと、 前記ローカル線形アドレスおよび前記選択されたバイト
    幅値に基づいて、前記物理メモリにおけるX、Y位置を
    演算するステップと、 前記線形アドレスに対応する物理アドレスを演算するメ
    モリ・コントローラに、前記X、Y位置および前記選択
    されたオフセット記述子を供給するステップと、 を含む前記線形アドレス指定方法。
  2. 【請求項2】線形アドレスをX、Yアドレスに変換する
    ことによってフレーム・バッファを線形アドレス指定す
    る装置であって、1つのアドレス空間セクションは複数
    のセクションに分割され、該複数のセクションのそれぞ
    れに、該セクションのアドレス区域およびバイト幅値
    と、物理メモリ・セクションとが関連付けられ、該物理
    メモリ・セクションに、物理アドレス・オフセット記述
    子が関連付け られ、該アドレス区域は、該アドレス区域
    の下限を示す基底アドレスを有しており、 フレーム・バッファに供給される線形アドレスと、前記供給された線形アドレスと、前記アドレス区域のそ
    れぞれとを比較することによって、該線形アドレスが含
    まれるセクションを求める論理手段と、 前記求めたセクションに関連付けられたアドレス区域の
    基底アドレス、バイト幅値、および物理アドレス・オフ
    セット記述子を選択する論理手段と、 前記選択された基底アドレスを前記線形アドレスから減
    して、ローカル線形アドレスを求める論理手段と、 前記ローカル線形アドレスおよび前記選択されたバイト
    幅値に基づいて、前記線形アドレスに関連する前記物理
    メモリにおけるX、Yアドレスを演算する論理手段と、 前記物理メモリにおけるX、Yアドレスおよび前記選択
    された物理アドレス・オフセット記述子に基づいて、物
    理アドレスを演算する論理手段と、 を含む前記線形アドレス指定装置。
  3. 【請求項3】線形アドレスをX、Yアドレスに変換する
    ことによってフレーム・バッファを線形アドレス指定す
    るプログラムを格納するコンピュータ読み取り可能媒体
    であって、該プログラムは、 線形アドレスをフレーム・バッファに供給し、 1つのアドレス空間セクションを複数のセクションに分
    割し、 前記複数のセクションのそれぞれに、該セクションのア
    ドレス区域およびバイト幅値を関連づけ、該アドレス区
    域は、該アドレス区域の下限を示す基底アドレスを有し
    ており、 前記複数のセクションのそれぞれに関連づけられる 物理
    メモリ・セクションに、オフセット記述子を割り当て、前記アドレス区域、バイト幅値および オフセット記述子
    をテーブルに配置し、前記供給された線形アドレスを、前記アドレス区域のそ
    れぞれと比較することによって、該線形アドレスが含ま
    れるセクションを求め、 前記求めたセクションに関連付けられたアドレス区域の
    基底アドレス、バイト 幅値、およびオフセット記述子
    を、 前記テーブルから選択し、前記選択された 基底アドレスを前記線形アドレスから減
    して、ローカル線形アドレスを求め、 前記ローカル線形アドレスおよび前記選択されたバイト
    幅値に基づいて、前記物理メモリにおけるX、Y位置を
    演算し、 前記線形アドレスに対応する物理アドレスを演算するメ
    モリ・コントローラに、前記X、Y位置および前記選択
    されたオフセット記述子を供給する、よう構成されたロ
    ジックを含む、コンピュータ読み取り可能媒体。
JP01641999A 1998-03-05 1999-01-26 フレーム・バッファ線形アドレス指定方法 Expired - Fee Related JP3397709B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/035,447 US6125437A (en) 1998-03-05 1998-03-05 Virtual linear frame buffer addressing method and apparatus
US035447 1998-03-05

Publications (2)

Publication Number Publication Date
JPH11283021A JPH11283021A (ja) 1999-10-15
JP3397709B2 true JP3397709B2 (ja) 2003-04-21

Family

ID=21882739

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01641999A Expired - Fee Related JP3397709B2 (ja) 1998-03-05 1999-01-26 フレーム・バッファ線形アドレス指定方法

Country Status (2)

Country Link
US (1) US6125437A (ja)
JP (1) JP3397709B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040021649A1 (en) * 2002-08-02 2004-02-05 Keith Kejser Method and apparatus for translating X, Y coordinates for a linear memory system
US6912646B1 (en) * 2003-01-06 2005-06-28 Xilinx, Inc. Storing and selecting multiple data streams in distributed memory devices
US7019752B1 (en) * 2003-06-04 2006-03-28 Apple Computer, Inc. Method and apparatus for frame buffer management
US7872657B1 (en) * 2006-06-16 2011-01-18 Nvidia Corporation Memory addressing scheme using partition strides
KR100868451B1 (ko) * 2007-02-22 2008-11-11 삼성전자주식회사 3-d 주소 매핑을 이용한 메모리 접근 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5293593A (en) * 1990-10-11 1994-03-08 Hewlett-Packard Company Method and apparatus for the mapping of physically non-contiguous memory fragments to be linearly addressable
US5388200A (en) * 1990-12-21 1995-02-07 Sun Microsystems, Inc. Method and apparatus for writing directly to a frame buffer
US5745739A (en) * 1996-02-08 1998-04-28 Industrial Technology Research Institute Virtual coordinate to linear physical memory address converter for computer graphics system
US5936616A (en) * 1996-08-07 1999-08-10 Microsoft Corporation Method and system for accessing and displaying a compressed display image in a computer system
US5949429A (en) * 1996-11-14 1999-09-07 Microsoft Corporation Method for performing pixel addressing operations for a tiled image
US5990912A (en) * 1997-06-27 1999-11-23 S3 Incorporated Virtual address access to tiled surfaces
US5999743A (en) * 1997-09-09 1999-12-07 Compaq Computer Corporation System and method for dynamically allocating accelerated graphics port memory space

Also Published As

Publication number Publication date
US6125437A (en) 2000-09-26
JPH11283021A (ja) 1999-10-15

Similar Documents

Publication Publication Date Title
US7990391B2 (en) Memory system having multiple address allocation formats and method for use thereof
US5990912A (en) Virtual address access to tiled surfaces
US5606650A (en) Method and apparatus for storage and retrieval of a texture map in a graphics display system
US6801219B2 (en) Method and apparatus using a two-dimensional circular data buffer for scrollable image display
US5675773A (en) Graphics display system with a low level hardware dependent graphics library
US7079160B2 (en) Method and apparatus using a two-dimensional circular data buffer for scrollable image display
US5987582A (en) Method of obtaining a buffer contiguous memory and building a page table that is accessible by a peripheral graphics device
US5999199A (en) Non-sequential fetch and store of XY pixel data in a graphics processor
US7268787B2 (en) Dynamic allocation of texture cache memory
US6999091B2 (en) Dual memory channel interleaving for graphics and video
US5585863A (en) Memory organizing and addressing method for digital video images
US5561750A (en) Z-buffer tag memory organization
US6724396B1 (en) Graphics data storage in a linearly allocated multi-banked memory
EP0519694B1 (en) Method for allocating off-screen display memory
US5032981A (en) Method for increasing effective addressable data processing system memory space
JP3397709B2 (ja) フレーム・バッファ線形アドレス指定方法
US6195737B1 (en) Method and apparatus for relative addressing of tiled data
US6600493B1 (en) Allocating memory based on memory device organization
US5596345A (en) Method for managing non-rectangular windows in a raster display
US6097388A (en) Method for managing non-rectangular windows in a raster display
JP3001763B2 (ja) 画像処理システム
US5841446A (en) Method and apparatus for address mapping of a video memory using tiling
US6963343B1 (en) Apparatus and method for dynamically disabling faulty embedded memory in a graphic processing system
WO2003102869A2 (en) Device and method for memory reallocation with panning and scrolling area of display image
Broemmelsiek Parallax engine: a display generation architecture for motion parallax and stereoscopic display effects

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090214

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090214

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100214

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100214

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110214

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120214

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130214

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130214

Year of fee payment: 10

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130214

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140214

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees