(57)【特許請求の範囲】
【請求項１】
少なくとも１つのフレーム・バッファ・メモリにマップされたピクセル・データをターゲットとするピクセル・アクセス・トランザクションを受け取るように結合されたフレーム・バッファ・メモリ制御装置であって、前のピクセル・アクセス・トランザクションに基づいてフレーム・バッファ・メモリのキャッシュ状態を判定する回路と、キャッシュ転送オペレーションをスケジューリングして、ピクセル・アクセス・トランザクションをフレーム・バッファ・メモリへディスパッチする前にキャッシュ転送オペレーションをフレーム・バッファ・メモリへディスパッチしておく回路とを有することを特徴とするフレーム・バッファ・メモリ装置制御装置。
【請求項２】
少なくとも１つのフレーム・バッファ・メモリにマップされたピクセル・データをターゲットとするピクセル・アクセス・トランザクションを受け取るように結合されたフレーム・バッファ・メモリ制御装置であって、一連のピクセル・アクセス・トランザクションを調べる回路と、一連のピクセル・アクセストランザクションに適応するようにフレーム・バッファ・メモリ中の一連のキャッシュ転送オペレーションをスケジューリングする回路と、フレーム・バッファ・メモリへのキャッシュ転送オペレーションが、フレーム・バッファ・メモリへのピクセル・アクセス・トランザクションのシーケンスの停止を妨げるように、キャッシュ転送オペレーションをピクセル・アクセス・トランザクションよりも前にディスパッチする回路とを有することを特徴とするフレーム・バッファ・メモリ装置制御装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、コンピュータ・グラフィック・システムの分野に関する。詳細には、本発明は、加速グラフィックス・レンダリング・オペレーション用のｗｒｉｔｅ  ｍｏｓｔｌｙアーキテクチャを提供するフレーム・バッファ・メモリ装置用のインタフェース制御装置に関する。
【０００２】
【従来の技術】
従来型のコンピュータ・グラフィックス・システムは通常、ビデオ・ランダム・アクセス・メモリ（ＶＲＡＭ）チップから成るフレーム・バッファを使用する。ＶＲＡＭチップは、表示装置上で表示すべきイメージを定義する１組のピクセル・データを記憶する。通常、そのようなシステム中のレンダリング制御装置は、イメージをレンダリングし、ピクセル・データをＶＲＡＭチップに書き込む。そのようなシステムでは、ランダム・アクセス・メモリ・ディジタル・アナログ変換装置（ＲＡＭＤＡＣ）は通常、ＶＲＡＭチップのピクセル・データにアクセスし、カラー・ルックアップ・テーブル機能およびディジタル・アナログ変換機能をピクセル・データに対して実行する。
【０００３】
従来型のＶＲＡＭチップは通常、動的ランダム・アクセス・メモリ（ＤＲＡＭ）をランダム・アクセス・ポートおよび直列アクセス・ポートと共に含む。通常、ＲＡＭＤＡＣは、直列アクセス・ポートを介してＶＲＡＭチップのＤＲＡＭアレイにアクセスし、レンダリング制御装置は、ＤＲＡＭページ・モード・アクセスに従ってランダム・アクセス・ポートを介してＤＲＡＭアレイにアクセスする。残念なことに、そのような従来型のＶＲＡＭチップのＤＲＡＭページ・モード機構では、レンダリング制御装置が、ラスタ走査の２行ないし３行よりも多くの行を横切りながら線を描画する場合、ピクセル・アクセス速度が大幅に減少する。さらに、一般にレンダリング・オペレーション時に使用されるリード・モディファイ・ライト・オペレーションは、そのような従来型のＶＲＡＭチップに対する書込みオペレーションよりもはるかに低速である。
【０００４】
コンピュータ・グラフィックス・システムは、フレーム・バッファ・ランダム・アクセス・メモリ（ＦＢＲＡＭ）チップから成るフレーム・バッファを使用する。そのようなＦＢＲＡＭチップは、表示装置上で表示すべきイメージを定義する１組のピクセル・データを記憶するＤＲＡＭコア領域を含む。通常、そのようなグラフィック・システム中のレンダリング制御装置は、イメージをレンダリングし、対応するピクセル・データをＦＢＲＡＭチップに書き込む。
【０００５】
そのようなＦＢＲＡＭチップは、２レベルの二次元領域キャッシュを用意することによって、ＤＲＡＭコアへのスループットを増大させる。たとえば、そのようなＦＢＲＡＭチップは、ＤＲＡＭコアの事前に選択された領域を反映するレベル１（Ｌ１）ピクセル・キャッシュを用意する。そのようなＦＢＲＡＭチップは、ＦＢＲＡＭチップのＤＲＡＭコアに密結合されたレベル２（Ｌ２）キャッシュも用意する。そのようなＦＢＲＡＭチップは、通常のリード・モディファイ・ライト・フレーム・バッファ・アクセス・サイクルをＦＢＲＡＭデバイスの入力ピンでｗｒｉｔｅ  ｍｏｓｔｌｙトランザクションに変換することによって、改良されたレンダリングを行う。
【０００６】
【発明が解決しようとする課題】
しかし、ＦＢＲＡＭチップを有するそのようなフレーム・バッファへのレンダリング・スループットは、結果的にＬ１キャッシュまたはＬ２キャッシュ、あるいはその両方に対するキャッシュ・ミスとなるピクセル・アクセスでは低減する。Ｌ１キャッシュまたはＬ２キャッシュに存在しないＤＲＡＭコアの領域をターゲットとするそのようなシステムでのピクセル・アクセスでは、欠落キャッシュ・ブロックがＤＲＡＭコアから取り出される間、ピクセル・オペレーションを停止させる必要がある。欠落キャッシュ・ブロックを取り出すためのＦＢＲＡＭチップ中のそのようなオペレーションは、ＦＢＲＡＭチップへのレンダリング・パイプライン入力を停止させ、全体的なレンダリング速度を低下させる。
【０００７】
【課題を解決するための手段】
ピクセル・アクセス・オペレーションがディスパッチされたとき、そのピクセル・アクセス・オペレーションで必要なピクセル・データがフレーム・バッファ・メモリ装置のレベル１キャッシュに存在するように、フレーム・バッファ・メモリ装置に対するオペレーションをスケジューリングし、かつそのオペレーションを前記メモリ装置にディスパッチする、フレーム・バッファ・メモリ装置制御装置を開示する。フレーム・バッファ・メモリ装置制御装置は、ダーティ・キャッシュ・ラインを書き直すオペレーションと、フレーム・バッファ・メモリ装置中のキャッシュ・ラインをクリアするオペレーションによって生じるタイミング・オーバヘッドを低減するキャッシュ制御オペレーションを作成し、スケジューリングし、ディスパッチする。フレーム・バッファ・メモリ装置制御装置は、フレーム・バッファ・メモリ装置のビデオ出力ポートからのビデオ・リフレッシュ・オペレーションによって生じるタイミング・オーバヘッドを低減させる制御オペレーションも作成し、スケジューリングし、ディスパッチする。
【０００８】
フレーム・バッファ・メモリ装置制御装置は、フレーム・バッファ・メモリ装置に記憶されているピクセル・データをターゲットとするピクセル・アクセス・トランザクションを受け取るように結合される。一実施例では、フレーム・バッファ・メモリ装置制御装置は、アロケータ回路と、スケジューラ回路と、アービタ回路とを含む。アロケータ回路は、前のピクセル・アクセス・トランザクションに基づいてフレーム・バッファ・メモリ装置のキャッシュ状態を判定し、必要なキャッシュ制御オペレーションを判定する。スケジューラ回路は、ピクセル・アクセス・オペレーションおよびキャッシュ制御オペレーションをバッファし、適当なキャッシュ制御オペレーションを対応するピクセル・アクセス・トランザクションよりも前へプッシュする。アービタ回路は、キャッシュ制御オペレーションとビデオ要求オペレーションの調停をはかり、フレーム・バッファ・メモリ装置の現状態に応じてキャッシュ制御オペレーションをディスパッチする。アービタ回路は、フレーム・バッファ・メモリ装置の現状態に応じてピクセル・アクセス・トランザクションをディスパッチする。
【０００９】
【実施例】
図１は、グラフィック・サブシステム８６を示す。グラフィック・サブシステム８６は、１組のＦＢＲＡＭチップ７１ないし８２と、レンダリング・プロセッサ７０と、フレーム・バッファ・メモリ装置制御装置８３と、ビデオ出力回路８４とを備える。
【００１０】
各ＦＢＲＡＭチップ７１ないし８２は、内部ＡＬＵと、レンダリング・プロセッサ７０からＦＢＲＡＭへの「ｗｒｉｔｅ−ｍｏｓｔｌｙ」インタフェースを提供するパイプライニング回路とを含む。ＦＢＲＡＭチップ７１ないし８２のｗｒｉｔｅ  ｍｏｓｔｌｙアーキテクチャは、レンダリング・プロセッサ７０によるレンダリング・オペレーション中の平均メモリ・サイクル時間を最小限に抑える。
【００１１】
一実施例では、各ＦＢＲＡＭチップ７１ないし８２は、３２０ｘ１０２４ｘ３２ビットの深さのフレーム・バッファをサポートする１０メガビットＤＲＡＭアレイを含む。各ＦＢＲＡＭチップ７１ないし８２中のＤＲＡＭアレイは、インタリーブされた４つの独立ＤＲＡＭバンクを備える。
【００１２】
各ＦＢＲＡＭチップ７１ないし８２は、ピクセルＡＬＵと静的ランダム・アクセス・メモリ（ＳＲＡＭ）ピクセル・バッファも含む。各ＦＢＲＡＭチップ７１ないし８２中のＳＲＡＭピクセル・バッファは、レンダリング・プロセッサ７０がアクセスすべきピクセル・キャッシュとして機能する。
【００１３】
各ＦＢＲＡＭチップ７１ないし８２は、４つのＤＲＡＭバンクとＳＲＡＭピクセル・バッファの間の高帯域幅通信を可能にするグローバル・バスを含む。各ＦＢＲＡＭチップ７１ないし８２は、表示装置のためのＣＲＴリフレッシュ・オペレーションを実行する一対のビデオ・バッファも含む。
【００１４】
各ＦＢＲＡＭチップ７１ないし８２中のピクセルＡＬＵは、１組の４つのラスタ演算装置を含む。各ラスタ演算装置は、対応するＳＲＡＭピクセル・バッファに送るピクセル・データの各個別のバイトに対する選択可能なラスタ演算を実行する。各ＦＢＲＡＭチップ７１ないし８２中のピクセルＡＬＵは、１組の４つのピクセル・ブレンド装置を含む。各ピクセル・ブレンド装置は、ピクセルＡＬＵに関する一連のパイプライン処理段に従って、１バイトの古い内部ピクセル値と、レンダリング・プロセッサ７０から受け取った１バイトの新しいピクセル値および関連情報を組み合わせる。
【００１５】
各ＦＢＲＡＭチップ７１ないし８２は、ＤＲＡＭアレイ、ＳＲＡＭピクセル・バッファ、ピクセルＡＬＵ、および内部の１組のビデオ・バッファを使用する並行演算を可能にする回路を含む。各ＦＢＲＡＭチップ７１ないし８２は、レンダリング・プロセッサ７０がピクセルＡＬＵを介してＳＲＡＭピクセル・バッファにアクセスする間と、ビデオ出力回路８４がビデオ・バッファからビデオ・データを読み取る間に、ＤＲＡＭアレイとＳＲＡＭピクセル・バッファの間のピクセル・データ転送を可能にする回路を含む。
【００１６】
ＦＢＲＡＭチップ７１ないし８２は、ビデオ・データをビデオ・バス１３４を介してビデオ出力回路８４へ送る。ビデオ出力回路８４は、ＦＢＲＡＭチップ７１ないし８２からのビデオ・データの転送の同期をとる対応する１組のビデオ・クロックをビデオ・バス１３４上で生成する。
【００１７】
レンダリング・プロセッサ７０は、ピクセル・データをフレーム・バッファ・メモリ装置制御装置８３を通じレンダリング・バス９８を介してＦＢＲＡＭチップ７１ないし８２に書き込む。フレーム・バッファ・メモリ装置制御装置８３は、フレーム・バッファ制御信号およびフレーム・バッファ制御コマンドをＦＢＲＡＭチップ７１ないし８２に送り、ピクセルＡＬＵオペレーション、ＳＲＡＭピクセル・バッファ・オペレーションおよびＤＲＡＭアレイ・オペレーション、ビデオ・バッファ・オペレーションを含め、ＦＢＲＡＭチップ７１ないし８２の内部オペレーションを制御する。
【００１８】
レンダリング・プロセッサ７０は、システム・バス１０２を介してホスト・プロセッサ（図示せず）からグラフィックス・プリミティブを受け取る。レンダリング・プロセッサ７０は、受け取ったグラフィックス・プリミティブをレンダリングし、対応する一連のピクセル・アクセス・トランザクションをフレーム・バッファ制御バス１０６を介してフレーム・バッファ・メモリ装置制御装置８３へ送る。
【００１９】
フレーム・バッファ・メモリ装置制御装置８３は、レンダリング・プロセッサ７０からピクセル・アクセス・トランザクションを受け取り、対応する一連のピクセル・アクセス・トランザクションをＦＢＲＡＭデバイス７１ないし８２へ発行する。フレーム・バッファ・メモリ装置制御装置８３は、ピクセル・アクセス・トランザクション用のピクセル・データをレンダリング・バス９８を介してＦＢＲＡＭチップ７１ないし８２との間で転送する。フレーム・バッファ・メモリ装置制御装置８３は、ＤＲＡＭ操作バス１１０を介してＦＢＲＡＭチップ７１ないし８２のＤＲＡＭコア・オペレーションを制御するコマンドを発行する。フレーム・バッファ・メモリ装置制御装置８３は、ピクセル・キャッシュ関数およびピクセルＡＬＵ関数をピクセル操作バス１１２を介してＦＢＲＡＭチップ７１ないし８２へ制御するコマンドを発行する。
【００２０】
フレーム・バッファ・メモリ装置制御装置８３は、各ＦＢＲＡＭチップ７１ないし８２中のＬ２ピクセル・キャッシュと、Ｌ１ピクセル・キャッシュ、ビデオ・バッファ、またはＤＲＡＭコアとの間のオペレーションを制御するコマンドをＤＲＡＭ操作バス１１０を介して発行する。フレーム・バッファ・メモリ装置制御装置８３は、各ＦＢＲＡＭチップ７１ないし８２中のピクセルＡＬＵとＬ１ピクセル・キャッシュとの間のオペレーションを制御するコマンドをピクセル操作バス１１２を介して発行する。フレーム・バッファ・メモリ装置制御装置８３は、フレーム・バッファ制御バス１０６を介して受け取ったピクセル・アドレスおよびピクセル・データならびに操作コマンドに応じ、ビデオ操作バス１０８を介してビデオ出力回路８４によって指定されたビデオ・オペレーションに応じ、フレーム・バッファ・メモリ装置制御装置によって維持されるＦＢＲＡＭの現キャッシュ状態に応じて、ＤＲＡＭ操作バス１１０およびピクセル操作バス１１２を介して前記コマンドを発行する。
【００２１】
図２は、一実施例のＦＢＲＡＭチップ７１を示す。ＦＢＲＡＭチップ７１は、ＤＲＡＭアレイと、一対のビデオ・バッファ５２および５４と、ピクセル・バッファ５６と、ピクセルＡＬＵ５８とを備える。ＦＢＲＡＭチップ７１は基本的に、各ＦＢＲＡＭチップ７２ないし８２に類似している。
【００２２】
ＦＢＲＡＭチップ７１中のＤＲＡＭアレイは、１組の４つのＤＲＡＭバンク（ＤＲＡＭバンクＡないしＤ）と、対応するページ・バッファＡないしＤとを備える。一実施例では、各ＤＲＡＭバンクＡないしＤは、２５７ページとして構成された２．５メガビットＤＲＡＭアレイを備える。各ページは３２０ワードを備え、各ワードは３２ビットを備える。
【００２３】
ページ・バッファＡないしＤは、対応するＤＲＡＭバンクＡないしＤのセンス増幅器を備える。一実施例では、各ページ・バッファＡないしＤは、対応するＤＲＡＭバンクＡないしＤの３２０ワード・ページをバッファする。
【００２４】
ビデオ・バッファ５２および５４は、ビデオ・バス１３４を介してビデオ出力回路８４へ送るべきビデオ・データをバッファする。ビデオ・バッファ５２は、ページ・バッファＡおよびＣからデータを受け取る。ビデオ・バッファ５４は、ページ・バッファＢおよびＤからデータを受け取る。ビデオ・バッファ５２および５４中のデータは、ビデオ・バス１３４を介しマルチプレクサ６２を通じてビデオ出力回路８４へシフトされる。
【００２５】
ピクセル・バッファ５６は、高速の３ポート静的ＲＡＭ（ＳＲＡＭ）であり、ＦＢＲＡＭチップ７１用のレベル１（Ｌ１）ピクセル・キャッシュとして機能する。Ｌ１ピクセル・キャッシュに関するアソシエイティビティ・パラメータは、フレーム・バッファ・メモリ装置制御装置８３によって外部で決定され、フル・アソシエーティブ・マッピングを含む。Ｌ１ピクセル・キャッシュは、ライト・バック方式を使用する。Ｌ１ピクセル・キャッシュは、１組のＬ１キャッシュ・ブロックを備える。レンダリング・プロセッサ７０は、フレーム・バッファ・メモリ装置制御装置８３を介して各Ｌ１キャッシュ・ブロックへのデータ書込みを実行する。複数の書込みが、後でレベル２（Ｌ２）ピクセル・キャッシュを介してＤＲＡＭバンクＡないしＤへ送れるるように、各Ｌ１キャッシュ・ブロックに累積される。
【００２６】
ピクセル・バッファ５６は、ＡＬＵ読取りポート２０４およびＡＬＵ書込みポート２０２を有する。ＦＢＲＡＭチップ７１の入出力ピンからのピクセル入力データ１６２は、ピクセルＡＬＵ５８用のソース・データを提供する。ピクセルＡＬＵ５８は、選択されたピクセル処理機能を実行し、ピクセル・バッファ５６のＡＬＵ書込みポートへ書込みポート・データ２０２を送る。
【００２７】
所望のピクセル処理機能がリード・モディファイ・ライト・オペレーションを必要とする場合、ピクセルＡＬＵ５８は、読取りポート２０４から読取りデータを得て、ソース・データ１６２を読取りデータ２０４とマージすることによって修正を実行し、次いでピクセル・バッファ書込みポート２０２に結果を書き込む。ピクセル・バッファ５６の読取りポートおよび書込みポートは、レンダリング・バス９８上で１クロック・パイプライン化書込みを行う同時１クロック読取り・書込みオペレーションをイネーブルして、１クロック・パイプライン化リード・モディファイ・ライト・サイクルを実行する。
【００２８】
レンダリング・プロセッサ７０は、フレーム・バッファ・メモリ装置制御装置８３を通じレンダリング・バス９８を介してピクセル・バッファ５６の読取りポートからデータを読み取る。ピクセル・バッファ５６の読取りポート・データ２０４は、ＦＢＲＡＭチップ７１の入出力ピンを介してレンダリング・バス９８上でアクセスすることができる。
【００２９】
ピクセル・バッファ５６は、グローバル・バス６０を介したブロック転送オペレーション用のグローバル読取り／書込みポートを有する。レンダリング・プロセッサ７０は、ピクセル・バッファ５６のＡＬＵ読取りポート、ＡＬＵ書込みポート、およびグローバル読取り／書込みポートを同時に活動化するオペレーションをフレーム・バッファ・メモリ装置制御装置８３へ発行することができる。
【００３０】
一実施例では、ピクセル・バッファ５６は、２０４８ビットＳＲＡＭバッファと、対応するダーティ・タグ・メモリとを含む。２０４８ビットＳＲＡＭバッファは、８つの２５６ビットＬ１キャッシュ・ブロックとして構成される。各Ｌ１キャッシュ・ブロックは、それぞれ、３２ビットを備える、８つのワードをバッファする。各Ｌ１キャッシュ・ブロックは、幅２高さ４の３２ビット・ピクセル矩形用のピクセル・データをバッファする。また、８つのＬ１キャッシュ・ブロックは、ダーティ・タグ・メモリ中の８組の３２ビット・ダーティ・タグ・ビットに対応する。グローバル読取り／書込みポートは、２５６ビット幅であり、ＡＬＵ読取りポートおよびＡＬＵ書込みポートはそれぞれ３２ビット幅である。
【００３１】
ピクセルＡＬＵ５８は、レンダリング・バス９８を介してピクセル・バッファ５６へのパイプライン化リード・モディファイ・ライト・オペレーションをイネーブルする。パイプライン化リード・モディファイ・ライト・オペレーションには、Ｚバッファ比較演算、ＲＧＢアルファ・ブレンド演算、およびブール演算が含まれる。ピクセル・バッファ５６のグローバル読取り／書込みポートは、グローバル・バス６０を介したページ・バッファＡないしＤとピクセル・バッファ５６の間のＬ１キャッシュ・ブロック全体の並行転送をイネーブルする。
【００３２】
ページ・バッファＡないしＤはＬ２ピクセル・キャッシュを備える。Ｌ２ピクセル・キャッシュは、ＤＲＡＭバンクＡないしＤに直接マップされる。各ページ・バッファＡないしＤは、対応するＤＲＡＭバンクＡないしＤの１ページにマップされる。一実施例では、Ｌ２ピクセル・キャッシュ項目は、各ワードごとに３２ビットの３２０ワードを備える。各Ｌ２キャッシュ項目は、幅２０高さ１６のピクセル矩形として構成される。Ｌ２ピクセル・キャッシュはライト・スルー方式を使用する。グローバル・バス６０を介してＬ２ピクセル・キャッシュ項目に書き込まれたピクセル・データはただちに、対応するＤＲＡＭバンクＡないしＤの対応するページに送られる。
【００３３】
グローバル・バス６０は、Ｌ１ピクセル・キャッシュとＬ２ピクセル・キャッシュの間の通信をイネーブルする。一実施例では、グローバル・バス６０は、２５６ビット幅であり、Ｌ１ピクセル・キャッシュとＬ２ピクセル・キャッシュの間の２×４ピクセル・ブロックの並行転送をイネーブルする。
【００３４】
各ＤＲＡＭバンクＡないしＤは、１組のビット線を備えるセンス増幅器バスを含む。センス増幅器バスは、ページ・バッファＡないしＤをＤＲＡＭバンクＡないしＤに結合する。一実施例では、各センス増幅器バスは、ＤＲＡＭバンクＡないしＤから対応するＬ２ピクセル・キャッシュへの２０×１６（３２ビット・ピクセルを含む）ピクセル矩形の並行転送をイネーブルする。
【００３５】
フレーム・バッファ・メモリ装置制御装置８３は、ＤＲＡＭ操作バス１１０およびピクセル操作バス１１２の制御信号およびアドレス信号を介してＤＲＡＭバンクＡないしＤへのアクセスをインタリーブする。フレーム・バッファ・メモリ装置制御装置８３は、１つのページ・バッファＡないしＤのセンス増幅器上のプレチャージ・オペレーションを他のＤＲＡＭバンクＡないしＤへのレンダリング・オペレーションとオーバラップさせる。フレーム・バッファ・メモリ装置制御装置８３は、１つのＤＲＡＭバンクＡないしＤへのアクセス・ページ・オペレーションを、他のＤＲＡＭバンクＡないしＤへのレンダリング・オペレーションとインタリーブする。
【００３６】
ＦＢＲＡＭチップ７１は、ＡＬＵ５８ならびに読取りポート２０４および書込みポート２０２を介してピクセル・バッファ５６にアクセスするための１組のピクセル・ポート制御入出力インタフェース・ピンおよびピクセル・ポートアドレス入出力インタフェース・ピンをピクセル操作バス１１２上で提供し、グローバル・バス６０を介してＤＲＡＭバンクＡないしＤにアクセスし、あるいはビデオ・バッファ５２および５４にアクセスするための独立の１組のＤＲＡＭポート制御入出力インタフェース・ピンおよびＤＲＡＭポート・アドレス入出力インタフェース・ピンをＤＲＡＭ操作バス１１０上で提供する。独立の数組の制御ピンおよびアドレス・ピンによって、ＤＲＡＭバンクＡないしＤに対するオペレーションは、ピクセル・バッファ５６へのＡＬＵオペレーションと並行して進行することができる。ＦＢＲＡＭチップ７１は、ビデオ・バッファ５２および２４ならびに直列出力１３４を使用するビデオ・オペレーションに関する他の独立の１組のビデオ・ポート制御インタフェース・ピンをビデオ操作バス１３４上で提供する。
【００３７】
ＦＢＲＡＭチップ７１用の入出力インタフェースは、ピクセル・ポート・オペレーション用のピクセル・ポート制御インタフェース１１８と、ビデオ・オペレーション用のビデオ・ポート制御インタフェース１１４と、ＦＢＲＡＭチップ７１中のＤＲＡＭオペレーション用のＤＲＡＭ制御インタフェース１１６とを備える。ピクセルＡＬＵ５８およびピクセルバッファ５６に対するピクセル・ポート・アクセス・オペレーションは、１組のピクセル・ポート・アドレス信号およびピクセル・ポート制御信号によって制御される。ＤＲＡＭバンクＡないしＤに対するオペレーションは、１組のＤＲＡＭ制御信号によって制御される。ビデオ・バッファ５２および５４の機能は、１組のビデオ制御信号によって制御される。この３組の別々の制御信号は、４方向インタリーブ済みＤＲＡＭバンクと共に、ＦＢＲＡＭチップ７１に対する６つの同時オペレーションをイネーブルする。
【００３８】
表１は、一実施例のピクセル・ポート・アドレス信号およびピクセル・ポート制御信号をリストしたものである。フレーム・バッファ・メモリ装置制御装置８３は、ピクセル操作バス１１２上のピクセル・ポート・アドレス信号およびピクセル・ポート制御信号を介してピクセルＡＬＵ５８ならびにピクセル・バッファの読取りポート２０４および書込みポート２０２に対するピクセル・ポート・オペレーションを制御する。フレーム・バッファ・メモリ装置制御装置８３は、ＰＡ＿ＥＮＡ［１．．０］信号をアサートして、ピクセルＡＬＵ５８ならびにピクセル・バッファ・ポート２０４および２０２に対するオペレーションを開始する。いずれかのＰＡ＿ＥＮＡ信号がアサート解除された場合、残りのピクセル・ポート制御信号は無視される。
【００３９】
0003828184.tif 000002
【００４０】
フレーム・バッファ・メモリ装置制御装置８３は、ＰＡ＿ＷＥ信号をアサートして書込みオペレーションを示す。ＰＡ＿ＷＥ信号は、アサート解除された場合に読取りオペレーションを示す。フレーム・バッファ・メモリ装置制御装置８３は、ＰＡ＿ＯＰ［２．．０］信号をＰＡ＿ＷＥ信号と共にドライブしてピクセルＡＬＵ５８に対するオペレーションを指定する。フレーム・バッファ・メモリ装置制御装置８３は、ＰＡ＿ＡＤＤＲ［５．．０］信号を使用して、ピクセルＡＬＵ５８オペレーションに関するピクセル・バッファ読取りポート２０４およびピクセル・ポート書込みポート２０２を指定する。
【００４１】
フレーム・バッファ・メモリ装置制御装置８３は、レジスタ書込みおよびダーティ・タグ書込みを含め、読取りオペレーションおよび書込みオペレーション時に、信号ＰＡ＿ＢＥ［３．．０］信号をドライブする。読取りオペレーション時には、ＰＡ＿ＷＥがアサート解除され、ＰＡ＿ＢＥ信号が、ｏｕｔｐｕｔ  ｂｙｔｅ  ｅｎａｂｌｅ信号を提供する。書込みオペレーション時には、ＰＡ＿ＷＥがアサートされ、ＰＡ＿ＢＥ信号がｗｒｉｔｅ  ｂｙｔｅ  ｅｎａｂｌｅ信号を提供する。ＰＡ＿ＢＥ［０］信号はＰＡ＿ＤＱ［７．．０］データ・バイトを制御し、ＰＡ＿ＢＥ［１］信号はＰＡ＿ＤＱ［１５．．８］データ・バイトを制御し、ＰＡ＿ＢＥ［２］信号はＰＡ＿ＤＱ［２３．．１６］データ・バイトを制御し、ＰＡ＿ＢＥ［３］信号はＰＡ＿ＤＱ［３１．．２４］データ・バイトを制御する。
【００４２】
フレーム・バッファ・メモリ装置制御装置８３は、レンダリング・バス９８を介したＦＢＲＡＭチップ７１に対する読取りオペレーションおよび書込みオペレーション時にＰＡ＿ＤＱ［３１．．０］信号を使用する。書込みオペレーション時には、ＰＡ＿ＤＱ信号がピクセルＡＬＵ５８に送られる。読取りオペレーション時には、ピクセル・バッファ５６の読取りポートによってＰＡ＿ＤＱ信号が提供される。内部コピー・オペレーションおよび垂直スクロール・オペレーション時には、フレーム・バッファ・メモリ装置制御装置８３が、ＰＡ＿ＤＱ［２９．．２４］信号によって書込みアドレスを供給する。
【００４３】
ブレンドを実行するＡＬＵ書込み時には、フレーム・バッファ・メモリ装置制御装置８３がＰＡ＿ＤＸ［３．．０］信号を使用して、ＰＡ＿ＤＱ信号を介して送られるデータ・バイト用の余分の高位データ・ビットを提供する。ＰＡ＿ＤＸ［０］信号は、ＰＡ＿ＤＱ［７．．０］バイト用の高位ビットを提供する。同様に、ＰＡ＿ＤＸ［１］信号は、ＰＡ＿ＤＱ［１５．．８］バイト用の高位ビットであり、ＰＡ＿ＤＸ［２］信号は、ＰＡ＿ＤＱ［２３．．１６］用の高位ビットであり、ＰＡ＿ＤＸ［３］信号は、ＰＡ＿ＤＱ［３１．．２４］バイト用の高位ビットである。
【００４４】
ＰＡ＿ＰＡＳＳ＿ＩＮ信号およびＰＡ＿ＰＡＳＳ＿ＯＵＴ信号は、ＦＢＲＡＭチップ７１ないし８２間の合格／不合格比較装置の結果の調整をイネーブルする。ＦＢＲＡＭチップ７１の内部比較装置からの比較結果は、ＰＡ＿ＰＡＳＳ＿ＯＵＴ信号を介して送られる。ＰＡ＿ＰＡＳＳ＿ＯＵＴ信号は、ピクセル・バッファ５６へのｓｔａｔｅｆｕｌ書込みオペレーション時に内部比較試験の結果が不合格であったかどうかを示す。ｓｔａｔｅｆｕｌ書込みオペレーション時に、ＰＡ＿ＰＡＳＳ＿ＩＮ信号が合格を示し、ＰＡ＿ＰＡＳＳ＿ＯＵＴ信号が合格を示す場合、データはピクセル・バッファ５６に書き込まれる。
【００４５】
表２は、一実施例のＤＲＡＭアドレス信号およびＤＲＡＭ制御信号について説明したものである。フレーム・バッファ・メモリ装置制御装置８３は、ＤＲＡＭ操作バス１１０上のＤＲＡＭアドレス信号およびＤＲＡＭ制御信号を介して、ＤＲＡＭバンクＡないしＤ、グローバル・バス６０、ピクセル・バッファ・グローバル・バス・ポート、ビデオ・バッファ５２および５４に対するアクセス・オペレーションを開始する。フレーム・バッファ・メモリ装置制御装置８３は、ＤＲＡＭ＿ＯＰ［２．．０］信号を介してＤＲＡＭオペレーションを指定する。フレーム・バッファ・メモリ装置制御装置８３は、マスタ・クロックＣＬＫの立上りエッジ上でＤＲＡＭ＿ＥＮＡをアサートして、次のＣＬＫサイクル中に１つのＤＲＡＭバンクＡないしＤに対するオペレーションを開始する。
【００４６】
【表２】
0003828184.tif 000003
【００４７】
フレーム・バッファ・メモリ装置制御装置８３は、ＤＲＡＭ＿ＢＡＮＫ［１．．０］信号によって１つのＤＲＡＭ信号ＡないしＤを選択する。フレーム・バッファ・メモリ装置制御装置８３は、ＤＲＡＭ＿ＡＤＤＲ［８．．０］信号を介して、選択されたＤＲＡＭバンクＡないしＤ中のページを選択する。また、フレーム・バッファ・メモリ装置制御装置８３は、ＤＲＡＭ＿ＡＤＤＲ［８．．０］信号を使用して、グローバル・バス６０を介したブロック転送オペレーション時のピクセル・バッファ・グローバル・バス・ポート・アドレスを指定し、かつＤＲＡＭページからビデオ・バッファ５２および５４のうちの一方へのビデオ・データの転送を指定する。
【００４８】
表３は、一実施例のビデオ制御信号をリストしたものである。ビデオ制御信号は、ビデオ・データをビデオ・バス１３４を介してビデオ出力回路８４へ送るために使用される。ビデオ・バス１３４を介して送られるビデオ・データは、ＶＩＤ＿ＣＬＫ信号によって同期をとられる。ＶＩＤ＿ＣＬＫ信号は、ゲート・ビデオ・シフト・クロックまたは自走ビデオ・シフト・クロックである。ＶＩＤ＿ＣＭ（上バー）信号は、次のＶＩＤ＿ＣＬＫサイクルをマスクし、ビデオ・バッファ５２および５４をドライブするＦＢＲＡＭチップ７１中のビデオ・カウンタをディスエーブルするために使用される。ＶＩＤ＿ＯＥ信号は、ＶＩＤ＿ＤＡＴＡ信号によって提供されるビデオ・データに対する非同期ビデオ出力イネーブル信号である。ＶＩＤ＿ＤＡＴＡ［１５．．０］信号によって提供される１６ビット幅ビデオ・データバスは、１サイクル中の２バイトのビデオ・データの転送をイネーブルする。ＶＩＤ＿ＱＳＦ信号は、ビデオ・バッファ５２またはビデオ・バッファ５４が、ＶＩＤ＿ＤＡＴＡ［１５．．０］信号を介して送られるビデオ・データをドライブしているかどうかを示す。
【００４９】
【表３】
0003828184.tif 000004
【００５０】
表４は、一実施例のＦＢＲＡＭチップ７１のピクセル・ポート・オペレーションについて説明したものである。ピクセル・ポート・オペレーションは、ピクセル・バッファ５６からデータを読み取るオペレーション、４つの異なるモードでピクセル・バッファ５６にデータを書き込むオペレーション、ダーティ・タグ・メモリ１９４中のダーティ・タグ・ビットを置換し修正するオペレーション、ＦＢＲＡＭチップ７１の制御レジスタに書き込むオペレーションが含まれる。
【００５１】
【表４】
0003828184.tif 000005
0003828184.tif 000006
【００５２】
フレーム・バッファ・メモリ装置制御装置８３は、ＰＡ＿ＡＤＤＲ［５．．０］信号を介してピクセル・ポート・オペレーション用のブロック・アドレスおよびワード・アドレスを指定する。レンダリング・プロセッサ７０は、ＰＡ＿ＡＤＤＲ［５．．３］信号を介してピクセルＡＬＵオペレーション用のブロック・アドレスを指定する。レンダリング・プロセッサ７０は、ＰＡ＿ＡＤＤＲ［２．．０］信号を介してピクセルＡＬＵオペレーション用のワード・アドレスを指定する。レンダリング・プロセッサ７０は、ＰＡ＿ＡＤＤＲ［５．．０］信号を介して制御レジスタ書込みオペレーション時の制御レジスタを指定する。
【００５３】
フレーム・バッファ・メモリ装置制御装置８３は、ピクセル・ポート読取りオペレーションを発行して、ピクセル・バッファ５０から３２ビット・データを読み取る。ピクセル・バッファ５６中のブロック・アドレスおよびワード・アドレスは、ＰＡ＿ＡＤＤＲ［５．．０］信号によって指定される。
【００５４】
フレーム・バッファ・メモリ装置制御装置８３は、ｓｔａｔｅｌｅｓｓ初期データ書込みオペレーションを発行して、ＰＡ＿ＡＤＤＲ［５．．０］信号によって指定されたピクセル・バッファ５６中のブロックおよびワードに３２ビット・データを書き込む。ｓｔａｔｅｌｅｓｓ初期データ書込みオペレーションは、ＰＡ＿ＤＱ［３１．．０］によって提供された３２ビット・データに対応するアドレスされたブロック中のダーティ・タグをセットし、ＰＡ＿ＤＱ［３１．．０］によって提供された３２ビット・データに対応しないアドレスされたブロック中のダーティ・タグをクリアする。ｓｔａｔｅｌｅｓｓ初期データ書込みオペレーションは、ＦＢＲＡＭチップ７１中の制御レジスタの内容の影響を受けない。ｓｔａｔｅｌｅｓｓ通常データ書込みオペレーションも、ＦＢＲＡＭチップ７１中の制御レジスタの内容の影響を受けない。フレーム・バッファ・メモリ装置制御装置８３は、ｓｔａｔｅｌｅｓｓ通常データ書込みオペレーションを発行して、ＰＡ＿ＡＤＤＲ［５．．０］信号によって指定されたピクセル・バッファ５６中のブロックおよびワードに、ＰＡ＿ＤＱ［３１．．０］信号によって提供された３２ビット・データを書き込む。ｓｔａｔｅｌｅｓｓ通常データ書込みオペレーションは、ＰＡ＿ＤＱ［３１．．０］によって提供された３２ビット・データに対応するダーティ・タグをセットする。
【００５５】
フレーム・バッファ・メモリ装置制御装置８３は、ｓｔａｔｅｆｕｌ初期データ書込みオペレーションを発行して、ＦＢＲＡＭチップ７１中の制御レジスタの内容に応じてピクセル・バッファ５６に３２ビット・データを書き込む。ｓｔａｔｅｆｕｌ初期データ書込みオペレーションも、ｓｔａｔｅｌｅｓｓ初期データ書込みオペレーションと同様にダーティ・タグをセットしクリアする。フレーム・バッファ・メモリ装置制御装置８３は、ｓｔａｔｅｆｕｌ通常データ書込みオペレーションを発行して、ＦＢＲＡＭチップ７１中の制御レジスタの内容に応じてピクセル・バッファ５６に３２ビット・データを書き込む。ｓｔａｔｅｆｕｌ通常データ書込みオペレーションは、ｓｔａｔｅｌｅｓｓ通常データ書込みオペレーションと同様にダーティ・タグをセットする。フレーム・バッファ・メモリ装置制御装置８３は、ＰＡ＿ＡＤＤＲ［５．．０］信号を介してピクセル・バッファ５６中のブロックおよびワードを指定し、ＰＡ＿ＤＱ［３１．．０］信号を介して新しいデータを指定する。ピクセルＡＬＵオペレーションを制御するＦＢＲＡＭチップ７１中のレジスタの内容に応じて、アドレスされたブロックおよびワード中の既存のデータと新しいデータを組み合わせることができる。
【００５６】
フレーム・バッファ・メモリ装置制御装置８３は、ダーティ・タグ置換オペレーションを発行し、ＰＡ＿ＤＱ［３１．．０］信号を介してダーティ・タグ・データをダーティ・タグ・メモリ１９４へ送る。フレーム・バッファ・メモリ装置制御装置８３は、ＯＲダーティ・タグ・オペレーションを発行して、新しいタグ・データとダーティ・タグ・メモリ中の既存のタグ・データに対する排他的ＯＲ関数を実行する。フレーム・バッファ・メモリ装置制御装置８３は、制御レジスタ書込みオペレーションを発行して、ＦＢＲＡＭチップ７１の内部制御レジスタへ新しいデータを送る。
【００５７】
表５は、一実施例のＦＢＲＡＭチップ７１によって提供されるＤＲＡＭアクセス・オペレーションをリストしたものである。ＤＲＡＭアクセス・オペレーションには、ページ・アクセス・オペレーション、ブロック・アクセス・オペレーション、ビデオ・バッファ・ロード・オペレーションが含まれる。ページ・アクセス・オペレーションには、ページ・アクセス・オペレーション、プレチャージ・オペレーション、ページ重複オペレーションが含まれる。ブロック・アクセス・オペレーションには、ブロック読取りオペレーション、マスクされないブロック書込みオペレーション、マスクされたブロック書込みオペレーションが含まれる。フレーム・バッファ・メモリ装置制御装置８３は、ＤＲＡＭ操作バス１１０上で各サイクルごとにＤＲＡＭアクセス・オペレーションを開始することができる。
【００５８】
【表５】
0003828184.tif 000007
0003828184.tif 000008
【００５９】
フレーム・バッファ・メモリ装置制御装置８３は、ページ・アクセス・オペレーションを開始して、ＤＲＡＭバンクＡないしＤのページを選択する。フレーム・バッファ・メモリ装置制御装置８３は、ＤＲＡＭ＿ＢＡＮＫ信号を介してＤＲＡＭバンクＡないしＤを指定し、ＤＲＡＭ＿ＡＤＤＲ［８．．０］信号を介して、アクセスされるページを指定する。
【００６０】
フレーム・バッファ・メモリ装置制御装置８３は、ブロック・アクセス・オペレーションを開始して、ページ・バッファＡないしＤとピクセル・バッファ５６の間でデータ・ブロックを送る。フレーム・バッファ・メモリ装置制御装置８３は、ＤＲＡＭ＿ＢＡＮＫ信号を介してＤＲＡＭバンクＡないしＤおよびページ・バッファＡないしＤを指定する。フレーム・バッファ・メモリ装置制御装置８３は、ＤＲＡＭ＿ＡＤＤＲ［８．．６］信号を介してピクセル・バッファ５６中のピクセル・キャッシュ・ブロックを指定し、ＤＲＡＭ＿ＡＤＤＲ［５．．０］信号を介して、指定されたページ・バッファＡないしＤのブロックを選択する。
【００６１】
フレーム・バッファ・メモリ装置制御装置８３は、マスクされないブロック書込みオペレーションを発行して、グローバル・バス６０を介して、指定されたピクセル・バッファ５６ブロックから、指定されたページ・バッファＡないしＤの指定されたブロックへ、データ・ブロックを送る。ピクセル・バッファ５６の指定されたブロックに対応するダーティ・タグ・メモリ中のダーティ・タグ・ビットは、指定されたページ・バッファＡないしＤへの書込みをビットごとに制御する。
【００６２】
フレーム・バッファ・メモリ装置制御装置８３は、マスクされたブロック書込みオペレーションを発行し、グローバル・バス６０を介して、ピクセル・バッファ５６の指定されたピクセル・キャッシュ・ブロックから、指定されたページ・バッファＡないしＤの指定されたブロックへ、データ・ブロックを送る。プレーン・マスク・レジスタと、ピクセル・バッファ５６の指定されたピクセル・キャッシュ・ブロック用のダーティ・タグ・ビットは、指定されたＤＲＡＭバンクＡないしＤのページ・バッファＡないしＤへの書込みをビットごとに制御する。
【００６３】
フレーム・バッファ・メモリ装置制御装置８３は、バンク・プレチャージ・オペレーションを発行して、指定されたＤＲＡＭバンクＡないしＤ中のセンス増幅器をプレチャージする。フレーム・バッファ・メモリ装置制御装置８３は、以後のページ・アクセス・オペレーションに備えてバンク・プレチャージ・オペレーションを行う。
【００６４】
フレーム・バッファ・メモリ装置制御装置８３は、ビデオ転送オペレーションを発行して、指定されたページ・バッファＡないしＤから対応するビデオ・バッファ５２または５４へセンス増幅器データの６４０ビット・ラインを送る。レンダリング・プロセッサ７０は、ＤＲＡＭ＿ＡＤＤＲ［３．．０］信号を使用して、ページ・バッファＡないしＤのラインを指定する。
【００６５】
フレーム・バッファ・メモリ装置制御装置８３は、ページ重複オペレーションを発行して、指定されたページ・バッファＡないしＤ中のセンス増幅器データを、対応するＤＲＡＭバンクＡないしＤ中の指定されたページへ送る。フレーム・バッファ・メモリ装置制御装置８３は、ブロック読取りオペレーションを発行して、グローバル・バス６０を介して、指定されたページ・バッファＡないしＤの指定されたブロックから、ピクセル・バッファ５６の指定されたピクセル・キャッシュ・ブロックへデータ・ブロックを送る。ブロック読取りオペレーションは、ピクセル・バッファ５６の指定されたピクセル・キャッシュ・ブロック用のダーティ・タグ・ビットをクリアする。
【００６６】
フレーム・バッファ・メモリ装置制御装置８３は、ページ・アクセス・オペレーションを発行して、指定されたＤＲＡＭバンクＡないしＤ中の指定されたページから、ページ・バッファＡないしＤ中の対応するセンス増幅器へデータを送る。フレーム・バッファ・メモリ装置制御装置８３は、特定のＤＲＡＭバンクＡないしＤへのページ・アクセス・オペレーションの前に、そのＤＲＡＭバンクへのプレチャージオペレーションを実行する。
【００６７】
ＦＢＲＡＭチップ７１などＦＢＲＡＭチップの例に関する他の情報に関しては、１９９４年５月３日に出願され、「Ｆｒａｍｅ  Ｂｕｆｆｅｒ  ＲａｎｄｏｍＡｃｃｅｓｓ  Ｍｅｍｏｒｙ  ａｎｄ  Ｓｙｓｔｅｍ」と題する、米国特許出願第０８／２３７２８９号を参照されたい。
【００６８】
図３は、一実施例のフレーム・バッファ・メモリ装置制御装置８３を示す。フレーム・バッファ・メモリ装置制御装置８３は、トランスレータ回路３００と、アロケータ回路３１０と、スケジューラ回路３２０と、アービタ回路３３０と、ビデオ要求ジェネレータ３４０とを備える。なお、図において＄はキャッシュを意味している。
【００６９】
フレーム・バッファ・メモリ装置制御装置８３がフレーム・バッファ制御バス１０６を介して受け取ったピクセル・アクセス・トランザクションによって、最終的にピクセル操作バス１１２およびレンダリング・バス９８を介してオペレーションが発行される。フレーム・バッファ・メモリ装置制御装置８３は、ＤＲＡＭ操作バス１１０を介してＤＲＡＭオペレーションを発行して、ピクセル・オペレーションをサポートするＦＢＲＡＭチップ７１ないし８２のＬ２ピクセル・キャッシュを介して、ＤＲＡＭコアとＬ１ピクセル・キャッシュの間でデータを送る。
【００７０】
フレーム・バッファ・メモリ装置制御装置８３は、フレーム・バッファ制御バス１０６を介して受け取った一連のピクセル・アクセス・トランザクションに応じて、ＤＲＡＭ操作バス１１０上へ発行するＤＲＡＭオペレーションを決定する。たとえば、フレーム・バッファ制御バス１０６を介して受け取ったピクセル・アクセス・トランザクションによって指定されたピクセル・データが、ＦＢＲＡＭチップ７１ないし８２のＬ１ピクセル・キャッシュに記憶されていない場合、ＦＢＲＡＭチップ７１ないし８２のＬ１ピクセル・キャッシュへ適当なブロックを送らなければならない。また、フレーム・バッファ制御バス１０６上でピクセル・アクセス・トランザクションによって指定されたピクセルがＬ２ピクセル・キャッシュに含まれていない場合、指定されたブロックをＬ２ピクセル・キャッシュからＦＢＲＡＭチップ７１ないし８２のＬ１ピクセル・キャッシュへ送る前に、Ｌ２ピクセル・キャッシュへ適当なページを送っておかなければならない。
【００７１】
フレーム・バッファ・メモリ装置制御装置８３は、Ｌ１ピクセル・キャッシュ中の修正済みブロックが、ＦＢＲＡＭチップ７１ないし８２のグローバル・バスを介してＬ２ピクセル・キャッシュに適切に書き直されるようにする。また、フレーム・バッファ・メモリ装置制御装置８３は、Ｌ２ピクセル・キャッシュ中のページが適宜、ＦＢＲＡＭチップ７１ないし８２のＤＲＡＭコアに返されるようにする。
【００７２】
フレーム・バッファ・メモリ装置制御装置８３は、ＡＣＰオペレーション、ＶＤＸオペレーション、ＰＲＥオペレーションを含め一連のビデオ転送を発行して、ＦＢＲＡＭチップ７１ないし８２中のＤＲＡＭバンクＡないしＤおよび対応するビデオ・バッファからビデオ・データを送る。
【００７３】
トランスレータ回路３００は、フレーム・バッファ制御バス１０６を介してピクセル・アクセス・トランザクションを受け取る。フレーム・バッファ制御バス１０６上の各ピクセル・アクセス・トランザクションは、ＸアドレスおよびＹアドレスと、命令コード（ＯＰ）と、ピクセル・データとを備える。命令コードは、ＦＢＲＡＭチップ７１ないし８２のためのピクセル書込みサイクル、ピクセル・リード・モディファイ・ライト・サイクル、ピクセル読取りサイクル、レジスタ書込みサイクル、レジスタ読取りサイクル、およびブロック転送機能を指定する。ＸアドレスおよびＹアドレスは、対応するピクセル・データ用の表示装置の座標を指定する。
【００７４】
トランスレータ回路３００は、受け取ったＸアドレスおよびＹアドレスをＦＢＲＡＭチップ７１ないし８２用のアクセス・パラメータに変換する。ＦＢＲＡＭチップ７１ないし８２用のアクセス・パラメータは、バンクと、ページと、列（ＣＯＬ）と、ワードとを備える。バンクは、ＦＢＲＡＭチップ７１ないし８２の１つのバンクＡないしＤを指定する。ページは、選択されたバンク内のページを指定し、列は、選択されたページの一部を指定し、ワードは、選択された列のピクセル部分を指定する。
【００７５】
アロケータ回路３１０は、ＦＢＲＡＭチップ７１ないし８２の内部Ｌ１ピクセル・キャッシュおよび内部Ｌ２ピクセル・キャッシュの状態に影響を及ぼすスケジューラのすべての要求の累積状態を追跡する。アロケータ回路３１０は、Ｌ２ピクセル・キャッシュにマップされたＤＲＡＭページのログ、ＦＢＲＡＭチップ７１ないし８２のＬ１ピクセル・キャッシュ中の各項目ごとのバンク、ページ、および列のログを維持する。
【００７６】
アロケータ回路３１０は、バンク、ページ、列、ワード、および命令コードをトランスレータ回路３００から受け取り、指定されたピクセル・アクセス・トランザクションを実行するのにＦＢＲＡＭチップ７１ないし８２中のＬ１ピクセル・キャッシュおよびＬ２ピクセル・キャッシュの状態を変更する必要があるかどうかを判定する。アロケータ回路３１０は、トランスレータ回路３００からのバンク・パラメータ、ページ・パラメータ、および列パラメータを使用して、Ｌ１ピクセル・キャッシュおよびＬ２ピクセル・キャッシュに、指定されたピクセルが含まれているかどうかを判定する。
【００７７】
アロケータ回路３１０は、トランスレータ回路３００から受け取ったバンク・パラメータ、ページ・パラメータ、列パラメータ、ワード・パラメータ、および命令（ＯＰ）コードを、ブロック・パラメータと共にスケジューラ３２０に渡す。また、アロケータ回路３１０は、指定されたピクセル・アクセス・トランザクションで、ＦＢＲＡＭチップ７１ないし８２のＬ１ピクセル・キャッシュの状態をさらに変更する必要がある場合、対応するＬ１キャッシュ要求（Ｌ１＄Ｒｅｑ）をスケジューラ回路３２０へ送る。また、アロケータ回路３１０は、指定されたピクセル・アクセス・トランザクションで、ＦＢＲＡＭチップ７１ないし８２のＬ２ピクセル・キャッシュの状態をさらに変更する必要がある場合、対応するＬ２キャッシュ要求（Ｌ２＄Ｒｅｑ）をスケジューラ回路３２０へ送る。
【００７８】
アロケータ回路３１０からのＬ１キャッシュ要求は、ＦＢＲＡＭチップ７１ないし８２中のＬ１ピクセル・キャッシュとＬ２ピクセル・キャッシュの間の転送を指定する。たとえば、Ｌ１キャッシュ要求は、Ｌ２ピクセル・キャッシュからＬ１ピクセル・キャッシュへデータを転送する（ＲＤＢ）事前取出しオペレーションを指定することも、あるいはＦＢＲＡＭチップ７１ないし８２中のグローバル・バスを介してＬ１ピクセル・キャッシュからＬ２ピクセル・キャッシュへダーティ・ピクセル・データを書き直す（ＵＷＢ，ＭＷＢ）書直しオペレーションを指定することもできる。単一のピクセル・オペレーションは、事前取出しオペレーションの後に書直しオペレーションを生成することができる。他の実施例では、書直しと事前取出しをスケジューラ回路３２０への１つの要求として組み合わせる。
【００７９】
Ｌ２キャッシュ要求は、各ＦＢＲＡＭチップ７１ないし８２中のＤＲＡＭコアに対するオペレーションを指定する。たとえば、アロケータ回路３１０からのＬ２キャッシュ要求は、ＤＲＡＭコアに対するページ・アクセス（ＡＣＰ）オペレーションを指定することも、あるいはＤＲＡＭコアに対するプレチャージ（ＰＲＥ）オペレーションを指定することもできる。他の実施例では、アロケータ回路３１０が、スケジューラ回路３２０へのページ・アクセス・オペレーションを指定し、アービタ回路３３０が、この要求をページ・アクセスと、（必要に応じて）その後に続くプレチャージとして拡張する。
【００８０】
スケジューラ回路３２０は、ピクセル・アクセス・ブロック・パラメータ、バンク・パラメータ、ページ・パラメータ、列パラメータ、および命令コードを、Ｌ１キャッシュ要求およびＬ２キャッシュ要求と共に、アロケータ回路３１０から受け取る。スケジューラ回路３２０は、ピクセル・アクセス・パラメータ、Ｌ１キャッシュ要求、およびＬ２キャッシュ要求を別々の内部先入れ先出し（ＦＩＦＯ）メモリ待ち行列にバッファする。この別々のメモリ待ち行列は、独立にオペレーションし、したがって、Ｌ２キャッシュ要求をＬ１キャッシュ要求よりも先へ「プッシュ」することができ、Ｌ１キャッシュ要求をピクセル・アクセス・パラメータよりも先へプッシュすることができる。
【００８１】
アービタ回路３３０は、それぞれＤＲＡＭ操作バス１１０およびピクセル操作バス１１２を介して前にディスパッチされたＤＲＡＭオペレーションおよびピクセル・オペレーションに応じてＦＢＲＡＭ７１ないし８２の現内部状態のログを維持する。アービタ回路３３０は、ＦＢＲＡＭチップ７１ないし８２中のＬ１ピクセル・キャッシュおよびＬ２ピクセル・キャッシュの現状態を追跡する。アービタ回路３３０は、ピクセル操作バス１１２を介して最も新しく発行された５つのピクセル・オペレーションを示すスコアボードも維持する。
【００８２】
アービタ回路３３０は、ＦＢＲＡＭチップ７１ないし８２中の内部タイミング・オペレーションを実行する内部の１組のインタロック回路を維持する。アービタ回路３３０は、読取りサイクルと書込みサイクルの間の遷移時に回線反転がうまく行われるように、レンダリング・バス９８上でサイクルを追跡する状態マシンも含む。アービタ回路３３０は、ＦＢＲＡＭチップ７１ないし８２中のグローバル・バスの内部状態も追跡する。
【００８３】
アービタ回路３３０は、ビデオ要求ジェネレータ３４０からビデオ転送要求を受け取る。ビデオ要求ジェネレータ３４０からのビデオ転送要求は、ビデオ操作バス１０６を介してビデオ出力回路８４から受け取ったタイミング信号によって決定される。各ビデオ・アクセス要求も、１つのＦＢＲＡＭチップ７１ないし８２のＱＳＦフラグの遷移によって決定される。各ビデオ・アクセス要求は、ＦＢＲＡＭチップ７１ないし８２中の一連のビデオ転送が必要であるかどうかを示す。
【００８４】
アービタ回路３３０は、Ｌ１キャッシュ要求、Ｌ２キャッシュ要求、およびビデオ転送オペレーション要求をＤＲＡＭ操作バス１１０を介してＦＢＲＡＭチップ７１ないし８２へ発行する。アービタ回路３３０は、ＦＢＲＡＭチップ７１ないし８２がＤＲＡＭオペレーションを受け取る準備ができている場合にＤＲＡＭ操作バス１１２上でＤＲＡＭオペレーションとして発行される、スケジューラ回路３２０からのＬ１キャッシュ要求およびＬ２キャッシュ要求と、ビデオ要求ジェネレータ３４０からのビデオ・アクセス要求の調停をはかる。アービタ回路３３０は、ＦＢＲＡＭチップ７１ないし８２がピクセル・アクセス・トランザクションを受け取る準備ができている場合、ピクセル操作バス１１０を介するピクセル・ポート・オペレーションおよびレンダリング・バス９８を介するデータとしてピクセル・アクセス・トランザクションを発行する。
【００８５】
各ＦＢＲＡＭチップ７１ないし８２は、ＤＲＡＭ操作バス１１０およびピクセル操作バス１１２に結合された独立の数組の制御ピンおよびアドレスピンを提供する。ピクセル操作バス１１２は、ＦＢＲＡＭチップ７１ないし８２中のＬ１ピクセル・キャッシュとの間の読取りポート２０４および書込みポート２０２を介したピクセルの読取りおよび書込みを制御する。ＤＲＡＭ操作バス１１０は、ＤＲＡＭコアとＬ２ピクセル・キャッシュの間のデータ転送、Ｌ２ピクセル・キャッシュとＬ１ピクセル・キャッシュの間のグローバル・バス６０転送、およびＬ２ピクセル・キャッシュからＦＢＲＡＭチップ７１ないし８２中の対応するビデオ・バッファへのビデオ転送を制御する。
【００８６】
図４は、トランスレータ回路３００による、フレーム・バッファ制御バス１０６を介して受け取ったＸピクセル・アドレスおよびＹピクセル・アドレスの、ＦＢＲＡＭチップ７１ないし８２用のバンク・パラメータ、ページ・パラメータ、ブロック・パラメータ、およびワード・パラメータへのマッピングを示す。図の例は、１２８０×１０２４解像度のディスプレイでの画面マッピングを示す。バンクＡないしＤをマップするために二次元パターンが使用され、そのため、近隣のページのレンダリングでは常に、異なるバンクが使用され、新しいバンクを事前に取り出して古いバンクを削除する時間が与えられることに留意されたい。トランスレータ回路３００は、以下で表１に記載した変換関数を実行する１組の組合せ論理を備える。
【００８７】
【表６】
0003828184.tif 000009
【００８８】
図５は、一実施例のアロケータ回路３１０を示す。アロケータ回路３１０は、トランスレータ回路３００からの着信ピクセル・アクセスにＬ１キャッシュ要求およびＬ２キャッシュ要求が必要であるかどうかを判定する。アロケータ回路３１０は、Ｌ１キャッシュ・テーブル（Ｌ１＄テーブル）、Ｌ２キャッシュ・テーブル（Ｌ２＄テーブル）、および最古の割振りブロック・レジスタ４００を維持する。
【００８９】
Ｌ２キャッシュ・テーブルは、ＦＢＲＡＭチップ７１ないし８２の各バンクＡないしＤごとの項目を提供し、ここで、バンクＡないしＤはバンク０ないしバンク３に対応する。Ｌ２キャッシュ・テーブル中の各項目は、有効ビットとページ・フィールドとを含む。有効ビットは、対応するバンクＡないしＤのページがＬ２ピクセル・キャッシュにマップされているかどうかを示し、ページ・フィールドは、マップすべきＤＲＡＭバンクのページを指定する。
【００９０】
一実施例では、アロケータ回路３１０は、トランスレータ回路３００から着信したピクセル・アクセス・パラメータの各組ごとにＬ２キャッシュ・テーブルにインデックス付けする。アロケータ回路３１０は、トランスレータ回路３００からのバンク・パラメータでＬ２キャッシュ・テーブルにインデックス付けする。アロケータ回路３１０は、指定されたＬ２キャッシュ・テーブル項目のページ・フィールドを、トランスレータ回路３００から着信したページ・パラメータと比較する。着信ページ・パラメータが、指定されたＬ２キャッシュ・テーブル項目のページ・フィールドに一致し、対応する有効ビットがセットされている場合、アロケータ回路３１０は、ピクセル・アクセス・パラメータがスケジューラ回路３２０に渡されたときにＬ２キャッシュ要求を発行しない。そうでない場合、アロケータ回路３１０は、適当なＬ２キャッシュ要求をスケジューラ回路３２０へ発行し、適当なＬ２キャッシュ・テーブル項目をトランスレータ回路３００から着信したページ・パラメータにセットする。
【００９１】
他の実施例では、Ｌ２キャッシュ・テーブルでミスしたが、Ｌ１キャッシュ・テーブルではヒットしたトランスレータからの着信要求によってアロケータがＬ２キャッシュ要求をスケジューリングすることはない。その代わり、Ｌ１キャッシュの削除を必要とするトランスレータへの以後の要求ではまず、ブロックを削除するＬ１要求を生成する前にページをスケジューリングするＬ２要求が生成される。
【００９２】
Ｌ１キャッシュ・テーブル中の各項目は、有効ビット（Ｖ）と、ダーティ・ビット（Ｄ）と、書込み専用ビット（Ｗ）と、ｓｔａｔｅｆｕｌビット（Ｓ）と、バンク・フィールドと、ページ・フィールドと、列フィールドとを含む。ダーティ・ビットは、Ｌ１ピクセル・キャッシュの対応するブロックが、Ｌ１ブロックを再割り振りできるようにするためにＬ２ピクセル・キャッシュに書き直しておかなければならない更新済みピクセルを含むことを示す。有効ビットは、Ｌ２＄のブロックが対応するＬ１＄ブロックにマップされているかどうかを示す。ｓｔａｔｅｆｕｌビットは、Ｌ１ピクセル・キャッシュの対応するブロックにはｓｔａｔｅｆｕｌ書込みオペレーションが必要か、それともｓｔａｔｅｌｅｓｓ書込みオペレーションが必要かを示す。書込み専用ビットは、Ｌ１ピクセル・キャッシュの対応するブロックにはグローバル・バス読取りトランザクションが必要とされないことを示す。
【００９３】
一実施例では、アロケータ回路３１０は、Ｌ１ピクセル・キャッシュが常にＬ２ピクセル・キャッシュのサブセットとなるようにする。Ｌ１キャッシュ・テーブルはフル・アソシエーティブである。アロケータ回路３１０は、トランスレータ回路３００から着信したバンク・パラメータ、ページ・パラメータ、および列パラメータを同時にＬ１キャッシュ・テーブル中のすべての６つの項目と比較する。着信ピクセル・アクセス・パラメータがＬ１キャッシュ・テーブル中の項目に対応していない場合、最古の割振りカウンタ４００によって示されたＬ１キャッシュ・テーブル中の項目がアロケータ回路３１０によって削除される。次いで、指定されたＬ１キャッシュ・テーブル項目の３ビット・インデックスが、トランスレータ回路３００から受け取った残りのピクセル・アクセス・パラメータと共に、スケジューラ回路３２０へＬ１キャッシュ要求として送られる。次いで、最古割振りカウンタ４００がモジュロ６だけ増分される。最古割振りカウンタ４００によって指定されたＬ１キャッシュ・テーブル中の項目がダーティである場合、アロケータ回路３１０は、スケジューラ回路３２０へＬ１キャッシュ要求を発行して、ダーティ・ブロックを書き直す。また、Ｌ１キャッシュ・テーブルの指定された項目はクリーンにセットされる。
【００９４】
他の実施例では、Ｌ１ピクセル・キャッシュは常にＬ２ピクセル・キャッシュのサブセットであるとは限らない。この場合も、Ｌ１キャッシュ・テーブルはフル・アソシエーティブである。アロケータ回路３１０は、トランスレータ回路３００から着信したバンク・パラメータ、ページ・パラメータ、および列パラメータを同時に、Ｌ１キャッシュ・テーブル中のすべての６つの項目と比較する。着信ピクセル・アクセス・パラメータがＬ１キャッシュ・テーブル中の項目に対応するものでない場合、最古割振りカウンタ４００で示されたＬ１キャッシュ・テーブル中の項目は、アロケータ回路３１０によって割り振り解除される。最古の割振りカウンタ４００によって指定されたＬ１キャッシュ・テーブル中の項目がダーティである場合、アロケータ回路３１０は、Ｌ１キャッシュ要求をスケジューラ回路３２０へ発行して、ダーティ・ブロックを書き直す。削除されるＬ１ブロックによって使用されているＬ２ページがＬ２テーブル中で有効でない場合、古いページを削除して、必要なページを取り出すことを求めるＬ２要求は、スケジューラに送られる。また、Ｌ１キャッシュ・テーブルの指定された項目はクリーンにセットされる。割り振り解除されたブロックが削除された後、指定されたＬ１キャッシュ・テーブル項目の３ビット・インデックスが、トランスレータ回路３００から受け取った残りのピクセル・アクセス・パラメータと共に、スケジューラ回路３２０へＬ１キャッシュ取出し要求として送られる。次いで、最古の割振りカウンタ４００がモジュロ６だけ増分される。Ｌ１キャッシュ取出し要求によって使用されるページがＬ２テーブル中で有効でない場合、必要なページを取り出すことを求めるＬ２要求もスケジューラ回路３２０へ送られる。
【００９５】
他の実施例は、最古割振りブロック・レジスタの代わりにＬＲＵブロック・レジスタを使用することができる。
【００９６】
他の代替実施例では、トランスレータ回路３００からアロケータ回路３１０への要求が待機する。どのキャッシュ項目が削除するのに最も適しているかを判定する選択では、実行に関してすでにスケジューリングされているのはどのオペレーションかを調べるだけでなく、後で着信ピクセルが必要とするブロックを削除することを避けるために着信ピクセル・オペレーションの待ち行列を調べることもできる。
【００９７】
アロケータ回路３１０は、Ｌ１キャッシュ・テーブル中の指定された項目のダーティ・ビットを検査して、Ｌ２ピクセル・キャッシュからの書直しオペレーションが必要であるかどうかを判定する。対応するＳビットは、Ｌ１ピクセル・キャッシュからＬ２ピクセル・キャッシュへの書直しに、マスクされないブロック書込みを使用するか、マスクされたブロック書込みを使用するかを示す。
【００９８】
図６は、一実施例のスケジューラ回路３２０を示す。スケジューラ回路３２０は、ブロック・パラメータ、バンク・パラメータ、ページ・パラメータ、列パラメータ、命令コード・パラメータ、ピクセル・データ・パラメータを含めピクセル・アクセス・パラメータをアロケータ回路３１０から受け取り、そのピクセル・アクセス・パラメータをピクセル待ち行列に置く。スケジューラ回路３２０は、Ｌ１キャッシュ要求を、アロケータ回路３１０から受け取り、Ｌ１キャッシュ待ち行列（Ｌ１＄待ち行列）に置く。スケジューラ回路３２０は、Ｌ２キャッシュ要求を、アロケータ回路３１０から受け取り、Ｌ２キャッシュ待ち行列（Ｌ２＄待ち行列）に置く。ピクセル待ち行列、Ｌ１キャッシュ待ち行列、およびＬ２キャッシュ待ち行列はそれぞれ、先入れ先出しバッファ・メモリを備える。
【００９９】
スケジューラ回路３２０は、Ｌ２キャッシュ要求とは異なるバンクに対する無関係のＬ１キャッシュ要求よりも先へＬ２キャッシュ要求をプッシュし、Ｌ１キャッシュ要求とは異なるブロックに対する無関係のピクセル・アクセス要求よりも先へＬ１キャッシュ要求をプッシュする。対応する要求を先へプッシュするために、ピクセル待ち行列は、Ｌ１キャッシュ待ち行列よりも深く、Ｌ１キャッシュ待ち行列は、Ｌ２キャッシュ待ち行列よりも深い。ピクセル待ち行列、Ｌ１待ち行列、およびＬ２待ち行列は独立にオペレーションし、それによって、Ｌ２キャッシュ要求は、前に受け取ったＬ１キャッシュ要求およびピクセル・アクセス要求よりも先へ移動することができる。同様に、Ｌ１キャッシュ要求は、ピクセル待ち行列中の前に受け取ったピクセル・アクセス要求よりも先へ移動することができる。
【０１００】
この「プッシュ・アヘッド」方式は、大部分のＬ２オペレーションが完了するのにかかる時間が、Ｌ１オペレーションが完了するのにかかる時間よりも長く、大部分のＬ１オペレーションが完了するのにかかる時間が、ピクセル・オペレーションが完了するのにかかる時間よりも長いため、非常に有利である。一方、Ｌ２ページ領域はＬ１ブロック領域よりも大きく、Ｌ１ブロック領域はピクセル領域よりも大きい。その結果、通常、Ｌ１要求ごとに複数のピクセル要求があり、Ｌ２要求ごとに複数のＬ１要求がある。より遅いＬ２要求およびＬ１要求をより数の多いＬ１要求およびピクセル要求よりも先へプッシュすることによって、より遅い要求が、より数の多いピクセル要求をサポートするために必要とされる前に完了する機会が大幅に増大し、したがってピクセル要求を停止する必要がなくなる。
【０１０１】
スケジューラ回路３２０は、Ｌ２キャッシュ要求が、それと同じバンクおよびページへの関連Ｌ１キャッシュ要求よりも先へプッシュされるのを妨げる。スケジューラ回路３２０は、アロケータ回路３１０から着信した各Ｌ２キャッシュ要求のバンク・パラメータを各Ｌ１待ち行列項目のバンク・フィールドと比較する。バンク・フィールドが有効なＬ１キャッシュ待ち行列項目に一致する場合、着信Ｌ２キャッシュ要求はスケジューラ回路３２０によって停止される。スケジューラ回路３２０は、Ｌ２キャッシュ要求のバンク・フィールドが有効なＬ１＄待ち行列項目のバンク・フィールドに一致する場合、Ｌ２キャッシュ要求を停止させ、対応するすべてのＬ１＄待ち行列項目が書き直される前にＬ２＄項目が変更されるのを妨げる。
【０１０２】
スケジューラ回路３２０は、Ｌ１キャッシュ要求が、それと同じブロックへの関連ピクセル・アクセス要求よりも先へプッシュされるのを妨げる。スケジューラ回路３２０は、アロケータ回路３１０から着信した各Ｌ１キャッシュ要求のブロック・パラメータをピクセル待ち行列中の各項目のブロック・フィールドと比較する。着信ブロック・パラメータがピクセル待ち行列中の項目に一致する場合、着信Ｌ１キャッシュ要求はスケジューラ回路３２０によって遅延させられる。
【０１０３】
図７は、一実施例のアービタ回路３３０を示す。アービタ回路３３０は、１組のＬ２キャッシュ・タグ（Ｌ２＄タグ）、１組のＬ１キャッシュ・タグ（Ｌ１＄タグ）、スコアボード、１組のインタロックを維持し、インタフェース状態マシンを含む。アービタ回路３３０は、各サイクル中に操作バス１１０および１１２上でＦＢＲＡＭチップ７１ないし８２へ転送すべき１つのＤＲＡＭオペレーションおよび１つのピクセル・オペレーションを選択する。アービタ回路３３０は、ＦＢＲＡＭチップ７１ないし８２の内部状態の詳細なモデルを維持して、ＤＲＡＭオペレーションおよびピクセル・オペレーションが適切に発行されるようにする。
【０１０４】
Ｌ１キャッシュ・タグおよびＬ２キャッシュ・タグは、ＦＢＲＡＭチップ７１ないし８２中のＬ１ピクセル・キャッシュおよびＬ２ピクセル・キャッシュの状態を示す。スコアボードは、ＦＢＲＡＭチップ７１ないし８２内部のピクセルＡＬＵパイプラインの状態を追跡する。インタロックは、ＤＲＡＭオペレーションに関するＦＢＲＡＭチップ７１ないし８２のハードウェア・タイミング要件を追跡する。インタフェース状態マシンは、適切な回線反転を維持し、ＦＢＲＡＭチップ７１ないし８２のデータ・ピンへの拡張読取りサイクルをサポートする。
【０１０５】
アービタ回路３３０は、スケジューラ回路３２０から着信したピクセル・アクセス・パラメータをスコアボード中の情報と比較する。スコアボード中の情報は、ＦＢＲＡＭチップ７１ないし８２のピクセルＡＬＵで現在実行中のオペレーションが、着信ピクセル・アクセス要求に干渉しないようにする。また、着信ピクセル・アクセス・パラメータは、ＦＢＲＡＭチップ７１ないし８２のＬ１ピクセル・キャッシュで、指定されたピクセル・データが利用できるように、Ｌ１キャッシュ・タグと比較される。着信ピクセル・アクセス・オペレーションフィールドは、インタフェース状態マシンの現状態と比較されて、データ・バスが使用できるかどうかが判定される。スコアボードとの競合、Ｌ１キャッシュ・タグとの競合、またはインタフェース状態マシン中の競合がアービタ回路３３０によって検出された場合、スケジューラ回路３２０から着信したピクセル・アクセス・パラメータは停止される。
【０１０６】
アービタ回路３３０は、Ｌ２ピクセル・キャッシュで、必要なＤＲＡＭページが利用できるように、スケジューラ回路３２０から着信したＬ１キャッシュ要求をＬ２キャッシュ・タグと比較する。アービタ回路３３０は、Ｌ１キャッシュ・ブロックがＬ２ピクセル・キャッシュへ転送される前に、指定されたＬ１キャッシュ・ブロックへのすべての未処理ピクセル書込みが完了するように、着信Ｌ１キャッシュ書込み要求をスコアボードと比較する。アービタ回路３３０は、ＦＢＲＡＭチップ７１ないし８２のグローバル・バスがビジーでなくなるように、すべての着信Ｌ１キャッシュ要求をインタロックと比較する。さらにアービタ回路３３０は、スケジューラ回路３２０から着信したＬ２キャッシュ要求をインタロックと比較する。
【０１０７】
図８は、アービタ回路３３０中のＬ２キャッシュ・タグを示す。Ｌ２キャッシュ・タグの各項目は、対応するＤＲＡＭバンクＡないしＤの状態を示すビットを含む。このビットは、ＤＲＡＭバンクＡないしＤにアクセスするか、それとも前記バンクをプレチャージするかを示す。Ｌ２キャッシュ・タグの各項目はページ・フィールドも含む。各Ｌ２キャッシュ・タグ項目の状態ビットは、ＦＢＲＡＭチップ７１ないし８２でのＤＲＡＭオペレーションの指定されたサブセットを実行できることを示す（Ａ）に、アクセス・ページ・オペレーションによってセットされる。指定される１組のＤＲＡＭオペレーションには、ページ重複、ブロック読取り、マスク・ブロック書込み、マスクされないブロック書込み、ビデオ転送、プレチャージが含まれる。状態ビットは、プレチャージ・オペレーションによってクリアされ、ページ・アクセス・オペレーションまたはプレチャージ・オペレーションを実行できることを示す。
【０１０８】
図９は、一実施例のアービタ回路３３０中のＬ１キャッシュ・タグのフォーマットを示す。Ｌ１キャッシュ・タグは、アロケータ回路３１０中のＬ１キャッシュ・テーブルに類似しているが、ＦＢＲＡＭチップ７１ないし８２に関するより新しい状態情報を提供する。
【０１０９】
図１０は、アービタ回路中のスコアボードのフォーマットを示す。スコアボードは、ＦＢＲＡＭチップ７１ないし８２中のパイプライン化ピクセルＡＬＵを通過するピクセル・アクセス・オペレーションを追跡する。スコアボードは、前の５サイクル中にレンダリング・バス９８を介してＦＢＲＡＭチップ７１ないし８２へ発行されたピクセル・オペレーションのブロック・アドレスおよびワード・アドレスを追跡する。アービタ回路３３０は、スコアボードに示されたように、同じブロックおよびワードへの前にディスパッチされたピクセル書込みが依然として、ピクセルＡＬＵのパイプラインを介して伝搬している場合、Ｌ１ピクセル・キャッシュからの読取りを行うピクセル・アクセス・オペレーションを停止させる。
【０１１０】
また、スコアボードは、ＦＢＲＡＭチップ７１ないし８２中のピクセルＡＬＵオペレーションとＬ１キャッシュとＬ２キャッシュの間の転送（書直しまたはＵＷＢ、ＭＷＢ）の調和をはかる。Ｌ１キャッシュとＬ２キャッシュの間の転送は、スコアボードに示されたように、指定されたＬ１キャッシュ・ブロックへのピクセル書込みオペレーションがピクセルＡＬＵのパイプラインを介して伝搬している場合、アービタ回路３３０によって停止される。
【０１１１】
各スコアボード項目は、有効ビットと、ブロック・フィールドと、ワード・フィールドとを含む。アービタ回路３３０は、ピクセル書込みオペレーションがＦＢＲＡＭチップ７１ないし８２に発行されたときに項目の有効ビットをセットする。対応する項目のブロック・アドレスおよびワード・アドレスは、スケジューラ回路３２０から受け取った対応するピクセル・アクセス・オペレーション用のパラメータからコピーされる。アービタ回路３３０は、あらゆるサイクルでスコアボード項目を先へ進める。
【０１１２】
アービタ回路３３０は、スケジューラ回路３２０から着信した各ピクセル・アクセス・オペレーションをスコアボード中のすべての５つの項目と比較する。着信ピクセル・アクセス・オペレーションがスコアボード中のＬ１キャッシュ・ブロックからの読取りを指定するものであり、対応する有効ビットがセットされており、スコアボードの対応するブロック・フィールドおよびワード・フィールドが一致する場合、着信ピクセル・アクセス・オペレーションが停止される。スコアボードは、Ｌ１ピクセル・キャッシュからの読取りを必要としない着信ピクセル・アクセス・オペレーションに関しては無視される。また、アービタ回路３３０は、Ｌ１ピクセル・キャッシュからＬ２ピクセル・キャッシュへの転送を指定する各着信Ｌ１＄キャッシュ要求を、スコアボードの各項目の有効フィールドおよびブロック・フィールドと比較する。そのようなオペレーションには、マスクされないブロック書込みオペレーションとマスクされたブロック書込みオペレーションが含まれる。スコアボード中の項目のブロック・フィールドが着信要求に一致し、対応する有効ビットがセットされている場合、Ｌ１キャッシュ要求はアービタ回路３３０によって停止される。
【０１１３】
ＦＢＲＡＭデバイスのタイミング仕様を実施するためにインタロックが提供されている。アービタ中のインタロックは、１組のカウンタを備える。このようなカウンタには、各ＤＲＡＭバンクＡないしＤごとの２つのバンク内カウンタ、すなわち１つのバンク間カウンタと１つのグローバル・バス・カウンタが含まれる。対応するＤＲＡＭオペレーションが、ＦＢＲＡＭへ発行され、次いであらゆるサイクルでカウント・ダウンされるとき、これらのカウンタにはある種の値が値がロードされる。ある種のＤＲＡＭオペレーションは、対応するカウンタがゼロでないときには停止される。
【０１１４】
バンク内継続時間カウンタはＤＲＡＭオペレーションがカウンタのバンクへ発行されたときに必ずロードされる。バンク内継続時間カウンタにロードされる値は、ＤＲＡＭオペレーションのタイプに依存する。バンクへのＤＲＡＭオペレーションは、バンクのバンク内継続時間カウンタがゼロでない場合は停止される。
【０１１５】
バンク内プレチャージ・カウンタはＡＣＰオペレーションがカウンタのバンクへ発行されたときにロードされる。バンクへのプレチャージ・オペレーションは、バンクのバンク内プレチャージ・カウンタがゼロでない場合には停止される。
【０１１６】
バンク間カウンタは、ＡＣＰ  ＤＲＡＭオペレーション、ＤＵＰ  ＤＲＡＭオペレーション、またはＶＤＸ  ＤＲＡＭオペレーションがＦＢＲＡＭへ発行されたときに必ずロードされる。ＡＣＰ  ＤＲＡＭオペレーション、ＤＵＰ  ＤＲＡＭオペレーション、ＶＣＸ  ＤＲＡＭオペレーション、およびＰＲＥ  ＤＲＡＭオペレーションは、バンク間カウンタがゼロでない場合には停止される。
【０１１７】
グローバル・バス・カウンタは、ＲＤＢ  ＤＲＡＭオペレーション、ＵＷＢ  ＤＲＡＭオペレーション、またはＭＷＢ  ＤＲＡＭオペレーションがＦＢＲＡＭへ発行されたときに必ずロードされる。ＲＤＢ  ＤＲＡＭオペレーション、ＵＷＢ  ＤＲＡＭオペレーション、またはＭＷＢ  ＤＲＡＭオペレーションは、グローバル・バス・カウンタがゼロでない場合には停止される。
【０１１８】
他のインタロックは、グローバル・バス上で転送されているＬ１キャッシュ・ブロックに対するピクセル・オペレーションを停止する。
【０１１９】
図１１は、アービタ回路３３０中のインタフェース状態マシンを示す。インタフェース状態マシンは、フレーム・バッファ・メモリ装置制御装置８３とＦＢＲＡＭチップ７１ないし８２の間の双方向バス９８のオペレーションを制御する。インタフェース状態マシンは、レンダリング・バス９８の書込みトランザクションが１サイクルを必要とするようにする責任を負う。レンダリング・バス９８を介した読取りトランザクションには２サイクルが必要である。また、インタフェース状態マシンは、レンダリング・バス９８を介する読取りオペレーションとその後の書込みオペレーションの間に２つのアイドル・サイクルが挿入されるようにする。
【０１２０】
ビデオ要求ジェネレータ３４０は、ビデオ操作バス１０８を介してビデオ出力回路８４からタイミング信号を受け取る。ビデオ要求ジェネレータは、１つのＦＢＲＡＭチップ７１ないし８２からＱＳＦ信号も受け取る。ビデオ操作バス１０８上のタイミング信号は、ビデオ出力回路８４によって１組のビデオ線１０４を介して駆動される表示装置に関する各フレームおよび各走査線の始めを示す。ＱＳＦ信号は、ビデオ転送オペレーションをいつＦＢＲＡＭチップ７１ないし８２へ発行すべきかを示す。
【０１２１】
ビデオ要求ジェネレータ３４０は、モード・フィールドと、バンク・フィールドと、ページ・フィールドと、アービタ回路３３０への走査線アドレス・フィールドとを備えるビデオ転送要求を発行する。アービタ回路３３０は、ビデオ転送要求を使用して、ＦＢＲＡＭチップ７１ないし８２に対する一連のＤＲＡＭオペレーションを生成する。ＤＲＡＭオペレーションには、指定されたバンクおよびページへのページ・アクセス・オペレーションと、指定されたバンクおよび走査線へのビデオ転送オペレーションと、指定されたバンクのへのプレチャージ・オペレーションが含まれる。
【０１２２】
前記明細では、特定の実施例に関して本発明を説明したが、添付の特許請求の範囲に記載した本発明の広範囲な趣旨および範囲から逸脱せずに様々な修正および変更を本発明に加えられることが明らかになろう。したがって、明細および図面は、制限的なものではなく例示的なものとみなすべきである。
【図面の簡単な説明】
【図１】  １組のＦＢＲＡＭチップと、レンダリング・プロセッサと、フレーム・バッファ・メモリ装置制御装置と、ビデオ出力回路とを備えるグラフィック・サブシステムを示す図である。
【図２】  ＤＲＡＭアレイと、一対のビデオ・バッファと、ピクセル・バッファと、ピクセルＡＬＵとを備える、一実施例のＦＢＲＡＭチップを示す図である。
【図３】  トランスレータ回路と、アロケータ回路と、スケジューラ回路と、アービタ回路と、ビデオ要求ジェネレータとを備える、一実施例のフレーム・バッファ・メモリ装置制御装置を示す図である。
【図４】  トランスレータ回路によって、フレーム・バッファ制御バスを介して受け取ったＸピクセル・アドレスおよびＹピクセル・アドレスをＦＢＲＡＭチップ用のバンク・パラメータ、ページ・パラメータ、ブロック・パラメータ、ワード・パラメータとしてマッピングすることを示す図である。
【図５】  トランスレータ回路からの着信ピクセル・アクセスにＬ１キャッシュ要求およびＬ２キャッシュ要求が必要であるかどうかを判定するアロケータ回路を示す図である。
【図６】  ピクセル・アクセス・パラメータをピクセル待ち行列に置き、Ｌ１キャッシュ要求をＬ１キャッシュ待ち行列（Ｌ１＄待ち行列）に置き、Ｌ２キャッシュ要求をＬ２キャッシュ待ち行列（Ｌ２＄待ち行列）に置く、スケジューラ回路を示す図である。
【図７】  １組のＬ２キャッシュ・タグ（Ｌ２＄タグ）、１組のＬ１キャッシュ・タグ（Ｌ１＄タグ）、スコアボード、１組のインタロックを維持し、インタフェース状態マシンを含む、アービタ回路を示す図である。
【図８】  ＤＲＡＭバンクがアクセスされるか、それともプレチャージされるかを示す対応するＤＲＡＭの状態を示すビットを含むアービタ回路中のＬ２キャッシュ・タグを示す図である。
【図９】  一実施例のアービタ回路のＬ１キャッシュ・タグのフォーマットを示す図である。
【図１０】  ＦＢＲＡＭチップ中のパイプライン化ピクセルＡＬＵを通過するピクセル・アクセス・オペレーションを追跡するアービタ回路中のスコアボードのフォーマットを示す図である。
【図１１】  フレーム・バッファ・メモリ装置制御装置とＦＢＲＡＭチップの間の双方向バスのオペレーションを制御するアービタ回路中のインタフェース状態マシンを示す図である。
【符号の説明】
５２  ビデオ・バッファ、  ５６  ピクセル・バッファ、  ５８  ピクセルＡＬＵ、  ６０  グローバル・バス、  ７０  レンダリング・プロセッサ、  ７１ＦＢＲＡＭチップ、  ８３  フレーム・バッファ・メモリ装置制御装置、  ８４  ビデオ出力回路、  ９８  レンダリング・バス、  １０２  システム・バス、  １１０  ＤＲＡＭ操作バス、  １１２  ピクセル操作バス、  １１４  ビデオ・ポート制御インタフェース、  １１６  ＤＲＡＭ制御インタフェース、  １１８  ピクセル・ポート制御インタフェース、  １３４  ビデオ・バス、  １６２  ピクセル入力データ、  １９４  ダーティ・タグ・メモリ、  ２０２  ＡＬＵポート、  ２０４  読取りポート。
【図１】
0003828184.tif 000010
【図２】
0003828184.tif 000011
【図３】
0003828184.tif 000012
【図４】
0003828184.tif 000013
【図５】
0003828184.tif 000014
【図６】
0003828184.tif 000015
【図７】
0003828184.tif 000016
【図８】
0003828184.tif 000017
【図９】
0003828184.tif 000018
【図１０】
0003828184.tif 000019
【図１１】
0003828184.tif 000020