(57)【要約】【課題】再構成可能な論理回路を使用する場合に、ＣＰＵによる再構成可能な論理回路の再構成指示操作を不要とし、処理の高速化を図ることができるようにしたデータ処理装置を提供する。【解決手段】回路情報源１４は、システム・バス１１上を流れる命令を監視することによりＣＰＵ１０が読み込む命令を監視し、ＣＰＵ１０が特殊命令を読み込むと、この特殊命令については再構成可能な論理回路１５による処理を待つことをＣＰＵ１０に通知し、また、この特殊命令に対応する回路構成情報を再構成可能な論理回路１５に与える。その後、回路情報源１４は、再構成可能な論理回路１５から処理終了通知を受けると、ＣＰＵ１０に対して、再構成可能な論理回路１５による特殊命令処理の待ち状態を解除する指示を与える。【選択図】図１
2007213185.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、
再構成可能な論理回路と、
前記ＣＰＵ及び前記再構成可能な論理回路からアクセス可能な記憶領域と、
前記ＣＰＵが読み込む命令を監視し、前記ＣＰＵが前記再構成可能な論理回路を使用する所定命令を読み込むと、前記所定命令については前記再構成可能な論理回路による処理を待つことを前記ＣＰＵに指示し、前記所定命令に対応する回路構成情報を前記再構成可能な論理回路に与える所定回路を備えることを特徴とするデータ処理装置。
【請求項２】
前記所定回路は、前記所定命令に対応する回路構成情報を記憶する回路構成情報記憶手段と、前記ＣＰＵによって管理されるシステム・バス上を流れる命令を監視し、前記ＣＰＵによる前記所定命令の読み込みを検出する制御部を有することを特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記再構成可能な論理回路は、前記所定回路から与えられた回路構成情報に基づき回路を構成したときは、前記記憶領域へのアクセス権を確保する制御を行い、その後、前記所定命令の処理を終了したときは、前記記憶領域へのアクセス権を前記ＣＰＵに返還する制御を行い、前記所定命令の処理が終了したことを前記所定回路に通知するように回路構成されることを特徴とする請求項１又は２記載のデータ処理装置。
【請求項４】
前記所定回路は、前記再構成可能な論理回路から前記所定命令の処理が終了したことを通知されたときは、前記ＣＰＵの前記再構成可能な論理回路による前記所定命令の処理待ちの状態を解除することを特徴とする請求項３記載のデータ処理装置。
【請求項５】
第１の外部装置から回路構成情報が与えられる再構成可能な論理回路と、
第２の外部装置及び前記再構成可能な論理回路からアクセス可能な記憶領域を有することを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理の高速化を図るために再構成可能な論理回路を備えるデータ処理装置に関する。
【背景技術】
【０００２】
データ処理装置の高速化を図る手法として、再構成可能な論理回路を実装し、ＣＰＵでは時間のかかる処理を再構成可能な論理回路上に展開する手法が提案されている。図６は再構成可能な論理回路を実装する従来のデータ処理装置の一例を示すブロック回路図である（特許文献１参照）。図６中、１はＣＰＵ（central processing unit）、２はＣＰＵ１が使用する第１のメモリ、３はデータ処理の高速化を図るために実装された再構成可能ロジックブロックであり、再構成可能ロジックブロック３は、再構成可能ロジック回路４と、再構成情報用メモリ５と、制御部６を備えている。
【０００３】
再構成可能ロジック回路４は、ＦＰＧＡ（field programmable gate array）のように、外部から与えられる再構成情報に基づいて回路構成を変更可能とされたものである。再構成情報用メモリ５は、再構成可能ロジック回路４の回路構成を決める再構成情報を保持するものであり、再構成情報は、再構成可能ロジック回路４の内部構成の種類毎に固有の識別番号が付与された状態で保持される。制御部６は、ＣＰＵ１の指示に従い、再構成情報用メモリ５が保持する再構成情報を用いて再構成可能ロジック回路４の回路構成を変更するものである。また、７は再構成可能ロジック回路４が使用する第２のメモリ、８はＣＰＵ１及び再構成可能ロジック回路４が共有する第３のメモリである。
【０００４】
このデータ処理装置においては、ＣＰＵ１は、再構成可能ロジック回路４を使用する命令を読み込むと、制御部６に対して再構成可能ロジック回路４の再構成のための識別情報を含む再構成指示信号を与える。制御部６は、ＣＰＵ１から再構成指示信号を与えられると、再構成指示信号に含まれる識別情報に応じた再構成情報を再構成情報用メモリ５から読み出して再構成可能ロジック回路４の再構成を行い、再構成が終了すると、ＣＰＵ１に再構成終了を通知する。
【０００５】
ＣＰＵ１は、制御部６から再構成終了通知を受けると、データ処理を中断して処理途中のデータを第１のメモリ２から第３のメモリ８に転送し、制御部６にデータ処理の開始を指示する。その後、再構成可能ロジック回路４は、第２のメモリ７及び第３のメモリ８を用いてデータ処理を行い、データ処理が完了すると、データ処理結果を第３のメモリ８に格納し、制御部６を介してＣＰＵ１に処理の終了を通知する。そして、ＣＰＵ１は第３のメモリ８内のデータを用いて処理を続行する。
【０００６】
このように、このデータ処理装置は、ＣＰＵ１が再構成可能ロジック回路４を使用する命令を読み込むと、ＣＰＵ１が制御部６に再構成ロジック回路４の再構成を指示し、制御部６が再構成情報用メモリ５から読み出した再構成情報に従って再構成可能ロジック回路４を再構成し、その後、ＣＰＵ１に代わって再構成可能ロジック回路４が第２のメモリ７及び第３のメモリ８を用いて処理を行い、処理の高速化を図るというものである。
【特許文献１】特開２００３−２０８３０５号公報
【特許文献２】特表２００３−５２４９６９号公報
【特許文献３】特開平１１−３２０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、図６に示す従来のデータ処理装置では、ＣＰＵ１が再構成可能ロジック回路４を使用する命令を読み込むと、ＣＰＵ１による制御部６に対する再構成ロジック回路４の再構成指示という操作が必要であり、その分、処理が遅れてしまうという問題点があった。
【０００８】
本発明は、かかる点に鑑み、再構成可能な論理回路を使用する場合に、ＣＰＵによる再構成可能な論理回路の再構成指示操作を不要とし、処理の高速化を図ることができるようにしたデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明のデータ処理装置は、ＣＰＵと、再構成可能な論理回路と、前記ＣＰＵ及び前記再構成可能な論理回路からアクセス可能な記憶領域と、前記ＣＰＵが読み込む命令を監視し、前記ＣＰＵが前記再構成可能な論理回路を使用する所定命令を読み込むと、前記所定命令については前記再構成可能な論理回路による処理を待つことを前記ＣＰＵに指示し、前記所定命令に対応する回路構成情報を前記再構成可能な論理回路に与える所定回路を備えるものである。
【発明の効果】
【００１０】
本発明によれば、前記所定回路は、前記ＣＰＵが読み込む命令を監視し、前記ＣＰＵが前記再構成可能な論理回路を使用する所定命令を読み込むと、前記所定命令については前記再構成可能な論理回路による処理を待つことを前記ＣＰＵに通知し、前記所定命令に対応する回路構成情報を前記再構成可能な論理回路に与えるので、前記再構成可能な論理回路を使用する場合に、前記ＣＰＵによる前記再構成可能な論理回路の再構成指示操作を必要とせず、処理の高速化を図ることができる。
【発明を実施するための最良の形態】
【００１１】
図１は本発明の一実施形態の要部を示すブロック回路図である。本発明の一実施形態は、ＣＰＵ１０と、ＣＰＵ１０によって管理されるシステム・バス１１と、プログラムを記憶するプログラム記憶手段１２と、メモリ部１３と、回路情報源１４を備えている。
【００１２】
メモリ部１３は、ＦＰＧＡのように、外部から与えられる回路構成情報に基づいて回路構成を変更可能とされた再構成可能な論理回路１５と、システム・バス１１及び再構成可能な論理回路１５の双方からアクセス可能とされた記憶領域１６を備えている。
【００１３】
回路情報源１４は、再構成可能な論理回路１５の回路構成情報を記憶する回路構成情報記憶手段１７と、システム・バス１１上を流れる命令を監視し、再構成可能な論理回路１５を使用する命令（以下、特殊命令という）を検出した場合に、ＣＰＵ１０に対して特殊命令については再構成可能な論理回路１５による処理を待つことの指示や、回路構成情報選択信号の回路構成情報記憶手段１７への出力等を行う制御部１８を備えている。
【００１４】
なお、本発明の一実施形態は、ＣＰＵ１０、システム・バス１１、プログラム記憶手段１２、メモリ部１３及び回路情報源１４の全てを含めて１チップ構成とすることもできるし、ＣＰＵ１０、プログラム記憶手段１２、メモリ部１３及び回路情報源１４をそれぞれ１チップとして構成することもできる。
【００１５】
図２は再構成可能な論理回路１５による処理開始までの動作の流れを説明するためのブロック回路図である。本発明の一実施形態では、ＣＰＵ１０は、読み込んだ特殊命令を無視し、読み込んだ特殊命令については再構成可能な論理回路１５による処理を待つことを制御部１８から指示されるまでは、システム・バス１１を介してプログラム記憶手段１２から命令を読み込んで実行し、必要に応じてシステム・バス１１を介して記憶領域１６を使用する。
【００１６】
また、制御部１８は、システム・バス１１上を流れる命令を監視し、特殊命令を検出すると、即ち、ＣＰＵ１０による特殊命令の読み込みを検出すると（Ｐ１）、ＣＰＵ１０に対して、その特殊命令を無視し、その特殊命令については再構成可能な論理回路１５による処理を待つことを指示する（Ｐ２）。
【００１７】
この指示によって、ＣＰＵ１０による特殊命令を処理するための記憶領域１６へのアクセスを禁止する制御が行われ、ＣＰＵ１０による特殊命令実行による異常動作が抑止される。なお、ＣＰＵ１０が記憶領域１６内のデータ処理中に特殊命令を検出した場合には、ＣＰＵ１０のプログラム記憶手段１２からの命令読み込み動作が一時停止される。
【００１８】
更に、制御部１８は、検出した特殊命令を処理するために必要な再構成可能な論理回路１５の回路構成の情報を回路構成情報記憶手段１７から選択するための回路構成情報選択信号を生成して回路構成情報記憶手段１７に渡す（Ｐ３）。
【００１９】
回路構成情報記憶手段１７は、制御部１８から渡された回路構成情報選択信号に対応する回路構成情報を再構成可能な論理回路１５に渡し（Ｐ４）、再構成可能な論理回路１５は、回路構成情報記憶手段１７から渡された回路構成情報に基づいて回路の再構成を行い、その動作を有効化し、記憶領域１６へのアクセス権をＣＰＵ１０に代わって確保する。
【００２０】
図３は再構成可能な論理回路１５の動作例を説明するためのブロック回路図である。再構成された再構成可能な論理回路１５は、目的とする処理を行うが、データ転送に際しては、記憶領域１６内の転送元２０からのデータを読み込んで（Ｑ１）、再構成可能な論理回路１５内で演算などの処理を施して記憶領域１６内の転送先２１に書き込む（Ｑ２）ような動作を行うことも可能に構成される。
【００２１】
図４は再構成可能な論理回路１５による処理終了後の動作の流れを説明するためのブロック回路図である。再構成可能な論理回路１５は、目的とする処理が終了すると、記憶領域１６へのアクセス権をＣＰＵ１０に返還し（Ｗ１）、また、処理の終了を制御部１８に通知する（Ｗ２）。
【００２２】
制御部１８は、再構成可能な論理回路１５から処理終了通知を受けると、ＣＰＵ１０に対して、再構成可能な論理回路１５による特殊命令処理の待ち状態を解除する指示を与え（Ｗ３）、ＣＰＵ１０による記憶領域１６へのアクセス禁止を解除し、ＣＰＵ１０は通常の動作を再開する（Ｗ４）。なお、ＣＰＵ１０は、命令実行順序の制約を受けない限り、再構成可能な論理回路１５が処理実行中に、記憶領域１６以外の図示しない領域を使用して動作を継続することができる。
【００２３】
図５はメモリ部１３の構成例を示すブロック回路図である。本例では、メモリ部１３は、再構成可能な論理回路１５及び記憶領域１６のほかに、記憶領域１６へのアクセス権を調停する調停手段３０を備えている。
【００２４】
再構成可能な論理回路１５は、制御信号生成手段３１、アドレス生成手段３２、レジスタ群３３、ＡＬＵ部３４、動作順序制御手段３５及び回路構成変更手段３６を固定的に備えており、制御信号生成手段３１、アドレス生成手段３２、レジスタ群３３、ＡＬＵ部３４及び動作順序制御手段３５は、回路構成変更手段３６からの回路構成設定信号Ｓ１により回路構成変更が可能とされている。また、回路構成変更手段３６は、回路構成情報保持レジスタ群３７を有している。
【００２５】
調停手段３０は、動作順序制御手段３５が出力する調停制御信号Ｓ２により選択動作が制御されるセレクタ３８、３９、４０を備えている。セレクタ３８は、ＣＰＵ１０が出力するシステム・バス１１上のメモリ制御信号（リード／ライト信号など）又は制御信号生成手段３１が出力するメモリ制御信号（リード／ライト信号など）を選択して記憶領域１６に与えるものである。
【００２６】
セレクタ３９は、ＣＰＵ１０が出力するシステム・バス１１上のアドレス値又はアドレス生成手段３２が出力するアドレス値を選択して記憶領域１６に与えるものである。セレクタ４０は、ＣＰＵ１０が出力するシステム・バス上１１上のデータ又はレジスタ群３３が出力するデータを選択して記憶領域１６に与えるものである。
【００２７】
本発明の一実施形態では、制御部１８は、システム・バス１１上を流れる命令を監視して特殊命令を検出すると、検出した特殊命令に応じた回路構成情報選択信号を生成して回路構成情報記憶手段１７に渡し、回路構成情報記憶手段１７は、制御部１８から渡された回路構成情報選択信号に対応した回路構成情報を回路構成変更手段３６に渡し、回路構成情報保持レジスタ群３７に回路構成情報が設定される。
【００２８】
回路構成情報保持レジスタ群３７に回路構成情報が設定されると、回路構成変更手段３６は、回路構成設定信号Ｓ１を制御信号生成手段３１、アドレス生成手段３２、レジスタ群３３、ＡＬＵ部３４及び動作順序制御手段３５に渡し、制御信号生成手段３１、アドレス生成手段３２、レジスタ群３３、ＡＬＵ部３４及び動作順序制御手段３５の回路構成の設定が行われる。この回路構成設定信号Ｓ１は、再構成可能な論理回路１５の回路構成が変更されない限り保持される。
【００２９】
そして、制御信号生成手段３１、アドレス生成手段３２、レジスタ群３３、ＡＬＵ部３４及び動作順序制御手段３５の回路構成の設定が完了すると、回路構成変更手段３６は、制御信号Ｓ３を介して動作順序制御手段３５の動作を有効とする。
【００３０】
動作順序制御手段３５内では、回路構成設定信号Ｓ1を受けて、「状態遷移条件」、「状態に応じたメモリ制御信号」、「状態に応じたアドレス制御信号」、「状態に応じた演算元レジスタ選択」、「状態に応じた演算結果収納レジスタ選択」、「状態に応じたレジスタ制御信号」、「状態に応じた演算選択」の参照テーブルが設定される。
【００３１】
動作順序制御手段３５は、調停制御信号Ｓ２を調停手段３０に出力してセレクタ３８〜４０の選択動作を制御するが、回路構成変更手段３６から制御信号Ｓ３が渡されると、調停制御信号Ｓ２をアサートし、再構成可能な論理回路１５が記憶手段１６へのアクセス権を取得するようにセレクタ３８〜４０の接続を切り換え、再構成可能な論理回路１５が目的とする動作を終了すると、調停制御信号Ｓ２をネゲートし、ＣＰＵ１０が記憶手段１６へのアクセス権を取得するようにセレクタ３８〜４０の接続を切り換える。
【００３２】
また、調停制御信号Ｓ２は、調停手段３０に渡されると同時に、制御部１８に対しても「再構成可能な論理回路１５による処理中を示す信号」として渡されるが、調停制御信号Ｓ２がアサートされている期間は、制御部１８は、ＣＰＵ１０の再構成可能な論理回路１５による特殊命令処理の待ち状態を解除しないものとする。なお、動作順序制御手段３５は、調停制御信号Ｓ２をアサートした後に状態遷移動作を開始するが、状態遷移先の一つに「処理終了状態」を設け、この状態に入ると調停制御信号Ｓ２をネゲートする。
【００３３】
また、動作順序制御手段３５は、記憶領域１６の制御のための動作情報を制御信号生成手段３１に与える機能を有し、記憶領域１６への具体的なメモリ制御信号は制御信号生成手段３１で生成される。即ち、制御信号生成手段３１は、動作順序制御手段３５より受けたメモリ制御信号を記憶領域１６に適したメモリ制御信号に変換する機能を有する。例えば、記憶領域１６がＤＲＡＭ系のものである場合には、その管理に必要なメモリ制御信号も制御信号生成手段３１で生成される。
【００３４】
また、動作順序制御手段３５は、アドレス生成手段３２から出力するアドレス値を制御する機能を有し、記憶領域１６へのアドレス値はアドレス生成手段３２で生成される。即ち、アドレス生成手段３２は、動作順序制御手段３５よりアドレス更新のための制御を受け、それに応じてレジスタ群３３よりアドレス値を取り込み、記憶領域１６へ向けて出力する機能を有するものである。アドレス値の指定を複数サイクルに分けて行う場合には、それに必要な制御信号を動作順序制御手段３５より受け取るものとする。
【００３５】
また、動作順序制御手段３５は、アドレス値のレジスタを指定する機能と、演算元レジスタを指定する機能と、演算結果レジスタを指定する機能を有し、状態遷移時の条件として、動作中にレジスタ群３３よりレジスタ値を参照することができるものとする。レジスタ群３３は、動作順序制御手段３５からの制御に従って、記憶領域１６より受けたデータを「演算元レジスタ」に収納し、ＡＬＵ部３４へ向けて出力する機能を有する。
【００３６】
なお、レジスタ群３３には、回路構成設定時以外には変更されない固定値も存在し、レジスタ群３３は、これを保持する機能も有する。また、データ又はアドレスの演算において、この固定値をレジスタと同様に読み出すことはできるが、書き込みはできないものとする。また、レジスタ群３３は、動作順序制御手段３５からのレジスタ値参照に応じて、必要なレジスタを選択して値を動作順序制御手段３５へ向けて出力する機能も有するものとする。
【００３７】
また、動作順序制御手段３５は、演算種類を指定する機能を有する。ＡＬＵ部３４による演算結果は、レジスタ群３３内の演算結果収納レジスタに書き込まれ、記憶領域１６へ向けて出力される。一度メモリから読み込んだデータに対して複数の演算を行う際には、動作順序制御手段３５内のシーケンスに従い、制御信号生成手段３１に対して「記憶領域１６へのデータ書き込み」制御が発生しないものとする。レジスタ間でデータを転送するだけの場合には、ＡＬＵ部３４を介さない。アドレス値もレジスタの一部に保持し、動作順序制御手段３５からの制御に従ってレジスタを選択して、アドレス生成手段３２へ向けてアドレス値を出力できるものとする。
【００３８】
ＡＬＵ部３４は、動作順序制御手段３５からの制御に従って演算種類を選択し、レジスタ群３３より受け取ったデータに演算を行って、演算結果をレジスタ群３３へ向けて出力する機能を有するものとされる。
【００３９】
このように構成された再構成可能な論理回路１５では、動作順序制御手段３５は、目的とする処理の順序をたどって状態遷移しながら、制御信号生成手段３１、アドレス生成手段３２及びレジスタ群３３を制御し、記憶領域１６からデータを読み出してレジスタ群３３に取り込む。
【００４０】
その後、データの演算処理が行われる場合には、動作順序制御手段３５の制御に従って、レジスタ群３３内のデータがＡＬＵ部３４に渡されて演算処理が実行され、演算結果がレジスタ群３３内の所定位置に転送される。演算元及び演算結果の収容先となるレジスタは、動作順序制御手段３５によって指定される。
【００４１】
演算結果が記憶領域１６に収納される場合には、動作順序制御手段３５によって制御信号生成手段３１、アドレス生成手段３２及びレジスタ群３３が制御され、記憶領域１６にデータが書き込まれる。動作順序制御手段３５は、実行すべきデータ処理操作が終わるまでこの動作を繰り返し、遷移する状態の中に存在する終了状態をもって機能を停止する。
【００４２】
そして、動作順序制御手段３５は、データ処理を終了する状態に遷移すると、調停制御信号Ｓ２によって調停手段３０を切り替えて、システム・バス１１を記憶領域１６と接続すると同時に、回路情報源１４内の制御部１８に対して信号Ｓ４により終了を通知する。制御部１８は、信号Ｓ４を受けてデータ処理の終了を検出し、ＣＰＵ１０に対してデータ処理待ちの状態の解除を通知する。その後、ＣＰＵ１０は、記憶領域１６へのアクセスが可能となる。
【００４３】
以上のように、本発明の一実施形態によれば、回路情報源１４は、システム・バス１１上を流れる命令を監視することによりＣＰＵ１０が読み込む命令を監視し、ＣＰＵ１０が特殊命令を読み込むと、この特殊命令については再構成可能な論理回路１５による処理を待つことをＣＰＵ１０に通知し、また、この特殊命令に対応する回路構成情報を再構成可能な論理回路１５に与えるとしているので、再構成可能な論理回路１５を使用する場合に、ＣＰＵ１０による再構成可能な論理回路１５の再構成指示操作を必要とせず、処理の高速化を図ることができる。
【図面の簡単な説明】
【００４４】
【図１】本発明の一実施形態の要部を示すブロック回路図である。
【図２】本発明の一実施形態が備えるメモリ部内の再構成可能な論理回路による処理開始までの動作の流れを説明するためのブロック回路図である。
【図３】本発明の一実施形態が備えるメモリ部内の再構成可能な論理回路の動作例を説明するためのブロック回路図である。
【図４】本発明の一実施形態が備えるメモリ部内の再構成可能な論理回路による処理終了後の動作の流れを説明するためのブロック回路図である。
【図５】本発明の一実施形態が備えるメモリ部の構成例を示すブロック回路図である。
【図６】再構成可能な論理回路を実装する従来のデータ処理装置の一例を示すブロック回路図である
【符号の説明】
【００４５】
１…ＣＰＵ
２…第１のメモリ
３…再構成可能ロジックブロック
４…再構成可能ロジック回路
５…再構成情報用メモリ
６…制御部
７…第２のメモリ
８…第３のメモリ
１０…ＣＰＵ
１１…システム・バス
１２…プログラム記憶手段
１３…メモリ部
１４…回路情報源
１５…再構成可能な論理回路
１６…記憶領域
１７…回路構成情報記憶手段
１８…制御部
２０…転送元
２１…転送先
３０…調停手段
３１…制御信号生成手段
３２…アドレス生成手段
３３…レジスタ群
３４…ＡＬＵ部
３５…動作順序制御手段
３６…回路構成変更手段
３７…回路構成情報保持レジスタ群
３８〜４０…セレクタ
【図１】
2007213185.tif 000003
【図２】
2007213185.tif 000004
【図３】
2007213185.tif 000005
【図４】
2007213185.tif 000006
【図５】
2007213185.tif 000007
【図６】
2007213185.tif 000008