(58)【調査した分野】(Int.Cl.,DB名)
前記演算器と、前記レジスタと、前記第1のバイパススイッチと、前記第2のバイパススイッチと、前記接続設定部と、前記選択部とを、ルックアップテーブルに内蔵する請求項1から3のいずれか1項に記載のプロセッサエレメント。
前記ルックアップテーブルをバイパスする線路を有し、その線路と前記ルックアップテーブルの出力を選択するマルチプレクサを備える請求項4に記載のプロセッサエレメント。
高位合成により生成されるALU及びレジスタをさらに備え、前記マルチプレクサは、前記ルックアップテーブルの出力と、前記ルックアップテーブルをバイパスする線路と、前記ALUの出力が接続される、請求項5に記載のプロセッサエレメント。
請求項1から6のいずれか1項に記載のプロセッサエレメントを複数、隣接させて配置したプログラマブルデバイスにおいて、隣接していないプロセッサエレメント同士は直接には接続せず、隣接するプロセッサエレメント同士を接続させるプログラマブルデバイス。
【発明を実施するための形態】
【0012】
以下、本発明の第1の実施形態について説明する。まず、本発明の背景について説明する。
【0013】
有限オートマトンに基づくストアードプログラム方式のコンピュータアーキテクチャを有するMCU(Micro−Controller Unit)には、2つの解決すべき課題がある。1つは、外付けメモリ素子内に格納されたアプリケーションに内在する状態遷移コントローラを、有限状態制御部内(すなわちMCUの演算器内)の状態遷移コントローラでシミュレーションするオーバーヘッドの解消である。もう1つは、演算器の定義に対する高位合成技術および動作合成技術の活用である。
【0014】
これらについて対策を講じると共に、更にプログラマブルデバイスであるMCU、FPGA、およびDRPの利点を取り込んだプロセッサエレメントを提案する必要がある。これは設計上の工夫として実装することも可能であるが、開発ツールに組み込むことができれば、センシングデバイスにプロセッサを埋め込むプロセッサエレメントを設計するための汎用的な設計手法として活用することができる。
【0015】
このためにはプロセッサエレメントの基本的なアーキテクチャを定義し、その定義内容を高級プログラミング言語で指定できるようにする必要がある。
【0016】
プロセッサエレメントのアーキテクチャを策定するに当たっては、C言語などの関数型言語で全体を設計できるプログラミング環境を維持することを目標とした。また、ソースコードのデバッグを行うに当たっては、デバッグツールはアプリケーションプログラムから抽出されたコンテキストに沿ってプログラムを実行することができる必要がある。すなわち、関数型言語で記述された一連の操作のコンテキストをトレースできる必要がある。
【0017】
本実施形態のプロセッサエレメントのアーキテクチャは、意味論ないしラムダ計算に基づいて高級プログラミング言語のコンテキストを表現し、2つのタイプのコンテキストを表現できることとした。1つは、ファイルに格納された情報として言及されることの多い、置き換え可能な静的コンテキストであり、もう1つは、ヒープレジスタに格納された情報として表わされる動的コンテキストである。これらは関数記述として表現できるようにした。
【0018】
アプリケーションプログラムの動的コンテキストは、以下のように関数で表現される。
f(A),f(B),... (1)
静的コンテキストには、引数はレジスタとして実装され、関数本体はアプリケーションプログラムに応じて生成されたインストラクションセットを有する演算器として実装される。またアプリケーションプログラムの要求に沿って、レジスタと演算器の組である関数部が静的コンテキストに定義される。またレジスタ及び演算器をバイパスするか否かを切り替えるバイパススイッチが定義される。静的コンテキストは、状態に応じて必要なレジスタと演算器とバイパススイッチがグルーピングされて定義される。
【0019】
なおグループの接続は以下のように関数で記述できることとする。
f(g(・)),f(g(・),h(・)),... (2)
次に第1の実施形態の構成について説明する。
図1は本実施形態に係るプロセッサエレメントの構成を示すブロック図である。
【0020】
アプリケーションプログラムの要求に基づいてインストラクションセットが生成されてn個の演算器11a、11b、11n(nは1以上の整数)として実装される。すなわち演算器11a、11b、11nは、それぞれアプリケーションプログラムに応じて生成されたインストラクションセットを実装した関数に基づく演算処理を行う。
【0021】
レジスタ12a、12b、12nは、対応する演算器11a、11b、11nに実装されるインストラクションセットの引数に対応してプロセッサエレメント1に備えられる。すなわちレジスタ12a、12b、12nは、それぞれ演算器11a、11b、11nの関数で使用される引数を記憶する。
【0022】
以下、この演算器11a、11b、11nと、演算器に対応するレジスタ12a、12b、12nの組は関数部20a、20b、20nという。
【0023】
なお以下の説明では特定の演算器を指定して説明する必要がない場合、演算器11と記載する。同様に、特定のレジスタを指定して説明する費用がない場合、レジスタ12と記載し、特定の関数部を指定して説明する費用がない場合、関数部20と記載する。
【0024】
本実施形態のプロセッサエレメント1ではアプリケーションの静的コンテキストは、選択した関数部20を接続したものとして表現される。静的コンテキストは、状態に応じて必要なレジスタ12と演算器11とがグルーピングされて定義される。プロセッサエレメント1は、プロセッサエレメント1内の各状態にそれぞれの静的コンテキストを対応付けるため、それぞれの静的コンテキストに応じて関数部20a、20b、20nのうちから必要な関数部20を選択する選択部15を備える。選択部15は、選択した関数部の接続順序も指示する。選択部15は、例えば高位合成でアプリケーションに応じて生成された状態遷移コントローラ(Finite State Machine:FSM)で実現される。
【0025】
またプロセッサエレメント1は、選択部15の指示に基づいて関数部20の接続を設定する接続設定部16を備えている。またプロセッサエレメント1は、選択部15の指示に基づいて演算器11a、11b、11nをバイパスするか否かをそれぞれ切り替えるバイパススイッチ13a、13b、13nと、選択部15の指示に基づいてレジスタ12a、12b、12nをバイパスするか否かをそれぞれ切り替え選択するバイパススイッチ14a、14b、14nを備える。なお以下の説明では、演算器11a、11b、11nをバイパスするか否かをそれぞれ切り替えるバイパススイッチのうち特定のものを指定して説明する必要がない場合、バイパススイッチ13a、13b、13nはバイパススイッチ13と記載される。同様に、レジスタ12a、12b、12nをバイパスするか否かを切り替えるバイパススイッチのうち特定のものを指定して説明する必要がない場合、バイパススイッチ14a、14b、14nは、バイパススイッチ14と記載される。
【0026】
またプロセッサエレメント1は、接続設定部16への入力を切り替えるマルチプレクサ17と、接続設定部16からの出力の出力先を切り替えるデマルチプレクサ18を備えている。
【0027】
選択部15は、プロセッサエレメント1内の状態に応じて、バイパススイッチ13、バイパススイッチ14、接続設定部16、マルチプレクサ17及びデマルチプレクサ18に、切り替えを指示する選択信号を出力する。これにより、各状態に対応した関数部の選択及びその処理順序の選択を行い、選択部15は、必要でない関数部をバイパスし、また関数部20の接続順序を切り替えて、各状態に対応した関数の選択を行う。また選択部15は、各状態に対応した関数部への入力及び出力先を切り替える。
【0028】
なお選択信号は、静的コンテキストのための選択信号である静的コンテキスト選択信号と、動的コンテキストのための選択信号である動的コンテキスト選択信号を含む。
【0029】
このようにして本実施形態では、状態遷移コントローラ(FSM)である選択部15が、プロセッサエレメント1内の各状態に、静的コンテキストを対応付け、状態が進むにつれて関数部20内部のバイパススイッチ13、バイパススイッチ14及び接続設定部16の設定を切り替える。
【0030】
またプロセッサエレメント1は、4辺においてそれぞれ隣接する4つのプロセッサエレメント1に接続される。隣接する4つのプロセッサエレメント1から出力された信号は、マルチプレクサ17に入力される。マルチプレクサ17は、選択部15から出力される選択信号に応じて隣接する複数のプロセッサエレメント1からの入力の1つを選択し、選択したプロセッサエレメント1の出力を接続設定部16に入力する。
【0031】
接続設定部16は、マルチプレクサ17からの信号を、選択部15からの選択信号に基づいて1番目の処理を行う関数部の演算器に出力する。演算器の出力は同じ関数部のレジスタに出力される。なお選択部15からの選択信号によりバイパススイッチが演算器をバイパスするよう指示されていれば演算器に入力された信号は演算器をバイパスしてレジスタに出力される。
【0032】
レジスタ12の出力は接続設定部16に出力される。なお選択部15からの選択信号によりバイパススイッチがレジスタをバイパスするよう指示されていればレジスタに入力された信号はレジスタをバイパスして接続設定部16に出力される。
【0033】
接続設定部16は、選択部15の指示に基づいて1番目の処理を行う関数部の出力を次の処理を行う関数部の演算器に出力する。もし最後の処理を行う関数部のレジスタ12からの出力であれば、接続設定部16は、選択部15の指示に基づいてレジスタ12からの信号をデマルチプレクサ18に出力する。
【0034】
デマルチプレクサ18は、最後の処理を行う関数部からの出力である接続設定部からの出力を、選択部15から出力される選択信号に応じて隣接する複数のプロセッサエレメント1の1つを選択して出力する。
【0035】
この動きはDRPにおけるコンテキスト切替えと似ている。これはすなわち、本実施形態のプロセッサエレメントではアプリケーションに応じて最適なDRPを都度生成していることに相当する。
【0036】
上述の有限オートマトンに基づくストアードプログラム方式のコンピュータアーキテクチャを有するMCUでは、アプリケーションに固有のFSMはプロセッサエレメントの外に実装されているメモリ素子上に実装されている。この点で本実施形態は上記のMCUとは異なる。上記のMCUでは外付メモリ素子のアドレッシング機能によってメモリの読み書きをすることによってアプリケーションに応じたFSMをシミュレートするため、そのオーバーヘッドが余分に掛かる。本実施形態のプロセッサエレメント1は、アプリケーションに応じたFSMがプロセッサエレメント1のハードウェア上で直接動作するため、上記のMCUと比較して消費電力が改善される。
【0037】
なお
図1に示す第1の実施形態及び後述の他の実施形態の移動目標探知システムの各構成要素は、機能単位のブロックを示している。各実施形態の移動目標探知システムの各構成要素の一部又は全部は、例えば
図11に示すようなコンピュータ60とプログラムとの任意の組み合わせにより実現されてもよい。コンピュータ60は、一例として、以下のような構成を含む。
【0038】
・CPU(Central Processing Unit)61
・ROM(Read Only Memory)62
・RAM(Random Access Memory)63
・RAM63にロードされるプログラム64
・プログラム64を格納する記憶装置65
・記録媒体66の読み書きを行うドライブ装置67
・通信ネットワーク69と接続する通信インタフェース68
・データの入出力を行う入出力インタフェース70
・各構成要素を接続するバス71
各実施形態の各構成要素は、これらの機能を実現するプログラム64をCPU61が取得して実行することで実現される。例えば、
図1のプロセッサエレメント1の例では、演算器11は、プログラム64を取得したCPU61が、プログラム64に基づき関数に基づく演算処理を行うことで機能が実現されてもよい。レジスタ12は、プログラム64を取得したCPU61が、記憶装置65に上記関数の引数を記憶する記憶処理を行うことで機能が実現されてもよい。バイパススイッチ13、14はプログラム64を取得したCPU61が、プログラム64に基づき上記演算処理や上記記憶処理をバイパスすることで機能が実現されてもよい。接続設定部16は、プログラム64を取得したCPU61が、プログラム64に基づき関数を実現する演算処理や記憶処理の順序を切り替えることで機能が実現されてもよい。選択部15は、プログラム64を取得したCPU61が、プログラム64に基づき上記演算処理をバイパスするか否かの切り替え、上記記憶処理をバイパスするか否かの切り替え及び演算処理や記憶処理の順序の切り替えを行うことで機能が実現されてもよい。マルチプレクサ17は、プログラム64を取得したCPU61が、プログラム64に基づき隣接するプロセッサエレメントのいずれかの出力を選択して入力することで機能が実現されてもよい。デマルチプレクサ18は、プログラム64を取得したCPU61が、プログラム64に基づき隣接するプロセッサエレメントのいずれかを出力先として選択することで機能が実現されてもよい。
【0039】
各実施形態の各構成要素の機能を実現するプログラム64は、例えば、予め記憶装置65やROM62やRAM63に格納されており、必要に応じてCPU61が読み出すように構成されてもよい。
【0040】
なお、プログラム64は、通信ネットワーク69を介してCPU61に供給されてもよいし、予め記録媒体66に格納されており、ドライブ装置67が当該プログラムを読み出してCPU61に供給してもよい。
【0041】
次に本実施形態のプログラマブルデバイス上でのプロセッサエレメントの配置及びプロセッサエレメント間の配線について説明する。上述した一般的なMCUやFPGAやDRPには、
図11に示すように各論理ブロックがメッシュ状のデータパスによって規則的に上記のMCUやFPGA上に配置され配線されているという制約がある。このような配置及び配線は高位合成ツールが自在な配置配線を行う上での制約となる。
【0042】
図12は、
図11の詳細を示す図である。
図12に示すように上記のMCUやFPGAは、論理ブロック、配線接続スイッチ、入出力スイッチ、およびワイヤトラックから構成される。論理ブロックは可変論理であるLUT(Look−Up Table)と順序回路であるフリップフロップから構成され、配線接続スイッチは縦横の配線接続の切り替え、入出力スイッチは論理ブロックと配線の接続、およびワイヤトラックは配線接続スイッチ間の配線に用いられる。
【0043】
これに対して、本実施形態では、プロセッサエレメント間に
図12で示すようなデータパスを固定的に配置せず、プロセッサエレメント間の接続は隣接プロセッサエレメント間とする。本実施形態のプログラマブルデバイス上では、関数として表現された論理ブロックは自在に接続可能である。また本実施形態のプロセッサエレメント1は、バイパスのみの関数も定義可能とすることにより、高位合成ツールに対する制約を回避している。また本実施形態のプロセッサエレメント1は、予め汎用の演算器を用意せず、高位合成ツールにより実装時に確定することにより、演算器のビット幅も任意としている本実施形態のプロセッサエレメント1では、この構成により実装効率を高めることが可能となる。
【0044】
図2は、本実施形態のプロセッサエレメントの隣接プロセッサとの接続部分の構成の一例を示すブロック図である。プロセッサエレメント1は、
図2に示すようにプロセッサエレメント1は、隣接する4つのプロセッサエレメント1と接続するための4つの端子19を備え、4つの端子19はそれぞれマルチプレクサ17の入力端子のいずれかに接続され、またデマルチプレクサ18の出力端子のいずれかに接続されている。隣接する4つのプロセッサエレメント1から出力された信号は4つの端子19を経由してマルチプレクサ17に入力される。またデマルチプレクサ18から出力された信号は4つの端子19のいずれかを経由して対応するプロセッサエレメント1に出力される。
【0045】
図3は、本実施形態のプロセッサエレメントの接続切り替え機能の概要を示す図である。本実施形態のプロセッサエレメント1は、デマルチプレクサ18の出力を切り替えることにより、
図3に示すようにプロセッサエレメント1の出力を、入力として選択した隣接するプロセッサエレメント以外のプロセッサエレメントのうちのどれにするかを選択することができる。なお
図3に示していないが、本実施形態のプロセッサエレメント1は、
図1のマルチプレクサ17を切り替えることで、プロセッサエレメント1の入力を、隣接するプロセッサエレメントの出力のうちどれにするか選択することができる。さらに本実施系他のプロセッサエレメント1は、プロセッサエレメント1内のバイパススイッチ13a、13b、13n及び14a、14b、14nを切り替えることで、演算器11a、11b、11n及びレジスタ12a、12b、12nをバイパスするか選択することができる。
【0046】
これらにより、通常のFPGA等に用いられている配置配線スイッチ(Switch Block)、入出力スイッチ(Connection Block)、およびワイヤトラックが不要となり、プログラマブルデバイスのチップ全面を演算リソースで埋め尽くすことも可能となる。
【0047】
図4は、プロセッサエレメントを接続して構成されたプログラマブルデバイスの構成の例を示す図である。プログラマブルデバイス100には、
図4に示すようにプロセッサエレメントが複数、隣接させて配置される。またプログラマブルデバイス100上では、隣接していないプロセッサエレメント同士は直接には接続せず、隣接するプロセッサエレメント同士を接続させる。このような配置としても上述のように本実施形態のプロセッサエレメント1は、デマルチプレクサ18の出力を切り替えることにより、
図3に示すようにプロセッサエレメント1の出力を、入力として選択した隣接するプロセッサエレメント以外のプロセッサエレメントのうちのどれにするかを選択することができる。さらにプロセッサエレメント1内のバイパススイッチ13a、13b、13n及び14a、14b、14nを切り替えることで、プロセッサエレメント1は、演算器11a、11b、11n及びレジスタ12a、12b、12nをバイパスするか選択することができる。このような構成により、プロセッサエレメント1の関数部20と選択部15と接続設定部16から構成される複数の論理ブロックを離れたプロセッサエレメント上の論理ブロックと自在に接続してプログラマブルデバイス100を構成することが可能である。また
図5は、
図4のプログラマブルデバイス100を接続して構成されたプログラマブルデバイス110の構成の例を示す図である。
図5に示すように、
図4のプログラマブルデバイス100間の接続は隣接するプログラマブルデバイス間のみとしてもよい。
【0048】
図6は、本実施形態の接続設定部の構成の一例を示すブロック図である。
図6に示すように、接続設定部16は、演算器11a、11b、11cに入力する信号を選択するマルチプレクサ161a、161b、161cと、レジスタ12a、12b、12cからの信号の出力先を選択するデマルチプレクサ162a、162b、162cを備えている。また接続設定部16は、接続設定部16に入力された信号を選択するデマルチプレクサ163と、接続設定部16から出力する信号の出力先を選択するマルチプレクサ164を備えている。これらには選択部15から出力される選択信号が入力される。
【0049】
デマルチプレクサ163の出力には、演算器11a、11b、11cに接続されているマルチプレクサ161a、161b、161cが接続されている。デマルチプレクサ163は、選択部15からの選択信号に基づいてマルチプレクサ161a、161b、161cのいずれかを選択し、接続設定部16に入力された信号を出力する。
【0050】
マルチプレクサ161a、161b、161cへの入力には、接続されている演算器の関数部以外の、他の関数部のレジスタに接続されるデマルチプレクサと、デマルチプレクサ163が接続されている。マルチプレクサ161a、161b、161cは、選択部15からの選択信号に基づいて、他の関数部のレジスタに接続されるデマルチプレクサ及びデマルチプレクサ163からの信号から、接続されている演算器に入力する信号を選択する。
【0051】
デマルチプレクサ162a、162b、162cからの出力には、接続されているレジスタの関数部以外の、他の関数部の演算器に接続されたマルチプレクサと、マルチプレクサ164が接続されている。デマルチプレクサ162a、162b、162cは選択部15からの選択信号に基づいて、他の関数部の演算器に接続されたマルチプレクサ及びマルチプレクサ164のいずれかを選択し、接続されているレジスタからの信号を出力する。
【0052】
またマルチプレクサ164の入力には、レジスタ12a、12b、12cに接続されているデマルチプレクサ162a、162b、162cが接続されている。マルチプレクサ164は、選択部15からの選択信号に基づいて、デマルチプレクサ162a、162b、162cのいずれかから入力された信号を選択して接続設定部16から出力する。
【0053】
例えば、
図6に示す静的コンテキスト10aを実現する場合、デマルチプレクサ163は、選択部15からの選択信号に基づいて接続設定部16に入力された信号の出力先としてマルチプレクサ161aを選択し、マルチプレクサ161aは、選択部15からの選択信号に基づいて、デマルチプレクサ163からの信号を選択する。そしてデマルチプレクサ162aは選択部15からの選択信号に基づいて、接続されているレジスタ12aからの信号の出力先としてマルチプレクサ164を選択し、マルチプレクサ164は、選択部15からの選択信号に基づいて、デマルチプレクサ162aからの信号を選択して接続設定部16から出力する。
【0054】
また例えば、
図6に示す静的コンテキスト10bを実現する場合、デマルチプレクサ163は、選択部15からの選択信号に基づいて接続設定部16に入力された信号の出力先としてマルチプレクサ161bを選択し、マルチプレクサ161bは、選択部15からの選択信号に基づいてデマルチプレクサ163からの信号を選択する。そしてデマルチプレクサ162bは、選択部15からの選択信号に基づいて、接続されているレジスタ12bからの信号の出力先としてマルチプレクサ161cを選択し、マルチプレクサ161cは、選択部15からの選択信号に基づいて、接続される演算器11cに入力する信号としてデマルチプレクサ162bからの信号を選択する。そしてデマルチプレクサ162cは選択部15からの選択信号に基づいて、接続されているレジスタ12cからの信号の出力先としてマルチプレクサ164を選択し、マルチプレクサ164は、選択部15からの選択信号に基づいて、デマルチプレクサ162cからの信号を選択して接続設定部16から出力する。
【0055】
また例えば、
図6に示す静的コンテキスト10cを実現する場合、デマルチプレクサ163は、選択部15からの選択信号に基づいて接続設定部16に入力された信号の出力先としてマルチプレクサ161aを選択する。マルチプレクサ161aは、選択部15からの選択信号に基づいて接続される演算器11aに入力する信号としてデマルチプレクサ163からの信号を選択する。そしてデマルチプレクサ162aは、選択部15からの選択信号に基づいて、接続されているレジスタ12aからの信号の出力先としてマルチプレクサ161bを選択する。マルチプレクサ161bは、選択部15からの選択信号に基づいて、接続される演算器11bに入力する信号としてデマルチプレクサ162aからの信号を選択する。そしてデマルチプレクサ162bは選択部15からの選択信号に基づいて、接続されているレジスタ12bからの信号の出力先としてマルチプレクサ164を選択する。マルチプレクサ164は、選択部15からの選択信号に基づいて、デマルチプレクサ162bからの信号を選択して接続設定部16から出力する。
【0056】
このように本実施形態によれば、選択部15からの選択信号に基づいて、接続設定部16に入力された信号を少なくとも1つの関数部の演算器に出力して、必要な関数部を任意の順番で接続し、最後の関数部のレジスタからの出力を接続設定部16から出力することが可能となる。また演算器11a、11b、11cは静的コンテキスト間で共有することができる。
【0057】
以上説明したように、本実施形態の構成によれば、プログラマブルデバイスにおいて論理ブロックの配置や配線の制約が少なく、集積度の向上が可能となる。
【0058】
次に第2の実施形態について説明する。本実施形態は本発明をFPGAに適用した場合の実施形態である。
図7は、第2の実施形態のプロセッサエレメントの構成を示すブロック図である。
図7に示すように、本実施形態のプロセッサエレメント2は、ルックアップテーブル(LUT:Look−Up Table)21を備え、LUT21に第1の実施形態と同様な演算器11、レジスタ12、バイパススイッチ13,14、接続設定部16が実装されている。またプロセッサエレメント2は、第1の実施形態と同様に、隣接するプロセッサエレメント1に接続されるマルチプレクサ17及びデマルチプレクサ18を備えている。
【0059】
本実施形態のプロセッサエレメント2は、LUT21をバイパスする線路22を有し、その線路22とLUT21の出力を選択するマルチプレクサ23を備える。さらに、プロセッサエレメント2は、クロック及びマルチプレクサ23の出力が入力されるフリップフロップ24と、フリップフロップ24をバイパスする線路25を有し、その線路25とフリップフロップ24の出力を選択するマルチプレクサ26を備えている。またLUT21には、マルチプレクサ17、23、26及びデマルチプレクサ18と、関数部20a、20b、20nの演算器及びレジスタのバイパススイッチ、接続設定部16の選択を行う選択部211が備えられている。
【0060】
本実施形態の構成によれば、FPGAであるプロセッサエレメントにおいて第1の実施形態と同様の効果が得られる。
【0061】
次に第3の実施形態について説明する。
図8は第3の実施形態のプロセッサエレメントの構成を示す図である。
図8に示すように、本実施形態のプロセッサエレメント3は、第2の実施形態に加え、高位合成により生成されるALU31及びレジスタ32をさらに備えている。ALU31は、マルチプレクサ17の出力が分岐されて入力され、ALU31の出力がマルチプレクサ33に接続される。マルチプレクサ33には、LUT34の出力と、LUT34をバイパスする線路22と、ALU31の出力が接続される。マルチプレクサ33は、LUT34の選択部341からの指示に基づいて、これらのいずれかを選択してフリップフロップ24及びマルチプレクサ26に出力する。
【0062】
本実施形態の構成によれば、FPGAとALUを混載したプロセッサエレメントにおいて第1の実施形態と同様の効果が得られる。
【0063】
次に第4の実施形態について説明する。
図9は第4の実施形態のプロセッサエレメントの構成を示す図である。
図9に示すように、本実施形態のプロセッサエレメント4は、第2の実施形態に加え、DRPのPEマトリックス41及びコンフィグレーションメモリ42をさらに備えている。PEマトリックス41は、マルチプレクサ17の出力が分岐されて入力され、PEマトリックス41の出力がマルチプレクサ43に接続される。マルチプレクサ43には、LUT44の出力と、LUT44をバイパスする線路22と、PEマトリックス41の出力が接続される。マルチプレクサ43は、LUT44の選択部441からの指示に基づいて、これらのいずれかを選択してフリップフロップ24及びマルチプレクサ26に出力する。
【0064】
本実施形態の構成によれば、FPGAとDRPを混載したプロセッサエレメントにおいて第1の実施形態と同様の効果が得られる。
【0065】
次に第5の実施形態について説明する。
図10は第5の実施形態のプロセッサエレメントの構成を示す図である。
図10に示すように、本実施形態のプロセッサエレメント5は、第2の実施形態に加え、GPGPUのストリーミングマイクロプロセッサ51及びエグゼキューションキュー52をさらに備えている。ストリーミングマイクロプロセッサ51は、マルチプレクサ17の出力が分岐されて入力され、ストリーミングマイクロプロセッサ51の出力がマルチプレクサ53に接続される。マルチプレクサ53には、LUT54の出力と、LUT54をバイパスする線路22と、ストリーミングマイクロプロセッサ51の出力が接続される。マルチプレクサ53は、LUT54の選択部541からの指示に基づいて、これらのいずれかを選択してフリップフロップ24及びマルチプレクサ26に出力する。
【0066】
本実施形態の構成によれば、FPGAとGPGPUを混載したプロセッサエレメントにおいて第1の実施形態と同様の効果が得られる。
【0067】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。