(57)【要約】  【課題】  １サイクル当たりの処理能力が高く、時分割多重化処理を取り扱うことができる、動的再構成論理回路装置を提供する。  【解決手段】  動的再構成論理回路装置５０は、アレイ状に配置された複数の動的再構成演算ユニット（ＤＲＰＵ）１００と、複数の動的接続ユニット（ＤＣＵ）２００とを有する。各動的再構成演算ユニット１００の入出力は、動的接続ユニット２００によって接続されている。動的再構成演算ユニット１００は、複数の演算処理構成と、複数の入力データ記憶部と、出力データ記憶部とを有しており、それらの選択と設定は、割込コントローラ６１の割込信号７０に基づいて行われる。同様に、動的接続ユニット２００の接続は、割込信号７０に基づいて行われる。この構成で、ＣＰＵ６０から割込要求を発行すると、入力データと演算処理構成を切替え、かつ、全体の論理回路構成を変更して、時分割多重処理が実行できる。【選択図】  図１
2005165961.tif 000002
【特許請求の範囲】
【請求項１】
複数の動的再構成演算ユニットと、
少なくとも１つの動的接続ユニットと、を備え、
外部から入力される割込信号をトリガーとして、前記動的接続ユニットは、前記複数の動的再構成演算ユニットの入力と出力の電気的接続を切替えて、異なる論理回路を構成する動的再構成論理回路装置。
【請求項２】
前記動的再構成演算ユニットは、複数の演算処理構成を有し、外部から入力される割込信号をトリガーとして、前記演算処理構成を変更する請求項１記載の動的再構成論理回路装置。
【請求項３】
前記動的再構成演算ユニットは、
少なくとも１つの演算部と、
前記演算部を組合わせて異なる演算処理構成を設定するための設定情報を格納する設定情報記憶部と、
前記動的再構成演算ユニットに入力されるデータを保持する、少なくとも１つの入力データ記憶部と、
前記設定情報記憶部から読み出す設定情報を切替える設定情報切替手段と、
前記少なくとも１つの入力データ記憶部を切替える入力データ切替手段と、を有し、
外部から入力される割込信号をトリガーとして、前記設定情報切替手段と前記入力データ切替手段とにおける切替えを実行し、異なる演算処理構成を構築する、請求項１から２記載の動的再構成論理回路装置。
【請求項４】
前記動的再構成演算ユニットは、
少なくとも１つの演算部と、
前記演算部を組合わせて異なる演算処理構成を設定するための設定情報を格納する設定情報記憶部と、
前記動的再構成演算ユニットに入力されるデータを保持する、少なくとも１つの入力データ記憶部と、
前記動的再構成演算ユニットから出力されるデータを保持する、少なくとも１つの出力データ記憶部と、
前記設定情報記憶部から読み出す設定情報を切替える設定情報切替手段と、
前記少なくとも１つの入力データ記憶部を切替える入力データ切替手段と、
前記少なくとも１つの出力データ記憶部を切替える出力データ切替手段と、を有し、
外部から入力される割込信号をトリガーとして、前記設定情報切替手段と前記入力データ切替手段と前記出力データ切替手段とにおける切替えを実行し、異なる演算処理構成を構築する、請求項１から２記載の動的再構成論理回路装置。
【請求項５】
前記動的再構成演算ユニットに並列入力される入力データ数は、前記動的再構成演算ユニットから並列出力される出力データ数と等しい、請求項１から４記載の動的再構成論理回路装置。
【請求項６】
前記動的再構成演算ユニットに並列入力される入力データ数は、前記動的再構成演算ユニットから並列出力される出力データ数よりも大きい、請求項１から４記載の動的再構成論理回路装置。
【請求項７】
前記動的再構成演算ユニットが有する前記演算部は、加算、減算、シフト演算、マスク演算、ビット操作のうちの少なくとも１つを実行する、請求項３から５記載の動的再構成論理回路装置。
【請求項８】
前記動的接続ユニットは、
前記複数の動的再構成演算ユニットを相互接続する接続情報を格納した、少なくとも１つの接続情報記憶部と、
前記接続情報記憶部の接続情報を基に、前記動的再構成演算ユニットの出力と、前記他の動的再構成演算ユニットの入力との電気的接続を行う、少なくとも１つの接続部と、を有し、
外部から入力される割込信号をトリガーとして、前記接続情報記憶部からの接続情報読み出しと、前記接続部の電気的接続とを実行する、請求項１記載の動的再構成論理回路装置。
【請求項９】
複数の動的再構成演算ユニットと、
少なくとも１つの動的接続ユニットと、を備え、
前記動的接続ユニットは、前記複数の動的再構成演算ユニットの入力と出力の電気的接続を切替えて、異なる論理回路を構成する動的再構成論理回路装置における時分割多重化処理のための割込制御方法であって、
現在実行している処理よりも優先度の高い割込処理が発生した場合に、前記動的再構成論理回路装置に対して前記割込処理の割込信号を発信する、割込信号発信ステップと、
前記動的再構成論理回路装置が、前記割込処理の割込信号を受信する、割込信号受信ステップと、
前記受信した割込信号をトリガーとして、前記動的再構成論理回路装置が、前記割込処理に必要な論理回路を再構成する、論理回路再構成ステップと、
前記動的再構成論理回路装置が、前記再構成した論理回路を用いて、前記割込処理を実行する、処理実行ステップと、を含む、割込制御方法。
【請求項１０】
前記動的再構成演算ユニットにおいて、
現在実行している処理よりも優先度の高い割込処理が発生した場合に、前記動的再構成論理回路装置に対して前記割込処理の割込信号を発信する、割込信号発信ステップと、
前記動的再構成演算ユニットが、前記割込処理の割込信号を受信する、割込信号受信ステップと、
前記受信した割込信号をトリガーとして、前記動的再構成演算ユニットが、その演算処理構成を、前記割込処理に必要な演算処理構成に変更する、演算処理構成変更ステップと、
前記動的再構成演算ユニットが、前記変更した演算処理構成を用いて、前記割込処理を実行する、処理実行ステップと、を含む、請求項９記載の割込制御方法。
【請求項１１】
請求項３記載の動的再構成論理回路装置における時分割多重化処理のための割込制御方法であって、
現在実行している処理よりも優先度の高い割込処理が発生した場合に、前記動的再構成論理回路装置に対して前記割込処理の割込信号を発信する、割込信号発信ステップと、
前記動的再構成演算ユニットが、前記割込処理の割込信号を受信する、割込信号受信ステップと、
前記受信した割込信号をトリガーとして、前記動的再構成演算ユニットが、前記割込処理に必要な入力データを選択する、入力データ切替ステップと、
前記動的再構成演算ユニットが、前記割込処理に必要な演算処理構成の設定情報を選択する、設定情報切替ステップと、
前記動的再構成演算ユニットが、前記設定情報に基づいて、演算処理構成を変更する、演算処理構成変更ステップと、
前記動的再構成演算ユニットが、前記選択した入力データと、前記変更した演算処理構成を用いて、前記割込処理を実行する、処理実行ステップと、を含む、割込制御方法。
【請求項１２】
請求項４記載の動的再構成論理回路装置における時分割多重化処理のための割込制御方法であって、
現在実行している処理よりも優先度の高い割込処理が発生した場合に、前記動的再構成論理回路装置に対して前記割込処理の割込信号を発信する、割込信号発信ステップと、
前記動的再構成演算ユニットが、前記割込処理の割込信号を受信する、割込信号受信ステップと、
前記受信した割込信号をトリガーとして、前記動的再構成演算ユニットが、前記割込処理に必要な入力データを選択する、入力データ切替ステップと、
前記動的再構成演算ユニットが、前記割込処理に必要な演算処理構成の設定情報を選択する、設定情報切替ステップと、
前記動的再構成演算ユニットが、前記設定情報に基づいて、演算処理構成を変更する、演算処理構成変更ステップと、
前記動的再構成演算ユニットが、前記選択した入力データと、前記変更した演算処理構成を用いて、前記割込処理を実行する、処理実行ステップと、
前記動的再構成演算ユニットが、前記割込処理の処理結果の格納先を切替える、出力データ切替ステップと、を含む、割込制御方法。
【請求項１３】
請求項１から８記載の動的再構成論理回路装置と、
プロセッサと、
割込制御回路と、を備え、
前記プロセッサは、割込処理に必要な演算処理構成を作成して、前記割込制御回路に通知し、
前記割込制御回路は、前記割込処理に必要な演算処理構成を基に、前記動的再構成論理回路装置のと、接続情報を作成して、割込信号とともに、前記動的再構成論理回路装置に通知し、
前記割込制御回路が発信する割込信号をトリガーとして、前記動的再構成論理回路装置の前記複数の動的再構成演算ユニットは、前記設定情報を基に、それぞれの演算処理構成を変更し、前記動的接続ユニットは、前記接続情報を基に、前記複数の動的再構成演算ユニットの入力と出力の電気的接続を切替えて、異なる論理回路を構成する、半導体集積回路。
【請求項１４】
前記割込制御回路は、前記プロセッサの一部である、請求項１３記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムによって動的に論理構成を変更できる動的再構成論理回路装置とその関連技術、特に、割込信号による論理構成の変更技術に関するものである。
【背景技術】
【０００２】
近年、ソフトウエア処理の柔軟性とハードウエア処理の高速性の両立を目指して、プログラムによって論理構成を変更できる、動的再構成論理回路装置（一般に、ダイナミック・リコンフィギュアラブル・ロジックと呼ぶ）が提案されている。
【０００３】
プログラムによって論理構成を変更できるデバイスとしては、これまでＦＰＧＡ（フィールド  プログラマブル  ゲート  アレイ）やＰＬＤ（プログラマブル  ロジック  デバイス）が有名であった。これらのＦＰＧＡやＰＬＤは、プログラムによって、ある程度動的にトランジスタ間の接続を変更できる構成をしている。しかし、これらのＦＰＧＡやＰＬＤは、その接続変更には時間がかかり、あるタスクの処理中に接続変更をして、異なる論理構成とすることは困難である。
【０００４】
これに比べて、近年提案されている動的再構成論理回路装置は、その論理構成を高速に変更できる。例えば、特許文献１は、変更可能な演算セルをアレイ状に配した動的再構成論理回路装置技術を開示している。
【０００５】
図１１は、従来の動的再構成論理回路装置を構成する演算セルのブロック図である。この図は、特許文献１が開示している動的再構成論理回路装置の演算セルを、その機能に着目して、簡略化して示したものである。すなわち、図１１に示すように、演算セル１は、入力データを保持するフリップフロップ２とフリップフロップ４、シフト演算あるいはマスク演算を行う演算素子３と演算素子５、加減算を行う演算素子６、出力データを保持するフリップフロップ７、及びこれらの構成情報を格納する設定レジスタ８とを備える。設定レジスタ８の設定内容を変更することによって、演算セル１の論理構成を変更出来る。
【０００６】
特許文献１が開示している動的再構成論理回路装置は、演算セル１のような処理ユニットをアレイ状に配置して、各演算セルの論理構成と、各演算セルの相互接続をプログラムによって変更出来る。これにより、再プログラマブル性を保ちつつ、専用論理回路並みの性能を持つ、動的再構成論理回路装置が得られる。また、ＦＰＧＡ又はＰＬＤのような、静的再構成論理回路装置に比べて、この動的再構成論理回路装置は、短時間で論理を再構成することができるので、稼動中に論理構成の変更が可能となり、適用性が高い。
【０００７】
しかしながら、本開示例の動的再構成論理回路装置に代表される、従来の動的再構成論理回路装置は、処理を実行するために複数のクロック期間が必要である。これは、その構成上、入力から出力までの演算段数が多いことによる。そのため、高速に動作することができない。よって、従来の動的再構成論理回路装置は、クロックに同期して動作している周辺の回路に比べて、低速動作となり、その結果、周辺の回路は、しばしば動的再構成論理回路装置が処理を終了するまで次の処理を待つことになる。
【０００８】
一方、ＤＳＰやＣＰＵなど汎用のプロセッサでは、プログラムによって自在に処理を実現できるので、再プログラム性は高いが、信号処理の論理を、ハードウェアではなく、ソフトウェアで実現しているので、処理速度は低い。
【０００９】
この問題を解決するために、非特許文献１は、プロセッサ内部のパイプラインの区切れにあるフリップフロップ（ＦＦ）を切替えることで、一つのプロセッサ上であたかも複数の処理が実現されているように見える、マルチ・スレッド回路技術を開示している。
【００１０】
しかし、このような、汎用プロセッサにマルチ・スレッド回路技術を搭載して、タスクの時分割処理によって、処理能力を向上させる手法では、汎用プロセッサが高速動作を行うことが必須となる。その結果、消費電力が増大するといった、別の側面での不利な点が生じる。
【００１１】
以上述べたように、従来の動的再構成論理回路装置は、周辺のＣＰＵ等の回路に比較して、動作速度が遅くかつ１サイクル当たりの処理能力が低いため、サイクル当たりの処理能力において、周辺のＣＰＵ等の回路とのギャップが大きい。また、従来の動的再構成論理回路装置は、今日一般的なプロセッサが行っているようなマルチ・スレッド処理に対応していないため、時分割多重化処理を取り扱うことができない。よって、従来の動的再構成論理回路装置は、リアルタイム性が要求される処理を行うことができない。
【特許文献１】特開平０８−１０１７６１号公報（図７）
【非特許文献１】Ｉｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎ，  ”Ｈｙｐｅｒ−Ｔｈｒｅａｄｉｎｇ  Ｔｅｃｈｎｏｌｏｇｙ，  Ｉｎｔｅｌ  Ｒｅｓｅａｒｃｈ  ａｎｄ  Ｄｅｖｅｌｏｐｍｅｎｔ”，  インターネット＜ＵＲＬ  ｈｔｔｐ：／／ｗｗｗ．ｉｎｔｅｌ．ｃｏｍ／ｌａｂｓ／ｈｔｔ／ｉｎｄｅｘ．ｈｔｍ＞（２００３年１０月６日ダウンロード）
【発明の開示】
【発明が解決しようとする課題】
【００１２】
そこで本発明は、１サイクル当たりの処理能力が高く、また、時分割多重化処理を取り扱うことができる、動的再構成論理回路装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
請求項１記載の動的再構成論理回路装置は、複数の動的再構成演算ユニットと、少なくとも１つの動的接続ユニットと、を備え、外部から入力される割込信号をトリガーとして、動的接続ユニットは、複数の動的再構成演算ユニットの入力と出力の電気的接続を切替えて、異なる論理回路を構成する。
【００１４】
本構成によれば、外部からの割込信号によって、異なる論理構成に切替えられる動的再構成論理回路装置を提供できる。従って、割込処理に必要な論理構成を簡便に、かつ瞬時に構築して、割込処理を実行できる。
【００１５】
請求項２記載の動的再構成論理回路装置では、動的再構成演算ユニットは、複数の演算処理構成を有し、外部から入力される割込信号をトリガーとして、演算処理構成を変更する。
【００１６】
本構成によれば、外部からの割込信号によって、動的再構成演算ユニットの有する複数の演算処理構成の中から１つを選択することで、演算処理構成を変更出来る。従って、割込処理に必要な演算処理構成を簡便に、かつ瞬時に構築して、割込処理を実行できる。
【００１７】
請求項３記載の動的再構成論理回路装置では、動的再構成演算ユニットは、少なくとも１つの演算部と、演算部を組合わせて異なる演算処理構成を設定するための設定情報を格納する設定情報記憶部と、動的再構成演算ユニットに入力されるデータを保持する、少なくとも１つの入力データ記憶部と、設定情報記憶部から読み出す設定情報を切替える設定情報切替手段と、少なくとも１つの入力データ記憶部を切替える入力データ切替手段と、を有し、外部から入力される割込信号をトリガーとして、設定情報切替手段と入力データ切替手段とにおける切替えを実行し、異なる演算処理構成を構築する。
【００１８】
本構成によれば、外部からの割込信号によって、設定情報記憶部を制御し、その結果に基づいて、動的再構成演算ユニットの入力データと演算処理構成を切替えることが出来る。
【００１９】
請求項４記載の動的再構成論理回路装置では、動的再構成演算ユニットは、少なくとも１つの演算部と、演算部を組合わせて異なる演算処理構成を設定するための設定情報を格納する設定情報記憶部と、動的再構成演算ユニットに入力されるデータを保持する、少なくとも１つの入力データ記憶部と、動的再構成演算ユニットから出力されるデータを保持する、少なくとも１つの出力データ記憶部と、設定情報記憶部から読み出す設定情報を切替える設定情報切替手段と、少なくとも１つの入力データ記憶部を切替える入力データ切替手段と、少なくとも１つの出力データ記憶部を切替える出力データ切替手段と、を有し、外部から入力される割込信号をトリガーとして、設定情報切替手段と入力データ切替手段と出力データ切替手段とにおける切替えを実行し、異なる演算処理構成を構築する。
【００２０】
本構成によれば、外部からの割込信号によって、設定情報記憶部を制御し、その結果に基づいて、入力データと演算処理構成と出力データとを切替えることが出来る。
【００２１】
請求項５記載の動的再構成論理回路装置では、動的再構成演算ユニットに並列入力される入力データ数は、動的再構成演算ユニットから並列出力される出力データ数と等しい。
【００２２】
本構成によれば、動的再構成論理回路装置を、時分割多重化処理装置として利用できので、便利である。特に、動的再構成演算ユニットをカスケードに接続して、動的再構成論理回路装置をマルチスレッド処理に応用することが容易である。
【００２３】
請求項６記載の動的再構成論理回路装置では、動的再構成演算ユニットに並列入力される入力データ数は、動的再構成演算ユニットから並列出力される出力データ数よりも大きい。
【００２４】
本構成によれば、複数の入力データを用いて一つの処理結果を得るのに適した、動的再構成論理回路装置を提供できる。特に、動的再構成演算ユニットをツリー状に接続して使用するツリー状処理構成が、容易に実現できる。
【００２５】
請求項７記載の動的再構成論理回路装置では、動的再構成演算ユニットが有する演算部は、加算、減算、シフト演算、マスク演算、ビット操作のうちの少なくとも１つを実行する。
【００２６】
本構成によれば、動的再構成論理回路装置の処理として、加算、減算、シフト演算、マスク演算、及び／又は、ビット操作が行える。
【００２７】
請求項８記載の動的再構成論理回路装置では、動的接続ユニットは、複数の動的再構成演算ユニットを相互接続する接続情報を格納した、少なくとも１つの接続情報記憶部と、接続情報記憶部の接続情報を基に、動的再構成演算ユニットの出力と、他の動的再構成演算ユニットの入力との電気的接続を行う、少なくとも１つの接続部と、を有し、トリガーとして、接続情報記憶部からの接続情報読み出しと、接続部の電気的接続とを実行する。
【００２８】
本構成によれば、動的再構成論理回路装置は、外部から入力される割込信号を用いて、接続情報記憶部を制御して、その結果に基づいて、動的再構成演算ユニット相互の接続を行い、異なる論理構成の動的再構成論理回路装置を提供できる。
【００２９】
請求項９記載の割込制御方法は、複数の動的再構成演算ユニットと、少なくとも１つの動的接続ユニットと、を備え、動的接続ユニットは、複数の動的再構成演算ユニットの入力と出力の電気的接続を切替えて、異なる論理回路を構成する動的再構成論理回路装置における時分割多重化処理のための割込制御方法であって、現在実行している処理よりも優先度の高い割込処理が発生した場合に、動的再構成論理回路装置に対して割込処理の割込信号を発信する、割込信号発信ステップと、動的再構成論理回路装置が、割込処理の割込信号を受信する、割込信号受信ステップと、受信した割込信号をトリガーとして、動的再構成論理回路装置が、割込処理に必要な論理回路を再構成する、論理回路再構成ステップと、動的再構成論理回路装置が、再構成した論理回路を用いて、割込処理を実行する、処理実行ステップと、を含む。
【００３０】
本方法によれば、割込信号をトリガーとして、動的再構成論理回路装置は、優先度の高い割込処理に必要な論理回路を構築できる。その結果、割込処理を時分割多重化処理として実行できる。
【００３１】
請求項１０記載の割込制御方法は、複数の動的再構成演算ユニットと、少なくとも１つの動的接続ユニットと、を備え、動的接続ユニットは、複数の動的再構成演算ユニットの入力と出力の電気的接続を切替えて、異なる論理回路を構成する動的再構成論理回路装置における時分割多重化処理のための割込制御方法であって、現在実行している処理よりも優先度の高い割込処理が発生した場合に、動的再構成論理回路装置に対して割込処理の割込信号を発信する、割込信号発信ステップと、動的再構成論理回路装置が、割込処理の割込信号を受信する、割込信号受信ステップと、受信した割込信号をトリガーとして、動的再構成論理回路装置が、割込処理に必要な論理回路を再構成する、論理回路再構成ステップと、動的再構成論理回路装置が、再構成した論理回路を用いて、割込処理を実行する、処理実行ステップと、を含む。
【００３２】
本方法によれば、割込信号をトリガーとして、動的再構成演算ユニットの演算処理構成を、優先度の高い処理が要求する演算処理構成に変更できる。
【００３３】
請求項１１記載の割込制御方法は、動的再構成論理回路装置における時分割多重化処理のための割込制御方法であって、現在実行している処理よりも優先度の高い割込処理が発生した場合に、動的再構成論理回路装置に対して割込処理の割込信号を発信する、割込信号発信ステップと、動的再構成演算ユニットが、割込処理の割込信号を受信する、割込信号受信ステップと、受信した割込信号をトリガーとして、動的再構成演算ユニットが、割込処理に必要な入力データを選択する、入力データ切替ステップと、動的再構成演算ユニットが、割込処理に必要な演算処理構成の設定情報を選択する、設定情報切替ステップと、動的再構成演算ユニットが、設定情報に基づいて、演算処理構成を変更する、演算処理構成変更ステップと、動的再構成演算ユニットが、選択した入力データと、変更した演算処理構成を用いて、割込処理を実行する、処理実行ステップと、を含む。
【００３４】
本方法によれば、割込信号をトリガーとして、設定情報記憶部を制御し、その結果に基づいて、入力データと演算処理構成を切替えることが出来る。
【００３５】
請求項１２記載の割込制御方法は、動的再構成論理回路装置における時分割多重化処理のための割込制御方法であって、現在実行している処理よりも優先度の高い割込処理が発生した場合に、動的再構成論理回路装置に対して割込処理の割込信号を発信する、割込信号発信ステップと、動的再構成演算ユニットが、割込処理の割込信号を受信する、割込信号受信ステップと、受信した割込信号をトリガーとして、動的再構成演算ユニットが、割込処理に必要な入力データを選択する、入力データ切替ステップと、動的再構成演算ユニットが、割込処理に必要な演算処理構成の設定情報を選択する、設定情報切替ステップと、動的再構成演算ユニットが、設定情報に基づいて、演算処理構成を変更する、演算処理構成変更ステップと、動的再構成演算ユニットが、選択した入力データと、変更した演算処理構成を用いて、割込処理を実行する、処理実行ステップと、動的再構成演算ユニットが、割込処理の処理結果の格納先を切替える、出力データ切替ステップと、を含む。
【００３６】
本方法によれば、割込信号をトリガーとして、設定情報切替手段と入力データ切替手段と出力データ切替手段とにおける切替えを実行し、異なる演算処理構成を構築出来る。
【００３７】
請求項１３記載の半導体集積回路は、動的再構成論理回路装置と、プロセッサと、割込制御回路と、を備え、プロセッサは、割込処理に必要な演算処理構成を作成して、割込制御回路に通知し、割込制御回路は、割込処理に必要な演算処理構成を基に、動的再構成論理回路装置のと、接続情報を作成して、割込信号とともに、動的再構成論理回路装置に通知し、割込制御回路が発信する割込信号をトリガーとして、動的再構成論理回路装置の複数の動的再構成演算ユニットは、設定情報を基に、それぞれの演算処理構成を変更し、動的接続ユニットは、接続情報を基に、複数の動的再構成演算ユニットの入力と出力の電気的接続を切替えて、異なる論理回路を構成する。
【００３８】
本構成によれば、プロセッサからの割込信号によって、異なる論理回路を構成できる動的再構成論理回路装置を搭載した半導体集積回路を提供できる。
【００３９】
請求項１４記載の半導体集積回路では、割込制御回路は、プロセッサの一部である。
【００４０】
本構成によれば、半導体集積回路の構成を簡略化できる。
【発明の効果】
【００４１】
本発明によれば、１サイクル当たりの処理能力が高く、また、時分割多重化処理を取り扱うことができる、動的再構成論理回路装置を提供出来る。
【発明を実施するための最良の形態】
【００４２】
次に、図面を参照しながら、本発明の実施の形態を説明する。
【００４３】
（第１の実施の形態）
図１は、本発明の第１の実施の形態における動的再構成論理回路装置と、それを搭載した半導体集積回路の関連部分のブロック図である。本形態の半導体集積回路の関連部分は、割込コントローラ６１を有するＣＰＵ６０、動的再構成論理回路装置５０、及び、システムバス８０とを備える。割込コントローラ６１は、動的再構成論理回路装置５０に対して、割込信号（ＩＲＱ）７０を発信する。ＣＰＵ６０を含む半導体集積回路の他のユニット（図示していない）と動的再構成論理回路装置５０とのデータ転送は、システムバス８０を介して行われる。
【００４４】
動的再構成論理回路装置５０は、アレイ状に配置された複数の動的再構成演算ユニット（ＤＲＰＵ）１００ａ〜１００ｐ（以下これらを集合的に表す場合は、動的再構成演算ユニット１００と表記する）と、複数の動的接続ユニット（ＤＣＵ）２００ａ、２００ｃ、２００ｄ（以下これらを集合的に表す場合は、動的接続ユニット２００と表記する）とを有する。この動的再構成論理回路装置５０では、動的再構成演算ユニット１００は、層状構造をしており、第１層の動的再構成演算ユニット１００の入力と、最終層の動的再構成演算ユニット１００の出力とを除く、各動的再構成演算ユニット１００の入出力は、動的接続ユニット（ＤＣＵ）２００によって接続されている。第１層の動的再構成演算ユニット１００の入力と、最終層の動的再構成演算ユニット１００の出力とは、システムバス８０に接続されている。
【００４５】
動的再構成演算ユニット１００は、複数の演算処理構成を有しており、その選択と設定は、割込信号７０をトリガーとして行われる。同様に、動的接続ユニット２００の接続は、割込信号７０をトリガーとして行われる。動的再構成演算ユニット１００と動的接続ユニット２００の詳細については、後述する本発明の他の実施の形態において述べる。
【００４６】
図２は、本発明の第１の実施の形態における動的再構成論理回路装置５０の第１の接続例である。本形態の第１の接続例では、１６個の動的再構成演算ユニット１００が、４×４のアレイ状に配置されており、その入出力が動的接続ユニット２００によって接続されている。なお、動的接続ユニット２００は、その接続関係を矢印で示し、箱は図示していない。また、割込信号７０も図示していない。
【００４７】
図２に示すように、この例では、入力１は，動的再構成演算ユニット１００ａ、１００ｆ、１００ｊ、１００ｏで順次処理されて、出力３となる。入力２は，動的再構成演算ユニット１００ｂ、１００ｅ、１００ｉ、１００ｎで順次処理されて、出力２となる。入力３は，動的再構成演算ユニット１００ｃ、１００ｇ、１００ｋ、１００ｍで順次処理されて、出力１となる。入力４は，動的再構成演算ユニット１００ｄ、１００ｈ、１００ｌ、１００ｐで順次処理されて、出力４となる。
【００４８】
図３は、本発明の第１の実施の形態における動的再構成演算ユニット１００の第２の接続例である。この図は、図１に示す割込コントローラ６１から割込信号７０が発せられ、動的再構成論理回路装置５０が、図２に示す今まで処理していた論理回路構成から、割込処理に必要な論理回路構成に切替えられた状態を示す。なお、図３において、動的接続ユニット２００は、その接続関係を矢印で示し、箱は図示していない。また、割込信号７０も図示していない。
【００４９】
図３に示すように、この割込処理の例では、入力１は，動的再構成演算ユニット１００ａ、１００ｅ、１００ｉ、１００ｎで順次処理されて、出力２となる。入力２は，動的再構成演算ユニット１００ｂ、１００ｇ、１００ｋ、１００ｐで順次処理されて、出力４となる。入力３は，動的再構成演算ユニット１００ｃ、１００ｆ、１００ｊ、１００ｍで順次処理されて、出力１となる。入力４は，動的再構成演算ユニット１００ｄ、１００ｈ、１００ｌ、１００ｏで順次処理されて、出力３となる。
【００５０】
このように、動的再構成論理回路装置５０は、割込信号７０によって、動的接続ユニット２００を制御することにより、動的再構成演算ユニット１００の相互の接続を切替え、所望の論理回路を構築できる。動的再構成論理回路装置５０は、割込処理を、図３に示す論理回路構成で処理し、処理が終了すると、図２に示す論理回路構成に復帰し、以前の処理を続行する。このように、本形態の動的再構成論理回路装置５０によれば、４入力−４出力の並列処理と、時分割による多重化処理が実現できる。
【００５１】
なお、動的再構成論理回路装置５０を構成する動的再構成演算ユニット１００の個数は、本形態の１６個に限定されるものではなく、任意の個数であっても良い。また、それらの配列は、他の配列であっても良い。
【００５２】
さらに、動的再構成演算ユニット１００と動的接続ユニット２００の接続関係は、本形態に示した、層状構造に限定されるものではなく、他の構造であっても良い。
【００５３】
また、図１に示した本形態では、動的再構成演算ユニット１００は、１入力−１出力であるが、入力数と、出力数は本形態に限定されるものではなく、目的に応じた個数で良い。例えば、２入力−１出力として、動的再構成論理回路装置５０の全体を、ツリー構造の論理回路構成とすることも出来る。
【００５４】
（第２の実施の形態）
図４は、本発明の第２の実施の形態における動的再構成演算ユニット１００のブロック図である。
【００５５】
図４に示すように、本形態の動的再構成演算ユニット１００は、設定レジスタ１０１ａ、１０１ｂ、フリップフロップ１０２ａ、１０２ｂ、１０４ａ、１０４ｂ、シフト演算又はマスク演算を行う演算素子１０３、１０５、加減算を行う演算素子１０６、フリップフロップ１０７ａ、１０７ｂ、入力データ切替手段１０８、１０９、及び、出力データ切替手段１１０を有する。さらに、本形態の動的再構成演算ユニット１００には、２つのデータ入力（ＤａｔａＩｎ０）１１１とデータ入力（ＤａｔａＩｎ１）１１２と、１つのデータ出力（ＤａｔａＯｕｔ）１１３がある。
【００５６】
ここで、設定レジスタ１０１ａ、１０１ｂは、設定情報記憶部に相当し、演算素子１０３、１０５、１０６は、演算部に相当する。フリップフロップ１０２ａ、１０２ｂは、入力データ記憶部に相当し、それぞれ、入力されたデータ入力１１１を格納する。フリップフロップ１０４ａ、１０４ｂは、入力データ記憶部に相当し、それぞれ、入力されたデータ入力１１２とを格納する。フリップフロップ１０７ａ、１０７ｂは、出力データ記憶部に相当し、演算素子１０６において処理された結果を格納する。
【００５７】
以下に、本形態の動的再構成演算ユニット１００の動作を概説する。
【００５８】
通常の処理では、設定レジスタ１０１ａが選択されており、フリップフロップ１０２ａとフリップフロップ１０４ａとフリップフロップ１０７ａとが選択されている。演算素子１０３は、フリップフロップ１０２ａに格納されているデータを用いて、シフト演算又はマスク演算を行い、演算素子１０５は、フリップフロップ１０４ａに格納されているデータを用いて、シフト演算又はマスク演算を行う。それらの処理結果は、演算素子１０６に送られて、演算素子１０６において加算又は減算が行われ、フリップフロップ１０７ａに格納される。なお、シフト演算では、シフト方向やシフト幅を設定でき、マスク演算では、ＡＮＤ演算又はＯＲ演算の演算種別選択とその演算に使用するマスクビットとを設定できる。
【００５９】
演算素子１０３、演算素子１０５、及び演算素子１０６が、いずれの処理を行うかは、設定レジスタ１０１ａの設定情報によって決定される。これらの処理は、いわば、「第１層」の処理である。
【００６０】
次に、動的再構成演算ユニット１００が、割込信号（ＩＲＱ）７０を受信すると、動的再構成演算ユニット１００は、設定レジスタ１０１ｂを選択し、その設定情報に従って、演算素子１０３、演算素子１０５、及び、演算素子１０５の処理形態を変更する。同時に、割込信号７０によって、動的再構成演算ユニット１００は、入力データ切替手段１０８、１０９、と出力データ切替手段１１０とを制御し、フリップフロップを、フリップフロップ１０２ｂ、フリップフロップ１０４ｂ、及び、フリップフロップ１０７ｂに切替える。演算素子１０３は、フリップフロップ１０２ｂに格納されているデータを用いて、所定を処理を行い、演算素子１０５は、フリップフロップ１０４ｂに格納されているデータを用いて、所定を処理を行う。さらに、これらの結果は、演算素子１０６において、所定の処理を施された後に、フリップフロップ１０７ｂに格納される。これらの処理は、いわば、「第２層」の処理である。
【００６１】
このように、本形態の動的再構成演算ユニット１００は、割込信号７０をトリガーとして、「第１層」の通常処理から、「第２層」の割込処理に瞬時にして切替えることが出来る。
【００６２】
また、設定レジスタ１０１ａ、１０１ｂと、入力データ切替手段１０８、１０９、及び、出力データ切替手段１１０の選択と制御は、それぞれ独立に行うことができる。例えば、「第２層」の割込処理において、設定レジスタ１０１ａ、１０２ｂを切替えずに、入力データ切替手段１０８、１０９、及び、出力データ切替手段１１０を切替えれば、演算処理構成は変更せずに、入力データのみを変更した処理を行うことが出来る。
【００６３】
図５は、本発明の第２の実施の形態における動的再構成演算ユニット１００の詳細ブロック図である。なお、図５において、図４と同様の構成要素については、同一の符号を付すことにより、説明を省略する。
【００６４】
図５では、図４に示したフリップフロップの切替えのための、入力データ切替手段１０８をセレクタ１０８ａ、１０８ｂとで実現し、入力データ切替手段１０９をセレクタ１０９ａ、１０９ｂとで実現し、出力データ切替手段１１０をセレクタ１１０ａ、１１０ｂとで実現している。これらのセレクタを、割込信号７０に基づいて制御するために、フリップフロップセレクタ１２０が設けられている。また、演算素子１０３、１０５、１０６の演算処理構成を設定するための設定情報を格納している設定レジスタ１０１ａ、１０１ｂ（設定情報記憶部に相当）を、割込信号７０に基づいて切替える設定情報切替手段として、セレクタ１２２が設けられている。
【００６５】
以下に、割込信号７０による切替制御について、説明する。
【００６６】
通常処理の状態では、フリップフロップセレクタ１２０によって以下の接続が確立されている。すなわち、セレクタ１０８ａは、データ入力１１１をフリップフロップ１０２ａの入力に接続し、セレクタ１０８ｂは、フリップフロップ１０２ａの出力を演算素子１０３の入力に接続する。セレクタ１０９ａは、データ入力１１２をフリップフロップ１０４ａの入力に接続し、セレクタ１０９ｂは、フリップフロップ１０４ａの出力を演算素子１０５の入力に接続する。セレクタ１１０ａは、演算素子１０６の出力をフリップフロップ１０７ａの入力に接続し、セレクタ１１０ｂは、フリップフロップ１０７ａの出力をデータ出力１１３として出力する。
【００６７】
同時に、通常処理の状態では、セレクタ１２２は、設定レジスタ１０１ａを選択し、設定レジスタ１０１ａに格納されている設定情報を、演算素子１０３、１０５、１０６に送り、それぞれの演算処理内容を設定する。
【００６８】
従って、この通常処理では、演算素子１０３は、フリップフロップ１０２ａに格納されているデータを用いて、設定レジスタ１０１ａの設定情報に基づいて、シフト演算かマスク演算を行い、その演算結果を演算素子１０６の一方の入力に送る。同様に、演算素子１０５は、フリップフロップ１０４ａのデータを用いて、シフト演算かマスク演算を行い、その演算結果を演算素子１０６の他方の入力に送る。演算素子１０６は、これら２つの入力データを用いて、設定レジスタ１０１ａの設定情報に基づいて、加算又は減算を行い、その結果を、フリップフロップ１０７ａに格納する。
【００６９】
次に、動的再構成演算ユニット１００が外部から割込信号７０を受け取ると、それをトリガーとして、フリップフロップセレクタ１２０とセレクタ１２２とが制御され、以下のような割込処理の接続と設定が行われる。すなわち、セレクタ１０８ａは、データ入力１１１をフリップフロップ１０２ｂの入力に接続し、セレクタ１０８ｂは、フリップフロップ１０２ｂの出力を演算素子１０３の入力に接続する。セレクタ１０９ａは、データ入力１１２をフリップフロップ１０４ｂの入力に接続し、セレクタ１０９ｂは、フリップフロップ１０４ｂの出力を演算素子１０５の入力に接続する。セレクタ１１０ａは、演算素子１０６の出力をフリップフロップ１０７ｂの入力に接続し、セレクタ１１０ｂは、フリップフロップ１０７ｂの出力をデータ出力１１３として出力する。
【００７０】
同時に、割込処理として、セレクタ１２２は、設定レジスタ１０１ｂを選択し、設定レジスタ１０１ｂに格納されている設定情報を、演算素子１０３、１０５、１０６に送り、それぞれの演算処理内容を設定する。
【００７１】
従って、この割込処理では、演算素子１０３は、フリップフロップ１０２ｂに格納されているデータを用いて、設定レジスタ１０１ｂの設定情報に基づいて、シフト演算かマスク演算を行い、その演算結果を演算素子１０６の一方の入力に送る。同様に、演算素子１０５は、フリップフロップ１０４ｂのデータを用いて、シフト演算かマスク演算を行い、その演算結果を演算素子１０６の他方の入力に送る。演算素子１０６は、これら２つの入力データを用いて、設定レジスタ１０１ａの設定情報に基づいて、加算か減算を行い、その結果を、フリップフロップ１０７ｂに格納する。
【００７２】
このように、本形態の動的再構成演算ユニット１００は、「第１層」の通常処理として、フリップフロップ１０２ａとフリップフロップ１０４ａのデータを用いて所定の処理を行い、その結果をフリップフロップ１０７ａに格納する。次に、動的再構成演算ユニット１００は、割込信号７０を受け取ると、それをトリガーとして、「第２層」の割込処理として、フリップフロップ１０２ｂとフリップフロップ１０４ｂのデータを用いて所定の処理を行い、その結果をフリップフロップ１０７ｂに格納する。このように、本形態の動的再構成演算ユニット１００は、割込信号７０をトリガーとして、「第１層」の通常処理から、「第２層」の割込処理に瞬時にして切替えて、処理を実行することが出来る。
【００７３】
以上述べたように、本形態の動的再構成演算ユニット１００は、ある論理構成とデータで処理を行っている最中に、割込みを発生することで、別の論理構成の演算と処理したいデータとを瞬時に切替えることが出来る。したがって、リアルタイム性が要求され、優先処理が必要なタスクを扱えるようになる。また、設定レジスタ１０１ａ、１０１ｂと、入力データ切替手段１０８、１０９、出力データ切替手段１１０の切替え制御は独立して制御可能であるため、論理構成はそのままでデータの切替えを実施、またその逆でデータはそのままで論理構成を切替えて処理を行うような使用方法も可能となる。
【００７４】
なお、上述した本形態の動的再構成演算ユニット１００は、２入力−１出力であるが、入力の数と、出力の数は、これに限定されるものではなく、内部の演算素子の構成によって任意に決めてよい。
【００７５】
また、本形態の動的再構成演算ユニット１００では、処理形態は、「第１層」の通常処理と「第２層」の割込処理であるが、「第３層」以上を設けても良い。この場合には、処理層の数に従って、入力データ記憶部のフリップフロップの数と、出力データ記憶部のフリップフロップの数とを増やし、同時に、設定レジスタの数を増やせばよい。こうすると、第１の割込処理中に、さらに、優先度の高い、第２の割込処理を行うことが出来る。
【００７６】
（第３の実施の形態）
図６は、本発明の第３の実施の形態における動的接続ユニット２００のブロック図である。本形態の動的接続ユニット２００は、２入力−４出力であり、入力と出力の接続を選択するセレクタ２２１、２２２、２２３、２２４と、接続レジスタ２３０ａ、２３０ｂと、接続レジスタ２３０ａ、２３０ｂを選択するセレクタ２２５を有している。セレクタ２２１、２２２、２２３、２２４は、接続部に相当し、接続レジスタ２３０ａ、２３０ｂは、接続情報を格納した接続情報記憶部に相当する。
【００７７】
通常処理では、セレクタ２２５は、接続レジスタ２３０ａを選択しており、接続レジスタ２３０ａに格納されている接続情報を基に、セレクタ２２１、２２２、２２３、２２４それぞれの接続を選択する。例えば、セレクタ２２１は、入力（ＤａｔａＩｎ０）２０１と出力（ＤａｔａＯｕｔ０）２１１を接続し、セレクタ２２２は、入力（ＤａｔａＩｎ１）２０２と出力（ＤａｔａＯｕｔ１）２１２を接続し、セレクタ２２３は、入力（ＤａｔａＩｎ１）２０２と出力（ＤａｔａＯｕｔ２）２１３を接続し、セレクタ２２４は、入力（ＤａｔａＩｎ０）２０１と出力（ＤａｔａＯｕｔ３）２１４を接続するといった具合である。
【００７８】
割込信号７０が動的接続ユニット２００に入力されると、セレクタ２２５は、割込処理用の接続を確立するために、接続レジスタ２３０ｂを選択し、接続レジスタ２３０ｂに格納されている接続情報を基に、セレクタ２２１、２２２、２２３、２２４それぞれの接続を選択する。
【００７９】
本形態の動的接続ユニット２００では、入力（ＤａｔａＩｎ０）２０１は、すべての出力と接続することも出来るし、任意の出力とのみ接続することも出来る。入力（ＤａｔａＩｎ１）２０２についても、同様である。
【００８０】
図７は、本発明の第３の実施の形態における動的接続ユニット２００を用いた動的再構成論理回路装置５０のブロック図（部分図）である。図７において、動的再構成演算ユニット１００と動的接続ユニット２００を制御する割込信号７０は省略して、図示していない。また、図７において、図１と同様の構成要素については、同一の符号を付すことにより、説明を省略する。
【００８１】
図７に示すように、一層４個の２入力−１出力の動的再構成演算ユニット（ＤＲＰＵ）１００を有する動的再構成論理回路装置５０は、本形態の動的接続ユニット（ＤＣＵ）２００を２個用いることにより、各層の動的再構成演算ユニット１００を任意に接続出来る。そして、この接続状態は、図６について述べたように、割込信号７０をトリガーとして、接続レジスタ２３０を切替え、その接続情報を基に、瞬時に、かつ、任意に変更できる。
【００８２】
（第４の実施の形態）
図８は、本発明の第４の実施の形態における動的接続ユニット２００のブロック図である。図８において、図６と同様の構成要素については、同一の符号を付すことにより、説明を省略する。
【００８３】
本形態の動的接続ユニット２００は、４入力−４出力の接続ユニットであり、４入力４出力スイッチ２４０と、接続レジスタ２４１とを有する。接続レジスタ２４１は、割込信号７０に基づいて、４入力４出力スイッチ２４０の接続を制御する。４入力４出力スイッチ２４０は、具体的には、図６に示したセレクタ２２１〜２２４をさらに拡張すれば容易に実現できるので、説明を省略する。
【００８４】
本形態の動的接続ユニット２００は、図１に示したような、１入力−１出力の動的再構成演算ユニット１００が、アレイ状に配置されている場合に、その層間を接続するのに適している。例えば、図１に示した動的再構成論理回路装置５０の動的接続ユニット２００ａ、２００ｃ、及び、２００ｄを、本形態の動的接続ユニット２００で置き換えることが出来る。その結果、図２、図３に示したような論理回路構成を、割込信号７０をトリガとして、瞬時に構築できる。
【００８５】
（第５の実施の形態）
図９は、本発明の第５の実施の形態における動的再構成論理回路装置の割込制御方法のフローチャートである。図９に示す本形態の割込制御方法を、図１、図４、及び、図８を参照して、以下に説明する。
【００８６】
図１の動的再構成論理回路装置５０を含む半導体集積回路において、優先的にかつリアルタイムに実行したい処理が発生すると、図９に示す本形態の割込制御方法のフローチャートのステップＳ０に入る。
【００８７】
ステップＳ１において、ＣＰＵ６０は、割込処理の準備として、当該処理を割込処理として登録する。
【００８８】
ステップＳ２において、ＣＰＵ６０は、当該処理の優先度と、当該処理に使用する動的再構成論理回路装置５０の論理構成と、データとを識別し、それらの情報を割込コントローラ６１に通知する。
【００８９】
ステップＳ３において、割込コントローラ６１は、ＣＰＵ６０から通知された情報を基に、当該処理に必要な接続情報と設定情報とを、論理変更情報として作成する。
【００９０】
ステップＳ４において、割込コントローラ６１は、動的再構成論理回路装置５０が別のタスクを処理中かどうかを調べ、別のタスクを処理中であれば、ステップＳ５に進んで、動作フラグを「Ｔ（Ｔｒｕｅ）」に設定し、別のタスクを処理中でなければ、ステップＳ６に進んで、動作フラグを「Ｆ（Ｆａｌｓｅ）」に設定する。この動作フラグは後述するステップＳ１０において使用する。
【００９１】
ステップＳ７において、割込コントローラ６１は、動的再構成論理回路装置５０に対して、当該処理を割込処理として実行するために、割込信号７０を発行する。同時に、割込コントローラ６１は、ステップＳ３において作成した接続情報と設定情報とを、論理変更情報として、動的再構成論理回路装置５０に転送する。
【００９２】
ステップＳ８において、動的再構成論理回路装置５０は、割込コントローラ６１からの割込信号７０をトリガとして、転送された接続情報と設定情報とを基に、動的再構成演算ユニット１００の演算処理構成と、動的接続ユニット２００の接続構成を変更する。  
【００９３】
ステップＳ８における割込制御方法を、図４、及び、図８を具体例として、以下に説明する。
【００９４】
図８に示す動的接続ユニット２００は、割込信号７０を受け取ると、それをトリガーとして、転送された接続情報に基づいて、接続レジスタ２４１の接続情報を変更する。接続レジスタ２４１は、新しい接続情報に基づいて、４入力４出力スイッチ２４０の接続構成を変更する。その結果、動的再構成論理回路装置５０は、例えば、図２に示す論理回路構成から図３に示す論理回路構成に変更される。
【００９５】
同時に、図４に示す動的再構成演算ユニット１００は、割込信号７０を受け取り、転送された設定情報に基づいて、設定レジスタ１０１ｂの設定情報を変更する。動的再構成演算ユニット１００は、割込信号７０をトリガーとして、設定レジスタ１０１ｂの新しい設定情報に基づいて、演算素子１０３、１０５、１０６の演算処理構成を変更する。
【００９６】
また、動的再構成演算ユニット１００は、割込信号７０をトリガーとして、入力データ切替手段１０８、１０９と、出力データ切替手段１１０とを制御して、フリップフロップをフリップフロップ１０２ｂ、１０４ｂ、１０７ｂに切替える。この結果、動的再構成演算ユニット１００は、「第２層」の処理としての割込処理を実行する準備が完了する。以上が、ステップＳ８の詳細である。
【００９７】
ステップＳ９において、動的再構成論理回路装置５０は、動的再構成演算ユニット１００及び動的接続ユニット２００が割込処理を実行する準備が完了したことを確認して、割込処理を実行する。その詳細は、後述する。割込処理が終了すると、ステップＳ１０に進む。
【００９８】
ステップＳ１０において、動的再構成論理回路装置５０は、ステップＳ５又はステップＳ６において設定した、動作フラグを調べる。動作フラグが「Ｔ」（即ち、当該割込処理前に、動的再構成論理回路装置５０は、別のタスクを処理中であった）ならば、動的再構成論理回路装置５０は、復帰処理要求を発行して、ステップＳ１１に進み、動作フラグが「Ｆ」ならば、復帰処理要求を発行せずに、ステップＳ１２に進んで、割込処理を終了する。
【００９９】
ステップＳ１１において、動的再構成演算ユニット１００は、復帰処理要求を受け取り、割込処理前の設定情報を基に、演算処理構成を割込処理前の状態に復帰する。また、動的接続ユニット２００は、復帰処理要求を受け取り、割込処理前の接続情報を基に、接続構成を割込処理前の状態に復帰し、ステップＳ１２に進んで割込処理を終了する。
【０１００】
図１０は、本発明の第５の実施の形態における割込処理のフローチャートである。図１０を参照して、図９のステップＳ９の割込処理実行をより詳しく説明する。
【０１０１】
ステップＳ９０において、割込処理が開始されると、先ず、ステップＳ９１において、当該割込処理が、割込前の処理において使用していた入力データをそのまま使用するか、あるいは、新たな入力データを使用するかを判定する。入力データの変更が必要でなければ（「Ｎｏ」）、ステップＳ９３に進む。入力データの変更が必要であれば（「Ｙｅｓ」）、ステップＳ９２に進む。
【０１０２】
ステップＳ９２において、入力データの転送を行ない、ステップＳ９３に進む。
【０１０３】
ステップＳ９３において、割込処理を実行し、ステップＳ９４に進む。
【０１０４】
ステップＳ９４において、さらに処理すべき次のデータがあるかどうかを判定する。次のデータがあれば（「Ｙｅｓ」）、ステップＳ９２に戻り、ステップＳ９２、ステップＳ９３、ステップＳ９４を繰り返す。次のデータがなければ（「Ｎｏ」）、ステップＳ９５に進んで、割込処理を終了する。
【０１０５】
図９と図１０に示した割込制御のフローチャートの具体的な実施の形態は、図１のＣＰＵ６０で稼動するプログラムとして実装される。
【０１０６】
本形態の割込制御方法によれば、動的再構成論理回路装置５０を搭載した半導体集積回路において、マルチタスクの制御が可能となり、時分割多重化処理が実行できる。この時分割多重化処理は、プログラムによって制御できるため、管理する処理の数や優先順位の入れ替えなどは、容易に実現できる。
【０１０７】
以上説明したように、本発明により、従来の動的再構成論理回路装置では実現することができなかったリアルタイム性を有する処理制御が可能になる。
【０１０８】
本発明の動的再構成論理回路装置５０は、本発明の第１の実施の形態の半導体集積回路のみならず、リアルタイムでの処理制御が要求される画像・音声などのいわゆるマルチメディアの信号処理装置にも適用できる。即ち、動的再構成論理回路装置５０を利用して、プログラムによって論理回路を動的に再構成可能な装置が実現できる。その結果、プログラムによって論理構成を変更するだけで、複数の信号処理を実行できる信号処理装置を提供でき、これまで複数の信号処理装置が必要であった処理が、一つの信号処理装置で処理出来るようになり、セットの低コスト化を図れる。
【０１０９】
以上説明したように、本発明の趣旨は、動的再構成論理回路装置の論理回路を割込信号によって制御し、再構成することにあるのであって、本発明の趣旨を逸脱しない限り、種々の適用が可能である。
【産業上の利用可能性】
【０１１０】
本発明に係わる動的再構成論理回路装置、割込制御方法、及び、半導体集積回路は、例えば、リアルタイムでの処理制御が要求される画像・音声などの信号処理とその応用分野において利用できる。
【図面の簡単な説明】
【０１１１】
【図１】本発明の第１の実施の形態における、動的再構成論理回路装置とそれを搭載した半導体集積回路の関連部分のブロック図
【図２】本発明の第１の実施の形態における動的再構成論理回路装置の第１の接続例
【図３】本発明の第１の実施の形態における動的再構成論理回路装置の第２の接続例
【図４】本発明の第２の実施の形態における動的再構成演算ユニットのブロック図
【図５】本発明の第２の実施の形態における動的再構成演算ユニットの詳細ブロック図
【図６】本発明の第３の実施の形態における動的接続ユニットのブロック図
【図７】本発明の第３の実施の形態における動的接続ユニットを用いた動的再構成論理回路装置のブロック図（部分図）
【図８】本発明の第４の実施の形態における動的接続ユニットのブロック図
【図９】本発明の第５の実施の形態における動的再構成論理回路装置の割込制御方法のフローチャート
【図１０】本発明の第５の実施の形態における割込処理のフローチャート
【図１１】従来の動的再構成論理回路装置を構成する処理ユニットのブロック図（特許文献１の図７を簡略化）
【符号の説明】
【０１１２】
１  演算セル
２、４、７、１０２ａ、１０２ｂ、１０４ａ、１０４ｂ、１０７ａ、１０７ｂ、１３０  フリップフロップ
３、５、６  演算素子
８、１０１ａ、１０１ｂ  設定レジスタ
１１、１２、１３  データ入力
５０  動的再構成論理回路装置
６０  ＣＰＵ
６１  割込コントローラ
７０  割込信号
８０  システムバス
１００  動的再構成演算ユニット
１０３、１０５、１０６  演算素子
１０８、１０９  入力データ切替手段
１０８ａ、１０８ｂ、１０９ａ、１０９ｂ、１１０ａ、１１０ｂ、１２２、２２１、２２２、２２３、２２４、２２５  セレクタ
１１０  出力データ切替手段
１１１、１１２、２０２、２０４  データ入力
１１３、２０３、２１１、２１２、２１３、２１４  データ出力
１２０  フリップフロップセレクタ
２００  動的接続ユニット
２３０、２３０ａ、２３０ｂ、２４１  接続レジスタ
２４０  ４入力４出力スイッチ
【図１】
2005165961.tif 000003
【図２】
2005165961.tif 000004
【図３】
2005165961.tif 000005
【図４】
2005165961.tif 000006
【図５】
2005165961.tif 000007
【図６】
2005165961.tif 000008
【図７】
2005165961.tif 000009
【図８】
2005165961.tif 000010
【図９】
2005165961.tif 000011
【図１０】
2005165961.tif 000012
【図１１】
2005165961.tif 000013