JP2009169501A - データ転送装置 - Google Patents

データ転送装置 Download PDF

Info

Publication number
JP2009169501A
JP2009169501A JP2008004131A JP2008004131A JP2009169501A JP 2009169501 A JP2009169501 A JP 2009169501A JP 2008004131 A JP2008004131 A JP 2008004131A JP 2008004131 A JP2008004131 A JP 2008004131A JP 2009169501 A JP2009169501 A JP 2009169501A
Authority
JP
Japan
Prior art keywords
data
transfer
dma
buffer memory
signal
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
JP2008004131A
Other languages
English (en)
Inventor
Kenichi Kamata
謙一 鎌田
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.)
Murata Machinery Ltd
Original Assignee
Murata Machinery 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 Murata Machinery Ltd filed Critical Murata Machinery Ltd
Priority to JP2008004131A priority Critical patent/JP2009169501A/ja
Publication of JP2009169501A publication Critical patent/JP2009169501A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

【課題】DMA転送の転送モードやインターフェース信号が異なるシステム間でのDMA転送を可能とするデータ転送装置を提供する。
【解決手段】第1のシステムと第2のシステムとの間で転送されるデータを一旦保持するバッファメモリを備えているので、第1のシステムがサイクルスチールモード、第2のシステムがバーストモードでDMA転送を行う場合であっても、データの転送を行うことができる。また、信号変換部によりシステムのインターフェース信号の変換が行われるので、インターフェース信号が異なるシステム間でのDMA転送も可能とすることができる。
【選択図】図1

Description

本発明は、異なるモードでDMA(Direct Memory Access)転送を行う2つのシステム間でデータの転送を行うデータ転送装置に関する。
DMA転送は、送信元のデータの転送開始アドレス、転送終了アドレス及び送信先の転送開始アドレス、転送終了アドレスを指定することにより、デバイス間で直接データを転送する方式である。このDMA転送によりデバイス間の転送を行うシステムでは接続デバイスに同一のハンドシェイクインターフェースを持たせる必要がある。
このハンドシェイク方法としては、一方のデバイスがDMA要求信号(REQ)を出力し、これに対して他方のデバイスがアクノリッジ信号(ACK)を返すことにより、DMA転送を開始するものがある。また、DMAコントローラの起動には、I/Oからの割り込みによるものとI/OからのDMA要求信号によるものがある。
さらに、DMA転送には、デバイス間の1回の転送で1ワードのデータを転送するサイクルスチールモード(シングル転送モード)と、デバイス間の1回の転送で複数ワードのデータを転送するバーストモードがある(例えば、特許文献1参照)。
特開昭64−78353号公報
上記のように、DMA転送には、異なるモードがあり、2つのシステム間でDMA転送を行う場合、一方がシングル転送モードに対応しており、他方がバースト転送モードに対応していると、そのままではDMA転送を行うことができない。
また、上記のように、DMA転送を行うシステムでは接続デバイスに同一のハンドシェイクインターフェースを持たせる必要があり、異なるハンドシェイクインターフェースを持つデバイス同士は接続することができない。例えば、DMAコントローラの起動を割り込みにより行うシステムとDMA要求信号により行うシステムとの間でDMA転送を実行しようとした場合、DMAコントローラが起動せず、データのDMA転送を実行することはできない。
このため、外部リクエストにより1ワード毎のDMA転送を要求するモジュールを持つデバイスと、1回の外部割込みにより複数ワードの転送をバーストで行うDMAコントローラを持つデバイスとの間ではデータ転送ができない、という問題が生じる。
本発明は、上記の問題に鑑みてなされたもので、DMA転送の転送モードやインターフェース信号が異なるシステム間でのDMA転送を可能とするデータ転送装置を提供することを目的とする。
上述の目的を達成するため、本発明のデータ転送装置は、異なるモードでDMA転送を行う第1のシステムと第2のシステムとの間でDMA転送されるデータを転送するデータ転送装置であって、第1のシステムと第2のシステムとの間で転送されるデータを一旦保持するバッファメモリと、システムのインターフェース信号の変換を行う信号変換部とを備えたことを特徴とする。
また、本発明に係る他のデータ転送装置は、上記のデータ転送装置において、上記バッファメモリが、第1のシステムから第2のシステムへ転送されるデータが書き込まれる第1のバッファメモリと、第2のシステムから第1のシステムへ転送されるデータが書き込まれる第2のバッファメモリとよりなることを特徴とする。
さらに、本発明の他のデータ転送装置は、上記のデータ転送装置において、上記第1のシステムがサイクルスチールモードでDMA転送を行うとともに、第2のシステムがバーストモードでDMA転送を行い、第1のシステムから第2のシステムへデータを転送する場合、上記第1バッファメモリに予め複数ワードのデータがサイクルスチールモードにより書き込まれ、上記信号変換部が第2のシステムに割込み信号を出力することにより、第1バッファメモリから複数ワードのデータが1回のDMA転送により第2のシステムに転送されることを特徴とする。
また、本発明に係る他のデータ転送装置は、上記のデータ転送装置において、第2のシステムから第1のシステムへデータを転送する場合、上記信号変換部が第2のシステムに割込み信号を出力することにより、上記第2バッファメモリに予め複数ワードのデータが書き込まれ、第1のシステムがサイクルスチールモードにより1ワード毎にデータをDMA転送することを特徴とする。
本発明のデータ転送装置は、第1のシステムと第2のシステムとの間で転送されるデータを一旦保持するバッファメモリと、システムのインターフェース信号の変換を行う信号変換部とを備えている。したがって、本発明のデータ転送装置によれば、第1のシステムがサイクルスチールモード、第2のシステムがバーストモードである場合等、異なるモードでDMA転送を行う場合であっても、データの転送を行うことができる。
また、信号変換部によりシステムのインターフェース信号の変換が行われるので、本発明のデータ転送装置によれば、インターフェース信号が異なるシステム間でのDMA転送も可能とすることができる。
以下、本発明のデータ転送装置の実施例について図1により説明する。図1において、1は本発明のデータ転送装置を実施した中継デバイスであり、2、3はそれぞれの間でデータのDMA転送を行うデバイスである。
中継デバイス1は、バッファメモリ11、バッファメモリ12及び信号変換部13により構成されている。バッファメモリ11は、デバイス2からデバイス3に転送されるデータが書き込まれる2ワードのメモリであり、バッファメモリ12は、デバイス3からデバイス2へ転送されるデータが書き込まれる2ワードのメモリである。また、信号変換部13は、デバイス2、3からのインターフェース信号の変換及びデバイス2、3へ送出するインターフェース信号の生成を行う。
一方、デバイス2は、デュアルポートRAM(Random Access Memory)21、出力のみのFIFO(First In First Out)メモリ22及び入力のみのFIFOメモリ23より構成されている。デュアルポートRAM21は、メモリセルアレイにランダムにアクセスするとともに、シリアルにアクセスすることが可能なデュアルポートのメモリである。
FIFOメモリ22及び23は、互いに非同期のクロックで動作する二つのデバイス間でデータ転送を行う際のインターフェース等として利用されるものである。このFIFOメモリは、データを記憶するためのRAMと、ライトポインタ及びリードポインタを管理するためのアドレス演算回路とから構成されている。このため、FIFOメモリは、ライト用のクロックとリード用のクロックとがそれぞれ入力可能なデュアルポートRAMを用いて実現されることが多い。
このFIFOメモリ22、23のDMAインターフェースは1ワード転送毎に、DMA要求信号(REQ)とアクノリッジ信号(ACK)によるハンドシェイクを行う。なお、中継デバイス1内の信号変換部13は、2本のDMAに対するコントロールを行い、FIFOメモリ22とバッファメモリ11間、FIFOメモリ23とバッファメモリ12間の転送がデータバス41上で衝突しないようにする。
また、デバイス3は、DMAコントローラ(DMAC)31を備えている。このデバイス3では、最初のDMAの為の転送情報及び次のDMAの転送情報が格納されているメモリアドレスのみを、あらかじめプログラムからDMAC31内のレジスタに格納しておく。そして、次のDMA転送からは、DMAC31が自動的にメモリ(図示せず)より次のDMA転送のための情報を読み出すことによりDMA転送を行っていく。
このDMAC31はバースト転送モードに対応しており、1回の割り込みを受けると、2ワードの転送を行う。すなわち、制御バス43を介して割り込み信号intAを受けるとデータバス42を介してバッファメモリ11から2ワードのリード(読み出し)を行う。また、制御バス43を介して割り込み信号intBを受けるとデータバス42を介してバッファメモリ12に2ワードのライト(書込み)を行う。
次に、FIFOメモリ22からデバイス3にデータを転送する場合の中継デバイス1の作用を図2により説明する。
図2(a)に示すように、FIFOメモリ22から制御バス43を介してDMA要求信号(req22)が入力された場合、信号変換部13は、アクノリッジ信号(ack22)を発生してFIFOメモリ22に出力する。このアクノリッジ信号(ack22)は、バッファメモリ11からデバイス3へのデータ転送中でなく、かつ、バッファメモリ11にデータが記憶されておらず、データ受け入れ可能な場合に発生される。また、1ワードのデータのバッファメモリ11への書き込みが終了した場合に、信号変換部13はこのアクノリッジ信号(ack22)を終了させる。
これにより、図2(c)に示すように、データバス41上に1ワードのデータdata0が出力され、このデータがバッファメモリ11に記憶される。そして、アクノリッジ信号(ack22)が終了した後、FIFOメモリ22から再びDMA要求信号(req22)が出力されるので、同様にして、次の1ワードのデータdata1がバッファメモリ11に記憶される。
一方、信号変換部13は、常時、バッファメモリ11に2ワードのデータが保持されたか否かを監視している。そして、バッファメモリ11に2ワードのデータが保持された場合、信号変換部13は、図2(d)に示すように、制御バス43を介してデバイス3のDMAC31に割込み信号(intA)を出力する。これに応じて、図2(e)に示すように、DMAC31がチップセレクト信号(cs)を出力した場合、図2(f)に示すように、信号変換部13がリードイネーブル信号(rd)を出力する。これにより、バッファメモリ11から2ワード分のデータdata0、data1がデータバス42上に出力され、このデータをDMAC31がメモリ(図示せず)に記憶する。
バッファメモリ11からデバイス3へのデータ転送中に、図2(a)に示すように、FIFOメモリ22がDMA要求信号(req22)を出力した場合、信号変換部13はアクノリッジ信号(ack22)を発生しない。しかし、バッファメモリ11からデバイス3へのデータ転送が完了した後、信号変換部13がアクノリッジ信号(ack22)を発生するので、再び、データバス41を介して1ワード分のデータdata2がバッファメモリ11に書き込まれる。
以上のようにして、FIFOメモリ22からデバイス3へのデータ転送が行われる。
次に、デバイス3からFIFOメモリ23にデータを転送する場合の中継デバイス1の作用を図3により説明する。
信号変換部13は、常時、バッファメモリ12にデータが保持されているか否かを監視している。そして、バッファメモリ12にデータが保持されていない場合、図3(a)に示すように、定期的にデバイス3のDMAC31に割込み信号(intB)を出力する。これにより、DMAC31は、データの転送指示を受けている場合、図3(b)に示すように、チップセレクト信号(cs)を出力し、これに応じて信号変換部13が、図3(c)に示すように、ライトイネーブル信号(wr)を出力する。これにより、デバイス3から2ワード分のデータdata0、data1がデータバス42上に出力され、このデータがバッファメモリ12に書き込まれる。
一方、デバイス2のFIFOメモリ23から制御バス43を介してデータ読み込みのDMA要求信号(req23)を受信した場合、信号変換部13は、バッファメモリ12に2ワード分のデータが保持されているか否かを判定する。そして、バッファメモリ12に2ワード分のデータが保持されていると判定した場合、信号変換部13は、図3(f)に示すように、制御バス43を介してアクノリッジ信号(ack23)をFIFOメモリ23に出力する。
これにより、図3(g)に示すように、データバス41上にデータdata0が出力され、FIFOメモリ23が1ワード分のデータdata0を記憶する。そして、データdata0を記憶した場合、FIFOメモリ23が再び、DMA要求信号(req23)を出力するので、同様にしてFIFOメモリ23に1ワード分のデータdata1が記憶される。
以上のようにして、デバイス3からFIFOメモリ23へのデータ転送が実行される。
以上のように、中継デバイス1がデータを一旦保持するバッファメモリ11、12を備えているので、デバイス2がサイクルスチールモード、デバイス3がバーストモードのDMA転送を行う場合であっても、データの転送を行うことができる。
また、信号変換部13によりシステムのインターフェース信号の変換が行われるので、インターフェース信号が異なるデバイス2、3間でのDMA転送が可能となる。
なお、上記の実施例では、デバイス2が外部リクエストにより1ワード毎のDMA転送を要求するモジュールを持ち、デバイス3が1回の外部割込みにより複数ワードの転送をバーストで行うDMAコントローラを持つものを例として説明した。しかしながら、本発明のデータ転送装置は、転送モード、インターフェースの異なる種々の組み合わせのDMA転送デバイスに使用することが可能である。
本発明のデータ転送装置の実施例の構成を示すブロック図である。 FIFOメモリ22からデバイス3にデータを転送する場合の作用を示す波形図である。 デバイス3からFIFOメモリ23にデータを転送する場合の作用を示す図である。
符号の説明
1 中継デバイス
2、3 デバイス
11、12 バッファメモリ
13 信号変換部
21 デュアルポートRAM
22、23 FIFOメモリ
31 DMAC
41、42 データバス
43 制御バス

Claims (4)

  1. 異なるモードでDMA転送を行う第1のシステムと第2のシステムとの間でDMA転送されるデータを転送するデータ転送装置であって、
    第1のシステムと第2のシステムとの間で転送されるデータを一旦保持するバッファメモリと、システムのインターフェース信号の変換を行う信号変換部とを備えたことを特徴とするデータ転送装置。
  2. 請求項1に記載されたデータ転送装置において、
    上記バッファメモリが、第1のシステムから第2のシステムへ転送されるデータが書き込まれる第1のバッファメモリと、第2のシステムから第1のシステムへ転送されるデータが書き込まれる第2のバッファメモリとよりなることを特徴とするデータ転送装置。
  3. 請求項2に記載されたデータ転送装置において、
    上記第1のシステムがサイクルスチールモードでDMA転送を行うとともに、第2のシステムがバーストモードでDMA転送を行い、
    第1のシステムから第2のシステムへデータを転送する場合、上記第1バッファメモリに予め複数ワードのデータがサイクルスチールモードにより書き込まれ、上記信号変換部が第2のシステムに割込み信号を出力することにより、第1バッファメモリから複数ワードのデータが1回のDMA転送により第2のシステムに転送されることを特徴とするデータ転送装置。
  4. 請求項3に記載されたデータ転送装置において、
    第2のシステムから第1のシステムへデータを転送する場合、上記信号変換部が第2のシステムに割込み信号を出力することにより、上記第2バッファメモリに予め複数ワードのデータが書き込まれ、第1のシステムがサイクルスチールモードにより1ワード毎にデータをDMA転送することを特徴とするデータ転送装置。
JP2008004131A 2008-01-11 2008-01-11 データ転送装置 Pending JP2009169501A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008004131A JP2009169501A (ja) 2008-01-11 2008-01-11 データ転送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008004131A JP2009169501A (ja) 2008-01-11 2008-01-11 データ転送装置

Publications (1)

Publication Number Publication Date
JP2009169501A true JP2009169501A (ja) 2009-07-30

Family

ID=40970630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008004131A Pending JP2009169501A (ja) 2008-01-11 2008-01-11 データ転送装置

Country Status (1)

Country Link
JP (1) JP2009169501A (ja)

Similar Documents

Publication Publication Date Title
US20040107265A1 (en) Shared memory data transfer apparatus
JP2006293927A (ja) ダイレクトメモリアクセス制御装置及びダイレクトメモリアクセス制御装置を含むシステムlsi
JP2006113689A (ja) バスブリッジ装置およびデータ転送方法
WO2012081085A1 (ja) 割込み要因管理装置及び割込み処理システム
US7774513B2 (en) DMA circuit and computer system
KR100606163B1 (ko) 디렉트 메모리 엑세스 장치, 디렉트 메모리 엑세스 장치를통한 데이터를 송수신하는 시스템 및 방법
JP2009169501A (ja) データ転送装置
JP2009271610A (ja) バッファ制御回路、バッファ回路およびデータ処理装置
US8713205B2 (en) Data transfer device and data transfer method
JP2006285872A (ja) マルチcpuシステム
JP5652866B2 (ja) バス調停回路及びバス調停方法
JP5648472B2 (ja) 半導体装置及び制御方法
JP2010140440A (ja) バス調停装置
JP2006092077A (ja) バスシステム
JP4249741B2 (ja) バスシステム及びバスシステムを含む情報処理システム
JP4355531B2 (ja) データ転送制御装置およびデータ転送制御システム
JP2006195810A (ja) メモリコントローラおよび高速データ転送方法
JPH07334453A (ja) メモリアクセスシステム
JP6339331B2 (ja) インタフェースを制御する情報処理装置及びインタフェース制御方法
JP2007219874A (ja) データ転送制御装置及びデータ転送制御方法
KR100825663B1 (ko) 시스템 버스를 점유하지 않는 디바이스/메모리 전용디엠에이 전송 방법 및 장치
JP2007334600A (ja) 半導体集積回路装置
JP2009277004A (ja) データ転送装置及びデータ転送システム
JP2007072685A (ja) データ転送装置及び情報処理装置
JP2007011884A (ja) データ転送装置