DE102010006219A1 - Gerät und Verfahren zur Fehleranalyse - Google Patents

Gerät und Verfahren zur Fehleranalyse Download PDF

Info

Publication number
DE102010006219A1
DE102010006219A1 DE102010006219A DE102010006219A DE102010006219A1 DE 102010006219 A1 DE102010006219 A1 DE 102010006219A1 DE 102010006219 A DE102010006219 A DE 102010006219A DE 102010006219 A DE102010006219 A DE 102010006219A DE 102010006219 A1 DE102010006219 A1 DE 102010006219A1
Authority
DE
Germany
Prior art keywords
microprocessor
breakpoint
host machine
microprocessors
internal information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102010006219A
Other languages
English (en)
Inventor
Shunsuke Kawasaki Yamagata
Hiroyuki Kawasaki Suzuki
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.)
Renesas Electronics Corp
Original Assignee
NEC Electronics Corp
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 NEC Electronics Corp filed Critical NEC Electronics Corp
Publication of DE102010006219A1 publication Critical patent/DE102010006219A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31705Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/277Tester hardware, i.e. output processing circuits with comparison between actual response and known fault-free response

Landscapes

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

Abstract

Ein Fehlerbeseitiger wird in einem Host-PC betrieben, und in Abhängigkeit von dem Betrieb des Fehlerbeseitigers führen ein erster und ein zweiter Mikroprozessor eine identische Fehlerbeseitigungsoperation parallel über eine erste und eine zweite Fehlerbeseitigungsschnittstellenvorrichtung durch. Der Host-PC erhält interne Informationen (Speicherauszugsergebnisse) von dem ersten und dem zweiten Mikroprozessor über die erste und die zweite Fehlerbeseitigungsschnittstellenvorrichtung und vergleicht interne Informationen (Speicherauszugsergebnisse) von dem ersten und dem zweiten Mikroprozessor, um eine Fehleranalyse durchzuführen.

Description

  • Technisches Feld
  • [BEZUG AUF EINE VERWANDTE ANMELDUNG]
  • Diese Anmeldung basiert auf der japanischen Patentanmeldung Nr. JP 2009-018374 , die am 29. Januar 2009 eingereicht wurde, deren Priorität sie in Anspruch nimmt und deren Offenbarung hier in ihrer Gesamtheit durch Bezugnahme eingebracht wird.
  • Die vorliegende Erfindung bezieht sich auf eine Technologie für eine Vorrichtungsbewertungsanalyse, und insbesondere auf ein Gerät, ein Verfahren und ein Programm, das für die Fehleranalyse eines Mikroprozessors geeignet ist.
  • HINTERGRUND
  • Hinsichtlich des Testens einer LSI-Schaltung (Large Scale Integrated circuits; hochintegrierte Schaltungen) wird im Patentdokument 1 ein Aufbau offenbart, der beispielsweise in 9 dargestellt ist, bei dem eine nicht defekte LSI-Schaltung 11, für die vorher bestätigt wurde, dass sie nicht defekt ist, und einer LSI-Schaltung 12 zum Messen synchronisiert werden und unter identischen Testeinnahmebedingungen betrieben werden, und eine Bestimmung wird durchgeführt, ob die LSI-Schaltung 12 bei der Messung einen Betrieb durchführt, der funktional identisch zu dem der nicht defekten LSI-Schaltung 11 ist.
  • Hinsichtlich einer Emulationsvorrichtung zur Durchführung einer Emulation eines Prozessors im Test, als einen In-Schaltungs-Emulator (ICE), der eine Emulation in Echtzeit durchführt, ist ferner ein Aufbau im Patent Dokument 2 offenbart, beispielsweise wie in 10 dargestellt ist, der mit einer Speichereinrichtung (trace memory unit; Protokollspeichereinheit) 5 versehen ist, die im Voraus Bezugsdaten hinsichtlich eines erwarteten Befehlsausführungsergebnisses für einen Prozessor (MPU) 3 im Test speichert und sequenziell Bezugsdaten basierend auf einem externen Taktsignal ausgibt, das synchron mit einem Befehlsausführungszyklus des Prozessors (MPU) 3 im Test ist, einer Vergleichseinrichtung (Vergleichseinheit) 7, die das Ausführungsergebnis des Prozessors (MPU) 3 im Test und der Ausgabebezugsdaten durchführt, und einer Steuereinrichtung (controller) 4 die eine Unterbrechung und eine Fortsetzung der Emulation basierend auf einem Vergleichsergebnissignal durchführt.
  • [Patent Dokument 1]
    • JP Kokai Patentveröffentlichung Nr. JP-A-5-119116
  • [Patent Dokument 2]
    • JP Kokai Patentveröffentlichung Nr. JP-A-5-73347
  • ZUSAMMENFASSUNG
  • Die gesamten Offenbarungen der Patentdokumente 1 und 2 werden hier durch Bezugnahme eingefügt. Die folgende Analyse wird gemäß der vorliegenden Erfindung vorgenommen.
  • Hinsichtlich der Durchführung einer Analyse (Fehleranalyse) eines defekten Mikroprozessors, selbst wenn eine Defektphänomen in einem Mikroprozessor durch einen LSI-Tester hinsichtlich der defekten Information (fail log data), die von dem LSI-Tester erhalten werden, durch einen LSI-Tester reproduziert werden kann, wird nur ein Teil der Ergebnisausgabe von einem externen Anschluss des defekten Mikroprozessors erhalten, und ein interner Zustand eines Operationsprozesses des defekten Mikroprozessors kann nicht bestätigt werden.
  • Selbst wenn ein anormaler Betrieb in dem Mikroprozessor auftritt, kann des Weiteren ein Ergebnis des anormalen Betriebs nicht direkt an einen Ausgangsanschluss des Mikroprozessors ausgegeben werden. In einem solchen Fall ist es schwierig zu entscheiden, zu welchem Zeitpunkt ein defekter Betrieb aufgetreten ist, und es ist schwierig, den wahren Grund des Fehlers zu identifizieren.
  • Des Weiteren ist es gemäß der Simulationsumgebung aufwendig, eine detaillierte Untersuchung eines Defekts durchzuführen, und es kann gesagt werden, dass es in Fällen einer erforderlichen dringenden Analyse ungeeignet ist.
  • Der Aufbau des Patentdokuments 1, der in 9 dargestellt ist, ist für eine Defekterfassung bestimmt. Für den Fall, dass Ergebnisse eines identischen Betriebs in zwei Mikroprozessoren verglichen werden und herausgefunden wird, dass sie nicht übereinstimmen, ist es nicht möglich zu identifizieren, welcher Befehl bei welcher Adresse in einem ausgeführten Programm die Fehlanpassung verursacht hat, und auch nicht den Wert eines Speichers oder Registers in einem Mikroprozessor zu bestätigen. Dies ist aufgrund des Fehlens eines Wegs der Untersuchung von detaillierter Information innerhalb des Mikroprozessors so.
  • Bei dem Aufbau des Patentdokuments 2, der in 10 dargestellt ist, ist es nicht möglich, eine Fehleranalyse durchzuführen, wenn ein Fehler bei einem Befehl auftritt, der vorher nicht erwartet wurde. Dies ergibt sich daraus, dass in dem Aufbau des Patentdokuments 2 es erforderlich ist, einen Befehl zu haben, bei dem das Auftreten eines Fehlers erwartet wird, und einen großen Anteil von Erwartungswertdaten für seine Ausführungsresultate vorzubereiten.
  • Die vorliegende Erfindung wurde durchgeführt, um zumindest eines der oben genannten Probleme zu lösen.
  • Gemäß der Erfindung wird ein Fehleranalysegerät geschaffen, das aufweist:
    Eine Hostmaschine, einen ersten und einen zweiten Mikroprozessor mit identischem Aufbau, wobei der erste Mikroprozessor eine bekannt gute Vorrichtung ist, während der zweite Prozessor ein Ziel für die Fehleranalyse ist, und einer ersten und einer zweiten Fehlerbeseitigungsschnittstellenvorrichtung, die die Hostmaschine zu dem ersten bzw. zweiten Mikroprozessor verbinden. Die Hostmaschine umfasst eine Einrichtung, die den ersten und zweiten Mikroprozessor veranlassen, identische Fehlerbeseitigungsbetriebe parallel durchzuführen, über die erste und zweite Fehlerbeseitigungsschnittstellenvorrichtung, interne Information des ersten und des zweiten Mikroprozessors über die erste und die zweite Fehlerbeseitigungsschnittstellenvorrichtung erhält und die interne Information für den ersten und den zweiten Mikroprozessor vergleicht, um eine Fehleranalyse des zweiten Mikroprozessors durchzuführen.
  • Gemäß der vorliegenden Erfindung wird ein Fehleranalyseverfahren geschaffen, bei dem ein Fehlerbeseitiger (debugger) eines Mikroprozessors in einer Hostmaschine arbeitet. Die Hostmaschine veranlasst über die erste und die zweite Fehlerbeseitigungsschnittstellenvorrichtung den ersten und den zweiten Mikroprozessor, wobei der erste Mikroprozessor eine bekannte gute Vorrichtung ist, während der zweite Mikroprozessor ein Ziel für eine Fehleranalyse ist, der einen identischen Aufbau aufweist, identische Fehlerbeseitigungsoperationen parallel durchzuführen, und die Hostmaschine vergleicht interne Information, die von dem ersten und dem zweiten Mikroprozessor erhalten wurde, um eine Fehleranalyse des zweiten Mikroprozessors durchzuführen.
  • Gemäß der Erfindung wird ein Computer lesbares Aufzeichnungsmedium geschaffen, das ein Programm speichert, das verursacht, dass eine Hostmaschine, die mit einem ersten und einem zweiten Mikroprozessor mit identischem Aufbau verbunden ist, wobei der erste Mikroprozessor eine bekannt gute Vorrichtung ist, während der zweite Mikroprozessor ein Ziel für eine Fehleranalyse ist, über eine erste und eine zweite Fehlerbeseitigungsschnittstellenvorrichtung jeweils Prozesse durchzuführen, mit:
    einem Prozess, der verursacht, dass der erste und der zweite Mikroprozessor identische Fehlerbeseitigungsvorgänge parallel durchführen, über die erste und die zweite Fehlerbeseitigungsschnittstellenvorrichtung, und
    einen Prozess, der interne Informationen des ersten und des zweiten Mikroprozessors über die erste und die zweite Fehlerbeseitigungsschnittstellenvorrichtung zu erhalten, und die interne Information des ersten und des zweiten Mikroprozessors vergleicht, um eine Fehleranalyse des zweiten Mikroprozessors durchzuführen.
  • Gemäß der Erfindung ist es möglich, einfach eine Phänomenbestätigung für einen Defekt in einem Mikroprozessor zu erfassen und durchzuführen, ohne eine Simulationsumgebung zu haben.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Diagramm, das den Aufbau eines Ausführungsbeispiels der Erfindung zeigt.
  • 2A und 2B sind Diagramme, die einen Host-PC und einen Mikroprozessor für das Ausführungsbeispiel der Erfindung zeigen.
  • 3 ist ein Flussdiagramm, das die Betriebe des Ausführungsbeispiels der Erfindung beschreibt.
  • 4 ist ein Diagramm, das die Betriebe des Ausführungsbeispiels der Erfindung zeigt.
  • 5 ist ein Flussdiagramm, das Betriebe eines weiteren Ausführungsbeispiels der Erfindung zeigt.
  • 6 ist ein Flussdiagramm, das Betriebe eines weiteren Ausführungsbeispiels der Erfindung zeigt.
  • 7 ist ein Diagramm, das Betriebe eines weiteren Ausführungsbeispiels der Erfindung zeigt.
  • 8 ist ein Diagramm, das ein Beispiel einer internen Information eines Ausführungsbeispiels der Erfindung zeigt.
  • 9 ist ein Diagramm, das den Aufbau des Patentdokuments 1 zeigt.
  • 10 ist ein Diagramm, das den Aufbau des Patentdokuments 2 zeigt.
  • BEVORZUGTE AUSFÜHRUNGSFORMEN
  • Gemäß der vorliegenden Erfindung sind vorgesehen: eine Hostmaschine (Host-PC 120 in 1), in der ein Mikroprozessorfehlerbeseitiger arbeitet, ein erster und ein zweiter Mikroprozessor (100 und 100' in 1) mit identischem Aufbau und eine erste und einer zweite Fehlerbeseitigungs-I/F-(Schnittstellen)-Vorrichtung (110 und 110' in 1), die jeweils mit dem ersten und dem zweiten Mikroprozessor und der Hostmaschine verbunden sind. Die Hostmaschine (120) führt identische Fehlerbeseitigungsabläufe parallel mit Bezug auf den ersten und den zweiten Mikroprozessor (100 und 100') über die erste und die zweite Fehlerbeseitigungs-I/F-Vorrichtung (110 und 110') durch, erhält und vergleicht interne Information (Speicherauszugsergebnis) des ersten und des zweiten Mikroprozessors (100 und 100') und führt eine Fehleranalyse durch. Bei der vorliegenden Erfindung ist einer der Mikroprozessoren (der erste Mikroprozessor) nicht defekt, und der andere Mikroprozessor (der zweite Mikroprozessor) ist ein Mikroprozessor, der der Fehleranalyse unterzogen wird.
  • Bei der vorliegenden Erfindung stellt die Hostmaschine (120) eine Anzahl von Unterbrechungspunkten in einem Programm für den ersten und den zweiten Mikroprozessor (100 und 100') ein, und für den Fall, dass interne Information, die von dem ersten und dem zweiten Mikroprozessor (100 und 100') an einem ersten Unterbrechungspunkt übereinstimmen und interne Informationen, die von dem ersten und dem zweiten Mikroprozessor (100 und 100') an einem zweiten Unterbrechungspunkt, der nach dem ersten Unterbrechungspunkt als ein nachfolgender Ablauf durchgeführt wird, nicht übereinstimmen, wird ein Fehlerbeseitigungsbefehl so geändert, dass Befehle zwischen dem ersten Unterbrechungspunkt und dem zweiten Unterbrechungspunkt schrittweise durchgeführt werden, und der geänderte Befehl wird an dem ersten und dem zweiten Mikroprozessor gegeben.
  • Oder die Hostmaschine (120) kann bei der vorliegenden Erfindung Unterbrechungspunkte einer binären Suchweise einstellen, um den ersten und den zweiten Mikroprozessor (100 und 100') zu respektieren, und Fehleranalyse kann durchgeführt werden. Hinsichtlich des ersten und des zweiten Unterbrechungspunktes, die der Start und das Ende eines Suchbereichs sind, die durch Durchführen einer vorgegebenen Anzahl von binären Suchen von Unterbrechungspunkten sind, kann erfindungsgemäß die Hostmaschine (120) ein Programm in dem ersten und dem zweiten Mikroprozessor (100 und 100') von seinem Beginn zu dem ersten Unterbrechungspunkt ausführen und kann dann eine Schrittausführung bis zu dem zweiten Unterbrechungspunkt durchführen.
  • Für den Fall, dass interne Informationen, die von dem ersten und dem zweiten Mikroprozessor (100 und 100') erhalten werden, an einem Unterbrechungspunkt nicht übereinstimmen, kann erfindungsgemäß die Hostmaschine (120) eine Steuerung derart durchführen, um zumindest einen Teil der internen Information des ersten Mikroprozessors (100) als interne Information des zweiten Mikroprozessors (100') einzustellen und dann die Schrittausführung erneut durchzuführen.
  • Wenn bei der Wiederausführung die internen Informationen, die von dem ersten und dem zweiten Mikroprozessor (100 und 100') an einem Unterbrechungspunkt erhalten wurden, nicht übereinstimmen, speichert erfindungsgemäß die Hostmaschine (120) Fehlanpassungsinformation in einer Speichereinheit. Wenn am Ende der Wiederausführung eine Anzahl von Orten der Fehlanpassungsinformation in der Speichereinheit gespeichert sind, wird ein gemeinsamer Punkt von zumindest zwei Elementen von Fehlanpassungsinformation aus der Information von einer Anzahl von Fehlanpassungsorten extrahiert. Das heißt, als Ergebnis eines Vergleichs der internen Information (Speicherauszugsergebnisse) des ersten und des zweiten Mikroprozessors (100 und 100') für den Fall von Nicht-Übereinstimmung kann die Fehlanpassungsinformation (interne Information) gespeichert werden, und nach dem Schreiben der internen Information eines nicht defekten Mikroprozessors in dem defekten Mikroprozessor kann Schrittausführung oder Unterbrechungspunkteinstellung oder dgl. durchgeführt werden. Wenn zwei oder mehr Fehlanpassungsorte (Ausführungshaltorte in dem Programm) aufgefunden wurden, können jeweilige Fehlanpassungsinformationselemente, die aufeinanderfolgend gespeichert wurden, verglichen werden, und Information (gemeinsame Punkte), die sich auf Übereinstimmungselemente beziehen, können gespeichert werden.
  • Auf diese Weise können erfindungsgemäß zwei Fehlerbeseitigungs-I/F-(Schnittstellen)-Vorrichtungen und Mikroprozessoren mit einer Hostmaschine (120) verbunden werden, und interne Informationen (Speicherauszugsergebnisse), die Ablaufergebnisse von zwei Mikroprozessoren sind: nicht defekt und Fehleranalysenziel am Unterbrechungspunkt, werden durch die Hostmaschine verglichen. Als Ergebnis des Vergleichs werden, wenn eine Fehlanpassung erfasst wird, Informationen auf dem RAM des defekten Mikroprozessors, Register, Ausführungsbefehlsadresse und dgl. in den Speicher gespeichert. Des Weiteren werden gemäß einem Vergleichsergebnis der internen Informationen (Speicherauszugsergebnisse) der beiden Mikroprozessoren die Steuerung zur Änderung von Emulationsunterbrechungen, Fortsetzung und andere Fehlerbeseitigungsvorgänge zu ihren effektiven Abläufen vorzugsweise durch Software realisiert. Es ist gemäß der Erfindung möglich, eine Anzahl von defekten Produkten zur selben Zeit zu betreiben und zu vergleichen. Im Fall, dass keine Fehlanpassung als Ergebnis des Programmablaufs und des Vergleichs bezüglich der beiden Mikroprozessoren festgestellt wurde: nicht defekter und Fehleranalysenziel, kann das Schalten zu einem späteren Programm und das Laden des Programms automatisch durchgeführt werden. Oder Unterbrechungspunkte können automatisch erneut eingestellt werden, und das Programm wird erneut ausgeführt. Eine Beschreibung wird im Folgenden hinsichtlich eines Ausführungsbeispiels gegeben.
  • Erstes Ausführungsbeispiel
  • 1 ist ein Diagramm eines Aufbaus eines Fehleranalysegerätes eines ersten Ausführungsbeispiels der Erfindung. Bezugnehmend auf 1 umfasst das Fehleranalysegerät des Ausführungsbeispiels der vorliegenden Erfindung Mikroprozessoren A und B (100 und 100'), von denen jeder eine On-Chip-Fehlerbeseitigungsfunktion aufweist, Fehlerbeseitigungsschnittstellen-(I/F)-Vorrichtungen A und B (110 und 110'), die jeweils mit den Mikroprozessoren A und B (100 und 100') verbunden sind und die die Fehlerbeseitigungsfunktion unterstützen, und einen Host-PC (HOST PC, auch einfach als „Host” bezeichnet) 120, der mit jedem der Mikroprozessoren A und B (100 und 100') über die Fehlerbeseitigungs-(I/F)-Vorrichtung (120), der mit jedem der Mikroprozessoren A und B (100 und 100') über die Fehlerbeseitigungs-(I/F)-Vorrichtung (100 und 100') verbunden ist und die Fehlerbeseitigung durchführt. Die Mikroprozessoren A und B (100 und 100') haben jeweils eine CPU (Cent ral Processing Unit; Zentralprozessoreinheit), die Befehle durchführt, und eine On-Chip-Fehlerbeseitigungsschaltung, die Unterbrechungen, Speicherauszüge usw. als On-Chip-Fehlerbeseitigungsfunktionen durchführt (oder eine Einrichtung aufweist, die äquivalente Funktionen durchführen kann). Die On-Chip-Fehlerbeseitigungsschaltung, die auf einem Chip (Mikroprozessor) angebracht ist, umfasst einen Teil einer Fehlerbeseitigungsschaltung, die in einem In-Schaltungsemulator (ICE) vorgesehen ist und eine Emulationsfunktion unter Verwendung einer aktuellen Vorrichtung (Mikroprozessor) beim Evaluieren erzielt.
  • Der Mikroprozessor A (100) ist ein Mikroprozessor (KGD: Kown Good Device; bekannt gute Vorrichtung), für den im Voraus bestätigt wurde, dass er nicht defekt ist, und der Mikroprozessor B (100) ist ein Zielmikroprozessor für die Fehleranalyse. Die Mikroprozessoren A (100) und B (100') haben einen identischen Aufbau. Die Fehlerbeseitigungs-(I/F)-Vorrichtungen A und B (100 und 100') haben einen identischen Aufbau (identische Spezifikation).
  • Der Host-PC 120 und die Fehlerbeseitigungs-(I/F)-Vorrichtungen A und B (110 und 110') sind beispielsweise durch eine USB-Schnittstelle (Universal Serial Bus) verbunden.
  • Die Fehlerbeseitigungs-(I/F)-Vorrichtungen A und B (110 und 110') erhalten Befehle von einem Debugger, der in einer CPU 121 des Host-PCs 120 arbeitet, über eine Kommunikationseinheit wie eine USB-Schnittstelle, und senden Fehlerbeseitigungsergebnisse (Speicherauszugsinformation, Protokollinformation usw.), die von den jeweiligen Mikroprozessoren A und B (100 und 100') erhalten wurden, an den Host-PC 120.
  • Die Fehlerbeseitigungs-(I/F)-Vorrichtungen A und B (110 und 110') und die Mikroprozessoren (100 und 100') sind jeweils über beispielsweise eine JTAG-Schnittstelle (Joint Tag Action Group) oder dgl. verbunden.
  • 2 ist ein Diagram, das ein Beispiel eines Aufbaus des Host-PCs 120 zeigt. Bezugnehmend auf 2A umfasst der Host-PC 120 eine CPU 121, die zum Starten und zum Ausführen eines Fehlerbeseitigungswerkzeuges erforderlich ist, eine Hauptspeichervorrichtung (RAM: random access memory) 123, eine Hilfsspeichervorrichtung (Festplatte) 122 und zwei oder mehr Kommunikationseinheiten 124 wie beispielsweise ein USB zur Verbindung mit den Fehlerbeseitigungs-I/F-Vorrichtungen A und B (110 und 110').
  • In der CPU 121 des Host-PCs 120 wird, wenn die Fehlerbeseitigung durchgeführt wird, Fehlerbeseitigungssoftware (auch als „Emulationssoftware” bezeichnet) aufgerufen, und entsprechend eines Ablaufs des Fehlerbeseitigers führen die beiden Mikroprozessoren A und B (100 und 100') einen identischen Fehlerbeseitigungsablauf über die Fehlerbeseitigungs-I/F-Vorrichtungen A und B (110 und 110') durch und erhalten interne Information von Vorrichtungen wie einem internen Register, RAM oder dgl. von jedem der beiden Mikroprozessoren A und B (100 und 100'). Hier bezieht sich ein Fehlerbeseitigungsablauf auf die Ausführung eines Anwenderprogramms, eine Unterbrechungssteuerung, die eine Unterbrechung an einem vorgegebenen Ort anbringt, die Ausführung einer Schrittausführungsprogrammausführung und das Halten für jeden Befehl, Lesen/Schreiben von Speicher/Registerinhalten während einer Unterbrechung und dgl.
  • Die interne Information, die von den Mikroprozessoren A und B (100 und 100') erhalten wurde, wird, nachdem sie an den Host-PC 120 gesendet wurde und einmal in einer Speichervorrichtung (Puffer oder dgl.) in dem Host-PC 120 gespeichert wurde, einem Vergleich ausgesetzt, und durch Speichern eines Zustandes (interne Information), wenn Fehlanpassung erkannt wurde, in der Speichervorrichtung und Bestätigung des Zustandes wird Detektierung (Bestätigung) eines abnormen Zustandes, Fehleranalyse und dgl. durchgeführt.
  • 2B ist ein Diagramm, das ein Beispiel eines Aufbaus der Mikroprozessoren A und B (100 und 100') der 1 zeigt. Die Mikroprozessoren A und B (100 und 100') haben einen identischen Aufbau. Bezugnehmend auf 2B umfasst jeder der Mikroprozessoren A und B (100 und 100') eine CPU 101, eine On-Chip-Fehlerbeseitigungsschaltung 102, einen nichtflüchtigen Flashspeicher (FLASH) 103, der mit der CPU 101 über einen Bus (Daten-/Adressbus) 106 verbunden ist und der elektrisch programmierbar ist, eine Peripherieschaltung (PERIPHERAL) 104, und ein RAM (random access memory; freier Zugriffsspeicher) 105. Ein Steuersignal, ein Takt (CLK) und dgl. (nicht dargestellt) werden auf dem Bus 106 übertragen. 2B zeigt schematisch ein Beispiel der Mikroprozessoren A und B (100 und 100'), an denen die vorliegende Erfindung angewendet werden kann. In der vorliegenden Erfindung sind die Mikroprozessoren A und B nicht nur auf den Aufbau der 2B beschränkt.
  • Die On-Chip-Fehlerbeseitigungsschaltung 102 der Mikroprozessoren A und B (100 und 100') kommunizieren mit den Fehlerbeseitigungs-I/F-Vorrichtungen A und B (110 und 110') über eine JTAG-Schnittstelle (seriell; UART (universelle asynchroner Empfänger und Transmitter) und dgl. sind auch möglich).
  • Die On-Chip-Fehlerbeseitigungsschaltung 102 der Mikroprozessoren A und B (100 und 100') empfängt einen Fehlerbeseitigungsbefehl von dem Host-PC 120 über die JTAG-Schnittstelle der Fehlerbeseitigungs-(I/F)-Vorrichtungen A und B (110 und 110'), führt einen Fehlerbeseitigungsablauf der CPU 101 durch und sendet Register und Speicherauszugsinformationen zu einem Unterbrechungspunkt an die Fehlerbeseitigungs-(I/F)-Vorrichtungen A und B (110 und 110') über die JTAG-Schnittstelle.
  • In dem vorliegenden Ausführungsbeispiel arbeiten die Fehlerbeseitigungs-I/F-Vorrichtungen A und B (110 und 110') als eine Wandlervorrichtung zum Wandeln eines Fehlerbeseitigungsbefehls von dem Host-PC 120 in einen Befehl, den die Mikroprozessoren A und B (100 und 100') empfangen und dekodieren können.
  • Bei dem vorliegenden Ausführungsbeispiel sind zwei Fehlerbeseitigungs-I/F-Vorrichtungen A und B (110 und 110') mit einem Host-PC 120 verbunden, ein identischer Fehlerbeseitigungsablauf wird parallel mit Bezug auf die zwei Mikroprozesso ren A und B (100 und 100') durchgeführt, und durch Vergleich der Fehlerbeseitigungsergebnisse durch den Host-PC 120 wird eine Fehlererkennung und eine Fehleranalyse ausgeführt. Das heißt, in dem Host-PC 120 arbeitet die Fehlerbeseitigungssoftware zum Ausführen von On-Chip-Fehlerbeseitigungen und in Abhängigkeit von einer Betätigung durch einen Benutzer oder entsprechend einer autonomen Steuerung durch die Fehlerbeseitigungssoftware werden identische Fehlerbeseitigungsabläufe parallel in den beiden Mikroprozessoren A und B (100 und 100') ausgeführt. Zusätzlich dazu arbeitet in dem Host-PC 120 ein Fehleranalyseprogramm, das in 1 nicht dargestellt ist, in der CPU 121. Das Fehleranalyseprogramm kann in einem Teil der Fehlerbeseitigungssoftwarefunktionen eingebettet sein.
  • Das Fehleranalyseprogramm, das in der CPU 121 des Host-PCs 120 arbeitet, speichert Register- und Speicherwerte jedes der beiden Mikroprozessoren A und B (100 und 100'), die durch die Fehlerbeseitigungssoftware erhalten wurden, führt einen Vergleich durch, und wenn eine Fehlanpassung erkannt wird, speichert Information des Speicherwertes, Programmzählerwertes und dgl. und führt gemäß der Situation Steuerung der Fehlerbeseitigungssoftware durch, hinsichtlich welcher Art von Vorgang als Nächstes durchzuführen ist, in Übereinstimmung mit einem Steuerablauf, der im Voraus programmiert wurde.
  • 3 ist ein Flussdiagramm zum Beschreiben des Ablaufs des Ausführungsbeispiels der vorliegenden Erfindung. Der Betrieb des vorliegenden Ausführungsbeispiels wird nun mit Bezug auf die 1, 2 und 3 beschrieben.
  • Ein Anwenderprogramm (Betriebsprogramm), das auszuführen ist, wird vorher unter Verwendung einer Flash-Schreibvorrichtung oder dgl. in den elektrisch löschbaren und programmierbaren nicht-flüchtigen Speicher (beispielsweise Flash-Speicher) (103 in 2B) geschrieben, der in den Mikroprozessoren A und B (100 und 100') angebracht ist (Schritt S1). Für den Fall, dass eine Flash-Schreibfunktion in den Fehlerbeseitigungs-I/F-Vorrichtungen A und B (110 und 110') installiert ist, kann das Anwenderprogramm (Betriebsprogramm) in den Flash-Speicher (103 in 2B) der Mikroprozessoren A und B (100 und 100') unter Verwendung dieser Funktion der Fehlerbeseitigungs-I/F-Vorrichtungen A und B (110 und 110') eingeschrieben werden.
  • Der Benutzer betreibt den Fehlerbeseitiger auf dem Host-PC 120 und spezifiziert einen Fehlerbeseitigungsablauf (Schritt S2). Im vorliegenden Ausführungsbeispiel ist der Fehlerbeseitigungsablauf in der Fehlerbeseitigung, der im Schritt S2 nicht nur durch den Benutzerbetrieb spezifiziert und kann automatisch (autonom) durch die Fehlerbeseitigungssoftware (oder ein Fehleranalyseprogramm) spezifiziert werden, die in dem Host-PC 120 arbeitet.
  • Die Fehlerbeseitigungsanweisung (Fehlerbeseitigungsbefehl (Direktive)) von der Fehlerbeseitigungssoftware, die in dem Host-PC 120 arbeitet, wird zu jeder der Fehlerbeseitigungs-I/F-Schnittstellen A und B (110 und 110') (Schritt S3) übertragen. Beispielsweise werden ein Unterbrechungspunkt, eine Programmausführungsstartadresse, Endadresse, die Art von Register, die zu erzielen ist, und die Adresse des RAMs angegeben.
  • Die Fehlerbeseitigungs-I/F-Vorrichtungen A und B (110 und 110') führen jeweils eine Kommunikation mit den Mikroprozessoren A und B (100 und 100'), die jeweils mit ihnen Verbunden sind, durch, und richten ein Fehlerbeseitigungsbefehl, der von der Fehlerbeseitigungssoftware, die in dem Host-PC 120 arbeitet, gemeinsam an die On-Chip-Fehlerbeseitigungsschaltung 102 der Mikroprozessoren A und B (100 und 100') (Schritt S4).
  • Die On-Chip-Fehlerbeseitigungsschaltungen 102 der Mikroprozessoren A und B (100 und 100') empfangen jeweils Fehlerbeseitigungsbefehle von den Fehlerbeseitigungs-I/F-Vorrichtungen A und B (110 und 110') und veranlassen CPUs 101 der Mikroprozessoren A und B (100 und 100') (Schritt S5) eine Programmausführung zu beginnen. Zu diesem Zeitpunkt sind die Abläufe, die durch die beiden Mikroprozessoren A und B (100 und 100') ausgeführt werden, identisch.
  • In dem ersten und dem zweiten Mikroprozessor A und B (100 und 100') wird, nachdem das Programm bis zu einem Unterbrechungspunkt durchgeführt wurde, der eingestellt wurde, die Programmausführung durch eine Unterbrechungspunktfunktion, der On-Chip-Fehlerbeseitigungsschaltungen 102 in den Mikroprozessoren A und B (100 und 100') unterbrochen (angehalten) (Schritt S6).
  • Zu diesem Zeitpunkt werden Werte (Speicherauszugsinformationen) der RAMs 105, der Register, usw. in dem ersten und dem zweiten Mikroprozessor A und B (100 und 100') an die Fehlerbeseitigungs-I/F-Vorrichtungen A und B (110 und 110') durch eine Fehlerbeseitigungsüberwachungsfunktion gesendet, die in den On-Chip-Fehlerbeseitigungsschaltungen 102 der Mikroprozessoren A und B (100 und 100') vorgesehen sind, gemäß einem Befehl, der von der Fehlerbeseitigungssoftware des Host-PCs 120 empfangen wurde (Schritt S7).
  • Die Fehlerbeseitigungs-I/F-Vorrichtungen A und B (110 und 110') empfangen Werte der RAMs 105 und des Registers der Mikroprozessoren A und B (100 und 100') jeweils von den Mikroprozessoren A und B (100 und 100') und senden die empfangenen Werte an den Host-PC 120 (Schritt S8).
  • Der Host-PC 120 speichert die Information der RAMs 105, der Register und dgl. von jedem der Mikroprozessoren A und B (100 und 100'), die von den Fehlerbeseitigungs-I/F-Vorrichtungen A und B (110 und 110') gesandt wurden, in einer Speichervorrichtung (Pufferspeicher in dem RAM 123 oder dgl.) (Schritt S9).
  • Der Host-PC 120 vergleicht entsprechende Elemente der Information (Speicherauszugsergebnisse) der RAMs 105, der Register und dgl. der Mikroprozessoren A und B (100 und 100'), die in der Speichervorrichtung gespeichert sind (Schritt S10). Ein Vergleichsvorgang der Speicherauszugsergebnisse wird durch das Fehleranalyseprogramm, das in der CPU 121 des Host-PCs 120 arbeitet, durchgeführt.
  • Im Fall, dass die Vergleichsergebnisse des Schrittes S10 übereinstimmen, löst der Host-PC 120 eine Unterbrechungsbedingung, so dass die Programmausführung nach dem Unterbrechungspunkt fortgesetzt werden kann. Ein Befehl zum Neustarten des Programms wird zu den Mikroprozessoren A und B (100 und 100') über die Fehlerbeseitigungs-I/F-Vorrichtungen A und B (110 und 110') vom Host-PC 120 übertragen (Schritte S12 und S13).
  • Im Fall, dass die Vergleichsergebnisse des Schrittes S10 nicht übereinstimmen („Nichtübereinstimmung”-Zweig des Schritts S10), speichert der Host-PC 120 die RAM und Registerinformationen und Informationen des Ausführungsbefehls, des Programmzählers und dgl. zu diesem Zeitpunkt beispielsweise auf einer Festplatte 122 im Host-PC 120 (Schritt S11).
  • In dem Host-PC 120 wird eine Entscheidung getroffen, ob die Fehlerbeseitigung fortgesetzt werden soll oder nicht (Schritt S14). Eine Entscheidung zur Fortsetzung der Fehlerbeseitigung im Schritt S14 kann durch eine Benutzerbedingung an dem Host-PC 120 durchgeführt werden oder kann automatisch durch Steuerung von Software (Fehleranalyseprogramm oder dgl.), die im Host-PC 120 betrieben wird, durchgeführt werden. Falls das Fehlerbeseitigen fortgesetzt wird („Y”-Zweig im Schritt S15), kann der Fehlerbeseitigungsvorgang durch Einstellung des Fehlerbeseitigungsvorganges, der als Nächstes durchzuführen ist, in Übereinstimmung mit dem Status des Auftretens des Vergleichsergebnisfehlers geändert werden (Schritt S16). Dies wird durch vorheriges Einstellen einer Bedingung gesteuert, hinsichtlich welcher Art die Ausführung gewünscht ist, und durch einen Betrieb der Software (Fehleranalyseprogramm oder dgl.) in dem Host-PC 120. Im Fall einer Entscheidung, die Fehlerbeseitigung zu beenden, ist das Fehlerbeseitigen im Host-PC 120 beendet („N” im Schritt S15).
  • 4 ist ein Diagramm, das ein Beispiel eines Fehlerbeseitigungsvorgangs eines Mikroprozessors in dem vorliegenden Ausführungsbeispiel beschreibt. Beispielsweise sind einige Unterbrechungspunkte (BREAK POINTs 1 bis 4 in 4) in einem Programm durch eine On-Chip Fehlerbeseitigungsschaltung 102 der Mikroprozesso ren A und B (100 und 100') eingestellt, und das Programm wird von einer Programmausführungsstartadresse in jeder CPU 101 der Mikroprozessoren A und B (100 und 100') ausgeführt. Wenn ein Programmfehler (in den Zeichnungen nicht dargestellt) in die CPUs 101 der Mirkoprozessoren A und B (100 und 100') mit einer Adresse übereinstimmt, bei der ein Unterbrechungspunkt eingesteht wurde, wird das Ausführen des Programms an der Adresse des Unterbrechungspunktes angehalten, und bei diesem Zeitpunkt werden Speicherauszugsinformationen der Werte des RAMs 105, von Registern usw. der Mikroprozessoren A und B (100 und 100') an den Host-PC 120 über die Fehlerbeseitigungs-IF-Vorrichtungen A und B (110 und 110') gesendet.
  • Wenn der Host-PC 120 eine Fehlübereinstimmung in der internen Information (Speicherauszugsergebnisse) der Mikroprozessoren A und B (100 und 100') im Unterbrechungspunkt 3 feststellt wird als folgender Ablauf ein Fehlerbeseitigungsbefehl geändert, um so eine Schrittausführung (Ausführung eines Befehls jeweils innerhalb des Programms) zwischen dem Unterbrechungspunkt 2 und dem Unterbrechungspunkt 3 auszuführen, und eine Einstellung wird in der On-Chip Fehlerbeseitigungsschaltung 102 der Mikroprozessoren A und B (100 und 100') vorgenommen.
  • Wenn die Fehlanpassungsdaten (Speicherauszugsergebnisse) zu dieser Zeit eine spezifische Adresse auf dem RAM 105 der Mikroprozessoren A und B (100 und 100') haben, werden Daten (die zu vergleichen sind), die anschließend gelesen werden, auf nur die spezifische Adresse des RAMs 105 beschränkt, um effektiv Fehlerorte zu bestimmen.
  • Wenn das Vergleichsergebnis der internen Information der Mikroprozessoren A und B (100 und 100') an jedem Haltepunkt in der Schrittausführung vom Unterbrechungspunkt 2 übereinstimmen, wird die Programmausführung in ähnlicher Weise neu gestartet, und eine Wiederholung wird durchgeführt wie: Anhalten nach nächster Befehlsausführung → lesen Daten der RAMs 105 → Vergleiche.
  • Wenn das Vergleichsergebnis der internen Information der Mikroprozessoren A und B (100 und 100') an einem Haltepunkt bei der Schrittausführung vom Unterbrechungspunkt 2 nicht übereinstimmen, wird ein Speichern von Registerwerten im Schritt S11 der 3 durchgeführt, und der Fehlerbeseitigungsvorgang ist beendet. Eine andere Ausführung kann jedoch entsprechend der Einstellung durchgeführt werden.
  • Wenn das Programm bis zum Ende ohne Erfassung einer Fehlübereinstimmung in der Fehlerbeseitigungsausführung der Mikroprozessoren A und B (100 und 100') durchgeführt wird, geht die Steuerung zurück zum Schritt S1, und ein anderes Programm wird geladen. Dieser Ablauf wird ebenfalls automatisch durch Einbetten des Ablaufs in dem Fehlerbeseitigungsprogramm im Voraus gesteuert.
  • Wie oben beschrieben wurde, wird gemäß dem vorliegenden Ausführungsbeispiel durch Verwendung der Fehlerbeseitigungsfunktion eine identische Fehlerbeseitigungsoperation in Mikroprozessor A (100) durchgeführt, der als nicht defekt bestätigt wurde, und im Mikroprozessor B (100'), der das Ziel der Fehleranalyse ist, interne Informationen als Speicherauszug erstellt, und der Zustand einer Vorrichtung, für den eine Fehlanpassung vorhanden ist, wird geprüft, so dass es möglich ist, in einfacher Weise eine Analyse eines fehlerhaften Produktes durchzuführen.
  • Zweites Ausführungsbeispiel
  • Als ein zweites Ausführungsbeispiel der Erfindung wird bei der Identifizierung eines Fehlerortes durch Einstellen von Unterbrechungspunkten in einer binären Suchweise der Suchbereich des Fehlerortes verkleinert. Auf diese Weise kann die Zeit, die für den Fehler erforderlich ist, verkürzt werden. Beispielsweise wird gemäß 4, wenn ein Programm von einer Programmausführungsstartadresse in der CPU 101 der Mikroprozessoren A und B (100 und 100') ausgeführt wird und eine Fehlanpassung in entsprechenden Auszugsergebnissen der Mikroprozessoren A und B (100 und 100') am Unterbrechungspunkt 3 festgestellt wird, eine Schrittausführung nicht vom Unterbrechungspunkt 2 durchgeführt, ein Unterbrechungspunkt wird neu in einer Zwischenadresse zwischen dem Unterbrechungspunkt 2 und dem Unterbrechungspunkt 3 eingestellt, und das Programm wird von der Programmausführungsstartadresse gestartet. Falls keine Fehlanpassung in den Speicherauszugsergebnissen an dem neuen Unterbrechungspunkt vorhanden ist, wird ein weiterer Unterbrechungspunkt zwischen dem neuen Unterbrechungspunkt und dem Unterbrechungspunkt 3 eingestellt (der neue Unterbrechungspunkt wird gelöscht), das Programm wird von der Programmausführungsstartadresse gestartet, und falls eine Fehlanpassung in den Speicherauszugsergebnissen an dem anderen Unterbrechungspunkt auftritt, ist ein Fehler zwischen dem neuen Unterbrechungspunkt und dem anderen Unterbrechungspunkt vorhanden, und der Fehlerort wird durch weiteres Vermindern jedes Suchbereichs durch binäre Suche oder durch Schrittausführung erfasst.
  • 5 ist ein Flussdiagramm das die Vorgänge gemäß dem zweiten Ausführungsbeispiel der vorliegenden Erfindung beschreibt. Der Betrieb des vorliegenden Ausführungsbeispiels wird mit Bezug auf die 1, 2 und 5 beschrieben.
  • Eine Variable N wird auf 0 initialisiert (Schritt S20). Die Variable N ist eine Schleifenvariable zum Steuern der Anzahl von Ausführungen der Binärsuche.
  • Für die Mikroprozessoren A und B (100 und 100') wird ein Unterbrechungspunkt A eingestellt (Schritt S21), die Ausführung wird von dem Start des Programms in den CPUs 101 der Mikroprozessoren A und B (100 und 100') durchgeführt, das Programm wird an einem Unterbrechungspunkt A angehalten (Schritt S22), und ein Vergleich der internen Informationen am Unterbrechungspunkt A der Mikroprozessoren A und B (100 und 100') wird in dem Host-PC 120 durchgeführt (Schritt S23).
  • Falls eine Übereinstimmung der internen Informationen am Unterbrechungspunkt A der Mikroprozessoren A und B (100 und 100') („Y” Zweig des Schrittes S24) auftritt, wird der Unterbrechungspunkt A als ein Unterbrechungspunkt B eingestellt, ein folgender Unterbrechungspunkt (eine Adresse hinter der vorliegenden Adresse) wird als neuer Unterbrechungspunkt A eingestellt, und die Ausführung wird vom Schritt S22 durchgeführt.
  • Falls die internen Informationen am Unterbrechungspunkt nicht miteinander übereinstimmen („N” Zweig des Schrittes S24) wird ein Unterbrechungspunkt C zwischen dem Unterbrechungspunkt A und B eingestellt (Schritt S26).
  • Falls N = 3 nicht wahr ist („N” Zweig des Schrittes S27), wird N inkrementiert (Schritt S28), und die Ausführung wird von dem Start des Programms bis zu dem Unterbrechungspunkt C durchgeführt (Schritt S28).
  • Das Programm wird am Unterbrechungspunkt C angehalten, und interne Information (Speicherauszugsergebnisinformation) am Unterbrechungspunkt A der Mikroprozessoren A und B (100 und 100') werden in dem Host-PC 120 verglichen (Schritt S30).
  • Falls das Vergleichsergebnis in Schritt S30 übereinstimmt („Y” Zweig in Schritt S31), wird der Unterbrechungspunkt C als neuer Unterbrechungspunkt B eingestellt, ein Zwischenpunkt zwischen dem Unterbrechungspunkt A und dem neuen Unterbrechungspunkt B wird als neuer Unterbrechungspunkt C eingestellt, die Steuerung bewegt sich zum Schritt S27 (Schritt S32).
  • Falls das Vergleichsergebnis im Schritt S30 nicht übereinstimmt („N” Zweig in Schritt S31), wird der Unterbrechungspunkt C als neuer Unterbrechungspunkt A eingestellt, ein Zwischenpunkt zwischen dem neuen Unterbrechungspunkt A und dem Unterbrechungspunkt B wird als neuer Unterbrechungspunkt C eingestellt, und die Steuerung bewegt sich zum Schritt S27 (Schritt S33).
  • Im Schritt S27 wird das Programm vom Programmstart bis zum Unterbrechungspunkt B ausgeführt, wenn N = 3 (Schritt S34).
  • Das heißt, wenn N = 1 wird das Programm vom Start zum Unterbrechungspunkt 2, der im Schritt S26 eingestellt wird, ausgeführt. Abhängig von einer Anpassung oder Fehlanpassung der internen Informationen (Speicherauszugsergebnisse) am Unterbrechungspunkt 2 der Mikroprozessoren A und B (100 und 100') werden der Unterbrechungspunkt C und der Unterbrechungspunkt B oder A am Anfang und Beginn des Suchbereichs aktualisiert, und die Ausführung wird ein weiteres Mal von dem Start des Programms bis zum neuen Unterbrechungsprogramm durchgeführt (N = 2). Abhängig von einer Übereinstimmung oder Nichtübereinstimmung der internen Informationen (Speicherauszugsergebnisinformation) am Unterbrechungspunkt C der Mikroprozessoren A und B (100 und 100') wird der Unterbrechungspunkt C zu einem anderen Wert aktualisiert (Unterbrechungspunkt B oder A am Beginn und Ende des Suchbereichs wird aktualisiert), und die Ausführung wird von dem Start des Programms bis zu dem anderen Unterbrechungspunkt C durchgeführt (N = 3). Abhängig von einer Übereinstimmung oder einer Fehlanpassung der internen Information (Speicherauszugsergebnis) am Unterbrechungspunkt C der Mikroprozessoren A und B (100 und 100') wird der Wert des Unterbrechungspunktes C aktualisiert (Unterbrechungspunkt B oder A am Beginn und am Ende des Suchbereichs wird aktualisiert), und da N = 3 in Schritt S27 wird die Steuerung zu einem Schritt S34 bewegt. Ein Suchbereich für einen Fehlerort mit N = 3 wird auf einen Bereich von ¼ des Falls in dem N = 1, vermindert (einer Verminderung zu einem Bereich von 1/8 des Falles von N = 0). Selbstverständlich ist die Anzahl N der Binärsuche nicht auf 3 beschränkt.
  • In Schritt S34 wird in den CPUs 101 der Mikroprozessoren A und B (100 und 100') die Ausführung von dem Programmstart bis zum Unterbrechungspunkt B durchgeführt, dann wird Schrittausführung von dem Unterbrechungspunkt B zu A durchgeführt (Schritt S35) und im Host-PC 120 wird ein Vergleich der internen Information der Mikroprozessoren A und B (100 und 100') am Unterbrechungspunkt A durchgeführt (Schritt S36).
  • Als Ergebnis des Vergleichs wird im Fall der Übereinstimmung („Y” Zweig in Schritt S37) eine Bestimmung durchgeführt, ob Schrittausführung fortgesetzt werden soll oder nicht. Falls die Bestimmung die Fortsetzung ist („Y” Zweig in Schritt S38), kehrt die Steuerung zurück zum Schritt S35, und Schrittausführung wird durchgeführt. Als Ergebnis des Vergleichs im Schritt S37 wird im Falle einer Fehlanpassung („N” Zweig in Schritt S37) eine Beschreibung später mit Bezug auf 6 gegeben.
  • Gemäß dem vorliegenden Ausführungsbeispiel wird der Suchbereich für einen Fehlerort auf diese Weise durch eine Binärsuche verkleinert. In dem Ausführungsbeispiel, das in 4 dargestellt ist, wurde durch Einstellen von Unterbrechungspunkten in relativen großen Intervallen und durch Durchführung der Ausführung nur eines Befehls jeweils durch Durchführung von Schrittausführung zwischen Unterbrechungspunkten vor und nach dem Auftreten einer Fehlanpassung der Suchbereich des Fehlerortes vermindert. In dem vorliegenden Ausführungsbeispiel wird der Suchbereich fein verkleinert bis zu einem bestimmten Ausmaß durch Neueinstellung von Unterbrechungspunkten und dann durch Umschalten zur Schrittausführung, wodurch es möglich ist, die Anzahl von Malen zu vermindern, die das Programm ausgeführt werden muss.
  • Drittes Ausführungsbeispiel
  • Das dritte Ausführungsbeispiel wird nun beschrieben. In einem Host-PC 120 können, wenn Speicherauszugsergebnisse der Mikroprozessoren A und B (100 und 100') nicht Übereinstimmen und ein Fehler in dem Mikroprozessor B (100') erfasst wird, korrekte Speicher-/Registerwerte des nichtdefekten Mikroprozessors A (100) in den Mikroprozessor B (100') zurückgespeichert werden, und die Ausführung kann durch fortgesetzten Ablauf anschließend durchgeführt werden. Zu diesem Zeitpunkt wird eine Schrittausführung des Programms durchgeführt, interne Information der Mikroprozessoren A und B (100 und 100') wird für jede Befehlsausführung gelesen und ein Vergleich wird in dem Host-PC 120 durchgeführt. Falls Leseergebnisse der internen Information der Mikroprozessoren A und B (100 und 100') übereinstimmen, wird die Schrittausführung fortgesetzt. Falls eine Fehleinstimmung erfasst wird, wird die interne Information gespeichert. Nach einer Fehlanpassung wird die interne Information des nichtdefekten Mikroprozessors A (100) erneut in den Mikroprozessor B (100') geschrieben, und Schrittausführung wird fortgesetzt. Hinsichtlich der Schrittausführung kann die Ausführung bis zu einer Adresse durchgeführt werden, die im Voraus eingestellt wurde, und kann angehalten werden, wenn ein Fehler erfasst wird. Ein Unterbrechungspunkt kann eingestellt werden statt der Durchführung der Schrittausführung und der Fehlerort kann wie im ersten Ausführungsbeispiel identifiziert werden.
  • Wenn zwei oder mehr Orte, an denen eine Fehlanpassung auftritt, vorhanden sind, wird ein Vergleich der Fehlangepassten Informationselemente jeweils durchgeführt, die aufeinanderfolgend gespeichert wurden. Vergleichsziele sind hier beispielsweise ein Ausführungsbefehl oder ein Registername, eine RAM-Adresse, andere Daten oder dgl. Hier werden Informationen bzgl. übereinstimmender Elemente in den Vergleichsergebnissen gespeichert.
  • Wenn in den Mikroprozessoren der Programmausführung ein Betriebsfehler einmal auftritt, besteht eine hohe Wahrscheinlichkeit, dass dieser Betriebsfehler einen Effekt auf folgende Abläufe hat. Andererseits ist es bei der Fehleranalyse wünschenswert, in der Lage zu sein hinsichtlich jeder jeweiliger Instruktion in der Lage zu sein, zu bestätigen, in welchem Zustand und bei welchem Befehl der abnorme Ablauf aufgetreten ist.
  • Wenn in einem Befehl anschließend an den Befehl, bei dem ein anormaler Ablauf aufgetreten ist, ausgeführt wird, ist es in dem Mikroprozessor B (100') durch Rückkehr (Rückstellung) in einen Normalzustand ein abnormer Zustand in Bezug auf den Speicher, Register und dgl. möglich, das Pogramm anschließend normal in Mikroprozessor B (100') durchzuführen. Im Fall, dass ein Fehler aus einem Ergebnis des Vergleichs der internen Information (Speicherauszugsergebnisse) der Mikroprozessoren A und B (100 und 100') erfasst wurde, ist es auf diese Weise als Ergebnis der Ausführung des Programms möglich, anschließend in den Mikroprozessoren A und B (100 und 100') eine neue Fehlerauftrittsbedingung zu berücksichtigen.
  • Falls eine Anzahl von Fehlanpassungsorten, die in dieser Weise erfasst wurden, vorhanden sind, ist es möglich, wenn jeweilige interne Informationselemente verglichen werden, falls ein Übereinstimmungselement in den nicht übereinstimmenden Ergebnissen gefunden wird, als nächstes zu schließen, dass eine Operation, die sich auf dieses Element bezieht, sich tiefer auf eine Fehleroperation bezieht. Falls beispielsweise eine Abnormität jeweils im selben Register im Mikroprozessor B (100') auftritt ist es möglich zu schließen, dass dieses Register selbst fehlerhaft ist oder dass ein Fehler in einem Befehl oder in einem Pfad, der auf das Register zugreift, vorhanden ist.
  • Wenn eine Fehlanpassung auftritt, wird auf diese Weise gemäß dem vorliegenden Ausführungsbeispiel normale interne Information eines nicht defekten Mikroprozessors in den defekten Mikroprozessor eingeschrieben, die Programmausführung wird fortgesetzt, und ein Vergleich des Operationsergebnisses wird durchgeführt. Wenn eine Anzahl von Ablaufabnormitätspunkten gefunden wurde, werden ihre Fehlanpassungsinformationselemente jeweils verglichen, und ein gemeinsamer Punkt wird erfasst.
  • 6 ist ein Flussdiagramm der die Betriebe des vorliegenden Ausführungsbeispiels erläutert. Der Ablauf des vorliegenden Ausführungsbeispiels wird mit Bezug auf die 1, 2 und 6 beschrieben.
  • Im Schritt S37 der 5, falls eine Fehlanpassung in einem Vergleich einer internen Information (Speicherauszugsergebnisse) in der Schrittausführung der Mikroprozessoren A und B (100 und 100') auftritt, wird eine Adresse, bei der eine Fehlanpassung erfasst wird, als ein Unterbrechungspunkt eingestellt (Schritt S40 in 6).
  • In den CPUs 101 der Mikroprozessoren A und B (100 und 100') wird die Ausführung von dem Programmstart zum Unterbrechungspunkt durchgeführt und am Unterbrechungspunkt angehalten (Schritt S41).
  • Die interne Information der Mikroprozessoren A und B (100 und 100') werden am Unterbrechungspunkt im Host-PC 120 verglichen (Schritt S42).
  • Die interne Information des nicht defekten Mikroprozessors A (100) wird in den defekten Mikroprozessor B (100') eingeschrieben (Schritt S 43).
  • Nach der Fehlanpassungserkennungsadresse wird in die CPUs 101 der Mikroprozessoren A und B (100 und 100') eine Schrittausführung durchgeführt (Schritt S44).
  • In dem Host-PC 120 wird die interne Information der Mikroprozessoren A und B (100 und 100') in jedem Schritt verglichen, wenn die Schrittausführung durchgeführt wird (Schritt S45).
  • Falls die interne Information der Mikroprozessoren A und B (100 und 100') am Unterbrechungspunkt A nicht übereinstimmt („N” Zweig des Schrittes S46), wird die nicht übereinstimmende interne Information auf einer Festplatte 122 oder dgl. in dem Host-PC 120 gespeichert (Schritt S48). Wenn eine weitere Schrittausführung durchgeführt wird („N” Zweig im Schritt S49), bewegt sich die Steuerung zum Schritt S43. Wenn die Schrittausführung abgeschlossen ist („Y” Zweig im Schritt S49), bewegt sich die Steuerung zum Schritt S50.
  • Im Fall der Übereinstimmung („Y”-Zweig im Schritt S46) wird in Schritt S46 eine Bestimmung durchgeführt, ob die Schrittausführung in Schritt S47 vervollständigt ist oder nicht, und wenn sie nicht vervollständigt ist („N”-Zweig im Schritt S47), wird die Ausführung vom Schritt S44 durchgeführt.
  • Wenn die Schrittausführung Schritt S47 vervollständigt ist („Y”-Zweig in Schritt S47), geht die Steuerung zum Schritt S50.
  • Im Schritt S50 bestimmt der Host-PC 120, ob eine Anzahl von Fehlanpassungsorten vorhanden sind oder nicht; falls eine Anzahl von Fehlanpassungsorten vorhanden sind („Y”-Zweig im Schritt S50), werden zwei Fehlanpassungsorte ausgewählt (Schritt S51), interne Informationen der Fehlanpassung werden verglichen, und ein gemeinsamer Punkt wird extrahiert (Schritt S52).
  • Falls es einen Fehlanpassungspunkt in der internen Information der beiden ausgewählten Fehlanpassungsorte gibt („Y”-Zweig in Schritt S53), speichert der Host-PC 120 Übereinstimmungsinformation auf der Festplatte 122 (Schritt S54).
  • Die Verarbeitung von Schritt S51 wird wiederholt, bis der Vergleich aller Kombinationen einer Anzahl von Fehlanpassungsorten vervollständigt ist („N”-Zweig in Schritt S55). Wenn es beispielsweise drei Fehlanpassungsorte (A, B und C) gibt, wird ein gemeinsamer Punkt von Fehlanpassungsergebnissen für drei Sätze von Kombinationen AB, BC und CA gefunden. Die interne Information, die ein Ziel der Vergleiche ist, umfasst die Ausgeführten Befehle, Registernamen, RAM-Adressen und Daten.
  • 7 ist ein Diagramm zum Beschreiben des Betriebs des Ausführungsbeispiels, das mit Bezug auf 6 beschrieben wurde. Die Ausführung eines Programms wird in dem nicht defekten und dem defekten Mikroprozessor durchgeführt. Falls eine Fehlanpassung auftritt können im Fall von Operationen, die mit RAM und Registerwerten fortgesetzt werden, die abnorm sind, im defekten Mikroprozessor anschließend Operationen eine Anormalität aufweisen. Es ist wünschenswert, dass kein Effekt aufgrund einer Ablaufanormalität in einem vorhergehenden Befehl empfangen wird (siehe (A) der 7).
  • Aufgrund dessen werden in dem vorliegenden Ausführungsbeispiel Werte (normale Werte), die aus dem nicht defekten Mikroprozessor gelesen werden, in das RAM und die Register eingeschrieben, in denen eine Fehlanpassung aufgetreten ist (Vergleiche (B) der 7).
  • Hinsichtlich von zwei oder mehr Fehlanpassungsauftrittsorten wird eine Erfassung durchgeführt, ob es einen gemeinsamen Punkt für das fehlangepasste Register, die RAM-Adresse oder dgl. gibt oder nicht. Wenn in der Schrittausführung Vergleichsergebnisse übereinstimmen ist der Betrieb normal, und es ist möglich zu bestätigen, ob der Ablauf von anschließenden Befehlen in dem defekten Mikroprozessor normal oder anormal ist.
  • Wenn eine Fehlanpassung in der internen Information des defekten Mikroprozessors auftritt wird die Fehlanpassung, die aufgetreten ist, in dem vorliegenden Ausführungsbeispiel nicht durch den vorherigen Betrieb beeinträchtigt. Als Ergebnis ist es möglich, eine genaue Fehleranalyse des defekten Mikroprozessors durchzuführen.
  • 8 ist ein Diagramm, das ein Beispiel der internen Information eines Mikroprozessors zeigt, der in den vorstehenden ersten bis dritten Ausführungsbeispielen verwendet wird. Die interne Information der 8 entspricht einer Datenstruktur in einer Speichervorrichtung (wie einem Buffer) des Host-PCs 120, der die Speicherauszugsinformation der RAMs 105, Register und dgl. der Mikroprozessoren A und B (100 und 100') an einem Unterbrechungspunkt erhält, oder in jedem Schritt, wenn Schrittausführung durchgeführt wird. Bezugnehmend auf 8 umfasst die interne Information des Mikroprozessors A einen Ausführungsbefehl, eine Ausführungsbefehlsadresse, einen Programmzähler, wenn ein Speicherauszug durchgeführt wird, eine Speicherstartadresse, einen Nennspeicheradressbereich, Daten (Anzahl von Datenelementen, die in einem Speicherbereich spezifiziert sind), einen Registernamen, Daten und einen Speicherauszugsendecode. Ähnliche Information ist für den Mikroprozessor B gespeichert.
  • Durch Verwendung der On-Chip-Fehlerbeseitigungsfunktion, mit der der Mikroprozessor ausgestattet ist, ist es gemäß jedem oben beschriebenem Ausführungsbeispiel möglich, wie oben beschrieben, die interne Information (Register, Speicher und dgl.) eines Mikroprozessors zu einem Zeitpunkt zu bestätigen, wenn ein Fehlerbetrieb erfasst wird.
  • Durch Verbinden zweier Fehlerbeseitigungsschnittstellen-(I/F)-Vorrichtungen mit einem Host-PC und Speichern der Dumpergebnisse nur, wenn eine Anormalität auftritt, werden nicht defekte und fehlerhafte Produkte unabhängig betrieben, und ein Speicher mit großer Kapazität zum Speichern von Ergebnissen, die für den späteren Vergleich der Ergebnisse erforderlich ist, ist unnötig. Um das Fehlerphänomen, das eine geringere Reproduzierbarkeit hat, zu reproduzieren, ist es selbst für den Fall der kontinuierlichen Operation für eine lange Zeit somit erfindungsgemäß möglich, einen Speicherüberlauf zu verhindern und eine effektive Fehleranalyse durchzuführen. Maßnahmen wie das Ersetzen von Mikroprozessoren nach dem halben Ablauf des Fehlerbeseitigungsvorgangs sind des Weiteren nicht erforderlich.
  • Des Weiteren ist es gemäß jedem der vorgenannten Ausführungsbeispiele möglich, automatisch den Fehlerbeseitigungsvorgang zu schalten und eine Analyse mit hoher Effizienz durchzuführen, wenn eine Fehlanpassung die internen Information zwischen den Mikroprozessoren A und B (100 und 100') erfasst wird, durch Zuweisen eines Fehlerbeseitigungsvorgangs, der als nächstes durchzuführen ist, im Voraus. Beispielsweise wird zunächst ein Unterbrechungspunkt eingestellt, eine annähernde Ablaufanormalitätsadresse wird erfasst, und wenn eine Fehlanpassung erfasst wird, ist es durch automatisches Schalten zu einer Schrittausführung möglich, eine Adresse, in der ein Fehler aufgetreten ist zu identifizieren.
  • Gemäß jedem der oben beschriebenen Ausführungsbeispiele ist es möglich, eine kostengünstige Fehlerbeseitigungs- und Analysewerkzeug zu schaffen, das flexibel ist und an die Bedürfnisse eines Benutzers angepasst ist, durch Einsetzen des größeren Teils dieses Typs von Vergleich und Verarbeitung nach Fehlanpassungserfas sung durch Softwareverarbeitung (Fehleranalysesoftware), die auf dem Host-PC durchgeführt wird.
  • Die verschiedenen Offenbarungen der oben genannten Patentdokumente 1 und 2 werden hier durch Bezugnahme darauf eingebracht. Modifikationen und Änderungen der Ausführungsbeispiele sind innerhalb der Grenzen der gesamten Offenbarung (einschließlich des Umfangs der Ansprüche) der Erfindung möglich und auf ihren fundamentalen technologischen Konzepten basieren. Des Weiteren ist eine große Vielzahl von Kombinationen und Auswahlen der verschiedenen offenbarten Elemente innerhalb des Umfangs der Ansprüche der vorliegenden Erfindung möglich. Das heißt, die vorliegende Erfindung umfasst klar jede Art von Umwandlung und Modifikation, die ein Durchschnittsfachmann entsprechend dem technologischen Konzepten und der gesamten Offenbarung einschließlich des Umfangs der Ansprüche realisieren kann.
  • Es soll festgestellt werden, dass andere Aufgaben, Merkmale und Aspekte der vorliegenden Erfindung aus der gesamten Offenbarung ersichtlich werden und dass Modifikationen ohne Verlassen des Geistes und des Umfangs der vorliegenden Erfindung, die offenbart ist und in den anhängenden Ansprüchen beansprucht ist, vorgenommen werden kann.
  • Es soll auch festgestellt werden, dass alle Kombinationen der offenbarten und/oder beanspruchten Elemente, Angelegenheiten und/oder Elemente unter die vorgenannten Modifikationen fallen können.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • - JP 2009-018374 [0001]
    • - JP 5-119116 A [0004]
    • - JP 5-73347 A [0004]

Claims (20)

  1. Fehleranalysegerät mit: einer Host-Maschine, einem ersten und einem zweiten Mikroprozessor mit identischem Aufbau, wobei der erste Mikroprozessor eine bekannt gute Vorrichtung ist, während der zweite Mikroprozessor ein Ziel der Fehleranalyse ist, und einer ersten und einer zweiten Fehlerbeseitigungsschnittstellen-Vorrichtung, die die Host-Maschine mit dem ersten bzw. dem zweiten Mikroprozessor verbindet, wobei die Host-Maschine die Fehlerbeseitigung des ersten und des zweiten Mikroprozessors über die erste und die zweite Fehlerbeseitigungsschnittstellen-Vorrichtung steuert, wobei die Außenmaschine aufweist eine Einheit, die den ersten und den zweiten Mikroprozessor dazu veranlasst, über die erste und die zweite Fehlerbeseitigungsschnittstellen-Vorrichtung identische Fehlerbeseitigungsoperationen parallel durchzuführen, und die interne Information des ersten und des zweiten Mikroprozessors vergleicht, um eine Fehleranalyse am zweiten Mikroprozessor durchzuführen.
  2. Fehleranalysegerät nach Anspruch 1, wobei die Host-Maschine im Voraus eine Fehlerbeseitigungsoperation bestimmt, die als Nächste in dem ersten und dem zweiten Mikroprozessor durchzuführen ist, wenn eine Nichtübereinstimmung in der internen Information des ersten und des zweiten Mikroprozessors festgestellt wird.
  3. Fehleranalysegerät nach Anspruch 1 oder 2, wobei die Host-Maschine eine Anzahl von Unterbrechungspunkten in jeweiligen Programmen des ersten und des zweiten Mikroprozessors über die erste und die zweite Fehlerbeseitigungsschnittstellen-Vorrichtung einstellt, und wenn die interne Information, die von dem ersten und dem zweiten Mikroprozessor an einem ersten Unterbrechungspunkt erhalten wird, übereinstimmen und die internen Informationen, die von dem ersten und dem zweiten Mikroprozessor an einem zweiten Unterbrechungspunkt, der von dem ersten und dem zweiten Mikroprozessor nach dem ersten Unterbrechungspunkt als folgende Operation ausgeführt wird, nicht übereinstimmen, ändert die Host-Maschine einen Fehlerbeseitigungsbefehl derart, dass Anweisungen zwischen dem ersten Unterbrechungspunkt und den zweiten Unterbrechungspunkt durch Schrittausführung ausgeführt werden, und liefert den geänderten Fehlerbeseitigungsbefehl an den ersten und den zweiten Mikroprozessor über die erste und die zweite Fehlerbeseitigungsschnittstellenvorrichtung.
  4. Fehleranalysegerät nach Anspruch 1 oder 2, wobei die Host-Maschine einen Unterbrechungspunkt in einer binären Suchweise in den jeweiligen Programmen des ersten und des zweiten Mikroprozessors über die erste und die zweite Fehlerbeseitigungsschnittstellen-Vorrichtung einstellt.
  5. Fehleranalysegerät nach Anspruch 4, wobei die Host-Maschine den ersten und den zweiten Unterbrechungspunkt entsprechend dem Beginn und dem Ende eines Suchbereichs in den jeweiligen Programmen des ersten und des zweiten Mikroprozessors über die erste und die zweite Fehlerbeseitigungsschnittstellen-Vorrichtung einstellt, und wenn die internen Informationen, die von dem ersten und dem zweiten Mikroprozessor am ersten Unterbrechungspunkt übereinstimmen und die internen Informationen, die von dem ersten und dem zweiten Mikroprozessor an dem zweiten Unterbrechungspunkt, der durch den ersten und den zweiten Mikroprozessor nach dem ersten Unterbrechungspunkt ausgeführt wird, nicht übereinstimmen, weist die Host-Maschine den ersten und den zweiten Mikroprozessor über die erste und die zweite Fehlerbeseitigungsschnittstellen-Vorrichtung an, einen Zwischenpunkt zwischen dem ersten Unterbrechungspunkt und dem zweiten Unterbrechungspunkt als einen dritten Unterbrechungspunkt einzustellen.
  6. Fehleranalysegerät nach Anspruch 5, wobei, wenn der erste und der zweite Mikroprozessor jeder ein Programm vom Programmbeginn bis zum dritten Unterbrechungspunkt ausführen und die internen Informationen, die von dem ersten und dem zweiten Mikroprozessor erhalten werden, an den dritten Unterbrechungspunkt übereinstimmen, stellt die Host-Maschine den dritten Unterbrechungspunkt als neuen ersten Unterbrechungspunkt ein und stellt einen Zwischenpunkt zwischen dem neuen ersten Unterbrechungspunkt und dem zweiten Unterbrechungspunkt als einen dritten Unterbrechungspunkt ein, und wenn die internen Informationen, die von dem ersten und dem zweiten Mikroprozessor an dem dritten Unterbrechungspunkt erhalten werden, nicht übereinstimmen weist die Host-Maschine den ersten und den zweiten Mikroprozessor über die erste und die zweite Fehlerbeseitigungsschnittstellen-Vorrichtung an, den dritten Unterbrechungspunkt als einen neuen zweiten Unterbrechungspunkt einzustellen und einen Zwischenpunkt zwischen dem neuen zweiten Unterbrechungspunkt und dem ersten Unterbrechungspunkt als einen dritten Unterbrechungspunkt.
  7. Fehleranalysegerät nach einem der Ansprüche 4 bis 6, wobei hinsichtlich des ersten und des zweiten Unterbrechungspunktes, die dem Beginn und dem Ende eines Suchbereiches entsprechen, nachdem die Host-Maschine eine vorgegebene Anzahl von Binärsuchen des Unterbrechungspunktes durchgeführt hat, die Host-Maschine eine Steuerung derart durchführt, dass jedes Programm in dem ersten und dem zweiten Mikroprozessor vom Programmbeginn bis zum ersten Unterbrechungspunkt ausgeführt wird und anschließend durch Schrittausführung bis zum zweiten Unterbrechungspunkt.
  8. Fehleranalysegerät nach Anspruch 1 oder 2, wobei, wenn die internen Informationen, die von dem ersten und dem zweiten Mikroprozessor an einem Unterbrechungspunkt erhalten werden, nicht übereinstimmen, die Host-Maschine eine Steuerung zum Ausführen einer Neuausführung im ersten und zweiten Mikroprozessor von einem Befehl anschließend an den einen Unterbrechungspunkt durchführt, nachdem Einschreiben zumindest eines Teils der internen Informationen des ersten Mikroprozessors in den zweiten Mikroprozessor, um den zweiten Mikroprozessor so einzustellen, dass er die selbe Information mit Bezug auf zumindest einen Teil seiner internen Information wie der erste Mikroprozessor aufweist.
  9. Fehleranalysegerät nach Anspruch 8, wobei die Host-Maschine die Neuausführung als Schrittausführung durchführt und wenn die internen Informationen, die von dem ersten und dem zweiten Mikroprozessor an einem Unterbrechungspunkt erhalten werden, nicht übereinstimmen, speichert die Host-Maschine nicht übereinstimmende Informationen in ihrer Speichereinheit; und als Resultat der Schrittausführung, falls es eine Anzahl von Elementen der nicht übereinstimmenden Information gibt, die in der Speichereinheit gespeichert ist, extrahiert die Host-Maschine einen gemeinsamen Punkt von zumindest zwei Elementen von nicht übereinstimmenden Informationen aus der Anzahl von Elementen der nicht übereinstimmenden Informationen.
  10. Fehleranalyseverfahren mit: einer Host-Maschine, auf der ein Fehlerbeseitiger ausgeführt wird, welcher einen ersten und einen zweiten Mikroprozessor mit identischem Aufbau über eine erste und eine zweite Schnittstellenvorrichtung veranlasst, parallel identische Fehlerbeseitigungsoperationen durchzuführen, wobei der erste Mikroprozessor eine bekannte gute Vorrichtung ist, während der zweite Mikroprozessor ein Ziel der Fehleranalyse ist, wobei die Host-Maschine über die erste und die zweite Fehlerbeseitigungsschnittstellen-Vorrichtung interne Informationen des ersten und des zweiten Mikroprozessors erhält und die Host-Maschine die internen Informationen des ersten und des zweiten Mikroprozessors vergleicht, um eine Fehleranalyse des zweiten Mikroprozessors durchzuführen.
  11. Fehleranalyseverfahren nach Anspruch 10, wobei die Host-Maschine im Voraus eine Fehlerbeseitigungsoperation bestimmt, die als Nächste in dem ersten und dem zweiten Mikroprozessor durchzuführen ist, wenn eine Nichtübereinstimmung in den internen Informationen des ersten und des zweiten Mikroprozessors erfasst wird.
  12. Fehleranalyseverfahren nach Anspruch 10 oder 11, wobei die Host-Maschine eine Anzahl von Unterbrechungspunkten in jeweiligen Programmen des ersten und des zweiten Mikroprozessor über die erste und die zweite Fehlerbeseitigungsschnittstellenvorrichtung einstellt, und wenn die internen Informationen, die von dem ersten und dem zweiten Mikroprozessor an einem ersten Unterbrechungspunkt erhalten werden, übereinstimmen und die internen Informationen, die von dem ersten und dem zweiten Mikroprozessor an einem zweiten Unterbrechungspunkt, der durch den ersten und den zweiten Mikroprozessor nach dem ersten Unterbrechungspunkt als eine folgende Operation, nicht übereinstimmen, ändert die Hostmaschine einen Fehlerbeseitigungsbefehl, so dass Anweisungen zwischen dem ersten Unterbrechungspunkt und dem zweiten Unterbrechungspunkt durch Schrittausführung ausgeführt werden, und liefert den geänderten Fehlerbeseitigungsbefehl über die erste und die zweite Fehlerbeseitigungsschnittstellenvorrichtung an den ersten und den zweiten Mikroprozessor.
  13. Fehleranalyseverfahren nach Anspruch 10 oder 11, wobei die Hostmaschine einen Unterbrechungspunkt in binärer Suchweise in den jeweiligen Programmen des ersten und des zweiten Mikroprozessors über die erste und die zweite Fehlerbeseitigungsschnittstellenvorrichtung einstellt.
  14. Fehleranalyseverfahren nach Anspruch 13, wobei die Hostmaschine den ersten und den zweiten Unterbrechungspunkt entsprechend dem Beginn und dem Ende eines Suchbereiches in den jeweiligen Programmen des ersten und des zweiten Mikroprozessors über die erste und die zweite Fehlerbeseitigungsschnittstellenvorrichtung einstellt, und wenn die internen Informationen, die von dem ersten und dem zweiten Mikroprozessor an dem ersten Unterbrechungspunkt erhalten werden, übereinstimmen und die internen Informationen, die von dem ersten und dem zweiten Mikroprozessor an dem zweiten Unterbrechungspunkt, der durch den erste und den zweiten Mikroprozessor nach dem ersten Unterbrechungspunkt ausgeführt wird, nicht übereinstimmen, weist die Hostmaschine dem ersten und dem zweiten Mikroprozessor über die erste und die zweite Fehlerbeseitigungsschnittstellenvorrichtung an, einen Zwischenpunkt zwischen dem ersten Unterbrechungspunkt und dem zweiten Unterbrechungspunkt als einen dritten Unterbrechungspunkt einzustellen.
  15. Fehleranalyseverfahren nach Anspruch 10 oder 11, wobei, wenn die internen Informationen, die von dem ersten und dem zweiten Mikroprozessor an einem Unterbrechungspunkt erhalten werden, nicht übereinstimmen die Hostmaschine eine Steuerung durchführt zum Ausführen einer Wiederausführung in dem ersten und dem zweiten Mikroprozessor von einem Befehl anschließend an dem einen Unterbrechungspunkt, nach dem Einschreiben von zumindest einem Teil der internen Informationen des ersten Mikroprozessors in den zweiten Mikroprozessor, um den zweiten Mikroprozessor so einzustellen, dass er die selben Informationen mit Bezug auf zumindest einen Teil der internen Informationen wie der erste Mikroprozessor aufweist.
  16. Fehleranalyseverfahren nach Anspruch 15, wobei die Hostmaschine die Wiederausführung als Schrittausführung durchführt und wenn die internen Informationen, die von dem ersten und dem zweiten Mikroprozessor an einem Unterbrechungspunkt erhalten werden, nicht übereinstimmen, die Hostmaschine nichtübereinstimmende Informationen in ihrer Speichereinheit speichert und als Ergebnis der Schrittausführung, wenn es einer Anzahl von Elementen der nichtübereinstimmenden Informationen gibt, die in der Speichereinheit gespeichert sind, die Hostmaschine einen gemeinsamen Punkt von zumindest zwei Elementen der nichtübereinstimmenden Informationen aus der Anzahl von Elementen der nichtübereinstimmenden Informationen extrahiert.
  17. Computerlesbares Aufzeichnungsmedium, das ein Programm speichert, das eine Hostmaschine, die mit einem ersten und einem zweiten Mikroprozessor mit identischem Aufbau über eine erste und eine zweite Fehlerbeseitigungsschnittstellenvorrichtung verbunden ist, wobei der erste Mikroprozessor eine bekannt gute Vorrichtung ist, während der zweite Mikroprozessor ein Ziel für eine Fehleranalyse ist, dazu veranlasst, eine Verarbeitung auszuführen mit: Verursachen, über die erste und die zweite Fehlerbeseitigungsschnittstellenvorrichtung, dass der erste und der zweite Mikroprozessor identische Fehlerbeseitigungsoperationen parallel ausführen, Erhalten von internen Informationen des ersten und des zweiten Mikroprozessors über die erste und die zweite Fehlerbeseitigungsschnittstellenvorrichtung und Vergleichen der internen Informationen des ersten und des zweiten Mikroprozessors, um eine Fehleranalyse an den zweiten Mikroprozessor durchzuführen.
  18. Computerlesbares Aufzeichnungsmedium nach Anspruch 17, das ein Programm speichert, das die Hostmaschine veranlasst eine Verarbeitung durchzuführen mit Bestimmen einer Fehlerbeseitigungsoperation im Voraus, die als nächste in dem ersten und zweiten Mikroprozessor durchzuführen ist, wenn eine Nichtübereinstimmung in den internen Informationen des ersten und des zweiten Mikroprozessors erfasst wird.
  19. Computerlesbares Aufzeichnungsmedium nach Anspruch 17 oder 18, das ein Programm speichert, das eine Hostmaschine dazu veranlasst, eine Verarbeitung durchzuführen mit: Einstellen einer Anzahl von Unterbrechungspunkten in jeweiligen Programmen des ersten und des zweiten Mikroprozessors über die erste und die zweite Fehlerbeseitigungsschnittstellenvorrichtung und wenn die interne Information, die von dem ersten und dem zweiten Mikroprozessor an einem ersten Unterbrechungspunkt erhalten werden, übereinstimmen und die internen Informationen die von dem ersten und dem zweiten Mikroprozessor an einem zweiten Unterbrechungspunkt erhalten werden, der durch den ersten und den zweiten Mikroprozessor nach dem ersten Unterbrechungspunkt als eine folgende Operation ausgeführt wird, nicht übereinstimmen, ändern eines Fehlerbeseitigungsbefehls derart, dass Anweisungen zwischen dem ersten Unterbrechungspunkt und dem zweiten Unterbrechungspunkt durch Schrittausführung ausgeführt werden und Zuführen des geänderten Fehlerbeseitigungsbefehls an den ersten und den zweiten Mikroprozessor über die erste und die zweite Fehlerbeseitigungsschnittstellenvorrichtung.
  20. Computerlesbares Aufzeichnungsmedium nach Anspruch 17 oder 18, das ein Programm speichert, das eine Hostmaschine dazu veranlasst, eine Verarbeitung auszuführen mit: Einstellen eines Unterbrechungspunktes in einer binären Suchweise in den jeweiligen Programmen des ersten und des zweiten Mikroprozessors über die erste und die zweite Fehlerbeseitigungsschnittstellenvorrichtung.
DE102010006219A 2009-01-29 2010-01-29 Gerät und Verfahren zur Fehleranalyse Withdrawn DE102010006219A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009018374A JP5414292B2 (ja) 2009-01-29 2009-01-29 不良解析装置と方法及びプログラム
JP2009-018374 2009-08-11

Publications (1)

Publication Number Publication Date
DE102010006219A1 true DE102010006219A1 (de) 2010-09-16

Family

ID=42355099

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102010006219A Withdrawn DE102010006219A1 (de) 2009-01-29 2010-01-29 Gerät und Verfahren zur Fehleranalyse

Country Status (3)

Country Link
US (1) US8423829B2 (de)
JP (1) JP5414292B2 (de)
DE (1) DE102010006219A1 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011039570A1 (en) * 2009-09-30 2011-04-07 Freescale Semiconductor, Inc. Distributed debug system
JP5684514B2 (ja) * 2010-08-19 2015-03-11 株式会社東芝 冗長化制御システム、及びその演算データの伝送方法
US8843899B2 (en) 2010-10-29 2014-09-23 International Business Machines Corporation Implementing a step-type operation during debugging of code using internal breakpoints
US8806447B2 (en) * 2010-10-29 2014-08-12 International Business Machines Corporation Step-type operation processing during debugging by machine instruction stepping concurrent with setting breakpoints
US9015676B2 (en) 2010-10-29 2015-04-21 International Business Machines Corporation Varying removal of internal breakpoints during debugging of code
DE112011104709B4 (de) * 2011-01-12 2017-05-18 Toyota Jidosha Kabushiki Kaisha Online-Fehlerbereinigungssystem und Online-Fehlerbereinigungsverfahren für Informationsverarbeitungsvorrichtung
US8966319B2 (en) * 2011-02-22 2015-02-24 Apple Inc. Obtaining debug information from a flash memory device
US9158661B2 (en) 2012-02-15 2015-10-13 Apple Inc. Enhanced debugging for embedded devices
US9372780B2 (en) * 2013-06-28 2016-06-21 International Business Machines Corporation Breakpoint continuation for stream computing
JP6318976B2 (ja) * 2014-08-22 2018-05-09 富士通株式会社 デバッグ回路、デバッガ装置、半導体装置及びデバッグ方法
KR20180037422A (ko) 2016-10-04 2018-04-12 삼성전자주식회사 집적 회로 및 애플리케이션 프로세서
JP6786448B2 (ja) * 2017-06-28 2020-11-18 ルネサスエレクトロニクス株式会社 半導体装置
WO2022116111A1 (en) * 2020-12-03 2022-06-09 Boe Technology Group Co., Ltd. Computer-implemented method for defect analysis, computer-implemented method of evaluating likelihood of defect occurrence, apparatus for defect analysis, computer-program product, and intelligent defect analysis system
JP7343197B2 (ja) * 2021-03-15 2023-09-12 Necプラットフォームズ株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0573347A (ja) 1991-09-11 1993-03-26 Fujitsu Ltd エミユレーシヨン装置
JPH05119116A (ja) 1991-10-25 1993-05-18 Toshiba Corp 集積回路評価装置
JP2009018374A (ja) 2007-07-11 2009-01-29 Toyo Tire & Rubber Co Ltd 研磨パッド

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0614100B2 (ja) * 1984-07-11 1994-02-23 松下電器産業株式会社 回路検査装置
JP2560892B2 (ja) * 1990-07-12 1996-12-04 富士通株式会社 エラー情報処理装置
US6247144B1 (en) * 1991-01-31 2001-06-12 Compaq Computer Corporation Method and apparatus for comparing real time operation of object code compatible processors
JPH0553854A (ja) * 1991-08-26 1993-03-05 Oki Electric Ind Co Ltd ワンチツプマイクロコンピユータの不良解析方式
US6055661A (en) * 1994-06-13 2000-04-25 Luk; Fong System configuration and methods for on-the-fly testing of integrated circuits
US5905855A (en) * 1997-02-28 1999-05-18 Transmeta Corporation Method and apparatus for correcting errors in computer systems
JP2000155701A (ja) * 1998-11-18 2000-06-06 Mitsubishi Electric Corp デバッグ回路
US6452411B1 (en) * 1999-03-01 2002-09-17 Formfactor, Inc. Efficient parallel testing of integrated circuit devices using a known good device to generate expected responses
JP2001134467A (ja) * 1999-11-08 2001-05-18 Mitsubishi Electric Corp 内部バス情報取得方法および内部バス情報取得装置
JP2002288001A (ja) * 2001-03-23 2002-10-04 Ricoh Co Ltd 汎用検査システムとプログラムおよびその検査方法
JP2002215422A (ja) * 2001-01-18 2002-08-02 Toshiba Corp テストベクタ抽出システム
US6922821B1 (en) * 2001-11-15 2005-07-26 Cypress Semiconductor Corp. System and a method for checking lock step consistency between an in circuit emulation and a microcontroller while debugging process is in progress
US7185235B2 (en) * 2001-12-28 2007-02-27 Sap Ag Test and verification framework
US7080283B1 (en) * 2002-10-15 2006-07-18 Tensilica, Inc. Simultaneous real-time trace and debug for multiple processing core systems on a chip
JP4396509B2 (ja) * 2004-12-16 2010-01-13 日本電気株式会社 メモリエラー管理システム
US7475387B2 (en) * 2005-01-04 2009-01-06 International Business Machines Corporation Problem determination using system run-time behavior analysis
US20070174037A1 (en) * 2005-11-10 2007-07-26 Chuan-Po Ling Multiple-microcontroller emulation system, multiple-microcontroller integrated development environment, and method for the same
US7895569B2 (en) * 2006-08-30 2011-02-22 Research In Motion Limited System and method for implementing software breakpoints in an interpreter

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0573347A (ja) 1991-09-11 1993-03-26 Fujitsu Ltd エミユレーシヨン装置
JPH05119116A (ja) 1991-10-25 1993-05-18 Toshiba Corp 集積回路評価装置
JP2009018374A (ja) 2007-07-11 2009-01-29 Toyo Tire & Rubber Co Ltd 研磨パッド

Also Published As

Publication number Publication date
US8423829B2 (en) 2013-04-16
US20100191941A1 (en) 2010-07-29
JP5414292B2 (ja) 2014-02-12
JP2010176392A (ja) 2010-08-12

Similar Documents

Publication Publication Date Title
DE102010006219A1 (de) Gerät und Verfahren zur Fehleranalyse
DE60212962T2 (de) Hierarchischer intergrierter selbsttest
DE4313594C2 (de) Mikroprozessor
DE69915377T2 (de) Auf-chip fehlersuchsystem
DE10010043C2 (de) Halbleitervorrichtung-Simulationseinrichtung und zugehörige Halbleitertestprogramm-Debugging-Einrichtung
DE2953432C1 (de) Vorrichtung zum Testen eines Mikroprogramms
DE60212271T2 (de) Eingebauter Selbsttest mit eingebautem Speicher und Prozessor in einer ASIC Vorrichtung
DE10333817B4 (de) Emulationsschnittstellensystem
DE3903835C2 (de)
DE102009019961A1 (de) Vorrichtung, Systeme und Verfahren zum effizienten Verwenden von Hardware-Ressourcen für einen Softwaretest
DE60021066T2 (de) Prüfung eines Softwarepakets
DE19831761A1 (de) Prüfung einer integrierten Schaltungsvorrichtung während der Anbringung an einer Leiterplatte
DE112019005121T5 (de) Testsysteme zum ausführen von selbsttests in eingesetzten automobilen plattformen
DE10127170A1 (de) Fehlersuchverfahren und Fehlersuchvorrichtung
DE112005000591T5 (de) Testgerät und Testverfahren
DE112005000640T5 (de) Testgerät und Testverfahren
DE102014102551A1 (de) Maschine und Verfahren zum Evaluieren von fehlschlagenden Softwareprogrammen
DE102012224276B4 (de) Verzögerte Ausführung auf mehreren Prozessoren
DE112008001032T5 (de) Prüfgerät, Prüfverfahren und elektronische Vorrichtung
DE10123154B4 (de) Halbleitervorrichtungs-Prüfvorrichtung und Verfahren zum Prüfen einer Halbleitervorrichtung
WO2004049159A2 (de) Einrichtung und verfahren zur analyse von eingebetteten systemen
EP2962205A1 (de) Mehrkern-prozessorsystem mit fehleranalysefunktion
DE102013000857A1 (de) Kompakte Funktionsablaufprotokollierung
DE102019131865A1 (de) Verfahren und vorrichtung zur eigendiagnose der ram-fehlererkennungslogik eines antriebsstrangcontrollers
DE112021003677T5 (de) Automatisierte unterstützte schaltkreisvalidierung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R082 Change of representative

Representative=s name: GLAWE DELFS MOLL - PARTNERSCHAFT VON PATENT- U, DE

R081 Change of applicant/patentee

Owner name: RENESAS ELECTRONICS CORPORATION, JP

Free format text: FORMER OWNER: NEC ELECTRONICS CORP., KAWASAKI, JP

Effective date: 20120828

Owner name: RENESAS ELECTRONICS CORPORATION, KAWASAKI-SHI, JP

Free format text: FORMER OWNER: NEC ELECTRONICS CORP., KAWASAKI, KANAGAWA, JP

Effective date: 20120828

Owner name: RENESAS ELECTRONICS CORPORATION, JP

Free format text: FORMER OWNER: NEC ELECTRONICS CORP., KAWASAKI, KANAGAWA, JP

Effective date: 20120828

R082 Change of representative

Representative=s name: GLAWE DELFS MOLL - PARTNERSCHAFT VON PATENT- U, DE

Effective date: 20120828

Representative=s name: GLAWE DELFS MOLL PARTNERSCHAFT MBB VON PATENT-, DE

Effective date: 20120828

R016 Response to examination communication
R081 Change of applicant/patentee

Owner name: RENESAS ELECTRONICS CORPORATION, JP

Free format text: FORMER OWNER: RENESAS ELECTRONICS CORPORATION, KAWASAKI-SHI, KANAGAWA, JP

R082 Change of representative

Representative=s name: GLAWE DELFS MOLL PARTNERSCHAFT MBB VON PATENT-, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee