JP2004538675A - データ加工および/またはデータ処理方法および装置 - Google Patents

データ加工および/またはデータ処理方法および装置 Download PDF

Info

Publication number
JP2004538675A
JP2004538675A JP2002570052A JP2002570052A JP2004538675A JP 2004538675 A JP2004538675 A JP 2004538675A JP 2002570052 A JP2002570052 A JP 2002570052A JP 2002570052 A JP2002570052 A JP 2002570052A JP 2004538675 A JP2004538675 A JP 2004538675A
Authority
JP
Japan
Prior art keywords
clock
cell
configuration
data processing
cells
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
JP2002570052A
Other languages
English (en)
Other versions
JP4011488B2 (ja
Inventor
マルティン フォアバッハ
フォルカー バウムガルテ
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.)
PACT XPP Technologies AG
Original Assignee
PACT XPP Technologies AG
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
Priority claimed from PCT/EP2001/006703 external-priority patent/WO2002013000A2/de
Priority claimed from PCT/EP2001/008534 external-priority patent/WO2002008964A2/de
Priority claimed from US09/967,847 external-priority patent/US7210129B2/en
Priority claimed from PCT/EP2001/011593 external-priority patent/WO2002029600A2/de
Application filed by PACT XPP Technologies AG filed Critical PACT XPP Technologies AG
Priority claimed from DE10129237A external-priority patent/DE10129237A1/de
Publication of JP2004538675A publication Critical patent/JP2004538675A/ja
Application granted granted Critical
Publication of JP4011488B2 publication Critical patent/JP4011488B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Logic Circuits (AREA)
  • Read Only Memory (AREA)
  • Power Sources (AREA)
  • Information Transfer Systems (AREA)
  • Multi Processors (AREA)

Abstract

本発明は、種々異なっているコンフィギュレーション状態において作動可能である、クロッキングされる論理セル(PAE)のフィールドと、論理セルクロッキングを前以て決めるためのクロック予設定手段とを備えてなるデータ処理ユニット(VPU)に関する。この場合クロック予設定手段が、状態に依存して少なくとも1つの第1のセル(PAE)に第1のクロックを前以て決めかつ少なくとも1つの別のセルに別のクロックを前以て決めるように構成されているようになっている。

Description

【技術分野】
【0001】
本発明は、独立請求項1の上位概念に記載の出発技術に関し、従ってデータ処理の際に使用のハードウェアの最適化をどのようにして実現することができるのかという問題に係っている。
【0002】
データ処理の際に、使用可能であるリソースを最適化すると同時に、データ処理に関わりを持つ回路のエネルギー消費を最適化することが必要である。このことは殊に、リコンフィギュラブルなプロセッサに当てはまる。
【0003】
リコンフィギュラブルなアーキテクチャとは現在の所、コンフィギュラブルな機能および/またはネットワーク化を有するモジュール(VPU)、殊に複数の1次元または多次元に配置されている算術および/または論理および/またはアナログおよび/または記憶するおよび/または内部/外部ネットワーク化する回路ユニットを備えている集積モジュールのことである。ここでこれら回路ユニットは直接接続されているかまたは1つのバスシステムを介して相互に接続されている。
【0004】
これらモジュールに属するものとして挙げられるのは殊に、シストリックアレイ、ニューラルネットワーク、マルチプロセッサシステム、複数の計算ユニットおよび/または論理セルおよび/または通信/周辺セル(IO)を備えているプロセッサ、例えばクロスバースイッチのようなネットワーク化およびネットワークモジュール、並びにFPGA,DPGA,Chameleon,XPUTER等の類の公知のモジュールである。この関連において殊に参照されるのは本件出願人の以下の保護権利および出願である:
【0005】
【数1】
Figure 2004538675
これらはこれにより開示の目的のためにそのすべての内容が組み込まれている。
【0006】
上に述べたアーキテクチャは例えば分かり易くするために用いられかつ以下VPUと称される。このアーキテクチャは任意の算術、論理(メモリも)および/またはメモリセルおよび/またはネットワーク化セルおよび/または通信/周辺(IO)セル(PAE)から成っている。これらセルは1つの1次元または多次元のマトリクス(PA)に配置されていることができ、その際マトリクスは種々異なっている任意に構成されているセルを有していることができ、その際バスシステムもセルと見なされる。マトリクスには全体としてまたはその部分として、コンフィギュレーションユニット(CT)が配属されている。コンフィギュレーションユニットはネットワーク化およびPAの機能をコンフィギュレーションにより決定する。VPUのコンフィギュレーションはコンフィギュレーション語をコンフィギュレーションレジスタに書き込むことによって決定される。それぞれのコンフィギュレーション語が部分機能を決定する。PAEは複数のコンフィギュレーション語をそのコンフィギュレーションのために必要とする。例えばPAEのネットワーク化のために1つまたは複数のコンフィギュレーション語、および/またはクロック決定のために1つまたは複数のコンフィギュレーション語、および/またはALU機能の選択のために1つまたは複数のコンフィギュレーション語。
【0007】
比較的高いクロック周波数によって作動されるプロセッサは大きな電力を要求することは知られている。それ故に今日のプロセッサにおいてクロック周波数が上昇するに従って冷却に対する要求が著しく増大する。更に一層大きな電力供給が用意されなければならず、このためにモバイル用途では殊に問題である。
【0008】
状態に依存してマイクロプロセッサに対するクロック周波数を決定することは既に公知である。この形式の技術はモバイルコンピュータの領域から公知である。しかしこのやり方では全体で見て、所定のアプリケーションの実行速度に問題が生じることになる。
【0009】
本発明の課題は工業用途に対して新規なものを用意することである。
【0010】
この課題の解決法は独立請求項に記載されている。
【0011】
従って本発明は、VPUテクノロジーにおいて電流消費をどのように低減および/または最適化することができるかを示すものである。以下の種々様々な方法においてそのように断られている場合には、これらは個別にまたは組み合わせにおいて利点をもたらすものであることを指摘しておく。
【0012】
すなわち本発明の第1の重要な観点によれば、種々異なっているコンフィギュレーション状態において作動可能である、クロッキングされる論理セル(PAE)のフィールドと、論理セルクロッキングを前以て決めるためのクロック予設定手段とを備えてなるデータ処理ユニット(VPU)において、クロック予設定手段は、状態に依存して少なくとも1つの第1のセル(PAE)に第1のクロックを前以て決めかつ少なくとも1つの別のセル(PAE)に別のクロックを前以て決めるように構成される。
【0013】
すなわち、種々異なっているセルを種々異なっているクロッキングで作動することが提案される。別のクロックは通例、第1のクロックに関連付けられたものであり、すなわち第1のクロックに対して定められた位相位置にあるということになる。このために、最適なデータ処理結果、殊に、必要とされるデータ処理時間並びに全体のデータ処理ユニットのエネルギー消費に関して最適なデータ処理結果を実現するために、クロッキングを状態に依存して行う、すなわち例えばそれぞれの状態に依存して全数のセルに共通に1つのクロックを前以て決めるのではなく、それぞれのセルに状態に依存して適当なクロックを割り当てることが提案される。
【0014】
更にクロッキングは、調整設定(コンフィギュレーション)がすべてのセルのクロッキングに共通して影響を及ぼすように大域的にコンフィギュラブルに構成することが提案される。
【0015】
クロック予設定手段が、少なくとも1つの第1のセルに対する目標クロックを、コンフィギュレーション状態を前以て決めるユニットから受信するように構成されているようにすることができるしかつ望ましい。これにより、セルのクロッキングをそのコンフィギュレーション形成(セルの具体化実現)に依存して、このコンフィギュレーション形成が確定されるときに既に選択することが可能になる。このことは、問題なくコンフィギュレーション形成を行うことができるという利点を有している。
【0016】
コンフィギュレーション状態を前以て決めるユニットは一方においてコンパイラユニットであってよく、すなわちプログラムのコンパイルの際に既に必要なまたは所望される、セルのクロッキングが確定される。コンパイラユニットがコンフィギュレーション状態を前以て決めるとき、セルコンフィギュレーション予設定ユニットはセルコンフィギュレーションのためのクロッキングをコンフィギュレーション形成すべきセルに伝達することができる。このことは有利である。というのは、この場合セルのコンフィギュレーションを確定するコンフィギュレーション語ないしコンフィギュレーション命令をクロック決定する1つのデータの分だけ拡張しさえすればいいからである。しかもこの場合に、クロックを確定する信号を別個に伝送するまたは同等のことを行うクロック付与バスのインプリメンテーションのような別の措置を講ずる必要はない。しかしこのような措置をとることも原理的には可能であることを述べておく。
【0017】
クロック予設定手段が、目標クロックないしクロックに影響を及ぼす信号を別の論理セルの1つ、殊にコンフィギュラブル論理セルから受信するように構成されているように設定することもできる。このことは、第1の論理セルにおいて外部ユニットの入力信号が待たれかつこの形式の信号が到来して漸く、後から到来する信号を処理するセルが活性されるようになっているとき殊に有利である。例えば、僅か1つまたは複数のセルが場合によっては非常に低いレベルにおいて、すなわち既に非常に緩慢なクロッキングにおいて活性化されておりかつ残りのフィールドが極端に緩慢にクロッキングされるという論理フィールドスリーピングモードをインプリメンテーションすることができる。その場合残りのフィールドにおいて要求されるクロック周波数は、メモリ内容または類似のものを得るために要求される物理的に必要なクロッキングに依存している。
【0018】
クロックに影響を及ぼす信号を別の論理セルから受信するようにすると有利であるのは次のような場合である。つまり、1つの論理セルによって、少なくとも部分的に異なった数のクロックサイクルを要求する一連のまたは多数の一連の種々異なっている算術および/または論理演算を実施することができ、しかもこのことを予めコンパイラユニットは完全に確定することができないというときである。このような場合にも後続のセルは、これらセルが1つの処理シーケンスにおいて一緒に作用するセルの状態を指示する相応の信号によって相応にダウン方向クロッキングされるときは、必ずしも高いクロック周波数で作動される必要はない。
【0019】
有利な変形形態において、クロック予設定手段は1つの中央クロック予設定ユニット、例えばクロックをクロック線路を介して個々のセルに伝送するクロック発生器、並びにクロック線路を介して伝送される中央クロックからおよび/または中央クロックに応答してローカルクロックを生成するためのローカルクロック生成ユニットを有している。1つの可能な実施形態において、中央クロック予設定ユニットのクロッキングはコンフィギュレーションによって影響を与えられるもしくは調整設定されるようにすることができる。ローカルクロック生成ユニットが分周器および/または周波数逓倍器によって実現されておりかつ分周比が状態に依存するクロック確定に従ったクロック予設定手段の予設定によって決められるようにすると有利である。
【0020】
有利な変形形態では、論理セルまたは論理セルの少なくともいくつかは少なくとも1つのALUを有しているおよび/またはこのようなものによって形成されている。論理セルのいくつかが少なくとも1つのメモリおよび/またはレジスタユニットを含んでおり、これを残りの論理セルに割り当てることができるようにすることは可能であるし、有利でもある。殊にこれは、処理すべきデータおよび/またはセルのコンフィギュレーションのために設けられているようにすることができる。
【0021】
多数の論理セルが同一でありかつこれらはそれぞれのコンフィギュレーションに相応した種々異なっているクロッキングによって作動されるようにすることができる。殊に、すべての論理セルを同一とすることができる。
【0022】
種々異なっているコンフィギュレーション状態にもっていくことができる、クロッキングされる論理セルのフィールドの作動方法に対しても権利保護が請求されており、その際少なくとも1つの第1のセルに対して少なくとも一時的に第1の状態が突き止められ、該第1の状態に依存して第1のセルに割り当てるべきクロックが求められかつ該セルは該クロックによって作動され、少なくとも1つの別のセルに対して第2の状態が突き止められ、該第2の状態に依存して第2のセルに割り当てるべき第2のクロックが求められかつ該第2のセルは第1のクロックとは異なっている該第2のクロックによって作動される。
【0023】
先に述べたように、クロッキングはコンフィギュレーションと一緒に前以て決められるようにすることができる。その場合状態はコンフィギュレーション状態でありおよび/または該コンフィギュレーション状態によって少なくとも一緒に突き止められるものである。
【0024】
典型的には、公知でかつコンフィギュラブルな論理セルではセルはグループ毎に複雑な演算を実行するようにまとめられる。その際セルの個々のものが、グループが実行する複雑な演算全体の特別手間のかかる部分演算を預かるセルで生じる場合よりも僅かな数クロックサイクルにおいて実行される部分演算を実行するとき、これらセルが異なっているクロックレートによって作動される、しかもあまり複雑でない演算に対する、すなわち僅かな数のクロックサイクルにおいて実行される演算に対するセイルが別のセルよりも緩慢にクロッキングされるようにすれば有利である。殊に、1つのグループのセルが全体で、グループ内の空サイクルの数が最小になるようにクロッキングされるようにすれば、有利である。これに対する択一選択および/または補充では、余り複雑でないタスクが負荷されるセルが一時的に所定の数のクロックサイクルの間共同利用される、すなわち決まった数のクロックサイクルの間別様に利用されるようになっている。
【0025】
殊に、PAEおよび/またはPAEグループの最大のクロックレートがその機能および殊にネットワーク化によって制限されることが起こり得る。進歩する半導体技術によって特にバスシステムを介する信号の伝搬遅延時間が一段と周波数を制限する役目を果たすようになっている。そこで本発明の方法はこの種のPAEおよび/またはPAEグループの一層緩慢なクロッキングを可能にし、一方別のPAEおよび/またはPAEグループは別の、必要の場合にはより高い周波数で動作することを許容するものである。簡単化された形態において、リコンフィギュラブルなモジュール(VPU)全体のクロックレートを最も緩慢なRAEおよび/またはRAEグループの最大のクロックレートに依存して作ることが提案される。換言すれば、中央クロック予設定ユニットは、すべてのPAEおよび/またはPAEグループの共通の最大作動クロック(いわば、すべての最大クロックレートの最小公約数)がすべてのPAEに対して大域的に生成されるようにコンフィギュレーション形成することができる。
【0026】
上に説明したような方法は、グループのセルがデータをシーケンシャルに処理する、すなわち1つのセルが突き止めた結果が続いてデータを処理する1つまたは複数のセルに先送りされるとき特別有利である。
【0027】
クロックを予設定するために、セルフィールド内のタスクの優先付けの他に、電力源の状態もセルクロッキング決定のために用いることができることを言及しておく。殊に、給電電圧が下がっているときにモバイル使用する場合にはクロッキングを全体として下方設定することができる。温度センサ信号またはこの種のものに応答して過温度を妨げるために下方向クロッキングすることも可能である。クロッキングの予設定をユーザが前以て行うようにすることも可能である。種々様々なパラメータが一緒になって、クロッキングを決定する状態を確定することができる。
【0028】
複数のコンフィギュレーションを実施するために同一のPAEにおいて時分割多重を行うことができることは冒頭に既に述べたとおりである。その際同一のPAEで複数のコンフィギュレーションを実施するための特別リソース節約型の時分割多重は有利かつ拡張された形態によって可能である。この形態は、個々のセルの種々異なっているクロッキングに無関係にも利点を発揮することができる。例えば、それがコンフィギュレーションデータであれ、処理すべきデータであれまたは類似のものであれデジタルデータの、バスを介する信号伝送の際に生じるような待ち時間を考慮することができるときである。待ち時間の問題は、リコンフィギュラブルモジュールが一部が互いに比較的遠くに離れているリコンフィギュラブルなユニットと一緒に高いクロック周波数で作動されるべきときに特別深刻になる。すなわちその際に、VPUの特別な構成によって多数の任意のPAEがバスを介して接続されておりかつ相当のデータ伝送コストがバスを介して成り立っているという問題が生じる。現在およびなかんずく将来のシリコン技術においてトランジスタのスイッチング周波数は一段と高くなり、一方バスを介する信号伝送はますます、パフォーマンスを制限する要因になってくる。それ故に、バスにおけるデータレートないし周波数をデータを処理するPAEの動作周波数とは無関係になるようにすることが提案される。
【0029】
特別簡単でかつ簡単なインプリメンテーションに対して有利である形態では、1つのVPUのクロックレートが大域的にしか調整設定可能でないように動作する。換言すれば、調整設定可能なクロックを全部のPAEに対して前以て決めることができるもしくは上位のコンフィギュレーションユニット(CT)によってコンフィギュレーション形成することができる。クロッキングに対して影響を持っている全部のパラメータがこの1つの大域的なクロックを決定する。例えば、この種のパラメータは温度特定、バッテリーの残留エネルギー測定などであってよい。
【0030】
殊に、1つの所定のパラメータは、PAEコンフィギュレーションないしPAEグループのコンフィギュレーションに依存して生じる最も緩慢なコンフィギュレーションの最大の実行周波数とすることができる。バス信号トランスファが制限される用途においては殊に、コンフィギュレーションが種々異なった最大周波数を有する可能性があることが認められた。というのは、種々異なっているコンフィギュレーションはバスコネクションの異なっている長さの区間を介して異なっている数のPAEを含んでいる可能性があるからである。コンフィギュレーションは、例えばPAEのそれぞれの機能および殊にバスコネクションの長さに依存しているFPGAから知られているように種々異なっている最大周波数を有している可能性がある。その場合最も緩慢なコンフィギュレーションは、このコンフィギュレーションもまた正常に作動するようにすることを保証しかつ同時にすべての他のコンフィギュレーションの所要エネルギーを低減するのであるが、このことは殊に、データ処理の種々異なっている部分、つまり場合によっては一層高いクロック周波数によって実行されることになる別のコンフィギュレーションによって表されるような種々異なっている部分が最も緩慢なコンフィギュレーションの前には必要とされないであろうときに有利である。正常な作動が行われることが絶対的に保証されなければならない場合にも、それ自体は一層迅速に実行されることができる別のコンフィギュレーションのクロッキングを低減することにより場合によっては僅かなパフォーマンス消失を率直に受け入れなければならないことが時々はある。
【0031】
最適化された形態において周波数は、VPU上でその時点で実行されるコンフィギュレーションだけに整合され、換言すれば大域的な周波数はそれぞれのコンフィギュレーションによって新たに調整設定/コンフィギュレーション形成することができる。
【0032】
それから拡張形態において、クロックを大域的に、また既に説明したように、それぞれのコンフィギュラブルなエレメントに対して個別にコンフィギュレーション形成することができる。
【0033】
種々の変形例が個別にも、組み合わせにおいても可能であることを述べておく。詳細を例を挙げて説明するために、以下に、それぞれのPAEにおいてクロックを個別に制御することができることから出発するが、必ずしもそうなければならないということではない。その場合例えば次のような可能性がある:
a) 制御されるクロック接続および遮断
有利には、PAEの処理クロックは遮断されている、すなわちPAEは必要時にのみ動作し、その際クロックイネーブル化、すなわちPAEの活性切換は例えば、以下の条件の少なくとも1つが存在しているときに行うことができる、すなわち
有効データが加わっている;
先行する計算の結果が取り出されたとき;
1つまたは複数のトリガ信号に基づいて;
期待されるまたは有効な時間マークに基づいて、
DE10110530.4(PACT18)が参考になる。
【0034】
その際それぞれ個々の条件は、個別に用いてクロックイネーブル化を行うようにすることができるか、または別の条件との組み合わせにおいて、ただしここでは条件の論理結合に基づいてクロックイネーブル化が計算される。クロックが遮断されている間、PAEを電流を節約する作動モードに移行させることができることを述べておくが、この場合例えば付加的に部分的に遮断されているかまたは低減されている電流供給部が用いられる、もしくは別の理由から必要であれば、極度に落とされているスリーピングモードクロックが用いられる。
【0035】
b) PAE毎の種々様々な周波数
PCT/DE97/02949(PACT02/PCT)、PCT/DE97/02998(PACT04/PCT)、PCT/DE00/01869(PACT13/PCT)から、VPUにおけるシーケンシャルなシーケンスを制御するためのテクノロジーが公知である。PCT/DE97/02998(PACT04/PCT)では、多量のPAEをドライブしかつそれらの(リ)コンフィギュレーションを受け持つ特有のシーケンサー(SWT)が形成される。(リ)コンフィギュレーションは、PAEによって生成され(トリガー)かつSWTに転送されるステータス信号によって制御される。この制御は、STWがこのトリガーに応動しかつシーケンスの相応の続きがトリガーに依存しているようにして行われる。
【0036】
PCT/DE97/02949(PACT02/PCT)では個々のPAEにそれぞれ、これらコンフィギュレーションに対する小さなメモリが割り当てられている。シーケンサーはメモリを通走しかつ個々のコンフィギュレーションをアドレス指定する。シーケンサーはトリガーおよび/またはPAE(ここにシーケンサーは例えば集積されている)のステータスによって制御される。
【0037】
ところでデータ処理の期間に、種々異なったPAEにおける種々異なったシーケンサーが種々異なった量の演算を伝送されるデータパケット毎に実施しなければならないことが起こり得る(DE10139170.6(PACT11)、DE10142903.7(PACT11a)、DE10144732.9(PACT11b)、DE10145792.8(PACT11c)、DE10154260.7(PACT11d)、DE10207225.6(PACT11e)、PCT/DE00/01869(PACT13/PCT)参照)。このことを、3つのシーケンサーがデータパケットの処理と係わりかつデータパケット処理のために種々異なった数の演算が必要であるというコンフィギュレーションの例に基づいて説明する。例えば:
○ シーケンサー1(Seq1)は1つのデータパケットを処理するために10個の演算を必要とする
○ シーケンサー2(Seq2)は1つのデータパケットを処理するために5つの演算を必要とする
○ シーケンサー3(Seq3)は1つのデータパケットを処理するために20個の演算を必要とする
最適な動作/電流消費量比を得るために、個々のシーケンサーは次のようにクロッキングされることができよう:
Fmax=Fseq2/4=Fseq1/2=FSeq3
または例えば100MHzという最大動作周波数の場合:
seq1=50MHz、Fseq2=25MHz、Fseq3=100MHz
PAEおよび/またはPAEグループ毎に異なったクロック源を使用することが特別なものとして提案される。このために例えば種々様々な技術を個別にまたは共通に用いることができる:
1) PAE毎に個別にプログラミング可能なクロック分周器、これらは1つまたは複数の共通の基本クロックから出発してそれぞれ個別にコンフィギュラブルである分周比を可能にする。
2) PAE毎に個別にプログラミング可能なクロック逓倍器(PLL)、これらは1つまたは複数の共通の基本クロックから出発してそれぞれ個別にコンフィギュラブルである分周比を可能にする。
3) それぞれ処理すべきデータのデータ流から、例えばオーバサンプリングによるそれぞれのPAEクロックの導出。
【0038】
c) コンフィギュレーションクロック
エネルギー消費の最適化は、コンフィギュレーションを実施するために必要である回路部分が選択的にクロッキングされるようにすることでも効果的になる、すなわちアドレス指定されるPAE毎にクロッキングするおよび/またはコンフィギュレーションないしリコンフィギュレーションの実施のために必要である回路部分のクロックを、コンフィギュレーションないしリコンフィギュレーションが実施されないときには完全に遮断するおよび/またはスタチックレジスタを使用することが提案される。
【0039】
特別な実施形態において、PAEまたはPAEグループの動作周波数が種々様々なおよび/または別のファクターに依存するようにしてもよい。以下にその例を挙げる:
1. 温度測定
動作温度が所定のしきい値に達すると、動作クロックは相応に低減される。必要に応じて、まずパフォーマンスが落ちても最も問題のないPAEを比較的僅かなクロックによって作動することによって、低減を選択的に行うことができる。
【0040】
特別有利な実施形態において、複数の温度測定を種々異なっている領域において実施しかつクロッキングがその都度ローカルに整合されるようにしてもよい。
【0041】
2. バッファ充填状態
DE10206653.1(PACT15)、DE10207224.8(PACT15a)、(PACT15b)から、周囲のデータトランスファをVPU内のデータ処理から切り離すIO−FIFO(Eingangs-Ausgangs-First-In-First-Out-Schaltkreise)が公知である。例えば入力データに対するバッファ(Input-Buffer)および/または出力データに対するバッファ(Output-Buffer)をインプリメンテーションすることができる。クロック周波数決定に対する特別効果的な量は例えば、それぞれのデータバッファの充填度によって決定されるようにすることができる。例えば次の効果および作用が発生する可能性がある:
a) 入力バッファはほぼ満杯であるおよび/または充填度は著しく上昇する:クロッキングを上げて、処理速度を高める。
【0042】
b) 入力バッファはほぼ空であるおよび/または充填度は著しく低下する:クロッキングを下げて、処理速度を低減する。
【0043】
c) 出力バッファはほぼ満杯であるおよび/または充填度は著しく上昇する:クロッキングを下げて、処理を緩慢化する。
【0044】
d) 出力バッファはほぼ空であるおよび/または充填状態は著しく低下する:クロッキングを上げて、処理を加速化する。
【0045】
アプリケーションおよびシステム次第で相応に適当な組み合わせを使用することができる。
【0046】
この形式のクロック周波数決定をインプリメンテーションすることができるのは次のときである:1つのバッファ、殊に1つの入力および/または出力バッファに対する充填度決定もしくは検出手段が設けられていて、この充填度検出手段が論理セルクロッキングを前以て決めるためのクロック予設定手段に接続されていて、該手段がバッファの充填度に総じて論理セルクロッキングを変化できるようになっているときであるが、バッファは択一選択的にVPUアレイ内の一時バッファであってもよい。
【0047】
3. バッテリー状態
移動機器に対しては電流供給部、例えばバッテリーとの注意深い付き合いが絶対に必要である。従来技術に相応する既存の方法に従って突き止めることができる残留エネルギー量に依存して、PAEおよび/またはPAEグループの周波数が決定され、残留エネルギー量が僅かな場合には殊に低減される。
【0048】
データ処理クロッキングの最適化の他にまたはこれに対して付加的にデータトランスファないしデータトランスファとデータ処理との間の関係の最適化も行われるようにすることができる。
【0049】
特別な実施形態において、PAEの説明してきたクロック制御を次のように拡張することができる:例えばシーケンサーに類似したドライブ制御および適当なレジスタセットを使用して、複数の有利には種々異なっているコンフィギュレーション語を複数のクロックにおいて順次に実行することができるようにである。このために、コンフィギュレーションレジスタおよび/または、直接的には接続されておらずかつ別個にインプリメンテーションされている場合もあるーコンフィギュレーションメモリ(DE10206653.1(PACT15)、DE10207224.8(PACT15a),PACT15参照)に、複数のコンフィギュレーションエントリをシーケンシャルに処理するシーケンサーを割り当てることができる。この場合のシーケンサーはマイクロコントローラとして実現されていることができる。殊に、シーケンサーの機能は、例えばAltera社のモジュールEPS448〔ALTERA Data Book 1993〕のようにプログラマブル/コンフィギュラブルであってよい。この形式のPAEの可能な実施形態は例えば特許出願PCT/DE97/029949(PACT02/PCT)、PCT/DE97/02998(PACT04/PCT)、PCT/DE00/01869(PACT13/PCT)、DE10110530.4(PACT18)、DE10206653.1(PACT15)、DE10207224.8(PACT15a),PACT15bに記載されており、これらは開示の目的でその内容すべてがここに取り入れられる。
【0050】
以下の説明においてまず、複数のコンフィギュレーション語が1つのコンフィギュレーション(PAK−KEDCONF)にまとめられかつ1つのPAE上にコンフィギュレーションされることから出発する。PACKEDCONFは、個々のコンフィギュレーション語が時間的に順次実行されるように処理される。個々の時間的なコンフィギュレーション間のデータ交換および/またはステータス交換はPAEにおける適当なデータ帰還結合によって、例えば適当なレジスタセットおよび/または適当なメモリおよび類似のもののような別のデータおよび/またはステータス交換手段によって行われる。
【0051】
この方法により、PAEおよびバスシステムに対する種々異なっているタイミングが可能になる。PAEが例えば非常に高いクロックレートでデータを処理している間、オペランドおよび/または結果はPAEのクロックレートの分数部分でだけバスを介して伝送される。バスを介する伝送時間はその分長くなっても構わない。
【0052】
1つのコンフィギュラブルおよび/またはリコンフィギュラブルモジュールにおけるPAEまたは別の論理ユニットが種々異なっている速度でクロッキング可能であるばかりでなく、バスシステムの部分の種々異なっているクロッキングが設定されるようにすると有利である。その際、種々異なっている速度でクロッキングされる複数の並列なバスを設けることができる。例えば、特別高くクロッキングされて、高パフォーマンスの接続が設定されるようにするバスに並列に電流を節約する接続を設定する比較的低くクロッキングされるバス。高クロッキングされる接続は、信号路が比較的長いことで生じる不都合な点が補償されなければならないとき、または緊密に隣り合っているPAEが高周波数で動作し、従ってまた高い周波数でデータを交換しなければならず、ここで待ち時間がいずれにせよ僅かな役割しか演じない短い距離を介して申し分ない伝送が行われるようにするとき、使用することができる。従って可能な実施形態において、複数の相互にローカルに配置されているPAEが1つのグループにまとめられて高い周波数で場合によってはシーケンシャルにも動作しかつローカルな、相応に短いバスシステムがグループのデータ処理レートに相応する高さでクロッキングされ、一方オペランドを供給するまたは結果を送出するバスシステムは比較的緩慢なクロックおよびデータトランスファレートを有しているようにすることが提案される。択一選択的に、PAEから成る1つのグループ内でエネルギー消費を最適化する目的で、緩慢なクロッキングを行いかつデータを高速で供給するようにすることもできる。これは例えば、沢山入って来るデータをほんの僅かな演算コスト、すなわち低いクロック数によって動作させることができるときである。
【0053】
種々異なっている周波数でクロッキングされるバスシステムを設定するという形態の他に、そもそも複数の互いに独立して作動可能なバスシステムを設けかつその場合PAEを必要に応じて多重に接続していくことも可能である。これにより、それだけで見ても既に、また種々異なったバスシステムまたは種々異なったバスシステム部分を種々異なってクロッキングするといういつでも与えられている可能性に無関係に、リコンフィギュラブルなモジュールを特別効果的にリソース多重化において作動させることが可能になる。その際、種々異なっているリソースに種々異なっている多重化方式に従って種々異なっているコンフィギュレーションを割り当てることが可能である。
【0054】
殊に、PAEグループをPCT/DE00/01869(PACT13/PCT)に記載されているプロセッサとして実現されているようにすることができる。
【0055】
以下の実施形態において例えばデータ処理するPAEに時分割多重を用いて種々異なっているコンフィギュレーションが割り当てられ、一方バスシステムに空間分割多重を用いて種々異なっているコンフィギュレーションが割り当てられる。
【0056】
リソースの割り当て、すなわちコンパイラまたは類似のユニットによって行われるべき、PAEないしPAEグループに対するタスクの割り当ての際に、与えられているフィールドはn倍の大きさのフィールドとみなすことができかつコード部分をこの、係数nだけ仮想的に拡大されたフィールドにおいてリソースに伝送することができ、しかもその場合に、多重形式で使用されるPAEに、相互に依存しているコード部分がインコンフィギュレーション(編入)される必要がないようにコード部分が与えられるとき殊に問題が生じることもない。
【0057】
これまでの考察において、PACKEDCONFは、唯一のアプリケーションに属するPAEに対して少なくとも1つのコンフィギュレーション語またはコンフィギュレーション語束から成っていた。換言すれば、PACKEDCONFでは一体をなしているコンフィギュレーション語だけがまとめられた。
【0058】
拡張された実施形態において、それぞれ種々異なっているコンフィギュレーションの少なくとも1つまたは複数のコンフィギュレーション語がPACKEDCONFに次の形式で取り入れられる:1つのコンフィギュレーション語または一緒に1つのコンフィギュレーションを成している複数のコンフィギュレーション語がコンフィギュレーショングループとしてつなぎ合わされかつそれから相応のコンフィギュレーショングループがPACKEDCONFにおいてまとめられる。
【0059】
個々のコンフィギュレーショングループは時間的に順次実行することができる、すなわちタイムスライスの形式の割り当てを用いる時分割多重によって実行することができる。これにより、PAE上に種々様々なコンフィギュレーショングループの時分割多重が生じる。1つのコンフィギュレーショングループ内の1つのコンフィギュレーション語または複数のコンフィギュレーション語も同様に、これまで説明したように時間的に順次実行されることができる。
【0060】
コンフィギュレーションレジスタおよび/または直接接続されておらずかつ別個にインプリメンテーション形成されていることもあるコンフィギュレーションメモリ(DE10206653.1(PACT15)、DE10207224.8(PACT15a),PACT15b参照)に、コンフィギュレーショングループの1つを選択するマルチプレクサが割り当てられる。拡大実施形態において更に、コンフィギュレーショングループ内のコンフィギュレーション語のシーケンシャルな処理を可能にするシーケンサー(既に説明したような)を配属させてもよい。
【0061】
マルチプレクサおよび任意選択的なシーケンサーによって、1つのリソース(PAE)が時分割多重方式において複数の種々異なっているコンフィギュレーションに割り当てられるようにすることができる。
【0062】
種々異なっているリソースは、例えばコンフィギュレーショングループ番号またはポインタを伝送することによって、その都度適用すべきコンフィギュレーショングループをお互いに同期させることができる。
【0063】
コンフィギュレーショングループの実行はリニヤに相前後しておよび/またはサイクリックに行うことができる。優先順位を定めることもできる。特別際立っていることは、この場合種々異なっているシーケンスを唯一のプロセッサエレメントにおいて処理することができかつこのために同時に、種々異なっているバスシステムを設けることができ、その結果長い伝送経路に基づいて持続するバスコネクションの確立によって時間が浪費されないということである。1つのPAEがその第1のコンフィギュレーションを第1のバスシステムに割り当てかつ第1のコンフィギュレーションの実行の際にこのバスシステムに結合するとき、このPAEは、このバスシステムに対して空間分割多重化が可能であるとき、第2のコンフィギュレーションのために先のバスシステムとは異なっているかまたは部分的に異なっているバスシステムを開放するないし該コンフィギュレーションを該バスに結合することができる。
【0064】
コンフィギュレーショングループ、1つまたは複数のコンフィギュレーション語から成るそれぞれのコンフィギュレーショングループの実行は、データおよび/またはトリガー実行による実行イネーブル(信号)および/または実行イネーブル条件の到来に依存させることができる。
【0065】
1つのコンフィギュレーショングループに対する実行イネーブル(条件)が与えられていなければ、実行イネーブル(条件)を待つことができるかまたは後続のコンフィギュレーショングループの実行を続けるようにすることができる。実行イネーブル(条件)を待っている間、PAEは有利にも電流を節約するモードに入り、例えばクロックが遮断される(Gated Clock)および/または電流供給が部分的に遮断されるかまたは低減される。コンフィギュレーショングループを活性化することができなければ、PAEは有利には同様に前に述べたように電流を節約するモードへと移行する。
【0066】
PACKEDCONFの記憶はリングメモリまたは別のメモリないしレジスタ手段を使用して行うことができ、その際リングメモリを使用すれば、最後のエントリの実行後再び第1のものの実行を始めることができることになる(PCT/DE97/02998(PACT04/PCT)参照)。PACKEDCONFおよび/またはコンフィギュレーショングループ内で直接および/または間接的におよび/またはその都度条件付きで特別な実行にジャンプすることもできることを述べておく。
【0067】
有利な方法において、PAEはコンフィギュレーションが相応に時分割多重処理されるように仕上げることができる。PAE間のバスシステムの数は、十分な数のコンフィギュレーショングループが十分なリソースを使用することができるように高められる。換言すれば、データ処理するPAEは時分割多重方式で動作し、一方データ伝送および/または記憶するリソースは十分な量が使用できるようになっている。
【0068】
このことは一種の空間分割多重に相応し、その際第1のバスシステムは第1の、時々処理されるコンフィギュレーションに配属されておりかつこのバスシステムとは空間的に別個に延在しているないし導かれている第2のバスシステムは別のコンフィギュレーションに配属されている。
【0069】
付加的におよび/または択一選択的に、バスシステムが全体または部分的に時分割多重で作動されかつ複数のコンフィギュレーショングループが1つのバスシステムを分かつようにすることも可能である。この場合、それぞれのコンフィギュレーショングループがそのデータを例えばデータパケットとして伝送し、データパケットに1つのコンフィギュレーショングループIDが配属されているように設定することができる(DE10206653.1(PACT15)、DE10207224.8(PACT15a),PACT15bのAPID参照)。その都度伝送されるデータパケットをこれらに配属されている識別データに基づいて記憶し、分類しかつ必要の場合には種々異なっているバス間のIDが合わされるように設定することができる。
【0070】
拡張された方法において、次のようにしてメモリソースを時分割多重することもできる:複数のセグメントがインプリメンテーションされているおよび/またはコンフィギュレーショングループの交代の際に、PCT/DE97/02998(PACT04/PCT)および/またはPCT/DE00/01869(PACT13/PCT)に相応する単数または複数の相応のメモリが別の、場合によっては外部のメモリにも書き込まれるまたはこれからロードされる。殊に、DE10206653.1(PACT15)、DE10207224.8(PACT15a),PACT15bを使用することができる(例えばMMUページングおよび/またはAPID)。
【0071】
リソース節約のための別の可能性として作動電圧の、クロックに対する整合について述べておく。
【0072】
半導体プロセスは典型的には、それが比較的高い作動電圧において作動されるときに、比較的高いクロック周波数を許容する。これにより確かに著しく大きな電流が消費され、場合によっては半導体の寿命も低減される。
【0073】
最適な妥協的可決は、電圧供給がクロック周波数に依存しているようにして実現することができる。例えば、クロック周波数が低い場合僅かな給電電圧で動作するようにすることができる。クロック周波数が上昇するに従って、給電電圧は同様に(有利には定められている最大値まで)高められる。
【0074】
次に本発明を更に、添付図面を参照して例を挙げて説明する。これらで例示される書き換えは制限されておらずかつ個別例において種々異なっている図において同一または類似のユニットに異なっている参照符号が付されていることもあることを述べておく。
【0075】
図1には、リコンフィギュラブルなデータ処理装置(VPU)0101が例示されている。相互に独立してコンフィギュラブルかつリコンフィギュラブルである(PAE)0102から成るアレイの上位にコンフィギュレーションユニット(CT)0103が配属されていて、コンフィギュレーションおよびリコンフィギュレーションを制御しかつ実行するようになっている。このために特に、出願人の種々の出願および冒頭に参照した刊行物の開示内容および技術が参考になる。データ処理ユニットには更に中央クロック発生器0104が配属されている。中央クロック発生器のクロックレートは1つの可能な形態においてコンフィギュレーションユニット0103によって前以て決めるようにすることができる。それぞれのPAEおよび/またはPAEグループのクロックレートおよびPAEのバスコネクションも1つの可能な形態においてコンフィギュレーションユニット0103によって前以て決めるようにすることができる。
【0076】
図2に示されているように、コンフィギュレーションユニット0103はコンフィギュレーション線路0103aを介してコンフィギュレーションデータをそれぞれのセル2に供給する。沢山のセルのうち1つだけが例として示されている。更に、セル0102に中央クロック発生器0104のクロッキングがクロック線路0104aを介して供給される。リコンフィギュラブルなセル0102はデータバス入力側0205aおよびデータバス出力側0205bを介して別のセルと交信しかつ更に、データ処理ユニット、例えば論理演算装置(ALU)0206を有しており、並びに有利には内部データメモリ0207およびコンフィギュレーションメモリ0208を有している。コンフィギュレーションメモリにはコンフィギュレーション命令がコンフィギュレーションユニット0103からコンフィギュレーション命令抽出器0209を介して入力されて、データ処理ユニットに応答して例えばALU0206をコンフィギュレーションするようにしている。コンフィギュレーション命令抽出器0209は更に、分周器/周波数逓倍器0210の分周/逓倍係数設定入力側0210aに接続されている。分周器/周波数逓倍器は、クロック線路0104aにおける中央クロック発生器0104のクロック信号を入力側0210aを介して予め与えられるクロック比に相応して分周または逓倍しかつクロック信号をデータ処理ユニット、例えば論理演算装置(ALU)0206および場合によってはリコンフィギュラブルなセル0102の別の装置に線路0211を介して供給するように構成されている。周波数がデータの受信または送信に依存して制御されるように、任意選択のデータ監視回路0212が0210を制御することができる。
【0077】
任意選択的に更に、0212に依存して種々異なっているコンフィギュレーションおよび/またはコンフィギュレーショングループを選択するためのマルチプレクサ0213を集積することができる。このマルチプレクサは更に任意選択的に、シーケンサー0214によって制御されて、シーケンシャルなデータ処理が可能になるようにすることができる。このために殊に、データメモリ0207で中間結果が管理されるようにすることもできる。
【0078】
セルの一般的なコンフィギュレーションは出願人の冒頭に述べた出願で既に部分的に説明されているのに対して、少なくともここに説明されるクロック分周装置、所属の接続形成および該クロック分割装置の最適化は新規であり、この場合、これらがそれぞれ必要なハードウェア変更によって行うことができかつ行われることになることを指摘しておく。
【0079】
装置全体および殊にコンフィギュレーションユニット0103は次のように形成されている:コンフィギュレーション語がコンフィギュレーション線路0103aを介してコンフィギュレーション語抽出器0209を介してデータ処理ユニット0206ないし前置接続および/または後置接続および/または一体配属されているメモリ0208に供給されるようにするコンフィギュレーション信号によって、クロック分周/逓倍信号も送信され、コンフィギュレーション語抽出器0209によって抽出されかつ分周器/周波数逓倍器0210に送出することができ、これにより該分周器/周波数逓倍器がデータ処理ユニット0206および場合によっては更に別のユニットを供給された信号に応じてクロッキング(takten)することができる。ユニット0209に代わって、セルへの入力信号に応答して個々のデータ処理ユニット0206のクロッキングを中央クロッキングユニット(クロック発生器)0104に関連して変更する別の可能性もある。このことは例えばデータ監視回路0212を介して行われる。
【0080】
すべてのリコンフィギュラブルな論理装置0102のフィールド全体を冒頭で説明した構成を使用して作動することができるが、別様にインプリメンテーションされた論理装置を用いて作動することもできる。これらのついては例として挙げるだけだが図3および図4を参照して説明する:
図3aに示されているように、例えばリコンフィギュラブルなセルの3×3フィールドは、第1のセル0102aが入出力信号を評価するために用いられるようにコンフィギュレーションされている。セル0102b、0102cは目下の所必要でないので、「コンフィギュレーションされず」(n.c.)と示されている。セル0102dないし0102iは一緒にグループを形成している。これによって複雑な算術演算が実施され、その際セル0102dでは加算、セル0102eでは減算、セル0102fでは乗算が行われ、セル0102fgではループが実行され、該ループ内で何回も加算が行われ、セル0102fでも加算が行われる。セル0102dないし0102iは鎖線で示されているグループ0301において、データがシーケンシャルかつパイプライン形式でこれらセルによって処理されるように相互に接続されている。セル0102dおよび0102e内の演算は図3bのテーブルの第2行に示されているように、異なった数のクロック周期において実行される。そこにはクロック周期の数が示されておりかつ加算または減算は1つのクロック周期で実施することができるが、割り算には32個のクロック周期が必要であることが明らかである。次に図3bのテーブルの第3行には、各セルの分周器にはどんな値が割り当てられていて、セルを通るデータスループットを一定に維持しておいても最適なエネルギー利用が実現されるかが示されている。割り算が行われるセルだけが最高のクロック(タイミング)で作動される。すなわちここではクロック比は1である。このセルは該セルに割り当てられている演算に対して最長のものを必要とする。32クロック毎に1つの新たな結果が割り算を実施するセル0102hに供給される必要があるだけなので、セル0102dおよび0102eは相応する係数32分だけ緩慢にクロッキングされる。すなわちこれらセルに対する分周比は、図3bから明らかであるように、32である。これに対して2つのクロック周期で実行される乗算は分周比16を有しておりかつ16個のクロック周期で実行されるセル0102gの煩雑なループは僅か分周比2が割り当てられている。これらクロック比は最初、個々のセルをグループ毎にまとめかつグループ内のそれぞれのセルに割り当てるコンフィギュレーションの際に既知である。というのは、これらはプログラムコンパイルの際にコンパイラによって決定されかつこれに応じてそのコンフィギュレーションの際にセルに入力することができるからである。上から4番目の行に、中央クロックが256MHzの場合どんなクロックレートが生じるかが示されている。
【0081】
別個にクロッキング可能なリコンフィギュラブルな論理セルを有するプロセッサユニットが、例えば電圧供給部の消耗した容量に基づいて電圧が降下する可能性がある用途において作動されるならば、例えば給電電圧が臨界値U1に低下した場合に全体の周波数が逓降されかつそれからすべてのセルが1/2ずつ緩慢にクロッキングされ、その結果割り算セル0120hも僅か128MHzでクロッキングされ、一方セル0102dは4MHzでクロッキングされるように設定することができる。比較的低い優先度で行われる、マウスポインタの問い合わせを実施するセル0102aはもはや以前のように8MHzでクロッキングされず、僅か2MHzでクロッキングされ、すなわち電圧降下の際の優先度に依存してまたは別の状況下でそれぞれのグループに対して種々異なった緩慢度がタスクの重要度に応じて割り当てられる。
【0082】
別の理由から温度が一層上昇すると、論理セルフィールドにおける熱生成は、図3bの最後の行に示されているように、論理セルのクロックレートを更に下げることによって一段と低減することができる。選択的に例えば、給電電圧および/または温度のような状態を検出するためのそれぞれ個別のセンサを設けることができることは勿論である。この場合センサ信号は調製されてセルに供給することができ、相応のセンサ装置が各セルに配属されるようにすることができおよび/または場合によっては中央クロックが変えられるようにすることができる。
【0083】
これによりプロセッサフィールドはエネルギー最適に作動され、必要な冷却電力は低下しかつ通例はすべてのセルを常時は最高クロック周波数で作動することができないおよび/またはする必要がないので、冷却体および同等のものの質を落とすとことができ、このためにコスト面でも一段と有利になることが明白である。
【0084】
給電電圧、温度、計算の優先度などの問い合わせの他に、別の状態がクロックを決定するものであってよいことを述べておく。すなわち例えば、より低いクロッキングまたはより高いクロッキングが所望されていることをユーザが指示するハードウェアスイッチおまたはソフトウェアスイッチを設けることができる。これにより、一段と節約形でしかも使用することができるエネルギーとの意図した付き合い方が可能になる。その際殊に、中央クロックレートをユーザの要求または外部の要求に応じて全体として低減することができるが、セルアレイ内のクロック分周比を変えずにおいて、例えば温度が過度に上昇した際に、すべてのセルを新たにコンフィギュレーションするという要求が回避されるように設定することができる。更に、クロックレートを決定する際に、例えば温度に依存してクロック周波数が変えられるようにしたいとき、ヒステリシス特性を設定することができることを述べておく。
【0085】
図4には図1のデータ処理ユニット(VPU)がもう一度示されている。VPU内の種々異なったグループは種々異なった周波数fで作動される。これら周波数は0104によって生成される基準周波数nからそれぞれ導出される。複数の基準周波数n…nを複数の0104によって生成しかつVPU内で使用するようにしてもよいことをはっきり断っておく。
【0086】
図5には図2のPAEの作動のための簡単な実施例が示されている。データバス0205aはALU0206にオペランドia1およびia2を供給する。ALUは計算結果oaを0205bに供給する。PAEは、データバス監視回路0212が受信機によりその前の結果oaが受け取られかつ演算のために必要であるオペランドia1およびia2の到着を識別したときにだけ活性状態になる、すなわちクロッキングおよび/または電流供給される。換言すれば、PAEは、すべての動作条件および要求が満たされているとき漸く活性状態になる。クロック通過切換動作は0210を介して行われ、クロックソースは0104aである。
【0087】
図6は図5に相応しているが、ここで付加されているのは、多周期のコンフィギュレーション(例えば行列の掛け算等のような複雑な計算)を制御するシーケンサー0214である。これはコンフィギュレーションメモリからまたはコンフィギュレーションメモリの部分から演算を引き受ける。図示の例では、演算op1,op2,op3,op4,op5がシーケンシャルに実施される。終了後、結果oaは送信されかつPAEは新たに活性化されなければならない。
【0088】
データバス0205a/bに到来するデータトランスファは図6aに図示されている。バスを介するデータルーチングは本出願人の別の、出願に記載されているおよび/または刊行物から公知であるそれ自体公知の手法で行うことができる、すなわちそれぞれのコンフィギュレーションに対してそれ自体公知の手法で衝突妨害およびデッドロック状況が妨げられるようにすることができることを述べておく。
【0089】
シーケンサ演算サイクル(cycle)の1つop1の実施のために、オペランドiaが0205aを介して使用できるようになってなければならず(0601)、残りのサイクルに対するデータトランスファは基本的には定義されていない状態であってよい。
【0090】
有利にはその後0205aは後続の演算を伝送することができ(0602)、このためにop2,op3,op4,op5の実行時間を使用することができるようになっており、従って実質的に時間に拘束されないことになるので、このために一層緩慢なおよび/または殊に一層長いバスシステムの使用が可能になる。
【0091】
択一選択的に(0603)、時分割多重方式ではop2,op3,op4,op5の実行期間に別のコンフィギュレーションのデータを同一のバスシステム0205aを介して伝送することができる。
【0092】
結果oaはop5後にバス0205b上にあり(0601)、残りのサイクルに対するデータトランスファは基本的に定義されていなくてよい。
【0093】
有利には、その前の時間、すなわちop1,op2,op3,op4を実行している間の時間を先行する結果を伝送するために利用するようにしてもよい(0602)。この場合も実質的に時間に拘束されないことになるので、このために一層緩慢なおよび/または殊に一層長いバスシステムの使用が可能になる。
【0094】
択一選択的に(0603)、時分割多重方式においてop1,op2,op3,op4の実行期間に別のコンフィギュレーションのデータを同一のバスシステム0205bを介して伝送することができる。0210はクロック逓倍のためのPLLを使用することができる。殊に、PLLを使用して、op1,op2,op3,op4,op5を処理するためのPAEの動作クロックがバスクロックの5倍であるようにすることができる。この場合PAEは唯一の(1サイクルの)コンフィギュレーションおよびバスクロックと同じくロックを有するシーケンサーのないPAEのように振る舞うことができる。
【0095】
図7は図6に相応しているが、複数のコンフィギュレーショングループga,gb,gcがPAEを時分割多重に分割しかつそれぞれのグループが別個の(空間分割多重)バスシステムに対する接続端子を有している(ia/oa,ib/ob.ic/oc)ことが付加されている。0214におけるマルチプレクサがサイクリックにグループga,gb,gcを選択する。データ監視回路0212がコンフィギュレーショングループに対する有効な実行イネーブル(条件)を生成する限り、それぞれのコンフィギュレーショングループが実行され、その他の場合には実行イネーブル(条件)を待つまたは有利には別の次のコンフィギュレーショングループを選択することができる。コンフィギュレーショングループはサイクリックに実行されるようにしてよい。コンフィギュレーショングループは複数のコンフィギュレーション語を含んでいることができる(ga={ka1,ka2},gb={kb1,kb2},gc={kc1,kc2}。コンフィギュレーション語は0214におけるシーケンサーによってシーケンシャルに実行することができる。
【0096】
図7aには、図7の例のバストランスファが示されている。0701は0601に相応し、0702は0602に相応し、0703は0603に相応する。その際それぞれのグループha,gb,gcに対して独自のバスシステムが使用される。
【0097】
付加的に、0704においてこれらバスシステムに対する時分割多重を使用した可能なバストランスファが図示されている。全部のグループの入力データは入力バスシステムを介して伝送され、全部のグループの出力データは出力バスシステムを介して伝送される。定義されない中間サイクルは利用されないかまたは別のデータトランスファのために空けられている。
【図面の簡単な説明】
【0098】
【図1】リコンフィギュラブルなデータ処理ユニットの例を示す概略図
【図2】セル内の詳細な例を示すブロック線図
【図3a】リコンフィギュラブルなセルのフィールドの例を示す図
【図3b】リコンフィギュラブルなセルのフィールドの演算の例を示すテーブル
【図4】図1のリコンフィギュラブルなデータ処理ユニットの例を説明を付加して示す概略図
【図5】図2のPAEの作動例を示す簡単な実施例
【図6】図2のPAEの作動例を示す別の実施例
【図6a】図6に対応するデータトランスファの例を示すテーブル
【図7】図2のPAEの作動例を示す更に別の実施例
【図7a】図7に対応するバストランスファの例を示すテーブル

Claims (17)

  1. 種々異なっているコンフィギュレーション状態において作動可能である、クロッキングされる論理セル(PAE)のフィールドと、論理セルクロッキングを前以て決めるためのクロック予設定手段とを備えてなるデータ処理ユニット(VPU)において、
    クロック予設定手段は、状態に依存して少なくとも1つの第1のセル(PAE)に第1のクロックを前以て決めかつ少なくとも1つの別のセルに別のクロックを前以て決めるように構成されている
    ことを特徴とするデータ処理ユニット。
  2. クロック予設定手段は、少なくとも1つの第1のセルに対する目標クロックを、コンフィギュレーション状態を前以て決めるユニットから受信するように構成されている
    請求項1記載のデータ処理ユニット。
  3. コンフィギュレーション状態を前以て決めるユニットはコンパイラユニットおよび/またはセルコンフィギュレーション予設定ユニットを有している
    請求項1または2記載のデータ処理ユニット。
  4. クロック予設定手段は、目標クロックを論理セルから受信するように構成されている
    請求項1から3までのいずれか1項記載のデータ処理ユニット。
  5. クロック予設定手段は少なくとも1つの中央クロック予設定ユニットと、前以て決められている中央クロックからローカルクロックを生成するためのローカルクロック生成ユニット、例えばセル毎に1つの、クロッキング比を変えられたまたは時間的タイミングをずらされたクロックを生成するユニット(Zeitabtaktgenerierunit)を有している
    請求項1から4までのいずれか1項記載のデータ処理ユニット。
  6. 論理セルの少なくとも一部は少なくとも1つのALUを有しているおよび/またはこのようなものによって形成されている
    請求項1から5までのいずれか1項記載のデータ処理ユニット。
  7. 論理セルの少なくとも一部に少なくとも1つのメモリおよび/またはレジスタが配属されている
    請求項1から6までのいずれか1項記載のデータ処理ユニット。
  8. 多数の同一の論理セルが設けられている
    請求項1から7までのいずれか1項記載のデータ処理ユニット。
  9. すべての論理セルは同一である
    請求項1から8までのいずれか1項記載のデータ処理ユニット。
  10. 種々異なっているコンフィギュレーション状態にもっていくことができる、クロッキングされる論理セルのフィールドの作動方法において、
    少なくとも1つの第1のセルに対して少なくとも一時的に第1の状態を突き止め、該第1の状態に依存して第1のセルに割り当てるべきクロックを求めかつ該セルを該クロックによって作動し、
    少なくとも1つの別のセルに対して第2の状態を突き止め、該第2の状態に依存して第2のセルに割り当てるべき第2のクロックを求めかつ該第2のセルを第1のクロックとは異なっている該第2のクロックによって作動する
    ことを特徴とする方法。
  11. 少なくとも1つの第1のセルに対してクロックをセルのコンフィギュレーションと関連してまたはずばりセルのコンフィギュレーションによって前以て決める
    請求項10記載の方法。
  12. セルのグループは、種々異なった数のクロックサイクルを要求する、代数および/または別の演算を実行するために共通してコンフィギュレーション形成される形式であって、ここで
    グループ内で最も多くのクロックサイクルを要求する演算より僅かなクロックサイクルしか要求しない演算を実行する少なくとも1つのセルは少なくとも1つの別のセルより緩慢にクロッキングされる
    請求項10または11項記載の方法。
  13. 少なくとも1つのグループのセルをシーケンシャルなデータ処理のためにコンフィギュレーション形成する
    請求項10から12までのいずれか1項記載の方法。
  14. 少なくとも2つのセルグループにおけるフィールドを少なくとも2つの異なっているタスクを実行するようにコンフィギュレーション形成し、該タスクには異なった優先度が割り当てられかつ比較的低い優先度を有するタスクを実行するために配置されているセルグループは比較的低いクロック周波数によってクロッキングされるようになっている
    請求項10から12までのいずれか1項記載の方法。
  15. 電圧供給源の状態および/または温度を突き止めかつ該突き止められた電圧および/または温度状態に依存してセルクロッキングをこのようにして突き止められた電圧および/または温度状態に依存して決定する
    請求項10から14までのいずれか1項記載の方法。
  16. 種々異なっているコンフィギュレーションにおいて作動されることができるリコンフィギュラブル論理エレメントの装置の作動方法において、
    多数の可能なコンフィギュレーション、例えば当該フィールドに同時にインコンフィギュレーション形成される多数のコンフィギュレーションに対して、なお許容される周波数、例えばなおも実施可能な最大周波数を突き止めかつ多数のセルを該周波数によって作動し、ここで
    該多数のセルの数は前記の最も緩慢なコンフィギュレーションを実行するために属しているものの数より大きくかつ
    該多数は例えばコンフィギュラブルエレメントのフィールド全体を含んでいることができる
    ことを特徴とする方法。
  17. 種々異なっているコンフィギュレーションにおいて作動されることができるリコンフィギュラブル論理エレメントの装置の作動方法において、
    バス線路を介する信号トランスファを考慮してバスシステムを介する伝送の際に最大の周波数が得られるようにコンフィギュレーションを選択する
    ことを特徴とする方法。
JP2002570052A 2001-03-05 2002-03-05 データ加工および/またはデータ処理方法および装置 Expired - Fee Related JP4011488B2 (ja)

Applications Claiming Priority (37)

Application Number Priority Date Filing Date Title
DE10110530 2001-03-05
DE10111014 2001-03-07
PCT/EP2001/006703 WO2002013000A2 (de) 2000-06-13 2001-06-13 Pipeline ct-protokolle und -kommunikation
EP01115021 2001-06-20
DE10135211 2001-07-24
PCT/EP2001/008534 WO2002008964A2 (de) 2000-07-24 2001-07-24 Integrierter schaltkreis
DE10135210 2001-07-24
DE10139170 2001-08-16
DE10142231 2001-08-29
DE10142904 2001-09-03
DE10142903 2001-09-03
DE10142894 2001-09-03
US31787601P 2001-09-07 2001-09-07
DE10144733 2001-09-11
DE10144732 2001-09-11
DE10145792 2001-09-17
DE10145795 2001-09-17
DE10146132 2001-09-19
US09/967,847 US7210129B2 (en) 2001-08-16 2001-09-28 Method for translating programs for reconfigurable architectures
EP0111299 2001-09-30
PCT/EP2001/011593 WO2002029600A2 (de) 2000-10-06 2001-10-08 Zellenarordnung mit segmentierterwischenzellstruktur
DE10154260 2001-11-05
DE10154259 2001-11-05
EP01129923 2001-12-14
EP02001331 2002-01-18
DE10202044 2002-01-19
DE10202175 2002-01-20
DE10206653 2002-02-15
DE10206857 2002-02-18
DE10206856 2002-02-18
DE10207226 2002-02-21
DE10207225 2002-02-21
DE10207224 2002-02-21
DE10208435 2002-02-27
DE10208434 2002-02-27
PCT/EP2002/002402 WO2002071196A2 (de) 2001-03-05 2002-03-05 Verfahren und vorrichtung zu datenbe- und/oder verarbeitung
DE10129237A DE10129237A1 (de) 2000-10-09 2002-06-20 Verfahren zur Bearbeitung von Daten

Publications (2)

Publication Number Publication Date
JP2004538675A true JP2004538675A (ja) 2004-12-24
JP4011488B2 JP4011488B2 (ja) 2007-11-21

Family

ID=56290255

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2002570104A Pending JP2004536373A (ja) 2001-03-05 2002-03-05 データ処理方法およびデータ処理装置
JP2002570103A Pending JP2004535613A (ja) 2001-03-05 2002-03-05 データ処理方法およびデータ処理装置
JP2002570052A Expired - Fee Related JP4011488B2 (ja) 2001-03-05 2002-03-05 データ加工および/またはデータ処理方法および装置

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2002570104A Pending JP2004536373A (ja) 2001-03-05 2002-03-05 データ処理方法およびデータ処理装置
JP2002570103A Pending JP2004535613A (ja) 2001-03-05 2002-03-05 データ処理方法およびデータ処理装置

Country Status (4)

Country Link
EP (2) EP1454258A2 (ja)
JP (3) JP2004536373A (ja)
AU (2) AU2002257615A1 (ja)
WO (2) WO2002071248A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007179358A (ja) * 2005-12-28 2007-07-12 Nec Corp 情報処理装置及び再構成デバイスの利用方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
DE10357284A1 (de) * 2003-12-05 2005-07-14 Pact Xpp Technologies Ag Multispannungsversorgung
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
WO2005045692A2 (en) * 2003-08-28 2005-05-19 Pact Xpp Technologies Ag Data processing device and method
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
AU2002338729A1 (en) 2001-09-19 2003-04-01 Pact Xpp Technologies Ag Router
AU2003214003A1 (en) 2002-02-18 2003-09-09 Pact Xpp Technologies Ag Bus systems and method for reconfiguration
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US20060126770A1 (en) * 2004-12-15 2006-06-15 Takeshi Yamazaki Methods and apparatus for providing an asynchronous boundary between internal busses in a multi-processor device
US7693257B2 (en) 2006-06-29 2010-04-06 Accuray Incorporated Treatment delivery optimization
FR2922663B1 (fr) 2007-10-23 2010-03-05 Commissariat Energie Atomique Structure et procede de sauvegarde et de restitution de donnees
EP2441005A2 (en) 2009-06-09 2012-04-18 Martin Vorbach System and method for a cache in a multi-core processor
CN102281054A (zh) * 2011-04-25 2011-12-14 浙江大学 一种用于数据驱动的可重构计算阵列数据耦合器
JP2016178229A (ja) 2015-03-20 2016-10-06 株式会社東芝 再構成可能な回路

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06101043B2 (ja) * 1988-06-30 1994-12-12 三菱電機株式会社 マイクロコンピュータ
US5193202A (en) * 1990-05-29 1993-03-09 Wavetracer, Inc. Processor array with relocated operand physical address generator capable of data transfer to distant physical processor for each virtual processor while simulating dimensionally larger array processor
DE4416881C2 (de) 1993-05-13 1998-03-19 Pact Inf Tech Gmbh Verfahren zum Betrieb einer Datenverarbeitungseinrichtung
IT1260848B (it) * 1993-06-11 1996-04-23 Finmeccanica Spa Sistema a multiprocessore
EP0721157A1 (en) * 1994-12-12 1996-07-10 Advanced Micro Devices, Inc. Microprocessor with selectable clock frequency
US5892370A (en) * 1996-06-21 1999-04-06 Quicklogic Corporation Clock network for field programmable gate array
DE19651075A1 (de) 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
DE19654593A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit
DE19654846A1 (de) 1996-12-27 1998-07-09 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
DE19704044A1 (de) 1997-02-04 1998-08-13 Pact Inf Tech Gmbh Verfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine
DE19704728A1 (de) * 1997-02-08 1998-08-13 Pact Inf Tech Gmbh Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
DE19807872A1 (de) 1998-02-25 1999-08-26 Pact Inf Tech Gmbh Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl.
DE10028397A1 (de) 2000-06-13 2001-12-20 Pact Inf Tech Gmbh Registrierverfahren
DE10081643D2 (de) * 1999-06-10 2002-05-29 Pact Inf Tech Gmbh Sequenz-Partitionierung auf Zellstrukturen
DE10036627A1 (de) 2000-07-24 2002-02-14 Pact Inf Tech Gmbh Integrierter Schaltkreis

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007179358A (ja) * 2005-12-28 2007-07-12 Nec Corp 情報処理装置及び再構成デバイスの利用方法

Also Published As

Publication number Publication date
WO2002071196A2 (de) 2002-09-12
WO2002071248A8 (de) 2004-01-29
EP1540507B1 (de) 2012-05-23
WO2002071196A3 (de) 2003-12-04
WO2002071196A8 (de) 2003-10-30
AU2002254921A1 (en) 2002-09-19
JP2004535613A (ja) 2004-11-25
WO2002071248A3 (de) 2005-04-21
EP1540507A2 (de) 2005-06-15
EP1454258A2 (de) 2004-09-08
AU2002257615A1 (en) 2002-09-19
JP4011488B2 (ja) 2007-11-21
JP2004536373A (ja) 2004-12-02
WO2002071248A2 (de) 2002-09-12

Similar Documents

Publication Publication Date Title
US7444531B2 (en) Methods and devices for treating and processing data
JP4011488B2 (ja) データ加工および/またはデータ処理方法および装置
US9552047B2 (en) Multiprocessor having runtime adjustable clock and clock dependent power supply
JP3961028B2 (ja) データフロープロセッサ(dfp)の自動的なダイナミックアンロード方法並びに2次元または3次元のプログラミング可能なセルストラクチャを有するモジュール(fpga,dpga等)
EP2116938B1 (en) Operation apparatus and control method
US7353516B2 (en) Data flow control for adaptive integrated circuitry
JP4837780B2 (ja) マスタおよびスレーブを有するデータ処理デバイスにおける電力管理
US20050038984A1 (en) Internal synchronization control for adaptive integrated circuitry
Villiger et al. Self-timed ring for globally-asynchronous locally-synchronous systems
US20070050774A1 (en) Time-aware systems
Dobkin et al. QNoC asynchronous router
EP2778946A2 (en) Hybrid programmable many-core device with on-chip interconnect
CN102906732A (zh) 数据处理器以及电子控制单元
JPH11145897A (ja) 移動無線電話機
US10331194B2 (en) Methods and devices for treating and processing data
US6694385B1 (en) Configuration bus reconfigurable/reprogrammable interface for expanded direct memory access processor
US8811387B2 (en) Dynamically reconfigurable hybrid circuit-switched and packet-switched network architecture
Song et al. Asynchronous spatial division multiplexing router
Liu et al. Hybrid hard NoCs for efficient FPGA communication
US20180300278A1 (en) Array Processor Having a Segmented Bus System
Jia et al. A novel asynchronous FPGA architecture design and its performance evaluation
You et al. Bandwidth optimization in asynchronous NoCs by customizing link wire length
Zheng Machine Learning Enabled Network-on-Chip Design for Low-Power, High-Performance, and Flexible Manycore Architectures
Hesse Fine-grained adaptivity for dynamic on-chip networks
KR20090046841A (ko) 마스터 및 슬레이브를 갖는 데이터 처리장치에서의 전력 관리

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070105

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070323

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070705

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: 20070808

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070905

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: 20100914

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110914

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120914

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees