DE4416881C2 - A method of operating a data processing device - Google Patents

A method of operating a data processing device

Info

Publication number
DE4416881C2
DE4416881C2 DE19944416881 DE4416881A DE4416881C2 DE 4416881 C2 DE4416881 C2 DE 4416881C2 DE 19944416881 DE19944416881 DE 19944416881 DE 4416881 A DE4416881 A DE 4416881A DE 4416881 C2 DE4416881 C2 DE 4416881C2
Authority
DE
Germany
Prior art keywords
logic
cells
data processing
processing device
operating
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
Application number
DE19944416881
Other languages
German (de)
Other versions
DE4416881A1 (en
Inventor
Martin Vorbach
Robert Muench
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KRASS, MAREN, ZUERICH, CH
RICHTER, THOMAS, 04703 BOCKELWITZ, DE
Original Assignee
Pact Informationstechnologie 81545 Muenchen De GmbH
PACT INF TECH GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to DE4316036 priority Critical
Application filed by Pact Informationstechnologie 81545 Muenchen De GmbH, PACT INF TECH GmbH filed Critical Pact Informationstechnologie 81545 Muenchen De GmbH
Priority claimed from DE4447706A external-priority patent/DE4447706B4/en
Priority to DE19944416881 priority patent/DE4416881C2/en
Priority claimed from DE4447707A external-priority patent/DE4447707B4/en
Publication of DE4416881A1 publication Critical patent/DE4416881A1/en
Publication of DE4416881C2 publication Critical patent/DE4416881C2/en
Application granted granted Critical
Anticipated expiration legal-status Critical
Application status is Expired - Lifetime legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture

Description

Die vorliegende Erfindung bezieht sich auf Verfahren zum Betrieb einer Datenverarbeitungseinrichtung, dh einer Hardwareeinheit zur logischen und arithmetischen Manipulation (Verknüpfung) von in binärer Form vorliegenden Daten (Informationen). The present invention relates to method for operating a data processing device, that is a hardware unit for logical and arithmetic manipulation (link) of the present binary data (information).

Nach dem Stand der Technik sind gewöhnliche Mikroprozessoren (z. B. Intel 80×86) bereits bekannt. According to the prior art ordinary microprocessors (z. B. Intel 80 × 86) are already known. Diese sind aus fest vorgegebenen Einheiten ausgestaltet und verarbeiten Programme durch das Auskodieren von Befehlen (Microcode) und dadurch bestimmte Registermanipulationen. These are designed for fixed predetermined units and process programs by the Auskodieren of commands (microcode), and characterized certain registers manipulations.

Ebenfalls bekannt sind sogenannte FPGAs (z. B. aus US-Patent 4,870,302) die zum Aufbau von komplexen logischen Strukturen verwendet werden. Also known are so-called FPGA (z. B. from US-Patent 4,870,302) which are used for the construction of complex logic structures. Auf der Grundlage dieser Bausteine lassen sich Rechenwerke wie Addierer, Multiplizierer, etc. innerhalb des Bausteines für die Durchführung einer bestimmten Funktion oder Aufgabe konfigurieren. Based on these building blocks to calculators such as adders, multipliers, etc. can be configured within the block to perform a specific function or task. Durch die direkte Implementierung einer Funktion in die entsprechenden Logikbausteine können FPGAs Funktionen oftmals schneller ausführen als Mikroprozessoren. Due to the direct implementation of a function in the corresponding logic devices FPGA functions can often run faster than microprocessors. Obwohl die bekannten Bausteine aufgrund ihrer SRAM-Architektur bereits umkonfiguriert werden können, existiert kein Mechanismus, um die Umkonfiguration schnell und dynamisch während der Laufzeit durchführen zu können, insbesondere, wenn nur Teilbereiche des Bausteines mit einer neuen Funktion konfiguriert werden sollen, während andere Teile des Bausteines ihre Aufgabe fortsetzen. Although the known components can already be reconfigured due to their SRAM architecture, there is no mechanism to carry out the reconfiguration quickly and dynamically at runtime, especially if only parts of the block to be configured with a new function, while other parts of the block continue their task. Durch die fehlende Interaktion zwischen einer konfigurierenden Einheit und dem FPGA an sich, scheiden die Bausteine als funktional vollwertiger Ersatz für Mikroprozessoren aus. Due to the lack of interaction between a configuring unit and the FPGA itself, the building blocks are eliminated as a functionally complete replacement for microprocessors.

Die der vorliegenden Erfindung zugrunde liegende Aufgabe besteht darin, ein Verfahren zum Betrieb einer Datenverarbeitungseinrichtung mit programmierbarer und konfigurierbarer Zell-Struktur - wobei eine Zelle als ein logisches Schaltelement ähnlich US 4,870,302 (LE) oder eine besonders ausgestaltete Recheneinheit (ALU) definiert ist - bereitzustellen, das eine höhere Parallelität der Verarbeitung und eine flexiblere Verarbeitung von Daten gewährleistet. The object of the present invention is based is to provide a method for operating a data processing device with programmable and configurable cell structure - in which a cell as a logical switching element similar to US 4,870,302 (LE) or a specially configured computer unit (ALU) is defined - provide, which ensures a higher parallelism of the processing and a more flexible processing of data.

Dabei wird beschrieben, wie Bausteine, die aus einer Vielzahl von zwei- oder mehrdimensionalen Zellstrukturen aufgebaut sind, schnell und effizient nach Ablauf eines Arbeitsschrittes oder Teilarbeitsschrittes, durch Interaktion zwischen dem Baustein und einer konfigurierenden Einheit, dynamisch neu konfiguriert werden, ohne Einfluß auf noch ablaufende Arbeitsschritte zu haben. Here will be described how blocks which are built up from a plurality of two- or multi-dimensional cell structures are quickly and efficiently, dynamically re-configured after a machining step or part working step, through interaction between the block and a configuring unit, without influence on still running to have operations. Die Notwendigkeit einer Umkonfiguration, bzw. das Ende eines Arbeitsschrittes, kann gemäß dieses Verfahrens automatisch erkannt werden. The need for reconfiguration, or the end of a working step can be automatically identified according to this method. Dadurch kann auf Grundlage dieses Verfahrens ein vollwertiger Ersatz für Mikroprozessoren geschaffen werden. Thus, a complete replacement for microprocessors can be created on the basis of this process.

Ein Vorteil der vorliegenden Erfindung liegt darin, daß die beschriebene Methode eine über einen weiten Raum skalierbare Parallelität ermöglicht. An advantage of the present invention is that the method described enables a scalable over a wide space parallelism. Hierbei wird eine Basis zum schnellen und flexiblen Aufbau von zum Beispiel neuronalen Strukturen geschaffen, wie sie bis dato lediglich mit erheblichem Aufwand durch Software simuliert werden können. Here, a basis for fast and flexible structure, for example, neural structures is created, how they can be simulated up to now only with considerable effort by software.

Diese Aufgabe wird durch die im Patentanspruch I angegebenen Merkmale beziehungsweise Verfahrenschritte gelöst. This object is solved by the features indicated in claim I or method steps. Zur Verdeutlichung der Verfahrensschritte wird beispielsweise ein integrierter Schaltkreis (Chip) mit einer Vielzahl insbesondere orthogonal zueinander angeordneter Zellen mit je einer Mehrzahl jeweils logisch gleicher und strukturell identisch angeordneter Zellen gezeigt, sowie dessen interne Busstruktur, die zur Erleichterung der Programmierung äußerst homogen ist. To illustrate the process steps, an integrated circuit (chip) having a plurality particular orthogonally arranged cells, each with a plurality, for example, respectively shown logically the same and structurally identical arranged cells, as well as its internal bus structure, which is extremely homogeneous to facilitate programming. Grundsätzlich ist es denkbar innerhalb eines Datenflußprozessors Zellen mit verschiedenen Zellogiken und Zellstrukturen unterzubringen, um so die Leistungsfähigkeit zu erhöhen, indem zum Beispiel für Speicheransteuerungen (Businterface) andere Zellen als für arithmetische Operationen (Arithmetisch/logische Einheiten (ALUs) existieren. Insbesondere kann für neuronale Netze eine ge wisse Spezialisierung von Vorteil sein. Den Zellen ist eine Ladelogik zugeordnet, über die die Zellen je für sich und gegebenenfalls gruppenweise in sogenannte MACROs (Menge von Zellen, welche zusammen eine definierte Aufgabe lösen) zusammengefaßt so programmierbar sind, daß einerseits beliebige logische Funktionen, andererseits aber auch die Verknüpfung der Zellen untereinander in weiten Bereichen verifizierbar sind. Dies wird erreicht indem jeder einzelnen Zelle ein gewisser Speicherplatz zur Verfügung steht, in dem die Konfigurationsdaten abgelegt sind. Anhand dieser Daten werden Multiplexer o Basically, it is possible to accommodate in order to increase the efficiency by, for example, for storage drives (bus interface) are other cells than for arithmetic operations (arithmetic / logic units (ALUs) within a Datenflußprozessors cells with different Zellogiken and cell structures. In particular, neural networks a ge know be specialization of advantage. the cell is associated with a charging logic through which summarized the cells each for itself and optionally in groups in so-called MACROs (amount of cells which together solve a defined task) are programmable so that on one hand any logical functions, on the other hand also the linking of the cells are verified with each other in a wide range. this is achieved by each individual cell is a certain amount of memory space in which the configuration data are stored. multiplexers o From these data, der Transistoren in der Zelle beschaltet um die jeweilige Zellfunktion zu gewährleisten (siehe Fig. 12). of the transistors in the cell wired to the respective cell function to ensure (see Fig. 12).

Mit anderen als im Patentanspruch 1 gebrauchten Worten besteht der Kern der vorliegenden Erfindung darin, eine Methode für einen Datenflußprozessor vorzuschlagen, der zellular aufgebaut ist und dessen Zellen über eine Ladelogik im arithmetisch-logischen Sinne quasi beliebig neu konfiguriert werden können. In other as in claim 1 used words, the gist of the present invention is to propose a method for a data flow processor, which is constructed cellular and its cells can be reconfigured or less arbitrarily via a charging logic in the arithmetic logic sense. Dabei ist es von äußerster Notwendigkeit, daß die betreffenden Zellen einzeln und ohne Beeinflussung der übrigen Zellen oder gar einer Stillegung des gesamten Bausteins umkonfiguriert werden können. It is of utmost necessity that the cells in question separately and can be reconfigured without affecting the other cells or even a shutdown of the entire block. Ein Datenflußprozessor gemäß dem vorliegenden Verfahren kann so während eines ersten Arbeitszyklusses als Addierer und während eines späteren Arbeitszyklusses als Multiplizierer "programmiert"/genutzt werden, wobei die Anzahl der für die Addition beziehungsweise die Multiplikation erforderlichen Zellen durchaus unterschiedlich sein können. A data flow processor according to the present method can be "programmed" so during a first cycle of operation as an adder, and during a later cycle of operation as a multiplier / used, wherein the number of cells required for the addition or multiplication can be quite different. Dabei bleibt die Plazierung der bereits geladenen und während des Umladeprozesses nicht tangierten MACROs erhalten; The placement of the already loaded and could not be bothered during the Umladeprozesses MACROs retained; der Ladelogik beziehungsweise dem Compiler obliegt es, das neu zu ladende MACRO innerhalb der freien Zellen zu partitionieren (dh das zu ladende MACRO so zu zerlegen, daß es sich opti mal einfügen läßt). the PLU or the compiler, it is up to partition the newly to be loaded MACRO within the free cells (ie, to be loaded MACRO to disassemble so that it can fit opti times). Die Ablaufsteuerung des Programms wird dabei von der Ladelogik übernommen, indem sie gemäß dem momentan ausgeführten Programmabschnitt die entsprechenden MACROs in den Baustein lädt, wobei der Ladevorgang von der später beschriebenen Synchronisationslogik mitgesteuert wird, indem sie den Zeitpunkt des Umladens festlegt. The sequential control program is assumed by the charging logic by loading in accordance with the currently executing program portion of the corresponding MACROs in the block, wherein the charging process is also controlled by the later-described synchronization logic, by defining the date of transshipment. Daher entspricht ein DFP gemäß dem beschriebenem Verfahren nicht der bekannten von-Neumann-Ar chitektur, da die Daten- und Programmspeicher getrennt sind. Therefore, a DFP corresponds according to the method described not the well-known von Neumann-Ar tecture as the data and program memory are separate. Dies bedeu tet jedoch gleichzeitig eine höhere Sicherheit, da fehlerhafte Programme keinen CODE, sondern lediglich DATEN zerstören können. However, this signified tet increased security at the same time as incorrect programs can destroy any CODE, but only DATA.

Um dem Datenflußprozessor eine arbeitsfähige Struktur zu geben, werden einige Zellen, und zwar unter anderem die Eingabe-/Ausgabefunktionen (I/O) und Speichermanagementfunktionen (I/O) vor dem Laden der Programme geladen und bleiben für gewöhnlich während der gesamten Laufzeit konstant. To give a workable structure the data flow processor, some cells, including inter alia the input / output functions (I / O) and memory management functions (I / O) loaded before loading the programs and remain usually during the lifetime constant.

Dies ist erforderlich um den Datenflußprozessor an seine Hardwareumgebung anzupassen. This is necessary to the data flow processor to its hardware environment to adapt. Die übrigen Zellen werden zu sogenannten MACROs zusammengefaßt und können während der Laufzeit nahezu beliebig und ohne Beeinflussung von Nachbarzellen oder anderen MACROs umkonfiguriert werden. The remaining cells are combined to form so-called MACROs and can be reconfigured during the term of almost arbitrary and without influence from neighboring cells or other MACROs. Dazu sind die Zellen einzeln und direkt adressierbar. For this, the cells are individually and directly addressable.

Um die Umstrukturierung (das Umladen/Umkonfigurieren) der Zellen oder MACROs mit der Ladelogik zu synchronisieren, kann - wo notwendig, da nur Umgeladen werden darf, wenn die MACROs mit ihrer alten Tätigkeit fertig sind - eine Synchronisationsschaltung als MACRO auf dem Datenflußprozessor untergebracht werden, die die entsprechenden Signale an die Ladelogik absendet. To restructure to synchronize (the unloading / reconfiguring) the cells or MACROs with the PLU can - where necessary, as only Transhipped may be when the MACROs are done with their old activities - a synchronization circuit are accommodated as MACRO on the data flow processor, which sends the corresponding signals to the charging logic. Hierzu kann eventuell eine Modifikation der gewöhnlichen MACROs von Nöten sein, da diese dann der Synchronisations-Schaltung Zustandsinformationen zur Verfügung stellen müssen. To this end, possibly may be a modification of the ordinary MACROs is required since this then have to face the synchronization circuit state information.

Diese Zustandsinformationen signalisieren der Synchronisationslogik für gewöhnlich, daß einzelne MACROs ihre Aufgabe erledigt haben, was aus programmiertechnischer Sicht zum Beispiel die Terminierung einer Prozedur oder das Erreichen der Terminierungsbedingung einer Schleife bedeuten kann. This state information signal to the synchronization logic usually that individual MACROs have done their job, which, for example, the termination of a procedure or reaching the termination condition of a loop can mean from programming point of view. Dh das Programm wird an einer anderen Stelle fortgesetzt und die die Zustandsinformation absendenden MACROs können umgeladen werden. Ie the program will continue at another location and the status information sending MACROs can be reloaded. Zudem kann es von Interesse sein, daß die MACROs in einer bestimmten Reihenfolge umgeladen werden. In addition, it may be of interest that the MACROs transhipped in a specific order. Hierzu kann eine Wertung der einzelnen Zustandsinformationen durch eine Logik (zum Beispiel einen (Prioritäts-Ar biter) erfolgen. Eine derartige - einfache - Logik ist in Fig. 19 gezeichnet. Die Logik besitzt sieben Eingangssignale durch die die sieben MACROs ihre Zustandsinformation abgeben. In diesem Fall soll 0 für "in Arbeit" und 1 für "fertig" stehen. Die Logik besitzt drei Ausgangssignale, die an die Ladelogik geführt werden, wobei der Zustand 000 als Ruhezustand gilt. Liegt ein Signal an einem der sieben Eingänge an, so findet eine Dezimal-Binär-Umsetzung statt, so wird zum Beispiel Sync6 als 110 dargestellt, was der Ladelogik anzeigt, daß das MACRO, welches Sync6 bedient, seine Aufgabe beendet hat. Liegen gleichzeitig mehrere Zustandsinformationen am Eingang an, so gibt die Synchronisationsschaltung das Signal mit der höchsten Priorität an die Ladelogik weiter; liegen zum Beispiel Sync0, Sync4 und Sync6 an, so reicht die Synchronistaions-Schal tung zunächst Sync6 an d To this end, an evaluation of the individual state information by a logic take place (for example, a (priority Ar biter) Such -. Simple - logic is shown in Figure 19 drawn Logic has seven input signals by the seven MACROs cast their status information to... this case is to 0 stand for "in progress" and 1 for "finished". the logic has three output signals out to the PLU, the state 000 is considered hibernation If a signal at one of the seven inputs., the provisions of a decimal-binary conversion takes place, for example Sync6 is shown as 110, of the charging logic indicating that the MACRO which Sync6 operated, has completed its task. beds simultaneously to a plurality of state information at the input, the synchronization circuit outputs the signal with the highest priority to the charging logic continues; for example, lie at Sync0, sync4 and Sync6, the Synchronistaions scarf ranges tung first Sync6 to d ie Ladelogik weiter. ie PLU on. Nachdem die entsprechenden MACROs umgeladen sind und somit Sync6 nicht mehr anliegt wird Sync4 weitergeleitet usw. Zur Verdeutlichung dieses Prinzips kann zum Beispiel der Standard-TTL-Baustein 74148 in Betracht gezogen werden. After the respective MACROs are reloaded and thus Sync6 is no longer present sync4 forwarded, etc. To illustrate this principle can be considered as the standard TTL logic device 74,148th

Über die Ladelogik kann der Datenflußprozessor jeweils optimal und gege benenfalls dynamisch auf eine zu lösende Aufgabe eingestellt werden. About the charging logic of the data flow processor can be optimally and where appropriate be dynamically adjusted to an object to be achieved. Damit ist zum Beispiel der große Vorteil verbunden, daß neue Normen oder dergleichen einzig und allein durch Umladen des Datenflußprozessors umgesetzt werden können und nicht - wie bisher - einen Austausch mit entsprechendem Anfall von Elektronikschrott bedingen. Thus, the great advantage is connected, for example, that new standards or can be implemented solely by transferring the Datenflußprozessors like, and not - as yet - require an exchange with an appropriate fit of electronic waste.

Die Datenflußprozessoren sind untereinander kaskadierbar, was zu einer beinahe beliebigen Erhöhung des Parallelisierungsgrades, der Rechenleistung, sowie der Netzgröße in neuronalen Netzen führt. The Datenflußprozessoren are interconnected cascadable, resulting in almost any increase in parallelization, computing power, and the mesh size in neural networks. Besonders wichtig ist hier eine klare homogene Verbindung der Zellen mit den Ein-/Aus gangs-Pins (IO-Pins) der Datenflußprozessoren, um möglichst keine Einschränkungen auf die Programme zu haben. Particularly important here is a clear homogeneous connection of the cells with the on / off gangs pins (IO pins) of Datenflußprozessoren to possible to have no restrictions on the programs.

In Fig. 4 ist zum Beispiel die Kaskadierung von vier DFPs gezeigt. In FIG. 4, for example, cascading four DFPs is shown. Sie erscheinen der Umgebung wie ein großer homogener Baustein ( Fig. 5). They appear around like a big homogeneous block (Fig. 5). Prinzipiell sind damit zwei Kaskadierungsmethoden denkbar: In principle, two Kaskadierungsmethoden are thus possible:

  • a) Nur die lokalen Verbindungen zwischen den Zellen werden herausgeführt, was im vorliegenden Beispiel zwei IO-Pins pro Kantenzelle und vier IO-Pins pro Eckzelle bedeutet. a) Only the local connections between cells are taken out, which in the present example, two IO pins per cell edge and four corner cell per IO pins. Allerdings hat der Compiler/Programmierer zu beachten, daß die globalen Verbindungen nicht herausgeführt werden, wodurch die Kaskadierung nicht vollständig homogen ist. However, the compiler / programmer has to be noted that the global connections are not taken out, so that the cascading is not completely homogeneous. (Globale Verbindungen zwischen mehreren Zellen, für gewöhnlich zwischen einer kompletten Zellenreihe oder -spalte - siehe Fig. 1 -; lokale Verbindungen existieren nur zwischen zwei Zellen). (Global connections between a plurality of cells, usually between a complete row of cells or column - see Figure 1 -;. Exist only local connections between two cells). Fig. 6a zeigt den möglichen Aufbau innerhalb eines DFPs, Fig. 7a zeigt die daraus resultierende Kaskadierung von mehreren DFPs (drei gezeichnet). FIG. 6a shows the possible structure within a DFPs, Fig. 7a shows the resulting cascading several DFPs (three shown).
  • b) Die lokalen und globalen Verbindungen werden herausgeführt, was die Anzahl der benötigten Treiber/IO-Pins und Leitungen drastisch erhöht, in unserem Beispiel ( Fig. 6b) auf sechs IO-Pins pro Kantenzelle und zwölf IO-Pins pro Eckzelle. b) The local and global connections are led out what the number of the required driver / IO pins and wires increases dramatically (in our example, Fig. 6b) to six IO pins per edge cell and twelve IO pins per corner cell. Dadurch ist eine vollständige Homogenität bei der Kaskadierung gegeben ( Fig. 7b). As a result, a complete homogeneity in the cascading given (Fig. 7b).

Da die globalen Verbindungen insbesondere bei Verwendung der Kaskadierungstechnik b) sehr lang werden können, kann der unangenehme Effekt auftreten, daß die Zahl der globalen Verbindungen nicht ausreicht, da bekanntlich jede Verbindung nur von einem Signal genutzt werden kann. Since the global connections, especially when using the Kaskadierungstechnik b) can be very long, the unpleasant effect can occur that the number of global connections is not sufficient, as is well known, any compound may be used by a signal. Um diesen Effekt zu minimieren, kann nach einer gewissen Länge der globalen Verbindungen ein Treiber eingeschleift werden. To minimize this effect, a driver can be looped after a certain length of global connections. Der Treiber hat zum einen eine Verstärkung des Signal s zur Aufgabe, die bei langen Strecken und entsprechend hohen Lasten, unbedingt erforderlich ist; The driver for an amplification of the signal s to task for long distances and correspondingly high loads, is essential; zum anderen kann der Treiber in Tristate gehen und damit das Signal unterbrechen. on the other, the driver can go into tristate, thus interrupting the signal. Dadurch können die Abschnitte links und rechts, beziehungsweise oberhalb und unterhalb des Treibers von verschiedenen Signalen genutzt werden, sofern der Treiber in Tristate ist, ansonsten wird ein Signal durchgeschleift. Thus, the portions left and right, or are above and below the driver used by different signals if the driver tristate is otherwise a signal is looped through. Wichtig ist hierbei, daß die Treiber der einzelnen globalen Leitungen auch einzeln angesteuert werden können, dh ein globales Signal kann unterbrochen sein, das Nachbarsignal ist jedoch durchgeschleift. Here it is important that the driver of each global lines can also be controlled individually, ie a global signal can be interrupted, the neighboring signal, however, is looped through. Somit können auf einer globalen Verbindung durchaus abschnittweise verschiedene Signale anliegen, während die globale Nachbarverbindung tatsächlich global von ein und demselben Signal verwendet wird (vergleiche Fig. 18). Thus, on a global connection quite sections bear different signals, while the global neighbor connection is actually used globally by the same signal (see FIG. 18).

Zur besseren Kommunikation zwischen den Datenflußprozessoren und der Ladelogik können sogenannte Shared-Memories eingesetzt werden. For better communication between the Datenflußprozessoren and the PLU so-called shared memories can be used. So können zum Beispiel Programme von einer Festplatte, die im IO-Bereich eines Daten flußprozessors liegt zur Ladelogik durchgereicht werden, indem die Datenflußprozessoren die Daten von der Platte in den Shared-Memory schreiben und die Ladelogik sie dort abholt. For example, can be passed through to the load logic programs from a hard drive that is in the IO area of ​​a data flußprozessors by the Datenflußprozessoren write the data from the disk in the shared memory and the PLU picks them up there. Dies ist besonders wichtig, da hier, wie bereits erwähnt, keine von-Neumann- sondern eine Harvardarchitektur vorliegt. This is particularly important, since, as already mentioned, no von Neumann but a Harvard architecture exists. Ebenso sind die Shared-Memories von Vorteil, wenn Konstanten, die im Programm - das im Speicherbereich der Ladelogik liegt - definiert sind, mit Daten - die im Speicherbetrieb der Datenflußprozessoren liegen - verknüpft werden sollen. Also, the shared memories are advantageous when constants in the program - which is located in the storage area of ​​the charging logic - to be associated - which lie in the storage operation of the Datenflußprozessoren - are defined with data.

Weiterbildungen der vorstehend definierten und umschriebenen Erfindung sind Gegenstand der Unteransprüche. Further developments of the above-defined and circumscribed invention are subject of the subclaims.

Eine besondere Verwendung eines Datenflußprozessors gemäß dem beschriebenem Verfahrens ist darin zu sehen, daß er in Verbindung mit ge eigneten Ein-/Ausgabe-Einheiten einerseits und einem Speicher andererseits die Basis für einen kompletten (komplexen) Rechner bilden kann. A particular use of a Datenflußprozessors according to the process described method is the fact that he other hand, can form the basis for a full (complex) in connection with computer ge suitable input / output units of a hand, and a memory. Dabei kann ein Großteil der IO-Funktionen als MACROs auf dem Datenflußprozessor implementiert werden und es brauchen momentan lediglich Spezialbausteine (Ethernet-Treiber, VRAMS. . .) extern zugefügt zu werden. Here, a large part of the IO functions are implemented as MACROs on the data flow processor and currently only need special modules (Ethernet driver, VRAMs...) To be added externally. Bei einer Normänderung oder Verbesserung muß dann wie bereits angedeutet nur das MACRO softwareseitig angepaßt werden; In a standard change or improvement must then as already indicated, only the MACRO to be adjusted by software; ein Eingriff in die Hardware ist nicht notwendig. an intervention in the hardware is not necessary. Es bietet sich hier an, einen IO-(Ein gabe-/Ausgabe-) Stecker festzulegen, über welchen dann die Zusatzbausteine angeschlossen werden können. It offers itself here, an IO (A gabe- / output) connector set, through which the additional modules can then be connected.

Fig. 16 zeigt den stark vereinfachten Aufbau eines heute üblichen Rechners. FIG. 16 shows the simplified structure of a conventional computer today. Durch den Einsatz eines DFP-Bausteins können erhebliche Teile eingespart werden ( Fig. 17), wobei die entsprechenden herkömmlichen Baugruppen (CPU, Speicherverwaltung, SCSI-, Tastatur- und Videointerface, sowie der para llelen und seriellen Schnittstellen) als MACROs in die kaskadierten DFPs abgelegt werden. Through the use of a DFP block significant parts can be reduced (Fig. 17), the corresponding conventional assemblies (CPU, memory management, SCSI, keyboard, and video interface, as well as the para llelen and serial interfaces) as MACROs in the cascaded DFPs are stored. Nur die durch einen DFP nicht nachbildbaren Teile wie Speicher und Leitungstreiber mit nicht TTL-Pegeln oder für hohe Lasten müssen extern zugeschaltet werden. Only the non-replicable by a DFP parts such as memory and line driver with non-TTL levels or for high loads must be connected externally. Durch die Verwendung des DFPs ist eine günstige Produktion gegeben, da ein und derselbe Baustein sehr häufig verwendet wird, das Layout der Platine ist durch die homogene Vernetzung entsprechend einfach. By using the DFPs a convenient production is given as one and the same block is used very frequently, the layout of the board is correspondingly simple by the homogeneous crosslinking. Zudem wird der Aufbau des Rechners durch die Ladelogik bestimmt, die hier für gewöhnlich nur zu Beginn der Verarbeitung (nach einem Reset) das DFP-Array lädt, wodurch eine günstige Fehlerkorrektur- und Erweiterungsmöglichkeit gegeben ist. In addition, the structure of the computer is determined by the charging logic that loads here usually only at the beginning of processing (after a reset), the DFP array, whereby a favorable error correction and expansion capability is given. Ein derartiger Rechner kann insbesondere mehrere verschiedene Rechnerstrukturen simulieren, indem einfach der Aufbau des zu simulierenden Rechners in das DFP-Array geladen wird. Such a computer can simulate several different particular computer structures simply by the construction of the simulated computer is loaded into the DFP array. Zu bemerken ist, daß hierbei der DFP nicht in seiner Funktion als DFP arbeitet sondern lediglich ein hochkomplexes und frei programmierbares Zellarray zur Verfügung stellt, sich hierbei jedoch von herkömmlichen Bausteinen in seiner besonderen guten Kaskadierbarkeit unterscheidet. It should be noted that in this case the DFP does not work in his capacity as DFP it is a highly complex and freely programmable cell array exposed, however, this is different from conventional devices in its particular good Cascadability.

Ein weiteres Einsatzgebiet eines solchen Bausteins ist der Aufbau großer neuronaler Netze. Another application of such a device is the construction of large neural networks. Sein besonderer Vorzug liegt hierbei in seiner hohen Gatterdichte, seiner ausgezeichneten Kaskadierbarkeit, sowie seiner Homogenität. Its particular advantage here is in its high gate density, its excellent cascading, and its homogeneity. Ein Lernvorgang, der eine Änderung einzelner axiomatischer Verbindungen beziehungsweise einzelner Zellfunktionen beinhaltet ist auf üblichen Bausteinen ebenso schlecht durchführbar, wie der Aufbau großer homogener und gleichzeitig flexibler Zellstrukturen. A learning process that is involves a change of individual compounds or individual cell axiomatic functions on conventional blocks as bad as practicable, such as the construction of large homogeneous and at the same time flexible cell structures. Die dynamische Umkonfigurierbarkeit ermöglicht erstmalig die optimale Simulation von Lernvorgängen. The dynamic reconfigurability first time enables the optimal simulation of learning processes.

Die vorliegende Erfindung wird im folgenden anhand der weiteren Figuren näher erläutert. The present invention is explained below with reference to the further figures. Insgesamt zeigen show total

Fig. 1 ein aus vier Zellen bestehendes unprogrammiertes SUBMACRO X (analog einem 1-Bit-Addierer gemäß Fig. 12 beziehungsweise Fig. 13) mit den erforderlichen Leitungsanschlüssen; FIG. 1 is an existing four-cell unprogrammed SUBMACRO X (analogous to a 1-bit adder of FIG 12 and FIG. 13.) With the required line connections;

Fig. 2 einen Teilausschnitt eines integrierten Schaltkreises (Chip) mit einer Vielzahl von Zellen und einem separierten SUBMACRO X gemäß Fig. 1; Fig. 2 is a partial section of an integrated circuit (chip) having a plurality of cells and a separated SUBMACRO X of FIG. 1;

Fig. 3 einen integrierten Schaltkreis (Chip) mit einer Orthogonal struktur einer quasi beliebigen Vielzahl von Zellen und einer extern zugeordneten Ladelogik; Figure 3 is an integrated circuit (chip) with an orthogonal structure of a quasi any of a variety of cells and an externally associated load logic.

Fig. 4 die Kaskadierung von vier DFPs, wobei die Verbindung zwischen den IO-Pins nur schematisch dargestellt sind (tatsächlich bedeutet eine gezeichnete Verbindung eine Mehrzahl von Leitungen); . Figure 4 illustrates the cascading of four DFPs, wherein the connection between the IO pins are shown only schematically (in fact means a drawn connecting a plurality of lines);

Fig. 5 die durch die Kaskadierung erreichte Homogenität; Fig. 5 is the homogeneity achieved by the cascading;

Fig. 6a die Struktur der E/A-Zellen, wobei die globalen Verbindungen nicht herausgeführt werden, FIG. 6a, the structure of the I / O cells, said global connections are not drawn out,

Fig. 6b die Struktur der E/A-Zellen, jedoch mit herausgeführten globalen Verbindungen; Fig. 6b, the structure of the I / O cells, but with a lead-out global connections;

Fig. 7a die aus Fig. 6a resultierende Kaskadierung, wobei eine Eckzelle, sowie die zwei mit ihr kommunizierenden Treiberzellen der kaskadierten Bausteine (vergleiche hierzu Fig. 4) gezeichnet sind; Marked 7a resulting from 6a cascading, wherein a corner cell, as well as the two communicating with its driver cells of the cascaded modules (compare Fig. 4)..;

Fig. 7b die aus Fig. 6b resultierende Kaskadierung, wobei eine Eckzelle, sowie die zwei mit ihr kommunizierenden Treiberzellen der kaskadierten Bausteine (vergleiche hierzu Fig. 4) gezeichnet sind; Marked 7b resulting from 6b cascading, wherein a corner cell, as well as the two communicating with its driver cells of the cascaded modules (compare Fig. 4)..;

Fig. 8 einen bei spiel haften Aufbau einer Zelle mit Multiplexern zur Auswahl der jeweiligen logischen Bausteine; 8 shows a exemplary structure of a cell with play with multiplexers to select the respective logical blocks.

Fig. 9 ein Schaltsymbol für einen 8-Bit-Addierer; 9 is a circuit symbol of an 8-bit adder.

Fig. 10 ein Schaltsymbol für einen aus acht 1-Bit-Addierern bestehenden 8-Bit-Addierer nach Fig. 9; 10 is a circuit symbol of an eight 1-bit adders 8-bit adder of FIG. 9.

Fig. 11 eine logische Struktur eines 1-Bit-Addierers entsprechend Fig. 10; FIG. 11 is a logical structure of a 1-bit adder corresponding to FIG. 10;

Fig. 12 eine Zellenstruktur des 1-Bit-Addierers entsprechend Fig. 11; FIG. 12 is a cell structure of the 1-bit adder corresponding to FIG. 11;

Fig. 13 einen der Zellenstruktur nach Fig. 9 entsprechend aufgebauten 8-Bit-Addierer; Figure 13 shows a cell structure of Figure 9 constructed in accordance with 8-bit adder..;

Fig. 14 ein erstes Ausführungsbeispiel einer Mehrzahl miteinander zu einem Rechenwerk gekoppelter integrierter Schaltkreise (Datenflußprozessor) nach Fig. 3; Fig. 14 shows a first embodiment of a plurality with each other to an arithmetic unit coupled integrated circuits (Data flow) of FIG. 3;

Fig. 15 ein zweites Ausführungsbeispiel einer Mehrzahl miteinander zu einem Rechenwerk gekoppelter integrierter Schaltkreise (Datenflußprozessor) nach Fig. 3; Fig. 15 shows a second embodiment of a plurality with each other to an arithmetic unit coupled integrated circuits (Data flow) of FIG. 3;

Fig. 16 den stark schematisierten Aufbau eines herkömmlichen Rechners; 16 shows the highly schematic structure of a conventional computer.

Fig. 17 den möglichen Aufbau desselben Rechners mit Hilfe eines Arrays aus kaskadierten DFPs; 17 shows the possible structure of the same computer with the aid of an array of cascaded DFPs.

Fig. 18 einen Ausschnitt mit eingezeichneten (Leitungs-) Treibern eines DFPs. Fig. 18 a section with indicated (line) of a drivers DFPs.

Fig. 19 eine zum Beispiel mit einem Standard-TTL-Baustein 74148 ausgeführte Synchronisationslogik; Fig. Synchronization logic performed, for example, using a standard TTL logic device 19 is a 74148;

Fig. 20a, b, c ein Ausführungsbeispiel eines MACRO zur Addition zweier Zahlenreihen; Figure 20a, b, c, an embodiment of a MACRO for the addition of two number series.

Fig. 21a eine Multiplikationsschaltung (vergleiche Fig. 20); FIG. 21a is a multiplication circuit (see Fig. 20);

Fig. 21b die interne Struktur des DFPs nach dem Laden (vergleiche Fig. 20b); Fig. 21b, the internal structure of the DFPs after loading (see Figure 20b.);

Fig. 21c die Arbeitsweise des DFPs im Speicher, sowie die Zustände der Zähler 47 , 49 ; Figure 21c, the operation of DFPs in the memory, and the states of counters 47, 49.

Fig. 22a, b, c eine Kaskadenschaltung, wobei der Addierer aus Fig. 20 und der Multiplizierer aus Fig. 21 zur Steigerung der Rechenleistung hintereinander geschaltet sind; FIG. 22a, b, c a cascade circuit, wherein the adder of Figure 20 and the multiplier of Figure 21 are connected to increase the computation power in succession..;
In Fig. 9 ist ein Schaltsymbol eines 8-Bit-Addierers dargestellt. In Fig. 9 is a circuit symbol of an 8-bit adder is illustrated. Das Schaltsymbol besteht aus einem quadratischen Baustein 1 mit acht Eingängen A 0. . The circuit symbol consists of a square block 1 with eight inputs A 0. .7 für ein erstes Datenwort A und acht Eingängen B 0. . .7 for a first data word A and eight inputs B 0. .7 für ein zweites (zu addierendes) Datenwort B. Die jeweils acht Eingänge A i , B i (i = 0. . .7) werden ergänzt durch einen weiteren Eingang Üein über den dem Baustein 1 gegebenenfalls ein Übertrag zugeleitet wird. .7 for a second (to additively) data word B. Each of the eight inputs A i, B i (i = 0. .7) are supplemented by a further input Üein said optionally a carry is supplied to the chip 1. Der Baustein 1 hat funktions- und bestimmungsgemäß acht Ausgänge S 0. . The block 1 has function and intended purpose eight outputs S 0. .7 für binären Summanden und einen weiteren Ausgang Üaus für den gegebenenfalls bestehenden Übertrag. .7 for binary addend and a further output Üaus for the optionally existing transfer.

Das in Fig. 9 dargestellte Schaltsymbol ist in Fig. 10 als Anordnung sogenannter SUBMACROS dargestellt. The circuit symbol shown in FIG. 9 is shown as an arrangement of so-called SUBMACROS in Fig. 10. Diese SUBMACROS 2 bestehen je aus einem 1-Bit-Addierer 3 mit je einem Eingang für die entsprechenden Bits des Datenworts und einem weiteren Eingang für ein Übertragsbit. This SUBMACROS 2 each consist of a 1-bit adder 3 with one input for the corresponding bits of the data word and another input for a carry bit. Die 1-Bit- Addierer 3 weisen darüberhinaus einen Ausgang für den Summanden und einen Ausgang für den Übertrag Üaus auf. The 1-bit adder 3 have in addition to an output for the summand and an output for the carry Üaus.

In Fig. 11 ist die binäre Logik eines 1-Bit-Addierers beziehungsweise eines SUBMACROS 3 nach Fig. 10 dargestellt. In Fig. 11, the binary logic of a 1-bit adder or a SUBMACROS 3 of FIG. 10 is shown. Analog zu Fig. 10 weist diese Schaltlogik je einen Eingang A i , B i für die konjugierten Bits der zu verknüpfenden Daten auf; . Analogous to Fig 10, this switching logic one input A i, B i of the conjugated bits of data to be joined on; ferner ist ein Eingang Üein für den Übertrag vorgesehen. Further, an input Üein for the transfer is provided. Diese Bits werden den dargestellten Verbindungen be ziehungsweise Verknüpfungen entsprechend in zwei ODER-Gliedern 5 und drei NAND-Gliedern 6 verknüpft, so daß am Ausgangsanschluß Si und am Ausgang für den Übertrag Üaus die einem Volladdierer entsprechenden Verknüpfungsergeb nisse (Si, Üaus) anstehen. These bits are linked to the compounds represented BE relationship as links corresponding to two OR gates 5 and three NAND gates 6 so that queue corresponding to one full adder link profits or losses (Si, Üaus) at the output terminal Si and at the output for the carry Üaus.

Auf der Grundlage logisch und strukturell identischer Zellen 10 , deren einzelne logische Bausteine der auszuführenden Verknüpfungsfunktion entsprechend verschaltet werden, wird der 8-bit Addierer 2 in geeigneter Weise in die Zellstruktur implementiert. On the basis of logic and structurally identical cells 10, the single logical building blocks of the logic function to be carried out are appropriately interconnected, the 8-bit adder 2 is suitably implemented in the cell structure. Der Vorgang geschieht mittels der noch zu beschreibenden Ladelogik. The process is done by means yet to be described PLU. Gemäß der in Fig. 12 gezeigten, von der Schaltlogik nach Fig. 11 abgeleiteten Verknüpfungslogik für einen 1-Bit-Ad dierer sind je zwei Zellen 10.1 , 10.2 bezüglich der logischen Bausteine insoweit gleich, daß jeweils ein ODER-Glied 5 und ein NAND-Glied 6 aktiviert sind. According to the embodiment shown in Fig. 12, by the switching logic of FIG. 11 derived combinatorial logic for a 1-bit Ad decoder are two cells 10.1, 10.2 with respect to the logical blocks to the extent equal to that in each case an OR gate 5 and a NAND member are activated. 6 Eine dritte Zelle 10.3 wird nur als Leitungszelle (Leiter bahnzelle) benutzt und die vierte Zelle 10.4 ist bezüglich des dritten NAND-Gliedes 6 aktiv geschaltet. A third cell 10.3 is (line cell manager) only as a line used cell and the fourth cell 10.4 is activated with respect to the third NAND gate. 6 Das aus den vier Zellen 10.1. Consisting of the four cells 10.1. . , . , . , 10.4 bestehende SUBMACRO 2 steht somit stellvertretend für einen 1-Bit-Addierer, dh ein 1-Bit-Addierer einer Datenverarbeitungseinrichtung nach Art der vorliegenden Erfindung kann über vier entsprechend programmierte (konfigurierte) Zellen 10.1. 10.4 existing SUBMACRO 2 is thus representative of a 1-bit adder, that is, a 1-bit adder a data processing device in the manner of the present invention, four appropriately programmed (configured) cells 10.1. . , . , . , 10.4 verifiziert werden. Be verified 10.4. (Der Vollständigkeit halber soll angemerkt werden, daß die einzelnen Zellen ein erheblich umfangreicheres Netzwerk von logischen Bausteinen, sprich Ver knüpfungsgliedern, und Invertern aufweist, die jeweils dem aktuellen Befehl der Ladelogik zufolge aktiv geschaltet werden können. Neben den logischen Bausteinen ist auch ein dichtes Netz von Verbindungsleitungen zwischen den jeweils benachbarten Bausteinen und zum Aufbau von zeilen- und spaltenweisen Busstrukturen zur Datenübertragung andererseits vorgesehen, so daß über eine entsprechende Programmierung seitens der Ladelogik quasi beliebige logische Verknüpfungsstrukturen implementiert werden können). (For completeness, it should be noted that the individual cells has a considerably more extensive network of logical blocks, ie Ver knüpfungsgliedern, and inverters that can be activated in each case the current command according to which load logic. In addition to the logical blocks is also a dense network on the other hand provided by connecting lines between the respective adjacent modules and for setting up of row and column-wise bus structures for data transmission, so that a corresponding part of the programming load logic quasi any logical combination of structures can be implemented).

Der Vollständigkeit halber ist in Fig. 13 der Zellenaufbau eines 8-Bit-Ad dierers in seiner Gesamtheit dargestellt. The sake of completeness in Fig. 13 of the cell structure of an 8-bit Ad dierers shown in its entirety. Die in Fig. 13 gezeigte Struktur entspricht insoweit der nach Fig. 10, wobei die in Fig. 10 symbolisch als SUBMACROS 3 dargestellten 1-Bit-Addierer jeweils durch eine vier-zellige Einheit 10.1. The structure shown in Fig. 13 corresponds to the extent that of Fig. 10, wherein the in Fig. 10 as symbolically illustrated SUBMACROS 1-bit adder 3 in each case by a four-cell unit 10.1. . , . , . , 10.4 ersetzt sind. Are replaced 10.4. Bezogen auf einen Datenflußprozessor gemäß des beschriebenen Verfahrens bedeutet dies, daß zweiunddreißig Zellen der zur Verfügung stehenden Gesamtheit von Zellen einer zellular mit logisch identischem Layout gefertigten Schaltungsplatine seitens der Ladelogik so angesteuert und konfiguriert beziehungsweise programmiert werden, daß diese zweiunddreißig Zellen ein 8-Bit-Addierer bilden. Based on a data flow processor according to the described method, this means that thirty two cells of the available set of cells of a cellular manufactured with logically identical layout circuit board by the charging logic are driven and configured or programmed to these thirty-two cells of a 8-bit adder form.

In der Darstellung nach Fig. 13 ist über eine strichpunktierte Umrahmung ein SUBMACRO "X" zeichnerisch separiert, das letztlich als aus vier einem 1-Bit-Addierer entsprechend programmierten Zellen ( 10 gemäß Fig. 12) bestehende Untereinheit zu betrachten ist. In the illustration of FIG. 13, a SUBMACRO "X" is separated in the drawing by a dot-dash-framing, which is to be considered ultimately as of four suitably programmed to a 1-bit adder cells existing (10 of FIG. 12) subunit.

Das in Fig. 13 separierte SUBMACRO "X" ist in Fig. 1 als Teil eines integrierten Schaltkreises (Chip) 20 gemeinsam mit Leitungs- und Datenanschlüssen dargestellt. The separated in Fig. 13 SUBMACRO "X" is shown in Fig. 1 as part of an integrated circuit (chip) 20, together with management and data terminals. Das SUBMACRO "X" besteht aus den vier Zellen 10 die entsprechend der orthogonalen Struktur je Seite vier Datenanschlüsse (also insgesamt sechzehn Datenanschlüsse je Zelle) aufweisen. The SUBMACRO "X" consists of four cells 10, corresponding to the orthogonal structure on each side four data ports (for a total of sixteen data lines per cell) have. Die Datenanschlüsse verbinden jeweils benachbarte Zellen, so daß ersichtlich wird, wie beispielsweise eine Dateneinheit von Zelle zu Zelle durchgeschleust wird. The data connections connect adjacent cells in each case so that it can be seen, such as a data unit of cell is funneled to cell. Die Ansteuerung der Zellen 10 erfolgt einerseits über sogenannte lokale Steuerungen, das sind lokale Leitungen, die mit allen Zellen verbunden sind, und andererseits über sogenannte globale Leitungen, dh Leitungen, die über den gesamten integrierten Schaltkreis (Chip) 20 geführt sind. The control of the cells 10 is effected on the one hand via so-called local controllers, which are local lines that are connected to all cells, and the other, on so-called global lines, ie, lines over the entire integrated circuit (chip) are guided 20th

In Fig. 2 ist ein vergrößerter Ausschnitt eines integrierten Schaltkreises 20 dargestellt, der mit einem orthogonalen Raster von Zellen 10 belegt ist. In FIG. 2, an enlarged section of an integrated circuit 20 is shown, which is covered with an orthogonal grid of cells 10. Wie in Fig. 2 angedeutet kann so zum Beispiel eine Gruppe von vier Zellen 10 als SUBMACRO "X" ausgewählt und dem 1-Bit-Addierer entsprechend Fig. 12 gemäß programmiert beziehungsweise konfiguriert werden. As indicated in Fig. 2 can be for example a group of four cells 10 as SUBMACRO "X" is selected and the 1-bit adder corresponding to FIG. 12 may be programmed or configured in accordance.

Ein vollständiger integrierter Schaltkreis gemäß dem beschriebenen Verfahren (DFP) 20 ist beispielsweise in Fig. 3 dargestellt. A complete integrated circuit according to the described method (DFP) 20 is shown for example in Fig. 3. Dieser integrierte Schaltkreis 20 besteht aus einer Vielzahl im orthogonalen Raster angeordneter Zellen 10 und weist an seinen Außenkanten eine ent sprechende Anzahl von Leitungsanschlüssen (Pins) auf, über die Signale, insbesondere Ansteuersignale und Daten zugeführt und weitergeleitet werden können. This integrated circuit 20 consists of a plurality in the orthogonal grid arranged cells 10 and has at its outer edges take out a suitable number of lead terminals (pins) which can be supplied via the signals, especially control signals and data and forwarded. In Fig. 3 ist wiederum das SUBMACRO "X" gemäß Fig. 13/ Fig. 1 abgegrenzt; . In Fig. 3, in turn, the SUBMACRO "X" 13/1 is defined as shown in FIG. darüberhinaus sind auch weitere SUBMACROS separiert, die spezifischen Funktionen und Vernetzungen entsprechend zu Untereinheiten zusammengefaßt sind. Moreover, other SUBMACROS are separated, the specific functions and networks grouped according to subunits. Dem integrierten Schaltkreis (Chip) 20 ist eine Ladelogik 30 zugeordnet beziehungsweise übergeordnet, über die der integrierte Schaltkreis 20 programmiert und konfiguriert wird. The integrated circuit (chip) 20 is assigned to a loading logic 30 or superior, on the integrated circuit 20 is programmed and configured. Die Lade logik 30 teilt letztlich dem integrierten Schaltkreis 20 mit, wie er arithmetisch-logisch zu arbeiten hat. The charging logic 30 ultimately tells the integrated circuit 20, as he has to work arithmetic logical.

Anhand von Fig. 14 beziehungsweise Fig. 15 soll im folgenden eine Rechnerstruktur beschrieben werden, die auf den im vorstehenden definierten und erläuterten integrierten Schaltkreis 20 aufbaut. Referring to Fig. 14 and Fig. 15 is a computer structure will be described hereinafter, the terms defined in the foregoing and constituting described integrated circuit 20.

Gemäß dem in Fig. 14 dargestellten ersten Ausführungsbeispiel ist - analog zur Anordnung der Zellen - im Orthogonalraster eine Mehrzahl von integrierten Schaltkreisen 20 angeordnet, deren jeweils benachbarte über lokale BUS-Leitungen 21 miteinander gekoppelt beziehungsweise vernetzt sind. . In a plurality of integrated circuits disposed Orthogonalraster 20, the respectively adjacent are coupled via local bus lines 21 each respectively connected - according to the example shown in Fig 14 the first embodiment is - analogously to the arrangement of the cells. Die - beispielsweise aus sechzehn integrierten Schaltkreisen 20 bestehende - Rechnerstruktur weist Ein-/Ausgangsleitungen IO auf, über die der Rechner quasi mit der Außenwelt in Verbindung steht, dh korrespondiert. The - made for example of sixteen integrated circuits 20 - computer structure has input / output lines IO via which the computer is quasi with the external world in combination, that corresponds. Der Rechner gemäß Fig. 14 weist ferner einen Speicher 22 auf, der dem dargestellten Ausführungsbeispiel entsprechend aus zwei separierten Speichern, zusammengesetzt aus jeweils RAM, ROM sowie einem Dual-Ported RAM als shared memory zu der Ladelogik geschaltet, besteht, die gleichermaßen als Schreib-Lese-Speicher oder auch nur als Lese-Speicher realisiert sein können. The computer of FIG. 14 also has a memory 22 consisting of two separated storage, composed according to the embodiment shown from each RAM, ROM, and a dual-ported RAM connected as a shared memory to the charging logic, is that equally as write can be implemented random access memory, or even as a read-only memory. Der soweit beschriebenen Rechnerstruktur ist die Ladelogik 30 zu- beziehungsweise übergeordnet, mittels der die integrierten Schaltkreise (Datenflußprozessor) 20 programmiert und konfiguriert und ver netzt werden. The computer structure described so far is to be networked to-or arranged on, by means of the integrated circuits (data flow processor) programmed and configured ver 20 and 30, the charging logic.

Die Ladelogik 30 baut beispielsweise auf einem Transputer 31 , dh einem Prozessor mit mikrocodiertem Befehlssatz auf, dem seinerseits ein Speicher 32 zugeordnet ist. The load logic 30 is based for example on a transputer 31, ie, a processor with mikrocodiertem instruction set, a memory is assigned to the 32 in turn. Die Verbindung zwischen dem Transputer 31 und dem Datenflußprozessor basiert auf einer Schnittstelle 33 für die sogenannten Ladedaten, dh die Daten die den Datenflußprozessor aufgabenspezifisch programmieren und konfigurieren und einer Schnittstelle 34 für den bereits genannten Rechnerspeicher 22 , dh den Shared-Memory-Speicher. The connection between the transputer 31 and the data flow processor is based on an interface 33 for the so-called load data, ie the data which program the data flow processor task-specific and configure, and an interface 34 for the above-mentioned computer memory 22, that is, the shared memory space.

Die in Fig. 14 dargestellte Struktur stellt so einen kompletten Rechner dar, der über die Ladelogik 30 jeweils fall- beziehungsweise aufgabenspezifisch programmiert und konfiguriert werden kann. The structure shown in Fig. 14 so constitute a complete computer which may be programmed in each case by case or task-specific about the PLU 30 and configured. Der Vollständigkeit halber sei noch angemerkt, daß - wie in Verbindung mit der Ladelogik 30 über Pfeile angedeutet - mehrere dieser Rechner vernetzt, dh miteinander gekoppelt werden können. The sake of completeness it should be noted that - as indicated in connection with the loading logic 30 via arrows - crosslinked several of these computers, that can be coupled together.

Ein weiteres Ausführungsbeispiel einer Rechnerstruktur ist in Fig. 15 dargestellt. Another embodiment of a computer structure is shown in Fig. 15. Im Unterschied zu Fig. 14 sind dabei neben den lokalen BUS-Lei tungen zwischen den benachbarten integrierten Schaltkreisen 20 noch übergeordnete zentrale BUS-Leitungen 23 vorgesehen, um zum Beispiel spezifische Ein- beziehungsweise Ausgangsprobleme lösen zu können. In contrast to FIG. 14 while 20 is still superior central bus lines 23 are provided in order to solve, for example, specific inputs or output problems in addition to the local BUS Lei obligations between the adjacent integrated circuits. Auch der Speicher 22 (Shared-Memory) ist über zentrale BUS-Leitungen 23 mit den integrierten Schaltkreisen 20 verbunden, und zwar wie dargestellt jeweils mit Gruppen dieser integrierten Schaltkreise. Also, the memory 22 (shared memory) is connected via a central bus lines 23 with the integrated circuits 20, specifically as shown respectively with groups of these integrated circuits. Die in Fig. 15 dargestellte Rechnerstruktur weist die gleiche Ladelogik 30 auf, wie sie anhand von Fig. 14 erläutert wurde. The computer structure shown in Fig. 15 has the same loading logic 30, as explained based on Fig. 14.

In Verbindung mit Fig. 20a soll eine aus erfindungsgemäßen Datenflußprozessoren aufgebaute Additionsschaltung erläutert werden. In connection with Fig. 20a is a made up of inventive Datenflußprozessoren addition circuit will be explained. Ausgegangen wird von zwei Zahlenreihen A n und B n für sämtliche n zwischen 0 und 9; It is assumed that two rows of numbers A n and B n for all n between 0 and 9; die Aufgabe besteht darin, die Summe C i = A i + B i zu bilden, wobei der Index i die Werte 0 ⇐ n < 9 annehmen kann. The object is to form the sum of C i = A i + B i, where the index i is 0 ⇐ n may assume <. 9

Bezugnehmend auf die Darstellung nach Fig. 20a ist die Zahlenreihe A n in einem ersten Speicher RAM1 abgespeichert und zwar zum Beispiel ab einer Speicheradresse 1000 h; . Referring to the illustration of FIG 20a, the number series A n are stored in a first memory RAM1 and that, for example, from a memory address 1000 h; die Zahlenreihe B n ist in einem Speicher RAM2 an einer Speicheradresse 0 dfa0h abgespeichert; the series of numbers n B is stored at a memory address 0 dfa0h in a memory RAM2; die Summe C n wird in den RAM1 eingeschrieben und zwar unter der Adresse 100 ah. the sum of C n is written into RAM1 and the address 100 under ah.

Es ist ein weiterer Zähler 49 zugeschaltet, der lediglich die einzelnen durch die Steuerschaltung freigegebenen Taktzyklen hochzählt. It is switched in a further counter 49 merely counts up each shared by the control circuit clock cycles. Dies soll im Weiteren zur Verdeutlichung der Umkonfigurierbarkeit einzelner MACROs ohne Beeinflussung der an der Umkonfigurierung nicht beteiligten MACROs dienen. This is intended hereinafter to illustrate the reconfigurability of individual MACROs without affecting the MACROs not involved in the reconfiguration.

Fig. 20a zeigt zunächst die eigentliche Additionsschaltung 40 , die aus einem ersten Register 41 zur Aufnahme der Zahlenreihe A n und einem zweiten Register 42 zur Aufnahme der Zahlenreihe B n besteht. FIG. 20a shows the the actual addition circuit 40, which consists of a first register 41 for receiving the series of numbers n A and a second register 42 for receiving the series of numbers B n. Den beiden Registern 41/42 ist ein 8-Bit-Addierer entsprechend dem in Fig. 9 dargestellten MACRO 1 nachgeschaltet. The two registers 41/42 is followed by a 8-bit adder corresponding to the 9 shown in Fig. MACRO 1. Der Ausgang des MACRO 1 führt über eine Treiberschaltung 43 zurück zum Speicher RAM1. The output of the MACRO 1 via a driving circuit 43 back to the memory RAM1. Die Takt- beziehungsweise Zeitsteuerung der Additionsschaltung 40 erfolgt über eine von einem Taktgenerator T angesteuerte Zustandsmaschine (STATEMACHINE) 45 , die mit den Registern 41 , 42 und der Treiberschaltung 43 verbunden ist. The clock or timing of the addition circuit 40 via a driven from a clock generator state machine T (STATE MACHINE) 45 which is connected to the registers 41, 42 and the driving circuit 43rd

Die Additionsschaltung 40 wird funktional durch eine Adreßschaltung 46 zur Generierung der Adreßdaten für die abzuspeichernden Additionsergebnisse ergänzt. The addition circuit 40 is functionally complemented by an address circuit 46 for generating the address data to be stored for the addition results. Die Adreßschaltung 46 besteht ihrerseits aus drei MACROs 1 (gemäß Fig. 9) zur Bildung der Adreßdaten, wobei diese MACROs 1 wie folgt geschaltet sind: Über jeweils einen Eingang werden die zu verknüpfenden Adressen für A n , B n , C n zugeführt. The address circuit 46 in turn consists of three MACROs 1 (of FIG. 9) for forming the address data, said MACROs 1 as follows are connected: via respective inputs to linking addresses for A n, B are supplied to n, C n. Diese Adressen werden mit den Ausgangssignalen eines Zählers 47 addiert und mit der Statemachine 45 so verknüpft, daß am Ausgang die neue Zieladresse ansteht. These addresses are added and with the outputs of a counter 47 so linked to the state machine 45, that is present at the output of the new destination address. Der Zähler 47 und der Komparator 48 haben dabei die Aufgabe sicherzustellen, daß jeweils die richtigen Summanden verknüpft werden und daß jeweils am Ende der Zahlenreihen, dh bei n = 9 abgebrochen wird. The counter 47 and the comparator 48 have here the task of ensuring that in each case the correct summands are linked, and that in each case at the end of the series of numbers, that is canceled = 9 at n. Ist die Addition vollendet, so wird in der Zustandsmaschine 45 ein STOP-Signal generiert und die Schal tung passiv geschaltet. Is the addition completed, as in the state machine 45, a STOP signal is generated and the TIC passive. Ebenso kann das STOP-Signal als Eingangssignal für eine Synchronisations-Schaltung verwenden werden, indem die Synchronisationslogik anhand dieses Signals erkennen kann, daß die Gesamtfunktion "Addieren" gemäß dem nachfolgend beschriebenen ML1 Programm beendet ist und die MACROs somit durch Neue ersetzt werden können (zum Beispiel könnte STOP das Signal Sync5 sein). Similarly, the STOP-signal can be used as an input to a synchronization circuit by be seen from this signal, the synchronization logic that the overall function of "add" is terminated in accordance with the below-described ML1 program and the macros can be replaced with new ones thus (for example might be the signal Sync5) STOP.

Der Zeitablauf in der 45 (STATEMACHINE) läßt sich dabei wie folgt darstellen, wobei noch anzumerken ist, daß in der Zustandsmaschine 45 eine Verzögerungszeit T (in Form von Taktzyklen) zwischen der Adreßgenerierung und dem Datenerhalt implementiert ist: The time lapse in the 45 (STATE MACHINE) can in this case be described as follows, wherein also be noted is that in the state machine 45, a delay time T is implemented (in the form of clock cycles) between the address generation and data receipt:

  • - Im Zyklus 1 wird jeweils der Zähler 47 um 1 erhöht und im Komparator 48 wird geprüft, ob n < 9 erreicht ist; - In cycle 1, the counter is incremented by 1 and 47 in the comparator 48 it is checked whether n is achieved <9; synchron zu diesen Operationen werden die Adressen für A, B, C berechnet; in synchronism with these operations, the addresses for A, B, C are calculated;
  • - im Zyklus (T + 1) werden die Summanden A, B ausgelesen und addiert; - in the cycle (T + 1) are read out, the addend A, B, and adds;
  • - im Zyklus (T + 2) wird die Summe C abgespeichert. - in the cycle (T + 2), the sum C is stored.

Mit anderen Worten heißt dies, daß die Operationsschleife und die eigentliche Addition gerade (T + 2) Taktzyklen erfordert. In other words, this means that the operation loop and the actual addition straight (T + 2) clock cycles required. Im allgemeinen sind für T 2. . In general, for T second. .3 Takte erforderlich, so daß verglichen mit den herkömmlichen Prozessoren (CPU), die im allgemeinen 50 bis mehrere 100 Taktzyklen bedingen, eine ganz wesentliche Rechenzeit-Reduzierung möglich wird. .3 clocks are required, so that compared with the conventional processors (CPU), which condition is generally 50 to several 100 clock cycles, a very substantial computing time reduction is possible.

Die anhand von Fig. 20 aufgezeigte Konfiguration soll im folgenden über eine hypothetische MACRO-Sprache ML1 nochmals erläutert werden: . The reference pointed out by Figure 20 configuration will be explained in the following across a hypothetical MACRO language ML1 again:
Es existieren die Zahlenreihen A n und B n There are the number rows A n and B n
n: 0 ⇐ n < = 9 n: 0 ⇐ n <= 9
Es sollen die Summen C i = A i + B i mit i ∈ N gebildet werden. There are C i = A i + B be formed with i ∈ N i the totals.
const n = 9; const n = 9;
array A[n] in RAM[1] at 1000 h; array A [n] in RAM [1] at 1000 h;
array B[n] in RAM[2] at 0dfa0h; array B [n] 0dfa0h in RAM [2] at;
array C[n] in RAM[1] at 100ah; array C [n] in RAM [1] at 100ah;
for i = 0 to n with (A[i], B[i], C[i]) for i = 0 to n with (A [i], B [i], C [i])
Δ1; Δ1;
C = Δ1 = A + B; C = Δ1 = A + B;
next; next;
RAM[1] ist der 1. Speicherblock RAM [1] is the first memory block
RAM[2] ist der 2. Speicherblock RAM [2] is the second memory block
at folgt die Basisadresse der Arrays at follows the base address of the array
for ist der Schleifenbeginn for the beginning of the loop
next ist das Schleifenende next is the end of the loop
with ( ) folgen die Variablen, deren Adressen durch die Zählvariable i bestimmt werden with () follow the variables whose addresses are determined by the count variable i
T folgt die Verzögerungszeit für eine Statemachine in Taktzyklen T follows the delay time for a state machine in clock cycles
Das Timing der Zustandsmaschine (Statemachine) sieht demnach folgendermaßen aus: The timing of the state machine (state machine) is therefore as follows:
Zyklus Aktivität cycle activity
1 Zähler erhöhen, Vergleich auf < 9 (ja ⇒ Abbruch) und increase 1 meter, compared to <9 (yes ⇒ termination) and
Adressen für A, B, C, berechnen Addresses for A, B, C calculate
T + 1 A, B, holen und addieren T + 1 A, B, pick and add
T + 2 Nach C speichern T + 2 save After C
Das heißt - wie bereits erwähnt - die Schleife und die Addition benötigen gerade einmal T + 2 Taktzyklen. That is - as already mentioned - the loop and the addition require just T + 2 clock cycles.

Fig. 20b zeigt den groben Aufbau der einzelnen Funktionen (MACROs) in einem erfindungsgemäßen DFP. Fig. 20b shows the rough structure of the individual functions (MACROs) in an inventive DFP. Die MACROs sind in ihrer etwaigen Lage und Größe eingezeichnet und mit den anhand von Fig. 20a erläuterten entsprechenden Nummern versehen. The MACROs are shown in their possible location and size and provided with the steps outlined with reference to FIG. 20a corresponding numbers.

Fig. 20c zeigt den groben Aufbau der einzelnen Funktionen auf die RAM-Blöcke 1 und 2 : Die Summanden werden nacheinander in aufsteigender Reihenfolge aus den RAM-Blöcken 1 und 2 ab Adresse 1000 h beziehungsweise 0dfa0h gelesen und in RAM-Block 1 ab Adresse 100 ah gespeichert. FIG. 20c shows the rough structure of the individual functions on the RAM blocks 1 and 2: The addends are read in succession in ascending order from the RAM blocks 1 and 2 starting at address 1000 h or 0dfa0h and in RAM block 1 starting at address 100 ah stored. Zudem sind die Zähler 47 und 49 gegeben, beide zählen während des Ablaufs der Schaltung von 0 bis 9. In addition, the counters 47 and 49 are given, both count during the course of the circuit from 0 to 9.

Nach Beendigung des beschriebenen Programms soll ein neues Programm geladen werden, das die Ergebnisse weiterverwertet. After completion of the program described a new program to be loaded, which further utilized the results. Die Umladung soll zur Laufzeit erfolgen. The operation shall be carried out at runtime. Das Programm ist im Folgenden gegeben: The program is given below:

Es existieren die Zahlenreihen A n und B n , wobei A n durch das Ergebnis C n des vorher ausgeführten Programms gegeben ist: There are the number rows A n and B n, wherein A n is given by the result of the previously executed program C n:
n: 0 ⇐ n < = 9 n: 0 ⇐ n <= 9
Es sollen die Produkte C i = A i ×B i mit i ∈ N gebildet werden. There are to be formed with i ∈ N, the products C i = A i × W i.
const n = 9 const n = 9
array A[n] in RAM[1] at 100ah array A [n] in RAM [1] at 100ah
array B[n] in RAM[2] at 0dfa0h array B [n] in RAM [2] at 0dfa0h
array C[n] in RAM[1] at 1015 h array C [n] in RAM [1] at 1015 h
for i = 0 to n with (A[i], B[i], C[i]) for i = 0 to n with (A [i], B [i], C [i])
Δ1; Δ1;
C = Δ1 = A×B; C = Δ1 = A × B;
next. next.

Die Beschreibung der einzelnen Befehle ist bereits bekannt, × symbolisiert die Multiplikation. The description of the individual commands is already known, X symbolizes the multiplication.

Die MACRO-Struktur ist in Fig. 21a beschrieben, Fig. 21b gibt in bekannter Weise die Lage und Größe der einzelnen MACROs auf dem Chip an, besonders zu beachten ist die Größe des Multiplizierers 2 in Vergleich zu Addierer 1 aus Fig. 20b. The MACRO-structure is described in Fig. 21a, Fig. 21b are in a known manner, the position and size of the individual MACROs on the chip to, particular note is the size of the multiplier 2 in comparison to the adder 1 from Fig. 20b. In Fig. 21c ist erneut die Auswirkung der Funktion auf den Speicher aufgezeigt, Zähler 47 zählt erneut von 0 bis 9, dh er wird beim Nachladen der MACROs zurückgesetzt. In Fig. 21c, the effect of the function is shown on the memory again, counter 47 counts again from 0 to 9, that is, it is reloading the MACROs reset.

Besonders zu beachten ist der Zähler 49 . Of particular note is the counter 49th Angenommen, das Umladen der MACROs beträgt 10 Taktzyklen. Assuming that the charge reversal of the MACROs is 10 clock cycles. Dann läuft der Zähler 49 von 9 auf 19, da der Baustein dynamisch umgeladen wird, dh nur die umzuladenden Teile werden gestoppt, der Rest arbeitet weiter. Then, the counter 49 runs from 9 to 19, since the block is reloaded dynamically, ie, only the parts to be transshipped to be stopped, the rest continues to operate. Das führt nun dazu, daß der Zähler während des Programmablaufs von 19 auf 29 hochläuft. Which now causes the counter runs up during the program from 19 to 29th (Hiermit soll das dynamische unabhängige Umladen demonstriert werden, in jedem bisher bekannten Baustein würde der Zähler erneut von 0 auf 9 laufen, da er zurückgesetzt wird). (This dynamic independent reloading will be demonstrated in any previously known component of the counter would run again from 0 to 9, as it is reset).

Bei näherer Betrachtung des Problems stellt sich die Frage, warum nicht beide Operationen, die Addition und die Multiplikation in einem Zyklus durchgeführt werden, also die Operation: On closer examination of the problem, the question arises, why not both operations, addition and multiplication are performed in one cycle, so the operation:
Es existieren die Zahlenreihen A n und B n , wobei A n durch das Ergebnis von C n des vorher ausgeführten Programms gegeben ist: There are the number rows A n and B n, wherein A n is given by the result of C n of the previously-executed program:
n: 0 ⇐ n < = 9 n: 0 ⇐ n <= 9
Es sollen die Produkte C i = (A i +B i )×B i mit i ∈ N gebildet werden. It should × B i are formed with i ∈ N, the products C i = (A i + B i).
path D; D path;
const n = 9; const n = 9;
array A[n] in RAM[1] at 1000 h array A [n] in RAM [1] at 1000 h
array B[n] in RAM[2] at 0dfa0h array B [n] in RAM [2] at 0dfa0h
array C[n] in RAM[1] at 100ah array C [n] in RAM [1] at 100ah
for i = 0 to n with (A[i], B[i], C[i]) for i = 0 to n with (A [i], B [i], C [i])
Δ1; Δ1;
D = Δ1 = A+B; D = Δ1 = A + B;
C = Δ1 = D×B; C = Δ1 = D × B;
next; next;

path D definiert einen internen nicht aus den DFP herausgeführten Doppelpfad. D path defines an internal not guided out of the double path DFP. Die Operation benötigt wegen einem zusätzlichen Δ1 einen Taktzyklus mehr als vorher, ist insgesamt jedoch schneller als die beiden obigen Programme in Folge ausgeführt, da zum einen die Schleife nur einmal durchlaufen wird, zum zweiten nicht umgeladen wird. The operation needs for an additional Δ1 one clock cycle more than before, but is faster overall than the above two programs carried out in succession, firstly because the loop is traversed only once, will not be transferred to the second.

Prinzipiell könnte das Programm auch so formuliert werden: In principle, the program could also be formulated to:
const n=9; const n = 9;
array A[n] in RAM[1] at 1000 h array A [n] in RAM [1] at 1000 h
array B[n] in RAM[2] at 0dfa0h array B [n] in RAM [2] at 0dfa0h
array C[n] in RAM[1] at 100ah array C [n] in RAM [1] at 100ah
for i = 0 to n with (A[i], B[i], C[i]) for i = 0 to n with (A [i], B [i], C [i])
Δ1; Δ1;
C = Δ2 = (A+B)×B; C = Δ2 = (A + B) x B;
next; next;

Sind die Gatterlaufzeiten des Addierers und des Multiplizierers zusammen kleiner als ein Taktzyklus, kann die Operation (A+B)×B auch in einem Taktzyklus durchgeführt werden, was zu einer weiteren erheblichen Geschwindigkeitssteigerung führt: Are the gate delays of the adder and multiplier, together smaller than a clock cycle, the operation (A + B) × B can be performed in one clock cycle, which leads to a further considerable increase in speed:
const n = 9; const n = 9;
array A[n] in RAM[1] at 1000 h array A [n] in RAM [1] at 1000 h
array B[n] in RAM[2] at 0dfa0h array B [n] in RAM [2] at 0dfa0h
array C[n] in RAM[1] at 100ah array C [n] in RAM [1] at 100ah
for i = 0 to n with (A[i], B[i], C[i]) for i = 0 to n with (A [i], B [i], C [i])
Δ1; Δ1;
C = Δ1 = (A+B)×B; C = Δ1 = (A + B) x B;
next; next;

Anhand von Fig. 8 soll ein einfaches Beispiel eines Zellenaufbaus erläutert werden. Referring to Fig. 8 is a simple example of a cell structure will be explained. Die Zelle 10 umfaßt zum Beispiel ein UND-Glied 51 , ein ODER-Glied 52 , ein XOR-Glied 53 , einen Inverter 54 sowie eine Registerzelle 55 . The cell 10 comprises, for example an AND gate 51, an OR gate 52, an XOR gate 53, an inverter 54 and a register cell 55th Die Zelle 10 weist darüberhinaus eingangsseitig zwei Multiplexer 56 , 57 mit (den sechzehn Eingängen der Zelle entsprechend Fig. 1) zum Beispiel je sechzehn Eingangsanschlüssen IN1, IN2 auf. Moreover, the cell 10 has its input side two multiplexers 56, 57 (the sixteen inputs of the cell according to Fig. 1) for example depending on sixteen input terminals IN1, IN2. Über diesen (16 : 1)-Multiplexer 56/57 werden jeweils die den genannten logischen Gliedern UND, ODER, XOR 51 . Be multiplexers 56/57 respectively, the AND logic elements referred to, OR, XOR 51: This (1 16). . , . , 53 zuzuführenden Daten ausgewählt. 53 data to be supplied is selected. Diese logischen Glieder sind ausgangsseitig mit einem (3 : 1)-Multiplexer 58 gekoppelt, der seinerseits mit dem Eingang des Inverters 54 , einem Eingang der Registerzelle 55 und einem weiteren (3 : 16)-Multiplexer 59 gekoppelt ist. These logical links are on the output side with a (3: 1) coupled to multiplexer 58 which, in turn, to the input of the inverter 54, an input of the register cell 55 and a further (3: 16) is coupled to multiplexer 59th Der letztgenannte Multiplexer 59 ist zusätzlich mit dem Ausgang des Inverters 54 und einem Ausgang der Registerzelle 55 verbunden und gibt das Ausgangssignal OUT ab. The latter multiplexer 59 is additionally connected to the output of the inverter 54 and an output of the register cell 55 and outputs the output signal OUT.

Der Vollständigkeit halber sei angemerkt, daß die Registerzelle 55 mit einem Reset-Eingang R und einem Takteingang gekoppelt ist. For completeness, it is noted that the register cell 55 is coupled to a reset input R and a clock input.

Dem im vorstehenden erläuterten Zellenaufbau, dh der Zelle 10 ist nun eine Ladelogik 30 übergeordnet, die mit den Multiplexern 56 , 57 , 58 und 59 verbunden ist und diese den gewünschten Funktionen entsprechend ansteuert. The cell structure described in the foregoing, that is, the cell 10 is now a loading logic 30 via ordered, which is connected to the multiplexers 56, 57, 58 and 59, and controls these functions the desired accordingly.

Sollen zum Beispiel die Signale A2 mit B5 verrundet werden, so werden die Multiplexer 56 , 57 den Leitungen "ZWEI" beziehungsweise "FÜNF" entsprechend aktiv geschaltet; If, for example, the signals A2 are rounded with B5, then the multiplexer 56, activated in accordance with the lines "two" or "five" 57; die Summanden gelangen dann zum UND-Glied 51 und werden bei entsprechender Aktivierung der Multiplexer 58 , 59 am Ausgang OUT abgegeben. the summands arrive then to the AND gate 51 and when properly activated the multiplexer 58, issued 59 at the output OUT. Soll zum Beispiel eine NAND-Verknüpfung durchgeführt werden, so schaltet der Multiplexer 58 zum Inverter 54 und am Ausgang OUT steht dann das negierte UND-Ergebnis an. If, for example, a NAND operation is carried out, the multiplexer 58 switches to the inverter 54 and is then available at the output OUT, the negated AND result.

Claims (4)

1. Verfahren zum Betrieb einer Datenverarbeitungseinrichtung mit programmier- und konfigurierbarer Zellstruktur, wobei die Datenverarbeitungseinrichtung eine Zellmatrix aus einer Vielzahl orthogonal zueinander angeordneter, homogen strukturierter Zellen, welche in ihrer Funktion und Vernetzung durch eine Ladelogik frei programmierbar sind, enthält, dadurch gekennzeichnet, daß 1. A method of operating a data processing device with programmable and configurable cell structure, wherein the data processing device contains a cell matrix of a plurality of orthogonally arranged homogeneously structured cells which are programmable in their function and networking through a charging logic, characterized in that
  • a) ein Konfigurationsprogramm, bestehend aus einer Folge von Ladelogik-Befehlen, die jeweils die Funktion und Vernetzung der einzelnen Zellen angeben, so daß sich aus einer Teil folge eine spezielle Konfiguration mit spezieller(en) Anwendung(en) ergibt, vorhanden ist, auf das die Ladelogik ( 30 ) Zugriff hat ( Fig. 3, Fig. 8, Fig. 14, Fig. 15) und das von ihr ausgeführt wird, a) a configuration program consisting of a sequence of loading logic commands, each indicating the function and interconnection of the individual cells, so that from a part follow a special configuration with special (s) application (s) yields, is present to the load logic (30) has access (Fig. 3, Fig. 8, Fig. 14, Fig. 15) and executed by it,
  • b) zunächst durch eine bestimmte Anzahl von Ladelogik-Be fehlen eine Konfiguration ( Fig. 20b) mit spezieller(en) Anwendung(en), mittels der Ladelogik ( 30 ) zu Beginn als Startkonfiguration in der Zell-Matrix ( Fig. 2, Fig. 3) eingestellt wird, b) first missing by a specific number of load logic-Be a configuration (Figure 20b.) with special (s) application (s) (by means of the loading logic 30) at the beginning (as a starting configuration in the cell-matrix Fig. 2, Fig . 3) is set,
  • c) durch eine Statemachine ( 45 ) oder einen Komparator ( 48 ) die Beendigung der Durchführung einer Anwendung einer oder mehrerer Zellen erkannt wird, c) the termination of the execution of an application of one or more cells is detected by a state machine (45) or a comparator (48),
  • d) durch die Erkennung eine Rückmeldung an die Ladelogik ( 30 ) erfolgt, die die Programmabarbeitung des Konfigurationsprogramms mit einer anderen Teilfolge ( Fig. 21b, Fig. 22b) fortsetzt, welche nur Zellen umkonfiguriert, also neu erstellt, die die Durchführung ihrer Funktion für die aktuelle Anwendung bereits beendet haben oder nicht benötigt werden, so daß die Abarbeitung der Datenströme der an der aktuellen Konfiguration noch beteiligten, parallel (z. B. Register 41 , 42 ) oder gepipelined (z. B. Fig. 22a, Summierer 141 und Multiplizierer 149 ) arbeitenden Zellen, die sich noch in der Durchführung ihrer Anwendung befinden, nicht gestört wird. d) is carried out by detecting a response to the charging logic (30), the program execution of the configuration program with another sub-sequence (Fig. 21b, Fig. 22b) continues, which reconfigured only cells thus re-created, which carry out their function for the current application have already been completed or are not needed, so that the processing of the data streams have involved the in the current configuration, parallel (z. B. register 41, 42) or pipelined (z. B. Fig. 22a, 141 and summers multiplier 149) working cells that are still in the implementation of their application is not disturbed.
2. Verfahren zum Betrieb einer Datenverarbeitungseinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß durch eine Priorisierungs-Logik (z. B. Fig. 19) das Umkonfigurieren der unabhängigen parallel oder gepipelined arbeitenden Zellen, einer Funktion oder Konfiguration in der optimalen richtigen Reihenfolge über eine Rückmeldung an die Ladelogik sicherstellt wird. 2. A method of operating a data processing device according to claim 1, characterized in that by a prioritization logic (z. B. Fig. 19), the reconfiguration of the independent parallel or pipelined working cells, function, or configuration in the optimum correct order via a feedback will ensure to the PLU.
3. Verfahren zum Betrieb einer Datenverarbeitungseinrichtung nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, daß die Operanden aus mehreren, beliebig vielen unabhängig adressierten und gesteuerten Speichern ( Fig. 20a, Fig. 20c; RAM1, RAM2) bezogen werden und das Ergebnis in einen dieser Speicher ( Fig. 20a, Fig. 20c; RAM1) oder einen davon unabhängigen oder eine separaten Datenkanal ( Fig. 14, Fig. 15; IO) ausgegeben wird. 3. A method of operating a data processing device according to any one of claims 1 or 2, characterized in that the operands of a plurality of any number of independently addressed and controlled memories (20a, 20c;.. RAM1, RAM2) are obtained and the result in one of these memories (20a, 20c;.. RAM1) or an independent thereof or a separate data channel (14, Fig. 15;. IO) is output.
4. Verfahren zum Betrieb einer Datenverarbeitungseinrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß zur besseren Auslastung der Vernetzung von Zellen, Busse mit Hilfe von zwischengeschalteten Schaltern ( Fig. 18; Treiber) Verwendung finden, so daß Busse in unabhängige Abschnitte aufgeteilt werden können. 4. A method of operating a data processing device according to any one of claims 1 to 3, characterized in that, for better utilization of the cross-linking of cells, buses with the aid of intermediate switches; are used so that buses divided in independent sections (Fig 18 drivers.) can be.
DE19944416881 1993-05-13 1994-05-13 A method of operating a data processing device Expired - Lifetime DE4416881C2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE4316036 1993-05-13
DE19944416881 DE4416881C2 (en) 1993-05-13 1994-05-13 A method of operating a data processing device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE4447707A DE4447707B4 (en) 1993-05-13 1994-05-13 Data flow processor - uses charging logic for individual and group-wise programming of mutually orthogonal homogeneously structured cells in integrated circuit chip
DE4447706A DE4447706B4 (en) 1993-05-13 1994-05-13 Data flow processor - uses charging logic for individual and group-wise programming of mutually orthogonal homogeneously structured cells in integrated circuit chip
DE19944416881 DE4416881C2 (en) 1993-05-13 1994-05-13 A method of operating a data processing device

Publications (2)

Publication Number Publication Date
DE4416881A1 DE4416881A1 (en) 1994-11-17
DE4416881C2 true DE4416881C2 (en) 1998-03-19

Family

ID=6488009

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19944416881 Expired - Lifetime DE4416881C2 (en) 1993-05-13 1994-05-13 A method of operating a data processing device

Country Status (1)

Country Link
DE (1) DE4416881C2 (en)

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19843640A1 (en) * 1998-09-23 2000-03-30 Siemens Ag A method for configuring a configurable hardware block
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
US6480937B1 (en) 1998-02-25 2002-11-12 Pact Informationstechnologie Gmbh Method for hierarchical caching of configuration data having dataflow processors and modules having two-or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)--
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
US6728871B1 (en) 1996-12-09 2004-04-27 Pact Xpp Technologies Ag Runtime configurable arithmetic and logic cell
US7650448B2 (en) 1996-12-20 2010-01-19 Pact Xpp Technologies Ag I/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
US7657877B2 (en) 2001-06-20 2010-02-02 Pact Xpp Technologies Ag Method for processing data
US7782087B2 (en) 2002-09-06 2010-08-24 Martin Vorbach Reconfigurable sequencer structure
US7822881B2 (en) 1996-12-27 2010-10-26 Martin Vorbach Process for automatic dynamic reloading of data flow processors (DFPs) and units with two- or three-dimensional programmable cell architectures (FPGAs, DPGAs, and the like)
US7840842B2 (en) 2001-09-03 2010-11-23 Martin Vorbach Method for debugging reconfigurable architectures
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US8099618B2 (en) 2001-03-05 2012-01-17 Martin Vorbach Methods and devices for treating and processing data
US8127061B2 (en) 2002-02-18 2012-02-28 Martin Vorbach Bus systems and reconfiguration methods
US8156284B2 (en) 2002-08-07 2012-04-10 Martin Vorbach Data processing method and device
US8209653B2 (en) 2001-09-03 2012-06-26 Martin Vorbach Router
US8230411B1 (en) 1999-06-10 2012-07-24 Martin Vorbach Method for interleaving a program over a plurality of cells
US8250503B2 (en) 2006-01-18 2012-08-21 Martin Vorbach Hardware definition method including determining whether to implement a function as hardware or software
US8281108B2 (en) 2002-01-19 2012-10-02 Martin Vorbach Reconfigurable general purpose processor having time restricted configurations
US8301872B2 (en) 2000-06-13 2012-10-30 Martin Vorbach Pipeline configuration protocol and configuration unit communication
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
US8812820B2 (en) 2003-08-28 2014-08-19 Pact Xpp Technologies Ag Data processing device and method
US8819505B2 (en) 1997-12-22 2014-08-26 Pact Xpp Technologies Ag Data processor having disabled cores
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1466264B1 (en) 1995-12-29 2011-09-14 Richter, Thomas Method for configuration of the connection between data processing cells
US5943242A (en) 1995-11-17 1999-08-24 Pact Gmbh Dynamically reconfigurable data processing system
WO1996035997A1 (en) * 1996-05-22 1996-11-14 Yalestown Corporation N.V. Parallel processor
US5784636A (en) * 1996-05-28 1998-07-21 National Semiconductor Corporation Reconfigurable computer architecture for use in signal processing applications
US9092595B2 (en) 1997-10-08 2015-07-28 Pact Xpp Technologies Ag Multiprocessor having associated RAM units
DE19654846A1 (en) * 1996-12-27 1998-07-09 Pact Inf Tech Gmbh A method for automatic dynamic reloading of Datenflußprozessoren (DFP) and modules having a two- or multi-dimensional programmable cell structure (FPGAs, DPGAs, o. The like).
DE19704044A1 (en) * 1997-02-04 1998-08-13 Pact Inf Tech Gmbh Address generation with systems having programmable modules
DE19704728A1 (en) * 1997-02-08 1998-08-13 Pact Inf Tech Gmbh A method for self-synchronization of configurable elements of a programmable block
DE19704742A1 (en) * 1997-02-11 1998-09-24 Pact Inf Tech Gmbh Internal bus system for DFPs, and modules having a two- or multi-dimensional programmable cell structure, to cope with large amounts of data with high connectivity expenses
US9250908B2 (en) 2001-03-05 2016-02-02 Pact Xpp Technologies Ag Multi-processor bus and cache interconnection system
US9141390B2 (en) 2001-03-05 2015-09-22 Pact Xpp Technologies Ag Method of processing data with an array of data processors according to application ID
US9552047B2 (en) 2001-03-05 2017-01-24 Pact Xpp Technologies Ag Multiprocessor having runtime adjustable clock and clock dependent power supply
US9436631B2 (en) 2001-03-05 2016-09-06 Pact Xpp Technologies Ag Chip including memory element storing higher level memory data on a page by page basis
AU2002254921A1 (en) 2001-03-05 2002-09-19 Pact Informationstechnologie Gmbh Methods and devices for treating and processing data
EP1845623A3 (en) 2000-10-06 2007-10-24 PACT XPP Technologies AG Method and device
US10031733B2 (en) 2001-06-20 2018-07-24 Scientia Sol Mentis Ag Method for processing data
US9170812B2 (en) 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
DE10243322B4 (en) * 2002-09-18 2004-12-02 Pact Xpp Technologies Ag Analog reconfigurable data processing device
WO2005073866A2 (en) * 2004-01-21 2005-08-11 Charles Stark Draper Laboratory, Inc. Systems and methods for reconfigurable computing
EP1849095B1 (en) 2005-02-07 2013-01-02 Richter, Thomas Low latency massive parallel data processing device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4870302A (en) * 1984-03-12 1989-09-26 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
WO1990011648A1 (en) * 1989-03-17 1990-10-04 Algotronix Limited Configurable cellular array
EP0539595A1 (en) * 1991-04-09 1993-05-05 Fujitsu Limited Data processor and data processing method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4870302A (en) * 1984-03-12 1989-09-26 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
WO1990011648A1 (en) * 1989-03-17 1990-10-04 Algotronix Limited Configurable cellular array
EP0539595A1 (en) * 1991-04-09 1993-05-05 Fujitsu Limited Data processor and data processing method

Cited By (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8156312B2 (en) 1996-12-09 2012-04-10 Martin Vorbach Processor chip for reconfigurable data processing, for processing numeric and logic operations and including function and interconnection control units
US7822968B2 (en) 1996-12-09 2010-10-26 Martin Vorbach Circuit having a multidimensional structure of configurable cells that include multi-bit-wide inputs and outputs
US6728871B1 (en) 1996-12-09 2004-04-27 Pact Xpp Technologies Ag Runtime configurable arithmetic and logic cell
US7650448B2 (en) 1996-12-20 2010-01-19 Pact Xpp Technologies Ag I/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures
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
US7899962B2 (en) 1996-12-20 2011-03-01 Martin Vorbach I/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures
US8195856B2 (en) 1996-12-20 2012-06-05 Martin Vorbach I/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures
US7822881B2 (en) 1996-12-27 2010-10-26 Martin Vorbach Process for automatic dynamic reloading of data flow processors (DFPs) and units with two- or three-dimensional programmable cell architectures (FPGAs, DPGAs, and the like)
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
USRE44365E1 (en) 1997-02-08 2013-07-09 Martin Vorbach Method of self-synchronization of configurable elements of a programmable module
USRE45223E1 (en) 1997-02-08 2014-10-28 Pact Xpp Technologies Ag Method of self-synchronization of configurable elements of a programmable module
USRE45109E1 (en) 1997-02-08 2014-09-02 Pact Xpp Technologies Ag Method of self-synchronization of configurable elements of a programmable module
US8819505B2 (en) 1997-12-22 2014-08-26 Pact Xpp Technologies Ag Data processor having disabled cores
US6687788B2 (en) 1998-02-25 2004-02-03 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.)
US6480937B1 (en) 1998-02-25 2002-11-12 Pact Informationstechnologie Gmbh Method for hierarchical caching of configuration data having dataflow processors and modules having two-or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)--
US6996709B2 (en) 1998-09-23 2006-02-07 Infineon Technologies Ag Method for configuring a configurable hardware block by configuring configurable connections provided around a given type of subunit
DE19843640A1 (en) * 1998-09-23 2000-03-30 Siemens Ag A method for configuring a configurable hardware block
US8468329B2 (en) 1999-02-25 2013-06-18 Martin Vorbach Pipeline configuration protocol and configuration unit communication
US8312200B2 (en) 1999-06-10 2012-11-13 Martin Vorbach Processor chip including a plurality of cache elements connected to a plurality of processor cores
US8230411B1 (en) 1999-06-10 2012-07-24 Martin Vorbach Method for interleaving a program over a plurality of cells
US8726250B2 (en) 1999-06-10 2014-05-13 Pact Xpp Technologies Ag Configurable logic integrated circuit having a multidimensional structure of configurable elements
US8301872B2 (en) 2000-06-13 2012-10-30 Martin Vorbach Pipeline configuration protocol and configuration unit communication
US9047440B2 (en) 2000-10-06 2015-06-02 Pact Xpp Technologies Ag Logical cell array and bus system
US8471593B2 (en) 2000-10-06 2013-06-25 Martin Vorbach Logic cell array and bus system
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US8145881B2 (en) 2001-03-05 2012-03-27 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
US8312301B2 (en) 2001-03-05 2012-11-13 Martin Vorbach Methods and devices for treating and processing data
US8099618B2 (en) 2001-03-05 2012-01-17 Martin Vorbach Methods and devices for treating and processing data
US9075605B2 (en) 2001-03-05 2015-07-07 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US7657877B2 (en) 2001-06-20 2010-02-02 Pact Xpp Technologies Ag Method for processing data
US8869121B2 (en) 2001-08-16 2014-10-21 Pact Xpp Technologies Ag Method for the translation of programs for reconfigurable architectures
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US8069373B2 (en) 2001-09-03 2011-11-29 Martin Vorbach Method for debugging reconfigurable architectures
US7840842B2 (en) 2001-09-03 2010-11-23 Martin Vorbach Method for debugging reconfigurable architectures
US8407525B2 (en) 2001-09-03 2013-03-26 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
US8429385B2 (en) 2001-09-03 2013-04-23 Martin Vorbach Device including a field having function cells and information providing cells controlled by the function cells
US8209653B2 (en) 2001-09-03 2012-06-26 Martin Vorbach Router
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
US8281108B2 (en) 2002-01-19 2012-10-02 Martin Vorbach Reconfigurable general purpose processor having time restricted configurations
US8127061B2 (en) 2002-02-18 2012-02-28 Martin Vorbach Bus systems and reconfiguration methods
US8156284B2 (en) 2002-08-07 2012-04-10 Martin Vorbach Data processing method and device
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US8281265B2 (en) 2002-08-07 2012-10-02 Martin Vorbach Method and device for processing data
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
US7782087B2 (en) 2002-09-06 2010-08-24 Martin Vorbach Reconfigurable sequencer structure
US8803552B2 (en) 2002-09-06 2014-08-12 Pact Xpp Technologies Ag Reconfigurable sequencer structure
US7928763B2 (en) 2002-09-06 2011-04-19 Martin Vorbach Multi-core processing system
US8310274B2 (en) 2002-09-06 2012-11-13 Martin Vorbach Reconfigurable sequencer structure
US8812820B2 (en) 2003-08-28 2014-08-19 Pact Xpp Technologies Ag Data processing device and method
US8250503B2 (en) 2006-01-18 2012-08-21 Martin Vorbach Hardware definition method including determining whether to implement a function as hardware or software

Also Published As

Publication number Publication date
DE4416881A1 (en) 1994-11-17

Similar Documents

Publication Publication Date Title
DE4111483C2 (en) Dual-port memory
DE69810995T2 (en) Reconfigurable dual mode memory in programmable logic devices
DE10330812B4 (en) Semiconductor memory module
EP0012186B1 (en) Clock pulse generating circuit
EP0960374B1 (en) Internal bus system for dfps, building blocks with two dimensional or multidimensional programmable cell structures to handle large amounts of data involving high networking requirements
US6859869B1 (en) Data processing system
DE69837335T2 (en) Multi-array-processor and connection system
DE3645224C2 (en)
DE69721343T2 (en) FPGA with set / reset lines
DE69914864T2 (en) Controlling the configuration in a programmable logic unit by means of non-volatile components
DE69737750T2 (en) First and second processors used method
DE10110504B4 (en) Method and computer system for managing threads
DE4212202C2 (en) logic gates
DE69907955T2 (en) Global and local register segmentation in a VLIW processor
DE4035405C2 (en)
EP0048767B1 (en) Priority stage controlled interruption device
DE60318086T2 (en) System and method for reduction of circuit delay or overload in the synthesis of hardware solvers
DE10343525B4 (en) A method of operating semiconductor devices, control device for semiconductor devices and arrangement for operating the memory blocks
DE69838462T2 (en) Improved field programmable gate array
EP0293517B1 (en) Control processor
DE2722099C2 (en)
DE69926458T2 (en) Apparatus and method for a software breakpoint during a delay slot
DE102004063926B4 (en) Configurable driver cell of a logic cell array
DE3610433C2 (en) A method of controlling a machine with a programmable logic controller with the function chart interpreter
DE69827714T2 (en) Associative memory system

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: VORBACH, MARTIN, 76149 KARLSRUHE, DE MUENCH, ROBER

8181 Inventor (new situation)

Free format text: VORBACH, MARTIN, 76149 KARLSRUHE, DE

8127 New person/name/address of the applicant

Owner name: PACT INFORMATIONSTECHNOLOGIE GMBH, 81545 MUENCHEN,

8172 Supplementary division/partition in:

Ref country code: DE

Ref document number: 4447707

Format of ref document f/p: P

Ref country code: DE

Ref document number: 4447706

Format of ref document f/p: P

Q171 Divided out to:

Ref country code: DE

Ref document number: 4447706

Ref country code: DE

Ref document number: 4447707

8181 Inventor (new situation)

Free format text: VORBACH, MARTIN, 76149 KARLSRUHE, DE MUENCH, ROBERT, 76149 KARLSRUHE, DE

AH Division in

Ref country code: DE

Ref document number: 4447706

Format of ref document f/p: P

Ref country code: DE

Ref document number: 4447707

Format of ref document f/p: P

D2 Grant after examination
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: PACT XPP TECHNOLOGIES AG, 80939 MüNCHEN, DE

8327 Change in the person/name/address of the patent owner

Owner name: KRASS, MAREN, ZUERICH, CH

Owner name: RICHTER, THOMAS, 04703 BOCKELWITZ, DE

R082 Change of representative

Representative=s name: VOSSIUS & PARTNER, DE

Representative=s name: VOSSIUS & PARTNER PATENTANWAELTE RECHTSANWAELT, DE

R071 Expiry of right
R071 Expiry of right