DE10240000A1 - Router for use in networked data processing has a configuration method for use with reconfigurable multi-dimensional fields that includes specifications for handling back-couplings - Google Patents
Router for use in networked data processing has a configuration method for use with reconfigurable multi-dimensional fields that includes specifications for handling back-couplings Download PDFInfo
- Publication number
- DE10240000A1 DE10240000A1 DE10240000A DE10240000A DE10240000A1 DE 10240000 A1 DE10240000 A1 DE 10240000A1 DE 10240000 A DE10240000 A DE 10240000A DE 10240000 A DE10240000 A DE 10240000A DE 10240000 A1 DE10240000 A1 DE 10240000A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- configuration
- bus
- syncreconfig
- pae
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0043—Signal treatments, identification of variables or parameters, parameter estimation or state estimation
- B60W2050/0044—In digital systems
- B60W2050/0045—In digital systems using databus protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
Description
Die vorliegende Erfindung befaßt sich mit Verfahren und Ausgestaltungen von Bussystemen für konfigurierbare Architekturen. Die Optimierung der Konfigurations- und Rekonfigurationseffizenz wird besonders berücksichtigt.The present invention is concerned with methods and designs of bus systems for configurable Architectures. The optimization of the configuration and reconfiguration efficiency will especially considered.
Aufgabe der Erfindung ist es, Neues für die gewerbliche Nutzung bereitzustellen.The object of the invention is new for commercial To provide usage.
Die Lösung der Aufgabe wird unabhängig beansprucht. Bevorzugte Ausführungsformen befinden sich in den Unteransprüchen.The solution to the problem is claimed independently. Preferred embodiments are in the subclaims.
Unter einer rekonfigurierbaren Architektur, werden Bausteine (VPU) mit konfigurierbarer Funktion und/oder Vernetzung verstanden, insbesondere integrierte Bausteine mit einer Mehrzahl von ein- oder mehrdimensional angeordneten arithmetischen und/oder logischen und/oder analogen und/oder speichernden und/oder vernetzenden Baugruppen (im Folgenden PAEs) genannt) und/oder kommunikativen/peripheren Baugruppen (IO), die direkt oder durch ein oder mehrere Bussystem e) miteinan der verbunden sind. PAEs sind beliebiger Ausgestaltung, Mischung und Hierarchie angeordnet. Diese Anordnung wird im Weiteren PAE-Array oder PA genannt.Under a reconfigurable architecture Modules (VPU) with configurable function and / or networking understood, in particular integrated modules with a plurality of one-dimensional or multi-dimensional arithmetic and / or logical and / or analog and / or storing and / or networking Assemblies (hereinafter referred to as PAEs) and / or communicative / peripheral Assemblies (IO), directly or through one or more bus systems e) are connected to each other. PAEs are of any design, mix and hierarchy arranged. This arrangement is called the PAE array or called PA.
Zur Gattung dieser Bausteine zählen systolische
Arrays, neuronale Netze, Mehrprozessor Systeme, Prozessoren mit
mehreren Rechenwerken und/oder logischen Zellen, Vernetzungs- und
Netzwerkbausteine wie z.B. Crossbar-Schalter, ebenso wie bekannte
Bausteine der Gattung FPGA, DPGA, XPUTER, etc.. Hingewiesen wird
insbesondere in diesem Zusammenhang auf die folgenden Schutzrechte
desselben Anmelders: P 44 16 881.0-53,
1. Aufbau von Bussystemen1. Structure of bus systems
Eine herkömmliche Implementierung der Konfiguration erfordert eine Synchronisation zwischen den Objekten. Diese Synchronisation wird zentral über einen FILMO (vgl. PACT04, PACT05, PACT10, PACT17) realisiert. Dadurch vergehen zwischen dem Ende einer alten Konfiguration (reconfig-Event) und dem Beginn einer neuen Konfiguration (Object geht erneut in den Zustand "configured") mindestens so viele Takte wie der gepipelinete CM-Testbus lang ist (Hin- und Rückweg).A traditional implementation of the configuration requires synchronization between the objects. This synchronization becomes central about realized a FILMO (cf.PACT04, PACT05, PACT10, PACT17). Thereby pass between the end of an old configuration (reconfig event) and the start of a new configuration (Object goes in again the state "configured") at least as many measures as the pipeline CM test bus is long (there and back).
Zur Beschleunigung werden erfindungsgemäß zwei Verfahren vorgeschlagen:According to the invention, two methods are used for acceleration proposed:
- a) Die erforderliche Reihenfolge wird durch zusätzliche Logik in den Objekten sichergestellt, z.B. Verwaltung von IDs, a) The required order is given by additional Logic ensured in the objects, e.g. Management of IDs,
- b) Die Objekte werden derart modifiziert, dass keine Reihenfolge mehr beachtet werden muß, sondern daß die ordentliche Verschaltung durch die Architektur der Objekte sichergestellt wird.b) The objects are modified so that no order more needs to be considered but that the proper interconnection ensured by the architecture of the objects becomes.
Für
die folgenden Betrachtungen werden die in einer typischen rekonfigurierbaren
Architektur vorhandenen Module in zwei Gruppen eingeteilt:
Busse
Dieses Gruppe umfaßt
die Verbindungsleitung zwischen zwei Segmenten. Sie wird repräsentiert durch
den Segment-Switch
an seinem Ende.
Objekt In dieser Gruppe werden alle Objekte
zusammengefaßt,
die einen Anschluß an
einen Bus, bzw. mit ihrer Umwelt kommunizieren besitzen, d.h. beliebige
PAE (z.B. Speicher, RLUs), IO, etc.For the following considerations, the modules available in a typical reconfigurable architecture are divided into two groups:
Buses This group comprises the connecting line between two segments. It is represented by the segment switch at its end.
Object This group summarizes all objects that have a connection to a bus or that communicate with their environment, ie any PAE (e.g. memory, RLUs), IO, etc.
Abhängigkeiten bestehen typischerweise zwischen
allen direkt benachbarten Objekten. Dies sind im einzelnen:
Bus
zu Bus Ein Bus wird dabei repräsentiert
durch den Segment-Switch am Ende eines Busses Objekt zu Bus Objekt
ist dabei beliebig aus FREG, BREG, ALU und RAM zu wählen. Ebenso
zählt alles
als Objekt in diesem Sinne, was einen Connect besitzt.
Objekt
zu Objekt Diese sind nicht direkt benachbart, es liegt immer ein
Bus dazwischen. Hier besteht keine Abhängigkeit.Dependencies typically exist between all directly neighboring objects. In detail, these are:
Bus to bus A bus is represented by the segment switch at the end of a bus. Object to bus object can be selected freely from FREG, BREG, ALU and RAM. In this sense, everything that owns a Connect also counts as an object.
Object to object These are not directly adjacent, there is always a bus in between. There is no dependency here.
1.1 Bus zu Bus Abhängigkeit1.1 Bus to bus dependency
Längere Busse werden nach dem Stand der Technik beispielsweise von hinten nach vorne konfiguriert. Dabei wird das letzte Bus-Segment mit offenem Switch konfiguriert, alle anderen mit geschlossenem Bus-Switch. Die Einhaltung der Reihenfolge ist erforderlich, um zu verhindern, dass Daten von einem weiter vorne liegenden Bus in einen weiter hinten liegenden laufen, der noch zu einer anderen Konfiguration gehört.longer According to the prior art, buses are, for example, from behind configured forward. The last bus segment with open Switch configured, all others with the bus switch closed. Order compliance is required to prevent that data from a bus further ahead to another run behind, which is yet another configuration heard.
1.2 Bus zu Objekt Abhängigkeit1.2 Bus to object dependency
Nach dem Stand der Technik darf ein Objekt erst dann konfiguriert werden, wenn sichergestellt ist, dass die von dem Objekt benutzten Busse bereits konfiguriert sind. Auch diese Abhängigkeit besteht um sicherzustellen, dass keine Daten in eine fremde Konfiguration laufen (PAE-Ausgang) bzw. von einer fremden Konfiguration genommen werden (PAE-Eingang).According to the state of the art, a Object can only be configured if it is ensured that the buses used by the object are already configured. Also this dependency exists to ensure that no data is in a foreign configuration run (PAE output) or taken from an external configuration (PAE input).
Zusammenfassend läßt sich feststellen, dass eine Abhängigkeit immer dann besteht, wenn ein Objekt eine Verbindung zu einem anderen Objekt herstellt (Connection-Mask bzw. geschlossener Switch). Dabei darf die Verbindung erst dann hergestellt werden, wenn sichergestellt ist, dass das Objekt, zu dem die Verbindung erstellt werden soll, bereits zur gleichen Konfiguration gehört (d.h. bereits entsprechend konfiguriert ist) .In summary, it can be said that a dependence whenever there is an object connecting to another Object (connection mask or closed switch). there the connection may only be established when ensured is that the object to connect to is already belongs to the same configuration (i.e. already accordingly configured).
2. Kontrolle über ID-Verwaltung2. Control over ID management
Der einfachste Ansatz ist, in jedem Objekt die ID oder Array-ID (vgl. PACT10) zu speichern, die das Objekt aktuell verwendet. Sobald eine Verbindung zwischen zwei Objekten konfiguriert wird (z.B. zwischen einem PAE-Ausgang und einem Bus), ist im Voraus zu prüfen, ob beide Objekte dieselbe ID/Array-ID besitzen. Ist dies nicht der Fall, darf die Verbindung nicht hergestellt werden.The simplest approach is in everyone Object the id or array id (see PACT10) that the object is currently using. As soon as a connection between two objects is configured (e.g. between a PAE output and a bus), check in advance whether both objects have the same ID / array ID have. If this is not the case, the connection must not be established become.
Obwohl dieses Verfahren grundsätzlich vergleichsweise trivial ist, erfordert es einen hohen Hardware-Aufwand, da für jede mögliche Verbindung Register für die Speicherung der ID/Array-ID und Komparatoren zum Vergleich der ID/Array-ID der beiden zu verbindenden Objekte notwendig sind.Although this procedure is basically comparative is trivial, it requires a lot of hardware, since registers for every possible connection for the Storage of the ID / array ID and comparators for comparison of the ID / array ID of the two objects to be connected are necessary.
Ein technisch günstiger zu realisierendes und daher bevorzugtes Verfahren wird in den folgenden Abschnitten besprochen:A technically more affordable and therefore preferred method is discussed in the following sections:
3. Kontrolle über Vernetzungsstruktur3. Control over network structure
Abbildung
Sobald sich Konfiguration A beendet, wird der freiwerdene Bus von Konfiguration B belegt, und Konfiguration B beginnt zu arbeiten.As soon as configuration A ends, the free bus is occupied by configuration B and configuration B starts to work.
Mit anderenen Worten liegt ein Grundprinzip des Verfahrens darin, dass jedes Element das an einer Datenübertragung beteiligt ist, sich aktiv auf die entsprechende Datenquelle oder den Datensender aufschaltet.In other words, there is a basic principle of Process in that each element is involved in a data transfer is actively involved in the corresponding data source or activates the data transmitter.
Bus zu PAE-EingangBus to PAE entrance
Abbildung
In Abbildung
In Abbildung
In Abbildung
Bus-PAE-AusgangBus output PAE
Dies ist die einzige Verbindung,
wo die Verwendung von zwei getrennten Schaltern sinnvoll ist. In
den beiden anderen Fällen
kann die Funktionalität auch
mit einem Schalter realisiert werden, der von zwei Konfig-Bits gesteuert
wird. Abbildung
In Abbildung
In Abbildung
In Abbildung
Zusammenfassung Summary
Mit verhältnismäßig geringen Hardwareaufwand lässt sich die Rekonfigurations-Performance erheblich steigern. Es wird dadurch möglich, mehrere vollständige Konfigurationen in die Objekt-FIFOs zu laden.With relatively little hardware let yourself significantly increase reconfiguration performance. It will possible, several complete Load configurations into the object FIFOs.
Nach der Rekonfiguration benötigt jedes Objekt lokal nur noch soviel Takte, wie Konfigurationsworte erforderlich sind, bis es wieder konfiguriert ist. Diese Zeit läßt sich durch einen zweiten Registersatz weiter, näherungsweise gegen 0 Takte, drücken.After reconfiguration, everyone needs Object locally only as many cycles as required for configuration words until it is configured again. This time can be through a second register set, approximately at 0 bars, to press.
Der zusätzliche Hardwareaufwand beschränkt sich auf ein zusätzliches Konfigurationsbit und AND-Gate pro Switch und pro Anzahl Busse * Anzahl PAE-Eingänge. Die PAE-Ausgänge erfordern je nach Implementierung ein wenig mehr Aufwand, sofern jeweils ein zusätzlicher Schalter notwendig ist.The additional hardware expenditure is limited for an additional one Configuration bit and AND gate per switch and per number of buses * number PAE inputs. The PAE outputs may require a little more effort depending on the implementation, provided an additional one each Switch is necessary.
5. Rekonfigurationssteuerung5. Reconfiguration control
Die Steuerung der Rekonfiguration wird in der VPU Technologie durch Signale (Reconfig) ausgelöst, die zumeist mit den Datenpaketen und/oder Triggerpaketen über die Bussysteme propagiert werden und anzeigen, dass eine bestimmte Ressource umkonfiguriert werden kann oder soll, ggf. wird gleichzeitig die neue Konfiguration selektiert (vgl. PACT08, PACT13).Control of reconfiguration is triggered in the VPU technology by signals (Reconfig) that mostly with the data packets and / or trigger packets via the Bus systems are propagated and indicate that a particular resource is reconfigured can or should be, if necessary, the new configuration selected (see PACT08, PACT13).
Sofern ein rekonfigurierbarer Baustein nur partiell umkonfiguriert werden soll, ist es erforderlich Reconfig an bestimmten Stellen entsprechend des Algorithmus zu unterbrechen. Diese Unterbrechung, die die Weiterleitung von Reconfig verhindert wird als ReconfigBlock bezeichnet.If a reconfigurable module Reconfig is only required if it is to be partially reconfigured interrupt at certain points according to the algorithm. This interruption, which prevents Reconfig from being forwarded is called ReconfigBlock.
ReconfigBlock werden für gewöhnlich an den Grenzen einer Konfiguration zur nächsten eingeführt, um diese entsprechend voneinander zu trennen.ReconfigBlock are usually sent to the Limits of one configuration introduced to the next separate them accordingly.
Zum Versenden von Reconfig bestehen unterschiedliche Strategien, die entsprechend der Anforderung des Algorithmus gewählt werden.Insist on sending Reconfig different strategies that according to the requirement of Algorithm chosen become.
Es werden drei mögliche bevorzugte Ausgestaltungen beschrieben, die jeweils einzeln oder kombiniert verwendet werden können und ein unterschiedliches Verhalten aufweisen:There are three possible preferred configurations described, which are used individually or in combination can and behave differently:
- a) ForcedReconfig: Die einfachste Strategie ist das Versenden des Reconfig über alle Interface eines Objektes. Damit ist sichergestellt, dass alle verbundenen Objekte im PA das Signal erhalten. Zur Einschränkung muß an geeigneten Stellen geblockt werden. Dieses Verfahren, bzw. Signal stellt sicher, dass eine Konfiguration komplett entfernt wird. Das Signal wird im Folgenden mit ForcedReconfig bezeichnet. Das Signal sollte nur verwendet werden, nachdem alle Daten in den betreffenden Objekten verarbeitet und entfernt wurden, da keinerlei Synchronisation mit der Datenverarbeitung stattfindet.a) ForcedReconfig: The simplest strategy is sending the reconfig over all interfaces of an object. This ensures that all connected Objects in the PA receive the signal. To restrict it must be blocked in suitable places become. This procedure or signal ensures that a configuration is completely removed. The signal is subsequently with ForcedReconfig designated. The signal should only be used after all Data in the objects concerned have been processed and removed, since there is no synchronization with data processing.
- b) SyncReconfig: Ein Reconfig wird zusammen mit den entsprechenden Daten und/oder Triggern versendet. Das Versenden erfolgt nur zusammen mit aktiven Daten- und/oder Triggerpakete. Das Signal wird bevorzugt zusammen mit dem letzten zu verarbeitenden Daten- und/oder Triggerpakete weitergeleitet und zeigt das Ende der Datenverarbeitung nach diesem Daten/Triggerpaket an. Benötigt eine PAE mehrere Takte zur Abarbeitung, wird die Weiterleitung von SyncReconfig so lange verzögert, bis das Trigger- und/oder Daten-Paket tatsächlich verschickt wird. Somit verhält sich dieses Signal synchron mit der letzten Datenverarbeitung.b) SyncReconfig: A Reconfig is together with the corresponding Data and / or triggers sent. The dispatch takes place only together with active data and / or trigger packets. The signal is preferred forwarded together with the last data and / or trigger packets to be processed and shows the end of data processing after this data / trigger packet on. requires a PAE several cycles for processing, the forwarding of SyncReconfig delayed so long until the trigger and / or data packet is actually sent. Consequently behave this signal is synchronous with the last data processing.
- c) ArrayReset: Als eine Erweiterung von ForcedReconfig kann ArrayReset verwendet werden, das nicht geblockt werden kann und zu einer Rekonfiguration des kompletten Arrays führt. Dieses Verfahren ist besonders dann sinnvoll, wenn z.B. eine Applikation terminiert wird oder ein Illegal Opcode (vgl. PACT19), bzw. Timeout einer Konfiguration auftrat und für eine ordentliche Terminierung der Konfiguration mit anderen Strategien nicht garantiert werden kann.c) ArrayReset: As an extension of ForcedReconfig can ArrayReset can be used, which can not be blocked and leads to a reconfiguration of the complete array. This procedure is special then makes sense if e.g. an application is terminated or a Illegal opcode (see PACT19) or timeout of a configuration occurred and for proper scheduling of the configuration with other strategies is not can be guaranteed.
5.1 SyncReconfig5.1 SyncReconfig
SyncReconfig wird immer mit gültigen, aktiven Daten oder Triggern propagiert.SyncReconfig is always with valid, propagates active data or triggers.
Probleme treten nunmehr auf, wenn
z.B. in einer Verzweigung das Signal nur in den aktiven Zweig propagiert
wird (
Um dieses Problem zu lösen wird die Semantik von SyncReconfig folgendermassen definiert: Das Signal weist darauf hin, dass nach Erhalt und vollständiger Verarbeitung der Daten/Trigger sämtliche Daten-/Triggerquellen (Quellen) und Busse die zum Eingang des Objektes führen, das SyncReconfig erhielt, rekonfiguriert werden. Dazu wird das Signal ReconfigEcho eingeführt. Nach dem Eintreffen von SyncReconfig bei einem Ziel-Objekt wird von diesem ReconfigEcho generiert, sobald das Ziel-Objekt die Daten vollständig verarbeitet hat, die mit dem SyncReconfig eintrafen. ReconfigEcho wird an sämtliche Quellen gesendet und führt zur Rekonfiguration der Quellen und der daten- bzw. triggerübermittelnden Bussysteme.To solve this problem the semantics of SyncReconfig are defined as follows: the signal indicates that after receipt and complete processing of the data / trigger all Data / trigger sources (sources) and buses to the entrance of the object to lead, that SyncReconfig received, can be reconfigured. This is the signal ReconfigEcho introduced. After SyncReconfig arrives at a target object, it ReconfigEcho generates as soon as the target object processes the data completely has arrived with the SyncReconfig. ReconfigEcho is sent to everyone Sources sent and leads to reconfigure the sources and the data or trigger transmitters Bus systems.
Erhält ein Objekt ein ReconfigEcho wird dieses über alle noch aktiven Eingänge an die Quellen des Objektes weiterübertragen.An object receives a ReconfigEcho will this over all still active inputs transmitted to the sources of the object.
Ein/Ausgänge, die bereits ein SyncReconfig erhielten werden durch das Eintreffen passiv, sie führen keinerlei Daten/Triggertransfers mehr durch. Je nach Ausgestaltung kann ein SyncReconfig nur die Passivschaltung des Eingangs bewirken, bei dem das Signal eintraf oder die Passivschaltung aller Eingäng der PAE.Inputs / outputs that have already received a SyncReconfig become passive on arrival, they do not carry out any data / trigger transfers more through. Depending on the configuration, a SyncReconfig can only be used for passive switching of the input at which the signal arrived or passive switching all entrances the PAE.
Für gewöhnlich trifft eine ReconfigEcho an Ausgängen von PAEs ein. Dies bewirkt die Weiterleitung von ReconfigEcho über die Eingänge der PAE, sofern diese nicht bereits durch ein eingegangenes SyncReconfig passiv geschaltet wurden.For usually hits a ReconfigEcho at outputs from PAEs. This causes the forwarding of ReconfigEcho via the inputs the PAE, provided that it has not already been received by a SyncReconfig were switched passive.
In einigen Fällen, wie beispielsweise in
den
5.2 Trigger mit Reconfig-Semantik5.2 Trigger with reconfig semantics
In einigen Fällen (z.B.
Für die erforderliche explizite Übertragung von beliebigen Reconfig-Signalen kann das Trigger-System nach PACT08 verwendet werden, wobei dazu die Trigger-Semantik entsprechend erweitert wird. Trigger können somit beliebige Status- und Kontrollsignale (wie z.B. Carry, Zero, Overflow, STEP, STOP, GO (vgl. PACT08, PACT13, PACT18) übertragen, ebenso wie die impliziten Reconfig-Signale. Weiterhin kann ein Trigger die Semantik SyncReconfig, ReconfigEcho, ForcedReconfig annehmen.For the required explicit transfer of Any Reconfig signals can be triggered by the trigger system according to PACT08 are used, with the trigger semantics being expanded accordingly. Triggers can any status and control signals (such as carry, zero, Overflow, STEP, STOP, GO (see PACT08, PACT13, PACT18) transferred, as well as the implicit reconfig signals. Furthermore, a trigger accept the semantics SyncReconfig, ReconfigEcho, ForcedReconfig.
5.3 Blocken5.3 Block
An jeder Schnittstelle, die ein SyncReconfig versendet, kann eingestellt werden, ob die Versendung stattfinden soll. Das Unterbinden der Propagation führt zu keinen Nebeneffekten. Sofern die Annahme des SyncReconfig an der empfangenden Schnittstelle blockiert wird, schaltet das empfangende Objekt die Schnittstelle, die das SyncReconfig empfing passiv (d.h. die Schnittstelle versendet bzw. empfängt keine Daten mehr), ansonsten reagiert das Objekt nicht auf das Signal, kann jedoch um die Auflösung des übertragenden Bussystemes zu ermöglichen, ReconfigEcho zurücksenden.At every interface that a SyncReconfig sends, can be set whether the dispatch should take place. The Preventing propagation leads no side effects. Provided that the SyncReconfig is accepted the receiving interface is blocked, the receiving one switches Object the interface that the SyncReconfig received passively (i.e. the interface no longer sends or receives data), otherwise the object does not respond to the signal, but can affect the resolution of the transmitting To enable the bus system Send ReconfigEcho back.
Desweiteren ist es unabhängig und/oder gemeinsam mit einem ReconfigBlock möglich das ReconfigEcho zu blockieren.Furthermore, it is independent and / or together with a ReconfigBlock it is possible to block the ReconfigEcho.
5.4 Auswirkung von SyncReconfig und ForcedReconfig auf Bussysteme5.4 Effect of SyncReconfig and ForcedReconfig on bus systems
Um sicher zu stellen, dass bereits nach dem Durchlauf eines SyncReconfig über einen Bus, keine weiteren Daten übertragen werden, die z.B. von einer nachfolgenden Konfiguration stammen, wird durch SyncReconfig die Weiterleitung von RDY/ACK (vgl. PACT02) über den Bus blockiert. Der Bus selbst wird jedoch nicht abgerissen, um die Rücksendung von ReconfigEcho über das Bussystem zu ermöglichen. Erst mit dem Durchlauf von ReconfigEcho wird der Bus abgebaut.To make sure that already after running a SyncReconfig over a bus, no more Transfer data e.g. come from a subsequent configuration, SyncReconfig will forward RDY / ACK (see PACT02) via the Bus blocked. However, the bus itself will not be demolished to the return by ReconfigEcho about to enable the bus system. First with the passage of ReconfigEcho the bus is dismantled.
Andere in der Wirkung äquivalente Methoden können verwendet werden, z.b. könnten Daten- und Triggerverbindungen bereits beim Durchlauf von SyncReconfig abgerissen werden, während die ReconfigEcho-Verbindung erst beim Auftreten von ReconfigEcho abgebaut wird.Others equivalent in effect Methods can be used, e.g. could Data and trigger connections already when running SyncReconfig be demolished while the ReconfigEcho connection only when ReconfigEcho occurs is broken down.
Damit ist sichergestellt, dass Daten und Trigger unterschiedlicher nicht zusammengehörender Konfigurationen nicht fälschlicherweise unter den Konfigurationen ausgetauscht werden.This ensures that data and triggers of different, unrelated configurations falsely under the configurations can be exchanged.
In
0501e hat das SyncReconfig von 0501a ebenfalls erhalten, jedoch ist der Zweig nicht aktiv. Daher reagiert 0501e nicht, d.h. 0501e sendet weder das SyncReconfig an 0501f noch das ReconfigEcho an 0501a zurück.0501e also has the SyncReconfig of 0501a received, but the branch is not active. Therefore 0501e responds not, i.e. 0501e neither sends the SyncReconfig to 0501f nor that ReconfigEcho back to 0501a.
0501c verarbeitet die eingehenden Daten und sendet das SyncReconfig an 0501d weiter. Der Ablauf entspricht zunächst wiederum der Übertragung von 0501a nach 0501b. 0501d gene riert nach der Verarbeitung der Daten ein ReconfigEcho, das aufgrund der Zusammenführung der Zweige auch an 0501f gesendet wird. Obwohl 0501f keine Datenoperation durchführte wird die rekonfiguriert und sendet das ReconfigEcho an 0501e die daraufhin ebenfalls ohne Datenverarbeitung rekonfiguriert wird.0501c processes the incoming Data and sends the SyncReconfig to 0501d. The process corresponds first again the transfer from 0501a to 0501b. 0501d generated after processing the Data a ReconfigEcho that due to the merger of the Branches are also sent to 0501f. Although 0501f is not a data operation conducted is reconfigured and sends the ReconfigEcho to 0501e is then also reconfigured without data processing.
Das von 0501b nach 0501a übertragene ReconfigEcho kann in einer bevorzugten Ausgestaltung auch an 0501e übertragen werden und trifft dort an einem Eingang ein. Dies führt zur Passivschaltung des Einganges und – in einer erweiterten Ausführung, ggf. auch konfigurierbar – zur Passivschaltung aller Eingänge.The one transferred from 0501b to 0501a In a preferred embodiment, ReconfigEcho can also transmit to 0501e and arrives at an entrance there. This leads to Passive switching of the input and - in an extended version, if necessary also configurable - for Passive switching of all inputs.
Um den Beispielen in
In
Besonders zu beachten ist die Übertragung zwischen 0501r und 0501m. Beim Auftreten von ReconfigEcho an 0501m wird der Bus (0508) zwischen 0501m und 0501r durch die Übertragung von ReconfigEcho rekonfiguriert. ReconfigEcho ist am Ausgang von 0501r geblockt, dadurch wird 0501r nicht rekonfiguriert, der betreffende Ausgang jedoch beim Eintreffen von ReconfigEcho passiv geschaltet, d.h. 0501r leitet keine Ergebnisse mehr auf den Bus. Dadurch kann der Bus von einer beliebigen anderen Konfiguration benutzt werden.Particular attention should be paid to the transfer between 0501r and 0501m. When ReconfigEcho occurs on 0501m, the Bus (0508) between 0501m and 0501r through the transfer of ReconfigEcho reconfigured. ReconfigEcho is blocked at the output of 0501r, this does not reconfigure 0501r, the relevant output however, switched to passive when ReconfigEcho arrives, i.e. 0501r no longer routes results to the bus. This allows the bus from any other configuration.
Sobald 0501r das ReconfigEcho von 0501q erhält wird 0501r am Ende der Datenverarbeitung rekonfiguriert. Der ReconfigBlock und/oder die Passivschaltung der Busverbindung zu 0501m (0508) verhindern die Weiterleitung in Richtung 0501m. 0501m und 0508 können mittlerweile von einer anderen Konfiguration verwendet werden.As soon as 0501r the ReconfigEcho from 0501q receives 0501r is reconfigured at the end of data processing. The ReconfigBlock and / or prevent the passive connection of the bus connection to 0501m (0508) forwarding towards 0501m. 0501m and 0508 can now be used by another configuration.
6.0 SyncReconfig-II6.0 SyncReconfig-II
Ein weiteres optionales und je nach Anwendung, Einsatzgebiet und/oder Ausgestaltung des Halbleiters oder Systems zu bevorzugendes Verfahren zur Steuerung des SyncReconfig-Protokolls wird nachfolgend beschrieben:Another optional and depending Application, area of application and / or configuration of the semiconductor or system-preferred method for controlling the SyncReconfig protocol is described below:
Das Verfahren ist wie folgt definiert:The procedure is defined as follows:
- 1. SyncReconfig wird prinzipiell über alle verbundenen (Daten- und/oder Trigger-) Busse einer PAE versendet, auch über die, die aktuell (zum jetzigen Takt) keine Daten und/oder Trigger übertragen.1. SyncReconfig is basically all connected (data and / or trigger) buses of a PAE are sent, also about those that currently (at the current clock) do not transmit any data and / or triggers.
- 2. Damit eine PAE SyncReconfig entsprechend Abs. 1 weiterleitet, müssen zuvor alle verbunden Eingänge der PAE das SyncReconfig erhalten haben.2. In order for a PAE SyncReconfig to forward according to paragraph 1, have to previously all connected inputs the PAE has received the SyncReconfig.
- 2a. Rückkopplungen in der Datenstruktur (z.B. Schleifen) erfordern eine Ausnahme des Postulates nach Abs. 2. Die Rück kopplung wird ausgenommen, d.h. es ist ausreichend, wenn alle verbundenen Eingänge einer PAE ausser der oder den schleifenartig zurückgekoppelten das SyncReconfig erhalten haben, damit dieses weitergeleitet wird.2a. feedback in the data structure (e.g. loops) require an exception to the Postulates according to paragraph 2. The feedback is excluded, i.e. it is sufficient if all connected inputs a PAE apart from the one or more looped back the SyncReconfig received so that it is forwarded.
- 3. Verarbeitet eine PAE Daten (u.U. auch, mehrzyklisch, z.B. Division) wird ein SyncReconfig, wenn dieses entsprechend 2 und 2a an den Eingängen anliegt, zum Zeitpunkt der Fertigberechnung und Weiterleitung der Daten und/oder Trigger an den oder die Empfänger weitergeleitet. Mit anderen Worten überholt kein SyncReconfig die Datenverarbeitung. Nicht datenverarbeitende PAEs leiten SyncReconfig sofort zu den verbundenen Empfängern weiter.3. Processes a PAE data (possibly also, multi-cyclically, e.g. Division) becomes a SyncReconfig if this corresponds to 2 and 2a is present at the inputs, at the time of the final calculation and forwarding of the data and / or Trigger to the recipient (s) forwarded. In other words, no SyncReconfig overtakes the Data processing. Non-data processing PAEs direct SyncReconfig immediately to the connected recipients further.
- 4. SyncRekonfig wird mit Handshake-Signalen übertragen (z.B. RDY/ACK = ReaDY/ACKnowledge). Eine SyncReconfig absendende PAE geht erst in den Zustand rekonfigurierbar, wenn alle Empfänger den Empfang von SyncReconfig zur Bestätigung mittels eines ACK(nowledge) quittiert haben.4. SyncRekonfig is transmitted with handshake signals (e.g. RDY / ACK = ReaDY / ACKnowledge). A PAE sending SyncReconfig only goes into the reconfigurable state, if all recipients the receipt of SyncReconfig for confirmation by means of an ACK (nowledge) have acknowledged.
Bei diesem Verfahren stellt sich grundsätzlich die Frage, was passiert, wenn eine Konfiguration noch nicht vollständig konfiguriert ist, aber bereits wieder rekonfiguriert werden soll. Abseits der Überlegung, ob ein derartiges Verhalten einer Applikation nicht einer besseren Programmierung bedarf, löst sich das Problem wie folgt: Versucht eine PAE das SyncReconfig an eine noch nicht konfigurierte PAE weiterzuleiten, erhält sie so lange kein ACK, bis die PAE konfiguriert ist und das SyncReconfig quittiert. Dadurch entsteht eventuell ein Performance-Verlust, da bis auf die vollständige Konfiguration der zu löschenden Konfiguration gewartet wird, bevor dies gelöscht wird. Andererseits tritt dieser Fall aber äusserst selten und nur unter aussergewöhnlichen Umständen auf.This procedure turns out to be in principle the question of what happens if a configuration is not yet fully configured is, but should already be reconfigured. Beyond consideration, whether such behavior of an application is not better Programming needs to be solved the problem as follows: A PAE tries the SyncReconfig on one to forward PAs that have not yet been configured, it receives no ACK until the PAE is configured and the SyncReconfig acknowledges. Thereby There may be a loss of performance, except for the complete configuration the one to be deleted Configuration is serviced before it is deleted. On the other hand occurs but this case is extremely rare and only among exceptional circumstances on.
Anmelder: Pact XPP Technologies AG Muthmannstr. 1 80939 MünchenApplicant: Pact XPP Technologies AG Muthmannstr. 1 80939 Munich
Vertreter: Patentanwalt Claus Peter Pietruk Heinrich-Lilienfein-Weg 5 D-76229 Karlsruhe Vertreter-Nr. 321 605Representative: Patent Attorney Claus Peter Pietruk Heinrich-Lilienfein-Weg 5 D-76229 Karlsruhe representative no. 321 605
Deutsche PatentanmeldungGerman patent application
Titel: Bussysteme und RekonfigurationsverfahrenTitle: Bus systems and reconfiguration procedures
Claims (2)
Priority Applications (48)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10240000A DE10240000A1 (en) | 2002-08-27 | 2002-08-27 | Router for use in networked data processing has a configuration method for use with reconfigurable multi-dimensional fields that includes specifications for handling back-couplings |
EP02777144A EP1466264B1 (en) | 1995-12-29 | 2002-09-18 | Method for configuration of the connection between data processing cells |
US10/490,079 US7434191B2 (en) | 2001-09-03 | 2002-09-18 | Router |
PCT/EP2002/010479 WO2003025781A2 (en) | 2001-09-19 | 2002-09-18 | Router |
AU2002338729A AU2002338729A1 (en) | 2001-09-19 | 2002-09-18 | Router |
EP02791644A EP1472616B8 (en) | 2001-09-19 | 2002-09-19 | Reconfigurable elements |
AU2002357982A AU2002357982A1 (en) | 2001-09-19 | 2002-09-19 | Reconfigurable elements |
JP2003538928A JP4456864B2 (en) | 2001-09-19 | 2002-09-19 | Reconfigurable element |
PCT/EP2002/010572 WO2003036507A2 (en) | 2001-09-19 | 2002-09-19 | Reconfigurable elements |
AT02791644T ATE533111T1 (en) | 2001-09-19 | 2002-09-19 | RECONFIGURABLE ELEMENTS |
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 |
EP03709624A EP1514193B1 (en) | 2002-02-18 | 2003-02-18 | Bus systems and method for reconfiguration |
DE10390689T DE10390689D2 (en) | 2002-02-18 | 2003-02-18 | Bus systems and reconfiguration methods |
DE50310198T DE50310198D1 (en) | 2002-02-18 | 2003-02-18 | BUS SYSTEMS AND RECONFIGURATION PROCEDURES |
US10/504,684 US8127061B2 (en) | 2002-02-18 | 2003-02-18 | Bus systems and reconfiguration methods |
AU2003214003A AU2003214003A1 (en) | 2002-02-18 | 2003-02-18 | Bus systems and method for reconfiguration |
PCT/DE2003/000489 WO2003071432A2 (en) | 2002-02-18 | 2003-02-18 | Bus systems and method for reconfiguration |
AT08009003T ATE538439T1 (en) | 2002-02-18 | 2003-02-18 | BUS SYSTEMS AND RECONFIGURATION PROCEDURES |
AT03709624T ATE402446T1 (en) | 2002-02-18 | 2003-02-18 | BUS SYSTEMS AND RECONFIGURATION PROCEDURES |
EP08009003A EP2043000B1 (en) | 2002-02-18 | 2003-02-18 | Bus systems and reconfiguration method |
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 |
AU2003223892A AU2003223892A1 (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 |
US10/523,763 US7657861B2 (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 |
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 |
JP2005506110A JP2005535055A (en) | 2002-08-07 | 2003-07-24 | Data processing method and data processing apparatus |
US10/523,764 US8156284B2 (en) | 2002-08-07 | 2003-07-24 | Data processing method and device |
PCT/EP2003/008080 WO2004015568A2 (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 |
EP03784053A EP1535190B1 (en) | 2002-08-07 | 2003-07-24 | Method of operating simultaneously a sequential processor and a reconfigurable array |
US12/247,076 US8209653B2 (en) | 2001-09-03 | 2008-10-07 | Router |
US12/571,173 US8686549B2 (en) | 2001-09-03 | 2009-09-30 | Reconfigurable elements |
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/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/324,048 US20120151113A1 (en) | 2002-02-18 | 2011-12-13 | Bus systems and methods for controlling data flow in a field of processing elements |
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/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 |
US15/000,763 US10885996B2 (en) | 1997-10-08 | 2016-01-19 | Processor having a programmable function unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10240000A DE10240000A1 (en) | 2002-08-27 | 2002-08-27 | Router for use in networked data processing has a configuration method for use with reconfigurable multi-dimensional fields that includes specifications for handling back-couplings |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10240000A1 true DE10240000A1 (en) | 2004-03-18 |
Family
ID=31724205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10240000A Withdrawn DE10240000A1 (en) | 1995-12-29 | 2002-08-27 | Router for use in networked data processing has a configuration method for use with reconfigurable multi-dimensional fields that includes specifications for handling back-couplings |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE10240000A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3855673T2 (en) * | 1987-08-28 | 1997-05-07 | Ibm | System part reconfiguration triggered by peripheral devices |
-
2002
- 2002-08-27 DE DE10240000A patent/DE10240000A1/en not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3855673T2 (en) * | 1987-08-28 | 1997-05-07 | Ibm | System part reconfiguration triggered by peripheral devices |
Non-Patent Citations (1)
Title |
---|
Dr. A. Piotrowski: IEC -Bus - Die Funktionsweise des IEC-Bus und seine Anwendung in Geräten und Systemen, 3. Auflage, Franzis-Verlag HmbH, Münch- en, 1987, Seite 20-25, ISBN 3-7723-6953-7 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0961980B1 (en) | Method for self-synchronization of configurable elements of a programmable component | |
EP1057102B1 (en) | METHOD FOR CONFIGURING DATA FLOW PROCESSORS AND MODULES WITH A TWO- OR MULTIDIMENSIONAL PROGRAMMABLE CELL STRUCTURE (FPGAs, DPGAs OR SIMILAR) WITHOUT PRODUCING DEADLOCKS | |
DE69936225T2 (en) | SIMULTANEOUS SERIAL CONNECTION FOR INTEGRATING FUNCTIONAL BLOCKS IN AN INTEGRATED CIRCUIT | |
EP0948842B1 (en) | METHOD FOR AUTOMATIC DYNAMIC UNLOADING OF DATA FLOW PROCESSORS (DFP) AS WELL AS MODULES WITH BIDIMENSIONAL OR MULTIDIMENSIONAL PROGRAMMABLE CELL STRUCTURES (EPGAs, DPGAs OR THE LIKE) | |
EP0960374A2 (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 | |
DE19654595A1 (en) | I0 and memory bus system for DFPs as well as building blocks with two- or multi-dimensional programmable cell structures | |
EP1329816B1 (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) | |
EP2165474B1 (en) | Fast ring redundancy of a network | |
EP2043000B1 (en) | Bus systems and reconfiguration method | |
DE102013209610B4 (en) | Arbiter for asynchronous state machines | |
DE10240000A1 (en) | Router for use in networked data processing has a configuration method for use with reconfigurable multi-dimensional fields that includes specifications for handling back-couplings | |
EP1750204B1 (en) | Method for operating multiple serial bus participants | |
DE202015004439U1 (en) | Monitoring device and network participants | |
EP1161816B1 (en) | Multiplexer bus comprising local bus nodes | |
DE10047574C2 (en) | Processor bus arrangement | |
DE102020116872A1 (en) | Method for programming a programmable gate array in a distributed computer system | |
DE602004013458T2 (en) | Reconfigurable multiprocessor system especially for the digital processing of radar images | |
DE4139314C1 (en) | Coupling circuit for transputer forming data processing network - uses complementary logic circuits coupled to data interfaces for generating service signals and decodes augmented acknowledge signal at receiver | |
DE112011104443T5 (en) | Connect an external network co-processor to a network processor packet parser | |
EP1348257B1 (en) | Device with segmented cell structure | |
DE3708887C2 (en) | ||
EP1314272B1 (en) | Base element for a multiplexer structure and corresponding multiplexer structure | |
DE68915400T2 (en) | Central data processing unit with multiple processors and multiple memories for a data processing system. | |
DE10226186A1 (en) | Data processing unit has logic cell clock specifying arrangement that is designed to specify a first clock for at least a first cell and a further clock for at least a further cell depending on the state | |
DE4447706B4 (en) | Data flow processor - uses charging logic for individual and group-wise programming of mutually orthogonal homogeneously structured cells in integrated circuit chip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8143 | Lapsed due to claiming internal priority |