(57)【要約】【課題】本発明は、画像データ等のデータをＤＭＡコントローラを連動させてデータ転送して処理するデータ処理装置及びデータ処理方法に関する。【解決手段】データ処理装置１は、半導体デバイス１０と半導体デバイス２０に分散して存在する複数のＤＭＡＣ１１ａ〜１１ｎ、２１ａ〜２１ｍのうち、入力ＤＭＡＣ１１ａの書き込んだメモリ３上のデータを読み取る編集ＤＭＡＣ２１ａが、該メモリ３上のディスクリプタの内容を読み込んで入力ＤＭＡＣ１１ａの動作の進行状況を把握して、該連動によるデータ転送を行う。したがって、膨大な端子を増設することなく、複数の半導体デバイス１０、２０に分かれて存在するＤＭＡＣ１１ａ〜１１ｎ、２１ａ〜２１ｍ同士を、安価にかつ簡単な構成で複数のＤＭＡＣ１１ａ〜１１ｎ、２１ａ〜２１ｍを連動させてデータ転送することができる。【選択図】          図１
2009025896.tif 000002
【特許請求の範囲】
【請求項１】
複数の半導体集積回路に分散して存在する複数のＤＭＡコントローラのうちデータをメモリに書き込む連動元ＤＭＡコントローラと該メモリからデータを読み取る連動相手ＤＭＡコントローラを連動させてデータ転送してデータ処理を行うデータ処理装置であって、前記連動相手ＤＭＡコントローラは、前記メモリ上のディスクリプタの内容を読み込んで、前記連動元ＤＭＡコントローラの動作の進行状況を把握し、該連動によるデータ転送を行うことを特徴とするデータ処理装置。
【請求項２】
前記連動相手ＤＭＡコントローラは、自己のディスクリプタに、一時停止コマンドがセットされると、再開指示があるまでデータ転送を一次停止させることを特徴とする請求項１記載のデータ処理装置。
【請求項３】
複数の半導体集積回路に分散して存在する複数のＤＭＡコントローラのうちデータをメモリに書き込む連動元ＤＭＡコントローラと該メモリからデータを読み取る連動相手ＤＭＡコントローラを連動させてデータ転送してデータ処理を行うデータ処理装置であって、前記メモリ上の前記連動元ＤＭＡコントローラ用のディスクリプタに、前記連動を指示する連動指示コマンド及び転送終了を示す転送終了コマンドを書き込むコマンド領域を有し、前記連動相手ＤＭＡコントローラは、該連動元ＤＭＡコントローラ用のディスクリプタの該連動指示コマンド及び該転送終了コマンドを読み込んで、該連動元ＤＭＡコントローラの動作の進行状況を把握して、該連動によるデータ転送を行うことを特徴とするデータ処理装置。
【請求項４】
前記連動相手ＤＭＡコントローラは、前記連動元ＤＭＡコントローラ用のディスクリプタに前記連動指示コマンドが設定されていると、該ディスクリプタに転送終了コマンドがセットされるまで、該連動によるデータ転送動作を一時停止することを特徴とする請求項３記載のデータ処理装置。
【請求項５】
前記連動相手ＤＭＡコントローラは、所定のタイミング毎に、前記連動元ＤＭＡコントローラ用のディスクリプタを読み込んで、前記転送終了コマンドがセットされているか確認することを特徴とする請求項４記載のデータ処理装置。
【請求項６】
前記連動相手ＤＭＡコントローラは、前記転送終了コマンドのセットの有無の確認を任意に設定されたタイミング毎に実行することを特徴とする請求項５記載のデータ処理装置。
【請求項７】
前記連動元ＤＭＡコントローラは、前記自己のディスクリプタに前記連動指示コマンドが設定されていると、該ディスクリプタに記載されている転送量のデータ転送が終了すると、該ディスクリプタに転送終了コマンドをセットすることを特徴とする請求項３から請求項６のいずれかに記載のデータ処理装置。
【請求項８】
前記連動相手ＤＭＡコントローラは、前記連動元ＤＭＡコントローラ用のディスクリプタに前記転送終了コマンドがセットされると、自動的にデータ転送を開始することを特徴とする請求項４から請求項７のいずれかに記載のデータ処理装置。
【請求項９】
前記連動相手ＤＭＡコントローラは、前記連動によるバンドデータのデータ転送が終了すると、データ転送を一時停止することを特徴とする請求項４から請求項８のいずれかに記載のデータ処理装置。
【請求項１０】
複数の半導体集積回路に分散して存在する複数のＤＭＡコントローラのうちデータをメモリに書き込む連動元ＤＭＡコントローラと該メモリからデータを読み取る連動相手ＤＭＡコントローラを連動させてデータ転送してデータ処理を行うデータ処理方法であって、前記連動相手ＤＭＡコントローラが、前記メモリ上のディスクリプタの内容を読み込んで、前記連動元ＤＭＡコントローラの動作の進行状況を把握し、該連動によるデータ転送を行うことを特徴とするデータ処理方法。
【請求項１１】
複数の半導体集積回路に分散して存在する複数のＤＭＡコントローラのうちデータをメモリに書き込む連動元ＤＭＡコントローラと該メモリからデータを読み取る連動相手ＤＭＡコントローラを連動させてデータ転送してデータ処理を行うデータ処理方法であって、前記メモリ上の前記連動元ＤＭＡコントローラ用のディスクリプタに、前記連動を指示する連動指示コマンド及び転送終了を示す転送終了コマンドを書き込むコマンド領域を有し、前記連動相手ＤＭＡコントローラが、該連動元ＤＭＡコントローラ用のディスクリプタの該連動指示コマンド及び該転送終了コマンドを読み込んで、該連動元ＤＭＡコントローラの動作の進行状況を把握して、該連動によるデータ転送を行うことを特徴とするデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置及びデータ処理方法に関し、詳細には、画像データ等のデータをＤＭＡコントローラを連動させてデータ転送して処理するデータ処理装置及びデータ処理方法に関する。
【背景技術】
【０００２】
ＤＭＡ（Direct Memory Access：ダイレクトメモリアクセス）は、ＤＭＡＣ（Direct Memory Access Controller ：ＤＭＡコントローラ）によって、メモリ上のデータを高速に転送する技術であり、一般的に、開始メモリアドレスと転送量を指定して、ＣＰＵが介在することなく、データ転送を行うが、メモリ上にデータが点在する場合には、ディスクリプタ方式を用いて、メモリ上に点在するデータを接続して連続的に転送を行う。
【０００３】
また、複数のＤＭＡＣの処理ライン数情報を比較することで、ＤＭＡＣを連動動作させて、省メモリ化を図った技術が提案されている。
【０００４】
すなわち、この従来技術は、例えば、図１２に示すように、メモリ制御部１００に２つのＤＭＡＣ１０１、１０２及び画像入出力ＤＭＡＣ１０３が接続されているとともに、図示しないが、メモリ制御部１００に、メモリが接続されている。そして、メモリ制御部１００がライン数比較部１０４を備えて、このライン数比較部１０４が、ＤＭＡＣ１０２、１０３の処理ライン数を比較することで、ＤＭＡＣ１０２とＤＭＡＣ１０３の連動動作を可能としている。
【０００５】
【特許文献１】特許第３７９７８３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来技術にあっては、複数のＤＭＡＣの処理ライン数情報を比較することで、ＤＭＡＣを連動動作させているため、複数のＤＭＡＣが、１つの半導体デバイス内部に存在する場合には、半導体デバイス内でＤＭＡＣ同士が処理ライン数を比較することで連動動作が可能であるが、複数の半導体デバイスに存在するＤＭＡＣを連動させる場合には、処理ライン数信号が膨大な数であり、半導体デバイスの端子数が増えて、コストが高くなるという問題があった。
【０００７】
例えば、図１３に示すように、メモリ制御部１１０に２つの半導体デバイス１２０と半導体デバイス１３０が接続され、さらに、メモリ１１１が接続されており、各半導体デバイス１２０、１３０が、複数のＤＭＡＣ１２１〜１２３、１３１〜１３３、アービタ１２４、１３４を備えている場合に、半導体デバイス１２０に搭載されているＤＭＡＣ１２１と半導体デバイス１３０に搭載されているＤＭＡＣ１３１とを連動させてデータ転送を行おうとすると、半導体デバイス１２０と半導体デバイス１３０のそれぞれにライン比較部（Line Ｃmp）１２５、１３５を設けるとともに、その必要な処理ライン数の端子を設けて接続する必要がある。
【０００８】
特に、今日、画像形成装置や複合装置等のおいては、多数の機能を有しており、機能の増大に伴ってＤＭＡＣの数も増大してきており、これらの多くのＤＭＡＣを１つの半導体デバイスに実装することが困難となってきている。また、コストの観点からも機能及び規模の非常に大きな半導体デバイスを１つ作成するよりも、機能を適切に分割して、複数の半導体デバイスを作成して、システムによっては、該半導体デバイスを１つだけ利用してシステム構成を行い、他のシステムでは、半導体デバイスを２つ使用してシステム構成するというアーキテクチャの方が、コスト的に有利なことが多い。このように、複数の半導体デバイスに分かれたＤＭＡＣ同士を連動させた機能を実行する場合、従来技術では、端子数が増加して、コストが高くなるという問題があった。
【０００９】
そこで、本発明は、複数の半導体デバイスに存在するＤＭＡＣ同士を安価にかつ簡単な構成で連動させてデータ処理するデータ処理装置及びデータ処理方法を提供することを目的としている。
【課題を解決するための手段】
【００１０】
請求項１記載の発明のデータ処理装置は、複数の半導体集積回路に分散して存在する複数のＤＭＡコントローラのうちデータをメモリに書き込む連動元ＤＭＡコントローラと該メモリからデータを読み取る連動相手ＤＭＡコントローラを連動させてデータ転送してデータ処理を行うデータ処理装置であって、前記連動相手ＤＭＡコントローラは、前記メモリ上のディスクリプタの内容を読み込んで、前記連動元ＤＭＡコントローラの動作の進行状況を把握し、該連動によるデータ転送を行うことにより、上記目的を達成している。
【００１１】
請求項１の場合、例えば、請求項２に記載するように、前記連動相手ＤＭＡコントローラは、自己のディスクリプタに、一時停止コマンドがセットされると、再開指示があるまでデータ転送を一次停止させてもよい。
【００１２】
請求項３記載の発明のデータ処理装置は、複数の半導体集積回路に分散して存在する複数のＤＭＡコントローラのうちデータをメモリに書き込む連動元ＤＭＡコントローラと該メモリからデータを読み取る連動相手ＤＭＡコントローラを連動させてデータ転送してデータ処理を行うデータ処理装置であって、前記連動元ＤＭＡコントローラ用の前記メモリ上のディスクリプタに、前記連動を指示する連動指示コマンド及び転送終了を示す転送終了コマンドを書き込むコマンド領域を有し、前記連動相手ＤＭＡコントローラは、該連動元ＤＭＡコントローラ用のディスクリプタの該連動指示コマンド及び該転送終了コマンドを読み込んで、該連動元ＤＭＡコントローラの動作の進行状況を把握して、該連動によるデータ転送を行うことにより、上記目的を達成している。
【００１３】
請求項３の場合、例えば、請求項４に記載するように、前記連動相手ＤＭＡコントローラは、前記連動元ＤＭＡコントローラ用のディスクリプタに前記連動指示コマンドが設定されていると、該ディスクリプタに転送終了コマンドがセットされるまで、該連動によるデータ転送動作を一時停止してもよい。
【００１４】
また、請求項４の場合、例えば、請求項５に記載するように、前記連動相手ＤＭＡコントローラは、所定のタイミング毎に、前記連動元ＤＭＡコントローラ用のディスクリプタを読み込んで、前記転送終了コマンドがセットされているか確認してもよい。
【００１５】
さらに、請求項５の場合、例えば、請求項６に記載するように、前記連動相手ＤＭＡコントローラは、前記転送終了コマンドのセットの有無の確認を任意に設定されたタイミング毎に実行してもよい。
【００１６】
また、請求項３から請求項６の場合、例えば、請求項７に記載するように、前記連動元ＤＭＡコントローラは、前記自己のディスクリプタに前記連動指示コマンドが設定されていると、該ディスクリプタに記載されている転送量のデータ転送が終了すると、該ディスクリプタに転送終了コマンドをセットしてもよい。
【００１７】
さらに、請求項４から請求項７の場合、例えば、請求項８に記載するように、前記連動相手ＤＭＡコントローラは、前記連動元ＤＭＡコントローラ用のディスクリプタに前記転送終了コマンドがセットされると、自動的にデータ転送を開始してもよい。
【００１８】
また、請求項４から請求項８の場合、例えば、請求項９に記載するように、前記連動相手ＤＭＡコントローラは、前記連動によるバンドデータのデータ転送が終了すると、データ転送を一時停止してもよい。
【００１９】
請求項１０記載の発明のデータ処理方法は、複数の半導体集積回路に分散して存在する複数のＤＭＡコントローラのうちデータをメモリに書き込む連動元ＤＭＡコントローラと該メモリからデータを読み取る連動相手ＤＭＡコントローラを連動させてデータ転送してデータ処理を行うデータ処理方法であって、前記連動相手ＤＭＡコントローラが、前記メモリ上のディスクリプタの内容を読み込んで、前記連動元ＤＭＡコントローラの動作の進行状況を把握し、該連動によるデータ転送を行うことにより、上記目的を達成している。
【００２０】
請求項１１記載の発明のデータ処理方法は、複数の半導体集積回路に分散して存在する複数のＤＭＡコントローラのうちデータをメモリに書き込む連動元ＤＭＡコントローラと該メモリからデータを読み取る連動相手ＤＭＡコントローラを連動させてデータ転送してデータ処理を行うデータ処理方法であって、前記連動元ＤＭＡコントローラ用の前記メモリ上のディスクリプタに、前記連動を指示する連動指示コマンド及び転送終了を示す転送終了コマンドを書き込むコマンド領域を有し、前記連動相手ＤＭＡコントローラが、該連動元ＤＭＡコントローラ用のディスクリプタの該連動指示コマンド及び該転送終了コマンドを読み込んで、該連動元ＤＭＡコントローラの動作の進行状況を把握して、該連動によるデータ転送を行うことにより、上記目的を達成している。
【発明の効果】
【００２１】
本発明によれば、複数の半導体集積回路に分散して存在する複数のＤＭＡコントローラのうち、連動元ＤＭＡコントローラの書き込んだメモリ上のデータを読み取る連動相手ＤＭＡコントローラが、該メモリ上のディスクリプタの内容を読み込んで連動元ＤＭＡコントローラの動作の進行状況を把握して、該連動によるデータ転送を行っているので、膨大な端子を増設することなく、複数の半導体デバイスに分かれて存在するＤＭＡコントローラ同士を、安価にかつ簡単な構成で連動させてデータ転送することができる。
【００２２】
また、本発明によれば、複数の半導体集積回路に分散して存在する複数のＤＭＡコントローラのうちデータをメモリに書き込む連動元ＤＭＡコントローラと該メモリからデータを読み取る連動相手ＤＭＡコントローラを連動させてデータ転送してデータ処理を行う場合に、メモリ上の連動元ＤＭＡコントローラ用のディスクリプタに、連動を指示する連動指示コマンド及び転送終了を示す転送終了コマンドを書き込むコマンド領域を有し、連動相手ＤＭＡコントローラが、該連動元ＤＭＡコントローラ用のディスクリプタの該連動指示コマンド及び該転送終了コマンドを読み込んで、該連動元ＤＭＡコントローラの動作の進行状況を把握して、該連動によるデータ転送を行っているので、膨大な端子を増設することなく、かつ、ソフト制御の煩雑さを削減しつつ、複数の半導体デバイスに分かれて存在するＤＭＡコントローラ同士を、安価にかつ簡単な構成で連動させてデータ転送することができ、より一層安価にかつ高速に複数のＤＭＡコントローラを連動させてデータ転送することができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【実施例１】
【００２４】
図１〜図５は、本発明のデータ処理装置及びデータ処理方法の第１実施例を示す図であり、図１は、本発明のデータ処理装置及びデータ処理方法の第１実施例を適用したデータ処理装置１の要部ブロック構成図である。
【００２５】
図１において、データ処理装置１は、画像データ（データ）に各種画像処理を施す複合装置、プリンタ等であり、ＣＰＵ／メモリ制御部２、メモリ３及び複数（図１では、２つ）の半導体デバイス（半導体集積回路）１０、２０等を備えている。
【００２６】
半導体デバイス１０は、少なくとも複数のＤＭＡＣ１１ａ〜１１ｎとアービタ１２を備えており、半導体デバイス２０は、少なくとも複数のＤＭＡＣ２１ａ〜１１ｍとアービタ２２を備え、半導体デバイス１０及び半導体デバイス２０は、図３に示すように、コマンドインターフェイス１３、２３を備えている。
【００２７】
ＣＰＵ／メモリ制御部２は、メモリ３上のディスクリプタ領域に、必要なディスクリプタのコマンドを書き込み、半導体デバイス１０、２０のＤＭＡＣ１１ａ〜１１ｎ、ＤＭＡＣ２１ａ〜２１ｍが、メモリ３上のディスクリプタを読み取ってＣＰＵ／メモリ制御部２のソフト制御によることなくデータ転送を行う。
【００２８】
メモリ３のディスクリプタは、図２に示すように、ＤＭＡＣ１１ａ〜１１ｎ、ＤＭＡＣ２１ａ〜２１ｍのアクセスするメモリ３上のスタートアドレスの設定されるスタートアドレス領域、次のディスクリプタの記載されているポインタのセットされる次ディスクリプタポインタ（ネクストディスクリプタポインタ）領域、データ転送量の設定される転送データ量領域及びその他のコマンドの設定される各種コマンド領域があり、本実施例のデータ処理装置１では、後述するように、連動させるＤＭＡＣ１１ａ〜１１ｎとＤＭＡＣ２１ａ〜２１ｍ用の各種コマンド領域に、連動を制御するコマンドであるＣＨＡＩＮビットとＰＡＵＳＥビットを設定して、異なる半導体デバイス１０、２０の任意のＤＭＡＣ１１ａ〜１１ｎとＤＭＡＣ２１ａ〜２１ｍを連動させる。ＰＡＵＳＥビットは、一時停止を指示するコマンドであり、ＣＨＡＩＮビットは、バンド転送が終了すると割り込みの発生を指示するコマンドである。
【００２９】
アービタ１２は、ＤＭＡＣ１１ａ〜１１ｎからメモリ３へのアクセスを調停するユニットであり、アービタ２２は、ＤＭＡＣ２１ａ〜２１ｍからメモリ３へのアクセスを調停するユニットである。
【００３０】
半導体デバイス１０のＤＭＡＣ１１ａ〜１１ｎと半導体デバイス２０のＤＭＡＣ２１ａ〜２１ｍは、他のＤＭＡＣ１１ａ〜１１ｎ、２１ａ〜２１ｍと連動してメモリ３への読み出しと書き込みを行って、半導体デバイス１０、２０によって、画像データに対して各種画像処理を行う。そして、図１では、半導体デバイス１０のＤＭＡＣ１１ａが、画像データの入力を行う入力ＤＭＡＣとして動作し、半導体デバイス２０のＤＭＡＣ２１ａが、画像データの編集に用いられる編集ＤＭＡＣとして動作し、また、半導体２０のＤＭＡＣ２２ｍが、画像データの外部への出力に用いられる出力ＤＭＡＣとして動作する。
【００３１】
上記ＤＭＡＣ１１ａ〜１１ｎ、ＤＭＡＣ２１ａ〜２１ｍは、図３に示すように構成されており、データ処理部３０、コマンド制御部３１、メモリアクセス部３２及びディスクリプタ制御部３３を備えている。
【００３２】
コマンド制御部３１は、コマンドインターフェイス１３、２３を介してＣＰＵ／メモリ制御部２から動作指示上がると、該動作指示をディスクリプタ制御部３３に渡し、ディスクリプタ制御部３３は、コマンド制御部３１からの動作指示を受け取ると、アービタ１２、２２を介してメモリ３のディスクリプタを読み取る読取動作を開始してメモリアクセス部３２に読取結果を渡す。メモリアクセス部３２は、ディスクリプタ制御部３３のディスクリプタの読取結果に基づいてメモリアドレスを生成しながらメモリ３との間でデータ転送を行う。コマンド制御部３１は、ＣＰＵ／メモリ制御部２等からコマンドを受け取ってディスクリプタ制御部３３へ指示を行ったり、メモリアクセス部３２からのステータスを反映させる。データ処理部３０は、データの処理を行う。
【００３３】
次に、本実施例の作用を説明する。本実施例のデータ処理装置１は、異なる半導体デバイス１０と半導体デバイス２０のＤＭＡＣ１１ａ〜１１ｎとＤＭＡＣ２１ａ〜２１ｍをディスクリプタを利用して連動させてデータ処理を行う。
【００３４】
すなわち、データ処理装置１は、いま、図１に破線矢印で示すように、外部からの画像データを、半導体デバイス１０の入力ＤＭＡＣ１１ａと半導体デバイス２０の編集ＤＭＡＣ２１ａを連動させて、例えば、図１に「あ」の画像について示すような画像処理を施して、メモリ３に格納する場合について説明する。この場合、ＣＰＵ／メモリ制御部２は、図２（ａ）に示したように、メモリ３の入力ＤＭＡＣ１１ａのディスクリプタの各種コマンド領域には、バンド転送が終了すると割り込みの発生を指示するコマンドであるＣＨＡＩＮビットをセットし、編集ＤＭＡＣ２１ａのディスクリプタの各種コマンド領域には、一時停止を指示するコマンドであるＰＡＵＳＥビットをセットする。
【００３５】
そして、データ処理装置１は、図４に示すように、コマンド制御部３１が、ＤＭＡ動作コマンドをコマンドインターフェイス１３、２３を介してＣＰＵ／メモリ制御部２から受け取ると、ディスクリプタ制御部３３に、「Ａ：起動指示」（図３参照）を出力する（ステップＳ１０１）。ディスクリプタ制御部３３は、「Ａ：起動指示」を受け取ると、メモリ３へディスクリプタ情報を読みに行ってディスクリプタを取得すると（ステップＳ１０２）、メモリアクセス部３２に、「Ｂ：バンド転送開始指示」（図３参照）を出す。この「Ｂ：バンド転送開始指示」には、転送開始アドレス、１次元転送であるのか、２次元転送であるのかの転送種類、１次元転送の場合には、転送サイズ、２次元転送の場合には、転送幅と転送ライン数が含まれている。メモリアクセス部３２は、「Ｂ：バンド転送開始指示」を受信すると、該「Ｂ：バンド転送開始指示」に基づいたデータ転送を行い、転送が終了すると、ディスクリプタ制御部３３及びコマンド制御部３１に、「Ｃ：バンド転送終了通知」（図３参照）を出力する（ステップＳ１０３）。
【００３６】
ディスクリプタ制御部３３は、「Ｃ：バンド転送終了通知」を受信すると、最終バンドの転送であったか否かを判断し（ステップＳ１０４）、最終バンドの転送でなかった場合には、一時停止を行うＰＡＵＳＥ動作であったかを判断、すなわち、編集ＤＭＡＣ２１ａのディスクリプタの各種コマンド欄にＰＡＵＳＥビットがセットされているかによってチェックする（ステップＳ１０５）。ステップＳ１０５で、ＰＡＵＳＥ動作でないときには、ディスクリプタ制御部３３は、ステップＳ１０２に戻って、次のディスクリプタの取得から上記同様に処理する（ステップＳ１０２〜Ｓ１０５）。
【００３７】
ステップＳ１０５で、ＰＡＵＳＥ動作であった場合には、ディスクリプタ制御部３３は、再開を示すＣＯＮＴＩＮＵＥ指示がコマンド制御部３１からくるのを待ち（ステップＳ１０６）、ＣＯＮＴＩＮＵＥ指示がくると、ステップＳ１０２に戻って、次のディスクリプタの取得から上記同様に処理する（ステップＳ１０２〜Ｓ１０６）。
【００３８】
ステップＳ１０４で、最終バンドの転送であった場合には、ディスクリプタ制御部３３は、ＤＭＡ動作を終了して処理を終了する（ステップＳ１０７）。
【００３９】
上記メモリアクセス部３２からコマンド制御部３１へ「Ｃ：バンド転送終了通知」を出力するのは、図５に示すように、バンド転送が完了したことをソフトウェアへ通知するためであり、ソフトウェアは、コマンド制御部３１に実装されたレジスタを読んでバンド転送の完了を知ることができる。また、図５に示すように、コマンド制御部３１から割り込みを出力することによってソフトウェアに通知することもできる。
【００４０】
すなわち、上記入力ＤＭＡＣ１１ａと編集ＤＭＡＣ２１ａを連動させる場合のタイミングチャート及びソフトウェアとのインターフェースは、図５のように示され、入力ＤＭＡＣ１１ａは、メモリ３に対して、ライト動作のみを行うので、図２（ａ）に示したように、ライトＤＭＡＣに関するディスクリプタが用意され、ソフトウェアは、ディスクリプタを用意すると、入力ＤＭＡＣ１１ａに対して起動をかける。入力ＤＭＡＣ１１ａは、Ａというバンドの転送が完了すると、割込みをソフトウェアに発行し、ソフトウェアは、割込みを検知すると、編集ＤＭＡＣ２１ａを起動する。この場合、編集ＤＭＡＣ２１ａのディスクリプタは、図２に示したように、リード用（図２（ｂ））とライト用（図２（ｃ））の２種類を用意する必要がある。
【００４１】
そして、入力ＤＭＡＣ１１ａの転送速度は、入力元のデータ転送速度に依存するため、内部でのみ処理を行う編集器ＤＭＡＣ２１ａよりは速度が低い。
【００４２】
そこで、編集ＤＭＡＣ２１ａの動作を適切に制御しないと、編集ＤＭＡＣ２１ａが入力ＤＭＡＣ１１ａの処理を追い越してしまうおそれがあるので、この問題を回避するために、編集ＤＭＡＣ２１ａのディスクリプタにＰＡＵＳＥビットを設定する。編集ＤＭＡＣ２１ａは、このＰＡＵＳＥビットを利用して、バンド転送が終了すると、データ転送を一時停止させて、後から起動をかけた編集ＤＭＡＣ２１ａが入力ＤＭＡＣ１１ａを追い越すことを回避し、ソフトウェアは、２バンド目以降も、同様に、割込みを検知すると、編集ＤＭＡＣ２１ａを起動する動作を繰り返す。
【００４３】
このように、本実施例のデータ処理装置１は、半導体デバイス１０と半導体デバイス２０に分散して存在する複数のＤＭＡＣ１１ａ〜１１ｎ、２１ａ〜２１ｍのうち、連動元ＤＭＡＣである入力ＤＭＡＣ１１ａの書き込んだメモリ３上のデータを読み取る連動相手ＤＭＡＣである編集ＤＭＡＣ２１ａが、該メモリ３上のディスクリプタの内容を読み込んで入力ＤＭＡＣ１１ａの動作の進行状況を把握して、該連動によるデータ転送を行っている。
【００４４】
したがって、膨大な端子を増設することなく、複数の半導体デバイス１０、２０に分かれて存在するＤＭＡＣ１１ａ〜１１ｎ、２１ａ〜２１ｍ同士を、安価にかつ簡単な構成で複数のＤＭＡＣ１１ａ〜１１ｎ、２１ａ〜２１ｍを連動させてデータ転送することができる。
【００４５】
また、本実施例のデータ処理装置１は、編集ＤＭＡＣ２１ａが、自己のディスクリプタに、一時停止コマンドがセットされると、再開指示があるまでデータ転送を一次停止させている。
【００４６】
したがって、編集ＤＭＡＣ２１ａが入力ＤＭＡＣ１１ａによるデータ転送を追い越すことを適切に防止することができ、連動による適切なデータ転送を行うことができる。
【実施例２】
【００４７】
図６〜図１１は、本発明のデータ処理装置及びデータ処理方法の第２実施例を示す図であり、図６は、本発明のデータ処理装置及びデータ処理方法の第２実施例を適用したデータ処理装置のＤＭＡＣの要部ブロック構成図である。
【００４８】
なお、本実施例は、上記第１実施例と同様のデータ処理装置１に適用したものであり、本実施例の説明においては、必要に応じて、第１実施例で用いた符号をそのまま用いて説明する。
【００４９】
図６において、ＤＭＡＣ１１ａ〜１１ｎ、２１ａ〜２１ｍは、第１実施例の場合と同様に、データ処理部３０、コマンド制御部３１、メモリアクセス部３２、ディスクリプタ制御部３３を備えているとともに、バスセレクタ５０を備えている。
【００５０】
ディスクリプタ制御部３３は、アービタ１２を介してメモリ３のディスクリプタへ情報を書く（送信する）ためのバスを備えていてこの書込用のバスがバスセレクタ５０に接続されており、このバスセレクタ５０には、メモリアクセス部３２のバスも接続されている。バスセレクタ５０は、ディスクリプタ制御部３３からのセレクト条件、セレクトタイミングを決定する「Ｄ：ライトバック指示」によってディスクリプタ制御部３３からのバスとメモリアクセスバス部４２からのバスの一方を選択してアービタ１２に接続する。
【００５１】
本実施例のＤＭＡＣ１１ａ〜１１ｎ、２１ａ〜２１ｍは、メモリアクセス部３２からディスクリプタ制御部３３に「Ｅ：転送済みデータ数」が出力され、この転送済データ数は、データ処理部３０でデータを可変長圧縮する場合などに、バンド単位で符号数がいくつになったかをディスクリプタへ書く場合に使用され、可変長圧縮しない場合は、この転送済データ集の情報は利用しない。また、本実施例のＤＭＡＣ１１ａ〜１１ｎ、２１ａ〜２１ｍは、後述するディスクリプタポーリング間隔を、コマンド制御部３１からディスクリプタ制御部３３に出力する「Ｆ:ディスクリプタ監視間隔」で設定し、このディスクリプタポーリング間隔は、任意の間隔が設定可能である。
【００５２】
そして、本実施例のデータ処理装置１では、メモリ３のディスクリプタには、連動するＤＭＡＣ１１ａ〜１１ｎ、２１ａ〜２１ｍ、例えば、半導体デバイス１０の入力ＤＭＡＣ１１ａと半導体デバイス２０の編集ＤＭＡＣ２１ａを連動させる場合、図７（ａ）に示すように、入力ＤＭＡＣ１１ａのディスクリプタである入力用ディスクリプタを、編集ＤＭＡＣ２１ａの編集用リードディスクリプタとしても用いて、入力ＤＭＡＣ１１ａと編集ＤＭＡＣ２１ａで共用させ、編集ＤＭＡＣ２１ａの編集用ライトディスクリプタ（図７（ｂ）参照）は、別に設ける。そして、共用ディスクリプタの各種コマンドに、図７（ａ）にしめすように、一時停止を指示するコマンドであるＰＡＵＳＥビット、バンド転送が終了すると割り込みの発生を指示するコマンドであるＣＨＡＩＮビットを設けるとともに、連動動作を指示するＳＹＮＣビット（連動指示コマンド）及びディスクリプタに情報が書き戻されたことを示すＷＢビット（転送終了コマンド）を設ける。
【００５３】
次に、本実施例の作用を説明する。本実施例のデータ処理装置１は、異なる半導体デバイス１０と半導体デバイス２０のＤＭＡＣ１１ａ〜１１ｎとＤＭＡＣ２１ａ〜２１ｍをディスクリプタを利用するだけでなく、同じディスクリプタを共用して連動させてデータ処理を行う。
【００５４】
すなわち、データ処理装置１は、いま、図１に破線矢印で示したように、外部からの画像データを、半導体デバイス１０の入力ＤＭＡＣ（連動元ＤＭＡＣ）１１ａと半導体デバイス２０の編集ＤＭＡＣ（連動相手ＤＭＡＣ）２１ａを連動させて、例えば、図１に「あ」の画像について示したような画像処理を施して、メモリ３に格納する場合について説明する。この場合、ＣＰＵ／メモリ制御部２は、図７（ａ）に示したように、メモリ３の入力ＤＭＡＣ１１ａのディスクリプタと編集ＤＭＡＣ２１ａの編集用リードディスクリプタを共用とするとともに、その各種コマンド領域には、一時停止を指示するコマンドであるＰＡＵＳＥビット、バンド転送が終了すると割り込みの発生を指示するコマンドであるＣＨＡＩＮビットを設けるとともに、連動動作を指示するＳＹＮＣビット及びディスクリプタに情報が書き戻されたことを示すＷＢビットを追加する。
【００５５】
そして、データ処理装置１は、図８に示すように、コマンド制御部３１が、ＤＭＡ動作コマンドをコマンドインターフェイス１３、２３を介してＣＰＵ／メモリ制御部２から受け取ると、ディスクリプタ制御部３３に、「Ａ：起動指示」（図６参照）を出力する（ステップＳ２０１）。ディスクリプタ制御部３３は、「Ａ：起動指示」を受け取ると、メモリ３へディスクリプタ情報を読みに行ってディスクリプタを取得すると（ステップＳ２０２）、メモリアクセス部３２に、「Ｂ：バンド転送開始指示」（図６参照）を出す。この「Ｂ：バンド転送開始指示」には、転送開始アドレス、１次元転送であるのか、２次元転送であるのかの転送種類、１次元転送の場合には、転送サイズ、２次元転送の場合には、転送幅と転送ライン数が含まれている。メモリアクセス部３２は、は「Ｂ：バンド転送開始指示」を受信すると、「Ｂ：バンド転送開始指示」に基づいたデータ転送を行い、転送が終了すると、ディスクリプタ制御部３３及びコマンド制御部３１に、「Ｃ：バンド転送終了通知」（図６参照）を出力する（ステップＳ２０３）。
【００５６】
ディスクリプタ制御部３３は、「Ｃ：バンド転送終了通知」を受信すると、最終バンドの転送であったか否かを判断し（ステップＳ２０４）、最終バンドの転送でなかった場合には、ディスクリプタに情報を書き込むライトバック動作を行うか否かのライトバック指示があったかをチェックする（ステップＳ２０６）。ライトバック指示があると、バスセレクタ５０に「Ｄ：ライトバック指示」をバスセレクタ５０に出して、ライトバック動作を実行し（ステップＳ２０７）、一時停止を行うＰＡＵＳＥ動作であったかを判断、すなわち、編集ＤＭＡＣ２１ａのディスクリプタの各種コマンド欄にＰＡＵＳＥビットがセットされていたかによってチェックする（ステップＳ２０８）。ディスクリプタ制御部３３は、ステップＳ２０６で、ライトバック指示がないときには、ライトバック動作を行うことなく、一時停止を行うＰＡＵＳＥ動作であったかを判断する（ステップＳ２０８）。
【００５７】
ステップＳ２０８で、ＰＡＵＳＥ動作でないときには、ディスクリプタ制御部３３は、ステップＳ２０２に戻って、次のディスクリプタの取得から上記同様に処理する（ステップＳ２０２〜Ｓ２０８）。
【００５８】
ステップＳ２０８で、ＰＡＵＳＥ動作であった場合には、ディスクリプタ制御部３３は、再開を示すＣＯＮＴＩＮＵＥ指示がコマンド制御部３１からくるのを待ち（ステップＳ２０９）、ＣＯＮＴＩＮＵＥ指示がくると、ステップＳ２０２に戻って、次のディスクリプタの取得から上記同様に処理する（ステップＳ２０２〜Ｓ２０９）。
【００５９】
ステップＳ２０４で、最終バンドの転送であった場合には、ディスクリプタ制御部３３は、ライトバック指示があったかをチェックし（ステップＳ２１０）、ライトバック指示があると、バスセレクタ５０に「Ｄ：ライトバック指示」をバスセレクタ５０に出して、ライトバック動作を実行して（ステップＳ２１１）、ＤＭＡ動作を終了して、処理を終了する（ステップＳ２１２）。ステップＳ２１０で、ライトバック指示がないときには、ディスクリプタ制御部３３は、ライトバック動作を行うことなく、ＤＭＡ動作を終了して、処理を終了する（ステップＳ２１２）。
【００６０】
そして、データ処理装置１は、図９に示すように、ＤＭＡＣ１１ａ〜１１ｎ、２１ａ〜２１ｍを連動動作させて処理を行うか否かを選択する。
【００６１】
すなわち、ソフトウェアは、画像転送の開始を要求されると、まず、自動カラー判定モードであるかチェックし（ステップＳ３０１）、自動カラー判定モードであると、ＤＭＡＣ１１ａ〜１１ｎ、２１ａ〜２１ｍを連動させない非連動として処理を行う（ステップＳ３０２）。すなわち、自動カラー判定モードは、カラー原稿であるか白黒原稿であるかを指定しないモードであり、自動カラー判定モードでは、原稿を最後まで読み取らないとカラーであるのか白黒であるのかが判定できないのに対して、画像を入力した後に行う編集や色変換がカラー、白黒に依存したような内容の場合には、原稿を最後まで読み取らないと次の処理ができないため、連動動作の対象外とする。
【００６２】
次に、ソフトウェアは、ステップＳ３０１で、自動カラー判定モードでないときには、１８０度回転が必要かチェックし（ステップＳ３０３）、回転が必要なときには、連動させないで、処理を終了し、また、１８０度回転が必要でないときには、ＤＭＡＣ１１ａ〜１１ｎ、２１ａ〜２１ｍを連動させる連動処理を行う（ステップＳ３０４）。すなわち、画像を１８０度回転する場合には、原稿を最後まで読み取る必要があるため、連動動作の対象外とする。ただし、図１に示した画像のように、１ページを複数個のバンドに分割して処理を行う場合には、バンド単位で１８０度回転を行うことができるため、この場合は、連動動作の対象となる。
【００６３】
そして、データ処理装置１は、入力ＤＭＡＣ１１ａと編集ＤＭＡＣ２１ａを連動させた上記データ処理を、図１０に示すように行う。まず、ソフトウェアは、入力ＤＭＡＣ用のディスクリプタ及び編集ＤＭＡＣ２１ａのライト用のディスクリプタを、図７に示したように用意する。すなわち、編集ＤＭＡＣ２１ａのリード用のディスクリプタは用意せずに、入力ＤＭＡＣ１１ａ用のディスクリプタを共用する。入力ＤＭＡＣ１１ａ用のディスクリプタには、連動動作を指示するためのＳＹＮＣビットを設定し、ＷＢビットは「０」を初期設定する。
【００６４】
次に、ソフトウェアは、入力ＤＭＡＣ１１ａと編集ＤＭＡＣ２１ａの双方を同時に起動し、入力ＤＭＡＣ１１ａ及び編集ＤＭＡＣ２１ａのリード側は、入力ＤＭＡＣ１１ａ用のディスクリプタを読み込む。入力ＤＭＡＣ１１ａは、ディスクリプタを読み込むと、いま、ＳＹＮＣビットが設定されているため、自分自身に対して連動動作をする他のＤＭＡＣ２１ａ〜２１ｍが存在することを検知する。
【００６５】
編集ＤＭＡＣ２１ａは、ディスクリプタを読み込むと、ＳＹＮＣビットが設定されているため、連動動作をする必要があることを検知する。
【００６６】
入力ＤＭＡＣ１１ａは、「Ａ」のバンドのデータをメモリ３に書き込み、バンドの転送が終了すると、入力ＤＭＡＣ１１ａ用のディスクリプタのＷＢビットに「１」を設定する。編集ＤＭＡＣ２１ａは、入力ＤＭＡＣ１１ａ用のディスクリプタのＷＢビットに「１」が設定されているか否かを、入力ＤＭＡＣ１１ａが［Ａ」のバンド転送を行っている間、ハードウェアで監視を行う。
【００６７】
入力ＤＭＡＣ１１ａ用のディスクリプタのＷＢビットに「１」が設定されているのを検知すると、編集ＤＭＡＣ２３ａは、ライト用のディスクリプタ（図７（ｂ）参照）を読み出し、「Ａ」のバンドに対する編集動作を自動的に開始する。編集ＤＭＡＣ２３ａは、予め連動動作を行うことをディスクリプタのＳＹＮＣビットで知っているため、「Ａ」のバンド転送が終了すると、一旦停止し、入力ＤＭＡＣ２３ａの「Ｂ」のバンドのディスクリプタを監視する。編集ＤＭＡＣ２３ａは、入力ＤＭＡＣ１１ａの「Ｂ」のバンドのディスクリプタのＷＢが「１」になると、「Ｂ」のバンド転送を開始する。
【００６８】
データ処理装置１は、上記処理を繰り返し行い、入力ＤＭＡＣ１１ａのディスクリプタの次ディスクリプタポインタに特殊な数値、例えば、「ＡＬＬ０」や「ＡＬＬ１」等の数値が書き込まれると、転送の終了であると判断する。入力ＤＭＡＣ１１ａは、この転送終了を示す数値を検知すると、そのバンドの転送が終了することを知ることができ、そのバンドの転送終了後、はじめて割込みをソフトウェアに発生する。
【００６９】
編集ＤＭＡＣ２１ａも同様であって、編集ＤＭＡＣ２１ａは、次ディスクリプタポイント（ネクストディスクリプタポインタ）に該転送終了を示す特殊な数値が書かれ、かつ、ＷＢビットが「１」になると、最終バンドの転送を行う。そして、その転送が終了すると、ソフトウェアに完了割込みを発生する。
【００７０】
そして、上記編集ＤＭＡＣ２１ａのディスクリプタ制御部３３は、入力ＤＭＡＣ１１ａと編集ＤＭＡＣ２１ａで共用しているディスクリプタのＷＢビットが「１」になることを、図１１に示すようなタイミングで監視する。ＷＢビットが「１」になることを監視するタイミングは、図１１に示すようなディスクリプタポーリング間隔毎である。このディスクリプタポーリング間隔は、図６のコマンド制御部３１からディスクリプタ制御部３３へ出力される「Ｆ：ディスクリプタ監視間隔」で設定することにより、任意の間隔を設定可能である。間隔を短く設定すると、連動対象ＤＭＡＣである入力ＤＭＡＣ１１ａのバンド転送終了と連動するＤＭＡＣである編集ＤＭＡＣ２１ａの開始タイミングの時間差を短くすることができるが、その反面、ディスクリプタポーリングのためのアクセス回数が多くなるため、メモリ３の帯域を占有することになり、メモリ３のパフォーマンスが低下する。逆に、ディスクリプタポーリング間隔を長く設定すると、連動対象ＤＭＡＣである入力ＤＭＡＣ１１ａのバンド転送終了と連動するＤＭＡＣである編集ＤＭＡＣ２１ａの開始タイミングの時間差が大きくなってしまうので、処理目的等に応じて好適なディスクリプタポーリング間隔が設定される。
【００７１】
このように、本実施例のデータ処理装置１は、複数の半導体集積回路に分散して存在する複数のＤＭＡＣ１１ａ〜１１ｎ、２１ａ〜２１ｍのうちデータをメモリ３に書き込む入力ＤＭＡＣ１１ａとメモリ３からデータを読み取る編集ＤＭＡＣ２１ａを連動させてデータ転送してデータ処理を行う場合に、メモリ３上の入力ＤＭＡＣ１１ａ用のディスクリプタに、連動動作を指示するＳＹＮＣビット（連動指示コマンド）及び転送終了を示すＷＢコマンド（転送終了コマンド）を書き込むコマンド領域を有し、編集ＤＭＡＣ２１ａが、入力ＤＭＡＣ１１ａ用のディスクリプタのＳＹＮＣコマンド及びＷＢコマンドを読み込んで、該入力ＤＭＡＣ１１ａの動作の進行状況を把握して、該連動によるデータ転送を行っている。
【００７２】
したがって、膨大な端子を増設することなく、ディスクリプタを用意する数とソフト制御の煩雑さを削減しつつ、複数の半導体デバイス１０、２０に分かれて存在するＤＭＡＣ１１ａ〜１１ｎ、２１ａ〜２１ｍ同士を、安価にかつ簡単な構成で複数のＤＭＡＣ１１ａ〜１１ｎ、２１ａ〜２１ｍを連動させてデータ転送することができ、より一層安価にかつ高速に複数のＤＭＡＣ１１ａ〜１１ｎ、２１ａ〜２１ｍを連動させてデータ転送することができるとともに、メモリ３の有効利用を図ることができる。すなわち、上記第１実施例の場合、端子数が増えず、内部構成も変化がないため、半導体デバイス１０、２０のコストアップはないが、ソフトウェアがバンド転送終了のたびに、割込み処理の実行、ＤＭＡＣ２１ａ〜２１ｍ（上記例では、編集ＤＭＡＣ２１ａ）の再起動を実行する必要がある。ところが、本実施例のデータ処理装置１は、ソフトウェアの介在を大きく削減することができ、ＤＭＡＣ１１ａ〜１１ｎ、ＤＭＡＣ２１ａ〜２１ｍの連動によるデータ転送を、安価にかつより一層高速に行うことができる。
【００７３】
また、本実施例のデータ処理装置１は、編集ＤＭＡＣ２１ａが、入力ＤＭＡＣ１１ａ用のディスクリプタにＳＹＮＣコマンドが設定されていると、該ディスクリプタに転送終了コマンドがセットされるまで、連動によるデータ転送動作を一時停止している。
【００７４】
したがって、データが書き込まれていない領域にアクセスしてしまうことを防ぐことができ、ＤＭＡＣ１１ａ〜１１ｎ、２１ａ〜２１ｍの連動動作によるデータ転送を適切に行うことができる。
【００７５】
さらに、本実施例のデータ処理装置１は、編集ＤＭＡＣ２１ａが、所定のタイミング毎に、入力ＤＭＡＣ１１ａ用のディスクリプタを読み込んで、ＷＢコマンドがセットされているか確認している。
【００７６】
したがって、メモリ３の帯域を占有しない程度の間隔を適宜設定することができ、メモリ３の帯域を抑制することなくデータ転送することができる。
【００７７】
また、本実施例のデータ処理装置１は、編集ＤＭＡＣ２１ａが、ＷＢコマンドのセットの有無の確認を任意に設定されたタイミング毎に実行している。
【００７８】
したがって、編集ＤＭＡＣ２１ａの起動タイミングを、ソフトウェアの介在なしで適切に知ることができ、ソフト制御の煩雑さを軽減することができる。
【００７９】
さらに、本実施例のデータ処理装置１は、入力ＤＭＡＣ１１ａが、自己のディスクリプタに連動指示コマンドが設定されていると、該ディスクリプタに記載されている転送量のデータ転送が終了すると、該ディスクリプタにＷＢコマンドをセットする。
【００８０】
したがって、編集ＤＭＡＣ２１ａの起動タイミングを、ソフトウェアの介在なしで適切に知ることができ、ソフト制御の煩雑さを軽減することができる。
【００８１】
また、本実施例のデータ処理装置１は、編集ＤＭＡＣ２１ａが、入力ＤＭＡＣ１１ａ用のディスクリプタにＷＢコマンドがセットされると、自動的にデータ転送を開始している。
【００８２】
したがって、編集ＤＭＡＣ２１ａの起動タイミングを、ソフトウェアの介在なしで適切に知ることができ、ソフト制御の煩雑さを軽減することができる。
【００８３】
さらに、本実施例のデータ処理装置１は、編集ＤＭＡＣ２１ａが、連動によるバンドデータのデータ転送が終了すると、データ転送を一時停止している。
【００８４】
したがって、一旦停止した動作を自動で再開することができ、連動動作をミスの発生を防止しつつ適切に実行することができる。
【００８５】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００８６】
本発明は、複合装置、プリンタ、スキャナ等のＤＭＡＣを利用して高速にデータ処理するデータ処理装置及びデータ処理方法に利用することができる。
【図面の簡単な説明】
【００８７】
【図１】本発明の第１実施例を適用したデータ処理装置の要部ブロック構成図。
【図２】図１のメモリ上のディスクリプタで、入力用ディスクリプタ（図２（ａ））、編集用リードディスクリプタ（図２（ｂ））及び編集用ライトディスクリプタを示す図。
【図３】図１のＤＭＡＣの詳細なブロック構成図。
【図４】図１のデータ処理装置による連動によるデータ転送制御処理を示すフローチャート。
【図５】図５によるデータ転送制御処理の動作タイミングを示す図。
【図６】本発明の第２実施例を適用したデータ処理装置のＤＭＡＣのブロック構成図。
【図７】メモリ上の編集用リードディスクリプタと共用される入力用ディスクリプタ（図７（ａ））と編集用ライトディスクリプタを示す図。
【図８】本発明の第２実施例を適用したデータ処理装置によるデータ転送制御処理を示すフローチャート。
【図９】本発明の第２実施例を適用したデータ処理装置によるＤＭＡＣの連動選択処理を示すフローチャート。
【図１０】図８によるデータ転送制御処理の動作タイミングを示す図。
【図１１】図１０のディスクリプタポーリング間隔の説明図。
【図１２】従来のＤＭＡＣの連動動作を行う半導体デバイスの一例を示す図。
【図１３】従来の２つの半導体デバイスのＤＭＡＣを連動動作させる場合の一例を示す図。
【符号の説明】
【００８８】
１  データ処理装置
２  ＣＰＵ／メモリ制御部
３  メモリ
１０、２０  半導体デバイス
１１ａ〜１１ｎ  ＤＭＡＣ
１２  アービタ
２０  半導体デバイス
２１ａ〜１１ｍ  ＤＭＡＣ
２２  アービタ
１３、２３  コマンドインターフェイス
３０  データ処理部
３１  コマンド制御部
３２  メモリアクセス部
３３  ディスクリプタ制御部
２    入力書面
３    １次元イメージセンサ
４    ワイドレンズ
５    照明ランプ
【図１】
2009025896.tif 000003
【図２】
2009025896.tif 000004
【図３】
2009025896.tif 000005
【図４】
2009025896.tif 000006
【図５】
2009025896.tif 000007
【図６】
2009025896.tif 000008
【図７】
2009025896.tif 000009
【図８】
2009025896.tif 000010
【図９】
2009025896.tif 000011
【図１０】
2009025896.tif 000012
【図１１】
2009025896.tif 000013
【図１２】
2009025896.tif 000014
【図１３】
2009025896.tif 000015