(57)【要約】　　　（修正有）【課題】データをＣＰＵを介することなく高速で転送可能なデータ転送機構を提供する。【解決手段】ＣＰＵ１からの一方のメモリＡに対するリード指令を他方のメモリＢへのライト指令に変換し、一方のメモリＡに対するライト指令を他方のメモリＢへのリード指令に変換するメモリコントローラ２と、一方のメモリＡのアドレスとは別個のアドレスを他方のメモリＢのアドレスとして生成する機能を有するアドレスカウンタ３と、アドレスカウンタ３において生成されたアドレスを他方のメモリＢへ電送する機能を有するアドレスセレクタ４と、ＣＰＵ１から電送されるアドレス信号をデコードし、各メモリＡ，Ｂをアサートまたはディアサートするセレクト信号を２つのメモリＡ，Ｂに対して同時に電送する機能を有するメモリセレクタ５と、ＣＰＵ１と２つのメモリＡ，Ｂとの間のデータ信号の電送を遮断させる機能を有するデータバスコントローラ６とを備える。【選択図】　　　図１
2004145700.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵから出力されたアドレス信号を２つのメモリへ電送可能にバス接続するとともに、データ信号を前記ＣＰＵおよび前記２つのメモリの３つの間で相互に電送可能にバス接続されており、前記ＣＰＵは、データ転送に関する制御を行うように構成されているデータ転送機構であって、
前記ＣＰＵから、一方のメモリに対しリード指令が与えられた際には、前記リード指令を他方のメモリへのライト指令に変換して前記他方のメモリに対して前記ライト指令を与え、前記一方のメモリに対しライト指令が与えられた際には、前記ライト指令を他方のメモリへのリード指令に変換して前記他方のメモリに対して前記リード指令を与える機能を有するメモリコントローラと、
前記メモリコントローラから前記一方のメモリへのライト指令が与えられた際には、前記一方のメモリのアドレスとは別個独立の任意のアドレスを前記他方のメモリのアドレスとして生成する機能を有するアドレスカウンタと、
前記ＣＰＵから、前記一方のメモリに対しリード指令が与えられた際には、前記ＣＰＵから前記一方のメモリに電送されたアドレス信号のアドレスを前記アドレスカウンタにおいて生成されたアドレスに置換して前記他方のメモリへ電送し、前記ＣＰＵから、前記一方のメモリに対しライト指令が与えられた際には、前記ＣＰＵから前記一方のメモリに電送されたアドレス信号のアドレスを前記他方のメモリへ電送する機能を有するアドレスセレクタと、
前記ＣＰＵから前記一方のメモリおよび前記他方のメモリに対し電送されるアドレス信号をデコードし、各メモリをアサートまたはディアサートするセレクト信号を、前記２つのメモリに対して同時に電送する機能を有するメモリセレクタと、
前記他方のメモリに対しリード指令が与えられた際には、前記ＣＰＵおよび前記２つのメモリの３つの間で相互に電送可能とされたバス上における、前記ＣＰＵと前記２つのメモリとの間のデータ信号の電送を遮断させる機能を有するデータバスコントローラと、
を備えることを特徴とするデータ転送機構。
【請求項２】
ＣＰＵから出力されたアドレス信号を２つのメモリへ電送可能にバス接続するとともに、データ信号を前記ＣＰＵおよび前記２つのメモリの３つの間で相互に電送可能にバス接続されており、前記ＣＰＵは、データ転送に関する制御を行うように構成されているデータ転送機構であって、
通常の速度でデータ転送を行う通常転送モードと、前記通常転送モードよりも早い速度でデータ転送を行う高速転送モードとのいずれかをユーザが選択可能とされ、前記ＣＰＵは、各モードに応じた制御を行うように構成されており、
高速転送モードが選択された場合においては、前記ＣＰＵから、一方のメモリに対しリード指令が与えられた際には、前記リード指令を他方のメモリへのライト指令に変換して前記他方のメモリに対して前記ライト指令を与え、前記一方のメモリに対しライト指令が与えられた際には、前記ライト指令を他方のメモリへのリード指令に変換して前記他方のメモリに対して前記リード指令を与え、通常転送モードが選択された場合においては、前記ＣＰＵから与えられる、前記他方のメモリに対するライト指令またはリード指令をそのまま前記他方のメモリに与える機能を有するメモリコントローラと、
高速転送モードが選択された場合において、前記メモリコントローラから前記一方のメモリへのライト指令が与えられた際、前記一方のメモリのアドレスとは別個独立の任意のアドレスを前記他方のメモリのアドレスとして生成する機能を有するアドレスカウンタと、
高速転送モードが選択された場合において、前記ＣＰＵから、前記一方のメモリに対しリード指令が与えられた際は、前記ＣＰＵから前記一方のメモリに電送されたアドレス信号のアドレスを前記アドレスカウンタにおいて生成されたアドレスに置換して前記他方のメモリへ電送し、
高速転送モードが選択された場合において、前記ＣＰＵから、前記一方のメモリに対しライト指令が与えられた際、および、前記通常転送モードが選択された際には、前記ＣＰＵから前記一方のメモリに電送されたアドレス信号のアドレスを前記他方のメモリへ電送する機能を有するアドレスセレクタと、
前記ＣＰＵから前記一方のメモリおよび前記他方のメモリに対し電送されるアドレス信号をデコードし、高速転送モードが選択された場合においては、各メモリをアサートまたはディアサートするセレクト信号を、前記２つのメモリに対して同時に電送し、通常転送モードが選択された場合においては、前記ＣＰＵから与えられる、前記一方のメモリまたは他方のメモリに対するセレクト信号をそのまま前記一方のメモリまたは他方のメモリに与える機能を有するメモリセレクタと、
高速転送モードが選択された場合であって、前記他方のメモリに対しリード指令が与えられた際には、前記ＣＰＵおよび前記２つのメモリの３つの間で相互に電送可能とされたバス上における、前記ＣＰＵと前記２つのメモリとの間のデータ信号の電送を遮断させる機能を有するデータバスコントローラと
を備えることを特徴とするデータ転送機構。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、２つのメモリ間において、高速でデータ転送を行うことを可能とするデータ転送機構に関する。
【０００２】
【従来の技術】
図１０は従来のデータ転送機構を示すブロック図である。
【０００３】
このデータ転送機構においては、２つのメモリ間のデータ転送に関する指令を与えるＣＰＵと、データの転送元となるメモリＡと転送先となるメモリＢとを有している。
【０００４】
前記ＣＰＵと前記メモリＡ間および前記ＣＰＵとメモリＢ間にはアドレスバスおよびデータバスが接続されており、前記アドレスバスを介してアドレス信号が電送され、また、データバスを介してデータ信号が電送されるように構成されている。
【０００５】
さらに、前記ＣＰＵと前記メモリＡ間および前記ＣＰＵとメモリＢ間には、前記ＣＰＵから前記メモリＡおよびメモリＢに対し、リード指令およびライト指令が与えられるように構成されている。
【０００６】
そして、メモリＡからメモリＢへデータを転送する場合、ＣＰＵは、まず、リードサイクルにおいて、メモリＡに対してアドレスおよびリード指令（リードコマンド）を与え、当該メモリＡの該当アドレスのデータを前記データバスを介してＣＰＵ内のレジスタに取り込む。
【０００７】
続いて、ライトサイクルにおいて、メモリＢに対してアドレスと前記レジスタに取り込んだデータ、およびライト指令（ライトコマンド）を与え、前記データをメモリＢの該当アドレスに書き込むようにする。
【０００８】
つまり、動作的に説明すると、メモリＡに対するリード動作と、メモリＢに対するライト動作が必要となる。
【０００９】
そして、夫々の１回の動作につき、アドレスの出力（サイクル１）、コマンド出力（サイクル２）、および各コマンドの出力停止（インターバル確保：サイクル３）の３つのサイクルで構成されていると、１回のデータ転送のためには、合計で６サイクルを必要としていた。
【００１０】
【特許文献１】
特開平６−１３１２９２号公報
【特許文献２】
特開平７−１４１２８７号公報
【００１１】
【発明が解決しようとする課題】
このように、２つのメモリＡ，Ｂ間におけるデータ転送に、リード動作およびライト動作に関する６サイクルが必要となると、当然にデータ転送速度が遅くなるため、問題点として指摘されていた。
【００１２】
そこで、本発明は、データをＣＰＵを介することなく高速で転送可能なデータ転送機構を提供することを目的とするものである。
【００１３】
【課題を解決するための手段】
前述した目的を達成するため、本発明のデータ転送機構は、ＣＰＵから、一方のメモリに対しリード指令が与えられた際には、前記リード指令を他方のメモリへのライト指令に変換して前記他方のメモリに対して前記ライト指令を与え、前記一方のメモリに対しライト指令が与えられた際には、前記ライト指令を他方のメモリへのリード指令に変換して前記他方のメモリに対して前記リード指令を与える機能を有するメモリコントローラと、前記メモリコントローラから前記一方のメモリへのライト指令が与えられた際には、前記一方のメモリのアドレスとは別個独立の任意のアドレスを前記他方のメモリのアドレスとして生成する機能を有するアドレスカウンタと、前記ＣＰＵから、前記一方のメモリに対しリード指令が与えられた際には、前記ＣＰＵから前記一方のメモリに電送されたアドレス信号のアドレスを前記アドレスカウンタにおいて生成されたアドレスに置換して前記他方のメモリへ電送し、前記ＣＰＵから、前記一方のメモリに対しライト指令が与えられた際には、前記ＣＰＵから前記一方のメモリに電送されたアドレス信号のアドレスを前記他方のメモリへ電送する機能を有するアドレスセレクタと、前記ＣＰＵから前記一方のメモリおよび前記他方のメモリに対し電送されるアドレス信号をデコードし、各メモリをアサートまたはディアサートするセレクト信号を、前記２つのメモリに対して同時に電送する機能を有するメモリセレクタと、前記他方のメモリに対しリード指令が与えられた際には、前記ＣＰＵおよび前記２つのメモリの３つの間で相互に電送可能とされたバス上における、前記ＣＰＵと前記２つのメモリとの間のデータ信号の電送を遮断させる機能を有するデータバスコントローラとを備えることを特徴とする。
【００１４】
本発明のデータ転送機構によれば、転送元としての一方のメモリにリード指令とアドレスを与えると同時に、転送先となる他方のメモリにもメモリコントローラを介してライト指令を与え、アドレスカウンタおよびアドレスセレクタを介してアドレスを与えるように制御することで、転送元となる一方のメモリの該当アドレスから読み出されたデータを、ＣＰＵを介することなく、直接、転送先となる他方のメモリの該当アドレスに書き込むように制御することが可能となる。
【００１５】
そして、本発明のデータ転送機構によれば、高速転送モードが選択された場合において、データバスコントローラにより、前記ＣＰＵと前記２つのメモリとの間のデータ信号の電送を遮断させることで、前記一方のメモリと他方のメモリとの間のバスをフロート状態とすることができるので、前記他方のメモリの該当アドレスから読み出されたデータを、ＣＰＵを介することなく、直接、前記一方のメモリの該当アドレスに書き込むように制御することも可能となり、前記２つのメモリ間において双方向の高速なデータ転送を実現することができる。
【００１６】
また、さらに、本願発明のデータ転送機構は、ＣＰＵから、一方のメモリに対しリード指令が与えられた際には、前記リード指令を他方のメモリへのライト指令に変換して前記他方のメモリに対して前記ライト指令を与え、前記一方のメモリに対しライト指令が与えられた際には、前記ライト指令を他方のメモリへのリード指令に変換して前記他方のメモリに対して前記リード指令を与える機能を有するメモリコントローラと、前記メモリコントローラから前記一方のメモリへのライト指令が与えられた際には、前記一方のメモリのアドレスとは別個独立の任意のアドレスを前記他方のメモリのアドレスとして生成する機能を有するアドレスカウンタと、前記ＣＰＵから、前記一方のメモリに対しリード指令が与えられた際には、前記ＣＰＵから前記一方のメモリに電送されたアドレス信号のアドレスを前記アドレスカウンタにおいて生成されたアドレスに置換して前記他方のメモリへ電送し、前記ＣＰＵから、前記一方のメモリに対しライト指令が与えられた際には、前記ＣＰＵから前記一方のメモリに電送されたアドレス信号のアドレスを前記他方のメモリへ電送する機能を有するアドレスセレクタと、前記ＣＰＵから前記一方のメモリおよび前記他方のメモリに対し電送されるアドレス信号をデコードし、各メモリをアサートまたはディアサートするセレクト信号を、前記２つのメモリに対して同時に電送する機能を有するメモリセレクタと、前記他方のメモリに対しリード指令が与えられた際には、前記ＣＰＵおよび前記２つのメモリの３つの間で相互に電送可能とされたバス上における、前記ＣＰＵと前記２つのメモリとの間のデータ信号の電送を遮断させる機能を有するデータバスコントローラとを備えることを特徴とする。
【００１７】
本願発明のデータ転送機構によれば、ユーザの選択する通常転送モードまたは高速転送モードとのいずれかのモードに応じて、データ転送を行うことができる。
【００１８】
【発明の実施の形態】
図１は、本発明のデータ転送機構の情報伝達回路を示すブロック図である。
【００１９】
この図に示すデータ転送機構は、２つのメモリ（メモリＡ，メモリＢ）と、このメモリＡ，Ｂ間のデータ転送に関する指令を与えるＣＰＵ１とを有している。
【００２０】
本実施形態のデータ転送機構においては、通常の速度でデータ転送を行う通常転送モードと、前記通常転送モードよりも早い速度でデータ転送を行う高速転送モードとのいずれかをユーザが選択可能とされており、前記ＣＰＵ１は、ユーザが選択したいずれかのモードに応じた、データ転送に関する制御を行うように構成されている。
【００２１】
そして、前記ＣＰＵ１と前記メモリＡ間および前記ＣＰＵ１とメモリＢ間にはアドレスバスおよびデータバスが接続されており、前記アドレスバスを介してアドレス信号が電送され、データバスを介してデータ信号が電送されるとともに、前記ＣＰＵ１から前記メモリＡ，Ｂ間に対し、リード指令およびライト指令が与えられるように構成されている。
【００２２】
そして、本実施形態のデータ転送機構は、メモリコントローラ２、アドレスカウンタ３、アドレスセレクタ４、メモリセレクタ５およびデータバスコントローラ６を備えている。
【００２３】
前記メモリコントローラ２は、高速転送モードが選択された場合においては、前記ＣＰＵ１から、メモリＡに対しリード指令が与えられた際には、前記リード指令をメモリＢへのライト指令に変換して前記メモリＢに対して前記ライト指令を与え、前記メモリＡに対しライト指令が与えられた際には、前記ライト指令をメモリＢへのリード指令に変換して前記メモリＢに対して前記リード指令を与え、通常転送モードが選択された場合においては、前記ＣＰＵ１から与えられる、前記メモリＢに対するライト指令またはリード指令をそのまま前記メモリＢに与えるように構成されている。
【００２４】
前記アドレスカウンタ３は、高速転送モードが選択された場合において、前記メモリコントローラ２から前記メモリＡへのライト指令が与えられた際、前記メモリＡのアドレスとは別個独立の任意のアドレスを前記メモリＢのアドレスとして生成するように構成されている。なお、その生成されたアドレスが前記メモリＡのアドレスと同一となったとしても、前記メモリＡのアドレスに依存して生成されたものではないので問題はない。
【００２５】
つまり、本実施形態のデータ転送機構におけるアドレスカウンタ３によれば、転送先となる前記メモリＢに対し、ＣＰＵ１から送信されるアドレス（アドレスの初期値）とは別の独立したアドレス（アドレスの初期値）を与えることにより、前記メモリＡおよびメモリＢの任意のアドレスに対し、データの転送が可能となる。
【００２６】
そのカウントアップ条件としては、種々考えられるが、高速転送時の前記メモリＢに対するライト指令のアサートによりカウントアップするように構成することでも、高速なデータ転送が可能となる。
【００２７】
また、アドレスカウンタ３のカウントアップ条件を調整することで、データの転送元となるメモリの任意の領域から、転送先となるメモリの任意の矩形領域に対してデータを転送する等の複雑なデータ転送も可能となる。
【００２８】
前記アドレスセレクタ４は、高速転送モードが選択された場合において、前記ＣＰＵ１から、前記メモリＡに対しリード指令が与えられた際には、前記ＣＰＵ１から前記メモリＡに電送されたアドレス信号のアドレスを前記アドレスカウンタ３において生成されたアドレスに置換して前記メモリＢへ電送し、高速転送モードが選択された場合において、前記ＣＰＵ１から、前記メモリＡに対しライト指令が与えられた際、および、前記通常転送モードが選択された際には、前記ＣＰＵ１から前記メモリＡに電送されたアドレス信号のアドレスを前記メモリＢへ電送するように構成されている。
【００２９】
前記メモリセレクタ５は、前記ＣＰＵ１から前記メモリＡおよび前記メモリＢに対し電送されるアドレス信号をデコードし、高速転送モードが選択された場合においては、各メモリをアサートまたはディアサートするセレクト信号を、前記２つのメモリに対して同時に電送し、通常転送モードが選択された場合においては、前記ＣＰＵ１から与えられる、前記メモリＡまたはメモリＢに対するセレクト信号をそのまま前記メモリＡまたはメモリＢに与えるように構成されている。
【００３０】
そして、前記データバスコントローラ６は、高速転送モードが選択された場合であって、前記メモリＢに対しリード指令が与えられた際には、前記ＣＰＵ１および前記２つのメモリの３つの間で相互に電送可能とされたバス上における、前記ＣＰＵ１と前記２つのメモリとの間のデータ信号の電送を遮断するように構成されている。
【００３１】
次に、前述した本実施形態のデータ転送機構において、前記メモリＡからメモリＢに対し、高速転送モードでデータ転送を行う場合の動作を第１実施例として説明する（図２乃至図４参照）。
【００３２】
第１実施例：
まず、前記ＣＰＵ１は、アドレスバスを介してアドレス１を出力する。このとき、前記メモリセレクタ５は、出力されたアドレス１をデコードして各メモリのセレクト信号（メモリＡセレクト信号、メモリＢセレクト信号）を生成し、夫々のメモリに対するセレクト信号をアサートする（以上、サイクル１）。
【００３３】
続いて、ＣＰＵ１はメモリＡに対してデータのリード信号（ＲＤ信号）をアサートし（リード指令）、メモリＡからデータを出力させる。
【００３４】
このとき、前記メモリコントローラ２は、前記リード指令をメモリＢへのライト指令に変換し、前記メモリＢに対してライト信号（ＷＴ信号）をアサートする（ライト指令）。続いて、アドレスカウンタ３は任意のアドレス２をメモリＢのアドレスとして生成し、アドレスセレクタ４は、前記メモリＢへ前記アドレスカウンタ３で生成したアドレス２を出力して、当該アドレス２に前記メモリＡから出力されたデータを入力する（以上、サイクル２）。
【００３５】
このように、メモリＡからデータをリードする動作と、メモリＢへデータをライトする動作とを同期させて実行してデータ転送が終了したら、前記メモリＡに対してＣＰＵ１からリード信号をディアサートさせるとともに、前記メモリＢに対して前記メモリコントローラ２より、ライト信号をディアサートさせる。
【００３６】
また、ＣＰＵ１は前記アドレス２の出力を停止し、前記アドレスカウンタ３およびアドレスセレクタ４においても、メモリＢのアドレス２の生成と当該アドレス２の出力を停止する。
【００３７】
そして、前記メモリセレクタ５は、前記メモリＡセレクト信号およびメモリＢセレクト信号をディアサートし、前記メモリＡからのデータの出力を停止する（以上、サイクル３）。
【００３８】
このように、本実施形態のデータ転送機構によれば、転送元としての一方のメモリにリード指令とアドレス（アドレス１）を与えると同時に、転送先となる他方のメモリにもメモリコントローラ２を介してライト指令を与え、アドレスカウンタ３およびアドレスセレクタ４を介してアドレス（アドレス２）を与えるように制御することで、転送元となる一方のメモリの該当アドレス１から読み出されたデータを、ＣＰＵ１を介することなく、直接、転送先となる他方のメモリの該当アドレス２に書き込むように制御することが可能となる。
【００３９】
つまり、本実施形態のデータ転送機構は、従来のデータ転送機構（本実施形態のデータ転送機構における通常転送モードにおいても、その点については同じ）がデータ転送に６サイクルのメモリアクセスが必要であるのに対し、その半分の３サイクルでデータ転送を完了させることが可能となり、高速なデータ転送を実現するものとなっている。しかも、本実施形態のデータ転送機構は、ＣＰＵ１に負担をかけることなく、データ転送先のアドレス（アドレス２）を任意に設定してデータ転送を行うことができる。
【００４０】
また、本実施形態のデータ転送機構においては、ユーザが通常転送モードを選択した場合には、従来と同様に、６サイクルのメモリアクセスを要する転送も可能である。その場合の動作を、本実施形態の第２実施例として説明する（図５乃至図７参照）。なお、図５中、太実線はメモリＡに対するリード動作時を示し、太波線はメモリＢに対するライト動作時を示す。
【００４１】
第２実施例：
まず、前記ＣＰＵ１は、メモリＡに対するリード動作を開始するべく、アドレスバスを介してアドレス１を出力する。このとき、前記メモリセレクタ５は、出力されたアドレス１をデコードしてメモリＡセレクト信号を生成し、前記メモリＡセレクト信号をアサートする（以上、サイクル１）。
【００４２】
続いて、ＣＰＵ１はメモリＡに対してデータのリード信号をアサートし（リード指令）、メモリＡからデータを出力させる。このとき、前記ＣＰＵ１は、内部レジスタへデータをロードする（以上、サイクル２）。
【００４３】
前記データのロードが完了したら、前記メモリＡに対してＣＰＵ１からリード信号をディアサートさせるとともに、ＣＰＵ１は前記アドレス１の出力を停止する。
【００４４】
そして、前記メモリセレクタ５は、前記メモリＡセレクト信号をディアサートし、前記メモリＡからのデータの出力を停止する（以上、サイクル３）。
【００４５】
続いて、前記ＣＰＵ１は、メモリＢに対するライト動作を開始するべく、アドレスバスを介してアドレス２を出力する。このとき、前記メモリセレクタ５は、出力されたアドレス２をデコードしてメモリＢセレクト信号を生成し、メモリＢセレクト信号をアサートする。
【００４６】
さらに、前記ＣＰＵ１は、前記内部レジスタに一時的に蓄積したデータを出力する（以上、サイクル４）。
【００４７】
続いて、ＣＰＵ１はメモリＢに対してデータのライト信号をアサートする（以上、サイクル５）。
【００４８】
そして、前記データのライトが完了したら、前記ＣＰＵ１は前記ライト信号をディアサートさせ、さらに、前記アドレス２の出力とデータの出力を停止する。
【００４９】
また、前記メモリセレクタ５は、前記メモリＢセレクト信号をディアサートする（以上、サイクル６）。
【００５０】
このように、本実施形態のデータ転送機構は、高速転送モードによるデータ転送が可能な構成で、通常転送モードのデータ転送をも行なうことができる。
【００５１】
また、本実施形態のデータ転送機構は、前記データバスコントローラ６を備えることにより、前記メモリＢから前記メモリＡへの高速転送モードのデータ転送が可能となる。
【００５２】
すなわち、高速転送モードがユーザにより選択された場合においては、前記メモリＢに対しリード指令が与えられた際には、データバスコントローラ６において、前記ＣＰＵ１および前記２つのメモリの３つの間で相互に電送可能とされたバス上における、前記ＣＰＵ１と前記２つのメモリとの間のデータ信号の電送を遮断することで、前記メモリＡとメモリＢとの間のバスをフロート状態とする。
【００５３】
これにより、前記メモリＢの該当アドレスから読み出されたデータを、ＣＰＵ１を介することなく、直接、前記メモリＡの該当アドレスに書き込むように制御することができる。
【００５４】
以下に、前記メモリＢからメモリＡに対し、高速転送モードでデータ転送を行う場合の動作を、第３実施例として説明する（図８参照）。
【００５５】
第３実施例：
まず、前記ＣＰＵ１は、アドレスバスを介してアドレスを出力する。このとき、前記メモリセレクタ５は、出力されたアドレスをデコードして各メモリのセレクト信号（メモリＡセレクト信号、メモリＢセレクト信号）を生成し、夫々のメモリに対するセレクト信号をアサートする（以上、サイクル１）。
【００５６】
続いて、ＣＰＵ１はメモリＡに対してデータのライト信号をアサートする（ライト指令）。
【００５７】
前記メモリコントローラ２は、前記ライト指令をメモリＢへのリード指令に変換し、前記メモリＢに対してリード信号をアサートする（リード指令）。続いて、アドレスセレクタ４は、前記メモリＢへＣＰＵ１から出力されたアドレスをそのまま出力する。
【００５８】
このとき、前述のように、データバスコントローラ６において、前記ＣＰＵ１および前記２つのメモリの３つの間で相互に電送可能とされたバス上における、前記ＣＰＵ１と前記２つのメモリとの間のデータ信号の電送を遮断することで、前記メモリＡとメモリＢとの間のバスをフロート状態とし、前記メモリＢのアドレスから出力したデータを、前記メモリＡのアドレスに入力するようにする（以上、サイクル２）。
【００５９】
このようにして、メモリＢからデータをリードする動作と、メモリＡへデータをライトする動作とを同期させて実行してデータ転送が終了したら、前記メモリＢに対してＣＰＵ１からリード信号をディアサートさせるとともに、前記メモリＡに対して前記メモリコントローラ２より、ライト信号をディアサートさせる。
【００６０】
また、ＣＰＵ１は前記アドレスの出力を停止する。
【００６１】
そして、前記メモリセレクタ５は、前記メモリＡセレクト信号およびメモリＢセレクト信号をディアサートし、前記メモリＢからのデータの出力を停止する（以上、サイクル３）。
【００６２】
このように、本実施形態のデータ転送機構によれば、前記メモリＢの該当アドレスから読み出されたデータを、ＣＰＵ１を介することなく、直接、前記メモリＡの該当アドレスに書き込むことで、ＣＰＵ１の負担を軽くすることができるので、高速のデータ転送が可能となる。
【００６３】
つまり、本実施形態のデータ転送機構は、メモリＡ、メモリＢ間において、一方向の高速なデータ転送を可能とするのみでなく、双方向のデータ転送を高速に行うことを可能とする。
【００６４】
また、以下に、前記メモリＢからメモリＡに対し、通常転送モードでデータ転送を行う場合の動作を第４実施例として説明する（図９参照）。なお、図中、太実線はメモリＡに対するリード動作時を示し、太波線はメモリＢに対するライト動作時を示す。
【００６５】
第４実施例：
前記ＣＰＵ１は、メモリＢに対するリード動作を開始するべく、アドレスバスを介してアドレス１を出力する。このとき、前記メモリセレクタ５は、出力されたアドレスをデコードしてメモリＢセレクト信号を生成し、前記メモリＢセレクト信号をアサートする（以上、サイクル１）。
【００６６】
続いて、ＣＰＵ１はメモリＢに対してデータのリード信号をアサートし（リード指令）、メモリＢからデータを出力する（以上、サイクル２）。
【００６７】
このとき、前記ＣＰＵ１は、内部レジスタへデータをロードし、このロードが完了したら、前記メモリＢに対してＣＰＵ１からリード信号をディアサートさせるとともに、ＣＰＵ１は前記アドレス１の出力を停止する。
【００６８】
そして、前記メモリセレクタ５は、前記メモリＢセレクト信号をディアサートし、前記メモリＢからのデータの出力を停止する（以上、サイクル３）。
【００６９】
続いて、前記ＣＰＵ１は、メモリＡに対するライト動作を開始するべく、アドレスバスを介してアドレス２を出力する。このとき、前記メモリセレクタ５は、出力されたアドレス２をデコードしてメモリＡセレクト信号を生成し、メモリＡセレクト信号をアサートする。さらに、前記ＣＰＵ１は、前記内部レジスタに一時的に蓄積したデータを出力する（以上、サイクル４）。
【００７０】
続いて、ＣＰＵ１はメモリＡに対してデータのライト信号をアサートする（以上、サイクル５）。
【００７１】
そして、前記メモリＡに対してＣＰＵ１の内部レジスタからの前記データの転送が終了したら、前記ライト信号をディアサートさせるとともに、ＣＰＵ１は前記アドレス２の出力とデータの出力を停止する。
【００７２】
また、前記メモリセレクタ５は、前記メモリＡセレクト信号をディアサートする（以上、サイクル６）。
【００７３】
このように、本実施形態のデータ転送機構においては、通常転送モードにおいても、２つのメモリ間において双方方向のデータ転送を行うことができる。
【００７４】
なお、本発明は、前述した実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
【００７５】
例えば、２つのメモリ間において一方向にのみ、高速のデータ転送を行なう場合には、前記データバスコントローラ６を省略することも可能である。
【００７６】
また、通常転送モードと、高速転送モードとを選択可能とせず、高速転送モードによるデータ転送のみを行なうようにすることも可能であり、その場合には、前記メモリコントローラ２、アドレスカウンタ３、アドレスセレクタ４およびメモリセレクタ５のそれぞれについては、高速転送モード時における制御（判断）のみを行なうように構成すればよい。
【００７７】
【発明の効果】
以上説明したように本発明によれば、転送元としての一方のメモリにリード指令とアドレスを与えると同時に、転送先となる他方のメモリにもメモリコントローラを介してライト指令を与え、アドレスカウンタおよびアドレスセレクタ４を介してアドレスを与えるように制御することで、転送元となる一方のメモリの該当アドレスから読み出されたデータを、ＣＰＵ１を介することなく、直接、転送先となる他方のメモリの該当アドレスに書き込むように制御することが可能となり、その転送モードについても、通常転送モードと高速転送モードとのいずれかの転送モードをユーザが選択可能な構成とすることができる。
【００７８】
そして、通常転送モードが選択された場合はもちろんのこと、高速転送モードが選択された場合においても、前記データバスコントローラ６を備えることで、前記他方のメモリの該当アドレスから読み出されたデータを、ＣＰＵ１を介することなく、直接、前記一方のメモリの該当アドレスに書き込むように制御することも可能となり、前記２つのメモリ間において双方向の高速なデータ転送を実現することができる。
【図面の簡単な説明】
【図１】本発明のデータ転送機構の情報伝達回路を示すブロック図
【図２】第１実施例（高速ＡｔｏＢ）における情報伝達回路を太線で示すブロック図
【図３】第１実施例におけるデータ転送制御のフローチャート
【図４】第１実施例におけるデータ転送制御のタイミングチャート
【図５】第２実施例（通常ＡｔｏＢ）における情報伝達回路を太線で示すブロック図
【図６】第２実施例におけるデータ転送制御のフローチャート
【図７】第２実施例におけるデータ転送制御のタイミングチャート
【図８】第３実施例（高速ＢｔｏＡ）における情報伝達回路を太線で示すブロック図
【図９】第４実施例（通常ＢｔｏＡ）における情報伝達回路を太線で示すブロック図
【図１０】従来のデータ転送機構の情報伝達回路を示すブロック図
【符号の説明】
Ａ　メモリ（一方のメモリ）
Ｂ　メモリ（他方のメモリ）
１　ＣＰＵ
２　メモリコントローラ
３　アドレスカウンタ
４　アドレスセレクタ
５　メモリセレクタ
６　データバスコントローラ
【図１】
2004145700.tif 000003
【図２】
2004145700.tif 000004
【図３】
2004145700.tif 000005
【図４】
2004145700.tif 000006
【図５】
2004145700.tif 000007
【図６】
2004145700.tif 000008
【図７】
2004145700.tif 000009
【図８】
2004145700.tif 000010
【図９】
2004145700.tif 000011
【図１０】
2004145700.tif 000012