JP2004145700A - Data transfer mechanism - Google Patents

Data transfer mechanism Download PDF

Info

Publication number
JP2004145700A
JP2004145700A JP2002310851A JP2002310851A JP2004145700A JP 2004145700 A JP2004145700 A JP 2004145700A JP 2002310851 A JP2002310851 A JP 2002310851A JP 2002310851 A JP2002310851 A JP 2002310851A JP 2004145700 A JP2004145700 A JP 2004145700A
Authority
JP
Japan
Prior art keywords
memory
address
cpu
data
memories
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2002310851A
Other languages
Japanese (ja)
Inventor
Kazuo Yoshida
吉田 一夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alps Alpine Co Ltd
Original Assignee
Alps Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alps Electric Co Ltd filed Critical Alps Electric Co Ltd
Priority to JP2002310851A priority Critical patent/JP2004145700A/en
Publication of JP2004145700A publication Critical patent/JP2004145700A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data transfer mechanism capable of quickly transferring data without passing through a CPU. <P>SOLUTION: The data transfer mechanism is provided with a memory controller 2 for converting a read command from the CPU 1 to one memory A into a write command to the other memory B and converting a write command to one memory A into a read command to the other memory B, an address counter 3 having a function for generating addresses different from the addresses of one memory A as addresses of the other memory B and an address selector having a function for transmitting the addresses generated by the address counter 3 to the other memory B. The data transfer mechanism is also provided with a memory selector 5 having a function for decoding an address signal transmitted from the CPU 1 and simultaneously transmitting select signals for asserting or deasserting respective memories A, B to the two memories A, B and a data bus controller 6 having a function for interrupting the transmission of data signals between the CPU 1 and the two memories A, B. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、2つのメモリ間において、高速でデータ転送を行うことを可能とするデータ転送機構に関する。
【0002】
【従来の技術】
図10は従来のデータ転送機構を示すブロック図である。
【0003】
このデータ転送機構においては、2つのメモリ間のデータ転送に関する指令を与えるCPUと、データの転送元となるメモリAと転送先となるメモリBとを有している。
【0004】
前記CPUと前記メモリA間および前記CPUとメモリB間にはアドレスバスおよびデータバスが接続されており、前記アドレスバスを介してアドレス信号が電送され、また、データバスを介してデータ信号が電送されるように構成されている。
【0005】
さらに、前記CPUと前記メモリA間および前記CPUとメモリB間には、前記CPUから前記メモリAおよびメモリBに対し、リード指令およびライト指令が与えられるように構成されている。
【0006】
そして、メモリAからメモリBへデータを転送する場合、CPUは、まず、リードサイクルにおいて、メモリAに対してアドレスおよびリード指令(リードコマンド)を与え、当該メモリAの該当アドレスのデータを前記データバスを介してCPU内のレジスタに取り込む。
【0007】
続いて、ライトサイクルにおいて、メモリBに対してアドレスと前記レジスタに取り込んだデータ、およびライト指令(ライトコマンド)を与え、前記データをメモリBの該当アドレスに書き込むようにする。
【0008】
つまり、動作的に説明すると、メモリAに対するリード動作と、メモリBに対するライト動作が必要となる。
【0009】
そして、夫々の1回の動作につき、アドレスの出力(サイクル1)、コマンド出力(サイクル2)、および各コマンドの出力停止(インターバル確保:サイクル3)の3つのサイクルで構成されていると、1回のデータ転送のためには、合計で6サイクルを必要としていた。
【0010】
【特許文献1】
特開平6−131292号公報
【特許文献2】
特開平7−141287号公報
【0011】
【発明が解決しようとする課題】
このように、2つのメモリA,B間におけるデータ転送に、リード動作およびライト動作に関する6サイクルが必要となると、当然にデータ転送速度が遅くなるため、問題点として指摘されていた。
【0012】
そこで、本発明は、データをCPUを介することなく高速で転送可能なデータ転送機構を提供することを目的とするものである。
【0013】
【課題を解決するための手段】
前述した目的を達成するため、本発明のデータ転送機構は、CPUから、一方のメモリに対しリード指令が与えられた際には、前記リード指令を他方のメモリへのライト指令に変換して前記他方のメモリに対して前記ライト指令を与え、前記一方のメモリに対しライト指令が与えられた際には、前記ライト指令を他方のメモリへのリード指令に変換して前記他方のメモリに対して前記リード指令を与える機能を有するメモリコントローラと、前記メモリコントローラから前記一方のメモリへのライト指令が与えられた際には、前記一方のメモリのアドレスとは別個独立の任意のアドレスを前記他方のメモリのアドレスとして生成する機能を有するアドレスカウンタと、前記CPUから、前記一方のメモリに対しリード指令が与えられた際には、前記CPUから前記一方のメモリに電送されたアドレス信号のアドレスを前記アドレスカウンタにおいて生成されたアドレスに置換して前記他方のメモリへ電送し、前記CPUから、前記一方のメモリに対しライト指令が与えられた際には、前記CPUから前記一方のメモリに電送されたアドレス信号のアドレスを前記他方のメモリへ電送する機能を有するアドレスセレクタと、前記CPUから前記一方のメモリおよび前記他方のメモリに対し電送されるアドレス信号をデコードし、各メモリをアサートまたはディアサートするセレクト信号を、前記2つのメモリに対して同時に電送する機能を有するメモリセレクタと、前記他方のメモリに対しリード指令が与えられた際には、前記CPUおよび前記2つのメモリの3つの間で相互に電送可能とされたバス上における、前記CPUと前記2つのメモリとの間のデータ信号の電送を遮断させる機能を有するデータバスコントローラとを備えることを特徴とする。
【0014】
本発明のデータ転送機構によれば、転送元としての一方のメモリにリード指令とアドレスを与えると同時に、転送先となる他方のメモリにもメモリコントローラを介してライト指令を与え、アドレスカウンタおよびアドレスセレクタを介してアドレスを与えるように制御することで、転送元となる一方のメモリの該当アドレスから読み出されたデータを、CPUを介することなく、直接、転送先となる他方のメモリの該当アドレスに書き込むように制御することが可能となる。
【0015】
そして、本発明のデータ転送機構によれば、高速転送モードが選択された場合において、データバスコントローラにより、前記CPUと前記2つのメモリとの間のデータ信号の電送を遮断させることで、前記一方のメモリと他方のメモリとの間のバスをフロート状態とすることができるので、前記他方のメモリの該当アドレスから読み出されたデータを、CPUを介することなく、直接、前記一方のメモリの該当アドレスに書き込むように制御することも可能となり、前記2つのメモリ間において双方向の高速なデータ転送を実現することができる。
【0016】
また、さらに、本願発明のデータ転送機構は、CPUから、一方のメモリに対しリード指令が与えられた際には、前記リード指令を他方のメモリへのライト指令に変換して前記他方のメモリに対して前記ライト指令を与え、前記一方のメモリに対しライト指令が与えられた際には、前記ライト指令を他方のメモリへのリード指令に変換して前記他方のメモリに対して前記リード指令を与える機能を有するメモリコントローラと、前記メモリコントローラから前記一方のメモリへのライト指令が与えられた際には、前記一方のメモリのアドレスとは別個独立の任意のアドレスを前記他方のメモリのアドレスとして生成する機能を有するアドレスカウンタと、前記CPUから、前記一方のメモリに対しリード指令が与えられた際には、前記CPUから前記一方のメモリに電送されたアドレス信号のアドレスを前記アドレスカウンタにおいて生成されたアドレスに置換して前記他方のメモリへ電送し、前記CPUから、前記一方のメモリに対しライト指令が与えられた際には、前記CPUから前記一方のメモリに電送されたアドレス信号のアドレスを前記他方のメモリへ電送する機能を有するアドレスセレクタと、前記CPUから前記一方のメモリおよび前記他方のメモリに対し電送されるアドレス信号をデコードし、各メモリをアサートまたはディアサートするセレクト信号を、前記2つのメモリに対して同時に電送する機能を有するメモリセレクタと、前記他方のメモリに対しリード指令が与えられた際には、前記CPUおよび前記2つのメモリの3つの間で相互に電送可能とされたバス上における、前記CPUと前記2つのメモリとの間のデータ信号の電送を遮断させる機能を有するデータバスコントローラとを備えることを特徴とする。
【0017】
本願発明のデータ転送機構によれば、ユーザの選択する通常転送モードまたは高速転送モードとのいずれかのモードに応じて、データ転送を行うことができる。
【0018】
【発明の実施の形態】
図1は、本発明のデータ転送機構の情報伝達回路を示すブロック図である。
【0019】
この図に示すデータ転送機構は、2つのメモリ(メモリA,メモリB)と、このメモリA,B間のデータ転送に関する指令を与えるCPU1とを有している。
【0020】
本実施形態のデータ転送機構においては、通常の速度でデータ転送を行う通常転送モードと、前記通常転送モードよりも早い速度でデータ転送を行う高速転送モードとのいずれかをユーザが選択可能とされており、前記CPU1は、ユーザが選択したいずれかのモードに応じた、データ転送に関する制御を行うように構成されている。
【0021】
そして、前記CPU1と前記メモリA間および前記CPU1とメモリB間にはアドレスバスおよびデータバスが接続されており、前記アドレスバスを介してアドレス信号が電送され、データバスを介してデータ信号が電送されるとともに、前記CPU1から前記メモリA,B間に対し、リード指令およびライト指令が与えられるように構成されている。
【0022】
そして、本実施形態のデータ転送機構は、メモリコントローラ2、アドレスカウンタ3、アドレスセレクタ4、メモリセレクタ5およびデータバスコントローラ6を備えている。
【0023】
前記メモリコントローラ2は、高速転送モードが選択された場合においては、前記CPU1から、メモリAに対しリード指令が与えられた際には、前記リード指令をメモリBへのライト指令に変換して前記メモリBに対して前記ライト指令を与え、前記メモリAに対しライト指令が与えられた際には、前記ライト指令をメモリBへのリード指令に変換して前記メモリBに対して前記リード指令を与え、通常転送モードが選択された場合においては、前記CPU1から与えられる、前記メモリBに対するライト指令またはリード指令をそのまま前記メモリBに与えるように構成されている。
【0024】
前記アドレスカウンタ3は、高速転送モードが選択された場合において、前記メモリコントローラ2から前記メモリAへのライト指令が与えられた際、前記メモリAのアドレスとは別個独立の任意のアドレスを前記メモリBのアドレスとして生成するように構成されている。なお、その生成されたアドレスが前記メモリAのアドレスと同一となったとしても、前記メモリAのアドレスに依存して生成されたものではないので問題はない。
【0025】
つまり、本実施形態のデータ転送機構におけるアドレスカウンタ3によれば、転送先となる前記メモリBに対し、CPU1から送信されるアドレス(アドレスの初期値)とは別の独立したアドレス(アドレスの初期値)を与えることにより、前記メモリAおよびメモリBの任意のアドレスに対し、データの転送が可能となる。
【0026】
そのカウントアップ条件としては、種々考えられるが、高速転送時の前記メモリBに対するライト指令のアサートによりカウントアップするように構成することでも、高速なデータ転送が可能となる。
【0027】
また、アドレスカウンタ3のカウントアップ条件を調整することで、データの転送元となるメモリの任意の領域から、転送先となるメモリの任意の矩形領域に対してデータを転送する等の複雑なデータ転送も可能となる。
【0028】
前記アドレスセレクタ4は、高速転送モードが選択された場合において、前記CPU1から、前記メモリAに対しリード指令が与えられた際には、前記CPU1から前記メモリAに電送されたアドレス信号のアドレスを前記アドレスカウンタ3において生成されたアドレスに置換して前記メモリBへ電送し、高速転送モードが選択された場合において、前記CPU1から、前記メモリAに対しライト指令が与えられた際、および、前記通常転送モードが選択された際には、前記CPU1から前記メモリAに電送されたアドレス信号のアドレスを前記メモリBへ電送するように構成されている。
【0029】
前記メモリセレクタ5は、前記CPU1から前記メモリAおよび前記メモリBに対し電送されるアドレス信号をデコードし、高速転送モードが選択された場合においては、各メモリをアサートまたはディアサートするセレクト信号を、前記2つのメモリに対して同時に電送し、通常転送モードが選択された場合においては、前記CPU1から与えられる、前記メモリAまたはメモリBに対するセレクト信号をそのまま前記メモリAまたはメモリBに与えるように構成されている。
【0030】
そして、前記データバスコントローラ6は、高速転送モードが選択された場合であって、前記メモリBに対しリード指令が与えられた際には、前記CPU1および前記2つのメモリの3つの間で相互に電送可能とされたバス上における、前記CPU1と前記2つのメモリとの間のデータ信号の電送を遮断するように構成されている。
【0031】
次に、前述した本実施形態のデータ転送機構において、前記メモリAからメモリBに対し、高速転送モードでデータ転送を行う場合の動作を第1実施例として説明する(図2乃至図4参照)。
【0032】
第1実施例:
まず、前記CPU1は、アドレスバスを介してアドレス1を出力する。このとき、前記メモリセレクタ5は、出力されたアドレス1をデコードして各メモリのセレクト信号(メモリAセレクト信号、メモリBセレクト信号)を生成し、夫々のメモリに対するセレクト信号をアサートする(以上、サイクル1)。
【0033】
続いて、CPU1はメモリAに対してデータのリード信号(RD信号)をアサートし(リード指令)、メモリAからデータを出力させる。
【0034】
このとき、前記メモリコントローラ2は、前記リード指令をメモリBへのライト指令に変換し、前記メモリBに対してライト信号(WT信号)をアサートする(ライト指令)。続いて、アドレスカウンタ3は任意のアドレス2をメモリBのアドレスとして生成し、アドレスセレクタ4は、前記メモリBへ前記アドレスカウンタ3で生成したアドレス2を出力して、当該アドレス2に前記メモリAから出力されたデータを入力する(以上、サイクル2)。
【0035】
このように、メモリAからデータをリードする動作と、メモリBへデータをライトする動作とを同期させて実行してデータ転送が終了したら、前記メモリAに対してCPU1からリード信号をディアサートさせるとともに、前記メモリBに対して前記メモリコントローラ2より、ライト信号をディアサートさせる。
【0036】
また、CPU1は前記アドレス2の出力を停止し、前記アドレスカウンタ3およびアドレスセレクタ4においても、メモリBのアドレス2の生成と当該アドレス2の出力を停止する。
【0037】
そして、前記メモリセレクタ5は、前記メモリAセレクト信号およびメモリBセレクト信号をディアサートし、前記メモリAからのデータの出力を停止する(以上、サイクル3)。
【0038】
このように、本実施形態のデータ転送機構によれば、転送元としての一方のメモリにリード指令とアドレス(アドレス1)を与えると同時に、転送先となる他方のメモリにもメモリコントローラ2を介してライト指令を与え、アドレスカウンタ3およびアドレスセレクタ4を介してアドレス(アドレス2)を与えるように制御することで、転送元となる一方のメモリの該当アドレス1から読み出されたデータを、CPU1を介することなく、直接、転送先となる他方のメモリの該当アドレス2に書き込むように制御することが可能となる。
【0039】
つまり、本実施形態のデータ転送機構は、従来のデータ転送機構(本実施形態のデータ転送機構における通常転送モードにおいても、その点については同じ)がデータ転送に6サイクルのメモリアクセスが必要であるのに対し、その半分の3サイクルでデータ転送を完了させることが可能となり、高速なデータ転送を実現するものとなっている。しかも、本実施形態のデータ転送機構は、CPU1に負担をかけることなく、データ転送先のアドレス(アドレス2)を任意に設定してデータ転送を行うことができる。
【0040】
また、本実施形態のデータ転送機構においては、ユーザが通常転送モードを選択した場合には、従来と同様に、6サイクルのメモリアクセスを要する転送も可能である。その場合の動作を、本実施形態の第2実施例として説明する(図5乃至図7参照)。なお、図5中、太実線はメモリAに対するリード動作時を示し、太波線はメモリBに対するライト動作時を示す。
【0041】
第2実施例:
まず、前記CPU1は、メモリAに対するリード動作を開始するべく、アドレスバスを介してアドレス1を出力する。このとき、前記メモリセレクタ5は、出力されたアドレス1をデコードしてメモリAセレクト信号を生成し、前記メモリAセレクト信号をアサートする(以上、サイクル1)。
【0042】
続いて、CPU1はメモリAに対してデータのリード信号をアサートし(リード指令)、メモリAからデータを出力させる。このとき、前記CPU1は、内部レジスタへデータをロードする(以上、サイクル2)。
【0043】
前記データのロードが完了したら、前記メモリAに対してCPU1からリード信号をディアサートさせるとともに、CPU1は前記アドレス1の出力を停止する。
【0044】
そして、前記メモリセレクタ5は、前記メモリAセレクト信号をディアサートし、前記メモリAからのデータの出力を停止する(以上、サイクル3)。
【0045】
続いて、前記CPU1は、メモリBに対するライト動作を開始するべく、アドレスバスを介してアドレス2を出力する。このとき、前記メモリセレクタ5は、出力されたアドレス2をデコードしてメモリBセレクト信号を生成し、メモリBセレクト信号をアサートする。
【0046】
さらに、前記CPU1は、前記内部レジスタに一時的に蓄積したデータを出力する(以上、サイクル4)。
【0047】
続いて、CPU1はメモリBに対してデータのライト信号をアサートする(以上、サイクル5)。
【0048】
そして、前記データのライトが完了したら、前記CPU1は前記ライト信号をディアサートさせ、さらに、前記アドレス2の出力とデータの出力を停止する。
【0049】
また、前記メモリセレクタ5は、前記メモリBセレクト信号をディアサートする(以上、サイクル6)。
【0050】
このように、本実施形態のデータ転送機構は、高速転送モードによるデータ転送が可能な構成で、通常転送モードのデータ転送をも行なうことができる。
【0051】
また、本実施形態のデータ転送機構は、前記データバスコントローラ6を備えることにより、前記メモリBから前記メモリAへの高速転送モードのデータ転送が可能となる。
【0052】
すなわち、高速転送モードがユーザにより選択された場合においては、前記メモリBに対しリード指令が与えられた際には、データバスコントローラ6において、前記CPU1および前記2つのメモリの3つの間で相互に電送可能とされたバス上における、前記CPU1と前記2つのメモリとの間のデータ信号の電送を遮断することで、前記メモリAとメモリBとの間のバスをフロート状態とする。
【0053】
これにより、前記メモリBの該当アドレスから読み出されたデータを、CPU1を介することなく、直接、前記メモリAの該当アドレスに書き込むように制御することができる。
【0054】
以下に、前記メモリBからメモリAに対し、高速転送モードでデータ転送を行う場合の動作を、第3実施例として説明する(図8参照)。
【0055】
第3実施例:
まず、前記CPU1は、アドレスバスを介してアドレスを出力する。このとき、前記メモリセレクタ5は、出力されたアドレスをデコードして各メモリのセレクト信号(メモリAセレクト信号、メモリBセレクト信号)を生成し、夫々のメモリに対するセレクト信号をアサートする(以上、サイクル1)。
【0056】
続いて、CPU1はメモリAに対してデータのライト信号をアサートする(ライト指令)。
【0057】
前記メモリコントローラ2は、前記ライト指令をメモリBへのリード指令に変換し、前記メモリBに対してリード信号をアサートする(リード指令)。続いて、アドレスセレクタ4は、前記メモリBへCPU1から出力されたアドレスをそのまま出力する。
【0058】
このとき、前述のように、データバスコントローラ6において、前記CPU1および前記2つのメモリの3つの間で相互に電送可能とされたバス上における、前記CPU1と前記2つのメモリとの間のデータ信号の電送を遮断することで、前記メモリAとメモリBとの間のバスをフロート状態とし、前記メモリBのアドレスから出力したデータを、前記メモリAのアドレスに入力するようにする(以上、サイクル2)。
【0059】
このようにして、メモリBからデータをリードする動作と、メモリAへデータをライトする動作とを同期させて実行してデータ転送が終了したら、前記メモリBに対してCPU1からリード信号をディアサートさせるとともに、前記メモリAに対して前記メモリコントローラ2より、ライト信号をディアサートさせる。
【0060】
また、CPU1は前記アドレスの出力を停止する。
【0061】
そして、前記メモリセレクタ5は、前記メモリAセレクト信号およびメモリBセレクト信号をディアサートし、前記メモリBからのデータの出力を停止する(以上、サイクル3)。
【0062】
このように、本実施形態のデータ転送機構によれば、前記メモリBの該当アドレスから読み出されたデータを、CPU1を介することなく、直接、前記メモリAの該当アドレスに書き込むことで、CPU1の負担を軽くすることができるので、高速のデータ転送が可能となる。
【0063】
つまり、本実施形態のデータ転送機構は、メモリA、メモリB間において、一方向の高速なデータ転送を可能とするのみでなく、双方向のデータ転送を高速に行うことを可能とする。
【0064】
また、以下に、前記メモリBからメモリAに対し、通常転送モードでデータ転送を行う場合の動作を第4実施例として説明する(図9参照)。なお、図中、太実線はメモリAに対するリード動作時を示し、太波線はメモリBに対するライト動作時を示す。
【0065】
第4実施例:
前記CPU1は、メモリBに対するリード動作を開始するべく、アドレスバスを介してアドレス1を出力する。このとき、前記メモリセレクタ5は、出力されたアドレスをデコードしてメモリBセレクト信号を生成し、前記メモリBセレクト信号をアサートする(以上、サイクル1)。
【0066】
続いて、CPU1はメモリBに対してデータのリード信号をアサートし(リード指令)、メモリBからデータを出力する(以上、サイクル2)。
【0067】
このとき、前記CPU1は、内部レジスタへデータをロードし、このロードが完了したら、前記メモリBに対してCPU1からリード信号をディアサートさせるとともに、CPU1は前記アドレス1の出力を停止する。
【0068】
そして、前記メモリセレクタ5は、前記メモリBセレクト信号をディアサートし、前記メモリBからのデータの出力を停止する(以上、サイクル3)。
【0069】
続いて、前記CPU1は、メモリAに対するライト動作を開始するべく、アドレスバスを介してアドレス2を出力する。このとき、前記メモリセレクタ5は、出力されたアドレス2をデコードしてメモリAセレクト信号を生成し、メモリAセレクト信号をアサートする。さらに、前記CPU1は、前記内部レジスタに一時的に蓄積したデータを出力する(以上、サイクル4)。
【0070】
続いて、CPU1はメモリAに対してデータのライト信号をアサートする(以上、サイクル5)。
【0071】
そして、前記メモリAに対してCPU1の内部レジスタからの前記データの転送が終了したら、前記ライト信号をディアサートさせるとともに、CPU1は前記アドレス2の出力とデータの出力を停止する。
【0072】
また、前記メモリセレクタ5は、前記メモリAセレクト信号をディアサートする(以上、サイクル6)。
【0073】
このように、本実施形態のデータ転送機構においては、通常転送モードにおいても、2つのメモリ間において双方方向のデータ転送を行うことができる。
【0074】
なお、本発明は、前述した実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
【0075】
例えば、2つのメモリ間において一方向にのみ、高速のデータ転送を行なう場合には、前記データバスコントローラ6を省略することも可能である。
【0076】
また、通常転送モードと、高速転送モードとを選択可能とせず、高速転送モードによるデータ転送のみを行なうようにすることも可能であり、その場合には、前記メモリコントローラ2、アドレスカウンタ3、アドレスセレクタ4およびメモリセレクタ5のそれぞれについては、高速転送モード時における制御(判断)のみを行なうように構成すればよい。
【0077】
【発明の効果】
以上説明したように本発明によれば、転送元としての一方のメモリにリード指令とアドレスを与えると同時に、転送先となる他方のメモリにもメモリコントローラを介してライト指令を与え、アドレスカウンタおよびアドレスセレクタ4を介してアドレスを与えるように制御することで、転送元となる一方のメモリの該当アドレスから読み出されたデータを、CPU1を介することなく、直接、転送先となる他方のメモリの該当アドレスに書き込むように制御することが可能となり、その転送モードについても、通常転送モードと高速転送モードとのいずれかの転送モードをユーザが選択可能な構成とすることができる。
【0078】
そして、通常転送モードが選択された場合はもちろんのこと、高速転送モードが選択された場合においても、前記データバスコントローラ6を備えることで、前記他方のメモリの該当アドレスから読み出されたデータを、CPU1を介することなく、直接、前記一方のメモリの該当アドレスに書き込むように制御することも可能となり、前記2つのメモリ間において双方向の高速なデータ転送を実現することができる。
【図面の簡単な説明】
【図1】本発明のデータ転送機構の情報伝達回路を示すブロック図
【図2】第1実施例(高速AtoB)における情報伝達回路を太線で示すブロック図
【図3】第1実施例におけるデータ転送制御のフローチャート
【図4】第1実施例におけるデータ転送制御のタイミングチャート
【図5】第2実施例(通常AtoB)における情報伝達回路を太線で示すブロック図
【図6】第2実施例におけるデータ転送制御のフローチャート
【図7】第2実施例におけるデータ転送制御のタイミングチャート
【図8】第3実施例(高速BtoA)における情報伝達回路を太線で示すブロック図
【図9】第4実施例(通常BtoA)における情報伝達回路を太線で示すブロック図
【図10】従来のデータ転送機構の情報伝達回路を示すブロック図
【符号の説明】
A メモリ(一方のメモリ)
B メモリ(他方のメモリ)
1 CPU
2 メモリコントローラ
3 アドレスカウンタ
4 アドレスセレクタ
5 メモリセレクタ
6 データバスコントローラ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a data transfer mechanism that enables high-speed data transfer between two memories.
[0002]
[Prior art]
FIG. 10 is a block diagram showing a conventional data transfer mechanism.
[0003]
This data transfer mechanism includes a CPU for giving an instruction regarding data transfer between two memories, a memory A as a data transfer source, and a memory B as a transfer destination.
[0004]
An address bus and a data bus are connected between the CPU and the memory A and between the CPU and the memory B. An address signal is transmitted via the address bus, and a data signal is transmitted via the data bus. It is configured to be.
[0005]
Further, between the CPU and the memory A and between the CPU and the memory B, a read command and a write command are given from the CPU to the memory A and the memory B.
[0006]
When transferring data from the memory A to the memory B, the CPU first gives an address and a read command (read command) to the memory A in a read cycle, and transfers the data of the corresponding address of the memory A to the data. The data is taken into a register in the CPU via the bus.
[0007]
Subsequently, in a write cycle, an address, data fetched into the register, and a write command (write command) are given to the memory B, and the data is written to a corresponding address of the memory B.
[0008]
That is, in terms of operation, a read operation for the memory A and a write operation for the memory B are required.
[0009]
If each operation is composed of three cycles of address output (cycle 1), command output (cycle 2), and output stop of each command (securing an interval: cycle 3), 1 cycle A total of six cycles were required for one data transfer.
[0010]
[Patent Document 1]
JP-A-6-131292
[Patent Document 2]
JP-A-7-141287
[0011]
[Problems to be solved by the invention]
As described above, when the data transfer between the two memories A and B requires six cycles related to the read operation and the write operation, the data transfer speed naturally becomes slow, and this has been pointed out as a problem.
[0012]
Therefore, an object of the present invention is to provide a data transfer mechanism capable of transferring data at high speed without passing through a CPU.
[0013]
[Means for Solving the Problems]
To achieve the above object, the data transfer mechanism of the present invention converts a read command into a write command to the other memory when the CPU issues a read command to one of the memories. The write command is given to the other memory, and when the write command is given to the one memory, the write command is converted into a read command to the other memory, and the write command is sent to the other memory. A memory controller having a function of giving the read command, and when a write command to the one memory is given from the memory controller, an arbitrary address independent of the address of the one memory is written to the other memory. An address counter having a function of generating the address as a memory address, and when a read command is given from the CPU to the one memory, The address of the address signal transmitted from the CPU to the one memory is replaced with the address generated in the address counter and transmitted to the other memory, and the CPU issues a write command to the one memory. The address selector having the function of transmitting the address of the address signal transmitted from the CPU to the one memory to the other memory, and the CPU from the CPU to the one memory and the other memory. A memory selector having a function of decoding an address signal to be transmitted and transmitting a select signal for asserting or deasserting each memory to the two memories simultaneously, and a read command to the other memory are given. In this case, the three CPUs and the two memories communicate with each other. On the bus, which is the ability, characterized in that it comprises a data bus controller having a function to cut off the electrical transmission of data signals between said CPU said two memories.
[0014]
According to the data transfer mechanism of the present invention, a read command and an address are given to one memory as a transfer source, and at the same time, a write command is given to the other memory as a transfer destination via a memory controller, and an address counter and an address are given. By controlling so as to give an address via the selector, the data read from the corresponding address of one memory of the transfer source can be directly transferred to the corresponding address of the other memory of the transfer destination without passing through the CPU. Can be controlled to be written in
[0015]
According to the data transfer mechanism of the present invention, when the high-speed transfer mode is selected, the data bus controller cuts off the transmission of the data signal between the CPU and the two memories, whereby The bus between the other memory and the other memory can be in a floating state, so that the data read from the corresponding address of the other memory can be directly transferred to the corresponding memory of the one memory without passing through the CPU. It is also possible to control so as to write to the address, and it is possible to realize bidirectional high-speed data transfer between the two memories.
[0016]
Further, when a read command is given to one memory from the CPU, the data transfer mechanism of the present invention converts the read command into a write command to the other memory and converts the read command into a write command to the other memory. When the write command is given to the one memory, the write command is converted into a read command to the other memory, and the read command is sent to the other memory. And a memory controller having a function of giving, when a write command to the one memory is given from the memory controller, an arbitrary address independent of the address of the one memory as an address of the other memory. An address counter having a function of generating the data; and a read command from the CPU to the one memory; When the address of the address signal transmitted to the one memory is replaced with the address generated in the address counter and transmitted to the other memory, a write command is given from the CPU to the one memory. An address selector having a function of transmitting an address of an address signal transmitted from the CPU to the one memory to the other memory, and an address selector having a function of transmitting the address signal from the CPU to the one memory and the other memory. And a memory selector having a function of simultaneously transmitting a select signal for asserting or deasserting each memory to the two memories and a read command to the other memory. Can be mutually transmitted between the CPU and the three memories. On the scan, characterized in that it comprises a data bus controller having a function to cut off the electrical transmission of data signals between said CPU said two memories.
[0017]
According to the data transfer mechanism of the present invention, data transfer can be performed according to one of the normal transfer mode and the high-speed transfer mode selected by the user.
[0018]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 is a block diagram showing an information transmission circuit of the data transfer mechanism of the present invention.
[0019]
The data transfer mechanism shown in this figure has two memories (memory A and memory B) and a CPU 1 for giving an instruction regarding data transfer between the memories A and B.
[0020]
In the data transfer mechanism of the present embodiment, the user can select one of a normal transfer mode in which data is transferred at a normal speed and a high-speed transfer mode in which data is transferred at a speed higher than the normal transfer mode. The CPU 1 is configured to control data transfer in accordance with one of the modes selected by the user.
[0021]
An address bus and a data bus are connected between the CPU 1 and the memory A and between the CPU 1 and the memory B. An address signal is transmitted via the address bus, and a data signal is transmitted via the data bus. At the same time, a read command and a write command are provided from the CPU 1 to between the memories A and B.
[0022]
The data transfer mechanism of the present embodiment includes a memory controller 2, an address counter 3, an address selector 4, a memory selector 5, and a data bus controller 6.
[0023]
When the high-speed transfer mode is selected, the memory controller 2 converts the read command into a write command to the memory B when a read command is given from the CPU 1 to the memory A. When the write command is given to the memory B, and when the write command is given to the memory A, the write command is converted into a read command to the memory B, and the read command is sent to the memory B. When the normal transfer mode is selected, a write command or a read command for the memory B, which is provided from the CPU 1, is provided to the memory B as it is.
[0024]
When the high-speed transfer mode is selected, when a write command to the memory A is given from the memory controller 2, the address counter 3 stores an arbitrary address independent of the address of the memory A into the memory A. It is configured to generate as the address of B. Even if the generated address is the same as the address of the memory A, there is no problem because it is not generated depending on the address of the memory A.
[0025]
That is, according to the address counter 3 in the data transfer mechanism of the present embodiment, an address (initial value of the address) different from the address (initial value of the address) transmitted from the CPU 1 is given to the memory B as the transfer destination. Value), data can be transferred to any address of the memories A and B.
[0026]
Although various count-up conditions can be considered, high-speed data transfer can also be achieved by configuring the count-up by asserting a write command to the memory B during high-speed transfer.
[0027]
Further, by adjusting the count-up condition of the address counter 3, complicated data such as transferring data from an arbitrary area of the memory as the data transfer source to an arbitrary rectangular area of the memory as the transfer destination can be obtained. Transfer is also possible.
[0028]
When the high-speed transfer mode is selected, when the CPU 1 issues a read command to the memory A, the address selector 4 reads the address of the address signal transmitted from the CPU 1 to the memory A. The address is replaced with the address generated by the address counter 3 and transmitted to the memory B. When the high-speed transfer mode is selected, when a write command is given from the CPU 1 to the memory A, and When the normal transfer mode is selected, the address of the address signal transmitted from the CPU 1 to the memory A is transmitted to the memory B.
[0029]
The memory selector 5 decodes an address signal transmitted from the CPU 1 to the memories A and B, and when a high-speed transfer mode is selected, outputs a select signal for asserting or de-asserting each memory. The configuration is such that when the normal transfer mode is selected, the select signal for the memory A or the memory B given from the CPU 1 is directly supplied to the memory A or the memory B when the normal transfer mode is selected. Have been.
[0030]
Then, when the high-speed transfer mode is selected and the read command is given to the memory B, the data bus controller 6 mutually communicates between the CPU 1 and the two memories. The transmission of the data signal between the CPU 1 and the two memories on the bus enabled to be transmitted is cut off.
[0031]
Next, a description will be given, as a first example, of an operation when data is transferred from the memory A to the memory B in the high-speed transfer mode in the data transfer mechanism of the present embodiment described above (see FIGS. 2 to 4). .
[0032]
First embodiment:
First, the CPU 1 outputs an address 1 via an address bus. At this time, the memory selector 5 decodes the output address 1 to generate select signals (memory A select signal and memory B select signal) for each memory, and asserts the select signal for each memory (see above). Cycle 1).
[0033]
Subsequently, the CPU 1 asserts a data read signal (RD signal) to the memory A (read command) and causes the memory A to output data.
[0034]
At this time, the memory controller 2 converts the read command into a write command to the memory B, and asserts a write signal (WT signal) to the memory B (write command). Subsequently, the address counter 3 generates an arbitrary address 2 as an address of the memory B, and the address selector 4 outputs the address 2 generated by the address counter 3 to the memory B, and outputs the address A to the memory A. Is input (the above is cycle 2).
[0035]
As described above, the operation of reading data from the memory A and the operation of writing data to the memory B are executed in synchronization with each other, and when the data transfer is completed, the read signal is deasserted from the CPU 1 to the memory A. At the same time, the memory controller 2 deasserts a write signal to the memory B.
[0036]
Further, the CPU 1 stops the output of the address 2 and also stops the generation of the address 2 of the memory B and the output of the address 2 in the address counter 3 and the address selector 4.
[0037]
Then, the memory selector 5 deasserts the memory A select signal and the memory B select signal, and stops outputting data from the memory A (the above is cycle 3).
[0038]
As described above, according to the data transfer mechanism of the present embodiment, the read command and the address (address 1) are given to one of the memories as the transfer source, and the other memory as the transfer destination is also transmitted to the other memory via the memory controller 2. Control to give an address (address 2) via the address counter 3 and the address selector 4 so that the data read from the corresponding address 1 of one of the memories as the transfer source can be transferred to the CPU 1 , It is possible to control to write directly to the corresponding address 2 of the other memory as the transfer destination without going through.
[0039]
That is, in the data transfer mechanism of the present embodiment, the conventional data transfer mechanism (the same is true in the normal transfer mode in the data transfer mechanism of the present embodiment) requires six cycles of memory access for data transfer. On the other hand, data transfer can be completed in three cycles, which is half of the above, and high-speed data transfer is realized. Moreover, the data transfer mechanism of the present embodiment can perform data transfer by arbitrarily setting the data transfer destination address (address 2) without imposing a burden on the CPU 1.
[0040]
Further, in the data transfer mechanism of the present embodiment, when the user selects the normal transfer mode, transfer requiring six cycles of memory access is possible as in the conventional case. The operation in that case will be described as a second example of the present embodiment (see FIGS. 5 to 7). In FIG. 5, a thick solid line indicates a read operation on the memory A, and a bold line indicates a write operation on the memory B.
[0041]
Second embodiment:
First, the CPU 1 outputs an address 1 via an address bus in order to start a read operation on the memory A. At this time, the memory selector 5 decodes the output address 1 to generate a memory A select signal, and asserts the memory A select signal (the above is cycle 1).
[0042]
Subsequently, the CPU 1 asserts a data read signal to the memory A (read command) and causes the memory A to output data. At this time, the CPU 1 loads data into the internal register (the above is cycle 2).
[0043]
When the data loading is completed, the CPU 1 deasserts a read signal from the CPU 1 to the memory A, and the CPU 1 stops outputting the address 1.
[0044]
Then, the memory selector 5 deasserts the memory A select signal and stops outputting data from the memory A (the above is cycle 3).
[0045]
Subsequently, the CPU 1 outputs an address 2 via an address bus in order to start a write operation on the memory B. At this time, the memory selector 5 decodes the output address 2 to generate a memory B select signal, and asserts the memory B select signal.
[0046]
Further, the CPU 1 outputs the data temporarily stored in the internal register (the above is the cycle 4).
[0047]
Subsequently, the CPU 1 asserts a data write signal to the memory B (the above is the cycle 5).
[0048]
Then, when the writing of the data is completed, the CPU 1 deasserts the write signal, and further stops the output of the address 2 and the output of the data.
[0049]
Further, the memory selector 5 deasserts the memory B select signal (the above is the cycle 6).
[0050]
As described above, the data transfer mechanism of the present embodiment has a configuration capable of data transfer in the high-speed transfer mode, and can also perform data transfer in the normal transfer mode.
[0051]
Further, the data transfer mechanism of the present embodiment includes the data bus controller 6 so that data transfer from the memory B to the memory A in the high-speed transfer mode can be performed.
[0052]
That is, when the high-speed transfer mode is selected by the user, when a read command is given to the memory B, the data bus controller 6 causes the CPU 1 and the two memories to communicate with each other. By interrupting the transmission of the data signal between the CPU 1 and the two memories on the bus that can be transmitted, the bus between the memories A and B is floated.
[0053]
This makes it possible to control the data read from the corresponding address in the memory B to be directly written to the corresponding address in the memory A without going through the CPU 1.
[0054]
Hereinafter, an operation when data is transferred from the memory B to the memory A in the high-speed transfer mode will be described as a third embodiment (see FIG. 8).
[0055]
Third embodiment:
First, the CPU 1 outputs an address via an address bus. At this time, the memory selector 5 decodes the output address, generates select signals (memory A select signal, memory B select signal) for each memory, and asserts the select signal for each memory (the above is the cycle cycle). 1).
[0056]
Subsequently, the CPU 1 asserts a data write signal to the memory A (write command).
[0057]
The memory controller 2 converts the write command into a read command to the memory B, and asserts a read signal to the memory B (read command). Subsequently, the address selector 4 outputs the address output from the CPU 1 to the memory B as it is.
[0058]
At this time, as described above, in the data bus controller 6, a data signal between the CPU 1 and the two memories on a bus which is mutually transmittable between the CPU 1 and the two memories. , The bus between the memory A and the memory B is floated, and the data output from the address of the memory B is input to the address of the memory A (the above-described cycle cycle). 2).
[0059]
In this manner, the operation of reading data from the memory B and the operation of writing data to the memory A are executed in synchronization with each other, and when the data transfer is completed, the read signal is deasserted from the CPU 1 to the memory B. At the same time, the memory controller 2 deasserts a write signal from the memory A.
[0060]
The CPU 1 stops outputting the address.
[0061]
Then, the memory selector 5 deasserts the memory A select signal and the memory B select signal, and stops outputting data from the memory B (the above is cycle 3).
[0062]
As described above, according to the data transfer mechanism of the present embodiment, the data read from the corresponding address of the memory B is directly written to the corresponding address of the memory A without passing through the CPU 1, thereby enabling the CPU 1 Since the burden can be reduced, high-speed data transfer becomes possible.
[0063]
That is, the data transfer mechanism of the present embodiment not only enables one-way high-speed data transfer between the memories A and B, but also enables high-speed bidirectional data transfer.
[0064]
Hereinafter, an operation when data is transferred from the memory B to the memory A in the normal transfer mode will be described as a fourth embodiment (see FIG. 9). In the drawing, a thick solid line indicates a read operation for the memory A, and a thick broken line indicates a write operation for the memory B.
[0065]
Fourth embodiment:
The CPU 1 outputs an address 1 via an address bus to start a read operation on the memory B. At this time, the memory selector 5 decodes the output address to generate a memory B select signal, and asserts the memory B select signal (the above is cycle 1).
[0066]
Subsequently, the CPU 1 asserts a data read signal to the memory B (read command), and outputs data from the memory B (the above is cycle 2).
[0067]
At this time, the CPU 1 loads data into the internal register. When the loading is completed, the CPU 1 deasserts a read signal from the CPU 1 to the memory B, and the CPU 1 stops outputting the address 1.
[0068]
Then, the memory selector 5 deasserts the memory B select signal and stops outputting data from the memory B (the above is cycle 3).
[0069]
Subsequently, the CPU 1 outputs an address 2 via an address bus to start a write operation on the memory A. At this time, the memory selector 5 decodes the output address 2 to generate a memory A select signal, and asserts the memory A select signal. Further, the CPU 1 outputs the data temporarily stored in the internal register (the above is the cycle 4).
[0070]
Subsequently, the CPU 1 asserts a data write signal to the memory A (the above is the cycle 5).
[0071]
When the transfer of the data from the internal register of the CPU 1 to the memory A is completed, the write signal is deasserted, and the CPU 1 stops outputting the address 2 and outputting the data.
[0072]
Further, the memory selector 5 deasserts the memory A select signal (the above is the cycle 6).
[0073]
As described above, in the data transfer mechanism of the present embodiment, data can be transferred in both directions between the two memories even in the normal transfer mode.
[0074]
Note that the present invention is not limited to the above-described embodiment, and various changes can be made as necessary.
[0075]
For example, when high-speed data transfer is performed between two memories in only one direction, the data bus controller 6 can be omitted.
[0076]
Further, it is also possible that only the data transfer in the high-speed transfer mode is performed without making the normal transfer mode and the high-speed transfer mode selectable. In this case, the memory controller 2, the address counter 3, and the address Each of the selector 4 and the memory selector 5 may be configured to perform only control (determination) in the high-speed transfer mode.
[0077]
【The invention's effect】
As described above, according to the present invention, a read command and an address are given to one memory as a transfer source, and at the same time, a write command is given to the other memory as a transfer destination via a memory controller, and an address counter and By controlling to give an address via the address selector 4, the data read from the corresponding address of one of the memories as the transfer source can be directly transferred to the other memory as the transfer destination without passing through the CPU 1. It is possible to control so as to write to the corresponding address, and the transfer mode can be configured so that the user can select one of the normal transfer mode and the high-speed transfer mode.
[0078]
And, not only when the normal transfer mode is selected, but also when the high-speed transfer mode is selected, by providing the data bus controller 6, the data read from the corresponding address of the other memory can be read. It is also possible to control so as to write directly to the corresponding address of the one memory without going through the CPU 1, thereby realizing bidirectional high-speed data transfer between the two memories.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an information transmission circuit of a data transfer mechanism of the present invention.
FIG. 2 is a block diagram showing a data transmission circuit in the first embodiment (high-speed AtoB) by a bold line;
FIG. 3 is a flowchart of data transfer control in the first embodiment.
FIG. 4 is a timing chart of data transfer control in the first embodiment.
FIG. 5 is a block diagram showing a data transmission circuit in a second embodiment (usually AtoB) by a bold line;
FIG. 6 is a flowchart of data transfer control in a second embodiment.
FIG. 7 is a timing chart of data transfer control in the second embodiment.
FIG. 8 is a block diagram showing a data transmission circuit in a third embodiment (high-speed BtoA) by a thick line;
FIG. 9 is a block diagram showing a data transmission circuit in a fourth embodiment (normal BtoA) by a bold line;
FIG. 10 is a block diagram showing an information transmission circuit of a conventional data transfer mechanism.
[Explanation of symbols]
A memory (one memory)
B memory (the other memory)
1 CPU
2 Memory controller
3 Address counter
4 Address selector
5 Memory selector
6 Data bus controller

Claims (2)

CPUから出力されたアドレス信号を2つのメモリへ電送可能にバス接続するとともに、データ信号を前記CPUおよび前記2つのメモリの3つの間で相互に電送可能にバス接続されており、前記CPUは、データ転送に関する制御を行うように構成されているデータ転送機構であって、
前記CPUから、一方のメモリに対しリード指令が与えられた際には、前記リード指令を他方のメモリへのライト指令に変換して前記他方のメモリに対して前記ライト指令を与え、前記一方のメモリに対しライト指令が与えられた際には、前記ライト指令を他方のメモリへのリード指令に変換して前記他方のメモリに対して前記リード指令を与える機能を有するメモリコントローラと、
前記メモリコントローラから前記一方のメモリへのライト指令が与えられた際には、前記一方のメモリのアドレスとは別個独立の任意のアドレスを前記他方のメモリのアドレスとして生成する機能を有するアドレスカウンタと、
前記CPUから、前記一方のメモリに対しリード指令が与えられた際には、前記CPUから前記一方のメモリに電送されたアドレス信号のアドレスを前記アドレスカウンタにおいて生成されたアドレスに置換して前記他方のメモリへ電送し、前記CPUから、前記一方のメモリに対しライト指令が与えられた際には、前記CPUから前記一方のメモリに電送されたアドレス信号のアドレスを前記他方のメモリへ電送する機能を有するアドレスセレクタと、
前記CPUから前記一方のメモリおよび前記他方のメモリに対し電送されるアドレス信号をデコードし、各メモリをアサートまたはディアサートするセレクト信号を、前記2つのメモリに対して同時に電送する機能を有するメモリセレクタと、
前記他方のメモリに対しリード指令が与えられた際には、前記CPUおよび前記2つのメモリの3つの間で相互に電送可能とされたバス上における、前記CPUと前記2つのメモリとの間のデータ信号の電送を遮断させる機能を有するデータバスコントローラと、
を備えることを特徴とするデータ転送機構。
An address signal output from the CPU is bus-connected to the two memories so as to be able to transmit the data signal, and a data signal is bus-connected so that the data signal can be mutually transmitted between the CPU and the three memories. A data transfer mechanism configured to perform control related to data transfer,
When a read command is given from the CPU to one of the memories, the read command is converted into a write command to the other memory, and the write command is given to the other memory. When a write command is given to the memory, a memory controller having a function of converting the write command into a read command to the other memory and giving the read command to the other memory,
When a write command to the one memory is given from the memory controller, an address counter having a function of generating an arbitrary address independent of the address of the one memory as an address of the other memory. ,
When the CPU issues a read command to the one memory, the address of the address signal transmitted from the CPU to the one memory is replaced with an address generated in the address counter, and A function of transmitting an address of an address signal transmitted from the CPU to the one memory to the other memory when a write command is given from the CPU to the one memory. An address selector having
A memory selector having a function of decoding an address signal transmitted from the CPU to the one memory and the other memory and transmitting a select signal for asserting or deasserting each memory to the two memories simultaneously. When,
When a read command is given to the other memory, the bus between the CPU and the two memories on a bus that can mutually transmit data between the CPU and the two memories. A data bus controller having a function of interrupting transmission of data signals,
A data transfer mechanism comprising:
CPUから出力されたアドレス信号を2つのメモリへ電送可能にバス接続するとともに、データ信号を前記CPUおよび前記2つのメモリの3つの間で相互に電送可能にバス接続されており、前記CPUは、データ転送に関する制御を行うように構成されているデータ転送機構であって、
通常の速度でデータ転送を行う通常転送モードと、前記通常転送モードよりも早い速度でデータ転送を行う高速転送モードとのいずれかをユーザが選択可能とされ、前記CPUは、各モードに応じた制御を行うように構成されており、
高速転送モードが選択された場合においては、前記CPUから、一方のメモリに対しリード指令が与えられた際には、前記リード指令を他方のメモリへのライト指令に変換して前記他方のメモリに対して前記ライト指令を与え、前記一方のメモリに対しライト指令が与えられた際には、前記ライト指令を他方のメモリへのリード指令に変換して前記他方のメモリに対して前記リード指令を与え、通常転送モードが選択された場合においては、前記CPUから与えられる、前記他方のメモリに対するライト指令またはリード指令をそのまま前記他方のメモリに与える機能を有するメモリコントローラと、
高速転送モードが選択された場合において、前記メモリコントローラから前記一方のメモリへのライト指令が与えられた際、前記一方のメモリのアドレスとは別個独立の任意のアドレスを前記他方のメモリのアドレスとして生成する機能を有するアドレスカウンタと、
高速転送モードが選択された場合において、前記CPUから、前記一方のメモリに対しリード指令が与えられた際は、前記CPUから前記一方のメモリに電送されたアドレス信号のアドレスを前記アドレスカウンタにおいて生成されたアドレスに置換して前記他方のメモリへ電送し、
高速転送モードが選択された場合において、前記CPUから、前記一方のメモリに対しライト指令が与えられた際、および、前記通常転送モードが選択された際には、前記CPUから前記一方のメモリに電送されたアドレス信号のアドレスを前記他方のメモリへ電送する機能を有するアドレスセレクタと、
前記CPUから前記一方のメモリおよび前記他方のメモリに対し電送されるアドレス信号をデコードし、高速転送モードが選択された場合においては、各メモリをアサートまたはディアサートするセレクト信号を、前記2つのメモリに対して同時に電送し、通常転送モードが選択された場合においては、前記CPUから与えられる、前記一方のメモリまたは他方のメモリに対するセレクト信号をそのまま前記一方のメモリまたは他方のメモリに与える機能を有するメモリセレクタと、
高速転送モードが選択された場合であって、前記他方のメモリに対しリード指令が与えられた際には、前記CPUおよび前記2つのメモリの3つの間で相互に電送可能とされたバス上における、前記CPUと前記2つのメモリとの間のデータ信号の電送を遮断させる機能を有するデータバスコントローラと
を備えることを特徴とするデータ転送機構。
An address signal output from the CPU is bus-connected to the two memories so as to be able to transmit the data signal, and a data signal is bus-connected so that the data signal can be mutually transmitted between the CPU and the three memories. A data transfer mechanism configured to perform control related to data transfer,
The user can select one of a normal transfer mode in which data is transferred at a normal speed and a high-speed transfer mode in which data is transferred at a speed higher than the normal transfer mode, and the CPU is adapted to each mode. It is configured to perform control,
When the high-speed transfer mode is selected, when a read command is given from the CPU to one of the memories, the CPU converts the read command into a write command to the other memory and transfers the read command to the other memory. When the write command is given to the one memory, the write command is converted into a read command to the other memory, and the read command is sent to the other memory. A memory controller having a function of directly giving a write command or a read command to the other memory given from the CPU to the other memory when the normal transfer mode is selected;
In the case where the high-speed transfer mode is selected, when a write command to the one memory is given from the memory controller, an arbitrary address independent of the address of the one memory is set as the address of the other memory. An address counter having a function of generating;
When the high-speed transfer mode is selected, when a read command is given from the CPU to the one memory, an address of an address signal transmitted from the CPU to the one memory is generated in the address counter. To the other memory and send it to the other memory,
When the high-speed transfer mode is selected, when the CPU issues a write command to the one memory, and when the normal transfer mode is selected, the CPU transfers the one memory to the one memory. An address selector having a function of transmitting the address of the transmitted address signal to the other memory;
An address signal transmitted from the CPU to the one memory and the other memory is decoded, and when a high-speed transfer mode is selected, a select signal for asserting or deasserting each memory is transmitted to the two memories. And the function of simultaneously transmitting a select signal for the one memory or the other memory provided from the CPU to the one memory or the other memory when the normal transfer mode is selected. A memory selector,
When the high-speed transfer mode is selected, and when a read command is given to the other memory, the CPU and the three memories on the bus that are mutually capable of transmitting power are connected to each other. A data bus controller having a function of interrupting transmission of data signals between the CPU and the two memories.
JP2002310851A 2002-10-25 2002-10-25 Data transfer mechanism Withdrawn JP2004145700A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002310851A JP2004145700A (en) 2002-10-25 2002-10-25 Data transfer mechanism

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002310851A JP2004145700A (en) 2002-10-25 2002-10-25 Data transfer mechanism

Publications (1)

Publication Number Publication Date
JP2004145700A true JP2004145700A (en) 2004-05-20

Family

ID=32456243

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002310851A Withdrawn JP2004145700A (en) 2002-10-25 2002-10-25 Data transfer mechanism

Country Status (1)

Country Link
JP (1) JP2004145700A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012194819A (en) * 2011-03-17 2012-10-11 Mitsubishi Electric Corp Program switching circuit and electronic apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012194819A (en) * 2011-03-17 2012-10-11 Mitsubishi Electric Corp Program switching circuit and electronic apparatus

Similar Documents

Publication Publication Date Title
US20070150763A1 (en) Highly energy-efficient processor employing dynamic voltage scaling
US6163545A (en) System and method for data transfer across multiple clock domains
JP2006318457A (en) Memory device, its use and synchronization method of data word
US7689763B2 (en) Method and system for reducing pin count in an integrated circuit when interfacing to a memory
US5724615A (en) Communication circuit receiving data selectably synchronized to the rising or falling edge of a timing signal provided from the data source
JP2004145700A (en) Data transfer mechanism
KR100580179B1 (en) Method and integrated circuit apparatus for reducing simultaneously changing output
KR20010065770A (en) Data write/read control method and circuit in memory device
JPH06266605A (en) Storage device
US6505304B1 (en) Timer apparatus which can simultaneously control a plurality of timers
US7136956B2 (en) Semiconductor device
US6959357B2 (en) Integrated circuit and method of controlling same
JP2004287948A (en) Memory controller and electronic equipment controller
JP2009093283A (en) Multichip system and semiconductor device
JP2002351818A (en) Bus control system
JP2008287557A (en) Bus system and microcomputer
JPH11306074A (en) Information processor
US6384633B1 (en) Semiconductor device
JP3620181B2 (en) Semiconductor device and read access method
KR20000038480A (en) Control circuit for data output buffer having small chip area and low power consumption and synchronous dram of dual data rate with same
JP6488756B2 (en) Communication control apparatus and image forming apparatus
JP3366202B2 (en) Bus controller and data processing system
KR100262692B1 (en) Method for control of device in a process
JP4526664B2 (en) Bus bridge circuit
JP2001273245A (en) Electronic equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050517

A977 Report on retrieval

Effective date: 20070628

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Effective date: 20070703

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070925

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20071101