(57)【要約】【課題】インターフェースの異なるバスに接続可能であると共に，転送要求されたデータ量に関係なく効率のよいＤＭＡ転送処理を実現すること。【解決手段】ＤＭＡ転送中継装置に転送されたデータをＣＰＵのキャッシュラインサイズと同容量の記憶手段に一時的に記憶させ，上記データ或いはデータ転送処理に関連する信号（ＤＭＡコントローラが出力するステータスデータ等）を検出し，検出された信号に基づいて上記一時的に記憶されたデータを所定のデータ記憶部に転送する。【選択図】図１
2004355041.tif 000002
【特許請求の範囲】
【請求項１】
複数のディスクリプタ情報に基づくＤＭＡ転送方式によるデータ転送を実行するＤＭＡコントローラをインターフェースの異なるバスに接続可能とするＤＭＡ転送中継装置において，
上記ＤＭＡコントローラにより転送されたデータを一時的に記憶するデータ記憶手段と，
上記データ転送に関連する所定の信号を検出する信号検出手段と，
上記信号検出手段により検出された信号に基づいて上記データ記憶手段に記憶されたデータを所定の記憶部に転送するデータ転送手段と，
を具備してなることを特徴とするＤＭＡ転送中継装置。
【請求項２】
上記データ記憶手段が，キャッシュラインサイズと同容量の１又は複数のＦＩＦＯメモリに記憶するものである請求項１に記載のＤＭＡ転送中継装置。
【請求項３】
上記所定の信号が，上記データ記憶手段がデータで満杯となったことを示すデータフル信号である請求項１又は２に記載のＤＭＡ転送中継装置。
【請求項４】
上記所定の信号が，上記ＤＭＡコントローラによる上記データ記憶手段への転送が完了したことを示す転送完了信号である請求項１〜３のいずれかに記載のＤＭＡ転送中継装置。
【請求項５】
上記データ転送手段が，キャッシュラインサイズのデータをバースト転送するものである請求項１〜４のいずれかに記載のＤＭＡ転送中継装置。
【請求項６】
上記信号検出手段により上記転送完了信号が検出されたことに応じて，上記データ記憶手段の空領域にダミーデータを付加することにより上記データ記憶手段をデータで満杯にさせるダミーデータ付加手段を更に具備してなる請求項１〜５のいずれかに記載のＤＭＡ転送中継装置。
【請求項７】
上記信号検出手段により検出された上記転送完了信号に基づいて，上記データ転送手段により上記データ記憶手段に記憶された全データが上記所定の記憶部に転送された後に，上記転送完了信号に対する応答信号を上記ＤＭＡコントローラに送信する応答信号送信手段を更に具備してなる請求項１〜６のいずれかに記載のＤＭＡ転送中継装置。
【請求項８】
バスの使用頻度を判断するバス使用頻度判断手段を更に具備し，上記データ転送手段が，上記バス使用頻度判断手段による判断結果に基づいて，上記データ記憶手段に記憶されたデータを上記所定の記憶部に転送するものである請求項１〜７のいずれかに記載のＤＭＡ転送中継装置。
【請求項９】
複数のディスクリプタ情報に基づくＤＭＡ転送方式によるデータ転送を実行するＤＭＡコントローラをインターフェースの異なるバスに接続可能とするＤＭＡ転送中継装置に用いられるＤＭＡ転送方法において，
上記ＤＭＡコントローラにより転送されたデータを一時的に記憶するデータ記憶工程と，
上記データ転送に関連する所定の信号を検出する信号検出工程と，
上記信号検出手段により検出された信号に基づいて上記データ記憶手段に記憶されたデータを所定の記憶部に転送するデータ転送工程と，
を具備してなることを特徴とするＤＭＡ転送方法。
【請求項１０】
複数のディスクリプタ情報に基づくＤＭＡ転送方式によるデータ転送を実行するＤＭＡコントローラと，該ＤＭＡコントローラをインターフェースの異なるバスに接続可能とするＤＭＡ転送中継装置とを備え，上記ＤＭＡコントローラが上記ＤＭＡ転送中継装置を介して上記ＤＭＡ転送方式によるデータ転送を実行するＤＭＡ転送システムにおいて，
上記ＤＭＡ転送中継装置が，上記ＤＭＡコントローラにより転送されたデータを一時的に記憶するデータ記憶手段と，
上記データ転送に関連する所定の信号を検出する信号検出手段と，
上記信号検出手段により検出された信号に基づいて上記データ記憶手段に記憶されたデータを所定の記憶部に転送するデータ転送手段と，
を具備してなることを特徴とするＤＭＡ転送システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，ＤＭＡコントローラをインターフェースの異なるバス上において接続可能とするＤＭＡ転送中継装置，及び該ＤＭＡ転送中継装置を用いたＤＭＡ転送方法，ＤＭＡ転送システムに関するものである。
【０００２】
【従来の技術】
入出力装置からデータを効率よく転送する方法の一つに，メインメモリ等のディスクリプタ領域に記載されたディスクリプタ情報（転送制御情報）に基づいてデータ転送を行うＤＭＡ転送方式がある。このＤＭＡ転送方式は，ＤＭＡコントローラという新たなハードウェアを必要とするが，ＣＰＵから干渉されずに入出力装置とメインメモリとの間で直接的にデータの転送が行えるため，転送効率がよく，また，データ転送処理にＣＰＵが関与しないので，ＣＰＵの稼働率が軽減されシステム全体の処理の高速化が実現されるという利点がある。
【０００３】
このようなＤＭＡコントローラがバスに接続されてＤＭＡ転送システムを構成する場合は，該ＤＭＡコントローラとバスとのインターフェース（Ｉ／Ｆ）の整合性を考慮しなければならず，Ｉ／Ｆの異なるバスに上記ＤＭＡコントローラを接続する場合は，例えば特許文献１に記載されるバスＩ／Ｆ変換回路を備えた接続中継装置が必要となる。これによれば，バスとＤＭＡコントローラとの間に，当該接続中継装置を設けることにより，Ｉ／Ｆの異なるバス上にも上記ＤＭＡコントローラを接続することが可能になる。更に，上記接続中継装置は，ディスクリプタ領域に次の転送データ情報を書き込むことができるので，かかる情報を参照してＤＭＡ転送することが可能となり，これにより連続したデータ転送を実現している。
【０００４】
【特許文献１】
特開平１１−１３４２８９号公報
【０００５】
【発明が解決しようとする課題】
しかしながら，上記特許文献１の技術により可能となった連続転送は，所詮はシングル転送（１回のバスアクセス（転送要求）に対して１バイトのデータを転送すること）を繰り返し行うことにより，ディスクリプタ領域に記載されたデータ量のみのデータを転送する方法であるので，従来のシングル転送と較べると，その転送速度は向上するものの，例えば，膨大な量のデータの転送が要求された場合は，十分に処理できる転送速度を備えるものではなかった。
従って，本発明は上記事情に鑑みてなされたものであり，その目的とするところは，インターフェースの異なるバスに接続可能でありながら，転送要求されたデータ量に関わらず効率のよいデータ転送を可能とすると共に，ＣＰＵの処理負担を軽減しシステム全体の処理速度を向上させることが可能なＤＭＡ転送中継装置，ＤＭＡ転送方法及びＤＭＡ転送システムを提供することにある。
【０００６】
【課題を解決するための手段】
上記目的を達成するために本発明は，複数のディスクリプタ情報に基づくＤＭＡ転送方式によるデータ転送を実行するＤＭＡコントローラをインターフェースの異なるバスに接続可能とするＤＭＡ転送中継装置において，上記ＤＭＡコントローラにより転送されたデータを一時的に記憶するデータ記憶手段と，上記データ転送に関連する所定の信号を検出する信号検出手段と，上記信号検出手段により検出された信号に基づいて上記データ記憶手段に記憶されたデータを所定の記憶部に転送するデータ転送手段と，を具備してなることを特徴とするＤＭＡ転送中継装置として構成されている。
このように構成されることにより，例えばバス幅の異なるインターフェース間においてデータの転送が要求された場合であっても，要求されたデータ量に関わらず，常に略一定の転送速度で効率のよい転送処理が実現される。
【０００７】
ここで，上記データ記憶手段が，キャッシュラインサイズと同容量の１又は複数のＦＩＦＯメモリに記憶するものであることが考えられる。
通常，ＣＰＵはキャッシュラインサイズのデータを１単位として演算処理を行う。従って，上記キャッシュラインサイズと同容量のＦＩＦＯメモリを設け，該キャッシュラインサイズのデータのみを転送して上記所定のメモリへ格納することとすれば，ＣＰＵは上記所定のメモリに格納されたデータを最も効率よく処理することが可能となり，これによりＣＰＵの処理負担が軽減され，その結果，システム全体の処理速度が向上する効果を奏する。
【０００８】
また，上記所定の信号が，上記データ記憶手段がデータで満杯となったことを示すデータフル信号であることが望ましい。このデータフル信号に基づいてデータを転送することにより，上記データ記憶手段に記憶し得る容量を１単位としたデータの転送が可能となる。この場合，上記データ記憶手段がキャッシュラインサイズと同容量のＦＩＦＯメモリであれば，上記データ転送手段が，キャッシュラインサイズのデータをバースト転送するものであることが望ましい。バースト転送とは，１回のバスアクセス（転送要求）に対して，連続して複数のデータを転送する動作である。これにより，上記データ記憶手段に記憶し得る容量を１単位として，連続したデータの転送が可能となり，より高速なデータ転送を行うことが可能となる。
更に，上記所定の信号が，上記ＤＭＡコントローラによる上記データ記憶手段への転送が完了したことを示す転送完了信号であってもよい。これにより，例えば，該転送完了信号の検出結果に基づいて，上記データ記憶手段に記憶されたデータの転送を開始することができるので，上記データ記憶手段がデータで満杯とならない場合であっても，転送要求されたデータを全て転送することが可能となる。尚，上記転送完了信号はディスクリプタ領域に記載された情報を更新するために上記ＤＭＡコントローラから送信される信号である。
【０００９】
また，上記信号検出手段により上記転送完了信号が検出されたことに応じて，上記データ記憶手段の空領域にダミーデータを付加することにより上記データ記憶手段をデータで満杯にさせるダミーデータ付加手段を更に具備するものであってもよい。
例えば，データ記憶手段の容量をバースト転送データ量（バーストサイズ）と定めた場合は，該データ記憶手段がデータで満たされない限り，データをバースト転送することができない。従ってこの場合は，上記データ記憶手段がデータで満杯とならない状態であっても，ダミーデータを付加して，上記データ記憶手段を強制的にデータで満杯とすることで，データのバースト転送を実現することが可能となる。
【００１０】
また，上記信号検出手段により検出された上記転送完了信号に基づいて，上記データ転送手段により上記データ記憶手段に記憶された全データが上記所定の記憶部に転送された後に，上記転送完了信号に対する応答信号を上記ＤＭＡコントローラに送信する応答信号送信手段を更に具備してなるものであってもよい。
ＤＭＡコントローラは，通常，上記応答信号を受信するとＣＰＵに対してＣＰＵの処理を再開させるための割り込み信号を発信する。この場合，例えば，上記データ記憶手段に記憶されたデータの上記所定の記憶部への転送が不完全な状態で，ＤＭＡコントローラが割り込み信号を送信すると，ＣＰＵは，上記所定の記憶部に格納された転送不完全なデータを処理することになり，その結果，プログラム等の誤作動が生じるおそれがある。従って，上記応答信号送信手段を更に具備することにより，かかる誤作動を排除し，システム全体の処理遅延を回避させている。
【００１１】
また，バスの使用頻度を判断するバス使用頻度判断手段を更に具備し，上記データ転送手段が，上記バス使用頻度判断手段による判断結果に基づいて，上記データ記憶手段に記憶されたデータを上記所定の記憶部に転送するものであることが考えられる。
例えば転送データ量が少ない，即ちバス使用頻度が低いと判断された場合は，ダミーデータを付加して複数のデータを連続転送（例えばバースト転送）するよりも，１バイト毎にバスの開放・要求を必要とするシングル転送を行った方が転送処理が速く，また逆に，転送データ量が多い，即ちバス使用頻度が高いと判断された場合は，上記シングル転送よりも上記連続転送を行った方が転送処理が速い場合がある。従って，バス使用頻度に応じて，データの転送処理が速い転送方法を適用することにより，転送効率を向上させることができる。
【００１２】
また，本発明は，上記ＤＭＡ転送中継装置の具備する各手段に相当する処理を行うＤＭＡ転送方法として捉えたものであってもよい。
即ち，複数のディスクリプタ情報に基づくＤＭＡ転送方式によるデータ転送を実行するＤＭＡコントローラをインターフェースの異なるバスに接続可能とするＤＭＡ転送中継装置に用いられるＤＭＡ転送方法において，上記ＤＭＡコントローラにより転送されたデータを一時的に記憶するデータ記憶工程と，上記データ転送に関連する所定の信号を検出する信号検出工程と，上記信号検出手段により検出された信号に基づいて上記データ記憶手段に記憶されたデータを所定の記憶部に転送するデータ転送工程と，を具備してなることを特徴とするＤＭＡ転送方法として構成することができる。
【００１３】
更に，本発明は，少なくとも上記ＤＭＡコントローラと上記ＤＭＡ転送中継装置とを備えて構成される，ＤＭＡ転送システムとして捉えたものであってもよい。
即ち，複数のディスクリプタ情報に基づくＤＭＡ転送方式によるデータ転送を実行するＤＭＡコントローラと，該ＤＭＡコントローラをインターフェースの異なるバスに接続可能とするＤＭＡ転送中継装置とを備え，上記ＤＭＡコントローラが上記ＤＭＡ転送中継装置を介して上記ＤＭＡ転送方式によるデータ転送を実行するＤＭＡ転送システムにおいて，上記ＤＭＡ転送中継装置が，上記ＤＭＡコントローラにより転送されたデータを一時的に記憶するデータ記憶手段と，上記データ転送に関連する所定の信号を検出する信号検出手段と，上記信号検出手段により検出された信号に基づいて上記データ記憶手段に記憶されたデータを所定の記憶部に転送するデータ転送手段と，を具備してなることを特徴とするＤＭＡ転送システムとして構成することができる。
【００１４】
【発明の実施の形態】
以下添付図面を参照しながら，本発明の実施の形態及び実施例について説明し，本発明の理解に供する。尚，以下の実施の形態及び実施例は，本発明を具体化した一例であって，本発明の技術的範囲を限定する性格のものではない。
ここに，図１は本発明の実施の形態に係るＤＭＡ転送中継装置を用いたＤＭＡ転送システムＡを示すブロック図，図２は本発明の実施の形態に係るＤＭＡ転送中継装置が行う処理手順の一例を示すフローチャートである。
【００１５】
図１を用いて，本発明の実施の形態に係るＤＭＡ転送中継装置２０を用いたＤＭＡ転送システムＡの構成について説明する。尚，本実施の形態では，プリンタ，コピー機，ファックス等の画像処理装置に搭載されるイーサネットシステム（「イーサネット」は富士ゼロックス株式会社の登録商標）において利用されるＤＭＡ転送システムについて例示する。
図１に示されるように，ＤＭＡ転送システムＡは，ＣＰＵ２と，ディスクリプタ情報（転送制御情報）を有するディスクリプタ領域１１及び転送されたデータを格納するデータ格納領域１２を有するメインメモリ１０と，本発明に係るＤＭＡ転送中継装置２０とがデータバス１に接続され，更に上記ＤＭＡ転送中継装置２０にＤＭＡ転送方式による転送制御を行うＤＭＡＣ（ＤＭＡコントローラ）３１を搭載するイーサネットシステム３０が接続されて構成されている。尚，本ＤＭＡ転送システムＡにおけるデータの転送は，上記イーサネットシステム３０に設けられた外部インターフェース（外部Ｉ／Ｆ）３を通じて行われるものとする。
【００１６】
ＣＰＵ２は，上記ＤＭＡ転送システムＡを統括制御する中央演算処理装置の一例である。
上記メインメモリ１０はＥＥＰＲＯＭやフラッシュメモリ等の不揮発性メモリからなるものであり，上記メインメモリ１０のディスクリプタ領域１１には，転送開始アドレス，転送終了アドレス，転送データ量，転送完了信号の有無或いは転送完了状態等の複数のディスクリプタ情報が格納されている。また，上記データ格納領域１２は，ＤＭＡ転送されたデータを格納するメモリ領域である。
上記イーサネットシステム３０は，例えばＬＡＮ等のネットワークを介して外部端末装置或いは外部記憶装置の入出力デバイス等（不図示）とインターフェースをとる外部インターフェース３４と，上記入出力デバイスとイーサネットシステム３０との間においてネットワークの通信接続環境を制御するイーサネットコントローラ３３と，上記入出力デバイス等から転送されたデータを一時的に保管するＦＩＦＯメモリ（以下，「ＦＩＦＯ」と称す）３２と，上記複数のディスクリプタ情報に基づくＤＡＭ転送方式によるデータ転送を制御・実行するＤＭＡＣ３１とを備えて構成されている。このイーサネットシステム３０は，例えばプリンタ，コピー機，ファックス等の画像制御装置やパソコン等の汎用システムに適用され得るものである。
【００１７】
上記ＤＭＡ転送中継装置２０は，インターフェースが異なるバス，例えば上記イーサネットシステム３０において転送し得るデータのバス幅とデータバス１のバス幅とが異なる場合に，そのインターフェースの差異（バス幅の差異）を整合させる不図示のＩ／Ｆ変換回路（例えばブリッジ回路等）と，ＤＭＡＣ３１により転送されたデータを一時的に記憶するＦＩＦＯ２２（データ記憶手段の一例）と，上記ＦＩＦＯ２２に記憶されたデータ量をカウントし，そのカウント結果を出力するカウンタ２３と，上記ＤＭＡＣ３１により制御・転送されるデータ或いはデータ転送処理に関連する所定の信号を検出する信号検出回路２１（信号検出手段の一例）と，上記検出回路２１により検出された信号に基づいて上記ＦＩＦＯ２２に記憶されたデータを上記データ格納領域１２に転送するデータ転送回路（データ転送手段の一例）とを具備して構成されている。
【００１８】
ここで，上記ＤＭＡ転送中継装置２０が具備するＦＩＦＯ２２，信号検出回路２１，及びデータ転送回路２４について詳述する。
上記ＦＩＦＯ２２は，ＤＭＡＣ３１により転送されたデータを一時的に記憶するデータ記憶手段の一例であり，本実施形態ではＣＰＵ２が有するキャッシュメモリのラインサイズと同容量のＦＩＦＯメモリとする。ＤＭＡＣ３１が外部の入出力デバイス（不図示）から上記イーサネットシステム３０に転送されたデータを，インターフェース（例えばバス幅）の異なるデータバス１を介してＤＭＡ転送する場合，インターフェース間の転送方式の差を吸収するために，当該転送データを上記ＤＭＡ転送中継装置２０内に一時的に記憶させる必要がある。上記ＦＩＦＯ２２はそのためのデータ記憶手段である。通常ＣＰＵはキャッシュラインサイズのデータを１単位として演算処理を行う。従って，上記キャッシュラインサイズと同容量のＦＩＦＯ２２を設け，該キャッシュラインサイズのデータのみをＤＭＡ転送して上記データ格納領域１２に格納することにより，ＣＰＵ２はデータ格納領域１２のデータを最も効率よく処理することができ，その結果，ＣＰＵの処理負担が軽減され，システム全体の処理速度が向上することになる。
【００１９】
上記信号検出回路２１は，ＤＭＡＣ３１が制御・転送するデータに関連する所定の信号を検出する信号検出手段の一例であって，例えば，ＤＭＡＣ３１によるＦＩＦＯ２２への転送が完了したことを示す転送完了信号（ＬＳビット信号）を検出するものである。一般的にディスクリプタ情報に基づいてＤＭＡ転送を行う場合，ＤＭＡＣ３１は，データ転送完了後にディスクリプタ情報を更新する。更新されるディスクリプタ情報には転送開始アドレス，転送終了アドレス，転送データ量等に関する情報だけでなく，ＤＭＡＣ３１による上記ＦＩＦＯ２２への転送が完了したかどうかの情報，或いは転送状態を示す情報も更新される。このとき，上記転送の完了，転送状態を更新する場合，上記ＤＭＡＣ３１は上記ディスクリプタ領域１１にアクセスし，転送データのステータスデータを送信して上記ディスクリプタ情報を更新する。上記信号検出回路２１は，この転送データのステータスデータ内に上記ＦＩＦＯ２２への転送が完了したことを示す転送完了信号（ＬＳビット信号）の有無を検出するものである。
また，上記転送完了信号を含む上記ステータスデータは，上記ＦＩＦＯ２１のデータが上記データ格納領域１２へ転送された後に送信されるのではなく，上記ＦＩＦＯ２１へのデータ転送が完了した後に送信されるものである。ＣＰＵ２に対して上記データ格納領域１２へデータが完全に転送される前に処理を再開させないために，上記信号検出回路２１は，上記転送完了信号を含むステータスデータをその場に留める機能をも有する。
また，上記信号検出回路２１は，ＤＭＡ転送中継装置２０のＦＩＦＯ２２がデータで満杯となったことを示すデータフル信号を検出するものでもある。例えば，カウンタ２３（信号検出手段の一例）によりＦＩＦＯ２２のデータ量がカウントされ，データ量が満杯であるとカウントされた場合に出力される信号を検出する。上記転送完了信号及び上記データフル信号が検出されることにより，後述するデータ転送回路２４が機能する。
更にまた，上記信号検出回路２１は，後述するデータ転送回路２４により上記ＦＩＦＯ２２内に記憶されたデータが全て上記データ格納領域１２に転送されたことを示す信号を検出するものでもある。例えば，カウンタ２３によりＦＩＦＯ２２のデータ量がカウントされ，カウンタ２３が零をカウントすることによりデータが無い場合に出力される信号を検出する。この信号を検出することにより，後述する不図示の応答信号送信回路が機能する。
【００２０】
上記データ転送回路２４は，上記信号検出回路２１により検出された信号に基づいて，上記ＦＩＦＯ２３に記憶されたデータを上記データ格納領域１２に転送するデータ転送手段の一例であって，例えば，ＦＩＦＯ２２にデータが満杯となったことを示すデータフル信号を検出したことにより，上記ＦＩＦＯ２２内のデータを上記データ格納領域１２へＤＭＡ転送させるものである。この場合，上記ＦＩＦＯ２２がキャッシュラインサイズと同容量であれば，キャッシュラインサイズのデータをバースト転送することが望ましい。バースト転送とは，１回のバスアクセス（転送要求）に対して，連続して複数のデータを転送する動作である。これにより，上記ＦＩＦＯ２２に記憶し得る容量を１単位として，連続したデータの転送が可能となり，より高速なデータ転送を行うことが可能となる。
また，ＤＭＡＣ３１によるＦＩＦＯ２２への転送が完了したことを示す転送完了信号（ＬＳビット信号）を検出することにより，上記ＦＩＦＯ２２内のデータを上記データ格納領域１２へＤＭＡ転送させるものでもある。これにより，ＦＩＦＯ２２がデータで満杯とならない場合であっても転送要求されたデータを全て転送することが可能となる。しかし，この場合，ＦＩＦＯ２２に記憶されたデータ量がキャッシュラインサイズ（バースト転送データ量）を満たしていない場合は，バースト転送をすることができず，通常のシングル転送によりデータを転送しなければならない。従って，上記ＦＩＦＯ２２がデータで満杯とならない状態であっても，上記信号検出回路２１が上記転送完了信号を検出したことにより，上記ＦＩＦＯ２２の空領域にダミーデータを付加させてＦＩＦＯ２２を強制的にデータで満杯にすることにより上記バースト転送を実現することが可能となる。具体的には，予めプログラムやデータ等に影響を与えないダミーデータをメインメモリ１０或いはＤＭＡ転送中継装置若しくはイーサネットシステム３０内のデータ記憶領域（不図示）に保存して用意しておき，上記転送完了信号（ＬＳビット信号）を検出すると同時に，上記ダミーデータを読み出して上記ＦＩＦＯ２２に転送させることで，上記ＦＩＦＯ２２をデータで満杯とさせる。これにより，上述したようにバースト転送が可能となり，効率的なデータ転送を行なうことができる。
【００２１】
次に，図２のフローチャートに基づいて，本発明の実施の形態に係るＤＭＡ転送中継装置２０を用いたＤＭＡ転送システムＡが行う処理手順の一例について説明する。図中のＳ１０，Ｓ２０…は処理手順（ステップ）番号を示す。処理はステップＳ１０より開始される。尚，本実施形態においては，データはＤＭＡ転送方式により転送処理がなされるため，その処理は上記ＤＭＡＣ３１によって実行される。
【００２２】
外部入出力デバイスから入力されたデータが，上記ＤＭＡＣ３１により上記ＦＩＦＯ２２に転送されると，上記ＤＭＡＣ３１はカウンタ２３に対してＦＩＦＯ２２に蓄積されるデータをカウントさせる（Ｓ１０）。
ステップＳ２０では，上記ＤＭＡＣ３１は信号検出回路２１に対して，該ＤＭＡＣ３１から出力された転送完了信号（ＬＳビット信号）を検出させる。当該転送完了信号はビット列信号であるので，例えば，該ビット信号がアサート状態であるかどうかを判断させることにより転送完了信号の有無を検出することができる。上記Ｓ２０において転送完了信号が有ると判断されると処理はステップＳ５０に進み，無いと判断されると処理はＳ３０に進む。
ステップＳ２０において，転送完了信号が無いと判断されると，続いてＦＩＦＯ２２がデータで満杯であるかどうかが判断される（Ｓ３０）。これはカウンタ２３により示されるデータ量がＦＩＦＯの容量に達しているかどうかにより判断される。ここで，ＦＩＦＯが満杯でないと判断された場合は，全てのデータの転送がまだ完了しておらず，つまりＤＭＡＣ３１がまだＦＩＦＯ２２へデータを転送中であるため，ＦＩＦＯ２２内のデータを上記データ格納領域１２へ転送せず，処理は再びステップＳ２０に戻り，Ｓ２０〜Ｓ３０のループ処理が実行される。また，ステップＳ３０においてＦＩＦＯ２０がデータで満杯であると判断されると，ＤＭＡＣ３１はＦＩＦＯ２２のデータを上記転送回路２４に転送させ（Ｓ４０），ＤＭＡＣ３１から引き続き転送されるデータを処理するため再びステップＳ２０〜３０のループ処理が実行される。尚，ステップＳ４０及び後述するステップＳ６０で行われるデータ転送処理は，バスの使用頻度やＦＩＦＯ２２に記憶されたデータ量に基づき，データの転送処理方法を選択する閾値を定め，当該転送処理方法を選択して最適なデータ転送処理を行うことが考えられ，その詳細については，後段にて説明する。
また，ステップＳ２０において，転送完了信号が有ると判断されると，ＤＭＡＣ３１はＦＩＦＯ２２の空領域に予め用紙されたダミーデータを当該ＦＩＦＯ２２に転送し，ＦＩＦＯ２２内をデータで満杯状態にして（Ｓ３０），その後，ＤＭＡＣ３１はＦＩＦＯ２２内のデータをデータ転送回路２４に転送させる（Ｓ６０）。転送が完了して，ＦＩＦＯ２２内のデータが零であることを上記カウンタ２３によりカウントされると，即ちＦＩＦＯ２２内のデータが全て転送されたと判断されると（Ｓ７０），ＤＭＡＣ３１は上記信号検出回路２１により留められていた上記転送完了信号を含むステータスデータをディスクリプタ領域１１に送信する。当該ステータスデータの送信は，ＤＭＡＣ３１がデータ転送回路２４にさせるものであってもよい。上記ステータスデータが送信され，上記ディスクリプタ領域１１のディスクリプタ情報が書き換えられると，ＤＭＡＣ３１は不図示の応答信号送信回路から送信された応答信号を受信し（Ｓ８０），その後，ＣＰＵ２に対して割り込み信号を送信する。これにより，ＤＭＡＣ３１がＣＰＵ２に対して行う割り込み信号の送信を遅延させることができ，その結果，ＣＰＵ２が転送不完全なデータを処理することにより発生し得るプログラム等の誤作動を排除することができ，システム全体の処理遅延を回避することができる。
【００２３】
次に，上記ＤＭＡ転送中継装置２０が，データバス１の使用頻度を判断するバス使用頻度判断回路（バス使用頻度判断手段の一例）を更に具備する実施形態について説明する。このバス使用頻度判断回路は，例えば，ＤＭＡＣ３１がＣＰＵ２にバスの開放を要求するためのＤＭＡ転送要求信号（ｄｍａｒｅｑ）を送信されてから，上記ＣＰＵ２がバスを開放したことをＤＭＡＣ３１に通知するためのＤＭＡ転送応答信号（ｄｍａａｃｋ）を返信するまでのクロック周波数をカウントすることにより，データバス１の使用頻度を判断するものである。かかる判断結果に基づいて，ＦＩＦＯ２２に記憶されたデータを，上記メインメモリ１０のデータ格納領域１２に転送することが可能になる。具体的には，ＦＩＦＯ２２に記憶されたデータ量に見合った上記クロック周波数の閾値を定め，この閾値を基準にデータの転送方法を選択する。選択される転送方法には，▲１▼ＦＩＦＯ２２に記憶されたデータにダミーデータを付加してＦＩＦＯ２２を強制的に満杯としてからバースト転送をする方法，或いは▲２▼ＦＩＦＯ２２に記憶されたデータをシングル転送する方法，が挙げられる。このように，データバス１の使用頻度によって，転送速度が速い転送方法を選択的に定めることが可能となり，その結果，転送効率を向上させることができる。
【００２４】
ここで，図３，図４を用いて，上記クロック周波数に基づくデータの転送の選択方法について説明する。尚，図３，図４におけるバースト転送は，１回のバスアクセス（転送要求）で８バイトのデータを転送するものとする。
【００２５】
図３は，データバス１の使用頻度が低い場合であって，ＤＭＡＣ３１がＤＭＡ転送要求信号を送信してから，２クロック後にＣＰＵ２からＤＭＡ転送応答信号が返信された場合（上記ＤＭＡ転送応答信号の返信が早い場合）のデータ転送速度のタイムチャートを示している。つまり，データバス１の使用頻度が低いため，ＤＭＡ転送要求送信から２クロック後にＤＭＡ転送が行えることを意味する。この場合，バースト転送する場合は，ＤＭＡ転送要求信号が送信されてから１０クロック後に転送が完了する。またシングル転送する場合は，転送データが１バイトのときは３クロック，転送データが２バイトのときは７クロック後にデータ転送が完了し，この場合はバースト転送よりもシングル転送の方が，転送速度が速い。しかし，転送データが３バイト以上のときは，ＤＭＡ転送要求信号が送信されてから転送完了までに少なくとも１１クロック要し，この場合はバースト転送によりデータを転送した方が，転送速度が速い。
【００２６】
図４は，データバス１の使用頻度が高い場合であって，ＤＭＡＣ３１がＤＭＡ転送要求信号を送信してから，６クロック後にＣＰＵ２からＤＭＡ転送応答信号が返信された場合（上記ＤＭＡ転送応答信号の返信が遅い場合）のデータ転送速度のタイムチャートを示している。つまり，データバス１の使用頻度が高いため，ＤＭＡ転送要求送信から６クロック後でなければＤＭＡ転送が行えないことを意味する。この場合，バースト転送する場合は，ＤＭＡ転送要求信号が送信されてから１４クロック後に転送が完了する。またシングル転送する場合は，転送データが１バイトのときは７クロック後に転送が完了し，この場合はバースト転送よりもシングル転送の方が，転送速度が速い。しかし，転送データが２バイト以上のときは，ＤＭＡ転送要求信号が送信されてから転送完了までに少なくとも１５クロック要し，この場合はバースト転送の法が，転送速度が速い。
このように，バスの使用頻度及び転送データ量によって，最も転送効率のよい転送方法を選択する閾値を求め，その閾値に基づいてデータ転送方法を選択的に定めることにより，転送効率のよいシステム構成とすれば，転送効率が向上し，システム全体の効率も向上する。
【００２７】
【実施例】
上記実施形態では，イーサネットシステム３０を用いたＤＭＡ転送システムＡについて説明した。このイーサネットシステム３０で扱える１フレームデータの最大長は，イーサネット規格ＩＥＥＥ８０２．３において，１５１８バイトと定められている。従って，上記１フレームの最大長の１５１８バイトに十分対応できるように，最大フレームサイズ以上の一定単位のバッファ領域をメインメモリに確保し，１バッファ領域内では１フレームのみの処理を行えるようにすることが望ましい。従って，メインメモリ１０内のデータ格納領域１２には２０４８バイト（８００ｈバイト）単位のバッファに１フレームが格納され得るようにメモリ領域を確保することが考えられる。この場合，ディスクリプタ領域１１には，データ格納領域１２の転送開始アドレス情報及び該転送開始アドレスから２０４８バイト分の容量を隔てた転送終了アドレス情報が記載されていることになる。メインメモリ１０内の空領域を少なくするために，上記バッファ領域を小さく分けることとしても特に問題は無いが，上記バースト転送が可能であるためには，最低でもＣＰＵ２が扱うキャッシュラインサイズのバッファサイズを確保する必要がある。
【００２８】
【発明の効果】
以上説明したとおり，本発明によれば，ＤＭＡコントローラが送受信するＤＭＡ転送に関する所定の信号を検出し，その検出結果に基づきデータ転送が行えるので，転送データ量に関わらず効率のよいデータ転送を可能とすると共に，ＣＰＵの処理負担を軽減し，システム全体の処理速度を向上させることが可能となる。更に，バス使用頻度を判断し，その判断結果に基づいてデータ転送が行えるので，例えばバス使用頻度等に応じて，転送速度が速い転送方法を選択することが可能となり，その結果，転送効率を向上させることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るＤＭＡ転送方式のシステム構成図。
【図２】本発明の実施の形態に係るＤＭＡ転送中継装置が行う処理手順を示すフローチャート。
【図３】データバス１の使用頻度が低い場合のデータ転送速度のタイムチャート。
【図４】データバス１の使用頻度が高い場合のデータ転送速度のタイムチャート。
【符号の説明】
１…データバス
２…ＣＰＵ
３…外部Ｉ／Ｆ
１０…メインメモリ
１１…ディスクリプタ領域
１２…データ格納領域
２０…ＤＭＡ転送中継装置
２１…信号検出回路
２２…ＦＩＦＯメモリ
２３…カウンタ
２４…データ転送回路
３０…イーサネットシステム
３１…ＤＭＡコントローラ
３２…ＦＩＦＯメモリ
３３…イーサネットコントローラ
６１…クロック周波数
６２…バースト転送
６３…シングル転送
６４…ＤＭＡ転送要求信号
６５…ＤＭＡ転送応答信号
６６…○印は１バイト分のデータを示す。
【図１】
2004355041.tif 000003
【図２】
2004355041.tif 000004
【図３】
2004355041.tif 000005
【図４】
2004355041.tif 000006