(57)【要約】【課題】ライトバッファに描画コマンドが格納されている場合であっても、該描画コマンドに対応した画像データ以外の画像データを読み出し可能な描画回路を実現する。【解決手段】ＣＰＵ１からの描画コマンド１２に、一意に識別可能なＩＤ情報を付すると共に、該ＩＤ情報を格納可能なＩＤレジスタ２０をライトバッファ３内部に備える。ＣＰＵ１は、ＩＤレジスタ２０の内容を監視し、ＩＤレジスタ２０に格納されているＩＤ情報に基づいて、ライトバッファ３に格納されている描画コマンド１２を判別する。したがって、ライトバッファ３に描画コマンド１２が格納されている場合であっても、ＣＰＵ１は、ライトバッファ３に格納されている描画コマンド１２に対応した画像データ以外の画像データをビデオメモリ２から読み出すことができる。【選択図】　図２
2004139374.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、該ＣＰＵからの描画コマンドに対応して画像データが書き込まれるビデオメモリと、該ビデオメモリと上記ＣＰＵとの間に介在し、上記ビデオメモリよりも処理速度が高速であって、上記ＣＰＵからの描画コマンドを一時的に格納可能なライトバッファと、上記ＣＰＵからの表示コマンドに対応して上記ビデオメモリに書き込まれた画像データをディスプレイに表示する表示制御回路とを備えた描画回路であって、
上記描画コマンドに一意に識別可能な識別情報を付すると共に、該識別情報が格納される記憶手段を備える一方、
上記ＣＰＵは、該記憶手段を監視し、
該記憶手段に格納されている識別情報に基づいて、上記ライトバッファに格納されている描画コマンドを判別すると、上記ライトバッファに格納されている描画コマンドに対応した画像データ以外の画像データを上記ビデオメモリから読み出し可能な表示コマンドを送出することを特徴とする描画回路。
【請求項２】
上記記憶手段は、
上記ライトバッファから上記ビデオメモリに対して実行中の描画コマンドに対応した識別情報が格納される一方、
上記ＣＰＵは、
上記記憶手段に格納されている識別情報に対応した描画コマンドおよび該描画コマンドよりも後に送出された描画コマンドについては、上記ライトバッファに格納されていると判断する機能を備えたことを特徴とする請求項１記載の描画回路。
【請求項３】
上記記憶手段は、上記ライトバッファ内部に備えられていることを特徴とする請求項１または２記載の描画回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ＣＰＵと、ＣＰＵからの描画コマンドに対応して画像データが書き込まれるビデオメモリと、ビデオメモリとＣＰＵとの間に介在し、ビデオメモリよりも処理速度が高速であって、ＣＰＵからの描画コマンドを一時的に格納可能なライトバッファと、ＣＰＵからの表示コマンドに対応してビデオメモリに書き込まれた画像データをディスプレイに表示する表示制御回路とを備えた描画回路に関するものである。
【０００２】
【従来の技術】
一般に、この種描画回路が使用される画像表示処理装置（例えば、プログラマブル表示装置）において、ＣＰＵの処理能力の向上を目的として、ＣＰＵとビデオメモリとの間に、ビデオメモリよりも演算処理能力が高いライトバッファが用いられることがある。
【０００３】
例えば、図５に示すように、ＣＰＵ１００からビデオメモリ１０１に対する書き込み要求が発生すると、ライトバッファ１０２が、ＣＰＵ１００から描画コマンド９０を受け、該描画コマンド９０を、ライトバッファ１０２内部の制御回路１０２ａの所定レジスタに取り込むと共に、書き込みアドレスと書き込みデータを、それぞれ、ライトバッファ１０２内部のアドレスレジスタ１０２ｂおよびデータレジスタ１０２ｃに取り込む。取り込みが完了すると、即座に、受け取り完了信号９１をＣＰＵ１００に出力すると共に、制御回路１０２ａの所定レジスタに格納された描画コマンド９０をビデオメモリ１０１に出力する。ビデオメモリ１０１は、描画コマンド９０に基づいて画像データの書き込みを行う。ビデオメモリ１０１への書き込みが終了すると、書き込み完了信号９２をライトバッファ１０２に出力する。このようにして、ＣＰＵ１００からの描画コマンド９０に対応した画像データがビデオメモリ１０１に書き込まれていくのである。
【０００４】
そして、例えば、ＣＰＵ１００からビデオメモリ１０１に対する書き込み要求が連続して発生した場合は、ライトバッファ１０２が、ＣＰＵ１００から描画コマンド９０を受け、受け取り完了信号９１をＣＰＵ１００に出力すると、ＣＰＵ１００は、即座に、次の描画コマンド９０をライトバッファ１０２に送出する。このように、ライトライトバッファ１０２内部の制御回路１０２ａの所定レジスタには、ＣＰＵ１００からの描画コマンド９０が順次に取り込まれる。そして、ライトバッファ１０２は、取り込まれた描画コマンド９０を順次に実行することにより、ビデオメモリ１０１への書き込みを順次に行う。
【０００５】
すなわち、ＣＰＵ１００は、受け取り完了信号９１を受け取ると、ライトバッファ１０２からビデオメモリ１０１への書き込み完了を待たずに次の動作に移行できるので、ＣＰＵ１００の処理能力が向上すると共に、システム全体の処理能力も向上する。なお、ライトバッファ１０２を用いた構成については、例えば、特許文献１に具体的な記載がある。
【０００６】
【特許文献１】
特開昭５５−１０５８８１号公報　（第９図：公開日１９８０年８月１３日）
【０００７】
【発明が解決しようとする課題】
しかしながら、上記説明したようなライトバッファを採用した場合、ＣＰＵからビデオメモリに対する書き込み処理の効率は向上するが、次のような場合に問題が生じる。
【０００８】
その問題とは、ライトバッファに格納された描画コマンドが全て実行されるまで、ＣＰＵは、ビデオメモリに格納された画像データの読み出しができないという問題である。すなわち、ＣＰＵ側から見れば、どの画像データをビデオメモリに書き込み中であるか認識できないので、ライトバッファに格納された描画コマンドが全て実行され、ビデオメモリに対する書き込みが全て終了したときに、ビデオメモリの内容を読み出すことが可能となるのである。
【０００９】
特に、ＣＰＵからビデオメモリに対して連続して書き込み要求が発生した場合には、ライトバッファからビデオメモリに対する書き込みが連続して行われることとなる。この場合、例えば、ＣＰＵが、ライトバッファに格納されている描画コマンドに対応した画像データとは関係のない画像データを読み出す場合であっても、ライトバッファからビデオメモリに対する連続した書き込みが終了するまで、その読み出しを待たねばならず、結果として、ＣＰＵの処理能力が低下するという問題があった。
【００１０】
本発明は、上記の問題点に鑑みてなされたものであり、ライトバッファに描画コマンドが格納されている場合であっても、該描画コマンドに対応した画像データ以外の画像データを読み出し可能な描画回路を実現することにある。
【００１１】
【課題を解決するための手段】
請求項１の発明に係る描画回路は、上記の課題を解決するために、ＣＰＵと、該ＣＰＵからの描画コマンドに対応して画像データが書き込まれるビデオメモリと、該ビデオメモリと上記ＣＰＵとの間に介在し、上記ビデオメモリよりも処理速度が高速であって、上記ＣＰＵからの描画コマンドを一時的に格納可能なライトバッファと、上記ＣＰＵからの表示コマンドに対応して上記ビデオメモリに書き込まれた画像データをディスプレイに表示する表示制御回路とを備えた描画回路であって、以下の手段を講じたことを特徴としている。
【００１２】
すなわち、上記描画コマンドに一意に識別可能な識別情報を付すると共に、該識別情報が格納される記憶手段を備える一方、上記ＣＰＵは、該記憶手段を監視し、該記憶手段に格納されている識別情報に基づいて、上記ライトバッファに格納されている描画コマンドを判別すると、上記ライトバッファに格納されている描画コマンドに対応した画像データ以外の画像データを上記ビデオメモリから読み出し可能な表示コマンドを送出することを特徴としている。
【００１３】
上記の構成において、ＣＰＵは、識別情報が格納される記憶手段の内容を監視している。記憶手段に識別情報が格納されている場合に、ＣＰＵは、該識別情報に基づいて、ライトバッファに格納されている描画コマンドを判別する。したがって、ＣＰＵは、ライトバッファに格納されている描画コマンドに対応した画像データ以外の画像データをビデオメモリから読み出し可能な表示コマンドを送出できる。
【００１４】
上記構成によれば、ＣＰＵからの描画コマンドが、ライトバッファに格納されていても、該ライトバッファに格納されている描画コマンドに対応した画像データとは関係のない画像データを読み出すことができるので、ＣＰＵの処理能力は向上する。
【００１５】
ところで、記憶手段に格納される識別情報は、例えば、「１」「２」「３」・・・のような任意の番号を付することができるし、また、ユーザが識別し易いような番号を付することもできる。要するに、記憶手段に格納可能であって、ＣＰＵが理解可能な情報であれば、いかなる情報であってもよい。
【００１６】
また、請求項２の発明に係る描画回路は、請求項１記載の描画回路において、上記記憶手段は、上記ライトバッファから上記ビデオメモリに対して実行中の描画コマンドに対応した識別情報が格納される一方、上記ＣＰＵは、上記記憶手段に格納されている識別情報に対応した描画コマンドおよび該描画コマンドよりも後に送出された描画コマンドについては、上記ライトバッファに格納されていると判断する機能を備えたことを特徴としている。
【００１７】
上記構成によれば、例えば、ＣＰＵから連続して描画コマンドが送出された場合に、ＣＰＵは、記憶手段に格納されている識別情報に基づいて、上記のような判断を行うので、ＣＰＵは、的確に、ライトバッファに格納されている描画コマンドを判別することができる。
【００１８】
また、請求項３の発明に係る描画回路は、請求項１または２記載の描画回路において、上記記憶手段は、上記ライトバッファ内部に備えられていることを特徴としている。上記構成によれば、ライトバッファの残余の領域を活用することができ、ライトバッファの有効利用を図ることができる。
【００１９】
【発明の実施の形態】
本発明の実施の一形態について図１ないし図４に基づいて説明すれば、以下の通りである。
【００２０】
すなわち、図１に示すように、本実施の形態に係る描画回路１０は、それ全体が１または少数枚の回路基板上に一体に構成されてメインの処理ルーチンから独立して動作可能とするものであって、従来の描画回路と差し替えての使用を可能とする。
【００２１】
ここで、描画回路１０は、ＣＰＵ１を備え、バスライン１１を介してビデオメモリ２、ライトバッファ３、表示制御回路４が接続され、互いにデータの受け渡しを行う。また、バスライン１１には、汎用的なＲＡＭとＲＯＭを含むメモリ５が接続される。そして、ディスプレイ６で表示すべき画像データは、ビデオメモリ２上にビットマップ形式で展開されたあと、必要なデータ処理を施してディスプレイ６に送られる。
【００２２】
なお、本実施の形態に係る描画回路は、ＣＲＴをディスプレイとして使用したパソコン応用装置に実施した一例を示すがこれに限らず、液晶表示器やＥＬパネルをディスプレイとして使用した各種の汎用あるいは専用のパソコン装置に対しても略同様に実施できることは勿論である。本発明における描画回路は、プログラマブル・ロジック・コントローラ（ＰＬＣ）の制御動作に対応した表示を行うプログラマブル表示装置において、特に、好適に使用されるものである。
【００２３】
ＣＰＵ１は、ビデオメモリ２に対する画像データの書き込み要求を発生させる描画コマンドを送出すると共に、ビデオメモリ２に書き込まれた画像データをディスプレイ６に表示するための表示コマンドを送出するものであって、描画回路１０全体に必要な各種の演算処理を実行する。
【００２４】
ビデオメモリ２は、ディスプレイ６に表示するための画像データが書き込まれるメモリであって、ＣＰＵ１からの描画コマンドに対応してビットマップ形式で書き込まれる。ビデオメモリ２の書き込み領域には、ディスプレイ６上に表示される領域（オンスクリーン）と表示されない領域（オフスクリーン）とを有している。ここで、ディスプレイ６上に表示されない領域（オフスクリーン）は、次に表示するデータや、よく表示するデータを保管する目的で使われる。
【００２５】
ライトバッファ３は、ビデオメモリ２よりも処理速度が高速な素子であって、ＣＰＵ１とビデオメモリ２との間に介在する。ライトバッファ３は、一般に、種々の方式が存在するが（例えば、ライトスルー方式など）、ＣＰＵ１とビデオメモリ２との間にライトバッファ３が介在される構成であれば、いかなる方式であってもよい。
【００２６】
表示制御回路４は、ＣＰＵ１からの表示コマンドに対応して、ビデオメモリ２に格納された画像データを読み出して、該画像データに同期信号などを付加することにより、ディスプレイ６で表示可能な映像信号を出力する。ディスプレイ６は、該映像信号に基づいて、画像データの内容を表示画面に表示する。
【００２７】
次に、描画回路１０のビデオメモリ２に対する書き込み処理について、具体的に説明する。
【００２８】
本発明にあっては、図２に示すように、ライトバッファ３内部にＩＤレジスタ２０を備えたことを特徴とする。なお、本実施の形態では、ライトバッファ３内部にＩＤレジスタ２０を備えた構成を説明するが、ライトバッファ３とは別に備えられていてもよいことは勿論である。さらに、上記ＩＤレジスタ２０が、特許請求の範囲に記載の記憶手段に対応している。
【００２９】
ＣＰＵ１からビデオメモリ２に対する書き込み要求が発生すると、ライトバッファ３が、ＣＰＵ１から描画コマンド１２を受け、描画コマンド１２を、ライトバッファ３内部の制御回路３ａの所定レジスタに取り込むと共に、書き込みアドレスと書き込みデータを、それぞれ、ライトバッファ３内部のアドレスレジスタ３ｂおよびデータレジスタ３ｃに取り込む。
【００３０】
制御回路３ａの所定のレジスタ、アドレスレジスタ３ｂおよびデータレジスタ３ｃへの取り込みが完了すると、即座に、受け取り完了信号１３をＣＰＵ１に出力すると共に、制御回路３ａの所定レジスタに格納された描画コマンド１２をビデオメモリ２に出力する。そして、ＩＤレジスタ２０には、該描画コマンド１２に対応したＩＤ情報（後述する）が格納される。ビデオメモリ２は、該描画コマンド１２に基づいて画像データの書き込みを行う。ビデオメモリ２への書き込みが終了すると、書き込み完了信号１４をライトバッファ３に出力する。このようにして、ＣＰＵ１からの描画コマンド１２に対応した画像データがビデオメモリ２に書き込まれていく。
【００３１】
また、ＣＰＵ１からビデオメモリ２に対する書き込み要求が連続して発生した場合は、ライトバッファ３が、ＣＰＵ１から描画コマンド１２を受け、受け取り完了信号１３をＣＰＵ１に出力すると、ＣＰＵ１は、即座に、次の描画コマンド１２をライトバッファ３に送出する。このように、ライトバッファ３内部の制御回路３ａの所定レジスタにＣＰＵ１からの描画回路が順次に取り込まれる。そして、ライトバッファ３は、取り込まれた描画コマンド１２を順次に実行することにより、ビデオメモリ２への書き込みを順次に行う。なお、ＩＤレジスタ２０には、ライトバッファ３からビデオメモリ２に対して実行中の描画コマンド１２に対応したＩＤ情報が順次に更新される。
【００３２】
続いて、描画回路１０のビデオメモリ２に対する読み出し処理について、具体的に説明する。本発明は、上記のとおり、ＩＤレジスタ２０を備えた構成に特徴を有するが、ＩＤレジスタ２０は、ビデオメモリ２に対する読み出し処理に活用されるものである。
【００３３】
ＣＰＵ１は、ＩＤレジスタ２０に格納されているＩＤ情報（識別情報）を監視している。ここでは、図３に示すように、ＣＰＵ１から「ウインドウ１の所定位置に円を描画する」（ＩＤ情報「１」）「ウインドウ１の所定位置に四角形を描画する」（ＩＤ情報「２」）「ウインドウ２の所定位置に円を描画する」（ＩＤ情報「３」）「ウインドウ１の所定位置に三角形を描画する」（ＩＤ情報「４」）「ウインドウ３の所定位置に円を描画する」（ＩＤ情報「５」）という５つの描画コマンド１２が、ＩＤ情報と共に連続して送出された場合を例にして説明する。
【００３４】
ＩＤ情報は、ＣＰＵ１が理解可能な情報であればよく、例えば、描画回路１０を設計するハードウェア技術者などのユーザが識別し易いような情報であってもよい。なお、上記描画コマンド１２は、説明の都合上、円や三角形、四角形を描画するコマンドを例にしているが、上記描画コマンド１２には、ディスプレイ６に線を引くライン描画コマンドや、矩形を指定して、その指定部分からはみ出した部分を描画しないようにするクリッピングコマンド、ディスプレイ６上の矩形領域を移動するＢｉｔＢｌｔコマンド、矩形領域を描画する矩形描画コマンドなどが含まれる。
【００３５】
例えば、図４に示すように、ＩＤレジスタ２０に、ＩＤ情報「３」が格納されている場合に、ＣＰＵ１は、ＩＤ情報「３」に対応する描画コマンド１２「ウインドウ２の所定位置に円を描画する」と、該描画コマンド１２よりも後に送出された描画コマンド１２「ウインドウ１の所定位置に三角形を描画する」（ＩＤ情報「４」）および「ウインドウ３の所定位置に円を描画する」（ＩＤ情報「５」）については、ライトバッファ３に格納されていると判断する。なお、ＩＤ情報「３」に対応する描画コマンド１２よりも先に送出された描画コマンド１２（ここでは、ＩＤ情報「１」および「２」に対応した描画コマンド）については、ライトバッファ３からビデオメモリ２に対する実行が終了し、ビデオメモリ２への書き込みが終了したものと判断する。
【００３６】
ＣＰＵ１は、上記判断に基づいて、ライトバッファ３に格納されている描画コマンド１２に対応した画像データ以外の画像データをビデオメモリ２から読み出し可能な表示コマンド１５を送出する。
【００３７】
そして、表示制御回路４は、ＣＰＵ１から送出された表示コマンド１５に対応して、ビデオメモリ２に格納された画像データを読み出して、ディスプレイ６に画像データを表示させるための映像信号を送出する。ディスプレイ６においては、該映像信号に基づいて、画像データが表示される。
【００３８】
以上に述べたように、本実施の形態では、ライトバッファ３に描画コマンド１２が格納されている場合であっても、ＣＰＵ１は、ライトバッファ３に格納されている描画コマンド１２に対応した画像データとは関係のない画像データをビデオメモリ２から読み出し可能な表示コマンド１５を送出するので、ＣＰＵ１の処理能力が向上する。
【００３９】
さらに、上記ＩＤレジスタ２０は、ライトバッファ３内部に備えられているので、ライトバッファ３の残余の領域を活用することができ、ライトバッファ３の有効利用を図ることができる。
【００４０】
なお、上記実施形態では、ＩＤレジスタ２０に、ライトバッファ３からビデオメモリ２に対して実行中である描画コマンド１２に対応したＩＤ情報のみ格納される場合を例にして説明したが、ＩＤレジスタ２０を複数備えることによって、複数のＩＤ情報を格納できるようにしてもよい。この場合、ＣＰＵ１が、描画コマンド１２を連続して送出すると、ＩＤレジスタ２０は、送出された描画コマンド１２順にＩＤ情報を格納することができる。
【００４１】
また、上記実施形態では、ＣＰＵ１から送出される描画コマンド１２に一意に識別可能なＩＤ情報を付する場合を例にして説明したが、該描画コマンド１２の一部に対してＩＤ情報を付するような構成としてもよい。上記の例では、「ウインドウ１の所定位置に円を描画する」という描画コマンド１２に対して「１」というＩＤ情報を付したが、例えば、「ウインドウ１」という描画コマンド１２の一部に対してＩＤ情報を付することも可能である。しかしながら、この場合、ＣＰＵ１は、「ウインドウ１」に対する描画コマンド１２が、ライトバッファ３に格納されていることは判別できるが、「ウインドウ１」のどの領域に何を書き込むべきコマンドであるかまでは判別できない。したがって、ＣＰＵ１は、「ウインドウ１の所定位置に円を描画する」という描画コマンド１２がライトバッファ３に格納されていると判断すると、「ウインドウ１」以外の画像データの読み出しを可能とする。
【００４２】
さらに、本実施の形態では回路構成の主要部分をハードウェアで実現する例を示したが、その一部をソフトウェアで構成することも可能である。さらに、描画処理をＣＰＵによらず、例えば、アクセラレータ機能を備えた描画専用のチップで構成してもよい。
【００４３】
すなわち、上記実施例の説明は、本発明を説明するためのものであって、特許請求の範囲に記載の発明を限定し、あるいは、減縮するように解すべきではない。また、本発明の各構成は上記実施例に限らず、特許請求の範囲に記載の権利範囲内で種々の変形が可能であることは勿論である。
【００４４】
【発明の効果】
以上のように、請求項１の発明に係る描画回路は、上記描画コマンドに一意に識別可能な識別情報を付すると共に、該識別情報が格納される記憶手段を備える一方、上記ＣＰＵは、該記憶手段を監視し、該記憶手段に格納されている識別情報に基づいて、上記ライトバッファに格納されている描画コマンドを判別すると、上記ライトバッファに格納されている描画コマンドに対応した画像データ以外の画像データを上記ビデオメモリから読み出し可能な表示コマンドを送出する構成である。
【００４５】
これにより、ライトバッファに描画コマンドが格納されている場合であっても、ＣＰＵは、ライトバッファに格納されている描画コマンドに対応した画像データとは関係のない画像データをビデオメモリから読み出すことができるので、ＣＰＵの処理能力が向上する。したがって、この種描画回路が使用されるシステム（例えば、プログラマブル表示装置）全体の処理能力も向上するという効果を奏する。
【００４６】
請求項２の発明に係る描画回路は、請求項１記載の描画回路において、上記記憶手段は、上記ライトバッファから上記ビデオメモリに対して実行中の描画コマンドに対応した識別情報が格納される一方、上記ＣＰＵは、上記記憶手段に格納されている識別情報に対応した描画コマンドおよび該描画コマンドよりも後に送出された描画コマンドについては、上記ライトバッファに格納されていると判断する機能を備えた構成である。
【００４７】
これにより、例えば、ＣＰＵから連続して描画コマンドが送出された場合に、ＣＰＵは、記憶手段に格納されている識別情報に基づいて、上記のような判断を行うので、ＣＰＵは、的確に、ライトバッファに格納されている描画コマンドを判別することができる。したがって、請求項１記載の描画回路と同様に、ＣＰＵの処理能力が向上すると共に、この種描画回路が使用されるシステム（例えば、プログラマブル表示装置）全体の処理能力も向上するという効果を奏する。
【００４８】
請求項３の発明に係る描画回路は、請求項１または２記載の描画回路において、上記記憶手段は、上記ライトバッファ内部に備えられている構成である。これにより、ライトバッファの残余の領域を活用することができ、ライトバッファの有効利用を図ることができる。したがって、ライトバッファとは別の素子を用意する必要がなく、コストの削減および省スペース化を図ることができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明をパソコン装置に実施した一例を示すブロック図である。
【図２】描画回路の一例を示すブロック図である。
【図３】ＣＰＵから連続して送出される描画コマンドと、該描画コマンドに付される識別情報とを示す説明図である。
【図４】ＣＰＵが、記憶手段を監視している概念を表すブロック図である。
【図５】従来における描画回路の一例を示すブロック図である。
【符号の説明】
１　ＣＰＵ
２　ビデオメモリ
３　ライトバッファ
４　表示制御回路
６　ディスプレイ
１０　描画回路
１２　描画コマンド
１５　表示コマンド
【図１】
2004139374.tif 000003
【図２】
2004139374.tif 000004
【図３】
2004139374.tif 000005
【図４】
2004139374.tif 000006
【図５】
2004139374.tif 000007