JP2007249843A - 再構成可能な演算装置 - Google Patents

再構成可能な演算装置 Download PDF

Info

Publication number
JP2007249843A
JP2007249843A JP2006075393A JP2006075393A JP2007249843A JP 2007249843 A JP2007249843 A JP 2007249843A JP 2006075393 A JP2006075393 A JP 2006075393A JP 2006075393 A JP2006075393 A JP 2006075393A JP 2007249843 A JP2007249843 A JP 2007249843A
Authority
JP
Japan
Prior art keywords
address information
arithmetic
circuit configuration
arithmetic unit
reconfigurable
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
Application number
JP2006075393A
Other languages
English (en)
Inventor
Ichiro Kasama
一郎 笠間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006075393A priority Critical patent/JP2007249843A/ja
Priority to US11/488,159 priority patent/US20070220236A1/en
Publication of JP2007249843A publication Critical patent/JP2007249843A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture

Abstract

【課題】再構成可能な演算装置において、複数の再構成可能な演算器グループの回路構成をグループごとに切り替えること。
【解決手段】少なくとも1つの演算器を含む再構成可能な複数の演算器グループ34,35,36と、これらの演算器グループ34,35,36の任意の出力データを演算器グループ34,35,36の任意の入力データとすることができる再構成可能なバスネットワーク5と、複数の演算器グループ34,35,36の回路構成を制御するためのアドレス情報および切り替えタイミング信号を出力するシーケンサ31と、シーケンサ31から出力されたアドレス情報および切り替えタイミング信号に基づいて、複数の演算器グループ34,35,36の回路構成をグループごとに再構成可能にする回路構成出力部4と、を備える。
【選択図】図2

Description

この発明は、動的に構成を変えることにより様々な処理を行うことができる再構成可能な演算装置に関する。
図12は、従来の再構成可能な演算装置の構成を示す図である。図12に示すように、従来の再構成可能な演算装置1は、シーケンサ11から出力されたアドレス情報を、回路構成出力部12のテーブル13を参照してデコードし、複数の演算器グループ14,15,16へ演算器等の実命令コードを出力する。特定のアドレス情報のときには、複数の演算器グループ14,15,16は、シーケンサ11から出力された切り替えタイミング信号に基づいて、一括して再構成される。
図13は、図12に示す演算装置1の3段パイプライン動作について説明する図である。図13に示すように、例えばデータの入力回数が3回である場合、データ1は、1段目、2段目および3段目の演算器グループ14,15,16の回路構成が切り替わってから、1段目の演算器グループ14に入力される。そして、データ1、データ2およびデータ3のパイプライン処理が済み、データ3が3段目の演算器グループ16から出力された後に、1段目、2段目および3段目の演算器グループ14,15,16の回路構成が切り替わる。
このような再構成可能な演算装置として、次の構成のデータ処理装置が公知である。このデータ処理装置は、演算または他のデータ処理を実行する少なくとも1つの処理ユニットと、前記処理ユニットで実行する演算または他のデータ処理の内容を指示する実行命令を記述可能な第1のフィールド、および前記実行命令で実行する演算または他のデータ処理が実行可能な状態に前記処理ユニットを設定する準備情報を記述可能な第2のフィールドとを具備する命令セットをフェッチ可能なユニットと、前記第1のフィールドの前記実行命令をデコードし、その実行命令の演算または他のデータ処理が実行できるように予め設定された前記処理ユニットにより当該演算または他のデータ処理を進める第1の実行制御ユニットと、前記第2のフィールドの前記準備情報をデコードし、前記第1の実行制御ユニットの実行内容とは独立して前記処理ユニットの状態を演算または他のデータ処理が実行できるように設定する第2の実行制御ユニットとを有する(例えば、特許文献1参照。)。
また、次の構成のデータ処理装置が公知である。このデータ処理装置は、入力および/または出力インタフェースを変更可能な複数の処理ユニットと、少なくとも1つの前記処理ユニットの入力および/または出力インタフェースを、前記処理ユニットにより処理を実行する時期とは独立して指示するデータフロー指定命令をフェッチ可能なユニットと、前記データフロー指定命令をデコードし、前記処理ユニットの入力および/または出力インタフェースを設定し、複数の前記処理ユニットによるデータパスを構成可能なデータフロー指定ユニットとを有する(例えば、特許文献2参照。)。
さらに、本発明者は、先に再構成可能な演算装置について出願している。この出願にかかる再構成可能な演算装置は、所与の第1のコンフィギュレーション・データにより再構成可能で互いに同時動作可能な複数の演算手段と、読み書き自在の少なくとも1つの記憶手段と、演算装置として必要とされる種々の処理要素と、前記複数の演算手段および前記記憶手段の任意の出力データを前記複数の演算手段の任意の入力のデータとすることを可能とするとともに、前記複数の演算手段、前記記憶手段および前記の種々の処理要素からなる資源の間のデータ転送を前記資源の位置および種類にほぼ依存することなく均一な転送時間で行うとともに、所与の第2のコンフィギュレーション・データにより再構成可能な資源間相互接続手段と、前記第1および第2のコンフィギュレーション・データを格納する格納手段と、前記コンフィギュレーション・データを外部記憶装置から前記格納手段へロードする手段と、前記複数の演算手段から得られる情報に基づき、前記第1および第2のコンフィギュレーション・データを適切なシーケンスおよびタイミングで前記の再構成可能な手段に供給する供給手段とを備える(例えば、特許文献3参照。)。
国際公開第01/16710号パンフレット 国際公開第01/16711号パンフレット 特開2006−31127号公報
しかしながら、従来の再構成可能な演算装置では、回路構成が複数の演算器グループ全体で一括して切り替わるため、複数の演算器グループでパイプライン処理を行う場合、図13に示すように、初期の段階で2段目以降の演算器グループにデータの待ち時間ができてしまう。また、最終の段階では、最終段よりも手前の演算器グループにデータの待ち時間ができてしまう。回路構成の再構成回数が増えるほど、演算器グループのデータ待ち時間が増えるため、演算装置の処理効率が低くなるという問題点がある。
この問題は、上記特許文献1または特許文献2に開示されたデータ処理装置においても同様である。また、これらのデータ処理装置では、演算処理ユニットアレイ部での演算が終了したことの確認が取れた段階で回路構成を一括して切り替えることが可能であるが、この場合には、演算処理ユニットアレイ部に有効なデータが全くない状態を作る必要がある。そのため、実際に回路構成を切り替えるタイミングを考慮すると、数十サイクルのペナルティが発生する場合があるという問題点がある。
この発明は、上述した従来技術による問題点を解消するため、複数の再構成可能な演算器グループの回路構成をグループごとに切り替えることができる再構成可能な演算装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明にかかる再構成可能な演算装置は、再構成可能な複数の演算器グループ、再構成可能なバスネットワーク、シーケンサおよび回路構成出力部を備える。各演算器グループは、少なくとも1つの演算器を含む。バスネットワークは、複数の演算器グループの任意の出力データをそれら演算器グループの任意の入力データとすることができる。シーケンサは、各演算器グループの回路構成を制御するためのアドレス情報および切り替えタイミング信号を出力する。回路構成出力部は、シーケンサから出力されたアドレス情報および切り替えタイミング信号に基づいて、複数の演算器グループの回路構成をグループごとに再構成可能にする。この発明によれば、回路構成出力部によって、複数の再構成可能な演算器グループの回路構成をグループごとに切り替えることが可能となる。
この発明において、回路構成出力部は、複数の演算器グループにシーケンサから出力されたアドレス情報を演算器グループごとに制御されたタイミングで出力する遅延器を含んでいてもよい。例えば、この遅延器は、特定のアドレス情報に基づいて、複数の演算器グループへのアドレス情報の出力タイミングを制御する構成であってもよい。このようにすることによって、各演算器グループにアドレス情報を演算器グループごとに制御されたタイミングで与えることができる。
具体的には、遅延器を、切り替えタイミング信号をレジスタで遅延させる構成としてもよいし、あるいは、切り替えタイミング信号をカウンタのカウントにより指定サイクル数だけ遅延させる構成としてもよい。遅延サイクル数が少ない場合には、レジスタを用いた構成とすればよいし、遅延サイクル数が多い場合には、カウンタを用いた構成とすればよい。
また、上記発明において、回路構成出力部は、アドレス情報に対して算術演算を行って該アドレス情報を動的に変化させる算術演算器や、アドレス情報に対して論理演算を行って該アドレス情報を動的に変化させる論理演算器を含んでいてもよい。さらに、回路構成出力部は、アドレス情報を変換するテーブルを含んでいてもよい。このようにすることによって、シーケンサから出力されたアドレス情報を動的に変化させて各演算器グループに与えることができる。
また、上記発明において、回路構成出力部は、アドレス情報をルックアップテーブルを用いてデコードする回路を含んでいてもよい。また、回路構成出力部は、特定のアドレス情報によりカウントを開始するカウンタのカウント値に対応するアドレス情報を複数の演算器グループへ出力するパターン出力回路を含んでいてもよい。この場合、カウンタが複数の演算器グループごとに設けられていてもよい。このようにすることによって、シーケンサから出力されたアドレス情報に基づいて、回路構成出力部が独自にアドレス情報を動的に変化させて各演算器グループに与えることができる。
また、上記発明において、回路構成出力部は、切り替えタイミング信号を演算器グループごとに遅延させて、演算器グループにアドレス情報をグループごとに制御されたタイミングで出力させるイネーブル信号遅延器を含んでいてもよい。このようにすることによって、各演算器グループにアドレス情報を与えるタイミングを演算器グループごとに制御することができる。具体的には、イネーブル信号遅延器を、特定のアドレス情報に基づいて、シーケンサから出力された切り替えタイミング信号を、レジスタで遅延させる構成としてもよいし、特定のアドレス情報によりカウントを開始するカウンタで指定サイクル数だけ遅延させる構成としてもよい。
カウンタを用いる場合には、複数の演算器グループごとにカウンタを設け、該カウンタのカウント数の設定値およびカウントを開始するための特定のアドレス情報を、複数の演算器グループごとに設定可能にしてもよい。遅延サイクル数が少ない場合には、レジスタを用いた構成とすればよいし、遅延サイクル数が多い場合には、カウンタを用いた構成とすればよい。また、上記発明において、回路構成出力部は、切り替えタイミング信号を複数の演算器グループごとに分配するイネーブル信号の分配器を含んでいてもよい。また、上記発明において、上述した各回路構成出力部を組み合わせてもよい。
さらに、シーケンサが、複数の演算器グループのうちのいずれかから回路切り替え要求信号を受け取ると、複数の演算器グループの回路構成を制御するための次のアドレス情報を出力する構成であってもよい。このようにすれば、演算器グループの演算結果に応じて演算器グループの回路構成を切り替えることができる。また、シーケンサが、独自に演算器グループの回路構成を切り替えるようになっていてもよい。
本発明にかかる再構成可能な演算装置によれば、複数の再構成可能な演算器グループの回路構成をグループごとに切り替えることができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる再構成可能な演算装置の好適な実施の形態を詳細に説明する。なお、すべての添付図面において、同様の構成要素には同一の符号を付して、重複する説明を省略する。
図1は、本発明にかかる再構成可能な演算装置を備えた集積回路装置の構成を概略的に示す図である。図1に示すように、この集積回路装置2は、複数(特に限定しないが、図示例では6個)のクラスタブロックと呼ばれる再構成可能な演算装置3を有する。各演算装置3は、クロスバー21を介して相互にデータの授受が可能に接続されている。各演算装置3に対するデータの入出力パス、およびクロスバー21によるデータパスの構成は、上位制御回路22により制御されている。
図2は、本発明にかかる演算装置の構成を示す図である。図2に示すように、演算装置3は、シーケンサ31、回路構成出力部4、複数(特に限定しないが、図示例では3個)の演算器グループ34,35,36およびバスネットワーク5を備えている。各演算器グループ34,35,36は、少なくとも1個の演算器を含む。例えば、各演算器グループ34,35,36は、1個以上の乗算器と1個以上の加算器を含む。
それら乗算器と加算器の間のデータパス、およびそれらの演算器と他の種々の回路要素の間のデータパスは、配線情報等に基づいて再構成可能であり、演算装置3で行う処理に合わせて再構成される。なお、演算器グループの数は、2個でもよいし、4個以上、例えば十数〜数十個でもよい。ここでは、演算器グループの数が3個である場合を例にして説明するが、それ以外の場合でも同様である。
シーケンサ31は、演算器グループ34,35,36の回路構成を制御するためのアドレス情報および切り替えタイミング信号を出力する。バスネットワーク5は、複数の演算器グループ34,35,36のいずれについても、その出力データを自身の入力データとすることができ、また、その出力データを同一の演算装置3内の他の演算器グループの入力データとすることができる。バスネットワーク5は、配線情報等に基づいて再構成可能であり、演算装置3で行う処理に合わせて再構成される。バスネットワーク5と他の演算装置内のバスネットワークとは、クロスバー21を介して相互に接続可能である。
回路構成出力部4は、テーブル42、第1の付加回路41、第2の付加回路44および第3の付加回路43のうちのいずれか1つまたは2つ以上を備えている。回路構成出力部4には、テーブル42、第1の付加回路41、第2の付加回路44および第3の付加回路43のすべてが備わっている必要はないが、図2には、すべてが備えられている状態が示されている。集積回路装置2の用途や演算装置3で行う処理などに応じて、テーブル42、第1の付加回路41、第2の付加回路44および第3の付加回路43の中から必要なものが選択されて用いられる。
また、回路構成出力部4が複数の演算器グループ34,35,36の回路構成の切り替えをグループごとに制御する場合には、回路構成出力部4には、レジスタ45が設けられる。レジスタ45は、回路構成出力部4から各演算器グループ34,35,36に渡されるアドレス情報を一時的に保持し、グループごとに制御されたタイミングで各演算器グループ34,35,36へ出力する。複数の演算器グループ34,35,36の回路構成を一括して切り替える場合には、レジスタ45はなくてもい。
テーブル42は、入力されたアドレス情報に対応したアドレス情報や演算器等の実命令コードを出力する。第1の付加回路41は、例えば単純遅延器、指定サイクル数遅延器、算術演算器、論理演算器、ルックアップテーブルを用いたアドレスデコード回路またはスルーデータ回路を備えている。第1の付加回路41は、シーケンサ31から出力されたアドレス情報に対して、次のような処理を行う。
単純遅延器は、シーケンサ31から特定のアドレス情報が出力されたときに、レジスタ45によって、シーケンサ31から出力された切り替えタイミング信号を演算器グループごとに遅延させ、それによって、複数の演算器グループ34,35,36へのアドレス情報の出力タイミングをグループごとに遅延させる。指定サイクル数遅延器は、単純遅延器のレジスタ45の代わりに、カウンタを用いることによって、単純遅延器よりも多くのサイクル数の遅延を行うようにしたものである。
単純遅延器および指定サイクル数遅延器は、シーケンサ31から特定以外のアドレス情報が出力された場合には、そのアドレス情報に対して何も処理を行わない。第1の付加回路41が単純遅延器や指定サイクル数遅延器である場合には、各演算器グループ34,35,36を再構成する際の切り替えタイミングをグループごとに変化させることができる。当然のことながら、各演算器グループ34,35,36に対する遅延サイクルの数を同じにすれば、各演算器グループ34,35,36の構成を一括して切り替えることもできる。
算術演算器は、シーケンサ31から出力されたアドレス情報に対して算術演算を行うことによって、アドレス情報を動的に変化させる。論理演算器は、シーケンサ31から出力されたアドレス情報に対して論理演算を行うことによって、アドレス情報を動的に変化させる。アドレスデコード回路は、ルックアップテーブルを用いて、シーケンサ31から出力されたアドレス情報のデコードを行う。第1の付加回路41が算術演算器や論理演算器やアドレスデコード回路である場合には、テーブル42の参照アドレスを動的に変化させることができる。スルーデータ回路は、シーケンサ31から出力されたアドレス情報に対して何も処理を行わない。
第3の付加回路43は、例えば単純遅延器、指定サイクル数遅延器、算術演算器、論理演算器、ルックアップテーブルを用いたアドレスデコード回路、スルーデータ回路、またはカウンタとメモリによるパターン出力回路を備えている。これら遅延器、演算器および回路(ただし、パターン出力回路を除く)は、それぞれ、テーブル42から出力されたアドレス情報に対して、第1の付加回路41の遅延器、演算器および回路と同様の処理を行う。
パターン出力回路は、テーブル42から特定のアドレス情報が出力されたときに、カウンタのカウントを開始し、そのカウント値に対応するアドレス情報をメモリから読み出して複数の演算器グループ34,35,36へ出力する。これは、テーブル42はないが、第1の付加回路41がある場合には、第1の付加回路41から特定のアドレス情報が出力されたときに行われる。また、テーブル42も第1の付加回路41もない場合には、シーケンサ31から特定のアドレス情報が出力されたときに行われる。
パターン出力回路に特定以外のアドレス情報が入力された場合には、パターン出力回路は、そのアドレス情報に対して何も処理を行わない。第3の付加回路43がパターン出力回路である場合には、シーケンサ31からアドレス情報が1回、出力されると、回路構成出力部4から各演算器グループ34,35,36へ複数のアドレス情報を出力させることができる。
第2の付加回路44は、例えばイネーブル信号遅延器またはイネーブル信号の分配器を備えている。イネーブル信号遅延器は、シーケンサ31から特定のアドレス情報が出力されたときに、シーケンサ31から出力された切り替えタイミング信号をレジスタ45で遅延させて、レジスタ45からのアドレス情報の出力を許可するイネーブル信号として出力する。切り替えタイミング信号を複数サイクルだけ遅延させる場合には、特定のアドレス情報によりカウントを開始するカウンタを用いて切り替えタイミング信号を指定サイクル数だけ遅延させるようにすればよい。
イネーブル信号遅延器によれば、各演算器グループ34,35,36にアドレス情報を与えるタイミングをグループごとに制御することができる。イネーブル信号遅延器に特定以外のアドレス情報が入力された場合には、イネーブル信号遅延器は、シーケンサ31から出力された切り替えタイミング信号をそのままレジスタ45へ出力する。イネーブル信号の分配器は、シーケンサ31から出力された切り替えタイミング信号を複数の演算器グループ34,35,36ごとに分配する。
回路構成出力部4におけるテーブル42、第1の付加回路41、および第3の付加回路43の有無は、集積回路装置2のクラスタブロック(図1参照)ごとに適宜、選択される。また、第1の付加回路41および第3の付加回路43が上述した遅延器や演算器や回路のいずれであるか、ということや、第2の付加回路44がイネーブル信号の遅延器であるか分配器であるか、ということも、集積回路装置2のクラスタブロックごとに適宜、選択される。第1の付加回路41と第3の付加回路43により、シーケンサ31からの1回の動作指示によって複数の命令を発行することができる。また、その命令発行タイミングを可変にすることができる。さらに、実際の発行タイミングを決めるイネーブル信号についても、同様の制御が可能である。
また、演算装置3においては、各演算器グループ34,35,36の構成を切り替えるモードとして次の3つのモードを実現できる。第1のモードは、シーケンサ31が独自に判断して、各演算器グループ34,35,36の構成を切り替える自立モードである。第2のモードは、複数の演算器グループ34,35,36からそれぞれの演算終了時点で出力される回路切り替え要求信号CS1,CS2,CS3のいずれか1つに基づいて、シーケンサ31が各演算器グループ34,35,36の構成を切り替える演算結果モードである。
第3のモードは、回路構成出力部4におけるカウンタやアドレスなどの情報に基づいて、回路構成出力部4が独自に切り替えるモードである。これら3つのモードを実現できることによって、従来の再構成可能な演算装置1では実現できなかった複雑なFor Loop文などを実装することができる。
次に、回路構成出力部4が上述した単純遅延器で構成される場合の具体例を説明する。図3は、単純遅延器の構成の一例を示す図である。図3に示すように、回路構成出力部4は、演算回路51、レジスタ52,53,54,55,56、セレクタ57,58,59を備えている。演算回路51は、シーケンサ31から特定のアドレス情報が与えられたときに、セレクタ57,58,59の出力を制御する回路である。
この回路構成出力部4では、シーケンサ31から出力されたアドレス情報は、1段目の演算器グループ用のレジスタ54、2段目の演算器グループ用のレジスタ55および3段目の演算器グループ用のレジスタ56に送られ、そこで一時的に保持される。これら3つのレジスタ54,55,56は、図2に示す演算装置3の全体図のレジスタ45に相当する。各レジスタ54,55,56に対してアドレス情報の出力を許可するイネーブル信号は、それぞれ1段目の演算器グループ用のセレクタ57、2段目の演算器グループ用のセレクタ58および3段目の演算器グループ用のセレクタ59から与えられる。
各セレクタ57,58,59は、シーケンサ31から出力された切り替えタイミング信号と、該切り替えタイミング信号を前段のレジスタ52により遅延させた信号と、前段のレジスタ52の出力信号を後段のレジスタ53によりさらに遅延させた信号の中から1つを選択して出力する。演算回路51に特定のアドレス情報が与えられたときには、1段目の演算器グループ用のセレクタ57、2段目の演算器グループ用のセレクタ58および3段目の演算器グループ用のセレクタ59は、それぞれ1段目の演算器グループ用のレジスタ54、2段目の演算器グループ用のレジスタ55および3段目の演算器グループ用のレジスタ56に、シーケンサ31から出力された切り替えタイミング信号を遅延させた信号を出力する。
一方、シーケンサ31から特定以外のアドレス情報が出力された場合には、各セレクタ57,58,59は、シーケンサ31から出力された切り替えタイミング信号をそのまま出力する。回路構成出力部4は、特定のアドレス情報の入力によってアドレス情報の出力タイミングを遅延させる制御が開始されると、数サイクルの間、シーケンサ31からのアドレス情報の入力を受け付けない。
次に、回路構成出力部4が上述したパターン出力回路で構成される場合の具体例を説明する。図4は、パターン出力回路の構成の一例を示す図であり、複数の演算器グループの回路構成の切り替えを一括して制御する場合の図である。図4に示すように、回路構成出力部4は、比較回路61、カウンタ62、メモリ63およびセレクタ64を備えている。比較回路61は、シーケンサ31から出力されたアドレス情報と、予め設定されたアドレス情報との比較を行う。比較の結果、両アドレス情報が一致する場合には、比較回路61は、カウンタ62を起動させてゼロからカウントを開始させるとともに、セレクタ64をメモリ63側に切り替える。
カウンタ62のカウント値はメモリ63に渡され、そのカウント値に応じてメモリ63から出力されるアドレス情報がセレクタ64を介して複数の演算器グループへ一括して送られる。カウンタ62のカウント値が予め設定された値になるまで、この動作が継続する。従って、シーケンサ31がアドレス情報を1回、出力しただけで、回路構成出力部4が複数のアドレス情報を出力することになる。比較回路61で両アドレス情報が一致しないとき、またはカウンタ62のカウント値が設定値になったときには、セレクタ64は、シーケンサ31側に切り替えられ、シーケンサ31から出力されたアドレス情報をそのまま出力する。
図5は、回路構成出力部がパターン出力回路で構成されており、複数の演算器グループの回路構成の切り替えをグループごとに制御する場合の図である。図5に示すように、この場合の回路構成出力部4は、上述した一括制御方式のパターン出力回路と同様の構成をグループごとに有している。すなわち、回路構成出力部4は、1段目の演算器グループ用の比較回路65a、カウンタ66a、メモリ67aおよびセレクタ68aと、2段目の演算器グループ用の比較回路65b、カウンタ66b、メモリ67bおよびセレクタ68bと、3段目の演算器グループ用の比較回路65c、カウンタ66c、メモリ67cおよびセレクタ68cを備えている。
比較回路65a,65b,65cのアドレス情報の設定値1、設定値2および設定値3は、同じであってもよいし、異なっていてもよい。また、カウンタ66a,66b,66cのカウント値の設定値A、設定値Bおよび設定値Cは、同じであってもよいし、異なっていてもよい。さらに、メモリ67a,67b,67cに格納されている変換情報も、同じであってもよいし、異なっていてもよい。このような構成により、セレクタ68a,68b,68cからそれぞれ1段目の演算器グループ用のアドレス情報、2段目の演算器グループ用のアドレス情報および3段目の演算器グループ用のアドレス情報が出力される。各グループ用のアドレス情報は、図示省略したレジスタ(図2のレジスタ45)を介して各演算器グループへ送られる。
次に、回路構成出力部4が上述したイネーブル信号遅延器で構成される場合の具体例を説明する。図6は、イネーブル信号遅延器の構成の一例を示す図であり、カウンタを用いて切り替えタイミング信号を複数サイクルだけ遅延させる場合の図である。図6に示すように、イネーブル信号遅延器は、1段目の演算器グループ用の比較回路71a、カウンタ72a、ゼロ比較器73aおよびセレクタ74aと、2段目の演算器グループ用の比較回路71b、カウンタ72b、ゼロ比較器73bおよびセレクタ74bと、3段目の演算器グループ用の比較回路71c、カウンタ72c、ゼロ比較器73cおよびセレクタ74cを備えている。
比較回路71aは、シーケンサ31から出力されたアドレス情報と、予め設定されたアドレス情報との比較を行う。比較の結果、両アドレス情報が一致する場合には、比較回路71aは、カウンタ72aへタイミングを通知する。カウンタ72aは、その通知を受け取ると、予め設定された値からの自動カウントダウンを開始する。そして、カウンタ72aの値がゼロになった時点で、セレクタ74aにおいてシーケンサ31からのタイミングと入れ替えて演算器へ通知する。
また、比較回路71aは、カウンタ72aからの制御信号により、カウンタ72aの値がゼロになるまでの間、シーケンサ31からの入力を受け付けない。比較回路71aでアドレス情報を比較したときに設定値と一致しない場合には、セレクタ74aは、シーケンサ31から出力された切り替えタイミング信号をそのまま演算器へ通知する。2段目および3段目の演算器グループ用の比較回路71b,71c、カウンタ72b,72c、ゼロ比較器73b,73cおよびセレクタ74b,74cについても同様である。
次に、実施の形態の演算装置3により実現される回路構成について説明する。図7は、1段目の演算器グループ34、2段目の演算器グループ35および3段目の演算器グループ36が3段パイプラインを構成している図である。図8は、1段目の演算器グループ34、2段目の演算器グループ35および3段目の演算器グループ36が並列3段パイプラインを構成している図である。この場合、各段の演算器グループ34,35,36において、図8の左側の列の3段パイプラインに供される演算器の数と左側の列の3段パイプラインに供される演算器の数は、可変である。つまり、各段の演算器グループ34,35,36において、各グループのリソースを自由に配分することができる。
図9は、左側の列の3段パイプラインの出力を右側の列の3段パイプラインの入力に戻すことにより、1段目の演算器グループ34、2段目の演算器グループ35および3段目の演算器グループ36が6段パイプラインを構成している図である。この場合も、上記並列3段パイプライン構成の場合と同様に、各演算器グループ34、35、36のリソースを自由に配分することができる。なお、パイプラインの段数は、3段や6段に限らず、2〜5段や7段以上にすることもできる。また、1段目の演算器グループ34、2段目の演算器グループ35および3段目の演算器グループ36の再構成を一括して制御することもできる。
図10は、実施の形態の演算装置を3段パイプライン構成で動作させたときの各演算器グループの動作状態を示す図である。図10に示すように、演算装置3が設定X(アプリケーションイメージ)、設定Y(アプリケーションイメージ)、設定Z(アプリケーションイメージ)の順で処理を実行する場合、各演算器グループの回路構成の切り替えをグループごとに制御することができるので、設定Xと設定Yの間、および設定Yと設定Zの間を、それぞれ空き時間なく連続して処理することができる。
図11は、従来の再構成可能な演算装置を3段パイプライン構成で動作させたときの各演算器グループの動作状態を示す図である。図11に示すように、従来の演算装置1では、3段目の演算器グループの処理が済んでからすべての演算器グループの回路構成を一括して切り替えなければならないため、設定Xと設定Yの間、および設定Yと設定Zの間にそれぞれ空き時間ができてしまう。
以上説明したように、実施の形態によれば、シーケンサ31から出力されたアドレス情報を回路構成出力部4により動的に変化させて各演算器グループ34,35,36に与えることができる。また、各演算器グループ34,35,36にアドレス情報を与えるタイミングを演算器グループ34,35,36ごとに制御することができる。従って、各演算器グループ34,35,36にアドレス情報をグループごとに制御されたタイミングで与えることができるので、各演算器グループ34,35,36の回路構成をグループごとに切り替えることができる。
また、このことによって、例えば1段目の演算器グループ34と2段目の演算器グループ35がそれぞれMという回路構成とNという回路構成を取り得る場合、1段目の演算器グループ34の回路構成と2段目の演算器グループ35の回路構成が取り得る組み合わせは、MとM、MとN、NとMおよびNとNの4通りであるが、この4通りの組み合わせを、実施の形態の演算装置3では、Mの回路構成情報とNの回路構成情報だけで実現することができる。それに対して、従来の演算装置1では、1段目の演算器グループの回路構成と2段目の演算器グループの回路構成を一括して切り替えるため、上記4通りの回路構成情報が必要となる。つまり、実施の形態によれば、再構成に必要な回路構成情報を最大半分にすることができる。
(付記1)少なくとも1つの演算器を含む再構成可能な複数の演算器グループと、
複数の前記演算器グループの任意の出力データを複数の前記演算器グループの任意の入力データとすることができる再構成可能なバスネットワークと、
複数の前記演算器グループの回路構成を制御するためのアドレス情報および切り替えタイミング信号を出力するシーケンサと、
前記シーケンサから出力されたアドレス情報および切り替えタイミング信号に基づいて、複数の前記演算器グループの回路構成をグループごとに再構成可能にする回路構成出力部と、
を備えることを特徴とする再構成可能な演算装置。
(付記2)前記回路構成出力部は、複数の前記演算器グループにアドレス情報を前記演算器グループごとに制御されたタイミングで出力する遅延器を含むことを特徴とする付記1に記載の再構成可能な演算装置。
(付記3)前記遅延器は、特定のアドレス情報に基づいて、複数の前記演算器グループへのアドレス情報の出力タイミングを制御することを特徴とする付記2に記載の再構成可能な演算装置。
(付記4)前記遅延器は、切り替えタイミング信号をレジスタで遅延させることにより、複数の前記演算器グループへのアドレス情報の出力タイミングを制御することを特徴とする付記2に記載の再構成可能な演算装置。
(付記5)前記遅延器は、切り替えタイミング信号をカウンタのカウントにより指定サイクル数だけ遅延させることにより、複数の前記演算器グループへのアドレス情報の出力タイミングを制御することを特徴とする付記2に記載の再構成可能な演算装置。
(付記6)前記回路構成出力部は、アドレス情報に対して算術演算を行って該アドレス情報を動的に変化させる算術演算器を含むことを特徴とする付記1に記載の再構成可能な演算装置。
(付記7)前記回路構成出力部は、アドレス情報に対して論理演算を行って該アドレス情報を動的に変化させる論理演算器を含むことを特徴とする付記1に記載の再構成可能な演算装置。
(付記8)前記回路構成出力部は、アドレス情報を変換するテーブルを含むことを特徴とする付記1に記載の再構成可能な演算装置。
(付記9)前記回路構成出力部は、アドレス情報をルックアップテーブルを用いてデコードする回路を含むことを特徴とする付記1に記載の再構成可能な演算装置。
(付記10)前記回路構成出力部は、特定のアドレス情報によりカウントを開始するカウンタのカウント値に対応するアドレス情報を複数の前記演算器グループへ出力するパターン出力回路を含むことを特徴とする付記1に記載の再構成可能な演算装置。
(付記11)前記カウンタは、複数の前記演算器グループごとに設けられていることを特徴とする付記10に記載の再構成可能な演算装置。
(付記12)前記回路構成出力部は、切り替えタイミング信号を前記演算器グループごとに遅延させて、前記演算器グループにアドレス情報をグループごとに制御されたタイミングで出力させるイネーブル信号遅延器を含むことを特徴とする付記1に記載の再構成可能な演算装置。
(付記13)前記イネーブル信号遅延器は、特定のアドレス情報に基づいて、切り替えタイミング信号をレジスタで遅延させることを特徴とする付記12に記載の再構成可能な演算装置。
(付記14)前記イネーブル信号遅延器は、切り替えタイミング信号を、特定のアドレス情報によりカウントを開始するカウンタで指定サイクル数だけ遅延させることを特徴とする付記12に記載の再構成可能な演算装置。
(付記15)前記カウンタは、複数の前記演算器グループごとに設けられており、該カウンタのカウント数の設定値およびカウントを開始するための特定のアドレス情報は、複数の前記演算器グループごとに設定可能であることを特徴とする付記12に記載の再構成可能な演算装置。
(付記16)前記回路構成出力部は、切り替えタイミング信号を複数の前記演算器グループごとに分配するイネーブル信号の分配器を含むことを特徴とする付記1に記載の再構成可能な演算装置。
(付記17)前記回路構成出力部は、前記付記2〜11のいずれか1つ、または前記付記2〜11の異種もしくは同種のいずれか2つ以上の構成と、前記付記12〜16のいずれか1つの構成を組み合わせた構成であることを特徴とする付記1に記載の再構成可能な演算装置。
(付記18)前記シーケンサは、複数の前記演算器グループのうちのいずれかから回路切り替え要求信号を受け取ると、複数の前記演算器グループの回路構成を制御するための次のアドレス情報を出力することを特徴とする付記1に記載の再構成可能な演算装置。
以上のように、本発明にかかる再構成可能な演算装置は、例えば種々の通信規格に対応可能なソフトウェア無線機に有用であり、特に、複数の通信方式に対応可能な携帯電話機や無線LAN(ローカル・エリア・ネットワーク)装置に適している。
本発明にかかる再構成可能な演算装置を備えた集積回路装置の構成を概略的に示す図である。 本発明にかかる演算装置の構成を示す図である。 本発明にかかる演算装置の一部を構成する単純遅延器の構成の一例を示す図である。 本発明にかかる演算装置の一部を構成するパターン出力回路の構成の一例を示す図である。 本発明にかかる演算装置の一部を構成するパターン出力回路の構成の一例を示す図である。 本発明にかかる演算装置の一部を構成するイネーブル信号遅延器の構成の一例を示す図である。 本発明にかかる演算装置により実現される3段パイプライン構成を示す図である。 本発明にかかる演算装置により実現される並列3段パイプライン構成を示す図である。 本発明にかかる演算装置により実現される6段パイプライン構成を示す図である。 実施の形態の演算装置を3段パイプライン構成で動作させたときの各演算器グループの動作状態を示す図である。 従来の再構成可能な演算装置を3段パイプライン構成で動作させたときの各演算器グループの動作状態を示す図である。 従来の再構成可能な演算装置の構成を示す図である。 図12に示す演算装置の3段パイプライン動作について説明する図である。
符号の説明
3 演算装置
4 回路構成出力部
5 バスネットワーク
31 シーケンサ
34,35,36 演算器グループ
52,53 レジスタ
62,66a,66b,66c,72a,72b,72c カウンタ

Claims (10)

  1. 少なくとも1つの演算器を含む再構成可能な複数の演算器グループと、
    複数の前記演算器グループの任意の出力データを複数の前記演算器グループの任意の入力データとすることができる再構成可能なバスネットワークと、
    複数の前記演算器グループの回路構成を制御するためのアドレス情報および切り替えタイミング信号を出力するシーケンサと、
    前記シーケンサから出力されたアドレス情報および切り替えタイミング信号に基づいて、複数の前記演算器グループの回路構成をグループごとに再構成可能にする回路構成出力部と、
    を備えることを特徴とする再構成可能な演算装置。
  2. 前記回路構成出力部は、複数の前記演算器グループにアドレス情報を前記演算器グループごとに制御されたタイミングで出力する遅延器を含むことを特徴とする請求項1に記載の再構成可能な演算装置。
  3. 前記回路構成出力部は、アドレス情報に対して算術演算を行って該アドレス情報を動的に変化させる算術演算器を含むことを特徴とする請求項1に記載の再構成可能な演算装置。
  4. 前記回路構成出力部は、アドレス情報に対して論理演算を行って該アドレス情報を動的に変化させる論理演算器を含むことを特徴とする請求項1に記載の再構成可能な演算装置。
  5. 前記回路構成出力部は、アドレス情報を変換するテーブルを含むことを特徴とする請求項1に記載の再構成可能な演算装置。
  6. 前記回路構成出力部は、アドレス情報をルックアップテーブルを用いてデコードする回路を含むことを特徴とする請求項1に記載の再構成可能な演算装置。
  7. 前記回路構成出力部は、特定のアドレス情報によりカウントを開始するカウンタのカウント値に対応するアドレス情報を複数の前記演算器グループへ出力するパターン出力回路を含むことを特徴とする請求項1に記載の再構成可能な演算装置。
  8. 前記回路構成出力部は、切り替えタイミング信号を前記演算器グループごとに遅延させて、前記演算器グループにアドレス情報をグループごとに制御されたタイミングで出力させるイネーブル信号遅延器を含むことを特徴とする請求項1に記載の再構成可能な演算装置。
  9. 前記回路構成出力部は、切り替えタイミング信号を複数の前記演算器グループごとに分配するイネーブル信号の分配器を含むことを特徴とする請求項1に記載の再構成可能な演算装置。
  10. 前記回路構成出力部は、前記請求項2〜7のいずれか1つ、または前記請求項2〜7の異種もしくは同種のいずれか2つ以上の構成と、前記請求項8もしくは9のいずれか1つの構成を組み合わせた構成であることを特徴とする請求項1に記載の再構成可能な演算装置。
JP2006075393A 2006-03-17 2006-03-17 再構成可能な演算装置 Withdrawn JP2007249843A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006075393A JP2007249843A (ja) 2006-03-17 2006-03-17 再構成可能な演算装置
US11/488,159 US20070220236A1 (en) 2006-03-17 2006-07-18 Reconfigurable computing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006075393A JP2007249843A (ja) 2006-03-17 2006-03-17 再構成可能な演算装置

Publications (1)

Publication Number Publication Date
JP2007249843A true JP2007249843A (ja) 2007-09-27

Family

ID=38519322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006075393A Withdrawn JP2007249843A (ja) 2006-03-17 2006-03-17 再構成可能な演算装置

Country Status (2)

Country Link
US (1) US20070220236A1 (ja)
JP (1) JP2007249843A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130007411A1 (en) * 2011-06-29 2013-01-03 Broadcom Corporation Configurable Allocation of Hardware Resources
US20170083313A1 (en) * 2015-09-22 2017-03-23 Qualcomm Incorporated CONFIGURING COARSE-GRAINED RECONFIGURABLE ARRAYS (CGRAs) FOR DATAFLOW INSTRUCTION BLOCK EXECUTION IN BLOCK-BASED DATAFLOW INSTRUCTION SET ARCHITECTURES (ISAs)
US10776310B2 (en) 2017-03-14 2020-09-15 Azurengine Technologies Zhuhai Inc. Reconfigurable parallel processor with a plurality of chained memory ports

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59132070A (ja) * 1983-01-18 1984-07-30 Mitsubishi Electric Corp アレイ演算用デ−タ処理装置
US5841296A (en) * 1997-01-21 1998-11-24 Xilinx, Inc. Programmable delay element
US6745318B1 (en) * 1999-08-18 2004-06-01 Sanjay Mansingh Method and apparatus of configurable processing
JP3719509B2 (ja) * 2002-04-01 2005-11-24 株式会社ソニー・コンピュータエンタテインメント シリアル演算パイプライン、演算装置、算術論理演算回路およびシリアル演算パイプラインによる演算方法
US7657861B2 (en) * 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data

Also Published As

Publication number Publication date
US20070220236A1 (en) 2007-09-20

Similar Documents

Publication Publication Date Title
JP4594666B2 (ja) 再構成可能な演算装置
US6745317B1 (en) Three level direct communication connections between neighboring multiple context processing elements
US7325123B2 (en) Hierarchical interconnect for configuring separate interconnects for each group of fixed and diverse computational elements
JP4484756B2 (ja) リコンフィギュラブル回路および処理装置
JPH09128238A (ja) Cpuデータ経路における同時入出力動作のための複数レジスタバンクシステム
JP3987783B2 (ja) アレイ型プロセッサ
US7734896B2 (en) Enhanced processor element structure in a reconfigurable integrated circuit device
US7383419B2 (en) Address generation unit for a processor
JP2014530408A (ja) プロセッシング装置及びスウィズルパターン生成器
JP2013030906A (ja) プログラマブルロジックデバイス
JPH11212786A (ja) レジスタベースデータ処理のためのデータパスおよび方法
JP2006099719A (ja) 処理装置
JP3987784B2 (ja) アレイ型プロセッサ
JP2006236106A (ja) データ処理装置及びデータ処理方法
JP2007249843A (ja) 再構成可能な演算装置
JP3987782B2 (ja) アレイ型プロセッサ
JP2008152409A (ja) 半導体集積回路
JP2003196246A (ja) データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体
JP2006011825A (ja) 再構成可能演算装置および半導体装置
JP4809497B2 (ja) 複数の独立したシーケンスプログラムを並列実行するプログラマブルコントローラ
US20070260805A1 (en) Computer with a Reconfigurable Architecture for Integrating a Global Cellular Automaton
JP2006011924A (ja) 再構成可能演算装置および半導体装置
JP4743581B2 (ja) データ処理システムおよびその制御方法
JP2019220003A (ja) データ処理装置、データ処理方法、およびプログラム
JP5633303B2 (ja) リコンフィグ可能なlsi

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080730

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081105

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090608