[go: up one dir, main page]

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 PDF

Info

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
Application number
DE10240000A
Other languages
German (de)
Inventor
Volker Baumgarte
Martin Vorbach
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PACT XPP Technologies AG
Original Assignee
PACT XPP Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PACT XPP Technologies AG filed Critical PACT XPP Technologies AG
Priority to DE10240000A priority Critical patent/DE10240000A1/en
Priority to EP02777144A priority patent/EP1466264B1/en
Priority to US10/490,079 priority patent/US7434191B2/en
Priority to PCT/EP2002/010479 priority patent/WO2003025781A2/en
Priority to AU2002338729A priority patent/AU2002338729A1/en
Priority to EP02791644A priority patent/EP1472616B8/en
Priority to AU2002357982A priority patent/AU2002357982A1/en
Priority to JP2003538928A priority patent/JP4456864B2/en
Priority to PCT/EP2002/010572 priority patent/WO2003036507A2/en
Priority to AT02791644T priority patent/ATE533111T1/en
Priority to US10/490,081 priority patent/US8429385B2/en
Priority to EP03709624A priority patent/EP1514193B1/en
Priority to DE10390689T priority patent/DE10390689D2/en
Priority to DE50310198T priority patent/DE50310198D1/en
Priority to US10/504,684 priority patent/US8127061B2/en
Priority to AU2003214003A priority patent/AU2003214003A1/en
Priority to PCT/DE2003/000489 priority patent/WO2003071432A2/en
Priority to AT08009003T priority patent/ATE538439T1/en
Priority to AT03709624T priority patent/ATE402446T1/en
Priority to EP08009003A priority patent/EP2043000B1/en
Priority to EP03720231A priority patent/EP1518186A2/en
Priority to PCT/DE2003/000942 priority patent/WO2003081454A2/en
Priority to AU2003223892A priority patent/AU2003223892A1/en
Priority to US10/508,559 priority patent/US20060075211A1/en
Priority to US10/523,763 priority patent/US7657861B2/en
Priority to AU2003286131A priority patent/AU2003286131A1/en
Priority to EP03776856.1A priority patent/EP1537501B1/en
Priority to PCT/EP2003/008081 priority patent/WO2004021176A2/en
Priority to JP2005506110A priority patent/JP2005535055A/en
Priority to US10/523,764 priority patent/US8156284B2/en
Priority to PCT/EP2003/008080 priority patent/WO2004015568A2/en
Priority to AU2003260323A priority patent/AU2003260323A1/en
Priority to EP03784053A priority patent/EP1535190B1/en
Publication of DE10240000A1 publication Critical patent/DE10240000A1/en
Priority to US12/247,076 priority patent/US8209653B2/en
Priority to US12/571,173 priority patent/US8686549B2/en
Priority to US12/621,860 priority patent/US8281265B2/en
Priority to JP2009271120A priority patent/JP2010079923A/en
Priority to US12/729,090 priority patent/US20100174868A1/en
Priority to US12/729,932 priority patent/US20110161977A1/en
Priority to US12/947,167 priority patent/US20110238948A1/en
Priority to US13/023,796 priority patent/US8686475B2/en
Priority to US13/324,048 priority patent/US20120151113A1/en
Priority to US14/162,704 priority patent/US20140143509A1/en
Priority to US14/263,185 priority patent/US8890215B2/en
Priority to US14/540,782 priority patent/US20150074352A1/en
Priority to US14/543,306 priority patent/US9092595B2/en
Priority to US14/810,905 priority patent/US9240220B2/en
Priority to US15/000,763 priority patent/US10885996B2/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Details 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/0001Details of the control system
    • B60W2050/0043Signal treatments, identification of variables or parameters, parameter estimation or state estimation
    • B60W2050/0044In digital systems
    • B60W2050/0045In digital systems using databus protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus 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

Configuration method for multidimensional fields of reconfigurable networked data processing cells, whereby the necessary connections between cells are prioritized, then first connections that have a high priority are provided and subsequently remaining connections are provided. An Independent claim is made for a method for configuration or reconfiguration of a multidimensional field and or cell for data processing, in which the data is processed in cells and processing results are transmitted downstream for further processing. At least one set of data from a cell is transmitted upstream, with the cell position chosen so that the back coupling time of this connection is no greater that that of any other connection in the configuration.

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, DE 197 81 412.3 , DE 197 81 483.2 , DE 196 54 846.2-53 , DE 196 54 593.5-53 , DE 197 04 044.6-53 , DE 198 80 129.7 , DE 198 61 088.2-53 , DE 199 80 312.9 , PCT/DE 00/01869, DE 100 36 627.9-33 , DE 100 28 397.7 , DE 101 10 530.4 , DE 101 11 014.6 , PCT/EP 00/10516, EP 01 102 674.7 , PACT19, PACT20, PACT21, PACT27, PACT28, PACT15. Diese sind hiermit zu Offenbarungszwecken vollumfänglich eingegliedert.The category of these modules includes systolic arrays, neural networks, multiprocessor systems, processors with several arithmetic units and / or logical cells, networking and network modules such as crossbar switches, as well as known modules of the category FPGA, DPGA, XPUTER, etc. in particular in this context, the following property rights of the same applicant: P 44 16 881.0-53, DE 197 81 412.3 . DE 197 81 483.2 . DE 196 54 846.2-53 . DE 196 54 593.5-53 . DE 197 04 044.6-53 . DE 198 80 129.7 . DE 198 61 088.2-53 . DE 199 80 312.9 , PCT / DE 00/01869, DE 100 36 627.9-33 . DE 100 28 397.7 . DE 101 10 530.4 . DE 101 11 014.6 , PCT / EP 00/10516, EP 01 102 674.7 , PACT19, PACT20, PACT21, PACT27, PACT28, PACT15. These are hereby fully incorporated for disclosure purposes.

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.

1 zeigt die zwei PAEs (0101, 0102), mit ihren dazugehörenden IDs, sowie einen Bus (0103) mit ID. Über die Komparatoren (0104, 0105) wird jede PAE/Bus-Verbindung geprüft. Die Figur soll nur das Grundprinzip verdeutlichen. Sofern alle Ressourcen (Ein-/Ausgänge der PAEs, Busse) berücksichtigt werden, steigt die Komplexität und der damit verbundene Hardwareaufwand erheblich an. 1 shows the two PAEs (0101, 0102), with their associated IDs, and a bus (0103) with ID. Each PAE / bus connection is checked via the comparators (0104, 0105). The figure is only intended to illustrate the basic principle. If all resources (inputs / outputs of the PAEs, buses) are taken into account, the complexity and the associated hardware expenditure increase considerably.

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 2 zeigt ein Bus-Segment, das von Konfiguration A und B benötigt wird. Es ist von Konfiguration A belegt. Konfiguration B kann unabhängig davon die beiden benachbarten Busstücke bereits belegen. Durch die doppelten Switches wird ausgeschlossen, dass Daten von Konfiguration B den Datenfluß von Konfiguration A stören. Ebenso laufen keine Daten von Konfiguration A nach B. Hierbei muß Konfiguration B wie bisher auch darauf vertrauen, dass Konfiguration A korrekt implementiert wurde und der Switch am Ausgang geöffnet ist.Illustration 2 shows a bus segment that is required by configuration A and B. It is occupied by configuration A. Regardless of this, configuration B can already occupy the two neighboring bus sections. The double switches prevent data from configuration B from interfering with the data flow from configuration A. Likewise, no data runs from configuration A to B. Here, configuration B, as before, must also trust that configuration A has been implemented correctly and the switch at the output is open.

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 3 zeigt einen PAE-Eingang (0301), der an die unteren beiden der drei abgebildeten Busse angeschlossen werden soll. Die vertikalen Schalter entsprechen einem einfachen Verbindungsschalter zum Aufschalten auf den Bus die durch die PAE verwaltet werden (0302), die horizontalen Schalter (0303) werden zusätzlich über den Bus konfiguriert um eine korrekte Aufschaltung sicherzustellen.Illustration 3 shows a PAE input (0301) to be connected to the bottom two of the three buses shown. The vertical switches correspond to a simple connection switch for connection to the bus that is managed by the PAE (0302), the horizontal switches (0303) are additionally configured via the bus to ensure correct connection.

In Abbildung 3a ist der mittlere Bus noch von einer anderen Konfiguration belegt. Dennoch kann das Objekt mit dem PAE-Eingang vollständig konfiguriert werden. Daten vom mittleren Bus können nicht unbeabsichtigt in das Objekt laufen, da dies durch die Konfiguration des Busses (Schalter 0303) verhindert wird.In figure 3a the middle bus is still occupied by another configuration. Nevertheless, the object can be fully configured with the PAE input. Data from the middle bus cannot run into the object unintentionally as this is prevented by the configuration of the bus (switch 0303).

In Abbildung 3b hat die alte Konfiguration terminiert und wurde durch die neue Konfiguration ersetzt. Jetzt sind beide Busse verfügbar. Zur Bestimmung, welche Busse tatsächlich aufgeschaltet werden, dienen nur die vertikalen Schalter (0302) .In figure 3b has terminated the old configuration and has been replaced by the new configuration. Both buses are now available. Only the vertical switches (0302) are used to determine which buses are actually switched on.

In Abbildung 3c wird schließlich der obere Bus von einer dritten Konfiguration belegt, die ebenfalls den gezeigten PAE-Eingang verwenden möchte. Der Bus wird deshalb bereits so konfiguriert, dass an dieser Stelle Daten entnommen werden können. Dies hat allerdings keinerlei Auswirkungen auf das Objekt, da die PAE Konfiguration an dieser Stelle keine Verbindung vorsieht. Die Verbindung wird also erst hergestellt, wenn die Konfiguration des PAE-Eingangs wechselt.In figure 3c the upper bus is finally occupied by a third configuration, which also wants to use the PAE input shown. The bus is therefore already configured so that data can be extracted at this point. However, this has no effect on the object, since the PAE configuration does not provide a connection here. The connection is only established when the configuration of the PAE input changes.

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 4 zeigt einen PAE-Ausgang, der an die unteren beiden der drei abgebildeten Busse angeschlossen werden soll. Das Objekt wird unabhängig von der Verfügbarkeit der Busse konfiguriert, die jeweils linken Schalter der Abbildung entsprechen der Connection-Mask.This is the only connection where it makes sense to use two separate switches. In the other two cases, the functionality can also be implemented with a switch that is controlled by two config bits. Illustration 4 shows a PAE output to be connected to the bottom two of the three buses shown. The object is configured regardless of the availability of the buses; the switches on the left correspond to the connection mask.

In Abbildung 4a ist der mittlere Bus (0401) noch von einer anderen Konfiguration belegt. Vom Output-Register kann jetzt ein Datenpaket in den Connect geschickt werden. Dieses wird in den angeschlossenen RdyHold (vgl. PACT18) Stufen gespeichert. Das Paket kann durch den geöffneten Schalter des mittleren Busses nicht übertragen uns somit auch nicht geACKt werden. Das Objekt kann also keine weiteren Datenpakete übertragen.In figure 4a the middle bus (0401) is still occupied by another configuration. A data packet can now be sent to the Connect from the output register. This is saved in the connected RdyHold (see PACT18) stages. The package cannot be transmitted through the opened switch of the middle bus and therefore cannot be JACKED. The object can therefore not transmit any further data packets.

In Abbildung 4b wurde der mittlere Bus jetzt umkonfiguriert, so dass auch hier Daten übertragen werden können. Ein evtl. bereits gespeichertes Paket liegt jetzt auf dem Bus, ansonsten funktioniert alles wie früher.In figure 4b the middle bus has now been reconfigured so that data can also be transmitted here. A possibly already saved package is now on the bus, otherwise everything works as before.

In Abbildung 4c wird der obere Bus (0402) von einer dritten Konfiguration angefordert. Auch hier verhält sich alles wie früher.In figure 4c the upper bus (0402) is requested by a third configuration. Here, too, everything behaves as before.

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 ( 5a) oder ein Fork durch fehlende Daten oder Trigger blockiert wird (5b).Problems now arise if, for example, the signal in a branch is propagated only in the active branch ( 5a ) or a fork is blocked by missing data or triggers ( 5b ).

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 5a-c, kann ReconfigEcho auch an den Eingängen auftreten. Dies kann je nach Ausgestaltung zur Passivschaltung des Eingangs bei dem das Signal eintraf führen oder in einer bevorzugten Ausführung die Passivschaltung aller Eingäng der PAE auslösen.In some cases, such as in the 5a-c , ReconfigEcho can also occur at the inputs. Depending on the configuration, this can lead to passive switching of the input at which the signal arrived or, in a preferred embodiment trigger the passive switching of all inputs of the PAE.

5.2 Trigger mit Reconfig-Semantik5.2 Trigger with reconfig semantics

In einigen Fällen (z.B. 5b) ist eine implizite Propagierung von Rekonfig-Signalen (i.b. SyncReconfig, ReconfigEcho) nicht möglich.In some cases (e.g. 5b ) implicit propagation of reconfig signals (ib SyncReconfig, ReconfigEcho) is not possible.

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.

5 zeigt beispielhaft PAEs (0501) mit unterschiedlich konfigurierten Vernetzungen. Die folgenden Übertragungen sind definiert: Daten- und/oder Triggerbusse (0502), SyncReconfig (0503), ReconfigEcho (0504). Weiterhin ist ReconfigBlock (0505) dargestellt. 0506 zeigt an, dass SyncReconfig nicht weitergeleitet wird. 5 shows an example of PAEs (0501) with differently configured networks. The following transfers are defined: data and / or trigger buses (0502), SyncReconfig (0503), ReconfigEcho (0504). ReconfigBlock (0505) is also shown. 0506 indicates that SyncReconfig is not forwarded.

In 5a ist eine Verzeigung abgebildet, wie sie beispielsweise durch ein IF-THEN-ELSE Konstrukt in einem Programm entstehen kann. Nach einer PAE werden die Daten in zwei Pfade verzweigt (0510, 0511) von denen immer nur einer aktiv ist. In dem dargestellten Fall wird ein letztes Datenpaket zusammen mit SyncReconfig übertragen, der Zweig 0510 ist nicht aktiv und leitet daher weder die Daten noch SyncReconfig weiter. Der Zweig 0511 ist aktiv und leitet die Daten und SyncReconfig weiter. Das übertragende Bussystem kann bevorzugt nach der Übertragung bereits inaktiv geschaltet werden und kann lediglich das ReconfigEcho zurückübertragen. Die PAE 0501b erhält das SyncReconfig und sendet es an die PAE 0501c weiter, sie sendet an 0501a das ReconfigEcho zurück, woraufhin 0501a und das Bussystem zwischen 0501a und 0501b rekonfiguriert wird. Die Übertragung zwischen 0501b und 0501c verläuft entsprechend.In 5a a map is shown, such as can be created in a program by an IF-THEN-ELSE construct. After a PAE, the data is branched into two paths (0510, 0511), of which only one is ever active. In the case shown, a last data packet is transmitted together with SyncReconfig, branch 0510 is not active and therefore does not forward the data or SyncReconfig. Branch 0511 is active and forwards the data and SyncReconfig. The transmitting bus system can preferably be switched to inactive after the transmission and can only transmit the ReconfigEcho back. The PAE 0501b receives the SyncReconfig and sends it on to the PAE 0501c, it sends the ReconfigEcho back to 0501a, whereupon 0501a and the bus system between 0501a and 0501b are reconfigured. The transmission between 0501b and 0501c proceeds accordingly.

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 5 einen lokalen Character zu geben wurden die Ein-/Ausgänge der Darstellungen mit einem ReconfigBlock versehen, wodurch die Weiterleitung von SyncReconfig und ReconfigEcho unterbunden wird.To follow the examples in 5 To give a local character, the inputs / outputs of the representations were provided with a ReconfigBlock, which prevents the forwarding of SyncReconfig and ReconfigEcho.

5b verhält sich weitgehend identisch mit 5a, weshalb auch dieselben Referenzen verwendet werden. Der rechte Pfad ist ebenfalls wieder aktiv, der Linke inaktiv. Wesentlicher Unterschied ist, dass anstatt einer Zusammenführung der Pfade bei 0501d die Pfade nunmehr offen bleiben und beispielsweise direkt an ein peripheres Interface führen. In derartigen Fällen ist es erforderlich zwischen den PAEs (0501i und 0501j) eine explizite Verdrahtung von ReconfigEcho über Triggerleitungen vorzusehen (0507). 5b behaves largely identical to 5a , which is why the same references are used. The right path is also active again, the left path is inactive. The main difference is that instead of merging the paths at 0501d, the paths now remain open and lead directly to a peripheral interface, for example. In such cases it is necessary to provide explicit wiring of ReconfigEcho via trigger lines between the PAEs (0501i and 0501j) (0507).

In 5c ist die beispielhafte Ausführung einer Schleife dargestellt. Die Schleife läuft über die PAEs 0501m..0501r. Die Übertragungen zwischen den PAEs 0501m..0501r sind entsprechend der vorhergehenden Ausführungen, insbesondere zu den Übertragungen zwischen 0501b und OSOlc offensichtlich, da äquivalent.In 5c the exemplary execution of a loop is shown. The loop runs over the PAEs 0501m..0501r. The transmissions between the PAEs 0501m..0501r are obvious in accordance with the previous explanations, in particular to the transmissions between 0501b and OSOlc, since they are equivalent.

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)

Verfahren zum Ansteuern von Bussystemen dadurch gekennzeichnet, dass eine Aufschaltung auf einen Bus durch die Genehmigung der Verbindung durch Sender und Empfänger erfolgt.Method for controlling bus systems, that an intrusion on a bus through the approval of the connection through Sender and receiver he follows. Verfahren zur Rekonfigurationssteuerung von rekonfigurierbaren Elementen, dadurch gekennzeichnet dass Signale mit den Daten und/oder Trigger übertragen werden die die Rekonfiguration der rekonfigurierbaren Element und/oder Busse steuert.Process for the reconfiguration control of reconfigurable Elements, characterized in that signals with the data and / or Transfer trigger be the reconfiguration of the reconfigurable element and / or Busses controls.
DE10240000A 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 Withdrawn DE10240000A1 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3855673T2 (en) * 1987-08-28 1997-05-07 Ibm System part reconfiguration triggered by peripheral devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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