(57)【要約】【課題】簡易的な設定を基に局所的なバス負荷を低減するためにデータ経路を調整し、システム全体のデータスループットを向上させること。【解決手段】データバス及びデータのアクセスルートを複数備えるデータ処理システムにおいて、データ転送制御装置１００は、データ転送開始前に、外部からデータ転送における設定値が設定記憶される制御レジスタ部１０３と、上記制御レジスタ部１０３に記憶された上記設定値に基づき、上記複数のデータバス３００，４００の何れかを使用する、データが通過する経路を、自律的に決定する比較部１０４と、を備える。【選択図】図２
2011100414.tif 000002
【特許請求の範囲】
【請求項１】
データバス及びデータのアクセスルートを複数備えるデータ処理システムにおいて、
データ転送開始前に、外部からデータ転送における設定値が設定記憶される記憶部と、
上記記憶部に記憶された上記設定値に基づき、上記複数のデータバスの何れかを使用する、データが通過する経路を、自律的に決定するデータ経路決定部と、
を具備することを特徴とするデータ転送制御装置。
【請求項２】
上記記憶部に記憶される設定値は、サイズ情報とその閾値情報であって、
上記データ経路決定部は、上記記憶部に記憶された上記サイズ情報が上記閾値情報よりも大きいか否かに基づいて、上記データが通過する経路を自律的に切り替えることを特徴とする請求項１に記載のデータ転送制御装置。
【請求項３】
上記サイズ情報がデータ転送のデータサイズであることを特徴とする請求項２に記載のデータ転送制御装置。
【請求項４】
上記サイズ情報がデータ転送のバースト長であることを特徴とする請求項２に記載のデータ転送制御装置。
【請求項５】
上記サイズ情報がデータ転送のデータバスのビット幅であることを特徴とする請求項２に記載のデータ転送制御装置。
【請求項６】
上記記憶部に記憶される設定値は、アドレス情報とその閾値情報であって、
上記データ経路決定部は、上記記憶部に記憶された上記アドレス情報が上記閾値情報よりも大きいか否かに基づいて、上記データが通過する経路を自律的に切り替えることを特徴とする請求項１に記載のデータ転送制御装置。
【請求項７】
上記アドレス情報がデータ転送の転送元アドレスであることを特徴とする請求項６に記載のデータ転送制御装置。
【請求項８】
上記アドレス情報がデータ転送の転送先アドレスであることを特徴とする請求項６に記載のデータ転送制御装置。
【請求項９】
上記閾値情報がアドレス範囲を示す情報であることを特徴とする請求項６に記載のデータ転送制御装置。
【請求項１０】
請求項１乃至請求項９の何れかに記載のデータ転送制御装置と、
上記複数のデータバスの一つに接続され、画像データを処理する画像処理部と、
を具備することを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大容量のデータ転送を行うデータ転送制御装置及びそのようなデータ転送制御装置を有する画像処理装置に関する。
【背景技術】
【０００２】
入出力装置からデータを効率よく転送する方法の１つに、デバイスとシステムメモリとの間でデータ転送を行うダイレクトメモリアクセス（以下、ＤＭＡと記す）転送方式がある。このＤＭＡ転送方式は、一般にデータ転送制御装置と呼ばれる新規のハードウェアを必要とする。しかしながら、デバイスとシステムメモリとの間で直接的にデータ転送が行えるため、データ転送効率に優れている。また、ＣＰＵを介さずにデータ転送処理を行う事ができるので、ＣＰＵの負荷が軽減され、システム全体の処理の高速化が実現されている。
【０００３】
このようなデータ転送制御装置がバスに接続されるデータ転送装置を構成するときに、上記データ転送制御装置とデータバスとのインタフェースの整合性を考慮しなくてはならない。従って、複数のバスに上記データ転送制御装置を接続する場合は、例えば特許文献１に示されるような複数のバスＩ／Ｆ回路を備えたバスブリッジが必要となる。該特許文献１によれば、データ転送制御装置とバスの間に中継部を備える事により、複数のバス上にも上記データ転送制御装置を接続する事が可能となる。
【０００４】
また、特許文献２のように、データ転送中継装置の内部にデータ記憶部を具備する事で連続転送を可能とし、さらなるデータ転送効率の向上が図られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−１３４２８９号公報
【特許文献２】特開２００４−３５５０４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
通常、ＬＳＩのデータバスは様々なサイズのデータ転送を行なっている。また、近年のデジタルカメラの撮像素子の高画素化に伴う画像データの大容量化と高速化や画像処理の複雑化によって、単位時間内に扱うデータのサイズは年々増大している。そのため、従来の構成のみではバス帯域の不足に陥るケースがみられた。
【０００７】
この帯域不足を回避する従来手法として、バスのプライオリティ制御やＬＯＣＫ制御、命令／制御バスとデータバスを分離する方法などがある。この場合、ＲＯＭから命令のフェッチやＣＰＵから各レジスタ制御を行う際の低速アクセスによるバスの帯域の占有を軽減することができる。
【０００８】
一方、デジタルカメラにおける撮像や画像処理、記録、表示等を同時に扱う、画像処理エンジンとも称される画像処理装置は、リアルタイム性と高速性の両立が求められている。この画像処理装置は、データの処理内容によって同一コアとメモリ間で転送されるデータ量と負荷が大きく変動する特徴を持っている。
【０００９】
このため、デジタルカメラにおいて高速連写を行う場合、従来のデータ転送制御装置のようにＣＰＵがバス状態の監視や制御を管理するだけでは処理が追いつかず、連写速度や連写枚数が制限されてしまう。また、高速データ転送中の少量のデータ転送や、撮像素子の高画素化に伴う記録画像と表示画像との間のデータ量の偏りなどから、使用条件によって局所的にバスの負荷がかかり、データバスのスループットが低下するという問題が出てきている。
【００１０】
本発明は、上記の点に鑑みてなされたもので、簡易的な設定を基に局所的なバス負荷を低減するためにデータ経路を調整し、システム全体のデータスループットを向上させることができるデータ転送制御装置及びそのようなデータ転送制御装置を有する画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明のデータ転送制御装置の一態様は、
データバス及びデータのアクセスルートを複数備えるデータ処理システムにおいて、
データ転送開始前に、外部からデータ転送における設定値が設定記憶される記憶部と、
上記記憶部に記憶された上記設定値に基づき、上記複数のデータバスの何れかを使用する、データが通過する経路を、自律的に決定するデータ経路決定部と、
を具備することを特徴とする。  
また、本発明の画像処理装置の一態様は、
上記データ転送制御装置の一態様と、
上記複数のデータバスの一つに接続され、画像データを処理する画像処理部と、
を具備することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、簡易的な設定を基に局所的なバス負荷を低減するためにデータ経路を調整し、システム全体のデータスループットを向上させることができるデータ転送制御装置及びそのようなデータ転送制御装置を有する画像処理装置を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１実施形態に係るデータ転送制御装置を備えるデータ処理システムの構成を示す図である。
【図２】第１実施形態に係るデータ転送制御装置の構成を示す図である。
【図３】第１実施形態に係るデータ転送制御装置における制御レジスタ部の構成を示す図である。
【図４】第６実施形態に係るデータ転送制御装置における制御レジスタ部の構成を示す図である。
【図５】本発明の一実施形態に係る画像処理装置を備えるデータ処理システムの構成を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための形態を図面を参照して説明する。
【００１５】
（データ転送制御装置）
まず、本発明のデータ転送制御装置の実施形態を説明する。
【００１６】
［第１実施形態］
図１に示すように、本発明の第１実施形態に係るデータ転送制御装置１００は、データバス及びデータのアクセスルートを複数備えるデータ処理システムに適用される。即ち、このデータ処理システムは、本実施形態に係るデータ転送制御装置１００と、メモリ２００、第１バス３００、第２バス４００、ＣＰＵ５００、及びレジスタバス６００と、から構成されている。
【００１７】
第１バス３００は、バス幅が１２８ｂｉｔとなっており、データ転送制御装置１００とメモリ２００とが接続されている。第２バス４００は、バス幅が３２ｂｉｔとなっており、ＣＰＵ５００とデータ転送制御装置１００とメモリ２００とが接続されている。
【００１８】
メモリ２００は、第２バス４００に接続されているＣＰＵ５００からのアクセスや、第１バス３００及び第２バス４００に接続されているデータ転送制御装置１００からのＤＭＡ転送をスレーブ動作にて受け付け、データやＣＰＵ５００のインストラクションデータを保存し、リード及びライトが可能となっている。
【００１９】
ＣＰＵ５００は、レジスタバス６００を介してデータ転送制御装置１００に転送起動の指示や転送に関わる設定値を設定する。
【００２０】
データ転送制御装置１００は、図２に示すように、第１バス３００に接続されているＤＭＡ転送を実施する第１ＤＭＡマスタポート部１０１と、第２バス４００に接続されているＤＭＡ転送を実施する第２ＤＭＡマスタポート部１０２と、レジスタバス６００と接続されレジスタ設定を受け付ける制御レジスタ部１０３と、制御レジスタ部１０３を基に比較を実施する比較部１０４と、第１ＤＭＡマスタポート部１０１または第２ＤＭＡマスタポート部１０２が取得したデータを保持するデータ処理部１０５と、から構成されている。
【００２１】
制御レジスタ部１０３は、図３に示すように、転送開始レジスタ１０３−１、入力バス使用閾値レジスタ１０３−２、出力バス使用閾値レジスタ１０３−３、データサイズレジスタ１０３−４、入力バースト長レジスタ１０３−５、出力バースト長レジスタ１０３−６、入力データ幅サイズレジスタ１０３−７、出力データ幅サイズレジスタ１０３−８、入力アドレスレジスタ１０３−９、及び出力アドレスレジスタ１０３−１０を有している。
【００２２】
ＤＭＡ転送開始レジスタ１０３−１は、当該データ転送制御装置１００のＤＭＡ転送の開始時に所定の値、例えば「１」が設定記憶されるレジスタである。
【００２３】
入力バス使用閾値レジスタ１０３−２及び出力バス使用閾値レジスタ１０３−３は、ＤＭＡ転送の開始前に、比較部１０４で使用するための閾値情報が設定記憶されるレジスタである。また、データサイズレジスタ１０３−４は、第１ＤＭＡマスタポート部１０１または第２ＤＭＡマスタポート部１０２にてＤＭＡ転送する際のパラメータとなる、メモリ２００からデータを取得する際またはメモリ２００へデータを格納する際のデータサイズがＤＭＡ転送の開始前に設定されるレジスタである。本第１実施形態では、上記入力バス使用閾値レジスタ１０３−２または出力バス使用閾値レジスタ１０３−３には、閾値情報として、このデータ転送のデータサイズの閾値が設定記憶される。従って、これら入力バス使用閾値レジスタ１０３−２、出力バス使用閾値レジスタ１０３−３、及びデータサイズレジスタ１０３−４は、データ転送開始前に、外部からデータ転送における設定値が設定記憶される記憶部として機能する。
【００２４】
入力バースト長レジスタ１０３−５は、メモリ２００からデータを取得する際の連続データ転送回数であるデータ転送のバースト長がＤＭＡ転送の開始前に設定されるレジスタであり、出力バースト長レジスタ１０３−６は、メモリ２００へデータを格納する際の連続データ転送回数であるデータ転送のバースト長がＤＭＡ転送の開始前に設定されるレジスタである。
【００２５】
入力データ幅サイズレジスタ１０３−７は、メモリ２００からデータを取得する際のデータ幅であるデータ転送のデータバスのビット幅がＤＭＡ転送の開始前に設定されるレジスタであり、出力データ幅サイズレジスタ１０３−８は、メモリ２００へデータを格納する際のデータ幅であるデータ転送のデータバスのビット幅がＤＭＡ転送の開始前に設定されるレジスタである。
【００２６】
入力アドレスレジスタ１０３−９は、メモリ２００からデータを取得する際のアドレスであるデータ転送の転送元アドレスがＤＭＡ転送の開始前に設定されるレジスタであり、出力アドレスレジスタ１０３−１０は、メモリ２００へデータを格納する際のアドレスであるデータ転送の転送先アドレスがＤＭＡ転送の開始前に設定されるレジスタである。
【００２７】
比較部１０４は、ＤＭＡ転送開始レジスタ１０３−１に所定の値が設定された際に、メモリ２００からのデータ取得のみの動作の場合は、データサイズレジスタ１０３−４に設定されているデータサイズと入力バス使用閾値レジスタ１０３−２に設定されているデータサイズの閾値とを比較する。そして、データサイズレジスタ１０３−４に設定されているデータサイズの方が入力バス使用閾値レジスタ１０３−２に設定されている閾値よりも大きければ、データが通過する経路を、第１ＤＭＡマスタポート部１０１側と決定する。これにより、第１ＤＭＡマスタポート部１０１は、ＤＭＡ転送にて第１バス３００を経由してメモリ２００からデータを取得し、データ処理部１０５へ送る。これに対して、データサイズレジスタ１０３−４に設定されているデータサイズが入力バス使用閾値レジスタ１０３−２に設定されている閾値よりも大きくなければ、データが通過する経路を、第２ＤＭＡマスタポート部１０２側と決定する。これにより、第２ＤＭＡマスタポート部１０２は、ＤＭＡ転送にて第２バス４００を経由してメモリ２００からデータを取得し、データ処理部１０５へ格納する。
【００２８】
一方、メモリ２００へのデータ格納のみの動作の場合は、比較部１０４は、データサイズレジスタ１０３−４に設定されているデータサイズと出力バス使用閾値レジスタ１０３−３に設定されているデータサイズの閾値とを比較する。そして、データサイズレジスタ１０３−４に設定されているデータサイズの方が出力バス使用閾値レジスタ１０３−３に設定されている閾値よりも大きくなければ、データが通過する経路を、第２ＤＭＡマスタポート部１０２側と決定する。これにより、第２ＤＭＡマスタポート部１０２は、データ処理部１０５にあるデータをＤＭＡ転送にて第２バス４００を経由してメモリ２００へ送る。これに対して、データサイズレジスタ１０３−４に設定されているデータサイズの方が出力バス使用閾値レジスタ１０３−３に設定されている閾値よりも大きければ、データが通過する経路を、第１ＤＭＡマスタポート部１０１側と決定する。これにより、第１ＤＭＡマスタポート部１０１は、ＤＭＡ転送にて第１バス３００を経由してメモリ２００へデータ処理部１０５にあるデータを送る。
【００２９】
以上のように、比較部１０４は、記憶部に記憶された設定値に基づき、複数のデータバスの何れかを使用する、データが通過する経路を、自律的に決定するデータ経路決定部として機能する。
【００３０】
以下、より具体的な例を用いて説明する。
【００３１】
本実施形態では、主に以下の８つの動作がある。  
（１）データ転送制御装置１００が、一般的な記録サイズである１２Ｍ（４０００×３０００）サイズの記録用画像データを、第１バス３００経由でメモリ２００から取得する。  
（２）データ転送制御装置１００が、一般的な記録サイズである１２Ｍサイズの記録用画像データを、第２バス４００経由でメモリ２００から取得する。  
（３）データ転送制御装置１００が、一般的な記録サイズである１２Ｍサイズの記録用画像データを、第１バス３００経由でメモリ２００へ格納する。  
（４）データ転送制御装置１００が、一般的な記録サイズである１２Ｍサイズの記録用画像データを、第２バス４００経由でメモリ２００へ格納する。  
（５）データ転送制御装置１００が、一般的な表示サイズであるＶＧＡ（６４０×４８０）サイズの表示用画像データを、第１バス３００経由でメモリ２００から取得する。  
（６）データ転送制御装置１００が、一般的な表示サイズであるＶＧＡサイズの表示用画像データを、第２バス４００経由でメモリ２００から取得する。  
（７）データ転送制御装置１００が、一般的な表示サイズであるＶＧＡサイズの表示用画像データを、第１バス３００経由でメモリ２００へ格納する。  
（８）データ転送制御装置１００が、一般的な表示サイズであるＶＧＡサイズの表示用画像データを、第２バス４００経由でメモリ２００へ格納する。
【００３２】
上記（１）の動作を行なう場合には、ＣＰＵ５００は、ＤＭＡ転送の開始前に、レジスタバス６００を通してデータ転送制御装置１００内部の制御レジスタ部１０３に対し、データサイズレジスタ１０３−４には記録サイズである１２Ｍを、入力バス使用閾値レジスタ１０３−２には閾値情報として記録サイズの半分の値（６Ｍ）を、それぞれ設定する。また、入力アドレス等のＤＭＡ転送に必要なパラメータを、対応するレジスタに設定する。その後、ＣＰＵ５００は、ＤＭＡ転送開始レジスタ１０３−１に所定の値を設定することで、データ転送制御装置１００を起動させる。
【００３３】
起動させられたデータ転送制御装置１００は、比較部１０４にて、データサイズレジスタ１０３−４に設定されているデータサイズと入力バス使用閾値レジスタ１０３−２に設定されている閾値とを比較する。この場合、データサイズレジスタ１０３−４に設定されているデータサイズが入力バス使用閾値レジスタ１０３−２に設定されている閾値よりも大きいため、第１ＤＭＡマスタポート部１０１をデータが通過する経路と決定する。これにより、第１ＤＭＡマスタポート部１０１が第１バス３００を通してメモリ２００からデータを取得し、それをデータ処理部１０５に格納する。
【００３４】
上記（２）の動作を行なう場合には、ＣＰＵ５００は、ＤＭＡ転送の開始前に、レジスタバス６００を通してデータ転送制御装置１００内部の制御レジスタ部１０３を設定する。即ち、データサイズレジスタ１０３−４には記録サイズである１２Ｍを、入力バス使用閾値レジスタ１０３−２には閾値情報として記録サイズの倍の値（２４Ｍ）を、それぞれ設定する。また、入力アドレス等のＤＭＡ転送に必要なパラメータを、対応するレジスタに設定する。その後、ＣＰＵ５００は、ＤＭＡ転送開始レジスタ１０３−１に所定の値を設定することで、データ転送制御装置１００を起動させる。
【００３５】
起動させられたデータ転送制御装置１００は、比較部１０４にて、データサイズレジスタ１０３−４に設定されているデータサイズと入力バス使用閾値レジスタ１０３−２に設定されている閾値とを比較する。この場合、データサイズレジスタ１０３−４に設定されているデータサイズが入力バス使用閾値レジスタ１０３−２に設定されている閾値よりも大きくないため、第２ＤＭＡマスタポート部１０２をデータが通過する経路と決定する。これにより、第２ＤＭＡマスタポート部１０２が第２バス４００を通してメモリ２００からデータを取得し、それをデータ処理部１０５に格納する。
【００３６】
上記（３）の動作を行なう場合には、ＣＰＵ５００は、ＤＭＡ転送の開始前に、レジスタバス６００を通してデータ転送制御装置１００内部の制御レジスタ部１０３を設定する。即ち、データサイズレジスタ１０３−４には記録サイズである１２Ｍを、出力バス使用閾値レジスタ１０３−３には閾値情報として記録サイズの半分の値（６Ｍ）を、それぞれ設定する。また、出力アドレス等のＤＭＡ転送に必要なパラメータを、対応するレジスタに設定する。その後、ＣＰＵ５００は、ＤＭＡ転送開始レジスタ１０３−１に所定の値を設定することで、データ転送制御装置１００を起動させる。
【００３７】
起動させられたデータ転送制御装置１００は、比較部１０４にて、データサイズレジスタ１０３−４に設定されているデータサイズと出力バス使用閾値レジスタ１０３−３に設定されている閾値とを比較する。この場合、データサイズレジスタ１０３−４に設定されているデータサイズが出力バス使用閾値レジスタ１０３−３に設定されている閾値よりも大きいため、第１ＤＭＡマスタポート部１０１をデータが通過する経路と決定する。これにより、第１ＤＭＡマスタポート部１０１がデータ処理部１０５に格納されている記録用データを第１バス３００を通してメモリ２００へ送り、そこに格納する。
【００３８】
上記（４）の動作を行なう場合には、ＣＰＵ５００は、ＤＭＡ転送の開始前に、レジスタバス６００を通してデータ転送制御装置１００内部の制御レジスタ部１０３を設定する。即ち、データサイズレジスタ１０３−４には記録サイズである１２Ｍを、出力バス使用閾値レジスタ１０３−３には記録サイズの倍の値（２４Ｍ）を、それぞれ設定する。また、出力アドレス等のＤＭＡ転送に必要なパラメータを、対応するレジスタに設定する。その後、ＣＰＵ５００は、ＤＭＡ転送開始レジスタ１０３−１に所定の値を設定することで、データ転送制御装置１００を起動させる。
【００３９】
起動させられたデータ転送制御装置１００は、比較部１０４にて、データサイズレジスタ１０３−４に設定されているデータサイズと出力バス使用閾値レジスタ１０３−３に設定されている閾値とを比較する。この場合、データサイズレジスタ１０３−４に設定されているデータサイズが出力バス使用閾値レジスタ１０３−３に設定されている閾値よりも大きくないため、第２ＤＭＡマスタポート部１０２をデータが通過する経路と決定する。これにより、第２ＤＭＡマスタポート部１０２がデータ処理部１０５に格納されている記録用データを第２バス４００を通してメモリ２００へ送り、そこに格納する。
【００４０】
上記（５）〜（８）の動作は、上記（１）〜（４）の画像サイズを１２ＭサイズからＶＧＡサイズへ変更したデータ転送の実施である。よって、その説明は省略する。
【００４１】
なお、上記のパラメータ及び閾値の各値は一例に過ぎず、本発明はそれらの値に限定するものでないことは勿論である。
【００４２】
以上のように、本第１実施形態によれば、制御レジスタ部１０３の入力バス使用閾値レジスタ１０３−２、出力バス使用閾値レジスタ１０３−３及びデータサイズレジスタ１０３−４に記憶された設定値に基づき、第１バス３００と第２バス４００の何れかを使用する、データが通過する経路を、自律的に決定するので、簡易的な設定を基に局所的なバス負荷を低減するためにデータ経路を調整し、システム全体のデータスループットを向上させることができる。
【００４３】
また、データが通過する経路の決定は、サイズ情報がその閾値よりも大きいか否かに基づいて、簡単に行なうことができる。そして、サイズ情報として、データサイズを用いることで、例えば記録する画像データと、表示する画像データとで閾値を変更することにより、自律的にデータ経路の変更が可能となる。
【００４４】
なお、上記実施形態では、比較部１０４においてデータサイズが入力または出力バス使用閾値より大きいか否かにより、使用するＤＭＡマスタポート部を選択するようにしていたが、これに限定されるものではなく、それ以外の大きい、等しい、小さいなどの３種以上の比較に変更しても、同様の効果を得ることが可能である。
【００４５】
［第２実施形態］
本発明の第２実施形態に係るデータ転送制御装置１００の構成は、上記第１実施形態のそれと同様であり、比較部１０４が比較する対象が異なる。
【００４６】
以下、上記第１実施形態と異なる部分を説明する。
【００４７】
本第２実施形態では、ＤＭＡ転送の開始前に、比較部１０４で使用するための閾値情報が設定記憶されるレジスタである入力バス使用閾値レジスタ１０３−２または出力バス使用閾値レジスタ１０３−３には、閾値情報として、このデータ転送のバースト長の閾値が設定記憶される。即ち、本実施形態では、これら入力バス使用閾値レジスタ１０３−２、出力バス使用閾値レジスタ１０３−３と、データ転送のバースト長が設定される入力バースト長レジスタ１０３−５または出力バースト長レジスタ１０３−６とは、データ転送開始前に、外部からデータ転送における設定値が設定記憶される記憶部として機能する。
【００４８】
比較部１０４は、ＤＭＡ転送開始レジスタ１０３−１に所定の値が設定された際に、メモリ２００からのデータ取得のみの動作の場合は、入力バースト長レジスタ１０３−５に設定されているバースト長と入力バス使用閾値レジスタ１０３−２に設定されているバースト長の閾値とを比較する。そして、入力バースト長レジスタ１０３−５に設定されているバースト長の方が入力バス使用閾値レジスタ１０３−２に設定されている閾値よりも大きければ、データが通過する経路を、第１ＤＭＡマスタポート部１０１側と決定する。これにより、第１ＤＭＡマスタポート部１０１は、ＤＭＡ転送にて第１バス３００を経由してメモリ２００からデータを取得し、データ処理部１０５へ送る。これに対して、入力バースト長レジスタ１０３−５に設定されているバースト長が入力バス使用閾値レジスタ１０３−２に設定されている閾値よりも大きくなければ、データが通過する経路を、第２ＤＭＡマスタポート部１０２側と決定する。これにより、第２ＤＭＡマスタポート部１０２は、ＤＭＡ転送にて第２バス４００を経由してメモリ２００からデータを取得し、データ処理部１０５へ格納する。
【００４９】
一方、メモリ２００へのデータ格納のみの動作の場合は、比較部１０４は、出力バースト長レジスタ１０３−６に設定されているバースト長と出力バス使用閾値レジスタ１０３−３に設定されているバースト長の閾値とを比較する。そして、出力バースト長レジスタ１０３−６に設定されているバースト長の方が出力バス使用閾値レジスタ１０３−３に設定されている閾値よりも大きくなければ、データが通過する経路を、第２ＤＭＡマスタポート部１０２側と決定する。これにより、第２ＤＭＡマスタポート部１０２は、データ処理部１０５にあるデータをＤＭＡ転送にて第２バス４００を経由してメモリ２００へ送る。これに対して、出力バースト長レジスタ１０３−６に設定されているバースト長の方が出力バス使用閾値レジスタ１０３−３に設定されている閾値よりも大きければ、データが通過する経路を、第１ＤＭＡマスタポート部１０１側と決定する。これにより、第１ＤＭＡマスタポート部１０１は、データ処理部１０５にあるデータをＤＭＡ転送にて第１バス３００を経由してメモリ２００へ送る。
【００５０】
以上のように、本第２実施形態においても、比較部１０４は、記憶部に記憶された設定値に基づき、複数のデータバスの何れかを使用する、データが通過する経路を、自律的に決定するデータ経路決定部として機能する。
【００５１】
以下、より具体的な例を用いて説明する。
【００５２】
本実施形態では、主に以下の８つの動作がある。  
（１）データ転送制御装置１００が、第１バス３００を通してバースト転送にてデータをメモリ２００から取得する。  
（２）データ転送制御装置１００が、第２バス４００を通してバースト転送にてデータをメモリ２００から取得する。  
（３）データ転送制御装置１００が、第１バス３００を通してバースト転送にてデータをメモリ２００へ格納する。  
（４）データ転送制御装置１００が、第２バス４００を通してバースト転送にてデータをメモリ２００へ格納する。  
（５）データ転送制御装置１００が、第１バス３００を通してシングル転送にてデータをメモリ２００から取得する。  
（６）データ転送制御装置１００が、第２バス４００を通してシングル転送にてデータをメモリ２００から取得する。  
（７）データ転送制御装置１００が、第１バス３００を通してシングル転送にてデータをメモリ２００へ格納する。  
（８）データ転送制御装置１００が、第２バス４００を通してシングル転送にてデータをメモリ２００へ格納する。
【００５３】
上記（１）の動作を行なう場合には、ＣＰＵ５００は、ＤＭＡ転送の開始前に、レジスタバス６００を通してデータ転送制御装置１００内部の制御レジスタ部１０３を設定する。即ち、入力バースト長レジスタ１０３−５には「４」を、入力バス使用閾値レジスタ１０３−２には「３」を、それぞれ設定する。また、入力アドレス等のＤＭＡ転送に必要なパラメータを、対応するレジスタに設定する。その後、ＣＰＵ５００は、ＤＭＡ転送開始レジスタ１０３−１に所定の値を設定することで、データ転送制御装置１００を起動させる。
【００５４】
起動させられたデータ転送制御装置１００は、比較部１０４にて、入力バースト長レジスタ１０３−５に設定されているバースト長と入力バス使用閾値レジスタ１０３−２に設定されている閾値とを比較する。この場合、入力バースト長レジスタ１０３−５に設定されているバースト長が入力バス使用閾値レジスタ１０３−２に設定されている閾値よりも大きいため、第１ＤＭＡマスタポート部１０１をデータが通過する経路と決定する。これにより、第１ＤＭＡマスタポート部１０１が第１バス３００を通してメモリ２００からバースト転送にてデータを取得し、それをデータ処理部１０５に格納する。
【００５５】
上記（２）の動作を行なう場合には、ＣＰＵ５００は、ＤＭＡ転送の開始前に、レジスタバス６００を通してデータ転送制御装置１００内部の制御レジスタ部１０３を設定する。即ち、入力バースト長レジスタ１０３−５には「４」を、入力バス使用閾値レジスタ１０３−２には「８」を、それぞれ設定する。また、入力アドレス等のＤＭＡ転送に必要なパラメータを、対応するレジスタに設定する。その後、ＣＰＵ５００は、ＤＭＡ転送開始レジスタ１０３−１に所定の値を設定することで、データ転送制御装置１００を起動させる。
【００５６】
起動させられたデータ転送制御装置１００は、比較部１０４にて、入力バースト長レジスタ１０３−５に設定されているバースト長と入力バス使用閾値レジスタ１０３−２に設定されている閾値とを比較する。この場合、入力バースト長レジスタ１０３−５に設定されているバースト長が出力バス使用閾値レジスタ１０３−３に設定されている閾値よりも大きくないため、第２ＤＭＡマスタポート部１０２をデータが通過する経路と決定する。これにより、第２ＤＭＡマスタポート部１０２が第２バス４００を通してメモリ２００からバースト転送にてデータを取得し、それをデータ処理部１０５に格納する。
【００５７】
上記（３）の動作を行なう場合には、ＣＰＵ５００は、ＤＭＡ転送の開始前に、レジスタバス６００を通してデータ転送制御装置１００内部の制御レジスタ部１０３を設定する。即ち、出力バースト長レジスタ１０３−６には「４」を、出力バス使用閾値レジスタ１０３−３は「３」を、それぞれ設定する。また、出力アドレス等のＤＭＡ転送に必要なパラメータを、対応するレジスタに設定する。その後、ＣＰＵ５００は、ＤＭＡ転送開始レジスタ１０３−１に所定の値を設定することで、データ転送制御装置１００を起動させる。
【００５８】
起動させられたデータ転送制御装置１００は、比較部１０４にて、出力バースト長レジスタ１０３−６に設定されているバースト長と出力バス使用閾値レジスタ１０３−３に設定されている閾値とを比較する。この場合、出力バースト長レジスタ１０３−６に設定されているバースト長が入力バス使用閾値レジスタ１０３−２に設定されている閾値よりも大きいため、第１ＤＭＡマスタポート部１０１をデータが通過する経路と決定する。これにより、第１ＤＭＡマスタポート部１０１がデータ処理部１０５にあるデータを第１バス３００を通してメモリ２００へバースト転送にて送り、そこに格納する。
【００５９】
上記（４）の動作を行なう場合には、ＣＰＵ５００は、ＤＭＡ転送の開始前に、レジスタバス６００を通してデータ転送制御装置１００内部の制御レジスタ部１０３を設定する。即ち、出力バースト長レジスタ１０３−５には「４」を、出力バス使用閾値レジスタ１０３−３には「８」を、それぞれ設定する。また、出力アドレス等のＤＭＡ転送に必要なパラメータを、対応するレジスタに設定する。その後、ＣＰＵ５００は、ＤＭＡ転送開始レジスタ１０３−１に所定の値を設定することで、データ転送制御装置１００を起動させる。
【００６０】
起動させられたデータ転送制御装置１００は、比較部１０４にて、出力バースト長レジスタ１０３−６に設定されているバースト長と出力バス使用閾値レジスタ１０３−３に設定されている閾値とを比較する。この場合、出力バースト長レジスタ１０３−６に設定されているバースト長が出力バス使用閾値レジスタ１０３−３に設定されている閾値よりも大きくないため、第２ＤＭＡマスタポート部１０２をデータが通過する経路と決定する。これにより、第２ＤＭＡマスタポート部１０２がデータ処理部１０５にあるデータを第２バス４００を通してメモリ２００へバースト転送にて送り、そこに格納する。
【００６１】
上記（５）〜（８）の動作は、上記（１）〜（４）の入力バースト長レジスタ１０３−５または出力バースト長レジスタ１０３−６に設定する値を「２」、閾値を「１」または「４」としたシングル転送の実施である。よって、その説明は省略する。
【００６２】
なお、上記のパラメータ及び閾値の各値は一例に過ぎず、本発明はそれらの値に限定するものでないことは勿論である。
【００６３】
以上のように、本第２実施形態によれば、制御レジスタ部１０３の入力バス使用閾値レジスタ１０３−２または出力バス使用閾値レジスタ１０３−３と、入力バースト長レジスタ１０３−５または出力バースト長レジスタ１０３−６とに記憶された設定値に基づき、第１バス３００と第２バス４００の何れかを使用する、データが通過する経路を、自律的に決定するので、簡易的な設定を基に局所的なバス負荷を低減するためにデータ経路を調整し、システム全体のデータスループットを向上させることができる。
【００６４】
また、データが通過する経路の決定は、サイズ情報がその閾値よりも大きいか否かに基づいて、簡単に行なうことができる。そして、サイズ情報として、データ転送のバースト長を用いることで、例えばバースト転送とシングル転送にて閾値を変更することにより、自律的にデータ経路の変更が可能となる。
【００６５】
なお、上記実施形態では、比較部１０４においてバースト長が入力または出力バス使用閾値より大きいか否かにより、使用するＤＭＡマスタポート部を選択するようにしていたが、これに限定されるものではなく、それ以外の大きい、等しい、小さいなどの３種以上の比較に変更しても、同様の効果を得ることが可能である。
【００６６】
［第３実施形態］
本発明の第３実施形態に係るデータ転送制御装置１００の構成は、上記第１実施形態のそれと同様であり、比較部１０４が比較する対象が異なる。
【００６７】
以下、上記第１実施形態と異なる部分を説明する。
【００６８】
本第３実施形態では、ＤＭＡ転送の開始前に、比較部１０４で使用するための閾値情報が設定記憶されるレジスタである入力バス使用閾値レジスタ１０３−２または出力バス使用閾値レジスタ１０３−３には、閾値情報として、このデータ転送のデータバスのビット幅の閾値が設定記憶される。即ち、本実施形態では、これら入力バス使用閾値レジスタ１０３−２、出力バス使用閾値レジスタ１０３−３と、データ転送のデータバスのビット幅が設定される入力データ幅サイズレジスタ１０３−７または出力データ幅サイズレジスタ１０３−８とは、データ転送開始前に、外部からデータ転送における設定値が設定記憶される記憶部として機能する。
【００６９】
比較部１０４は、ＤＭＡ転送開始レジスタ１０３−１に所定の値が設定された際に、メモリ２００からのデータ取得のみの動作の場合は、入力データ幅サイズレジスタ１０３−７に設定されているビット幅と入力バス使用閾値レジスタ１０３−２に設定されている閾値とを比較する。そして、入力データ幅サイズレジスタ１０３−７に設定されているビット幅の方が入力バス使用閾値レジスタ１０３−２に設定されている閾値よりも大きければ、第１ＤＭＡマスタポート部１０１をデータが通過する経路と決定する。これにより、第１ＤＭＡマスタポート部１０１は、ＤＭＡ転送にて第１バス３００を経由してメモリ２００からデータを取得し、データ処理部１０５へ送る。これに対して、入力データ幅サイズレジスタ１０３−７に設定されているビット幅が入力バス使用閾値レジスタ１０３−２に設定されている閾値より大きくなければ、第２ＤＭＡマスタポート部１０２をデータが通過する経路と決定する。これにより、第２ＤＭＡマスタポート部１０２は、ＤＭＡ転送にて第２バス４００を経由してメモリ２００からデータを取得し、データ処理部１０５へ格納する。
【００７０】
一方、メモリ２００へのデータ格納のみの動作の場合は、比較部１０４は、出力データ幅サイズレジスタ１０３−８に設定されているビット幅と出力バス使用閾値レジスタ１０３−３に設定されている閾値と比較する。そして、出力データ幅サイズレジスタ１０３−８に設定されているビット幅の方が出力バス使用閾値レジスタ１０３−３に設定されている閾値よりも大きくなければ、第２ＤＭＡマスタポート部１０２をデータが通過する経路と決定する。これにより、第２ＤＭＡマスタポート部１０２は、データ処理部１０５にあるデータをＤＭＡ転送にて第２バス４００を経由してメモリ２００へ送る。これに対して、出力データ幅サイズレジスタ１０３−８に設定されているビット幅の方が出力バス使用閾値レジスタ１０３−３に設定されている閾値よりも大きければ、第１ＤＭＡマスタポート部１０１をデータが通過する経路と決定する。これにより、第１ＤＭＡマスタポート部１０１は、データ処理部１０５にあるデータをＤＭＡ転送にて第１バス３００を経由してメモリ２００へ送る。
【００７１】
以上のように、本第３実施形態においても、比較部１０４は、記憶部に記憶された設定値に基づき、複数のデータバスの何れかを使用する、データが通過する経路を、自律的に決定するデータ経路決定部として機能する。
【００７２】
以下、より具体的な例を用いて説明する。
【００７３】
本実施形態では、主に以下の８つの動作がある。  
（１）データ転送制御装置１００が、第１バス３００を通してデータ幅１２８ｂｉｔのデータをメモリ２００から取得する。  
（２）データ転送制御装置１００が、第２バス４００を通してデータ幅１２８ｂｉｔのデータをメモリ２００から取得する。  
（３）データ転送制御装置１００が、第１バス３００を通してデータ幅１２８ｂｉｔのデータをメモリ２００へ格納する。  
（４）データ転送制御装置１００が、第２バス４００を通してデータ幅１２８ｂｉｔのデータをメモリ２００へ格納する。  
（５）データ転送制御装置１００が、第１バス３００を通して一般的なＣＰＵであつかうデータ幅３２ｂｉｔのデータをメモリ２００から取得する。  
（６）データ転送制御装置１００が、第２バス４００を通して一般的なＣＰＵであつかうデータ幅３２ｂｉｔのデータをメモリ２００から取得する。  
（７）データ転送制御装置１００が、第１バス３００を通して一般的なＣＰＵであつかうデータ幅３２ｂｉｔのデータをメモリ２００へ格納する。  
（８）データ転送制御装置１００が、第２バス４００を通して一般的なＣＰＵであつかうデータ幅３２ｂｉｔのデータをメモリ２００へ格納する。
【００７４】
上記（１）の動作を行なう場合には、ＣＰＵ５００は、ＤＭＡ転送の開始前に、レジスタバス６００を通してデータ転送制御装置１００内部の制御レジスタ部１０３を設定する。即ち、入力データ幅サイズレジスタ１０３−７には「１２８」を、入力バス使用閾値レジスタ１０３−２には「６４」を、それぞれ設定する。また、入力アドレス等のＤＭＡ転送に必要なパラメータを、対応するレジスタに設定する。その後、ＣＰＵ５００は、ＤＭＡ転送開始レジスタ１０３−１に所定の値を設定することで、データ転送制御装置１００を起動させる。
【００７５】
起動させられたデータ転送制御装置１００は、比較部１０４にて、入力データ幅サイズレジスタ１０３−７に設定されているビット幅と入力バス使用閾値レジスタ１０３−２に設定されている閾値とを比較する。この場合、入力データ幅サイズレジスタ１０３−７に設定されているビット幅が入力バス使用閾値レジスタ１０３−２に設定されている閾値よりも大きいため、第１ＤＭＡマスタポート部１０１をデータが通過する経路と決定する。これにより、第１ＤＭＡマスタポート部１０１が第１バス３００を通して入力データ幅サイズレジスタ１０３−７に設定されているビット幅単位ごとにメモリ２００からデータを取得し、それをデータ処理部１０５に格納する。
【００７６】
上記（２）の動作を行なう場合には、ＣＰＵ５００は、ＤＭＡ転送の開始前に、レジスタバス６００を通してデータ転送制御装置１００内部の制御レジスタ部１０３を設定する。即ち、入力データ幅サイズレジスタ１０３−７には「１２８」を、入力バス使用閾値レジスタ１０３−２には「２５６」を、それぞれ設定する。また、入力アドレス等のＤＭＡ転送に必要なパラメータを、対応するレジスタに設定する。その後、ＣＰＵ５００は、ＤＭＡ転送開始レジスタ１０３−１に所定の値を設定することで、データ転送制御装置１００を起動させる。
【００７７】
起動させられたデータ転送制御装置１００は、比較部１０４にて、入力データ幅サイズレジスタ１０３−７に設定されているビット幅と入力バス使用閾値レジスタ１０３−２に設定されている閾値とを比較する。この場合、入力データ幅サイズレジスタ１０３−７に設定されているビット幅が入力バス使用閾値レジスタ１０３−２に設定されている閾値よりも大きくないため、第２ＤＭＡマスタポート部１０２をデータが通過する経路と決定する。これにより、第２ＤＭＡマスタポート部１０２が第２バス４００を通して入力データ幅サイズレジスタ１０３−７に設定されているビット幅単位ごとにメモリ２００からデータを取得し、それをデータ処理部１０５に格納する。
【００７８】
上記（３）の動作を行なう場合には、ＣＰＵ５００は、ＤＭＡ転送の開始前に、レジスタバス６００を通してデータ転送制御装置１００内部の制御レジスタ部１０３を設定する。即ち、出力データ幅サイズレジスタ１０３−８には「１２８」を、出力バス使用閾値レジスタ１０３−３には「６４」を、それぞれ設定する。また、出力アドレス等のＤＭＡ転送に必要なパラメータを、対応するレジスタに設定する。その後、ＣＰＵ５００は、ＤＭＡ転送開始レジスタ１０３−１に所定の値を設定することで、データ転送制御装置１００を起動させる。
【００７９】
起動させられたデータ転送制御装置１００は、比較部１０４にて、出力データ幅サイズレジスタ１０３−８に設定されているビット幅と出力バス使用閾値レジスタ１０３−３に設定されている閾値とを比較する。この場合、出力データ幅サイズレジスタ１０３−８に設定されているビット幅が出力バス使用閾値レジスタ１０３−３に設定されている閾値よりも大きいため、第１ＤＭＡマスタポート部１０１をデータが通過する経路と決定する。これにより、第１ＤＭＡマスタポート部１０１がデータ処理部１０５に格納されているデータを、出力データ幅サイズレジスタ１０３−８に設定されているビット幅単位ごとに第１バス３００を通してメモリ２００へのＤＭＡ転送を実施し、そこにデータを格納する。
【００８０】
上記（４）の動作を行なう場合には、ＣＰＵ５００は、ＤＭＡ転送の開始前に、レジスタバス６００を通してデータ転送制御装置１００内部の制御レジスタ部１０３を設定する。即ち、出力データ幅サイズレジスタ１０３−８には「１２８」、出力バス使用閾値レジスタ１０３−３には「２５６」を、それぞれ設定する。また、出力アドレス等のＤＭＡ転送に必要なパラメータを、対応するレジスタに設定する。その後、ＣＰＵ５００は、ＤＭＡ転送開始レジスタ１０３−１に所定の値を設定することで、データ転送制御装置１００を起動させる。
【００８１】
起動させられたデータ転送制御装置１００は、比較部１０４にて、出力データ幅サイズレジスタ１０３−８に設定されているビット幅と出力バス使用閾値レジスタ１０３−３に設定されている閾値とを比較する。この場合、出力データ幅サイズレジスタ１０３−８に設定されているビット幅が出力バス使用閾値レジスタ１０３−３に設定されている閾値よりも大きくないため、第２ＤＭＡマスタポート部１０２をデータが通過する経路と決定する。これにより、第２ＤＭＡマスタポート部１０２がデータ処理部１０５に格納されているデータを、出力データ幅サイズレジスタ１０３−８に設定されているビット幅単位ごとに第２バス４００を通してメモリ２００へのＤＭＡ転送を実施し、そこに格納する。
【００８２】
上記（５）〜（８）の動作は、上記（１）〜（４）の入力データ幅サイズレジスタ１０３−７または出力データ幅サイズレジスタ１０３−８の値を「３２」とし、また、入力バス使用閾値レジスタ１０３−２または出力バス使用閾値レジスタ１０３−３に設定する閾値を「６４」または「１６」とした転送の実施である。よって、その説明は省略する。
【００８３】
なお、上記のパラメータ及び閾値の各値は一例に過ぎず、本発明はそれらの値に限定するものでないことは勿論である。
【００８４】
以上のように、本第３実施形態によれば、制御レジスタ部１０３の入力バス使用閾値レジスタ１０３−２または出力バス使用閾値レジスタ１０３−３と、入力データ幅サイズレジスタ１０３−７または出力データ幅サイズレジスタ１０３−８とに記憶された設定値に基づき、第１バス３００と第２バス４００の何れかを使用する、データが通過する経路を、自律的に決定するので、簡易的な設定を基に局所的なバス負荷を低減するためにデータ経路を調整し、システム全体のデータスループットを向上させることができる。
【００８５】
また、データが通過する経路の決定は、サイズ情報がその閾値よりも大きいか否かに基づいて、簡単に行なうことができる。そして、サイズ情報として、データ転送のデータバスのビット幅を用いることで、例えばＣＰＵ用のデータ転送とその他データ転送にて閾値を変更することにより、自律的にデータ経路の変更が可能となる。
【００８６】
なお、上記実施形態では、比較部１０４においてデータ幅サイズが入力または出力バス使用閾値より大きいか否かにより、使用するＤＭＡマスタポート部を選択するようにしていたが、これに限定されるものではなく、それ以外の大きい、等しい、小さいなどの３種以上の比較に変更しても、同様の効果を得ることが可能である。
【００８７】
［第４実施形態］
本発明の第４実施形態に係るデータ転送制御装置１００の構成は、上記第１実施形態のそれと同様であり、比較部１０４が比較する対象が異なる。
【００８８】
以下、上記第１実施形態と異なる部分を説明する。
【００８９】
本第４実施形態では、ＤＭＡ転送の開始前に、比較部１０４で使用するための閾値情報が設定記憶されるレジスタである入力バス使用閾値レジスタ１０３−２及び出力バス使用閾値レジスタ１０３−３には、閾値情報として、アドレス範囲を示す情報が設定記憶される。即ち、本実施形態では、これら入力バス使用閾値レジスタ１０３−２及び出力バス使用閾値レジスタ１０３−３と、転送元アドレスが設定される入力アドレスレジスタ１０３−９及び転送先アドレスが設定される出力アドレスレジスタ１０３−１０とは、データ転送開始前に、外部からデータ転送における設定値が設定記憶される記憶部として機能する。
【００９０】
比較部１０４は、ＤＭＡ転送開始レジスタ１０３−１に所定の値が設定された際に、入力アドレスレジスタ１０３−９に設定されている転送元アドレスと入力バス使用閾値レジスタ１０３−２に設定されている閾値とを比較する。そして、入力アドレスレジスタ１０３−９に設定されている転送元アドレスの方が入力バス使用閾値レジスタ１０３−２に設定されている閾値よりも大きければ、第１ＤＭＡマスタポート部１０１をデータが通過する経路と決定する。これにより、第１ＤＭＡマスタポート部１０１は、ＤＭＡ転送にて第１バス３００を経由してメモリ２００の転送元アドレスよりデータを取得し、それをデータ処理部１０５へ送る。これに対して、入力アドレスレジスタ１０３−９に設定されている転送元アドレスの方が入力バス使用閾値レジスタ１０３−２に設定されている閾値よりも大きくなければ、第２ＤＭＡマスタポート部１０２をデータが通過する経路と決定する。これにより、第２ＤＭＡマスタポート部１０２は、ＤＭＡ転送にて第２バス４００を経由してメモリ２００の転送元アドレスよりデータを取得し、それをデータ処理部１０５へ送る。
【００９１】
こうしてデータを取得した後、比較部１０４は、出力アドレスレジスタ１０３−１０に設定されている転送先アドレスと出力バス使用閾値レジスタ１０３−３に設定されている閾値とを比較する。そして、出力アドレスレジスタ１０３−１０に設定されている転送先アドレスの方が出力バス使用閾値レジスタ１０３−３に設定されている閾値よりも大きくなければ、第２ＤＭＡマスタポート部１０２をデータが通過する経路と決定する。これにより、第２ＤＭＡマスタポート部１０２は、データ処理部１０５にあるデータをＤＭＡ転送にて第２バス４００を経由してメモリ２００の転送先アドレスへ送る。これに対して、出力アドレスレジスタ１０３−１０に設定されている転送先アドレスの方が出力バス使用閾値レジスタ１０３−３に設定されている閾値よりも大きければ、第１ＤＭＡマスタポート部１０１をデータが通過する経路と決定する。これにより、第１ＤＭＡマスタポート部１０１は、データ処理部１０５にあるデータをＤＭＡ転送にて第１バス３００を経由してメモリ２００の転送先アドレスへ送る。
【００９２】
以上のように、本第４実施形態においても、比較部１０４は、記憶部に記憶された設定値に基づき、複数のデータバスの何れかを使用する、データが通過する経路を、自律的に決定するデータ経路決定部として機能する。
【００９３】
以下、より具体的な例を用いて説明する。
【００９４】
本実施形態では、主に以下の４つの動作がある。  
（１）データ転送制御装置１００が、第１バス３００経由にてメモリ２００からデータ取得し、その取得したデータを第２バス４００経由にてメモリ２００へ格納する。  
（２）データ転送制御装置１００が、第１バス３００経由にてメモリ２００からデータ取得し、その取得したデータを第１バス３００経由にてメモリ２００へ格納する。  
（３）データ転送制御装置１００が、第２バス４００経由にてメモリ２００からデータ取得し、その取得したデータを第２バス４００経由にてメモリ２００へ格納する。  
（４）データ転送制御装置１００が、第２バス４００経由にてメモリ２００からデータ取得し、その取得したデータを第１バス３００経由にてメモリ２００へ格納する。
【００９５】
上記（１）の動作を行なう場合には、ＣＰＵ５００は、ＤＭＡ転送の開始前に、レジスタバス６００を通してデータ転送制御装置１００内部の制御レジスタ部１０３を設定する。即ち、入力アドレスレジスタ１０３−９には転送元アドレスとして例えば「０ｘ１０００００００」を、出力アドレスレジスタ１０３−１０には転送先アドレス値として例えば「０ｘ００００００００」を、入力バス使用閾値レジスタ１０３−２には「０ｘ０８００００００」を、出力バス使用閾値レジスタ１０３−３には「０ｘ０８００００００」を、それぞれ設定する。その後、ＣＰＵ５００は、ＤＭＡ転送開始レジスタ１０３−１に所定の値を設定することで、データ転送制御装置１００を起動させる。
【００９６】
起動させられたデータ転送制御装置１００は、比較部１０４にて、入力アドレスレジスタ１０３−９に設定されている転送元アドレスと入力バス使用閾値レジスタ１０３−２に設定されている閾値とを比較する。この場合、入力アドレスレジスタ１０３−９に設定されている転送元アドレスが入力バス使用閾値レジスタ１０３−２に設定されている閾値よりも大きいため、第１ＤＭＡマスタポート部１０１をデータが通過する経路と決定する。これにより、第１ＤＭＡマスタポート部１０１が第１バス３００を通してメモリ２００の入力アドレスレジスタ１０３−９に設定されている転送元アドレスからデータを取得し、それをデータ処理部１０５に格納する。
【００９７】
その後、比較部１０４は、出力アドレスレジスタ１０３−１０に設定されている転送先アドレスと出力バス使用閾値レジスタ１０３−３に設定されている閾値とを比較する。この場合、出力アドレスレジスタ１０３−１０に設定されている転送先アドレスが出力バス使用閾値レジスタ１０３−３に設定されている閾値よりも大きくないため、第２ＤＭＡマスタポート部１０２をデータが通過する経路と決定する。これにより、第２ＤＭＡマスタポート部１０２がデータ処理部１０５に格納されているデータを第２バス４００を通してメモリ２００の出力アドレスレジスタ１０３−１０に設定されている転送先アドレスへＤＭＡ転送を実施し、メモリ２００の該当アドレスへそのデータを格納する。
【００９８】
上記（２）〜（４）の動作は、入力アドレスレジスタ１０３−９に設定する転送元アドレスと入力バス使用閾値レジスタ１０３−２に設定する閾値、及び出力アドレスレジスタ１０３−１０に設定する転送先アドレスと出力バス使用閾値レジスタ１０３−３に設定する閾値とを変更することにより実現できる。よって、その説明は省略する。
【００９９】
なお、上記のパラメータ及び閾値の各値は一例に過ぎず、本発明はそれらの値に限定するものでないことは勿論である。
【０１００】
以上のように、本第４実施形態によれば、制御レジスタ部１０３の入力バス使用閾値レジスタ１０３−２、出力バス使用閾値レジスタ１０３−３、入力アドレスレジスタ１０３−９及び出力アドレスレジスタ１０３−１０に記憶された設定値に基づき、第１バス３００と第２バス４００の何れかを使用する、データが通過する経路を、自律的に決定するので、簡易的な設定を基に局所的なバス負荷を低減するためにデータ経路を調整し、システム全体のデータスループットを向上させることができる。
【０１０１】
また、データが通過する経路の決定は、アドレス情報が閾値としてのアドレス範囲を示す情報よりも大きいか否かに基づいて、簡単に行なうことができる。そして、アドレス情報として、転送元アドレスまたは転送先アドレスを用いることで、例えばアドレスの範囲にて閾値を変更することにより、自律的にデータ経路の変更が可能となる。
【０１０２】
なお、上記実施形態では、比較部１０４において転送元または転送先アドレスが入力または出力バス使用閾値より大きいか否かにより、使用するＤＭＡマスタポート部を選択するようにしていたが、これに限定されるものではなく、それ以外の大きい、等しい、小さいなどの３種以上の比較に変更しても、同様の効果を得ることが可能である。
【０１０３】
［第５実施形態］
本発明の第５実施形態に係るデータ転送制御装置１００の構成は、上記第１実施形態のそれと同様であり、比較部１０４が比較する対象が異なる。
【０１０４】
以下、上記第１実施形態と異なる部分を説明する。
【０１０５】
本第５実施形態では、ＤＭＡ転送の開始前に、比較部１０４で使用するための閾値情報が設定記憶されるレジスタである入力バス使用閾値レジスタ１０３−２または出力バス使用閾値レジスタ１０３−３には、閾値情報として、アドレス範囲を示す情報が設定記憶される。即ち、本実施形態では、入力バス使用閾値レジスタ１０３−２または出力バス使用閾値レジスタ１０３−３と、転送元アドレスが設定される入力アドレスレジスタ１０３−９または転送先アドレスが設定される出力アドレスレジスタ１０３−１０とは、データ転送開始前に、外部からデータ転送における設定値が設定記憶される記憶部として機能する。
【０１０６】
比較部１０４は、ＤＭＡ転送開始レジスタ１０３−１に所定の値が設定された際に、メモリ２００からのデータ取得のみ動作の場合は、入力アドレスレジスタ１０３−９に設定されている転送元アドレスと入力バス使用閾値レジスタ１０３−２に設定されている閾値とを比較する。そして、入力アドレスレジスタ１０３−９に設定されている転送元アドレスの方が入力バス使用閾値レジスタ１０３−２に設定されている閾値よりも大きければ、第１ＤＭＡマスタポート部１０１をデータが通過する経路と決定する。これにより、第１ＤＭＡマスタポート部１０１は、ＤＭＡ転送にて第１バス３００を経由してメモリ２００の転送元アドレスよりデータを取得し、それをデータ処理部１０５へ送って格納する。これに対して、入力アドレスレジスタ１０３−９に設定されている転送元アドレスの方が入力バス使用閾値レジスタ１０３−２に設定されている閾値よりも大きくなければ、第２ＤＭＡマスタポート部１０２をデータが通過する経路と決定する。これにより、第２ＤＭＡマスタポート部１０２は、ＤＭＡ転送にて第２バス４００を経由してメモリ２００の転送元アドレスよりデータを取得し、それをデータ処理部１０５へ送って格納する。
【０１０７】
一方、メモリ２００へのデータ格納のみの動作の場合には、比較部１０４は、出力アドレスレジスタ１０３−１０に設定されている転送先アドレスと出力バス使用閾値レジスタ１０３−３に設定されている閾値とを比較する。そして、出力アドレスレジスタ１０３−１０に設定されている転送先アドレスの方が出力バス使用閾値レジスタ１０３−３に設定されている閾値よりも大きくなければ、第２ＤＭＡマスタポート部１０２をデータが通過する経路と決定する。これにより、第２ＤＭＡマスタポート部１０２は、データ処理部１０５にあるデータをＤＭＡ転送にて第２バス４００を経由してメモリ２００の転送先アドレスへ送る。これに対して、出力アドレスレジスタ１０３−１０に設定されている転送先アドレスの方が出力バス使用閾値レジスタ１０３−３に設定されている閾値よりも大きければ、第１ＤＭＡマスタポート部１０１をデータが通過する経路と決定する。これにより、第１ＤＭＡマスタポート部１０１は、データ処理部１０５にあるデータをＤＭＡ転送にて第１バス３００を経由してメモリ２００の転送先アドレスへ送る。
【０１０８】
以上のように、本第５実施形態においても、比較部１０４は、記憶部に記憶された設定値に基づき、複数のデータバスの何れかを使用する、データが通過する経路を、自律的に決定するデータ経路決定部として機能する。
【０１０９】
以下、より具体的な例を用いて説明する。
【０１１０】
本実施形態では、主に以下の４つの動作がある。  
（１）データ転送制御装置１００が、第１バス３００経由にてメモリ２００からデータ取得する。  
（２）データ転送制御装置１００が、第１バス３００経由にてメモリ２００へデータ格納する。  
（３）データ転送制御装置１００が、第２バス４００経由にてメモリ２００からデータ取得する。  
（４）データ転送制御装置１００が、第２バス４００経由にてメモリ２００へデータ格納する。
【０１１１】
上記（１）の動作を行なう場合には、ＣＰＵ５００は、ＤＭＡ転送の開始前に、レジスタバス６００を通してデータ転送制御装置１００内部の制御レジスタ部１０３を設定する。即ち、入力アドレスレジスタ１０３−９には転送元アドレスとして例えば「０ｘ１０００００００」を、入力バス使用閾値レジスタ１０３−２には「０ｘ０８００００００」を、それぞれ設定する。その後、ＣＰＵ５００は、ＤＭＡ転送開始レジスタ１０３−１に所定の値を設定することで、データ転送制御装置１００を起動させる。
【０１１２】
起動させられたデータ転送制御装置１００は、比較部１０４にて、入力アドレスレジスタ１０３−９に設定されている転送元アドレスと入力バス使用閾値レジスタ１０３−２に設定されている閾値とを比較する。この場合、入力アドレスレジスタ１０３−９に設定されている転送元アドレスが入力バス使用閾値レジスタ１０３−２に設定されている閾値よりも大きいため、第１ＤＭＡマスタポート部１０１をデータが通過する経路と決定する。これにより、第１ＤＭＡマスタポート部１０１が第１バス３００を通してメモリ２００の入力アドレスレジスタ１０３−９に設定されている転送元アドレスからデータを取得し、それをデータ処理部１０５に格納する。
【０１１３】
上記（２）の動作を行なう場合には、ＣＰＵ５００は、ＤＭＡ転送の開始前に、レジスタバス６００を通してデータ転送制御装置１００内部の制御レジスタ部１０３を設定する。即ち、出力アドレスレジスタ１０３−１０には転送先アドレス値として例えば「０ｘ１０００００００」を、出力バス使用閾値レジスタ１０３−３には「０ｘ０８００００００」を、それぞれ設定する。その後、ＣＰＵ５００は、ＤＭＡ転送開始レジスタ１０３−１に所定の値を設定することで、データ転送制御装置１００を起動させる。
【０１１４】
比較部１０４は、出力アドレスレジスタ１０３−１０に設定されている転送先アドレスと出力バス使用閾値レジスタ１０３−３に設定されている閾値とを比較する。この場合、出力アドレスレジスタ１０３−１０に設定されている転送先アドレスが出力バス使用閾値レジスタ１０３−３に設定されている閾値よりも大きいため、第１ＤＭＡマスタポート部１０１をデータが通過する経路と決定する。これにより、第１ＤＭＡマスタポート部１０１がデータ処理部１０５に格納されているデータを第１バス３００を通してメモリ２００の出力アドレスレジスタ１０３−１０に設定されている転送先アドレスへＤＭＡ転送を実施し、メモリ２００の該当アドレスへそのデータを格納する。
【０１１５】
上記（３）、（４）の動作は、入力アドレスレジスタ１０３−９に設定する転送元アドレスと入力バス使用閾値レジスタ１０３−２に設定する閾値、出力アドレスレジスタ１０３−１０に設定する転送先アドレスと出力バス使用閾値レジスタ１０３−３に設定する閾値を変更することにより実現できる。よって、その説明は省略する。
【０１１６】
なお、上記のパラメータ及び閾値の各値は一例に過ぎず、本発明はそれらの値に限定するものでないことは勿論である。
【０１１７】
以上のように、本第５実施形態によれば、制御レジスタ部１０３の入力バス使用閾値レジスタ１０３−２または出力バス使用閾値レジスタ１０３−３と、入力アドレスレジスタ１０３−９または出力アドレスレジスタ１０３−１０とに記憶された設定値に基づき、第１バス３００と第２バス４００の何れかを使用する、データが通過する経路を、自律的に決定するので、簡易的な設定を基に局所的なバス負荷を低減するためにデータ経路を調整し、システム全体のデータスループットを向上させることができる。
【０１１８】
また、データが通過する経路の決定は、アドレス情報が閾値としてのアドレス範囲を示す情報よりも大きいか否かに基づいて、簡単に行なうことができる。そして、アドレス情報として、転送元アドレスまたは転送先アドレスを用いることで、例えばアドレスの範囲にて閾値を変更することにより、自律的にデータ経路の変更が可能となる。
【０１１９】
なお、上記実施形態では、比較部１０４において転送元または転送先アドレスが入力または出力バス使用閾値より大きいか否かにより、使用するＤＭＡマスタポート部を選択するようにしていたが、これに限定されるものではなく、それ以外の大きい、等しい、小さいなどの３種以上の比較に変更しても、同様の効果を得ることが可能である。
【０１２０】
［第６実施形態］
上記第１乃至第５実施形態では、比較部１０４における比較対象がハードウェア的に決められていたが、ソフトウェア的に比較対象を指定可能とすることで、必要に応じて上記第１乃至第５実施形態の何れの動作も実行可能とすることができる。
【０１２１】
例えば、図４に示すように、入力バス使用閾値レジスタ１０３−２、出力バス使用閾値レジスタ１０３−３、データサイズレジスタ１０３−４、入力バースト長レジスタ１０３−５、出力バースト長レジスタ１０３−６、入力データ幅サイズレジスタ１０３−７、出力データ幅サイズレジスタ１０３−８、入力アドレスレジスタ１０３−９、及び出力アドレスレジスタ１０３−１０のＭＳＢ等の所定の１ビットを設定値有効フラグとして用いる。比較部１０４は、この設定値有効フラグが所定の値、例えば「１」となっているレジスタの設定値を比較対象として比較を行なう。図４は、第１実施形態の（１）の動作を行なう場合を示している。
【０１２２】
また、このような設定値有効フラグを使用することにより、上記第１乃至第５実施形態の組み合わせ、即ち、複数組の閾値判定によりデータが通過する経路を決定することも可能となる。
【０１２３】
例えば、データが通過する経路を、メモリ２００からのデータの取得に関しては上記第１実施形態のようなデータサイズにより決定し、メモリ２００へのデータの格納に関しては上記第２実施形態のようなデータ転送のバースト長により決定することができる。この場合は、ＤＭＡ転送の開始前に、入力バス使用閾値レジスタ１０３−２にはデータサイズの閾値が、また、出力バス使用閾値レジスタ１０３−３にはデータ転送のバースト長の閾値が、それぞれ設定記憶され、更に、データサイズレジスタ１０３−４及び出力バースト長レジスタ１０３−６にパラメータとなるデータサイズ及びデータ転送のバースト長が設定されると共に、それらレジスタ１０３−２，１０３−３，１０３−４，１０３−６の設定値有効フラグが所定の値、例えば「１」とされる。
【０１２４】
そして、比較部１０４は、ＤＭＡ転送開始レジスタ１０３−１に所定の値が設定された際に、メモリ２００からのデータ取得のみ動作を行なう場合に、データサイズレジスタ１０３−４に設定されているデータサイズと入力バス使用閾値レジスタ１０３−２に設定されているデータサイズの閾値とを比較する。そして、データサイズレジスタ１０３−４に設定されているデータサイズの方が入力バス使用閾値レジスタ１０３−２に設定されている閾値よりも大きければ、データが通過する経路を、第１ＤＭＡマスタポート部１０１側と決定する。これにより、第１ＤＭＡマスタポート部１０１は、ＤＭＡ転送にて第１バス３００を経由してメモリ２００からデータを取得し、データ処理部１０５へ送る。これに対して、データサイズレジスタ１０３−４に設定されているデータサイズが入力バス使用閾値レジスタ１０３−２に設定されている閾値よりも大きくなければ、データが通過する経路を、第２ＤＭＡマスタポート部１０２側と決定する。これにより、第２ＤＭＡマスタポート部１０２は、ＤＭＡ転送にて第２バス４００を経由してメモリ２００からデータを取得し、データ処理部１０５へ格納する。
【０１２５】
一方、メモリ２００へのデータ格納の動作を行なう場合には、比較部１０４は、出力バースト長レジスタ１０３−６に設定されているバースト長と出力バス使用閾値レジスタ１０３−３に設定されているバースト長の閾値とを比較する。そして、出力バースト長レジスタ１０３−６に設定されているバースト長の方が出力バス使用閾値レジスタ１０３−３に設定されている閾値よりも大きくなければ、データが通過する経路を、第２ＤＭＡマスタポート部１０２側と決定する。これにより、第２ＤＭＡマスタポート部１０２は、データ処理部１０５にあるデータをＤＭＡ転送にて第２バス４００を経由してメモリ２００へ送る。これに対して、出力バースト長レジスタ１０３−６に設定されているバースト長の方が出力バス使用閾値レジスタ１０３−３に設定されている閾値よりも大きければ、データが通過する経路を、第１ＤＭＡマスタポート部１０１側と決定する。これにより、第１ＤＭＡマスタポート部１０１は、データ処理部１０５にあるデータをＤＭＡ転送にて第１バス３００を経由してメモリ２００へ送る。
【０１２６】
このように、複数組の閾値判定によりデータが通過する経路を決定することも可能となる。但し、一つの閾値判定からは第１バス３００、他の閾値判定からは第２バス４００、というような矛盾する経路決定が発生しないように、その組み合わせには注意が必要である。
【０１２７】
なお、各レジスタ１０３−２〜１０３−１０にそれぞれ設定値有効フラグを設ける代わりに、各ビットが各レジスタ１０３−２〜１０３−１０の有効／無効を示す一つの設定値有効指示レジスタを設け、比較部１０４は、その設定値有効指示レジスタで所定の値、例えば「１」となっているビットに対応するレジスタの設定値を比較対象として比較を行なうような構成とすることも可能である。
【０１２８】
（画像処理装置）
次に、上記第１乃至第６実施形態を用いて説明したような本発明のデータ転送制御装置を有する本発明の画像処理装置の一実施形態を説明する。
【０１２９】
図５に示すように、本発明の一実施形態に係る画像処理装置は、データバス及びデータのアクセスルートを複数備えるデータ処理システムに適用される。即ち、このデータ処理システムは、データ転送制御装置１００と、メモリ２００、第１バス３００、第２バス４００、ＣＰＵ５００、レジスタバス６００及び画像処理部７００と、から構成され、画像処理装置は、その内の少なくともデータ転送制御装置１００と画像処理部７００とを含む。
【０１３０】
第１バス３００は、バス幅が１２８ｂｉｔとなっており、データ転送制御装置１００とメモリ２００と画像処理部７００とが接続されている。第２バス４００は、バス幅が３２ｂｉｔとなっており、ＣＰＵ５００とデータ転送制御装置１００とメモリ２００とが接続されている。
【０１３１】
メモリ２００は、第２バス４００に接続されているＣＰＵ５００からのアクセスや、第１バス３００及び第２バス４００に接続されているデータ転送制御装置１００からのＤＭＡ転送をスレーブ動作にて受け付け、データやＣＰＵ５００のインストラクションデータを保存し、リード及びライトが可能となっている。
【０１３２】
ＣＰＵ５００は、レジスタバス６００を介してデータ転送制御装置１００に転送起動の指示や転送に関わる設定値を設定する。さらに、ＣＰＵ５００は、レジスタバス６００を介して画像処理部７００へ処理用のパラメータを設定する。
【０１３３】
画像処理部７００は、画像データに対して一般的なフィルタ演算、デモザイク演算、拡大縮小演算などの処理を実行可能であり、演算対象データを第１バス３００経由でメモリ２００から取得し、演算終了後に演算結果データを第１バス３００経由でメモリ２００へ格納する。
【０１３４】
このような画像処理装置の動作につき、以下の代表的な２種類の動作を説明する。  
（１）画像処理装置の撮影時において、画像処理部７００にて一般的な記録サイズである１２Ｍの記録用画像データを画像処理後に、データ転送制御装置１００が第１バス３００を通してデータを取得する。  
（２）画像処理装置の表示時において、画像処理部７００にて一般的な表示サイズであるＶＧＡの表示用画像データを画像処理後に、データ転送制御装置１００が第２バス４００を通してデータを取得する。
【０１３５】
上記（１）の動作を行なう場合には、最初に、画像処理部７００が第１バス３００を通して記録用画像データをメモリ２００から取得し、フィルタ演算を実施する。そして、演算完了後に、第１バス３００を通してその演算結果の記録用画像データをメモリ２００に格納する。
【０１３６】
その後に、ＣＰＵ５００は、ＤＭＡ転送の開始前に、レジスタバス６００を通してデータ転送制御装置１００内部の制御レジスタ部１０３を設定する。例えば、上記データ転送制御装置１００の第１実施形態を例に取れば、データサイズレジスタ１０３−４には記録サイズである１２Ｍを、入力バス使用閾値レジスタ１０３−２には記録サイズの半分の値（６Ｍ）を、それぞれ設定する。また、入力アドレス等のＤＭＡ転送に必要なパラメータを、対応するレジスタに設定する。その後、ＣＰＵ５００は、ＤＭＡ転送開始レジスタ１０３−１に所定の値を設定することで、データ転送制御装置１００を起動させる。
【０１３７】
起動させられたデータ転送制御装置１００は、比較部１０４にて、データサイズレジスタ１０３−４に設定されているデータサイズと入力バス使用閾値レジスタ１０３−２に設定されている閾値とを比較する。この場合、データサイズレジスタ１０３−４に設定されているデータサイズが入力バス使用閾値レジスタ１０３−２に設定されている閾値よりも大きいため、第１ＤＭＡマスタポート部１０１をデータが通過する経路と決定する。これにより、第１ＤＭＡマスタポート部１０１が第１バス３００を通してメモリ２００から上記演算結果の記録用画像データを取得し、それをデータ処理部１０５に格納する。
【０１３８】
上記（２）の動作を行なう場合には、最初に、画像処理部７００が第１バス３００を通して表示用画像データをメモリ２００から取得し、フィルタ演算を実施する。そして、演算完了後に、第１バス３００を通してその演算結果の表示用画像データをメモリ２００に格納する。
【０１３９】
その後に、ＣＰＵ５００は、ＤＭＡ転送の開始前に、レジスタバス６００を通してデータ転送制御装置１００内部の制御レジスタ部１０３を設定する。例えば、上記データ転送制御装置１００の第１実施形態を例に取れば、データサイズレジスタ１０３−４にはＶＧＡの値を、入力バス使用閾値レジスタ１０３−２にはＶＧＡの倍の値を、それぞれ設定する。また、入力アドレス等のＤＭＡ転送に必要なパラメータを、対応するレジスタに設定する。その後、ＣＰＵ５００は、ＤＭＡ転送開始レジスタ１０３−１に所定の値を設定することで、データ転送制御装置１００を起動させる。
【０１４０】
起動させられたデータ転送制御装置１００は、比較部１０４にて、データサイズレジスタ１０３−４に設定されているデータサイズと入力バス使用閾値レジスタ１０３−２に設定されている閾値とを比較する。この場合、データサイズレジスタ１０３−４に設定されているデータサイズが入力バス使用閾値レジスタ１０３−２に設定されている閾値よりも大きくないため、第２ＤＭＡマスタポート部１０２をデータが通過する経路と決定する。これにより、第２ＤＭＡマスタポート部１０２が第２バス４００を通してメモリ２００から上記演算結果の表示用画像データを取得し、それをデータ処理部１０５に格納する。
【０１４１】
なお、上記のパラメータ及び閾値の各値は一例に過ぎず、本発明はそれらの値に限定するものでないことは勿論である。
【０１４２】
以上のように、本画像処理装置の一実施形態によれば、撮影時と表示時などの動作状態に応じてバスの負荷が変動するが、制御レジスタ部１０３に記憶された設定値に基づき、第１バス３００と第２バス４００の何れかを使用する、データが通過する経路を、自律的に決定するので、簡易的な設定を基に局所的なバス負荷を低減するためにデータ経路を調整し、システム全体のデータスループットを向上させることができる。
【０１４３】
なお、本一実施形態では、比較部１０４において例えばデータサイズが入力または出力バス使用閾値より大きいか否かにより、使用するＤＭＡマスタポート部を選択するようにしていたが、これに限定されるものではなく、それ以外の大きい、等しい、小さいなどの３種以上の比較に変更しても、同様の効果を得ることが可能である。また、上記第１実施形態に係るデータ転送制御装置１００を適用した場合を例に説明したが、第２乃至第６実施形態の何れに係るデータ転送制御装置１００も同様に適用可能である。
【０１４４】
また、本一実施形態では、画像処理部７００が第１バス３００側に接続されていたが、これに限ったことではなく、第２バス４００側に接続しても同様の効果を得ることが可能である。
【０１４５】
以上、実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。
【０１４６】
例えば、上記データ転送制御装置の第１乃至第６実施形態では、ＣＰＵ５００は、レジスタバス６００を介してデータ転送制御装置１００に転送起動の指示や転送に関わる設定値を設定するように構成しているが、レジスタバス６００を有さず、第２バス４００を介してそれらの動作を行なうよう構成することも可能である。
【０１４７】
また、上記データ転送制御装置の第１乃至第６実施形態及び画像処理装置の一実施形態では、バス及びＤＭＡマスタポート部がそれぞれ２つある構成で説明してきたが、２つ以外の構成においても比較部や閾値を対応する構成に変更することにより同様の効果を得ることが可能なことは勿論である。
【０１４８】
更に、上記データ転送制御装置の第１乃至第６実施形態及び画像処理装置の一実施形態では、第１バス３００及び第２バス４００を異なるバスとして説明したが、データ転送制御装置１００とバスの接続において、第１バス、第２バスはあくまでＤＭＡチャネルを意味するので、必ずしも異なるバスである必要はなく、１つのバスに複数ポートを割り当てた場合であっても、本発明は適用可能なことは言うまでもない。
【符号の説明】
【０１４９】
１００…データ転送制御装置、  １０１…第１ＤＭＡマスタポート部、  １０２…第２ＤＭＡマスタポート部、  １０３…制御レジスタ部１０３、  １０３−１…ＤＭＡ転送開始レジスタ、  １０３−２…入力バス使用閾値レジスタ、  １０３−３…出力バス使用閾値レジスタ、  １０３−４…データサイズレジスタ、  １０３−５…入力バースト長レジスタ、  １０３−６…出力バースト長レジスタ、  １０３−７…入力データ幅サイズレジスタ、  １０３−８…出力データ幅サイズレジスタ、  １０３−９…入力アドレスレジスタ、  １０３−１０…出力アドレスレジスタ、  １０４…比較部、  １０５…データ処理部、  ２００…メモリ、  ３００…第１バス、  ４００…第２バス、  ５００…ＣＰＵ、  ６００…レジスタバス、  ７００…画像処理部。
【図１】
2011100414.tif 000003
【図２】
2011100414.tif 000004
【図３】
2011100414.tif 000005
【図４】
2011100414.tif 000006
【図５】
2011100414.tif 000007