JP2007172285A - リコンフィギュラブル回路及び処理装置 - Google Patents

リコンフィギュラブル回路及び処理装置 Download PDF

Info

Publication number
JP2007172285A
JP2007172285A JP2005368899A JP2005368899A JP2007172285A JP 2007172285 A JP2007172285 A JP 2007172285A JP 2005368899 A JP2005368899 A JP 2005368899A JP 2005368899 A JP2005368899 A JP 2005368899A JP 2007172285 A JP2007172285 A JP 2007172285A
Authority
JP
Japan
Prior art keywords
circuit
input
data
logic
propagation
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.)
Granted
Application number
JP2005368899A
Other languages
English (en)
Other versions
JP4673739B2 (ja
Inventor
Makoto Kosone
真 小曽根
Kazuhisa Iizuka
和久 飯塚
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2005368899A priority Critical patent/JP4673739B2/ja
Publication of JP2007172285A publication Critical patent/JP2007172285A/ja
Application granted granted Critical
Publication of JP4673739B2 publication Critical patent/JP4673739B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Logic Circuits (AREA)
  • Microcomputers (AREA)

Abstract

【課題】回路規模の縮小化と処理時間の短縮化等に貢献するリコンフィギュラブル回路を提供する。
【解決手段】それぞれが複数の算術論理演算機能を選択的に実行可能な複数の論理回路2から構成される演算部と、複数の論理回路2の間の接続関係を保持する接続部と、を備えるリコンフィギュラブル回路において、少なくとも1つの論理回路2は、その論理回路2の演算で使用する入力4bを、その論理回路2の演算の次の演算を実行する論理回路2に入力する専用の入力伝播線6を有する入力伝播回路5を備える。さらに、入力伝播回路5は、入力伝播回路5を備える第1の論理回路2で使用するデータを、第1の論理回路2の演算の次の演算を実行する第2の論理回路2に入力する際、第1の論理回路2での演算実行時間の間、データを保持し、第2の論理回路2で演算を実行するときに、第2の論理回路2に入力できるようにするデータ保持機構7を備える。
【選択図】図3

Description

本発明は、リコンフィギュラブル回路に関する。
最近、携帯電話、GPS、VICSなど、無線通信が広く普及し、無線機の種類も増えている。これらの無線機またはその機能をすべてハードウエアで実装すると、コストや実装面積が嵩む。そこで、ハードウエアとしては汎用的な能力を有する回路を搭載しておき、それにロードするソフトウエアを切り替えることで多様な機能を実現する「ソフトウエア無線機」という考え方がある。
ソフトウエア無線機を実現する回路として、FPGA(Field Programmable Gate Array)やDSP(Digital Signal Processor)がある。特許文献1には、FPGAを動的に再構成することで、回路構成の再利用を図る方法が提案されている。動的変更が可能なタイプの回路を以下リコンフィギュラブル回路という。
FPGAはLSI製造後に回路データを書き込んで比較的自由に回路構成を設計することが可能であり、専用ハードウェアの設計に利用されている。FPGAは、論理回路の真理値表を格納するためのルックアップテーブル(LUT)と出力用のフリップフロップからなる基本セルと、その基本セル間を結ぶプログラマブルな配線リソースとを含む。FPGAでは、LUTに格納するデータと配線データを書き込むことで目的とする論理演算を実現できる。しかし、FPGAでLSIを設計した場合、ASIC(Application Specific IC)による設計と比べると、実装面積が非常に大きくなり、コスト高になる。そこで、FPGAを動的に構成することによって、回路構成の再利用を計る方法が提案されている(例えば、特許文献1参照)。
回路規模を削減したリコンフィギュラブル回路として、例えば、特許文献2の技術がある。特許文献2のリコンフィギュラブル回路は、機能の変更が可能な複数のALUを備える。複数のALUはマトリックス状に配置され、ALUの各段の間には、ALUの接続を選択的に確立可能な少なくとも1つの接続部が設けられている。この接続部は、上下段における全ての論理回路同士を接続可能とするものではなく、論理回路が、別の段に属する一部の論理回路のみと接続可能であるように構成される。
特開平10−256383号公報 特開2005−182654号公報
例えば衛星放送では、季節などにより、放送モードを切り替えて画質の調整などを行うことがある。衛星放送受信機では、放送モードごとに複数の回路を予めハードウェア上に作り込んでおき、放送モードに合わせて選択器で回路を切り替えて受信している。従って、受信機の他の放送モード用の回路はその間遊んでいることになる。モード切替のように、複数の専用回路を切り替えて使用し、その切替間隔が比較的長い場合、複数の専用回路を作り込む代わりに、切替時にLSIを瞬時に再構成することにすれば、回路構造を簡単にして汎用性を高め同時に実装コストを抑えることができる。このようなニーズに応えるべく、動的に再構成可能なLSIに製造業界の関心が高まってきている。特に、携帯電話やPDA(Personal Digital Assistant)などのモバイル端末に搭載されるLSIは小型化が必要であり、LSIを動的に再構成し、用途に合わせて適宜機能を切り替えることができれば、LSIの実装面積を小さく抑えることができる。
FPGAは回路構成の設計自由度が高く、汎用的である反面、全ての基本セル間の接続を可能とするため、多数のスイッチとスイッチのON/OFFを制御するための制御回路を含む必要があり、必然的に制御回路の実装面積が大きくなる。また、基本セル間の接続に複雑な配線パターンをとるため、配線が長くなる傾向がある。さらに1本の配線に多くのスイッチが接続される構造であるため、遅延が大きくなる。そのため、FPGAによるLSIは、試作や実験のために利用されるにとどまることが多く、実装効率、性能コストなどを考えると、量産には適していない。さらに、FPGAによるLSIでは、多数のLUT方式の基本セルに設定データを送る必要があるため、回路のコンフィギュレーションにはかなりの時間を要する。そのため、瞬時に回路構成の切替が必要な用途にはFPGAによるLSIは適していない。
それらの課題を解決するため、近年、ALU(Arithmetic Logic Unit)と呼ばれる基本演算機能を複数有する多機能素子を用いたリコンフィギュラブルプロセッサの開発が進められている。リコンフィギュラブルプロセッサでは、コマンドデータが設定されることにより、ALU回路の演算機能構成と接続部が制御され、全体として所期の演算処理回路を実現することが可能となる。コマンドデータは、一般にC言語等の高級プログラム言語で記述されたソースプログラムからDFG(Data Flow Graph)と呼ばれるデータフローを作成し、その情報をもとに作成される。
従来のプロセッサ(特許文献1参照)では、ALUの入力(inA、inB)は上段のALUもしくはメモリの出力のみである。このような構成では、データを下段に渡すためにはALUのスルー演算movが使用される。そのため、乗除余算の筆算展開に代表されるような、ある演算の入力をその演算以降に実行する複数の演算が入力として使用するプログラムの場合、有効な演算を行わないmov機能が多く使われることになり、効率的な演算処理が行えない。
回路規模を削減したリコンフィギュラブル回路として、例えば、前記特許文献2の技術があるが、ALUのスルー演算movを省略することはできない。
本発明はこうした状況に鑑みてなされたものであり、回路規模の縮小化と処理時間の短縮化等に貢献するリコンフィギュラブル回路を備えた集積回路装置、処理装置およびそれらを利用した処理方法を提供することを目的とする。
上記目的を達成するため、本発明の第1の観点に係るリコンフィギュラブル回路は、それぞれが複数の算術論理演算機能を選択的に実行可能な複数の論理回路から構成される演算部と、前記複数の論理回路の間の接続関係を保持する接続部と、を備えるリコンフィギュラブル回路において、前記複数の論理回路のうち少なくとも1つの論理回路は、その論理回路の演算で使用する入力を、その論理回路の演算の次の演算を実行する論理回路に入力する専用の入力伝播線を有する入力伝播回路を備えることを特徴とする。
さらに、前記入力伝播回路は、その入力伝播回路を備える第1の論理回路で使用するデータを、その第1の論理回路の演算の次の演算を実行する第2の論理回路に入力する際、前記第1の論理回路での演算実行時間の間、前記データを保持し、前記第2の論理回路で演算を実行するときに、前記第2の論理回路に入力できるようにするデータ保持機構を備えることを特徴とする。
好ましくは、前記入力伝播回路は、その入力伝播回路を備える第1の論理回路の演算の次の演算を実行する第2の論理回路への入力を、前記第1の論理回路の演算の前の演算を実行する論理回路に備わる前記入力伝播回路の前記入力伝播線からのデータと、該入力伝播線以外からのデータとのいずれかを選択して入力する入力選択回路を備えることを特徴とする。
特に、前記入力選択回路は、前記入力伝播線以外からのデータを選択する場合を除いて、常に前記入力伝播線からのデータを選択することを特徴とする。
なお、前記入力伝播回路の前記入力伝播線は、前記入力選択回路の出力データを入力としてもよい。
またさらに、前記入力伝播回路は、その入力伝播回路の入力選択回路に入力する入力伝播線のデータと、その入力伝播回路を備える論理回路への入力データのいずれかを選択して前記入力伝播線に入力することを特徴とする。
好ましくは、前記入力伝播回路は、その入力伝播回路を備える論理回路への入力が複数ある場合に、その複数の入力データのうちいずれかを選択して前記入力伝播線に入力する。
前記入力伝播回路は、その入力伝播回路を備える第1の論理回路への入力が複数ある場合に、前記第1の論理回路の演算の前の演算を実行する論理回路に備わる入力伝播回路の入力伝播線からのデータか、前記第1の論理回路への複数の入力データのうちいずれかを選択して前記第1の論理回路に備わる前記入力伝播回路の前記入力伝播線に入力する。
なお、前記入力伝播回路は、その入力伝播回路を備える第1の論理回路と、前記第1の論理回路の演算の次の演算を実行する第2の論理回路とを1対1で接続することを特徴とする。
本発明の第2の観点に係る処理装置は、前記第1の観点に係るいずれかのリコンフィギュラブル回路と、前記リコンフィギュラブル回路の前記演算部において選択実行される算術論理演算機能、及び前記接続部において保持される前記複数の論理回路の間の接続関係を設定する設定データを生成する設定データ生成部と、を備え、前記設定データ生成部は、前記演算部の論理回路で選択実行される算術論理演算機能が前記入力伝播回路を使用するか否かを判定して、前記設定データを生成する、ことを特徴とする。
本発明のリコンフィギュラブル回路によれば、従来データを伝播するために使用していた論理回路を他の演算に使用できるため、処理効率が向上し、処理時間を短縮できる。また、従来データを伝播するために使用していた論理回路への命令がなくなるため、命令を格納するメモリの容量が少なくなり、回路規模が削減される。
本発明に係るリコンフィギュラブル回路の一実施の形態について、図を参照して説明する。図1は、本発明の一実施の形態に係るリコンフィギュラブル回路を含む処理装置の構成を示すブロック図である。図1に示すように、処理装置10は、集積回路装置26を備える。集積回路装置26は、回路構成を再構成可能とする機能を有する。集積回路装置26は1チップとして構成され、リコンフィギュラブル回路1、設定部14、制御部18、内部状態保持回路20、出力回路22および経路部24を備える。リコンフィギュラブル回路1は、設定を変更することにより、機能の変更を可能とする。
設定部14は、第1設定部14a、第2設定部14b、第3設定部14c、第4設定部14dおよび選択器16を有し、リコンフィギュラブル回路1に所期の回路を構成するための設定データ40を供給する。経路部24は、フィードバックパスとして機能し、リコンフィギュラブル回路1の出力を、リコンフィギュラブル回路1の入力に接続する。内部状態保持回路20および出力回路22は、例えばデータフリップフロップ(D−FF)などの順序回路あるいはメモリで構成され、リコンフィギュラブル回路1の出力を受ける。内部状態保持回路20は経路部24に接続されている。リコンフィギュラブル回路1は組合せ回路、またはD−FFのような状態保持を含む順序回路として構成される。
図2は、ALUアレイを用いたリコンフィギュラブル回路1の構成例を示す図である。図2に示すように、リコンフィギュラブル回路1は、機能の変更が可能なALU(算術論理演算ユニット)などを含む演算部である論理回路2の集合体を複数備えた構造を有し、また、それぞれの集合体の間に設けられて、集合体間の論理回路2の接続を選択的に確立可能な少なくとも1つの接続部3を有する。
リコンフィギュラブル回路1において、演算機能を選択的に実行可能な複数の論理回路2がマトリックス状に配列されて、図2の例では、X段Y列のALUアレイを構成し、各段に配列された複数の論理回路2が集合体を構成して、前段の集合体における処理結果が、接続部3において選択的に確立される接続にしたがって後段の集合体に引き渡される。上段から下段への論理回路間のデータ渡しは、論理回路間の接続切替を行う接続スイッチに接続データセットを設定することで、下段のどの論理回路2にデータを渡すかが定められる。動作時には、構成情報に従って演算処理し、結果を出力する。
各論理回路2の機能と、論理回路間の接続関係は、図1に示す設定部14により供給される設定データ40に基づいて設定される。設定データ40は、以下の手順で生成される。
集積回路装置26により実現されるべきプログラム36が、記憶部34に保持されている。プログラム36は、信号処理回路または信号処理アルゴリズムなどをC言語などの高級言語で記述したものである。コンパイル部30は、記憶部34に格納されたプログラム36をコンパイルし、データフローグラフ(DFG)38に変換して記憶部34に格納する。データフローグラフ38は、入力変数および定数による入力データから出力データに至る演算ないしはデータの流れをグラフ構造で表現したものである。ここで、コンパイル部30は、リコンフィギュラブル回路1における論理回路2の集合体の接続制限に応じて、データフローグラフ38を生成する。
設定データ生成部32は、データフローグラフ38から設定データ40を生成する。設定データ40は、データフローグラフ38をリコンフィギュラブル回路1にマッピングするためのデータであり、リコンフィギュラブル回路1における論理回路2の機能や論理回路間の接続関係を定める。
図3は、本発明に係るリコンフィギュラブル回路1における論理回路2の一例を示す図である。図3は、図2に示すALUアレイの、ある列の3段を取り出して表したものである。図3では、接続部3の構成は省略されている。
リコンフィギュラブル回路1の論理回路2は、図3に示すように、ALU2aの1つの入力4bに入力選択回路(MUX)8を備える。入力選択回路8の出力は、ALU2aの入力4cであると共に、入力伝播回路5によってALU2aをバイパスして、次の段のALU2aの入力選択回路8に接続している。また、入力伝播回路5は、入力伝播線6と入力伝播線6に設けられたデータ保持機構7を備えて構成される。ALU2aの出力はデータ保持機構9で保持されて、その出力を使用するALU2aなどに入力される。
入力選択回路8は、そのALU2aの1つの入力4bと、入力伝播線6で表される前の段の入力伝播回路5の出力のいずれかを選択して出力する。例えば、第1段のALU2aでの演算の入力として使用されたデータを、第2段のALU2aへの入力データとして使用する場合は、入力選択回路8は、入力伝播線6で表される前の段の入力伝播回路5の出力を選択して出力する。また、第1段のALU2aでの演算の出力を、第2段のALU2aへの入力データとして使用する場合は、入力選択回路8は、入力4bを選択して出力する。あるいは、内部状態保持回路20からリコンフィギュラブル回路1(入力4b)へ入力されたデータを、ALU2aへの入力データとして使用する場合も、入力選択回路8は、入力4bを選択して出力する。また、入力選択回路8は、通常は、入力伝播線6で表される前の段の入力伝播回路5の出力データを選択するようにし、入力4bのデータを選択する場合のみ、入力4bを選択して出力するようにしてもよい。なお、入力選択回路8は、上記以外の方法に基づいて、入力データを選択してもよい。
入力伝播回路5は、入力選択回路8の出力をALU2aの演算とは独立に、次の段のALU2aの入力選択回路8に伝達する。入力伝播回路5のデータ保持機構7は、次の段のALU2aの入力選択回路8に伝達するデータを保持する。データ保持機構7によって、ALU2aで演算が行われている間、データが保持され、ALU2aの出力と同時に次の段のALU2aにデータが入力される。
図3の論理回路2は、入力伝播回路5によって、ALU2aの算術論理演算とは別に、1つの入力4cを次のALU2aにそのまま渡すスルー演算movの機能を併せもっている。図11に、従来のリコンフィギュラブル回路1における論理回路2の例を示す。図11に示すように、従来リコンフィギュラブル回路1は、論理回路2に入力伝播回路5を備えていないので、mov機能を実現するために1つの論理回路2が使用される。従来のリコンフィギュラブル回路1に比較して、図3の論理回路2によれば、mov機能のために複合演算機能を有するALU2aを使用しなくて済む。
その結果、同じ演算処理を実現するリコンフィギュラブル回路1の論理回路2が少なくて済むので、リコンフィギュラブル回路1の規模を小さくできる。あるいは、同じ回路規模では、従来スルー演算movに使用していた論理回路2を他の演算に使用できる。複数の演算機能を有するALU2aに比べて、入力選択回路8、入力伝播線6及びデータ保持機構7を併せた回路の規模は極めて小さいので、リコンフィギュラブル回路1の処理能力対回路規模の効率が向上する。
本実施の形態では、コンパイル部30が1つの論理回路2の入力を次の段の論理回路2にそのまま渡すスルー演算movを、入力伝播回路5に割り当てるDFG38を生成する機能を有する。すなわち、1つの論理回路に割り当てる演算の入力が、その演算の次に実行される演算にそのまま使用されるか否かを判定して、その入力が次の演算に使用される場合は、その演算を実行する論理回路2の入力伝播回路5にその入力を伝播するスルー演算movを割り当てる。なお、この処理機能は、設定データ生成部32により実現されてもよい。その場合は、設定データ生成部32が、コンパイル部30が最初に生成したDFG38のmovを入力伝播回路に置き換えて、複数の論理回路2の設定データ40を生成する。
本発明のリコンフィギュラブル回路1によれば、同じ演算を実行する回路規模が従来のリコンフィギュラブル回路より小さくなることを、例を挙げて説明する。図4は、リコンフィギュラブル回路1で実行するプログラム36の一例を示す。図4のプログラム36は、次の処理を表す。
(A1):変数xから1を減算する。
(A2):変数yで示されるアドレスのデータを1ビット左にシフトする。
(A3):変数yで示されるアドレスのデータに変数xを加える。
(A4):(A2)と(A3)の処理をさらに2回繰り返す。
図5は、図4のプログラム36の処理を従来のリコンフィギュラブル回路で実行する場合のDFG38の例を示す。図5は2列のALUアレイを使用する場合である。図5の四角で示される記号P、Q、Rは入力変数及び出力変数を表す。丸で示される記号は、丸の中の演算を行うALU2aを表す。<<1は1ビット左にシフトを、+は2つの入力の加算を表す。図5の左の列では、上記の(A2)と(A3)を3回繰り返す処理が行われる。
図5の左の列では、変数yで示されるアドレスのデータを1ビット左にシフトする(ステップS1)。同じタイミングで、右の列では、変数xから1を減算する(ステップS7)。次に、変数yで示されるアドレスのデータに変数xを加える(ステップS2)。そのとき、変数xの値がステップS7の出力で与えられる。
ステップS1及びステップS2と同じ処理をさらに2回繰り返す(ステップS3〜S6)。ステップS4で加算される変数xの値は、右の列のスルー演算movステップS8及びS9の出力で与えられる。また、ステップS6で加算される変数xの値は、右の列のスルー演算movステップS10及びS11の出力で与えられる。
図5の右の列では、変数xから1を減算した結果を、左の列の加算に用いるために、スルー演算movが4回使われる。図5の従来の例では、2列6段、合計11個のALU2aが使用される。
図6は、図4のプログラム36の処理を図3に示す論理回路構成を有するリコンフィギュラブル回路1で実行する場合のDFG38の例を示す。図6の左の列のステップT1〜T6は、図5のステップS1〜S6と同じ処理であるが、ステップT4及びステップT6で加算される変数xの値は、それぞれ前の段のALU2aの入力伝播回路5の出力で与えられる。図6に示すように、変数xから1が減算された値(ステップT7の出力)は、左の列のALU2aの入力伝播回路5で下の段のALU2aにそのまま渡されるので、図5の右の列のスルー演算mov(ステップS8〜S11)は削除されている。図6の例では、合計7個のALU2aしか使われていない。
従来のリコンフィギュラブル回路でスルー演算movに使用されていたALU2aは、本発明のリコンフィギュラブル回路1では不要になり、その分だけ回路を縮小するか、スルー演算movに使用されていたALU2aを他の演算に使用することができる。その結果、リコンフィギュラブル回路1の処理能力対回路規模の効率が向上する。また、スルー演算movに使用されていたALU2aを削減できるので、従来データを伝播するために使用していた論理回路2への命令がなくなるため、命令を格納するメモリの容量が少なくなり、回路規模が削減される。そして、論理回路2の削減により、消費電力が少なくて済む。
図7は、リコンフィギュラブル回路1で実行するプログラム36の異なる例を示す。図7のプログラム36は、次の処理を表す。
(B1):変数xから1を減算する。
(B2):変数yで示されるアドレスのデータを1ビット左にシフトする。
(B3):変数yで示されるアドレスのデータに変数xを加える。
(B4):(B2)と(B3)をさらに2回繰り返す。
(B5):変数xを2ビット左にシフトする。
(B6):変数xに2を加算する。
(B7):(B5)と(B6)を繰り返す。
(B8):変数xを3ビット左にシフトする。
(B9):変数yで示されるアドレスのデータに変数xを加える。
図8は、図7のプログラム36の処理を従来のリコンフィギュラブル回路で実行する場合のDFG38の例を示す。図8は2列のALUアレイを使用する場合である。図8の左の列では、上記の変数yに関する演算処理が行われる。図8の右の列では、変数xに関する演算処理が行われる。図8のDFG38は、図5のDFG38にステップS12〜ステップS21が追加された処理となっている。図8のステップS1〜ステップS11は、図5のステップS1〜ステップS11と同じである。
図8の右の列では変数xから1を減算した結果を、左の列の加算に用いるために、スルー演算movが4回使われる(ステップS8〜ステップS11)。図8の左の列では、上記(B5)〜(B8)の変数xの処理が行われるALU2aの段(ステップS17〜ステップS21)の間、データを受け渡すためにスルー演算movが4回使われる(ステップS12〜S15)。そして、最後にステップS6の出力をスルー演算して保持した値に、(B8)の処理結果(ステップS21の出力)を加算する(ステップS16)。図8の従来の例では、2列11段、合計21個のALU2aが使用される。
図9は、図7のプログラム36の処理を図3に示す論理回路構成を有するリコンフィギュラブル回路1で実行する場合のDFG38の例を示す。図9のDFG38は、図6のDFG38にステップT8〜ステップT13が追加された処理となっている。図9のステップT1〜ステップT7は、図6のステップT1〜ステップT7と同じである。図6の例と同様、変数xから1が減算された値は、左の列のALUの入力伝播回路で下の段のALUにそのまま渡されるので、図8の右の列のスルー演算mov(ステップS8〜ステップS11)は削除されている。
図7のプログラム36の例では、上記(B5)〜(B8)の変数xの処理は変数yに関する処理と独立に実行できる。変数yに関する上記処理(B2)〜(B4)では、変数xの値は入力伝播回路によって左の列の下の段に渡されるので、右の列では、並行して変数xに関する処理を実行することができる(ステップT8〜ステップT12)。そして、最後にステップTS6の出力に、(B8)の処理結果(ステップT12の出力)を加算する(ステップT16)。
その結果、図8の左の列の4つのmov(ステップS12〜ステップS15)を削除することができるだけでなく、上記処理(B2)〜(B4)と(B5)〜(B8)を並行して行うことによって、全体のALU2aの段数を削減することができる。図9の例では、2列7段、合計13個のALUで図7のプログラム36の処理を実行できる。
本発明のリコンフィギュラブル回路1によれば、図9に示すように実行する処理によっては、従来のリコンフィギュラブル回路に比べて、スルー演算movに用いるALU2aを削減できるだけでなく、処理を実行するALU2aの段数を削減することができる。その結果、リコンフィギュラブル回路1のスループット及び応答時間が向上し、処理時間が短縮できる。
以上、説明したように、本発明のリコンフィギュラブル回路1によれば、従来、データを伝播するために使用していた論理回路を他の演算に使用できるため、処理効率が向上し、処理時間を短縮できる。また、従来データを伝播するために使用していた論理回路への命令がなくなるため、命令を格納するメモリの容量が少なくなり、回路規模が削減される。そして、論理回路の削減により、消費電力が少なくて済む。さらに、処理段数の短縮により、処理能力(スループット及び応答時間)が向上する。
図10は、図3の例とは異なる形態の入力伝播回路5を備えたリコンフィギュラブル回路1の構成を示す図である。図10は、図2に示すALUアレイの、ある列の2段を取り出して表したものである。図10では、接続部3の構成は省略されている。図3の形態ではALU2aの一方の入力4cのみ、次の段のALUに伝達可能であったが、図10の論理回路形態では、ALU2aの2つの入力4a又は4cのどちらかを選択して次の段に伝達することができるように、また、ALU2aの入力4a、4cとは独立に前の段の入力伝播回路5の出力を次の段に伝達できるようにするために、入力選択回路(MUX)8b及び8cが加わっている。
図10の論理回路2では、1つのALU2aに入力選択回路8a、8b、8cを備える。入力選択回路8aは一方の入力4bと前の段の入力伝播回路5のデータのいずれかを選択する。入力選択回路8bは、もう一方の入力4aと入力選択回路8aの出力(入力4c)のいずれかを選択する。入力選択回路8cは、入力選択回路8bの出力と、前の段の入力伝播回路5のデータのいずれかを選択する。入力伝播回路5で次の段に伝達するデータは、入力4a、入力4b、前の段の入力伝播回路5の出力のいずれかを選択することができる。
入力4aを次の段に伝達する場合、入力選択回路8bで入力4aを選択し、入力選択回路8cで入力選択回路8bの出力を選択する。入力4bを次の段に伝達する場合、入力選択回路8aで入力4bを選択し、入力選択回路8bで入力選択回路8aの出力を選択し、さらに、入力選択回路8cで入力選択回路8bの出力を選択する。前の段の入力伝播回路5のデータを次の段に伝達する場合は、入力選択回路8cで前の段の入力伝播回路5のデータを選択する。
図3の形態ではALU2aが入力4aと4bの両方のデータを使用する場合、伝播されるデータは一方の入力4bに設定されなければならない。図10の論理回路2の構成では、ALU2aの入力とは独立に前の段の入力伝播回路5のデータを選択して次の段に伝達することができる。
図10の論理回路2では、次の伝達パターンが可能である。
(C1):ALU2aの入力に関係なく、前の段の入力伝播回路5のデータを次の段に伝達する。この場合、ALU2aは入力4aと、入力4b又は前の段の入力伝播回路5のデータを使用することができる。
(C2):入力4aを次の段に伝達する。この場合も、ALU2aは入力4aと、入力4b又は前の段の入力伝播回路5のデータを使用することができる。
(C3):入力4bを次の段に伝達する。この場合、ALU2aは入力4aと入力4bを使用することができる。
入力選択回路8a、8b、8cにより、入力4a又は入力4bのどちらでも伝達可能となる。また、図10の形態ではALU2aの入力4a、4bと入力伝播回路5のデータのいずれかを選択する入力選択回路8cを備えている。上記2つの入力選択回路8bと8cは併用させる必要はなく、どちらか一方のみで構成してもよい。図10の形態は、図3の形態よりも入力伝播回路5の使用方法に柔軟性があるが、その反面、回路規模、コマンドデータ量は少し大きくなる。そのため、どちらを採用するかはリコンフィギュラブル回路1を応用するシステムに依存する。
本実施の形態では、ALU2aの一つの入力のみ次のALU2aに伝達する入力伝播回路5を備えているが、入力伝播回路5は1つの入力に限定されるものではない。また、図3及び図10の多段構成のALUアレイで、入力伝播回路5は直下の論理回路2に接続されるように記載されているが、論理回路2は1段であってもよく、入力伝播回路5は直下の論理回路接続に限定されるものではない。
なお、リコンフィギュラブル回路1の全てのALUに入力伝播回路5を設ける必要はない。リコンフィギュラブル回路1を適用するシステムの特性に応じて、一部の論理回路に入力伝播回路5を備える構成であってもよい。
本発明の実施の形態に係るリコンフィギュラブル回路を備える処理装置の構成を示すブロック図である。 本発明の実施の形態に係るリコンフィギュラブル回路の構成の例を示すブロック図である。 本発明に係るリコンフィギュラブル回路における論理回路の一例を示す図である。 リコンフィギュラブル回路で実行するプログラムの一例を示す図である。 図4のプログラムの処理を従来のリコンフィギュラブル回路で実行する場合のDFGの例を示す図である。 図4のプログラムの処理を図3に示す論理回路構成を有するリコンフィギュラブル回路で実行する場合のDFGの例を示す図である。 リコンフィギュラブル回路で実行するプログラムの異なる例を示す図である。 図7のプログラムの処理を従来のリコンフィギュラブル回路で実行する場合のDFGの例を示す図である。 図7のプログラムの処理を図3に示す論理回路構成を有するリコンフィギュラブル回路で実行する場合のDFGの例を示す図である。 本発明に係るリコンフィギュラブル回路における論理回路の異なる例を示す図である。 従来のリコンフィギュラブル回路における論理回路の例を示す図である。
符号の説明
1 リコンフィギュラブル回路
2 論理回路
2a ALU
3 接続部
4a、4b、4c 入力
5 入力伝播回路
6 入力伝播線
7 データ保持機構
8、8a、8b、8c 入力選択回路
10 処理装置
30 コンパイル部
32 設定データ生成部
34 記憶部
36 プログラム
38 データフローグラフ
40 設定データ

Claims (10)

  1. それぞれが複数の算術論理演算機能を選択的に実行可能な複数の論理回路から構成される演算部と、
    前記複数の論理回路の間の接続関係を保持する接続部と、
    を備えるリコンフィギュラブル回路において、
    前記複数の論理回路のうち少なくとも1つの論理回路は、その論理回路の演算で使用する入力を、その論理回路の演算の次の演算を実行する論理回路に入力する専用の入力伝播線を有する入力伝播回路を備えることを特徴とするリコンフィギュラブル回路。
  2. 前記入力伝播回路は、
    その入力伝播回路を備える第1の論理回路で使用するデータを、その第1の論理回路の演算の次の演算を実行する第2の論理回路に入力する際、前記第1の論理回路での演算実行時間の間、前記データを保持し、前記第2の論理回路で演算を実行するときに、前記第2の論理回路に入力できるようにするデータ保持機構を備えることを特徴とする請求項1に記載のリコンフィギュラブル回路。
  3. 前記入力伝播回路は、
    その入力伝播回路を備える第1の論理回路の演算の次の演算を実行する第2の論理回路への入力を、前記第1の論理回路の演算の前の演算を実行する論理回路に備わる前記入力伝播回路の前記入力伝播線からのデータと、該入力伝播線以外からのデータとのいずれかを選択して入力する入力選択回路を備えることを特徴とする請求項1又は請求項2に記載のリコンフィギュラブル回路。
  4. 前記入力選択回路は、前記入力伝播線以外からのデータを選択する場合を除いて、常に前記入力伝播線からのデータを選択することを特徴とする請求項3に記載のリコンフィギュラブル回路。
  5. 前記入力伝播回路の前記入力伝播線は、前記入力選択回路の出力データを入力とする請求項3又は請求項4に記載のリコンフィギュラブル回路。
  6. 前記入力伝播回路は、その入力伝播回路の入力選択回路に入力する入力伝播線のデータと、その入力伝播回路を備える論理回路への入力データのいずれかを選択して前記入力伝播線に入力することを特徴とする請求項3又は請求項4に記載のリコンフィギュラブル回路。
  7. 前記入力伝播回路は、その入力伝播回路を備える論理回路への入力が複数ある場合に、その複数の入力データのうちいずれかを選択して前記入力伝播線に入力する請求項3に記載のリコンフィギュラブル回路。
  8. 前記入力伝播回路は、その入力伝播回路を備える第1の論理回路への入力が複数ある場合に、前記第1の論理回路の演算の前の演算を実行する論理回路に備わる入力伝播回路の入力伝播線からのデータか、前記第1の論理回路への複数の入力データのうちいずれかを選択して前記第1の論理回路に備わる前記入力伝播回路の前記入力伝播線に入力する請求項3に記載のリコンフィギュラブル回路。
  9. 前記入力伝播回路は、その入力伝播回路を備える第1の論理回路と、前記第1の論理回路の演算の次の演算を実行する第2の論理回路とを1対1で接続する請求項1乃至8のいずれか1項に記載のリコンフィギュラブル回路。
  10. 請求項1乃至9のいずれか一項に記載のリコンフィギュラブル回路と、
    前記リコンフィギュラブル回路の前記演算部において選択実行される算術論理演算機能、及び前記接続部において保持される前記複数の論理回路の間の接続関係を設定する設定データを生成する設定データ生成部と、
    を備え、
    前記設定データ生成部は、前記演算部の論理回路で選択実行される算術論理演算機能が前記入力伝播回路を使用するか否かを判定して、前記設定データを生成する、
    ことを特徴とする処理装置。
JP2005368899A 2005-12-21 2005-12-21 リコンフィギュラブル回路 Active JP4673739B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005368899A JP4673739B2 (ja) 2005-12-21 2005-12-21 リコンフィギュラブル回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005368899A JP4673739B2 (ja) 2005-12-21 2005-12-21 リコンフィギュラブル回路

Publications (2)

Publication Number Publication Date
JP2007172285A true JP2007172285A (ja) 2007-07-05
JP4673739B2 JP4673739B2 (ja) 2011-04-20

Family

ID=38298769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005368899A Active JP4673739B2 (ja) 2005-12-21 2005-12-21 リコンフィギュラブル回路

Country Status (1)

Country Link
JP (1) JP4673739B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009181509A (ja) * 2008-01-31 2009-08-13 Sanyo Electric Co Ltd 演算処理回路

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02240734A (ja) * 1989-03-14 1990-09-25 Nec Corp 情報処理装置
JP2000049591A (ja) * 1998-07-31 2000-02-18 Nippon Telegr & Teleph Corp <Ntt> 書き換え可能な論理回路
JP2000105759A (ja) * 1998-09-28 2000-04-11 Rooran:Kk 集積回路及び集積回路用のデータを記録した記録媒体
JP2005165435A (ja) * 2003-11-28 2005-06-23 Ip Flex Kk データ伝送方法
JP2005258593A (ja) * 2004-03-09 2005-09-22 Sanyo Electric Co Ltd データフローグラフ処理方法および処理装置
JP2005277673A (ja) * 2004-03-24 2005-10-06 Sanyo Electric Co Ltd 処理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02240734A (ja) * 1989-03-14 1990-09-25 Nec Corp 情報処理装置
JP2000049591A (ja) * 1998-07-31 2000-02-18 Nippon Telegr & Teleph Corp <Ntt> 書き換え可能な論理回路
JP2000105759A (ja) * 1998-09-28 2000-04-11 Rooran:Kk 集積回路及び集積回路用のデータを記録した記録媒体
JP2005165435A (ja) * 2003-11-28 2005-06-23 Ip Flex Kk データ伝送方法
JP2005258593A (ja) * 2004-03-09 2005-09-22 Sanyo Electric Co Ltd データフローグラフ処理方法および処理装置
JP2005277673A (ja) * 2004-03-24 2005-10-06 Sanyo Electric Co Ltd 処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009181509A (ja) * 2008-01-31 2009-08-13 Sanyo Electric Co Ltd 演算処理回路

Also Published As

Publication number Publication date
JP4673739B2 (ja) 2011-04-20

Similar Documents

Publication Publication Date Title
JP4275013B2 (ja) データフローグラフ処理装置、処理装置、リコンフィギュラブル回路。
US7571303B2 (en) Reconfigurable integrated circuit
KR100910777B1 (ko) 적응성 연산 집적 회로 및 적응성 연산 방법
US7464251B2 (en) Method and apparatus for configuring arbitrary sized data paths comprising multiple context processing elements
JP4484756B2 (ja) リコンフィギュラブル回路および処理装置
US20090282213A1 (en) Semiconductor integrated circuit
JP4673739B2 (ja) リコンフィギュラブル回路
JP4669781B2 (ja) 処理装置
JP4553615B2 (ja) 処理装置
US20070038971A1 (en) Processing device with reconfigurable circuit, integrated circuit device and processing method using these devices
JP4601567B2 (ja) データフローグラフの生成方法、及び処理装置
JP4357326B2 (ja) リコンフィギュラブル回路および処理装置
JP4156010B2 (ja) 処理装置
JP4260197B2 (ja) 処理装置
JP4011012B2 (ja) リコンフィギュラブル回路を備えた処理装置
JP4413052B2 (ja) データフローグラフ処理装置および処理装置
JP4562679B2 (ja) データフローグラフ生成装置
JP4330472B2 (ja) 処理装置
JP4553614B2 (ja) 処理装置
JP2007272394A (ja) データフローグラフ再構成装置、リコンフィギュラブル回路の設定データ生成装置、処理装置、及びリコンフィギュラブル回路
JP3515997B2 (ja) プログラマブル半導体デバイス
JP2007241694A (ja) リコンフィギュラブル回路への演算マッピング方法、リコンフィギュラブル回路、及びデータフローグラフ
JP2004221997A (ja) リコンフィギュラブル回路とそれを利用可能な集積回路装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100907

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100928

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101019

R155 Notification before disposition of declining of application

Free format text: JAPANESE INTERMEDIATE CODE: R155

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110121

R151 Written notification of patent or utility model registration

Ref document number: 4673739

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140128

Year of fee payment: 3