(57)【要約】【課題】ＤＭＡ転送におけるデータ転送の効率を向上させる。【解決手段】２つのＤＭＡ設定レジスタセットＲＳ１１、ＲＳ１２を備えることにより、メモリＭＭ１１、Ｍ１２、Ｉ／Ｏインタフェース回路Ｉ／Ｏ１１の間において、先行するデータ転送の期間中に次の転送のための設定を行なうことを可能とすることで、先行するデータ転送の終了後に、直ちに次のデータ転送を開始することができるため、データ転送の効率が向上する。【選択図】  図１
2004206241.tif 000002
【特許請求の範囲】
【請求項１】
ＤＭＡ（Direct Memory Access）転送に必要な転送情報を与えられて格納する少なくとも二つのＤＭＡ設定レジスタセットと、
ＤＭＡ内部バスに接続されており、前記ＤＭＡ設定レジスタセットのいずれか一方に格納された前記転送情報に基づいて、前記ＤＭＡ内部バスに接続された少なくとも二つの回路の間でのＤＭＡ転送を制御するＤＭＡデータ制御回路と、
を備え、
一方の前記ＤＭＡ設定レジスタセットに格納されたｉ（ｉは１以上の整数）回目のＤＭＡ転送用の前記転送情報に基づいて前記ＤＭＡデータ制御回路が前記ｉ回目のＤＭＡ転送を制御する動作に並行して、他方の前記ＤＭＡ設定レジスタセットに（ｉ＋１）回目のＤＭＡ転送用の前記転送情報が与えられて格納されることを特徴とするデータ転送制御回路。
【請求項２】
ＤＭＡ転送に必要な転送情報を与えられて格納する少なくとも二つのＤＭＡ設定レジスタセットと、
前記ＤＭＡ設定レジスタセットに接続され、それぞれの前記ＤＭＡ設定レジスタセットの書き込み可能又は不可に関する状態を制御するステートマシン制御回路と、
ＤＭＡ内部バスに接続されており、前記ＤＭＡ設定レジスタセットのいずれか一方に格納された前記転送情報に基づいて前記ＤＭＡ内部バスに接続された少なくとも二つの回路の間でのＤＭＡ転送を制御するＤＭＡデータ制御回路と、
を備え、
ｉ回目のＤＭＡ転送用の転送情報を一方の前記ＤＭＡ設定レジスタセットが与えられて書き込み、この書き込みが終了し、前記ＤＭＡ設定レジスタに書き込んだＤＭＡ起動ビットがオン状態になると、前記ステートマシン制御回路がＤＭＡ転送のリクエスト信号を外部に出力し、前記ステートマシン制御回路がＤＭＡ転送のアクノリッジ信号を外部から与えられ、
前記一方のＤＭＡ設定レジスタセットに格納された前記転送情報に基づき、前記ＤＭＡデータ制御回路がｉ回目のＤＭＡ転送を制御し、この動作と並行して、（ｉ＋１）回目のＤＭＡ転送用の転送情報を他方の前記ＤＭＡ設定レジスタセットが与えられて書き込むことを特徴とするデータ転送制御回路。
【請求項３】
プロセッサと、
前記プロセッサに接続されたプロセッサバスと、
少なくとも二つのメモリ、あるいは少なくとも一つのメモリとＩ／Ｏインタフェース回路とに接続されたメモリＩ／Ｏバスと、
前記プロセッサバスと前記メモリＩ／Ｏバスとを接続し又は分離するバスブリッジと、
第１のＤＭＡ内部バスを介して前記プロセッサバスに接続されており、前記プロセッサからＤＭＡ転送に必要な転送情報を与えられて格納する少なくとも二つのＤＭＡ設定レジスタセットと、
前記ＤＭＡ設定レジスタセットに接続され、それぞれの前記ＤＭＡ設定レジスタセットの書き込み可能又は不可に関する状態を制御するステートマシン制御回路と、
第２のＤＭＡ内部バスを介して前記メモリＩ／Ｏバスに接続されており、前記ＤＭＡ設定レジスタセットに格納された前記転送情報に基づいて、前記ＤＭＡ内部バスに接続された少なくとも二つのメモリ、あるいは少なくとも一つのメモリとＩ／Ｏインタフェース回路との間でのＤＭＡ転送を制御するＤＭＡデータ制御回路と、
を備え、
前記プロセッサから出力されたｉ回目のＤＭＡ転送用の転送情報を一方の前記ＤＭＡ設定レジスタセットが書き込み、この書き込みが終了し、前記ＤＭＡ設定レジスタに書き込んだＤＭＡ起動ビットがオン状態になると、前記ステートマシン制御回路が前記プロセッサへＤＭＡ転送のリクエスト信号を出力し、
前記プロセッサが前記バスブリッジを制御して前記プロセッサバスと前記メモリＩ／Ｏバスとを分離し、前記ステートマシン制御回路にＤＭＡ転送のアクノリッジ信号を出力し、
前記一方のＤＭＡ設定レジスタセットに格納された前記転送情報に基づき、前記ＤＭＡデータ制御回路が、前記少なくとも二つのメモリ、あるいは前記少なくとも一つのメモリとＩ／Ｏインタフェース回路との間でのＤＭＡ転送を制御し、この動作と並行して、前記プロセッサから出力された（ｉ＋１）回目のＤＭＡ転送用の転送情報を他方の前記ＤＭＡ設定レジスタセットが書き込むことを特徴とするデータ転送制御回路。
【請求項４】
プロセッサと、
前記プロセッサにそれぞれ接続された第１及び第２のプロセッサバスと、
少なくとも二つのメモリ、あるいは少なくとも一つのメモリとＩ／Ｏインタフェース回路とに接続され、前記第１のプロセッサバスに接続された第１のメモリＩ／Ｏバスと、
前記少なくとも二つのメモリ、あるいは前記少なくとも一つのメモリとＩ／Ｏインタフェース回路とに接続され、前記第２のプロセッサバスに接続された第２のメモリＩ／Ｏバスと、
第１のＤＭＡ内部バスを介して前記第１のプロセッサバスに接続され、第２のＤＭＡ内部バスを介して前記第２のプロセッサバスに接続されており、前記プロセッサからＤＭＡ転送に必要な転送情報を与えられて格納する少なくとも二つのＤＭＡ設定レジスタセットと、
前記ＤＭＡ設定レジスタセットに接続され、それぞれの前記ＤＭＡ設定レジスタセットの書き込み可能又は不可に関する状態を制御するステートマシン制御回路と、
第３のＤＭＡ内部バスを介して前記第１のメモリＩ／Ｏバスに接続され、第４のＤＭＡ内部バスを介して前記第２のメモリＩ／Ｏバスに接続されており、前記ＤＭＡ設定レジスタセットに格納された前記転送情報に基づいて、前記少なくとも二つのメモリ、あるいは少なくとも一つのメモリとＩ／Ｏインタフェース回路との間でのＤＭＡ転送を制御するＤＭＡデータ制御回路と、
を備え、
前記プロセッサから出力されたｉ回目のＤＭＡ転送用の転送情報を、前記第１のプロセッサバス及び前記第１のＤＭＡ内部バスを介して与えられて一方の前記ＤＭＡ設定レジスタセットが書き込み、この書き込みが終了し、前記ＤＭＡ設定レジスタに書き込んだＤＭＡ起動ビットがオン状態になると、前記ステートマシン制御回路が前記プロセッサへＤＭＡ転送のリクエスト信号を出力し、
前記プロセッサが前記ステートマシン制御回路にＤＭＡ転送のアクノリッジ信号を出力し、
前記一方のＤＭＡ設定レジスタセットに格納された前記転送情報に基づき、前記ＤＭＡデータ制御回路が、前記第３のＤＭＡ内部バス及び前記第１のメモリＩ／Ｏバス、あるいは前記第４のＤＭＡ内部バス及び前記第２のメモリＩ／Ｏバスを用いて、前記少なくとも二つのメモリ、あるいは前記少なくとも一つのメモリとＩ／Ｏインタフェース回路との間でのＤＭＡ転送を制御し、この動作と並行して、前記プロセッサから出力された（ｉ＋１）回目のＤＭＡ転送用の転送情報を、前記第２のプロセッサバス及び前記第２のＤＭＡ内部バス、あるいは前記第１のプロセッサバス及び前記第１のＤＭＡ内部バスを介して与えられて他方の前記ＤＭＡ設定レジスタセットが書き込むことを特徴とするデータ転送制御回路。
【請求項５】
ＤＭＡ転送に必要な転送情報を与えられて格納する少なくとも二つのＤＭＡ設定レジスタセットと、
ＤＭＡ内部バスに接続されており、前記ＤＭＡ設定レジスタセットのいずれか一方に格納された前記転送情報に基づいて、前記ＤＭＡ内部バスに接続された少なくとも二つの回路の間でのＤＭＡ転送を制御するＤＭＡデータ制御回路とを用いてデータ転送を制御する方法であって、
ｉ回目のＤＭＡ転送用の転送情報を、一方の前記ＤＭＡ設定レジスタセットに書き込むステップと、
この転送情報に基づいて、前記ＤＭＡデータ制御回路が前記ｉ回目のＤＭＡ転送を制御する動作に並行して、他方の前記ＤＭＡ設定レジスタセットに（ｉ＋１）回目のＤＭＡ転送用の転送情報を格納するステップと、
を備えることを特徴とするデータ転送制御方法。
【請求項６】
ＤＭＡ転送に必要な転送情報を与えられて格納する少なくとも二つのＤＭＡ設定レジスタセットと、
前記ＤＭＡ設定レジスタセットに接続され、それぞれの前記ＤＭＡ設定レジスタセットの書き込み可能又は不可に関する状態を制御するステートマシン制御回路と、
ＤＭＡ内部バスに接続されており、前記ＤＭＡ設定レジスタセットのいずれか一方に格納された前記転送情報に基づいて、前記ＤＭＡ内部バスに接続された少なくとも二つの回路の間でのＤＭＡ転送を制御するＤＭＡデータ制御回路とを用いて、データ転送を制御する方法であって、
ｉ回目のＤＭＡ転送用の転送情報を一方の前記ＤＭＡ設定レジスタセットに書き込み、この書き込みが終了すると前記ステートマシン制御回路によってＤＭＡ転送のリクエスト信号を外部に出力するステップと、
前記ステートマシン制御回路がＤＭＡ転送のアクノリッジ信号を外部から与えられるステップと、
前記一方のＤＭＡ設定レジスタセットに格納された前記転送情報に基づき、前記ＤＭＡデータ制御回路によってｉ回目のＤＭＡ転送を制御し、この動作と並行して、（ｉ＋１）回目のＤＭＡ転送用の転送情報を他方の前記ＤＭＡ設定レジスタセットに書き込むステップと、
を備えることを特徴とするデータ転送制御方法。
【請求項７】
プロセッサと、
前記プロセッサに接続されたプロセッサバスと、
少なくとも二つのメモリ、あるいは少なくとも一つのメモリとＩ／Ｏインタフェース回路とに接続されたメモリＩ／Ｏバスと、
前記プロセッサバスと前記メモリＩ／Ｏバスとを接続し又は分離するバスブリッジと、
第１のＤＭＡ内部バスを介して前記プロセッサバスに接続されており、前記プロセッサからＤＭＡ転送に必要な転送情報を与えられて格納する少なくとも二つのＤＭＡ設定レジスタセットと、
前記ＤＭＡ設定レジスタセットに接続され、それぞれの前記ＤＭＡ設定レジスタセットの書き込み可能又は不可に関する状態を制御するステートマシン制御回路と、
第２のＤＭＡ内部バスを介して前記メモリＩ／Ｏバスに接続されており、前記ＤＭＡ設定レジスタセットに格納された前記転送情報に基づいて前記ＤＭＡ内部バスに接続された少なくとも二つのメモリ、あるいは少なくとも一つのメモリとＩ／Ｏインタフェース回路との間でのＤＭＡ転送を制御するＤＭＡデータ制御回路とを用いてデータ転送を制御する方法であって、
前記プロセッサから出力されたｉ回目のＤＭＡ転送用の転送情報を一方の前記ＤＭＡ設定レジスタセットに書き込み、この書き込みが終了し、前記ＤＭＡ設定レジスタに書き込んだＤＭＡ起動ビットがオン状態になると、前記ステートマシン制御回路によって前記プロセッサへＤＭＡ転送のリクエスト信号を出力するステップと、
前記プロセッサによって前記バスブリッジを制御して前記プロセッサバスと前記メモリＩ／Ｏバスとを分離し、前記ステートマシン制御回路にＤＭＡ転送のアクノリッジ信号を出力するステップと、
前記一方のＤＭＡ設定レジスタセットに格納された前記転送情報に基づき、前記ＤＭＡデータ制御回路によって、前記少なくとも二つのメモリ、あるいは前記少なくとも一つのメモリとＩ／Ｏインタフェース回路との間でのＤＭＡ転送を制御し、この動作と並行して、前記プロセッサから出力された（ｉ＋１）回目のＤＭＡ転送用の転送情報を他方の前記ＤＭＡ設定レジスタセットに書き込むステップと、
を備えることを特徴とするデータ転送制御方法。
【請求項８】
プロセッサと、
前記プロセッサにそれぞれ接続された第１及び第２のプロセッサバスと、
少なくとも二つのメモリ、あるいは少なくとも一つのメモリとＩ／Ｏインタフェース回路とに接続され、前記第１のプロセッサバスに接続された第１のメモリＩ／Ｏバスと、
前記少なくとも二つのメモリ、あるいは前記少なくとも一つのメモリとＩ／Ｏインタフェース回路とに接続され、前記第２のプロセッサバスに接続された第２のメモリＩ／Ｏバスと、
第１のＤＭＡ内部バスを介して前記第１のプロセッサバスに接続され、第２のＤＭＡ内部バスを介して前記第２のプロセッサバスに接続されており、前記プロセッサからＤＭＡ転送に必要な転送情報を与えられて格納する少なくとも二つのＤＭＡ設定レジスタセットと、
前記ＤＭＡ設定レジスタセットに接続され、前記ＤＭＡ設定レジスタセットのそれぞれの書き込み可能又は不可に関する状態を制御するステートマシン制御回路と、
第３のＤＭＡ内部バスを介して前記第１のメモリＩ／Ｏバスに接続され、第４のＤＭＡ内部バスを介して前記第２のメモリＩ／Ｏバスに接続されており、前記ＤＭＡ設定レジスタセットに格納された前記転送情報に基づいて、前記少なくとも二つのメモリ、あるいは少なくとも一つのメモリとＩ／Ｏインタフェース回路との間でのＤＭＡ転送を制御するＤＭＡデータ制御回路とを用いてデータ転送を制御する方法であって、
前記プロセッサから出力されたｉ回目のＤＭＡ転送用の転送情報を、前記第１のプロセッサバス及び前記第１のＤＭＡ内部バスを介して一方の前記ＤＭＡ設定レジスタセットに与えて書き込み、この書き込みが終了し、前記ＤＭＡ設定レジスタに書き込んだＤＭＡ起動ビットがオン状態になると、前記ステートマシン制御回路によって前記プロセッサへＤＭＡ転送のリクエスト信号を出力するステップと、
前記プロセッサによって前記ステートマシン制御回路にＤＭＡ転送のアクノリッジ信号を出力するステップと、
前記一方のＤＭＡ設定レジスタセットに格納された前記転送情報に基づき、前記ＤＭＡデータ制御回路によって、前記第３のＤＭＡ内部バス及び前記第１のメモリＩ／Ｏバス、あるいは前記第４のＤＭＡ内部バス及び前記第２のメモリＩ／Ｏバスを用いて、前記少なくとも二つのメモリ、あるいは前記少なくとも一つのメモリとＩ／Ｏインタフェース回路との間でのＤＭＡ転送を制御し、この動作と並行して、前記プロセッサから出力された（ｉ＋１）回目のＤＭＡ転送用の転送情報を、前記第２のプロセッサバス及び前記第２のＤＭＡ内部バス、あるいは前記第１のプロセッサバス及び前記第１のＤＭＡ内部バスを介して他方の前記ＤＭＡ設定レジスタセットに与えて書き込むステップと、
を備えることを特徴とするデータ転送制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ転送制御方法及びその回路に関する。
【０００２】
【従来の技術】
一方のメモリから他方のメモリ、またはあるメモリからＩ／Ｏインタフェース回路を介して外部の装置との間で直接データ転送を行うＤＭＡ（Direct Memory Access）を行う従来のデータ転送制御回路の回路構成を図７に示す。
【０００３】
プロセッサＰＲＣ１０１、ＤＭＡコントローラＤＭＡＣ１０１、バスブリッジＢＢ、メモリＭ１０１及びＭ１０２、Ｉ／Ｏインタフェース回路Ｉ／Ｏ１０１のそれぞれが、バスブリッジＢＢ１０１で接続されたプロセッサバスＰＢ１０１又はメモリＩ／ＯバスＭＢ１０１に接続されている。
【０００４】
プロセッサバスＰＢ１０１には、プロセッサＰＲＣ１０１が接続され、またＤＭＡ内部バスＩＢ１０１を介してＤＭＡコントローラＤＭＡＣ１０１が有するＤＭＡ設定レジスタセットＲＳ１０１が接続されている。メモリＩ／ＯバスＭＢ１０１には、ＤＭＡ内部バスＩＢ１０２を介してＤＭＡコントローラＤＭＡＣ１０１が有するＤＭＡデータ制御回路ＤＣＣ１０１が接続され、またメモリＭ１０１、メモリＭ１０２がそれぞれ接続されている。
【０００５】
このような構成を備えたデータ転送制御回路において、ＤＭＡ転送を行う動作手順について以下に述べる。
【０００６】
１）ＤＭＡ転送に必要な情報が、プロセッサＰＲＣ１０１からプロセッサバスＰＢ１０１、ＤＭＡ内部バスＩＢ１０１を介してＤＭＡ設定レジスタセットＲＳ１０１に書き込まれる。
【０００７】
２）ＤＭＡコントローラＤＭＡＣ１０１がメモリＩ／ＯバスＭＢ１０１の使用権を得るため、ＤＭＡ設定レジスタセットＲＳ１０１からプロセッサＰＲＣ１０１ヘＤＭＡリクエスト信号ＲＳ１０１が送られる。
【０００８】
３）プロセッサＰＲＣ１０１が、メモリＩ／ＯバスＭＢ１０１をＤＭＡコントローラＤＭＡＣ１０１に開放するため、バスブリッジＢＢ１０１に対してメモリＩ／ＯバスＭＢ１０１の開放処理を行う。
【０００９】
４）プロセッサＰＲＣ１０１が、メモリＩ／ＯバスＭＢ１０１を開放したことをＤＭＡコントローラＤＭＡＣ１０１へ伝えるため、ＤＭＡアクノリッジ信号ＡＳ１０１を送る。
【００１０】
５）メモリＩ／ＯバスＭＢ１０１の使用権を得たことで、ＤＭＡ転送に必要な情報を、ＤＭＡ制御信号ＣＳ１０１によりＤＭＡ設定レジスタセットＲＳ１０１からＤＭＡデータ制御回路ＤＣＣ１０１に伝える。
【００１１】
６）メモリＭ１０１のデータが、メモリＩ／ＯバスＭＢ１０１を介してＤＭＡデータ制御回路ＤＣＣ１０１に転送される。
【００１２】
７）ＤＭＡデータ制御回路ＤＣＣ１０１からメモリＭ１０２へ、メモリＭ１０１のデータがメモリＩ／ＯバスＭＢ１０１を介して転送される。
【００１３】
８）メモリＭ１０２へのデータの転送が完了すると、ＤＭＡコントローラＤＭＡＣ１０１が、メモリＩ／ＯバスＭＢ１０１の使用権をプロセッサＰＲＣ１０１へ戻す。
【００１４】
ここで、ＤＭＡ設定レジスタセットＲＳ１０１は、以下のレジスタ群から構成されている。
【００１５】
１）ソースアドレスレジスタ（転送先のアドレスを指定）
２）ディスティネーションレジスタ（転送先のアドレスを指定）
３）ソースアドレスインクリメントレジスタ（ソースアドレスの増減値を設定）
４）ディスティネーションアドレスインクリメントレジスタ（ディスティネーションアドレスの増減値を設定）
５）ＤＭＡカウントレジスタ（転送バイト数を設定）
６）ＤＭＡチャネルステータスレジスタ（直前のＤＭＡ転送のステータスをクリア）
７）ＤＭＡチャネルコントロールレジスタ（転送モードの設定）
従来の回路構成を用いて、ＤＭＡ転送を連続的に行った場合のタイミングフローを図８に示す。
【００１６】
ＤＭＡ設定レジスタセットＲＳ１０１にＤＭＡ転送に必要な情報をセットし（ａ期間）、ＤＭＡ転送を行う（ｂ期間）。
【００１７】
ＤＭＡ転送を新たな転送設定で継続して行う場合、ＤＭＡ設定レジスタセットＲＳ１０１の設定を、ソフトウェアで再設定する必要がある（ｃ期間）。
【００１８】
この再設定はＤＭＡ転送中（ｂ期間）は行うことができず、転送が終了するまで待たなければならない（ｃ期間）。
【００１９】
このため、頻繁に設定を変えながら転送を行うと、レジスタを再設定する時間は転送できない期間（ｃ期間）となり、データ転送効率を低下させる原因となる。
【００２０】
例えば、図９に示されたように、１命令につき１つのクロックサイクル動作を必要とし、１つのレジスタ設定を行う際には３サイクルを必要とする場合を考えると、７つのレジスタの全てに設定するのに最低２１サイクルが必要となる。このため、２１サイクルの期間中、ＤＭＡ転送を行うことができないことになる。
【００２１】
【発明が解決しようとする課題】
上述したように、従来はＤＭＡ転送を連続的に行う際に、ＤＭＡ設定レジスタセットの再設定をＤＭＡ転送期間中は行うことができず、転送が終了するまで待たなければならないため、転送効率が低いという問題があった。
【００２２】
本発明は上記事情に鑑み、連続的なＤＭＡ転送における転送効率を向上させることが可能なデータ転送制御方法及びその回路を提供することを目的とする。
【００２３】
【課題を解決するための手段】
本発明のデータ転送制御回路は、ＤＭＡ転送に必要な転送情報を与えられて格納する少なくとも二つのＤＭＡ設定レジスタセットと、
ＤＭＡ内部バスに接続されており、前記ＤＭＡ設定レジスタセットのいずれか一方に格納された前記転送情報に基づいて、前記ＤＭＡ内部バスに接続された少なくとも二つの回路の間でのＤＭＡ転送を制御するＤＭＡデータ制御回路とを備え、
一方の前記ＤＭＡ設定レジスタセットに格納されたｉ回目のＤＭＡ転送用の前記転送情報に基づいて前記ＤＭＡデータ制御回路が前記ｉ回目のＤＭＡ転送を制御する動作に並行して、他方の前記ＤＭＡ設定レジスタセットに（ｉ＋１）回目のＤＭＡ転送用の前記転送情報が与えられて格納されることを特徴とする。
【００２４】
また本発明のデータ転送制御回路は、さらに、前記ＤＭＡ設定レジスタセットに接続され、それぞれの前記ＤＭＡ設定レジスタセットの書き込み可能又は不可に関する状態を制御するステートマシン制御回路を備え、
ｉ回目のＤＭＡ転送用の転送情報を一方の前記ＤＭＡ設定レジスタセットが与えられて書き込み、この書き込みが終了し、前記ＤＭＡ設定レジスタに書き込んだＤＭＡ起動ビットがオン状態になると、前記ステートマシン制御回路がＤＭＡ転送のリクエスト信号を外部に出力し、前記ステートマシン制御回路がＤＭＡ転送のアクノリッジ信号を外部から与えられ、
前記一方のＤＭＡ設定レジスタセットに格納された前記転送情報に基づき、前記ＤＭＡデータ制御回路が、前記少なくとも二つのメモリ、あるいは前記少なくとも一つのメモリとＩ／Ｏインタフェース回路との間でのＤＭＡ転送を制御し、この動作と並行して、（ｉ＋１）回目のＤＭＡ転送用の転送情報を他方の前記ＤＭＡ設定レジスタセットが与えられて書き込むことを特徴とする。
【００２５】
また本発明のデータ転送制御回路は、プロセッサと、
前記プロセッサに接続されたプロセッサバスと、
少なくとも二つのメモリ、あるいは少なくとも一つのメモリとＩ／Ｏインタフェース回路とに接続されたメモリＩ／Ｏバスと、
前記プロセッサバスと前記メモリＩ／Ｏバスとを接続し又は分離するバスブリッジと、
第１のＤＭＡ内部バスを介して前記プロセッサバスに接続されており、前記プロセッサからＤＭＡ転送に必要な転送情報を与えられて格納する少なくとも二つのＤＭＡ設定レジスタセットと、
前記ＤＭＡ設定レジスタセットに接続され、それぞれの前記ＤＭＡ設定レジスタセットの書き込み可能又は不可に関する状態を制御するステートマシン制御回路と、
第２のＤＭＡ内部バスを介して前記メモリＩ／Ｏバスに接続されており、前記ＤＭＡ設定レジスタセットに格納された前記転送情報に基づいて、前記ＤＭＡ内部バスに接続された少なくとも二つのメモリ、あるいは少なくとも一つのメモリとＩ／Ｏインタフェース回路との間でのＤＭＡ転送を制御するＤＭＡデータ制御回路とを備え、
前記プロセッサから出力されたｉ回目のＤＭＡ転送用の転送情報を一方の前記ＤＭＡ設定レジスタセットが書き込み、この書き込みが終了し、前記ＤＭＡ設定レジスタに書き込んだＤＭＡ起動ビットがオン状態になると、前記ステートマシン制御回路が前記プロセッサへＤＭＡ転送のリクエスト信号を出力し、
前記プロセッサが前記バスブリッジを制御して前記プロセッサバスと前記メモリＩ／Ｏバスとを分離し、前記ステートマシン制御回路にＤＭＡ転送のアクノリッジ信号を出力し、
前記一方のＤＭＡ設定レジスタセットに格納された前記転送情報に基づき、前記ＤＭＡデータ制御回路が、前記少なくとも二つのメモリ、あるいは前記少なくとも一つのメモリとＩ／Ｏインタフェース回路との間でのＤＭＡ転送を制御し、この動作と並行して、前記プロセッサから出力された（ｉ＋１）回目のＤＭＡ転送用の転送情報を他方の前記ＤＭＡ設定レジスタセットが書き込むことを特徴とする。
【００２６】
あるいは本発明のデータ転送制御回路は、バスブリッジの替わりに、独立した第１、第２のプロセッサバスと、これにそれぞれ独立して接続された第１、第２のメモリＩ／Ｏバスとを備え、ＤＭＡ転送の制御と転送情報の書き込みとに対してそれぞれ独立して用いるものである。
【００２７】
また本発明のデータ転送制御方法は、それぞれの上記構成を用いてＤＭＡ転送制御を行う方法である。
【００２８】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
【００２９】
（１）実施の形態１
本発明の実施の形態１によるデータ転送制御回路の回路構成を図１に示す。
【００３０】
ＤＭＡコントローラＤＭＡＣ１１は、二つのＤＭＡ設定レジスタセットＲＳ１１及びＲＳ１２と、ＤＭＡデータ制御回路ＤＣＣ１１とを備えている。
【００３１】
ＤＭＡ設定レジスタセットＲＳ１１には、ＤＭＡリクエスト信号ＲＳＳ１１を、外部に設けられ図示されていないプロセッサに転送し、ＤＭＡアクノリッジ信号ＡＳ１１をプロセッサから与えられる信号線が接続され、外部に設けられ図示されていないプロセッサバスに接続されたＤＭＡ内部バスＩＢ１１が接続され、ＤＭＡデータ制御回路ＤＣＣ１１にＤＭＡ制御信号ＣＳ１１を出力する信号線が接続されている。
【００３２】
ＤＭＡ設定レジスタセットＲＳ１２には、ＤＭＡリクエスト信号ＲＳＳ１１をプロセッサに転送し、ＤＭＡアクノリッジ信号ＡＳ１１をプロセッサから与えられる信号線が接続され、プロセッサバスに接続されたＤＭＡ内部バスＩＢ１１が接続され、ＤＭＡデータ制御回路ＤＣＣ１１にＤＭＡ制御信号ＣＳ１２を出力する信号線が接続されている。
【００３３】
ＤＭＡデータ制御回路ＤＣＣ１１は、外部に設けられ図示されていない少なくとも二つのメモリやＩ／Ｏインタフェース回路が接続された、外部に設けられ図示されていないメモリＩ／Ｏバスに接続されたＤＭＡ内部バスＩＢ１２が接続されている。
【００３４】
以下に、ＤＭＡコントローラＤＭＡＣ１１内部の動作を説明する。
【００３５】
１）プロセッサが実行するソフトウェアにより二つのＤＭＡ設定レジスタセットＲＳ１１、ＲＳ１２のうち一方（ＲＳ１１）を特定し、一回目のＤＭＡ転送に必要な情報がプロセッサからＤＭＡ内部バスＩＢ１０１を通り、ＤＭＡ設定レジスタセットＲＳ１１へ書き込まれる。
【００３６】
２）ＤＭＡ設定レジスタセットＲＳ１１から、ＤＭＡリクエスト信号ＲＳＳ１１が発信されてプロセッサへ転送される。
【００３７】
３）プロセッサからＤＭＡアクノリッジ信号ＡＳ１１が発信され、ＤＭＡ設定レジスタセットＲＳ１１が受信する。
【００３８】
４）一回目のＤＭＡ転送を行なうため、ＤＭＡ転送に必要な情報がＤＭＡ制御信号ＣＳ１１としてＤＭＡ設定レジスタセットＲＳ１１からＤＭＡデータ制御回路ＤＣＣ１１へ転送される。
【００３９】
５）ＤＭＡデータ制御回路ＤＣＣ１１が、一回目のＤＭＡ転送動作をＤＭＡ内部バスＩＢ１２を用いて制御する。これにより、ＤＭＡ内部バスＩＢ１２に接続されたメモリＩ／Ｏバスにおいて、メモリ間、あるいはメモリとＩ／Ｏインタフェース回路との間で一回目のＤＭＡ転送が行われる。
【００４０】
この間、プロセッサが実行するソフトウェアにより二つのＤＭＡ設定レジスタセットＲＳ１１、ＲＳ１２のうち他方（ＲＳ１２）を特定し、二回目のＤＭＡ転送に必要な情報がプロセッサからＤＭＡ内部バスＩＢ１１を通り、ＤＭＡ設定レジスタセットＲＳ１２へ格納される。
【００４１】
６）ＤＭＡ設定レジスタセットＲＳ１２から、ＤＭＡリクエスト信号ＲＳＳ１１が発信されてプロセッサへ転送される。
【００４２】
７）プロセッサがＤＭＡアクノリッジ信号ＡＳ１１を発信し、ＤＭＡ設定レジスタセットＲＳ１２が受信する。
【００４３】
８）二回目のＤＭＡ転送を行なうため、ＤＭＡ転送に必要な情報がＤＭＡ制御信号ＣＳ１２としてＤＭＡ設定レジスタセットＲＳ１２からＤＭＡデータ制御回路ＤＣＣ１１へ転送される。
【００４４】
９）ＤＭＡデータ制御回路ＤＣＣ１１が二回目のＤＭＡ転送動作を、ＤＭＡ内部バスＩＢ１２を用いて制御する。これにより、ＤＭＡ内部バスＩＢ１２に接続されたメモリＩ／Ｏバスにおいて、メモリ間、あるいはメモリとＩ／Ｏインタフェース回路との間で二回目のＤＭＡ転送が行われる。
【００４５】
この間、プロセッサが実行するソフトウェアにより二つのＤＭＡ設定レジスタセットＲＳ１１、ＲＳ１２のうち、一回目と同様に一方（ＲＳ１１）を特定し、三回目のＤＭＡ転送に必要な情報がプロセッサからＤＭＡ内部バスＩＢ１１を通り、ＤＭＡ設定レジスタセットＲＳ１１へ格納される。
【００４６】
これ以降、上記動作２）〜９）を繰り返す。
【００４７】
本実施の形態１によれば、ＤＭＡ設定レジスタセットを二つ備えたことで、（ｉ＋１）（ｉは１以上の整数）回目のＤＭＡ転送を行うために必要な情報をＤＭＡ設定レジスタセットに設定することを、ｉ回目のＤＭＡ転送期間中に行うことができるので、ｉ回目のＤＭＡ転送が終了するまで待つ必要が無く、転送効率が向上する。
【００４８】
（２）実施の形態２
本発明の実施の形態２によるデータ転送制御回路の回路構成を図２に示す。
【００４９】
ＤＭＡコントローラＤＭＡＣ２１は、二つのＤＭＡ設定レジスタセットＲＳ２１及びＲＳ２２と、ＤＭＡデータ制御回路ＤＣＣ２１と、さらにステートマシン制御回路ＳＭＣＣ２１とを備えている。
【００５０】
ＤＭＡ設定レジスタセットＲＳ２１には、外部に設けられ図示されていないプロセッサに接続されたＤＭＡ内部バスＩＢ２１が接続され、ＤＭＡデータ制御回路ＤＣＣ２１にＤＭＡ制御信号ＣＳ２１を出力する信号線が接続され、ステートマシン制御回路ＳＭＣＣ２１にステート信号ＳＳ２１を出力し、ステート信号ＳＳ２２をステートマシン制御回路ＳＭＣＣ２１から与えられる信号線が接続されている。
【００５１】
ＤＭＡ設定レジスタセットＲＳ２２には、外部に設けられ図示されていないプロセッサバスに接続されたＤＭＡ内部バスＩＢ２２が接続され、ＤＭＡデータ制御回路ＤＣＣ２１にＤＭＡ制御信号ＣＳ２２を出力する信号線が接続され、ステートマシン制御回路ＳＭＣＣ２１にステート信号ＳＳ２３を出力し、ステート信号ＳＳ２４をステートマシン制御回路ＳＭＣＣ２１から与えられる信号線が接続されている。
【００５２】
ステートマシン制御回路ＳＭＣＣ２１は、プロセッサにＤＭＡリクエスト信号ＲＳＳ２１を転送し、ＤＭＡアクノリッジ信号ＡＳ２１をプロセッサから与えられ、リセット信号Ｒ２１を与えられる信号線が接続されている。
【００５３】
ＤＭＡデータ制御回路ＤＣＣ２１は、外部に設けられ図示されていない少なくとも二つのメモリやＩ／Ｏインタフェース回路が接続された、外部に設けられ図示されていないメモリＩ／Ｏバスに接続されたＤＭＡ内部バスＩＢ２２が接続されている。
【００５４】
以下に、ＤＭＡコントローラＤＭＡＣ２１内部の動作を説明する。
【００５５】
１）本実施の形態２では上記実施の形態１と異なり、プロセッサが実行するソフトウェアにより、二つのＤＭＡ設定レジスタセットＲＳ２１、ＲＳ２２のうち一方を特定する必要が無く、ＤＭＡ設定レジスタセットが１つ配置されている場合と同様なプログラムで動作することができる。これは、ステートマシン制御回路ＳＭＣＣ２１の制御により、ＤＭＡ設定レジスタセットＲＳ２１、ＲＳ２２のうちいずれか一方のみが転送情報の書き込みが可能となり、他方は書き込み不可となることによる。一回目のＤＭＡ転送に必要な情報がプロセッサからＤＭＡ内部バスＩＢ２１を通り、一方のＤＭＡ設定レジスタセットＲＳ２１に書き込まれる。
【００５６】
２）ＤＭＡ設定レジスタセットＲＳ２１からステート信号ＳＳ２２を通じて、ステートマシン制御回路ＳＭＣＣ２１にＤＭＡ転送要求が出される。
【００５７】
３）ステートマシン制御回路ＳＭＣＣ２１からプロセッサへ、ＤＭＡリクエスト信号ＲＳＳ２１が発信される。
【００５８】
４）プロセッサからＤＭＡアクノリッジ信号ＡＳ２１が発信され、ステートマシン制御回路ＳＭＣＣ２１が受信する。
【００５９】
５）ＤＭＡ転送可能であることが、ステート信号ＳＳ２１によりＤＭＡ設定レジスタセットＲＳ１１に発信される。
【００６０】
６）一回目のＤＭＡ転送を行なうため、ＤＭＡ転送に必要な情報が、ＤＭＡ制御信号ＣＳ２１を通してＤＭＡ設定レジスタセットＲＳ２１からＤＭＡデータ制御回路ＤＣＣ２１へ転送される。
【００６１】
７）ＤＭＡデータ制御回路ＤＣＣ２１が、一回目のＤＭＡ転送動作をＤＭＡ内部バスＩＢ２２を用いて制御する。
【００６２】
これにより、ＤＭＡ内部バスＩＢ２２に接続されたメモリＩ／Ｏバスにおいて、メモリ間、あるいはメモリとＩ／Ｏインタフェース回路との間で一回目のＤＭＡ転送が行われる。
【００６３】
この間、プロセッサがソフトウェアを実行することにより、二回目のＤＭＡ転送に必要な情報がＤＭＡ内部バスＩＢ２１を通り、ＤＭＡ設定レジスタセットＲＳ２２に書き込まれる。
【００６４】
８）ＤＭＡ設定レジスタセットＲＳ２２から、それぞれステート信号ＳＳ２４を通じて、ステートマシン制御回路ＳＭＣＣ２１にＤＭＡ転送要求が出される。
【００６５】
９）ステートマシン制御回路ＳＭＣＣ２２からプロセッサへ、ＤＭＡリクエスト信号ＲＳＳ２３が発信される。
【００６６】
１０）プロセッサからＤＭＡアクノリッジ信号ＡＳ２１が発信され、ステートマシン制御回路ＳＭＣＣ２１が受信する。
【００６７】
１１）ＤＭＡ転送可能であることが、ステート信号ＳＳ２３によりＤＭＡ設定レジスタセットＲＳ２２に発信される。
【００６８】
１２）二回目のＤＭＡ転送を行なうため、ＤＭＡ転送に必要な情報が、ＤＭＡ制御信号ＣＳ２２を通してＤＭＡ設定レジスタセットＲＳ２２からＤＭＡデータ制御回路ＤＣＣ２１へ転送される。
【００６９】
１３）ＤＭＡデータ制御回路ＤＣＣ２１が、二回目のＤＭＡ転送動作をＤＭＡ内部バスＩＢ２２を用いて制御する。
【００７０】
これにより、ＤＭＡ内部バスＩＢ２２に接続されたメモリＩ／Ｏバスにおいて、メモリ間、あるいはメモリとＩ／Ｏインタフェース回路との間で二回目のＤＭＡ転送が行われる。
【００７１】
この間、プロセッサがソフトウェアを実行することにより、三回目のＤＭＡ転送に必要な情報がＤＭＡ内部バスＩＢ２１を通り、ＤＭＡ設定レジスタセットＲＳ２１に格納される。
【００７２】
これ以降、本実施の形態では上記動作２）〜１３）を繰り返す。
【００７３】
本実施の形態２によっても、上記実施の形態１と同様に、ＤＭＡ設定レジスタセットを二つ備えたことで、（ｉ＋１）回目のＤＭＡ転送を行うために必要な情報をＤＭＡ設定レジスタセットに設定することを、ｉ回目のＤＭＡ転送期間中に行うことができるので、ｉ回目のＤＭＡ転送が終了するまで待つ必要が無く、転送効率が向上する。
【００７４】
また本実施の形態２によれば、ステートマシン制御回路ＳＭＣＣ２１を設けたことにより、プロセッサが実行するソフトウェアによって二つのＤＭＡ設定レジスタセットＲＳ１１、ＲＳ１２のうちのいずれか一方を特定する必要が無く、ＤＭＡ設定レジスタセットが１つ配置されている場合と同様に簡易なプログラムで動作させることができる。
【００７５】
（３）実施の形態３
本発明の実施の形態３のＤＭＡコントローラＤＭＡＣ３１について、図３を用いて説明する。
【００７６】
上記実施の形態２のデータ転送制御回路は、プロセッサ、メモリ、Ｉ／Ｏインタフェース回路、さらにはプロセッサに接続されたプロセッサバス、メモリ、Ｉ／Ｏインタフェース回路に接続されたメモリＩ／Ｏバス、プロセッサバスとメモリ／ＩＯバスとを接続するバスブリッジを備えておらず、外部に配置されたこれらのものとの間でＤＭＡコントローラＤＭＡＣ２１がデータの送受信を行う。
【００７７】
これに対し、本実施の形態３によるデータ転送制御回路は、プロセッサＰＲＣ３１、二つのメモリＭ３１及びＭ３２、Ｉ／Ｏインタフェース回路Ｉ／Ｏ３１、プロセッサバスＰＢ３１、メモリＩ／ＯバスＭＢ３１、バスブリッジＢＢ３１を備えている点で、上記実施の形態２と相違する。またこのデータ転送制御回路は、上記実施の形態２と同様の構成として、ＤＭＡ設定レジスタセットＲＳ３１及びＲＳ３２、ステートマシン制御回路ＳＭＣＣ３１、ＤＭＡデータ制御回路ＤＣＣ３１を有するＤＭＡコントローラＤＭＡＣ３１を備えている。
【００７８】
バスブリッジＢＢ３１を介してプロセッサバスＰＢ３１とメモリＩ／ＯバスＭＢ３１とが接続されている。
【００７９】
ＤＭＡ設定レジスタセットＲＳ３１には、プロセッサＰＲＣ３１に接続されたプロセッサバスＰＢ３１に接続されているＤＭＡ内部バスＩＢ３１が接続され、ＤＭＡデータ制御回路ＤＣＣ３１にＤＭＡ制御信号ＣＳ３１を出力する信号線が接続され、ステートマシン制御回路ＳＭＣＣ３１にステート信号ＳＳ３２を出力し、ステート信号ＳＳ３１をステートマシン制御回路ＳＭＣＣ３１から与えられる信号線が接続されている。
【００８０】
ＤＭＡ設定レジスタセットＲＳ３２には、ＤＭＡ内部バスＩＢ３１が接続され、ＤＭＡデータ制御回路ＤＣＣ３２にＤＭＡ制御信号ＣＳ３４を出力する信号線が接続され、ステートマシン制御回路ＳＭＣＣ３１にステート信号ＳＳ３４を出力し、ステート信号ＳＳ３３をステートマシン制御回路ＳＭＣＣ３１から与えられる信号線が接続されている。
【００８１】
ＤＭＡデータ制御回路ＤＣＣ３１には、メモリＩ／ＯバスＭＢ３１に接続されたＤＭＡ内部バスＩＢ３２が接続されている。
【００８２】
ステートマシン制御回路ＳＭＣＣ３１には、プロセッサＰＲＣ３１にＤＭＡリクエスト信号ＲＳＳ３１を転送し、ＤＭＡアクノリッジ信号ＡＳ３１をプロセッサＰＲＣ３１から与えられ、リセット信号Ｒ３１を与えられる信号線が接続されている。
【００８３】
以下に、本実施の形態３の動作について説明する。
【００８４】
１）一回目のＤＭＡ転送に必要な情報が、プロセッサＰＲＣ３１からプロセッサバスＰＢ３１、ＤＭＡ内部バスＩＢ３１を通り、ＤＭＡ設定レジスタセットＲＳ３１へ書き込まれる。
【００８５】
２）ＤＭＡ設定レジスタセットＲＳ３１から、ステート信号ＳＳ３２を通じて、ステートマシン制御回路ＳＭＣＣ３１にＤＭＡ転送要求が出される。
【００８６】
３）ステートマシン制御回路ＳＭＣＣ３１からプロセッサＰＲＣ３１へ、ＤＭＡリクエスト信号ＲＳＳ３１が発信される。
【００８７】
４）プロセッサＰＲＣ３１がメモリＩ／ＯバスＭＢ３１をＤＭＡコントローラＤＭＡＣ３１に開放するため、バスブリッジＢＢ３１に対してメモリＩ／ＯバスＭＢ３１の開放処理を行う。これにより、プロセッサバスＰＢ３１とメモリＩ／ＯバスＭＢ３１とが分離される。
【００８８】
５）プロセッサＰＲＣ３１が、メモリＩ／ＯバスＭＢ３１を開放したことをＤＭＡコントローラＤＭＡＣ３１に伝えるため、ＤＭＡアクノリッジ信号ＡＳ３１を発信する。
【００８９】
６）ＤＭＡアクノリッジ信号ＡＳ３１を、ステートマシン制御回路ＳＭＣＣ３１が受信する。
【００９０】
７）ＤＭＡ転送可能であることが、ステート信号ＳＳ３１によりＤＭＡ設定レジスタセットＲＳ３１に発信される。
【００９１】
８）一回目のＤＭＡ転送を行なうため、ＤＭＡ転送に必要な情報が、ＤＭＡ制御信号ＣＳ３１を通してＤＭＡ設定レジスタセットＲＳ３１からＤＭＡデータ制御回路ＤＣＣ３１へ転送される。
【００９２】
９）ＤＭＡデータ制御回路ＤＣＣ３１が、一回目のＤＭＡ転送動作をＤＭＡ内部バスＩＢ３２を用いて制御する。具体的には、ＤＭＡデータ制御回路ＤＣＣ３１が、ＤＭＡ設定レジスタセットＲ３１からのＤＭＡ転送情報に従い、メモリＭ３１からデータを受け取る。
【００９３】
１０）ＤＭＡデータ制御回路ＤＣＣ３１が、メモリＭ３１から受け取ったデータをメモリＭ３２、あるいはＩ／Ｏインタフェース回路Ｉ／Ｏ３１を通じて外部に接続された装置へ転送する。
【００９４】
１１）上記９）、１０）の期間中に、プロセッサＰＲＣ３１がソフトウェアを実行することにより、二回目のＤＭＡ転送に必要な情報が、プロセッサＰＲＣ３１からプロセッサバスＰＢ３１、ＤＭＡ内部バスＩＢ３１を通り、ＤＭＡ設定レジスタセットＲＳ３２へ与えられて格納される。
【００９５】
１２）ＤＭＡ設定レジスタセットＲＳ３２から、ステート信号ＳＳ３４が出力されてステートマシン制御回路ＳＭＣＣ３１にＤＭＡ転送要求が出される。
【００９６】
１３）ステートマシン制御回路ＳＭＣＣ３１から、プロセッサＰＲＣ３１にＤＭＡリクエスト信号ＲＳＳ３１が出される。
【００９７】
１４）プロセッサＰＲＣ３１がバスブリッジＢＢ３１を制御してプロセッサバスＰＢ３１からメモリＩ／ＯバスＭＢ３１を分離し、ＤＭＡアクノリッジ信号ＡＳ３１をステートマシン制御回路ＳＭＣＣ３１に出力する。
【００９８】
１５）ステートマシン制御回路ＳＭＣＣ３１から、ＤＭＡ転送が可能であることを伝えるステート信号ＳＳ３３がＤＭＡ設定レジスタセットＲＳ３２に出される。
【００９９】
１６）二回目のＤＭＡ転送を行なうため、ＤＭＡ転送の情報がＤＭＡ制御信号ＣＳ３２としてＤＭＡ設定レジスタセットＲＳ３２からＤＭＡデータ制御回路ＤＣＣ３１に転送される。
【０１００】
１７）ＤＭＡデータ制御回路ＤＣＣ３１が、ＤＭＡ設定レジスタセットＲＳ３２からのＤＭＡ転送情報に従い、メモリＭ３１からデータを受け取る。
【０１０１】
１８）ＤＭＡデータ制御回路ＤＣＣ３１が、メモリＭ３１から受け取ったデータをメモリＭ３２、あるいはＩ／Ｏインタフェース回路Ｉ／Ｏ３１に転送する。
【０１０２】
この間、プロセッサＰＲＣ３１がソフトウェアを実行することにより、三回目のＤＭＡ転送に関する情報がＤＭＡ内部バスＩＢ３１を通り、ＤＭＡ設定レジスタセットＲＳ３１、ＲＳ３２へ格納される。
【０１０３】
これ以降、本実施の形態３では上記２）〜１８）の動作を繰り返す。
【０１０４】
上記動作を図４にタイミングフローとして示す。
【０１０５】
ａ期間）この期間は、プロセッサがメモリＩ／ＯバスＭＢ３１を使用する権利を有する。ＤＭＡ設定レジスタセットＲＳ３１に対して一回目のＤＭＡ転送に必要な情報の設定を行う。ＤＭＡ設定レジスタセットＲＳ３１が有する複数のレジスタのうち最後のレジスタへの設定が終わると、ＤＭＡリクエスト信号ＲＳＳ３１がステートマシン制御回路ＳＭＣＣ３１からプロセッサＰＲＣ３１へ出力され、プロセッサＰＲＣ３１がメモリＩ／ＯバスＭＢ３１の開放を了解するとＤＭＡアクノリッジ信号がＡＳ３１がプロセッサＰＲＣ３１からステートマシン制御回路ＳＭＣＣ３１へ出力される。
【０１０６】
ｂ期間）この期間は、ＤＭＡコントローラＤＭＡＣ３１がメモリＩ／ＯバスＭＢ３１を使用する権利を有する。ＤＭＡ設定レジスタセットＲＳ３１に設定された情報に従い、ＤＭＡデータ制御回路ＳＭＣＣ３１が１回目のＤＭＡ転送の制御を行う。この期間中にＤＭＡ転送動作に平行して、ＤＭＡレジスタセットＲＳ３２に対して二回目のＤＭＡ転送に必要な情報の設定を行う。ＤＭＡレジスタセットＲＳ３２が有する複数のレジスタのうち最後のレジスタへの設定が終わると、ＤＭＡリクエスト信号ＲＳＳ３１がステートマシン制御回路ＳＭＣＣ３１からプロセッサＰＲＣ３１へ出力され、プロセッサＰＲＣ３１がメモリＩ／ＯバスＭＢ３１の開放を了解するとＤＭＡアクノリッジ信号がＡＳ３１がプロセッサＰＲＣ３１からステートマシン制御回路ＳＭＣＣ３１へ出力される。
【０１０７】
ｃ期間）この期間もｂ期間と同様に、ＤＭＡコントローラＤＭＡＣ３１がメモリＩ／ＯバスＭＢ３１を使用する権利を有する。ＤＭＡ設定レジスタセットＲＳ３２に設定された情報に従い、ＤＭＡデータ制御回路ＳＭＣＣ３１が二回目のＤＭＡ転送の制御を行う。この期間中にＤＭＡ転送動作に平行して、ＤＭＡレジスタセットＲＳ３１に対して三回目のＤＭＡ転送に必要な情報の設定を行う。ＤＭＡレジスタセットＲＳ３１が有する複数のレジスタのうち最後のレジスタへの設定が終わると、ＤＭＡリクエスト信号ＲＳＳ３１がステートマシン制御回路ＳＭＣＣ３１からプロセッサＰＲＣ３１へ出力され、プロセッサＰＲＣ３１がメモリＩ／ＯバスＭＢ３１の開放を了解するとＤＭＡアクノリッジ信号がＡＳ３１がプロセッサＰＲＣ３１からステートマシン制御回路ＳＭＣＣ３１へ出力される。
【０１０８】
ｄ期間）この期間もｂ期間、ｃ期間と同様に、ＤＭＡコントローラＤＭＡＣ３１がメモリＩ／ＯバスＭＢ３１を使用する権利を有する。ＤＭＡ設定レジスタセットＲＳ３１に設定された情報に従い、ＤＭＡデータ制御回路ＳＭＣＣ３１が三回目のＤＭＡ転送の制御を行う。この期間中にＤＭＡ転送動作に平行して、ＤＭＡレジスタセットＲＳ３２に対して四回目のＤＭＡ転送に必要な情報の設定を行う。ＤＭＡレジスタセットＲＳ３２が有する複数のレジスタのうち最後のレジスタへの設定が終わると、ＤＭＡリクエスト信号ＲＳＳ３１がステートマシン制御回路ＳＭＣＣ３１からプロセッサＰＲＣ３１へ出力され、プロセッサＰＲＣ３１がメモリＩ／ＯバスＭＢ３１の開放を了解するとＤＭＡアクノリッジ信号がＡＳ３１がプロセッサＰＲＣ３１からステートマシン制御回路ＳＭＣＣ３１へ出力される。
【０１０９】
本実施の形態３における、ステートマシン制御回路ＳＭＣＣ３１の動作について、図５を用いて説明する。
【０１１０】
１）図示されていない初期化回路からリセット信号Ｒ３１がステートマシン制御回路ＳＭＣＣ３１に入力されると、ステートマシン制御回路ＳＭＣＣ３１が初期状態になる。
【０１１１】
状態１）初期状態になると、ステートマシン制御回路ＳＭＣＣ３１の制御によってＤＭＡ設定レジスタセットＲＳ３１のリード／ライトが可能（enable）状態、ＤＭＡ設定レジスタＲＳ３２のリード／ライトは不可能（disable）状態となる。
【０１１２】
この期間中に、一回目のＤＭＡ転送に必要な情報がプロセッサＰＲＣ３１からＤＭＡ内部バスＩＢ３１を通りＤＭＡ設定レジスタセットＲＳ３１に書き込まれる。
【０１１３】
状態２）ＤＭＡ設定レジスタセットＲＳ３１に情報が書き込まれると、ＤＭＡ設定レジスタセットＲＳ３１における起動ビット（ＤＭＡ設定レジスタセットＲＳ３１における内部信号）がＯＮ状態になり、ＤＭＡ設定レジスタセットＲＳ３３１に設定された転送情報に基づくＤＭＡ転送を行うため、ステートマシン制御回路ＳＭＣＣ３１がＤＭＡリクエスト信号ＲＳＳ３１をプロセッサＰＲＣに出力する。
【０１１４】
この期間中に、ステートマシン制御回路ＳＭＣＣ３１の制御によってＤＭＡ設定レジスタセットＲＳ３２のリード／ライトが可能（enable）、ＤＭＡ設定レジスタセットＲＳ３１のリード／ライトが不可能（disable）となる。
【０１１５】
この状態は、プロセッサＰＲＣ３１からステートマシン制御回路ＳＭＣＣ３１にＤＭＡアクノリッジ信号ＡＳ３１が与えられるまでの間、保持される。
【０１１６】
状態３）プロセッサＰＲＣ３１からＤＭＡアクノリッジ信号ＡＳ３１がステートマシン制御回路ＳＭＣＣ３１に入力されると、ＤＭＡ設定レジスタセットＲＳ３１に設定された情報に従うＤＭＡ転送が可能となる。ＤＭＡ設定レジスタセットＲＳ３１の設定情報が、ＤＭＡ制御信号ＣＳ３１としてＤＭＡデータ制御回路ＤＣＣ３１へ転送される。ＤＭＡデータ制御回路ＤＣＣ３１により、メモリＭ１とメモリＭ２との間、あるいはメモリＭ１又はＭ２とＩ／Ｏインタフェース回路Ｉ／Ｏ３１との間でのＤＭＡ転送が行われる。
【０１１７】
またこの状態３において、プロセッサＰＲＣ３１から次のＤＭＡに関する要求がある場合、二回目のＤＭＡ転送に必要な情報がプロセッサＰＲＣ３１からＤＭＡ内部バスＩＢ３１を通りＤＭＡ設定レジスタセットＲＳ３２へ書き込まれる。この状態３は、一回目のＤＭＡ転送が終了し、かつ二回目のＤＭＡ転送情報がＤＭＡ設定レジスタセットＲＳ３２に書き込まれるまでの間、保持される。
【０１１８】
状態４）ＤＭＡ設定レジスタセットＲＳ３２に転送情報が書き込まれると、ＤＭＡ設定レジスタセットＲＳ３２に含まれる起動ビット（ＤＭＡ設定レジスタセットＲＳ３２の内部信号）がＯＮ状態になり、ＤＭＡ設定レジスタセットＲＳ３２に設定された情報に基づく転送を行うため、ＤＭＡリクエスト信号ＲＳＳ３１をプロセッサＰＲＣ３１に出力する。この期間中に、ステートマシン制御回路ＳＭＣＣ３１の制御によってＤＭＡ設定レジスタセットＲＳ３１のリード／ライトが可能（enable）、ＤＭＡ設定レジスタセットＲＳ３２のリード／ライトが不可能（disable）となる。この状態４は、プロセッサＰＲＣ３１からＤＭＡアクノリッジ信号ＡＳ３１がステートマシン制御回路ＳＭＣＣ３１に入力されるまでの間、保持される。
【０１１９】
また、ＤＭＡ設定レジスタセットＲＳ３２の起動ビットが立たない場合、即ち二回目のＤＭＡ転送がない場合は、この状態４には移らず、状態３から状態１へ戻る。
【０１２０】
状態５）ＤＭＡアクノリッジ信号ＡＳ３１がステートマシン制御回路ＳＭＣＣ３１に入力されると、ＤＭＡ設定レジスタセットＲ３２に設定された転送情報に基づくＤＭＡ転送が可能となる。ＤＭＡ設定レジスタセットＲＳ３２の設定情報が、ＤＭＡ制御信号ＣＳ３２としてＤＭＡデータ制御回路ＤＣＣ３１に転送される。ＤＭＡデータ制御回路ＤＣＣ３１の制御により、メモリＭ１とメモリＭ２との間、あるいはメモリＭ１又はＭ２とＩ／Ｏインタフェース回路Ｉ／Ｏ３１との間でのＤＭＡ転送が行われる。
【０１２１】
プロセッサＰＲＣ３１から三回目のＤＭＡ転送要求がある場合、三回目のＤＭＡ転送に必要な情報がプロセッサＰＲＣ３１からＤＭＡ内部バスＩＢ３１を通りＤＭＡ設定レジスタセットＲＳ３１に書き込まれる。この状態５は、三回目のＤＭＡ転送が終了し、かつ四回目のＤＭＡ転送情報がＤＭＡ設定レジスタセットＲＳ３２に書き込まれるまでの間、保持される。
【０１２２】
状態６）ＤＭＡ設定レジスタセットＲＳ３１に転送情報が書き込まれると、ＤＭＡ設定レジスタセットＲＳ３１の起動ビットがＯＮ状態になる。ステートマシン制御回路ＳＭＣＣ３１からプロセッサＰＲＣ３１にＤＭＡリクエスト信号ＲＳＳ３１が出力される。
【０１２３】
この期間中に、ステートマシン制御回路ＳＭＣＣ３１の制御によってＤＭＡ設定レジスタセットＲＳ３２のリード／ライトが可能（enable）、ＤＭＡ設定レジスタセットＲＳ３１のリード／ライトが不可能（disable）となる。
【０１２４】
この状態６は、ＤＭＡアクノリッジ信号ＡＳ３１がステートマシン制御回路ＳＭＣＣ３１に入力されるまで保持される。また、ＤＭＡ設定レジスタセットＲＳ３１の起動ビットが立たない場合、即ち次のＤＭＡ転送要求が無い場合は、この状態６には移らず、状態５から状態１へ戻る。
【０１２５】
本実施の形態３によれば上記実施の形態２と同様に、ＤＭＡ設定レジスタセットを二つ備えたことで、（ｉ＋１）回目のＤＭＡ転送を行うために必要な情報をＤＭＡ設定レジスタセットに設定することを、ｉ回目のＤＭＡ転送期間中に行うことができるので、ｉ回目のＤＭＡ転送が終了するまで待つ必要が無く、転送効率が向上する。
【０１２６】
また本実施の形態３によれば、ステートマシン制御回路ＳＭＣＣ３１を設けたことにより、プロセッサが実行するソフトウェアによって二つのＤＭＡ設定レジスタセットＲＳ３１、ＲＳ３２のうちのいずれか一方を特定する必要が無く、ＤＭＡ設定レジスタセットが１つ配置されている場合と同様に簡易なプログラムで動作させることができる。
【０１２７】
（４）実施の形態４
本発明の実施の形態４について、図６を用いて説明する。
【０１２８】
上記実施の形態３では、１本のプロセッサバスＰＢ３１とメモリＩ／ＯバスＭＢ３１とがバスブリッジＢＢ３１により接続あるいは分離されるのに対し、本実施の形態は、独立した二つのプロセッサバスＰＢ４１及びＰＢ４２が設けられている点で相違する。
【０１２９】
他の構成は、上記実施の形態３と同様に、ＤＭＡコントローラＤＭＡＣ４１、プロセッサＰＲＣ４１、メモリＭ４１及びＭ４２を有し、またＤＭＡコントローラＤＭＡＣ４１は、ＤＭＡ設定レジスタセットＲＳ４１及びＲＳ４２、ステートマシン制御回路ＳＭＣＣ４１、ＤＭＡデータ制御回路ＤＣＣ４１を有する。
【０１３０】
ＤＭＡ設定レジスタセットＲＳ４１には、プロセッサＰＲＣ４１に接続された二本のプロセッサバスＰＢ４１、ＰＢ４２にそれぞれ接続されているＤＭＡ内部バスＩＢ４１、ＩＢ４２が接続され、ＤＭＡデータ制御回路ＤＣＣ４１にＤＭＡ制御信号ＣＳ４１を出力する信号線が接続され、ステートマシン制御回路ＳＭＣＣ４１にステート信号ＳＳ４２を出力し、ステート信号ＳＳ４１をステートマシン制御回路ＳＭＣＣ４１から与えられる信号線が接続されている。
【０１３１】
ＤＭＡ設定レジスタセットＲＳ４２には、プロセッサＰＲＣ４１に接続された二本のプロセッサバスＰＢ４１、ＰＢ４２にそれぞれ接続されているＤＭＡ内部バスＩＢ４１、ＩＢ４２が接続され、ＤＭＡデータ制御回路ＤＣＣ４１にＤＭＡ制御信号ＣＳ４２を出力する信号線が接続され、ステートマシン制御回路ＳＭＣＣ４１にステート信号ＳＳ４４を出力し、ステート信号ＳＳ４３をステートマシン制御回路ＳＭＣＣ４１から与えられる信号線が接続されている。
【０１３２】
ＤＭＡデータ制御回路ＤＣＣ４１には、メモリＩ／ＯバスＭＢ４１、ＭＢ４２にそれぞれ接続されたＤＭＡ内部バスＩＢ４３、ＩＢ４４が接続されている。
【０１３３】
ステートマシン制御回路ＳＭＣＣ４１には、プロセッサＰＲＣ４１にＤＭＡリクエスト信号ＲＳＳ４１を転送し、ＤＭＡアクノリッジ信号ＡＳ４１をプロセッサＰＲＣ３１から与えられ、またプロセッサＰＲＣ４１、あるいは図示されていない初期化回路からリセット信号Ｒ４１を与えられる信号線が接続されている。
【０１３４】
本実施の形態４では、ＤＭＡ転送に必要な情報設定をプロセッサバスＰＢ４１とＤＭＡ内部バスＩＢ４１とを用いて行っている時、プロセッサバスＰＢ４２とＤＭＡ内部データバスＩＢ４２とを用いて、メモリＭ４１とメモリＭ４２との間、あるいはメモリＭ４１又はＭ４２とＩ／Ｏインタフェース回路Ｉ／Ｏ４１との間でＤＭＡ転送を行う。
【０１３５】
逆に、ＤＭＡ転送に必要な情報設定をプロセッサバスＰＢ４２とＤＭＡ内部バスＩＢ４２とを用いて行っている時、プロセッサバスＰＢ４１とＤＭＡ内部データバスＩＢ４１とを用いて、メモリＭ４１とメモリＭ４２との間、あるいはメモリＭ４１又はＭ４２とＩ／Ｏインタフェース回路Ｉ／Ｏ４１との間でＤＭＡ転送を行う。
【０１３６】
二本のプロセッサバスＰＢ４１及びＰＢ４２、メモリＩ／ＯバスＭＢ４１及びＭＢ４２が設けられている点を除き、他の構成及び転送動作は上記実施の形態３と同様であり、説明を省略する。
【０１３７】
本実施の形態４によれば、上記実施の形態２、３と同様に、ＤＭＡ設定レジスタセットを二つ備えたことで、（ｉ＋１）回目のＤＭＡ転送を行うために必要な情報をＤＭＡ設定レジスタセットに設定することを、ｉ回目のＤＭＡ転送期間中に行うことができるので、ｉ回目のＤＭＡ転送が終了するまで待つ必要が無く、転送効率が向上する。
【０１３８】
また本実施の形態４によれば、上記実施の形態３と同様に、ステートマシン制御回路ＳＭＣＣ４１を設けたことにより、プロセッサが実行するソフトウェアによって二つのＤＭＡ設定レジスタセットＲＳ４１、ＲＳ４２のうちのいずれか一方を特定する必要が無く、ＤＭＡ設定レジスタセットが１つ配置されている場合と同様に簡易なプログラムで動作させることができる。
【０１３９】
さらに、本実施の形態４によれば、独立した二本のプロセッサバスＰＢ４１及びＰＢ４２を設け、それぞれをメモリＩ／ＯバスＭＢ４１及び４２に接続した構成を有することで、メモリＩ／ＯバスＭＢ４１、ＭＢ４２のいずれか一方を転送情報の書き込みに使用し、他方をメモリＭ４１、Ｍ４２、Ｉ／Ｏインタフェース回路Ｉ／Ｏ４１間でのＤＭＡ転送に使用することで、メモリＩ／Ｏバスの使用権に関する制御をより容易に行うことができる。
【０１４０】
上述した実施の形態はいずれも一例であって、本発明を限定するものではなく、本発明の技術的範囲を超えない範囲で様々に変形することが可能である。
【０１４１】
例えば、ＤＭＡ設定レジスタセットを３つ以上備え、順に設定情報を書き込んで転送情報を制御するように構成することもできる。この場合は、ＤＭＡ設定レジスタセットＲＳ１、ＲＳ２、…、ＲＳｎ（ｎは３以上の整数）を備える場合を考えると、期間１でＤＭＡ設定レジスタセットＲＳ１に設定情報を書き込み、期間２でＤＭＡ設定レジスタセットＲＳ１に書き込まれた設定情報に従ってＤＭＡ転送制御を行う動作と並行してＤＭＡ設定レジスタセットＲＳ２に設定情報を書き込み、期間３でＤＭＡ設定レジスタセットＲＳ２に書き込まれた設定情報に従ってＤＭＡ転送制御を行う動作と並行してＤＭＡ設定レジスタセットＲＳ３に設定情報を書き込み、…、期間ｎでＤＭＡ設定レジスタセットＲＳ（ｎ−１）に書き込まれた設定情報に従ってＤＭＡ転送制御を行う動作と並行してＤＭＡ設定レジスタセットＲＳｎに設定情報を書き込み、期間ｎ＋１でＤＭＡ設定レジスタセットＲＳｎに書き込まれた設定情報に従ってＤＭＡ転送制御を行う動作と並行してＤＭＡ設定レジスタセットＲＳ１に設定情報を書き込むことになる。
【０１４２】
【発明の効果】
以上説明したように、本発明のデータ転送制御回路によれば、２つのＤＭＡ設定レジスタセットを備え、メモリやＩ／Ｏインタフェース回路の間において、先行するデータ転送の期間中に次の転送のための転送情報の設定をＤＭＡ設定レジスタセットに行なうことを可能とすることで、先行するデータ転送の終了後に直ちに次のデータ転送を開始することができるため、データ転送の効率が向上する。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態によるデータ転送制御回路の構成を示すブロック図。
【図２】本発明の第２の実施の形態によるデータ転送制御回路の構成を示すブロック図。
【図３】本発明の第３の実施の形態によるデータ転送制御回路の構成を示すブロック図。
【図４】同データ転送制御回路における転送制御方法の手順を示す説明図。
【図５】同データ転送制御回路におけるステートマシン制御回路の動作を示す説明図。
【図６】本発明の第４の実施の形態によるデータ転送制御回路の構成を示すブロック図。
【図７】従来のデータ転送制御回路の構成を示すブロック図。
【図８】同データ転送制御回路における転送制御方法の手順を示す説明図。
【図９】同データ転送制御方法において必要な命令を示した説明図。
【符号の説明】
ＤＭＡＣ１１、ＤＭＡＣ２１、ＤＭＡＣ３１、ＤＭＡＣ４１  ＤＭＡコントローラＤＭＡＣ
ＲＳ１１、ＲＳ１２、ＲＳ２１、ＲＳ２２、ＲＳ３１、ＲＳ３２、ＲＳ４１、ＲＳ４２  ＤＭＡ設定レジスタセットＲＳ
ＤＣＣ１１、ＤＣＣ２１、ＤＣＣ３１、ＤＣＣ４１  ＤＭＡデータ制御回路ＤＣＣ
ＩＢ１１、ＩＢ１２、ＩＢ２１、ＩＢ２２、ＩＢ３１、ＩＢ３２、ＩＢ４１、ＩＢ４２  ＤＭＡ内部バスＩＢ
ＣＳ１１、ＣＳ１２、ＣＳ２１、ＣＳ２２、ＣＳ３１、ＣＳ３２、ＣＳ４１、ＣＳ４２  ＤＭＡ制御信号ＣＳ
ＲＳＳ１１、ＲＳＳ２１、ＲＳＳ３１、ＲＳＳ４１  ＤＭＡリクエスト信号ＲＳＳ
ＡＳ１１、ＡＳ２１、ＡＳ３１、ＡＳ４１  ＤＭＡアクノリッジ信号ＡＳ
Ｒ２１、Ｒ３１、Ｒ４１  リセット信号
ＳＭＣＣ２１、ＳＭＣＣ３１、ＳＭＣＣ４１  ステートマシン制御回路ＳＭＣＣＳＳ２１〜ＳＳ２４、ＳＳ３１〜ＳＳ３４、ＳＳ４１〜Ｓ４４  ステート信号ＳＳ
ＰＲＣ３１、ＰＲＣ４１  プロセッサＰＲＣ
ＰＢ３１、ＰＢ４１、ＰＢ４２  プロセッサバス
Ｉ／Ｏインタフェース回路Ｉ／Ｏ３１  Ｉ／Ｏインタフェース回路Ｉ／Ｏインタフェース回路
ＭＢ３１  メモリＩ／ＯバスＭＢ
Ｍ４１、Ｍ４２  メモリＭ
【図１】
2004206241.tif 000003
【図２】
2004206241.tif 000004
【図３】
2004206241.tif 000005
【図４】
2004206241.tif 000006
【図５】
2004206241.tif 000007
【図６】
2004206241.tif 000008
【図７】
2004206241.tif 000009
【図８】
2004206241.tif 000010
【図９】
2004206241.tif 000011