DE102017116304B4 - Steuerungssystem und verfahren zum durchführen einer operation - Google Patents

Steuerungssystem und verfahren zum durchführen einer operation Download PDF

Info

Publication number
DE102017116304B4
DE102017116304B4 DE102017116304.2A DE102017116304A DE102017116304B4 DE 102017116304 B4 DE102017116304 B4 DE 102017116304B4 DE 102017116304 A DE102017116304 A DE 102017116304A DE 102017116304 B4 DE102017116304 B4 DE 102017116304B4
Authority
DE
Germany
Prior art keywords
processor
instruction
trace
perform
address register
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
DE102017116304.2A
Other languages
English (en)
Other versions
DE102017116304A1 (de
Inventor
Albrecht Mayer
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 DE102017116304.2A priority Critical patent/DE102017116304B4/de
Priority to US16/037,299 priority patent/US10872030B2/en
Publication of DE102017116304A1 publication Critical patent/DE102017116304A1/de
Application granted granted Critical
Publication of DE102017116304B4 publication Critical patent/DE102017116304B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F11/364Software debugging by tracing the execution of the program tracing values on a bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30079Pipeline control instructions, e.g. multicycle NOP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/3013Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Verfahren, umfassend:- Bereitstellen einer ersten Anweisung, die, wenn sie von einem ersten Prozessor ausgeführt wird, den ersten Prozessor veranlasst, eine erste Operation durchzuführen, und die, wenn sie vom ersten Prozessor ausgeführt wird, einen zweiten Prozessor veranlasst, eine zweite Operation durchzuführen; und- Bereitstellen einer zweiten Anweisung, die, wenn sie vom ersten Prozessor ausgeführt wird, den ersten Prozessor veranlasst, die erste Operation durchzuführen, während sie den zweiten Prozessor veranlasst, eine dritte Operation durchzuführen oder den zweiten Prozessor unberührt lässt.

Description

  • TECHNISCHES GEBIET
  • Verschiedene Ausführungsformen betreffen im Allgemeinen ein Steuerungssystem und ein Verfahren zum Veranlassen einer Operation.
  • HINTERGRUND
  • Eine Messeinrichtung erkennt eine Steuereinheitsvariable eines Steuereinheitsprogramms, das in einer Steuereinrichtung von einem Steuereinheitsprozessor ausgeführt wird. Bei der Steuereinrichtung kann es sich um einen Motorcontroller für ein Kraftfahrzeug, ein eingebettetes System oder dergleichen handeln, der dafür verwendet werden kann, Stellglieder, zum Beispiel Elektromotoren, Controller oder dergleichen, zu steuern. Der Steuereinheitsprozessor verwendet eine Speicherdatenverbindung mit einer Erkennungsvorrichtung zum Erkennen von Daten, die auf der Speicherdatenverbindung übertragen werden. Die Erkennungsvorrichtung ist zum Beispiel ein Temperatursensor, ein Messwandler oder dergleichen, der mit der Steuereinrichtung verbunden ist. Der Steuereinheitsprozessor führt ein Steuerprogramm aus, zum Beispiel, um das Stellglied zu überwachen, Einspritzmengen einer Brennkraftmaschine zu steuern oder dergleichen.
  • Der Steuereinheitsprozessor ist an einen Steuereinheitsspeicher der Steuereinheit angeschlossen, um dort zum Beispiel Steuerparameter und andere verwendete, gemessene und/oder berechnete Variablen zu steuern. Somit schreibt der Steuereinheitsprozessor die Steuereinheitsvariable in einen Steuereinheitsspeicher. Die Steuereinheitsvariable ist zum Beispiel ein Messwert, ein vorübergehender Controllerwert, ein Ausgabewert an einem Stellglied oder dergleichen. Die Variable kann auch eine Programmvariable umfassen, die von einer Programmfunktion verwendet wird.
  • Die Messeinrichtung hat einen Pufferspeicher, in den die Messeinrichtung in einem hier auch als Aufzeichnen oder Protokollieren bezeichneten Prozess die Daten, die in Speicherzugriffsoperationen, d. h. bei Verwendung der Speicherdatenverbindung, übertragen worden sind, zur Übertragung in einen Abbildungsspeicher schreibt, der hier auch als Spiegelspeicher bezeichnet wird. Der Spiegelspeicher wird somit veranlasst, einen Speicherplan zumindest eines Teils des Steuereinheitsspeichers zu enthalten.
  • Das Aufzeichnen der Speicherzugriffsoperationen des Steuereinheitsprozessors kann auf vielfache Weise erfolgen. Bei Mikroprozessoren ohne interne Peripheriegeräte und Speicher ist es übliche Praxis, den externen Adressen-/Datenbus und einige Steuersignale aufzuzeichnen. Die Voraussetzung für dieses sogenannte Bus-Ablaufverfolgungsverfahren ist ein physischer Zugriff auf die Speicherschnittstelle der Steuereinrichtung. Es werden hier typischerweise Adapter verwendet, die die Signale entweder direkt vom Steuereinheitsprozessor oder direkt vom Speichermodul abgreifen. Die Signale können auch unter Verwendung von Aufsteckadaptern für Leiterbahnpads oder -stecker auf dem Weg zwischen dem Steuereinheitsprozessor und dem Speicher abgegriffen werden. Falls auf diese Weise eine physische Verbindung möglich ist, können alle Speicherzugriffsoperationen aufgezeichnet und der Programmfluss und alle Datenzugriffsoperationen anhand dessen bestimmt werden.
  • Es gibt Einschränkungen, falls der Steuereinheitsprozessor mit einem Cache oder einem internen RAM versehen ist. In diesem Fall kann eine Situation auftreten, dass über einen langen Zeitraum kein Buszyklus auf der externen Busschnittstelle erscheint, da alle erforderlichen Daten bereits im internen Speicher vorliegen und dort ausgeführt werden. In diesem Fall kann ein Ablaufverfolgungswerkzeug nichts aufzeichnen und das Programmverhalten bleibt verborgen.
  • In vielen integrierten Prozessoren haben sich jedoch im Prozessorkern, im Cache, in Peripheriegeräten, Flash- und RAM-Speichern, die in einem einzigen Gehäuse integriert sind (System-on-Chip) immer höhere Integrationsdichten sowie ein Preisdruck ergeben. Diese Prozessoren haben sogar häufig noch nicht einmal mehr eine externe Speicherschnittstelle. Das Bus-Ablaufverfolgungsverfahren kann in diesem Fall nicht verwendet werden. Daher verfügen einige Prozessorarchitekturen zusätzlich zur Fehlerbeseitigungsschnittstelle über eine spezielle Ablaufverfolgungsschnittstelle auf dem Chip. Diese Ablaufverfolgungsschnittstelle kann verwendet werden, um den Programmfluss und die Datenverfolgung in komprimierter Form nach außen sichtbar zu machen.
  • Ein Ablaufverfolgungsbus, der eine Breite von 4, 8 oder 16 Bits hat und verwendet werden kann, um Programmflussdaten und/oder Datenzugriffsoperationen bei einer Busfrequenz von bis zu 400 MHz in komprimierter Form zu übertragen, wird normalerweise als Ablaufverfolgungsschnittstelle verwendet. Andere Optionen sind Hochgeschwindigkeits-Serienschnittstellen im Gigabit/s-Bereich mit differentieller Signalübertragung mit geringen Spannungsschwankungen. In diesem Fall werden die Informationen auf dem Adressenbus/Datenbus auf eine Weise übertragen, bei der sie unmittelbar im CPU-Kern mit Adress- und Datenwerten auftauchen. Dies bedeutet, dass auch Operationen zum Zugriff auf Peripheriegeräte, einen chipinternen Flash- oder RAM-Speicher - insbesondere auch gecachede Operationen - aufgezeichnet werden können.
  • Ein Nachteil dieses Ablaufverfolgungsverfahrens besteht jedoch in der hohen Bandbreite, die notwendig ist, um die Ablaufverfolgungsdaten zu übertragen. Das Problem verstärkt sich noch in Mehrfachkernsystemen, da die erforderliche Bandbreite mit der Zahl der Prozessoren zunimmt.
  • US20070011492A1 betrifft eine Erzeugung von Trace-Daten und offenbart als Trace-Anweisungen ausgebildete Programmanweisungen, um die Ausführung aus einer Anzahl von Trace-Aktivitäten ausgewählter Trace-Aktivitäten zu steuern, um Trace-Daten zu erzeugen. Die Trace-Anweisungen werden in die Programmanweisungen des zu analysierenden Software-Codes eingefügt. Das Auftreten der Trace-Anweisungen in den Programmanweisungen steuert die Ausführung der ausgewählten Trace-Aktivität. Insbesondere kann eine Trace-An-/Abschalt-Anweisung (Trace-Toggle) eine Trace-Schaltung zur Vornahme von Trace-Aktivitäten für einen einzelnen Verarbeitungstakt veranlassen.
  • US5764885A offenbart einen Prozessor, dessen Zugriffe auf Daten, die in mehreren Registern gespeichert sind, während des Betriebs nachverfolgt werden. Dabei wird ein unvorhersehbarer Zugriff auf Daten erfasst, indem ein Trace-Bit, das jedem Register zugeordnet ist, gesetzt und gelöscht wird.
  • US7149926B2 offenart einen konfigurierbaren Trace-Anschluss, der den Umfang von Trace-Information wahlweise begrenzt, die von einem Prozessorkern an einen Ausgangspuffer weitergeleitet wird, und der wahlweise die Geschwindigkeit steuert, mit der die Trace-Information von dem Trace-Anschluss an ein Debug-System ausgegeben wird.
  • KURZFASSUNG
  • Nachstehend wird eine vereinfachte Kurzfassung angegeben, um ein grundlegendes Verständnis für einen oder mehrere Aspekte der Erfindung zu bieten. Bei dieser Kurzfassung handelt es sich nicht um einen umfassenden Überblick über die Erfindung, und sie ist auch weder dazu gedacht, Hauptelemente oder kritische Elemente der Erfindung anzugeben noch den Schutzbereich dieser zu begrenzen. Der primäre Zweck der Kurzfassung besteht vielmehr darin, einige Konzepte der Erfindung in vereinfachter Form als Einleitung zur später angegebenen ausführlicheren Beschreibung darzustellen.
  • Gemäß einem Aspekt umfasst ein Verfahren das Bereitstellen einer ersten Anweisung, die, wenn sie von einem ersten Prozessor ausgeführt wird, den ersten Prozessor veranlasst, eine erste Operation durchzuführen, und die, wenn sie vom ersten Prozessor ausgeführt wird, einen zweiten Prozessor veranlasst, eine zweite Operation durchzuführen. Ferner umfasst das Verfahren das Bereitstellen einer zweiten Anweisung, die, wenn sie vom ersten Prozessor ausgeführt wird, den ersten Prozessor veranlasst, die erste Operation durchzuführen, während sie den zweiten Prozessor veranlasst, eine dritte Operation durchzuführen, oder während sie den zweiten Prozessor unberührt lässt.
  • Gemäß einem Aspekt umfasst ein Steuerungssystem einen ersten Prozessor und einen zweiten Prozessor. Der erste Prozessor ist dafür ausgelegt, eine erste Anweisung auszuführen, um eine erste Operation durchzuführen. Der zweite Prozessor ist dafür ausgelegt, eine zweite Operation durchzuführen, wenn der erste Prozessor die erste Anweisung ausführt. Der erste Prozessor ist dafür ausgelegt, eine zweite Anweisung auszuführen, um die erste Operation durchzuführen, während er den zweiten Prozessor veranlasst, eine dritte Operation durchzuführen, oder während er den zweiten Prozessor unberührt lässt.
  • Gemäß einem weiteren Aspekt umfasst ein Verfahren das Aufrufen einer ersten Anweisung, die, wenn sie von einem ersten Prozessor ausgeführt wird, den ersten Prozessor veranlasst, eine erste Operation durchzuführen, und die, wenn sie vom ersten Prozessor ausgeführt wird, einen zweiten Prozessor veranlasst, eine zweite Operation durchzuführen. Ferner umfasst das Verfahren das Aufrufen einer zweiten Anweisung, die, wenn sie vom ersten Prozessor ausgeführt wird, den ersten Prozessor veranlasst, die erste Operation durchzuführen, während sie den zweiten Prozessor veranlasst, eine dritte Operation durchzuführen, oder während sie den zweiten Prozessor unberührt lässt.
  • Diese Kurzfassung wird mit dem Verständnis angegeben, dass sie nicht verwendet werden wird, um den Schutzbereich oder die Bedeutung der Patentansprüche zu deuten oder zu beschränken. Diese Kurzfassung ist nicht dazu gedacht, Hauptmerkmale oder wesentliche Merkmale des beanspruchten Gegenstands angeben, noch ist sie dazu gedacht, als Hilfe zum Bestimmen des Schutzbereichs des beanspruchten Gegenstands verwendet zu werden. Es werden auch andere Verfahren, Einrichtungen und Systeme offenbart. Fachleute auf diesem Gebiet werden zusätzliche Merkmale und Vorteile erkennen, wenn sie die folgende ausführliche Beschreibung lesen und die beigefügten Zeichnungen betrachten.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Der beanspruchte Gegenstand wird nachstehend anhand der Zeichnungen beschrieben. Wie sie hier verwendet werden, beziehen sich in der gesamten Beschreibung gleiche Begriffe auf gleiche Elemente. Die ausführliche Beschreibung verweist auf die beigefügten Figuren. Es können in den gesamten Zeichnungen die gleichen Zahlen verwendet werden, um die gleichen Merkmale und Bauteile zu bezeichnen. Es ist anzumerken, dass Ansichten von beispielhaften Ausführungsformen nur dazu gedacht sind, ausgewählte Merkmale der Ausführungsform zu veranschaulichen.
    • 1 zeigt ein Blockschaltbild, das eine Einrichtung gemäß einigen Ausführungsformen veranschaulicht.
    • 2 zeigt ein Ablaufdiagramm, das ein beispielhaftes Verfahren gemäß einigen Ausführungsformen veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Zu Erläuterungszwecken werden zahlreiche spezifische Einzelheiten angegeben, um ein umfassendes Verständnis des beanspruchten Gegenstands zu erreichen. Es kann jedoch offensichtlich sein, dass der beanspruchte Gegenstand ohne diese spezifischen Einzelheiten ausgeführt werden kann.
  • Die folgende ausführliche Beschreibung bezieht sich auf die beigefügten Zeichnungen, welche spezifische Details und Ausführungsformen, in welcher die Erfindung praktiziert werden kann, veranschaulichend zeigen. Diese Ausführungsformen sind ausreichend ausführlich beschrieben, dass Fachleute die Erfindung ausführen können. Sonstige Ausführungsformen können benutzt und strukturelle, logische und elektrische Änderungen vorgenommen werden, ohne vom Schutzumfang der vorliegenden Erfindung abzuweichen. Die verschiedenen Ausführungsformen schließen sich nicht unbedingt gegenseitig aus, da einige Ausführungsformen mit einer oder mehreren Ausführungsformen kombiniert werden können, um neue Ausführungsformen zu bilden. Verschiedene Ausführungsformen werden in Verbindung mit Verfahren beschrieben und verschiedene Ausführungsformen werden in Verbindung mit Vorrichtungen beschrieben. Es versteht sich jedoch, dass Ausführungsformen, die in Verbindung mit Verfahren beschrieben werden, in ähnlicher Weise auf die Vorrichtungen angewandt werden können und umgekehrt.
  • 1 zeigt ein Blockschaltbild, das ein Messsystem mit einer Einrichtung gemäß einigen Ausführungsformen veranschaulicht. Das Messsystem umfasst ein Steuersystem 100, das zum Beispiel zum Steuern eines Motors (nicht gezeigt) ausgelegt ist. In einer Implementierung ist, nur als ein Beispiel für eine von dem Steuersystem 100 ausgeführte operative Aufgabe, das Steuersystem dafür ausgelegt, einen computerimplementierten Anweisungscode auszuführen, um eine Kraftstoffeinspritzpumpe (nicht gezeigt) zu steuern. Das Steuersystem 100 umfasst einen ersten Prozessor, der hier als Zentralprozessor 110 bezeichnet wird und dafür ausgelegt ist, Daten von einem Messsignal herzuleiten, und einen zweiten Prozessor, der hier als Ablaufverfolgungsprozessor 120 bezeichnet wird und dafür ausgelegt ist, eine Schnittstellenfunktionalität für das Steuersystem 100 bereitzustellen, um mit anderen Komponenten des Messsystems zu kommunizieren, wie es nachstehend genauer erklärt wird.
  • Ferner umfasst das Steuersystem 100 einen Speicher, der hier als Operationsspeicher 130 bezeichnet wird. Der Zentralprozessor 110 und der Ablaufverfolgungsprozessor 120 können kommunizierend über einen Zwischenprozessorbus 112 miteinander gekoppelt sein. Ferner können der Zentralprozessor 110 und der Speicher kommunizierend über einen Systembus 140 miteinander gekoppelt sein. Bei manchen Ausführungsformen sind der Zentralprozessor 110 und der Operationsspeicher 130 als separate Komponenten des Steuersystems 100 vorgesehen, zum Beispiel auf separaten gedruckten Leiterplatten, die über den Systembus 140 kommunizierend miteinander gekoppelt sind. Der Zwischenprozessorbus 112 und/oder der Systembus 140 können eine koaxiale Leitung, eine Drahtleitung, Glasfaser, drahtlose und andere Übertragungsmedien implementieren. Bei manchen Ausführungsformen ist das Steuersystem 100 als Steuereinheit oder Steuermodul mit separaten Chips auf einer gedruckten Leiterplatte vorgesehen. Bei manchen Ausführungsformen ist das Steuersystem 100 als System-on-Chip vorgesehen, wobei sich der Zentralprozessor 110 und der Ablaufverfolgungsprozessor 120 zusammen in einer integrierten Schaltung befinden. Der Ablaufverfolgungsprozessor 120 kann sich immer noch entfernt von dem Zentralprozessor 110 befinden. Wie sie hier verwendet wird, umfasst die Formulierung „entfernt“ eine Nebenposition in einer einzelnen integrierten Schaltung, jedoch in verschiedenen Bereichen eines Chips mit integrierter Schaltung. Das Steuersystem 100 umfasst einen Eingangsanschluss 108, der dafür ausgelegt ist, Werte eines Messsignals MS zu empfangen, einen Steueranschluss 107, der dafür ausgelegt ist, zum Beispiel an einen Motor (nicht gezeigt) Steuersignale auszugeben, und einen Ablaufverfolgungsanschluss 109, der dafür ausgelegt ist, Ablaufverfolgungsdaten TD zum Beispiel an eine Datenaufzeichnungsvorrichtung zu übertragen.
  • Eine Ausführungsform des Messsystems umfasst eine Sensoreinheit 180, die dafür ausgelegt ist, einer physikalischen Eigenschaft, wie Druck, Temperatur oder Beschleunigung, zugeordnete Werte zu erkennen. Im zeitlichen Verlauf können die erkannten Werte kontinuierlich schwanken und ein analoges Messsignal MS bilden. In einer alternativen Ausgestaltung (nicht gezeigt) umfasst die Sensoreinheit 180 einen Analog-Digital-Wandler, der dafür ausgelegt ist, ein digitales Messsignal zu bilden. Die Sensoreinheit 180 kann dafür ausgelegt sein, die Werte des Messsignals MS über eine Kopplung an den Eingangsanschluss 108 des Steuersystems 100 zu übertragen.
  • Bei manchen Ausführungsformen umfasst das Messsystem ein Ablaufverfolgungswerkzeug 190. Das Ablaufverfolgungswerkzeug 190 kann dafür ausgelegt sein, das Verhalten des Steuersystems aufzuzeichnen und/oder zu analysieren. Insbesondere umfasst das Ablaufverfolgungswerkzeug 190 bei manchen Ausführungsformen einen Ablaufverfolgungsspeicher 198. Der Ablaufverfolgungsspeicher 198 ist dafür ausgelegt, über eine Kopplung an den Ablaufverfolgungsanschluss 109 des Steuersystems 100 Ablaufverfolgungsdaten TD zu empfangen und die Ablaufverfolgungsdaten TD zu speichern. Mindestens eine Wirkung kann darin bestehen, dass der Ablaufverfolgungsspeicher 198 als Aufzeichnungsvorrichtung für die Ablaufverfolgungsdaten TD verwendet werden kann. Bei manchen Ausführungsformen kann das Steuersystem 100 dafür ausgelegt sein, unter der Bedingung mit dem Ablaufverfolgungswerkzeug 190 zusammen zu arbeiten, dass das Ablaufverfolgungswerkzeug 190 für die Zusammenarbeit validiert ist. Zum Beispiel kann das Ablaufverfolgungswerkzeug 190 ein Zertifikat umfassen, und das Steuersystem ist dafür ausgelegt, das Zertifikat vom Ablaufverfolgungswerkzeug 190 zu empfangen und eine Gültigkeit des Zertifikats zu überprüfen. Falls das Zertifikat als gültig befunden wird, arbeitet das Steuersystem 100 mit dem Ablaufverfolgungsspeicher 198 zusammen, zum Beispiel wie nachstehend beschrieben ist.
  • Mit Bezug auf das Steuersystem 100 umfasst der Zentralprozessor 110 in einer Ausführungsform einen Analog-Digital-Wandler ADC 111, der dafür ausgelegt ist, Werte des analogen Messsignals MS, die am Eingangsanschluss 108 empfangen werden, in digitale Darstellungen der Werte umzuwandeln. Eine Sequenz von digitalen Darstellungen, die zeitgerecht auf Grundlage der Werte des analogen Messsignals MS erzeugt werden, bildet somit digitale Messsignaldaten (MD), d. h. eine digitale Darstellung des analogen Messsignals MS.
  • Bei manchen Ausführungsformen umfasst der Zentralprozessor 110 einen Programmspeicher 118, der dafür ausgelegt ist, eine vom Zentralprozessor 110 auszuführende Anweisung eines Programms zu speichern. Bei manchen Ausführungsformen kann der Operationsspeicher 130 dafür ausgelegt sein, das Programm zu speichern, während der Zentralprozessor 110 dafür ausgelegt ist, insbesondere während der Laufzeit Anweisungen des Programms, die vom Operationsspeicher 130 auszuführen sind, in den Programmspeicher 118 zu laden. Insbesondere werden die Anweisungen des Programms aus einem vorbestimmten Anweisungssatz ausgewählt. Der Zentralprozessor 110 ist so konfiguriert, dass Anweisungen des Anweisungssatzes, wenn sie vom Zentralprozessor 110 ausgeführt werden, jeweils den Zentralprozessor 110 veranlassen, eine zweite Operation durchzuführen, die der besonderen Anweisung zugeordnet ist, die vom Zentralprozessor 110 aufgerufen wird.
  • Wie nachstehend genauer erläutert wird, kann gemäß einem der vorliegenden Offenbarung zugrundeliegenden Konzept eine gleiche Operation mehreren verschiedenen Anweisungen des vorbestimmten Anweisungssatzes zugeordnet sein. Mindestens eine Wirkung kann darin bestehen, dass eine erste Anweisung und eine zweite Anweisung einer gleichen ersten durchzuführenden Operation zugeordnet werden können, während ferner eine weitere Wirkung bewirkt wird, die sich bei der zweiten Anweisung von der weiteren Wirkung unterscheidet, die durch die Ausführung der ersten Anweisung veranlasst wird.
  • Zum Beispiel kann im Allgemeinen ein zweiter Prozessor dafür ausgelegt sein, eine zweite Operation durchzuführen, wenn der erste Prozessor die erste Anweisung ausführt, während der zweite Prozessor dafür ausgelegt ist, eine dritte Operation durchzuführen, oder er kann unberührt bleiben, so dass keine Operation durchgeführt wird, wenn der erste Prozessor die zweite Anweisung ausführt.
  • Bei manchen Ausführungsformen ist demgemäß eine erste Anweisung vorgesehen, die, wenn sie vom Zentralprozessor 110 als erster Prozessor ausgeführt wird, den Zentralprozessor 110 veranlasst, eine erste Operation durchzuführen. Zum Beispiel ist der Zentralprozessor 110 dafür ausgelegt, eine Speicheroperation durchzuführen, d. h., die digitalen Messsignaldaten MD unter Verwendung des Systembusses 140 in den Operationsspeicher 130 zu schreiben. Es können auch andere erste Operationen in Betracht gezogen werden, wie ein Speicherlesezugriff zum Laden von Daten vom Speicher, arithmetische Operationen, logische Operationen und dergleichen. Ferner veranlasst die erste Anweisung, wenn sie vom Zentralprozessor 110 ausgeführt wird, den Ablaufverfolgungsprozessor 120 als zweiten Prozessor eine zweite Operation durchzuführen.
  • Zum Beispiel kann als erste Anweisung eine Anweisung STORE_FULL_TRACE definiert werden, die, wenn sie auf dem Zentralprozessor 110 ausgeführt wird, den Zentralprozessor 110 veranlasst, die digitalen Messsignaldaten in den Operationsspeicher 130 zu schreiben. Außerdem veranlasst, wenn der Zentralprozessor 110 die Anweisung STORE_FULL_TRACE ausführt, die Anweisung STORE_FULL_TRACE den Ablaufverfolgungsprozessor 120, eine Ablaufverfolgungsoperation durchzuführen, die Ablaufverfolgungsdaten TD an den Ablaufverfolgungsanschluss 109 schreibt, wodurch die vom Zentralprozessor 110 durchgeführte Operation vollständig verfolgt wird.
  • Bei manchen Implementierungen enthält bei einer vollständigen Ablaufverfolgung die Ablaufverfolgungsoperation, die vom Ablaufverfolgungsprozessor 120 ausgeführt wird, das Schreiben der vollständigen Adresse, der digitalen Messsignaldaten MD, des Satzes von Attributen, wie Zugriff im Überwachungsmodus oder Zugriff im Benutzermodus und dergleichen, an den Ablaufverfolgungsanschluss 109. Wenn somit der Zentralprozessor 110 die Anweisung STORE_FULL_TRACE ausführt, veranlasst die Anweisung STORE_FULL_TRACE den Ablaufverfolgungsprozessor 120, die Ablaufverfolgungsoperation an allen Ablaufverfolgungsdaten TD auszuführen und alle Ablaufverfolgungsdaten TD an den Ablaufverfolgungsanschluss 109 zu schreiben. Bei manchen Implementierungen werden an den Ablaufverfolgungsanschluss 109 geschriebene Daten dann an das Ablaufverfolgungswerkzeug 190 übertragen.
  • Im Allgemeinen wird ferner eine zweite Anweisung vorgesehen, die, wenn sie vom Zentralprozessor 110 ausgeführt wird, den Zentralprozessor 110 veranlasst, die erste Operation durchzuführen, während der Ablaufverfolgungsprozessor 120 unberührt bleibt. Demgemäß wird in einem Beispiel als zweite Anweisung eine Anweisung STORE_NO_TRACE definiert, die, wenn sie auf dem Zentralprozessor 110 ausgeführt wird, den Zentralprozessor 110 veranlasst, die digitalen Messsignaldaten MD in den Operationsspeicher 130 zu schreiben. Im Gegensatz zur ersten Anweisung STORE_FULL_TRACE hat jedoch, wenn der Zentralprozessor 110 die Anweisung STORE_NO_TRACE ausführt, die Anweisung STORE_NO_TRACE keine Auswirkung auf den Ablaufverfolgungsprozessor 120. Bei manchen Implementierungen wird die Ausführung der Anweisung STORE_NO_TRACE durch den Zentralprozessor 10 vom Ablaufverfolgungsprozessor 120 ignoriert. Somit kann der Zentralprozessor 110 in einem Beispiel programmiert werden, eine von der Anweisung STORE_FULL_TRACE und der Anweisung STORE_NO_TRACE selektiv auszuführen, wobei der Zentralprozessor 110 zum Beispiel einen Messwert in den Operationsspeicher 130 speichert.
  • Bei manchen Implementierungen umfasst das Verfahren ferner im Allgemeinen das Aufrufen der ersten Anweisung einschließlich eines Verweises auf ein angegebenes Prozessoradressregister. Ferner kann das Verfahren, falls das angegebene Prozessoradressregister der zweiten Operation zugeordnet ist, das Ausführen der zweiten Operation umfassen. Weiterhin umfasst das Verfahren bei manchen Implementierungen das Aufrufen der zweiten Anweisung einschließlich des Verweises auf das angegebene Prozessoradressregister. Mindestens eine Wirkung kann darin bestehen, dass ein Benutzer, während er den ersten Prozessor die erste Operation durchführen lässt, selektiv auch den zweiten Prozessor die zweite Operation durchführen lässt. Zum Beispiel umfasst bei manchen Ausführungsformen die erste Operation das Arbeiten an Prozessdaten. Bei manchen Ausführungsformen umfasst die zweite Operation das Schreiben von ausgewählten Daten an den Ablaufverfolgungsanschluss des zweiten Prozessors. Insbesondere können die ausgewählten Daten, wie vorstehend beschrieben, auf den Prozessdaten basieren. In dem Beispiel führt, abhängig davon, ob die Anweisung STORE_FULL_TRACE oder die Anweisung STORE_NO_TRACE aufgerufen wird, der Ablaufverfolgungsprozessor 120 weiter selektiv die Ablaufverfolgungsoperation aus, wobei der Ablaufverfolgungsprozessor 120 zum Beispiel die digitalen Messsignaldaten MD filtert und gefilterte Daten FD, die somit auf den digitalen Messsignaldaten MD basieren, an den Ablaufverfolgungsanschluss 109 schreibt.
  • Bei manchen Implementierungen kann ein Anweisungssatz zur Verwendung mit dem Zentralprozessor 110 mindestens zwei von einer Gruppe von Anweisungen umfassen, die, wenn sie ausgeführt werden, den Zentralprozessor 110 veranlassen, einen Wert vom Speicher zu lesen oder zu laden, zum Beispiel aus dem Operationsspeicher 130, bestehend aus einer Anweisung READ_NO_TRACE, einer Anweisung READ_SELECT_TRACE und einer Anweisung READ_FULL_TRACE. Falls die Anweisung READ_NO_TRACE aufgerufen wird, arbeitet der Ablaufverfolgungsprozessor 120 nicht an den vom Zentralprozessor 110 ausgelesenen Daten. Falls die Anweisung READ_ALL_TRACE ausgeführt wird, wird der Ablaufverfolgungsprozessor 120, zum Beispiel über den Zwischenprozessorbus 112, mit allen Messdaten MD versorgt und schreibt diese Daten an den Ablaufverfolgungsanschluss 109. Falls die Anweisung READ_SELECT_TRACE ausgeführt wird, wird der Ablaufverfolgungsprozessor mit einer ausgewählten Untergruppe von gefilterten Ablaufverfolgungsdaten FD versorgt und schreibt diese gefilterten Daten an den Ablaufverfolgungsanschluss 109.
  • Im Allgemeinen kann eine weitere, zweite Anweisung bereitgestellt werden, die, wenn sie vom Zentralprozessor 110 als erster Prozessor ausgeführt wird, den Zentralprozessor 110 veranlasst, die erste Operation durchzuführen. Ferner veranlasst die weitere, zweite Anweisung, wenn sie vom Zentralprozessor 110 ausgeführt wird, den Ablaufverfolgungsprozessor 120, eine weitere, dritte Operation durchzuführen.
  • Bei manchen Ausführungsformen ist die dritte Operation eine Nicht-Operation. Zum Beispiel veranlasst die Anweisung STORE_NO_TRACE, wenn sie vom Zentralprozessor 110 ausgeführt wird, den Zentralprozessor 110, die erste Operation durchzuführen, während sie den Ablaufverfolgungsprozessor 120 veranlasst, eine Operation auszuführen, die einer NOP-Anweisung zugeordnet ist.
  • Bei manchen Ausführungsformen kann eine Anweisung STORE_SELECT_TRACE als die weitere, zweite Anweisung definiert werden. Wenn sie vom Zentralprozessor 110 ausgeführt wird, veranlasst die Anweisung STORE_SELECT_TRACE den Zentralprozessor 110, die digitalen Messsignaldaten MD in den Operationsspeicher 130 zu schreiben. Im Gegensatz zur ersten Anweisung STORE_FULL_TRACE veranlasst die Anweisung STORE_SELECT_TRACE, wenn der Zentralprozessor 110 die Anweisung STORE_SELECT_TRACE ausführt, den Ablaufverfolgungsprozessor 120 nicht unbedingt, die vom Zentralprozessor 110 durchgeführte Operation vollständig zu verfolgen. Stattdessen veranlasst die Anweisung STORE_SELECT_TRACE den Ablaufverfolgungsprozessor 120, die vom Zentralprozessor 110 durchgeführte Operation selektiv zu verfolgen. Bei manchen Ausführungsformen kann ein Benutzer in der Lage sein, eine Auswahl zu konfigurieren, einschließlich einer Auswahl, die eine gesamte vollständige Ablaufverfolgungsoperation einschließt. Bei manchen Ausführungsformen ist eine Auswahl einer vollständigen Ablaufverfolgungsoperation deaktiviert. Bei manchen Ausführungsformen kann ein Hersteller eine Auswahl konfigurieren, während der Benutzer dies nicht kann. Bei manchen Ausführungsformen kann der Benutzer die Auswahl konfigurieren, während dies der Hersteller nicht kann.
  • Bei manchen Ausführungsformen umfasst das selektive Verfolgen der vom Zentralprozessor 110 durchgeführten Operation einiges oder alles von einem Schreiben einer vollständigen Adresse, Messdaten, Sätzen von Attributen, wie Zugriff im Überwachungsmodus oder Zugriff im Benutzermodus, zum Beispiel auf den Ablaufverfolgungsanschluss 109, während die Daten bei manchen Ausführungsformen an das Ablaufverfolgungswerkzeug 190 übertragen werden. Mindestens eine Wirkung kann darin bestehen, dass die für die Übertragung von Daten vom Ablaufverfolgungsprozessor 120 zum Ablaufverfolgungswerkzeug 190 verwendete Bandbreite im Vergleich zu einer vollständigen Ablaufverfolgung reduziert werden kann. Zum Beispiel kann in einem vollständigen Testmodus die Anweisung STORE_FULL_TRACE verwendet werden, um alle Daten, die einer Ablaufverfolgung unterzogen werden können, an den Ablaufverfolgungsanschluss 109 zu schreiben. Im Gegensatz dazu kann in einem Nicht-Test-Betriebsmodus die Anweisung STORE_SELECT_TRACE verwendet werden, um zum Beispiel einen vorbestimmten Datentyp aus allen Daten zu filtern, um nur ausgewählte Daten an den Ablaufverfolgungsanschluss 109 zu schreiben, die ein Benutzer für wesentlich erachtet, um die Operation des Zentralprozessors 110 zu überwachen.
  • Bei manchen Implementierungen haben ein erster Binärcode, der die erste Anweisung darstellt, und ein zweiter Binärcode, der die zweite Anweisung darstellt, die gleiche Länge. Demgemäß können hinsichtlich des vorstehend beschriebenen Beispiels bei manchen Ausführungsformen binäre Darstellungen der Anweisung STORE_NO_TRACE, der Anweisung STORE_SELECT_TRACE und der Anweisung STORE_FULL_TRACE alle die gleiche Länge haben, wie 32 Bit. Mindestens eine Wirkung kann darin bestehen, dass, um einen vollständigen Test auszuführen, der kompilierte Code manipuliert werden kann, so dass zum Beispiel die Anweisung STORE_SELECT_TRACE durch die Anweisung STORE_FULL_TRACE ersetzt wird. In einem weiteren Beispiel wird die Anweisung STORE_SELECT_TRACE durch die Anweisung STORE_NO_TRACE ersetzt, um einen Code zu verwenden, dessen Ausführung den Ablaufverfolgungsprozessor 120 nicht veranlasst, irgendeine Ablaufverfolgung durchzuführen.
  • Wieder mit Bezug auf das Steuersystem 100 umfasst bei manchen Implementierungen der Zentralprozessor 110 einen Prozessoradressspeicher 115, der dafür ausgelegt ist, eine Operationsspeicheradresse zu speichern. Ein Prozessoradressregister des Prozessoradressspeichers 115 kann der zweiten Operation zugeordnet sein. In einem Beispiel ist das Prozessoradressregister 115 der Ablaufverfolgungsoperation zugeordnet, während andere Prozessoradressregister (nicht gezeigt) keiner Operation zugeordnet sind. Wie vorstehend erläutert, veranlasst die Ablaufverfolgungsoperation bei manchen Ausführungsformen das Steuersystem 100, ausgewählte Daten oder alle Daten als Ablaufverfolgungsdaten TD an den Ablaufverfolgungsanschluss 109 zu schreiben. Bei manchen Ausführungsformen umfasst die zweite Operation das Bereitstellen der ausgewählten Daten an das Ablaufverfolgungswerkzeug 190, das an das Steuersystem 100 gekoppelt ist.
  • Bei manchen Ausführungsformen enthält die erste Operation einen Zugriff auf das Prozessoradressregister 115 des ersten Prozessors 110. Zum Beispiel kann die erste Operation das Speichern eines Wertes, wie eines Messwertes, der im Operationsspeicher 130 durch digitale Messsignaldaten MD dargestellt ist, an einer Adresse, die im Zentralprozessoradressregister 115 gespeichert ist, umfassen.
  • Im Allgemeinen kann bei manchen Ausführungsformen die erste Anweisung den zweiten Prozessor nur veranlassen, die zweite Operation durchzuführen, wenn die erste Operation den Zugriff auf das zugeordnete Prozessoradressregister des ersten Prozessors enthält. Demgemäß veranlasst in dem hier beschriebenen Beispiel bei manchen Implementierungen die Ausführung der Anweisung STORE_SELECT_TRACE durch den Zentralprozessor 110 den Ablaufverfolgungsprozessor 120, die zweite Operation durchzuführen, nur dann, wenn die Ausführung der Anweisung STORE_SELECT_TRACE den Zentralprozessor 110 veranlasst, auf das Zentralprozessoradressregister 115 zuzugreifen, das der Ablaufverfolgung zugeordnet ist. Zum Beispiel umfasst bei manchen Implementierungen die zweite Operation das Schreiben von digitalen Messsignaldaten MD, die einer Verarbeitung durch den Zentralprozessor 110 unterzogen werden, als Ablaufverfolgungsdaten an den Ablaufverfolgungsanschluss 109. In ähnlicher Weise veranlasst bei manchen Implementierungen die Ausführung der Anweisung STORE_FULL_TRACE durch den Zentralprozessor 110 nur den Ablaufverfolgungsprozessor 120, die zweite Operation durchzuführen, wie das Schreiben von digitalen Messsignaldaten MD, die einer Verarbeitung durch den Zentralprozessor 110 unterzogen werden, an den Ablaufverfolgungsanschluss 109, falls die Ausführung der Anweisung STORE_FULL_TRACE den Zentralprozessor 110 veranlasst, auf das Zentralprozessoradressregister 115 zuzugreifen, das der Ablaufverfolgung zugeordnet ist.
  • Während in dem Anschauungsbeispiel die Zuordnung des Prozessoradressregisters 115 zur zweiten Operation statisch ist, kann bei manchen Ausführungsformen die Zuordnung konfigurierbar sein, zum Beispiel durch Einstellungen, die vor der Ausführung der Software vorgenommen wurden, und/oder durch Rekonfiguration der Einstellungen während der Ausführung der Software. Mindestens eine Wirkung kann darin bestehen, dass die Software die Bedingungen der Durchführung der zweiten Operation steuern kann.
  • Im Allgemeinen kann bei manchen Ausführungsformen ein Inhalt des Prozessoradressregisters 115 dahingehend gedeutet werden, ob die zweite Operation durchgeführt wird oder nicht. Die zweite Operation wird nur durchgeführt, falls ein Ergebnis der Deutung des Inhalts anzeigt, dass die zweite Operation durchgeführt werden sollte. Bei manchen Ausführungsformen (nicht gezeigt) umfasst das Deuten des Inhalts des Prozessoradressregisters 115 das Vergleichen zumindest eines Abschnitts des Inhalts mit einer vorbestimmten Darstellung, die der zweiten Operation zugeordnet ist. Das Ergebnis der Deutung wird bestimmt, um anzuzeigen, dass die zweite Operation durchgeführt werden sollte, falls der Abschnitt des Inhalts der vorbestimmten Darstellung gleicht. Zum Beispiel (nicht gezeigt) können eine oder mehrere ausgewählte Operationsspeicheradressen selektiv zur Ablaufverfolgung vorbestimmt werden. Somit wird bei solchen Ausführungsformen die zweite Operation, wie die Ablaufverfolgung, nur dann ausgeführt, wenn das Prozessoradressregister 115 eine vorbestimmte ausgewählte Operationsspeicheradresse enthält.
  • Im Allgemeinen kann bei manchen Ausführungsformen bei der vom ersten Prozessor aufgerufenen Anweisung ein Steuercode mit dem Verweis auf das angegebene Prozessoradressregister enthalten sein. Der Steuercode zeigt an, ob die zweite Operation durchgeführt werden soll oder nicht. Bei manchen Implementierungen findet die Durchführung der zweiten Operation nur statt, falls der Steuercode anzeigt, dass die zweite Operation durchgeführt werden sollte. Zum Beispiel verwendet bei manchen Implementierungen der Prozessor 110 das kleinste signifikante Bit der Basisadresse, um zu steuern, dass die Anweisung einer Ablaufverfolgung unterworfen werden sollte. In diesem Beispiel wird, wenn die erste Anweisung ausgeführt wird, wobei das Prozessoradressregister 115 der beispielhaften Ablaufverfolgungsoperation zugeordnet ist, je nach dem kleinsten signifikanten Bit der Basisadresse die Ablaufverfolgungsoperation aufgerufen oder nicht. Bei einer Implementierung werden alle Basisadressregister des ersten Prozessors der zweiten Operation zugeordnet. In diesem Fall wird die zweite Operation nur davon abhängig aufgerufen, wie der Prozessor das Steuerbit einstellt.
  • Im Allgemeinen kann jedes Bit in einem Argument der ersten Anweisung verwendet werden, um anzuzeigen, ob die zweite Operation ausgeführt werden soll oder nicht. Zum Beispiel wird bei manchen Implementierungen (nicht gezeigt) das Zeichen der Adressverschiebung verwendet, um anzuzeigen, ob die zweite Operation durchgeführt werden soll oder nicht. Somit wird die zweite Operation nur durchgeführt, falls das Zeichen der Adressverschiebung anzeigt, dass die zweite Operation durchgeführt werden sollte. Zum Beispiel ist bei manchen Implementierungen der Prozessor dazu geeignet, ein größtes signifikantes Bit einer Darstellung der Adressverschiebung als Zeichen der Adressverschiebung zu deuten. Der erste Prozessor ist ferner dafür ausgelegt, das Zeichen der Adressverschiebung zu verwenden, um zu steuern, dass die erste Anweisung einer Ablaufverfolgung unterzogen werden soll. In diesem Beispiel, in dem das Prozessoradressregister der beispielhaften Ablaufverfolgungsoperation zugeordnet ist, wird je nachdem, ob das Zeichen der Adressverschiebung 1 oder 0 beträgt, die Ablaufverfolgungsoperation aufgerufen oder nicht. Bei einer Implementierung werden alle Operationsadressregister 115 des ersten Prozessors der zweiten Operation zugeordnet. In diesem Fall wird in Abwesenheit von irgendeinem anderen Steuerbit zum Anzeigen, ob die zweite Operation durchgeführt werden soll oder nicht, die zweite Operation nur aufgerufen, falls der Prozessor das Zeichenbit dementsprechend eingestellt hat.
  • Im Allgemeinen veranlasst bei manchen Implementierungen die erste Anweisung den ersten Prozessor, zu signalisieren, dass die zweite Operation durchgeführt wird. Zum Beispiel kann der Zentralprozessor 110 dafür ausgelegt sein, wenn die Anweisung STORE_FULL_TRACE ausgeführt wird, ein Signal MD/FD an den Ablaufverfolgungsprozessor 120 zu übertragen, das die Ablaufverfolgungseinheit veranlasst, die Ablaufverfolgungsoperation auszuführen. In einer alternativen Ausgestaltung überwacht der Ablaufverfolgungsprozessor 120 die Aktivität der Zentralprozessoreinheit 110. Bei manchen Implementierungen überwacht der Ablaufverfolgungsprozessor 120 auf dem Bus 140 übertragene Daten.
  • Bei manchen Ausführungsformen ist der Zentralprozessor 110 dafür ausgelegt, die Informationen, die hier auch als Filterdaten (FD) bezeichnet werden, über ein einer zweiten Operation zugeordnetes ausgewähltes Prozessoradressregister dem Ablaufverfolgungsprozessor 120 zur Verwendung bei der Verarbeitung der digitalen Messsignaldaten (TM) bereitzustellen.
  • Immer noch bezugnehmend auf 1 wird nun der Ablaufverfolgungsprozessor 120 genauer beschrieben. Wie ersichtlich ist, kann der Ablaufverfolgungsprozessor 120 dafür ausgelegt sein, basierend auf Filterdaten (FD), die vom Zentralprozessor 110 empfangen werden, zu bestimmen, ob ein Zugriff auf die Operationsspeicheradresse verfolgt werden sollte.
  • Ferner umfasst bei manchen Ausführungsformen der Ablaufverfolgungsprozessor 120 ein Filtermodul 128, das dafür ausgelegt ist, die digitalen Messsignaldaten (MD) basierend auf den Filterdaten (FD), die vom Zentralprozessor 110 empfangen werden, zu filtern, um ausgewählte Daten zu erhalten, die hier auch als Ablaufverfolgungsdaten (TD) bezeichnet werden. Bei manchen Ausführungsformen sind die Filterdaten (FD) nur eine Flagge, die die zweite vorzunehmende Operation anzeigt. Bei manchen Ausführungsformen ist der Ablaufverfolgungsprozessor 120 dafür ausgelegt, die Flagge zu deuten, so dass der digitale Wert, der in den Operationsspeicher 130 zu schreiben ist, auch als Operand bei der Ausführung der zugeordneten Operation verwendet werden sollte.
  • Bei manchen Ausführungsformen ist das Steuersystem 100 dafür ausgelegt, das Filtermodul 128 zu überlagern. Mindestens eine Wirkung kann darin bestehen, dass die zweite Operation nicht durchgeführt wird, auch wenn das Filtermodul 128 gefunden hat, dass die zweite Operation durchgeführt werden sollte. Zum Beispiel kann die Überlagerung mit einer ISR-Operation (Interrupt-Service-Routine-Operation, Unterbrechungs-Serviceprogramm-Operation) verwendet werden. Unterbrechungsservices können gemäß Softwareanweisungen, die vom Zentralprozessor 110 ausgeführt werden, ohne Beziehung zu einem Fluss von Prozessen sein. Demgemäß kann es unerwünscht sein, einen Zugriff eines Unterbrechungsservices auf das Prozessoradressregister 115 zu verfolgen, das der zweiten Operation zugeordnet ist. Mindestens eine Wirkung der Überlagerung kann zum Beispiel darin bestehen, eine unerwünschte Ablaufverfolgung von Unterbrechungsservicezugriffen auf das Prozessoradressregister trotz der Zuordnung des Prozessoradressregisters zu einer Ablaufverfolgung als zweite Operation zu verhindern.
  • Bei manchen Ausführungsformen umfasst der erste Prozessor einen Zähler, der dafür ausgelegt ist, mit einer Übertragung von Prozessdaten an den zweiten Prozessor hochzuzählen. Der Zähler ist dafür ausgelegt, periodisch herunterzuzählen. Der erste Prozessor ist dafür ausgelegt, falls der Zähler über einem konfigurierbaren Ladeschwellenwert liegt, stehen zu bleiben. In manchen alternativen Ausführungsformen ist der Zähler dafür ausgelegt, periodisch hochzuzählen. Der erste Prozessor ist dafür ausgelegt, falls der Zähler unter einem konfigurierbaren Ladeschwellenwert liegt, stehen zu bleiben. Mindestens eine Wirkung kann darin bestehen, dass die Übertragung der Prozessdaten an den zweiten Prozessor erneut geplant wird.
  • Immer noch mit Bezug auf 1 werden nun weitere Aspekte des Zentralprozessors 110 gemäß einem allgemeinen Aspekt, der vorstehend umrissen wurde, genauer beschrieben.
  • In einer Ausführungsform umfasst der zweite Prozessor 120 einen Puffer 124, der als FIFO-Puffer konfiguriert ist. Bei einer Implementierung wird ein Zähler (nicht gezeigt), der an den ersten Prozessor 110 gekoppelt oder in diesem enthalten ist, verwendet, um einen Pufferfüllstand des Puffers im zweiten Prozessor durch Hochzählen zu modellieren, wenn Daten vom ersten Prozessor 110 zum zweiten Prozessor 120 übertragen werden. Der Zähler kann veranlasst werden, im zeitlichen Verlauf herunterzuzählen. Das Modellieren einer Operation des Ablaufverfolgungsprozessors 120 kann das Modellieren oder Simulieren des Füllens des Datenpuffers 124 mit den ausgewählten Daten und/oder das Entfernen der ausgewählten Daten aus dem Datenpuffer 124 einschließen.
  • Bei manchen Ausführungsformen kann der Ablaufverfolgungsprozessor 120 als Zustandsmaschine vorgesehen sein. In noch einer weiteren Ausführungsform ist der Ablaufverfolgungsprozessor 120 mit dem Zentralprozessor 110 integriert. Somit stellt der Zentralprozessor 110 die Funktionalität des Ablaufverfolgungsprozessors 120 bereit.
  • Nachstehend wird ein beispielhaftes Verfahren des Betreibens des Steuersystems 100 gemäß einem vorstehend umrissenen allgemeinen Aspekt mit Bezug auf 2 beschrieben, die ein Ablaufdiagramm des beispielhaften Verfahrens gemäß einigen Ausführungsformen zeigt. Es wird auch auf 1 Bezug genommen.
  • Bei S210 werden eine oder mehrere Anweisungen eines Computerprogramms in den Zentralprozessor-Programmspeicher 118 geladen. Das Computerprogramm umfasst eine Sequenz von Anweisungen, die, wenn sie ausgeführt werden, den Zentralprozessor 110 veranlassen, zweite Operationen durchzuführen. Bei manchen Ausführungsformen umfasst das Computerprogramm eine Anweisung STORE_FULL_TRACE und eine Anweisung STORE_NO_TRACE, wie vorstehend beschrieben. In einer Variante umfasst das Computerprogramm eine Anweisung STORE_SELECT_TRACE anstelle von, oder zusätzlich zu, der Anweisung STORE_FULL_TRACE.
  • Bei S220 wird das Computerprogramm ausgeführt und eine Anweisung wird aufgerufen, die auf den Operationsspeicher 130 zugreift. Zum Beispiel kann die Anweisung eine Anweisung STORE_FULL_TRACE sein, die, wenn sie ausgeführt wird, den Zentralprozessor 110 veranlasst, einen Wert der digitalen Messsignaldaten MD in den Operationsspeicher 130 zu schreiben.
  • Bei S230 führt der Zentralprozessor 110 die Anweisung STORE_FULL_TRACE aus. Der Zentralprozessor 110 schreibt zum Beispiel die digitalen Messsignaldaten MD in den Operationsspeicher 130, der den Wert des digitalen Messsignals darstellt. Der Zentralprozessor 110 kann den Systembus 140 verwenden, um die Daten an den Operationsspeicher 130 zu übertragen.
  • Bei manchen Ausführungsformen verwendet der Zentralprozessor 110 eine indirekte Adressierung. Somit verwendet die Anweisung STORE_FULL_TRACE, anstatt den Operationsspeicher 130 direkt zu adressieren, vielmehr das Prozessoradressregister 115. Bei manchen Ausführungsformen ist, wie vorstehend beschrieben, das Prozessoradressregister 115 der zweiten Operation zugeordnet. Im gerade beschriebenen Beispiel umfasst die zweite Operation die Ablaufverfolgungsoperation. Somit ist auch umgekehrt die Ablaufverfolgungsoperation dem Prozessoradressregister 115 zugeordnet.
  • Bei S240 veranlasst bei manchen Ausführungsformen, die eine indirekte Adressierung implementieren, die Anweisung STORE_FULL_TRACE den Prozessor, eine Operationsspeicheradresse aus dem Prozessoradressregister 115 auszulesen. Als nächstes bestimmt der Prozessor bei manchen Ausführungsformen (in 2 nicht gezeigt), ob das Prozessoradressregister 115 einer zweiten Operation zugeordnet ist. Falls keine Zuordnung bestimmt wird, bewegt sich der Ablauf weiter zu einem anderen Verfahrensschritt S270. In dem in 2 gezeigten Beispiel ist das Prozessoradressregister 115 stets der Ablaufverfolgungsoperation zugeordnet, und daher fährt die beispielhafte Operation ohne Überprüfung irgendeiner Zuordnung mit der Durchführung der zweiten Operation fort. Zum Beispiel kann die Anweisung STORE_FULL_TRACE den Zentralprozessor 110 veranlassen, dem Ablaufverfolgungsprozessor 120 zu signalisieren, die Ablaufverfolgungsoperation durchzuführen, wodurch die von dem Zentralprozessor 110 durchgeführte Operation vollständig verfolgt wird.
  • Bei S260 wird die zugeordnete zweite Operation durchgeführt. In dem Anschauungsbeispiel wird die Ablaufverfolgungsoperation durchgeführt. Insbesondere wählt in einem Beispiel gemäß den Filterdaten FD das Filtermodul 128 Ablaufverfolgungsdaten (TD) aus den digitalen Messsignaldaten MD aus. Die Ablaufverfolgungsdaten TD werden an den Ablaufverfolgungsanschluss 109 ausgegeben. Bei manchen Ausführungsformen, bei denen das Ablaufverfolgungswerkzeug 190 an den Ablaufverfolgungsanschluss 109 gekoppelt ist, können die Ablaufverfolgungsdaten TD dann an den Ablaufverfolgungsspeicher 198 des Ablaufverfolgungswerkzeugs 190 geschrieben werden. Demgemäß wird somit ein Satz von Ablaufverfolgungsdaten TD im Ablaufverfolgungsspeicher 198 gespeichert, die eine Kopie oder eine Ablaufverfolgung der entsprechenden digitalen Messsignaldaten MD sind, die in dem Operationsspeicher 130 gespeichert sind.
  • Bei S270 führt der Zentralprozessor 110 eine oder mehrere andere Anweisungen des Programms aus.
  • Bei S280 führt der Zentralprozessor 110 die Anweisung STORE_NO_TRACE aus. Die Anweisung STORE_NO_TRACE veranlasst den Zentralprozessor 110, die digitalen Messsignaldaten in den Operationsspeicher 130 zu schreiben. Im Gegensatz zur ersten Anweisung STORE_FULL_TRACE hat jedoch, wenn der Zentralprozessor 110 die Anweisung STORE_NO_TRACE ausführt, die Anweisung STORE_NO_TRACE keine Auswirkung auf den Ablaufverfolgungsprozessor 120.
  • Bei manchen Implementierungen sind eine erste Zahl von Taktzyklen, die erforderlich sind, um die erste Anweisung auszuführen, in dem Beispiel ist dies die Anweisung STORE_FULL_TRACE, und eine zweite Zahl von Taktzyklen, die erforderlich sind, um die zweite Anweisung auszuführen, die in dem Beispiel die Anweisung STORE_NO_TRACE ist, gleich. Demgemäß erfordert der Zentralprozessor im Hinblick auf das vorstehend beschriebene Beispiel bei manchen Ausführungsformen eine gleiche Zahl von Taktzyklen zum Ausführen der Anweisung STORE_NO_TRACE, der Anweisung STORE_SELECT_TRACE und der Anweisung STORE_FULL_TRACE.
  • Bei S299 fährt die Operation des Steuersystems 100 mit einer anderen Verarbeitung fort.
  • In einer weiteren beispielhaften Ausführungsform umfasst ein Steuersystem einen Operationsspeicher und einen an den Operationsspeicher gekoppelten ersten Prozessor. Der erste Prozessor ist dafür ausgelegt, digitale Messsignaldaten von einem Messsignal herzuleiten. Der erste Prozessor ist ferner dafür ausgelegt, die digitalen Messsignaldaten an einer Operationsspeicheradresse in den Operationsspeicher zu schreiben. Das Steuersystem umfasst ferner einen zweiten Prozessor, der an den ersten Prozessor gekoppelt und dafür ausgelegt ist, die digitalen Messsignaldaten basierend auf der Operationsspeicheradresse zu verarbeiten, zum Beispiel zu filtern und zu komprimieren, um ausgewählte Daten zu erhalten.
  • Bei manchen Ausführungsformen (nicht gezeigt) umfasst das Steuerungssystem mehrere erste Prozessoren oder Zentralprozessoren. Die mehreren ersten Prozessoren können an einen gemeinsamen Bus gekoppelt und über den gemeinsamen Bus an einen gemeinsamen Operationsspeicher gekoppelt sein. Die vorstehend im Hinblick auf einen Zentralprozessor umrissenen Konzepte und Prinzipien können somit auch mit mehr als einem Zentralprozessor implementiert werden.
  • In der vorstehenden Beschreibung von beispielhaften Implementierungen sind zu Erläuterungszwecken spezifische Zahlen, Materialkonfigurationen und andere Einzelheiten angegeben, um die beanspruchte Erfindung besser zu erklären. Es wird einem Fachmann auf dem Gebiet jedoch klar sein, dass die beanspruchte Erfindung unter Verwendung von anderen als den hier beschriebenen beispielhaften Einzelheiten umgesetzt werden kann.
  • Obwohl einige Aspekte im Zusammenhang mit einer Einrichtung beschrieben worden sind, stellen diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens dar, bei dem ein Block oder eine Vorrichtung einem Verfahrensschritt oder einem Merkmal eines Verfahrensschritts entspricht. Analog stellen im Zusammenhang mit einem Verfahrensschritt beschriebene Aspekte auch eine Beschreibung eines entsprechenden Blocks oder Gegenstands oder Merkmals einer entsprechenden Einrichtung dar.
  • Die offenbarten Anordnungen können teilweise oder vollständig in Hardware unter Verwendung von Logikschaltungen oder VLSI-Ausführungen implementiert werden.
  • Die hier angegebenen Implementierungen werden im Hinblick auf beispielhafte Ausführungsformen beschrieben. Es versteht sich jedoch, dass individuelle Aspekte der Implementierungen separat beansprucht und ein oder mehrere Merkmale der verschiedenen Ausführungsformen kombiniert werden können. In manchen Fällen werden bekannte Merkmale weggelassen oder vereinfacht, um die Beschreibung der beispielhaften Implementierungen zu verdeutlichen.
  • Wie es hier verwendet wird, bedeutet das Wort „beispielhaft“, als Beispiel, Fall oder Veranschaulichung dienend. Eine Ausführungsform oder Ausführung, die hier als „beispielhaft“ beschrieben wird, ist nicht unbedingt als bevorzugt oder vorteilhaft gegenüber anderen Ausführungsformen oder Ausführungen auszulegen. Durch Verwendung des Wortes „beispielhaft“ sollen vielmehr Konzepte und Techniken auf konkrete Weise präsentiert werden.
  • Wie er hier verwendet wird, soll der Begriff „oder“ eher ein einschließendes „oder“ als ein ausschließendes „oder“ bedeuten. Das heißt, soweit nicht anders angegeben oder aus dem Kontext klar erkennbar ist, soll „X verwendet A oder B“ für alle natürlichen einschließenden Permutationen gelten. Das heißt, wenn X verwendet A; X verwendet B oder X verwendet A und B gilt, dann ist „X verwendet A oder B“ in jedem der vorstehenden Fälle erfüllt.
  • Wie sie hier verwendet werden, sollten die Artikel „ein“, „einer“ und „eine“ im Allgemeinen so ausgelegt werden, dass sie „ein oder mehrere“ bedeuten, wenn es nicht anders angegeben ist oder aus dem Kontext klar wird, dass sie sich auf eine Singularform beziehen.
  • Wie sie hier verwendet werden, können die Begriffe „gekoppelt“ und „verbunden bzw. angeschlossen“ verwendet worden sein, um zu beschreiben, wie verschiedene Elemente verbunden sind. Wenn es nicht ausdrücklich angegeben oder zumindest anders impliziert ist, kann eine solche beschriebene Verbindung von verschiedenen Elementen entweder direkt oder indirekt erfolgen.
  • Wie sie hier verwendet werden, sind die Begriffe „aufweisend“, „enthaltend“, „einschließend“, „mit“ oder Varianten davon sowie ähnliche Begriffe offene Begriffe, die einschließlich sein sollen. Diese Begriffe zeigen das Vorhandensein von angegebenen Elementen oder Merkmalen an, aber schließen keine zusätzlichen Elemente oder Merkmale aus.
  • Wie es hier verwendet wird, versteht sich das Wort „kontinuierlich“ gemäß einem implementierten, zugrundeliegenden Betriebsmodus. Zum Beispiel kann, falls davon ausgegangen wird, dass ein System in einem Taktmodus arbeitet, der Begriff „kontinuierliche Operation“ eine Operation im Taktmodus bedeuten, während der Begriff keine Operation in einem anderen Modus meint.
  • Wie er hier verwendet wird, kann sich der Begriff „Modul“ auf jede bekannte oder später entwickelte Hardware, Software, Firmware oder Kombination davon beziehen, die in der Lage ist, die diesem Element zugeordnete Funktionalität durchzuführen.
  • Wie sie hier verwendet werden, werden die Begriffe „bestimmt“, „ausrechnen“ und „berechnen“ und Varianten davon austauschbar verwendet und umfassen jede Art von Methodologie, Prozess, mathematische Operation oder Technik.
  • Wie sie hier verwendet werden, werden auch Begriffe wie „erster“, „zweiter“ und dergleichen benutzt, um verschiedene Elemente, Gebiete, Bereiche usw. zu beschreiben, wobei sie gleichfalls nicht als einschränkend zu verstehen sind.

Claims (20)

  1. Verfahren, umfassend: - Bereitstellen einer ersten Anweisung, die, wenn sie von einem ersten Prozessor ausgeführt wird, den ersten Prozessor veranlasst, eine erste Operation durchzuführen, und die, wenn sie vom ersten Prozessor ausgeführt wird, einen zweiten Prozessor veranlasst, eine zweite Operation durchzuführen; und - Bereitstellen einer zweiten Anweisung, die, wenn sie vom ersten Prozessor ausgeführt wird, den ersten Prozessor veranlasst, die erste Operation durchzuführen, während sie den zweiten Prozessor veranlasst, eine dritte Operation durchzuführen oder den zweiten Prozessor unberührt lässt.
  2. Verfahren nach Anspruch 1, wobei die dritte Operation eine Nicht-Operation ist.
  3. Verfahren nach Anspruch 1 oder 2, wobei ein erster binärer Code, der die erste Anweisung darstellt, und ein zweiter binärer Code, der die zweite Anweisung darstellt, die gleiche Länge haben.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei eine erste Zahl von Taktzyklen, die erforderlich sind, um die erste Anweisung auszuführen, und eine zweite Zahl von Taktzyklen, die erforderlich sind, um die zweite Anweisung auszuführen, gleich sind.
  5. Verfahren nach einem der Ansprüche 1 bis 4, umfassend: - Zuordnen eines Prozessoradressregisters des ersten Prozessors zur zweiten Operation; - wobei die erste Operation einen Zugriff auf das zugeordnete Prozessoradressregister des ersten Prozessors beinhaltet; und - wobei die erste Anweisung den zweiten Prozessor veranlasst, die zweite Operation nur dann durchzuführen, wenn die erste Operation den Zugriff auf das zugeordnete Prozessoradressregister des ersten Prozessors enthält.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei die erste Anweisung den ersten Prozessor veranlasst, zu signalisieren, dass die zweite Operation durchgeführt wird.
  7. Verfahren nach einem der Ansprüche 1 bis 6, wobei der zweite Prozessor eine Ablaufverfolgungseinheit ist.
  8. Verfahren nach einem der Ansprüche 5 bis 7, ferner umfassend: - Aufrufen der ersten Anweisung mit einem Verweis auf ein angegebenes Prozessoradressregister; - falls das angegebene Prozessoradressregister das zugeordnete Prozessoradressregister ist, Durchführen der vorbestimmten Operation; und - Aufrufen der zweiten Anweisung mit dem Verweis auf das angegebene Prozessoradressregister.
  9. Verfahren nach einem der Ansprüche 1 bis 8, wobei die erste Operation das Arbeiten an Prozessdaten umfasst; und wobei die zweite Operation das Schreiben von ausgewählten Daten an einen Ablaufverfolgungsanschluss des zweiten Prozessors umfasst, wobei die ausgewählten Daten auf den Prozessdaten basieren.
  10. Verfahren nach Anspruch 9, wobei die erste Anweisung eine von einer Gruppe ist, die aus einer Schreibanweisung zum Schreiben der Prozessdaten in einen Speicher und einer Leseanweisung zum Lesen der Prozessdaten aus dem Speicher besteht.
  11. Steuersystem, umfassend: - einen ersten Prozessor und einen zweiten Prozessor, wobei der erste Prozessor dafür ausgelegt ist, eine erste Anweisung auszuführen, um eine erste Operation durchzuführen; wobei der zweite Prozessor dafür ausgelegt ist, eine zweite Operation durchzuführen, wenn der erste Prozessor die erste Anweisung ausführt; und wobei der erste Prozessor dafür ausgelegt ist, eine zweite Anweisung auszuführen, um die erste Operation durchzuführen, während er den zweiten Prozessor veranlasst, eine dritte Operation durchzuführen, oder während er den zweiten Prozessor unberührt lässt.
  12. Steuersystem nach Anspruch 11, wobei der erste Prozessor dafür ausgelegt ist, eine gleiche Zahl von Taktzyklen zu erfordern, um die erste Anweisung und die zweite Anweisung auszuführen.
  13. Steuersystem nach Anspruch 11 oder 12, ferner umfassend: - ein zugeordnetes Prozessoradressregister, das der zweiten Operation zugeordnet ist; wobei der erste Prozessor dafür ausgelegt ist, auf ein angegebenes Prozessoradressregister zu verweisen; und wobei das Steuersystem dafür ausgelegt ist, die zweite Operation nur dann durchzuführen, wenn das angegebene Prozessoradressregister das zugeordnete Prozessoradressregister ist.
  14. Steuersystem nach einem der Ansprüche 11 bis 13, wobei die erste Operation das Arbeiten an Prozessdaten umfasst, wobei die zweite Operation das Schreiben von ausgewählten Daten an einen Ablaufverfolgungsanschluss umfasst, und wobei die ausgewählten Daten auf den Prozessdaten basieren.
  15. Steuersystem nach Anspruch 14, umfassend: - einen Speicher, der an den ersten Prozessor gekoppelt ist, wobei der erste Prozessor dafür ausgelegt ist, die Prozessdaten an einer Speicheradresse in den Speicher zu schreiben oder die Prozessdaten an der Speicheradresse aus dem Speicher auszulesen, und wobei die zweite Operation das Erzeugen einer Ablaufverfolgungsnachricht zum Schreiben an einen Ablaufverfolgungsanschluss umfasst.
  16. Steuersystem nach einem der Ansprüche 13 bis 15, wobei der zweite Prozessor dafür ausgelegt ist, die Prozessdaten basierend auf dem angegebenen Prozessoradressregister zu filtern, um ausgewählte Daten zum Schreiben an den Ablaufverfolgungsanschluss zu erhalten.
  17. Steuersystem nach Anspruch 16, wobei der erste Prozessor einen Zähler umfasst, der dafür ausgelegt ist, mit Übertragungen von Prozessdaten vom ersten Prozessor zum zweiten Prozessor hochzuzählen und proportional zu Taktzyklen herunterzuzählen.
  18. Steuersystem nach einem der Ansprüche 16 oder 17, wobei der erste Prozessor und der zweite Prozessor zusammen in einer integrierten Schaltung angeordnet sind.
  19. Steuersystem nach einem der Ansprüche 11 bis 18, wobei der zweite Prozessor als Zustandsmaschine vorgesehen ist.
  20. Verfahren, umfassend: - Aufrufen einer ersten Anweisung, die, wenn sie von einem ersten Prozessor ausgeführt wird, den ersten Prozessor veranlasst, eine erste Operation durchzuführen, und die, wenn sie von dem ersten Prozessor ausgeführt wird, einen zweiten Prozessor veranlasst, eine zweite Operation durchzuführen; und - Aufrufen einer zweiten Anweisung, die, wenn sie von dem ersten Prozessor ausgeführt wird, den ersten Prozessor veranlasst, die erste Operation durchzuführen, während sie den zweiten Prozessor veranlasst, eine dritte Operation durchzuführen oder den zweiten Prozessor unberührt lässt.
DE102017116304.2A 2017-07-19 2017-07-19 Steuerungssystem und verfahren zum durchführen einer operation Active DE102017116304B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102017116304.2A DE102017116304B4 (de) 2017-07-19 2017-07-19 Steuerungssystem und verfahren zum durchführen einer operation
US16/037,299 US10872030B2 (en) 2017-07-19 2018-07-17 Control system and method of to perform an operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017116304.2A DE102017116304B4 (de) 2017-07-19 2017-07-19 Steuerungssystem und verfahren zum durchführen einer operation

Publications (2)

Publication Number Publication Date
DE102017116304A1 DE102017116304A1 (de) 2019-01-24
DE102017116304B4 true DE102017116304B4 (de) 2024-05-02

Family

ID=64951754

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017116304.2A Active DE102017116304B4 (de) 2017-07-19 2017-07-19 Steuerungssystem und verfahren zum durchführen einer operation

Country Status (2)

Country Link
US (1) US10872030B2 (de)
DE (1) DE102017116304B4 (de)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764885A (en) 1994-12-19 1998-06-09 Digital Equipment Corporation Apparatus and method for tracing data flows in high-speed computer systems
US7149926B2 (en) 2003-05-22 2006-12-12 Infineon Technologies Ag Configurable real-time trace port for embedded processors
US20070011492A1 (en) 2005-07-05 2007-01-11 Arm Limited Generation of trace data

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093908A (en) * 1989-04-17 1992-03-03 International Business Machines Corporation Method and apparatus for executing instructions in a single sequential instruction stream in a main processor and a coprocessor
US6438715B1 (en) * 1998-05-04 2002-08-20 Stmicroelectronics N.V. Trace operations in an integrated circuit for a disk drive
US6453407B1 (en) * 1999-02-10 2002-09-17 Infineon Technologies Ag Configurable long instruction word architecture and instruction set
US6857083B2 (en) * 2000-12-18 2005-02-15 International Business Machines Corporation Method and system for triggering a debugging unit
US8819699B2 (en) * 2006-12-29 2014-08-26 Intel Corporation Controlling virtual machines based on performance counters

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764885A (en) 1994-12-19 1998-06-09 Digital Equipment Corporation Apparatus and method for tracing data flows in high-speed computer systems
US7149926B2 (en) 2003-05-22 2006-12-12 Infineon Technologies Ag Configurable real-time trace port for embedded processors
US20070011492A1 (en) 2005-07-05 2007-01-11 Arm Limited Generation of trace data

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Nexus (standard). In: Wikipedia, the free encyclopedia. Bearbeitungsstand: 23.03.2016. URL: https://en.wikipedia.org/w/index.php?title=Nexus_(standard)&oldid=711604048 [abgerufen am 31.01.2018]
Randall Hyde: The Art of Assembly Language, 2003, S. 270-276, 279-281, 287-289, 302. URL: http://www.plantation-productions.com/Webster/www.artofasm.com/Windows/index.html [abgerufen am 05.02.2018]
Wang, Chien-Min: Architecture and Programming for Embedded Processors - Lecture 3 - ARM, 2008. URL: http://www.iis.sinica.edu.tw/~cmwang/arm/ [abgerufen am 31.01.2018]

Also Published As

Publication number Publication date
US20190026213A1 (en) 2019-01-24
DE102017116304A1 (de) 2019-01-24
US10872030B2 (en) 2020-12-22

Similar Documents

Publication Publication Date Title
DE4313594C2 (de) Mikroprozessor
DE60012132T2 (de) Mikroprozessor mit Prüfinstruktionsspeicher
DE112020000469T5 (de) Automatisierte testeinrichtung, die ein auf-chip-system-teststeuergerät verwendet
DE60100993T2 (de) Rechnersystem mit einer speicherzugriffssteuerung zum gebrauch von non-system speicheraufschlagmitteln während systemurladungszeit
EP2765528B1 (de) Wahlfreier Zugriff auf Signalwerte eines FPGA zur Laufzeit
DE10392667T5 (de) Ereignisbasiertes IC-Testsystem
DE102006041444B4 (de) Schaltungsanordnung und Verfahren zum Erfassen einer Ausführungszeit eines Befehls in einem Rechnersystem
EP2954440A2 (de) Verändern eines signalwerts eines fpga zur laufzeit
WO2004049159A2 (de) Einrichtung und verfahren zur analyse von eingebetteten systemen
DE102018104070A1 (de) System und verfahren zur auswahl einer computerplattform
DE102013000857A1 (de) Kompakte Funktionsablaufprotokollierung
DE112019007610T5 (de) Eine automatische testausrüstung zum testen eines testobjekts, das eine verarbeitungseinheit und einen programm- und/oder datenspeicher aufweist, eine automatische testausrüstung, die eine teststeuerung, eine oder mehrere schnittstellen zu dem testobjekt und einen gemeinschaftlich verwendeten speicher aufweist, und ein verfahren zum testen eines testobjekts
DE19960574A1 (de) PCI-Fehlerbehebungsvorrichtung,-Verfahren und -System
DE102019121571A1 (de) Verfahren und einrichtung, um auf hochvolumige prüfdaten über hochgeschwindigkeitsschnittstellen zuzugreifen
DE3700800C2 (de) Einrichtung zur Erzeugung eines Unterbrechungspunktes in einem Mikroprozessor
DE112019000460T5 (de) Adapter für direkten speicherzugriff
DE102017116304B4 (de) Steuerungssystem und verfahren zum durchführen einer operation
DE60010847T2 (de) Verfahren zur Fehlerbeseitigung in einem Thread-Programm
DE102012221253B4 (de) Verfahren zum Zählen von Ereignissen in einer elektronischen Einheit, Ereigniszähler für eine integrierte Schaltungseinheit sowie Computersystem und Computerprogrammprodukt hierfür
EP1716490A2 (de) Einrichtung und verfahren zur analyse von eingebetteten systemen für sicherheitskritische rechnersysteme in kraftfahrzeugen
DE102020118022A1 (de) Erzeugen verschiedener traces für grafikprozessorcode
DE102019132679A1 (de) Überwachungsverfahren für cpu-nutzungsmenge im betrieb von fahrzeug-ecu und überwachungseinheit
DE102017108219A1 (de) Steuersystem und Verfahren des Speicherzugriffs
DE102017108216A1 (de) Steuersystem und Verfahren des Speicherzugriffs
DE102019112633A1 (de) Prozessor- und chipsatzdurchgangsprüfen einer gehäusezwischenverbindung für anwendungen funktionaler sicherheit

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R437 Application is deemed to be withdrawn due to failure to submit translation
R073 Re-establishment requested
R074 Re-establishment allowed
R074 Re-establishment allowed
R016 Response to examination communication
R082 Change of representative

Representative=s name: VIERING, JENTSCHURA & PARTNER MBB PATENT- UND , DE

R018 Grant decision by examination section/examining division