JP2006065786A - 処理装置 - Google Patents

処理装置 Download PDF

Info

Publication number
JP2006065786A
JP2006065786A JP2004250669A JP2004250669A JP2006065786A JP 2006065786 A JP2006065786 A JP 2006065786A JP 2004250669 A JP2004250669 A JP 2004250669A JP 2004250669 A JP2004250669 A JP 2004250669A JP 2006065786 A JP2006065786 A JP 2006065786A
Authority
JP
Japan
Prior art keywords
alu
circuit
unit
data
dfg
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.)
Pending
Application number
JP2004250669A
Other languages
English (en)
Inventor
Hiroshi Nakajima
洋 中島
Tatsuo Hiramatsu
達夫 平松
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 JP2004250669A priority Critical patent/JP2006065786A/ja
Publication of JP2006065786A publication Critical patent/JP2006065786A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 メモリ制御を効率的に実行する処理装置を提供する。
【解決手段】 本発明の処理装置は、機能の変更が可能な複数の論理回路(ALU)を備えたリコンフィギュラブル回路12と、ALUの機能を設定する設定部とを備える。設定部は、複数のALUのうちの一部の機能を、所定期間の間、同一にさせる。同一に設定される機能は、所定期間の間の出現頻度の高い機能であってもよく、また出現頻度の高いことが予測される機能であってもよい。
【選択図】図9

Description

この発明は、機能の変更が可能なリコンフィギュラブル回路を備えた処理装置に関する。
近年、ALU(Arithmetic Logic Unit)と呼ばれる基本演算機能を複数持つ多機能素子を用いたリコンフィギュラブルプロセッサの開発が進められている(例えば、特許文献1参照)。リコンフィギュラブルプロセッサでは、コマンドデータをALU回路に順次設定することで、全体として所期の演算処理回路を実現することができる。コマンドデータは、C言語などの高級プログラム言語で記述されたソースプログラムをコンパイル処理することでDFG(データフローグラフ)と呼ばれるデータフローを作成し、そのDFGをALUアレイにマッピングするデータとして作成される。コマンドデータは、コマンドメモリに格納される。
特開2004−220377号公報
ソースプログラムをDFG化すると、配列やポインタ回路を実現する処理などの特定の処理が、頻繁に出現する場合がある。DFGは、ALUアレイの大きさに合わせて分割されるため、同一の処理であっても、最終的にALUアレイにマッピングするDFGの形は異なることが多い。そのため、同じ処理のDFGを連続してALUアレイにマッピングする場合であっても、同じALUに同じ機能が割り当てられることは稀である。
リコンフィギュラブルプロセッサをバッテリで駆動する場合、消費電力をいかに低減させるかがリコンフィギュラブルプロセッサを普及させるために重要な要素となる。1クロックごとにコマンドデータをALUアレイにマッピングするとき、それぞれのALUに対して割り当てる機能が変更されると、機能の切替処理に伴って電力が消費されることになる。なお、バッテリ駆動のリコンフィギュラブルプロセッサでなくても、消費電力を低減することは好ましい。
本発明はこうした状況に鑑みてなされたもので、その目的は、リコンフィギュラブル回路における論理回路への機能割当てを効率的に実行する技術を提供することにある。
上記課題を解決するために、本発明のある態様は、機能の変更が可能な複数の論理回路を備えたリコンフィギュラブル回路と、論理回路の機能を設定する設定部とを備えた処理装置に関する。この態様の処理装置において、設定部は、複数の論理回路のうちの少なくとも一部の機能を、所定期間の間、同一の機能に設定する。この処理装置によると、所定期間、特定の論理回路については機能変更を行わないため、機能の切替にともなう電力消費を低減することが可能となる。
リコンフィギュラブル回路は、複数種類の多ビット演算を選択的に実行可能な算術論理回路を有してもよい。
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラムとして表現したものもまた、本発明の態様として有効である。
本発明によれば、リコンフィギュラブル回路における論理回路への機能割当てを効率的に実行する技術を提供することができる。
図1は、実施例に係る処理装置10の構成図である。処理装置10は、集積回路装置26を備える。集積回路装置26は、回路構成を再構成可能とする機能を有する。集積回路装置26は1チップとして構成され、リコンフィギュラブル回路12、設定部14、制御部18、出力回路22、メモリ部27および経路部24、29を備える。リコンフィギュラブル回路12は、設定を変更することにより、機能の変更を可能とする。リコンフィギュラブル回路12は組合せ回路または順序回路等の論理回路として構成される。
設定部14は、リコンフィギュラブル回路12に所期の回路を構成するための設定データ40を供給する。設定部14は、プログラムカウンタのカウント値に基づいて記憶したデータを出力するコマンドメモリとして構成されてもよい。この場合、制御部18がプログラムカウンタの出力を制御する。この意味において、設定データ40はコマンドデータと呼ばれてもよい。
経路部24、29は、フィードバックパスとして機能し、リコンフィギュラブル回路12の出力を、リコンフィギュラブル回路12の入力に接続する。出力回路22は、例えばデータフリップフロップ(D−FF)などの順序回路として構成され、リコンフィギュラブル回路12の出力を受ける。
メモリ部27は、リコンフィギュラブル回路12から出力されるデータ信号および/または外部から入力されるデータ信号を格納するための記憶領域を有する。メモリ部27はRAMとして構成される。メモリ部27に格納されたデータ信号は、経路部29を通じてリコンフィギュラブル回路12の入力として伝達される。
リコンフィギュラブル回路12は、機能の変更が可能な論理回路を有して構成される。具体的にリコンフィギュラブル回路12は、複数の演算機能を選択的に実行可能な論理回路を複数段に配列させた構成を備え、さらに前段の論理回路列の出力と後段の論理回路列の入力との接続関係を設定可能な接続部を備える。各段に含まれる複数の論理回路は、論理回路の集合体を構成する。この接続部は、前段の論理回路列の出力すなわち内部状態を保持する状態保持回路の機能も備える。複数の論理回路は、マトリックス状に配置される。各論理回路の機能と、論理回路間の接続関係は、設定部14により供給される設定データ40に基づいて設定される。設定データ40は、以下の手順で生成される。
集積回路装置26により実現されるべきプログラム36が、記憶部34に保持されている。プログラム36は、回路における処理の動作を記述した動作記述を示し、信号処理回路または信号処理アルゴリズムなどをC言語などの高級言語で記述したものである。コンパイル部30は、記憶部34に格納されたプログラム36をコンパイルし、データフローグラフ(DFG)38に変換して記憶部34に格納する。DFG38は、回路における演算間の実行順序の依存関係を表現し、入力変数および定数の演算の流れをグラフ構造で示したものである。一般に、DFG38は、上から下に向かって演算が進むように形成される。
コンパイル処理時、コンパイル部30は、DFGの中から、出現頻度の高い処理や、特定の処理を抽出する。出現頻度の高い処理は、DFG中に登場する回数の多少で決定されてもよい。また、特定の処理は、出現頻度を判断するのではなく、出現頻度が高くなることが想定される処理として予め決定されておいてもよい。コンパイル部30は、抽出した処理を、所定期間の間、リコンフィギュラブル回路12上にマッピングし続けるように、DFGを再生成する。このとき、コンパイル部30は、リコンフィギュラブル回路12の複数の論理回路を2つに分割し、分割した一方の領域を、抽出した処理を実行させるための専用領域としてもよい。コンパイル部30は、この専用領域に、抽出した処理が配置されるようにDFGを再生成する。
設定データ生成部32は、コンパイル部30により決定されたDFG38をもとに、設定データ40を生成する。設定データ40は、DFG38をリコンフィギュラブル回路12にマッピングするためのデータであり、リコンフィギュラブル回路12における論理回路の機能や論理回路間の接続関係、さらには論理回路に入力させる定数データなどを定める。
設定部14がコマンドメモリとして構成されている場合、制御部18は設定部14に対してプログラムカウンタ値を与え、設定部14は、そのカウンタ値に応じて格納した設定データを、コマンドデータとしてリコンフィギュラブル回路12に設定する。設定部14は、キャッシュメモリや他の種類のメモリを有して構成されてもよい。なお、制御部18が記憶部34から設定データ40を受けて、その設定データ40を設定部14に供給してもよいが、制御部18を介さずに、予め設定部14に設定データを格納しておいてもよい。
設定部14は、設定データ40をリコンフィギュラブル回路12に設定し、リコンフィギュラブル回路12の回路を逐次再構成させる。リコンフィギュラブル回路12は、基本セルとして高性能の演算能力のあるALUを用いており、またリコンフィギュラブル回路12および設定部14を1チップ上に構成することから、コンフィグレーションを高速に、例えば1クロックで実現することができる。制御部18はクロック機能を有し、クロック信号は、出力回路22およびメモリ部27に供給される。なお、出力回路22およびメモリ部27に供給する制御信号は、設定データとして設定部14に予め格納されており、設定部14から出力回路22およびメモリ部27にそれぞれ供給されてもよい。このとき、設定部14は、複数の論理回路のうちの少なくとも一部の機能を、所定期間の間、同一となるように設定データ40をリコンフィギュラブル回路12に供給する。上記したように、論理回路の機能を固定する設定データ40は、コンパイル部30により生成されたDFGに基づいて生成されている。
図2は、リコンフィギュラブル回路12の構成の一例を示す。リコンフィギュラブル回路12は、それぞれが複数の演算機能を選択的に実行可能な論理回路の多段配列と、前段の論理回路の出力と後段の論理回路の入力の接続関係を任意に設定可能な接続部52とを備える。リコンフィギュラブル回路12では、論理回路の多段配列構造により、上段から下段に向かって演算が進められる。なお、本明細書において「多段」とは、複数の段を意味する。なお、リコンフィギュラブル回路12の回路構成は、必ずしも多段配列を有する必要はないが、回路規模を削減するために全ての論理回路間の接続を可能とするのではなく、一部の論理回路同士の接続を実現させるのが好ましい。
リコンフィギュラブル回路12は、論理回路としてALU(Arithmetic Logic Unit)を有している。ALUは、複数種類の多ビット演算を選択的に実行可能な算術論理回路であって、論理和、論理積、ビットシフトなどの複数種類の多ビット演算を設定により選択的に実行できる。各ALUは、複数の演算機能を設定するためのセレクタを有して構成されている。図示の例では、ALUが、2つの入力端子と1つの出力端子を有して構成される。
リコンフィギュラブル回路12は、縦方向にX個、横方向にY個のALUが配置されたX段Y列のALUアレイとして構成される。ここでは、縦方向に3個、横方向に6個のALUが配置された3段6列のALUアレイを示している。リコンフィギュラブル回路12は、接続部52およびALU列53を備える。ALU列53は複数段に設けられ、接続部52は前後段のALU列53の間に設けられて、前段のALUの出力と後段のALUの入力の接続関係を設定する。
図2に示す例では、第1段のALU列53aと第2段のALU列53bの間に、第2段を構成する接続部52bが設けられ、第2段のALU列53bと第3段のALU列53cの間に、第3段を構成する接続部52cが設けられる。なお、第1段を構成する接続部52aは、第1段のALU列53aの上側に設けられる。
第1段のALU11、ALU12、・・・、ALU16には、入力変数や定数が入力され、設定された所定の演算がなされる。演算結果の出力は、第2段の接続部52bに設定された接続にしたがって、第2段のALU21、ALU22、・・・、ALU26に入力される。第2段の接続部52bにおいては、第1段のALU列53aの出力と第2段のALU列53bの入力の間で任意の接続関係、あるいは予め定められた接続関係の組合せの中から選択された接続関係を実現できるように接続用結線が構成されており、設定により所期の結線が有効となる。第2段のALU21、ALU22、・・・、ALU26には、ALU列53aの出力が入力され、設定された所定の演算がなされる。演算結果の出力は、第3段の接続部52cの接続用結線において設定された接続にしたがって、第3段のALU31、ALU32、・・・、ALU36に入力される。
最終段となる第3段のALU列53cからの出力データは、出力回路22、メモリ部27または経路部24に出力される。メモリ部27は、経路部29を介して、出力データを接続部52aに入力する。経路部24からは、接続部52aに出力データが直接供給される。接続部52aは、接続用結線を設定し、第1段のALU11、ALU12、・・・、ALU16にデータを供給する。
図3は、リコンフィギュラブル回路12におけるALU間の接続関係を示す図である。なお、図3では、ALU列の間に配置される接続部52の図示を省略している。第1段の接続部52においては、第1段のALU列の出力と第2段のALU列の入力の間で、一定の接続制限が課された接続関係を実現できるように結線が構成されており、設定により、その範囲内での所期の結線が有効となる。なお、第2段の接続部52においても同様である。最終段である第3段のALU列は演算の最終結果を出力する。接続部52は、ALU段の間で、物理的に近接して配置された論理回路同士を接続可能とするように構成される。これにより、配線長を短くすることができ、回路規模を削減することができる。その結果、低消費電力化及び処理高速化が可能となる。
図3に示すリコンフィギュラブル回路12では、上段における1つのALUからの配線は、下段の3つのALUに制限される。図示のように、下段における1つのALUの入力は、上段における直上のALUと、直上のALUの左右のALUに制限され、また上段における1つのALUの出力は、下段における直下のALUと、直下のALUの左右のALUに制限される。例えば、ALU22に関してみると、その入力は、ALU11、ALU12、ALU13の3方向に制限され、その出力は、ALU31、ALU32、ALU33の3方向に制限される。なお、左または右に対応するALUが存在しなければ、その入力および出力は、それぞれ2方向に制限される。このような配線とすることにより、上下段の全てのALU間の接続を可能とする場合と比較すると、配線数を大幅に削減することが可能となる。
以下に、本実施例において、図2および図3に示したリコンフィギュラブル回路12にマッピングするためのDFGを生成する方法を説明する。プログラム記述として代表的なC記述には、加減算演算、ビット積やビット和等のビット処理演算、シフト演算、大小比較演算、論理積や論理和の論理演算、単項演算などが存在する。本実施例のALUは、これらの演算機能を有し、設定データ40に応じて機能の切替を行うように構成されている。
これらの演算処理とは別に、C記述には、配列、ポインタによる値のやり取り、for文、while文、do文によるループ制御、if文、case文による条件分離などの処理も存在する。処理装置10では、これらの処理をDFGで表現し、リコンフィギュラブル回路12で実現する。コンパイル部30は、例えばループ制御文を展開して、上記した演算処理の組合せとして表現し、展開した演算をDFG38に変換する。以下、図4から図8を参照して、C記述における各種演算処理を説明する。
図4(a)は、for文によるループ制御を記述したプログラム例を示し、図4(b)は、図4(a)のプログラムの処理を示す。このプログラムは、インクリメント演算を実行し、ALUの有する加算演算処理を用いて展開されている。図4(c)は、インクリメント演算をDFG化した表現を示す。ここでは、DFGの上段の出力結果が、下段の加算演算に利用されている。
図5(a)は、条件分離文のプログラム例を示し、図5(b)は、図5(a)のプログラム処理をDFG化した表現を示す。このDFGでは、2段目中央のALUによりa=0であるか否かが判定され、a=0であればT(論理値1)を、a=0でなければF(論理値0)を下段のマージノード機能を割り当てられたALUに出力する。マージノードは、制御信号として入力される論理値に応じて出力を定めるノードであり、ここでは判定結果が論理値1であればcを選択してbとして出力し、論理値0であればdを選択してbとして出力する。
処理装置10は、メモリ部27へのアクセスを、リコンフィギュラブル回路12におけるALUにて演算処理した結果をもとに実行する機能をもつ。具体的に、メモリアクセスは、リコンフィギュラブル回路12で生成されたアドレスにより実行される。データをメモリ部27に書き込むとき、リコンフィギュラブル回路12からの2つの出力が、それぞれ書き込み先のアドレスと書き込むデータとなり、データを読み出すとき、リコンフィギュラブル回路12からの1つの出力が、読み出すアドレスとなる。このメモリアクセス機能を実現するため、コンパイル部30は、メモリ部27へのアクセスが可能なノードを含むDFGを生成する。メモリアクセスには、書込動作のアドレス、データ、イネーブル、読出動作のアドレス、イネーブルが必要となるが、処理装置10では、イネーブル信号は設定部14より供給されるものとする。したがって、ALU上でメモリ部27のアクセスに必要なノードは、書込アドレスを指定するw_addr、書込データを特定するw_data、読出アドレスを指定するr_addrの3種類となる。
処理装置10において、配列は、値を格納して保管する役割をする回路とみなすことができる。従って、配列で記述されたプログラムは、図1のメモリ部27を利用して値を保管する動作となる。同じ配列名の配列に納められているデータは、図1に示すメモリ部27において、その配列の先頭の配列を納める番地を基準の先頭アドレス値として、相対値でアドレス管理されるものとする。したがって、配列を格納するアドレスは、先頭アドレス値に相対値を加算したアドレスとなる。
図6(a)は、変数の値を配列に入力するプログラム例を示し、図6(b)は、図6(a)のプログラム処理をDFG化した表現を示す。図6(a)に示すプログラムは、メモリ部27にデータを書き込む動作であり、ALUに割り当てる機能としては、w_addrノード、w_dataノードの2つのノードが必要となる。w_addrノードおよびw_dataノードは、同時にメモリ部27にデータを出力する必要があるため、図6(b)に示すように、w_addrノードおよびw_dataノードの段は同じにする。なお、w_addrノードの一方の入力には、同じ配列名の配列の先頭アドレス値が入力される。w_addrノードおよびw_dataノードの出力は、それぞれメモリ部27のアドレスポートおよびデータポートに供給される。
図7(a)は、配列の値を変数に入力するプログラム例を示し、図7(b)は、図7(a)のプログラム処理をDFG化した表現を示す。図7(a)に示すプログラムは、メモリ部27からデータを読み出す動作であり、ALUに割り当てる機能としては、r_addrノードが必要となる。r_addrノードの一方の入力には、同じ配列名の配列の先頭アドレス値が入力される。r_addrノードの出力は、メモリ部27のアドレスポートに出力される。
図8(a)は、配列の値を配列に入力するプログラム例を示し、図8(b)は、図8(a)のプログラム処理をDFG化した表現を示す。図8(a)に示すプログラムは、メモリ部27からデータを読み出して、メモリ部27にデータを書き込む動作であり、ALUに割り当てる機能としては、w_addrノード、w_dataノード、r_addrノードが必要となる。この場合、2つの配列c、dは別の配列であるため、w_addrノードの先頭アドレスとr_addrノードの先頭アドレスは別の値となる。このとき、w_dataノードはw_addrノードとタイミングを調整するための演算となり、データをスルーさせるnopノードとなる。
本実施例では、コンパイル部30が、演算処理の出現回数を調べて、どれくらいの頻度で出現しているかを判断する。出現回数を調査する演算処理は、図4から図8に示したような処理であってもよく、また、ALUの基本演算機能として組み込まれている演算処理であってもよい。C記述プログラムからDFGを作成する場合、コンパイル部30は、各種演算や各種の構文を解析してDFGを作成するのと同時に、同一演算の出現回数を調査する。上記w_addrノードとr_addrノードは、先頭アドレス値と相対アドレス値とを加算する処理であり、基本機能としてALUが有する加算演算と同じであるが、C記述では加算演算と配列処理は別の処理であるため、それぞれは別の演算処理としてカウントする。そして、コンパイル部30は、出現回数の多い演算から順番に番号を割り当てておく。なお、出現回数を調べる範囲は、例えばDFGの所定段数分、例えば数百段分を単位としてもよい。
DFGは上から下に向けて処理されるものであり、リコンフィギュラブル回路12においては、左側ないしは右側から詰めてマッピングされる。特に、図3に示すように、上下段のALU間において接続制限がかけられる場合には、上段のALU出力を下段のALU入力とする場合に、使用するALUが近傍に位置する必要がある。演算処理を効率的に実行するために、DFGは、左側または右側に固めてマッピングされる必要がある。
DFGをリコンフィギュラブル回路12に左詰めにマッピングする場合、DFGを3段×6列のALUアレイにマッピング可能なように分割して作成(以下では、サブDFGと呼ぶ)することとなり、3段×6列のALUアレイの全てのALUを使用することは稀となる。そのため、ALUを有効に活用することができず、特に右列のALUについては未使用のものが多々出現する。
したがって、本実施例の処理装置10では、この右列未使用のALUに、出現回数の多い演算をマッピングすることとする。例えば、右2列を出現回数の多い演算をマッピングする専用領域とし、左4列を従来と同じマッピング領域とする。専用領域におけるALUには、所定の期間中、常に同一の演算処理がマッピングされる。専用領域の演算を固定とすることで、ALUの機能切替にともなう電力消費を低減することが可能となる。また専用領域の設定方法として、DFGは逆三角形の形をすることが多いので、右列の下側に存在するALUのみを専用領域として設定してもよい。
また、所定の期間の前半は演算Aを専用領域にマッピングし、後半は演算Bを専用領域にマッピングすることも可能である。この場合、所定期間の前半部分に演算Aの発生頻度が高く、後半部分に演算Bの発生頻度が高いことが好ましく、このように専用領域にマッピングする演算を決定することで、専用領域においてマッピングする演算を切り替える頻度を少なくできる。
なお、コンパイル部30は、出現回数に基づいて専用領域にマッピングする演算を定めるのではなく、出現回数の多いことが想定される演算を、専用領域にマッピングしてもよい。この場合、コンパイル部30は、演算処理の出現回数をカウントする必要はなく、特定の演算について、専用領域にマッピングするDFGを作成すればよい。
例えば、出現回数が最も多い演算は加算、減算、nopノードなどが考えられるが、これらとは別に、出現回数が多いことが予測される演算に、条件文演算と配列アクセス演算などもある。条件文演算の例は図5に、配列アクセス演算の例は図6、図7、図8に示したとおりである。
図9は、リコンフィギュラブル回路12の右2列を専用領域とした場合にマッピングする回路例を示す。ここでは、ALU15にw_addrノード、ALU16にw_dataノード、ALU25に条件文演算の等号(==)ノード、ALU26にr_addrノード、ALU35にマージノードをマッピングしている。なお、図9に示す接続部52a、52b、52cには、経路部29を介してデータを供給(途中入力)することができ、また接続部52a、52b、52cからメモリ部27にデータを出力(途中出力)できるものとする。
条件文演算の結果はすぐ次のALUで使用する場合があるので、マージノードを最下位段のALUにマッピングする。また、条件比較結果、ここでは等号比較結果が真か偽かのデータはマージノードにのみ接続されるため、等号ノードはマージノードの真上に配置される。次に、配列アクセス演算は次のALUで使用するものでなく、メモリ部27にアクセスするものであるため、途中出力としてALUから出力すればよい。左側の3段4列のALU領域の接続部は、図3に示したように接続制限されていてもよいが、接続制限を設けない場合、上段の4箇所からのALU出力と、途中入力などから1つを選択するマルチプレクサとして構成される。右2列の専用領域に対しても同様に、上段左側の4箇所からのALU出力と、途中入力などから1つを選択するマルチプレクサとして構成される。なお、途中入力とは別に、各接続部52に定数を外部から入力する定数入力を設けてもよく、この場合は、接続部52に設けられたマルチプレクサが、この定数入力を選択肢の一つとして追加する。また、途中入力、定数入力の本数が増えた場合には、マルチプレクサは、その分も選択肢として追加すればよい。右2列の専用領域にマッピングされた演算処理は、接続部により選択されたデータを用いて実行され、下段ないしはメモリ部27に出力される。
以上述べた回路は、実行するアプリケーションが変わると専用領域に割り当てる演算処理も変更され、その時々に最適な演算処理がマッピングされる。また、アプリケーションに応じて専用領域の大きさを変更することもでき、アプリケーションに応じた最適な専用領域を確保できる。本実施例の処理装置10によると、専用領域のALUに対しては、1クロックごとにALUの機能、ALU間配線を変更しないため、機能および配線変更にともなう電力消費を低減することが可能となる。また、通常の演算処理にとって利用率の低いALUの領域を使用することにより、ALUの利用率を上げることができる。また、専用領域を設けることで、処理の並列度が増し、処理装置10の処理能力を向上できる。
以上、本発明を実施例をもとに説明した。実施例は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
実施例に係る処理装置の構成図である。 リコンフィギュラブル回路の構成の一例を示す図である。 リコンフィギュラブル回路におけるALU間の接続関係を示す図である。 (a)はfor文によるループ制御を記述したプログラム例を示す図であり、(b)は(a)のプログラムの処理を示す図であり、(c)はインクリメント演算をDFG化した表現を示す図である。 (a)は条件分離文のプログラム例を示す図であり、(b)は(a)のプログラム処理をDFG化した表現を示す図である。 (a)は変数の値を配列に入力するプログラム例を示す図であり、(b)は(a)のプログラム処理をDFG化した表現を示す図である。 (a)は配列の値を変数に入力するプログラム例を示す図であり、(b)は(a)のプログラム処理をDFG化した表現を示す図である。 (a)は配列の値を配列に入力するプログラム例を示す図であり、(b)は(a)のプログラム処理をDFG化した表現を示す図である。 リコンフィギュラブル回路の右2列を専用領域とした場合にマッピングする回路例を示す図である。
符号の説明
10・・・処理装置、12・・・リコンフィギュラブル回路、14・・・設定部、18・・・制御部、22・・・出力回路、27・・・メモリ部、30・・・コンパイル部、32・・・設定データ生成部、34・・・記憶部。

Claims (3)

  1. 機能の変更が可能な複数の論理回路を備えたリコンフィギュラブル回路と、前記論理回路の機能を設定する設定部とを備えた処理装置であって、
    前記設定部は、前記複数の論理回路のうちの少なくとも一部の機能を、所定期間の間、同一の機能に設定することを特徴とする処理装置。
  2. 前記設定部により同一に設定される機能は、所定期間の間の出現頻度が高い機能であることを特徴とする請求項1に記載の処理装置。
  3. 前記設定部により同一に設定される機能は、所定の処理を実現する機能であることを特徴とする請求項1に記載の処理装置。

JP2004250669A 2004-08-30 2004-08-30 処理装置 Pending JP2006065786A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004250669A JP2006065786A (ja) 2004-08-30 2004-08-30 処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004250669A JP2006065786A (ja) 2004-08-30 2004-08-30 処理装置

Publications (1)

Publication Number Publication Date
JP2006065786A true JP2006065786A (ja) 2006-03-09

Family

ID=36112194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004250669A Pending JP2006065786A (ja) 2004-08-30 2004-08-30 処理装置

Country Status (1)

Country Link
JP (1) JP2006065786A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100271668A1 (en) * 2009-04-27 2010-10-28 Canon Kabushiki Kaisha Image processing apparatus and method for controlling the same
JP2012181824A (ja) * 2011-02-08 2012-09-20 Canon Inc 再構成デバイス、処理割当て方法及びプログラム
JP2012248114A (ja) * 2011-05-30 2012-12-13 Canon Inc 情報処理装置、情報処理装置の制御方法、およびプログラム
JP2019506695A (ja) * 2016-01-26 2019-03-07 アイキャット・エルエルシー 再構成可能アルゴリズムによるパイプラインコアおよびアルゴリズムマッチングパイプラインコンパイラを有するプロセッサ

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001111413A (ja) * 1999-10-07 2001-04-20 Fuji Xerox Co Ltd 情報処理装置
JP2002007161A (ja) * 2000-06-26 2002-01-11 Fuji Xerox Co Ltd 情報処理システム及び情報処理方法
JP2003347930A (ja) * 2002-05-28 2003-12-05 Konica Minolta Holdings Inc プログラマブル論理回路及びコンピュータシステム並びにキャッシュ方法
JP2004221997A (ja) * 2003-01-15 2004-08-05 Sanyo Electric Co Ltd リコンフィギュラブル回路とそれを利用可能な集積回路装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001111413A (ja) * 1999-10-07 2001-04-20 Fuji Xerox Co Ltd 情報処理装置
JP2002007161A (ja) * 2000-06-26 2002-01-11 Fuji Xerox Co Ltd 情報処理システム及び情報処理方法
JP2003347930A (ja) * 2002-05-28 2003-12-05 Konica Minolta Holdings Inc プログラマブル論理回路及びコンピュータシステム並びにキャッシュ方法
JP2004221997A (ja) * 2003-01-15 2004-08-05 Sanyo Electric Co Ltd リコンフィギュラブル回路とそれを利用可能な集積回路装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100271668A1 (en) * 2009-04-27 2010-10-28 Canon Kabushiki Kaisha Image processing apparatus and method for controlling the same
US8599444B2 (en) 2009-04-27 2013-12-03 Canon Kabushiki Kaisha Image processing apparatus and method for controlling the same
JP2012181824A (ja) * 2011-02-08 2012-09-20 Canon Inc 再構成デバイス、処理割当て方法及びプログラム
JP2012248114A (ja) * 2011-05-30 2012-12-13 Canon Inc 情報処理装置、情報処理装置の制御方法、およびプログラム
JP2019506695A (ja) * 2016-01-26 2019-03-07 アイキャット・エルエルシー 再構成可能アルゴリズムによるパイプラインコアおよびアルゴリズムマッチングパイプラインコンパイラを有するプロセッサ
JP7015249B2 (ja) 2016-01-26 2022-02-02 アイキャット・エルエルシー 再構成可能アルゴリズムによるパイプラインコアおよびアルゴリズムマッチングパイプラインコンパイラを有するプロセッサ

Similar Documents

Publication Publication Date Title
US7577821B2 (en) IC containing matrices of plural type operation units with configurable routing wiring group and plural delay operation units bridging two wiring groups
CN109716318B (zh) 配置硬件在运行时期间多种模式下操作的装置和方法
US7895586B2 (en) Data flow graph processing method, reconfigurable circuit and processing apparatus
US7953956B2 (en) Reconfigurable circuit with a limitation on connection and method of determining functions of logic circuits in the reconfigurable circuit
US7941794B2 (en) Data flow graph processing method and processing apparatus provided with reconfigurable circuit
US7120903B2 (en) Data processing apparatus and method for generating the data of an object program for a parallel operation apparatus
JP4484756B2 (ja) リコンフィギュラブル回路および処理装置
EP0668659A2 (en) Reconfigurable ASIC
US7352205B2 (en) Reconfigurable switching device parallel calculation of any particular algorithms
JP2006099719A (ja) 処理装置
JP3990332B2 (ja) データ処理システム
US7509479B2 (en) Reconfigurable global cellular automaton with RAM blocks coupled to input and output feedback crossbar switches receiving clock counter value from sequence control unit
JP2006065786A (ja) 処理装置
JP4260086B2 (ja) データフローグラフ生成装置、処理装置、リコンフィギュラブル回路。
JP2006065788A (ja) リコンフィギュラブル回路を備えた処理装置
JP4468452B2 (ja) グローバルセルオートマトンを組み込むためのリコンフィギュアラブルなアーキテクチャをもつコンピュータ装置
JP4436734B2 (ja) 処理装置
JP2006018411A (ja) プロセッサ
JP4562679B2 (ja) データフローグラフ生成装置
JP2005276854A (ja) 処理装置
JP4610236B2 (ja) 設定データ生成装置
JP4330472B2 (ja) 処理装置
JP4562678B2 (ja) データフローグラフ再構成装置、リコンフィギュラブル回路の設定データ生成装置、及び処理装置
JP4413052B2 (ja) データフローグラフ処理装置および処理装置
JP5882714B2 (ja) リコンフィギュラブルプロセッサの制御方法及びリコンフィギュラブルプロセッサのコンフィギュレーション情報を生成する方法及びコンフィギュレーション情報生成ツール

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091006

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100629

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101026