JP3671120B2 - データ転送装置、データ転送システムおよびデータ転送方法 - Google Patents

データ転送装置、データ転送システムおよびデータ転送方法 Download PDF

Info

Publication number
JP3671120B2
JP3671120B2 JP17032599A JP17032599A JP3671120B2 JP 3671120 B2 JP3671120 B2 JP 3671120B2 JP 17032599 A JP17032599 A JP 17032599A JP 17032599 A JP17032599 A JP 17032599A JP 3671120 B2 JP3671120 B2 JP 3671120B2
Authority
JP
Japan
Prior art keywords
data
processing unit
transfer
data transfer
buffer memory
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.)
Expired - Lifetime
Application number
JP17032599A
Other languages
English (en)
Other versions
JP2000357150A (ja
Inventor
馨 山上
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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
Priority to JP17032599A priority Critical patent/JP3671120B2/ja
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to RU2001133097/09A priority patent/RU2001133097A/ru
Priority to KR1020017016162A priority patent/KR100653569B1/ko
Priority to BR0011668-8A priority patent/BR0011668A/pt
Priority to CA002374984A priority patent/CA2374984A1/en
Priority to PCT/JP2000/003915 priority patent/WO2000077786A1/en
Priority to EP00937256A priority patent/EP1188162B1/en
Priority to MXPA01012837A priority patent/MXPA01012837A/es
Priority to CNB008089906A priority patent/CN1165046C/zh
Priority to AU52483/00A priority patent/AU5248300A/en
Priority to TW089111752A priority patent/TW522307B/zh
Publication of JP2000357150A publication Critical patent/JP2000357150A/ja
Application granted granted Critical
Publication of JP3671120B2 publication Critical patent/JP3671120B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10629Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
    • G11B2020/10638First-in-first-out memories [FIFO] buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、データの転送元からデータの転送先にデータを転送する際に、バッファメモリを利用するデータ転送装置、データ転送システムおよびデータ転送方法に関する。
【0002】
【従来の技術】
近年、CDROM(compact disk read only memory )やハードディスク等の2次記憶装置のメモリ容量が飛躍的に増加し、大量の楽音データを簡易に扱うことができるようになってきている。
【0003】
また、表現力豊かな楽音データを実時間で生成することが可能な演算装置も簡易に利用することができるようになってきている。
【0004】
さらには、楽音データをネットワークや公衆回線を通じて容易に取り込むこともできるようになってきている。
【0005】
このようにして得られる楽音データは、前記の2次記憶装置、演算装置あるいは公衆回線等から、たとえば、直接、換言すれば、圧縮データとされることなく、楽音データ再生装置に転送され、該楽音データ再生装置により連続的に実時間で再生される。
【0006】
楽音データ再生装置により連続的に実時間で途切れることなく楽音データを再生するために、先入れ先出しメモリであるFIFOメモリを利用したり、RAM(random access memory)のメモリ領域を分割して利用するダブルバッファメモリ処理が行われている。
【0007】
このダブルバッファメモリ処理では、一方のバッファメモリにデータが満杯になったところで、該一方のバッファメモリからデータを読み出し、たとえば、楽音データの再生を開始し、この読出が終了する前に他方のバッファメモリのデータが満杯となるようなデータ転送処理を行い、前記一方のバッファメモリのデータが空となった時点で他方のバッファメモリに読出を切り替えることで、データの読出の連続性、たとえば、楽音データの連続再生が可能とされている。
【0008】
【発明が解決しようとする課題】
ところで、従来のダブルバッファメモリ処理では、片方のバッファメモリが空になったことをデータ転送元のCPU(central processing unit )等の処理装置に通知するために、割り込み処理が使用されている。
【0009】
しかしながら、この割り込み処理では、処理装置内のレジスタや各種情報を一旦保存して処理を行わなければならず、処理装置に対する負担が大きくなるという問題がある。
【0010】
しかも、ダブルバッファメモリ処理を使用してデータを出力するためには、この出力データが途切れないように、データ転送の最初の段階でダブルバッファメモリ中、一方のバッファメモリのデータを満杯としておく必要があり、最初の再生を再生指示に即応して実行するためには、バッファメモリのメモリ容量をなるべく小さい容量とすることが好ましい。しかしながら、バファメモリの容量を小さい容量とすると、より割り込み処理の頻度が高くなり、処理装置の負担がますます大きくなるという問題がある。
【0011】
この発明はこのような課題を考慮してなされたものであり、割り込み処理回数を低減して、データ転送側の処理装置の負担を相当に小さくすることを可能とするデータ転送装置、データ転送システムおよびデータ転送方法を提供することを目的とする。
【0012】
【課題を解決するための手段】
この発明のデータ転送装置は、メインメモリが接続されたバスに接続されるホストCPUとDMACを有するデータの転送元処理部と、書込用であったものが読出用に、読出用であったものが書込用にと交互に切り替えられる実質的に2つのバッファメモリと、CPUを有するデータの転送先処理部とを備え、前記転送元処理部は、前記バッファメモリのメモリ容量よりも大きい容量のデータサイズを扱い、前記転送先処理部は、前記転送元処理部からデータ転送の開始指示が通知されたとき、読出用に指定していない前記バッファメモリを書込用に指定し、データ転送要求を前記転送元処理部の前記DMACに送り、該転送元処理部の該DMACからデータが転送されてきたとき、書込用に指定した前記バッファメモリに一定のデータサイズまで書き込んだ後、読出用に指定していた前記バッファメモリが空となるのを待ち、空となったときに、再びデータ転送要求を前記転送元処理部に送るとともに読出用と書込用とを切り替えてデータの読み書き制御を行い、このデータの読み書き制御を転送全データサイズの書込処理が終了するまで継続し、転送全データサイズの書込処理終了時に前記DMACから前記ホストCPUに対して転送終了割込を発生するよう制御することを特徴とする(請求項1記載の発明)。
【0013】
この発明によれば、データ転送先処理部において、バッファメモリを書込用と読出用とに交互に切り替えるようにしているので、データ転送元処理部に対する割込処理を少なくすることができ、データ転送元処理部の負担を軽減することができる。なお、1回のデータ転送のサイズは、バッファメモリが満杯となるサイズではなく、一定のデータサイズとすることができる。
【0014】
また、前記転送先処理部がデータ転送要求を前記転送元処理部に送るたびに、前記転送元処理部から所定のデータ転送容量に対応する分のデータずつ転送される(請求項2記載の発明)。
【0016】
また、前記転送先処理部は、書込用に指定した前記バッファメモリが満杯となるまでデータを書き込む(請求項記載の発明)。
【0017】
転送データは、楽音データとしてもよい(請求項5記載の発明)。
【0018】
また、本発明のデータ転送システムは、バスにメインメモリが接続された前記バスに接続されるホストCPUとDMACを有するホスト処理部とCPUを有する楽音処理部が接続され、前記楽音処理部に、書込用であったものが読出用に、読出用であったものが書込用にと交互に切り替えられる実質的に2つのバッファメモリが接続され、前記ホスト処理部から前記バスおよび前記楽音処理部を介して前記バッファメモリに楽音データが転送されるデータ転送システムにおいて、前記ホスト処理部は、前記バッファメモリのメモリ容量よりも大きい容量のデータサイズを扱い、前記楽音処理部は、前記ホスト処理部からデータ転送の開始指示が通知されたとき、読出用に指定していない前記バッファメモリを書込用に指定し、データ転送要求を前記ホスト処理部の前記DMACに送り、該ホスト処理部の該DMACからデータが転送されてきたとき、書込用に指定した前記バッファメモリに一定のデータサイズまで書き込んだ後、読出用に指定していた前記バッファメモリが空となるのを待ち、空となったときに、再びデータ転送要求を前記ホスト処理部に送るとともに読出用と書込用とを切り替えてデータの読み書き制御を行い、このデータの読み書き制御を転送全データサイズの書込処理が終了するまで継続し、転送全データサイズの書込処理終了時に前記DMACから前記ホストCPUに対して転送終了割込を発生するよう制御することを特徴とする(請求項5記載の発明)。
【0019】
この発明のデータ転送システムにおいても、楽音処理部において、バッファメモリを書込用と読出用とに交互に切り替えるようにしているので、ホスト処理部に対する割込処理を少なくすることができ、ホスト処理部の負担を軽減することができる。なお、1回のデータ転送のサイズは、バッファメモリが満杯となるサイズではなく、一定のデータサイズとすることができる。
【0020】
また、前記楽音処理部がデータ転送要求を前記ホスト処理部に送るたびに、前記ホスト処理部から所定のデータ転送容量に対応する分のデータずつ転送される(請求項記載の発明)。
【0022】
さらに、前記楽音処理部は、書込用に指定した前記バッファメモリが満杯となるまでデータを書き込む(請求項記載の発明)。
【0023】
また、この発明のデータ転送方法は、バスにメインメモリが接続された前記バスに接続されるホストCPUとDMACを有するホスト処理部とCPUを有する出力処理部が接続され、この出力処理部に実質的に2つのバッファメモリと出力部が接続されるデータ転送システムにおけるデータ転送方法において、前記ホスト処理部は、前記バッファメモリのメモリ容量よりも大きい容量のデータサイズを扱い、前記出力処理部は、前記ホスト処理部からデータ転送の開始指示が通知されたとき、読出用に指定していない前記バッファメモリを書込用に指定し、データ転送要求を前記ホスト処理部の前記DMACに送り、該ホスト処理部の該DMACからデータが転送されてきたとき、書込用に指定した前記バッファメモリに一定サイズのデータを書き込んだ後、読出用に指定していた前記バッファメモリが空となるのを待ち、空となったときに、再びデータ転送要求を前記ホスト処理部に送るとともに読出用と書込用とを切り替えてデータの読み書き制御を行い、このデータの読み書き制御を転送全データサイズの書込処理が終了するまで継続し、転送全データサイズの書込処理終了時に前記DMACから前記ホストCPUに対して転送終了割込を発生するよう制御することを特徴とする(請求項8記載の発明)。
【0024】
この発明によれば、バッファメモリへのデータの転送処理を主に出力処理部で制御するようにしているので、ホスト処理部の転送処理に対する負担を少なくすることができる。なお、1回のデータ転送のサイズは、バッファメモリが満杯となるサイズではなく、一定のデータサイズとすることができる。
【0025】
また、前記出力処理部がデータ転送要求を前記ホスト処理部に送るたびに、前記ホスト処理部から所定のデータ転送容量に対応する分のデータずつ転送される(請求項記載の発明)。
【0027】
また、前記出力処理部は、書込用に指定した前記バッファメモリが満杯となるまでデータを書き込む(請求項10記載の発明)。
【0029】
この場合において、データとしては楽音データを取り扱うことができる(請求項11記載の発明)。
【0030】
【発明の実施の形態】
以下、この発明の一実施の形態について図面を参照して説明する。
【0031】
図1は、この実施の形態が適用されたデータ記録再生装置10の構成を示している。
このデータ記録再生装置10は、バス12を有し、このバス12に、このデータ記録再生装置10の全体を制御し、データ転送元処理部あるいはデータ転送先処理部として機能するホストCPU(ホスト処理部)14が接続されている。
【0032】
また、このバス12には、DRAM(dynamic random access memory)により構成されるメインメモリ16と、2次記憶装置ドライブ18を介して接続されるハードディスク等の2次記憶装置20が接続されている。
【0033】
さらに、このバス12には、ネットワークインタフェース22を介して公衆回線23が接続されている。また、公衆回線23の他に図示していないネットワークが接続されている。この公衆回線23や他のネットワークを利用してデータの入出力を行うことができる。
【0034】
さらに、バス12には、通常、データの転送先処理部として機能し、必要に応じてデータの転送元処理部として機能する楽音処理部であるサウンドプロセッサ(sound processing unit:SPU)24が接続されている。サウンドプロセッサ24には、このサウンドプロセッサ24の全体を制御する2つのCPU24a、24b等が搭載されている。
【0035】
また、このサウンドプロセッサ24には、2つのCPU24a、24b以外に、図示はしないが、制御プログラム等が格納されるROM、作業用のRAM、カウンタ、タイマ、DAC(デジタルアナログ変換器)、ADC(アナログデジタル変換器)等が含まれている。そして、このサウンドプロセッサ24は、データ転送処理を行うとともに、楽音データの発生(生成)処理を行うこともできる。
【0036】
サウンドプロセッサ24には、インタフェース26を介して音声出力装置(出力部)としてのスピーカ28が接続されるとともに、インタフェース30を介して音声入力装置(入力部)としてのマイクロホン32が接続されている。したがって、サウンドプロセッサ24は、入出力処理部としても機能する。
【0037】
さらに、サウンドプロセッサ24には、このサウンドプロセッサ24が読み書きを制御する、いわゆるダブルバッファとしての2つのバッファメモリ41、42からなるバッファメモリ40が接続されている。なお、バッファメモリ41、42は、この実施の形態のように1つのメモリを領域分割して用いてもよく、あるいは2つのメモリを用いることもできる。この意味から、バッファメモリ40としては、実質的に2つのバッファメモリを使用することができる。分割されているバッファメモリ41、42をそれぞれチャンネル41、42とも呼ぶ。
【0038】
また、後述するように、バッファメモリ41、42は、たとえば、4チャンネルスピーカシステムを駆動する等のために、それぞれ、複数に分割されていてもよい。
【0039】
この実施の形態において、バッファメモリ41、42のそれぞれのメモリ容量は、16ビット/ワードで256ワードずつ記憶可能な容量とされている。それぞれの先頭メモリアドレスは、アドレスAS0、AS1とされている。そして、実際上、バッファメモリ41、42は、サウンドプロセッサ24の、いわゆるローカルメモリとしても機能するので、512ワード以上のメモリ容量を有している。
【0040】
この場合、サウンドプロセッサ24の一方のCPU24aによりバッファメモリ40の一方、たとえば、バッファメモリ41にデータが書き込まれ、他方のCPU24bによりバッファメモリ40の他方、したがって、バッファメモリ42からデータが読み出される。
【0041】
そして、たとえば、読出処理が途切れないようにするためには、バッファメモリ41にデータが満杯になった後に、他方のバッファメモリ42のデータが空になったとき、前記一方のCPU24aにより前記満杯となったバッファメモリ41のデータが読み出され、前記他方のCPU24bにより前記空となった他方のバッファメモリ42へのデータの書込が開始されるようにすればよい。
【0042】
このように、サウンドプロセッサ24は、CPU24aとCPU24bにより、バッファメモリ40に対する書込処理を読出処理よりも短く行うことにより、読出処理を途切れさせることなく、バッファメモリ40に対するデータの読み書き制御をリアルタイムに並列処理で行うことができる。
【0043】
さらに具体的に説明すると、サウンドプロセッサ24によりスピーカ28から音声を出力する際には、一方のバッファメモリ41(あるいはバッファメモリ42)からの一方のCPU24a(あるいはCPU24b)によるデータの読み出しが途切れないように、換言すれば、再生が連続して行われるように、残りの他方のバッファメモリ42(したがってバッファメモリ41)への他方のCPU24b(したがってCPU24a)によるデータの書込が読出より高速に処理される。
【0044】
その一方、マイクロホン32等により音声を入力する際には、一方のバッファメモリ41(あるいはバッファメモリ42)へのデータの書込が途切れないように、換言すれば、録音が連続して行われるように、残りの他方のバッファメモリ42(したがってバッファメモリ41)からの読出が書込より高速に処理される。
【0045】
上述したバス12には、2次記憶装置20とメインメモリ16間、あるいはメインメモリ16とサウンドプロセッサ24のバッファメモリ40間で、直接データ転送を行うためのDMAC(direct memory access controller :ダイレクトメモリアクセスコントローラ)44が接続されている。
【0046】
DMAC44は、たとえば、メインメモリ16とバッファメモリ40との間のデータ転送では、通常、データ転送元処理部として機能し、必要に応じてデータ転送先処理部として機能する。
【0047】
次に、上記図1例のデータ記録再生装置10におけるホスト側のメモリ、すなわちメインメモリ16からローカル側のメモリ(ローカルメモリ)、すなわちバッファメモリ40への転送全データサイズが2560ワードのデータ転送動作手順について、図2のフローチャートを参照して説明する。このデータ転送では、メインメモリ16からバッファメモリ40に転送を開始した後、きわめて短い一定時間経過後、換言すれば、一方のバッファメモリ40にデータが満杯となったときにスピーカー28から音声出力が開始され、2560ワード分の音声出力が途切れることなく行われるようにデータ転送処理がなされる。
【0048】
なお、DMAC44によるメインメモリ16からバファメモリ40への1回でのデータ転送容量は32ワードであるので、2560ワードを送るために、2560ワード÷32ワード=80回のデータ転送処理がなされる。
【0049】
そこで、まず、ホストCPU14は、ステップS1で、データ転送の準備処理を行う。この準備処理では、これからサウンドプロセッサ24を経由してバッファメモリ40を構成するバッファメモリ41、42に交互に256ワードずつ順次転送しようとする2560ワード分のデータ{ここでは楽音データ(サウンドデータ)}を2次記憶装置20から読み出し、メインメモリ16に転送して予め所定の順序で書き込んでおく。
【0050】
なお、2次記憶装置20から読み出されるデータには、予め2次記憶装置20に記憶されているデータ、あるいは公衆回線23からネットワークインタフェース22を通じて、一旦、2次記憶装置20に記憶されているデータが含まれる。
【0051】
そして、2次記憶装置20からメインメモリ16に書き込む際には、図3に示すように、バッファメモリ40の各チャンネル41、42へ転送しようとするデータDnを256ワード毎に10個に区切って(Dn=D1、D2、…D10)、メインメモリ16上の各先頭アドレスA1〜A10から転送順に配置した形式のデータDαとして書き込むようにする。
【0052】
または、図4に示すように、チャンネル毎のシーケンシャルなデータDβと、そのデータ転送順を示す先頭アドレスを記憶する図5の参照タグ50を含む形式として書き込むようにする。
【0053】
詳しく説明すると、図3の転送順形式では、メモリアドレスA1から256ワードのデータD1を格納し、メモリアドレスA2に256ワードのデータD2を格納し、以下、順次、メモリアドレスA10への256ワードのデータD10を格納するというように、データの転送順(図3では、便宜上、転送順1〜5としている)にメモリ16にデータDαを予め書き込んでおくようにする。
【0054】
また、図4、図5の参照タグ50の参照タグ形式では、チャンネル41、42用毎にシーケンシャルなそれぞれが256ワードのデータDa1〜Da5、Db1〜Db5をメモリアドレスA1〜A10に予め書き込み、データDa1〜Da5、Db1〜Db5の読み出し順{先頭アドレス(データ)A1、A6、A2、…A5、A10}を参照タグ50に予め書き込んでおくようにする。
【0055】
このようにして、メインメモリ16に所定の形式(転送順形式または参照タグ形式)で、これからDMAC44からサウンドプロセッサ24を経由してバッファメモリ40に転送しスピーカ28から連続して楽音(音声)出力しようとするデータを格納しておく。
【0056】
このような準備処理の後、ステップS2において、ホストCPU14は、DMAC44に対して、転送開始アドレス、この場合、アドレスA1と転送全データサイズ、この場合、2560ワードを指示するとともにデータ転送回数、この場合、(32ワード×8=256ワード)×10での転送となるので80回をDMAC44に設定する。
【0057】
次に、ステップS3において、ホストCPU14は、メインメモリ16に格納されているデータのサウンドプロセッサ24での再生をサウンドプロセッサ24に対して指示する。
【0058】
次に、ステップS4のDMAC44によるデータの転送処理について、図6のフローチャートを用いて詳しく説明する。
【0059】
このフローチャートでは、サウンドプロセッサ24による処理を右側に描き、その左側にDMAC44による処理を描いている。
【0060】
この自動DMA転送処理において、まず、ステップS4aでは、サウンドプロセッサ24中の一方のCPU24aは、DMAC44に対してデータ要求(データリクエスト)通知を送出する。
【0061】
この通知によりDMAC44は、ステップS4bにおいて、現在のデータ転送回数から残データ転送サイズを確認する。この場合、まだ、データ転送を開始していないので、データ転送回数は80回に設定されている。
【0062】
次いで、ステップS4cにおいて、DMAC44は、ホストCPU14に対してバス12の占有使用の許可を求めるバス権要求(バスリクエスト)信号を送出する。
【0063】
このバス権要求信号に対して、ステップS5において、ホストCPU14は、割り込みがかけられたのと同様に、現在の処理を一旦停止し、レジスタ等への退避処理等を行った後、バス12の占有使用を許可するバス権要求受理(バスアクノリッジ)をDMAC44に送出する。これにより、バス12は、ホストCPU14によりハイインピーダンスのフローティング状態とされる。
【0064】
ステップS4dにおいてバス権要求受理を受けたDMAC44は、ステップS4eにおいて、ステップS4aで発せられたデータ要求に対応するデータ要求受理(データアクノリッジ)通知をサウンドプロセッサ24に送出する。
【0065】
このデータ要求受理通知に対してサウンドプロセッサ24は、ステップS4fにおいて、転送対象のバファメモリ41、42のいずれかを指定し、ここでは、予め最初に転送データを受け入れるようにされているバッファメモリ41を指定し、ステップS4gにおいてデータ転送の受入了解をDMAC44に対して通知する。
【0066】
次いで、ステップS4hにおいて、DMAC44からサウンドプロセッサ24に対して、アドレスA1から記憶されている最初の256ワードのデータ(図3例の場合データD1、図4例の場合データDa1)の転送が開始される。
【0067】
この場合のデータの転送順は、メインメモリ16に記憶されているデータが、図3に示したデータDnのように、データ転送順に配置した形式のデータDαである場合には、その転送順のアドレスに従いアドレスA1からの256ワードのデータD1中、最初の32ワード分のデータが転送される。
【0068】
一方、図4、図5に示したように、メインメモリ16に参照タグ50とシーケンシャルなデータDβとが記憶されている場合には、その参照タグ50を参照して、アドレスA1からの256ワードのデータDa1中、最初の32ワード分のデータが転送される。
【0069】
最初の32ワード分のデータをサウンドプロセッサ24に転送終了したとき、ステップS4haにおいて、DMAC44からホストCPU14に対してバス権要求解除信号が送出される。
【0070】
ホストCPU14は、このバス権要求解除信号に応じて、バスの使用権を自身に移す。
【0071】
また、DMAC44は、バス権要求解除信号を送出するとともに、ステップS4hbにおいて、データ転送回数を80回から79回(データ転送回数−1)とする。
【0072】
最初の32ワード分のデータが転送されてきたとき、サウンドプロセッサ24は、ステップS4iにおいて、バッファメモリ41のアドレスAS0から、その32ワード分のデータを書き込む。
【0073】
次いで、ステップS4jにおいてサウンドプロセッサ24は、現在、データ書込中のバッファメモリ41が満杯(一杯)になっているかどうか、すなわち256ワード分記憶されているかどうかを確認する。
【0074】
この時点では、満杯になっていないので、ステップS4aに戻り、次の32ワード分に対するデータ転送を要求する。
【0075】
DMAC44では、上述したように、ステップS4bにおいて、現在のデータ転送回数から残データ転送サイズを確認する。この場合、データ転送回数は79回に設定されているので、ステップS4c、S4dにおいて、再びバス権を要求してバス権要求受理を確認する。そして、ステップS4eにおいて、サウンドプロセッサ24からのステップS4aで発せられたデータ要求を受理する通知を行う。
【0076】
サウンドプロセッサ24は、ステップS4fにおいて転送対象バッファメモリを指定するが、この場合、まだ、最初の256ワードの転送過程にあり、バッファメモリ41に対する指定が継続されているので、ステップS4gにおいてデータ転送の受入を了解する。
【0077】
次いで、ステップS4hにおいてDMAC44は、データDαの場合にはデータD1中、次の32ワード分、データDβの場合にはデータDa1中、次の32ワード分のデータをサウンドプロセッサ24に対して転送する。
【0078】
サウンドプロセッサ24は、ステップS4iにおいて、この32ワード分のデータをバッファメモリ41の既に記憶されている32ワード分の次のアドレスに記憶する。
【0079】
このようにして、ステップS4a〜S4jの処理を8回繰り返したとき、バッファメモリ40中、先頭アドレスAS0で示される記憶領域であるバッファメモリ41には、CPU24aにより、図7に示すように256ワード(32ワード×8)分のデータが書き込まれ、データD1(データDa1)で満杯となる。このとき、バッファメモリ40の次の書込用先頭アドレスはAS1と設定される。
【0080】
次に、CPU24aは、ステップS4kにおいて、他方のCPU24bによるバッファメモリ42のデータの再生処理が終了したか、換言すれば、他方のバッファメモリ42が空になっているかどうかを確認する。
【0081】
この時点では、まだ、再生が開始していないので、他方のバッファメモリ42は空となっている。
【0082】
他方のバッファメモリ42が空であることを確認したとき、サウンドプロセッサ24は、ステップS4lにおいて、データ転送対象メモリ(データ書込用メモリ)と再生対象メモリ(データ読出用メモリ)を切り替え変更する。
【0083】
すなわち、データが満杯となったバッファメモリ41を書込用から読出用に指定変更し、データが空のバッファメモリ42を読出用から書込用に指定変更する。
【0084】
この指定変更により、CPU24aは、ステップS4mにおいてデータ再生処理(読出処理)を開始する。CPU24aによるデータ再生処理では、バッファメモリ41のアドレスAS0側から順次データが読み出され、インタフェース26を介してスピーカ28により音声(楽音)が再生される。
【0085】
このCPU24aによる楽音の再生中、CPU24bは、再び、ステップS4aにおいてDMAC44に対してデータ要求を行う。
【0086】
そして、上述したのと同様に、ステップS4a〜S4jの処理を8回繰り返したとき、図3に示したデータDα中、アドレスA2からの256ワード分のデータD2(あるいは図4に示したアドレスA6からの256ワード分のデータDb1)が、図8に示すように、アドレスAS1からバッファメモリ42に記憶され、バッファメモリ42が満杯とされる。
【0087】
バッファメモリ42へのデータの書込が満杯とされた時点では、その図8に模式的に示すように、CPU24aにより読出再生中のバッファメモリ41には、未だデータが残っているようにCPU24bによるバファメモリ42に対する書込処理が読出処理に比較して高速に行われる。
【0088】
したがって、ステップS4jの判断が成立した時点から書込用として動作していたCPU24bは、待ち動作となる。
【0089】
ステップS4kで、他方のメモリであるバッファメモリ41のデータの読出による楽音の再生が終了したとき、さらにステップS4lにおいて、転送対象メモリ(書込対象メモリ)と再生対象メモリの変更処理が行われ、既にデータが満杯となったバッファメモリ42が再生対象メモリとされこのバッファメモリ42からCPU24bによる読出再生処理が行われる。このとき、バッファメモリ41は、転送対象メモリとされる。
【0090】
このようにして81回目のデータ転送要求通知がサウンドプロセッサ24からDMAC44に送られたとき、DMAC44は、ステップS4bにおいて、データDα(Dβ)の全てがゼロ(データ残無し)になったと判断し、ステップS4nにおいて2560ワードのデータ転送終了の割り込みをホストCPU14に対して発生する。
【0091】
ホストCPU14は、図2に示すステップS5において、データ転送終了処理を行う。このデータ転送終了処理では、メインメモリ16中、データDα(Dβ)の消去処理およびメインメモリ16中、参照タグ50の消去処理等を行う。
【0092】
以上説明したように、この実施の形態によれば、ホストCPU14側からサウンドプロセッサ24側に2560ワードのデータを転送する際、転送終了割込処理(ステップS4nの処理)が1回しか発生しない。このため、ホストCPU14の処理負担がきわめて軽減される。
【0093】
ここで、比較例として、自動DMA転送処理ではないDMA転送処理で、メインメモリ16から2560ワードのデータをバッファメモリ40に転送し、サウンドプロセッサ24で楽音再生する際の割込回数を具体的に、図9のフローチャートを参照して説明する。
【0094】
この比較例では、ステップS11において、ホストCPU14からサウンドプロセッサ24に対して書込開始アドレス、たとえば、バッファメモリ41の先頭アドレスAS0が指定される。
【0095】
次に、ステップS1において、ホストCPU14からDMAC44に対してサウンドプロセッサ24に対する256ワードの転送指示が送られる。
【0096】
ステップS1では、256ワードの転送を行うが、このときには、DMAC44は、ホストCPU14に対して、上述したステップS4cとステップS4haのバス権に係わる処理と同様に、バス権を確保要求し、さらに解除要求する処理を32ワード毎のデータ転送に、合計それぞれ8回行う。これによりバッファメモリ41に対する256ワードのデータの書込転送、いわゆるDMA転送が終了する。
【0097】
この256ワードのDMA転送が終了した時点でDMAC44は、ステップS1においてDMA転送終了割込信号をホストCPU14に送出する。
【0098】
ホストCPU14では、この時点で割込処理を行う。
【0099】
そして、実際上、ステップS11の処理からステップS1の処理までの256ワードの書込転送中およびその書込転送終了後には、サウンドプロセッサ24により残りのバッファメモリ42からデータの読出処理が行われ、スピーカ28を通じて楽音が再生されている。
【0100】
残りのバッファメモリ42からのデータの読出処理が終了した時点で、ステップS15において、256ワードの読出が終了した再生終了割込信号がホストCPU14に対して送出される。
【0101】
ホストCPU14は、この時点でも割込処理を行う。
【0102】
そして、次に、再び、ステップS11において、書込開始アドレスをバッファメモリ42の先頭アドレスAS1に設定する。
【0103】
このように比較例の処理では、上述したステップS11〜ステップS14までの処理が10回繰り返されることで、2560ワードの楽音データのサウンドプロセッサ24による再生処理が終了する。
【0104】
したがって、比較例の処理では、2560ワードのデータ再生処理中に、ホストCPU14に対して割込処理が合計20回(ステップS14で10回、ステップS15で10回の合計20回)発生する。
【0105】
このため、ホストCPU14の転送処理に係わる処理負担がきわめて大きい。
【0106】
これに対して、図6のフローチャートを参照して説明したように、この実施の形態のデータ転送処理では、片側のバッファメモリ分の楽音データを、いわゆるダブルバッファメモリ40の片側のバッファメモリが空になったときに、比較例のように割込処理を行って転送していない。
【0107】
この実施の形態のデータ転送処理では、図10の模式図に示すように、転送元であるホストCPU14側から楽音データを転送する際に、転送元処理部としてのホストCPU14とDMAC44では、バッファメモリ41(42)のメモリ容量256ワードより大きい2560ワード分のデータサイズを扱い、転送先処理部としてのサウンドプロセッサ24では、転送処理51により片側のバッファメモリ41が埋まるだけ楽音データが転送された後に転送を一時停止しておき、他の片側のバッファメモリ42内の楽音データがサウンドプロセッサ24により再生され再生転送(出力転送)処理54により空になった時点で、この空になったバッファメモリ42に転送先位置を変更して、転送の一時停止を解除し、空になったバッファメモリ42へ楽音データの転送処理52を再開するようにしたので、バッファメモリ41、42の切替制御をサウンドプロセッサ24側で行うことにより、ホストCPU14側では負荷の大きい割込処理を行うことなく、滞りなくデータの転送再生処理を行うことができるという利点が得られる。
【0108】
すなわち、上述の実施の形態では、転送開始指示後に、2560ワード分のデータの再生および転送がDMAC44とサウンドプロセッサ24との間で「データ要求」のハンドシェイク操作だけで行われ、2560ワードの転送終了後にDMAC44からホストCPU14に対して1回だけ転送割込終了信号が送出されることになる。
【0109】
したがって、比較例に比較して、ホストCPU14に対する割込処理が1/20に低減するというきわめて顕著な効果を達成する。
【0110】
図11は、楽音データとしてステレオデータを記録再生するこの発明の他の実施の形態に係るデータ記録再生装置10Aの構成を示している。なお、このデータ記録再生装置10Aにおいて、図1例のデータ記録再生装置10に示したものと対応するものには同一の符号を付け、その詳細な説明を省略する。
【0111】
このデータ記録再生装置10Aでは、バッファメモリ40Aとして、それぞれ、256ワードのメモリ容量を有するバッファメモリ41L、41R、42L、42Rを有する構成とされている。バッファメモリ41Lとバッファメモリ41Rはバッファメモリ41Aを構成し、バッファメモリ42Lとバッファメモリ42Rとはバッファメモリ42Aを構成する。バッファメモリ40Aは、交互に読み書きが切り替えられる実質的に2つのバッファメモリ41Aとバッファメモリ42Aを有しているといえる。
【0112】
このサウンドプロセッサ24には、インタフェース26を介して音声出力装置としてのR(right :右)用スピーカ28Rと、L(left:左)用スピーカ28Lとが接続されている。スピーカ28Rとスピーカ28Lとを合わせてスピーカ28という。
【0113】
また、サウンドプロセッサ24には、インタフェース30を介して音声入力装置としてのR(right :右)用マイクロホン32Rと、L(left:左)用マイクロホン32Lとが接続されている。マイクロホン32Rとマイクロホン32Lとを合わせてマイクロホン32という。
【0114】
次に、このデータ記録再生装置10Aの動作について、図12に示すステレオ楽音データ転送処理の模式図、図13に示すステレオ楽音データ転送再生の基本的なフローチャートを参照して説明する。
【0115】
ステップS21では、メインメモリ16からのデータ転送処理61により先頭アドレスAS0(41L)のバッファメモリ41Lに256ワード分のデータが転送され、次のステップS22では、転送処理62により先頭アドレスAS1(41R)のバッファメモリ41Rに256ワード分のデータが転送される。
【0116】
一方、再生転送処理65では、バッファメモリ41Lとバッファメモリ41Rからデータを同時に読み出し、スピーカ28L、28Rから出力する。そして、この再生転送処理65中に、ステップS23では、転送処理63により先頭アドレスAS0(42L)のバッファメモリ42Lに256ワード分のデータが転送され、次のステップS24では、転送処理64により先頭アドレスAS1(42R)のバッファメモリ42Rに256ワード分のデータが転送される。
【0117】
再生転送処理65(図13参照)の終了後に、換言すれば、バッファメモリ41Lとバッファメモリ41R中のデータが空となったときに、次の再生転送処理66が開始される。この次の再生転送処理66では、バッファメモリ42Lとバッファメモリ42Rからデータを同時に読み出し、スピーカ28L、28Rから出力する。
【0118】
なお、この再生転送処理6の終了前に、再び、ステップS21において、空となっている先頭アドレスAS0(41L)のバッファメモリ41Lに転送処理61により256ワード分のデータが転送され、次のステップS22では、転送処理62により先頭アドレスAS1(41R)のバッファメモリ41Rに256ワード分のデータが転送される。
【0119】
以上の処理が繰り返されることにより、ステレオ楽音データの間欠転送・連続再生処理を行うことができる。
【0120】
図14は、さらに他の実施の形態の説明に供される模式図であって、データ転送順形式で、メインメモリ16に予め配置格納した4チャンネルスピーカシステム(チャンネルL1、R1、L2、R2)のデータDαa(データD0〜D11)を、バッファメモリ141L1、141R1、141L2、141R2と、バッファメモリ142L1、142R1、142L2、142R2を有するバッファメモリ40Bにデータ転送し、かつ連続再生処理を行う場合の説明に供される模式図を示している。
【0121】
この図14例では、まず、転送処理71、72、73、74の順で、メインメモリ16からバッファメモリ141L1、141R1、141L2、141R2に、転送順1番のデータD0、D1、D2、D3が順次書き込まれる。
【0122】
そして、バッファメモリ141L1、141R1、141L2、141R2から同時にデータD0、D1、D2、D3が読み出され、図示していない4個のスピーカから楽音が出力される再生転送処理が行われる。
【0123】
この再生転送処理が終了しない間に、転送処理75、76、77、78の順で、バッファメモリ142L1、142R1、142L2、142R2に転送順2番のデータD4、D5、D6、D7が順次書き込まれる。
【0124】
次に、バッファメモリ141L1、141R1、141L2、141R2から同時に読み出されているデータD0、D1、D2、D3が空になったときに、他のバッファメモリ142L1、142R1、142L2、142R2から同時にデータD4、D5、D6、D7が読み出され、再生転送処理が滞りなく継続される。
【0125】
次いで、転送処理79、80、81、82の順でバッファメモリ141L1、141R1、141L2、141R2のデータD0、D1、D2、D3が空になったとき、空になったこれらのバッファメモリ141L1、141R1、141L2、141R2に対して、データD8、D9、D10、D11が順次書き込まれる。
【0126】
このようにして、多数のチャンネルでのデータ転送が可能である。
【0127】
図15は、図14例と同じデータD0〜D11を、参照タグ50Bを用いる参照タグ形式で転送する際の説明に供される模式図である。この参照タグ形式では、チャンネルL1、R1、L2、R2毎にシーケンシャルなそれぞれ256ワードのデータD0、D4、D8、D12、D1、D5、D9、D13、D2、D6、D10、D14、D3からなるデータDβαを各先頭メモリアドレスA1〜A13に予め書き込むとともに、参照タグ50Bにデータの読み出し順を予め書き込んでおく。
【0128】
この図15例において、転送処理91、92、93、94では、参照タグ50Bの上から4番目までのアドレスA1、A5、A9、A13を参照して、転送処理91、92、93、94により順次バッファメモリ141L1、141R1、141L2、141R2にデータD0、D1、D2、D3を書き込む。
【0129】
次に、バッファメモリ141L1、141R1、141L2、141R2からデータD0、D1、D2、D3を同時に読み出して再生処理する。
【0130】
この再生処理が終了しないうちに、次の転送処理95、96、97、98で、参照タグ50Bの上から5〜8番目のアドレスA2、A6、A10、A14を参照して、順次バッファメモリ142L1、142R1、142L2、142R2にデータD4、D5、D6、D7の書込を終了させておく。
【0131】
そして、バッファメモリ141L1、141R1、141L2、141R2からデータD0、D1、D2、D3の同時読出再生処理が終了した時点で、バッファメモリ142L1、142R1、142L2、142R2のデータD4、D5、D6、D7の同時読出再生処理を開始するとともに、上から9番目〜12番目のアドレスを参照して、バッファメモリ141L1、141R1、141L2、141R2に対してデータD8、D9、D10、D11の書込を開始する。

【0132】
このように参照タグ50Bを用いても多チャンネルのデータを転送し、かつ連続再生することができる。
【0133】
上述した図1、図11例のデータ記録再生装置10、10Aにおいては、メインメモリ16からバッファメモリ40を経由してのスピーカ28からの連続的なデータ再生処理について説明したが、このデータ記録再生装置10、10Aでは、マイクロホン32等の入力手段から楽音が入力されたとき、あるいはサウンドプロセッサ24において楽音データを発生(生成)しているとき、図16に示すように、一方のバファメモリ41に対して256ワードの楽音データを書き込み、この256ワードのデータの書込時間より短い時間で他方のバッファメモリ42からメインメモリ16に対してのデータの自動DMA転送を行うように構成することもできる。
【0134】
楽音処理部としてのサウンドプロセッサ24側からホストCPU14側へのデータ転送をさらに詳しく説明すれば、たとえば、図1例において、サウンドプロセッサ24は、バッファメモリ40の一方(たとえば、バッファメモリ41)に対するデータの書込が終了する前に、バッファメモリ40の他方(この場合、バッファメモリ42)からのデータ読出を完了してホスト処理部としてのホストCPU14側に転送し、バッファメモリ40の一方(バッファメモリ41)に対するデータの書込が終了したとき、空となっているバッファメモリ40の他方(バッファメモリ42)に対するデータの書込を開始するようにすることで、サウンドプロセッサ24からバッファメモリ40(バッファメモリ41またはバッファメモリ42)へのデータ転送(データ入力)が途切れることがない。
【0135】
このサウンドプロセッサ24からホストCPU14側へのデータ転送の場合においても、バッファメモリ40に対するデータ転送は、主にサウンドプロセッサ24が制御するので、ホストCPU14の転送処理に対する負担がきわめて少なくなる。
【0136】
実際上、バッファメモリ40は、たとえば、図17に示すように、256ワード分のメモリ容量を有するバッファメモリ41とバッファメモリ42のダブルバッファメモリ40の組が14組分の楽音を記憶可能なメモリ領域100、すなわち、512ワード×14=7168ワード分のメモリ領域100が確保されている。
【0137】
この場合、サウンドプロセッサ24からホストCPU14側への自動DMA転送処理では、それぞれ、各ダブルバファメモリ40の片方のバッファメモリ、たとえば、14個のバッファメモリ41の全てが、サウンドプロセッサ24により生成された楽音データにより一杯になったとき、データ転送要求をDMAC44に送って、もう片方の14個のバッファメモリ42への書込を継続する。
【0138】
DMAC44は、データ転送要求を受ける毎に、バッファメモリ40のメモリ領域100全体をメインメモリ16に転送する。したがって、サウンドプロセッサ24が書込中の14個のバッファメモリ42に記録されるデータも同時に転送することになるので、データ転送を要求する際に、現在、既に書込が満了となっているバッファメモリ41の先頭アドレスを指定し、この先頭アドレス指定毎にDMAC44に対して割込を発生させる。
【0139】
このようにすれば、サウンドプロセッサ24で発生したデータをメインメモリ16側に割込処理をきわめて少なく転送することができる。
【0140】
なお、この発明は、上述の実施の形態に限らず、この発明の要旨を逸脱することなく、種々の構成を採り得ることはもちろんである。
【0141】
【発明の効果】
以上説明したように、この発明によれば、データ転送先処理部において、バッファメモリを書込用と読出用とに交互に切り替えるようにしているので、データ転送元処理部に対する割込処理を少なくすることができ、データ転送元処理部の負担を軽減することができるという効果が達成される。
【0142】
また、この発明によれば、楽音処理部において、バッファメモリを書込用と読出用とに交互に切り替えるようにしているので、ホスト処理部に対する割込処理を少なくすることができ、ホスト処理部の負担を軽減することができるという効果が達成される。
【0143】
さらに、この発明によれば、楽音処理部側からホスト処理部側にデータを転送する際に、割込処理を少なくデータ転送することができるという効果が達成される。
【図面の簡単な説明】
【図1】この発明の一実施の形態が適用されたデータ記録再生装置の構成を示すブロック図である。
【図2】図1例の動作説明に供されるフローチャートである。
【図3】メインメモリにデータをデータ転送順に配置した例を示す模式図である。
【図4】メインメモリにデータをチャンネル毎に配置した例を示す模式図である。
【図5】チャンネル毎に配置したデータの読出アドレスを示す参照タグの模式図である。
【図6】図2のフローチャート中、DMA転送処理の詳細な説明に供されるフローチャートである。
【図7】片方のバッファメモリにデータが満杯となった状態を示す模式図である。
【図8】データ転送読出処理の説明に供されるバッファメモリの記憶状態を示す模式図である。
【図9】比較例の動作説明に供されるフローチャートである。
【図10】バッファメモリへのデータ転送およびバッファメモリからのデータ読出の基本的な処理説明に供される模式図である。
【図11】この発明の他の実施の形態が適用されたデータ記録再生装置の構成を示すブロック図である。
【図12】図11例のデータ転送再生の動作説明に供される模式図である。
【図13】図11例のデータ転送再生の動作説明に供されるフローチャートである。
【図14】この発明のさらに他の実施の形態に係る転送順形式での多チャンネルデータ転送処理の動作説明に供される模式図である。
【図15】この発明のさらに他の実施の形態に係る参照タグ形式での多チャンネルデータ転送処理の動作説明に供される模式図である。
【図16】バッファメモリからメインメモリにデータを転送する際の動作説明に供される模式図である。
【図17】バッファメモリからメインメモリに多数のデータを転送する際の動作説明に供される模式図である。
【符号の説明】
10…データ記録再生装置 12…バス
14…ホストCPU(ホスト処理部) 16…メインメモリ
20…2次記憶装置
24…サウンドプロセッサ(楽音処理部)
24a、24b…CPU 28…スピーカ
32…マイクロホン 40、41、42…バッファメモリ
44…DMAC 50、50B…参照タグ
100…メモリ領域

Claims (11)

  1. メインメモリが接続されたバスに接続されるホストCPUとDMACを有するデータの転送元処理部と、
    書込用であったものが読出用に、読出用であったものが書込用にと交互に切り替えられる実質的に2つのバッファメモリと、
    CPUを有するデータの転送先処理部とを備え、
    前記転送元処理部は、前記バッファメモリのメモリ容量よりも大きい容量のデータサイズを扱い、
    前記転送先処理部は、
    前記転送元処理部からデータ転送の開始指示が通知されたとき、読出用に指定していない前記バッファメモリを書込用に指定し、データ転送要求を前記転送元処理部の前記DMACに送り、該転送元処理部の該DMACからデータが転送されてきたとき、書込用に指定した前記バッファメモリに一定のデータサイズまで書き込んだ後、読出用に指定していた前記バッファメモリが空となるのを待ち、空となったときに、再びデータ転送要求を前記転送元処理部に送るとともに読出用と書込用とを切り替えてデータの読み書き制御を行い、このデータの読み書き制御を転送全データサイズの書込処理が終了するまで継続し、転送全データサイズの書込処理終了時に前記DMACから前記ホストCPUに対して転送終了割込を発生するよう制御する
    ことを特徴とするデータ転送装置。
  2. 請求項1記載のデータ転送装置において、
    前記転送先処理部がデータ転送要求を前記転送元処理部に送るたびに、前記転送元処理部から所定のデータ転送容量に対応する分のデータずつ転送される
    ことを特徴とするデータ転送装置。
  3. 請求項1又は2記載のデータ転送装置において、
    前記転送先処理部は、書込用に指定した前記バッファメモリが満杯となるまでデータを書き込む
    ことを特徴とするデータ転送装置。
  4. 請求項1〜3のいずれか1項に記載のデータ転送装置において、
    前記転送先処理部が楽音処理部であり、前記転送データが楽音データである
    ことを特徴とするデータ転送装置。
  5. バスにメインメモリが接続された前記バスに接続されるホストCPUとDMACを有するホスト処理部とCPUを有する楽音処理部が接続され、
    前記楽音処理部に、書込用であったものが読出用に、読出用であったものが書込用にと交互に切り替えられる実質的に2つのバッファメモリが接続され、
    前記ホスト処理部から前記バスおよび前記楽音処理部を介して前記バッファメモリに楽音データが転送されるデータ転送システムにおいて、
    前記ホスト処理部は、前記バッファメモリのメモリ容量よりも大きい容量のデータサイズを扱い、
    前記楽音処理部は、
    前記ホスト処理部からデータ転送の開始指示が通知されたとき、読出用に指定していない前記バッファメモリを書込用に指定し、データ転送要求を前記ホスト処理部の前記DMACに送り、該ホスト処理部の該DMACからデータが転送されてきたとき、書込用に指定した前記バッファメモリに一定のデータサイズまで書き込んだ後、読出用に指定していた前記バッファメモリが空となるのを待ち、空となったときに、再びデータ転送要求を前記ホスト処理部に送るとともに読出用と書込用とを切り替えてデータの読み書き制御を行い、このデータの読み書き制御を転送全データサイズの書込処理が終了するまで継続し、転送全データサイズの書込処理終了時に前記DMACから前記ホストCPUに対して転送終了割込を発生するよう制御する
    ことを特徴とするデータ転送システム。
  6. 請求項5記載のデータ転送システムにおいて、
    前記楽音処理部がデータ転送要求を前記ホスト処理部に送るたびに、前記ホスト処理部から所定のデータ転送容量に対応する分のデータずつ転送される
    ことを特徴とするデータ転送システム。
  7. 請求項5又は6記載のデータ転送システムにおいて、
    前記楽音処理部は、書込用に指定した前記バッファメモリが満杯となるまでデータを書き込む
    ことを特徴とするデータ転送システム。
  8. バスにメインメモリが接続された前記バスに接続されるホストCPUとDMACを有するホスト処理部とCPUを有する出力処理部が接続され、
    この出力処理部に実質的に2つのバッファメモリと出力部が接続されるデータ転送システムにおけるデータ転送方法において、
    前記ホスト処理部は、前記バッファメモリのメモリ容量よりも大きい容量のデータサイズを扱い、
    前記出力処理部は、
    前記ホスト処理部からデータ転送の開始指示が通知されたとき、読出用に指定していない前記バッファメモリを書込用に指定し、データ転送要求を前記ホスト処理部の前記DMACに送り、該ホスト処理部の該DMACからデータが転送されてきたとき、書込用に指定した前記バッファメモリに一定サイズのデータを書き込んだ後、読出用に指定していた前記バッファメモリが空となるのを待ち、空となったときに、再びデータ転送要求を前記ホスト処理部に送るとともに読出用と書込用とを切り替えてデータの読み書き制御を行い、このデータの読み書き制御を転送全データサイズの書込処理が終了するまで継続し、転送全データサイズの書込処理終了時に前記DMACから前記ホストCPUに対して転送終了割込を発生するよう制御する
    ことを特徴とするデータ転送方法。
  9. 請求項8記載のデータ転送方法において、
    前記出力処理部がデータ転送要求を前記ホスト処理部に送るたびに、前記ホスト処理部から所定のデータ転送容量に対応する分のデータずつ転送される
    ことを特徴とするデータ転送方法。
  10. 請求項8又は9記載のデータ転送方法において、
    前記出力処理部は、書込用に指定した前記バッファメモリが満杯となるまでデータを書き込む
    ことを特徴とするデータ転送方法。
  11. 請求項9又は10記載のデータ転送方法において、
    前記データが楽音データである
    ことを特徴とするデータ転送方法。
JP17032599A 1999-06-16 1999-06-16 データ転送装置、データ転送システムおよびデータ転送方法 Expired - Lifetime JP3671120B2 (ja)

Priority Applications (11)

Application Number Priority Date Filing Date Title
JP17032599A JP3671120B2 (ja) 1999-06-16 1999-06-16 データ転送装置、データ転送システムおよびデータ転送方法
CNB008089906A CN1165046C (zh) 1999-06-16 2000-06-15 有双缓冲的数据传输设备、数据传输系统及数据传输方法
BR0011668-8A BR0011668A (pt) 1999-06-16 2000-06-15 Aparelho para transferir dados, sistema de transferência de dados, e, método para transferir dados em um sistema de transferência de dados
CA002374984A CA2374984A1 (en) 1999-06-16 2000-06-15 Data transfer apparatus, data transfer system, and data transfer method with double buffering
PCT/JP2000/003915 WO2000077786A1 (en) 1999-06-16 2000-06-15 Data transfer apparatus, data transfer system, and data transfer method with double buffering
EP00937256A EP1188162B1 (en) 1999-06-16 2000-06-15 Data transfer apparatus and data transfer method with double buffering
RU2001133097/09A RU2001133097A (ru) 1999-06-16 2000-06-15 Устройство для передачи данных, система передачи данных и способ передачи данных с двойной буферизацией
KR1020017016162A KR100653569B1 (ko) 1999-06-16 2000-06-15 이중 버퍼링을 사용하는 데이터 전송 장치, 데이터 전송시스템, 및 데이터 전송 방법
AU52483/00A AU5248300A (en) 1999-06-16 2000-06-15 Data transfer apparatus, data transfer system, and data transfer method with double buffering
TW089111752A TW522307B (en) 1999-06-16 2000-06-15 Data transfer apparatus, data transfer system, and data transfer method
MXPA01012837A MXPA01012837A (es) 1999-06-16 2000-06-15 Aparato de transferencia de datos, sistema de transferencia de datos, y metodo de transferencia de datos con doble memoria intermedia.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17032599A JP3671120B2 (ja) 1999-06-16 1999-06-16 データ転送装置、データ転送システムおよびデータ転送方法

Publications (2)

Publication Number Publication Date
JP2000357150A JP2000357150A (ja) 2000-12-26
JP3671120B2 true JP3671120B2 (ja) 2005-07-13

Family

ID=15902869

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17032599A Expired - Lifetime JP3671120B2 (ja) 1999-06-16 1999-06-16 データ転送装置、データ転送システムおよびデータ転送方法

Country Status (11)

Country Link
EP (1) EP1188162B1 (ja)
JP (1) JP3671120B2 (ja)
KR (1) KR100653569B1 (ja)
CN (1) CN1165046C (ja)
AU (1) AU5248300A (ja)
BR (1) BR0011668A (ja)
CA (1) CA2374984A1 (ja)
MX (1) MXPA01012837A (ja)
RU (1) RU2001133097A (ja)
TW (1) TW522307B (ja)
WO (1) WO2000077786A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100499388B1 (ko) * 2003-06-16 2005-07-04 엘지전자 주식회사 멀티 보코더의 메모리 구조 및 메모리 관리 방법
JP2006048378A (ja) * 2004-08-04 2006-02-16 Sanyo Electric Co Ltd メモリ制御装置及びこれを具えた電子機器
CN100378696C (zh) * 2005-12-22 2008-04-02 北京中星微电子有限公司 音频处理器及其控制方法
US20090319933A1 (en) * 2008-06-21 2009-12-24 Microsoft Corporation Transacted double buffering for graphical user interface rendering
CN101751961B (zh) * 2008-12-10 2011-12-07 联阳半导体股份有限公司 多媒体播放方法及其播放装置
CN101515314A (zh) * 2009-03-26 2009-08-26 北京中星微电子有限公司 一种播放主控制器侧多媒体文件的方法及移动终端
WO2012038829A2 (en) * 2010-09-23 2012-03-29 Marvell Israel (M.I.S.L.) Ltd. Low latency first-in-first-out (fifo) buffer
JP5971550B2 (ja) * 2011-03-28 2016-08-17 ヤマハ株式会社 オーディオデータ入力装置および出力装置
CN103593148B (zh) * 2013-11-08 2017-10-27 大唐移动通信设备有限公司 一种cdf侧离线话单数据快速存取的方法及装置
US10444761B2 (en) * 2017-06-14 2019-10-15 Trifo, Inc. Monocular modes for autonomous platform guidance systems with auxiliary sensors
US10191871B2 (en) * 2017-06-20 2019-01-29 Infineon Technologies Ag Safe double buffering using DMA safe linked lists
CN108920093B (zh) * 2018-05-30 2022-02-18 北京三快在线科技有限公司 数据读写方法、装置、电子设备及可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4378594A (en) * 1980-10-24 1983-03-29 Ncr Corporation High speed to low speed data buffering means
JPH079590B2 (ja) * 1986-10-16 1995-02-01 株式会社河合楽器製作所 電子楽器
EP0448011B1 (en) * 1990-03-19 1997-11-12 Canon Kabushiki Kaisha Still image reproducing apparatus
JP3307807B2 (ja) * 1995-09-29 2002-07-24 三洋電機株式会社 映像信号処理装置
JP3378710B2 (ja) * 1995-10-16 2003-02-17 三洋電機株式会社 縮小画像の書き込み/読み出し方法及び縮小画像処理回路
US5854910A (en) * 1996-10-21 1998-12-29 Advanced Micro Devices, Inc. Method for accessing control and status registers across a peer-peer bus

Also Published As

Publication number Publication date
AU5248300A (en) 2001-01-02
MXPA01012837A (es) 2002-07-30
EP1188162B1 (en) 2012-07-04
CA2374984A1 (en) 2000-12-21
JP2000357150A (ja) 2000-12-26
TW522307B (en) 2003-03-01
RU2001133097A (ru) 2007-01-27
KR20020015349A (ko) 2002-02-27
EP1188162A1 (en) 2002-03-20
BR0011668A (pt) 2002-04-02
CN1165046C (zh) 2004-09-01
KR100653569B1 (ko) 2006-12-05
WO2000077786A1 (en) 2000-12-21
CN1355920A (zh) 2002-06-26

Similar Documents

Publication Publication Date Title
JP3671120B2 (ja) データ転送装置、データ転送システムおよびデータ転送方法
JP2000341635A (ja) 階層型バッファメモリの記録方法および階層型バッファメモリ構造およびデータ再生方法およびデータ再生装置およびビデオデータ編集システムおよびコンピュータ読み取り可能な記録媒体およびシステム・オン・チップ型集積装置
JP2004272851A (ja) 信号処理装置、プリフェッチ命令方法及びプリフェッチ命令プログラム
US5559779A (en) Digital audio recorder using external memory medium and leading portion audio data memory
JPH11149706A (ja) 記録再生装置及び記録再生方法
JP2012208755A (ja) オーディオ再生装置及びオーディオ再生方法
JP2004086439A (ja) データ記録・再生装置およびそのハード・ディスク・ドライブに対するデータ読み書き制御方法
JP4742443B2 (ja) 記録再生装置、記録再生制御方法及び記録再生制御装置
EP0858025B1 (en) Data recorder and method of access to data recorder
JP4106938B2 (ja) データ転送制御装置
JPH09102186A (ja) 集合型ディスク装置
JP4023332B2 (ja) 記録再生装置
JP2004117985A (ja) オーディオデータ処理装置
JP3796749B2 (ja) マルチ再生装置
JP2004220695A (ja) 記録再生装置及び記録再生方法
JPH0490248A (ja) 音声ファイル記憶装置
JPH0348321A (ja) 記憶方式、および、記憶装置
JPS61168104A (ja) 音声蓄積装置
JP2000251390A (ja) カーオーディオシステム及びその制御方法
JPH07200178A (ja) 情報記憶媒体利用システム
JP2000331423A (ja) ディスク記録再生装置及びその記録再生制御方法
JP2000011520A (ja) 記録再生装置
JP2005122775A (ja) 記録媒体再生装置
JP2000339847A (ja) 情報記録再生装置
JP2001035078A (ja) データ記録再生装置及びそのデータ転送方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20031224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040220

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040713

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040908

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050408

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050418

R150 Certificate of patent or registration of utility model

Ref document number: 3671120

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090422

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090422

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090422

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090422

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100422

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110422

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120422

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130422

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130422

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term