(57)【特許請求の範囲】
【請求項１】
ＤＭＡ転送機能およびＣＰＵからデータを受け取りこれをメモリデバイスに書き込み、または前記メモリデバイスからデータを読み出し、これを前記ＣＰＵに送るＤＭＡ転送装置経由ＣＰＵメモリアクセス転送機能を備えたＤＭＡ転送装置であって、
ＤＭＡ転送およびＤＭＡ転送装置経由ＣＰＵメモリアクセス転送において共用されるデータバス手段と、
前記ＣＰＵの周辺回路からの前記ＤＭＡ転送装置経由ＣＰＵメモリアクセス要求および前記周辺回路以外の回路からのＤＭＡ転送要求をサンプリングし、優先順位に従ってメモリアクセスの要求を選択する優先順位決定手段と、
前記ＤＭＡ転送装置経由ＣＰＵメモリアクセスにより前記メモリデバイスにアクセスするときは、バスマスタである前記ＣＰＵに対してＤＭＡ転送装置外のバスに対するバス使用権の要求を行わず、前記ＤＭＡ転送により前記メモリデバイスにアクセスするときは前記ＣＰＵに対してＤＭＡ転送装置外のバスに対するバス使用権の要求を行うアービトレーション手段と、を有することを特徴とするＤＭＡ転送装置。
【請求項２】
前記ＤＭＡ転送を行うメモリデバイスインターフェイスと、前記ＤＭＡ転送装置経由ＣＰＵメモリアクセス転送を行うメモリデバイスインターフェイスとが共用されることを特徴とする請求項１記載のＤＭＡ転送装置。
【請求項３】
前記優先順位決定手段は、前記ＣＰＵにバス使用権を要求しているときに、前記ＤＭＡ転送装置経由ＣＰＵメモリアクセス要求が発生した場合は当該ＤＭＡ転送装置経由ＣＰＵメモリアクセス要求を最先順位として決定した後、全てのメモリアクセス要求を再サンプリングすることを特徴とする請求項１または２に記載のＤＭＡ転送装置。
【請求項４】
前記アービトレーション手段が前記ＣＰＵにバス使用権を要求しているときに、前記ＤＭＡ転送装置経由ＣＰＵメモリアクセス要求が発生したときは、割込み「有り」を記憶する割込み有無記憶手段をさらに備えたＤＭＡ転送装置であって、前記ＤＭＡ転送装置経由ＣＰＵメモリアクセス転送による前記メモリデバイスへのアクセスが終了した時点で、前記割込み有無記憶手段の記憶情報を参照し、割込みが「有り」の場合には初期状態に戻らずにバス使用権の許可待ち状態に移行することを特徴とする請求項１から３の何れかに記載のＤＭＡ転送装置。
【請求項５】
前記ＤＭＡ転送装置経由ＣＰＵメモリアクセスを実行するためのメモリアクセス要求は、前記ＤＭＡ転送装置による直接メモリアクセスに比較して優先順位が高いことを特徴とする請求項１から４の何れか１つに記載のＤＭＡ転送装置。
【請求項６】
前記メモリデバイスは、同期式メモリデバイスであることを特徴とする請求項１から５の何れか１つに記載のＤＭＡ転送装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＰＵからデータを受け取りこれをメモリデバイスに書き込み、または前記メモリデバイスからデータを読み出しこれを前記ＣＰＵに送るＤＭＡ転送装置経由ＣＰＵメモリアクセス転送機能を持つＤＭＡ転送装置に関し、ＤＭＡ転送とＤＭＡ転送装置経由ＣＵＰメモリアクセス転送とで同一のメモリデバイスインターフェイス回路を共用できるとともに、回路規模を小さくすることができるＤＭＡ転送装置に関する。
【０００２】
【従来の技術】
一般に、ＤＭＡ転送装置は、ＣＰＵにバス使用権の要求を行いこの要求に応じてＣＰＵから返されるバス使用許可を待って、ＣＰＵを介することなくメモリデバイスとのアクセスを行う。もちろん、ＣＰＵは、ＤＭＡ転送装置によることなく、メモリデバイスとのアクセスを行うこともできる。
【０００３】
【発明が解決しようとする課題】
ところで、ＣＰＵがＤＭＡ転送装置経由でメモリデバイスにアクセスする技術が提案されている。ＣＰＵがＤＭＡ転送装置経由でメモリデバイスにアクセス（本明細書では、「ＤＭＡ転送装置経由ＣＰＵメモリアクセス」と言う）ができるＤＭＡ転送装置では、ＤＭＡコントローラもＣＰＵもＤＲＡＭにアクセスするので、ＤＲＡＭのインターフェイス部分を共通で作成すると、回路規模の減少および信頼性の向上を図ることができる。たとえば、同期式ＤＲＡＭの場合は、そのクロックの速さがＣＰＵのクロックの範囲と異なることがある。このような場合において、ＤＲＡＭのクロックを極力速くしたいときに、ＤＭＡ転送装置経由ＣＰＵメモリアクセス機能を持つＤＭＡ転送装置は有効となる。たとえばＣＰＵのクロックが最大４０ＭＨｚ、ＤＲＡＭのクロックが最大１００ＭＨｚの場合に、ＣＰＵ周辺回路は４０ＭＨｚで作成し、ＤＲＡＭインターフェイスを含むＤＭＡコントローラは１００ＭＨｚで作成することで、ＤＲＡＭのスピードを遅くすることなく、ＤＲＡＭインターフェイスを１つにできる。
また、ＤＭＡ転送要求がＣＰＵ周辺回路以外の回路からＤＭＡ要求と、ＤＭＡ転送装置経由ＣＰＵメモリアクセス要求との調停が円滑に行われない場合も生じることがある。特に、ＣＰＵがＤＭＡ転送装置経由でメモリにアクセスすると言った特殊性に故に、既存のメモリアクセスの調停技術（特開平07-319756号公報参照）をＤＭＡ転送装置経由ＣＰＵメモリアクセスにそのまま転用することができない場合も多い。
【０００４】
本発明の目的は、ＤＭＡ転送とＤＭＡ転送装置経由ＣＵＰメモリアクセス転送とで同一のメモリデバイスインターフェイス回路を共用できるとともに、回路規模を小さくすることができるＤＭＡ転送装置を提供することにある。
本発明の他の目的は、ＤＭＡ転送装置経由ＣＰＵメモリアクセス手続からＤＭＡ手続への移行、あるいはＤＭＡ手続からＤＭＡ転送装置経由ＣＰＵメモリアクセス手続への移行を円滑に（短時間に）行うことができるＤＭＡ転送装置を提供することにある。
【０００５】
本発明の他の目的は、ＤＭＡ転送装置経由ＣＰＵメモリアクセス要求をＤＭＡ要求に対して優先させてメモリデバイスにアクセスすることができるＤＭＡ転送装置を提供することにある。
【０００６】
本発明の他の目的は、ＤＭＡ転送装置がアクセスするメモリデバイスとして、ＣＰＵのクロック周期と異なる同期式のものが使用できるＤＭＡ転送装置を提供することにある。
【０００７】
【課題を解決するための手段】
本発明のＤＭＡ転送装置は、ＤＭＡ転送機能、および、ＣＰＵからデータを受け取りこれをメモリデバイスに書き込み、または前記メモリデバイスからデータを読み出しこれを前記ＣＰＵに送るＤＭＡ転送装置経由ＣＰＵメモリアクセス転送機能を備えたものであって、ＤＭＡ転送およびＤＭＡ転送装置経由ＣＰＵメモリアクセス転送において共用されるデータバス手段と、前記ＣＰＵの周辺回路からの前記ＤＭＡ転送装置経由ＣＰＵメモリアクセス要求および前記周辺回路以外の回路からのＤＭＡ転送要求をサンプリングし優先順位に従ってメモリアクセスの要求を選択する優先順位決定手段と、前記ＤＭＡ転送装置経由ＣＰＵメモリアクセスにより前記メモリデバイスにアクセスするときはバスマスタである前記ＣＰＵに対してＤＭＡ転送装置外のバスに対するバス使用権要求を行わず、前記ＤＭＡにより前記メモリデバイスにアクセスするときは前記ＣＰＵに対してＤＭＡ転送装置外のバスに対するバス使用権要求を行うアービトレーション手段と、を有することを特徴とする。上記ＤＭＡ転送装置では、ＤＭＡ転送を行うメモリデバイスインターフェイスと、前記ＤＭＡ転送装置経由ＣＰＵメモリアクセス転送を行うメモリデバイスインターフェイスとを共用することができる。
【０００８】
また、本発明のＤＭＡ転送装置では、前記ＤＭＡ転送装置経由ＣＰＵメモリアクセスを実行するためのメモリアクセス要求は、前記前記ＤＭＡ転送装置による直接メモリアクセスに比較して優先順位を高くすることができる。これにより、ＤＭＡ転送要求とＤＭＡ転送装置経由ＣＰＵメモリアクセス要求とがサンプリングされた場合には、アービトレーション手段は、ＤＭＡ転送装置経由ＣＰＵメモリアクセス要求を優先して実行することができる。特に、前記優先順位決定手段は、前記ＣＰＵにバス使用権を要求しているときに、前記ＤＭＡ転送装置経由ＣＰＵメモリアクセスの要求が発生した場合は、当該ＤＭＡ転送装置経由ＣＰＵメモリアクセス要求を最先順位に決定し、この後全てのメモリアクセスの要求を再サンプリングすることができる。この再サンプリングにより、ＤＭＡ転送装置経由ＣＰＵメモリアクセス要求が最優先され、ＤＭＡ要求中に、ＤＭＡ処理からＤＭＡ転送装置経由ＣＰＵメモリアクセス処理への移行が速やかに行われる。
【０００９】
さらに、本発明のＤＭＡ転送装置では、前記アービトレーション手段が前記ＣＰＵにバス使用権を要求しているときに、前記ＤＭＡ転送装置経由ＣＰＵメモリアクセスの要求（割込み要求）が発生したときは（この場合、前記ＤＭＡ転送装置経由ＣＰＵメモリアクセスが優先的に開始される）、割込み「有り」を記憶する割込み有無記憶手段をさらに備えることができる。たとえば、前記ＤＭＡ転送装置経由ＣＰＵメモリアクセス転送による前記メモリデバイスへの優先されたアクセスが終了した時点で、前記割込み有無記憶手段の記憶情報を参照し割込みが「有り」にセットされている場合には初期状態に戻らずにバス使用権の許可待ち状態に移行することができる。これにより、ＤＭＡ転送装置経由ＣＰＵメモリアクセス要求が優先された場合において、ＤＭＡ転送装置経由ＣＰＵメモリアクセス処理からＤＭＡ処理への移行が速やかに行われる。
【００１０】
加えて、本発明のＤＭＡ転送装置では、前記メモリデバイスを、同期式メモリデバイスとすることができる。これにより、ＤＭＡ転送装置は、前記ＣＰＵのクロックとは周期が異なり、かつ前記メモリデバイスのクロックと同期した（たとえば同一周期）のクロックで動作することができる。
【００１１】
【発明の実施の形態】
図１は、本発明のＤＭＡ転送装置を応用したデータ転送システムのブロック図である。図１において、データバス１００には、ＣＰＵ１１と、メモリデバイス１２と、ＲＯＭ１３と、ＤＭＡ転送装置１４とが相互接続されている。メモリデバイス１２は後述するように、ＣＰＵ１１がＤＭＡ転送装置１４経由でメモリアクセスするため、およびＤＭＡ転送装置１４が直接メモリアクセスするための、転送先あるいは転送元となるメモリデバイスである。
【００１２】
ＣＰＵ１１にはＣＰＵ周辺回路１５１が形成されており、バス制御回路１５２によりデータの受渡しが行われる。ＣＰＵ１１はシステム全体を制御するもので、バスマスタとしても動作する。ＣＰＵ周辺回路１５１はストローブ信号の生成、ＤＭＡ転送装置経由ＣＰＵメモリアクセス要求信号Ａの生成、当該要求信号Ａに対する許可信号（アクナリッジ）Ｂの入力等を行う。バス制御回路１５２は、ＤＭＡ転送装置１４のレジスタ１４１を、データバス１６１，１６２およびバス１００を介してメモリデバイス１２に接続することができる。
【００１３】
ＤＭＡ転送装置１４は、本実施形態では１チップからなり、レジスタ１４１とメモリデバイスＩ／Ｆ部（インターフェイス）１４２とタイミング制御部１４３と優先順位決定手段１４４と割込み有無記憶手段１４５とを含んで構成されている。レジスタ１４１は、転送データを一時保持するために用いられる。
メモリデバイスＩ／Ｆ部１４２は、メモリデバイス１２にＤＭＡあるいはＣＰＵメモリアクセスを行う場合のタイミング制御、メモリデバイス１２へのストローブ信号Ｃの生成を行う。
【００１４】
タイミング制御部１４３は、ＤＭＡ転送装置１４内部でのタイミングを生成する他、アービトレーション手段としても動作する。すなわち、バスマスタであるＣＰＵ１１に、バス使用権リクエスト信号Ｄを送り、または当該リクエスト信号Ｄに対するバス使用権許可信号Ｅを受け取る。優先順位決定手段１４４は、ＣＰＵ周辺回路１５１からのメモリデバイス１２にアクセスするための要求信号Ａ、ＣＰＵ周辺回路１５１以外の回路からの複数のＤＭＡ転送要求信号Ｇに対してリクエストサンプリングを行い、その結果について優先順位を決定する。
割込み有無記憶手段１４５は、優先順位決定手段１４４がＤＭＡ転送要求に対する処理中にＤＭＡ転送装置経由ＣＰＵメモリアクセスがあったことを記録するもので、その内容は「有り」または「無し」にセットされる。
【００１５】
図１のＤＭＡ転送装置の典型的な動作例を以下に説明する。
（１）ＣＰＵ１１がメモリデバイス１２にアクセスする場合
▲１▼ ＣＰＵ１１からの信号に基づき、ＣＰＵ周辺回路１５１は、「ＤＭＡ転送装置経由ＣＰＵメモリアクセス転送」をするための要求信号Ａを生成する。
▲２▼ＤＭＡ転送装置１４は優先順位に従って、要求を実行しＣＰＵ１１のアクセスサイクルがスタートする。このとき、バス使用権要求信号ＤはＣＰＵ１１に出力しない。
▲３▼ タイミング制御部１４３はＤＭＡ転送装置１４内部でのタイミングを生成し、メモリデバイスＩ／Ｆ部１４２はメモリデバイス１２のストローブ信号Ｃを生成する。
▲４▼ データ読み出し時には、メモリデバイス１２からのデータをバス制御回路１５２を介してＣＰＵ１１に伝達するとともに、レジスタ１４１にそのデータを一時保持する。この一時保持によって、ＣＰＵ１１によるデータの読み落としが防される。
▲５▼データ書込み時にはメモリデバイス１２にデータを出力し、レジスタ１４１における保持は行わない。サイクルが終了すると、ＤＭＡ転送装置は、サイクル終了信号をＣＰＵ周辺回路１５１に返す。
【００１６】
（２）ＤＭＡ転送する場合
▲１▼ ＤＭＡ要求信号Ｇに対して、優先順位決定手段１４４の優先順位に従って実行サイクルを決定する。
▲２▼ 次にタイミング制御部１４３を通して、ＣＰＵ１１に対してバス使用権の要求信号Ｄを出力し、その信号に対する許可信号Ｅを待つ。
▲３▼ 許可信号Ｅを受け取るとＤＭＡ転送サイクルをスタートする。
▲４▼ ＤＭＡ転送サイクルを終了するとバス使用権要求信号Ｄをインアクティブにする。
▲５▼ＣＰＵ１１がバス使用権要求信号Ｄのインアクティブを検出すると、バス権がＣＰＵ１１側に戻される。
【００１７】
以下、図２のフローチャートにより、図１に示したＤＭＡ転送装置の動作を説明する。
優先順位決定手段１４４は、ＣＰＵ周辺回路１２からのＤＭＡ転送装置経由ＣＰＵメモリアクセス要求（信号Ａ）およびＣＰＵ周辺回路１２以外の回路からの複数のＤＭＡ転送要求（信号Ｇ）のサンプリングを行い（Ｓ１０１）、これらのメモリアクセス要求があるか否かをチェックする（Ｓ１０２）。前述したようにメモリアクセス要求（Ａ）およびアクセス転送要求（Ｇ）は、ともにメモリデバイス１２をアクセスするため要求である。
【００１８】
優先順位決定手段１４４は、メモリアクセス要求ＡやＧがあるときは、優先順位に従ってサービスするメモリアクセス要求を決定し、メモリデバイス１２のアクセスサイクル（ＤＭＡ転送装置経由ＣＰＵメモリアクセス転送サイクルまたはＤＭＡ転送サイクル）をスタートする（Ｓ１０３）。アクセスサイクルが、ＤＭＡ転送サイクルであるとき（すなわち、最先の順位がＣＰＵ周辺回路１２以外の回路からのメモリアクセス要求であるとき）と、ＤＭＡ転送装置経由ＣＰＵメモリアクセス転送サイクルであるとき（すなわち、最先の順位がＣＰＵ周辺回路１２からのメモリアクセス要求であるとき）とで異なる処理が行われる（Ｓ１０４）。
【００１９】
ＤＭＡ転送サイクルであるときには、タイミング制御部１４３はＣＰＵ１１にバス使用権Ｄを要求する（Ｓ１０５）。優先順位決定手段１４４は割込み有無記憶手段１４５に割込み「無し」をセットする（すなわち、初期状態に戻す）（Ｓ１０６）。後述するＳ１１２において、割込み有無手段１４５が割込み「有り」にセットされているときは処理はＳ１０６に戻されるが、このときには割込み有無手段１４５の内容は「有り」から「無し」に変更される。
【００２０】
ここで、ＤＭＡ転送サイクルの要求処理中（Ｓ１０３からＳ１０５までの間）に、ＣＰＵ周辺回路１２からのメモリアクセス要求（割り込みアクセス要求）があったか否かのチェックを行う（Ｓ１０７）。ＣＰＵ周辺回路１２からのＤＭＡ転送装置経由ＣＰＵメモリアクセス要求Ａがない場合には、タイミング制御部１４３はＣＰＵ１１からのバスの使用権の許可を待ち（Ｓ１０８）、許可がない場合には処理をＳ１０７を戻す。一方、ＣＰＵ周辺回路１２からのＤＭＡ転送装置経由ＣＰＵメモリアクセス要求Ａがあった場合には、優先順位決定手段１４４は割込み有無記憶手段１４５に割込み「有り」をセットし（Ｓ１１５）、メモリアクセス要求の再サンプリングを行う（Ｓ１１６）。Ｓ１１５およびＳ１１６を経た処理の流れについては、後述する。
【００２１】
Ｓ１０８において、タイミング制御部１４３がＣＰＵ１１からバス使用権の許可を受けたとき（許可信号Ｅを受け取ったとき）は、ＤＭＡ転送サイクルを継続してＤＭＡ転送要求Ｇに対する許可信号ＦをＣＰＵ周辺回路１２以外の回路に返す（Ｓ１０９）。次いで、データのＤＭＡ転送を行う。ＤＭＡ転送サイクルの中に、次のサイクルの要求をサンプリングし、これ結果を保持する（Ｓ１１０）。ＤＭＡ転送のサイクル中、上記のサンプリングが行われる（Ｓ１１１）。ＤＭＡ転送のサイクルが終了したときは、割り込み有無手段１４５の内容（「有り」または「無し」）をチェックする（Ｓ１１２）。Ｓ１０７で、ＣＰＵ周辺回路からのメモリアクセスの割込み要求が無い場合には、Ｓ１１２でのチェック結果は「無し」である。次いで、Ｓ１１０におけるサンプリングの保持結果を参照し、メモリアクセス要求があるか否かをチェックし（Ｓ１１３）、メモリアクセス要求がないときは初期状態とし（Ｓ１１４）、メモリアクセス要求があるときは処理をＳ１０３に戻す。
【００２２】
前述したように、ＣＰＵ周辺回路１２からのメモリアクセス要求Ａがあった場合には、優先順位決定手段１４４は割込み有無記憶手段１４５に割込み「有り」をセットし（Ｓ１１５）、メモリアクセス要求の再サンプリングを行う（Ｓ１１６）。Ｓ１１６で、メモリアクセス要求が再サンプリングされたときも、Ｓ１０９の処理を行う。本実施形態では、ＣＰＵ周辺回路１２からのメモリデバイス１２にアクセスするための要求Ａ（ＤＭＡ転送装置経由ＣＰＵメモリアクセスの要求）は、前述したようにＣＰＵ周辺回路１２以外の回路からのＤＭＡ転送要求Ｇよりも優先される。すなわち、Ｓ１１６において再サンプリングを行うことで、ＣＰＵ周辺回路１２以外の回路からのＤＭＡ転送要求中に、ＤＭＡ転送装置経由ＣＰＵメモリアクセスの要求Ａがあった場合には、当該要求Ａに対する処理が優先される。したがって、Ｓ１０９ではＤＭＡ転送装置経由ＣＰＵメモリアクセスの要求Ａに対する許可信号ＨをＣＰＵ周辺回路１２に返す。また、Ｓ１１０では、転送実行、次のサイクルの要求のサンプリングおよびその結果を保持し、Ｓ１１１でデータ転送サイクルが終了したときには、Ｓ１１２で割込み有無記憶手段１４５の内容のチェックを行う。割込み有無記憶手段１４５の内容は、Ｓ１１５において「有り」にセットされているので、この場合には処理をＳ１０６に戻し、優先順位決定手段１４４が割込み有無記憶手段１４５に割込み「無し」をセットし、Ｓ１０７以降の処理を行う。
【００２３】
Ｓ１０４において、メモリデバイス１２のアクセス転送サイクルが、ＤＭＡ転送装置経由ＣＰＵメモリアクセス転送サイクルであるとき（すなわち、最先の順位がＣＰＵ周辺回路１２からのメモリアクセス要求であるとき）ときには、ＤＭＡ転送要求は行われず、処理はただちにＳ１０９に移行する。Ｓ１０９では、ＤＭＡ転送装置経由ＣＰＵメモリアクセスの要求Ａに対する許可信号ＨをＣＰＵ周辺回路１２に返し、Ｓ１１０でＤＭＡ転送装置経由ＣＰＵメモリアクセスサイクルによりデータ転送を行う。この後、Ｓ１１１でＤＭＡ転送装置経由ＣＰＵメモリアクセス転送サイクルが終了したときは、前述したＳ１１２，Ｓ１１３の処理が行われる。すなわち、Ｓ１１０におけるサンプリングの保持結果を参照し、メモリアクセス要求があるか否かをチェックし（Ｓ１１３）、メモリアクセス要求がないときは初期状態とし（Ｓ１１４）、メモリアクセス要求があるときは処理をＳ１０３に戻す。
【００２４】
【発明の効果】
ＤＭＡ転送装置がＤＭＡ転送時に使用するメモリデバイスインターフェイス回路と、ＣＰＵアクセス時に使用するメモリデバイスインターフェイス回路を共用することができる。また、ＤＭＡ転送の処理からＣＰＵアクセスの処理に移行する切換え時間のロスを最小限に抑えることができる。さらに、ＤＭＡ転送要求に対してＤＭＡ転送装置経由ＣＰＵメモリアクセス要求の優先順位を高く設定しておけば、最も優先順位が高い要求を実行するだけでＤＭＡ転送装置経由ＣＰＵメモリアクセスに移行することができる。加えて、ＣＰＵとクロック周期が異なる、同期式メモリデバイスを使用することができる。
【図面の簡単な説明】
【図１】本発明の実施例にかかるＤＭＡ転送装置を応用したデータ転送システムのブロック図である。
【図２】図１に示したＤＭＡ転送装置の動作を説明するためのフローチャートである。
【符号の説明】
１  ＤＭＡ転送装置
１１  ＣＰＵ
１２  メモリデバイス
１３  ＲＯＭ
１４  ＤＭＡ転送装置
１４１  レジスタ
１４２  メモリデバイスＩ／Ｆ部
１４３  タイミング制御部
１４４  優先順位決定手段
１４５  割込み有無記憶手段
１５１  ＣＰＵ周辺回路
１５２  バス制御回路
１００，１６１，１６２  データバス
【図１】
0004012718.tif 000002
【図２】
0004012718.tif 000003