(57)【特許請求の範囲】
【請求項１】
外部から入力された描画命令を受けるための第１のインターフェースと、
ワークメモリとのデータ転送を行うための第２のインターフェースと、
前記第１のインターフェースと前記第２のインターフェースとの間のデータ転送を行うデータバスと、
前記データバスから描画命令を入力し、この描画命令をデコードして表示データを生成し、前記データバスに出力する表示データ生成部と、
前記データバスから前記表示データを入力し、表示装置に画像を表示する画像表示部と、
前記データバスの使用状況を監視し、その使用権を制御するバス制御部とを備え、
前記バス制御部は、前記データバスにおけるデータ転送について優先度を設定し、設定した優先度に応じて、前記データバスの使用権を制御するものであり、
前記表示データ生成部は、
前記データバスから入力した描画命令を一時的に保持する描画命令保持部と、
前記描画命令保持部から出力された描画命令をデコードするデコード部とを備え、
前記描画命令保持部は、
第１および第２のデータ保持手段を有し、前記第１および第２のデータ保持手段のうち選択した方に所定のアドレス順に描画命令を書き込むとともに、前記第１および第２のデータ保持手段のうち選択した方から所定のアドレス順に描画命令を読み出すものであり、かつ、
描画命令を読み出すデータ保持手段において、読み出しアドレスが所定のチェックアドレスに一致したとき、当該データ保持手段に、描画命令の新たな書き込みを開始するものである
ことを特徴とする描画プロセッサ。
【請求項２】
請求項１記載の描画プロセッサにおいて、
前記バス制御部は、少なくとも、外部から入力された描画命令を前記ワークメモリに転送するデータ転送、前記ワークメモリから前記表示データ生成部に描画命令を供給するデータ転送、および、前記ワークメモリから前記画像表示部に表示データを供給するデータ転送について、優先度を設定するものである
ことを特徴とする描画プロセッサ。
【請求項３】
外部から入力された描画命令を受けるための第１のインターフェースと、
ワークメモリとのデータ転送を行うための第２のインターフェースと、
前記第１のインターフェースと前記第２のインターフェースとの間のデータ転送を行うデータバスと、
前記データバスから描画命令を入力し、この描画命令をデコードして表示データを生成し、前記データバスに出力する表示データ生成部と、
前記データバスから前記表示データを入力し、表示装置に画像を表示する画像表示部と、
前記データバスの使用状況を監視し、その使用権を制御するバス制御部と、
外部から入力された描画命令を前記ワークメモリに転送するデータ転送の際に、データ転送される描画命令をプリデコードするプリデコード部と、
前記プリデコード部によるプリデコード結果から、前記表示データ生成部におけるデータ処理量を予測する処理量予測部とを備え、
前記バス制御部は、
前記データバスにおけるデータ転送について優先度を設定し、設定した優先度に応じて、前記データバスの使用権を制御するものであり、かつ
前記処理量予測部によって予測されたデータ処理量に応じて、データ転送の優先度を変更するものである
ことを特徴とする描画プロセッサ。
【請求項４】
請求項３記載の描画プロセッサにおいて、
前記バス制御部は、データ転送の優先度が動的に設定変更可能に構成されている
ことを特徴とする描画プロセッサ。
【請求項５】
請求項３記載の描画プロセッサにおいて、
前記バス制御部は、所定時間当たりの予測データ処理量が所定量を超えるとき、前記ワークメモリから前記表示データ生成部に描画命令を供給するデータ転送の優先度を、外部から入力された描画命令を前記ワークメモリに転送するデータ転送の優先度よりも高くするものである
ことを特徴とする描画プロセッサ。
【請求項６】
請求項３記載の描画プロセッサにおいて、
前記ワークメモリに格納された描画命令のデータ量をモニタするメモリモニタを備え、
前記バス制御部は、前記メモリモニタによってモニタされたデータ量に応じて、データ転送の優先度を変更するものである
ことを特徴とする描画プロセッサ。
【請求項７】
請求項６記載の描画プロセッサにおいて、
前記バス制御部は、モニタデータ量が所定量よりも小さくなったとき、外部から入力された描画命令を前記ワークメモリに転送するデータ転送の優先度を、前記ワークメモリから前記表示データ生成部に描画命令を供給するデータ転送の優先度よりも高くするものである
ことを特徴とする描画プロセッサ。
【請求項８】
請求項３記載の描画プロセッサにおいて、
前記第１のインターフェースは、当該描画プロセッサの外部にある外部バスと接続されており、
前記外部バスは、当該外部バスにおける転送データ量をモニタする外部バスモニタが接続されており、
前記バス制御部は、前記外部バスモニタによってモニタされた転送データ量に応じて、前記データバスにおけるデータ転送の優先度を変更するものである
ことを特徴とする描画プロセッサ。
【請求項９】
請求項１または３記載の描画プロセッサと、
前記描画プロセッサの前記第１のインターフェースと接続された外部バスと、
前記外部バスに接続されたＣＰＵおよびメモリと、
前記描画プロセッサの前記第２のインターフェースと接続されたワークメモリと、
前記描画プロセッサの前記画像表示部と接続された表示装置とを備えた
ことを特徴とする描画処理システム。
【請求項１０】
外部から入力された描画命令を受けるための第１のインターフェースと、
ワークメモリとのデータ転送を行うための第２のインターフェースと、
前記第１のインターフェースと前記第２のインターフェースとの間を接続するデータバスと、
前記データバスから描画命令を入力し、この描画命令をデコードして表示データを生成し、前記データバスに出力する表示データ生成部と、
前記データバスから前記表示データを入力し、表示装置に画像を表示する画像表示部とを備え、
前記表示データ生成部は、
前記データバスから入力した描画命令を一時的に保持する描画命令保持部と、
前記描画命令保持部から出力された描画命令をデコードするデコード部とを備え、
前記描画命令保持部は、
第１および第２のデータ保持手段を有し、前記第１および第２のデータ保持手段のうち選択した方に所定のアドレス順に描画命令を書き込むとともに、前記第１および第２のデータ保持手段のうち選択した方から所定のアドレス順に描画命令を読み出すものであり、かつ、
描画命令を読み出すデータ保持手段において、読み出しアドレスが所定のチェックアドレスに一致したとき、当該データ保持手段に、描画命令の新たな書き込みを開始するものである
ことを特徴とする描画プロセッサ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータグラフィックスの図形描画を行う描画プロセッサに関する技術に属する。
【０００２】
【従来の技術】
近年、コンピュータグラフィックス（ＣＧ）技術の進歩には目覚しいものがある。コンピュータグラフィックスの代表的な応用例としては、ＣＡＤ・ＣＡＥ・ゲーム等がある。また最近では、カーナビゲーション等の地図情報表示にも利用されている。
【０００３】
コンピュータグラフィックスでは、描画を実行するための描画命令と描画図形の座標データを用いる。また、図形に模様を施すテクスチャマッピング技術では、物体に貼りつける模様を表すテクスチャデータが必要となる。近年、処理可能なデータ量の増加に伴い、より緻密な描画が要求され始めており、このため、必要な描画データ量も拡大の一途を辿っている。一方、コンピュータグラフィックスでは、表示画面のイメージデータを保持するためのフレームバッファも必要であるが、表示画面のサイズも近年、拡大化の傾向にある。したがって、昨今の描画プロセッサは、膨大な記憶容量を有するワークメモリを必要とする。
【０００４】
従来、描画データの処理のための作業領域となるデータメモリと、表示データを保持するための描画領域となるフレームメモリとが、別個に構成されていた。ところが最近では、単一のメモリに作業領域と描画領域とを構成するユニファイドメモリ構造（ＵＭＡ：Unified Memory Architecture ）が採用され始めている。このユニファイドメモリ構造では、描画プロセッサとメモリとの関係が一意に決定されるので、システム構成が簡略化され、コストを大幅に低減することができる。
【０００５】
図１０は従来の描画プロセッサの構成を示すブロック図である。図１０において、描画プロセッサ２００は、ＣＰＵ２０２とメモリ２０３との間で生成された描画命令を外部バス２０１を介して入力する。入力された描画命令は、ＣＰＵインターフェース２１１から第１のデータバス２１３を介してＦＩＦＯメモリ２１５に供給される。ＦＩＦＯメモリ２１５に入力された描画命令は、描画命令デコード手段２１６によってデコードされ、描画手段２１８はそのデコード結果に従って描画処理を実行する。描画処理によって得られた表示データは、第２のデータバス２１４を介してメモリインターフェース２１２からワークメモリ２０４に供給される。ワークメモリ２０４に格納された表示データは、第２のデータバス２１４を介して表示手段２１９に供給され、表示装置２０５に表示される。
【０００６】
すなわち、外部から入力された描画命令は、第１のデータバス２１３を介してＦＩＦＯメモリ２１５に供給されるが、その他のデータは、第２のデータバス２１４を介してＣＰＵインターフェース２１１とメモリインターフェース２１２との間でデータ転送される。
【０００７】
【発明が解決しようとする課題】
描画性能の向上を目的としてデータの転送レートを上げるためには、例えば、動作速度（クロックレート）を向上させたり、データバスのバス幅を増やすといった方法が考えられる。ところが、動作速度の向上は、消費電力の増加等の問題を生む。このため、データバス幅の増加を採用する場合が多いが、上述した従来の描画プロセッサでは、データバスが少なくとも２本は必要になるので、描画プロセッサをＬＳＩで実現するような場合には、バス幅の増加が大幅なコスト上昇につながるおそれがある。
【０００８】
また、データバスを共用する方法も考えられる。しかしながら、この場合、単一のデータバスに複数種類のデータが流れることになるため、データ転送が競合してしまい、例えば、描画命令の供給レートを稼ぐことが困難になる、あるいは表示画像が途切れてしまうといった問題が生じるおそれがある。このような問題を回避するために、内部メモリの記憶容量を格段に大きくする等の対策も考えられるが、この場合も、大幅なコスト上昇につながることになる。
【０００９】
一方、描画命令は一般的に、固定長ではなく可変長データである。これは、例えばカーナビゲーションに見られるように、地図描画に用いられる海岸線や住宅区画等は、単純な三角形や四角形では表現できない多数の連続座標からなる図形データを必要とするためである。
【００１０】
例えば、図１１（ａ）に示すように、道路等は連続直線によって表現され、このような連続直線を描画するための描画命令は、図１１（ｂ）に示すように、連続直線を構成する複数の座標点を有する。また、図１２（ａ）に示すように、住宅区画等は多角形によって表現され、このような多角形を描画するための描画命令は、図１２（ｂ）に示すように、外枠線を構成する複数の座標点を有する。
【００１１】
また、図１２（ａ）のような図形内部の塗りつぶしを行う場合、描画処理を速やかに終えるためには、外枠線を描くまでは内部の塗りつぶしを実行できないので、外枠線の描画を早期に終了させることが不可欠である。したがって、例えば１／３０秒または１／６０秒毎のスクロール等のアニメーション表示を実行する場合には、描画に必要な座標データを不足なく供給することが必須となる。なお、図形内部の塗りつぶし処理は、例えば「実践コンピュータグラフィックス」日刊工業ｐｐ１００−ｐｐ１０２に示されるアルゴリズムに従って実行可能である。
【００１２】
このような可変長データを含む描画命令を確実に供給するためには、上述の従来例では、描画プロセッサの描画命令を保持するＦＩＦＯメモリを、ＣＰＵが所定時間間隔で管理する必要がある。ところがこの場合、ＣＰＵに大きな負荷がかかかることになり、特にデータ長が長い描画命令を処理する場合には、その負荷は顕著に大きくなる。ところが、ＣＰＵは、描画処理システム全体ではＯＳなどの処理を実行するので、ＣＰＵに負荷がかかることはシステム全体のパフォーマンスや応答性能を低下させることになりかねない。もちろん、ＣＰＵのパフォーマンスを向上させることも考えられるが、システムコストを向上させることになってしまう。また、ＣＰＵの負荷を低減するためには、ＦＩＦＯの記憶容量を大きくすることも考えられるが、これもコスト増につながってしまう。
【００１３】
前記の問題に鑑み、本発明は、描画プロセッサとして、データバスを有効に活用することによって、描画性能を向上させることを課題とする。
【００１４】
【課題を解決するための手段】
前記の課題を解決するために、本発明が具体的に講じた解決手段は、描画プロセッサとして、外部から入力された描画命令を受けるための第１のインターフェースと、ワークメモリとのデータ転送を行うための第２のインターフェースと、前記第１のインターフェースと前記第２のインターフェースとの間のデータ転送を行うデータバスと、前記データバスから描画命令を入力し、この描画命令をデコードして表示データを生成し、前記データバスに出力する表示データ生成部と、前記データバスから前記表示データを入力し、表示装置に画像を表示する画像表示部と、前記データバスの使用状況を監視し、その使用権を制御するバス制御部とを備え、前記バス制御部は、前記データバスにおけるデータ転送について優先度を設定し、設定した優先度に応じて前記データバスの使用権を制御するものであり、前記表示データ生成部は、前記データバスから入力した描画命令を一時的に保持する描画命令保持部と、前記描画命令保持部から出力された描画命令をデコードするデコード部とを備え、前記描画命令保持部は、第１および第２のデータ保持手段を有し、前記第１および第２のデータ保持手段のうち選択した方に所定のアドレス順に描画命令を書き込むとともに、前記第１および第２のデータ保持手段のうち選択した方から所定のアドレス順に描画命令を読み出すものであり、かつ、描画命令を読み出すデータ保持手段において、読み出しアドレスが所定のチェックアドレスに一致したとき、当該データ保持手段に、描画命令の新たな書き込みを開始するものである。
【００１５】
そして、前記本発明に係る描画プロセッサにおけるバス制御部は、少なくとも、外部から入力された描画命令を前記ワークメモリに転送するデータ転送、前記ワークメモリから前記表示データ生成部に描画命令を供給するデータ転送、および、前記ワークメモリから前記画像表示部に表示データを供給するデータ転送について、優先度を設定するのが好ましい。
【００１６】
また、本発明が具体的に講じた解決手段は、描画プロセッサとして、外部から入力された描画命令を受けるための第１のインターフェースと、ワークメモリとのデータ転送を行うための第２のインターフェースと、前記第１のインターフェースと前記第２のインターフェースとの間のデータ転送を行うデータバスと、前記データバスから描画命令を入力し、この描画命令をデコードして表示データを生成し、前記データバスに出力する表示データ生成部と、前記データバスから前記表示データを入力し、表示装置に画像を表示する画像表示部と、前記データバスの使用状況を監視し、その使用権を制御するバス制御部と、外部から入力された描画命令を前記ワークメモリに転送するデータ転送の際に、データ転送される描画命令をプリデコードするプリデコード部と、前記プリデコード部によるプリデコード結果から、前記表示データ生成部におけるデータ処理量を予測する処理量予測部とを備え、前記バス制御部は、前記データバスにおけるデータ転送について優先度を設定し、設定した優先度に応じて前記データバスの使用権を制御するものであり、かつ、前記処理量予測部によって予測されたデータ処理量に応じてデータ転送の優先度を変更するものである。
【００１７】
また、前記バス制御部は、データ転送の優先度が動的に設定変更可能に構成されているのが好ましい。
【００１８】
あるいは、前記バス制御部は、所定時間当たりの予測データ処理量が所定量を超えるとき、前記ワークメモリから前記表示データ生成部に描画命令を供給するデータ転送の優先度を、外部から入力された描画命令を前記ワークメモリに転送するデータ転送の優先度よりも高くするのが好ましい。
【００１９】
あるいは、前記ワークメモリに格納された描画命令のデータ量をモニタするメモリモニタを備え、前記バス制御部は、前記メモリモニタによってモニタされたデータ量に応じてデータ転送の優先度を変更するのが好ましい。さらに、前記バス制御部は、モニタデータ量が所定量よりも小さくなったとき、外部から入力された描画命令を前記ワークメモリに転送するデータ転送の優先度を、前記ワークメモリから前記表示データ生成部に描画命令を供給するデータ転送の優先度よりも高くするのが好ましい。
【００２０】
あるいは、前記第１のインターフェースは、当該描画プロセッサの外部にある外部バスと接続されており、前記外部バスは、当該外部バスにおける転送データ量をモニタする外部バスモニタが接続されており、前記バス制御部は、前記外部バスモニタによってモニタされた転送データ量に応じて、前記データバスにおけるデータ転送の優先度を変更するのが好ましい。
【００２１】
また、本発明は、描画処理システムとして、前記本発明に係る描画プロセッサと、前記描画プロセッサの前記第１のインターフェースと接続された外部バスと、前記外部バスに接続されたＣＰＵおよびメモリと、前記描画プロセッサの前記第２のインターフェースと接続されたワークメモリと、前記描画プロセッサの前記画像表示部と接続された表示装置とを備えたものである。
【００２２】
また、本発明は、描画プロセッサとして、外部から入力された描画命令を受けるための第１のインターフェースと、ワークメモリとのデータ転送を行うための第２のインターフェースと、前記第１のインターフェースと前記第２のインターフェースとの間を接続するデータバスと、前記データバスから描画命令を入力し、この描画命令をデコードして表示データを生成し、前記データバスに出力する表示データ生成部と、前記データバスから前記表示データを入力し、表示装置に画像を表示する画像表示部とを備え、前記表示データ生成部は、前記データバスから入力した描画命令を一時的に保持する描画命令保持部と、前記描画命令保持部から出力された描画命令をデコードするデコード部とを備え、前記描画命令保持部は、第１および第２のデータ保持手段を有し、前記第１および第２のデータ保持手段のうち選択した方に所定のアドレス順に描画命令を書き込むとともに、前記第１および第２のデータ保持手段のうち選択した方から所定のアドレス順に描画命令を読み出すものであり、かつ、描画命令を読み出すデータ保持手段において、読み出しアドレスが所定のチェックアドレスに一致したとき、当該データ保持手段に、描画命令の新たな書き込みを開始するものである。
【００２３】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００２４】
（第１の実施形態）
図１は本発明の第１の実施形態に係る描画プロセッサの構造を示すブロック図である。図１において、描画プロセッサ１００は、ＣＰＵ１０２とのインターフェース制御を実行し、ＣＰＵ１０２からの描画命令を入力する第１のインターフェースとしてのＣＰＵインターフェース１１と、ワークメモリ１０４とのインターフェース制御を実行する第２のインターフェースとしてのメモリインターフェース１２と、ＣＰＵインターフェース１１とメモリインターフェース１２との間のデータ転送を行うデータバス１３と、データバス１３のデータ転送状態を監視するバス監視制御手段４１と、データバス１３におけるデータ転送の優先度を管理する描画優先度判定手段４２と、描画命令を一時的に保持するための描画命令保持部２２と、データバス１３から描画命令保持部２２にデータを転送制御する描画データ転送手段２１と、描画命令保持部２２のアドレスを管理するアドレス管理手段２７と、描画命令保持部２２に保持された描画命令をデコードする描画命令デコード手段２５と、描画命令デコード手段２５の出力に従って描画制御を実行する描画制御手段２８と、描画命令デコード手段２５を経由した描画データを描画制御手段２８に従って処理する描画手段２６と、描画済みデータを画像表示するデータに変換し、表示制御する画像表示部３０とを備えている。
【００２５】
描画データ転送手段２１、描画命令保持部２２、描画命令デコード手段２５、描画手段２６、アドレス管理手段２７および描画制御手段２８によって、表示データ生成部２０が構成されている。表示データ生成部２０は、データバス１３から描画命令を入力し、入力した描画命令をデコードして表示データを生成し、データバス１３に出力する。また、バス監視制御手段４１および描画優先度判定手段４２によって、バス制御部４０が構成されている。バス制御部４０は、データバス１３の使用状況を監視し、その使用権を制御する。
【００２６】
また、描画命令保持部２２は、第１および第２のデータ保持手段２２ａ，２２ｂを有している。制御線５０はデータバス１３におけるデータ転送等の制御のために用いられる。
【００２７】
さらに、描画プロセッサ１００に加えて、描画プロセッサ１００に描画命令を供給するＣＰＵ１０２と、ＣＰＵ１０２による演算・制御のために用いられるメモリ１０３と、ＣＰＵ１０２およびメモリ１０３が用いる外部バス１０１と、描画プロセッサ１００から出力された画像表示データを表示する表示装置１０５と、ワークメモリ１０４とによって、描画処理システムが構成されている。ワークメモリ１０４は描画作業のための作業領域や表示データを保持するための描画領域として用いられ、いわゆるユニファイドメモリ構造（ＵＭＡ：Unified Memory Architecture ）となっている。
【００２８】
図２は図１の描画プロセッサ１００の動作を示す図である。図２に示すように、まずＤＶＤやＣＤ等の記録媒体１０６に記録された描画データが（(1)）、外部バス１０１を介してメモリ１０３に転送される（(2)）。ＣＰＵ１０２はメモリ１０３に格納された描画データから、描画プロセッサ１００によって実行可能な描画命令を作成する。作成された描画命令は、ＣＰＵインターフェース１１、データバス１３およびメモリインターフェース１２を介して、ワークメモリ１０４に転送される（(4)）。この場合の描画命令の転送は、ＣＰＵ１０２によって実行してもよいし、ＣＰＵ１０２を直接介さないＤＭＡ転送のような形態で実行してもよい。
【００２９】
表示データ生成部２０は、ワークメモリ１０４に描画命令が保持された（(5)）ことを描画制御手段２８によって認識すると、一連の描画処理を開始する。すなわち、描画データ転送手段２１は、ワークメモリ１０４から描画命令保持部２２に描画命令のデータ転送を実行する（(6)）。その後、描画命令保持部２２に保持された描画命令を描画命令デコード手段２５によってデコードし、描画手段２６によって描画処理を実行する（(7)）。描画手段２６によって描画処理されたデータは、ワークメモリ１０４に表示データとして転送される（(8)）。
【００３０】
ワークメモリ１０４に格納された表示データは、例えば１／３０秒または１／６０秒間隔で画像表示部３０に転送され、表示装置１０５に表示される（(9)）。以降、これらの一連の処理が実行される。
【００３１】
本実施形態では、バス制御部４０は、データバス１３におけるデータ転送について優先度を設定し、設定した優先度に応じて、データバス１３の使用権を制御する。例えば、外部から入力された描画命令をワークメモリ１０４に転送するデータ転送（(4)）、ワークメモリ１０４から表示データ生成部２０に描画命令を供給するデータ転送（(6)）、または、ワークメモリ１０４から画像表示部３０に表示データを供給するデータ転送（(9)）について、優先度を設定する。
【００３２】
図３は図１における描画優先度判定手段４２の内部構成の一例を示す図である。図３の例では、描画優先度判定手段４２は、優先度設定レジスタ４２ａおよび優先度比較手段４２ｂを備えている。優先度設定レジスタ４２ａは、データバス１３におけるデータ転送の各種別についての優先度が、それぞれ設定されている。優先度比較手段４２ｂは、現在のデータ転送の後にデータ転送を要求している装置を制御線５０を介して認識し、優先度設定レジスタ４２ａの内容を参照して、次に実行すべきデータ転送を決定し、バス監視制御手段４１に指示する。バス監視制御手段４１は、次に実行すべきデータ転送に係る装置に対して、データバス１３の使用権を与える。
【００３３】
図４は優先度設定の一例を示す図である。図４の例では、優先度の値が低いほど優先度が高いものとしている。本例では、表示データ供給が最も優先度が高い。これは、例えば１／３０秒または１／６０秒毎に表示データの供給を行わないと、表示装置１０５に正常な描画を行うことができず、表示図形にノイズが乗ってしまうためである。
【００３４】
なお、優先度設定レジスタ４２ａは、その設定内容が、制御線５０を介して外部から変更可能に構成されている。例えば図４の例では、描画データの書き込み、すなわち描画手段から発生する描画データの書き込みの優先度が、最も低い値になっているが、これを、例えばＣＰＵインターフェース１１を介してＣＰＵ１０２から設定変更することも可能である。言い換えると、バス制御部４０は、データ転送の優先度が、動的に設定変更可能に構成されている。
【００３５】
なお、データ転送の優先度が固定されている場合には、描画優先度判定手段４２を、レジスタを用いないでハードロジックで構成してもよい。
【００３６】
またここでは、描画優先度判定手段４２は、現在実行中のデータ転送が終了してから次のデータ転送を開始するものとしたが、例えば、データ転送の途中に、優先度がより高いデータ転送、例えば、表示データ供給、描画書き込み等の実行要求があったときは、現在実行中のデータ転送を一旦中断し、要求のあったデータ転送を先に実行して、その後、元のデータ転送を再開するようにしてもかまわない。
【００３７】
なお、データバス１３に、外部の他の装置が接続されている場合には、その装置が要求するデータ転送についても優先度を設定するのが好ましい。想定されるデータ転送としては、ビデオカメラによって撮影した画像データの転送、ＴＶ等の放送データの転送（ストリーム配信（ＭＰＥＧ４））、他の画像生成装置で生成され、送信された画像データの転送などがある。
【００３８】
このような外部動画を入力する場合、動画系の優先度を、グラフィックの優先度よりも上げるのが好ましい。
【００３９】
また、マルチウィンドウ画面における画面表示の前後関係や、表示画面サイズの大小によって、表示の優先度を決定してもよい。例えば、マルチウィンドウ画面において、より前に表示される画面の表示データの優先度を高くし、あるいはサイズの大きい画面の表示データの優先度を高くする。画面サイズが同じ場合は、グラフィックよりも動画系の優先度を高く設計する。
【００４０】
図５は図１における表示データ生成部２０の構成の一部を詳細に示す図である。図５において、アドレス管理手段２７は、第１および第２のチェックアドレス保持レジスタ２７ａ，２７ｂと、第１および第２のチェックアドレス保持レジスタ２７ａ，２７ｂのいずれを用いるかを決定するための領域設定レジスタ２７ｃと、第１および第２のチェックアドレス保持レジスタ２７ａ，２７ｂのいずれかの値を領域設定レジスタ２７ｃの値に従って選択するセレクタ２７ｄと、セレクタ２７ｄの出力と描画命令保持部２２をアクセスするために描画制御手段２８が出力するアドレス値とを比較する比較手段２７ｅとを備えている。
【００４１】
また、描画データ転送手段２１は、描画命令のデータ転送を制御するデータ転送制御手段２１ａと、データ転送制御手段２１ａによる制御のために必要なパラメータを保持するデータ転送領域設定手段２１ｂとを備えている。
【００４２】
描画制御手段２８は、描画命令保持部２２にアドレスを出力し、第１または第２のデータ保持手段２２ａ，２２ｂのいずれか一方から描画命令を読み出して描画処理を行う。比較手段２７ｅは描画制御手段２８が出力したアドレスとセレクタ２７ｄの出力とを比較する。描画制御手段２８は、比較手段２７ｅの出力を受けて、描画データ転送手段２１におけるデータ転送領域設定手段２１ｂに対してデータ転送のためのパラメータを出力する。このパラメータは、描画命令デコード手段２５のデコード出力を基にして決定された，描画命令保持部２２のアクセスアドレスとデータ転送量とを含む。データ転送制御手段２１ａは、データ転送領域設定手段２１ｂが受けたパラメータに従って、メモリインターフェース１２およびデータバス１３を介して、ワークメモリ１０４との間でデータ転送を実行する。
【００４３】
図６は描画命令の供給シーケンスを示す図である。同図中、２２ａ，２２ｂは第１および第２のデータ保持手段２２ａ，２２ｂのアドレスマップをそれぞれ表している。第１のチェックアドレスＣＨＡ１は第１のデータ保持手段２２ａに新たな描画命令を供給するためのきっかけとなるアドレス値であり、第１のチェックアドレス保持レジスタ２７ａに設定される。また、第２のチェックアドレスＣＨＡ２は第２のデータ保持手段２２ｂに新たな描画命令を供給するためのきっかけとなるアドレス値であり、第２のチェックアドレス保持レジスタ２７ｂに設定される。第１および第２のチェックアドレスＣＨＡ１，ＣＨＡ２の設定は、描画制御手段２８が予め行う。ここでは、第１および第２のチェックアドレスＣＨＡ１，ＣＨＡ２として、各アドレス空間においてアドレスの最大値近傍の値が設定されているものとする。領域設定レジスタ２７ｃには、第１または第２のデータ保持手段２２ａ，２２ｂのいずれの領域をチェックの対象にするかを示すパラメタが設定される。
【００４４】
第１ステップＳ１１において、第１および第２のデータ保持手段２２ａ，２２ｂがともに描画命令が満たされていない場合、第１および第２のデータ保持手段２２ａ，２２ｂの両方にデータを充填する。データ充填シーケンスＦＳ１に従って、例えばアドレスの昇順に、第１および第２のデータ保持手段２２ａ，２２ｂに描画命令が充填される。
【００４５】
第２ステップＳ１２において、描画制御手段２８は、第１のデータ保持手段２２ａに充填された描画命令をデータ使用シーケンスＵＳ１に従って例えばアドレスの昇順に読み出して描画処理を実行する。ここで、第１のチェックアドレス保持レジスタ２７ａに設定された第１のチェックアドレスＣＨＡ１と同一のアドレスがアクセスされたとき、アドレス管理手段２７における比較手段２７ｅが割り込み信号ＩＮＴを出力する。第１のチェックアドレスＣＨＡ１が比較的大きい値に設定されているので、割り込み信号ＩＮＴの出力は、第１のデータ保持手段２２ａの描画命令がまもなく用い尽くされて、第１のデータ保持手段２２ａへの描画命令の充填が可能になることを意味する。またこのとき、領域設定レジスタ２７ｃの値が変更される。
【００４６】
第３ステップＳ１３において、割り込み信号ＩＮＴを受けた描画制御手段２８は、データ充填シーケンスＦＳ２に従い例えばアドレスの昇順に、第１のデータ保持手段２２ａに新たな描画命令を充填する。このとき、第２のデータ保持手段２２ｂの描画命令がデータ使用シーケンスＵＳ２に従い例えばアドレスの昇順に読み出され、実行される。ここで、第２のチェックアドレス保持レジスタ２７ｂに設定された第２のチェックアドレスＣＨＡ２と同一のアドレスがアクセスされたとき、アドレス管理手段２７における比較手段２７ｅが割り込み信号ＩＮＴを出力する。
【００４７】
第４ステップＳ１４において、データ使用シーケンスＵＳ３に従い第１のデータ保持手段２２ａの描画命令を使用しているときは、描画制御手段２８は、データ充填シーケンスＦＳ３に従い第２のデータ保持手段２２ｂに対して例えばアドレスの昇順に新たな描画命令の充填を実行する。
【００４８】
第１ステップＳ１１および第２ステップＳ１２に続いて、第３ステップＳ１３および第４ステップＳ１４を交互に繰り返す一連のシーケンスは、全ての描画命令が終了するか、または描画終了命令など特定の命令が発行されるまで、実行される。
【００４９】
図６に示すような一連のシーケンスにおいて、第１または第２のチェックアドレスＣＨＡ１，ＣＨＡ２がアクセスされた場合、アドレス管理手段２７は描画優先度判定手段４２に割り込み信号ＩＮＴを出力する。描画優先度判定手段４２は、描画命令供給の優先度と、次にデータバス１３の使用を要求するデータ転送の優先度とを比較し、描画命令供給の優先度の方が高いときは、描画命令供給を優先的に実行させるよう、バス監視制御手段４１に指示する。
【００５０】
図７は本実施形態において、描画命令デコード手段２５が、命令の実行シーケンスを変更するジャンプ命令やサブルーチン命令に相当する描画命令をデコードした際における、第１および第２のデータ保持手段２２ａ，２２ｂの動作を中心にその動作原理を示した図である。図７において、描画命令ＧＩ１がジャンプ命令やサブルーチン命令に相当する。
【００５１】
描画命令デコード手段２５は、第１および第２のデータ保持手段２２ａ，２２ｂから順序通りに描画命令を取り込んで、デコード処理を実行する。このデコード処理において、命令の実行シーケンスを変更する描画命令ＧＩ１をデコードしたとき、描画命令デコード手段２５は、描画制御手段２８に指示して、第１および第２のデータ保持手段２２ａ，２２ｂに格納された描画命令の更新を、アドレス管理手段２７からの割り込み信号ＩＮＴの出力の有無に関係なく、実行する。描画命令の取り込みは、上述したものと同様に実行される。
【００５２】
このような描画命令供給シーケンスにおいて、ＣＰＵ１０２やメモリ１０３は常に直接関与することがなく、描画制御手段２８が、描画命令の消費進行状況に応じて描画命令の供給を自主的に実行する。
【００５３】
なお、描画命令保持部２２へのデータ転送は、描画データ転送手段２１を経由してもよいし、データバス１３から直接行うようにしてもよい。また、チェックアドレス保持レジスタを２個設けるものとしたが、例えば１個の保持レジスタを更新するようにしてもよい。
【００５４】
以上のように本実施形態に係る描画プロセッサによると、データバスにおけるデータ転送の優先度を管理することによって、ユニファイドメモリ等のシステムに接続され、複数種類のデータを一元的に扱うデータバスであっても、その空き状態を無駄にすることなく、有効に活用することができる。このため、描画命令の供給を効率的に行うことができ、したがって、描画処理システム全体の効率を向上させることが可能になる。
【００５５】
（第２の実施形態）
図８は本発明の第２の実施形態に係る描画プロセッサの構成を示す図である。図８では、図１と共通の構成要素について、図１と同一の符号を付している。基本的な処理の流れは、第１の実施形態と同様である。第１の実施形態と異なるのは、プリデコード部６０および処理量予測部６１を新たに追加した点である。
【００５６】
図８に示す描画プロセッサ１００Ａでは、プリデコード部６０は、外部から入力された描画命令をワークメモリ１０４に転送するデータ転送の際に、データバス１３を流れる描画命令をプリデコードする。処理量予測部６１は、プリデコード部６０によるプリデコード結果から、表示データ生成部２０におけるデータ処理量を予測する。具体的には例えば、プリデコード結果から、線描画、多角形描画等の描画命令の種類別の分布に関する統計データを求めて、データ処理量を予測する。
【００５７】
統計データを求めるためには、予め、線描画および多角形描画に対して優先度を決定する重み付けパラメタを設定する。また多角形に関しては、頂点の数が多いものに、より多くの優先度を設定し、線描画においては、図１１（ａ）に示すような連続直線について、その頂点数によって優先度を決定する。
【００５８】
バス制御部４０は、処理量予測部６１によって予測されたデータ処理量に応じて、描画優先度判定手段４２の優先度設定レジスタ４２ａの内容を更新し、データバス１３におけるデータ転送の優先度を設定変更する。例えば、所定時間当たりの予測データ処理量が所定量を超えるとき、描画命令供給に係る優先度を上げる。すなわち、ワークメモリ１０４から表示データ生成部２０に描画命令を供給するデータ転送の優先度を、外部から入力された描画命令をワークメモリ１０４に転送するデータ転送の優先度よりも高くする。この場合、判定のための所定時間や所定量のようなパラメタは、外部から設定可能とするのが好ましい。
【００５９】
以上のように本実施形態によると、描画命令の予測処理量に応じて、データ転送の優先度を設定変更するので、描画命令の供給を滞ることなく実行することが可能になる。
【００６０】
（第３の実施形態）
図９は本発明の第３の実施形態に係る描画プロセッサの構成を示す図である。図９では、図１と共通の構成要素について、図１と同一の符号を付している。基本的な処理の流れは、第１の実施形態と同様である。第１の実施形態と異なるのは、メモリインターフェース１２Ａが、ワークメモリ１０４に保持された描画命令のデータ量をモニタするメモリモニタ７１を有する点である。また、ＣＰＵ１０２Ａが、外部バス１０１におけるデータ転送量をモニタする外部バスモニタ７２を有している。
【００６１】
データ転送量のモニタは、例えば、タイマー割り込みによって所定時間毎にデータの転送が終了しているか否かを確認するか、または、ＤＭＡのデータ転送量を示すデータ転送長パラメタからデータ転送量を計算することによって、行うことができる。
【００６２】
図９に示す描画プロセッサ１００Ｂでは、メモリインターフェース１２Ａにおけるメモリモニタ７１は、ワークメモリ１０４に格納された未処理の描画命令のデータ量をモニタする。バス制御部４０は、メモリモニタ７１によってモニタされたデータ量に応じて、描画優先度判定手段４２の優先度設定レジスタ４２ａの内容を更新し、データバス１３におけるデータ転送の優先度を設定変更する。例えば、モニタしたデータ量が所定量よりも小さくなったとき、ホストデータ供給に係る優先度を上げる。すなわち、外部から入力された描画命令をワークメモリ１０４に転送するデータ転送の優先度を、ワークメモリ１０４から表示データ生成部２０に描画命令を供給するデータ転送の優先度よりも高くする。この場合、判定のための所定量のようなパラメータは、外部から設定可能とするのが好ましい。
【００６３】
また、ＣＰＵ１０２Ａにおける外部バスモニタ７２は、外部バス１０１における転送データ量をモニタする。バス制御部４０は、外部バスモニタ７２によってモニタされた転送データ量に応じて、描画優先度判定手段４２の優先度設定レジスタ４２ａの内容を更新し、データバス１３におけるデータ転送の優先度を設定変更する。
【００６４】
なお、メモリモニタ７１は、メモリインターフェース１２Ａ以外のところに設けてもかまわない。また、外部バスモニタ７２は、ＣＰＵ１０２Ａ以外のところに設けてもかまわない。
【００６５】
なお、上述の各実施形態において、データバス１３のバス権を決定する機能は、バス監視制御手段４１に持たせる代わりに、例えばＣＰＵインターフェース１１やメモリインターフェース１２に持たせてもかまわない。
【００６６】
また、上述の各実施形態において、描画命令や各種データを供給するＣＰＵは、描画プロセッサの外部に設けられるものとしたが、描画プロセッサの内部に内蔵してもよい。また、ワークメモリについても、描画プロセッサの内部に内蔵してもかまわない。
【００６７】
【発明の効果】
以上のように本発明によると、データバスの使用権がデータ転送の優先度に応じて制御されるので、データバスを有効に活用することができる。このため、描画命令の供給を効率的に行うことができ、したがって、描画処理システム全体の効率を向上させることが可能になる。
【図面の簡単な説明】
【図１】  本発明の第１の実施形態に係る描画プロセッサの構成を示すブロック図である。
【図２】  図１の描画プロセッサの動作を示す図である。
【図３】  図１の構成における描画優先度判定手段の内部構成を示す図である。
【図４】  データ転送の優先度の設定の一例である。
【図５】  図１の構成におけるデータ保持手段のアドレス管理のための構成を示す図である。
【図６】  図１の構成におけるデータ保持手段のアドレス管理を説明するための図である。
【図７】  図１の構成におけるデータ保持手段のアドレス管理を説明するための図である。
【図８】  本発明の第２の実施形態に係る描画プロセッサの構成を示すブロック図である。
【図９】  本発明の第３の実施形態に係る描画プロセッサの構成を示すブロック図である。
【図１０】  従来の描画プロセッサの構成を示すブロック図である。
【図１１】  （ａ）は連続直線の描画例、（ｂ）は連続直線の描画命令の例である。
【図１２】  （ａ）は任意頂点の多角形の描画例、（ｂ）は多角形の描画命令の例である。
【符号の説明】
１１  ＣＰＵインターフェース（第１のインターフェース）
１２  メモリインターフェース（第２のインターフェース）
１３  データバス
２０  表示データ生成部
２２  描画命令保持部
２２ａ  第１のデータ保持手段
２２ｂ  第２のデータ保持手段
２５  描画命令デコード手段（デコード部）
３０  画像表示部
４０  バス制御部
６０  プリデコード部
６１  処理量予測部
７１  メモリモニタ
７２  外部バスモニタ
１００，１００Ａ，１００Ｂ  描画プロセッサ
１０１  外部バス
１０２  ＣＰＵ
１０３  メモリ
１０４  ワークメモリ
１０５  表示装置
【図１】
0004671519.tif 000002
【図２】
0004671519.tif 000003
【図３】
0004671519.tif 000004
【図４】
0004671519.tif 000005
【図５】
0004671519.tif 000006
【図６】
0004671519.tif 000007
【図７】
0004671519.tif 000008
【図８】
0004671519.tif 000009
【図９】
0004671519.tif 000010
【図１０】
0004671519.tif 000011
【図１１】
0004671519.tif 000012
【図１２】
0004671519.tif 000013