説明

データ処理装置

【課題】再構成可能な論理回路を使用する場合に、CPUによる再構成可能な論理回路の再構成指示操作を不要とし、処理の高速化を図ることができるようにしたデータ処理装置を提供する。
【解決手段】回路情報源14は、システム・バス11上を流れる命令を監視することによりCPU10が読み込む命令を監視し、CPU10が特殊命令を読み込むと、この特殊命令については再構成可能な論理回路15による処理を待つことをCPU10に通知し、また、この特殊命令に対応する回路構成情報を再構成可能な論理回路15に与える。その後、回路情報源14は、再構成可能な論理回路15から処理終了通知を受けると、CPU10に対して、再構成可能な論理回路15による特殊命令処理の待ち状態を解除する指示を与える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理の高速化を図るために再構成可能な論理回路を備えるデータ処理装置に関する。
【背景技術】
【0002】
データ処理装置の高速化を図る手法として、再構成可能な論理回路を実装し、CPUでは時間のかかる処理を再構成可能な論理回路上に展開する手法が提案されている。図6は再構成可能な論理回路を実装する従来のデータ処理装置の一例を示すブロック回路図である(特許文献1参照)。図6中、1はCPU(central processing unit)、2はCPU1が使用する第1のメモリ、3はデータ処理の高速化を図るために実装された再構成可能ロジックブロックであり、再構成可能ロジックブロック3は、再構成可能ロジック回路4と、再構成情報用メモリ5と、制御部6を備えている。
【0003】
再構成可能ロジック回路4は、FPGA(field programmable gate array)のように、外部から与えられる再構成情報に基づいて回路構成を変更可能とされたものである。再構成情報用メモリ5は、再構成可能ロジック回路4の回路構成を決める再構成情報を保持するものであり、再構成情報は、再構成可能ロジック回路4の内部構成の種類毎に固有の識別番号が付与された状態で保持される。制御部6は、CPU1の指示に従い、再構成情報用メモリ5が保持する再構成情報を用いて再構成可能ロジック回路4の回路構成を変更するものである。また、7は再構成可能ロジック回路4が使用する第2のメモリ、8はCPU1及び再構成可能ロジック回路4が共有する第3のメモリである。
【0004】
このデータ処理装置においては、CPU1は、再構成可能ロジック回路4を使用する命令を読み込むと、制御部6に対して再構成可能ロジック回路4の再構成のための識別情報を含む再構成指示信号を与える。制御部6は、CPU1から再構成指示信号を与えられると、再構成指示信号に含まれる識別情報に応じた再構成情報を再構成情報用メモリ5から読み出して再構成可能ロジック回路4の再構成を行い、再構成が終了すると、CPU1に再構成終了を通知する。
【0005】
CPU1は、制御部6から再構成終了通知を受けると、データ処理を中断して処理途中のデータを第1のメモリ2から第3のメモリ8に転送し、制御部6にデータ処理の開始を指示する。その後、再構成可能ロジック回路4は、第2のメモリ7及び第3のメモリ8を用いてデータ処理を行い、データ処理が完了すると、データ処理結果を第3のメモリ8に格納し、制御部6を介してCPU1に処理の終了を通知する。そして、CPU1は第3のメモリ8内のデータを用いて処理を続行する。
【0006】
このように、このデータ処理装置は、CPU1が再構成可能ロジック回路4を使用する命令を読み込むと、CPU1が制御部6に再構成ロジック回路4の再構成を指示し、制御部6が再構成情報用メモリ5から読み出した再構成情報に従って再構成可能ロジック回路4を再構成し、その後、CPU1に代わって再構成可能ロジック回路4が第2のメモリ7及び第3のメモリ8を用いて処理を行い、処理の高速化を図るというものである。
【特許文献1】特開2003−208305号公報
【特許文献2】特表2003−524969号公報
【特許文献3】特開平11−3209号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、図6に示す従来のデータ処理装置では、CPU1が再構成可能ロジック回路4を使用する命令を読み込むと、CPU1による制御部6に対する再構成ロジック回路4の再構成指示という操作が必要であり、その分、処理が遅れてしまうという問題点があった。
【0008】
本発明は、かかる点に鑑み、再構成可能な論理回路を使用する場合に、CPUによる再構成可能な論理回路の再構成指示操作を不要とし、処理の高速化を図ることができるようにしたデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明のデータ処理装置は、CPUと、再構成可能な論理回路と、前記CPU及び前記再構成可能な論理回路からアクセス可能な記憶領域と、前記CPUが読み込む命令を監視し、前記CPUが前記再構成可能な論理回路を使用する所定命令を読み込むと、前記所定命令については前記再構成可能な論理回路による処理を待つことを前記CPUに指示し、前記所定命令に対応する回路構成情報を前記再構成可能な論理回路に与える所定回路を備えるものである。
【発明の効果】
【0010】
本発明によれば、前記所定回路は、前記CPUが読み込む命令を監視し、前記CPUが前記再構成可能な論理回路を使用する所定命令を読み込むと、前記所定命令については前記再構成可能な論理回路による処理を待つことを前記CPUに通知し、前記所定命令に対応する回路構成情報を前記再構成可能な論理回路に与えるので、前記再構成可能な論理回路を使用する場合に、前記CPUによる前記再構成可能な論理回路の再構成指示操作を必要とせず、処理の高速化を図ることができる。
【発明を実施するための最良の形態】
【0011】
図1は本発明の一実施形態の要部を示すブロック回路図である。本発明の一実施形態は、CPU10と、CPU10によって管理されるシステム・バス11と、プログラムを記憶するプログラム記憶手段12と、メモリ部13と、回路情報源14を備えている。
【0012】
メモリ部13は、FPGAのように、外部から与えられる回路構成情報に基づいて回路構成を変更可能とされた再構成可能な論理回路15と、システム・バス11及び再構成可能な論理回路15の双方からアクセス可能とされた記憶領域16を備えている。
【0013】
回路情報源14は、再構成可能な論理回路15の回路構成情報を記憶する回路構成情報記憶手段17と、システム・バス11上を流れる命令を監視し、再構成可能な論理回路15を使用する命令(以下、特殊命令という)を検出した場合に、CPU10に対して特殊命令については再構成可能な論理回路15による処理を待つことの指示や、回路構成情報選択信号の回路構成情報記憶手段17への出力等を行う制御部18を備えている。
【0014】
なお、本発明の一実施形態は、CPU10、システム・バス11、プログラム記憶手段12、メモリ部13及び回路情報源14の全てを含めて1チップ構成とすることもできるし、CPU10、プログラム記憶手段12、メモリ部13及び回路情報源14をそれぞれ1チップとして構成することもできる。
【0015】
図2は再構成可能な論理回路15による処理開始までの動作の流れを説明するためのブロック回路図である。本発明の一実施形態では、CPU10は、読み込んだ特殊命令を無視し、読み込んだ特殊命令については再構成可能な論理回路15による処理を待つことを制御部18から指示されるまでは、システム・バス11を介してプログラム記憶手段12から命令を読み込んで実行し、必要に応じてシステム・バス11を介して記憶領域16を使用する。
【0016】
また、制御部18は、システム・バス11上を流れる命令を監視し、特殊命令を検出すると、即ち、CPU10による特殊命令の読み込みを検出すると(P1)、CPU10に対して、その特殊命令を無視し、その特殊命令については再構成可能な論理回路15による処理を待つことを指示する(P2)。
【0017】
この指示によって、CPU10による特殊命令を処理するための記憶領域16へのアクセスを禁止する制御が行われ、CPU10による特殊命令実行による異常動作が抑止される。なお、CPU10が記憶領域16内のデータ処理中に特殊命令を検出した場合には、CPU10のプログラム記憶手段12からの命令読み込み動作が一時停止される。
【0018】
更に、制御部18は、検出した特殊命令を処理するために必要な再構成可能な論理回路15の回路構成の情報を回路構成情報記憶手段17から選択するための回路構成情報選択信号を生成して回路構成情報記憶手段17に渡す(P3)。
【0019】
回路構成情報記憶手段17は、制御部18から渡された回路構成情報選択信号に対応する回路構成情報を再構成可能な論理回路15に渡し(P4)、再構成可能な論理回路15は、回路構成情報記憶手段17から渡された回路構成情報に基づいて回路の再構成を行い、その動作を有効化し、記憶領域16へのアクセス権をCPU10に代わって確保する。
【0020】
図3は再構成可能な論理回路15の動作例を説明するためのブロック回路図である。再構成された再構成可能な論理回路15は、目的とする処理を行うが、データ転送に際しては、記憶領域16内の転送元20からのデータを読み込んで(Q1)、再構成可能な論理回路15内で演算などの処理を施して記憶領域16内の転送先21に書き込む(Q2)ような動作を行うことも可能に構成される。
【0021】
図4は再構成可能な論理回路15による処理終了後の動作の流れを説明するためのブロック回路図である。再構成可能な論理回路15は、目的とする処理が終了すると、記憶領域16へのアクセス権をCPU10に返還し(W1)、また、処理の終了を制御部18に通知する(W2)。
【0022】
制御部18は、再構成可能な論理回路15から処理終了通知を受けると、CPU10に対して、再構成可能な論理回路15による特殊命令処理の待ち状態を解除する指示を与え(W3)、CPU10による記憶領域16へのアクセス禁止を解除し、CPU10は通常の動作を再開する(W4)。なお、CPU10は、命令実行順序の制約を受けない限り、再構成可能な論理回路15が処理実行中に、記憶領域16以外の図示しない領域を使用して動作を継続することができる。
【0023】
図5はメモリ部13の構成例を示すブロック回路図である。本例では、メモリ部13は、再構成可能な論理回路15及び記憶領域16のほかに、記憶領域16へのアクセス権を調停する調停手段30を備えている。
【0024】
再構成可能な論理回路15は、制御信号生成手段31、アドレス生成手段32、レジスタ群33、ALU部34、動作順序制御手段35及び回路構成変更手段36を固定的に備えており、制御信号生成手段31、アドレス生成手段32、レジスタ群33、ALU部34及び動作順序制御手段35は、回路構成変更手段36からの回路構成設定信号S1により回路構成変更が可能とされている。また、回路構成変更手段36は、回路構成情報保持レジスタ群37を有している。
【0025】
調停手段30は、動作順序制御手段35が出力する調停制御信号S2により選択動作が制御されるセレクタ38、39、40を備えている。セレクタ38は、CPU10が出力するシステム・バス11上のメモリ制御信号(リード/ライト信号など)又は制御信号生成手段31が出力するメモリ制御信号(リード/ライト信号など)を選択して記憶領域16に与えるものである。
【0026】
セレクタ39は、CPU10が出力するシステム・バス11上のアドレス値又はアドレス生成手段32が出力するアドレス値を選択して記憶領域16に与えるものである。セレクタ40は、CPU10が出力するシステム・バス上11上のデータ又はレジスタ群33が出力するデータを選択して記憶領域16に与えるものである。
【0027】
本発明の一実施形態では、制御部18は、システム・バス11上を流れる命令を監視して特殊命令を検出すると、検出した特殊命令に応じた回路構成情報選択信号を生成して回路構成情報記憶手段17に渡し、回路構成情報記憶手段17は、制御部18から渡された回路構成情報選択信号に対応した回路構成情報を回路構成変更手段36に渡し、回路構成情報保持レジスタ群37に回路構成情報が設定される。
【0028】
回路構成情報保持レジスタ群37に回路構成情報が設定されると、回路構成変更手段36は、回路構成設定信号S1を制御信号生成手段31、アドレス生成手段32、レジスタ群33、ALU部34及び動作順序制御手段35に渡し、制御信号生成手段31、アドレス生成手段32、レジスタ群33、ALU部34及び動作順序制御手段35の回路構成の設定が行われる。この回路構成設定信号S1は、再構成可能な論理回路15の回路構成が変更されない限り保持される。
【0029】
そして、制御信号生成手段31、アドレス生成手段32、レジスタ群33、ALU部34及び動作順序制御手段35の回路構成の設定が完了すると、回路構成変更手段36は、制御信号S3を介して動作順序制御手段35の動作を有効とする。
【0030】
動作順序制御手段35内では、回路構成設定信号S1を受けて、「状態遷移条件」、「状態に応じたメモリ制御信号」、「状態に応じたアドレス制御信号」、「状態に応じた演算元レジスタ選択」、「状態に応じた演算結果収納レジスタ選択」、「状態に応じたレジスタ制御信号」、「状態に応じた演算選択」の参照テーブルが設定される。
【0031】
動作順序制御手段35は、調停制御信号S2を調停手段30に出力してセレクタ38〜40の選択動作を制御するが、回路構成変更手段36から制御信号S3が渡されると、調停制御信号S2をアサートし、再構成可能な論理回路15が記憶手段16へのアクセス権を取得するようにセレクタ38〜40の接続を切り換え、再構成可能な論理回路15が目的とする動作を終了すると、調停制御信号S2をネゲートし、CPU10が記憶手段16へのアクセス権を取得するようにセレクタ38〜40の接続を切り換える。
【0032】
また、調停制御信号S2は、調停手段30に渡されると同時に、制御部18に対しても「再構成可能な論理回路15による処理中を示す信号」として渡されるが、調停制御信号S2がアサートされている期間は、制御部18は、CPU10の再構成可能な論理回路15による特殊命令処理の待ち状態を解除しないものとする。なお、動作順序制御手段35は、調停制御信号S2をアサートした後に状態遷移動作を開始するが、状態遷移先の一つに「処理終了状態」を設け、この状態に入ると調停制御信号S2をネゲートする。
【0033】
また、動作順序制御手段35は、記憶領域16の制御のための動作情報を制御信号生成手段31に与える機能を有し、記憶領域16への具体的なメモリ制御信号は制御信号生成手段31で生成される。即ち、制御信号生成手段31は、動作順序制御手段35より受けたメモリ制御信号を記憶領域16に適したメモリ制御信号に変換する機能を有する。例えば、記憶領域16がDRAM系のものである場合には、その管理に必要なメモリ制御信号も制御信号生成手段31で生成される。
【0034】
また、動作順序制御手段35は、アドレス生成手段32から出力するアドレス値を制御する機能を有し、記憶領域16へのアドレス値はアドレス生成手段32で生成される。即ち、アドレス生成手段32は、動作順序制御手段35よりアドレス更新のための制御を受け、それに応じてレジスタ群33よりアドレス値を取り込み、記憶領域16へ向けて出力する機能を有するものである。アドレス値の指定を複数サイクルに分けて行う場合には、それに必要な制御信号を動作順序制御手段35より受け取るものとする。
【0035】
また、動作順序制御手段35は、アドレス値のレジスタを指定する機能と、演算元レジスタを指定する機能と、演算結果レジスタを指定する機能を有し、状態遷移時の条件として、動作中にレジスタ群33よりレジスタ値を参照することができるものとする。レジスタ群33は、動作順序制御手段35からの制御に従って、記憶領域16より受けたデータを「演算元レジスタ」に収納し、ALU部34へ向けて出力する機能を有する。
【0036】
なお、レジスタ群33には、回路構成設定時以外には変更されない固定値も存在し、レジスタ群33は、これを保持する機能も有する。また、データ又はアドレスの演算において、この固定値をレジスタと同様に読み出すことはできるが、書き込みはできないものとする。また、レジスタ群33は、動作順序制御手段35からのレジスタ値参照に応じて、必要なレジスタを選択して値を動作順序制御手段35へ向けて出力する機能も有するものとする。
【0037】
また、動作順序制御手段35は、演算種類を指定する機能を有する。ALU部34による演算結果は、レジスタ群33内の演算結果収納レジスタに書き込まれ、記憶領域16へ向けて出力される。一度メモリから読み込んだデータに対して複数の演算を行う際には、動作順序制御手段35内のシーケンスに従い、制御信号生成手段31に対して「記憶領域16へのデータ書き込み」制御が発生しないものとする。レジスタ間でデータを転送するだけの場合には、ALU部34を介さない。アドレス値もレジスタの一部に保持し、動作順序制御手段35からの制御に従ってレジスタを選択して、アドレス生成手段32へ向けてアドレス値を出力できるものとする。
【0038】
ALU部34は、動作順序制御手段35からの制御に従って演算種類を選択し、レジスタ群33より受け取ったデータに演算を行って、演算結果をレジスタ群33へ向けて出力する機能を有するものとされる。
【0039】
このように構成された再構成可能な論理回路15では、動作順序制御手段35は、目的とする処理の順序をたどって状態遷移しながら、制御信号生成手段31、アドレス生成手段32及びレジスタ群33を制御し、記憶領域16からデータを読み出してレジスタ群33に取り込む。
【0040】
その後、データの演算処理が行われる場合には、動作順序制御手段35の制御に従って、レジスタ群33内のデータがALU部34に渡されて演算処理が実行され、演算結果がレジスタ群33内の所定位置に転送される。演算元及び演算結果の収容先となるレジスタは、動作順序制御手段35によって指定される。
【0041】
演算結果が記憶領域16に収納される場合には、動作順序制御手段35によって制御信号生成手段31、アドレス生成手段32及びレジスタ群33が制御され、記憶領域16にデータが書き込まれる。動作順序制御手段35は、実行すべきデータ処理操作が終わるまでこの動作を繰り返し、遷移する状態の中に存在する終了状態をもって機能を停止する。
【0042】
そして、動作順序制御手段35は、データ処理を終了する状態に遷移すると、調停制御信号S2によって調停手段30を切り替えて、システム・バス11を記憶領域16と接続すると同時に、回路情報源14内の制御部18に対して信号S4により終了を通知する。制御部18は、信号S4を受けてデータ処理の終了を検出し、CPU10に対してデータ処理待ちの状態の解除を通知する。その後、CPU10は、記憶領域16へのアクセスが可能となる。
【0043】
以上のように、本発明の一実施形態によれば、回路情報源14は、システム・バス11上を流れる命令を監視することによりCPU10が読み込む命令を監視し、CPU10が特殊命令を読み込むと、この特殊命令については再構成可能な論理回路15による処理を待つことをCPU10に通知し、また、この特殊命令に対応する回路構成情報を再構成可能な論理回路15に与えるとしているので、再構成可能な論理回路15を使用する場合に、CPU10による再構成可能な論理回路15の再構成指示操作を必要とせず、処理の高速化を図ることができる。
【図面の簡単な説明】
【0044】
【図1】本発明の一実施形態の要部を示すブロック回路図である。
【図2】本発明の一実施形態が備えるメモリ部内の再構成可能な論理回路による処理開始までの動作の流れを説明するためのブロック回路図である。
【図3】本発明の一実施形態が備えるメモリ部内の再構成可能な論理回路の動作例を説明するためのブロック回路図である。
【図4】本発明の一実施形態が備えるメモリ部内の再構成可能な論理回路による処理終了後の動作の流れを説明するためのブロック回路図である。
【図5】本発明の一実施形態が備えるメモリ部の構成例を示すブロック回路図である。
【図6】再構成可能な論理回路を実装する従来のデータ処理装置の一例を示すブロック回路図である
【符号の説明】
【0045】
1…CPU
2…第1のメモリ
3…再構成可能ロジックブロック
4…再構成可能ロジック回路
5…再構成情報用メモリ
6…制御部
7…第2のメモリ
8…第3のメモリ
10…CPU
11…システム・バス
12…プログラム記憶手段
13…メモリ部
14…回路情報源
15…再構成可能な論理回路
16…記憶領域
17…回路構成情報記憶手段
18…制御部
20…転送元
21…転送先
30…調停手段
31…制御信号生成手段
32…アドレス生成手段
33…レジスタ群
34…ALU部
35…動作順序制御手段
36…回路構成変更手段
37…回路構成情報保持レジスタ群
38〜40…セレクタ


【特許請求の範囲】
【請求項1】
CPUと、
再構成可能な論理回路と、
前記CPU及び前記再構成可能な論理回路からアクセス可能な記憶領域と、
前記CPUが読み込む命令を監視し、前記CPUが前記再構成可能な論理回路を使用する所定命令を読み込むと、前記所定命令については前記再構成可能な論理回路による処理を待つことを前記CPUに指示し、前記所定命令に対応する回路構成情報を前記再構成可能な論理回路に与える所定回路を備えることを特徴とするデータ処理装置。
【請求項2】
前記所定回路は、前記所定命令に対応する回路構成情報を記憶する回路構成情報記憶手段と、前記CPUによって管理されるシステム・バス上を流れる命令を監視し、前記CPUによる前記所定命令の読み込みを検出する制御部を有することを特徴とする請求項1記載のデータ処理装置。
【請求項3】
前記再構成可能な論理回路は、前記所定回路から与えられた回路構成情報に基づき回路を構成したときは、前記記憶領域へのアクセス権を確保する制御を行い、その後、前記所定命令の処理を終了したときは、前記記憶領域へのアクセス権を前記CPUに返還する制御を行い、前記所定命令の処理が終了したことを前記所定回路に通知するように回路構成されることを特徴とする請求項1又は2記載のデータ処理装置。
【請求項4】
前記所定回路は、前記再構成可能な論理回路から前記所定命令の処理が終了したことを通知されたときは、前記CPUの前記再構成可能な論理回路による前記所定命令の処理待ちの状態を解除することを特徴とする請求項3記載のデータ処理装置。
【請求項5】
第1の外部装置から回路構成情報が与えられる再構成可能な論理回路と、
第2の外部装置及び前記再構成可能な論理回路からアクセス可能な記憶領域を有することを特徴とする半導体集積回路装置。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate