JP2010267117A - Audio data transfer device, transfer method and audio data processing system - Google Patents
Audio data transfer device, transfer method and audio data processing system Download PDFInfo
- Publication number
- JP2010267117A JP2010267117A JP2009118582A JP2009118582A JP2010267117A JP 2010267117 A JP2010267117 A JP 2010267117A JP 2009118582 A JP2009118582 A JP 2009118582A JP 2009118582 A JP2009118582 A JP 2009118582A JP 2010267117 A JP2010267117 A JP 2010267117A
- Authority
- JP
- Japan
- Prior art keywords
- audio data
- data
- data transfer
- channels
- external 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 21
- 230000006866 deterioration Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 11
- 230000007423 decrease Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Information Transfer Systems (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
本発明は、演算装置と外部メモリ間においてオーディオデータを転送する、オーディオデータ転送装置に関する。 The present invention relates to an audio data transfer device that transfers audio data between an arithmetic device and an external memory.
近年、デジタルテレビやDVDレコーダーなどのAV機器が急速に普及している。また、5.1チャネルや7.1チャネルなどマルチチャネルのオーディオデータが規格化されたことから、AV機器においてマルチチャネルのオーディオデータを処理しなければならなくなっている。 In recent years, AV devices such as digital televisions and DVD recorders are rapidly spreading. In addition, since multi-channel audio data such as 5.1 channel and 7.1 channel has been standardized, it is necessary to process multi-channel audio data in AV equipment.
AV機器は、符号化されたデータを復号するAVデコーダを有している。非特許文献1にはAVデコーダLSIが開示されている。
AVデコーダは、ビデオやオーディオの同期再生に必要なプログラム時刻参照値(PCR:Program Clock Reference)を示すPCRカウンタ、外部から入力したストリームデータをビデオデータ、オーディオデータ、字幕情報、文字スーパー情報などに分離する多重/分離コア、ビデオデータの映像信号処理を行うMPEG4−ビデオコア、映像を高画質化するためのフィルタ処理を行うフィルタコア、オーディオデータの音声復号処理を行う音声/オーディオコアなどを有しており、これらはそれぞれ並列に動作する。
また、AVデコーダでは、回路を小型化、低消費電力化するために各モジュールを共通の外部メモリに接続して動作する。
The AV device has an AV decoder that decodes the encoded data. Non-Patent
The AV decoder is a PCR counter indicating a program time reference value (PCR: Program Clock Reference) necessary for synchronous playback of video and audio, and stream data input from the outside is converted into video data, audio data, subtitle information, character super information, etc. Multiplexing / separation core for separation, MPEG4-video core for video signal processing of video data, filter core for filtering processing to improve video quality, audio / audio core for audio audio decoding processing, etc. These operate in parallel.
The AV decoder operates by connecting each module to a common external memory in order to reduce the size of the circuit and reduce power consumption.
オーディオデータの音声復号処理は、一般に、演算装置としてCPU(Central Processing Unit)やDSP(Digital Signal Processor)などを使用したソフトウェア処理で行われる。CPUやDSPが高速に動作するためには、外部メモリに格納されているプログラムやデータに対するメモリアクセス時間の短縮が必須となるため、音声/オーディオコアにはプログラム及びデータの先読み機構を備えたキャッシュシステムを持つ演算装置が使用されている。 Audio data audio decoding processing is generally performed by software processing using a CPU (Central Processing Unit), a DSP (Digital Signal Processor), or the like as an arithmetic unit. In order for the CPU and DSP to operate at high speed, it is essential to shorten the memory access time for the program and data stored in the external memory. Therefore, the voice / audio core has a cache with a program and data prefetching mechanism. Arithmetic unit with system is used.
特許文献1には、先読みパターンデータに基づくデータの先読み機能、先読みパターンデータ生成機能を有するネットワークキャッシュ装置およびプログラムが開示されている。
特許文献2には、キャッシュ領域を複数のブロックで構成し、各ブロックに優先度のランク分けを行い再利用率などからランクを適宜変更することで、キャッシュ領域を効率的に利用する、キャッシュ制御プログラムおよびキャッシュ処理行うコンピュータが開示されている。
特許文献3には、キャッシュシステムを用いた演算装置およびデータ処理システムが開示されている。
本願の発明者は、演算装置によって処理されるマルチチャネルのオーディオデータが格納されている外部メモリと演算装置との間にキャッシュメモリシステムを配置する場合、キャッシュメモリと外部メモリとの間のデータ転送効率が悪化するという問題があることを見出した。この問題は、キャッシュメモリと外部メモリの間のデータ転送サイズと、マルチチャネルのオーディオデータのデータ構造に起因する。以下、この問題について説明する。 When the inventor of the present application places a cache memory system between an external memory storing multi-channel audio data processed by the arithmetic device and the arithmetic device, the data transfer between the cache memory and the external memory is performed. We have found that there is a problem that efficiency decreases. This problem is caused by the data transfer size between the cache memory and the external memory and the data structure of multi-channel audio data. Hereinafter, this problem will be described.
一般に、キャッシュメモリと外部メモリの間のデータ転送サイズは、キャッシュメモリ内のキャッシュライン幅および先読みするデータ量などに応じて固定のサイズとなっている。このため、例えば、演算装置が処理するデータのサイズがデータ転送サイズに比べて小さい場合、演算装置が処理するデータ以外の不要なデータが外部メモリからキャッシュメモリに転送されてしまう。また、演算装置が処理するデータがデータ転送サイズに比べて大きい場合、外部メモリへのアクセスを複数回に分割して行わなければならない。これらの、無駄なデータ転送や、メモリアクセス回数の増加が、キャッシュメモリと外部メモリの間のデータ転送効率の低下をもたらす。 In general, the data transfer size between the cache memory and the external memory is a fixed size according to the cache line width in the cache memory, the amount of data to be read ahead, and the like. For this reason, for example, when the size of the data processed by the arithmetic device is smaller than the data transfer size, unnecessary data other than the data processed by the arithmetic device is transferred from the external memory to the cache memory. If the data processed by the arithmetic unit is larger than the data transfer size, access to the external memory must be divided into a plurality of times. These wasteful data transfer and increase in the number of memory accesses cause a decrease in data transfer efficiency between the cache memory and the external memory.
また、マルチチャネル(例えば、n個のチャネル;nは2以上の整数)のオーディオデータは、n個のチャネル分のデータの集合によって1つのサンプルデータが構成されている。このため、上述したキャッシュメモリと外部メモリの間のデータ転送効率の低下が一層顕著となる。すなわち、マルチチャネルのオーディオデータに含まれる一部のチャネル(例えば、m個のチャネル;mはnより小さい整数)のみが演算装置によって処理される場合であっても、キャッシュメモリによる先読みは、n個のチャネル分のデータを含むサンプルデータ単位で行われる。よって、必要なm個のチャネル以外の不要なチャネルのデータがキャッシュメモリと外部メモリの間で転送されてキャッシュメモリに蓄積されてしまうことや、不要なチャネルのデータ転送のために外部メモリへのアクセス回数の増加が生じてしまう。 In addition, multi-channel (for example, n channels; n is an integer of 2 or more) audio data includes one sample data composed of a set of data for n channels. For this reason, the decrease in the data transfer efficiency between the cache memory and the external memory described above becomes more remarkable. That is, even when only a part of channels (for example, m channels; m is an integer smaller than n) included in the multi-channel audio data is processed by the arithmetic device, the prefetching by the cache memory is n This is performed in units of sample data including data for channels. Therefore, unnecessary channel data other than the necessary m channels are transferred between the cache memory and the external memory and accumulated in the cache memory, or the data is transferred to the external memory for unnecessary channel data transfer. The number of accesses will increase.
なお、特許文献1に開示されたネットワークキャッシュ装置およびプログラムは、キャッシュされたデータから特定のパターンで先読みデータを作成するものであり、キャッシュメモリと外部メモリ間のデータの転送効率の向上を図るものではない。
特許文献2に開示されたキャッシュ制御プログラムおよびキャッシュ処理を行うコンピュータは、過去に使用したデータをキャッシュとして保持する際にランク付けを行うことで、再利用される頻度の高いデータがキャッシュメモリ上に存在する確率を向上させるものであり、外部メモリとキャッシュメモリ間のデータの転送効率の向上を図るものではない。
特許文献3に開示されたキャッシュシステムを用いた演算装置およびデータ処理システムは、データの先読みを行う領域の開始アドレス、終了アドレス、読み出しサイズ、アドレスのオフセット情報の保持とデータの先読みを制御するロードキャッシュ/ストアキャッシュ制御部を複数有することで、キャッシュメモリが演算装置とは独立して、アクセスが要求されたアドレスと連続するアドレスに格納されたデータをキャッシュメモリに先読みすることで演算装置の待ち時間を短縮するものであり、キャッシュメモリと外部メモリ間のデータの転送効率の向上を図るものではない。
Note that the network cache apparatus and program disclosed in
The cache control program and the computer that performs cache processing disclosed in
An arithmetic unit and a data processing system using a cache system disclosed in
本発明の第1の態様にかかるオーディオデータ転送装置は、バッファメモリ及び先読み部を有する。前記先読み部は、外部メモリに格納されているn個のチャネル(ただし、nは2以上の整数)のオーディオデータのうち少なくとも一部を前記バッファメモリへ転送する処理を制御する。さらに、前記先読み部は、前記n個のチャネルのオーディオデータのうち演算装置によって処理されるm個のチャネル(ただし、mは1以上、n以下の整数)に応じて、前記m個のチャネルのオーディオデータを前記外部メモリと前記バッファメモリの間で転送する際のデータ転送サイズを調整する。 The audio data transfer apparatus according to the first aspect of the present invention includes a buffer memory and a prefetch unit. The prefetch unit controls a process of transferring at least a part of audio data of n channels (where n is an integer of 2 or more) stored in an external memory to the buffer memory. Further, the prefetching unit may determine the number of the m channels according to m channels (where m is an integer between 1 and n) of the n channels of audio data. A data transfer size is adjusted when audio data is transferred between the external memory and the buffer memory.
本発明の第2の態様にかかるオーディオデータの転送方法は、以下の(a)及び(b)を含む。
(a)n個のチャネル(ただし、nは2以上の整数)のオーディオデータのうち演算装置によって処理されるm個のチャネル(ただし、mは1以上、n以下の整数)のオーディオデータを特定すること;および
(b)前記m個のチャネルに応じて調整されたデータ転送サイズを適用して、前記m個のチャネルのオーディオデータを外部メモリからバッファメモリに転送する処理を制御すること。
The audio data transfer method according to the second aspect of the present invention includes the following (a) and (b).
(A) Identifies audio data of m channels (where m is an integer equal to or greater than 1 and equal to or less than n) to be processed by a computing device among audio data of n channels (where n is an integer equal to or greater than 2) And (b) controlling a process of transferring audio data of the m channels from an external memory to a buffer memory by applying a data transfer size adjusted according to the m channels.
上述したように、本発明の各態様によれば、n個のチャネルのオーディオデータのうち演算装置による処理対象となるm個のチャネルに応じて、外部メモリとバッファメモリの間のデータ転送サイズを調整できる。このため、演算装置による処理対象になるか否かに拘らずn個のチャネルのオーディオデータを外部メモリとバッファメモリの間で転送することに起因する無駄なデータ転送の発生およびデータ転送回数の増加を抑制できる。 As described above, according to each aspect of the present invention, the data transfer size between the external memory and the buffer memory is set according to m channels to be processed by the arithmetic unit among the n channels of audio data. Can be adjusted. For this reason, the occurrence of useless data transfer and increase in the number of data transfers caused by transferring the audio data of n channels between the external memory and the buffer memory regardless of whether or not to be processed by the arithmetic unit Can be suppressed.
上述した本発明の各態様によれば、外部メモリに格納されたマルチチャネル・オーディオデータを演算装置に供給するために取得する際のデータ転送効率の悪化を抑制することができる。 According to each aspect of the present invention described above, it is possible to suppress deterioration in data transfer efficiency when acquiring multi-channel audio data stored in an external memory so as to be supplied to an arithmetic device.
発明の実施の形態1.
最初に、本発明の実施の形態にかかるオーディオデータ処理システム50の構成を、図1を用いて説明する。当該オーディオデータ処理システム50を構成する各要素及び動作については後に詳細に説明する。
First, the configuration of an audio
オーディオデータ処理システム50は、外部メモリ1、命令キャッシュ10、CPU30、オーディオデータ転送装置40を有する。オーディオデータ転送装置40は、データキャッシュ20、データアドレス判別部41、データアクセス解析部42、データアクセス記録部43、オーディオデータ先読み部44を有する。オーディオデータ先読み部44は、オーディオデータバッファ45を有する。
The audio
CPU30は、実行するプログラムが格納されているアドレスを命令キャッシュ10に対して出力し、前記アドレスに格納されているプログラムコードを読み出し、プログラムの実行によりオーディオデータ転送装置40との間でデータの入出力を行う。さらにCPU30は、データキャッシュ20とオーディオデータ先読み部44に内部データのクリア命令を出力する。
The
命令キャッシュ10は、外部メモリ1にアドレスを出力し、前記アドレスに格納されているデータを読み出す。
The
オーディオデータ転送装置40は、CPU30と外部メモリ1それぞれとの間でデータの入出力を行う。
The audio
データアドレス判別部41は、外部メモリ1に確保されているオーディオデータの先頭アドレスと終了アドレスをあらかじめ保持している。データアドレス判別部41は、CPU30がデータアクセスを行う場合には、CPU30がアクセスしようとするデータのアドレス情報と、データアドレス判別部41が保持するアドレス情報を比較し、CPU30がアクセスしたいデータが、オーディオデータであるか否かの判別を行う。データアドレス判別部41は、CPU30がアクセスしようとするデータがオーディオデータであると判別した場合には、データアクセス解析部42にアドレス情報を出力する。また、データアドレス判別部41は、CPU30がアクセスしようとするデータがオーディオデータであると判別した場合には、オーディオデータ先読み部44とCPU30との間でデータ転送の仲介を行い、オーディオデータ以外のデータであると判別した場合には、データキャッシュ20とCPU30との間でデータ転送の仲介を行う。
The data address discriminating
データキャッシュ20は、先読み機構を持たないキャッシュメモリであり、データアドレス判別部41と外部メモリ1それぞれとの間でオーディオ以外のデータの入出力を行う。
The
データアクセス解析部42は、データアドレス判別部41によりCPU30がアクセス要求しているデータがオーディオデータであると判別された場合には、データアドレス判別部41からCPU30がアクセスするオーディオデータのアドレス情報を入力し、アドレス情報からCPU30がアクセスを要求しているオーディオデータのチャネル構成を解析し、データアクセス記録部43に結果を出力する。
When the data
データアクセス記録部43は、データアクセス解析部42とオーディオデータ先読み部44に対してCPU30がアクセス要求するチャネル情報を入出力し、CPU30がアクセスを要求するチャネルへのアクセス履歴を記録する。
The data
図2は、データアクセス記録部43の記録情報の一例を示す模式図ある。オーディオデータが8チャネル構成(以降、CH1乃至CH8と称す)の場合のデータアクセス記録部43に記録されているアクセス有無情報を表し、図2において丸印がついているところが前記アクセス有無情報に該当する。図2は、CH1乃至CH6がCPU30よりアクセス中のチャネルであることを表す。
FIG. 2 is a schematic diagram illustrating an example of recorded information of the data
オーディオデータ先読み部44は、データアドレス判別部41と外部メモリ1のそれぞれに対してオーディオデータの入出力を行う。オーディオデータ先読み部44は、データアクセス記録部43に記録されているアクセス有無情報に基づいて、CPU30が次にアクセスするオーディオデータを外部メモリ1から先行して読み込み、これをオーディオデータバッファ45に書き込む。
The audio
ここでCPUが次にアクセスするオーディオデータを格納している外部メモリ1のアドレスの予測は、オーディオデータを外部メモリ1内に、規則性をもつように格納しておくことで行うことができる。例えば、外部メモリ1の連続するアドレス上に、あらかじめチャネル順にオーディオデータが順次格納された状態としておくことで、オーディオデータ先読み部44が有しているアドレス情報から、CPU30が次にアクセスするオーディオデータを格納している外部メモリ1のアドレスを予測することができる。
Here, the prediction of the address of the
オーディオデータ先読み部44は、オーディオデータバッファ45に格納されているデータをデータアドレス判別部41へ出力すると共に、CPU30からアクセス要求のあったオーディオデータのアドレス情報、オーディオデータバッファ45に格納されているデータ量、データアクセス解析部42で解析したCPU30がアクセスを要求するオーディオデータのチャネル構成の情報、データアクセス記録部43に保存されたアクセス有無情報に基づき、CPU30が次にアクセスするオーディオデータを格納している外部メモリ1のアドレスを予測し、オーディオデータバッファ45に格納されているデータと外部メモリ1のデータの入れ替えを行う。ここで、データアクセス記録部43に保存されたアクセス有無情報を利用することでアクセス済みのオーディオデータを把握することができ、外部メモリとオーディオバッファ間で効率良いデータ転送を図ることができる。
The audio
ここで、オーディオデータ先読み部44は、データアクセス記録部43に記録された記録内容を参照せず、あらかじめオーディオデータ先読み部44が保持していた、CPU30がアクセスを要求するオーディオデータのチャネル構成の情報やオーディオデータが格納されている外部メモリ1のアドレス情報に基づいて、オーディオバッファ45にオーディオデータを入力することができる。また、データアドレス判別部41から入力されたアドレス情報に基づいて、外部メモリ1からオーディオデータバッファ45にオーディオデータを入力することもできる。
Here, the audio
図3は、オーディオデータバッファ45の模式図であり、図3(a)はそれぞれのバンクにデータが何も入力されていない状態を示す。なお図3において、100〜107、200〜207、300〜307、400〜407、500〜507はそれぞれオーディオデータを表す。オーディオデータバッファ45は2つのバンクから構成されており、CPU30がアクセスするデータがバンク1からバンク2、バンク2からバンク1へ移動した場合にデータの入れ替えを行う。1バンク当たりのデータサイズは、CPU30の処理速度とオーディオデータ先読み部44と外部メモリ1のデータ転送速度に基づき、CPU30が次に同じバンクのデータへアクセスするまでにデータの入れ替えが終了するデータサイズとすると良い。
FIG. 3 is a schematic diagram of the
以下にオーディオデータバッファ45と外部メモリ1のデータ入れ替え動作を示す。
The data exchange operation between the
オーディオデータ先読み部44は、CPU30が参照したアドレスに格納されているデータがオーディオデータバッファ45に格納されていない場合は、オーディオデータバッファ45の全てのデータを外部メモリ1へ書き込み、新たにオーディオデータバッファ45にオーディオデータバッファ45のバッファサイズ分の前記CPU30が参照したアドレスに格納されているデータを外部メモリ1から読み込み、オーディオデータバッファ45へ書き込む。図3(b)に、オーディオバッファ45にデータを書き込んだ状態の例を示す。
When the data stored at the address referred to by the
CPU30が参照したアドレスに格納されているデータがオーディオデータバッファ45のバンク間を移動する場合には、データアクセス記録部43にアクセスチャネルの情報が記録されていなければ、CPU30がバンク間を移動する前にアクセスを行っていた方のバンクの全データを外部メモリ1へ書き込み、外部メモリ1へ書き込みを行った方のバンクに1バンク分のサイズのデータを読み込む。図3(c)に、バンク1が外部メモリ1へデータを書き込んだ後に、バンク1からデータの読み込みを行った状態の例を示す。図3(c)は図3(b)の状態から、オーディオデータ100〜107が格納されていた場所に、オーディオデータ300〜307が格納された状態となったこと示している。
When data stored at an address referenced by the
データアクセス記録部43にアクセスチャネルの情報が記録されている場合は、CPU30がバンク間を移動する前にアクセスを行っていた方のバンクのデータから、データアクセス記録部43の内容に基づいて、特定チャネルについてCPU30がアクセスしているオーディオデータだけを外部メモリ1へ書き込み、外部メモリ1へ書き込みを行った領域に、特定チャネルについてCPU30がアクセスしているオーディオデータだけを外部メモリ1から読み込む。図3(d)に、CPU30がアクセスしているチャネルのデータだけを、バンク1が外部メモリ1へデータを書き込んだ後にバンク1からデータの読み込みを行った状態の例を示す。図3(d)は図3(b)の状態から、100、101、105、106が格納されていた場所にオーディオデータ300、301、305、306が格納された状態となったことを示している。
When the information of the access channel is recorded in the data
データアクセス記録部43にチャネル情報が記録済みで、かつこれまでアクセスしていたバンク内のデータにCPU30が一度もアクセスしていないデータがある場合は、データアクセス記録部43のアクセス有無情報を全てクリアし、オーディオデータバッファ45に格納されている全てのデータを外部メモリ1に書き込み、新たにオーディオデータバッファ45にオーディオデータバッファ45のバッファサイズ分の前記CPU30が参照したアドレスに格納されているデータを外部メモリ1よりオーディオデータバッファ45に読み込む。図3(e)に、外部メモリ1からオーディオデータバッファ45にオーディオデータを新たに読み込んだ状態の例を示している。図3(e)では、オーディオバッファ45にこれまで格納されていたデータとは異なるデータが、オーディオバッファ45に格納された状態となったことを示している。
If the channel information has been recorded in the data
CPU30が処理を終了する場合はCPU30からオーディオデータ先読み部44にオーディオデータバッファ45の内部データクリア要求を行う。オーディオデータ先読み部44はCPU30からの内部データクリア要求を受けると、オーディオデータバッファ45に格納されている全てのデータを外部メモリへ書き込むと共に、データアクセス記録部43のアクセス有無情報を全てクリアする。
When the
図4は、オーディオデータ処理システム50及びオーディオデータ転送装置40の動作の一例をフローチャートで表したものである。
図4に示すように、まずCPU30がデータを取得するためのアクセス要求が出力される(ステップS10)。次に、このアクセス要求に含まれるアドレス情報から、該当するアドレスに格納された情報がオーディオデータであるか否かの判別を行う(ステップS11)。
FIG. 4 is a flowchart showing an example of the operations of the audio
As shown in FIG. 4, first, the
ステップS11でオーディオデータであると判別された場合には、オーディオデータ先読み部44にアドレス情報を転送し(ステップS12)、アドレス情報からアクセス要求されているチャネルデータの解析を行う(ステップS13)。解析結果は、データアクセス解析部に記録する(ステップS14)。オーディオデータ先読み部44は、現在要求されている外部メモリのアドレス情報と、ステップS14で記録された情報に基づいて、次にCPU30が外部メモリ1から要求する、特定のチャネルのオーディオデータを先読みする(ステップS15)。CPU30は、オーディオバッファに先読みされたオーディオデータを入力し、順次処理する(ステップS16)。
If it is determined in step S11 that the data is audio data, the address information is transferred to the audio data prefetch unit 44 (step S12), and the channel data requested to be accessed from the address information is analyzed (step S13). The analysis result is recorded in the data access analysis unit (step S14). The audio
ステップS11でオーディオデータではないと判別された場合には、データキャッシュ20にアドレス情報を転送し(ステップS17)、CPU30が必要に応じて処理を行う(ステップS18)。
If it is determined in step S11 that the data is not audio data, the address information is transferred to the data cache 20 (step S17), and the
図5は、データアクセス解析部42が、CPU30がアクセスするオーディオデータのアドレス情報を解析し、データアクセス記録部43にチャネル情報を書き込む際の手順の一例を示したフローチャートである。
FIG. 5 is a flowchart showing an example of a procedure when the data
データアクセス解析部42は、処理開始前は待機状態とし、処理の開始後にはCPU30がオーディオデータへのアクセスを行ったか否かの判別を行う。判別は、データアドレス判別部41が保持するオーディオデータのアドレス情報と、CPU30が参照したアドレスの比較により行う。CPU30がオーディオデータへのアクセスを行ったと判別された場合には、データアドレス判別部41からデータアクセス解析部42へ、CPU30が参照したアドレスを入力する。CPU30が行ったアクセスがオーディオデータに対してではないと判別された場合には、処理を繰り返す(ステップS20)。
The data
データアクセス解析部42は、データアドレス判別部41からCPU30がアクセスしたオーディオデータのアドレスが入力されたら、前記入力されたアドレスに基づき、CPU30がアクセスしたオーディオデータがどのチャネルであるかを判別する(ステップS21)。このとき、オーディオチャネルは、例えば式1により求めることができる。ここで%は割り算の余りを計算結果として返す、剰余の演算子を示す。
オーディオチャネル={(A−B)/C%D}+1・・・・式1
A:CPUのアクセスアドレス
B:オーディオデータ領域の先頭アドレス
C:1チャネル当たりのデータサイズ
D:総チャネル数
When the address of the audio data accessed by the
Audio channel = {(A−B) / C% D} +1.
A: CPU access address B: Start address of audio data area C: Data size per channel D: Total number of channels
データアクセス解析部42は、特定チャネルについてCPU30がアクセスしたオーディオデータがアクセス済みであるか否かを、データアクセス記録部43のアクセス有無情報に基づいて判別する(ステップS22)。CPU30がアクセスしたチャネルがアクセス済みの場合には、データアクセス記録部43への書き込みを終了する。CPU30がアクセスしたチャネルがアクセス済みでない場合は、特定チャネルについてCPU30がアクセスしたオーディオデータがアクセス済みであると、データアクセス記録部43に書き込み(ステップS23)、データアクセス解析部42は待機状態に戻る。
The data
図6は、CPU30が、不連続なチャネルを含んだチャネル構成でのデータアクセスを行う場合において、アクセスチャネルの情報がデータアクセス記録部43に記録されている状態を示している。この場合は、データサイズ優先モードとアクセス回数優先モードのいずれかを選択し、データ転送を行う。
FIG. 6 shows a state in which access channel information is recorded in the data
データサイズ優先モードでは、不連続なチャネルを含んだチャネル構成の場合には、その前後のチャネルでデータ転送を分割する。図6に示すように、CPU30がCH1、CH2、CH6、CH7のオーディオデータに対してアクセスする場合は、CH1とCH2の2チャネル分のデータ転送とCH6とCH7の2チャネル分のデータ転送の2回にデータ転送を分割する。これにより、不要なデータの転送を行わないようにすることができ、データサイズを小さくすることができる。
In the data size priority mode, in the case of a channel configuration including discontinuous channels, data transfer is divided by the channels before and after the channel configuration. As shown in FIG. 6, when the
アクセス回数優先モードではデータ転送回数が1回で行われることを優先し、CPU30がアクセスを要求するオーディオデータについて、チャネル構成が不連続である場合において、CPU30が使用を予定していないチャネルのデータも含めてデータ転送を行う。図6に示すように、CPU30がCH1、CH2、CH6、CH7のオーディオデータに対してアクセスする場合は、CH1からCH7までの7チャネル分のデータを1度のデータ転送で転送する。
In the access count priority mode, priority is given to the number of data transfers performed once, and for audio data that the
図7は、CPU30が6チャネル分のデータにアクセスする際の、外部メモリ1からオーディオデータバッファ45へのデータ転送の模式図である。データ転送は、アクセスしたいデータのアドレスとサイズの情報を送信したり、他のモジュールがバスを使用中の場合は転送が終わるまで待ったりする調停期間と、調停期間に続いてデータの送受信を行うデータ転送期間から構成される。
FIG. 7 is a schematic diagram of data transfer from the
図7(a)及び(b)は、本実施の形態にかかるオーディオデータ転送装置40のデータの転送効率が良いことを説明するための比較例である。また、図7(c)は、オーディオデータ転送装置40による転送を示している。
FIGS. 7A and 7B are comparative examples for explaining that the data transfer efficiency of the audio
図7(a)は、1回のデータ転送で送受信するデータの量が2チャネル分であり、6チャネルのデータを複数回に分割して転送する場合の例である。この場合、調停期間をCH1、CH2のデータ転送前に設けるのと同様に、CH3、CH4のデータ転送とCH5、CH6のデータ転送についても、調停期間を設ける必要がある。この場合のデータ転送は、調停期間、CH1のデータ転送、CH2のデータ転送、調停期間、CH3のデータ転送、CH4のデータ転送、調停期間、CH5のデータ転送、CH6のデータ転送となり、複数の調停期間を必要とすることから、全体のデータ転送時間は長くなってしまう。 FIG. 7A shows an example in which the amount of data transmitted and received in one data transfer is 2 channels, and 6-channel data is divided and transferred in multiple times. In this case, it is necessary to provide an arbitration period for the data transfer of CH3 and CH4 and the data transfer of CH5 and CH6 as well as providing the arbitration period before the data transfer of CH1 and CH2. The data transfer in this case is an arbitration period, CH1 data transfer, CH2 data transfer, arbitration period, CH3 data transfer, CH4 data transfer, arbitration period, CH5 data transfer, and CH6 data transfer. Since a period is required, the entire data transfer time becomes long.
図7(b)は、CPU30がアクセスするオーディオデータのチャネル構成にかかわらず一定の転送サイズでデータ転送が行われる例である。図7(b)では、1回のデータ転送で送受信するデータの量が8チャネル分であり、CPU30がアクセスするオーディオデータのチャネル構成がCH1乃至CH6までの6チャネル分だけの場合の例である。この場合は、調停期間、CH1のデータ転送、CH2のデータ転送、CH3のデータ転送、CH4のデータ転送、CH5のデータ転送、CH6のデータ転送、CH7のデータ転送、CH8のデータ転送を一連の処理として行うため、CPU30がアクセスすることを予定しないCH7、CH8のデータまで転送されてしまい、全体のデータ転送時間が長くなってしまう。
FIG. 7B is an example in which data transfer is performed with a fixed transfer size regardless of the channel configuration of audio data accessed by the
本実施の形態では、データアクセス記録部43に記録されたチャネル構成に基づいてCPU30がアクセスしているオーディオデータのデータサイズに合わせてデータ転送を行う。この図7(c)に示すようにCPU30がアクセスするオーディオデータのチャネル構成がCH1からCH6までの6チャネル分だけの場合、データ転送が調停期間、CH1のデータ転送、CH2のデータ転送、CH3のデータ転送、CH4のデータ転送、CH5のデータ転送、CH6のデータ転送となる。1回のアクセスで必要な6チャネル分のデータだけを転送するため、図7(a)や図7(b)に示した例よりデータの転送効率が良く、転送時間を短縮することができる。
In the present embodiment, data transfer is performed in accordance with the data size of the audio data being accessed by the
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、オーディオデータバッファ45のバンクの入れ替えにおいて、外部メモリ1に格納されている特定のチャネルのオーディオデータをオーディオデータバッファ45の特定のブロックに割り当てるようにすることで、CPU30がオーディオデータバッファ45に保持されている特定チャネルのオーディオデータを探索しやすい構成とすることもできる。
Note that the present invention is not limited to the above-described embodiment, and can be changed as appropriate without departing from the spirit of the present invention. For example, when replacing the banks of the
発明の実施の形態2.
図8は、実施の形態2のオーディオデータ転送装置の構成図であり、CPU30がデータアクセス記録部43を書き換えて動作する方法における構成図である。
FIG. 8 is a configuration diagram of the audio data transfer apparatus according to the second embodiment, and is a configuration diagram in a method in which the
データアクセス解析部42がなく、新たにCPU30からデータアクセス記録部43に、CPU30がアクセスするオーディオデータのチャネル構成に関する情報を出力することとした点で実施の形態1の構成とは異なる。
The configuration differs from that of the first embodiment in that the data
実施の形態1では、データアクセス解析部42は、CPU30が参照するアドレス情報に基づいてチャネル構成の解析を行い、その結果をデータアクセス記録部43へ記録を行っていた。一方、実施の形態2ではCPU30がオーディオデータにアクセスする前にアクセスするチャネル構成をデータアクセス記録部43へ書き込み、その後、オーディオデータにアクセスを行う。
In the first embodiment, the data
オーディオデータ先読み部44は、データアクセス記録部43に書き込まれているアクセス有無情報を参照し、オーディオデータバッファ45と外部メモリ1とのデータ転送を行う。これにより、実施の形態1と同等の効果が得られる。
The audio
また、実施の形態2では、CPU30がオーディオデータにアクセスする以前にデータアクセス記録部43にアクセスするチャネル構成を記録してから、オーディオデータにアクセスを行う。そのため、オーディオデータ先読み部44は最初のオーディオデータアクセスからCPU30のアクセスするオーディオデータのチャネル構成に合わせたサイズでオーディオデータバッファ45と外部メモリ1とのデータ転送を行うことができる。
In the second embodiment, the audio data is accessed after recording the channel configuration for accessing the data
実施の形態2で用いる各構成部は、実施の形態1に記載の各構成部と同様の機能を有するものであり、詳細な説明は省略する。 Each component used in the second embodiment has the same function as each component described in the first embodiment, and detailed description thereof is omitted.
なお、実施の形態2の装置でのオーディオデータ処理システム50及びオーディオデータ転送装置40の動作の流れは、図4のフローチャートにおいて、アドレス解析を行うステップS13が無く、CPU30がオーディオデータにアクセスする以前に、データアクセス記録部43にアクセスするチャネル構成をあらかじめ記録しておくステップを有するものとなる。
The operation flow of the audio
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、実施の形態1及び実施の形態2について、データバッファ45はリード及びライトの両方を行う必要はなく、リードアクセスのみであっても良い。
Note that the present invention is not limited to the above-described embodiment, and can be changed as appropriate without departing from the spirit of the present invention. For example, in the first and second embodiments, the
1 外部メモリ
10 命令キャッシュ
20 データキャッシュ
30 CPU
40 オーティオデータ転送装置
41 データアドレス判別部
42 データアクセス解析部
43 データアクセス記録部
44 オーディオデータ先読み部
45 オーディオデータバッファ
50 オーディオデータ処理システム
1
40 Audio
Claims (15)
外部メモリに格納されているn個のチャネル(ただし、nは2以上の整数)のオーディオデータのうち少なくとも一部を前記バッファメモリへ転送する処理を制御する先読み部と、
を備え、
前記先読み部は、前記n個のチャネルのオーディオデータのうち演算装置によって処理されるm個のチャネル(ただし、mは1以上、n以下の整数)に応じて、前記m個のチャネルのオーディオデータを前記外部メモリと前記バッファメモリの間で転送する際のデータ転送サイズを調整する、
オーディオデータ転送装置。 Buffer memory,
A prefetch unit that controls a process of transferring at least a part of audio data of n channels (where n is an integer of 2 or more) stored in an external memory to the buffer memory;
With
The prefetching unit is configured to perform audio data of the m channels according to m channels (m is an integer of 1 to n) of the n channels of audio data. Adjusting the data transfer size when transferring between the external memory and the buffer memory,
Audio data transfer device.
請求項1〜請求項3のいずれかに記載のオーディオデータ転送装置。 The prefetching unit identifies the m channels based on address information output by the arithmetic device to acquire the audio data from the external memory;
The audio data transfer device according to any one of claims 1 to 3.
請求項1〜請求項4のいずれかに記載のオーディオデータ転送装置。 The prefetching unit receives a notification identifying the m channels from the arithmetic unit;
The audio data transfer device according to any one of claims 1 to 4.
請求項1〜請求項5のいずれかに記載のオーディオデータ転送装置。 The audio data transfer according to any one of claims 1 to 5, wherein the prefetching unit specifies audio data of the m channels to be acquired next based on a history of the arithmetic device accessing the external memory. apparatus.
請求項1〜請求項6のいずれかに記載のオーディオデータ転送装置。 The data address determination unit for determining whether the data accessed by the arithmetic unit is audio data, and the data cache unit for caching the data when the data is not audio data. An audio data transfer device according to claim 1.
前記m個のチャネルに応じて調整されたデータ転送サイズを適用して、前記m個のチャネルのオーディオデータを外部メモリからバッファメモリに転送する処理を制御する転送制御ステップと、
を含む、オーディオデータの転送方法。 First of identifying audio data of m channels (where m is an integer equal to or greater than 1 and equal to or less than n) to be processed by a computing device among audio data of n channels (where n is an integer equal to or greater than 2) Audio data identification step,
A transfer control step of controlling a process of transferring audio data of the m channels from an external memory to a buffer memory by applying a data transfer size adjusted according to the m channels;
Including audio data transfer method.
をさらに含む、請求項8に記載のオーディオデータ転送方法。 A data transfer size adjustment step of adjusting the data transfer size so that the number of times of data transfer between the buffer memory and the external memory required for acquiring the audio data of the m channels is reduced;
The audio data transfer method according to claim 8, further comprising:
をさらに含む、請求項8または請求項9に記載のオーディオデータ転送方法。 A data transfer size adjustment step for adjusting the data transfer size so that a data transfer size per time between the buffer memory and the external memory required for acquiring the audio data of the m channels is reduced. ,
The audio data transfer method according to claim 8, further comprising:
請求項8〜請求項10のいずれかに記載のオーディオデータ転送方法。 The audio data according to any one of claims 8 to 10, wherein the first audio data specifying step is performed based on address information output by the arithmetic device to acquire the audio data from the external memory. Transfer method.
をさらに含む、請求項8〜請求項11のいずれかに記載のオーディオデータ転送方法。 12. The audio data transfer method according to claim 8, further comprising a channel specification notification receiving step of receiving a notification specifying the m channels from the arithmetic device.
をさらに含む、請求項8〜請求項12のいずれかに記載のオーディオデータ転送方法。 13. The audio data specifying step according to claim 8, further comprising a second audio data specifying step of specifying audio data of the m channels to be acquired next based on a history of access to the external memory by the arithmetic device. The audio data transfer method described in 1.
前記データがオーディオデータでない場合にデータキャッシュ部に前記データをキャッシュするデータキャッシュステップと、
を含む、請求項8〜請求項13のいずれかに記載のオーディオデータ転送方法。 An audio data discriminating step for discriminating whether the data accessed by the arithmetic unit is audio data;
A data cache step of caching the data in a data cache unit when the data is not audio data;
The audio data transfer method according to claim 8, comprising:
請求項1から請求項7のいずれかに記載のオーディオデータ転送装置を備える
オーディオデータ処理システム。 The arithmetic unit, the external memory,
An audio data processing system comprising the audio data transfer device according to any one of claims 1 to 7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009118582A JP2010267117A (en) | 2009-05-15 | 2009-05-15 | Audio data transfer device, transfer method and audio data processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009118582A JP2010267117A (en) | 2009-05-15 | 2009-05-15 | Audio data transfer device, transfer method and audio data processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010267117A true JP2010267117A (en) | 2010-11-25 |
Family
ID=43364028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009118582A Pending JP2010267117A (en) | 2009-05-15 | 2009-05-15 | Audio data transfer device, transfer method and audio data processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010267117A (en) |
-
2009
- 2009-05-15 JP JP2009118582A patent/JP2010267117A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9477476B2 (en) | Fusing immediate value, write-based instructions in instruction processing circuits, and related processor systems, methods, and computer-readable media | |
CN102595240B (en) | Video signal/image-decoding system and corresponding video signal/image decoding method | |
JP5868136B2 (en) | Variable resolution processing of frame type data | |
TWI236591B (en) | Method and apparatus for determining a dynamic random access memory page management implementation | |
CN102067088A (en) | Multiprocessor | |
US9411519B2 (en) | Implementing enhanced performance flash memory devices | |
KR101812300B1 (en) | Allocation of memory buffers in computing system with multiple memory channels | |
US20120239873A1 (en) | Memory access system and method for optimizing SDRAM bandwidth | |
CN109801659B (en) | DRAM bank activation management | |
KR101757355B1 (en) | Method and apparatus for cache access mode selection | |
AU2014301874B2 (en) | Data writing method and memory system | |
JP2002041285A (en) | Data processing equipment and data processing method | |
US20140173243A1 (en) | Efficient management of computer memory using memory page associations and memory compression | |
US20060095637A1 (en) | Bus control device, arbitration device, integrated circuit device, bus control method, and arbitration method | |
US7861012B2 (en) | Data transmitting device and data transmitting method | |
TW200900943A (en) | PRD (Physical Region Descriptor) pre-fetch methods for DMA (Direct Memory Access) unit | |
JP2010267117A (en) | Audio data transfer device, transfer method and audio data processing system | |
JP2005234794A (en) | File system controller | |
JP2005316716A (en) | Data processing program and data processing device | |
US20160217085A1 (en) | Processor and system for processing stream data at high speed | |
US7903885B2 (en) | Data converting apparatus and method | |
CN101163243A (en) | Streaming data reproduction system | |
US10461956B2 (en) | Semiconductor device, allocation method, and display system | |
US11029881B2 (en) | Memory controller, memory system, and information processing system | |
JP2009266152A (en) | Controller, hard disk drive and control method |