説明

演算処理装置、それを搭載した通信装置および放送受信装置、ならびに情報処理装置

【課題】アクセスされるべきアドレスが演算結果に依存する演算データのアドレス生成にも対応可能でありながら、演算部の処理パフォーマンスを高めたい。
【解決手段】制御部20は、機能の変更が可能な演算部10に、設定データを供給する。記憶部30は、演算部10で処理される演算データを保持する。記憶部30内の第1記憶領域は、制御部20からアドレスが供給される。記憶部30内の第2記憶領域は、演算部10からアドレスが供給される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の演算器を有する演算処理装置、それを搭載した通信装置および放送受信装置、ならびにその演算処理装置に設定すべき設定データを生成する情報処理装置に関する。
【背景技術】
【0002】
近年、複数の演算器(以下適宜、ALU(Arithmetic Logic Unit)という)を有する演算部を備える演算処理装置(リコンフィギュラブル装置)の開発が進められている(たとえば、特許文献1、2参照)。このような演算処理装置では、制御部から上記演算部に設定データ(以下適宜、コマンドデータという)が供給されることにより、当該演算部内のALUおよび接続部が制御され、当該演算部が全体として所期の回路を構成する。
【特許文献1】特開2007−213594公報
【特許文献2】特開2006−65787号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
上述したような演算処理装置では、上記制御部から、演算データを保持すべき記憶領域(以下適宜、データRAMという)のアドレスをデータRAMに発行することができる。上記制御部から発行する場合、上記演算部から発行する場合より、上記演算部からデータRAM内への演算データのアクセス時間を短縮することができる。前者では上記演算部で上記アドレスを生成する必要がないためである。また、そのアドレス生成に上記演算部内のALUが使用されないため、演算効率も後者より前者のほうが高い。
【0004】
しかしながら、配列データなど、上記演算部での演算結果によってアクセスされるべきアドレスが変更される演算データについては、上記制御部から上記アドレスを発行することが困難である。
【0005】
本発明はこうした状況に鑑みなされたものであり、その目的は、アクセスされるべきアドレスが演算結果に依存する演算データのアドレス生成にも対応可能でありながら、演算部の処理パフォーマンスを高めることができる演算処理装置、それを搭載した通信装置および放送受信装置を提供することにある。また別の目的は、その演算処理装置に設定すべき設定データを生成することができる情報処理装置を提供することにある。
【課題を解決するための手段】
【0006】
本発明のある態様の演算処理装置は、機能の変更が可能な演算部と、演算部に、設定データを供給する制御部と、演算部で処理される演算データを保持する記憶部と、を備える。記憶部は、制御部からアドレスが供給される第1記憶領域と、演算部からアドレスが供給される第2記憶領域と、を含む。
【0007】
本発明の別の態様は、情報処理装置である。この装置は、演算処理装置で処理されるべき設定データを、ソースプログラムに所定の変換処理を施して生成する情報処理装置であって、ソースプログラムを解析し、アクセスされるべきアドレスが実行時に決定される変数を特定する解析部と、解析部により特定された変数が格納される第2記憶領域のアドレスを演算部に生成させるための設定データを生成する設定データ生成部と、を備える。
【0008】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0009】
本発明によれば、アクセスされるべきアドレスが演算結果に依存する演算データのアドレス生成にも対応可能でありながら、演算部の処理パフォーマンスを高めることができる。
【発明を実施するための最良の形態】
【0010】
図1は、本発明の実施の形態に係る演算処理装置100の構成を示すブロック図である。演算処理装置100は、機能の変更が可能なリコンフィギュラブル装置を構成する。演算処理装置100は、演算部10、制御部20および記憶部30を備える。制御部20はコマンドRAM21を含む。記憶部30は第1記憶領域および第2記憶領域を含む。
【0011】
演算部10は、制御部20から供給されるコマンドデータに基づいて所定の演算を実行する。演算部10は、当該コマンドデータに応じて動的に機能の変更が可能なリコンフィギュラブル回路を構成する。たとえば、複数の演算器がアレイ状に配置された多段構成の演算器アレイ回路で構成される。この演算器アレイ回路内の、すべてまたは一部の演算器は、第1記憶領域および第2記憶領域にアクセス可能である。また、当該複数の演算器のうちの、一つの演算器の第1記憶領域へのアクセスと、別の演算器の第2記憶領域へのアクセスが実質的に同時に可能である。なお、当該演算器アレイ回路の詳細な構成は後述する。
【0012】
制御部20は、コマンドRAM21に保持されるコマンドデータを演算部10に供給する。このコマンドデータは、ソースプログラムから後述する情報処理装置200(図3参照)による所定の変換処理を経て生成されたデータであってもよい。この変換処理の詳細は後述する。
【0013】
記憶部30は、演算部10で処理される演算データを保持する。この演算データは、最終的な演算結果を示すデータに限らず、演算途中のデータも含まれる。また、この演算データは、変数であってもよいし、定数であってもよい。第1記憶領域は、制御部20からアドレスが供給され、演算部10からアドレスが供給されない。ここで、制御部20から第1記憶領域にアドレスが供給されるタイミングと、演算部10から演算データが第1記憶領域に書き込まれるタイミングまたは第1記憶領域から演算データが演算部10に読み出されるタイミングとは同期がとれるように設定される。
【0014】
第2記憶領域は、演算部10からアドレスが供給され、制御部20からアドレスが供給されない。すなわち、演算部10から演算データが第2記憶領域に書き込まれるとき、および第2記憶領域から演算データが演算部10に読み出されるとき、演算部10により生成されたアドレスが第2記憶領域に供給される。第1記憶領域および第2記憶領域の両方とも、制御部20から書き込みと読み出しを制御する信号(以下、本明細書および図面ではイネーブル信号と表記する)が供給される。このイネーブル信号がアクティブのとき、第1記憶領域および第2記憶領域のそれぞれにおける、書き込み動作が行われ、非アクティブのとき、読み出し動作が行われる。また、当該信号は、書き込みと読み出しの両方を禁止する信号を含んでもよい。
【0015】
第2記憶領域は、演算部10による演算結果に応じてアクセスされるべきアドレスが決定される変数、ここでは主に配列変数を記憶する。たとえば、第2記憶領域は、インタリーブ処理の並べ替え用配列データやサインテーブルを格納する。実施の形態に係る演算処理装置100が、ワンセグ、FMラジオ、AMラジオをソフトウェアの切り替えにより受信することができる放送受信機に適用される場合、第2記憶領域は、ワンセグのインタリーブ情報、FM/AMのサインテーブルなどを格納する。第1記憶領域は、アクセスされるべきアドレスが固定された変数を記憶する。たとえば、カウンタ値など、インデックスが不定の配列データ以外の、グローバル変数およびローカル変数を格納する。
【0016】
なお、第1記憶領域および第2記憶領域のそれぞれは、一つのデータRAMで構成されてもよいし、複数のデータRAMで構成されてもよい。図1では、第1記憶領域が第1データRAM31で構成され、第2記憶領域が第2データRAM32で構成される例を描いている。
【0017】
図2は、実施の形態に係る演算部10の構成の一例を示す図である。演算部10は、複数のALUを備える。ALUは、複数種類の多ビット演算を選択的に実行可能な算術論理回路であって、加減算、比較演算、論理演算、シフト演算、選択演算、乗算演算の補助演算などの複数種類の多ビット演算を設定により選択的に実行することができる。各ALUは、複数の演算機能を設定するためのセレクタを有して構成されている。図示の例では、ALUが、2つの入力端子と1つの出力端子を有して構成される。
【0018】
演算部10は、縦方向にX(Xは自然数)個、横方向にY(Yは自然数)個のALUが配置されたX段Y列のALUアレイとして構成される。演算部10は、接続部11a〜1Xa、およびALU列11b〜1Xbを備える。接続部11a〜1XaおよびALU列11b〜1Xbの構成は上記コマンドデータにより動的に設定変更される。接続部11a〜1Xaは前後段のALU列の間に設けられて、前段のALUの出力と後段のALUの入力の接続関係を設定する。最下段のALU列1Xbは、接続部1Xaおよび接続部11aを介して最上段のALU列11bに、他の段間と同様に接続される。なお、接続部11a〜1Xaは、前段の一つのALUの出力先を後段の直下のALUとその左右のALUの三方向に制限してもよい。この接続制限によりALU間の接続数を大幅に削減することができる。なお、上記ALUアレイは、ALUの物理的配置がアレイ状であることに限定されるものではなく、ALU間の接続関係がアレイ状であればよい。
【0019】
当該ALUアレイでの処理は段毎に行われており、1段目のALU列11bで処理された結果が接続部12aを介して2段目のALU列12bに渡され、その後に2段目のALU列12bで処理されるようになっている。各段の処理は、それぞれ1クロックごとに行われる。4段のALUアレイが使用される場合、4つの独立した処理(以下、スレッドという)が動作できるようになっている。たとえば、スレッド1が1段目のALU列11bで処理された後、つぎのクロックで、スレッド1が2段目のALU列12bで処理されるとともに、スレッド2が1段目のALU列11bで処理される。
【0020】
図3は、実施の形態に係る情報処理装置200の構成を示すブロック図である。情報処理装置200は、上述した演算処理装置100で処理されるべきコマンドデータを、ソースプログラムに所定の変換処理を施して生成するコンパイル装置を構成する。情報処理装置200は、解析部52、演算式生成部54、中間プログラム生成部62、データフローグラフ生成部64、記憶領域割当部66およびコマンドデータ生成部68を備える。
【0021】
これらの構成は、ハードウェア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウェア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
【0022】
解析部52は、ソースプログラムを解析し、アクセスされるべきアドレスが実行時に決定される変数を特定する。解析部52はそのタイプの変数を第2変数群に分類し、それ以外のタイプの変数を第1変数群に分類する。第1変数群には、たとえばアクセスされるべき変数が固定された変数が含まれる。コマンドデータ生成部68は、解析部52により特定された、第2変数群に分類された変数が格納されるべき第2記憶領域のアドレスを演算部10に生成させるためのコマンドデータを生成する。そのアドレスは演算部10から当該変数が第2記憶領域に書き込まれる際、および第2記憶領域から当該変数が演算部10に読み込まれる際に必要となる。
【0023】
コマンドデータ生成部68は、アクセスされるべきアドレスが実行時に決定される変数以外の、第1変数群に分類された変数が格納されるべき第1記憶領域のアドレスを、制御部20から供給させるためのコマンドデータを生成する。そのアドレスも演算部10から当該変数が第1記憶領域に書き込まれる際、および第1記憶領域から当該変数が演算部10に読み込まれる際に必要となる。
【0024】
以下、より具体的に説明する。演算式生成部54は、解析部52により特定された、第2変数群に分類された変数が格納されるべき第2記憶領域のアドレスを生成するための演算式を生成する。中間プログラム生成部62は、上記ソースプログラムを基礎とし、演算式生成部54により生成された演算式が含まれる中間プログラムを生成する。データフローグラフ生成部64は、中間プログラム生成部62により生成された中間プログラムから、演算部10に含まれる複数の演算器の構成に対応したデータフローグラフを生成する。より具体的には、X段Y列のALUアレイの構成に対応したデータフローグラフを生成する。
【0025】
記憶領域割当部66は、第2変数群に分類された変数を第2記憶領域に割り当て、第1変数群に分類された変数を第1記憶領域に割り当てる。コマンドデータ生成部68は、データフローグラフ生成部64により生成されたデータフローグラフ、および記憶領域割当部66による変数の割り当てをもとに、コマンドデータを生成する。
【0026】
以下、具体例をもとに説明する。
図4は、実施の形態に係る、C言語によりユーザに記述されたソースプログラム70の一例を示す図である。このソースプログラム70では、まず、配列変数a(要素数が2)および配列変数b(要素数が128)が宣言され、引数xおよび引数*yが宣言される。つぎに、配列変数a[0]に引数xが加算され、その引数xが加算された配列変数a[0]が配列変数a[1]に加算される。つぎに、引数xが右に1桁シフトされ、配列変数b[配列変数a[0]]に代入される。つぎに、配列変数a[1]が1、減算され配列変数a[0]に代入される。最後に、配列変数b[配列変数a[0]]が左に3桁シフトされ、引数*yに代入される。
【0027】
解析部52は、ソースプログラム70を解析して、アクセスされるべきアドレスが実行時に決定される変数を特定し、第2変数群に分類する。図4の例では、配列変数a[]は、アクセスされるべきアドレスがすべて固定値であるため、第2変数群には分類されず、第1変数群に分類される。配列変数b[]は、配列変数a[]の値によって、アクセスされるべきアドレスが変動するため、第2変数群に分類される。仮に、ソースプログラム70内に配列変数b[10]が代入先として指定された文が含まれていたとしても、他の箇所に、アクセスされるべきアドレスが実行時に決定される文が含まれているため、その場合でも配列変数b[]は第2変数群に分類される。
【0028】
演算式生成部54は、第2変数群に分類されたすべての変数について、記憶部30へのアクセス用の演算式を生成する。まず、配列変数b[]の”b[a[0]]=x>>1;”の処理について考える。演算式生成部54は、書き込むべきデータを記憶部30に送出するための演算式として、”w_d{b}=x>>1;”を生成する。また、演算式生成部54は、データが書き込まれるべきアドレスを記憶部30に送出するための演算式として、”w_a[b]=&b+a[0];”を生成する。ここで、&bは配列変数b[0]のアドレス値を示す。
【0029】
つぎに、”*y=b[a[0]]<<3;”の処理について考える。演算式生成部54は、データが読み出されるべきアドレスを記憶部30に送出するための演算式として、”r_a[b]=&b+a[0];”を生成する。また、演算式生成部54は、記憶部30から読み出されたデータを入力として使用する演算式として、”*y=r_d{b}<<3;”を生成する。ここで、&bは配列変数b[0]のアドレス値を示す。
【0030】
図5は、実施の形態に係る、ソースプログラム70を基礎とし、演算式生成部54により生成された演算式が含まれる中間プログラム80を示す図である。この中間プログラム80では、ソースプログラム70内の”b[a[0]]=x>>1;”が、”w_d{b}=x>>1;”および”w_a[b]=&b+a[0];”に変換されている。また、ソースプログラム70内の”*y=b[a[0]]<<3;”が、”r_a[b]=&b+a[0];”および”*y=r_d{b}<<3;”に変換されている。
【0031】
図6は、実施の形態に係る、中間プログラム80を基礎としたデータフローグラフを示す図である。図6の例では、6段3列のALUアレイで実行されるデータフローグラフを示している。データフローグラフ生成部64は、中間プログラム80からALUアレイの構成に対応したデータフローグラフを生成する。ここでは1段に3個のALUが含まれるALUアレイで中間プログラム80を実行する場合、6段で中間プログラム80が実行可能なことを示している。記憶領域割当部66は、第2変数群に分類された配列変数b[]を第2データRAM32に割り当て、第1変数群に分類された配列変数b[]を第1データRAM31に割り当てる。
【0032】
データフローグラフ内において、「○」が演算命令(以下適宜、ノードという)、「□」が入力変数または出力変数を示す。たとえば、1段2列に位置するノードは配列変数a[0]に引数xを加算する加算命令を示している。2段2列に位置するノードおよび4段3列に位置するノード内の「mema」はアドレス生成命令を示す。この例では、2段2列に位置するノードおよび4段3列に位置するノードは、配列変数b[0]のアドレス値に配列変数a[0]の値を加算する加算命令に相当する。
【0033】
2段2列に位置するノードで生成されるアドレスに格納される変数は、引数xが一桁右にシフトされた変数であり、アドレス生成とそのアドレスに格納されるべき変数の生成が同じ段で実行されることが好ましい。そのため、2段1列に位置するノードで右シフト命令が実行され、2段2列に位置するノードでアドレス生成命令が実行される。
【0034】
4段3列に位置するノードで生成されるアドレスが第2データRAM32に発行され、そのアドレスに格納されたデータが読み出されるまでには所定の時間が必要なため、その読み出されたデータを3桁左にシフトする左シフト命令は6段目に位置するノードで実行される。すなわち、アドレス生成処理と読み出されたデータの演算処理との間に、1クロックのインターバルを設けている。
【0035】
コマンドデータ生成部68は、このデータフローグラフとデータRAMの割り当てをもとに、コマンドデータを生成する。このコマンドデータには、第1データRAM31のアドレス、ならびに第1データRAM31および第2データRAM32の両方のイネーブル信号が含まれる。
【0036】
図7は、実施の形態に係る情報処理装置200によるコンパイル処理をまとめたフローチャートである。解析部52は、ソースプログラムを解析し、アクセスされるべきアドレスが実行時に決定される変数を抽出する(S10)。解析部52はそのタイプの変数を第2変数群に分類し、それ以外のタイプの変数を第1変数群に分類する。演算式生成部54は、解析部52により抽出され、第2変数群に分類された変数が格納されるべき第2データRAM32のアドレスを生成するための演算式を生成する(S12)。データフローグラフ生成部64は、当該演算式が含まれる中間プログラムから、ALUアレイの構成に対応したデータフローグラフを生成する(S14)。
【0037】
記憶領域割当部66は、第2変数群に分類されたすべての変数を第2データRAM32に割り当て、第2変数群に分類された変数以外の、第1変数群に分類されたすべての変数を第1データRAM31に割り当てる(S16)。なお、ALU間のデータの受け渡しが第1データRAM31を介して行われる場合の、一時変数なども第1データRAM31に割り当てられる。このような一時変数はC言語などで記述されたソースプログラムには記述されない。コマンドデータ生成部68は、データフローグラフ生成部64により生成されたデータフローグラフ、および記憶領域割当部66による変数の割り当てをもとに、コマンドデータを生成する(S18)。
【0038】
以上説明したように実施の形態によれば、制御部20からアドレス信号が供給される第1記憶領域と、演算部10からアドレス信号が供給される第2記憶領域とを設けることにより、アクセスされるべきアドレスが演算結果に依存する演算データのアドレス生成にも対応可能でありながら、演算部の処理パフォーマンスを高めることができる。
【0039】
以下、より詳細に説明する。まず、制御部20からアドレスが供給される第1記憶領域のみが設けられる場合を考える。この場合、演算部10での演算結果に基づいてアクセスされるべきアドレスが変更される、インターリーブ処理などに対応することができない。
【0040】
つぎに、演算部10からアドレスが供給される第2記憶領域のみが設けられる場合を考える。この場合、アクセスされるべきアドレスが固定の変数についても、その変数を演算部10で生成する必要があり、実施の形態の構成と比較し、変数のアクセスに時間がかかる。また、アドレス生成に演算部10内のALUが使用されるため、演算効率が実施の形態の構成と比較し、低くなる。
【0041】
図8は、第2記憶領域のみが設けられる構成に係る、中間プログラム80を基礎としたデータフローグラフを示す図である。なお、図8のデータフローグラフ内において、ノード内の「MOV」は入力変数のスルーを示す。図8のデータフローグラフでは、中間プログラム80の実行に9段必要であるが、実施の形態に係る、図6のデータフローグラフでは、同じ中間プログラム80の実行に6段で足りる。したがって、本実施の形態のほうが、実行時間を短縮することができ、消費電力を低減することもできる。また、使用されるALUの数も少ないため、使用されていないALUが多くなり、それらのALUに他の処理またはスレッドを広範に割り当てることができ、処理パフォーマンスが高い。
【0042】
つぎに、一つの記憶領域に対して、制御部20または演算部10から選択的にアドレスが供給される構成について考える。
図9は、比較例に係る演算処理装置150の構成を示すブロック図である。図9では、記憶部30は一つのデータRAM33を含む。セレクタ40は制御部20から供給されるアドレスまたは演算部10から供給されるアドレスを選択的にデータRAM33に出力する。この構成と、実施の形態1に係る図1の構成とを比較すると、演算部10から記憶部30への変数のアクセス時間は両者で同じである。
【0043】
一般的に、配列データを格納する第2データRAM32の容量は、第1データRAM31の容量より非常に大きくなる。図9の構成では、ビット幅の大きいアドレス値を制御部20内のコマンドRAM21に保持しておく必要があり、コマンドRAM21の回路規模が大きくなる。
【0044】
これに対して、図1の構成では第2データRAM32のアドレスは、演算部10からのみ供給され、制御部20からは供給されないため、コマンドRAM21の回路規模を抑制することができる。また、回路規模を抑制することができるため、消費電力も低減することができる。また、図1の構成では図6のデータフローグラフの2段目のように、演算部10から第1データRAM31と第2データRAM32に同時にアクセス可能である。すなわち、同じ段の異なるALUから第1データRAM31および第2データRAM32にそれぞれアクセスすることができる。したがって、図1の構成は図9の構成と比較し、実行時間を短縮することができ、処理パフォーマンスも高い。
また、通信処理、画像処理、音声処理では、アドレスが変わる変数と、アドレスが固定の変数の2種類を用いる処理が多いので、実施の形態に係る演算処理装置100が適している。
【0045】
図10は、実施の形態に係る演算処理装置100を搭載した通信装置300の構成を示す図である。通信装置300は、通信部310、接続制御部330および信号処理部340を備える。通信部310は、無線信号を受信または送信する。信号処理部340は、上記実施の形態に係る演算処理装置100を含み、演算処理装置100は、通信部310により送信または受信される無線信号に重畳されるデータ信号を処理する。たとえば、受信したデータ信号を復調する。また、送信すべきデータ信号を変調する。接続制御部330は、通信部310と信号処理部340との間に設けられ、両者の接続制御を行う。また、接続制御部330は、図示しない表示部や音声出力部などの他の装置との接続制御も行う。
【0046】
通信部310は、受信アンテナ311、受信用RF部312、ADC313、DAC314、送信用RF部315および送信アンテナ316を含む。受信アンテナ311は高周波無線信号を受信し、受信用RF部312に出力する。受信用RF部312は、その高周波無線信号をベースバンドのデータ信号に変換する。ADC313は、受信用RF部312から入力されるアナログ形式のデータ信号をデジタル形式のデータ信号に変換し、接続制御部330を介して演算処理装置100に出力する。
【0047】
DAC314は、演算処理装置100から接続制御部330を介して入力されるデジタル形式のデータ信号をアナログ形式のデータ信号に変換する。送信用RF部315は、DAC314から入力されるベースバンドのデータ信号を高周波無線信号に変換する。送信アンテナ316は、送信用RF部315から入力される高周波無線信号を送信する。
【0048】
なお、通信装置300は、送信のみを行う送信装置であってもよいし、受信のみを行う受信装置であってもよいし、その両方を行う送受信装置であってもよい。送信装置の場合、通信部310にDAC314、送信用RF部315および送信アンテナ316を設ける必要がない。受信装置の場合、通信部310に受信アンテナ311、受信用RF部312おおよびADC313を設ける必要がない。
【0049】
図11は、実施の形態に係る演算処理装置100を搭載した放送受信装置400の構成を示す図である。放送受信装置400は、上記実施の形態に係る演算処理装置100を搭載することにより、複数の規格の無線信号(たとえば、ワンセグ、FMラジオ、AMラジオ)をソフトウェアの切り替えによって単一のハードウェアで受信できるようにした装置である。
【0050】
放送受信装置400は、受信部410、出力部420、接続制御部430、信号処理部440を備える。受信部410は、放送波を受信する。たとえば、ワンセグ放送、FMラジオ放送およびAMラジオ放送を受信する。信号処理部440は、上記実施の形態に係る演算処理装置100を含み、演算処理装置100は、受信部410により受信される放送波に重畳されるデータ信号を処理する。出力部420は、演算処理装置100により処理されたデータ信号にもとづく、画像または音声の少なくとも一方を出力する。接続制御部430は、受信部410、出力部420および信号処理部440の間に設けられ、アプリケーションごとに各部の接続制御を行う。
【0051】
受信部410は、ワンセグ用アンテナ411、ワンセグ用RF部412、ADC413、FM/AM用アンテナ414、FM/AM用RF部415およびADC416を含む。ワンセグ用アンテナ411はワンセグ放送波を受信し、ワンセグ用RF部412に出力する。ワンセグ用RF部412は、ワンセグ放送波をベースバンドのデータ信号に変換する。ADC413は、ワンセグ用RF部412から入力されるアナログ形式のデータ信号をデジタル形式のデータ信号に変換し、接続制御部430を介して演算処理装置100に出力する。演算処理装置100は、そのデータ信号を復調して、トランスポートストリームデータ(以下、TSデータという)を生成し、接続制御部430を介して出力部420に出力する。上記では、アンテナ、RF部、ADCは、ワンセグ用、FM/AM用で個別に設けられていたが、共通のアンテナ、RF部、ADCによりワンセグの信号やFM/AMの信号を処理するものであってもよい。
【0052】
FM/AM用アンテナ414はFMラジオ放送波またはAMラジオ放送波を受信し、FM/AM用RF部415に出力する。FM/AM用RF部415は、FMラジオ放送波またはAMラジオ放送波をベースバンドのデータ信号に変換する。ADC416は、FM/AM用RF部415から入力されるアナログ形式のデータ信号をデジタル形式のデータ信号に変換し、接続制御部430を介して演算処理装置100に出力する。演算処理装置100は、そのデータ信号を復調して、音声信号を生成し、接続制御部430を介して出力部420に出力する。
【0053】
出力部420は、バックエンド処理部421、DAC422、スピーカ423および映像表示部424を含む。バックエンド処理部421は、演算処理装置100から接続制御部430を介して入力されるTSデータを復号する。具体的には、H.264形式の画像データを復号し、AAC形式の音声データを復号する。映像表示部424は、バックエンド処理部421により復号された画像を表示する。図示しないスピーカはバックエンド処理部421により復号された音声を外部に出力する。なお、この音声はスピーカ423から出力されてもよい。バックエンド処理部421は上記実施の形態に係る演算処理装置100で構成されてもよい。
【0054】
DAC422は、演算処理装置100から接続制御部430を介して入力されるデジタル形式の音声信号をアナログ形式の音声信号に変換する。スピーカ423は、DAC422から入力される音声信号を音声として外部に出力する。
【0055】
このように、機能の変更が可能な上記実施の形態に係る演算処理装置100を搭載することにより、好適なソフトウェア無線を実現することができる。
【0056】
以上、本発明をいくつかの実施形態をもとに説明した。これらの実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【図面の簡単な説明】
【0057】
【図1】本発明の実施の形態に係る演算処理装置の構成を示すブロック図である。
【図2】実施の形態に係る演算部の構成の一例を示す図である。
【図3】実施の形態に係る情報処理装置の構成を示すブロック図である。
【図4】実施の形態に係る、C言語によりユーザに記述されたソースプログラムの一例を示す図である。
【図5】実施の形態に係る、ソースプログラムを基礎とし、演算式生成部により生成された演算式が含まれる中間プログラムを示す図である。
【図6】実施の形態に係る、中間プログラムを基礎としたデータフローグラフを示す図である。
【図7】実施の形態に係る情報処理装置によるコンパイル処理をまとめたフローチャートである。
【図8】第2記憶領域のみが設けられる構成に係る、中間プログラムを基礎としたデータフローグラフを示す図である。
【図9】比較例に係る演算処理装置の構成を示すブロック図である。
【図10】実施の形態に係る演算処理装置を搭載した通信装置の構成を示す図である。
【図11】実施の形態に係る演算処理装置を搭載した放送受信装置の構成を示す図である。
【符号の説明】
【0058】
10 演算部、 11 ALU、 20 制御部、 21 コマンドRAM、 30 記憶部、 31 第1データRAM、 32 第2データRAM、 33 データRAM、 40 セレクタ、 52 解析部、 54 演算式生成部、 62 中間プログラム生成部、 64 データフローグラフ生成部、 66 記憶領域割当部、 68 コマンドデータ生成部、 100 演算処理装置、 150 演算処理装置、 200 情報処理装置、 70 ソースプログラム、 80 中間プログラム、 300 通信装置、 310 通信部、 311 受信アンテナ、 312 受信用RF部、 313 ADC、 314 DAC、 315 送信用RF部、 316 送信アンテナ、 330 接続制御部、 340 信号処理部、 400 放送受信装置、 410 受信部、 411 ワンセグ用アンテナ、 412 ワンセグ用RF部、 413 ADC、 414 FM/AM用アンテナ、 415 FM/AM用RF部、 416 ADC、 420 出力部、 421 バックエンド処理部、 422 DAC、 423 スピーカ、 424 映像表示部、 430 接続制御部、 440 信号処理部。

【特許請求の範囲】
【請求項1】
機能の変更が可能な演算部と、
前記演算部に、設定データを供給する制御部と、
前記演算部で処理される演算データを保持する記憶部と、を備え、
前記記憶部は、
前記制御部からアドレスが供給される第1記憶領域と、
前記演算部からアドレスが供給される第2記憶領域と、
を含むことを特徴とする演算処理装置。
【請求項2】
前記第1記憶領域は、アクセスされるべきアドレスが固定された変数を記憶し、前記第2記憶領域は、前記演算部による演算結果に応じてアクセスされるべきアドレスが決定される変数を記憶することを特徴とする請求項1に記載の演算処理装置。
【請求項3】
前記第1記憶領域および前記第2記憶領域には、前記制御部から書き込みと読み出しを制御する信号が供給されることを特徴とする請求項1または2に記載の演算処理装置。
【請求項4】
前記演算部は、複数の演算器を含み、
前記複数の演算器のうちの、一つの演算器の前記第1記憶領域へのアクセスと、別の演算器の前記第2記憶領域へのアクセスが同時に可能であることを特徴とする請求項1から3のいずれかに記載の演算処理装置。
【請求項5】
前記演算部は、複数の演算器がアレイ状に配置されたリコンフィギュラブル回路を構成することを特徴とする請求項1から4のいずれかに記載の演算処理装置。
【請求項6】
無線信号を送信または受信する通信部と、
前記通信部により送信または受信される無線信号に重畳されるデータ信号を処理する請求項1から5のいずれかに記載の演算処理装置と、
を備えることを特徴とする通信装置。
【請求項7】
放送波を受信する受信部と、
前記受信部により受信される放送波に重畳されているデータ信号を処理する請求項1から5のいずれかに記載の演算処理装置と、
前記演算処理装置により処理されたデータ信号にもとづく、画像または音声の少なくとも一方を出力する出力部と、
を備えることを特徴とする放送受信装置。
【請求項8】
請求項1から5のいずれかに記載の演算処理装置で処理されるべき設定データを、ソースプログラムに所定の変換処理を施して生成する情報処理装置であって、
ソースプログラムを解析し、アクセスされるべきアドレスが実行時に決定される変数を特定する解析部と、
前記解析部により特定された変数が格納される前記第2記憶領域のアドレスを前記演算部に生成させるための設定データを生成する設定データ生成部と、
を備えることを特徴とする情報処理装置。
【請求項9】
前記設定データ生成部は、前記アクセスされるべきアドレスが実行時に決定される変数以外の変数が格納される前記第1記憶領域のアドレスを前記制御部から供給させるための設定データを生成することを特徴とする請求項8に記載の情報処理装置。
【請求項10】
請求項1から5のいずれかに記載の演算処理装置で処理されるべき設定データを、ソースプログラムに所定の変換処理を施して生成する情報処理装置であって、
ソースプログラムを解析し、アクセスされるべきアドレスが実行時に決定される変数を特定する解析部と、
前記解析部により特定された変数が格納されるべき前記第2記憶領域のアドレスを生成するための演算式を生成する演算式生成部と、
前記ソースプログラムを基礎とし、前記演算式生成部により生成された演算式が含まれる中間プログラムを生成する中間プログラム生成部と、
前記中間プログラム生成部により生成された中間プログラムから、前記演算部に含まれる複数の演算器の構成に対応したデータフローグラフを生成するデータフローグラフ生成部と、
前記アクセスされるべきアドレスが実行時に決定される変数を前記第2記憶領域に割り当て、前記変数以外の変数を前記第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


【公開番号】特開2010−97356(P2010−97356A)
【公開日】平成22年4月30日(2010.4.30)
【国際特許分類】
【出願番号】特願2008−266788(P2008−266788)
【出願日】平成20年10月15日(2008.10.15)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成20年7月31日 社団法人電気情報通信学会主催の研究集会「電子情報通信学会ソフトウェア無線研究会(SR)」に発表、平成20年7月24日 社団法人電気情報通信学会発行の「電子情報通信学会技術研究報告(IEICE Technical Report)、SR2008−18〜37、[ソフトウェア無線]2008年7月31日〜8月1日」において文書をもって発表
【出願人】(000001889)三洋電機株式会社 (18,308)
【Fターム(参考)】