(57)【要約】【課題】効率的にデータを読み出す。【解決手段】割り当てられた記憶装置５０の記憶領域に記憶されたデータを使用する工程の前かつ当該データの読み出し位置を示すアドレスを生成して出力する工程の後にデータ読み出しのための待ち時間に応じたＮＯＰ工程が配置されたパイプライン処理を各々が行う複数の画像処理部１０を備え、画像処理部１０の各々に対応させて、中間バッファ３２、アドレスバッファ３４、アドレスバッファ３４に書き込まれたアドレスを順に読み出して記憶装置５０からデータを読み出し中間バッファ３２に書き込むＤＭＡ制御部３３、及び画像処理部１０から出力されたアドレスをアドレスバッファ３４に書き込むと共に中間バッファ３２に書き込まれたデータを画像処理部１０に転送する画像処理部Ｉ／Ｆ３１を設ける。更に、各ＤＭＡ制御部３３に対して記憶装置５０に対するアクセス権を排他的に付与する排他制御部４０を設ける。【選択図】図２
2012053700.tif 000002
【特許請求の範囲】
【請求項１】
互いに重複しない複数の記憶領域を備えた単一の記憶装置の前記複数の記憶領域のいずれかが割り当てられ、前記割り当てられた記憶領域に記憶されたデータを使用して処理するデータ使用工程、前記データ使用工程で使用されるデータの読み出し位置を示すアドレスを生成して出力するアドレス生成工程、及び前記アドレス生成工程より後かつ前記データ使用工程より前に配置され、前記アドレス生成工程でアドレスが生成されてからデータが転送されるまでの待ち時間に応じた待機工程を含む複数の工程からなるパイプライン処理を各々が行う複数の処理手段と、
前記複数の処理手段の各々に対応させて設けられ、前記対応する処理手段から出力されたアドレスを一時的に記憶するための複数のアドレス記憶手段と、
前記複数の処理手段の各々に対応させて設けられ、前記記憶装置から読み出されたデータを一時的に記憶するための複数のデータ記憶手段と、
前記複数のアドレス記憶手段の各々及び前記複数のデータ記憶手段の各々に対応させて設けられ、前記対応するアドレス記憶手段に記憶されたアドレスをその記憶された順に読み出し、前記記憶装置の前記読み出したアドレスからデータを読み出して前記対応するデータ記憶手段に書き込む複数の書込手段と、
前記複数の処理手段に対応させて設けられ、前記対応する処理手段から出力されたアドレスを前記対応する処理手段に対応させて設けられたアドレス記憶手段に書き込むと共に、前記対応する処理手段に対応させて設けられたデータ記憶手段に書き込まれたデータを書き込まれた順に読み出して前記対応する処理手段に転送する複数の転送手段と、
前記複数の書込手段の各々に対して排他的に前記記憶装置からデータを読み出す権利を付与して排他制御を行う排他制御手段と、
を備えたデータ処理装置。
【請求項２】
前記アドレス記憶手段から前記アドレスを読み出し、前記記憶装置の当該読み出したアドレスからデータを読み出して前記データ記憶手段の各々に書き込むときの第１動作周波数と前記記憶装置のデータ幅とを乗算したデータ帯域が、前記処理手段の各々から前記アドレスを出力し、前記アドレス記憶手段の各々に前記アドレスを書き込むとき及び前記データ記憶手段の各々から前記データを読み出して前記対応する処理手段に転送するときの第２動作周波数と前記処理手段の各々のデータ幅とを乗算したデータ帯域の各々を合計した合計値以上となるように、前記第１動作周波数と前記第２動作周波数との比を定めた、
請求項１に記載のデータ処理装置。
【請求項３】
前記複数の処理手段のうち少なくとも１つの処理手段を使用しないときに、該使用しない処理手段に割り当てられた記憶領域を使用して処理可能な第２処理手段を更に備え、
前記排他制御手段は、前記第２処理手段が前記割り当てられた記憶領域を使用して処理する場合には、前記複数の処理手段のうち動作中の処理手段及び前記第２処理手段に対して排他的に前記記憶装置からデータを読み出す権利を付与して排他制御を行う
請求項１又は請求項２に記載のデータ処理装置。
【請求項４】
互いに重複しない複数の記憶領域を備えた単一の記憶装置と、
前記記憶装置の前記複数の記憶領域のいずれかが割り当てられ、前記割り当てられた記憶領域に記憶されたデータを使用して処理するデータ使用工程、前記割り当てられた記憶領域の範囲内において前記データ使用工程で使用されるデータの読み出し位置を示すアドレスを生成して出力するアドレス生成工程、及び前記アドレス生成工程より後かつ前記データ使用工程より前に配置され、前記アドレス生成工程でアドレスが生成されてからデータが転送されるまでの待ち時間に応じた待機工程を含む複数の工程からなるパイプライン処理を各々が行う複数の処理手段と、
前記複数の処理手段の各々に対応させて設けられ、前記対応する処理手段から出力されたアドレスを一時的に記憶するための複数のアドレス記憶手段と、
前記複数の処理手段の各々に対応させて設けられ、前記記憶装置から読み出されたデータを一時的に記憶するための複数のデータ記憶手段と、
前記複数のアドレス記憶手段の各々及び前記複数のデータ記憶手段の各々に対応させて設けられ、前記対応するアドレス記憶手段に記憶されたアドレスをその記憶された順に読み出し、当該読み出したアドレスに記憶されたデータを前記記憶装置から読み出して前記対応するデータ記憶手段に書き込む複数の書込手段と、
前記複数の処理手段に対応させて設けられ、前記対応する処理手段から出力されたアドレスを前記対応する処理手段に対応させて設けられたアドレス記憶手段に書き込むと共に、前記対応する処理手段に対応させて設けられたデータ記憶手段に書き込まれたデータを書き込まれた順に読み出して前記対応する処理手段に転送する複数の転送手段と、
前記複数の書込手段の各々に対して排他的に前記記憶装置からデータを読み出す権利を付与して排他制御を行う排他制御手段と、
を備えたデータ処理システム。
【請求項５】
前記アドレス記憶手段から前記アドレスを読み出し、前記記憶装置の当該読み出したアドレスからデータを読み出して前記データ記憶手段の各々に書き込むときの第１動作周波数と前記記憶装置のデータ幅とを乗算したデータ帯域が、前記処理手段の各々から前記アドレスを出力し、前記アドレス記憶手段の各々に前記アドレスを書き込むとき及び前記データ記憶手段の各々から前記データを読み出して前記対応する処理手段に転送するときの第２動作周波数と前記処理手段の各々のデータ幅とを乗算したデータ帯域の各々を合計した合計値以上となるように、前記第１動作周波数と前記第２動作周波数との比を定めた、
請求項４に記載のデータ処理システム。
【請求項６】
前記複数の処理手段のうち少なくとも１つの処理手段を使用しないときに、該使用しない処理手段に割り当てられた記憶領域を使用して処理可能な第２処理手段を更に備え、
前記排他制御手段は、前記第２処理手段が前記割り当てられた記憶領域を使用して処理する場合には、前記複数の処理手段のうち動作中の処理手段及び前記第２処理手段に対して排他的に前記記憶装置からデータを読み出す権利を付与して排他制御を行う
請求項４又は請求項５に記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置及びデータ処理システムに関する。
【背景技術】
【０００２】
特許文献１には、連続的なデータストリームを順次処理する処理手段と、上記データストリームを処理するためのパラメータが記憶され上記処理手段の処理する個々のデータに応じてランダムにアクセスされる記憶手段とを備え、上記記憶手段には、上記処理手段が現在処理しているデータストリームを処理するための現パラメータと、次のデータストリームを処理するための次パラメータとが、順次切り替えて記憶される少なくとも２つの記憶領域が設けられたデータストリーム処理装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２３７６７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、記憶装置からデータを読み出すときのアドレスがランダムに変化する複数の処理手段の各々から１つの記憶装置にアクセスしてデータを読み出す場合に、効率的にデータを読み出すことができるデータ処理装置、及びデータ処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
請求項１の発明のデータ処理装置は、各々が、互いに重複しない複数の記憶領域を備えた単一の記憶装置の前記複数の記憶領域のいずれかが割り当てられ、前記割り当てられた記憶領域に記憶されたデータを使用して処理するデータ使用工程、前記データ使用工程で使用されるデータの読み出し位置を示すアドレスを生成して出力するアドレス生成工程、及び前記アドレス生成工程より後かつ前記データ使用工程より前に配置され、前記アドレス生成工程でアドレスが生成されてからデータが転送されるまでの待ち時間に応じた待機工程を含む複数の工程からなるパイプライン処理を行う複数の処理手段と、前記複数の処理手段の各々に対応させて設けられ、前記対応する処理手段から出力されたアドレスを一時的に記憶するための複数のアドレス記憶手段と、前記複数の処理手段の各々に対応させて設けられ、前記記憶装置から読み出されたデータを一時的に記憶するための複数のデータ記憶手段と、前記複数のアドレス記憶手段の各々及び前記複数のデータ記憶手段の各々に対応させて設けられ、前記対応するアドレス記憶手段に記憶されたアドレスをその記憶された順に読み出し、前記記憶装置の前記読み出したアドレスからデータを読み出して前記対応するデータ記憶手段に書き込む複数の書込手段と、前記複数の処理手段に対応させて設けられ、前記対応する処理手段から出力されたアドレスを前記対応する処理手段に対応させて設けられたアドレス記憶手段に書き込むと共に、前記対応する処理手段に対応させて設けられたデータ記憶手段に書き込まれたデータを書き込まれた順に読み出して前記対応する処理手段に転送する複数の転送手段と、前記複数の書込手段の各々に対して排他的に前記記憶装置からデータを読み出す権利を付与して排他制御を行う排他制御手段と、
を備えている。
【０００６】
請求項２の発明は、請求項１に記載のデータ処理装置において、前記アドレス記憶手段から前記アドレスを読み出し、前記記憶装置の当該読み出したアドレスからデータを読み出して前記データ記憶手段の各々に書き込むときの第１動作周波数と前記記憶装置のデータ幅とを乗算したデータ帯域が、前記処理手段の各々から前記アドレスを出力し、前記アドレス記憶手段の各々に前記アドレスを書き込むとき及び前記データ記憶手段の各々から前記データを読み出して前記対応する処理手段に転送するときの第２動作周波数と前記処理手段の各々のデータ幅とを乗算したデータ帯域の各々を合計した合計値以上となるように、前記第１動作周波数と前記第２動作周波数との比を定めたものである。
【０００７】
請求項３の発明は、請求項１又は請求項２に記載のデータ処理装置において、前記複数の処理手段のうち少なくとも１つの処理手段を使用しないときに、該使用しない処理手段に割り当てられた記憶領域を使用して処理可能な第２処理手段を更に備え、前記排他制御手段は、前記第２処理手段が前記割り当てられた記憶領域を使用して処理する場合には、前記複数の処理手段のうち動作中の処理手段及び前記第２処理手段に対して排他的に前記記憶装置からデータを読み出す権利を付与して排他制御を行うものである
【０００８】
請求項４の発明のデータ処理システムは、互いに重複しない複数の記憶領域を備えた単一の記憶装置と、各々が、前記記憶装置の前記複数の記憶領域のいずれかが割り当てられ、前記割り当てられた記憶領域に記憶されたデータを使用して処理するデータ使用工程、前記割り当てられた記憶領域の範囲内において前記データ使用工程で使用されるデータの読み出し位置を示すアドレスを生成して出力するアドレス生成工程、及び前記アドレス生成工程より後かつ前記データ使用工程より前に配置され、前記アドレス生成工程でアドレスが生成されてからデータが転送されるまでの待ち時間に応じた待機工程を含む複数の工程からなるパイプライン処理を行う複数の処理手段と、前記複数の処理手段の各々に対応させて設けられ、前記対応する処理手段から出力されたアドレスを一時的に記憶するための複数のアドレス記憶手段と、前記複数の処理手段の各々に対応させて設けられ、前記記憶装置から読み出されたデータを一時的に記憶するための複数のデータ記憶手段と、前記複数のアドレス記憶手段の各々及び前記複数のデータ記憶手段の各々に対応させて設けられ、前記対応するアドレス記憶手段に記憶されたアドレスをその記憶された順に読み出し、当該読み出したアドレスに記憶されたデータを前記記憶装置から読み出して前記対応するデータ記憶手段に書き込む複数の書込手段と、前記複数の処理手段に対応させて設けられ、前記対応する処理手段から出力されたアドレスを前記対応する処理手段に対応させて設けられたアドレス記憶手段に書き込むと共に、前記対応する処理手段に対応させて設けられたデータ記憶手段に書き込まれたデータを書き込まれた順に読み出して前記対応する処理手段に転送する複数の転送手段と、前記複数の書込手段の各々に対して排他的に前記記憶装置からデータを読み出す権利を付与して排他制御を行う排他制御手段と、を備えたている。
【０００９】
請求項５の発明は、請求項４に記載のデータ処理システムにおいて、前記アドレス記憶手段から前記アドレスを読み出し、前記記憶装置の当該読み出したアドレスからデータを読み出して前記データ記憶手段の各々に書き込むときの第１動作周波数と前記記憶装置のデータ幅とを乗算したデータ帯域が、前記処理手段の各々から前記アドレスを出力し、前記アドレス記憶手段の各々に前記アドレスを書き込むとき及び前記データ記憶手段の各々から前記データを読み出して前記対応する処理手段に転送するときの第２動作周波数と前記処理手段の各々のデータ幅とを乗算したデータ帯域の各々を合計した合計値以上となるように、前記第１動作周波数と前記第２動作周波数との比を定めたものである。
【００１０】
請求項６の発明は、請求項４又は請求項５に記載のデータ処理システムにおいて、前記複数の処理手段のうち少なくとも１つの処理手段を使用しないときに、該使用しない処理手段に割り当てられた記憶領域を使用して処理可能な第２処理手段を更に備え、前記排他制御手段は、前記第２処理手段が前記割り当てられた記憶領域を使用して処理する場合には、前記複数の処理手段のうち動作中の処理手段及び前記第２処理手段に対して排他的に前記記憶装置からデータを読み出す権利を付与して排他制御を行うものである。
【発明の効果】
【００１１】
請求項１に記載の発明によれば、記憶装置からデータを読み出すときのアドレスがランダムに変化する複数の処理手段の各々から１つの記憶装置にアクセスしてデータを読み出す場合に、効率的にデータを読み出すことができる。
【００１２】
請求項２に記載の発明によれば、処理手段のスループットを低下させることなく、効率的にデータを読み出すことができる。
【００１３】
請求項３に記載の発明によれば、動作しない処理手段に割り当てられた記憶領域が使用されない場合に比べて、記憶資源を効率的に使用することができる。
【００１４】
請求項４に記載の発明によれば、記憶装置からデータを読み出すときのアドレスがランダムに変化する複数の処理手段の各々から１つの記憶装置にアクセスしてデータを読み出す場合に、効率的にデータを読み出すことができる。
【００１５】
請求項５に記載の発明によれば、処理手段のスループットを低下させることなく、効率的にデータを読み出すことができる。
【００１６】
請求項６に記載の発明によれば、動作しない処理手段に割り当てられた記憶領域が使用されない場合に比べて、記憶資源を効率的に使用することができる。
【図面の簡単な説明】
【００１７】
【図１】第１の実施の形態に係るデータ処理システムの概略構成を示す図である。
【図２】第１の実施の形態に係るデータ転送制御装置の構成を示す図である。
【図３】第１の実施の形態に係るＤＭＡ制御部の構成を示す図である。
【図４】第１の実施の形態に係るコピーモードにおいて記憶装置の複数の記憶領域の各々とコピーモードで使用する画像処理部の各々に対応する中間バッファの各々との対応関係を説明する説明図である。
【図５】第１の実施の形態に係るスキャンモードにおいて記憶装置の複数の記憶領域の各々とスキャンモードで使用する画像処理部の各々に対応する中間バッファ及びＤＳＰの各々との対応関係を説明する説明図である。
【図６】ＤＭＡ制御部によるデータの読出動作の流れを示すフローチャートである。
【図７】読み出されたデータの画像処理部に対する転送動作の流れを示すフローチャートである。
【図８】（Ａ）は通常のパイプライン処理を説明する説明図であり、（Ｂ）はＮＯＰ工程が挿入されたパイプライン処理を説明する説明図である。
【図９】記憶装置からデータを読み出す際のデータ処理システムの動作を説明する説明図である。
【図１０】第２の実施の形態に係るデータ処理システムの構成を示す図である。
【図１１】第２の実施の形態に係るＤＭＡ制御部の構成を示す図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して、実施の形態について詳細に説明する。
【００１９】
[第１の実施の形態]
【００２０】
図１は、本実施の形態に係るデータ処理システムの概略構成を示す図である。なお、本実施の形態では、コピーやスキャン等の機能を備えた画像形成装置に搭載され、画像処理を行うデータ処理システムを例に挙げて説明するが、これに限定されるものではない。
【００２１】
図１に示すように、データ処理システムは、各々直列に連結された第１画像処理部１１、第２画像処理部１２、第３画像処理部１３、及び第４画像処理部１４を備えている。第１画像処理部１１、第２画像処理部１２、第３画像処理部１３、及び第４画像処理部１４の各々は、各々画像データに対して予め定められた画像処理を行って後段の画像処理部に処理結果を出力する。以下、第１画像処理部１１、第２画像処理部１２、第３画像処理部１３、及び第４画像処理部１４を区別せずに説明する場合には、画像処理部１０と総称する。また、記憶装置５０は、データ転送制御装置２０を介してＤＳＰ（Digital Signal Processor）１５が接続されている。さらにＤＳＰ１５は、システムバス１６経由で記憶装置５０とは別の記憶装置であるＤＲＡＭ（Dynamic Random Access Memory）１７とも接続されている。なお、本実施の形態では、データ処理システムが４つの画像処理部１０を含んで構成されている例について説明するが、画像処理部１０は４つに限定されるものではなく、５つ以上であってもよいし、２つであってもよい。
【００２２】
各画像処理部１０は、記憶装置５０から読み出されて転送されたデータを転送順に処理するものであり、データ転送制御装置２０を介して記憶装置５０に接続されている。各画像処理部１０は、ＣＰＵがソフトウェアを実行することにより実現するソフトウェアモジュールであってもよい。また、各画像処理部１０、データ転送制御装置２０をＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）等を用いて１つの半導体集積回路として、ハードウェアで構成してもよい。なお、記憶装置５０も含めて１つの半導体集積回路としてもよい。
【００２３】
記憶装置５０は、例えば、ワーク用のメモリとしてのＳＲＡＭ（Static Random Access Memory）等としてもよい。ここで動作モード（例えば、コピーモードとスキャンモード）に応じて、必要な画像処理部が異なる。そのため、各画像処理部１０に対する記憶装置５０の使用可能な割り当てを変更することが可能である。例えば、コピーモードにおいては、４つの画像処理部１０の全てを使用することになる。この場合、当該メモリには互いに重複しない複数の記憶領域が各画像処理部１０の各々に対応して予め定められる。図４に示す例では、第１画像処理部１１に対しては、0x500から0x5FF（１６進表示）までのアドレスの記憶領域が割り当てられており、第２画像処理部１２に対しては、0x400から0x4FFまでのアドレスの記憶領域が予め割り当てられており、第３画像処理部１３に対しては、0x300から0x3FFまでのアドレスの記憶領域が予め割り当てられており、第４画像処理部１４に対しては、0x200から0x2FFまでのアドレスの記憶領域が予め割り当てられている。これら記憶領域は、予め不図示のＣＰＵ（ソフトウェア）により設定される。
【００２４】
次に、スキャンモードにおいては、４つの画像処理部１０のうち第１画像処理部１１と第２画像処理部１２の２つを使用し、第３画像処理部１３及び第４画像処理部１４を使用しない。この場合、コピーモードで使用する第３画像処理部１３に割り当てられた0x300から0x3FF、第４画像処理部１４に割り当てられた0x200から0x2FFについて、ＤＳＰ１５が使用することとなる。すなわち、図５に示すように、第１画像処理部１１に対しては、0x500から0x5FFまでのアドレスの記憶領域が予め割り当てられており、第２画像処理部１２に対しては、0x400から0x4FFまでのアドレスの記憶領域が予め割り当てられており、ＤＳＰ１５に対しては、0x200から0x3FFまでのアドレスの記憶領域が予め割り当てられることとなる。このように動作モードに応じて、記憶装置の資源の割り当てを決めている。
【００２５】
なお、使用しない第３画像処理部１３及び第４画像処理部１４については、動作を停止させても良い。この場合、例えば、第２画像処理部１２は、処理後のデータを第３画像処理部１３へ出力するのではなく、別のバス等を設けて、第３画像処理部１３とは別の下流側の処理手段へ出力すれば良い。
また、この他に、使用しない第３画像処理部１３及び第４画像処理部１４の動作を停止させることなく、使用しない第３画像処理部１３及び第４画像処理部１４において上流側から出力されたデータをスルーさせて下流側へ出力するようにしてもよい。例えば、第３画像処理部１３を基準に考えた場合、上流側（第２画像処理部１２）から受けたデータを、そのまま処理をすることなく下流（第４画像処理部１４）へ出力してもよい。
【００２６】
各画像処理部１０は、処理する際に、このように予め割り当てられている記憶領域に記憶されたデータを読み出して使用するが、画像処理部１０が例えば、テーブルを参照して画像処理を行う処理手段である場合には、記憶領域に対するリードアドレス（読み出し位置を示すアドレス）がランダムに変化する。本実施の形態では、このようにランダムにリードアドレスが変化する処理を対象としたデータ処理システムについて説明する。
【００２７】
本実施の形態では、各画像処理部１０でリードアドレスを生成して、記憶装置５０にアクセスするためのアクセス情報に含めてデータ転送制御装置２０に出力する。アクセス情報にはリードアドレスの他、記憶装置５０からのデータの読み出し命令が含まれる。なお、アクセス情報とは別にリードアドレスを出力してもよい。
【００２８】
記憶装置５０からのデータの読み出しは後述するようにＤＭＡ(Direct Memory Access)制御部３３により行われるが、ＤＭＡ制御部３３により記憶装置５０から１回で読み出せるデータ量（単位読み出しサイズ）は予め定まっており、また、各画像処理部１０で行われる画像処理の種類に応じて各画像処理の処理単位のデータ量（以下、処理サイズ）も予め定まっている。例えば、処理サイズは、１ページ或いは１ライン等のように、画像処理の種類に応じて定まっている。更に、通常、単位読み出しサイズは処理サイズ以下となるため、画像処理部１０は、処理サイズ分のデータを読み出すためリードアドレスを１回或いは複数回出力する処理を繰り返して読み出しを行わせる。
【００２９】
ＤＳＰ１５は、コピーモードにおいては、ＤＲＡＭ１７を使用する。一方、スキャンモードにおいては、記憶装置５０を使用することができる。例えば、スキャンモードにおいては、記憶装置５０とＤＲＡＭ１７を使用する場合や記憶装置５０のみを使用する場合が挙げられる。なお、スキャンモードにおいては、第１画像処理部１１及び第２画像処理部１２も記憶装置５０を使用するため、ＤＳＰ１５は、記憶装置５０にアクセスするに先立ち、記憶装置５０に対するアクセス要求をデータ転送制御装置２０の排他制御部４０（詳細は後述）に出力し、これによりアクセス権を取得したときに記憶装置５０にアクセスするようにしている。また、ＤＳＰ１５は、前記４つの画像処理部１０とは独立に動作する。ここでいう独立に動作とは、画像処理部１０、データ転送制御装置２０、記憶装置５０が動作していない場合であっても、ＤＳＰ１５は動作することができることをいう。なお、ここでは本発明の第２処理手段としてＤＳＰ１５を例に挙げて説明するが、第２処理手段はＤＳＰ１５に限定されない。
【００３０】
ＤＲＡＭ１７は、前述したようにシステムバス１６を介してＤＳＰ１５と接続されている。なお、本実施の形態では、記憶装置５０とは別にＤＳＰ１５が使用する記憶装置をＤＲＡＭとしているが、これに限定されるものではなく、他の記憶装置であってもよい。
【００３１】
データ転送制御装置２０は、記憶装置５０の画像処理部１０から出力されたリードアドレスが示す位置に記憶されたデータを読み出して画像処理部１０に転送する。一方、ＤＳＰ１５が、記憶装置５０のデータを読み出す場合には、まず、排他制御部４０に記憶装置５０にアクセスしたい旨の要求を行い、排他制御部４０からアクセスの許可（アクセス権）を受け取ると、記憶装置５０のＤＳＰ１５から指定されたリードアドレスが示す位置に記憶されたデータを読み出してＤＳＰ１５に出力する。なお、各画像処理部１０及びＤＳＰ１５毎に上記予め割り当てられた記憶領域のアドレスの範囲内で記憶装置５０に対するリードアドレスがランダムに変化するため、データ転送制御装置２０は以下のように構成されている。
【００３２】
図２は、データ転送制御装置２０の構成を示す図である。
【００３３】
データ転送制御装置２０は、上記複数の画像処理部１０の各々に対応させて設けられた複数の転送制御部３０と、排他制御部４０とを備えている。転送制御部３０の各々は排他制御部４０を介して記憶装置５０に接続されている。
【００３４】
転送制御部３０の各々は、画像処理部Ｉ／Ｆ（インタフェース）３１、中間バッファ３２、アドレスバッファ３４、及びＤＭＡ制御部３３を備えている。
【００３５】
転送制御部３０の各画像処理部Ｉ／Ｆ３１は、対応する画像処理部１０に接続されており、対応する画像処理部１０から出力されたアクセス情報を解析して当該アクセス情報に含まれるリードアドレスをアドレスバッファ３４に格納する。また、画像処理部Ｉ／Ｆ３１は、中間バッファ３２に格納されたデータを、その格納順に順番に読み出して、対応する画像処理部１０に転送する。
【００３６】
中間バッファ３２は、データを一時的に記憶するための一時記憶手段であって、先入れ先出し型（ＦＩＦＯ型）の記憶手段である。中間バッファ３２は、予め定められたデータ量（ここではデータ量αとする）のデータが格納可能であり、記憶装置５０からデータを読み込む際の緩衝バッファとして機能する。
【００３７】
なお、中間バッファ３２を記憶装置５０からのデータの読み出し用の緩衝バッファとしてだけでなく記憶装置５０に対するデータの書き出し用の緩衝バッファとして兼用することもできるが、以下では、中間バッファ３２を読み出し専用とするか、読み出し及び書き出し兼用とするかによらず、データの読み出し動作に着目して説明する。
【００３８】
本実施の形態では、有効データポインタを設定することで、中間バッファ３２に書き込まれたデータの読み出しを行わせる。有効データは、中間バッファ３２に書き込まれたデータのうち、対応する画像処理部１０によって読み出されていないデータをいい、有効データポインタは、この有効データの先頭位置（次の読出開始位置）と末尾位置を各々指し示すポインタである。中間バッファ３２に対するデータの書き込みや中間バッファ３２からの有効データの読み出しに応じて有効データポインタは変化する。有効データポインタは、書き込み及び読み出しの際に参照される。
【００３９】
アドレスバッファ３４には、前述した画像処理部Ｉ／Ｆ３１により、対応する画像処理部１０から出力されたリードアドレスが格納される。アドレスバッファ３４に格納されたリードアドレスは、ＤＭＡ制御部３３により格納順に読み出され排他制御部４０に順次出力される。アドレスバッファ３４も、先入れ先出し型の記憶手段であり、中間バッファ３２と同様に書き込み読み出しが行われる。
【００４０】
ＤＭＡ制御部３３は、排他制御部４０を介して記憶装置５０に接続され、アドレスバッファ３４に格納されたリードアドレスを排他制御部４０を介して指定することによって記憶装置５０から当該リードアドレスが示す位置に記憶されたデータを読み出す。また、排他制御部４０を介して記憶装置５０から読み出されたデータが転送されてきた場合には、当該転送されてきたデータを中間バッファ３２に書き込む。
【００４１】
なお、ＤＭＡ制御部３３は複数あるが、記憶装置５０は１つであるため、ＤＭＡ制御部３３は、リードアドレスを指定する際、まず、記憶装置５０に対するアクセス要求を排他制御部４０に出力する。そして、排他制御部４０の排他制御により記憶装置５０からデータを読み出す権利（本実施の形態ではこれをアクセス権と呼称する）が付与された場合に、アドレスバッファ３４に格納されているリードアドレスを読み出して排他制御部４０を介して指定する。
【００４２】
排他制御部４０は、コピーモードにおいては、ＤＭＡ制御部３３の各々から記憶装置５０に対するアクセス要求を受け、複数のＤＭＡ制御部３３が競合しないようどのＤＭＡ制御部３３に対してアクセス権を付与するかを決定し、該決定したＤＭＡ制御部３３に読出許可を返すことにより該アクセス権を排他的にＤＭＡ制御部３３に付与して排他制御を行う。ＤＭＡ制御部３３は、排他制御部４０からアクセス権が付与されるまでは待機する。
【００４３】
また、排他制御部４０は、アクセス権が付与されたＤＭＡ制御部３３から指定されたリードアドレスを、指定された順に排他制御部４０内に予め設けられているＦＩＦＯ型のバッファ（以下、第１ＦＩＦＯ）に格納する。排他制御部４０は、当該第１ＦＩＦＯの格納順にリードアドレスを読み出し、記憶装置５０の該リードアドレスが示す位置からデータを読み出す。
【００４４】
記憶装置５０から読み出されたデータは、排他制御部４０内に予め設けられたＦＩＦＯ型のバッファ（以下、第２ＦＩＦＯ）に格納される。排他制御部４０は、当該第２ＦＩＦＯから、記憶装置５０から読み出された順に（当然、リードデータの指定順となる）データを読み出して、当該リードアドレスを指定したＤＭＡ制御部３３に対して転送する。ＤＭＡ制御部３３は、転送されたデータを中間バッファ３２に格納する。
【００４５】
また、排他制御部４０は、スキャンモードにおいては、第１画像処理部１１及び第２画像処理部１２に対応するＤＭＡ制御部３３の各々と、ＤＳＰ１５とから記憶装置５０に対するアクセス要求を受け、複数のＤＭＡ制御部３３及びＤＳＰ１５のアクセスが競合しないようＤＭＡ制御部３３及びＤＳＰ１５のいずれにアクセス権を付与するかを決定し、該決定したＤＭＡ制御部３３或いはＤＳＰ１５に読出許可を返すことにより該アクセス権を排他的に付与して排他制御を行う。第１画像処理部１１及び第２画像処理部１２に対応するＤＭＡ制御部３３の各々及びＤＳＰ１５は、排他制御部４０からアクセス権が付与されるまでは待機する。
【００４６】
ここで、アクセス権付与後の動作について説明する。まず、ＤＭＡ制御部３３に対してアクセス権が付与された場合を説明する。排他制御部４０は、アクセス権が付与されたＤＭＡ制御部３３から指定されたリードアドレスを、指定された順に第１ＦＩＦＯに格納する。排他制御部４０は、当該第１ＦＩＦＯの格納順にリードアドレスを読み出し、記憶装置５０の該リードアドレスが示す位置からデータを読み出す。記憶装置５０から読み出されたデータは、第２ＦＩＦＯに格納される。排他制御部４０は、当該第２ＦＩＦＯから、記憶装置５０から読み出された順にデータを読み出して、当該リードアドレスを指定したＤＭＡ制御部３３に対して転送する。次に、ＤＳＰ１５に対してアクセス権が付与された場合を説明する。ＤＳＰ１５は、排他制御部４０からアクセス権が付与されると、記憶装置５０に対してリードアドレスを指定して上記と同様に排他制御部４０を介してアクセスを行い、記憶装置５０の該リードアドレスが示す位置からデータを読み出す。
【００４７】
なお、本実施の形態において、画像処理部１０の各々と対応する転送制御部３０の画像処理部Ｉ／Ｆ３１の各々とは32ビットのバス幅（データ幅）でデータの送受信が可能に接続されており、画像処理部Ｉ／Ｆ３１の各々と対応する中間バッファ３２の各々とは32ビットのデータ幅でデータの送受信が可能に接続されており、中間バッファ３２の各々と対応するＤＭＡ制御部３３の各々とは32ビットのデータ幅でデータの送受信が可能に接続されており、ＤＭＡ制御部３３の各々と排他制御部４０とは32ビットのデータ幅でデータの送受信が可能に接続されており、排他制御部４０と記憶装置５０とは、32ビットのデータ幅でデータの送受信が可能に接続されている。
【００４８】
ここでデータ幅とは、データ伝送経路において一度の伝送で送信されるデータ量のことである。例えば信号線８本で接続されている場合、そのデータ幅は８ビットであると表現される。
【００４９】
本実施の形態では、図２に示すように、中間バッファ３２及びアドレスバッファ３４の各々と画像処理部Ｉ／Ｆ３１との接続部分から画像処理部１０までを第１クロック（第１動作周波数）で動作させ、中間バッファ３２及びアドレスバッファ３４の各々とＤＭＡ制御部３３との接続部分から記憶装置５０までを第２クロック（第２動作周波数）で動作させるよう設定されている。すなわち、第１クロックが、中間バッファ３２からデータを読み出して画像処理部１０に転送するときの動作周波数及び画像処理部１０からアドレスバッファ３４にリードアドレスを格納するときの動作周波数となり、第２クロックが、アドレスバッファ３４からリードアドレスを読み出して記憶装置５０に出力するときの動作周波数及び記憶装置５０からデータを読み出して中間バッファ３２に書き込むときの動作周波数となる。なお、ＤＳＰ１５の動作周波数は、第１クロック及び第２クロックとは関係なく、システム構成に応じて適宜設定される。
【００５０】
また、本実施の形態では、システムの要求性能に合わせて、第１クロックと第２クロックとの比が、第１クロック：第２クロック＝１：Ｎとなるように設定されている。なお、画像処理部１０の各々は非同期で動作するため、Ｎは整数でなくてもよい。
【００５１】
例えば、第１クロックと第２クロックの比を、記憶装置５０のデータ帯域（データ伝送速度）が、画像処理部１０の各々が必要なデータ帯域（要求帯域）の合計値以上となるように設定してもよい。
【００５２】
前述したように、上記４つの画像処理部１０の各々のデータ幅は３２ビット(４バイト）であり、記憶装置５０のデータ幅も３２ビット（４バイトである）。そこで、例えば上記４つの画像処理部１０の動作周波数を１００ＭＨｚとした場合、記憶装置５０の動作周波数を４００ＭＨｚとすることで、記憶装置５００のデータ帯域が、画像処理部１０の各々の要求帯域の合計値以上となる。
【００５３】
すなわち、
Σ画像処理部１０の要求帯域＝１００ＭＨｚ＊４バイト＊４＝１．６ＧＢ／Ｓ
記憶装置５０のデータ帯域＝４００ＭＨｚ＊４バイト＝１．６ＧＢ／Ｓ
となって、記憶装置５０のデータ帯域が、画像処理部１０の各々の要求帯域の合計値以上となる。
【００５４】
従って、第１クロックを１００ＭＨｚとし、第２クロックを４００ＭＨｚに設定して動作させる。この例では、第１クロック：第２クロック＝１：４となっている。これにより、各画像処理部１０のスループットが確保される。もちろん、記憶装置５０の動作が可能なら第２クロックを４００ＭＨｚより大きい動作周波数としてもよい。なお、ここでは、各々直列に接続された画像処理部１０とは別に独立して動作するＤＳＰ１５については考慮しなくてよい。従って、記憶装置５０のデータ帯域が、４つの画像処理部１０の全てを使用するとき（本実施の形態ではコピーモード）の画像処理部１０の要求帯域の合計値以上となるように第１クロック及び第２クロックを設定すればよい。
【００５５】
なお、中間バッファ３２及びアドレスバッファ３４の各々は、２ポートのバッファであり、それぞれ異なる動作周波数により動作が可能な構成となっている。従って、本実施の形態において、中間バッファ３２及びアドレスバッファ３４の各々の一方のポートは第１クロックで動作し、他方のポートは第２クロックで動作させる。
【００５６】
次に、ＤＭＡ制御部３３の構成について説明する。図３は、ＤＭＡ制御部３３の構成を示す図である。ＤＭＡ制御部３３は、バッファＩ／Ｆ６０、アドレス管理レジスタ群６１、及び排他制御部Ｉ／Ｆ６３を備えている。
【００５７】
バッファＩ／Ｆ６０は、中間バッファ３２及びアドレスバッファ３４とのインタフェースである。アドレス管理レジスタ群６１は、開始アドレスレジスタ７０、終了アドレスレジスタ７１、カレントアドレスレジスタ７２、及びステータスレジスタ７３を備えている。開始アドレスレジスタ７０には、記憶装置５０の対応する記憶領域の先頭のアドレス（開始アドレス）が格納される。終了アドレスレジスタ７１には、記憶装置５０の対応する記憶領域の終端のアドレス（終了アドレス）が格納される。ここで、図４を参照して具体例を説明する。
【００５８】
第１画像処理部１１に対応するＤＭＡ制御部３３のアドレス管理レジスタ群６１の開始アドレスレジスタ７０には、開始アドレスとして0x500が格納される。また、終了アドレスレジスタ７１には、終了アドレスとして0x5FFが格納される。
【００５９】
第２画像処理部１２に対応するＤＭＡ制御部３３のアドレス管理レジスタ群６１の開始アドレスレジスタ７０には、開始アドレスとして0x400が格納される。また、終了アドレスレジスタ７１には、終了アドレスとして0x4FFが格納される。
【００６０】
第３画像処理部１３に対応するＤＭＡ制御部３３のアドレス管理レジスタ群６１の開始アドレスレジスタ７０には、開始アドレスとして0x300が格納される。また、終了アドレスレジスタ７１には、終了アドレスとして0x3FFが格納される。
【００６１】
第４画像処理部１４に対応するＤＭＡ制御部３３のアドレス管理レジスタ群６１の開始アドレスレジスタ７０には、開始アドレスとして0x200が格納される。また、終了アドレスレジスタ７１には、終了アドレスとして0x2FFが格納される。
【００６２】
また、カレントアドレスレジスタ７２には、記憶装置５０に対するカレントアドレス（現在のアクセス先のアドレス）が格納される。例えば、データ転送が何らかの原因により途中で中断した際には、このカレントアドレスが参照され、データ転送が再開される。
【００６３】
ステータスレジスタ７３は、データの転送が終了しているか、転送中であるのか等、現在の状況（ステータス）が格納される。
【００６４】
排他制御部Ｉ／Ｆ６３は、排他制御部４０からアクセス権を取得すると、バッファＩ／Ｆ６０を介して、アドレスバッファ３４からリードアドレスを読み出して排他制御部４０に出力する。また、記憶装置５０から読み出されたデータが排他制御部４０から転送されてきた場合には、バッファＩ／Ｆ６０を介して、中間バッファ３２に該データを書き込む。
【００６５】
図４は、コピーモードにおいて記憶装置５０の複数の記憶領域の各々とコピーモードで使用する画像処理部１０の各々に対応する中間バッファの各々との対応関係を説明する説明図である。図４には、画像処理部１０の各々に対応して設けられた中間バッファ３２の各々が、１から４の添字を付した符号により各々区別して図示されている（第１画像処理部１１用の中間バッファ３２１、第２画像処理部１２用の中間バッファ３２２、第３画像処理部１３用の中間バッファ３２３、第４画像処理部１４用の中間バッファ３２４）。
【００６６】
中間バッファ３２１には、記憶装置５０の0x500から0x5FFまでの記憶領域に記憶されているデータが読み出されて書き込まれる。
【００６７】
中間バッファ３２２には、記憶装置５０の0x400から0x4FFまでの記憶領域に記憶されているデータが読み出されて書き込まれる。
【００６８】
中間バッファ３２３には、記憶装置５０の0x300から0x3FFまでの記憶領域に記憶されているデータが読み出されて書き込まれる。
【００６９】
中間バッファ３２４には、記憶装置５０の0x200から0x2FFまでの記憶領域に記憶されているデータが読み出されて書き込まれる。
【００７０】
また、図５は、スキャンモードにおいて記憶装置の複数の記憶領域の各々とスキャンモードで使用する画像処理部の各々に対応する中間バッファ及びＤＳＰの各々との対応関係を説明する説明図である。図５に示すように、コピーモードにおいて第３画像処理部１３及び第４画像処理部１４によって使用される記憶装置５０の0x200から0x3FFまでの記憶領域は、スキャンモードでは、ＤＳＰ１５により使用可能に割り当てられる。
【００７１】
ところで、各画像処理部１０は、複数の工程が連結されたパイプライン処理を行うように構成されている。図８（Ａ）に一般的なパイプライン処理の一例を示す。図８（Ａ）において、ＡＤ工程はリードアドレスを生成して出力する工程であり、ＯＰ工程は記憶装置５０に記憶されているデータを使用せずに行われる演算処理の工程であり、ＲＤ工程は、記憶装置５０に記憶されているデータを使用して行われる演算処理の工程である。
【００７２】
前述したように、本実施の形態では、リードアドレスがランダムに変化するため、シーケンシャルにリードアドレスが変化する場合とは異なり、データ転送制御装置２０側でデータの読み出しを行いながら次のアドレスを予測するのは不可能である。本実施の形態では、リードアドレスを画像処理部１０で生成し、当該生成されたリードアドレスを画像処理部Ｉ／Ｆ３１を介して一端アドレスバッファ３４に格納し、アドレスバッファ３４に格納されたリードアドレスをＤＭＡ制御部３３が読み出して用いている。すなわち、画像処理部１０からアドレスを生成してからデータが読み出されて転送されるまでのレイテンシ（ここでは待ち時間という）が生じる。そこで、本実施の形態では、図８（Ｂ）に示すように、ＡＤ工程の後であってＲＤ工程の前に、何の処理もせずに待機するＮＯＰ(No operation)工程が挿入されたパイプライン処理が行われるように各画像処理部１０を構成する。
【００７３】
ＮＯＰ工程をどのくらい挿入するか（挿入するＮＯＰ工程のサイクル数）は、待ち時間に応じて定めてもよい。なお、ＲＤ工程を開始するときに当該ＲＤ工程で必要なデータが既に記憶装置５０から読み出されて画像処理部１０に転送された状態となっていればよいため、待ち時間に相当するサイクル数から、ＡＤ工程後ＲＤ工程開始までに行われるＯＰ工程のサイクル数を減算して得られるサイクル数を、ＮＯＰ工程のサイクル数としてもよい。また、待ち時間はデータ処理システム及び画像処理部１０の各々の性能等に応じて異なる。従って、画像処理部１０毎に想定される待ち時間を予め求めておき、当該画像処理部１０毎の待ち時間に応じたサイクル数のＮＯＰ工程が挿入されたパイプライン処理が実行されるよう各画像処理部１０を予め構成しておくようにしてもよい。
【００７４】
このようにＮＯＰ工程を挿入するため、パイプライン処理においてはその分遅延が生じるが、ＮＯＰ工程を挿入したとしてもせいぜい数サイクルであって、各画像処理部１０における画像処理及びデータ処理システム全体のスループットにはほとんど影響しない。
【００７５】
次に、本実施の形態に係るデータ読み出し処理の流れについて説明する。
【００７６】
図６は、ＤＭＡ制御部３３によるデータの読み出し処理の動作の流れを示すフローチャートである。
【００７７】
まず、ＤＭＡ制御部３３が不図示のＣＰＵから記憶装置５０のデータを読み出す指示を受け付ける。このとき、ＣＰＵから開始アドレス及び終了アドレスが上記開始アドレスレジスタ７０及び終了アドレスレジスタ７１の各々に格納され設定される。この設定が終了すると図６のフローチャートに示す処理が開始される。
【００７８】
ステップ１００では、ＤＭＡ制御部３３は、アドレスバッファ３４にまだ読み出されていないリードアドレスが格納されているか否かを判定し、読み出されていないリードアドレスが格納されていなければ待機状態を継続し、読み出されていないリードアドレスが格納されていれば、ステップ１０２に進む。
【００７９】
ステップ１０２では、ＤＭＡ制御部３３は、アクセス要求を出し、排他制御部４０の制御によりアクセス権が付与されたときに、排他制御部４０を介してリードアドレスを指定して、記憶装置５０からデータの読み出しを行う。ＤＭＡ制御部３３は、排他制御部４０を介して上記出力したリードアドレスが示す位置から読み出されたデータが入力されると、当該入力されたデータを、対応する中間バッファ３２に格納する（書き込む）。
【００８０】
ステップ１０４では、ＤＭＡ制御部３３は、予め定められた処理サイズ分のデータを記憶装置５０から中間バッファ３２に読み込んだか否か判定し、ここで肯定判定した場合には、ステップ１０８でデータ読出処理完了を示すステータスビットを上記ステータスレジスタ７３に格納して終了する。
【００８１】
一方、ステップ１０４で、予め定められた処理サイズ分のデータが記憶装置５０から中間バッファ３２に読み込まれていないと判定した場合には、ステップ１０６で、ＤＭＡ制御部３３は、中間バッファ３２にデータを格納できるか、具体的には、単位読み出しサイズ以上の空きがあるか否かを中間バッファ３２の有効データポインタを参照して判定する。
【００８２】
ステップ１０６で肯定判定した場合には、ＤＭＡ制御部３３は、ステップ１００に戻って、上記と同様の処理を繰り返す。一方、ステップ１０６で、否定判定した場合には、中間バッファ３２から画像処理部Ｉ／Ｆ３１によりデータが読み出されて単位読み出しサイズ分の空きができるまで待機する。中間バッファ３２から画像処理部Ｉ／Ｆ３１によりデータが読み出されて中間バッファ３２に単位読み出しサイズ分の空きが生じると、ステップ１０６で肯定判定され、ステップ１００に戻って、上記と同様の処理を繰り返す。
【００８３】
図７は、上記読み出されたデータの画像処理部１０に対する転送動作の流れを示すフローチャートである。
【００８４】
ステップ２００では、画像処理部Ｉ／Ｆ３１は、対応する画像処理部１０から動作開始指示（読出要求）を受け付けると、ステップ２０２で、対応する中間バッファ３２からデータの読み出しが可能か否かを判断する。例えば、有効データがまだ中間バッファ３２に書き込まれていない状態では読み出すことができないため、データの読み出しが可能になるまで、ここで待機する。一方、中間バッファ３２からデータの読み出しが可能な場合には、ステップ２０４で、画像処理部Ｉ／Ｆ３１は、中間バッファ３２から有効データの読み出しを開始する。ステップ２０６では、画像処理部Ｉ／Ｆ３１は、前述した有効データポインタに従って中間バッファ３２に書き込まれた順番に有効データを読み出し、画像処理部１０に順次転送していく。
【００８５】
ステップ２０８で、中間バッファ３２に書き込まれた有効データの読み出しが終了した場合には、ステップ２１０で、予め定められた処理サイズ分のデータを中間バッファ３２から読み出したかを判定する。ステップ２１０で、否定判定した場合には、ステップ２０２に戻って、上記と同様に中間バッファ３２から有効データの読み出しを行う。また、ステップ２１０で肯定判定した場合には、読み出すべきデータが読み出されて転送されたため、ステップ２１２で、画像処理部１０に対する転送動作が終了し、画像処理部１０の画像処理の動作も完了する。
【００８６】
なお、図６に示す処理は第２クロックに従って行われ、図７に示す処理は第１クロックに従って行われる。
【００８７】
次に、記憶装置５０からデータを読み出す際のデータ処理システムの具体的な動作について図９を参照しながら説明する。なお、ここでは、第１画像処理部１１から対応する転送制御部３０の画像処理部Ｉ／Ｆ３１に対して、リードアドレスＡ０、Ａ１、Ａ２が順に出力され、第２画像処理部１２から対応する転送制御部３０の画像処理部Ｉ／Ｆ３１に対して、リードアドレスＡ３、Ａ４、Ａ５が順に出力された場合について説明する。
【００８８】
第１画像処理部１１及び第２画像処理部１２から出力されたアドレスは、各画像処理部Ｉ／Ｆ３１によりアドレスバッファ３４に格納される。各ＤＭＡ制御部３３は、排他制御部４０からアクセス権が付与されたときに、アドレスバッファ３４に格納されたリードアドレスをその格納順に指定することで読み出しを行う。
【００８９】
排他制御部４０に対して、第１画像処理部１１に対応するＤＭＡ制御部３３からリードアドレスＡ０、Ａ１、Ａ２が指定された後に、第２画像処理部１２に対応するＤＭＡ制御部３３からリードアドレスＡ３、Ａ４、Ａ５の順に指定されると、図９に示すように、その指定順に、排他制御部４０の第１ＦＩＦＯに各リードアドレスが格納される。記憶装置５０に対して、異なるアドレスに同時にアクセスすることはできないため、ここでは各リードアドレスを一端第１ＦＩＦＯに格納するようにしている。
【００９０】
排他制御部４０は、リードアドレスを第１ＦＩＦＯから読み出して、Ａ０、Ａ１，Ａ２、Ａ３、Ａ４、Ａ５の順に記憶装置５０の該リードアドレスが示す位置からデータを読み出す。排他制御部４０は、読み出したデータをその読み出し順に第２ＦＩＦＯに格納する。リードアドレスＡ０から読み出したデータをＤ０、リードアドレスＡ１から読み出したデータをＤ１、リードアドレスＡ２から読み出したデータをＤ２、リードアドレスＡ３から読み出したデータをＤ３、リードアドレスＡ４から読み出したデータをＤ４、リードアドレスＡ５から読み出したデータをＤ５とすると、図９に示すように、Ｄ０、Ｄ１，Ｄ２、Ｄ３、Ｄ４、Ｄ５の順に第２ＦＩＦＯに格納される。
【００９１】
排他制御部４０は、データをＤ０、Ｄ１，Ｄ２の順に第２ＦＩＦＯから読み出して第１画像処理部１１に対応する転送制御部３０のＤＭＡ制御部３３に出力し、続いて、データをＤ３、Ｄ４，Ｄ５の順に第２ＦＩＦＯから読み出して第２画像処理部１２に対応する転送制御部３０のＤＭＡ制御部３３に出力する。
【００９２】
各ＤＭＡ制御部３３は、排他制御部４０を介して記憶装置５０から入力されたデータを各々の中間バッファ３２に格納する。そして、中間バッファ３２に格納されたデータは、画像処理部Ｉ／Ｆ３１により、その格納順に読み出され、対応する画像処理部１０に転送される。
【００９３】
なお、例えば、排他制御部４０に、第１画像処理部１１及び第２画像処理部１２から交互にリードアドレスが指定される場合であっても、排他制御部４０はその指定順に記憶装置５０からデータを読み出す。例えば、リードアドレスがＡ０、Ａ３、Ａ１、Ａ４、Ａ２、Ａ５の順に指定された場合には、排他制御部４０は、リードアドレスＡ０、Ａ３、Ａ１、Ａ４、Ａ２、Ａ５の順に記憶装置５０の該リードアドレスが示す位置からデータを読み出す。これにより、Ｄ０、Ｄ３、Ｄ１、Ｄ４、Ｄ２、Ｄ５の順に記憶装置５０からデータが読み出される。排他制御部４０は、第１画像処理部１１に対応するＤＭＡ制御部３３に対してリードデータＤ０を出力した後に、第２画像処理部１２に対応するＤＭＡ制御部３３に対してリードデータＤ３を出力し、次に、第１画像処理部１１に対応するＤＭＡ制御部３３に対してリードデータＤ１を出力し、第２画像処理部１２に対応するＤＭＡ制御部３３に対してリードデータＤ４を出力し、・・・のようにデータを出力する。
【００９４】
スキャンモードにおいてＤＳＰ１５と画像処理部１０とが記憶装置５０を共有する場合における排他制御も、前述したように、画像処理部１０のみで記憶装置５０を使用するときと同様である。すなわち、ＤＳＰ１５と画像処理部１０が、記憶装置５０を共有する場合であっても、排他制御部４０が、記憶装置５０に対するアクセス権を制御する。このときの各画像処理部１０に対応するＤＭＡ制御部３３の動作、及び画像処理部Ｉ／Ｆ３１の動作も、画像処理部１０のみで記憶装置５０を使用するときの動作と同じとなる（図６、図７も参照。）。
【００９５】
そして、スキャンモードにおいて、ＤＳＰ１５からリードアドレスが指定された場合であっても、排他制御部４０は、上記と同様、指定された順に記憶装置５０からデータを読み出す（図９も参照。）。
【００９６】
このように、スキャンモードにおいては、第１画像処理部１１及び第２画像処理部１２だけでなく、ＤＳＰ１５も記憶装置５０に対するアクセスすることがあるが、このような場合でも、画像処理部１０側の第１クロックは、第２クロックに比較して遅く、又、中間バッファ３２やアドレスバッファ３４が緩衝バッファとして機能するため、画像処理部１０は動作し続けることが可能な一方で、ＤＳＰ１５も問題なく記憶装置５０にアクセスすることができる。
【００９７】
[第２の実施の形態]
【００９８】
本実施の形態では、各転送制御部に、記憶装置５０に対してデータを書き込むときに用いるバッファと、記憶装置５０からデータを読み出すときに用いるバッファとを各々設けた構成について説明する。
【００９９】
図１０は、本実施の形態に係るデータ処理システムの構成を示す図である。ここで、図１０に示す符号と、図２に示す符号が同一の構成要素は、それぞれ、同一の機能を有する構成要素を意味するため説明を省略する。なお、本実施の形態の各画像処理部１０は、記憶装置５０にデータを書き込む場合にも、読み出しの場合と同様に、後述するライトアドレスを生成して出力し、当該ライトアドレスが示す書き込み位置にデータを書き込ませる。記憶装置５０に対するデータの書き込みを行う場合のパイプライン処理には、ライトアドレス生成のための生成工程が含まれている。また、本実施の形態では、第１の実施の形態の転送制御部３０の代わりに、転送制御部４１を設けた。転送制御部４１は、画像処理部Ｉ／Ｆ３１、ライトバッファ３６、リードバッファ３８、アドレスバッファ３４、及びＤＭＡ制御部４２を備えている。
【０１００】
リードバッファ３８は、第１の実施の形態で説明した中間バッファ３２と同様に構成され、一時的に記憶装置５０からの読み出しデータを記憶するための、先入れ先出し型（ＦＩＦＯ型）の記憶手段であって、記憶装置５０からデータを読み込む際の緩衝バッファとして機能する。
【０１０１】
ライトバッファ３６も、一時的に記憶装置５０への書き込みデータを記憶するための、先入れ先出し型（ＦＩＦＯ型）の記憶手段であって、予め定められた量のデータが格納可能に構成され、記憶装置５０にデータを書き込む際の緩衝バッファとして機能する。
【０１０２】
アドレスバッファ３４は、リードアドレスだけでなく、データを記憶装置５０に書き込ませるときの書き込み位置を示すアドレス（ライトアドレス）も格納される。すなわち、アドレスバッファ３４は、リードアドレス及びライトアドレス兼用のバッファである。本実施の形態では、後述する画像処理部Ｉ／Ｆ３１で、リードアドレスにはリード用のフラグを付与し、ライトアドレスにはライト用のフラグを付与することにより各アドレスを区別可能にして、アドレスバッファ３４に格納する。なお、リードアドレス格納用のバッファと、ライトアドレス格納用のバッファを別々に設けてもよい。
【０１０３】
転送制御部４１の各画像処理部Ｉ／Ｆ３１は、対応する画像処理部１０に接続されており、対応する画像処理部１０からの記憶装置５０へのアクセス情報を解析して、アクセス情報にリードアドレスが指定されていた場合には、第１の実施の形態と同様に、当該リードアドレスをアドレスバッファ３４に格納する。また、リードバッファ３８に記憶装置５０から読み出されたデータが格納された場合には、第１の実施の形態と同様に、リードバッファ３８に格納されたデータをその格納順に読み出して、対応する画像処理部１０に転送する。
【０１０４】
また、画像処理部Ｉ／Ｆ３１は、画像処理部１０からのアクセス情報にライトアドレスが指定されていた場合には、当該ライトアドレスをアドレスバッファ３４に格納する。また、当該ライトアドレスが示す書き込み位置に書き込むべきデータが画像処理部１０から入力された場合には、当該入力されたデータをライトバッファ３６に書き込む。
【０１０５】
すなわち、本実施の形態では、画像処理部１０から記憶装置５０に書き込むためのデータを予めライトバッファ３６に書き込んでおき、ＤＭＡ制御部４２が排他制御部４０によるアクセス権（ここでは記憶装置５０にデータを書き込む権利）取得後にライトアドレスを指定して、ライトバッファ３６に予め格納しておいたデータを記憶装置５０に書き込む。この場合も、ライトバッファ３６に有効データポインタを設定して処理する。なお、この場合の有効データは、対応する画像処理部１０によってライトバッファ３６に書き込まれたデータのうち、記憶装置５０に書き込まれていない（転送されていない）データをいい、有効データポインタは、この有効データの先頭位置（次の読出開始位置）と末尾位置を各々指し示すポインタである。ライトバッファ３６に対するデータの書き込みや読み出しに応じて有効データポインタは変化する。画像処理部Ｉ／Ｆ３１は、該有効データポインタを参照しながら、ライトバッファ３６にデータを書き込み、ＤＭＡ制御部４２は、該有効データポインタを参照しながら、ライトバッファ３６から有効データを書き込まれた順に順番に読み出して排他制御部４０を介して記憶装置５０の上記ライトアドレスにより指定された記憶領域に書き込む。
【０１０６】
また、本構成においても、図１０に示すように、ライトバッファ３６、リードバッファ３８及びアドレスバッファ３４の各々と画像処理部Ｉ／Ｆ３１との接続部分から画像処理部１０までを第１クロック（第１動作周波数）で動作させ、ライトバッファ３６、リードバッファ３８、及びアドレスバッファ３４の各々とＤＭＡ制御部３３との接続部分から記憶装置５０までを第２クロック（第２動作周波数）で動作させるよう設定されている。
【０１０７】
なお、ライトバッファ３６も、リードバッファ３８と同様、２ポートのバッファであり、各ポート毎に異なる動作周波数により動作が可能な構成となっている。
【０１０８】
ＤＭＡ制御部４２は、排他制御部４０に接続されており、第１の実施の形態のＤＭＡ制御部３３と同様に、排他制御部４０の排他制御により記憶装置５０からデータを読み出す権利が付与された場合に、アドレスバッファ３４に格納されているリードアドレスを指定して排他制御部４０を介して記憶装置５０からデータを読み出す。また、ＤＭＡ制御部４２は、記憶装置５０から読み出されたデータを排他制御部４０から受け取ると、リードバッファ３８に当該データを書き込む。
【０１０９】
また、ＤＭＡ制御部４２は、排他制御部４０の排他制御により記憶装置５０にデータを書き込む権利が付与された場合に、アドレスバッファ３４に格納されているライトアドレスを指定して排他制御部４０を介してライトバッファ３６に格納されているデータをライトアドレスが示す位置に書き込む。
【０１１０】
図１１は、本実施の形態に係るＤＭＡ制御部４２の構成を示す図である。ＤＭＡ制御部４２は、バッファＩ／Ｆ６０、アドレス管理レジスタ群６１、排他制御部Ｉ／Ｆ６３、及び読出・書込タイミング制御部６７を備えている。
【０１１１】
ここで、図１１に示す符号と、図３に示す符号が同一の構成要素は、それぞれ、同一の機能を有する構成要素を意味するため説明を省略する。ただし、バッファＩ／Ｆ６０は、ライトバッファ３６、リードバッファ３８、及びアドレスバッファ３４とのインタフェースとなっている。また、排他制御部Ｉ／Ｆ６３は、第１の実施の形態で説明した機能の他、排他制御部４０から書き込みのためのアクセス権を取得すると、バッファＩ／Ｆ６０を介して、アドレスバッファ３４からライトアドレスを読み出して排他制御部４０を介して記憶装置５０に出力すると共に、ライトバッファ３６から読み出したデータを排他制御部４０を介して記憶装置５０に出力する機能も有する。
【０１１２】
読出・書込タイミング制御部６７は、リードアドレスを出力するときのタイミング、ライトアドレスを出力するときのタイミングを制御すると共に、記憶装置５０から読み出されたデータをリードバッファ３８に書き込むときのタイミング、及びライトバッファ３６に格納されたデータを読み出すときのタイミングを制御する。
【０１１３】
そして、本実施の形態でも、コピーモードの場合には、４つの画像処理部１０の各々が記憶装置５０を使用し、スキャンモードの場合には、第１画像処理部１１、第２画像処理部１２、及びＤＳＰ１５が記憶装置５０を使用するものとする。記憶装置５０の記憶領域の割り当ては、第１の実施の形態で図４及び図５を用いて説明したとおりであるため、説明を省略する。
【０１１４】
ここで、コピーモード及びスキャンモードの双方において排他制御部４０で行われる、記憶装置５０からのデータ読み出しのためのアクセス制御は、第１の実施の形態と同様である。また、記憶装置５０へのデータ書き込みのためのアクセス制御も、データ読み出しのためのアクセス制御と同様に行われる。すなわち、画像処理部１０或いはＤＳＰ１５からデータ書き込みのためのアクセス要求を受けると、複数のＤＭＡ制御部３３或いはＤＳＰ１５が競合しないよう該アクセス権を排他的に付与して排他制御を行う。そして、アクセス権が付与されたＤＭＡ制御部３３或いはＤＳＰ１５は、ライトアドレスを指定する。排他制御部４０は、ライトアドレスが指定された順に記憶装置５０に対して書き込みを行う。この排他制御は、コピーモードにおいてもスキャンモードにおいても同様に行われる。
【０１１５】
なお、本実施の形態では、ライトバッファ３６及びリードバッファ３８を各々個別に設けた例について説明したが、１つの中間バッファ３２を読み出し用及び書き込み用の緩衝バッファとして兼用してもよい。この場合には、中間バッファ３２を読み出し用のバッファとして用いるか、書き込み用のバッファとして用いるかを切替える切替手段を設けるようにしてもよい。
【０１１６】
また、本実施の形態では、記憶装置５０に対してデータを書き込む際に、記憶装置５０からデータを読み出す場合と同様に、ライトアドレスを指定して記憶装置５０にデータを書き込む（リードモディファイライトが可能な構成）例について説明したが、ライトアドレスを指定せずに、記憶装置５０の空き領域にシーケンシャルにアクセスしてデータを書き込むようにしてもよい。
【０１１７】
また、上記第１及び第２の実施の形態では、処理手段として画像処理を行う画像処理部１０を複数設けた例について説明したが、待機工程（ＮＯＰ工程）が設けられ記憶装置５０から転送されたデータを転送順にパイプライン処理する手段であればよく、上記画像処理部１０に限定されない。
【符号の説明】
【０１１８】
１０、１１、１２、１３、１４  画像処理部
１５  ＤＳＰ
２０  データ転送制御装置
３０、４１  転送制御部
３１  画像処理部Ｉ／Ｆ
３２  中間バッファ
３４  アドレスバッファ
３３、４２  ＤＭＡ制御部
３８  リードバッファ
３６  ライトバッファ
４０  排他制御部
５０  記憶装置
【図１】
2012053700.tif 000003
【図２】
2012053700.tif 000004
【図３】
2012053700.tif 000005
【図４】
2012053700.tif 000006
【図５】
2012053700.tif 000007
【図６】
2012053700.tif 000008
【図７】
2012053700.tif 000009
【図８】
2012053700.tif 000010
【図９】
2012053700.tif 000011
【図１０】
2012053700.tif 000012
【図１１】
2012053700.tif 000013