DE10148109A1 - Verfahren zum Speichern oder Weiterleiten von Daten - Google Patents

Verfahren zum Speichern oder Weiterleiten von Daten

Info

Publication number
DE10148109A1
DE10148109A1 DE10148109A DE10148109A DE10148109A1 DE 10148109 A1 DE10148109 A1 DE 10148109A1 DE 10148109 A DE10148109 A DE 10148109A DE 10148109 A DE10148109 A DE 10148109A DE 10148109 A1 DE10148109 A1 DE 10148109A1
Authority
DE
Germany
Prior art keywords
data
information
time
stored
forwarded
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.)
Granted
Application number
DE10148109A
Other languages
English (en)
Other versions
DE10148109B4 (de
Inventor
Klaus D Maier
Sammy El Baradie
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE10148109A priority Critical patent/DE10148109B4/de
Priority to EP02774421A priority patent/EP1456756A2/de
Priority to PCT/DE2002/003645 priority patent/WO2003029953A2/de
Priority to US10/490,992 priority patent/US7577878B2/en
Publication of DE10148109A1 publication Critical patent/DE10148109A1/de
Application granted granted Critical
Publication of DE10148109B4 publication Critical patent/DE10148109B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/835Timestamp
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Infusion, Injection, And Reservoir Apparatuses (AREA)

Abstract

Das beschriebene Verfahren zeichnet sich dadurch aus, daß die Daten zusammen mit einer Information gespeichert oder weitergeleitet werden, aus welcher ermittelbar ist, in welcher Reihenfolge, zu welchem Zeitpunkt und/oder innerhalb welchen Zeitraumes die betreffenden Daten erfaßt, gespeichert oder weitergeleitet wurden.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren gemäß dem Oberbegriff des Patentanspruchs 1, d. h. ein Verfahren zum Speichern oder Weiterleiten von Daten.
  • Solche Verfahren sind seit vielen Jahren in unzähligen Ausführungsformen bekannt und bedürfen keiner näheren Erläuterung.
  • Ein System, bei welchem innerhalb kurzer Zeiträume besonders große Datenmengen zu erfassen, zwischenzuspeichern und weiterzuleiten sind, ist eine programmgesteuerte Einheit wie beispielsweise ein Mikroprozessor, ein Mikrocontroller oder ein Signalprozessor, welcher Debug-Ressourcen aufweist, durch welche zur Überwachung der innerhalb der programmgesteuerten Einheit ablaufenden Vorgänge dienende Trace-Informationen ausgegeben werden können.
  • Zu den in programmgesteuerten Einheiten enthaltenen Debug- Ressourcen gehören beispielsweise die sogenannten On-Chip- Debug-Support-Module bzw. OCDS-Module.
  • Solche und andere Debug-Ressourcen ermöglichen es, das Auftreten von von außerhalb der programmgesteuerten Einheit vorgebbaren Zuständen oder Ereignissen innerhalb der programmgesteuerten Einheit zu überwachen und dann, wenn ein solcher Zustand oder ein solches Ereignis aufgetreten ist, von außerhalb der programmgesteuerten Einheit vorgebbare Aktionen durchzuführen oder zu veranlassen.
  • Die Zustände oder Ereignisse, deren Auftreten durch die Debug-Ressourcen überwachbar sind, können beispielsweise, aber bei weitem nicht ausschließlich umfassen:
    • - den Zugriff der programmgesteuerten Einheit oder bestimmter Komponenten derselben auf bestimmte Speicheradressen oder Register, und/oder
    • - den Transfer bestimmter Daten innerhalb der programmgesteuerten Einheit, und/oder
    • - den Stand des Instruction Pointers.
  • Die Aktionen, die die Debug-Ressourcen beim Auftreten eines solchen oder anderen Zustandes oder Ereignisses ausführen oder veranlassen, können beispielsweise, aber ebenfalls nicht ausschließlich umfassen:
    • - eine Meldung des Umstandes, daß die zu überwachende Bedingung eingetreten ist, an eine außerhalb der programmgesteuerten Einheit vorgesehene Einrichtung,
    • - das Auslesen oder das Verändern des Inhalts bestimmter Speicherelemente oder Register,
    • - die Ausgabe von Trace-Informationen, d. h. die Ausgabe von innerhalb der programmgesteuerten Einheit transferierten oder verwendeten Adressen, Daten und/oder Steuersignalen, an eine außerhalb der programmgesteuerten Einheit vorgesehenen Einrichtung,
    • - das Anhalten der Programmausführung,
    • - die Fortsetzung des Programmausführung im sogenannten Single-Step-Modus, oder
    • - das Ausführen von zum Debuggen oder Emulieren der programmgesteuerten Einheit dienenden Routinen durch die CPU der programmgesteuerten Einheit.
  • Die Daten, die durch die Debug-Ressourcen ausgegeben werden, werden an die externe Einrichtung ausgegeben, welche die von den Debug-Ressourcen zu überwachenden Zustände und/oder Ereignisse, und die von den Debug-Ressourcen auszuführenden Aktionen vorgeben. Die externe Einrichtung kann anhand der ihr von den Debug-Ressourcen zugeführten Daten die innerhalb der programmgesteuerten Einheit ablaufenden Vorgänge verfolgen und dadurch innerhalb der programmgesteuerten Einheit auftretende Fehler lokalisieren.
  • Vorliegend interessieren besonders die vorstehend bereits erwähnten Trace-Informationen, welche durch die Debug-Ressourcen ausgegeben werden können. Die Trace-Informationen umfassen Adressen, Daten und/oder Steuersignale, die bei jedem Auftreten der zu überwachenden Zustände und/oder Ereignisse, oder innerhalb einer gewissen Zeit vor und/oder nach dem Auftreten der zu überwachenden Zustände und/oder Ereignisse innerhalb der programmgesteuerten Einheit transferiert oder verwendet werden.
  • Der prinzipielle Aufbau des Teils einer programmgesteuerten Einheit, der für die Erfassung, die Zwischenspeicherung, und die Ausgabe der Trace-Informationen zuständig ist, ist in Fig. 1 veranschaulicht.
  • Die in der Fig. 1 gezeigte Anordnung enthält n erste Zwischenspeicher ZS1-1 bis ZS1-n, eine die Zwischenspeicher ZS1- 1 bis ZS1-n steuernde Steuereinrichtung C, und einen den ersten Zwischenspeichern ZS1-1 bis ZS1-n nachgeschalteten zweiten Zwischenspeicher ZS2.
  • Die ersten Zwischenspeicher ZS1-1 bis ZS1-n sind über Leitungen ADS mit den Einrichtungen der programmgesteuerten Einheit verbunden, welche die ausgebbaren Trace-Informationen erzeugen, transferieren oder verwenden. Die Verbindung erfolgt derart, daß jedem der ersten Zwischenspeicher ZS1-1 bis ZS1-n ein ganz bestimmter Teil der ausgebbaren Trace-Informationen zugeführt wird, beispielsweise
    • - dem Zwischenspeicher ZS1-1 die Adressen, welche über einen die Komponenten der programmgesteuerten Einheit miteinander verbindenden Bus übertragen werden,
    • - dem Zwischenspeicher ZS1-2 die Daten, welche über den die Komponenten der programmgesteuerten Einheit miteinander verbindenden Bus übertragen werden,
    • - dem Zwischenspeicher ZS1-3 die Steuersignale, welche zwischen den Komponenten der programmgesteuerten Einheit transferiert werden, und
    • - dem Zwischenspeicher ZS1-n der jeweils aktuelle Stand des Programm Counter.
  • Der Vollständigkeit halber sei angemerkt, daß beliebig viele erste Zwischenspeicher vorgesehen werden können, und daß jedem Zwischenspeicher beliebige Adressen, Daten und/oder Steuersignale zugeführt werden können.
  • Der Steuereinrichtung C werden verschiedene Adressen, Daten, Steuersignale, Registerinhalte, Speicherinhalte etc. zugeführt, die innerhalb der programmgesteuerten Einheit auftreten. Die der Steuereinrichtung C zugeführten Daten können ganz oder teilweise die Daten sein, die auch den ersten Zwischenspeichern ZS1-1 bis ZS1-n zugeführt werden; alternativ oder zusätzlich können diese Daten aber auch andere oder weitere Daten umfassen. Die Steuereinrichtung C überprüft, ob die ihr zugeführten Daten eine oder mehrere bestimmte Bedingungen erfüllen, und veranlaßt durch eine entsprechende Ansteuerung der ersten Zwischenspeicher ZS1-1 bis ZS1-n, daß die diesen zugeführten Daten gespeichert werden, wenn eine oder mehrere der zu überwachenden Bedingungen erfüllt sind, wobei es von der erfüllten Bedingung bzw. von den erfüllten Bedingungen abhängt, ob und gegebenenfalls welche erste Zwischenspeicher ZS1-1 bis ZS1-n die ihnen zugeführten Daten speichern. Dabei kann beispielsweise vorgesehen werden,
    • - daß dann, wenn eine erste Bedingung erfüllt ist, nur der Zwischenspeicher ZS1-1 die ihm zugeführten Daten speichert,
    • - daß dann, wenn eine zweite Bedingung erfüllt ist, der Zwischenspeicher ZS1-1 und der Zwischenspeicher ZS1-2 die ihnen zugeführten Daten speichern,
    • - daß dann, wenn eine erste Bedingung, und danach eine dritte Bedingung erfüllt ist, alle Zwischenspeicher ZS1-1 bis ZS1- n die ihnen zugeführten Daten speichern, und/oder
    • - daß dann, wenn gleichzeitig eine erste Bedingung und eine vierte Bedingung erfüllt sind, keiner der Zwischenspeicher ZS1-1 bis ZS1-n die ihnen zugeführten Daten speichert.
  • Durch die Steuereinrichtung C kann darüber hinaus auch festgelegt werden, welche Adressen, Daten und/oder Steuersignale den Zwischenspeichern ZS1-1 bis ZS1-n zugeführt werden. Hierzu können den Zwischenspeichern ZS1-1 bis ZS1-n in der Fig. 1 nicht gezeigte, von der Steuereinrichtung C gesteuerte Auswahleinrichtungen vorgeschaltet werden, welche aus einer großen Anzahl von ihnen zugeführten Daten nur immer jeweils einen durch die Steuereinrichtung C vorgegebenen Teil derselben zu den jeweiligen Zwischenspeichern ZS1-1 bis ZS1-n weiterleiten.
  • Die Zwischenspeicher ZS1-1 bis ZS1-n sind im betrachteten Beispiel FIFOs mit einer relativ geringen Speicherkapazität. Die in den Zwischenspeichern ZS1-1 bis ZS1-n gespeicherten Daten werden fortlaufend in den im betrachteten Beispiel durch ein größeres RAM gebildeten Zwischenspeicher ZS2 transferiert. Die im RAM gespeicherten Daten werden - gegebenenfalls nach einer Komprimierung derselben (beispielsweise durch ein NEXUS-Modul gemäß dem von der IEEE Industry Standards and Technology Organization (IEEE-ISTO) in 1999 definierten und als "The Nexus 5001 Forum Standard for a Global Embedded Processor Debug Interface" bezeichneten Standard) - sofort oder später aus der programmgesteuerten Einheit an die externe Einrichtung ausgegeben. Diese ausgegebenen Daten sind die vorstehend bereits erwähnten Trace-Informationen.
  • Die externe Einrichtung kann mit Hilfe der ihr zugeführten Trace-Informationen die innerhalb der programmgesteuerten Einheit ablaufenden Vorgänge verfolgen.
  • Damit die Rekonstruktion der innerhalb der programmgesteuerten Einheit ablaufenden Vorgänge durch die externe Einrichtung möglich ist, benötigt diese verständlicherweise auch Informationen über die Reihenfolge und/oder die Zeitpunkte der Erfassung der ihr zugeführten Daten. Diese Informationen kann die externe Einrichtung auf relativ einfache Art und Weise selbst ermitteln, wenn zur Ausgabe der Trace-Informationen aus der programmgesteuerten Einheit das vorstehend bereits erwähnte NEXUS-Modul oder dergleichen verwendet wird. Das NEXUS-Modul führt eine Komprimierung der auszugebenden Daten durch, wodurch sich die Menge der auszugebenden Daten verringert, und die Daten unmittelbar nach deren Erfassung, also quasi in Echtzeit aus der programmgesteuerten Einheit ausgegeben werden können. Dadurch ist die externe Einrichtung in der Lage, die von ihr benötigten Zusatzinformationen über die Reihenfolge und die Zeitpunkte der Erfassung der ihr zugeführten Daten aus der Reihenfolge und den Zeitpunkten des Empfangs der ihr zugeführten Daten zu bestimmen.
  • Diese Art der Ermittlung der von der externen Einrichtung benötigten Zusatzinformationen führt insbesondere dann, wenn in kurzer Zeit so viele Trace-Informationen aus der programmgesteuerten Einheit auszugeben sind, daß die Ausgabe nicht mehr in Echtzeit erfolgen kann, zu falschen Ergebnissen.
  • Dies wiederum hat zur Folge, daß die externe Einrichtung die innerhalb der programmgesteuerten Einheit ablaufenden Vorgänge nicht oder nicht mehr genau rekonstruieren kann.
  • Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, das Verfahren gemäß dem Oberbegriff des Patentanspruchs 1 derart weiterzubilden, daß die innerhalb einer programmgesteuerten Einheit ablaufenden Vorgänge anhand von aus dieser ausgegebenen Trace-Informationen unter allen Umständen detailliert ermittelt werden können.
  • Diese Aufgabe wird durch das in Patentanspruch 1 beanspruchte Verfahren gelöst.
  • Das erfindungsgemäße Verfahren zeichnet sich dadurch aus, daß die Daten zusammen mit einer Information gespeichert oder weitergeleitet werden, aus welcher ermittelbar ist, in welcher Reihenfolge, zu welchem Zeitpunkt, und/oder innerhalb welchen Zeitraumes die betreffenden Daten erfaßt, gespeichert oder weitergeleitet wurden.
  • Dadurch kann für zu einem beliebigen Zeitpunkt gespeicherte oder weitergeleitete Daten ermittelt werden, in welcher Reihenfolge, zu welchem Zeitpunkt, oder innerhalb welches Zeitraums diese Daten erfaßt, gespeichert oder weitergeleitet wurden. Dies wiederum ermöglicht es, die innerhalb einer programmgesteuerten Einheit ablaufenden Vorgänge unter allen Umständen detailliert zu ermitteln.
  • Vorteilhafte Weiterbildungen der Erfindung sind den Unteransprüchen, der folgenden Beschreibung, sowie den Figuren entnehmbar.
  • Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen unter Bezugnahme auf die Figuren näher beschrieben. Es zeigen
  • Fig. 1 den prinzipiellen Aufbau eines für die Erfassung, die Zwischenspeicherung, und die Ausgabe von Trace-Informationen zuständigen Teils einer programmgesteuerten Einheit, und
  • Fig. 2 und 3 Darstellungen zur Veranschaulichung der Handhabung von den zu speichernden oder weiterzuleitenden Daten zugeordneten Reihenfolge-Informationen.
  • Das im folgenden beschriebene Verfahren zum Speichern und Weiterleiten von Daten wird anhand des Zwischenspeicherns und Weiterleitens von aus einer programmgesteuerten Einheit auszugebenden Trace-Informationen beschrieben.
  • Es sei jedoch bereits an dieser Stelle darauf hingewiesen, daß das Verfahren auch beim Speichern oder Weiterleiten beliebiger anderer Daten zum Einsatz kommen kann, und auch außerhalb von programmgesteuerten Einheiten verwendet werden kann.
  • Die zur Durchführung des Verfahrens benötigten Einrichtungen sind im betrachteten Beispiel Bestandteil der die Trace- Informationen ausgebenden programmgesteuerten Einheit.
  • Es wird zunächst eine Möglichkeit beschrieben, durch welche sichergestellt werden kann, daß auszugebende Trace-Informationen in der Reihenfolge ihrer Erfassung aus der programmgesteuerten Einheit ausgegeben werden. Danach wird eine Möglichkeit beschrieben, durch welche aus den aus der programmgesteuerten Einheit ausgegebenen Informationen unabhängig vom Zeitpunkt der Ausgabe der Trace-Informationen der Zeitpunkt oder der Zeitraum ermittelt werden kann, zu dem bzw. innerhalb dessen die Trace-Informationen innerhalb der programmgesteuerten Einheit erfaßt, zwischengespeichert oder ausgegeben wurden.
  • Es sei bereits an dieser Stelle darauf hingewiesen, daß die genannten Möglichkeiten sowohl in Kombination als auch einzeln zum Einsatz kommen können.
  • Das Verfahren, durch welches sichergestellt werden kann, daß auszugebende Trace-Informationen in der Reihenfolge ihrer Erfassung aus der programmgesteuerten Einheit ausgegeben werden, ist in der in der Fig. 1 gezeigten Anordnung realisierbar, und besteht bei einer derartigen Realisierung darin,
    • - daß die in die ersten Zwischenspeicher ZS1-1 bis ZS1-n geschriebenen Daten zusammen mit einer im folgenden als Reihenfolgen-Information bezeichneten Information gespeichert werden, aus welcher ermittelbar ist, in welcher Reihenfolge die betreffenden Daten erfaßt (in die ersten Zwischenspeicher ZS1-1 bis ZS1-n geschrieben) wurden,
    • - daß die in den ersten Zwischenspeichern ZS1-1 bis ZS1-n gespeicherten Daten unter Auswertung der ihnen jeweils zugeordneten Reihenfolgen-Information in der Reihenfolge, in welcher sie in die ersten Zwischenspeicher ZS1-1 bis ZS1-n geschrieben wurden, zum zweiten Zwischenspeicher ZS2 transferiert werden, und in diesem derart gespeichert werden, daß zeitlich aufeinanderfolgend erhaltene Daten unter aufeinanderfolgenden Adressen gespeichert werden, und
    • - daß die im zweiten Zwischenspeicher ZS2 gespeicherten Daten in der Reihenfolge, in welcher sie dort gespeichert wurden, direkt oder über ein Nexus-Modul oder dergleichen aus der programmgesteuerten Einheit ausgegeben werden.
  • Der Vollständigkeit halber sei angemerkt, daß im betrachteten Beispiel die aus den ersten Zwischenspeichern ZS1-1 bis ZS1-n ausgegebenen Daten ohne die Reihenfolgen-Information ausgegeben werden, und daß die im zweiten Zwischenspeicher ZS2 gespeicherten Daten ohne Reihenfolgen-Information, aber zusammen mit einer im folgenden als Datenquellen-Information bezeichneten Information gespeichert werden, welche angibt, welche Adressen, Daten, oder Steuersignale die jeweiligen Daten jeweils repräsentieren (aus welcher Datenquelle diese stammen).
  • Es sei bereits an dieser Stelle angemerkt,
    • - daß die aus der programmgesteuerten Einheit auszugebenden Daten auch ohne eine erste Zwischenspeicherung in den ersten Zwischenspeichern ZS1-1 bis ZS1-n aus der programmgesteuerten Einheit ausgegeben werden können,
    • - daß die aus der programmgesteuerten Einheit auszugebenden Daten auch ohne eine zweite Zwischenspeicherung im zweiten Zwischenspeicher ZS2 aus der programmgesteuerten Einheit ausgegeben werden können,
    • - daß die aus der programmgesteuerten Einheit auszugebenden Daten auch ohne jegliche Zwischenspeicherung, d. h. ohne eine Zwischenspeicherung in den ersten Zwischenspeichern ZS1-1 bis ZS1-n und ohne eine Zwischenspeicherung im zweiten Zwischenspeicher ZS2 ausgegeben werden können, und
    • - daß die aus den ersten Zwischenspeichern ZS1-1 bis ZS1-n ausgegebenen Daten und/oder die aus dem zweiten Zwischenspeicher ZS2 ausgegebenen Daten und/oder die aus der programmgesteuerten Einheit ausgegebenen Daten zusammen mit der ihnen jeweils zugeordneten Reihenfolgen-Information ausgegeben werden können, wobei in diesem Fall auch eine nicht nach der Reihenfolge sortierte Ausgabe der Daten erfolgen kann.
  • Das Hinzufügen der die Reihenfolge betreffenden Information kann durch die Steuereinrichtung C erfolgen, welche hierzu gegenüber einer bei einem herkömmlichen Verfahren verwendeten Steuereinrichtung C entsprechend modifiziert ist.
  • Der die Reihenfolgen-Information erzeugende Teil der Steuereinrichtung C besteht im einfachsten Fall aus einem Zähler, der jedes Mal dann, wenn Daten in einen der ersten Zwischenspeicher ZS1-1 bis ZS1-n geschrieben werden, inkrementiert wird, und dessen jeweils aktueller Zählstand als die zusammen mit den betreffenden Daten gespeicherte Reihenfolgen-Information verwendet wird.
  • Vorzugsweise wird dann, wenn gleichzeitig in mehrere der ersten Zwischenspeicher ZS1-1 bis ZS1-n Daten geschrieben werden, für die gleichzeitig in die ersten Zwischenspeicher ZS1- 1 bis ZS1-n geschriebenen Daten die selbe Reihenfolgen-Information verwendet.
  • Noch besser ist es, wenn der Zählstand des Zählers nur immer dann erhöht wird, wenn beim Auftreten eines Zustandes oder Ereignisses, bei welchem ein oder mehrere der ersten Zwischenspeicher ZS1-1 bis ZS1-n Daten zu speichern haben, nicht genau die selben ersten Zwischenspeicher zu beschreiben sind wie es beim Auftreten des letzten Zustandes oder Ereignisses der Fall war, bei welchem Daten in einen oder mehrere der ersten Zwischenspeicher ZS1-1 bis ZS1-n zu speichern waren.
  • Dies wird nachfolgend anhand eines Beispiels näher veranschaulicht. Es sei angenommen,
    • - daß zu einem Zeitpunkt t0 ein erster Zustand oder ein erstes Ereignis auftritt, woraufhin Daten in den ersten Zwischenspeicher ZS1-2 zu schreiben sind,
    • - daß zu einem Zeitpunkt t1 ein zweiter Zustand oder ein zweites Ereignis auftritt, woraufhin Daten in den ersten Zwischenspeicher ZS1-1 zu schreiben sind,
    • - daß zu einem Zeitpunkt t2 wieder der erste Zustand oder das erste Ereignis auftritt, also Daten in den ersten Zwischenspeicher ZS1-2 zu schreiben sind,
    • - daß zu einem Zeitpunkt t3 ein dritter Zustand oder ein drittes Ereignis auftritt, woraufhin Daten in die ersten Zwischenspeicher ZS1-1, ZS1-2, und ZS1-3 zu schreiben sind,
    • - daß zu einem Zeitpunkt t4 ein vierter Zustand oder ein viertes Ereignis auftritt, woraufhin Daten in die ersten Zwischenspeicher ZS1-1, ZS1-2, und ZS1-3 zu schreiben sind,
    • - daß zu einem Zeitpunkt t5 wieder der zweite Zustand oder das zweite Ereignis auftritt, also Daten in den ersten Zwischenspeicher ZS1-1 zu schreiben sind,
    • - daß zu einem Zeitpunkt t6 ein fünfter Zustand oder ein fünftes Ereignis auftritt, woraufhin Daten in den ersten Zwischenspeicher ZS1-1 zu schreiben sind,
    • - daß zu einem Zeitpunkt t7 wieder der fünfte Zustand oder das fünfte Ereignis auftritt, also Daten in den ersten Zwischenspeicher ZS1-1 zu schreiben sind, und
    • - daß zu einem Zeitpunkt t8 ein sechster Zustand oder ein sechstes Ereignis auftritt, woraufhin Daten in die ersten Zwischenspeicher ZS1-2 und ZS1-3 zu schreiben sind.
  • Es sei ferner angenommen, daß der Zähler, dessen Zählstand als Reihenfolgen-Information verwendet wird, ein Modulo-4- Zähler ist, also ein wiederholt von 0 bis 3 zählender Zähler ist.
  • Dann
    • - werden die Daten, die als Reaktion auf den bei t0 auftretenden Zustand bzw. auf das bei t0 auftretende Ereignis in den ersten Zwischenspeicher ZS1-2 zu schreiben sind, zusammen mit einer den Wert 0 aufweisenden Reihenfolgen- Information gespeichert,
    • - werden die Daten, die als Reaktion auf den bei t1 auftretenden Zustand bzw. auf das bei t1 auftretende Ereignis in den ersten Zwischenspeicher ZS1-1 zu schreiben sind, zusammen mit einer den Wert 1 aufweisenden Reihenfolgen- Information gespeichert,
    • - werden die Daten, die als Reaktion auf den bei t2 auftretenden Zustand bzw. auf das bei t2 auftretende Ereignis in den ersten Zwischenspeicher ZS1-2 zu schreiben sind, zusammen mit einer den Wert 2 aufweisenden Reihenfolgen- Information gespeichert,
    • - werden die Daten, die als Reaktion auf den bei t3 auftretenden Zustand bzw. auf das bei t3 auftretende Ereignis in die ersten Zwischenspeicher ZS1-1, ZS1-2 und ZS1-3 zu schreiben sind, zusammen mit einer den Wert 3 aufweisenden Reihenfolgen-Information gespeichert,
    • - werden die Daten, die als Reaktion auf den bei t4 auftretenden Zustand bzw. auf das bei t4 auftretende Ereignis in die ersten Zwischenspeicher ZS1-1, ZS1-2 und ZS1-3 zu schreiben sind, ebenfalls zusammen mit einer den Wert 3 aufweisenden Reihenfolgen-Information gespeichert,
    • - werden die Daten, die als Reaktion auf den bei t5 auftretenden Zustand bzw. auf das bei t5 auftretende Ereignis in den ersten Zwischenspeicher ZS1-1 zu schreiben sind, zusammen mit einer den Wert 0 aufweisenden Reihenfolgen- Information gespeichert,
    • - werden die Daten, die als Reaktion auf den bei t6 auftretenden Zustand bzw. auf das bei t6 auftretende Ereignis in den ersten Zwischenspeicher ZS1-1 zu schreiben sind, ebenfalls zusammen mit einer den Wert 0 aufweisenden Reihenfolgen-Information gespeichert,
    • - werden die Daten, die als Reaktion auf den bei t7 auftretenden Zustand bzw. auf das bei t7 auftretende Ereignis in den ersten Zwischenspeicher ZS1-1 zu schreiben sind, ebenfalls zusammen mit einer den Wert 0 aufweisenden Reihenfolgen-Information gespeichert, und
    • - werden die Daten, die als Reaktion auf den bei t8 auftretenden Zustand bzw. auf das bei t8 auftretende Ereignis in die ersten Zwischenspeicher ZS1-2 und ZS1-3 zu schreiben sind, zusammen mit einer den Wert 1 aufweisenden Reihenfolgen-Information gespeichert.
  • Dies ist in Fig. 2 veranschaulicht.
  • Die Speicherung dieser Reihenfolgen-Informationen zusammen mit den in den ersten Zwischenspeichern ZS1-1 bis ZS1-n zu speichernden Daten ermöglicht es, daß die in den ersten Zwischenspeichern ZS1-1 bis ZS1-n gespeicherten Daten in der Reihenfolge, in welcher sie in die ersten Zwischenspeicher ZS1-1 bis ZS1-n eingeschrieben wurden, aus diesen ausgegeben werden. Dies wird nachfolgend anhand eines Beispiels veranschaulicht.
  • Es sei angenommen,
    • - daß der aktuelle Zeitpunkt ein zwischen t6 und t7 liegender Zeitpunkt sei,
    • - daß sich in den ersten Zwischenspeichern ZS1-1 bis ZS1-n noch die Daten befinden, die zu den Zeitpunkten t2 bis t6 in diese eingeschrieben wurden, und
    • - daß während der im folgenden beschriebenen Vorgänge keine neuen Daten in die Zwischenspeicher ZS1-1 bis ZS1-n geschrieben werden.
  • In Fig. 3 ist veranschaulicht, welchen Einträgen der in den ersten Zwischenspeichern ZS1-1 bis ZS1-3 gespeicherten Daten welche Reihenfolgen-Information zugeordnet ist. Dabei bezeichnet der Eintrag mit der niedrigsten Nummer jeweils den jüngsten Eintrag, und der Eintrag mit der höchsten Nummer jeweils den ältesten Eintrag.
  • Beim Ausgeben der in den ersten Zwischenspeichern ZS1-1 bis ZS1-3 gespeicherten Daten wird nun so vorgegangen, daß die Reihenfolgen-Informationen, die den Einträgen mit der jeweils höchsten Nummer zugeordnet sind, extrahiert werden, und diejenigen Daten ausgegeben werden, welchen die Reihenfolgen- Information mit dem niedrigsten Wert zugeordnet ist.
  • Bezogen auf das vorliegend betrachtete Beispiel bedeutet dies,
    • - daß zunächst aus der Reihenfolgen-Information des Eintrages 4 des ersten Zwischenspeichers ZS1-1, der Reihenfolgen- Information des Eintrages 3 des ersten Zwischenspeichers ZS1-2, und der Reihenfolgen-Information des Eintrages 2 des ersten Zwischenspeichers ZS1-3 die Reihenfolgen-Information mit dem niedrigsten Wert ermittelt wird, und dann die Daten, welchen diese Reihenfolgen-Information zugeordnet ist, also die unter dem Eintrag 3 des ersten Zwischenspeichers ZS1-2 gespeicherten Daten (diesen Daten ist die Reihenfolgen-Information mit dem niedrigsten Wert, nämlich 2, zugeordnet) ausgegeben werden,
    • - daß danach aus der Reihenfolgen-Information des Eintrages 4 des ersten Zwischenspeichers ZS1-1, der Reihenfolgen-Information des Eintrages 2 des ersten Zwischenspeichers ZS1-2, und der Reihenfolgen-Information des Eintrages 2 des ersten Zwischenspeichers ZS1-3 die Reihenfolgen-Information mit dem niedrigsten Wert ermittelt wird, und dann die Daten, welchen diese Reihenfolgen-Information zugeordnet ist, also die unter dem Eintrag 4 des ersten Zwischenspeichers ZS1-1, sowie die unter dem Eintrag 2 des ersten Zwischenspeichers ZS1-2, sowie die unter dem Eintrag 2 des ersten Zwischenspeichers ZS1-3 gespeicherten Daten (allen Daten ist die selbe Reihenfolgen-Information zugeordnet) nacheinander ausgegeben werden,
    • - daß danach aus der Reihenfolgen-Information des Eintrages 3 des ersten Zwischenspeichers ZS1-1, der Reihenfolgen-Information des Eintrages 1 des ersten Zwischenspeichers ZS1-2, und der Reihenfolgen-Information des Eintrages 1 des ersten Zwischenspeichers ZS1-3 die Reihenfolgen-Information mit dem niedrigsten Wert ermittelt wird, und dann die Daten, welchen diese Reihenfolgen-Information zugeordnet ist, also die unter dem Eintrag 3 des ersten Zwischenspeichers ZS1-1, sowie die unter dem Eintrag 1 des ersten Zwischenspeichers ZS1-2, sowie die unter dem Eintrag 1 des ersten Zwischenspeichers ZS1-3 gespeicherten Daten (allen Daten ist die selbe Reihenfolgen-Information zugeordnet) nacheinander ausgegeben werden,
    • - daß danach die unter dem Eintrag 2 des ersten Zwischenspeichers ZS1-1 gespeicherten Daten ausgegeben werden (die anderen ersten Zwischenspeicher ZS1-2 und ZS1-3 enthalten keine auszugebenden Daten mehr), und
    • - daß danach die unter dem Eintrag 1 des ersten Zwischenspeichers ZS1-1 gespeicherten Daten ausgegeben werden (die anderen ersten Zwischenspeicher ZS1-2 und ZS1-3 enthalten keine auszugebenden Daten mehr).
  • Wie aus den vorstehenden Erläuterungen deutlich wird, ist es durch die beschriebene Vorgehensweise möglich, in die ersten Zwischenspeicher ZS1-1 bis ZS1-n geschriebene Daten in der Reihenfolge auszugeben, in welcher sie in die ersten Zwischenspeicher ZS1-1 bis ZS1-n geschrieben wurden.
  • Die hierfür zu treffenden Vorkehrungen erfordern einen nur sehr geringen Aufwand. Insbesondere kommt man zumindest dann, wenn der Zähler, dessen Zählstand als Reihenfolgen-Information verwendet wird, nicht bei jedem Einschreiben von Daten, sondern nur dann inkrementiert, wenn bestimmte weitere Bedingungen erfüllt sind, mit einem Zähler aus, dessen maximaler Zählstand ein sehr geringer Wert ist, wodurch der zur Speicherung der Reihenfolgen-Information benötigte zusätzliche Speicherplatz ebenfalls nur sehr gering ist. Im betrachteten Beispiel, in welchem der Zähler nur wiederholt von 0 bis 3 zählt, werden zur Speicherung der Reihenfolgen-Information nur 2 Bits, also vernachlässigbar wenig zusätzlicher Speicherplatz benötigt.
  • Eine nicht ganz so effiziente, aber immer noch vorteilhafte Vorgehensweise bei der Inkrementierung des Zählers besteht darin, daß der Zähler immer dann inkrementiert wird, wenn der Zustand oder das Ereignis, auf das hin Daten in einen oder mehrere der ersten Zwischenspeicher ZS1-1 bis ZS1-n zu schreiben sind, ein anderer Zustand oder ein anderes Ereignis ist als der Zustand oder das Ereignis, auf dessen Auftreten hin zuletzt Daten in einen oder mehrere der ersten Zwischenspeicher ZS1-1 bis ZS1-n geschrieben wurden.
  • Zusätzlich oder alternativ zu der Speicherung und/oder Weiterleitung der aus der programmgesteuerten Einheit auszugebenden Daten zusammen mit Reihenfolgen-Informationen kann vorgesehen werden, die in den ersten Zwischenspeichern ZS1-1 bis ZS1-n zu speichernden Daten und/oder die im zweiten Zwischenspeicher ZS2 zu speichernden Daten und/oder die aus der programmgesteuerten Einheit auszugebenden Daten zusammen mit den Zeitpunkt der Erfassung oder den Zeitpunkt der Speicherung oder den Zeitpunkt der Ausgabe angebenden, im folgenden als Zeit-Informationen bezeichneten Informationen zu speichern bzw. auszugeben.
  • Die Zeit-Informationen können eine auf einen festen Bezugszeitpunkt bezogene Zeit, oder eine auf wechselnde Bezugszeitpunkte bezogene Zeit beinhalten, wobei als fester Bezugszeitpunkt beispielsweise der Zeitpunkt der Inbetriebnahme oder der Aktivierung der programmgesteuerten Einheit oder einer bestimmten Komponente derselben verwendet werden kann, und wobei als wechselnder Bezugszeitpunkt beispielsweise jeweils der Zeitpunkt verwendet werden kann, zu welchem die zuletzt erfaßten, gespeicherten oder ausgegebenen Daten erfaßt, gespeichert oder ausgegeben wurden, oder der Zeitpunkt, zu welchem eine bestimmte Zeit seit einem festen oder wechselnden Bezugszeitpunkt vergangen ist.
  • Bei der Speicherung und/oder der Ausgabe der Daten zusammen mit Zeit-Informationen kann unter Umständen auf die Speicherung und/oder die Ausgabe der zuvor beschriebenen Reihenfolgen-Informationen verzichtet werden. Von dieser Möglichkeit kann Gebrauch gemacht werden, wenn sich die Reihenfolge der Erfassung der Daten auch aus den Zeit-Informationen ermitteln läßt.
  • Am einfachsten realisierbar und am einfachsten auswertbar sind Daten, die zusammen mit einer auf einen festen Bezugspunkt bezogenen Zeitpunkt gespeichert oder ausgegeben werden. Das Versehen der Daten mit solchen Zeit-Informationen kann unter Umständen jedoch problematisch sein. Insbesondere kann dadurch die zu speichernde und/oder die auszugebende Datenmenge sehr stark ansteigen. Um diesen Effekt zu begrenzen, kann vorgesehen werden, daß nicht alle Daten, sondern nur bestimmte Daten, beispielsweise jedes n-te Datum (n > 1) mit Zeit-Informationen versehen wird, und/oder daß von mehreren gleichzeitig erfaßten Daten nur ein Datum mit Zeit-Informationen versehen wird, und/oder daß die Zeit-Informationen eine variable Länge aufweisen (und eventuell einen die Länge angebenden Parameter umfassen).
  • Eine noch stärkere Einschränkung des durch die Zeit-Informationen bedingten Anstieges der zu speichernden und/oder auszugebenden Datenmenge läßt sich erzielen, wenn die Zeit- Informationen eine auf die vorstehend genannten oder andere wechselnde Bezugszeitpunkte bezogene Zeit beinhalten. Es dürfte einleuchten und bedarf keiner näheren Erläuterung, daß die zusätzliche Datenmenge für solche Zeit-Informationen erheblich geringer ist.
  • In beiden Fällen, d. h. sowohl wenn die in der Zeit-Informationen enthaltene Zeit auf einen festen Bezugspunkt bezogen ist, als auch wenn die in der Zeit-Informationen enthaltene Zeit auf wechselnde Bezugspunkte bezogen ist, erweist es sich als vorteilhaft, wenn Möglichkeiten vorhanden sind, um der externen Einrichtung zu signalisieren, daß die Zeit-Information nicht die richtige Zeit repräsentiert (beispielsweise weil der Zähler, dessen Zählstand als Zeit-Information verwendet wird, übergelaufen ist).
  • Hierfür existieren zwei Möglichkeiten. Die erste Möglichkeit besteht darin, daß die Zeit-Informationen ein oder mehrere Bits enthalten, durch die signalisiert wird, ob und eventuell zusätzlich wie viele Überläufe des Zählers zwischenzeitlich stattgefunden haben. Die zweite Möglichkeit besteht darin, daß immer dann, wenn ein Überlauf stattgefunden hat, eine diesen Umstand signalisierende eigene Message an die externe Einrichtung ausgegeben wird.
  • Es kann auch vorgesehen werden, daß sich die in der Zeit- Information enthaltene Zeit generell auf den letzten Überlauf des Zählers oder das letztmalige Erreichen eines bestimmten Zählstandes bezieht, wobei der Überlauf oder das Erreichen des bestimmten Zählstandes entweder durch entsprechende Bits in der die darauf bezogene Zeit enthaltenden Information oder durch eine eigene Message signalisiert werden kann.
  • Wenn es nicht erforderlich ist, den genauen Zeitpunkt der Erfassung, der Speicherung, oder der Ausgabe der Daten zu kennen, kann auch vorgesehen werden, nur den Überlauf des Zählers oder das Erreichen eines bestimmten Zählstandes signalisierende Messages auszugeben. Durch solche Messages werden vorzugsweise äuquidistante Zeitpunkte definiert. Unabhängig hiervon steht der externen Einrichtung dadurch jeweils die Information zur Verfügung, innerhalb welchen Zeitraumes die ihr übermittelten Daten erfaßt, gespeichert oder ausgegeben wurden.
  • Die Generierung und Ausgabe von den Überlauf des Zählers oder das Erreichen eines bestimmten Zählstandes signalisierenden Messages läßt sich sehr einfach bewerkstelligen. Dies kann beispielsweise dadurch erfolgen,
    • - daß ein zusätzlicher erster Zwischenspeicher ZS1-n + 1 vorgesehen wird,
    • - daß jedes Mal, wenn der Zähler überläuft oder ein bestimmter Zählstand erreicht ist, eine diesen Umstand signalisierende Information zusammen mit einer Reihenfolgen-Information in den zusätzlichen ersten Zwischenspeicher ZS1-n + 1 geschrieben wird,
    • - daß die in den ersten Zwischenspeichern ZS1-1 bis ZS1-n + 1 gespeicherten Daten in der Reihenfolge, in welcher sie in diese eingeschrieben wurden, an den zweiten Zwischenspeicher ZS2 ausgegeben werden, und
    • - daß die im zweiten Zwischenspeicher ZS2 gespeicherten Daten in Form von Messages an die externe Einrichtung ausgegeben werden, wobei die den Überlauf des Zählers oder das Erreichen eines bestimmten Zählstandes signalisierenden Informationen als eigene Message versandt werden.
  • Auf die beschriebene Art und Weise ist es - unabhängig von den Einzelheiten der praktischen Realisierung - mit relativ geringem Aufwand möglich, die in einer programmgesteuerten Einheit ablaufenden Vorgänge unter allen Umständen detailliert ermitteln zu können. Bezugszeichenliste ADS Adressen, Date, Steuersignale
    C Steuereinrichtung
    ZSx Zwischenspeicher

Claims (26)

1. Verfahren zum Speichern oder Weiterleiten von Daten, dadurch gekennzeichnet, daß die Daten zusammen mit einer Information gespeichert oder weitergeleitet werden, aus welcher ermittelbar ist, in welcher Reihenfolge, zu welchem Zeitpunkt, und/oder innerhalb welchen Zeitraumes die betreffenden Daten erfaßt, gespeichert oder weitergeleitet wurden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Information eine Reihenfolgen-Information umfaßt, die angibt, in welcher Reihenfolge die Daten erfaßt, gespeichert oder weitergeleitet wurden.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß als Reihenfolgen-Information der Zählstand eines Zählers verwendet wird, der inkrementiert wird, bevor oder nachdem Daten erfaßt, gespeichert, oder weitergeleitet werden.
4. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß als Reihenfolgen-Information der Zählstand eines Zählers verwendet wird, der inkrementiert wird, wenn sich der Zustand oder das Ereignis, auf dessen Auftreten hin Daten zu speichern oder weiterzuleiten sind, von dem Zustand oder dem Ereignis unterscheidet, auf dessen Auftreten hin die zuletzt gespeicherten oder weitergeleiteten Daten gespeichert oder weitergeleitet wurden.
5. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß die zu speichernden Daten in einen oder mehrere Speicher einer Vielzahl von Speichern gespeichert werden, und daß als Reihenfolgen-Information der Zählstand eines Zählers verwendet wird, der inkrementiert wird, wenn der oder die Speicher, in welche die zu speichernden Daten zu speichern sind, nicht genau diejenigen Speicher sind, in welche die zuletzt gespeicherten Daten gespeichert wurden.
6. Verfahren nach einem der Ansprüche 2 bis 5, dadurch gekennzeichnet, daß die zu speichernden oder weiterzuleitenden Daten aus einer programmgesteuerten Einheit auszugebende Trace-Informationen sind.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß die Trace-Informationen innerhalb der programmgesteuerten Einheit verwendete oder erzeugte Adressen, Daten, und/oder Steuersignale umfassen, mit Hilfe welcher sich die innerhalb der programmgesteuerten Einheit ablaufenden Vorgänge verfolgen lassen.
8. Verfahren nach Anspruch 6 oder 7, dadurch gekennzeichnet, daß die erfaßten Adressen, Daten und/oder Steuersignale zusammen mit der Reihenfolgen-Information in einen oder mehrere Speicher einer Vielzahl von ersten Speichern geschrieben werden.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß die in den ersten Speichern gespeicherten Daten in der Reihenfolge, in welcher sie in die ersten Speicher geschrieben wurden, an einen zweiten Speicher ausgegeben werden.
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß die aus den ersten Speichern ausgegebenen Daten ohne die Reihenfolgen-Informationen zum zweiten Speicher übertragen und in diesem gespeichert werden.
11. Verfahren nach Anspruch 9 oder 10, dadurch gekennzeichnet, daß die im zweiten Speicher gespeicherten Daten als Trace- Informationen aus der programmgesteuerten Einheit ausgegeben werden.
12. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Information eine Zeit-Information umfaßt, durch welche der Zeitpunkt oder der Zeitraum angegeben wird, zu dem bzw. innerhalb dessen die zu speichernden oder weiterzuleitenden Daten erfaßt, gespeichert oder weitergeleitet wurden.
13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, daß die Zeit-Information eine auf einen festen Bezugszeitpunkt bezogene Zeit umfaßt.
14. Verfahren nach Anspruch 13, dadurch gekennzeichnet, daß der feste Bezugszeitpunkt der Zeitpunkt der Inbetriebnahme oder der Aktivierung des Systems oder einer bestimmten Systemkomponente ist.
15. Verfahren nach Anspruch 12, dadurch gekennzeichnet, daß die Zeit-Information eine auf wechselnde Bezugszeitpunkte bezogene Zeit umfaßt.
16. Verfahren nach Anspruch 15, dadurch gekennzeichnet, daß als Bezugszeitpunkt der Zeitpunkt verwendet wird, zu dem die zuletzt gespeicherten oder weitergeleiteten Daten erfaßt, gespeichert oder weitergeleitet wurden.
17. Verfahren nach Anspruch 15, dadurch gekennzeichnet, daß als Bezugszeitpunkt der Zeitpunkt verwendet wird, zu dem eine bestimmte Zeit nach einem festen oder wechselnden Bezugszeitpunkt vergangen ist.
18. Verfahren nach einem der Ansprüche 12 bis 17, dadurch gekennzeichnet, daß die Zeit-Information eine Information umfaßt, durch die signalisiert wird, daß eine bestimmte Zeit nach einem festen oder wechselnden Bezugszeitpunkt vergangen ist.
19. Verfahren nach einem der Ansprüche 12 bis 18, dadurch gekennzeichnet, daß die zu speichernden oder weiterzuleitenden Daten in Messages integriert werden, und daß die Messages neben den zu speichernden oder weiterzuleitenden Daten zumindest teilweise auch diesen zugeordnete Zeit-Informationen enthalten.
20. Verfahren nach einem der Ansprüche 12 bis 18, dadurch gekennzeichnet, daß die zu speichernden oder weiterzuleitenden Daten in Messages integriert werden, und daß zur Speicherung oder Weiterleitung der Zeit-Informationen zumindest teilweise eigene Messages verwendet werden.
21. Verfahren nach einem der Ansprüche 12 bis 20, dadurch gekennzeichnet, daß die zu speichernden oder weiterzuleitenden Daten aus einer programmgesteuerten Einheit auszugebende Trace-Informationen sind.
22. Verfahren nach Anspruch 21, dadurch gekennzeichnet, daß die Trace-Informationen innerhalb der programmgesteuerten Einheit verwendete oder erzeugte Adressen, Daten, und/oder Steuersignale umfassen, mit Hilfe welcher sich die innerhalb der programmgesteuerten Einheit ablaufenden Vorgänge verfolgen lassen.
23. Verfahren nach Anspruch 21 oder 22, dadurch gekennzeichnet, daß die erfaßten Adressen, Daten und/oder Steuersignale zusammen mit der ihnen jeweils zugeordneten Zeit-Information in einen oder mehrere Speicher einer Vielzahl von ersten Speichern geschrieben werden.
24. Verfahren nach Anspruch 21 oder 22, dadurch gekennzeichnet, daß die erfaßten Adressen, Daten und/oder Steuersignale in einen oder mehrere Speicher einer Vielzahl von ersten Speichern geschrieben werden, und daß die Zeit-Informationen in einen eigenen ersten Speicher geschrieben werden.
25. Verfahren nach Anspruch 23 oder 24, dadurch gekennzeichnet, daß die in den ersten Speichern gespeicherten Daten und Zeit- Informationen in der Reihenfolge, in welcher sie in die ersten Speicher geschrieben wurden, an einen zweiten Speicher ausgegeben werden.
26. Verfahren nach Anspruch 25, dadurch gekennzeichnet, daß die im zweiten Speicher gespeicherten Daten in Form von Messages als Trace-Informationen aus der programmgesteuerten Einheit ausgegeben werden.
DE10148109A 2001-09-28 2001-09-28 Verfahren zum Speichern oder Weiterleiten von Daten Expired - Lifetime DE10148109B4 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE10148109A DE10148109B4 (de) 2001-09-28 2001-09-28 Verfahren zum Speichern oder Weiterleiten von Daten
EP02774421A EP1456756A2 (de) 2001-09-28 2002-09-25 Verfahren zum speichern oder weiterleiten von daten
PCT/DE2002/003645 WO2003029953A2 (de) 2001-09-28 2002-09-25 Verfahren zum speichern oder weiterleiten von daten
US10/490,992 US7577878B2 (en) 2001-09-28 2002-09-25 Method for storing or transferring data using time sequencing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10148109A DE10148109B4 (de) 2001-09-28 2001-09-28 Verfahren zum Speichern oder Weiterleiten von Daten

Publications (2)

Publication Number Publication Date
DE10148109A1 true DE10148109A1 (de) 2003-04-24
DE10148109B4 DE10148109B4 (de) 2006-10-12

Family

ID=7700778

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10148109A Expired - Lifetime DE10148109B4 (de) 2001-09-28 2001-09-28 Verfahren zum Speichern oder Weiterleiten von Daten

Country Status (4)

Country Link
US (1) US7577878B2 (de)
EP (1) EP1456756A2 (de)
DE (1) DE10148109B4 (de)
WO (1) WO2003029953A2 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040267489A1 (en) * 2003-06-24 2004-12-30 Frederic Reblewski Data compaction and pin assignment
CA2433750A1 (en) * 2003-06-27 2004-12-27 Ibm Canada Limited - Ibm Canada Limitee Automatic collection of trace detail and history data
US8380966B2 (en) * 2006-11-15 2013-02-19 Qualcomm Incorporated Method and system for instruction stuffing operations during non-intrusive digital signal processor debugging
US8533530B2 (en) 2006-11-15 2013-09-10 Qualcomm Incorporated Method and system for trusted/untrusted digital signal processor debugging operations
US8370806B2 (en) * 2006-11-15 2013-02-05 Qualcomm Incorporated Non-intrusive, thread-selective, debugging method and system for a multi-thread digital signal processor
US8341604B2 (en) * 2006-11-15 2012-12-25 Qualcomm Incorporated Embedded trace macrocell for enhanced digital signal processor debugging operations
US8484516B2 (en) * 2007-04-11 2013-07-09 Qualcomm Incorporated Inter-thread trace alignment method and system for a multi-threaded processor
US8074118B2 (en) * 2009-01-28 2011-12-06 Dspace Digital Signal Processing And Control Engineering Gmbh Method for influencing a control unit and manipulation unit
CN104111341B (zh) * 2013-04-16 2017-10-17 深圳迈瑞生物医疗电子股份有限公司 自动分析装置及其分析方法和分析系统
US11543396B2 (en) 2019-06-11 2023-01-03 Msa Technology, Llc Gas sensor with separate contaminant detection element

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4407573C1 (de) * 1994-03-07 1995-03-30 Siemens Nixdorf Inf Syst Datenverarbeitungsanlage mit Einrichtungen zur Aufzeichnung von bei Programmabläufen wirksam werdenden Steuersignalen und/oder Adressen

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9024085D0 (en) 1990-11-06 1990-12-19 Int Computers Ltd First-in first-out memory
JP3290280B2 (ja) * 1994-01-13 2002-06-10 株式会社東芝 情報処理装置
US7178133B1 (en) * 2001-04-30 2007-02-13 Mips Technologies, Inc. Trace control based on a characteristic of a processor's operating state

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4407573C1 (de) * 1994-03-07 1995-03-30 Siemens Nixdorf Inf Syst Datenverarbeitungsanlage mit Einrichtungen zur Aufzeichnung von bei Programmabläufen wirksam werdenden Steuersignalen und/oder Adressen

Also Published As

Publication number Publication date
US7577878B2 (en) 2009-08-18
US20050022067A1 (en) 2005-01-27
WO2003029953A3 (de) 2004-05-21
WO2003029953A2 (de) 2003-04-10
EP1456756A2 (de) 2004-09-15
DE10148109B4 (de) 2006-10-12

Similar Documents

Publication Publication Date Title
DE69934401T2 (de) Datenerfassungssystem mit mitteln zur analyse und zum abspeichern in echtzeit
DE69326530T2 (de) Mehrrechnersystem
DE4305442C2 (de) Verfahren und Vorrichtung zum Erzeugen eines Testvektors
DE69028190T2 (de) Verfahren und Vorrichtung zur Softwareüberwachung und -entwicklung
DE2230119C2 (de) Einrichtung zur elektronischen Überwachung des Auftretens von Ereignissen innerhalb bestimmter Zeitabschnitte
DE2423719A1 (de) Schaltungsanordnung zur ueberwachung der leistung eines multiprozessor-rechners
DE10148109B4 (de) Verfahren zum Speichern oder Weiterleiten von Daten
DE102009004726A1 (de) Systeme und Verfahren zum Verfolgen von Befehlszeigern und Datenzugriffen
DE4114053A1 (de) Computersystem mit cachespeicher
EP1145113B1 (de) Verfahren und anordnung zur erzeugung und ausführung von komprimierten programmen eines vliw-prozessors
EP0978039B1 (de) Aufdatverfahren
DE2633155A1 (de) Einrichtung zur erzeugung zeitdefinierter steuersignale
EP1283472A2 (de) Programmgesteuerte Einheit
EP1274014A2 (de) Programmgesteuerte Einheit
EP1260905B1 (de) Programmgesteuerte Einheit
DE1524211C3 (de) Datenverarbeitungsanlage
DE4435457C2 (de) Verfahren zum Archivieren von Prozeßdaten
DE102016015756B4 (de) Verfahren zum Betrieb eines Watchdog umfassend eine Mustererkennung für wiederkehrende Lastsituationen mit zweifacher Bewertung
DE2153116B2 (de) Funktionsüberwachter Informationsspeicher, insbesondere integrierter Halbleiterspeicher
DE102016015755B4 (de) Verfahren zum Betrieb eines Watchdog umfassend eine Mustererkennung für wiederkehrende Lastsituationen mit einem zweistufigen Ergebnisspeicher
EP0903663B1 (de) Anordnung mit einem Umlaufspeicher und mit eine Einrichtung, welche ein auf den Umlaufspeicher zugreifendes Programm ausführt
DE102016015757B4 (de) Verfahren zum Betrieb eines Watchdog umfassend eine Mustererkennung für wiederkehrende Lastsituationen mit Rücksetzen des Ereignisspeichers
DE2432024A1 (de) Verfahren zum betrieb einer datenverarbeitungsanlage
DE69317364T2 (de) Verfahren zur Beobachtung eines Rechnerprogrammablaufs in einem Prozessor mit internem Cache-Speicher
DE3023024A1 (de) Einrichtung zur erfassung und vorbehandlung von informationen fuer die ueberwachung von rechnern

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G06F 1130

8364 No opposition during term of opposition
R071 Expiry of right