(57)【要約】【課題】プロセッサに負荷をかけずに、回路規模を抑えつつ、様々な描画機能に対応すると共に、高速な描画を実現することのできるグラフィックス描画装置を得る。【解決手段】パーシャルリコンフィギュ制御部３は、再構成可能な描画機能専用装置であるＢｉｔＢＬＴエンジン４、２Ｄエンジン５、ベクタエンジン６それぞれのメモリアクセス頻度を描画負荷状態の情報としてメモリコントローラ９から取得する。その結果、各エンジンの描画負荷として偏りがあった場合は描画負荷が分散されるよう各エンジンの再構成を行う。【選択図】図１
2013218527.tif 000002
【特許請求の範囲】
【請求項１】
再構成可能な異なる描画機能専用装置を複数搭載するグラフィックス描画装置であって、
前記複数の描画機能専用装置におけるそれぞれの描画負荷状態を元に、各描画機能専用装置の描画負荷が分散されるように、当該複数の描画機能専用装置の再構成を行うパーシャルリコンフィギュ制御部を備えたことを特徴とするグラフィックス描画装置。
【請求項２】
パーシャルリコンフィギュ制御部は、描画負荷状態を、複数の描画機能専用装置におけるメモリアクセス頻度に基づいて判定することを特徴とする請求項１記載のグラフィックス描画装置。
【請求項３】
パーシャルリコンフィギュ制御部は、描画負荷状態を、複数の描画機能専用装置における動作状態の期間を示す情報に基づいて判定することを特徴とする請求項１記載のグラフィックス描画装置。
【請求項４】
パーシャルリコンフィギュ制御部は、複数の描画機能専用装置の再構成を行った場合と行わない場合の描画時間を比較し、前記再構成を行った場合の描画時間の方が短い場合にのみ再構成を行うよう決定することを特徴とする請求項１から請求項３のうちのいずれか１項記載のグラフィックス描画装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、パーソナルコンピュータの画面の生成を行う装置や組み込み機器の表示画面を生成する装置等に用いられ、複数の描画機能装置を有するグラフィックス描画装置に関するものである。
【背景技術】
【０００２】
書き換え可能なＬＳＩとして、ＦＰＧＡ（Field Programmable Gate Array）と称されるデバイスが知られている。ＦＰＧＡの基本的な構成は、プログラム可能な論理ユニットが格子状に配置され、論理ユニット同士が配線群で接続されている。この論理ユニット同士の接続を設計者が設計した回路情報を元に構築することで任意の回路を構築する。ここで、ＦＰＧＡにはパーシャルリコンフィギュ機能と呼ばれる機能が搭載されている。パーシャルリコンフィギュ機能とは、ＦＰＧＡを動作させながら、ＦＰＧＡに構成している回路の一部を再構築し、別の回路に書き換える機能である。
【０００３】
一方、グラフィックス描画装置は、様々な描画機能を実現するため、複数の描画装置機能から構成される。例えば、点・直線・楕円描画を行う２Ｄ描画装置、矩形転送・矩形領域塗り潰しを行うＢｉｔＢＬＴ装置、文字の描画を行うフォント描画装置、ベクタ図形描画を行うベクタ描画装置などで構成される。しかし、描画内容に応じて、各装置の仕様頻度が異なり、場合によってはまったく使用されない装置がある。
【０００４】
パーシャルリコンフィギュ機能を効率よく使用するための関連技術として、例えば、特許文献１に記載された技術があった。特許文献１に記載された技術は車載用画像処理装置に関するものである。車載用画像処理では、様々な運転環境（昼間、夜間、雨天、晴天、霧など）に応じて最適な画像処理アルゴリズムが異なる。様々な運転環境に最適な処理装置をハードウェアに実装することは、回路規模が膨大になるため、現実的ではない。そこで特許文献１の装置では、パーシャルリコンフィギュレーション制御装置を設け、パーシャルリコンフィグ制御装置において車両の外部に取り付けたセンサ情報などを元に、運転環境に最適な回路構成を判定し、最適な回路に再構成することで、回路規模を抑えつつ、様々な運転環境に対応可能な画像処理装置を提供するものであった。
【０００５】
また、その他の技術としては、例えば特許文献２に示すように、少ないハードウェア資源でプロセッサ処理を高速化するため、与えられた処理が動的再構成デバイスで実行可能かをプロセッサ部で判定し、実行可能である場合は動的再構成デバイスで構成を変更して処理を行うようにしたものがあった。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−０３５３９６号公報
【特許文献２】特開２００７−２０７１３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
グラフィックス描画では、汎用プロセッサを用いてソフトウェアで描画を行うＳ／Ｗ描画と、描画専用のハードウェアで描画を行うＨ／Ｗ描画がある。Ｓ／Ｗ描画は新しい描画機能を実装する場合に柔軟に対応可能であるが描画速度が遅く、Ｈ／Ｗ描画は描画速度は速いが、新しい描画機能に柔軟に対応することが難しいという問題があった。
【０００８】
また、Ｈ／Ｗ描画は描画機能毎に異なる描画処理装置を実装する必要があったり、描画速度を向上させるために、同一の描画装置を複数実装する必要がある。このために、回路規模が膨大になるという問題があった。
【０００９】
そこで、グラフィックス描画装置にＦＰＧＡといった動的再構成可能な装置を適用することが考えられる。しかしながら、例えば、特許文献１に記載されたような車載用画像処理装置では、センサで取得した外部情報を元に処理回路を再構成することで常に最適な回路構成を取ることができるが、グラフィックス処理装置では外部情報を元に最適な回路構成を判断することができないという課題があった。また、特許文献２に記載されたデータ処理装置は、動的再合成の実施判断処理をプロセッサ部が行うため、プロセッサ部の負荷が高くなるという課題があった。
【００１０】
この発明は上記のような課題を解決するためになされたもので、プロセッサに負荷をかけずに、回路規模を抑えつつ、様々な描画機能に対応すると共に、高速な描画を実現することのできるグラフィックス描画装置を得ることを目的とする。
【課題を解決するための手段】
【００１１】
この発明に係るグラフィックス描画装置は、再構成可能な異なる描画機能専用装置を複数搭載するグラフィックス描画装置であって、複数の描画機能専用装置におけるそれぞれの描画負荷状態を元に、各描画機能専用装置の描画負荷が分散されるように、複数の描画機能専用装置の再構成を行うパーシャルリコンフィギュ制御部を備えたものである。
【発明の効果】
【００１２】
この発明のグラフィックス描画装置は、複数の描画機能専用装置におけるそれぞれの描画負荷状態を元に、各描画機能専用装置の描画負荷が分散されるように、複数の描画機能専用装置の再構成を行うようにしたので、プロセッサに負荷をかけずに、回路規模を抑えつつ、様々な描画機能に対応すると共に、高速な描画を実現することができる。
【図面の簡単な説明】
【００１３】
【図１】この発明の実施の形態１によるグラフィックス描画装置を示す構成図である。
【図２】この発明の実施の形態１によるグラフィックス描画装置の動作を示すフローチャートである。
【図３】この発明の実施の形態１によるグラフィックス描画装置の負荷状態と判定結果との関係を示す説明図である。
【図４】この発明の実施の形態１によるグラフィックス描画装置のパーシャルリコンフィギュレーション実施後を示す構成図である。
【図５】この発明の実施の形態２によるグラフィックス描画装置を示す構成図である。
【図６】この発明の実施の形態２によるグラフィックス描画装置の動作を示すフローチャートである。
【図７】この発明の実施の形態２によるグラフィックス描画装置のパーシャルリコンフィギュレーション実施後を示す構成図である。
【図８】この発明の実施の形態３によるグラフィックス描画装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１４】
実施の形態１．
図１は、この発明の実施の形態１によるグラフィックス描画装置を示す構成図である。
図１に示すグラフィックス描画装置は、ＣＰＵ１、ＣＰＵ制御部２、パーシャルリコンフィギュ制御部３、ＢｉｔＢＬＴエンジン４、２Ｄエンジン５、ベクタエンジン６、表示制御部７、表示装置８、メモリコントローラ９、メモリ１０を備えている。
【００１５】
ＣＰＵ１は、グラフィックス描画装置としての各部の制御を司るプロセッサであり、ＣＰＵ制御部２は、ＣＰＵ１の制御信号によって各部の制御を行うための制御部である。パーシャルリコンフィギュ制御部３は、複数の描画機能専用装置におけるそれぞれの描画負荷状態を元に、各描画機能専用装置の描画負荷が分散されるように、複数の描画機能専用装置の再構成を行う制御部である。ＢｉｔＢＬＴエンジン４は、矩形転送・矩形領域塗り潰しを行う描画装置であり、２Ｄエンジン５は、点・直線・楕円描画を行う２Ｄ描画装置である。また、ベクタエンジン６は、ベクタ図形描画を行う描画装置である。これらは再構成可能な論理ユニットから構成され、パーシャルリコンフィギュ制御部３によってパーシャルリコンフィギュ制御が行われるものである。表示制御部７は、各描画エンジンによって処理された描画データを表示装置８で表示させるための制御を行う制御部である。表示装置８は、グラフィックス描画装置としての描画データの表示を行う装置である。メモリコントローラ９は、メモリ１０へのアクセス制御を行うもので、各エンジンのメモリアクセス回数をカウントし、パーシャルリコンフィギュ制御部３に転送する機能を有している。メモリ１０は、ＢｉｔＢＬＴエンジン４〜ベクタエンジン６の各エンジンが描画処理を行うための作業領域や記憶領域を構成する記憶部である。
【００１６】
次に、実施の形態１のグラフィックス描画装置の動作を説明する。
図２は、その動作を示すフローチャートである。
まず、描画処理が開始されると、ステップＳＴ１で、パーシャルリコンフィギュ制御部３は、メモリコントローラ９から、ＢｉｔＢＬＴエンジン４、２Ｄエンジン５、ベクタエンジン６のメモリアクセス頻度を一定時間計測する。
次に、パーシャルリコンフィギュ制御部３は、ステップＳＴ２において、ＢｉｔＢＬＴエンジン４の負荷状態をメモリアクセス頻度を元に判定する。メモリアクセス頻度が閾値以上であれば高負荷状態と判定し、閾値以下であれば低負荷状態と判定する。閾値は任意に変更可能である。閾値をメモリアクセス回数“０”とすれば、ＢｉｔＢＬＴエンジン４がまったく動作していないかどうかを判定することができる。また、負荷状態は高負荷と低負荷の２段階ではなく、段階的にすることも可能である。
【００１７】
次に、ステップＳＴ３では、２Ｄエンジン５の負荷状態をメモリアクセス頻度を元に判定する。判定方法はステップＳＴ２の判定方法と同様である。
次に、ステップＳＴ４では、ベクタエンジン６の負荷状態をメモリアクセス頻度を元に判定する。判定方法はステップＳＴ２の判定方法と同様である。
【００１８】
次に、パーシャルリコンフィギュ制御部３は、ステップＳＴ５において、パーシャルリコンフィギュレーションの実施是非を判定する。例えば、ＢｉｔＢＬＴエンジン４、２Ｄエンジン５、ベクタエンジン６の負荷状態を低負荷状態と高負荷状態の２段階で判定するケースでは、図３に示すＡ〜Ｈの組み合わせができる。ある時点での各エンジンの負荷状態判定結果が例えば番号Ｅであった場合、ＢｉｔＢＬＴエンジン４に負荷が集中している。そこで、２Ｄエンジン５を削除し、ＢｉｔＢＬＴエンジン４と同様の回路を２Ｄエンジン５に割り当てられていたハードウェア領域にパーシャルリコンフィギュレーションを行うという実施判定を下す。この場合はステップＳＴ６に遷移する。
【００１９】
一方、例えば番号Ａとなった場合には全てのエンジンが低負荷であるためパーシャルリコンフィギュレーションを実施する必要がないと判定し、ステップＳＴ７に遷移する。また、番号Ｈとなった場合、全てのエンジンが高負荷であるので、削除可能なエンジンがない。このため、パーシャルリコンフィギュレーション実施不可と判定し、ステップＳＴ７に遷移する。
【００２０】
ステップＳＴ６ではステップＳＴ５のパーシャルリコンフィギュレーション実施判定に基づきパーシャルリコンフィギュレーションを実施する。例えば、図３の番号Ｅに基づく実施判定であれば、２Ｄエンジン５を削除し、ＢｉｔＢＬＴエンジン４と同様の回路を２Ｄエンジン５に割り当てられていたハードウェア領域にパーシャルリコンフィギュレーションを行う。
【００２１】
図４に、ステップＳＴ５において２Ｄエンジン５を削除し、ＢｉｔＢＬＴエンジン４と同一の回路に置き換えるパーシャルリコンフィギュレーション実施後のグラフィックス描画装置のブロック図を示す。元から配置されていたＢｉｔＢＬＴエンジン４を４Ａ、新たに配置したＢｉｔＢＬＴエンジンを４Ｂと明記する。
【００２２】
ステップＳＴ７では全ての描画が完了したかどうかを各ブロックのビジー信号に基づいてＣＰＵ制御部２が判定する。完了していれば描画完了となり、未完了であればステップＳＴ１に戻り描画処理を継続する。
【００２３】
以上説明したように、実施の形態１のグラフィックス描画装置によれば、再構成可能な異なる描画機能専用装置を複数搭載するグラフィックス描画装置であって、複数の描画機能専用装置におけるそれぞれの描画負荷状態を元に、各描画機能専用装置の描画負荷が分散されるように、複数の描画機能専用装置の再構成を行うパーシャルリコンフィギュ制御部を備えたので、プロセッサに負荷をかけずに、回路規模を抑えつつ、様々な描画機能に対応すると共に、高速な描画を実現することができる。
【００２４】
また、実施の形態１のグラフィックス描画装置によれば、パーシャルリコンフィギュ制御部は、描画負荷状態を、複数の描画機能専用装置におけるメモリアクセス頻度に基づいて判定するようにしたので、回路規模を増大化させることなく、描画負荷状態を確実に判定することができる。
【００２５】
実施の形態２．
図５は、この発明の実施の形態２によるグラフィックス描画装置を示す構成図である。
図５に示すグラフィックス描画装置は、ＣＰＵ１、ＣＰＵ制御部２、パーシャルリコンフィギュ制御部３０、ＢｉｔＢＬＴエンジン４０、２Ｄエンジン５０、ベクタエンジン６０、表示制御部７、表示装置８、メモリコントローラ９、メモリ１０を備えている。ここで、パーシャルリコンフィギュ制御部３０〜ベクタエンジン６０以外の構成については実施の形態１と同様であるため、対応する部分に同一符号を付してその説明を省略する。
【００２６】
パーシャルリコンフィギュ制御部３０は、描画負荷状態を、複数の描画機能専用装置における動作状態の期間を示す情報に基づいて判定するよう構成されている。即ち、ＢｉｔＢＬＴエンジン４０〜ベクタエンジン６０のビジー状態の期間に基づいて描画負荷状態を判定するよう構成されている。また、ＢｉｔＢＬＴエンジン４０〜ベクタエンジン６０における基本的な機能は実施の形態１のＢｉｔＢＬＴエンジン４〜ベクタエンジン６と同様であるが、それぞれが動作中にビジー信号をパーシャルリコンフィギュ制御部３０に対して送出する点が異なっている。
【００２７】
次に、実施の形態２のグラフィックス描画装置の動作を図６のフローチャートを使用して説明する。
【００２８】
まず、描画処理が開始されると、パーシャルリコンフィギュ制御部３０は、ステップＳＴ１１において、ＢｉｔＢＬＴエンジン４０、２Ｄエンジン５０、ベクタエンジン６０のビジー期間を一定時間計測する。即ち、各エンジンが動作中である期間を計測する。
【００２９】
次に、パーシャルリコンフィギュ制御部３０は、ステップＳＴ１２ではＢｉｔＢＬＴエンジン４０の負荷状態を、ビジー期間の長さを元に判定する。ビジー期間が閾値以上であれば高負荷状態と判定し、閾値以下であれば低負荷状態と判定する。閾値は任意に変更可能である。閾値をビジー期間＝“０”とすれば、ＢｉｔＢＬＴエンジン４０がまったく動作していないかどうかを判定することができる。また、負荷状態は高負荷と低負荷の２段階ではなく、段階的にすることも可能である。
【００３０】
次に、ステップＳＴ１３では、２Ｄエンジン５０の負荷状態をビジー期間を元に判定する。判定方法はステップＳＴ１２の判定方法と同様である。
【００３１】
次に、ステップＳＴ１４ではベクタエンジン６０の負荷状態をビジー期間を元に判定する。判定方法はステップＳＴ１２の判定方法と同様である。
【００３２】
次に、パーシャルリコンフィギュ制御部３０は、ステップＳＴ１５において、パーシャルリコンフィギュレーションの実施是非を判定する。
例えば、ＢｉｔＢＬＴエンジン４０、２Ｄエンジン５０、ベクタエンジン６０の負荷状態を低負荷状態と高負荷状態の２段階で判定するケースでは、図３に示すＡ〜Ｈの組み合わせができる。ある時点での各エンジンの負荷状態判定結果が番号Ｅであった場合、ＢｉｔＢＬＴエンジン４０に負荷が集中している。そこで、２Ｄエンジン５０を削除し、ＢｉｔＢＬＴエンジン４０と同様の回路を２Ｄエンジン５０に割り当てられていたハードウェア領域にパーシャルリコンフィギュレーションを行うという実施判定を下す。この場合はステップＳＴ１６に遷移する。
一方、番号Ａとなった場合には全てのエンジンが低負荷であるためパーシャルリコンフィギュレーションを実施する必要がないと判定し、ステップＳＴ１７に遷移する。また、番号Ｈとなった場合、全てのエンジンが高負荷であるので、削除可能なエンジンがない。このため、パーシャルリコンフィギュレーション実施不可と判定し、ステップＳＴ１７に遷移する。
【００３３】
ステップＳＴ１６ではステップＳＴ１５のパーシャルリコンフィギュレーション実施判定に基づきパーシャルリコンフィギュレーションを実施する。
そこで、２Ｄエンジン５０を削除し、ＢｉｔＢＬＴエンジン４０と同様の回路を２Ｄエンジン５０に割り当てられていたハードウェア領域にパーシャルリコンフィギュレーションを行う。
例えば、図７にステップＳＴ１６において２Ｄエンジン５０を削除し、ＢｉｔＢＬＴエンジン４０と同一の回路に置き換えるパーシャルリコンフィギュレーション実施後のグラフィックス描画装置のブロック図を示す。元から配置されていたＢｉｔＢＬＴエンジン４０を４０Ａ、新たに配置したＢｉｔＢＬＴエンジンを４０Ｂと明記する。
【００３４】
ステップＳＴ１７では全ての描画が完了したかどうかをＣＰＵ制御部２が判定する。完了していれば描画完了となり、未完了であればステップＳＴ１１に戻る。
【００３５】
以上説明したように、実施の形態２のグラフィックス描画装置によれば、パーシャルリコンフィギュ制御部は、描画負荷状態を、複数の描画機能専用装置における動作状態の期間を示す情報に基づいて判定するようにしたので、回路規模を増大化させることなく、描画負荷状態を確実に判定することができ、様々な描画機能に対応すると共に、高速な描画を実現することができる。
【００３６】
実施の形態３．
実施の形態３のグラフィックス描画装置は、パーシャルリコンフィギュレーションを行った場合の描画時間と、行わなかった場合の描画時間とを比較することで、パーシャルリコンフィギュレーションの実施の有無を判定するようにしたものである。図面上の構成は実施の形態１または実施の形態２と同様であるが、ここでは実施の形態１の構成を用いて説明する。
【００３７】
実施の形態３のパーシャルリコンフィギュ制御部３は、複数の描画機能専用装置の再構成を行った場合と行わない場合の描画時間を比較し、再構成を行った場合の描画時間の方が短い場合にのみ再構成を行うよう構成されている。その他の構成は実施の形態１または実施の形態２と同様である。
【００３８】
次に、実施の形態３のグラフィックス描画装置の動作を図８のフローチャートを用いて説明する。
ステップＳＴ１〜ステップＳＴ４の動作は実施の形態１と同様である。また、実施の形態２のステップＳＴ１１〜ステップＳＴ１４でもよい。ステップＳＴ５は本フローではステップＳＴ５ＡとステップＳＴ５Ｂに分割される。ここで、ステップＳＴ５Ａはステップ５と同様である。即ち、パーシャルリコンフィギュレーションの実施是非を判定する。
【００３９】
ステップＳＴ５Ｂでは、現在の回路構成において残りの描画にかかる時間Ｔ１と、パーシャルリコンフィギュレーション実施にかかる時間Ｔ２と、パーシャルリコンフィギュレーション実施後の回路構成において残りの描画にかかる時間Ｔ３を元に式（１）が成立する場合はステップＳＴ６に、不成立の場合はステップＳＴ７に遷移する。
Ｔ１＞Ｔ２＋Ｔ３      式（１）
【００４０】
ＦＰＧＡにおけるパーシャルリコンフィギュレーションはある程度時間を必要とする。このため、最適な回路構成に変更したとしても描画時間が長くなる場合がある。本処理を追加することで、この問題を解決できる。
【００４１】
以上説明したように、実施の形態３のグラフィックス描画装置によれば、パーシャルリコンフィギュ制御部は、複数の描画機能専用装置の再構成を行った場合と行わない場合の描画時間を比較し、再構成を行った場合の描画時間の方が短い場合にのみ再構成を行うよう決定するようにしたので、実施の形態１や実施の形態２と同様の効果を有すると共に、パーシャルリコンフィギュレーションに伴う描画時間の増加を防止することができる。
【００４２】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【００４３】
１  ＣＰＵ、２  ＣＰＵ制御部、３，３０  パーシャルリコンフィギュ制御部、４，４Ａ，４Ｂ、４０，４０Ａ，４０Ｂ  ＢｉｔＢＬＴエンジン、５，５０  ２Ｄエンジン、６，６０  ベクタエンジン、７  表示制御部、８  表示装置、９  メモリコントローラ、１０  メモリ。
【図１】
2013218527.tif 000003
【図２】
2013218527.tif 000004
【図３】
2013218527.tif 000005
【図４】
2013218527.tif 000006
【図５】
2013218527.tif 000007
【図６】
2013218527.tif 000008
【図７】
2013218527.tif 000009
【図８】
2013218527.tif 000010