(57)【特許請求の範囲】
【請求項１】
複数の演算器及び前記演算器の接続を切り換える相互接続部を備え、前記演算器に対する演算命令及び前記演算器の接続関係を示す情報を含む少なくとも一つの構成情報から成るオブジェクトコードにしたがって各種の処理を実行するための回路を変更することが可能なデータ処理装置であって、
現在の動作状態、次に遷移する状態の候補群及び前記演算器から発行されるイベント信号に基づき、次の動作状態で用いる構成情報の、前記オブジェクトコードに含まれる各構成情報の相互関係の情報を示す論理番号を決定する状態管理部と、
前記論理番号を対応する前記構成情報が実際に保存された位置を示す実番号に変換するための変換情報を備え、前記状態管理部で決定した論理番号に対応する実番号を出力する構成番号変換部と、
前記構成情報が格納され、前記構成番号変換部から出力された実番号に対応する構成情報を前記演算器及び前記相互接続部へ通知する構成情報記憶部と、
前記状態管理部内に現在の動作状態、次に遷移する状態の候補群及び前記演算器から発行されるイベント信号に対応付けられた論理番号に対応する実番号を、その有効性と共に保持する対応実番号記憶部と、
を有し、
前記状態管理部は、
構成書換部が前記構成情報記憶部に構成情報を書き込んだ後に、前記対応実番号記憶部の更新と有効化を行うデータ処理装置。
【請求項２】
前記状態管理部は、
現在の動作状態として論理番号とは別に内部状態番号を持ち、前記構成情報に加えて内部状態番号を前記演算器及び前記相互接続部へ通知する請求項１記載のデータ処理装置。
【請求項３】
前記状態管理部は、
イベント信号が入力されると、次論理番号を決定すると同時に、前記対応実番号記憶部の読み出しを行い、前記対応実番号記憶部の内容が有効であれば、前記構成情報記憶部に実番号を出力する請求項１または２記載のデータ処理装置。
【請求項４】
前記状態管理部は、
イベント信号が入力されると、次論理番号を決定すると同時に、対応実番号記憶部の読み出しを行い、前記対応実番号記憶部の内容が無効であれば、前記構成番号変換部に論理番号を出力し、前記構成番号変換部から受け取った実番号を前記対応実番号記憶部で保持する請求項１から３のいずれか１項記載のデータ処理装置。
【請求項５】
前記状態管理部は、
前記対応実番号記憶部に実番号が無効である論理番号を含むとき、前記演算部からのイベント信号によらず前記構成番号変換部に論理番号を出力し、前記前記構成番号変換部から受け取った実番号を前記対応実番号記憶部に書き込む請求項４記載のデータ処理装置。
【請求項６】
前記状態管理部は、
構成書換部が前記構成情報記憶部の構成情報を消去する際に、前記対応実番号記憶部内の消去する実番号を無効化する請求項１から５のいずれか１項記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は所定の処理を実行する回路の変更が可能な再構成デバイスから成るデータ処理装置に関する。
【背景技術】
【０００２】
情報処理装置は、その利用範囲が広がり、より高度な演算処理あるいは画像や動画のように大量のデータを高速に処理する能力が要求されている。このような要求を満たすための手法として、ホストプロセッサとは別に特定の演算や処理を専用に実行するＤＳＰ（Digital  Signal  Processor）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等を備え、ＣＰＵ等のホストプロセッサの処理負荷を軽減することで情報処理装置としての処理能力を向上させた構成が知られている。【０００３】
しかしながら、近年の情報処理装置では、画像、動画、音声、音楽等のマルチメディアデータに対して様々な規格の圧縮／伸長処理や演算処理等が必要であり、またインターネット等のネットワークを介して各種データを送受信するための通信処理にも様々なプロトコルが用いられるようになってきている。さらに、ネットワーク上で送受信される情報の安全性が問題となっているため、情報セキュリティのための暗号化処理やそれを解読するための復号処理等も必要となる。そのため、これらの処理に応じて多数のＤＳＰやＡＳＩＣ等を備えていたのでは、情報処理装置の回路規模やコストが膨大なものとなってしまう。【０００４】
そこで、情報処理装置にＦＰＧＡ（Field  Programmable  Gate  Array）、ＣＰＬＤ（Complex  Programmable  Logic  Device）あるいはＤＲＰ（Dynamically  Reconfigurable  Processor）等の再構成デバイスから成るデータ処理装置を備え、必要に応じて該データ処理装置内のプログラムを書き換えて処理を実行させることにより、情報処理装置のスループットを向上させると共に、コストを低減しつつ様々な処理要求への対応を可能にした構成がある。【０００５】
再構成デバイスは、プログラム（オブジェクトコード）を格納するための内部メモリを備え、ＣＰＵ等の制御により外部メモリに格納されたオブジェクトコードを内部メモリへロードし、ロードしたオブジェクトコードにしたがって内部に回路を構成し、該回路により入力されたデータに対して処理を実行する。【０００６】
なお、ＤＲＰについては、例えば特許文献１〜６や非特許文献１にその詳細が記載されている。ＤＲＰは、演算処理を実行する演算部と、演算部の動作を制御する制御部とを備えた構成である。演算部は、小規模の複数の演算器とそれらの接続を切り替える相互接続部とを備え、各演算器及び相互接続部に対する命令コードを切り換えることで各種の処理を実行する。【０００７】
ＤＲＰで実行可能な処理には様々な種類があり、例えば処理の途中でメモリから他のデータを読み出し、それらのデータを用いて処理を続行する場合もある。ＤＲＰは、内部メモリを備えているが、その記憶容量は限定されていることが多い。したがって、ＤＲＰによる処理では、処理途中で大きな記憶容量を必要とするテーブルやデータを参照する際に、それらが格納されたメモリへアクセスする必要がある。そのための処理方法については、例えば特許文献７や特許文献８に記載されている。【０００８】
上記した背景技術のデータ処理装置では、処理対象となるデータに応じて生成された１つ以上の構成情報から成るオブジェクトコードにしたがって処理を実行する場合、データ処理装置に格納された構成情報の位置を直接指定しつつ、処理を実行する手法が採られている。【０００９】
ここで、構成情報とは、ある時点における演算器に対する演算命令、相互接続部における各演算器の接続関係を示す情報、イベント信号とそれに対応して次に選択すべき構成情報の関係を示す情報等を備えた、データ処理装置内に仮想的に回路を構成するために必要な情報である。オブジェクトコードは、所望の処理を実行するために必要な構成情報の集まりを示す。【００１０】
しかしながら、このような方法では、データ処置装置に複数のオブジェクトコードを搭載すると、それらのオブジェクトコードが備える構成情報の格納位置が重なる場合は、それらが重ならないようにオブジェクトコードを合成し直す必要がある。【００１１】
また、データ処理装置に複数のオブジェクトコード、あるいは大規模なオブジェクトコードを搭載した結果、データ処理装置で保持可能な構成情報数を超える場合、データ処理装置では、動作の停止、保持しているオブジェクトコードの入れ替え、再始動等の一連の処理を実行する必要がある。この動作のために外部にＭＰＵ等の処理装置が必要となる。その際、背景技術のデータ処理装置では、オブジェクトコードの合成時に決定した場所にしか構成情報を搭載できないため、同じ機能のコードから成る構成情報であっても、違う場所に搭載する場合は同じ機能のコードから成る構成情報を複数用意する必要がある。その場合、構成情報の共有化ができないため、データ処置装置で同じ構成情報を複数保持したり、同じ構成情報を再度書き換える等の処理が発生したりするため、処理が遅くなる問題があった。【００１２】
このような問題を解決するため、本出願人は、構成情報の格納先の制限を無くすと共に構成情報の共有化を可能にしたデータ処理装置を既に提案している（特願２００６−１０３９８７号：以下、先願発明１と称す）。【００１３】
この先願発明１では、上記制御部に加えて、該制御部が制御する状態遷移よりも規模が小さい所定のグループ内の状態遷移を制御する補助制御部を設け、制御部では該グループ間の状態遷移を制御し、補助制御部では各グループ内の状態遷移を制御する構成を示している。そして、このような制御構造が階層化された構成では、補助制御部が制御部よりも高速に状態の遷移を制御できるため、従来のデータ処理装置よりも高速な処理が可能であると主張している。【００１４】
しかしながら、実際に、アプリケーションからオブジェクトコードを作成し、該オブジェクトコードによるデータ処理装置の動作を検証すると、制御部によって状態の遷移を制御することが多いアプリケーションも存在する。【００１５】
その場合、状態遷移の制御元が補助制御部から制御部へ切り替わる機会が増大し、その切り替えに要する時間も増大するため、補助制御部を持たない構成よりもデータ処理装置全体の処理時間が長くなってしまうことがある。すなわち、制御構造が階層化されたデータ処理装置では、処理対象のアプリケーションによっては、制御構造が階層化されていないデータ処理装置よりも処理時間が長くなることがある。【００１６】
そこで、本出願人は、特願２００８−２１５７６４号（以下、先願発明２と称す）にて、この制御部による遷移制御を演算部の動作と同時に行うことで動作所要時間を低減する構成を提案している。【００１７】
しかしながら、先願発明２でも、各状態が多分岐する場合は演算部の動作と同時に遷移制御を行うことができないため、動作所要時間をわずかに低減できる程度に留まっている。また、補助制御部を備えることでデータ処理装置全体の制御が複雑になるという問題もある。【００１８】
また、本出願人は、特願２００９−０１９５６１号（以下、先願発明３と称す）にて、事前に論理番号及び実番号をそれぞれ割り当てたオブジェクトコードを用い、状態管理部において次論理番号と次実番号を保持することで、構成番号変換部が無くても並列演算装置で保持できる数を超える数の構成情報を備えた大規模なオブジェクトコードを実現できるデータ処理装置を提案している。【００１９】
しかしながら、先願発明３では、オブジェクトコードに論理番号及び実番号を事前に割り当てることで処理の実行時に構成情報の配置が制限されるため、データ処理装置の性能が低下することがある。また、構成情報の書き込み時、状態管理部の次論理番号及び次実番号を全て書き換えるまで演算部の動作を再開できないため、多数の状態からの遷移先となる構成情報を書き込む時に、この状態管理部の書き換えのオーバヘッドが問題となる。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】特開２０００−１３８５７９号公報
【特許文献２】特開２０００−２２４０２５号公報
【特許文献３】特開２０００−２３２３５４号公報
【特許文献４】特開２０００−２３２１６２号公報
【特許文献５】特開２００３−０７６６６８号公報
【特許文献６】特開２００３−０９９４０９号公報
【特許文献７】特開２００５−２２２１４１号公報
【特許文献８】特開２００５−２２２１４２号公報
【非特許文献】
【００２１】
【非特許文献１】Hideharu  Amano,  Akiya  Jouraku,  Kenichiro  Anjo,  "A  Dynamically  Adaptive  Hardware  on  Dynamically  Reconfigurable  Processor",  IEICE  Transactions,  Vol.  E86-B,  No.12,  pp.  3385-3391,  2003.
【発明の概要】
【００２２】
そこで本発明は、背景技術と比べて動作所要時間をより低減できるデータ処理装置を提供することを目的とする。
【００２３】
上記目的を達成するため本発明のデータ処理装置は、複数の演算器及び前記演算器の接続を切り換える相互接続部を備え、前記演算器に対する演算命令及び前記演算器の接続関係を示す情報を含む少なくとも一つの構成情報から成るオブジェクトコードにしたがって各種の処理を実行するための回路を変更することが可能なデータ処理装置であって、
現在の動作状態、次に遷移する状態の候補群及び前記演算器から発行されるイベント信号に基づき、次の動作状態で用いる構成情報の、前記オブジェクトコードに含まれる各構成情報の相互関係の情報を示す論理番号を決定する状態管理部と、
前記論理番号を対応する前記構成情報が実際に保存された位置を示す実番号に変換するための変換情報を備え、前記状態管理部で決定した論理番号に対応する実番号を出力する構成番号変換部と、
前記構成情報が格納され、前記構成番号変換部から出力された実番号に対応する構成情報を前記演算器及び前記相互接続部へ通知する構成情報記憶部と、
前記状態管理部内に現在の動作状態、次に遷移する状態の候補群及び前記演算器から発行されるイベント信号に対応付けられた論理番号に対応する実番号を、その有効性と共に保持する対応実番号記憶部と、
を有し、
前記状態管理部は、
構成書換部が前記構成情報記憶部に構成情報を書き込んだ後に、前記対応実番号記憶部の更新と有効化を行う構成である。
【図面の簡単な説明】
【００２４】
【図１】図１は、第１の実施の形態のデータ処理装置の構成を示すブロック図である。
【図２】図２は、第２の実施の形態のデータ処理装置の形態の構成を示すブロック図である。
【図３】図３は、第３の実施の形態のデータ処理装置の構成を示すブロック図である。
【図４】図４は、第４の実施の形態のデータ処理装置の構成を示すブロック図である。
【図５】図５は、第５の実施の形態のデータ処理装置の構成を示すブロック図である。
【図６】図６は、第６の実施の形態のデータ処理装置の構成を示すブロック図である。
【図７】図７は、第１実施例のデータ処理装置の構成を示すブロック図である。
【図８】図８は、第１実施例の状態遷移管理部が次論理番号の決定に用いる対応表の一例を示す模式図である。
【図９】図９は、第１実施例の構成番号変換部が論理番号から実番号への変換に用いる変換表の一例を示す模式図である。
【図１０】図１０は、第１実施例のデータ処理装置で用いるオブジェクトコードによる状態遷移図の一例を示す模式図である。
【図１１Ａ】図１１Ａは、図１０の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。
【図１１Ｂ】図１１Ｂは、図１０の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。
【図１１Ｃ】図１１Ｃは、図１０の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。
【図１１Ｄ】図１１Ｄは、図１０の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。
【図１１Ｅ】図１１Ｅは、図１０の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。
【図１２】図１２は、図７に示したデータ処理装置が備える対応実番号記憶部の一構成例を示す回路図である。
【図１３】図１３は、第２実施例のデータ処理装置の構成を示すブロック図である。
【図１４】図１４は、第２実施例の状態遷移管理部が次論理番号の決定に用いる対応表の一例を示す模式図である。
【図１５】図１５は、第２実施例のデータ処理装置で用いるオブジェクトコードによる状態遷移図の一例を示す模式図である。
【図１６Ａ】図１６Ａは、図１５の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。
【図１６Ｂ】図１６Ｂは、図１５の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。
【図１６Ｃ】図１６Ｃは、図１５の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。
【図１６Ｄ】図１６Ｄは、図１５の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。
【図１６Ｅ】図１６Ｅは、図１５の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。
【図１６Ｆ】図１６Ｆは、図１５の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。
【図１６Ｇ】図１６Ｇは、図１５の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。
【図１６Ｈ】図１６Ｈは、図１５の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。
【図１６Ｉ】図１６Ｉは、図１５の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。
【図１６Ｊ】図１６Ｊは、図１５の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。
【図１６Ｋ】図１６Ｋは、図１５の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。
【図１６Ｌ】図１６Ｌは、図１５の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。
【図１６Ｍ】図１６Ｍは、図１５の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。
【図１７】図１７は、第３実施例のデータ処理装置の構成を示すブロック図である。
【発明を実施するための形態】
【００２５】
次に本発明について図面を用いて説明する。
（第１の実施の形態）
図１は第１の実施の形態のデータ処理装置の構成を示すブロック図である。
【００２６】
以下、論理番号はオブジェクトコードに含まれる各構成情報の相互関係の情報を示し、実番号は構成情報が実際に構成情報記憶部１３に保存されている格納位置とする。
【００２７】
図１に示すように、本実施形態のデータ処理装置は、制御部１及び演算部２を有する構成である。
【００２８】
制御部１は、状態管理部１１、構成番号変換部１２、構成情報記憶部１４及び構成書換部１３を備えている。演算部２は、複数の演算器２１及び該複数の演算器２１を接続するための相互接続部２２を備えている。
【００２９】
状態管理部１１は、構成情報に含まれる現在の動作状態及び次に遷移する状態の候補群（遷移先候補群）、並びに演算部２から送出されるイベント信号に基づき、予め備える状態遷移表を用いて次の動作状態で使用する構成情報の論理番号を決定し、該決定した論理番号を構成番号変換部１２へ通知する。
【００３０】
論理番号はオブジェクトコードに含まれる各構成情報の相互関係を示す情報である。構成情報記憶部１３に保存されている構成情報の実際の格納位置は実番号によって特定される。
【００３１】
本実施形態の状態管理部１１は対応実番号記憶部１５を備える。対応実番号記憶部１５は、実番号とその実番号が有効であるか無効であるかを示す情報を一時的に保持する。状態管理部１１は、現在動作状態にある構成情報の論理番号と演算部２から送出されるイベント信号とに基づいて対応実番号記憶部１５から実番号の読み出しを試みる。対応実番号記憶部１５から有効な実番号を読み出せた場合、状態管理部１１は該実番号を構成情報記憶部１４へ通知する。対応実番号記憶部１５から無効を示す情報を読み出した場合は、対応する論理番号を構成番号変換部１２へ通知すると共に演算部２の動作を停止させる。
【００３２】
また、状態管理部１１は、構成番号変換部１２から実番号が通知されると、該実番号を対応実番号記憶部１５の所定の格納位置に書き込むと共に、該実番号が有効であることを示す情報を格納する。
【００３３】
構成番号変換部１２は、予め備える変換表を用いて状態管理部１１から通知された構成情報の論理番号を実番号に変換し、該実番号を構成情報記憶部１４及び状態管理部１１へ通知する。論理番号から実番号への変換が失敗した場合、構成情報記憶部１４に必要な構成情報が格納されていないため、構成番号変換部１２は、構成書換部１３に該論理番号を通知し、構成情報記憶部１４内の構成情報の書き換えを要求する。
【００３４】
構成書換部１３は、データ処理装置の初動時に、構成情報記憶部１３に構成情報を書き込み、状態管理部１１に状態遷移表を書き込み、構成番号変換部１２に変換表を書き込む。
【００３５】
また、構成書換部１３は、構成番号変換部１２から書き換え要求が発行されると、構成情報記憶部１４に保存された構成情報のうち、現時点で不要な構成情報の実番号を決定し、該決定した実番号が記憶された対応実番号記憶部１５内のエントリを無効にする。さらに、該実番号で特定される構成情報を、構成情報記憶部１４から要求された、指定された構成情報に書き換える。また、構成書換部１３は、状態管理部１１の該実番号の遷移先候補群と、構成番号変換部１２の論理番号から実番号への変換処理に必要な変換情報とを更新する。不要な構成情報の選択には、例えばＬＲＵ（Least  Recently  Used）法等の周知の方法を用いればよい。
【００３６】
構成書換部１３は、構成番号変換部１２からの書き換え要求に対して基本的に指定された構成情報を１つだけ書き換えるが、指定された構成情報と共にそれ以降に使用する構成情報も併せて書き換えてよい。この場合も、現時点で不要な実番号が格納された対応実番号記憶部１５のエントリの無効化、状態管理部１１の遷移先候補群及び構成番号変換部１２の論理番号から実番号への変換処理に必要な変換情報の書き換えを行う。
【００３７】
構成情報記憶部１４は、複数の構成情報を記憶する。構成情報記憶部１４は、状態管理部１１、構成番号変換部１２あるいは構成書換部１３から実番号が通知されると、通知された実番号を保持する。構成情報記憶部１４は、保持した実番号に対応する構成情報を読み出し、演算部２に通知する。また、保持した実番号を状態管理部１１に通知する。
【００３８】
対応実番号記憶部１５は、遷移先候補群と演算部２から送出されたイベント信号とにより、次の動作状態で使用する構成情報の実番号とそれが有効であるか無効であるかを示す情報とを読み出す。また、対応実番号記憶部１５は、指定された実番号を検索し、検出した全てのエントリを無効に設定する機能を備える。
【００３９】
演算部２は、順次遷移する複数の動作状態毎に構成情報記憶部１４から通知された構成情報にしたがって演算器２１を用いて演算処理を実行する。また、演算過程で発生するイベント信号を制御部１の状態管理部１１に出力する。
【００４０】
相互接続部２２は、構成情報記憶部１４から通知された構成情報にしたがって複数の演算器２１の接続関係を切り換える。
【００４１】
なお、図１に示すデータ処理装置の各構成要素は、それぞれ図１に示した機能単位で独立して備える必要はなく、任意の構成要素が他の構成要素に含まれていてもよく、任意の構成要素が複数の部品で構成されていてもよい。例えば、構成情報記憶部１４は、演算器２１や相互接続部２２がそれぞれ備える不図示のメモリによって構成されてもよい。また、図１に示すデータ処理装置の各構成要素は、その全てを１つの装置内に備える必要はない。例えば、構成書換部１３は、外部の装置や外部のＭＰＵ等で実現してもよい。
【００４２】
構成情報は、上述したように、ある時点における演算器２１に対する演算命令、相互接続部２２による各演算器２１の接続関係を示す情報、イベント信号とそれに対応して次に選択すべき構成情報の関係を示す情報等を備えた、データ処理装置内に仮想的に回路を構成するために必要な情報である。オブジェクトコードは、所望の処理を実行するために必要な構成情報の集まりを示す。
【００４３】
演算器２１は、いわゆる算術演算器（ＡＬＵ）を備えた構成、あるいは複数種類の演算器とレジスタ等の記憶素子とを組み合わせた構成が考えられる。
【００４４】
なお、状態管理部１１は、現在の状態とイベント信号とから次に遷移すべき状態を決定できればどのような構成でもよい。例えば、状態管理部１１には、各状態間の遷移関係を示す対応表を備える構成が考えられる。
【００４５】
また、構成番号変換部１２は、状態管理部１１が指定する構成情報の論理番号を実番号に変換できればどのような構成でもよい。構成番号変換部１２には、例えば論理番号と実番号の対応関係を示す変換表を備えた構成、あるいは論理番号と実番号の相対値を基準に論理番号から実番号へ変換するための機能を備えた構成が考えられる。本実施形態では、構成番号変換部１２による論理番号から実番号へ変換するための処理で必要な上記対応表や相対値等を「変換情報」と総称する。
【００４６】
以上の各構成要素に対する要件は、第１の実施の形態だけでなく、以下に記載する第２の実施の形態から第６の実施の形態、並びに第１実施例から第３実施例にも適用される。
【００４７】
本実施形態のデータ処理装置では、状態管理部１１に実番号とその実番号が有効であるか無効であるかを示す情報を一時的に保持する対応実番号記憶部１５を備えることで、遷移元と遷移先の両方の構成情報が書き込まれた後の初回の遷移では、次の動作状態で使用する構成情報の実番号が無効であり、構成番号変換部１２によって論理番号から実番号への変換処理が必要になる。
【００４８】
しかしながら、２回目以降は対応実番号記憶部１５に次の動作状態で使用する構成情報の有効な実番号が保持されている。したがって、本実施形態のデータ処理装置によれば、先願発明１，２に記載されたデータ処理装置と比べて動作所要時間を低減できる。
【００４９】
また、先願発明３に記載されたデータ処理装置では、構成情報の書き込み時に全ての実番号を構成情報記憶部１４へ書き込み、その後、演算部２の動作を再開するが、本実施形態のデータ処理装置では、構成情報の書き込み時に実番号の情報を書き込まず、必要に応じて構成番号変換部１２により論理番号から実番号への変換処理を経た後、対応実番号記憶部１５にその実番号を書き込む。そのため、本実施形態のデータ処理装置によれば、先願発明３に記載されたデータ処理装置と比べても動作所要時間を低減できる。
（第２の実施の形態）
図２は第２の実施の形態のデータ処理装置の構成を示すブロック図である。
【００５０】
第２の実施の形態のデータ処理装置は、状態管理部１１に第１の実施の形態で示した対応実番号記憶部１５と共に対応実番号補充部１６を備える構成である。
【００５１】
対応実番号補充部１６は、演算部２の動作中に、状態管理部１１の遷移先候補群のうち、対応実番号記憶部１５内の無効なエントリの論理番号を構成番号変換部１２へ通知し、構成番号変換部１２により該論理番号に対応する実番号が通知されると、該実番号を対応実番号記憶部１５の所定の格納位置に書き込み、該実番号が有効であることを示す情報を格納する。
【００５２】
以上の動作において、構成番号変換部１２による論理番号から実番号への変換処理が失敗した場合は、遷移先の構成情報が構成情報記憶部１４に格納されていないことを意味するため、対応実番号記憶部１５内の該エントリは無効のままとする。なお、演算部２の動作中における構成情報記憶部１４の書き換えが許されている場合は、この段階で構成書換部１３に書き換え要求を発行してもよい。その他の制御部１及び演算部２の構成及び動作は第１の実施の形態で示したデータ処理装置と同様であるため、その説明は省略する。
【００５３】
本実施形態のデータ処理装置によれば、状態管理部１１に対応実番号記憶部１５及び対応実番号補充部１６を備えることで、遷移元と遷移先の両方の構成情報が構成情報記憶部１４に書き込まれてから初回の遷移でも、演算部２の動作中に次の動作状態で使用する構成情報の論理番号を実番号に変換して有効な状態となるため、第１の実施の形態のデータ処理装置と比べて動作所要時間を低減できる。
【００５４】
また、演算部２の動作中における構成情報記憶部１４の書き換えが許されている場合は、演算部２が長時間動作している間に遷移先の構成情報を順次構成情報記憶部１４に書き込むことができるため、オンデマンドで構成情報記憶部１４を書き換える背景技術のデータ処理装置と比べて動作所要時間を低減できる。
(第３の実施の形態)
図３は第３の実施の形態のデータ処理装置の構成を示すブロック図である。
【００５５】
第３の実施の形態のデータ処理装置は、構成書換部１３が対応実番号記憶部１５のエントリの無効化及び実番号の書き込みを行う点で第１の実施の形態と異なっている。
【００５６】
構成書換部１３は、構成番号変換部１２からの書き換え要求に対して指定された構成情報を書き換えた後、対応実番号記憶部１５の書き換え対象となる実番号が格納されたエントリを無効化し、状態管理部１１の遷移先候補群および構成番号変換部１２による論理番号から実番号への変換処理で必要な変換情報の書き換えを行う。その後、演算部２による動作が再開される。構成書換部１３は、書き換えた構成情報の遷移先の論理番号に対応する実番号が有効であれば、該実番号を対応実番号記憶部１５の所定の格納位置に書き込み、該実番号が有効であることを示す情報を格納する。
【００５７】
また、構成書換部１３は、書き換えた構成情報への遷移を行う旨が記された対応実番号記憶部１５の各エントリに対し、実番号を対応実番号記憶部１５の所定の位置に書き込み、該実番号が有効であることを示す情報を格納する。その他の制御部１及び演算部２の構成及び動作は第１の実施の形態で示したデータ処理装置と同様であるため、その説明は省略する。
【００５８】
本実施形態のデータ処理装置によれば、構成書換部１３により対応実番号記憶部１５のエントリの無効化及び実番号の書き込みを行うことで、遷移元と遷移先の両方の構成情報が書き込まれてから初回の遷移でも、演算部２の動作中に次の動作状態で使用する構成情報の論理番号を実番号に変換して有効な状態となるため、第１の実施の形態と比べて動作所要時間を低減できる。
【００５９】
また、演算部２の動作中における構成情報記憶部１４の書き換えが許されている場合は、演算部２が長時間動作している間に遷移先の構成情報を順次構成情報記憶部１４に書き込むことができるため、オンデマンドで構成情報記憶部１４を書き換える背景技術のデータ処理装置に比べて動作所要時間を低減できる。
(第４の実施の形態)
図４は第４の実施の形態のデータ処理装置の構成を示すブロック図である。
【００６０】
第４の実施の形態のデータ処理装置は、状態管理部１１が論理番号と共に内部状態番号を管理し、演算部２に対して内部状態番号を指定する点で第１の実施の形態と異なっている。
【００６１】
状態管理部１１は、構成情報に含まれる現在の動作状態及び次に遷移する状態の候補群（遷移先候補群）と演算部２から送出されたイベント信号とにより、次の動作状態で使用する構成情報の論理番号と内部状態番号とを決定し、該内部状態番号を演算部２に指定する。
【００６２】
また、本実施形態の状態管理部１１は対応実番号記憶部１５を備えている。状態管理部１１は、現動作状態と演算部２から送出されたイベント信号とに基づき対応実番号記憶部１５から実番号の読み出しを試みる。対応実番号記憶部１５から有効な実番号を読み出せた場合、状態管理部１１は、該実番号を構成情報記憶部１４へ通知する。また、対応実番号記憶部１５から無効を示す情報を読み出した場合は、対応する論理番号を構成番号変換部１２へ通知すると共に演算部２の動作を停止させる。
【００６３】
状態管理部１１は、構成番号変換部１２から実番号が通知されると、該実番号を対応実番号記憶部１５の所定の格納位置に書き込み、該実番号が有効であることを示す情報を格納する。
【００６４】
演算部２は、順次遷移する複数の動作状態毎に構成情報記憶部１４から通知される構成情報にしたがって演算処理を実行する。このとき、演算部２は、状態管理部１１が指定する内部状態番号を演算処理に使用する。また、演算過程で発生するイベント信号を制御部１の状態管理部１１に発行する。
【００６５】
相互接続部２２は、構成情報記憶部１４から通知された構成情報にしたがって複数の演算器２１の接続関係を切り換える。その他の制御部１及び演算部２の構成及び動作は第１の実施の形態で示したデータ処理装置と同様であるため、その説明は省略する。
【００６６】
本実施形態のデータ処理装置によれば、状態管理部１１が論理番号と内部状態番号を管理し、かつ論理番号と内部状態番号とを分離して保持し、論理番号を実番号への変換対象とし、内部状態番号を演算部２に対して指定することで、第１の実施の形態のデータ処理装置と比べて、より多くの状態に遷移するオブジェクトコードにしたがった処理が可能である。
(第５の実施の形態)
図５は本発明のデータ処理装置の第５の実施の形態の構成を示すブロック図である。
【００６７】
第５の実施の形態のデータ処理装置は、状態管理部１１が対応実番号記憶部１５および対応実番号補充部１６を備える点で第４の実施の形態と異なっている。
【００６８】
対応実番号補充部１６は、演算部２の動作中に、状態管理部１１の遷移先候補群のうち、対応実番号記憶部１５内の無効のエントリの論理番号を構成番号変換部１２へ通知し、構成番号変換部１２から実番号が通知されると、該実番号を対応実番号記憶部１５の所定の格納位置に書き込み、該実番号が有効であることを示す情報を格納する。ここで、論理番号から実番号への変換に失敗した場合は、構成情報記憶部１４に遷移先の構成情報が格納されていないため、対応実番号記憶部１５内の該エントリは無効のままとする。
【００６９】
なお、演算部２の動作中における構成情報記憶部１４の書き換えが許されている場合は、この段階で構成書換部１３に書き換え要求を発行してもよい。その他の制御部１及び演算部２の構成及び動作は第４の実施の形態で示したデータ処理装置と同様であるため、その説明は省略する。
【００７０】
本実施形態のデータ処理装置によれば、状態管理部１１に対応実番号記憶部１５及び対応実番号補充部１６を備えることで、遷移元と遷移先の両方の構成情報が書き込まれてから初回の遷移でも、演算部２の動作中に次の動作状態で使用する構成情報の論理番号を実番号に変換して有効な状態となるため、第１の実施の形態と比べて動作所要時間を低減できる。
【００７１】
また、演算部２の動作中における構成情報記憶部１４の書き換えが許されている場合は、演算部２が長時間動作する間に遷移先の構成情報を順次構成情報記憶部１４に書き込むことができるため、オンデマンドで構成情報記憶部１４を書き換える背景技術のデータ処理装置に比べて動作所要時間を低減できる。
(第６の実施の形態)
図６は第６の実施の形態のデータ処理装置の構成を示すブロック図である。
【００７２】
第６の実施の形態のデータ処理装置は、構成書換部１３が対応実番号記憶部１５のエントリの無効化及び実番号の書き込みを行う点で第４の実施の形態と異なっている。
【００７３】
構成書換部１３は、構成番号変換部１２からの書き換え要求に対して指定された構成情報を書き換えた後、対応実番号記憶部１５の書き換え対象となる実番号が格納されたエントリを無効化し、状態管理部１１の遷移先候補群および構成番号変換部１２による論理番号から実番号への変換処理で必要な変換情報の書き換えを行う。その後、演算部２による動作が再開される。構成書換部１３は、書き換えた構成情報の遷移先の論理番号に対応する実番号が有効であれば、該実番号を対応実番号記憶部１５の所定の格納位置に書き込み、該実番号が有効であることを示す情報を格納する。
【００７４】
また、構成書換部１３は、書き換えた構成情報への遷移を行う旨が記された対応実番号記憶部１５の各エントリに対し、実番号を対応実番号記憶部１５の所定の位置に書き込み、該実番号が有効であることを示す情報を格納する。その他の制御部１及び演算部２の構成及び動作は第４の実施の形態で示したデータ処理装置と同様であるため、その説明は省略する。
【００７５】
本実施形態のデータ処理装置によれば、構成書換部１３により対応実番号記憶部１５のエントリの無効化及び実番号の書き込みを行うことで、遷移元と遷移先の両方の構成情報が書き込まれてから初回の遷移でも、演算部２の動作中に次の動作状態で使用する構成情報の論理番号を実番号に変換して有効な状態となるため、第４の実施の形態と比べて動作所要時間を低減できる。
【００７６】
また、演算部２の動作中における構成情報記憶部１４の書き換えが許されている場合は、演算部２が長時間動作している間に遷移先の構成情報を順次構成情報記憶部１４に書き込むことができるため、オンデマンドで構成情報記憶部１４を書き換える背景技術のデータ処理装置に比べて動作所要時間を低減できる。
【実施例】
【００７７】
次に本発明のデータ処理装置の実施例について図面を用いて説明する。
（第１実施例）
第１実施例のデータ処理装置は、上記先願発明１（特願２００６−１０３９８７号）のデータ処理装置に上述した第１の実施の形態を適用する例である。【００７８】
図７は第１実施例のデータ処理装置の構成を示すブロック図である。【００７９】
本実施例では、上記先願発明１に記載されたデータ処理装置の状態遷移管理部（ＳＴＣ）３のみ変更し、演算部４については何も変更していない。【００８０】
本実施例の演算部４は、レジスタファイル（ＲＦＵ）、ＡＬＵ、データ処理演算器（ＤＭＵ）を備えた複数のプロセッサエレメント４１（ＰＥ）を有し、各プロセッサエレメント４１が配線及びスイッチ（ＳＷ）により相互に接続される構成である。このような構成では、ＲＦＵ、ＦＦＵ、ＡＬＵ、ＤＭＵ等を備える各プロセッサエレメント４１が第１の実施の形態で示した演算器２１となる。なお、演算部４は、上記プロセッサエレメント４１に限らず、例えばロジックアレイで構成してもよい。【００８１】
本実施例のプロセッサエレメント４１は構成情報メモリ４４を備える。構成情報メモリ４４は、実番号が指定されると、該指定された実番号の内容（構成情報）を読み出し、ＲＦＵ、ＦＦＵ、ＡＬＵ、ＤＭＵ等の動作及びスイッチによる接続を指定する。【００８２】
本実施例の状態遷移管理部３は、状態管理部３１、構成番号変換部３２、構成書換部３３および実番号レジスタ３４を備えたＤＲＰの状態遷移管理部（ＳＴＣ）３に相当する。【００８３】
本実施例では、状態管理部３１に対応実番号記憶部３５を備えている。【００８４】
状態管理部３１は、実番号レジスタ３４に格納された現在の実番号と、演算部４から送出されたイベント信号とを受け取ると、該実番号及びイベント信号に基づいて次遷移先の論理番号を決定する。また同時に、現在の実番号と演算部４から発行されたイベント信号を受け取ると、対応実番号記憶部３５から次遷移先の実番号または次遷移先の実番号が格納されていない場合は無効を示す情報を読み出す。【００８５】
以降、現在の実番号とイベント信号で特定される対応実番号記憶部３５内の格納位置（エントリ）を「対応記憶箇所」と称す。【００８６】
対応実番号記憶部３５の対応記憶箇所から次遷移先の実番号を読み出すことができた場合、状態管理部３１は該実番号を実番号レジスタ３４に書き込む。【００８７】
また、対応実番号記憶部３５の対応記憶箇所から無効を示す情報を読み出した場合、状態管理部３１は、次遷移先の論理番号に対応する実番号が不明であるため、構成番号変換部３２に対して次遷移先の論理番号から実番号への変換を要求する。【００８８】
構成番号変換部３２による論理番号から実番号への変換に成功した場合、状態管理部３１は構成番号変換部３２から受け取った実番号を実番号レジスタ３４に書き込む。また同時に、対応実番号記憶部３５内の対応記憶箇所に次遷移先の実番号を書き込む。【００８９】
一方、構成番号変換部３２による論理番号から実番号への変換に失敗した場合、次遷移先の論理番号の構成情報は構成情報メモリ４４に格納されていない。この場合、構成情報メモリ４４で保持する構成情報の書き換えが必要であるため、構成番号変換部３２は次遷移先の論理番号を構成書換部３３に通知し、構成情報メモリ４４の書き換えを要求する。【００９０】
構成書換部３３は、構成情報メモリ４４で保持された構成情報のうち、現時点で不要な構成情報の実番号を決定し、該決定した実番号が格納された対応実番号記憶部３５のエントリを無効とする。不要な構成情報の選択には、例えばＬＲＵ（Least  Recently  Used）法等の周知の方法を用いればよい。そして、構成情報メモリ４４内の無効にしたエントリに、書き換え要求時に指定された構成情報を書き込む。構成情報メモリ４４に書き込む構成情報は外部メモリ５から取得する。また、状態管理部３１の現実番号の遷移先候補群および構成番号変換部３２の論理番号から実番号への変換処理に必要な変換情報を更新し、実番号レジスタ３４に該実番号を書き込む。【００９１】
構成番号変換部３２は、構成書換部３３による構成情報メモリ４４の書き換え終了後、対応実番号記憶部３５内の対応記憶箇所に遷移先の実番号を書き込む。【００９２】
状態管理部３１は、構成番号変換部３２による論理番号から実番号への変換処理時および構成書換部３３による書き換え時、プロセッサエレメント４１群にＷＥキャンセルを発行してレジスタ書き込みを禁止し、プロセッサエレメント４１群の動作を停止させる。【００９３】
本実施例では、各プロセッサエレメント４１内の構成情報メモリ４４が構成情報記憶部１４となる。【００９４】
また、本実施例では、状態管理部３１が、実番号とイベント信号の種類に応じて次遷移先の論理番号と、対応実番号記憶部３５内の実番号または無効を示す情報とを、図８に示す表形式（対応表）で保持する。【００９５】
以下、装置構成要素の符号との混同を避けるため、実番号及び論理番号は、「０」のように鍵括弧を用いて示す。【００９６】
図８は、実番号「０」とイベント信号Ａが指定されると、次論理番号「１」と次実番号「１」が読み出され、実番号「１」とイベント信号Ａが指定されると、次論理番号「０」と次実番号「０」が読み出され、実番号「１」とイベント信号Ｂが指定されると、次論理番号「２」と次実番号が対応実番号記憶部３５に格納されていないため無効を示す情報とが読み出される例を示している。【００９７】
なお、図８の各実番号で特定されるエントリのうち、次論理番号が「−」で示されたエントリは、該当するイベント信号が発生しないことを示している。また、このエントリに対応する対応実番号記憶部３５の各部位には、内容に意味がないため、何も記載していない。また、図８では、全てのイベント信号に対応する次論理番号が「−」で示されている実番号「２」〜「７」には、対応する対応実番号記憶部３５に構成情報が書き込まれていないことを示している。【００９８】
また、本実施例では、構成番号変換部３２が、図９に示す表形式（変換表）で実番号と論理番号の関係を保持する。すなわち、本実施例の構成番号変換部３２は、論理番号が指定されると、図９に示す変換表を検索し、検出した該論理番号に対応する実番号を出力する、連想メモリ形式とする。図９は、実番号「０」に論理番号「０」の構成情報が記憶され、実番号「１」に論理番号「１」の構成情報が記憶されていることを示している。【００９９】
また、本実施例では、オブジェクトコードが格納された外部メモリ（記憶手段）５を備え、構成書換部３３は、該外部メモリ５からオブジェクトコードの各構成情報を取得できるものとする。【０１００】
以下、図１０で示す状態遷移図にしたがって処理を実行する場合を例にして本実施例のデータ処理装置の動作について説明する。図１０は、丸で囲んだ数字が一つの論理番号を示し、全部で１４個の構成情報からなるオブジェクトコードの状態遷移図を示している。【０１０１】
本実施例では、データ処理装置（ＤＲＰ）が備える構成情報メモリの実番号「０」に論理番号「１」の構成情報が保持されているものとする。このときの状態管理部３１が備える対応表を図１１Ａに示す。【０１０２】
図１１Ａに対応表によれば、論理番号「０」の構成情報は実番号「０」に書き込まれ、論理番号「１」の構成情報は実番号「１」に書き込まれている。また、対応実番号記憶部３５は遷移先の実番号を保持していない。実番号の最大値は「７」であり、合計８個の構成情報を保持できるものとする。【０１０３】
以下、１サイクル目にて論理番号「０」の処理を実行している状態からの動作を考える。【０１０４】
この場合、実番号レジスタ３４には実番号「０」が書き込まれている。そのため、各プロセッサエレメント４１の構成情報メモリ４４には実番号「０」が通知され、対応する構成情報が読み出されて各プロセッサエレメント４１の動作とスイッチの接続関係が決定する。その結果、各プロセッサエレメント４１で所定の演算が実行される。【０１０５】
各プロセッサエレメント４１による演算結果がイベント信号Ａとして状態管理部３１に通知されると、状態管理部３１は、状態遷移図に基づいて作成された対応表にしたがって、現在の実番号「０」とイベント信号Ａから次の状態の論理番号「１」を決定する。また、同時に対応実番号記憶部３５の対応記憶箇所から「無効」を読み出す。【０１０６】
ここでは、対応実番号記憶部３５内の対応記憶箇所からの読み出し結果が「無効」であるため、状態管理部３１は、動作を停止させるためのＷＥキャンセル信号をプロセッサエレメント４１群に対して２サイクル目以降発行し続ける。プロセッサエレメント４１のレジスタは、この信号により内容更新を受け付けなくなる。また、外部ポートからのデータ入力動作も停止する。【０１０７】
２サイクル目において、状態管理部３１は、次の状態の論理番号「１」を構成番号変換部３２へ通知する。【０１０８】
構成番号変換部３２は、変換表にしたがって論理番号「１」を実番号に変換する。ここでは、論理番号「１」の構成情報が既に構成情報メモリ４４で保持されているため変換に成功する。状態管理部３１は、構成番号変換部３２から取得した実番号「１」を実番号レジスタ３４へ格納する。また、次サイクルより動作を再開させるために、ＷＥキャンセル信号の発行を停止し、プロセッサエレメント４１群に動作を再開させる。【０１０９】
また、状態管理部３１は、対応実番号記憶部３５の対応記憶箇所に、遷移先の実番号「１」を書き込み、「有効」を示す情報を書き込む。このときの状態管理部３１が備える対応表を図１１Ｂに示す。【０１１０】
３サイクル目において、実番号「１」が実番号レジスタ３４から構成情報メモリ４４に通知され、対応する構成情報が読み出されて各プロセッサエレメント４１の動作とスイッチの接続関係が決定する。その結果、各プロセッサエレメント４１で所定の演算が実行される。【０１１１】
各プロセッサエレメント４１による演算結果がイベント信号Ａとして状態管理部３１に通知されると、状態管理部３１は、状態遷移図に基づいて作成された対応表にしたがって、現在の実番号「１」とイベント信号Ａから次の状態の論理番号「２」を決定する。また、同時に対応実番号記憶部３５の対応記憶箇所から「無効」を読み出す。【０１１２】
ここでは、対応実番号記憶部３５の対応記憶箇所からの読み出し結果が「無効」であるため、状態管理部３１は、動作を停止させるためのＷＥキャンセル信号をプロセッサエレメント４１群に対して２サイクル目以降発行し続ける。プロセッサエレメント４１のレジスタは、この信号により内容更新を受け付けなくなる。また、外部ポートからのデータ入力動作も停止する。【０１１３】
４サイクル目において、状態管理部３１は、次の状態の論理番号「２」を構成番号変換部３２へ通知する。【０１１４】
構成番号変換部３２は、変換表を用いて論理番号「２」から実番号への変換を試みる。ここでは、論理番号「２」の構成情報が構成情報メモリ４４で保持されていないため、変換に失敗する。構成番号変換部３２は、論理番号から実番号への変換に失敗すると、該論理番号「２」の構成情報を構成情報メモリ４４に書き込むよう構成書換部３３に要求する。【０１１５】
構成書換部３３は、構成情報メモリ４４、状態管理部３１および構成番号変換部３２の書き換えを行う。ここでは、未使用の実番号「２」を使用する。【０１１６】
構成書換部３３は、外部メモリ５より論理番号「２」の構成情報を取得し、該構成情報を構成情報メモリ４４に書き込む。また、構成書換部３３は、状態管理部３１の実番号「２」のエントリに論理番号「２」の遷移先の情報を書き込み、構成番号変換部３２の実番号「２」のエントリに論理番号「２」を書き込む。【０１１７】
構成書換部３３による書き換えが終了すると、構成番号変換部３２は、論理番号「２」に対応する実番号「２」を実番号レジスタ３４へ送信する。また、次サイクルより動作を再開させるために、ＷＥキャンセル信号の発行を停止し、プロセッサエレメント４１群に動作を再開させる。【０１１８】
同様にして、論理番号「３」→「３」→「３」→「６」→「６」→「１０」→「１０」→「１２」の順に遷移し、論理番号「１２」から論理番号「２」に戻ったときの状態管理部３１が備える対応表を図１１Ｃに示す。【０１１９】
ここで、再度、論理番号「２」から論理番号「３」へ遷移する場合、現在の実番号「２」とイベント信号Ａから遷移先の論理番号「３」を読み出すと共に、対応実番号記憶部３５から遷移先の実番号「３」を読み出すことができる。【０１２０】
したがって、状態管理部３１は、対応実番号記憶部３５の対応記憶箇所から有効な実番号「３」を読み出し、実番号レジスタ３４に該実番号「３」を格納する。そして、次のサイクルで、実番号「３」が実番号レジスタ３４から構成情報メモリ４４に通知され、構成情報メモリ４４から対応する構成情報が読み出されて各プロセッサエレメント４１の動作とスイッチの接続関係が決定する。その結果、各プロセッサエレメント４１で所定の演算が実行される。【０１２１】
本サイクルでは、演算部４の動作が停止することなく、イベント信号Ａが発行された次のサイクルで論理番号「３」に対応した演算が実行できる。また、以降、論理番号「１２」までの状態遷移は、対応実番号記憶部３５で対応する実番号が既に保持されているため、構成番号変換部３２を使用することなく動作できる。【０１２２】
次に、論理番号「２」→「３」→「６」→「１０」→「１２」→「２」の状態遷移のループを何度か繰り返した後に、「１２」→「１３」→「０」→「１」→「２」に遷移したときの状態管理部３１が備える対応表を図１１Ｄに示す。【０１２３】
ここで、演算部４からイベント信号Ｂが発行された場合を考える。【０１２４】
状態管理部３１は、現在の実番号「２」とイベント信号Ｂから対応実番号記憶部３５から「無効」を読み出す。この場合、次サイクルで、構成番号変換部３２は論理番号「４」から実番号への変換に失敗するため、構成番号変換部３２は、該論理番号「４」の構成情報を構成情報メモリ４４に書き込むよう構成書換部３３に要求する。【０１２５】
構成書換部３３は、構成情報メモリ４４、状態管理部３１および構成番号変換部３２の書き換えを行う。ここでは、未使用の実番号が無くなってしまったため、論理番号「４」の構成情報を書き込む場所を決定する必要がある。そこで、使用頻度に基づき論理番号「０」を消去する。【０１２６】
構成情報メモリ４４の実番号「０」から論理番号「０」を消去する場合、まず対応実番号記憶部３５内の実番号「０」への遷移を保持しているエントリを無効化する。ここでは、実番号「７」とイベント信号Ａで特定されるエントリが該当する。対応実番号記憶部３５内の特定のエントリの無効化が完了すると、構成情報メモリ４４、状態管理部３１および構成番号変換部３２の実番号「０」に対応する内容を消去し、新たに論理番号「４」の内容を書き込む。書き込み後の状態管理部３１が備える対応表を図１１Ｅに示す。【０１２７】
ここで、対応実番号記憶部３５内の特定の実番号への遷移を保持しているエントリを無効化するための回路例を図１２に示す。【０１２８】
図１２は対応実番号記憶部３５の１つのエントリの回路例を示し、実番号をビット単位で保持する複数の実番号ビットセル６０と、該実番号が有効であるか否かを示す情報を保持するための状態ビットセル６１とを有する。図１２は、実番号が６ビットで構成され、各実番号ビットセル６０に２本のビット線７１（上線付きは反転信号用）を介して対応するビット値がそれぞれ供給される回路例を示している。【０１２９】
実番号ビットセル６０は、図の上部に示す２つのインバータから成る記憶素子およびワード線７０を介して制御される書き込み素子と、図の下部に示す比較回路とを備えている。【０１３０】
実番号ビットセル６０には、ワード線７０、ビット線７１、比較実施線７２および比較結果線７３が接続されている。状態ビットセル６１には、ビット線７１、比較実施線７２及び比較結果線７３が接続されている。また、比較結果線７３にはプリチャージ素子６２が接続されている。【０１３１】
状態ビットセル６１は、図の上部に示す２つのインバータから成る記憶素子およびワード線７０を介して制御される書き込み素子と、図の下部に示す無効化書き込み回路とを備えている。【０１３２】
実番号ビットセル６０及び状態ビットセル６１は、ビット線７１を介して読み出し回路（不図示）に接続されている。【０１３３】
なお、実際の対応実番号記憶部３５は、図１２に示す複数の回路が図の縦方向に並列に配列された構成であり。それら回路全体でビット線７１および比較実施線７２を共有する構成である。なお、図１２では、実番号ビットセル６０に格納されたビット値を読み出すための読み出し回路の構成は省略している。【０１３４】
次に、図１２に示した対応実番号記憶部３５の動作について説明する。【０１３５】
予め、プリチャージ素子６２により比較結果線７３の電位をＨｉｇｈにしておく。【０１３６】
無効化する際には、無効化する実番号がビット線７１を介して各実番号ビットセル６０に供給される。また、ビット線７１を介して状態ビットセル６１に無効状態を示すビットパタン信号が供給される。【０１３７】
実番号ビットセル６０は、ビット線７１を介して供給されたビット値と保持している値とを比較回路により比較する。ここで、比較実施線７２の電位をＨｉｇｈとすると、１ビットでも比較結果が一致していない場合は、接地電位と比較結果線７３とが接続され、比較結果線７３の電位がＬｏｗになる。一方、全ビットで比較結果が一致している場合は、比較結果線７３の電位はＨｉｇｈで保持される。状態ビットセル６１は、無効化書き込み回路により、比較結果線７３の電位がＬｏｗのとき、記憶素子に「無効」を書き込む。【０１３８】
以下、同様にして、既に実行したことがある状態遷移については、状態管理部３１が対応実番号記憶部３５に格納された次実番号を読み出して実番号レジスタ３４に書き込むため、構成番号変換部３２を使用することなく、次のサイクルにて次の論理番号に対応する演算が実行される。【０１３９】
本実施例では、上述した先願発明１における、状態管理部３１の内容を読み出し、その結果に応じて構成番号変換部から読み出した結果を実番号レジスタ３４に書き込む場合と比較して、演算を実行するまでに必要な遅延時間を低減できる。本実施例のように構成番号変換部３２からの読み出し処理を別のサイクルで実行する場合は、動作に必要なサイクル数が低減するため、データ処理装置の性能が向上する。
（第２実施例）
第２実施例は上記先願発明１（特願２００６−１０３９８７号）のデータ処理装置に上述した第５の実施の形態を適用する例である。【０１４０】
図１３は第２実施例のデータ処理装置の構成を示すブロック図である。【０１４１】
本実施例では、上記先願発明１に記載されたデータ処理装置の状態遷移管理部（ＳＴＣ）３のみ変更し、演算部４については何も変更していない。【０１４２】
本実施例の演算部４は、レジスタファイル（ＲＦＵ）、ＡＬＵ、データ処理演算器（ＤＭＵ）を備えた複数のプロセッサエレメント４１（ＰＥ）を有し、各プロセッサエレメントが配線及びスイッチ（ＳＷ）により相互に接続される構成である。このような構成では、ＲＦＵ、ＦＦＵ、ＡＬＵ、ＤＭＵ等を備える各プロセッサエレメント４１が、第１の実施の形態で示した演算器２１となる。なお、演算部４は、上記プロセッサエレメント４１に限らず、例えばロジックアレイで構成してもよい。【０１４３】
本実施例のプロセッサエレメント４１は構成情報メモリ４４を備える。構成情報メモリ４４は、実番号が指定されると、該指定された実番号の内容（構成情報）を読み出し、該構成情報にしたがってＲＦＵ、ＦＦＵ、ＡＬＵ、ＤＭＵ等の動作及びスイッチによる接続を指定する。【０１４４】
本実施例の状態遷移管理部３は、状態管理部３１、構成番号変換部３２、構成書換部３３および実番号レジスタ３４を備えたＤＲＰの状態遷移管理部（ＳＴＣ）３に相当する。【０１４５】
本実施例の状態管理部３１は、対応実番号記憶部３５および対応実番号補充部３６を備えている。【０１４６】
状態管理部３１は、実番号レジスタ３４に格納された現在の実番号と、演算部４から送出されたイベント信号とを受け取ると、該実番号及びイベント信号に基づいて次遷移先の論理番号を読み出す。また同時に、現在の実番号と演算部４から発行されたイベント信号とを受け取ると、対応実番号記憶部３５から次遷移先の実番号または次遷移先の実番号が格納されていない場合は無効を示す情報を読み出す。【０１４７】
以降、現在の実番号とイベント信号で特定される対応実番号記憶部３５内の格納位置を「対応記憶箇所」と称す。【０１４８】
対応実番号記憶部３５の対応記憶箇所から次遷移先の有効な実番号を読み出すことができた場合、状態管理部３１は該実番号を実番号レジスタ３４に書き込む。【０１４９】
また、対応実番号記憶部３５の対応記憶箇所から無効を示す情報を読み出した場合、状態管理部３１は、次遷移先の論理番号に対応する実番号が不明であるため、構成番号変換部３２に対して次遷移先の論理番号を実番号へ変換するよう要求する。【０１５０】
構成番号変換部３２による論理番号から実番号への変換に成功した場合、状態管理部３１は構成番号変換部３２から受け取った実番号を実番号レジスタ３４に書き込む。また同時に、対応実番号記憶部３５内の対応記憶箇所に次遷移先の実番号を書き込む。【０１５１】
一方、構成番号変換部３２による論理番号から実番号への変換に失敗した場合、次遷移先の論理番号の構成情報は構成情報メモリ４４に格納されていない。この場合、構成情報メモリ４４で保持する構成情報の書き換えが必要であるため、構成番号変換部３２は次遷移先の論理番号を構成書換部３３に通知し、構成情報メモリ４４の書き換えを要求する。【０１５２】
構成書換部３３は、構成情報メモリ４４で保持された構成情報のうち、現時点で不要な構成情報の実番号を決定し、該決定した実番号が格納された対応実番号記憶部３５のエントリを無効にする。不要な構成情報の選択には、例えばＬＲＵ（Least  Recently  Used）法等の周知の方法を用いればよい。そして、構成情報メモリ４４内の無効にしたエントリに、書き換え要求時に指定された構成情報を書き込む。構成情報メモリ４４に書き込む構成情報は外部メモリ５から取得する。また、状態管理部３１の現実番号の遷移先候補群および構成番号変換部３２の論理番号から実番号への変換処理に必要な変換情報を更新し、実番号レジスタ３４に該実番号を書き込む。【０１５３】
構成番号変換部３２は、構成書換部３３による構成情報メモリ４４の書き換え終了後に、対応実番号記憶部３５内の対応記憶箇所に遷移先の実番号を書き込む。【０１５４】
状態管理部３１は、構成番号変換部３２による論理番号から実番号への変換処理時および構成書換部３３による書き換え時、プロセッサエレメント４１群にＷＥキャンセル信号を発行してレジスタへの書き込みを禁止し、プロセッサエレメント４１群の動作を停止させる。【０１５５】
対応実番号補充部３６は、現実番号からの遷移先のうち、対応実番号記憶部３５内の無効となっているイベント信号を一つ選択し、選択したイベント信号に対応する論理番号を先行して構成番号変換部３２に通知する。選択したイベント信号と同一のイベント信号が同クロックサイクルで演算部４から通知され、構成番号変換部３２による論理番号から実番号への変換が成功した場合、構成番号変換部３２から取得した実番号を対応実番号記憶部３５の該当するエントリに書き込み、併せて実番号レジスタ３４へ書き込む。【０１５６】
この場合、実番号レジスタ３４で保持された実番号が次のサイクルで構成情報メモリ４４に通知され、対応する構成情報が構成情報メモリ４４から読み出されて各プロセッサエレメント４１の動作及びスイッチの接続関係が決定する。そして、内部状態番号がプロセッサエレメント４１群に通知され、各プロセッサエレメント４１で所定の演算が実行される。【０１５７】
本実施例では、各プロセッサエレメント４１内の構成情報メモリ４４が構成情報記憶部１４となる。【０１５８】
また、本実施例では、状態管理部３１が、実番号とイベント信号の種類から次遷移先の論理番号と、対応実番号記憶部３５内の実番号または無効を示す情報とを、図１４に示す表形式（対応表）で保持しているものとする。【０１５９】
以下、装置構成要素の符号との混同を避けるため、実番号、論理番号、内部状態番号は「０」のように鍵括弧を用いて示す。また、論理番号と内部状態番号の組についても「１−１」のように鍵括弧を用いて示す。単に「１−１」と表記した場合は論理番号と内部状態番号の組を示す。【０１６０】
図１４は、実番号「０」とイベント信号Ａが指定されると、次論理番号と内部状態番号の組「１−１」と次実番号「１」が読み出され、実番号「０」とイベント信号Ａが指定されると、次論理番号と内部状態番号の組「０−１」と次実番号「０」が読み出され、実番号「１」とイベント信号Ｂが指定されると、次論理番号と内部状態番号の組「２−１」と、「無効」を示す情報が読み出される例を示している。【０１６１】
なお、図１４の各実番号で特定されるエントリのうち、次論理番号が「−」で示されたエントリは、該当するイベント信号が発生しないことを示している。このエントリに対応する対応実番号記憶部３５の部位には、内容に意味がないため、何も記載していない。また、図１４では、全てのイベント信号に対応する次論理番号が「−」で示されている実番号「２」〜「７」には、対応する対応実番号記憶部３５に構成情報が書き込まれていないことを示している。【０１６２】
また、本実施例では、構成番号変換部３２が、第１実施例と同様に、図９に示す表形式（変換表）で実番号と論理番号の関係を保持する。すなわち、本実施例の構成番号変換部３２は、論理番号が指定されると、図９に示す変換表を検索し、検出した該論理番号に対応する実番号を出力する、連想メモリ形式とする。図９は、実番号「０」に論理番号「０」の構成情報が記憶され、実番号「１」に論理番号「１」の構成情報が記憶されていることを示している。【０１６３】
また、本実施例では、オブジェクトコードが格納された外部メモリ（記憶手段）６を備え、構成書換部３３は、該外部メモリ６からオブジェクトコードの各構成情報を取得できるものとする。【０１６４】
以下、図１５で示す状態遷移図にしたがって処理を実行する場合を例にして本実施例のデータ処理装置の動作について説明する。図１５は、小さい丸で囲んだ数字が一つの論理番号−内部状態番号の組を示し、大きい丸で囲んだ数字が一つの論理番号を示している。論理番号「０」と「１」は２つの内部状態を備え、論理番号「２」〜「１１」は１つの内部状態を備えている。図１５は、全部で１２個の構成情報からなるオブジェクトコードの状態遷移図を示している。図１５に示す状態遷移は、第１実施例で示した状態遷移図（図１０）と全ての状態および状態遷移が同じであるが、内部状態が導入されているため、番号の付与のしかたが異なっている。【０１６５】
本実施例では、データ処理装置（ＤＲＰ）が備える構成情報メモリの実番号「０」に論理番号「０」の構成情報が保持されているものとする。このときの状態管理部３１が備える対応表を図１６Ａに示す。【０１６６】
図１６Ａの対応表によれば、論理番号「０」の構成情報は実番号「０」に書き込まれている。また、対応実番号記憶部３５は遷移先の実番号を保持していない。実番号の最大値は「７」であり、合計８個の構成情報を保持できるものとする。【０１６７】
以下、１サイクル目にて論理番号−内部状態番号「０−１」の処理を実行している状態からの動作を考える。【０１６８】
この場合、実番号レジスタ３４には実番号「０」が書き込まれている。また、状態管理部３１は内部状態番号「１」を出力している。そのため、各プロセッサエレメント４１の構成情報メモリ４４には実番号「０」が通知され、対応する構成情報が読み出されて各プロセッサエレメント４１の動作とスイッチの接続関係が決定する。また、各プロセッサエレメント４１に内部状態番号「１」が通知され、一部の演算器の動作を決定する。その結果、各プロセッサエレメント４１で所定の演算が実行される。【０１６９】
同時に、対応実番号補充部３６は、対応実番号記憶部３５内の「無効」となっているイベント信号を一つ選択する。ここでは対応実番号補充部３６がイベント信号Ａを選択したものとする。対応実番号補充部３６は、選択したイベント信号Ａに対応する論理番号「０」を先行して構成番号変換部３２に通知する。構成番号変換部３２は、変換表を用いて論理番号「０」を実番号「０」に変換し、実番号「０」を実番号レジスタ３４及び状態管理部３１に通知する。【０１７０】
各プロセッサエレメント４１による演算結果がイベント信号Ａとして状態管理部３１に通知されると、該イベント信号Ａが対応実番号補充部３６が選択したイベント信号Ａと一致し、かつ構成番号変換部３２による論理番号から実番号への変換が成功しているため、実番号レジスタ３４は構成番号変換部３２から通知された実番号「０」を保持する。また、状態管理部３１は、対応実番号記憶部３５の対応記憶箇所に遷移先の実番号「０」を格納し、併せて「有効」を示す情報を格納する。また、状態管理部３１は、次サイクルの内部状態番号「２」を読み出す。【０１７１】
２サイクル目において、演算部４は、論理番号−内部状態番号「０−２」の処理を実行する。このときの状態管理部３１が備える対応表を図１６Ｂに示す。【０１７２】
２サイクル目では、実番号レジスタ３４に実番号「０」が書き込まれ、状態管理部３１は内部状態番号「２」を出力する。実番号レジスタ３４に格納された実番号「０」は構成情報メモリ４４へ通知され、対応する構成情報が読み出されて各プロセッサエレメント４１の動作とスイッチの接続関係が決定する。また、各プロセッサエレメント４１に内部状態番号「２」が通知され、一部の演算器の動作を決定する。その結果、各プロセッサエレメント４１で所定の演算が実行される。ここでは、構成情報は１サイクル目と同じであるが、内部状態番号が異なるため、１サイクル目とは異なる演算結果となる。【０１７３】
対応実番号補充部３６は、対応実番号記憶部３５内の無効となっているイベント信号を一つ選択する。ここではイベント信号Ｂを選択したと仮定する。【０１７４】
対応実番号補充部３６は、選択したイベント信号Ｂに対応する論理番号「２」を先行して構成番号変換部３２に通知する。構成番号変換部３２は、論理番号「２」から実番号への変換を試みるが、失敗する。【０１７５】
各プロセッサエレメント４１による演算結果がイベント信号Ｂとして状態管理部３１に通知されると、該イベント信号Ｂは対応実番号補充部３６が選択したイベント信号Ｂと一致し、かつ構成番号変換部３２による論理番号から実番号への変換が失敗しているため、構成番号変換部３２は、論理番号「２」の構成情報を構成情報メモリ４４へ書き込むよう構成書換部３３に要求する。また、状態管理部３１は、プロセッサエレメント４１群に動作を停止させるためのＷＥキャンセル信号を３サイクル目以降発行し続ける。プロセッサエレメント４１のレジスタは、この信号により内容更新を受け付けなくなる。また、外部ポートからのデータ入力動作も停止する。【０１７６】
次に、状態管理部３１は、動作再開時の内部状態番号として「１」を読み出す。【０１７７】
構成書換部３３は、構成情報メモリ４４、状態管理部３１および構成番号変換部３２の書き換えを行う。ここでは、未使用の実番号「１」を使用する。【０１７８】
構成書換部３３は、外部メモリ５より論理番号「２」の構成情報を取得し、該構成情報を構成情報メモリ４４に書き込む。また、構成書換部３３は、状態管理部３１の実番号「１」のエントリに論理番号「２」の遷移先の情報を書き込み、構成番号変換部３２の実番号「１」のエントリに論理番号「２」を書き込む。【０１７９】
ここでは、構成書換部３３による書き換えが１００サイクルを必要であるとする。【０１８０】
１０２サイクル目において、構成書換部３３による書き換えが終了すると、構成番号変換部３２は、論理番号「２」に対応する実番号「１」を実番号レジスタ３４へ送信する。また、次サイクルより動作を再開させるために、ＷＥキャンセル信号の発行を停止し、プロセッサエレメント４１群に動作を再開させる。【０１８１】
１０３サイクル目において、プロセッサエレメント４１は、論理番号−内部状態番号「２−１」の処理を実行する。このときの状態管理部３１の対応表を図１６Ｃに示す。１０３サイクル目では、実番号レジスタ３４に実番号「１」が書き込まれ、状態管理部３１は内部状態番号「１」を出力する。実番号レジスタ３４に格納された実番号「１」は構成情報メモリ４４へ通知され、対応する構成情報が読み出されて各プロセッサエレメント４１の動作とスイッチの接続関係が決定する。また、各プロセッサエレメント４１に内部状態番号「１」が通知され、一部の演算器の動作を決定する。その結果、各プロセッサエレメント４１で所定の演算が実行される。【０１８２】
対応実番号補充部３６は、対応実番号記憶部３５内の無効となっているイベント信号を一つ選択する。ここではイベント信号Ｂを選択したと仮定する。【０１８３】
対応実番号補充部３６は、選択したイベント信号Ｂに対応する論理番号「４」を先行して構成番号変換部３２に通知する。構成番号変換部３２は、論理番号「４」から実番号への変換を試みるが、失敗する。【０１８４】
各プロセッサエレメント４１による演算結果がイベント信号Ａとして状態管理部３１に通知されると、該イベント信号Ａは対応実番号補充部３６が選択したイベント信号Ｂと一致しないため、状態管理部３１は状態遷移図に基づいて作成された対応表にしたがって、現在の実番号「１」とイベント信号Ａから次の状態の論理番号「３」を決定する。また、同時に対応実番号記憶部３５の対応記憶箇所から「無効」を読み出す。【０１８５】
対応実番号補充部３６がイベント信号Ｂを選択し、構成番号変換部３２に通知した変換結果は失敗であったが、各プロセッサエレメント４１による演算結果に応じて発行されるイベント信号とは一致しないため、構成番号変換部３２は論理番号「４」の書き換え要求は行わない。【０１８６】
対応実番号記憶部３５の対応記憶箇所の読み出し結果が「無効」であるため、状態管理部３１は、プロセッサエレメント４１群に動作を停止させるためのＷＥキャンセル信号を１０４サイクル目以降発行し続ける。プロセッサエレメント４１のレジスタは、この信号により内容更新を受け付けなくなる。また、外部ポートからのデータ入力動作も停止する。【０１８７】
次に、状態管理部３１は、動作再開時の内部状態番号として「１」を読み出す。【０１８８】
１０４サイクル目において、状態管理部３１は次の状態の論理番号「３」を構成番号変換部３２へ通知する。【０１８９】
構成番号変換部３２は、変換表を用いて論理番号「３」を実番号に変換することを試みる。ここでは、論理番号「３」の構成情報が構成情報メモリ４４に格納されていないため、論理番号から実番号への変換に失敗する。この場合、構成情報メモリ４４で保持する構成情報の書き換えが必要であるため、構成番号変換部３２は次遷移先の論理番号「３」を構成書換部３３に通知し、構成情報メモリ４４の書き換えを要求する。【０１９０】
構成書換部３３は、構成情報メモリ４４、状態管理部３１および構成番号変換部３２の書き換えを行う。ここでは、未使用の実番号「２」を使用する。【０１９１】
構成書換部３３は、外部メモリ５より論理番号「３」の構成情報を取得し、該構成情報を構成情報メモリ４４に書き込む。また、構成書換部３３は、状態管理部３１の実番号「２」のエントリに論理番号「３」の遷移先の情報を書き込み、構成番号変換部３２の実番号「２」のエントリに論理番号「３」を書き込む。【０１９２】
ここでは、構成書換部３３による書き換えが１００サイクルを必要であるとする。【０１９３】
２０４サイクル目において、構成書換部３３による書き換えが終了すると、構成番号変換部３２は、論理番号「３」に対応する実番号「２」を実番号レジスタ３４へ送信する。また、次サイクルより動作を再開させるために、ＷＥキャンセル信号の発行を停止し、プロセッサエレメント４１群に動作を再開させる。【０１９４】
２０５サイクル目において、プロセッサエレメント４１は、論理番号−内部状態番号「３−１」の処理を実行する。このときの状態管理部３１の対応表を図１６Ｄに示す。２０５サイクル目では、実番号レジスタ３４に実番号「２」が書き込まれ、状態管理部３１は内部状態番号「１」を出力する。実番号レジスタ３４に格納された実番号「２」は構成情報メモリ４４へ通知され、対応する構成情報が読み出されて各プロセッサエレメント４１の動作とスイッチの接続関係が決定する。また、各プロセッサエレメント４１に内部状態番号「１」が通知され、一部の演算器の動作を決定する。その結果、各プロセッサエレメント４１で所定の演算が実行される。【０１９５】
対応実番号補充部３６は、対応実番号記憶部３５内の無効となっているイベント信号を一つ選択する。ここではイベント信号Ａを選択したと仮定する。【０１９６】
対応実番号補充部３６は、選択したイベント信号Ａに対応する論理番号「３」を先行して構成番号変換部３２に通知する。構成番号変換部３２は、論理番号「３」を実番号「２」に変換し、実番号「２」を実番号レジスタ３４と状態管理部３１に通知する。【０１９７】
各プロセッサエレメント４１による演算結果がイベント信号Ａとして状態管理部３１に通知されると、該イベント信号Ａは対応実番号補充部３６が選択したイベント信号Ａと一致し、かつ構成番号変換部３２による論理番号から実番号への変換が成功しているため、実番号レジスタ３４は構成番号変換部３２から通知された実番号「２」を保持する。また、状態管理部３１は、対応実番号記憶部３５の対応記憶箇所に遷移先の実番号「２」を格納し、併せて「有効」を示す情報を格納する。また、状態管理部３１は、次サイクルの内部状態番号「１」を読み出す。【０１９８】
２０６サイクル目において、演算部４は、論理番号−内部状態番号「３−１」の処理を実行する。このときの状態管理部３１が備える対応表を図１６Ｅに示す。２０６サイクル目では、実番号レジスタ３４に実番号「２」が書き込まれ、状態管理部３１は内部状態番号「１」を出力する。実番号レジスタ３４に格納された実番号「２」は構成情報メモリ４４へ通知され、対応する構成情報が読み出されて各プロセッサエレメント４１の動作とスイッチの接続関係が決定する。また、各プロセッサエレメント４１に内部状態番号「１」が通知され、一部の演算器の動作を決定する。その結果、各プロセッサエレメント４１で所定の演算が実行される。【０１９９】
対応実番号補充部３６は、対応実番号記憶部３５内の無効となっているイベント信号を一つ選択する。ここではイベント信号Ｂを選択したと仮定する。【０２００】
対応実番号補充部３６は、選択したイベント信号Ｂに対応する論理番号「６」を先行して構成番号変換部３２に通知する。構成番号変換部３２は、論理番号「６」から実番号への変換を試みるが、失敗する。【０２０１】
各プロセッサエレメント４１による演算結果がイベント信号Ａとして状態管理部３１に通知されると、該イベント信号Ａは対応実番号補充部３６が選択したイベント信号Ｂと一致しないため、状態管理部３１は状態遷移図に基づいて作成された対応表にしたがって、現在の実番号「２」とイベント信号Ａから次の状態の論理番号「３」を決定する。また、同時に対応実番号記憶部３５の対応記憶箇所から有効な実番号「２」を読み出す。【０２０２】
対応実番号記憶部３５の対応記憶箇所の読み出し結果が「有効」であるため、状態管理部３１は、実番号レジスタ３４に実番号「２」を書き込む、次サイクルの内部状態番号「１」を読み出す。【０２０３】
対応実番号補充部３６がイベント信号Ｂを選択し、構成番号変換部３２に通知した変換結果は失敗であったが、各プロセッサエレメント４１による演算結果に応じて発行されるイベント信号とは一致しないため、構成番号変換部３２は論理番号「６」の書き換え要求は行わない。【０２０４】
２０７サイクル目において、演算部４は、論理番号−内部状態番号「３−１」の処理を実行する。このときの状態管理部３１が備える対応表は図１６Ｅに示した２０６サイクル目から変化しない。２０７サイクル目では、実番号レジスタ３４に実番号「２」が書き込まれ、状態管理部３１は内部状態番号「１」を出力する。実番号レジスタ３４に格納された実番号「２」は構成情報メモリ４４へ通知され、対応する構成情報が読み出されて各プロセッサエレメント４１の動作とスイッチの接続関係が決定する。また、各プロセッサエレメント４１に内部状態番号「１」が通知され、一部の演算器の動作を決定する。その結果、各プロセッサエレメント４１で所定の演算が実行される。【０２０５】
対応実番号補充部３６は、対応実番号記憶部３５内の「無効」となっているイベント信号を一つ選択するが、「無効」のエントリが無いため処理を実行しない。【０２０６】
各プロセッサエレメント４１による演算結果がイベント信号Ｂとして状態管理部３１に通知されると、状態管理部３１は状態遷移図に基づいて作成された対応表にしたがって、現在の実番号「２」とイベント信号Ａから次の状態の論理番号「６」を決定する。また同時に、状態管理部３１は対応実番号記憶部３５の対応記憶箇所から「無効」を読み出す。【０２０７】
対応実番号記憶部３５の対応記憶箇所の読み出し結果が「無効」であるため、状態管理部３１は、プロセッサエレメント４１群に動作を停止させるためのＷＥキャンセル信号を２サイクル目以降発行し続ける。プロセッサエレメント４１のレジスタはこの信号により、内容更新を受け付けなくなる。また、外部ポートからのデータ入力動作も停止する。また、状態管理部３１は動作再開時の内部状態番号として「１」を読み出す。【０２０８】
２０８サイクル目において、状態管理部３１は次の状態の論理番号「６」を構成番号変換部３２へ通知する。【０２０９】
構成番号変換部３２は、変換表を用いて論理番号「６」を実番号に変換することを試みる。ここでは、論理番号「６」の構成情報が構成情報メモリ４４で保持されていないため、論理番号から実番号への変換に失敗する。そのため、構成番号変換部３２は、論理番号「６」の構成情報を構成情報メモリ４４に書き込むよう構成書換部３３に要求する。【０２１０】
構成書換部３３は、構成情報メモリ４４、状態管理部３１および構成番号変換部３２の書き換えを行う。ここでは、未使用の実番号「３」を使用する。【０２１１】
構成書換部３３は、外部メモリ５より論理番号「６」の構成情報を取得し、該構成情報を構成情報メモリ４４に書き込む。また、構成書換部３３は、状態管理部３１の実番号「３」のエントリに論理番号「６」の遷移先の情報を書き込み、構成番号変換部３２の実番号「３」のエントリに論理番号「６」を書き込む。【０２１２】
３０８サイクル目において、構成書換部３３による書き換えが終了すると、構成番号変換部３２は、論理番号「６」に対応する実番号「３」を実番号レジスタ３４へ送信する。また、次サイクルより動作を再開させるために、ＷＥキャンセル信号の発行を停止し、プロセッサエレメント４１群に動作を再開させる。【０２１３】
以降、同様にして論理番号−内部状態番号の組「６−１」→「６−１」→「１０−１」→「１０−１」→「１−１」の順に遷移し、「１−１」から「２−１」に戻ったときの状態管理部３１が備える対応表を図１６Ｆに示す。【０２１４】
ここで、再度、論理番号−内部状態番号の組「２−１」から「３−１」へ遷移する場合、次に「１−１」に到達するまでの状態遷移で用いる実番号は対応実番号記憶部３５で保存されているため、構成番号変換部３２を使用しない動作が可能である。【０２１５】
以下、論理番号−内部状態番号の組「１−１」から「２−１」に戻るときの動作を示す。【０２１６】
この場合、実番号レジスタ３４には実番号「５」が書き込まれ、状態管理部３１は内部状態番号「１」を出力する。そのため、演算部４の各プロセッサエレメント４１の構成情報メモリ４４に実番号「５」が通知され、対応する構成情報が読み出されて各プロセッサエレメント４１の動作とスイッチの接続関係が決定する。また、各プロセッサエレメント４１に内部状態番号「１」が通知され、一部の演算器の動作を決定する。その結果、各プロセッサエレメント４１で所定の演算が実行される。【０２１７】
また、対応実番号補充部３６は、対応実番号記憶部３５内から「無効」となっているイベント信号を一つ選択する。ここではイベント信号Ｂを選択したと仮定する。対応実番号補充部３６は、選択したイベント信号Ｂに対応する論理番号「１」を先行して構成番号変換部３２に通知する。構成番号変換部３２は、論理番号「１」を実番号「５」に変換し、実番号「５」を実番号レジスタ３４と状態管理部３１に通知する。【０２１８】
各プロセッサエレメント４１による演算結果がイベント信号Ａとして状態管理部３１に通知されると、該イベント信号Ａが、対応実番号補充部３６が選択したイベント信号Ｂと一致していない。しかしながら、構成番号変換部３２による論理番号から実番号への変換は成功しているため、状態管理部３１は対応実番号記憶部３５の実番号「５」とイベント信号Ｂで特定されるエントリに実番号「５」を記憶し、「有効」を示す情報を格納する。このときの状態管理部３１が備える対応表を図１６Ｇに示す。【０２１９】
イベント信号の不一致を検出した状態管理部３１は、状態遷移図に基づいて作成された対応表にしたがって、現在の実番号「５」とイベント信号Ａから次の状態の論理番号「２」を決定する。また、状態管理部３１は、対応実番号記憶部３５を現在の実番号「５」とイベント信号Ａで特定されるエントリから有効な実番号「１」読み出し、該実番号「１」を実番号レジスタ３４に書き込む。【０２２０】
また、状態管理部３１は、次サイクルの内部状態番号「１」を読み出す。【０２２１】
同様に「１−１」から「２−１」に戻り、「２−１」から「３−１」に遷移するループを繰り返すことで、対応実番号記憶部３５の実番号「５」とイベント番号Ｃ、Ｄで特定されるエントリは、無効から実番号「０」に書き換えられる。書き換え後の状態管理部３１の対応表を図１６Ｈに示す。【０２２２】
その後、「２−１」から「４−１」、さらに「７−１」に遷移するとき、状態管理部３１は、対応実番号記憶部３５から「無効」を読み出し、構成番号変換部３２による論理番号から実番号への変換も失敗するため、構成書換部３３による書き換えが行われる。また、「７−１」から「１０−１」、「１２−１」を経て「２−１」に戻り、さらに「４−１」に遷移したときの状態管理部３１が備える対応表を図１６Ｉに示す。【０２２３】
ここで、「４−１」から「８−１」に遷移する場合の動作を示す。【０２２４】
この場合、現在の実番号「１」とイベント信号Ｃに基づいて対応実番号記憶部３５からは「無効」が読み出される。また、次サイクルで構成番号変換部３２による論理番号「５」から実番号への変換に失敗し、構成番号変換部３２は、論理番号「８」の構成情報を構成情報メモリ４４に書き込むよう構成書換部３３に要求する。【０２２５】
構成書換部３３は、構成情報メモリ４４、状態管理部３１および構成番号変換部３２の書き換えを行う。ここでは、未使用の実番号が無くなってしまったため、論理番号「８」の構成情報を書き込む場所を決定する必要がある。ここでは、論理番号「１０」を消去する。【０２２６】
構成情報メモリ４４の実番号「４」から論理番号「１０」を消去する場合、まず対応実番号記憶部３５内の実番号「４」への遷移を保持しているエントリを無効化する。ここでは、実番号「３」とイベント信号Ｂで特定されるエントリおよび実番号「７」とイベント信号Ａで特定されるエントリが該当する。また、実番号「４」とイベント信号Ａで特定されるエントリも該当するが、この後、実番号「４」の全内容が消去されるため、ここでは対応実番号記憶部３５の内容のみを明示的に無効化する必要はない。【０２２７】
対応実番号記憶部３５内の特定のエントリの無効化が完了すると、構成情報メモリ４４、状態管理部３１および構成番号変換部３２の実番号「４」に対応する内容を消去し、新たに論理番号「８」の内容を書き込む。書き込み後の状態管理部３１が備える対応表を図１６Ｊに示す。【０２２８】
この後、「８−１」から「１１−１」に遷移する際に実番号「３」を論理番号「１１」に書き換えたとする。書き換え後の状態管理部３１が備える対応表を図１６Ｋに示す。【０２２９】
さらに、「１−１」を経て「２−１」に遷移し、再び「２−１」から「３−１」を経て「６−１」に遷移する場合、論理番号「６」の構成情報を再度書き込む。ここでは先ほどと異なり実番号「４」に書き込んだとする。このときの状態管理部３１が備える対応表を図１６Ｌに示す。【０２３０】
その後、論理番号「１０」の構成情報を実番号「３」に書き込み、「１０−１」に遷移したとき、状態管理部３１が備える対応表を図１６Ｍに示す。この時点では、実番号「７」のイベント信号Ａの対応実番号記憶部３５は無効のままである。この対応記憶箇所は、「７−１」に遷移するまで書き込まれない。【０２３１】
以降、同様に、既に実行したことがあり、遷移元及び遷移先が消去されていない遷移については、状態管理部３１が対応実番号記憶部３５の内容を読み出して直接実番号レジスタ３４に書き込むことに加え、まだ行ったことがない遷移についても現状態の遷移先の構成情報が書き込まれていれば対応実番号補充部３６が対応実番号記憶部３５の内容を補充していく。【０２３２】
本実施例によれば、構成番号変換部３２を使用することなく、直ぐに次のサイクルにて次の論理番号に対応する処理が可能であり、第１実施例と比べて処理を実行するまでに必要なサイクル数が低減するため、処理性能が向上する。
（第３実施例）
第３実施例は、上記先願発明１（特願２００６−１０３９８７号）のデータ処理装置に上述した第６の実施の形態を適用する例である。【０２３３】
図１７は第３実施例のデータ処理装置の構成を示すブロック図である。【０２３４】
本実施例は、第２実施例で示した対応実番号補充部３６の機能を構成書換部３３で実現する例である。【０２３５】
構成書換部３３は、論理番号毎に、状態管理部３１のどのエントリに遷移先が存在するかを示すリストを備え、構成情報の書き換え時に該リストを更新する。【０２３６】
第２実施例の対応実番号補充部３６は、対応実番号記憶部３５内の現在の実番号のエントリのみを補充していたが、本実施例の構成書換部３３は、構成情報の書き込みを行い、動作を再開した直後に書き込んだ構成情報の実番号の対応実番号記憶部３５を補充し、その後、それ以外の実番号の対応実番号記憶部３５を補充する。【０２３７】
上記以外の構成は第２実施例と同様であるため、その説明は省略する。【０２３８】
また、データ処理装置の動作についても、図１６Ｍに示す状態に到達するまでの動作は第２実施例と同様である。但し、第２実施例では、ある実番号に遷移したときに、対応実番号記憶部３５の該実番号のエントリに「無効」が存在すると、対応実番号補充部３６が毎回動作するのに対し、本実施例では、構成書換部３３が構成情報の書き換えを行った直後にのみ対応実番号記憶部３５の補充を行う。【０２３９】
第２実施例と同様の演算を行い、構成書換部３３が論理番号「１０」の構成情報を実番号「３」に書き込み、図１６Ｍに示した状態になると、構成書換部３３は、論理番号「１０」を遷移先として持つエントリのリストを参照し、対応実番号記憶部３５の実番号「７」とイベント信号Ａで特定されるエントリに、遷移先の論理番号「１０」に対応する実番号「３」を書き込む。【０２４０】
本実施例によれば、ある論理番号に対し、複数の論理番号から遷移する可能性があり、かつその遷移元の論理番号の構成情報が構成情報メモリに書き込まれている場合に、第２実施例と比べて無駄となる動作を削減できる。【０２４１】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細は本願発明のスコープ内で当業者が理解し得る様々な変更が可能である。【０２４２】
この出願は、２００９年８月２５日に出願された特願２００９−１９４０７４号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
0005532050.tif 000002
【図２】
0005532050.tif 000003
【図３】
0005532050.tif 000004
【図４】
0005532050.tif 000005
【図５】
0005532050.tif 000006
【図６】
0005532050.tif 000007
【図７】
0005532050.tif 000008
【図８】
0005532050.tif 000009
【図９】
0005532050.tif 000010
【図１０】
0005532050.tif 000011
【図１１Ａ】
0005532050.tif 000012
【図１１Ｂ】
0005532050.tif 000013
【図１１Ｃ】
0005532050.tif 000014
【図１１Ｄ】
0005532050.tif 000015
【図１１Ｅ】
0005532050.tif 000016
【図１２】
0005532050.tif 000017
【図１３】
0005532050.tif 000018
【図１４】
0005532050.tif 000019
【図１５】
0005532050.tif 000020
【図１６Ａ】
0005532050.tif 000021
【図１６Ｂ】
0005532050.tif 000022
【図１６Ｃ】
0005532050.tif 000023
【図１６Ｄ】
0005532050.tif 000024
【図１６Ｅ】
0005532050.tif 000025
【図１６Ｆ】
0005532050.tif 000026
【図１６Ｇ】
0005532050.tif 000027
【図１６Ｈ】
0005532050.tif 000028
【図１６Ｉ】
0005532050.tif 000029
【図１６Ｊ】
0005532050.tif 000030
【図１６Ｋ】
0005532050.tif 000031
【図１６Ｌ】
0005532050.tif 000032
【図１６Ｍ】
0005532050.tif 000033
【図１７】
0005532050.tif 000034