(57)【要約】  外部より受信したデータ転送要求を解釈する転送要求モジュール２と、転送要求モジュール２による解釈後のデータ転送要求を受信する受信部１０、受信部１０が受信した解釈後のデータ転送要求に基づき転送するデータ量を設定する残データ設定部１２、残データ設定部１２により設定されたデータ量を保持する残データ保持部１６、残データ保持部１６に保持されたデータ量を読み出す残データ読み出し部１３、受信部１０が受信した解釈後のデータ転送要求に基づきデータの転送単位の設定回数の制限値を設定するカウンタ設定部１４、カウンタ設定部１４により設定された設定回数の制限値を保持し、転送単位を設定する毎に保持した値をカウントダウンするカウンタ１７、カウンタ１７に保持された値を読み出すカウンタ読み出し部１５、前記受信部を介して送信される解釈後のデータ転送要求に基づきコントローラモジュールにデータの転送を指示する転送指示部１１を備えた転送指示モジュール１と、転送指示部１１からの指示に基づきデータの転送を行うコントローラモジュール３とを備えた。
2009037798.tif 000002
【特許請求の範囲】
【請求項１】
外部より受信したデータ転送要求を解釈する転送要求モジュールと、
前記転送要求モジュールによる解釈後のデータ転送要求を受信する受信部、前記受信部が受信した解釈後のデータ転送要求に基づき転送するデータ量を設定する残データ設定部、前記残データ設定部により設定されたデータ量を保持する残データ保持部、前記残データ保持部に保持されたデータ量を読み出す残データ読み出し部、前記受信部が受信した解釈後のデータ転送要求に基づきデータの転送単位の設定回数の制限値を設定するカウンタ設定部、前記カウンタ設定部により設定された設定回数の制限値を保持し、転送単位を設定する毎に保持した値をカウントダウンするカウンタ、前記カウンタに保持された値を読み出すカウンタ読み出し部、前記受信部を介して送信される解釈後のデータ転送要求に基づきコントローラモジュールにデータの転送を指示する転送指示部を備えた転送指示モジュールと、
前記転送指示部からの指示に基づきデータの転送を行うコントローラモジュールとを備えたことを特徴とするデータ転送装置。
【請求項２】
外部より送信されたデータの転送要求を受信して、該データ転送要求に含まれるデータ量を残データ保持部へ設定する第１ステップと、
前記残データ保持部が保持するデータ量に最も近い転送単位を設定する第２ステップと、
前記残データ保持部が保持するデータ量がゼロか否かを判定する第３ステップと、
前記残データ保持部が保持するデータ量が前記第２ステップで設定した転送単位以上であるか否かを判定し、データ量が前記第２ステップで設定した転送単位以上でない場合には、前記残データ保持部が保持するデータ量を割り切れる最大の転送単位を設定する第４ステップと、
設定された転送単位でデータを転送する第５ステップと、
前記残データ保持部に保持されたデータ量を転送した分だけ減算する第６ステップとを備え、
前記第３ステップから前記第６ステップを、残データ保持部のデータ量がゼロとなるまで繰り返すことを特徴とするデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＤＭＡ（Direct Memory Access）方式によりデータの転送を行うデータ転送装置及びデータ転送方法に関する。
【背景技術】
【０００２】
従来のＤＭＡ方式によるデータ転送装置は、データの転送回数を最小回数とし効率的なデータ転送を実現するため、転送するデータ量に基づき、予め決められた複数の転送単位のうち転送可能な最大の転送単位を設定して該転送単位でデータを転送した後、残ったデータ量に基づき、転送可能な最大の転送単位を設定して該転送単位でデータを転送する処理を、転送するデータがなくなるまで繰り返していた（例えば、特許文献１参照）。【０００３】
【特許文献１】特開２０００−１８７６３６号公報
【０００４】
従来のデータ転送装置は上記のように構成されており、転送回数を最小限にして効率的にデータを転送することのみを目的としており、転送単位の設定処理の回数については考慮されていなかった。また、転送単位設定はＣＰＵ（Central Processing Unit）が行うことから、データ転送時において、転送単位の設定回数が多いとそれだけＣＰＵに負荷がかかるという課題があった。【０００５】
この発明は、上記のような課題を解決するためになされたもので、転送単位の設定回数を制限して、データ転送時におけるＣＰＵの負荷を低減したデータ転送装置及びデータ転送方法を得ることを目的とする。
【発明の開示】
【０００６】
この発明に係るデータ転送装置は、データの転送単位の設定回数の制限値を設定するカウンタ設定部と、前記カウンタ設定部により設定された設定回数の制限値を保持し、転送単位を設定する毎に保持した値をカウントダウンするカウンタとを備えたことを特徴とする。
【０００７】
この発明によれば、データの転送単位の設定回数の制限値を設定するカウンタ設定部と、前記カウンタ設定部により設定された設定回数の制限値を保持し、転送単位を設定する毎に保持した値をカウントダウンするカウンタとを備えるようにしたので、転送単位の設定回数を制限してＣＰＵの負荷を低減できる効果がある。
【図面の簡単な説明】
【０００８】
【図１】この実施の形態１によるデータ転送装置を用いたデータ転送システムの構成図である。
【図２】この実施の形態１によるデータ転送装置の動作を示したフローチャートである。
【図３】この実施の形態１によるデータ転送装置の動作を説明するための図である。
【図４】この実施の形態２によるデータ転送装置の動作を示したフローチャートである。
【発明を実施するための最良の形態】
【０００９】
以下、この発明における、実施の形態の一例について、添付の図面に従って説明する。
実施の形態１．
図１は、この実施の形態１によるデータ転送装置を用いたデータ転送システムの構成図である。
この実施の形態１によるデータ転送システムは、データを記憶した第１データ記憶部５、第１データ記憶部５に記憶されたデータの転送先である第２データ記憶部６、第１データ記憶部５から第２データ記憶部６へデータの転送を要求するＣＰＵ４、ＣＰＵ４からのデータ転送要求を解釈する転送要求モジュール２、転送要求モジュール２の解釈に基づきデータの転送を指示する転送指示モジュール１、転送指示モジュール１からの指示に基づき実際のデータの転送を行うコントローラモジュール３を備え、転送要求モジュール２、コントローラモジュール３、ＣＰＵ４、第１データ記憶部５、第２データ記憶部６はそれぞれバス７により接続されている。なお、データ転送装置は、転送指示モジュール１、転送要求モジュール２、コントローラモジュール３から構成される。【００１０】
転送指示モジュール１は、転送要求モジュール２で解釈した後のデータ転送要求を受信する受信部１０、受信部１０が受信した解釈後のデータ転送要求に基づき転送するデータ量を設定する残データ設定部１２、残データ設定部１２により設定されたデータ量を保持する残データ保持部１６、残データ保持部１６に保持されたデータ量を読み出し受信部１０を介してＣＰＵ４へ送信する残データ読み出し部１３、受信部１０が受信した解釈後のデータ転送要求に基づきデータの転送単位の設定回数の制限値を設定するカウンタ設定部１４、カウンタ設定部１４により設定された設定回数の制限値を保持し、転送単位が設定される毎に保持した値（以下、カウンタ値）をカウントダウンしていくカウンタ１７、カウンタ１７のカウンタ値を読み出し受信部１０を介してＣＰＵ４へ送信するカウンタ読み出し部１５、受信部１０が受信した解釈後のデータ転送要求に基づきコントローラモジュール３に第１データ記憶部５から第２データ記憶部６へデータの転送を指示する転送指示部１１とを備える。なお、転送単位の制限回数は、予め設定しておいても良く、ユーザが操作部（図示せず）から設定できるように構成しても良い。【００１１】
次に動作について説明する。
図２は実施の形態１によるデータ転送装置の動作を示したフローチャートである。
初めにＣＰＵ４より送信されたデータの転送要求を、転送要求モジュール２を介して受信部１０が受信すると、残データ設定部１２はデータ転送要求に含まれる転送データ量を残データ保持部１６へ設定する（ステップＳＴ１１）。次に、カウンタ設定部１４はデータ転送要求に含まれる転送単位の設定回数の制限値をカウンタ１７へ設定する（ステップＳＴ１２）。【００１２】
次に、ＣＰＵ４は、残データ読み出し部１３により読み出された残データ保持部１６に保持されたデータ量が０か否かを判定する（ステップＳＴ１３）。データ量が０の場合、転送するデータが存在しないためデータ転送装置は動作を終了する。データ量が０でない場合、ＣＰＵ４はカウンタ読み出し部１５によりカウンタ１７に保持されたカウンタ値が１より大きいか否かを判定する（ステップＳＴ１４）。カウンタ値が１以下の場合、ＣＰＵ４は、残データ保持部１６が保持するデータ量を割り切れる最大の転送単位を設定し（ステップＳＴ１５）、カウンタ値が１より大きい場合、ＣＰＵ４は、残データ保持部１６が保持するデータ量に応じた最も効率のよい転送単位、すなわちデータ量に最も近い値を有する転送単位を設定する（ステップＳＴ１６）。【００１３】
次に、カウンタ１７は保持しているカウンタ値を１減らす（ステップＳＴ１７）。次にＣＰＵ４は、残データ保持部１６が保持しているデータ量がステップＳＴ１５又はステップＳＴ１６で設定した転送単位以上であるか否かを判定し（ステップＳＴ１８）、データ量が転送単位以上の場合、ＣＰＵ４は設定した転送単位でデータを転送するよう転送要求モジュール２を介して転送指示部１１へ指示し、転送指示部１１はＣＰＵ４からの指示に基づき、コントローラモジュール３へデータの転送を行うように指示する。コントローラモジュール３は転送指示部１１からの指示に基づき、データを設定単位分だけＤＭＡ転送すると（ステップＳＴ１９）、残データ設定部１２は残データ保持部１６に保持されたデータ量を転送した分だけ減算した値に設定し直す（ステップＳＴ２０）。またステップＳＴ１８で、データ量が転送単位より小さい場合、ステップＳＴ１３からステップＳＴ２０までの処理を残データ保持部１６に保持されたデータ量が０となるまで繰り返す。【００１４】
図３は、この実施の形態１によるデータ転送装置の動作を説明するための図である。この実施の形態１によるデータ転送装置は、１回に転送するデータ量の転送単位として１、２、４、８、１６の５種類をサポートしており、バス７の幅は、８、１６、３２ビット等に設定できるようになっているものとする。このため、例えばバス７の幅が１６ビットに設定されている場合、１データの量は１６ビットとなり、転送単位を４に設定すると、一回に転送されるデータ量は、１６ビット×４＝６４ビットとなる。また、バス７の幅が３２ビットに設定されている場合、１データの量は３２ビットとなり、転送単位が４であれば、１回に転送されるデータ量は、３２ビット×４＝１２８ビットとなる。【００１５】
以下、初めに転送するデータ量が３９、転送単位の設定回数が３回に制限されているものとして、この実施の形態１によるデータ転送装置の動作を説明する。
初めに、転送するデータ量と転送回数の制限値が設定される（ステップ１）。次に、カウンタ値が３であることから、残データ量３９に応じた最も効率のよい１６がデータ転送単位に設定され、カウンタ値が２となる（ステップ２）。次に、設定された転送単位１６でデータの転送が行われ、残データ保持部１６に保持されたデータ量が２３となる（ステップ３）。次に、データ量が２３であることから転送単位１６で再度データの転送が行われ、データ量は７となる（ステップ４）。【００１６】
次に、データ量が７で転送単位の１６より小さいため、転送単位の設定が行われるが、カウンタ値が２であることから、残データ量７に応じた最も効率のよい４がデータ転送単位に設定され、カウンタ値が１となる（ステップ５）。次に、設定された転送単位４でデータの転送が行われ、データ量が３となる（ステップ６）。次に、データ量が３で転送単位の４より小さいため転送単位の設定が行われるが、カウンタ値が１であるためデータ量を割り切ることができる最大の数である１がデータ転送単位に設定され、カウンタ値が０となる（ステップ７）。次に、設定された転送単位１でデータの転送が行われ、データ量が２となる（ステップ８）。同様にして、転送単位１で残りのデータの転送が行われ、データ量が０となったところで動作が終了する（ステップ９、１０）。【００１７】
以上のように、この実施の形態１によるデータ転送装置は、ＣＰＵ４からのデータ転送要求を解釈する転送要求モジュール２と、転送要求モジュール２の解釈に基づきデータの転送単位等を指示する転送指示モジュール１と、転送指示モジュール１からの指示に基づき実際のデータの転送を行うコントローラモジュール３を備えるようにしたので、転送単位設定の回数を制限してＣＰＵ４の負荷を低減できるという効果がある。また、転送指示モジュール１にカウンタ設定部１４、カウンタ読み出し部１５、カウンタ１７を備え、転送単位の設定回数を変更できるように構成したので、転送単位の設定回数を適正な値に制限することができ、ＣＰＵ４の負荷を低減すると共に、データ転送全体の処理効率がよくなるという効果がある。【００１８】
実施の形態２．
実施の形態１では、カウンタ設定部１４、カウンタ読み出し部１５、カウンタ１７を備えた形態について説明したが、この実施の形態２では、転送単位の設定回数を２回に固定し、カウンタ設定部１４、カウンタ読み出し部１５、カウンタ１７を省略した形態について説明する。なお、この実施の形態２によるデータ転送装置は、カウンタ設定部１４、カウンタ読み出し部１５、カウンタ１７を省略した以外は実施の形態１によるデータ転送装置と同じ構成であるためその説明を省略する。【００１９】
次に動作について説明する。
図４は実施の形態２によるデータ転送装置の動作を示したフローチャートである。
初めにＣＰＵ４より送信されたデータの転送要求を、転送要求モジュール２を介して受信部１０が受信すると、残データ設定部１２はデータ転送要求に含まれるデータ量を残データ保持部１６へ設定する（ステップＳＴ２１）。次にＣＰＵ４は、残データ保持部１６が保持するデータ量に応じた最も効率の良い転送単位、すなわちデータ量に最も近い転送単位を設定し（ステップＳＴ２２）、残データ読み出し部１３により読み出された残データ保持部１６に保持されたデータ量が０か否かを判定する（ステップＳＴ２３）。【００２０】
ステップＳＴ２３にて、データ量が０の場合、転送するデータが存在しないためデータ転送装置は動作を終了する。またデータ量が０でない場合、ＣＰＵ４は、残データ保持部１６に保持されたデータ量がステップＳＴ２２で設定した転送単位以上であるか否かを判定し（ステップＳＴ２４）、データ量が転送単位以上の場合、ＣＰＵ４は、ステップＳＴ２２で設定した転送単位でデータを転送するよう転送要求モジュール２を介して転送指示部１１へ指示し、転送指示部１１はＣＰＵ４からの指示に基づき、コントローラモジュール３へデータの転送を行うように指示する。コントローラモジュール３が転送指示部１１からの指示に基づき、データを設定単位分だけＤＭＡ転送すると（ステップＳＴ２５）、残データ設定部１２は残データ保持部１６に保持されたデータ量を転送分だけ減算した値を設定し直す（ステップＳＴ２７）。またステップＳＴ２４で、データが転送単位より小さい場合、ＣＰＵ４は、残データ保持部１６が保持するデータ量が割り切れる最大の転送単位を設定して（ステップＳＴ２６）、ステップＳＴ２３からステップＳＴ２７までの処理を、ステップＳＴ２３で残データ保持部１６に保持されたデータ量が０となるまで繰り返す。【００２１】
以上のように、この実施の形態２によるデータ転送装置は、転送単位の設定回数を２回に固定したので、カウンタ設定部１４、カウンタ読み出し部１５、カウンタ１７を備える必要が無く、データ転送装置の構成を簡略化できる効果がある。また、図２のステップＳＴ１４のようにカウンタ１７のカウンタ値により転送単位の設定処理をする必要がなくなるためにデータ転送時におけるＣＰＵ４の負荷をより低減することができるという効果がある。【００２２】
なお、この実施の形態１及び２では、第１データ記憶部５から第２データ記憶部６へデータを転送する形態としたが、第２データ記憶部６から第１データ記憶部５へデータを転送することもでき、またデータ記憶部を複数設ける形態としても良いことは言うまでもない。
また、データ量の転送単位についても、１、２、４、８、１６の５種類に限られず、３２や６４を使用しても良い。
【産業上の利用可能性】
【００２３】
以上のように、この発明に係るデータ転送装置及びデータ転送方法は、転送単位設定の回数を制限してＣＰＵの負荷を低減でき、また、転送単位の設定回数を変更できるようにしたので、転送単位の設定回数を適正な値に制限することができ、データ転送全体の処理効率もよくなるため、周辺機器とメモリ装置との間でＤＭＡ方式によりデータの転送を行うデータ転送システムなどに適している。
【図１】
2009037798.tif 000003
【図２】
2009037798.tif 000004
【図３】
2009037798.tif 000005
【図４】
2009037798.tif 000006
【手続補正書】
【提出日】平成21年11月18日(2009.11.18)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＤＭＡ（Direct Memory Access）方式によりデータの転送を行うデータ転送装置及びデータ転送方法に関する。
【背景技術】
【０００２】
従来のＤＭＡ方式によるデータ転送装置は、データの転送回数を最小回数とし効率的なデータ転送を実現するため、転送するデータ量に基づき、予め決められた複数の転送単位のうち転送可能な最大の転送単位を設定して該転送単位でデータを転送した後、残ったデータ量に基づき、転送可能な最大の転送単位を設定して該転送単位でデータを転送する処理を、転送するデータがなくなるまで繰り返していた（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１８７６３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のデータ転送装置は上記のように構成されており、転送回数を最小限にして効率的にデータを転送することのみを目的としており、転送単位の設定処理の回数については考慮されていなかった。また、転送単位設定はＣＰＵ（Central Processing Unit）が行うことから、データ転送時において、転送単位の設定回数が多いとそれだけＣＰＵに負荷がかかるという課題があった。
【０００５】
この発明は、上記のような課題を解決するためになされたもので、転送単位の設定回数を制限して、データ転送時におけるＣＰＵの負荷を低減したデータ転送装置及びデータ転送方法を得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るデータ転送装置は、データの転送単位の設定回数の制限値を設定するカウンタ設定部と、前記カウンタ設定部により設定された設定回数の制限値を保持し、転送単位を設定する毎に保持した値をカウントダウンするカウンタとを備えたことを特徴とする。
【発明の効果】
【０００７】
この発明によれば、データの転送単位の設定回数の制限値を設定するカウンタ設定部と、前記カウンタ設定部により設定された設定回数の制限値を保持し、転送単位を設定する毎に保持した値をカウントダウンするカウンタとを備えるようにしたので、転送単位の設定回数を制限してＣＰＵの負荷を低減できる効果がある。
【図面の簡単な説明】
【０００８】
【図１】この実施の形態１によるデータ転送装置を用いたデータ転送システムの構成図である。
【図２】この実施の形態１によるデータ転送装置の動作を示したフローチャートである。
【図３】この実施の形態１によるデータ転送装置の動作を説明するための図である。
【図４】この実施の形態２によるデータ転送装置の動作を示したフローチャートである。
【発明を実施するための形態】
【０００９】
以下、この発明における、実施の形態の一例について、添付の図面に従って説明する。
実施の形態１．
図１は、この実施の形態１によるデータ転送装置を用いたデータ転送システムの構成図である。
この実施の形態１によるデータ転送システムは、データを記憶した第１データ記憶部５、第１データ記憶部５に記憶されたデータの転送先である第２データ記憶部６、第１データ記憶部５から第２データ記憶部６へデータの転送を要求するＣＰＵ４、ＣＰＵ４からのデータ転送要求を解釈する転送要求モジュール２、転送要求モジュール２の解釈に基づきデータの転送を指示する転送指示モジュール１、転送指示モジュール１からの指示に基づき実際のデータの転送を行うコントローラモジュール３を備え、転送要求モジュール２、コントローラモジュール３、ＣＰＵ４、第１データ記憶部５、第２データ記憶部６はそれぞれバス７により接続されている。なお、データ転送装置は、転送指示モジュール１、転送要求モジュール２、コントローラモジュール３から構成される。
【００１０】
転送指示モジュール１は、転送要求モジュール２で解釈した後のデータ転送要求を受信する受信部１０、受信部１０が受信した解釈後のデータ転送要求に基づき転送するデータ量を設定する残データ設定部１２、残データ設定部１２により設定されたデータ量を保持する残データ保持部１６、残データ保持部１６に保持されたデータ量を読み出し受信部１０を介してＣＰＵ４へ送信する残データ読み出し部１３、受信部１０が受信した解釈後のデータ転送要求に基づきデータの転送単位の設定回数の制限値を設定するカウンタ設定部１４、カウンタ設定部１４により設定された設定回数の制限値を保持し、転送単位が設定される毎に保持した値（以下、カウンタ値）をカウントダウンしていくカウンタ１７、カウンタ１７のカウンタ値を読み出し受信部１０を介してＣＰＵ４へ送信するカウンタ読み出し部１５、受信部１０が受信した解釈後のデータ転送要求に基づきコントローラモジュール３に第１データ記憶部５から第２データ記憶部６へデータの転送を指示する転送指示部１１とを備える。なお、転送単位の制限回数は、予め設定しておいても良く、ユーザが操作部（図示せず）から設定できるように構成しても良い。
【００１１】
次に動作について説明する。
図２は実施の形態１によるデータ転送装置の動作を示したフローチャートである。
初めにＣＰＵ４より送信されたデータの転送要求を、転送要求モジュール２を介して受信部１０が受信すると、残データ設定部１２はデータ転送要求に含まれる転送データ量を残データ保持部１６へ設定する（ステップＳＴ１１）。次に、カウンタ設定部１４はデータ転送要求に含まれる転送単位の設定回数の制限値をカウンタ１７へ設定する（ステップＳＴ１２）。
【００１２】
次に、ＣＰＵ４は、残データ読み出し部１３により読み出された残データ保持部１６に保持されたデータ量が０か否かを判定する（ステップＳＴ１３）。データ量が０の場合、転送するデータが存在しないためデータ転送装置は動作を終了する。データ量が０でない場合、ＣＰＵ４はカウンタ読み出し部１５により読み出されたカウンタ１７に保持されたカウンタ値が１より大きいか否かを判定する（ステップＳＴ１４）。カウンタ値が１以下の場合、ＣＰＵ４は、残データ保持部１６が保持するデータ量を割り切れる最大の転送単位を設定し（ステップＳＴ１５）、カウンタ値が１より大きい場合、ＣＰＵ４は、残データ保持部１６が保持するデータ量に応じた最も効率のよい転送単位、すなわちデータ量に最も近い値を有する転送単位を設定する（ステップＳＴ１６）。
【００１３】
次に、カウンタ１７は保持しているカウンタ値を１減らす（ステップＳＴ１７）。次にＣＰＵ４は、残データ保持部１６が保持しているデータ量がステップＳＴ１５又はステップＳＴ１６で設定した転送単位以上であるか否かを判定し（ステップＳＴ１８）、データ量が転送単位以上の場合、ＣＰＵ４は設定した転送単位でデータを転送するよう転送要求モジュール２を介して転送指示部１１へ指示し、転送指示部１１はＣＰＵ４からの指示に基づき、コントローラモジュール３へデータの転送を行うように指示する。コントローラモジュール３は転送指示部１１からの指示に基づき、データを設定単位分だけＤＭＡ転送すると（ステップＳＴ１９）、残データ設定部１２は残データ保持部１６に保持されたデータ量を転送した分だけ減算した値に設定し直す（ステップＳＴ２０）。またステップＳＴ１８で、データ量が転送単位より小さい場合、ステップＳＴ１３からステップＳＴ２０までの処理を残データ保持部１６に保持されたデータ量が０となるまで繰り返す。
【００１４】
図３は、この実施の形態１によるデータ転送装置の動作を説明するための図である。この実施の形態１によるデータ転送装置は、１回に転送するデータ量の転送単位として１、２、４、８、１６の５種類をサポートしており、バス７の幅は、８、１６、３２ビット等に設定できるようになっているものとする。このため、例えばバス７の幅が１６ビットに設定されている場合、１データの量は１６ビットとなり、転送単位を４に設定すると、一回に転送されるデータ量は、１６ビット×４＝６４ビットとなる。また、バス７の幅が３２ビットに設定されている場合、１データの量は３２ビットとなり、転送単位が４であれば、１回に転送されるデータ量は、３２ビット×４＝１２８ビットとなる。
【００１５】
以下、初めに転送するデータ量が３９、転送単位の設定回数が３回に制限されているものとして、この実施の形態１によるデータ転送装置の動作を説明する。
初めに、転送するデータ量と転送回数の制限値が設定される（ステップ１）。次に、カウンタ値が３であることから、残データ量３９に応じた最も効率のよい１６がデータ転送単位に設定され、カウンタ値が２となる（ステップ２）。次に、設定された転送単位１６でデータの転送が行われ、残データ保持部１６に保持されたデータ量が２３となる（ステップ３）。次に、データ量が２３であることから転送単位１６で再度データの転送が行われ、データ量は７となる（ステップ４）。
【００１６】
次に、データ量が７で転送単位の１６より小さいため、転送単位の設定が行われるが、カウンタ値が２であることから、残データ量７に応じた最も効率のよい４がデータ転送単位に設定され、カウンタ値が１となる（ステップ５）。次に、設定された転送単位４でデータの転送が行われ、データ量が３となる（ステップ６）。次に、データ量が３で転送単位の４より小さいため転送単位の設定が行われるが、カウンタ値が１であるためデータ量を割り切ることができる最大の数である１がデータ転送単位に設定され、カウンタ値が０となる（ステップ７）。次に、設定された転送単位１でデータの転送が行われ、データ量が２となる（ステップ８）。同様にして、転送単位１で残りのデータの転送が行われ、データ量が０となったところで動作が終了する（ステップ９、１０）。
【００１７】
以上のように、この実施の形態１によるデータ転送装置は、ＣＰＵ４からのデータ転送要求を解釈する転送要求モジュール２と、転送要求モジュール２の解釈に基づきデータの転送単位等を指示する転送指示モジュール１と、転送指示モジュール１からの指示に基づき実際のデータの転送を行うコントローラモジュール３を備えるようにしたので、転送単位設定の回数を制限してＣＰＵ４の負荷を低減できるという効果がある。また、転送指示モジュール１にカウンタ設定部１４、カウンタ読み出し部１５、カウンタ１７を備え、転送単位の設定回数を変更できるように構成したので、転送単位の設定回数を適正な値に制限することができ、ＣＰＵ４の負荷を低減すると共に、データ転送全体の処理効率がよくなるという効果がある。
【００１８】
実施の形態２．
実施の形態１では、カウンタ設定部１４、カウンタ読み出し部１５、カウンタ１７を備えた形態について説明したが、この実施の形態２では、転送単位の設定回数を２回に固定し、カウンタ設定部１４、カウンタ読み出し部１５、カウンタ１７を省略した形態について説明する。なお、この実施の形態２によるデータ転送装置は、カウンタ設定部１４、カウンタ読み出し部１５、カウンタ１７を省略した以外は実施の形態１によるデータ転送装置と同じ構成であるためその説明を省略する。
【００１９】
次に動作について説明する。
図４は実施の形態２によるデータ転送装置の動作を示したフローチャートである。
初めにＣＰＵ４より送信されたデータの転送要求を、転送要求モジュール２を介して受信部１０が受信すると、残データ設定部１２はデータ転送要求に含まれるデータ量を残データ保持部１６へ設定する（ステップＳＴ２１）。次にＣＰＵ４は、残データ保持部１６が保持するデータ量に応じた最も効率の良い転送単位、すなわちデータ量に最も近い転送単位を設定し（ステップＳＴ２２）、残データ読み出し部１３により読み出された残データ保持部１６に保持されたデータ量が０か否かを判定する（ステップＳＴ２３）。
【００２０】
ステップＳＴ２３にて、データ量が０の場合、転送するデータが存在しないためデータ転送装置は動作を終了する。またデータ量が０でない場合、ＣＰＵ４は、残データ保持部１６に保持されたデータ量がステップＳＴ２２で設定した転送単位以上であるか否かを判定し（ステップＳＴ２４）、データ量が転送単位以上の場合、ＣＰＵ４は、ステップＳＴ２２で設定した転送単位でデータを転送するよう転送要求モジュール２を介して転送指示部１１へ指示し、転送指示部１１はＣＰＵ４からの指示に基づき、コントローラモジュール３へデータの転送を行うように指示する。コントローラモジュール３が転送指示部１１からの指示に基づき、データを設定単位分だけＤＭＡ転送すると（ステップＳＴ２５）、残データ設定部１２は残データ保持部１６に保持されたデータ量を転送分だけ減算した値を設定し直す（ステップＳＴ２７）。またステップＳＴ２４で、データが転送単位より小さい場合、ＣＰＵ４は、残データ保持部１６が保持するデータ量が割り切れる最大の転送単位を設定して（ステップＳＴ２６）、ステップＳＴ２３からステップＳＴ２７までの処理を、ステップＳＴ２３で残データ保持部１６に保持されたデータ量が０となるまで繰り返す。
【００２１】
以上のように、この実施の形態２によるデータ転送装置は、転送単位の設定回数を２回に固定したので、カウンタ設定部１４、カウンタ読み出し部１５、カウンタ１７を備える必要が無く、データ転送装置の構成を簡略化できる効果がある。また、図２のステップＳＴ１４のようにカウンタ１７のカウンタ値により転送単位の設定処理をする必要がなくなるためにデータ転送時におけるＣＰＵ４の負荷をより低減することができるという効果がある。
【００２２】
なお、この実施の形態１及び２では、第１データ記憶部５から第２データ記憶部６へデータを転送する形態としたが、第２データ記憶部６から第１データ記憶部５へデータを転送することもでき、またデータ記憶部を複数設ける形態としても良いことは言うまでもない。
また、データ量の転送単位についても、１、２、４、８、１６の５種類に限られず、３２や６４を使用しても良い。
【００２３】
以上のように、この発明に係るデータ転送装置及びデータ転送方法は、転送単位設定の回数を制限してＣＰＵの負荷を低減でき、また、転送単位の設定回数を変更できるようにしたので、転送単位の設定回数を適正な値に制限することができ、データ転送全体の処理効率もよくなるため、周辺機器とメモリ装置との間でＤＭＡ方式によりデータの転送を行うデータ転送システムなどに適している。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
外部より受信したデータ転送要求を解釈する転送要求モジュールと、
前記転送要求モジュールによる解釈後のデータ転送要求を受信する受信部、前記受信部が受信した解釈後のデータ転送要求に基づき転送するデータ量を設定する残データ設定部、前記残データ設定部により設定されたデータ量を保持する残データ保持部、前記残データ保持部に保持されたデータ量を読み出す残データ読み出し部、前記受信部が受信した解釈後のデータ転送要求に基づきデータの転送単位の設定回数の制限値を設定するカウンタ設定部、前記カウンタ設定部により設定された設定回数の制限値を保持し、転送単位を設定する毎に保持した値をカウントダウンするカウンタ、前記カウンタに保持された値を読み出すカウンタ読み出し部、前記受信部を介して送信される解釈後のデータ転送要求に基づきコントローラモジュールにデータの転送を指示する転送指示部を備えた転送指示モジュールと、
前記転送指示部からの指示に基づきデータの転送を行うコントローラモジュールとを備えたことを特徴とするデータ転送装置。
【請求項２】
外部より送信されたデータの転送要求を受信して、該データ転送要求に含まれるデータ量を残データ保持部へ設定する第１ステップと、
前記データ転送要求に基づきデータの転送単位の設定回数の制限値を設定する第２ステップと、
前記第２ステップにより設定された設定回数の制限値をカウンタに保持し、転送単位を設定する毎に保持した値を前記カウンタよりカウントダウンする第３ステップと、
前記残データ保持部が保持するデータ量がゼロか否かを判定する第４ステップと、
前記第３ステップにより設定されたカウンタの値が１より大きいか否かを判定する第５ステップと、
前記残データ保持部が保持するデータ量がゼロに等しくなく、かつ前記第３ステップにより設定されたカウンタの値が１より大きい場合に、残データ保持部が保持するデータ量に最も近い転送単位を設定し、前記残データ保持部が保持するデータ量がゼロに等しくなく、かつ前記第３ステップにより設定されたカウンタの値が１に等しいかまたは１より小さい場合に、残データ保持部が保持するデータ量を割り切れる最大の転送単位を設定する第６ステップと
前記残データ保持部に保持されたデータ量が前記第６ステップで設定された転送単位より小さくなるまで前記設定された転送単位でデータを転送する第７ステップと、
前記残データ保持部に保持されたデータ量を転送した分だけ減算する第８ステップとを備え、
前記第３ステップから前記第８ステップを、残データ保持部のデータ量がゼロとなるまで繰り返すことを特徴とするデータ転送方法。
【国際調査報告】
2009037798.tif 000007
2009037798.tif 000008
2009037798.tif 000009
2009037798.tif 000010