(57)【要約】【課題】本発明は、ＬＳＩ製造後、動的再構成可能デバイスの実行中にコンテキストエラーが発生した場合であっても、発生したコンテキストエラーが処理結果に影響しないときは処理を継続して行うことを可能にし、デバイスの稼働時間を延ばして信頼性を向上させることができる動的再構成可能デバイスの制御装置を提供する。【解決手段】ＬＳＩ製造後、動的再構成可能デバイスの実行中にコンテキストエラーが発生した場合、当該エラーが発生したコンテキストのプロセッシングエレメントと接続関係にあるプロセッシングエレメントの処理内容を検索してエラーが出力結果に影響するか否かを判断し、エラーが出力結果に影響しない場合は処理を停止しないように制御する。【選択図】図１
2007293701.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの演算器を有する処理ユニットを複数備え、前記処理ユニット内の演算器構成及び前記処理ユニット間の接続構成を、構成情報を変更することで動的に変更することが可能な動的再構成可能デバイスの制御装置において、
前記処理ユニットで発生した構成情報エラーを通知する構成情報エラー通知手段と、
前記通知された構成情報エラーに基づいて前記処理ユニット間の接続情報を取得する接続情報取得手段と、
前記取得された接続情報に基づいて前記処理ユニットで処理する演算情報を取得する演算情報取得手段と、
前記取得した演算情報に基づいて、前記構成情報エラーが発生した処理ユニットが出力結果に影響するか否かを判断する判断手段とを備えることを特徴とする動的再構成可能デバイスの制御装置。
【請求項２】
前記構成情報エラー通知手段は、前記処理ユニット毎に前記構成情報エラーが発生したことを検出するエラー検出手段と、
前記検出した構成情報エラーを保持するエラー保持手段とを備えることを特徴とする請求項１記載の動的再構成可能デバイスの制御装置。
【請求項３】
前記処理ユニット間の接続情報として、前記処理ユニットのＩＤ、前記処理ユニットの演算処理内容、及び前記処理ユニットの出力先の各情報を保持する接続情報保持手段と、前記処理ユニットで処理する演算情報として、前記処理ユニットのＩＤ及び前記処理ユニットの入出力情報を保持する演算情報保持手段とを更に備えることを特徴とする請求項１又は２記載の動的再構成可能デバイスの制御装置。
【請求項４】
前記接続情報取得手段は、前記接続情報保持手段から前記構成情報エラーが発生した処理ユニット毎に出力先である他の処理ユニットの情報を取得し、当該他の処理ユニットの情報を検索キーとして前記接続情報保持手段から次の接続情報を取得することを特徴とする請求項３記載の動的再構成可能デバイスの制御装置。
【請求項５】
少なくとも１つの演算器を有する処理ユニットを複数備え、前記処理ユニット内の演算器構成及び前記処理ユニット間の接続構成を、構成情報を変更することで動的に変更することが可能な動的再構成可能デバイスの制御方法において、
前記処理ユニットで発生した構成情報エラーを通知する構成情報エラー通知工程と、
前記通知された構成情報エラーに基づいて前記処理ユニット間の接続情報を取得する接続情報取得工程と、
前記取得された接続情報に基づいて前記処理ユニットで処理する演算情報を取得する演算情報取得工程と、
前記取得した演算情報に基づいて、前記構成情報エラーが発生した処理ユニットが出力結果に影響するか否かを判断する判断工程とを備えることを特徴とする動的再構成可能デバイスの制御方法。
【請求項６】
前記構成情報エラー通知工程は、前記処理ユニット毎に前記構成情報エラーが発生したことを検出するエラー検出工程と、
前記検出した構成情報エラーを保持するエラー保持工程とを備えることを特徴とする請求項５記載の動的再構成可能デバイスの制御方法。
【請求項７】
前記接続情報取得工程は、前記処理ユニットのＩＤ、前記処理ユニットの演算処理内容、及び前記処理ユニットの出力先の各情報を保持する接続情報保持手段から前記処理ユニット間の接続情報を取得し、
前記演算情報取得工程は、前記処理ユニットのＩＤ及び前記処理ユニットの入出力情報を保持する演算情報保持手段から前記処理ユニットで処理する演算情報を取得することを特徴とする請求項５又は６記載の動的再構成可能デバイスの制御方法。
【請求項８】
前記接続情報取得工程は、前記接続情報保持手段から前記構成情報エラーが発生した処理ユニット毎に出力先である他の処理ユニットの情報を取得し、当該他の処理ユニットの情報を検索キーとして前記接続情報保持手段から次の接続情報を取得することを特徴とする請求項７記載の動的再構成可能デバイスの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動的再構成可能デバイス（ダイナミックリコンフィギャラブルデバイス）の構成情報（コンテキスト）エラーを検出することが可能な動的再構成可能デバイスの制御装置及び方法に関する。
【背景技術】
【０００２】
近年、ＬＳＩ（Large Scale Integration）の設計期間を短縮する技術に対する必要性が高まっている。そのため、ＬＳＩ設計期間を短縮させる１つの解決策として動的再構成可能デバイス（ダイナミックリコンフィギャラブルデバイス）が注目されている。
【０００３】
動的再構成可能デバイスとは、ＬＳＩ中に演算器（ＡＬＵ）を有する処理ユニット（プロセッシングエレメント）を複数組み込み、プロセッシングエレメント内部のＡＬＵ制御及びプロセッシングエレメント間の接続を動的（ＬＳＩ稼動中）に切り替えることを可能にした技術である。
【０００４】
回路を再構成可能なデバイスとしてはＦＰＧＡ（Field Programmable Gate Arrays）のようにトランジスタ間の接続を変更可能なアーキテクチャもある。しかしながら、ＦＰＧＡ自体が回路を動的に切り替えるには時間がかかる。このため、アプリケーションの実行中に回路を動的に制御することは難しい。
【０００５】
これに対して動的再構成可能デバイスは回路を高速に切り替えることが可能である。なぜなら、ＦＰＧＡはゲートレベルで回路の変更を行うのに対して、動的再構成可能デバイスはプロセッシングエレメント（ＰＥ）単位で回路変更を行うため、回路の変更に必要な構成情報が少なくて済む。加えて、構成を変更するための回路が簡単になることで高速な構成情報の変更が可能となる。
【０００６】
動的再構成可能デバイスは、アプリケーションの実行中に回路を動的に切り替えることにより同一のＬＳＩで複数のアプリケーションに対応可能となる。代表的な動的再構成可能デバイスとしてアイピーフレックス社製ＤＡＰＤＮＡ、ＮＥＣ製ＤＲＰなどが有る。どちらも数百のプロセッシングエレメントを内部に持つことで高い処理性能を維持している。
【特許文献１】特開平１１−１６７５５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ＬＳＩ製造後、動的再構成可能デバイスの実行中に構成情報（コンテキスト）エラーが発生した場合、発生したコンテキストエラーが処理結果に影響しないときは処理を継続することができる。そこで、コンテキストエラーが処理結果に影響しないかどうかを判定し、当該コンテキストエラーが結果に影響しないときは処理を継続することでデバイスの稼働時間を延ばし、信頼性を向上させることが求められている。
【０００８】
そこで本発明は、ＬＳＩ製造後、動的再構成可能デバイスの実行中にコンテキストエラーが発生した場合であっても、発生したコンテキストエラーが処理結果に影響しないときは処理を継続して行うことを可能にし、デバイスの稼働時間を延ばして信頼性を向上させることができる動的再構成可能デバイスの制御装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、請求項１記載の動的再構成可能デバイスの制御装置は、少なくとも１つの演算器を有する処理ユニットを複数備え、前記処理ユニット内の演算器構成及び前記処理ユニット間の接続構成を、構成情報を変更することで動的に変更することが可能な動的再構成可能デバイスの制御装置において、前記処理ユニットで発生した構成情報エラーを通知する構成情報エラー通知手段と、前記通知された構成情報エラーに基づいて前記処理ユニット間の接続情報を取得する接続情報取得手段と、前記取得された接続情報に基づいて前記処理ユニットで処理する演算情報を取得する演算情報取得手段と、前記取得した演算情報に基づいて、前記構成情報エラーが発生した処理ユニットが出力結果に影響するか否かを判断する判断手段とを備えることを特徴とする。
【００１０】
上記目的を達成するために、請求項５記載の動的再構成可能デバイスの制御方法は、少なくとも１つの演算器を有する処理ユニットを複数備え、前記処理ユニット内の演算器構成及び前記処理ユニット間の接続構成を、構成情報を変更することで動的に変更することが可能な動的再構成可能デバイスの制御方法において、前記処理ユニットで発生した構成情報エラーを通知する構成情報エラー通知工程と、前記通知された構成情報エラーに基づいて前記処理ユニット間の接続情報を取得する接続情報取得工程と、前記取得された接続情報に基づいて前記処理ユニットで処理する演算情報を取得する演算情報取得工程と、前記取得した演算情報に基づいて、前記構成情報エラーが発生した処理ユニットが出力結果に影響するか否かを判断する判断工程とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、処理ユニットで発生した構成情報エラーに基づいて処理ユニット間の接続情報を取得し、取得された接続情報に基づいて処理ユニットで処理する演算情報を取得する。そして、取得した演算情報に基づいて、構成情報エラーが発生した処理ユニットが出力結果に影響するか否かを判断する。これにより、ＬＳＩ製造後、動的再構成可能デバイスの実行中にコンテキストエラーが発生した場合であっても、発生したコンテキストエラーが処理結果に影響しないときは処理を継続して行うことを可能にし、デバイスの稼働時間を延ばして信頼性を向上させることができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
【００１３】
図１は、本発明の実施の形態に係る動的再構成可能デバイス制御装置の概略構成を示すブロック図である。
【００１４】
図１において、１００は、動的再構成可能デバイスの構成情報（コンテキスト）１１１を格納するメモリである。メモリ１００内に格納されたコンテキスト１１１は、信号１１２を用いてプロセッシングエレメントマトリックス部１１３にロードされる。
【００１５】
プロセッシングエレメントマトリックス部１１３は、内部に複数のプロセッシングエレメント（ＰＥ）２００を２次元のアレイ状に保持している。プロセッシングエレメント２００は、内部に少なくとも１つの演算器（ＡＬＵ：Arithmetic and Logic Unit）を各々保持しており、コンテキスト１１１によって算術演算、論理演算、比較、シフト、マスク、及びセレクタ（ＭＵＸ）等に構成を変えることが可能である。
【００１６】
プロセッシングエレメントマトリックス部１１３は、プロセッシングエレメント２００内の演算器構成及びプロセッシングエレメント２００間の接続構成を、コンテキスト１１１を変更することで動的に変更することができる。
【００１７】
１０１はルーティングテーブル生成回路であり、コンテキスト１１１がメモリ１００からプロセッシングエレメントマトリックス部１１３にロードされる際に、当該コンテキスト１１１からプロセッシングエレメント間の接続情報を抽出する回路である。１０３はルーティングテーブルであり、ルーティングテーブル生成回路１０１で抽出（取得）されたプロセッシングエレメント間の接続情報をルーティング情報として保持するテーブルである。
【００１８】
１０２はプロセッシングエレメント演算情報テーブル生成回路であり、コンテキスト１１１がメモリ１００からプロセッシングエレメントマトリックス部１１３にロードされる際に、当該コンテキスト１１１から各プロセッシングエレメント２００で処理される演算の種類（プロセッシングエレメント２００の演算情報）を抽出する回路である。１０４はプロセッシングエレメント演算情報テーブルであり、プロセッシングエレメント演算情報テーブル生成回路１０２で抽出（取得）されたプロセッシングエレメント２００の演算情報を保持するテーブルである。
【００１９】
１１４は、プロセッシングエレメント２００でコンテキストエラーが発生した際、エラー保持装置１０７、ルーティングテーブル１０３、及びプロセッシングエレメント演算情報テーブル１０４からプロセッシングエレメントマトリックス部１１３の出力データがコンテキストエラーの影響を受けないか否かを判定するためのプロセッサである。
【００２０】
１１６はプロセッシングエレメントマトリックス部１１３から出力されるコンテキストエラー情報の信号である。１１５はプロセッサ１１４から出力される割り込みマスク信号である。１０８はエラー保持装置１０７からプロセッサ１１４へ出力される割り込み信号である。１２１はエラー保持装置１０７からプロセッサ１１４にリードされる信号である。
【００２１】
１２２はプロセッサ１１４からルーティングテーブル１０３へ出力されるプロセッシングエレメントＩＤ（ＰＥＩＤ）の信号である。ＰＥＩＤは、各プロセッシングエレメント２００に割り振られた固有のＩＤである。１０９はプロセッサ１１４から出力されたＰＥＩＤに応じてルーティングテーブル１０３から取得されるルーティング情報の信号である。
【００２２】
１２３はプロセッサ１１４からプロセッシングエレメント演算情報テーブル１０４へ出力されるＰＥＩＤの信号である。１１０はプロセッサ１１４から出力されたＰＥＩＤに応じてプロセッシングエレメント演算情報テーブル１０４から取得される演算情報の信号である。
【００２３】
図２は、図１におけるプロセッシングエレメント２００の概略構成図である。
【００２４】
図２において、２０１は命令ポインタレジスタであり、受信した信号１１２からコンテキスト１１１内の命令ポインタを保持する。２０２はパリティ生成回路であり、信号１１２の受信時に命令ポインタに対応したパリティ情報を生成する。２０３はパリティチェック回路であり、コンテキスト１１１と生成されたパリティ情報からパリティチェックを行い、コンテキストエラーのチェックを行う。
【００２５】
信号１１６はパリティエラーチェック結果信号として図１のエラー保持装置１０７に送信される。２０４は命令メモリであり、命令ポインタのアドレスに対応する命令を信号２０７としてＡＬＵ２０５に出力する。ＡＬＵ２０５は、信号２０７により処理機能を変化させる。２０６はレジスタファイルであり、ＡＬＵ２０５による処理結果を格納する。
【００２６】
図３は、図１におけるエラー保持装置１０７の概略構成図である。
【００２７】
図３において、３０１はエラー保持装置１０７内に複数設けられたレジスタ（ＦＬＩＰ／ＦＬＯＰ）である。レジスタ１１３には、プロセッシングエレメントマトリックス部１１３内の各ＰＥ２００から出力されたパリティエラーチェック結果信号（エラー情報）の値がそれぞれセットされる。
【００２８】
３０２はエラー保持装置１０７内に複数設けられたレジスタ（ＦＬＩＰ／ＦＬＯＰ）である。各レジスタ３０１には、プロセッサ１１４から出力された割り込みマスク信号１１５がセットされる。
【００２９】
３０３はレジスタ（ＦＬＩＰ／ＦＬＯＰ）である。レジスタ３０３には、各レジスタ３０１のレジスタ値と各レジスタ３０２のレジスタ値を論理積（ＡＮＤ）で論理演算した後で全て論理和（ＯＲ）した信号がセットされる。レジスタ３０３はレジスタ値を割り込み信号１０８としてプロセッサ１１４へ出力する。
【００３０】
信号１２１（エラーＰＥ情報）は各レジスタ３０１から出力されたレジスタ値である。プロセッサ１１４が信号１２１をリードすることによりコンテキストエラーが発生したプロセッシングエレメント２００を特定することができる。
【００３１】
図４は、図１におけるルーティングテーブル１０３の一例を示す概略図である。
【００３２】
図４において、ルーティングテーブル１０３は、内部にプロセッシングエレメントのＩＤ（ＰＥＩＤ）、該プロセッシングエレメントの演算処理内容（ＯＰ）、及び該プロセッシングエレメントの処理結果の出力先（ＤＩＳＴ）の情報で構成されるプロセッシングエレメント間の接続情報を保持している。図中の「ＭＵＸ」はセレクタ、「ＡＤＤ」は加算器である。プロセッシングエレメント間の接続情報は、ルーティングテーブル１０３内のＰＥＩＤをキーにして行を特定することで取得することができる。
【００３３】
図５は、図１におけるプロセッシングエレメント演算情報テーブル１０４の一例を示す概略図である。
【００３４】
図５において、プロセッシングエレメント演算情報テーブル１０４は、内部にプロセッシングエレメントのＩＤ（ＰＥＩＤ）、第１の入力プロセッシングエレメントＩＤ（ＩＮＰＥＩＤ０）、第２の入力プロセッシングエレメントＩＤ（ＩＮＰＥＩＤ１）、出力データ（ＯＵＴ）の情報で構成されるプロセッシングエレメントの演算情報を保持している。プロセッシングエレメント演算情報テーブル１０４内の演算情報は、２つの入力プロセッシングエレメントＩＤと１つの出力プロセッシングエレメントＩＤで構成され、ＰＥＩＤに対応するプロセッシングエレメント２００の入出力情報を表している。２つの入力プロセッシングエレメントＩＤは、対応するＰＥＩＤの入力側に接続されたプロセッシングエレメントのＩＤである。
【００３５】
図中の「ＩＮ７，ＩＮ６，ＩＮ４〜ＩＮ０」は、プロセッシングエレメントマトリックス部１１３の外部から直接入力される入力ポート番号である。また、「ＣＯＮＳＴ」は定数値を示す。また、「ＩＮ６／７」は、例えば、ＰＥＩＤ＝ＰＥ３の出力データにはＩＮ６およびＩＮ７双方の値が影響を与えることを示す。
【００３６】
入力プロセッシングエレメントＩＤに記載されている情報は、ＰＥＩＤ（ここではＰＥ０〜ＰＥ６）又は図１中のプロセッシングエレメントマトリックス部１１３の外部から入力されるデータのポート番号（ここではＩＮ０〜ＩＮ７）又は定数値（ＣＯＮＳＴ）の何れかである。出力データ情報に記載されている内容は、出力データに影響を及ぼす入力情報である。入力データ双方が出力結果に影響を与える場合は「／」を挟んで両方の番号が記載されている。例えば、ＰＥ０は、入力ポートＩＮ０及びＩＮ１から直接データを取得し、演算（ＡＤＤ：加算）を行う。そのため、図５に示すように、ＰＥ０の出力データにはＩＮ０及びＩＮ１双方の値が影響を与えるので「ＩＮ０／１」と記載されている。
【００３７】
図６は、コンテキストエラー発生時にプロセッサ１１４により実行される制御処理のフローチャートである。本処理は、発生したコンテキストエラーが出力結果に影響するか否かを判定する処理である。
【００３８】
図６において、ステップＳ６０１ではプロセッサ１１４がコンテキストエラー処理を開始する。プロセッサ１１４はコンテキスト１１１がメモリ１００からロードされる毎に処理を開始する。
【００３９】
ステップＳ６０２では、プロセッサ１１４はエラー保持装置１０７から出力された割り込み信号１０８を検出したか否か、即ちコンテキストエラーを検出したか否かを判別する。プロセッシングエレメントマトリックス部１１３から信号１１６で出力されたエラー情報は、エラー保持装置１０７内のレジスタ３０１にセットされ、エラー保持装置１０７から信号１０８で割り込み信号としてプロセッサ１１４へ通知される。ステップＳ６０２の判別の結果、コンテキストエラーを検出していない場合（ステップＳ６０２でＮＯ）、コンテキストエラーが発生するまで以下の処理は開始しない。
【００４０】
一方、ステップＳ６０２でコンテキストエラーを検出した場合（ステップＳ６０２でＹＥＳ）、プロセッサ１１４は割り込みマスク信号１１５を用いて、発生したコンテキストエラーの割り込み信号をマスク処理する（ステップＳ６０３）。次に、ステップＳ６０４では、コンテキストエラーが発生したプロセッシングエレメント２００を特定する。ここでは、プロセッサ１１４がエラー保持装置１０７から出力された信号１２１をリードすることによりコンテキストエラーが発生したプロセッシングエレメント２００のＩＤ（ＰＥＩＤ）を取得する。
【００４１】
ステップＳ６０５は、ステップＳ６０４で取得したＰＥＩＤを用いてルーティングテーブル１０３からルーティング情報を取得する。ここでは、プロセッサ１１４が、取得したＰＥＩＤを信号１２２でルーティングテーブル１０３に出力し、ルーティングテーブル１０３から信号１０９でルーティング情報を取得する。
【００４２】
次に、ステップＳ６０６では、取得したルーティング情報内のプロセッシングエレメントの演算処理内容が、セレクタ（ＭＵＸ）、マスク、シフトの入力データが出力に影響しない可能性がある演算情報かどうかを判断する。ここでは、演算処理内容がセレクタ、マスク、シフトの何れかである場合は（ステップＳ６０６でＹＥＳ）、ステップＳ６０７へ進む。一方、演算処理内容がセレクタ、マスク、シフトの何れでもない場合は（ステップＳ６０６でＮＯ）、ステップＳ６１２に進む。
【００４３】
ステップＳ６０７では、プロセッシングエレメント演算情報テーブル１０４から演算情報を取得する。ここでは、プロセッサ１１４が、プロセッシングエレメント演算情報テーブル１０４へ信号１２３でＰＥＩＤを出力し、プロセッシングエレメント演算情報テーブル１０４から信号１１０で演算情報を取得する。
【００４４】
次に、ステップＳ６０８では、発生したコンテキストエラーが出力に影響するか否かを調査する。ここでは、ステップＳ６０７で取得した演算情報から、コンテキストエラーが発生しているプロセッシングエレメントの出力データが処理結果に伝播するか否かを判断する。この結果、出力データが処理結果に伝播する場合は（ステップＳ６０８でＹＥＳ）、ステップＳ６１２へ進む一方、出力データが処理結果に伝播しない場合は（ステップＳ６０８でＮＯ）、ステップＳ６０９へ進む。
【００４５】
ステップＳ６０９では、ステップＳ６０３でマスク処理された割り込み信号のマスク解除を行う。ここでは、プロセッサ１１４は割り込みマスク信号１１５を用いて、コンテキストエラーが発生しているプロセッシングエレメント以外の割り込み信号のマスク解除を行う。
【００４６】
次に、ステップＳ６１０では、現在のコンフギュレーションでの処理が終了したか否かを判断する。処理が全て終了した場合はステップＳ６１１の処理を行い、処理が全て終了していない場合はステップＳ６０２以降の処理を再び行う。
【００４７】
ステップＳ６１１では、全ての割り込み信号のマスク解除を行う。プロセッサ１１４は、図１における割り込みマスク信号１１５を用いて、全ての割り込み信号のマスクを解除する。
【００４８】
ステップＳ６１２では、取得したルーティング情報内のＤＩＳＴが外部に出力されるかどうか、即ち処理結果が外部に出力されるか否かを判定する。プロセッサ１１４は、ステップＳ６０５でルーティングテーブル１０３から取得したルーティング情報から、処理結果が外部に出力されるかどうかを判断する。処理結果が外部に出力されない場合は（ステップＳ６１２でＮＯ）、ルーティング情報のＤＩＳＴの値（ＰＥＩＤ）を次の検索キーにしてステップＳ６０５の処理を再び行う。
【００４９】
一方、処理結果が外部に出力される場合は（ステップＳ６１２でＹＥＳ）、例外処理を行い（ステップＳ６１３）、致命的なコンテキストエラーが発生したことを外部に通知して、ステップＳ６１１へ進む。
【００５０】
次に、図４に示すルーティングテーブル１０３の接続情報及び図５に示すプロセッシングエレメント演算情報テーブル１０４の演算情報を利用して、プロセッシングエレメントＩＤ０（ゼロ）でコンテキストエラーが発生した場合のプロセッサ１１４の制御処理について説明する。
【００５１】
プロセッシングエレメントＩＤ０（ＰＥＩＤ０）でコンテキストエラーが発生した場合、パリティチェック回路２０３がコンテキストエラーを検出し、信号１１６でパリティエラーチェック結果信号（エラー情報）を出力する。信号１１６で出力されたエラー情報は、エラー保持装置１０７内のレジスタ３０１にセットされ、エラー保持装置１０７から信号１０８で割り込み信号としてプロセッサ１１４へ通知される。
【００５２】
プロセッサ１１４は、割り込み信号の受信後にエラー保持装置１０７へ割り込みマスク信号１１５を出力する。そして、プロセッサ１１４は、割り込みマスク処理後にエラー保持装置１０７からの信号１２１をリードすることでコンテキストエラーが発生したプロセッシングエレメントＩＤ０（ＰＥＩＤ０）を取得する。
【００５３】
プロセッサ１１４は、取得したＰＥＩＤ０を信号１２２でルーティングテーブル１０３に出力することにより、ルーティングテーブル１０３からプロセッシングエレメント間の接続情報（ルーティング情報）を取得する。取得したルーティング情報は、図４に示すように、ＰＥＩＤ＝ＰＥ０であることからＯＰの値がＡＤＤ、ＤＩＳＴの値がＰＥ４となる。ここでプロセッサ１１４は、ＯＰがセレクタ（ＭＵＸ）、マスク、シフトの何れでもないため、ルーティング情報のＤＩＳＴの値を次の検索キーとして、信号１２２でＰＥＩＤ４をルーティングテーブル１０３へ出力して次のルーティング情報を取得する。
【００５４】
次に取得したルーティング情報は、図４に示すように、ＰＥＩＤ＝ＰＥ４であることからＯＰの値がＭＵＸ、ＤＩＳＴの値がＰＥ６となる。ここでプロセッサ１１４はＯＰの値がセレクタ（ＭＵＸ）であるため、プロセッシングエレメント演算情報テーブル１０４に信号１２３でＰＥＩＤ４を出力してプロセッシングエレメントの演算情報を取得する。取得した演算情報は、図５に示すように、ＰＥＩＤ＝ＰＥ４であることから入力ＰＥＩＤ０，ＰＥＩＤ１のうち両方を出力する可能性があることが分かる。したがって、ＰＥ４ではＰＥ０のエラーを出力に伝播してしまうことが分かる。
【００５５】
次に、プロセッサ１１４は、ルーティング情報のＤＩＳＴの値を次の検索キーとして、信号１２２でＰＥＩＤ６をルーティングテーブル１０３へ出力して次のルーティング情報を取得する。取得したルーティング情報は、図４に示すように、ＰＥＩＤ＝ＰＥ６であることからＯＰの値がＭＵＸ、ＤＩＳＴの値がＯＵＴである。ここでプロセッサ１１４はＯＰの値がセレクタ（ＭＵＸ）であるため、プロセッシングエレメント演算情報テーブル１０４に信号１２３でＰＥＩＤ６を出力してプロセッシングエレメントの演算情報を取得する。
【００５６】
取得した演算情報は、図５に示すように、ＰＥＩＤ６であることから入力ＰＥＩＤ４，ＰＥＩＤ５のうちＰＥＩＤ５を出力することが分かる。したがって、ＰＥ６ではＰＥ４のエラーを出力に伝播しないことが分かり、プロセッサ１１４はコンテキストエラー発生後も処理を継続することができる。
【００５７】
一方、取得した演算情報がＰＥＩＤ４を出力する設定となっていた場合は、取得したルーティング情報のＤＩＳＴの値がＯＵＴであるため、コンテキストエラーが外部に出力されることになり、プロセッサ１１４は致命的なエラーが発生したことを外部に通知する必要がある。
【００５８】
上記処理を行うことによって、ＬＳＩ製造後、動的再構成可能デバイスの実行中にコンテキストエラーが発生した場合であっても、発生したコンテキストエラーが処理結果に影響しないときは処理を継続して行うことを可能にし、デバイスの稼働時間を延ばして信頼性を向上させることができる。
【００５９】
また、本発明の目的は、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給することによっても達成される。その場合、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出して実行する。該記憶媒体から読み出されたプログラムコード自体が上述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６０】
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク等を用いることができる。また、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ−ＲＡＭ、ＤＶＤ±ＲＷ等の光ディスク、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。また、プログラムコードをネットワークを介してダウンロードしてもよい。
【００６１】
コンピュータが読み出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけではない。すなわち、プログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれる。
【００６２】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【００６３】
【図１】本発明の実施の形態に係る動的再構成可能デバイス制御装置の概略構成を示すブロック図である。
【図２】図１におけるプロセッシングエレメントの概略構成図である。
【図３】図１におけるエラー保持装置の概略構成図である。
【図４】図１におけるルーティングテーブルの一例を示す概略図である。
【図５】図１におけるプロセッシングエレメント演算情報テーブルの一例を示す概略図である。
【図６】コンテキストエラー発生時にプロセッサにより実行される制御処理のフローチャートである。
【符号の説明】
【００６４】
１００  メモリ
１０１  ルーティングテーブル生成回路
１０２  プロセッシングエレメント演算情報テーブル生成回路
１０３  ルーティングテーブル
１０４  プロセッシングエレメント演算情報テーブル
１０７  エラー保持装置
１１１  構成情報
１１３  プロセッシングエレメントマトリックス部
１１４  プロセッサ
２００  プロセッシングエレメント
【図１】
2007293701.tif 000003
【図２】
2007293701.tif 000004
【図３】
2007293701.tif 000005
【図４】
2007293701.tif 000006
【図５】
2007293701.tif 000007
【図６】
2007293701.tif 000008