JP2011022781A - データ転送装置、データ転送方法及びデータ転送プログラム - Google Patents

データ転送装置、データ転送方法及びデータ転送プログラム Download PDF

Info

Publication number
JP2011022781A
JP2011022781A JP2009166979A JP2009166979A JP2011022781A JP 2011022781 A JP2011022781 A JP 2011022781A JP 2009166979 A JP2009166979 A JP 2009166979A JP 2009166979 A JP2009166979 A JP 2009166979A JP 2011022781 A JP2011022781 A JP 2011022781A
Authority
JP
Japan
Prior art keywords
transfer
address
value
unit
destination
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.)
Pending
Application number
JP2009166979A
Other languages
English (en)
Inventor
Yasuhiro Omori
康宏 大森
Yasuto Omiya
康人 近江谷
Shigeru Hashimoto
茂 橋本
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009166979A priority Critical patent/JP2011022781A/ja
Publication of JP2011022781A publication Critical patent/JP2011022781A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

【課題】DMA転送装置において、任意のタイミングに転送情報を切り替え可能とすることを目的とする。
【解決手段】転送周期決定回路120は、所定の周期を示す周期信号40を生成する。切り替え回路130は、周期信号40に同期して、カウンタ値をインクリメントする。また、切り替え回路130は、カウンタ値をオフセット値43として、固定アドレス記憶部140が記憶した固定アドレス41とオフセット値43とからアドレス44を計算する。DMA転送チャネル110は、切り替え回路130のRAMにおけるアドレス44が示す位置から転送情報42を取得する。そして、DMA転送チャネル110は、取得した転送情報42に従いデータを転送する。
【選択図】図2

Description

この発明は、例えば、所定のタイミングで転送情報を変更してDMA(Direct Memory Access)転送を繰り返し実行するデータ転送技術に関する。
周期的にデータ転送を繰り返すDMA転送装置において、周期毎にデータの転送情報(転送元アドレス、転送先アドレス等の情報)が異なる場合がある。この場合、周期毎に、CPU(Central Processing Unit)が、DMA転送装置の転送情報の設定を行ってデータ転送を行う。そのため、DMA転送装置には、周期毎に、転送情報の設定によるオーバヘッドが発生する。
特に、小さなサイズのデータを転送する場合には、データの転送時間に対するオーバヘッドの割合が高くなる。
特許文献1には、CPUが転送先アドレスを切り替えることなく、自動的に転送先のアドレスを切り替えてデータ転送を行うDMA転送装置についての記載がある。
このDMA転送装置では、転送の開始アドレスと終了アドレスとの組を複数用意しておき、複数の組のうち1組を選択し転送を開始する。選択した開始アドレスと終了アドレスとの組が示す転送先アドレスに対して転送が終了すると、自動的に他の開始アドレスと終了アドレスとの組を選択して、転送を開始する。この処理を順次繰り返す。
特開平2002−183080号公報
特許文献1に記載されたDMA転送装置では、選択したアドレスに対して転送が終了した場合に、次のアドレスを選択するものであり、任意のタイミングで転送情報を切り替えることはできない。
この発明は、DMA転送装置において、CPUによらず、任意のタイミングで転送情報を切り替えて、データ転送することを可能にすることを目的とする。
この発明に係るデータ転送装置は、例えば、
所定の周期を示す周期信号を生成する周期生成部と、
前記周期生成部が生成した周期信号に同期して、値を変更する第1値変更部と、
前記第1値変更部が変更した値に応じて、送信元アドレスと送信先アドレスとの少なくとも一方を含む転送情報を読み込む読込先を決定する読込先決定部と、
前記読込先決定部が決定した読込先から転送情報を読み込み、読み込んだ転送情報に従って、データを転送するデータ送信部と
を備えることを特徴とする。
この発明に係るデータ転送装置によれば、所定の周期で転送情報の読込先を変更し、変更した読込先から読み込んだ転送情報に従ってデータを転送する。そのため、周期の設定により、任意のタイミングで転送情報を切り替えすることができる。
DMA転送装置による転送処理の一例を示す図。 実施の形態1に係るDMA転送装置100の構成図。 分周回路の一例を示す図。 図3に示す分周回路により生成される周期信号40のタイミングチャート。 実施の形態1に係る切り替え回路130の構成図。 実施の形態1に係る間接アドレスRAM133の説明図。 実施の形態2に係るDMA転送装置100の構成図。 実施の形態2に係る選択回路150の構成図。 実施の形態3に係るDMA転送装置100の構成図。 実施の形態3に係るチャネルコマンドワード170の説明図。 実施の形態3に係る切り替え回路130の構成図。 実施の形態4に係るDMA転送装置100の構成図。 実施の形態4に係る選択回路150の構成図。 実施の形態5に係るDMA転送装置100の構成図。
以下、図に基づきこの発明の実施の形態について説明する。
なお、以下の説明において、転送情報とは、転送元アドレス(データの読み出し元アドレス)と、転送先アドレス(データの書き込み先アドレス)との少なくともいずれかを含む情報である。特に、以下の実施の形態では、後述するように、転送情報は、転送元アドレス、転送先アドレス、転送長、転送モードを含む情報である。
図1は、DMA転送装置による転送処理の一例を示す図である。
図1に示すDMA転送装置は、周期1では、転送元であるAから転送先であるDへデータを転送し、周期2では、転送元であるBから転送先であるCへデータを転送する。そして、この処理を繰返し行う。つまり、図1に示すDMA転送装置は、2つの転送情報を交互に切り替えて、データ転送を行う。
ここで、周期1、周期2、・・・とは、ある決められた時間であり、例えば、1秒間等である。つまり、図1に示す従来のDMA転送装置では、ある時間毎に転送情報を切り替えて、データ転送を行う。
従来のDMA転送装置では、周期1が始まる際、CPUにより転送情報が設定される。同様に、周期1から周期2に移る際や、周期2から周期3に移る際にもCPUにより転送情報が設定される。つまり、周期毎に、CPUにより転送情報が設定され、オーバヘッドが発生する。
特許文献1に記載された技術により、転送情報を切り替える場合、ある時間毎に転送情報を切り替えることはできない。したがって、図1に示す場合において、CPUによらず、転送情報を切り替えることはできない。
実施の形態1.
図2は、実施の形態1に係るDMA転送装置100(データ転送装置)の構成図である。
DMA転送装置100は、バス11を介してCPU10に接続される。また、DMA転送装置100は、バス11を介して、RAMや磁気ディスク装置等の記憶装置と接続される。さらに、DMA転送チャネル110は、バス11やUSB(Universal Serial Bus)ポート等のインターフェース等を介してデバイス(例えば、プリンタ、スキャナ、カメラ等)とも接続されていてもよい。
DMA転送装置100は、DMA転送チャネル110(データ転送部)、転送周期決定回路120(周期生成部)、切り替え回路130、固定アドレス記憶部140を備える。
DMA転送チャネル110は、後述する方法により取得した転送情報42における転送元アドレスに従って、リード要求21により転送データをリードデータ22として、バス11を介して接続されたRAMや磁気ディスク装置、あるいはデバイス等から読み出す。DMA転送チャネル110は、読み出したリードデータ22を、内部バッファ(メモリ)に一時記憶する。そして、DMA転送チャネル110は、後述する方法により取得した転送情報42における転送先アドレスに従って、ライト要求23により内部バッファに一時記憶したリードデータ22を、バス11を介して接続されたRAMや磁気ディスク装置、あるいはデバイス等に書き込む(転送する)。
転送周期決定回路120は、クロック周波数30(CLK)とリセット信号31(RST)とを入力として、所定の周期を示す周期信号40を生成する分周回路である。つまり、転送周期決定回路120は、クロック周波数30を分周して、クロック周波数30の周期の整数倍の周期を示す周期信号40を生成する。そして、転送周期決定回路120は、生成した周期信号40を切り替え回路130へ送信する。
図3は、分周回路の一例を示す図である。図4は、図3に示す分周回路により生成される周期信号40のタイミングチャートである。図3に示す分周回路は、フリップフロップ60,61、NOT回路62、NAND回路63により構成される。図4に示すように、図3に示す分周回路は、2分周した周期D1の周期信号40と、4分周した周期D2の周期信号40とを生成する。
なお、ここでは、転送周期決定回路120の一例として2分周と4分周との周期信号40を生成する分周回路を示したが、転送周期決定回路120はこれに限らず、何分周する分周回路であってもよい。
切り替え回路130は、転送周期決定回路120が生成した周期信号40に応じて、DMA転送チャネル110に取得させる転送情報42を切り替える回路である。
図5は、切り替え回路130の構成図である。
切り替え回路130は、カウンタ131(第1値変更部)、読込先決定回路132(読込先決定部)、間接アドレスRAM133(アドレス記憶部)を備える。
カウンタ131は、周期信号40に同期して、カウンタ値をインクリメントする。つまり、カウンタ131のカウンタ値は、転送周期決定回路120が生成した周期毎に値が増える。
読込先決定回路132は、カウンタ131のカウンタ値をオフセット値とし、後述する固定アドレス記憶部140が記憶した固定アドレス41(ベースアドレス)とオフセット値43とからアドレス44を計算する。例えば、読込先決定回路132は、固定アドレス41とオフセット値43とを加算して、アドレス44を計算する加算回路である。
図6は、間接アドレスRAM133の説明図である。
図6に示すように、間接アドレスRAM133は、予めCPU10により登録された複数の転送情報42を記憶する。転送情報42には、転送元アドレス、転送先アドレス、転送長(転送するデータ長)、転送モード(転送方法、使用するプロトコル等)等の転送に関係する情報が含まれる。
DMA転送チャネル110は、間接アドレスRAM133における読込先決定回路132が計算したアドレス44が示す位置から転送情報42を読み込むことにより、転送情報42を取得する。そして、DMA転送チャネル110は、取得した転送情報42に従い、データ転送を行う。
例えば、ベースアドレスである固定アドレス41に、オフセット値43を足すと図6のアドレス1となった場合、DMA転送チャネル110は転送元アドレス1と転送先アドレス1とを含む転送情報42を読み込む。そして、DMA転送チャネル110は、例えば、バス11を介して接続されたRAMにおける転送元アドレス1が示す位置のデータをリードし、リードしたデータを転送先アドレス1へ転送する。
固定アドレス記憶部140は、予め設定された固定アドレス41を記憶するRAM、ROM等の記憶装置である。
以上のように、実施の形態1に係るDMA転送装置100では、転送周期決定回路120で決定された周期が示すタイミングで、カウンタ131の値が変化することにより、間接アドレスRAM133から転送情報42を読み出すアドレスが自動的に切り替わる。これにより、DMA転送装置100は、次の転送情報42を読み出すことが可能である。そのため、DMA転送装置100は、CPU10の介在なしに、次の転送情報42に従った転送を開始することができる。
つまり、実施の形態1に係るDMA転送装置100では、CPU10により転送情報が設定されるのは、間接アドレスRAM133に複数の転送情報42が設定される一度だけである。間接アドレスRAM133に転送情報42が設定された後は、DMA転送チャネル110は、転送周期決定回路120で決定された周期が示すタイミングで、自動的に切り替えて間接アドレスRAM133から転送情報42を読み出し、転送を行う。したがって、転送情報42が変更される毎に、CPU10が転送情報42を設定していたオーバヘッドが発生しない。また、転送周期決定回路120によって決定した周期が示すタイミングに合わせて、転送情報42の切り替えを行うことができる。
なお、上記説明では、カウンタ131はアップカウンタとし、オフセット値となるカウンタ値はインクリメントされるとした。しかし、カウンタ131は、ダウンカウンタであってもよいし、カウンタ131に代えてビット反転回路としてもよい。
実施の形態2.
図7は、実施の形態2に係るDMA転送装置100(データ転送装置)の構成図である。実施の形態2に係るDMA転送装置100について、実施の形態1に係るDMA転送装置100と異なる部分のみ説明する。
実施の形態1に係るDMA転送装置100では、切り替え回路130を備えていた。これに対して、実施の形態2に係るDMA転送装置100では、切り替え回路130に代えて、選択回路150を備える。
また、実施の形態1に係るDMA転送装置100は、切り替え回路130で間接アドレスRAM133から読み出すアドレスを切り替えるためのベースアドレスを記憶した固定アドレス記憶部140を備えた。しかし、実施の形態2に係るDMA転送装置100は、間接アドレスRAM133を用いて転送情報42を決定していないため、固定アドレス記憶部140を備えていない。
図8は、選択回路150の構成図である。
選択回路150は、カウンタ151(第1値変更部)、読込先決定回路152(読込先決定部)、アドレスレジスタA153、アドレスレジスタB154を備える。
カウンタ151は、カウンタ131と同様であり、周期信号40に同期して、カウンタ値をインクリメントする。
読込先決定回路152は、カウンタ151のカウンタ値45に応じて、アドレスレジスタA153とアドレスレジスタB154とのどちらのアドレスレジスタを使用するかを決定する。アドレスレジスタA153とアドレスレジスタB154とには、異なる転送情報42が記憶されている。したがって、読込先決定回路152が使用するレジスタを切り替えることにより、転送情報42が切り替えられる。
DMA転送チャネル110は、読込先決定回路152が決定したレジスタから転送情報42を読み込むことにより、転送情報42を取得する。そして、DMA転送チャネル110は、取得した転送情報42に従い、データ転送を行う。
以上のように、実施の形態2に係るDMA転送装置100は、実施の形態1に係るDMA転送装置100よりも小さい規模の回路で、実施の形態1に係るDMA転送装置100と同様に、自動的に転送情報42を切り替えることができ、CPUが転送情報を設定するオーバヘッドを削減することができる。
なお、カウンタ151は、カウンタ131と同様に、ダウンカウンタであってもよいし、カウンタ131に代えてビット反転回路としてもよい。
実施の形態3.
図9は、実施の形態3に係るDMA転送装置100(データ転送装置)の構成図である。実施の形態3に係るDMA転送装置100について、実施の形態1に係るDMA転送装置100と異なる部分のみ説明する。
実施の形態1に係るDMA転送装置100では、ベースアドレスとして使用できる値が、固定アドレス記憶部140が記憶した固定アドレス41の1種類であった。これに対して、実施の形態3に係るDMA転送装置100では、固定アドレス記憶部140に代えて、複数のベースアドレス47を記憶したチャネルコマンドワード170(ベースアドレス記憶部)を備える。
また、実施の形態3に係るDMA転送装置100では、チャネルコマンドワード170が記憶した複数のベースアドレス47の中から使用するベースアドレス47を選択するためのカウンタ160(第2値変更部)を備える。
カウンタ160は、カウンタ131と同様であり、周期信号40に同期して、カウンタ値をインクリメントする。なお、転送周期決定回路120が複数の周期を示す周期信号を生成する場合、カウンタ160は、カウンタ131が同期する周期信号とは異なる周期を示す周期信号に同期して、カンウト値をインクリメントしてもよい。
図10は、チャネルコマンドワード170の説明図である。
図10に示すように、チャネルコマンドワード170は、予めCPU10により登録された複数のベースアドレス47を記憶したRAM等の記憶装置である。
図11は、実施の形態3に係る切り替え回路130の構成図である。
図11に示すように、切り替え回路130の読込先決定回路132は、カウンタ160のカウンタ値をアドレス46として、チャネルコマンドワード170におけるアドレス46が示す位置からベースアドレス47を読み出す。そして、読込先決定回路132は、ベースアドレス47とオフセット値43とからアドレス44を計算する。
例えば、図10ではカウンタ値が0であるため、読込先決定回路132は、チャネルコマンドワード170における0番目のアドレスのベースアドレス0を読み出す。
そして、実施の形態1と同様に、DMA転送チャネル110は、間接アドレスRAM133におけるアドレス44が示す位置から転送情報42を読み込み、読み込んだ転送情報42に従いデータ転送を行う。
実施の形態3に係るDMA転送装置100では、転送情報42が使用される順序と異なる順序で間接アドレスRAM133に格納されている場合であっても、チャネルコマンドワード170が記憶したベースアドレス47を切り替えてアドレス44を計算することにより、対応することができる。
実施の形態4.
図12は、実施の形態4に係るDMA転送装置100(データ転送装置)の構成図である。実施の形態4に係るDMA転送装置100について、実施の形態2に係るDMA転送装置100と異なる部分のみ説明する。
実施の形態2に係るDMA転送装置100では、カウンタ151のカウンタ値45によって使用するレジスタを切り替えていた。
これに対して、実施の形態4に係るDMA転送装置100では、複数のベース値48を記憶したチャネルコマンドワード170(ベース値記憶部)と、チャネルコマンドワード170が記憶した複数のベース値48の中から使用するベース値48を選択するためのカウンタ160(第2値変更部)を備える。そして、実施の形態4に係るDMA転送装置100では、ベース値48とカウンタ値45とによって使用するレジスタを切り替える。
カウンタ160は、実施の形態3に係るカウンタ160と同様である。
チャネルコマンドワード170は、予めCPU10により登録された複数のベース値48を記憶したRAM等の記憶装置である。
図13は、実施の形態4に係る選択回路150の構成図である。
図13に示すように、選択回路150の読込先決定回路152は、カウンタ160のカウンタ値をアドレス46として、チャネルコマンドワード170におけるアドレス46が示す位置からベース値48を読み出す。そして、読込先決定回路152は、ベース値48とカウンタ値45とから使用するレジスタを決定する。
そして、実施の形態2と同様に、DMA転送チャネル110は、読込先決定回路152が決定したレジスタから転送情報42を読み込み、読み込んだ転送情報42に従いデータ転送を行う。
実施の形態4に係るDMA転送装置100では、転送情報42が使用する順序と異なる順序でレジスタに格納されている場合であっても、チャネルコマンドワード170が記憶したベース値48を切り替えて使用するレジスタを計算することにより、対応することができる。
実施の形態5.
図14は、実施の形態5に係るDMA転送装置100(データ転送装置)の構成図である。実施の形態5に係るDMA転送装置100について、実施の形態1に係るDMA転送装置100と異なる部分のみ説明する。
実施の形態1に係るDMA転送装置100では、DMA転送チャネル110は、転送情報42における転送元アドレスに従って、リード要求21により転送データをリードデータ22として読み出し、内部バッファに一時記憶した後、転送情報42における転送先アドレスに従って、ライト要求23により内部バッファに一時記憶したリードデータ22を書き込む。
これに対して、実施の形態5に係るDMA転送装置100では、DMA転送チャネル110は、バス11を介して接続されたデバイス12(例えば、プリンタ、スキャナ、カメラ等)から、データ受信24を行う。つまり、DMA転送チャネル110がリード要求21により、能動的にデータの読み出しをするのではなく、デバイス12が送信したデータをDMA転送チャネル110が受動的に受信する。DMA転送チャネル110は、受信したデータを内部バッファに一時記憶する。そして、DMA転送チャネル110は、内部バッファに一定のデータが格納されると、転送先アドレスへライト要求23を行い、データ転送を行う。
DMA転送チャネル110が転送情報42を取得する方法等ついては、実施の形態1と同様である。
なお、DMA転送チャネル110が転送情報42を取得する方法等については、実施の形態1ではなく、実施の形態2−4のいずれかと同様であってもよい。
以上の実施の形態に係るDMA転送装置100は、CPU10がDMA転送装置100の転送状態を確認可能にするためのステータス情報を有するとしてもよい。つまり、DMA転送装置100のメモリ(ステータス記憶部)に、転送中、転送終了、転送エラー等のステータスを示すステータス情報を記憶しておき、CPU10からアクセス可能にしておいてもよい。
DMA転送装置100がステータス情報を有することで、CPU10がDMA転送装置100の転送状況を判断することが容易となり、エラー発生時の処理や転送の中断等を容易に行うことができる。
また、以上の実施の形態に係るDMA転送装置100は転送周期決定回路120により生成された周期信号40により転送情報42の切り替えがされていた。ここで、周期信号40が示す周期は、クロック周波数30の整数倍の周期である。
クロック周波数30の整数倍の周期以外のタイミングで転送情報42を切り替えしたい場合等には、周期信号40が示す周期を遅延させる遅延回路(遅延部)を設けてもよい。つまり、転送周期決定回路120は、内部にクロック周波数30が入力される分周回路と、分周回路が生成した周期信号が入力される遅延回路とを備えてもよい。遅延回路を備えることにより、転送情報42の切り替えのタイミングをクロック周波数30の整数倍のタイミングよりも自由度を上げて決めることが可能となる。つまり、クロック周波数30の整数倍の周期と位相をずらして、転送情報42を切り替えることが可能となる。
また、上記の説明において、転送情報とは、転送元アドレスと、転送先アドレスとの少なくともいずれかを含む情報であるとした。転送元アドレスと、転送先アドレスとの少なくともいずれかとしたのは、実施の形態5で説明したように、受動的に受信したデータを転送する場合に、転送情報に転送元アドレスが不要になる場合があるからである。また、この場合以外に、例えば、転送先アドレスが固定であり、転送元アドレスだけが周期的に切り替わる場合には、転送情報には、転送元アドレスだけを含め、転送先アドレスは別途記憶しておくようにしてもよい。同様に、転送元アドレスが固定であり、転送先アドレスだけが周期的に切り替わる場合には、転送情報には、転送元アドレスだけを含め、転送先アドレスは別途記憶しておくようにしてもよい。このようにすることで、RAMの記憶領域を節約することができる。
なお、DMA転送チャネル110は、例えば、ソフトウェア、プログラム、あるいは回路で実現されてもよい。また、「〜回路」と説明したものは、ソフトウェア、プログラムで実現されてもよい。これらのソフトウェア、プログラムは、CPU10あるいは、CPU10とは別にDMA転送装置100内部等に設けられた処理装置により実行される。
以上をまとめると次のようになる。
DMA転送装置100は、以下の(1)から(3)を特徴とする。
(1)周期毎に処理を繰り返す装置において、周期毎に送信アドレス又は受信アドレスが異なる時に、DMAを使用し転送を行う場合に、周期毎に送信アドレス又は受信アドレスの切り替えを自動的に行う。
(2)送信アドレス又は受信アドレスは間接的に決定する。周期毎に自動的に使用されるアドレスの参照先を変える事で、CPUからDMAの転送先を設定する必要がなくなる。
(3)送信アドレス又は受信アドレスの参照先を変更するタイミングは、周期を決めているタイミングに分周し、分周した周期のタイミングで行う。
また、DMA転送装置100は、
データを読み出す転送元のアドレスと、データを書き込む転送先アドレスと転送長を指定して転送を行い、転送元アドレス、転送先アドレス、転送長の3つの転送情報を格納するDMA転送装置100であって、
分周によって周期処理の周期を整数倍にした周期を決定する転送周期決定回路に接続され、
間接指定によって前記転送元アドレス、前記転送先アドレスを読み出すための前記転送元アドレス、前記転送先アドレスの組を複数格納する間接アドレスRAMを備え、
前記転送周期決定回路によって分周された周期のタイミングに同期して、値をインクリメント又はデクリメントするカウンタ又はビット反転回路を備え、
前記カウンタ又はビット反転回路の値によって、前記間接アドレスRAMの前記転送元アドレス、前記転送先アドレスが格納されているアドレスを切り替える事が可能な切り替え回路を備え、
切り替えによって得られたアドレスによって前期間接アドレスRAMを読み出し、読み出した前期間接アドレスRAMの前記転送元アドレス、前記転送先アドレスに従ってDMA転送を行うことを特徴とする。
さらに、DMA転送装置100は、
データを読み出す転送元のアドレスと、データを書き込む転送先アドレスと転送長を指定して転送を行い、転送元アドレス、転送先アドレス、転送長の3つの転送情報を格納するDMA転送装置100であって、
前記転送周期決定回路に接続され、
前記転送元アドレス、前記転送先アドレスのデータ転送に必要な転送情報が格納されている複数のアドレスレジスタを備え、
前記カウンタ又は前記ビット反転回路を備え、
前記カウンタ又はビット反転回路の値によって、前記複数のアドレスレジスタから任意の前記アドレスレジスタを選択する選択回路を備え、
選択されたアドレスレジスタから読み出した前記転送元アドレス、前記転送先アドレスに従ってDMA転送を行うことを特徴とする。
また、さらに、DMA転送装置100は、
データを読み出す転送元のアドレスと、データを書き込む転送先アドレスと転送長を指定して転送を行い、転送元アドレス、転送先アドレス、転送長の3つの転送情報を複数格納するDMA転送装置100であって、
前記転送周期決定回路に接続され、
前記間接アドレスRAMを備え、
前記カウンタ又は前記ビット反転回路を備え、
前記間接アドレスRAMに前記転送情報が不連続に複数格納されている場合に、ベースアドレスを使用して不連続に格納されている前記転送情報を選択することを可能にするため、複数のベースアドレスが格納されており前記カウンタ又はビット反転回路の値によって異なるベースアドレスを選択することが可能なRAMであるチャネルコマンドワードを備え、
前記カウンタ又は前記ビット反転回路の値と前記チャネルコマンドワードに格納されている前記ベースアドレスによって、前記間接アドレスRAMの前記転送元アドレス、前記転送先アドレスの前記転送情報が格納されているアドレスを切り替えることが可能な切り替え回路を備え、
切り替えによって得られたアドレスによってRAMを読み出し、読み出した前期間接アドレスRAMの前記転送元アドレス、前記転送先アドレスに従ってDMA転送を行うことを特徴とする。
また、DMA転送装置100は、
データを読み出す転送元のアドレスと、データを書き込む転送先アドレスと転送長を指定して転送を行い、転送元アドレス、転送先アドレス、転送長の3つの転送情報を複数格納するDMA転送装置100であって、
前記転送周期決定回路に接続され、
前記アドレスレジスタを複数備え、
前記カウンタ又は前記ビット反転回路を備え、
前記転送情報が保存されているアドレスレジスタが不連続である場合に、ベースアドレスを使用して不連続なアドレスレジスタを選択することを可能にするため、複数のベースアドレスが格納されており前記カウンタ又はビット反転回路の値によって異なるベースアドレスを選択することが可能なRAMであるチャネルコマンドワードを備え、
前記カウンタの値と前記ベースアドレスによって前記複数のアドレスレジスタから任意の前記アドレスレジスタを選択することが可能な選択回路を備え、
選択された前記アドレスレジスタに格納されている前記転送元アドレス、前記転送先アドレス、前記転送長に従ってDMA転送を行うことを特徴とする。
さらに、DMA転送装置100は、
デバイスから送られるデータを受信するバッファに保持されているデータを、書き込む転送先アドレスを指定して転送し、転送先アドレスの転送情報を格納するDMA転送装置100であって、
分周によって周期処理の周期を整数倍にした周期を決定する転送周期決定回路に接続され、
間接指定によって前記転送先アドレスを読み出すための前記転送先アドレスを複数格納する間接アドレスRAMを備え、
前記転送周期決定回路によって分周された周期のタイミングに同期して、値をインクリメント又はデクリメントするカウンタ又はビット反転回路を備え、
前記カウンタ又はビット反転回路の値によって、前記間接アドレスRAMの前記転送先アドレスが格納されているアドレスを切り替える事が可能な切り替え回路を備え、
切り替えによって得られたアドレスによって前期間接アドレスRAMを読み出し、読み出した前記転送先アドレスに従ってDMA転送を行うことを特徴とする。
また、さらに、DMA転送装置100は、
デバイスから送られるデータを受信するバッファに保持されているデータを、書き込む転送先アドレスを指定して転送し、転送先アドレスの転送情報を格納するDMA転送装置100であって、
前記転送周期決定回路に接続され、
前記間接アドレスRAMを備え、
前記カウンタ又は前記ビット反転回路を備え、
前記間接アドレスRAMに前記転送情報が不連続に複数格納されている場合に、ベースアドレスを使用して不連続に格納されている前記転送情報を選択することを可能にするため、複数のベースアドレスが格納されており前記カウンタ又はビット反転回路の値によって異なるベースアドレスを選択することが可能なRAMであるチャネルコマンドワードを備え、
前記カウンタ又はビット反転回路の値と前記チャネルコマンドワードに格納されている前記ベースアドレスによって、前記間接アドレスRAMの前記転送先アドレスの前記転送情報が格納されているアドレスを切り替えることが可能な切り替え回路を備え、
切り替えによって得られたアドレスによってRAMを読み出し、読み出した前期間接アドレスRAMの前記転送先アドレスに従ってDMA転送を行うことを特徴とする。
また、DMA転送装置100は、CPUがDMA転送装置の転送状況を確認するためのステータス情報を備えることを特徴とする。
さらに、DMA転送装置100は、転送周期決定回路によって決定された周期を遅延させることで転送の開始タイミングの自由度を向上させるための遅延回路を備えることを特徴とする。
10 CPU、11 バス、12 デバイス、21 リード要求、22 リードデータ、23 ライト要求、24 データ受信、30 クロック周波数、31 リセット信号、40 周期信号、41 固定アドレス、42 転送情報、43 オフセット値、44 アドレス、45 カウンタ値、46 アドレス、47 ベースアドレス、48,52 ベース値、60,61 フリップフロップ、62 NOT回路、63 NAND回路、100 DMA転送装置、110 DMA転送チャネル、120 転送周期決定回路、130 切り替え回路、131,151,160 カウンタ、132,152 読込先決定回路、133 間接アドレスRAM、140 固定アドレス記憶部、150 選択回路、153 アドレスレジスタA、154 アドレスレジスタB、170 チャネルコマンドワード。

Claims (9)

  1. 所定の周期を示す周期信号を生成する周期生成部と、
    前記周期生成部が生成した周期信号に同期して、値を変更する第1値変更部と、
    前記第1値変更部が変更した値に応じて、送信元アドレスと送信先アドレスとの少なくとも一方を含む転送情報を読み込む読込先を決定する読込先決定部と、
    前記読込先決定部が決定した読込先から転送情報を読み込み、読み込んだ転送情報に従って、データを転送するデータ送信部と
    を備えることを特徴とするデータ転送装置。
  2. 前記データ転送装置は、さらに、
    複数の転送情報を記憶したアドレス記憶部を備え、
    前記読込先決定部は、前記第1値変更部が変更した値をオフセット値として、所定のベースアドレスと前記オフセット値とから読込先アドレスを計算し、
    前記データ送信部は、前記読込先決定部が計算した読込先アドレスが示す前記アドレス記憶部における位置から転送情報を読み込む
    ことを特徴とする請求項1に記載のデータ転送装置。
  3. 前記データ転送装置は、さらに、
    複数のベースアドレスを記憶したベースアドレス記憶部と、
    前記周期生成部が生成した周期信号に同期して、値を変更する第2値変更部と、
    前記読込先決定部は、前記第2値変更部が変更した値に応じて、前記ベースアドレス記憶部が記憶した複数のベースアドレスのうち、どのベースアドレスを使用するかを決定して、決定したベースアドレスと前記オフセット値とから読込先アドレスを計算する
    ことを特徴とする請求項2に記載のデータ転送装置。
  4. 前記データ転送装置は、さらに、
    転送情報を記憶した複数のレジスタを備え、
    前記読込先決定部は、前記第1値変更部が変更した値に応じて、前記複数のレジスタのうち、どのレジスタを使用するかを決定し、
    前記データ送信部は、前記読込先決定部が決定したレジスタから転送情報を読み込む
    ことを特徴とする請求項1に記載のデータ転送装置。
  5. 前記データ転送装置は、さらに、
    複数のベース値を記憶したベース値記憶部と、
    前記周期生成部が生成した周期信号に同期して、値を変更する第2値変更部を備え、
    前記読込先決定部は、前記第2値変更部が変更した値に応じて、前記ベース値記憶部が記憶した複数のベース値のうち、どのベース値を使用するかを決定して、決定したベース値と前記第1値変更部が変更した値とに応じて、前記複数のレジスタのうち、どのレジスタを使用するかを決定する
    ことを特徴とする請求項4に記載のデータ転送装置。
  6. 前記データ転送装置は、さらに、
    前記周期生成部が生成した周期信号を遅延させる遅延部を備え、
    前記第1値変更部は、前記遅延部が遅延させた周期信号に同期して値を変更する
    ことを特徴とする請求項1から5までのいずれかに記載のデータ転送装置。
  7. 前記データ転送装置は、さらに、
    転送状態を示すステータス情報を外部から参照可能に記憶するステータス記憶部
    を備えることを特徴とする請求項1から6までのいずれかに記載のデータ転送装置。
  8. 所定の周期を示す周期信号を生成する周期生成ステップと、
    前記周期生成ステップで生成した周期信号に同期して、値を変更する第1値変更ステップと、
    前記第1値変更ステップで変更した値に応じて、送信先アドレスを読み込む読込先を決定する読込先決定ステップと、
    前記読込先決定ステップで決定した読込先から送信先アドレスを読み込み、読み込んだ送信先アドレスへ所定の転送データを転送するデータ送信ステップと
    を備えることを特徴とするデータ転送方法。
  9. 所定の周期を示す周期信号を生成する周期生成処理と、
    前記周期生成処理で生成した周期信号に同期して、値を変更する第1値変更処理と、
    前記第1値変更処理で変更した値に応じて、送信元アドレスと送信先アドレスとの少なくとも一方を含む転送情報を読み込む読込先を決定する読込先決定処理と、
    前記読込先決定処理で決定した読込先から転送情報を読み込み、読み込んだ転送情報に従って、データを転送するデータ送信処理と
    をコンピュータに実行させることを特徴とするデータ転送プログラム。
JP2009166979A 2009-07-15 2009-07-15 データ転送装置、データ転送方法及びデータ転送プログラム Pending JP2011022781A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009166979A JP2011022781A (ja) 2009-07-15 2009-07-15 データ転送装置、データ転送方法及びデータ転送プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009166979A JP2011022781A (ja) 2009-07-15 2009-07-15 データ転送装置、データ転送方法及びデータ転送プログラム

Publications (1)

Publication Number Publication Date
JP2011022781A true JP2011022781A (ja) 2011-02-03

Family

ID=43632805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009166979A Pending JP2011022781A (ja) 2009-07-15 2009-07-15 データ転送装置、データ転送方法及びデータ転送プログラム

Country Status (1)

Country Link
JP (1) JP2011022781A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015090637A (ja) * 2013-11-07 2015-05-11 ルネサスエレクトロニクス株式会社 半導体装置
JP2016042268A (ja) * 2014-08-18 2016-03-31 ルネサスエレクトロニクス株式会社 マイクロコンピュータ

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6461847A (en) * 1987-09-01 1989-03-08 Nec Corp Dma control circuit
JPH07210494A (ja) * 1994-01-20 1995-08-11 Hitachi Ltd 周期通信処理装置
JPH08249267A (ja) * 1995-03-13 1996-09-27 Matsushita Electric Ind Co Ltd Dmaコントローラ
JPH08278943A (ja) * 1995-04-05 1996-10-22 Fanuc Ltd 共有バス制御方式
JP2003256356A (ja) * 2002-03-04 2003-09-12 Toshiba Corp Dmaコントローラ
JP2005078596A (ja) * 2003-09-03 2005-03-24 Hitachi Ltd データ転送装置の制御方法、データ転送装置、チャネル制御装置、及び記憶デバイス制御装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6461847A (en) * 1987-09-01 1989-03-08 Nec Corp Dma control circuit
JPH07210494A (ja) * 1994-01-20 1995-08-11 Hitachi Ltd 周期通信処理装置
JPH08249267A (ja) * 1995-03-13 1996-09-27 Matsushita Electric Ind Co Ltd Dmaコントローラ
JPH08278943A (ja) * 1995-04-05 1996-10-22 Fanuc Ltd 共有バス制御方式
JP2003256356A (ja) * 2002-03-04 2003-09-12 Toshiba Corp Dmaコントローラ
JP2005078596A (ja) * 2003-09-03 2005-03-24 Hitachi Ltd データ転送装置の制御方法、データ転送装置、チャネル制御装置、及び記憶デバイス制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015090637A (ja) * 2013-11-07 2015-05-11 ルネサスエレクトロニクス株式会社 半導体装置
JP2016042268A (ja) * 2014-08-18 2016-03-31 ルネサスエレクトロニクス株式会社 マイクロコンピュータ

Similar Documents

Publication Publication Date Title
JP2013527963A (ja) 通信ポートに可変クロックゲーティングヒステリシスを使用する装置および方法
JPH0784863A (ja) 情報処理装置およびそれに適した半導体記憶装置
US20070038795A1 (en) Asynchronous bus interface and processing method thereof
JP2018045409A (ja) データ送受信装置、データ送受信システム
JP2011022781A (ja) データ転送装置、データ転送方法及びデータ転送プログラム
JP4902640B2 (ja) 集積回路、及び集積回路システム
JP2007172030A (ja) 割り込み制御装置及び割り込み制御方法
JP6512640B1 (ja) 非同期fifo回路
JP5489871B2 (ja) 画像処理装置
EP1443412A2 (en) Information processing apparatus and memory access arranging method
US11797421B2 (en) Semiconductor apparatus and debug system
JP5126010B2 (ja) メモリアクセス制御回路及び画像処理装置
JP2005157929A (ja) 半導体装置
JP5907558B2 (ja) マルチインターバルタイマ並びにその制御装置、制御方法及び制御プログラム
JP5304510B2 (ja) 調停装置、バスアクセス調停プログラムおよびバスアクセス調停方法
JP4478592B2 (ja) メモリ回路
JP5393626B2 (ja) 情報処理装置
JP2008250470A (ja) データ転送制御装置およびデータ転送制御方法
JP6034008B2 (ja) 送信権調停装置、送信権調停制御方法、及びそのためのプログラム
JP4048091B2 (ja) Lsi及び画像形成装置
JP4620492B2 (ja) バスインターフェイス回路
JP2007310731A (ja) データ転送装置及び画像形成装置
JP2007183957A (ja) マルチプロセッサシステム及びそれのデータ伝送方法
JP2009223482A (ja) データ処理システム
JP2005339426A (ja) データ処理システム及び設定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130122

A521 Written amendment

Effective date: 20130228

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Effective date: 20130416

Free format text: JAPANESE INTERMEDIATE CODE: A02