DD239481A1 - DEVICE FOR PROTOCOLING PROGRAM TASKS - Google Patents

DEVICE FOR PROTOCOLING PROGRAM TASKS Download PDF

Info

Publication number
DD239481A1
DD239481A1 DD27857985A DD27857985A DD239481A1 DD 239481 A1 DD239481 A1 DD 239481A1 DD 27857985 A DD27857985 A DD 27857985A DD 27857985 A DD27857985 A DD 27857985A DD 239481 A1 DD239481 A1 DD 239481A1
Authority
DD
German Democratic Republic
Prior art keywords
information
command
filter
consecutive
bus
Prior art date
Application number
DD27857985A
Other languages
German (de)
Inventor
Matthias Goethel
Helmut Grimm
Original Assignee
Robotron Rationalisierung
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 Robotron Rationalisierung filed Critical Robotron Rationalisierung
Priority to DD27857985A priority Critical patent/DD239481A1/en
Publication of DD239481A1 publication Critical patent/DD239481A1/en

Links

Abstract

Die Erfindung betrifft eine Einrichtung zum Protokollieren von Programmablaeufen, einen Tracer, zum Echtzeittest von Software und ist vorteilhaft vorzugsweise beim Testbetrieb von Mikrorechnern bei umfangreichen und durch Interrupt unterbrechbaren Programmsystemen anwendbar, wenn der Ablauf von besonders langen bzw. von stark verzweigten Programmstuecken im Zusammenhang getestet werden soll. Das Ziel ist dabei, nur die unbedingt notwendigen Informationen abzuspeichern, Pruefzeiten zu reduzieren, und die technische Aufgabe dazu besteht in der Sperrung aller redundanten Informationen fuer die Verfolgung des Programmablaufes, bei sonst gleicher Speicherkapazitaet einer Protokolliereinrichtung. Das wird erreicht, in dem vor Uebernahme der zu protokollierenden Information in das der Protokolliereinrichtung eigene Speicherfeld die Information ein Filter durchlaeuft, welches nur dann einen Speichervorgang in einem Speicherfeld zulaesst, wenn Bedingungen eingetreten sind, die die konsekutive Befehlsabarbeitung unterbrechen. FigurThe invention relates to a device for logging program sequences, a tracer, for real-time testing of software and is advantageously preferably applicable in the test mode of microcomputers in extensive and interrupt interruptible program systems, when the flow of particularly long or highly branched programs are tested in context should. The goal is to store only the information that is absolutely necessary, to reduce test times, and the technical task is to block all redundant information for tracking the program flow, otherwise the same storage capacity of a logging device. This is achieved by passing the information into the logging device's own memory field before the information to be logged passes through the information, which only allows a memory operation in a memory field when conditions have occurred that interrupt the consecutive command execution. figure

Description

Hierzu 1 Seite ZeichnungFor this 1 page drawing

Anwendungsgebiet der ErfindungField of application of the invention

Die Erfindung dient dem Testen von Software für Digitalrechner unter Echtzeitbedingungen, speziell bei komplizierten und umfangreichen sowie durch Interrupt unterbrechbaren Programmsystemen, vorzugsweise bei Mikrorechnern und vorteilhaft, wenn der Ablauf von besonders langen bzw. von stark verzweigten Programmstücken im Zusammenhang verfolgt und getestet werden soll und wenn beim Zuverlässigkeitstest von Software für eine möglichst große Anzahl von Eingangsgrößen und deren Kombinationen möglichst schnell eine Übersicht über umfangreiche Programmabläufe gewonnen werden muß.The invention is used for testing software for digital computers under real-time conditions, especially in complicated and extensive interrupt interruptible program systems, preferably in microcomputers and advantageous if the flow of particularly long or highly branched pieces of program should be tracked and tested in connection and if In the reliability test of software for the largest possible number of input variables and their combinations as quickly as possible an overview of extensive program sequences must be obtained.

Charakteristik der bekannten technischen LösungenCharacteristic of the known technical solutions

Bekannt sind Lösungen, die die Protokollierung mit Softwareunterstützung vornehmen, in dem bestimmte Hilfsprogramme zu definierten Zeitpunkten das Speichern der notwendigen Protokollinformationen übernehmen. Diese Lösungen verletzen die Echtzeitbedingungen. Bekannt sind weiterhin Lösungen, die das Abspeichern der Protokollinformation durch geeignete Schaltungen erzwingen, die ohne Softwareunterstützung auskommen und deshalb nicht die Echtzeitbedingungen verletzen. Das Abspeichern geschieht bekannterweise mit jedem Buszyklus oder periodisch in konstanten Zeitabständen (Mikrorechner-Entwicklungssystem MRES20 des VEV Kombinat Robotron und DD-WP 155215). Dadurch entstehen folgende Nachteile:Solutions are known that perform logging with software support in which certain utilities take over storing the necessary protocol information at defined times. These solutions violate the real-time conditions. Also known are solutions that force the storage of the protocol information by appropriate circuits that do without software support and therefore do not violate the real-time conditions. The storage is done, as is known, with each bus cycle or periodically at constant time intervals (Microcomputer Development System MRES20 of the VEV Kombinat Robotron and DD-WP 155215). This results in the following disadvantages:

— Es wird jeder Buszyklus mindestens einmal oder bei zeitgesteuerter Aufzeichnung mehrmals abgespeichert, unabhängig davon, ob die darin enthaltenen Informationen für die Programmverfolgung notwendig oder überflüssig sind.- Each bus cycle is saved at least once or during scheduled recording several times, regardless of whether the information contained therein is necessary or superfluous for the program tracking.

— Die Auswertung der beim Protokollieren abgespeicherten Informationen ist relativ aufwendig, da die relevanten Informationen erst aus der gesamten Aufzeichnungsmasse herausgesucht werden müssen.- The evaluation of the stored information during logging is relatively expensive, since the relevant information must first be selected from the entire recording mass.

— Für zeitlich längere Aufzeichnungen sind Speicher mit sehr großen Kapazitäten erforderlich.- For longer recordings memory with very large capacities is required.

Bekannte Protokolliereinrichtungen zeichnen z. B. eine festgelegte Anzahl von Signalen in festem Zeittakt auf, verbunden mit diesen genannten Nachteilen.Known logging facilities draw z. B. a fixed number of signals in fixed time, associated with these disadvantages mentioned.

Eine andere Protokolliereinrichtung arbeitet mit einem Aufzeichnungstakt, der durch spezielle Verknüpfung von stets abzutastenden Signalen gewonnen wird, die so gewählt ist, daß bei Anwendung am Mikrorechner am Ende jedes Buszyklus ein Signal generiert wird. Solche Echtzeitspeicher (REAL) haben gegenüber der Logikanalyse den Vorteil, daß die Informationsmenge vorverdichtet aufgenommen wird. Anderen bekannten Programmablaufverfolgern liegen Vergleiche zwischen einer Sollfolge mit einer Istfolge von Adressen des laufenden Rechners zugrunde. Diese in DE-OS 2002166 und OS 3242502 vorgeschlagenen Lösungen dienen jedoch nicht der Verbesserung der Aufzeichnung der Arbeitsreihenfolge des Rechners. Eine Informationsverdichtung wird in DD-WP 210776 aufgezeigt, in dem echtzeitfähig alle Adressen der Befehlsholezyklen im Adreßprotokoll und Blockbefehle, als mehrfach gleiche Operationen mit verschiedenen Daten, nur einmal gespeichert werden. Das Interruptgeschehen ist in dieser Art nicht exakt erfaßbar.Another logging device operates with a record clock, which is obtained by special combination of signals to be always scanned, which is selected so that when used on the microcomputer at the end of each bus cycle, a signal is generated. Such real-time memories (REAL) have the advantage over logic analysis that the amount of information is recorded in a pre-compressed manner. Other known program trackers are based on comparisons between a set sequence with an actual sequence of addresses of the current computer. However, these solutions proposed in DE-OS 2002166 and OS 3242502 do not serve to improve the record of the work order of the computer. An information compression is shown in DD-WP 210776, in which all addresses of the command loop cycles in the address protocol and block commands, as multiply identical operations with different data, are stored in real-time only once. The interruption is not exactly detectable in this way.

Ziel der ErfindungObject of the invention

Das Ziel der Erfindung besteht darin, den Test von Software zu vereinfachen. Dazu sind für die Programmablaufverfolgung nur die unbedingt notwendigen Informationen abzuspeichern, also die Zahl der Informationen wesentlich einzuschränken und das Abspeichern unnützer Informationen zu vermeiden.The aim of the invention is to simplify the testing of software. For this purpose, only the absolutely necessary information must be stored for the program trace, that is to say the number of information must be substantially reduced and the storage of useless information avoided.

Das Wesen der ErfindungThe essence of the invention

Die technische Aufgabe, die durch die Erfindung gelöst wirdThe technical problem which is solved by the invention

Sie besteht darin, eine Einrichtung zum Protokollieren von Programmabläufen zu schaffen, die den Informationsstrom vor der Abspeicherung so durch ein geeignetes Filter behandelt, daß alle für die Verfolgung des Programmablaufes redundanten Informationen gesperrt werden.It is to provide a means for logging program flows, which treats the information stream before storage by a suitable filter so that all information redundant for the tracking of the program flow is blocked.

Merkmale der ErfindungFeatures of the invention

Im Einzelnen besteht die erfindungsgemäße Protokolliereinrichtung aus einem Speicherfeld, einem Filter für den Durchlauf der Information mit Signal für einen Speichervorgang, wenn der konsekutive Programmablauf verlassen wurde, einem Zwischenspeicher für die Funktion eines Filters, einem zyklisch arbeitenden Adreßzähler und einer Start-Stopp-Einrichtung zur Protokol I beg renzu ng.In detail, the logging device according to the invention consists of a memory array, a filter for the passage of the information with signal for a memory operation, when the konsekutive program flow was left, a buffer for the function of a filter, a cyclic address counter and a start-stop device for Protocol I beg.

Die erfindungsgemäße Protokolleinrichtung funktioniert wie folgt. Für das Speicherfeld hinreichender Breite, wobei die Speicherbreite durch die Anzahl der aufzuzeichenden Signale bestimmt wird, die den Befehlsablauf, vorzugsweise Befehlsadressen und Zusatzinformationen, repräsentieren, wird die vorgewählte Tiefe durch die Anzahl der aufzuzeichnenden Unterbrechungen des konsekutiven Programmablaufes bestimmt. Ein Filter hat die Aufgabe, den Informationsfluß vom Rechner auszuwerten und dann ein Signal abzugeben, wenn der konsekutive Programmablauf verlassen wird, oder wenn ausgewählte Signale ihre logische Wertigkeit ändern, wobei das Signal eine Informationsabspeicherung in das Speicherfeld auslöst.The protocol device according to the invention functions as follows. For the memory field of sufficient width, the memory width being determined by the number of signals to be recorded representing the instruction flow, preferably instruction addresses and ancillary information, the preselected depth is determined by the number of consecutive program sequence interrupts to be recorded. A filter has the task of evaluating the flow of information from the computer and then output a signal when the Konsekutive program flow is left, or when selected signals change their logical value, the signal triggers an information storage in the memory field.

Für Mikrorechner mit Busstruktur bekannter Art, bei denen der Bus sich aus Adreßbus, Datenbus und Steuerbus zusammensetzt und das Filter eine logische Schaltung darstellt, werden die Signale des Steuerbusses so verknüpft, daß ein Ausgangssignal erzeugt wird, wenn ein Befehlsholezyklus abgearbeitet wird. Dabei wird dadurch ein Vergleich aktiviert, der die Befehlsdaten, die zu diesem Zeitpunkt den Datenbus belegen, mit vorgegebenen Datenmustern vergleicht. Bei Übereinstimmung wird ein Gültigkeitssignal abgegeben, derart, daß die vorgegebenen Datenmuster den Befehlsdaten oder auch Befehlscoden entsprechen, die in dem Rechner einen Sprungbefehl auslösen bzw. die konsekutive Befehlsabarbeitung unterbrechen. Dieses Gültigkeitssignal überträgt die Belegung des Adreßbusses in das Speicherfeld. Gegebenenfalls wird die Adreßbusbelegung zur sicheren Übernahme in das Speicherfeld zwischengespeichert und weiterhin ein ergänzender logischer Schaltungsteil dem Filter eingefügt, der die Steuerbussignale verknüpft und dann das Gültigkeitssignal auslöst, wenn externe Bedingungen wie maskierbarer und/oder nichtmaskierbarer Interrupt die konsekutive Befehjsabarbeitung unterbrechen und diese Unterbrechung nicht durch die beschriebene Analyse des Befehlsstromes mittels Vergleich festgestellt werden kann.For microcomputers with a bus structure of known type in which the bus is composed of address bus, data bus and control bus and the filter represents a logic circuit, the signals of the control bus are linked so that an output signal is generated when a command loop cycle is executed. In this case, a comparison is activated, which compares the command data, which occupy the data bus at this time, with predetermined data patterns. Upon coincidence, a validity signal is output, such that the predetermined data patterns correspond to the command data or command codes that trigger a jump command in the computer or interrupt the consecutive command processing. This validity signal transmits the assignment of the address bus in the memory field. Optionally, the address bus occupancy is cached for safe transfer to the memory array and further a supplementary logic circuit part is inserted into the filter which combines the control bus signals and then triggers the validity signal if external conditions such as maskable and / or unmaskable interrupt interrupt the consecutive instruction execution and do not perform this interruption the described analysis of the instruction stream can be determined by comparison.

Es ist für die Verringerung der Informationsredundanz im Protokoll vorteilhaft, wenn das Filter den Abspeichervorgang so lange unterdrückt, wie ein Befehl abgearbeitet wird, der als Sprung auf sich selbst wirkt.It is advantageous for the reduction of information redundancy in the protocol if the filter suppresses the store operation as long as a command that acts as a jump on itself is executed.

Bei Rechnern, deren Signale nur im Multiplexverfahren zugänglich sind, kann die Konstruktion des Filters auf unaufwendige Weise ermöglicht werden.In computers whose signals are accessible only by multiplexing, the construction of the filter can be made possible in an inexpensive way.

Der dem Filter beigegebene Zwischenspeicher hat dann die Aufgabe, die vom Protokollierer auszuwertenden Informationen für die Funktion des Filters so lange konstant zu halten, bis das Ausgangssignal des Filters Gültigkeit besitzt und die möglicherweise erfolgende Abspeicherung der relevanten Information in das Speicherfeld bei Unterbrechung des konsekutiven Programmablaufes abgeschlossen ist.The buffer added to the filter then has the task of keeping the information to be evaluated by the logger constant for the function of the filter until the output signal of the filter is valid and the possibly successful storage of the relevant information in the memory field is completed when the consecutive program sequence is interrupted is.

Vorteilhaft ist weiterhin, wenn der Zwischenspeicher ausgewählte Informationen auch über die Dauer der Abarbeitung mehrerer Befehle zwischenspeichert, wenn diese Informationen den Hinweis auf ein zu einem späteren Zeitpunkt eintretendes Verlassen der konsekutiven Befehlsabarbeitung enthalten. Diese Informationen würden dann erst nach dem tatsächlichen Verlassen des konsekutiven Befehlsablaufes gelöscht werden. Dadurch werden alle Informationen aus dem Zwischenspeicher in das Speicherfeld übernommen, die für alle Befehle gültig sind, welche in der Zeitspanne ab Zwischenspeicherung der Hinweisinformation und Löschen der Hinweisinformation durch die tatsächliche Unterbrechung des konsekutiven Programmablaufes abgearbeitet werden.It is also advantageous if the buffer also stores selected information over the duration of the processing of a plurality of instructions, if this information contains the reference to a leaving of the consecutive command processing occurring at a later time. This information would then be deleted only after actually leaving the consecutive command sequence. As a result, all information is transferred from the buffer in the memory field, which are valid for all commands, which are processed in the period from caching the hint information and clearing the hint information by the actual interruption of the consecutive program flow.

Die parallel mit der relevanten Sprungadresse abgespeicherten Zusatzinformationen halten in geeignet codierter Form die Ursache für das Verlassen des konsekutiven Programmablaufes fest. Damit wird die Auswertung des Protokolleserleichert bzw. erst ermöglicht. Eine Start-Stop-Einrichtung, die dem definierten Ein- und Ausschalten des Protokoll-Vorganges dient, wobei die Signale zum Starten/Stoppen vorzugsweise durch eine geeignete Hardware oder durch Software erzeugt werden, begrenzt so, daß der Protokollvorgang auf interessierende Programmabschnitte begrenzbar ist.The additional information stored in parallel with the relevant jump address, in suitably coded form, determines the cause for leaving the consecutive program sequence. This makes the evaluation of the protocol easier or only possible. A start-stop device, which serves the defined switching on and off of the protocol process, wherein the signals for starting / stopping are preferably generated by a suitable hardware or by software, limited so that the protocol process can be limited to program sections of interest.

Es ist vorteilhaft, die Zeitpunkte für Beginn und Ende des Protokollierens sowohl durch externe Steuersignale als auch durch Markierungsbefehle zu bestimmen.It is advantageous to determine the start and end times of logging both by external control signals and by tag commands.

Eine Besonderheit ist, wenn der Zwischenspeicher bestimmte Signale aufnimmt und das Filter darauf Bezug nehmen kann, wenn die Signale ihre logische Wertigkeit verändern und damit ihre Protokollierung des zu diesem Zeitpunkt gerade laufenden Befehls erzwungen wird. Dadurch wird nicht nur zu dem Zeitpunkt das Protokoll ausgelöst, wenn der konsekutive Programmablauf unterbrochen wird, sondern es kann somit auch dann protokolliert werden, wenn externe Signale ihre Wertigkeit ändern, wodurch im Protokoll auch die Zeitpunkte festgehalten werden können, bei denen externe Signale erst nach einer gewissen Reaktionszeit das Verlassen des konsekutiven Programmablaufes auslösen, also etwa Unterbrechungsanmeldungen.A peculiarity is when the buffer picks up certain signals and the filter can refer to them as the signals change their logical value and thus their logging of the currently running command is enforced. This not only triggers the protocol at the time when the consecutive program sequence is interrupted, but it can thus be logged even if external signals change their significance, which can be recorded in the minutes and the time at which external signals only after a certain reaction time trigger the abandonment of the consecutive program sequence, so about interrupt applications.

Ausführungsbeispielembodiment

Die Erfindung soll nachfolgend an einem Ausführungsbeispiel erläutert werden. In der Figur ist die erfindungsgemäße Protokolliereinrichtung dargestellt. Sie ist für einen 8-Bit-Mikrorechner konzipiert. Hierzu wurde das Speicherfeld 1 für eine Aufzeichnungsbreite von 16 Bit, der Breiteeines Adreß-Bus und zusätzlich einer Breite von 8 Bit für Zusatzinformationen mit einer Speichertiefe von 2 K Byte aufgebaut. Die Arbeitsweise des Filters 2 in Verbindung mit dem Zwischenspeicher 5 wurde so gewählt, daß je Unterbrechung des konsekutiven Programmablaufes zwei Speicherplätze im Speicherfeld 1 beschrieben werden. Dabei wird der Speicherplatz η mit der Adresse belegt, bei der der konsekutive Programmablauf unterbrochen wurde und der Speicherplatz η + 1 enthält die Folgeadresse nach der Unterbrechung.The invention will be explained below using an exemplary embodiment. In the figure, the logging device according to the invention is shown. It is designed for an 8-bit microcomputer. For this purpose, the memory array 1 was constructed for a recording width of 16 bits, the width of an address bus and additionally an 8-bit width for additional information with a memory depth of 2 K bytes. The operation of the filter 2 in conjunction with the latch 5 was chosen so that two memory locations are described in the memory array 1 per interruption of the consecutive program flow. The memory location η is occupied by the address at which the consecutive program sequence was interrupted and the memory location η + 1 contains the following address after the interruption.

Weiter existiert eine Logik, die einen Standard-Bus-Anschluß an das Speicherfeld 1 organisiert, mit dessen Hilfe nach Beendigung des Protokolliervorganges der Inhalt des Speicherfeldes 1 durch den Mikrorechner ausgelesen und geeignet ausgewertet werden kann. Der Adreßzähler 6 wird durch eine Standardschaltung realisiert. Der Zählumfang beträgt 11 Bit. Die Start-Stop-Einrichtung 7 wirkt im ausgeführten Beispiel auf das Filter 2 in der oben vorgeschlagenen Weise. Dazu wird ein extern zuführbares Signal ausgewertet, gleichberechtigt dazu das Vorliegen des Operationscodes zweier ausgewählter Befehle. Diese ausgewählten Befehle verändern nicht den Zustand der CPU.Next there is a logic that organizes a standard bus connection to the memory array 1, with the help of which, after completion of the logging process, the content of the memory array 1 can be read out by the microcomputer and suitably evaluated. The address counter 6 is realized by a standard circuit. The count is 11 bits. The start-stop device 7 acts in the example performed on the filter 2 in the manner proposed above. For this purpose, an externally supplied signal is evaluated, equal to the presence of the operation code of two selected commands. These selected commands do not change the state of the CPU.

Entsprechend den Möglichkeiten der Unterbrechung der konsekutiven Arbeitsweise des verwendeten Mikrorechners wurde die Auswahl der Zusatzinformation auf 8 Bit festgelegt. Dabei bezeichnen 3 Bit in codierter Form das Auftreten von Sprungbefehlen, Unterprogrammaufrufen und Restarts. Die restlichen Bits werden zur Kennzeichnung folgender unabhängig voneinander und teilweise gleichzeitig auftretender Programmunterbrechungsbedingungen benutzt:According to the possibilities of interrupting the consecutive operation of the microcomputer used, the selection of additional information was set to 8 bits. In this case, 3 bits in coded form indicate the occurrence of jump instructions, subroutine calls and restarts. The remaining bits are used to identify the following independently and partially concurrent program interrupt conditions:

— maskierbarer Interrupt- Maskable interrupt

— Anforderung eines nichtmaskierbaren Interrupts- Request a non-maskable interrupt

— Ausführung eines nichtmaskierbaren Interrupts- Execution of a non-maskable interrupt

— Start-Stop des Protokolliervorganges durch esternes Signal oder Softwarebedingungen.- Start-stop of the logging process by an initial signal or software conditions.

Das Filter 2 wurde folgendermaßen ausgeführt: Ein Befehlsdekoder analysiert das Signalspiel des Mikrorechner-Bus' und vollzieht in hinreichender und geeigneter Weise den Befehlsablauf der CPU nach. Unter anderem erkennt er den Beginn eines neuen Befehlsabarbeitungszyklusses. Zu diesem Zeitpunkt sind die Befehls-ADR zwischengespeichert. Wenn im weiteren der Befehlsdekoderausgewählte Befehle erkennt, die für das Sprunggeschehen beim Ablauf eines Programmes relevant sind, dann wird im Sinne der Funktion des Filters 2 die Übernahme der Befehls-ADR aus dem Zwischenspeicher 5 in das Speicherfeld 1 veranlaßt und außerdem automatisch die Übernahme der Befehls-ADR des nächsten in der Befehlsabarbeitung folgenden Befehls: Protokollierung der Absprung-und Sprung-Ziel-ADR.The filter 2 was executed as follows: A command decoder analyzes the signal play of the microcomputer bus and sufficiently and appropriately executes the instruction flow of the CPU. Among other things, it recognizes the beginning of a new command execution cycle. At this time, the instruction ADRs are cached. If, further, the instruction decoder recognizes selected instructions that are relevant to the leap in the course of a program, then in the sense of the function of the filter 2, the transfer of the instruction ADR from the buffer 5 is caused in the memory array 1 and also automatically take over the command -ADR of the next instruction following in the instruction execution: Logging of the jump and jump target ADR.

Funktionsbedingt wird während dieses Ablaufes der Adreßzähler 6 um 2 Positionen weitergeschaltet. Die dabei synchron mit der Abspeicherung der Adressen in das Speicherfeld 1 eingeschriebenen Zusatzinformationen werden ebenfalls vom Befehlsdekoder geliefert. Interrupts und die Beeinflussung der Start-Stop-Einrichtung 7 können vom Befehlsdekoder nicht vollständig erkannt werden und werden deshalb im Sinne der Funktion des Filters 2 durch eine Zusatzlogik ausgewertet und die Übernahme der entsprechenden Befehlsadressen in das Speicherfeld 1 auf die gleiche Weise veranlaßt, wie oben bei der Erkennung von für das Sprunggeschehen relevanten Befehlen beschrieben wurde.Due to the function, the address counter 6 is advanced by 2 positions during this process. The additional information written into the memory field 1 synchronously with the storage of the addresses is likewise supplied by the command decoder. Interrupts and the influence of the start-stop device 7 can not be completely recognized by the command decoder and are therefore evaluated in terms of the function of the filter 2 by an additional logic and causes the acquisition of the corresponding command addresses in the memory array 1 in the same manner as above was described in the recognition of relevant to the jump events commands.

Um die Wirksamkeit des Filters bei der Anwendung am Mikrorechner zu erhöhen, werden durch Zusatzschaltungen außerdem relative Sprünge auf sich selbst und Haltezustände erkannt und dafür die Adressenübernahme ins Speicherfeld 1 unterdrückt, obwohl es sich dabei ebenfalls um Abweichungen vom konsekutiven Programmablauf handelt. Das ist zweckmäßig, um die Informationsredundanz im Protokoll weiter zu verringern.In order to increase the effectiveness of the filter when used on the microcomputer, additional jumps are also detected by additional circuits on themselves and holding states and for the address transfer into the memory field 1 suppressed, although it is also a deviation from the consecutive program sequence. This is useful to further reduce information redundancy in the protocol.

Da die CPU des verwendeten Mikrorechners kein Signalspiel bei Annahme eines NMI abgibt, das sich eindeutig von einer normalen Befehlsabarbeitung unterscheidet, wird jeder Impuls auf der NMI-Leitung zwischengespeichert und ab diesem Zeitpunkt ein Protokolliermodus aktiviert, bei dem jeder Befehl aufgezeichnet wird. Der Start der NMI-Routine wird durch einen Adreßkomparator signalisiert und damit der NMI-Zwischenspeicher gelöscht, wodurch auf normalen Protokolliermodus zurückgeschaltet wird.Since the CPU of the microcomputer used does not output a signal game upon acceptance of an NMI which is clearly different from a normal instruction processing, each pulse is latched on the NMI line and from that time a log mode is activated in which each instruction is recorded. The start of the NMI routine is signaled by an address comparator, thereby clearing the NMI cache, which returns to normal log mode.

Claims (8)

Patentansprüche:claims: 1. Einrichtung zum Protokollieren von Programmabläufen zum Echtzeittest von Software, gekennzeichnet dadurch, daß vor Übernahme der zu protokollierenden Information in das der Protokolliereinrichtung eigene Speicherfeld (1) die Information ein Filter (2) durchläuft, welches nur dann einen Speichervorgang zuläßt, wenn Bedingungen eingetreten sind, die die konsekutive Befehlsabarbeitung unterbrechen, was durch ein Gültigkeitssignal (4) signalisiert wird, wobei dem Speicherfeld (1) und Filter (2) ein Zwischenspeicher (5) und eineStart-Stop-Einrichtung (7) zugeschaltet wird.1. A device for logging program sequences for real-time testing of software, characterized in that before the acquisition of the information to be logged in the logger own memory array (1) the information passes through a filter (2), which only allows a storage operation when conditions occurred are that interrupt the consecutive instruction processing, which is signaled by a validity signal (4), wherein the memory field (1) and filter (2) a latch (5) and a start-stop device (7) is switched on. 2. Einrichtung nach Anspruch 1, gekennzeichnet dadurch, daß für Mikrorechner mit Busstruktur bekannter Art, bei dem der Bus sich aus Adreßbus, Datenbus und Steuerbus zusammensetzt und das Filter eine logische Schaltung darstellt, die Signale des Steuerbusses so verknüpft werden, daß ein Ausgangssignal erzeugt wird, wenn ein Befehlsholezyklus abgearbeitet wird und dieses Ausgangssignal einen Vergleicher aktiviert, der die Befehlsdaten, die zu diesem Zeitpunkt den Datenbus belegen, mit vorgegebenen Datenmustern vergleicht und ggf. die Befehlsdaten in einen Zwischenspeicher, der dem Vergleicher vorgeschaltet ist, zur sicheren Arbeitsweise des Vergleichers zwischengespeichert werden und der Vergleicher dann ein Gültigkeitssignal (4) abgibt, wenn Befehlsdaten und vorgegebene Datenmuster übereinstimmen, derart, daß die vorgegebenen Datenmuster den Befehlsdaten oder auch Befehlscoden entsprechen, die in dem Rechner einen Sprungbefehl auslösen bzw. die konsekutive Befehlsabarbeitung unterbrechen und dieses Gültigkeitssignal (4) die Belegung des Adreßbusses in das Speicherfeld (4) überträgt und ggf. die Adreßbusbelegung zur sicheren Übernahme in das Speicherfeld2. Device according to claim 1, characterized in that for microcomputer with bus structure of known type, in which the bus is composed of address bus, data bus and control bus and the filter is a logic circuit, the signals of the control bus are linked so that an output signal is generated when a command loop cycle is executed and this output signal activates a comparator which compares the command data occupying the data bus at that time with predetermined data patterns and, if necessary, the command data into a buffer upstream of the comparator for safe operation of the comparator be buffered and the comparator then outputs a validity signal (4) when command data and predetermined data pattern match, such that the predetermined data pattern corresponding to the command data or command codes that trigger a jump command in the computer or the consecutive command processing u Interrupt and this validity signal (4) transmits the assignment of the address bus in the memory array (4) and possibly the address bus assignment for safe transfer into the memory field (1) zwischengespeichert wird und weiterhin ein ergänzender logischer Schaltungsteil dem Filter (2) eingefügt ist, der die Steuerbussignale verknüpft und dann das Gültigkeitssignal (4) auslöst, wenn externe Bedingungen wie maskierbarer und/ oder nichtmaskierbarer Interrupt die konsekutive Befehlsabarbeitung unterbrechen und diese Unterbrechung nicht durch die beschriebene Analyse des Befehlsstromes mittels Vergleicher festgestellt werden kann.(1) is latched and further a supplemental logic circuit part is inserted into the filter (2) which links the control bus signals and then triggers the valid signal (4) if external conditions such as maskable and / or unmaskable interrupt interrupt the consecutive command execution and do not interrupt can be determined by the described analysis of the instruction stream by means of comparators. 3. Einrichtung nach Anspruch 1 und 2, gekennzeichnet dadurch, daß das Filter (2) den Abspeichervorgang so lange unterdrückt, wie ein Befehl abgearbeitet wird, der als Sprung auf sich selbst wirkt.3. Device according to claim 1 and 2, characterized in that the filter (2) suppresses the storage process as long as a command is executed, which acts as a jump on itself. 4. Einrichtung nach Anspruch 1 bis 3, in dem dem Filter (2) ein Zwischenspeicher (5) beigegeben ist, gekennzeichnet dadurch, daß alle für die Arbeitsweise notwendigen Informationen zwischengespeichert werden und diese Informationen dem Filter4. Device according to claim 1 to 3, in which the filter (2) a buffer (5) is added, characterized in that all information necessary for the operation are cached and this information to the filter (2) so lange zur Verfügung stehen, bis dessen Ausgangssignal (4) Gültigkeit besitzt und bis die möglicherweise erfolgende Abspeicherung der relevanten Information in das Speicherfeld (1) bei Unterbrechung des konsekutiven Programmablaufes abgeschlossen ist.(2) are available until its output signal (4) is valid and until the possible storage of the relevant information in the memory array (1) is completed upon interruption of the consecutive program sequence. 5. Einrichtung nach Anspruch 1 und 4, gekennzeichnet dadurch, daß der Zwischenspeicher (5) ausgewählte Informationen auch über die Dauer der Abarbeitung mehrerer Befehle zwischenspeichert, wenn diese Informationen den Hinweis auf ein zu einem späteren Zeitpunkt eintretendes Verlassen der konsekutiven Befehlsabarbeitung enthalten und diese Informationen erst nach dem tatsächlichen Verlassen des konsekutiven Befehlsablaufes gelöscht werden und dadurch alle Informationen aus dem Zwischenspeicher (5) in das Speicherfeld (1) übernommen werden, die für alle Befehle gültig sind, welche in der Zeitspanne ab Zwischenspeicherung der Hinweisinformationen und Löschen der Hinweisinformationen durch die tatsächliche Unterbrechung des konsekutiven Programmablaufes abgearbeitet werden.5. Device according to claim 1 and 4, characterized in that the buffer (5) cached selected information over the duration of the processing of a plurality of commands, if this information includes the reference to a entering at a later time leaving the consecutive command processing and this information only after the actual leaving the consecutive command sequence are deleted and thereby all information from the buffer (5) in the memory field (1) are accepted, which are valid for all commands, which in the period of time from caching the hint information and deleting the hint information by the actual interruption of the consecutive program sequence are processed. 6. Einrichtung nach Anspruch 1 und 2, gekennzeichnet dadurch, daß parallel mit der relevanten Sprungadresse Zusatzinformationen abgespeichert werden, die in geeignet codierter Form die Ursache für das·Verlassen des konsekutiven Programmablaufes festhalten.6. Device according to claim 1 and 2, characterized in that additional information is stored in parallel with the relevant jump address, which record the cause of the · leaving the consecutive program sequence in a suitably encoded form. 7. Einrichtung nach Anspruch 1 und 2, gekennzeichnet dadurch, daß die Zeitpunkte für Beginn und Ende des Protokollierens sowohl durch externe Steuersignale als auch durch Markierungsbefehle bestimmt werden können.7. Device according to claim 1 and 2, characterized in that the times for the beginning and end of the logging can be determined both by external control signals and by marking commands. 8. Einrichtung nach Anspruch 1 und 4, gekennzeichnet dadurch, daß der Zwischenspeicher (5) bestimmte Signale aufnimmt und das Filter (2) durch Bezugnahme auf diese zwischengespeicherten Signale eine Protokollanforderung bildet, wenn diese Signale ihre logische Wertigkeit verändern und damit die Protokollierung des zu diesem Zeitpunkt gerade laufenden Befehls erzwungen wird.8. Device according to claim 1 and 4, characterized in that the buffer (5) receives certain signals and the filter (2) by reference to these cached signals forms a protocol request, if these signals change their logical value and thus the logging of this time is being enforced.
DD27857985A 1985-07-15 1985-07-15 DEVICE FOR PROTOCOLING PROGRAM TASKS DD239481A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DD27857985A DD239481A1 (en) 1985-07-15 1985-07-15 DEVICE FOR PROTOCOLING PROGRAM TASKS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DD27857985A DD239481A1 (en) 1985-07-15 1985-07-15 DEVICE FOR PROTOCOLING PROGRAM TASKS

Publications (1)

Publication Number Publication Date
DD239481A1 true DD239481A1 (en) 1986-09-24

Family

ID=5569617

Family Applications (1)

Application Number Title Priority Date Filing Date
DD27857985A DD239481A1 (en) 1985-07-15 1985-07-15 DEVICE FOR PROTOCOLING PROGRAM TASKS

Country Status (1)

Country Link
DD (1) DD239481A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4011745A1 (en) * 1989-04-13 1990-10-18 Mitsubishi Electric Corp Task performance recorder for multi-tasking operating system protocol - includes stores for interrupt information of sizes of task selection interrupts and information on system calls

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4011745A1 (en) * 1989-04-13 1990-10-18 Mitsubishi Electric Corp Task performance recorder for multi-tasking operating system protocol - includes stores for interrupt information of sizes of task selection interrupts and information on system calls

Similar Documents

Publication Publication Date Title
DE2953432C1 (en) Device for testing a microprogram
DE60130178T2 (en) Program development support apparatus
EP0011685B1 (en) Programmable memory protection arrangement for microprocessors and circuitry with such an arrangement
DE1928202C3 (en) Device for the creation of statistical data on the operational sequence of program-controlled data processing systems
DE3116100A1 (en) JUMP ASSESSMENT CENTRAL UNIT
DE2806024A1 (en) STORAGE SYSTEM WITH ERROR DETECTION AND CORRECTION POSSIBILITY
EP1019819B1 (en) Program controlled unit and method for debugging same
DE19708008C2 (en) Microcomputer
DE19983098B4 (en) Multi-bit display for handling write-to-write errors and eliminating bypass comparators
DE19827432C2 (en) Method for storing computer status data in the event of a malfunction, which requires the computer to be restarted afterwards
EP0048991B1 (en) Method and device for the treatment of interruption conditions during the operating sequence in microprogramme-controlled data-processing systems
DE2806409A1 (en) DEVICE FOR REDUCING COMMAND EXECUTION TIME IN A COMPUTER WITH INDIRECT ADDRESSING OF A DATA MEMORY
DE60010847T2 (en) Method for debugging a thread program
DE2720842B2 (en) Data transmission system
DD239481A1 (en) DEVICE FOR PROTOCOLING PROGRAM TASKS
DE2842603A1 (en) INTERFACE BETWEEN A MAINTENANCE PROCESSOR AND A MULTIPLE NUMBER OF FUNCTIONAL UNITS TO BE CHECKED IN A DATA PROCESSING SYSTEM
DE3603240C2 (en)
DE102006004168A1 (en) Checking an address decoder
DE2821882C2 (en) Program control unit with test facility
DE2505475C3 (en) Method and device for checking errors in a programmable logic unit for the execution of logical operations
DE2432024A1 (en) PROCEDURE FOR OPERATING A DATA PROCESSING SYSTEM
DE3927703A1 (en) Computer system esp. all-purpose computer - has several host processors sharing same external data storage unit and storage control unit managing storage access and data flow
DE2408990C3 (en) Program-controlled test system
DE1499255C (en) Device for data transfer between data devices
DE1449425C (en) Device for determining errors in a magnetic tape

Legal Events

Date Code Title Description
ENJ Ceased due to non-payment of renewal fee