DE10241812A1 - Cell element field for processing data has function cells for carrying out algebraic/logical functions and memory cells for receiving, storing and distributing data. - Google Patents
Cell element field for processing data has function cells for carrying out algebraic/logical functions and memory cells for receiving, storing and distributing data. Download PDFInfo
- Publication number
- DE10241812A1 DE10241812A1 DE10241812A DE10241812A DE10241812A1 DE 10241812 A1 DE10241812 A1 DE 10241812A1 DE 10241812 A DE10241812 A DE 10241812A DE 10241812 A DE10241812 A DE 10241812A DE 10241812 A1 DE10241812 A1 DE 10241812A1
- Authority
- DE
- Germany
- Prior art keywords
- cell
- cells
- element field
- cell element
- memory
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
Abstract
Description
Die vorliegende Erfindung betrifft ein Zellelementefeld und ein Verfahren zum Betrieb desselben. Damit befaßt sich die vorliegende Erfindung insbesondere mit rekonfigurierbaren Datenverarbeitungsarchitekturen.The present invention relates to a cell element array and a method of operating the same. In order to deals the present invention in particular with reconfigurable Computing architectures.
Unter einer rekonfigurierbaren Architektur werden u. a. Bausteine (VPU) verstanden, die eine Vielzahl in Funktion und/oder Vernetzung im Betrieb veränderliche Elemente aufweisen. Zu den Elementen können arithmetische Logikeinheiten, FPGA-Bereiche, Ein-Ausgabezellen, Speicherzellen, analoge Baugruppen usw. gehören. Bausteine dieser Art sind beispielsweise unter der Bezeichnung VPU bekannt. Diese umfaßt typisch als PREs bezeichnete ein- oder mehrdimensional angeordnete arithmetische und/oder logische und/oder analoge und/oder speichernde und/oder vernetzende Baugruppen und/oder kommuni kative periphere Baugruppen (IO), die direkt oder durch einen oder mehrere Bussysteme miteinander verbunden sind. Die PAEs sind in beliebiger Ausgestaltung, Mischung und Hierarchie angeordnet, wobei die Anordnung als PAE-Array oder kurz PA bezeichnet wird. Es kann dem PAE-Array eine konfigurierende Einheit zugeordnet sein. Prinzipiell sind neben VPU-Bausteinen auch systolische Arrays, neuronale Netze, Mehrprozessorsysteme, Prozessoren mit mehreren Rechenwerken und/oder logischen Zellen, Vernetzungs- und Netzwerkbausteine wie Crossbar-Schaltung usw. bekannt, genauso wie FPGAs, DPGAs, Transputer usw.Under a reconfigurable architecture u. a. Modules (VPU) understood that a variety in function and / or networking have variable elements in operation. To the elements can arithmetic logic units, FPGA areas, input / output cells, Memory cells, analog modules, etc. belong. Building blocks of this type are, for example known as VPU. This typically includes PREs arithmetic and / or logical arranged in one or more dimensions and / or analog and / or storing and / or networking modules and / or communicative peripheral assemblies (IO), directly or through a or several bus systems are connected to each other. The PAEs are arranged in any configuration, mix and hierarchy, the arrangement being referred to as a PAE array or PA for short. A configuration unit can be assigned to the PAE array. In addition to VPU building blocks, systolic arrays are basically neuronal Networks, multiprocessor systems, processors with several arithmetic units and / or logical cells, networking and network components such as Crossbar circuit etc. known, as well as FPGAs, DPGAs, transputers etc.
Es wird darauf hingewiesen, daß wesentliche
Aspekte der VPU-Technik
in den folgenden Schutzrechten desselben Anmelders sowie den zugehörigen Nachanmeldungen
zu den aufgeführten Schutzrechten
beschrieben sind:
Es sei darauf hingewiesen, daß die vorgenannten Dokumente zu Offenbarungszwecken insbesondere hinsichtlich Besonderheiten und Details der Vernetzung, Konfiguration, Ausgestaltung von Architekturelementen, Triggerverfahren usw. eingegliedert sind.It should be noted that the aforementioned Documents for disclosure purposes, particularly with regard to special features and details of networking, configuration, design of architectural elements, Trigger procedures etc. are integrated.
Die Architektur hat beachtliche Vorteile gegenüber herkömmlichen Prozessorarchitekturen, soweit damit Datenverarbeitung in einer Art und Weise erfolgt, die hohe Anteile an parallelen und/oder vektoriellen Datenverarbeitungsschritten besitzt. Die Vorteile der Architektur gegenüber anderen Prozessor-, Coprozessor- oder generell Datenverarbeitungseinheiten werden jedoch geringer, wenn sich die Vorteile der Vernetzung und der gegebenen prozessorarchitektonischen Besonderheiten nicht mehr in vollem Umfange realisieren lassen.The architecture has considerable advantages across from usual Processor architectures, as far as data processing in one Way takes place, the high proportions of parallel and / or vectorial Owns data processing steps. The advantages of architecture across from other processor, coprocessor or generally data processing units however, will decrease if the benefits of networking and the given processor-architectural peculiarities no longer in can be realized in full.
Dies ist besonders dann der Fall, wenn Datenverarbeitungsschritte abzuarbeiten sind, die herkömmlich am besten auf Sequenzer-Strukturen abgebildet werden können. Es ist wünschenswert, die rekonfigurierbare Architektur derart auszugestalten und zu verwenden, daß auch typisch mit Sequenzern besonders gut abzuarbeitende Datenverarbeitungsschritte besonders schnell und effizient abgearbeitet werden können.This is especially the case when data processing steps are to be processed, which are conventionally on can best be mapped onto sequencer structures. It is desirable to design and use the reconfigurable architecture in such a way that too data processing steps that are typically particularly easy to process with sequencers can be processed particularly quickly and efficiently.
Die Aufgabe der vorliegenden Erfindung besteht darin, Neues für die gewerbliche Anwendung bereitzustellen.The object of the present invention is new for to provide the commercial application.
Die Lösung dieser Aufgabe wird unabhängig beansprucht. Bevorzugte Ausführungsformen finden sich in den Unteransprüchen.The solution to this problem is claimed independently. Preferred embodiments can be found in the subclaims.
Gemäß einem ersten wesentlichen Aspekt der Erfindung wird somit bei einem in Funktion und/oder Vernetzung insbesondere zur Laufzeit ohne Störung nicht rekonfigurierter Elemente rekonfigurierbaren Zellelementefeld zur Datenverarbeitung mit Funktionszellen zur Ausführung algebraischer und/oder logischer, konfigurierbarer Funktionen und Speicherzellen, um Informationen zu empfangen, abzuspeichern und/oder auszugeben vorgeschlagen, daß eine Steuerverbindung von den Funktions zellen zu den Speicherzellen geführt ist. Diese Steuerverbindung dient dazu, die Adress- und/oder Datenein/ausgabe aus dem Speicher durch die zugeordnete Funktionszelle, typisch einer ALU-PAE, steuerbar zu machen. So kann etwa angegeben werden, ob die nächste übertragene Information als Adresse oder als Daten behandelt werden soll und ob ein Leseund/oder Schreibzugriff erforderlich ist. Diese Daten aus der Speicherzelle, bei der es sich etwa um eine RAM-PAE handeln kann, auf die ALU-PAE erlauben dann, daß neue, von der ALU abzuarbeitende Befehle in diese geladen werden können. Es ist auf diese Weise möglich, lediglich durch Vorsehen einer dedizierten und dediziert funktionszellenkontrollierten Steuerverbindung zwischen Funktionszelle und Speicherzelle bereits mit nur zwei Elementen, die über geeignete Busse verbunden sind, eine Sequenzerstruktur in einem Zellelementefeld aufzubauen, ohne daß ansonsten weitere Maßnahmen und/oder bauliche Veränderungen erforderlich sind. In der Speicherzelle können Daten, Adressen, Programmschritte usw. in per se aus herkömmlichen Prozessoren bekannter Weise abgelegt werden. Weil beide Elemente auch in anderer Weise bei entsprechender Konfiguration einsetzbar sind, ergibt sich eine besonders effiziente Bauweise, die sowohl Sequenzerstrukturen als auch vektoriellen und/oder parallelisierbaren Strukturen besonders gut anpaßbar ist.According to a first essential Aspect of the invention is thus in function and / or networking not reconfigured especially at runtime without disruption Elements reconfigurable cell element field for data processing with function cells for execution algebraic and / or logical, configurable functions and memory cells, to receive, save and / or output information suggested that a Control connection from the functional cells to the memory cells. This control connection serves the purpose of address and / or data input / output from the memory through the assigned function cell, typically one ALU-PAE, to make it controllable. For example, you can specify whether the next broadcast Information should be treated as an address or as data and whether read and / or write access is required. These dates from the memory cell, which is, for example, a RAM-PAE on the ALU-PAE can then allow new commands to be processed by the ALU can be loaded into it. It is possible in this way only by providing a dedicated and dedicated function cell controlled Control connection between function cell and memory cell already with just two elements over it suitable buses are connected, a sequencer structure in one To build up cell element field without any further measures and / or structural changes required are. Data, addresses, program steps can be stored in the memory cell etc. in conventional per se Processors are stored in a known manner. Because both elements can also be used in another way with the appropriate configuration are a particularly efficient design, both Sequencer structures as well as vectorial and / or parallelisable Structures particularly adaptable is.
Es ist einsichtig, daß durch die Verwendung von lediglich zwei Zellen in einem Zellelementefeld, nämlich der Funktionszelle und der Informationsbereitstellungszelle eine Vielzahl von sequenzerartigen Strukturen in dem rekonfigurierbaren Zellelementefeld aufgebaut werden kann. Dies ist insofern vorteilhaft, als oftmals bei der Datenverarbeitung, etwa in einem multitaskingfähigen Betriebssystem, eine Reihe unter schiedlicher und voneinander per se verschiedener Aufgaben abgearbeitet werden muß. Es können dann eine Vielzahl derartiger Aufgaben in einem einzigen Zellelementefeld effektiv gleichzeitig abgearbeitet werden. Die Vorteile für Echtzeitanwendungen sind offensichtlich. Weiter ist es auch möglich, die einzelnen Sequenzerstrukturen, die in einem Zellelementefeld unter Vorsehung der erfindungsgemäßen Steuerverbindung aufgebaut werden, mit unterschiedlichen Taktraten zu betreiben, etwa um den Stromverbrauch dadurch zu senken, daß Aufgaben mit geringerer Priorität langsamer abgearbeitet werden. Es ist überdies möglich, bei der Ausführung per se weitgehend paralleler Algorithmen sequenzerartige Programmteile in dem Feld parallel oder vektoriell abzuarbeiten und umgekehrt.It is clear that by using only two cells in a cell element field, namely the functional cell and the information supply cell, a large number of sequencer-like structures in the reconfigurable cell element field can be built. This is advantageous in that a number of tasks that are different and different from one another per se must often be processed in data processing, for example in a multitasking operating system. A large number of such tasks can then be effectively processed simultaneously in a single cell element field. The advantages for real-time applications are obvious. Furthermore, it is also possible to operate the individual sequencer structures, which are set up in a cell element field with the control connection according to the invention, at different clock rates, for example in order to reduce the power consumption in that tasks with a lower priority are processed more slowly. It is also possible to execute sequencer-like program parts in the field in parallel or vectorially when executing largely parallel algorithms per se and vice versa.
Das Zellelementefeld mit den in Funktion und/oder Vernetzung konfigurierbaren Zellen kann einsichtigerweise einen Prozessor, einen Coprozessor und/oder einen Mikrocontroller bilden, bzw. eine parallele Vielzahl oder Kombinationen derselben.The cell element field with the in function and / or Networking configurable cells can obviously be a Form a processor, a coprocessor and / or a microcontroller, or a parallel plurality or combinations thereof.
Die Funktionszellen sind typisch als arithmetische Logikeinheiten gebildet, wobei sie insbesondere grobgranulare Elemente darstellen, die aber mit einer feingranularen Statemachine versehen sein können. In einem besonders bevorzugten Ausführungsbeispiel handelt es sich bei den ALUs um sogenannte erweiterte ALUs (EALU), wie diese in den früheren Anmeldungen des vorliegenden Anmelders beschrieben wurden. Eine Erweiterung kann insbesondere die Steuerleitungskontrolle, Befehlsdekodiereinheit etc. umfassen, soweit erforderlich.The functional cells are typical formed as arithmetic logic units, in particular represent coarse granular elements, but with a fine granular State machine can be provided. In a particularly preferred embodiment it is in the case of the ALUs by so-called extended ALUs (EALU), as in the previous registrations of the present applicant. An extension can in particular control line control, command decoding unit etc. include where necessary.
Die Speicherzellen können Daten und/oder Informationen flüchtig und/oder nichtflüchtig speichern. Wenn in den Speicher zellen abgelegte Informationen, seien es Programmschritte, Adressen für einen Zugriff auf Daten oder registerartig bzw. heap-artig abgelegte Daten als flüchtige Daten abgelegt sind, so kann eine vollständige Rekonfiguration während des Betriebes erfolgen. Alternativ ist es möglich, nichtflüchtige Speicherzellen vorzusehen. Die nichtflüchtigen Speicherzellen können etwa als EE-Prom-Bereich und dergleichen vorgesehen werden, in die ein rudimentäres Bios-Programm abgelegt wird, das bei Inbetriebnahme der Anordnung auszuführen ist. Auf diese Weise kann ohne weitere Bauteile eine Inbetriebnahme einer Datenverarbeitungseinrichtung erfolgen. Ein nichtflüchtiger Datenspeicher kann auch dann vorgesehen werden, wenn aus Kosten- und/der Raumgründen beschlossen wird, daß immer wieder dieselben Programmteile auszuführen sind, wobei diese auch unter solch festen Programmteilen, etwa nach Art der WA-VE-Rekonfiguration, im Betrieb gewechselt werden kann. Die Möglichkeiten, derartige nichtflüchtige Speicher vorzusehen und zu verwenden, sind Gegenstand anderer Schutzrechte des Anmelders. Es ist möglich, sowohl flüchtige als auch nichtflüchtige Daten in den Speicherzellen abzuspeichern, etwa um ein Bios-Programm fest abzulegen und die Speicherzelle dennoch für andere Zwecke nutzen zu können.The memory cells can store data and / or fleeting information and / or non-volatile to save. If there is information stored in the memory cells it program steps, addresses for one Access to data or data stored in register or heap form as fleeting Data are stored, so a complete reconfiguration during the Operation. Alternatively, it is possible to use non-volatile memory cells provided. The non-volatile Memory cells can such as EE prom area and the like are provided in the a rudimentary Bios program is stored, which is to be executed when commissioning the arrangement. In this way, a commissioning of a Data processing device take place. A non-volatile Data storage can also be provided if cost and / the space reasons it is decided that always again the same parts of the program are to be executed under such fixed program parts, for example according to the type of WA-VE reconfiguration, can be changed during operation. The possibilities of providing such non-volatile memories and use are subject to other property rights of the applicant. It is possible to do both volatile as well as non-volatile Saving data in the memory cells, for example in a bios program firmly stored and still be able to use the memory cell for other purposes.
Die Speicherzelle ist bevorzugt so ausgebildet, daß sie eine hinreichende Vielzahl von zu verarbeitenden Daten und/oder abzuarbeitenden Programmteilen speichern kann. Es sei dabei darauf hingewiesen, daß diese Programmteile sowohl als Programmschritte ausgebildet sein können, die jeweils vorgeben, was eine einzelne, insbesondere die zugeordnete PAE, also insbesondere die die Speicherzelle steuernde Funktionszelle, im nächsten Schritt zu tun hat, als auch ganze Konfigurationen für Feldbereiche oder andere Felder beinhalten kann. In einem solchen Fall ist es ohne weiteres möglich, daß die aufgebaute Sequenzerstruktur einen Befehl ausgibt, auf Grund dessen eine Rekonfiguration von Zellelementefeldbereichen erfolgt. Damit arbeitet die diese Konfiguration auslösende Funktionszelle dann zugleich als Ladelogik. Es sei darauf hingewiesen, daß die Konfiguration von anderen Zellen wiederum dergestalt erfolgen kann, daß dort eine sequenzerartige Datenverarbeitung erfolgt und es ist in diesen Feldern wiederum möglich, andere Zellen im Verlauf der Programmarbeitung zu konfigurieren bzw. rekonfigurieren. Damit ergibt sich ein iteratives Konfigurieren von Zellelementebereichen und ein Einschachteln von Programmen mit Sequenzer- und Parallel-Strukturen, die ähnlich ineinander geschachtelt sind wie eine Babuschka. Es sei darauf hingewiesen, daß hier insbesondere durch Ein-Ausgabezellen ein Zugriff auf weitere Zellelementefelder außerhalb eines einzelnen integrierten Bausteines erfolgen kann, was die Gesamtrechenleistung massiv erhöhen kann. Es ist insbesondere möglich, bei Auftreten von Konfigurationen in einem Codeteil einer in ein Zellelementefeld hineinkonfigurierten Sequenzerstruktur gegebenenfalls entweder die Konfigurationsanforderungen auf einem zugewiesenen Zellelementefeld, das von der jeweiligen Sequenzerstruktur allein verwaltet wird, durchzuführen und/oder es können derartige Anforderungen an eine Konfigurations-Mastereinheit abgegeben werden, um sicherzustellen, daß eine gleichmäßige Belegung aller Zellelementefelder erfolgt. Es ergibt sich somit quasi ein Unterprogrammaufruf durch Übergabe von erforderlichen Konfigurationen an Zellen oder Ladelogiken. Dies wird für sich als schutzwürdig angesehen. Es sei auch darauf hingewiesen, daß die Zellen, sofern sie selbst für die Konfiguration anderer Zellelementfeldbereiche Zuständigkeit besitzen, mit hard- oder softwareartig implementierten FILMO-Strukturen und dergleichen zur Sicherstellung einer ordnungsgemäßen Rekonfiguration versehen sein können. Auf die Möglichkeit, die Speicherzellen während der Abarbeitung von Befehlen derart zu beschreiben, daß sich der abzuarbeitende Code bzw. das abzuarbeitende Programm ändert, sei hingewiesen. In einer besonders bevorzugten Variante ist diese Art der Selbstmodifikation (SM) aber durch eine entsprechende Steuerung über die Funktionszelle unterdrückt.The memory cell is preferably designed such that it can store a sufficient number of data to be processed and / or program parts to be processed. It should be noted that these program parts can be designed as program steps, each of which specifies what an individual, in particular the assigned PAE, in particular the function cell controlling the memory cell, has to do in the next step, as well as entire configurations for field areas or other fields. In such a case, it is easily possible for the built-up sequencer structure to issue a command, on the basis of which a reconfiguration of cell element field areas takes place. The functional cell that triggers this configuration then also works as a charging logic. It should be pointed out that the configuration of other cells can in turn be carried out in such a way that sequencer-like data processing takes place there and it is in turn possible in these fields to configure or reconfigure other cells in the course of the program work. This results in an iterative configuration of cell element areas and a nesting of programs with sequencer and parallel structures, which are nested one inside the other like a babushka. It should be pointed out that access to further cell element fields outside of a single integrated module can take place here in particular through input / output cells, which can massively increase the overall computing power. In particular, if configurations occur in a code part of a sequencer structure configured into a cell element field, it is possible to either carry out the configuration requests on an assigned cell element field that is managed by the respective sequencer structure alone and / or such requests can be made to a configuration master unit to ensure that all cell element fields are evenly assigned. This results, so to speak, in a subroutine call by transferring the required configurations to cells or loading logic. This is considered worthy of protection in itself. It should also be pointed out that the cells, provided that they themselves are responsible for the configuration of other cell element field areas, can be provided with FILMO structures and the like implemented in the manner of hardware or software in order to ensure proper reconfiguration. Attention is drawn to the possibility of describing the memory cells during the processing of commands in such a way that the code to be processed or the program to be processed changes. In a particularly preferred variant, however, this type of self-modification (SM) is suppressed by an appropriate control via the functional cell.
Es ist möglich, daß die Speicherzelle abgespeicherte Information hier auf die Ansteuerung der sie steuernden Funktionszelle direkt oder indirekt auf einen zur Funktionszelle führenden Bus gibt. Die indirekte Ausgabe kann insbesondere dann erfolgen, wenn beide Zellen benachbart liegen und die durch Ansteuerung angeforderte Information an die ALU-PAE über ein Bussegment eintreffen muß, das nicht unmittelbar mit dem Ausgang der Speicherzelle verbunden werden kann. In einem solchen Fall kann die Speicherzelle Daten auf dieses Bussystem insbesondere über Rückwärtsregister (Backward-Register) ausgeben. Es ist daher bevorzugt, wenn zumindest eine von Speicherzelle und/oder Funktionszelle ein solches Backward-Register aufweist, welches im Informationsweg zwischen Speicherzelle und Funktionszelle angeordnet werden kann. Diese Register brauchen in einem solchen Fall nicht zwingend mit weiteren Funktionalitäten versehen sein, obwohl dies etwa bei Anforderung von Daten aus der Speicherzelle für die weitere Verarbeitung, entsprechend einem herkömmlichen LOAD-Befehl eines typischen Mikroprozessors, zur Veränderung der Daten noch vor dem Hineinladen in die PAE ohne weiteres denkbar ist, um z. B. einen Befehl LOAD++ zu realisieren.It is possible that the memory cell is stored Information here on the control of the function cell controlling it directly or indirectly to one leading to the functional cell Bus there. Indirect output can take place in particular if both cells are adjacent and the one requested by activation Information to the ALU-PAE about a bus segment must arrive, that is not directly connected to the output of the memory cell can be. In such a case, the memory cell can store data on this bus system especially via backward registers output. It is therefore preferred if at least one of the memory cells and / or functional cell has such a backward register, which is in the information path can be arranged between the memory cell and the functional cell. In such a case, these registers do not necessarily need additional ones functionalities be provided, although this is for example when data from the Memory cell for further processing, according to a conventional one LOAD command from a typical microprocessor, for modification of the data is easily conceivable even before it is loaded into the PAE is to z. B. to implement a LOAD ++ command.
Die Speicherzelle wird bevorzugt dazu angeordnet sein, Informationen von der sie steuernden Funktionszelle zu empfangen, wobei auch weiter ein Informationseinspeichern über eine Ein-Ausgabezelle und/oder eine die Speicherzelle nicht steuernde Zelle möglich ist. Insbesondere dann, wenn Daten von einer Ein-Ausgabezelle in die Speicherzelle geschrieben werden sollen, ist es bevorzugt, wenn auch diese Ein-Ausgabezelle (I/O-PAE) von der Funktionszelle gesteuert wird. Dabei kann etwa die Adresse, bei welcher eine in die Speicherzelle zu schreibende oder gegebenenfalls auch direkt an die Funktionszelle (PAE) übertragene Information zu lesen ist, an die I/O-PAE von der ALU-PAE übermittelt werden. Es sei in diesem Zusammenhang darauf hingewiesen, daß diese Adresse über eine Adreßübersetzungstabelle (Adresstranslationtable), einen Adresstranslationbuffer oder eine MMU-artige Struktur in der I/O-PAE festgelegt werden kann. Es ergeben sich in einem solchen Fall die vollen Funktionalitäten typischer Mikroprozessoren.The memory cell is preferred to be arranged, information from the functional cell controlling it to receive, with further information storage via a An output cell and / or a cell that does not control the memory cell is possible. Especially when data from an input-output cell in the Memory cell to be written, it is preferred if also this input / output cell (I / O-PAE) is controlled by the functional cell. For example, the address at which one is to be written into the memory cell or possibly also read information transmitted directly to the functional cell (PAE) to which I / O-PAE are transmitted by the ALU-PAE. It is in In this context, it should be noted that this address has a Address translation table (address translation table), an address translation buffer or an MMU-like structure in the I / O-PAE can be set. It results in one Case the full functionality typical microprocessors.
Die Funktionszellen-Speicherzellenkombination ist demnach in einer bevorzugten Variante zumindest ein Ein-Ausgabe-Mittel zugeordnet, mit welchem dann an eine externe Einheit, eine andere Funktionszelle, Funktionszellen-Speicherzellen-Kombination und/oder Speicherzellen Information gesandt und/oder von dieser empfangen werden kann.The functional cell / memory cell combination is accordingly in a preferred variant at least one input-output means assigned, with which then to an external unit, another function cell, Function cell memory cell combination and / or memory cells sent and / or information can be received.
Die Ein-Ausgabe-Einheit wird dabei bevorzugt gleichfalls zum Empfang von Steuerbefehlen aus der Funktionszelle ausgebildet.The input-output unit is thereby preferably also for receiving control commands from the functional cell educated.
In einer bevorzugten Variante ist die Steuerverbindung.dazu ausgebildet, zumindest einige und bevorzugt alle der nachfolgenden Befehle zu übertragen: In a preferred variant, the control connection is designed to transmit at least some and preferably all of the following commands:
Dies kann durch eine entsprechende Bitbreite der Steuerleitung und eine zugeordnete Decodierung bei den Empfängern erfolgen. Die jeweils erforderlichen Steuer- und Dekodiermittel können problemfrei und kostengünstig vorgesehen werden. Wie ersichtlich, ergibt sich mit den Befehlen eine praktisch vollständige Sequenzerfähigkeit der Anordnung. Daß auf diese Weise eine Allgemeinzweckprozessordatenverarbeitungseinheit erhalten wird, sei erwähnt.This can be done by an appropriate Bit width of the control line and an assigned decoding at the recipients respectively. The necessary control and decoding means can problem-free and inexpensive be provided. As can be seen, the commands result a practically complete Sequenzerfähigkeit the arrangement. That on a general-purpose processor data processing unit is mentioned.
Die Anordnung wird typisch so gewählt sein, daß die Funktionszelle als alleiniger Master auf die Steuerverbindung und/oder ein als Steuerverbindung dienendes Bussegment bzw. Bussystem zugreifen kann. Es ergibt sich somit eine Anordnung, bei der die Steuerleitung als Command-Leitung wirkt, wie sie in herkömmlichen Prozessoren vorgesehen ist.The arrangement will typically be chosen so that the functional cell can access the control connection and / or a bus segment or bus system serving as a control connection as the sole master. The result is an arrangement in which the control line acts as a command line as it does is provided in conventional processors.
Die Funktionszelle und die Speicherzelle bzw. I/O-Zelle sind bevorzugt benachbart angeordnet. Unter benachbart kann dabei wie bevorzugt verstanden werden, daß die Zellen unmittelbar nebeneinander angeordnet sind. Alternativ befinden sie sich zumindest dicht beieinander. Die Anordnung der Funktions- und Speicherzellen in Nachbarschaft zueinander sorgt dafür, daß keine, jedenfalls keine signifikanten Latenzzeiten zwischen Ansteuerung und Dateneingang der angeforderten Information in der Funktionszelle auftreten, nur weil die Verbindungen zwischen den Zellen zu lang sind. Dies sei als „direkt" verstanden. Müssen Latenzzeiten berücksichtigt werden, so kann auch ein Pipelining in den Sequenzerstrukturen vorgesehen werden. Dies wird besonders wichtig bei sehr hoch getakteten Anordnungen. Es sei darauf hingewiesen, daß es ohne weiteres möglich ist, entsprechend hochfrequent getaktete Zelleinheiten vorzusehen, die wie im Stand der Technik per se bekannt, auch entsprechend schnell auf geeignete Speicherzellen zugreifen können. Auch in einem solchen Fall, etwa wenn per se bekannte Architekturelemente für die Funktionszellen verwendet werden, wird gleichzeitig eine Rekonfigurierbarkeit des Funktionszellenelementes und der zugehörigen Vernetzungen vorzusehen sein. In einer besonders bevorzugten Variante sind die Funk tionszellen, die Informationsbereitstellungszellen wie Speicherzellen, I/O-Zellen und dergleichen multidimensional angeordnet, insbesondere nach Art einer Matrix bzw. auf Gitterpunkten eines eindimensionalen Gitters usw. Wenn eine regelmäßige Struktur vorliegt, wie dies dort der Fall ist, wird einer Zelle typisch aus einer ersten Reihe Information, das heißt Operanden, Konfigurationen, Triggersignale usw. zugeführt, während in einer darunterliegende Reihe Daten, Triggersignale und andere Informationen abgegeben werden. In einem solchen Fall wird es bevorzugt sein, wenn die Zellen in ein und derselben Reihe liegen und es kann dann der Informationstransfer aus der Informationsbereitstellungszelle in den erforderlichen Eingang der Funktionszelle über ein Backward-Register erfolgen. Die Möglichkeit, die Register für Pipelining zu benutzen, sei erwähnt.The functional cell and the memory cell or I / O cells are preferably arranged adjacent. Under neighboring can be understood as preferred that the cells are directly next to each other are arranged. Alternatively, they are at least close together. The arrangement of the function and memory cells in the neighborhood to each other ensures that no, in any case, no significant latency times between activation and data input of the requested information in the functional cell occur just because the connections between cells are too long are. This should be understood as "direct". Must have latency periods be taken into account pipelining can also be provided in the sequencer structures become. This becomes particularly important with very high clocked arrangements. It it should be noted that it easily possible is to provide cell units with corresponding high-frequency clocking, which, as is known per se in the prior art, is also correspondingly fast can access suitable memory cells. Even in one This is the case, for example, when architectural elements known per se for the functional cells are used, a reconfigurability of the To provide functional cell element and the associated networking his. In a particularly preferred variant, the function cells are the information supply cells such as memory cells, I / O cells and the like arranged multidimensionally, in particular according to Art a matrix or on grid points of a one-dimensional grid etc. If a regular structure is present, as is the case there, is typically a cell a first row of information, i.e. operands, configurations, Trigger signals etc. supplied, while in an underlying series of data, trigger signals and other information be delivered. In such a case, it will be preferred if the cells are in the same row and then it can the transfer of information from the information supply cell in the required input of the functional cell via Backward register respectively. The possibility, the registers for Using pipelining should be mentioned.
Es wird weiter Schutz beansprucht für ein Verfahren zum Betrieb eines Zellelementefeldes, insbesondere multidimensionalen Zellelementefeldes mit Funktionszellen zur Ausführung a1-gebraischer und/oder logischer Funktionen und Informationsbereitstellungszellen, insbesondere Speicherzellen und/oder Ein-Ausgabezellen zum Empfangen und/oder Ausgeben von Informationen und/oder Speichern derselben, wobei zumindest eine der Funktionszellen Steuerbefehle an zumindest eine Informationsbereitstellungszelle ausgibt, dort im Ansprechen auf die Steuerbefehle Information für die Funktionszelle bereitgestellt wird und die Funktionszelle dazu ausgebildet ist, die weitere Datenverarbeitung im Ansprechen auf die bereitgestellte Information durchzuführen, um so sequenzerartig Daten zu verarbeiten.Protection is still claimed for a procedure for operating a cell element field, in particular multidimensional Cell element field with function cells for performing A1-used and / or logical functions and information provision cells, in particular memory cells and / or I / O cells for receiving and / or outputting information and / or storing the same, at least one of the functional cells Control commands to at least one information supply cell outputs information there for the function cell in response to the control commands is provided and the functional cell is designed to the further data processing in response to the provided To carry out information in order to process sequential data.
Es wird also in einem rekonfigurierbaren Feld durch die Ausgabe der Steuerbefehle an die Speicherzelle einer Sequenzerstruktur eine sequenzerartige Datenverarbeitung ermöglicht. Die Befehle, die als Steuerbefehle von der Funktionszelle ausgegeben werden können, ermöglichen dabei einen sequenzerartigen Betrieb, wie er aus herkömmlichen Prozessoren bekannt ist. Es sei darauf hingewiesen, daß es ohne weiteres möglich ist, nur Teile der genannten Befehle zu implementieren und dennoch eine vollständig sequenzerartige Datenverarbeitung zu gewährleisten.So it will be in a reconfigurable Field by issuing the control commands to the memory cell one Sequencer structure enables sequencer-like data processing. The commands issued as control commands from the functional cell can be enable thereby a sequencer-like operation, as it is from conventional processors is known. It should be noted that it is easily possible to implement only parts of the commands mentioned and still one Completely to ensure sequencer-like data processing.
Die Erfindung wird im folgenden und beispielsweise anhand der Zeichnungen beschrieben. In dieser ist gezeigt durch:The invention is hereinafter and described for example with reference to the drawings. In this is shown by:
Nach
Das Zellelementefeld
Die Zellelemente
Mit Ausnahme der Steuerverbindungen
Die Besonderheiten des Zellelementefeldes der
vorliegenden Erfindung ergeben sich aus der Steuerverbindung
In
Die ALU
Die Steuerverbindung
Der Bus
Innerhalb der RAM-Zelle
Die Erfindung wird verwendet wie
folgt:
Zunächst
empfängt
die ALU
First the ALU receives
Mit den Daten für die Konfiguration der ALU
Es findet dabei die Abarbeitung der Programmsequenz statt, die in den RAM-PAE durch die Ladelogik vorkonfiguriert wurde. In der ALU-PAE wird dabei zugleich, wie per se erforderlich, eine Befehlsdekodierung vorgenommen. Dies geschieht mit den per se gleichen Schaltkreisen, die schon für die Dekodierung der von der Ladelogik erhaltenen Befehle verwendet werden.The processing of the Program sequence instead, which is preconfigured in the RAM-PAE by the loading logic has been. In the ALU-PAE there is also one, as required per se Command decoding made. This happens with the same ones per se Circuits that are already for uses the decoding of the commands received from the loading logic become.
Es wird über die ALU zu jedem Zeitpunkt
die Steuerleitung
Die in Bezug auf
Nach
Eine noch weiter bevorzugte Variante
ist in
Die in
Es sei darauf hingewiesen, daß mehrere Sequenzerstrukturen gleichzeitig in ein und dasselbe Feld hineinkonfiguriert werden können, daß Funktionszellen, Speicherzellen und ggf. Ein-Ausgabezellen wahlweise für Sequenzerstrukturen und/oder eine für die XPP-Technologie herkömmliche Weise konfiguriert werden können und daß es ohne weiteres möglich ist, daß eine ALU an eine andere ALU Daten ausgibt, die diese in einer Sequenzer-Weise konfigurieren und/oder zum Teil eines Zellelmentefeldes machen, mit dem eine bestimmte Konfiguration abgearbeitet wird. Auf diese Weise wird dann gegebenenfalls auch die Ladelogik entbehrlich.It should be noted that several Sequencer structures configured simultaneously in one and the same field can be that functional cells, Memory cells and possibly input / output cells optionally for Sequencer structures and / or a conventional one for XPP technology Way can be configured and that it easily possible is that a ALU outputs data to another ALU, which they configure in a sequencer manner and / or make part of a cell element field with which a certain Configuration is processed. In this way, if necessary the charging logic is also unnecessary.
Claims (17)
Priority Applications (47)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE10241812A DE10241812A1 (en) | 2002-09-06 | 2002-09-06 | Cell element field for processing data has function cells for carrying out algebraic/logical functions and memory cells for receiving, storing and distributing data. |
| JP2003538928A JP4456864B2 (en) | 2001-09-19 | 2002-09-19 | Reconfigurable element |
| US10/490,081 US8429385B2 (en) | 2001-09-03 | 2002-09-19 | Device including a field having function cells and information providing cells controlled by the function cells |
| AU2002357982A AU2002357982A1 (en) | 2001-09-19 | 2002-09-19 | Reconfigurable elements |
| EP02791644A EP1472616B8 (en) | 2001-09-19 | 2002-09-19 | Reconfigurable elements |
| AT02791644T ATE533111T1 (en) | 2001-09-19 | 2002-09-19 | RECONFIGURABLE ELEMENTS |
| PCT/EP2002/010572 WO2003036507A2 (en) | 2001-09-19 | 2002-09-19 | Reconfigurable elements |
| EP03720231A EP1518186A2 (en) | 2002-03-21 | 2003-03-21 | Method and device for data processing |
| PCT/DE2003/000942 WO2003081454A2 (en) | 2002-03-21 | 2003-03-21 | Method and device for data processing |
| US10/508,559 US20060075211A1 (en) | 2002-03-21 | 2003-03-21 | Method and device for data processing |
| AU2003223892A AU2003223892A1 (en) | 2002-03-21 | 2003-03-21 | Method and device for data processing |
| EP03776856.1A EP1537501B1 (en) | 2002-08-07 | 2003-07-23 | Method and device for processing data |
| PCT/EP2003/008081 WO2004021176A2 (en) | 2002-08-07 | 2003-07-23 | Method and device for processing data |
| AU2003286131A AU2003286131A1 (en) | 2002-08-07 | 2003-07-23 | Method and device for processing data |
| PCT/EP2003/008080 WO2004015568A2 (en) | 2002-08-07 | 2003-07-24 | Data processing method and device |
| EP03784053A EP1535190B1 (en) | 2002-08-07 | 2003-07-24 | Method of operating simultaneously a sequential processor and a reconfigurable array |
| US10/523,764 US8156284B2 (en) | 2002-08-07 | 2003-07-24 | Data processing method and device |
| AU2003260323A AU2003260323A1 (en) | 2002-08-07 | 2003-07-24 | Data processing method and device |
| JP2005506110A JP2005535055A (en) | 2002-08-07 | 2003-07-24 | Data processing method and data processing apparatus |
| AU2003289844A AU2003289844A1 (en) | 2002-09-06 | 2003-09-08 | Reconfigurable sequencer structure |
| PCT/EP2003/009957 WO2004038599A1 (en) | 2002-09-06 | 2003-09-08 | Reconfigurable sequencer structure |
| US10/526,595 US7394284B2 (en) | 2002-09-06 | 2003-09-08 | Reconfigurable sequencer structure |
| EP03782172A EP1537486A1 (en) | 2002-09-06 | 2003-09-08 | Reconfigurable sequencer structure |
| JP2004545763A JP4388895B2 (en) | 2002-09-06 | 2003-09-08 | Reconfigurable sequencer structure |
| US12/082,073 US7602214B2 (en) | 2002-09-06 | 2008-04-07 | Reconfigurable sequencer structure |
| US12/541,299 US7782087B2 (en) | 2002-09-06 | 2009-08-14 | Reconfigurable sequencer structure |
| US12/571,173 US8686549B2 (en) | 2001-09-03 | 2009-09-30 | Reconfigurable elements |
| US12/570,943 US8914590B2 (en) | 2002-08-07 | 2009-09-30 | Data processing method and device |
| US12/621,860 US8281265B2 (en) | 2002-08-07 | 2009-11-19 | Method and device for processing data |
| JP2009271120A JP2010079923A (en) | 2001-09-19 | 2009-11-30 | Processing chip, system including chip, multiprocessor device, and multi-core processor device |
| US12/729,090 US20100174868A1 (en) | 2002-03-21 | 2010-03-22 | Processor device having a sequential data processing unit and an arrangement of data processing elements |
| US12/729,932 US20110161977A1 (en) | 2002-03-21 | 2010-03-23 | Method and device for data processing |
| US12/836,364 US7928763B2 (en) | 2002-09-06 | 2010-07-14 | Multi-core processing system |
| US12/947,167 US20110238948A1 (en) | 2002-08-07 | 2010-11-16 | Method and device for coupling a data processing unit and a data processing array |
| US13/023,796 US8686475B2 (en) | 2001-09-19 | 2011-02-09 | Reconfigurable elements |
| US13/040,769 US8310274B2 (en) | 2002-09-06 | 2011-03-04 | Reconfigurable sequencer structure |
| US13/626,047 US8803552B2 (en) | 2002-09-06 | 2012-09-25 | Reconfigurable sequencer structure |
| US14/162,704 US20140143509A1 (en) | 2002-03-21 | 2014-01-23 | Method and device for data processing |
| US14/263,185 US8890215B2 (en) | 1997-10-08 | 2014-04-28 | Reconfigurable elements |
| US14/458,099 US9274984B2 (en) | 2002-09-06 | 2014-08-12 | Multi-processor with selectively interconnected memory units |
| US14/540,782 US20150074352A1 (en) | 2002-03-21 | 2014-11-13 | Multiprocessor Having Segmented Cache Memory |
| US14/543,306 US9092595B2 (en) | 1997-10-08 | 2014-11-17 | Multiprocessor having associated RAM units |
| US14/810,905 US9240220B2 (en) | 1997-10-08 | 2015-07-28 | Stacked-die multi-processor |
| US14/923,702 US10579584B2 (en) | 2002-03-21 | 2015-10-27 | Integrated data processing core and array data processor and method for processing algorithms |
| US15/000,763 US10885996B2 (en) | 1997-10-08 | 2016-01-19 | Processor having a programmable function unit |
| US15/052,730 US9817790B2 (en) | 2002-09-06 | 2016-02-24 | Multi-processor with selectively interconnected memory units |
| US15/811,192 US10296488B2 (en) | 2002-09-06 | 2017-11-13 | Multi-processor with selectively interconnected memory units |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE10241812A DE10241812A1 (en) | 2002-09-06 | 2002-09-06 | Cell element field for processing data has function cells for carrying out algebraic/logical functions and memory cells for receiving, storing and distributing data. |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE10241812A1 true DE10241812A1 (en) | 2004-04-08 |
Family
ID=31983907
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE10241812A Withdrawn DE10241812A1 (en) | 1997-10-08 | 2002-09-06 | Cell element field for processing data has function cells for carrying out algebraic/logical functions and memory cells for receiving, storing and distributing data. |
Country Status (1)
| Country | Link |
|---|---|
| DE (1) | DE10241812A1 (en) |
-
2002
- 2002-09-06 DE DE10241812A patent/DE10241812A1/en not_active Withdrawn
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1537486A1 (en) | Reconfigurable sequencer structure | |
| DE4416881C2 (en) | Method for operating a data processing device | |
| DE68914172T2 (en) | Data processing system and video processing system with such a data processing system. | |
| DE2540975C2 (en) | Data processing device for executing several processes running at the same time | |
| DE60132585T2 (en) | DEVICE AND METHOD FOR PROVIDING THE GROUPING OF COMMANDS IN A VLIW PROCESSOR | |
| EP1472616B1 (en) | Reconfigurable elements | |
| DE2912287C3 (en) | Data processing system | |
| DE2318069C2 (en) | Micro-programmed computer system with expansion of control functions by means of a hard-wired logic matrix | |
| EP1329816A2 (en) | Method for automatic dynamic unloading of data flow processors (dfp) as well as modules with bidimensional or multidimensional programmable cell structures (fpgas, dpgas or the like) | |
| DE19654846A1 (en) | Process for the independent dynamic reloading of data flow processors (DFPs) as well as modules with two- or multi-dimensional programmable cell structures (FPGAs, DPGAs, etc.) | |
| EP1599794B1 (en) | Processor with different types of control units for commonly used resources | |
| WO2002029600A2 (en) | Cell system with segmented intermediate cell structure | |
| EP1466264B1 (en) | Method for configuration of the connection between data processing cells | |
| DE102004045527A1 (en) | Configurable logic device for data signal processing using dynamic configuration of multiplexer via configuration signals provided for multiplexer control inputs by external control signal sources | |
| DE1115488B (en) | Data processing system | |
| DE2944757A1 (en) | PROCESS CALCULATOR | |
| DE2245284A1 (en) | DATA PROCESSING SYSTEM | |
| DE10241812A1 (en) | Cell element field for processing data has function cells for carrying out algebraic/logical functions and memory cells for receiving, storing and distributing data. | |
| CH632349A5 (en) | MICRO COMMAND CONTROL DEVICE. | |
| DE102006027181B4 (en) | Processor with internal grid of execution units | |
| DE4447707B4 (en) | Data flow processor - uses charging logic for individual and group-wise programming of mutually orthogonal homogeneously structured cells in integrated circuit chip | |
| DE4447706B4 (en) | Data flow processor - uses charging logic for individual and group-wise programming of mutually orthogonal homogeneously structured cells in integrated circuit chip | |
| WO2011064045A1 (en) | Method and electronic unit for producing sequences | |
| WO2024074293A1 (en) | Computing device, method for load distribution for such a computing device and computer system | |
| EP1348257B1 (en) | Device with segmented cell structure |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8139 | Disposal/non-payment of the annual fee |