(57)【要約】【課題】メモリ統合型のグラフィックス表示装置において、ＣＰＵのキャッシュモードに適応してグラフィックスプロセッサの表示アクセスを制御し、グラフィックスメモリのアクセス効率を改善し、動画の画質を向上させる。【解決手段】ＣＰＵ１０とグラフィックスプロセッサ２０が共通のグラフィックスメモリ４０をアクセスするメモリ統合型のグラフィックス表示装置において、グラフィックスプロセッサ２０に、ＣＰＵ１０のキャッシュ方式を指定するビットを設け、この指定に応じて１回の最大表示アクセスの時間を変更する。即ち、コピーバック方式の場合は、ストアスルー方式の場合に比べてＣＰＵのライトアクセスが短いので、グラフィックスプロセッサ２０の表示アクセス時間を短縮する。【選択図】図１
2005276194.tif 000002
【特許請求の範囲】
【請求項１】
表示すべきグラフィックス図形の種類や頂点パラメータ等で構成される描画手続き情報を生成するＣＰＵと、そのＣＰＵから書き込まれる前記描画手続き情報や表示器に出力する描画データを記憶するメモリと、前記描画手続き情報に対する描画アクセスを行なって前記メモリに描画データを記憶し、さらに前記描画データを前記表示器に出力する表示読み出しを行うグラフィックスプロセッサを備え、前記ＣＰＵと前記グラフィックスプロセッサの双方から前記メモリをアクセスするグラフィックス表示装置において、
前記グラフィックスプロセッサは、前記ＣＰＵに具備され前記グラフィックスメモリへデータを転送するキャッシュメモリのキャッシュ方式に応じて、前記グラフィックスメモリに対する表示読み出しタイミングを変化させることを特徴とするグラフィックス表示装置。
【請求項２】
請求項１において、前記グラフィックスプロセッサは、前記キャッシュ方式が前記グラフィックスメモリに対して、複数ワードのデータを連続して転送する方式か又は１ワード毎に転送する方式かを示すキャッシュ方式情報を前記ＣＰＵから与えられ、前者の場合は後者に比べて１回の表示読み出しの連続時間を短くすることを特徴とするグラフィックス表示装置。
【請求項３】
表示すべきグラフィックス図形の種類や頂点パラメータ等で構成される描画手続き情報の記憶エリア及び表示器に出力するビットマップ情報を記憶するエリアを有するグラフィックスメモリに対して、前記ビットマップ情報を生成するための描画アクセス及び、表示器に表示データを出力するための表示アクセスを行うグラフィックスプロセッサにおいて、
前記グラフィックスメモリに対する前記描画手続き情報のライトアクセスが複数ワードのデータを連続アドレスで転送する方式か又は、１ワード毎に転送する方式かを示す転送方式情報を設定され、前者の場合は後者に比べて１回の表示アクセスの連続時間を短くすることを特徴とするグラフィックスプロセッサ。
【請求項４】
請求項３において、前記グラフィックスプロセッサは、前記描画アクセスを行なう描画ユニットと前記表示アクセスを行なう表示コントローラと、ＣＰＵからのデータ転送を受信し前記ライトアクセスを行なうインターフェイス手段と、それらのメモリアクセス要求を受付け前記表示アクセスを優先して制御するメモリコントローラ手段を備え、
前記描画手続き情報を転送する前記ＣＰＵのキャッシュ方式によって前記転送方式情報を設定し、前記キャッシュ方式がコピーバック方式の場合はライトスルー方式に比べて１回の表示アクセスの連続時間を短くすることを特徴とするグラフィックスプロセッサ。
【請求項５】
請求項３または４において、前記グラフィックスプロセッサは、前記表示アクセスによって前記グラフィックスメモリから読み出されたビットマップ情報を一時記憶し、表示器のタイミングに応じて出力する表示バッファを備え、
前記１回の表示アクセスによる連続ワード数を前記表示バッファのデータ保持数の最大値とし、前記表示アクセスの要求発行のタイミングを前記データ保持数未満のしきい値とし、これらの最大値としきい値を前記転送方式情報に応じて変化させることを特徴とするグラフィックスプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はグラフィックス表示装置に係り、特に動画の表示に必要な複数の情報を同一メモリに統合したグラフィックス表示装置とグラフィックスプロセッサに関する。
【背景技術】
【０００２】
高速な三次元グラフィックスを処理するプロセッサとして、非特許文献１記載の例がある。このプロセッサは、プロセッサ専用メモリとして、テクスチュア用メモリ、フレームバッファ用メモリ、ローカル用メモリの３種類を設けている。このアーキテクチャは性能向上の上で有利であるが、メモリが複数になるため個人向け携帯機器等の小形、低廉の装置には向かない。
【０００３】
一方、グラフィックス情報を一元化し、引用例１に比べてメモリ個数を削減できる例に特許文献１がある。このグラフィックスシステムでは、ＣＰＵの主メモリ中にＣＰＵのプログラム、テクスチャデータ、フレームバッファ等を統合して持つ。
【０００４】
【特許文献１】特開平５−２５７７９３号公報
【非特許文献１】３次元ＣＧ描画ＬＳＩ−パソコンで３０万ポリゴン／秒実現−（日経エレクトロニクス；Ｎｏ．６４０，1995.7.17，ｐｐ109−120）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記した従来技術においては、メモリのアクセス能力が数百ＭＢ／ｓといった十分高速のメモリシステムを備え、表示データ読出しの時間は十分に確保できていることが実現の前提となる。このことは、高価なメモリシステムを必要とし、小型化、低価格化の妨げとなる。
【０００６】
特許文献１の構成において、もし、安価なメモリシステムを用いてメモリのアクセス能力を下げると、動画に必要な表示データの読出し時間の確保のために、表示以外の描画やＣＰＵアクセスとの調整が必要になる。ＣＰＵからのライトアクセスの時間はデータ量によって変化するが、高速グラフィックスのための時間当たりのデータ量は増大し、１画面当たりのアクセス時間も長くなる。
【０００７】
このため、メモリ統合タイプでは表示アクセスを優先する。しかし、グラフィックスメモリから描画データを読み出す（以下、表示アクセスと呼ぶ）のアクセス要求が発行されても、ＣＰＵなど他のアクセスの実行中はそれが終了するまで待たされることになり、その間に表示バッファのデータが空になると、動画の表示画面が乱れてしまう。そこで、表示アクセス時間に余裕を持たせて、表示バッファのデータ蓄積量を高めて、動画の画質を維持している。しかし、従来の表示アクセス優先方式ではグラフィックスメモリのアクセス効率が低下するために、ＣＰＵによる高速グラフィックスの処理が困難になる。
【０００８】
一般に、ＣＰＵは出力データを転送するためのキャッシュメモリを内蔵し、そのキャッシュ方式によってメモリアクセスのタイミングが相違する。たとえば、１ワードのみを転送するライトスルー方式に対し、複数ワード連続して転送するコピーバック方式は、描画手続き情報（以下では、描画コマンド）をまとめて転送できるのでアクセス時間を短縮できるにもかかわらず、アクセス時間の長いライトスルー方式において余裕のある表示アクセス時間の確保を行なっている。即ち、キャッシュ方式の違いに対する考慮がなされていないために、メモリのアクセス効率が低下し、コピーバック方式で可能な高速のグラフィックス表示が犠牲にされていた。
【０００９】
本発明の目的は、ＣＰＵとグラフィックスプロセッサの双方からアクセスする１つのグラフィックスメモリを用いる場合に、ＣＰＵのキャッシュ方式に応じて１回の表示アクセスの連続時間を最適化して、メモリのアクセス効率を高め、高速のグラフィックス表示を実現する表示装置と、そのグラフィックスプロセッサを提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成する本発明のグラフィックス表示装置は、表示すべきグラフィックス図形の種類や頂点パラメータ等で構成される描画手続き情報（描画コマンド）を生成するＣＰＵと、そのＣＰＵから書き込まれる（ライトアクセス）前記描画手続き情報や表示器に出力する描画データ（ビットマップ情報）を記憶する１つのメモリと、前記描画手続き情報に対する描画アクセスを行なって前記メモリに描画データを記憶し、さらに前記描画データを前記表示器に出力する表示読み出し（表示アクセス）を行うグラフィックスプロセッサを備え、さらに、前記グラフィックスプロセッサは、前記ＣＰＵに具備され前記メモリへデータを転送するキャッシュメモリのキャッシュ方式に応じて、前記メモリに対する表示読み出しタイミングを変化させることを特徴とする。
【００１１】
前記グラフィックスプロセッサは、前記キャッシュ方式が前記メモリに対して、複数ワードのデータを連続して転送する方式か又は１ワード毎に転送する方式かを示すキャッシュ方式情報を前記ＣＰＵから与えられ、前者の場合は後者に比べて１回の表示読み出しの連続時間を短くすることを特徴とする。
【００１２】
上記目的を達成する本発明のグラフィックスプロセッサは、表示すべきグラフィックス図形の種類や頂点パラメータ等で構成される描画手続き情報（描画コマンド）の記憶エリア及び表示器に出力するビットマップ情報を記憶するエリアを有するグラフィックスメモリに対して、前記ビットマップ情報を生成するための描画アクセス及び、表示器に表示データを出力するための表示アクセスを行うものであって、さらに、前記グラフィックスメモリに対する前記描画手続き情報のライトアクセスが複数ワードのデータを連続アドレスで転送する方式か又は、１ワード毎に転送する方式かを示す転送方式情報を設定され、前者の場合は後者に比べて１回の前記表示アクセスの連続時間を短くすることを特徴とする。
【００１３】
また、前記グラフィックスプロセッサは、前記描画アクセスを行なう描画ユニットと前記表示アクセスを行なう表示コントローラと、ＣＰＵからのデータ転送を受信し前記ライトアクセスを行なうインターフェイス手段と、それらのメモリアクセス要求を受付け前記表示アクセスを優先するように制御するメモリコントローラ手段を備え、前記描画手続き情報を転送する前記ＣＰＵのキャッシュ方式によって前記転送方式情報を設定し、前記キャッシュ方式がコピーバック方式の場合はライトスルー方式に比べて１回の表示アクセスの連続時間を短くすることを特徴とする。
【００１４】
さらに、前記グラフィックスプロセッサは、前記表示アクセスによって前記グラフィックスメモリから読み出されたビットマップ情報を一時記憶し、表示器のタイミングによって出力する表示バッファを備え、前記１回の表示アクセスによる連続ワード数を前記表示バッファのデータ保持数の最大値とし、前記表示アクセスの要求発行のタイミングを前記データ保持数未満のしきい値とし、これらの最大値としきい値を前記転送方式情報に応じて変化させることを特徴とする。
【００１５】
本発明の構成によれば、ＣＰＵがコピーバック方式の場合に、ＣＰＵのグラフィックスメモリに対するデータの書き込みは連続アドレスとなるので、同一データ量に対するライトアクセス時間が短くてすむ。その分、表示アクセスの優先確保のための余裕時間が少なくてすみ、全体として１回のライトアクセス時間と表示アクセス時間は、ライトスルー方式の場合に比べて短縮できるので、メモリのアクセス効率が高まり、高速のグラフィックス処理が可能になる。言い替えれば、ＣＰＵ側が高速のコピーバック方式によって、描画データのライトアクセスを行なうのに追随して、高速の描画処理を行なうことができる。
【発明の効果】
【００１６】
本発明によれば、グラフィックスプロセッサに対してＣＰＵのキャッシュ方式の違いを設定することによって、グラフィックスメモリを効率良くアクセスすることが可能となる。従って、グラフィックス表示処理の高速化を図ることができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明による一実施形態を図面にしたがって詳細に説明する。図１は、本発明を適用する図形処理システムの構成図を示す。ＣＰＵ１０は装置全体の制御を行うと共に、表示器５１に図形を表示するためのプログラムを実行する。主メモリ１１は、ＣＰＵ１０が処理するデータやプログラムを記憶する。ＣＤ−ＲＯＭコントローラ１２はＣＤ−ＲＯＭの図形情報をアクセスし、通信コントローラ１３は図示しない他の装置との情報を送受する。
【００１８】
グラフィックスプロセッサ２０は、グラフィックスメモリ４０内の表示領域に図形を描画し、さらに描画したデータを読み出して表示器５１に図形を表示する。ＤＡＣ（Digital to Analog Converter）１０は、グラフィックスプロセッサ２０が出力するディジタル形式の表示データをアナログデータに変換する。
【００１９】
グラフィックスメモリ４０を構成する素子としては、ＤＲＡＭを用いるのが望ましい。ＤＲＡＭは他のメモリに比べて、チップ面積に対するトランジスタの集積度が高いためである。また、高速ページモードアクセスというアクセス方式を持っており、アドレスの上位部分（例えばビット９以上）が一致している場合の連続アクセスでは、高速なアクセスが可能になる。
【００２０】
本装置で表示する図形は、１／６０秒または１／３０秒周期で、図形の大きさや位置を少しずつ変化させ、画面を連続的に見せることでグラフィックス図形の動画表示を行う。このため、ＣＰＵ１０やグラフィックスプロセッサ２０は、１／６０秒または１／３０秒内に１画面分の描画を行なう。図形の描画は、次の手順で行なわれ、１画面分を繰返し処理する。
（１）ＣＰＵ１０による図形データの座標変換
表示すべき図形に対して、方向や大きさ等を計算し、図形の頂点座標の計算を行う。三角形や四角形の単純図形を多数組合せて構成した複雑な図形の場合、その全ての単純図形の頂点座標を計算する。
（２）ＣＰＵ１０によるディスプレイリストの作成
多数の単純図形からなる複雑な図形をグラフィックスメモリ４０に描画するために、ＣＰＵ１０は描画コマンド（以下では単に、コマンドと呼ぶ）をグラフィックスプロセッサ２０が実行できるコマンド形式に変換して、グラフィックスメモリ４０に転送する。通常は、単純図形単位のコマンドを組み合わせ、１図形分のコマンドに連結する。このコマンドが連結したものをディスプレイリストと呼ぶ。ディスプレイリストは数１０〜数１００Ｋバイトの大きさで、ディスプレイリスト領域４０１に格納される。
（３）グラフィックスプロセッサ２０による描画
このディスプレイリストをグラフィックスプロセッサ２０が順次、読み込み、リストに示されるコマンドに従って、グラフィックスメモリ４０内の描画・表示領域４０２に描画する。
（４）グラフィックスプロセッサ２０による表示
描画・表示領域４０２に描画された図形は、グラフィックスプロセッサ２０により表示タイミングで読み出され、表示器５１に表示される。描画・表示領域４０２はダブルバッファで構成され、描画と表示のバッファが交互に切り替わる。
【００２１】
以上の（１）〜（４）の処理を、１／６０秒または１／３０秒周期で繰り返す。システムバス１４は、上記の周期でディスプレイリストのデータを転送する。
【００２２】
次に、グラフィックスプロセッサ２０の構成と動作の概略を説明する。ＣＰＵＩ／Ｆ２１は、ＣＰＵ１０がシステム制御レジスタ３２等のレジスタ類やグラフィックスメモリ４０をアクセスするための制御を行う。描画ユニット２３は、グラフィックスメモリ４０内のディスプレイリストをフェッチし、そのリストに示されるコマンドに従って描画を行う。パラメータ変換部２２は、必要に応じてコマンドのパラメータを変換する。表示コントローラ２４は、描画ユニット２３が描画したデータを表示するための制御を行なう。
【００２３】
このように、グラフィックスプロセッサ２０はその各要素が何らかの処理を行う度にグラフィックスメモリ４０をアクセスするため、グラフィックスメモリ４０のアクセス効率を高めることが処理速度の向上につながる。そこで、グラフィックスプロセッサ２０は、アクセス要求単位にキャッシュやＦＩＦＯを持つことでアクセス効率を高める。
【００２４】
ＣＰＵＦＩＦＯ２５は、ＣＰＵ１０によるグラフィックスメモリ４０のアクセスを高速化する。キャッシュ（１）２６はコマンド専用、キャッシュ（２）２７はテクスチャ専用、キャッシュ（３）２８は描画専用である。また、表示データ用に表示バッファ２９を持つ。
【００２５】
メモリコントローラ３０は、キャッシュ（１）〜（３）やＦＩＦＯ２５等から、グラフィックスメモリ４０に対するアクセス要求を受け付け、その優先順位を決定し、アクセスを制御する。メモリコントローラ３０は表示コントローラ２４からのアクセスを最優先する。しかし、ＣＰＵ１０や描画ユニット２３からのアクセスが行なわれている間は、それらは中断されずに表示コントローラからのアクセスが待たされる。
【００２６】
システム制御レジスタ３２は、グラフィックスプロセッサ２０の動作モードを指定するレジスタである。レジスタ３２は、ＣＰＵ１０のキャッシュモードを指定するＣＡＭ（CPU Access Mode）ビッを有している。
【００２７】
図２に、グラフィックスプロセッサ２０の端子機能（１）〜（５）を示す。
（１）Ｓｙｓｔｅｍ系
システムモードの設定とクロック及びリセットを入力する端子である。グラフィックスプロセッサ２０は、描画系と表示系で独立したクロックを入力でき、表示器５１の性能に関係なく、描画系は常に高速処理を行うことができる。
（２）ＣＰＵ系
ＣＰＵＩ／Ｆ２１用の端子である。ＣＰＵ１０はグラフィックスメモリ４０の全空間と、システム制御レジスタ３２等の内部レジスタをアクセスすることができる。グラフィックスメモリ４０をアクセスする場合は、ＣＳ０端子をＬｏｗに、レジスタをアクセスする場合はＣＳ１端子をＬｏｗにする。グラフィックスメモリ４０へのライトアクセスは、バイト単位が可能となるようにライトイネーフ゛ルを２本持つ。このほか、ＤＭＡ転送を制御するＤＲＥＱ，ＤＡＣＫ端子や、バスサイクルを延長するＷＡＩＴ端子、ＣＰＵ１０に対して割り込みを発生させるＩＲＬ端子がある。
（３）Ｐｏｗｅｒ系
電源を供給する端子は、クロック制御を行うＰＬＬ専用の端子と、その他の一般用がある。
（４）Ｄｉｓｐｌａｙ系
表示用の端子にはドットクロック出力（ＤＣＬＫ）、表示データ出力（ＤＤ０−ＤＤ１５）、同期信号の入出力端子（ＨＳＹＮＣ，ＶＳＹＮＣ）等がある。
（５）Ｍｅｍｏｒｙ系
グラフィックスメモリ４０とのＩ／Ｆとして、ＤＲＡＭを直結できる端子を備えている。
【００２８】
図３に、グラフィックスプロセッサの描画コマンドを示す。四角形描画コマンドは、矩形のテクスチャデータを任意の四角形に変形させながら描画する。テクスチャデータが２値の場合はカラー拡張を行う。ＬＩＮＥは単一の直線、または複数の直線を描画する。ＭＯＶＥは描画開始点の移動を行う。ＬＯＦＳは描画座標の原点をずらす。ＭＯＶＥが実行された後のコマンドは、ディスプレイリストに示される座標パラメータに対して、このコマンドで指定した分だけ座標をずらして描画する。ＡＦＦＩＮは図形を描画する場合に、回転や拡大、縮小を指定する。ディスプレイに示される座標パラメータに対して、ＡＦＦＩＮで指定した分だけ座標を回転（または拡大、縮小）して描画する。ＪＵＭＰはディスプレイリストを分岐させる。ＧＯＳＵＢはディスプレイリストのサブルーチンをコールする。ＲＥＴはサブルーチンから復帰する。ＴＲＡＰはディスプレイリストのフェッチを終了する。ＦＬＡＳＨはテクスチャデータのキャッシュであるキャッシュ（２）２７内に存在するデータを無効化し、新たにグラフィックスメモリ４０からデータを読み込ませる。
【００２９】
図４に、グラフィックスプロセッサ内の各レジスタのデータリストを示し、以下にその機能を説明する。
（１）システム制御レジスタ
ＳＲＥＳは、描画ユニット２３をソフトウェアによって初期化し、ＤＲＥＳは、表示コントローラ２４をソフトウェアによって初期化する。ＤＡＣは、表示領域（フレームバッファ領域）を切り替える。ＲＳは、ディスプレイリストのフェッチを開始させる。ＣＡＭはＣＰＵ１０内のキャッシュ１０１の種類を指定する。
【００３０】
ＣＰＵ１０がグラフィックスメモリ４０にデータをストアする動作の特徴として、キャッシュ１０１がコピーバック方式を採用している場合は、キャッシュのラインサイズ分だけ纏めてデータをライトする。一方、ライトスルー方式を採用している場合は、１ワード単位でデータをライトする。従って、ＣＡＭの設定によって、ＣＰＵのキャッシュ方式の指定や切り換えが可能になる。
（２）ステータスレジスタ
ＶＢＫは、表示のフレーム切り替えを通知する。ＴＲＡは、ＴＲＡＰコマンドを実行しディスプレイリストのフェッチを終了したことを通知する。ＤＢＦは、２つのフレームバッファに対し、現在どちらを表示中かを示す。
（３）ステータスレジスタ・クリアレジスタ
対応するステータスレジスタのビットをクリアする。
（４）割り込み許可レジスタ
対応するステータスレジスタの各ビットによって、ＣＰＵ１０に割り込みを発生させることを指定する。
（５）レンダリングモード
ＭＷＸは、画面の横幅が５１２画素以下であるか、それとも５１３画素以上１０２４画素以下であるかを指定する。ＧＢＭは、１画素が８ビットであるか１６ビットであるかを指定する。
（６）表示モード
ＳＣＭは、表示がインタレースであるか、ノンインタレースであるかを指定する。ＴＶＭは、ＴＶ同期モードであるか、それともマスタモードであるかを指定する。ＲＣＹＮは、グラフィックスメモリ４０のリフレッシュサイクル数を指定する。
（７）表示サイズ
表示画面のＸ方向とＹ方向の大きさを指定する。
（８）表示開始アドレス
グラフィックスメモリ４０上の２つのフレームバッファの開始アドレスを指定する。
（９）ディスプレイリストアドレス
グラフィックスメモリ４０上のディスプレイリストのスタートアドレスを指定する。
（１０）ソース領域開始アドレス
テクスチャデータの格納領域の開始アドレスを指定する。
（１１）表示制御関係レジスタ
レジスタ番号１０から１Ａは、表示制御に関するレジスタである。表示画面の大きさ等に合わせて表示データを読み出すタイミングの設定や、水平／垂直同期信号の周期等を設定する。また、表示リセット時出力レジスタは、表示読み出しを行っていない時に画面に表示するカラー値を設定する。例えば、表示動作を停止中は画面をブルーバック（青色表示）にすることができる。
（１２）コマンドステータスレジスタ
ディスプレイリストのフェッチを停止した時のメモリアドレスを通知するレジスタである。
【００３１】
次に、ＣＰＵ１０がグラフィックスメモリ４０をアクセスするためのＣＰＵＦＩＦＯ２５の構成と動作を説明する。
【００３２】
図５は、ＣＰＵＦＩＦＯの機能ブロック図である。ＣＰＵ１０がグラフィックスメモリ４０へのストア動作を行う度に、ＣＰＵＩ／Ｆ部２１からライトリクエスト信号がくる。すると、カウンタ２５２がカウントアップされるとともに、その時のＣＰＵ１０のライトアドレスとデータがＦＩＦＯ２５０に格納される。一致検出部２５３で、カウンタ２５２の値とＦＩＦＯ容量を比較し、ＦＩＦＯが満杯になったことがわかると、フリップフロップ２５８をセットする。その結果、ＣＰＵＩ／Ｆ部２１にはＦＩＦＯ２５０のビジーが通知され、ＣＰＵ１０がこれ以上データをストアしないようにする。
【００３３】
一方で、メモリコントローラ３０には、グラフィックスメモリ４０への書き込み要求を出力する。メモリコントローラ３０は１ワードのデータを書き込む度に、カウンタ２５６を更新するＦＩＦＯカウンタ更新信号を出力する。カウンタ２５６の値は一致検出器２５５によってカウンタ２５２の値と比較される。カウンタ２５６はＦＩＦＯ２５０の読み出しカウンタであり、カウンタ２５２はＦＩＦＯの書き込みカウンタである。この２つの値が一致すると（即ち、ＣＰＵ１０によって書き込まれたワード数だけ、メモリコントローラ３０が読み出すと）、グラフィックスメモリ４０への書き込みを停止するためフリップフロップ２５８をリセットする。
【００３４】
フリーランカウンタ２５４は、一定期間ＣＰＵ１０による書き込みがなかった場合に、ＦＩＦＯ２５０のデータをグラフィックスメモリ４０に書き込むように動作する。また、ＣＰＵ１０がグラフィックスメモリ４０を読み出す場合や、描画ユニット２３がディスプレイリストのフェッチを開始する場合は、これらに先駆けてＦＩＦＯ２５０のデータをグラフィックスメモリ４０に書き込むように動作する。
【００３５】
ここで、ＣＰＵ１０の内部キャッシュ１０１の方式の違いによる、グラフィックスメモリ４０のアクセス時間の違いについて説明する。ＣＰＵ１０のキャッシュ方式として、コピーバック方式とライトスルー方式が知られている。
【００３６】
コピーバック方式では、ＣＰＵ１０がメモリ４０に対するストア命令を実行しても、ＣＰＵ１０内のキャッシュ１０１のみ変更され、メモリ４０内のデータはすぐには変更されない。メモリ４０が変更されるのはキャッシュラインと呼ばれる複数ワードのデータがまとめてキャッシュ１０１からメモリ４０に追い出される場合である。キャッシュラインのデータは連続アドレスの複数ワードである。即ち、ＦＩＦＯ２５０を経由してグラフィックスメモリ４０に書き込まれるデータのアドレスが連続している。従って、ＤＲＡＭの高速ページモードアクセスによって、ＦＩＦＯ２５から短時間でグラフィックスメモリ４０への書き込みができる。
【００３７】
一方、ライトスルー方式は、ＣＰＵ１０がメモリ４０に対するストア命令を実行すると、１ワード単位で直ちにデータがメモリ４０に書き込まれる。従って、前記ＦＩＦＯ２５０には、グラフィックスメモリ４０に書き込むデータが不連続なアドレスとなる場合がある。最悪の場合は全てが不連続となることもある。アドレスが不連続の場合は、ＤＲＡＭの特性によりＦＩＦＯ２５からグラフィックスメモリ４０に書き込む時間が長くなる。最悪なケースでは、コピーバック方式に比べ４倍くらいの時間（最大８０サイクル）となる。
【００３８】
次に、描画用キャッシュ２８の構成と動作を説明する。図６は、描画用キャッシュのブロック図である。キャッシュ（３）は描画専用であるが、描画ユニット２３がキャッシュ（３）２８内のデータを読むことはしない。つまり、描画先の下絵とのデータ演算を行う機能を持っていないので、書き込み動作のみとなる。下絵をリードする必要がないので、メモリアクセス量を極端に低減した高速動作が可能となる。
【００３９】
描画ユニット２３がデータを書き込むと、レジスタファイル２９００に描画アドレスと描画データが記憶され、カウンタ２９０１がカウントアップされる。カウンタ２９０１の値が一致検出部２９０２で比較され、レジスタファイル２９００が満杯になると、フリップフロップ２９０３を介してメモリコントローラ３０に書き込みリクエストを出力する。描画ユニット２３は、キャッシュ（３）２８に空きのある状態で、１つの図形描画コマンドが終了した場合は、キャッシュのデータをフラッシュさせる機能を持つ。フラッシュ信号がアクティブになると、キャッシュ２８はカウンタ２９０１の示すワード数だけ、グラフィックスメモリ４０にデータを書き込む。
【００４０】
これらＣＰＵＦＩＦＯ２５やキャッシュ２８に共通する点として、カウンタ２５２またはカウンタ２９０１で検出したワード数分だけの書き込みデータの転送を行ない、無駄なデータ転送を行なわないことである。この点、ＣＰＵ等で用いられる一般的なキャッシュは、ラインサイズ単位での書き込みとなるので、書き換えを行わない部分のデータも転送する。
【００４１】
図７は、ＣＰＵのアドレスマッピングを示したものである。ＣＰＵ１０のソフトウェアは、グラフィックスメモリ４０を主メモリ１１と区別することなくアクセスできる。
【００４２】
グラフィックスメモリ領域では、フレームバッファ０とフレームバッファ１を設けている。グラフィックスの動画表示を行う場合、１／６０秒単位（あるいは１／３０秒）で、フレームバッファ領域０，１を切り替えて表示を行う。描画ユニット２３は常に、表示を行っていない方のフレームバッファに描画する。これによって、描画の途中状態を表示することがなく、高品質の動画表示が可能となる。ディスプレイリスト領域も２つ設け、描画ユニット２３とＣＰＵ１０が交互に使用する。
【００４３】
次に、表示コントローラ２４による、グラフィックスメモリ４０の表示アクセスと表示バッファ２９の制御方法について説明する。
【００４４】
図８は、表示コントローラの機能ブロック図である。表示コントローラ２４は表示器５１に対して同期信号（ＨＳＹＮＣ，ＶＳＹＮＣ）と表示データを出力し、表示器５１の画面に図形を表示する。タイミング制御部２４６は、同期信号（ＨＳＹＮＣ，ＶＳＹＮＣ）を生成すると共に、表示データ出力制御２４５に対して、表示バッファ２９内のデータの出力タイミングを通知する。
【００４５】
表示バッファ２９はグラフィックスメモリ４０の表示領域のデータの一部をバッファリングする。たとえば表示バッファ２９が１２８ワードであれば、１画素が１バイトのシステムでは２５６画素分のデータを保持していることになる。
【００４６】
また、グラフィックスメモリ４０から表示バッファ２９へのデータ転送速度は、表示バッファ２９から表示器５１への転送速度より十分に高速である。例えば、前者は２８ＭＨｚで動作し、後者は１４ＭＨｚ以下で動作する。従って、グラフィックスメモリ４０からの表示データの読み出しタイミングが多少ずれても、表示器５１へのデータ転送タイミングは常に一定に保つことができる。
【００４７】
表示バッファ２９の読み出しと書き込みは、以下のように行なわれる。表示データ出力制御部２４５は、表示ドットクロック（グラフィックスプロセッサ２０のＤＣＬＫ端子の出力で、表示器５１の１画素単位のクロック）に合わせて、読み出しアドレスレジスタ２４２が示すアドレスから順次、表示バッファ２９を読み出して、表示データを表示器５１に出力すると共に、読み出しアドレスレジスタ２４２を更新する。
【００４８】
一方、グラフィックスメモリアクセス制御部２４０は、グラフィックスメモリアクセストリガ信号によって起動され、連続アクセスワード数（例えば、３２ワード／６４ワード）に設定されるワード数分だけ、メモリコントローラ３０を介してグラフィックスメモリ４０を読み出し、読み出したデータを表示バッファ２９に書き込む。書き込むアドレスは、書き込みアドレスレジスタ２４１から指示される。
【００４９】
書き込みアドレスレジスタ２４１と読み出しアドレスレジスタ２４２は、減算器２４３で常に減算されていて、その差分値は比較器２４４で定数値と比較されている。つまり、差分値が設定されている定数値（例えば、１２ワード／４８ワード）以下になると、上記のトリガ信号が出力されて、グラフィックスメモリアクセス制御部２４０はグラフィックスメモリ４０を表示アクセスし、表示データを表示バッファ２９に蓄える。
【００５０】
図９は、以上の動作を示すタイムチャートである。グラフィックスメモリ４０に対する表示アクセスの最初の動作はＨＳＹＮＣ信号によって開始される。この表示アクセスによって表示バッファ２９のデータ保持数が上昇し、１回の表示アクセスで読み出す連続アクセスワード数（図では、３２ワード）に達すると表示アクセスは中断し、バッファ２９に蓄積されている表示データは表示器５１に転送されて次第に減少する。そして、定数Ａ（図では、１２ワード）以下に減少すると、表示コントローラ２４からメモリコントローラ３０に表示アクセスのリクエストが発行され、リクエストが許可されるとグラフィックスメモリ４０に対する表示アクセスが再び行なわれる。この例で、１画面が３２０×２４０ドットの場合、１画面分の表示のためには１２００回の表示アクセスが繰り返される。
【００５１】
表示バッファ２９への書き込みは読み出しに比べて高速となるので、表示アクセスリクエスト信号が発行されてから、表示アクセスが開始されるまでに時間的な余裕がある。図示の表示アクセス猶予時間Ｔｄがこれに相当し、Ｔｄを経過しても表示アクセスが開始されないと、表示バッファ２９が空になり、表示器５１の画面が乱れることになる。上述のように、メモリコントローラ３０は表示アクセスを最優先に行なうが、そのリクエスト時にＣＰＵ等の他のアクセスが実行中の場合は、その終了まで表示アクセスが待たされる。
【００５２】
従って、表示バッファ２９が空になるのを回避するためには、グラフィックスプロセッサ４０の他のアクセス時間Ｔａ＜Ｔｄの関係を維持する必要がある。このＴａの最大時間から定数Ａが決定される。
【００５３】
他からのアクセス、特にＣＰＵ１０による描画コマンドのライトアクセスは頻度が高く、そのアクセス時間はキャッシュ方式によって相違し、コピーバック方式とライトスルー方式では最大で約４倍も相違する。
【００５４】
図１０は、図９に比べてＴａが４倍となる例の動作を示すタイムチャートである。表示アクセスのリクエストを発行する定数Ｂは、定数Ａの４倍の４８ワードになる。また、１回の表示アクセスで読み出す連続ワード数も増加し、この例では６４ワードとしている。ちなみに、この例における１画面分の表示アクセスは６００回となる。
【００５５】
本実施例では図８のように、表示コントローラ２４では比較器２４４に設定する定数にＡ＝１２とＢ＝４８の２通り、グラフィックスメモリアクセス制御部２４０に設定する連続アクセスワード数にａ＝３２、ｂ＝６４の２通りを用意し、ＣＰＵ１０のキャッシュ方式に応じて、上述したシステム制御レジスタのＣＡＭビット（図４）の指定に対応して、選択するように構成されている。即ち、ＣＡＭビットの値がコピーバック方式を示す場合はＡ，ａの値を、ライトスルー方式を示す場合はＢ，ｂの値を選択する。
【００５６】
これによれば、ＣＰＵがコピーバック方式を採用する場合に、ライトスルー方式の場合に比べて１回の表示アクセス時間を１／４に短縮でき、その分ＣＰＵのライトアクセスの回数を増加できるので、高速のグラフィックスが高速のメモリシステムによらずに実現できる。
【００５７】
また、ＣＡＭビット値を切り替えるだけで、異なるキャッシュ方式に対応できるので、グラフィックスプロセッサの汎用性が高まる。さらに、キャッシュ方式異なる複数のＣＰＵによってグラフィックスメモリがライトされるシステムにおいて、ライトアクセスを発行したＣＰＵのキャッシュ方式に応じて、グラフィックスプロセッサの表示アクセス方式を切り換えるので、高速のキャッシュ方式によるグラフィックスを犠牲にすることがない。
【図面の簡単な説明】
【００５８】
【図１】本発明の位置実施形態による図形処理装置のシステム構成図。
【図２】グラフィックスプロセッサの端子機能の説明図。
【図３】グラフィックスプロセッサの描画コマンドの説明図。
【図４】グラフィックスプロセッサレジスタ機能の説明図。
【図５】ＣＰＵＦＩＦＯの機能ブロック図。
【図６】描画用キャッシュ（３）の機能ブロック図。
【図７】ＣＰＵのアドレスマッピングの説明図。
【図８】表示コントローラの構成図。
【図９】グラフィックスメモリのアクセスと表示バッファの制御の一例を示すタイムチャート。
【図１０】グラフィックスメモリのアクセスと表示バッファの制御の他の例を示すタイムチャート。
【符号の説明】
【００５９】
１０…ＣＰＵ、１１…主メモリ、２０…グラフィックスプロセッサ、２１…ＣＰＵＩ／Ｆ、２２…パラメータ変換部、２３…描画ユニット、２４…表示コントローラ、２５…ＣＰＵＦＩＦＯ、２６…キャッシュ（１）、２７…キャッシュ（２）、２８…キャッシュ（３）、２９…表示バッファ、３０…メモリコントローラ、４０…グラフィックスメモリ、５０…ＤＡＣ（Digital to Analog Converter）、５１…表示器、１０１…ＣＰＵ内蔵キャッシュ、３２０…ＣＡＭビット。
【図１】
2005276194.tif 000003
【図２】
2005276194.tif 000004
【図３】
2005276194.tif 000005
【図４】
2005276194.tif 000006
【図５】
2005276194.tif 000007
【図６】
2005276194.tif 000008
【図７】
2005276194.tif 000009
【図８】
2005276194.tif 000010
【図９】
2005276194.tif 000011
【図１０】
2005276194.tif 000012
【手続補正書】
【提出日】平成17年4月11日(2005.4.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
表示すべきグラフィックス図形の種類や頂点パラメータ等で構成される描画手続き情報を生成するＣＰＵと、前記ＣＰＵが生成した前記描画手続き情報や表示器に出力する描画データを記憶するグラフィックスメモリと、前記描画手続き情報に対する描画アクセスを行って前記グラフィックスメモリに描画データを記憶し、さらに前記描画データを前記表示器に出力する表示読み出しを行うグラフィックスプロセッサを備え、前記ＣＰＵと前記グラフィックスプロセッサの双方から前記グラフィックスメモリをアクセスするグラフィックス表示装置において、
前記ＣＰＵが前記グラフィックスメモリにデータを書き込む場合は、書き込むべきアドレスとデータを前記グラフィックスプロセッサ内のＦＩＦＯに一次記憶させ、前記ＦＩＦＯにデータが記憶されている状態で所定期間、前記ＣＰＵから前記ＦＩＦＯへの書き込みがなされなかった場合には、前記グラフイックスプロセッサは前記ＦＩＦＯに記憶されているデータを前記アドレスに従って前記グラフィックスメモリに書き込むことを特徴とするグラフィックス表示装置。
【請求項２】
表示すべきグラフィックス図形の種類や頂点パラメータ等で構成される描画手続き情報を生成するＣＰＵと、前記ＣＰＵが生成した前記描画手続き情報や表示器に出力する描画データを記憶するグラフィックスメモリと、前記描画手続き情報に対する描画アクセスを行って前記グラフィックスメモリに描画データを記憶し、さらに前記描画データを前記表示器に出力する表示読み出しを行うグラフィックスプロセッサを備え、前記ＣＰＵと前記グラフィックスプロセッサの双方から前記グラフィックスメモリをアクセスするグラフィックス表示装置において、
前記ＣＰＵが前記グラフィックスメモリにデータを書き込む場合は、書き込むべきアドレスとデータを前記グラフィックスプロセッサ内のＦＩＦＯに一次記憶させ、前記ＣＰＵが前記グラフィックスメモリを読み出す場合は、前記ＣＰＵが読み出す前に前記グラフイックスプロセッサは前記ＦＩＦＯに記憶されているデータを前記アドレスに従って前記グラフィックスメモリに書き込むことを特徴とするグラフィックス表示装置。