説明

データ処理装置

【課題】再構成可能な論理回路の再構成時間を短縮し、データ処理の高速化は図ることができるようにしたデータ処理装置を提供する。
【解決手段】回路情報源15に論理回路Bの論理回路Aとの差分回路情報W(A→B)を保持させる。論理再構成制御部16は、再構成可能な論理回路12に論理回路Aを再構成して論理回路Aに任されている処理を実行させた後、再構成化可能な論理回路12に論理回路Bを構成する場合、回路情報源15から論理回路Bの論理回路Aとの差分回路情報W(A→B)を読み出し、再構成可能な論理回路12内の再構成を必要とする番地の情報と、再構成する番地の回路情報とを回路情報保持レジスタ19に転送する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、再構成可能な論理回路(プログラマブル論理回路)を備えるデータ処理装置に関する。
【背景技術】
【0002】
従来、データ処理装置におけるデータ処理の高速化を図る手法として、例えば、再構成可能な論理回路を実装し、CPU(central processing unit)では時間のかかる処理を再構成可能な論理回路を使用して行う手法が提案されている。
【0003】
図38は再構成可能な論理回路を備える従来のデータ処理装置の一例を示す回路図である(例えば、特許文献1参照。)。図38中、1はCPU、2は第1のメモリ、3は第2のメモリ、4は第3のメモリ、5はデータ処理の高速化を図るために実装された再構成可能論理ブロックであり、再構成可能論理ブロック5は、再構成可能な論理回路6と、再構成情報用メモリ7と、制御部8とを備えている。
【0004】
再構成可能な論理回路6は、FPGA(field programmable gate array)のように、外部から与えられる再構成情報に基づいて回路構成(論理構成)を変更可能とされたものである。再構成情報用メモリ7は、再構成可能な論理回路6の再構成に必要な再構成情報を保持するものであり、再構成情報は、再構成可能な論理回路6に構成する論理回路の種類毎に固有の識別番号が付与された状態で保持される。制御部8は、CPU1の指示に従い、再構成情報用メモリ7が保持する再構成情報を用いて、再構成可能な論理回路6に構成されている論理回路を変更するものである。
【0005】
このデータ処理装置においては、CPU1は、再構成可能な論理回路6を使用する命令を読み込むと、制御部8に対して再構成可能な論理回路6の再構成のための識別番号を含む再構成指示信号を与える。制御部8は、CPU1から再構成指示信号が与えられると、再構成指示信号に含まれる識別番号に応じた再構成情報を再構成情報用メモリ7から読み出して再構成可能な論理回路6の再構成を行い、再構成が終了すると、CPU1に再構成終了通知を発行する。
【0006】
CPU1は、制御部8から再構成終了通知を受けると、データ処理を中断して処理途中のデータを第1のメモリ2から第3のメモリ4に転送し、制御部8にデータ処理の開始を指示する。その後、再構成可能な論理回路6は、第2のメモリ3及び第3のメモリ4を用いてデータ処理を行い、データ処理が完了すると、データ処理結果を第3のメモリ4に格納し、制御部8を介してCPU1に処理の終了を通知する。CPU1は、この通知を受け取ると、第3のメモリ4内のデータを用いて処理を続行する。
【0007】
このように、このデータ処理装置は、CPU1が再構成可能な論理回路6を使用する命令を読み込むと、CPU1が制御部8に再構成可能な論理回路6の再構成を指示し、制御部8が再構成情報用メモリ7から読み出した再構成情報に従って再構成可能な論理回路6を再構成し、その後、CPU1に代わって再構成可能な論理回路6が第2のメモリ3及び第3のメモリ4を使用してデータ処理を行い、データ処理の高速化を図るというものである。
【特許文献1】特開2003−208305号公報
【特許文献2】特開2000−124317号公報
【特許文献3】特開2001−51826号公報
【特許文献4】特開2003−101584号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
図38に示す従来のデータ処理装置においては、再構成情報用メモリ7には、再構成可能な論理回路6に実行させるべき処理に必要な論理回路を単位として、再構成情報が記憶される。このため、再構成可能な論理回路6に構成されている論理回路を更新する場合、更新前の論理回路の一部分を変更すれば足りる場合であっても、更新前の論理回路の全体を更新しなければならず、このことが、再構成可能な論理回路6の再構成に要する時間の増大化を招いているという問題点があった。
【0009】
本発明は、かかる点に鑑み、再構成可能な論理回路の再構成時間を短縮し、データ処理の高速化は図ることができるようにしたデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
本出願が開示するデータ処理装置は、再構成可能な論理回路と、前記再構成可能な論理回路に構成する論理回路の回路情報を保持する回路情報源と、前記再構成可能な論理回路の再構成を制御する論理再構成制御部とを備え、前記論理再構成制御部は、前記回路情報源が前記再構成可能な論理回路に今回構成すべき論理回路の前回構成した論理回路との差分回路情報を保持している場合は、前記回路情報源から前記差分回路情報を読み出して前記再構成可能な論理回路の再構成を制御するというものである。
【発明の効果】
【0011】
開示したデータ処理装置によれば、前記論理再構成制御部は、前記回路情報源が前記再構成可能な論理回路に今回構成すべき論理回路の前回構成した論理回路との差分回路情報を保持している場合は、前記回路情報源から前記差分回路情報を読み出して前記再構成可能な論理回路の再構成を制御するので、前記再構成可能な論理回路の再構成時間を短縮し、データ処理の高速化を図ることができる。
【発明を実施するための最良の形態】
【0012】
(第1実施形態)
図1は本発明の第1実施形態の一部分を示す回路図である。本発明の第1実施形態は、CPU9と、CPU9によって管理されるシステムバス10と、プログラム記憶手段11と、再構成可能な論理回路12と、メモリ部13と、調停手段14と、回路情報源15と、論理再構成制御部16とを備えている。本発明の第1実施形態は、1チップ構成とすることもできるし、複数チップ構成とすることもできる。
【0013】
プログラム記憶手段11は、CPU9が実行するプログラムを記憶するものである。本発明の第1実施形態では、生成直後のオブジェクト・プログラム中の所定領域を再構成可能な論理回路12による処理に置き換える場合、該所定領域の先頭アドレスの命令を、該所定領域をスキップさせるための分岐命令(以下、特定命令という)に変更したオブジェクト・プログラムをプログラム記憶手段11に実装する。
【0014】
例えば、図2において、生成直後のオブジェクト・プログラム17中の100番地〜199番地を再構成可能な論理回路12による処理に置き換える領域とする場合には、この生成直後のオブジェクト・プログラム17中の100番地の命令を200番地ヘの移動を指示する特定命令に変更し、該変更したオブジェクト・プログラム18をプログラム記憶手段11に実装する。
【0015】
また、図1において、再構成可能な論理回路12は、FPGAのように、外部から与えられる回路情報に基づいて回路構成(論理構成)を変更可能とされたものである。メモリ部13は、システムバス10及び再構成可能な論理回路12の双方からアクセス可能とされたものである。調停手段14は、システムバス10からのメモリ部13へのアクセスと再構成可能な論理回路12からのメモリ部13へのアクセスとを調停するものである。
【0016】
回路情報源15は、再構成可能な論理回路12に構成する論理回路の完全回路情報及びその読み出し始点アドレス値や、再構成可能な論理回路12に構成する論理回路のうち、所定の論理回路の他の所定の論理回路との差分回路情報(所定の論理回路の完全回路情報から、所定の論理回路と他の所定の論理回路との共通情報を除いた回路情報)及びその読み出し始点アドレス値や、特定命令アドレス値などを格納するものである。
【0017】
論理再構成制御部16は、再構成可能な論理回路12の再構成を制御するものであり、システムバス10上を流れるアドレス信号の値を監視し、回路情報源15から完全回路情報を読み出し、この読み出した完全回路情報の再構成可能な論理回路12への転送や、回路情報源15から差分回路情報を読み出し、再構成可能な論理回路12内の再構成を必要とする番地の情報の作成や、前記番地の情報と前記番地の回路情報との再構成可能な論理回路12への転送などを行う。
【0018】
本発明の第1実施形態では、再構成可能な論理回路12は、回路情報保持レジスタ19を備えており、論理再構成制御部16により回路情報保持レジスタ19に回路情報が設定されると、この設定された回路情報に基づいて論理回路の構成を行う。また、再構成可能な論理回路12は、再構成した論理回路12に構成した論理回路よる処理が終了すると、終了通知を論理再構成制御部16に送るように構成される。
【0019】
また、論理再構成制御部16は、識別番号保持レジスタ20を備えており、システムバス10から特定命令アドレス値を検出したときは、該検出した特定命令アドレス値が示すアドレスに格納されている特定命令によりスキップするプログラム部分を再構成可能な論理回路12に処理させるために再構成可能な論理回路12に構成すべき論理回路の識別番号を生成して識別番号保持レジスタ20に保持するように構成される。
【0020】
また、論理再構成制御部16は、システムバス10から特定命令アドレス値を検出したときに、再構成可能な論理回路12が処理を実行中のときは、CPU9にウェイト制御をかけ、再構成可能な論理回路12から実行中の処理の終了通知を受け取るまで、今回検出した特定命令アドレス値に基づいて生成する識別番号の識別番号保持レジスタ20への書き込みを保留するようにも構成される。
【0021】
図3は回路情報源15に格納する差分回路情報を説明するための図であり、回路情報源15に論理回路Bの論理回路Aとの差分回路情報を格納する場合を例にしている。図3中、WAは論理回路Aの完全回路情報、WBは論理回路Bの完全回路情報、W(A→B)は論理回路Bの論理回路Aとの差分回路情報であり、P番地〜P+7番地、Q番地〜Q+7番地、及び、R番地〜R+4番地は、回路情報源15内の記憶領域の番地、0番地〜7番地は再構成可能な論理回路12内の番地である。
【0022】
本例では、再構成可能な論理回路12に構成する論理回路の完全回路情報の回路情報源15内の区間長(1つの完全回路情報に割り当てられている連続アドレス数)は8、再構成可能な論理回路12に構成する論理回路の差分回路情報の回路情報源15内の区間長(1つの差分回路情報に割り当てられている回路情報源15内の連続アドレス数)は5とされている場合を例としている。
【0023】
図3の例では、論理回路Aの完全回路情報WA及び論理回路Bの完全回路情報WBは、再構成可能な論理回路12内の0番地〜7番地の回路情報から構成されており、これらの回路情報中の再構成可能な論理回路12内の0番地、2番地〜6番地の回路情報が一致している場合を例にしている。即ち、本例では、完全回路情報WBが完全回路情報WAと異なる回路情報は、再構成可能な論理回路12内の1番地の回路情報と7番地の回路情報だけである。
【0024】
ここで、論理回路Bの論理回路Aとの差分回路情報を、例えば、R番地を読み出し始点アドレスとして回路情報源15に格納する場合には、R番地には「スキップ数=1」、R+1番地には「完全回路情報WB中の再構成可能な論理回路12内の1番地の回路情報」、R+2番地には「スキップ数=6」、R+3番地には「完全回路情報WB中の再構成可能な論理回路12内の7番地の回路情報」、R+4番地には1つの差分回路情報の終了を示す「終了コード」を格納する。
【0025】
なお、回路情報源15に格納するスキップ数は、再構成可能な論理回路12内の再構成を必要とする番地を算出するための情報であり、スキップする先頭の番地が0番地である場合は、「スキップ数=スキップする番地数」であり、スキップする先頭の番地が0番地でない場合には、「スキップ数=スキップする番地数+1」である。
【0026】
このように、本発明の第1実施形態では、回路情報源15に格納される各差分回路情報は、スキップ数と、再構成可能な論理回路12内の再構成を必要とする番地の回路情報と、終了コードとで構成される。
【0027】
そこで、論理再構成制御部16は、差分回路情報W(A→B)を再構成可能な論理回路12に転送する場合には、スキップ数の情報から回路情報が存在する再構成可能な論理回路12内の番地を算出し、回路情報が存在する再構成可能な論理回路12内の番地の情報と、その番地の回路情報とを転送する。図3の例では、「1番地」という番地情報と、「1番地の回路情報」と、「7番地」という番地情報と、「7番地の回路情報」とを時分割で再構成可能な論理回路12に転送する。
【0028】
このようにすると、再構成可能な論理回路12は、0番地はスキップする番地、1番地は与えられた回路情報(論理回路Bの完全回路情報WB中の1番地の回路情報)で再構成する番地、2番地〜6番地はスキップする番地、7番地は与えられた回路情報(論理回路Bの完全回路情報WB中の7番地の回路情報)で再構成する番地と解釈する。
【0029】
したがって、再構成可能な論理回路12は、0番地、2番地〜6番地については、再構成を実行せず、1番地については、論理再構成制御部16から与えられた論理回路Bの完全回路情報WB中の1番地の回路情報に基づいて再構成を行い、7番地については、論理再構成制御部16から与えられた論理回路Bの完全回路情報WB中の7番地の回路情報に基づいて再構成を行う。
【0030】
この結果、再構成可能な論理回路12内の0番地、2番地〜6番地は、論理回路Aの完全回路情報WA内の0番地、2番地〜6番地の回路情報に基づく回路構成のままとなるが、それは、論理回路Bの完全回路情報WB内の0番地、2番地〜6番地の回路情報と一致するので、論理回路Bの完全回路情報WB内の0番地、2番地〜6番地の回路情報に基づく再構成可能な論理回路12内の0番地、2番地〜6番地の再構成が省略されることになり、その分、再構成可能な論理回路12の再構成時間を短縮することができ、データ処理の高速化を図ることができる。
【0031】
図4は本発明の第1実施形態の動作例を示すタイミングチャートであり、回路情報源15に論理回路Aの完全回路情報WA、論理回路Bの完全回路情報WB、論理回路Cの完全回路情報WC、論理回路Dの完全回路情報WD、論理回路Bの論理回路Aとの差分回路情報W(A→B)、及び、論理回路Dの論理回路Cとの差分回路情報W(C→D)が記憶されている場合を例としている。
【0032】
図4中、(A)は論理再構成制御部16による特定命令アドレス値の検出状況、(B)は論理再構成制御部16からCPU9へのウェイト制御信号、(C)は識別番号保持レジスタ20の保持内容、(D)は再構成可能な論理回路12の状態、(E)は回路情報源15からの読み出しデータ、(F)は回路情報源15の記憶領域Z0〜Z5に格納されている回路情報を示している。
【0033】
また、(A)において、矢印23は、この時点で、論理再構成制御部16がシステムバス10から再構成可能な論理回路12に論理回路Aを再構成して処理を実行させるプログラム部分をスキップする特定命令のアドレス値を検出したことを示している。矢印24は、この時点で、論理再構成制御部16がシステムバス10から再構成可能な論理回路12に論理回路Bを再構成して処理を実行させるプログラム部分をスキップする特定命令のアドレス値を検出したことを示している。
【0034】
矢印25は、この時点で、論理再構成制御部16がシステムバス10から再構成可能な論理回路12に論理回路Cを再構成して処理を実行させるプログラム部分をスキップする特定命令のアドレス値を検出したことを示している。矢印26は、この時点で、論理再構成制御部16がシステムバス10から再構成可能な論理回路12に論理回路Dを再構成して処理を実行させるプログラム部分をスキップする特定命令のアドレス値を検出したことを示している。
【0035】
ここで、論理再構成制御部16が、矢印23で示す時点で、例えば、再構成可能な論理回路12に論理回路Aを再構成して処理を行うプログラム部分をスキップする特定命令のアドレス値を検出すると、論理再構成制御部16は、論理回路Aの識別番号を生成して識別番号保持レジスタ20に保持し、回路情報源15の記憶領域Z0から論理回路Aの完全回路情報WAを読み出して回路情報保持レジスタ19に転送する。この結果、再構成可能な論理回路12は論理回路Aに再構成され、論理回路Aに任された処理が実行される。
【0036】
その後、例えば、論理回路Aによる処理が終了する前に、論理再構成制御部16が、矢印24で示す時点で、再構成可能な論理回路12に論理回路Bを再構成して処理を行うプログラム部分をスキップする特定命令のアドレス値を検出すると、この時点では、論理再構成制御部16は、再構成可能な論理回路12は論理回路Aとして動作中であることから、ウェイト制御信号を論理0(以下、“0”と記す)から論理1(以下、“1”と記す)にして、CPU9に対してウェイト制御をかける。
【0037】
本例では、論理再構成制御部16は、CPU9に対してウェイト制御をかけると、論理回路Bの識別番号を識別番号保持レジスタ20に書き込むことを保留し、再構成可能な論理回路12から論理回路Aによる処理の終了通知を待ち、再構成可能な論理回路12から論理回路Aによる処理の終了通知を受け取ると、ウェイト制御信号を“0”に戻し、CPU9に対するウェイト制御を解除し、論理回路Bの識別番号を識別番号保持レジスタ20に書き込み、識別番号保持レジスタ20を更新する。
【0038】
この場合は、再構成可能な論理回路12に構成されている論理回路Aを論理回路Bに構成し直す場合であるが、回路情報源15の記憶領域Z4には、論理回路Bの論理回路Aとの差分回路情報W(A→B)が格納されているので、論理再構成制御部16は、回路情報源15の記憶領域Z4から差分回路情報W(A→B)を読み出し、再構成可能な論理回路12内の再構成を必要とする番地の情報と、再構成を必要とする番地の回路情報とを回路情報保持レジスタ19に転送する。この結果、再構成可能な論理回路12は、論理回路を構成し、論理回路Bに任された処理を実行し、論理回路Bによる処理が終了すると、動作を停止する。
【0039】
その後、論理再構成制御部16が、矢印25で示す時点で、例えば、再構成可能な論理回路12に論理回路Cを再構成して処理を行うプログラム部分をスキップする特定命令のアドレス値を検出すると、論理再構成制御部16は、回路情報源15の記憶領域Z2から論理回路Cの完全回路情報WCを読み出して回路情報保持レジスタ19に転送する。この結果、再構成可能な論理回路12、論理回路Cを再構成し、論理回路Cに任された処理を実行する。
【0040】
その後、例えば、再構成可能な論理回路12が論理回路Cとしての動作が完了していないときに、論理再構成制御部16が、矢印26で示す時点で、例えば、再構成可能な論理回路12に論理回路Dを再構成して処理を行うプログラム部分をスキップする特定命令のアドレス値を検出すると、論理再構成制御部16は、再構成可能な論理回路12は論理回路Cとしての動作中であることから、ウェイト制御信号を“1”とし、CPU9に対してウェイト制御をかける。
【0041】
この場合、論理再構成制御部16は、論理回路Dの識別番号を識別番号保持レジスタ20に書き込むことを保留し、再構成可能な論理回路12から論理回路Cによる処理の終了通知を待ち、再構成可能な論理回路12から論理回路Cによる処理の終了通知を受け取ると、ウェイト制御信号を“0”に戻し、CPU9に対するウェイト制御を解除する。そして、図示は省略するが、論理再構成制御部16は、論理回路Dの識別番号を識別番号保持レジスタ20に書き込み、識別番号保持レジスタ20を更新する。
【0042】
この場合は、再構成可能な論理回路12に構成されている論理回路Cを論理回路Dに構成し直す場合であるが、回路情報源15の記憶領域Z5には、論理回路Dの論理回路Cとの差分回路情報W(C→D)が存在するので、論理再構成制御部16は、回路情報源15の記憶領域Z5から差分回路情報W(C→D)を読み出して、再構成可能な論理回路12内の再構成する番地の情報と、再構成する番地の回路情報とを回路情報保持レジスタ19に転送する。この結果、再構成可能な論理回路12は、論理回路Dを構成し、論理回路Dに任された処理を実行する。
【0043】
図5は論理再構成制御部16の一部分の構成例を示す回路図である。図5中、30は特定命令アドレス値検出部であり、システムバス10上を流れるアドレス信号の値を監視し、システムバス10上を流れるアドレス信号の値が特定命令アドレス値であるか否かを判定して特定命令アドレス値を検出するものである。
【0044】
図6は特定命令アドレス値検出部30の一部分の構成例を示す回路図である。図6中、31−1、31−2、31−mは特定命令アドレス値参照レジスタであり、特定命令アドレス値参照レジスタ31−3〜31−(m−1)は図示を省略している。特定命令アドレス値参照レジスタ31−k(但し、k=1、2、…、mであり、以下、同様である。)は特定命令アドレス値を格納するものであり、特定命令アドレス値参照レジスタ31−kへの特定命令アドレス値の格納はシステムの初期化時に実行する。
【0045】
32−1、32−2、32−mは比較器であり、比較器32−3〜32−(m−1)は図示を省略している。比較器32−kは、システムバス10上を流れるアドレス信号の値と特定命令アドレス値参照レジスタ31−kに格納されている特定命令アドレス値とを比較し、システムバス10上を流れるアドレス信号の値が特定命令アドレス値参照レジスタ31−kに格納されている特定命令アドレス値と一致する場合には“1”を出力し、一致しない場合には“0”を出力するものである。
【0046】
したがって、特定命令アドレス値検出部30は、システムバス10上を流れるアドレス信号の値が、特定命令アドレス値参照レジスタ31−1〜31−mのいずれかの特定命令アドレス値参照レジスタ31−iに格納されている特定命令アドレス値と一致すると、比較器32−iの出力信号=“1”、その他の比較器の出力信号=“0”とするmビットのワンホット信号S30を出力する。本例では、このワンホット信号S30が再構成可能な論理回路12に構成する論理回路の識別番号を示す識別番号信号として使用される。
【0047】
また、図5において、33は特定命令アドレス値検出部30が出力する識別番号信号S30の全ビットをOR処理して特定命令アドレス値検出信号S33を出力するOR回路である。特定命令アドレス値検出信号S33は、識別番号信号S30の全ビットが“0”の場合、即ち、システムバス10上のアドレス信号の値が特定命令アドレス値でない場合は“0”となり、識別番号信号S30のいずれか1ビットが“1”の場合、即ち、システムバス10上のアドレス信号の値が特定命令アドレス値と一致する場合は“1”となる。
【0048】
34は完全回路情報アドレス管理手段をなす完全回路情報アドレス変換テーブルであり、読み出し始点アドレス値保持レジスタ35−1〜35−nを備えている。但し、読み出し始点アドレス値保持レジスタ35−2〜35−(n−1)は図示を省略している。読み出し始点アドレス値保持レジスタ35−1〜35−nは、再構成可能な論理回路12に構成する論理回路の完全回路情報が格納されている回路情報源15内の領域の先頭アドレス値(読み出し始点アドレス値)を格納するものである。読み出し始点アドレス値保持レジスタ35−1〜35−nへの各論理回路の完全回路情報の読み出し始点アドレス値の格納は、システムの初期化時に行われる。
【0049】
完全回路情報アドレス変換テーブル34は、特定命令アドレス値検出部30が出力する識別番号信号S30を入力し、読み出し始点アドレス値保持レジスタ35−1〜35−nから、識別番号信号S30が示す識別番号に対応する論理回路の完全回路情報の読み出し始点アドレス値を格納する読み出し始点アドレス値保持レジスタを選択し、識別番号信号S30が示す識別番号に対応する論理回路の完全回路情報の読み出し始点アドレス値を示す読み出し始点アドレス信号A34を出力する。
【0050】
36は差分回路情報アドレス管理手段をなす差分回路情報アドレス変換テーブルであり、差分回路情報有無判定回路36Aと、読み出し始点アドレス値保持レジスタ37−1〜37−uとを備えている。但し、読み出し始点アドレス値保持レジスタ37−2〜37−(u−1)は図示を省略している。
【0051】
差分回路情報有無判定回路36Aは、識別番号保持レジスタ20に保持されている識別番号と、特定命令アドレス値検出部30が新たに出力した識別番号信号S30が示す識別番号とを監視して、識別番号信号S30の遷移パターンを判定し、特定命令アドレス値検出部30が新たに出力した識別番号信号S30が示す識別番号に対応する差分回路情報が回路情報源15内に格納されているか否かを判定するものである。差分回路情報有無判定回路36Aに対する差分回路情報有無判定情報の格納はシステムの初期時に行われる。
【0052】
読み出し始点アドレス値保持レジスタ37−1〜37−uは、所定の論理回路の他の所定の論理回路との差分回路情報(例えば、論理回路Bの論理回路Aとの差分回路情報)が格納されている回路情報源15内の領域の先頭アドレス値(読み出し始点アドレス値)を格納するものである。読み出し始点アドレス値保持レジスタ37−1〜37−uに対する差分回路情報の読み出し始点アドレス値の格納はシステムの初期時に行われる。
【0053】
差分回路情報アドレス変換テーブル36は、識別番号信号S30が示す識別番号の遷移パターンが差分回路情報を出力すべき遷移パターンであった場合(例えば、図4に示すように、論理回路Aの識別番号から論理回路Bの識別番号への遷移があった場合)、読み出し始点アドレス値保持レジスタ37−1〜37−uの中から、識別番号信号S30が示す識別番号の遷移パターンに対応して出力すべき差分回路情報の読み出し始点アドレス値を格納する読み出し始点アドレス値保持レジスタを選択し、識別番号信号S30が示す識別番号の遷移パターンに対応して出力すべき差分回路情報の読み出し始点アドレス値を示す読み出し始点アドレス信号A36を出力し、それ以外の場合には、読み出し始点アドレス信号A36の“全ビットを0”とする。但し、CPU9にウェイト制御をかけている場合には、CPU9へのウェイト制御を解除してから、読み出しアドレス信号A36を出力する。
【0054】
38は再構成動作制御部であり、特定命令アドレス値検出信号S33と、後述する読み出し終了検出信号S51とを入力して再構成動作制御信号S38を出力するものである。再構成動作制御部38は、特定命令アドレス値検出信号S33=“0”のときは、再構成動作制御信号S38=“0”とし、その後、特定命令アドレス値検出信号S33=“1”になると、再構成動作制御信号S38=“1”とし、その後、読み出し終了検出信号S51=“1”となると、再構成動作制御信号S38=“0”とする。
【0055】
39はOR回路であり、差分回路情報アドレス変換テーブル36が出力する読み出し始点アドレス信号A36の全ビットをOR処理するものである。40はAND回路であり、OR回路39の出力信号S39と再構成動作制御信号S38とをAND処理して差分回路情報有効フラグ信号S40を出力するものである。
【0056】
差分回路情報有効フラグ信号S40は、再構成動作制御信号S38=“1”、読み出し始点アドレス信号A36の全ビットが“0”(回路情報源15から差分回路情報を読み出さない場合)でOR回路39の出力信号S39=“0”の場合には“0”、再構成動作制御信号S38=“1”、読み出し始点アドレス信号A36が“1”を含む場合(回路情報源15から差分回路情報を読み出さない場合)でOR回路39の出力信号S39の出力信号S39=“1”の場合には“1”となる。
【0057】
41は差分回路情報有効フラグ信号S40により選択動作が制御されるマルチプレクサである。マルチプレクサ41は、差分回路情報有効フラグ信号S40=“0”のときは、完全回路情報アドレス変換テーブル34が出力する読み出し始点アドレス信号A34を選択し、差分回路情報有効フラグ信号S40=“1”のときは、差分回路情報アドレス変換テーブル36が出力する読み出し始点アドレス信号A36を選択する。
【0058】
42は差分回路情報有効フラグ信号S40により選択動作が制御されるマルチプレクサである。マルチプレクサ42は、差分回路情報有効フラグ信号S40=“0”のときは、“1”供給源(図示せず)から与えられる“1”を選択し、差分回路情報有効フラグ信号S40=“1”のときは、回路情報源15から読み出されたデータを選択する。
【0059】
43はトグル回路である。トグル回路43は、特定命令アドレス値検出信号S33が初期化信号入力端子に入力され、差分回路情報有効フラグ信号S40がイネーブル信号入力端子に入力され、特定命令アドレス値検出信号S33が“1”となると初期化され、差分回路情報有効フラグ信号S40=“1”のときにイネーブルとされ、クロック信号に同期して出力端子X1にトグル信号S43Aを出力し、出力端子X2に再書き込み制御信号S43Bを出力する。再書き込み制御信号S43Bは再構成可能な論理回路12に与えられる。再書き込み制御信号S43B=“1”のときは、再構成可能な論理回路12では、回路情報保持レジスタ19に対する書き込みモードとされる。
【0060】
図7はトグル回路43の動作例を示す波形図であり、(A)はトグル回路43に与えられるクロック信号CLK、(B)は特定命令アドレス値検出信号S33、(C)は差分回路情報有効フラグ信号S40、(D)はトグル信号S43A、(E)はトグル回路43の内部信号S43C、(F)は再書き込み制御信号S43Bを示している。内部信号S43Cは、特定命令アドレス値検出信号S33を1クロック分遅延させたものである。
【0061】
トグル回路43は、例えば、サイクルNで特定命令アドレス値検出信号S33が“1”になると、サイクルN+1の開始時のクロック信号CLKの立ち上がりタイミングで特定命令アドレス値検出信号S33=1を検出し、トグル信号S43Aとして、クロック信号CLKに同期して“1”と“0”とを交互に出力する。
【0062】
また、トグル回路43は、サイクルN+1で、特定命令アドレス値検出信号S33を1クロック分遅延させた内部信号S43Cを出力する。そして、サイクルN+2の開始時のクロック信号CLKの立ち上がりタイミングで内部信号S43C=“1”が内部的に検出され、再書き込み制御信号43Bとして、差分回路情報有効フラグ信号S40が“1”の間、“1”を出力する。
【0063】
また、図5において、44はアドレスカウンタである。アドレスカウンタ44は、初期化時に使用されるものであり、初期値を0とし、クロック信号CLKに同期してカウント値A44を1ずつインクリメントするものである。なお、回路情報源15に格納される特定命令アドレス値、再構成可能な論理回路12に構成する論理回路の完全回路情報の読み出し始点アドレス値、再構成可能な論理回路12に構成する論理回路の差分回路情報の読み出し始点アドレス値、及び、差分回路情報有無判定回路情報は、アドレスカウンタ44が出力するカウント値A44に対応した番地に格納される。
【0064】
45はアドレスカウンタである。アドレスカウンタ45は、クロック信号CLKに同期して動作し、そのカウント値A45を回路情報源15から回路情報を読み出すためのアドレス信号として出力するものであり、初期化信号入力端子に特定命令アドレス値検出信号S33が与えられ、初期値入力端子にマルチプレクサ41の出力信号が与えられ、イネーブル信号入力端子に再構成動作制御信号S38が与えられる。
【0065】
アドレスカウンタ45は、イネーブル制御よりも初期化制御を優先するものであり、特定命令アドレス値検出信号S33が“1”になると初期化を行い、マルチプレクサ41の出力信号値を初期値として設定し、その後、再構成動作制御信号S38=“1”になるとイネーブル状態となり、クロック信号CLKの立ち上がり時に再構成動作制御信号S38=“1”のときは、クロック信号CLKの立ち上がりタイミングでカウント値A45に1を加算する。
【0066】
46は初期化制御部である。初期化制御部46は、初期化制御信号S46を出力するものであり、初期化制御信号S46は、システムの初期化時には“1”とされ、システムの初期化が終了すると“0”とされる。
【0067】
47はマルチプレクサである。マルチプレクサ47は、初期化制御信号S46により選択動作が制御され、アドレスカウンタ44のカウント値A44又はアドレスカウンタ45のカウント値A45をアドレス信号として回路情報源15に与えるものであち、初期化制御信号S46=“1”のとき(システムの初期化時)は、アドレスカウンタ44のカウント値A44を選択し、初期化制御信号S46=“0”のとき(システムの初期化後)は、アドレスカウンタ45のカウント値A45を選択するものである。
【0068】
48はアドレスカウンタである。アドレスカウンタ48は、クロック信号CLKに同期して動作し、回路情報源15から差分回路情報を読み出す場合に、回路情報源15から読み出した回路情報の再構成可能な論理回路12内の番地情報を生成するものであり、初期化信号入力端子に特定命令アドレス値検出信号S33が与えられ、初期値入力端子に0が与えられ、加算値入力端子にマルチプレクサ42の出力信号が与えられる。
【0069】
アドレスカウンタ48は、イネーブル制御よりも初期化制御を優先するものであり、特定命令アドレス値検出信号S33が“1”になると初期化を行い、0を初期値として設定し、トグル信号S43A=“1”のときはイネーブルとなり、クロック信号CLKの立ち上がり時にトグル信号S43A=“1”のときは、クロック信号CLKの立ち上がりタイミングで、そのカウント値A48に、マルチプレクサ42の出力信号値のうち、回路情報源15から出力されるスキップ数を選択して加算するものである。
【0070】
49は回路情報源15から出力される回路情報を1クロック分遅延させるDフリップフロップ、50はトグル信号S43Aにより選択動作が制御されるマルチプレクサである。マルチプレクサ50は、トグル信号S43A=“1”のときは、Dフリップフロップ49の出力信号(回路情報)を選択し、トグル信号S43A=“0”のときは、アドレスカウンタ48のカウント値A48を選択するものである。
【0071】
51は読み出し終了検出部である。読み出し終了検出部51は、読み出し終了検出信号S51を生成するものであり、アドレスカウンタ45のカウント値の出力回数及び回路情報源15が出力する回路情報を監視し、アドレスカウンタ45のカウント値の出力回数が回路情報源15から完全回路情報を出力するのに必要な回数になったとき、又は、回路情報源15から出力された「終了コード」を検出したときは、読み出し終了検出信号S51=“1”とする。
【0072】
図8は図5に示す論理再構成制御部16の初期化動作を説明するための回路図である。図5に示す論理再構成制御部16においては、初期化動作時には、初期化制御部46は、初期化制御信号S46=“1”とする。この結果、マルチプレクサ47は、アドレスカウンタ44が出力するカウント値A44を選択し、これを読み出しアドレス信号として回路情報源15に与える。これに応答して、回路情報源15は、特定命令アドレス値、再構成可能な論理回路12に構成する論理回路の完全回路情報の読み出し始点アドレス値、再構成可能な論理回路12に構成する論理回路の差分回路情報の読み出し始点アドレス値、及び、差分回路情報判定情報を出力する。
【0073】
本例では、回路情報源15が出力する特定命令アドレス値は、特定命令アドレス値検出部30内の特定命令アドレス値参照レジスタ31−1〜31−mに必要な数だけ格納される。再構成可能な論理回路12に構成する論理回路の完全回路情報の読み出し始点アドレス値は、完全回路情報アドレス変換テーブル34内の読み出し始点アドレス値保持レジスタ35−1〜35−nに必要な数だけ格納される。再構成可能な論理回路12に構成する論理回路の差分回路情報の読み出し始点アドレス値は、差分回路情報アドレス変換テーブル36内の読み出し始点アドレス値保持レジスタ37−1〜37−uに必要な数だけ格納される。差分回路情報判定情報は、差分回路情報アドレス変換テーブル36内の差分回路情報有無判定回路36Aに格納される。
【0074】
図9は図5に示す論理再構成制御部16の初期化後の動作を説明するための回路図である。図5に示す論理再構成制御部16においては、初期化後、初期化制御部46は、初期化制御信号S46=“0”とする。この結果、マルチプレクサ47は、アドレスカウンタ45が出力するカウント値A45を選択し、これを読み出しアドレス信号として回路情報源15に与える状態となる。
【0075】
また、特定命令アドレス値検出部30は、システムバス10上を流れるアドレス信号を監視し、システムバス10上のアドレス信号の値が特定命令アドレス値参照レジスタ31−1〜31−mのいずれかに格納されている特定命令アドレス値に一致すると、再構成可能な論理回路12に構成する論理回路の識別番号を示す識別番号信号S30を出力し、これを識別番号保持レジスタ20、完全回路情報アドレス変換テーブル34及び差分回路情報アドレス変換テーブル36に転送する。但し、CPU9にウェイト制御をかけているときは、このウェイト制御が解除されるまで、識別番号保持レジスタ20の更新は保留される。
【0076】
また、完全回路情報アドレス変換テーブル34は、読み出し始点アドレス値保持レジスタ35−1〜35−nの中から、識別番号信号S30が示す識別番号に対応する論理回路の完全回路情報の読み出し始点アドレス値が格納されている読み出し始点アドレス値保持レジスタを選択し、識別番号信号S30が示す識別番号に対応する論理回路の完全回路情報の読み出し始点アドレス値を読み出し始点アドレス信号A34として出力する。
【0077】
また、差分回路情報アドレス変換テーブル36は、識別番号保持レジスタ20に格納されている識別番号と、特定命令アドレス値検出部30から新たに与えられる識別番号信号S30が示す識別番号とを監視し、識別番号の遷移があった場合において、識別番号の遷移に対応して出力すべき差分回路情報の読み出し始点アドレス値が格納されている読み出し始点アドレス値保持レジスタが存在する場合には、これを選択し、識別番号の遷移に対応して出力すべき差分回路情報の読み出し始点アドレス値を読み出し始点アドレス信号A36として出力し、識別番号の遷移に対応して出力すべき差分回路情報が存在しない場合には、全ビットが“0”である読み出し始点アドレス信号A36を出力する。
【0078】
また、特定命令アドレス値検出部30から識別番号信号S30が出力されると、OR回路33が出力する特定命令アドレス値検出信号S33が“1”となり、トグル回路43とアドレスカウンタ45とアドレスカウンタ48とが初期化される。また、再構成動作制御部38が出力する再構成動作制御信号S38が“1”となり、アドレスカウンタ45がイネーブルとされる。
【0079】
ここで、差分回路情報アドレス変換テーブル36が出力する読み出し始点アドレス信号A36の全ビットが“0”の場合、即ち、回路情報源15から完全回路情報を読み出す場合には、AND回路40が出力する差分回路情報有効フラグ信号S40=“0”となる。この結果、マルチプレクサ41は、完全回路情報アドレス変換テーブル34が出力する読み出し始点アドレス信号A34を選択し、これをアドレスカウンタ45の初期値入力端子に与える。
【0080】
これに応答して、アドレスカウンタ45は、読み出し始点アドレス信号A34の値を初期値に設定し、そのカウント値A45をクロック信号CLKに同期して1ずつインクリメントして、これを読み出しアドレス信号として回路情報源15に与える。この結果、回路情報源15は、読み出し始点アドレスから順に回路情報を順に出力し、出力された回路情報は、Dフリップフロップ49を介してマルチプレクサ50に与えられる。
【0081】
また、この場合、差分回路情報有効フラグ信号S40=“0”であるから、トグル回路43では、トグル信号S43A=“1”に固定され、マルチプレクサ50は、Dフリップフロップ49から出力される回路情報を選択し、これを再構成可能な論理回路12の回路情報保持レジスタ19に転送する。そして、読み出し終了検出部51は、アドレスカウンタ45のカウント回数を監視し、アドレスカウンタ45のカウント回数が回路情報源15から完全回路情報を出力するのに必要な回数になったときは、回路情報源15からの回路情報の読み出しが終了したことを示す読み出し終了検出信号S51を出力する。
【0082】
これに対して、特定命令アドレス値検出部30が識別番号信号S30を出力し、特定命令アドレス値検出信号S33=“1”となった場合において、差分回路情報アドレス変換テーブル36が出力する読み出し始点アドレス信号A36に“1”が含まれる場合、即ち、差分回路情報アドレス変換テーブル36が差分回路情報を読み出すための読み出し始点アドレス信号A36を出力した場合は、差分回路情報有効フラグ信号S40=“1”となる。
【0083】
この結果、マルチプレクサ41は、差分回路情報アドレス変換テーブル36が出力する読み出し始点アドレス信号A36を選択して、これをアドレスカウンタ45の初期値入力端子に与える。また、マルチプレクサ42は、回路情報源15の出力を選択して、これをアドレスカウンタ48に加算値として与える。
【0084】
また、トグル回路43はイネーブルとされる。この結果、アドレスカウンタ48は、マルチプレクサ42を介して加算値入力端子に与えられる回路情報源15が出力する回路情報のうち、スキップ数を選択し、これを加算値とする。また、マルチプレクサ50は、トグル信号S43Aに制御されて、アドレスカウンタ48が出力するカウント値A48と回路情報源15が出力する回路情報とを交互に出力する。この場合、カウント値A48は、再構成可能な論理回路12内の再構成を必要とする番地の情報として再構成可能な論理回路12に与えられる。
【0085】
また、トグル回路43は、特定命令アドレス値検出信号S33=“1”を初期化信号としてクロック信号CLKの立ち上がりタイミングで検出すると、特定命令アドレス値検出信号S33を1クロック分遅延させた内部信号S43Cを出力する。そして、内部信号S43C=“1”がクロック信号CLKの立ち上がりタイミングで内部的に検出されると、差分回路情報有効フラグ信号S40=“1”の間、再書き込み制御信号S43B=“1”とする。
【0086】
図10は図5に示す論理再構成制御部16の動作例を示すタイミングチャートであり、回路情報源15から図3に示す差分回路情報W(A→B)を読み出す場合を例にしており、識別番号保持レジスタ20に論理回路Aの識別番号が保持されている場合において、特定命令アドレス値検出部30が、再構成可能な論理回路12に論理回路Bを再構成して処理を行うプログラム部分をスキップする特定命令のアドレス値を検出し、サイクルNで、論理回路Bの識別番号を示す識別番号信号S30を出力し、特定命令アドレス値検出信号S33=“1”になった場合を示している。
【0087】
このように、サイクルNで特定命令アドレス値検出信号S33=“1”になると、トグル回路43は、サイクルN+1の開始時のクロック信号CLKの立ち上がりタイミングで特定命令アドレス値検出信号S33=“1”を検出して、トグル信号S43Aとして、クロック信号CLKに同期して“1”と“0”とを交互に出力する。
【0088】
また、本例では、差分回路情報アドレス変換テーブル36の読み出し始点アドレス保持レジスタ37−1〜37−uのいずれかには論理回路Bの論理回路Aとの差分回路情報W(A→B)の読み出し始点アドレス値が格納されているので、サイクルN+1で、差分回路情報アドレス変換テーブル36から差分回路情報W(A→B)の読み出し始点アドレス値=Rであることを示す読み出し始点アドレス信号A36が出力される。この結果、OR回路39の出力信号S39=“1”となる。
【0089】
また、再構成動作制御部38では、クロック信号CLKの立ち上がりタイミングで特定命令アドレス値検出信号S33=“1”が検出され、再構成動作制御信号S38=“1”となり、差分回路情報有効フラグ信号S40=“1”となる。したがって、マルチプレクサ41は、差分回路情報アドレス変換テーブル36が出力する読み出し始点アドレス信号A36を選択し、マルチプレクサ42は、回路情報源15から読み出されるデータを選択する。
【0090】
また、サイクルN+1では、アドレスカウンタ45は、クロック信号CLKの立ち上がりタイミングで特定命令アドレス値検出信号S33を検出して初期化を行うが、初期値入力端子に読み出し始点アドレス信号A36=Rが与えられているので、アドレスカウンタ45のカウント値A45=Rとなり、これが読み出しアドレス信号としてマルチプレクサ47を介して回路情報源15に与えられる。この結果、回路情報源15のR番地から「スキップ数=1」というデータが出力される。
【0091】
また、アドレスカウンタ48は、クロック信号CLKの立ち上がりタイミングで特定命令アドレス値検出信号S33を検出して初期化を行うが、初期値入力端子に0が与えられているので、アドレスカウンタ48のカウント値A48=0となる。また、トグル回路43の内部信号S43C=“1”となる。
【0092】
次に、サイクルN+2になると、トグル回路43では、クロック信号CLKの立ち上がりタイミングでその内部信号S43C=“1”が検出され、再書き込み制御信号S43B=“1”となる。この結果、再構成可能な論理回路12は、論理再構成制御部16から再構成アドレス(再構成可能な論理回路12内の再構成を必要とする番地情報)及び回路情報が時分割で転送させてくることを知る。
【0093】
また、アドレスカウンタ48は、クロック信号CLKの立ち上がりタイミングでトグル信号S43Aの“1”を検出し、加算値入力端子に与えられているスキップ数=1の加算を行い、そのカウント値A48=0+1=1とする。また、トグル信号S43A=“0”となるので、マルチプレクサ50は、アドレスカウンタ48のカウント値A48=1を選択し、このカウント値A48=1が再構成アドレスとして再構成可能な論理回路12に転送される。これにより、再構成可能な論理回路12は、次に論理再構成制御部16から転送されてくるデータは、再構成可能な論理回路12内の1番地の回路情報であることが知らされる。
【0094】
また、アドレスカウンタ45は、クロック信号CLKの立ち上がりタイミングで、イネーブル信号入力端子ENに与えられている再構成動作制御信号S38=“1”を検出し、カウント値A45=Rに1を加算し、カウント値A45=R+1とし、このカウント値A45=R+1が読み出しアドレス信号としてマルチプレクサ47を介して回路情報源15に与えられる。この結果、回路情報源15のR+1番地から「再構成可能な論理回路12内の1番地の回路情報(D1)」が出力される。
【0095】
次に、サイクルN+3になると、Dフリップフロップ49の出力信号S49=「再構成可能な論理回路12内の1番地の回路情報(D1)」となる。また、トグル信号S43A=“1”となる。この結果、マルチプレクサ50は、Dフリップフロップ49の出力信号S49=「再構成可能な論理回路12内の1番地の回路情報(D1)」を選択し、これが再構成可能な論理回路12に転送される。
【0096】
また、アドレスカウンタ45は、クロック信号CLKの立ち上がりタイミングで、イネーブル信号入力端子ENに与えられている再構成動作制御信号S38=“1”を検出し、カウント値A45=R+1に1を加算し、カウント値A45=R+2とし、このカウント値A45=R+2が読み出しアドレス信号としてマルチプレクサ47を介して回路情報源15に与えられる。この結果、回路情報源15のR+2番地から「スキップ数=6」というデータが出力され、このデータがマルチプレクサ42を介してアドレスカウンタ48の加算値入力端子に与えられる。
【0097】
次に、サイクルN+4になると、アドレスカウンタ48は、クロック信号CLKの立ち上がりタイミングでトグル信号S43Aの“1”を検出し、加算値入力端子に与えられているスキップ数=6の加算を行い、そのカウント値S46=1+6=7とする。また、トグル信号S43A=“0”となる。この結果、マルチプレクサ50は、アドレスカウンタ48のカウント値A48=7を選択し、このカウント値A48=7が再構成アドレスとして再構成可能な論理回路12に転送される。これにより、再構成可能な論理回路12は、次に論理再構成制御部16から転送されてくるデータは、再構成可能な論理回路12内の7番地の回路情報であることが知らされる。
【0098】
また、アドレスカウンタ45は、クロック信号CLKの立ち上がりタイミングで、イネーブル信号入力端子ENに与えられている再構成動作制御信号S38=“1”を検出し、カウント値A45=R+2に1を加算し、カウント値A45=R+3とし、このカウント値A45=R+3が読み出しアドレス信号としてマルチプレクサ47を介して回路情報源15に与えられる。この結果、回路情報源15のR+3番地から「再構成可能な論理回路12内の7番地の回路情報(D7)」が出力される。
【0099】
次に、サイクルN+5になると、Dフリップフロップ49の出力信号S49=「再構成可能な論理回路12内の7番地の回路情報(D7)」となる。また、トグル信号S43A=“1”となる。この結果、マルチプレクサ50は、Dフリップフロップ49の出力信号S49=「再構成可能な論理回路12内の7番地の回路情報(D7)」を選択し、これが再構成可能な論理回路12に転送される。
【0100】
また、アドレスカウンタ45は、クロック信号CLKの立ち上がりタイミングで、イネーブル信号入力端子ENに与えられている再構成動作制御信号S38=“1”を検出し、カウント値A45=R+3に1を加算し、カウント値A45=R+4とし、このカウント値A45=R+4が読み出しアドレス信号としてマルチプレクサ47を介して回路情報源15に与えられる。この結果、回路情報源15のR+4番地から終了コード(END)が出力される。したがって、サイクルN+5では、読み出し終了検出部51は、この終了コード(END)を検出し、読み出し終了検出信号S51=“1”とする。
【0101】
また、再構成動作制御部38は、クロック信号CLKの立ち上がりタイミングで読み出し終了検出信号S51=“1”を検出し、再構成動作制御信号S38=“0”とする。この結果、差分回路情報有効フラグ信号S40=“0”となり、再書き込み制御信号S43B=“0”となる。ここで、再構成可能な論理回路12では、再書き込み制御信号S43B=“0”となることから、回路情報保持レジスタ19は読み出しモードとなる。
【0102】
以上のように、本発明の第1実施形態によれば、論理再構成制御部16は、再構成可能な論理回路12を再構成する場合、回路情報源15が今回構成すべき論理回路の前回構成した論理回路との差分回路情報を保持している場合には、回路情報源15から該差分回路情報を読み出し、再構成可能な論理回路12内の再構成を必要とする番地の情報を作成し、該番地と該番地の回路情報との再構成可能な論理回路12の回路情報保持レジスタ19への転送を行うので、再構成可能な論理回路12の再構成時間を短縮し、データ処理の高速化を図ることができる。
【0103】
(第2実施形態)
図11は本発明の第2実施形態の一部分を示す回路図である。本発明の第2実施形態は、本発明の第1実施形態が備える論理再構成制御部16と回路構成の異なる論理再構成制御部55を備えるようにし、その他については、本発明の第1実施形態と同様に構成したものである。論理再構成制御部55は、論理再構成制御部16に、差分回路情報作成回路56と、差分回路情報作成制御回路57とを追加したものである。
【0104】
差分回路情報作成回路56は、回路情報源15に格納されている完全回路情報から差分回路情報を作成して回路情報源15に格納するものである。差分回路情報作成制御回路57は、差分回路情報作成回路56を制御し、論理再構成制御部55が再構成可能な論理回路12の初期化動作及び再構成制御動作を実行していない期間を利用して差分回路情報作成回路56に差分回路情報を作成させるものである。
【0105】
図12は本発明の第2実施形態の動作例を示すタイミングチャートであり、回路情報源15には論理回路Aの完全回路情報WA、論理回路Bの完全回路情報WB、論理回路Cの完全回路情報WC、及び、論理回路Dの完全回路情報WDが記憶されており、差分回路情報は記憶されていない場合を例としている。
【0106】
図12中、(A)は論理再構成制御部55による特定命令アドレス値の検出状況、(B)は論理再構成制御部55からCPU9へのウェイト制御信号、(C)は識別番号保持レジスタ20の保持内容、(D)は再構成可能な論理回路12の状態、(E)は回路情報源15からの読み出しデータ、(F)は差分回路情報の作成・保存状況、(G)は回路情報源15の記憶領域Z4、Z5、Z6の状態を示している。
【0107】
なお、図示は省略するが、回路情報源15の記憶領域Z0には論理回路Aの完全回路情報WAが格納され、記憶領域Z1には論理回路Bの完全回路情報WBが格納され、記憶領域Z2には論理回路Cの完全回路情報WCが格納され、記憶領域Z3には論理回路Dの完全回路情報WDが格納されているものとする。
【0108】
また、(A)に示す矢印23〜26は、図4に示したものと同一のものである。即ち、矢印23は、論理再構成制御部55がシステムバス10から再構成可能な論理回路12に論理回路Aを再構成して処理を実行させるプログラム部分をスキップする特定命令のアドレス値を検出したことを示している。矢印24は、論理再構成制御部55がシステムバス10から再構成可能な論理回路12に論理回路Bを再構成して処理を実行させるプログラム部分をスキップする特定命令のアドレス値を検出したことを示している。
【0109】
矢印25は、論理再構成制御部55がシステムバス10から再構成可能な論理回路12に論理回路Cを再構成して処理を実行させるプログラム部分をスキップする特定命令のアドレス値を検出したことを示している。矢印26は、論理再構成制御部55がシステムバス10から再構成可能な論理回路12に論理回路Dを再構成して処理を実行させるプログラム部分をスキップする特定命令のアドレス値を検出したことを示している。
【0110】
ここで、論理再構成制御部55が、矢印23で示す時点で、例えば、再構成可能な論理回路12に論理回路Aを再構成して処理を行うプログラム部分をスキップする特定命令のアドレス値を検出すると、論理再構成制御部55は、論理回路Aの識別番号を識別番号保持レジスタ20に保持し、回路情報源15の記憶領域Z0から論理回路Aの完全回路情報WAを読み出して回路情報保持レジスタ19に転送する。この結果、再構成可能な論理回路12は、論理回路Aを構成し、論理回路Aに任された処理を実行する。
【0111】
その後、例えば、論理回路Aによる処理が終了する前に、論理再構成制御部55が、矢印24で示す時点で、再構成可能な論理回路12に論理回路Bを再構成して処理を行うプログラム部分をスキップする特定命令のアドレス値を検出すると、論理再構成制御部55は、再構成可能な論理回路12は論理回路Aとして動作中であることから、CPU9に対してウェイト制御をかける。本例では、論理再構成制御部55は、CPU9に対してウェイト制御をかけると、識別番号保持レジスタ20の更新が保留される。
【0112】
ここで、差分回路情報作成制御回路57は、論理回路の識別番号が論理回路Aの識別番号から論理回路Bの識別番号に遷移しているので、ウェイト期間を利用して、回路情報源15の回路情報を元に、差分回路情報作成回路56に論理回路Bの論理回路Aとの差分回路情報W(A→B)を作成させる。差分回路情報作成回路56は、作成した差分回路情報W(A→B)を回路情報源15の、例えば、記憶領域Z4に格納する。
【0113】
その後、論理再構成制御部55は、再構成可能な論理回路12から論理回路Aによる処理の終了通知を受けると、CPU9に対するウェイト制御を解除し、論理回路Bの識別番号を識別番号保持レジスタ20に書き込み、識別番号保持レジスタ20を更新する。
【0114】
この場合は、再構成可能な論理回路12に構成されている論理回路Aを論理回路Bに構成し直す場合であるが、回路情報源15には、論理回路Bの論理回路Aとの差分回路情報W(A→B)が存在するので、論理再構成制御部55は、回路情報源15の記憶領域Z4から差分回路情報W(A→B)を読み出して、再構成可能な論理回路12内の再構成する番地の情報と、再構成する番地の回路情報とを回路情報保持レジスタ19に転送する。この結果、再構成可能な論理回路12は、論理回路Bを構成し、論理回路Bに任された処理を実行し、論理回路Bによる処理が終了すると、論理回路Bの動作を停止する。
【0115】
その後、論理再構成制御部55が、矢印25で示す時点で、例えば、再構成可能な論理回路12に論理回路Cを再構成して処理を行うプログラム部分をスキップする特定命令のアドレス値を検出すると、論理再構成制御部55は、回路情報源15の記憶領域Z2から論理回路Cの完全回路情報WCを読み出して回路情報保持レジスタ19に転送する。この結果、再構成可能な論理回路12は、論理回路Cを構成し、論理回路Cに任された処理が実行される。
【0116】
ここで、差分回路情報作成制御回路57は、論理回路Cの動作期間を利用して、回路情報源15の回路情報を元に、差分回路情報作成回路56に論理回路Cの論理回路Bとの差分回路情報W(B→C)を作成させる。差分回路情報作成回路56は、作成した差分回路情報W(B→C)を回路情報源15の、例えば、記憶領域Z5に格納する。
【0117】
その後、例えば、再構成可能な論理回路12が論理回路Cとしての動作が完了していないときに、論理再構成制御部55が、矢印26で示す時点で、例えば、再構成可能な論理回路12に論理回路Dを再構成して処理を行うプログラム部分をスキップする特定命令のアドレス値を検出すると、論理再構成制御部55は、再構成可能な論理回路12は論理回路Cとしての動作中であることから、CPU9に対してウェイト制御をかける。
【0118】
この場合、論理再構成制御部55は、論理回路Dの識別番号を識別番号保持レジスタ20に書き込むことを保留する。そして、差分回路情報作成制御回路57は、論理回路Cの動作期間を利用して、回路情報源15の回路情報を元に、差分回路情報作成回路56に論理回路Dの論理回路Cとの差分回路情報W(C→D)を作成させる。差分回路情報作成回路56は、作成した差分回路情報W(C→D)を回路情報源15の、例えば、記憶領域Z6に格納する。
【0119】
その後、論理再構成制御部55は、再構成可能な論理回路12から論理回路Cによる処理の終了通知を受けると、CPU9に対するウェイト制御を解除する。そして、図示は省略するが、論理再構成制御部55は、論理回路Dの識別番号を識別番号保持レジスタ20に書き込み、識別番号保持レジスタ20を更新する。
【0120】
この場合は、再構成可能な論理回路12に構成されている論理回路Cを論理回路Dに構成し直す場合であるが、回路情報源15には、論理回路Dの論理回路Cとの差分回路情報W(C→D)が存在するので、論理再構成制御部55は、回路情報源15の記憶領域Z6から差分回路情報W(C→D)を読み出して、再構成可能な論理回路12内の再構成する番地の情報と、再構成する番地の回路情報とを回路情報保持レジスタ19に転送する。この結果、再構成可能な論理回路12は、論理回路Dを構成し、論理回路Dに任された処理を実行する。
【0121】
なお、図12に示す例において、差分回路情報W(A→B)の作成中に、差分回路情報W(A→B)が完全回路情報WBを上回った場合には、図13に示すように、差分回路情報W(A→B)の作成及び回路情報源15への保存を中止する。この場合には、再構成可能な論理回路12には、論理回路Bを構成するための回路情報として完全回路情報WBが転送される。
【0122】
図14は論理再構成制御部55の一部分の構成例を示す回路図である。図14に示す論理再構成制御部55は、図5に示す論理再構成制御部16に、差分回路情報作成回路56と、差分回路情報作成制御回路57と、マルチプレクサ59とを付加すると共に、差分回路情報作成回路56から、差分回路情報アドレス変換テーブル36の読み出し始点アドレス値保持レジスタ37−1〜37−uに、作成した差分回路情報の読み出し始点アドレスを書き込むようにしたものである。
【0123】
差分回路情報作成制御回路57は、再構成可能な論理回路12が今回構成した論理回路による処理の実行中に、特定命令アドレス値検出部30が新たに識別番号信号S30を出力した場合において、再構成可能な論理回路12に次回構成する論理回路の今回構成している論理回路との差分回路情報が存在しない場合に、再構成可能な論理回路12に次回構成する論理回路の今回構成している論理回路との差分回路情報の作成を差分回路情報作成回路56に指示すると共に、差分回路情報作成制御信号S57を“1”とし、その他の場合は、差分回路情報作成制御信号S57を“0”とする。
【0124】
マルチプレクサ59は、差分回路情報作成制御回路57が出力する差分回路情報作成制御信号S57により選択動作が制御され、差分回路情報作成制御信号S57=“0”のときは、マルチプレクサ47の出力信号(アドレスカウンタ44のカウント値A44又はアドレスカウンタ45のカウント値A45)を選択して回路情報源15に与え、差分回路情報作成制御信号S57=“1”のときは、差分回路情報作成回路56が出力するアドレス信号を回路情報源15に与えるものである。
【0125】
ここで、差分回路情報作成制御回路57が再構成可能な論理回路12に次回構成する論理回路の今回構成している論理回路との差分回路情報の作成を差分回路情報作成回路56に指示すると、差分回路情報作成回路56は、回路情報源15から今回構成している論理回路の完全回路情報と次回構成する論理回路の完全回路情報とを読み出して、再構成可能な論理回路12に次回構成する論理回路の今回構成している論理回路との差分回路情報を作成し、作成した差分回路情報と回路情報源15内のアドレスとを回路情報源15に与え、作成した差分回路情報を回路情報源15に書き込むと共に、回路情報源15に格納した差分回路情報の回路情報源15内の先頭アドレス(読み出し開始アドレス)を差分回路情報アドレス変換テーブル36内の読み出し始点アドレス値保持レジスタに書き込む。
【0126】
図15は差分回路情報作成制御回路57の一部分の構成例を示す回路図である。この構成例では、差分回路情報作成制御回路57は、開始トリガ信号生成回路61と、有限状態マシン62と、書き込みポインタ生成回路63と、書き込み制御信号生成回路64とを備えている。
【0127】
開始トリガ信号生成回路61は、差分回路情報作成回路56に対して差分回路情報作成の指示を与えるための開始トリガ信号TRを生成するものであり、図16は開始トリガ信号生成回路61の構成例を示す回路図である。図16中、67は差分回路情報アドレス変換テーブル36が出力する読み出し始点アドレス信号A36を入力するための入力端子、68はOR回路33が出力する特定命令アドレス値検出信号S33を入力するための入力端子、69は再構成動作制御部38が出力する再構成動作制御信号S38を入力するための入力端子、70は開始トリガ信号TRが出力される出力端子である。
【0128】
71は差分回路情報アドレス変換テーブル36が出力する読み出し始点アドレス信号A36の全ビットをNOR処理するNOR回路、72はNOR回路71の出力信号と特定命令アドレス値検出信号S33とをAND処理するAND回路、73はAND回路72の出力信号を取り込むDフリップフロップ73である。
【0129】
74は再構成動作制御信号S38とAND回路72の出力信号とをAND処理するAND回路、75は再構成動作制御信号S38を反転するインバータ、76はRSフリップフロップであり、セット端子SにAND回路74の出力信号が与えられ、リセット端子Rにインバータ75の出力信号が与えられるものである。
【0130】
77はRSフリップフロップ76の正相出力信号を取り込むDフリップフロップ、78はDフリップフロップ77の正相出力信号とRSフリップフロップ76の正相出力信号とを入力し、Dフリップフロップ77の正相出力信号とRSフリップフロップ76の正相出力信号の反転信号とをAND処理するAND回路である。
【0131】
79はRSフリップフロップ76の正相出力信号とDフリップフロップ73の正相出力信号とを入力し、RSフリップフロップ76の正相出力信号の反転信号とDフリップフロップ73の正相出力信号とをAND処理するAND回路、80はAND回路78の出力信号とAND回路79の出力信号とをOR処理して開始トリガ信号TRを出力するOR回路である。
【0132】
このように構成された開始トリガ信号生成回路61においては、特定命令アドレス値検出信号S33=“1”、再構成動作制御信号S38=“1”、NOR回路71の出力信号=“1”の場合、即ち、特定命令アドレス値検出部30が新たに識別番号信号S30を出力した場合において、差分回路情報アドレス変換テーブル36が出力した読み出し始点アドレス信号A36の全ビットが“0”の場合(特定命令アドレス値検出部30が新たに出力した識別番号信号S30が示す識別番号に対応する論理回路の差分回路情報が回路情報源15に保持されていない場合)に、開始トリガ信号TR=“1”となり、差分回路情報作成回路56に対して差分回路情報の作成が指示される。
【0133】
また、図15において、有限状態マシン62は、差分回路情報作成回路56に与える制御ステート信号CS1〜CS4を生成するものである。図17は有限状態マシン62の状態遷移図であり、有限状態マシン62は、アイドル状態、遷移前読み出し状態、遷移後読み出し状態、スキップ長書き込み状態、差分回路情報書き込み状態のいずれかの状態を取る。
【0134】
アイドル状態は、開始トリガ信号TRを出力する前の状態であり、アイドル状態時には、制御ステート信号CS1=“0”、CS2=“0”、CS3=“0”、CS4=“0”とされる。遷移前読み出し状態は、識別番号信号S30が示す識別番号に遷移があった場合に、遷移前の識別番号が示す論理回路の再構成可能な論理回路12内の各番地の回路情報を回路情報源15から読み出す状態であり、遷移前読み出し状態時には、制御ステート信号CS1=“1”、CS2=“0”、CS3=“0”、CS4=“0”とされる。
【0135】
遷移後読み出し状態は、識別番号信号S30が示す識別番号に遷移があった場合に、遷移後の識別番号が示す論理回路の再構成可能な論理回路12内の各番地の回路情報を回路情報源15から読み出す状態であり、遷移後読み出し状態時には、制御ステート信号CS1=“0”、CS2=“1”、CS3=“0”、CS4=“0”とされる。
【0136】
スキップ長書き込み状態は、回路情報源15に差分回路情報内のスキップ長情報を書き込む状態であり、スキップ長書き込み状態時には、制御ステート信号CS1=“0”、CS2=“0”、CS3=“1”、CS4=“0”とされる。差分回路情報書き込み状態は、回路情報源15に差分回路情報を書き込む状態であり、差分回路情報書き込み状態時には、制御ステート信号CS1=“0”、CS2=“0”、CS3=“0”、CS4=“1”とされる。
【0137】
本例では、有限状態マシン62は、最初はアイドル状態にある。このアイドル状態時に、開始トリガ信号TRが出力されると、有限状態マシン62は、次のサイクルで、遷移前読み出し状態に遷移し、更に、次のサイクルで、遷移後読み出し状態に遷移する。そして、遷移前読み出し状態時に読み出した回路情報と遷移後読み出し状態時に読み出した回路情報とが一致する場合(後述する比較結果信号diff=“0”の場合)には、有限状態マシン62は、次のサイクルで、遷移前読み出し状態に戻り、不一致の場合(後述する比較結果信号diff=“1”の場合)には、次のサイクルで、スキップ長書き込み状態に遷移する。
【0138】
有限状態マシン62は、スキップ長書き込み状態になると、次サイクルで、差分回路情報書き込み状態に遷移する。そして、有限状態マシン62は、差分回路情報作成回路56が出力する後述する読み出し終点検出信号RE=“1”になるか、又は、差分回路情報の書き込み量が最大値になった場合(条件aの場合)にはアイドル状態に戻り、その他の場合(条件bの場合)には、遷移前読み出し状態に遷移する。
【0139】
また、図15において、書き込みポインタ生成回路63は、差分回路情報作成回路56が作成した差分回路情報の読み出し始点アドレス値を書き込むべき差分回路情報アドレス変換テーブル36内の読み出し始点アドレス値保持レジスタを指示する書き込みポインタを生成するものであり、識別番号遷移情報記憶部82を備えている。識別番号遷移情報記憶部82は、識別番号信号S30が示す識別番号に遷移があった場合において、差分回路情報を作成して回路情報源15に書き込んだ場合に、この場合の識別番号の遷移情報(遷移パターン)を書き込むものである。
【0140】
この書き込みポインタ生成回路63は、識別番号信号S30と、識別番号保持レジスタ20の保持値とを入力し、識別番号信号S30が示す識別番号の遷移があった場合に、識別番号遷移情報記憶部82内に今回の遷移パターンが記憶されていない場合には、差分回路情報作成回路56が作成する差分回路情報の読み出し始点アドレス値を格納する差分回路情報アドレス変換テーブル36内の読み出し始点アドレス値保持レジスタを指示する書き込みポインタを生成するものである。
【0141】
書き込み制御信号生成回路64は、3入力のAND回路83を備えている。AND回路83は、制御ステート信号CS4と、後述する読み出し終了検出信号REと、後述する書き込みオーバーフロー信号OFとを入力し、制御ステート信号CS4と、読み出し終了検出信号REと、書き込みオーバーフロー信号OFの反転信号とをAND処理し、差分回路情報アドレス変換テーブル36内の差分回路情報アドレス値保持レジスタへの差分回路情報作成回路56が作成した差分回路情報の読み出し始点アドレス値の書き込みを制御する書き込み制御信号を生成するものである。
【0142】
AND回路83は、制御ステート信号CS4=“1”、読み出し終了検出信号RE=“1”、書き込みオーバーフロー信号OF=“0”の場合、即ち、有限状態マシン62が差分回路情報書き込み状態にあり、完全回路情報の読み出しが終了した場合で、かつ、差分回路情報の回路情報源15内の書き込み区間長(アドレス数)を越えていない場合に書き込み制御信号=“1”とし、差分回路情報アドレス変換テーブル36内の読み出し始点アドレス値保持レジスタへの書き込みを可能する。
【0143】
図18は差分回路情報作成回路56の一部分の構成例を示す回路図である。図18中、85は完全回路情報アドレス変換テーブル34から出力されるアドレス信号A34が与えられる入力端子、86は遷移前アドレス保持レジスタである。遷移前アドレス保持レジスタ86は、識別番号保持レジスタ20に保持されている識別番号に対応して出力された完全回路情報の読み出し始点アドレスを格納するものである。
【0144】
87は第1読み出しアドレスカウンタである。第1読み出しアドレスカウンタ87は、クロック信号CLKに同期して動作し、識別番号信号S30が示す識別番号が遷移した場合に、遷移前の識別番号(識別番号保持レジスタ20に格納されている識別番号)に対応する論理回路の完全回路情報が格納されている回路情報源15内のアドレス値を生成するものである。
【0145】
この第1読み出しアドレスカウンタ87は、開始トリガ信号TRが初期化信号入力端子に与えられ、遷移前アドレス保持レジスタ86の保持値が初期値入力端子に与えられ、制御ステート信号CS1がイネーブル信号入力端子ENに与えられ、クロック信号CLKの立ち上がり時に、イネーブル信号入力端子ENに与えられている制御ステート信号CS1=“1”のときは、クロック信号CLKの立ち上がりタイミングでカウント値A87に1を加算する。
【0146】
88は第2読み出しアドレスカウンタである。第2読み出しアドレスカウンタ88は、クロック信号CLKに同期して動作し、識別番号信号S30が示す識別番号が遷移した場合に、遷移後の識別番号に対応する論理回路の完全回路情報が格納されている回路情報源15内のアドレス値を生成するものである。
【0147】
この第2読み出しアドレスカウンタ88は、開始トリガ信号TRが初期化信号入力端子に与えられ、完全回路情報アドレス変換テーブル34から出力されるアドレス信号A34が初期値入力端子に与えられ、制御ステート信号CS2がイネーブル信号入力端子ENに与えられ、クロック信号CLKの立ち上がり時に、イネーブル信号入力端子ENに与えられている制御ステート信号CS2=“1”のときは、クロック信号CLKの立ち上がりタイミングでカウント値A88に1を加算する。
【0148】
89はマルチプレクサである。マルチプレクサ89は、制御ステート信号CS2により選択動作が制御され、制御ステート信号CS2=“0”のときは、第1読み出しアドレスカウンタ87のカウント値A87を選択し、制御ステート信号CS2=“1”のときは、第2読み出しアドレスカウンタ88のカウント値A88を選択するものである。
【0149】
90はDフリップフロップであり、開始トリガ信号TRをクロック信号CLKの1サイクル分遅延するものである。91は書き込み始点アドレスカウンタである。書き込み始点アドレスカウンタ91は、クロック信号CLKに同期して動作し、作成した差分回路情報を書き込むべき回路情報源15内の先頭アドレス(書き込み始点アドレス)を示すアドレス信号を生成するものである。
【0150】
この書き込み始点アドレスカウンタ91は、0が初期値入力端子に与えられ、1つの差分回路情報に割り当てられている回路情報源15内の最大区間長(最大アドレス数)LH2が加算値入力端子Xに与えられ、Dフリップフロップ90の出力信号がイネーブル信号入力端子に与えられ、クロック信号CLKの立ち上がり時に、イネーブル信号入力端子ENに与えられているDフリップフロップ90の出力信号=“1”のときは、クロック信号CLKの立ち上がりタイミングでカウント値A91にLH2を加算する。
【0151】
92は加算器である。加算器92は、書き込み始点アドレスカウンタ91のカウント値A91と、差分回路情報を記憶する領域として割り当てられている回路情報源15内の記憶領域の先頭アドレス値ST−ADDとを加算するものである。93は加算器92の出力値が与えられる出力端子である。出力端子93に与えられる加算器92の出力値は、差分回路情報の読み出し始点アドレス値RSAとして差分回路情報アドレス変換テーブル36に与えられる。本例では、Dフリップフロップ90と、書き込み始点アドレスカウンタ91と、加算器92とで、読み出し始点アドレス値生成回路が構成されている。
【0152】
94はOR回路である。OR回路94は、制御ステート信号CS3、CS4と、後述するDフリップフロップ107の出力信号S107とをOR処理するものである。95は書き込みアドレスカウンタである。書き込みアドレスカウンタ95は、クロック信号CLKに同期して動作し、回路情報源15に与える差分回路情報を書き込むためのアドレス値を生成するものである。
【0153】
この書き込みアドレスカウンタ95は、開始トリガ信号TRが初期化信号入力端子に与えられ、加算器92の出力値が初期値入力端子に与えられ、OR回路94の出力信号がイネーブル信号入力端子ENに与えられ、クロック信号CLKの立ち上がり時に、イネーブル信号入力端子ENに与えられているOR回路94の出力信号S94=“1”のときは、クロック信号CLKの立ち上がりタイミングでカウント値A95に1を加算する。
【0154】
96はマルチプレクサである。マルチプレクサ96は、OR回路94の出力信号S94により選択動作が制御されるものであり、OR回路94の出力信号S94=“0”のときは、マルチプレクサ89の出力値を選択し、OR回路94の出力信号S94=“1”のときは、書き込みアドレスカウンタ95のカウント値A95を選択し、回路情報源15に与えるアドレス信号を出力するものである。97はマルチプレクサ96からアドレス信号が出力される出力端子である。
【0155】
98は回路情報源15から読み出された回路情報RDが与えられる入力端子、99は回路情報源15から読み出された回路情報を保持する回路情報保持レジスタ、100は比較器である。比較器100は、回路情報保持レジスタ99に保持されている回路情報RGと回路情報源15から読み出された回路情報RDとを比較して比較結果信号diffを出力するものであり、回路情報保持レジスタ99に保持されている回路情報RGと回路情報源15から読み出された回路情報RDとが一致する場合には、比較結果信号diff=“0”、不一致の場合には、比較結果信号diff=“1”とする。
【0156】
101はAND回路であり、比較器100が出力する比較結果信号diffと制御ステート信号CS2とを入力し、比較結果信号diffの反転信号と制御ステート信号CS2とをAND処理するものである。102はデータ連続カウンタである。データ連続カウンタ102は、回路情報源15に書き込む差分回路情報内のスキップ長SKを生成するものであり、開始トリガ信号TRが第1の初期化信号入力端子に与えられ、制御ステート信号CS4が第2の初期化信号入力端子に与えられ、AND回路101の出力信号がイネーブル信号入力端子ENに与えられるものである。
【0157】
このデータ連続カウンタ102は、開始トリガ信号TR=“1”となると、初期値を0とし、その後、制御ステート信号CS4=“1”となると、初期値を1に再設定し、また、クロック信号CLKの立ち上がり時に、イネーブル信号入力端子ENに与えられているAND回路101の出力信号=“1”のときは、クロック信号CLKの立ち上がりタイミングでカウント値(スキップ長SK)に1を加算する。
【0158】
103はマルチプレクサである。マルチプレクサ103は、制御ステート信号CS3により選択動作が制御され、制御ステート信号CS3=“1”のときは、データ連続カウンタ102が出力するスキップ長SKを選択し、制御ステート信号CS3=“0”のときは、回路情報保持レジスタ99が保持する回路情報RGを選択するものである。
【0159】
104は比較器である。比較器104は、第2読み出しアドレスカウンタ88が初期化以後に出力したアドレス数Y1と、1つの完全回路情報に割り当てられている回路情報源15内の区間長(アドレス数)LH1とを比較し、読み出し終点検出信号REを出力するものであり、Y1>LH1となったときは、読み出し終点検出信号RE=“1”とし、その他の場合には、読み出し終点検出信号RE=“0”とする。105は比較器104から読み出し終点検出信号REが出力される出力端子である。
【0160】
106はAND回路であり、読み出し終点検出信号REと制御ステート信号CS4とをAND処理するものである。107はAND回路106の出力信号をクロック信号CLKの2サイクル分遅延する2段構成のDフリップフロップである。
【0161】
108はマルチプレクサである。マルチプレクサ108は、Dフリップフロップ107の出力信号により選択動作が制御され、Dフリップフロップ107の出力信号S107=“1”のときは、終了コード供給源(図示せず)から与えられる終了コードを選択し、Dフリップフロップ107の出力信号S107=“0”のときは、マルチプレクサ103の出力信号(回路情報RG又はスキップ長SK)を選択し、回路情報源15への書き込みデータWDを出力するものである。109はマルチプレクサ108から書き込みデータWDが出力される出力端子である。
【0162】
110は比較器である。比較器110は、書き込みアドレスカウンタ95が初期化以後に出力したアドレス数Y2と、1つの差分回路情報に割り当てられている回路情報源15内の最大区間長(最大アドレス数)LH2とを比較し、現在、回路情報源15に書き込んでいる差分回路情報が最大区間長LH2をオーバーしたか否かを示す書き込みオーバーフロー信号OFを出力するものであり、Y2>LH2になると、書き込みオーバーフロー信号OF=“1”としてオーバーフローが発生したことを示し、その他の場合には、書き込みオーバーフロー信号OF=“0”とする。
【0163】
111は制御ステート信号CS3、CS4をOR処理するOR回路である。112はAND回路であり、OR回路111の出力信号と書き込みオーバーフロー信号OFとを入力し、OR回路111の出力信号と書き込みオーバーフロー信号OFの反転信号とをAND処理するものである。
【0164】
113はDフリップフロップ107の出力信号とAND回路112の出力信号とをOR処理し、回路情報源15への書き込み制御信号WRを出力するOR回路である。114はOR回路113から書き込み制御信号WRが出力される出力端子である。なお、回路情報源15は、書き込み制御信号WR=“1”のときは書き込みモードとなり、書き込み制御信号WR=“0”のときは読み出しモードとなる。
【0165】
図19〜図21は図18に示す差分回路情報作成回路56の動作例を示すタイミングチャート、図22〜図31は図18に示す差分回路情報作成回路56の動作例を説明するための回路図であり、図3に示す論理回路Aの完全回路情報WAと、図3に示す論理回路Bの完全回路情報WBとから、図3に示す差分回路情報W(A→B)を作成する場合、即ち、識別番号保持レジスタ20に論理回路Aを示す識別番号が保持されているときに、特定命令アドレス値検出部30から論理回路Bを示す識別番号信号S30が出力された場合を例にしている。
【0166】
図19〜図21において、(A)はクロック信号CLK、(B)は有限状態マシン(FMS)62の状態、(C)は回路情報源15からの読み出しデータRD、(D)はデータ連続カウンタ102が出力するスキップ長SK、(E)は回路情報保持レジスタ99が保持する回路情報RG、(F)は比較器100が出力する比較結果信号diff、(G)は回路情報源15への書き込みデータWD、(H)は第1読み出しアドレスカウンタ87のカウント値A87、(I)は第2読み出しアドレスカウンタ88のカウント値A88、(J)は書き込みアドレスカウンタ95のカウント値A95、(K)は回路情報源15への書き込み制御信号WR、(L)は開始トリガ信号TRを示している。
【0167】
なお、本例では、論理回路Aの完全回路情報WA中の再構成可能な論理回路12の0番地の回路情報をda0、1番地の回路情報をda1、2番地の回路情報をda2、3番地の回路情報をda3、4番地の回路情報をda4、5番地の回路情報をda5、6番地の回路情報をda6、7番地の回路情報をda7と記す。
【0168】
また、論理回路Bの完全回路情報WB中の再構成可能な論理回路12の0番地の回路情報をdb0、1番地の回路情報をdb1、2番地の回路情報をdb2、3番地の回路情報をdb3、4番地の回路情報をdb4、5番地の回路情報をdb5、6番地の回路情報をdb6、7番地の回路情報をdb7と記す。
【0169】
本例では、サイクルS0で、有限状態マシン62はアイドル状態にあり、このサイクルS0で、開始トリガ信号TR=“1”になったとしている。なお、本例では、識別番号保持レジスタ20に論理回路Aを示す識別番号が保持されているときに、特定命令アドレス値検出部30から論理回路Bを示す識別番号信号S30が出力された場合を例にしているので、この時点では、既に、遷移前アドレス保持レジスタ86には、完全回路情報アドレス変換テーブル34が出力した論理回路Aの完全回路情報WAの読み出し始点アドレス値Pが格納されている。
【0170】
次に、サイクルS1になると、第1読み出しアドレスカウンタ87、第2読み出しアドレスカウンタ88、書き込みアドレスカウンタ95及びデータ連続カウンタ102では、クロック信号CLKの立ち上がりタイミングで開始トリガ信号TR=“1”が検出され、初期化される。ここで、遷移前アドレス保持レジスタ86には、論理回路Aの完全回路情報WAの読み出し始点アドレスPが格納されているので、このPが第1読み出しアドレスカウンタ87の初期値信号入力端子に与えられ、第1読み出しアドレスカウンタ87のカウント値A87=Pとなる。
【0171】
また、前サイクルS0では開始トリガ信号TR=“1”となったことから、サイクルS1では、有限状態マシン62は遷移前読み出し状態に遷移し、図22に示すように、制御ステート信号CS1=“1”、CS2=“0”、CS3=“0”、CS4=“0”の状態となる。この結果、OR回路94の出力信号S94=“0”となる。また、OR回路111の出力信号=“0”、書き込み制御信号WR=“0”となり、回路情報源15は読み出しモードとなる。
【0172】
また、マルチプレクサ89は、第1読み出しアドレスカウンタ87のカウント値A87=Pを選択し、マルチプレクサ96は、マルチプレクサ89が出力する第1読み出しアドレスカウンタ87のカウント値A87=Pを選択し、マルチプレクサ96の出力値A96=Pが読み出しアドレス信号として回路情報源15に与えられ、回路情報源15からP番地に格納されている論理回路Aの完全回路情報WA中の再構成可能な論理回路12の0番地の回路情報da0が読み出される。
【0173】
また、回路情報源15内のアドレスのうち、差分回路情報に対して割り当てられているアドレスの先頭のアドレスをRとすると、サイクルS1では、加算器92の出力値=Rとなり、これが書き込みアドレスカウンタ95の初期値信号入力端子に与えられるので、書き込みアドレスカウンタ95のカウント値A95=Rとなる。また、データ連続カウンタ102が出力するスキップ長SK=0となる。また、Dフリップフロップ90の出力信号=“1”となる。
【0174】
次に、サイクルS2になると、図23に示すように、回路情報保持レジスタ99には入力端子98に与えられていた論理回路Aの完全回路情報WA中の再構成可能な論理回路12内の0番地の回路情報da0が格納される。ここで、論理回路Aを示す識別番号から論理回路Bを示す識別番号への遷移があると、完全回路情報アドレス変換テーブル34が出力するアドレス値はQとなり、このQが第2読み出しアドレスカウンタ88の初期値信号入力端子に与えられるので、第2読み出しアドレスカウンタ88のカウント値A88=Qとなる。
【0175】
また、有限状態マシン62は、前サイクルS1では遷移前読み出し状態にあったので、サイクルS2では遷移後読み出し状態に遷移し、制御ステート信号CS1=“0”、CS2=“1”、CS3=“0”、CS4=“0”となる。
【0176】
この結果、マルチプレクサ89は、第2読み出しアドレスカウンタ88のカウント値A88=Qを選択し、マルチプレクサ96は、マルチプレクサ89が出力する第2読み出しアドレスカウンタ88のカウント値A88=Qを選択し、マルチプレクサ96の出力値A96=Qが読み出しアドレス信号として回路情報源15に与えられ、回路情報源15からQ番地に格納されている論理回路Bの完全回路情報WB中の再構成可能な論理回路12の0番地の回路情報db0が読み出される。
【0177】
ここで、回路情報da0=回路情報db0であるから、比較器100の比較結果信号diff=“0”、AND回路101の出力値=“1”となる。また、第1読み出しアドレスカウンタ87は、クロック信号CLKの立ち上がり時に、制御ステート信号CS1=“1”を検出し、そのカウント値A87をP+1とする。また、書き込み始点アドレスカウンタ91は、クロック信号CLKの立ち上がり時に、Dフリップフロップ90の出力信号=“1”を検出し、そのカウント値=LH2とする。
【0178】
次に、サイクルS3になると、図24に示すように、回路情報保持レジスタ99には入力端子98に与えられていた論理回路Bの完全回路情報WB中の再構成可能な論理回路12内の0番地の回路情報db0が格納される。また、前サイクルS2では、有限状態マシン62は遷移後読み出し状態にあり、かつ、比較器100が出力する比較結果信号diff=“0”であったので、サイクルS3では、有限状態マシン62は遷移前読み出し状態に遷移し、制御ステート信号CS1=“1”、CS2=“0”、CS3=“0”、CS4=“0”となる。
【0179】
この結果、マルチプレクサ89は、第1読み出しアドレスカウンタ87のカウント値A87=P+1を選択し、マルチプレクサ96は、マルチプレクサ89が出力する第1読み出しアドレスカウンタ87のカウント値A87=P+1を選択し、マルチプレクサ96の出力値A96=P+1が回路情報源15に読み出しアドレス信号として与えられ、回路情報源15からP+1番地に格納されている論理回路Aの完全回路情報WA中の再構成可能な論理回路12の1番地の回路情報da1が読み出される。
【0180】
ここで、回路情報da1≠回路情報db0であるから、比較器100の比較結果信号diff=“1”、AND回路101の出力値=“0”となる。また、第2読み出しアドレスカウンタ88は、クロック信号CLKの立ち上がり時に、制御ステート信号CS2=“1”を検出し、そのカウント値A88をQ+1とする。また、データ連続カウンタ102は、クロック信号CLKの立ち上がりタイミングでAND回路101の出力=“1”を検出し、その出力であるスキップ長SKを1とする。
【0181】
次に、サイクルS4になると、図25に示すように、回路情報保持レジスタ99には入力端子98に与えられていた論理回路Aの完全回路情報WA中の再構成可能な論理回路12内の1番地の回路情報da1が格納される。また、有限状態マシン62は、前サイクルS3では遷移前読み出し状態にあったので、遷移後読み出し状態に遷移し、制御ステート信号CS1=“0”、CS2=“1”、CS3=“0”、CS4=“0”となる。
【0182】
この結果、マルチプレクサ89は、第2読み出しアドレスカウンタ88のカウント値A88=Q+1を選択し、マルチプレクサ96は、マルチプレクサ89が出力する第2読み出しアドレスカウンタ88のカウント値A88=Q+1を選択し、マルチプレクサ96の出力値A96=Q+1が回路情報源15に読み出しアドレス信号として与えられ、回路情報源15からQ+1番地に格納されている論理回路Bの完全回路情報WB中の再構成可能な論理回路12の1番地の回路情報db1が読み出される。
【0183】
ここで、回路情報da1≠回路情報db1であるから、比較器100の比較結果信号diff=“1”となる。また、第1読み出しアドレスカウンタ87は、クロック信号CLKの立ち上がり時に、制御ステート信号CS1=“1”を検出し、そのカウント値A87をP+2とする。
【0184】
次に、サイクルS5になると、図26に示すように、回路情報保持レジスタ99には入力端子98に与えられていた論理回路Bの完全回路情報WB中の再構成可能な論理回路12内の1番地の回路情報db1が格納される。また、前サイクルS4では、有限状態マシン62は遷移後読み出し状態にあり、かつ、比較器100が出力する比較結果信号diff=“1”であったので、サイクルS5では、有限状態マシン62はスキップ長書き込み状態に遷移し、制御ステート信号CS1=“0”、CS2=“0”、CS3=“1”、CS4=“0”となる。
【0185】
また、OR回路111の出力信号=“1”、書き込み制御信号WR=“1”となり、回路情報源15は、書き込みモードとなる。したがって、マルチプレクサ96は、書き込みアドレスカウンタ95のカウント値A95=Rを選択し、マルチプレクサ96の出力値A96=Rが書き込みアドレス信号として回路情報源15に与えられる。
【0186】
また、マルチプレクサ103は、データ連続カウンタ102が出力するスキップ長SK=1を選択し、このスキップ長SK=1がマルチプレクサ108及び出力端子109を介して書き込みデータWDとして回路情報源15に与えられる。この結果、回路情報源15のR番地には、スキップ長SK=1が書き込まれる。また、第2読み出しアドレスカウンタ88は、クロック信号CLKの立ち上がり時に、制御ステート信号CS2=“1”を検出し、そのカウント値A88をQ+2とする。
【0187】
次に、サイクルS6になると、有限状態マシン62は、前サイクルS5ではスキップ長書き込み状態にあったので、差分回路情報書き込み状態に遷移し、図27に示すように、制御ステート信号CS1=“0”、CS2=“0”、CS3=“0”、CS4=“1”となる。この結果、OR回路94の出力信号S94=“1”を維持する。また、書き込みアドレスカウンタ95は、クロック信号CLKの立ち上がり時に、OR回路94の出力信号S94=“1”を検出し、そのカウント値A95=R+1とする。サイクルS6では、書き込み制御信号WR=“1”は変化しない。
【0188】
また、マルチプレクサ96は、書き込みアドレスカウンタ95のカウント値A95=R+1を選択し、マルチプレクサ96の出力値A96=R+1が書き込みアドレス信号として回路情報源15に与えられる。また、回路情報保持レジスタ99が保持している回路情報db1がマルチプレクサ103により選択され、マルチプレクサ108及び出力端子109を介して回路情報源15に与えられる。この結果、回路情報源15のR+1番地には、論理回路Bの完全回路情報WB中の再構成可能な論理回路12内の1番地の回路情報db1が書き込まれる。
【0189】
次に、サイクルS7になると、前サイクルS6では、有限状態マシン62は差分回路情報書き込み状態にあったが、読み出し終点検出信号RE=“1”にはならなかったし、差分回路情報の書き込み量が最大値にもならなかったので、有限状態マシン62は、遷移前読み出し状態に遷移し、図28に示すように、制御ステート信号CS1=“1”、CS2=“0”、CS3=“0”、CS4=“0”となる。この結果、OR回路94の出力信号S94=“0”となる。また、OR回路111の出力信号=“0”、書き込み制御信号WR=“0”となり、回路情報源15は読み出しモードとなる。
【0190】
そこで、マルチプレクサ89は、第1読み出しアドレスカウンタ87のカウント値A87=P+2を選択し、マルチプレクサ96は、マルチプレクサ89が出力する第1読み出しアドレスカウンタ87のカウント値A87=P+2を選択し、マルチプレクサ96の出力値A96=P+2が読み出しアドレス信号として回路情報源15に与えられ、回路情報源15から論理回路Aの完全回路情報WA中の再構成可能な論理回路12内の2番地の回路情報da2が読み出される。また、書き込みアドレスカウンタ95は、クロック信号CLKの立ち上がり時に、OR回路94の出力信号S94=“1”を検出し、そのカウント値A95をR+2とする。
【0191】
次に、サイクルS8になると、図29に示すように、回路情報保持レジスタ99には、入力端子98に与えられていた論理回路Aの完全回路情報WA中の再構成可能な論理回路12内の2番地の回路情報da2が格納される。また、有限状態マシン62は、前サイクルS7では遷移前読み出し状態にあったので、遷移後読み出し状態に遷移し、制御ステート信号CS1=“0”、CS2=“1”、CS3=“0”、CS4=“0”となる。
【0192】
この結果、マルチプレクサ89は、第2読み出しアドレスカウンタ88のカウント値A88=Q+2を選択し、マルチプレクサ96は、マルチプレクサ89が出力する第2読み出しアドレスカウンタ88のカウント値A88=Q+2を選択し、マルチプレクサ96の出力値A96=Q+2が読み出しアドレス信号として回路情報源15に与えられ、回路情報源15からQ+2番地に格納されている論理回路Bの完全回路情報WB中の再構成可能な論理回路12の2番地の回路情報db2が読み出される。
【0193】
ここで、回路情報da2=回路情報db2であるから、比較器100の比較結果信号diff=“0”、AND回路101の出力信号=“1”となる。また、第1読み出しアドレスカウンタ87は、クロック信号CLKの立ち上がり時に、制御ステート信号CS1=“1”を検出し、そのカウント値A87=P+3とする。
【0194】
以下、同様に動作し、サイクルS9では、有限状態マシン62の状態=遷移前読み出し状態、回路情報源15からの読み出しデータRD=da3、データ連続カウンタ102が出力するスキップ長SK=2、回路情報保持レジスタ99が保持するデータRG=db2、比較結果信号diff=1、回路情報源15への書き込みデータWD=ドント・ケア、第1読み出しアドレスカウンタ87のカウント値A87=P+3、第2読み出しアドレスカウンタ88のカウント値A88=Q+3、書き込みアドレスカウンタ95のカウント値A95=R+2、書き込み制御信号WR=“0”の状態となる。
【0195】
また、サイクルS10では、有限状態マシン62の状態=遷移後読み出し状態、回路情報源15からの読み出しデータRD=db3、データ連続カウンタ102が出力するスキップ長SK=2、回路情報保持レジスタ99が保持するデータRG=da3、比較結果信号diff=0、回路情報源15への書き込みデータWD=ドント・ケア、第1読み出しアドレスカウンタ87のカウント値A87=P+4、第2読み出しアドレスカウンタ88のカウント値A88=Q+3、書き込みアドレスカウンタ95のカウント値A95=R+2、書き込み制御信号WR=“0”の状態となる。
【0196】
また、サイクルS11では、有限状態マシン62の状態=遷移前読み出し状態、回路情報源15からの読み出しデータRD=da4、データ連続カウンタ102が出力するスキップ長SK=3、回路情報保持レジスタ99が保持するデータRG=db3、比較結果信号diff=1、回路情報源15への書き込みデータWD=ドント・ケア、第1読み出しアドレスカウンタ87のカウント値A87=P+4、第2読み出しアドレスカウンタ88のカウント値A88=Q+4、書き込みアドレスカウンタ95のカウント値A95=R+2、書き込み制御信号WR=“0”の状態となる。
【0197】
また、サイクルS12では、有限状態マシン62の状態=遷移後読み出し状態、回路情報源15からの読み出しデータRD=db4、データ連続カウンタ102が出力するスキップ長SK=3、回路情報保持レジスタ99が保持するデータRG=da4、比較結果信号diff=0、回路情報源15への書き込みデータWD=ドント・ケア、第1読み出しアドレスカウンタ87のカウント値A87=P+5、第2読み出しアドレスカウンタ88のカウント値A88=Q+4、書き込みアドレスカウンタ95のカウント値A95=R+2、書き込み制御信号WR=“0”の状態となる。
【0198】
次に、サイクルS13では、有限状態マシン62の状態=遷移前読み出し状態、回路情報源15からの読み出しデータRD=da5、データ連続カウンタ102が出力するスキップ長SK=4、回路情報保持レジスタ99が保持するデータRG=db4、比較結果信号diff=1、回路情報源15への書き込みデータWD=ドント・ケア、第1読み出しアドレスカウンタ87のカウント値A87=P+5、第2読み出しアドレスカウンタ88のカウント値A88=Q+5、書き込みアドレスカウンタ95のカウント値A95=R+2、書き込み制御信号WR=“0”の状態となる。
【0199】
次に、サイクルS14では、有限状態マシン62の状態=遷移後読み出し状態、回路情報源15からの読み出しデータRD=db5、データ連続カウンタ102が出力するスキップ長SK=4、回路情報保持レジスタ99が保持するデータRG=da5、比較結果信号diff=0、回路情報源15への書き込みデータWD=ドント・ケア、第1読み出しアドレスカウンタ87のカウント値A87=P+6、第2読み出しアドレスカウンタ88のカウント値A88=Q+5、書き込みアドレスカウンタ95のカウント値A95=R+2、書き込み制御信号WR=“0”の状態となる。
【0200】
次に、サイクルS15では、有限状態マシン62の状態=遷移前読み出し状態、回路情報源15からの読み出しデータRD=da6、データ連続カウンタ102が出力するスキップ長SK=5、回路情報保持レジスタ99が保持するデータRG=db5、比較結果信号diff=1、回路情報源15への書き込みデータWD=ドント・ケア、第1読み出しアドレスカウンタ87のカウント値A87=P+6、第2読み出しアドレスカウンタ88のカウント値A88=Q+6、書き込みアドレスカウンタ95のカウント値A95=R+2、書き込み制御信号WR=“0”の状態となる。
【0201】
次に、サイクルS16では、有限状態マシン62の状態=遷移後読み出し状態、回路情報源15からの読み出しデータRD=db6、データ連続カウンタ102が出力するスキップ長SK=5、回路情報保持レジスタ99が保持するデータRG=da6、比較結果信号diff=0、回路情報源15への書き込みデータWD=ドント・ケア、第1読み出しアドレスカウンタ87のカウント値A87=P+7、第2読み出しアドレスカウンタ88のカウント値A88=Q+6、書き込みアドレスカウンタ95のカウント値A95=R+2、回路情報源15への書き込み制御信号WR=“0”の状態となる。
【0202】
次に、サイクルS17では、有限状態マシン62の状態=遷移前読み出し状態、回路情報源15からの読み出しデータRD=da7、データ連続カウンタ102が出力するスキップ長SK=6、回路情報保持レジスタ99が保持するデータRG=db6、比較結果信号diff=1、回路情報源15への書き込みデータWD=ドント・ケア、第1読み出しアドレスカウンタ87のカウント値A87=P+7、第2読み出しアドレスカウンタ88のカウント値A88=Q+7、書き込みアドレスカウンタ95のカウント値A95=R+2、書き込み制御信号WR=“0”の状態となる。
【0203】
また、サイクルS18では、有限状態マシン62の状態=遷移後読み出し状態、回路情報源15からの読み出しデータRD=db7、データ連続カウンタ102が出力するスキップ長SK=6、回路情報保持レジスタ99が保持するデータRG=da7、比較結果信号diff=1、回路情報源15への書き込みデータWD=ドント・ケア、第1読み出しアドレスカウンタ87のカウント値A87=P+8、第2読み出しアドレスカウンタ88のカウント値A88=Q+7、書き込みアドレスカウンタ95のカウント値A95=R+2、書き込み制御信号WR=“0”の状態となる。
【0204】
また、サイクルS19では、有限状態マシン62の状態=スキップ長書き込み状態、回路情報源15からの読み出しデータRD=ドント・ケア、データ連続カウンタ102が出力するスキップ長SK=6、回路情報保持レジスタ99が保持するデータRG=db7、比較結果信号diff=1、回路情報源15への書き込みデータWD=6、第1読み出しアドレスカウンタ87のカウント値A87=P+8、第2読み出しアドレスカウンタ88のカウント値A88=Q+8、書き込みアドレスカウンタ95のカウント値A95=R+2、書き込み制御信号WR=“1”の状態となる。
【0205】
ここで、1つの完全回路情報の回路情報源15内の区間長LH1=8であるが、サイクルS19では、第2読み出しアドレスカウンタ88が出力したアドレス数Y1=9となるので、Y1>LH1となる。この結果、比較器104の出力信号、即ち、読み出し終了信号RE=“1”となり、AND回路106の出力信号=“1”となる。
【0206】
次に、サイクルS20になると、有限状態マシン62は、前サイクルS19ではスキップ長書き込み状態にあったので、差分回路情報書き込み状態に遷移し、図30に示すように、制御ステート信号CS1=“0”、CS2=“0”、CS3=“0”、CS4=“1”となる。この結果、OR回路94の出力信号S94=“1”を維持する。また、OR回路111の出力信号=“1”、AND回路112の出力信号=“1”、書き込み制御信号WR=“1”となる。
【0207】
また、書き込みアドレスカウンタ95は、クロック信号CLKの立ち上がりタイミングでOR回路94の出力信号S94=“1”を検出し、そのカウント値A95=R+3とする。また、マルチプレクサ96は、書き込みアドレスカウンタ95のカウント値A95=R+3を選択し、これが書き込みアドレス信号として回路情報源15に与えられる。
【0208】
また、回路情報保持レジスタ99が保持する回路情報db7がマルチプレクサ103、108及び出力端子109を介して書き込みデータWDとして回路情報源15に与えられる。この結果、回路情報源15のR+3番地には、論理回路Bの完全回路情報WB中の再構成可能な論理回路12内の7番地の回路情報db7が書き込まれる。
【0209】
次に、サイクルS21になると、前サイクルS20では、有限状態マシン62は差分回路情報書き込み状態にあり、かつ、読み出し終点検出信号RE=“1”となったので、有限状態マシン62は、アイドル状態に遷移する。また、図31に示すように、Dフリップフロップ107の出力信号S107=“1”となり、マルチプレクサ108は、終了コード供給源から与えられる終了コードを選択し、回路情報源15への書き込みデータとして終了コードを出力する。
【0210】
また、OR回路113の出力信号、即ち、回路情報源15への書き込み制御信号WR=“1”となる。また、書き込みアドレスカウンタ95は、クロック信号CLKの立ち上がり時に、OR回路94の出力信号S94=“1”を検出し、そのカウント値A95=R+4とし、これが書き込みアドレス信号として回路情報源15に与えられる。この結果、マルチプレクサ108から出力される終了コードは、回路情報源15のR+4番地に書き込まれる。
【0211】
以上のように、本発明の第2実施形態においては、差分回路情報作成回路56は、回路情報源15に格納されている完全回路情報を元に差分回路情報を作成して回路情報源15に書き込むものとしている。また、差分回路情報作成制御回路57は、論理再構成制御部55が再構成可能な論理回路12の初期化動作及び再構成制御動作を実行していない期間を利用して差分回路情報作成回路56に差分回路情報を作成させるものとしている。
【0212】
したがって、本発明の第2実施形態によれば、論理再構成制御部55は、再構成可能な論理回路12を再構成する場合、再構成可能な論理回路12に今回構成すべき論理回路の前回構成した論理回路との差分回路情報を回路情報源15に保持させている場合には、回路情報源15から該差分回路情報を読み出し、再構成可能な論理回路12内の再構成を必要とする番地の情報を作成し、該番地の情報と該番地の回路情報との再構成可能な論理回路12内の回路情報保持レジスタ19への転送を行うので、再構成可能な論理回路12の再構成時間を短縮し、データ処理の高速化を図ることができる。
【0213】
なお、回路情報源15内の差分回路情報の使用回数を記憶する記憶手段を備え、前記記憶手段に回路情報源15内の差分回路情報の使用回数を記憶し、前記使用回数を考慮して、回路情報源15内の差分回路情報の更新対象を決めるようにしても良い。この記憶手段として、回路情報源15を使用しても良い。
【0214】
(第3実施形態)
図32は本発明の第3実施形態の一部分を示す回路図である。本発明の第3実施形態は、本発明の第2実施形態が備える論理再構成制御部55と回路構成の異なる論理再構成制御部121を設け、その他については、本発明の第2実施形態と同様に構成したものである。論理再構成制御部121は、識別番号蓄積回路122を設け、その他については、論理再構成制御部55と同様に構成したものである。識別番号蓄積回路122は、先入れ先出しバッファ回路であるFIFO123を備えている。
【0215】
論理再構成制御部121は、特定命令アドレス値を検出したときは、検出した特定命令アドレス値に対応して発生させる識別番号をFIFO123に順に蓄積し、再構成可能な論理回路12が構成した論理回路による処理を終了するごとに、FIFO123に蓄積した識別番号を順に出力するようにしたものである。
【0216】
ここで、本発明の第2実施形態においては、論理再構成制御部55が再構成可能な論理回路12の動作期間中に特定命令アドレス値を検出すると、CPU9にウェイト制御をかけるため、再構成可能な論理回路12が再構成した論理回路による処理を終了するまで、CPU9は次の命令を実行することができない。
【0217】
そこで、本発明の第3実施形態は、識別番号蓄積回路122を設け、特定命令アドレス値を検出したときは、この検出した特定命令アドレス値に対応して発生させる識別番号をFIFO123に順に蓄積し、再構成可能な論理回路12が構成した論理回路による処理を終了するごとに、FIFO123に蓄積した識別番号を順に出力するようにし、論理再構成制御部121が、再構成可能な論理回路12が構成した論理回路による処理を実行中に特定命令アドレス値を検出したときであっても、FIFO123に空き領域がある場合には、CPU9にウェイト制御をかけなくても良いようにしたものである。
【0218】
図33は論理再構成制御部121の一部分の構成例を示す図である。図33に示す論理再構成制御部121は、図14に示す論理再構成制御部55が備える特定命令アドレス値検出部30と回路構成の異なる特定命令アドレス値検出部126を設け、その他については、図14に示す論理再構成制御部55と同様に構成したものである。特定命令アドレス値検出部126は、特定命令アドレス値検出部30に識別番号蓄積回路122を付加したものである。
【0219】
図34は特定命令アドレス値検出部126の一部分の構成例を示す回路図である。特定命令アドレス値検出部126は、比較器32−1〜32−mの後段に識別番号蓄積回路122を接続し、比較器32−1〜32−mが出力する識別番号信号S30を識別番号蓄積回路122内のFIFO123に格納し、FIFO123から識別番号信号S30Aを特定命令アドレス値検出部126の出力信号として出力させるようにしたものである。
【0220】
図35は識別番号蓄積回路126の一部分の構成例を示す回路図である。図35中、129はOR回路であり、識別番号信号S30の全ビットをOR処理するものである。130はAND回路であり、OR回路129の出力信号と特定命令アドレス値検出信号S33とをAND処理するものである。131はAND回路であり、CPU9へのウェイト制御信号WTとAND回路130の出力信号とを入力し、ウェイト制御信号WTの反転信号とAND回路130の出力信号とをAND処理するものである。
【0221】
132は識別番号保持レジスタ群であり、133−0、133−1、133−2、133−(z−1)は識別番号保持レジスタである。識別番号保持レジスタ133−4〜133−(z−2)は図示を省略している。
【0222】
134は書き込みポインタ生成カウンタであり、AND回路131の出力信号を入力して書き込みポインタWPを生成するものである。135は書き込み制御信号生成回路であり、AND回路131の出力信号と書き込みポインタ生成カウンタ134が出力する書き込みポインタWPとを入力し、識別番号保持レジスタ133−0〜133−(z−1)への識別番号の書き込みを制御する書き込み制御信号を生成するものである。
【0223】
136は読み出しポインタ生成カウンタであり、再構成可能な論理回路12からの再構成可能な論理回路12に構成した論理回路による処理の終了を示す処理終了通知を入力して読み出しポインタRPを生成するものである。137はマルチプレクサであり、読み出しポインタ生成カウンタ136が出力する読み出しポインタRPを入力し、識別番号保持レジスタ133−0〜133−(z−1)の中から、識別番号を読み出す識別番号保持レジスタを選択するものである。
【0224】
138は比較器であり、書き込みポインタ生成カウンタ134が出力する書き込みポインタWPの値と、読み出しポインタ生成カウンタ136が出力する読み出しポインタRPの値とを比較し、書き込みポインタWPの値と読み出しポインタRPの値とが一致するときに、その出力信号を“1”とし、その他の場合は、その出力信号を“0”とするものである。
【0225】
139は減算器であり、書き込みポインタ生成カウンタ134が出力する書き込みポインタWPの値から読み出しポインタ生成カウンタ136が出力する読み出しポインタRPの値を減算するものである。140は比較器であり、減算器139の出力値と−1とを比較し、減算器139の出力値と−1とが一致するときは、その出力信号を“1”、その他の場合は、“0”とするものである。
【0226】
141はDフリップフロップであり、比較器140の出力信号がデータ入力端子Dに与えられ、AND回路130の出力信号が“1”になると、データ入力端子Dに与えられている比較器140の出力信号を取り込むものである。142はAND回路であり、比較器138の出力信号と、AND回路130の出力信号と、Dフリップフロップ141の正相出力信号とをAND処理してウェイト制御信号WTを生成するものである。
【0227】
本例では、OR回路129と、AND回路130と、比較器138と、減算器139と、比較器140と、Dフリップフロップ141と、AND回路142とで、ウェイト制御信号生成回路が構成されている。143はインバータであり、比較器138の出力信号を反転し、転送先にイネーブル制御信号として供給するものである。
【0228】
このように構成された識別番号蓄積回路122においては、比較器32−1〜32−mから出力される識別番号信号S30が示す識別番号は、書き込み制御信号生成回路135に制御されて、識別番号保持レジスタ133−0〜133−(z−1)中の書き込みポインタWPが指示する識別番号保持レジスタに書き込まれる。
【0229】
また、比較器138の出力信号=“1”、Dフリップフロップ141の正相出力信号=“1”、AND回路130の出力信号=“1”になると、AND回路142が出力するウェイト制御信号WT=“1”となり、CPU9に対するウェイト制御が行われ、その他の場合には、ウェイト制御信号WT=“0”となり、CPU9に対するウェイト制御は実行されない。即ち、書き込みポインタ生成カウンタ134が出力する書き込みポインタWPの値が読み出しポインタ生成カウンタ136が出力する読み出しポインタRPの値に追いつくと、CPU9に対するウェイト制御が実行されるが、それ以外の場合には、CPU9に対するウェイト制御は実行されない。
【0230】
図36及び図37は本発明の第3実施形態の動作例を示すタイミングチャートであり、回路情報源15には論理回路Aの完全回路情報WA、論理回路Bの完全回路情報WB、論理回路Cの完全回路情報WC、及び、論理回路Dの完全回路情報WDが記憶されており、差分回路情報は記憶されていない場合を例としている。
【0231】
図36及び図37において、(A)は論理再構成制御部121による特定命令アドレス値の検出状況、(B)はウェイト制御信号WT、(C)は書き込みポインタWPの値、(D)はFIFO123の保持内容、(E)は読み出しポインタRPの値、(F)は再構成可能な論理回路12の状態、(G)は回路情報源15からの読み出しデータ、(H)は回路情報源15への書き込みデータ、(I)は回路情報源15の記憶領域Z4、Z5、Z6の状態を示している。
【0232】
なお、図示は省略するが、回路情報源15の記憶領域Z0には論理回路Aの完全回路情報WAが格納され、記憶領域Z1には論理回路Bの完全回路情報WBが格納され、記憶領域Z2には論理回路Cの完全回路情報WCが格納され、記憶領域Z3には論理回路Dの完全回路情報WDが格納されているものとする。
【0233】
また、(A)に示す矢印23〜26は、図4に示したものと同様のものである。即ち、矢印23は、論理再構成制御部121がシステムバス10から再構成可能な論理回路12に論理回路Aを再構成して処理を実行させるプログラム部分をスキップする特定命令のアドレス値を検出したことを示している。矢印24は、論理再構成制御部121がシステムバス10から再構成可能な論理回路12に論理回路Bを再構成して処理を実行させるプログラム部分をスキップする特定命令のアドレス値を検出したことを示している。
【0234】
矢印25は、論理再構成制御部121がシステムバス10から再構成可能な論理回路12に論理回路Cを再構成して処理を実行させるプログラム部分をスキップする特定命令のアドレス値を検出したことを示している。矢印26は、論理再構成制御部121がシステムバス10から再構成可能な論理回路12に論理回路Dを再構成して処理を実行させるプログラム部分をスキップする特定命令のアドレス値を検出したことを示している。
【0235】
ここで、特定命令アドレス値検出部126が、矢印23で示す時点で、例えば、再構成可能な論理回路12に論理回路Aを再構成して処理を行うプログラム部分をスキップする特定命令のアドレス値を検出した場合において、書き込みポインタWPの値=0の場合には、比較器32−1〜32−mから出力される論理回路Aの識別番号は、識別番号保持レジスタ133−0に書き込まれ、続いて、書き込みポインタWPの値=1とされる。
【0236】
この場合において、読み出しポインタRPの値=0の場合には、論理回路Aの識別番号が識別番号保持レジスタ133−0に書き込まれると、識別番号保持レジスタ133−0から論理回路Aの識別番号を示す識別番号信号S30Aが出力される。したがって、この場合には、論理再構成制御部121は、回路情報源15の記憶領域Z0から論理回路Aの完全回路情報WAを読み出して回路情報保持レジスタ19に転送する。この結果、再構成可能な論理回路12は、論理回路Aを構成し、論理回路Aに任された処理を実行する。
【0237】
その後、例えば、論理回路Aによる処理が終了する前に、特定命令アドレス値検出部126が、矢印24で示す時点で、再構成可能な論理回路12に論理回路Bを再構成して処理を行うプログラム部分をスキップする特定命令のアドレス値を検出すると、書き込みポインタWPの値=1とされているので、比較器32−1〜32−mから出力される論理回路Bの識別番号は、識別番号保持レジスタ133−1に書き込まれ、続いて、書き込みポインタWPの値=2とされる。この場合、再構成可能な論理回路12は、論理回路Aとして処理を動作中であるが、CPU9に対してウェイト制御をかけることはない。
【0238】
ここで、差分回路情報作成制御回路57は、再構成可能な論理回路12が論理回路Aとして処理を実行中であるので、この期間を利用して、差分回路情報作成回路56に論理回路Bの論理回路Aとの差分回路情報W(A→B)を作成させる。差分回路情報作成回路56は、作成した差分回路情報W(A→B)を回路情報源15に書き込むと共に、差分回路情報アドレス変換テーブル36内の読み出し始点アドレス保持レジスタに差分回路情報W(A→B)の読み出し始点アドレス値を書き込む。
【0239】
その後、再構成可能な論理回路12が論理回路Aとしての処理を終了すると、読み出しポインタ生成カウンタ136は、再構成可能な論理回路12から処理終了通知を受けて、読み出しポインタRPの値=1とする。この結果、識別番号保持レジスタ133−1から論理回路Bの識別番号を示す識別番号信号S30Aが出力される。
【0240】
ここで、回路情報源15には、論理回路Bの論理回路Aとの差分回路情報W(A→B)が存在するので、論理再構成制御部121は、回路情報源15の記憶領域Z4から差分回路情報W(A→B)を読み出し、再構成可能な論理回路12内の再構成を必要とする番地の情報と、再構成を必要とする番地の回路情報とを回路情報保持レジスタ19に転送する。この結果、再構成可能な論理回路12は、論理回路Bを構成し、論理回路Bに任された処理を実行し、論理回路Bによる処理が終了すると、論理回路Bによる動作を停止する。
【0241】
また、再構成可能な論理回路12は、論理回路Bによる処理が終了すると、処理終了通知を読み出しポインタ生成カウンタ136に送る。この結果、読み出しポインタ生成カウンタ136は、読み出しポインタRPの値=2とする。但し、この時点では、2番地の識別番号保持レジスタ133−2の保持値はNullである。
【0242】
その後、特定命令アドレス値検出部126が、矢印25で示す時点で、例えば、再構成可能な論理回路12に論理回路Cを再構成して処理を行うプログラム部分をスキップする特定命令のアドレス値を検出すると、比較器32−1〜32−mが出力する論理回路Cの識別番号は、2番地の識別番号保持レジスタ133−2に書き込まれる。
【0243】
この場合、読み出しポインタRPは、2番地を指しているので、回路情報源15の記憶領域Z2から論理回路Cの完全回路情報WCが読み出されて回路情報保持レジスタ19に転送される。この結果、再構成可能な論理回路12は、論理回路Cを構成し、論理回路Cに任された処理を実行する。
【0244】
ここで、差分回路情報作成制御回路57は、論理回路Cの動作期間を利用して、回路情報源15に格納されている論理回路Bの完全回路情報WBと論理回路Cの完全回路情報WCを元に、差分回路情報作成回路56に論理回路Cの論理回路Bとの差分回路情報W(B→C)を作成させる。差分回路情報作成回路56は、作成した差分回路情報W(B→C)を回路情報源15に格納すると共に、差分回路情報アドレス変換テーブル36に差分回路情報W(B→C)の読み出し始点アドレス値を書き込む。
【0245】
その後、例えば、再構成可能な論理回路12が論理回路Cとしての動作が完了していないときに、特定命令アドレス値検出部126が、矢印26で示す時点で、例えば、再構成可能な論理回路12に論理回路Dを再構成して処理を行うプログラム部分をスキップする特定命令のアドレスを検出すると、比較器32−1〜32−mから出力される論理回路Dの識別番号は、3番地の識別番号保持レジスタ133−3に書き込まれる。
【0246】
そして、差分回路情報作成制御回路57は、論理回路Cの動作期間を利用して、回路情報源15に格納されている論理回路Cの完全回路情報WCと論理回路Dの完全回路情報WDとを元に、差分回路情報作成回路56に論理回路Dの論理回路Cとの差分回路情報W(C→D)を作成させる。差分回路情報作成回路56は、作成した差分回路情報W(C→D)を回路情報源15に格納すると共に、差分回路情報アドレス変換テーブル36に差分回路情報W(C→D)の読み出し始点アドレス値を書き込む。
【0247】
以上のように、本発明の第3実施形態においては、差分回路情報作成回路56は、回路情報源15に格納されている完全回路情報を元に差分回路情報を作成して回路情報源15に書き込むものとしている。また、差分回路情報作成制御回路57は、論理再構成制御部121が再構成可能な論理回路12の初期化動作及び再構成制御動作を実行していない期間を利用して差分回路情報作成回路56に差分回路情報を作成させるものとしている。
【0248】
したがって、本発明の第3実施形態によれば、論理再構成制御部121は、再構成可能な論理回路12を再構成する場合、再構成可能な論理回路12に今回構成すべき論理回路の前回構成した論理回路との差分回路情報を回路情報源15に保持させている場合には、回路情報源15から該差分回路情報を読み出し、再構成可能な論理回路12内の再構成を必要とする番地の情報を作成し、該番地の情報と該番地の回路情報との再構成可能な論理回路12内の回路情報保持レジスタ19への転送を行うので、再構成可能な論理回路12の再構成時間を短縮し、データ処理の高速化を図ることができる。
【0249】
また、識別番号蓄積回路122は、特定命令アドレス値を検出したときは、検出した特定命令アドレス値に対応して発生される識別番号をFIFO123に順に蓄積し、再構成可能な論理回路12が構成した論理回路による処理を終了するごとに、FIFO123に蓄積した識別番号を順に出力するものとしているので、再構成可能な論理回路12が動作中に特定命令アドレス値を検出したときであっても、CPU9にウェイト制御をかけないようにすることができ、この点からも、データ処理の高速化を図ることができる。
【0250】
ここで、本発明のデータ処理装置を整理すると、本発明のデータ処理装置には、少なくとも、以下のデータ処理装置が含まれる。
【0251】
(付記1)再構成可能な論理回路と、
前記再構成可能な論理回路に構成する論理回路の回路情報を保持する回路情報源と、
前記再構成可能な論理回路の再構成を制御する論理再構成制御部とを備え、
前記論理再構成制御部は、前記回路情報源が前記再構成可能な論理回路に今回構成すべき論理回路の前回構成した論理回路との差分回路情報を保持している場合は、前記回路情報源から前記差分回路情報を読み出して前記再構成可能な論理回路の再構成を制御することを特徴とするデータ処理装置。
【0252】
(付記2)前記差分回路情報は、前記再構成可能な論理回路内の再構成を必要とする番地を算出するための情報と、前記番地の回路情報と、前記差分回路情報の終了を示す終了コードとを含むことを特徴とする付記1に記載のデータ処理装置。
【0253】
(付記3)前記論理再構成制御部は、前記再構成可能な論理回路内の再構成を必要とする番地を算出するための情報から前記再構成可能な論理回路内の再構成を必要とする番地を算出し、前記再構成可能な論理回路内の再構成を必要とする番地の情報と、前記再構成可能な論理回路に今回構成する論理回路の完全回路情報中の前記番地の回路情報とを前記再構成可能な論理回路に与えることを特徴とする付記2に記載のデータ処理装置。
【0254】
(付記4)前記論理再構成制御部は、
所定のバスを流れるアドレス信号の値を監視し、前記所定のバスから前記再構成可能な論理回路に処理を実行させるプログラム部分をスキップさせる特定命令のアドレス値を検出したときは、前記プログラム部分を実行させるために前記再構成可能な論理回路に構成すべき論理回路の識別番号を示す識別番号信号を生成する特定命令アドレス値検出部と、
前記識別番号信号が示す識別番号の遷移パターンから、前記回路情報源に前記再構成可能な論理回路に今回構成する論理回路の前回構成した論理回路との差分回路情報が存在するか否か判定する差分回路情報有無判定回路と
を備えることを特徴とする付記1又は2に記載のデータ処理装置。
【0255】
(付記5)前記特定命令アドレス値検出部は、前記識別番号信号を蓄積可能とされた識別番号蓄積回路を備え、前記再構成可能な論理回路に構成した論理回路による処理を終了するごとに前記識別番号蓄積回路から前記識別番号信号を出力することを特徴とする付記4に記載のデータ処理装置。
【0256】
(付記6)前記識別番号蓄積回路は、
識別番号信号保持用の複数のレジスタを備える先入れ先出しバッファ回路と、
CPUへのウェイト制御信号を生成するウェイト制御信号生成回路とを備え、
前記ウェイト制御信号生成回路は、前記識別番号信号保持用の複数のレジスタ中の書き込みレジスタを示す書き込みポインタの値が、前記識別番号信号保持用の複数のレジスタ中の読み出しレジスタを示す読み出しポインタの値に追いつくと、CPUへのウェイト制御信号をアサートすることを特徴とする付記5に記載のデータ処理装置。
【0257】
(付記7)前記論理再構成制御部は、前記特定命令アドレス値検出部が出力する識別番号信号が示す論理回路の識別番号を新たな保持内容として旧保持内容を更新する識別番号保持手段を備え、
差分回路情報有無判定回路は、前記識別番号保持手段が保持する識別番号と、前記特定命令アドレス値検出部が新たに出力する識別番号信号が示す識別番号とを監視し、前記特定命令アドレス値検出部が出力する識別番号信号が示す識別番号の遷移パターンから、前記回路情報源に前記再構成可能な論理回路に今回構成する論理回路の前回構成した論理回路との差分回路情報があるか否かを判定することを特徴とする付記4、5又は6に記載のデータ処理装置。
【0258】
(付記8)前記論理再構成制御部は、前記再構成可能な論理回路の再構成を制御する場合に、前記回路情報源が前記再構成可能な論理回路に今回構成する論理回路の前回構成した論理回路との差分回路情報を保持していない場合には、前記前回構成した論理回路の完全回路情報と、前記今回構成すべき論理回路の完全回路情報とから、前記差分回路情報を作成して前記回路情報源に保持させる差分回路情報作成回路を備えることを特徴とする付記1〜7のいずれか一の付記に記載のデータ処理装置。
【0259】
(付記9)前記差分回路情報作成回路は、前記差分回路情報作成回路が作成中の差分回路情報が前記再構成可能な論理回路に構成する論理回路1つ当たりに割り当てられている前記回路情報源内のアドレス数を超えたか否かを判定する判定回路を備え、前記作成中の差分回路情報が再構成可能な論理回路に構成する論理回路1つ当たりに割り当てられている前記回路情報源内のアドレス数を超えたときは、前記作成中の差分回路情報の作成を中止することを特徴とする付記8に記載のデータ処理装置。
【0260】
(付記10)前記回路情報源内の差分回路情報の使用回数を記憶する記憶手段を備え、前記論理再構成制御部は、前記記憶手段に前記回路情報源内の差分回路情報の使用回数を記憶し、前記使用回数を考慮して、前記回路情報源内の差分回路情報の更新対象を決めることを特徴とする付記8、9又は10に記載のデータ処理装置。
【図面の簡単な説明】
【0261】
【図1】本発明の第1実施形態の一部分を示す回路図である。
【図2】本発明の第1実施形態が備えるプログラム記憶手段に実装するプログラムを説明するための図である。
【図3】本発明の第1実施形態が備える回路情報源に格納する差分回路情報を説明するための図である。
【図4】本発明の第1実施形態の動作例を示すタイミングチャートである。
【図5】本発明の第1実施形態が備える論理再構成制御部の一部分の構成例を示す回路図である。
【図6】図5に示す論理再構成制御部内の特定命令アドレス値検出部の一部分の構成例を示す回路図である。
【図7】図5に示す論理再構成制御部内のトグル回路の動作例を示す波形図である。
【図8】図5に示す論理再構成制御部の初期化動作を説明するための回路図である。
【図9】図5に示す論理再構成制御部の初期化後の動作を説明するための回路図である。
【図10】図5に示す論理再構成制御部の動作例を示すタイミングチャートである。
【図11】本発明の第2実施形態の一部分を示す回路図である。
【図12】本発明の第2実施形態の動作例を示すタイミングチャートである。
【図13】本発明の第2実施形態の動作例を示すタイミングチャートである。
【図14】本発明の第2実施形態が備える論理再構成制御部の一部分の構成例を示す回路図である。
【図15】図14に示す論理再構成制御部が備える差分回路情報作成制御回路の一部分の構成例を示す回路図である。
【図16】図15に示す差分回路情報作成制御回路が備える開始トリガ信号生成回路の構成例を示す回路図である。
【図17】図15に示す差分回路情報作成制御回路が備える有限状態マシンの状態遷移図である。
【図18】本発明の第2実施形態が備える差分回路情報作成回路の一部分の構成例を示す回路図である。
【図19】図18に示す差分回路情報作成回路の動作例を示すタイミングチャートである。
【図20】図18に示す差分回路情報作成回路の動作例を示すタイミングチャートである。
【図21】図18に示す差分回路情報作成回路の動作例を示すタイミングチャートである。
【図22】図18に示す差分回路情報作成回路の動作例を説明するための回路図である。
【図23】図18に示す差分回路情報作成回路の動作例を説明するための回路図である。
【図24】図18に示す差分回路情報作成回路の動作例を説明するための回路図である。
【図25】図18に示す差分回路情報作成回路の動作例を説明するための回路図である。
【図26】図18に示す差分回路情報作成回路の動作例を説明するための回路図である。
【図27】図18に示す差分回路情報作成回路の動作例を説明するための回路図である。
【図28】図18に示す差分回路情報作成回路の動作例を説明するための回路図である。
【図29】図18に示す差分回路情報作成回路の動作例を説明するための回路図である。
【図30】図18に示す差分回路情報作成回路の動作例を説明するための回路図である。
【図31】図18に示す差分回路情報作成回路の動作例を説明するための回路図である。
【図32】本発明の第3実施形態の一部分を示す回路図である。
【図33】本発明の第3実施形態が備える論理再構成制御部の一部分の構成例を示す回路図である。
【図34】図33に示す論理再構成制御部内の特定命令アドレス値検出部の一部分の構成例を示す回路図である。
【図35】図33に示す論理再構成制御部内の識別番号蓄積回路の一部分の構成例を示す回路図である。
【図36】本発明の第3実施形態の動作例を示すタイミングチャートである。
【図37】本発明の第3実施形態の動作例を示すタイミングチャートである。
【図38】再構成可能な論理回路を備える従来のデータ処理装置の一例を示す回路図である。
【符号の説明】
【0262】
1…CPU
2…第1のメモリ
3…第2のメモリ
4…第3のメモリ
5…再構成可能論理ブロック
6…再構成可能な論理回路
7…再構成情報用メモリ
8…制御部
9…CPU
10…システムバス
11…プログラム記憶手段
12…再構成可能な論理回路
13…メモリ部
14…調停手段
15…回路情報源
16…論理再構成制御部
17、18…オブジェクト・プログラム
19…回路情報保持レジスタ
20…識別番号保持レジスタ
30…特定命令アドレス値検出部
31−1、31−2、31−m…特定命令アドレス値参照レジスタ
32−1、32−2、32−m…比較器
33…OR回路
34…完全回路情報アドレス変換テーブル
35−1、35−n…読み出し始点アドレス値保持レジスタ
36…差分回路情報アドレス変換テーブル
37−1、37−u…読み出し始点アドレス値保持レジスタ
38…再構成動作制御部
39…OR回路
40…AND回路
41、42…マルチプレクサ
43…トグル回路
44、45…アドレスカウンタ
46…初期化制御部
47…マルチプレクサ
48…アドレスカウンタ
49…Dフリップフロップ
50…マルチプレクサ
51…読み出し終了検出部
55…論理再構成制御部
56…差分回路情報作成回路
57…差分回路情報作成制御回路
61…開始トリガ信号生成回路
62…有限状態マシン
63…書き込みポインタ生成回路
64…書き込み制御信号生成回路
67〜69…入力端子
70…出力端子
71…NOR回路
72…AND回路
73…Dフリップフロップ
74…AND回路
75…インバータ
76…RSフリップフロップ
77…Dフリップフロップ
78、79…AND回路
80…OR回路
82…識別番号遷移情報記憶部
83…AND回路
85…入力端子
86…遷移前アドレス保持レジスタ
87…第1読み出しアドレスカウンタ
88…第2読み出しアドレスカウンタ
89…マルチプレクサ
90…Dフリップフロップ
91…書き込み始点アドレスカウンタ
92…加算器
93…出力端子
94…OR回路
95…書き込みアドレスカウンタ
96…マルチプレクサ
97…出力端子
98…入力端子
99…回路情報保持レジスタ
100…比較器
101…AND回路
102…データ連続カウンタ
103…マルチプレクサ
104…比較器
105…出力端子
106…AND回路
107…Dフリップフロップ
108…マルチプレクサ
109…出力端子
110…比較器
111…OR回路
112…AND回路
113…OR回路
114…出力端子
121…論理再構成制御部
122…識別番号蓄積回路
123…FIFO
126…特定命令アドレス値検出部
129…OR回路
130、131…AND回路
132…識別番号保持レジスタ群
133−i…識別番号保持レジスタ
134…書き込みポインタ生成カウンタ
135…書き込み制御信号生成回路
136…読み出しポインタ生成カウンタ
137…マルチプレクサ
138…比較器
139…減算器
140…比較器
141…Dフリップフロップ
142…AND回路
143…インバータ

【特許請求の範囲】
【請求項1】
再構成可能な論理回路と、
前記再構成可能な論理回路に構成する論理回路の回路情報を保持する回路情報源と、
前記再構成可能な論理回路の再構成を制御する論理再構成制御部と
を備え、
前記論理再構成制御部は、前記回路情報源が前記再構成可能な論理回路に今回構成すべき論理回路の前回構成した論理回路との差分回路情報を保持している場合は、前記回路情報源から前記差分回路情報を読み出して前記再構成可能な論理回路の再構成を制御する
ことを特徴とするデータ処理装置。
【請求項2】
前記論理再構成制御部は、
所定のバスを流れるアドレス信号の値を監視し、前記所定のバスから前記再構成可能な論理回路に処理を実行させるプログラム部分をスキップさせる特定命令のアドレス値を検出したときは、前記プログラム部分を実行させるために前記再構成可能な論理回路に構成すべき論理回路の識別番号を示す識別番号信号を生成する特定命令アドレス値検出部と、
前記識別番号信号が示す識別番号の遷移パターンから、前記回路情報源に前記再構成可能な論理回路に今回構成する論理回路の前回構成した論理回路との差分回路情報が存在するか否か判定する差分回路情報有無判定回路とを
備えることを特徴とする請求項1に記載のデータ処理装置。
【請求項3】
前記特定命令アドレス値検出部は、前記識別番号信号を蓄積可能とされた識別番号蓄積回路を備え、前記再構成可能な論理回路に構成した論理回路による処理を終了するごとに前記識別番号蓄積回路から前記識別番号信号を出力することを特徴とする請求項2に記載のデータ処理装置。
【請求項4】
前記論理再構成制御部は、前記再構成可能な論理回路の再構成を制御する場合に、前記回路情報源が前記再構成可能な論理回路に今回構成する論理回路の前回構成した論理回路との差分回路情報を保持していない場合には、前記前回構成した論理回路の完全回路情報と、前記今回構成すべき論理回路の完全回路情報とから、前記差分回路情報を作成して前記回路情報源に保持させる差分回路情報作成回路を備える
ことを特徴とする請求項1乃至3のいずれか一項に記載のデータ処理装置。
【請求項5】
前記回路情報源内の差分回路情報の使用回数を記憶する記憶手段を備え、前記論理再構成制御部は、前記記憶手段に前記回路情報源内の差分回路情報の使用回数を記憶し、前記使用回数を考慮して、前記回路情報源内の差分回路情報の更新対象を決めることを特徴とする請求項4に記載のデータ処理装置。

【図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

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate


【公開番号】特開2009−123129(P2009−123129A)
【公開日】平成21年6月4日(2009.6.4)
【国際特許分類】
【出願番号】特願2007−298809(P2007−298809)
【出願日】平成19年11月19日(2007.11.19)
【出願人】(308014341)富士通マイクロエレクトロニクス株式会社 (2,507)
【Fターム(参考)】