(57)【要約】【課題】高頻度描画時、描画処理によって共通バスが専有されてしまう危険性がある。【解決手段】ローカルバス１２に接続された書き込み手段３は、共通バス１１に接続された第１のメモリ１に対する表示データの書き込みを指示するライトコマンドに応答して、ローカルバス１２に接続された第２のメモリ２に表示データを書き込む。転送手段４は、第２のメモリ２に対する表示データの書き込み頻度よりも少ない転送頻度で、第２のメモリ２に記録されている表示データを第１のメモリ１に転送する。【選択図】図１
2015176569.tif 000002
【特許請求の範囲】
【請求項１】
共通バスに接続された第１のメモリと、
ローカルバスに接続された第２のメモリと、
前記第１のメモリに対する表示データの書き込みを指示するライトコマンドに応答して、前記第２のメモリに表示データを書き込む書き込み手段と、
前記第２のメモリに対する表示データの書き込み頻度と異なる転送頻度で、前記第２のメモリに記録されている表示データを前記第１のメモリに転送する転送手段とを備えたことを特徴とする情報処理装置。
【請求項２】
請求項１記載の情報処理装置において、
前記転送頻度は、前記第２のメモリに対する表示データの書き込み頻度よりも少ないことを特徴とする情報処理装置。
【請求項３】
請求項１または２記載の情報処理装置において、
前記ライトコマンドは、ライトアドレスとして前記第１のメモリ上のアドレスを含み、
前記書き込み手段は、予め定められている前記第１のメモリ上のアドレスと前記第２のメモリ上のアドレスとの対応関係に基づいて、前記ライトコマンドに含まれているライトアドレスを前記第２のメモリ上のアドレスに変換し、該変換後のアドレスに表示データを書き込むことを特徴とする情報処理装置。
【請求項４】
請求項１乃至３の何れか1項に記載の情報処理装置において、
前記転送頻度は、固定値であることを特徴とする情報処理装置。
【請求項５】
請求項１乃至３の何れか１項に記載の情報処理装置において、
前記転送頻度は、前記書き込み頻度に応じて変化する可変値であることを特徴とする情報処理装置。
【請求項６】
請求項１乃至５の何れか１項に記載の情報処理装置において、
前記ライトコマンドは、ポステッドライトコマンドであることを特徴とする情報処理装置。
【請求項７】
書き込み手段が、共通バスに接続された第１のメモリに対する表示データの書き込みを指示するライトコマンドに応答して、前記ローカルバスに接続された第２のメモリに表示データを書き込み、
転送手段が、前記第２のメモリに対する表示データの書き込み頻度と異なる転送頻度で、前記第２のメモリに記録されている表示データを前記第１のメモリに転送することを特徴とする描画方法。
【請求項８】
請求項７記載の描画方法において、
前記転送頻度は、前記第２のメモリに対する表示データの書き込み頻度よりも少ないことを特徴とする描画方法。
【請求項９】
共通バスに接続された第１のメモリと、ローカルバスに接続された第２のメモリとを備えたコンピュータを、
前記第１のメモリに対する表示データの書き込みを指示するライトコマンドに応答して、前記第２のメモリに表示データを書き込む書き込み手段、
前記第２のメモリに対する表示データの書き込み頻度と異なる転送頻度で、前記第２のメモリに記録されている表示データを前記第１のメモリに転送する転送手段として機能させるためのプログラム。
【請求項１０】
請求項９記載のプログラムにおいて、
前記転送頻度は、前記第２のメモリに対する表示データの書き込み頻度よりも少ないことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、描画処理によって共通バスが専有されないようにすることができる情報処理装置、描画方法、及びプログラムに関する。
【背景技術】
【０００２】
コンピュータや携帯端末などの情報処理装置における画像の描画技術として、表示データをメインメモリに書き込み、その後、バスを介してメインメモリからビデオメモリへ表示データを転送する技術が知られている（例えば、特許文献１，２参照）。
【０００３】
特許文献１に記載されている技術では、メモリデータ転送コントローラが、表示データの書き換えに同期して、メインメモリからメモリバスを介して表示データを読み込み、ＰＣＩバス（共通バス）上のビデオメモリへライト転送することにより、画像を描画するようにしている。この特許文献１に記載されている技術によれば、メインメモリからメモリデータ転送コントローラへの表示データのリード転送と、メモリデータ転送コントローラから共通バス上のビデオメモリへのライト転送とを並行して実行できるので、表示データの転送速度を高速化することができる。
【０００４】
また、特許文献２に記載されている技術では、データ転送制御装置が、ＣＰＵの動作モードに応じた周期で、メインメモリに記録されている表示データを共通バス上のビデオメモリへＤＭＡ転送することにより、画像を描画するようにしている。より具体的には、ＣＰＵの動作モードが通常動作モードである場合は、フレームの書き換え周期に同期してＤＭＡ転送を実行し、動作モードが表示データの書き換えが行われないスタンバイモードである場合は、ＤＭＡ転送を停止し、消費電力を抑えるようにしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−１８００１２号公報
【特許文献２】特開２００３−１２２３３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した特許文献１に記載されている技術は、メモリデータ転送コントローラが、表示データの書き換えに同期してメインメモリからビデオメモリに表示データを転送するようにしているので、メインメモリに表示データを書き込むためのライトコマンドが連続して多数発生する高頻度描画時に、共通バスが描画処理によって専有されてしまう危険性がある。そして、共通バスが描画処理によって専有されてしまうと、共通バスに接続されているＵＳＢコントローラやＬＡＮコントローラといったデバイスを利用した処理を行うことができなくなってしまう。
【０００７】
また、特許文献２に記載されている技術は、データ転送制御装置が、フレームの書き換え周期に同期してメインメモリから共通バス上のビデオメモリに表示データをＤＭＡ転送するようにしているので、メインメモリに表示データを書き込むためのライトコマンドが連続して発生した場合、共通バスが描画処理によって共通バスが専有されてしまう危険性がある。
【０００８】
［発明の目的］
そこで、本発明の目的は、高頻度描画時に共通バスが描画処理によって専有されてしまう危険性があるという課題を解決した情報処理装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明に係る情報処理装置は、
共通バスに接続された第１のメモリと、
ローカルバスに接続された第２のメモリと、
前記第１のメモリに対する表示データの書き込みを指示するライトコマンドに応答して、前記第２のメモリに表示データを書き込む書き込み手段と、
前記第２のメモリに対する表示データの書き込み頻度と異なる転送頻度で、前記第２のメモリに記録されている表示データを前記第１のメモリに転送する転送手段とを備える。
【００１０】
本発明に係る描画方法は、
書き込み手段が、共通バスに接続された第１のメモリに対する表示データの書き込みを指示するライトコマンドに応答して、前記ローカルバスに接続された第２のメモリに表示データを書き込み、
転送手段が、前記第２のメモリに対する表示データの書き込み頻度と異なる転送頻度で、前記第２のメモリに記録されている表示データを前記第１のメモリに転送する。
【００１１】
本発明に係るプログラムは、
共通バスに接続された第１のメモリと、ローカルバスに接続された第２のメモリとを備えたコンピュータを、
前記第１のメモリに対する表示データの書き込みを指示するライトコマンドに応答して、前記第２のメモリに表示データを書き込む書き込み手段、
前記第２のメモリに対する表示データの書き込み頻度と異なる転送頻度で、前記第２のメモリに記録されている表示データを前記第１のメモリに転送する転送手段として機能させる。
【発明の効果】
【００１２】
本発明によれば、高頻度描画時に、描画処理によって共通バスが専有されてしまう危険性を少ないものにすることができるという効果を得ることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施の形態に係る情報処理装置の構成例を示すブロック図である。
【図２】書き込み手段の処理例を示すフローチャートである。
【図３】転送手段の処理例を示すフローチャートである。
【図４】本発明の第２の実施の形態に係る情報処理装置の構成例を示すブロック図である。
【図５】フィルタドライバの処理例を示すフローチャートである。
【図６】ドライバの処理例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
次に、図面を参照して本発明の実施の形態について詳細に説明する。
【００１５】
[本発明の第１の実施の形態]
図１を参照すると、本発明の第１の実施の形態に係るコンピュータ等の情報処理装置は、共通バス１１に接続された第１のメモリ１と、ローカルバス１２に接続された第２のメモリ２、書き込み手段３、及び転送手段４を備えている。
【００１６】
共通バス１１に接続されている第１のメモリ１は、ビデオメモリであり、表示する画像を表す表示データが記録される。なお、共通バス１１には、第１のメモリ１以外にＵＳＢコントローラやＬＡＮコントローラ等のデバイスも接続されているが、図１では図示を省略している。
【００１７】
ローカルバス１２に接続されている第２のメモリ２は、メインメモリであり、第１のメモリ１へ転送する表示データが記録される。
【００１８】
書き込み手段３は、第１のメモリ１に対する表示データの書き込みを指示するライトコマンドに応答して、第２のメモリ２に表示データを書き込む機能を有する。
【００１９】
転送手段４は、第２のメモリ２に対する表示データの書き込み頻度（単位時間当たりの書き込み回数）と異なる転送頻度（単位時間当たりの転送回数）で、第２のメモリ２に記録されている表示データを第１のメモリ１に転送する。より具体的には、転送手段４は、第２のメモリ２に対する表示データの書き込み頻度よりも少ない転送頻度で、第２のメモリ２に記録されている表示データを第１のメモリ１に転送する機能を有する。
【００２０】
なお、書き込み手段３、及び転送手段４は、ＣＰＵによって実現可能であり、その場合は、例えば次のようにする。ＣＰＵを書き込み手段３、及び転送手段４として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、ＣＰＵに上記プログラムを読み取らせる。ＣＰＵは、読み取ったプログラムに従って自身の動作を制御することにより、自ＣＰＵ上に書き込み手段３、及び転送手段４を実現する。
【００２１】
次に、本実施の形態の動作について説明する。
【００２２】
書き込み手段３は、第１のメモリ１に対する表示データの書き込みを指示するライトコマンドが入力されると（図２のステップＳ２１がＹｅｓ）、第２のメモリに上記表示データを書き込む（ステップＳ２２）。これに対して、上記ライトコマンド以外のコマンドが入力された場合（ステップＳ２１がＮｏ）は、入力されたコマンドをそのまま実行する（ステップＳ２３）。
【００２３】
一方、転送手段４は、図３のフローチャートに示すように、転送タイミングとなる毎に（ステップＳ３１がＹｅｓ）、第２のメモリ２に記録されている表示データ（例えば、１フレーム分の表示データ）を第１のメモリ１に転送する（ステップＳ３２）。ここで、転送タイミングになったか否かは、例えば、予め定められている所定時間が経過したか否かに基づいて判定する。なお、上記所定時間は、第２のメモリ２から第１のメモリ１への表示データの転送頻度が、第２のメモリ２に対する表示データの書き込み頻度よりも少なくなるように定められている。
【００２４】
[第１の実施の形態の効果]
本実施の形態によれば、高頻度描画時に、描画処理によって共通バスが専有されてしまう危険性を少ないものにすることができるという効果を得ることができる。その理由は、第２のメモリに対する表示データの書き込み頻度よりも少ない転送頻度で、第２のメモリに記録されている表示データを第１のメモリに転送するようにしているからである。つまり、意図的に第２のメモリから第１のメモリへの転送処理を間引くようにしているからである。
【００２５】
[本発明の第２の実施の形態]
次に、本発明の第２の実施の形態に係る情報処理装置について説明する。
【００２６】
図４を参照すると、本実施の形態に係る情報処理装置は、ＣＰＵ１０１、メインメモリ１０２、及びサウスブリッジ１０５がバス（ローカルバス）Ｂ１〜Ｂ３を介してノースブリッジ１０４に接続され、メインメモリ１０２上には仮想ＶＲＡＭ１０３が設けられている。また、サウスブリッジ１０５にはバス（共通バス）Ｂ４が接続され、共通バスＢ４には、ＳＡＳコントローラ２０１、ＬＡＮコントローラ２０２、ビデオコントローラ２０３、及びＵＳＢコントローラ２０４が接続されている。また、各コントローラ２０１，２０３，２０４には、それぞれＨＤＤ２１１、ＶＲＡＭ２１２、及びＵＳＢデバイス２１３が接続されている。また、本実施の形態に係る情報処理装置では、オペレーティングシステム３０１上で、アプリケーションプログラム３０２、ビデオドライバ３０３、フィルタドライバ３０４、及びドライバ３０５が動作している。
【００２７】
ＶＲＡＭ２１２は、第１のメモリとして機能するものであり、表示する画像を表す表示データが記録される。メインメモリ１０２上に設けられた仮想ＶＲＡＭ１０３は、第２のメモリとして機能するものであり、ＶＲＡＭ２１２へ転送する表示データが書き込まれる。
【００２８】
アプリケーションプログラム３０２は、処理結果を表示するための描画命令を発行する機能を有する。
【００２９】
ビデオドライバ３０３は、アプリケーションプログラム３０２が発行した描画命令に従った画像を表示するためのポステッドライトコマンドを作成する機能を有する。このポステッドライトコマンドには、表示データが含まれると共に、ライトアドレスとしてＶＲＡＭ２１２上のアドレスが含まれる。
【００３０】
フィルタドライバ３０４は、書き込み手段として機能するものであり、ビデオドライバ３０３から出力されるポステッドライトコマンドを、メインメモリ１０２上の仮想ＶＲＡＭ１０３に対するライトコマンドに変換する機能や、変換後のライトコマンドに従って表示データを仮想ＶＲＡＭ１０３に書き込む機能を有する。なお、ポステッドライトコマンドに含まれているライトアドレスは、ＶＲＡＭ２１２上のアドレスであるので、ポステッドライトコマンドを仮想ＶＲＡＭ１０３に対するライトコマンドに変換する際には、ライトアドレスを仮想ＶＲＡＭ１０３上の対応するアドレスに変換する必要がある。より具体的には、予め定められているＶＲＡＭ２１２上のアドレスと仮想ＶＲＡＭ１０３上のアドレスの対応関係を示す対応テーブルや、演算式を用いて仮想ＶＲＡＭ１０３上のアドレスに変換する。
【００３１】
ドライバ３０５は、転送手段として機能するものであり、仮想ＶＲＡＭ１０３に対する表示データの書き込み頻度よりも少ない転送頻度で、仮想ＶＲＡＭ１０３に記録されている表示データをＶＲＡＭ２１２に転送する機能を有する。例えば、仮想ＶＲＡＭ１０３に対する表示データの書き込み頻度が毎秒６０フレームである場合には、転送頻度を毎秒３０フレームとする。
【００３２】
次に、本実施の形態の動作について、詳細に説明する。
【００３３】
オペレーティングシステム３０１上で動作するアプリケーションプログラム３０２がその処理結果を表示するために描画命令を出力すると、それを検出したオペレーティングシステム３０１が描画命令をビデオドライバ３０３に渡す。これにより、ビデオドライバ３０３は、表示データをＶＲＡＭ２１２に書き込むためのポステッドライトコマンドを作成して出力する。
【００３４】
ビデオドライバ３０３の下位に配置されているフィルタドライバ３０４は、ビデオドライバ３０３からＶＲＡＭ２１２に表示データを書き込むためのポステッドライトコマンドが出力されると（図５のステップＳ５１がＹｅｓ）、上記ポステッドライトコマンドを仮想ＶＲＡＭ１０３に対するライトコマンドに変換し、変換後のライトコマンドを実行する（ステップＳ５２）。これにより、仮想ＶＲＡＭ２１２の対応するアドレスに表示データが書き込まれる。また、フィルタドライバ３０４は、ビデオドライバ３０３から出力されたコマンドが、ＶＲＡＭ２１２に対するポステッドライトコマンド以外のコマンドである場合（ステップＳ５１がＮｏ）は、そのコマンドをそのまま実行する。なお、本実施の形態では、１／６０秒毎に、１フレーム分の表示データが仮想ＶＲＡＭに書き込まれるとする。
【００３５】
一方、仮想ＶＲＡＭ１０３の内容をＶＲＡＭ２１２へ転送するドライバ３０５は、図６のフローチャートに示すように、１／３０秒が経過する毎に（ステップＳ６１〜６３）、仮想ＶＲＡＭ１０３に記録されている１フレーム分の表示データをＶＲＡＭ２１２に転送する。
【００３６】
なお、上述した実施の形態では、仮想ＶＲＡＭ１０３からＶＲＡＭ１２１への転送頻度を１／３０秒毎に１フレームとしたが、仮想ＶＲＡＭ１０３への書き込み頻度より少なければ、これに限られない。また、転送頻度は、書き込み頻度が多くなるほど大きな値となる可変値であってもよい（但し、書き込み頻度よりも少ないことが必要）。より具体的には、フィルタドライバ３０４がドライバ３０５に対して仮想ＶＲＡＭ１０３への表示データの書き込み頻度を通知し、ドライバ３０５が通知された書き込み頻度に応じた転送頻度で仮想ＶＲＡＭ１０３に記録されている表示データをＶＲＡＭ２１２へ転送する。更に、転送頻度として、書き込み頻度よりも小さく、且つ共通バスＢ４の最大帯域よりも小さな固定値や、書き込み頻度よりも小さく、且つその最大値が共通バスＢ４の最大帯域よりも小さい可変値を使用するようにしてもよい。このように、共通バスＢ４の最大帯域を考慮して転送頻度を決定することにより、共通バスＢ４が描画処理によって専有されないようにすることができる。
【００３７】
[第２の実施の形態の効果]
本実施の形態によれば、高頻度描画時に、描画処理によって共通バスが専有される危険性を少ないものにすることができる。その理由は、メインメモリ上の仮想ＶＲＡＭに対する表示データの書き込み頻度よりも少ない転送頻度で、仮想ＶＲＡＭに書き込まれている表示データを共通バス上のＶＲＡＭに転送するようにしているからである。
【００３８】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のように記載され得るが、以下には限られない。
【００３９】
（付記１）
共通バスに接続された第１のメモリと、
ローカルバスに接続された第２のメモリと、
前記第１のメモリに対する表示データの書き込みを指示するライトコマンドに応答して、前記第２のメモリに表示データを書き込む書き込み手段と、
前記第２のメモリに対する表示データの書き込み頻度と異なる転送頻度で、前記第２のメモリに記録されている表示データを前記第１のメモリに転送する転送手段とを備えたことを特徴とする情報処理装置。
【００４０】
（付記２）
付記１記載の情報処理装置において、
前記転送頻度は、前記第２のメモリに対する表示データの書き込み頻度よりも少ないことを特徴とする情報処理装置。
【００４１】
（付記３）
付記１または２に記載の情報処理装置において、
前記ライトコマンドは、ライトアドレスとして前記第１のメモリ上のアドレスを含み、
前記書き込み手段は、予め定められている前記第１のメモリ上のアドレスと前記第２のメモリ上のアドレスとの対応関係に基づいて、前記ライトコマンドに含まれているライトアドレスを前記第２のメモリ上のアドレスに変換し、該変換後のアドレスに表示データを書き込むことを特徴とする情報処理装置。
【００４２】
（付記４）
付記１乃至３の何れか１つに記載の情報処理装置において、
前記転送頻度は、固定値であることを特徴とする情報処理装置。
【００４３】
(付記５) 
付記１乃至３の何れか1つに記載の情報処理装置において、
前記転送頻度は、前記書き込み頻度に応じて変化する可変値であることを特徴とする情報処理装置。
【００４４】
（付記６）
付記１乃至５の何れか１つに記載の情報処理装置において、
前記ライトコマンドは、ポステッドライトコマンドであることを特徴とする情報処理装置。
【００４５】
（付記７）
書き込み手段が、共通バスに接続された第１のメモリに対する表示データの書き込みを指示するライトコマンドに応答して、前記ローカルバスに接続された第２のメモリに表示データを書き込み、
転送手段が、前記第２のメモリに対する表示データの書き込み頻度と異なる転送頻度で、前記第２のメモリに記録されている表示データを前記第１のメモリに転送することを特徴とする描画方法。
【００４６】
（付記８）
付記７記載の描画方法において、
前記転送頻度は、前記第２のメモリに対する表示データの書き込み頻度よりも少ないことを特徴とする描画方法。
【００４７】
（付記９）
付記７または８記載の描画方法において、
前記ライトコマンドは、ライトアドレスとして前記第１のメモリ上のアドレスを含み、
前記書き込み手段は、予め定められている前記第１のメモリ上のアドレスと前記第２のメモリ上のアドレスとの対応関係に基づいて、前記ライトコマンドに含まれているライトアドレスを前記第２のメモリ上のアドレスに変換し、該変換後のアドレスに表示データを書き込むことを特徴とする描画方法。
【００４８】
（付記１０）
付記７乃至９の何れか１つに記載の描画方法において、
前記転送頻度は、固定値であることを特徴とする描画方法。
【００４９】
(付記１１) 
付記７乃至９の何れか１つに記載の描画方法において、
前記転送頻度は、前記書き込み頻度に応じて変化する可変値であることを特徴とする描画方法。
【００５０】
（付記１２）
付記７乃至１１の何れか１つに記載の描画方法において、
前記ライトコマンドは、ポステッドライトコマンドであることを特徴とする描画方法。
【００５１】
（付記１３）
共通バスに接続された第１のメモリと、ローカルバスに接続された第２のメモリとを備えたコンピュータを、
前記第１のメモリに対する表示データの書き込みを指示するライトコマンドに応答して、前記第２のメモリに表示データを書き込む書き込み手段、
前記第２のメモリに対する表示データの書き込み頻度と異なる転送頻度で、前記第２のメモリに記録されている表示データを前記第１のメモリに転送する転送手段として機能させるためのプログラム。
【００５２】
（付記１４）
付記１３記載のプログラムにおいて、
前記転送頻度は、前記第２のメモリに対する表示データの書き込み頻度よりも少ないことを特徴とするプログラム。
【００５３】
（付記１５）
付記１３または１４記載のプログラムにおいて、
前記ライトコマンドは、ライトアドレスとして前記第１のメモリ上のアドレスを含み、
前記書き込み手段は、予め定められている前記第１のメモリ上のアドレスと前記第２のメモリ上のアドレスとの対応関係に基づいて、前記ライトコマンドに含まれているライトアドレスを前記第２のメモリ上のアドレスに変換し、該変換後のアドレスに表示データを書き込むことを特徴とするプログラム。
【００５４】
（付記１６）
付記１３乃至１５の何れか１つに記載のプログラムにおいて、
前記転送頻度は、固定値であることを特徴とするプログラム。
【００５５】
(付記１７) 
付記１３乃至１５の何れか1つに記載のプログラムにおいて、
前記転送頻度は、前記書き込み頻度に応じて変化する可変値であることを特徴とするプログラム。
【００５６】
（付記１８）
付記１３乃至１７の何れか１つに記載のプログラムにおいて、
前記ライトコマンドは、ポステッドライトコマンドであることを特徴とするプログラム。
【産業上の利用可能性】
【００５７】
本発明は、コンピュータ、ＦＴサーバ、携帯端末などの情報処理装置において画像を表示する際に利用することができる。
【符号の説明】
【００５８】
１・・・第１のメモリ
２・・・第２のメモリ
３・・・書き込み手段
４・・・転送手段
１１・・・共通バス
１２・・・ローカルバス
１０１・・・ＣＰＵ
１０２・・・メインメモリ
１０３・・・仮想ＶＲＡＭ
１０４・・・ノースブリッジ
１０５・・・サウスブリッジ
２０１・・・ＳＡＳコントローラ
２０２・・・ＬＡＮコントローラ
２０３・・・ビデオコントローラ
２０４・・・ＵＳＢコントローラ
２１１・・・ＨＤＤ
２１２・・・ＶＲＡＭ
２１３・・・ＵＳＢデバイス
３０１・・・オペレーティングシステム
３０２・・・アプリケーションプログラム
３０３・・・ビデオドライバ
３０４・・・フィルタドライバ
３０５・・・ドライバ
Ｂ１〜Ｂ４・・・バス
【図１】
2015176569.tif 000003
【図２】
2015176569.tif 000004
【図３】
2015176569.tif 000005
【図４】
2015176569.tif 000006
【図５】
2015176569.tif 000007
【図６】
2015176569.tif 000008