(57)【要約】【課題】、ＤＭＡ実行中の転送元および転送領域へのメモリアクセスによる誤動作継続防止を目的とする。【解決手段】同一のシステムバスを用いて、ＤＭＡおよびメモリアクセスの転送制御を行うＤＭＡコントローラであって、ＤＭＡにおける転送元のアドレス範囲、およびＤＭＡにおける転送先のアドレス範囲が格納される各レジスタ２２〜２５と、メモリアクセスにおけるデータ転送を行うためのアドレスが、システムバス上に指定されると、指定されたアドレスが、ＤＭＡの転送元のアドレス範囲内、もしくはＤＭＡの転送先のアドレス範囲内のアドレスである場合、メモリアクセスにおけるデータは、不正アクセスである旨の不正アクセス警告信号を出力する不正アクセス検出回路１と、を有することを特徴とする。【選択図】図１
2012098985.tif 000002
【特許請求の範囲】
【請求項１】
同一のシステムバスを用いて、ダイレクトメモリアクセスおよびメモリアクセスの転送制御を行うダイレクトメモリアクセス制御装置であって、
前記ダイレクトメモリアクセスにおける転送元のアドレス範囲、および前記ダイレクトメモリアクセスにおける転送先のアドレス範囲が格納される記憶手段と、
前記メモリアクセスにおけるデータ転送を行うためのアドレスが、前記システムバス上に指定されると、
前記指定されたアドレスが、前記ダイレクトメモリアクセスの転送元のアドレス範囲内、もしくは前記ダイレクトメモリアクセスの転送先のアドレス範囲内のアドレスである場合、前記メモリアクセスにおけるデータは、不正アクセスである旨の不正アクセス警告信号を出力する不正アクセス検出手段と、
を有することを特徴とするダイレクトメモリアクセス制御装置。
【請求項２】
前記記憶手段は、前記ダイレクトメモリアクセスの転送元のアドレスにおける開始アドレスおよび終了アドレスが記憶され、
前記不正アクセス検出手段は、
前記システムバス上に指定されたアドレスが、前記開始アドレス以上の値であり、かつ前記外部装置からのアドレスが、前記終了アドレス以下の値である場合に、前記不正アクセス警告信号を出力する
ことを特徴とする請求項１に記載のダイレクトメモリアクセス制御装置。
【請求項３】
前記記憶手段は、前記ダイレクトメモリアクセスの転送先のアドレスにおける開始アドレスおよび終了アドレスが記憶され、
前記不正アクセス検出手段は、
前記システムバス上に指定されたアドレスが、前記開始アドレス以上の値であり、かつ前記外部装置からのアドレスが、前記終了アドレス以下の値である場合に、前記不正アクセス警告信号を出力する
ことを特徴とする請求項１に記載のダイレクトメモリアクセス制御装置。
【請求項４】
前記不正アクセス検出手段は、
前記ダイレクトメモリアクセスの転送元のアドレス範囲内、もしくは前記ダイレクトメモリアクセスの転送先のアドレス範囲内のアドレスである場合に加え、前記ダイレクトメモリアクセス制御装置自分自身に対する書込要求および読込要求がない場合に、前記不正アクセス警告信号を出力する
ことを特徴とする請求項１に記載のダイレクトメモリアクセス制御装置。
【請求項５】
前記メモリアクセスは、他のダイレクトメモリアクセスであり、該他のダイレクトメモリアクセスを備える他のデバイスは、他の不正アクセス検出手段を備える
ことを特徴とする請求項１から請求項４のいずれか一項に記載のダイレクトメモリアクセス制御装置。
【請求項６】
請求項１から請求項５のいずれか一項に記載のダイレクトメモリアクセス制御装置を、少なくとも１つ有するダイレクトメモリアクセス制御システムであって、
前記ダイレクトメモリアクセス制御装置のうち、少なくとも１つから前記不正アクセス警告信号を受信したとき、ダイレクトメモリアクセスの対象となっているデバイスに対するバスアクセス要求信号の状態を表示手段へ出力するダイレクトメモリアクセス不正アクセス要因出力手段を有する
ことを特徴とするダイレクトメモリアクセス制御システム。
【請求項７】
請求項１から請求項５のいずれか一項に記載のダイレクトメモリアクセス制御装置の不正アクセス検出手段に係る処理をコンピュータに実行させるためのプログラム。
【請求項８】
請求項６に記載のダイレクトメモリアクセス制御システムのダイレクトメモリアクセス不正アクセス要因出力手段の処理をコンピュータに実行させるためのプログラム。
【請求項９】
請求項１から請求項５のいずれか一項に記載のダイレクトメモリアクセス制御装置を有する
ことを特徴とする画像処理装置。
【請求項１０】
請求項６に記載のダイレクトメモリアクセス制御システムを有する
ことを特徴とする画像処理装置。
【請求項１１】
読取ユニット、通信ユニット、主記憶装置および印刷ユニットを備える複合機であって、
前記読取ユニットまたは前記通信ユニットから前記主記憶装置まで前記ダイレクトメモリアクセスにより転送し、前記主記憶装置から前記印刷ユニットまで前記メモリアクセスにより転送する請求項１から請求項５のいずれか一項に記載のダイレクトメモリアクセス制御装置を備えることを特徴とする複合機。
【請求項１２】
読取ユニット、通信ユニット、主記憶装置および印刷ユニットを備える複合機であって、
前記読取ユニットまたは前記通信ユニットから前記主記憶装置まで前記ダイレクトメモリアクセスにより転送し、前記主記憶装置から前記印刷ユニットまで前記メモリアクセスにより転送する請求項６に記載のダイレクトメモリアクセス制御システムを備えることを特徴とする複合機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ダイレクトメモリアクセスに用いられるダイレクトメモリアクセス制御装置、ダイレクトメモリアクセス制御システム、プログラム、画像処理装置および複合機の技術に関するものである。
【背景技術】
【０００２】
従来、ダイレクトメモリアクセス（Direct Memory Access：以下、ＤＭＡと称する）の動作において、ＤＭＡ実行中では、システムバスが、ＤＭＡコントローラにバス権を与えている。そのため、プロセッサを含むその他の周辺回路はシステムバスから切り離され、アクセスすることができない。
しかし、近年、システム性能向上のため、周辺Ｉ／Ｏ（Input/Output）デバイスに対するＤＭＡ動作など、低速のＤＭＡ動作に関しては、ＤＭＡ終了アドレスに到達するまでの期間であっても、より優先度の高いデバイスからのバスアクセス要求に対しては、バス権をＤＭＡコントローラから他のデバイスに渡すことが一般的になってきた。
したがって、ＤＭＡ起動中であっても、プロセッサや他のＤＭＡコントローラによるシステムバスへのアクセスが発生する場合がある。
【０００３】
特許文献１には、以下の方法で、ＤＭＡライト（Write）による主記憶装置への書き込みが、ＣＰＵ（プロセッサ）からの読み出しに追い越されて、不正データが読み出されたり、データが失われるのを防ぐアクセス制御装置が開示されている。すなわち、特許文献１に記載のアクセス制御装置は、ＤＭＡによる画像処理において、ＤＭＡ制御装置（ＤＭＡコントローラ）が最後のデータの書き込みを終了し、この書込データをメモリ制御装置内のバッファに滞留させる。そして、アクセス制御装置は、メモリへのデータの書き込みが完全に終了する前に、該メモリ領域へのＣＰＵによるアクセスが発生した場合、ＤＭＡ制御装置によりメモリ書き込み要求の発生しているメモリアドレスと、ＣＰＵによるアクセス要求が出されたメモリアドレスとを比較する。比較の結果、メモリアドレスが一致していた場合、アクセス制御装置は、メモリ制御装置内バッファに滞留しているデータ書き込みが終了するまでＣＰＵによるアクセスを制限する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−２３１０３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載のアクセス制御では、ＣＰＵ（プロセッサ）からのアクセス要求アドレスと、アクセス制御装置内のバッファに溜まっているデータ書き込み要求アドレスとの比較のみを行っているため、ＤＭＡが停止する前のＤＭＡ転送先領域への不正アクセスや、ＤＭＡ転送元領域への不正アクセスに対しては効果がないという問題がある。
【０００６】
本発明は、このような問題を解決するためになされたものであり、ＤＭＡ実行中の転送元および転送領域へのメモリアクセスによる誤動作継続防止を可能とすることを目的とする。
【課題を解決するための手段】
【０００７】
前記した課題を解決するため、本発明は、同一のシステムバスを用いて、ＤＭＡおよびメモリアクセスの転送制御を行うＤＭＡ制御装置であって、前記ＤＭＡにおける転送元のアドレス範囲、および前記ＤＭＡにおける転送先のアドレス範囲が格納される記憶手段と、前記メモリアクセスにおけるデータ転送を行うためのアドレスが、前記システムバス上に指定されると、前記指定されたアドレスが、前記ＤＭＡの転送元のアドレス範囲内、もしくは前記ＤＭＡの転送先のアドレス範囲内のアドレスである場合、前記メモリアクセスにおけるデータは、不正アクセスである旨の不正アクセス警告信号を出力する不正アクセス検出手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ＤＭＡ実行中の転送元および転送領域へのメモリアクセスによる誤動作継続防止が可能となる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係る不正アクセス検出回路の構成例を示す図である。
【図２】第１実施形態に係る画像処理装置の構成例を示す図である。
【図３】第１実施形態に係るＤＭＡコントローラの構成例を示す図である。
【図４】ＤＭＡコントローラにおける処理の流れを示すフローチャートである（その１）。
【図５】ＤＭＡコントローラにおける処理の流れを示すフローチャートである（その２）。
【図６】第１実施形態に係る不正アクセス検出処理の流れを示すフローチャートである。
【図７】第２実施形態に係るＤＭＡ制御システムの構成例を示す図である。
【図８】第２実施形態に係るＤＭＡ制御システムにおける処理の流れを示すフローチャートである。
【図９】第２実施形態に係る割込処理の流れを示すフローチャートである。
【図１０】第１実施形態および第２実施形態に係る画像処理装置およびＤＭＡ制御システムを搭載した複合機の斜視概略図である。
【発明を実施するための形態】
【００１０】
以下に、図面を参照して本発明によるＤＭＡ制御装置、ＤＭＡ制御システムの実施形態について説明する。なお、一方のＤＭＡコントローラ（ダイレクトメモリアクセス）によるＤＭＡと、他方のＤＭＡコントローラ（メモリアクセス）によるＤＭＡとは速度が異なり、双方のＤＭＡが同時期に実行されることも前提としている。なお、他方のＤＭＡコントローラによるＤＭＡは、ＤＭＡに限らず一般的なメモリアクセスでもよい。
【００１１】
《第１実施形態》
まず、図１〜図６を参照して、本発明に係る第１実施形態を説明する。なお、本実施形態におけるＤＭＡは、スキャナから送られてくる画像データや、ホストインタフェースから送られてくる画像データ、ＰＣ（Personal Computer）から送られてくる画像データなどを対象とすることを想定している。
【００１２】
（不正アクセス検出回路の構成）
図１は、第１実施形態に係る不正アクセス検出回路の構成例を示す図である。
不正アクセス検出回路（不正アクセス検出手段）１は、図２および図３に示すＤＭＡコントローラ２に含まれるものである。
不正アクセス検出回路１は、４つのアドレス比較器１１（１１ａ〜１１ｄ）、転送元用ＡＮＤゲート１２、転送先用ＡＮＤゲート１３およびＯＲゲート１４を有する。
アドレス比較器１１ａは、ＤＭＡコントローラ２に含まれるＤＭＡ転送元開始アドレスレジスタ２２の転送元開始アドレスと、アドレスバス８１（図３）から送られたバスアドレスとを比較する機能を有する。
アドレス比較器１１ｂは、ＤＭＡコントローラ２に含まれるＤＭＡ転送元終了アドレスレジスタ２３の転送元終了アドレスと、アドレスバス８１（図３）から送られたバスアドレスとを比較する機能を有する。
アドレス比較器１１ｃは、ＤＭＡコントローラ２に含まれるＤＭＡ転送先開始アドレスレジスタ２４の転送先開始アドレスと、アドレスバス８１（図３）から送られたバスアドレスとを比較する機能を有する。
アドレス比較器１１ｄは、ＤＭＡコントローラ２に含まれるＤＭＡ転送先終了アドレスレジスタ２５の転送先終了アドレスと、アドレスバス８１（図３）から送られたバスアドレスとを比較する機能を有する。
ＤＭＡ起動中信号５３は、自身のＤＭＡコントローラ２がＤＭＡ起動中である場合に「Ｐ」すなわち「１」となる信号である。ＤＭＡ読出アクセス信号５１は、自身のＤＭＡコントローラ２による読み出しが発生したとき「Ｎ」すなわち「０」となる信号である。ＤＭＡ書込アクセス信号５２は、自身のＤＭＡコントローラ２による書き込みが発生したとき「Ｎ」すなわち「０」となる信号である。
【００１３】
転送元用ＡＮＤゲート１２は、図３で後記するＤＭＡ転送元アドレスレジスタ２６から入力されるＤＭＡ読出アクセス信号５１と、図３で後記するＤＭＡ転送先アドレスレジスタ２７から入力されるＤＭＡ書込アクセス信号５２と、図３で後記するＤＭＡコントローラ制御レジスタ２１から入力されるＤＭＡ起動中信号５３と、アドレス比較器１１ａからの比較結果信号と、アドレス比較器１１ｂからの比較結果信号との５つの信号の論理積を出力する機能を有する。
また、転送先用ＡＮＤゲート１３は、図３で後記するＤＭＡ転送元アドレスレジスタ２６から入力されるＤＭＡ読出アクセス信号５１と、図３で後記するＤＭＡ転送先アドレスレジスタ２７から入力されるＤＭＡ書込アクセス信号５２と、図３で後記するＤＭＡコントローラ制御レジスタ２１から入力されるＤＭＡ起動中信号５３と、アドレス比較器１１ｃからの比較結果信号と、アドレス比較器１１ｄからの比較結果信号との５つの信号の論理積を出力する機能を有する。
【００１４】
ＯＲゲート１４は、転送元用ＡＮＤゲート１２からの出力と、転送先用ＡＮＤゲート１３からの出力との論理和を不正アクセス警告信号として出力する機能を有する。
なお、不正アクセス検出回路１の動作の詳細は、図６を参照して後記する。
【００１５】
（画像処理装置の構成）
図２は、第１実施形態に係る画像処理装置の構成例を示す図である。
画像処理装置１００は、ＤＭＡコントローラ２（ＤＭＡコントローラＡ２ａ，ＤＭＡコントローラＢ２ｂ）と、プロセッサ３（プロセッサＡ３ａ，プロセッサＢ３ｂ）と、Ｉ／Ｏ装置４（Ｉ／Ｏ装置Ａ４ａ，Ｉ／Ｏ装置Ｂ４ｂ）と、主記憶装置６を制御する主記憶装置コントローラ５と、ディスプレイなどの表示装置（表示手段）７とを有してなる。
各ＤＭＡコントローラ２と、プロセッサ３と、Ｉ／Ｏ装置４、主記憶装置コントローラ５と、表示装置７とは、システムバス８を介して互いに接続されている。
ＤＭＡコントローラ２は、ＤＭＡ読出・書込アクセス信号や、不正アクセス警告信号などをシステムバス８へ出力する。
なお、図２において、ＤＭＡコントローラ２、Ｉ／Ｏ装置４が、２台ずつ記載されているが、これに限らず、３台以上でもよい。また、プロセッサ３は１台でもよい。
なお、ＤＭＡコントローラＡ２ａが行うＤＭＡがダイレクトメモリアクセス、ＤＭＡコントローラＢ２ｂが行うＤＭＡがメモリアクセスである。
【００１６】
（ＤＭＡコントローラの構成）
図３は、第１実施形態に係るＤＭＡコントローラの構成例を示す図である。
ＤＭＡコントローラ（ＤＭＡ制御装置）２は、不正アクセス検出回路１、ＤＭＡコントローラ制御レジスタ２１、ＤＭＡ転送元開始アドレスレジスタ（記憶手段）２２、ＤＭＡ転送元終了アドレスレジスタ（記憶手段）２３、ＤＭＡ転送先開始アドレスレジスタ（記憶手段）２４、ＤＭＡ転送先終了アドレスレジスタ（記憶手段）２５、ＤＭＡ転送元アドレスレジスタ２６、ＤＭＡ転送先アドレスレジスタ２７およびＤＭＡデータバッファ２８を有してなる。
【００１７】
また、システムバス８は、データを転送するためのデータバス８２と、データの転送元あるいは転送先のアドレスを転送するためのアドレスバス８１とから構成されており、不正アクセス検出回路１には、アドレスバス８１からバスアドレス（データの書込・読込場所を示すアドレス）が入力され、さらに不正アクセス検出回路１から不正アクセス警告信号がデータバス８２へ出力される。
【００１８】
不正アクセス検出回路１については図１で説明したため、説明を省略する。
ＤＭＡコントローラ制御レジスタ２１には、ＤＭＡコントローラ２を全体制御する制御パラメータが格納されている。制御パラメータは、特にアイドル状態からの起動・停止を制御しており、ＤＭＡコントローラ２の起動中、ＤＭＡコントローラ２はＤＭＡ起動中信号５３（実際は「１」の信号）を不正アクセス検出回路１へ出力し、停止中（アイドル状態）では「０」を出力する。
【００１９】
ＤＭＡ転送元開始アドレスレジスタ２２は、ＤＭＡにおけるデータの転送元（例えば、Ｉ／Ｏ装置４）のアドレス範囲のうち、開始（先頭）アドレスであるＤＭＡ転送元開始アドレスを格納しており、このＤＭＡ転送元開始アドレスを不正アクセス検出回路１が取り込むように構成されている。
ＤＭＡ転送元終了アドレスレジスタ２３は、ＤＭＡにおけるデータの転送元のアドレス範囲のうち、終了（最後尾）アドレスであるＤＭＡ転送元終了アドレスを格納しており、このＤＭＡ転送元終了アドレスを不正アクセス検出回路１が取り込むように構成されている。
【００２０】
ＤＭＡ転送先開始アドレスレジスタ２４は、ＤＭＡにおけるデータの転送先（例えば、主記憶装置６）のアドレス範囲のうち、開始（先頭）アドレスであるＤＭＡ転送先開始アドレスを格納しており、このＤＭＡ転送先開始アドレスを不正アクセス検出回路１が取り込むように構成されている。
ＤＭＡ転送先終了アドレスレジスタ２５は、ＤＭＡにおけるデータの転送先のアドレス範囲のうち、終了（最後尾）アドレスであるＤＭＡ転送先終了アドレスを格納しており、このＤＭＡ転送先終了アドレスを不正アクセス検出回路１が取り込むように構成されている。
【００２１】
ＤＭＡ転送元アドレスレジスタ２６には、ＤＭＡにおけるデータの転送元（例えば、Ｉ／Ｏ装置４）のアドレスであるＤＭＡ転送元アドレスが格納されている。ＤＭＡコントローラ２は、このＤＭＡ転送元アドレスを、ＤＭＡ転送元開始アドレスからＤＭＡ転送元終了アドレスまで変化させつつ、アドレスバス８１へ送るとともに、不正アクセス検出回路１へＤＭＡ読出アクセス信号５１を送る機能を有する。
ＤＭＡ転送先アドレスレジスタ２７には、ＤＭＡにおけるデータの転送先（例えば、主記憶装置６）のアドレスであるＤＭＡ転送先アドレスが格納されている。ＤＭＡコントローラ２は、このＤＭＡ転送先アドレスを、ＤＭＡ転送先開始アドレスからＤＭＡ転送先終了アドレスまで変化させつつ、アドレスバス８１へ送るとともに、不正アクセス検出回路１へＤＭＡ書込アクセス信号５２を送る機能を有する。
【００２２】
ＤＭＡデータバッファ２８は、データバス８２から送られたＤＭＡの転送データと、アドレスバス８１から送られた、ＤＭＡのデータが有効であることを示すＤＭＡ受付信号を格納する機能を有する。
【００２３】
（ＤＭＡコントローラの処理）
次に、図１〜図３を参照しつつ、図４〜図６に沿ってＤＭＡコントローラ２および不正アクセス検出回路１における処理を説明する。
図４および図５は、ＤＭＡコントローラにおける処理の流れを示すフローチャートである。なお、図４および図５の処理のうち、ステップＳ１０１とステップＳ１０２はプロセッサによる処理であり、ステップＳ１０３以降はＤＭＡコントローラ２による処理である。また、ステップＳ１０５およびステップＳ１０９の処理は、制御対象となっているデバイス（Ｉ／Ｏ装置４および主記憶装置コントローラ５）による処理である。
ＤＭＡを開始する場合、まずプロセッサ３は、予め設定されているＤＭＡコントローラ２（ＤＭＡコントローラ２ａ側）に対して、ＤＭＡの転送データ（ＤＭＡデータ）を読み出すための転送元アドレス範囲およびＤＭＡデータを書き込むための転送先アドレス範囲を読み込む（図４のＳ１０１）。
そして、プロセッサ３は、ＤＭＡコントローラ２のＤＭＡ転送元開始アドレスレジスタ２２に開始アドレスを書き込み、ＤＭＡコントローラ２のＤＭＡ転送元終了アドレスレジスタ２３に終了アドレスを書き込むことで、転送元アドレス範囲を設定する。
同様に、プロセッサ３は、ＤＭＡコントローラ２のＤＭＡ転送先開始アドレスレジスタ２４に開始アドレスを書き込み、ＤＭＡコントローラ２のＤＭＡ転送先終了アドレスレジスタ２５に終了アドレスを書き込むことで、転送先アドレス範囲を設定する。
次に、Ｉ／Ｏ装置４の起動タイミングに応じてプロセッサ２が制御レジスタ２１を通してアイドル状態となっていたＤＭＡコントローラ２（ＤＭＡコントローラ２ａ側）を起動する（Ｓ１０２）。
【００２４】
起動されたＤＭＡコントローラ２は、ＤＭＡコントローラ制御レジスタ２１から不正アクセス検出回路１に入力されるＤＭＡ起動中信号５３を「１」とし（Ｓ１０３）、ＤＭＡを開始する。
なお、本実施形態では、前記したようにＤＭＡ起動中信号５３の「１」がＤＭＡコントローラ２が起動中であることを示し、「０」がアイドル中であることを示すものとする。
【００２５】
ＤＭＡコントローラ２（ＤＭＡコントローラ２ａ側）は、起動直後であれば、ＤＭＡ転送元開始アドレスレジスタ２２の内容を、ＤＭＡ転送元アドレスレジスタ２６にコピーし、システムバス８（アドレスバス８１）に対してＤＭＡ転送元アドレスを出力し、読出先のデバイス（例えば、Ｉ／Ｏ装置４など）に読出アクセスを要求する（Ｓ１０４）。このとき、不正アクセス検出回路１にＤＭＡ読出アクセス信号５１が入力される。
【００２６】
読出アクセスの要求を受けたＩ／Ｏ装置４は、読出アクセス信号に含まれるＤＭＡ転送元アドレスに該当するデータを読み出し、読み出したデータをシステムバス８（データバス８２）へ出力する（Ｓ１０５）。
データバス８２に出力されたデータは、ＤＭＡコントローラ２（ＤＭＡコントローラ２ａ側）のデータバッファ２８に一時的に保存される。
【００２７】
次に、ＤＭＡコントローラ２（ＤＭＡコントローラ２ａ側）は、Ｉ／Ｏ装置４からの読出状態信号に基づいてＤＭＡの読出対象となっているＤＭＡデータの読み出しが完了したか否かを判定する（Ｓ１０６）。
ステップＳ１０６の結果、読み出しが完了していない場合（Ｓ１０６→Ｎｏ）、読出対象のデバイスのコントローラはステップＳ１０５を繰り返す。
ステップＳ１０６の結果、読み出しが完了している場合（Ｓ１０６→Ｙｅｓ）、ＤＭＡコントローラ２は、ＤＭＡ転送元アドレスレジスタ２６のＤＭＡ転送元アドレスを１増加させ（Ｓ１０７）、さらに、読出アクセスを解除して、次の読出アクセスの要求に備える。
【００２８】
次に、ＤＭＡコントローラ２（ＤＭＡコントローラ２ａ側）は、起動直後であれば、ＤＭＡ転送先開始アドレスレジスタ２４の内容を、ＤＭＡ転送先アドレスレジスタ２６にコピーし、システムバス８（アドレスバス８１）に対してＤＭＡ転送先アドレスを出力し、書込先のデバイス（例えば、主記憶装置コントローラ５など）に書込アクセスを要求する（図５のＳ１０８）。このとき、不正アクセス検出回路１にＤＭＡ書込アクセス信号５２が入力される。
【００２９】
書込アクセスの要求を受けた主記憶装置コントローラ５は、書込アクセス信号に含まれるＤＭＡ転送先アドレスに該当するデータを書き込む（Ｓ１０９）。
【００３０】
次に、ＤＭＡコントローラ２は、Ｉ／Ｏ装置４からの信号に基づいてＤＭＡの書込対象となっているＤＭＡデータの書き込みが完了したか否かを判定する（Ｓ１１０）。
ステップＳ１１０の結果、書き込みが完了していない場合（Ｓ１１０→Ｎｏ）、主記憶装置コントローラ５はステップＳ１０９を繰り返す。
ステップＳ１１０の結果、書き込みが完了している場合（Ｓ１１０→Ｙｅｓ）、ＤＭＡコントローラ２は、ＤＭＡ転送先アドレスレジスタ２７のＤＭＡ転送先アドレスを１増加させ（Ｓ１１１）、さらに書込アクセスを解除して、主記憶装置コントローラ５に書込アクセスを解除させ、次の書込アクセスの要求に備える。
【００３１】
そして、ＤＭＡコントローラは、ＤＭＡ転送元アドレスがＤＭＡ転送元終了アドレスの値であるか、またはＤＭＡ転送先アドレスがＤＭＡ転送先終了アドレスの値であるか否かを判定する（Ｓ１１２）。
ＤＭＡ転送元アドレスがＤＭＡ転送元終了アドレスの値でなく、かつＤＭＡ転送先アドレスがＤＭＡ転送先終了アドレスの値でない場合（Ｓ１１２→Ｎｏ）、ＤＭＡコントローラ２は図４のステップＳ１０４へ処理を戻す。
ＤＭＡ転送元アドレスがＤＭＡ転送元終了アドレスの値であるか、またはＤＭＡ転送先アドレスがＤＭＡ転送先終了アドレスの値である場合（Ｓ１１２→Ｙｅｓ）、プロセッサ３はＤＭＡコントローラ２をアイドル状態にし、処理を終了させる。ＤＭＡコントローラ２がアイドル状態となるとともに、ＤＭＡ起動中信号５３は「０」となる。
【００３２】
（不正アクセス検出回路における処理）
図６は、第１実施形態に係る不正アクセス検出処理の流れを示すフローチャートである。なお、また、図６の処理は図４および図５の処理とパラレルに行われる処理である。
不正アクセス検出回路１は、自デバイスのＤＭＡが起動中であるか否かを判定する（Ｓ３０１）。自デバイスとは、この場合、例えば不正アクセス検出回路１自身が搭載されているＤＭＡコントローラ２である。
ステップＳ３０１の結果、自デバイスのＤＭＡが起動中でない場合（Ｓ３０１→Ｎｏ）、不正アクセス検出回路１は「０」を出力する（Ｓ３０９）。
ステップＳ３０１の結果、自デバイスが起動中である場合（Ｓ３０１→Ｙｅｓ）、不正アクセス検出回路１は自デバイスのＤＭＡ読出アクセス信号５１であるか否かを判定する（Ｓ３０２）。
【００３３】
ステップＳ３０２の結果、自デバイスのＤＭＡ読出アクセス信号５１である場合（Ｓ３０２→Ｙｅｓ）、不正アクセス検出回路１は「０」を出力する（Ｓ３０９）。
ステップＳ３０２の結果、自デバイスのＤＭＡ読出アクセス信号５１でない場合（Ｓ３０２→Ｎｏ）、不正アクセス検出回路１は自デバイスのＤＭＡ書込アクセス信号５２であるか否かを判定する（Ｓ３０３）。
ステップＳ３０３の結果、自デバイスのＤＭＡ書込アクセス信号５２である場合（Ｓ３０３→Ｙｅｓ）、不正アクセス検出回路１は「０」を出力する（Ｓ３０９）。
【００３４】
ステップＳ３０３の結果、自デバイスのＤＭＡ書込アクセス信号５２でない場合（Ｓ３０３→Ｎｏ）、アドレス比較器１１ａが、アドレスバス８１を介して入力された、他方のＤＭＡコントローラ２などから送られたバスアドレスと、ＤＭＡ転送元開始アドレスレジスタ２２のＤＭＡ転送元開始アドレスとを比較し、バスアドレスがＤＭＡ転送元開始アドレス以上であるか否かを判定する（Ｓ３０４）。なお、自デバイスがＤＭＡコントローラＡ２ａだとすると、他デバイスはＤＭＡコントローラＢ２ｂや、プロセッサＡ３ａや、プロセッサＢ３ｂなどが該当する。
【００３５】
ステップＳ３０４の結果、バスアドレスがＤＭＡ転送元開始アドレス未満であれば（Ｓ３０４→Ｎｏ）、不正アクセス検出回路１はステップＳ３０６へ処理を進める。
ステップＳ３０４の結果、バスアドレスがＤＭＡ転送元開始アドレス以上であれば（Ｓ３０４→Ｙｅｓ）、アドレス比較器１１ｂが、アドレスバス８１から入力されたバスアドレスと、ＤＭＡ転送元終了アドレスレジスタ２３のＤＭＡ転送元終了アドレスとを比較し、バスアドレスがＤＭＡ転送元終了アドレス以下であるか否かを判定する（Ｓ３０５）。
【００３６】
ステップＳ３０５の結果、バスアドレスがＤＭＡ転送元終了アドレス以下であれば（Ｓ３０５→Ｙｅｓ）、アドレス比較器１１ｂは「１」を転送元用ＡＮＤゲート１２へ出力し（Ｓ３０８）、バスアドレスがＤＭＡ転送元終了アドレスより大きければ（Ｓ３０５→Ｎｏ）、アドレス比較器１１ｃは、アドレスバス８１から入力されたバスアドレスと、ＤＭＡ転送先開始アドレスレジスタ２４のＤＭＡ転送先開始アドレスとを比較し、バスアドレスがＤＭＡ転送先開始アドレス以上であるか否かを判定する（Ｓ３０６）。
ステップＳ３０６の結果、バスアドレスがＤＭＡ転送先開始アドレス未満であれば（Ｓ３０６→Ｎｏ）、アドレス比較器１１ｃは「０」を転送先用ＡＮＤゲート１３へ出力する（Ｓ３０９）。
【００３７】
ステップＳ３０６の結果、バスアドレスがＤＭＡ転送先開始アドレス以上であれば（Ｓ３０６→Ｙｅｓ）、アドレス比較器１１ｄが、アドレスバス８１から入力されたバスアドレスと、ＤＭＡ転送先終了アドレスレジスタ２５のＤＭＡ転送先終了アドレスとを比較し、バスアドレスがＤＭＡ転送先終了アドレス以下であるか否かを判定する（Ｓ３０７）。
ステップＳ３０７の結果、バスアドレスがＤＭＡ転送先終了アドレス以下であれば（Ｓ３０７→Ｙｅｓ）、アドレス比較器１１ｄは「１」を転送先用ＡＮＤゲート１３へ出力し（Ｓ３０８）、バスアドレスがＤＭＡ転送先終了アドレスより大きければ（Ｓ３０７→Ｎｏ）、アドレス比較器１１ｄは「０」を転送先用ＡＮＤゲート１３へ出力する（Ｓ３０９）。
【００３８】
そして、転送元用ＡＮＤゲート１２は、入力された転送元関連信号の論理積を算出し、算出結果をＯＲゲート１４へ出力する。ここで、転送元関連信号とは、アドレス比較器１１ａ，１１ｂから出力された比較結果と、ＤＭＡ起動中信号５３と、ＤＭＡ読出アクセス信号５１と、ＤＭＡ書込アクセス信号５２とである。
ここで、ＤＭＡ読出アクセス信号５１とＤＭＡ書込アクセス信号５２は負論理であり、ＤＭＡコントローラ２自身のアクセスを除外するために入力されている。
【００３９】
以上の動作により、バスアドレスがＤＭＡ転送元開始アドレスからＤＭＡ転送元終了アドレスまでの範囲内にあり、かつＤＭＡコントローラ２が起動中であり、さらにバスアドレスがＤＭＡコントローラ２自身のアクセスではない場合、転送元用ＡＮＤゲート１２は「１」を出力する。一方、バスアドレスがＤＭＡ転送元開始アドレスからＤＭＡ転送元終了アドレスまでの範囲外であったり、ＤＭＡコントローラ２が停止中、またはＤＭＡコントローラ２自身のアクセスが発生している場合、転送元用ＡＮＤゲート１２は「０」を出力する。
【００４０】
そして、転送先用ＡＮＤゲート１３は、入力された転送先関連信号の論理積を算出し、算出結果をＯＲゲート１４へ出力する。ここで、転送先関連信号とは、アドレス比較器１１ｃ，１１ｄから出力された比較結果と、ＤＭＡ起動中信号５３と、ＤＭＡ読出アクセス信号５１と、ＤＭＡ書込アクセス信号５２とである。
ここで、ＤＭＡ読出アクセス信号５１とＤＭＡ書込アクセス信号５２は負論理であり、ＤＭＡコントローラ２自身のアクセスを除外するために入力されている。
【００４１】
以上の動作により、バスアドレスがＤＭＡ転送先開始アドレスからＤＭＡ転送先終了アドレスまでの範囲内にあり、かつＤＭＡコントローラ２が起動中であり、さらに、バスアドレスがＤＭＡコントローラ２自身のアクセスではない場合、転送先用ＡＮＤゲート１３は「１」を出力する。一方、バスアドレスがＤＭＡ転送先開始アドレスからＤＭＡ転送先終了アドレスまでの範囲外であったり、ＤＭＡコントローラ２が停止中、またはＤＭＡコントローラ２自身のアクセスが発生している場合、転送先用ＡＮＤゲート１３は「０」を出力する（Ｓ３０９）。
【００４２】
そして、ＯＲゲート１４は、転送元用ＡＮＤゲート１２の出力と、転送先用ＡＮＤゲート１３の出力の論理和を算出し、この論理和を不正アクセス警告信号としてデータバス８２に出力し、主記憶装置６上にフラグを立てる。
すなわち、不正アクセス警告信号は、自デバイスのＤＭＡが起動中で、バスアドレスが自デバイスのＤＭＡ読出または書込ではなく、他のデバイスが持つ他方のＤＭＡコントローラなどにより送られた他デバイスバスアドレスと判断され、さらにバスアドレスの範囲が自デバイスのＤＭＡ転送元開始から終了の範囲またはバスアドレスの範囲が自身のＤＭＡ転送先開始から終了の範囲にあてはまる場合に「１」を出力する（Ｓ３０８）。一方、自デバイスのＤＭＡが未使用またはバスアドレスが自デバイスのＤＭＡ読出または書込によるもの、またはバスアドレスの範囲が自身のＤＭＡ転送元開始から終了の範囲外、またはバスアドレスの範囲が自身のＤＭＡ転送先開始から終了の範囲外の場合に「０」を出力する（Ｓ３０９）。
そして、コントローラ３は、定期的に主記憶装置６に書き込まれた不正アクセス警告信号、またはフラグを監視し、不正アクセスを示す「１」の情報である場合は、表示装置７にアラート表示を行わせ、ＤＭＡコントローラＡ２ａおよびＤＭＡコントローラＢ２ｂにＤＭＡ処理を中断させ、処理を終了する。
【００４３】
第１実施形態によれば、ＤＭＡ転送元アドレス範囲、ＤＭＡ転送先アドレス範囲に対する不正アクセスを検出できる。すなわち、ＤＭＡが停止する前のＤＭＡ転送先領域への不正アクセスや、ＤＭＡ転送元領域への不正アクセスを検出することができる。
【００４４】
《第２実施形態》
これまでの技術では、複数のＤＭＡ制御装置が動作しているときにおいて、ＤＭＡ転送領域が重なってしまう場合についても誤動作を防ぐことはできないという問題がある。
次に、図７〜図９を参照して、このような問題を解決するための本発明に係る第２実施形態を説明する。
【００４５】
（ＤＭＡ制御システムの構成）
図７は、第２実施形態に係るＤＭＡ制御システムの構成例を示す図である。
さらに、システムバス８には不正アクセス検出用ＯＲゲート９２からの出力によって、割り込みの発生を検知する割込コントローラ９３が接続されている。
【００４６】
不正アクセス検出用ＯＲゲート９２は、複数のＤＭＡコントローラ２から出力される不正アクセス警告信号の論理和を算出し、論理和の結果をバスアクセス状態出力回路９１へ出力すると共に、システムバス８を介して割込コントローラ９３へ割込信号を出力する機能を有する。
バスアクセス状態出力回路９１には、各ＤＭＡコントローラ２から入力された、ＤＭＡの対象となっているデバイスに対するＤＭＡ読出アクセス信号５１およびＤＭＡ書込アクセス信号５２（まとめて、バスアクセス要求信号と称する）が常時入力されており、不正アクセス検出用ＯＲゲート９２から出力された信号が「１」であるとき、バスアクセス要求信号の入力状態を主記憶装置６などの記憶媒体に保存し、プロセッサ３からバスアクセス要求信号の状態出力の指示を受けると、システムバス８へ保存しているバスアクセス要求信号の入力状態を出力する機能を有する。
【００４７】
（ＤＭＡ制御システムの処理）
次に、図７を参照しつつ、図８に沿ってＤＭＡ制御システムの処理を説明する。
図８は、第２実施形態に係るＤＭＡ制御システムにおける処理の流れを示すフローチャートである。
不正アクセス検出用ＯＲゲート９２には、複数のＤＭＡコントローラ２から不正アクセス警告信号が入力されており、不正アクセス検出用ＯＲゲート９２は、これらの各不正アクセス警告信号の論理和を算出し（Ｓ４０１）、算出結果をバスアクセス状態出力回路９１へ出力する。
バスアクセス状態出力回路９１は、不正アクセス検出用用ＯＲゲート１４から送られた論理和が「１」であるか否かを判定する（Ｓ４０２）。つまり、バスアクセス状態出力回路９１は、少なくとも１台のＤＭＡコントロ一ラがＤＭＡ不正アクセスを検知し、不正アクセス警告信号「１」を出力したか否かを判定する。
ステップＳ４０２の結果、論理和が「０」である場合（Ｓ４０２→Ｎｏ）、ＤＭＡ制御システム９はステップＳ４０１へ処理を戻す。
ステップＳ４０２の結果、論理和が「１」である場合（Ｓ４０２→Ｙｅｓ）、バスアクセス状態出力回路９１は、バスアクセス要求信号の状態を主記憶装置６などの記憶媒体に保存し（Ｓ４０３）、システムバス８を介して割込信号を割込コントローラ９３へ送信し（Ｓ４０４）、ＤＭＡ制御システム９はステップＳ４０１へ処理を戻す。
【００４８】
図９は、第２実施形態に係る割込処理の流れを示すフローチャートである。
割込コントローラ９３が割込信号を受信することによって、割込発生を検知すると、その旨をプロセッサ３へ通知し、プロセッサ３は、バスアクセス状態出力回路９１にバスアクセス要求信号状態の出力を指示する。すると、バスアクセス状態出力回路９１は、保存しているバスアクセス要求信号の状態をシステムバス８へ出力する（Ｓ５０１）。
そして、表示装置７（図２）が、システムバス８を介して取得したバスアクセス要求信号の状態を表示する（Ｓ５０２）。
【００４９】
以上のように第２実施形態によれば、第１実施形態におけるＤＭＡ不正アクセスの検出・表示（アラート表示）に加え、複数のＤＭＡ制御装置が動作しているときにおいて、ＤＭＡ転送領域が重なってしまう場合についても誤動作を防ぐことに加え、その発生要因も表示することができ、画像処理装置１００のプログラムのデバッグに有益な情報を得ることができる。
【００５０】
また、本実施形態では、不正アクセス検出回路１や、ＤＭＡコントローラ２をＣＰＵを内蔵したハードウェアで構成してあるが、ソフトウェアで実現してもよい。例えば、ＰＣにおけるＲＯＭ（Read Only Memory）や、ＨＤ（Hard Disk）に格納されたプログラムが、ＲＡＭ（Random Access Memory）に展開され、ＣＰＵによって実行されることによって、不正アクセス検出回路１や、ＤＭＡコントローラ２を具現化してもよい。このようなプログラムをＰＣで実行することにより、ＰＣを不正アクセス検出回路１や、ＤＭＡコントローラ２のシミュレータとして使用することができる。
【００５１】
《複合機》
図１０は、第１実施形態および第２実施形態に係る画像処理装置およびＤＭＡ制御システムを搭載した複合機の斜視概略図である。
複合機２００は、大別して、読取ユニット２０１、表示ユニット２０２、制御ユニット２０３、印刷ユニット２０４、操作パネルユニット２０５、通信ユニット２０６を有している。
読取ユニット２０１は、ＬＥＤ（Light Emitting Diode）（線状光源）やＣＣＤ（Charge Coupled Device）などの読取センサを有するスキャナ装置であり、原稿を読み取って電気信号に変換し、さらにイメージデータに変換する機能を有する。なお、読取ユニット２０１は、図２のＩ／Ｏ装置４に相当するものである。
制御ユニット２０３には、複合機２００を制御するための処理装置が内蔵されており、例えば図２のＤＭＡコントローラ２、プロセッサ３、主記憶装置コントローラ５、主記憶装置６、図７のＤＭＡ制御システム９などが内蔵されている。
【００５２】
印刷ユニット２０４は、電子写真方式を利用したのプリンタ装置であり、読取ユニット２０１で読み取られた画像データや、通信ユニット２０６が受信した通信回線や外部インタフェースからのデータを印刷する機能を有する。なお、印刷ユニット２０４は、図２のＩ／Ｏ装置４に相当するものである。
操作パネルユニット２０５は、画像処理条件の各種設定や装置の状態等を表示する表示ユニット２０２と、装置への命令を入力するための操作ユニットとを備えている。なお、表示ユニット２０２は、図２の表示装置７に相当する構成であり、操作ユニットは、図２のＩ／Ｏ装置４に相当するものである。
また、通信ユニット２０６は、ＰＣなど、他の機器が接続される箇所であり、図２のＩ／Ｏ装置４に相当するものである。なお、通信ユニット２０６は複合機２００の背面に配置されているため、図１０では隠れている。
【００５３】
なお、第１実施形態において、不正アクセス検出回路１をＤＭＡコントローラ２内部に持たせたが、主記憶装置コントローラ５や図示しないバスコントローラに搭載してもよい。
また、本実施形態における画像処理装置１００は、プリンタ（インパクトプリンタ、インクジェットプリンタ）、ファクシミリ、スキャナ、またはそれらの複合装置、ＰＣなど、ＤＭＡ機能を有する電子機器一般においても適応可能である。
【符号の説明】
【００５４】
１      不正アクセス検出回路（不正アクセス検出手段）
２      ＤＭＡコントローラ（ＤＭＡ制御装置）
３      プロセッサ
４      Ｉ／Ｏ装置
５      主記憶装置コントローラ
６      主記憶装置
７      表示装置（表示手段）
８      システムバス
９      ＤＭＡ制御システム
１１（１１ａ〜１１ｄ）  アドレス比較器
１２    転送元用ＡＮＤゲート
１３    転送先用ＡＮＤゲート
１４    ＯＲゲート
２１    ＤＭＡコントローラ制御レジスタ
２２    ＤＭＡ転送元開始アドレスレジスタ（記憶手段）
２３    ＤＭＡ転送元終了アドレスレジスタ（記憶手段）
２４    ＤＭＡ転送先開始アドレスレジスタ（記憶手段）
２５    ＤＭＡ転送先終了アドレスレジスタ（記憶手段）
２６    ＤＭＡ転送元アドレスレジスタ
２７    ＤＭＡ転送先アドレスレジスタ
２８    ＤＭＡデータバッファ
５１    ＤＭＡ読出アクセス信号
５２    ＤＭＡ書込アクセス信号
５３    ＤＭＡ起動中信号
８１    アドレスバス
８２    データバス
９１    バスアクセス状態出力回路（ＤＭＡ不正アクセス要因出力手段）
９２    不正アクセス検出用ＯＲゲート
９３    割込コントローラ
１００  画像処理装置
２００  複合機
２０１  読取ユニット
２０２  表示ユニット
２０３  制御ユニット
２０４  印刷ユニット
２０５  操作パネルユニット
２０６  通信ユニット
【図１】
2012098985.tif 000003
【図２】
2012098985.tif 000004
【図３】
2012098985.tif 000005
【図４】
2012098985.tif 000006
【図５】
2012098985.tif 000007
【図６】
2012098985.tif 000008
【図７】
2012098985.tif 000009
【図８】
2012098985.tif 000010
【図９】
2012098985.tif 000011
【図１０】
2012098985.tif 000012