EP0961980B1 - Method for self-synchronization of configurable elements of a programmable component - Google Patents
Method for self-synchronization of configurable elements of a programmable component Download PDFInfo
- Publication number
- EP0961980B1 EP0961980B1 EP98909346A EP98909346A EP0961980B1 EP 0961980 B1 EP0961980 B1 EP 0961980B1 EP 98909346 A EP98909346 A EP 98909346A EP 98909346 A EP98909346 A EP 98909346A EP 0961980 B1 EP0961980 B1 EP 0961980B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- trigger
- register
- data
- configuration
- cell
- 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.)
- Expired - Lifetime
Links
Images
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
Abstract
Description
Bei heutigen Bausteinen (FPGA, DPGA etc.) wird die
Synchronisation der konfigurierbaren Elemente meistens durch
den Takt des Bausteines hergestellt. Diese Art der zeitlich
gesteuerten Synchronisation bereitet viele Probleme, da oft
nicht im Vorhinein bekannt ist, wie lange eine Aufgabe
benötigt, bis ein gültiges Ergebnis bereit steht. Ein weiteres
Problem der zeitgesteuerten Synchronisation ist, daß das
Ereignis auf welches die Synchronisation erfolgt nicht von dem
zu synchronisierenden Element selbst ausgelöst wird, sondern
von einem unabhängigem Element. In diesem Fall sind nun zwei
verschiedene Elemente an der Synchronisation beteiligt. Dies
führt zu einem erheblich höhrem Verwaltungsaufwand.
Aus EP-A-0,726,532 ist ein Verfahren zur Steuerung des
Datenflußes in, aus mehreren als Array angeordneten
Prozessoren bestehenden, SIMD-Maschinen bekannt. Dabei wird
eine Instruktion an alle Prozessoren gesendet, die dynamisch
den Zielprozessor einer Datenübertragung auswählt. Die
Instruktion wird von einer übergeordneten Instanz an alle
Prozessoren (broadcast instruction)gesendet und besteht aus
einem Richtungsfeld (destination field) und einem Zielfeld
(target field). Das Richtungsfeld steuert eine Einheit im
Prozessorelement, um dynamisch das Nachbar-Prozessorelement zu
ermitteln, zu dem das Ergebnis gesendet werden soll. Mit dem
Zielfeld wird dynamisch das Operandenregister eines weiteren
Prozessorelements ausgewählt, in welchem ein weiteres Ergebnis
gespeichert werden soll.In today's devices (FPGA, DPGA, etc.), the synchronization of the configurable elements is usually made by the clock of the device. This type of timed synchronization poses many problems, as it is often not known in advance how long a task takes until a valid result is ready. Another problem with timed synchronization is that the event on which the synchronization occurs is not triggered by the element to be synchronized itself, but by an independent element. In this case, two different elements are involved in the synchronization. This leads to a considerably higher administrative burden.
From EP-A-0,726,532 a method for controlling the data flow in SIMD machines consisting of a plurality of processors arranged as an array is known. In this case, an instruction is sent to all processors that dynamically selects the destination processor of a data transfer. The instruction is sent by a parent instance to all processors (broadcast instruction) and consists of a destination field and a target field. The direction field controls a unit in the processor element to dynamically determine the neighbor processor element to which the result is to be sent. The destination field dynamically selects the operand register of another processor element in which a further result is to be stored.
Durch die Erfindung wird ein Verfahren beschrieben, welches es gestattet, daß die Synchronisation von zu synchronisierenden Elementen selbst ausgeht. Die Synchronisation ist nicht mehr durch eine zentrale Instanz implementiert und wird auch nicht mehr durch eine zentrale Instanz verwaltet. Durch die Verlegung der Synchronisation in jedes Element können auch viel mehr Synchronisationsaufgaben gleichzeitig durchgeführt werden, da unabhängige Elemente sich nicht mehr gegenseitig beim Zugriff auf die zentrale Synchronisations-Instanz behindern. Die Einzelheiten und besondere Ausgestaltungen, sowie Merkmale des erfindungsgemäßen Synchronisationsverfahrens sind Gegenstand der Patentansprüche.The invention describes a method which makes it allows the synchronization to be synchronized Elements themselves go out. The synchronization is no longer implemented by a central entity and will not more managed by a central instance. By the Relocation of the synchronization in each element can also many more synchronization tasks performed simultaneously because independent elements are no longer mutually exclusive when accessing the central synchronization instance hinder. The details and special designs, as well as features of the invention Synchronization method are the subject of Claims.
In einem Baustein (DFP, DPGA) mit zwei- oder mehrdimensional angeordneter, programmierbarer Zellstruktur kann jedes konfigurierbare Element über eine Vernetzungsstruktur auf die Konfigurations- und Statusregister der anderen konfigurierbaren Elemente zugreifen und damit deren Funktion und Arbeitsweise aktiv beeinflussen. Eine Matrix aus derartigen Zellen wird im Folgenden ProcessingArray (PA) genannt. Die Konfiguration kann somit zusätzlich zu der üblichen Methode durch eine Ladelogik, aus dem ProcessingArray (PA) heraus erfolgen.In a building block (DFP, DPGA) with two or more dimensions arranged, programmable cell structure can each configurable element via a network structure on the Configuration and status registers of the others access configurable elements and thus their function and actively influence how it works. A matrix out Such cells will be referred to below as ProcessingArray (PA). called. The configuration can thus be in addition to the usual method by a Ladelogik, from the ProcessingArray (PA).
Es wird von einem frei zur Laufzeit programmierbaren Baustein ausgegangen, welcher zusätzlich zur Laufzeit rekonfiguriert werden kann. Die auf dem Chip enthaltenen konfigurierbaren Elemente besitzen ein oder mehrere Konfigurationsregister für verschiedene Aufgaben. Auf diese Konfigurationsregister kann lesend wie schreibend zugegriffen werden. In dem beschriebenen Verfahren wird davon ausgegangen, daß für folgende Informationen eine Konfiguration in einem zu konfigurierenden Element eingestellt werden kann.
- Vernetzungs-Register. In diesem Register wird die Art der Verbindung zu anderen Zellen eingestellt.
- Befehls-Register. In diesem Register wird die auszuführende Funktion des konfigurierbaren Elements eingetragen.
- Status-Register. In diesem Register speichert die Zelle ihren aktuellen Zustand. Dieser Zustand gibt anderen Elementen des Bausteins Auskunft darüber, in welchem Verarbeitungszyklus sich die Zelle befindet.
- Networking tab. This register sets the type of connection to other cells.
- Command register. In this register the function of the configurable element to be executed is entered.
- Status register. In this register, the cell stores its current state. This state tells other elements of the building block what processing cycle the cell is in.
Eine Zelle wird durch einen Befehl konfiguriert, welcher die Funktion der Zelle bestimmt, die ausgeführt werden soll. Weiterhin werden Konfigurationsdaten eingetragen um die Vernetzung mit anderen Zellen und den Inhalt des Status-Registers einzustellen. Nach diesem Vorgang ist die Zelle betriebsbereit.A cell is configured by a command that uses the Function of the cell to be executed. Furthermore, configuration data are entered to the Networking with other cells and the contents of the status register adjust. After this process is the cell operational.
Um eine flexible und dynamische Zusammenarbeit vieler Zellen zu ermöglichen, kann jede Zelle auf alle Konfigurationsregister einer anderen Zelle lesend oder schreibend zugreifen. Auf welches der vielen Konfigurationsregister lesend oder schreibend zugegriffen wird, wird durch die Art des Befehls, mit welchem die Zelle konfiguriert wurde, festgelegt. Jeder Befehl den die Zelle ausführen kann, existiert in soviel verschiedenen Adressierungsarten, wie es verschiedene, voneinander unabhängige Konfigurationsregister, in einem zu konfigurierenden Element gibt.To have a flexible and dynamic collaboration of many cells to allow each cell to all Configuration register of another cell reading or write access. On which of the many Configuration register read or write accessed is determined by the type of command with which the cell has been configured. Each command the cell can perform, exists in so many different Addressing modes, as different, from each other independent configuration registers, in one too configuring element.
Beispiel: Eine Zelle besitzt die oben angegebenen Konfigurationsregister (Vernetzung, Befehl und Status) und soll den Befehl ADD, welcher eine Addition durchführt ausführen. Durch die verschiedenen Arten des ADD Befehls kann nun selektiert werden, wohin das ergebnis dieser Funktion übertragen wird.
- ADD-A.
- Das Ergebnis wird an das Operand-Register-A der Zielzelle übertragen.
- ADD-B.
- Das Ergebnis wird an das Operand-Register-B der Zielzelle übertragen.
- ADD-V.
- Das Ergebnis wird an das Vernetzungs-Register der Zielzelle übertragen.
- ADD-S.
- Das Ergebnis wird an das Status-Register der Zielzelle übertragen.
- ADD-C.
- Das Ergebnis wird an das Befehls-Register der Zielzelle übertragen.
- ADD-A.
- The result is transferred to the operand register-A of the target cell.
- ADD-B.
- The result is transferred to the operand register B of the target cell.
- ADD-V.
- The result is transmitted to the crosslinking register of the target cell.
- ADD-S.
- The result is transferred to the status register of the target cell.
- ADD-C.
- The result is transferred to the command register of the target cell.
Neben dem Ergebnis kann jede Zelle eine Menge an Trigger-Signalen erzeugen. Die Trigger-Signale müssen nicht notwendigerWeise an die gleiche Zielzelle übertragen werden, wie das Ergebnis der Verarbeitung des konfigurierten Befehles. Ein Trigger-Signal oder erst die Kombination mehrerer Trigger-Signale, lößt bei der Zielzelle eine bestimmte Aktion aus oder setzt die Zelle in einen bestimmten Zustand. Eine Beschreibung der Zustände ist weiter unten im Text zu finden. Folgende Trigger-Signale gibt es:
- GO-Trigger. Der GO-Trigger setzt die Zielzelle in den Zustand READY.
- RECONFIG-Trigger. Der RECONFIG-Trigger setzt die Zielzelle in den Zustand RECONFIG, so daß die Zelle umprogrammiert werden kann. Besonders in Zusammenarbeit mit Switching-Tabellen ist dieser Trigger sehr sinnvoll. Geht man davon aus, daß zu verarbeitenden Daten mit der steigenden Taktflanke in die Operanden-Register geladen werden, in der Zeitspanne des H-Level verarbeitet werden und mit der fallenden Flanke in das Ausgangsregister geschrieben werden, so ist eine Rekonfigurierung der Zelle mit der fallenden Flanke möglich. Mit der fallenden Flanke werden die neuen Konfigurationsdaten in das Befehls-Register geschrieben. Die Zeitspanne des L-Level ist ausreichend genug, um die Rekonfigurierung erfolgreich abzuschließen.
- STEP-Trigger. Der STEP-Trigger lößt bei der Zielzelle, welche sich im Zustand WAIT befindet, die einmalige Ausführung des konfigurierten Befehls aus.
- STOP-Trigger. Der STOP-Trigger hält die Zielzelle an, in dem die Zelle in den Zustand STOP gesetzt wird.
- GO trigger. The GO trigger sets the target cell to the READY state.
- RECONFIG trigger. The RECONFIG trigger sets the target cell to the RECONFIG state so that the cell can be reprogrammed. Especially in cooperation with switching tables this trigger is very useful. If one assumes that data to be processed is loaded into the operand registers with the rising clock edge, processed in the time span of the H level and written to the output register with the falling edge, the cell is reconfigured with the falling clock Flank possible. With the falling edge, the new configuration data is written to the command register. The time span of the L-Level is sufficient enough to successfully complete the reconfiguration.
- STEP trigger. The STEP trigger triggers the one-time execution of the configured command at the target cell, which is in the WAIT state.
- STOP trigger. The STOP trigger stops the target cell, in which the cell is set to the STOP state.
Durch die Möglichkeit in der verarbeitenden Zelle anzugeben, in welches Register der Zielzelle das Ergebnis eingetragen werden soll und welche Art von Trigger-Signal erzeugt werden soll, kann aus einem Datenstrom eine Menge an Verwaltungsdaten erzeugt werden. Diese Verwaltungsdaten stellen kein Ergebnis der eigentlichen Aufgabe dar, welche durch den Chip abgearbeitet werden soll, sondern dienen allein der Verwaltung, Synchronistion, Optimierung etc. des internen Zustands.By being able to specify in the processing cell into which register of the target cell the result is entered and what kind of trigger signal should be generated should be able to turn a stream of data into a set of administrative data be generated. These administrative data do not produce a result the actual task, which is through the chip to be processed, but serve only the Administration, Synchronistion, optimization etc. of the internal State.
Jede Zelle kann folgende Zustände annehmen, welche durch eine geeignete Kodierung im Status-Register dargestellt werden.
- READY. Die Zelle ist mit einem gültigen Befehl konfiguriert worden und kann Daten verarbeiten. Die Verarbeitung findet mit jedem Taktzyklus statt. Die Daten werden auf Grund der Adressierungsart der datenschickenden Zelle in die Register der Zielzelle eingelesen.
- WAIT. Die Zelle ist mit einem gültigen Befehl konfiguriert worden und kann Daten verarbeiten. Die Verarbeitung findet mit auf Grund eines Trigger-Signals statt, welches durch andere Elemente des Bausteins erzeugt werden können. Die Daten werden auf Grund der Adressierungsart der datenschickenden Zelle in die Register der Zielzelle eingelesen.
- CONFIG. Die Zelle ist nicht mit einem gültigen Befehl konfiguriert. Das Datenpaket, welches mit dem nächsten Taktzyklus an die Zelle gesandt wird, wird in das Befehls-Register eingelesen. Das Datenpaket wird auf jeden Fall in das Befehls-Register eingelesen, egal welche Adressierungsart von der datenschickenden Zelle benutzt wurde.
- CONFIG-WAIT. Die Zelle ist nicht mit einem gültigen Befehl konfiguriert. Ein Datenpaket, wird mit dem nächsten Trigger-Signal, welches durch andere Elemente des Bausteins erzeugt werden kann, eingelesen und in das Befehls-Register geschrieben. Das Datenpaket wird auf jeden Fall in das Befehls-Register eingelesen, egal welche Adressierungsart von der datenschickenden Zelle benutzt wurde.
- RECONFIG. Die Zelle ist mit einem gültigen Befehl konfiguriert, verarbeitet aber keine weiteren Daten, nimmt die Daten auch nicht an. Die Zelle kann durch ein anderes Element des Bausteins umkonfiguriert werden.
- STOP. Die Zelle ist mit einem gültigen Befehl konfiguriert, verarbeitet aber momentan keine Daten. Die Daten werden von der Zelle angenommen (in die Eingangsregister übertragen), aber nicht weiterverarbeitet.
- READY. The cell has been configured with a valid command and can handle data. The processing takes place with every clock cycle. The data is read into the registers of the target cell based on the addressing type of the data-sending cell.
- WAIT. The cell has been configured with a valid command and can handle data. The processing takes place on the basis of a trigger signal, which can be generated by other elements of the block. The data is read into the registers of the target cell based on the addressing type of the data-sending cell.
- CONFIG. The cell is not configured with a valid command. The data packet which is sent to the cell with the next clock cycle is read into the command register. The data packet will in any case be read into the command register, no matter what type of addressing was used by the data-sending cell.
- CONFIG-WAIT. The cell is not configured with a valid command. A data packet is read in with the next trigger signal, which can be generated by other elements of the block, and written to the command register. The data packet will in any case be read into the command register, no matter what type of addressing was used by the data-sending cell.
- RECONFIG. The cell is configured with a valid command, but does not process any further data, nor does it accept the data. The cell can be reconfigured by another element of the device.
- STOP. The cell is configured with a valid command but is currently not processing any data. The data is accepted by the cell (transferred to the input registers), but not further processed.
Durch diese verschiedenen Zustände und der Möglichkeit auf die verschiedene Register einer Zelle schreibend und lesend zuzugreifen, kann jede Zelle eine aktive Verwaltungsrolle einnehmen. Im Gegensatz dazu besitzen alle existierenden Bausteine dieser Art eine zentrale Verwaltungsinstanz, welche immer den gesamten Zustand des Bausteins kennen und handhaben muß.Through these different states and the possibility on the writing and reading various registers of a cell Each cell can have an active management role taking. In contrast, all have existing ones Building blocks of this kind a central administrative entity, which always know and handle the entire state of the device got to.
Um eine weitere Flexibilität zu erreichen gibt es eine weitere Klasse an Befehlen, die nach der ersten Ausführung ihre Art wechseln. Bezogen auf des Beispiel des ADD-Befehls sieht ein Befehl dann so aus:
- ADD-C-A. Das Ergebnis der ADD Funktion wird bei der ersten Ausführung des Befehls in das Befehls-Register der Zielzelle geschrieben. Bei jeder weiteren Ausführung wird das Ergebnis in das Operand-Register-A geschrieben.
- ADD-CA. The result of the ADD function is written to the instruction register of the target cell the first time the instruction is executed. In each further execution, the result is written to the operand register-A.
Diese Möglichkeit kann beliebig erweitert werden, so daß auch Befehle der Art ADD-C-V-A-C-...-B denkbar sind. Jeder Befehl kann alle permutierten Kombinationen der verschiedenen Adressierungs- und Trigger-Arten annehmen.This possibility can be extended as desired, so that too Commands of the type ADD-C-V-A-C -...- B are conceivable. Every command can all permuted combinations of different Accept addressing and trigger types.
Im bisherigen Verfahren war es notwendig, daß jedes zu konfigurierendes Element von einer externen Instanz einen RECONFIG-Trigger erhalten mußte, um in den Zustand 'rekonfigurierbar' überzugehen. Dies hat den Nachteil, daß für die Verteilung des RECONFIG-Triggers ein erheblicher Vernetzungsaufwand und Konfigurationsaufwand erforderlich war.In the previous process, it was necessary that each too configuring element from an external instance RECONFIG triggers had to get to the state to go 'reconfigurable'. This has the disadvantage that for the distribution of the RECONFIG trigger a considerable Networking effort and configuration effort was required.
Durch die Strukutur der Vernetzung, kann dieser Nachteil beseitigt werden. Alle konfigurierbaren Elemente, welche durch die Vernetzungsinformation zusammenhängen, stellen einen gerichteten Graphen dar. Ein solcher Graph kann mehrere Wurzeln (Quellen) und mehrere Blätter (Ziele) haben. Die konfigurierbaren Elemente werden so erweitert, daß sie einen eingehenden RECONFIG-Trigger entweder in Richtung ihrer ausgehenden Register, eingehenden Register, oder einer Kombinataion derer, propagieren. Durch diese Propagierung erhalten alle direkt mit dem konfigurierbaren Element verbundenen konfigurierbaren Elemente ebenfalls den RECONFIG-Trigger.Due to the structure of networking, this disadvantage can be eliminated. All configurable elements by the networking information is related, provide one directed graph. Such a graph may have several Have roots (sources) and multiple leaves (targets). The configurable elements are extended to include a incoming RECONFIG triggers either in the direction of their outgoing registers, incoming registers, or one Combination of those, propagate. Through this propagation get all directly with the configurable element connected configurable elements also the RECONFIG trigger.
Eine Konfiguration (Graph) kann nun komplett in den Zustand 'rekonfigurierbar' gebracht werden, in dem entweder an alle Wurzeln ein RECONFIG-Trigger geschickt wird und diese den RECONFIG-Trigger in Richtung der Ausgangsregister propagieren. Die Menge der Wurzeln in einem Graph, an die ein RECONFIG-Trigger geschickt werden muß, ist erheblich kleiner, als die Menger aller Knoten des Graphen. Dadurch wird eine erhebliche Minimierung des Aufwandes erreicht. Selbstverständlich kann ein RECONFIG-Trigger auch an alle Blätter geschickt werden. Der RECONFIG-Trigger wird in diesem Fall in Richtung der Eingangsregister propagiert.A configuration (graph) can now be completely in the state 'reconfigurable', in which either everyone Roots a RECONFIG trigger is sent and this the Propagate RECONFIG triggers in the direction of the output registers. The set of roots in a graph to which a RECONFIG trigger has to be sent is considerably smaller than the Menger of all nodes of the graph. This will be a significant Minimization of the effort achieved. Of course you can A RECONFIG trigger can also be sent to all sheets. The RECONFIG trigger in this case will be in the direction of Input register propagated.
Durch den Einsatz beider Möglichkeiten oder einer Mischung beider Verfahren, kann die minimale Menge an konfigurierbaren Elementen berechnet werden, an die ein RECONFIG-Trigger herangeführt werden muß.By using both options or a mixture both methods, the minimum amount of configurable Elements to which a RECONFIG trigger must be brought.
Die konfigurierbaren Elemente können einen Zusatz zu ihrem Status-Register bekommen, der angibt, ob ein eingehender RECONFIG-Trigger propagiert werden soll oder nicht. Diese Information wird dann benötigt, wenn zwei oder mehr verschiedene Graphen an ein oder mehreren Stellen zusammen hängen (also einen Übergang haben) und es nicht gewünscht ist, daß auch einer der anderen Graphen in den Zustand 'rekonfigurierbar' übergeht. Ein oder mehrere konfigurierbare Elemente verhalten sich also wie eine Schleuse.The configurable elements can be an addition to theirs Get status register that indicates whether an incoming RECONFIG trigger should be propagated or not. These Information is needed if two or more different graphs in one or more places together hang (ie have a transition) and it is not desired that also one of the other graphs in the state 'reconfigurable' passes. One or more configurable Elements behave like a lock.
Weiterhin kann das Status-Register derart erweitert werden, daß ein zusätzlicher Eintrag angibt, in welche Richtung ein eingehender RECONFIG-Trigger weitergegeben werden soll.Furthermore, the status register can be extended in such a way that an additional entry indicates in which direction incoming RECONFIG trigger should be passed.
Das beschriebene Verfahren, kann auf alle Arten von Triggern und/oder Daten angewandt werden. Es kann dadurch eine automatische Verteilungshierarchie hergestellt werden, welche sehr wenige Zugriffsmöglichkeiten von außen benötigt, um diese in Gang zu setzen.The procedure described may apply to all types of triggers and / or data. It can be a automatic Distribution hierarchy, which are very few External access needed to get this going put.
Eine besonders komplexe Variante des Aufrufes verschiedener
Macros durch eine Bedingung wird im Folgenden vorgestellt:
Bei der Implementierung der Triggervektoren (TRIGV) ist keine Begrenzung auf die Zustände "größer", "kleiner" und "gleich" erforderlich. Zur Auswertung von großen "CASE ... OF" Konstrukten kann eine beliebige Zahl n, die den Zustand des CASE repräsentiert, als Triggervektor (TRIGV-m) zu der oder den nachfolgen Zellen weitergeleitet werden. Mit anderen Worten gibt n den Vergleich innerhalb des CASE an, der bei Auswertung der anliegenden Daten zugetroffen hat. Zur Ausführung der innerhalb des CASE dem Vergleich zugeordneten Funktion wird n an die ausführenden Zellen weitergeleitet um die entsprechende Funktion zu selektieren. Während die Zellen im "größer/kleiner/gleich"-Fall mindestens 3 Konfigurationsregister benötigen, muß bei der Verwendung von TRIGV-m die Anzahl der Konfigurationsregister mindestens genau dem maximalen Wert von n (max (n)) entsprechen.When implementing the trigger vectors (TRIGV), there is no Limitation to the states "bigger", "smaller" and "equal" required. For the evaluation of big "CASE ... OF" Constructs can be any number n indicating the state of the CASE represents, as trigger vector (TRIGV-m) to the or be forwarded to the following cells. With others N indicates the comparison within the CASE which is at Evaluation of the applied data has applied. to Execution of the within the CASE the comparison assigned Function will be forwarded to the executing cells to select the corresponding function. While the cells in the "bigger / smaller / equal" case at least 3 Need configuration register, must when using TRIGV-m the number of configuration registers at least exactly correspond to the maximum value of n (max (n)).
TRIGV/TRIGV-m werden an die erste, die Daten verarbeitende Zelle gesendet. In dieser Zelle werden TRIGV/TRIGV-M ausgewertet und die Daten entsprechend verarbeitet. Zusammen mit den Daten wird TRIGV/TRIGV-m an die nachfolgenden Zellen weitergeleitet (propagiert). Dabei erfolgt eine Weiterleitung an alle Zellen, die aufgrund der Auswertung (IF oder CASE) eine bestimmte Funktion ausführen. Dabei ist die Weiterleitung direkt an die Weiterleitung der Datenpakete gekoppelt, d.h die Weiterleitung erfolgt synchron zu den Daten. Die zum Zeitpunkt t generierten TRIGV/TRIGV-m, werden mit den zum Zeitpunkt t an den ersten verarbeitenden Zellen (CELLS1, vgl. Fig. 5: 0502, 0505, 0507) anstehenden Daten verknüpft. TRIG/TRIG-V werden so weitergeleitet, daß die Vektoren mit den Daten zum Zeitpunkt t+1 an den zweiten verarbeitenden Zellen anliegen und zum Zeitpunkt t+2 an den dritten verarbeitenden Zellen usw. bis zum Zeitpunkt t+m TRIG/TRIG-V und die Daten an den (m-1)-ten Zellen und gleichzeitig letzten Zellen, die von dem TRIG/TRIG-V auslösendem Vergleich (IF/CASE) abhängig sind, anstehen. TRIGV / TRIGV-m will be the first to process the data Cell sent. In this cell, TRIGV / TRIGV-M evaluated and processed the data accordingly. Together with the data TRIGV / TRIGV-m is sent to the following cells forwarded (propagated). This is a forwarding to all cells that have been evaluated (IF or CASE) perform a specific function. Here is the forwarding coupled directly to the forwarding of the data packets, that is the Forwarding takes place synchronously to the data. The time t generated TRIGV / TRIGV-m, become with the at time t the first processing cells (CELLS1, see Fig. 5: 0502, 0505, 0507). TRIG / TRIG-V become like that forwarded that the vectors with the data at the time t + 1 abut the second processing cells and the Time t + 2 at the third processing cells, etc. to at the time t + m TRIG / TRIG-V and the data at the (m-1) th Cells and at the same time last cells from the TRIG / TRIG-V triggering comparison (IF / CASE) are pending.
Eine Verknüpfung erfolgt keinesfalls so, daß die zum Zeitpunkt t generierten TRIG/TRIG-V mit Daten verknüpft werden, die zu einem Zeitpunkt told<t an CELLS1 anlagen!In no case does a linkage occur such that the TRIG / TRIG-V generated at the instant t are linked to data which was applied to CELLS1 at a time t old <t!
Es ist in Sonderfällen erforderlich auf das Nicht-Vorhandensein
eines Triggers zu reagieren, d.h. ein
Triggerzustand tritt auf, jedoch wird keine Änderung des
Triggervektors ausgelöst. Auch in diesem Fall kann eine
sinnvolle und wichtige Information an die nachfolgenden Zellen
übertragen werden. Beispielsweise ist bei einem Vergleich auf
"größer", "kleiner", "gleich" das Triggersignal "gleich" nicht
vorhanden und ändert sich auch nicht, wenn vom Zustand
"kleiner" zum Zustand "größer" übergegangen wird. Dennoch
beinhaltet das Nicht-Vorhandensein von "gleich" eine
Information, nämlich "ungleich".
Um auf beide Zustände "vorhanden" und "nicht vorhanden"
reagieren zu können, wird ein Eintrag in das
Konfigurationsregister der Zelle hinzugefügt, das angibt, auf
welchen der Zustände reagiert werden soll.
Zudem wird zum Triggervektor TRIGV, der die Zustände "gleich",
"größer" und "kleiner" repräsentiert, ein Signal TRIGRDY
hinzugefügt, der das Auftreten eines Triggers anzeigt. Dies
ist notwendig, da der Zustand "nicht vorhanden" auf einem der
Vektoren keinen Aufschluß mehr über das Vorhandensein eines
Trigger an sich gibt.
TRIGRDY kann für ein Handshaking-Protokoll zwischen der
sendenen und empfangenden Zelle benutzt werden, indem die
empfangende Zelle einen TRIGACK generiert, sobald sie die
Triggervektoren ausgewertet hat. Erst nach Eintreffen des
TRIGACK nimmt die sendende Zelle den Triggerzustand zurück.
Dabei wird anhand eines Eintrages in das
Konfigurationsregisters festgelegt, ob bei Aussenden eines
Triggervektors auf den Erhalt eines TRIGACK gewartet werden
soll, oder ob der Triggerkanal unsynchronisiert abläuft.It is necessary in special cases to react to the absence of a trigger, ie a trigger state occurs, but no change of the trigger vector is triggered. Also in this case a meaningful and important information can be transmitted to the following cells. For example, when compared to "greater,""less,""equal," the trigger signal "equal" does not exist and does not change when transitioning from the "less" state to the "greater" state. Nonetheless, the absence of "equal" implies information, "unequal".
To respond to both "present" and "not present" states, an entry is added to the configuration register of the cell indicating which of the states should be responded to.
In addition, a signal TRIGRDY indicating the occurrence of a trigger is added to the trigger vector TRIGV representing the states "equal", "greater" and "smaller". This is necessary because the "nonexistent" state on one of the vectors is no longer an indication of the presence of a trigger per se.
TRIGRDY can be used for a handshaking protocol between the sending and receiving cells by the receiving cell generating a TRIGACK as soon as it has evaluated the trigger vectors. Only after the arrival of the TRIGACK does the sending cell take back the trigger state. It is determined by an entry in the configuration register, whether to wait for the transmission of a trigger vector to receive a TRIGACK, or whether the trigger channel runs unsynchronized.
In Mikroprozessoren neuester Architektur werden bedingte
Sprünge nicht mehr nach dem bekannten Verfahren der Branch-Prediction,
also der Vorhersage eines Sprunges ausgeführt. Die
spekulative Vorhersage von Sprüngen, die zur
Leistungssteigerung von Prozessoren eingeführt wurde,
berechnete Sprünge aufgrund von spekulativen Algorithmen
voraus und mußte bei fehlerhaften Berechnungen die gesamte
Prozessorpipeline neu laden, was zu erheblichen
Leistungsverlusten führte.
Um diese Verluste zu eleminieren wurde das neue Predicate/NOP-Verfahren
eingeführt. Dabei ist jedem Befehl ein ein Bit
breites Status-Flag zugeordnet, das anzeigt, ob der Befehl
ausgeführt werden soll - oder nicht. Dabei kann eine beliebige
Menge an Statusflags existieren. Die Zuordnung von Befehlen zu
Status-Flags geschieht durch einen Compiler während der
Übersetzung des Codes. Die Status-Flags werden von den ihnen
zugeordneten Vergleichsoperationen zur Ausführungzeit
verwaltet und zeigen das Ergebnis des jeweiligen Vergleiches
an. In state-of-the-art microprocessors, conditional jumps are no longer performed using the familiar method of branch prediction, that is, the prediction of a jump. The speculative prediction of jumps introduced to increase the performance of processors predicted jumps due to speculative algorithms and had to reload the entire processor pipeline on erroneous calculations, resulting in significant performance losses.
To eliminate these losses, the new Predicate / NOP procedure was introduced. Each command is assigned a one-bit status flag indicating whether the command should be executed or not. There can be any amount of status flags. The assignment of commands to status flags is done by a compiler during the translation of the code. The status flags are managed by the comparison operations assigned to them at execution time and display the result of the respective comparison.
Je nach Zustand des einem Befehl zugeordneten Status-Flag wir
der Befehl dann vom Prozessor ausgeführt (sofern das Status-Flag
"ausführen" anzeigt) oder der Befehl wird nicht
ausgeführt und durch einen NOP ersetzt (sofern das Status-Flag
"nicht ausführen" anzeigt). Ein NOP steht für "No OPeration",
was bedeutet, daß der Prozessor in diesem Zyklus keine
Operation ausführt. Dadurch geht der Zyklus für sinnvolle
Operationen verloren.
Zur Optimierung des Zyklusverlustes werden zwei Möglichkeiten
vorgeschlagen:Depending on the state of the status flag associated with a command, the command is then executed by the processor (if the status flag indicates "execute") or the command is not executed and replaced with a NOP (if the status flag indicates "do not execute") ). An NOP stands for "No OPeration", which means that the processor does not perform any operation in this cycle. As a result, the cycle for meaningful operations is lost.
To optimize the cycle loss, two options are proposed:
Eine moderner Mikroprozessor besitzt mehrere relativ
unabhängige Rechenwerke.
Gemäß dem hier vorgestellten Trigger-Prinzip können die
einzelnen Recheneinheiten mit mehreren Befehlsregistern
ausgestattet werden, wobei ein Befehlsregister eines
Mikroprozessorrechenwerkes synonym für ein
Konfigurationsregister, gemäß üblichen FPGA, DFP, o.ä.
Bausteinen, steht. Die Auswahl des jeweilig aktiven
Befehlsregisters erfolgt
According to the trigger principle presented here, the individual arithmetic units can be equipped with a plurality of instruction registers, wherein a command register of a microprocessor processor synonymous for a configuration register, according to usual FPGA, DFP, o.ä. Blocks, stands. The selection of the respective active command register takes place
Eine besondere Ausgestaltung bietet sich durch VLIW-Befehlssätze. So kann innerhalb eines Befehlswortes mehrere möglichen, von einem Vergleich abhängenden, Befehle zu einem Befehl zusammengefaßt werden. Ein VLIW-Wort beliebiger Breite wird in eine beliebige Menge an Befehlen (Codes) unterteilt. Jeder einzelne dieser Codes wird durch einen Triggervektor oder Status-Vektor referenziert. Das bedeutet, zur Laufzeit wird einer der vorhandenen Codes aus dem VLIW-Wort ausgewählt und verarbeitet. A particular embodiment is provided by VLIW instruction sets. So can within a command word several possible, depending on a comparison, commands to one Command be summarized. A VLIW word of arbitrary width is subdivided into any set of commands (codes). Each of these codes is controlled by a trigger vector or status vector referenced. That means at runtime one of the existing codes is selected from the VLIW word and processed.
In der Tabelle ist ein mögliches VLIW-Wort mit vier Codes abgebildet, auf das ein 2-bittiger Triggervektor oder ein 2-bittiges Statusflag referenziert: The table shows a possible VLIW word with four codes referenced by a 2-bit trigger vector or a 2-bit status flag:
Zu den in DFPs üblichen Konfigurationsregistern kommt ein Statusregister und ein Konfigurationsregister hinzu. Beide Register werden vom PLU-Bus angesteuert und haben Verbindung zur Zustandsmaschine der Ablaufsteuerung der jeweiligen Zelle.The usual configuration registers in DFPs come in Status register and a configuration register added. Both Registers are controlled by the PLU bus and are connected to the state machine of the flow control of the respective cell.
In FPGAs und DFPs werden die konfigurierbaren Register M-/F-PLUREG
ausschließlich über den PLU-Bus, der die Verbindung zur
Ladelogik darstellt, verwaltet. Um die erfindungsgemäße
Funktion zu gewährleisten muß nunmehr eine zusätzliche
Zugriffsmöglichkeit durch den normalen Systembus zwischen den
Zellen möglich sein. Dasselbe gilt für die neuen Status- und
Konfigurationsregister.
Dabei ist nur der Teil des Systembusses für die Register
relevant, der über die BM-UNIT, also dem Interface zwischen
den Systembusse und der PAE, mit der PAE vernetzt ist.
Daher wird der Bus von der BM-UNIT an die Register
weitergeleitet, wo vorgeschaltete Multiplexer oder
vorgeschaltete Tore die Umschaltung zwischen dem PLU-Bus und
dem für die PAE relevanten Systembus übernehmen.
Dabei sind die Multiplexer oder Tore so geschaltet, daß sie
immer den für die PAE relevanten Systembus durchschalten,
außer nach einem Rücksetzen des Bausteines (RESET) oder wenn
der RECONFIG-Trigger aktiv ist.In FPGAs and DFPs, the M- / F-PLUREG configurable registers are managed only through the PLU bus, which is the connection to the load logic. In order to ensure the function according to the invention, an additional accessibility by the normal system bus between the cells must now be possible. The same applies to the new status and configuration registers.
Only the part of the system bus is relevant for the registers, which is networked with the PAE via the BM-UNIT, ie the interface between the system buses and the PAE.
Therefore, the bus is forwarded by the BM-UNIT to the registers, where upstream multiplexers or upstream ports take over the switching between the PLU bus and the system bus relevant for the PAE.
The multiplexers or gates are switched in such a way that they always switch through the system bus relevant for the PAE, except after a reset of the block (RESET) or when the RECONFIG trigger is active.
Ein konfigurierbares Element kann Trigger von mehreren Quellen gleichzeitig empfangen. Durch diese Möglichkeit kann mit Hilfe von Maskierungs-Registern eine flexiblere Semantik der Trigger erreicht werden.A configurable item can trigger from multiple sources received at the same time. This possibility can help with of masking registers, a more flexible semantics of the triggers be achieved.
Anstatt eines Konfigurationsregisters besitzt eine PAE mehrere (max(n)) Konfigurationsregister.Instead of a configuration register, a PAE has several (max (n)) configuration register.
Den Konfigurationsregistern nachgeschaltet ist ein Multiplexer, der eine der möglichen Konfigurationen auswählt. The configuration registers are followed by a Multiplexer that selects one of the possible configurations.
Die Steuerung des Multiplexers erfolgt durch eine separate oder in die PAE-Statemachine integriert Statemachine, die den Multiplexer anhand eingehender Triggervektoren steuert.The control of the multiplexer is done by a separate or in the PAE state machine integrates Statemachine, the Multiplexer controls on the basis of incoming trigger vectors.
Ein konfigurierbares Element kann ein Maskierungs-Register
enthalten, in dem eingestellt werden kann, auf welchen
Trigger-Eingängen, ein
Trigger-Signal anliegen muß, so daß die Bedingungen für eine
Aktion des konfigurierbaren Elements, erfüllt sind. Ein
konfigurierbares Element reagiert nicht nur auf einen Trigger,
sondern auf eine eingestellte Kombination aus Triggern.
Weiterhin kann ein konfigurierbares Element eine Priorisierung
gleichzeitig eingehender Trigger vornehmen.
Eingehende Trigger werden anhand des TRIGRDY-Signals erkannt.
Dabei werden die Triggervektoren gemäß zusätzlich in den
Konfigurationsregistern vorhandenen Konfigurationsdaten
ausgewertet.A configurable element may include a masking register in which to set on which trigger inputs, a trigger signal must be applied so that the conditions for an action of the configurable element are met. A configurable element not only responds to a trigger, but to a set combination of triggers. Furthermore, a configurable element can prioritize simultaneous incoming triggers.
Incoming triggers are detected by the TRIGRDY signal. In this case, the trigger vectors are evaluated in accordance with additional configuration data available in the configuration registers.
Sobald die Triggervektoren ausgewertet sind, wird ein TRIGACK zur Bestätigung des Triggervektors generiert.Once the trigger vectors are evaluated, a TRIGACK becomes generated to confirm the trigger vector.
Die BM-Unit wird so erweitert, daß sie vom Bus kommende Trigger gemäß der Konfiguration im M-PLUREG an die Sync-Unit und SM-Unit weiterreicht. Von der EALU generierte Trigger (z.B. Vergleicherwerte "größer", "kleiner", "gleich", 0-Detektoren, Vorzeichen, Überträge, Fehlerzustände (Division durch 0, etc.), etc.) werden gemäß der Verschaltungsinformation im M-PLUREG von der BM-UNIT an den Bus weitergeleitet.The BM unit is extended so that it comes from the bus Trigger according to the configuration in the M-PLUREG to the Sync-Unit and SM-unit passes on. Trigger generated by the EALU (e.g., comparators "larger," "smaller," "equal," 0 detectors, Signs, carries, error states (Division by 0, etc.), etc.) are in accordance with Interconnection information in the M-PLUREG from the BM-UNIT to the Bus forwarded.
Der Systembus, also das Bussystem zwischen den Zellen (PAEs),
wird dahingehend erweitert, daß zusammen mit den Daten die
Informationen über die Zielregister übertragen werden. Das
bedeutet, eine Adresse wird mitgeschickt, die beim
Datenemfänger das gewünschte Register selektiert.
Ebenfalls wird der Systembus um die unabhängige Übertragung
von Triggervektoren und -handshakes erweitert.The system bus, ie the bus system between the cells (PAEs), is extended to the effect that the information about the destination registers is transmitted together with the data. This means that an address is sent, which selects the desired register at the data collector.
The system bus is also extended by the independent transmission of trigger vectors and handshakes.
Das Makro 0103 soll in diesem Beispiel 70 mal ausgeführt
werden. Eine Ausführung des Makros benötigt 26 Taktzyklen. Das
bedeutet, daß nur alle 26 Taktzyklen der Zähler 0101 um eins
veringert werden darf. Ein Problem bei frei programmierbaren
Bausteinen ist nun, daß nicht immer garantiert werden kann,
daß auch wirklich nach 26 Takten die Abarbeitung des Makros
0103 abgeschlossen ist. Eine Verzögerung kann zum Beispiel
dadurch entstehen, daß ein Makro, welches die Eingangsdaten
für Makro 0103 liefern soll, plötzlich 10 Taktzyklen länger
benötigt. Aus diesem Grund sendet die Zelle in Makro 0103 ein
Trigger Signal an den Zähler 0101, durch welche das Ergebnis
der Berechnung an ein weiteres Makro gesandt wird.
Gleichzeitig wird die Verarbeitung des Makros 0103 durch die
gleiche Zelle gestoppt. Diese Zelle 'weis' genau, daß die
Bedingung für die Beendigung einer Berechnung erreicht wurde.The macro 0103 should be executed 70 times in this example
become. One execution of the macro requires 26 clock cycles. The
means that only every 26 clock cycles, the
Das gesendete Trigger-Signal ist in diesem Fall ein STEP-Trigger, welcher veranlaßt, daß der Zähler 0101 einmal seine konfigurierte Funktion ausführt. Der Zähler zählt seinen Zählerwert um eine herunter und vergleicht, ob er den Wert 0 erreicht hat. Ist dies nicht der Fall, wird ein GO-Trigger an das Makro 0103 abgeschickt. Dieses GO-Trigger-Signal veranlaßt das Makro 0103 seine Funktion wieder aufzunehmen. The sent trigger signal in this case is a STEP trigger, which causes counter 0101 to be its performs the configured function. The counter counts his Counter value down one and compares if it is 0 has reached. If this is not the case, a GO trigger is activated the macro 0103 sent. This GO trigger signal causes the macro 0103 resume its function.
Dieser Vorgang wiederholt sich solange, bis der Zähler 0101
den Wert 0 erreicht hat. In diesem Fall wird ein Trigger-Signal
an das Makro 0102 geschickt und lößt dort eine Funktion
aus.
Durch dieses Zusammenspiel von Triggern kann eine sehr
feingranulare Synchronisation erreicht werden.This process is repeated until the
Through this interaction of triggers a very fine granular synchronization can be achieved.
Figur 2 entspricht der Grundidee her Figur 1. Die Funktion in
Element 0202 ist diesesmal jedoch kein Zähler sondern ein
Vergleicher. Das Makro 0201 schickt nach jedem
Verarbeitungsdurchlauf einen Verleichswert mit an den
Vergleicher 0202. Je nach Ausgang des Vergleichs, werden
wiederum verschiedene Trigger angesteuert um zum Beispiel eine
Aktion in den Makros 0203 zu veranlassen. Das in Figur 2
implementierte Konstrukt entspricht dem einer IF-Abfrage in
einer Progammiersprache.FIG. 2 corresponds to the basic idea of FIG. 1. The function in
Wie in Figur 2 werden hier mehrere Vergleicher 0301, 0302
eingesetzt, um die Konstruktion eines IF-ELSE-ELSE Konstruktes
(oder einer Mehrfachauswahl) zu implementieren. Durch die
Verwendung verschiedentster Arten von Triggern und
Verbindungen dieser Trigger zu den Makros 0303, 0304 können
sehr komplexe Abläufe einfach implementiert werden. As in FIG. 2,
zeigt die Unterschiede zu üblichen FPGAs und DFPs. Das
hinzugefügte Konfigurationsregister (0401) und das
hinzugefügte Statusregister (0402) haben über den Bus (0407)
Verbindung zur SM-UNIT. Die Register 0401, 0402, F- und M-PLUREG
sind über einen internen Bus 0206 mit einem Tor 0403
verbunden. Dieses verbindet den internen Bus (0406) je nach
Stellung mit dem PLU-Bus 0405 um eine Konfiguration durch die
PLU zu ermöglichen oder über einen Bus 0408 mit dem BM-UNIT.
Diese schaltet je nach Adressierung auf dem Datenbus 0404 die
Daten zu den O-REG weiter oder zu dem adressierten Register
0401, 0402, F- oder M-PLUREG.
Die BM-UNIT (0411) sendet über 0415 Triggersignale an die
SYNC-UNIT (0412). Von der EALU erhält 0411 über 0414
Ergebnisse ("gleich", "größer", "kleiner", "Ergebnis = 0",
"Ergebnis positiv", "Ergebnis negativ", Überlauf (positiv und
negativ), etc.) um diese in Triggervektoren umzuwandeln.
Alternativ können von der SYNC-UNIT oder STATE-MACHINE
generierte Zustände über 0415 an die BM-UNIT übermittelt
werden.
Die von der BM-UNIT an den Bus (0404) übertragenen
Triggersignale können je nach Konfiguration der auswertenden
konfigurierbaren Elemente dort als STEP/STOP/GO-, RECONFIG-Trigger
oder zur Auswahl eines Konfigurationsregisters
verwendet werden. Welche Funktion ein generierter Trigger bei
den auswertenden konfigurierbaren Elementen erfüllt, wird
durch die Vernetzung (0404) und die Konfiguration der
jeweiligen konfigurierbaren Elemente bestimmt. Ein und
derselbe Trigger kann bei verschiedenen konfigurierbaren
Elementen unterschiedliche Funktion haben.
0416 ist der Ergebnisausgang von R-REGsft zum Bussystem 0404
und den nachfolgenden konfigurierbaren Elementen.shows the differences to common FPGAs and DFPs. The added configuration register (0401) and the added status register (0402) are connected to the SM-UNIT via the bus (0407). The
The BM-UNIT (0411) sends over 0415 trigger signals to the SYNC-UNIT (0412). From the EALU, 0411 gets over 0414 results ("equal", "greater", "smaller", "result = 0", "result positive", "result negative", overflow (positive and negative), etc.) around these in To convert trigger vectors. Alternatively, states generated by the SYNC-UNIT or STATE MACHINE can be transmitted via 0415 to the BM-UNIT.
Depending on the configuration of the evaluable configurable elements, the trigger signals transmitted by the BM-UNIT to the bus (0404) can be used there as a STEP / STOP / GO, RECONFIG trigger or to select a configuration register. The function of a generated trigger in the evaluating configurable elements is determined by the networking (0404) and the configuration of the respective configurable elements. One and the same trigger can have different functions for different configurable elements.
0416 is the result output from R-REGsft to
In Figur 5 ist das zeitliche Verhalten zwischen generierten
Triggern und den durch die Trigger selektierten
Konfigurationsregistern beispielsweise aufgezeigt. 0501
generiert durch einen Vergleich den Triggervektor TRIGV, der
die Werte "equal" (gleich), "greater" (größer) oder "less"
(kleiner) annehmen kann. Die konfigurierbaren Elemente 0502-0504
verarbeiten Daten abhängig vom Vergleich (0501). Dabei
ist die Verarbeitung von den Vergleichswerten "equal",
"greater" und "less" abhängig. Die Verarbeitung ist
gepipelinet, das heißt, ein Datenwort wird nacheinander von
0502, dann von 0503 und zuletzt von 0504 modifiziert.
0505 verarbeitet ebenfalls Daten in Abhängigkeit von 0501.
Dabei beschränkt sich die Abhängigkeit allerdings auf die
Vergleichswerte "less". "greater" UND "equal" bewirken die
gleiche Funktionsausführung. Es werden also die Werte
"kleiner" und "größer oder gleich" unterschieden. 0506 ist in
der Pipeline 0505 nachgeschaltet. Dabei reagiert 0506 auf
"equal", "greater" und "less" unterschiedlich (vgl. 0503).
0507 ist ebenfalls von 0501 abhängig, jedoch werden die Werte
"gleich" und "ungleich (kleiner oder größer)" unterschieden.
Das Ausführungsbeispiel beginnt bei dem Zeitpunkt t (Fig. 5a)
und endet am Zeitpunkt (t+3). Durchlaufen Daten eine der
Pipelines (0502, 0503, 0504 bzw. 0505, 0606) werden sie bei
jeder Ausführung in einer der Makros (0502-0506) um einen
Taktzyklus verzögert. Längere und ins besondere
unterschiedliche Verzögerungen können ebenfalls auftreten. Da
zwischen den Daten und Triggersignalen ein
Handshakemechanismus zur automatischen Synchronisation (gemäß
dem Stand der Technik, bzw. dieser Schrift (TRIGACK/TRIGRDY))
besteht, muß auf diesen Fall nicht gesondert eingegangen
werden.
Durch die Verzögerungen stehen zum Zeitpunkt t beispielsweise
zwischen der zweiten und dritten Pipelinestufe die Daten und
Triggersignale des früheren Zeitpunktes t-2 an.
Von Fig. 5a bis Fig 5d ist der Ablauf von 3 Taktzyklen (t bis
t+2) dargestellt. FIG. 5 shows, for example, the temporal behavior between generated triggers and the configuration registers selected by the triggers. 0501 generates by comparison the trigger vector TRIGV, which can take the values "equal", "greater" or "less". The configurable elements 0502-0504 process data depending on the comparison (0501). The processing depends on the comparison values "equal", "greater" and "less". The processing is pipelined, that is, one data word is modified successively from 0502, then from 0503 and last from 0504. 0505 also processes data as a function of 0501. However, the dependency is restricted to the comparison values "less". "greater" AND "equal" cause the same function execution. Thus, the values "smaller" and "greater or equal" are distinguished. 0506 is in the
Due to the delays, the data and trigger signals of the earlier point in time t-2 are present at time t, for example between the second and third pipeline stages.
From Fig. 5a to Fig. 5d, the sequence of 3 clock cycles (t to t + 2) is shown.
Die von 0501 generierten Triggervektoren (also die
Vergleichsergebnisse) sehen über t betrachtet wie folgt aus:
In Figur 6 ist die Integration mehrerer Konfigurationsregister
in ein konfigurierbares Element dargestellt. In diesem
Ausführungsbeispiel existieren drei Konfigurationsregister
(0409) nach Fig. 4. Diese werden über den Bus 0406
konfiguriert. Über das Bussystem 0411 erhält eine
Steuereinheit (0601) (die auch als Statemachine ausgestaltet
werden kann) die Signale TRIGV und TRIGRDY. Die Steuereinheit
schaltet gemäß TRIGV eines der Konfigurationsregister über den
Multiplexer (0602) auf das Bussystem 0410, das zu den
Steuermechanismen des konfigurierbaren Elementes führt. Zur
Synchronisation der Triggersignale mit den internen Abläufen
des konfigurierbaren Elementes besitzt 0601 einen
Synchronisationsausgang, der an die Synchronisationseinheit
(0412) oder die Statemachine (0413) führt. Zur Synchronisation
der Triggerquellen generiert 0601 das Handshakesignal TRIGACK
nach Verarbeitung des eingegangenen Triggers.
In dem Ausführungsbeispiel ist jedes der
Konfigurationsregister (0409) einem TRIGV vom Typ ("equal",
"greater", "less") zugeordnet. Werden bei jedem der
Triggertypen andere Operationen ausgeführt, so ist jedes der
Konfigurationsregister unterschiedlich belegt. Wird
beispielsweise nur aus "equal" und "not equal" unterschieden,
sind die Konfigurationsregister für die Typen "less" und
"greater" gleich belegt, nämlich mit der Konfiguration für
"not equal". Das Konfigurationsregister für "equal" besitzt
eine andere Belegung. Das bedeutet, anhand der Belegung der
Konfigurationsregister kann der Vergleich genauer spezifiziert
werden, wobei jedes konfigurierbare Element diese
Spezifizierung unterschiedlich gestalten kann.
Über das Register 0603 wird TRIGV zusammen mit dem Ergebnis an
die nachfolgenden konfigurierbaren Elemente weitergeleitet um
ein Pipelining gem. Fig. 5a-d zu ermöglichen. Das Register und
die Handshakesignale werden von 0412 oder 0413 gesteuert. Die
Triggerinformation kann zusammen mit dem Ergebnis aus dem R-REGsft
oder zeitversetzt, also vor dem Ergebnis, über das
Interface 0416 an die nachfolgenden konfigurierbaren Elemente
übertragen werden.
Eine zeitversetzte Übertragung bietet den Vorteil, daß keine
zusätzliche Zeit zum Einstellen der Konfigurationsregister in
den nachfolgenden konfigurierbaren Elementen erforderlich ist,
da die Einstellung bereits vor Erhalt der Daten (zeitgleich
mit dem Freigeben des Ergebnisses) erfolgt. Ein entsprechendes
Timing (bezogen auf bezogen auf DFP übliche Abläufe) ist in
Fig. 6a dargestellt. Die Triggervektoren (0615) werden mit der
steigenden Flanke (0613) des Bausteintaktes (0614) generiert.
Mit der fallenden Flanke (0612) werden die Trigger in den
konfigurierbaren Elementen ausgewertet. Die Daten laufen
phasenverschoben, d.h. sie werden bei 0612 freigegeben und mit
0613 eingelesen. Während 0610 werden die Triggervektoren über
den Bus übertragen und die Daten berechnet. Während 0611
werden die Daten über den Bus übertragen und die Trigger
berechnet, bzw. die Konfigurationsregister der
konfigurierbaren Elemente gemäß den bei 0613 gespeicherten
Daten ausgewählt und die Konfiguration entsprechend
eingestellt.FIG. 6 shows the integration of a plurality of configuration registers into a configurable element. In this embodiment, there are three configuration registers (0409) of FIG. 4. These are configured over the
In the embodiment, each of the configuration registers (0409) is associated with a TRIGV of type ("equal", "greater", "less"). If other operations are performed on each of the trigger types, each of the configuration registers is allocated differently. If, for example, only "equal" and "not equal" are distinguished, the configuration registers for the types "less" and "greater" are assigned the same, namely with the configuration for "not equal". The configuration register for "equal" has a different assignment. That is, based on the assignment of the configuration registers, the comparison can be specified more precisely, whereby each configurable element can make this specification different.
Via the
A time-offset transmission has the advantage that no additional time is required for setting the configuration registers in the subsequent configurable elements, since the adjustment is made before the data is received (at the same time as the result is released). A corresponding timing (based on DFP usual processes) is shown in Fig. 6a. The trigger vectors (0615) are generated with the rising edge (0613) of the block clock (0614). With the falling edge (0612), the triggers in the configurable elements are evaluated. The data are out of phase, ie they are released at 0612 and read in with 0613. During 0610, the trigger vectors are transferred over the bus and the data is calculated. During 0611, the data is transferred over the bus and the triggers are calculated, or the configuration registers of the configurable elements are selected according to the data stored at 0613 and the configuration is set accordingly.
Figur 7a zeigt die Verwaltung von Sprüngen nach dem Predicate/NOP-Verfahren gemäß dem Stand der Technik. Beim
Ausführen eines Vergleiches wird ein Eintrag im Predicate-Register
(0704) gesetzt. Dieser Eintrag wird während der
Ausführung von Befehlen abgefragt und legt fest, ob ein Befehl
ausgeführt wird (der Befehl innerhalb der von dem bedingten
Sprung angesprochenen Codesequenz liegt), oder durch einen NOP
ersetzt wird (der Befehl liegt in einer anderen als der durch
den bedingten Sprung angesprochenen Codesequenz). Der Befehl
steht dabei in dem Befehlsregister 0701. Das Predicate-Register
enthält eine Mehrzahl von Einträgen, die einer
Mehrzahl von Operationen und/oder einer Mehrzahl von
Rechenwerken zugeordnet sind. Diese Zuordnung wird zur
Compile-Zeit des Programmes vom Compiler vergeben. Die
Zuordnungsinformation (0707) wird dem Befehl, der in das
Befehlsregister eingetragen wird zugeordnet, so daß ein
eindeutiger Eintrag durch den jeweiligen Befehl referenziert
wird.
Durch 0703 wird ausgewählt ob der Befehl aus 0701 oder ein NOP
ausgeführt wird. Bei der Ausführung eines NOPs geht ein
Taktzyklus verloren. 0703 hat dabei symbolischen Charakter, da
prinzipiell auch die Ausführungseinheit (0702) direkt von 0704
angesteuert werden könnte.Figure 7a shows the management of jumps according to the predicate / NOP method according to the prior art. When making a comparison, an entry is set in the Predicate register (0704). This entry is polled while executing instructions and determines whether an instruction is executed (the instruction is within the code sequence addressed by the conditional branch) or is replaced by a NOP (the instruction is in a different condition than the conditional one Jump addressed code sequence). The command is in the
0703 selects whether the command is executed from 0701 or a NOP. When executing a NOP, one clock cycle is lost. 0703 has thereby symbolic character, since in principle also the execution unit (0702) could be controlled directly from 0704.
Bei der Ausführung eines Vergleiches / bedingten Sprunges wird
das zu adressierende Befehlsregister, also das Ergebnis des
Vergleiches, als Eintrag (0708) in dem Predicate-Register 0706
abgelegt, wobei 0706 aus einer Mehrzahl solcher Einträge
besteht. Der jeweilige Eintrag (0708) in 0706 ist dabei so
breit, daß alle möglichen Befehlsregister einer
Ausführungseinheit (0702) durch ihn adressiert werden können,
das bedeutet, bei n Befehlsregistern ist die Eintragsbreite
Iog2(n). Das Predicate-Register enthält eine Mehrzahl von
Einträgen, die einer Mehrzahl von Operationen und/oder einer
Mehrzahl von Rechenwerken zugeordnet sind. Diese Zuordnung
wird zur Compile-Zeit des Programmes vom Compiler vergeben.
Die Zuordnungsinformation (0707) wird der Menge an Befehlen,
die in die Befehlsregister eingetragen wird zugeordnet, so daß
ein eindeutiger Eintrag durch die jeweilige Befehle
referenziert wird.
Über den Multiplexer wird ausgewählt, welches Befehlsregister
den Code für die momentane Ausführung liefert.
Durch diese Technik wird bei bedingten Sprüngen auch im
ungünstigsten Fall anstatt eines NOPs ein gültiger Befehl
ausgeführt, wodurch kein Taktzyklus verschwendet wird. In the execution of a compare / conditional jump, the instruction register to be addressed, ie the result of the comparison, is stored as an entry (0708) in the
The multiplexer selects which command register supplies the code for the current execution.
This technique performs a valid command on conditional jumps, even in the worst case, instead of a NOP, which does not waste any clock cycle.
- Baugruppemodule
- -UNIT-UNIT
- Betriebsartoperating mode
- -MODE-FASHION
- Multiplexermultiplexer
- -MUX-MUX
- Negiertes SignalNegated signal
- not-neces-
- Register für PLU sichtbarRegister for PLU visible
- -PLUREG-PLUREG
- Register internRegister internally
- -REG-REG
- Schieberegistersshift register
- -sft-sft
BM-UNIT Einheit zum Aufschalten der Daten auf die Bussysteme außerhalb der PAE. Das Aufschalten geschieht über Multiplexer für die Dateneingänge und Tore für die Datenausgänge. oACK-Leitungen sind als Open-Kollektor-Treiber implementiert. Die BM-UNIT wird durch das M-PLUREG gesteuert. BM-UNIT Unit for connecting the data to the bus systems outside the PAE. The connection takes place via multiplexers for the data inputs and gates for the data outputs. oACK lines are implemented as open collector drivers. The BM-UNIT is controlled by the M-PLUREG.
Datenempfänger Die Einheit(en), die Ergebnisse der PAE weiterverarbeitet/-arbeiten Data receiver The unit (s) that process / process the results of the PAE
Datensender Die Einheit(en), die Daten für die PAE als Operanden zur Verfügung stellt/stellenData Sender The unit (s) that provide data for the PAE as operands
Datenwort Ein Datenwort besteht aus einer beliebig langen Bit-Reihe. Diese Bit-Reihe stellt eine Verarbeitungseinheit für eine Anlage dar. In einem Datenwort können sowohl Befehle für Prozessoren o.ä. Bausteine sowie rein Daten kodiert werden. Data word A data word consists of an arbitrarily long bit series. This bit series represents a processing unit for a system. In a data word, both commands for processors or the like. Blocks as well as purely data are coded.
DFP Datenflußprozessor nach Patent/Offenlegung DE 44 16 881 DFP data flow processor according to patent / disclosure DE 44 16 881
DPGA Dynamisch konfigurierbare FPGAs. Stand der Technik DPGA Dynamically configurable FPGAs. State of the art
EALU Erweiterte arithmetisch logische Einheit. ALU, die um Sonderfunktionen, die zum Betrieb einer Datenverarbeitungseinrichtung gemäß DE 441 16 881 A1 benötigt werden oder sinnvoll sind erweitert wurde. Dies sind ins besondere Zähler. EALU Extended arithmetic logical unit. ALU, which has been extended to special functions that are needed or useful for operating a data processing device according to DE 441 16 881 A1. These are in particular counters.
Elemente Sammelbegriff für alle Arten von in sich abgeschlossenen Einheiten, welche als Stück in einem elektronischen Baustein zum Einsatz kommen können. Elemente sind also:
- Konfigurierbare Zellen aller Art
- Cluster
- RAM-Blöcke
- Logik
- Rechenwerke
- Register
- Multiplexer
- I/O Pins eines Chips
- Configurable cells of all kinds
- cluster
- RAM blocks
- logic
- calculators
- register
- multiplexer
- I / O pins of a chip
Ereignis Ein Ereignis kann durch ein Hardwareelement in irgendeiner zur Anwendung passenden Art und Weise ausgewertet werden und als Reaktion auf diese Auswertung eine bedingte Aktion auslösen. Ereignisse sind somit zum Beispiel:
- Taktzyklus einer Rechenanlage.
- internes oder externes Interrupt-Signal.
- Trigger-Signal von anderen Elementen innerhalb des Bausteines.
- Vergleich eines Datenstroms und/oder eines Befehlstroms mit einem Wert.
- Input/Output Ereigenisse.
- Ablaufen, überlaufen, neusetzen etc. eines Zählers.
- Auswerten eines Vergleichs.
- Clock cycle of a computer system.
- internal or external interrupt signal.
- Trigger signal from other elements within the building block.
- Comparison of a data stream and / or a command stream with a value.
- Input / Output events.
- Run off, overflow, reset etc. of a counter.
- Evaluating a comparison.
FPGA Programmierbarer Logikbaustein. Stand der Technik. F-PLUREG Register in dem die Funktion der PAE gesetzt wird. Ebenfalls wird der OneShot- und Sleep-Mode gesetzt. Das Register wird von der PLU beschrieben.} FPGA programmable logic device. State of the art. F-PLUREG Register in which the function of the PAE is set. Also, the OneShot and sleep mode is set. The register is described by the PLU.}
H-Pegel Logisch 1 Pegel, abhängig von der verwendeten Technologie H level Logical 1 level, depending on the technology used
konfigurierbares Element Ein konfigurierbares Element stellt eine Einheit eines Logik-Bausteines dar, welche durch ein Konfigurationswort für eine spezielle Funktion eingestellt werden kann. Konfigurierbare Elemente sind somit, alle Arten von RAM Zellen, Multiplexer, Arithmetische logische Einheiten, Register und alle Arten von interner und externer Vernetzungsbeschreibung etc.} Configurable element A configurable element represents a unit of a logic device which can be set by a configuration word for a specific function. Configurable elements are thus, all types of RAM cells, multiplexers, arithmetic logic units, registers and all kinds of internal and external network description etc.}
konfigurierbare Zelle Siehe Logikzellen configurable cell See logic cells
Konfigurieren Einstellen der Funktion und Vernetzung einer logischen Einheit, einer (FPGA)-Zelle oder einer PAE (vgl. umkonfigurieren). Configure Setting the function and networking of a logical unit, a (FPGA) cell or a PAE (see Reconfigure).
Konfigurationsdaten Beliebige Menge von Konfigurationsworten. Configuration data Any set of configuration words.
Konfigurationsspeicher Der Konfigurationspeicher enthält ein oder mehrere Konfigurationsworte. Configuration memory The configuration memory contains one or more configuration words.
Konfigurationswort Ein Konfigurationswort besteht aus einer beliebig langen Bit-Reihe. Diese Bit-Reihe stellt eine gültige Einstellung für das zu konfigurierende Element dar, so das eine funktionsfähige Einheit entsteht. Configuration word A configuration word consists of an arbitrarily long bit series. This bit row represents a valid setting for the element to be configured, thus creating a functional unit.
Ladelogik Einheit zum Konfigurieren und Umkonfigurieren der PAE. Ausgestaltet durch einen speziell an seine Aufgabe angepaßten Mikrokontroller. Load logic Unit for configuring and reconfiguring the PAE. Designed by a specially adapted to his task microcontroller.
Logikzellen Bei DFPs, FPGAs, DPGAs verwendete konfigurierbare Zellen, die einfache logische oder arithmetische Aufgaben gemäß ihrer Konfiguration erfüllen. Logic Cells Configurable cells used by DFPs, FPGAs, and DPGAs that perform simple logical or arithmetic tasks according to their configuration.
L-Pegel Logisch 0 Pegel, abhängig von der verwendeten Technologie L level Logical 0 level, depending on the technology used
M-PLUREG Register in dem die Vernetzung der PAE gesetzt wird. Das Register wird von der PLU beschrieben. M-PLUREG register in which the networking of the PAE is set. The register is described by the PLU.
O-REG Operandenregister zur Speicherung der Operanden der EALU. Ermöglicht die zeitliche und funktionelle Unabhängigkeit der PAE von den Datensendern. Dadurch wird der Transfer der Daten vereinfacht, da er asynchron oder paketorientiert stattfinden kann. Gleichzeitig wird die Möglichkeit geschaffen die Datensender unabhängig von der PAE oder die PAE unabhängig von den Datensendern umzukonfigurieren. O-REG Operand register for storing the operands of the EALU. Enables the temporal and functional independence of the PAE from the data transmitters. This simplifies data transfer because it can be asynchronous or packet-oriented. At the same time, the possibility is created to reconfigure the data transmitters independently of the PAE or the PAE independently of the data transmitters.
PLU Einheit zum Konfigurieren und Umkonfigurieren der PAE. Ausgestaltet durch einen speziell an seine Aufgabe angepaßten Mikrokontroller. PLU Unit to configure and reconfigure the PAE. Designed by a specially adapted to his task microcontroller.
Propagieren Kontrolliertes Weiterleiten eines empfangenen Signales. Propagate Controlled forwarding of a received signal.
RECONFIG Rekonfigurierbarer Zustand einer PAE. RECONFIG Reconfigurable state of a PAE.
RECONFIG-Trigger Setzen einer PAE in den rekonfigurierbaren Zustand. RECONFIG Trigger Set a PAE to the reconfigurable state.
SM-UNIT StateMachine-UNIT. Zustandsmaschine, die die EALU steuert. SM-UNIT StateMachine-UNIT. State machine that controls the EALU.
Switching-Tabelle Eine Switching-Tabelle ist ein Ring-Speicher, welcher durch eine Steuerung angesprochen wird. Die Einträge einer Switching-Tabelle können beliebige Konfigurationswörter aufnehmen. Die Steuerung kann Befehle durchführen. Die Switching-Tabelle reagiert auf Triggersignale und konfiguriert konfigurierbare Elemente anhand eines Eintrages in einem Ringspeicher um. Switching table A switching table is a ring memory which is addressed by a controller. The entries of a switching table can contain any configuration words. The controller can execute commands. The switching table responds to trigger signals and reconfigures configurable elements based on an entry in a ring buffer.
Synchronisationssignale Statussignale die von einem konfigurierbaren Element oder einem Rechenwerk generiert werden und zur Steuerung und Synchronisation der Datenverarbeitung an weitere konfigurierbare Element oder Rechenwerke weitergeleitet werden. Es ist auch möglich ein Synchronisationssignal zeitlich verzögert (gespeichert) an ein und dasselbe konfigurierbare Element oder Rechenwerk zurückzuleiten. Synchronization signals Status signals that are generated by a configurable element or an arithmetic unit and forwarded to further configurable element or arithmetic unit for controlling and synchronizing the data processing. It is also possible to delay a synchronization signal (stored) to one and the same configurable element or arithmetic unit.
TRIGACK/TRIGRDY Handshake der Trigger. TRIGACK / TRIGRDY Handshake the trigger.
Trigger Synonym für Synchronisationssignale. Trigger Synonym for synchronization signals.
Umkonfigurieren Neues Konfigurieren von einer beliebigen Menge von PAEs während eine beliebige Restmenge von PAEs ihre eigenen Funktionen fortsetzen (vgl. konfigurieren). Reconfigure Reconfigure any number of PAEs while any remaining PAEs continue their own functions (see Configuring).
Verarbeitungszyklus Ein Verarbeitungszyklus beschreibt die Dauer, welche von einer Einheit benötigt wird, um von einem definierten und/oder gültigen Zustand in den nächsten definierten und/oder gültigen Zustand, zu gelangen. Processing Cycle A processing cycle describes the duration required by a unit to go from a defined and / or valid state to the next defined and / or valid state.
VLIW Very Large Instruction Word. Kodierung von Mikroprozessoren, Verfahren nach dem Stand der Technik. VLIW Very Large Instruction Word. Coding of microprocessors, prior art methods.
Zellen Synonym für konfigurierbare Elemente Cells synonymous with configurable elements
Claims (6)
- Method for the synchronisation of data processing with the propagation time of configurable data processing elements of a cell architecture reconfigurable to the propagation time, with the steps that
at least some of the elements are preconfigured by writing a plurality of configurations in configuration registers,
a trigger signal generated in a cell is transmitted to a number of preconfigured elements within the cell architecture to the propagation time,
the trigger signal is received by the number of elements and with the aid thereof a valid configuration is selected from the plurality of configurations previously filed in the configuration registers
and data of at least one preconfigured element of the number are processed according to its valid configuration selected from the preconfiguration. - Method for synchronisation according to claim 1 with the step that a trigger vector is generated and a trigger vector-related signal is transmitted and the at least one preconfigured element of the number processes data according to its preconfiguration as a function of reception of the trigger-related signal.
- Method according to any of the preceding claims, characterised in that the trigger signal is transmitted according to preconfigured networking.
- Method according to any of the preceding claims, characterised in that reconfiguration of elements of the number is triggered sequentially as a function of the trigger received.
- Method according to any of the preceding claims, characterised in that data are propagated along a preconfigured path, a trigger signal is propagated along a preconfigured path, and reconfiguration is triggered as a function of trigger propagation.
- Method according to any of the preceding claims, wherein data processing is effected in response to the absence of a trigger signal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP05008631A EP1669885A3 (en) | 1997-02-08 | 1998-02-07 | Method for self-synchronization of configurable elements of a programmable component |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19704728 | 1997-02-08 | ||
DE19704728A DE19704728A1 (en) | 1997-02-08 | 1997-02-08 | Method for self-synchronization of configurable elements of a programmable module |
PCT/DE1998/000334 WO1998035299A2 (en) | 1997-02-08 | 1998-02-07 | Method for self-synchronization of configurable elements of a programmable component |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP05008631A Division EP1669885A3 (en) | 1997-02-08 | 1998-02-07 | Method for self-synchronization of configurable elements of a programmable component |
EP05008631.3 Division-Into | 2005-04-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
EP0961980A2 EP0961980A2 (en) | 1999-12-08 |
EP0961980B1 true EP0961980B1 (en) | 2005-06-29 |
Family
ID=7819640
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP98909346A Expired - Lifetime EP0961980B1 (en) | 1997-02-08 | 1998-02-07 | Method for self-synchronization of configurable elements of a programmable component |
EP05008631A Ceased EP1669885A3 (en) | 1997-02-08 | 1998-02-07 | Method for self-synchronization of configurable elements of a programmable component |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP05008631A Ceased EP1669885A3 (en) | 1997-02-08 | 1998-02-07 | Method for self-synchronization of configurable elements of a programmable component |
Country Status (10)
Country | Link |
---|---|
US (3) | US6081903A (en) |
EP (2) | EP0961980B1 (en) |
JP (1) | JP4146519B2 (en) |
CN (1) | CN1252144A (en) |
AT (1) | ATE298907T1 (en) |
AU (1) | AU740243B2 (en) |
CA (1) | CA2279917A1 (en) |
DE (3) | DE19704728A1 (en) |
EA (1) | EA001823B1 (en) |
WO (1) | WO1998035299A2 (en) |
Families Citing this family (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002071248A2 (en) * | 2001-03-05 | 2002-09-12 | Pact Informationstechnologie Gmbh | Methods and devices for treating and/or processing data |
US7266725B2 (en) | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
EP1466264B1 (en) | 1995-12-29 | 2011-09-14 | Richter, Thomas | Method for configuration of the connection between data processing cells |
DE19651075A1 (en) | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Unit for processing numerical and logical operations, for use in processors (CPU's), multi-computer systems, data flow processors (DFP's), digital signal processors (DSP's) or the like |
US6338106B1 (en) | 1996-12-20 | 2002-01-08 | Pact Gmbh | I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures |
DE19654595A1 (en) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0 and memory bus system for DFPs as well as building blocks with two- or multi-dimensional programmable cell structures |
DE19654846A1 (en) * | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Process for the independent dynamic reloading of data flow processors (DFPs) as well as modules with two- or multi-dimensional programmable cell structures (FPGAs, DPGAs, etc.) |
EP1329816B1 (en) | 1996-12-27 | 2011-06-22 | Richter, Thomas | Method for automatic dynamic unloading of data flow processors (dfp) as well as modules with bidimensional or multidimensional programmable cell structures (fpgas, dpgas or the like) |
DE19704728A1 (en) * | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Method for self-synchronization of configurable elements of a programmable module |
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
DE19704742A1 (en) * | 1997-02-11 | 1998-09-24 | Pact Inf Tech Gmbh | Internal bus system for DFPs, as well as modules with two- or multi-dimensional programmable cell structures, for coping with large amounts of data with high networking effort |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
DE19861088A1 (en) | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Repairing integrated circuits by replacing subassemblies with substitutes |
DE19807872A1 (en) | 1998-02-25 | 1999-08-26 | Pact Inf Tech Gmbh | Method of managing configuration data in data flow processors |
US6243836B1 (en) * | 1998-08-17 | 2001-06-05 | Lucent Technologies, Inc. | Apparatus and method for circular buffering on an on-chip discontinuity trace |
WO2002013000A2 (en) * | 2000-06-13 | 2002-02-14 | Pact Informationstechnologie Gmbh | Pipeline configuration unit protocols and communication |
AU5805300A (en) | 1999-06-10 | 2001-01-02 | Pact Informationstechnologie Gmbh | Sequence partitioning in cell structures |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US20040015899A1 (en) * | 2000-10-06 | 2004-01-22 | Frank May | Method for processing data |
DE10059270B4 (en) * | 2000-11-29 | 2012-08-02 | Heidelberger Druckmaschinen Ag | Apparatus and method for synchronizing processes running on multiple units |
US6990555B2 (en) * | 2001-01-09 | 2006-01-24 | Pact Xpp Technologies Ag | Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.) |
US20090300262A1 (en) * | 2001-03-05 | 2009-12-03 | Martin Vorbach | Methods and devices for treating and/or processing data |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US7210129B2 (en) * | 2001-08-16 | 2007-04-24 | Pact Xpp Technologies Ag | Method for translating programs for reconfigurable architectures |
US20090210653A1 (en) * | 2001-03-05 | 2009-08-20 | Pact Xpp Technologies Ag | Method and device for treating and processing data |
US7624204B2 (en) * | 2001-03-22 | 2009-11-24 | Nvidia Corporation | Input/output controller node in an adaptable computing environment |
US10031733B2 (en) * | 2001-06-20 | 2018-07-24 | Scientia Sol Mentis Ag | Method for processing data |
EP2224330B1 (en) * | 2001-06-20 | 2012-05-09 | Krass, Maren | Method and device for partitioning large computer programs |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US7434191B2 (en) * | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
US7594229B2 (en) * | 2001-10-09 | 2009-09-22 | Nvidia Corp. | Predictive resource allocation in computing systems |
US7644279B2 (en) * | 2001-12-05 | 2010-01-05 | Nvidia Corporation | Consumer product distribution in the embedded system market |
US7577822B2 (en) * | 2001-12-14 | 2009-08-18 | Pact Xpp Technologies Ag | Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization |
US20050132344A1 (en) * | 2002-01-18 | 2005-06-16 | Martin Vorbach | Method of compilation |
WO2003060747A2 (en) | 2002-01-19 | 2003-07-24 | Pact Xpp Technologies Ag | Reconfigurable processor |
US8127061B2 (en) | 2002-02-18 | 2012-02-28 | Martin Vorbach | Bus systems and reconfiguration methods |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
US20060075211A1 (en) * | 2002-03-21 | 2006-04-06 | Martin Vorbach | Method and device for data processing |
US7093255B1 (en) * | 2002-05-31 | 2006-08-15 | Quicksilver Technology, Inc. | Method for estimating cost when placing operations within a modulo scheduler when scheduling for processors with a large number of function units or reconfigurable data paths |
US7620678B1 (en) | 2002-06-12 | 2009-11-17 | Nvidia Corporation | Method and system for reducing the time-to-market concerns for embedded system design |
US7802108B1 (en) | 2002-07-18 | 2010-09-21 | Nvidia Corporation | Secure storage of program code for an embedded system |
AU2003286131A1 (en) | 2002-08-07 | 2004-03-19 | Pact Xpp Technologies Ag | Method and device for processing data |
US20110238948A1 (en) * | 2002-08-07 | 2011-09-29 | Martin Vorbach | Method and device for coupling a data processing unit and a data processing array |
US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
WO2004038599A1 (en) | 2002-09-06 | 2004-05-06 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
US7502915B2 (en) * | 2002-09-30 | 2009-03-10 | Nvidia Corporation | System and method using embedded microprocessor as a node in an adaptable computing machine |
US8949576B2 (en) * | 2002-11-01 | 2015-02-03 | Nvidia Corporation | Arithmetic node including general digital signal processing functions for an adaptive computing machine |
US7617100B1 (en) | 2003-01-10 | 2009-11-10 | Nvidia Corporation | Method and system for providing an excitation-pattern based audio coding scheme |
JP2006524850A (en) * | 2003-04-04 | 2006-11-02 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | Data processing method and data processing apparatus |
US8296764B2 (en) * | 2003-08-14 | 2012-10-23 | Nvidia Corporation | Internal synchronization control for adaptive integrated circuitry |
JP4700611B2 (en) * | 2003-08-28 | 2011-06-15 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | Data processing apparatus and data processing method |
US8130825B2 (en) * | 2004-05-10 | 2012-03-06 | Nvidia Corporation | Processor for video data encoding/decoding |
US8018463B2 (en) * | 2004-05-10 | 2011-09-13 | Nvidia Corporation | Processor for video data |
JP2006011705A (en) * | 2004-06-24 | 2006-01-12 | Fujitsu Ltd | Processor and semiconductor device |
TWI256013B (en) * | 2004-10-12 | 2006-06-01 | Uli Electronics Inc | Sound-effect processing circuit |
EP1849095B1 (en) * | 2005-02-07 | 2013-01-02 | Richter, Thomas | Low latency massive parallel data processing device |
WO2007062327A2 (en) * | 2005-11-18 | 2007-05-31 | Ideal Industries, Inc. | Releasable wire connector |
EP1974265A1 (en) | 2006-01-18 | 2008-10-01 | PACT XPP Technologies AG | Hardware definition method |
US7999820B1 (en) | 2006-10-23 | 2011-08-16 | Nvidia Corporation | Methods and systems for reusing memory addresses in a graphics system |
US20080111923A1 (en) * | 2006-11-09 | 2008-05-15 | Scheuermann W James | Processor for video data |
EP1930823A3 (en) * | 2006-12-04 | 2011-06-08 | Fujitsu Limited | Circuit-design supporting apparatus, circuit-design supporting method, computer product, and printed-circuit-board manufacturing method |
US8169789B1 (en) | 2007-04-10 | 2012-05-01 | Nvidia Corporation | Graphics processing unit stiffening frame |
US7987065B1 (en) | 2007-04-17 | 2011-07-26 | Nvidia Corporation | Automatic quality testing of multimedia rendering by software drivers |
US8572598B1 (en) | 2007-04-18 | 2013-10-29 | Nvidia Corporation | Method and system for upgrading software in a computing device |
US8726283B1 (en) | 2007-06-04 | 2014-05-13 | Nvidia Corporation | Deadlock avoidance skid buffer |
US7948500B2 (en) * | 2007-06-07 | 2011-05-24 | Nvidia Corporation | Extrapolation of nonresident mipmap data using resident mipmap data |
US7944453B1 (en) | 2007-06-07 | 2011-05-17 | Nvidia Corporation | Extrapolation texture filtering for nonresident mipmaps |
US7932227B1 (en) | 2007-09-17 | 2011-04-26 | University Of Virginia Patent Foundation | Lacritin-syndecan fusion proteins |
US8438522B1 (en) | 2008-09-24 | 2013-05-07 | Iowa State University Research Foundation, Inc. | Logic element architecture for generic logic chains in programmable devices |
US8661394B1 (en) | 2008-09-24 | 2014-02-25 | Iowa State University Research Foundation, Inc. | Depth-optimal mapping of logic chains in reconfigurable fabrics |
CN101616175B (en) * | 2009-07-24 | 2013-01-09 | 中国科学院上海技术物理研究所 | Network topology acquisition method and device used for distributed multiple DSP system |
EP3117210A4 (en) | 2014-03-12 | 2017-11-01 | University Of Virginia Patent Foundation | Compositions and methods for treating eye infections and disease |
CN104967783B (en) * | 2015-07-01 | 2018-01-09 | 西北工业大学 | Towards the micro- image capturing system of multichannel of micro-nano star |
Family Cites Families (214)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US34363A (en) * | 1862-02-11 | Improvement in machinery for cleaning cotton | ||
US2067477A (en) | 1931-03-20 | 1937-01-12 | Allis Chalmers Mfg Co | Gearing |
GB971191A (en) | 1962-05-28 | 1964-09-30 | Wolf Electric Tools Ltd | Improvements relating to electrically driven equipment |
US3681572A (en) | 1970-08-11 | 1972-08-01 | Siegfried Johannes Gerathewohl | Air traveler's rest period calculator |
DE2057312A1 (en) | 1970-11-21 | 1972-05-25 | Bhs Bayerische Berg | Planetary gear with load pressure compensation |
US3855577A (en) | 1973-06-11 | 1974-12-17 | Texas Instruments Inc | Power saving circuit for calculator system |
US4498134A (en) | 1982-01-26 | 1985-02-05 | Hughes Aircraft Company | Segregator functional plane for use in a modular array processor |
US4489857A (en) | 1982-03-22 | 1984-12-25 | Bobrick Washroom Equipment, Inc. | Liquid dispenser |
JPS5936857A (en) | 1982-08-25 | 1984-02-29 | Nec Corp | Processor unit |
US4663706A (en) | 1982-10-28 | 1987-05-05 | Tandem Computers Incorporated | Multiprocessor multisystem communications network |
US4739474A (en) * | 1983-03-10 | 1988-04-19 | Martin Marietta Corporation | Geometric-arithmetic parallel processor |
US4566102A (en) | 1983-04-18 | 1986-01-21 | International Business Machines Corporation | Parallel-shift error reconfiguration |
US5123109A (en) * | 1983-05-31 | 1992-06-16 | Thinking Machines Corporation | Parallel processor including a processor array with plural data transfer arrangements including (1) a global router and (2) a proximate-neighbor transfer system |
US4870302A (en) * | 1984-03-12 | 1989-09-26 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
USRE34363E (en) | 1984-03-12 | 1993-08-31 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
US4761755A (en) * | 1984-07-11 | 1988-08-02 | Prime Computer, Inc. | Data processing system and method having an improved arithmetic unit |
US4682284A (en) | 1984-12-06 | 1987-07-21 | American Telephone & Telegraph Co., At&T Bell Lab. | Queue administration method and apparatus |
EP0190813B1 (en) | 1985-01-29 | 1991-09-18 | The Secretary of State for Defence in Her Britannic Majesty's Government of the United Kingdom of Great Britain and | Processing cell for fault tolerant arrays |
US5023775A (en) * | 1985-02-14 | 1991-06-11 | Intel Corporation | Software programmable logic array utilizing "and" and "or" gates |
US5247689A (en) * | 1985-02-25 | 1993-09-21 | Ewert Alfred P | Parallel digital processor including lateral transfer buses with interrupt switches to form bus interconnection segments |
US4706216A (en) * | 1985-02-27 | 1987-11-10 | Xilinx, Inc. | Configurable logic element |
US5015884A (en) * | 1985-03-29 | 1991-05-14 | Advanced Micro Devices, Inc. | Multiple array high performance programmable logic device family |
US5225719A (en) * | 1985-03-29 | 1993-07-06 | Advanced Micro Devices, Inc. | Family of multiple segmented programmable logic blocks interconnected by a high speed centralized switch matrix |
US4967340A (en) * | 1985-06-12 | 1990-10-30 | E-Systems, Inc. | Adaptive processing system having an array of individually configurable processing components |
US4720780A (en) | 1985-09-17 | 1988-01-19 | The Johns Hopkins University | Memory-linked wavefront array processor |
DE3687400T2 (en) * | 1985-11-04 | 1993-07-15 | Ibm | DIGITAL NEWS TRANSMISSION NETWORKS AND STRUCTURE OF TRANSMISSION WAYS IN THESE NETWORKS. |
US4852048A (en) | 1985-12-12 | 1989-07-25 | Itt Corporation | Single instruction multiple data (SIMD) cellular array processing apparatus employing a common bus where a first number of bits manifest a first bus portion and a second number of bits manifest a second bus portion |
US5021947A (en) * | 1986-03-31 | 1991-06-04 | Hughes Aircraft Company | Data-flow multiprocessor architecture with three dimensional multistage interconnection network for efficient signal and data processing |
GB8612396D0 (en) | 1986-05-21 | 1986-06-25 | Hewlett Packard Ltd | Chain-configured interface bus system |
US4910665A (en) | 1986-09-02 | 1990-03-20 | General Electric Company | Distributed processing system including reconfigurable elements |
US4860201A (en) | 1986-09-02 | 1989-08-22 | The Trustees Of Columbia University In The City Of New York | Binary tree parallel processor |
US5367208A (en) * | 1986-09-19 | 1994-11-22 | Actel Corporation | Reconfigurable programmable interconnect architecture |
FR2606184B1 (en) | 1986-10-31 | 1991-11-29 | Thomson Csf | RECONFIGURABLE CALCULATION DEVICE |
US4811214A (en) * | 1986-11-14 | 1989-03-07 | Princeton University | Multinode reconfigurable pipeline computer |
US5226122A (en) * | 1987-08-21 | 1993-07-06 | Compaq Computer Corp. | Programmable logic system for filtering commands to a microprocessor |
US5115510A (en) | 1987-10-20 | 1992-05-19 | Sharp Kabushiki Kaisha | Multistage data flow processor with instruction packet, fetch, storage transmission and address generation controlled by destination information |
US4918690A (en) | 1987-11-10 | 1990-04-17 | Echelon Systems Corp. | Network and intelligent cell for providing sensing, bidirectional communications and control |
US5113498A (en) | 1987-11-10 | 1992-05-12 | Echelon Corporation | Input/output section for an intelligent cell which provides sensing, bidirectional communications and control |
US5303172A (en) * | 1988-02-16 | 1994-04-12 | Array Microsystems | Pipelined combination and vector signal processor |
JPH06101043B2 (en) | 1988-06-30 | 1994-12-12 | 三菱電機株式会社 | Microcomputer |
US5204935A (en) * | 1988-08-19 | 1993-04-20 | Fuji Xerox Co., Ltd. | Programmable fuzzy logic circuits |
US4901268A (en) * | 1988-08-19 | 1990-02-13 | General Electric Company | Multiple function data processor |
US5353432A (en) | 1988-09-09 | 1994-10-04 | Compaq Computer Corporation | Interactive method for configuration of computer system and circuit boards with user specification of system resources and computer resolution of resource conflicts |
DE58906434D1 (en) | 1988-09-22 | 1994-01-27 | Siemens Ag | Circuit arrangement for telecommunication switching systems, in particular PCM time-division multiplex telephone switching systems with a central switching network and connected sub-switching networks. |
JP2930341B2 (en) * | 1988-10-07 | 1999-08-03 | マーチン・マリエッタ・コーポレーション | Data parallel processing unit |
US5014193A (en) * | 1988-10-14 | 1991-05-07 | Compaq Computer Corporation | Dynamically configurable portable computer system |
US5136717A (en) * | 1988-11-23 | 1992-08-04 | Flavors Technology Inc. | Realtime systolic, multiple-instruction, single-data parallel computer system |
US5081375A (en) * | 1989-01-19 | 1992-01-14 | National Semiconductor Corp. | Method for operating a multiple page programmable logic device |
GB8906145D0 (en) * | 1989-03-17 | 1989-05-04 | Algotronix Ltd | Configurable cellular array |
US5203005A (en) | 1989-05-02 | 1993-04-13 | Horst Robert W | Cell structure for linear array wafer scale integration architecture with capability to open boundary i/o bus without neighbor acknowledgement |
US5109503A (en) * | 1989-05-22 | 1992-04-28 | Ge Fanuc Automation North America, Inc. | Apparatus with reconfigurable counter includes memory for storing plurality of counter configuration files which respectively define plurality of predetermined counters |
JP2584673B2 (en) | 1989-06-09 | 1997-02-26 | 株式会社日立製作所 | Logic circuit test apparatus having test data change circuit |
CA2021192A1 (en) | 1989-07-28 | 1991-01-29 | Malcolm A. Mumme | Simplified synchronous mesh processor |
US5212652A (en) * | 1989-08-15 | 1993-05-18 | Advanced Micro Devices, Inc. | Programmable gate array with improved interconnect structure |
US5489857A (en) * | 1992-08-03 | 1996-02-06 | Advanced Micro Devices, Inc. | Flexible synchronous/asynchronous cell structure for a high density programmable logic device |
US5233539A (en) | 1989-08-15 | 1993-08-03 | Advanced Micro Devices, Inc. | Programmable gate array with improved interconnect structure, input/output structure and configurable logic block |
US5128559A (en) * | 1989-09-29 | 1992-07-07 | Sgs-Thomson Microelectronics, Inc. | Logic block for programmable logic devices |
JP2968289B2 (en) * | 1989-11-08 | 1999-10-25 | 株式会社リコー | Central processing unit |
GB8925721D0 (en) * | 1989-11-14 | 1990-01-04 | Amt Holdings | Processor array system |
US5522083A (en) * | 1989-11-17 | 1996-05-28 | Texas Instruments Incorporated | Reconfigurable multi-processor operating in SIMD mode with one processor fetching instructions for use by remaining processors |
DE58908974D1 (en) | 1989-11-21 | 1995-03-16 | Itt Ind Gmbh Deutsche | Data controlled array processor. |
US5125801A (en) * | 1990-02-02 | 1992-06-30 | Isco, Inc. | Pumping system |
US5142469A (en) * | 1990-03-29 | 1992-08-25 | Ge Fanuc Automation North America, Inc. | Method for converting a programmable logic controller hardware configuration and corresponding control program for use on a first programmable logic controller to use on a second programmable logic controller |
US5198705A (en) * | 1990-05-11 | 1993-03-30 | Actel Corporation | Logic module with configurable combinational and sequential blocks |
US5483620A (en) * | 1990-05-22 | 1996-01-09 | International Business Machines Corp. | Learning machine synapse processor system apparatus |
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 |
US5111079A (en) * | 1990-06-29 | 1992-05-05 | Sgs-Thomson Microelectronics, Inc. | Power reduction circuit for programmable logic device |
SE9002558D0 (en) * | 1990-08-02 | 1990-08-02 | Carlstedt Elektronik Ab | PROCESSOR |
US5274593A (en) | 1990-09-28 | 1993-12-28 | Intergraph Corporation | High speed redundant rows and columns for semiconductor memories |
US5144166A (en) | 1990-11-02 | 1992-09-01 | Concurrent Logic, Inc. | Programmable logic cell and array |
US5765011A (en) | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams |
US5588152A (en) * | 1990-11-13 | 1996-12-24 | International Business Machines Corporation | Advanced parallel processor including advanced support hardware |
US5713037A (en) | 1990-11-13 | 1998-01-27 | International Business Machines Corporation | Slide bus communication functions for SIMD/MIMD array processor |
US5794059A (en) | 1990-11-13 | 1998-08-11 | International Business Machines Corporation | N-dimensional modified hypercube |
US5734921A (en) | 1990-11-13 | 1998-03-31 | International Business Machines Corporation | Advanced parallel array processor computer package |
US5590345A (en) | 1990-11-13 | 1996-12-31 | International Business Machines Corporation | Advanced parallel array processor(APAP) |
US5301284A (en) | 1991-01-16 | 1994-04-05 | Walker-Estes Corporation | Mixed-resolution, N-dimensional object space method and apparatus |
US5301344A (en) * | 1991-01-29 | 1994-04-05 | Analogic Corporation | Multibus sequential processor to perform in parallel a plurality of reconfigurable logic operations on a plurality of data sets |
EP0499695B1 (en) * | 1991-02-22 | 1996-05-01 | Siemens Aktiengesellschaft | Programmable logic controller |
JPH04290155A (en) * | 1991-03-19 | 1992-10-14 | Fujitsu Ltd | Parallel data processing system |
JPH04293151A (en) * | 1991-03-20 | 1992-10-16 | Fujitsu Ltd | Parallel data processing system |
US5617547A (en) | 1991-03-29 | 1997-04-01 | International Business Machines Corporation | Switch network extension of bus architecture |
EP0539595A4 (en) * | 1991-04-09 | 1994-07-20 | Fujitsu Ltd | Data processor and data processing method |
US5551033A (en) * | 1991-05-17 | 1996-08-27 | Zenith Data Systems Corporation | Apparatus for maintaining one interrupt mask register in conformity with another in a manner invisible to an executing program |
CA2109799A1 (en) * | 1991-05-24 | 1992-12-10 | Daniel Mark Nosenchuck | Optimizing compiler for computers |
US5287344A (en) * | 1991-06-05 | 1994-02-15 | At&T Bell Laboratories | Transferring lines in a digital loop carrier transmission system |
US5659797A (en) | 1991-06-24 | 1997-08-19 | U.S. Philips Corporation | Sparc RISC based computer system including a single chip processor with memory management and DMA units coupled to a DRAM interface |
US5347639A (en) | 1991-07-15 | 1994-09-13 | International Business Machines Corporation | Self-parallelizing computer system and method |
US5338984A (en) * | 1991-08-29 | 1994-08-16 | National Semiconductor Corp. | Local and express diagonal busses in a configurable logic array |
US5260610A (en) * | 1991-09-03 | 1993-11-09 | Altera Corporation | Programmable logic element interconnections for programmable logic array integrated circuits |
FR2681791B1 (en) | 1991-09-27 | 1994-05-06 | Salomon Sa | VIBRATION DAMPING DEVICE FOR A GOLF CLUB. |
US5223539A (en) * | 1991-11-22 | 1993-06-29 | G. D. Searle & Co. | N,n-di-alkyl(phenoxy)benzamide derivatives |
CA2073516A1 (en) | 1991-11-27 | 1993-05-28 | Peter Michael Kogge | Dynamic multi-mode parallel processor array architecture computer system |
AU2939892A (en) | 1991-12-06 | 1993-06-28 | Richard S. Norman | Massively-parallel direct output processor array |
US5208491A (en) * | 1992-01-07 | 1993-05-04 | Washington Research Foundation | Field programmable gate array |
FR2686175B1 (en) | 1992-01-14 | 1996-12-20 | Andre Thepaut | MULTIPROCESSOR DATA PROCESSING SYSTEM. |
JP2791243B2 (en) * | 1992-03-13 | 1998-08-27 | 株式会社東芝 | Hierarchical synchronization system and large scale integrated circuit using the same |
US5452401A (en) | 1992-03-31 | 1995-09-19 | Seiko Epson Corporation | Selective power-down for high performance CPU/system |
US5611049A (en) * | 1992-06-03 | 1997-03-11 | Pitts; William M. | System for accessing distributed data cache channel at each network node to pass requests and data |
EP0643855A1 (en) * | 1992-06-04 | 1995-03-22 | Xilinx, Inc. | Timing driven method for laying out a user's circuit onto a programmable integrated circuit device |
US5475803A (en) * | 1992-07-10 | 1995-12-12 | Lsi Logic Corporation | Method for 2-D affine transformation of images |
US5590348A (en) | 1992-07-28 | 1996-12-31 | International Business Machines Corporation | Status predictor for combined shifter-rotate/merge unit |
US5581778A (en) * | 1992-08-05 | 1996-12-03 | David Sarnoff Researach Center | Advanced massively parallel computer using a field of the instruction to selectively enable the profiling counter to increase its value in response to the system clock |
US5425036A (en) | 1992-09-18 | 1995-06-13 | Quickturn Design Systems, Inc. | Method and apparatus for debugging reconfigurable emulation systems |
JPH06180653A (en) | 1992-10-02 | 1994-06-28 | Hudson Soft Co Ltd | Interruption processing method and device therefor |
US5329179A (en) * | 1992-10-05 | 1994-07-12 | Lattice Semiconductor Corporation | Arrangement for parallel programming of in-system programmable IC logical devices |
US5497498A (en) * | 1992-11-05 | 1996-03-05 | Giga Operations Corporation | Video processing module using a second programmable logic device which reconfigures a first programmable logic device for data transformation |
US5392437A (en) | 1992-11-06 | 1995-02-21 | Intel Corporation | Method and apparatus for independently stopping and restarting functional units |
US5361373A (en) * | 1992-12-11 | 1994-11-01 | Gilson Kent L | Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor |
US5428526A (en) | 1993-02-03 | 1995-06-27 | Flood; Mark A. | Programmable controller with time periodic communication |
GB9303084D0 (en) * | 1993-02-16 | 1993-03-31 | Inmos Ltd | Programmable logic circuit |
JPH06276086A (en) * | 1993-03-18 | 1994-09-30 | Fuji Xerox Co Ltd | Field programmable gate array |
US5548773A (en) * | 1993-03-30 | 1996-08-20 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Digital parallel processor array for optimum path planning |
US5596742A (en) | 1993-04-02 | 1997-01-21 | Massachusetts Institute Of Technology | Virtual interconnections for reconfigurable logic systems |
US5473266A (en) * | 1993-04-19 | 1995-12-05 | Altera Corporation | Programmable logic device having fast programmable logic array blocks and a central global interconnect array |
DE4416881C2 (en) * | 1993-05-13 | 1998-03-19 | Pact Inf Tech Gmbh | Method for operating a data processing device |
US5349193A (en) | 1993-05-20 | 1994-09-20 | Princeton Gamma Tech, Inc. | Highly sensitive nuclear spectrometer apparatus and method |
US5444394A (en) * | 1993-07-08 | 1995-08-22 | Altera Corporation | PLD with selective inputs from local and global conductors |
JPH0736858A (en) * | 1993-07-21 | 1995-02-07 | Hitachi Ltd | Signal processor |
US5457644A (en) * | 1993-08-20 | 1995-10-10 | Actel Corporation | Field programmable digital signal processing array integrated circuit |
US5440538A (en) | 1993-09-23 | 1995-08-08 | Massachusetts Institute Of Technology | Communication system with redundant links and data bit time multiplexing |
US5455525A (en) * | 1993-12-06 | 1995-10-03 | Intelligent Logic Systems, Inc. | Hierarchically-structured programmable logic array and system for interconnecting logic elements in the logic array |
US5535406A (en) * | 1993-12-29 | 1996-07-09 | Kolchinsky; Alexander | Virtual processor module including a reconfigurable programmable matrix |
EP1046994A3 (en) | 1994-03-22 | 2000-12-06 | Hyperchip Inc. | Efficient direct cell replacement fault tolerant architecture supporting completely integrated systems with means for direct communication with system operator |
US5561738A (en) * | 1994-03-25 | 1996-10-01 | Motorola, Inc. | Data processor for executing a fuzzy logic operation and method therefor |
US5430687A (en) * | 1994-04-01 | 1995-07-04 | Xilinx, Inc. | Programmable logic device including a parallel input device for loading memory cells |
US5761484A (en) | 1994-04-01 | 1998-06-02 | Massachusetts Institute Of Technology | Virtual interconnections for reconfigurable logic systems |
US5896551A (en) * | 1994-04-15 | 1999-04-20 | Micron Technology, Inc. | Initializing and reprogramming circuitry for state independent memory array burst operations control |
US5426378A (en) * | 1994-04-20 | 1995-06-20 | Xilinx, Inc. | Programmable logic device which stores more than one configuration and means for switching configurations |
US5532693A (en) * | 1994-06-13 | 1996-07-02 | Advanced Hardware Architectures | Adaptive data compression system with systolic string matching logic |
US5513366A (en) * | 1994-09-28 | 1996-04-30 | International Business Machines Corporation | Method and system for dynamically reconfiguring a register file in a vector processor |
US5530946A (en) | 1994-10-28 | 1996-06-25 | Dell Usa, L.P. | Processor failure detection and recovery circuit in a dual processor computer system and method of operation thereof |
EP0721157A1 (en) * | 1994-12-12 | 1996-07-10 | Advanced Micro Devices, Inc. | Microprocessor with selectable clock frequency |
US5493239A (en) * | 1995-01-31 | 1996-02-20 | Motorola, Inc. | Circuit and method of configuring a field programmable gate array |
US5532957A (en) * | 1995-01-31 | 1996-07-02 | Texas Instruments Incorporated | Field reconfigurable logic/memory array |
US6052773A (en) | 1995-02-10 | 2000-04-18 | Massachusetts Institute Of Technology | DPGA-coupled microprocessors |
US5659785A (en) * | 1995-02-10 | 1997-08-19 | International Business Machines Corporation | Array processor communication architecture with broadcast processor instructions |
US5742180A (en) | 1995-02-10 | 1998-04-21 | Massachusetts Institute Of Technology | Dynamically programmable gate array with multiple contexts |
US5537057A (en) * | 1995-02-14 | 1996-07-16 | Altera Corporation | Programmable logic array device with grouped logic regions and three types of conductors |
US5892961A (en) | 1995-02-17 | 1999-04-06 | Xilinx, Inc. | Field programmable gate array having programming instructions in the configuration bitstream |
US5570040A (en) * | 1995-03-22 | 1996-10-29 | Altera Corporation | Programmable logic array integrated circuit incorporating a first-in first-out memory |
US5541530A (en) * | 1995-05-17 | 1996-07-30 | Altera Corporation | Programmable logic array integrated circuits with blocks of logic regions grouped into super-blocks |
US5646544A (en) * | 1995-06-05 | 1997-07-08 | International Business Machines Corporation | System and method for dynamically reconfiguring a programmable gate array |
US5889982A (en) * | 1995-07-01 | 1999-03-30 | Intel Corporation | Method and apparatus for generating event handler vectors based on both operating mode and event type |
US5559450A (en) * | 1995-07-27 | 1996-09-24 | Lucent Technologies Inc. | Field programmable gate array with multi-port RAM |
US5649176A (en) * | 1995-08-10 | 1997-07-15 | Virtual Machine Works, Inc. | Transition analysis and circuit resynthesis method and device for digital circuit modeling |
US5583450A (en) * | 1995-08-18 | 1996-12-10 | Xilinx, Inc. | Sequencer for a time multiplexed programmable logic device |
US5778439A (en) * | 1995-08-18 | 1998-07-07 | Xilinx, Inc. | Programmable logic device with hierarchical confiquration and state storage |
US5652894A (en) | 1995-09-29 | 1997-07-29 | Intel Corporation | Method and apparatus for providing power saving modes to a pipelined processor |
US5943242A (en) * | 1995-11-17 | 1999-08-24 | Pact Gmbh | Dynamically reconfigurable data processing system |
US5732209A (en) * | 1995-11-29 | 1998-03-24 | Exponential Technology, Inc. | Self-testing multi-processor die with internal compare points |
US7266725B2 (en) * | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
US5854918A (en) * | 1996-01-24 | 1998-12-29 | Ricoh Company Ltd. | Apparatus and method for self-timed algorithmic execution |
US5936424A (en) | 1996-02-02 | 1999-08-10 | Xilinx, Inc. | High speed bus with tree structure for selecting bus driver |
US6020758A (en) * | 1996-03-11 | 2000-02-01 | Altera Corporation | Partially reconfigurable programmable logic device |
US6173434B1 (en) * | 1996-04-22 | 2001-01-09 | Brigham Young University | Dynamically-configurable digital processor using method for relocating logic array modules |
US5894565A (en) | 1996-05-20 | 1999-04-13 | Atmel Corporation | Field programmable gate array with distributed RAM and increased cell utilization |
US5892370A (en) * | 1996-06-21 | 1999-04-06 | Quicklogic Corporation | Clock network for field programmable gate array |
JP2000513523A (en) * | 1996-06-21 | 2000-10-10 | オーガニック システムズ インコーポレイテッド | Dynamically reconfigurable hardware system for immediate process control |
US6023742A (en) * | 1996-07-18 | 2000-02-08 | University Of Washington | Reconfigurable computing architecture for providing pipelined data paths |
US6023564A (en) * | 1996-07-19 | 2000-02-08 | Xilinx, Inc. | Data processing system using a flash reconfigurable logic device as a dynamic execution unit for a sequence of instructions |
US5838165A (en) | 1996-08-21 | 1998-11-17 | Chatter; Mukesh | High performance self modifying on-the-fly alterable logic FPGA, architecture and method |
US5859544A (en) * | 1996-09-05 | 1999-01-12 | Altera Corporation | Dynamic configurable elements for programmable logic devices |
US5828858A (en) * | 1996-09-16 | 1998-10-27 | Virginia Tech Intellectual Properties, Inc. | Worm-hole run-time reconfigurable processor field programmable gate array (FPGA) |
US6005410A (en) | 1996-12-05 | 1999-12-21 | International Business Machines Corporation | Interconnect structure between heterogeneous core regions in a programmable array |
DE19651075A1 (en) * | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Unit for processing numerical and logical operations, for use in processors (CPU's), multi-computer systems, data flow processors (DFP's), digital signal processors (DSP's) or the like |
DE19654593A1 (en) * | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | Reconfiguration procedure for programmable blocks at runtime |
US6338106B1 (en) * | 1996-12-20 | 2002-01-08 | Pact Gmbh | I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures |
DE19654595A1 (en) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0 and memory bus system for DFPs as well as building blocks with two- or multi-dimensional programmable cell structures |
DE19654846A1 (en) | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Process for the independent dynamic reloading of data flow processors (DFPs) as well as modules with two- or multi-dimensional programmable cell structures (FPGAs, DPGAs, etc.) |
DE19704044A1 (en) * | 1997-02-04 | 1998-08-13 | Pact Inf Tech Gmbh | Address generation with systems having programmable modules |
US5865239A (en) * | 1997-02-05 | 1999-02-02 | Micropump, Inc. | Method for making herringbone gears |
DE19704728A1 (en) * | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Method for self-synchronization of configurable elements of a programmable module |
US6542998B1 (en) * | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
DE19704742A1 (en) * | 1997-02-11 | 1998-09-24 | Pact Inf Tech Gmbh | Internal bus system for DFPs, as well as modules with two- or multi-dimensional programmable cell structures, for coping with large amounts of data with high networking effort |
US5927423A (en) | 1997-03-05 | 1999-07-27 | Massachusetts Institute Of Technology | Reconfigurable footprint mechanism for omnidirectional vehicles |
US5884075A (en) * | 1997-03-10 | 1999-03-16 | Compaq Computer Corporation | Conflict resolution using self-contained virtual devices |
US6047115A (en) * | 1997-05-29 | 2000-04-04 | Xilinx, Inc. | Method for configuring FPGA memory planes for virtual hardware computation |
US6011407A (en) * | 1997-06-13 | 2000-01-04 | Xilinx, Inc. | Field programmable gate array with dedicated computer bus interface and method for configuring both |
US5966534A (en) * | 1997-06-27 | 1999-10-12 | Cooke; Laurence H. | Method for compiling high level programming languages into an integrated processor with reconfigurable logic |
US6038656A (en) * | 1997-09-12 | 2000-03-14 | California Institute Of Technology | Pipelined completion for asynchronous communication |
US6108760A (en) | 1997-10-31 | 2000-08-22 | Silicon Spice | Method and apparatus for position independent reconfiguration in a network of multiple context processing elements |
US6122719A (en) | 1997-10-31 | 2000-09-19 | Silicon Spice | Method and apparatus for retiming in a network of multiple context processing elements |
US5915123A (en) | 1997-10-31 | 1999-06-22 | Silicon Spice | Method and apparatus for controlling configuration memory contexts of processing elements in a network of multiple context processing elements |
US6127908A (en) | 1997-11-17 | 2000-10-03 | Massachusetts Institute Of Technology | Microelectro-mechanical system actuator device and reconfigurable circuits utilizing same |
EP0926594B1 (en) * | 1997-12-17 | 2007-05-23 | Hewlett-Packard Company, A Delaware Corporation | Method of using primary and secondary processors |
DE19861088A1 (en) * | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Repairing integrated circuits by replacing subassemblies with substitutes |
US6049222A (en) * | 1997-12-30 | 2000-04-11 | Xilinx, Inc | Configuring an FPGA using embedded memory |
US6172520B1 (en) * | 1997-12-30 | 2001-01-09 | Xilinx, Inc. | FPGA system with user-programmable configuration ports and method for reconfiguring the FPGA |
US6034538A (en) | 1998-01-21 | 2000-03-07 | Lucent Technologies Inc. | Virtual logic system for reconfigurable hardware |
WO1999038071A1 (en) | 1998-01-26 | 1999-07-29 | Chameleon Systems, Inc. | Reconfigurable logic for table lookup |
US5965518A (en) | 1998-02-23 | 1999-10-12 | Nakatsu; Tetsuo | Fragrance compositions having antimicrobial activity |
DE19807872A1 (en) * | 1998-02-25 | 1999-08-26 | Pact Inf Tech Gmbh | Method of managing configuration data in data flow processors |
US6282627B1 (en) | 1998-06-29 | 2001-08-28 | Chameleon Systems, Inc. | Integrated processor and programmable data path chip for reconfigurable computing |
US6202182B1 (en) | 1998-06-30 | 2001-03-13 | Lucent Technologies Inc. | Method and apparatus for testing field programmable gate arrays |
WO2002013000A2 (en) * | 2000-06-13 | 2002-02-14 | Pact Informationstechnologie Gmbh | Pipeline configuration unit protocols and communication |
US6345346B1 (en) * | 1999-02-26 | 2002-02-05 | Voom Technologies | Substantially instantaneous storage restoration for non-computer forensics applications |
US6243808B1 (en) | 1999-03-08 | 2001-06-05 | Chameleon Systems, Inc. | Digital data bit order conversion using universal switch matrix comprising rows of bit swapping selector groups |
US6347346B1 (en) * | 1999-06-30 | 2002-02-12 | Chameleon Systems, Inc. | Local memory unit system with global access for use on reconfigurable chips |
GB2352548B (en) * | 1999-07-26 | 2001-06-06 | Sun Microsystems Inc | Method and apparatus for executing standard functions in a computer system |
US6370596B1 (en) | 1999-08-03 | 2002-04-09 | Chameleon Systems, Inc. | Logic flag registers for monitoring processing system events |
US6341318B1 (en) | 1999-08-10 | 2002-01-22 | Chameleon Systems, Inc. | DMA data streaming |
US6311200B1 (en) | 1999-09-23 | 2001-10-30 | Chameleon Systems, Inc. | Reconfigurable program sum of products generator |
US6288566B1 (en) | 1999-09-23 | 2001-09-11 | Chameleon Systems, Inc. | Configuration state memory for functional blocks on a reconfigurable chip |
US6349346B1 (en) | 1999-09-23 | 2002-02-19 | Chameleon Systems, Inc. | Control fabric unit including associated configuration memory and PSOP state machine adapted to provide configuration address to reconfigurable functional unit |
DE19946752A1 (en) * | 1999-09-29 | 2001-04-12 | Infineon Technologies Ag | Reconfigurable gate array |
US6519674B1 (en) * | 2000-02-18 | 2003-02-11 | Chameleon Systems, Inc. | Configuration bits layout |
US6539477B1 (en) * | 2000-03-03 | 2003-03-25 | Chameleon Systems, Inc. | System and method for control synthesis using a reachable states look-up table |
US6538468B1 (en) * | 2000-07-31 | 2003-03-25 | Cypress Semiconductor Corporation | Method and apparatus for multiple boot-up functionalities for a programmable logic device (PLD) |
US20040015899A1 (en) * | 2000-10-06 | 2004-01-22 | Frank May | Method for processing data |
US6392912B1 (en) | 2001-01-10 | 2002-05-21 | Chameleon Systems, Inc. | Loading data plane on reconfigurable chip |
US7210129B2 (en) * | 2001-08-16 | 2007-04-24 | Pact Xpp Technologies Ag | Method for translating programs for reconfigurable architectures |
US20030055861A1 (en) * | 2001-09-18 | 2003-03-20 | Lai Gary N. | Multipler unit in reconfigurable chip |
US20030052711A1 (en) * | 2001-09-19 | 2003-03-20 | Taylor Bradley L. | Despreader/correlator unit for use in reconfigurable chip |
-
1997
- 1997-02-08 DE DE19704728A patent/DE19704728A1/en not_active Withdrawn
- 1997-10-08 US US08/946,812 patent/US6081903A/en not_active Expired - Lifetime
-
1998
- 1998-02-07 DE DE59812895T patent/DE59812895D1/en not_active Expired - Lifetime
- 1998-02-07 WO PCT/DE1998/000334 patent/WO1998035299A2/en active IP Right Grant
- 1998-02-07 CN CN98803968A patent/CN1252144A/en active Pending
- 1998-02-07 AU AU63918/98A patent/AU740243B2/en not_active Ceased
- 1998-02-07 DE DE19880129T patent/DE19880129D2/en not_active Expired - Lifetime
- 1998-02-07 AT AT98909346T patent/ATE298907T1/en not_active IP Right Cessation
- 1998-02-07 EP EP98909346A patent/EP0961980B1/en not_active Expired - Lifetime
- 1998-02-07 EA EA199900653A patent/EA001823B1/en not_active IP Right Cessation
- 1998-02-07 CA CA002279917A patent/CA2279917A1/en not_active Abandoned
- 1998-02-07 JP JP53356398A patent/JP4146519B2/en not_active Expired - Fee Related
- 1998-02-07 EP EP05008631A patent/EP1669885A3/en not_active Ceased
-
2000
- 2000-03-29 US US09/537,932 patent/US6526520B1/en not_active Expired - Lifetime
-
2003
- 2003-02-24 US US10/373,595 patent/US6968452B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1669885A2 (en) | 2006-06-14 |
EP1669885A3 (en) | 2007-09-12 |
US6968452B2 (en) | 2005-11-22 |
WO1998035299A3 (en) | 1998-09-17 |
WO1998035299A2 (en) | 1998-08-13 |
CN1252144A (en) | 2000-05-03 |
JP4146519B2 (en) | 2008-09-10 |
US6081903A (en) | 2000-06-27 |
US20040052130A1 (en) | 2004-03-18 |
ATE298907T1 (en) | 2005-07-15 |
AU6391898A (en) | 1998-08-26 |
DE19704728A1 (en) | 1998-08-13 |
JP2001511325A (en) | 2001-08-07 |
EP0961980A2 (en) | 1999-12-08 |
DE59812895D1 (en) | 2005-08-04 |
DE19880129D2 (en) | 2000-01-27 |
CA2279917A1 (en) | 1998-08-13 |
US6526520B1 (en) | 2003-02-25 |
AU740243B2 (en) | 2001-11-01 |
EA001823B1 (en) | 2001-08-27 |
EA199900653A1 (en) | 2000-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0961980B1 (en) | Method for self-synchronization of configurable elements of a programmable component | |
EP0948842B1 (en) | METHOD FOR AUTOMATIC DYNAMIC UNLOADING OF DATA FLOW PROCESSORS (DFP) AS WELL AS MODULES WITH BIDIMENSIONAL OR MULTIDIMENSIONAL PROGRAMMABLE CELL STRUCTURES (EPGAs, DPGAs OR THE LIKE) | |
EP1342158B1 (en) | Pipeline configuration unit protocols and communication | |
EP1228440B1 (en) | Sequence partitioning in cell structures | |
EP1329816A2 (en) | Method for automatic dynamic unloading of data flow processors (dfp) as well as modules with bidimensional or multidimensional programmable cell structures (fpgas, dpgas or the like) | |
DE10028397A1 (en) | Registration method in operating a reconfigurable unit, involves evaluating acknowledgement signals of configurable cells with time offset to configuration | |
EP0943129A1 (en) | Unit for processing numeric and logical operations, for use in processors (cpus) and in multicomputer systems | |
EP1057102A2 (en) | METHOD FOR CONFIGURING DATA FLOW PROCESSORS AND MODULES WITH A TWO- OR MULTIDIMENSIONAL PROGRAMMABLE CELL STRUCTURE (FPGAs, DPGAs OR SIMILAR) WITHOUT PRODUCING DEADLOCKS | |
EP1599794B1 (en) | Processor with different types of control units for commonly used resources | |
EP1454258A2 (en) | Method and devices for treating and/or processing data | |
EP1472616B1 (en) | Reconfigurable elements | |
DE102017200456A1 (en) | Arithmetic unit and operating method for this | |
WO2002071249A2 (en) | Method and devices for treating and/or processing data | |
EP1514193B1 (en) | Bus systems and method for reconfiguration | |
EP0981079B1 (en) | Programmable one bit data processing apparatus | |
DE102005029108B3 (en) | Network-on-chip-data flow-processor circuit for e.g. microprocessor, has knots with switch and logic unit, where instruction transmitted by instruction network configures operation of unit, switch and connections of knots in data network | |
AT502264B1 (en) | METHOD FOR PROCESSING DATA IN A LOGICAL SYSTEM | |
EP1069513A1 (en) | Program controlled unit | |
DE10227650A1 (en) | Reconfigurable elements | |
DE3603320A1 (en) | Arrangement for processing ternary vector lists | |
DE10226186A1 (en) | Data processing unit has logic cell clock specifying arrangement that is designed to specify a first clock for at least a first cell and a further clock for at least a further cell depending on the state | |
DE10240000A1 (en) | Router for use in networked data processing has a configuration method for use with reconfigurable multi-dimensional fields that includes specifications for handling back-couplings |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 19990908 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: PACT INFORMATIONSTECHNOLOGIE GMBH |
|
17Q | First examination report despatched |
Effective date: 20030320 |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: PACT XPP TECHNOLOGIES AG |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20050629 Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRE;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED.SCRIBED TIME-LIMIT Effective date: 20050629 Ref country code: IE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20050629 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20050629 |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D Free format text: NOT ENGLISH |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REF | Corresponds to: |
Ref document number: 59812895 Country of ref document: DE Date of ref document: 20050804 Kind code of ref document: P |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D Free format text: LANGUAGE OF EP DOCUMENT: GERMAN |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20050929 Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20050929 Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20050929 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20051010 |
|
GBT | Gb: translation of ep patent filed (gb section 77(6)(a)/1977) |
Effective date: 20051010 |
|
NLV1 | Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents act | ||
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20051207 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FD4D |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: AT Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20060207 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20060228 Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20060228 Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20060228 Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20060228 Ref country code: BE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20060228 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed |
Effective date: 20060330 |
|
EN | Fr: translation not filed | ||
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20060825 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
BERE | Be: lapsed |
Owner name: PACT XPP TECHNOLOGIES A.G. Effective date: 20060228 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20050629 |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: 732E Free format text: REGISTERED BETWEEN 20091126 AND 20091202 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R082 Ref document number: 59812895 Country of ref document: DE Representative=s name: VOSSIUS & PARTNER PATENTANWAELTE RECHTSANWAELT, DE |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: 732E Free format text: REGISTERED BETWEEN 20140522 AND 20140528 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R082 Ref document number: 59812895 Country of ref document: DE Representative=s name: VOSSIUS & PARTNER PATENTANWAELTE RECHTSANWAELT, DE |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R082 Ref document number: 59812895 Country of ref document: DE Representative=s name: VOSSIUS & PARTNER PATENTANWAELTE RECHTSANWAELT, DE Effective date: 20141103 Ref country code: DE Ref legal event code: R082 Ref document number: 59812895 Country of ref document: DE Representative=s name: VOSSIUS & PARTNER PATENTANWAELTE RECHTSANWAELT, DE Effective date: 20140312 Ref country code: DE Ref legal event code: R081 Ref document number: 59812895 Country of ref document: DE Owner name: PACT XPP TECHNOLOGIES AG, DE Free format text: FORMER OWNERS: KRASS, MAREN, ZUERICH, CH; RICHTER, THOMAS, 04703 BOCKELWITZ, DE Effective date: 20141103 Ref country code: DE Ref legal event code: R081 Ref document number: 59812895 Country of ref document: DE Owner name: PACT XPP TECHNOLOGIES AG, DE Free format text: FORMER OWNER: MAREN KRASS,THOMAS RICHTER, , CH Effective date: 20141103 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20150415 Year of fee payment: 18 Ref country code: DE Payment date: 20150422 Year of fee payment: 18 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R119 Ref document number: 59812895 Country of ref document: DE |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20160207 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20160207 Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20160901 |