DD290965A5 - PROCEDURE FOR MONITORING THE PROGRAM PROCEDURE IN COMPUTER ARCHITECTURES - Google Patents

PROCEDURE FOR MONITORING THE PROGRAM PROCEDURE IN COMPUTER ARCHITECTURES Download PDF

Info

Publication number
DD290965A5
DD290965A5 DD33636989A DD33636989A DD290965A5 DD 290965 A5 DD290965 A5 DD 290965A5 DD 33636989 A DD33636989 A DD 33636989A DD 33636989 A DD33636989 A DD 33636989A DD 290965 A5 DD290965 A5 DD 290965A5
Authority
DD
German Democratic Republic
Prior art keywords
signature
time
memory
cellar
subroutine
Prior art date
Application number
DD33636989A
Other languages
German (de)
Inventor
Reinhard Kaerger
Guenter Kemnitz
Thomas Bimboese
Original Assignee
Veb Fz Mikroelektronik Dresden,De
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 Veb Fz Mikroelektronik Dresden,De filed Critical Veb Fz Mikroelektronik Dresden,De
Priority to DD33636989A priority Critical patent/DD290965A5/en
Publication of DD290965A5 publication Critical patent/DD290965A5/en

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur UEberwachung des Programmablaufes in Rechnerarchitekturen, insbesondere der ordnungsgemaeszen Abarbeitung von Unterprogrammen * und kommt vorzugsweise in Mikroprozessorsystemen zur Anwendung. Sie loest die Aufgabe, ein Verfahren zu entwickeln, das die stetige Erkennung von Fehlern bei der Abarbeitung von UP gestattet, welche sich auf den Datenaustausch zwischen einer Verarbeitungseinheit und Kellerspeichern abbilden und/oder zu einer Verlaengerung der Programmabarbeitungszeit fuehren. Vor Ausfuehrung eines UP wird eine der maximal zulaessigen Bearbeitungszeit fuer das UP entsprechende Zeitkonstante in ein reserviertes Zeitregister eingetragen und ein spezieller Rechnerstatus fuer Zeitueberwachung eingestellt sowie die um einen Takt verschobene Signatur eines eingesetzten invers schaltbaren Signaturanalysators im Kellerspeicher abgelegt und gleichzeitig auf die Signatur nach einer ersten Abbildungsfunktion abgebildet. Waehrend der Abarbeitung des UP wird das Zeitregister durch festgelegte Prozeszzeitintervalle schrittweise gegen einen Grenzwert gesetzt, wobei bei Erreichen dieses Grenzwertes eine Fehlerbehandlung ausgeloest wird. Im weiteren werden alle Daten, die in den Kellerspeicher geschrieben werden, gleichzeitig nach der ersten Abbildungsfunktion und alle Daten, die wieder aus dem Kellerspeicher ausgelesen werden, gleichzeitig nach einer zweiten Abbildungsfunktion auf die Signatur abgebildet. Nach Beendigung des UP wird der Rechnerstatus fuer Zeitueberwachung abgeschaltet, die Signatur ausgewertet sowie bei einer festgestellten Abweichung von einer Sollsignatur eine Fehlerbehandlung eingeleitet. Abschlieszend wird die anfangs im Kellerspeicher abgelegte, um einen Takt verschobene Signatur wieder aus dem Kellerspeicher ausgelesen.{Rechnerarchitektur; Mikroprozessorsystem; Verarbeitungseinheit; Kellerspeicher; Unterprogramm; Operationscode; Zeitueberwachung; Zeitkonstante; Zeitregister; Signaturanalyse; Signaturanalysator, invers schaltbarer}The invention relates to a method for monitoring the program sequence in computer architectures, in particular the orderly execution of subroutines * and is preferably used in microprocessor systems. It solves the problem to develop a method that allows the constant detection of errors in the execution of UP, which are based on the exchange of data between a processing unit and basement storage and / or lead to an extension of the program execution time. Prior to execution of a UP one of the maximum allowable processing time for the UP corresponding time constant is entered in a reserved time register and set a special computer status for time monitoring and the shifted by one clock signature of a used inverse switchable signature analyzer stored in the basement memory and at the same time to the signature after a first Imaging function shown. During the processing of the UP, the time register is set step by step against a limit value by means of specified processing time intervals, whereby an error handling is triggered when this limit value is reached. In addition, all data that is written in the cellar memory, at the same time after the first mapping function and all data that is read out of the cellar memory, simultaneously mapped to the signature after a second mapping function. After completion of the UP, the computer status for time monitoring is switched off, the signature is evaluated and, if a deviation from a set signature is detected, error handling is initiated. Finally, the signature initially stored in the cellar memory and shifted by one clock is read out of the cellar memory again. Microprocessor system; Processing unit; Stack; Subroutine; Opcode; Zeitueberwachung; Time constant; Time register; Signature analysis; Signature analyzer, inverse switchable}

Description

Anwendungsgebiet der ErfindungField of application of the invention

Die Erfindung betrifft ein Verfahren zur Überwachung des Programmablaufes in Rechnerarchitekturen, insbesondere der ordnungsgemäßen Abarbeitung von Unterprogrammen, wobei bei Feststellung eines fehlerhaften Programmablaufes eine Fehlerbehandlung eingeleitet wird, und kommt vorzugsweise in Mikroprozessorsystemen zur Anwendung.The invention relates to a method for monitoring the program sequence in computer architectures, in particular the proper execution of subroutines, wherein error detection is initiated upon detection of a faulty program flow, and is preferably used in microprocessor systems.

Charakteristik des bekannten Standes der TechnikCharacteristic of the known state of the art

Zur Erhöhung der Zuverlässigkeit von Mikroprozessorsystemen ist es von großer Wichtigkeit, auftretende Fehler schnell und sicher zu diagnostizieren.To increase the reliability of microprocessor systems, it is very important to diagnose errors quickly and safely.

Es ist allgemein bekannt, dazu zyklisch aufgerufene/abzuarbeitende Diagnoseprogramme zu verwenden. Mit dieser Softwarelös ng wird eine qualitativ hochwertige Fehlererkennung jedoch nur sehr unvollkommen und mit erheblichem Aufwand erreicht, so daß sich durchgesetzt hat, dafür zusätzliche Hardware einzusetzen (vgl. Hedtke, R.: Mikroprozessorsysteme - Zuverlässigkeit, Testverfahren, Fehlertoleranz. Berlin, Heidelberg, New York, Tokyo; Springer Verlag; 1984).It is generally known to use cyclically called / processed diagnostic programs. However, with this software solution, high-quality error detection is achieved only imperfectly and with considerable effort, so that it has become established to use additional hardware for this purpose (see Hedtke, R .: Microprocessor Systems - Reliability, Test Methods, Error Tolerance.) Berlin, Heidelberg, New York, Tokyo; Springer Verlag, 1984).

Die bekannten on-line-Methodon zur Erkennung von Fehlern mittels zusätzlicher Hardwarsstrukturen lassen sich in drei Kategorien einteilen:The well-known on-line method for detecting errors using additional hardware structures can be divided into three categories:

- Adreßüberprüfung- Address check

- Zeitüberwachung- Time monitoring

- Überwachung des Operationscodes.- Monitoring the operation code.

Die Methode der Adreßiiberprüfung erkennt Fehler in Mikroprozessorsystemen, die sich als Zugriff auf einen nicht vorhandenenThe Address Validation method detects errors in microprocessor systems that may be accessing a non-existent one

bzw. verbotenen Speicherbereich, Schreibzugriffe auf Nur-Lese-Speicher, unberechtigtes Verlassen von Schleifen u.a.or prohibited memory area, write accesses to read-only memory, unauthorized loosening of loops, and the like.

darstellen.represent.

Ein Verfahren zur Überwachung der Progrdmmabarbeitung in Mikrorechnern auf Basis der Adreßüberprüfung ist in der DE-OSA method for monitoring program processing in microcomputers on the basis of address checking is described in DE-OS

2906117 offengelegt.2906117 disclosed.

Es werden Fehler erkannt, die zur Verfälschung von Zugriffsadressen und/oder fehlerhaften Sprüngen führen.Errors are detected that lead to the corruption of access addresses and / or erroneous jumps. Mittels der Adreßüberprüfung läßt sich nur eine eingeschränkte Zahl sn Fehlermöglichkeiten erkennen, der HardwareaufwandBy means of the address check only a limited number sn error possibilities can be recognized, the hardware cost

ist verhältnismäßig groß.is relatively large.

Bei der Zeitüberwachung wird die Überschreitung einer für einen Programmteil vorgegebenen Abarbeitungszeit als FehlerIn time monitoring, exceeding a processing time specified for a program part is considered an error

erkannt. Verfahren zur Zeitüberwachung sind u.a. in der DE-OS 2903638 und im DD-WP 210775 dargelegt.recognized. Procedures for time monitoring include i.a. in the DE-OS 2903638 and DD-WP 210775 set forth.

Es werden Hard- und Software-Fehler erkannt, die im überwachten Programmteil als zusätzliche Schleifen oder VerzweigungenHardware and software errors are detected in the monitored part of the program as additional loops or branches

erscheinen, die zu einer wesentlichen zeitlichen Verlängerung oder zum Überspringen des Endes des entsprechendenappear that lead to a substantial time extension or to skip the end of the corresponding one

Programmteiles führen.Program part lead. Zur Fehlererkennung über die Überwachung des Operationscodes sind mehrere Verfahren bekannt.For error detection via the monitoring of the operation code several methods are known. Im einfachsten Fall wird unter Ausnutzung der Gegebenheit, daß nicht alle Möglichkeiten des Operationscodes sinnvollenIn the simplest case, taking advantage of the fact that not all possibilities of the operation code meaningful Prozessoroperationen entsprechen, beim Auftreten eines solchen nicht sinnvollen Operationscodes eine FehlerbehandlungProcessor operations correspond to error handling upon the occurrence of such an inoperative opcode

ausgelöst. Ein solches Verfahren ist z. B. in der DE-OS 2939194 beschrieben. Dabei werden die Operationscodes mitvorgegebenen Soll-Werten verglichen, welche in einem Soll-Wert-Speicher abgelegt sind.triggered. Such a method is z. As described in DE-OS 2939194. In this case, the operation codes are compared with predefined setpoint values which are stored in a setpoint value memory.

Der dazu erforderliche Speicheraufwand ist beträchtlich. Es lassen sich nur Fehler erkennen, die bei der Übersetzung und/oderThe memory required for this is considerable. It can only detect errors in the translation and / or Speicherung des Operationscodes entstehen.Storage of the operation code arise. In der EP-Anm. 104635 ist ein Verfahren dargelegt, bei dem der Operationscode und die durch den Operationscode ausgelösteIn the EP-Anm. 104635, a method is set out in which the opcode and the one triggered by the opcode Steuersignalfolge gleichermaßen überprüft werden. Dazu wird der Operationscode in bekannter Weise auf seine ZulässigkeitControl signal sequence are equally checked. For this purpose, the operation code in a known manner to its admissibility

untersucht und zusätzlich über die durch ihn ausgelöste Steuersignalfolge eine Signatur gebildet. Diese Signatur wird mit einerfür den entsprechenden Befehl in der Testschaltung erzeugten zweiten Signatur verglichen; bei einer Abweichung wird eineexamined and additionally formed on the triggered by him control signal sequence a signature. This signature is compared with a second signature generated for the corresponding instruction in the test circuit; in case of a deviation becomes a

Fehlerbehandlung ausgelöst.Error handling triggered. Mit diesem Verfahren werden zusätzlich zu dem bereits dargelegten Verfahren zur Überwachung auf zulässige OperationscodesWith this method, in addition to the method already set forth, monitoring for permissible operation codes Hardware-Fehler in der Ablaufsteuerung des Mikroprozessorsystems erkannt.Hardware error detected in the flow control of the microprocessor system. Bei einem weiteren Verfahren zur Überwachung des Operationscodes wird die Operationscodefolge mittels SignaturanalyseIn another method of monitoring the opcode, the opcode sequence is identified by signature analysis

überprüft, (vgl. Sridhar, T.; Thatte, S.: Concurrent Checking of Programm Flow in VLSI Processors. Proc. 12th ITC, IEEE; 1982; pp.(See Sridhar, T., Thatte, S .: Concurrent Checking of Program Flow in VLSI Processors, Proc. 12th ITC, IEEE; 1982;

Dabei wird innerhalb verzweigungsfreier Programmteile über die Folge der Operstionscodes eine Signatur gebildet und mitIn this case, a signature is formed within branch-free program parts on the sequence of Operstionscodes and with

einer vorab berechneten Soll-Signatur verglichen.a previously calculated target signature compared.

Bei einer festgestellten Abweichung der Ist-Signatur von dieser Soll-Signatur wird in bekannter Weise eine FehlerbehandlungIn a detected deviation of the actual signature of this target signature is in a known manner an error treatment

ausgelöst.triggered.

Es werden dabei neben Fehlern im Operationscode auch Fehler im Programmfluß festgestellt.It will be found next to errors in the operation code and errors in the program flow. Moderne Programmiertechniken bevorzugen eine ausgeprägte und strenge Modularität.Modern programming techniques prefer a pronounced and strict modularity. Zu den Prinzipien einer strengen Modularität gehört, daß während der Abarbeitung von Unterprogrammen die RückkehradresseOne of the principles of rigorous modularity is that during the execution of subprograms, the return address

sowie weitere Daten der aufrufenden Programmeinheit nicht verändert werden.as well as other data of the calling program unit are not changed.

Die zur Fortsetzung der Programmabarbeitung bei Aufruf von Unterprogrammen bzw. Programmunterbrechungen durchThe for the continuation of the program execution when calling subroutines or program interruptions by Interrupts oder Traps notwendigen Daten werden in Mikroprozessorsystemen im allgemeinen in KellerspeichernInterrupts or traps necessary data are generally stored in microprocessor systems in cellars

zwischengespeichert. Diese Kellerspeicher sind in der Regel reservierte Teile des Hauptspeichers mit der Organisation last-infirst-out (UFO), in welche Daten aus speziellen Registern der Verarbeitungseinheit abgelegt werden.cached. These cellars are usually reserved parts of the main memory with the organization last-infirst-out (UFO), in which data from special registers of the processing unit are stored.

Die dargestellten bekannten Lösungen zur Fehlererkennung in der Programmabarbeitung in Mikroprozessorsystemen gestattenThe illustrated known solutions for error detection in program processing in microprocessor systems allow

es nicht oder nur sehr unvollkommen, Fehler bei der Abarbeitung von Unterprogrammen in Form von Verfälschungen der für dieit is not or only very imperfectly, errors in the execution of subprograms in the form of distortions of for the

Programmfortsetzung notwendigen Daten, wie sie bei der Übertragung oder Zwischenspeicherung im Kellerspeicher entstehenProgram continuation necessary data, as they arise in the transmission or caching in the basement storage

können, die unzulässige Veränderung der Rückkehradresse des aufrufenden Programms, Fehler in Form einer ungleichen Zahlvon Lese- und Schreiboperaiionen zu den Kellerspeichern, weitere Fehler, welche eine Verlängerung der, the unacceptable change in the return address of the calling program, errors in the form of an unequal number of read and write operations to the cellar memories, further errors which may cause an extension of the

Programmabarbeitungszeit der Unterprogramme hervorrufen, sowie allgemeine Verletzungen der Regeln modularerProgram execution time of subroutines, as well as general violations of rules modular Programmierung zu erkennen.Recognize programming. Ziel der ErfindungObject of the invention

Das Ziel der Erfindung besteht in der Erhöhung der Sicherheit eines ordnungsgemäßen Ablaufes umfangreicher Programme in Rechnerarchitekturen, insbesondere bei der Abarbeitung von Unterprogrammen, ohne größeren zusätzlichen Hardwareaufwand.The aim of the invention is to increase the security of a proper flow of extensive programs in computer architectures, especially in the execution of subroutines, without much additional hardware.

Darlegung 'Jes Wesens der ErfindungExplanation of 'Is essence of invention

Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur Überwachung des Programmablaufes in Rechnerarchitekturen zu entwickeln, das die stetige Erkennung von Fehlern bei der Abarbeitung von Unterprogrammen gestattet, welche sich auf den Datenaustausch zwischen einer Verarbeitungseinheit und Kellerspeichern abbilden und/oder eine Verlängerung der Programmabarbeitungszeit hervorrufen.The invention has for its object to develop a method for monitoring the program flow in computer architectures, which allows the continuous detection of errors in the execution of subroutines, which are based on the data exchange between a processing unit and basement stores and / or cause an extension of the program execution time ,

Zur Lösung der Aufgabe wird ein Verfahren zur Überwachung des Programmablaufes in Rechnerarchitekturen, insbesondereTo solve the problem, a method for monitoring the program flow in computer architectures, in particular

der ordnungsgemäßen Abarbeitung von Unterprogrammen vorgeschlagen, bei welchem der Datenaustausch zwischenthe proper execution of subroutines, in which the exchange of data between

Verarbeitungseinheiten und „last-in-first-ouf-organisierten Kellerspeichern auf Basis der Signaturanalyse überwacht wird.Processing units and "last-in-first-ouf-organized basement storage is monitored based on the signature analysis. Erfindungsgemäß wird vor Ausführung eines Unterprogramms eine einer maximal zulässigen Bearbeitungszeit für dasAccording to the invention, before executing a subroutine, a maximum allowable processing time for the Unterprogramm entsprechende Zeitkonstante in ein reserviertes Zeitregister eingetragen und ein spezieller Rechnerstatus fürSubroutine corresponding time constant entered in a reserved time register and a special computer status for Zeitüberwachung eingestellt. Gleichfalls wird vor der Ausführung des Unterprogramms der Zustand (X] = [A] © [S] einesTime monitoring set. Likewise, before execution of the subroutine, the state (X] = [A] © [S] of a

eingesetzten invers schaltbaren Signaturanalysators mit einer Systemmatrix [A], welcher die Signatur [S] führt, die vor derused inverse switchable signature analyzer with a system matrix [A], which carries the signature [S], before the

Ausführung des zu überwachenden Unterprogramms einen beliebigen Wert [SIx besitzt, im Kellerspeicher abgelegt undExecution of the monitored subroutine any value [SIx owns, stored in the basement memory and

gleichzeitig auf die Signatur [S] nach einer ersten Abbildungsfunktion abgebildet.simultaneously mapped to the signature [S] after a first mapping function.

Bei fehlerfreier Ausführung dieser Operationen geht die Signatur [S] aus jedem beliebigen Zustand in eine definierteIf these operations are carried out correctly, the signature [S] changes from any state into a defined one Sollsignatur [S]o über.Target signature [S] o over. Während der Abarbeitung des Unterprogrammes wird das Zeitregistar durch festgelegte Prozeßzeitintervalle schrittweiseDuring execution of the subroutine, the time register becomes incremental by fixed process time intervals

gegen einen Grenzwert gesetzt.set against a limit.

Bei einem fehlerfreien Programmablauf wird das Unterprogramm vor dem Ablauf der maximal zulässigen Bearbeitungszeit, d. h.If the program execution is error-free, the subprogram is executed before the expiration of the maximum allowable processing time, ie. H.

vor Erreichen des genannten Grenzwertes, beendet.before reaching the mentioned limit, finished.

Wird d.is Zeitregister auf bzw. über den Grenzwert gesetzt, so wird eine Fehlerbehandlung eingeleitet.If the time register is set to or above the limit value, error handling is initiated. Weiterhin werden während der Abarbeitung des Unterprogrammes alle Daten (X)k, das sind die zur Fortsetzung desFurthermore, during the execution of the subroutine, all data (X) k, that is the continuation of the Programmes erforderlichen sowie die während der Abarbeitung des Unterprogramms abzuspeichernden Daten, die nunmehr inProgram and the data to be stored during the execution of the subroutine, which are now available in

den Kellerspeicher geschrieben werden, gleichzeitig nach der ersten Abbildungsfunktion auf die Signatur [S] abgebildet.the basement memory are written, at the same time after the first mapping function on the signature [S] mapped.

Die Signatur [S] geht damit schrittweise in Zustände [SJk über, die stets eine Funktion aller seit Aufruf des Unterprogramms imThe signature [S] thus progresses step by step to states [SJk, which are always a function of all since the subprogram was called in Kellerspeicher eingeschriebenen Daten (XJk sind.Cellar storage written data (XJk are. Alle Daten |X|k, die wieder aus dem Kellerspeicher ausgelesen werden, werden gleichzeitig nach einer zweitenAll data | X | k read out from the cellar memory will be sent after a second one Abbildungsfunktion auf die Signatur [S] abgebildet.Mapping function on the signature [S] shown. Die Signatur [S] geht schrittweise in die Zustände [S]k - 1 über.The signature [S] gradually changes to the states [S] k - 1. Dieser Prozeß setzt sich fort, bis alle Daten [X]k, mit Ausnahme des abgespeicherten Wertes [X] = [A] © [S]x, ausgelesen sind.This process continues until all the data [X] k except the stored value [X] = [A] © [S] x are read out. Bei fehlerhafter Ausführung aller Operationen nimmt die Signatur [S] wieder den Wert der Soll-Signatur (S]o an.If all operations are carried out incorrectly, the signature [S] again assumes the value of the target signature (S] o. Nach Beendigung des Unterprogrammes wird der Rechnerstatus für Zeitüberwachung abgeschaltet.After completion of the subroutine, the computer status for time monitoring is switched off. Im weiteren wird die Signatur (S] ausgewertet. Bei einer vorliegenden Abweichung von der definierten Soll-Signatui [S]o wirdIn the following, the signature (S) is evaluated, in the case of an existing deviation from the defined target signature [S] o

eine Fehlerbehandlung eingeleitet.initiated an error handling.

Abschließend wird der Wert (X] aus dem Kellerspeicher ausgelesen. Damit wird der Anfangsfüllstand des Kellerspeichers wiederFinally, the value (X) is read out of the cellar storage, thus the initial level of the cellar storage is restored

erreicht.reached.

In Ausgestaltung der Erfindung wird insbesondere zur Gewährleistung der multivalenten Verwendbai keit vonIn an embodiment of the invention, in particular to ensure the multivalent Nutzbai speed of Unterprogrammen die Zeitkonstante eines Unterprogrammes so dimensioniert, daß die Abarbeitungszeit intern »'ifgerufenerSubroutines the time constant of a subroutine dimensioned so that the processing time internally '' if called Unterprogramme nicht berücksichtigt wird.Subprograms are not considered. Vorzugsweise wird in Ausgestaltung dessen bei internem Aufruf von weiteren Unterprogrammen der aktuelle Zustand desPreferably, in an embodiment of the internal call of further subroutines, the current state of Zeitregisters des aufrufenden Unterprogramms in den Kellerspeicher ausgelagert. Nunmehr wird im aufgerufenenSent time register of the calling subroutine in the basement storage. Now, in the called Unterprogramm der Programmablauf wie im aufrufenden Unterprogramm überwacht. Mit der Rückkehr zum aufrufendenSubprogram The program sequence as monitored in the calling subroutine. With the return to the calling Unterprogramm wird der im Kellerspeicher vor dem Unterprogrammaufruf eingetragene Wert des Zeitregisters ausgelesen undSubroutine, the value of the time register entered in the cellar memory before the subroutine call is read out and

der alte Zustand des Zeitregisters eingestellt.the old state of the time register is set.

Günstigerweise wird in einer Ausgestaltungsvariante hierzu innerhalb der Abarbeitung eines Unterprogramms beimConveniently, in a design variant, this is within the execution of a subroutine at Umschalten auf einen nächsten Kellerspeicher der Signaturanalysator-Zustand [X] = [A] © [S] im alten Kellerspeicher abgelegtSwitching to a next cellar memory the signature analyzer state [X] = [A] © [S] is stored in the old cellar memory

sowie gleichzeitig auf die Signatur [S] nach der ersten Abbildungsfunktion abgebildet.and at the same time on the signature [S] after the first mapping function mapped.

Wurden diese Operationen fehlerfrei ausgeführt, nimmt die Signatur [S] wieder den Wert der Soll-Signatur [S)o an.If these operations were carried out without error, the signature [S] resumes the value of the target signature [S) o. Kellerspeicher.Stack. Nach der Rückkehr zum alten Kellerspeicher wird der Wert [X] aus dem Kellerspeicher ausgelesen sowie gleichzeitig nach derAfter returning to the old cellar storage, the value [X] is read out of the cellar storage as well as after the

zweiten Abbildungsfunktion auf die Signatur (S] abgebildet. Diese nimmt damit wieder ihren Ausgangswert vor dem Umschaltenauf einen weiteren Kellerspeicher an.second mapping function to the signature (S) imaged, which returns to its original value before switching to another cellar memory.

Die erste Abbildungsfunktion wird vorzugsweise mit [S]k + 1 = [A] © [S]k © [X]k und die zweite Abbildungsfunktion mitThe first mapping function is preferably with [S] k + 1 = [A] © [S] k © [X] k and the second mapping function with

[S]k - 1 = [A]exp - 1 © ([SJk © (X]k) (mit k = Anzahl der seit dem letzten Unterprogrammaufruf bzw. Wechsel des[S] k - 1 = [A] exp - 1 © ([SJk © (X] k) (with k = number of since the last subroutine call or change of the

Kellerspeichers im Kellerspeicher abgelegten Daten) angegeben.Basement store in the basement storage data). In einer weiteren Ausgestaltung der Erfindung wird bei Aufruf von Unterprogrammen ohne Zusammenhang zwischenIn a further embodiment of the invention is when calling subroutines without context between Programmstruktur und Programmlaufzeit der Rechnerstatus für Zeitüberwachung abgeschaltet.Program structure and program runtime the computer status for time monitoring switched off. Innerhalb der Fehlerbehandlung ist das Einstellen der Soll-Signatur [S]o sowie definierter ProgrammfortsetzungsbedingungenWithin the error handling is setting the target signature [S] o as well as defined program continuation conditions

vorteilhaft.advantageous.

Damit muß nach einem erkannten Fehler und erfolgter Fehlerbehandlung nicht die Abarbeitung des gesamten ProgrammsThus, after a detected error and error handling has not the execution of the entire program

abgebrochen werden.be canceled.

Die vorliegende Erfindung gibt ein Verfahren zur verbesserten Fehlererkennung in Rechnerarchitekturen an.The present invention provides a method for improved error detection in computer architectures. Die verwendeten Techniken sichern, daß Fehler bei der Abarbeitung von Unterprogrammen, weiche sich auf denThe techniques used ensure that errors in the execution of subprograms, which differs on the Datenaustausch zwischen der Verarbeitungseinheit und Kellerspeichern abbilden, wie z. B. eine ungleiche Zeit von Lese- undMap data exchange between the processing unit and basement stores, such. B. an unequal time of reading and Schreiboperationen zu den Kellerspeichern, die Verfälschung der im Kellerspeicher zwischengespeicherten Daten, dieWrite operations to the cellar memories, the corruption of the data stored in the cellar memory, the

unzulässige Veränderung der Rückkehradresse des aufrufenden Programms oder eine ellgemeine Verletzung der Regeln dermodularen Programmierung, unter Berücksichtigung einer der Technik der Signaturannlyse eigenenInadmissible alteration of the return address of the calling program or a general violation of the rules of modular programming, taking into account one of the signature signature technique

Restfehlerwahrscheinlichkeit mit großer Sicherheit erkannt werden. Im weiteren werden alle Fehler erkannt, die sich alsResidual error probability can be detected with great certainty. In addition, all errors are detected, which are as Verlängerung der maximalen Bearbeitungszeit des bzw. der Unterprogramme darstellen, wie z. B. ein Absturz des Programmes,Extension of the maximum processing time of the subroutine (s), such as. B. a crash of the program, Endlosschleifen oder das Überspringen des Rückkehrbefehls, und dabei mittels der Signaturanalyse nicht erfaßt werden können.Looping or skipping the return command, and can not be detected using the signature analysis. Der notwendige zusätzliche Hardwareaufwand für eine Realisierung des Verfahrens ist gering.The necessary additional hardware expenditure for a realization of the method is small.

Die Erfindung wird nachstehend anhand eines Ausführungsbeispiels näher erläutert.The invention will be explained in more detail below with reference to an embodiment.

Die zu überwachende Rechnerarchitektur enthält eine Verarbeitungselnhflit und mehrere Kellerspeicher. Die Kellerspeicher sind als reservierte Bereiche eines Hauptspeichers dar Rechnerarchitektur konfiguriert und UFO-organisiert (last-in-first-out). In die Kellerspeicher können Daten (X)k aus speziellen Registern der Verarbeitungseinheit abgelegt werden.The computer architecture to be monitored contains a processing folder and several cellar storages. The basement memories are configured as reserved areas of a main memory of computer architecture and UFO-organized (last-in-first-out). In the cellar memory data (X) k can be stored from special registers of the processing unit.

Beim Aufruf von Unterprogrammen werden im aktuellen Kellerspeicher die Rückkehradressen und bei Programmunterbrechungen durch Interrupts oder Traps aile zur Fortsetzung der Programmabarbeitung erforderlichen Informationen zwischengespeichert.When subroutines are called, the return addresses and information required for program interruptions by interrupts or traps in order to continue program execution are buffered in the current cellar memory.

Werden Daten |X)k in einen Kellerspeicher geschrieben, so werden sie gleichzeitig nach einer ersten AbbildungsfunktionIf data | X) k is written to a cellar memory, then it becomes a first mapping function at the same time

[S]k+1=[A]®[S]k®[X]k IM [S] k + 1 = [A] ® [S] k® [X] k IM

mit [A] Systemmatrix [S] Signatur k Anzahl der seit dem letzten Unterprogrammaufruf bzw. Wechsel des Kellerspeichers im Kellerspeichers abgelegten Datenwith [A] System matrix [S] Signature k Number of data stored since the last subroutine call or change of the cellar memory in the cellar memory

auf die Signatur [S] eines im Normalbetrieb arbeitenden invers schaltbare,) Signaturanalysators abgebildet. Daten [X]k, die wieder aus dem Kellerspeicher ausgelesen werden, werden nach.einer zweiten Abbildungsfunktionon the signature [S] of a working in normal operation inversely switchable,) signature analyzer. Data [X] k, which are again read from the cellar memory, nach.einer second mapping function

[S]k - 1 = [AIe)P - 1 ®([SIkφ|X]k) /2/[S] k - 1 = [AIe] P - 1 ® ([SIkφ | X] k) / 2 /

auf die Signatur [S] des invers geschalteten Signaturanalysators abgebildet.mapped to the signature [S] of the inverse switched signature analyzer.

Als Anfangsbedingung besitzt die Signatur [S] einen beliebigen Wert [S]x.As an initial condition, the signature [S] has an arbitrary value [S] x.

Vor der Ausführung eines zu überwachenden Unterprogramms, bei welchem ein Zusammenhang zwischen Programmstruktur und Programmlaufzeit gegeben ist, wird eine Zeitkonstante, die der maximal zulässigen Bearbeitungszeit für das Unterprogramm ontspricht, in ein reserviertes Zeitregister eingetragen. Es wird ein spezieller Rechnerstatus für Zeitüberwachung eingestellt.Before the execution of a subroutine to be monitored in which there is a relationship between the program structure and the program runtime, a time constant which corresponds to the maximum permissible processing time for the subroutine is entered in a reserved time register. A special computer status for time monitoring is set.

Weiterhin wird vor Ausführung des zu überwachenden Unterprogramms der Wert (X] = [A] © [S]x in den Kellerspeicher geschrieben und gleichzeitig nach der Abbildungsfunktion /1 / auf die Signatur [S] abgebildet. Bei fehlerfreier Ausführung dieser Operationen geht die Signatur [S] aus jedem beliebigen Zustand [S]x in den Zustand [S]o = [0; 0; 0;...; 0], die Soll-Signatur, über.Furthermore, before executing the subroutine to be monitored, the value (X) = [A] © [S] x is written to the cellar memory and simultaneously mapped to the signature [S] according to the mapping function / 1 / [S] from any state [S] x into the state [S] o = [0; 0; 0; ...; 0], the target signature.

Mit dem Aufruf des Unterprogrammes beginnend, wird das Zeitregister durch festgelegte Prozeßzeitintervalle schrittweise dekrementiert. Die maximal zulässige Bearbeitungszeit des Unterprogramms endet vor dem Erreichen des Zustandes [0] des Zeitrbgisters. Das heißt bei einem fehlerfreien Programmlauf ist das Unterprogramm vorher abgeschlossen. Wird das Zeitregister auf [0] dekrementiert, wird eine Fehlerbehandlung eingeleitet, innerhalb derer definierte Programmfortsetzungsbedingungen eingestellt werden.Starting with the call of the subroutine, the time register is decremented stepwise by fixed process time intervals. The maximum permissible processing time of the subroutine ends before reaching the state [0] of the time register. In other words, if the program runs without errors, the subprogram is completed in advance. If the time register is decremented to [0], error handling is initiated within which defined program continuation conditions are set.

Weiterhin werden mit dem Aufruf des Unterprogramms alle zur Fortsetzung des Programms benötigten Daten [X)k mit k = 1... i (wie z. B. Fortsetzungsadresse der aufrufenden Programmeinheit) in einer oder mehreren Schreiboperationen in den Kellerspeicher eingetragen und gleichzeitig nach der Abbildungsfunktion /1/ auf die Signatur [S] abgebildet. Damit geht die Signatur [S] nacheinander schrittweise in Abhängigkeit von den in den Kellerspeicher eingeschriebenen Daten [X]k aus dem Zustand [S]o in die Zustände [S]1 ...[SJi über.Furthermore, with the call of the subroutine, all the data [X) k with k = 1... I (such as, for example, continuation address of the calling program unit) required for the continuation of the program are entered into the cellar memory in one or more write operations and simultaneously after the Mapping function / 1 / shown on the signature [S]. Thus, the signature [S] is successively successively in response to the data stored in the cell memory [X] k from the state [S] o in the states [S] 1 ... [SJi on.

Innerhalb des Unterprogramms werden weitere Daten [X]k mit k = ί + 1...Ϊ + j im Kellerspeicher zwischengespeichert und gleichzeitig /iuf die Signatur [S] abgebildet, die schrittweise in die Zustände [SJi + 1 ...[SJi + j übergeht.Within the subroutine, further data [X] k with k = ί + 1... + J are buffered in the cellar memory and at the same time mapped to the signature [S], which is transferred stepwise into the states [SJi + 1.. + j passes.

Die Signatui [S] ist dabei stets eine Funktion aller seit dem Aufruf des Unterprogramms in den Kellerspeicher eingeschriebenen Daten [X] 1...[X]i+j.The signatui [S] is always a function of all data [X] 1 ... [X] i + j written into the cellar memory since the subprogram was called.

Vor dem internen Aufruf eines weiteren Unterprogramms wird der aktuelle Zustand des Zeitregisters des aufrufenden Unterprogramms in den Kellerspeicher ausgelagert.Before the internal call of a further subroutine, the current state of the time register of the calling subroutine is transferred to the cellar memory.

Damit müssen in der Zeitkonstante der aufrufenden Programmeinheit die Abarbeitungszeiten intern aufgerufener Unterprogramme nicht berücksichtigt werden.Thus, the processing times of internally called subroutines need not be taken into account in the time constant of the calling program unit.

Ist bei dem intern aufgerufenen Unterprogramm ein Zusammenhang zwischen Programmstruktur und -laufzeit gegeben, so wird in das Zeitregister nun die Zeitkonstante des aufzurufenden Unterprogrammes eingeschrieben.If there is a relationship between the program structure and the runtime in the internally called subprogram, then the time constant of the subroutine to be called is written into the time register.

Beim Aufruf von Unterprog rammen, in denen dieser Zusammenhang nicht existiert (z. B. Dialograhmen), wird der Rechnerstatus für Zeitüberwachung abgeschaltet und erst nach Abarbeitung dieser Unterprogramme wieder zugeschaltet.When calling subroutines in which this connection does not exist (eg dialog frame), the computer status for time monitoring is switched off and is only switched on again after these subroutines have been processed.

Weiterhin wird vor dem Wechsel auf einen neuen Kellerspeicher der Wert [X]' = (A] ® [SJi + j in den alten Kellerspeicher geschrieben und gleichzeitig nach der Abbildungsfunktion /1 /auf de Signatur [S] abgebildet. Damit geht die Signatur [S] wieder in den Zustand [S)o = (0; 0; 0;...; 0] über.Furthermore, before changing to a new cellar memory, the value [X] '= (A) ® [SJi + j is written into the old cellar memory and simultaneously mapped to the signature [S] according to the mapping function / 1 /. S] again into the state [S) o = (0; 0; 0; ...; 0] via.

Das heißt bei jedem Wechsel des Kellerspeichers wird der Zustand [0; 0; 0;...; 0] eingestellt. Eine Abweichung von diesem Zustand zeigt einen Fehler bei der Programmabarbeitung an, auf den eine Fehlerbehandlung eingeleitet wird, innerhalb derer die Signatur [S] auf die Soll-Signatur [SIo eingestellt wird.This means that with each change of the cellar memory the state [0; 0; 0; ...; 0]. A deviation from this state indicates an error in the program execution, to which an error handling is initiated, within which the signature [S] is set to the target signature [SIo.

Mit dem Aufruf des neuen Unterprogramms beginnend, wird in der oben beschriebenen Weise das Zeitregister wieder dekrementiert und bei Erreichen des Registerinhaltes [0] mit einer Fehlerbehandlung reagiert.Starting with the call of the new subprogram, the time register is decremented again in the manner described above and, upon reaching the register contents [0], responded with an error handling.

Das Einschreiben von Daten in den neuen Kellerspeicher vollzieht sich nun in der bereits beschriebenen Weise.The writing of data in the new cellar storage now takes place in the manner already described.

Die Signatur [S] ist nunmehr eine Funktion aller seit dem Wechsel des Kellerspeichers eingetragenen Daten.The signature [S] is now a function of all data entered since the change of the cellar memory.

Beim Auslesen von Daten [XIk aus dem neuen Kellerspeicher wird zuerst der zuletzt abgespeicherte Wert (XJk ausgelesen und gleichzeitig nach der Abbildungsfunktion /2/ auf die Signatur [S] des invers betriebenen Signaturanalysators abgebildet.When reading out data [XIk from the new cellar memory, the last stored value (XJk is first read out and simultaneously mapped to the signature [S] of the inverse-operated signature analyzer according to the mapping function / 2 /.

Die Signatur [S] nimmt wieder den Zustand [SJk- 1 vor dem Abspeichern das Wertes [XJk im Kellerspeicher ein und ist nur noch eine Funktion der im Kellerspeicher stehenden Daten [X]1... (X]k - 1.The signature [S] resumes the state [SJk-1 before storing the value [XJk in the cellar memory and is only a function of the data stored in the cellar memory [X] 1 ... (X] k - 1.

In der nun folgenden Leseoperation wird der Wert [XJk - 1 aus dem Kellerspeicher ausgelesen, die Signatur [S] nimmt wieder den Wert (SJk - 2 an.In the following reading operation the value [XJk - 1 is read from the cellar memory, the signature [S] returns to the value (SJk - 2).

Dieser Prozeß setzt sich fort, bis alle in den neuen Kellerspeicher eingeschriebenen Daien (XJk ausgelesen sind. Bei fehlerfreier Ausführung aller Operationen geht die Signatur [S] wieder in den Zustand [S]o = [0; 0; 0;...; 0] zurück. Stimmen die aus dem Kellerspeicher ausgelesenen Daten [XIk nicht mit den eingeschriebenen Daten [X]k In umgekehrter Reihenfolge überein, d. h. es wurden während der Unterprogrammabarbeitung Daten im neuen Kellerspeicher verändert oder die Anzahl der Leseoperationen ist ungleich der Anzahl der Schreiboperationen, so unterscheidet sich die Signatur (SJ bei Rückschalten zum alten Kellerspeicher vom Zustand [SIo = [0; 0; O;;..; 0] mit einer der Signaturanalyse eigenen Restfehlerwahrscheinlichkeit vonThis process continues until all daies (XJk) written to the new cellar memory have been read out, and if all operations are performed correctly, the signature [S] returns to the state [S] o = [0; 0; 0; ...; If the data read out of the cellar memory [XIk does not agree with the written data [X] k in reverse order, ie during subroutine processing, data in the new cellar memory has changed or the number of read operations is different from the number of write operations, Thus, the signature (SJ when switching back to the old cellar memory from the state [SIo = [0; 0; O ;;;; 0]) differs with a residual error probability inherent in the signature analysis

P, = 2"' mit r...Anzahl der Bitstellen der Signatur.P, = 2 "'with r ... number of bit positions of the signature.

Die Signatur [S] wird ausgewertet; bei Abweichung vom die fehlerfreie Programmabarbeitung dekodierenden Zustand [S]o = [0; 0; 0;...; 0] wird eine Fehlerbehandlung eingeleitet. Innerhalb der Fehlerbehandlung wird die Signatur [S] auf den Zustand [0; 0; 0;...; 0] gesetzt und es werden definierte Programmfortsetzungsbedingungen eingestellt.The signature [S] is evaluated; in case of deviation from the error-free program execution decoding state [S] o = [0; 0; 0; ...; 0] an error handling is initiated. Within the error handling, the signature [S] is changed to the state [0; 0; 0; ...; 0] is set and defined program continuation conditions are set.

Damit ist nach Erkennen eines Fehlers mit dem Zurückschalten auf den alten Kellerspeicher eine ordnungsgemäße Programmfortsetzung möglich.Thus, after detecting an error with the switch back to the old cellar memory a proper program continuation is possible.

Mit der Rückkehr zum vorhergehenden Kellerspeicher wird der vor dem Umschalter auf einen neuen Kellerspeicher zuletzt eingetragene Wert (X]' = [A] © [S]i + j aus dem alten Kellerspeicher ausgelesen und zur Rückgewinnung des Ausgangszustandes des Signaturanalysators auf die Signatur [S] abgebildet. Damit nimmt die Signatur [S] wieder den Wert vor dem Umschalten auf einen weiteren Kellerspeicher an.With the return to the previous cellar memory, the value (X) '= [A] © [S] i + j last entered before the changeover switch to a new cellar memory is read out of the old cellar memory and used to recover the initial state of the signature analyzer to the signature [S The signature [S] resumes the value before switching to another cellar memory.

Mit der Rückkehr zum aufrufenden Unterprogramm wird nun der im Kellerspeicher vor dem Unterprogrammaufruf eingetragene Wert des Zeitregisters ausgelesen und daraus der alte Wert des Zeitregisters wieder eingestellt.With the return to the calling subroutine, the value of the time register entered in the cellar memory before the subprogram call is read out and from this the old value of the time register is set again.

Im weiteren Programmablauf wird das Zeitregister wieder wie bereits ausgeführt dekrementiert.As the program progresses, the time register is again decremented as already performed.

Das Auslesen von Daten aus dem alten Kellerspeicher vollzieht sich nun in der bereits beschriebenen Weise, solange, bis alle im Unterprogramm und bei Aufruf des Unterprogramms in den Kellerspeicher eingeschriebenen Daten [X]k ausgelesen sind.The reading out of data from the old cellar memory now takes place in the manner already described until all the data [X] k written into the subroutine and when the subroutine is called up in the cellar memory are read out.

Bei fehlerhafter Ausführung aller Operationen stellt*ich wieder der Zustand [S]o = [0; 0; 0;...; 0)ein.If all operations are executed incorrectly, * I again set the state [S] o = [0; 0; 0; ...; 0) a.

Nach Beendigung des Unterprogrammes wird der Rechnerstatus für Zeitüberwachung abgeschaltet.After completion of the subroutine, the computer status for time monitoring is switched off.

Weiterhin wird die Signatur [S] ausgewertet und bei Abweichung vom Zustand [S]o = [0; 0; 0;...; 0] eine Fehlerbehandlung eingeleitet, innerhalb derer der Zustand [S]o = [0; 0; 0;...; 0] und definierte Programmfortsetzungsbedingungen eingestellt werden.Furthermore, the signature [S] is evaluated and in case of deviation from the state [S] o = [0; 0; 0; ...; 0] initiated an error handling, within which the state [S] o = [0; 0; 0; ...; 0] and defined program continuation conditions are set.

Abschließend wird zur Rückgewinnung des Anfangsfüllstandes des Kellerspeichers der Wert [X] = [A] © [SIx aus dem Köllerspeich jsgelesen und zur Rückgewinnung des Ausgangszustandes des Signaturanalysators auf die Signatur [S] abgebildet. Damit nimmt die Signatur [S] wieder den Ausgangswert an.Finally, to recover the initial level of the cellar memory, the value [X] = [A] © [SIx is read from the memory of the motor vehicle and mapped to the signature [S] to recover the initial state of the signature analyzer. Thus, the signature [S] resumes the output value.

Aufstellung der verwendeten Symbole zur Patentanmeldung „Verfahren zur Überwachung des Programmablaufes in Rechnerarchitekturen"Listing of the symbols used for the patent application "Method for monitoring the program flow in computer architectures"

[A] Systemmatrix des Signaturanalysators[A] System matrix of the signature analyzer

[S] Signatur des Signaturanalysators[S] Signature of the signature analyzer

[X] Daten[X] data

(Index) k Anzahl der seit dem letzten Unterprogrammaufruf bzw. Wechsel des Kellerspeichers(Index) k Number of since the last subprogram call or change of the cellar memory

im Kellerspeicher abgelegten Datenstored in the basement storage data

(Index) i Anzahl der zur Fortsetzung des Programms erforderlichen abgespeicherten Daten(Index) i Number of stored data required to continue the program

(Index) j Anzahl der innerhalb der Abarbeitung des Unterprogramms abgespeicherten Daten(Index) j Number of data stored within the execution of the subroutine

0 Modulo-2-Miiltiplikation0 modulo-2 multiplication

© Modulo-2-Addition© Modulo-2 addition

Claims (8)

1. Verfahren zur Überwachung des Programmablaufes in Rechnerarchitekturen, insbesondere der ordnungsgemäßen Abarbeitung von Unterprogrammen, über die Überwachung des Datenaustausches zwischen Verarbeitungseinheiteh und „last-in-first-ouf'-organisierten Kellerspeichern auf Basis der Signaturanalyse, dadurch gekennzeichnet, daß vor Ausführung eines Unterprogramms eine einer maximal zulässigen Bearbeitungszeit für das Unterprogramm entsprechende Zeitkonstante in ein reserviertes Zeitregister eingetragen und ein spezieller Rechnerstatus für Zeitüberwachung eingestellt wird, daß ebenfalls vor Ausführung des Unterprogramms der Zustand [X] = [A] © [S] eines eingesetzten invers schaltbaren Signaturanalysators mit einer Systemmatrix [A], der eine Signatur [S] führt, im Kellerspeicher abgelegt und gleichzeitig auf die Signatur [S] nach einer ersten Abbildungsfunktion abgebildet wird, daß während der Abarbeitung des Unterprogramms das Zeitregister durch festgelegte Prozeßzeitintervalle schrittweise gegen einen Grenzwert gesetzt wird, wobei bei Erreichen dieses Grenzwertes eine Fehlerbehandlung ausgelöst wird, daß weiterhin während der Abarbeitung des Unterprogramms alle Daten [X]k, die in den Kellerspeicher geschrieben werden, gleichzeitig nach der ersten Abbildungsfunktion und alle Daten [X]k, die wieder aus dem Kellerspeicher ausgelesen werden, gleichzeitig nach einer zweiten Abbildungsfunktion auf die Signatur [S] abgebildet werden, daß nach Beendigung des Unterprogrammes der RechnerstatusfürZeitüberwachung abgeschaltet, die Signatur [S] ausgewertet sowie bei einer festgestellten Abweichung von einer Sollsignatur [S]o eine Fehlerbehandlung eingeleitet wird und daß abschließend der Wert [X] aus dem Kellerspeicher ausgelesen wird.1. A method for monitoring the program flow in computer architectures, in particular the proper execution of subroutines, on the monitoring of the data exchange between processing unit and "last-in-first-ouf'-organized cellar memories based on the signature analysis, characterized in that prior to execution of a subroutine a time constant corresponding to a maximum permissible processing time for the subroutine is entered in a reserved time register and a special computer status for time monitoring is set, that before execution of the subroutine the state [X] = [A] © [S] of an inserted inverse switchable signature analyzer with a System matrix [A], which leads to a signature [S], stored in the cellar memory and simultaneously mapped to the signature [S] after a first mapping function, that during the execution of the subroutine, the time register by fixed Prozeßzeiti ntervalle is incrementally set against a limit value, whereby, when this limit value is reached, error handling is triggered so that, during the execution of the subroutine, all data [X] k written to the cellar memory is sent simultaneously to the first mapping function and all data [X] k, which are again read out of the cellar memory, are simultaneously mapped onto the signature [S] after a second mapping function, that after completion of the subprogram the computer status for time monitoring is switched off, the signature [S] is evaluated and if a deviation from a target signature [S] is detected. o an error treatment is initiated and that finally the value [X] is read from the cellar memory. 2. Verfahrer, nach Anspruch 1, dadurch gekennzeichnet, daß in der Zeitkonstante die Abarbeitungszeit intern aufgerufener Unterprogramme nicht berücksichtigt wird.2. Verfahrer, according to claim 1, characterized in that the processing time internally called subroutines is not taken into account in the time constant. 3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß bei internem Aufruf weiterer Unterprogramme der Zustand des Zeitregisters in den Kellerspeicher ausgelagert wird, daß im neuen Unterprogramm eine Überwachung des Programmablaufes wie im aufrufenden Unterprogramm durchgeführt wird und daß mit der Rückkehr zur aufrufenden Programmeinheit der alte Zustand des Zeitregisters wieder eingestellt wird.3. The method according to claim 2, characterized in that when internal call other subroutines, the state of the time register is outsourced to the basement memory, that in the new subroutine monitoring of the program sequence as in the calling subroutine is performed and that with the return to the calling program unit of the old State of the time register is set again. 4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß beim Umschalten auf einen neuen Kellerspeicher der Signaturanalysator-Zustand [X] = [A] © [S] im alten Kellerspeicher abgelegt sowie gleichzeitig auf die Signatur [S] nach der ersten Abbildungsfunktion abgebildet wird und daß nach der Rückkehr zum alten Kellerspeicher der Wert [X] aus dem Kellerspeicher ausgelesen sowie gleichzeitig nach der zweiten Abbildungsfunktion auf die Signatur [S] abgebildet wird.4. The method according to claim 3, characterized in that when switching to a new cellar memory of the signature analyzer state [X] = [A] © [S] stored in the old cellar memory and is simultaneously mapped to the signature [S] after the first mapping function and that after returning to the old cellar memory, the value [X] is read out of the cellar memory and simultaneously mapped to the signature [S] after the second mapping function. 5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die erste Abbildungsfunktion mit [S]k + 1 = [A] © [S]k © [X]k und die zweite Abbildungsfunktion mit [S]k - 1 = [A]exp - 1 ©([S]k© [X]k) (mitk = Anzahl der seit dem letzten Unterprogrammaufruf bzw. Wechsel des Kellerspeichers im Kellerspeicher abgelegten Daten) angegeben wird.5. The method according to any one of the preceding claims, characterized in that the first mapping function with [S] k + 1 = [A] © [S] k © [X] k and the second mapping function with [S] k - 1 = [ A] exp - 1 © ([S] k © [X] k) (mitk = number of data stored since the last subroutine call or change of the cellar memory in the cellar memory). 6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß bei Aufruf von Unterprogrammen ohne Zusammenhang zwischen Programmstruktur und Programmlaufzeit der Rechnerstatus für Zeitüberwachung abgeschaltet wird.6. The method according to any one of the preceding claims, characterized in that is switched off when calling subroutines without a link between the program structure and program runtime, the computer status for time monitoring. 7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß innerhalb der Fehlerbehandlung die Sollsignatur [S]o eingestellt wird.7. The method according to any one of the preceding claims, characterized in that within the error treatment, the target signature [S] o is set. 8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß innerhalb der Fehlerbehandlung definierte Programmfortsetzungsbedingungen eingestellt werden.8. The method according to any one of the preceding claims, characterized in that within the error treatment defined program continuation conditions are set.
DD33636989A 1989-12-27 1989-12-27 PROCEDURE FOR MONITORING THE PROGRAM PROCEDURE IN COMPUTER ARCHITECTURES DD290965A5 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DD33636989A DD290965A5 (en) 1989-12-27 1989-12-27 PROCEDURE FOR MONITORING THE PROGRAM PROCEDURE IN COMPUTER ARCHITECTURES

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DD33636989A DD290965A5 (en) 1989-12-27 1989-12-27 PROCEDURE FOR MONITORING THE PROGRAM PROCEDURE IN COMPUTER ARCHITECTURES

Publications (1)

Publication Number Publication Date
DD290965A5 true DD290965A5 (en) 1991-06-13

Family

ID=5615320

Family Applications (1)

Application Number Title Priority Date Filing Date
DD33636989A DD290965A5 (en) 1989-12-27 1989-12-27 PROCEDURE FOR MONITORING THE PROGRAM PROCEDURE IN COMPUTER ARCHITECTURES

Country Status (1)

Country Link
DD (1) DD290965A5 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003029979A2 (en) * 2001-09-28 2003-04-10 Infineon Technologies Ag Program-controlled unit with monitoring device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003029979A2 (en) * 2001-09-28 2003-04-10 Infineon Technologies Ag Program-controlled unit with monitoring device
WO2003029979A3 (en) * 2001-09-28 2004-07-01 Infineon Technologies Ag Program-controlled unit with monitoring device
US8145953B2 (en) 2001-09-28 2012-03-27 Infineon Technologies Ag Programmable unit

Similar Documents

Publication Publication Date Title
EP0011685B1 (en) Programmable memory protection arrangement for microprocessors and circuitry with such an arrangement
EP0238841B1 (en) Error-protected multiprocessor controller having a high availability to a switching system, and method for memory configuration operation of this centraller
DE2428348C2 (en) Process for the continued use of a faulty data memory and device for carrying out this process
DE4331703C2 (en) Electronic device
DE2225841A1 (en) PROCEDURE AND ARRANGEMENT FOR THE SYSTEMATIC ERROR CHECK OF A MONOLITHIC SEMICONDUCTOR MEMORY
DE102005040916A1 (en) Memory arrangement and method of operation therefor
DE3210616A1 (en) COMPUTER
EP1359485B1 (en) Control and monitoring system
DD290965A5 (en) PROCEDURE FOR MONITORING THE PROGRAM PROCEDURE IN COMPUTER ARCHITECTURES
DE19904375C2 (en) Method for checking the function of memory cells of an integrated semiconductor memory
EP1595212B1 (en) Method and device for monitoring an electronic circuit
EP1924914B1 (en) Data processing system and a method for the operation thereof
EP0353660B1 (en) Fault prevention method in memory systems of data-processing installations, in particular telephone exchanges
DE102009002786A1 (en) Method for testing a memory and control device with means for a memory test
DE102010027287A1 (en) Method and device for checking a main memory of a processor
DD290966A5 (en) PROCEDURE FOR MONITORING THE PROGRAM PROCEDURE IN COMPUTER ARCHITECTURES
DE69725808T2 (en) Microcomputer with self-test unit
EP1777622A2 (en) Instruction memory protection using Control Flow Checking
DE2846890A1 (en) Test system for random access memories - writes cell address into cell and then compares reading with read cell address for fault indication
DD291176A5 (en) PROCEDURE FOR MONITORING THE PROGRAM PROCEDURE IN COMPUTER ARCHITECTURES
EP0613077B1 (en) Method for generating a reset signal in a data processing system
DD290967A5 (en) CIRCUIT ARRANGEMENT FOR MONITORING THE PROCESSING OF SUB-PROGRAMS IN COMPUTER ARCHITECTURES
EP0477628A2 (en) Communication system with a central control using a multiprocessor system to which a tracer is connectable for test and diagnostic operations
DE10128996B4 (en) Method and device for monitoring memory cells of a volatile data memory
DE19930144C1 (en) Faulty memory accesses detection in processor-controlled arrangement

Legal Events

Date Code Title Description
RPV Change in the person, the name or the address of the representative (searches according to art. 11 and 12 extension act)