WO2011082903A1 - Configurable communications devices, communications system and method for communication - Google Patents

Configurable communications devices, communications system and method for communication Download PDF

Info

Publication number
WO2011082903A1
WO2011082903A1 PCT/EP2010/068718 EP2010068718W WO2011082903A1 WO 2011082903 A1 WO2011082903 A1 WO 2011082903A1 EP 2010068718 W EP2010068718 W EP 2010068718W WO 2011082903 A1 WO2011082903 A1 WO 2011082903A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication
configurable
communication device
function modules
interface
Prior art date
Application number
PCT/EP2010/068718
Other languages
German (de)
French (fr)
Inventor
Timo Lothspeich
Christian Kerstan
Andreas-Juergen Rohatschek
Heinz Tilsner
Bernd Lutz
Ingo Feldner
Tobias Kirchner
Clemens Schroff
Stoyan Todorov
Original Assignee
Robert Bosch Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch Gmbh filed Critical Robert Bosch Gmbh
Publication of WO2011082903A1 publication Critical patent/WO2011082903A1/en

Links

Classifications

    • 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/42Loop networks
    • H04L12/437Ring fault isolation or reconfiguration
    • 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/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]

Definitions

  • the present invention relates to a configurable communication device, in particular in the form of a communication module, with a number of communication ports for connecting communicating elements, as well as an associated communication method using the configurable communication device.
  • pipeline also known as an instruction pipeline or processor pipeline
  • instruction pipeline refers, in particular in the case of microprocessors, to a method for instruction processing by which machine instructions or algorithms decomposed into sub-tasks are processed.
  • instruction pipeline also known as an instruction pipeline or processor pipeline
  • processor pipeline refers, in particular in the case of microprocessors, to a method for instruction processing by which machine instructions or algorithms decomposed into sub-tasks are processed.
  • only one subtask is executed instead of one complete command during one clock cycle.
  • the individual subtasks of several commands are executed simultaneously.
  • Pipelines are considered by experts to be too rigid and inflexible for certain tasks. As a rule, the order of the work to be performed can not be changed in the context of pipeline procedures. Although it may be possible to disable individual stations in a pipeline, it is not possible, for example, to go through certain stages multiple times.
  • on-chip communication involves the use of direct connections between individual components of a system or the use of bus solutions.
  • on-chip or off-chip communication methods make sense.
  • bus solutions that would provide a much more flexible means of communication are greatly limited in bandwidth and in the number of bus subscribers, since additional bus subscribers require stronger (more efficient) bus drivers and the number of connections to the so-called arbiter also increases. This has an increased effort in the routing of the individual connections result.
  • Networks provide a flexible solution for the realization of communication tasks, since they can react dynamically to load distributions and thus make optimum use of the existing communication channels.
  • the hardware complexity in the realization of networks is very high, since individual Nodes must specify new communication paths either via fixed routing tables or dynamically. In networks, the latency that increases with each node between sender and receiver is also detrimental.
  • crossbars For the realization of communication tasks also fixed connections through so-called crossbars are known. Each component is connected to each other. However, the cost of such a connection increases exponentially with the number of communication participants. Therefore, crossbars are rarely used in practice.
  • a configurable communication device in particular a communication module, with a number of communication connections for connecting communicating elements, a corresponding communication system, and a method for communication with the features of the independent claims are proposed.
  • Advantageous embodiments are the subject of the dependent claims and the following description.
  • the solution according to the invention comprises, by means of a communication device according to a configuration, at least one direct communication tion connection between at least two communication terminals to which communicating elements are connected to form.
  • the solution according to the invention establishes channels through which direct communication, as known from the pipeline method, is made possible. In this way, multiple components can communicate with each other simultaneously without affecting each other.
  • the invention therefore exploits the known efficiency advantages of the pipelining method, without having to accept their disadvantages.
  • individual stations or steps of a pipeline can be deactivated, but be repeated several times. This can be realized, for example, in the form of cyclic communication links.
  • system components communicate with one another according to a specific, mandatory data flow predetermined by the application. For example, a sensor must first be read out before its data can be processed and then further processed. Only then can a corresponding action be initiated. Therefore, there is no reason why a processing component should be able to directly access a sensor or its unprocessed data.
  • a configurable communication device which is realized for example by a field of configurable elements, a communication can be adapted to the respective needs.
  • consideration can be given to a communication sequence, as explained above, and the communication means can be adapted to this communication sequence. A superfluous additional effort, for example in the provision of powerful drivers or communication paths, can thus be avoided.
  • a configuration of the communication device (for example, a field of configurable elements) can be taken over and monitored by a higher-level unit.
  • a higher-level unit can be provided with particular advantage to provide means that autonomously (autonomously) register a need for a connection.
  • These resources can also be part of the communicating elements. Connections that are established either by a configuration by the higher-level unit or by a request of the components themselves advantageously remain at least until the next configuration (i.e.
  • Configuration cycle can also be designed permanently although a physical path may change. If appropriate, can also be provided to establish short-term communication paths over which, for example, only a specific message is exchanged, and then turned off.
  • a configurable communication device does not preclude the use of further (additional) communication means, such as buses or crossbars.
  • additional communication means such as buses or crossbars.
  • crossbars can be used for communication paths that are known to never change as part of the application.
  • a bus connection can also be used for external communication for compatibility reasons.
  • Figure 1 shows an example of data flow processing using fixed communication paths according to the prior art.
  • FIG. 2 shows an example of a data flow processing according to a particularly preferred embodiment of the invention.
  • FIG. 3 shows an example of a processing of a data flow according to a further preferred embodiment of the invention.
  • FIG. 4 shows a configuration of configurable elements according to a particularly preferred embodiment of the invention as well as a device of communication links according to a particularly preferred embodiment of the invention.
  • FIG. 5 shows a configurable communication device with function modules and communication means according to a further preferred embodiment of the invention.
  • FIG. 6 shows the mode of operation of a configurable communication device with function modules and communication means according to a further preferred embodiment of the invention.
  • FIG. 7 shows the mode of operation of a configurable communication device with function modules and communication means according to a further preferred embodiment of the invention.
  • FIG. 8 shows the mode of operation of a configurable communication device with function modules and communication means according to a further preferred embodiment of the invention.
  • FIG. 1, indicated as a whole by 100 shows schematically the processing of a signal from a camera as an example of a data flow-oriented application which is implemented at least partially in hardware, for example by pipelines (hereinafter referred to as generalization "hardware realization").
  • the camera signal is composed of the three color channels red (R), yellow (G) and blue (B).
  • red color channel (R) is explained in each case, but the processing of the other two channels takes place in principle in the same way.
  • the present invention is not limited to the processing of electronic video or camera signals, but in principle in all data flow-oriented applications, such as processing of audio data, sensor data (eg radar), etc., applicable.
  • the hardware implementation 100 has a first buffer 1, for example a 4-line buffer, which has at least interfaces 1.1 and 1.2. Via the interface 1.2, the buffer 1 is connected, for example, to a 3 * 3 filter 2 at its interface 2.1. Between interface 1.2 and interface 2.1 a connection 9.1, for example in the form of a wiring or a wiring is provided.
  • a connection 9.1 for example in the form of a wiring or a wiring is provided.
  • Filter 2 has another interface 2.2. Via the interface 2.2, the filter 2 is connected to a further buffer 3, in particular a further 4-line buffer 3, via its interface 3.1. Between the interface 2.2 and the interface 3.1, a further connection 9.2 is formed, which may be formed in accordance with the previously described connection 9.1.
  • the buffer 3 is connected via connection 9.3 to an interface 4.1 of a further 3 ⁇ 3 filter 4.
  • the signal is provided (outputted) to an interface 4.2.
  • a connection is provided between the interfaces 3.2 and 4.1.
  • the filters 2 and 4 of FIG. 1 may, for example, be realized in hardware and be configured by a corresponding matrix.
  • the application, as implemented by the arrangement of Figure 1, for example, requires the use of up to two filters in a row.
  • FIG. 2 shows a hardware realization corresponding to FIG. 1, for example signal processing, according to a particularly preferred embodiment
  • Embodiment of the invention in a schematic view.
  • the components 1, 2, 3, 4, which, as in FIG. 1, designate a buffer 1, a further buffer 3, a first filter 2 and a further filter 4, are arranged around a configurable communication device 5, for example as a configurable communication field can be realized.
  • the configurable communication device 5 for example as a configurable communication field can be realized.
  • Communication device 5 has interfaces 5.1 to 5.8, with which it communicates with the elements 1 to 4 and, as explained below, establishes a connection between the elements 1 to 4.
  • the configurable configuration device 5 may have a configuration device 6, which is used to configure the configurable communication device 5.
  • Other interfaces designated here by way of example with 5.9, can be provided.
  • the signal processing as shown in FIG. 1 can be implemented by the configurable communication device of FIG. 2 as follows.
  • a signal is provided, for example via the interface 5.9. Via the interface 5.5, this signal reaches the interface 1.1 (analogous to FIG. 1) of a 4-line buffer 1. The signal can be called up from the buffer via the interface 1.2 of this buffer 1 and the interface 5.6 of the configurable communication device. The signal is provided to the interface 5.1 via the interface 2.1 to a filter 2. Starting from filter 2, there is a connection via the interface 2.2 and the interface 5.2. In an analogous manner, but not explained again for the sake of clarity, the signal now arrives at buffer 3 and the further filter 4.
  • the signal After passing through elements 1 to 4, with individual elements, if If necessary, it can also be passed through several times or other elements can be bypassed, the signal is provided (output), for example to the interface 5.9.
  • the solution implemented in FIG. 2 includes the formation of communication paths or connections between the interfaces 5.9 and 5.5, the interfaces 5.6 and 5.1, the interfaces 5.2 and 5.7, the interfaces 5.8 and 5.3 and the interfaces 5.4 and 5.9 of the communication device 5.
  • the Training this shown with dashed arrows communication connections takes place in accordance with a configuration by a configuration device 6.
  • the establishment of the communication links can also be made to a request by the elements 1 to 4 out.
  • the respective connections between the elements 1 to 4 with the communication device 5 may be provided in accordance with the previously described connection 9.1 -9.3, but may also be implemented in any other way.
  • a signal passes via interface 5.5 to interface 1.1 of buffer 1.
  • the signal passes via interface 1.2 to interface 5.6 of the configurable communication device.
  • a communication connection is defined, whereby the signal is provided at the interface 2.1 of the filter 2.
  • the signal passes via the interface 2.2 of the filter 2 to the interface 5.1 1 of the configurable communication device 5.
  • the signal is provided via the interface 5.7 of the configurable communication device 5 to the interface 3.1 of the buffer 3.
  • the signal leaves the buffer 3 via the interface 3.2 and reached via the interface 5.8 and provided between interface 5.8 and interface 5.10 communication link to the interface 2.1 of the filter 2.
  • the filter 2 is thus run through again. After leaving the filter 2 via interface 2.2 and after passing through interface 5.1 1, the signal is provided to interface 5.9.
  • the device of the fixed communication connections can also be done in the context of Figure 3 by a communication device 6, but this is not shown for clarity.
  • FIG. 4A the configuration of configurable elements 8, as they can be used as part of a configurable communication device 5, is shown schematically.
  • the left and the right part of Figure 4A show the identical configuration element 8, which is however shown in different borrowed switching states.
  • the configuration element 8 has an input 8.1 and two outputs 8.2 and 8.3, which can be selectively connected to the input 8.1 via a connection 7.
  • the configuration elements in addition to the binary switching state, as shown in Figure 4A can also have other switching states, for example, several inputs and / or outputs can be provided.
  • FIG. 4B shows a schematic, partial detail view of FIG. 2 or 3, wherein the arrangement of the communication elements 8 is illustrated. It is shown how in each case between the interfaces 5.1 and 5.7 via the connections 7, a direct communication connection between the interface 2.1 of the filter 2 of the interface 3.1 of the buffer 3, and the interfaces 2.2 of the filter 2 and the interface 3.2 of the buffer 3 is made.
  • four configurable elements 8 are shown in FIG. 4B, any other number of configurable elements 8 is of course conceivable. In particular, it may also be provided to provide configurable elements of a configurable logic circuit, for example one
  • a configurable communication device 50 can be function modules AC, which are arranged in blocks 10.1-10.3, and communication means 1.1.1, 1.2 for communication at least between the function modules AC and / or the blocks 10.1 - 10.3 and at least one system monitoring unit 12, wherein according to the at least one system monitoring unit 12 based on provided by the communication means 1 1.1, 1 1.2 and / or the function modules AC system information a shift and / or an exchange of functional modules AC is vor spiritbar.
  • the communication device 50 may further include, for example, a memory device 13, an input-output unit 14, which may be connected to an input 8.1-8.1 1, as explained above, a bridge 15 and / or a processor 16, in particular a software processor 16 , exhibit.
  • the individual elements can be connected via communication connections 17.1 -17.10 with the communication means 1 1.1, 1 1.2.
  • Field programmable gate arrays enable a flexible implementation of circuits on a chip and can therefore also be advantageously used in the context of a communication device 50.
  • the configuration of an FPGA is conventionally carried out via corresponding configuration files.
  • the configuration is mostly static, ie once before commissioning of a corresponding building block.
  • the well-known, so-called dynamic reconfiguration of FPGA at runtime is only possible to a limited extent.
  • Known FPGA architectures are therefore inflexible. Even with dynamic reconfiguration, there are usually fixed positions between which function modules AC can be exchanged.
  • a targeted dynamic displacement and / or replacement of individual functional modules A-C is provided.
  • communication paths via communication means 1 1.1, 1 1.2 can be shortened and / or simplified.
  • the function modules A-C can each be optimized for different parameters, such as energy efficiency, performance, accuracy and area.
  • the parameters are conventionally weighted and a corresponding solution chosen from the set of Pareto optimals.
  • modules A-C for different parameters, depending on the rotational speed. At low speeds, less efficient, but more energy-efficient function modules A-C can be used. At higher speeds, these function modules A-C are replaced by speed-optimized function modules A-C.
  • Such a multiple implementation can modern methods of
  • FPGA synthesis (such as high-level synthesis) with representational rem effort can be realized. If these respectively optimized instances of the function modules AC are available at runtime, different versions can be used as required in order to optimize the system behavior in accordance with the situation. For example, function, communication and / or utilization of the function modules AC and / or the blocks 10.1 - 10.3 can be monitored at runtime by the system monitoring device 12, the information from, for example, the communication means 1 1.1, 11.2, the function modules AC, the memory device 13, the Input-output unit 14, the bridge 15 and / or the processor 16 receives.
  • function modules A-C between which there is a high level of communication in certain situations, can be moved closer to each other and, depending on the capacity utilization, either more performant or energy-saving implementations can be used. It is also possible, depending on the current system requirements, to execute individual functions in software on an optional (software) processor 10 or, if necessary, to outsource them to external hardware components (not shown).
  • the system monitoring unit 12 itself advantageously analyzes as a passive bus element the communication via the communication means 1 1.1, 1 1.2 provided as a bus and can thus determine corresponding requirements or needs without influencing or even restricting the system behavior.
  • the utilization of the individual functional modules A-C can also be determined implicitly via the communication or a communication volume via the communication means 1 1.1, 1.2.
  • direct information of the function modules A-C is also conceivable, which provide corresponding information to the system monitoring unit 12 (similar to a diagnostic interface).
  • the provision of the information to the system monitoring unit 12 can take place via the existing communication means 11.1, 1.2 and / or via the further communication channels 17.1 -17.6.
  • a priori information about the respective implementations (deadlines, area, performance, etc.) of the function modules AC are known to the system monitoring unit 12 and / or, for example as meta-information, in addition to the function modules AC at runtime. made available.
  • the system can continue to operate without interruption by virtue of a redundant introduction of the functional modules AC to be relocated and / or exchanged, or of the corresponding implementations of the functional modules AC.
  • A-C for the new instance or implementation can be done during operation.
  • a network-on-chip architecture or the above-described approach of the configurable communication device may prove advantageous, since they allow a corresponding dynamic communication, allow simple clustering and support natively the switching between the instances by changes in the routing, if necessary.
  • FIGS. 6 to 8 the mode of operation of the communication device 50, as explained in detail in FIG. 5, is illustrated by an exemplary embodiment.
  • the system monitoring unit 12 is not shown for the sake of clarity, but nevertheless preparable.
  • the respective hatching of the function modules indicates a utilization or utilization, whereby one white function module AC is low, one black function module AC is heavily utilized, and the other hatchings, according to their brightness, indicate intermediate states.
  • the area size of the symbols of the function modules AC symbolizes a real size, for example a chip area or a processor occupancy or utilization these modules, with function modules shown in greater detail, for example, more powerful (performant), but more resource-intensive.
  • FIG. 6A shows a communication device 50 in operation, with function module A occupying block 10.3 and function module C block 10.1. Block 10.2 is unoccupied, function module B is implemented in a processor 16. In Figure 6A function module C in block 1 is too busy. It is therefore expedient to instantiate a more performant implementation.
  • the function module C is instantiated in parallel during a transitional time, as shown in FIG. 6B.
  • a first implementation of the function module C (heavily loaded) runs in block 10.1.
  • Another (more efficient and thus less heavily utilized) implementation of the function module C is instantiated in block 10.2 at the same time.
  • FIG. 7A shows a communication device 50 in which a high level of communication between a function module A implemented in block 10.3 and a function module C implemented in block 10.2 is detected, as a result of which communication means 1.1.1 and 1.2 and optionally bridge 15 are heavily utilized. Therefore, function module A should be moved closer to function module C, to which the (unoccupied) block 10.1 offers.
  • the function module A is instantiated in parallel during a transitional time, as shown in FIG. 7B.
  • a first implementation of the function module A runs in block 10.3.
  • Another (preferably functionally identical) implementation of the function module A is simultaneously instantiated in block 10.1.
  • the first, previously further removed instance of the function module A is removed from block 10.3, as shown in FIG. 7C.
  • FIG. 8A shows a communication device 50 in which a low utilization of a functional module A implemented in block 10. 1 is found, which is why it would be advantageous to outsource this functional module A to the processor 16 and execute it next to the functional module B, for example in the form of a software implementation.
  • the function module A is instantiated in parallel during a transitional time, as shown in FIG. 8B.
  • a first implementation of the function module A still runs in block 10.1.
  • Another, for example, resource-saving but less powerful, software implementation of the function module A is at the same processor 16 realized.
  • the first instance of the function module A implemented in block 10.1 is also switched off here, as shown in FIG. 8C.

Abstract

The present invention relates to a configurable communications device (5) having a plurality of communication connections (5.1 to 5.8) for connection of communicating elements (1 to 4), in which by means of the communications device (5) according to one configuration at least one direct communication connection (7) can be formed between at least two communication connections (5.1 to 5.8). The invention further relates to a communications device (50) which comprises function modules (A-C) and communications means (11.1, 11.2) for communication at least among the function modules (A-C) as well as at least one system-monitoring unit (12); in said communications device, according to the at least one system-monitoring unit (12) a shift and/or an exchange of function modules (A-C) can be implemented on the basis of system information provided by the communications means (11.1, 11.2) and/or by the function modules (A-C). The invention also relates to a communications method.

Description

KONFIGURIERBARE KOMMUNIKATIONSEINRICHTUNGEN, KOMMUNIKATIONSSYSTEM UND VERFAHREN ZUR KOMMUNIKATION  CONFIGURABLE COMMUNICATION DEVICES, COMMUNICATION SYSTEM AND METHOD OF COMMUNICATION
Die vorliegende Erfindung betrifft eine konfigurierbare Kommunikationseinrichtung, insbesondere in Form eines Kommunikationsbausteins, mit einer Anzahl von Kommunikationsanschlüssen zum Anschluss kommunizierender Elemente, sowie ein zugehöriges Kommunikationsverfahren unter Verwendung der konfigurierbaren Kommunikationseinrichtung. The present invention relates to a configurable communication device, in particular in the form of a communication module, with a number of communication ports for connecting communicating elements, as well as an associated communication method using the configurable communication device.
Stand der Technik State of the art
Bei der Hardwareimplementierung datenflussorientierter Anwendungen (beispielsweise bei der Auswertung von Videosignalen) kommen häufig Pipeline- Verfahren zum Einsatz. The hardware implementation of data flow-oriented applications (for example, in the evaluation of video signals) often involves the use of pipeline methods.
Der Begriff Pipeline (auch als Befehls-Pipeline oder Prozessor-Pipeline bekannt) bezeichnet, insbesondere bei Mikroprozessoren, ein Verfahren zur Befehlsabarbeitung, durch das in Teilaufgaben bzw. -schritte zerlegte Maschinenbefehle oder Algorithmen verarbeitet werden. Im Rahmen des Pipelining wird dabei anstelle eines Gesamtbefehls während eines Taktzyklus nur jeweils eine Teilaufgabe abgearbeitet. Die einzelnen Teilaufgaben mehrerer Befehle werden jedoch gleichzeitig ausgeführt. The term pipeline (also known as an instruction pipeline or processor pipeline) refers, in particular in the case of microprocessors, to a method for instruction processing by which machine instructions or algorithms decomposed into sub-tasks are processed. In the course of pipelining, only one subtask is executed instead of one complete command during one clock cycle. However, the individual subtasks of several commands are executed simultaneously.
Da in der Regel Teilaufgaben einfacher (und damit schneller) als die Gesamtbefehle prozessiert werden können, kann durch ein Pipelining-Verfahren die Taktfrequenz einer elektronischen Einrichtung erhöht werden. Zwar benötigt ein einzelner Befehl im Rahmen des Pipelining mehrere Takte zu seiner Ausführung, durch eine quasiparallele Bearbeitung in Teilschritten wird jedoch der Gesamtdurchsatz insgesamt erhöht. Gerade bei datenflussorientierten Anwendungen ändern sich Kommunikationswege, also Verknüpfungspfade zwischen funktionellen Modulen, relativ selten, weshalb hier häufig Pipeline-Strukturen zum Einsatz kommen können. Diese Pipelines werden häufig in Form einer "harten" Verbindung (Verdrah- tung) realisiert. Since subtasks can usually be processed more easily (and therefore faster) than the overall instructions, the clock frequency of an electronic device can be increased by means of a pipelining method. Although pipelining requires a single instruction to execute a single instruction, quasiparallel processing in substeps increases overall throughput. Especially in data flow-oriented applications, communication paths, ie linking paths between functional modules, change relatively rarely, which is why pipeline structures can often be used here. These pipelines are often realized in the form of a "hard" connection (wiring).
Pipelines werden in der Fachwelt für bestimmte Aufgaben als zu starr und unflexibel angesehen. So kann die Reihenfolge der auszuführenden Arbeiten in der Regel im Rahmen von Pipeline-Verfahren nicht verändert werden. Zwar ist es gegebenenfalls möglich, einzelne Stationen einer Pipeline zu deaktivieren, es ist jedoch beispielsweise nicht möglich, bestimmte Stufen mehrfach zu durchlaufen. Pipelines are considered by experts to be too rigid and inflexible for certain tasks. As a rule, the order of the work to be performed can not be changed in the context of pipeline procedures. Although it may be possible to disable individual stations in a pipeline, it is not possible, for example, to go through certain stages multiple times.
Aus dem Stand der Technik sind auch flexiblere Ansätze zur Hardwareimp- lementierung von datenflussorientierten Anwendungen bekannt. Die sogenannte On-Chip-Kommunikation beinhaltet die Verwendung direkter Verbindungen zwischen Einzelkomponenten eines Systems oder die Verwendung von Buslösungen. Je nach Anwendung sind unterschiedliche Konfigurationen bzw. Ausgestaltungen von On-Chip oder Off-Chip-Kommunikationsverfahren sinnvoll. Es wäre jedoch wünschenswert, durch einen generischen Ansatz möglichst viele Anwendungen bedienen zu können. The prior art also discloses more flexible approaches for hardware implementation of data flow-oriented applications. So-called on-chip communication involves the use of direct connections between individual components of a system or the use of bus solutions. Depending on the application, different configurations or embodiments of on-chip or off-chip communication methods make sense. However, it would be desirable to be able to serve as many applications as possible through a generic approach.
Feste Verbindungen müssen je nach Anwendung neu konzipiert und realisiert werden. Buslösungen, die eine wesentlich flexiblere Kommunikationsmög- lichkeit darstellen würden, sind andererseits aber stark in der Bandbreite und in der Anzahl der Busteilnehmer begrenzt, da zusätzliche Busteilnehmer stärkere (leistungsfähigere) Bustreiber erforderlich machen und die Anzahl der Verbindungen zum sogenannten Arbiter ebenfalls zunimmt. Dies hat einen erhöhten Aufwand beim Routing der Einzelverbindungen zur Folge. Fixed connections must be redesigned and implemented depending on the application. On the other hand, bus solutions that would provide a much more flexible means of communication are greatly limited in bandwidth and in the number of bus subscribers, since additional bus subscribers require stronger (more efficient) bus drivers and the number of connections to the so-called arbiter also increases. This has an increased effort in the routing of the individual connections result.
Zur Realisierung von Kommunikationsaufgaben sind aus dem Stand der Technik Netzwerke in unterschiedlicher Ausgestaltung bekannt. Netzwerke stellen eine flexible Lösung zur Realisierung von Kommunikationsaufgaben dar, da sie dynamisch auf Lastverteilungen reagieren können und damit die vorhandenen Kommunikationswege optimal ausnutzen. Der Hardwareaufwand bei der Realisierung von Netzwerken ist jedoch sehr hoch, da einzelne Knotenpunkte entweder über feste Routingtabellen oder auf dynamischem Weg neue Kommunikationspfade festlegen müssen. In Netzwerken ist ferner die mit jedem Knoten zwischen Sender und Empfänger zunehmende Latenz nachteilig. For realizing communication tasks, networks of different configurations are known from the prior art. Networks provide a flexible solution for the realization of communication tasks, since they can react dynamically to load distributions and thus make optimum use of the existing communication channels. However, the hardware complexity in the realization of networks is very high, since individual Nodes must specify new communication paths either via fixed routing tables or dynamically. In networks, the latency that increases with each node between sender and receiver is also detrimental.
Sowohl Busse als auch Netzwerke benötigen bei jedem Zugriff eine Bereitstellung sowohl der Daten selbst als auch einer Adresse, die das Ziel der Daten angibt. Hierdurch werden der Verdrahtungsaufwand einer entsprechenden Schaltung und/oder die Übertragungszeit signifikant erhöht. Both buses and networks need to provide both the data itself and an address indicating the destination of the data on each access. As a result, the wiring complexity of a corresponding circuit and / or the transmission time are significantly increased.
Zur Realisierung von Kommunikationsaufgaben sind auch feste Verbindungen durch sogenannte Crossbars bekannt. Hierbei wird jede Komponente mit jeder anderen verbunden. Der Aufwand einer derartigen Verbindung nimmt jedoch exponentiell mit der Anzahl an Kommunikationsteilnehmern zu. Daher werden Crossbars in der Praxis nur selten eingesetzt. For the realization of communication tasks also fixed connections through so-called crossbars are known. Each component is connected to each other. However, the cost of such a connection increases exponentially with the number of communication participants. Therefore, crossbars are rarely used in practice.
Es ist wünschenswert, Kommunikationseinrichtungen anzugeben, die eine schnelle und gleichzeitig flexible Kommunikation zwischen Kommunikationsteilnehmern ermöglichen, und durch die genannten Nachteile des Stand der Technik überwunden werden können. It is desirable to provide communication devices that allow fast and at the same time flexible communication between communication participants, and can be overcome by the mentioned disadvantages of the prior art.
Offenbarung der Erfindung Disclosure of the invention
Erfindungsgemäß werden eine konfigurierbare Kommunikationseinrichtung, insbesondere ein Kommunikationsbaustein, mit einer Anzahl von Kommunikationsanschlüssen zum Anschluss kommunizierender Elemente, ein entsprechendes Kommunikationssystem, sowie ein Verfahren zur Kommunikation mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung. According to the invention, a configurable communication device, in particular a communication module, with a number of communication connections for connecting communicating elements, a corresponding communication system, and a method for communication with the features of the independent claims are proposed. Advantageous embodiments are the subject of the dependent claims and the following description.
Vorteile der Erfindung Advantages of the invention
Die erfindungsgemäße Lösung beinhaltet, durch eine Kommunikationseinrichtung nach Maßgabe einer Konfiguration wenigstens eine direkte Kommunika- tionsverbindung zwischen wenigstens zwei Kommunikationsanschlüssen, an welche kommunizierende Elemente angeschlossen sind, auszubilden. The solution according to the invention comprises, by means of a communication device according to a configuration, at least one direct communication tion connection between at least two communication terminals to which communicating elements are connected to form.
Dieser Ansatz macht sich zu nutze, dass insbesondere in datenflussorientier- ten Anwendungen die Kommunikationsstrukturen über längere Zeiträume konstant bleiben. Eine Adresse, die den Bestimmungsort des Datenflusses angibt, ist somit nicht bei jedem Kommunikationszugriff bzw. -Vorgang notwendig. Durch die erfindungsgemäße Lösung werden Kanäle aufgebaut, durch die eine direkte Kommunikation, wie sie aus den Pipeline-Verfahren bekannt ist, ermöglicht wird. Auf diese Weise können mehrere Komponenten gleichzeitig miteinander kommunizieren, ohne sich wechselseitig zu beeinflussen. This approach makes use of the fact that, especially in data-flow-oriented applications, the communication structures remain constant over longer periods of time. An address indicating the destination of the data flow is thus not necessary for every communication access or operation. The solution according to the invention establishes channels through which direct communication, as known from the pipeline method, is made possible. In this way, multiple components can communicate with each other simultaneously without affecting each other.
Dies wird beispielsweise durch die Bereitstellung exklusiver Kommunikationswege realisiert. Anstelle der bekannten Realisierung in Form von Busverbindungen müssen im Rahmen des erfindungsgemäßen Verfahrens nicht alle verbundenen Komponenten, die potentiell an der Kommunikation teilnehmen könnten, "mithören", sondern es wird eine direkte Verbindung, beispielsweise in Form einer Punkt-zu-Punkt-Verbindung aufgebaut. Durch diese Lösung können Treiber-Elemente kleiner (leistungsschwächer) und energieschonender ausgelegt werden. Im Gegensatz zu netzwerkbasierten Verfahren treten keine Verzögerungen (Latenzen) durch die Kommunikation über mehrere Knoten auf und es werden keine aufwändigen Routing-Einheiten benötigt. This is realized, for example, by the provision of exclusive communication channels. Instead of the known realization in the form of bus connections, not all connected components which could potentially participate in the communication must "listen in" within the scope of the method according to the invention, but a direct connection is established, for example in the form of a point-to-point connection , This solution allows driver elements to be made smaller (less powerful) and more energy-efficient. In contrast to network-based methods, there are no delays due to communication over several nodes and no complex routing units are required.
Vorteilhafterweise werden auch im Gegensatz zu den beschriebenen Cross- bar- Verbindungen zwar potentiell Verbindungen jeder Komponente mit jeder anderen ermöglicht, die Anzahl jeweils gleichzeitig tatsächlich zu realisierenden Verbindungen ist jedoch stark reduziert, da Kommunikationswege, über die entsprechend dem momentanen Zustand keine Kommunikation stattfindet, gewissermaßen eingespart werden. Hierdurch wird der Aufwand einer entsprechenden Schaltung bzw. Hardwarelösung drastisch minimiert. Advantageously, in contrast to the described crossbar connections, although potentially connections of each component with each other are made possible, the number of connections to be actually realized at the same time is greatly reduced, since communication paths over which no communication takes place in accordance with the instantaneous state, as it were be saved. As a result, the cost of a corresponding circuit or hardware solution is drastically minimized.
Die Erfindung nutzt daher die bekannten Effizienzvorteile der Pipelining- Verfahren aus, ohne deren Nachteile in Kauf nehmen zu müssen. Insbesondere können im Rahmen der vorliegenden Erfindung auch, wie unten näher erläutert, einzelne Stationen bzw. Schritte einer Pipeline deaktiviert, aber auch mehrfach durchlaufen werden. Dies kann beispielsweise in Form zyklischer Kommunikationsverbindungen realisiert werden. In vielen Anwendungsfällen, beispielsweise in den genannten datenflussorientierten Anwendungen, kommunizieren Systemkomponenten entsprechend einem bestimmten, zwin- genden Datenfluss, der von der Anwendung vorgegeben ist, miteinander. So muss beispielsweise ein Sensor zunächst ausgelesen werden, bevor seine Daten aufbereitet und dann weiterverarbeitet werden können. Erst dann kann eine entsprechende Aktion eingeleitet werden. Daher besteht kein Grund, weshalb eine verarbeitende Komponente direkt auf einen Sensor bzw. auf dessen noch nicht aufbereitete Daten zugreifen können sollte. In herkömmlichen, busorientierten Architekturen ist dies jedoch prinzipiell jederzeit möglich, was zu einem überflüssigen Mehraufwand in der Realisierung führt. In jeder denkbaren Anwendung existieren mit anderen Worten Komponenten, die, wie erläutert, in der Praxis nie direkt miteinander kommunizieren müssen, da sich immer eine zwingend erforderliche Komponente (wie vorstehend beispielsweise die Sensorauswertemittel) dazwischen befindet. The invention therefore exploits the known efficiency advantages of the pipelining method, without having to accept their disadvantages. In particular, in the context of the present invention, as explained in more detail below, individual stations or steps of a pipeline can be deactivated, but be repeated several times. This can be realized, for example, in the form of cyclic communication links. In many applications, for example in the aforementioned data flow-oriented applications, system components communicate with one another according to a specific, mandatory data flow predetermined by the application. For example, a sensor must first be read out before its data can be processed and then further processed. Only then can a corresponding action be initiated. Therefore, there is no reason why a processing component should be able to directly access a sensor or its unprocessed data. In conventional, bus-oriented architectures, however, this is in principle possible at any time, which leads to a superfluous additional expenditure in the realization. In any conceivable application, in other words, there are components which, as explained, never have to communicate directly with one another in practice, since there is always a compulsory component (such as, for example, the sensor evaluation means) between them.
Wird anstelle eines Busses daher eine konfigurierbare Kommunikationseinrichtung verwendet, die beispielsweise durch ein Feld von konfigurierbaren Elementen realisiert ist, kann eine Kommunikation den jeweiligen Bedürfnissen angepasst werden. Insbesondere kann auf eine Kommunikationsreihenfolge, wie zuvor erläutert, Rücksicht genommen werden und die Kommunikationsmittel dieser Kommunikationsreihenfolge angepasst werden. Ein überflüssiger zusätzlicher Aufwand, beispielsweise in der Bereitstellung leistungs- fähiger Treiber oder Kommunikationswege, kann dadurch vermieden werden. If instead of a bus, therefore, a configurable communication device is used, which is realized for example by a field of configurable elements, a communication can be adapted to the respective needs. In particular, consideration can be given to a communication sequence, as explained above, and the communication means can be adapted to this communication sequence. A superfluous additional effort, for example in the provision of powerful drivers or communication paths, can thus be avoided.
Eine Konfiguration der Kommunikationseinrichtung (beispielsweise eines Feldes konfigurierbarer Elemente) kann dabei von einer übergeordneten Einheit übernommen und überwacht werden. Alternativ dazu kann mit besonderem Vorteil auch vorgesehen sein, Mittel bereitzustellen, die eigenständig (autonom) einen Bedarf für eine Verbindung anmelden. Diese Mittel können auch Teil der kommunizierenden Elemente sein. Verbindungen, die entweder durch eine Konfiguration durch die übergeordnete Einheit oder aufgrund einer Anforderung der Komponenten selbst eingerichtet werden, bleiben dabei vor- teilhafterweise mindestens bis zur nächsten Konfiguration (d.h. über einenA configuration of the communication device (for example, a field of configurable elements) can be taken over and monitored by a higher-level unit. Alternatively, it can be provided with particular advantage to provide means that autonomously (autonomously) register a need for a connection. These resources can also be part of the communicating elements. Connections that are established either by a configuration by the higher-level unit or by a request of the components themselves advantageously remain at least until the next configuration (i.e.
Konfigurationszyklus) bestehen, können jedoch auch dauerhaft ausgelegt werden, obwohl sich ein physikalischer Pfad gegebenenfalls ändern kann. Falls zweckmäßig, kann auch vorgesehen sein, Kurzzeit- Kommunikationswege aufzubauen, über die beispielsweise nur eine bestimmte Nachricht ausgetauscht wird, und die anschließend abgeschaltet werden. Configuration cycle), but can also be designed permanently although a physical path may change. If appropriate, can also be provided to establish short-term communication paths over which, for example, only a specific message is exchanged, and then turned off.
Es sei betont, dass der Einsatz einer konfigurierbaren Kommunikationseinrichtung, wie sie erfindungsgemäß vorgeschlagen wird, den Einsatz weiterer (zusätzlicher) Kommunikationsmittel, wie beispielsweise von Bussen oder Crossbars nicht ausschließt. Beispielsweise können Crossbars für Kommunikationswege eingesetzt werden, von denen bekannt ist, dass sie sich im Rahmen der Applikation niemals ändern. Eine Busverbindung kann hingegen beispielsweise auch aus Kompatibilitätsgründen zur Außenkommunikation eingesetzt werden. It should be emphasized that the use of a configurable communication device, as proposed according to the invention, does not preclude the use of further (additional) communication means, such as buses or crossbars. For example, crossbars can be used for communication paths that are known to never change as part of the application. On the other hand, a bus connection can also be used for external communication for compatibility reasons.
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung. Further advantages and embodiments of the invention will become apparent from the description and the accompanying drawings.
Es versteht sich, dass die vorstehend genannten und die nachfolgend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen. It is understood that the features mentioned above and those yet to be explained below can be used not only in the particular combination indicated, but also in other combinations or in isolation, without departing from the scope of the present invention.
Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung ausführlich beschrieben. The invention is illustrated schematically by means of exemplary embodiments in the drawing and will be described in detail below with reference to the drawing.
Kurze Beschreibung der Zeichnungen Brief description of the drawings
Figur 1 zeigt ein Beispiel einer Verarbeitung eines Datenflusses unter Verwendung fester Kommunikationswege gemäß dem Stand der Technik. Figure 1 shows an example of data flow processing using fixed communication paths according to the prior art.
Figur 2 zeigt ein Beispiel einer Verarbeitung eines Datenflusses gemäß einer besonders bevorzugten Ausführungsform der Erfindung. Figur 3 zeigt ein Beispiel einer Verarbeitung eines Datenflusses gemäß einer weiteren bevorzugten Ausführungsform der Erfindung. FIG. 2 shows an example of a data flow processing according to a particularly preferred embodiment of the invention. FIG. 3 shows an example of a processing of a data flow according to a further preferred embodiment of the invention.
Figur 4 zeigt eine Konfiguration von konfigurierbaren Elementen gemäß einer besonders bevorzugten Ausführungsform der Erfindung sowie eine Einrichtung von Kommunikationsverbindungen gemäß einer besonders bevorzugten Ausführungsform der Erfindung. FIG. 4 shows a configuration of configurable elements according to a particularly preferred embodiment of the invention as well as a device of communication links according to a particularly preferred embodiment of the invention.
Figur 5 zeigt eine konfigurierbare Kommunikationseinrichtung mit Funktionsmodulen und Kommunikationsmitteln gemäß einer weiteren bevorzugten Ausführungsform der Erfindung. FIG. 5 shows a configurable communication device with function modules and communication means according to a further preferred embodiment of the invention.
Figur 6 zeigt die Funktionsweise einer konfigurierbaren Kommunikationseinrichtung mit Funktionsmodulen und Kommunikationsmitteln gemäß einer weiteren bevorzugten Ausführungsform der Erfindung. FIG. 6 shows the mode of operation of a configurable communication device with function modules and communication means according to a further preferred embodiment of the invention.
Figur 7 zeigt die Funktionsweise einer konfigurierbaren Kommunikationseinrichtung mit Funktionsmodulen und Kommunikationsmitteln gemäß einer weiteren bevorzugten Ausführungsform der Erfindung. FIG. 7 shows the mode of operation of a configurable communication device with function modules and communication means according to a further preferred embodiment of the invention.
Figur 8 zeigt die Funktionsweise einer konfigurierbaren Kommunikationseinrichtung mit Funktionsmodulen und Kommunikationsmitteln gemäß einer weiteren bevorzugten Ausführungsform der Erfindung. FIG. 8 shows the mode of operation of a configurable communication device with function modules and communication means according to a further preferred embodiment of the invention.
Ausführungsform(en) der Erfindung Embodiment (s) of the invention
In den nachfolgenden Figuren sind gleiche oder gleich wirkende Elemente mit identischen Bezugszeichen bezeichnet. Auf eine wiederholte Erläuterung dieser Elemente wird der Übersichtlichkeit halber verzichtet. In the following figures, identical or equivalent elements are denoted by identical reference numerals. A repeated explanation of these elements is omitted for clarity.
Figur 1 zeigt, insgesamt mit 100 bezeichnet, schematisch die Verarbeitung eines Signals einer Kamera als Beispiel einer datenflussorientierten Anwendung, die wenigstens teilweise, beispielsweise durch Pipelines, in Hardware umgesetzt ist (im folgenden teilweise verallgemeinernd als "Hardwarerealisierung" bezeichnet). Das Kamerasignal setzt sich aus den drei Farbkanälen Rot (R), Gelb (G) und Blau (B) zusammen. Im Rahmen der nachfolgenden Beschreibung der Figuren wird dabei jeweils nur der rote Farbkanal (R) erläutert, die Verarbeitung der zwei anderen Kanäle erfolgt jedoch prinzipiell auf die gleiche Weise. Die vorliegende Erfindung ist nicht auf die Verarbeitung elektronischer Video- o- der Kamerasignale beschränkt, sondern prinzipiell bei allen datenflussorien- tierten Anwendungen, beispielsweise Verarbeitung von Audiodaten, Sensordaten (z.B. Radar) usw., anwendbar. FIG. 1, indicated as a whole by 100, shows schematically the processing of a signal from a camera as an example of a data flow-oriented application which is implemented at least partially in hardware, for example by pipelines (hereinafter referred to as generalization "hardware realization"). The camera signal is composed of the three color channels red (R), yellow (G) and blue (B). In the context of the following description of the figures, only the red color channel (R) is explained in each case, but the processing of the other two channels takes place in principle in the same way. The present invention is not limited to the processing of electronic video or camera signals, but in principle in all data flow-oriented applications, such as processing of audio data, sensor data (eg radar), etc., applicable.
Die Hardwarerealisierung 100 weist einen ersten Puffer 1 , beispielsweise einen 4-Zeilen-Puffer, auf, der zumindest über Schnittstellen 1.1 und 1.2 verfügt. Über die Schnittstelle 1.2 ist der Puffer 1 beispielsweise mit einem 3*3- Filter 2 an dessen Schnittstelle 2.1 verbunden. Zwischen Schnittstelle 1.2 und Schnittstelle 2.1 ist eine Verbindung 9.1 , beispielsweise in Form einer Verkabelung oder einer Verdrahtung vorgesehen. The hardware implementation 100 has a first buffer 1, for example a 4-line buffer, which has at least interfaces 1.1 and 1.2. Via the interface 1.2, the buffer 1 is connected, for example, to a 3 * 3 filter 2 at its interface 2.1. Between interface 1.2 and interface 2.1 a connection 9.1, for example in the form of a wiring or a wiring is provided.
Filter 2 verfügt über eine weitere Schnittstelle 2.2. Über die Schnittstelle 2.2 ist der Filter 2 mit einem weiteren Puffer 3, insbesondere einem weiteren 4- Zeilen-Puffer 3, über dessen Schnittstelle 3.1 verbunden. Zwischen der Schnittstelle 2.2 und der Schnittstelle 3.1 ist eine weitere Verbindung 9.2 ausgebildet, die entsprechend der zuvor erläuterten Verbindung 9.1 ausgebildet sein kann. Filter 2 has another interface 2.2. Via the interface 2.2, the filter 2 is connected to a further buffer 3, in particular a further 4-line buffer 3, via its interface 3.1. Between the interface 2.2 and the interface 3.1, a further connection 9.2 is formed, which may be formed in accordance with the previously described connection 9.1.
Über eine weitere Schnittstelle 3.2 ist der Puffer 3 über Verbindung 9.3 mit einer Schnittstelle 4.1 eines weiteren 3><3-Filters 4 verbunden. Nach der Verarbeitung durch den Puffer 1 , den Filter 2, den Puffer 3 und den Filter 4 wird das Signal an einer Schnittstelle 4.2 bereitgestellt (ausgegeben). Zwischen den Schnittstellen 3.2 und 4.1 ist eine Verbindung vorgesehen. Via a further interface 3.2, the buffer 3 is connected via connection 9.3 to an interface 4.1 of a further 3 × 3 filter 4. After being processed by the buffer 1, the filter 2, the buffer 3 and the filter 4, the signal is provided (outputted) to an interface 4.2. Between the interfaces 3.2 and 4.1, a connection is provided.
Die Filter 2 und 4 der Figur 1 können beispielsweise in Hardware realisiert sein und durch eine entsprechende Matrix konfiguriert werden. Die Anwendung, wie sie durch die Anordnung der Figur 1 realisiert ist, verlangt beispielsweise die Verwendung von bis zu zwei Filtern hintereinander. The filters 2 and 4 of FIG. 1 may, for example, be realized in hardware and be configured by a corresponding matrix. The application, as implemented by the arrangement of Figure 1, for example, requires the use of up to two filters in a row.
Es sei darauf hingewiesen, dass aus dem Stand der Technik, wie er in Figur 1 dargestellt ist, lediglich bekannt ist, die Kommunikationswege zwischen den jeweiligen Schnittstellen starr auszubilden. Ein einzelnes Element der Kette der Kommunikationsteilnehmer 1 , 2, 3 und 4 kann dabei zwar gegebenenfalls umgangen oder auch ohne eine entsprechende Bearbeitung durchlaufen werden, eine mehrfache Ausführung bzw. ein mehrfaches Durchlaufen eines der Elemente 1 , 2, 3 oder 4 ist jedoch nicht möglich. Daher müssen bestimmte Elemente, wie beispielsweise die Puffer 1 oder 3 oder die Filter 2 oder 4 gemäß dem Stand der Technik häufig mehrfach implementiert werden. It should be noted that from the prior art, as shown in Figure 1, is only known, the communication paths between the rigidly form respective interfaces. Although a single element of the chain of the communication participants 1, 2, 3 and 4 can be circumvented if necessary or even without a corresponding processing, a multiple execution or a multiple pass through one of the elements 1, 2, 3 or 4 is not possible , Therefore, certain elements such as buffers 1 or 3 or filters 2 or 4 according to the prior art often need to be implemented multiple times.
Figur 2 zeigt eine der Figur 1 entsprechende Hardwarerealisierung, bei- spielsweise einer Signalverarbeitung, gemäß einer besonders bevorzugtenFIG. 2 shows a hardware realization corresponding to FIG. 1, for example signal processing, according to a particularly preferred embodiment
Ausführungsform der Erfindung in schematischer Ansicht. Die Komponenten 1 , 2, 3, 4, die, wie in Figur 1 , einen Puffer 1 , einen weiteren Puffer 3, einen ersten Filter 2 und einen weiteren Filter 4 bezeichnen, sind um eine konfigurierbare Kommunikationseinrichtung 5 angeordnet, die beispielsweise als konfigurierbares Kommunikationsfeld realisiert sein kann. Die konfigurierbareEmbodiment of the invention in a schematic view. The components 1, 2, 3, 4, which, as in FIG. 1, designate a buffer 1, a further buffer 3, a first filter 2 and a further filter 4, are arranged around a configurable communication device 5, for example as a configurable communication field can be realized. The configurable
Kommunikationseinrichtung 5 verfügt über Schnittstellen 5.1 bis 5.8, mit denen sie mit den Elementen 1 bis 4 kommuniziert und, wie im Folgenden erläutert, eine Verbindung zwischen den Elementen 1 bis 4 herstellt. Die konfigurierbare Konfigurationseinrichtung 5 kann eine Konfigurationseinrichtung 6 aufweisen, die zur Konfiguration der konfigurierbaren Kommunikationseinrichtung 5 dient. Weitere Schnittstellen, hier beispielhaft mit 5.9 bezeichnet, können vorgesehen sein. Die Signalverarbeitung, wie sie in Figur 1 gezeigt ist, kann durch die konfigurierbare Kommunikationseinrichtung der Figur 2 wie folgt umgesetzt werden. Communication device 5 has interfaces 5.1 to 5.8, with which it communicates with the elements 1 to 4 and, as explained below, establishes a connection between the elements 1 to 4. The configurable configuration device 5 may have a configuration device 6, which is used to configure the configurable communication device 5. Other interfaces, designated here by way of example with 5.9, can be provided. The signal processing as shown in FIG. 1 can be implemented by the configurable communication device of FIG. 2 as follows.
Ein Signal wird, beispielsweise über die Schnittstelle 5.9, bereitgestellt. Über die Schnittstelle 5.5 gelangt dieses Signal an die Schnittstelle 1.1 (analog zur Figur 1 ) eines 4-Zeilen-Puffers 1. Über die Schnittstelle 1.2 dieses Puffers 1 und die Schnittstelle 5.6 der konfigurierbaren Kommunikationseinrichtung kann das Signal aus dem Puffer abgerufen werden. Das Signal wird an die Schnittstelle 5.1 über die Schnittstelle 2.1 an einen Filter 2 bereitgestellt. Ausgehend von Filter 2 existiert eine Verbindung über die Schnittstelle 2.2 und die Schnittstelle 5.2. In analoger Weise, der Übersicht halber jedoch nicht erneut erläutert, gelangt das Signal nun zu Puffer 3 und dem weiteren Filter 4.A signal is provided, for example via the interface 5.9. Via the interface 5.5, this signal reaches the interface 1.1 (analogous to FIG. 1) of a 4-line buffer 1. The signal can be called up from the buffer via the interface 1.2 of this buffer 1 and the interface 5.6 of the configurable communication device. The signal is provided to the interface 5.1 via the interface 2.1 to a filter 2. Starting from filter 2, there is a connection via the interface 2.2 and the interface 5.2. In an analogous manner, but not explained again for the sake of clarity, the signal now arrives at buffer 3 and the further filter 4.
Nach dem Durchlaufen der Elemente 1 bis 4, wobei Einzelelemente, falls er- forderlich, auch mehrmals durchlaufen oder andere Elemente umgangen werden können, wird das Signal, beispielsweise an die Schnittstelle 5.9, bereitgestellt (ausgegeben). After passing through elements 1 to 4, with individual elements, if If necessary, it can also be passed through several times or other elements can be bypassed, the signal is provided (output), for example to the interface 5.9.
Die in Figur 2 realisierte Lösung beinhaltet das Ausbilden von Kommunikationswegen bzw. -Verbindungen zwischen den Schnittstellen 5.9 und 5.5, den Schnittstellen 5.6 und 5.1 , den Schnittstellen 5.2 und 5.7, den Schnittstellen 5.8 und 5.3 sowie den Schnittstellen 5.4 und 5.9 der Kommunikationseinrichtung 5. Die Ausbildung dieser, mit gestrichelten Pfeilen dargestellten Kommunikationsverbindungen erfolgt dabei nach Maßgabe einer Konfiguration durch eine Konfigurationseinrichtung 6. Alternativ kann die Einrichtung der Kommunikationsverbindungen auch auf eine Anforderung durch die Elemente 1 bis 4 hin erfolgen. Die jeweiligen Verbindungen zwischen den Elementen 1 bis 4 mit der Kommunikationseinrichtung 5 können entsprechend der zuvor erläuterten Verbindung 9.1 -9.3 vorgesehen sein, jedoch auch auf jede andere Weise implementiert sein. The solution implemented in FIG. 2 includes the formation of communication paths or connections between the interfaces 5.9 and 5.5, the interfaces 5.6 and 5.1, the interfaces 5.2 and 5.7, the interfaces 5.8 and 5.3 and the interfaces 5.4 and 5.9 of the communication device 5. The Training this, shown with dashed arrows communication connections takes place in accordance with a configuration by a configuration device 6. Alternatively, the establishment of the communication links can also be made to a request by the elements 1 to 4 out. The respective connections between the elements 1 to 4 with the communication device 5 may be provided in accordance with the previously described connection 9.1 -9.3, but may also be implemented in any other way.
In Figur 3 ist eine alternative Hardware-Realisierung schematisch dargestellt, wobei jedoch gezeigt ist, wie aufgrund der erfindungsgemäßen Maßnahmen mit besonderem Vorteil eine Anzahl der bereitzustellenden, bzw. gesondert zu implementierenden Elemente reduziert werden kann. Im Rahmen der Realisierung der Figur 3 ist, anstelle der Bereitstellung von zwei Filtern 2 und 4, lediglich ein Filter 2 vorgesehen, der jedoch zweimal durchlaufen wird. Dies wird durch eine Konfiguration der Kommunikationseinrichtung 5 auf folgende Weise realisiert. In Figure 3, an alternative hardware implementation is shown schematically, but it is shown how due to the inventive measures with particular advantage, a number of to be provided, or separately to be implemented elements can be reduced. In the context of the realization of Figure 3, instead of providing two filters 2 and 4, only one filter 2 is provided, which, however, is passed through twice. This is realized by a configuration of the communication device 5 in the following manner.
Ein Signal, beispielsweise von Schnittstelle 5.9, gelangt über Schnittstelle 5.5 zu Schnittstelle 1.1 des Puffers 1. Von Puffer 1 gelangt das Signal über die Schnittstelle 1.2 zur Schnittstelle 5.6 der konfigurierbaren Kommunikations- einrichtung. Von der Schnittstelle 5.6 zur Schnittstelle 5.10 ist eine Kommunikationsverbindung definiert, wodurch das Signal an der Schnittstelle 2.1 des Filters 2 bereitgestellt wird. Das Signal gelangt über die Schnittstelle 2.2 des Filters 2 an die Schnittstelle 5.1 1 der konfigurierbaren Kommunikationseinrichtung 5. Von dort wird das Signal über die Schnittstelle 5.7 der konfigurier- baren Kommunikationseinrichtung 5 an die Schnittstelle 3.1 des Puffers 3 bereitgestellt. Das Signal verlässt den Puffer 3 über die Schnittstelle 3.2 und ge- langt über die Schnittstelle 5.8 und eine zwischen Schnittstelle 5.8 und Schnittstelle 5.10 vorgesehen Kommunikationsverbindung zur Schnittstelle 2.1 des Filters 2. Der Filter 2 wird damit ein weiteres mal durchlaufen. Nach dem Verlassen des Filters 2 über Schnittstelle 2.2 und nach dem Durchlaufen von Schnittstelle 5.1 1 wird das Signal an Schnittstelle 5.9 bereitgestellt. A signal, for example from interface 5.9, passes via interface 5.5 to interface 1.1 of buffer 1. From buffer 1, the signal passes via interface 1.2 to interface 5.6 of the configurable communication device. From the interface 5.6 to the interface 5.10, a communication connection is defined, whereby the signal is provided at the interface 2.1 of the filter 2. The signal passes via the interface 2.2 of the filter 2 to the interface 5.1 1 of the configurable communication device 5. From there, the signal is provided via the interface 5.7 of the configurable communication device 5 to the interface 3.1 of the buffer 3. The signal leaves the buffer 3 via the interface 3.2 and reached via the interface 5.8 and provided between interface 5.8 and interface 5.10 communication link to the interface 2.1 of the filter 2. The filter 2 is thus run through again. After leaving the filter 2 via interface 2.2 and after passing through interface 5.1 1, the signal is provided to interface 5.9.
Die Einrichtung der festen Kommunikationsverbindungen kann auch im Rahmen der Figur 3 durch eine Kommunikationseinrichtung 6 erfolgen, diese ist jedoch der Übersichtlichkeit halber nicht dargestellt. The device of the fixed communication connections can also be done in the context of Figure 3 by a communication device 6, but this is not shown for clarity.
In Figur 4A ist die Konfiguration von konfigurierbaren Elementen 8, wie sie als Teil einer konfigurierbaren Kommunikationseinrichtung 5 zum Einsatz kommen können, schematisch dargestellt. Der linke und der rechte Teil der Figur 4A zeigen das identische Konfigurationselement 8, das jedoch in unterschied- liehen Schaltzuständen dargestellt ist. Das Konfigurationselement 8 weist einen Eingang 8.1 und zwei Ausgänge 8.2 und 8.3 auf, die über eine Verbindung 7 wahlweise mit dem Eingang 8.1 verbunden werden können. Es sei zu verstehen gegeben, dass die Konfigurationselemente neben dem binären Schaltzustand, wie er in Figur 4A dargestellt ist, auch über weitere Schaltzu- stände verfügen können, beispielsweise können mehrere Ein- und/oder Ausgänge vorgesehen sein. In FIG. 4A, the configuration of configurable elements 8, as they can be used as part of a configurable communication device 5, is shown schematically. The left and the right part of Figure 4A show the identical configuration element 8, which is however shown in different borrowed switching states. The configuration element 8 has an input 8.1 and two outputs 8.2 and 8.3, which can be selectively connected to the input 8.1 via a connection 7. It should be understood that the configuration elements in addition to the binary switching state, as shown in Figure 4A, can also have other switching states, for example, several inputs and / or outputs can be provided.
Im Schaltzustand, wie er im linken Teil der Figur 4A dargestellt ist, ist ein Eingang 8.1 des Kommunikationselements 8 mit einem Ausgang 8.3 des Kom- munikationselements 8 verbunden. Im rechten Teil der Figur 4A ist ein Eingang des Kommunikationselements 8.1 mit einem Ausgang 8.2 verbunden, wohingegen keine Verbindung zum Ausgang 8.3 besteht. Zwischen den jeweiligen Ein- und Ausgängen ist eine Verbindung 7 vorgesehen. In Figur 4B ist eine schematische, teilweise Detailansicht der Figur 2 oder 3 dargestellt, wobei die Anordnung der Kommunikationselemente 8 veranschaulicht wird. Es ist gezeigt, wie jeweils zwischen den Schnittstellen 5.1 und 5.7 über die Verbindungen 7 eine direkte Kommunikationsverbindung zwischen der Schnittstelle 2.1 des Filters 2 der Schnittstelle 3.1 des Puffers 3, sowie den Schnittstellen 2.2 des Filters 2 sowie der Schnittstelle 3.2 des Puffers 3 hergestellt ist. Wenngleich in der Figur 4B vier konfigurierbare Elemente 8 dargestellt sind, ist selbstverständlich jede andere Anzahl konfigurierbarer Elemente 8 denkbar. Insbesondere kann auch vorgesehen sein, als konfigurierbare Elemente einer konfigurierbaren Logikschaltung vorzusehen, beispielsweise einesIn the switching state, as shown in the left part of FIG. 4A, an input 8.1 of the communication element 8 is connected to an output 8.3 of the communication element 8. In the right-hand part of FIG. 4A, an input of the communication element 8.1 is connected to an output 8.2, whereas there is no connection to the output 8.3. Between the respective inputs and outputs a connection 7 is provided. FIG. 4B shows a schematic, partial detail view of FIG. 2 or 3, wherein the arrangement of the communication elements 8 is illustrated. It is shown how in each case between the interfaces 5.1 and 5.7 via the connections 7, a direct communication connection between the interface 2.1 of the filter 2 of the interface 3.1 of the buffer 3, and the interfaces 2.2 of the filter 2 and the interface 3.2 of the buffer 3 is made. Although four configurable elements 8 are shown in FIG. 4B, any other number of configurable elements 8 is of course conceivable. In particular, it may also be provided to provide configurable elements of a configurable logic circuit, for example one
FPGA-Bausteins. FPGA device.
Gemäß einer weiteren Ausgestaltung, die in der Figuren 5-8 dargestellt und jeweils insgesamt mit 50 bezeichnet ist, kann eine konfigurierbare Kommuni- kationseinrichtung 50 Funktionsmodule A-C, die in Blöcken 10.1 -10.3 angeordnet sind, und Kommunikationsmittel 1 1.1 , 1 1.2 zur Kommunikation wenigstens zwischen den Funktionsmodulen A-C und/oder den Blöcken 10.1 - 10.3 sowie wenigstens eine Systemüberwachungseinheit 12 aufweisen, wobei nach Maßgabe der wenigstens einen Systemüberwachungseinheit 12 auf Grundlage von durch die Kommunikationsmittel 1 1.1 , 1 1.2 und/oder die Funktionsmodule A-C bereitgestellten Systeminformationen eine Verlagerung und/oder ein Austausch von Funktionsmodulen A-C vornehmbar ist. According to a further embodiment, which is shown in FIGS. 5-8 and designated in each case as 50, a configurable communication device 50 can be function modules AC, which are arranged in blocks 10.1-10.3, and communication means 1.1.1, 1.2 for communication at least between the function modules AC and / or the blocks 10.1 - 10.3 and at least one system monitoring unit 12, wherein according to the at least one system monitoring unit 12 based on provided by the communication means 1 1.1, 1 1.2 and / or the function modules AC system information a shift and / or an exchange of functional modules AC is vornehmbar.
Die Kommunikationseinrichtung 50 kann ferner beispielsweise eine Spei- chereinrichtung 13, eine Eingabe-Ausgabeeinheit 14, die beispielsweise mit einem Eingang 8.1-8.1 1 , wie zuvor erläutert, verbunden sein kann, eine Bridge 15 und/oder einen Prozessor 16, insbesondere einen Softwareprozessor 16, aufweisen. Die einzelnen Elemente können über Kommunikationsanschlüsse 17.1 -17.10 mit den Kommunikationsmitteln 1 1.1 , 1 1.2 verbunden sein. Eine Kommunikation zwischen den Kommunikationsmitteln 11.1 , 1 1.2, den Funktionsmodulen A-C und/oder den Blöcken 10.1 -10.3, der Speichereinrichtung 13, der Eingabe-Ausgabeeinheit 14, der Bridge 15 und/oder dem Prozessor 16 einerseits und der Systemüberwachungseinheit 12 kann andererseits über weitere Kommunikationskanäle 18.1 -18.6 erfolgen. The communication device 50 may further include, for example, a memory device 13, an input-output unit 14, which may be connected to an input 8.1-8.1 1, as explained above, a bridge 15 and / or a processor 16, in particular a software processor 16 , exhibit. The individual elements can be connected via communication connections 17.1 -17.10 with the communication means 1 1.1, 1 1.2. A communication between the communication means 11.1, 1 1.2, the function modules AC and / or the blocks 10.1 -10.3, the memory device 13, the input-output unit 14, the bridge 15 and / or the processor 16 on the one hand and the system monitoring unit 12 on the other hand via more Communication channels 18.1 -18.6 done.
Feldprogrammierbare Gatterarrays (Field Programmable Gate Arrays, FPGA) ermöglichen eine flexible Realisierung von Schaltungen auf einem Chip und können daher auch vorteilhafterweise im Rahmen einer Kommunikationseinrichtung 50 verwendet werden. Die Konfiguration eines FPGA erfolgt her- kömmlicherweise über entsprechende Konfigurationsdateien. Die Konfiguration erfolgt meist statisch, d.h. einmalig vor Inbetriebnahme eines entspre- chenden Bausteins. Die bekannte, sogenannte dynamische Rekonfiguration von FPGA zur Laufzeit ist nur in beschränktem Umfang möglich. Bekannte FPGA-Architekturen sind daher unflexibel. Auch bei dynamischer Rekonfiguration existieren in der Regel feste Positionen, zwischen denen Funktionsmodule A-C ausgetauscht werden können. Field programmable gate arrays (FPGAs) enable a flexible implementation of circuits on a chip and can therefore also be advantageously used in the context of a communication device 50. The configuration of an FPGA is conventionally carried out via corresponding configuration files. The configuration is mostly static, ie once before commissioning of a corresponding building block. The well-known, so-called dynamic reconfiguration of FPGA at runtime is only possible to a limited extent. Known FPGA architectures are therefore inflexible. Even with dynamic reconfiguration, there are usually fixed positions between which function modules AC can be exchanged.
Gemäß einer vorteilhaften Ausgestaltung ist hingegen eine gezielte dynamische Verlagerung und/oder ein Austausch einzelner Funktionsmodule A-C vorgesehen. Auf diese Weise können beispielsweise Kommunikationswege über Kommunikationsmittel 1 1.1 , 1 1.2 verkürzt und/oder vereinfacht werden. According to an advantageous embodiment, however, a targeted dynamic displacement and / or replacement of individual functional modules A-C is provided. In this way, for example, communication paths via communication means 1 1.1, 1 1.2 can be shortened and / or simplified.
Gleichzeitig existiert herkömmlicherweise jeweils nur eine einzige Implementierung der Funktionsmodule A-C. Die Funktionsmodule A-C können jeweils auf unterschiedliche Parameter, beispielsweise auf Energieeffizienz, Perfor- manz, Genauigkeit und Fläche hin optimiert werden. Um zu vermeiden, dass die Verbesserung eines Parameters die Verschlechterung anderer verursacht, werden herkömmlicherweise die Parameter gewichtet und eine entsprechende Lösung aus der Menge der Pareto-Optimalen ausgewählt. At the same time, only one single implementation of the functional modules A-C exists conventionally. The function modules A-C can each be optimized for different parameters, such as energy efficiency, performance, accuracy and area. In order to avoid that the improvement of one parameter causes the deterioration of others, the parameters are conventionally weighted and a corresponding solution chosen from the set of Pareto optimals.
Es ist gemäß einer bevorzugten Ausgestaltung im Gegensatz dazu möglich, mehrere Implementierungen von Funktionsmodulen A-C vorzusehen, die dann jeweils individuell auf bestimmte Einzelparameter (Fläche, Geschwindigkeit, Energiebedarf etc.) hin optimiert werden können. Durch die vorgesehene Verlagerung und/oder einen entsprechenden Austausch können dann jeweils den aktuellen Anforderungen entsprechende Versionen bzw. Implementierungen der Funktionsmodule A-C verwendet werden. In contrast, according to a preferred embodiment, it is possible to provide several implementations of function modules A-C which can then be individually optimized for specific individual parameters (area, speed, energy requirement, etc.). By means of the planned relocation and / or a corresponding replacement, versions or implementations of the functional modules A-C corresponding to the current requirements can then be used in each case.
Beispielsweise ist bei einem Motorsteuergerät vorteilhaft, je nach Drehzahl Implementierungen von Modulen A-C auf verschiedene Parameter hin auszulegen. Bei geringen Drehzahlen können weniger performante, aber dafür energieeffizientere Funktionsmodule A-C zum Einsatz kommen. Bei höheren Drehzahlen werden diese Funktionsmodule A-C durch geschwindigkeitsopti- mierte Funktionsmodule A-C ersetzt. Eine derartige mehrfache Implementierung kann modernen Verfahren derFor example, in an engine control unit it is advantageous to design implementations of modules A-C for different parameters, depending on the rotational speed. At low speeds, less efficient, but more energy-efficient function modules A-C can be used. At higher speeds, these function modules A-C are replaced by speed-optimized function modules A-C. Such a multiple implementation can modern methods of
FPGA-Synthese (wie beispielsweise der High-Level-Synthese) mit vertretba- rem Aufwand realisiert werden. Sind diese jeweils optimierten Instanzen der Funktionsmodule A-C zur Laufzeit verfügbar, können nach Bedarf verschiedene Versionen eingesetzt werden, um so das Systemverhalten situationsgerecht zu optimieren. Dafür können beispielsweise Funktion, Kommunikation und/oder Auslastung der Funktionsmodule A-C und/oder der Blöcke 10.1 - 10.3 zur Laufzeit von der Systemüberwachungseinrichtung 12 überwacht werden, die Informationen von beispielsweise den Kommunikationsmitteln 1 1.1 , 11.2, den Funktionsmodulen A-C, der Speichereinrichtung 13, der Eingabe-Ausgabeeinheit 14, der Bridge 15 und/oder dem Prozessor 16 erhält. FPGA synthesis (such as high-level synthesis) with representational rem effort can be realized. If these respectively optimized instances of the function modules AC are available at runtime, different versions can be used as required in order to optimize the system behavior in accordance with the situation. For example, function, communication and / or utilization of the function modules AC and / or the blocks 10.1 - 10.3 can be monitored at runtime by the system monitoring device 12, the information from, for example, the communication means 1 1.1, 11.2, the function modules AC, the memory device 13, the Input-output unit 14, the bridge 15 and / or the processor 16 receives.
So können beispielsweise Funktionsmodule A-C, zwischen denen in bestimmten Situationen ein hohes Kommunikationsaufkommen besteht, näher zueinander verschoben werden und je nach Auslastung entweder performan- tere oder energiesparende Implementierungen verwendet werden. Es ist auch möglich je nach aktuellen Systemanforderungen einzelne Funktionen in Software auf einem optionalen (Software-)Prozessor 10 auszuführen oder bei Bedarf in externe Hardwarekomponenten (nicht gezeigt) auszulagern. Thus, for example, function modules A-C, between which there is a high level of communication in certain situations, can be moved closer to each other and, depending on the capacity utilization, either more performant or energy-saving implementations can be used. It is also possible, depending on the current system requirements, to execute individual functions in software on an optional (software) processor 10 or, if necessary, to outsource them to external hardware components (not shown).
Die Systemüberwachungseinheit 12 selbst analysiert vorteilhafterweise als passives Buselement die Kommunikation über die als Bus bereitgestellten Kommunikationsmittel 1 1.1 , 1 1.2 und kann so entsprechende Anforderungen bzw. Bedürfnisse ermitteln, ohne das Systemverhalten zu beeinflussen oder gar einzuschränken. Auch die Auslastung der einzelnen Funktionsmodule A- C lässt sich implizit über die Kommunikation bzw. ein Kommunikationsaufkommen über die Kommunikationsmittel 1 1.1 , 1 1.2 ermitteln. Es sind aber auch direkte Informationen der Funktionsmodule A-C denkbar, welche entsprechende Informationen der Systemüberwachungseinheit 12 (ähnlich einer Diagnoseschnittstelle) zur Verfügung stellen. Die Bereitstellung der Informationen an Systemüberwachungseinheit 12 kann über die existierenden Kommunikationsmittel 11.1 , 1 1.2 und/oder über die weiteren Kommunikationskanäle 17.1 -17.6 erfolgen. The system monitoring unit 12 itself advantageously analyzes as a passive bus element the communication via the communication means 1 1.1, 1 1.2 provided as a bus and can thus determine corresponding requirements or needs without influencing or even restricting the system behavior. The utilization of the individual functional modules A-C can also be determined implicitly via the communication or a communication volume via the communication means 1 1.1, 1.2. However, direct information of the function modules A-C is also conceivable, which provide corresponding information to the system monitoring unit 12 (similar to a diagnostic interface). The provision of the information to the system monitoring unit 12 can take place via the existing communication means 11.1, 1.2 and / or via the further communication channels 17.1 -17.6.
A priori-lnformationen über die jeweiligen Implementierungen (Deadlines, Fläche, Performanz etc.) der Funktionsmodule A-C sind der Systemüberwachungseinheit 12 bekannt und/oder werden, beispielsweise als MetaInformationen, zusätzlich zu den Funktionsmodulen A-C zur Laufzeit zur Ver- fügung gestellt. Durch eine vorteilhafterweise vorgesehene redundante In- stanzierung der zu verlagernden und/oder auszutauschenden Funktionsmodule A-C, bzw. der entsprechenden Implementierungen der Funktionsmodule A-C kann das System unterbrechungsfrei weiterarbeiten. Die Umschaltung von der ursprünglichen Instanz bzw. Implementierung eines FunktionsmodulsA priori information about the respective implementations (deadlines, area, performance, etc.) of the function modules AC are known to the system monitoring unit 12 and / or, for example as meta-information, in addition to the function modules AC at runtime. made available. The system can continue to operate without interruption by virtue of a redundant introduction of the functional modules AC to be relocated and / or exchanged, or of the corresponding implementations of the functional modules AC. The switchover from the original instance or implementation of a function module
A-C zur neuen Instanz bzw. Implementierung kann im laufenden Betrieb erfolgen. A-C for the new instance or implementation can be done during operation.
In diesem Zusammenhang kann sich eine Network-On-Chip-Architektur oder der zuvor erläuterte Ansatz der konfigurierbaren Kommunikationseinrichtung als vorteilhaft erweisen, da diese eine entsprechende dynamische Kommunikation erlauben, einfache Clusterungen zulassen und die Umschaltung zwischen den Instanzen durch Änderungen im Routing gegebenenfalls nativ unterstützen. In this context, a network-on-chip architecture or the above-described approach of the configurable communication device may prove advantageous, since they allow a corresponding dynamic communication, allow simple clustering and support natively the switching between the instances by changes in the routing, if necessary.
Durch die implizite und kontinuierliche Optimierung des Systems muss die Entwicklung der Funktionalenblöcke nicht angepasst werden. Vielmehr kann der Ansatz auch bei existierenden Systemen angewendet werden und allein durch die dynamische Verlagerung der Funktionsmodule A-C zur Laufzeit (Verringerung des Kommunikationsaufwands) die Performanz und der Energiebedarf optimiert werden. Durch platzsparende Implementierungen der Funktionsmodule A-C lässt sich beispielsweise bei Bedarf Platz für aktuell benötigte performante Instanzen anderer Funktionsmodule A-C schaffen. Auf diese Weise arbeitet das System immer im situationsoptimalen Zustand. Due to the implicit and continuous optimization of the system, the development of the functional blocks need not be adjusted. Rather, the approach can also be applied to existing systems and the performance and energy requirements can be optimized solely by the dynamic shifting of the function modules A-C at runtime (reduction of the communication effort). Space-saving implementations of the function modules A-C make it possible to create space for currently required high-performance instances of other function modules A-C, for example. In this way, the system always works in a situation-optimal state.
In den Figuren 6 bis 8 ist die Funktionsweise der Kommunikationseinrichtung 50, wie in Figur 5 ausführlich erläutert, jeweils an einem Ausführungsbeispiel veranschaulicht. In den nachfolgenden Figuren ist die Systemüberwachungseinheit 12 der Übersichtlichkeit halber nicht dargestellt, jedoch gleichwohl be- reitstellbar. Die jeweilige Schraffur der Funktionsmodule gibt eine Auslastung bzw. Nutzung an, wobei ein weißes Funktionsmodul A-C gering, ein schwarzes Funktionsmodul A-C stark ausgelastet ist, und die übrigen Schraffuren, ihrer Helligkeit entsprechend, Zwischenzustände angeben. Die Flächengröße der Symbole der Funktionsmodule A-C symbolisiert eine reale Größe, bei- spielsweise eine Chipfläche bzw. einer Prozessorbelegung oder -auslastung dieser Module, wobei größer dargestellte Funktionsmodule beispielsweise leistungsfähiger (performanter), jedoch resourcenintensiver sind. In FIGS. 6 to 8, the mode of operation of the communication device 50, as explained in detail in FIG. 5, is illustrated by an exemplary embodiment. In the following figures, the system monitoring unit 12 is not shown for the sake of clarity, but nevertheless preparable. The respective hatching of the function modules indicates a utilization or utilization, whereby one white function module AC is low, one black function module AC is heavily utilized, and the other hatchings, according to their brightness, indicate intermediate states. The area size of the symbols of the function modules AC symbolizes a real size, for example a chip area or a processor occupancy or utilization these modules, with function modules shown in greater detail, for example, more powerful (performant), but more resource-intensive.
In Figur 6A ist eine Kommunikationseinrichtung 50 im Betrieb dargestellt, wobei Funktionsmodul A Block 10.3 und Funktionsmodul C Block 10.1 belegt. Block 10.2 ist unbelegt, Funktionsmodul B ist in einem Prozessor 16 implementiert. In Figur 6A ist Funktionsmodul C in Block 1 zu stark ausgelastet. Es ist daher zweckmäßigerweise eine performantere Implementierung zu instan- zieren. FIG. 6A shows a communication device 50 in operation, with function module A occupying block 10.3 and function module C block 10.1. Block 10.2 is unoccupied, function module B is implemented in a processor 16. In Figure 6A function module C in block 1 is too busy. It is therefore expedient to instantiate a more performant implementation.
Um das System unterbrechungsfrei weiterarbeiten zu lassen, wird das Funktionsmodul C während einer Übergangszeit, wie in Figur 6B dargestellt, parallel instanziert. In Figur 6B läuft eine erste Implementierung des Funktionsmoduls C (stark ausgelastet) in Block 10.1. Eine weitere (leistungsfähigere und damit geringer ausgelastete) Implementierung des Funktionsmoduls C ist gleichzeitig in Block 10.2 instanziert. In order to allow the system to continue working without interruption, the function module C is instantiated in parallel during a transitional time, as shown in FIG. 6B. In FIG. 6B, a first implementation of the function module C (heavily loaded) runs in block 10.1. Another (more efficient and thus less heavily utilized) implementation of the function module C is instantiated in block 10.2 at the same time.
Nach einer Übergangszeit wird die erste, zuvor übermäßig ausgelastete Instanz des Funktionsmoduls C aus Block 10.1 entfernt, wie in Figur 6C darge- stellt. After a transitional period, the first, previously excessively busy instance of the function module C is removed from block 10.1, as shown in FIG. 6C.
Figur 7A zeigt eine Kommunikationseinrichtung 50, in der ein hohes Kommunikationsaufkommen zwischen einem in Block 10.3 implementierten Funktionsmodul A und einem in Block 10.2 implementierten Funktionsmodul C fest- gestellt wird, wodurch Kommunikationsmittel 1 1.1 und 1 1.2 sowie gegebenenfalls die Bridge 15 stark ausgelastet ist. Daher soll Funktionsmodul A näher zu Funktionsmodul C verlagert werden, wozu sich der (unbelegte) Block 10.1 anbietet. Um das System unterbrechungsfrei weiterarbeiten zu lassen, wird das Funktionsmodul A während einer Übergangszeit, wie in Figur 7B dargestellt, parallel instanziert. In Figur 7B läuft eine erste Implementierung des Funktionsmoduls A in Block 10.3. Eine weitere (vorzugsweise funktionell identische) Implementierung des Funktionsmoduls A ist gleichzeitig in Block 10.1 instanziert. Nach einer Übergangszeit wird auch hier die erste, zuvor weiter entfernte Instanz des Funktionsmoduls A aus Block 10.3 entfernt, wie in Figur 7C dargestellt. Somit erfolgt die Kommunikation zwischen den Funktionsmodulen A und C nun nunmehr über Kommunikationsmittel 10.1 , und damit effizienter. FIG. 7A shows a communication device 50 in which a high level of communication between a function module A implemented in block 10.3 and a function module C implemented in block 10.2 is detected, as a result of which communication means 1.1.1 and 1.2 and optionally bridge 15 are heavily utilized. Therefore, function module A should be moved closer to function module C, to which the (unoccupied) block 10.1 offers. In order to allow the system to continue working without interruption, the function module A is instantiated in parallel during a transitional time, as shown in FIG. 7B. In FIG. 7B, a first implementation of the function module A runs in block 10.3. Another (preferably functionally identical) implementation of the function module A is simultaneously instantiated in block 10.1. After a transitional period, the first, previously further removed instance of the function module A is removed from block 10.3, as shown in FIG. 7C. Thus, the communication between the function modules A and C now now via communication means 10.1, and thus more efficient.
Figur 8A zeigt eine Kommunikationseinrichtung 50, in der eine geringe Auslastung eines in Block 10.1 implementierten Funktionsmoduls A festgestellt wird, weshalb sich anbietet, dieses Funktionsmodul A in den Prozessor 16 auszulagern und dort, beispielsweise in Form einer Softwareimplementierung, neben dem Funktionsmodul B auszuführen. FIG. 8A shows a communication device 50 in which a low utilization of a functional module A implemented in block 10. 1 is found, which is why it would be advantageous to outsource this functional module A to the processor 16 and execute it next to the functional module B, for example in the form of a software implementation.
Um das System auch in diesem Fall unterbrechungsfrei weiterarbeiten zu lassen, wird das Funktionsmodul A während einer Übergangszeit, wie in Figur 8B dargestellt, parallel instanziert. In Figur 8B läuft eine erste Implementierung des Funktionsmoduls A noch in Block 10.1. Eine weitere, beispielsweise resourcenschonendere aber leistungsschwächere, Software-Implementierung des Funktionsmoduls A ist gleichzeitig Prozessor 16 realisiert. In order to allow the system to continue working without interruption in this case as well, the function module A is instantiated in parallel during a transitional time, as shown in FIG. 8B. In FIG. 8B, a first implementation of the function module A still runs in block 10.1. Another, for example, resource-saving but less powerful, software implementation of the function module A is at the same processor 16 realized.
Nach einer Übergangszeit wird auch hier die erste, in Block 10.1 implementierte Instanz des Funktionsmoduls A abgeschaltet, wie in Figur 8C dargestellt. After a transitional period, the first instance of the function module A implemented in block 10.1 is also switched off here, as shown in FIG. 8C.

Claims

Ansprüche claims
1. Konfigurierbare Kommunikationseinrichtung (5), insbesondere Kommunikationsbaustein, mit einer Anzahl von Kommunikationsanschlüssen (5.1 - 5.8) zum Anschluss kommunizierender Elemente (1 -4), dadurch gekenn- zeichnet, dass in der Kommunikationseinrichtung (5) nach Maßgabe einer1. Configurable communication device (5), in particular communication module, with a number of communication ports (5.1 - 5.8) for connecting communicating elements (1 -4), characterized in that in the communication device (5) in accordance with a
Konfiguration frei vorgebbare direkte Kommunikationsverbindungen (7) zwischen jeweils wenigstens zwei Kommunikationsanschlüssen (5.1 -5.8) ausbildbar und wieder entfernbar sind. Configuration freely specifiable direct communication links (7) between each at least two communication ports (5.1 -5.8) can be formed and removed again.
2. Konfigurierbare Kommunikationseinrichtung (5) nach Anspruch 1 , die wenigstens eine Konfigurationseinrichtung (6) zur Konfiguration auf Grundlage einer Anforderung durch wenigstens ein kommunizierendes Element (1 -4), insbesondere unter Berücksichtigung einer Kommunikationsreihenfolge zwischen kommunizierenden Elementen (1 -4), aufweist. A configurable communication device (5) according to claim 1, comprising at least one configuration device (6) for configuration based on a request by at least one communicating element (1-4), particularly considering a communication order between communicating elements (1-4) ,
3. Konfigurierbare Kommunikationseinrichtung (5) nach Anspruch 1 oder 2, bei der die Kommunikationsverbindungen (7) wenigstens einen Kommunikationskanal zur Pipelinekommunikation und/oder zum exklusiven Austausch von Datenflüssen beinhalten. 3. Configurable communication device (5) according to claim 1 or 2, wherein the communication links (7) include at least one communication channel for pipeline communication and / or for the exclusive exchange of data flows.
4. Konfigurierbare Kommunikationseinrichtung (5) nach einem der vorstehenden Ansprüche, bei der die Kommunikationsverbindungen (7) wenigstens eine zyklische Kommunikationsverbindung (7) beinhalten. 4. Configurable communication device (5) according to any one of the preceding claims, wherein the communication links (7) comprise at least one cyclical communication link (7).
5. Konfigurierbare Kommunikationseinrichtung (5) nach einem der vorstehenden Ansprüche, die wenigstens ein konfigurierbares Verbindungselement (8), insbesondere ein Feld konfigurierbarer Verbindungselemente (8), aufweist. 5. Configurable communication device (5) according to one of the preceding claims, which has at least one configurable connection element (8), in particular a field of configurable connection elements (8).
6. Konfigurierbare Kommunikationseinrichtung (5) nach einem der vorstehenden Ansprüche, die weitere Kommunikationsstrukturen, insbesondere wenigstens einen Kommunikationsbus, aufweist. 6. Configurable communication device (5) according to one of the preceding claims, the further communication structures, in particular at least one communication bus having.
7. Konfigurierbare Kommunikationseinrichtung (50) nach Anspruch 1 oder dem Oberbegriff des Anspruchs 1 , die Funktionsmodule (A-C) und Kommunikationsmittel (1 1.1 ,1 1.2) zur Kommunikation wenigstens zwischen den Funktionsmodulen (A-C) sowie wenigstens eine Systemüberwachungseinheit (12) aufweist und bei der nach Maßgabe der wenigstens Systemüberwachungseinheit (12) auf Grundlage von durch die Kommunikationsmittel (1 1.1 ,1 1.2) und/oder die Funktionsmodule (A-C) bereitgestellten Systeminformationen eine Verlagerung und/oder ein Austausch von Funktionsmodulen (A-C) vornehmbar ist. 7. Configurable communication device (50) according to claim 1 or the preamble of claim 1, the function modules (AC) and communication means (1 1.1, 1 1.2) for communication at least between the function modules (AC) and at least one system monitoring unit (12) and at on the basis of the at least system monitoring unit (12) on the basis of provided by the communication means (1 1.1, 1 1.2) and / or the function modules (AC) system information, a relocation and / or replacement of functional modules (AC) is vornehmbar.
8. Konfigurierbare Kommunikationseinrichtung (50) nach Anspruch 7, bei der die Systeminformationen eine Auslastung von und/oder ein Kommunikationsaufkommen zwischen den Funktionsmodulen (A-C) beinhalten und durch die Verlagerung und/oder den Austausch von Funktionsmodulen (A-C) die Auslastung von und/oder das Kommunikationsaufkommen zwischen den Funktionsmodulen (A-C) beeinflussbar ist. The configurable communication device (50) of claim 7, wherein the system information includes utilization of and / or communication between the functional modules (AC) and relocation of and / or by relocation and / or replacement of functional modules (AC) the communication volume between the function modules (AC) can be influenced.
9. Verfahren zur Kommunikation zwischen kommunizierenden Elementen (1 -4), das unter Verwendung einer konfigurierbaren Kommunikationseinrichtung (5,50) oder eines Kommunikationssystems nach einem der vorstehenden Ansprüche durchgeführt wird. Method for communicating between communicating elements (1-4) carried out using a configurable communication device (5, 50) or a communication system according to any one of the preceding claims.
10. Verfahren zur Kommunikation zwischen kommunizierenden Elementen (1 -4) nach Anspruch 7 bis 9, bei der im Rahmen der Verlagerung und/oder des Austauschs von Funktionsmodulen (A-C) eine redundante In- stanzierung wenigstens eines Funktionsmoduls (A-C) erfolgt. 10. A method for communication between communicating elements (1 -4) according to claim 7 to 9, wherein in the context of the relocation and / or replacement of functional modules (A-C) a redundant in- stanzierung at least one functional module (A-C) takes place.
PCT/EP2010/068718 2009-12-15 2010-12-02 Configurable communications devices, communications system and method for communication WO2011082903A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102009054646.4 2009-12-15
DE102009054646A DE102009054646A1 (en) 2009-12-15 2009-12-15 Configurable communication device, communication system and method of communication

Publications (1)

Publication Number Publication Date
WO2011082903A1 true WO2011082903A1 (en) 2011-07-14

Family

ID=43598318

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2010/068718 WO2011082903A1 (en) 2009-12-15 2010-12-02 Configurable communications devices, communications system and method for communication

Country Status (2)

Country Link
DE (1) DE102009054646A1 (en)
WO (1) WO2011082903A1 (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4881220A (en) * 1987-08-24 1989-11-14 Toyoda Koki Kabushiki Kaisha Multiplex communication system for sequence controllers
WO1998028882A1 (en) * 1996-12-23 1998-07-02 Symbios, Inc. Dynamic topology configuration in a daisy-chained communication environment
WO2001015383A1 (en) * 1999-08-25 2001-03-01 Nils Marchant A switch and a distributed network protection switching system incorporating said switch
WO2001015363A1 (en) * 1999-08-23 2001-03-01 Marconi Communications, Inc. System and method for packet transport in a ring network
US6317765B1 (en) * 1998-09-16 2001-11-13 Cirrus Logic, Inc. Sinc filter with selective decimation ratios
EP1345362A2 (en) * 2002-03-15 2003-09-17 Broadcom Corporation Fast flexible filter processor architecture for a network device
US20060133551A1 (en) * 2004-12-21 2006-06-22 Davidoff Loan T Configurable filter and receiver incorporating same
US20080037650A1 (en) * 2006-05-19 2008-02-14 Stojancic Mihailo M Methods and Apparatus For Providing A Scalable Deblocking Filtering Assist Function Within An Array Processor
US7480603B1 (en) * 2006-08-16 2009-01-20 Altera Corporation Finite impulse response (FIR) filter compiler

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4881220A (en) * 1987-08-24 1989-11-14 Toyoda Koki Kabushiki Kaisha Multiplex communication system for sequence controllers
WO1998028882A1 (en) * 1996-12-23 1998-07-02 Symbios, Inc. Dynamic topology configuration in a daisy-chained communication environment
US6317765B1 (en) * 1998-09-16 2001-11-13 Cirrus Logic, Inc. Sinc filter with selective decimation ratios
WO2001015363A1 (en) * 1999-08-23 2001-03-01 Marconi Communications, Inc. System and method for packet transport in a ring network
WO2001015383A1 (en) * 1999-08-25 2001-03-01 Nils Marchant A switch and a distributed network protection switching system incorporating said switch
EP1345362A2 (en) * 2002-03-15 2003-09-17 Broadcom Corporation Fast flexible filter processor architecture for a network device
US20060133551A1 (en) * 2004-12-21 2006-06-22 Davidoff Loan T Configurable filter and receiver incorporating same
US20080037650A1 (en) * 2006-05-19 2008-02-14 Stojancic Mihailo M Methods and Apparatus For Providing A Scalable Deblocking Filtering Assist Function Within An Array Processor
US7480603B1 (en) * 2006-08-16 2009-01-20 Altera Corporation Finite impulse response (FIR) filter compiler

Also Published As

Publication number Publication date
DE102009054646A1 (en) 2011-06-16

Similar Documents

Publication Publication Date Title
DE4416881C2 (en) Method for operating a data processing device
EP0642094B1 (en) Method for programming a logic unit
EP3170288B1 (en) Network node, control module for a component and ethernet ring
DE102017214068B4 (en) Method, device and computer program for dynamic resource allocation in a multiprocessor computer system
DE102016000126A1 (en) Serial bus system with coupling modules
EP2520991B1 (en) Method for controlled intervention into the behaviour of a sub-module
EP3149710B1 (en) Vehicle diagnosis device and data communication device
EP2895925B1 (en) Cascaded fieldbus system
DE10153846B4 (en) Ignition or injection module and associated initialization process
WO2012110541A1 (en) Method for transmitting data via a synchronous serial databus
EP2216696B1 (en) Method and communication system for configuring a communication module containing a logic module
DE102016125719A1 (en) Scalable crosspoint switch
WO2011082903A1 (en) Configurable communications devices, communications system and method for communication
DE102015011317A1 (en) Modular RF matrix switch
EP3834388B1 (en) Line driver device for data flow control
EP1750204B1 (en) Method for operating multiple serial bus participants
DE102022120529B4 (en) Method and device for operating a large number of IO-Link devices using an IO-Link master
EP2533113B1 (en) Method for operating an automation device
DE102009043629A1 (en) Serial bus structure
EP3575976A1 (en) Method for determining a physical connection topology of a real-time-capable test device gene set up for control apparatus development
DE602004013458T2 (en) Reconfigurable multiprocessor system especially for the digital processing of radar images
DE19911954A1 (en) Multiplexer bus with local bus nodes
EP1772966B1 (en) Circuit architecture for an integrated circuit
DE10243322B4 (en) Analog reconfigurable data processing device
EP2097999A1 (en) Method for handling data

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10790915

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 10790915

Country of ref document: EP

Kind code of ref document: A1