DE19919388A1 - Programmprüfverfahren, Programmprüfvorrichtung und computerlesbares Aufzeichnungsmedium zum Aufzeichnen eines Zielprogramm-Prüfprogramms, das die Ablaufverfolgungsunterbrechungszeit reduzieren kann - Google Patents

Programmprüfverfahren, Programmprüfvorrichtung und computerlesbares Aufzeichnungsmedium zum Aufzeichnen eines Zielprogramm-Prüfprogramms, das die Ablaufverfolgungsunterbrechungszeit reduzieren kann

Info

Publication number
DE19919388A1
DE19919388A1 DE19919388A DE19919388A DE19919388A1 DE 19919388 A1 DE19919388 A1 DE 19919388A1 DE 19919388 A DE19919388 A DE 19919388A DE 19919388 A DE19919388 A DE 19919388A DE 19919388 A1 DE19919388 A1 DE 19919388A1
Authority
DE
Germany
Prior art keywords
storage
historical data
target program
program
trace
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19919388A
Other languages
English (en)
Other versions
DE19919388B4 (de
Inventor
Fumiaki Yamashita
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.)
NEC Electronics Corp
Original Assignee
NEC 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 Corp filed Critical NEC Corp
Publication of DE19919388A1 publication Critical patent/DE19919388A1/de
Application granted granted Critical
Publication of DE19919388B4 publication Critical patent/DE19919388B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • 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/3476Data logging
    • 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

Abstract

Obwohl die Zeitdauer einer Ablaufverfolgungsverarbeitung beim Überprüfen eines Zielprogramms verkürzt wird, wird das Zielprogramm bei einer hohen Geschwindigkeit einfach überprüft. Wenn historische Daten, die beim Ausführen dieses Zielprogramms erfaßt werden, zugeführt werden, werden die historischen Daten in Ablaufverfolgungspaketdaten (TP) umgewandelt. Die Ablaufverfolgungspaketdaten (TP) werden vorübergehend in einem Ablaufverfolgungspaket-Puffer (17) gespeichert. Wenn der Speicherinhalt des Ablaufverfolgungspaket-Puffers (17) in einen Überlaufzustand gebracht wird, werden die Ablaufverfolgungspaketdaten (TP) und die Speicherungsunmöglichkeitsdaten in einer externen Speichervorrichtung (13) gespeichert.

Description

HINTERGRUND DER ERFINDUNG 1. Gebiet der Erfindung
Die vorliegende Erfindung betrifft allgemein ein Programm­ prüfverfahren, eine Programmprüfvorrichtung und ein compu­ terlesbares Aufzeichnungsmedium zum Aufzeichnen eines Prüf­ programms für ein Zielprogramm (target program) darauf. Ge­ nauer bezieht sich die vorliegende Erfindung auf ein Pro­ grammprüfverfahren bzw. eine Programmprüfvorrichtung, die in der Lage ist, ein Zielprogramm, ein Objektprogramm bzw. ein Programm zu überprüfen, während die gesamte Ablaufver­ folgungsunterbrechungszeit (tracing interrupt time) redu­ ziert wird, was durch eine zentrale Verarbeitungseinheit (CPU = central processing unit) ausgeführt werden soll, um ein Zielsystem, z. B. eine Facsimilemaschine in der Entwick­ lung oder eine Bildverarbeitungsvorrichtung in der Entwick­ lung, zu bilden. Die vorliegende Erfindung ist auch auf ein computerlesbares Aufzeichnungsmedium zum Aufzeichnen eines solchen Zielprogramms gerichtet, das von der CPU auszufüh­ ren ist.
2. Beschreibung des Stands der Technik
Es gibt einen seltenen Fall, daß ein Zielprogramm, das in einem Zielsystem installiert ist, unter normalen Bedingun­ gen betreibbar ist, wenn dieses Zielprogramm ausgeführt worden ist. Für gewöhnlich führt eine Programmprüfvorrich­ tung deshalb dieses Zielprogramm derart aus, daß die Inhal­ te dieses Zielprogramms schrittweise verfolgt werden, z. B., wie die Instruktionen bzw. Befehle (Kommandos), die das Zielprogramm bilden, ausgeführt werden, wie die Inhalte von Registern geändert werden, nachdem die jeweiligen Instruk­ tionen ausgeführt wurden, und/oder wie die Inhalte der Adressen innerhalb einer Hauptspeichervorrichtung geändert werden. Die Informationen, die diesen Ablaufverfolgungsin­ halten (= historische Informationen) zugeordnet sind, wer­ den erfaßt und in einer externen Speichervorrichtung ge­ speichert. Danach kann dieses Zielprogramm, das Programm­ fehler (program bugs) enthält, auf der Basis der erfaßten historischen Informationen berichtigt werden.
Herkömmlicherweise ist ein Adreßbus und ein Datenbus, die mit einer CPU verbunden sind, mit einer Zielprogramm- Prüfvorrichtung derart verbunden, daß die gewünschten hi­ storischen Informationen zu vorgegebenen Zeitpunkten erfaßt bzw. ermittelt werden. Dann werden die historischen Infor­ mationen in einer Speichervorrichtung gespeichert, die in der Zielprogramm-Prüfvorrichtung enthalten ist. Kürzlich wurden die Betriebsfähigkeiten der CPUs erhöht bzw. verbes­ sert und die Betriebstaktfrequenzen der CPUs sind auf meh­ rere 100 MHz erhöht worden. Wenn Verbinder bzw. Stecker und/oder Teile der Zielprogramm-Prüfvorrichtung elektrisch mit Adreßbussen und/oder Datenbussen verbunden sind, die bei diesen hohen Frequenzen arbeiten, werden unerwünschte Streukapazitäten bei diesen Hochgeschwindigkeitsadreßbussen bzw. -datenbussen zusätzlich erzeugt. Deshalb werden Si­ gnalverläufe der Adreßsignale und/oder der Datensignale de­ formiert, so daß das Zielsystem unter normalen Bedingungen nicht arbeiten kann.
Zudem, wenn eine Cache-Speicherschaltung in einer CPU ein­ gebaut ist, wird manchmal auf eine externe Speichereinheit nicht zugegriffen. Deshalb besteht das Risiko, wenn über bzw. für einen externen Adreßbus und einen externen Daten­ bus eine Ablaufverfolgung durchgeführt wird (traced), daß Schritte, die von der CPU verarbeitet werden, nicht voll­ ständig in ihrem Ablauf verfolgt werden können. Aus diesem Grund ist eine Ablaufverfolgungseinrichtung herkömmlich mit einem CPU-Chip versehen und die notwendigen historischen Informationen werden über einen Ablaufverfolgungsanschluß außerhalb des CPU-Chips ausgegeben.
Im allgemeinen, wenn eine Zielprogramm-Prüfvorrichtung ver­ wendet wird, wird die Speicherkapazität für den Ablaufver­ folgungsbetrieb so groß wie möglich im Vergleich mit einem CPU-Chip erhöht, der einen Ablaufverfolgungsdatenspeicher hat. Darüber hinaus kann, wenn ein Hochgeschwindigkeits­ speicher verwendet wird, eine große Menge an historischen Informationen erfaßt werden. Wenn diese Speichereinheit für die Ablaufverfolgungsinformationen innerhalb eines CPU-Chips vorgesehen ist und ihre Speicherkapazität erhöht wird, werden jedoch auch die Kosten dieses CPU-Chips er­ höht. Diese Maßnahme stellt deshalb keine Vorteile zur Ver­ fügung. Andererseits, wenn eine Gesamtanzahl von Ablaufver­ folgungsanschlüssen derart erhöht wird, daß Daten mit hoher Geschwindigkeit erfaßt werden können, wird eine Abmessung der IC-Chip-Packung bzw. des IC-Chip-Gehäuses erhöht, was einen Nachteil darstellt.
Als Folge ist es in der Praxis schwierig, zu bestimmen, wie diese historischen Informationen mit hoher Effizienz erfaßt werden können, wenn eine begrenzte Speicherkapazität zum Speichern der historischen Informationen und eine begrenzte Anzahl von Ablaufverfolgungsanschlüssen verwendet werden.
Eine typische, herkömmliche Programmprüfvorrichtung wurde vorgeschlagen. Diese Zielprogramm-Prüfvorrichtung umfaßt, wie in der Fig. 11 gezeigt ist, im wesentlichen eine Zielspeichereinheit 1, einen CPU-Chip 2 und eine externe Speichervorrichtung 3. Die Zielspeichereinheit 1 ist ein Speicher, der als Hauptspeichervorrichtung eines Zielsy­ stems arbeitet, und wird durch eine Zielprogramm-Speicher­ einheit 1a zum Speichern eines Zielprogramms, das von einer CPU überprüft werden soll, und einer Datenspeichereinheit 1b zum Speichern von Daten gebildet, die verwendet werden, während dieses Zielprogramm ausgeführt wird.
Der CPU-Chip 2 wird hauptsächlich durch eine Zielregi­ stereinheit 4, eine CPU 5, eine Ablaufverfolgungseinrich­ tung 6 und einen Ablaufverfolgungspuffer gebildet. Die Zielregistereinheit 4 wird durch Simulieren eines Registers unter Verwendung des CPU-Chips 2 realisiert. Diese Zielre­ gistereinheit 4 wird durch eine Vielzahl von Registern ge­ bildet. Die CPU 5 steuert verschiedene strukturelle Elemen­ te, die in der herkömmlichen Programmprüfvorrichtung ver­ wendet werden, und führt das Zielprogramm auch sequentiell aus. Die Ablaufverfolgungseinrichtung (trace means) 6 ab­ laufverfolgt die Ausführungssequenz der jeweiligen Instruk­ tionen, die das Zielprogramm darstellen, eine nach der an­ deren bzw. schrittweise bzw. instruktionsweise und die Än­ derungszustände in den Speicherinhalten der Zielregister­ einheit 4 nach den jeweiligen Instruktionen werden derart ausgeführt, daß die historischen Informationen, die zu die­ sen Ablauf verfolgten Ergebnissen gehören, erfaßt werden. Danach speichert die Ablaufverfolgungseinrichtung 6 die his­ torischen Informationen in der externen Speichervorrich­ tung 3 ab. Als historische Informationen gibt es z. B. eine Adresse eines Ziels in einer Zielprogramm-Speichereinheit 1a als einen bedingten Verzweigungsbefehl, eine Adresse ei­ nes Sprungziels in der Zielprogramm-Speichereinheit 1a als Sprungbefehl und eine, Adresse von Daten, die in die Zielre­ gistereinheit 4 geladen werden, der Datenspeichereinheit 1b als Datenladebefehl. Der Ablaufverfolgungspuffer 7 weist eine voraus gewählte Speicherkapazität auf. Die histori­ schen Informationen werden sequentiell in diesem Ablaufver­ folgungspuffer 7 in einer zyklischen Art und Weise gespei­ chert. Die externe Speichervorrichtung 3 wird durch ein Speichermedium mit einer großen Speicherkapazität, z. B. ei­ nem Halbleiterspeicher wie z. B. einem großen RAM, einer Floppy Disk (FD) und einer Hard Disk (HD) bzw. Festplatte, gebildet. Die historischen Informationen werden in dieser externen Speichervorrichtung 3 gespeichert.
Als nächstes wird eine Beschreibung bezüglich der Operatio­ nen der zuvor beschriebenen herkömmlichen Programmvorrich­ tung durchgeführt. Die CPU 5 liest sequentiell die jeweili­ gen Kommandos/Instruktionen bzw. Befehle, die das Zielpro­ gramm bilden, aus bzw. von der Zielprogramm-Speichereinheit 1a und interpretiert jede dieser Instruktionen bzw. jedes der Kommandos. Die jeweiligen Kommandos werden z. B. derart ausgeführt, daß die Daten, die in der Speichereinheit 1b gespeichert sind, in die Zielregistereinheit 4 geladen wer­ den. Im Ergebnis verfolgt die Ablaufverfolgungseinrichtung 6 in der Einheit eines Schrittes die Ausführungssequenz (execution sequence) der jeweiligen Befehle bzw. Instruk­ tionen und auch die Zustandsänderungen in den Speicherin­ halten der Zielregistereinheit 4. Dann erfaßt die Ablauf­ verfolgungseinrichtung 6 die historischen Informationen, die zu diesen ablaufverfolgten Ereignissen gehören, und speichert die akquirierten historischen Informationen se­ quentiell in den Ablaufverfolgungspuffer 7.
Wenn die Ablaufverfolgungseinrichtung 6 wiederholt die zu­ vor beschriebenen Prozeßoperationen durchführt und deshalb der Ablaufverfolgungspuffer 7 überläuft, fordert die Ab­ laufverfolgungseinrichtung 6 die CPU 5 auf, sofort bzw. einmal den Programmverarbeitungsbetrieb bei der Ausführung anzuhalten, währenddessen alle historischen Informationen, die in dem Ablaufverfolgungspuffer 7 gespeichert sind, in der externen Speichervorrichtung 3 gespeichert werden. Da­ nach, wenn der Ablaufverfolgungspuffer 7 leer ist bzw. wird, wird der Ablaufverfolgungsbetrieb wieder gestartet.
Bei der zuvor beschriebenen, herkömmlichen Programmprüfvor­ richtung kann, da der Betrieb der CPU 5 immer dann angehal­ ten wird, wenn der Ablaufverfolgungspuffer 7 in den Über­ laufbetrieb bzw. -zustand gebracht wird, die Programm­ prüfvorrichtung nicht auf eine Zielprogramm-Prüfoperation angewendet werden, bei der die Programmprüfoperation näm­ lich in Echtzeit ausgeführt werden soll. Zum Beispiel wird in dem Fall, daß ein entwickeltes Programm zum Steuern ei­ ner Maschine eines Automobils überprüft wird, die Informa­ tion zum Angeben, wie stark ein Autofahrer ein Gaspedal be­ tätigt oder welche Umdrehungszahl des Motors gezählt wird oder welche Temperatur auftritt, in die CPU eingegeben. Diese CPU steuert dann einen Treibstoffzuführwert und den Treibstoffzuführzeitpunkt auf der Basis dieser Informatio­ nen. Ein Programmentwicklungsingenieur betätigt den Motor derart, daß er eine optimale Treibstoffzuführmenge erhält, indem er verschiedene Parameter ändert, die in der CPU ge­ setzt werden. Zu diesem Zeitpunkt setzt der Programment­ wicklungsingenieur diese Entwicklung fort, indem er bestä­ tigt, wie das Programm innerhalb der CPU verarbeitet wird und welche Parameter verwendet werden.
Wenn die historischen Informationen von der herkömmlichen Programmprüfvorrichtung derart erfaßt werden, daß die Pro­ grammverarbeitungsoperation einmal angehalten wird, wird der Motor auch angehalten, so daß die historischen Informa­ tionen unter den tatsächlichen Verwendungsbedingungen nicht erfaßt werden können.
Um dieses Problem zu vermeiden, ist ein Lösungsverfahren in der offengelegten japanischen Patentanmeldung Hei-5-181713 beschrieben. Hier werden die historischen Informationen nur erfaßt, wenn das Programm unter anormalen Bedingungen been­ det wird. Dieses herkömmliche Erfassungsverfahren kann die Inhalte der Register nicht erfassen, die bei normalem Be­ trieb betrieben werden, so daß der Programmentwicklungsin­ genieur nicht feststellen kann, wie die CPU bei (verschie­ denen) Parametern arbeitet.
ÜBERBLICK ÜBER DIE ERFINDUNG
Die vorliegende Erfindung wurde gemacht, um die zuvor er­ läuterten Probleme zu lösen und hat deshalb als erste Auf­ gabe, ein Programmprüfverfahren, eine Programmprüfvorrich­ tung und ein Zielprogramm-Prüfprogramm bereitzustellen, bei denen historische Informationen, die zum Überprüfen eines Zielprogramms erforderlich sind, erfaßt werden können, ohne daß der CPU-Betrieb während einer Ablaufverfolgungsverar­ beitungsoperation angehalten werden muß.
Eine zweite, weitere Aufgabe (bzw. ein weiterer Vorteil) der vorliegenden Erfindung besteht darin, ein Programm­ prüfverfahren und eine Programmprüfvorrichtung anzugeben, durch die die Dauer der Ablaufverfolgungsunterbrechungszeit verkürzt werden kann, während eine minimale Ablaufverfol­ gungsspeicherkapazität, die in der CPU enthalten ist, ver­ wendet wird, und durch die auch ein Ablaufverfolgungsunter­ brechungsprogrammabschnitt spezifiziert werden kann. Im Er­ gebnis kann das Zielprogramm einfach bei hoher Geschwindig­ keit überprüft werden.
Diese Aufgabe wird durch die Programmprüfvorrichtung gemäß Anspruch 1, 6 bzw. 11, durch das Verfahren zum Überprüfen eines Zielprogramms gemäß Anspruch 16, Anspruch 21 bzw. An­ spruch 27 und durch das computerlesbare Aufzeichnungsmedium gemäß Anspruch 33, Anspruch 34 bzw. Anspruch 35 gelöst.
Um die zuvor beschriebenen ersten und zweiten Aufgaben zu lösen, hat eine Programmprüfvorrichtung gemäß einem ersten Aspekt der vorliegenden Erfindung zum Ausführen eines Ziel­ programms derart, daß historische Daten erfaßt werden kön­ nen, die durch das Ausführen des Zielprogramms erzeugt wer­ den, und zum Überprüfen des Zielprogramms auf der Basis der erfaßten historischen Daten, wobei das Zielprogramm ur­ sprünglich durch die zentrale Verarbeitungseinheit zur Bil­ dung eines Systems unter Entwicklung ausgeführt wird, fol­ gende Merkmale:
eine erste Speichereinrichtung und eine zweite Speicherein­ richtung zum Speichern der historischen Daten darin; und
eine Ablaufverfolgungseinrichtung, die in einem Fall arbei­ tet, daß das Zielprogramm durch die Programmprüfvorrichtung ausgeführt wird, um dadurch die historischen Daten derart zu erfassen, daß, wenn die erste Speichereinrichtung eine Speicherkapazität hat, die die historischen Daten speichern kann, die Ablaufverfolgungseinrichtung die erste Spei­ chereinrichtung veranlaßt, daß sie vorübergehend die erfaß­ ten historischen Daten in ihr speichert, wobei, wenn die erste Speichereinrichtung nicht die speicherbare Speicher­ kapazität hat, die Ablaufverfolgungseinrichtung alle histo­ rischen Daten liest, die in der ersten Speichereinrichtung gespeichert sind, und dann die zweite Speichereinrichtung veranlaßt, alle, gelesenen historischen Daten in ihr zu speichern, und danach Speicherunmöglichkeitsinformationen in der ersten Speichereinrichtung speichert, wobei die Speiherunmöglichkeitsinformationen angeben, daß die histo­ rischen Daten selbst nicht in der ersten Speichereinrich­ tung gespeichert werden können; und wobei, wenn die erfaß­ ten historischen Daten nicht der Ablaufverfolgungseinrich­ tung zugeführt werden, die Ablaufverfolgungseinrichtung so­ wohl die historischen Daten als auch die für die Spei­ cherunmöglichkeitsinformationen, die in der ersten Spei­ chereinrichtung gespeichert sind, liest, um dadurch beide Daten in der zweiten Speichereinrichtung zu speichern.
Die Programmprüfvorrichtung gemäß dem ersten Aspekt der vorliegenden Erfindung weist bevorzugt weiterhin auf: eine Zielspeichereinheit, die durch eine Zielprogramm-Speicher­ einheit zum Speichern des Zielprogramms darin und eine Da­ tenspeichereinheit zum Speichern von Programmausführungsda­ ten darin gebildet wird.
Die Programmprüfvorrichtung gemäß dem ersten Aspekt der vorliegenden Erfindung ist bevorzugt gekennzeichnet da­ durch, daß die erste Speichereinrichtung durch ein Ablauf­ verfolgungspufferregister gebildet wird, die zweite Spei­ chereinrichtung durch eine externe Speichervorrichtung ge­ bildet wird und die Ablaufverfolgungseinrichtung und das Ablaufverfolgungspufferregister in einem CPU-Chip eingebaut sind.
Die Programmprüfvorrichtung gemäß dem ersten Aspekt der vorliegenden Erfindung ist bevorzugt gekennzeichnet da­ durch, daß die Ablaufverfolgungseinrichtung die histori­ schen Daten erfaßt und die erfaßten historischen Daten in ein Ablaufverfolgungspaket bzw. Datenpaket umwandelt und auch das Ablaufverfolgungspufferregister veranlaßt, daß es das Ablaufverfolgungspaket (trace packet) speichert.
Die Programmprüfvorrichtung gemäß dem ersten Aspekt der vorliegenden Erfindung ist bevorzugt gekennzeichnet da­ durch, daß die Ablaufverfolgungseinrichtung die erfaßten historischen Daten in eine Vielzahl von Ablaufverfolgungs­ paketen umwandelt und daß jedes der vielzähligen Ablaufver­ folgungspakete aus einer Vielzahl von Bits besteht bzw. aufgebaut ist.
Eine Programmprüfvorrichtung gemäß einem, zweiten Aspekt der vorliegenden Erfindung umfaßt eine Programmprüfvorrichtung zum Ausführen eines Zielprogramms derart, daß historische Daten, die durch Ausführen des Zielprogramms erzeugt wer­ den, erfaßt werden, und zum Überprüfen des Zielprogramms auf der Basis der erfaßten historischen Daten, wobei das, Zielprogramm ursprünglich durch eine zentrale Verarbei­ tungseinheit ausgeführt wird, die ein System in der Ent­ wicklung, ein in der Entwicklung befindliches System bzw. ein Entwicklungssystem bildet, wobei die Programmprüfvor­ richtung aufweist:
eine erste Speichereinrichtung und eine zweite Speicherein­ richtung zum Speichern der historischen Daten darin; und
eine Ablaufverfolgungseinrichtung, die derart betreibbar ist, daß in einem Fall, daß das Zielprogramm durch die Pro­ grammprüfvorrichtung derart ausgeführt wird, um die histo­ rischen Daten erfassen zu können, daß, wenn die erste Spei­ chereinrichtung eine erste Speicherkapazität hat, die die historischen Daten speichern kann, die Ablaufverfolgungs­ einrichtung die erste Speichereinrichtung dazu veranlaßt, die erfaßten historischen Daten darin vorübergehend bzw. einstweilen oder kurzzeitig zu speichern; daß, wenn die er­ ste Speichereinrichtung nicht die erste Speicherkapazität hat, sondern eine zweite Speicherkapazität hat, die Spei­ cherunmöglichkeitsinformationen speichern kann, die Ablauf­ verfolgungseinrichtung verursacht, daß die erste Spei­ chereinrichtung vorübergehend in ihr die Speicherunmöglich­ keitsinformationen speichert, wobei die Speicherunmöglich­ keitsinformationen angeben, daß die historischen Daten selbst nicht in der ersten Speichereinrichtung gespeichert werden können; und daß, wenn die erste Speichereinrichtung nicht einmal bzw. auch nicht die zweite Speicherkapazität hat, die Ablaufverfolgungseinrichtung in einen Wartezustand gebracht wird, bis die zweite Speicherkapazität darin si­ chergestellt werden kann, und danach die erste Speicherein­ richtung dazu veranlaßt, die Speicherunmöglichkeitsinforma­ tionen in ihr zu speichern, und auch sowohl die histori­ schen Daten als auch die Speicherunmöglichkeitsinformatio­ nen, die in der ersten Speichereinrichtung gespeichert sind, liest, um dadurch beide diese Daten bzw. Datenarten bzw. Informationen in der zweiten Speichereinrichtung zu speichern.
Eine Programmprüfvorrichtung gemäß einem dritten Aspekt der vorliegenden Erfindung ist auch durch eine solche Programm­ prüfvorrichtung zum Ausführen eines Zielprogramms derart ausgebildet, daß historische Daten, die durch Ausführen des Zielprogramms erzeugt werden, erfaßt werden, und zum Über­ prüfen des Zielprogramms auf der Basis der erfaßten histo­ rischen Daten, wobei das Zielprogramm ursprünglich durch eine zentrale Verarbeitungseinheit ausgeführt wird, die ein System in der Entwicklung bildet, wobei die Programm­ prüfvorrichtung aufweist:
eine erste Speichereinrichtung und eine zweite Speicherein­ richtung zum Speichern der historischen Daten darin; und
eine Ablaufverfolgungseinrichtung, die in einem Fall derart betreibbar ist, daß das Zielprogramm durch die Programm­ prüfvorrichtung ausführbar ist, um dadurch die historischen Daten zu erfassen; daß, wenn die erste Speichereinrichtung eine erste Speicherkapazität hat, die die historischen Da­ ten speichern kann, die Ablaufverfolgungseinrichtung die erste Speichereinrichtung dazu veranlaßt, in ihr die erfaß­ ten historischen Daten vorübergehend zu speichern; daß, wenn die erste Speichereinrichtung nicht die erste spei­ cherbare Speicherkapazität hat, sondern eine zweite Spei­ cherkapazität hat, die die Speicherunmöglichkeitsinforma­ tionen speichern kann, die Ablaufverfolgungseinrichtung die erste Speichereinrichtung dazu veranlaßt, vorübergehend in ihr die Speicherunmöglichkeitsinformationen zu speichern, wobei die Speicherunmöglichkeitsinformationen angeben, daß die historischen Daten selbst nicht in der ersten Spei­ chereinrichtung gespeichert werden können; und daß, wenn die erste Speichereinrichtung auch die zweite Speicherkapa­ zität nicht hat, die Ablaufverfolgungseinrichtung sowohl die historischen Daten als auch die Speicherunmöglich­ keitsinformationen aus der ersten Speichereinrichtung liest, bis die erste Speichereinrichtung die zweite Spei­ cherkapazität aufweisen kann, und dann sowohl die gelesenen historischen Daten als auch die Speicherunmöglichkeitsin­ formationen in der zweiten Speichereinrichtung speichert; und daß danach, wenn die erfaßten historischen Daten nicht der Ablaufverfolgungseinrichtung zugeführt werden, die Ab­ laufverfolgungseinrichtung sowohl die historischen Daten als auch die Speicherunmöglichkeitsinformationen liest, die in der ersten Speichereinrichtung gespeichert sind, um da­ durch beide Daten in der zweiten Speichereinrichtung zu speichern.
Die Programmprüfvorrichtung gemäß dem zweiten oder dritten Aspekt der vorliegenden Erfindung ist bevorzugt dadurch ge­ kennzeichnet, daß:
die erste Speichereinrichtung durch eine Serienverbindung einer Vielzahl von Schieberegistern miteinander ausgebildet ist, wobei die Schieberegister durch die Serienverbindung einer Vielzahl von Flip-Flops miteinander ausgebildet sind; und
die Ablaufverfolgungseinrichtung zumindest aufweist:
eine Vergleichseinheit zum Vergleichen der Bitlängen der historischen Daten und der Bitlängen der Speicherunmöglich­ keitsinformationen mit einem Zeiger, um beurteilen zu kön­ nen, ob sowohl die historischen Daten als auch die Spei­ cherunmöglichkeitsinformationen in der ersten Speicherein­ richtung gespeichert werden können, wobei der Zeiger eine Adresse des am wenigsten signifikanten Bits der Information angibt, die nachfolgend in der ersten Speichereinrichtung gespeichert werden soll.
Die Programmprüfvorrichtung gemäß dem zweiten oder dem dritten Aspekt der vorliegenden Erfindung kann auch umfas­ sen, daß:
die Ablaufverfolgungseinrichtung die historischen Daten er­ faßt und die historischen Daten in ein Ablaufverfolgungspa­ ket umwandelt und auch veranlaßt, daß in Serie verbundene Schieberegister in sich das Ablaufverfolgungspaket spei­ chern.
Die Programmprüfvorrichtung gemäß dem zweiten und dritten Aspekt der vorliegenden Erfindung ist bevorzugt auch ge­ kennzeichnet dadurch, daß die Ablaufverfolgungseinrichtung, die erfaßten historischen Daten in eine Vielzahl von Ab­ laufverfolgungspaketen umwandelt und daß jedes der vielzäh­ ligen Ablaufverfolgungspakete aus einer Vielzahl von Bits besteht.
Die Programmprüfvorrichtung gemäß dem zweiten oder auch dem dritten Aspekt der vorliegenden Erfindung weist bevorzugt auch weiterhin auf:
eine Zielspeichereinheit, die durch eine Zielprogramm- Speichereinheit zum Speichern des Zielprogramms darin und eine Datenspeichereinheit zum Speichern der Programmausfüh­ rungsdaten darin gebildet wird.
Ein Zielprogramm-Prüfverfahren gemäß einem vierten Aspekt der vorliegenden Erfindung wird durch ein Verfahren zum Prüfen des Zielprogramms unter Verwendung einer Programm­ prüfvorrichtung, die eine erste Speichereinrichtung und ei­ ne zweite Speichereinrichtung hat, zum Ausführen des Ziel­ programms derart, daß historischen Daten, die durch Ausfüh­ ren des Zielprogramms erzeugt werden, erfaßt werden, und zum Prüfen des Zielprogramms auf der Basis der erfaßten hi­ storischen Daten gebildet, wobei das Zielprogramm ursprüng­ lich durch eine zentrale Verarbeitungseinheit ausgeführt wird, die ein System in Entwicklung bildet, wobei das Ver­ fahren aufweist:
einen ersten Schritt, bei dem, wenn die erste Speicherein­ richtung eine Speicherkapazität hat, die die historischen Daten speichern kann, die erfaßten historischen Daten vor­ übergehend in der ersten Speichereinrichtung gespeichert werden;
einen zweiten Schritt, bei dem, wenn die erste Speichereinrichtung nicht die speicherbare Speicherkapazi­ tät hat, alle historischen Daten, die in der ersten Spei­ chereinrichtung gespeichert sind, von der ersten Spei­ chereinrichtung ausgelesen werden, um in der zweiten Spei­ chereinrichtung gespeichert zu werden, und bei dem danach die Speicherunmöglichkeitsinformationen in der ersten Spei­ chereinrichtung gespeichert werden, wobei die Speicherun­ möglichkeitsinformationen angeben, daß die historischen Da­ ten selbst nicht in der ersten Speichereinrichtung gespei­ chert werden können; und
einen dritten Schritt, bei dem, wenn die historischen Daten nicht zugeführt werden, sowohl die historischen Daten als auch die Speicherunmöglichkeitsinformationen aus der ersten Speicherinrichtung ausgelesen werden, um in der zweiten Speichereinrichtung abgespeichert zu werden.
Ein Zielprogramm-Prüfverfahren gemäß einem fünften Aspekt der vorliegenden Erfindung ist weiterhin durch ein Verfah­ ren zum Überprüfen eines Zielprogramms unter Verwendung ei­ ner Programmprüfvorrichtung, die eine erste Speicherein­ richtung und eine zweite Speichereinrichtung hat, zum Aus­ führen des Zielprogramms derart, daß die historischen Da­ ten, die durch Ausführen des Zielprogramms erzeugt werden, erfaßt werden, und zum Prüfen des Zielprogramms auf der Ba­ sis der erfaßten historischen Daten ausgebildet, wobei das Zielprogramm ursprünglich durch eine zentrale Verarbei­ tungseinheit zum Ausbilden eines Systems in der Entwicklung ausgeführt wird, wobei das Verfahren aufweist:
einen ersten Schritt, bei dem, wenn die erste Speicherein­ richtung eine erste Speicherkapazität hat, die die histori­ schen Daten speichern kann, die erfaßten, historischen Daten vorübergehend in der ersten Speichereinrichtung gespeichert werden;
einen zweiten Schritt, bei dem, wenn die erste Speicherein­ richtung nicht die erste speicherbare Speicherkapazität hat, sondern eine zweite Speicherkapazität, die Speicherun­ möglichkeitsinformationen speichern, kann, die Speicherun­ möglichkeitsinformationen vorübergehend in der ersten Spei­ chereinrichtung gespeichert werden, wobei die Speicherun­ möglichkeitsinformationen angeben, daß die historischen Da­ ten selbst nicht in der ersten Speichereinrichtung gespei­ chert werden können;
einen dritten Schritt, bei dem, wenn die erste Speicherein­ richtung auch nicht die zweite Speicherkapazität hat, die erste Speichereinrichtung in einen Wartezustand gebracht wird, bis die zweite Speicherkapazität in ihr sicherge­ stellt werden kann, und bei dem danach die Speicherunmög­ lichkeitsinformationen in der ersten Speichereinrichtung gespeichert werden; und
einen vierten Schritt, bei dem die historischen Daten und die Speicherunmöglichkeitsinformationen aus der ersten Speichereinrichtung ausgelesen werden, um in der zweiten Speichereinrichtung gespeichert zu werden.
Ein Zielprogramm-Prüfverfahren gemäß einem sechsten Aspekt der vorliegenden Erfindung ist gekennzeichnet durch ein Verfahren zum Prüfen eines Zielprogramms unter Verwendung einer Programmprüfvorrichtung, die eine erste Speicherein­ richtung und eine zweite Speichereinrichtung hat, zum Aus­ führen des Zielprogramms derart, daß historische Daten, die durch das Ausführen des Zielprogramms erzeugt werden, er­ faßt werden, und zum Prüfen des Zielprogramms auf der Basis der erfaßten historischen Daten, wobei das Zielprogramm ur­ sprünglich durch eine zentrale Verarbeitungseinheit zum Ausbilden eines Systems unter Entwicklung ausgeführt wird, wobei das Verfahren aufweist:
einen ersten Schritt, bei dem, wenn die erste Speicherein­ richtung eine erste Speicherkapazität hat, die die histori­ schen Daten speichern kann, die erfaßten historischen Daten vorübergehend in der ersten Speichereinrichtung gespeichert werden;
einen zweiten Schritt, bei dem, wenn die erste Speicherein­ richtung die erste speicherbare Speicherkapazität nicht hat, sondern eine zweite Speicherkapazität hat, die die Speicherunmöglichkeitsinformationen speichern kann, die Speicherunmöglichkeitsinformationen vorübergehend in der ersten Speichereinrichtung gespeichert werden, wobei die Speicherunmöglichkeitsinformationen angeben, daß die histo­ rischen Daten selbst nicht in der ersten Speichereinrich­ tung gespeichert werden können;
einen dritten Schritt, bei dem, wenn die erste Speicherein­ richtung auch nicht die zweite Speicherkapazität hat, so­ wohl die ersten historischen Daten als auch die Speicherun­ möglichkeitsinformationen aus der ersten Speichereinrich­ tung ausgelesen werden, um sie danach in die zweite Spei­ chereinrichtung abzuspeichern, bis die zweite Speicherkapa­ zität in der ersten Speichereinrichtung sichergestellt wer­ den kann; und
einen vierten Schritt, bei dem, wenn die historischen Daten nicht zugeführt werden, sowohl die historischen Daten als auch die Speicherunmöglichkeitsinfoimationen aus der ersten Speichereinrichtung ausgelesen werden, um in der zweiten Speichereinrichtung gespeichert zu werden.
Das Zielprogramm-Prüfverfahren gemäß dem vierten, fünften und sechsten Aspekt der vorliegenden Erfindung ist weiter­ hin bevorzugt gekennzeichnet durch:
einen vierten Schritt zum Umwandeln der erfaßten histori­ schen Daten in ein Ablaufverfolgungspaket, das in der er­ sten Speichereinrichtung (ab)gespeichert wird.
Das Zielprogramm-Prüfverfahren gemäß dem vierten, fünften und sechsten Aspekt der vorliegenden Erfindung ist weiter­ hin bevorzugt gekennzeichnet durch einen vierten Schritt zum Umwandeln der erfaßten historischen Daten in eine Viel­ zahl von Ablaufverfolgungspaketen, wobei jedes aus der Vielzahl der Ablaufverfolgungspakete aus vielzähligen Bits besteht.
Das Zielprogramm-Prüfverfahren gemäß dem vierten, fünften und sechsten Aspekt der vorliegenden Erfindung ist bevor­ zugt dadurch gekennzeichnet, daß die historischen Daten durch eine Adresse einer Verzweigungsquelle (branch source) und durch eine Adresse eines Verzweigungsziels, wenn eine Unterbrechung (interrupt), eine Ausnahme (exception) bzw. eine Verzweigung (branch) auftritt, durch einen zugegriffe­ nen Datenwert und durch eine Adresse, wo die Daten gespei­ chert sind, bestimmt sind.
Das Zielprogramm-Prüfverfahren gemäß dem vierten, fünften und sechsten Aspekt der vorliegenden Erfindung umfaßt be­ vorzugt:
daß die historischen Daten durch einen Code ersetzt werden, der eine Art der historischen Daten angibt;
daß die Speicherunmöglichkeitsinformationen durch einen Code ersetzt werden, der die Speicherunmöglichkeitsinforma­ tionen angibt.
Darüber hinaus umfaßt ein computerlesbares Aufzeichnungsme­ dium gemäß einem siebten Aspekt der vorliegenden Erfindung ein computerlesbares Aufzeichnungsmedium zum Aufzeichnen eines Zielprogramm-Prüfprogramms darauf, wobei:
das Zielprogramm-Prüfprogramm durch eine Programmprüfvor­ richtung zum Ausführen eines Zielprogramms derart, daß hi­ storische Daten, die beim Ausführen des Zielprogramms er­ zeugt werden, erfaßt werden, und zum Prüfen des Zielpro­ gramms auf der Basis der erfaßten historischen Daten über­ prüft wird, wobei das Zielprogramm ursprünglich durch eine zentrale Verarbeitungseinheit zum Ausbilden eines Systems in der Entwicklung ausgeführt wird, aufweisend:
eine erste Speichereinrichtung und eine zweite Speicherein­ richtung zum Speichern der historischen Daten darin; und
eine Ablaufverfolgungseinrichtung, die in einem Fall be­ treibbar ist, daß das Zielprogramm durch die Programm­ prüfvorrichtung ausgeführt wird, um dadurch die histori­ schen Daten derart zu erfassen, daß, wenn die erste Spei­ chereinrichtung eine Speicherkapazität hat, die die histo­ rischen Daten speichern kann, die Ablaufverfolgungseinrich­ tung die erste Speichereinrichtung dazu veranlaßt, vorüber­ gehend die erfaßten historischen Daten darin zu speichern; daß, wenn die erste Speichereinrichtung nicht die für die Speicherung erforderliche Speicherkapazität hat, die Ab­ laufverfolgungseinrichtung alle historischen Daten, die in der ersten Speichereinrichtung gespeichert sind, liest und dann die zweite Speichereinrichtung dazu veranlaßt, alle gelesenen historischen Daten in ihr zu speichern, und da­ nach die Speicherunmöglichkeitsinformationen in der ersten Speichereinrichtung speichert, wobei die Speicherunmöglich­ keitsinformationen angeben, daß die historischen Daten selbst nicht in der ersten Speichereinrichtung gespeichert werden können; und daß, wenn die erfaßten historischen Da­ ten nicht der Ablaufverfolgungseinrichtung zugeführt wer­ den, die Ablaufverfolgungseinrichtung sowohl die histori­ schen Daten als auch die Speicherunmöglichkeitsinformatio­ nen, die in der ersten Speichereinrichtung gespeichert sind, liest, um dadurch beide Daten in der zweiten Spei­ chereinrichtung zu speichern.
Zudem ist ein computerlesbares Aufzeichnungsmedium gemäß ei­ nem achten Aspekt der vorliegenden Erfindung durch ein com­ puterlesbares Aufzeichnungsmedium zum Aufzeichnen eines Zielprogramm-Prüfprogramms darauf gegeben, worin:
das Zielprogramm-Prüfprogramm durch eine Programmprüfvor­ richtung zum Ausführen eines Zielprogramms derart, daß hi­ storische Daten, die durch Ausführen des Zielprogramms er­ zeugt werden, erfaßt werden, und zum Prüfen des Zielpro­ gramms auf der Basis der erfaßten historischen Daten ge­ prüft wird, wobei das Zielprogramm ursprünglich durch eine zentrale Verarbeitungseinheit ausgeführt wird, die ein Sy­ stem in Entwicklung bildet, aufweisend:
eine erste Speichereinrichtung und eine zweite Speicherein­ richtung zum Speichern der historischen Daten darin; und
eine Ablaufverfolgungseinrichtung, die in einem Fall arbei­ tet, daß das Zielprogramm durch die Programmprüfvorrichtung ausgeführt wird, um dadurch die historischen Daten derart zu erfassen, daß, wenn die erste Speichereinrichtung eine erste Speicherkapazität hat, die die historischen Daten speichern kann, die Ablaufverfolgungseinrichtung die erste Speichereinrichtung dazu veranlaßt, vorübergehend die er­ faßten historischen Daten darin zu speichern; daß, wenn die erste Speichereinrichtung nicht die erste Speicherkapazität hat, sondern eine zweite Speicherkapazität hat, die Spei­ cherunmöglichkeitsinformationen speichern kann, die Ablauf­ verfolgungseinrichtung die erste Speichereinrichtung dazu veranlaßt, vorübergehend in ihr die Speicherunmöglich­ keitsinformationen zu speichern, wobei die Speicherunmög­ lichkeitsinformationen angeben, daß die historischen Daten selbst nicht in der ersten Speichereinrichtung gespeichert werden können; und daß, wenn die erste Speichereinrichtung auch die zweite Speicherkapazität nicht hat, die Ablaufver­ folgungseinrichtung in einen Wartezustand gebracht wird, bis die zweite Speicherkapazität darin sichergestellt wer­ den kann, und danach die erste Speichreinrichtung dazu veranlaßt, die Speicherunmöglichkeitsinformationen darin zu speichern, und sowohl die historischen Daten als auch die Speicherunmöglichkeitsinformationen, die in der ersten Speichereinrichtung gespeichert sind, liest, um dadurch beide Daten in der zweiten Speichereinrichtung zu spei­ chern.
Ein computerlesbares Aufzeichnungsmedium gemäß dem siebten Aspekt der vorliegenden Erfindung ist weiterhin durch ein solches computerlesbares Aufzeichnungsmedium zum Aufzeichen eines Zielprogramm-Prüfprogramms darauf gekennzeichnet, worin:
das Zielprogramm-Prüfprogramm durch eine Programmprüfvor­ richtung zum Ausführen eines Zielprogramms derart, daß hi­ storische Daten, die beim Ausführen des Zielprogramms er­ zeugt werden, erfaßt werden, und zum Prüfen des Zielpro­ gramms auf der Basis der historischen Daten geprüft wird, wobei das Zielprogramm ursprünglich durch eine zentrale Verarbeitungseinheit ausgeführt wird, die ein System unter Entwicklung darstellt, aufweisend:
eine erste Speichereinrichtung und eine zweite Speicherein­ richtung zum Speichern der historischen Daten darin; und
eine Ablaufverfolgungseinrichtung, die in einem Fall be­ treibbar ist, daß das Zielprogramm durch die Programm­ prüfvorrichtung ausgeführt wird, um dadurch die histori­ schen Daten derart zu erfassen, daß, wenn die erste Spei­ chereinrichtung eine erste Speicherkapazität hat, die die historischen Daten speichern kann, die Ablaufverfolgungs­ einrichtung die erste Speichereinrichtung veranlaßt, vor­ übergehend in ihr die erfaßten historischen Daten zu spei­ chern; daß, wenn die erste Speichereinrichtung nicht die erste Speicherkapazität hat, sondern eine zweite Speicher­ kapazität hat, die die Speicherungsunmöglichkeitsinforma­ tionen speichern kann, die Ablaufverfolgungseinrichtung die erste Speichereinrichtung dazu veranlaßt, vorübergehend in ihr die Speicherungsunmöglichkeitsinformationen zu spei­ chern, wobei die Speicherungsunmöglichkeitsinformationen angeben, daß die historischen Daten selbst nicht in der er­ sten Speichereinrichtung gespeichert werden können; und daß, wenn die erste Speichereinrichtung auch nicht die zweite Speicherkapazität hat, die Ablaufverfolgungseinrich­ tung sowohl die historischen Daten als auch die Speiche­ rungsunmöglichkeitsinformationen aus der ersten Spei­ chereinrichtung liest, bis die erste Speichereinrichtung die zweite Speicherkapazität haben kann, und dann die gele­ senen historischen Daten und die Speicherungsunmöglich­ keitsinformationen in die zweite Speichereinrichtung spei­ chert; und danach, wenn die erfaßten historischen Daten nicht der Ablaufverfolgungseinrichtung zugeführt werden, liest die Ablaufverfolgungseinrichtung die historischen Da­ ten und die Speicherungsunmöglichkeitsinformationen, die in der ersten Speichereinrichtung gespeichert sind, um dadurch beide Daten in der zweiten Speichereinrichtung zu spei­ chern.
In Übereinstimmung mit der vorliegenden Erfindung können die historischen Informationen oder die historischen Daten die für die Überprüfung des Zielprogramms erforderlich sind, erfaßt werden, ohne daß der Betrieb der CPU für die Ablaufverfolgungsverarbeitungsoperation gestoppt werden muß.
Zudem kann, obwohl eine minimierte Ablaufverfolgungs- Speicherkapazität des Speichers, der in der CPU eingebaut ist, verwendet wird, die Dauer der Ablaufverfolgungs- Interruptzeit verkürzt werden und der Abschnitt des Ablauf­ verfolgungs-Interruptprogramms kann spezifiziert werden. Folglich kann das Zielprogramm durch die Erfindung auf ein­ fache Art und Weise schnell überprüft werden.
Weitere vorteilhafte Weiterbildungen der Erfindung sind den Unteransprüchen zu entnehmen.
KURZBESCHREIBUNG DER ZEICHNUNGEN
Weitere Vorteile, vorteilhafte Weiterbildungen und Anwen­ dungsmöglichkeiten der vorliegenden Erfindung werden aus der nachfolgenden Beschreibung von bevorzugten Ausführungs­ formen der Erfindung in Verbindung mit den beiliegenden Zeichnungen ersichtlich. Es zeigen:
Fig. 1 ein schematisches Blockdiagramm, das eine elek­ tronische Anordnung einer Programmprüfvorrichtung gemäß einer ersten Ausführungsform der vorliegen­ den Erfindung zeigt;
Fig. 2 ein erläuterndes Format für sieben Arten von Ab­ laufverfolgungspaketen;
Fig. 3 ein Flußdiagramm, das einem Abschnitt des Ziel­ programms entspricht;
Fig. 4 ein Flußdiagramm zum Beschreiben der Operationen der Ablaufverfolgungseinrichtung, die in der Pro­ grammprüfvorrichtung der ersten Ausführungsform verwendet wird;
Fig. 5 erläuternd ein Beispiel für die Speicherzustände für Ablaufverfolgungspakete in einem Ablaufver­ folgungspuffer, der in der Programmprüfvorrich­ tung der ersten Ausführungsform verwendet wird;
Fig. 6 ein schematisches Blockdiagramm zum Wiedergeben einer elektronischen Anordnung einer Programm­ prüfvorrichtung gemäß einer zweiten Ausführungs­ form der vorliegenden Erfindung;
Fig. 7 ein schematisches Blockdiagramm, das eine Anord­ nung einer Speichereinheit für ein Ablaufverfol­ gungspaket zeigt, die in der Programmprüfvorrich­ tung der zweiten Ausführungsform verwendet wird;
Fig. 8 ein Flußdiagramm zum Beschreiben der Operationen der Ablaufverfolgungseinrichtung, die in der Pro­ grammprüfvorrichtung der zweiten Ausführungsform verwendet wird;
Fig. 9 ein schematisches Blockdiagramm zum Wiedergeben einer elektronischen Anordnung einer Programm­ prüfvorrichtung gemäß einer dritten Ausführungs­ form der vorliegenden Erfindung;
Fig. 10 ein Flußdiagramm zum Beschreiben der Operationen der Ablaufverfolgungseinrichtung, die in der Pro­ grammprüfvorrichtung der dritten Ausführungsform verwendet wird; und
Fig. 11 ein schematisches Blockdiagramm zum Wiedergeben der elektronischen Anordnung der herkömmlichen Programmprüfvorrichtung.
DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
Nachfolgend werden unter Bezugnahme auf die Zeichnungen verschiedene bevorzugte Ausführungsformen der vorliegenden Erfindung im Detail beschrieben.
GESAMTANORDNUNG DER ERSTEN PROGRAMMPRÜFVORRICHTUNG
Die Fig. 1 ist ein schematisches Blockdiagramm, das eine Gesamtanordnung einer Programmprüfvorrichtung gemäß einer ersten Ausführungsform der vorliegenden Erfindung zeigt.
Die erste Programmprüfvorrichtung besteht hauptsächlich aus einer Zielspeichereinheit 11, einer CPU 12 und einer exter­ nen Speichervorrichtung 13.
Die Zielspeichereinheit 11 ist ein Speicher, der durch Si­ mulieren einer Hauptspeichervorrichtung eines Zielsystems (d. h. eines Systems in der Entwicklung) aufgebaut ist. Die­ se Zielspeichereinheit 11 weist eine Zielprogramm- Speichereinheit 11a zum Speichern eines Zielprogramms darin (d. h., eines Programms in der Entwicklung), das durch den CPU-Chip 12 ausgeführt werden soll, und eine Datenspei­ chereinheit 11b zum Speichern verschiedener Daten auf, die verwendet werden, während das Zielprogramm ausgeführt wird.
Der CPU-Chip 12 hat hauptsächlich eine Zielregistereinheit 14, eine CPU 15, eine Ablaufverfolgungseinrichtung 16 und einen Ablaufverfolgungspuffer 17. Die Zielregistereinheit 14 wird durch Simulieren eines Registers, das von dem CPU-Chip 12 verwendet wird, simuliert. Diese Zielregisterein­ heit 14 wird durch eine Vielzahl von Registern aufgebaut. Die CPU 15 hat einen Programmzähler (PC) 15a und steuert verschiedene strukturelle Elemente, die in der ersten Pro­ grammprüfvorrichtung verwendet werden und führt das Ziel­ programm auch sequentiell aus. Der PC 15a speichert einen Wert einer Adresse, der durch die CPU 15 während des näch­ sten Ausführungszyklus ausgeführt werden soll. Dieser PC 15a zählt einen Zählwert sequentiell immer dann hoch, wenn einer der Befehle bzw. eines der Kommandos ausgeführt wird und lädt eine Adresse des Sprungzieles.
Die Ablaufverfolgungseinrichtung 16 verfolgt die Ablaufse­ quenz der jeweiligen Instruktionen bzw. Befehle, die das Zielprogramm bilden, einen nach dem anderen und die Ände­ rungszustände in den Speicherinhalten der Zielregisterein­ heit 14, nachdem die jeweiligen Befehle ausgeführt worden sind, so daß historische Informationen, die diesen ablauf­ verfolgten Ergebnissen zugeordnet sind, erfaßt werden kön­ nen. Die Ablaufverfolgungseinrichtung 16 wandelt zudem die erfaßten historischen Informationen in ein Ablaufverfol­ gungspaket "TP" um und speichert dieses Ablaufverfolgungs­ paket TP einmal bzw. sofort in den Ablaufverfolgungspuffer 17 ein. Danach speichert die Ablaufverfolgungseinrichtung 16 dieses Ablaufverfolgungspaket TP in der externen Spei­ chervorrichtung 13 ab. Der Ablaufverfolgungspuffer 17 hat eine Speicherkapazität von 326 Bit. Das Ablaufverfolgungs­ paket TP wird sequentiell in diesem Ablaufverfolgungspuffer 17 in einer zyklischen Art und Weise gespeichert. Die ex­ terne Speichervorrichtung 13 wird durch ein Speichermedium gebildet, das eine große Speicherkapazität hat, z. B. einen Halbleiterspeicher wie z. B. einen RAM, eine Floppy Disk (FD) und eine Festplatte (HD). Das Ablaufverfolgungspaket TP wird in diese externe Speichervorrichtung 13 gespei­ chert.
INHALT DES ABLAUFVERFOLGUNGSPAKETS TP
Als nächstes werden die Inhalte des vorstehend beschriebe­ nen Ablaufverfolgungspakets TP beschrieben. In der ersten Ausführungsform der Erfindung, wie in der Fig. 2 angegeben ist, werden die historischen Informationen von der Ablauf­ verfolgungseinrichtung 16 in sieben Arten von Ablaufverfol­ gungspaketen TPs umgewandelt, die entweder durch 8 Bit oder durch 40 Bit gebildet werden. Die Fig. 2(1) gibt ein Format eines solchen Ablaufverfolgungspakets TP wieder, das einen Beginn (Ablaufverfolgungscode TRCODE[0101]b) einer Ablauf­ verfolgung, eine Ausführung (Ablaufverfolgungscode TRCODE[0010]b) eines Befehls (Kommandos) bzw. einen Überlauf (Ablaufverfolgungscode TRCODE[0011]b) des Ablaufverfol­ gungspuffers 17 angibt. Es wird darauf hingewiesen, daß die Zahl "0101" des Ablaufverfolgungscodes TRCODE[0101]b durch eine binäre Zahl ausgedrückt wird, wobei das Symbol "[]b" nämlich Zahlen angibt, die durch eine binäre Zahl gege­ ben sind. Der Befehl des Ablaufverfolgungscodes TRCODE[0010]b wird durch den Benutzer gesetzt und an einer Adresse der Zielprogramm-Speichereinheit 11a gespeichert. Eine Bitlänge des Ablaufverfolgungspakts TP, das dieses Format hat, beträgt 8 Bit. Es wird darauf hingewiesen, daß das Ablaufverfolgungspakts TP des Ablaufverfolgungscodes TRCODE[0011]b unter diesen Ablaufverfolgungspakten TPs nachfolgend als "Überlaufpaket OFP" bezeichnet wird.
Die Fig. 2(2) zeigt ein Format eines weiteren Ablaufverfol­ gungspakts TP, das eine Unterbrechung bzw. einen Interrupt (maskierbarer Interrupt) angibt (Ablaufverfolgungscode TRCODE[1100]b) bzw. eine Adresse (Verwalteradresse) HD-ADDR eines Verwalterbereichs (handler region) angibt. Durch die­ sen maskierbaren Interrupt kann ein extern zugeführtes Un­ terbrechungssignal ungültig gemacht werden. In diesem Ver­ walterbereich werden Verarbeitungsroutinen der Verzwei­ gungsziele in einem Fall, daß die Verzweigungen in einer Routine aufgrund einer solchen Unterbrechung aufgetreten sind, daß ein extern zugeführtes Unterbrechungssignal nicht ungültig gemacht werden kann (nicht-maskierbarer Inter­ rupt), und auch das Auftreten einer Ausführung (Ablaufver­ folgungscode TRCODE[1101]b) gesammelt. Eine Bitlänge des Ablaufverfolgungspakets TP, das dieses Format hat, beträgt 8 Bit.
Die Fig. 2(3) zeigt ein Format eines weiteren Ablaufverfol­ gungspakets TP, das die Tatsache angibt, daß, um Daten zu lesen, die CPU 15 die Zielregistereinheit 14 verwendet und jedes bzw. eines von 2 Registern auswählt, die verwendet werden, Daten, zu lesen bzw. zu schreiben, und dann mit Be­ zug auf eine Adresse der Datenspeichereinheit 11b zugreift, die in dem ausgewählten Register gesetzt ist. Eine Bitlänge des Ablaufverfolgungspakts TP, das dieses Format hat, be­ trägt 8 Bit und der Ablaufverfolgungscode TRCODE ist [0001]b. Das Symbol TRGR bezeichnet ein Signal, das angibt, daß die CPU 15 irgendeines bzw. jedes der zuvor erläuterten zwei Register auswählt. Zudem gibt das Symbol BE[2 : 0] ein Bytefreigabesignal an, das ein gültiges Byte innerhalb ei­ nes Datenbusses (nicht gezeigt) angibt, der zwischen der CPU 15 und der Zielspeichereinheit 11 vorgesehen ist.
Die Fig. 2(4) gibt ein Format für ein weiteres Ablaufver­ folgungspaket TP an, das eine Adresse BB-ADDR (nämlich den Zählwert des PC 15a) von verzweigten Quellen, wenn eine Verzweigung in der Routine auftritt, in Antwort auf jede Art von Verzweigungsbefehl angibt.
Eine Bitlänge des Ablaufverfolgungspakets TP, das dieses Format hat, beträgt 40 Bit und ein Ablaufverfolgungscode der TRCODE ist [0110]b. Als Verzweigungsbefehl (Kommando) sind die folgenden Befehle bzw. Instruktionen anzusehen:
das normale Sprungkommando (Instruktion), ein Sprungverbin­ dungskommando, durch das eine Adresse einer Verzweigungs­ quelle in einem spezifischen Register zum Aufbauen der Zielregistereinheit 14 gesichert wird, wonach ein Sprung ausgeführt wird; ein relatives Instruktionskommando; durch das eine Adresse eines Verzweigungsziels durch eine Relativ­ adresse ausgedrückt wird, die aus einer gegenwärtigen Adresse definiert wird; ein Wiederherstellungskommando, das von verschiedenen Arten von Unterbrechungs-Ausnahmever­ arbeitungsroutinen wiederherstellt, und ein Register indi­ rektes Verzweigungskommando, durch das, nachdem eine Adres­ se des Verzweigungsziels mit Bezug auf ein bestimmtes Regi­ ster zum Bilden der Zielregistereinheit 14 bestimmt worden ist, diese Adresse springt, zusätzlich zu dem zuvor erläu­ terten maskierbaren Interrupt, dem nicht-maskierbaren In­ terrupt und der Ausnahme.
Die Fig. 2(5) gibt ein Format für ein weiteres Ablaufver­ folgungspakets TP wieder, das eine Adresse AB-ADDR (nämlich den Zählwert des PC 15a) eines Verzweigungsziels angibt, zu dem verzweigt werden soll, wenn die Verzweigungen in Ant­ wort auf das zuvor beschriebene Wiederherstellungskommando (Ablaufverfolgungscode TRCODE ist [1010]b) und das Register indirekte Verzweigungskommando (Ablaufverfolgungscode TRCODE ist [1011]b) auftritt. Eine Bitlänge des Ablaufver­ folgungspakets TP, das dieses Format hat, beträgt 40 Bit.
Die Fig. 2(6) zeigt ein Format eines weiteren Ablaufverfol­ gungspakets TP, das eine Ausführungsadresse EX-ADDR (näm­ lich den Zählwert des PC 15a) angibt, wenn eine Ablaufver­ folgung mit Nachdruck begonnen wird. Eine Bitlänge des Ab­ laufverfolgungspakets TP, das dieses Format hat, beträgt 40 Bit und ein Ablaufverfolgungscode TRCODE ist [1000]b.
Die Fig. 2(7) zeigt ein Format eines weiteren Ablaufverfol­ gungspakets TP, das die Tatsache angibt, daß, um Daten WR-DATA zu schreiben, die CPU 15 die Zielregistereinheit 14 bildet und irgendeines bzw. jedes der 2 Register, das zum Lesen bzw. Schreiben von Daten verwendet wird, auswählt und dann mit Bezug auf eine Adresse der Datenspeichereinheit 11b zugreift, die in dem ausgewählten Register gesetzt ist. Eine Bitlänge des Ablaufverfolgungspakets TP, das dieses Format hat, beträgt 40 Bit und der Ablaufverfolgungscode TRCODE beträgt [1001]b. Das Symbol BE [2:0] gibt zudem ähn­ lich ein Bytefreigabesignal an, das ein gültiges Byte in­ nerhalb eines Datenbusses (nicht gezeigt) angibt, der zwi­ schen der CPU 15 und der Zielspeichereinheit 11 vorgesehen ist.
PRÜFBETRIEB DER ERSTEN PROGRAMMPRÜFVORRICHTUNG
Nachfolgend wird der Prüfbetrieb der ersten Programm­ prüfvorrichtung unter Verwendung der zuvor beschriebenen Anordnung mit Bezug auf die Fig. 3 bis 5 erläutert. In die­ ser ersten Ausführungsform der Erfindung entspricht das Zielprogramm, das durch die erste Programmprüfvorrichtung geprüft werden soll, z. B. einem Flußdiagramm, das in der Fig. 3 gezeigt ist. In der Fig. 3 geben Zahlen mit vier Stellen bzw. Bit, die in der hexadezimalen Notation angege­ ben sind und neben den oberen rechten Abschnitten der je­ weiligen Verarbeitungsschritte angeschrieben sind, Zählwer­ te des PC 15a zu Zeitpunkten wider, wenn die CPU 15 die je­ weiligen Verarbeitungsoperationen ausführt.
Nachdem die CPU 15 den Zählwert des PC 15a auf [0000]h zu­ rückgesetzt hat, beginnt die CPU 15 die Ausführung dieses Zielprogramms. Das Symbol "[]h" gibt an, daß der numeri­ sche Wert, der in dieser Leerstelle gezeigt ist, durch eine hexadezimale Notation ausgedrückt wird. Zuerst, wenn der PC 15a diesen Zählwert von [0000]h bis [0001]h hochzählt, schreitet der Prüfbetrieb zu einem Schritt SA1 der Fig. 3 fort. Bei diesem Schritt SA1 führt die CPU 15 einen Initia­ lisierungsbetrieb wie folgt aus. Die CPU 15 liest einen Initialisierungsbefehl aus, der an einer Adresse der Spei­ chereinheit 11a für das Zielprogramm gespeichert ist, und sie interpretiert dieses Initialisierungskommando. Diese Adresse entspricht dem Zählwert [0001]h. Dann setzt die CPU 15 eine Vielzahl von Registern zurück, die die Zielregi­ stereinheit 14 bilden, und setzt auch verschiedene Arten von Kennzeichen bzw. Flags zurück.
Als nächstes, wenn der PC 15a seinen Zählwert von [0001]h auf [0002]h hochzählt, schreitet der Verarbeitungsbetrieb zu einem Schritt SA2 fort. Beim Schritt SA2 liest die CPU 15 einen Dateneingabebefehl, der an einer Adresse der Ziel­ programm-Speichereinheit 11a gespeichert ist, die diesem hochgezählten Wert von [0002]h entspricht. Dann interpre­ tiert die CPU 15 diesen Dateneingabebefehl, so daß Daten, die in einem bestimmten Speicherbereich der Datenspei­ chereinheit 11b als ein Dateneintrag von einer Dateneinga­ beeinrichtung (nicht gezeigt) gespeichert sind, in ein vor­ gegebenes Register, das die Zielregistereinheit 14 bildet, geladen werden. In diesem Fall wird nun angenommen, daß die Daten, die einen Wert von [OAC3]h haben, eingegeben werden. Nachfolgend, wenn der PC 15a seinen Zählwert von [0002]h auf [0003]h hochzählt, schreitet die Prozeßverarbeitung zu einem Schritt SA3 fort. In diesem Schritt SA3 liest die CPU 15 einen bedingten Sprungbefehl, der an einer Adresse der Zielprogramm-Speichereinheit 11a gespeichert ist, die die­ sem hochgezählten Wert [0003]h entspricht. Die CPU 15 beur­ teilt dann, ob eine Variable "n" größer oder gleich 3 ist oder nicht. In diesem Fall, wird dieser bedingte Verzwei­ gungsbefehl als der unten erwähnte Befehl betrachtet. Das heißt, daß, wenn die Variable "n" größer oder gleich 3 ist, der Verarbeitungsbetrieb zu einem Verarbeitungsbefehl für eine Anzeigefortsetzung springt, der bei einer Adresse der Zielprogramm-Speichereinheit 11a gespeichert ist, die einem Zählwert [01B8]h des PC 15a entspricht, wohingegen, wenn die Variable "n" kleiner als 3 ist, der Verarbeitungsbe­ trieb zu einem Anzeigelöschbefehl bei einer Adresse der Zielprogramm-Speichereinheit 11a springt, die einem Zähl­ wert [05F9]h des PC 15a entspricht.
Wenn das Beurteilungsergebnis des Schritts SA3 "JA" ist, nämlich, wenn die Variable "n" größer oder gleich 3 ist, ändert die CPU 15 den Zählwert des PC 15a von [0003]h auf [01B8]h und danach schreitet der Verarbeitungsbetrieb zu einem weiteren Schritt SA4 fort. Beim Schritt SA4 liest die CPU 15 einen Anzeigeverarbeitungsbefehl, der bei einer Adresse der Zielprogramm-Speichereinheit 11a gespeichert ist, die dem Zählwert [01B8]h des PC 15a entspricht, um diesen Anzeigeverarbeitungsbefehl zu interpretieren. Dann führt die CPU 15 die Anzeigefortsetzungsverarbeitung derart durch, daß ein Inhalt, der auf einer Anzeige (nicht ge­ zeigt) angezeigt wird, direkt fortgesetzt wird.
Andererseits, wenn das Beurteilungsergebnis des Schritts SA3 "NEIN" ist, nämlich, wenn die Variable "n" kleiner als 3 ist, ändert die CPU 15 den Zählwert des PC 15a von [0003]h auf [05F9]h ab und danach schreitet der Verarbei­ tungsbetrieb zu dem weiteren Schritt SA5 fort. Beim Schritt SA5 liest die CPU15 einen Anzeigelöschbefehl, der bei ei­ ner Adresse der Zielprogramm-Speichereinheit 11a gespei­ chert ist, die dem Zählwert [05F9]h des PC 15a entspricht, um diesen Anzeigelöschbefehl zu interpretieren. Dann führt die CPU 15 die Anzeigelöschverarbeitung derart durch, daß der Inhalt, der auf der Anzeigeeinheit gezeigt wird, ge­ löscht wird oder zurückgesetzt wird.
Als nächstes, wenn der PC 15a seinen Zählwert von [05F9]h auf [05FA]h hochgezählt, schreitet der Verarbeitungsbetrieb zu einem Schritt SA6 fort. Bei diesem Schritt SA6 liest die CPU 15 einen neuen Anzeigebefehl, der bei einer Adresse der Zielprogramm-Speichereinheit 11a gespeichert ist, die dem Zählwert [05FA]h entspricht, um diesen neuen Anzeigebefehl zu interpretieren. Die CPU 15 führt dann einen neuen Anzei­ geverarbeitungsbetrieb derart durch, daß z. B. Daten, die eingegeben werden, um in einem vorausgewählten Register ge­ speichert zu werden, das die Zielregistereinheit 14 bildet, neu auf der Anzeigeeinheit (nicht gezeigt) angezeigt wer­ den.
Danach führt die CPU 15 sequentiell das Zielprogramm auf eine ähnliche Art und Weise, wie zuvor erläutert wurde, aus. Zum Zwecke der einfachen Erläuterung führt die CPU 15, obwohl keine detaillierte Operation spezifisch beschrieben wird, die historischen Informationen der Ablaufverfolgungs­ einrichtung 16 jedesmal dann zu, wenn eines der zuvor er­ läuterten Kommandos bzw. Befehle ausgeführt wird. Diese hi­ storischen Informationen stellen den Zählwert des PC 15a dar und die Art des Befehls, der durch die CPU 15 ausge­ führt wird.
ABLAUFVERFOLGUNGSVERARBEITUNG/ABLAUFVERFOLGUNGSPAKET- LESEOPERATIONEN IN DER ERSTEN PROGRAMMPRÜFVORRICHTUNG
In Verbindung mit der zuvor erläuterten Ausführung des Zielprogramms durch die CPU 15 führt die Ablaufverfolgungs­ einrichtung 16 die nachfolgend erwähnte Ablaufverfolgungs­ verarbeitungsoperation bzw. Ablaufverfolgungspaket- Leseoperation durch. Eine erste Beschreibung der Ablaufver­ folgungspaket-Leseoperation wird nachfolgend gegeben.
Es wird darauf hingewiesen, daß diese Ablaufverfolgungspa­ ket-Leseverarbeitungsoperation im Prinzip unabhängig von der nachfolgend erläuterten Ablaufverfolgungsverarbeitungs­ operation ausgeführt wird.
Zuerst überprüft die Ablaufverfolgungseinrichtung 16, ob das Ablaufverfolgungspaket TP in dem Ablaufverfolgungspuf­ fer 17 gespeichert ist oder nicht. Wenn dieses Ablaufver­ folgungspaket TP nicht in dem Ablaufverfolgungspuffer 17 gespeichert ist, wird die Ablaufverfolgungseinrichtung 16 in einen Wartezustand gebracht, bis das Ablaufverfolgungs­ paket TP darin gespeichert ist. Andererseits, wenn das Ab­ laufverfolgungspaket TP in diesem Ablaufverfolgungspuffer 17 abgespeichert ist, unterteilt die Ablaufverfolgungsein­ richtung 16 das Ablaufverfolgungspaket TP, das in dem Ab­ laufverfolgungspuffer 17 gespeichert ist, in 4-Bit-Blöcke und gibt diese 4-Bit-Blöcke aus. Dann veranlaßt die Ablauf­ verfolgungseinrichtung 16, daß diese 4-Bit-Blöcke in einen vorgegebenen Speicherbereich der externen Speichervorrich­ tung 13 gespeichert werden. Der Verarbeitungsbetrieb wird dann zu einem anderen Verarbeitungsbetrieb zurückgegeben, der wiederum beurteilt, ob das Ablaufverfolgungspaket TP in den Ablaufverfolgungspuffer 17 gespeichert ist oder nicht.
Dieser Verarbeitungsbetrieb wird wiederholt ausgeführt.
Nachfolgend wird der Ablaufverfolgungsverarbeitungsbetrieb beschrieben. Zuerst, wie in der Fig. 5(1) wiedergegeben ist, führt die Ablaufverfolgungseinrichtung 16 einen In­ itialisierungsbetrieb durch, z. B. löscht sie den Speicher­ inhalt des Ablaufverfolgungspuffers 17 und setzt auch ei­ nen Zeiger an eine Kopfadresse "0" des Ablaufverfolgungs­ puffers 17 (nämlich eine Position "PP0", die in der Fig. 1 gezeigt ist). Danach schreitet dieser Ablaufverfolgungsver­ arbeitungsbetrieb zu einem Schritt SB1 fort, der in der Fig. 4 gezeigt ist, bei dem die Ablaufverfolgungseinrich­ tung 16 überprüft, ob der Zählwert des PC 15a und die hi­ storischen Informationen von der CPU 15 aus zugeführt wer­ den. Wenn dieses Beurteilungsergebnis "NEIN" ist, wird die zuvor erläuterte Beurteilung wiederholt ausgeführt. Ande­ rerseits, wenn das Beurteilungsergebnis des Schritts SB1 "JA" ist, nämlich, wenn der Zählwert des PC 15a und histo­ rischen Informationen von der CPU 15 aus zugeführt werden, schreitet der Ablaufverfolgungsverarbeitungsbetrieb zu ei­ nem Schritt SB2 fort. Bei diesem Schritt SB2 erzeugt die Ablaufverfolgungseinrichtung 16 irgendeine von sieben Arten von Ablaufverfolgungspaketen TPs, die aus entweder 8 Bits oder 40 Bits bestehen. Nachfolgend schreitet der Ablaufver­ folgungsverarbeitungsbetrieb zu einem Schritt SB3 fort. In diesem Fall erkennt die Ablaufverfolgungseinrichtung 16, da der Zählwert [0000]h des PC 15a zugeführt wird, daß der Ab­ laufverfolgungsbetrieb beginnt, und erzeugt das Ablaufver­ folgungspaket TP mit dem Ablaufverfolgungscode TRCODE [0101]b, der den "Beginn der Ablaufverfolgung" (vgl. Fig. 2(1)) angibt, nämlich das Ablaufverfolgungspaket TP [05]h.
Beim Schritt SB3 wird eine Ablaufverfolgungslänge "LTP" des erzeugten Ablaufverfolgungspakets TP berechnet. Der Ablauf­ verfolgungsbetrieb schreitet dann zu einem Schritt SB4 fort. In diesem Fall beträgt, da das Ablaufverfolgungspaket TP [05]h erzeugt wird, die Ablaufverfolgungspaketlänge LTP 8 Bit. Beim Schritt SB4 beurteilt die Ablaufverfolgungsein­ richtung 16, ob das Ablaufverfolgungspaket TP, das beim Verarbeitungsbetrieb beim Schritt SB2 erzeugt wurde, in den Ablaufverfolgungspuffer 17 auf der Basis der nachfolgenden Formel (1) eingeschrieben werden kann:
(MAD-PP) ≧ LTP (1).
In der zuvor beschriebenen Formel (1) ist das Symbol "MAD" ein Maximalwert einer Adresse des Ablaufverfolgungspuffers 17 und das Symbol "PP" gibt eine vorliegende bzw. momentane Position (Adreßwert) eines Zeigers (pointer) an. Wenn das Beurteilungsergebnis des Schrittes SB4 "JA" ist, schreitet der Ablaufverfolgungsverarbeitungsbetrieb zu einem Schritt SB5 fort. In diesem Zustand ist, da keine Daten in dem Ab­ laufverfolgungspuffer 17 gespeichert sind, der Zeiger an einer Kopfadresse (bei PP0 in der Fig. 5(1)) angeordnet und die zuvor beschriebene Formel (1) kann erfüllt werden, so daß der Ablaufverfolgungsverarbeitungsbetrieb zu einem Schritt SB5 fortschreiten kann. Bei diesem Schritt SB5 wird das Ablaufverfolgungspaket TP in den Speicherbereich einge­ schrieben, der durch den Zeiger des Ablaufverfolgungspuf­ fers 17 angegeben wird, und danach schreitet der Ablaufver­ folgungsverarbeitungsbetrieb zu einem Schritt SB6 fort. In dieser Stufe, wie in der Fig. 5(2) angegeben ist, wird das Ablaufverfolgungspaket TP [05]h, das den Ablaufverfolgungs­ verarbeitungsbeginn wiedergibt, ab der Kopfadresse des Ab­ laufverfolgungspuffers 17 geschrieben. Bei diesem Schritt SB6 wird die Position des Zeigers aktualisiert, und der Ab­ laufverfolgungsverarbeitungsbetrieb kehrt zu dem vorherge­ henden Schritt SB1 zurück. In dieser Stufe wird der Zeiger von der Position PP0 der Fig. 5(1) in eine andere Position PP1 der Fig. 5(2) bewegt.
Wie zuvor erläutert wurde, wird, während der Zählwert des PC 15a und die historischen Informationen nicht von der CPU 15 zugeführt werden, da das Beurteilungsergebnis, das beim Schritt SB1 erhalten wird, "NEIN" bleibt, das Ablaufverfol­ gungspaket TP, das in dem Ablaufverfolgungspuffer 17 ge­ speichert, ist, in die 4-Bit-Blöcke unterteilt und dann wer­ den diese 4-Bit-Ablaufverfolgungspaket-Blöcke ausgegeben und weiterhin werden die Verarbeitungsoperationen, die in einem vorher ausgewählten Speicherbereich der externen Speichervorrichtung 13 gespeichert sind, wiederholt (vgl. Fig. 5(3)). Dann, wenn der Zählwert des PC 15a und die hi­ storischen Informationen von der CPU 15 aus zugeführt wer­ den, wird das Beurteilungsergebnis zu "JA", das beim Schritt SB1 erhalten wird. Der Ablaufverfolgungsverarbei­ tungsbetrieb schreitet dann zum Schritt SB2 weiter und dann werden die Verarbeitungsoperationen bzw. Schritte, die bei den Schritten SB2 bis SB6 definiert sind, wiederholt ausge­ führt. Zum Beispiel werden bei dem Verarbeitungsbetrieb, der bei dem Schritt SA2 der Fig. 3 festgelegt ist, die fol­ genden Eingangsverarbeitungsoperationen derart durchge­ führt, daß der Zählwert [0002]h des PC 15a eingegeben wird und daß die Daten, die den Wert [0AC3]h haben, eingegeben werden. Im Ergebnis erzeugt die Ablaufverfolgungseinrich­ tung 16 das Ablaufverfolgungspaket TP[00000AC3X9]h (das Symbol "X" ist ein beliebiger Wert), das das Format hat, das in der Fig. 2(7) beim Schritt SB2 gezeigt ist, und be­ rechnet die Ablaufverfolgungspaketlänge (in diesem Fall 40 Bit) beim Schritt SB3. Als nächstes wird das Beurteilungs­ ergebnis beim Schritt SB4 in Übereinstimmung mit der Formel (1) erhalten, da das Ablaufverfolgungspaket TP noch ge­ schrieben werden kann. Dann schreitet der Ablaufverfol­ gungsverarbeitungsbetrieb zu dem Schritt SB5 fort. Bei die­ sem Schritt SB5 wird, nachdem dieses Ablaufverfolgungspaket [00000AC3X9]h in den Sp 75494 00070 552 001000280000000200012000285917538300040 0002019919388 00004 75375eicherbereich (nämlich die Position PP1 der Fig. 5(2)) eingeschrieben worden ist, der durch den Zeiger des Ablaufverfolgungspuffers 17 angegeben wird, die Position dieses Zeigers von PP1, das in der Fig. 5(2) ge­ zeigt ist, auf PP2 aktualisiert, das in der Fig. 5(3) beim Schritt SB6 gezeigt ist.
Wenn die zuvor erläuterten Verarbeitungsoperationen wieder­ holt durchgeführt werden, wird das Ablaufverfolgungspaket TP in den Ablaufverfolgungspuffer 17 eingeschrieben und die Ablaufverfolgungspakete TP, die in 4-Bit-Blöcke unterteilt worden sind, werden sequentiell derart gelesen, daß sie se­ quentiell in die externe Speichervorrichtung 13 gespeichert werden.
Die zuvor beschriebene Formel (1) kann jedoch aus dem fol­ genden Grund nicht erfüllt werden. Die Speicherkapazität des Ablaufverfolgungspuffers 17 beträgt nämlich 320 Bit und die gesamte Bitzahl des Ablaufverfolgungspakets TP, das während eines Verarbeitungsbetriebs geschrieben wird, ist gleich 8 Bit oder 40 Bit, wohingegen die gesamte Bitzahl der Ablaufverfolgungsdaten, die während einer Verarbei­ tungsoperation gelesen werden, gleich 4 Bit ist. Als Folge befindet sich der Zeiger, nachdem das Ablaufverfolgungspa­ ket TP [05]h, das den Beginn der Ablaufverfolgung angibt, und eine Länge von 8 Bit hat, in den Ablaufverfolgungspuf­ fer 17 eingeschrieben worden ist, wenn dieses Ablaufverfol­ gungspaket TP, das eine Bitlänge von 40 Bit hat, kontinu­ ierlich achtmal erzeugt wird, und wenn das achte Ablaufver­ folgungspaket TP, das die Bitlänge 40 Bit hat, in diesen Ablaufverfolgungspuffer 17 eingeschrieben wird, an der Po­ sition PP8, die in der Fig. 5(4) angegeben ist (nämlich die 32 Bit Position, die von der Adresse MAD festgelegt ist). Als Folge wird das Beurteilungsergebnis, das beim Schritt SB4 erhalten wird, zu "NEIN" und der Ablaufverfolgungsverar­ beitungsbetrieb schreitet zu einem Schritt SB7 fort.
Bei diesem Schritt SB7 wird eine Überprüfung dahingehend durchgeführt, ob ein Überlaufpaket OFP in den Ablaufverfol­ gungspuffer 15 auf der Basis der zuvor beschriebenen For­ mel (1) eingeschrieben werden kann. Wenn dieses Beurtei­ lungsergebnis "JA" wird, schreitet der Ablaufverfolgungs­ verarbeitungsbetrieb zu einem Schritt SB8 fort. Anderer­ seits, wenn das Beurteilungsergebnis, das bei dem Schritt SB7 erhalten wird, "NEIN" wird, wird diese Überprüfung des Schrittes SB7 wiederholt durchgeführt. Dann wird in dem Fall, daß das Beurteilungsergebnis, da die Leseverarbei­ tungsoperation des Ablaufverfolgungspakets unabhängig von dieser Ablaufverfolgungsverarbeitungsoperation ausgeführt wird, die Formel (1) erfüllen kann, das Beurteilungsergeb­ nis "JA", das beim Schritt SB7 erhalten wird. Beim Schritt SB8 wird ein 8-Bit (Bitlänge) Überlaufpaket OFP [03]h, das das Format hat, das in der Fig. 2(1) gezeigt ist, erzeugt und dann wird dieses erzeugte Überlaufpaket in das Spei­ chergebiet des Ablaufverfolgungspuffers 17 eingeschrieben, wie durch den zuvor beschriebenen Zeiger (nämlich die Posi­ tion PP8, die in der Fig. 5(4)) angegeben ist. Danach schreitet die Ablaufverfolgungsverarbeitungsoperation zu einem Schritt SB9 fort. Bei diesem Schritt SB9 wird die Po­ sition des Zeigers aktualisiert. Dann schreitet der Ablauf­ verfolgungsverarbeitungsbetrieb zu einem weiteren Schritt SB10 fort. In diesem Fall wird der Zeiger zu einer Position PP9, die in der Fig. 5(5) gezeigt ist, transportiert.
Beim Schritt SB10 wird das Ablaufverfolgungspaket TP, das in dem Ablaufverfolgungspuffer 17 gespeichert ist, in 4-Bit-Blöcke unterteilt und diese 4-Bit-Ablaufverfolgungspuf­ fer-Blöcke werden ausgegeben, damit sie in einem vorher ausgewählten Speicherbereich der externen Speichervorrich­ tung 13 gespeichert werden können. Der Ablaufverfolgungs­ verarbeitungsbetrieb schreitet dann zu einem Schritt SB11 fort. Bei diesem Schritt SB11 wird eine Überprüfung dahin­ gehend ausgeführt, ob alle Ablaufverfolgungspakete TPs, die in dem Ablaufverfolgungspuffer 17 gespeichert sind, aus diesem ausgelesen wurden, und somit wird der Speicherinhalt dieses Ablaufverfolgungspuffers 17 vollständig geleert.
Wenn diese Beurteilung ein "NEIN" ergibt, kehrt der Ablauf­ verfolgungsverarbeitungsbetrieb zu dem vorherigen Schritt SB10 zurück. In diesem Fall ergibt sich, da nur ein Satz der 4-Bit-Daten aus dem Ablaufverfolgungspuffer 17 ausgele­ sen wird, "NEIN" als Beurteilungsergebnis, das beim Schritt SB10 erhalten wird. Der Ablaufverfolgungsverarbeitungsbe­ trieb kehrt dann zum Schritt SB9 zurück. Die Verarbeitungs­ operationen, die bei dem Schritt SB10 und dem Schritt SB11 festgelegt sind, werden somit wiederholt durchgeführt. Wenn der Speicherinhalt des Ablaufverfolgungspuffers 17 komplett leer ist, wird das Beurteilungsergebnis, das beim Schritt SB11 erhalten wird, "JA" und der Ablaufverfolgungsverarbei­ tungsbetrieb schreitet zu einem weiteren Schritt SB12 fort. Bei diesem Schritt SB12 wird die Position des Zeigers ak­ tualisiert und danach kehrt der Ablaufverfolgungsverarbei­ tungsbetrieb zu dem Schritt SB1 zurück. In diesem Fall wird der Zeiger in die Position PP0, die in der Fig. 5(1) ge­ zeigt, ist, bewegt. Als Konsequenz kann die Ablaufverfol­ gungseinrichtung 16 den Ablaufverfolgungsverarbeitungsbe­ trieb erneut starten.
Wie zuvor in Übereinstimmung mit der ersten Ausführungsform der Programmprüfvorrichtung der Erfindung unter Verwendung der zuvor erläuterten Anordnung beschrieben wurde, wird das Ablaufverfolgungspaket TP in den Ablaufverfolgungspuffer 17 eingeschrieben und die unterteilten 4-Bit-Ablaufverfol­ gungspakete (Ablaufverfolgungspaket-Blöcke) TPs werden se­ quentiell aus diesem in Übereinstimmung mit dem Ablaufver­ folgungsverarbeitungsbetrieb ausgelesen. Die gelesenen, un­ terteilten 4-Bit-Ablaufverfolgungspakete werden in der ex­ ternen Speichervorrichtung 13 gespeichert. Folglich kann die Zeitdauer, während der der Speicherinhalt dieses Ab­ laufverfolgungspuffers 17 in den Überlaufzustand gebracht wird, verlängert werden. Auch wenn der Ablaufverfolgungs­ puffer 17 in den Überlaufzustand gebracht wird, wird der Betrieb der CPU 15 im Gegensatz zur Programmprüfvorrichtung des Stands der Technik nicht gestoppt bzw. angehalten, son­ dern es können die zugegriffenen historischen Daten bei echten bzw. realen Benutzungsbedingungen und die Register im Ablauf verfolgt werden. Zudem wird in einem Fall, daß der Ablaufverfolgungspuffer 17 in den Überlaufzustand ge­ bracht wird und deshalb das Ablaufverfolgungspaket TP nicht kontinuierlich gesichert werden kann, das Überlaufpaket OFP, das diesen Fall angibt, erzeugt und es wird dann in den Ablaufverfolgungspuffer 17 eingeschrieben. Als Folge können die Ausführungsbedingungen bzw. -zustände des Ziel­ programms korrekt aus dem Ablaufverfolgungspaket TP, das in der externen Speichervorrichtung 13 gespeichert ist, geholt bzw. wiedergewonnen werden. Weiterhin ist es möglich, zu beurteilen, wo der Ablaufverfolgungsbetrieb unterbrochen worden ist.
Im Ergebnis ist es, wenn es ein Fehlerproblem in einem Zielprogramm gibt, auch möglich, genau gesagt, die konkrete bzw. tatsächliche Position, wo der Programmfehler auftritt, zu bestimmen bzw. zu bestätigen,. Der Prüfbetrieb des Ziel­ programms kann deshalb einfacher und schneller ausgeführt werden.
Auch, wenn der Ablaufverfolgungspuffer 17 in den Überlauf­ zustand gebracht wird, kann die Erzeugungsfrequenz des Überlaufpakets OFP minimiert werden, da die nächsten histo­ rischen Informationen erfaßt werden, nachdem alle Ablauf­ verfolgungspakete TP, die in dem Ablaufverfolgungspuffer 17 gespeichert sind, in die externe Speichervorrichtung 13 ge­ speichert worden sind.
GESAMTANORDNUNG DER ZWEITEN PROGRAMMPRÜFVORRICHTUNG
Unter Bezugnahme auf die Fig. 6 wird eine Programmprüfvor­ richtung gemäß einer zweiten Ausführungsform der vorliegen­ den Erfindung nachfolgend beschrieben. Es wird darauf hin­ gewiesen, daß gleiche Bezugszeichen, die in der Fig. 1 ge­ zeigt sind, auch für die gleichen oder ähnliche strukturel­ le Elemente, die in der Fig. 6 angegeben sind, verwendet werden. Diese zweite Programmprüfvorrichtung, die in der Fig. 6 gezeigt ist, weist in neuer Verwendung einen CPU-Chip 21 anstelle des zuvor erläuterten CPU-Chips 12 der Programmprüfvorrichtung der ersten Ausführungsform der Er­ findung auf.
Der CPU-Chip 21 umfaßt im wesentlichen eine Zielregister­ einheit 14, eine CPU 15, eine Ablaufverfolgungseinrichtung 22 und eine Ablaufverfolgungspaket-Speichereinheit 23.
Die Ablaufverfolgungseinrichtung 22 weist im wesentlichen eine Detektionseinheit 24 für historische Informationen, eine Ablaufverfolgungspaket-Erzeugungseinheit 25, eine Ver­ gleichseinheit 26, eine Überlaufsteuereinheit 27, eine Zei­ gersteuereinheit 28 und eine Ablaufverfolgungsdaten- Ausgangseinheit 29 auf.
Die Detektionseinheit 24 für die historischen Informationen detektiert einen Zählwert des PC 15a und historische Infor­ mationen, die von der CPU 15 aus zugeführt werden, in Ant­ wort auf einen Detektionsbefehl-Signal DEC, das von der Überlaufsteuereinheit 27 zugeführt wird, und führt dann diese detektierten Daten der Ablaufverfolgungspaket- Erzeugungseinheit 25 zu. Auf der Basis des Zählwertes des PC 15a und der historischen Informationen, die von der De­ tektionseinheit 24 für historische Informationen zugeführt worden sind, erzeugt die Ablaufverfolgungspaket-Erzeu­ gungseinheit 25 irgendeine von sieben Arten von parallelen Ablaufverfolgungspaketen TP, die entweder aus 8 Bit oder aus 40 Bit gebildet sind, wie zuvor unter Bezugnahme auf die erste Ausführungsform erläutert wurde. Die Ablaufver­ folgungspaket-Erzeugungseinheit 25 schreibt das Ablaufver­ folgungspaket TP in einen Speicherbereich der Ablaufverfol­ gungspaket-Speichereinheit 23, der durch einen Zeiger ge­ kennzeichnet bzw. angezeigt ist, in Antwort auf ein Erlaub­ nissignal "ACK" ein, das von der Überlaufsteuereinheit 27 aus zugeführt wird. Die Ablaufverfolgungspaket-Erzeugungs­ einheit 25 berechnet auch eine Ablaufverfolgungspaketlänge LTP des erzeugten Ablaufverfolgungspakets TP und führt dann diese berechnete Ablaufverfolgungspaketlänge LTP der Ver­ gleichseinheit 26 zu. Die Vergleichseinheit 26 ist derart ausgelegt, daß sie eine Differenz zwischen der Ablaufver­ folgungspaketlänge LTP, die von der Ablaufverfolgungspaket- Erzeugungseinheit 25 aus zugeführt wird, und einer im vor­ aus gesetzten Position "PP" des Zeigers, der von der Zei­ gersteuereinheit 28 zugeführt wird, berechnet. Die Ver­ gleichseinheit 26 führt dann diesen Differenzwert als ein Vergleichssignal CMP der Überlaufsteuereinheit 27 zu.
In Antwort auf das Vergleichssignal CMP, das von der Ver­ gleichseinheit 26 aus zugeführt wird, führt die Überlauf­ steuereinheit 27 das Erlaubnissignal ACK der Ablaufverfol­ gungspaket-Erzeugungseinheit 25 zu, oder erzeugt ein Über­ laufpaket "OFP", das in paralleler Form in den zuvor be­ schriebenen Speicherbereich, der durch den Zeiger angegeben ist, eingeschrieben wird, und führt auch ein Zeigeraktuali­ sierungs-Nachfragesignal RNE1 der Zeigersteuereinheit 28 zu. Dieses Erlaubnissignal ACK wird dazu verwendet, dem Ab­ laufverfolgungspaket TP zu erlauben bzw. dieses freizuge­ ben, daß es in den Speicherbereich, der durch den Zeiger angegeben ist, des Ablaufverfolgungspaket-Speichers 23 ein­ geschrieben wird. Das Zeiger-Nachfragesignal RNE1 wird auch dazu verwendet, eine Aktualisierung des Zeigers nachzufra­ gen.
Die Überlaufsteuereinheit 27 führt auch das Detektionsbe­ fehlssignal DEC der Detektionseinheit 24 für historische Informationen derart zu, daß sie die historischen Informa­ tionen und ähnliches detektiert bzw. erfaßt. In Antwort auf das Zeigeraktualisierungs-Nachfragesignal RNE1, das von der Überlaufsteuereinheit 27 aus zugeführt wird, und auf ein anderes Zeigeraktualisierungs-Nachfragesignal RNE2, das von der Ablaufverfolgungsdaten-Ausgangseinheit 29 zugeführt wird, aktualisiert die Zeigersteuereinheit 28 die aktuelle bzw. gegenwärtige Position PP des Zeigers in der Ablaufver­ folgungspaket-Speichereinheit 23 und teilt die aktuelle Po­ sition PP des Zeigers der Vergleichseinheit 26 mit. Die Ab­ laufverfolgungsdaten-Ausgangseinheit 29 wandelt das seriel­ le 1-Bit-Ablaufverfolgungspaket TP und das Überlaufpaket OFP in parallele 4-Bit-Ablaufverfolgungsdaten um und schreibt diese parallelen 4-Bit-Ablaufverfolgungsdaten in einen vorgegebenen Speicherbereich der externen Speicher­ vorrichtung 13 ein und führt auch das Zeigeraktualisie­ rungs-Nachfragesignal RNE2 der Zeigersteuereinheit 28 zu. Dieses serielle 1-Bit-Ablaufverfolgungspaket TP wird von der Ablaufverfolgungspaket-Speichereinheit 23 ausgegeben.
INTERNE ANORDNUNG DER ABLAUFVERFOLGUNGSPAKET-SPEICHEREIN­ HEIT 23
Wie in der Fig. 7 angegeben ist, weist die Ablaufverfol­ gungspaket-Speichereinheit 23 hauptsächlich ein Schiebere­ gister 31, eine Rotationsschaltung 32, ein Schieberegister 33 und eine Steuereinheit 34 auf. Das Schieberegister 31 ist derart ausgelegt, daß 8 Sätze von Schieberegistern 35 1 bis 35 8 in Serie miteinander über Signalbusse 36 1 bis 36 7 verbunden sind. Das Schieberegister 35 1 bis 35 8 weist je­ weils 5 Sätze von Flip-Flops auf. Jedes Flip-Flop kann 8 Bit serielle Daten halten und ein einzelnes Schieberegister 35 kann 40 Bit serielle Daten maximal halten.
Im Ergebnis kann das gesamte Schieberegister 31 320 Bit Da­ ten im Maximum halten. In Antwort auf die Steuersignale SC1 bis SC8, die von der Steuereinheit 34 aus zugeführt werden, führt jedes der Flip-Flops, die jedes der Schieberegister 35 1 bis 35 8 bilden, einen Ladebetrieb zum Sichern bzw. La­ den zugeführter Daten und eine Schiebeoperation aus und/oder wird in einen Freigabezustand gebracht, bei dem dieses Flip-Flop nicht betrieben werden kann. Bei dieser Schiebeoperation werden Daten, die in einem Flip-Flop ge­ halten sind, in Synchronismus mit einem Schiebetakt SCK in einer Einheit von 8 Bits zu anderen Flip-Flops geschoben, die sich in der Nachbarschaft des zuvor beschriebenen Flip- Flops auf der Seite des niederwertigeren Bits befinden. Es wird darauf hingewiesen, daß in der Fig. 7 eine schwarze Dreiecksmarke, die an einem Flip-Flop des am wenigsten si­ gnifikanten Bits (LSB = least significant bit) des Schiebe­ registers 35 7 angegeben ist, einen Zeiger angibt.
Ähnlich gibt ein Abschnitt in der Ablaufverfolgungspaket- Speichereinheit 23, die in der Fig. 6 gezeigt ist, der durch eine schraffierte Linie angegeben ist, einen solchen Speicherbereich an, wo das Ablaufverfolgungspaket TP ge­ speichert ist und die schwarze Dreiecksmarke deutet den Zeiger an.
Die Rotationsschaltung 32 führt eine Rotationsverarbei­ tungsoperation bezüglich sowohl dem parallelen Ablaufver­ folgungspaket TP als auch dem Überlaufpaket OFP, die zuge­ führt werden, in Antwort auf ein Rotationssteuersignal SR, das von der Steuereinheit 34 zugeführt wird, aus. Die Rota­ tionsschaltung 32 führt dann die rotationsverarbeiteten Da­ ten über einen Signalbus 37 allen Registern 35 1 bis 35 8 zu. Das Schieberegister 33 kann die 8-Bit seriellen Daten hal­ ten und schiebt 1-Bit-Daten bei jedem Schiebetakt zu der niedrigeren bzw. niederwertigeren Bitseite in Antwort auf den zugeführten Schiebetakt SCK, um die bit-geschobenen Da­ ten auszugeben. Dieses Schieberegister 33 führt auch die bit-geschobenen Daten als serielles Ablaufverfolgungspaket TP und ein Überlaufpaket OFP der Ablaufverfolgungsdaten- Ausgabeeinheit 29 zu. Die Steuereinheit 34 erzeugt das Rota­ tionssteuersignal SR und die Steuersignale SC1 bis SC8 in Synchronismus mit dem zugeführten Schiebetakt SCK, um die verschiedenen Schaltungselemente der Ablaufverfolgungspa­ ket-Speichereinheit 23 zu steuern.
Es wird darauf hingewiesen, daß die detaillierte Anordnung und der detaillierte Betrieb der Ablaufverfolgungspaket- Speichereinheit 23 in der japanischen Patentanmeldung Nr. 9-4546, die durch den Anmelder eingereicht wurde, beschrie­ ben wird.
PROGRAMMPRÜFBETRIEB DURCH DIE ZWEITE PROGRAMMPRÜFVORRICH­ TUNG
Als nächstes wird der Zielprogramm-Prüfbetrieb durch diese zweite Programmprüfvorrichtung unter Verwendung der zuvor beschriebenen Anordnung mit Bezug auf das Flußdiagramm, das in der Fig. 8 gezeigt ist, beschrieben. In dieser zweiten Ausführungsform der Erfindung entspricht ein Zielprogramm, das überprüft werden soll, dem Flußdiagramm, das in der Fig. 3 gezeigt ist. Die Operationen, die von der CPU 15 ausgeführt werden, werden auf ähnliche Art und Weise zu den Operationen der zuvor beschriebenen CPU 15, die in der er­ sten Ausführungsform der Erfindung verwendet wird, ausge­ führt. Folglich werden die Operationen der CPU 15, die in der zweiten Programmprüfvorrichtung verwendet wird, wegge­ lassen.
Nachfolgend wird eine Beschreibung der Ablaufverfolgungs­ verarbeitungsoperation durch die Ablaufverfolgungseinrich­ tung 22 gegeben, die in einer parallelen bzw. analogen Art und Weise zur Ausführung des Zielprogramms durch die CPU 15 ausgeführt wird.
Zuerst führt die Zeigersteuereinheit 28 den nachfolgend er­ wähnten Initialisierungsverarbeitungsbetrieb aus. Das heißt, es werden zuerst alle Speicherinhalte der Schiebere­ gister 31 und 33, die die Ablaufverfolgungspaket-Speicher­ einheit 23 bilden, zurückgesetzt bzw. gelöscht (clear). Ein solches Initialisierungssignal wird auch der Steuereinheit 34 zugeführt, die die Ablaufverfolgungspaket-Speicher­ einheit 23 bildet. Dieses Initialisierungssignal wird dazu verwendet, den Zeiger auf ein Flip-Flop (Adresse MAD) zu­ setzen, das sich am LSB 8 Bit befindet und das das achte Schieberegister 35 8 des Schieberegisters 31 bildet, das die Ablaufverfolgungspaket-Speichereinheit 23 bildet. Im Ergeb­ nis löscht die Steuereinheit 34 alle Speicherinhalte der Schieberegister 31 und 33 und setzt auch den Zeiger.
Als nächstes beurteilt die Detektionseinheit 24 für die hi­ storischen Daten in Antwort auf den Detektionsbefehl DEC, der von der Überlaufsteuereinheit 27 aus zugeführt wird, ob der Zählwert des PC 15a und die historischen Informationen, von der CPU 15 (Schritt SC1) aus zugeführt werden bzw. wor­ den sind. Wenn dieses Beurteilungsergebnis "NEIN" ist, führt die Detektionseinheit 24 für die historischen Infor­ mationen diese Beurteilung wiederholt durch.
Die Ablaufverfolgungsdaten-Ausgangseinheit 29 wandelt das 1-Bit-serielle Ablaufverfolgungspaket TP und auch das Über­ laufpaket OFP in parallele 4-Bit Ablaufverfolgungsdaten um und schreibt diese parallelen 4-Bit Ablaufverfolgungsdaten in einen vorgegebenen Speicherbereich der externen Spei­ chervorrichtung 13 ein. Danach führt sie das Zähleraktuali­ sierungs-Nachfragesignal RNE2 der Zählersteuereinheit 28 zu. Dieses serielle 1-Bit-Ablaufverfolgungspaket TP wird von der Ablaufverfolgungspaket-Speichereinheit 23 ausgege­ ben.
Infolge aktualisiert die Zeigersteuereinheit 28 die vorlie­ gende Position PP des Zählers in der Ablaufverfolgungspa­ ket-Speichereinheit 23 in Antwort auf das Zeigeraktualisie­ rungs-Nachfragesignal RNE2 und teilt den aktualisierten Punkt bzw. Ort PP des Zeigers der Vergleichseinheit 26 mit. In diesem Fall, da keine Daten in der Ablaufverfolgungspa­ ket-Speichereinheit 23 gespeichert sind, werden weder Daten in der externen Speichervorrichtung 13 gespeichert noch wird die vorliegende Position PP des Zählers aktualisiert.
Im Unterschied hierzu führt, wenn das Beurteilungsergebnis beim Schritt SC1 "JA" ist, nämlich wenn der Zählwert des PC 15a und die historischen Informationen von der CPU 15 der Detektionseinheit 24 für die historischen Informationen zu­ geführt wird, die Detektionseinheit 24 für die historischen Informationen den detektierten Zählwert des PC 15a und die detektierten Informationen der Ablaufverfolgungspaket- Erzeugungseinheit 25 zu. Im Ergebnis erzeugt die Ablaufver­ folgungspaket-Erzeugungseinheit 25 eine von sieben Arten von parallelen Ablaufverfolgungspaketen TPs, die entweder aus 8 Bit oder aus 40 Bit bestehen, beim Schritt SC2. In diesem Fall erkennt die Ablaufverfolgungspaket-Erzeugungs­ einheit 25, da der Zählwert [0000]h des PC 15a zugeführt wird, daß die Ablaufverfolgungsoperation beginnt, und er­ zeugt das Ablaufverfolgungspaket TP mit dem Ablaufverfol­ gungscode TRCODE [0101]b, der den "Beginn der Ablaufverfol­ gung" (vgl. Fig. 2(1)) angibt, nämlich das Ablaufverfol­ gungspaket TP [05]h.
Als nächstes berechnet die Ablaufverfolgungspaket-Erzeu­ gungseinheit 25 eine Ablaufverfolgungspaketlänge "LTP" des erzeugten Ablaufverfolgungspakets TP und führt dann die Ab­ laufverfolgungspaketlänge LTP der Vergleichseinheit 26 (Schritt SC3) zu. In diesem Fall beträgt die Ablaufverfol­ gungspaketlänge LTP 8 Bit, da das Ablaufverfolgungspaket TP [05]h erzeugt wird. Im Ergebnis berechnet die Vergleichs­ einheit 26 eine Differenz zwischen der Ablaufverfolgungs­ paketlänge LTP und der Momentanposition PP des Zählers und führt dann ein Vergleichssignal CMP, das diese Differenz angibt, der Überlaufsteuereinheit 27 zu. In diesem Fall ist der Zähler, da keine Daten in dem Schieberegister 31 der Ablaufverfolgungspaket-Speichereinheit 23 gespeichert sind bzw. werden, an der Position des LSB 8 Bit angeordnet, das das achte Schieberegister 35 8 des Schieberegisters 31 bil­ det, das wiederum die Ablaufverfolgungspaket-Speicher­ einheit 23 bildet, und die Vergleichseinheit 26 führt auch dieses Vergleichssignal CMP, das (320-8 = 312) Bits an­ gibt, der Überlaufsteuereinheit 27 zu. Die Überlaufsteuer­ einheit 27 beurteilt dann, ob das Ablaufverfolgungspaket TP auf der Basis des Vergleichssignals CMP beim Schritt SC4 geschrieben werden kann oder nicht. Wenn dieses Beurtei­ lungsergebnis "JA" ist, führt die Überlaufsteuereinheit 26 das Erlaubnissignal ACK der Ablaufverfolgungspaket-Erzeu­ gungseinheit 25 zu und führt das Zeigeraktualisierungs- Nachfragesignal RNE1 der Zeigersteuereinheit 28 zu und führt weiterhin das Detektionsbefehlssignal DEC der Detek­ tionseinheit 24 für historischen Informationen zu. Dieses Erlaubnissignal ACK kann zulassen, daß das Ablaufverfol­ gungspaket TP in den Speicherbereich der Ablaufverfolgungs­ paket-Speichereinheit 23, der von dem Zeiger angegeben wird, eingeschrieben wird.
Andererseits, wenn das Beurteilungsergebnis des zuvor be­ schriebenen Schrittes SC4 "NEIN" ist, nämlich, wenn das Ab­ laufverfolgungspaket TP nicht eingeschrieben werden kann, wird kein Erlaubnissignal ACK der Ablaufverfolgungspaket- Erzeugungseinheit 25 zugeführt und es werden auch andere Verarbeitungsoperationen nicht ausgeführt. In diesem Fall beurteilt die Überlaufsteuereinheit 27, da das Vergleichs­ signal CMP, das 312 Bits angibt, zugeführt wird, daß das Ablaufverfolgungspaket TP eingeschrieben werden kann, so daß das Erlaubnissignal ACK der Ablaufverfolgungspaket- Zuführeinheit 25 zugeführt wird, und das Zeigeraktualisie­ rungs-Nachfragesignal RNE1 wird der Zeigersteuereinheit 28 zugeführt und zudem wird das Detektionsbefehlssignal DEC der Detektionseinheit 24 für historische Informationen zu­ geführt. Als Folge schreibt die Ablaufverfolgungspaket- Erzeugungseinheit 25 das Ablaufverfolgungspaket TP in den Speicherbereich der Ablaufverfolgungspaket-Speichereinheit 23 in Antwort auf das Erlaubnissignal ACK ein, das von der Überlaufsteuereinheit 27 (Schritt SC5) zugeführt, wird. In diesem Fall wird das Ablaufverfolgungspaket TP [05]h, das den Start des Ablaufverfolgungsverarbeitungsbetriebs an­ gibt, in das Flip-Flop des LSM 8 Bit eingeschrieben, das das achte Schieberegister 35 8 des Schieberegisters 31 an­ gibt, das die Ablaufverfolgungspaket-Speichereinheit 23 bildet. Die Zeigersteuereinheit 28 aktualisiert auch die Momentanposition PP des Zeigers in der Ablaufverfolgungs- Speichereinheit 23 in Antwort auf das Zeigeraktualisie­ rungs-Nachfragesignal RNE1, das von der Überlaufsteuerein­ heit 27 aus zugeführt wird, und teilt die Momentanposition PP des Zeigers der Vergleichseinheit 26 (Schritt SC6) mit. In diesem Fall wird die Momentanposition PP des Zeigers zu einer Position des Flip-Flops bei einem niederwertigeren 16 Bit bewegt, das das achte Schieberegister 35 8 bildet. Dann beurteilt die Detektionseinheit 24 für historische Informa­ tionen, ob der Zählwert des PC 15a und die historischen In­ formationen von der CPU 15 erneut zugeführt werden, und zwar auf der Basis des Detektionsbefehlssignals DEC, das von der Überlaufsteuereinheit 27 zugeführt wird, beim Schritt SC1.
Während der zuvor beschriebenen Verarbeitungsoperationen, die bei den Schritten SC1 bis SC6 definiert wurden, werden in der Ablaufverfolgungspaket-Speichereinheit 23 die Daten in den jeweiligen Schieberegistern 35 1 bis 35 8, die das Schieberegister 31 bilden, in Synchronismus mit dem Schie­ betakt SCK geschoben und die Ablaufverfolgungsdaten werden sequentiell in der externen Speichervorrichtung 13 über die Ablaufverfolgungsdaten-Ausgangseinheit 29 unter Steuerung der Steuereinheit 34 eingeschrieben.
Wenn die zuvor erwähnten Verarbeitungsoperationen wieder­ holt durchgeführt werden, wird das Ablaufverfolgungspaket TP in die Ablaufverfolgungspaket-Speichereinheit 23 einge­ schrieben und das serielle Ablaufverfolgungspaket TP wird in Einheiten von 1 Bit ausgegeben. Dieses serielle Ablauf­ verfolgungspaket TP wird dann in parallele 4-Bit-Ablauf­ verfolgungsdaten umgewandelt, die dann in einen vorausge­ wählten Speicherbereich der externen Speichervorrichtung 13 eingeschrieben werden.
Die Speicherkapazität der Ablaufverfolgungspaket-Speicher­ einheit 23 beträgt jedoch 320 Bit und die gesamte Bitzahl des Ablaufverfolgungspakets TP, das während eines Verarbei­ tungsbetriebs eingeschrieben wird, ist gleich 8 Bit oder 40 Bit, wohingegen die gesamte Bitanzahl der Ablaufverfol­ gungsdaten, die während einer Verarbeitungsoperation gele­ sen werden, gleich 4 Bit ist. Als Folge, nachdem das Ab­ laufverfolgungspaket TP [05]h, das den Beginn der Ablauf­ verfolgung angibt und das eine 8 Bitlänge hat, in den Ab­ laufverfolgungspuffer eingeschrieben wurde, würde, wenn das Ablaufverfolgungspaket TP, das eine 40 Bit Länge hat, kon­ tinuierlich achtmal erzeugt wird, wenn das achte Ablaufver­ folgungspaket TP, das die 40 Bit Länge hat, in den Ablauf­ verfolgungspuffer 17 eingeschrieben wird, die Momentanposi­ tion PP des Zeigers kleiner im Vergleich mit der Bitlänge LTP des Ablaufverfolgungspakets TP werden.
Die Vergleichseinheit 26 führt dementsprechend das Ver­ gleichssignal CMP zu, das eine Bitzahl (Minuszahl) der Dif­ ferenz zwischen der vorliegenden Position PP des Zeigers und der Bitlänge LTP des Ablaufverfolgungspakets TP angibt. Im Ergebnis beurteilt die Überlaufsteuereinheit 27 in Ant­ wort auf dieses Vergleichssignal CMP, daß das Ablaufverfol­ gungspaket TP nicht eingeschrieben werden kann und führt deshalb das Erlaubnissignal ACK nicht der Ablaufverfol­ gungspaket-Erzeugungseinheit 25 zu (Schritt SC4). Als näch­ stes beurteilt die Überlaufsteuereinheit 27, ob das Über­ laufpaket OFP geschrieben worden ist (Schritt SC7). Diese Beurteilung kann wie folgt realisiert werden. Zum Beispiel beurteilt die Überlaufsteuereinheit 27, während ein Kenn­ zeichen bzw. eine Marke in der Überlaufsteuereinheit 27 ge­ setzt ist und dieses Kennzeichen auf 1 gesetzt ist, wenn das Überlaufpaket OFP geschrieben worden ist, ob dieses Kennzeichen (Flag) auf 1 gesetzt ist. Wenn das Beurtei­ lungsergebnis beim Schritt SC7 "JA" ist, nämlich, wenn das Überlaufpaket OFP geschrieben worden ist, führt die Über­ laufsteuereinheit 27 das Detektionsbefehlssignal DEC der Detektionseinheit 24 für historische Informationen zu. Im Ergebnis beurteilt die Detektionseinheit 24 für historische Informationen, ob der Zählwert des PC 15a und die histori­ schen Informationen von der CPU 15 wieder zugeführt werden, und zwar auf der Basis des Detektionsbefehlssignals DEC, das von der Überlaufsteuereinheit 27 (Schritt SC1) zuge­ führt wird.
Im Unterschied hierzu, wenn das Beurteilungsergebnis des Schrittes SC7 "NEIN" ist, nämlich, wenn das Überlaufpaket OFP noch nicht geschrieben worden ist, beurteilt die Über­ laufsteuereinheit 27, ob das Überlaufpaket OFP geschrieben werden kann (Schritt SC8). Diese Beurteilung kann reali­ siert werden, indem z. B. überprüft wird, ob (der Maximal­ wert MAD der Adresse - der vorliegenden Position PP des Zeigers) größer oder gleich acht ist. Wenn das Beurtei­ lungsergebnis beim Schritt SC8 "JA" ist, schreitet der Ver­ arbeitungsbetrieb der Überlaufsteuereinheit 27 zu einem weiteren Schritt SC9 fort. Andererseits, wenn das Beurtei­ lungsergebnis des Schrittes SC8 "NEIN" ist, führt die Über­ laufsteuereinheit 27 die gleiche Beurteilung wiederholt durch. Da der Datenschiebebetrieb in den jeweiligen Schie­ beregistern 35 1 bis 35 8 der Ablaufverfolgungspaket- Speichereinheit 23 ausgeführt wird und die Ablaufverfol­ gungsdaten in die externe Speichervorrichtung in der Ab­ laufverfolgungsdaten-Ausgangseinheit 29 eingeschrieben wer­ den, wenn die Momentanposition PP des Zeigers größer oder gleich 8 wird, wird dann das Beurteilungsergebnis beim Schritt SC8 zu "JA". Bei einem Schritt SC9 erzeugt die Überlaufsteuereinheit 27 das Überlaufpaket OFP und schreibt dieses Überlaufpaket OFP dann in einen Speicherbereich, der durch den Zeiger angegeben wird. Als nächstes führt die Überlaufsteuereinheit 27 das Zähleraktualisierungs- Nachfragesignal RNE1 der Zeigersteuereinheit 28 zu und führt weiterhin das Detektionsbefehlssignal DEC zum Befeh­ len der Detektion der historischen Informationen der Detek­ tionseinheit 24 für historische Informationen zu (Schritt SC10). Im Ergebnis beurteilt die Detektionseinheit 24 für historische Informationen, ob der Zählwert des PC 15a und die historischen Informationen von der CPU 15 zugeführt werden, auf der Basis des Detektionsbefehlssignals DEC, das von der Überlaufsteuereinheit 27 (Schritt SC1) zugeführt wird.
Wie zuvor im Detail beschrieben wurde, kann in Übereinstim­ mung mit der zweiten Ausführungsform der Programmprüfvor­ richtung der Erfindung das nachfolgende Merkmal realisiert werden. Das heißt, daß z. B., wenn in der ersten Programm­ prüfvorrichtung, wenn der Verarbeitungsbetrieb, der beim Schritt SA2 des Zielprogramms definiert ist, das in der Fig. 2 gezeigt ist, ausgeführt wird, das Schieberegister 31, das die Ablaufverfolgungspaket-Speichereinheit 23 bil­ det, in den Überlaufzustand gebracht wird, dann die nach­ folgenden historischen Informationen nicht erfaßt werden, bis die Speicherinhalte des Ablaufverfolgungspuffers 17 vollständig geleert sind. Im Ergebnis besteht damit das Ri­ siko, daß die Ablaufverfolgungseinrichtung 16 das Verzwei­ gungsziel der Ablaufverfolgungsverarbeitungsoperation beim Schritt SA3 nicht verfolgen kann. In Übereinstimmung mit der zweiten Ausführungsform der Programmprüfvorrichtung der Erfindung werden jedoch, wenn der Speicherbereich, in den das Ablaufverfolgungspaket TP eingeschrieben werden kann, in der Ablaufverfolgungspaket-Speichereinheit 23 sicherge­ stellt werden kann, die nächsten historischen Informationen erfaßt, damit sie in das Ablaufverfolgungspaket TP einmal umgewandelt werden können. Danach kann dieses Ablaufverfol­ gungspaket in die Ablaufverfolgungspaket-Speichereinheit 23 eingeschrieben werden. Wenn ein Abschnitt der historischen Informationen, die zu den Verarbeitungsoperationen gehören, die bei den Schritten SA5 bis SA6 definiert sind, erfaßt werden kann, ist es möglich, das Verzweigungsziel zu beur­ teilen bzw. zu bestimmen. Die Zeitdauer, die für die Unter­ brechung des Ablaufverfolgungsverarbeitungsbetriebs durch die zweite Programmprüfvorrichtung erforderlich ist, kann folglich im Vergleich mit der Zeitdauer der ersten Pro­ grammprüfvorrichtung verkürzt werden. Dementsprechend kann das Zeitintervall der erfaßbaren historischen Informationen verkürzt werden. Zudem ist es in Übereinstimmung mit der zweiten Programmverarbeitungsvorrichtung möglich, da die Paketspeichereinheit 23 verwendet wird, das Auftreten eines nutzlosen Registerabschnitts des Schieberegisters 31 zu vermeiden. Die Effizienz bei der Verwendung des Schiebere­ gisters 31 kann deshalb verbessert werden und somit kann die Dauer der Unterbrechungszeit dieser Ablaufverfolgungs­ verarbeitungsoperation reduziert werden.
GESAMTANORDNUNG DER DRITTEN PROGRAMMPRÜFVORRICHTUNG
Unter Bezugnahme auf die Fig. 9 wird eine Programmprüfvor­ richtung gemäß einer dritten Ausführungsform der vorliegen­ den Erfindung nachfolgend beschrieben, es wird darauf hin­ gewiesen, daß die gleichen Bezugszeichen, die in der Fig. 6 gezeigt sind, zum Angeben der gleichen oder ähnlicher Ele­ mente, die in der Fig. 9 wiedergegeben sind, verwendet wer­ den. Diese dritte Ausführungsform der erfindungsgemäßen Programmprüfvorrichtung, die in der Fig. 9 gezeigt ist, um­ faßt einen neu verwendeten CPU-Chip 41 anstelle des zuvor erläuterten CPU-Chips 21 der zweiten Ausführungsform der Programmprüfvorrichtung.
Der CPU-Chip 41 weist hauptsächlich eine Ablaufverfolgungs­ einrichtung 42 und einen Ablaufverfolgungspaketspeicher 43 auf.
Die Ablaufverfolgungseinrichtung 42 weist hauptsächlich ei­ ne Detektionseinheit 44 für historische Informationen, eine Ablaufverfolgungspaket-Erzeugungseinheit 55, eine Ver­ gleichseinheit 49, eine Überlaufsteuereinheit 46, einen Speichercontroller 47, eine Zeigersteuereinheit 48 und eine Ablaufverfolgungsdaten-Ausgangseinheit 50 auf.
Die Detektionseinheit 44 für historische Daten detektiert einen Zählwert PC 15a und historische Informationen, die von der CPU 15 aus zugeführt werden, in Antwort auf ein De­ tektionsbefehlssignal DEC, das von der Überlaufsteuerein­ heit 46 aus zugeführt wird, und führt dann diese detektier­ ten Daten der Ablaufverfolgungspaket-Erzeugungseinheit 45 zu.
Auf der Basis des Zählwerts des PC 15a und der historischen Informationen, die von der Detektionseinheit 44 für histo­ rische Informationen zugeführt werden, erzeugt die Ablauf­ verfolgungspaket-Erzeugungseinheit 45 irgendeine von 7 Ar­ ten von parallelen Ablaufpaketen TPs, die entweder 8 Bit oder 40 Bit haben, wie zuvor unter Bezugnahme auf die erste Ausführungsform erläutert wurde. Diese Ablaufverfolgungspa­ ket-Erzeugungseinheit 45 führt das erzeugte Ablaufpaket TP in Antwort auf ein Erlaubnissignal "ACK" zu, das von der Überlaufsteuereinheit 46 aus zugeführt wird. Diese Ablauf­ verfolgungspaket-Erzeugungseinheit 45 berechnet auch eine Ablaufverfolgungspaketlänge LTP des erzeugten Ablaufverfol­ gungspakets TP und führt diese berechnete Ablaufverfol­ gungspaketlänge LTP der Vergleichseinheit 49 zu.
In Antwort auf das Überlaufsignal SOF, das von der Ver­ gleichseinheit 49 aus zugeführt wird, führt die Überlauf­ steuereinheit 46 ein Erlaubnissignal ACK der Ablaufverfol­ gungspaket-Erzeugungseinheit 45 zu oder erzeugt ein Über­ laufpaket "OFP", um dieses Überlaufpaket OFP dem Speicher­ controller 47 zuzuführen. Die Überlaufsteuereinheit 46 führt ein Zeigeraktualisierungs-Nachfragesignal RNE1 der Zeigersteureinheit 48 zu und dieses Zeigeraktualisierungs- Nachfragesignal RNE1 wird dazu verwendet, eine Aktualisie­ rung eines Zeigers anzufordern bzw. nachzufragen.
Der Speichercontroller 47 schreibt entweder das Ablaufver­ folgungspaket TP oder das Überlaufpaket OFP in einen Spei­ cherbereich des Ablaufverfolgungspaketspeichers 43 ein.
Dieses Ablaufverfolgungspaket TP wird von der Ablaufverfol­ gungspaket-Erzeugungseinheit 45 zugeführt und dieses Über­ laufpaket OFP wird von der Überlaufsteuereinheit 46 zuge­ führt. Dieser Speicherbereich des Ablaufverfolgungspaket­ speichers 43 wird durch einen Schreibzeiger WP, der von der Zeigersteuereinheit 47 aus zugeführt wird, angegeben bzw. bezeichnet. Der Speichercontroller 47 liest ein Ablaufver­ folgungspaket TP und ein Überlaufpaket OFP aus einem Spei­ cherbereich des Ablaufverfolgungspaketspeichers 43, der durch einen Lesezeiger RP bestimmt bzw. eingegeben ist, der von der Zeigersteuereinheit 48 aus zugeführt wird, und führt dann dieses gelesene Ablaufverfolgungspaket TP und das Überlaufpaket OFP der Ablaufverfolgungsdaten-Ausgangs­ einheit 50 zu.
In Antwort auf ein Zeigeraktualisierungs-Nachfragesignal RNE1, das von der Überlaufsteuereinheit 46 aus zugeführt wird und in Antwort auf ein anderes Zeigeraktualisierungs- Nachfragesignal RNE2, das von der Ablaufverfolgungsdaten- Ausgangseinheit 50 aus zugeführt wird, aktualisiert die Zeigersteuereinheit 48 einen Schreibzeiger WP und einen Le­ sezeiger RP, die in dem Ablaufverfolgungspaketspeicher 43 verwendet werden, und teilt diesen Schreibzeiger WP und auch diesen Lesezeiger RP der Vergleichseinheit 49 mit. Die Zeigersteuereinheit 48 führt auch ein Detektionsbefehls­ signal DEC zum Befehlen der Detektionseinheit 44 für die historischen Informationen zu, damit sie die historischen Informationen detektiert. Die Vergleichseinheit 49 beur­ teilt, ob ein Überlaufzustand in dem Ablaufverfolgungspa­ ketspeicher 43 stattfindet, in Antwort auf die Ablaufver­ folgungspaketlänge LTP, die von der Ablaufverfolgungspaket- Erzeugungseinheit 45 aus zugeführt wird, und in Antwort auf den Schreibzeiger WP und den Lesezeiger RP, die von der Zeigersteuereinheit 48 zugeführt werden. Wenn der Überlauf­ zustand auftritt, erzeugt die Vergleichseinheit 49 ein Überlaufsignal SOF, um dieses Überlaufsignal SOF der Über­ laufsteuereinheit 46 zuzuführen. Die Ablaufverfolgungsda­ ten-Ausgangseinheit 50 wandelt das Ablaufverfolgungspaket TP, das von dem Speichercontroller 47 zugeführt wird, in parallele 4-Bit-Ablaufverfolgungsdaten um und schreibt die­ se parallelen 4-Bit-Ablaufverfolgungsdaten in einen vorge­ gebenen Speicherbereich der externen Speichervorrichtung 13 ein und führt auch das Zeigeraktualisierungs-Nachfrage­ signal RNE2 der Zeigersteuereinheit 48 zu.
Der Ablaufverfolgungspaketspeicher 43 umfaßt einen RAM oder ähnliches und hat eine Speicherkapazität von 320 Bit. Unter Steuerung des Speichercontrollers 47 wird entweder das Ab­ laufverfolgungspaket TP oder das Überlaufpaket OFP in die­ sen Ablaufverfolgungspaketspeicher 43 eingeschrieben und weiterhin werden das Ablaufverfolgungspaket TP und das Überlaufpaket OFP aus diesem Ablaufverfolgungsspeicher 43 auch ausgelesen. Es wird nun davon ausgegangen, daß der Speichercontroller 47 sequentiell entweder das Ablaufver­ folgungspaket TP oder das Überlaufpaket OFP von einer Adresse "0" des Ablaufverfolgungspaketspeichers 43 bis zu einer maximalen Adresse "MAD" einschreibt. Nachdem das Ab­ laufverfolgungspaket TP oder das Überlaufpaket OFP bis zu der Maximaladresse "MAD" eingeschrieben worden ist, liest der Speichercontroller 47 sequentiell sowohl das Ablaufver­ folgungspaket TP als auch das Überlaufpaket OFP von der Adresse "0" des Ablaufverfolgungspaketspeichers 43 bis zu seiner Maximaladresse MAD. Der Speichercontroller 47 schreibt dann wieder entweder das Ablaufverfolgungspaket TP oder das Überlaufpaket OFP von der Adresse "0" bis zur Ma­ ximaladresse MAD ein.
PROGRAMMPRÜFBETRIEB DURCH DIE DRITTE PROGRAMMPRÜFVORRICHTUNG
Als nächstes wird ein Zielprogramm-Prüfbetrieb durch die dritte Ausführungsform der erfindungsgemäßen Programm­ prüfvorrichtung unter Verwendung des zuvor beschriebenen Aufbaus mit Bezug auf ein Flußdiagramm, das in der Fig. 10 gezeigt ist, beschrieben. In dieser dritten Ausführungsform der Erfindung entspricht ein Zielprogramm, das überprüft werden soll, auch dem Flußdiagramm, das in der Fig. 3 ge­ zeigt ist. Die Operationen, die von der CPU 15 ausgeführt werden, werden auf ähnliche Art und Weise wie die Operatio­ nen der zuvor beschriebenen CPU 15 ausgeführt, die im Zu­ sammenhang mit der ersten Ausführungsform erläutert wurde. Im Ergebnis werden die Operationen der CPU 15, die in der zweiten Ausführungsform der erfindungsgemäßen Programm­ prüfvorrichtung verwendet werden, weggelassen.
Nachfolgend wird eine Beschreibung des Ablaufverfolgungs­ verarbeitungsbetriebs durch die Ablaufverfolgungseinrich­ tung 42 gegeben, der in paralleler bzw. analoger Art zu der Ausführung des Zielprogramms durch die CPU 15 ausgeführt wird.
Zuerst führt die Zeigersteuereinheit 48 die nachfolgend er­ wähnte Initialisierungsverarbeitungsoperation aus. Das heißt, daß alle Speicherinhalte des Ablaufverfolgungspaket­ speichers 43 gelöscht werden bzw. auf Null zurückgesetzt werden. Auch wird ein Initialisierungssignal dem Speicher­ controller 47 zugeführt. Dieses Initialisierungssignal wird verwendet, um sowohl den Schreibzeiger WP als auch den Le­ sezeiger RP auf die Kopfadresse des Ablaufverfolgungspaket­ speichers 43 zu setzen. Im Ergebnis löscht der Speichercon­ troller 47 alle Speicherinhalte des Ablaufverfolgungspaket­ speichers 43 und setzt den Schreibzeiger WP und den Lese­ zeiger RP.
Als nächstes beurteilt die Detektionseinheit 44 für histo­ rische Informationen in Antwort auf das Detektionsbefehls­ signal DEC, das von der Überlaufsteuereinheit 46 zugeführt wird, ob der Zählwert des PC 15a und die historischen In­ formationen von der CPU 15 (Schritt SD1) aus zugeführt wer­ den. Wenn dieses Beurteilungsergebnis "NEIN" ist, nämlich, wenn der Zählwert des PC 15a und die historischen Informa­ tionen nicht von der CPU 15 aus zugeführt werden, teilt die Detektionseinheit 44 für die historischen Informationen dieses Beurteilungsergebnis dem Speichercontroller 47 mit. Im Ergebnis liest der Speichercontroller 47 das Ablaufver­ folgungspaket TP aus dem Speicherbereich dem Ablaufverfol­ gungspaketspeichers aus, der durch den Lesezeiger RP, der von der Zeigersteuereinheit 44 zugeführt wird, bezeichnet wird. Der Speichercontroller 47 führt dann das gelesene Ab­ laufverfolgungspaket TP der Ablaufverfolgungsdaten- Ausgangseinheit 50 zu (Schritt SD2). Im Ergebnis wandelt die Ablaufverfolgungsdaten-Ausgangseinheit 50 das Ablauf­ verfolgungspaket TP, das von dem Speichercontroller 50 zu­ geführt wird, in parallelen 4-Bit-Ablaufverfolgungsdaten um und schreibt diese parallelen 4-Bit-Ablaufverfolgungsdaten in einen vorgegebenen Speicherbereich der externen Spei­ chervorrichtung 13 ein und führt dann das Zeigeraktualisie­ rungs-Nachfragesignal RNE2 der Zeigersteuereinheit 48 zu.
Als Folge aktualisiert die Zeigersteuereinheit 48 den Lese­ zeiger RP in dem Ablaufverfolgungspaketspeicher 43 in Ant­ wort auf das Zeigeraktualisierungs-Nachfragesignal RNE2 und teilt diesen aktualisierten Lesezeiger RP der Vergleich­ seinheit 49 mit. Die Zeigersteuereinheit 48 führt auch das Detektionsbefehlssignal DEC der Detektionseinheit 44 für historischen Daten zu (Schritt SD3). In diesem Fall, da kei­ ne Daten in dem Ablaufverfolgungspaketspeicher 43 gespei­ chert werden, werden weder Daten in der externen Speicher­ vorrichtung 13 gespeichert noch wird der Lesezeiger RP ak­ tualisiert. Die Detektionseinheit 44 für historische Infor­ mationen beurteilt dann wieder, ob der Zählwert des PC 15a und die historischen Informationen von der CPU 15 zugeführt werden, in Antwort auf das Detektionsbefehlssignal DEC, das von der Zeigersteuereinheit 48 (Schritt SD1) zugeführt wird.
Im Unterschied hierzu führt die Detektionseinheit 44 für historische Informationen, wenn das Beurteilungsergebnis beim Schritt SD1 "JA" ist, nämlich, wenn der Zählwert des PC 15a und die historischen Informationen von der CPU 15 der Detektionseinheit 44 für historische Informationen zu­ geführt werden, den detektierten Zählwert des PC 15a und die detektierten historischen Informationen der Ablaufver­ folgungspaket-Erzeugungseinheit 45 zu. Danach erzeugt die Ablaufverfolgungspaket-Erzeugungseinheit 45 irgendeine von 7 Arten von parallelen Ablaufverfolgungspaketen TP, die entweder aus 8 Bit oder 40 Bit bestehen, beim Schritt SD4. In diesem Fall erkennt die Ablaufverfolgungspaket-Erzeu­ gungseinheit 45, da der Zählwert [0000]h des PC 15a zuge­ führt wird, daß der Ablaufverfolgungsbetrieb beginnt, und erzeugt das Ablaufverfolgungspaket TP mit dem Ablaufverfol­ gungscode TRCODE [0101]b, der den "Beginn der Ablaufverfol­ gung" (siehe Fig. 2(1)) angibt, nämlich das Ablaufverfol­ gungspaket TP [05]h.
Als nächstes berechnet die Ablaufverfolgungspaket- Erzeugungseinheit 45 eine Ablaufverfolgungspaketlänge "LTP" des erzeugten Ablaufverfolgungspakets TP und führt dann die Ablaufverfolgungspaketlänge LTP der Vergleichseinheit 49 (Schritt SD5) zu. In diesem Fall beträgt die Ablaufverfol­ gungspaketlänge LTP 8 Bit, da das Ablaufverfolgungspaket TP [05]h erzeugt wird. Im Ergebnis beurteilt die Vergleichs­ einheit 49, ob das Ablaufverfolgungspaket TP eingeschrie­ ben werden kann, auf der Basis bzw. in Abhängigkeit von den folgenden Formeln (2) und (3), nämlich, ob ein Überlauf auftritt:
(MAD-WP) ≧ LTP (2), und
RP ≧ LTP (3)
Das heißt, daß, wie zuvor erläutert wurde, der Speichercon­ troller 47 entweder das Ablaufverfolgungspaket TP oder das Überlaufpaket OFP in den Ablaufverfolgungspaketspeicher 43 in zyklischer Art und Weise einschreibt, wenn entweder die vorstehende Formel (2) oder die vorstehende Formel (3) er­ füllt werden kann, das Ablaufverfolgungspaket TP noch ein­ schreibbar ist. Im Unterschied hierzu, wenn weder die For­ mel (2) noch die Formel (3) erfüllt werden kann, bedeutet dies, daß ein Überlauf auftritt. Im Ergebnis kann die Ver­ gleichseinheit 49 beurteilen, ob der Überlauf auftritt, und zwar auf der Basis der zuvor beschriebenen Formeln (2) und (3). In diesem Fall wird, da keine Daten in dem Ablaufver­ folgungspaketspeicher 43 gespeichert sind bzw. werden, der Schreibzähler WP auf die Position der Kopfadresse "0" des Ablaufverfolgungspaketspeichers 43 gesetzt, so daß die zu­ vor erläuterte Formel (2) eingehalten werden, kann. Die Ver­ gleichseinheit 49 beurteilt deshalb, daß das Ablaufverfol­ gungspaket TP eingeschrieben werden kann, und führt deshalb das Überlaufsignal SOF der Überlaufsteuereinheit 46 nicht zu. Als Folge führt die Überlaufsteuereinheit 46, da das Überlaufsignal SOF nicht zugeführt wird, ein Erlaub­ nissignal ACK der Ablaufverfolgungspaket-Erzeugungseinheit 45 zu und führt auch das Zeigeraktualisierungs-Nachfrage­ signal RNE1 der Zeigersteuereinheit 48 zu. Das Erlaub­ nissignal ACK kann erlauben, daß das Ablaufverfolgungspaket TP in den Speicherbereich der Ablaufverfolgungspaket- Speichereinheit 23 eingeschrieben wird, der durch den Schreibzeiger des Ablaufverfolgungspaketspeichers 43 be­ zeichnet wird. Infolge führt die Ablaufverfolgungspaket- Erzeugungseinheit 45 das erzeugte Ablaufverfolgungspaket TP dem Speichercontroller 47 in Antwort auf das Erlaub­ nissignal ACK zu, das von der Überlaufsteuereinheit 46 zu­ geführt wird.
Der Speichercontroller 47 schreibt das Ablaufverfolgungspa­ ket TP, das von der Ablaufverfolgungspaket-Erzeugungs­ einheit 45 zugeführt wird, in den Speicherbereich dem Ab­ laufverfolgungspaketspeichers 43 ein, der durch den Schreibzeiger WP, der von der Zeigersteuereinheit 48 zuge­ führt wird (Schritt SD7), bezeichnet wird. In diesem Fall wird das Ablaufverfolgungspaket TP [05]h, das den Start des Ablaufverfolgungsverarbeitungsbetriebs angibt, von der Kopfadresse "0" des Ablaufverfolgungspaketspeichers 43 an eingeschrieben. Die Zeigersteuereinheit 48 aktualisiert auch den Schreibzeiger in dem Ablaufverfolgungspaketspei­ cher 43 in Antwort auf das Zeigeraktualisierungs-Nachfrage­ signal RNE1, das von der Überlaufsteuereinheit 46 aus zuge­ führt wird, und teilt den Schreibzeiger WP auch der Ver­ gleichseinheit 49 und dem Speichercontroller 47 mit. Wei­ terhin führt die Zeigersteuereinheit 48 das Detektionsbe­ fehlssignal DEC der Detektionseinheit 44 für historische Informationen zu (Schritt SD8). Die Detektionseinheit 44 für historische Informationen beurteilt dann, ob der Zähl­ wert des PC 15a und die historischen Informationen wieder von der CPU 15 zugeführt werden, und zwar auf der Basis des Detektionsbefehlssignals DEC, das von der Überlaufsteuer­ einheit 47 beim Schritt SD1 zugeführt wird.
Wenn die zuvor erläuterten Verarbeitungsoperationen wieder­ holt durchgeführt werden, wird das Ablaufverfolgungspaket TP in den Ablaufverfolgungspaketspeicher eingeschrieben und das Ablaufverfolgungspaket TP wird ausgelesen. Dieses gele­ sene Ablaufverfolgungspaket TP wird dann in die parallelen 4-Bit-Ablaufverfolgungsdaten umgewandelt, die dann in den vorausgewählten Speicherbereich der externen Speichervor­ richtung 13 eingeschrieben werden. Die Speicherkapazität des Ablaufverfolgungspaketspeichers 43 beträgt jedoch 320 Bit und die Gesamtbitanzahl des Ablaufverfolgungspakets TP, das während einer Verarbeitungsoperation eingeschrieben wird, beträgt 8 Bit oder 40 Bit, wohingegen die gesamte Bitzahl der Ablaufverfolgungsdaten, die während einer Ver­ arbeitungsoperation gelesen werden, gleich 4 Bit ist. Folg­ lich gibt es einige Ereignisse, die weder die zuvor erläu­ terte Formel (2) noch die zuvor beschriebene Formel (3) er­ füllen können. In diesem Fall beurteilt die Vergleichsein­ heit 49, daß der Überlauf auftritt, und führt deshalb das Überlaufsignal SOF der Überlaufsteuereinheit 46 zu. Im Er­ gebnis, da bzw. wenn das Überlaufsignal SOF zugeführt wird, beurteilt die Überlaufsteuereinheit 46, daß das Ablaufver­ folgungspaket TP nicht eingeschrieben werden kann, und führt das Erlaubnissignal ACK nicht der Ablaufverfolgungs­ paket-Erzeugungseinheit 45 zu (Schritt SD6). Als nächstes beurteilt die Überlaufsteuereinheit 46, ob das Überlaufpa­ ket OFP geschrieben worden ist (Schritt SD9). Diese Beur­ teilung kann wie folgt realisiert werden. Zum Beispiel be­ urteilt die Überlaufsteuereinheit 46, wenn ein Flag in der Überlaufsteuereinheit 46 gesetzt ist und dieses Flag auf 1 gesetzt ist, wenn das Überlaufpaket OFP geschrieben worden ist, ob dieses Kennzeichen auf 1 gesetzt ist. Wenn das Be­ urteilungsergebnis des Schrittes SD9 "JA" ist, nämlich, wenn das Überlaufpaket OFP geschrieben worden ist, teilt die Überlaufsteuereinheit 46 dieses Schreiben des Überlau­ fes dem Speichercontroller 47 mit.
Im Ergebnis liest der Speichercontroller 47 das Ablaufver­ folgungspaket TP aus dem Speicherbereich des Ablaufverfol­ gungspaketspeichers aus, der durch den Lesezeiger RP be­ zeichnet ist, der von der Zeigersteuereinheit 44 zugeführt wird. Der Speichercontroller 47 führt dann das gelesene Ab­ laufverfolgungspaket TP der Ablaufverfolgungsdaten- Ausgangseinheit 50 zu (Schritt SD10). Im Ergebnis wandelt die Ablaufverfolgungsdaten-Ausgangseinheit 50 das Ablauf­ verfolgungspaket TP, das von dem Speichercontroller 50 zu­ geführt wird, in parallele 4-Bit-Ablaufverfolgungsdaten um und schreibt diese parallelen 4-Bit-Ablaufverfolgungsdaten in einen vorgegebenen Speicherbereich der externen Spei­ chervorrichtung 13 ein und führt danach das Zeigeraktuali­ sierungs-Nachfragesignal RNE2 der Zeigersteuereinheit 48 zu. Als Folge aktualisiert die Zeigersteuereinheit 48 den Lesezeiger RP in dem Ablaufverfolgungspaketspeicher 43 in Antwort auf das Zeigeraktualisierungs-Nachfragesignal RNE2 und teilt den aktualisierten Lesezeiger RP auch der Ver­ gleichseinheit 49 mit. Die Zeigersteuereinheit 48 führt das Detektionsbefehlssignal DEC auch der Detektionseinheit 44 für historische Informationen (Schritt SD11) zu. Als Folge beurteilt die Detektionseinheit 44 für historische Informa­ tionen wieder, ob der Zählwert des PC 15a und die histori­ schen Informationen von der CPU 15 zugeführt werden, in Antwort auf das Detektionsbefehlssignal DEC, das von der Zeigersteuereinheit 48 (Schritt SD1) zugeführt wird.
Im Unterschied hierzu teilt die Überlaufsteuereinheit 46, wenn das Beurteilungsergebnis beim Schritte SD9 "NEIN" ist, nämlich, wenn das Überlaufpaket OFP noch nicht in den Ab­ laufverfolgungspaketspeicher 43 eingeschrieben worden ist, diesen Schreibzustand des Überlaufpakets der Vergleichsein­ heit 49 mit. Im Ergebnis beurteilt die Vergleichseinheit 49, ob das Überlaufpaket OFP geschrieben werden kann (Schritt SD12). Diese Beurteilung kann realisiert werden, indem z. B. überprüft wird, ob eine Differenz zwischen (Ma­ ximalwert MAD der Adresse - Schreibzeiger WP) oder der Le­ sezeiger RP größer oder gleich 8 sind. Wenn das Beurtei­ lungsergebnis beim Schritt SD12 "JA" ist, teilt die Ver­ gleichseinheit 49 dieses Beurteilungsergebnis der Überlauf­ steuereinheit 46 mit. Im Ergebnis erzeugt die Überlaufsteu­ ereinheit 46 das Überlaufpaket OFP, um das Überlaufpaket OFP dem Speichercontroller 47 zuzuführen und führt das Zei­ geraktualisierungs-Nachfragesignal RNE1 auch der Zeiger­ steuereinheit 48 mit. Der Speichercontroller 47 schreibt das Überlaufpaket OFP, das von der Überlaufsteuereinheit 46 zugeführt wird, in den Speicherbereich des Ablaufverfol­ gungspaketspeichers 43 (Schritt SD13) ein. Dieser Speicher­ bereich des Ablaufverfolgungspaketspeichers 43 wird durch den Schreibzeiger WP angegeben, der von der Zeigersteuer­ einheit 48 zugeführt wird. Die Zeigersteuereinheit 48 ak­ tualisiert auch den Schreibzeiger WP in dem Ablaufverfol­ gungspaketspeicher 43 in Antwort auf das Zeigeraktualisie­ rungs-Nachfragesignal RNE1, das von der Überlaufsteuerein­ heit 46 zugeführt wird und teilt den Schreibzeiger WP dem Speichercontroller 47 und der Vergleichseinheit 49 mit. Die Speichersteuereinheit 48 führt das Detektionsbefehlssignal DEC der Detektionseinheit 44 für historische Informationen (Schritt SD14) zu. Die Detektionseinheit 24 für historische Informationen beurteilt dann, ob der Zählwert des PC 15a und die historischen Informationen von der CPU 15 zugeführt werden, auf der Basis des Detektionsbefehlssignals DEC, das von der Zeigersteuereinheit 48 aus zugeführt wird (Schritt SD1).
Andererseits, wenn das Beurteilungsergebnis des Schrittes SD12 "NEIN" ist, nämlich, wenn das Überlaufpaket-OFP nicht geschrieben werden kann, teilt die Vergleichseinheit 49 diese Tatsache sowohl der Überlaufsteuereinheit 46 als auch dem Speichercontroller 47 mit. Als Folge liest der Spei­ chercontroller 47 das Ablaufverfolgungspaket TP aus dem Speicherbereich des Ablaufverfolgungspaketspeichers 43 aus und führt dann dieses gelesene Ablaufverfolgungspaket TP der Ablaufverfolgungsdaten-Ausgangseinheit 50 (Schritt SD15) zu. Dieser Speicherbereich des Ablaufverfolgungspa­ ketspeichers 43 wird durch den Lesezeiger RP bezeichnet, der von der Zeigersteuereinheit 48 zugeführt wird. Als Er­ gebnis wandelt die Ablaufverfolgungsdaten-Ausgangseinheit 50 das Ablaufverfolgungspaket TP, das von dem Speichercon­ troller 47 zugeführt wird, in parallele 4-Bit-Ablaufverfol­ gungsdaten um und schreibt diese parallelen 4-Bit-Ablauf­ verfolgungsdaten in einen vorausgewählten Speicherbereich der externen Speichervorrichtung 13 ein. Danach führt die Ablaufverfolgungsdaten-Ausgangseinheit 50 das Zeigeraktua­ lisierungs-Nachfragesignal RNE2 der Zeigersteuereinheit 48 zu. Als Folge aktualisiert die Zeigersteuereinheit 48 den Lesezeiger RP in dem Ablaufverfolgungspaketspeicher 43 und teilt den aktualisierten Lesezeiger RP auch der Vergleichs­ einheit 49 (Schritt SD16) mit. In dem Fall, daß die Diffe­ renz (MAD-WP) zwischen dem maximalen Adreßwert MAD und dem Schreibzeiger WP oder der Lesezeiger RP größer oder gleich 8 beim Ausführen des Ablaufverfolgungsdaten-Lesebetriebs von dem Ablaufverfolgungspaketspeichers 43 und des Ablauf­ verfolgungsdaten-Schreibbetriebs in die externe Schreibvor­ richtung 13 hinein auftritt, kann dann die Vergleichsein­ heit 49 beurteilen, daß das Überlaufpaket OFP geschrieben werden kann, und teilt diese Tatsache auch der Überlauf­ steuereinheit 46 mit. Als Folge werden die Verarbeitungs­ operationen, die in dem Schritt SD13 und dem Schritt SD14 definiert sind, ausgeführt.
Wie zuvor im Detail beschrieben wurde, kann in Übereinstim­ mung mit der dritten Ausführungsform der erfindungsgemäßen Programmprüfvorrichtung ein ähnlicher Vorteil wie der der zweiten Ausführungsform der erfindungsgemäßen Programm­ prüfvorrichtung zusätzlich zu den nachfolgend erwähnten Vorteilen erreicht werden. Das heißt, daß in der dritten Ausführungsform der Programmprüfvorrichtung das Schiebere­ gister, das als Speichereinrichtung zum Speichern des Ab­ laufverfolgungspakets TP arbeitet, verwendet wird. Anstelle dieses Schieberegisters können Halbleiterspeicher für vielzählige Zwecke, z. B. ein DRAM und ein SRAM verwendet werden. Wenn die gleiche Speicherkapazität ausreichend ver­ wendet werden kann, kann das IC-Chip-Gebiet des CPU-Chips 41 im Vergleich zu der zweiten Ausführungsform der Pro­ grammprüfvorrichtung reduziert werden, die die zuvor be­ schriebenen Schieberegister verwendet. Umgekehrt kann, wenn die gleiche Chipfläche verwendet wird, dann die resultier­ rende Speicherkapazität erhöht werden, so daß die Gesamtan­ zahl der erfaßbaren historischen Informationen erhöht wer­ den kann.
Während die vorliegende Erfindung im Detail mit Bezug auf die Zeichnungen beschrieben worden ist, ist die vorliegende Erfindung nicht auf die zuvor erläuterten Ausführungsformen begrenzt, sondern kann geändert, modifiziert und ersetzt werden, ohne daß von dem Schutzbereich der vorliegenden Er­ findung abgewichen wird.
Zum Beispiel führt die CPU 15 in den ersten bis zweiten Ausführungsformen alle Aspekte bzw. Schritte bzw. Befehle des Zielprogramms durch und die Ablaufverfolgungseinrich­ tung führt den Ablaufverfolgungsverarbeitungsbetrieb aus. Die folgende Erfindung ist jedoch nicht auf die zuvor be­ schriebenen Ausführungsformen beschränkt. Allgemein ausge­ drückt wird ein Zielprogramm durch einen standardisierten Verarbeitungsbetrieb, in dem eine Programmüberprüfung aus­ geführt worden ist, und durch einen nicht standardisierten Verarbeitungsbetrieb realisiert, der für dieses Zielpro­ gramm spezifisch ist und in dem ein Programmprüfen noch nicht ausgeführt worden ist. In dem standardisierten Verar­ beitungsbetrieb ist das Zielprogramm durch Befehle bzw. Kommandos aufgebaut, die durch die CPU 15 ohne jede Inter­ pretation ausgeführt werden können, so daß diese Befehle mit hoher Geschwindigkeit ausgeführt werden können. Da das Programmprüfen abgeschlossen ist, wird eine Ablaufverfol­ gungsverarbeitungsoperation auch nicht länger benötigt. Im Unterschied hierzu muß bei dem nicht standardisierten Ver­ arbeitungsbetrieb, da der Verarbeitungsbetrieb spezifisch für das Zielprogramm ausgelegt ist, die CPU 15 die Komman­ dos bzw. Befehle einem nach dem anderen interpretieren bzw. ausführen. Da das Programmprüfen noch nicht ausgeführt wor­ den ist, muß weiterhin der Ablaufverfolgungsverarbeitungs­ betrieb ausgeführt werden. Unter solchen Bedingungen kann die nachfolgende alternative Anordnung bzw. Vorrichtung vorgezogen werden. Zum Beispiel wird eine Eingangseinrich­ tung neu verwendet, durch die ein Benutzer einen gewünsch­ ten Ausführungsabschnitt bestimmen kann, und die CPU 15 kann den standardisierten Verarbeitungsbetrieb, der in dem Zielprogramm enthalten ist, mit hoher Geschwindigkeit aus­ führen und kann weiterhin den nicht standardisierten Verar­ beitungsbetrieb, der in diesem Zielprogramm enthalten ist, durch Interpretieren der Befehle bzw. Kommandos eines nach dem anderen ausführen. In Verbindung mit dem zuvor erläu­ terten Betrieb kann die Ablaufverfolgungseinrichtung nur den Ablaufverfolgungsverarbeitungs-Betriebsabschnitt aus­ führen, der von dem Benutzer bestimmt worden ist. Wenn eine solche alternative Anordnung verwendet wird, kann die Über­ laufauftrittsfrequenz bzw. -häufigkeit reduziert werden, mit der der Ablaufverfolgungspuffer 17 zum Speichern des Ablaufverfolgungspakets, die Ablaufverfolgungspaket- Speichereinheit 23 und der Ablaufverfolgungspaketspeicher 43 in den Überlaufzustand gebracht werden. Als Ergebnis kann die Zeitdauer, während der die Ablaufverfolgungsverar­ beitungsoperation unterbrochen ist, verkürzt werden. Dem­ entsprechend kann die gesamte Verarbeitungszeit, die die Ablaufverfolgungsverarbeitungszeit einschließt, für das Zielprogramm verkürzt werden.
Auch werden in den zuvor beschriebenen ersten bis dritten Ausführungsformen der Erfindung die Ablaufverfolgungsverar­ beitungsoperationen nur einmal ausgeführt. Andererseits ist es normalerweise erforderlich, daß diese Ablaufverfolgungs­ verarbeitungsoperation mehr als ausgeführt wird, um Pro­ grammfehler unter diesen Bedingungen vollständig zu entfer­ nen, wobei die nachfolgenden Ablaufverfolgungsverarbei­ tungsoperationen in Alternative erforderlich sein können. Das heißt, daß keine Ablaufverfolgungsverarbeitungsoperati­ on bezüglich eines Programmabschnitts aus dem Zielprogramm ausgeführt wird, in dem keine Ablaufverfolgungsprobleme in der vorherigen Ablaufverfolgungsverarbeitungsoperation auf­ getreten sind. Im Unterschied hierzu wird, die markierende Ablaufverfolgungsverarbeitungsoperation bezüglich eines Programmabschnitts ausgeführt, wo eine abnormale Bedingung bzw. Zustand auftritt, und/oder bezüglich eines anderen Programmabschnitts, wo das Ablaufverfolgungspaket TP nicht in dem Ablaufverfolgungspuffer 17 gespeichert werden kann, da der Ablaufverfolgungspuffer 17 in den Überlaufzustand während der vorhergehenden Ablaufverfolgungsverarbeitungs­ operation gebracht worden ist. Aus diesem Grund kann der Benutzer, z. B., während die historischen Informationen usw., die bei der vorhergehenden Ablaufverfolgungsverarbei­ tungsoperation erfaßt worden sind, in der vorgegebenen Speichereinrichtung gespeichert werden können, einen ge­ wünschten Abschnitt für die Ablaufverfolgungsverarbeitung innerhalb des Zielprogramms bestimmen. Im Ergebnis wird, obwohl das Zielprogramm ausgeführt wird, die Ablaufverfol­ gungsverarbeitungsoperation bei diesem Programmabschnitt, bei dem das Programm unter normalen Bedingungen betrieben werden kann (z. B., wenn Daten, die in einen vorausgewählten Abschnitt der Datenspeichereinheit 11b gespeichert sind, nur in das Register geladen werden, das die Zielregis­ tereinheit 14 bildet, oder nur zu einem anderen Speicher­ abschnitt der Datenspeichereinheit 11b oder zu einer äuße­ ren elektronischen Vorrichtung transferiert werden). Auf der Basis der vorhergehenden historischen Informationen werden der Inhalt der Zielregistereinheit 14 und auch der Inhalt der Datenspeichereinheit 11b auf einen solchen Zu­ stand gesetzt, unmittelbar bevor der Programmabschnitt, der von dem Benutzer bezeichnet wurde, durch den Ablaufverfol­ gungsverarbeitungsbetrieb ausgeführt wird. Der Ablaufver­ folgungsverarbeitungsbetrieb für diesen relevanten Pro­ grammabschnitt wird unmittelbar ausgeführt. Unter Verwen­ dung dieser alternativen Anordnung kann das Zielprogramm einfach bei hoher Geschwindigkeit überprüft werden.
In der ersten bis dritten Ausführungsform der Programm­ prüfvorrichtung sind weiterhin alle grundlegenden Elemente durch Hardware aufgebaut. Die vorliegende Erfindung ist je­ doch nicht auf diesen Hardwareaufbau beschränkt. Das heißt, daß die zuvor erläuterte erfindungsgemäße Programmprüfvor­ richtung in Alternative durch einen Computer, eine Sub-CPU und ein Speichermedium realisiert werden kann. Konkret aus­ gedrückt, kann dieser Computer eine Haupt-CPU, eine Sub- CPU, eine interne Speichervorrichtung, z. B. einen ROM und einen RAM, und eine externe Speichervorrichtung, z. B. ein FDD (floppy disk Laufwerk), ein HDD (hard disk Laufwerk) und ein CD-ROM-Laufwerk und weiterhin eine Eingabe- /Ausgabe-Einrichtung haben. Die zuvor erläuterte Detekti­ onseinheit 24/44 für historische-Informationen, die Ablauf­ verfolgungspaket-Erzeugungseinheit 25/45, die Überlaufsteu­ ereinheit 27/46, die Vergleichseinheiten 26/49, die Zeiger­ steuereinheiten 28/48, die Ablaufverfolgungsdaten-Ausgangs­ einheiten 29/50 und ein Speichercontroller 47 werden durch die Sub-CPU realisiert. Die verschiedenen Funktionen, die durch die CPU und die Sub-CPU realisiert werden können, können als Zielprogramm-Prüfprogramm in einem Halbleiter­ speicher, z. B. einem ROM oder einem anderen Speichermedium, z. B. einer FD, einer Festplatte HD und einer CD-ROM gespei­ chert werden. In dieser alternativen Vorrichtung bildet entweder die zuvor beschriebene interne Speichervorrichtung oder die externe Speichervorrichtung die Zielspeicherein­ heit 11, die Registereinheit 14, den Ablaufverfolgungspuf­ fer 17, die Ablaufverfolgungspaket-Speichereinheit 23 und den Ablaufverfolgungspaketspeicher 43. Das Zielprogramm- Prüfprogramm wird durch die CPU oder die Sub-CPU aus dem Speichermedium derart ausgelesen, daß verschiedene Opera­ tionen der CPU und der Sub-CPU gesteuert werden können. Wenn das Zielprogramm-Prüfprogramm ausgelöst wird, kann die Sub-CPU als Detektionseinheit 24/44 für historische Infor­ mationen, als Ablaufverfolgungspaket-Erzeugungseinheit 25/45, als Überlaufsteuereinheit 27/46, als Vergleichsein­ heit 26/49, als Zeigersteuereinheit 28/48, als Ablaufver­ folgungsdaten-Ausgangseinheit 29/50 und auch als Speicher­ controller 47 arbeiten. Diese Sub-CPU kann die zuvor be­ schriebenen Verarbeitungsoperationen unter Steuerung des Zielprogramm-Prüfprogramms ausführen.
Zudem ist in den ersten bis dritten Ausführungsformen der Programmprüfvorrichtung die Bitlänge des Ablaufverfolgungs­ pakets zu 8 Bit oder 40 Bit ausgewählt worden. Die vorlie­ gende Erfindung ist nicht auf diese Bitlänge beschränkt. In Alternative können auch andere Bitlängen, die die histori­ schen Informationen, den Zählwert des PC und das Auftreten eines Überlaufs angeben können, offensichtlich auch verwen­ det werden.
Wie zuvor im Detail geschrieben wurde, können in Überein­ stimmung mit der Programmprüfvorrichtung der vorliegenden Erfindung die historischen Informationen, die sich auf we­ sentliche oder signifikante Zielprogrammabschnitte bezie­ hen, erfaßt werden, während die Ausführung des Zielpro­ gramms durch die CPU nicht unterbrochen wird. Die Zeit für die Ablaufverfolgungsunterbrechung kann verkürzt werden und der Programmabschnitt, der für die Ablaufverfolgung unter­ brochen ist, kann spezifiziert werden. Als Folge ist es möglich, die historischen Informationen, die erforderlich für die Überprüfung des Zielprogramm sind, zu erfassen und weiterhin, das Zielprogramm mit hoher Geschwindigkeit ein­ fach zu überprüfen.
Da die historischen Informationen, von anderen Anschlüssen, als dem Anschluß für den Adreßbus und den Datenbus ausgege­ ben werden, können die erforderlichen historischen Informa­ tionen, auch wenn eine Hochgeschwindigkeits-CPU verwendet wird, erfaßt werden, ohne daß die Signalformen bzw. Wellen­ formen der Signale, die auf dem Adreßbus und dem Datenbus auftreten, deformiert werden. Da die Ablaufverfolgungsein­ richtung innerhalb des CPU-Chips untergebracht ist, können, auch wenn eine Cache-Speicherschaltung in der Programm­ prüfvorrichtung enthalten ist, die historischen Informatio­ nen, die in dieser Cache-Speicherschaltung getroffen wer­ den, ablaufverfolgt werden.
Es ist somit offensichtlich, daß die vorliegende Erfindung nicht auf die zuvor erläuterten Ausführungsformen be­ schränkt ist, sondern abgeändert und modifiziert werden kann, ohne daß vom Schutzbereich der Erfindung abgewichen wird.
Obwohl die Zeitdauer einer Ablaufverfolgungsverarbeitung beim Überprüfen eines Zielprogramms verkürzt wird, wird das Zielprogramm bei einer hohen Geschwindigkeit einfach über­ prüft. Wenn historische Daten, die beim Ausführen dieses Zielprogramms erfaßt werden, zugeführt werden, werden die historischen Daten in Ablaufverfolgungspaketdaten TP umge­ wandelt. Die Ablaufverfolgungspaketdaten TP werden vorüber­ gehend in einem Ablaufverfolgungspaket-Puffer 17 gespei­ chert. Wenn der Speicherinhalt des Ablaufverfolgungspaket- Puffers 17 in einen Überlaufzustand gebracht wird, werden die Ablaufverfolgungspaketdaten TP und die Speicherungsun­ möglichkeitsdaten in einer externen Speichervorrichtung 13 gespeichert.
Schließlich beansprucht die vorliegende Erfindung die Prio­ rität der japanischen Patentanmeldung Nr. Hei 10-118969, die am 28. April 1998 eingereicht, wurde und die hier durch Be­ zugnahme aufgenommen wird.

Claims (35)

1. Programmprüfvorrichtung zum Ausführen eines Zielpro­ gramms derart, daß historische Daten, die durch Ausfüh­ ren des Zielprogramms erzeugt werden, erfaßt werden, und zum Überprüfen des Zielprogramms auf der Basis der erfaßten, historischen Daten, wobei das Zielprogramm ursprünglich durch eine zentrale Verarbeitungseinheit ausgeführt wird, die ein System unter Entwicklung bil­ det, dadurch gekennzeichnet, daß sie aufweist:
eine erste Speichereinrichtung und eine zweite Spei­ chereinrichtung (17, 13) zum Speichern von historischen Daten darin; und
eine Ablaufverfolgungseinrichtung (16), die in dem Fall betreibbar ist, daß das Zielprogramm durch die Pro­ grammprüfvorrichtung ausgeführt wird, um dadurch die historischen Daten derart zu erfassen, daß, wenn die erste Speichereinrichtung (17) eine Speicherkapazität hat, die die historischen Daten speichern kann, die Ab­ laufverfolgungseinrichtung (16) die erste Speicherein­ richtung (17) dazu veranlaßt, vorübergehend in ihr die erfaßten historischen Daten zu speichern; daß, wenn die erste Speichereinrichtung (17) nicht die speichernde Speicherkapazität hat, die Ablaufverfolgungseinrichtung (16) alle historischen Daten, die in der ersten Spei­ chereinrichtung (17) gespeichert sind, liest und dann die zweite Speichereinrichtung (13) dazu veranlaßt, in ihr alle gelesenen historischen Daten zu speichern, und danach Speicherungsunmöglichkeitsinformationen in die erste Speichereinrichtung (17) speichert, wobei die Speicherungsunmöglichkeitsinformationen angeben, daß die historischen Daten selbst nicht in der ersten Spei­ chereinrichtung (17) gespeichert werden können; und daß, wenn die erfaßten historischen Daten nicht der Ab­ laufverfolgungseinrichtung (16) zugeführt werden, die Ablaufverfolgungseinrichtung (16) die historischen Da­ ten und die Speicherungsunmöglichkeitsinformationen, die in der ersten Speichereinrichtung (17) gespeichert sind, liest, um dadurch beide Daten in der zweiten Speichereinrichtung (13) zu speichern.
2. Programmprüfvorrichtung nach Anspruch 1, dadurch ge­ kennzeichnet, daß sie weiterhin aufweist:
eine Zielspeichereinheit (14), die durch eine Zielpro­ gramm-Speichereinheit zum Speichern des Zielprogramms darin und durch eine Datenspeichereinheit zum Speichern von Programmausführungsdaten darin aufgebaut ist.
3. Programmprüfvorrichtung nach Anspruch 1, dadurch ge­ kennzeichnet, daß:
die erste Speichereinrichtung (17) durch ein Ablaufver­ folgungspufferregister (14) gebildet ist;
die zweite Speichereinrichtung (13) durch eine externe Speichereinrichtung (13) gebildet ist; und
die Ablaufverfolgungseinrichtung (16) und das Ablauf­ verfolgungspufferregister (14) in einem CPU(central processing unit)-Chip (12) eingebaut sind.
4. Programmprüfvorrichtung nach Anspruch 3, dadurch ge­ kennzeichnet, daß:
die Ablaufverfolgungseinrichtung (16) die historischen Daten erfaßt und die erfaßten historischen Daten in ein Ablaufverfolgungspaket umwandelt und auch veranlaßt, daß das Ablaufverfolgungspufferregister das Ablaufver­ folgungspaket in sich speichert.
5. Programmprüfvorrichtung nach Anspruch 4, dadurch ge­ kennzeichnet, daß:
die Ablaufverfolgungseinrichtung (16) die erfaßten hi­ storischen Daten in eine Vielzahl von Ablaufverfol­ gungspaketen umwandelt und jedes der vielzähligen Ab­ laufverfolgungspakete aus vielzähligen Bits besteht.
6. Programmprüfvorrichtung zum Ausführen eines Zielpro­ gramms derart, daß historische Daten, die beim Ausfüh­ ren des Zielprogramms erzeugt werden, erfaßt werden, und zum Überprüfen des Zielprogramms auf der Basis der erfaßten historischen Daten, wobei das Zielprogramm ur­ sprünglich von einer zentralen Verarbeitungseinheit ausgeführt wird, die ein System unter Entwicklung bil­ det, dadurch gekennzeichnet, daß sie aufweist:
eine erste Speichereinrichtung und eine zweite Spei­ chereinrichtung (23, 13) zum Speichern von historischen Daten; und
eine Ablaufverfolgungseinrichtung (22), die in einem Fall betreibbar ist, daß das Zielprogramm durch die Programmprüfvorrichtung ausgeführt wird, um dadurch die historischen Daten derart zu erfassen, daß, wenn die erste Speichereinrichtung (23) eine erste Speicherkapa­ zität hat, die die historischen Daten speichern kann, die Ablaufverfolgungseinrichtung (22) die erste Spei­ chereinrichtung (23) dazu veranlaßt, vorübergehend in ihr die erfaßten historischen Daten zu speichern; und daß, wenn die erste Speichereinrichtung (23) die erste Speicherkapazität nicht hat, aber eine zweite Speicher­ kapazität hat, die Speicherungsunmöglichkeitsinforma­ tionen speichern kann, die Ablaufverfolgungseinrichtung (22) die erste Speichereinrichtung (23) dazu veranlaßt, vorübergehend in ihr die Speicherungsunmöglichkeitsin­ formationen zu speichern, wobei die Speicherungsunmög­ lichkeitsinformationen angeben, daß die historischen Daten selbst nicht in der ersten Speichereinrichtung (23) gespeichert werden können; und daß, wenn die erste Speichereinrichtung (23) auch nicht die zweite Spei­ cherkapazität hat, die Ablaufverfolgungseinrichtung (22) in einen Wartezustand gebracht wird, bis die zwei­ te Speicherkapazität darin sichergestellt werden kann, und danach die erste Speichereinrichtung (23) veran­ laßt, in ihr die Speicherungsunmöglichkeitsinformatio­ nen zu speichern, und auch die historischen Daten und die Speicherungsunmöglichkeitsinformationen liest, die in der ersten Speichereinrichtung (23) gespeichert sind, um dadurch beide Daten in der zweiten Spei­ chereinrichtung (13) zu speichern.
7. Programmprüfvorrichtung nach Anspruch 6, dadurch ge­ kennzeichnet, daß:
die erste Speichereinrichtung (23) durch eine Serien­ verbindung einer Vielzahl von Schieberegistern (31, 35, 33) miteinander ausgebildet ist, wobei die Schieberegi­ ster (31, 35, 33) durch eine Serienverbindung einer Vielzahl von Flip-Flops miteinander ausgebildet sind; und
eine Ablaufverfolgungseinrichtung (22) mindestens auf­ weist:
eine Vergleichseinheit (26) zum Vergleichen der Bitlän­ gen der historischen Daten und der Speicherungsunmög­ lichkeitsinformationen mit einem Zeiger, um zu beurtei­ len, ob die historischen Daten und die Speicherungsun­ möglichkeitsinformationen in der ersten Speicherein­ richtung (23) gespeichert werden können, wobei der Zei­ ger, der eine Adresse von zumindest einem am wenigsten signifikanten Bit der Informationen angibt, die nach­ folgend in der ersten Speichereinrichtung (23) gespei­ chert werden sollen.
8. Programmprüfvorrichtung nach Anspruch 7, dadurch ge­ kennzeichnet, daß:
die Ablaufverfolgungseinrichtung (22) die historischen Daten erfaßt und die historischen Daten in ein Ablauf­ verfolgungspaket umwandelt und auch die in Serie ver­ bundenen Schieberegister (31, 35) dazu veranlaßt, in ihnen das Ablaufverfolgungspaket zu speichern.
9. Programmprüfvorrichtung nach Anspruch 8, dadurch ge­ kennzeichnet, daß:
die Ablaufverfolgungseinrichtung (26) die erfaßten, hi­ storischen Daten in eine Vielzahl von Ablaufverfol­ gungspaketen umwandelt und daß jedes der vielzähligen Ablaufverfolgungspakete aus einer Vielzahl von Bits be­ steht.
10. Programmprüfvorrichtung nach Anspruch 6, dadurch ge­ kennzeichnet, daß sie weiterhin aufweist:
eine Zielspeichereinheit (11), die durch eine Zielpro­ gramm-Speichereinheit (11a) zum Speichern des Zielpro­ gramms darin und eine Datenspeichereinheit (11b) zum Speichern von Programmausführungsdaten darin gebildet wird.
11. Programmprüfvorrichtung zum Ausführen eines Zielpro­ gramms derart, daß historische Daten, die durch Ausfüh­ ren des Zielprogramms erzeugt werden, erfaßt werden, und zum Überprüfen des Zielprogramms auf der Basis der erfaßten, historischen Daten, wobei das Zielprogramm ursprünglich durch eine zentrale Verarbeitungseinheit ausgeführt wird, die ein System unter Entwicklung bil­ det, dadurch gekennzeichnet, daß sie aufweist:
eine erste Speichereinrichtung und eine zweite Spei­ chereinrichtung (43, 13) zum Speichern von historischen Daten; und
eine Ablaufverfolgungseinrichtung (42), die in einem Fall betreibbar ist, daß das Zielprogramm durch die Programmprüfvorrichtung ausgeführt wird, um dadurch die historischen Daten derart zu erfassen, daß, wenn die erste Speichereinrichtung (43) eine erste Speicherkapa­ zität hat, die die historischen Daten speichern kann, die Ablaufverfolgungseinrichtung (42) die erste Spei­ chereinrichtung (43) dazu veranlaßt, vorübergehend in ihr die erfaßten historischen Daten zu speichern; und daß, wenn die erste Speichereinrichtung (43) die erste Speicherkapazität nicht hat, aber eine zweite Speicher­ kapazität hat, die Speicherungsunmöglichkeitsinforma­ tionen speichern kann, die Ablaufverfolgungseinrichtung (42) die erste Speichereinrichtung (43) dazu veranlaßt, vorübergehend in ihr die Speicherungsunmöglichkeitsin­ formationen zu speichern, wobei die Speicherungsunmög­ lichkeitsinformationen angeben, daß die historischen Daten selbst nicht in der ersten Speichereinrichtung (43) gespeichert werden können; und daß, wenn die erste Speichereinrichtung (43) auch nicht die zweite Spei­ cherkapazität hat, die Ablaufverfolgungseinrichtung (42) die historischen Daten und die Speicherungsunmög­ lichkeitsinformationen von der ersten Speichereinrich­ tung (43) liest, bis die erste Speichereinrichtung (43) die zweite Speicherkapazität aufweisen kann, und dann die historischen Daten und die Speicherungsunmöglich­ keitsinformationen in die zweite Speichereinrichtung (13) speichert; und daß danach, wenn die historischen Daten der Ablaufverfolgungseinrichtung nicht zugeführt werden, die Ablaufverfolgungseinrichtung (42) sowohl die historischen Daten als auch die Speicherungsunmög­ lichkeitsinformationen, die in der ersten Speicherein­ richtung (43) gespeichert sind, liest, um dadurch beide Daten in der zweiten Speichereinrichtung (13) zu spei­ chern.
12. Programmprüfvorrichtung nach Anspruch 11, dadurch ge­ kennzeichnet, daß
die erste Speichereinrichtung (43) durch einen Halblei­ terspeicher gebildet wird; und
die Ablaufverfolgungseinrichtung (42) mindestens auf­ weist:
eine Vergleichseinheit (49) zum Vergleichen der Bitlän­ gen der historischen Daten und der Speicherungsunmög­ lichkeitsinformationen mit einem Zeiger, um zu beurtei­ len, ob die historischen Daten und die Speicherungsun­ möglichkeitsinformationen in der ersten Speicherein­ richtung (43) gespeichert werden können, wobei der Zei­ ger, der entweder einen ersten Zeiger zum Wiedergeben einer Adresse eines MSB (signifikantesten) Bits dieser Informationen, die nachfolgend aus der ersten Spei­ chereinrichtung (43) ausgelesen werden sollen, oder ei­ ne Differenz zwischen einer Maximaladresse der ersten Speichereinrichtung und einem zweiten Zeiger zum Wie­ dergeben einer Adresse eines MSB der Informationen an­ gibt, die nachfolgend in der ersten Speichereinrichtung (43) gespeichert werden sollen.
13. Programmprüfvorrichtung nach Anspruch 12, dadurch ge­ kennzeichnet, daß:
die Ablaufverfolgungseinrichtung (42) die historischen Daten erfaßt und die erfaßten historischen Daten in ein Ablaufverfolgungspaket umwandelt und auch den Halblei­ terspeicher (43) dazu veranlaßt, daß er das Ablaufver­ folgungspaket speichert.
14. Programmprüfvorrichtung nach Anspruch 14, dadurch ge­ kennzeichnet, daß:
die Ablaufverfolgungseinrichtung (42) die erfaßten hi­ storischen Daten in eine Vielzahl von Ablaufverfol­ gungspaketen umwandelt und jedes der vielzähligen Ab­ laufverfolgungspakete aus einer Vielzahl von Bits be­ steht.
15. Programmprüfvorrichtung nach Anspruch 11, dadurch ge­ kennzeichnet, daß sie weiterhin aufweist:
eine Zielspeichereinheit (11), die durch eine Zielpro­ gramm-Speichereinheit (11a) zum Speichern eines Ziel­ programms darin und eine Datenspeichereinheit (11b) zum Speichern von Programmausführungsdaten darin gebildet wird.
16. Verfahren zum Prüfen eines Zielprogramms unter Verwen­ dung einer Programmprüfvorrichtung, die eine erste Speichereinrichtung und eine zweite Speichereinrichtung (17, 13) hat, zum Ausführen des Zielprogramms derart, daß historische Daten, die beim Ausführen des Zielpro­ gramms erzeugt werden, erfaßt werden, und zum Prüfen des Zielprogramms auf der Basis der erfaßten histori­ schen Daten, wobei das Zielprogramm ursprünglich durch eine zentrale Verarbeitungseinheit zum Ausbilden eines Systems in der Entwicklung ausgeführt wird, dadurch ge­ kennzeichnet, daß es aufweist:
einen ersten Schritt, bei dem, wenn die erste Spei­ chereinrichtung (17) eine Speicherkapazität hat, die die historischen Daten speichern kann, die erfaßten hi­ storischen Daten vorübergehend in der ersten Spei­ chereinrichtung (17) gespeichert werden;
einen zweiten Schritt, bei dem, wenn die erste Spei­ chereinrichtung (17) nicht die speicherbare Speicherka­ pazität hat, alle historischen Daten, die in der ersten Speichereinrichtung (17) gespeichert sind, aus der er­ sten Speichereinrichtung (17) gelesen werden, um in der zweiten Speichereinrichtung (13) gespeichert zu werden, und bei dem danach Speicherungsunmöglichkeitsinforma­ tionen in der ersten Speichereinrichtung (17) gespei­ chert werden, wobei die Speicherungsunmöglichkeitsin­ formationen angeben, daß die historischen Daten selbst nicht in der ersten Speichereinrichtung (17) gespei­ chert werden können; und
einen dritten Schritt, bei dem, wenn die historischen Daten nicht zugeführt werden, sowohl die historischen Daten als auch die Speicherungsunmöglichkeitsinforma­ tionen aus der ersten Speichereinrichtung (17) gelesen werden, um in der zweiten Speichereinrichtung (13) ge­ speichert zu werden.
17. Zielprogrammprüfverfahren nach Anspruch 16, dadurch ge­ kennzeichnet, daß es weiterhin aufweist:
einen vierten Schritt zum Umwandeln der erfaßten histo­ rischen Daten in ein Ablaufverfolgungspaket (TP), das in der ersten Speichereinrichtung (17) gespeichert wer­ den soll.
18. Zielprogrammprüfverfahren nach Anspruch 16, das weiter­ hin gekennzeichnet ist durch:
einen vierten Schritt zum Umwandeln der erfaßten histo­ rischen Daten in eine Vielzahl von Ablaufverfolgungspa­ keten (TP), wobei jedes der vielzähligen Ablaufverfol­ gungspakete aus einer Vielzahl von Bits besteht.
19. Zielprogrammprüfverfahren nach Anspruch 16, dadurch ge­ kennzeichnet, daß:
die historischen Daten durch eine Adresse einer Ver­ zweigungsquelle und durch eine Adresse eines Verzwei­ gungsziels, wenn entweder eine Unterbrechung, eine Aus­ nahme oder eine Verzweigung auftritt, durch einen zuge­ griffenen Datenwert und durch eine Adresse, wo die Da­ ten gespeichert sind, gebildet werden.
20. Zielprogrammprüfverfahren nach Anspruch 16, dadurch ge­ kennzeichnet, daß:
die historischen Daten durch einen Code ersetzt werden, der eine Art von historischen Daten angibt;
die Speicherungsunmöglickeitsinformationen durch einen Code ersetzt werden, der die Speicherungsunmöglich­ keitsinformationen angibt.
21. Verfahren zum Prüfen eines Zielprogramms unter Verwen­ dung einer Programmprüfvorrichtung, die eine erste Speichereinrichtung und eine zweite Speichereinrichtung (23, 13) hat, zum Ausführen des Zielprogramms derart, daß historische Daten, die bei der Ausführung des Ziel­ programms erzeugt werden, erfaßt werden, und zum Über­ prüfen des Zielprogramms auf der Basis der erfaßten, historischen Daten, wobei das Zielprogramm ursprünglich durch eine zentrale Verarbeitungseinheit zum Bilden ei­ nes Systems in der Entwicklung ausgeführt wird, dadurch gekennzeichnet, daß es aufweist:
einen ersten Schritt, bei dem, wenn die erste Spei­ chereinrichtung (23) eine erste Speicherkapazität hat, die die historischen Daten speichern kann, die erfaßten historischen Daten vorübergehend in der ersten Spei­ chereinrichtung (23) gespeichert werden;
einen zweiten Schritt, bei dem, wenn die erste Spei­ chereinrichtung (23) keine erste speicherbare Speicher­ kapazität hat, sondern eine zweite Speicherkapazität hat, die die Speicherungsunmöglichkeitsinformationen speichern kann, die Speicherungsunmöglichkeitsinforma­ tionen vorübergehend in der ersten Speichereinrichtung (23) gespeichert werden, wobei die Speicherungsunmög­ lichkeitsinformationen angeben, daß die historischen Daten selbst nicht in der ersten Speichereinrichtung (23) gespeichert werden können;
einen dritten Schritt, bei dem, wenn die erste Spei­ chereinrichtung (23) auch die zweite Speicherkapazität nicht hat, die erste Speichereinrichtung (23) in einen Wartezustand gebracht wird, bis die zweite Speicherka­ pazität darin sichergestellt werden kann, und danach die Speicherungsunmöglichkeitsinformationen in der er­ sten Speichereinrichtung (23) gespeichert werden; und
einen vierten Schritt, bei dem die historischen Daten und die Speicherungsunmöglichkeitsinformationen aus der ersten Speichereinrichtung (23) ausgelesen werden, um in der zweiten Speichereinrichtung (13) gespeichert zu werden.
22. Zielprogrammprüfverfahren nach Anspruch 21, dadurch ge­ kennzeichnet, daß es weiterhin aufweist:
einen fünften Schritt zum Vergleichen der Bitlängen der historischen Daten und der Speicherungsunmöglich­ keitsinformationen mit einem Zeiger, um zu beurteilen, ob die historischen Daten und die Speicherungsunmög­ lichkeitsinformationen in der ersten Speichereinrich­ tung (23) gespeichert werden können, wobei der Zeiger eine Adresse eines am wenigsten signifikanten Bits von Informationen angibt, das bzw. die nachfolgend in der ersten Speichereinrichtung (23) gespeichert werden sol­ len.
23. Zielprogrammprüfverfahren nach Anspruch 21, dadurch ge­ kennzeichnet, daß es weiterhin aufweist:
einen sechsten Schritt zum Umwandeln der erfaßten, hi­ storischen Daten in ein Ablaufverfolgungspaket (TP), das in die erste Speichereinrichtung (23) gespeichert wird.
24. Zielprogrammprüfverfahren nach Anspruch 21, dadurch ge­ kennzeichnet, daß es weiterhin aufweist:
einen sechsten Schritt zum Umwandeln der erfaßten hi­ storischen Daten in eine Vielzahl von Ablaufverfol­ gungspaketen (TP), wobei jedes der vielzähligen Ablauf­ verfolgungspakete aus einer Vielzahl von Bits besteht.
25. Zielprogrammprüfverfahren nach Anspruch 21, dadurch ge­ kennzeichnet, daß:
die historischen Daten durch eine Adresse einer Ver­ zweigungsquelle und eine Adresse eines Verzweigungszie­ les, wenn entweder ein Interrupt, eine Ausnahme oder eine Verzweigung auftritt; einen zugegriffenen Daten­ wert und eine Adresse gebildet werden, wo die Daten ge­ speichert werden.
26. Zielprogrammprüfverfahren nach Anspruch 21, dadurch ge­ kennzeichnet, daß:
die historischen Daten durch einen Code ersetzt werden, der eine Art der historischen Daten angibt.
27. Verfahren zum Prüfen eines Zielprogramms unter Verwen­ dung einer Programmprüfvorrichtung, die eine erste Speichereinrichtung und eine zweite Speichereinrichtung (43, 13) hat, zum Ausführen des Zielprogramms derart, daß historische Daten, die bei der Ausführung des Ziel­ programms erzeugt werden, erfaßt werden, und zum Über­ prüfen des Zielprogramms auf der Basis der erfaßten, historischen Daten, wobei das Zielprogramm ursprünglich durch eine zentrale Verarbeitungseinheit zum Bilden ei­ nes Systems in der Entwicklung ausgeführt wird, dadurch gekennzeichnet, daß es aufweist:
einen ersten Schritt, bei dem, wenn die erste Spei­ chereinrichtung (43) eine erste Speicherkapazität hat, die die historischen Daten speichern kann, die erfaßten historischen Daten vorübergehend in der ersten Spei­ chereinrichtung (43) gespeichert werden;
einen zweiten Schritt, bei dem, wenn die erste Spei­ chereinrichtung (43) keine erste speicherbare Speicher­ kapazität hat, sondern eine zweite Speicherkapazität hat, die die Speicherungsunmöglichkeitsinformationen speichern kann, die Speicherungsunmöglichkeitsinforma­ tionen vorübergehend in der ersten Speichereinrichtung (43) gespeichert werden, wobei die Speicherungsunmög­ lichkeitsinformationen angeben, daß die historischen Daten selbst in der ersten Speichereinrichtung (43) nicht gespeichert werden können;
einen dritten Schritt, bei dem, wenn die erste Spei­ chereinrichtung (43) auch die zweite Speicherkapazität nicht hat, sowohl die historischen Daten als auch die Speicherungsunmöglichkeitsinformationen aus der ersten Speichereinrichtung (43) ausgelesen werden, um danach in der zweiten Speichereinrichtung (13) gespeichert zu werden, bis die zweite Speicherkapazität in der ersten Speichereinrichtung (43) sichergestellt werden kann; und
einen vierten Schritt, bei dem, wenn die historischen Daten nicht zugeführt werden, sowohl die historischen Daten als auch die Speicherungsunmöglichkeitsinforma­ tionen aus der ersten Speichereinrichtung (43) ausgele­ sen werden, um in der zweiten Speichereinrichtung (13) gespeichert zu werden.
28. Zielprogrammprüfverfahren nach Anspruch 27, dadurch ge­ kennzeichnet, daß es weiterhin aufweist:
einen fünften Schritt zum Vergleichen der Bitlängen der historischen Daten und der Speicherungsunmöglich­ keitsinformationen mit einem Zeiger, um zu beurteilen, ob sowohl die historischen Daten als auch die Speiche­ rungsunmöglichkeitsinformationen in der ersten Spei­ chereinrichtung (23) gespeichert werden können, wobei der Zeiger eine Adresse eines am wenigsten signifikan­ ten Bits von Informationen angibt, das bzw. die nach­ folgend in der ersten Speichereinrichtung (43) gespei­ chert werden sollen.
29. Zielprogrammprüfverfahren nach Anspruch 27, dadurch ge­ kennzeichnet, daß es weiterhin aufweist:
einen fünften Schritt zum Umwandeln der erfaßten, hi­ storischen Daten in ein Ablaufverfolgungspaket (TP), das in die erste Speichereinrichtung (23) gespeichert werden soll.
30. Zielprogrammprüfverfahren nach Anspruch 27, dadurch ge­ kennzeichnet, daß es weiterhin aufweist:
einen fünften Schritt zum Umwandeln der erfaßten, hi­ storischen Daten in eine Vielzahl von Ablaufverfol­ gungspaketen (TP), wobei jedes der vielzähligen Ablauf­ verfolgungspakete aus einer Vielzahl von Bits besteht.
31. Zielprogrammprüfverfahren nach Anspruch 27, dadurch ge­ kennzeichnet, daß:
die historischen Daten durch eine Adresse einer Ver­ zweigungsquelle und eine Adresse eines Verzweigungszie­ les, wenn entweder ein Interrupt, eine Ausnahme oder eine Verzweigung auftritt, durch einen zugegriffenen Datenwert und durch eine Adresse gebildet werden, wo die Daten gespeichert werden.
32. Zielprogrammprüfverfahren nach Anspruch 27, dadurch ge­ kennzeichnet, daß:
die historischen Daten durch einen Code ersetzt werden, der eine Art der historischen Daten angibt;
Speicherungsunmöglichkeitsinformationen durch einen Code ersetzt werden, der die Speicherungsunmöglich­ keitsinformationen angibt.
33. Computerlesbares Aufzeichnungsmedium zum Aufzeichnen eines Prüfprogramms für ein Zielprogramm darauf, da­ durch gekennzeichnet, daß:
das Prüfprogramm für das Zielprogramm durch eine Pro­ grammprüfvorrichtung zum Ausführen eines Zielprogramms derart, daß historische Daten, die durch Ausführen des Zielprogramms erzeugt werden, erfaßt werden, und zum Überprüfen des Zielprogramms auf der Basis der erfaß­ ten, historischen Daten geprüft wird, wobei das Ziel­ programm ursprünglich durch eine zentrale Verarbei­ tungseinheit ausgeführt wird, die ein System unter Ent­ wicklung bildet, dadurch gekennzeichnet, daß sie auf­ weist:
eine erste Speichereinrichtung und eine zweite Spei­ chereinrichtung (17, 13) zum Speichern von historischen Daten darin; und
eine Ablaufverfolgungseinrichtung (16), die in dem Fall betreibbar ist, daß das Zielprogramm durch die Pro­ grammprüfvorrichtung ausgeführt wird, um dadurch die historischen Daten derart zu erfassen, daß, wenn die erste Speichereinrichtung (17) eine Speicherkapazität hat, die die historischen Daten speichern kann, die Ab­ laufverfolgungseinrichtung (16) die erste Speicherein­ richtung (17) dazu veranlaßt, vorübergehend in ihr die erfaßten historischen Daten zu speichern; daß, wenn die erste Speichereinrichtung (17) nicht die speicherbare Speicherkapazität hat, die Ablaufverfolgungseinrichtung (16) alle historischen Daten, die in der ersten Spei­ chereinrichtung (17) gespeichert sind, liest und dann die zweite Speichereinrichtung (13) dazu veranlaßt, in ihr alle gelesenen historischen Daten zu speichern, und danach Speicherungsunmöglichkeitsinformationen in die erste Speichereinrichtung (17) speichert, wobei die Speicherungsunmöglichkeitsinformationen angeben, daß die historischen Daten selbst nicht in der ersten Spei­ chereinrichtung (17) gespeichert werden können; und daß, wenn die erfaßten historischen Daten nicht der Ab­ laufverfolgungseinrichtung (16) zugeführt werden, die Ablaufverfolgungseinrichtung (16) die historischen Da­ ten und die Speicherungsunmöglichkeitsinformationen, die in der ersten Speichereinrichtung (17) gespeichert sind, liest, um dadurch beide Daten in der zweiten Speichereinrichtung (13) zu speichern.
34. Computerlesbares Aufzeichnungsmedium zum Aufzeichnen eines Prüfprogramms für ein Zielprogramm darauf, da­ durch gekennzeichnet, daß:
das Prüfprogramm für das Zielprogramm durch eine Pro­ grammprüfvorrichtung zum Ausführen eines Zielprogramms derart, daß historische Daten, die beim Ausführen des Zielprogramms erzeugt werden, erfaßt werden, und zum Überprüfen des Zielprogramms auf der Basis der erfaßten historischen Daten, wobei das Zielprogramm ursprünglich von einer zentralen Verarbeitungseinheit ausgeführt wird, die ein System unter Entwicklung bildet, dadurch gekennzeichnet, daß sie aufweist:
eine erste Speichereinrichtung und eine zweite Spei­ chereinrichtung (23, 13) zum Speichern von historischen Daten; und
eine Ablaufverfolgungseinrichtung (22), die in einem Fall betreibbar ist, daß das Zielprogramm durch die Programmprüfvorrichtung ausgeführt wird, um dadurch die historischen Daten derart zu erfassen, daß, wenn die erste Speichereinrichtung (23) eine erste Speicherkapa­ zität hat, die die historischen Daten speichern kann, die Ablaufverfolgungseinrichtung (22) die erste Spei­ chereinrichtung (23) dazu veranlaßt, vorübergehend in ihr die erfaßten historischen Daten zu speichern; und daß, wenn die erste Speichereinrichtung (23) die erste Speicherkapazität nicht hat, aber eine zweite Speicher­ kapazität hat, die Speicherungsunmöglichkeitsinforma­ tionen speichern kann, die Ablaufverfolgungseinrichtung (22) die erste Speichereinrichtung (23) dazu veranlaßt, vorübergehend in ihr die Speicherungsunmöglichkeitsin­ formationen zu speichern, wobei die Speicherungsunmög­ lichkeitsinformationen angeben, daß die historischen Daten selbst nicht in der ersten Speichereinrichtung (23) gespeichert werden können; und daß, wenn die erste Speichereinrichtung (23) auch nicht die zweite Spei­ cherkapazität hat, die Ablaufverfolgungseinrichtung (22) in einen Wartezustand gebracht wird, bis die zwei­ te Speicherkapazität darin sichergestellt werden kann, und danach die erste Speichereinrichtung (23) veran­ laßt, die Speicherungsunmöglichkeitsinformationen darin zu speichern, und auch die historischen Daten und die Speicherungsunmöglichkeitsinformationen liest, die in der ersten Speichereinrichtung (23) gespeichert sind, um dadurch beide Daten in der zweiten Speichereinrich­ tung (13) zu speichern.
35. Computerlesbares Aufzeichnungsmedium zum Aufzeichnen eines Prüfprogramms für ein Zielprogramm darauf, da­ durch gekennzeichnet, daß:
das Prüfprogramm für das Zielprogramm durch eine Pro­ grammprüfvorrichtung zum Ausführen eines Zielprogramms derart, daß historische Daten, die durch Ausführen des Zielprogramms erzeugt werden, erfaßt werden, und zum Überprüfen des Zielprogramms auf der Basis der erfaß­ ten, historischen Daten, wobei das Zielprogramm ur­ sprünglich durch eine zentrale Verarbeitungseinheit ausgeführt wird, die ein System unter Entwicklung bil­ det, dadurch gekennzeichnet, daß sie aufweist:
eine erste Speichereinrichtung und eine zweite Spei­ chereinrichtung (43, 13) zum Speichern von historischen Daten; und
eine Ablaufverfolgungseinrichtung (42), die in einem Fall betreibbar ist, daß das Zielprogramm durch die Programmprüfvorrichtung ausgeführt wird, um dadurch die historischen Daten derart zu erfassen, daß, wenn die erste Speichereinrichtung (43) eine erste Speicherkapa­ zität hat, die die historischen Daten speichern kann, die Ablaufverfolgungseinrichtung (42) die erste Spei­ chereinrichtung (43) dazu veranlaßt, vorübergehend in ihr die erfaßten, historischen Daten zu speichern; und daß, wenn die erste Speichereinrichtung (43) die erste speicherbare Speicherkapazität nicht hat, aber eine zweite Speicherkapazität hat, die Speicherungsunmög­ lichkeitsinformationen speichern kann, die Ablaufver­ folgungseinrichtung (42) die erste Speichereinrichtung (43) dazu veranlaßt, vorübergehend in ihr die Speiche­ rungsunmöglichkeitsinformationen zu speichern, wobei die Speicherungsunmöglichkeitsinformationen angeben, daß die historischen Daten selbst nicht in der ersten Speichereinrichtung (43) gespeichert werden können; und daß, wenn die erste Speichereinrichtung (43) auch nicht die zweite Speicherkapazität hat, die Ablaufverfol­ gungseinrichtung die historischen Daten und die Spei­ cherungsunmöglichkeitsinformationen von der ersten Speichereinrichtung liest, bis die erste Speicherein­ richtung die zweite Speicherkapazität aufweisen kann, und dann sowohl die historischen Daten als auch die Speicherungsunmöglichkeitsinformationen in die zweite Speichereinrichtung (13) speichert; und daß danach, wenn die erfaßten, historischen Daten der Ablaufverfol­ gungseinrichtung nicht zugeführt werden, die Ablaufver­ folgungseinrichtung (42) sowohl die historischen Daten als auch die Speicherungsunmöglichkeitsinformationen, die in der ersten Speichereinrichtung (43) gespeichert sind, liest, um dadurch beide Daten in der zweiten Speichereinrichtung (13) speichern zu können.
DE19919388A 1998-04-28 1999-04-28 Programmprüfverfahren, Programmprüfvorrichtung und computerlesbares Aufzeichnungsmedium zum Aufzeichnen eines Zielprogramm-Prüfprogramms, das die Ablaufverfolgungsunterbrechungszeit reduzieren kann Expired - Fee Related DE19919388B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP10118969A JP3116901B2 (ja) 1998-04-28 1998-04-28 プログラム検査方法、プログラム検査装置及びプログラム検査プログラムを記録した記録媒体
JP10-118969 1998-04-28

Publications (2)

Publication Number Publication Date
DE19919388A1 true DE19919388A1 (de) 1999-11-11
DE19919388B4 DE19919388B4 (de) 2004-02-12

Family

ID=14749773

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19919388A Expired - Fee Related DE19919388B4 (de) 1998-04-28 1999-04-28 Programmprüfverfahren, Programmprüfvorrichtung und computerlesbares Aufzeichnungsmedium zum Aufzeichnen eines Zielprogramm-Prüfprogramms, das die Ablaufverfolgungsunterbrechungszeit reduzieren kann

Country Status (3)

Country Link
US (1) US6321290B1 (de)
JP (1) JP3116901B2 (de)
DE (1) DE19919388B4 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7099817B2 (en) * 2002-11-22 2006-08-29 Texas Instruments Incorporated Stalling CPU pipeline to prevent corruption in trace while maintaining coherency with asynchronous events
US20040153635A1 (en) * 2002-12-30 2004-08-05 Kaushik Shivnandan D. Privileged-based qualification of branch trace store data
US7146473B1 (en) * 2003-11-14 2006-12-05 Sun Microsystems, Inc. Mechanism for ring buffering in an arbitrary-action tracing framework
US7317992B2 (en) 2004-06-16 2008-01-08 General Electric Company Method and apparatus for inspecting dovetail edgebreak contour
JP2006120071A (ja) * 2004-10-25 2006-05-11 Matsushita Electric Ind Co Ltd プロセッサおよび開発支援装置
WO2007047348A2 (en) * 2005-10-14 2007-04-26 Revivio, Inc. Technique for remapping data in a storage management system
US20090037886A1 (en) * 2007-07-30 2009-02-05 Mips Technologies, Inc. Apparatus and method for evaluating a free-running trace stream
US8001428B2 (en) * 2007-10-29 2011-08-16 Arm Limited Packing trace protocols within trace streams
JP5376509B2 (ja) 2009-03-16 2013-12-25 スパンション エルエルシー 実行履歴トレース方法
US8935574B2 (en) 2011-12-16 2015-01-13 Advanced Micro Devices, Inc. Correlating traces in a computing system
US8832500B2 (en) 2012-08-10 2014-09-09 Advanced Micro Devices, Inc. Multiple clock domain tracing
US8959398B2 (en) 2012-08-16 2015-02-17 Advanced Micro Devices, Inc. Multiple clock domain debug capability
US9983986B2 (en) 2015-09-28 2018-05-29 International Business Machines Corporation Testing code response to injected processing errors

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61168435A (ja) 1985-01-18 1986-07-30 Fujitsu Ltd ウエ−ハの研磨方法
JPS6359640A (ja) 1986-08-30 1988-03-15 Nec Corp ログ情報フアイル制御方式
JPH033043A (ja) 1989-05-31 1991-01-09 Nec Eng Ltd 半導体装置
JPH03237544A (ja) 1990-02-14 1991-10-23 Nec Corp 通信制御処理装置
JPH05181713A (ja) 1991-12-29 1993-07-23 Nec Corp ヒストリ情報採取方式
JPH06324916A (ja) 1993-05-10 1994-11-25 Hokuriku Nippon Denki Software Kk 障害情報ロギング方式
JP3290280B2 (ja) * 1994-01-13 2002-06-10 株式会社東芝 情報処理装置
US6006033A (en) * 1994-08-15 1999-12-21 International Business Machines Corporation Method and system for reordering the instructions of a computer program to optimize its execution
US5680542A (en) * 1995-06-07 1997-10-21 Motorola, Inc. Method and apparatus for synchronizing data in a host memory with data in target MCU memory
JPH09259015A (ja) 1996-03-21 1997-10-03 Nec Ibaraki Ltd ログデータ格納装置
US6148381A (en) * 1997-04-08 2000-11-14 Advanced Micro Devices, Inc. Single-port trace buffer architecture with overflow reduction
US6047353A (en) * 1997-05-07 2000-04-04 Emc Corporation Method and apparatus for monitoring of host activities relating to an attached storage device
US6182210B1 (en) * 1997-12-16 2001-01-30 Intel Corporation Processor having multiple program counters and trace buffers outside an execution pipeline
US6145123A (en) * 1998-07-01 2000-11-07 Advanced Micro Devices, Inc. Trace on/off with breakpoint register
US6173395B1 (en) * 1998-08-17 2001-01-09 Advanced Micro Devices, Inc. Mechanism to determine actual code execution flow in a computer
US6052700A (en) * 1998-09-17 2000-04-18 Bull Hn Information Systems Inc. Calendar clock caching in a multiprocessor data processing system

Also Published As

Publication number Publication date
JPH11312098A (ja) 1999-11-09
DE19919388B4 (de) 2004-02-12
US6321290B1 (en) 2001-11-20
JP3116901B2 (ja) 2000-12-11

Similar Documents

Publication Publication Date Title
DE4305442C2 (de) Verfahren und Vorrichtung zum Erzeugen eines Testvektors
DE69729771T2 (de) Integrierte Schaltung mit einer eingebauten Selbsttestanordnung
DE69835794T2 (de) Halbleiterschaltung und steuerungsverfahren dazu
DE60224774T2 (de) Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit
DE112005001790B4 (de) Programmerstellungseinrichtung für eine programmierbare Steuervorrichtung, Programmerstellungsverfahren für eine programmierbare Steuervorrichtung und Aufzeichnungsmedium mit darauf aufgezeichnetem Programm
DE19919388A1 (de) Programmprüfverfahren, Programmprüfvorrichtung und computerlesbares Aufzeichnungsmedium zum Aufzeichnen eines Zielprogramm-Prüfprogramms, das die Ablaufverfolgungsunterbrechungszeit reduzieren kann
DE10017619C2 (de) Vorrichtung und Verfahren zum Prüfen einer Halbleitervorrichtung
DE10211889A1 (de) Verarbeitungseinheit zur Ausführung von Ereignisprozessen in Echtzeit ohne Verursachung einer Prozessstörung
DE2912073C2 (de)
DE102004012279B3 (de) Verfahren und Vorrichtung zum Speicherselbsttest von eingebetteten Speichern in Halbleiterchips
DE10337284A1 (de) Integrierter Speicher mit einer Schaltung zum Funktionstest des integrierten Speichers sowie Verfahren zum Betrieb des integrierten Speichers
DE10035705B4 (de) Verfahren zum Analysieren des Ersatzes fehlerhafter Zellen in einem Speicher und Speichertestvorrichtung mit einem Fehleranalysator, der von dem Verfahren Gebrauch macht
DE10019790C2 (de) Testsystem für Halbleitervorrichtungen
DE3037475A1 (de) Schnittstellenschaltungsanordnung fuer eine datenverarbeitungsanlage
DE19959643A1 (de) Steuersystem zum Zugreifen auf Daten über Block- und Seitengrenzen hinweg
DE10213860B4 (de) Programmierbare Steuerung
DE19721516C2 (de) Mikroprozessor
DE3200626A1 (de) Verfahren zur ueberpruefung, ob ein speicher in ein mikrocomputersystem eingefuegt ist
DE10213009A1 (de) Verfahren zum elektronischen Testen von Speichermodulen
DE69915788T2 (de) Mikrokontrollgerät mit Fehlerbeseitigungsunterstützung
DE102009009172B4 (de) Abbildung von Adressen eines Programmcodes und von Adressen von Daten in einem Speicher
EP1260905B1 (de) Programmgesteuerte Einheit
DE19808337A1 (de) Taktsynchronisierte Einchipspeichereinrichtung
DE10062404A1 (de) Vorrichtung und Verfahren zum Reduzieren der Anzahl von Adressen fehlerhafter Speicherzellen
WO1988009554A1 (en) Process and arrangement for self-checking of a word-oriented ram

Legal Events

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

Ipc: G06F 11/30

8127 New person/name/address of the applicant

Owner name: NEC ELECTRONICS CORP., KAWASAKI, KANAGAWA, JP

8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee