DE102012224044B4 - Vorrichtung und Verfahren zum Verarbeiten von mit einem Zeitstempel versehenen Daten - Google Patents

Vorrichtung und Verfahren zum Verarbeiten von mit einem Zeitstempel versehenen Daten Download PDF

Info

Publication number
DE102012224044B4
DE102012224044B4 DE102012224044.6A DE102012224044A DE102012224044B4 DE 102012224044 B4 DE102012224044 B4 DE 102012224044B4 DE 102012224044 A DE102012224044 A DE 102012224044A DE 102012224044 B4 DE102012224044 B4 DE 102012224044B4
Authority
DE
Germany
Prior art keywords
data
time
processor
local clock
preprocessing unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102012224044.6A
Other languages
English (en)
Other versions
DE102012224044A1 (de
Inventor
Mathias Nickl
Stefan Jörg
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Deutsches Zentrum fuer Luft und Raumfahrt eV
Original Assignee
Deutsches Zentrum fuer Luft und Raumfahrt eV
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 Deutsches Zentrum fuer Luft und Raumfahrt eV filed Critical Deutsches Zentrum fuer Luft und Raumfahrt eV
Priority to DE102012224044.6A priority Critical patent/DE102012224044B4/de
Publication of DE102012224044A1 publication Critical patent/DE102012224044A1/de
Application granted granted Critical
Publication of DE102012224044B4 publication Critical patent/DE102012224044B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

Vorrichtung (10) zum Verarbeiten von mit einem Zeitstempel versehenen Daten, wobei der Zeitstempel die zeitliche Reihenfolge der Erzeugung der Daten angibt , wobei die Vorrichtung die folgenden Komponenten aufweist:
einen Prozessor (12) zum Durchführen der Berechnungen,
eine Vorverarbeitungseinheit (14) zum Vorverarbeiten der für die Berechnung benötigten Daten, die dem Prozessor (12) zugeführt werden,
dadurch gekennzeichnet, dass
die Vorverarbeitungseinheit (14) die folgenden Komponenten aufweist:
eine lokale Uhr (16), deren aktuelle Zeit immer identisch ist mit der Zeit des jüngsten Zeitstempels aller vorzuverarbeiteten Daten, die der Vorverarbeitungseinheit (14) bis zu diesem Zeitpunkts zugeführt wurden, sodass die lokale Uhr (16) durch die Zeitstempel der eingehenden Daten gestellt wird, wobei der jüngste Zeitstempel, der bis zu einem bestimmten Zeitpunkt in der Vorverarbeitungseinheit (14) eingegangen ist, die aktuelle Zeit der lokalen Uhr (16) zu diesem Zeitpunkt bestimmt,
einen mit der lokalen Uhr (16) verbunden Ereignisfilter (18) zum Vergleichen der Zeitstempel aller in die Vorverarbeitungseinheit (14) eingehenden Daten mit der aktuellen Zeit der lokalen Uhr (16) und zum Verwerfen aller Daten mit einem Zeitstempel, der älter als die aktuelle Zeit der lokalen Uhr (16) ist, und
einem mit dem Ereignisfilter (18) verbundenen Triggercontroller (20), der Kenntnis darüber hat, welche Daten zu einem diskreten Zeitpunkt für das erfolgreiche Durchführen eines Berechnungsschritts im Prozessor (12) benötigt werden,
wobei der Triggercontroller (20) ausgebildet ist, um bei vollständigem Eingang aller zu einem diskreten Zeitpunkt erwarteten Daten ein Übermitteln aller dieser Daten an den Prozessor zu veranlassen, wobei die Vorrichtung (10) einen Datenspeicher (26) zum Speichern der vom Ereignisfilter (18) nicht verworfenen Daten vor deren Übermitteln an dem Prozessor (12) aufweist.

Description

  • Die Erfindung betrifft eine Vorrichtung und Verfahren zum Verarbeiten von Daten, die mit einem Zeitstempel versehen sind. Die erfindungsgemäße Vorrichtung und das Verfahren können insbesondere in Anwendungen der Mechatronik oder der Robotik eingesetzt werden.
  • In derartigen Anwendungen werden eine Vielzahl von Daten, bspw. Sensordaten, durch eine Vielzahl von Prozessoren verarbeitet. Hierzu haben komplexe mechatronische Systeme meist viele verteilte Rechenknoten. Hieraus folgt ein hoher Bedarf an Ressourcen, die für die Kommunikation zwischen den Rechenknoten zuständig sind. Viele dieser Ressourcen werden für die Synchronisation von Ereignissen und das Marshalling von Daten benötigt. Marshalling bezeichnet das Kopieren von Daten, wobei die Anordnung der Daten geändert wird. Bei Prozessoren stellen diese Aufgaben einen erheblichen Anteil der Auslastung dar. Besonders bei hochintegrierten und leistungsoptimierten Systemen, ist es notwendig diese Aufgaben effizienter zu implementieren, da ansonsten die geforderte Performance nicht erreicht werden kann.
  • US 2012/0081567 A1 beschreibt ein Verfahren zum Verarbeiten von Daten, die mit einem Zeitstempel versehen sind. Hierbei geht es um eine Audio-Video Synchronisierung.
  • DE 600 04 721 T2 beschreibt einen virtuellen Gerätebetreiber, bei dem unter anderem eine Gültigkeitsprüfung eines empfangenen Zeichens unter Verwendung eines Zeitstempels durchgeführt wird.
  • Aufgabe der Erfindung ist es, eine Vorrichtung und ein Verfahren zum effizienteren Verarbeiten von zeitkritischen Daten bereitzustellen.
  • Die Lösung der Aufgabe erfolgt erfindungsgemäß durch die Merkmale der Ansprüche 1 und 5.
  • Die erfindungsmäße Vorrichtung dient dem Verarbeiten von Daten, die mit einem Zeitstempel versehen sind. Der Zeitstempel stellt hierbei einen digitalen Wert dar, wobei ein Inkrement dieses Wertes einem festen Zeitintervall zugeordnet werden kann. Außerdem repräsentiert der Zeitstempel die zeitliche Reihenfolge, in der die Daten erzeugt wurden. Bspw. kann es sich hierbei um Sensordaten handeln, die insbesondere in gleichbleibenden zeitlichen Abständen erzeugt wurden. Bspw. kann es sich hierbei auch um die Ausgangsdaten einer Datenquelle handeln, die ein zeitdiskretes Sinussignal erzeugt.
  • Die erfindungsgemäße Vorrichtung weist einen Prozessor zum Durchführen der Berechnungen und eine Vorverarbeitungseinheit zum Vorverarbeiten der für die Berechnungen benötigten Daten auf, die dem Prozessor zugeführt werden. Der Prozessor und die Vorverarbeitungseinheit können Teil eines größeren Gesamtsystems sein, bspw. eines komplexen mechatronischen Systems mit vielen verteilten Rechenknoten, wobei jeder Rechenknoten jeweils mindestens einen Prozessor und mindestens eine Vorverarbeitungseinheit enthält. Jeder Rechenknoten erhält somit Eingangsdaten, die von ihm bearbeitet werden und gibt diese Daten nach Bearbeitung als Ausgangsdaten an den nächsten bzw. mehrere der nächsten Rechenknoten aus, die diese Daten wiederrum weiter verarbeiten. Insofern können Rechenknoten ihre Eingangsdaten entweder von Sensoren oder von anderen Rechenknoten erhalten.
  • Die erfindungsgemäße Vorverarbeitungseinheit weist eine lokale Uhr auf, deren aktueller Zustand immer identisch ist mit dem jüngsten Zeitstempel aller vorzuverabeiteten Daten, die der Vorverarbeitungseinheit bis zu diesem Zeitpunkt zugeführt wurden. Die lokale Uhr gibt somit nicht die tatsächliche Zeit wieder, sondern wird durch die Zeitstempel der eingehenden Daten gestellt, wobei der jüngste Zeitstempel, der bis zu einem bestimmten Zeitpunkt in der Vorverarbeitungseinheit eingegangen ist, die aktuelle Zeit der lokalen Uhr zu diesem Zeitpunkt bestimmt.
  • Die Vorverarbeitungseinheit weist ferner einen mit der lokalen Uhr verbundenen Ereignisfilter zum Vergleichen der Zeitstempel aller in die Vorverarbeitungseinheit eingehenden Daten mit der aktuellen Zeit der lokalen Uhr auf. Dieser Ereignisfilter dient ferner dem Verwerfen aller Daten mit einem Zeitstempel, der älter als die aktuelle Zeit der lokalen Uhr ist. Anders ausgedrückt, führt der Ereignisfilter nur solche Daten der weiteren Verarbeitung durch den Prozessor zu, deren Zeitstempel identisch mit der aktuellen Zeit der lokalen Uhr ist. Empfängt der Ereignisfilter einen Zeitstempel, der jünger als die aktuelle Zeit der lokalen Uhr ist, so wird die aktuelle Zeit der lokalen Uhr gemäß diesem Zeitstempel aktualisiert. In einem weiteren Schritt wird dann geprüft, ob die bisher eingegangen Daten mit dem bisher aktuellen Zeitstempel für das erfolgreiche Durchführen eines Berechnungsschritts im Prozessor ausreichen. Dieser letztgenannte Schritt wird durch einen mit dem Ereignisfilter verbunden Triggercontroller durchgeführt, der Kenntnis darüber hat, welche Daten zu einem diskreten Zeitpunkt für das erfolgreiche Durchführen eines Berechnungsschritts im Prozessor benötigt werden. Der Triggercontroller ist ausgebildet, um beim vollständigen Eingang aller zu einem diskreten Zeitpunkt erwarteten Daten ein vorzugsweise blockweises Übermitteln aller dieser Daten an den Prozessor zu veranlassen.
  • Ziel dieser letztgenannten Maßnahme ist zu verhindern, dass der Prozessor lückenhafte Datenblöcke erhält, die nicht alle Daten enthalten, die für das erfolgreiche Durchführen eines Berechnungsschritts notwendig sind. Würde der Prozessor einen Berechnungsschritt, basierend auf einem solchen lückenhaften Datenblock starten, würden hiermit kostbare Rechenressourcen im Prozessor verschwendet werden. Dies wird erfindungsgemäß dadurch verhindert, dass der Triggercontroller derartige lückenhafte Datenblöcke überhaupt nicht an dem Prozessor weiterleitet.
  • Ein Datenblock kann bspw. dann lückenhaft sein, wenn ein oder mehrere Dateneinträge aufgrund von Übertragungsschwierigkeiten oder anderen Problemen verspätet bei der Vorverarbeitungseinheit ankommen. In diesem Fall können diese verspäteten Daten nicht mehr für das erfolgreiche Durchführen des Berechnungsschritts für den Datenblock, zu dem sie eigentlich gehören, verwendet werden. Eine Übermittlung dieser verspäteten Daten oder des lückenhaften Datenblocks an dem Prozessor macht somit keinen Sinn und wird erfindungsgemäß durch den Triggercontroller unterbunden.
  • Es wird somit die Synchronisation der für die Berechnung durch einen Prozessor benötigten Eingangsdaten ausgelagert und wird nicht mehr durch den Prozessor selbst durchgeführt. Mit anderen Worten wartet somit die Vorverarbeitungseinheit auf alle Ereignisse, die zu einem diskreten Zeitpunkt erwartet werden, wobei ein Ereignis ein Tupel aus Zeitstempel und Daten ist. Wenn alle erwarteten Ereignisse eingetroffen sind, wird ein Triggerereignis ausgelöst, das die nachfolgende Bearbeitung auf dem Prozessor startet. Durch die erfindungsgemäße Vorrichtung ist es möglich, einen erheblichen Anteil der Auslastung auf dem Prozessor einzusparen. Die Vorrichtung ist somit in besonderer Weise geeignet für komplexe mechatronische Systeme mit vielen verteilten Rechenknoten.
  • Die Vorrichtung ist vorzugweise eine ASIC-Einheit oder ein konfigurierbarer Hardware-Baustein, insbesondere eine FPGA-Einheit, wobei die Vorverarbeitungseinheit lokal in dieser ASIC- oder FPGA-Einheit implementiert ist.
  • Weiterhin ist es bevorzugt, dass die Vorrichtung einen Arbiter zum Sequentialisieren von parallel eingehenden Daten aufweist, wobei dieser der lokalen Uhr und dem Ereignisfilter in Datenflussrichtung vorgeschaltet ist. Werden bspw. der Vorverarbeitungseinheit Sensordaten parallel zugeführt, so können diese durch den Arbiter sequentialisiert werden.
  • Weiterhin weist die Vorrichtung bevorzugt eine Vorrichtung zum Marshalling zum Umsortieren der Daten unter Berücksichtigung der Hardware-Architektur des Prozessors und/oder der Applikation, für die die Berechnungen durchgeführt werden, auf. Hierdurch kann die Arbeitseffizienz des Prozessors weiterhin gesteigert werden, da er Daten so erhält, dass er sie schneller bearbeiten kann.
  • Die erfindungsgemäße Vorrichtung weist ferner einen Datenspeicher auf, zum Speichern der vom Ereignisfilter nicht verworfenen Daten vor deren vorzugsweise blockweisem Übermitteln an den Prozessor. Dieser Datenspeicher ist bevorzugt in die Vorverarbeitungseinheit integriert und dient dem Zwischenspeichern der genannten Daten, solange noch weitere Daten eingehen, deren Zeitstempel identisch mit der aktuellen Zeit der lokalen Uhr ist. Ein Übermitteln der im Datenspeicher zwischengespeicherten Daten an den Prozessor wird vom Triggercontroller dann veranlasst, wenn alle zu diesem diskreten Zeitpunkt erwarteten Daten vorhanden sind.
  • Das Übermitteln der Daten von der Vorverarbeitungseinheit an den Prozessor kann unter Verwendung eines doppelten Puffers (Doublebuffering) erfolgen. Hierbei schreibt die Vorverarbeitungseinheit die im laufenden Zyklus eingehenden Daten in den ersten Buffer, während der Prozessor aus dem zweiten Buffer zur gleichen Zeit die Daten aus dem vorangegangenen Zyklus ausliest. Dies sind somit diejenigen Daten, die durch die Vorverarbeitungseinheit im vorangehenden Zyklus in den Buffer geschrieben wurden. Durch den Triggercontroller kann ein Umschalten zwischen den beiden Buffern erfolgen. Dies bedeutet, dass wenn alle zu diesen diskreten Zeitpunkt erwarteten Daten in der Vorverarbeitungseinheit vorhanden sind, der erste Buffer zum zweiten Buffer wird und vom Prozessor ausgelesen werden kann, sodass im nächsten Verarbeitungszyklus der erste Buffer wieder mit Daten durch die Vorverarbeitungseinheit gefüllt werden kann.
  • Die Erfindung betrifft ferner ein Verfahren zum Verarbeiten von Daten, die mit einem Zeitstempel versehen sind, wobei der Zeitstempel einen digitalen Wert darstellt, wobei ein Inkrement dieses Wertes einem festen Zeitintervall zugeordnet werden kann. Außerdem repräsentiert der Zeitstempel die zeitliche Reihenfolge, in der die Daten erzeugt wurden. Das erfindungsgemäße Verfahren eignet sich besonders zur Durchführung auf der erfindungsgemäßen Vorrichtung und kann sämtliche Merkmale aufweisen, die im Zusammenhang mit der Vorrichtung beschrieben wurden. Ebenso kann die Vorrichtung sämtliche Merkmale des erfindungsgemäßen Verfahrens aufweisen.
  • Das Verfahren weist die folgenden Verfahrensschritte auf:
    1. a) Es werden die Zeitstempel aller Daten, die der Vorverarbeitungseinheit zugeführt werden, erfasst.
    2. b) Die aktuelle Zeit einer lokalen Uhr in der Vorverarbeitungseinheit wird gestellt nach dem jüngsten Zeitstempel aller vorzuverarbeiteten Daten, die der Vorverarbeitungseinheit bis zu diesem Zeitpunkt zugeführt wurden.
    3. c) Es werden die Zeitstempel aller in die Vorverarbeitungseinheit eingehenden Daten mit der aktuellen Zeit der lokalen Uhr verglichen.
    4. d) Alle Daten deren Zeitstempel älter als die aktuelle Zeit der lokalen Uhr ist, werden verworfen, da sie nicht mehr aktuell sind und verzögert bei der Vorverarbeitungseinheit angekommen sind. Diese Daten können für einen erfolgreichen Berechnungsschritt im Prozessor nicht mehr verwendet werden und werden somit von der Vorverarbeitungseinheit nicht an dem Prozessor weitergeleitet, um nicht unnötig Ressourcen zu verschwenden.
    5. e) Alle Daten, deren Zeitstempel identisch mit der aktuellen Zeit der lokalen Uhr ist, werden in einem Datenspeicher gesammelt oder zwischengespeichert.
    6. f) Geht ein Dateneintrag mit einem Zeitstempel in der Vorverarbeitungseinheit ein, der jünger ist als die bisherige aktuelle Zeit der lokalen Uhr, so wird die aktuelle Zeit der lokalen Uhr gemäß diesem neuen jüngeren Zeitstempel aktualisiert. Dies ist der Zeitstempel, der an die im Datenspeicher abgelegten Daten angefügt wird, die dann an den Prozessor übermittelt werden.
    7. g) Bevor dies geschieht, überprüft ein Triggercontroller, ob alle zu diesem diskreten Zeitpunkt für die erfolgreiche Durchführung eines Berechnungsschritts im Prozessor benötigten Daten im Datenspeicher vorhanden sind.
    8. h) Bei vollständigem Vorhandensein aller zu diesem diskreten Zeitpunkt erwarteten Daten, erfolgt ein Übermitteln aller dieser Daten aus dem Datenspeicher an den Prozessor.
    9. i) Anschließend wird ein Berechnungsschritt durch den Prozessor durchgeführt, wobei hierbei die durch die Vorverarbeitungseinheit vorverarbeiteten Daten verwendet werden.
  • Es ist bevorzugt, dass dem Triggercontroller zur Laufzeit, d.h. im laufenden Betrieb der erfindungsgemäßen Vorrichtung, die Information übermittelt wird, welche Daten vom Prozessor zu einem diskreten Zeitpunkt für die erfolgreiche Durchführung eines Berechnungsschritts notwendig sind. Diese Informationen können dem Triggercontroller direkt vom Prozessor oder von einer anderen Instanz übermittelt werden, und können zur Laufzeit dynamisch angepasst werden.
  • Im Folgenden werden bevorzugte Ausführungsformen der Erfindung anhand von Figuren erläutert.
  • Eine dynamische Anpassung kann auch auf Basis der in der Vorverarbeitungseinheit eingehenden Daten erfolgen. Wenn bspw. einer der Sensoren ausfällt, die Daten an die Vorverarbeitungseinheit übermitteln, kann die Vorverarbeitungseinheit den Kanal auf dem dieser ausgefallene Sensor seine Daten übermittelt hat, nach einer bestimmten Zeit, vorzugsweise nach ein bis zwei Takten (oder Zyklen) ausschalten. Dies bedeutet, dass der Triggercontroller diese Daten des ausgefallenen Sensor, d.h. dieses Ereignis nicht mehr erwartet. Hierdurch ist es möglich, den Signalfluss an den Prozessor auch bei einem ausgefallenen Sensor aufrechtzuerhalten. Sofern der ausgefallene Sensor wieder Daten liefert, kann der Kanal erneut angeschaltet werden. Dies bedeutet, dass der Triggercontroller die Daten dieses Kanals wieder erwartet.
  • Es zeigen:
    • 1 ein beispielhaftes Blockschaltbild einer Ausführungsform der erfindungsgemäßen Vorrichtung,
    • 2 ein Ablaufdiagramm einer beispielhaften Ausführungsform des erfindungsgemäßen Verfahrens.
  • Das Blockschaltbild gemäß 1 stellt beispielhaft eine Ausführungsform der Vorrichtung 10 dar. Diese umfasst den Arbiter 22, der eine Vielzahl parallel eingehender Daten sequentialisiert und an den Ereignisfilter 18 übermittelt. Gleichzeitig werden diese Daten inklusive ihres Zeitstempels an die lokale Uhr 16 übermittelt. Diese wird immer gemäß dem jüngsten Zeitstempel gestellt. Der Ereignisfilter 18 verwirft alle Daten mit einem Zeitstempel älter als die aktuelle Zeit der lokalen Uhr 16. Alle Daten, deren Zeitstempel der aktuellen Zeit der lokalen Uhr 16 entspricht, werden vom Ereignisfilter 18 einem Datenspeicher 26 zugeführt.
  • Die Vorrichtung 10 umfasst ferner einen Triggercontroller 20, der z.B. vom Prozessor 12 die Information darüber erhält, welche Daten der Prozessor 12 für das erfolgreiche Durchführen eines Berechnungsschritts benötigt. Sobald diese Daten vollständig im Datenspeicher 26 vorhanden sind, veranlasst der Triggercontroller 20 ein vorzugsweise blockweises Übermitteln dieser Daten vom Datenspeicher 26 an den Prozessor 12.
  • Die Vorrichtung 10 kann ferner einen Marshaller 24 aufweisen, durch den die Daten umsortiert werden können, um effizienter vom Prozessor 12 bearbeitet werden zu können. Das Umsortieren kann sowohl beim Schreiben 24a in den Datenspeicher 26 als auch beim Lesen 24b der Daten aus dem Speicher 26 erfolgen.
  • 2 stellt ein beispielhaftes Ablaufdiagramm für das erfindungsgemäße Verfahren dar. Durch den Arbiter erfolgt ein paralleles Warten auf ein Event (100). Die anschließende Entscheidung (200) wird durch den Ereignisfilter getroffen, wobei abgefragt wird, ob der Zeitstempel eines Dateneintrags tn<t ist. Hierbei entspricht t der aktuellen Zeit der lokalen Uhr. Sofern dies der Fall ist, bedeutet dies, dass dieser Dateneintrag veraltet ist und nicht mehr verwendet werden kann. Er wird somit verworfen.
  • Sofern tn>t wird ein Update (300) der aktuellen Zeit t der lokalen Uhr durchgeführt.
  • Sofern der Zeitstempel identisch mit der aktuellen Zeit der lokalen Uhr ist (tn=t), wird dieser Dateneintrag in den Datenspeicher kopiert (400).
  • Anschließend überprüft der Triggercontroller, ob alle erwarteten Ereignisse für den diskreten Zeitpunkt t vorhanden sind (500). Sofern dies der Fall ist, werden die entsprechenden Berechnungen auf den Prozessor getriggert und die benötigten Daten an diesen übertragen.

Claims (6)

  1. Vorrichtung (10) zum Verarbeiten von mit einem Zeitstempel versehenen Daten, wobei der Zeitstempel die zeitliche Reihenfolge der Erzeugung der Daten angibt , wobei die Vorrichtung die folgenden Komponenten aufweist: einen Prozessor (12) zum Durchführen der Berechnungen, eine Vorverarbeitungseinheit (14) zum Vorverarbeiten der für die Berechnung benötigten Daten, die dem Prozessor (12) zugeführt werden, dadurch gekennzeichnet, dass die Vorverarbeitungseinheit (14) die folgenden Komponenten aufweist: eine lokale Uhr (16), deren aktuelle Zeit immer identisch ist mit der Zeit des jüngsten Zeitstempels aller vorzuverarbeiteten Daten, die der Vorverarbeitungseinheit (14) bis zu diesem Zeitpunkts zugeführt wurden, sodass die lokale Uhr (16) durch die Zeitstempel der eingehenden Daten gestellt wird, wobei der jüngste Zeitstempel, der bis zu einem bestimmten Zeitpunkt in der Vorverarbeitungseinheit (14) eingegangen ist, die aktuelle Zeit der lokalen Uhr (16) zu diesem Zeitpunkt bestimmt, einen mit der lokalen Uhr (16) verbunden Ereignisfilter (18) zum Vergleichen der Zeitstempel aller in die Vorverarbeitungseinheit (14) eingehenden Daten mit der aktuellen Zeit der lokalen Uhr (16) und zum Verwerfen aller Daten mit einem Zeitstempel, der älter als die aktuelle Zeit der lokalen Uhr (16) ist, und einem mit dem Ereignisfilter (18) verbundenen Triggercontroller (20), der Kenntnis darüber hat, welche Daten zu einem diskreten Zeitpunkt für das erfolgreiche Durchführen eines Berechnungsschritts im Prozessor (12) benötigt werden, wobei der Triggercontroller (20) ausgebildet ist, um bei vollständigem Eingang aller zu einem diskreten Zeitpunkt erwarteten Daten ein Übermitteln aller dieser Daten an den Prozessor zu veranlassen, wobei die Vorrichtung (10) einen Datenspeicher (26) zum Speichern der vom Ereignisfilter (18) nicht verworfenen Daten vor deren Übermitteln an dem Prozessor (12) aufweist.
  2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Vorrichtung (10) eine ASIC-Einheit oder FPGA-Einheit ist und die Vorverarbeitungseinheit (14) lokal in diese ASIC-Einheit oder FPGA-Einheit implementiert ist.
  3. Vorrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Vorrichtung (10) einen Arbiter (22) zum Sequentialisieren von parallel eingehenden Daten aufweist, wobei der Arbiter (22) der lokalen Uhr (16) und dem Ereignisfilter (18) in Datenflussrichtung vorgeschaltet ist.
  4. Vorrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Vorrichtung (10) einen Marshaller (24) zum Umsortieren der Daten unter Berücksichtigung der Hardware-Architektur des Prozessors (12) und/oder der Applikation, für die die Berechnungen durchgeführt werden, aufweist.
  5. Verfahren zum Verarbeiten von mit einem Zeitstempel versehenen Daten, wobei der Zeitstempel die zeitliche Reihenfolge der Erzeugung der Daten angibt, wobei das Verfahren durchgeführt wird von einer Vorrichtung (10) mit einer Vorverarbeitungseinheit (14) und einem Prozessor (12) und wobei das Verfahren die folgenden Verfahrensschritte aufweist: a) Erfassen der Zeitstempel aller Daten, die der Vorverarbeitungseinheit (14) zugeführt werden, b) Stellen der aktuellen Zeit einer lokalen Uhr (16) in der Vorverarbeitungseinheit (14) nach dem jüngsten Zeitstempel aller vorzuverarbeiteten Daten, die der Vorverarbeitungseinheit (14) bis zu diesem Zeitpunkt zugeführt wurden, c) Vergleichen der Zeitstempel aller in die Vorverarbeitungseinheit (14) eingehenden Daten mit der aktuellen Zeit der lokalen Uhr (16), d) Verwerfen aller Daten, deren Zeitstempel älter als die aktuelle Zeit der lokalen Uhr (16) ist, e) Sammeln aller Daten in einem Datenspeicher (26), deren Zeitstempel identisch mit der aktuellen Zeit der lokalen Uhr (16) ist, f) Aktualisieren der aktuellen Zeit der lokalen Uhr (16) gemäß einem Zeitstempel, der jünger als die bisherige aktuelle Zeit der lokalen Uhr (16) ist, g) Überprüfen durch einen Triggercontroller (20), ob alle zu einem diskreten Zeitpunkt für die erfolgreiche Durchführung eines Berechnungsschritts im Prozessor (12) benötigten Daten im Datenspeicher (26) vorhanden sind, h) bei vollständigem Vorhandensein aller zu einem diskreten Zeitpunkt erwarteten Daten, blockweises Übermitteln aller dieser Daten aus dem Datenspeicher (26) an den Prozessor (12), i) Durchführen eines Berechnungsschritts durch den Prozessor (12) unter Verwendung der durch die Vorverarbeitungseinheit (14) vorverarbeiteten Daten.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass dem Triggercontroller (20) zur Laufzeit die Information übermittelt wird, welche Daten vom Prozessor (12) zu einem diskreten Zeitpunkt für die erfolgreiche Durchführung eines Berechnungsschritts notwendig sind.
DE102012224044.6A 2012-12-20 2012-12-20 Vorrichtung und Verfahren zum Verarbeiten von mit einem Zeitstempel versehenen Daten Active DE102012224044B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102012224044.6A DE102012224044B4 (de) 2012-12-20 2012-12-20 Vorrichtung und Verfahren zum Verarbeiten von mit einem Zeitstempel versehenen Daten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102012224044.6A DE102012224044B4 (de) 2012-12-20 2012-12-20 Vorrichtung und Verfahren zum Verarbeiten von mit einem Zeitstempel versehenen Daten

Publications (2)

Publication Number Publication Date
DE102012224044A1 DE102012224044A1 (de) 2014-06-26
DE102012224044B4 true DE102012224044B4 (de) 2019-04-04

Family

ID=50878681

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012224044.6A Active DE102012224044B4 (de) 2012-12-20 2012-12-20 Vorrichtung und Verfahren zum Verarbeiten von mit einem Zeitstempel versehenen Daten

Country Status (1)

Country Link
DE (1) DE102012224044B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016102282B4 (de) * 2016-02-10 2024-01-04 Phoenix Contact Gmbh & Co. Kg Verfahren und Vorrichtung zum Überwachen einer Datenverarbeitung und -übertragung in einer Sicherheitskette eines Sicherheitssystems

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60004721T2 (de) 1999-04-12 2004-06-17 Eaton Corp., Cleveland Virtueller Gerätetreiber
US20120081567A1 (en) 2010-09-30 2012-04-05 Apple Inc. Techniques for synchronizing audio and video data in an image signal processing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60004721T2 (de) 1999-04-12 2004-06-17 Eaton Corp., Cleveland Virtueller Gerätetreiber
US20120081567A1 (en) 2010-09-30 2012-04-05 Apple Inc. Techniques for synchronizing audio and video data in an image signal processing system

Also Published As

Publication number Publication date
DE102012224044A1 (de) 2014-06-26

Similar Documents

Publication Publication Date Title
EP2513796B1 (de) Verfahren zum betreiben einer recheneinheit
DE3400723C2 (de)
EP2110995B1 (de) Datenübertragungsvorrichtung
EP1371181B1 (de) Synchronisation wenigstens eines teilnehmers eines bussystems
EP1428084B1 (de) Verfahren und vorrichtung zur zeitbestimmung in einem bussystem und bussystem
EP1917589B1 (de) Verfahren und vorrichtung zum vergleich von daten bei einem rechnersystem mit wenigstens zwei ausführungseinheiten
DE112020004089T5 (de) Daisy-chain-streaming-modus
DE102011101064A1 (de) Formale methoden nutzende zeitsteuerungsanalyse
WO2012089579A1 (de) Verfahren und vorrichtung zur verarbeitung von datenelementen mit minimaler latenzzeit
DE102012224044B4 (de) Vorrichtung und Verfahren zum Verarbeiten von mit einem Zeitstempel versehenen Daten
EP1064589B1 (de) Verfahren zur synchronisation einer lokalen auf eine zentrale zeitbasis, und vorrichtung zur durchführung des verfahrens mit bevorzugen verwendungen
DE102016221526A1 (de) Vorrichtung und Verfahren zum Bearbeiten einer Mehrzahl Aufgaben
DE112011100168T5 (de) Erfassen von Diagnosedaten in einer Datenverarbeitungsumgebung
DE10148109B4 (de) Verfahren zum Speichern oder Weiterleiten von Daten
DE102004059972B4 (de) Thread-Scheduling-Verfahren, und Thread-List-Scheduler-Vorrichtung
DE112014003067T5 (de) Speicherprogrammierbare Steuerung
EP0978039B1 (de) Aufdatverfahren
DE112015007097B4 (de) Übertragungssteuervorrichtung, Fahrzeug und Übertragungssteuerverfahren
DE102007034684A1 (de) Verfahren zum Betrieb eines Multiprozessorsystems, insbesondere im Zusammenhang mit einem medizinischen bildgebenden System
EP2932634A1 (de) Zuweisen von zeitstempeln zu empfangenen datenpaketen
DE102005009083B4 (de) Multithread-Prozessor mit einer Synchronisationseinheit und Verfahren zum Betreiben eines solchen
DE102005008519B4 (de) Verfahren zum Überwachen eines Verzeichnisses in einem Drucksystem, Computerprogramm-Produkt und Drucksystem zum Ausführen dieses Verfahrens
DE102019006642A1 (de) Numerische Steuerung
EP0970426B1 (de) Abhängigkeitssteuerung für überlappende speicherzugriffe
DE102017005944B4 (de) Vorrichtung und Verfahren zur gerätetechnischen Erkennung von Verletzungen von zyklischen Echtzeitbedingungen in Datenverarbeitungseinheiten und -systemen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final