(57)【要約】【課題】  統合化メモリを内蔵したグラフィックスプロセッサにＣＰＵがアクセスする場合、従来のメモリと同様にアクセスを可能にすること。【解決手段】  画素演算回路４００での演算内容を設定するモード設定回路６００と、画素演算回路４００での処理内容を保持し、メモリ５００へのアクセスが画素演算回路４００で演算処理をする必要があるかどうかを判定するアドレス管理テーブル７００を設けることによって、CPU910が主記憶５１０にアクセスする場合に従来のメモリと同様にアクセスできることを維持しながら、CPU910がソフトウエアで描画処理を行う場合に、時間がかかる画素演算処理を描画回路３００と共用する画素演算回路４００で行う。【選択図】  図１
2005190487.tif 000002
【特許請求の範囲】
【請求項１】
画素ごとの表示データを制御する表示制御回路と、
少なくとも外部のＣＰＵによって作成された演算結果と前記表示データとを記憶するメモリとを有し、
前記表示制御回路と前記メモリは同一の半導体基板上に実装され、
前記ＣＰＵが前記メモリをアクセスする際に前記演算結果をアクセスするアクセス手順と前記表示データとをアクセスするアクセス手順が異なること、を特徴とするグラフィックスプロセッサ。
【請求項２】
請求項１記載のグラフィックスプロセッサにおいて、
前記半導体基板は前記ＣＰＵと接続するためのアドレスストローブ端子とライトイネーブル端子とチップ選択端子と前記ＣＰＵが前記メモリをアクセスする際のアクセス手順指定用の端子を有すること、を特徴とするグラフィックスプロセッサ。
【請求項３】
請求項１記載のグラフィックスプロセッサにおいて、
前記ＣＰＵが前記演算結果と前記表示データをアクセスするためのアクセス情報を保持するアクセス情報保持回路を有すること、を特徴とするグラフィックスプロセッサ。
【請求項４】
請求項３記載のグラフィックスプロセッサにおいて、
前記アクセス情報保持回路は前記アクセス情報を動的に更新できること、を特徴とするグラフィックスプロセッサ。
【請求項５】
請求項３記載のグラフィックスプロセッサにおいて、
前記アクセス情報保持回路は前記アクセス情報として前記ＣＰＵが前記メモリをアクセスする際の前記メモリ内の領域ごとのアクセス時間を保持すること、を特徴とするグラフィックスプロセッサ。
【請求項６】
請求項３記載のグラフィックスプロセッサにおいて、
前記アクセス情報保持回路は前記アクセス情報として前記ＣＰＵが前記メモリをアクセスする際の前記メモリ内の領域ごとのアクセス手順を保持すること、を特徴とするグラフィックスプロセッサ。
【請求項７】
請求項３記載のグラフィックスプロセッサにおいて、
前記アクセス情報保持回路は前記アクセス情報としてアクセス許可情報を保持し、
前記アクセス許可情報は前記ＣＰＵがデータを前記メモリに出力する際に更新すること、を特徴とするグラフィックスプロセッサ。
【請求項８】
請求項３記載のグラフィックスプロセッサにおいて、
前記メモリは複数のバンクで構成され、
前記アクセス情報保持回路は前記アクセス情報を前記バンク毎に保持すること、を特徴とするグラフィックスプロセッサ。
【請求項９】
描画処理を実行する描画回路と、
画素ごとの表示データを制御する表示制御回路と、
メモリとを有し、
前記描画回路と前記表示制御回路と前記メモリとは同一の半導体基板上に実装され、
前記メモリは少なくとも外部のＣＰＵ用のプログラムまたはデータを記憶する領域と前記ＣＰＵと前記描画回路とが共有するプログラムまたはデータを記憶する領域とを有すること、を特徴とするグラフィックスプロセッサ。
【請求項１０】
描画処理を実行する描画回路と、
画素ごとの表示データを制御する表示制御回路と、
外部のＣＰＵの演算結果と前記描画回路の描画結果と前記表示データを記憶するメモリとを有し、
前記描画回路と前記表示制御回路と前記メモリとは同一の半導体基板上に実装され、
前記表示制御回路は前記半導体基板外部との同期手段を有すること、を特徴とするグラフィックスプロセッサ。
【請求項１１】
画素生成処理を実行する描画回路と、
前記描画回路の画素生成結果に対して画素演算処理を実行する画素演算回路と、
前記画素演算回路を制御するための画素演算制御回路と、
画素ごとの表示データを制御する表示制御回路と、
外部のＣＰＵの演算結果と前記画素生成結果と前記表示データとを記憶するメモリとを有し、
前記描画回路と前記画素演算回路と前記画素演算制御回路と前記表示制御回路と前記メモリは同一の半導体基板上に実装され、
前記ＣＰＵと前記描画回路は前記画素演算制御回路に制御データを出力し、
前記画素演算制御回路は前記制御データに基づいて前記画素演算回路を制御すること、を特徴とするグラフィックスプロセッサ。
【請求項１２】
請求項１１記載のグラフィックスプロセッサにおいて、
前記半導体基板は前記ＣＰＵが前記演算結果を前記メモリに出力するための端子を有し、
前記ＣＰＵは前記端子を用いて前記制御データを前記画素演算制御回路に出力すること、を特徴とするグラフィックスプロセッサ。
【請求項１３】
請求項１１記載のグラフィックスプロセッサにおいて、
前記半導体基板は前記ＣＰＵが前記制御データを前記画素演算制御回路に出力するための専用の端子を有すること、を特徴とするグラフィックスプロセッサ。
【請求項１４】
演算処理を実行するＣＰＵと、
画素生成処理を実行する描画回路と、
前記描画回路の画素生成結果に対して画素演算処理を実行する画素演算回路と、
前記画素演算回路を制御するための画素演算制御回路と、
画素ごとの表示データを制御する表示制御回路と、
前記ＣＰＵの演算結果と前記画素生成結果と前記表示データを記憶するメモリとを有し、
前記ＣＰＵと前記描画回路と前記画素演算回路と前記画素演算制御回路と前記表示制御回路と前記メモリとは同一の半導体基板上に実装され、
前記ＣＰＵと前記描画回路は前記画素演算制御回路に制御データを出力し、
前記画素演算制御回路は前記制御データに基づいて前記画素演算回路を制御すること、を特徴とするグラフィックスプロセッサ。
【請求項１５】
請求項１１または１４記載のグラフィックスプロセッサにおいて、
前記半導体基板はビデオ入力端子を有すること、を特徴とするグラフィックスプロセッサ。
【請求項１６】
請求項１１または１４記載のグラフィックスプロセッサにおいて、
前記半導体基板は高速シリアル通信端子を有すること、を特徴とするグラフィックスプロセッサ。
【請求項１７】
演算処理を実行するＣＰＵと、
画素ごとの表示データを制御する表示制御回路と、
少なくとも前記ＣＰＵによって作成された演算結果と前記表示データとを記憶するメモリとを有し、
前記表示制御回路と前記メモリは同一の半導体基板上に実装され、
前記ＣＰＵは前記演算結果をアクセスするアクセス手順と前記表示データとをアクセスするアクセス手順が異なること、を特徴とする図形処理装置。
【請求項１８】
請求項１７記載の図形処理装置において、
前記半導体基板は前記ＣＰＵと接続するためのアドレスストローブ端子とライトイネーブル端子とチップ選択端子と前記ＣＰＵが前記メモリをアクセスする際のアクセス手順指定用の端子を有すること、を特徴とする図形処理装置。
【請求項１９】
請求項１７記載の図形処理装置において、
前記ＣＰＵは前記演算結果を一定のアクセス時間でアクセスし、
前記ＣＰＵは前記表示制御回路の前記表示データへのアクセス状況によって前記表示データへのアクセスをウエイト付アクセスまたはウエイト無しアクセスの何れかで行うこと、を特徴とする図形処理装置。
【請求項２０】
請求項１７記載の図形処理装置において、
前記図形処理装置は前記ＣＰＵが前記演算結果と前記表示データをアクセスするためのアクセス情報を保持するアクセス情報保持回路を有すること、を特徴とする図形処理装置。
【請求項２１】
請求項２０記載の図形処理装置において、
前記アクセス情報保持回路は前記アクセス情報を動的に更新できること、を特徴とする図形処理装置。
【請求項２２】
請求項２０記載の図形処理装置において、
前記アクセス情報保持回路は前記アクセス情報として前記ＣＰＵが前記メモリをアクセスする際の前記メモリ内の領域ごとのアクセス時間を保持すること、を特徴とする図形処理装置。
【請求項２３】
請求項２０記載の図形処理装置において、
前記アクセス情報保持回路は前記アクセス情報として前記ＣＰＵが前記メモリをアクセスする際の前記メモリ内の領域ごとのアクセス手順を保持すること、を特徴とする図形処理装置。
【請求項２４】
請求項２０記載の図形処理装置において、
前記アクセス情報保持回路は前記アクセス情報としてアクセス許可情報を保持し、
前記アクセス許可情報は前記ＣＰＵがデータを前記メモリに出力する際に更新すること、を特徴とする図形処理装置。
【請求項２５】
請求項２０記載の図形処理装置において、
前記メモリは複数のバンクで構成され、
前記アクセス情報保持回路は前記アクセス情報を前記バンク毎に保持すること、を特徴とする図形処理装置。
【請求項２６】
演算処理を実行するＣＰＵと、
描画処理を実行する描画回路と、
画素ごとの表示データを制御する表示制御回路と、
メモリとを有し、
前記描画回路と前記表示制御回路と前記メモリとは同一の半導体基板上に実装され、
前記メモリは少なくとも前記ＣＰＵ用のプログラムまたはデータを記憶する領域と前記ＣＰＵと前記描画回路とが共有するプログラムまたはデータを記憶する領域とを有すること、を特徴とする図形処理装置。
【請求項２７】
演算処理を実行するＣＰＵと、
描画処理を実行する描画回路と、
画素ごとの表示データを制御する表示制御回路と、
前記ＣＰＵの演算結果と前記描画回路の描画結果と前記表示データを記憶するメモリとを有し、
前記描画回路と前記表示制御回路と前記メモリとは同一の半導体基板上に実装され、
前記表示制御回路は前記半導体基板外部との同期手段を有すること、を特徴とする図形処理装置。
【請求項２８】
演算処理を実行するＣＰＵと、
画素生成処理を実行する描画回路と、
前記描画回路の画素生成結果に対して画素演算処理を実行する画素演算回路と、
前記画素演算回路を制御するための画素演算制御回路と、
画素ごとの表示データを制御する表示制御回路と、
前記ＣＰＵの演算結果と前記画素生成結果と前記表示データとを記憶するメモリとを有し、
前記描画回路と前記画素演算回路と前記画素演算制御回路と前記表示制御回路と前記メモリは同一の半導体基板上に実装され、
前記ＣＰＵと前記描画回路は前記画素演算制御回路に制御データを出力し、
前記画素演算制御回路は前記制御データに基づいて前記画素演算回路を制御すること、を特徴とする図形処理装置。
【請求項２９】
請求項２８記載の図形処理装置において、
前記半導体基板は前記ＣＰＵが前記演算結果を前記メモリに出力するための端子を有し、
前記ＣＰＵは前記端子を用いて前記制御データを前記画素演算制御回路に出力すること、を特徴とする図形処理装置。
【請求項３０】
請求項２８記載の図形処理装置において、
前記半導体基板は前記ＣＰＵが前記制御データを前記画素演算制御回路に出力するための専用の端子を有すること、を特徴とする図形処理装置。
【請求項３１】
請求項２８記載の図形処理装置において、
前記半導体基板はビデオ入力端子を有すること、を特徴とする図形処理装置。
【請求項３２】
請求項２８記載の図形処理装置において、
前記半導体基板は高速シリアル通信端子を有すること、を特徴とする図形処理装置。
【請求項３３】
画素生成処理を実行する描画回路と、
前記描画回路の画素生成結果に対して画素演算処理を実行する画素演算回路と、
前記画素演算回路を制御するための画素演算制御回路と、
画素ごとの表示データを制御する表示制御回路と、
アドレスを登録するアドレス管理テーブルとを有し、
前記登録されたアドレスと演算処理を実行するＣＰＵから出力されるアドレスとを比較し、画素演算を行うか否かを自動的に切り替えることを特徴とするグラフィックスプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字や図形データを発生，表示する図形処理装置に関するもので、特に表示用画素データを記憶するためのフレームバッファと、ＣＰＵが動作するためのプログラムやデータを記憶するための主記憶とをメモリ装置内に一体化する統合化メモリ方式で構成され、かつグラフィックスプロセッサにメモリを内蔵した図形処理装置に関するものである。
【背景技術】
【０００２】
従来の技術による統合化メモリ方式で構成される図形処理装置について特許文献１に、メモリとプロセッサ間で転送されるデータをバッファする手段を設けることによってプロセッサからのアクセスでメモリが占有されることを防止し、空いたメモリアクセスを表示用アクセスとして使用可能とする方式が記載されている。
【０００３】
また従来の技術によるグラフィックス・コントローラの一部機能を画像用メモリに組み込んだＬＳＩの一例が、非特許文献１に記載されている。このＬＳＩは、グラフィックスプロセッサの機能を一部分離してフレームバッファ用メモリに内蔵したものである。
【特許文献１】特開平４−８４１９２号公報
【非特許文献１】「３次元グラフィックス用のメモリを三菱と米Ｓｕｎが開発」、日経エレクトロニクス、１９９４年８月２２日、ｐ.１５−１６
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来、グラフィックスプロセッサとメモリとが別個のＬＳＩで構成されていた場合、グラフィックスプロセッサとメモリをそれぞれ自由に選択できたため、図形処理装置を構成する際に必要な機能によって任意の組み合わせの選択が可能であった。しかしながら、メモリを内蔵したグラフィックスプロセッサを用いて図形処理装置を構成し、さらにその内蔵メモリを統合化メモリとして使用する場合には、グラフィックスプロセッサとメモリの組み合わせは固定されているために、グラフィックスプロセッサに内蔵されていない描画機能を実現するには、CPU上でソフトウエアによって処理を行うことが必要になる。しかし一般に描画処理をソフトウエアで行うことは非常に時間がかかり、ひいては図形処理装置全体の性能低下の原因になってしまう。この問題に対し上記従来技術では、解決方法については言及されていない。
【０００５】
本発明の第１の目的は、メモリを内蔵したグラフィックスプロセッサを用い、かつその内蔵メモリを統合化メモリとして使用する図形処理装置において、CPUが主記憶にアクセスする場合に従来のメモリと同様にアクセスできることを維持しながら、グラフィックスプロセッサに含まれていない描画機能をＣＰＵ上でソフトウエアによって実現する際のＣＰＵのオーバヘッドを削減することである。また本発明の第２の目的は、メモリを内蔵したグラフィックスプロセッサを用い、かつその内蔵メモリを統合化メモリとして使用する図形処理装置において、グラフィックスプロセッサに内蔵したメモリをＣＰＵがアクセスする際に、アクセスするデータの種類に応じてＣＰＵのメモリアクセスのオーバヘッドを削減することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本発明では、画素ごとの表示データを制御する表示制御回路と、少なくとも外部のＣＰＵによって作成された演算結果と前記表示データとを記憶するメモリとを有し、表示制御回路とメモリは同一の半導体基板上に実装され、ＣＰＵがメモリをアクセスする際に演算結果をアクセスするアクセス手順と前記表示データとをアクセスするアクセス手順を異ならせることを特徴としている。
【０００７】
また、上記目的を達成するために本発明では画素生成処理を実行する描画回路と、描画回路の画素生成結果に対して画素演算処理を実行する画素演算回路と、画素演算回路を制御するための画素演算制御回路と、画素ごとの表示データを制御する表示制御回路と、外部のＣＰＵの演算結果と前記画素生成結果と前記表示データとを記憶するメモリとを有し、描画回路と画素演算回路と画素演算制御回路と表示制御回路とメモリは同一の半導体基板上に実装され、ＣＰＵと描画回路は画素演算制御回路に制御データを出力し、画素演算制御回路は制御データに基づいて画素演算回路を制御することを特徴としている。
【０００８】
また、上記目的を達成するために本発明では、演算処理を実行するＣＰＵと、画素生成処理を実行する描画回路と、描画回路の画素生成結果に対して画素演算処理を実行する画素演算回路と、画素演算回路を制御するための画素演算制御回路と、画素ごとの表示データを制御する表示制御回路と、ＣＰＵの演算結果と画素生成結果と表示データを記憶するメモリとを有し、ＣＰＵと描画回路と画素演算回路と画素演算制御回路と表示制御回路とメモリとは同一の半導体基板上に実装され、ＣＰＵと描画回路は画素演算制御回路に制御データを出力し、画素演算制御回路は前記制御データに基づいて画素演算回路を制御することを特徴としている。
【発明の効果】
【０００９】
本発明によれば、メモリを内蔵したグラフィックプロセッサを用い表示用画素データを記憶するためのフレームバッファと、ＣＰＵが動作するためのプログラムやデータを記憶するための主記憶とを備えたメモリを内蔵したグラフィックプロセッサに対し、ＣＰＵは従来のメモリと同様にアクセスすることができる。また、ＣＰＵがソフトウエアで描画処理を行う場合に生じるオーバヘッドを削減できる。
【００１０】
更に本発明によれば、ＣＰＵがメモリをアクセスする際に、メモリにアクセスするためにどれだけ時間がかかるかをＣＰＵがあらかじめ知ることができるため、例えばアクセス時間が大きな領域にアクセスする場合には、ＣＰＵがなるべくランダムアクセスをせずにバーストアクセスを多用するなど、メモリアクセスのオーバヘッドを削減することができる。
【発明を実施するための最良の形態】
【００１１】
次に、本発明について図面を参照して詳細に説明する。
【００１２】
図１に本発明の第１の実施例の全体構成図を示す。図１において、１００はグラフィックスプロセッサ、２００はＣＰＵＩ／Ｆ、３００は描画回路、３１０は表示回路、３２０は調停回路、３３０は内部バス、３４０は転送パス、４００は画素演算回路、４１０，４１１はセレクタ、５００はメモリ、５１０は主記憶、５２０は描画用データ、５３０は描画用ワーク、５４０はフレームバッファ、６００はモード設定回路、７００はアドレス管理テーブル、９００は外部バス、９１０はＣＰＵ、９２０はＴＶチューナ、９３０はＣＤＲＯＭ、９４０はＩ／Ｏコントローラ、９５０はＣＲＴである。
【００１３】
図１において、メモリ５００にはCPU910が動作するために必要なプログラム，データ，作業領域などからなる主記憶５１０，テクスチャマッピングを行う際の元のテクスチャパターンや描画回路３００のディスプレイリストなどからなる描画用データ５２０，描画回路３００が動作するための作業領域などからなる描画用ワーク５３０，CRT950に表示する表示データを記憶するフレームバッファ540がそれぞれ割り当てられている。CPU910が主記憶５１０を読み出しアクセスする場合、CPU910はＣＰＵＩ／Ｆ２００にアクセスしたいアドレスを出力する。
【００１４】
ＣＰＵＩ／Ｆ２００は、調停回路３２０に対してバス権取得要求を出力し、調停回路３２０から内部バス３３０のバス権を受け取った後、内部バス３３０，転送パス３４０を経由してメモリ５００にアドレスを出力し、メモリ５００から出力されるデータを転送パス３４０，内部バス３３０を経由して読み出し、そのデータをCPU910に出力する。CPU910が主記憶５１０を書き込みアクセスする場合、CPU910はＣＰＵＩ／Ｆ２００にアクセスしたいアドレスとデータを出力する。
【００１５】
ＣＰＵＩ／Ｆ２００は、読み出しアクセスをする場合と同様に調停回路３２０から内部バス３３０のバス権を取得後、内部バス３３０，転送パス３４０を経由してメモリ５００にアドレスとデータを出力する。CPU910がソフトウエアで描画処理を行いグラフィックパターンをフレームバッファ５４０に書き込む場合、CPU910は画素データ生成までソフトウエアによって行う。その後の、Ｚバッファ処理，アルファブレンド処理などの画素演算処理は、画素演算回路４００で行う。画素演算回路４００で行う処理内容（算術演算の種類，論理演算の種類，データ量など）の設定は、ＣＰＵＩ／Ｆ２００，モード設定回路６００を通してアドレス管理テーブル７００に登録することによって行う。アドレス管理テーブル７００に処理内容登録後、CPU910がフレームバッファ５４０に対する書き込みアクセスを行うためにアドレスとデータをＣＰＵＩ／Ｆ２００に出力すると、CPUＩ／Ｆ２００は調停回路３２０に対してバス権取得要求を出力する。調停回路３２０はバス調停後、ＣＰＵＩ／Ｆ２００に内部バス３３０の使用許可を通知する。同時に調停回路３２０は、どの回路がバス権を取得したかをバス権取得回路通知信号３２１によってアドレス管理テーブル７００に通知する。ＣＰＵＩ／Ｆ２００は、調停回路３２０からバス権を取得すると、内部バス３３０にアドレスとデータを出力する。このときアドレス管理テーブル７００は内部バス３３０に出力されたアドレスを取り込み、この取り込んだアドレスとバス権取得回路通知信号３２１とから画素演算回路４００での処理が必要なアクセスかどうかを判定する。アドレス管理テーブル７００は、画素演算回路４００で処理を行うアクセスであると判定すると、画素演算回路４００での演算内容を処理内容７１０として画素演算回路４００に出力し、また切換信号７１１をセレクタ４１０，４１１に出力し、内部バス３３０に出力されたアドレスとデータが画素演算回路４００に入力され、画素演算回路４００の演算結果がメモリ５００に出力されるようにする。画素演算回路４００は処理内容７１０にしたがって画素演算処理を行い、メモリ５００に処理結果を出力する。描画回路３００が描画用データ５２０に対して読み出しアクセスを行う場合、描画回路３００は調停回路３２０に対してバス権取得要求を出力する。調停回路３２０から内部バス３３０のバス権を受け取った後、描画回路３００は内部バス３３０，転送パス３４０を経由してメモリ５００にアドレスを出力し、メモリ５００から出力されるデータを転送パス340,内部バス３３０を経由して読み込む。描画回路３００が描画処理を行いグラフィックパターンをフレームバッファ５４０に書き込む場合、描画回路３００は画素データの作成までを行う。その後のＺバッファ処理，アルファブレンド処理などの画素演算処理は、画素演算回路４００で行う。画素演算回路４００で行う処理内容（算術演算の種類，論理演算の種類，データ量など）の設定は、モード設定回路６００を通してアドレス管理テーブル７００に登録することによって行う。アドレス管理テーブル７００に処理内容登録後、描画回路３００は調停回路320に対してバス権取得要求を出力する。調停回路３２０はバス調停後、描画回路３００に内部バス��３０の使用許可を通知する。同時に調停回路３２０は、どの回路がバス権を取得したかをバス権取得回路通知信号３２１によってアドレス管理テーブル７００に通知する。描画回路３００は、調停回路３２０からバス権を取得すると、内部バス３３０にアドレスとデータを出力する。このときアドレス管理テーブル７００は内部バス３３０に出力されたアドレスを取り込み、この取り込んだアドレスとバス権取得回路通知信号３２１とから画素演算回路４００での処理が必要なアクセスかどうかを判定する。アドレス管理テーブル７００は画素演算回路４００で処理を行うアクセスであると判定すると、画素演算回路400での演算内容を処理内容７１０として画素演算回路４００に出力し、また切換信号７１１をセレクタ４１０，４１１に出力し、内部バス３３０に出力されたアドレスとデータが画素演算回路４００に入力され、画素演算回路４００の演算結果がメモリ５００に出力されるようにする。画素演算回路４００は処理内容７１０にしたがって画素演算処理を行い、メモリ５００に処理結果を出力する。表示回路３１０がフレームバッファ５４０から表示用画素データを読み出す場合、表示回路３１０は調停回路３２０に対してバス権取得要求を出力する。調停回路320から内部バス３３０のバス権を受け取った後、表示回路３１０は内部バス３３０，転送パス３４０を経由してメモリ５００にアドレスを出力し、メモリ５００から出力されるデータを転送パス３４０，内部バス３３０を経由して読み込む。さらにその後、表示回路３１０はCRT950に読み込んだ表示用画素データを出力する。
【００１６】
上記のように、画素演算回路４００での演算内容を設定するモード設定回路６００と、画素演算回路４００での処理内容を保持し、メモリ５００へのアクセスが画素演算回路４００で演算処理をする必要があるかどうかを判定するアドレス管理テーブル７００を設けることによって、CPU910が主記憶５１０にアクセスする場合に従来のメモリと同様にアクセスできることを維持しながら、CPU910がソフトウエアで描画処理を行う場合に、単純な処理ではあるがデータ量が多くソフトウエア処理では時間がかかる画素演算処理を描画回路３００と共用する画素演算回路４００で行うことで、描画回路３００に含まれていない描画機能をCPU910上でソフトウエアによって実現する際のCPU910のオーバヘッドを削減できる。
【００１７】
図２に図１におけるＣＰＵＩ／Ｆ２００の構成例を示す。図２において、2100はアドレスレジスタ、２２００は比較器、２３００はアドレスバッファ、2400はデータバッファ、２５１０，２５２０はセレクタである。
【００１８】
図２において、アドレスレジスタ２１００にはモード設定回路６００がメモリ５００上に割り当てられたアドレスが保持されている。比較器２２００は、外部バス９００から入力されたアドレスとアドレスレジスタ２１００の内容と比較し、モード設定回路６００用に割り当てられたアドレスに等しい場合、セレクタ２５１０と２５２０に切換信号２２１０を出力し、外部バス９００から入力されたアドレスとデータをモード設定回路６００に出力させ、外部バス９００から入力されたアドレスとアドレスレジスタ２１００の内容が異なっていれば、外部バス９００から入力されたアドレスとデータをそれぞれデータバッファ２４００とアドレスバッファ２３００に出力させる。
【００１９】
図３に図１におけるモード設定回路６００の構成例を示す。図３において、３１００，３２００はデコーダ、３３１０，３３２０はセレクタである。
【００２０】
図３において、ＣＰＵＩ／Ｆ２００または描画回路３００から入力されたデータは、セレクタ３３１０を経由してデコーダ３２００に入力される。ＣＰＵＩ／Ｆ２００または描画回路３００から入力されたアドレスは、セレクタ３３２０を経由してデコーダ３１００に入力される。デコーダ３１００は、入力されたアドレスを解読し、アドレス管理テーブル７００に新しい登録内容を書き込むための登録信号，セレクタ４１０，４１１を切り換えるための切換信号、どの回路から出力された登録内容かを示すアクセス回路を出力する。デコーダ３２００は、入力されたデータを解読し、画素演算回路４００で画素演算を行うアドレスと、そのときの演算内容を示す処理内容を出力する。
【００２１】
図４に図１におけるアドレス管理テーブル７００の構成例を示す。図４において、４１００−１，４１００−２はアドレステーブル、４２１０，４２２０，４２３０，４２４０，４２５０はセレクタである。
【００２２】
図４において、モード設定回路６００から登録信号が入力された場合、同時に入力されたアドレス，処理内容，切換信号をアクセス回路によって選択して、ＣＰＵＩ／Ｆ２００用の設定の場合にはアドレステーブル４１００−１に、描画回路３００用の設定の場合にはアドレステーブル４１００−２に書き込みを行う。また、内部バス３３０から読み出したアドレス３２２によってアドレステーブル４１００−１，４１００−２から登録内容を検索し、該当するものがあった場合にはバス権取得回路通知信号３２１によってどの回路用の設定かを選択し、処理内容７１０および切換信号７１１として出力する。
【００２３】
図５に図１における描画回路３００の構成例を示す。図５において、５１００はフェッチ回路、５２００は画素作成回路、５３００は命令デコーダである。
【００２４】
図５において、フェッチ回路５１００はメモリ５００にアクセスする時に、調停回路３２０との間のバス権調停処理、およびバス権取得後の内部バス３３０へのアドレス出力を行う。命令デコーダ５３００は、メモリ５００から読み込んだディスプレイリストの解析を行い、その結果に基づいて画素作成回路５２００に、画素作成用のパラメータを出力する。命令デコーダ５３００は、メモリ５００に対してアクセスを行う場合、フェッチ回路５１００にアドレスを出力する。また命令デコーダ５３００は、モード設定回路６００にアドレスとデータを出力し、アドレス管理テーブル７００に画素演算回路４００での処理内容を登録する。画素作成回路５２００は、命令デコーダ５３００から入力される画素作成用のパラメータに基づき画素データを生成する。画素作成回路５２００は、メモリ500に対してアクセスを行う場合、フェッチ回路５１００にアドレスを出力する。また画素作成回路５２００は、モード設定回路６００にアドレスとデータを出力し、アドレス管理テーブル７００に画素演算回路４００での処理内容を登録する。
【００２５】
図６に図１における画素演算回路４００の構成例を示す。図６において、6100はレジスタ、６２００は加算器、６３００は乗算器、６４００は比較器、6500はアドレス変換回路である。
【００２６】
図６において、レジスタ６１００，加算器６２００，乗算器６３００，比較器６４００には、処理内容７１０によってどのような画素演算処理を行うかが設定される。アドレス変換回路６５００は、フィルタリング処理によって画素演算回路４００に入力されたデータ量と、画素演算回路４００で処理を行った結果出力されるデータ量とが異なる場合、アドレス変換を行う。
【００２７】
図７に本発明の第２の実施例の全体構成図を示す。図７において、７２００はＣＰＵＩ／Ｆ、７７００はメモリ特性管理テーブルである。
【００２８】
図７において、メモリ特性管理テーブル７７００には、主記憶５１０，描画用データ５２０，描画用ワーク５３０，フレームバッファ５４０のそれぞれに対応したアクセス時間が登録されている。CPU910は、メモリ５００をアクセスするときにあらかじめＣＰＵＩ／Ｆ７２００を経由してメモリ特性管理テーブル7700からアクセス時間を調べることで、メモリ５００にアクセスする前に、アクセス時間を知ることができる。
【００２９】
上記のように、主記憶５１０，描画用データ５２０，描画用ワーク５３０，フレームバッファ５４０のそれぞれに対応したアクセス時間を登録したメモリ特性管理テーブル７７００を設けることによって、CPU910がメモリ５００をアクセスする際に、実際にメモリ５００にアクセスする前にメモリ特性管理テーブル7700からアクセス時間を調べておくことによって、メモリ５００にアクセスするためにどれだけ時間がかかるかをCPU910があらかじめ知ることができる。これによって、例えばアクセス時間が大きな領域にアクセスする場合には、CPU910がなるべくランダムアクセスをせずにバーストアクセスを多用するなど、メモリアクセスのオーバヘッドを削減するための手段を用いることを可能にできる。
【００３０】
図８に図７におけるＣＰＵＩ／Ｆ７２００の構成例を示す。図８において、８１００はアドレスレジスタ、８５１０，８５２０はセレクタである。
【００３１】
図８において、アドレスレジスタ８１００には、アドレスレジスタ２１００の内容に加えてメモリ特性管理テーブル７７００が割り当てられているアドレスが登録されている。比較器２２００は、外部バス９００から入力されるアドレスをアドレスレジスタ８１００の内容と比較して、外部バス９００から入力されるアドレスとデータを、モード設定回路６００か、メモリ特性管理テーブル７７００か、データバッファ２４００とアドレスバッファ２３００かのいずれかに切り換えて出力する。
【００３２】
図９に図７におけるメモリ特性管理テーブル７７００の第１の構成例を示す。図９において、９１００はメモリ特性管理テーブルである。
【００３３】
図９において、メモリ特性管理テーブル９１００には、主記憶５１０，描画用データ５２０，描画用ワーク５３０，フレームバッファ５４０のアドレスとアクセス時間がそれぞれ登録されている。メモリ特性管理テーブル９１００は、ＣＰＵ１／Ｆ７２００からアドレスが入力されると該当するアドレスのアクセス時間を出力する。
【００３４】
図１０に図７におけるメモリ５００上のメモリマップを示す。
【００３５】
図１１に図７におけるメモリ５００をCPU910がアクセスする際の、タイムチャートを示す。図１１において、（ａ）は主記憶５１０をCPU910がアクセスする際の、（ｂ）はフレームバッファ５４０をアクセスする際のタイムチャートである。
【００３６】
図１１において、（ａ）ではCPU910が最初のコマンドを出力してから５サイクル後に最初のデータがグラフィックスプロセッサ１００から返ってくることを、（ｂ）ではCPU910が最初のコマンドを出力してから１５サイクル後に最初のデータがグラフィックスプロセッサ１００から返ってくることを示している。
【００３７】
図１２に図７におけるメモリ特性管理テーブル７７００の第２の構成例を示す。図１２において、１２１００はメモリ特性管理テーブルである。
【００３８】
図１２において、メモリ特性管理テーブル１２１００には、主記憶５１０，描画用データ５２０，描画用ワーク５３０，フレームバッファ５４０がそれぞれ割り当てられているバンク番号とアクセス時間がそれぞれ登録されている。この特性テーブル１２１００は、メモリ５００を複数バンクで構成している場合のものである。ここで特性テーブル１２１００に登録する内容は、アクセス時間だけではなく、CPU910とＣＰＵＩ／Ｆ７２００の間のプロトコルを登録することも可能である。例えば、主記憶５１０はウエイト無しのＳＤＲＡＭインタフェース、それ以外は描画回路３００や表示回路３１０のアクセス状況によってウエイトサイクル数が０サイクル以上発生するウエイト付のＳＤＲＡＭインタフェースなどを登録することも可能である。また、メモリ特性管理管理テーブル７７００の登録内容は、システムが稼働中でも随時変更することも可能である。そのため、メモリ特性管理テーブル７７００にアドレスとそのアドレスに対する描画回路３００や表示回路３１０のアクセス許可情報を登録しておき、CPU910が描画回路３００や表示回路３１０にデータを転送する際にメモリ特性管理テーブル７７００の内容を同時に更新し、描画回路３００や表示回路３１０がメモリ５００をアクセスする際にメモリ特性管理テーブル７７００の登録内容を参照しながらアクセスを行うようにすれば、各回路が過ったメモリアクセスを行って他の回路のためのデータなどを破壊してしまうことを防止できる。
【００３９】
図１３に本発明の第３の実施例の全体構成図を示す。図１３において、13100はグラフィックスプロセッサ、１３２００はＣＰＵＩ／Ｆ、１３３００は描画回路、１３９１０はＣＰＵ、１３９１５は機能選択信号である。なお、ここではアドレスストローブ端子，ライトイネーブル端子，チップ選択端子などの通常のメモリでも使われている端子については、外部バス９００とＣＰＵＩ／Ｆ７２００との間の転送線としてまとめて図示してある。
【００４０】
図１３において、CPU13910はメモリ５００をアクセスする時に画素演算回路４００を使用するかどうか、また使用するときの演算処理内容を機能選択信号１３９１５によってグラフィックスプロセッサ１３１００に出力する。機能選択信号１３９１５は、グラフィックスプロセッサ１３１００内ではCPUI／F13200に入力されている。ＣＰＵＩ／Ｆ１３２００では、機能選択信号１３９１５から、処理内容１３７１０と切換信号１３７１１を作成し出力する。描画回路13300 は、メモリ５００にアクセスするときに必要であれば処理内容１３７２０と切換信号１３７２１を出力する。
【００４１】
上記のように、CPU13910がメモリ５００をアクセスする時に画素演算回路400を使用するかどうか、また使用するときの演算処理内容をグラフィックスプロセッサ１３１００に出力する機能選択信号１３９１５を設けることによって、CPU910が主記憶５１０にアクセスする場合に従来のメモリと同様にアクセスできることを維持しながら、CPU910がソフトウエアで描画処理を行う場合に、単純な処理ではあるがデータ量が多くソフトウエア処理では時間がかかる画素演算処理を描画回路３００と共用する画素演算回路４００で行うことで、描画回路３００に含まれていない描画機能をCPU910上でソフトウエアによって実現する際のCPU910のオーバヘッドを削減できる。
【００４２】
図１４に図１３におけるＣＰＵＩ／Ｆ１３２００の構成例を示す。図１４において、１４１００はバッファ、１４２００はデコーダである。
【００４３】
図１４において、バッファ１４１００は機能選択信号１３９１５を受けて、その内容を保持する。バッファ１４１００は、保持した内容をデコーダ１４２００に出力する。デコーダ１４２００は、バッファ１４１００の出力に基づいて、処理内容１３７１０と切換信号１３７１１を出力する。
【００４４】
図１５に図１３における描画回路１３３００の構成例を示す。図１５において、１５２００は画素作成回路、１５３００は命令デコーダである。
【００４５】
図１５において、画素作成回路１５２００はメモリ５００にアクセスする時に、画素演算回路４００で演算処理を行いたい場合は、処理内容１３７２０と切換信号１３７２１を出力する。命令デコーダ１５３００はメモリ５００にアクセスする時に、画素演算回路４００で演算処理を行いたい場合は、処理内容13720 と切換信号１３７２１を出力する。
【００４６】
図１６に本発明の第４の実施例の全体構成図を示す。図１６において、16100はグラフィックスプロセッサ、１６９４０はＩ／Ｏコントローラ、１６９２０はＴＶチューナ、１６９３０はＣＤＲＯＭである。
【００４７】
図１６において、Ｉ／Ｏコントローラ１６９４０は高速シリアルインタフェースを内蔵したものである。この高速シリアルインタフェースの例としては、IEEE1394がある。
【００４８】
上記のように、Ｉ／Ｏコントローラ１６９４０をグラフィックスプロセッサ１６１００に内蔵することで、グラフィックスシステムを構成するＬＳＩ数を減らすことができ、低コスト化が図れる。また、ＴＶチューナ１６９２０からの画像の取り込みなども、Ｉ／Ｏコントローラ１６９４０が内部バスに接続されていることによって高速に行うことができる。
【００４９】
図１７に本発明の第５の実施例の全体構成図を示す。図１７において、17100−１，１７１００−２はグラフィックスプロセッサ、１７３１０は表示回路である。
【００５０】
図１７において、表示回路１７３１０はグラフィックスプロセッサ１７１００−２から入力される同期信号１７３４１が“１”の間は、表示画素データを出力しない。表示回路１７３１０は、同期信号１７３４１は“０”の間、同期信号１７３４０を“１”にして出力し、かつ表示画素データを表示信号１７３５０として出力する。表示回路１７３１０は、表示画素データを出力終了後、同期信号１７３４０を“０”にする。グラフィックスプロセッサ１７１００−２には、外部から同期信号１７３４２として、常に“０”を入力しておく。
【００５１】
上記のように、複数のグラフィックスプロセッサ間で表示を同期するための信号を設けることによって、１つのグラフィックスプロセッサでは表示画面サイズが大きく対応できない場合でも、グラフィックスプロセッサを複数使用することで対応でき、システムの柔軟性を改善できる。
【００５２】
図１８に本発明の第６の実施例の全体構成図を示す。図１８において、18100はグラフィックスプロセッサ、１８９１０はＣＰＵである。
【００５３】
図１８は、CPU18910までもグラフィックスプロセッサ１８１００に内蔵したものである。
【００５４】
上記のように、CPU18910までもグラフィックスプロセッサ１８１００に内蔵することで、グラフィックスプロセッサ１８１００のパッケージのピン数を減らすことができ、グラフィックスプロセッサ１８１００のコストおよび、グラフィックスプロセッサ１８１００を使用するシステムの実装コストなどを低減できる。
【００５５】
図１９に本発明の第７の実施例の全体構成図を示す。図１９において、19100−１，１９１００−２はグラフィックスプロセッサ、１９２００は外部Ｉ／Ｆ、１９９１０はＣＰＵである。
【００５６】
図１９において、外部Ｉ／Ｆ１９２００はグラフィックスプロセッサ19100−１とデータの授受を行うための回路である。
【００５７】
上記のように、他のグラフィックスプロセッサとデータの授受をするための外部Ｉ／Ｆ１９２００を設けることによって、システムの柔軟性を改善できる。
【００５８】
以上説明したように、CPU910が主記憶５１０にアクセスする場合に従来のメモリと同様にアクセスできることを維持しながら、CPU910がソフトウエアで描画処理を行う場合に、単純な処理ではあるがデータ量が多くソフトウエア処理では時間がかかる画素演算処理を描画回路３００と共用する画素演算回路４００で行うことで、描画回路３００に含まれていない描画機能をCPU910上でソフトウエアによって実現する際のCPU910のオーバヘッドを削減できる。さらに本発明によれば、CPU910がメモリ５００をアクセスする際に、実際にメモリ５００にアクセスする前にメモリ特性管理テーブル７７００からアクセス時間を調べておくことにより、メモリ５００にアクセスするためにどれだけ時間がかかるかをCPU910があらかじめ知ることができる。そのため、例えばアクセス時間が大きな領域にアクセスする場合には、CPU910がなるべくランダムアクセスをせずにバーストアクセスを多用するなど、メモリアクセスのオーバヘッドを削減するための手段を用いることを可能にできる。
【図面の簡単な説明】
【００５９】
【図１】本発明の第１の実施例の全体構成である。
【図２】図１におけるＣＰＵＩ／Ｆ２００の構成である。
【図３】図１におけるモード設定回路６００の構成である。
【図４】図１におけるアドレス管理テーブルの構成である。
【図５】図１における描画回路の構成である。
【図６】図１における画素演算回路の構成である。
【図７】本発明の第２の実施例の全体構成である。
【図８】図７におけるＣＰＵＩ／Ｆ７２００の構成である。
【図９】図７におけるメモリ特性管理テーブルの第１の構成である。
【図１０】図７におけるメモリ上のメモリマップである。
【図１１】図７におけるメモリをＣＰＵがアクセスする際の、タイムチャートである。
【図１２】図７におけるメモリ特性管理テーブルの第２の構成である。
【図１３】本発明の第３の実施例の全体構成である。
【図１４】図１３におけるＣＰＵＩ／Ｆの構成である。
【図１５】図１３における描画回路の構成である。
【図１６】本発明の第４の実施例の全体構成である。
【図１７】本発明の第５の実施例の全体構成である。
【図１８】本発明の第６の実施例の全体構成である。
【図１９】本発明の第７の実施例の全体構成である。
【符号の説明】
【００６０】
１００，１３１００，１６１００，１７１００，１８１００，１９１００…グラフィックスプロセッサ、２００，７２００，１３２００…ＣＰＵＩ／Ｆ、300,１３３００…描画回路、３１０，１７３１０…表示回路、３２０…調停回路、
３２１…バス権取得回路通知信号、３３０…内部バス、３４０…転送パス、400…画素演算回路、４１０，４１１，２５１０，２５２０…セレクタ、５００…メモリ、５１０…主記憶、５２０…描画用データ、５３０…描画用ワーク、５４０…フレームバッファ、６００…モード設定回路、７００…アドレス管理テーブル
、７１０…処理内容、７１１…切換信号、９００…外部バス、９１０，18910 ，１９９１０…ＣＰＵ、９２０，１６９２０…ＴＶチューナ、９３０，１６９３０…ＣＤＲＯＭ、９４０，１６９４０…Ｉ／Ｏコントローラ、９５０…ＣＲＴ、
２１００，８１００…アドレスレジスタ、２２００…比較器、２３００…アドレスバッファ、２４００…データバッファ、３１００，３２００…デコーダ、4100…アドレステーブル、５１００，１５１００…フェッチ回路、５２００，15200…画素作成回路、５３００，１５３００…命令デコーダ、６１００…レジスタ、６２００…加算器、６３００…乗算器、６４００…比較器、６５００…アドレス変換回路、７７００，９１００，１２１００…メモリ特性管理テーブル、14100…バッファ、１４２００…デコーダ、１９２００…外部Ｉ／Ｆ。
【図１】
2005190487.tif 000003
【図２】
2005190487.tif 000004
【図３】
2005190487.tif 000005
【図４】
2005190487.tif 000006
【図５】
2005190487.tif 000007
【図６】
2005190487.tif 000008
【図７】
2005190487.tif 000009
【図８】
2005190487.tif 000010
【図９】
2005190487.tif 000011
【図１０】
2005190487.tif 000012
【図１１】
2005190487.tif 000013
【図１２】
2005190487.tif 000014
【図１３】
2005190487.tif 000015
【図１４】
2005190487.tif 000016
【図１５】
2005190487.tif 000017
【図１６】
2005190487.tif 000018
【図１７】
2005190487.tif 000019
【図１８】
2005190487.tif 000020
【図１９】
2005190487.tif 000021
【手続補正書】
【提出日】平成17年2月10日(2005.2.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画素ごとの表示データを制御する表示制御回路と、
少なくとも外部のＣＰＵによって作成された演算結果と前記表示データとを記憶するメモリとを有し、
前記表示制御回路と前記メモリは同一の半導体基板上に実装され、
前記ＣＰＵが前記メモリをアクセスする際に前記演算結果をアクセスするアクセス手順と前記表示データとをアクセスするアクセス手順が異なること、を特徴とするグラフィックスプロセッサ。
【請求項２】
請求項１記載のグラフィックスプロセッサにおいて、
前記ＣＰＵが前記演算結果と前記表示データをアクセスするためのアクセス情報を保持するアクセス情報保持回路を有すること、を特徴とするグラフィックスプロセッサ。
【請求項３】
請求項２記載のグラフィックスプロセッサにおいて、
前記アクセス情報保持回路は前記アクセス情報を動的に更新できること、を特徴とするグラフィックスプロセッサ。
【請求項４】
請求項２記載のグラフィックスプロセッサにおいて、
前記アクセス情報保持回路は前記アクセス情報として前記ＣＰＵが前記メモリをアクセスする際の前記メモリ内の領域ごとのアクセス手順を保持すること、を特徴とするグラフィックスプロセッサ。
【請求項５】
請求項２記載のグラフィックスプロセッサにおいて、
前記メモリは複数のバンクで構成され、
前記アクセス情報保持回路は前記アクセス情報を前記バンク毎に保持すること、を特徴とするグラフィックスプロセッサ。