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

データ転送装置 Download PDF

Info

Publication number
JP2004094970A
JP2004094970A JP2003361295A JP2003361295A JP2004094970A JP 2004094970 A JP2004094970 A JP 2004094970A JP 2003361295 A JP2003361295 A JP 2003361295A JP 2003361295 A JP2003361295 A JP 2003361295A JP 2004094970 A JP2004094970 A JP 2004094970A
Authority
JP
Japan
Prior art keywords
data
dma
transfer
local
bus
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
JP2003361295A
Other languages
English (en)
Inventor
Yoshiteru Mino
三野 吉輝
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2003361295A priority Critical patent/JP2004094970A/ja
Publication of JP2004094970A publication Critical patent/JP2004094970A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】 データ転送速度を向上させることが可能なデータ転送装置を提供する。
【解決手段】 データ転送装置1は、先入れ先出しバッファ(FIFO)2と、FIFO2を制御する制御器22とを備えている。制御器22は、ローカルバスが使用可能な場合には、FIFO2に格納された1語以上のCPUアクセスデータをローカルメモリ56に逐次転送し、FIFO2に格納された複数語のDMAアクセスデータをローカルメモリ56にバースト転送するように、FIFO2を制御する。
【選択図】 図1

Description

 本発明は、メインバスに接続されたメインメモリからローカルバスに接続されたローカルメモリにデータを転送するデータ転送装置に関する。
 図6は、従来のデータ転送装置100の構成を示す。
 データ転送装置100は、メインメモリ112からローカルメモリ156にデータを転送する。
 データ転送装置100は、メインバスインタフェース127と、ローカルバスインタフェース134と、DMA先頭アドレスレジスタ120と、DMA転送語数レジスタ121と、加算器104と、減算器103と、制御器122とを含む。
 メインバスインタフェース127と、ローカルバスインタフェース134とは、内部データ線151と内部アドレス線152とを介して相互に接続されている。
 メインバスインタフェース127は、メインデータバス113とメインアドレスバス150とに接続されている。メインデータバス113とメインアドレスバス150とには、データ転送装置100の周辺装置として、CPU110とDMAコントローラ111とメインメモリ112とが接続されている。
 ローカルバスインタフェース134は、ローカルデータバス128とローカルアドレスバス135とに接続されている。ローカルデータバス128とローカルアドレスバス135とには、データ転送装置100の周辺装置として、バスインタフェース155を介してローカルメモリ156が接続されている。
 なお、ローカルデータバス128とローカルアドレスバス135とには、内部データ処理装置161がさらに接続されている。データ転送装置100と内部データ処理装置161とは、ローカルメモリ156を共有するユニファイドメモリアーキテクチャを採用する。内部データ処理装置161は、例えば、ビデオ出力処理回路である。
 ここで、CPU110およびDMAコントローラ111からローカルメモリ156まで1語転送を行う場合、外部バス転送サイクル(メインバス転送サイクル)に対して内部バス転送サイクル(ローカルバス転送サイクル)は2分の1で行われるとする。
 実際には、外部バス転送サイクルが10MHzであり、内部バス転送サイクルが100MHzであり得る。これは、チップの内部バスのクロックは、チップの外部バスのクロックよりも、高速に動作させられることなどの理由による。
 本明細書では、CPU110がメインメモリ112からローカルメモリ156にデータを転送することを「CPU転送」といい、DMAコントローラ111がメインメモリ112からローカルメモリ156にデータを転送することを「DMA転送」という。
 以下、CPU110、DMAコントローラ111およびデータ転送装置100の概略動作を説明する。
 メインメモリ112およびローカルメモリ156は、CPU110およびDMAコントローラ111にメモリマップされている。
 CPU110およびDMAコントローラ111は、メインデータバス113の使用権を交互にもしくは連続して取得し、データ転送装置100を介してデータを転送する。
 (CPU転送の場合)
 CPU110は、メインデータバス113の使用権を取得すると、メインデータバス113とメインアドレスバス150とを介して、メインメモリ112からデータを転送ソースとして読み出し、データ転送装置100に出力されるCPUアクセス制御信号123をアサートするとともに、メインデータバス113とメインアドレスバス150とを介して、メインメモリ112から読み出されたデータを転送ディスティネーションとしてデータ転送装置100に出力する。
 (DMA転送の場合)
 この場合には、CPU110を用いてDMA転送の初期設定をDMAコントローラ111およびデータ転送装置100において行うことが必要になる。
 まず、DMAコントローラ111の内部レジスタ(図示せず)に転送ソースであるメインメモリ112の先頭アドレスおよび転送語数をセットし、DMA転送開始を要求する。
 次に、CPU110は、CPUアクセスによりデータ転送装置100内のDMA先頭アドレスレジスタ120に転送先であるローカルメモリ156のDMA転送における先頭アドレスを設定する。
 次に、CPU110は、CPUアクセスによりデータ転送装置100内のDMA転送語数レジスタ121にDMA転送回数を設定する。
 データ転送装置100は、DMA転送の初期設定が完了し、ローカルメモリ156に対するデータ転送の準備が整い次第、DMA要求信号126をアサートする。
 DMAコントローラ111は、DMA要求信号126のアサートを検出し、メインデータバス113の使用権を取得すると、メインデータバス113とメインアドレスバス150とを介して、メインメモリ112からデータを転送ソースとして読み出し、データ転送装置100に出力されるDMAアクセス制御信号125をアサートするとともに、メインデータバス113を介して、メインメモリ112から読み出されたデータを転送ディスティネーションとしてデータ転送装置100に出力する。
 なお、DMA転送の場合には、ディスティネーション側であるデータ転送装置100には、ローカルメモリ156のアドレスは出力されない。
 次に、データ転送装置100およびバスコントローラ133の概略動作を説明する。
 CPU転送およびDMA転送を行う場合、データ転送装置100は、データの転送先であるローカルメモリ156が接続されているローカルデータバス128、ローカルアドレスバス135の使用権を要求するローカルバス要求信号130をバスコントローラ133に出力する。ここで、ローカルデータバス128、ローカルアドレスバス135は、複数の処理ブロックによって共用されていると仮定する。内部データ処理装置161からのローカルバス要求信号160が出力されていない場合、バスコントローラ133は、ローカルバス許可信号129をデータ転送装置100に出力する。
 次に、データ転送装置100の内部動作を説明する。
 (CPU転送の場合)
 CPUアクセス制御信号123とともCPU110から出力されるデータおよびローカルメモリアドレスは、メインバスインタフェース127に一時的に格納される。
 制御器122は、CPU110からCPUアクセス制御信号123を受け取ると、CPU110に出力されるウェイト信号124をアサートするとともにバスコントローラ133にローカルバス要求信号130を出力する。
 制御器122は、バスコントローラ133からローカルバス許可信号129を受け取ると、ローカルバス制御信号162をローカルバスインタフェース134に出力する。ローカルバスインタフェース134は、ローカルバス制御信号162に従って、内部データ線151上のデータをローカルデータバス128に出力し、内部アドレス線152上のアドレスをローカルアドレスバス135に出力する。
 ここで、ローカルバス制御信号162は、ローカルデータバス128にデータを出力するタイミングを示すフィールドと、内部アドレス線152上のアドレスおよびDMAアドレス線153上のアドレスのどちらをローカルアドレスバス135に出力するかを示すアドレス選択フィールドとを含んでいる。CPU転送の場合には、内部アドレス線152上のアドレスをローカルアドレスバス135に出力するように、ローカルバス制御信号162のアドレス選択フィールドが設定される。
 バスインタフェース155は、ローカルアドレスバス135上のアドレスをデコードし、そのデコードされたアドレスに従って、ローカルデータバス128上のデータをローカルメモリ156に出力する。
 (DMA転送の場合)
 制御器122は、バスコントローラ133にローカルバス要求信号130を出力する。
 バスコントローラ133は、内部データ処理装置161からのローカルバス要求信号160がアサートされていなければ、ローカルバス許可信号129を制御器22に出力する。
 制御器122は、ローカルバス許可信号129のアサートを検出すると、DMA要求信号126をDMAコントローラ111に出力する。制御器122は、DMAコントローラ111からアサートされたDMAアクセス制御信号125を受け取ると、DMA要求信号126をネゲートするとともに、ローカルバスインタフェース134にローカルバス制御信号162を出力する。DMA転送の場合には、DMAアドレス線153上のアドレスをローカルアドレスバス135に出力するように、ローカルバス制御信号162のアドレス選択フィールドが設定される。
 DMA転送の場合、ローカルメモリ156の先頭アドレスはDMA先頭レジスタ120に予め設定され、DMA転送語数はDMA転送語数レジスタ121に予め設定される。DMAアクセス開始とともに入力されるDMAアクセス制御信号125に同期して、制御器22はDMA開始要求信号158をアサートする。
 加算器104は、DMA開始要求信号158のアサートを検出すると、DMA先頭アドレスレジスタ122の値を初期値として、前回のDMAアドレスを1語分だけインクリメントし、DMAアドレス線153に出力するとともに、DMAアドレス生成終了信号154をアサートする。
 減算器103は、DMA開始要求信号158のアサートを検出すると、DMA転送語数レジスタ121の値を初期値として、前回のDMA転送残数を1語分だけデクリメントする。減算器103は、DMA転送残数が1語となった場合には、DMA転送残数フラグ157をアサートする。
 制御器122は、DMA転送残数フラグ157のネゲートを検出するまで、ローカルデータバス128へのデータ転送が終了した時点でCPU110からのアクセスがない場合には、DMAコントローラ111に出力されるDMA要求信号126をアサートする。
 図7は、CPU転送とDMA転送とを混在して行った場合におけるデータ転送装置100の動作シーケンスを示す。
 図7において、各信号のLレベルがアサートを表し、各信号のHレベルがネゲートを表すと仮定する。
 図7に示される例では、1語のCPU転送が5回行われ、10語のDMA転送が1回行われる。
 T1サイクル以前には、前述したDMA転送のための初期値が予め設定されていると仮定する。データ転送装置100は、DMA要求信号126をアサートする。DMAコントローラ111は、DMA要求信号126のアサートを検出し、DMA転送要求信号197をアサートする。
 ここで、CPU110は、DMA転送要求信号197のアサートを検出しているが、次のサイクル以降は、CPU転送を行うことを決定すると仮定する。その結果、T1、T2サイクルをCPU基本アクセスタイムとして、CPU110とデータ転送装置100との間の外部バス転送(CPU_M1)が行われる。CPU110は、T1サイクルにおいてCPUアクセス制御信号123のアサートを開始する。
 データ転送装置100は、CPUアクセス制御信号123のアサートを検出すると、ウェイト制御信号124をアサートする。ウェイト制御信号124がアサートされている間、CPU110は次のサイクル以降にCPU転送およびDMA転送を行うことができないように制御される。
 T3サイクルにおいて、データ転送装置100とローカルメモリ156の間の内部バス転送(CPU_L1)が行われる。
 内部バス転送(CPU_L1)が終了すると、データ転送装置100は、ウェイト制御信号124をネゲートする。
 CPU110は、ウェイト制御信号124のネゲートを検出すると、CPUアクセス制御信号123をネゲートするとともに、次のサイクルにCPU転送もしくはDMA転送を行うための準備を開始する。ここでは、CPU110は、DMA転送要求信号197がアサートされていることを検出し、次のサイクルにDMA転送を行うことを決定すると仮定する。この場合、CPU110は、DMAコントローラ111に出力されるDMA転送許可信号196をアサートする。
 DMAコントローラ111は、DMA転送許可信号196のアサートを検出すると、T4、T5サイクルをDMA基本アクセスタイムとして、DMAコントローラ111とデータ転送装置100との間で外部バス転送(DMA_M1)を行い、DMAアクセス制御信号125をアサートする。DMAアクセス制御信号125は、DMA基本アクセスタイム間のみアサートされる。
 データ転送装置100は、DMAアクセス制御信号125のアサートを検出すると、DMA要求信号126をネゲートする。
 T6サイクルにおいて、データ転送装置100とローカルメモリ156の間の内部バス転送(DMA_L1)が行われる。
 内部バス転送(DMA_L1)が終了すると、データ転送装置100は、DMA転送残数を検出し、DMA要求信号126のアサートを開始する。
 DMAコントローラ111は、DMA要求信号126のアサートを検出すると、DMA転送要求信号197のアサートを開始する。
 これ以降、CPU110は、CPU転送およびDMA転送を交互にまたは連続的に行う。しかし、データ転送装置100とローカルメモリ156の間の内部バス転送は、内部データ処理装置161とローカルメモリ156の間の内部バス転送(例えば、INT_1)が行われている場合には、この内部バス転送が終了するまで待たされる。このため、CPU110とデータ転送装置100とのデータ転送に要するサイクルが延長される。
 T7サイクルにおいて、CPU110は、CPUアクセス制御信号123をアサートすることにより、データ転送装置100にデータ転送の開始を通知する。データ転送装置100は、CPUアクセス制御信号123のアサートを検出すると、ローカルバス要求信号130をバスコントローラ133に出力することにより、ローカルバスの使用権をバスコントローラ133に要求する。図7に示される例では、バスコントローラ133は、データ転送装置100ではなく、内部データ処理装置161にローカルバスの使用権を与える。内部データ処理装置161からも同様にローカルバスの使用権の要求が発生しているからである。
 T8サイクルにおいて、内部データ処理装置161とローカルメモリ156との間の内部バス転送(INT_1)が開始される。その内部バス転送(INT_1)は、T12サイクルまで行われる。
 T12サイクルの終わりにおいて、バスコントローラ133は、ローカルバスの使用権をデータ転送装置100に与える。
 T13サイクルにおいて、データ転送装置100とローカルメモリ156との間の内部バス転送(CPU_L2)が行われる。内部バス転送(CPU_L2)が終了すると、データ転送装置100は、ウェイト制御信号24をネゲートする。CPU110は、ウェイト制御信号24のネゲートを検出すると、CPUアクセス制御信号123をネゲートする。
 以降、CPU110とDMAコントローラ111がメインバスの使用権を取り合いながら、データ転送装置100にデータを転送する。
 T47サイクルにおいて、10回目のDMAアクセス制御信号125が検出される。この場合、DMA転送残数が0となるため、データ転送装置100からのDMA要求信号126がネゲートされる。これ以降、DMA転送は、CPU110によって前述したDMA転送のための初期値が予め設定された後に再度開始される。
 上述したように、従来のデータ転送装置100とローカルメモリ156との間の内部バス転送は、内部データ処理装置161とローカルメモリ156との間の内部バス転送が終了するまで待たされる。
 このように、従来のデータ転送装置は、ローカルバスが使用可能となるまで、CPU転送にウェイトをかけるように制御され、もしくは、DMA転送要求をDMAコントローラに出力しないように制御される。その結果、データ転送装置と周辺装置とを含むシステムとしてのデータ転送速度を向上させることが困難であるという課題がある。
 本発明は、データ転送装置と周辺装置とを含むシステムとしてのデータ転送速度を向上させることが可能なデータ転送装置を提供することを目的とする。
 本発明のデータ転送装置は、メインバスに接続されたメインメモリからローカルバスに接続されたローカルメモリにデータを転送するデータ転送装置であって、前記メインバスに接続されたCPUによってアクセスされる1語以上のCPUアクセスデータまたは、前記メインバスに接続されたDMAコントローラによってアクセスされる複数語のDMAアクセスデータを格納するデータ領域を有する先入れ先出しバッファと、前記先入れ先出しバッファを制御する制御器とを備え、前記制御器は、前記ローカルバスが使用可能な場合には、前記データ領域に格納された前記1語以上のCPUアクセスデータを前記ローカルメモリに逐次転送し、前記データ領域に格納された前記複数語のDMAアクセスデータを前記ローカルメモリにバースト転送するように、前記先入れ先出しバッファを制御し、前記先入れ先出しバッファは、前記データ領域に格納されたデータがCPUアクセスデータであるかDMAアクセスデータであるかを判別するための情報を格納する領域をさらに有し、これにより、上記目的が達成される。
 前記制御器は、前記データ領域に格納された前記複数語のDMAアクセスデータをローカルDMA転送の単位として扱い、前記ローカルDMA転送の単位ごとに前記ローカルバスの使用要求を行ってもよい。
 前記制御器は、前記データ領域に格納された前記1語以上のCPUアクセスデータの転送をローカルDMA転送として処理し、前記データ領域に格納された前記複数語のDMAアクセスデータの転送をローカルDMA転送として処理してもよい。
 本発明によれば、メインバスとローカルバスとの間に先入れ先出しバッファが設けられている。先入れ先出しバッファは、1語以上のCPUアクセスデータと、複数語のDMAアクセスデータとを格納するデータ領域を有している。これにより、ローカルバスがデータ転送装置以外の他の処理ブロックによって使用中である場合でも、メインバスと先入れ先出しバッファとの間でデータの転送を行うことが可能になる。その結果、データ転送速度を向上させることが可能になる。
 また、本発明によれば、先入れ先出しバッファのデータ領域に格納された複数語のDMAアクセスデータをローカルDMA転送の単位として扱い、そのローカルDMA転送の単位ごとにローカルバスの使用要求が行われる。これにより、ローカルバスの使用要求の回数を削減することが可能になる。その結果、ローカルバスの使用権を取得するために要するサイクル数が削減されるため、ローカルバスの使用効率を向上させることが可能になる。
 また、本発明によれば、先入れ先出しバッファのデータ領域に格納された1語以上のCPUアクセスデータの転送と複数語のDMAアクセスデータの転送とをローカルDMA転送として統一して処理することが可能になる。その結果、ローカルアドレスバスを不要とすることができる。
 また、本発明によれば、先入れ先出しバッファのデータ領域に格納されたデータがCPUアクセスデータであるかDMAアクセスデータであるかを判別する領域が先入れ先出しバッファに設けられている。これにより、少ない容量を有する先入れ先出しバッファ内にCPUアクセスデータとDMAアクセスデータとを混在して保持することが可能となる。
 以下、図面を参照しながら本発明の実施の形態を説明する。
 (実施の形態1)
 図1は、本発明の実施の形態1のデータ転送装置1の構成を示す。
 データ転送装置1は、メインデータバス13とメインアドレスバス50とに接続されている。メインデータバス13とメインアドレスバス50とには、データ転送装置1の周辺装置として、CPU10とDMAコントローラ11とメインメモリ12とが接続されている。本明細書では、メインデータバス13とメインアドレスバス50とを総称して「メインバス」と呼ぶ。
 データ転送装置1は、ローカルデータバス28に接続されている。ローカルデータバス28には、データ転送装置1の周辺装置として、バスインタフェース55を介してローカルメモリ56が接続されている。本明細書では、ローカルデータバス28を「ローカルバス」とも呼ぶ。
 なお、ローカルデータバス28には、内部データ処理装置61がさらに接続されている。データ転送装置1と内部データ処理装置61とは、ローカルメモリ56を共有するユニファイドメモリアーキテクチャを採用する。
 ここでは、内部データ処理装置61は、ビデオ出力処理回路であると仮定する。ビデオ出力処理回路は、外部同期信号(図示せず)に従って、ローカルメモリ56に蓄積されたフレームデータを所定のタイミングでモニタなどの外部出力装置(図示せず)に出力するように動作する。この場合、バスコントローラ33は、CPU10とデータ転送装置1との間のデータ転送に比較して、ビデオ出力処理回路がローカルデータバス28の使用権を高い優先度で取得することができるようにデータ転送装置1と内部データ処理装置61とを制御する。
 データ転送装置1は、メインメモリ12からローカルメモリ56にデータを転送する。このデータは、CPU10によってアクセスされるデータ(以下、「CPUアクセスデータ」という)であるか、DMAコントローラ11によってアクセスされるデータ(以下、「DMAアクセスデータ」という)であるかのいずれかである。
 CPU転送の場合には、CPU10がメインメモリ12からデータを読み出し、その読み出されたデータをCPUアクセスデータとしてデータ転送装置1に出力する。DMA転送の場合には、DMAコントローラ11がメインメモリ12からデータを読み出し、その読み出されたデータをDMAアクセスデータとしてデータ転送装置1に出力する。
 データ転送装置1は、メインバスインタフェース27と、ローカルバスインタフェース34と、先入れ先出しバッファ(FIFO)2と、制御器22とを含む。
 FIFO2は、データ線67とアドレス線68とを介して、メインバスインタフェース27に接続されている。FIFO2は、データ線65を介して、ローカルバスインタフェース34に接続されている。また、FIFO2は、アドレス線66を介して、レジスタ89に接続されている。
 ライトポインタ生成器15、リードポインタ生成器17およびDMAポインタ生成器82は、FIFO2をアクセスするためのポインタを生成するために使用される。
 ライトポインタ生成器15は、CPUアクセス制御信号23に応答して前回のライトポインタを1語分だけインクリメントすることにより、ライトポインタ69を生成する。ライトポインタ69は、FIFO2に出力される。
 DMAポインタ生成器82は、DMAアクセス制御信号25に応答して前回の内部ポインタを1語分だけインクリメントすることにより、ライトポインタ80を生成する。ライトポインタ80は、FIFO2に出力される。
 DMAポインタ生成器82は、DMAアクセス制御信号25が入力された回数をカウントし、その回数がFIFO2のDMA転送用のデータ領域230(図2)の語数に等しくなった場合には、内部ポインタを初期化するとともに、ローカルDMA終了信号84を制御器22に出力する。
 DMAポインタ生成器82は、DMA転送制御信号83に応答して前回の内部ポインタを1語分だけインクリメントすることにより、リードポインタ81を生成する。リードポインタ81は、FIFO2に出力される。
 DMAポインタ生成器82は、DMA転送制御信号83が入力された回数をカウントし、その回数がFIFO2のDMA転送用のデータ領域230(図2)の語数に等しくなった場合には、内部ポインタを初期化するとともに、ローカルDMA終了信号84を制御器22に出力する。
 ポインタ比較器74は、ライトポインタ69とリードポインタ70とを比較し、その比較結果に応じた値を有するFIFOフラグ73を制御器22に出力する。FIFOフラグ73の値は、FIFO2に保持されているCPUアクセスデータがない場合には「0」であり、FIFO2に保持されているCPUアクセスデータがある場合には「1」であり、FIFO2に保持されているCPUアクセスデータの数がFIFO2に保持され得るCPUアクセスデータの上限値に等しい場合には「2」である。
 加算器4は、DMA先頭アドレスレジスタ20に予め設定される値を初期値として、DMAアクセス制御信号25が入力される毎に制御器22から出力されるDMA開始要求信号58に応答して、DMAアドレスを1語数分だけインクリメントする。その結果、加算器4は、更新されたDMAアドレスをアドレス線53に出力する。
 減算器3は、DMA転送語数レジスタ21に予め設定される値を初期値として、DMAアクセス制御信号25が入力される毎に制御器22から出力されるDMA開始要求信号58に応答して、DMA転送語数を1語数分だけデクリメントする。その結果、減算器3は、更新されたDMA転送語数を転送語数線54に出力する。
 本実施の形態において、CPU転送は、1語のローカルDMA転送として処理され、DMA転送は、複数語のローカルDMA転送として処理される。このように、CPU転送とDMA転送とは、ローカルDMA転送として統一的に処理される。
 ここで、DMAコントローラ11とデータ転送装置1との間のDMA転送は、FIFO2に保持され得るDMAアクセスデータの上限値をローカルDMA転送の基本数とした単位に分割される。
 第1に、CPU転送を行う場合におけるFIFO2の制御と、CPU転送を1語のローカルDMA転送として処理するためのローカルDMA転送パラメータの設定とを説明する。
 FIFO2は、CPUアクセス制御信号23に応答して更新されるライトポインタ69によって指定される位置に、メインバスインタフェース27を介して入力されるCPUアクセスデータを順次保持する。
 ポインタ比較器74は、ライトポインタ69とリードポインタ70とを比較し、その比較結果に応じた値を有するFIFOフラグ73を制御器22に出力する。FIFOフラグ73の値は、FIFO2に保持されているCPUアクセスデータがない場合には「0」であり、FIFO2に保持されているCPUアクセスデータがある場合には「1」であり、FIFO2に保持されているCPUアクセスデータの数がFIFO2に保持され得るCPUアクセスデータの上限値に等しい場合には「2」である。
 制御器22は、FIFOフラグ73の値が「1」もしくは「2」である場合には、バスコントローラ33にローカルバス要求信号30を出力する。制御器22は、バスコントローラ33からローカルバス許可信号29を受け取ると、リードポインタ生成要求信号71をリードポインタ生成器17に出力する。リードポインタ生成器17は、リードポインタ生成要求信号71に応答してリードポインタ70を生成し、その生成されたリードポインタ70をFIFO2に出力する。
 FIFO2は、リードポインタ70によって指定されるCPUアクセスデータをデータ線65に出力し、リードポインタ70によって指定されるCPUアクセスアドレスをアドレス線66に出力する。
 レジスタ89は、CPU転送のためのローカルDMA先頭アドレスを指定するために使用される。DMA先頭アドレスレジスタ89は、内部同期信号(図示せず)に応答してアドレス線66上のアドレスを保持する。
 レジスタ88は、CPU転送のためのローカルDMA転送語数を指定するために使用される。レジスタ88は、1語数を表す固定レジスタである。
 CPU転送を行う場合には、レジスタ89の出力とレジスタ88の出力とがローカルバスインタフェース34に出力される。
 第2に、DMA転送を行う場合におけるFIFO2の制御と、DMA転送を複数語のローカルDMA転送として処理するためのローカルDMA転送パラメータの設定とを説明する。
 FIFO2は、DMAアクセス制御信号25に応答して更新されるDMAライトポインタ80によって指定される位置に、メインバスインタフェース27を介して入力されるDMAアクセスデータを順次保持する。FIFO2に保持されているDMAアクセスデータの数が上限値に達した場合には、FIFO2は、ローカルDMA終了信号84を制御器22に出力する。
 制御器22は、ローカルDMA終了信号84を受け取ると、バスコントローラ33にローカルバス要求信号30を出力する。このように、制御器22は、FIFO2に保持されている複数語のDMAアクセスデータをローカルDMA転送の単位として扱い、ローカルDMA転送の単位ごとにローカルバスの使用要求を行う。これにより、ローカルバスの使用要求の回数を低減することが可能になる。
 制御器22は、バスコントローラ33からローカルバス許可信号29を受け取ると、DMA開始要求信号58とDMA転送制御信号83とローカルDMA転送開始信号92とを出力する。制御器22は、ローカルDMA転送終了91を受け取ると、ローカルバス要求信号30を再度バスコントローラ33に出力し、同様の処理を繰り返す。制御器22は、DMA転送残数フラグ57がアサートされるとDMA転送処理を終了する。
 レジスタ87は、DMA転送のためのローカルDMA先頭アドレスを指定するために使用される。レジスタ87は、制御器22から出力されるローカルDMA転送開始信号92に応答して、DMAアドレス線53上のDMAアドレスをローカルDMA先頭アドレスとしてローカルバスインタフェース34に出力する。
 レジスタ86は、DMA転送のためのローカルDMA転送語数を指定するために使用される。レジスタ86には、比較器90の出力が格納される。レジスタ86は、比較器90の出力をローカルDMA転送語数としてローカルバスインタフェース34に出力する。
 比較器90は、転送語数線54上のDMA転送語数とローカルDMA転送基本数とを比較して、より小さい数をローカルDMA転送語数としてレジスタ86に設定するとともに、ローカルDMA転送カウンタ85の出力値とローカルDMA転送語数とを比較して、一致した場合にローカルDMA転送終了信号91を制御器22に出力する。
 ローカルDMA転送カウンタ85は、制御器22から出力されるローカルDMA転送開始信号92に応答して、カウント数を初期化するとともに、内部同期信号(図示せず)をカウントする。
 制御器22は、CPU転送のためのローカルDMA転送パラメータとDMA転送のためのローカルDMA転送パラメータのうちの1つを予め決められた優先順位で選択するアクセス制御信号95をローカルバスインタフェース34に出力する。
 DMA転送よりもCPU転送を優先して行う場合には、ローカルバスインタフェース34は、レジスタ89の出力とレジスタ88の出力とをローカルDMA転送パラメータとしてバスインタフェース55に設定する。このような設定は、DMA制御線93を介して行われる。
 CPU転送よりもDMA転送を優先して行う場合には、ローカルバスインタフェース34は、レジスタ87の出力とレジスタ86の出力とをローカルDMA転送パラメータとしてバスインタフェース55に設定する。このような設定は、DMA制御線93を介して行われる。
 DMA転送のためのローカルDMA転送パラメータの生成のため、リードポインタ生成要求信号83はデータ転送に先立って、DMAポインタ生成器82に出力される。FIFO2は、リードポインタ81によって指定される位置のDMAアクセスデータを読み出し、そのDMAアクセスデータをデータ線65に出力する。ローカルバスインタフェース34は、データ線65上のDMAアクセスデータを一時的に保持する。
 バスインタフェース55は、ローカルDMA転送の準備が整い次第、ローカルDMA要求信号94を制御器22に出力する。
 制御器22は、ローカルバス許可信号29を受け取り次第、ローカルDMA制御線93を介してローカルDMA転送開始をバスインタフェース55に通知するとともに、DMA転送の場合には、ローカルDMA転送開始要求92とDMA転送開始要求83とを出力する。FIFO2は、リードポインタ81によって指定される位置のDMAアクセスデータを読み出し、読み出されたDMAアクセスデータをデータ線65に出力する。ローカルバスインタフェース34は、データ線65上のDMAアクセスデータをローカルデータバス28に出力する。
 CPU転送の場合には、ローカルバスインタフェース34は、ローカルDMA転送パラメータの生成時に保持されたCPUアクセスデータをローカルデータバス28に出力する。
 図2は、FIFO2の構成例を示す。
 FIFO2は、1語以上のCPUアクセスデータと複数語のDMAアクセスデータとを格納するデータ領域を有している。図2に示される例では、データ領域は、1語以上のCPUアクセスデータを格納するCPU転送用のデータ領域210と、複数語のDMAアクセスデータを格納するDMA転送用のデータ領域230とに分割されている。しかし、データ領域が必ずしもこのように分割されている必要はない。FIFO2のデータ領域は、1語以上のCPUアクセスデータと複数語のDMAアクセスデータとを格納することができる限り、任意のフォーマットをとり得る。
 CPU転送用のデータ領域210は、1以上のCPUアクセスデータフィールド210aと、1以上のCPUアクセスアドレスフィールド210bとを含む。1以上のCPUアクセスデータフィールド210aのそれぞれには、1語のCPUアクセスデータが格納される。1以上のCPUアクセスアドレスフィールド210bのそれぞれには、対応するCPUアクセスデータのアドレスが格納される。
 DMA転送用のデータ領域230は、複数のDMAアクセスデータフィールド230aを含む。複数のDMAアクセスデータフィールド230aのそれぞれには、1語のDMAアクセスデータが格納される。
 図2に示される例では、CPU転送用のデータ領域210に含まれるCPUアクセスデータフィールド210a、CPUアクセスアドレスフィールド210bの数はそれぞれ8であり、DMA転送用のデータ領域230に含まれるDMAアクセスデータフィールドの数は8である。しかし、データ領域210、230に含まれるフィールドの数がこれらに限定されるわけではない。データ領域210、230は、任意の数のフィールドを含み得る。データ領域210のフィールド数とデータ領域230のフィールド数とが異なっていてもよい。
 はじめに、FIFO2へのデータの書き込みを説明する。
 FIFO2に入力されたデータがCPUアクセスデータである場合には、ライトポインタ69に応じて複数の書き込み制御線220aのうちCPUアクセスデータの書き込み位置に対応する1本の書き込み制御線220aがアサートされる。このような選択的なアサートは、回路210cによって行われる。その結果、アサートされた書き込み制御線220aに接続されているCPUアクセスデータフィールド210aには、データ線67上のデータが書き込まれ、アサートされた書き込み制御線220aに接続されているCPUアクセスアドレスフィールド210bには、アドレス線68上のアドレスが書き込まれる。
 FIFO2に入力されたデータがDMAアクセスデータである場合には、ライトポインタ80に応じて複数の書きこみ制御線240aのうちDMAアクセスデータの書き込み位置に対応する1本の書き込み制御線240aがアサートされる。このような選択的なアサートは、回路230bによって行われる。その結果、アサートされた書き込み制御線240aに接続されているDMAアクセスデータフィールド230aには、データ線67上のデータが書き込まれる。
 次に、FIFO2からのデータの読み出しを説明する。
 セレクタ210dは、リードポインタ70に応じて、複数のCPUアクセスデータフィールド210aの出力220bのうちの1つを選択し、選択された出力220bをデータ線65に出力する。
 セレクタ210eは、リードポインタ70に応じて、複数のCPUアクセスアドレスフィールド210bの出力220cのうちの1つを選択し、選択された出力220cをアドレス線66に出力する。
 セレクタ230cは、リードポインタ81に応じて、複数のDMAアクセスデータフィールド230aの出力230cのうちの1つを選択し、選択された出力230cをデータ線65に出力する。
 なお、リードポインタ70がネゲート状態の場合には、データセレクタ210dの出力およびアドレスセレクタ210eの出力は、それぞれ、ハイインピーダンス状態となる。また、リードポインタ81がネゲート状態の場合には、データセレクタ230cの出力は、ハイインピーダンス状態となる。これにより、データの衝突が回避される。
 図5は、CPU転送とDMA転送とを混在して行った場合におけるデータ転送装置1の動作シーケンスを示す。
 図5において、各信号線のLレベルがアサートを表し、各信号のHレベルがネゲートを表すと仮定する。
 図5に示される例では、1語のCPU転送が5回行われ、10語のDMA転送が1回行われる。
 T1サイクル以前には、前述したDMA転送のための初期値が予め設定されていると仮定する。データ転送装置1は、DMA要求信号26をアサートする。DMAコントローラ11は、DMA要求信号26のアサートを検出し、DMA転送要求信号97をアサートする。
 ここで、CPU10は、DMA転送要求信号97のアサートを検出しているが、次のサイクル以降は、CPU転送を行うことを決定すると仮定する。その結果、T1、T2サイクルをCPU基本アクセスタイムとして、CPU10とデータ転送装置1との間の外部バス転送(CPU_M1)が行われる。CPU10は、T1サイクルにおいてCPUアクセス制御信号23のアサートを開始する。
 データ転送装置1は、CPUアクセス制御信号23のアサートを検出すると、ウェイト制御信号24をアサートする。ウェイト制御信号24がアサートされている間、CPU10は次のサイクル以降にCPU転送およびDMA転送を行うことができないように制御される。
 T2サイクルの終わりにおいて、データ転送装置1は、メインデータバス13から入力されるデータをFIFO2に保持するとともに、ウエイト制御信号24をネゲートする。
 CPU10は、ウェイト制御信号24のネゲートを検出すると、CPUアクセス制御信号23をネゲートするとともに、次のサイクルにCPU転送もしくはDMA転送を行うための準備を開始する。ここでは、CPU10は、DMA転送要求信号97がアサートされていることを検出し、次のサイクルにDMA転送を行うことを決定すると仮定する。この場合、CPU10は、DMAコントローラ11に出力されるDMA転送許可信号96をアサートする。
 DMAコントローラ11は、DMA転送許可信号96のアサートを検出すると、T3、T4サイクルをDMA基本アクセスタイムとして、DMAコントローラ11とデータ転送装置1との間で外部バス転送(DMA_M1)を行い、DMAアクセス制御信号25をアサートする。DMAアクセス制御信号25は、DMA基本アクセスタイム間のみアサートされる。
 データ転送装置1は、DMAアクセス制御信号25のアサートを検出すると、DMA要求信号26をネゲートする。
 T3サイクルにおいて、データ転送装置1とローカルメモリ56の間の内部バス転送(CPU_L1)が行われる。この内部バス転送では、FIFO2に保持されたCPUアクセスデータがローカルメモリ56に出力される。
 T4サイクルにおいて、データ転送装置1は、DMAアクセス制御信号25のネゲートを検出すると、DMA要求信号26をアサートする。
 T7サイクルよりT20サイクルまでは、DMAコントローラ11とデータ転送装置1との間の外部バス転送が連続的に行われる。
 T7サイクルからT20サイクルまの期間中、データ転送装置1に入力されるDMAアクセスデータは、FIFO2のDMA転送用のデータ領域230に保持される。この期間中、DMAコントローラ11からのDMA転送は、DMA基本アクセスタイム周期で行われる。この期間中、ローカルバスは、内部データ処理装置61により一時的に占有され、内部バス転送INT_1、INT_2、INT_3が行われる。
 T20サイクルにおいて、FIFO2のDMA転送用のデータ領域230が満杯となり、DMA要求信号26はネゲートされたままとなる。このため、CPU10は、T21サイクル以降はCPU転送のみを行う。
 T24サイクルにおいて、FIFO2のDMA転送用のデータ領域230に格納された複数語のDMAアクセスデータのバースト出力が開始される。T20サイクルからT23サイクルの内部バス転送(INT_3)により、内部バス転送(DMA_L1からDMA_L8)の開始が遅れている。
 複数語のDMAアクセスデータに対応する内部バス転送(DMA_L1からDMA_L8)は連続して行われる。
 T31サイクルにおいて、FIFO2のDMA転送用のデータ領域230が空となる。制御器22は、DMA要求信号26を再度アサートする。
 T32、T33サイクルにおいては、内部バス転送(INT_4)が行われ、続いて、内部バス転送(CPU_L3、CPU_L4、CPU_L5)が行われる。FIFO2のDMA転送用のデータ領域230には、再度、DMAコントローラ11とデータ転送装置1との間の外部バス転送(DMA_M9、DMA_M10)によるDMAアクセスデータが保持される。
 T37、T38サイクルにおいては、データ転送装置1とローカルメモリ56との間の内部バス転送(DMA_L9、DMA_L10)が行われる。
 これ以降、DMA転送は、CPU10によって前述したDMA転送のための初期値が予め設定された後に再度開始される。
 このように、本実施の形態では、FIFO2に格納された複数語のDMAアクセスデータをローカルメモリ56にバースト転送し、FIFO2に格納された1語以上のCPUアクセスデータをローカルメモリ56に逐次転送するように、FIFO2が制御される。このようにFIFO2を制御することにより、ウェイト制御信号24のアサート期間を短縮することができる。その結果、ウェイト制御信号24のアサートによりメインバスの使用権を決定するCPU10の動作の待ち時間が短縮される。これにより、データ転送装置1と周辺装置とを含むシステムのデータ転送レートを向上させることができる。
 なお、ローカルメモリ56からCPU10にデータを転送する場合には、FIFO2を介さずにローカルデータバス28から直接的にメインデータバス13に出力する制御を行う必要がある。ローカルメモリ56からDMAコントローラ11にデータを転送する場合には、ローカルデータバス28上のデータをバースト転送によりFIFO2にいったん格納した上で、FIFO2に格納されたデータをDMA要求信号26を用いて1語ずつDMAコントローラ11に転送する制御を行うことが必要である。
 (実施の形態2)
 図3は、本発明の実施の形態2のデータ転送装置1aの構成を示す。
 図3において、図1に示される構成要素と同一の構成要素には同一の参照符号を付し、その説明を省略する。
 図4は、FIFO2aの構成例を示す。
 FIFO2aは、複数のデータフィールド410aと、複数のアドレスフィールド410bと、複数のアクセス判別フィールド410cとを有している。複数のデータフィールド410aのそれぞれには、1語のCPUアクセスデータまたは1語のDMAアクセスデータが格納される。複数のアドレスフィールド410bのそれぞれには、対応するデータフィールド410aに格納されたデータに対応するアドレスが格納される。複数のアクセス判別フィールド410cのそれぞれには、対応するデータフィールド410aに格納されたデータの種類を示す情報が格納される。
 データフィールド410aに格納されたデータがCPUアクセスデータである場合には、そのデータフィールド410aに対応するアクセス判別フィールド410cには、値「0」が格納される。データフィールド410aに格納されたデータがDMAアクセスデータである場合には、そのデータフィールド410aに対応するアクセス判別フィールド410cには、値「1」が格納される。
 なお、データフィールド410aに格納されたデータがDMAアクセスデータである場合には、そのデータフィールド410aに対応するアドレスフィールド410bには、アドレスが無効(すなわち、「Invalid」)であることを示す任意の値が格納される。
 図4に示される例では、FIFO2aに含まれるデータフィールド410a、アドレスフィールド410bおよびアクセス判別フィールド410cの数はそれぞれ8である。しかし、FIFO2aに含まれるフィールドの数がこれらに限定されるわけではない。FIFO2aは、任意の数のフィールドを含み得る。
 はじめに、FIFO2aへのデータの書き込みを説明する。
 ライトポインタ69に応じて、複数の書き込み制御線420aのうち書き込み位置に対応する1本の書き込み制御線420aがアサートされる。このような選択的なアサートは、回路410dによって行われる。その結果、アサートされた書き込み制御線420aに接続されているデータフィールド410aには、データ線67上のデータが書き込まれ、アサートされた書き込み制御線420aに接続されているアドレスフィールド410bには、アドレス線68上のアドレスが書き込まれ、アサートされた書き込み制御線420aに接続されているアクセス判別フィールド410cには、信号線63上のアクセス判別信号が書き込まれる。
 次に、FIFO2aからのデータの読み出しを説明する。
 セレクタ410eは、リードポインタ70に応じて、複数のデータフィールド410aの出力420bのうちの1つを選択し、選択された出力420bをデータ線65に出力する。
 セレクタ410fは、リードポインタ70に応じて、複数のアドレスフィールド410bの出力420cのうちの1つを選択し、選択された出力420cをアドレス線66に出力する。
 セレクタ410gは、リードポインタ70に応じて、複数のアクセス判別フィールド410cの出力420dのうちの1つを選択し、選択された出力420dを信号線75に出力する。
 以下、図3および図4を参照して、データ転送装置1aの内部動作を説明する。
 CPUアクセス制御信号23とともにCPU10から出力されるデータおよびローカルメモリアドレスは、メインバスインターフェース27に一時的に格納される。
 アクセス判別器64は、CPUアクセス制御信号23とDMAアクセス制御信号2とに基づいて、アクセス判別信号63を生成する。アクセス判別器64は、CPUアクセス制御信号23がアサート状態であり、DMAアクセス制御信号25がネゲート状態であることを検出すると、値「0」のアクセス判別信号63を生成する。また、アクセス判別器64は、CPUアクセス制御信号23がネゲート状態であり、DMAアクセス制御信号25がアサート状態であることを検出すると、値「1」のアクセス判別信号63を生成する。アクセス判別信号63は、FIFO2aに出力される。
 アクセス判別器64は、ライトポインタ生成要求信号72をライトポインタ生成器15に出力する。
 ライトポインタ生成器15は、ライトポインタ生成要求信号72に応答して前回のライトポインタを1語分だけインクリメントすることにより、ライトポインタ69を生成する。ライトポインタ69は、FIFO2aに出力される。
 ライトポインタ69に対応する位置のアクセス判別フィールド410cには、アクセス判別信号63が書き込まれる。ライトポインタ69に対応する位置のデータフィールド410aには、データ線67上のCPUアクセスデータが書き込まれる。ライトポインタ69に対応する位置のアドレスフィールド410bには、アドレス線68上のCPUアクセスアドレスが書き込まれる。
 このようにして、FIFO2aには、CPUアクセスデータとDMAアクセスデータとが混在して蓄積される。
 なお、DMA転送のための初期値の設定は、実施の形態1と同様である。
 ポインタ比較器74は、ライトポインタ69とリードポインタ70とを比較し、その比較結果に応じたFIFOフラグ73を制御器22に出力する。FIFOフラグ73の値は、FIFO2aに保持されているデータがない場合には0であり、FIFO2aに保持されているデータがある場合には1であり、FIFO2aに保持されているデータの数がFIFO2aに保持可能なデータの数の上限値に等しい場合には2である。
 制御器22は、バスコントローラ33にローカルバス要求信号30を出力する。制御器22は、ローカルバス許可信号29のアサートを検出すると、リードポインタ生成要求信号71をリードポインタ生成器17に出力する。
 リードポインタ生成器17は、前回のリードポインタを1語分だけインクリメントすることにより、リードポインタ70を生成する。リードポインタ70は、FIFO2aに出力される。
 FIFO2aは、リードポインタ70に対応する位置のデータフィールド410aに格納されているデータをデータ線65に出力し、リードポインタ70に対応する位置のアドレスフィールド410bに格納されているアドレスをアドレス線66に出力し、リードポインタ70に対応する位置のアクセス判別フィールド410cに格納されている信号を信号線75に出力する。
 信号線75上のアクセス判別信号が0である場合には、制御器22は、FIFO2aから出力されたデータがCPUアクセスデータであると判別する。制御器22は、ローカルバス制御信号62をローカルバスインタフェース34に出力する。その結果、ローカルバスインタフェース34は、データ線65上のデータをローカルデータバス28に出力し、アドレス線66上のアドレスをローカルアドレスバス35に出力する。
 信号線75上のアクセス判別信号が1である場合には、制御器22は、FIFO2aから出力されたデータがDMAアクセスデータであると判別する。制御器22は、DMAアドレス生成要求信号58を加算器4および減算器3に出力する。加算器4は、前回のDMAアドレスを1語分だけインクリメントし、その結果をDMAアドレス線53に出力する。減算器3は、前回のDMA転送残数を1語分だけデクリメントし、DMAアドレス生成終了信号54を制御器22に出力する。その結果、DMA転送残数が1語となった場合には、DMA転送残数フラグ57をアサートする。
 制御器22は、ローカルバス制御信号62をローカルバスインタフェース34に出力する。ローカルバスインタフェース34によって、ローカルバス制御信号62のアドレス選択フィールドが参照される。その結果、ローカルバスインタフェース34は、DMAアドレス線53上のアドレスをローカルアドレスバス35に出力する。
 制御器22は、バスコントローラ33がローカルバスの使用許可をデータ転送装置1aに与えている間、FIFO2aにDMAアクセスデータが残っていることを示すDMA転送残数フラグ57がアサートされるまで、リードポインタ生成要求信号71を出力する。
 なお、上述した実施の形態において、DMA転送の場合には、DMAコントローラからFIFOへは1語ずつ転送され、FIFOからローカルメモリへはFIFOの容量単位にバースト転送される。このFIFOの容量は、外部バス転送サイクルと内部バス転送サイクルの速度や転送比率、チップ内に占める面積により、その最適値が変動する。これをバス使用比率を用いて考察する。
 前提として、CPUおよびDMAコントローラによるデータ転送における内部バス占有率10%、内部バスの使用権交代1回に要する内部バス占有率を5%、内部データ処理装置の内部バス占有率を80%とした場合、1語の外部バス転送の基本サイクルに要する時間が1語の内部バス転送の基本サイクルに要する時間の10倍であれば、外部バス転送は連続して行えることとなる。
 しかし、実際には、内部データ処理装置が連続して内部バスを占有する場合を考慮して、FIFOの容量は大きい程よいと考えられる。しかしながら、チップ内のFIFOの面積は、チップのコストを引き上げるため、数十ワードの容量を備えることは難しい。このような理由から、FIFOの容量は、20ワード程度が最適と考えられる。
本発明の実施の形態1のデータ転送装置1の構成を示すブロック図である。 図1に示されるFIFO2の構成例を示す図である。 本発明の実施の形態2のデータ転送装置1aの構成を示すブロック図である。 図3に示されるFIFO2aの構成例を示す図である。 CPU転送とDMA転送とを混在して行った場合におけるデータ転送装置1の動作シーケンスを示す図である。 従来のデータ転送装置100の構成を示すブロック図である。 CPU転送とDMA転送とを混在して行った場合におけるデータ転送装置100の動作シーケンスを示す図である。
符号の説明
 1、1a データ転送装置
 2、2a FIFO
 10 CPU
 11 DMAコントローラ
 12 メインメモリ
 13 メインデータバス
 22 制御器
 27 メインバスインタフェース
 28 ローカルデータバス
 33 バスコントローラ
 34 ローカルバスインタフェース
 50 メインアドレスバス
 55 バスインタフェース
 56 ローカルメモリ

Claims (3)

  1. メインバスに接続されたメインメモリからローカルバスに接続されたローカルメモリにデータを転送するデータ転送装置であって、
     前記メインバスに接続されたCPUによってアクセスされる1語以上のCPUアクセスデータまたは、前記メインバスに接続されたDMAコントローラによってアクセスされる複数語のDMAアクセスデータを格納するデータ領域を有する先入れ先出しバッファと、
     前記先入れ先出しバッファを制御する制御器と
     を備え、
     前記制御器は、前記ローカルバスが使用可能な場合には、前記データ領域に格納された前記1語以上のCPUアクセスデータを前記ローカルメモリに逐次転送し、前記データ領域に格納された前記複数語のDMAアクセスデータを前記ローカルメモリにバースト転送するように、前記先入れ先出しバッファを制御し、
     前記先入れ先出しバッファは、前記データ領域に格納されたデータがCPUアクセスデータであるかDMAアクセスデータであるかを判別するための情報を格納する領域をさらに有している、データ転送装置。
  2. 前記制御器は、前記データ領域に格納された前記複数語のDMAアクセスデータをローカルDMA転送の単位として扱い、前記ローカルDMA転送の単位ごとに前記ローカルバスの使用要求を行う、請求項1に記載のデータ転送装置。
  3. 前記制御器は、前記データ領域に格納された前記1語以上のCPUアクセスデータの転送をローカルDMA転送として処理し、前記データ領域に格納された前記複数語のDMAアクセスデータの転送をローカルDMA転送として処理する、請求項1に記載のデータ転送装置。
JP2003361295A 2003-10-21 2003-10-21 データ転送装置 Pending JP2004094970A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003361295A JP2004094970A (ja) 2003-10-21 2003-10-21 データ転送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003361295A JP2004094970A (ja) 2003-10-21 2003-10-21 データ転送装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP37191899A Division JP2001188748A (ja) 1999-12-27 1999-12-27 データ転送装置

Publications (1)

Publication Number Publication Date
JP2004094970A true JP2004094970A (ja) 2004-03-25

Family

ID=32064645

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003361295A Pending JP2004094970A (ja) 2003-10-21 2003-10-21 データ転送装置

Country Status (1)

Country Link
JP (1) JP2004094970A (ja)

Similar Documents

Publication Publication Date Title
US20040107265A1 (en) Shared memory data transfer apparatus
JP2006195823A (ja) Dma装置
US20020184453A1 (en) Data bus system including posted reads and writes
KR100395383B1 (ko) 데이터 전송 장치
JP2006338538A (ja) ストリームプロセッサ
JP4090883B2 (ja) 異なるリソースアクセス方式を有するシステム統合エージェント
JP2006293927A (ja) ダイレクトメモリアクセス制御装置及びダイレクトメモリアクセス制御装置を含むシステムlsi
JP2006113689A (ja) バスブリッジ装置およびデータ転送方法
USRE40261E1 (en) Apparatus and method of partially transferring data through bus and bus master control device
JPH11194995A (ja) Dram内蔵マイクロプロセッサ及びdram内蔵マイクロプロセッサのデータ転送方法
US7913013B2 (en) Semiconductor integrated circuit
JP2000010913A (ja) 情報処理装置および方法、並びに提供媒体
JP2008046771A (ja) ダイレクトメモリアクセスコントローラ
US20120011295A1 (en) Method and apparatus for wireless broadband systems direct data transfer
JP2004094970A (ja) データ転送装置
JP2004194014A (ja) バス制御装置及び情報処理システム
JP2005165592A (ja) データ転送装置
JP2005165508A (ja) ダイレクトメモリアクセスコントローラ
JP4592944B2 (ja) Cpuインターフェース回路
JP3206656B2 (ja) バス上でのプリフェッチ装置およびプリフェッチ方法
JP2010140440A (ja) バス調停装置
JP2000293480A (ja) Dma転送装置
JP2005063351A (ja) データ転送装置およびデータ転送方法
JP2005063358A (ja) 命令供給制御装置および半導体装置
JP2007305073A (ja) データ処理装置及びメモリコントローラチップ

Legal Events

Date Code Title Description
A977 Report on retrieval

Effective date: 20060413

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060418

A02 Decision of refusal

Effective date: 20060929

Free format text: JAPANESE INTERMEDIATE CODE: A02