(57)【要約】データ転送装置は、共通バスを介してデータが転送される記憶回路、複数の周辺回路およびデータ転送回路を有している。各周辺回路は、共通バスに接続されるバッファを有し、バッファのデータ量に応じてデータ転送要求を出力する。データ転送回路は、データ転送要求にそれぞれ応答して、対応するバッファと記憶回路との間のデータ転送を実施する。周辺回路のうち転送レートが最も大きい高速周辺回路を除く低速周辺回路の各々は、バッファのデータ量がデータ転送要求を出力すべき量になってから、所定時間後にデータ転送要求を出力する。高速周辺回路は、バッファのデータ量がデータ転送要求を出力すべき量になってから、所定時間より短い時間後にデータ転送要求を出力する。このため、低速周辺回路からの要求によるデータ転送と高速周辺回路からの要求によるデータ転送との順序を入れ替えることができ、一定期間内に転送が不可欠なデータを確実に転送できる。
2004102404.tif 000002
【特許請求の範囲】
【請求項１】
データ転送に使用される共通バスと、
前記共通バスを介してデータが転送される記憶回路と、
前記共通バスに接続されるバッファをそれぞれ有し、前記バッファのデータ量に応じてデータ転送要求をそれぞれ出力する複数の周辺回路と、
前記データ転送要求にそれぞれ応答して、対応する前記バッファと前記記憶回路との間のデータ転送を実施するデータ転送回路とを備え、
前記周辺回路のうち転送レートが最も大きい高速周辺回路を除く低速周辺回路の各々は、対応する前記バッファのデータ量が前記データ転送要求を出力すべき量になってから、所定時間後に前記データ転送要求を出力し、
前記高速周辺回路は、対応する前記バッファのデータ量が前記データ転送要求を出力すべき量になってから、前記所定時間より短い時間後に前記データ転送要求を出力することを特徴とするデータ転送装置。
【請求項２】
請求の範囲１記載のデータ転送装置において、
前記各低速周辺回路は、前記所定時間を設定するためのレジスタを有し、前記バッファのデータ量が前記データ転送要求を出力すべき量になってから、前記レジスタに設定された前記所定時間後に前記データ転送要求を出力することを特徴とするデータ転送装置。
【請求項３】
請求の範囲１記載のデータ転送装置において、
前記データ転送回路は、優先順位が最も高い前記データ転送要求に応答したデータ転送を優先して実施するとともに、所定量のデータ転送を実施する毎に、前記データ転送要求の優先順位を回転させることを特徴とするデータ転送装置。
【請求項４】
請求の範囲１記載のデータ転送装置において、
前記低速周辺回路の前記所定時間は、転送レートが小さいほど長く設定されることを特徴とするデータ転送装置。
【請求項５】
請求の範囲１記載のデータ転送装置において、
前記高速周辺回路は、前記バッファのデータ量が前記データ転送要求を出力すべき量になってから、即座に前記データ転送要求を出力することを特徴とするデータ転送装置。
【請求項６】
請求の範囲１記載のデータ転送装置において、
前記データ転送回路は、ダイレクトメモリアクセス転送によりデータ転送を実施するダイレクトメモリアクセスコントローラであることを特徴とするデータ転送装置。
【請求項７】
請求の範囲１記載のデータ転送装置において、
前記周辺回路のうちデータ転送により前記バッファにデータが書き込まれる周辺回路は、前記バッファのデータ量が所定量より小さくなったときに、前記データ転送要求を出力すべきであると認識することを特徴とするデータ転送装置。
【請求項８】
請求の範囲１記載のデータ転送装置において、
前記周辺回路のうちデータ転送により前記バッファからデータが読み出される周辺回路は、前記バッファのデータ量が所定量より大きくなったときに、前記データ転送要求を出力すべきであると認識することを特徴とするデータ転送装置。
【請求項９】
請求の範囲１記載のデータ転送装置において、
前記高速周辺回路の前記バッファのデータは、動画像データであることを特徴とするデータ転送装置。
【請求項１０】
請求の範囲１記載のデータ転送装置において、
前記高速周辺回路の前記バッファのデータは、音声データであることを特徴とするデータ転送装置。
【請求項１１】
請求の範囲１記載のデータ転送装置において、
前記周辺回路と前記データ転送回路とは、個別の半導体チップに形成されていることを特徴とするデータ転送装置。
【請求項１２】
請求の範囲１記載のデータ転送装置において、
前記周辺回路と前記データ転送回路とは、同一の半導体チップに形成されていることを特徴とするデータ転送装置。
【発明の詳細な説明】
【技術分野】  本発明は、ダイレクトメモリアクセス（ＤＭＡ：Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送によりデータの授受を実施するデータ転送装置に関する。
【背景技術】  一般に、データ転送装置は、高速・大容量のデータ転送を実施するために、ソフトウェア転送（プログラム転送）のようにＣＰＵを介すことなく、周辺回路とメモリとの間で、バスを通じて直接データを授受するＤＭＡ転送機能を有している。ＤＭＡ転送は、ＤＭＡＣ（ＤＭＡ  Ｃｏｎｔｒｏｌｌｅｒ）により実施される。ＤＭＡＣは、周辺回路からＤＭＡ転送を要求されると、ＣＰＵに対してバスの開放を要求する。ＣＰＵは、バスを解放できる場合、バスの使用権をＤＭＡＣに渡し、バスをハイインピーダンス状態にする。ＤＭＡＣは、ＤＭＡ転送を要求した周辺回路（またはメモリ）のデータを、メモリ（またはＤＭＡ転送を要求した周辺回路）に、バスを通じて転送する。ＤＭＡＣは、ＤＭＡ転送の終了と同時に、バスの使用権をＣＰＵに返還する。
一般に、ＤＭＡＣは、互いに独立してＤＭＡ転送を実施する複数のチャネルを有しており、チャネル間で優先順位が決められている。例えば、ＤＭＡＣは、優先順位の低いチャネルがＤＭＡ転送を実施しているときに、優先順位の高いチャネルへのＤＭＡ転送要求を受けると、優先順位の低いチャネルによる転送ブロックの最小単位のＤＭＡ転送が終了した後に、優先順位の高いチャネルにＤＭＡ転送を実施させる。そして、ＤＭＡＣは、優先順位の高いチャネルのＤＭＡ転送が完了すると、優先順位の低いチャネルに中断したＤＭＡ転送の続きを実施させる。例えば、動画像表示に使用される動画像データは、一般に、一定期間内でのデータ転送が不可欠である。従って、このような動画像データのＤＭＡ転送は、優先順位の高いチャネルに割り当てることで実現される。
しかしながら、優先順位の低いチャネルに割り当てられたＤＭＡ転送要求を出力する周辺回路のアクセス時間（データ読み出し時間またはデータ書き込み時間）が長い場合、すなわち転送レートが小さい場合、次のような問題が生じてしまう。優先順位の低いチャネルのＤＭＡ転送実施中に、前述のような動画像データのＤＭＡ転送が優先順位の高いチャネルに要求されても、優先順位の低いチャネルは、ＤＭＡ転送を即座に中断できない。このため、優先順位の高いチャネルのＤＭＡ転送の対象データが一定期間内に転送されなくなってしまう場合がある。この結果、動画像が正常に表示されなくなってしまう。
また、優先順位の高いチャネルへのＤＭＡ転送要求が頻発する場合、優先順位の低いチャネルへのＤＭＡ転送要求が受け付けられなくなってしまう場合がある。すなわち、優先順位の低いチャネルは、ＤＭＡ転送要求を受けても、ＤＭＡ転送を実施できなくなってしまう。
一方、バスにより接続される中央処理装置と複数の通信制御アダプタとで構成されるシステムにおいて、バスを介したＤＭＡ転送の実施時に、バスの転送能力を最大限に引き出すことを目的として、各通信制御アダプタのデータ転送速度を変更する方法が、例えば、特開平５−１３４９７７号公報に開示されている。
以下に、本発明に関連する先行技術文献を列記する。
【特許文献】（１）特開平５−１３４９７７号公報
【発明の開示】
本発明の目的は、一定期間内に転送が不可欠なデータを確実に転送できるデータ転送装置を提供することにある。
本発明の別の目的は、いずれの周辺回路からのデータ転送要求にも応答して、データ転送を確実に実施できるデータ転送装置を提供することにある。
本発明のデータ転送装置の一形態では、データ転送装置は、データ転送に使用される共通バスと、共通バスを介してデータが転送される記憶回路と、複数の周辺回路と、データ転送回路とを有している。各周辺回路は、共通バスに接続されるバッファを有し、バッファのデータ量に応じてデータ転送要求を出力する。データ転送回路は、データ転送要求にそれぞれ応答して、対応するバッファと記憶回路との間のデータ転送を実施する。周辺回路のうち転送レートが最も大きい高速周辺回路を除く低速周辺回路の各々は、対応するバッファのデータ量がデータ転送要求を出力すべき量になってから、所定時間後にデータ転送要求を出力する。高速周辺回路は、対応するバッファのデータ量がデータ転送要求を出力すべき量になってから、所定時間より短い時間後にデータ転送要求を出力する。
低速周辺回路がデータ転送要求を出力するタイミングを所定時間遅らせることで、データ転送回路は、本来ならば低速周辺回路からのデータ転送要求より後に受け付けるはずの高速周辺回路からのデータ転送要求を先に受け付けることができる。このため、低速周辺回路からのデータ転送要求に応答したデータ転送と高速周辺回路からのデータ転送要求に応答したデータ転送との順序を入れ替えることができる。この結果、一定期間に転送が不可欠なデータの転送要求が高速周辺回路から出力される場合、そのデータ転送を確実に実施できる。
本発明のデータ転送装置の別の一形態では、各低速周辺回路は、所定時間を設定するためのレジスタを有している。各低速周辺回路は、バッファのデータ量がデータ転送要求を出力すべき量になってから、レジスタに設定された所定時間後にデータ転送要求を出力する。
各周辺回路にレジスタを設けることで、所定時間を可変にできる。このため、低速周辺回路の転送レートの変更やデータ転送回路におけるデータ転送要求の受付可能数の変更に対応できる。
本発明のデータ転送装置の別の一形態では、データ転送回路は、優先順位が最も高いデータ転送要求に応答したデータ転送を優先して実施するとともに、所定量のデータ転送を実施する毎に、データ転送要求の優先順位を回転させる。具体的には、データ転送回路は、所定量のデータ転送を実施する毎に、実施したデータ転送に対応するデータ転送要求の優先順位を最も低くし、その他のデータ転送要求の優先順位をそれぞれ繰り上げる。このため、いずれの周辺回路からのデータ転送要求にも応答して、データ転送を確実に実施できる。
本発明のデータ転送装置の別の一形態では、低速周辺回路がデータ転送要求を出力するまでの所定時間は、転送レートが小さいほど長く設定される。このため、転送レートの大きい低速周辺回路からのデータ転送要求に応答したデータ転送が、転送レートの小さい低速周辺回路からのデータ転送要求に応答したデータ転送の影響により遅れて実施されることを防止できる。
本発明のデータ転送装置の別の一形態では、高速周辺回路は、バッファのデータ量がデータ転送要求を出力すべき量になってから、即座にデータ転送要求を出力する。このため、高速周辺回路からのデータ転送要求に応答したデータ転送が、無駄に遅れて実施されることを防止できる。
本発明のデータ転送装置の別の一形態では、データ転送回路は、ダイレクトメモリアクセス転送によりデータ転送を実施するダイレクトメモリアクセスコントローラである。データ転送回路をダイレクトメモリアクセスコントローラとして構成した場合にも、一定期間内に転送が不可欠なデータを確実に転送できる。
本発明のデータ転送装置の別の一形態では、データ転送によりバッファにデータが書き込まれる周辺回路は、バッファのデータ量が所定量より小さくなったときに、データ転送要求を出力すべきであると認識する。このため、バッファが空になることを防止できる。この結果、バッファのデータ量を最適に制御でき、周辺回路の誤動作を防止できる。
本発明のデータ転送装置の別の一形態では、データ転送によりバッファからデータが読み出される周辺回路は、バッファのデータが所定量より大きくなったときに、データ転送要求を出力すべきであると認識する。このため、バッファがオーバーフローすることを防止できる。この結果、バッファのデータ量を最適に制御でき、周辺回路の誤動作を防止できる。
本発明のデータ転送装置の別の一形態では、高速周辺回路のバッファのデータは、動画像データである。このため、一般に、一定期間内に転送が不可欠なデータである動画像データを、確実に転送できる。
本発明のデータ転送装置の別の一形態では、高速周辺回路のバッファのデータは、音声データである。このため、一般に、一定期間内に転送が不可欠なデータである音声データを、確実に転送できる。
本発明のデータ転送装置の別の一形態では、周辺回路とデータ転送回路とは、個別の半導体チップに形成されている。周辺回路とデータ転送回路とが個別の半導体チップに形成された場合にも、一定期間内に転送が不可欠なデータを確実に転送できる。
本発明のデータ転送装置の別の一形態では、周辺回路とデータ転送回路とは、同一の半導体チップに形成されている。周辺回路とデータ転送回路とが同一の半導体チップに形成された場合にも、一定期間内に転送が不可欠なデータを確実に転送できる。
【図面の簡単な説明】  図１は、本発明のデータ転送装置の第１の実施形態を示すブロック図である。
図２は、第１の実施形態におけるＤＭＡ転送の一例を示す説明図である。
図３は、第１の実施形態におけるＤＭＡ転送の別の例を示す説明図である。
図４は、本発明のデータ転送装置の第２の実施形態を示すブロック図である。
【発明を実施するための最良の形態】  以下、図面を用いて本発明の実施形態を説明する。
図１は、本発明のデータ転送装置の第１の実施形態を示している。
データ転送装置１００は、半導体チップ１０、１２、ＲＯＭ１４、ＳＤＲＡＭ１６（記憶回路）、外部バスＥＢＵＳおよびＳＤＲＡＭ専用バスＳＢＵＳを有している。
半導体チップ１０は、ＣＰＵコア１０ａ、外部バスインタフェース１０ｂ、ＳＤＲＡＭインタフェース１０ｃ、ＤＭＡＣ１０ｄ（データ転送回路）およびメインバスＭＢＵＳを有している。
ＣＰＵコア１０ａは、ＲＯＭ１４に記録されているプログラムに従って各部を制御するとともに、各種演算処理を実行する。外部バスインタフェース１０ｂは、ＲＯＭ１４や半導体チップ１２との間でデータを授受する際のインタフェースとして機能する。ＳＤＲＡＭインタフェース１０ｃは、ＳＤＲＡＭ１６との間でデータを授受する際のインタフェースとして機能する。
ＤＭＡＣ１０ｄは、互いに独立してＤＭＡ転送を実施するチャネルＣＨ０〜ＣＨ２を有している。チャネルＣＨ０〜ＣＨ２の起動要因は、ＤＭＡ転送要求Ｒ０〜Ｒ５の中からそれぞれ設定可能である。チャネルＣＨ０〜ＣＨ２は、割り当てられたＤＭＡ転送要求に応答して、割り当てられたＤＭＡ転送要求を出力した周辺回路（Ｐ０〜Ｐ５のいずれか）のバッファとＳＤＲＡＭ１６との間のＤＭＡ転送を実施する。チャネルＣＨ０〜ＣＨ２は、チャネルの番号が小さいほど高い、すなわちＣＨ０＞ＣＨ１＞ＣＨ２の関係で表される優先順位を初期値として有している。ＤＭＡＣ１０ｄにおいて、優先順位の最も高いチャネルは、優先してＤＭＡ転送を実施する。
ＤＭＡＣ１０ｄは、所定量のＤＭＡ転送が実施される毎に、チャネル間の優先順位を回転させる。具体的には、ＤＭＡＣ１０ｄは、所定量のＤＭＡ転送が実施される毎に、ＤＭＡ転送を実施したチャネルの優先順位を最も低くし、その他のチャネルの優先順位をそれぞれ繰り上げる。
メインバスＭＢＵＳは、ＣＰＵコア１０ａ、外部バスインタフェース１０ｂ、ＳＤＲＡＭインタフェース１０ｃおよびＤＭＡＣ１０ｄを相互に接続し、これらの間でデータの授受を可能にする。
半導体チップ１２は、外部バスインタフェース１２ａ、周辺回路Ｐ０〜Ｐ５およびローカルバスＬＢＵＳ（共通バス）を有している。
外部バスインタフェース１２ａは、半導体チップ１０との間でデータを授受する際のインタフェースとして機能する。
周辺回路Ｐ０は、ビデオ信号の入力回路として動作し、ローカルバスＬＢＵＳに接続されるバッファＢＵＦ０およびレジスタＲＥＧ０を有している。レジスタＲＥＧ０の値は、任意に設定可能である。周辺回路Ｐ０は、ビデオ入力端子（図示せず）から供給されるビデオ信号から生成した動画像データをバッファＢＵＦ０に格納する。周辺回路Ｐ０は、バッファＢＵＦ０のデータ量が所定量より大きくなったときに、データ転送要求Ｒ０を出力すべきであると認識し、レジスタＲＥＧ０に設定された所定時間後に、データ転送要求Ｒ０を実際に出力する。
ＤＭＡＣ１０ｄにおけるデータ転送要求Ｒ０が割り当てられたチャネルは、データ転送要求Ｒ０に応答して、ＳＤＲＡＭ専用バスＳＢＵＳ、メインバスＭＢＵＳ、外部バスＥＢＵＳおよびローカルバスＬＢＵＳを介したＤＭＡ転送により、バッファＢＵＦ０からデータを読み出し、読み出したデータをＳＤＲＡＭ１６に書き込む。
周辺回路Ｐ１は、ビデオ信号の出力回路として動作し、ローカルバスＬＢＵＳに接続されるバッファＢＵＦ１およびレジスタＲＥＧ１を有している。レジスタＲＥＧ１の値は、任意に設定可能である。周辺回路Ｐ１は、バッファＢＵＦ１に格納された動画像データからビデオ信号を生成し、ビデオ出力端子（図示せず）から出力する。周辺回路Ｐ１は、バッファＢＵＦ１のデータ量が所定量より小さくなったときに、データ転送要求Ｒ１を出力すべきであると認識し、レジスタＲＥＧ１に設定された所定時間後に、データ転送要求Ｒ１を実際に出力する。
ＤＭＡＣ１０ｄにおけるデータ転送要求Ｒ１が割り当てられたチャネルは、データ転送要求Ｒ１に応答して、ＳＤＲＡＭ専用バスＳＢＵＳ、メインバスＭＢＵＳ、外部バスＥＢＵＳおよびローカルバスＬＢＵＳを介したＤＭＡ転送により、ＳＤＲＡＭ１６からデータを読み出し、読み出したデータをバッファＢＵＦ１に書き込む。
周辺回路Ｐ２は、オーディオ信号の入力回路として動作し、ローカルバスＬＢＵＳに接続されるバッファＢＵＦ２およびレジスタＲＥＧ２を有している。レジスタＲＥＧ２の値は、任意に設定可能である。周辺回路Ｐ２は、オーディオ入力端子（図示せず）から供給されるオーディオ信号から生成した音声データをバッファＢＵＦ２に格納する。周辺回路Ｐ２は、バッファＢＵＦ２のデータ量が所定量より大きくなったときに、データ転送要求Ｒ２を出力すべきであると認識し、レジスタＲＥＧ２に設定された所定時間後に、データ転送要求Ｒ２を実際に出力する。
ＤＭＡＣ１０ｄにおけるデータ転送要求Ｒ２が割り当てられたチャネルは、データ転送要求Ｒ２に応答して、ＳＤＲＡＭ専用バスＳＢＵＳ、メインバスＭＢＵＳ、外部バスＥＢＵＳおよびローカルバスＬＢＵＳを介したＤＭＡ転送により、バッファＢＵＦ２からデータを読み出し、読み出したデータをＳＤＲＡＭ１６に書き込む。
周辺回路Ｐ３は、オーディオ信号の出力回路として動作し、ローカルバスＬＢＵＳに接続されるバッファＢＵＦ３およびレジスタＲＥＧ３を有している。レジスタＲＥＧ３の値は、任意に設定可能である。周辺回路Ｐ３は、バッファＢＵＦ３に格納された音声データからオーディオ信号を生成し、オーディオ出力端子（図示せず）から出力する。周辺回路Ｐ３は、バッファＢＵＦ３のデータ量が所定量より小さくなったときに、データ転送要求Ｒ３を出力すべきであると認識し、レジスタＲＥＧ３に設定された所定時間後に、データ転送要求Ｒ３を実際に出力する。
ＤＭＡＣ１０ｄにおけるデータ転送要求Ｒ３が割り当てられたチャネルは、データ転送要求Ｒ３に応答して、ＳＤＲＡＭ専用バスＳＢＵＳ、メインバスＭＢＵＳ、外部バスＥＢＵＳおよびローカルバスＬＢＵＳを介したＤＭＡ転送により、ＳＤＲＡＭ１６からデータを読み出し、読み出したデータをバッファＢＵＦ３に書き込む。
周辺回路Ｐ４は、ＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）２．１／ＪＥＩＤＡ（Ｊａｐａｎ  Ｅｌｅｃｔｒｏｎｉｃ  Ｉｎｄｕｓｔｒｙ  Ｄｅｖｅｌｏｐｍｅｎｔ  ａｓｓｏｃｉａｔｉｏｎ）４．２準拠のＰＣカードインタフェースとして動作し、ローカルバスＬＢＵＳに接続されるバッファＢＵＦ４およびレジスタＲＥＧ４を有している。レジスタＲＥＧ４の値は、任意に設定可能である。周辺回路Ｐ４は、ＰＣカードスロット（図示せず）に挿入されたＰＣカードからデータを読み出す場合、ＰＣカードから読み出したデータをバッファＢＵＦ４に格納する。周辺回路Ｐ４は、バッファＢＵＦ４のデータ量が所定量より大きくなったときに、データ転送要求Ｒ４を出力すべきであると認識し、レジスタＲＥＧ４に設定された所定時間後に、データ転送要求Ｒ４を実際に出力する。
ＤＭＡＣ１０ｄにおけるデータ転送要求Ｒ４が割り当てられたチャネルは、データ転送要求Ｒ４に応答して、ＳＤＲＡＭ専用バスＳＢＵＳ、メインバスＭＢＵＳ、外部バスＥＢＵＳおよびローカルバスＬＢＵＳを介したＤＭＡ転送により、バッファＢＵＦ４からデータを読み出し、読み出したデータをＳＤＲＡＭ１６に書き込む。周辺回路Ｐ５は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）１．１準拠のＵＳＢインタフェースとして動作し、ローカルバスＬＢＵＳに接続されるバッファＢＵＦ５およびレジスタＲＥＧ５を有している。レジスタＲＥＧ５の値は、任意に設定可能である。周辺回路Ｐ５は、ＵＳＢ（図示せず）にデータを送信する場合、バッファＢＵＦ５に格納されたデータをＵＳＢに送信する。周辺回路Ｐ５は、バッファＢＵＦ５のデータ量が所定量より小さくなったときに、データ転送要求Ｒ５を出力すべきであると認識し、レジスタＲＥＧ５に設定された所定時間後に、データ転送要求Ｒ５を実際に出力する。
ＤＭＡＣ１０ｄにおけるデータ転送要求Ｒ５が割り当てられたチャネルは、データ転送要求Ｒ５に応答して、ＳＤＲＡＭ専用バスＳＢＵＳ、メインバスＭＢＵＳ、外部バスＥＢＵＳおよびローカルバスＬＢＵＳを介したＤＭＡ転送により、ＳＤＲＡＭ１６からデータを読み出し、読み出したデータをバッファＢＵＦ５に書き込む。
ローカルバスＬＢＵＳは、外部バスインタフェース１２ａおよび周辺回路Ｐ０〜Ｐ５を相互に接続し、これらの間でデータの授受を可能にする。
ＳＤＲＡＭ１６は、ＣＰＵ１０ａが実行対象とするプログラムや演算処理中のデータなどを一時的に格納する。外部バスＥＢＵＳは、半導体チップ１０、１２およびＲＯＭ１４を相互に接続し、これらの間でデータの授受を可能にする。ＳＤＲＡＭ専用バスＳＢＵＳは、半導体チップ１０およびＳＤＲＡＭ１６を相互に接続し、これらの間でデータの授受を可能にする。
以下、データ転送装置１００の動作について説明する。
図２は、周辺回路Ｐ１、Ｐ４を動作させる場合のＤＭＡ転送の一例を示している。
ＤＭＡ転送要求Ｒ１、Ｒ４は、それぞれチャネルＣＨ０、ＣＨ１に割り当てられている。周辺回路Ｐ１のバッファＢＵＦ１のデータは、動画像データであるため、チャネルＣＨ０は、高速なＤＭＡ転送を要求され、一定期間Ｌ１内に２回のＤＭＡ転送を完了させる必要がある。周辺回路Ｐ４のバッファＢＵＦ４のデータは、ＰＣカードから読み出したデータであるため、チャネルＣＨ１は、高速なＤＭＡ転送を要求されず、時間制約のないＤＭＡ転送を実施する。
なお、周辺回路Ｐ１の転送レートは、周辺回路Ｐ４の転送レートより非常に大きい。すなわち、チャネルＣＨ１が実施するＤＭＡ転送に要する時間は、チャネルＣＨ０が実施するＤＭＡ転送に要する時間より非常に大きい。換言すれば、周辺回路Ｐ１は高速周辺回路として動作し、周辺回路Ｐ４は低速周辺回路として動作する。
図２の上側は、本発明のデータ転送装置１００におけるＤＭＡ転送の一例を示している。図２（ａ）において、周辺回路Ｐ１は、チャネルＣＨ１のＤＭＡ転送の実施中に、バッファＢＵＦ１のデータ量が所定量より小さくなったことを認識し、即座にＤＭＡ転送要求Ｒ１を出力する。ここで、レジスタＲＥＧ１の値は、所定時間Ｔ１より小さい０に予め設定されている。図２（ｂ）において、ローカルバスＬＢＵＳは、チャネルＣＨ１のＤＭＡ転送の完了後、チャネルＣＨ０のＤＭＡ転送に占有される。
図２（ｃ）において、周辺回路Ｐ４は、バッファＢＵＦ４のデータ量が所定量より大きくなったことを認識する。しかしながら、周辺回路Ｐ４は、所定時間Ｔ１が経過するまでＤＭＡ転送要求Ｒ４を出力しない。ここで、レジスタＲＥＧ４の値は、所定時間Ｔ１に予め設定されている。図２（ｄ）において、周辺回路Ｐ１は、バッファＢＵＦ１のデータ量が所定量より小さくなったことを認識し、即座にＤＭＡ転送要求Ｒ１を出力する。図２（ｅ）において、ローカルバスＬＢＵＳは、チャネルＣＨ０のＤＭＡ転送に占有される。このため、チャネルＣＨ０は、一定期間Ｌ１内に２回のＤＭＡ転送を完了させることができる。
図２（ｆ）において、周辺回路Ｐ４は、所定時間Ｔ１の経過を認識し、ＤＭＡ転送要求Ｒ４を出力する。図２（ｇ）において、ローカルバスＬＢＵＳは、チャネルＣＨ０のＤＭＡ転送の完了後、チャネルＣＨ１のＤＭＡ転送に占有される。なお、ＤＭＡＣ１０ｄは、所定量のデータ転送が実施される毎に、チャネル間で優先順位を回転させる。このため、図２（ｆ）において、仮にデータ転送要求Ｒ４がデータ転送要求Ｒ１と競合したとしても、ＤＭＡＣ１０ｄは、チャネルＣＨ１にＤＭＡ転送を実施させる。このため、ＤＭＡＣ１０ｄは、チャネルＣＨ０、ＣＨ１に割り当てられたいずれのデータ転送要求にも応答して、ＤＭＡ転送を確実に実施する。
図２の下側は、本発明を適用する前のＤＭＡ転送の一例を示している。従って、周辺回路Ｐ４は、バッファＢＵＦ４のデータ量が所定量より小さくなったことを認識すると、即座にＤＭＡ転送要求Ｒ４を出力する。図２（ｈ）において、周辺回路Ｐ１は、チャネルＣＨ１のＤＭＡ転送の実施中に、バッファＢＵＦ１のデータ量が所定量より小さくなったことを認識し、即座にＤＭＡ転送要求Ｒ１を出力する。図２（ｉ）において、ローカルバスＬＢＵＳは、チャネルＣＨ１のＤＭＡ転送の完了後、チャネルＣＨ０のＤＭＡ転送に占有される。
図２（ｊ）において、周辺回路Ｐ４は、チャネルＣＨ１のＤＭＡ転送の実施中に、バッファＢＵＦ１のデータ量が所定量より小さくなったことを認識し、即座にＤＭＡ転送要求Ｒ４を出力する。図２（ｋ）において、ローカルバスＬＢＵＳは、チャネルＣＨ１のＤＭＡ転送に占有される。
図２（ｌ）において、周辺回路Ｐ１は、チャネルＣＨ１のＤＭＡ転送の実施中に、バッファＢＵＦ１のデータ量が所定量より小さくなったことを認識し、即座にＤＭＡ転送要求Ｒ１を出力する。図２（ｍ）において、ローカルバスＬＢＵＳは、チャネルＣＨ１のＤＭＡ転送の完了後、チャネルＣＨ０のＤＭＡ転送に占有される。このため、チャネルＣＨ０は、一定期間Ｌ１内に２回のＤＭＡ転送を完了させることができない。すなわち、ビデオ出力端子から出力されるビデオ信号は、途切れてしまう。
以上のように、周辺回路Ｐ４がＤＭＡ転送要求Ｒ４を出力するタイミングを所定時間Ｔ１遅らせることで、ＤＭＡＣ１０ｄは、本来ならばＤＭＡ転送要求Ｒ４より後に受け付けるはずのＤＭＡ転送要求Ｒ１を先に受け付ける。このため、チャネルＣＨ１が実施するＤＭＡ転送とチャネルＣＨ０が実施するＤＭＡ転送とが実施される順序が入れ替えられる。この結果、チャネルＣＨ０は、一定期間Ｌ１内に２回のＤＭＡ転送を確実に完了させる。
図３は、周辺回路Ｐ３、Ｐ４、Ｐ５を動作させる場合のＤＭＡ転送の一例を示している。
ＤＭＡ転送要求Ｒ３、Ｒ４、Ｒ５は、チャネルＣＨ０、ＣＨ１、ＣＨ２にそれぞれ割り当てられている。周辺回路Ｐ３のバッファＢＵＦ３のデータは、音声データであるため、チャネルＣＨ０は、高速なＤＭＡ転送を要求され、一定期間Ｌ２内に２回のＤＭＡ転送を完了させる必要がある。周辺回路Ｐ４のバッファＢＵＦ４のデータは、ＰＣカードから読み出したデータであるため、チャネルＣＨ１は、高速なＤＭＡ転送を要求されず、時間制約のないＤＭＡ転送を実施する。周辺回路Ｐ５のバッファＢＵＦ５のデータは、ＵＳＢに送信されるデータであるため、チャネルＣＨ２は、チャネルＣＨ１に比べ高速なＤＭＡ転送を要求されず、時間制約のないＤＭＡ転送を実施する。
なお、周辺回路Ｐ３の転送レートは、周辺回路Ｐ４の転送レートより非常に大きい。すなわち、チャネルＣＨ１が実施するＤＭＡ転送に要する時間は、チャネルＣＨ０が実施するＤＭＡ転送に要する時間より非常に大きい。また、周辺回路Ｐ５の転送レートは、周辺回路Ｐ４の転送レートより小さい。すなわち、チャネルＣＨ２が実施するＤＭＡ転送に要する時間は、チャネルＣＨ１が実施するＤＭＡ転送に要する時間より大きい。換言すれば、周辺回路Ｐ３は高速周辺回路として動作し、周辺回路Ｐ４、Ｐ５は低速周辺回路として動作する。
図３（ａ）において、周辺回路Ｐ４は、チャネルＣＨ２のＤＭＡ転送の実施中に、ＤＭＡ転送要求Ｒ４を出力する。図３（ｂ）において、ローカルバスＬＢＵＳは、チャネルＣＨ２のＤＭＡ転送の完了後、チャネルＣＨ１のＤＭＡ転送に占有される。
図３（ｃ）において、周辺回路Ｐ５は、バッファＢＵＦ５のデータ量が所定量より小さくなったことを認識する。しかしながら、周辺回路Ｐ５は、所定時間Ｔ３が経過するまでＤＭＡ転送要求Ｒ５を出力しない。ここで、レジスタＲＥＧ５の値は、所定時間Ｔ３に予め設定されている。図３（ｄ）において、周辺回路Ｐ３は、チャネルＣＨ１のＤＭＡ転送の実施中に、ＤＭＡ転送要求Ｒ３を出力する。図３（ｅ）において、ローカルバスＬＢＵＳは、チャネルＣＨ１のＤＭＡ転送の完了後、チャネルＣＨ０のＤＭＡ転送に占有される。
図３（ｆ）において、周辺回路Ｐ４は、バッファＢＵＦ４のデータ量が所定量より大きくなったことを認識する。しかしながら、周辺回路Ｐ４は、所定時間Ｔ２が経過するまでＤＭＡ転送要求Ｒ４を出力しない。ここで、レジスタＲＥＧ４の値は、所定時間Ｔ３より小さい所定時間Ｔ２に予め設定されている。図３（ｇ）において、周辺回路Ｐ３は、バッファＢＵＦ３のデータ量が所定量より小さくなったことを認識し、即座にＤＭＡ転送要求Ｒ３を出力する。ここで、レジスタＲＥＧ３の値は、所定時間Ｔ２、Ｔ３より短い０に予め設定されている。図３（ｈ）において、ローカルバスＬＢＵＳは、チャネルＣＨ０のＤＭＡ転送に占有される。このため、チャネルＣＨ０は、一定期間Ｌ２内に２回のＤＭＡ転送を完了させることができる。
図３（ｉ）において、周辺回路Ｐ４は、所定時間Ｔ２の経過を認識し、ＤＭＡ転送要求Ｒ４を出力する。図３（ｊ）において、ローカルバスＬＢＵＳは、チャネルＣＨ０のＤＭＡ転送の完了後、チャネルＣＨ１のＤＭＡ転送に占有される。図３（ｋ）において、周辺回路Ｐ５は、所定時間Ｔ３の経過を認識し、ＤＭＡ転送要求Ｒ５を出力する。図３（ｌ）において、ローカルバスＬＢＵＳは、チャネルＣＨ１のＤＭＡ転送の完了後、チャネルＣＨ２のＤＭＡ転送に占有される。
以上のように、周辺回路Ｐ４、Ｐ５がＤＭＡ転送要求Ｒ４、Ｒ５を出力するタイミングをそれぞれ所定時間Ｔ２、Ｔ３遅らせることで、２つの低速な周辺回路Ｐ４、Ｐ５が同時に動作する場合にも、チャネルＣＨ０は、一定期間Ｌ１内に２回のＤＭＡ転送を確実に完了させる。また、周辺回路Ｐ５の所定時間Ｔ３が周辺回路Ｐ４の所定時間Ｔ２より大きく設定されることで、ＣＨ１のＤＭＡ転送がチャネルＣＨ１のＤＭＡ転送の影響により遅れて実施されることが防止される。
以上、第１の実施形態では、次の効果が得られる。
低速周辺回路がデータ転送要求を出力するタイミングを所定時間遅らせることで、ＤＭＡＣ１０ｄは、本来ならば低速周辺回路からのデータ転送要求より後に受け付けるはずの高速周辺回路からのデータ転送要求を先に受け付けることができる。このため、低速周辺回路からのデータ転送要求に応答したデータ転送と高速周辺回路からのデータ転送要求に応答したデータ転送とが実施される順序を入れ替えることができる。この結果、一定期間内に転送が不可欠なデータの転送要求が高速周辺回路から出力される場合、一定期間内に転送が不可欠なデータ（動画像データや音声データ）を確実に転送できる。
周辺回路Ｐ０〜Ｐ５にレジスタＲＥＧ０〜ＲＥＧ５をそれぞれ設けることで、データ転送要求Ｒ０〜Ｒ５が出力されるべき状態になってから実際に出力されるまでの所定時間を可変にできる。このため、周辺回路Ｐ０〜Ｐ５の転送レートの変更やＤＭＡＣ１０ｄにおけるＤＭＡ転送要求の受付可能数（チャネル数）の変更に対応できる。
ＤＭＡＣ１０ｄは、所定量のＤＭＡ転送が実施される毎に、チャネル間の優先順位を回転させるため、チャネルＣＨ０〜ＣＨ２に割り当てられたいずれのデータ転送要求にも応答して、ＤＭＡ転送を確実に実施できる。
低速周辺回路の所定時間を、転送レートが小さいほど長く設定することで、転送レートの大きい低速周辺回路からのデータ転送要求に応答したデータ転送が、転送レートの小さい低速周辺回路からのデータ転送要求に応答したデータ転送の影響により遅れて実施されることを防止できる。
図４は、本発明のデータ転送装置の第２の実施形態を示している。第１の実施形態で説明した要素と同一の要素については、同一の符号を付し、詳細な説明は省略する。
データ転送装置２００は、半導体チップ３０、ＲＯＭ１４、ＳＤＲＡＭ１６（記憶回路）、外部バスＥＢＵＳおよびＳＤＲＡＭ専用バスＳＢＵＳを有している。
半導体チップ３０は、ＣＰＵコア１０ａ、外部バスインタフェース１０ｂ、ＳＤＲＡＭインタフェース１０ｃ、ＤＭＡＣ１０ｄ（データ転送回路）、バスブリッジＢＢ、周辺回路Ｐ０〜Ｐ５、メインバスＭＢＵＳおよびローカルバスＬＢＵＳ（共通バス）を有している。すなわち、データ転送装置２００では、ＤＭＡＣ１０ｄと周辺回路Ｐ０〜Ｐ５とが同一の半導体チップ３０に形成されている。データ転送装置２００は、ＤＭＡ転送の経路が異なることを除いて、ＤＭＡＣ１０ｄと周辺回路Ｐ０〜Ｐ５とが個別の半導体チップ１０、２０に形成された第１の実施形態のデータ転送装置１００と同様に動作する。
バスブリッジＢＢは、メインバスＭＢＵＳとローカルバスＬＢＵＳとの間でデータを授受する際のインタフェースとして機能する。従って、ＤＭＡＣ１０ｄのチャネルＣＨ０〜ＣＨ２は、割り当てられたＤＭＡ転送要求に応答して、ローカルバスＬＢＵＳ、メインバスＭＢＵＳおよびＳＤＲＡＭ専用バスＳＢＵＳを介して、割り当てられたＤＭＡ転送要求を出力した周辺回路のバッファとＳＤＲＡＭ１６との間のＤＭＡ転送を実施する。
以上、第２の実施形態でも、第１の実施形態と同様の効果が得られる。
なお、第１および第２の実施形態では、周辺回路Ｐ４（または周辺回路Ｐ５）がＰＣカードインタフェース（またはＵＳＢインタフェース）として動作する例について述べた。本発明は、かかる実施形態に限定されるものではない。例えば、周辺回路Ｐ４（または周辺回路Ｐ５）は、バッファＢＵＦ４（またはバッファＢＵＦ５）とＳＤＲＡＭ１６との間のＤＭＡ転送に高速性をそれほど要求しないＩ２Ｃ（Ｉｎｔｅｒ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）インタフェースとして動作してもよい。
以上、本発明について詳細に説明してきたが、前述の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【産業上の利用の可能性】
本発明のデータ転送装置では、一定期間内に転送が不可欠なデータを確実に転送できる。
本発明のデータ転送装置では、低速周辺回路の転送レートの変更やデータ転送回路におけるデータ転送要求の受付可能数の変更に対応できる。
本発明のデータ転送装置では、いずれの周辺回路からのデータ転送要求にも応答して、データ転送を確実に実施できる。
本発明のデータ転送装置では、転送レートの大きい低速周辺回路からのデータ転送要求に応答したデータ転送が、転送レートの小さい低速周辺回路からのデータ転送要求に応答したデータ転送の影響により遅れて実施されることを防止できる。
【図１】
2004102404.tif 000003
【図２】
2004102404.tif 000004
【図３】
2004102404.tif 000005
【図４】
2004102404.tif 000006
【手続補正書】
【提出日】平成17年3月1日(2005.3.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ転送に使用される共通バスと、
前記共通バスを介してデータが転送される記憶回路と、
前記共通バスに接続されるバッファをそれぞれ有し、前記バッファのデータ量に応じてデータ転送要求をそれぞれ出力する複数の周辺回路と、
前記データ転送要求にそれぞれ応答して、対応する前記バッファと前記記憶回路との間のデータ転送を実施するデータ転送回路とを備え、
前記周辺回路のうち転送レートが最も大きい高速周辺回路を除く低速周辺回路の各々は、対応する前記バッファのデータ量が前記データ転送要求を出力すべき量になってから、所定時間後に前記データ転送要求を出力し、
前記高速周辺回路は、対応する前記バッファのデータ量が前記データ転送要求を出力すべき量になってから、前記所定時間より短い時間後に前記データ転送要求を出力することを特徴とするデータ転送装置。
【請求項２】
請求項１記載のデータ転送装置において、
前記各低速周辺回路は、前記所定時間を設定するためのレジスタを有し、前記バッファのデータ量が前記データ転送要求を出力すべき量になってから、前記レジスタに設定された前記所定時間後に前記データ転送要求を出力することを特徴とするデータ転送装置。
【請求項３】
請求項１記載のデータ転送装置において、
前記データ転送回路は、優先順位が最も高い前記データ転送要求に応答したデータ転送を優先して実施するとともに、所定量のデータ転送を実施する毎に、前記データ転送要求の優先順位を回転させることを特徴とするデータ転送装置。
【請求項４】
請求項１記載のデータ転送装置において、
前記低速周辺回路の前記所定時間は、転送レートが小さいほど長く設定されることを特徴とするデータ転送装置。
【請求項５】
請求項１記載のデータ転送装置において、
前記高速周辺回路は、前記バッファのデータ量が前記データ転送要求を出力すべき量になってから、即座に前記データ転送要求を出力することを特徴とするデータ転送装置。
【請求項６】
請求項１記載のデータ転送装置において、
前記データ転送回路は、ダイレクトメモリアクセス転送によりデータ転送を実施するダイレクトメモリアクセスコントローラであることを特徴とするデータ転送装置。
【請求項７】
請求項１記載のデータ転送装置において、
前記周辺回路のうちデータ転送により前記バッファにデータが書き込まれる周辺回路は、前記バッファのデータ量が所定量より小さくなったときに、前記データ転送要求を出力すべきであると認識することを特徴とするデータ転送装置。
【請求項８】
請求項１記載のデータ転送装置において、
前記周辺回路のうちデータ転送により前記バッファからデータが読み出される周辺回路は、前記バッファのデータ量が所定量より大きくなったときに、前記データ転送要求を出力すべきであると認識することを特徴とするデータ転送装置。
【請求項９】
請求項１記載のデータ転送装置において、
前記高速周辺回路の前記バッファのデータは、動画像データであることを特徴とするデータ転送装置。
【請求項１０】
請求項１記載のデータ転送装置において、
前記高速周辺回路の前記バッファのデータは、音声データであることを特徴とするデータ転送装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ダイレクトメモリアクセス（ＤＭＡ：Direct Memory Access）転送によりデータの授受を実施するデータ転送装置に関する。
【背景技術】
【０００２】
一般に、データ転送装置は、高速・大容量のデータ転送を実施するために、ソフトウェア転送（プログラム転送）のようにＣＰＵを介すことなく、周辺回路とメモリとの間で、バスを通じて直接データを授受するＤＭＡ転送機能を有している。ＤＭＡ転送は、ＤＭＡＣ（DMA Controller）により実施される。ＤＭＡＣは、周辺回路からＤＭＡ転送を要求されると、ＣＰＵに対してバスの開放を要求する。ＣＰＵは、バスを解放できる場合、バスの使用権をＤＭＡＣに渡し、バスをハイインピーダンス状態にする。ＤＭＡＣは、ＤＭＡ転送を要求した周辺回路（またはメモリ）のデータを、メモリ（またはＤＭＡ転送を要求した周辺回路）に、バスを通じて転送する。ＤＭＡＣは、ＤＭＡ転送の終了と同時に、バスの使用権をＣＰＵに返還する。
【０００３】
一般に、ＤＭＡＣは、互いに独立してＤＭＡ転送を実施する複数のチャネルを有しており、チャネル間で優先順位が決められている。例えば、ＤＭＡＣは、優先順位の低いチャネルがＤＭＡ転送を実施しているときに、優先順位の高いチャネルへのＤＭＡ転送要求を受けると、優先順位の低いチャネルによる転送ブロックの最小単位のＤＭＡ転送が終了した後に、優先順位の高いチャネルにＤＭＡ転送を実施させる。そして、ＤＭＡＣは、優先順位の高いチャネルのＤＭＡ転送が完了すると、優先順位の低いチャネルに中断したＤＭＡ転送の続きを実施させる。例えば、動画像表示に使用される動画像データは、一般に、一定期間内でのデータ転送が不可欠である。従って、このような動画像データのＤＭＡ転送は、優先順位の高いチャネルに割り当てることで実現される。
【０００４】
一方、バスにより接続される中央処理装置と複数の通信制御アダプタとで構成されるシステムにおいて、バスを介したＤＭＡ転送の実施時に、バスの転送能力を最大限に引き出すことを目的として、各通信制御アダプタのデータ転送速度を変更する方法が、例えば、特許文献１に開示されている。
【特許文献１】特開平５−１３４９７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、優先順位の低いチャネルに割り当てられたＤＭＡ転送要求を出力する周辺回路のアクセス時間（データ読み出し時間またはデータ書き込み時間）が長い場合、すなわち転送レートが小さい場合、次のような問題が生じてしまう。優先順位の低いチャネルのＤＭＡ転送実施中に、前述のような動画像データのＤＭＡ転送が優先順位の高いチャネルに要求されても、優先順位の低いチャネルは、ＤＭＡ転送を即座に中断できない。このため、優先順位の高いチャネルのＤＭＡ転送の対象データが一定期間内に転送されなくなってしまう場合がある。この結果、動画像が正常に表示されなくなってしまう。
【０００６】
また、優先順位の高いチャネルへのＤＭＡ転送要求が頻発する場合、優先順位の低いチャネルへのＤＭＡ転送要求が受け付けられなくなってしまう場合がある。すなわち、優先順位の低いチャネルは、ＤＭＡ転送要求を受けても、ＤＭＡ転送を実施できなくなってしまう。
本発明の目的は、一定期間内に転送が不可欠なデータを確実に転送できるデータ転送装置を提供することにある。本発明の別の目的は、いずれの周辺回路からのデータ転送要求にも応答して、データ転送を確実に実施できるデータ転送装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のデータ転送装置の一形態では、データ転送装置は、データ転送に使用される共通バスと、共通バスを介してデータが転送される記憶回路と、複数の周辺回路と、データ転送回路とを有している。各周辺回路は、共通バスに接続されるバッファを有し、バッファのデータ量に応じてデータ転送要求を出力する。データ転送回路は、データ転送要求にそれぞれ応答して、対応するバッファと記憶回路との間のデータ転送を実施する。周辺回路のうち転送レートが最も大きい高速周辺回路を除く低速周辺回路の各々は、対応するバッファのデータ量がデータ転送要求を出力すべき量になってから、所定時間後にデータ転送要求を出力する。高速周辺回路は、対応するバッファのデータ量がデータ転送要求を出力すべき量になってから、所定時間より短い時間後にデータ転送要求を出力する。
【０００８】
低速周辺回路がデータ転送要求を出力するタイミングを所定時間遅らせることで、データ転送回路は、本来ならば低速周辺回路からのデータ転送要求より後に受け付けるはずの高速周辺回路からのデータ転送要求を先に受け付けることができる。このため、低速周辺回路からのデータ転送要求に応答したデータ転送と高速周辺回路からのデータ転送要求に応答したデータ転送との順序を入れ替えることができる。この結果、一定期間に転送が不可欠なデータの転送要求が高速周辺回路から出力される場合、そのデータ転送を確実に実施できる。
【０００９】
本発明のデータ転送装置の前記一形態における好ましい例では、各低速周辺回路は、所定時間を設定するためのレジスタを有している。各低速周辺回路は、バッファのデータ量がデータ転送要求を出力すべき量になってから、レジスタに設定された所定時間後にデータ転送要求を出力する。
各周辺回路にレジスタを設けることで、所定時間を可変にできる。このため、低速周辺回路の転送レートの変更やデータ転送回路におけるデータ転送要求の受付可能数の変更に対応できる。
【００１０】
本発明のデータ転送装置の前記一形態における好ましい例では、データ転送回路は、優先順位が最も高いデータ転送要求に応答したデータ転送を優先して実施するとともに、所定量のデータ転送を実施する毎に、データ転送要求の優先順位を回転させる。具体的には、データ転送回路は、所定量のデータ転送を実施する毎に、実施したデータ転送に対応するデータ転送要求の優先順位を最も低くし、その他のデータ転送要求の優先順位をそれぞれ繰り上げる。このため、いずれの周辺回路からのデータ転送要求にも応答して、データ転送を確実に実施できる。
【００１１】
本発明のデータ転送装置の前記一形態における好ましい例では、低速周辺回路がデータ転送要求を出力するまでの所定時間は、転送レートが小さいほど長く設定される。このため、転送レートの大きい低速周辺回路からのデータ転送要求に応答したデータ転送が、転送レートの小さい低速周辺回路からのデータ転送要求に応答したデータ転送の影響により遅れて実施されることを防止できる。
【００１２】
本発明のデータ転送装置の前記一形態における好ましい例では、高速周辺回路は、バッファのデータ量がデータ転送要求を出力すべき量になってから、即座にデータ転送要求を出力する。このため、高速周辺回路からのデータ転送要求に応答したデータ転送が、無駄に遅れて実施されることを防止できる。
本発明のデータ転送装置の前記一形態における好ましい例では、データ転送回路は、ダイレクトメモリアクセス転送によりデータ転送を実施するダイレクトメモリアクセスコントローラである。データ転送回路をダイレクトメモリアクセスコントローラとして構成した場合にも、一定期間内に転送が不可欠なデータを確実に転送できる。
【００１３】
本発明のデータ転送装置の前記一形態における好ましい例では、データ転送によりバッファにデータが書き込まれる周辺回路は、バッファのデータ量が所定量より小さくなったときに、データ転送要求を出力すべきであると認識する。このため、バッファが空になることを防止できる。この結果、バッファのデータ量を最適に制御でき、周辺回路の誤動作を防止できる。
【００１４】
本発明のデータ転送装置の前記一形態における好ましい例では、データ転送によりバッファからデータが読み出される周辺回路は、バッファのデータが所定量より大きくなったときに、データ転送要求を出力すべきであると認識する。このため、バッファがオーバーフローすることを防止できる。この結果、バッファのデータ量を最適に制御でき、周辺回路の誤動作を防止できる。
【００１５】
本発明のデータ転送装置の前記一形態における好ましい例では、高速周辺回路のバッファのデータは、動画像データである。このため、一般に、一定期間内に転送が不可欠なデータである動画像データを、確実に転送できる。
本発明のデータ転送装置の前記一形態における好ましい例では、高速周辺回路のバッファのデータは、音声データである。このため、一般に、一定期間内に転送が不可欠なデータである音声データを、確実に転送できる。
【発明の効果】
【００１６】
本発明のデータ転送装置では、一定期間内に転送が不可欠なデータを確実に転送できる。本発明のデータ転送装置では、低速周辺回路の転送レートの変更やデータ転送回路におけるデータ転送要求の受付可能数の変更に対応できる。本発明のデータ転送装置では、いずれの周辺回路からのデータ転送要求にも応答して、データ転送を確実に実施できる。本発明のデータ転送装置では、転送レートの大きい低速周辺回路からのデータ転送要求に応答したデータ転送が、転送レートの小さい低速周辺回路からのデータ転送要求に応答したデータ転送の影響により遅れて実施されることを防止できる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を用いて本発明の実施形態を説明する。
図１は、本発明のデータ転送装置の第１の実施形態を示している。
データ転送装置１００は、半導体チップ１０、１２、ＲＯＭ１４、ＳＤＲＡＭ１６（記憶回路）、外部バスEBUSおよびＳＤＲＡＭ専用バスSBUSを有している。
半導体チップ１０は、ＣＰＵコア１０ａ、外部バスインタフェース１０ｂ、ＳＤＲＡＭインタフェース１０ｃ、ＤＭＡＣ１０ｄ（データ転送回路）およびメインバスMBUSを有している。
【００１８】
ＣＰＵコア１０ａは、ＲＯＭ１４に記録されているプログラムに従って各部を制御するとともに、各種演算処理を実行する。外部バスインタフェース１０ｂは、ＲＯＭ１４や半導体チップ１２との間でデータを授受する際のインタフェースとして機能する。ＳＤＲＡＭインタフェース１０ｃは、ＳＤＲＡＭ１６との間でデータを授受する際のインタフェースとして機能する。
【００１９】
ＤＭＡＣ１０ｄは、互いに独立してＤＭＡ転送を実施するチャネルCH0〜CH2を有している。チャネルCH0〜CH2の起動要因は、ＤＭＡ転送要求R0〜R5の中からそれぞれ設定可能である。チャネルCH0〜CH2は、割り当てられたＤＭＡ転送要求に応答して、割り当てられたＤＭＡ転送要求を出力した周辺回路（P0〜P5のいずれか）のバッファとＳＤＲＡＭ１６との間のＤＭＡ転送を実施する。チャネルCH0〜CH2は、チャネルの番号が小さいほど高い、すなわちCH0＞CH1＞CH2の関係で表される優先順位を初期値として有している。ＤＭＡＣ１０ｄにおいて、優先順位の最も高いチャネルは、優先してＤＭＡ転送を実施する。
【００２０】
ＤＭＡＣ１０ｄは、所定量のＤＭＡ転送が実施される毎に、チャネル間の優先順位を回転させる。具体的には、ＤＭＡＣ１０ｄは、所定量のＤＭＡ転送が実施される毎に、ＤＭＡ転送を実施したチャネルの優先順位を最も低くし、その他のチャネルの優先順位をそれぞれ繰り上げる。
メインバスMBUSは、ＣＰＵコア１０ａ、外部バスインタフェース１０ｂ、ＳＤＲＡＭインタフェース１０ｃおよびＤＭＡＣ１０ｄを相互に接続し、これらの間でデータの授受を可能にする。
【００２１】
半導体チップ１２は、外部バスインタフェース１２ａ、周辺回路P0〜P5およびローカルバスLBUS（共通バス）を有している。
外部バスインタフェース１２ａは、半導体チップ１０との間でデータを授受する際のインタフェースとして機能する。
周辺回路P0は、ビデオ信号の入力回路として動作し、ローカルバスLBUSに接続されるバッファBUF0およびレジスタREG0を有している。レジスタREG0の値は、任意に設定可能である。周辺回路P0は、ビデオ入力端子（図示せず）から供給されるビデオ信号から生成した動画像データをバッファBUF0に格納する。周辺回路P0は、バッファBUF0のデータ量が所定量より大きくなったときに、データ転送要求R0を出力すべきであると認識し、レジスタREG0に設定された所定時間後に、データ転送要求R0を実際に出力する。
【００２２】
ＤＭＡＣ１０ｄにおけるデータ転送要求R0が割り当てられたチャネルは、データ転送要求R0に応答して、ＳＤＲＡＭ専用バスSBUS、メインバスMBUS、外部バスEBUSおよびローカルバスLBUSを介したＤＭＡ転送により、バッファBUF0からデータを読み出し、読み出したデータをＳＤＲＡＭ１６に書き込む。
周辺回路P1は、ビデオ信号の出力回路として動作し、ローカルバスLBUSに接続されるバッファBUF1およびレジスタREG1を有している。レジスタREG1の値は、任意に設定可能である。周辺回路P1は、バッファBUF1に格納された動画像データからビデオ信号を生成し、ビデオ出力端子（図示せず）から出力する。周辺回路P1は、バッファBUF1のデータ量が所定量より小さくなったときに、データ転送要求R1を出力すべきであると認識し、レジスタREG1に設定された所定時間後に、データ転送要求R1を実際に出力する。
【００２３】
ＤＭＡＣ１０ｄにおけるデータ転送要求R1が割り当てられたチャネルは、データ転送要求R1に応答して、ＳＤＲＡＭ専用バスSBUS、メインバスMBUS、外部バスEBUSおよびローカルバスLBUSを介したＤＭＡ転送により、ＳＤＲＡＭ１６からデータを読み出し、読み出したデータをバッファBUF1に書き込む。
周辺回路P2は、オーディオ信号の入力回路として動作し、ローカルバスLBUSに接続されるバッファBUF2およびレジスタREG2を有している。レジスタREG2の値は、任意に設定可能である。周辺回路P2は、オーディオ入力端子（図示せず）から供給されるオーディオ信号から生成した音声データをバッファBUF2に格納する。周辺回路P2は、バッファBUF2のデータ量が所定量より大きくなったときに、データ転送要求R2を出力すべきであると認識し、レジスタREG2に設定された所定時間後に、データ転送要求R2を実際に出力する。
【００２４】
ＤＭＡＣ１０ｄにおけるデータ転送要求R2が割り当てられたチャネルは、データ転送要求R2に応答して、ＳＤＲＡＭ専用バスSBUS、メインバスMBUS、外部バスEBUSおよびローカルバスLBUSを介したＤＭＡ転送により、バッファBUF2からデータを読み出し、読み出したデータをＳＤＲＡＭ１６に書き込む。
周辺回路P3は、オーディオ信号の出力回路として動作し、ローカルバスLBUSに接続されるバッファBUF3およびレジスタREG3を有している。レジスタREG3の値は、任意に設定可能である。周辺回路P3は、バッファBUF3に格納された音声データからオーディオ信号を生成し、オーディオ出力端子（図示せず）から出力する。周辺回路P3は、バッファBUF3のデータ量が所定量より小さくなったときに、データ転送要求R3を出力すべきであると認識し、レジスタREG3に設定された所定時間後に、データ転送要求R3を実際に出力する。
【００２５】
ＤＭＡＣ１０ｄにおけるデータ転送要求R3が割り当てられたチャネルは、データ転送要求R3に応答して、ＳＤＲＡＭ専用バスSBUS、メインバスMBUS、外部バスEBUSおよびローカルバスLBUSを介したＤＭＡ転送により、ＳＤＲＡＭ１６からデータを読み出し、読み出したデータをバッファBUF3に書き込む。
周辺回路P4は、ＰＣＭＣＩＡ（Personal Computer Memory Card International Association）２．１／ＪＥＩＤＡ（Japan Electronic Industry Development association）４．２準拠のＰＣカードインタフェースとして動作し、ローカルバスLBUSに接続されるバッファBUF4およびレジスタREG4を有している。レジスタREG4の値は、任意に設定可能である。周辺回路P4は、ＰＣカードスロット（図示せず）に挿入されたＰＣカードからデータを読み出す場合、ＰＣカードから読み出したデータをバッファBUF4に格納する。周辺回路P4は、バッファBUF4のデータ量が所定量より大きくなったときに、データ転送要求R4を出力すべきであると認識し、レジスタREG4に設定された所定時間後に、データ転送要求R4を実際に出力する。
【００２６】
ＤＭＡＣ１０ｄにおけるデータ転送要求R4が割り当てられたチャネルは、データ転送要求R4に応答して、ＳＤＲＡＭ専用バスSBUS、メインバスMBUS、外部バスEBUSおよびローカルバスLBUSを介したＤＭＡ転送により、バッファBUF4からデータを読み出し、読み出したデータをＳＤＲＡＭ１６に書き込む。
周辺回路P5は、ＵＳＢ（Universal Serial Bus）１．１準拠のＵＳＢインタフェースとして動作し、ローカルバスLBUSに接続されるバッファBUF5およびレジスタREG5を有している。レジスタREG5の値は、任意に設定可能である。周辺回路P5は、ＵＳＢ（図示せず）にデータを送信する場合、バッファBUF5に格納されたデータをＵＳＢに送信する。周辺回路P5は、バッファBUF5のデータ量が所定量より小さくなったときに、データ転送要求R5を出力すべきであると認識し、レジスタREG5に設定された所定時間後に、データ転送要求R5を実際に出力する。
【００２７】
ＤＭＡＣ１０ｄにおけるデータ転送要求R5が割り当てられたチャネルは、データ転送要求R5に応答して、ＳＤＲＡＭ専用バスSBUS、メインバスMBUS、外部バスEBUSおよびローカルバスLBUSを介したＤＭＡ転送により、ＳＤＲＡＭ１６からデータを読み出し、読み出したデータをバッファBUF5に書き込む。
ローカルバスLBUSは、外部バスインタフェース１２ａおよび周辺回路P0〜P5を相互に接続し、これらの間でデータの授受を可能にする。
【００２８】
ＳＤＲＡＭ１６は、ＣＰＵコア１０ａが実行対象とするプログラムや演算処理中のデータなどを一時的に格納する。外部バスEBUSは、半導体チップ１０、１２およびＲＯＭ１４を相互に接続し、これらの間でデータの授受を可能にする。ＳＤＲＡＭ専用バスSBUSは、半導体チップ１０およびＳＤＲＡＭ１６を相互に接続し、これらの間でデータの授受を可能にする。
【００２９】
以下、データ転送装置１００の動作について説明する。
図２は、周辺回路P1、P4を動作させる場合のＤＭＡ転送の一例を示している。
ＤＭＡ転送要求R1、R4は、それぞれチャネルCH0、CH1に割り当てられている。周辺回路P1のバッファBUF1のデータは、動画像データであるため、チャネルCH0は、高速なＤＭＡ転送を要求され、一定期間Ｌ1内に２回のＤＭＡ転送を完了させる必要がある。周辺回路P4のバッファBUF4のデータは、ＰＣカードから読み出したデータであるため、チャネルCH1は、高速なＤＭＡ転送を要求されず、時間制約のないＤＭＡ転送を実施する。
【００３０】
なお、周辺回路P1の転送レートは、周辺回路P4の転送レートより非常に大きい。すなわち、チャネルCH1が実施するＤＭＡ転送に要する時間は、チャネルCH0が実施するＤＭＡ転送に要する時間より非常に大きい。換言すれば、周辺回路P1は高速周辺回路として動作し、周辺回路P4は低速周辺回路として動作する。
図２の上側は、本発明のデータ転送装置１００におけるＤＭＡ転送の一例を示している。図２（ａ）において、周辺回路P1は、チャネルCH1のＤＭＡ転送の実施中に、バッファBUF1のデータ量が所定量より小さくなったことを認識し、即座にＤＭＡ転送要求R1を出力する。ここで、レジスタREG1の値は、所定時間T1より小さい０に予め設定されている。図２（ｂ）において、ローカルバスLBUSは、チャネルCH1のＤＭＡ転送の完了後、チャネルCH0のＤＭＡ転送に占有される。
【００３１】
図２（ｃ）において、周辺回路P4は、バッファBUF4のデータ量が所定量より大きくなったことを認識する。しかしながら、周辺回路P4は、所定時間T1が経過するまでＤＭＡ転送要求R4を出力しない。ここで、レジスタREG4の値は、所定時間T1に予め設定されている。図２（ｄ）において、周辺回路P1は、バッファBUF1のデータ量が所定量より小さくなったことを認識し、即座にＤＭＡ転送要求R1を出力する。図２（ｅ）において、ローカルバスLBUSは、チャネルCH0のＤＭＡ転送に占有される。このため、チャネルCH0は、一定期間Ｌ1内に２回のＤＭＡ転送を完了させることができる。
【００３２】
図２（ｆ）において、周辺回路P4は、所定時間T1の経過を認識し、ＤＭＡ転送要求R4を出力する。図２（ｇ）において、ローカルバスLBUSは、チャネルCH0のＤＭＡ転送の完了後、チャネルCH1のＤＭＡ転送に占有される。なお、ＤＭＡＣ１０ｄは、所定量のデータ転送が実施される毎に、チャネル間で優先順位を回転させる。このため、図２（ｆ）において、仮にデータ転送要求R4がデータ転送要求R1と競合したとしても、ＤＭＡＣ１０ｄは、チャネルCH1にＤＭＡ転送を実施させる。このため、ＤＭＡＣ１０ｄは、チャネルCH0、CH1に割り当てられたいずれのデータ転送要求にも応答して、ＤＭＡ転送を確実に実施する。
【００３３】
図２の下側は、本発明を適用する前のＤＭＡ転送の一例を示している。従って、周辺回路P4は、バッファBUF4のデータ量が所定量より小さくなったことを認識すると、即座にＤＭＡ転送要求R4を出力する。図２（ｈ）において、周辺回路P1は、チャネルCH1のＤＭＡ転送の実施中に、バッファBUF1のデータ量が所定量より小さくなったことを認識し、即座にＤＭＡ転送要求R1を出力する。図２（ｉ）において、ローカルバスLBUSは、チャネルCH1のＤＭＡ転送の完了後、チャネルCH0のＤＭＡ転送に占有される。
【００３４】
図２（ｊ）において、周辺回路P4は、チャネルCH1のＤＭＡ転送の実施中に、バッファBUF4のデータ量が所定量より小さくなったことを認識し、即座にＤＭＡ転送要求R4を出力する。図２（ｋ）において、ローカルバスLBUSは、チャネルCH1のＤＭＡ転送に占有される。
図２（ｌ）において、周辺回路P1は、チャネルCH1のＤＭＡ転送の実施中に、バッファBUF1のデータ量が所定量より小さくなったことを認識し、即座にＤＭＡ転送要求R1を出力する。図２（ｍ）において、ローカルバスLBUSは、チャネルCH1のＤＭＡ転送の完了後、チャネルCH0のＤＭＡ転送に占有される。このため、チャネルCH0は、一定期間Ｌ1内に２回のＤＭＡ転送を完了させることができない。すなわち、ビデオ出力端子から出力されるビデオ信号は、途切れてしまう。
【００３５】
以上のように、周辺回路P4がＤＭＡ転送要求R4を出力するタイミングを所定時間T1遅らせることで、ＤＭＡＣ１０ｄは、本来ならばＤＭＡ転送要求R4より後に受け付けるはずのＤＭＡ転送要求R1を先に受け付ける。このため、チャネルCH1が実施するＤＭＡ転送とチャネルCH0が実施するＤＭＡ転送とが実施される順序が入れ替えられる。この結果、チャネルCH0は、一定期間Ｌ1内に２回のＤＭＡ転送を確実に完了させる。
【００３６】
図３は、周辺回路P3、P4、P5を動作させる場合のＤＭＡ転送の一例を示している。
ＤＭＡ転送要求R3、R4、R5は、チャネルCH0、CH1、CH2にそれぞれ割り当てられている。周辺回路P3のバッファBUF3のデータは、音声データであるため、チャネルCH0は、高速なＤＭＡ転送を要求され、一定期間Ｌ2内に２回のＤＭＡ転送を完了させる必要がある。周辺回路P4のバッファBUF4のデータは、ＰＣカードから読み出したデータであるため、チャネルCH1は、高速なＤＭＡ転送を要求されず、時間制約のないＤＭＡ転送を実施する。周辺回路P5のバッファBUF5のデータは、ＵＳＢに送信されるデータであるため、チャネルCH2は、チャネルCH1に比べ高速なＤＭＡ転送を要求されず、時間制約のないＤＭＡ転送を実施する。
【００３７】
なお、周辺回路P3の転送レートは、周辺回路P4の転送レートより非常に大きい。すなわち、チャネルCH1が実施するＤＭＡ転送に要する時間は、チャネルCH0が実施するＤＭＡ転送に要する時間より非常に大きい。また、周辺回路P5の転送レートは、周辺回路P4の転送レートより小さい。すなわち、チャネルCH2が実施するＤＭＡ転送に要する時間は、チャネルCH1が実施するＤＭＡ転送に要する時間より大きい。換言すれば、周辺回路P3は高速周辺回路として動作し、周辺回路P4、P5は低速周辺回路として動作する。
【００３８】
図３（ａ）において、周辺回路P4は、チャネルCH2のＤＭＡ転送の実施中に、ＤＭＡ転送要求R4を出力する。図３（ｂ）において、ローカルバスLBUSは、チャネルCH2のＤＭＡ転送の完了後、チャネルCH1のＤＭＡ転送に占有される。
図３（ｃ）において、周辺回路P5は、バッファBUF5のデータ量が所定量より小さくなったことを認識する。しかしながら、周辺回路P5は、所定時間T3が経過するまでＤＭＡ転送要求R5を出力しない。ここで、レジスタREG5の値は、所定時間T3に予め設定されている。図３（ｄ）において、周辺回路P3は、チャネルCH1のＤＭＡ転送の実施中に、ＤＭＡ転送要求R3を出力する。図３（ｅ）において、ローカルバスLBUSは、チャネルCH1のＤＭＡ転送の完了後、チャネルCH0のＤＭＡ転送に占有される。
【００３９】
図３（ｆ）において、周辺回路P4は、バッファBUF4のデータ量が所定量より大きくなったことを認識する。しかしながら、周辺回路P4は、所定時間T2が経過するまでＤＭＡ転送要求R4を出力しない。ここで、レジスタREG4の値は、所定時間T3より小さい所定時間T2に予め設定されている。図３（ｇ）において、周辺回路P3は、バッファBUF3のデータ量が所定量より小さくなったことを認識し、即座にＤＭＡ転送要求R3を出力する。ここで、レジスタREG3の値は、所定時間T2、T3より短い０に予め設定されている。図３（ｈ）において、ローカルバスLBUSは、チャネルCH0のＤＭＡ転送に占有される。このため、チャネルCH0は、一定期間Ｌ2内に２回のＤＭＡ転送を完了させることができる。
【００４０】
図３（ｉ）において、周辺回路P4は、所定時間T2の経過を認識し、ＤＭＡ転送要求R4を出力する。図３（ｊ）において、ローカルバスLBUSは、チャネルCH0のＤＭＡ転送の完了後、チャネルCH1のＤＭＡ転送に占有される。図３（ｋ）において、周辺回路P5は、所定時間T3の経過を認識し、ＤＭＡ転送要求R5を出力する。図３（ｌ）において、ローカルバスLBUSは、チャネルCH1のＤＭＡ転送の完了後、チャネルCH2のＤＭＡ転送に占有される。
【００４１】
以上のように、周辺回路P4、P5がＤＭＡ転送要求R4、R5を出力するタイミングをそれぞれ所定時間T2、T3遅らせることで、２つの低速な周辺回路P4、P5が同時に動作する場合にも、チャネルCH0は、一定期間Ｌ1内に２回のＤＭＡ転送を確実に完了させる。また、周辺回路P5の所定時間T3が周辺回路P4の所定時間T2より大きく設定されることで、CH1のＤＭＡ転送がチャネルCH1のＤＭＡ転送の影響により遅れて実施されることが防止される。
【００４２】
以上、第１の実施形態では、次の効果が得られる。
低速周辺回路がデータ転送要求を出力するタイミングを所定時間遅らせることで、ＤＭＡＣ１０ｄは、本来ならば低速周辺回路からのデータ転送要求より後に受け付けるはずの高速周辺回路からのデータ転送要求を先に受け付けることができる。このため、低速周辺回路からのデータ転送要求に応答したデータ転送と高速周辺回路からのデータ転送要求に応答したデータ転送とが実施される順序を入れ替えることができる。この結果、一定期間内に転送が不可欠なデータの転送要求が高速周辺回路から出力される場合、一定期間内に転送が不可欠なデータ（動画像データや音声データ）を確実に転送できる。
【００４３】
周辺回路P0〜P5にレジスタREG0〜REG5をそれぞれ設けることで、データ転送要求R0〜R5が出力されるべき状態になってから実際に出力されるまでの所定時間を可変にできる。このため、周辺回路P0〜P5の転送レートの変更やＤＭＡＣ１０ｄにおけるＤＭＡ転送要求の受付可能数（チャネル数）の変更に対応できる。
ＤＭＡＣ１０ｄは、所定量のＤＭＡ転送が実施される毎に、チャネル間の優先順位を回転させるため、チャネルCH0〜CH2に割り当てられたいずれのデータ転送要求にも応答して、ＤＭＡ転送を確実に実施できる。
【００４４】
低速周辺回路の所定時間を、転送レートが小さいほど長く設定することで、転送レートの大きい低速周辺回路からのデータ転送要求に応答したデータ転送が、転送レートの小さい低速周辺回路からのデータ転送要求に応答したデータ転送の影響により遅れて実施されることを防止できる。
図４は、本発明のデータ転送装置の第２の実施形態を示している。第１の実施形態で説明した要素と同一の要素については、同一の符号を付し、詳細な説明は省略する。
【００４５】
データ転送装置２００は、半導体チップ３０、ＲＯＭ１４、ＳＤＲＡＭ１６（記憶回路）、外部バスEBUSおよびＳＤＲＡＭ専用バスSBUSを有している。
半導体チップ３０は、ＣＰＵコア１０ａ、外部バスインタフェース１０ｂ、ＳＤＲＡＭインタフェース１０ｃ、ＤＭＡＣ１０ｄ（データ転送回路）、バスブリッジBB、周辺回路P0〜P5、メインバスMBUSおよびローカルバスLBUS（共通バス）を有している。すなわち、データ転送装置２００では、ＤＭＡＣ１０ｄと周辺回路P0〜P5とが同一の半導体チップ３０に形成されている。データ転送装置２００は、ＤＭＡ転送の経路が異なることを除いて、ＤＭＡＣ１０ｄと周辺回路P0〜P5とが個別の半導体チップ１０、２０に形成された第１の実施形態のデータ転送装置１００と同様に動作する。
【００４６】
バスブリッジBBは、メインバスMBUSとローカルバスLBUSとの間でデータを授受する際のインタフェースとして機能する。従って、ＤＭＡＣ１０ｄのチャネルCH0〜CH2は、割り当てられたＤＭＡ転送要求に応答して、ローカルバスLBUS、メインバスMBUSおよびＳＤＲＡＭ専用バスSBUSを介して、割り当てられたＤＭＡ転送要求を出力した周辺回路のバッファとＳＤＲＡＭ１６との間のＤＭＡ転送を実施する。
【００４７】
以上、第２の実施形態でも、第１の実施形態と同様の効果が得られる。
なお、第１および第２の実施形態では、周辺回路P4（または周辺回路P5）がＰＣカードインタフェース（またはＵＳＢインタフェース）として動作する例について述べた。本発明は、かかる実施形態に限定されるものではない。例えば、周辺回路P4（または周辺回路P5）は、バッファBUF4（またはバッファBUF5）とＳＤＲＡＭ１６との間のＤＭＡ転送に高速性をそれほど要求しないＩ２Ｃ（Inter Integrated Circuit）インタフェースとして動作してもよい。
【００４８】
以上の実施形態において説明した発明を整理して、付記として開示する。
（付記１）
データ転送に使用される共通バスと、
前記共通バスを介してデータが転送される記憶回路と、
前記共通バスに接続されるバッファをそれぞれ有し、前記バッファのデータ量に応じてデータ転送要求をそれぞれ出力する複数の周辺回路と、
前記データ転送要求にそれぞれ応答して、対応する前記バッファと前記記憶回路との間のデータ転送を実施するデータ転送回路とを備え、
前記周辺回路のうち転送レートが最も大きい高速周辺回路を除く低速周辺回路の各々は、対応する前記バッファのデータ量が前記データ転送要求を出力すべき量になってから、所定時間後に前記データ転送要求を出力し、
前記高速周辺回路は、対応する前記バッファのデータ量が前記データ転送要求を出力すべき量になってから、前記所定時間より短い時間後に前記データ転送要求を出力することを特徴とするデータ転送装置。
（付記２）
付記１記載のデータ転送装置において、
前記各低速周辺回路は、前記所定時間を設定するためのレジスタを有し、前記バッファのデータ量が前記データ転送要求を出力すべき量になってから、前記レジスタに設定された前記所定時間後に前記データ転送要求を出力することを特徴とするデータ転送装置。
（付記３）
付記１記載のデータ転送装置において、
前記データ転送回路は、優先順位が最も高い前記データ転送要求に応答したデータ転送を優先して実施するとともに、所定量のデータ転送を実施する毎に、前記データ転送要求の優先順位を回転させることを特徴とするデータ転送装置。
（付記４）
付記１記載のデータ転送装置において、
前記低速周辺回路の前記所定時間は、転送レートが小さいほど長く設定されることを特徴とするデータ転送装置。
（付記５）
付記１記載のデータ転送装置において、
前記高速周辺回路は、前記バッファのデータ量が前記データ転送要求を出力すべき量になってから、即座に前記データ転送要求を出力することを特徴とするデータ転送装置。
（付記６）
付記１記載のデータ転送装置において、
前記データ転送回路は、ダイレクトメモリアクセス転送によりデータ転送を実施するダイレクトメモリアクセスコントローラであることを特徴とするデータ転送装置。
（付記７）
付記１記載のデータ転送装置において、
前記周辺回路のうちデータ転送により前記バッファにデータが書き込まれる周辺回路は、前記バッファのデータ量が所定量より小さくなったときに、前記データ転送要求を出力すべきであると認識することを特徴とするデータ転送装置。
（付記８）
付記１記載のデータ転送装置において、
前記周辺回路のうちデータ転送により前記バッファからデータが読み出される周辺回路は、前記バッファのデータ量が所定量より大きくなったときに、前記データ転送要求を出力すべきであると認識することを特徴とするデータ転送装置。
（付記９）
付記１記載のデータ転送装置において、
前記高速周辺回路の前記バッファのデータは、動画像データであることを特徴とするデータ転送装置。
（付記１０）
付記１記載のデータ転送装置において、
前記高速周辺回路の前記バッファのデータは、音声データであることを特徴とするデータ転送装置。
（付記１１）
付記１記載のデータ転送装置において、
前記周辺回路と前記データ転送回路とは、個別の半導体チップに形成されていることを特徴とするデータ転送装置。
（付記１２）
付記１記載のデータ転送装置において、
前記周辺回路と前記データ転送回路とは、同一の半導体チップに形成されていることを特徴とするデータ転送装置。
【００４９】
付記１１のデータ転送装置では、周辺回路とデータ転送回路とは、個別の半導体チップに形成されている。周辺回路とデータ転送回路とが個別の半導体チップに形成された場合にも、一定期間内に転送が不可欠なデータを確実に転送できる。
付記１２のデータ転送装置では、周辺回路とデータ転送回路とは、同一の半導体チップに形成されている。周辺回路とデータ転送回路とが同一の半導体チップに形成された場合にも、一定期間内に転送が不可欠なデータを確実に転送できる。
【００５０】
以上、本発明について詳細に説明してきたが、前述の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【図面の簡単な説明】
【００５１】
【図１】本発明のデータ転送装置の第１の実施形態を示すブロック図である。
【図２】第１の実施形態におけるＤＭＡ転送の一例を示す説明図である。
【図３】第１の実施形態におけるＤＭＡ転送の別の例を示す説明図である。
【図４】本発明のデータ転送装置の第２の実施形態を示すブロック図である。
【符号の説明】
【００５２】
１０  半導体チップ
１０ａ  ＣＰＵコア
１０ｂ  外部バスインタフェース
１０ｃ  ＳＤＲＡＭインタフェース
１０ｄ  ＤＭＡＣ
１２  半導体チップ
１２ａ  外部バスインタフェース
１４  ＲＯＭ
１６  ＳＤＲＡＭ
３０  半導体チップ
１００、２００  データ転送装置
ＢＢ  バスブリッジ
ＢＵＦ０〜ＢＵＦ５  バッファ
ＣＨ０〜ＣＨ２  チャネル
ＥＢＵＳ  外部バス
ＬＢＵＳ  ローカルバス
ＭＢＵＳ  メインバス
Ｐ０〜Ｐ５  周辺回路
Ｒ０〜Ｒ５  ＤＭＡ転送要求
ＲＥＧ０〜ＲＥＧ５  レジスタ
ＳＢＵＳ  ＳＤＲＡＭ専用バス
【国際調査報告】
2004102404.tif 000007
2004102404.tif 000008
2004102404.tif 000009
2004102404.tif 000010