(57)【要約】【課題】ＣＰＵ側のメモリに描画された画像データをアドレスウィンドウ経由で描画機能を有するコントローラ側のメモリに転送するとき、アプリソフトにより設定されたアドレスウィンドウの設定が別のアプリソフトによって書き換えられないようにする。【解決手段】ＣＰＵ側からBAR0で設定したプリンタアプリ用ＭＥＭ−Ｂ空間３２にアクセスすると、コントローラ側のＭＥＭ−Ｂ１４のプリンタアプリ用のアドレスウィンドウであるプリンタアプリ用ＭＥＭ−Ｂ空間４１にアクセスできる。同様に、BAR1で設定したコピーアプリ用ＭＥＭ−Ｂ空間３３にアクセスすると、ＭＥＭ−Ｂ１４のコピーアプリ用のアドレスウィンドウであるコピーアプリ用ＭＥＭ−Ｂ空間４２にアクセスできる。プリンタアプリ用ＭＥＭ−Ｂ空間４１、コピーアプリ用ＭＥＭ−Ｂ空間４２のアドレスは、アプリ毎に設けられたレジスタに設定される。【選択図】図６
2014219941.tif 000002
【特許請求の範囲】
【請求項１】
アプリソフトの制御による描画機能を有する第１の制御手段と、
ハードウェアによる描画機能を有する第２の制御手段と、
第１の制御手段側の第１の記憶手段と、
第２の制御手段側の第２の記憶手段と、
前記第１の制御手段により前記第１の記憶手段に描画された画像データを、前記アプリソフトにより設定されたアドレスウィンドウ経由で、前記第２の記憶手段に転送する転送手段と、
前記アドレスウィンドウの設定データが設定される設定データ記憶手段と、を有し、
前記設定データ記憶手段がアプリソフト毎に設けられている画像データ処理装置。
【請求項２】
請求項１に記載された画像データ処理装置において、
前記設定データ記憶手段は、前記第１の制御手段がアクセス可能な記憶空間における前記アプリソフト毎のアドレスウィンドウへのアクセスを可能とする領域のアドレスが設定される第１の設定データ記憶手段と、前記第２の記憶手段の記憶空間における前記アプリソフト毎のアドレスウィンドウのアドレスが設定される第２の設定データ記憶手段とからなる画像データ処理装置。
【請求項３】
請求項１又は２に記載された画像データ処理装置において、
前記第１の制御手段と前記第２の制御手段とはＰＣＩインタフェース又はＰＣＩｅインタフェースにより接続されており、前記設定データ記憶手段は、前記第２の制御手段に設けられたＰＣＩインタフェース又はＰＣＩｅインタフェースのコンフィグレジスタである画像データ処理装置。
【請求項４】
請求項１〜３のいずれかに記載された画像データ処理装置を有する画像処理装置。
【請求項５】
アプリソフトの制御による描画機能を有する第１の制御手段と、ハードウェアによる描画機能を有する第２の制御手段と、第１の制御手段側の第１の記憶手段と、第２の制御手段側の第２の記憶手段と、を有する画像データ処理装置において、前記第１の制御手段により前記第１の記憶手段に描画された画像データを、前記アプリソフトにより設定されたアドレスウィンドウ経由で、前記第２の記憶手段に転送する画像データ転送方法であって、
前記アプリソフト毎に設けられた第１の設定データ記憶手段に、前記第１の制御手段がアクセス可能な記憶空間における前記アプリソフト毎のアドレスウィンドウへのアクセスを可能とする領域のアドレスを設定する第１の設定工程と、
前記アプリソフト毎に設けられた第２の設定データ記憶手段に、前記第２の記憶手段の記憶空間における前記アプリソフト毎のアドレスウィンドウのアドレスを設定する第２の設定工程と、
前記画像データを前記第２の記憶手段に転送する転送工程と、
を有する画像データ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データ処理装置、画像処理装置、及び画像データ転送方法に関する。
【背景技術】
【０００２】
ＣＰＵと、ＣＰＵで生成した画像データを蓄積するためにＣＰＵ側に接続されたメモリと、画像入出力エンジンとＣＰＵとの間に外部インタフェースで接続されたコントローラＡＳＩＣと、コントローラＡＳＩＣで生成した画像データや画像入出力エンジンから入力された画像データを蓄積するためにコントローラＡＳＩＣに接続されたメモリとを有する画像処理コントローラがある。
【０００３】
即ち、例えば特許文献１には、ＣＰＵで生成した画像データを蓄積するためにＣＰＵ側に接続されたシステムメモリと、ＰＣＩインタフェースを介してスキャナなどのエンジンと接続されるとともにＡＧＰを介してＣＰＵと接続されるコントローラＡＳＩＣと、コントローラＡＳＩＣに接続されたローカルメモリとを有する画像処理コントローラが記載されている。
【０００４】
また、文献に記載されたものではないが、このような画像処理コントローラにおいて、コントローラＡＳＩＣに内蔵されたハードウェアによる描画手段である描画アクセラレータと、ＣＰＵとが描画処理を分担することが知られている。
【０００５】
即ち、描画アクセラレータが描画できないコマンドに対する描画をＣＰＵが代わりに実行してＣＰＵ側のメモリに描画し、ＰＣＩ Express（登録商標：以下、ＰＣＩｅ）インタフェースなどの外部インタフェースからアクセスできるアドレスウィンドウ経由で、コントローラＡＳＩＣ側のメモリに画像データを転送して、描画アクセラレータにより描画された画像データに追加する。また、エンジンから入力された画像データにページ番号等の印字処理を行う場合も、前記と同様にＣＰＵ側のメモリにページ番号等の画像データを描画し、コントローラ側のメモリに転送して追加する。
【０００６】
しかしながら、前記のような異なるケースでのＣＰＵ側のメモリからコントローラＡＳＩＣ側のメモリへの画像データの転送においては、ＣＰＵを制御するアプリソフトにより設定されるコントローラＡＳＩＣ側のメモリのアドレスウィンドウの設定が別のアプリソフトにより書き換えられてしまう、という問題がある。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、このような問題を解決するためになされたものであり、その目的は、ＣＰＵ側のメモリに描画された画像データをアドレスウィンドウ経由でハードウェアによる描画機能を有するコントローラ側のメモリに転送する画像データ処理装置において、アプリソフトにより設定されたアドレスウィンドウの設定が別のアプリソフトによって書き換えられないようにすることである。
【課題を解決するための手段】
【０００８】
本発明に係る画像データ処理装置は、アプリソフトの制御による描画機能を有する第１の制御手段と、ハードウェアによる描画機能を有する第２の制御手段と、第１の制御手段側の第１の記憶手段と、第２の制御手段側の第２の記憶手段と、前記第１の制御手段により前記第１の記憶手段に描画された画像データを、前記アプリソフトにより設定されたアドレスウィンドウ経由で、前記第２の記憶手段に転送する転送手段と、前記アドレスウィンドウの設定データが設定される設定データ記憶手段と、を有し、前記設定データ記憶手段がアプリソフト毎に設けられている画像データ処理装置である。
【発明の効果】
【０００９】
本発明によれば、ＣＰＵ側のメモリに描画された画像データをアドレスウィンドウ経由でハードウェアによる描画機能を有するコントローラ側のメモリに転送する画像データ処理装置において、アプリソフトにより設定されたアドレスウィンドウの設定が別のアプリソフトによって書き換えられないようにすることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る画像処理装置のハードウェア構成を示すブロック図である。
【図２】本発明の実施形態に係る画像データ処理装置の第１の動作における画像データの流れについて説明するための図である。
【図３】図２に示す動作を実行するＣＰＵの制御フローについて説明するための図である。
【図４】本発明の実施形態に係る画像データ処理装置の第２の動作における画像データの流れについて説明するための図である。
【図５】図４に示す動作を実行するＣＰＵの制御フローについて説明するための図である。
【図６】本発明の実施形態に係る画像データ処理装置におけるコントローラＡＳＩＣ側のメモリのメモリ空間のアドレスウィンドウについて説明するための図である。
【図７】図６におけるＯＳが管理するメモリ空間上のアプリソフト用のメモリ空間のベースアドレスを設定するためのベースアドレスレジスタを示す図である。
【図８】図６におけるコントローラＡＳＩＣ側のメモリのメモリ空間上のアプリソフト用のメモリ空間のベースアドレスのオフセットを設定するためのベースアドレスオフセットレジスタを示す図である。
【図９】図３及び図５に示すフローチャートにおいて、ＣＰＵが画像データをＣＰＵ側のメモリからコントローラＡＳＩＣ側のメモリに転送する処理の詳細な内容を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面を参照して説明する。
〈画像処理装置のハードウェア構成〉
図１は、本発明の実施形態に係る画像処理装置のハードウェア構成を示すブロック図である。
【００１２】
画像処理装置としての画像形成装置１００には、画像処理の制御を行うボードである画像データ処理装置としてのコントローラ部１が内蔵されており、コントローラ部１はＰＣＩｅにより画像形成装置１００内のエンジン部（スキャナ、プロッタなど）と接続されている。
【００１３】
コントローラ部１には、ＣＰＵ１１、描画機能を有するコントローラＡＳＩＣ１２、ＣＰＵ側のメモリであるＭＥＭ−Ａ１３、コントローラＡＳＩＣ側のメモリであるＭＥＭ−Ｂ１４、ＨＤＤ（ハードディスクドライブ）１５、及びＰＨＹ（物理層コントローラ）１６が搭載されている。ここで、ＣＰＵ１１、コントローラＡＳＩＣ１２、ＭＥＭ−Ａ１３、ＭＥＭ−Ｂ１４は、それぞれ本発明に係るアプリソフトの制御による描画機能を有する第１の制御手段、ハードウェアによる描画機能を有する第２の制御手段、第１の制御手段側の第１の記憶手段、第２の制御手段側の第２の記憶手段に対応する。
【００１４】
ＣＰＵ１１と、コントローラＡＳＩＣ１２とは、ＰＣＩｅインタフェースにより接続されている。ＣＰＵ１１には、ＭＥＭ−Ａ１３、及びＰＨＹ１６が接続されている。ＰＨＹ１６はEthernet（登録商標）により、ＬＡＮなどのネットワークに接続されている。なお、ＰＣＩｅインタフェースに代えてＰＣＩインタフェースを用いることもできる。
【００１５】
コントローラＡＳＩＣ１２には制御機能が集約されており、描画アクセラレータ１２１、ＰＣＩｅ(Endpoint）制御部１２２、ＰＣＩｅ(Root）制御部１２３、メモリ制御部１２４、画像入出力制御部１２５、及びＨＤＤ制御部１２６を内蔵している。
【００１６】
ＭＥＭ−Ａ１３はＣＰＵ１１が描画用メモリなどとして用いるシステムメモリである。ＭＥＭ−Ｂ１４は、画像形成装置１００に搭載されたスキャナからコントローラＡＳＩＣ１２を介して入力された画像データや、描画アクセラレータ１２１により描画された画像データなどが保持されるローカルメモリである。ＨＤＤ１５は、画像データの蓄積やアプリソフトなどのプログラムを蓄積するためのストレージである。
【００１７】
ＣＰＵ１１は画像形成装置１００の全体制御を行う演算処理手段である。ＣＰＵ１１はコントローラＡＳＩＣ１２に接続されている画像形成装置１００のエンジン部、ＭＥＭ−Ｂ１４、ＨＤＤ１５を制御するときは、コントローラＡＳＩＣ１２内のＰＣＩｅ（Endpoint）制御部１２２を介して制御する。
【００１８】
即ち、スキャナの動作で画像データを入力するときには、ＣＰＵ１１は画像形成装置１００に搭載されたスキャナからの画像データをＰＣＩｅ（Root）制御部１２３を制御してＰＣＩｅインタフェース経由で入力し、メモリ制御部１２４を制御してＭＥＭ−Ｂ１４に書き込む。
【００１９】
また、コピーアプリ、プリンタアプリで画像を出力するときには、ＣＰＵ１１はメモリ制御部１２４を制御してＭＥＭ−Ｂ１４上の画像データを読み出し、ＰＣＩｅ（Root）制御部１２３を制御して、画像形成装置１００のエンジン部に画像データを出力し、画像を用紙に出力する。
【００２０】
プリンタアプリで画像データを生成するときは、ＣＰＵ１１はEthernet（登録商標）からＰＨＹ１６を介して転送されてくるプリンタ描画用データ（描画コマンド）を入力し、ＭＥＭ−Ａ１３に書き込む。
【００２１】
次にＣＰＵ１１は、描画アクセラレータ１２１を起動し、ＭＥＭ−Ａ１３上のプリンタ描画用データをＭＥＭ−Ｂ１４に転送する。描画アクセラレータ１２１は、ＭＥＭ−Ｂ１４からプリンタ描画用データを読み出し、ＭＥＭ−Ｂ１４上に描画する。
【００２２】
ＣＰＵ１１は、描画アクセラレータ１２１で描画できないプリンタ描画用データについてはＭＥＭ−Ａ１３上に残しておき、ＣＰＵ１１がＭＥＭ−Ａ１３上に描画する。ＣＰＵ１１は、描画完了後、ＭＥＭ−Ａ１３上に描画した画像データをＭＥＭ−Ｂ１４に転送し、プリンタ出力用の画像データを完成させる。
【００２３】
ＣＰＵ１１は、ＨＤＤ１５に対して、一時的な画像データの格納や繰り返し使用する画像データの格納を行うときは、ＨＤＤ制御部１２６を制御する。
【００２４】
〈画像データ処理装置の第１の動作〉
図２は、本発明の実施形態に係る画像データ処理装置の第１の動作における画像データの流れを説明するための図であり、図３は、図２に示す動作を実行するＣＰＵの制御フローについて説明するための図である。図２において、図１と同じ部分には図１と同じ参照符号が付されている。
【００２５】
この第１の動作は、描画アクセラレータ１２１が描画できないコマンドがあった場合、ＣＰＵ１１が代わりにＣＰＵ１１側のＭＥＭ−Ａ１３に描画し、ＰＣＩｅインタフェース経由でコントローラＡＳＩＣ１２側のＭＥＭ−Ｂ１４に転送して画像データの追加を行い、出力するときの動作である。このフローにおいて、ＣＰＵ１１を制御するのはプリンタアプリである。
【００２６】
まずＣＰＵ１１は描画コマンドをＭＥＭ−Ａ１３に生成する（図３のステップＳＴ１）。次にＣＰＵ１１はコントローラＡＳＩＣ１２内の描画アクセラレータ１２１を起動する（ステップＳＴ２）。
【００２７】
描画アクセラレータ１２１はＣＰＵ１１に起動されると、描画コマンドをＭＥＭ−Ａ１３からＭＥＭ−Ｂ１４に転送し、描画コマンドの転送後、ＭＥＭ−Ｂ１４から描画コマンドを読み出し、ＭＥＭ−Ｂ１４上に画像データを描画する（ステップＳＴ２の自動実行、図２の手順Ｓ１）。
【００２８】
ＣＰＵ１１は描画アクセラレータ１２１が描画できないコマンドを判別し、その描画コマンドからＭＥＭ−Ａ１３上に画像データを描画する（ステップＳＴ３、手順Ｓ２）。次にＣＰＵ１１は描画された画像データをＭＥＭ−Ａ１３からＭＥＭ−Ｂ１４に転送する（ステップＳＴ４、手順Ｓ３）。
【００２９】
ＭＥＭ−Ｂ１４上で、描画アクセラレータ１２１により描画された画像データにＣＰＵ１１により描画された画像データが追加され、画像データが完成すると、ＣＰＵ１１はエンジン部２にそのことを通知する。エンジン部２は、ＣＰＵ１１から通知を受けると、ＭＥＭ−Ｂ１４から画像データを読み出し（転送し）、プリント出力を行う（ステップＳＴ５、手順Ｓ４）。
【００３０】
〈画像データ処理装置の第２の動作〉
図４は、本発明の実施形態に係る画像データ処理装置の第２の動作における画像データの流れを説明するための図であり、図５は、図４に示す動作を実行するＣＰＵの制御フローについて説明するための図である。図４において、図２と同じ部分には図２と同じ参照符号が付されている。
【００３１】
この第２の動作は、エンジン部２のスキャナからコントローラＡＳＩＣ１２側のＭＥＭ−Ｂ１４に入力された画像データに対して、ＣＰＵ１１がＣＰＵ１１側のＭＥＭ−Ａ１３にページ番号の画像データを描画し、ＰＣＩｅインタフェース経由でＭＥＭ−Ｂ１４に転送して画像データの追加を行い、出力するときの動作である。このフローにおいて、ＣＰＵ１１を制御するのはコピーアプリである。
【００３２】
エンジン部２のスキャナから入力された画像データがＭＥＭ−Ｂ１４に転送され、格納される（図５のステップＳＴ１１、図４の手順Ｓ１１）。エンジン部２は全ての画像データを転送すると、そのことをＣＰＵ１１に通知する。
【００３３】
ＣＰＵ１１はエンジン部２から通知を受けると、ページ番号の画像データをＭＥＭ−Ａ１３上に生成する（ステップＳＴ１２、手順Ｓ１２）。次にＣＰＵ１１は、ＭＥＭ−Ａ１３上に描画されたページ番号の画像データをＭＥＭ−Ａ１３からＭＥＭ−Ｂ１４に転送する（ステップＳＴ１３、手順Ｓ１３）。
【００３４】
ページ番号が追加された画像データがＭＥＭ−Ｂ１４上に完成したら、ＣＰＵ１１はエンジン部２にそのことを通知する。エンジン部２は、ＣＰＵ１１から通知を受けると、ＭＥＭ−Ｂ１４から画像データを読み出し（転送し）、プリント出力を行う（ステップＳＴ１４、手順Ｓ１４）。
【００３５】
〈ＭＥＭ−Ｂ１４のメモリ空間のアドレスウィンドウ〉
図６は、コントローラＡＳＩＣ側のメモリであるＭＥＭ−Ｂ１４のメモリ空間（記憶空間）のアドレスウィンドウについて説明するための図である。
【００３６】
ＯＳ（オペレーティングシステム）が管理するメモリ空間３０のアドレス０から２ＧＢまでは、ＣＰＵ１１側のメモリであるＭＥＭ−Ａ１３のメモリ空間（以下、ＭＥＭ−Ａ空間）３１として割り当てられている。メモリ空間３０はＣＰＵ１１がアクセス可能なメモリ空間である。
【００３７】
アドレスウィンドウ経由でＭＥＭ−Ｂ１４へのアクセスを可能とするためのメモリ空間３０における領域として、ＭＥＭ−Ａ空間３１の上の１ＧＢのメモリ空間に、それぞれ１６ＭＢのプリンタアプリ用ＭＥＭ−Ｂ空間３２、コピーアプリ用ＭＥＭ−Ｂ空間３３を割り当てる。つまり、プリンタアプリ用ＭＥＭ−Ｂ空間３２、コピーアプリ用ＭＥＭ−Ｂ空間３３は、アプリソフト毎に別々にアクセス可能なメモリ空間である。
【００３８】
プリンタアプリ用ＭＥＭ−Ｂ空間３２、コピーアプリ用ＭＥＭ−Ｂ空間３３のそれぞれのベースアドレス（基底アドレス）をベースアドレス０（以下、BAR0）、ベースアドレス１（以下、BAR1）とする。BAR0及びBAR1は、画像形成装置１００の電源が投入されたときの初期設定時に、コントローラＡＳＩＣ１２のＣＰＵ１１側のＰＣＩｅのコンフィグレジスタのうちのベースアドレスレジスタにＣＰＵ１１が設定する。ベースアドレスレジスタの詳細については後述する。
【００３９】
プリンタアプリ用ＭＥＭ−Ｂ空間３２、及びコピーアプリ用ＭＥＭ−Ｂ空間３３に１：１に対応して、ＭＥＭ−Ｂ１４のメモリ空間４０には、アプリソフト毎に別々にアクセス可能なアドレスウィンドウとして、プリンタアプリ用ＭＥＭ−Ｂ空間４１、及びコピーアプリ用ＭＥＭ−Ｂ空間４２を割り当てる。
【００４０】
プリンタアプリ用ＭＥＭ−Ｂ空間４１のアドレス、コピーアプリ用ＭＥＭ−Ｂ空間４２のアドレスは、アドレス０からのオフセット（相対位置）であるベースアドレスオフセット０（以下、BAR0_OFFSET）、ベースアドレスオフセット１（以下、BAR1_OFFSET）として設定する。BAR0_OFFSET、BAR1_OFFSETは、それぞれプリンタアプリ、コピーアプリがアドレスウィンドウ経由で画像データを転送するときに、前述したコンフィグレジスタのうちのベースアドレスオフセットレジスタにＣＰＵ１１が設定する。ベースアドレスオフセットレジスタの詳細については後述する。
【００４１】
ＣＰＵ１１側からＰＣＩｅにアクセスを行い、BAR0で設定したプリンタアプリ用ＭＥＭ−Ｂ空間３２にアクセスすると、ＭＥＭ−Ｂ１４上のプリンタアプリ用のアドレスウィンドウであるプリンタアプリ用ＭＥＭ−Ｂ空間４１にアクセスすることができる。同様に、BAR1で設定したコピーアプリ用ＭＥＭ−Ｂ空間３３にアクセスすると、ＭＥＭ−Ｂ１４上のコピーアプリ用のアドレスウィンドウであるコピーアプリ用ＭＥＭ−Ｂ空間４２にアクセスすることができる。
【００４２】
即ち、BAR0のアドレスウィンドウにはBAR0_OFFSETを設定できるベースアドレスオフセットレジスタがあり、BAR1のアドレスウィンドウにはBAR1_OFFSETを設定できるベースアドレスオフセットレジスタがある。それぞれのレジスタにオフセットアドレスの値を可変設定することで、ＭＥＭ−Ｂ１４のメモリ空間４０上でアドレスウィンドウの位置を変えてアクセスすることが可能になる。アドレスウィンドウのアドレスは０＋オフセットアドレスがＭＥＭ−Ｂ１４上での開始アドレスになる。
【００４３】
なお、図６では、BAR0及びBAR0_OFFSETをプリンタアプリ用とし、BAR1及びBAR1_OFFSETをコピーアプリ用としたが、反対にすることもできる。また、３個以上のアプリソフトがアドレスウィンドウを設定するために、３個以上のベースアドレス及びベースアドレスオフセットを用いることもできる。
【００４４】
〈ベースアドレスレジスタ及びベースアドレスオフセットレジスタ〉
図７は、図６におけるＯＳが管理するメモリ空間３０上のアプリソフト用のメモリ空間のベースアドレスを設定するためのベースアドレスレジスタを示す図である。ここで、図７ＡはBAR0を設定するためのベースアドレスレジスタを示し、図７ＢはBAR1を設定するためのベースアドレスレジスタを示す。
【００４５】
設定データ記憶手段のうちの第１の設定データ記憶手段としてのベースアドレスレジスタは、コントローラＡＳＩＣ１２のＣＰＵ側のＰＣＩｅのコンフィグレジスタ、即ち図１におけるＰＣＩｅ(Endpoint)制御部１２２内のコンフィグレジスタの一部である。
【００４６】
これらのベースアドレスレジスタは３２ビットのアドレス空間を持っており、上位８ビットを読み書き（Read Write）可能とし、下位２４ビットを読み取り専用（Read Only）とすることで、１６ＭＢバウンダリの設定を可能とした。
【００４７】
図８は、図６におけるコントローラＡＳＩＣ側のメモリのメモリ空間４０上のアプリソフト用のメモリ空間のベースアドレスのオフセットを設定するためのベースアドレスオフセットレジスタを示す図である。ここで、図８ＡはBAR0_OFFSETを設定するためのベースアドレスオフセットレジスタを示し、図８ＢはBAR1_OFFSETを設定するためのベースアドレスオフセットレジスタを示す。
【００４８】
第２の設定データ記憶手段としてのベースアドレスオフセットレジスタは、図７に示すベースアドレスレジスタと同様、３２ビットのうち、上位８ビットを読み書き可能とし、下位２４ビットを読み取り専用とした。
【００４９】
〈ＣＰＵ側のメモリからコントローラＡＳＩＣ側のメモリへの画像転送〉
図９は、図３及び図５に示すフローチャートにおいて、ＣＰＵ１１が画像データをＣＰＵ側のメモリからコントローラＡＳＩＣ側のメモリに転送する処理（図３のステップＳＴ４、図５のステップＳＴ１３）の詳細な内容を示すフローチャートである。
【００５０】
まずＣＰＵ１１を制御するプリンタアプリ（図３の場合）、コピーアプリ（図５の場合）は、ＭＥＭ−Ｂ１４のメモリ空間４０のアドレスウィンドウのオフセットアドレスBAR0_OFFSET、BAR1_OFFSETを図８に示すベースアドレスオフセットレジスタに設定する（ステップＳＴ２１：第２の設定工程）。前述したように、BAR0、BAR1は、初期設定（第１の設定工程）により設定済みである。
【００５１】
プリンタアプリ、コピーアプリが、転送手段としてのＣＰＵ１１を制御して、それぞれプリンタアプリ用ＭＥＭ−Ｂ空間３２、コピーアプリ用ＭＥＭ−Ｂ空間３３にアクセスしてＭＥＭ−Ａ１２上の画像データを転送すると、ＭＥＭ−Ｂ１４のメモリ空間４０のアドレスウィンドウ（プリンタアプリ用ＭＥＭ−Ｂ空間４１、コピーアプリ用ＭＥＭ−Ｂ空間４２）に画像データが転送される（ステップＳＴ２２：転送工程）。
【００５２】
画像データ転送の後、オフセットアドレス範囲の転送が終了したか否か、換言すればオフセットアドレスで指定したアドレスウィンドウ内に転送する画像データがあるか否か、を判定する（ステップＳＴ２３）。
【００５３】
判定の結果、転送する画像データがある場合は（ステップＳＴ２３：NO）、転送を継続する（ステップＳＴ２２）。アドレスウィンドウ内に転送すべき画像データがなくなった場合（ステップＳＴ２３：YES）、ＭＥＭ−Ａ１３からＭＥＭ−Ｂ１４への画像データ転送が完了したか否かを判定する（ステップＳＴ２４）。
【００５４】
判定の結果、画像データ転送が完了していない場合は（ステップＳＴ２４：NO）、次に書き込みを行うアドレスウィンドウのオフセットアドレスをベースアドレスオフセットレジスタに設定をして転送を行う（ステップＳＴ２１→ＳＴ２２）。
【００５５】
ＭＥＭ−Ａ１３からＭＥＭ−Ｂ１４への画像データ転送が完了するまで、ステップＳＴ２１〜ＳＴ２４を繰り返し、画像データ転送が完了したら（ステップＳＴ２４：YES）、この図に示すフローを終了する。
【００５６】
このような制御を行う場合でも、アプリソフト毎にベースアドレスオフセットレジスタが割り当てられているので、他のアプリソフトにアドレスウィンドウのオフセットアドレスを書き換えられることがなく、制御することができる。また、アドレスウィンドウの設定が別のアプリソフトに書き換えられない仕組みをハード的に設けたことで、異なるアプリソフト間でアドレスウィンドウ設定の制御情報を通信するやりとりが不要である。
【符号の説明】
【００５７】
１１…ＣＰＵ、１２…コントローラＡＳＩＣ、１３…ＭＥＭ−Ａ、１４…ＭＥＭ−Ｂ、４１…プリンタアプリ用ＭＥＭ−Ｂ空間（プリンタアプリ用アドレスウィンドウ）、４２…コピーアプリ用ＭＥＭ−Ｂ空間（コピーアプリ用アドレスウィンドウ）、１２１…描画アクセラレータ。
【先行技術文献】
【特許文献】
【００５８】
【特許文献１】特開２００２−２６４４４２号公報
【図１】
2014219941.tif 000003
【図２】
2014219941.tif 000004
【図３】
2014219941.tif 000005
【図４】
2014219941.tif 000006
【図５】
2014219941.tif 000007
【図６】
2014219941.tif 000008
【図７】
2014219941.tif 000009
【図８】
2014219941.tif 000010
【図９】
2014219941.tif 000011