JPH10247138A - コンピュータシステム - Google Patents
コンピュータシステムInfo
- Publication number
- JPH10247138A JPH10247138A JP9251134A JP25113497A JPH10247138A JP H10247138 A JPH10247138 A JP H10247138A JP 9251134 A JP9251134 A JP 9251134A JP 25113497 A JP25113497 A JP 25113497A JP H10247138 A JPH10247138 A JP H10247138A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- bus
- coupled
- memory controller
- graphics
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- 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/125—Frame memory handling using unified memory architecture [UMA]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Image Input (AREA)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
- Digital Computer Display Output (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Image Generation (AREA)
Abstract
で1つのメモリを共用できるようにすること。 【解決手段】 このコンピュータシステムはメモリコン
トローラ204と、統一システムメモリ202と、メモ
リクライアントとを含み、各メモリクライアントはメモ
リコントローラを介してシステムメモリにアクセスす
る。メモリクライアントはグラフィックスレンダリング
エンジンと、CPUと、画像プロセッサと、データ圧縮
/伸長デバイスと、入出力デバイスと、グラフィックス
バックエンドデバイスとを含むことができる。このコン
ピュータシステムはメモリクライアントの各々に対しメ
モリコントローラを通して統一システムメモリに読出し
/書込みアクセスを行う。
Description
ムの分野に関するものであり、より詳細には、グラフィ
ックおよび画像処理のためのピクセルバッファのダイナ
ミックメモリ割当てを含むコンピュータシステムアーキ
テクチャに関するものである。
種々の計算上の演算を行うのに、周辺プロセッサと専用
周辺メモリユニットに依存することが多い。例えばグラ
フィックスを(合成)画像にするのに周辺グラフィック
スディスプレイプロセッサが使用され、画像処理(解
析)を行うのに周辺画像プロセッサが使用される。代表
的な従来のコンピュータシステムでは、グラフィックス
レンダリングまたは画像処理もしくはその他の計算機能
に専用のものとすることができる周辺メモリユニットと
CPUのメインメモリとが分離されている。
する。ここには従来技術によるコンピュータグラフィッ
クスシステム100が示されている。従来のコンピュー
タグラフィックスシステム100は3つの別個のメモリ
ユニット、すなわちメインメモリ102と、専用グラフ
ィックスメモリ104と、専用画像処理メインメモリ
(画像プロセッサメモリ)105とを含む。メインメモ
リ102はCPU106および入出力デバイス108の
ためにデータに高速アクセスを行う。CPU106およ
び入出力デバイス108はメインメモリコントローラ1
10を介してメインメモリ102に接続されており、専
用グラフィックスメモリ104はグラフィックスメモリ
コントローラ114を介してグラフィックスプロセッサ
112のためのグラフィックスデータに高速アクセス
し、専用画像処理メモリ105は画像処理メモリコント
ローラ118を介して画像プロセッサ116により使用
されるデータのバッファに高速アクセスを行う。従来の
コンピュータグラフィックスシステム100ではCPU
106はメインメモリ102に読出し/書込みアクセス
するが、専用グラフィックスメモリ104または専用グ
ラフィックスメモリ105にはアクセスしない。同様
に、画像プロセッサ116は専用画像プロセッサメモリ
105に読出し/書込みアクセスをするが、メインメモ
リ102または専用グラフィックスメモリ104へはア
クセスしない。同様に、グラフィックスプロセッサ11
2は専用グラフィックスメモリ104に対し読出し/書
込みのアクセスをするが、メインメモリ102または専
用グラフィックスプロセッサメモリ105にはアクセス
しない。
ョンでは所望するデータが記憶されているメモリにアク
セスするプロセッサ以外のプロセッサによりメインメモ
リ102または専用のメモリ104,105のうちの1
つに記憶されているデータを演算しなければならない。
1つの特定のメモリユニット内に記憶されているデータ
をその特定メモリにアクセスするプロセッサ以外の指定
プロセッサによって処理すべき時は、指定されたプロセ
ッサがアクセスするメモリにそのデータを転送しなけれ
ばならない。例えばメインメモリ102または専用グラ
フィックスメモリ104に記憶されているデータを画像
プロセッサ116によって処理しなければならない所定
の画像処理アプリケーションがある。画像処理はピクセ
ルの二次元ブロックに適用される関数と定義される。こ
れらピクセルはビデオポート、大容量記憶デバイス、例
えばCD−ROM、固定ディスクサブシステムおよびロ
ーカルまたはワイドエリアネットワークポートを介して
従来のコンピュータシステム100に入力されるビデオ
のファイルシステム画像、フィールドまたはフレームの
フォーマットとすることができる。画像プロセッサ11
6がメインメモリ102または専用グラフィックスメモ
リ104に記憶されたデータにアクセスできるようにす
るためには、データを専用の画像処理メモリ105に転
送またはコピーしなければならない。
ム100の問題の1つとして、高性能の周辺専用メモリ
システム、例えば専用グラフィックスメモリ104およ
び専用画像処理メモリ105のコストが挙げられる。従
来のコンピュータグラフィックスシステム100の別の
問題として、多数のメモリシステムのための高性能の相
互接続のコストが挙げられる。従来のコンピュータグラ
フィックスシステム100のさらに別の問題として、メ
モリユニット間でのデータの上記転送には時間と処理リ
ソースが必要であることが挙げられる。
を転送することなく、コンピュータシステム内の多数の
プロセッサによって1つの統一メモリシステムを共用で
きるようなコンピュータシステムアーキテクチャが求め
られている。
用にダイナミックメモリ割当てを行うコンピュータシス
テムに関する。このコンピュータシステムはメモリと、
統一システムメモリと、メモリクライアントとを備え、
各クライアントはメモリコントローラを介してシステム
メモリにアクセスする。メモリクライアントはグラフィ
ックスレンダリングエンジンと、中央処理ユニット(C
PU)と、画像プロセッサと、データ圧縮/伸長デバイ
スと、入出力デバイスと、グラフィックスバックエンド
デバイスとを含むことができる。好ましい実施の形態で
は、レンダリングエンジンおよびメモリコントローラは
第1の集積回路(第1のIC)に構成され、画像プロセ
ッサおよびデータ圧縮/伸長デバイスは第2のICに構
成される。このコンピュータシステムはメモリクライア
ントの各々のためにメモリコントローラを通して統一シ
ステムメモリに読出し/書込みアクセスを行う。ピクセ
ルバッファの仮想アドレスを統一システムメモリ内の物
理的メモリロケーションにマッピングするための変換ハ
ードウェアが含まれる。ピクセルバッファは物理的に隣
接するメモリのタイルとしてダイナミックに割当てられ
る。ピクセルバッファの仮想アドレスを統一システムメ
モリ内の物理的メモリロケーションにマッピングするた
めの変換ハードウェアは、コンピュータシステム内のメ
モリクライアントとして設けられている計算デバイスの
各々に構成される。
モリは同期式DRAMを用いて構成される。この好まし
い実施の形態においては、タイルは各ピクセルが4バイ
トのピクセルから成る128個のピクセルの128行と
して配置された64キロバイトの物理的に隣接したメモ
リから成る。しかしながら本発明は、他のサイズのタイ
ルを使用することにも適す。好ましい実施の形態ではダ
イナミックに割当てられるピクセルバッファはn個のタ
イルから成る(ここでnは整数である)。
ックスディスプレイおよび画像処理のための機能的利点
を提供するものである。統一システムメモリの他に本発
明のコンピュータシステムには専用のメモリユニットが
ない。従って、CPUまたは他の周辺デバイスによって
発生されたデータを処理することが、周辺プロセッサに
求められた時に、ある専用メモリユニットから他の専用
メモリユニットにデータを転送する必要がなくなる。
る例として本発明が示されており、図中、同じ参照番号
は同様な部品を示す。
発明を完全に理解するために特定の多数の細部を記載し
た。しかしながら、本発明がこれら特定の詳細がなくて
も実施できることは、当業者には明らかとなろう。他の
場合において周知の方法、手順、部品および回路につい
ては、本発明の特徴を容易に理解できるように、詳細に
は記載していない。
図面に示されているグラフックス用にダイナミックなメ
モリ割当てをしたコンピュータシステムアーキテクチャ
について詳細に説明する。好ましい実施の形態と関連さ
せて本発明について説明するが、これら実施の形態は本
発明をこれら実施の形態のみに限定するものではないこ
とが理解できよう。逆に本発明は、代替例、変更例およ
び均等物をカバーするものであり、これらは特許請求の
範囲に記載した本発明の要旨と範囲内に含まれるもので
ある。さらに本発明の次の詳細な説明において本発明を
完全に理解するため、多数の特定の詳細が記載されてい
る。しかしながらこれら特定の詳細がなくても、本発明
を実施できることは当業者には明らかとなろう。他の場
合において本発明の特徴を容易に理解できるよう、周知
の方法、手順、部品および回路については詳細には記載
していない。
コンピュータシステム200が示されている。このコン
ピュータシステム200は統一システムメモリ202を
含み、このメモリはCPU206と、グラフィックスレ
ンダリングエンジン208と、入出力回路210と、グ
ラフィックスバックエンドIC212と、イメージプロ
セッサ(IP)214と、メモリコントローラ(MC)
204とを含む種々のメモリシステムによって共用され
る。
コンピュータシステム201の一例が示されている。こ
のコンピュータシステム201は統一システムメモリ2
02を含み、このメモリはCPU206と、入出力回路
210と、グラフィックスバックエンドIC212と、
画像処理および圧縮伸長(IPCE)IC216と、グ
ラフィックスレンダリングおよびメモリコントローラ
(GRMC)IC218を含む種々のメモリシステムク
ライアントによって共用される。IPCEIC216は
画像プロセッサ(IP)214と、データ圧縮伸長ユニ
ット(C/E)215を含む。GRMCIC218はグ
ラフィックスレンダリングエンジン(レンダリングエン
ジン)208と、この内部に集積化されたメモリコント
ローラ(MC)204を含む。GRMCIC218は広
バンド幅のメモリデータバス(HBWMDバス)225
を介して統一システムメモリ202に結合されている。
本発明の好ましい実施の形態では、HBWMDバス22
5はデマルチプレクサ(SDMUX)220と、GRM
CIC218と、SD−MUX220との間に結合され
た第1バス222と、SD−MUX220と統一システ
ムメモリ202との間に結合された第2バスとを含む。
本発明の好ましい実施の形態は、バス222は133M
Hzでクロック制御される144本のラインを含み、バ
ス224は66MHzのクロックで制御される228本
のラインを含む。SDMUX220は133MHzでク
ロック制御されるバス222の144本のラインを多重
分離し、周波数66MHzの半分でクロック制御される
バス224のラインの数すなわち288を倍にしてい
る。GRMCIC218には第3バス226によりCP
U206が結合されている。本発明の好ましい実施の形
態では、バス226は16ビット幅であり、100MH
zでクロック制御された信号を搬送している。画像処理
および圧縮伸長IC216は第3バス228によりバス
226に結合されている。本発明の好ましい実施の形態
では、バス228は16ビットの幅であり、100MH
zでクロック制御された信号を搬送している。GRMC
IC218には第4バス230によりグラフィックスバ
ックエンドIC212が結合されている。本発明の好ま
しい実施の形態では、バス230は64ビット幅であ
り、133MHzでクロック制御された信号を搬送す
る。GRMCIC218には第5バス232により入出
力IC210が結合されている。本発明の好ましい実施
の形態では、バス232は32ビット搬送であり、13
3MHzでクロック制御された信号を搬送するようにな
っている。
びマウス、インターバルタイマー、シリアル、パラレ
ル、IC、オーディオ、ビデオ入出力、高速イーサネッ
トを含む入出力インターフェースのすべてを含む。入出
力IC210は5つのマスター(2つのSCSIコント
ローラおよび3つの拡張スロット)をサポートする外部
の64ビットPCI拡張バス、すなわちバス231に対
するインターフェースも含む。
施の形態に係るグラフィックスレンダリングおよびメモ
リコントローラIC218の内部回路ブロック図が示さ
れている。先に説明したように、レンダリングエンジン
208およびメモリコントローラ214はグラフィック
スレンダリングおよびメモリコントローラIC218内
に集積化されている。グラフィックスレンダリングおよ
びメモリコントローラIC218はCPU/IPCEイ
ンターフェース234と、入出力インターフェース23
6と、GBEインターフェース232も含む。
ーフェース232は統一システムメモリ202からのデ
ィスプレイデータをバッファ化し、このデータを16×
32バイトのバーストとしてグラフィックスバックエン
ドIC212へ転送する。GBEインターフェース23
2はグラフィックスバックエンドIC212からのビデ
オキャプチャーデータをバッファ化し、これを16×3
2バイトのバーストとして統一システムメモリ202へ
転送する。GBEインターフェース232はCPU/I
PCEインターフェース234へGBEインターラプト
を発生する。図2および図3の双方に示されたバス22
8はGBEインターフェース232をグラフィックスバ
ックエンドIC212(図2)へ結合する。入出力イン
ターフェース236は統一システムメモリ202からの
データをバッファ化し、これを8×32バイトのバース
トとして入出力IC210へ転送する。入出力インター
フェース236は入出力IC210からのデータをバッ
ファ化し、このデータを8×32バイトのバーストとし
て統一システムメモリ202へ転送する。入出力インタ
ーフェース236はCPU/IPCEインターフェース
234へ入出力ICインターラプトを発生する。図2お
よび図3の双方に示されているバス230が入出力イン
ターフェース236を入出力IC210(図2)に結合
する。バス224はCPU/IPCEインターフェース
234とCPU206と画像処理および圧縮伸長IC2
16との間を結合する。
14はメモリシステムクライアント(CPU206と、
レンダリングエンジン208と、入出力IC210と、
グラフィックスバックエンドIC212と、画像プロセ
ッサ214と、データ圧縮/伸長デバイス215)と、
統一システムメモリ202との間のインターフェースと
なっている。先に述べたように、メモリコントローラ2
14は統一システムメモリ202との間で多量のデータ
の高速転送を可能にするHBWMDバス225を介し、
統一システムメモリ202に結合されている。メモリク
ライアントはメモリコントローラ214を介し統一シス
テムメモリ202に読出しおよび書込みリクエストを行
う。メモリコントローラ214はこれらリクエストを適
当な制御シーケンスに変換し、メモリクライアントと統
一システムメモリ202との間でデータを通過させる。
本発明の好ましい実施の形態では、メモリコントローラ
214は2つのパイプライン構造を含む。すなわち1つ
はコマンド用であり、他はデータ用である。リクエスト
パイプは3つのステージ、すなわち仲裁ステージと、デ
コードステージと、発生/ステートマシンステージとを
有する。データパイプは1つのステージ、すなわちEC
Cしか有しない。リクエストおよびデータは次のように
これらパイプを通るようにフローする。クライアントは
それらリクエストをキュー内に挿入する。仲裁ロジック
はクライアントキューの上部にあるリクエストのすべて
を見て、パイプを通ってどのリクエストがスタートする
かを判断する。リクエストは仲裁ステージからデコード
ステージへフローする。デコードステージ中、リクエス
トに関する情報が収集され、発生/ステートマシンステ
ージへ送られる。
208はラスター化を加速できる2Dおよび3Dのグラ
フィックスコプロセッサとなっている。本発明の好まし
い実施の形態では、レンダリングエンジン208も66
MHzでクロック制御され、統一システムメモリ202
に同期した状態で作動する。レンダリングエンジン20
8はCPU206からのレンダリングパラメータを受信
し、統一システムメモリ202に記憶されているフレー
ムバッファに直接レンダリングする(図2)。このレン
ダリングエンジン208はメモリコントローラ214へ
メモリアクセスリクエストを発生する。レンダリングエ
ンジン208は他のメモリクライアントと共に統一シス
テムメモリ202を共用しているので、レンダリングエ
ンジン208の性能は統一システムメモリ202への負
荷に応じて変わる。レンダリングエンジン208は4つ
の主要機能ユニット、すなわちホストインターフェース
と、ピクセルパイプラインと、メモリ転送エンジンと、
メモリリクエストユニットに論理的に区画化されてい
る。ホストインターフェースはホストとプログラミング
インターフェースレジスタとの間の読出しおよび書込み
を制御する。ピクセルパイプラインはラスター化および
パイプラインのフレームバッファへのレンダリングを実
行する。メモリ転送エンジンはリニアバッファおよびフ
レームバッファの双方におけるメモリのバンド幅のバイ
トに整合したクリアおよびコピーを実行する。メモリリ
クエストユニットはピクセルパイプラインからのリクエ
スト間の仲裁を行い、メモリコントローラ214へ発生
すべきメモリリクエストをキューアップする。
ムメモリ202における仮想ピクセルバッファのダイナ
ミックメモリ割当ても行う。ピクセルバッファはフレー
ムバッファと、テキスチャーマップと、ビデオマップ
と、イメージバッファとを含む。各ピクセルバッファは
マルチカラーバッファと、深さバッファと、ステンシル
バッファとを含むことができる。本発明ではピクセルバ
ッファはタイルと称される隣接メモリを単位として割当
てられ、ピクセルバッファのダイナミック割当てを行う
ためにアドレス変換バッファが設けられる。
ピクセルバッファのダイナミック割当てを行うためのタ
イル300の一例が示されている。本発明の好ましい実
施の形態では、各タイル300は64キロバイトの物理
的に隣接するメモリを含む。64キロバイトのタイルサ
イズは32ビットのピクセルに対して128×128個
のピクセルから構成でき、16ビットのピクセルに対し
て256×128個のピクセルから構成でき、8ビット
のピクセルに対して512×128個のピクセルから構
成できる。本発明ではこれらタイルは64キロバイトの
整合したアドレスから始まる。各ピクセルバッファに対
し整数のタイルを割当てることができる。例えば200
×200のピクセルバッファおよび256×256ピク
セルのバッファの双方は、4つの(128×128)ピ
クセルタイルを必要とする。
ピクセルバッファ302の一例が示されている。本発明
のコンピュータシステム200では、変換用ハードウェ
アはピクセルバッファ302の仮想アドレスを統一シス
テムメモリ202内の物理的メモリロケーションにマッ
ピングする。コンピュータシステム200の計算ユニッ
ト(画像処理および圧縮伸長IC212、グラフィック
スバックエンドIC212、入出力IC210およびレ
ンダリングエンジン208)の各々は、ピクセルバッフ
ァ302の仮想アドレスを統一システムメモリ202内
の物理的メモリロケーションにマッピングするための変
換用ハードウェアを含む。各ピクセルバッファ302は
n個のタイル300(ここでnは整数である)に区画化
されている。本発明の好ましい実施の形態はn=4であ
る。
ッファ(x,y)アドレスを物理的メモリアドレスに変
換するために、フレームバッファアドレス変換バッファ
(TLB)をサポートする。このTLBにはカラーバッ
ファおよびフレームバッファのステンシル深さバッファ
を構成するタイルのベース物理的メモリアドレスがCP
U206によってロードされる。本発明の好ましい実施
の形態では、フレームバッファTLBは2048×20
48個のピクセルのカラーバッファおよび2048×2
048個のピクセルのステンシル深さバッファのタイル
ベース物理的メモリアドレスをホールドするのに十分な
エントリーを有する。従って、TLBはカラーバッファ
タイル用の256のエントリーとステンシル深さバッフ
ァタイル用の256のエントリーを有する。
となっている。メモリ全体にタイルを分散できるように
することにより、タイル化によって隣接して割当てるべ
きメモリ量を管理可能になっている。さらにタイル化
は、フレームバッファによって消費されるシステムメモ
リの量を低減する手段となっている。ディスプレイに対
応するピクセルを含まないタイル、すなわち可視化でき
ないタイルへのレンダリングは容易にクリップアウトで
きるので、これらタイルのためにメモリを割当てる必要
はなくなる。例えば、フロントおよびバックRGDAバ
ッファと深さバッファから成る1024×1024の仮
想フレームバッファは、完全に常駐する場合、12Mb
のメモリを使うことになる。しかしながら、各1024
×1024のバッファが64(128×128)のタイ
ルに区画化されており、それらタイルのうちの4つのタ
イルしか非排除ピクセルを有していない場合、可視化タ
イル用メモリのみを割当てればよいことになる。この場
合、3Mbしか消費されないこととなる。
(例えばCPU206と、レンダリングエンジン208
と、入出力IC210と、グラフィックスバックエンド
IC212と、画像プロセッサ214と、データ圧縮/
伸長デバイス215)は、統一システムメモリ202を
共用する。各メモリシステムクライアントは他のメモリ
システムクライアントの各々により共用されるメモリに
アクセスするので、1つの専用メモリユニットから他の
専用メモリユニットへデータを転送する必要はない。例
えば入出力IC210によりデータを受信し、データ圧
縮/伸長デバイス215によりこれをデコンプレス(す
なわち伸長)し、統一システムメモリ202に記憶させ
ることができる。次にこのデータは、CPU206、レ
ンダリングエンジン208、入出力IC210、グラフ
ィックスバックエンドIC212または画像プロセッサ
214によってアクセスできる。第2の例として、CP
U206、レンダリングエンジン208、入出力IC2
10、グラフィックスバックエンドIC212または画
像プロセッサ214は、CPU206、レンダリングエ
ンジン208、入出力IC210、グラフィックスバッ
クエンドIC212または画像プロセッサ214によっ
て発生されたデータを使用できる。計算ユニット(CP
U206と、レンダリングエンジン208と、入出力I
C210と、グラフィックスバックエンドIC212
と、画像処理および圧縮/伸長IC216と、グラフィ
ックスレンダリングおよびメモリコントローラIC21
8と、データ圧縮/伸長デバイス215)の各々は、下
記に説明するようにピクセルバッファの物理的アドレス
を決定するための変換ハードウェアを有する。
来のコンピュータシステムアーキテクチャよりも機能的
な利点を提供する多数のビデオアプリケーションがあ
る。これらアプリケーションは、ビデオ会議からビデオ
編集まで、種々存在する。種々のアプリケーションのた
めに必要な処理の違いは大きいが、すべてのアプリケー
ションではいくつかの処理工程が共通となっている。す
なわちキャプチャー工程、フィルタリング工程、スケー
リング工程、圧縮工程、ブレンディング工程およびディ
スプレイ工程が共通している。コンピュータシステム2
00の作動中、入出力IC210はビデオデータを圧縮
されたストリームにすることができ、このビデオデータ
は統一システムメモリ202に記憶できる。入出力IC
210はグラフィックスレンダリングおよびメモリコン
トローラIC218を通るパスを通して統一システムメ
モリ220に記憶された圧縮データにアクセスできる。
次にこの入出力IC210はアクセスしたデータをデコ
ンプレス(伸長)し、デコンプレスしたデータを統一シ
ステムメモリ202に記憶できる。こうして記憶された
画像データは次に、例えば記憶された画像を別の画像に
マッピングするためのレンダリングエンジン208によ
りテキスチャーマップとして利用できる。次に、こうし
て合成画像は既に統一システムメモリ202にダイナミ
ックに割当てられているピクセルバッファ内に記憶でき
る。この合成画像が統一システムメモリ202にダイナ
ミックに割当てられたフレームバッファ内に記憶された
場合、この合成画像はグラフィックスバックエンドIC
212によりディスプレイすることができるし、またす
でに統一システムメモリ202内にダイナミックに割当
てられた別のピクセルバッファへ画像を書き戻すことに
より、この画像をキャプチャーできる。データをコンピ
ュータシステム200内のある専用メモリユニットから
別の専用メモリユニットへ転送する必要はないので、機
能性が増している。
Hzでクロック制御される256ビットのワイドメモリ
データバスを介してアクセスされる同期式DRAM(S
DRAM)を用いて、図2の統一システムメモリ202
が構成されている。1つのSDRAMはメモリセルの行
および列から成る。1つの行のメモリセルはページと称
され、メモリセルは行アドレスおよび列アドレスによっ
てアクセスされる。1つの行がアクセスされると行全体
がラッチに入れられ、その行にその後のアクセスするに
は列アドレスしか必要としない。同じ行へのアクセスは
ページアクセスと称される。本発明の好ましい実施の形
態では、統一システムメモリ202は2.133Gb/
sのピークデータバンド幅を提供している。さらに本発
明の好ましい実施の形態では、統一システムメモリ20
2は8個のスロットから構成される。各スロットは1つ
のSDRAMのDIMMをホールドでき、1つのSDR
AM DIMMは1M×16または4M×16のSDR
AMコンポーネントから構成され、DIMMのフロント
側のみ、またはフロント側またはバック側に集中され
る。外部SDRAMバンクを構成するのに2つのDIM
Mが必要である。1M×16のSDRAMコンポーネン
トは32メガバイトの外部バンクを構成するが、4M×
16のSDRAMコンポーネントは128メガバイトの
外部バンクを構成する。統一システムメモリ202のサ
イズは、32メガバイトから1ギガバイトの範囲とする
ことができる。
ブロック図を示す。図8は、本発明のメモリコントロー
ラ204のブロック図を示す。
下記の表1および表2にリストされた信号を含む。
ストのためのタイミング図が示されている。メモリクラ
イアントはclientreq.adr、client
req.msg、clientreq.cmd、cli
entreq.eccを適当な値にセットしながらcl
ientreq.validをアサートすることにより
メモリコントローラ204にリクエストを行う。キュー
に余裕がない場合、メモリクライアントキューにリクエ
ストをラッチする。メモリクライアント、レンダリング
エンジン208および入出力IC210のうちの2つし
かclientreq.msgを使用しない。メッセー
ジは入出力IC210またはレンダリングエンジン20
8内のどのサブシステムがリクエストを行ったかを特定
する。エラーが発生した場合にこのメッセージはデバッ
グプロセスにおいて補助用の他の対応する情報と共にセ
ーブされる。このメッセージはレンダリングエンジン2
08に対してはリクエストパイプを通過され、デバッグ
プロセスにおける補助のための他の対応する情報と共に
リターンされる。レンダリングエンジン208に対して
このメッセージはリクエストパイプを通過され、書込み
リクエスト中はclientreq.wrrdy信号と
共にリターンされるか、または読出しリクエスト中はc
lientreq.rdrdy信号と共にリターンされ
る。レンダリングエンジン208は、どのレンダリング
エンジン208のキューにアクセスするかを決定するた
めにメッセージ内に含まれる情報を使用する。
イアント書込みデータのためのタイミング図が示されて
いる。書込みリクエストのためのデータはアドレスおよ
びリクエストと共にラッチされることはない。その代わ
りにリクエストがリクエストパイプのデコードステージ
に達したことを表示するclientreq.wrrd
yをメモリコントローラ204がアサートすると、デー
タ、マスクおよびメッセージがラッチされる。メモリク
ライアントキューはリクエストパイプの前方にあるの
で、アサーションclientreq.gntとcli
entreq.wrrdyとの間の関係は簡単ではな
い。clientreq.msgはレンダリングエンジ
ン208および入出力IC210に対してのみ有効であ
る。メモリコントローラ204はclientreq.
wrrdyのアサーションの少なくとも1サイクル前に
clientreq.oe信号をアサートする。このc
lientreq.oeはメモリクライアントによって
局部的にラッチされ、メモリクライアントのメモリデー
タバスドライバをターンオンするのに使用される。
イアント読出しデータのためのタイミング図が示されて
いる。読出されたデータは、memdata2clie
nt_outバスを通ってメモリクライアントへ送られ
る。clientres.rdrdyがアサートされる
と、データおよびメッセージは有効である。
記の表3および表4にリストされた信号を含む。
mmask_outおよびmemdata2mem_o
utを通って統一システムメモリ202にフローする。
データおよびマスクからはECCおよびECCマスクが
発生され、eccmaskおよびecc_outを通っ
て統一システムメモリ202へ送られる。memdat
aoe信号はメモリバスドライバをターンオンするのに
使用される。統一システムメモリ202からのデータお
よびECCは、バス内のmemdata2client
_inおよびecc_inに至る。ECCは入進データ
が正しいかどうかを判断するのに使用される。データ内
に1ビットのエラーがある場合、このエラーは訂正さ
れ、訂正されたデータはメモリクライアントに送られ
る。2ビット以上のエラーがある場合、CPU206は
インターラプトされ、正しくないデータはメモリクライ
アントへリターンされる。Ras_n、cas_n、w
e_nおよびcs_nは統一システムメモリ202のた
めの制御信号である。
メモリ202によって実行される新しいページへの書込
み例のタイミング図が示されている。図13を参照する
と、ここには統一システムメモリ202によって実行さ
れる新しいページからの読出し例のタイミング図が示さ
れている。同じSDRAMページの読出しまたは書込み
動作は図12および図13に示された動作と同じである
が、同じページ動作はプリチャージおよび起動サイクル
が不要である点が異なっている。
04のための制御センターとなっている。パイプの一端
にメモリクライアントリクエストが入れられ、他方の側
からメモリコマンドとして取出される。メモリクライア
ントキューはパイプの前方にあり、パイプの次に仲裁、
デコードおよび最後に発生/ステートマシンが続く。キ
ュー内に余裕がない場合、メモリクライアントはその内
部にリクエストを入れることができる。仲裁ロジックは
メモリクライアントキューの上部にあるリクエストのす
べてを見て、リクエストパイプを通してどのリクエスト
をスタートさせるかを判断する。リクエストは仲裁ステ
ージからデコードステージへフローする。デコードステ
ージ中、リクエストに関する情報が収集され、発生/ス
テートマシンステージへ送られる。ステートマシンはこ
の情報に基づき統一システムメモリ202のための適当
なシーケンスのコマンドを決定する。発生ステージの後
方部分はステートマシンのステートを制御信号にデコー
ドし、この制御信号はラッチされ、次に統一システムメ
モリ202へ送られる。リクエストは2サイクル以上の
間、発生ステージ内にとどまることができる。リクエス
トが発生/ステートマシンステージにとどまる間、リク
エストパイプの他の部分が停止される。リクエストパイ
プの各ステージについて説明する。
ュを除きキューを有する。リフレッシュリクエストは他
のリクエストが発生される前にリタイアするように保証
されているので、キューは不要である。5つのメモリク
ライアントキューは書込み側にメモリクライアントを有
し、読出し側に仲裁ロジックを有する簡単な2ポート構
造となっている。clientres.gntのアサー
ションによって表示されるメモリクライアントキュー内
で利用できるスペースがある場合、メモリクライアント
はリクエストをそのキュー内に入れることができる。メ
モリクライアントリクエストはアドレスと、コマンド
(読出し、書込みまたは読出し−変更−書込み)と、メ
ッセージと、ECC有効信号と、リクエスト有効表示信
号とから成る。clientres.validおよび
clientres.gntの双方がアサートされる
と、メモリクライアントキュー内にリクエストがラッチ
される。パイプラインが停止していなければ仲裁ロジッ
クはメモリクライアントキューの上部にあるリクエスト
のすべてを見て、どのリクエストをポップオフし、メモ
リクライアントキューの上部にあるリクエストのデコー
ドステージへ送るかを判断し、どのリクエストをポップ
オフしてリクエストパイプのデコードステージへ送るか
を判断する。
リクエストキューがあるので、clientres.g
nt信号はリクエストがリタイアしたことを表示しな
い。リクエストはまだ仲裁プロセスを通過する必要があ
る。リクエストを別の道に入れるために、メモリクライ
アントAはメモリクライアントBの前にclientr
es.gnt信号を受信できるが、メモリクライアント
Bのほうが優先度が高ければ、メモリクライアントAか
らのリクエストよりも前にそのリクエストはリタイアで
きる。
メモリクライアントのリクエストがリクエストパイプの
デコードステージに進むかを判断する。この判断プロセ
スは2つのステップから成る。第1のステップは現在の
メモリクライアントのための仲裁スロットがオーバーし
ているかどうかを判断することである。仲裁スロットは
同じメモリクライアントからの一連のリクエストであ
る。1つの仲裁スロットで認められるリクエストの数お
よびタイプは変わる。下記の表5は仲裁スロット内で各
メモリクライアントが何を行うことができるかをリスト
したものである。
ナーからの次のリクエストに対するステートに基づき、
アービタは仲裁スロットを終了すべきかどうかを判断す
る。終了すべきでない場合、そのときの仲裁スロットを
所有するメモリクライアントからのリクエストをデコー
ドステージへ送る。そのときの仲裁スロットを終了する
場合、アービタは仲裁アルゴリズムからの結果を使用
し、どのリクエストをデコードステージへ送るかを判断
する。仲裁アルゴリズムはグラフィックスバックエンド
IC212が仲裁スロットの2分の1を得て、入出力I
C210が4分の1を得て、画像処理および圧縮伸長I
C216が8分の1を得て、レンダリングエンジン20
8が16分の1を得て、CPU206が32分の1を得
て、リフレッシュが64分の1を得るように保証する。
測することは困難であるが、メモリクライアント当たり
の最悪ケースのスロット周波数が計算可能である。第1
のステップは仲裁スロット中に各メモリクライアントが
使用できる最大サイクル数を判断することである。下記
の表6は、各タイプの動作に関連したサイクル数を示
す。表6を参照すると、Pはプリチャージを示し、Xは
デッドサイクルを示し、Aは起動を示し、R0は読出し
ワード0を示し、W0は書込みワード0を示し、Ref
はリフレッシュを示す。
を示す。
トを計算することができる。すべてのメモリクライアン
トが常時リクエストしている場合、各メモリクライアン
トは64スロットの後にリターンを得る。これをラウン
ドと称す。このラウンドでは、グラフィックスバックエ
ンドは64スロットのうちの32スロットを得て、入出
力IC210は64スロットのうちの16スロットを得
るので、1ラウンドは32*20+8*18+4*12
+2*12+14=1062サイクルかかることにな
る。
のリクエストを受信する。先のリクエストから維持され
たステートおよびそのときのリクエスト内に含まれる情
報に基づき、デコードロジックはどのメモリバンクを選
択するか、次のステージ内の4つのステートマシンのう
ちのどれがリクエストを取り扱うのか、現在のリクエス
トは先のリクエストと同じページにあるのかどうかを判
断する。この情報は発生/ステートマシンステージへ送
られる。
ら構成される。1つのスロットは1つのSDRAM D
IMMをホールドすることができる。1つのSDRAM
DIMMは1M×16または4M×16のSDRAM
コンポーネントから製造され、DIMMのフロント側ま
たはフロント側およびバック側に集中されている。1つ
の外部SDRAMバンクを構成するのに2つのDIMM
が必要である。1M×16のSDRAMコンポーネント
は32メガバイトの外部バンクを構成するが、4M×1
6のSDRAMコンポーネントは128メガバイトの外
部バンクを構成する。統一システムメモリ202のサイ
ズは、32メガバイトから1ギガバイトの範囲とするこ
とができる。
って2つの可能なオープンページを有する。外部バンク
の最大数は8個であり、内部バンクの最大数は16個で
ある。メモリコントローラ204は一度に4つのオープ
ンページしかサポートすることができない。この問題に
ついてはこの章で後に詳細に検討する。
明する。初期化中、ソフトウェアはメモリを調べ、どれ
だけ多くのメモリバンクが存在しているか、各バンクの
サイズを判断する。ソフトウェアはこの情報に基づき、
8バンク制御レジスタをプログラムする。各バンク制御
レジスタ(レジスタの章を参照されたい)は、バンクの
サイズを表示する1ビットと、そのバンクの上部アドレ
スビットを示す5ビットを有する。ソフトウェアは16
メガビットの外部バンクが続く下方アドレスレンジ内に
64メガビットの外部バンクを設けなければならない。
これはメモリ内にギャップが生じるのを防止するためで
ある。デコードロジックは入進するリクエストの上部ア
ドレスビットと8バンク制御レジスタとを比較し、どの
外部バンクを選択するかを決定する。比較されるビット
数はバンクのサイズによって決まる。例えばバンクサイ
ズが64メガビットである場合、デコードロジックはリ
クエストアドレスのビット24:22とバンク制御レジ
スタのビット4:2と比較する。一致していればそのバ
ンクを選択する。各外部バンクは別個のチップセレクト
を有する。入進アドレスが2つ以上のバンク制御レジス
タと一致していれば、最も少ない数のバンクを選択す
る。入進アドレスがバンク制御レジスタのいずれとも一
致しない場合、メモリアドレスのエラーが発生する。エ
ラーが発生するとエラーレジスタ内にリクエストに関す
る情報が捕捉され、メモリコントローラ204のインタ
ーラプトがイネーブルされている場合にはプロセッサは
インターラプトされる。エラーを生じさせたリクエスト
はパイプライン内の次のステージへ送られ、正常なリク
エストのように処理されるが、メモリコントローラ20
4は外部バンクセレクトのすべてをデアサートするの
で、実際にはメモリ動作は行われない。レンダリングエ
ンジン208のメッセージのビット6がセットされる時
の外部バンクセレクトのデアサートが行われる。無効T
LBエントリーを用いてリクエストが発生されると、レ
ンダリングエンジン208はこのビットをセットする。
04はどの物理的外部バンクコンフィギュレーションも
取り扱うことができるが、外部バンク0は常に満たされ
ており、密度が減少するような順序で外部バンクを設置
する(例えばバンク0を64メガビットの外部バンクと
し、バンク2を16メガビットの外部バンクとする)こ
とを推奨する。
の外部バンクをどのように選択するかを説明した。本パ
ラグラフはページクロシングを決定する方法およびパイ
プラインの次のステージでどのバンクステートマシンを
使用するかを説明する。行レジスタと称される1組のレ
ジスタ内に先のリクエストのための内部および外部バン
クビットと共に行アドレスが維持される。各行レジスタ
はバンクステートマシンに対応する。行レジスタは4つ
(したがってバンクステートマシンが4つ)あるので、
デコードロジックは4つまでのオープンページのトラッ
クを維持できる。デコードロジックは新しいリクエスト
の内部/外部バンクビットと、4つの行レジスタとを比
較する。一致していれば、その行レジスタに対応するバ
ンクステートマシンを選択する。新しいリクエストが行
レジスタのいずれにも一致しなければ、行レジスタのう
ちの1つを選択し、新しいリクエスト情報によってレジ
スタを更新する。内部/外部バンクビットが行レジスタ
のうちの1つと一致し、新しいリクエストの行ビットが
そのレジスタ内の行ビットと一致していれば、同じペー
ジにリクエストがあり、そうでない場合は存在しない。
コードロジックは外部バンクセレクト信号、ステートマ
シンセレクト信号および同一ページ情報と共にリクエス
トを発生/ステートマシンステージへ送る。選択された
バンクステートマシンは発生ロジックがバンクステート
マシンのステートをSDRAM DIMMへ送られるコ
マンドにデコードする間、適当なステートを通過するシ
ーケンスを経る。4つのバンクステートマシンの他にリ
フレッシュおよび初期化動作専用のステートマシンが設
けられている。この初期化/リフレッシュステートマシ
ンは4つのバンクステートマシンが強制的にアイドルス
テートとされている間、初期化およびリフレッシュのた
めの特殊ステートを通過するシーケンスを経る。次の章
でバンクステートマシンおよび初期化/リフレッシュス
テートマシンについて説明する。
テートマシンは制御信号、アドレス信号およびデータ信
号へのアクセスの競合のみを受けて別々に作動する。バ
ンクステートマシンはページモード動作に対してデフォ
ルトする。すなわちオートプリチャージコマンドは使用
されず、ノンページモードのランダムレファレンスがあ
る場合には常にSDRAMバンクを明らかにプリチャー
ジしなければならない。デコードステートは適当なステ
ートを通るシーケンスを得る選択されたステートマシン
へページ情報と共にリクエストを送る。所定のステート
ではインターバルタイマーはSDRAMの最小インター
バル条件が満たされるまでステートマシンが次のステー
トに進むことを防止するようなステートにされる。バン
クステートマシンは一度に1つのリクエストで作動す
る。すなわち1つのリクエストは必要なプリチャージお
よび起動フェーズを通過するシーケンスを経て、次に完
了と見なされ、次のリクエストが開始されるポイントで
読出しまたは書込みフェーズを通過するシーケンスを経
る。最後にSDRAM制御信号を発生する信号発生ロジ
ックによって4つのバンクステートマシンのステートが
デコードされる。
DRAMパラメータはいくつかある。これらパラメータ
はベンダーごとに若干変わっているが、ステートマシン
を簡略化するために最も共通するパラメータが選択さ
れ、インターバルタイマーにハードコピーされている。
次の表にリストされたパラメータとコンパチブルでない
SDRAMはサポートされない。
しコマンド、書込みコマンドおよびプリチャージコマン
ド間のインターバルを明瞭に定める付加的タイミングパ
ラメータである。これらパラメータは連続するコマンド
がデータ信号上の競合を生じさせないように保証するも
のである。これらパラメータはステートマシンシーケン
サによって内部で発生できるが、これらパラメータはス
テートマシンを簡略し、SDRAMパラメータと同じタ
イマーパラダイムを使用するように明瞭とされている。
ンク内にあるが、Cは異なる外部バンク内にある。
トマシンのフロー図が示されている。図15に示される
ようにTrp、TrrdおよびTrcdは設計により実
行される。Trc、tras、Tr2rpおよびTr2
wパラメータは4つのバンクステートマシンごとに1つ
のタイマーを有する。Tr2rpおよびTr2wタイマ
ーは共用データライン上での競合を防止するのに使用さ
れるので、4つのバンクステートマシンのすべてに共通
する。
つの機能、すなわち初期化およびリフレッシュ機能を有
する。まず初期化方法について説明し、次にリフレッシ
ュについて説明する。リセット後、初期化/リフレッシ
ュステートマシンはモードセットの前に行われるすべて
のバンクに対するプリチャージであるSDRAM初期化
方法を通過するシーケンスを得る。この発生ステージは
初期化/リフレッシュステートマシンのステートをコマ
ンドにデコードし、これらコマンドは次にSDRAMへ
送られる。モードセット後、コマンドはSDRAMモー
ドセットレジスタを2のCASレイテンシー、1のバー
スト長さおよびシーケンシャル動作タイプにプログラム
する。
リフレッシュサイクルが生じることが必要である。この
条件を満たすためにタイマーを備えたリフレッシュメモ
リクライアントが設けられている。このタイマーはリフ
レッシュメモリクライアントがアービタにリクエストす
るようにさせる信号を27マイクロ秒ごとに送る。アー
ビタは他のメモリクライアントのすべてと同じようにリ
フレッシュを取扱う。リフレッシュスロット用のタイム
となったとアービタが判断すると、アービタはデコード
ステージにリフレッシュリクエストを送る。デコードス
テージは行レジスタのすべてを無効にし、ステートマシ
ン/発生ステージにリクエストを送る。バンクステート
マシンがリフレッシュステートであるとみなすと、バン
クステートはアイドルステートとなる。初期化/リフレ
ッシュステートマシンはすべてのバンクに対するプリチ
ャージであるリフレッシュ動作を通過するシーケンスを
経て、次に2つのリフレッシュサイクルが続く。リフレ
ッシュコマンドはSDRAMを自動リフレッシュモード
にする。デバイス内部のアドレスカウンタはリフレッシ
ュサイクル中にワードおよびバンクアドレスをインクリ
メントする。リフレッシュサイクル後、SDRAMはア
イドルステートとなる。このことは、すべてのページが
クローズされたことを意味する。このことはリフレッシ
ュリクエスト中にはバンクステートマシンをアイドルス
テートとし、行レジスタを無効にすることが重要である
からである。
ンクステートマシンと構造が極めて類似しており、SD
RAMパラメータを実行するためのタイマーを有する。
リフレッシュサイクル間でTrc条件を実行するのにT
rcタイマーが使用され、precharge all
コマンドがアクティブバンクに対するTrasを侵さな
いよう保証するのにバンクTrasタイマーからの出力
が使用される。
は、(1)メモリクライアントと統一システムメモリ2
02との間でデータを移動すること、(2)ECC動作
を実行すること、および(3)読出し−変更−書込み動
作中に、メモリクライアントからの新しいバイトとメモ
リからの古いデータとをマージすること。これら機能の
各々について後述する。
タパイプはリクエストパイプの最終ステージとのロック
ステップにある1つのステージを有する。書込みリクエ
ストがデコードステージに達すると、リクエストパイプ
はclientres.wrrdyをアサートする。こ
のclientres.wrrdy信号はMemdat
a2mem_inバス上のデータがデータパイプのEC
Cステージ内にラッチされたことをメモリクライアント
に表示する。このデータはECCステージ内にホールド
され、リクエストパイプ内でリクエストがリタイアされ
るまで統一システムメモリ202へフローする。
チされ、ECC訂正ロジックを通過し、次にMemda
ta2client_outバスを進む前に再びラッチ
される。リクエストパイプは統一システムメモリ202
が読出し応答データをリターンするのにどれだけのサイ
クルがかかるかを知る。読出された応答データがMem
data2client_outバス上にあると、リク
エストパイプはclientres.rdrdyをアサ
ートする。
ちグラフィックス用にダイナミックにメモリを割当てる
ことを特徴とするコンピュータのシステムアーキテクチ
ャについて説明した。特定の実施の形態を参照して本発
明について説明したが、本発明はかかる実施の形態のみ
によって限定されると見なすものではなく、特許請求の
範囲のみに基づいて解釈すべきである。
ットを含む従来の代表的なコンピュータシステムの回路
ブロック図である。
アーキテクチャの一例を示す回路ブロック図である。
C)およびグラフィックスレンダリングエンジンを含む
グラフィックスレンダリングおよびメモリコントローラ
ICの内部回路ブロック図である。
リコントローラICの内部回路ブロック図である。
割当てを行うためのタイルの一例を示す図である。
ッファ例を示す図である。
図である。
である。
メモリクライアントリクエストのためのタイミングチャ
ートである。
タのためのタイミングチャートである。
タのためのタイミングチャートである。
される新しいページへの書込み例のためのタイミングチ
ャートである。
される新しいページからの読出し例のためのタイミング
チャートである。
クを示す図である。
フローチャートである。
トローラIC 220 デマルチプレクサ(SDMUX) 236 GBEインターフェース 238 CPU/IPCEインターフェース 240 I/Oインターフェース
Claims (12)
- 【請求項1】メモリコントローラと、 前記メモリコントローラに結合されたグラフィックスレ
ンダリングエンジンと、 前記メモリコントローラに結合されたCPUと、 前記メモリコントローラに結合された画像プロセッサ
と、 前記メモリコントローラに結合されたデータ圧縮/伸長
デバイスと、 前記メモリコントローラに結合された入出力デバイス
と、 前記メモリコントローラに結合されたグラフィックスバ
ックエンドデバイスと、 広バンド幅データバスを介して前記メモリコントローラ
に結合されたシステムメモリとを備え、前記システムメ
モリが前記メモリコントローラを介し前記CPU、前記
入出力デバイス、前記グラフィックスバックエンドデバ
イス、前記画像プロセッサ、前記データ圧縮/伸長デバ
イス、前記レンダリングエンジンおよび前記メモリコン
トローラを含むメモリクライアントに対する読出し/書
込みアクセスを行い、前記メモリコントローラが前記メ
モリクライアントと前記システムメモリとのインターフ
ェースとなっており、 さらに、ピクセルバッファの仮想アドレスを前記システ
ムメモリ内の物理的メモリロケーションにマッピングす
るための変換ハードウェアを備え、前記ピクセルバッフ
ァが物理的に隣接するメモリのタイルとして割当てられ
ることを特徴とするコンピュータシステム。 - 【請求項2】前記レンダリングエンジンおよび前記メモ
リコントローラが第1のIC上に形成されているか、ま
たは前記レンダリングエンジンおよび前記メモリコント
ローラが第1IC上に形成されており、前記画像プロセ
ッサおよび前記データ圧縮/伸長デバイスが第2ICに
形成されている、請求項1に記載のコンピュータシステ
ム。 - 【請求項3】第1IC上に形成されたグラフィックスレ
ンダリングエンジンおよびメモリコントローラと、 前記第1ICに結合されたCPUと、 前記第1ICに結合された画像プロセッサと、 前記第1ICに結合されたデータ圧縮/伸長デバイス
と、 前記第1ICに結合された入出力デバイスと、 前記第1ICに結合されたグラフィックスバックエンド
デバイスと、 広バンド幅データバスを介して前記第1ICに結合され
たシステムメモリとを備え、前記システムメモリが前記
第1ICを介し前記CPU、前記入出力デバイス、前記
グラフィックスバックエンドデバイス、前記画像プロセ
ッサ、前記データ圧縮/伸長デバイス、前記レンダリン
グエンジンおよび前記メモリコントローラを含むメモリ
クライアントに対する読出し/書込みアクセスを行い、
前記メモリコントローラが前記メモリクライアントと前
記システムメモリとのインターフェースとなっており、 さらに、ピクセルバッファの仮想アドレスを前記システ
ムメモリ内の物理的メモリロケーションにマッピングす
るための変換ハードウェアを備え、前記ピクセルバッフ
ァが物理的に隣接するメモリのタイルとして割当てられ
ることを特徴とするコンピュータシステム。 - 【請求項4】前記画像プロセッサおよび前記データ圧縮
/伸長デバイスが第2IC上に形成された、請求項3に
記載のコンピュータシステム。 - 【請求項5】前記第1ICが多重分離バスにより前記シ
ステムメモリに結合されており、前記多重分離バスが前
記第1ICに結合され、133MHzのクロックにより
制御される144本のラインを有する第1バスと、前記
システムメモリに結合され、66MHzのクロックで制
御される288本のラインを有する第2バスと、前記第
1バスと前記第2バスとの間を進む信号を多重分離する
ためのデマルチプレクサとを含む、請求項3または4に
記載のコンピュータシステム。 - 【請求項6】CPUと、 入出力デバイスと、 グラフィックスバックエンドユニットと、 内部に集積化された画像プロセッサおよびデータ圧縮伸
長デバイスを含む第1ICと、 内部に集積化されたグラフィックスレンダリングエンジ
ンおよびメモリコントローラデバイスを含む第2IC
と、 前記CPU、前記入出力デバイス、前記グラフィックス
バックエンドデバイスおよび前記画像プロセッサ、前記
データ圧縮/伸長デバイス、前記レンダリングエンジン
および前記メモリコントローラとを含むメモリクライア
ントに対し読出し/書込みアクセスできるようにするシ
ステムメモリとを備え、前記メモリコントローラが前記
メモリクライアントと前記システムメモリとの間のイン
ターフェースとなっており、さらに、 前記システムメモリと前記第2ICとの間でデータを転
送するための広バンド幅データバスと、 ピクセルバッファの仮想アドレスを前記システムメモリ
内の物理的メモリロケーションにマッピングするための
変換ハードウェアとを備え、前記ピクセルバッファが物
理的に隣接したメモリのタイルとしてダイナミックに割
当てられることを特徴とするコンピュータシステム。 - 【請求項7】前記レンダリングエンジンに前記変換ハー
ドウェアが形成されるか、または前記レンダリングエン
ジン、前記メモリコントローラ、前記画像プロセッサ、
前記データ圧縮/伸長ユニット、前記グラフィックスバ
ックエンドICおよび前記入出力ICのそれぞれに前記
変換ハードウェアが形成される、請求項1、3または6
記載のコンピュータシステム。 - 【請求項8】前記システムメモリが、同期式DRAMを
用いて形成されるか、66MHzでクロック制御される
256ビットのワイドなメモリデータバスを介してアク
セスされる同期式DRAM(SDRAM)を用いて形成
される、請求項1、3または6に記載のコンピュータシ
ステム。 - 【請求項9】前記タイルが、128行のピクセルとして
配置された64キロバイトの物理的に隣接するメモリか
ら構成されるか、または各ピクセルが4バイトのピクセ
ルである128行の128個のピクセルとして配置され
た64キロバイトの物理的に隣接するメモリから形成さ
れる、請求項1、3または6に記載のコンピュータシス
テム。 - 【請求項10】前記第2ICが多重分離バスにより前記
システムメモリに結合されており、前記多重分離バスが
前記第2ICに結合され、133MHzのクロックによ
り制御される144本のラインを有する第1バスと、前
記システムメモリに結合され、66MHzのクロックで
制御される288本のラインを有する第2バスと、前記
第1バスと前記第2バスとの間を進む信号を多重分離す
るためのデマルチプレクサとを含む、請求項6に記載の
コンピュータシステム。 - 【請求項11】前記ダイナミックに割当てられるピクセ
ルバッファがn個のタイル(ここでnは整数である)か
ら成る、請求項1、3または6に記載のコンピュータシ
ステム。 - 【請求項12】メモリコントローラと、 統一システムメモリと、 前記メモリコントローラを介して前記システムメモリに
アクセスするメモリクライアントとを有する、ダイナミ
ックにメモリ割当てを行うためのコンピュータシステ
ム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US713779 | 1996-09-13 | ||
| US08/713,779 US6104417A (en) | 1996-09-13 | 1996-09-13 | Unified memory computer architecture with dynamic graphics memory allocation |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH10247138A true JPH10247138A (ja) | 1998-09-14 |
Family
ID=24867506
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9251134A Pending JPH10247138A (ja) | 1996-09-13 | 1997-09-16 | コンピュータシステム |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US6104417A (ja) |
| EP (1) | EP0829820B1 (ja) |
| JP (1) | JPH10247138A (ja) |
| CA (1) | CA2214868C (ja) |
| DE (1) | DE69722117T2 (ja) |
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001117555A (ja) * | 1999-08-05 | 2001-04-27 | Matsushita Electric Ind Co Ltd | 同期dramを使用する画像転置メモリのためのモジューラ構造 |
| JP2002530743A (ja) * | 1998-11-16 | 2002-09-17 | インフィネオン・テクノロジーズ・アーゲー | ページタグレジスタを使用して、メモリデバイス内の物理ページの状態を追跡すること |
| JP2003501679A (ja) * | 1999-05-26 | 2003-01-14 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | デジタルビデオ処理ユニット |
| US7145568B2 (en) | 2000-09-29 | 2006-12-05 | Intel Corporation | Shared translation address caching |
| JP2008033928A (ja) * | 2006-07-31 | 2008-02-14 | Nvidia Corp | Gpuにおけるページマッピングのための専用機構 |
| JP2008090673A (ja) * | 2006-10-03 | 2008-04-17 | Mitsubishi Electric Corp | キャッシュメモリ制御装置 |
| JP2010505172A (ja) * | 2006-09-29 | 2010-02-18 | イマジネイション テクノロジーズ リミテッド | 三次元コンピュータ映像を発生するシステムのためのメモリマネージメントの改良 |
| JP2010044286A (ja) * | 2008-08-15 | 2010-02-25 | Panasonic Corp | 画像処理装置 |
| JP2010140480A (ja) * | 2008-12-12 | 2010-06-24 | Nvidia Corp | Cpuトラフィックを特殊とマークすることによるデッドロックの回避 |
| JP2015176492A (ja) * | 2014-03-17 | 2015-10-05 | 株式会社ソニー・コンピュータエンタテインメント | グラフィックス処理装置およびグラフィックス処理方法 |
| JP2018005226A (ja) * | 2016-07-05 | 2018-01-11 | ユビタス インコーポレイテッドUbitus Inc. | Vramでマルチソースメディアをオーバーレイするシステム及び方法 |
| US10198361B2 (en) | 2012-08-17 | 2019-02-05 | Intel Corporation | Memory sharing via a unified memory architecture |
Families Citing this family (159)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW360823B (en) * | 1996-09-30 | 1999-06-11 | Hitachi Ltd | Data processor and graphic processor |
| US6308248B1 (en) * | 1996-12-31 | 2001-10-23 | Compaq Computer Corporation | Method and system for allocating memory space using mapping controller, page table and frame numbers |
| US9098297B2 (en) * | 1997-05-08 | 2015-08-04 | Nvidia Corporation | Hardware accelerator for an object-oriented programming language |
| US6118462A (en) | 1997-07-01 | 2000-09-12 | Memtrax Llc | Computer system controller having internal memory and external memory control |
| US6266753B1 (en) | 1997-07-10 | 2001-07-24 | Cirrus Logic, Inc. | Memory manager for multi-media apparatus and method therefor |
| US6075546A (en) * | 1997-11-10 | 2000-06-13 | Silicon Grahphics, Inc. | Packetized command interface to graphics processor |
| US6275243B1 (en) * | 1998-04-08 | 2001-08-14 | Nvidia Corporation | Method and apparatus for accelerating the transfer of graphical images |
| US6480205B1 (en) | 1998-07-22 | 2002-11-12 | Nvidia Corporation | Method and apparatus for occlusion culling in graphics systems |
| US6393543B1 (en) * | 1998-11-12 | 2002-05-21 | Acuid Corporation Limited | System and a method for transformation of memory device addresses |
| US6260123B1 (en) * | 1998-12-09 | 2001-07-10 | Advanced Micro Devices, Inc. | Method and system for memory control and access in data processing systems |
| US6546439B1 (en) | 1998-12-09 | 2003-04-08 | Advanced Micro Devices, Inc. | Method and system for improved data access |
| US6226721B1 (en) | 1998-12-09 | 2001-05-01 | Advanced Micro Devices, Inc. | Method and system for generating and utilizing speculative memory access requests in data processing systems |
| US6510497B1 (en) | 1998-12-09 | 2003-01-21 | Advanced Micro Devices, Inc. | Method and system for page-state sensitive memory control and access in data processing systems |
| US6219769B1 (en) | 1998-12-09 | 2001-04-17 | Advanced Micro Devices, Inc. | Method and system for origin-sensitive memory control and access in data processing systems |
| US6381683B1 (en) * | 1998-12-09 | 2002-04-30 | Advanced Micro Devices, Inc. | Method and system for destination-sensitive memory control and access in data processing systems |
| US6563506B1 (en) * | 1998-12-14 | 2003-05-13 | Ati International Srl | Method and apparatus for memory bandwith allocation and control in a video graphics system |
| US6362826B1 (en) * | 1999-01-15 | 2002-03-26 | Intel Corporation | Method and apparatus for implementing dynamic display memory |
| US6189082B1 (en) * | 1999-01-29 | 2001-02-13 | Neomagic Corp. | Burst access of registers at non-consecutive addresses using a mapping control word |
| US6414688B1 (en) * | 1999-01-29 | 2002-07-02 | Micron Technology, Inc. | Programmable graphics memory method |
| US6377268B1 (en) * | 1999-01-29 | 2002-04-23 | Micron Technology, Inc. | Programmable graphics memory apparatus |
| US6288729B1 (en) * | 1999-02-26 | 2001-09-11 | Ati International Srl | Method and apparatus for a graphics controller to extend graphics memory |
| TW457430B (en) * | 1999-03-02 | 2001-10-01 | Via Tech Inc | Memory access control device |
| US6526583B1 (en) | 1999-03-05 | 2003-02-25 | Teralogic, Inc. | Interactive set-top box having a unified memory architecture |
| US6433785B1 (en) * | 1999-04-09 | 2002-08-13 | Intel Corporation | Method and apparatus for improving processor to graphics device throughput |
| US6504549B1 (en) | 1999-05-19 | 2003-01-07 | Ati International Srl | Apparatus to arbitrate among clients requesting memory access in a video system and method thereof |
| US6469703B1 (en) | 1999-07-02 | 2002-10-22 | Ati International Srl | System of accessing data in a graphics system and method thereof |
| US6618048B1 (en) | 1999-10-28 | 2003-09-09 | Nintendo Co., Ltd. | 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components |
| US6717577B1 (en) | 1999-10-28 | 2004-04-06 | Nintendo Co., Ltd. | Vertex cache for 3D computer graphics |
| US6452595B1 (en) | 1999-12-06 | 2002-09-17 | Nvidia Corporation | Integrated graphics processing unit with antialiasing |
| US6198488B1 (en) * | 1999-12-06 | 2001-03-06 | Nvidia | Transform, lighting and rasterization system embodied on a single semiconductor platform |
| US7209140B1 (en) | 1999-12-06 | 2007-04-24 | Nvidia Corporation | System, method and article of manufacture for a programmable vertex processing model with instruction set |
| US6844880B1 (en) | 1999-12-06 | 2005-01-18 | Nvidia Corporation | System, method and computer program product for an improved programmable vertex processing model with instruction set |
| US6643752B1 (en) * | 1999-12-09 | 2003-11-04 | Rambus Inc. | Transceiver with latency alignment circuitry |
| US7017002B2 (en) * | 2000-01-05 | 2006-03-21 | Rambus, Inc. | System featuring a master device, a buffer device and a plurality of integrated circuit memory devices |
| US7363422B2 (en) * | 2000-01-05 | 2008-04-22 | Rambus Inc. | Configurable width buffered module |
| US20050010737A1 (en) * | 2000-01-05 | 2005-01-13 | Fred Ware | Configurable width buffered module having splitter elements |
| US6502161B1 (en) | 2000-01-05 | 2002-12-31 | Rambus Inc. | Memory system including a point-to-point linked memory subsystem |
| US7266634B2 (en) * | 2000-01-05 | 2007-09-04 | Rambus Inc. | Configurable width buffered module having flyby elements |
| US7404032B2 (en) * | 2000-01-05 | 2008-07-22 | Rambus Inc. | Configurable width buffered module having switch elements |
| US7356639B2 (en) * | 2000-01-05 | 2008-04-08 | Rambus Inc. | Configurable width buffered module having a bypass circuit |
| US7119813B1 (en) | 2000-06-02 | 2006-10-10 | Nintendo Co., Ltd. | Variable bit field encoding |
| US7034828B1 (en) | 2000-08-23 | 2006-04-25 | Nintendo Co., Ltd. | Recirculating shade tree blender for a graphics system |
| US7184059B1 (en) | 2000-08-23 | 2007-02-27 | Nintendo Co., Ltd. | Graphics system with copy out conversions between embedded frame buffer and main memory |
| US6825851B1 (en) | 2000-08-23 | 2004-11-30 | Nintendo Co., Ltd. | Method and apparatus for environment-mapped bump-mapping in a graphics system |
| US6937245B1 (en) | 2000-08-23 | 2005-08-30 | Nintendo Co., Ltd. | Graphics system with embedded frame buffer having reconfigurable pixel formats |
| US7196710B1 (en) | 2000-08-23 | 2007-03-27 | Nintendo Co., Ltd. | Method and apparatus for buffering graphics data in a graphics system |
| US6980218B1 (en) | 2000-08-23 | 2005-12-27 | Nintendo Co., Ltd. | Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system |
| US6867781B1 (en) | 2000-08-23 | 2005-03-15 | Nintendo Co., Ltd. | Graphics pipeline token synchronization |
| US7061502B1 (en) | 2000-08-23 | 2006-06-13 | Nintendo Co., Ltd. | Method and apparatus for providing logical combination of N alpha operations within a graphics system |
| US6811489B1 (en) | 2000-08-23 | 2004-11-02 | Nintendo Co., Ltd. | Controller interface for a graphics system |
| US6636214B1 (en) | 2000-08-23 | 2003-10-21 | Nintendo Co., Ltd. | Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode |
| US7538772B1 (en) | 2000-08-23 | 2009-05-26 | Nintendo Co., Ltd. | Graphics processing system with enhanced memory controller |
| US6700586B1 (en) | 2000-08-23 | 2004-03-02 | Nintendo Co., Ltd. | Low cost graphics with stitching processing hardware support for skeletal animation |
| US7576748B2 (en) | 2000-11-28 | 2009-08-18 | Nintendo Co. Ltd. | Graphics system with embedded frame butter having reconfigurable pixel formats |
| US7002591B1 (en) | 2000-08-23 | 2006-02-21 | Nintendo Co., Ltd. | Method and apparatus for interleaved processing of direct and indirect texture coordinates in a graphics system |
| US6707458B1 (en) | 2000-08-23 | 2004-03-16 | Nintendo Co., Ltd. | Method and apparatus for texture tiling in a graphics system |
| JP4042088B2 (ja) * | 2000-08-25 | 2008-02-06 | 株式会社ルネサステクノロジ | メモリアクセス方式 |
| US6885378B1 (en) * | 2000-09-28 | 2005-04-26 | Intel Corporation | Method and apparatus for the implementation of full-scene anti-aliasing supersampling |
| US8692844B1 (en) * | 2000-09-28 | 2014-04-08 | Nvidia Corporation | Method and system for efficient antialiased rendering |
| US6853382B1 (en) | 2000-10-13 | 2005-02-08 | Nvidia Corporation | Controller for a memory system having multiple partitions |
| US6784889B1 (en) * | 2000-12-13 | 2004-08-31 | Micron Technology, Inc. | Memory system and method for improved utilization of read and write bandwidth of a graphics processing system |
| US6753873B2 (en) * | 2001-01-31 | 2004-06-22 | General Electric Company | Shared memory control between detector framing node and processor |
| US6864896B2 (en) * | 2001-05-15 | 2005-03-08 | Rambus Inc. | Scalable unified memory architecture |
| GB2378108B (en) | 2001-07-24 | 2005-08-17 | Imagination Tech Ltd | Three dimensional graphics system |
| EP1296237A1 (en) | 2001-09-25 | 2003-03-26 | Texas Instruments Incorporated | Data transfer controlled by task attributes |
| US6741253B2 (en) * | 2001-10-09 | 2004-05-25 | Micron Technology, Inc. | Embedded memory system and method including data error correction |
| US6906720B2 (en) * | 2002-03-12 | 2005-06-14 | Sun Microsystems, Inc. | Multipurpose memory system for use in a graphics system |
| US7508398B1 (en) | 2002-08-27 | 2009-03-24 | Nvidia Corporation | Transparent antialiased memory access |
| US7085910B2 (en) * | 2003-08-27 | 2006-08-01 | Lsi Logic Corporation | Memory window manager for control structure access |
| US8775997B2 (en) | 2003-09-15 | 2014-07-08 | Nvidia Corporation | System and method for testing and configuring semiconductor functional circuits |
| US8732644B1 (en) | 2003-09-15 | 2014-05-20 | Nvidia Corporation | Micro electro mechanical switch system and method for testing and configuring semiconductor functional circuits |
| US8788996B2 (en) * | 2003-09-15 | 2014-07-22 | Nvidia Corporation | System and method for configuring semiconductor functional circuits |
| 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 |
| US8711161B1 (en) | 2003-12-18 | 2014-04-29 | Nvidia Corporation | Functional component compensation reconfiguration system and method |
| US6999088B1 (en) | 2003-12-23 | 2006-02-14 | Nvidia Corporation | Memory system having multiple subpartitions |
| US7278008B1 (en) | 2004-01-30 | 2007-10-02 | Nvidia Corporation | Virtual address translation system with caching of variable-range translation clusters |
| US7334108B1 (en) * | 2004-01-30 | 2008-02-19 | Nvidia Corporation | Multi-client virtual address translation system with translation units of variable-range size |
| US7296139B1 (en) | 2004-01-30 | 2007-11-13 | Nvidia Corporation | In-memory table structure for virtual address translation system with translation units of variable range size |
| JP3706383B1 (ja) * | 2004-04-15 | 2005-10-12 | 株式会社ソニー・コンピュータエンタテインメント | 描画処理装置および描画処理方法、ならびに情報処理装置および情報処理方法 |
| CN1914915A (zh) * | 2004-04-23 | 2007-02-14 | 住友电气工业株式会社 | 活动图像数据的编码方法、解码方法及实施这些方法的终端装置、以及双向对话型系统 |
| US20050237329A1 (en) * | 2004-04-27 | 2005-10-27 | Nvidia Corporation | GPU rendering to system memory |
| US20050246502A1 (en) * | 2004-04-28 | 2005-11-03 | Texas Instruments Incorporated | Dynamic memory mapping |
| US7227548B2 (en) * | 2004-05-07 | 2007-06-05 | Valve Corporation | Method and system for determining illumination of models using an ambient cube |
| US7221369B1 (en) | 2004-07-29 | 2007-05-22 | Nvidia Corporation | Apparatus, system, and method for delivering data to multiple memory clients via a unitary buffer |
| US7277098B2 (en) * | 2004-08-23 | 2007-10-02 | Via Technologies, Inc. | Apparatus and method of an improved stencil shadow volume operation |
| US8723231B1 (en) | 2004-09-15 | 2014-05-13 | Nvidia Corporation | Semiconductor die micro electro-mechanical switch management system and method |
| US8711156B1 (en) | 2004-09-30 | 2014-04-29 | Nvidia Corporation | Method and system for remapping processing elements in a pipeline of a graphics processing unit |
| KR20060044124A (ko) * | 2004-11-11 | 2006-05-16 | 삼성전자주식회사 | 3차원 그래픽 가속을 위한 그래픽 시스템 및 메모리 장치 |
| US7126615B2 (en) * | 2004-11-12 | 2006-10-24 | Via Technologies, Inc. | Color compression using multiple planes in a multi-sample anti-aliasing scheme |
| US20060177122A1 (en) * | 2005-02-07 | 2006-08-10 | Sony Computer Entertainment Inc. | Method and apparatus for particle manipulation using graphics processing |
| US8427496B1 (en) | 2005-05-13 | 2013-04-23 | Nvidia Corporation | Method and system for implementing compression across a graphics bus interconnect |
| US20060282604A1 (en) * | 2005-05-27 | 2006-12-14 | Ati Technologies, Inc. | Methods and apparatus for processing graphics data using multiple processing circuits |
| US7493520B2 (en) * | 2005-06-07 | 2009-02-17 | Microsoft Corporation | System and method for validating the graphical output of an updated software module |
| US11328764B2 (en) | 2005-09-26 | 2022-05-10 | Rambus Inc. | Memory system topologies including a memory die stack |
| US7562271B2 (en) | 2005-09-26 | 2009-07-14 | Rambus Inc. | Memory system topologies including a buffer device and an integrated circuit memory device |
| US7464225B2 (en) * | 2005-09-26 | 2008-12-09 | Rambus Inc. | Memory module including a plurality of integrated circuit memory devices and a plurality of buffer devices in a matrix topology |
| US8212832B2 (en) | 2005-12-08 | 2012-07-03 | Ati Technologies Ulc | Method and apparatus with dynamic graphics surface memory allocation |
| US8698811B1 (en) | 2005-12-15 | 2014-04-15 | Nvidia Corporation | Nested boustrophedonic patterns for rasterization |
| US9117309B1 (en) | 2005-12-19 | 2015-08-25 | Nvidia Corporation | Method and system for rendering polygons with a bounding box in a graphics processor unit |
| US7791617B2 (en) * | 2005-12-19 | 2010-09-07 | Nvidia Corporation | Method and system for rendering polygons having abutting edges |
| US8390645B1 (en) | 2005-12-19 | 2013-03-05 | Nvidia Corporation | Method and system for rendering connecting antialiased line segments |
| US8218091B2 (en) * | 2006-04-18 | 2012-07-10 | Marvell World Trade Ltd. | Shared memory multi video channel display apparatus and methods |
| US8284322B2 (en) | 2006-04-18 | 2012-10-09 | Marvell World Trade Ltd. | Shared memory multi video channel display apparatus and methods |
| US8264610B2 (en) | 2006-04-18 | 2012-09-11 | Marvell World Trade Ltd. | Shared memory multi video channel display apparatus and methods |
| US8928676B2 (en) * | 2006-06-23 | 2015-01-06 | Nvidia Corporation | Method for parallel fine rasterization in a raster stage of a graphics pipeline |
| US8477134B1 (en) | 2006-06-30 | 2013-07-02 | Nvidia Corporation | Conservative triage of polygon status using low precision edge evaluation and high precision edge evaluation |
| US8154554B1 (en) * | 2006-07-28 | 2012-04-10 | Nvidia Corporation | Unified assembly instruction set for graphics processing |
| US7986327B1 (en) * | 2006-10-23 | 2011-07-26 | Nvidia Corporation | Systems for efficient retrieval from tiled memory surface to linear memory display |
| US7805587B1 (en) | 2006-11-01 | 2010-09-28 | Nvidia Corporation | Memory addressing controlled by PTE fields |
| US8427487B1 (en) | 2006-11-02 | 2013-04-23 | Nvidia Corporation | Multiple tile output using interface compression in a raster stage |
| US8271746B1 (en) * | 2006-11-03 | 2012-09-18 | Nvidia Corporation | Tiering of linear clients |
| US8482567B1 (en) | 2006-11-03 | 2013-07-09 | Nvidia Corporation | Line rasterization techniques |
| US8120613B2 (en) * | 2006-11-29 | 2012-02-21 | Siemens Medical Solutions Usa, Inc. | Method and apparatus for real-time digital image acquisition, storage, and retrieval |
| EP2071468A4 (en) * | 2006-12-25 | 2010-11-03 | Panasonic Corp | MEMORY CONTROL DEVICE, MEMORY DEVICE AND MEMORY CONTROL METHOD |
| KR100867640B1 (ko) * | 2007-02-06 | 2008-11-10 | 삼성전자주식회사 | 다중 접근 경로를 가지는 이미지 프로세싱 메모리를포함하는 시스템 온 칩 |
| US8724483B2 (en) * | 2007-10-22 | 2014-05-13 | Nvidia Corporation | Loopback configuration for bi-directional interfaces |
| US8063903B2 (en) * | 2007-11-09 | 2011-11-22 | Nvidia Corporation | Edge evaluation techniques for graphics hardware |
| US9064333B2 (en) | 2007-12-17 | 2015-06-23 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
| US8780123B2 (en) | 2007-12-17 | 2014-07-15 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
| US9665951B2 (en) | 2007-12-20 | 2017-05-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Unified compression/decompression graphics architecture |
| US8255783B2 (en) * | 2008-04-23 | 2012-08-28 | International Business Machines Corporation | Apparatus, system and method for providing error protection for data-masking bits |
| US8923385B2 (en) | 2008-05-01 | 2014-12-30 | Nvidia Corporation | Rewind-enabled hardware encoder |
| US8681861B2 (en) | 2008-05-01 | 2014-03-25 | Nvidia Corporation | Multistandard hardware video encoder |
| 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 |
| GB0823254D0 (en) | 2008-12-19 | 2009-01-28 | Imagination Tech Ltd | Multi level display control list in tile based 3D computer graphics system |
| GB0823468D0 (en) | 2008-12-23 | 2009-01-28 | Imagination Tech Ltd | Display list control stream grouping in tile based 3D computer graphics systems |
| JP2011066543A (ja) * | 2009-09-15 | 2011-03-31 | Olympus Corp | メモリアクセス制御装置及びメモリアクセス制御方法 |
| US20110063304A1 (en) * | 2009-09-16 | 2011-03-17 | Nvidia Corporation | Co-processing synchronizing techniques on heterogeneous graphics processing units |
| US10175990B2 (en) * | 2009-12-22 | 2019-01-08 | Intel Corporation | Gathering and scattering multiple data elements |
| US9530189B2 (en) | 2009-12-31 | 2016-12-27 | Nvidia Corporation | Alternate reduction ratios and threshold mechanisms for framebuffer compression |
| US9331869B2 (en) | 2010-03-04 | 2016-05-03 | Nvidia Corporation | Input/output request packet handling techniques by a device specific kernel mode driver |
| US8495464B2 (en) * | 2010-06-28 | 2013-07-23 | Intel Corporation | Reliability support in memory systems without error correcting code support |
| US9171350B2 (en) | 2010-10-28 | 2015-10-27 | Nvidia Corporation | Adaptive resolution DGPU rendering to provide constant framerate with free IGPU scale up |
| US8836727B2 (en) * | 2010-12-22 | 2014-09-16 | Apple Inc. | System level graphics manipulations on protected content |
| US9477597B2 (en) | 2011-03-25 | 2016-10-25 | Nvidia Corporation | Techniques for different memory depths on different partitions |
| US8701057B2 (en) | 2011-04-11 | 2014-04-15 | Nvidia Corporation | Design, layout, and manufacturing techniques for multivariant integrated circuits |
| US9529712B2 (en) | 2011-07-26 | 2016-12-27 | Nvidia Corporation | Techniques for balancing accesses to memory having different memory types |
| US9886312B2 (en) | 2011-09-28 | 2018-02-06 | Microsoft Technology Licensing, Llc | Dynamic provisioning of virtual video memory based on virtual video controller configuration |
| JP2013242694A (ja) * | 2012-05-21 | 2013-12-05 | Renesas Mobile Corp | 半導体装置、電子装置、電子システム及び電子装置の制御方法 |
| KR20140060141A (ko) * | 2012-11-09 | 2014-05-19 | 삼성전자주식회사 | 디스플레이 장치 및 그 제어 방법 |
| US9047198B2 (en) | 2012-11-29 | 2015-06-02 | Apple Inc. | Prefetching across page boundaries in hierarchically cached processors |
| US9607407B2 (en) | 2012-12-31 | 2017-03-28 | Nvidia Corporation | Variable-width differential memory compression |
| US9591309B2 (en) | 2012-12-31 | 2017-03-07 | Nvidia Corporation | Progressive lossy memory compression |
| US9235905B2 (en) | 2013-03-13 | 2016-01-12 | Ologn Technologies Ag | Efficient screen image transfer |
| US9070200B2 (en) | 2013-05-02 | 2015-06-30 | Arm Limited | Graphics processing systems |
| US9607356B2 (en) | 2013-05-02 | 2017-03-28 | Arm Limited | Graphics processing systems |
| US9741089B2 (en) | 2013-05-02 | 2017-08-22 | Arm Limited | Graphics processing systems |
| US9767595B2 (en) | 2013-05-02 | 2017-09-19 | Arm Limited | Graphics processing systems |
| US9710894B2 (en) | 2013-06-04 | 2017-07-18 | Nvidia Corporation | System and method for enhanced multi-sample anti-aliasing |
| US9098924B2 (en) * | 2013-07-15 | 2015-08-04 | Nvidia Corporation | Techniques for optimizing stencil buffers |
| US9514563B2 (en) | 2013-08-30 | 2016-12-06 | Arm Limited | Graphics processing systems |
| JP6313632B2 (ja) * | 2014-03-31 | 2018-04-18 | キヤノン株式会社 | 画像処理装置 |
| US9832388B2 (en) | 2014-08-04 | 2017-11-28 | Nvidia Corporation | Deinterleaving interleaved high dynamic range image by using YUV interpolation |
| KR102491622B1 (ko) | 2015-11-17 | 2023-01-25 | 삼성전자주식회사 | 가상 어드레스 생성기의 동작 방법과 이를 포함하는 시스템의 동작 방법 |
| GB2546810B (en) * | 2016-02-01 | 2019-10-16 | Imagination Tech Ltd | Sparse rendering |
| US10438569B2 (en) * | 2017-04-17 | 2019-10-08 | Intel Corporation | Consolidation of data compression using common sectored cache for graphics streams |
| US11321804B1 (en) * | 2020-10-15 | 2022-05-03 | Qualcomm Incorporated | Techniques for flexible rendering operations |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0814803B2 (ja) * | 1986-05-23 | 1996-02-14 | 株式会社日立製作所 | アドレス変換方式 |
| ATE115749T1 (de) * | 1987-07-31 | 1994-12-15 | Qms Inc | Seitendrucksystem mit virtuellem speicher. |
| US5640543A (en) * | 1992-06-19 | 1997-06-17 | Intel Corporation | Scalable multimedia platform architecture |
| WO1994016391A1 (en) * | 1992-12-31 | 1994-07-21 | Intel Corporation | Bus to bus interface with address translation |
| US5450542A (en) * | 1993-11-30 | 1995-09-12 | Vlsi Technology, Inc. | Bus interface with graphics and system paths for an integrated memory system |
-
1996
- 1996-09-13 US US08/713,779 patent/US6104417A/en not_active Expired - Lifetime
-
1997
- 1997-09-05 EP EP97306897A patent/EP0829820B1/en not_active Expired - Lifetime
- 1997-09-05 DE DE69722117T patent/DE69722117T2/de not_active Expired - Lifetime
- 1997-09-09 CA CA002214868A patent/CA2214868C/en not_active Expired - Fee Related
- 1997-09-16 JP JP9251134A patent/JPH10247138A/ja active Pending
-
1998
- 1998-08-20 US US09/137,067 patent/US20010019331A1/en not_active Abandoned
Cited By (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002530743A (ja) * | 1998-11-16 | 2002-09-17 | インフィネオン・テクノロジーズ・アーゲー | ページタグレジスタを使用して、メモリデバイス内の物理ページの状態を追跡すること |
| JP2003501679A (ja) * | 1999-05-26 | 2003-01-14 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | デジタルビデオ処理ユニット |
| JP2001117555A (ja) * | 1999-08-05 | 2001-04-27 | Matsushita Electric Ind Co Ltd | 同期dramを使用する画像転置メモリのためのモジューラ構造 |
| US7145568B2 (en) | 2000-09-29 | 2006-12-05 | Intel Corporation | Shared translation address caching |
| JP2008033928A (ja) * | 2006-07-31 | 2008-02-14 | Nvidia Corp | Gpuにおけるページマッピングのための専用機構 |
| JP2010505172A (ja) * | 2006-09-29 | 2010-02-18 | イマジネイション テクノロジーズ リミテッド | 三次元コンピュータ映像を発生するシステムのためのメモリマネージメントの改良 |
| JP2008090673A (ja) * | 2006-10-03 | 2008-04-17 | Mitsubishi Electric Corp | キャッシュメモリ制御装置 |
| JP2010044286A (ja) * | 2008-08-15 | 2010-02-25 | Panasonic Corp | 画像処理装置 |
| JP2010140480A (ja) * | 2008-12-12 | 2010-06-24 | Nvidia Corp | Cpuトラフィックを特殊とマークすることによるデッドロックの回避 |
| US8392667B2 (en) | 2008-12-12 | 2013-03-05 | Nvidia Corporation | Deadlock avoidance by marking CPU traffic as special |
| US10198361B2 (en) | 2012-08-17 | 2019-02-05 | Intel Corporation | Memory sharing via a unified memory architecture |
| US10929304B2 (en) | 2012-08-17 | 2021-02-23 | Intel Corporation | Memory sharing via a unified memory architecture |
| US11531623B2 (en) | 2012-08-17 | 2022-12-20 | Intel Corporation | Memory sharing via a unified memory architecture |
| JP2015176492A (ja) * | 2014-03-17 | 2015-10-05 | 株式会社ソニー・コンピュータエンタテインメント | グラフィックス処理装置およびグラフィックス処理方法 |
| JP2018005226A (ja) * | 2016-07-05 | 2018-01-11 | ユビタス インコーポレイテッドUbitus Inc. | Vramでマルチソースメディアをオーバーレイするシステム及び方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US6104417A (en) | 2000-08-15 |
| CA2214868A1 (en) | 1998-03-13 |
| EP0829820B1 (en) | 2003-05-21 |
| MX9706495A (es) | 1998-06-30 |
| US20010019331A1 (en) | 2001-09-06 |
| CA2214868C (en) | 2006-06-06 |
| DE69722117D1 (de) | 2003-07-03 |
| EP0829820A3 (en) | 1998-11-18 |
| DE69722117T2 (de) | 2004-02-05 |
| EP0829820A2 (en) | 1998-03-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH10247138A (ja) | コンピュータシステム | |
| US6745309B2 (en) | Pipelined memory controller | |
| US6721864B2 (en) | Programmable memory controller | |
| US6622228B2 (en) | System and method of processing memory requests in a pipelined memory controller | |
| US7707328B2 (en) | Memory access control circuit | |
| JP2003216482A (ja) | バーストアクセス制御装置および制御方法 | |
| US5636361A (en) | Multi-processor computer system having dual memory subsytems for enabling concurrent memory access thereto by more than one processor | |
| JP2005501300A (ja) | 仮想メモリ配列内のデータにアクセスするための配列および方法 | |
| JP2003114825A (ja) | メモリ制御方法、その制御方法を用いたメモリ制御回路、及びそのメモリ制御回路を搭載する集積回路 | |
| JP2003281079A (ja) | ページ・テーブル属性によるバス・インタフェース選択 | |
| US8108596B2 (en) | Memory controller address mapping scheme | |
| JP3803196B2 (ja) | 情報処理装置、情報処理方法および記録媒体 | |
| JP3153078B2 (ja) | データ処理装置 | |
| JP2003271445A (ja) | メモリ制御装置及び方法 | |
| JP2007018222A (ja) | メモリアクセス制御回路 | |
| JP2823038B2 (ja) | 論理ダイレクトメモリアクセス方式 | |
| JPH03656B2 (ja) | ||
| US20080077750A1 (en) | Memory block fill utilizing memory controller | |
| JP3226557B2 (ja) | マルチプロセッサシステム | |
| JPH0731439Y2 (ja) | スタティック・カラムdramアクセス装置 | |
| MXPA97006495A (en) | An unified memory architecture with dynamic allocation of grafi memory | |
| JP2000172553A (ja) | データ処理装置 | |
| JP2570271B2 (ja) | 半導体メモリ制御装置 | |
| JP3537786B2 (ja) | データ処理システム | |
| JP2001290790A (ja) | ディスク制御装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040907 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070305 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070309 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20070522 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070611 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070522 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070717 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070910 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071002 |