DD290965A5 - PROCEDURE FOR MONITORING THE PROGRAM PROCEDURE IN COMPUTER ARCHITECTURES - Google Patents
PROCEDURE FOR MONITORING THE PROGRAM PROCEDURE IN COMPUTER ARCHITECTURES Download PDFInfo
- 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
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
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.
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.
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.
2906117 offengelegt.2906117 disclosed.
ist verhältnismäßig groß.is relatively large.
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.
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
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.
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
ü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;
einer vorab berechneten Soll-Signatur verglichen.a previously calculated target signature compared.
ausgelöst.triggered.
sowie weitere Daten der aufrufenden Programmeinheit nicht verändert werden.as well as other data of the calling program unit are not changed.
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.
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
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
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.
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 ,
der ordnungsgemäßen Abarbeitung von Unterprogrammen vorgeschlagen, bei welchem der Datenaustausch zwischenthe proper execution of subroutines, in which the exchange of data between
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
gleichzeitig auf die Signatur [S] nach einer ersten Abbildungsfunktion abgebildet.simultaneously mapped to the signature [S] after a first mapping function.
gegen einen Grenzwert gesetzt.set against a limit.
vor Erreichen des genannten Grenzwertes, beendet.before reaching the mentioned limit, finished.
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.
eine Fehlerbehandlung eingeleitet.initiated an error handling.
erreicht.reached.
der alte Zustand des Zeitregisters eingestellt.the old state of the time register is set.
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.
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.
[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
vorteilhaft.advantageous.
abgebrochen werden.be canceled.
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
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)
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)
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 |
-
1989
- 1989-12-27 DD DD33636989A patent/DD290965A5/en unknown
Cited By (3)
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) |