JP2005165961A - 動的再構成論理回路装置、割込制御方法、及び、半導体集積回路 - Google Patents
動的再構成論理回路装置、割込制御方法、及び、半導体集積回路 Download PDFInfo
- Publication number
- JP2005165961A JP2005165961A JP2003407644A JP2003407644A JP2005165961A JP 2005165961 A JP2005165961 A JP 2005165961A JP 2003407644 A JP2003407644 A JP 2003407644A JP 2003407644 A JP2003407644 A JP 2003407644A JP 2005165961 A JP2005165961 A JP 2005165961A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- dynamic reconfiguration
- dynamic
- arithmetic
- logic circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Logic Circuits (AREA)
- Multi Processors (AREA)
- Electronic Switches (AREA)
Abstract
【課題】 1サイクル当たりの処理能力が高く、時分割多重化処理を取り扱うことができる、動的再構成論理回路装置を提供する。
【解決手段】 動的再構成論理回路装置50は、アレイ状に配置された複数の動的再構成演算ユニット(DRPU)100と、複数の動的接続ユニット(DCU)200とを有する。各動的再構成演算ユニット100の入出力は、動的接続ユニット200によって接続されている。動的再構成演算ユニット100は、複数の演算処理構成と、複数の入力データ記憶部と、出力データ記憶部とを有しており、それらの選択と設定は、割込コントローラ61の割込信号70に基づいて行われる。同様に、動的接続ユニット200の接続は、割込信号70に基づいて行われる。この構成で、CPU60から割込要求を発行すると、入力データと演算処理構成を切替え、かつ、全体の論理回路構成を変更して、時分割多重処理が実行できる。
【選択図】 図1
【解決手段】 動的再構成論理回路装置50は、アレイ状に配置された複数の動的再構成演算ユニット(DRPU)100と、複数の動的接続ユニット(DCU)200とを有する。各動的再構成演算ユニット100の入出力は、動的接続ユニット200によって接続されている。動的再構成演算ユニット100は、複数の演算処理構成と、複数の入力データ記憶部と、出力データ記憶部とを有しており、それらの選択と設定は、割込コントローラ61の割込信号70に基づいて行われる。同様に、動的接続ユニット200の接続は、割込信号70に基づいて行われる。この構成で、CPU60から割込要求を発行すると、入力データと演算処理構成を切替え、かつ、全体の論理回路構成を変更して、時分割多重処理が実行できる。
【選択図】 図1
Description
本発明は、プログラムによって動的に論理構成を変更できる動的再構成論理回路装置とその関連技術、特に、割込信号による論理構成の変更技術に関するものである。
近年、ソフトウエア処理の柔軟性とハードウエア処理の高速性の両立を目指して、プログラムによって論理構成を変更できる、動的再構成論理回路装置(一般に、ダイナミック・リコンフィギュアラブル・ロジックと呼ぶ)が提案されている。
プログラムによって論理構成を変更できるデバイスとしては、これまでFPGA(フィールド プログラマブル ゲート アレイ)やPLD(プログラマブル ロジック デバイス)が有名であった。これらのFPGAやPLDは、プログラムによって、ある程度動的にトランジスタ間の接続を変更できる構成をしている。しかし、これらのFPGAやPLDは、その接続変更には時間がかかり、あるタスクの処理中に接続変更をして、異なる論理構成とすることは困難である。
これに比べて、近年提案されている動的再構成論理回路装置は、その論理構成を高速に変更できる。例えば、特許文献1は、変更可能な演算セルをアレイ状に配した動的再構成論理回路装置技術を開示している。
図11は、従来の動的再構成論理回路装置を構成する演算セルのブロック図である。この図は、特許文献1が開示している動的再構成論理回路装置の演算セルを、その機能に着目して、簡略化して示したものである。すなわち、図11に示すように、演算セル1は、入力データを保持するフリップフロップ2とフリップフロップ4、シフト演算あるいはマスク演算を行う演算素子3と演算素子5、加減算を行う演算素子6、出力データを保持するフリップフロップ7、及びこれらの構成情報を格納する設定レジスタ8とを備える。設定レジスタ8の設定内容を変更することによって、演算セル1の論理構成を変更出来る。
特許文献1が開示している動的再構成論理回路装置は、演算セル1のような処理ユニットをアレイ状に配置して、各演算セルの論理構成と、各演算セルの相互接続をプログラムによって変更出来る。これにより、再プログラマブル性を保ちつつ、専用論理回路並みの性能を持つ、動的再構成論理回路装置が得られる。また、FPGA又はPLDのような、静的再構成論理回路装置に比べて、この動的再構成論理回路装置は、短時間で論理を再構成することができるので、稼動中に論理構成の変更が可能となり、適用性が高い。
しかしながら、本開示例の動的再構成論理回路装置に代表される、従来の動的再構成論理回路装置は、処理を実行するために複数のクロック期間が必要である。これは、その構成上、入力から出力までの演算段数が多いことによる。そのため、高速に動作することができない。よって、従来の動的再構成論理回路装置は、クロックに同期して動作している周辺の回路に比べて、低速動作となり、その結果、周辺の回路は、しばしば動的再構成論理回路装置が処理を終了するまで次の処理を待つことになる。
一方、DSPやCPUなど汎用のプロセッサでは、プログラムによって自在に処理を実現できるので、再プログラム性は高いが、信号処理の論理を、ハードウェアではなく、ソフトウェアで実現しているので、処理速度は低い。
この問題を解決するために、非特許文献1は、プロセッサ内部のパイプラインの区切れにあるフリップフロップ(FF)を切替えることで、一つのプロセッサ上であたかも複数の処理が実現されているように見える、マルチ・スレッド回路技術を開示している。
しかし、このような、汎用プロセッサにマルチ・スレッド回路技術を搭載して、タスクの時分割処理によって、処理能力を向上させる手法では、汎用プロセッサが高速動作を行うことが必須となる。その結果、消費電力が増大するといった、別の側面での不利な点が生じる。
以上述べたように、従来の動的再構成論理回路装置は、周辺のCPU等の回路に比較して、動作速度が遅くかつ1サイクル当たりの処理能力が低いため、サイクル当たりの処理能力において、周辺のCPU等の回路とのギャップが大きい。また、従来の動的再構成論理回路装置は、今日一般的なプロセッサが行っているようなマルチ・スレッド処理に対応していないため、時分割多重化処理を取り扱うことができない。よって、従来の動的再構成論理回路装置は、リアルタイム性が要求される処理を行うことができない。
特開平08−101761号公報(図7)
Intel Corporation, "Hyper−Threading Technology, Intel Research and Development", インターネット<URL http://www.intel.com/labs/htt/index.htm>(2003年10月6日ダウンロード)
そこで本発明は、1サイクル当たりの処理能力が高く、また、時分割多重化処理を取り扱うことができる、動的再構成論理回路装置を提供することを目的とする。
請求項1記載の動的再構成論理回路装置は、複数の動的再構成演算ユニットと、少なくとも1つの動的接続ユニットと、を備え、外部から入力される割込信号をトリガーとして、動的接続ユニットは、複数の動的再構成演算ユニットの入力と出力の電気的接続を切替えて、異なる論理回路を構成する。
本構成によれば、外部からの割込信号によって、異なる論理構成に切替えられる動的再構成論理回路装置を提供できる。従って、割込処理に必要な論理構成を簡便に、かつ瞬時に構築して、割込処理を実行できる。
請求項2記載の動的再構成論理回路装置では、動的再構成演算ユニットは、複数の演算処理構成を有し、外部から入力される割込信号をトリガーとして、演算処理構成を変更する。
本構成によれば、外部からの割込信号によって、動的再構成演算ユニットの有する複数の演算処理構成の中から1つを選択することで、演算処理構成を変更出来る。従って、割込処理に必要な演算処理構成を簡便に、かつ瞬時に構築して、割込処理を実行できる。
請求項3記載の動的再構成論理回路装置では、動的再構成演算ユニットは、少なくとも1つの演算部と、演算部を組合わせて異なる演算処理構成を設定するための設定情報を格納する設定情報記憶部と、動的再構成演算ユニットに入力されるデータを保持する、少なくとも1つの入力データ記憶部と、設定情報記憶部から読み出す設定情報を切替える設定情報切替手段と、少なくとも1つの入力データ記憶部を切替える入力データ切替手段と、を有し、外部から入力される割込信号をトリガーとして、設定情報切替手段と入力データ切替手段とにおける切替えを実行し、異なる演算処理構成を構築する。
本構成によれば、外部からの割込信号によって、設定情報記憶部を制御し、その結果に基づいて、動的再構成演算ユニットの入力データと演算処理構成を切替えることが出来る。
請求項4記載の動的再構成論理回路装置では、動的再構成演算ユニットは、少なくとも1つの演算部と、演算部を組合わせて異なる演算処理構成を設定するための設定情報を格納する設定情報記憶部と、動的再構成演算ユニットに入力されるデータを保持する、少なくとも1つの入力データ記憶部と、動的再構成演算ユニットから出力されるデータを保持する、少なくとも1つの出力データ記憶部と、設定情報記憶部から読み出す設定情報を切替える設定情報切替手段と、少なくとも1つの入力データ記憶部を切替える入力データ切替手段と、少なくとも1つの出力データ記憶部を切替える出力データ切替手段と、を有し、外部から入力される割込信号をトリガーとして、設定情報切替手段と入力データ切替手段と出力データ切替手段とにおける切替えを実行し、異なる演算処理構成を構築する。
本構成によれば、外部からの割込信号によって、設定情報記憶部を制御し、その結果に基づいて、入力データと演算処理構成と出力データとを切替えることが出来る。
請求項5記載の動的再構成論理回路装置では、動的再構成演算ユニットに並列入力される入力データ数は、動的再構成演算ユニットから並列出力される出力データ数と等しい。
本構成によれば、動的再構成論理回路装置を、時分割多重化処理装置として利用できので、便利である。特に、動的再構成演算ユニットをカスケードに接続して、動的再構成論理回路装置をマルチスレッド処理に応用することが容易である。
請求項6記載の動的再構成論理回路装置では、動的再構成演算ユニットに並列入力される入力データ数は、動的再構成演算ユニットから並列出力される出力データ数よりも大きい。
本構成によれば、複数の入力データを用いて一つの処理結果を得るのに適した、動的再構成論理回路装置を提供できる。特に、動的再構成演算ユニットをツリー状に接続して使用するツリー状処理構成が、容易に実現できる。
請求項7記載の動的再構成論理回路装置では、動的再構成演算ユニットが有する演算部は、加算、減算、シフト演算、マスク演算、ビット操作のうちの少なくとも1つを実行する。
本構成によれば、動的再構成論理回路装置の処理として、加算、減算、シフト演算、マスク演算、及び/又は、ビット操作が行える。
請求項8記載の動的再構成論理回路装置では、動的接続ユニットは、複数の動的再構成演算ユニットを相互接続する接続情報を格納した、少なくとも1つの接続情報記憶部と、接続情報記憶部の接続情報を基に、動的再構成演算ユニットの出力と、他の動的再構成演算ユニットの入力との電気的接続を行う、少なくとも1つの接続部と、を有し、トリガーとして、接続情報記憶部からの接続情報読み出しと、接続部の電気的接続とを実行する。
本構成によれば、動的再構成論理回路装置は、外部から入力される割込信号を用いて、接続情報記憶部を制御して、その結果に基づいて、動的再構成演算ユニット相互の接続を行い、異なる論理構成の動的再構成論理回路装置を提供できる。
請求項9記載の割込制御方法は、複数の動的再構成演算ユニットと、少なくとも1つの動的接続ユニットと、を備え、動的接続ユニットは、複数の動的再構成演算ユニットの入力と出力の電気的接続を切替えて、異なる論理回路を構成する動的再構成論理回路装置における時分割多重化処理のための割込制御方法であって、現在実行している処理よりも優先度の高い割込処理が発生した場合に、動的再構成論理回路装置に対して割込処理の割込信号を発信する、割込信号発信ステップと、動的再構成論理回路装置が、割込処理の割込信号を受信する、割込信号受信ステップと、受信した割込信号をトリガーとして、動的再構成論理回路装置が、割込処理に必要な論理回路を再構成する、論理回路再構成ステップと、動的再構成論理回路装置が、再構成した論理回路を用いて、割込処理を実行する、処理実行ステップと、を含む。
本方法によれば、割込信号をトリガーとして、動的再構成論理回路装置は、優先度の高い割込処理に必要な論理回路を構築できる。その結果、割込処理を時分割多重化処理として実行できる。
請求項10記載の割込制御方法は、複数の動的再構成演算ユニットと、少なくとも1つの動的接続ユニットと、を備え、動的接続ユニットは、複数の動的再構成演算ユニットの入力と出力の電気的接続を切替えて、異なる論理回路を構成する動的再構成論理回路装置における時分割多重化処理のための割込制御方法であって、現在実行している処理よりも優先度の高い割込処理が発生した場合に、動的再構成論理回路装置に対して割込処理の割込信号を発信する、割込信号発信ステップと、動的再構成論理回路装置が、割込処理の割込信号を受信する、割込信号受信ステップと、受信した割込信号をトリガーとして、動的再構成論理回路装置が、割込処理に必要な論理回路を再構成する、論理回路再構成ステップと、動的再構成論理回路装置が、再構成した論理回路を用いて、割込処理を実行する、処理実行ステップと、を含む。
本方法によれば、割込信号をトリガーとして、動的再構成演算ユニットの演算処理構成を、優先度の高い処理が要求する演算処理構成に変更できる。
請求項11記載の割込制御方法は、動的再構成論理回路装置における時分割多重化処理のための割込制御方法であって、現在実行している処理よりも優先度の高い割込処理が発生した場合に、動的再構成論理回路装置に対して割込処理の割込信号を発信する、割込信号発信ステップと、動的再構成演算ユニットが、割込処理の割込信号を受信する、割込信号受信ステップと、受信した割込信号をトリガーとして、動的再構成演算ユニットが、割込処理に必要な入力データを選択する、入力データ切替ステップと、動的再構成演算ユニットが、割込処理に必要な演算処理構成の設定情報を選択する、設定情報切替ステップと、動的再構成演算ユニットが、設定情報に基づいて、演算処理構成を変更する、演算処理構成変更ステップと、動的再構成演算ユニットが、選択した入力データと、変更した演算処理構成を用いて、割込処理を実行する、処理実行ステップと、を含む。
本方法によれば、割込信号をトリガーとして、設定情報記憶部を制御し、その結果に基づいて、入力データと演算処理構成を切替えることが出来る。
請求項12記載の割込制御方法は、動的再構成論理回路装置における時分割多重化処理のための割込制御方法であって、現在実行している処理よりも優先度の高い割込処理が発生した場合に、動的再構成論理回路装置に対して割込処理の割込信号を発信する、割込信号発信ステップと、動的再構成演算ユニットが、割込処理の割込信号を受信する、割込信号受信ステップと、受信した割込信号をトリガーとして、動的再構成演算ユニットが、割込処理に必要な入力データを選択する、入力データ切替ステップと、動的再構成演算ユニットが、割込処理に必要な演算処理構成の設定情報を選択する、設定情報切替ステップと、動的再構成演算ユニットが、設定情報に基づいて、演算処理構成を変更する、演算処理構成変更ステップと、動的再構成演算ユニットが、選択した入力データと、変更した演算処理構成を用いて、割込処理を実行する、処理実行ステップと、動的再構成演算ユニットが、割込処理の処理結果の格納先を切替える、出力データ切替ステップと、を含む。
本方法によれば、割込信号をトリガーとして、設定情報切替手段と入力データ切替手段と出力データ切替手段とにおける切替えを実行し、異なる演算処理構成を構築出来る。
請求項13記載の半導体集積回路は、動的再構成論理回路装置と、プロセッサと、割込制御回路と、を備え、プロセッサは、割込処理に必要な演算処理構成を作成して、割込制御回路に通知し、割込制御回路は、割込処理に必要な演算処理構成を基に、動的再構成論理回路装置のと、接続情報を作成して、割込信号とともに、動的再構成論理回路装置に通知し、割込制御回路が発信する割込信号をトリガーとして、動的再構成論理回路装置の複数の動的再構成演算ユニットは、設定情報を基に、それぞれの演算処理構成を変更し、動的接続ユニットは、接続情報を基に、複数の動的再構成演算ユニットの入力と出力の電気的接続を切替えて、異なる論理回路を構成する。
本構成によれば、プロセッサからの割込信号によって、異なる論理回路を構成できる動的再構成論理回路装置を搭載した半導体集積回路を提供できる。
請求項14記載の半導体集積回路では、割込制御回路は、プロセッサの一部である。
本構成によれば、半導体集積回路の構成を簡略化できる。
本発明によれば、1サイクル当たりの処理能力が高く、また、時分割多重化処理を取り扱うことができる、動的再構成論理回路装置を提供出来る。
次に、図面を参照しながら、本発明の実施の形態を説明する。
(第1の実施の形態)
図1は、本発明の第1の実施の形態における動的再構成論理回路装置と、それを搭載した半導体集積回路の関連部分のブロック図である。本形態の半導体集積回路の関連部分は、割込コントローラ61を有するCPU60、動的再構成論理回路装置50、及び、システムバス80とを備える。割込コントローラ61は、動的再構成論理回路装置50に対して、割込信号(IRQ)70を発信する。CPU60を含む半導体集積回路の他のユニット(図示していない)と動的再構成論理回路装置50とのデータ転送は、システムバス80を介して行われる。
図1は、本発明の第1の実施の形態における動的再構成論理回路装置と、それを搭載した半導体集積回路の関連部分のブロック図である。本形態の半導体集積回路の関連部分は、割込コントローラ61を有するCPU60、動的再構成論理回路装置50、及び、システムバス80とを備える。割込コントローラ61は、動的再構成論理回路装置50に対して、割込信号(IRQ)70を発信する。CPU60を含む半導体集積回路の他のユニット(図示していない)と動的再構成論理回路装置50とのデータ転送は、システムバス80を介して行われる。
動的再構成論理回路装置50は、アレイ状に配置された複数の動的再構成演算ユニット(DRPU)100a〜100p(以下これらを集合的に表す場合は、動的再構成演算ユニット100と表記する)と、複数の動的接続ユニット(DCU)200a、200c、200d(以下これらを集合的に表す場合は、動的接続ユニット200と表記する)とを有する。この動的再構成論理回路装置50では、動的再構成演算ユニット100は、層状構造をしており、第1層の動的再構成演算ユニット100の入力と、最終層の動的再構成演算ユニット100の出力とを除く、各動的再構成演算ユニット100の入出力は、動的接続ユニット(DCU)200によって接続されている。第1層の動的再構成演算ユニット100の入力と、最終層の動的再構成演算ユニット100の出力とは、システムバス80に接続されている。
動的再構成演算ユニット100は、複数の演算処理構成を有しており、その選択と設定は、割込信号70をトリガーとして行われる。同様に、動的接続ユニット200の接続は、割込信号70をトリガーとして行われる。動的再構成演算ユニット100と動的接続ユニット200の詳細については、後述する本発明の他の実施の形態において述べる。
図2は、本発明の第1の実施の形態における動的再構成論理回路装置50の第1の接続例である。本形態の第1の接続例では、16個の動的再構成演算ユニット100が、4×4のアレイ状に配置されており、その入出力が動的接続ユニット200によって接続されている。なお、動的接続ユニット200は、その接続関係を矢印で示し、箱は図示していない。また、割込信号70も図示していない。
図2に示すように、この例では、入力1は,動的再構成演算ユニット100a、100f、100j、100oで順次処理されて、出力3となる。入力2は,動的再構成演算ユニット100b、100e、100i、100nで順次処理されて、出力2となる。入力3は,動的再構成演算ユニット100c、100g、100k、100mで順次処理されて、出力1となる。入力4は,動的再構成演算ユニット100d、100h、100l、100pで順次処理されて、出力4となる。
図3は、本発明の第1の実施の形態における動的再構成演算ユニット100の第2の接続例である。この図は、図1に示す割込コントローラ61から割込信号70が発せられ、動的再構成論理回路装置50が、図2に示す今まで処理していた論理回路構成から、割込処理に必要な論理回路構成に切替えられた状態を示す。なお、図3において、動的接続ユニット200は、その接続関係を矢印で示し、箱は図示していない。また、割込信号70も図示していない。
図3に示すように、この割込処理の例では、入力1は,動的再構成演算ユニット100a、100e、100i、100nで順次処理されて、出力2となる。入力2は,動的再構成演算ユニット100b、100g、100k、100pで順次処理されて、出力4となる。入力3は,動的再構成演算ユニット100c、100f、100j、100mで順次処理されて、出力1となる。入力4は,動的再構成演算ユニット100d、100h、100l、100oで順次処理されて、出力3となる。
このように、動的再構成論理回路装置50は、割込信号70によって、動的接続ユニット200を制御することにより、動的再構成演算ユニット100の相互の接続を切替え、所望の論理回路を構築できる。動的再構成論理回路装置50は、割込処理を、図3に示す論理回路構成で処理し、処理が終了すると、図2に示す論理回路構成に復帰し、以前の処理を続行する。このように、本形態の動的再構成論理回路装置50によれば、4入力−4出力の並列処理と、時分割による多重化処理が実現できる。
なお、動的再構成論理回路装置50を構成する動的再構成演算ユニット100の個数は、本形態の16個に限定されるものではなく、任意の個数であっても良い。また、それらの配列は、他の配列であっても良い。
さらに、動的再構成演算ユニット100と動的接続ユニット200の接続関係は、本形態に示した、層状構造に限定されるものではなく、他の構造であっても良い。
また、図1に示した本形態では、動的再構成演算ユニット100は、1入力−1出力であるが、入力数と、出力数は本形態に限定されるものではなく、目的に応じた個数で良い。例えば、2入力−1出力として、動的再構成論理回路装置50の全体を、ツリー構造の論理回路構成とすることも出来る。
(第2の実施の形態)
図4は、本発明の第2の実施の形態における動的再構成演算ユニット100のブロック図である。
図4は、本発明の第2の実施の形態における動的再構成演算ユニット100のブロック図である。
図4に示すように、本形態の動的再構成演算ユニット100は、設定レジスタ101a、101b、フリップフロップ102a、102b、104a、104b、シフト演算又はマスク演算を行う演算素子103、105、加減算を行う演算素子106、フリップフロップ107a、107b、入力データ切替手段108、109、及び、出力データ切替手段110を有する。さらに、本形態の動的再構成演算ユニット100には、2つのデータ入力(DataIn0)111とデータ入力(DataIn1)112と、1つのデータ出力(DataOut)113がある。
ここで、設定レジスタ101a、101bは、設定情報記憶部に相当し、演算素子103、105、106は、演算部に相当する。フリップフロップ102a、102bは、入力データ記憶部に相当し、それぞれ、入力されたデータ入力111を格納する。フリップフロップ104a、104bは、入力データ記憶部に相当し、それぞれ、入力されたデータ入力112とを格納する。フリップフロップ107a、107bは、出力データ記憶部に相当し、演算素子106において処理された結果を格納する。
以下に、本形態の動的再構成演算ユニット100の動作を概説する。
通常の処理では、設定レジスタ101aが選択されており、フリップフロップ102aとフリップフロップ104aとフリップフロップ107aとが選択されている。演算素子103は、フリップフロップ102aに格納されているデータを用いて、シフト演算又はマスク演算を行い、演算素子105は、フリップフロップ104aに格納されているデータを用いて、シフト演算又はマスク演算を行う。それらの処理結果は、演算素子106に送られて、演算素子106において加算又は減算が行われ、フリップフロップ107aに格納される。なお、シフト演算では、シフト方向やシフト幅を設定でき、マスク演算では、AND演算又はOR演算の演算種別選択とその演算に使用するマスクビットとを設定できる。
演算素子103、演算素子105、及び演算素子106が、いずれの処理を行うかは、設定レジスタ101aの設定情報によって決定される。これらの処理は、いわば、「第1層」の処理である。
次に、動的再構成演算ユニット100が、割込信号(IRQ)70を受信すると、動的再構成演算ユニット100は、設定レジスタ101bを選択し、その設定情報に従って、演算素子103、演算素子105、及び、演算素子105の処理形態を変更する。同時に、割込信号70によって、動的再構成演算ユニット100は、入力データ切替手段108、109、と出力データ切替手段110とを制御し、フリップフロップを、フリップフロップ102b、フリップフロップ104b、及び、フリップフロップ107bに切替える。演算素子103は、フリップフロップ102bに格納されているデータを用いて、所定を処理を行い、演算素子105は、フリップフロップ104bに格納されているデータを用いて、所定を処理を行う。さらに、これらの結果は、演算素子106において、所定の処理を施された後に、フリップフロップ107bに格納される。これらの処理は、いわば、「第2層」の処理である。
このように、本形態の動的再構成演算ユニット100は、割込信号70をトリガーとして、「第1層」の通常処理から、「第2層」の割込処理に瞬時にして切替えることが出来る。
また、設定レジスタ101a、101bと、入力データ切替手段108、109、及び、出力データ切替手段110の選択と制御は、それぞれ独立に行うことができる。例えば、「第2層」の割込処理において、設定レジスタ101a、102bを切替えずに、入力データ切替手段108、109、及び、出力データ切替手段110を切替えれば、演算処理構成は変更せずに、入力データのみを変更した処理を行うことが出来る。
図5は、本発明の第2の実施の形態における動的再構成演算ユニット100の詳細ブロック図である。なお、図5において、図4と同様の構成要素については、同一の符号を付すことにより、説明を省略する。
図5では、図4に示したフリップフロップの切替えのための、入力データ切替手段108をセレクタ108a、108bとで実現し、入力データ切替手段109をセレクタ109a、109bとで実現し、出力データ切替手段110をセレクタ110a、110bとで実現している。これらのセレクタを、割込信号70に基づいて制御するために、フリップフロップセレクタ120が設けられている。また、演算素子103、105、106の演算処理構成を設定するための設定情報を格納している設定レジスタ101a、101b(設定情報記憶部に相当)を、割込信号70に基づいて切替える設定情報切替手段として、セレクタ122が設けられている。
以下に、割込信号70による切替制御について、説明する。
通常処理の状態では、フリップフロップセレクタ120によって以下の接続が確立されている。すなわち、セレクタ108aは、データ入力111をフリップフロップ102aの入力に接続し、セレクタ108bは、フリップフロップ102aの出力を演算素子103の入力に接続する。セレクタ109aは、データ入力112をフリップフロップ104aの入力に接続し、セレクタ109bは、フリップフロップ104aの出力を演算素子105の入力に接続する。セレクタ110aは、演算素子106の出力をフリップフロップ107aの入力に接続し、セレクタ110bは、フリップフロップ107aの出力をデータ出力113として出力する。
同時に、通常処理の状態では、セレクタ122は、設定レジスタ101aを選択し、設定レジスタ101aに格納されている設定情報を、演算素子103、105、106に送り、それぞれの演算処理内容を設定する。
従って、この通常処理では、演算素子103は、フリップフロップ102aに格納されているデータを用いて、設定レジスタ101aの設定情報に基づいて、シフト演算かマスク演算を行い、その演算結果を演算素子106の一方の入力に送る。同様に、演算素子105は、フリップフロップ104aのデータを用いて、シフト演算かマスク演算を行い、その演算結果を演算素子106の他方の入力に送る。演算素子106は、これら2つの入力データを用いて、設定レジスタ101aの設定情報に基づいて、加算又は減算を行い、その結果を、フリップフロップ107aに格納する。
次に、動的再構成演算ユニット100が外部から割込信号70を受け取ると、それをトリガーとして、フリップフロップセレクタ120とセレクタ122とが制御され、以下のような割込処理の接続と設定が行われる。すなわち、セレクタ108aは、データ入力111をフリップフロップ102bの入力に接続し、セレクタ108bは、フリップフロップ102bの出力を演算素子103の入力に接続する。セレクタ109aは、データ入力112をフリップフロップ104bの入力に接続し、セレクタ109bは、フリップフロップ104bの出力を演算素子105の入力に接続する。セレクタ110aは、演算素子106の出力をフリップフロップ107bの入力に接続し、セレクタ110bは、フリップフロップ107bの出力をデータ出力113として出力する。
同時に、割込処理として、セレクタ122は、設定レジスタ101bを選択し、設定レジスタ101bに格納されている設定情報を、演算素子103、105、106に送り、それぞれの演算処理内容を設定する。
従って、この割込処理では、演算素子103は、フリップフロップ102bに格納されているデータを用いて、設定レジスタ101bの設定情報に基づいて、シフト演算かマスク演算を行い、その演算結果を演算素子106の一方の入力に送る。同様に、演算素子105は、フリップフロップ104bのデータを用いて、シフト演算かマスク演算を行い、その演算結果を演算素子106の他方の入力に送る。演算素子106は、これら2つの入力データを用いて、設定レジスタ101aの設定情報に基づいて、加算か減算を行い、その結果を、フリップフロップ107bに格納する。
このように、本形態の動的再構成演算ユニット100は、「第1層」の通常処理として、フリップフロップ102aとフリップフロップ104aのデータを用いて所定の処理を行い、その結果をフリップフロップ107aに格納する。次に、動的再構成演算ユニット100は、割込信号70を受け取ると、それをトリガーとして、「第2層」の割込処理として、フリップフロップ102bとフリップフロップ104bのデータを用いて所定の処理を行い、その結果をフリップフロップ107bに格納する。このように、本形態の動的再構成演算ユニット100は、割込信号70をトリガーとして、「第1層」の通常処理から、「第2層」の割込処理に瞬時にして切替えて、処理を実行することが出来る。
以上述べたように、本形態の動的再構成演算ユニット100は、ある論理構成とデータで処理を行っている最中に、割込みを発生することで、別の論理構成の演算と処理したいデータとを瞬時に切替えることが出来る。したがって、リアルタイム性が要求され、優先処理が必要なタスクを扱えるようになる。また、設定レジスタ101a、101bと、入力データ切替手段108、109、出力データ切替手段110の切替え制御は独立して制御可能であるため、論理構成はそのままでデータの切替えを実施、またその逆でデータはそのままで論理構成を切替えて処理を行うような使用方法も可能となる。
なお、上述した本形態の動的再構成演算ユニット100は、2入力−1出力であるが、入力の数と、出力の数は、これに限定されるものではなく、内部の演算素子の構成によって任意に決めてよい。
また、本形態の動的再構成演算ユニット100では、処理形態は、「第1層」の通常処理と「第2層」の割込処理であるが、「第3層」以上を設けても良い。この場合には、処理層の数に従って、入力データ記憶部のフリップフロップの数と、出力データ記憶部のフリップフロップの数とを増やし、同時に、設定レジスタの数を増やせばよい。こうすると、第1の割込処理中に、さらに、優先度の高い、第2の割込処理を行うことが出来る。
(第3の実施の形態)
図6は、本発明の第3の実施の形態における動的接続ユニット200のブロック図である。本形態の動的接続ユニット200は、2入力−4出力であり、入力と出力の接続を選択するセレクタ221、222、223、224と、接続レジスタ230a、230bと、接続レジスタ230a、230bを選択するセレクタ225を有している。セレクタ221、222、223、224は、接続部に相当し、接続レジスタ230a、230bは、接続情報を格納した接続情報記憶部に相当する。
図6は、本発明の第3の実施の形態における動的接続ユニット200のブロック図である。本形態の動的接続ユニット200は、2入力−4出力であり、入力と出力の接続を選択するセレクタ221、222、223、224と、接続レジスタ230a、230bと、接続レジスタ230a、230bを選択するセレクタ225を有している。セレクタ221、222、223、224は、接続部に相当し、接続レジスタ230a、230bは、接続情報を格納した接続情報記憶部に相当する。
通常処理では、セレクタ225は、接続レジスタ230aを選択しており、接続レジスタ230aに格納されている接続情報を基に、セレクタ221、222、223、224それぞれの接続を選択する。例えば、セレクタ221は、入力(DataIn0)201と出力(DataOut0)211を接続し、セレクタ222は、入力(DataIn1)202と出力(DataOut1)212を接続し、セレクタ223は、入力(DataIn1)202と出力(DataOut2)213を接続し、セレクタ224は、入力(DataIn0)201と出力(DataOut3)214を接続するといった具合である。
割込信号70が動的接続ユニット200に入力されると、セレクタ225は、割込処理用の接続を確立するために、接続レジスタ230bを選択し、接続レジスタ230bに格納されている接続情報を基に、セレクタ221、222、223、224それぞれの接続を選択する。
本形態の動的接続ユニット200では、入力(DataIn0)201は、すべての出力と接続することも出来るし、任意の出力とのみ接続することも出来る。入力(DataIn1)202についても、同様である。
図7は、本発明の第3の実施の形態における動的接続ユニット200を用いた動的再構成論理回路装置50のブロック図(部分図)である。図7において、動的再構成演算ユニット100と動的接続ユニット200を制御する割込信号70は省略して、図示していない。また、図7において、図1と同様の構成要素については、同一の符号を付すことにより、説明を省略する。
図7に示すように、一層4個の2入力−1出力の動的再構成演算ユニット(DRPU)100を有する動的再構成論理回路装置50は、本形態の動的接続ユニット(DCU)200を2個用いることにより、各層の動的再構成演算ユニット100を任意に接続出来る。そして、この接続状態は、図6について述べたように、割込信号70をトリガーとして、接続レジスタ230を切替え、その接続情報を基に、瞬時に、かつ、任意に変更できる。
(第4の実施の形態)
図8は、本発明の第4の実施の形態における動的接続ユニット200のブロック図である。図8において、図6と同様の構成要素については、同一の符号を付すことにより、説明を省略する。
図8は、本発明の第4の実施の形態における動的接続ユニット200のブロック図である。図8において、図6と同様の構成要素については、同一の符号を付すことにより、説明を省略する。
本形態の動的接続ユニット200は、4入力−4出力の接続ユニットであり、4入力4出力スイッチ240と、接続レジスタ241とを有する。接続レジスタ241は、割込信号70に基づいて、4入力4出力スイッチ240の接続を制御する。4入力4出力スイッチ240は、具体的には、図6に示したセレクタ221〜224をさらに拡張すれば容易に実現できるので、説明を省略する。
本形態の動的接続ユニット200は、図1に示したような、1入力−1出力の動的再構成演算ユニット100が、アレイ状に配置されている場合に、その層間を接続するのに適している。例えば、図1に示した動的再構成論理回路装置50の動的接続ユニット200a、200c、及び、200dを、本形態の動的接続ユニット200で置き換えることが出来る。その結果、図2、図3に示したような論理回路構成を、割込信号70をトリガとして、瞬時に構築できる。
(第5の実施の形態)
図9は、本発明の第5の実施の形態における動的再構成論理回路装置の割込制御方法のフローチャートである。図9に示す本形態の割込制御方法を、図1、図4、及び、図8を参照して、以下に説明する。
図9は、本発明の第5の実施の形態における動的再構成論理回路装置の割込制御方法のフローチャートである。図9に示す本形態の割込制御方法を、図1、図4、及び、図8を参照して、以下に説明する。
図1の動的再構成論理回路装置50を含む半導体集積回路において、優先的にかつリアルタイムに実行したい処理が発生すると、図9に示す本形態の割込制御方法のフローチャートのステップS0に入る。
ステップS1において、CPU60は、割込処理の準備として、当該処理を割込処理として登録する。
ステップS2において、CPU60は、当該処理の優先度と、当該処理に使用する動的再構成論理回路装置50の論理構成と、データとを識別し、それらの情報を割込コントローラ61に通知する。
ステップS3において、割込コントローラ61は、CPU60から通知された情報を基に、当該処理に必要な接続情報と設定情報とを、論理変更情報として作成する。
ステップS4において、割込コントローラ61は、動的再構成論理回路装置50が別のタスクを処理中かどうかを調べ、別のタスクを処理中であれば、ステップS5に進んで、動作フラグを「T(True)」に設定し、別のタスクを処理中でなければ、ステップS6に進んで、動作フラグを「F(False)」に設定する。この動作フラグは後述するステップS10において使用する。
ステップS7において、割込コントローラ61は、動的再構成論理回路装置50に対して、当該処理を割込処理として実行するために、割込信号70を発行する。同時に、割込コントローラ61は、ステップS3において作成した接続情報と設定情報とを、論理変更情報として、動的再構成論理回路装置50に転送する。
ステップS8において、動的再構成論理回路装置50は、割込コントローラ61からの割込信号70をトリガとして、転送された接続情報と設定情報とを基に、動的再構成演算ユニット100の演算処理構成と、動的接続ユニット200の接続構成を変更する。
ステップS8における割込制御方法を、図4、及び、図8を具体例として、以下に説明する。
図8に示す動的接続ユニット200は、割込信号70を受け取ると、それをトリガーとして、転送された接続情報に基づいて、接続レジスタ241の接続情報を変更する。接続レジスタ241は、新しい接続情報に基づいて、4入力4出力スイッチ240の接続構成を変更する。その結果、動的再構成論理回路装置50は、例えば、図2に示す論理回路構成から図3に示す論理回路構成に変更される。
同時に、図4に示す動的再構成演算ユニット100は、割込信号70を受け取り、転送された設定情報に基づいて、設定レジスタ101bの設定情報を変更する。動的再構成演算ユニット100は、割込信号70をトリガーとして、設定レジスタ101bの新しい設定情報に基づいて、演算素子103、105、106の演算処理構成を変更する。
また、動的再構成演算ユニット100は、割込信号70をトリガーとして、入力データ切替手段108、109と、出力データ切替手段110とを制御して、フリップフロップをフリップフロップ102b、104b、107bに切替える。この結果、動的再構成演算ユニット100は、「第2層」の処理としての割込処理を実行する準備が完了する。以上が、ステップS8の詳細である。
ステップS9において、動的再構成論理回路装置50は、動的再構成演算ユニット100及び動的接続ユニット200が割込処理を実行する準備が完了したことを確認して、割込処理を実行する。その詳細は、後述する。割込処理が終了すると、ステップS10に進む。
ステップS10において、動的再構成論理回路装置50は、ステップS5又はステップS6において設定した、動作フラグを調べる。動作フラグが「T」(即ち、当該割込処理前に、動的再構成論理回路装置50は、別のタスクを処理中であった)ならば、動的再構成論理回路装置50は、復帰処理要求を発行して、ステップS11に進み、動作フラグが「F」ならば、復帰処理要求を発行せずに、ステップS12に進んで、割込処理を終了する。
ステップS11において、動的再構成演算ユニット100は、復帰処理要求を受け取り、割込処理前の設定情報を基に、演算処理構成を割込処理前の状態に復帰する。また、動的接続ユニット200は、復帰処理要求を受け取り、割込処理前の接続情報を基に、接続構成を割込処理前の状態に復帰し、ステップS12に進んで割込処理を終了する。
図10は、本発明の第5の実施の形態における割込処理のフローチャートである。図10を参照して、図9のステップS9の割込処理実行をより詳しく説明する。
ステップS90において、割込処理が開始されると、先ず、ステップS91において、当該割込処理が、割込前の処理において使用していた入力データをそのまま使用するか、あるいは、新たな入力データを使用するかを判定する。入力データの変更が必要でなければ(「No」)、ステップS93に進む。入力データの変更が必要であれば(「Yes」)、ステップS92に進む。
ステップS92において、入力データの転送を行ない、ステップS93に進む。
ステップS93において、割込処理を実行し、ステップS94に進む。
ステップS94において、さらに処理すべき次のデータがあるかどうかを判定する。次のデータがあれば(「Yes」)、ステップS92に戻り、ステップS92、ステップS93、ステップS94を繰り返す。次のデータがなければ(「No」)、ステップS95に進んで、割込処理を終了する。
図9と図10に示した割込制御のフローチャートの具体的な実施の形態は、図1のCPU60で稼動するプログラムとして実装される。
本形態の割込制御方法によれば、動的再構成論理回路装置50を搭載した半導体集積回路において、マルチタスクの制御が可能となり、時分割多重化処理が実行できる。この時分割多重化処理は、プログラムによって制御できるため、管理する処理の数や優先順位の入れ替えなどは、容易に実現できる。
以上説明したように、本発明により、従来の動的再構成論理回路装置では実現することができなかったリアルタイム性を有する処理制御が可能になる。
本発明の動的再構成論理回路装置50は、本発明の第1の実施の形態の半導体集積回路のみならず、リアルタイムでの処理制御が要求される画像・音声などのいわゆるマルチメディアの信号処理装置にも適用できる。即ち、動的再構成論理回路装置50を利用して、プログラムによって論理回路を動的に再構成可能な装置が実現できる。その結果、プログラムによって論理構成を変更するだけで、複数の信号処理を実行できる信号処理装置を提供でき、これまで複数の信号処理装置が必要であった処理が、一つの信号処理装置で処理出来るようになり、セットの低コスト化を図れる。
以上説明したように、本発明の趣旨は、動的再構成論理回路装置の論理回路を割込信号によって制御し、再構成することにあるのであって、本発明の趣旨を逸脱しない限り、種々の適用が可能である。
本発明に係わる動的再構成論理回路装置、割込制御方法、及び、半導体集積回路は、例えば、リアルタイムでの処理制御が要求される画像・音声などの信号処理とその応用分野において利用できる。
1 演算セル
2、4、7、102a、102b、104a、104b、107a、107b、130 フリップフロップ
3、5、6 演算素子
8、101a、101b 設定レジスタ
11、12、13 データ入力
50 動的再構成論理回路装置
60 CPU
61 割込コントローラ
70 割込信号
80 システムバス
100 動的再構成演算ユニット
103、105、106 演算素子
108、109 入力データ切替手段
108a、108b、109a、109b、110a、110b、122、221、222、223、224、225 セレクタ
110 出力データ切替手段
111、112、202、204 データ入力
113、203、211、212、213、214 データ出力
120 フリップフロップセレクタ
200 動的接続ユニット
230、230a、230b、241 接続レジスタ
240 4入力4出力スイッチ
2、4、7、102a、102b、104a、104b、107a、107b、130 フリップフロップ
3、5、6 演算素子
8、101a、101b 設定レジスタ
11、12、13 データ入力
50 動的再構成論理回路装置
60 CPU
61 割込コントローラ
70 割込信号
80 システムバス
100 動的再構成演算ユニット
103、105、106 演算素子
108、109 入力データ切替手段
108a、108b、109a、109b、110a、110b、122、221、222、223、224、225 セレクタ
110 出力データ切替手段
111、112、202、204 データ入力
113、203、211、212、213、214 データ出力
120 フリップフロップセレクタ
200 動的接続ユニット
230、230a、230b、241 接続レジスタ
240 4入力4出力スイッチ
Claims (14)
- 複数の動的再構成演算ユニットと、
少なくとも1つの動的接続ユニットと、を備え、
外部から入力される割込信号をトリガーとして、前記動的接続ユニットは、前記複数の動的再構成演算ユニットの入力と出力の電気的接続を切替えて、異なる論理回路を構成する動的再構成論理回路装置。 - 前記動的再構成演算ユニットは、複数の演算処理構成を有し、外部から入力される割込信号をトリガーとして、前記演算処理構成を変更する請求項1記載の動的再構成論理回路装置。
- 前記動的再構成演算ユニットは、
少なくとも1つの演算部と、
前記演算部を組合わせて異なる演算処理構成を設定するための設定情報を格納する設定情報記憶部と、
前記動的再構成演算ユニットに入力されるデータを保持する、少なくとも1つの入力データ記憶部と、
前記設定情報記憶部から読み出す設定情報を切替える設定情報切替手段と、
前記少なくとも1つの入力データ記憶部を切替える入力データ切替手段と、を有し、
外部から入力される割込信号をトリガーとして、前記設定情報切替手段と前記入力データ切替手段とにおける切替えを実行し、異なる演算処理構成を構築する、請求項1から2記載の動的再構成論理回路装置。 - 前記動的再構成演算ユニットは、
少なくとも1つの演算部と、
前記演算部を組合わせて異なる演算処理構成を設定するための設定情報を格納する設定情報記憶部と、
前記動的再構成演算ユニットに入力されるデータを保持する、少なくとも1つの入力データ記憶部と、
前記動的再構成演算ユニットから出力されるデータを保持する、少なくとも1つの出力データ記憶部と、
前記設定情報記憶部から読み出す設定情報を切替える設定情報切替手段と、
前記少なくとも1つの入力データ記憶部を切替える入力データ切替手段と、
前記少なくとも1つの出力データ記憶部を切替える出力データ切替手段と、を有し、
外部から入力される割込信号をトリガーとして、前記設定情報切替手段と前記入力データ切替手段と前記出力データ切替手段とにおける切替えを実行し、異なる演算処理構成を構築する、請求項1から2記載の動的再構成論理回路装置。 - 前記動的再構成演算ユニットに並列入力される入力データ数は、前記動的再構成演算ユニットから並列出力される出力データ数と等しい、請求項1から4記載の動的再構成論理回路装置。
- 前記動的再構成演算ユニットに並列入力される入力データ数は、前記動的再構成演算ユニットから並列出力される出力データ数よりも大きい、請求項1から4記載の動的再構成論理回路装置。
- 前記動的再構成演算ユニットが有する前記演算部は、加算、減算、シフト演算、マスク演算、ビット操作のうちの少なくとも1つを実行する、請求項3から5記載の動的再構成論理回路装置。
- 前記動的接続ユニットは、
前記複数の動的再構成演算ユニットを相互接続する接続情報を格納した、少なくとも1つの接続情報記憶部と、
前記接続情報記憶部の接続情報を基に、前記動的再構成演算ユニットの出力と、前記他の動的再構成演算ユニットの入力との電気的接続を行う、少なくとも1つの接続部と、を有し、
外部から入力される割込信号をトリガーとして、前記接続情報記憶部からの接続情報読み出しと、前記接続部の電気的接続とを実行する、請求項1記載の動的再構成論理回路装置。 - 複数の動的再構成演算ユニットと、
少なくとも1つの動的接続ユニットと、を備え、
前記動的接続ユニットは、前記複数の動的再構成演算ユニットの入力と出力の電気的接続を切替えて、異なる論理回路を構成する動的再構成論理回路装置における時分割多重化処理のための割込制御方法であって、
現在実行している処理よりも優先度の高い割込処理が発生した場合に、前記動的再構成論理回路装置に対して前記割込処理の割込信号を発信する、割込信号発信ステップと、
前記動的再構成論理回路装置が、前記割込処理の割込信号を受信する、割込信号受信ステップと、
前記受信した割込信号をトリガーとして、前記動的再構成論理回路装置が、前記割込処理に必要な論理回路を再構成する、論理回路再構成ステップと、
前記動的再構成論理回路装置が、前記再構成した論理回路を用いて、前記割込処理を実行する、処理実行ステップと、を含む、割込制御方法。 - 前記動的再構成演算ユニットにおいて、
現在実行している処理よりも優先度の高い割込処理が発生した場合に、前記動的再構成論理回路装置に対して前記割込処理の割込信号を発信する、割込信号発信ステップと、
前記動的再構成演算ユニットが、前記割込処理の割込信号を受信する、割込信号受信ステップと、
前記受信した割込信号をトリガーとして、前記動的再構成演算ユニットが、その演算処理構成を、前記割込処理に必要な演算処理構成に変更する、演算処理構成変更ステップと、
前記動的再構成演算ユニットが、前記変更した演算処理構成を用いて、前記割込処理を実行する、処理実行ステップと、を含む、請求項9記載の割込制御方法。 - 請求項3記載の動的再構成論理回路装置における時分割多重化処理のための割込制御方法であって、
現在実行している処理よりも優先度の高い割込処理が発生した場合に、前記動的再構成論理回路装置に対して前記割込処理の割込信号を発信する、割込信号発信ステップと、
前記動的再構成演算ユニットが、前記割込処理の割込信号を受信する、割込信号受信ステップと、
前記受信した割込信号をトリガーとして、前記動的再構成演算ユニットが、前記割込処理に必要な入力データを選択する、入力データ切替ステップと、
前記動的再構成演算ユニットが、前記割込処理に必要な演算処理構成の設定情報を選択する、設定情報切替ステップと、
前記動的再構成演算ユニットが、前記設定情報に基づいて、演算処理構成を変更する、演算処理構成変更ステップと、
前記動的再構成演算ユニットが、前記選択した入力データと、前記変更した演算処理構成を用いて、前記割込処理を実行する、処理実行ステップと、を含む、割込制御方法。 - 請求項4記載の動的再構成論理回路装置における時分割多重化処理のための割込制御方法であって、
現在実行している処理よりも優先度の高い割込処理が発生した場合に、前記動的再構成論理回路装置に対して前記割込処理の割込信号を発信する、割込信号発信ステップと、
前記動的再構成演算ユニットが、前記割込処理の割込信号を受信する、割込信号受信ステップと、
前記受信した割込信号をトリガーとして、前記動的再構成演算ユニットが、前記割込処理に必要な入力データを選択する、入力データ切替ステップと、
前記動的再構成演算ユニットが、前記割込処理に必要な演算処理構成の設定情報を選択する、設定情報切替ステップと、
前記動的再構成演算ユニットが、前記設定情報に基づいて、演算処理構成を変更する、演算処理構成変更ステップと、
前記動的再構成演算ユニットが、前記選択した入力データと、前記変更した演算処理構成を用いて、前記割込処理を実行する、処理実行ステップと、
前記動的再構成演算ユニットが、前記割込処理の処理結果の格納先を切替える、出力データ切替ステップと、を含む、割込制御方法。 - 請求項1から8記載の動的再構成論理回路装置と、
プロセッサと、
割込制御回路と、を備え、
前記プロセッサは、割込処理に必要な演算処理構成を作成して、前記割込制御回路に通知し、
前記割込制御回路は、前記割込処理に必要な演算処理構成を基に、前記動的再構成論理回路装置のと、接続情報を作成して、割込信号とともに、前記動的再構成論理回路装置に通知し、
前記割込制御回路が発信する割込信号をトリガーとして、前記動的再構成論理回路装置の前記複数の動的再構成演算ユニットは、前記設定情報を基に、それぞれの演算処理構成を変更し、前記動的接続ユニットは、前記接続情報を基に、前記複数の動的再構成演算ユニットの入力と出力の電気的接続を切替えて、異なる論理回路を構成する、半導体集積回路。 - 前記割込制御回路は、前記プロセッサの一部である、請求項13記載の半導体集積回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003407644A JP2005165961A (ja) | 2003-12-05 | 2003-12-05 | 動的再構成論理回路装置、割込制御方法、及び、半導体集積回路 |
US11/002,059 US20050125642A1 (en) | 2003-12-05 | 2004-12-03 | Dynamically reconfigurable logic circuit device, interrupt control method, and semi-conductor integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003407644A JP2005165961A (ja) | 2003-12-05 | 2003-12-05 | 動的再構成論理回路装置、割込制御方法、及び、半導体集積回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005165961A true JP2005165961A (ja) | 2005-06-23 |
Family
ID=34631762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003407644A Withdrawn JP2005165961A (ja) | 2003-12-05 | 2003-12-05 | 動的再構成論理回路装置、割込制御方法、及び、半導体集積回路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20050125642A1 (ja) |
JP (1) | JP2005165961A (ja) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007024766A (ja) * | 2005-07-20 | 2007-02-01 | Toyota Motor Corp | 衛星電波受信回路 |
WO2007060932A1 (ja) * | 2005-11-25 | 2007-05-31 | Matsushita Electric Industrial Co., Ltd. | 動的再構成論理回路を有するマルチスレッドプロセッサ |
JP2008060714A (ja) * | 2006-08-29 | 2008-03-13 | Fuji Xerox Co Ltd | 情報処理システム |
WO2009063596A1 (ja) * | 2007-11-12 | 2009-05-22 | Panasonic Corporation | 再構成可能回路、リセット方法、及び構成情報生成装置 |
JP2010213993A (ja) * | 2009-03-18 | 2010-09-30 | Fujifilm Corp | 内視鏡システム、内視鏡用プロセッサ装置、並びに内視鏡駆動方法 |
JP2010213992A (ja) * | 2009-03-18 | 2010-09-30 | Fujifilm Corp | 内視鏡システム、内視鏡用プロセッサ装置、並びに内視鏡駆動方法 |
US7969185B2 (en) | 2008-03-06 | 2011-06-28 | Fujitsu Semiconductor Limited | Logical circuit device, logical operation varying method, and logical operation system |
WO2015066561A1 (en) * | 2013-11-02 | 2015-05-07 | Wave Semiconductor, Inc. | Logical elements with switchable connections |
US9588773B2 (en) | 2013-01-07 | 2017-03-07 | Wave Computing, Inc. | Software based application specific integrated circuit |
JP2017147481A (ja) * | 2016-02-15 | 2017-08-24 | 株式会社日立製作所 | 通信装置、通信システム、および回路構成制御方法 |
US10073773B2 (en) | 2015-02-21 | 2018-09-11 | Wave Computing, Inc. | Instruction paging in reconfigurable fabric |
US10203935B2 (en) | 2013-11-02 | 2019-02-12 | Wave Computing, Inc. | Power control within a dataflow processor |
US10218357B2 (en) | 2013-11-02 | 2019-02-26 | Wave Computing, Inc. | Logical elements with switchable connections for multifunction operation |
US10374981B1 (en) | 2015-08-02 | 2019-08-06 | Wave Computing, Inc. | Data transfer circuitry given multiple source elements |
US10437728B2 (en) | 2015-02-21 | 2019-10-08 | Wave Computing, Inc. | Branchless instruction paging in reconfigurable fabric |
US10592444B2 (en) | 2013-01-07 | 2020-03-17 | Wave Computing, Inc. | Reconfigurable interconnected programmable processors |
CN110915138A (zh) * | 2017-08-28 | 2020-03-24 | 日立汽车系统株式会社 | 电子控制装置和电路的重构方法 |
US10659396B2 (en) | 2015-08-02 | 2020-05-19 | Wave Computing, Inc. | Joining data within a reconfigurable fabric |
US10719470B2 (en) | 2016-09-26 | 2020-07-21 | Wave Computing, Inc. | Reconfigurable fabric direct memory access with multiple read or write elements |
US10949328B2 (en) | 2017-08-19 | 2021-03-16 | Wave Computing, Inc. | Data flow graph computation using exceptions |
US10997102B2 (en) | 2019-04-01 | 2021-05-04 | Wave Computing, Inc. | Multidimensional address generation for direct memory access |
US11106976B2 (en) | 2017-08-19 | 2021-08-31 | Wave Computing, Inc. | Neural network output layer for machine learning |
US11227030B2 (en) | 2019-04-01 | 2022-01-18 | Wave Computing, Inc. | Matrix multiplication engine using pipelining |
US11481472B2 (en) | 2019-04-01 | 2022-10-25 | Wave Computing, Inc. | Integer matrix multiplication engine using pipelining |
US11645178B2 (en) | 2018-07-27 | 2023-05-09 | MIPS Tech, LLC | Fail-safe semi-autonomous or autonomous vehicle processor array redundancy which permits an agent to perform a function based on comparing valid output from sets of redundant processors |
US11934308B2 (en) | 2019-04-01 | 2024-03-19 | Wave Computing, Inc. | Processor cluster address generation |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4546775B2 (ja) * | 2004-06-30 | 2010-09-15 | 富士通株式会社 | 時分割多重処理可能なリコンフィギュラブル回路 |
US8612772B1 (en) | 2004-09-10 | 2013-12-17 | Altera Corporation | Security core using soft key |
US8566616B1 (en) * | 2004-09-10 | 2013-10-22 | Altera Corporation | Method and apparatus for protecting designs in SRAM-based programmable logic devices and the like |
KR100812346B1 (ko) * | 2006-02-06 | 2008-03-11 | 삼성전자주식회사 | 재구성 어레이에서의 인터럽트 처리 방법 및 장치 |
CN112347035B (zh) * | 2021-01-11 | 2021-06-25 | 北京中超伟业信息安全技术股份有限公司 | 面向远程fpga设备的动态部分可重构配置装置及方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5768598A (en) * | 1993-09-13 | 1998-06-16 | Intel Corporation | Method and apparatus for sharing hardward resources in a computer system |
US5794062A (en) * | 1995-04-17 | 1998-08-11 | Ricoh Company Ltd. | System and method for dynamically reconfigurable computing using a processing unit having changeable internal hardware organization |
US5987601A (en) * | 1997-02-14 | 1999-11-16 | Xyron Corporation | Zero overhead computer interrupts with task switching |
US6006321A (en) * | 1997-06-13 | 1999-12-21 | Malleable Technologies, Inc. | Programmable logic datapath that may be used in a field programmable device |
US6868490B1 (en) * | 2000-06-21 | 2005-03-15 | Pts Corporation | Methods and apparatus for providing context switching between software tasks with reconfigurable control |
US6718465B1 (en) * | 2000-02-25 | 2004-04-06 | The Research Foundation Of State University Of New York | Reconfigurable inner product processor architecture implementing square recursive decomposition of partial product matrices |
-
2003
- 2003-12-05 JP JP2003407644A patent/JP2005165961A/ja not_active Withdrawn
-
2004
- 2004-12-03 US US11/002,059 patent/US20050125642A1/en not_active Abandoned
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007024766A (ja) * | 2005-07-20 | 2007-02-01 | Toyota Motor Corp | 衛星電波受信回路 |
WO2007060932A1 (ja) * | 2005-11-25 | 2007-05-31 | Matsushita Electric Industrial Co., Ltd. | 動的再構成論理回路を有するマルチスレッドプロセッサ |
JPWO2007060932A1 (ja) * | 2005-11-25 | 2009-05-07 | パナソニック株式会社 | 動的再構成論理回路を有するマルチスレッドプロセッサ |
US7949860B2 (en) | 2005-11-25 | 2011-05-24 | Panasonic Corporation | Multi thread processor having dynamic reconfiguration logic circuit |
JP5096923B2 (ja) * | 2005-11-25 | 2012-12-12 | パナソニック株式会社 | 動的再構成論理回路を有するマルチスレッドプロセッサ |
JP2008060714A (ja) * | 2006-08-29 | 2008-03-13 | Fuji Xerox Co Ltd | 情報処理システム |
WO2009063596A1 (ja) * | 2007-11-12 | 2009-05-22 | Panasonic Corporation | 再構成可能回路、リセット方法、及び構成情報生成装置 |
US7969185B2 (en) | 2008-03-06 | 2011-06-28 | Fujitsu Semiconductor Limited | Logical circuit device, logical operation varying method, and logical operation system |
JP2010213993A (ja) * | 2009-03-18 | 2010-09-30 | Fujifilm Corp | 内視鏡システム、内視鏡用プロセッサ装置、並びに内視鏡駆動方法 |
JP2010213992A (ja) * | 2009-03-18 | 2010-09-30 | Fujifilm Corp | 内視鏡システム、内視鏡用プロセッサ装置、並びに内視鏡駆動方法 |
US9588773B2 (en) | 2013-01-07 | 2017-03-07 | Wave Computing, Inc. | Software based application specific integrated circuit |
US10592444B2 (en) | 2013-01-07 | 2020-03-17 | Wave Computing, Inc. | Reconfigurable interconnected programmable processors |
US10218357B2 (en) | 2013-11-02 | 2019-02-26 | Wave Computing, Inc. | Logical elements with switchable connections for multifunction operation |
WO2015066561A1 (en) * | 2013-11-02 | 2015-05-07 | Wave Semiconductor, Inc. | Logical elements with switchable connections |
US10203935B2 (en) | 2013-11-02 | 2019-02-12 | Wave Computing, Inc. | Power control within a dataflow processor |
US9590629B2 (en) | 2013-11-02 | 2017-03-07 | Wave Computing, Inc. | Logical elements with switchable connections |
US10374605B2 (en) | 2013-11-02 | 2019-08-06 | Wave Computing, Inc. | Logical elements with switchable connections in a reconfigurable fabric |
US10656911B2 (en) | 2013-11-02 | 2020-05-19 | Wave Computing, Inc. | Power control for a dataflow processor |
US10073773B2 (en) | 2015-02-21 | 2018-09-11 | Wave Computing, Inc. | Instruction paging in reconfigurable fabric |
US10437728B2 (en) | 2015-02-21 | 2019-10-08 | Wave Computing, Inc. | Branchless instruction paging in reconfigurable fabric |
US10659396B2 (en) | 2015-08-02 | 2020-05-19 | Wave Computing, Inc. | Joining data within a reconfigurable fabric |
US10374981B1 (en) | 2015-08-02 | 2019-08-06 | Wave Computing, Inc. | Data transfer circuitry given multiple source elements |
US10505704B1 (en) | 2015-08-02 | 2019-12-10 | Wave Computing, Inc. | Data uploading to asynchronous circuitry using circular buffer control |
JP2017147481A (ja) * | 2016-02-15 | 2017-08-24 | 株式会社日立製作所 | 通信装置、通信システム、および回路構成制御方法 |
US10719470B2 (en) | 2016-09-26 | 2020-07-21 | Wave Computing, Inc. | Reconfigurable fabric direct memory access with multiple read or write elements |
US10949328B2 (en) | 2017-08-19 | 2021-03-16 | Wave Computing, Inc. | Data flow graph computation using exceptions |
US11106976B2 (en) | 2017-08-19 | 2021-08-31 | Wave Computing, Inc. | Neural network output layer for machine learning |
CN110915138A (zh) * | 2017-08-28 | 2020-03-24 | 日立汽车系统株式会社 | 电子控制装置和电路的重构方法 |
CN110915138B (zh) * | 2017-08-28 | 2023-07-25 | 日立安斯泰莫株式会社 | 电子控制装置和电路的重构方法 |
US11645178B2 (en) | 2018-07-27 | 2023-05-09 | MIPS Tech, LLC | Fail-safe semi-autonomous or autonomous vehicle processor array redundancy which permits an agent to perform a function based on comparing valid output from sets of redundant processors |
US10997102B2 (en) | 2019-04-01 | 2021-05-04 | Wave Computing, Inc. | Multidimensional address generation for direct memory access |
US11481472B2 (en) | 2019-04-01 | 2022-10-25 | Wave Computing, Inc. | Integer matrix multiplication engine using pipelining |
US11227030B2 (en) | 2019-04-01 | 2022-01-18 | Wave Computing, Inc. | Matrix multiplication engine using pipelining |
US11934308B2 (en) | 2019-04-01 | 2024-03-19 | Wave Computing, Inc. | Processor cluster address generation |
Also Published As
Publication number | Publication date |
---|---|
US20050125642A1 (en) | 2005-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005165961A (ja) | 動的再構成論理回路装置、割込制御方法、及び、半導体集積回路 | |
JP4230580B2 (ja) | 再構成可能プロセッサデバイス | |
US6092174A (en) | Dynamically reconfigurable distributed integrated circuit processor and method | |
US8686549B2 (en) | Reconfigurable elements | |
EP0298658B1 (en) | Computational apparatus for parallel processing | |
US6122719A (en) | Method and apparatus for retiming in a network of multiple context processing elements | |
US8429385B2 (en) | Device including a field having function cells and information providing cells controlled by the function cells | |
US6751722B2 (en) | Local control of multiple context processing elements with configuration contexts | |
US8686475B2 (en) | Reconfigurable elements | |
US8713492B2 (en) | Data processing apparatus including reconfigurable logic circuit | |
US11281440B1 (en) | Control and reconfiguration of data flow graphs on heterogeneous computing platform | |
Jain et al. | Throughput oriented FPGA overlays using DSP blocks | |
US9092595B2 (en) | Multiprocessor having associated RAM units | |
JP5131188B2 (ja) | データ処理装置 | |
EP3063651A1 (en) | Pipelined configurable processor | |
JPH08286908A (ja) | 動的に再設定自在な処理ユニット、システム及び方法 | |
JP2022535713A (ja) | ヘテロジニアス処理システムのためのデータフローグラフプログラミング環境 | |
US8949576B2 (en) | Arithmetic node including general digital signal processing functions for an adaptive computing machine | |
EP3555760A1 (en) | Parallel processing on demand using partially dynamically reconfigurable fpga | |
JP7245833B2 (ja) | 構成可能なハードウェアの実行時の最適化 | |
GB2424503A (en) | Active memory device including a processor array | |
US8890215B2 (en) | Reconfigurable elements | |
JP6130058B2 (ja) | 条件付きのチャネルルーティングおよびインプレースの機能性を持つ再設定可能な命令セルのアレイ | |
JP2006085574A (ja) | データ処理システムおよびその制御方法 | |
Liu et al. | Hardware Architecture of Reconfigurable Cryptographic Processors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061204 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20080826 |