JP2002526826A - リコンフィギュレーション可能な回路を用いて個別アルゴリズムを実行するための方法およびこのような方法を実施するための装置 - Google Patents
リコンフィギュレーション可能な回路を用いて個別アルゴリズムを実行するための方法およびこのような方法を実施するための装置Info
- Publication number
- JP2002526826A JP2002526826A JP2000572752A JP2000572752A JP2002526826A JP 2002526826 A JP2002526826 A JP 2002526826A JP 2000572752 A JP2000572752 A JP 2000572752A JP 2000572752 A JP2000572752 A JP 2000572752A JP 2002526826 A JP2002526826 A JP 2002526826A
- Authority
- JP
- Japan
- Prior art keywords
- algorithm
- assigned
- executed
- predetermined
- algorithms
- 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
Links
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
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)
- Logic Circuits (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
て実行するための方法およびこのような方法を実施するための装置に関する。
ている。2つまたは複数のアルゴリズムを同時にまたは個別の比較的大きなアル
ゴリズムを実行するためにこのような回路のリソースでは十分でないことがしば
しばある。
て実行されるようになっているより多くのリソースを必要とする比較的大きなア
ルゴリズムは一般に、複数の部分アルゴリズムに分割される。部分アルゴリズム
のそれぞれは、それ自体ここでも1つのアルゴリズムを表しておりかつ回路がこ
の部分アルゴリズムを実行するための十分なリソースを有しているように選択さ
れている。
れる:これら部分アルゴリズムのそれぞれが、これら部分アルゴリズムに対して
コンフィギュレーションされる回路によって実行されかつ1つの部分アルゴリズ
ムの実行後、次にくる部分アルゴリズムが実行され、ここで回路は、この次にく
る部分アルゴリズムが前者の部分アルゴリズムとは異なっている限り、前者の部
分アルゴリズムの実行後に、次にくる部分アルゴリズムに対してコンフィギュレ
ーション変換される。
リズムの本来の実行ないし処理の期間中に、比較的大きなアルゴリズムのこれら
部分アルゴリズムのどれが実際に必要とされるかがわかる。コンパイル時、すな
わち実行時間の前には、どの部分アルゴリズム、ひいては回路のコンフィギュレ
ーションが実際に必要とされるについての示唆は存在していない。
コンフィギュレーション可能な回路でも実行するための方策は次の点にある:こ
の回路を例えば、比較的大きなアルゴリズムのすべての部分アルゴリズムに対す
る前以て決められているプログラムフローに相応して、順次個別にコンフィギュ
レーションするのである。その際、必要とされる、コンフィギュレーションされ
る部分アルゴリズムのみが実行される。部分アルゴリズムが必要とされなければ
、この部分アルゴリズムのコンフィギュレーションはこの部分アルゴリズムの実
行なしに消去される。
回路のコンフィギュレーションのためには、高い実行時間が要求される。従って
、実行の期間に早期に、必要なコンフィギュレーションを認識しかつロードする
方法が必要とされる。
iques for Dynamically Reconfigurable Logic”(Reiner W. Hartenstein, Man
fred Glesner(Eds.):“Field-Programmable Logic, Smart Applications, Ne
w Paradigms and Compilers”6th International Workshop on Field-Program
mable Logic and Application, FPL' 96, Darmstadt, Germany, September 23-2
5, 1996, Proceedings, Springer-Verlag, S290-296)から、比較的大きなアル
ゴリズムの個々の部分アルゴリズムを回路においてコンフィギュレーションする
順序をコンパイル時に計算することが公知である。その際リコンフィギュレーシ
ョンコントローラが維持され、そこでは部分アルゴリズムをコンフィギュレーシ
ョンするシーケンスは固定である。その際コンフィギュレーションすべきである
正しい部分アルゴリズムを突き止めるために、分岐の結果が必要とされる。
ための十分なリソースを有しているリコンフィギュレーション可能な回路を用い
て実行するための方法であって、実行すべきアルゴリズムが回路において時間的
に相次いでコンフィギュレーションされかつ実行されるという方法において、ど
のようにしたら実行時間を短縮することができるかを示すことである。
フィギュレーションされる回路によって実行しかつ1つのアルゴリズムの実行の
期間に、次にくるアルゴリズムを実行し、ここで前記回路は、一方のアルゴリズ
ムの実行の期間に既に、少なくとも、該次にくるアルゴリズムが前記一方のアル
ゴリズムとは異なっている場合には、該次にくるアルゴリズムに対してコンフィ
ギュレーション変換される。
る部分アルゴリズムが回路においてコンフィギュレーションされかつ場合によっ
ては、一方のアルゴリズムの実行時間の期間に既に、次にくる部分アルゴリズム
動作を開始することができる。これに対する前提条件は確かに、この形式にダイ
ナミックにコンフィギュレーション可能である回路である。これに適しているの
は、Xilinx 社の所定の製品、例えばこの形式のダイナミックなコンフィギュレ
ーションに対する基礎となっている可能性を既に提供するモジュールXC62x
xである。モジュールのコンフィギュレーションはメモリの書き込みのように行
うことができる。コンフィギュレーションメモリセルはアドレス指定されかつ引
き続いて書き込まれる。これによりこのモジュールは実行時間の期間にコンフィ
ギュレーションすることができる。
フィギュレーションされる回路によって実行しかつ1つのアルゴリズムの実行の
期間および/または実行の後に、次にくるアルゴリズムを実行し、ここで前記回
路は、一方のアルゴリズムの実行の期間および/または実行の後に、少なくとも
、該次にくるアルゴリズムが前記一方のアルゴリズムとは異なっている場合には
、該次にくるアルゴリズムに対してコンフィギュレーション変換され、ここで少
なくとも1つの所定のアルゴリズムに少なくとも2つのアルゴリズムが配属され
ており、該アルゴリズムのそれぞれは、それぞれ別の確率を以て、前者の所定の
アルゴリズムの実行の期間および/または実行後に次にくるアルゴリズムとして
実行されるために考慮されるものであり、後者の配属されているアルゴリズムの
うち、最大の確率を有するものが、次にくるアルゴリズムとして実際に実行され
る。
ギュレーションの順序がコンパイル時に計算されかつスタチックな方法である先
に述べた公知の方法に比べて、所定のアルゴリズムに対して次にくる部分アルゴ
リズムとして実行されるべきであるアルゴリズムを一層早期に推定することがで
きるという利点を有しており、これによりコンフィギュレーションおよび計算の
間の並行性、ひいてはシステムパフォーマンスが高められ、殊に実行時間が短縮
される。
回路をコンフィギュレーションすることができおよび/または回路は、次にくる
アルゴリズムに対するアルゴリズムの実施後の期間に回路をコンフィギュレーシ
ョンすることができ、すなわちダイナミックにコンフィギュレーションすること
ができる。
ーションされるかまたは実施の期間にコンフィギュレーションされるかに無関係
に、この方法自体はダイナミックな方法である。というのは、後続のアルゴリズ
ムは定まっておらず、確率が突き止められるからである。
ギュレーションを実行時間が一層短縮されるようにしている。
ズムに少なくとも2つのアルゴリズムが配属されていうことを前提として、これ
らアルゴリズムのそれぞれが、それぞれ別の所定の確率を以て、この所定のアル
ゴリズムの実行期間および/または実行後に次にくるアルゴリズムとして実行さ
れるために考慮されるものであるということ、およびこれらの配属されているア
ルゴリズムのうち、最大の確率を有しているものが次にくるアルゴリズムとして
実際に実行されるということにある。このことは、これらの配属されているアル
ゴリズムのそれぞれの確率がこれらアルゴリズムすべてに対して同じであること
は許されないこと、およびこれらのアルゴリズムには、相対的に最大の確率を有
する個別のアルゴリズムがあるということを意味している。
法では、付加的な情報としてわかっていなければならない。この付加的な情報が
ないと、それぞれ1つの所定のアルゴリズムに配属されている2つのアルゴリズ
ムの場合、この所定のアルゴリズムの実行期間および/または実行後に次にくる
アルゴリズムとして実行される確率はそれぞれ50%であって、この情報がない
と、確実な決定を下すことができない。
:所定のアルゴリズムに配属されておりかつ該所定のアルゴリズムの実行の期間
および/または実行後に次にくるアルゴリズムとして実行されるために考慮され
るそれぞれのアルゴリズムに対して、該他方の配属されているアルゴリズムのそ
れぞれに比較して、一方の配属されているアルゴリズムが過去において前記所定
のアルゴリズムの実行の期間および/または実行後に次にくるアルゴリズムとし
て何回実行されたかを求め、ここで前記所属のアルゴリズムのうち、当該過去に
おいて比較的に最も頻繁に実行されたものが、前記所定のアルゴリズムの今回の
実行の期間および/または実行後に次にくるアルゴリズムとして実施されるため
に最大の確率を有している。
が例えば、所定のアルゴリズムの実行の期間および/または実行後に次にくるア
ルゴリズムとして実行されるために考慮される2つの配属されているアルゴリズ
ムを有しておりかつ近い過去において一方の配属されているアルゴリズムが次に
くるアルゴリズムよりも頻繁に選択されたのであるならば、この配属されている
アルゴリズムが比較的大きな確率を以て必要とされることから出発することがで
きる。ここでは確率は、1つの配属されているアルゴリズムが比較的頻繁に生じ
ることが確かであるというように考えたい。
ゴリズムの実行の期間および/または実行後に次にくるアルゴリズムとして実行
されるために考慮されるそれぞれのアルゴリズムに対して、前記配属されている
アルゴリズムが前記所定のアルゴリズムに対して次にくるアルゴリズムとしてま
だ実行されていない場合には、該配属されているアルゴリズムすべてに対して同
じ初期値をとる変化する数をその都度割り当て、ここで該配属されているアルゴ
リズムが所定のアルゴリズムに対して次にくるアルゴリズムとして実行されると
き、該配属されているアルゴリズムの数は所定の値だけ該数の極値に向かう方向
において変化され、ここで極値は該配属されているアルゴリズムすべてに対して
所定で同じであり、一方同時に、所定のアルゴリズムに対して次にくるアルゴリ
ズムとして実行されないそれぞれ他方の配属されているアルゴリズムの数は所定
の値だけ極値から低減する方向において変化され、前記数が最初に極値に達する
配属されているアルゴリズムが、所定のアルゴリズムの現在の実行の期間および
/または実行後に次にくるアルゴリズムとして実行されるための最大の確率を有
している。
配属されておりかつ該所定のアルゴリズムの実行の期間および/または実行後に
次にくるアルゴリズムとして実行されるために考慮されるそれぞれのアルゴリズ
ムに、それぞれアップ・ダウンカウンタが配属されており、ここでそれぞれのカ
ウンタにおいて、前記配属されているアルゴリズムが前記所定のアルゴリズムに
対する次にくるアルゴリズムとしてまだ実行されていない限り、該配属されてい
るアルゴリズムの数を表示している計数状態は該数の初期値に調整設定されてお
り、ここで該カウンタは次のように制御されるようになっている: カウンタの前記配属されているアルゴリズムが所定のアルゴリズムに対して次に
くるアルゴリズムとして実行されるとき、該カウンタの計数状態は所定の値だけ
該計数状態の極値に向かう方向において変化され、一方同時に、配属されている
アルゴリズムが所定のアルゴリズムに対して次にくるアルゴリズムとして実行さ
れないそれぞれ別のカウンタの計数状態は所定の絶対値だけ極値から低減する方
向において変化され、ここで 当該カウンタが最初に極値に達する配属されているアルゴリズムが、所定のアル
ゴリズムの現在の実行の期間および/または実行後に次にくるアルゴリズムとし
て実行されるための最大の確率を有している。
テムにおけるコンフィギュレーションの際に時間節約が可能になる。実現の際に
は、飛び越し予測ユニット(Branch Prediction)の場合と類似した技術を使用
することができる。
: 図1は、実行すべき種々異なったアルゴリズムに対して時間的に順次コンフィギ
ュレーションすべきであるリコンフィギュレーション可能な回路を略示しており
、ここで1つのアルゴリズムから矢印が示すアルゴリズムは上述のアルゴリズム
の実行の間または実行後に実行されるべきものであり、かつ 図2は、次に続くアルゴリズムとして実行されるべきである最大の確率を有する
アルゴリズムを求めるための装置のブロック線図を示す。
る矩形のブロックによって象徴的に示されている。回路1は1つのアルゴリズム
を実行するようにコンフィギュレーションされかつ別のアルゴリズムを実行する
ようにコンフィギュレーション変換することができる。
を有していなければならない。1つのアルゴリズムが比較的大きく、その結果こ
のアルゴリズムを実行するために回路1のリソースが十分でなければ、次のよう
に処置することができる:この比較的大きなアルゴリズムを比較的小さな部分ア
ルゴリズムに分割して、これら部分アルゴリズムのそれぞれを実行するために回
路1のリソースが十分であるようにし、かつこれら部分アルゴリズムを順次処理
する。
ゴリズムに対するコンフィギュレーションを廃棄しかつ回路1に次の部分アルゴ
リズムに対するコンフィギュレーションをインプリメンテーションすることがで
きる。この計算の中間結果を回路におけるこの回路1および/または外部メモリ
に保持して、これにより計算が続行されるようにすることができる。これにより
、大きなアルゴリズムを比較的小さなリコンフィギュレーション可能な回路1に
おいて例えばPFGA(Feld-Programmierbares Gate Array)の形において処理
することができる。
間に、回路1におけるこの部分アルゴリズムに対するコンフィギュレーションの
もはや必要とされない部分を次の別の部分アルゴリズムに対して既にコンフィギ
ュレーション変換し、一方この部分アルゴリズムに対するコンフィギュレーショ
ンの別の部分がこのアルゴリズムに基づいて引き続き計算するようにすれば、有
利である。この並列化によって、速度面での利点が実現される。
計算の次にくる部分アルゴリズムは実時点の計算に依存している。このことは殊
に、所定の部分アルゴリズムに2つの部分アルゴリズムが配属されており、これ
らのそれぞれが実時点の計算に依存して、次にくる部分アルゴリズムとして問題
になるような場合に当てはまる。これにより、次にくる部分アルゴリズムは、漸
く後で、すなわち配属されている2つの部分アルゴリズムのいずれが次にくる部
分アルゴリズムとして実行されるべきであるかの条件の計算後に、突き止められ
ることができる。
分アルゴリズムに配属されておりかつそれぞれが次にくる部分アルゴリズムとし
て問題になる2つまたは複数の部分アルゴリズムのうち、実行すべき次にくる部
分アルゴリズムとして、ランダムに1つを選択する。これが正しい次にくる部分
アルゴリズムであれば、この部分アルゴリズムに対する回路1のコンフィギュレ
ーションのための時間は低減される。誤っていれば、決定は補正されなければな
らない、すなわちこれまでのコンフィギュレーションは廃棄されかつ回路1の新
しいコンフィギュレーションがスタートされる。次にくる部分アルゴリズムの可
能性が2つである場合には、正しい部分アルゴリズムがコンフィギュレーション
されるチャンスは50%である。本発明はこの確率を一層高めるための手法を提
供する。
ズムに対して時間的に順次コンフィギュレーションすることができるコンフィギ
ュレーション可能な回路であって、ここでは1つのアルゴリズムから矢印が示す
アルゴリズムは前者のアルゴリズムの実行の期間または実行後に実行されるべき
ものであり、この回路図は、同一の回路1において、順次例えば最大5つのアル
ゴリズムa,b,c,dおよびeが実施され、回路1に対してその都度コンフィ
ギュレーションすることができるようになっているというダイナミックなコンフ
ィギュレーションのシーケンスプランを示している。
ストアップされておりかつ矢印によって、これらアルゴリズムaないしeのいず
れが直接相次いで実行されるべきであるかが分かるように示されている。
ゴリズムであってよい。
図1においては、各アルゴリズムを示しているアルファベットがこの回路のブロ
ック内に収められているように図示されている。
れによって始めることができる。例えば、アルゴリズムaを以て処理が始まるも
のと仮定する。
る回路1から1つの矢印がアルゴリズムbに対してコンフィギュレーションされ
ている回路1を示しかつ別の矢印がアルゴリズムcに対してコンフィギュレーシ
ョンされている回路1を示している。このことは、アルゴリズムaが、これに2
つのアルゴリズム、ここではアルゴリズムbおよびcが配属されている所定のア
ルゴリズムであることを意味している。この2つのアルゴリズムのそれぞれは、
それぞれ別の所定の確率を以て、このアルゴリズムaの実行の期間および/また
はこの実行の後次にくるアルゴリズムとして実行される対象である。
対して当てはまる。この回路1から1つの矢印がアルゴリズムcに対してコンフ
ィギュレーションされる回路1にでており、別の矢印がアルゴリズムd自体に対
してコンフィギュレーションされる回路1にでておりかつもう1つの矢印がアル
ゴリズムeに対してコンフィギュレーションされる回路1にでている。このこと
は、アルゴリズムdが、これに3つのアルゴリズム、ここではアルゴリズムc,
dおよびeが配属されている所定のアルゴリズムであることを意味している。こ
れらアルゴリズムのそれぞれは、それぞれ別の所定の確率を以て、このアルゴリ
ズムdの実行の期間および/またはこの実行の後次にくるアルゴリズムとして実
行される対象である。
印が、アルゴリズムeに対してコンフィギュレーションされる回路1を示してい
る。このことは、アルゴリズムbの実行中および/または実行後、アルゴリズム
eだけが次にくるアルゴリズムとして実行されることを意味している。同じこと
は、アルゴリズムcおよびeに対しても当てはまり、すなわちアルゴリズムbの
実行中および/または実行後、アルゴリズムdだけが次にくるアルゴリズムとし
て実行されかつアルゴリズムeの実行中および/または実行後、アルゴリズムa
だけが次にくるアルゴリズムとして実行される。というのは、アルゴリズムcか
らは1つの矢印だけがアルゴリズムdを示しかつアルゴリズムeからは1つの矢
印だけがアルゴリズムaを示しているからである。
に対して、この配属されているアルゴリズムbまたはcが他方の配属されている
アルゴリズムcないしdに比較して過去においてアルゴリズムaの実行の期間お
よび/または実行後に次にくるアルゴリズムとしてどの位の回数実行されたかが
求められる。これら2つの配属されているアルゴリズムb,cのうち、過去にお
いて比較的に最も頻繁に実行されたところのアルゴリズムが、所定のアルゴリズ
ムaの現時点の実行の期間および/または実行後に次にくるアルゴリズムとして
実行されるための最大の確率を有している。
c,d,eに対して、この配属されているアルゴリズムcまたはdまたはeがそ
れぞれ他方の配属されているアルゴリズムd,eないしc,eないしc,dに比
較して過去においてアルゴリズムdの実行の期間および/または実行後に次にく
るアルゴリズムとしてどの位の回数実行されたかが求められる。これら3つの配
属されているアルゴリズムc,dおよびeのうち、この過去において比較的に最
も頻繁に実行されたところのアルゴリズムが、所定のアルゴリズムdの現時点の
実行の期間および/または実行後に次にくるアルゴリズムとして実行されるため
の最大の確率を有している。
いしdの現時点の実行の期間および/または実行後に次にくるアルゴリズムとし
て実行される対象であるそれぞれのアルゴリズムb,cないしc,d,eにそれ
ぞれ、それ自体変化する数xが割り当てられる。この数は、これら配属されてい
るすべてのアルゴリズムb,cないしc,d,eに対して、この配属されている
アルゴリズムbまたはcないしcまたはdまたはdまたはeが、この所定のアル
ゴリズムaないしdに対して次にくるアルゴリズムとしてまだ実行されていない
場合には、同じ初期値x0をとる。
数xは、この配属されているアルゴリズムbまたはcないしcまたはdまたはd
またはeが所定のアルゴリズムaないしdに対して次にくるアルゴリズムとして
実行されるとき、これら配属されているすべてのアルゴリズムb,cないしc,
d,eに対して同じである、この数xの所定の極値x1に向かって方向(+)に
所定の絶対値Δxだけ変化され、一方同時に、所定のアルゴリズムaないしdに
対して次にくるアルゴリズムとして実行されないそれぞれ別の配属されているア
ルゴリズムbまたはcないしd,eまたはc,eまたはc,dが極値x1から方
向(−)において所定の絶対値Δxだけ低減方向に変化される。
cないしcまたはdまたはeが、所定のアルゴリズムaもしくはdの現在の実行
の期間および/または実行後に次にくるアルゴリズムとして実行されるための最
大の確率を有している。
ルゴリズムの実行の期間および/または実行後に実行されるための対象になって
いるそれぞれのアルゴリズムに、それぞれ1つのアップ・ダウンカウンタ21,
22,23,24ないし25が配属されている。
および配属されているアルゴリズムdに配属されており、カウンタ22は、a→
cによって示されているように、所定のアルゴリズムaおよび配属されているア
ルゴリズムcに配属されており、カウンタ23は、d→cによって示されている
ように、別の所定のアルゴリズムdおよび配属されているアルゴリズムcに配属
されており、カウンタ24は、d→dによって示されているように、別の所定の
アルゴリズムdおよび配属されている同一のアルゴリズムdに配属されておりか
つカウンタ25は、d→eによって示されているように、別の所定のアルゴリズ
ムdおよび配属されているアルゴリズムeに配属されている。
いるアルゴリズムb,c,c,d,e)の数xを表している計数状態は、この配
属されているアルゴリズムb,c,c,d,eが所定のアルゴリズムaまたはd
に対する次にくるアルゴリズムとしてまだ実行されていない限りには、初期値x
0に調整設定されている。
,24または25の計数状態xは、このカウンタ21,22,23,24または
25の所属のアルゴリズムb,c,dないしeが所定のアルゴリズムaないしd
に対して次にくるアルゴリズムとして実行されるとき、この計数状態xの所定の
極値x1に向かって方向(+)に所定の絶対値Δxだけ変化され、一方同時に、
所属のアルゴリズムb,c;c,dないしeが所定のアルゴリズムaないしdに
対して次にくるアルゴリズムとして実行されないそれぞれ別のカウンタ22ない
し25,21および23ないし25,…ないし21ないし24が極値x1から方
向−において所定の絶対値Δxだけ低減方向に変化される。
c,c,d,eが、所定のアルゴリズムaまたはdの現在の実行の期間および/
または実行後に次にくるアルゴリズムとして実行されるための最大の確率を有し
ている。
ウンタである。これは例えば、所属のアルゴリズムb,c,c,dないしeが、
所定のアルゴリズムaまたはdに対して次にくるアルゴリズムとしてまだ実行さ
れていない限り、初期値x0=00に調整設定されている。
ことができ、その際x=11=x1は、ここでは最大値である極値を形成してい
る。
くるアルゴリズムとして選択されるときはいつでも、このアルゴリズムbまたは
cに配属されているカウンタ21ないし22において計数状態xは絶対値Δx=
1だけ高められ、一方同時に、別の選択されないアルゴリズムcないしbに配属
されているカウンタ22ないし21における計数状態xは絶対値Δx=1だけ低
減される。
にくるアルゴリズムとして選択されるときはいつでも、このアルゴリズムcまた
はdまたはeに配属されているカウンタ23ないし24ないし25において計数
状態xは絶対値Δx=1だけ高められ、一方同時に、別の選択されないアルゴリ
ズムd,eないしc,eないしc,dに配属されているカウンタ24,25ない
し23,25ないし23,24における計数状態xはその都度絶対値Δx=1だ
け低減される。
化することを意味しかつ絶対値Δxを低減することは絶対値Δxを方向−に変化
することを意味している。
ているアルゴリズムが次にくるアルゴリズムとして更新されると、極値x1は維
持される。あるカウンタにおいて初期値x0に達した後も類似して、この値は、
該カウンタに配属されているアルゴリズムが新たに、選択されないときにも維持
される。
の次にくるアルゴリズムが実際に実行されることに当たり最大の確率を有してい
る配属されているアルゴリズムbまたはcないしcまたはdまたはdまたはeを
求めるために、マスクレジスタ3を使用すると効果的である。ここにはそれぞれ
のカウンタ21ないし25にそれぞれ1つの桁が配属されておりかつここでは所
定のアルゴリズムaないしdに配属されているカウンタ21および22ないし2
3および24および25に配属されているそれぞれの桁はそれぞれ値、例えば1
にセットされる。この値は、これらカウンタ21および22ないし23および2
4および25だけの計数状態xへのアクセスを可能にするものである。同時に、
それぞれの別の所定のアルゴリズムdないしaに配属されているすべての桁は別
の値、例えば0にセットされる。この値は、この別の所定の所定のアルゴリズム
dないしaに配属されているカウンタ23および24および25ないし21およ
び22の計数状態xへのアクセスを阻止するものである。
されているすべてのカウンタ21,22ないし23および24および25におけ
る極値x1を探索する。極値x1が1つの場合または極値x1が同じ計数状態に
おいて複数個ある場合、最大値発見器4によって、結果レジスタ5の、当該カウ
ンタ21および/または22ないし23および/または24および/または25
に配属されている桁において、極値x1を指示する値がセットされる。この所定
のアルゴリズムaないしdに対して、配属されているアルゴリズムbまたはcな
いしcまたはdが次にくるアルゴリズムとして選択される。このアルゴリズムの
、結果レジスタ5における桁に、極値x1を指示する値が最初に現れる。
果レジスタ5の最上位の桁がこの値1によって占有されている。このことは殊に
、所定のアルゴリズムaに関連して、次にくるアルゴリズムとして配属されてい
るアルゴリズムbではなくて、配属されているアルゴリズムbが選択されること
を意味している。
ができ、しかもプログラムシーケンスにおける決定がこの時点で計算される必要
はない。誤った次にくるアルゴリズムが選択されたとすれば、プログラムシーケ
ンスにおける決定後直ちに、コンフィギュレーション過程は中断されかつ別のお
よび正しい次にくるアルゴリズムがロードされる。
ションすべきであるリコンフィギュレーション可能な回路のシーケンス図である
。
リズムを求めるための装置のブロック線図である。
Claims (5)
- 【請求項1】 それぞれ個別アルゴリズム(a,b,c,d,e)を実行す
るために十分なリソースを有しているリコンフィギュレーション可能な回路(1
)を用いて個別アルゴリズム(a,b,c,d,e)を実行するための方法であ
って、 実行すべきアルゴリズム(a,b,c,d,e)を前記回路(1)において時間
的に相次いで次のようにして実行する: それぞれのアルゴリズム(a,b,c,d,e)を該アルゴリズム(a,b,c
,d,e)に対してコンフィギュレーションされる回路(1)によって実行し、
かつ 1つのアルゴリズム(a;b;c;d;e)の実行の期間に、次にくるアルゴリ
ズム(b,c;e;d;c,d,e;a)を実行し、ここで前記回路(1)は、
一方のアルゴリズム(a;b;c;d;e)の実行の期間に、少なくとも、該次
にくるアルゴリズム(b,c;e;d;c,d,e;a)が前記一方のアルゴリ
ズム(a;b;c;d;e)とは異なっている場合には、該次にくるアルゴリズ
ム(b,c;e;d;c,d,e;a)に対してコンフィギュレーション変換さ
れる 方法。 - 【請求項2】 それぞれ個別アルゴリズム(a,b,c,d,e)を実行す
るために十分なリソースを有しているリコンフィギュレーション可能な回路(1
)を用いて個別アルゴリズム(a,b,c,d,e)を実行するための方法であ
って、 実行すべきアルゴリズム(a,b,c,d,e)を前記回路(1)において時間
的に相次いで次のようにして実行する: それぞれのアルゴリズム(a,b,c,d,e)を該アルゴリズム(a,b,c
,d,e)に対してコンフィギュレーションされる回路(1)によって実行し、
かつ 1つのアルゴリズム(a;b;c;d;e)の実行の期間および/または実行の
後に、次にくるアルゴリズム(b,c;e;d;c,d,e;a)を実行し、こ
こで前記回路(1)は、一方のアルゴリズム(a;b;c;d;e)の実行の期
間および/または実行の後に、少なくとも、該次にくるアルゴリズム(b,c;
e;d;c,d,e;a)が前記一方のアルゴリズム(a;b;c;d;e)と
は異なっている場合には、該次にくるアルゴリズム(b,c;e;d;c,d,
e;a)に対してコンフィギュレーション変換され、ここで 少なくとも1つの所定のアルゴリズム(a;d)に少なくとも2つのアルゴリズ
ム(b,c;c,d,e)が配属されており、該アルゴリズムのそれぞれは、そ
れぞれ別の確率を以て、前者の所定のアルゴリズム(a,d)の実行の期間およ
び/または実行後に次にくるアルゴリズムとして実行されるために考慮されるも
のであり、 後者の配属されているアルゴリズム(b,c;c,d,e)のうち、最大の確率
を有するものが、次にくるアルゴリズムとして実際に実行される 方法。 - 【請求項3】 所定のアルゴリズム(a;d)に配属されておりかつ該所定
のアルゴリズム(a;d)の実行の期間および/または実行後に次にくるアルゴ
リズムとして実行されるために考慮されるそれぞれのアルゴリズム(b,c;c
,d,e)に対して、該他方の配属されているアルゴリズム(b,c;c,d,
e)のそれぞれに比較して、該一方の配属されているアルゴリズム(b,c;c
,d,e)が過去において前記所定のアルゴリズム(a;d)の実行の期間およ
び/または実行後に次にくるアルゴリズムとして何回実行されたかを求め、ここ
で 前記配属されているアルゴリズム(b,c;c,d,e)のうち、当該過去にお
いて比較的に最も頻繁に実行されたものが、前記所定のアルゴリズム(a;d)
の今回の実行の期間および/または実行後に次にくるアルゴリズムとして実施さ
れるために最大の確率を有している 方法。 - 【請求項4】 所定のアルゴリズム(a,d)に配属されておりかつ該所定
のアルゴリズム(a,d)の実行の期間および/または実行後に次にくるアルゴ
リズムとして実行されるために考慮されるそれぞれのアルゴリズム(b,c;c
,d,e)に対して、 前記配属されているアルゴリズム(b,c;c,d,e)が前記所定のアルゴリ
ズム(a,d)に対して次にくるアルゴリズムとしてまだ実行されていない場合
には、該配属されているアルゴリズム(b,c;c,d,e)すべてに対して同
じ初期値(x0)をとる変化する数(x)をその都度割り当て、ここで 該配属されているアルゴリズム(b,c;c,d,e)が所定のアルゴリズム(
a,d)に対して次にくるアルゴリズムとして実行されるとき、該配属されてい
るアルゴリズム(b,c;c,d,e)の数(x)は所定の絶対値(+Δx)だ
け該数(x)の極値(x1)に向かう方向(+)において変化され、ここで極値
は該配属されているアルゴリズム(b,c;c,d,e)すべてに対して所定で
同じであり、一方同時に、所定のアルゴリズム(a,d)に対して次にくるアル
ゴリズムとして実行されないそれぞれ他方の配属されているアルゴリズム(b,
c;c,d,e)の数(x)は所定の絶対値(Δx)だけ極値(x1)から低減
する方向(−)において変化され、 前記数(x)が最初に極値(x1)に達する配属されているアルゴリズム(b,
c;c,d,e)が、所定のアルゴリズム(a,d)の現在の実行の期間および
/または実行後に次にくるアルゴリズムとして実行されるための最大の確率を有
している 方法。 - 【請求項5】 請求項4に記載の方法を実施するための装置であって、ここ
で 所定のアルゴリズム(a;d)に配属されておりかつ該所定のアルゴリズム(a
;d)の実行の期間および/または実行後に次にくるアルゴリズムとして実行さ
れるために考慮されるそれぞれのアルゴリズム(b,c;c,d,e)に、それ
ぞれアップ・ダウンカウンタ()が配属されており、 ここでそれぞれのカウンタ()において、前記配属されているアルゴリズム(b
,c;c,d,e)が前記所定のアルゴリズム(a;d)に対する次にくるアル
ゴリズムとしてまだ実行されていない限り、該配属されているアルゴリズム(b
,c;c,d,e)の数(x)を表している計数状態は該数(x)の初期値(x
0)に調整設定されており、 該カウンタ()は次のように制御されるようになっている: カウンタ()の前記配属されているアルゴリズム(b,c;c,d,e)が所定
のアルゴリズム(a;d)に対して次にくるアルゴリズムとして実行されるとき
、該カウンタ()の計数状態(x)は所定の絶対値(+Δx)だけ該計数状態(
x)の極値(x1)に向かう方向(+)において変化され、一方同時に、配属さ
れているアルゴリズム(b,c;c,d,e)が所定のアルゴリズム(a;d)
に対して次にくるアルゴリズムとして実行されないそれぞれ別のカウンタ()の
計数状態(x)は所定の絶対値(Δx)だけ極値(x1)から低減する方向(−
)において変化され、 前記カウンタ()が最初に極値(x1)に達する配属されているアルゴリズム(
b,c;c,d,e)が、所定のアルゴリズム(a;d)の現在の実行の期間お
よび/または実行後に次にくるアルゴリズムとして実行されるための最大の確率
を有している 装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19844969.0 | 1998-09-30 | ||
DE19844969 | 1998-09-30 | ||
PCT/DE1999/002936 WO2000019313A2 (de) | 1998-09-30 | 1999-09-15 | Verfahren zur ausführung einzelner algorithmen mittels einer rekonfigurierbaren schaltung und vorrichtung zur durchführung eines solchen verfahrens |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002526826A true JP2002526826A (ja) | 2002-08-20 |
JP3668425B2 JP3668425B2 (ja) | 2005-07-06 |
Family
ID=7882878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000572752A Expired - Fee Related JP3668425B2 (ja) | 1998-09-30 | 1999-09-15 | リコンフィギュレーション可能な回路を用いて個別アルゴリズムを実行するための方法およびこのような方法を実施するための装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6418399B2 (ja) |
EP (1) | EP1116107B1 (ja) |
JP (1) | JP3668425B2 (ja) |
CN (1) | CN1323414A (ja) |
DE (1) | DE59904766D1 (ja) |
WO (1) | WO2000019313A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200052277A (ko) * | 2017-08-03 | 2020-05-14 | 넥스트 실리콘 리미티드 | 설정가능한 하드웨어 런타임 최적화 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1199859B (it) * | 1985-03-06 | 1989-01-05 | Cselt Centro Studi Lab Telecom | Rete locale integrata ad alta velo-cita'riconfigurabile |
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 |
JP3254393B2 (ja) * | 1996-11-19 | 2002-02-04 | 三菱電機株式会社 | 遺伝的アルゴリズムマシン及び遺伝的アルゴリズムマシンの製造方法及び遺伝的アルゴリズムの実行方法 |
-
1999
- 1999-09-15 DE DE59904766T patent/DE59904766D1/de not_active Expired - Lifetime
- 1999-09-15 CN CN99811595A patent/CN1323414A/zh active Pending
- 1999-09-15 EP EP99955716A patent/EP1116107B1/de not_active Expired - Lifetime
- 1999-09-15 WO PCT/DE1999/002936 patent/WO2000019313A2/de active IP Right Grant
- 1999-09-15 JP JP2000572752A patent/JP3668425B2/ja not_active Expired - Fee Related
-
2001
- 2001-03-30 US US09/822,020 patent/US6418399B2/en not_active Expired - Lifetime
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200052277A (ko) * | 2017-08-03 | 2020-05-14 | 넥스트 실리콘 리미티드 | 설정가능한 하드웨어 런타임 최적화 |
JP2020530175A (ja) * | 2017-08-03 | 2020-10-15 | ネクスト シリコン リミテッドNext Silicon Ltd | 構成可能なハードウェアの実行時の最適化 |
JP7245833B2 (ja) | 2017-08-03 | 2023-03-24 | ネクスト シリコン リミテッド | 構成可能なハードウェアの実行時の最適化 |
KR102668340B1 (ko) | 2017-08-03 | 2024-05-22 | 넥스트 실리콘 리미티드 | 설정가능한 하드웨어 런타임 최적화 |
Also Published As
Publication number | Publication date |
---|---|
WO2000019313A2 (de) | 2000-04-06 |
EP1116107A1 (de) | 2001-07-18 |
DE59904766D1 (de) | 2003-04-30 |
US6418399B2 (en) | 2002-07-09 |
EP1116107B1 (de) | 2003-03-26 |
JP3668425B2 (ja) | 2005-07-06 |
CN1323414A (zh) | 2001-11-21 |
US20010047249A1 (en) | 2001-11-29 |
WO2000019313A3 (de) | 2000-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5664192A (en) | Method and system for accumulating values in a computing device | |
US7086057B2 (en) | Task allocation time decision apparatus and method of deciding task allocation time | |
EP0155211B1 (en) | System for by-pass control in pipeline operation of computer | |
US5854922A (en) | Micro-sequencer apparatus and method of combination state machine and instruction memory | |
JP2500079B2 (ja) | プログラムの最適化方法及びコンパイラ・システム | |
US4365311A (en) | Control of instruction pipeline in data processing system | |
JPH0475139A (ja) | ループ並列化装置 | |
US5404539A (en) | Data driven information processor with ring comparing comparator | |
EP0284364A2 (en) | High speed computer system | |
US9513969B2 (en) | Method for the management of task execution in a computer system | |
JP2002526826A (ja) | リコンフィギュレーション可能な回路を用いて個別アルゴリズムを実行するための方法およびこのような方法を実施するための装置 | |
US20080215859A1 (en) | Computer with high-speed context switching | |
US6519655B1 (en) | Message preprocessing operations indicated by an associated descriptor read and descriptors belonging to a category of preprocessing descriptors and a category of instruction descriptors | |
CN100543668C (zh) | 信息处理装置及信息处理方法 | |
US20040025151A1 (en) | Method for improving instruction selection efficiency in a DSP/RISC compiler | |
CN1163866C (zh) | 用于产生音乐数据的装置和方法 | |
CN110825461A (zh) | 数据处理方法和装置 | |
JPH01118931A (ja) | プログラム変換方式 | |
US7062633B1 (en) | Conditional vector arithmetic method and conditional vector arithmetic unit | |
CN110716747B (zh) | 基于函数参数统计的程序运行效率优化方法及终端设备 | |
US20040078791A1 (en) | Method and apparatus for compiling code | |
CN104050034A (zh) | 用于静态调度处理器的无阻塞执行的设备和方法 | |
CN112579272B (zh) | 微指令分发方法、装置、处理器和电子设备 | |
EP0735459A1 (en) | Fuzzy processor with improved architecture | |
Schroder | Top-down designs of instruction systolic arrays for polynomial interpolation and evaluation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040109 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040119 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040408 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040811 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20041108 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20041115 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050210 |
|
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: 20050309 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050408 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090415 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100415 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100415 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110415 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120415 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130415 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130415 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140415 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |