説明

データ処理装置

【課題】 チャネル分割処理の際に発生するレイテンシを削減して効率良くチャネル分割処理を実行し得る。
【解決手段】 データ処理装置11は、チャネル分割回路120、バス211、メモリコントローラ113およびメモリ115を有する。チャネル分割回路120は、マルチチャネルデータのうちの第1チャネルデータのみを1周期遅延させて第1遅延チャネルデータを出力する第1遅延回路と、マルチチャネルデータのうちの第2チャネルデータのみを1周期遅延させて第2遅延チャネルデータを出力する第2遅延回路と、第1チャネルデータと第1遅延チャネルデータとを結合して得られる第1結合データを複数周期に亘って記憶するとともに、第2チャネルデータと第2遅延回路の出力とを結合して得られる第2結合データを複数周期に亘って記憶する。チャネル分割回路120は、第1チャネルデータ群および第2チャネルデータ群を選択的にバス211に出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ステレオオーディオ信号などのマルチチャネル信号を複数のチャネル信号に分割する技術に関する。
【背景技術】
【0002】
CD(Compact Disk)などの光ディスクに記録されるオーディオ信号として、Lチャネル信号(Left channel signal)とRチャネル信号(Right channel signal)とからなるステレオオーディオ信号が記録される場合、これらLチャネル信号とRチャネル信号とが混在して記録されることがある。Rチャネル信号とLチャネル信号に個別に音声処理を施すには、光ディスクから読み出されたステレオオーディオ信号をLチャネル信号とRチャネル信号とに分割しRAM(Random Access Memory)などのメモリに格納する処理(以下、「チャネル分割処理」と呼ぶ。)が必要である。この種のチャネル分割処理に関する従来技術は、たとえば、特許文献1(特開平7−219080号公報)に開示されている。
【0003】
図1は、チャネル分割処理を実行する従来のデータ処理装置10の概略構成を示すブロック図である。データ処理装置10は、集積回路である半導体回路100、ROM(Read Only Memory)104およびRAM(Random Access Memory)105からなり、半導体回路100は、CPUなどのプロセッサ101と、ROM104に接続された第1メモリコントローラ102と、RAM105に接続された第2メモリコントローラ103と、内部バス201とを有している。プロセッサ101は、内部バス201の使用権を司るバスマスタであり、第1メモリコントローラ102および第2メモリコントローラ103はバススレーブである。ROM104は、プロセッサ101で実行されるべき各種プログラムを記録しており、プロセッサ101は、第1メモリコントローラ102を介してチャネル分割用の命令プログラムをROM104からロードしこれを実行できる。RAM105には、光ディスクから読み出されたステレオデータが格納されている。
【0004】
図2は、チャネル分割処理の手順を説明するための概略図である。図2に示されるように、RAM105に記録されているステレオデータは、上位16ビットのRチャネルデータRiと下位16ビットのLチャネルデータLiとの組からなる32ビットデータ{Ri,Li}(iは0〜1023)を周期的に含む。図1のプロセッサ101は、先ず、チャネル分割用の命令プログラムを第1メモリコントローラ102を介してROM104からロードしこれを実行する。次いで、プロセッサ101は、当該命令プログラムに従って第2メモリコントローラ103に読み出し命令を発して当該第2メモリコントローラ103をしてRAM105から32ビットデータ{Ri,Li}を順次読み出させ、且つ当該読み出された32ビットデータ{Ri,Li}を内部バス201を介してプロセッサ101に転送させる。プロセッサ101は、当該転送された32ビットデータ{Ri,Li}をRチャネルデータRiとLチャネルデータLiとに分割する。プロセッサ101は、さらにRチャネルデータRiとLチャネルデータLiとをそれぞれ内部バス201を介して第2メモリコントローラ103に転送するとともに、当該第2メモリコントローラ103に書き込み命令を発する。第2メモリコントローラ103は、当該書き込み命令に従い、プロセッサ101から転送されたRチャネルデータRiとLチャネルデータLiとをそれぞれRAM105の指定領域に格納する。結果として、図2に示される通り、RチャネルデータR0〜R1023のみからなるRチャネルデータ群と、LチャネルデータL0〜L1023のみからなるLチャネルデータ群とがRAM105に格納される。
【特許文献1】特開平7−219080号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上記のチャネル分割処理では、プロセッサ101の処理負荷が大きく且つ比較的長い処理時間を要するため、チャネル分割処理を実行している間、プロセッサ101はチャネル分割処理以外の処理をほとんど実行できない。特に、プロセッサ101が第2メモリコントローラ103を介してRAM105からステレオデータを読み出す際並びにRAM105にデータを書き込む際に発生する待ち時間(レイテンシ:latency)が大きく、これが半導体回路100を含むシステム全体の性能を低下させるという問題がある。
【0006】
上記に鑑みて本発明の目的は、チャネル分割処理の際に発生するレイテンシを削減して効率良くチャネル分割処理を実行し得るデータ処理装置を提供することである。
【課題を解決するための手段】
【0007】
前記目的を達成すべく、本発明に係る第1のデータ処理装置は、マルチチャネルデータを第1チャネルデータ群と第2チャネルデータ群とに分割してバスに出力するデータ処理装置であって、チャネル分割回路と、第1チャネルデータと第2チャネルデータとの組を所定周期毎に含むマルチチャネルデータが格納されているメモリと、前記メモリから前記マルチチャネルデータを前記所定周期毎に順次読み出し、当該読み出されたマルチチャネルデータを前記バスを介して前記チャネル分割回路に転送するメモリコントローラと、を有しており、前記チャネル分割回路は、前記メモリコントローラにより転送されたマルチチャネルデータのうちの第1チャネルデータのみを前記所定周期だけ遅延させて第1遅延チャネルデータを出力する第1遅延回路と、前記メモリコントローラから転送されたマルチチャネルデータのうちの第2チャネルデータのみを前記所定周期だけ遅延させて第2遅延チャネルデータを出力する第2遅延回路と、前記第1チャネルデータと前記第1遅延チャネルデータとを結合して得られる第1結合データを前記所定周期の複数に亘って記憶するとともに、前記第2チャネルデータと前記第2遅延回路の出力とを結合して得られる第2結合データを前記所定周期の複数に亘って記憶するチャネルデータ保持回路と、前記チャネルデータ保持回路から第1チャネルデータ群および第2チャネルデータ群を選択的に読み出し前記バスに出力する選択出力回路と、を含むことを特徴とする。
【0008】
本発明に係る第2のデータ処理装置は、マルチチャネルデータを第1チャネルデータ群と第2チャネルデータ群とに分割してバスに出力するデータ処理装置であって、チャネル分割回路と、第1チャネルデータと第2チャネルデータとの組を所定周期毎に含むマルチチャネルデータが格納されているメモリと、前記メモリから前記マルチチャネルデータを前記所定周期毎に順次読み出し、当該読み出されたマルチチャネルデータを前記バスを介して前記チャネル分割回路に転送するメモリコントローラと、を有しており、前記チャネル分割回路は、前記メモリコントローラから転送されたマルチチャネルデータを前記所定周期だけ遅延させて第1遅延マルチチャネルデータを出力する第1遅延回路と、前記第1遅延マルチチャネルデータを前記所定周期だけ遅延させて第2遅延マルチチャネルデータを出力する第2遅延回路と、前記マルチチャネルデータのうちの第1チャネルデータと前記第1遅延マルチチャネルデータのうちの第1チャネルデータとを結合して得られる第1チャネルデータ群と、前記第1遅延マルチチャネルデータのうちの第2チャネルデータと前記第2遅延マルチチャネルデータのうちの第2チャネルデータとを結合して得られる第2チャネルデータ群とを交互に選択し前記バスに出力する選択出力回路と、を含むことを特徴とする。
【発明の効果】
【0009】
本発明に係る第1のデータ処理装置のチャネル分割回路においては、第1遅延回路が、メモリコントローラから転送されたマルチチャネルデータのうちの第1チャネルデータのみを1周期遅延させて第1遅延チャネルデータを生成し、これと並行して、第2遅延回路が、前記メモリコントローラから転送されたマルチチャネルデータのうちの第2チャネルデータのみを1周期遅延させて第2遅延チャネルデータを生成する。また、チャネルデータ保持回路は、前記第1チャネルデータと前記第1遅延チャネルデータとを結合して得られる第1結合データを複数周期に亘って記憶し、これと並行して、前記第2チャネルデータと前記第2遅延回路の出力とを結合して得られる第2結合データを複数周期に亘って記憶する。そして、選択出力回路は、チャネルデータ保持回路から第1チャネルデータ群および第2チャネルデータ群を選択的に読み出しバスに出力する。このようなチャネル分割回路は、従来のチャネル分割処理と比べて、チャネル分割処理の際に生ずるレイテンシを短縮化できるので、システム全体の処理能力の向上を可能にするものである。
【0010】
本発明に係る第2のデータ処理装置のチャネル分割回路においては、第1遅延回路が、メモリコントローラから転送されたマルチチャネルデータを1周期遅延させて第1遅延マルチチャネルデータを生成し、第2遅延回路がさらに第1遅延マルチチャネルデータを1周期遅延させて第2遅延マルチチャネルデータを生成する。また、マルチチャネルデータのうちの第1チャネルデータと第1遅延マルチチャネルデータのうちの第1チャネルデータとを結合して第1チャネルデータ群が生成され、第1遅延マルチチャネルデータのうちの第2チャネルデータと第2遅延マルチチャネルデータのうちの第2チャネルデータとを結合して第2チャネルデータ群が生成される。そして、選択出力回路は、これら第1チャネルデータ群と第2チャネルデータ群とを交互に選択しバスに出力する。このようなチャネル分割回路も、従来のチャネル分割処理と比べると、チャネル分割処理の際に生ずるレイテンシを短縮化できるので、システム全体の処理能力の向上を可能にするものである。
【発明を実施するための最良の形態】
【0011】
以下、本発明に係る種々の実施例について説明する。
【0012】
図3は、本発明の実施例に係るデータ処理装置11の概略構成を示すブロック図である。データ処理装置11は、集積回路である半導体回路110、ROM(Read Only Memory)114およびRAM(Random Access Memory)115からなり、半導体回路110は、CPUなどのプロセッサ111と、チャネル分割回路120と、ROM114に接続された第1メモリコントローラ112と、RAM115に接続された第2メモリコントローラ113と、内部バス211とを有している。プロセッサ111は内部バス211の使用権を司るバスマスタである。また、チャネル分割回路120は、バスマスタおよびバススレーブの双方の機能を有しており、プロセッサ111がバスマスタであるときはチャネル分割回路120はバススレーブとして動作する。第1メモリコントローラ112および第2メモリコントローラ113は常にバススレーブである。ROM114は、プロセッサ111で実行されるべき各種プログラムを記録しており、プロセッサ111は、第1メモリコントローラ112を介してチャネル分割用の命令プログラムをROM114からロードしこれを実行できる。RAM115には、光ディスクから読み出されたステレオデータが格納されている。
【0013】
図4は、本発明の第1の実施例に係るチャネル分割回路120の概略構成を示す図である。図4のチャネル分割回路120は、内部バス211に接続されたデータ転送制御部348を有している。データ転送制御部348は、バースト転送機能を持つDMAコントローラであることが望ましい。また、データ転送制御部348は、RAM115から転送された32ビットRD[31:0]からなるステレオデータ(マルチチャネルデータ)300を受信する。
【0014】
第1遅延回路301は、ステレオデータ300のうちの上位16ビットRD[31:16]のRチャネルデータ304をラッチし、第2遅延回路302は、当該ステレオデータ300のうちの下位16ビットRD[15:0]のLチャネルデータ306をラッチする。第1遅延回路301および第2遅延回路302は、それぞれ、クロックジェネレータ(図示せず)から供給された動作クロックCLKに同期して動作し、動作クロックCLKの所定サイクル数に相当する時間だけ入力信号を遅延させる。本実施例では、ステレオデータ300は図2に示したようなフォーマットを有することとする。このフォーマットによれば、ステレオデータ300は、上位16ビットのRチャネルデータ(第1チャネルデータ)Riと下位16ビットのLチャネルデータ(第2チャネルデータ)Liとの組{Ri,Li}が周期的に配列して構成されている。第1遅延回路301および第2遅延回路302の各々は、チャネルデータの組{Ri,Li}のビット長(=32ビット)に相当する所定周期だけ入力データを遅延させる機能を有する。
【0015】
第1遅延回路301から出力された16ビットの遅延Rチャネルデータ303と、ステレオデータ300から分岐した16ビットのRチャネルデータ304とは結合して32ビットの第1結合データ307を構成する。Rチャネルデータ保持回路309は、端子Dに入力された第1結合データ307の16周期分を合計32×16ビットの容量を持つ記憶領域M0〜M15に記憶する機能を有する。より具体的には、プロセッサ111から4ビットの第1選択制御信号343がRチャネルデータ保持回路309の端子SELに供給されている。Rチャネルデータ保持回路309は、記憶領域M0〜M15のうち第1選択制御信号343の値で指定される記憶領域Mi(iは0〜15のいずれか)に入力データ307を記憶する。たとえば、第1選択制御信号343の値が「0」のときは、これに対応する記憶領域M0に入力データ307が格納され、第1選択制御信号343の値が「1」のときは、これに対応する記憶領域M1に入力データ307が格納される。これら記憶領域M0〜M15にそれぞれ保持されているRチャネルデータR0〜R15は並列に選択出力回路345の端子S0〜S15に出力される。
【0016】
一方、第2遅延回路302から出力された16ビットの遅延Lチャネルデータ305と、ステレオデータ300から分岐した16ビットのLチャネルデータ306とは結合して32ビットの第2結合データ308を構成する。Lチャネルデータ保持回路310は、端子Dに入力された第2結合データ308の16周期分を32×16ビットの容量を持つ記憶領域K0〜K15に記憶する機能を有する。より具体的には、プロセッサ111から4ビットの第2選択制御信号344がLチャネルデータ保持回路310の端子SELに供給されている。Lチャネルデータ保持回路310は、記憶領域K0〜K15のうち第2選択制御信号344の値で指定される記憶領域Ki(iは0〜15のいずれか)に入力データ308を記憶する。たとえば、第2選択制御信号344の値が「0」のときは、これに対応する記憶領域K0に入力データ308が格納され、第2選択制御信号344の値が「1」のときは、これに対応する記憶領域K1に入力データ308が格納される。これら記憶領域K0〜K15にそれぞれ保持されているLチャネルデータL0〜L15は並列に選択出力回路345の端子S16〜S31に出力される。
【0017】
選択出力回路345は、プロセッサ111からの5ビットの第3選択制御信号346の値で指定される端子Sj(jは0〜31のいずれか)への入力データを選択し、当該選択された入力データを32ビットWD[31:0]の書込データ347としてデータ転送制御部348に供給する。たとえば、第3選択制御信号346の値が「0」のときは、これに対応する端子S0への入力データが選択され、第3選択制御信号346の値が「1」のときは、これに対応する端子S1への入力データが選択される。データ転送制御部348は、当該書込データ347を内部バス211を介して第2メモリコントローラ113(図3)にバースト転送する。第2メモリコントローラ113は、チャネル分割回路120から転送されたRチャネルデータ群とLチャネルデータ群とをそれぞれRAM115の互いに異なる記憶領域に格納することとなる。
【0018】
上記第1実施例に係るチャネル分割回路120の動作を図5〜図8を参照しつつ以下に詳細に説明する。図5(A)〜(C)は、チャネル分割回路120の動作状態を概略的に示すタイミングチャートである。図6〜図8は、チャネル分割回路120内の各種データ信号および制御信号の状態を表すタイミングチャートであり、図6は、期間P3における信号状態を表し、図7は、期間P4における信号状態を表し、図8は、期間P5における信号状態を表している。
【0019】
図5(A),(B)に示されるように、最初の期間P1では、図3のプロセッサ111がバスマスタとして動作し、第1メモリコントローラ112がバススレーブとして動作する。このとき、図5(C)に示されるように、プロセッサ111は、第1メモリコントローラ112にチャネル分割用プログラムのリード命令を発する。第1メモリコントローラ112は、このリード命令に応じて、半導体回路110の外部に設けられたROM114から当該プログラムを読み込み、当該プログラムを内部バス211を介してチャネル分割回路120に転送する。続く期間P2では、プロセッサ111はバスマスタとして動作し、ROM114からロードしたプログラムに従い、バススレーブであるチャネル分割回路120に対してチャネル分割処理の開始を命令する。
【0020】
次の期間P3では、チャネル分割回路120は、プロセッサ111からの命令に応じてバスマスタとして動作し、バススレーブである第2メモリコントローラ113に対してステレオデータ300のリード命令を発する。第2メモリコントローラ113は、このリード命令に応じて、ステレオデータ300を各周期毎に順次読み出し、当該読み出されたステレオデータ300を内部バス211を介してチャネル分割回路120にバースト転送する。このとき、ステレオデータ300は、RAM115から32ビット単位で16回読み出され、バースト長16のデータとしてチャネル分割回路120にバースト転送される。チャネル分割回路120は、第2メモリコントローラ113から受信したステレオデータ300に対してチャネル分割処理を実行する。
【0021】
この期間P3では、チャネルデータの組{R0,L0},{R1,L1},…,{R15,L15}が順次チャネル分割回路120のデータ転送制御部348(図4)に転送される。図6に示されるようにデータ転送制御部348は、時刻T1〜T17の間に、チャネルデータの組{R0,L0},{R1,L1},…,{R15,L15}をステレオデータ300として第1遅延回路301および第2遅延回路302に供給する。第1遅延回路301は、ステレオデータ300から分岐した上位16ビットデータ304の系列R0,R1,…,R15を保持し、このデータ系列R0,R1,…,R15を1周期遅延させた後に遅延Rチャネルデータ303の系列として出力する。Rチャネルデータ保持回路309の端子Dには第1結合データ307の系列{R1,R0},{R2,R1},…,{R16,R15}が順次入力されることとなる。Rチャネルデータ保持回路309は、これら第1結合データ307の系列{R1,R0},{R2,R1},…,{R16,R15}を1つ置きに保持する。具体的には、図6に示されるように、第1選択制御信号343の値「0」に応じて第1結合データ307の組{R1,R0}が記憶領域M0に保持され、第1選択制御信号343の値「1」に応じて第1結合データ307の組{R3,R2}が記憶領域M1に保持され、第1選択制御信号343の値「6」に応じて第1結合データ307の組{R13,R12}が記憶領域M6に保持され、第1選択制御信号343の値「7」に応じて第1結合データ307の組{R15,R14}が記憶領域M7に保持される。
【0022】
一方、第2遅延回路302は、ステレオデータ300から分岐した下位16ビットデータ306の系列L0,L1,…,L15を保持し、このデータ系列L0,L1,…,L15を1周期遅延させた後に遅延Lチャネルデータ305の系列として出力する。Lチャネルデータ保持回路310の端子Dには第2結合データ308の系列{L1,L0},{L2,L1},…,{L16,L15}が順次入力されることとなる。Lチャネルデータ保持回路310は、これら第2結合データ308の組{L1,L0},{L2,L1},…,{L16,L15}を1つ置きに保持する。具体的には、図6に示されるように、第2選択制御信号344の値「0」に応じて第2結合データ308の組{L1,L0}が記憶領域K0に保持され、第2選択制御信号344の値「1」に応じて第2結合データ308の組{L3,L2}が記憶領域K1に保持され、第2選択制御信号344の値「6」に応じて第2結合データ308の組{L13,L12}が記憶領域K6に保持され、第2選択制御信号344の値「7」に応じて第2結合データ308の組{L15,L14}が記憶領域K7に保持される。
【0023】
次の期間P4では、図5(A),(B)に示されるようにチャネル分割回路120はバスマスタとして動作し、第2メモリコントローラ113はバススレーブとして動作する。チャネル分割回路120は、第2メモリコントローラ113に対してステレオデータ300のリード命令を発するとともに、チャネル分割後の書込データをRAM115に記憶するためのライト命令を発する。第2メモリコントローラ113は、リード命令に応じて、ステレオデータ300を各周期毎に順次読み出し、当該読み出されたステレオデータ300を内部バス211を介してチャネル分割回路120にバースト転送する。このとき、ステレオデータ300は、RAM115から32ビット単位で16回読み出され、バースト長16のデータとしてチャネル分割回路120にバースト転送される。一方、第2メモリコントローラ113は、ライト命令に応じて、チャネル分割回路120からバースト転送された書込データをRAM115に格納する。
【0024】
この期間P4では、チャネル分割回路120の選択出力回路345は、図7に示されるように、第3選択制御信号346の値「0」〜「15」に応じて、それぞれ、端子S0〜S15への入力データ信号を順次選択し、当該選択されたデータ信号を書込データ347としてデータ転送制御部348に出力する。データ転送制御部348は、書込データ347をバースト長16のデータとして第2メモリコントローラ113にバースト転送する。
【0025】
これと並行して、チャネルデータの組{R16,L16},{R17,L17},…,{R31,L31}が順次チャネル分割回路120のデータ転送制御部348(図4)に転送される。図7に示されるように、データ転送制御部348は、時刻T19〜T35の間に、チャネルデータの組{R16,L16},{R17,L17},…,{R31,L31}をステレオデータ300として第1遅延回路301および第2遅延回路302に供給する。第1遅延回路301は、ステレオデータ300から分岐した上位16ビットデータ304の系列R16,R17,…,R31を保持し、このデータ系列R16,R17,…,R31を1周期遅延させた後に遅延Rチャネルデータ303の系列として出力する。Rチャネルデータ保持回路309の端子Dには第1結合データ307の系列{R17,R16},{R18,R17},…,{R31,R30}が順次入力されることとなる。Rチャネルデータ保持回路309は、これら第1結合データ307の組{R17,R16},{R18,R17},…,{R31,R30}を1つ置きに保持する。具体的には、図7に示されるように、第1選択制御信号343の値「8」に応じて第1結合データ307の組{R17,R16}が記憶領域M8に保持され、第1選択制御信号343の値「9」に応じて第1結合データ307の組{R19,R18}が記憶領域M9に保持され、第1選択制御信号343の値「14」に応じて第1結合データ307の組{R29,R28}が記憶領域M14に保持され、第1選択制御信号343の値「15」に応じて第1結合データ307の組{R31,R30}が記憶領域M15に保持される。
【0026】
一方、第2遅延回路302は、ステレオデータ300から分岐した下位16ビットデータ306の系列L16,L17,…,L31を保持し、このデータ系列L16,L17,…,L31を1周期遅延させた後に遅延Lチャネルデータ305の系列として出力する。Lチャネルデータ保持回路310の端子Dには第2結合データ308の系列{L17,L16},{L18,L17},…,{L31,L30}が順次入力されることとなる。Lチャネルデータ保持回路310は、これら第2結合データ308の組{L17,L16},{L18,L17},…,{L31,L30}を1つ置きに保持する。具体的には、図7に示されるように、第2選択制御信号344の値「8」に応じて第2結合データ308の組{L17,L16}が記憶領域K8に保持され、第2選択制御信号344の値「9」に応じて第2結合データ308の組{L19,L18}が記憶領域K9に保持され、第2選択制御信号344の値「14」に応じて第2結合データ308の組{L29,L28}が記憶領域K14に保持され、第2選択制御信号344の値「15」に応じて第2結合データ308の組{L31,L30}が記憶領域K15に保持される。
【0027】
次の期間P5では、図5(A),(B)に示されるようにチャネル分割回路120はバスマスタとして動作し、第2メモリコントローラ113はバススレーブとして動作する。チャネル分割回路120は、第2メモリコントローラ113に対してチャネル分割後の書込データをRAM115に記憶するためのライト命令を発する。第2メモリコントローラ113は、ライト命令に応じて、チャネル分割回路120からバースト転送された書込データをRAM115に格納する。
【0028】
この期間P5では、チャネル分割回路120の選択出力回路345は、図8に示されるように、第3選択制御信号346の値「16」〜「31」に応じて、それぞれ、端子S16〜S31への入力データ信号を順次選択し、当該選択されたデータ信号を書込データ347としてデータ転送制御部348に出力する。データ転送制御部348は、書込データ347をバースト長16のデータとして第2メモリコントローラ113にバースト転送する。その後、上記期間P3〜P5におけるチャネル分割処理と同様の処理が繰り返し実行される。
【0029】
上記の通り、第1の実施例に係るチャネル分割処理では、バスアクセスを効率的に行うことにより、従来技術と比べてチャネル分割処理の際に発生するレイテンシを削減することができるので、チャネル分割処理の高速化やシステム全体の処理能力の向上が可能になる。特に、チャネルデータ群をまとめてバースト転送することにより、チャネル分割処理による内部バス211の占有率が低下するので、半導体回路110を含むシステム全体の処理能力を向上させることができる。
【0030】
次に、本発明の第2実施例に係るチャネル分割回路について説明する。図9は、第2実施例に係るチャネル分割回路120の概略構成を示す図である。図9のチャネル分割回路120は、内部バス211に接続されたデータ転送制御部448を有している。データ転送制御部448は、RAM115から転送された32ビットRD[31:0]からなるステレオデータ(マルチチャネルデータ)400を受信する。
【0031】
第1遅延回路401は32ビットのステレオデータ400を保持し、第2遅延回路402は、第1遅延回路401の32ビット出力を保持する。第1遅延回路401および第2遅延回路402は、それぞれ、クロックジェネレータ(図示せず)から供給された動作クロックCLKに同期して動作し、動作クロックCLKの所定サイクル数に相当する時間だけ入力信号を遅延させる。第2実施例では、第1実施例の場合と同様にステレオデータ400は図2に示したようなフォーマットを有することとする。このフォーマットによれば、ステレオデータ400は、上位16ビットのRチャネルデータ(第1チャネルデータ)Riと下位16ビットのLチャネルデータ(第2チャネルデータ)Liとの組{Ri,Li}が周期的に配列して構成されている。第1遅延回路401および第2遅延回路402の各々は、チャネルデータの組{Ri,Li}のビット長(=32ビット)に相当する1周期だけ入力データを遅延させる機能を有する。
【0032】
第1遅延回路401の32ビット出力から分岐した上位16ビットの遅延Rチャネルデータ403と、ステレオデータ400から分岐した上位16ビットのRチャネルデータ404とは結合して32ビットの第1結合データ407を構成する。一方、第2遅延回路302の32ビット出力から分岐した下位16ビットの遅延Lチャネルデータ405と、第1遅延回路401の32ビット出力から分岐した下位16ビットの遅延Lチャネルデータ406とは結合して32ビットの第2結合データ408を構成する。第1結合データ407は選択出力回路409の端子D0に入力され、第2結合データ408は選択出力回路409の端子D1に入力される。
【0033】
選択出力回路409は、プロセッサ111からの1ビットの選択制御信号410の値で指定される端子Di(iは0または1のいずれか)への入力データを選択し、当該選択された入力データを32ビットWD[31:0]の書込データ411としてデータ転送制御部448に供給する。すなわち、選択制御信号410の値が「0」のときは、これに対応する端子D0への入力データが選択され、選択制御信号410の値が「1」のときは、これに対応する端子D1への入力データが選択される。データ転送制御部448は、当該書込データ411を内部バス211を介して第2メモリコントローラ113(図3)にバースト転送する。第2メモリコントローラ113は、チャネル分割回路120から転送されたRチャネルデータ群とLチャネルデータ群とをそれぞれRAM115の互いに異なる記憶領域に格納することとなる。
【0034】
上記第2実施例に係るチャネル分割回路120の動作を図10および図11を参照しつつ以下に詳細に説明する。図10(A)〜(C)は、チャネル分割回路120の動作状態を概略的に示すタイミングチャートである。図11は、チャネル分割回路120内の各種データ信号および制御信号の状態を表すタイミングチャートである。
【0035】
図10(A),(B)に示されるように、最初の期間P1では、図3のプロセッサ111がバスマスタとして動作し、第1メモリコントローラ112がバススレーブとして動作する。このとき、図10(C)に示されるように、プロセッサ111は、第1メモリコントローラ112にチャネル分割用プログラムのリード命令を発する。第1メモリコントローラ112は、このリード命令に応じて、半導体回路110の外部に設けられたROM114から当該プログラムを読み込み、当該プログラムを内部バス211を介してチャネル分割回路120に転送する。続く期間P2では、プロセッサ111はバスマスタとして動作し、ROM114からロードしたプログラムに従い、バススレーブであるチャネル分割回路120に対してチャネル分割処理の開始を命令する。
【0036】
次の期間P3では、チャネル分割回路120は、プロセッサ111からの命令に応じてバスマスタとして動作し、バススレーブである第2メモリコントローラ113に対してステレオデータ300のリード命令を発する。第2メモリコントローラ113は、このリード命令に応じて、ステレオデータ300を各周期毎に順次読み出し、当該読み出されたステレオデータ300を内部バス211を介してチャネル分割回路120に転送する。チャネル分割回路120は、第2メモリコントローラ113から受信したステレオデータ300に対してチャネル分割処理を実行する。
【0037】
この期間P3では、チャネルデータの最初の組{R0,L0}がチャネル分割回路120のデータ転送制御部448(図9)に転送される。図11に示されるように、データ転送制御部448は、時刻T1〜T2の間に、チャネルデータの組{R0,L0}をステレオデータ400として第1遅延回路301に供給する。第2遅延回路402は、第1遅延回路301の32ビット出力をラッチする。
【0038】
次の期間P4では、図10(A),(B)に示される通り、チャネル分割回路120はバスマスタとして動作し、第2メモリコントローラ113はバススレーブとして動作する。チャネル分割回路120は、第2メモリコントローラ113に対してステレオデータ300のリード命令を発するとともに、チャネル分割後の書込データをRAM115に記憶するためのライト命令を発する。第2メモリコントローラ113は、リード命令に応じて、ステレオデータ300を各周期毎に順次読み出し、当該読み出されたステレオデータ300を内部バス211を介してチャネル分割回路120に転送する。一方、第2メモリコントローラ113は、ライト命令に応じて、チャネル分割回路120から転送された書込データをRAM115に格納する。
【0039】
この期間P4では、選択出力回路409は、図11に示されるように、選択制御信号410の値「0」に応じて端子D0に入力された第1結合データ407の組{R1,L0}を選択しこれを書込データ411としてデータ転送制御部448に供給する。データ転送制御部448は、32ビットWD[31:0]の書込データ411を第2メモリコントローラ113に転送することとなる。これと並行して、次のチャネルデータの組{R1,L1}がチャネル分割回路120のデータ転送制御部448に転送される。図11に示されるようにデータ転送制御部448は、時刻T3〜T4の間に、チャネルデータの組{R1,L1}をステレオデータ400として第1遅延回路301に供給する。第1遅延回路301は、そのチャネルデータの組{R1,L1}をラッチし保持する。また、第2遅延回路402は、第1遅延回路301の32ビット出力であるチャネルデータの組{R0,L0}をラッチし保持する。
【0040】
次の期間P5では、図10(A),(B)に示される通り、チャネル分割回路120はバスマスタとして動作し、バススレーブである第2メモリコントローラ113にライト命令を発する。第2メモリコントローラ113は、このライト命令に応じて、チャネル分割回路120から転送された書込データをRAM115に格納する。図11に示されるように、選択制御信号410の値「1」に応じて端子D1に入力された第2結合データ408の組{L1,L0}を選択しこれを書込データ411としてデータ転送制御部448に供給する。データ転送制御部448は、書込データ411を第2メモリコントローラ113に転送することとなる。その後、上記期間P3〜P5におけるチャネル分割処理と同様の処理が繰り返し実行される。
【0041】
上記の通り、第2の実施例に係るチャネル分割処理では、バスアクセスを効率的に行うことにより、従来技術と比べてチャネル分割処理の際に発生するレイテンシを削減することができるので、チャネル分割処理の高速化やシステム全体の処理能力の向上が可能になる。
【図面の簡単な説明】
【0042】
【図1】チャネル分割処理を実行する従来のデータ処理装置の概略構成を示すブロック図である。
【図2】チャネル分割処理の手順を説明するための概略図である。
【図3】本発明の実施例に係るデータ処理装置の概略構成を示すブロック図である。
【図4】本発明の第1の実施例に係るチャネル分割回路の概略構成を示す図である。
【図5】(A)〜(C)は、チャネル分割回路の動作状態を概略的に示すタイミングチャートである。
【図6】チャネル分割回路内の各種データ信号および制御信号の状態を表すタイミングチャートである。
【図7】チャネル分割回路内の各種データ信号および制御信号の状態を表すタイミングチャートである。
【図8】チャネル分割回路内の各種データ信号および制御信号の状態を表すタイミングチャートである。
【図9】本発明の第2実施例に係るチャネル分割回路の概略構成を示す図である。
【図10】(A)〜(C)は、チャネル分割回路の動作状態を概略的に示すタイミングチャートである。
【図11】チャネル分割回路内の各種データ信号および制御信号の状態を表すタイミングチャートである。
【符号の説明】
【0043】
10,11 データ処理装置
100,110 半導体回路
101,111 プロセッサ
102,112 第1メモリコントローラ
103,113 第2メモリコントローラ
104,114 ROM
105,115 RAM
201,211 内部バス
300 ステレオデータ(マルチチャネルデータ)
301 第1遅延回路
302 第2遅延回路
309 Rチャネルデータ保持回路
310 Lチャネルデータ保持回路
345 選択出力回路
348 データ転送制御部
401 第1遅延回路
402 第2遅延回路
409 選択出力回路
448 データ転送制御部

【特許請求の範囲】
【請求項1】
マルチチャネルデータを第1チャネルデータ群と第2チャネルデータ群とに分割してバスに出力するデータ処理装置であって、
チャネル分割回路と、
第1チャネルデータと第2チャネルデータとの組を所定周期毎に含むマルチチャネルデータが格納されているメモリと、
前記メモリから前記マルチチャネルデータを前記所定周期毎に順次読み出し、当該読み出されたマルチチャネルデータを前記バスを介して前記チャネル分割回路に転送するメモリコントローラと、
を有しており、
前記チャネル分割回路は、
前記メモリコントローラにより転送されたマルチチャネルデータのうちの第1チャネルデータのみを前記所定周期だけ遅延させて第1遅延チャネルデータを出力する第1遅延回路と、
前記メモリコントローラから転送されたマルチチャネルデータのうちの第2チャネルデータのみを前記所定周期だけ遅延させて第2遅延チャネルデータを出力する第2遅延回路と、
前記第1チャネルデータと前記第1遅延チャネルデータとを結合して得られる第1結合データを前記所定周期の複数に亘って記憶するとともに、前記第2チャネルデータと前記第2遅延回路の出力とを結合して得られる第2結合データを前記所定周期の複数に亘って記憶するチャネルデータ保持回路と、
前記チャネルデータ保持回路から第1チャネルデータ群および第2チャネルデータ群を選択的に読み出し前記バスに出力する選択出力回路と、
を含むことを特徴とするデータ処理装置。
【請求項2】
請求項1記載のデータ処理装置であって、前記選択出力回路は、前記第1チャネルデータ群および前記第2チャネルデータ群を前記バスを介して前記メモリコントローラに転送し、前記メモリコントローラは、前記選択出力回路から転送された第1チャネルデータ群および第2チャネルデータ群をそれぞれ前記メモリの互いに異なる記憶領域に格納することを特徴とするデータ処理装置。
【請求項3】
請求項1または2記載のデータ処理装置であって、前記第1チャネルデータおよび前記第2チャネルデータは同一のワード長を有することを特徴とするデータ処理装置。
【請求項4】
請求項1から3のうちのいずれか1項に記載のデータ処理装置であって、前記チャネル分割回路は、前記マルチチャネルデータの転送の際並びに前記第1チャネルデータ群および前記第2チャネルデータ群の出力の際に前記バスについてのバスマスタとして動作し、前記メモリコントローラはバススレーブとして動作することを特徴とするデータ処理装置。
【請求項5】
請求項4記載のデータ処理装置であって、前記チャネル分割回路は、前記メモリコントローラとの間でバースト転送を実行するデータ転送制御部を含むことを特徴とするデータ処理装置。
【請求項6】
請求項5記載のデータ処理装置であって、前記データ転送制御部は、DMAコントローラ(ダイレクト・メモリ・アクセス・コントローラ)であることを特徴とするデータ処理装置。
【請求項7】
請求項1から6のうちのいずれか1項に記載のデータ処理装置であって、前記プロセッサ、前記チャネル分割回路、前記メモリコントローラおよび前記バスは、単一の半導体集積回路に組み込まれていることを特徴とするデータ処理装置。
【請求項8】
マルチチャネルデータを第1チャネルデータ群と第2チャネルデータ群とに分割してバスに出力するデータ処理装置であって、
チャネル分割回路と、
第1チャネルデータと第2チャネルデータとの組を所定周期毎に含むマルチチャネルデータが格納されているメモリと、
前記メモリから前記マルチチャネルデータを前記所定周期毎に順次読み出し、当該読み出されたマルチチャネルデータを前記バスを介して前記チャネル分割回路に転送するメモリコントローラと、
を有しており、
前記チャネル分割回路は、
前記メモリコントローラから転送されたマルチチャネルデータを前記所定周期だけ遅延させて第1遅延マルチチャネルデータを出力する第1遅延回路と、
前記第1遅延マルチチャネルデータを前記所定周期だけ遅延させて第2遅延マルチチャネルデータを出力する第2遅延回路と、
前記マルチチャネルデータのうちの第1チャネルデータと前記第1遅延マルチチャネルデータのうちの第1チャネルデータとを結合して得られる第1チャネルデータ群と、前記第1遅延マルチチャネルデータのうちの第2チャネルデータと前記第2遅延マルチチャネルデータのうちの第2チャネルデータとを結合して得られる第2チャネルデータ群とを交互に選択し前記バスに出力する選択出力回路と、
を含むことを特徴とするデータ処理装置。
【請求項9】
請求項8記載のデータ処理装置であって、前記選択出力回路は、前記第1チャネルデータ群および前記第2チャネルデータ群を前記バスを介して前記メモリコントローラに転送し、前記メモリコントローラは、前記選択出力回路から転送された第1チャネルデータ群および第2チャネルデータ群をそれぞれ前記メモリの互いに異なる記憶領域に格納することを特徴とするデータ処理装置。
【請求項10】
請求項8または9記載のデータ処理装置であって、前記第1チャネルデータおよび前記第2チャネルデータは同一のワード長を有することを特徴とするデータ処理装置。
【請求項11】
請求項8から10のうちのいずれか1項に記載のデータ処理装置であって、前記チャネル分割回路は、前記マルチチャネルデータの転送の際並びに前記第1チャネルデータ群および前記第2チャネルデータ群の出力の際に前記バスについてのバスマスタとして動作し、前記メモリコントローラはバススレーブとして動作することを特徴とするデータ処理装置。
【請求項12】
請求項8から11のうちのいずれか1項に記載のデータ処理装置であって、前記プロセッサ、前記チャネル分割回路、前記メモリコントローラおよび前記バスは、単一の半導体集積回路に組み込まれていることを特徴とするデータ処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2008−299969(P2008−299969A)
【公開日】平成20年12月11日(2008.12.11)
【国際特許分類】
【出願番号】特願2007−145720(P2007−145720)
【出願日】平成19年5月31日(2007.5.31)
【出願人】(000000295)沖電気工業株式会社 (6,645)
【Fターム(参考)】