(57)【要約】 【課題】  主制御部の処理負荷を軽減することができ、主制御部のパフォーマンスの低下を防ぐことができるデータ処理装置を提供する。【解決手段】  複数のＤＭＡ回路２４は、メモリ２３へのデータの書き込みおよびメモリからのデータの読み出しの少なくとも一方を行う。各ＤＭＡ回路２４に対して、セレクタ回路２５がそれぞれ設けられる。各セレクタ回路２５は、各ＤＭＡ回路２４をそれぞれ起動させる起動指令を出力する。各ＤＭＡ回路２４は、各セレクタ回路２５からの起動指令に応答して起動する。ＣＰＵ２２は、メモリ２３へのデータの書き込みおよびメモリからのデータの読み出しの開始指令を出力する。各ＤＭＡ回路２４は、前記書き込みおよび読み出しの少なくとも一方が終了すると、終了通知を出力する。各セレクタ回路２５は、ＣＰＵ２２からの開始指令または各ＤＭＡ回路２４からの終了通知に応答して起動指令を出力する。【選択図】      図１
2006172107.tif 000002
【特許請求の範囲】
【請求項１】
データの書き込みおよびデータの読み出しが可能なメモリと、
メモリへのデータの書き込みおよびメモリからのデータの読み出しの開始指令を出力する主制御部と、
メモリへのデータの書き込みおよびメモリからのデータの読み出しの少なくとも一方を行い、メモリへのデータの書き込みおよびメモリからのデータの読み出しの少なくとも一方が終了すると、終了通知を出力する複数のメモリ処理部と、
各メモリ処理部をそれぞれ起動させる起動指令を出力する複数の起動指令部とを含み、
各起動指令部は、主制御部からの開始指令または各メモリ処理部からの終了通知に応答して起動指令を出力し、
各メモリ処理部は、各起動指令部からの起動指令に応答して起動することを特徴とするデータ処理装置。
【請求項２】
主制御部は、主制御部からの開始指令および各メモリ処理部からの終了通知のいずれを選択するかを示す選択指令を出力し、
各起動指令部は、主制御部からの選択指令によって指定される主制御部からの開始指令および各メモリ処理部からの終了通知のいずれか１つに応答して起動指令を出力することを特徴とする請求項１記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ダイレクトメモリアクセス（略称ＤＭＡ）方式によってデータを転送することができるデータ処理装置に関する。
【背景技術】
【０００２】
複写装置、スキャナ装置、プリンタ装置およびファクシミリ装置などの機能を１つにまとめた複合装置などに搭載され、イメージデータを処理するデータ処理装置では、近年、カラー化の対応が行われている。このようなデータ処理装置では、データ処理の高速化が要求されている。データ処理装置では、ダイレクトメモリアクセス（Direct Memory
Access、略称ＤＭＡ）方式によってデータを転送することによって、データ処理の高速化が図られている。
【０００３】
第１の従来技術は、特許文献１に開示される。この従来技術の装置は、主制御部である中央演算処理装置（Central Processing Unit、略称ＣＰＵ）と、プログラム可能なＤＭＡ制御装置とを含む。ＣＰＵは、必要なＤＭＡ転送プログラムとパラメータとを、ＤＭＡ制御装置にダウンロードする。メモリ処理部であるＤＭＡ制御装置は、ＤＭＡ転送プログラムを実行して、データ転送を行う。ＤＭＡ制御装置は、データ転送を完了すると、割り込みをＣＰＵに送る。
【０００４】
図６は、第２の従来技術のデータ処理装置１の構成を示すブロック図である。図７は、ＣＰＵ２のＤＭＡ関連動作を説明するためのフローチャートである。この従来技術のデータ処理装置１は、メモリ３と、主制御部であるＣＰＵ２と、３つの内部ブロック４とを含む。各内部ブロック４は、レジスタ５と、メモリ処理部であるＤＭＡ回路６とを含む。
【０００５】
レジスタ５には、ＣＰＵ２からの設定条件が与えられる。ＤＭＡ回路６は、レジスタ５に記憶されている設定条件に基づいて、メモリ３へのデータの書き込みおよびメモリ３からのデータの読み出しの少なくとも一方を行う。ＤＭＡ回路６は、ＣＰＵ２からの起動指令に応答して起動する。ＤＭＡ回路６は、メモリ３へのデータの書き込みおよびメモリ３からのデータの読み出しの少なくとも一方が終了すると、割り込み要求をＣＰＵ２に与える。
【０００６】
このようなデータ処理装置１では、各ＤＭＡ回路６によるメモリ３へのデータの書き込みおよびメモリ３からのデータの読み出しの少なくとも一方が終了する毎に、各ＤＭＡ回路６からＣＰＵ２に割り込み要求が与えられる。ＣＰＵ２は、割り込み要求を与えられると、次に起動されるべきＤＭＡ回路６のレジスタ設定を行い、そのＤＭＡ回路６に起動指令を与える。これによって各ＤＭＡ回路６が順次、起動される。
【０００７】
【特許文献１】特表２００１−５０２０８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
前記第１の従来技術では、異なるデータ転送を順次、行うにあたって、ＤＭＡ制御装置は、データ転送が完了する毎に、割り込みをＣＰＵに送り、ＣＰＵは、割り込みを与えられる毎に、必要なＤＭＡ転送プログラムとパラメータとをＤＭＡ制御装置にダウンロードする必要がある。したがってＣＰＵの処理負荷が発生し、ＣＰＵのパフォーマンスが低下してしまうという問題がある。
【０００９】
前記第２の従来技術では、各ＤＭＡ回路６を順次、起動するにあたって、各ＤＭＡ回路６は、メモリ３へのデータの書き込みおよびメモリ３からのデータの読み出しの少なくとも一方が終了する毎に、割り込み要求をＣＰＵ２に与え、ＣＰＵ２は、割り込み要求を与えられると、次に起動されるべきＤＭＡ回路６のレジスタ設定を行い、そのＤＭＡ回路６に起動指令を与える必要がある。このような第２の従来技術にも、前記第１の従来技術と同様の問題がある。
【００１０】
本発明の目的は、主制御部の処理負荷を軽減することができ、主制御部のパフォーマンスの低下を防ぐことができるデータ処理装置を提供することである。
【課題を解決するための手段】
【００１１】
本発明は、データの書き込みおよびデータの読み出しが可能なメモリと、
メモリへのデータの書き込みおよびメモリからのデータの読み出しの開始指令を出力する主制御部と、
メモリへのデータの書き込みおよびメモリからのデータの読み出しの少なくとも一方を行い、メモリへのデータの書き込みおよびメモリからのデータの読み出しの少なくとも一方が終了すると、終了通知を出力する複数のメモリ処理部と、
各メモリ処理部をそれぞれ起動させる起動指令を出力する複数の起動指令部とを含み、
各起動指令部は、主制御部からの開始指令または各メモリ処理部からの終了通知に応答して起動指令を出力し、
各メモリ処理部は、各起動指令部からの起動指令に応答して起動することを特徴とするデータ処理装置である。
【００１２】
また本発明は、主制御部は、主制御部からの開始指令および各メモリ処理部からの終了通知のいずれを選択するかを示す選択指令を出力し、
各起動指令部は、主制御部からの選択指令によって指定される主制御部からの開始指令および各メモリ処理部からの終了通知のいずれか１つに応答して起動指令を出力することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、メモリは、データの書き込みおよびデータの読み出しが可能である。メモリ処理部は、メモリへのデータの書き込みおよびメモリからのデータの読み出しの少なくとも一方を行う。このメモリ処理部によって、ＤＭＡ方式によるデータ転送を実現することができる。
【００１４】
メモリ処理部は複数、存在し、各メモリ処理部に対して、起動指令部がそれぞれ設けられる。各起動指令部は、各メモリ処理部をそれぞれ起動させる起動指令を出力する。各メモリ処理部は、各起動指令部からの起動指令に応答して起動する。
【００１５】
主制御部は、メモリへのデータの書き込みおよびメモリからのデータの読み出しの開始指令を出力する。各メモリ処理部は、メモリへのデータの書き込みおよびメモリからのデータの読み出しの少なくとも一方が終了すると、終了通知を出力する。各起動指令部は、主制御部からの開始指令または各メモリ処理部からの終了通知に応答して起動指令を出力する。
【００１６】
このように各起動指令部は、主制御部からの開始指令だけでなく、各メモリ処理部からの終了通知にも応答して起動指令を出力することができる。したがって各起動指令部のいずれか１つに主制御部からの開始指令が与えられると、他の起動指令部には主制御部からの開始指令が与えられなくても、各起動指令部は、各メモリ処理部を順次、起動させることができる。
【００１７】
換言すると、主制御部を介さずに、各メモリ処理部を連携させることができる。したがって前記第２の従来技術のように、各メモリ処理部によるメモリへのデータの書き込みおよびメモリからのデータの読み出しの少なくとも一方が終了する毎に、各メモリ処理部から主制御部に割り込み要求を与え、主制御部から開始指令を出力する必要がなくなる。これによって、主制御部の処理負荷を軽減することができ、主制御部のパフォーマンスの低下を防ぐことができる。
【００１８】
また本発明によれば、主制御部は、主制御部からの開始指令および各メモリ処理部からの終了通知のいずれを選択するかを示す選択指令を出力する。各起動指令部は、主制御部からの選択指令によって指定される主制御部からの開始指令および各メモリ処理部からの終了通知のいずれか１つに応答して起動指令を出力する。したがって主制御部からの選択指令によって、各メモリ処理部の起動順序を設定することができ、装置の汎用性を向上させることができる。
【発明を実施するための最良の形態】
【００１９】
図１は、本発明の実施の一形態のデータ処理装置２１を簡略化して示すブロック図である。データ処理装置２１は、複写装置、スキャナ装置、プリンタ装置およびファクシミリ装置などの機能を１つにまとめた複合装置などに搭載される。データ処理装置２１は、イメージデータを処理するために用いられる。
【００２０】
データ処理装置２１は、ダイレクトメモリアクセス（Direct Memory Access、略称ＤＭＡ）方式によってデータを転送することができる。換言すると、データ処理装置２１は、後述の中央演算処理装置（Central Processing Unit、略称ＣＰＵ）２２を介さずに、メモリ２３へのデータの書き込むおよびメモリ２３からのデータの読み出しの少なくとも一方を行うことができる。
【００２１】
データ処理装置２１は、メモリ２３と、複数（本実施の形態では３つ）のＤＭＡ回路２４と、ＣＰＵ２２と、複数（本実施の形態では３つ）のセレクタ回路２５とを含む。以下、各ＤＭＡ回路２４を第１〜第３のＤＭＡ回路２４ａ〜２４ｃと記載する場合がある。また各セレクタ回路２５を第１〜第３のセレクタ回路２５ａ〜２５ｃと記載する場合がある。
【００２２】
メモリ２３は、データの書き込みおよびデータの読み出しが可能である。メモリ２３は、たとえばランダムアクセスメモリ（Random Access Memory、略称ＲＡＭ）によって実現される。
【００２３】
ＤＭＡ回路２４は、メモリ処理部である。各ＤＭＡ回路２４によって、ＤＭＡ方式によるデータ転送を実現することができる。各ＤＭＡ回路２４は、共通のメモリ２３にアクセスする。各ＤＭＡ回路２４は、メモリ２３へのデータの書き込みおよびメモリ２３からのデータの読み出しの少なくとも一方を行う。各ＤＭＡ回路２４は、前記書き込みおよび読み出しの少なくとも一方が終了すると、終了通知を出力する。
【００２４】
各ＤＭＡ回路２４は、後述の各セレクタ回路２５からの起動指令に応答して起動する。換言すると、各ＤＭＡ回路２４は、後述の各セレクタ回路２５からの起動指令に応答して、メモリ２３へのデータの書き込みおよびメモリ２３からのデータの読み出しの少なくとも一方を開始する。
【００２５】
詳細に述べると、第１のＤＭＡ回路２４ａは、第１のセレクタ回路２５ａからの起動指令に応答して起動する。第２のＤＭＡ回路２４ｂは、第２のセレクタ回路２５ｂからの起動指令に応答して起動する。第３のＤＭＡ回路２４ｃは、第３のセレクタ回路２５ｃからの起動指令に応答して起動する。
【００２６】
ＣＰＵ２２は、主制御部である。ＣＰＵ２２は、メモリ２３へのデータの書き込みおよびメモリ２３からのデータの読み出しの開始指令を出力する。またＣＰＵ２２は、このＣＰＵ２２からの開始指令および各ＤＭＡ回路２４からの終了通知のいずれを選択するかを示す選択指令を出力する。
【００２７】
セレクタ回路２５は、起動指令部である。各セレクタ回路２５は、各ＤＭＡ回路２４をそれぞれ起動させる起動指令を出力する。各セレクタ回路２５は、ＣＰＵ２２からの開始指令または各ＤＭＡ回路２４からの終了通知に応答して起動指令を出力する。
【００２８】
詳細に述べると、第１のセレクタ回路２５ａは、ＣＰＵ２２からの開始指令、または第２および第３のＤＭＡ回路２４ｂ，２４ｃからの終了通知に応答して起動指令を出力する。第２のセレクタ回路２５ｂは、ＣＰＵ２２からの開始指令、または第３および第１のＤＭＡ回路２４ｃ，２４ａからの終了通知に応答して起動指令を出力する。第３のセレクタ回路２５ｃは、ＣＰＵ２２からの開始指令、または第１および第２のＤＭＡ回路２４ａ，２４ｂからの終了通知に応答して起動指令を出力する。
【００２９】
本実施の形態では、各セレクタ回路２５は、ＣＰＵ２２からの選択指令によって指定されるＣＰＵ２２からの開始指令および各ＤＭＡ回路２４からの終了通知のいずれか１つに応答して起動指令を出力する。換言すると、各セレクタ回路２５が、ＣＰＵ２２からの開始指令および各ＤＭＡ回路２４からの終了通知のいずれに応答するかは、ＣＰＵからの選択指令によって決まる。
【００３０】
図２は、各ＤＭＡ回路２４によるメモリ２３へのデータの書き込みおよびメモリ２３からのデータの読み出しの一例を説明するための図である。第１のＤＭＡ回路２４ａは、メモリ２３へデータを書き込むように設定され、開始アドレスがＡ番地に設定され、転送バイト数がＮバイトに設定される。第２のＤＭＡ回路２４ｂは、メモリ２３からデータを読み出すように設定され、開始アドレスがＡ番地に設定され、転送バイト数がＮバイトに設定される。第３のＤＭＡ回路２４ｃは、メモリ２３へデータを書き込むように設定され、開始アドレスがＢ番地に設定され、転送バイト数がＭバイトに設定される。
【００３１】
第１のセレクタ回路２５ａは、ＣＰＵ２２からの開始指令に応答して起動指令を出力するように設定される。第２のセレクタ回路２５ｂは、第１のＤＭＡ回路２４ａからの終了通知に応答して起動指令を出力するように設定される。第３のセレクタ回路２５ｃは、第２のＤＭＡ回路２４ｂからの終了通知に応答して起動指令を出力するように設定される。
【００３２】
このように各ＤＭＡ回路２４および各セレクタ回路２５が設定されるとき、ＣＰＵ２２が開始指令を出力すると、第１のセレクタ回路２５ａは、ＣＰＵ２２からの開始指令に応答して起動指令を出力する。第１のＤＭＡ回路２４ａは、第１のセレクタ回路２５ａからの起動指令に応答して起動する。第１のＤＭＡ回路２４ａは、メモリ２３へデータを書き込む。このときデータは、メモリ２３のＡ番地から順にＮバイト分、書き込まれる。第１のＤＭＡ回路２４ａは、メモリ２３へのデータの書き込みを終了すると、終了通知を出力する。
【００３３】
第２のセレクタ回路２５ｂは、第１のＤＭＡ回路２４ａからの終了通知に応答して起動指令を出力する。第２のＤＭＡ回路２４ｂは、第２のセレクタ回路２５ｂからの起動指令に応答して起動する。第２のＤＭＡ回路２４ｂは、メモリ２３からデータを読み出す。このときデータは、メモリ２３のＡ番地から順にＮバイト分、読み出される。第２のＤＭＡ回路２４ｂは、メモリ２３からのデータの読み出しを終了すると、終了通知を出力する。
【００３４】
第３のセレクタ回路２５ｃは、第２のＤＭＡ回路２４ｂからの終了通知に応答して起動指令を出力する。第３のＤＭＡ回路２４ｃは、第３のセレクタ回路２５ｃからの起動指令に応答して起動する。第３のＤＭＡ回路２４ｃは、メモリ２３へデータを書き込む。このときデータは、メモリ２３のＢ番地から順にＭバイト分、書き込まれる。
【００３５】
図３は、データ処理装置２１の全体の構成を示すブロック図である。データ処理装置２１は、前記メモリ２３と、メモリ２３を制御するメモリコントローラ３１と、アービタ＆セレクタ３２と、複数（本実施の形態では３つ）の内部ブロック３３と、前記ＣＰＵ２２とを含む。以下、各内部ブロック３３を第１〜第３の内部ブロック３３ａ〜３３ｃと記載する場合がある。
【００３６】
アービタ＆セレクタ３２は、メモリコントローラ３１と各内部ブロック３３との間に介在する。アービタ＆セレクタ３２は、各内部ブロック３３のバス使用権の調停を行う。換言すると、アービタ＆セレクタ３２は、各内部ブロック３３のいずれか１つを選択し、選択した内部ブロック３３にバス使用権を割り当てる。
【００３７】
各内部ブロック３３は、前記ＤＭＡ回路２４と、前記セレクタ回路２５とを含む。詳細に述べると、第１の内部ブロック３３ａは、第１のＤＭＡ回路２４ａと、第１のセレクタ回路２５ａとを含む。第２の内部ブロック３３ｂは、第２のＤＭＡ回路２４ｂと、第２のセレクタ回路２５ｂとを含む。第３の内部ブロック３３ｃは、第３のＤＭＡ回路２４ｃと、第３のセレクタ回路２５ｃとを含む。
【００３８】
各内部ブロック３３のＤＭＡ回路２４は、アービタ＆セレクタ３２を介してメモリコントローラ３１を制御し、これによってメモリ２３をアクセスすることができる。換言すると、各内部ブロック３３のＤＭＡ回路２４は、アービタ＆セレクタ３２を介してメモリコントローラ３１を制御し、これによってメモリ２３へのデータの書き込みおよびメモリ２３からのデータの読み出しの少なくとも一方を行うことができる。
【００３９】
各内部ブロック３３は、それぞれ異なる機能を有する。一例として述べると、各内部ブロック３３は、スキャン入力のための機能、圧縮・伸長入出力ための機能、回転入出力のための機能およびレーザ出力のための機能のいずれか１つを有する。各内部ブロック３３が有する機能は、これらに限定されるものではない。
【００４０】
図４は、第１の内部ブロック３３ａの構成を示すブロック図である。各内部ブロック３３は類似するので、第１の内部ブロック３３ａだけ説明し、第２および第３の内部ブロック３３ｂ，３３ｃについては説明を省略する。第１の内部ブロック３３ａは、レジスタ３６と、制御回路３７と、前記ＤＭＡ回路２４と、前記セレクタ回路２５とを含む。
【００４１】
ＣＰＵ２２は、ＣＰＵアドレスＣＰＵ＿ＡＤＲをレジスタ３６に与える。ＣＰＵアドレスＣＰＵ＿ＡＤＲは、レジスタ３６のアドレスを示す。ＣＰＵ２２は、ＣＰＵデータＣＰＵ＿ＤＡＴＡをレジスタ３６に与える。このＣＰＵデータＣＰＵ＿ＤＡＴＡは、制御回路３７、ＤＭＡ回路２４およびセレクタ回路２５の設定条件を示す。またＣＰＵ２２は、ＣＰＵデータＣＰＵ＿ＤＡＴＡをレジスタ３６から与えられる。このＣＰＵデータＣＰＵ＿ＤＡＴＡは、制御回路３７、ＤＭＡ回路２４およびセレクタ回路２５のステータスを示す。
【００４２】
レジスタ３６は、ＣＰＵアドレスＣＰＵ＿ＡＤＲをデコードする。レジスタ３６は、ＣＰＵ２２によるライト時、すなわち書き込み時には、ＣＰＵアドレスＣＰＵ＿ＡＤＲによって指定されるアドレスに、ＣＰＵデータＣＰＵ＿ＤＡＴＡをラッチする。またレジスタ３６は、ＣＰＵ２２によるリード時、すなわち読み出し時には、ＣＰＵアドレスＣＰＵ＿ＡＤＲによって指定されるアドレスから、ＣＰＵデータＣＰＵ＿ＤＡＴＡを転送する。
【００４３】
制御回路３７は、レジスタ３６に記憶されている制御回路３７の設定条件に基づいて、データを演算する。また制御回路３７は、この制御回路３７のステータスをレジスタ３６に与える。制御回路３７は、入出力装置３８を制御する。制御回路３７は、入出力装置３８へデータを与える。また制御回路３７は、入出力装置３８からデータを与えられる。制御回路３７は、データを記憶するバッファ回路を含む。
【００４４】
一例として述べると、第１の内部ブロック３３ａが、スキャン入力のための機能を有する内部ブロックであるとき、制御回路３７は、タイミング生成回路と、バッファ回路とを含む。タイミング生成回路は、入出力装置３８である画像読取部によって原稿から読み取られるスキャンデータをリードするタイミングを生成する。バッファ回路は、スキャンデータを記憶する。
【００４５】
ＤＭＡ回路２４は、レジスタ３６に記憶されているＤＭＡ回路２４の設定条件に基づいて、データを転送する。ＤＭＡ回路２４の設定条件は、開始アドレスと、転送バイト数とを示す。ＤＭＡ回路２４は、このＤＭＡ回路２４のステータスをレジスタ３６に与える。
【００４６】
ＤＭＡ回路２４は、後述のセレクタ回路２５からの起動指令Ｄ＿ＴＲＧ１に応答して起動する。ＤＭＡ回路２４は、制御回路３７内のバッファ回路に記憶されるデータを読み出して、このデータをメモリ２３に書き込む。あるいはＤＭＡ回路２４は、メモリ２３に記憶されるデータを読み出して、このデータを制御回路３７内のバッファ回路に書き込む。
【００４７】
詳細に述べると、ＤＭＡ回路２４は、ＤＭＡアドレスＤＭＡ＿ＡＤＲ１をアービタ＆セレクタ３２を介してメモリコントローラ３１に与える。このＤＭＡアドレスＤＭＡ＿ＡＤＲ１は、メモリ２３のアドレスを示す。ＤＭＡ回路２４は、ＤＭＡ制御信号ＤＭＡ＿ＣＯＮＴ１をアービタ＆セレクタ３２を介してメモリコントローラ３１に与える。このＤＭＡ制御信号ＤＭＡ＿ＣＯＮＴ１は、メモリ２３への書き込み指令およびメモリ２３からの読み出し指令を示す。またＤＭＡ回路２４は、ＤＭＡ制御信号ＤＭＡ＿ＣＯＮＴ１をアービタ＆セレクタ３２を介してメモリコントローラ３１から与えられる。このＤＭＡ制御信号ＤＭＡ＿ＣＯＮＴ１は、メモリコントローラ３１のステータスを示す。
【００４８】
このようなＤＭＡ回路２４は、ＤＭＡアドレスＤＭＡ＿ＡＤＲ１によってメモリ２３のアドレスを指定する。そしてＤＭＡ回路２４は、ＤＭＡ制御信号ＤＭＡ＿ＣＯＮＴ１によって書き込みおよび読み出しの少なくとも一方を指令する。このようにして、ＤＭＡ回路２４は、メモリ２３の指定されるアドレスへのデータの書き込みおよびメモリ２３の指定されるアドレスからのデータの読み出しの少なくとも一方を行うことができる。このデータが、図４におけるＤＭＡデータＤＭＡ＿ＤＡＴＡに相当する。
【００４９】
ＤＭＡ回路２４は、メモリ２３へのデータの書き込みおよびメモリ２３からのデータの読み出しの少なくとも一方が終了すると、終了通知ＤＭＡ＿ＥＮＤ１を出力するとともに、割り込み要求ＩＮＴＲ１を出力する。前記ＤＭＡ回路２４の設定条件は、割り込み要求ＩＮＴＲ１をマスクするか否かをも示す。割り込み要求ＩＮＴＲ１がマスクされるとき、ＤＭＡ回路２４は、前記書き込みおよび読み出しの少なくとも一方が終了しても、割り込み要求ＩＮＴＲ１を出力しない。
【００５０】
割り込み要求ＩＮＴＲ１は、ＯＲ回路３９に与えられる。ＯＲ回路３９には、各内部ブロック３３のＤＭＡ回路２４からの割り込み要求ＩＮＴＲ１〜ＩＮＴＲ３が与えられる。ＯＲ回路３９は、これらの割り込み要求ＩＮＴＲ１〜ＩＮＴＲ３のいずれか１つが与えられると、割り込み要求ＩＮＴＲを出力する。この割り込み要求ＩＮＴＲは、ＣＰＵ２２に与えられる。
【００５１】
セレクタ回路２５は、レジスタ３６に記憶されているセレクタ回路２５の設定条件である選択指令に基づいて、起動指令を出力する。セレクタ回路２５は、ＣＰＵ２２からレジスタ３６を介して与えられる開始指令ＤＭＡ＿ＴＲＧ１、ならびに第２および第３の内部ブロック３３ｂ，３３ｃの各ＤＭＡ回路２４からの終了通知ＤＭＡ＿ＥＮＤ２，ＤＭＡ＿ＥＮＤ３のいずれか１つに応答して起動指令Ｄ＿ＴＲＧ１を出力する。
【００５２】
図５は、ＣＰＵ２２のＤＭＡ関連動作を説明するためのフローチャートである。同図は、各ＤＭＡ回路２４が、第１のＤＭＡ回路２４ａ、第２のＤＭＡ回路２４ｂ、第３のＤＭＡ回路２４ｃの順で起動されることを想定している。
【００５３】
所定の動作開始指令が入力されると、ステップｓ０で、ＣＰＵ２２は、ＤＭＡ関連動作を開始し、ステップｓ１に進む。ステップｓ１で、ＣＰＵ２２は、各内部ブロック３３の制御回路３７の設定条件を、各内部ブロック３３のレジスタ３６に与えることによって、各内部ブロック３３の制御回路３７のレジスタ設定を行い、ステップｓ２に進む。
【００５４】
ステップｓ２で、ＣＰＵ２２は、第１のＤＭＡ回路２４ａの設定条件を、第１の内部ブロック３３ａのレジスタ３６に与えることによって、第１のＤＭＡ回路２４ａのレジスタ設定を行い、ステップｓ３に進む。ステップｓ３で、ＣＰＵ２２は、第２のＤＭＡ回路２４ｂの設定条件を、第２の内部ブロック３３ｂのレジスタ３６に与えることによって、第２のＤＭＡ回路２４ｂのレジスタ設定を行い、ステップｓ４に進む。ステップｓ４で、ＣＰＵ２２は、第３のＤＭＡ回路２４ｃの設定条件を、第３の内部ブロック３３ｃのレジスタ３６に与えることによって、第３のＤＭＡ回路２４ｃのレジスタ設定を行い、ステップｓ５に進む。これらのステップｓ２〜ｓ４では、開始アドレスおよび転送バイト数などが設定される。
【００５５】
ステップｓ５で、ＣＰＵ２２は、各セレクタ回路２５の設定条件である選択指令を、各内部ブロック３３のレジスタ３６に与え、ステップｓ６に進む。図５においては、第１の内部ブロック３３ａのレジスタ３６には、ＣＰＵ２２からの開始指令を選択することを示す選択指令が与えられる。第２の内部ブロック３３ｂのレジスタ３６には、第１のＤＭＡ回路２４ａからの終了通知を選択することを示す選択指令が与えられる。第３の内部ブロック３３ｃのレジスタ３６には、第２のＤＭＡ回路２４ｂからの終了通知を選択することを示す選択指令が与えられる。このようにＣＰＵ２２は、各内部ブロック３３のレジスタ３６に選択指令を与えることによって、各ＤＭＡ回路２４を連携するための連携設定を行う。
【００５６】
ステップｓ６で、ＣＰＵ２２は、各内部ブロック３３のレジスタ３６に対して、不要な割り込み要求をマスクするための設定を行い、ステップｓ７に進む。不要な割り込み要求とは、起動されるべき各ＤＭＡ回路２４のうち、最後に起動されるＤＭＡ回路２４を除く残余のＤＭＡ回路２４からの割り込み要求である。図５においては、第１および第２のＤＭＡ回路２４ａ，２４ｂからの割り込み要求がマスクされる。
【００５７】
ステップｓ７で、ＣＰＵ２２は、開始指令を出力し、これによって第１のＤＭＡ回路２４ａの開始ビットを設定し、ステップｓ８に進む。ステップｓ８で、ＣＰＵ２２は、ＤＭＡ回路２４による割り込み要求、図５においては第３のＤＭＡ回路２４ｃによる割り込み要求を与えられると、ステップｓ９に進む。ステップｓ９で、ＣＰＵ２２は、ＤＭＡ関連動作を終了する。
【００５８】
前記ステップｓ７で、ＣＰＵ２２が開始指令を出力すると、ＣＰＵ２２からの開始指令に応答して、第１のセレクタ回路２５ａが起動指令を出力する。第１のＤＭＡ回路２４ａは、第１のセレクタ回路２５ａからの起動指令に応答して起動する。この第１のＤＭＡ回路２４ａからの終了通知に応答して第２のセレクタ回路２５ｂが起動指令を出力する。第２のＤＭＡ回路２４ｂは、第２のセレクタ回路２５ｂからの起動指令に応答して起動する。この第２のＤＭＡ回路２４ｂからの終了通知に応答して第３のセレクタ回路２５ｃが起動指令を出力する。第３のＤＭＡ回路２４ｃは、第３のセレクタ回路２５ｃからの起動指令に応答して起動する。第３のＤＭＡ回路２４ｃは、メモリ２３へのデータの書き込みおよびメモリ２３からのデータの読み出しの少なくとも一方が終了すると、割り込み要求を出力する。割り込み要求は、ＯＲ回路３９に与えられる。ＯＲ回路３９は、割り込み要求をＣＰＵ２２に与える。
【００５９】
このようにＣＰＵ２２が開始指令を出力してから、ＣＰＵ２２が割り込み要求を与えられるまでの間、ＣＰＵ２２を介さずに、各ＤＭＡ回路２４によって、メモリへデータを書き込むとともに、メモリからデータを読み出すことができる。この間、ＣＰＵ２２は、別の処理を実行することができる。
【００６０】
以上のような本実施の形態によれば、各セレクタ回路２５は、ＣＰＵ２２からの開始指令だけでなく、各ＤＭＡ回路２４からの終了通知にも応答して起動指令を出力することができる。したがって各セレクタ回路２５のいずれか１つにＣＰＵ２２からの開始指令が与えられると、他のセレクタ回路２５にはＣＰＵ２２からの開始指令が与えられなくても、各セレクタ回路２５は、各ＤＭＡ回路２４を順次、起動させることができる。
【００６１】
換言すると、ＣＰＵ２２を介さずに、各ＤＭＡ回路２４を連携させることができる。したがって前記第２の従来技術のように、各ＤＭＡ回路２４によるメモリ２３へのデータの書き込みおよびメモリ２３からのデータの読み出しの少なくとも一方が終了する毎に、各ＤＭＡ回路２４からＣＰＵ２２に割り込み要求を与え、ＣＰＵ２２から開始指令を出力する必要がなくなる。これによってＣＰＵ２２の処理負荷を軽減することができ、ＣＰＵ２２のパフォーマンスの低下を防ぐことができる。
【００６２】
具体的に述べると、３つのＤＭＡ回路２４を順次、起動するにあたって、前記第２の従来技術では、ＣＰＵ２２には割り込み要求が３回、与えられる必要があるけれども、本実施の形態では、ＣＰＵ２２には割り込み要求が１回、与えられるだけでよい。
【００６３】
またＣＰＵ２２は、開始指令を出力する前に、起動されるべき全てのＤＭＡ回路２４のレジスタ設定を行うので、前述のようにＣＰＵ２２を介さずに、各ＤＭＡ回路２４を連携させても、各ＤＭＡ回路２４のレジスタ設定を行うことができる。
【００６４】
また各セレクタ回路２５は、ＣＰＵ２２からの選択指令によって指定されるＣＰＵ２２からの開始指令および各ＤＭＡ回路２４からの終了通知のいずれか１つに応答して起動指令を出力するので、ＣＰＵ２２からの選択指令によって、各ＤＭＡ回路２４の起動順序を設定することができる。このように各ＤＭＡ回路２４の起動順序がプログラマブルとなっているので、装置の汎用性を向上させることができる。
【００６５】
前述の実施の形態は、本発明の例示に過ぎず、本発明の範囲内において構成を変更することができる。前述の実施の形態では、内部ブロック３３には、ＤＭＡ回路２４が１つ含まれるけれども、本発明の実施の他の形態では、内部ブロック３３に、メモリ２３からのデータ読み出し用のＤＭＡ回路２４と、メモリ２３へのデータ書き込み用のＤＭＡ回路２４とが含まれもよい。これによって、メモリ２３に記憶されるデータを読み出して、このデータを制御回路３７内のバッファ回路に書き込みながら、制御回路３７内のバッファ回路に記憶されるデータを読み出して、このデータをメモリ２３に書き込むことができる。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施の一形態のデータ処理装置２１を簡略化して示すブロック図である。
【図２】各ＤＭＡ回路２４によるメモリ２３へのデータの書き込みおよびメモリ２３からのデータの読み出しの一例を説明するための図である。
【図３】データ処理装置２１の全体の構成を示すブロック図である。
【図４】第１の内部ブロック３３ａの構成を示すブロック図である。
【図５】ＣＰＵ２２のＤＭＡ関連動作を説明するためのフローチャートである。
【図６】第２の従来技術のデータ処理装置１の構成を示すブロック図である。
【図７】ＣＰＵ２のＤＭＡ関連動作を説明するためのフローチャートである。
【符号の説明】
【００６７】
２１  データ処理装置
２２  ＣＰＵ
２３  メモリ
２４  ＤＭＡ回路
２５  セレクタ回路
３１  メモリコントローラ
３２  アービタ＆セレクタ
３３  内部ブロック
３６  レジスタ
３７  制御回路
３８  入出力装置
３９  ＯＲ回路
【図１】
2006172107.tif 000003
【図２】
2006172107.tif 000004
【図３】
2006172107.tif 000005
【図４】
2006172107.tif 000006
【図５】
2006172107.tif 000007
【図６】
2006172107.tif 000008
【図７】
2006172107.tif 000009