DD273137A1 - CIRCUIT ARRANGEMENT FOR PROGRAM MONITORING IN MICRORECHNER SYSTEMS - Google Patents

CIRCUIT ARRANGEMENT FOR PROGRAM MONITORING IN MICRORECHNER SYSTEMS Download PDF

Info

Publication number
DD273137A1
DD273137A1 DD31688988A DD31688988A DD273137A1 DD 273137 A1 DD273137 A1 DD 273137A1 DD 31688988 A DD31688988 A DD 31688988A DD 31688988 A DD31688988 A DD 31688988A DD 273137 A1 DD273137 A1 DD 273137A1
Authority
DD
German Democratic Republic
Prior art keywords
output
whose
input
inputs
system bus
Prior art date
Application number
DD31688988A
Other languages
German (de)
Inventor
Rene Reissmueller
Andre Bujara
Original Assignee
Adw Ddr Inst Informatik
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 Adw Ddr Inst Informatik filed Critical Adw Ddr Inst Informatik
Priority to DD31688988A priority Critical patent/DD273137A1/en
Publication of DD273137A1 publication Critical patent/DD273137A1/en

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

Die Erfindung betrifft eine Schaltungsanordnung zur Programmueberwachun g in Mikrorechnersystemen, bei denen eine simultane Ueberwachung notwendig ist. Erfindungsgemaess enthalten die zu ueberwachenden Programme in jedem linearen Programmabschnitt mindestens eine Kennzahl, wobei bei fehlenfreier Arbeit zwischen je zwei Kennzahlen die Hammingdistanz 1 auftritt. Die Ueberwachung erfolgt durch einen erfindungsgemaess am Systembus angeordneten Hammingkomparator (1) und einen LIFO-Speicher (2), die durch eine Steuerung (4) gesteuert werden. Durch im LIFO-Speicher (2) zwischengespeicherte Kennzahlen ist die Ueberwachung insbesondere auch bei Interrupts und Programmverzweigungen moeglich. Fig. 1The invention relates to a circuit arrangement for program monitoring in microcomputer systems in which simultaneous monitoring is necessary. According to the invention, the programs to be monitored contain at least one code number in each linear program section, with the hamming distance 1 occurring in the absence of any work between every two code numbers. The monitoring takes place by means of a Hamming comparator (1) arranged according to the invention on the system bus and a LIFO memory (2) which are controlled by a controller (4). By cached in the LIFO memory (2) metrics, the monitoring is especially in interrupts and program branches possible. Fig. 1

Description

Hierzu 2 Seiten ZeichnungenFor this 2 pages drawings

Anwendungsgebiet der ErfindungField of application of the invention

Die Erfindung betrifft eine Schaltungsanordnung zur Kontrolle der fehlerfreien ?rogrammabarbeitung in Mikrorechnersystemen. Das Anwendungsgebiet sind Mikrorechnersysteme, an die hohe Zuverlässigkeitsanforderun&en gestellt werden oder/und von denen ein sicheres Ausfallverhalten gefordert wird.The invention relates to a circuit arrangement for checking the error-free? r ogrammabarbeitung in microcomputer systems. The field of application are microcomputer systems, to which high reliability requirements are placed or / and of which a safe failure behavior is demanded.

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

Die Kontrolle der Programmabarbeitung kann während der Inbetriebnahme und bei besonders hohen Anforderungen auch während des Betriebes erfolgen. Bei letzterem ist besonders die on-line-Überwachung für eine schnelle Fehlererkennung von Bedeutung. Der Hardwareaufwand ist dabei gering zu halten, um weitere Fehlerquellen möglichst auszuschließen und den ökonomischen Aufwand zu begrenzen. Zur on-line- Programmüberwachung sind verschiedene technische Möglichkeiten bekannt. Im folgenden werden drei Lösungen vorgestellt.The program execution can be checked during commissioning and under particularly high requirements during operation. In the latter case, on-line monitoring is particularly important for fast error detection. The hardware cost is to be kept low in order to exclude other sources of error as possible and to limit the economic effort. For on-line program monitoring various technical possibilities are known. In the following three solutions are presented.

Di» aus DE-OS 294982? bekannte technische Lösung wertet von einer Cnmputei- (Mikrocomputer-) Steuerung durch im Programm eingefügte spezielle Befehle abgegebene Signale aus. Im fehlerfreien Betrieb der Steuerung müssen die Signale zyklisch, innerhalb eines festen Zeitraumes, abgegeben werden. Bleibt das Signal aus, wird von der erfindungsgemäßen Schaltung als Fehlerreaktion ein Rücksetzsignal erzeugt, durch welches ein definierter Grundzustand hergestellt wird. Nachteilig bei dieser Lösung ist, daß Jie zyklische Abgabe des Signals ein unsicheres Kriterium für den fehlerfreien Betrieb ist. Werden zum Beispiel bis Folge eines Fehlers falsche Programmabschnitte angesprungen, wird das nicht erkannt. Eine bessere Lösung wird in DE-OS 28216U2 beschrieben. Das Patent bet-ifft eine Programmsteuereinhoit zum Steuern einer elektromechanischen Anordnung. In das abzuarbeitende Programm wird ein Ausgabebefehl am Anfang der zuerst abzuarbeitenden Befehlsfolge eingefügt, der eine Prüfinformation in einem Speicher schreibt. Vor der Abarbeitung jedes den Systemzustand verändernden Befehls, wird diese Prüfinformation mit einer vorgegebenen Information verglichen. Bei Gleichheit wird der Befehl und bei Ungleichheit ein Sprung ausgeführt. In jeder Befehlsfolge wird mindestens am Schluß ein Befehl zur Veränderung der Prüfinformation in einer festgelegten Weise eingefügt. Der Hauptnachteil der zuerst beschriebenen Erfindung besteht hier nicht. Adressierungsfehler können mit hoher Wahrscheinlichkeit erkannt werden. Nachteilig hingegen ist, das ein relativ hoher Befehlsaufwand für das Vergleichen und Verändern der Prüfinformation erforderlich ist. Ebenso wird ein Fehler nicht erkannt, der dazu führt, daß die Prüfinformation nicht mehr verglichen wird.Di »from DE-OS 294982? known technical solution evaluates from a Cnmputei- (microcomputer) control by inserted inserted in the program special commands signals. In error-free operation of the controller, the signals must be cyclically delivered within a fixed period of time. If the signal remains off, a reset signal is generated by the circuit according to the invention as a fault reaction, by means of which a defined ground state is produced. The disadvantage of this solution is that the cyclic delivery of the signal is an uncertain criterion for error-free operation. If, for example, wrong program sections are jumped until the result of an error, this is not recognized. A better solution is described in DE-OS 28216U2. The patent provides a program control unit for controlling an electromechanical arrangement. In the program to be processed, an output command is inserted at the beginning of the first instruction sequence to be processed, which writes a check information in a memory. Prior to processing each command changing the system state, this check information is compared with a predetermined information. If equal, the command will be executed and in case of inequality a jump will be made. In each sequence of instructions, at least at the end, a command for changing the check information is inserted in a fixed manner. The main drawback of the invention first described does not exist here. Addressing errors can be detected with high probability. A disadvantage, however, is that a relatively high instruction effort for comparing and changing the test information is required. Likewise, an error is not recognized, which means that the check information is no longer compared.

Eine weitere Erfindung wird in DE-OS 2533995 beschrieben. Der erfindunrjsgemäßen Überwachungsschaltung wird vom überwachten Digitalrechner zyklisch ein zweiteiliges Prüfwort durch in das Programm eingefügte Befehle übergeben. Die Überwachungsschaltung vergleicht den ersten Teil des aktuellen Prüfwortes mit dem gespeicherten zweiten Teil des zuletzt empfangenen Prüfwortes und speichert dann den zweiten Teil des aktuellen Prüfwortes. Bei Ungleichheit oder innerhalb eines Zeitraumes t nach dem letzten Vergleich ausbleibender Prüfwortübermittlung wird eine Fehlermeldung ausgelöst. Im Gegensatz zu DE-OS 2821882 ist der Aufwand an zusätzlichen Befehlen gering. Durch die Zeitbedingung werden auch Fehler erkannt, die dazu führen, daß kein Prüfwort mehr übergeben wird. Nachteilig hingegen ist, daß für jeden Teil dos Prüfwortes nur die halbe Datenbreite des Übertragungsmediums zur Verfügung steht, v/enn zur Prüfwortübertragung nicht mehrere Übertragungszyklen benutzt werden sollen, was den Befehls- und Zeitaufwand erhöhen würde. Das wäre z. B. bei einem 8-Bit-Datenbus als Übertragungsmedium nur 4bit. Es würden nur 16 verschiedene Prüfworthälften möglich sein, so daß statisch jeder 16. Fehler unerkanm bliebe. Weiterhin ist es nachteilig, daß die Erfindung in Rechnern, in denen die Programmabarbeitung durch Unterbrach jngsanforü^'ungen unterbrochen werden kann, nur dann anwendbar ist, wenn die Unterbrechungsroutinen kurz im Verhältnis zum festgelegte.- Zeitraum t sind. Die Abarbeitung dor Unterbrechungsroutinen kann nicht überwacht werden.Another invention is described in DE-OS 2533995. The monitoring circuit according to the invention is cyclically transferred by the monitored digital computer to a two-part test word by means of instructions inserted into the program. The monitoring circuit compares the first part of the current check word with the stored second part of the last received check word and then stores the second part of the current check word. In case of inequality or within a period t after the last comparison of missing check word transmission, an error message is triggered. In contrast to DE-OS 2821882 the cost of additional commands is low. Due to the time condition, errors are also detected which lead to the result that no more check word is transferred. The disadvantage, however, is that only half the data width of the transmission medium is available for each part of the test word, v / enn for test word transmission not several transmission cycles are to be used, which would increase the command and time. That would be z. B. in an 8-bit data bus as a transmission medium only 4bit. Only 16 different test halves would be possible, so that statically every 16th error would remain unmanageable. Furthermore, it is disadvantageous that in computers in which the program execution can be interrupted by interruption requests, the invention is only applicable if the interrupt routines are short in relation to the fixed time period t. The processing of interrupt routines can not be monitored.

Ziel der ErfindungObject of the invention

Ziel der Erfindung ist es, in Mikrorechnersystemen den Arbeitsaufwand zur Fehlersuche zu vermindern und damit die Zuverlässigkeit zu erhöhen und ein sicheres Ausfallverhalten zu unterstützen.The aim of the invention is to reduce the workload for troubleshooting in microcomputer systems and thus to increase the reliability and to support a reliable failure behavior.

Darlegung des Wesens der ErfindungExplanation of the essence of the invention

Der Erfindung liegt die Aufgabe zugrunde, eine Schaltungsanordnung zur simultanen Überwachung der Programmabarbeitung in einem Mikrorechnersystem zu entwickeln, wobei der Fehlererkennungsgrad mit geringem Hardwareaufwand und geringem Aufwand an zusatzlichen Befehlen erhöht und die Fehlererkennungszeit und dia Fehlerreaktionszeit verringert werden soll. Diese Aufgabe wird erfindungsgemäß durch eine Programmabarbeitungsüberwachungslogik (PAUL) gelöst, die jeder zentralen Verarbeitungseinheit in einem Mikrorechnersystem, deren Programmabarbeitung überwacht werden soll, zugeordnet ist. Die Programmabarbeitungsüberwachungslogik hat eine Schnittstelle zum Systembus, an dem die ihr zugeordnete zentrale Verarbeitungseinheit temporärer Busmaster sein kann und über den alle Interruptvektoren für die zentrale Verarbeitungseinheit übertragen werden.The invention has for its object to develop a circuit arrangement for simultaneous monitoring of program execution in a microcomputer system, the error detection level with low hardware cost and low cost of additional commands increases and the error detection time and dia error response time should be reduced. This object is achieved according to the invention by a program execution monitoring logic (PAUL) which is assigned to each central processing unit in a microcomputer system whose program execution is to be monitored. The program execution monitoring logic has an interface to the system bus, at which the central processing unit assigned to it can be a temporary bus master and via which all interrupt vectors for the central processing unit are transmitted.

Die Schnittstelle besteht aus einem I/O-Port mit fester l/0-Aaresse aus dem I/O-Raum der zentralen Verarbeitungseinheit. Dem Port kann durch einen I/O-Write-Zyklus eine n-bit-Kennzahl von der zentralen Verarbeitungseinheit über den Datenbus gesendet werden. Weiterhin ist die Programmabarbeitungsüborwachungslogik mit Signalen des Systembusses verbunden, die den Aufruf eines vektorisierten Interrupts mit der Übertragung eines Interruptvektors, den Aufruf eines nichtvektorisierten Interrupts, d'e Rückkehr von einer Interruptroutine und ein System-Reset signalisieren. Die Programmabarbeitungsüberwachungslogik besitzt ein Ausgangssignal zur Fehlermeldung an die überwachte oder an andere zentrale Verarbeitunrjseinheiten im Mikrorechnersystem oder an externe Schnittstellen.The interface consists of an I / O port with a fixed I / O address from the I / O space of the central processing unit. The port can be sent by the I / O write cycle an n-bit code from the central processing unit via the data bus. Further, the program execution monitor logic is coupled to system bus signals that signal the calling of a vectored interrupt with the transmission of an interrupt vector, the call of a non-vectored interrupt, an e- return from an interrupt routine, and a system reset. The program execution monitoring logic has an output signal for the error message to the monitored or to other central processing units in the microcomputer system or to external interfaces.

Intern besteht die Programmabarbeitungsüberwachungslogik aus einem Hammlngkomparator, einem modifizierten LIFO-Speicher, einem nachtriggerbaren monostabilen Multivibrator, einer Steuerung und zwei ODER-Gattern und hat den nachfolgend beschriebenen erfindungsgemäßen Aufbau.Internally, the program execution monitoring logic consists of a Hamming comparator, a modified LIFO memory, a retriggerable monostable multivibrator, a controller, and two OR gates, and has the inventive design described below.

Die erste Gruppe von η-Eingängen des Hammingkomparators und die n-Dateneingänge des modifizierten LIFO-Speichers sind mit den n-Datenleitungen des Systembusses verbunden. Die n-Datenausgänge des modifizierten LIFO-Speichers sind mit der zweiten Gruppe von η-Eingängen des Hammingkomparators verbunden. Die Stouereingänge des Hammingkomparators und ties modifizierten LIFO-Speichers sind mit den Ausgängen der Steuerui g verbunden. Dia Eingänge der Steuerung stehen mit Adreßleitungen, der Leitung für das I/O-Write-Kommando und den oben beschriebenen Signalen zur Unterbrechungs· und Reset-Identifikation des Systembusse« in Verbindung. Ein erster Ausgang des Hammingkomparators ist mit einem erstenThe first group of η inputs of the Hamming comparator and the n data inputs of the modified LIFO memory are connected to the n data lines of the system bus. The n data outputs of the modified LIFO memory are connected to the second group of η inputs of the Hamming comparator. The stalls of the Hamming comparator and low modified LIFO memory are connected to the outputs of the control unit. The inputs of the controller are connected to address lines, the line for the I / O-Write command and the above-described signals for interrupt and reset identification of the system bus. A first output of the Hamming comparator is a first one

Eingang eines ersten ODER-Gatters verbunden, dessen Ausgang an einem Triggereingang des monostabilen Multivibrators anliegt. Ein zweiter Ausgang des Hammingkomparators ist mit dem ersten Eingang eines zweiten ODER-Gatters verbunden und ein zweiter Eingang des zweiten ODER-Gatters Ist mit einem negierten Ausgang des monostabilen Multivibrators verbunden. Ein Ausgang des zweiten ODER-Gatters bildet das Ausgangssignal zur Fehlermeldung.Input of a first OR gate connected, whose output is applied to a trigger input of the monostable multivibrator. A second output of the Hammingcomparator is connected to the first input of a second OR gate and a second input of the second OR gate is connected to a negated output of the monostable multivibrator. An output of the second OR gate forms the output signal for the error message.

Für die Funktion der Progrsmmabarbeitungsüberwachungslogik ist es notwendig, in den Maschinencode des Programmes, das auf der zentralen Verarbeitungseinheit, deren Programmabarbeitung durch eine Programmabarbeitungsüberwachungslogik überwacht werden soll, abgearbeitet wird, spezielle I/O-Write-Befehle einzufügen. Bei der Ausführung eines derartigen Befehls muß der Programmabarbeitungsüberwachungslogik von der zentralen Verarbeitungseinheit mittels I/O-Write-Zyklus mit der, der Programmabarbeitungsüberwachungslogik zugeordneten I/O-Adresse, eine feste im Maschinencode des I/O-Write-Befehls enthaltene n-bit-Kennzahl übergeben werden. Die I/O-Write-Befehle sind derart in den Maschinencode einzufügen, daß in jedem linearen Programmabschnitt mindestens ein solcher Befehl auftritt. Jedem Befehl ist eine feste n-bit-Kennzahl so zuzuordnen, daß bei der fehlerfreien Programmabarbeitung ohne Interrupts zwei zeitlich nacheinander an die Programmabarbeitungsüberwachungslogik gesendete Kennzahlen immer die Hammingdistanz 1 haben. Bei Programmverzweigungen muß die in allen möglicherweise angesprungenen linearen Programmabschnitten zuerst übergebene Kennzahl die Hammingdistanz 1 zur letzten vor der Verzweigung übergebenen Kennzahl haben. Die in einer Interruptroutine eines nicht vektorisierten Interrupts und nach System-Reset zuerst übergebene Kennzahl muß zu 0 die Hammingdistanz 1 haben. In Interruptroutinen vektorisierter Interrupts muß die zuerst übergebene Kennzahl zum vorher übertragenen, ihr zugeordneten Interruptvektor die Hammingdistanz 1 haben. Weiterhin sind die Kennzahlen derart zu verteilen, daß möglichst viele unerlaubte, bei fehlerhafter Programmabarbeitung auftretende Verzweigung oder Sprünge zu einer Hammingdistanz 1 der vor und nach der Verzweigung übergebenen Kennzahlen führen. Die beschriebenen I/O-Write-Befehle sind darüber hinaus so in Jen Maschinencode des Programmes einzufügen, daß sichergestellt ist, daß bei fehlerfreier Programmabarbeitung mit Interrupts innerhalb eines durch die Programmabarbeitungsüberwachungslogik bestimmten Zeitintervalles TO nach der Übergabe einer Kennzahl eine neue Kennzahl übergeben wird.For the program execution monitoring logic function, it is necessary to insert special I / O write commands into the machine code of the program to be executed on the central processing unit whose program execution is to be monitored by program execution monitoring logic. In executing such an instruction, the program execution monitoring logic must provide the central processing unit with an I / O write cycle with the I / O address associated with the program execution monitoring logic, a fixed n-bit code contained in the machine code of the I / O Write instruction. Key figure to be passed. The I / O Write instructions are to be inserted into the machine code such that at least one such instruction occurs in each linear program section. Each command is assigned a fixed n-bit code so that in the error-free program execution without interrupts two consecutively sent sequentially to the program execution monitoring logic codes always have the Hammingdistanz 1. In the case of program branches, the key figure transferred first in all linear program segments that may have been jumped must have the Hamming distance 1 at the last key figure passed before the branch. The key figure first transferred in an interrupt routine of a non-vectored interrupt and after a system reset must have the Hamming distance 1 at 0. In interrupt routines of vectorized interrupts, the key number passed first must have the Hamming distance 1 for the previously transmitted interrupt vector assigned to it. Furthermore, the key figures are to be distributed in such a way that as many unauthorized branches or jumps occurring during erroneous program execution result in a hamming distance 1 of the key figures passed before and after the branching. Moreover, the I / O Write commands described are to be inserted in the machine code of the program in such a way that a new code number is transferred after error-free program execution with interrupts within a time interval TO determined by the program execution monitoring logic.

Bei der Abarbeitung eines entsprechend modifizierten Programmes wird der Programmabarbeitungsüberwachungslogik mittels I/O-Write-Zyklus von der zentralen Verarbeitungseinheit eine n-bit-Kennzahl zu einem Zeitpunkt to übergeben. Durch die Steuerung organisiert, vergleicht der Hammingkomparator die aktuelle Kennzahl an seiner ersten Gruppe von η-Eingängen mit der im UFO-Speicher gespeicherten vorherigen Kennzahl, die an seiner zweiten Gruppe von η-Eingängen anliegt. Erkennt er zwischen beiden Kennzahlen eine Hammingdistanz 1, aktiviert er seinen ersten Ausgang und triggert mittelbar über das erste ODER-Gatter den monostabilen Multivibrator nach. Ist die Hammingdistanz 1, aktiviert er seinen zweiten Ausgang und damit mittelbar über das zweite ODER-Gatter das Ausgangssignal zur Fehlermeldung. Nach dem Vergleich organisiert die Steuerung das Speichern der aktuellen Kennzahl in die Speicherzelle des LIFO-Speichers, in der die davor empfangene Kennzahl gespeichert war (keine UFO-Funktion).During execution of a suitably modified program, the program execution monitoring logic is transferred by means of an I / O write cycle from the central processing unit to an n-bit code at a time to. Organized by the controller, the Hamming comparator compares the current metric at its first group of η inputs with the previous metric stored in the UFO memory, which is applied to its second group of η inputs. If it detects a Hamming distance 1 between both characteristic numbers, it activates its first output and indirectly triggers the monostable multivibrator via the first OR gate. If the Hamming distance is 1, it activates its second output and thus indirectly via the second OR gate the output signal for the error message. After the comparison, the controller organizes the storage of the current code into the memory cell of the LIFO memory in which the previously received code was stored (no UFO function).

Erfolgt innerhalb des Zeitintervalls TO, das vom monostabilen Multivibrator bestimmt wird, nach I0 die Übergabe einer neuen Kennzahl mit wiederum Hammingdistanz* zur vorher empfangenen, wird der monostabile Multivibrator wie beschrieben erneut nachgetriggert. Erfolgt jedoch innerhalb des Zeitintervalls TO nach to keine Kennzahlübergabe, geht der monostabile Multivibrator in seinen stabilen Zustand über, damit wird sein negativer Ausgang high, was über das zweite ODER-Gatter zur Aktivierung als Ausgangsimpuls zur Fehlermeldung führt.If, within the time interval TO, which is determined by the monostable multivibrator, after I 0, the transfer of a new characteristic with in turn Hammingdistanz * to previously received, the monostable multivibrator is retriggered as described. If, however, within the time interval TO after to no code transfer, the monostable multivibrator goes into its stable state, so that its negative output is high, which leads to the error message via the second OR gate for activation as an output pulse.

Erkennt die Steuerung anhand ihrer Eingangssignale die Übertragung eines Interruptvektors über den Systembus und damit den Beginn einer Interruptroutine, s'euert sie den UFO-Speicher derart an, daß in diesem der Interruptvektor als Start-Kennzahl für die Interruptroutine gespeichert wird und die zuletzt vor der Interruptroutine ύbergebene Kennzahl gekeüert wird. Erkennt die Steuerung anhand ihrer Eingangssignale den Start einer Interruptroutine eines nicht vektorisierten Interrupts, steuert sie den UFO-Speicher derart an, das dieser die zuletzt empfangene Kennzahl kellert und 0 als neue Start-Kennzahl einspeichert. D'e erste in der Interruptroutine übergebene Kennzahl muß die Hammingdistanz 1 zum Interruptvektor bzw. zu 0 haben und sie muß innerhalb des Zeitintervalls TO nach der letzten Kennzahlübergabe vor der Übernahme des Interruptvektors bzw. 0 als Start-Kennzahl erfolgen, damit keine Aktivierung des Augangssignals zur Fehlermeldung erfolgt.If the controller recognizes the transmission of an interrupt vector via the system bus and thus the start of an interrupt routine on the basis of its input signals, it activates the UFO memory in such a way that the interrupt vector is stored therein as the start code for the interrupt routine and the last before the interrupt routine Interrupt routine Passed number is keeckert. If the controller recognizes the start of an interrupt routine of a non-vectored interrupt on the basis of its input signals, it controls the UFO memory in such a way that it stores the last received code and stores 0 as the new start code. D'e first passed in the interrupt routine code must have the Hammingdistanz 1 to the interrupt vector or to 0 and they must be within the time interval TO after the last key transfer before the transfer of the interrupt vector or 0 as the start key figure, thus no activation of the Augangssignals to the error message.

Erkennt die Steuerung anhand ihrer Eingangssignale den Rücksprung aus einer Interruptroutine, so holt sie die zuletzt gekellerte Kennzahl zurück und führt den folgenden Vergleich der aktuellen Kennzahl mit dieser Kennzahl aus. Entsprechend der Speichertiefe des LIFO-Speichers können Interruptroutinen ineinander verschachtelt werdon.If the controller recognizes the return from an interrupt routine on the basis of its input signals, it retrieves the last figured code and performs the following comparison of the current code with this code. According to the memory depth of the LIFO memory, interrupt routines can be interleaved.

Erkennt die Steuerung anhand ihrer Eingangssignale ein System-Reset, steuert sie den UFO-Speicher derart an, daß dieser in seine oberste Speicherzelle 0 als Start-Kennzahl einträgt und triggert den monostabilen Multivibrator über das zweite ODER-Gatter.If the controller detects a system reset on the basis of its input signals, it controls the UFO memory in such a way that it enters its uppermost memory cell 0 as the start code and triggers the monostable multivibrator via the second OR gate.

Ausführungsbeispielembodiment Im folgenden soll die Erfindung cnhand eines Ausführungsbeispieles näher erläutert werden. Dabei zeigt:In the following, the invention will be explained cnhand of an embodiment in more detail. Showing:

Fig. 1: das Blockschaltbild der Programmabarbeitungsüberwachungslogik und Fig.2: ein Ausführungtbeispiel gemäß Fig. 1.1 shows the block diagram of the program execution monitoring logic, and FIG. 2 shows an embodiment according to FIG. 1.

In Fig. 1 ist neben der erfindungsgemäßen Lösung lediglich der Systembus eines Mikrorechnersystemt dargestellt. Weitere Funktionsgruppen sind dem Fachmann bekannt. Ihre Darstellung ist für das Verständnis der Erfindung nicht notwendig. Das Mikrorachnef system kann vorzugsweise ein Multiprozessorsystern auf der Basis IAPX286 mit einem entsprechenden Systembus sein. Das Erfindungsprinzip ist aber auch in anderen Mikrorechnersystemen realisierbar. Die Profjrammabarbeitungsüberwachungslogik gemäß Fig. 1 besteht aus einem Hammlngkomparator (1), einem modifizierten LIFO-Speichor (2), einem nachtriggorbaren monostabilen Multivibrator (3), einer Steuerung (4) und zwei ODER-Gattern (5) und (6). Die erste Gruppe von η-Eingängen den Hammingkomparators (1) und die n-Dateneingänge des modifizierten LIFO-Speichers (2) sind mit den n-Datenleitungen de» Systembusses (7) verbunden. Die n-Datenausgänge des modifizierten LIFO-Speichers (2) 3hd mit der zweiten Gruppe von η-Eingängen dös Hammingkomparators (1) verbunden. Die Steuereingänge desIn Fig. 1, only the system bus of a Mikrorerschnersystemt is shown in addition to the inventive solution. Further functional groups are known to the person skilled in the art. Their representation is not necessary for the understanding of the invention. The Mikrorachnef system may preferably be a Multiprocessorsystern based on IAPX286 with a corresponding system bus. However, the principle of the invention can also be implemented in other microcomputer systems. 1 consists of a Hamming comparator (1), a modified LIFO memory (2), a retriggerable monostable multivibrator (3), a controller (4) and two OR gates (5) and (6). The first group of η inputs, the Hamming comparator (1) and the n data inputs of the modified LIFO memory (2) are connected to the n data lines of the system bus (7). The n data outputs of the modified LIFO memory (2) 3hd are connected to the second group of η inputs of the Hamming comparator (1). The control inputs of the

Hammingkomparators (1) und des modifizierten UFO-Speichers (2) sind mit den Ausgängen der Steuerung (4) verbunden. Die EingSnge der Steuerung (4) sind mit Adreßleitungen, einem I/O-Write· Kommando und den oben beschriebenen Signalen zur Unterbrechungs- und Reset-Identifikation des Systembusses (7) verbunden. Ein erster Ausgang des Hammingkomparators ist mit einem ersten Eingang des ODER-Gatters (6) verbunden. Der Ausgang des ODER-Gatters (6) ist mit einem Triggereingang des monostabilen Multivibrators (3) verbunden (1). Ein zweiter Ausgang des Hammingkomparators (1) ist mit dem ersten Eingang des ODER-Gatters (5) verbunden. Ein zweiter Eingang des ODER-Gatters (S) ist mit einem negierten Ausgang des monostabilen Multivibrators (3) verbunden. Ein Ausgang des ODER-Gatters (5) bildet das Ausgangssignal zur Fehlermeldung. Voraussetzung für die Funktion der Programmabarbeitungsüberwachungjlogik ist die im Wesen der Erfindung beschriebene Einfügung von l/0-Write-Befehlen, wobei in jedem linearen Programmabschnitt mindestens ein solcher Befehl auftritt. In jedem I/O-Write-Befehl ist eine Kennzahl enthalten. Bei fehlerfreier Programmabarbeitung muß zwischen zwei Kennzahlen immer die Hammingdistanz 1 entstehen.Hamming comparator (1) and the modified UFO memory (2) are connected to the outputs of the controller (4). The inputs of the controller (4) are connected to address lines, an I / O-Write · command and the above-described signals for interrupt and reset identification of the system bus (7). A first output of the Hamming comparator is connected to a first input of the OR gate (6). The output of the OR gate (6) is connected to a trigger input of the monostable multivibrator (3) (1). A second output of the Hammingcomparator (1) is connected to the first input of the OR gate (5). A second input of the OR gate (S) is connected to a negated output of the monostable multivibrator (3). An output of the OR gate (5) forms the output signal for the error message. The prerequisite for the function of the program execution monitoring logic is the insertion of I / O write commands described in the essence of the invention, wherein at least one such command occurs in each linear program section. Each I / O Write command contains a measure. In the case of error-free program execution, the Hamming distance 1 must always arise between two characteristic numbers.

In Fig.2 ist eine detaillierte Ausführungsform der Programmabarbeitungsüberwachungslogik dargestellt. Ein Multiplexer (12), ein statischer Schreib-Lesespeicher (8) und ein Zähler (9) bilden die Baugruppe UFO-Speicher (2) aus Fig. 1. Ein Steuerwerk (10) und ein Adreßdekoder (11) bilden die Baugruppe Steuerung (4) aus Fig. 1.FIG. 2 shows a detailed embodiment of the program execution monitoring logic. A multiplexer (12), a static random access memory (8) and a counter (9) form the subassembly UFO memory (2) from FIG. 1. A control unit (10) and an address decoder (11) form the subassembly controller (FIG. 4) from FIG. 1.

Die Programmabarbeitungsüberwachungslogik umfaßt einen Hammingkomparator (1), dessen erste Gruppe von acht Eingängen mit den acht niederwertigen Datenleitungen des Systembusses (7) verbunden ist. Des weiteren umfaßt sie einen achtfachen 1-aus-2-Multiplexer (12), dessen erste Gruppe von acht Eingängen ebenfalls mit den acht niederwertigen Datenleitungen des Systembusses (7) verbunden ist. Die acht Eingänge der zweiten Gruppe des Multiplexers (12) sind mit logisch Null verbunden. Die acht Ausgänge des Multiplexers (12) sind mit den acht Dateneingängen eines statischen 2m χ 8bit Schreib-Lesespeichei-s (8) verbunden. Die acht Datenausgange des Schreib-Lesespeichers (8) sind mit der zweiten Gruppe von acht Eingängen des Hammingkomparators (1) verbunden. Die m Adreßeingänge des Schreib-Lesespeichers (8) sind mit den Ausgängen eines m-bit Binär-Vorwärts-Rückwärts-Zählers (9) verbunden. Der Zähler (9) besitzt einen Rücksetzeingang, der mit einem System-Reset-Signal des Systembusses (7) verbunden ist. Der Hammingkomparator (1) hat ein erstes Ausgangssignal OK, welches mit dem ersten Eingang des ODER-Gatters (6) verbunden ist. Der zweite Eingang des ODER-Gatters (6) ist mit dem System-Reset-Signal verbunden. Der Ausgang des ODER-Gatters (6) ist mit dem Trigger-Eingang des monostabilen Multivibrators (3) verbunden. Dessen negierter Ausgang /Q ist mit dem ersten Eingang des ODER-Gatters (5) verbunden. Der Hammingkomparator (1) hat einen zweiten Ausgang NOK, der mit dem zweiten Eingang des ODER-Gatters (5) verbunden ist. Der Ausgang des ODER-Gatters (5) bildet ein Fehler-Signal ERROR für die zentrale Verarbeitungseinheit. Weiterhin ist das Steuerwerk (10) Bestandteil der Programmabarbeitungsüberwachungslogik. Das Steuerwerk (10) hat einen ersten Eingang, der mit einem I/O-Write-Signal des Systembusses (7), einen zweiten Eingang, der mit einem Interrupt-Acknowledge-Signal des Systembusses (7), einen dritten Eingang, der mit einem NMI-Signal des Systembusses (7), einen vierten Eingang, der mit einem Systembussignal RETURN FROM INT/NMI, einen fünften Eingang, der mit dem Ausgang SELECT eines Adreßdekoders (11) und einen sechsten Eingang der mit dem System-Reset-Signal verbunden ist.The program execution monitoring logic comprises a Hamming comparator (1) whose first group of eight inputs is connected to the eight low order data lines of the system bus (7). Furthermore, it comprises an eightfold 1-out-of-2 multiplexer (12) whose first group of eight inputs is also connected to the eight low-order data lines of the system bus (7). The eight inputs of the second group of the multiplexer (12) are connected to logic zero. The eight outputs of the multiplexer (12) are connected to the eight data inputs of a static 2 m χ 8-bit read-write memory (8). The eight data outputs of the random access memory (8) are connected to the second group of eight inputs of the Hamming comparator (1). The m address inputs of the random access memory (8) are connected to the outputs of an m-bit binary up-down counter (9). The counter (9) has a reset input, which is connected to a system reset signal of the system bus (7). The Hamming comparator (1) has a first output signal OK, which is connected to the first input of the OR gate (6). The second input of the OR gate (6) is connected to the system reset signal. The output of the OR gate (6) is connected to the trigger input of the monostable multivibrator (3). Its negated output / Q is connected to the first input of the OR gate (5). The Hammingcomparator (1) has a second output NOK connected to the second input of the OR gate (5). The output of the OR gate (5) forms an error signal ERROR for the central processing unit. Furthermore, the control unit (10) is part of the program execution monitoring logic. The control unit (10) has a first input, with an I / O-write signal of the system bus (7), a second input, with an interrupt acknowledge signal of the system bus (7), a third input, with an NMI signal of the system bus (7), a fourth input connected to a system bus signal RETURN FROM INT / NMI, a fifth input connected to the output SELECT of an address decoder (11) and a sixth input to the system reset signal connected is.

Das Steuerwerk (10) hat einen ersten Ausgang, der mit einem Steuereingang COMPARE des Hammingkomparators (1), einen zweiten Ausgang, der mit einem Write-Enable-Eingang (WE) des Schreib-Lesespeichers (8), einen dritten und vierten Ausgang, der jeweils mit dem zweiten und dritten Eingang (UP, DOWN) des Zählers (9), einen fünften Ausgang, der mit dem Steuereingang MUX des Multiplexers (12) und einen sechsten Ausgang, der mit einer READY-Leitung des Systembusses (7) verbunden ist. Der Adreßdekoder (11) hat 16 Eingänge, die mit den 16 niederwertigen Adreßleitungen des Systembusses (7) verbunden sind. Im folgenden wird die Funktion der erfindungsgemäßen Schaltungsanordnung beschrieben. Hierzu werden fünf Steuerabläufe a) bis e) unterschieden.The control unit (10) has a first output which is connected to a control input COMPARE of the Hamming comparator (1), a second output which has a write-enable input (WE) of the random access memory (8), a third and fourth output, each connected to the second and third inputs (UP, DOWN) of the counter (9), a fifth output connected to the control input MUX of the multiplexer (12) and a sixth output connected to a READY line of the system bus (7) is. The address decoder (11) has 16 inputs connected to the 16 low order address lines of the system bus (7). In the following the function of the circuit arrangement according to the invention will be described. For this purpose, five control processes a) to e) are distinguished.

Ein aktives System-Reset-Signal triggert mittels Gatter (6) den monostabilen Multivibrator (3), setzt den Zähler (9) auf 0 zurück und flößt im Steuerwerk (10) einen Steuerablauf a) an, in dem zuerst das fünfte Ausgangssignal MUX aktiviert wird, worauf der Multiplexer (12) die zweite Gruppe seiner acht Eingangssignal, die mit logisch Null verbunden sind, auf seine acht Ausgänge legt. Das Steuerwerk (10) aktiviert dann sein zweites Ausgangssignal WE für einen genügend großen Zeitraum, worauf der Schreib-Lesespeicher (8) entsprechend der an seinen m Adreßeingängen empfangenen, vom Zähler (9) gesendeten Adresse 0, die an den acht Dateneingängen gelegenen Daten (0) in seine 8-bit-Speicherzelle 0 übernimmt und diese, wenn WE wieder inaktiv geworden ist, at ι seine acht Datenausgänge legt.An active system reset signal triggers the monostable multivibrator (3) by means of gate (6), resets the counter (9) to 0 and instigates a control process a) in the control unit (10), in which first the fifth output signal MUX is activated whereupon the multiplexer (12) places the second group of its eight input signals connected to logic zero at its eight outputs. The control unit (10) then activates its second output signal WE for a sufficiently long period of time, whereupon the read-write memory (8) receives the address 0 received from the counter (9) at its m address inputs, the data located at the eight data inputs (FIG. 0) in its 8-bit memory cell 0 takes over and this, when WE has become inactive again, puts at ι its eight data outputs.

Die zentrale Verarbeitungseinheit sendet der Programmabarbeitungsüberwachungslogik eine Kennzahl, indem sie auf den System-Adreßbus die der Programmabarbeitungsüberwachungslogik zugeordnete I/O-Adresse legt, auf den System-Datenbus die Kennzahl legt und das Steuersignal I/O-Write aktiviert. Der Adreßdekoder (11) identifiziert die I/O-Adresse und aktiviort daraufhin seinen Ausgang SELECT. Das Steuerwerk (10) empfängt das aktive SELECT-Signal an seinem fünften Eingang sowie das aktive Steuersignal I/O-Write und stößt daraufhin einen Steuerablauf b) an. Im Steuerablauf b) wird zuerst der erste Ausgang des Steuerwerks (10) COMPARE aktiviert. Der Hammingkomparator (1) empfängt aktives COMPARE und stellt daraufhin fest, ob die Daten an seiner ersten Gruppe von acht Eingängen, die der aktuellen Kennzahl entsprechen, und die Daten, die an der zweiten Gruppe von acht Eingängen, die der zuletzt übergebenen Kennzahl bzw. durch Interrupt, NMI oder System-Reset geladenen Start-Kennzahl entsprechen, die Hammingdistanz 1 haben. Ist das der Fall, wird sein erstes Ausgangssignal OK aktiv und triggert mittels Gatter (6) den monostabilen Multivibrator (3) nach. Im anderen Fall wird sein zweites Ausgangssignal NOK aktiv und führt über das Gatter (5) zu einem aktiven Signal ERROR, mit dem der überwachten oder anderen zentralen Verarbeitungseinheiten im Mikrorechnersystem mittelbar ein Programmabarbeitungsfehler gemeldet wird, worauf eine Fehlerreaktion (z. B. in Form eines partiellen System-Reset oder/und der Isolation des Moduls mit der fehlerhaften zentralen Verarbeitungseinheit) eingeleitet werden kann. Nachdem das Steuerwerk (10) das erste Ausgangssignal COMPARE wieder Inaktiv geschaltet hat, wird das zweite Ausgangssignal WE für einen ausreichenden Zeitraum aktiviert, worauf der Schreib-Lesespeicher (8) die aktuelle Kennzahl, die der Mul;V-!cv/" (12) vom System-Datenbus empfängt und auf die Dateneingänge des Schreib-Lesespeichers (8) legt In die von Zähler (9) adressierte 8-bit-Speicherzelle übernimmt und bei Inaktivem zweitem Ausgangssignal WE an die acht Datenausgänge legt. Danach aktiviert das Steuerwerk (10) ihr sechstes Ausgangssignal READY und quittiert damit der zentralen Verarbeitungseinheit die Übernahme derl ennzaht.The central processing unit sends a code to the program execution monitoring logic by placing on the system address bus the I / O address associated with the program execution monitoring logic, setting the code to the system data bus, and asserting the I / O Write control signal. The address decoder (11) identifies the I / O address and then activates its output SELECT. The control unit (10) receives the active SELECT signal at its fifth input and the active control signal I / O-Write and then initiates a control process b). In the control sequence b) first the first output of the control unit (10) COMPARE is activated. The Hamming comparator (1) receives active COMPARE and then determines whether the data at its first group of eight inputs corresponding to the current code and the data at the second group of eight inputs corresponds to the most recently passed code. corresponding to a starting key number loaded by interrupt, NMI or system reset, which have a Hamming distance of 1. If this is the case, its first output signal OK becomes active and triggers the monostable multivibrator (3) by means of the gate (6). In the other case, its second output signal NOK becomes active and leads via the gate (5) to an active signal ERROR, with which a program execution error is indirectly signaled to the monitored or other central processing units in the microcomputer system, whereupon an error response (eg in the form of a partial system reset or / and the isolation of the module with the faulty central processing unit) can be initiated. After the control unit (10) has again switched the first output signal COMPARE Inactive, the second output signal WE is activated for a sufficient period of time, whereupon the random access memory (8) stores the current code which is the Mul; V-! C v / "( 12) receives from the system data bus and places it on the data inputs of the random access memory (8) adopts the 8-bit memory cell addressed by counter (9) and places it at the eight data outputs when the second output signal WE is inactive. 10) ennzaht their sixth output signal READY and thus acknowledges the central processing unit to take over the l.

Der Übergang der zentralen Verarbeitungseinheit zu einer Interruptroutine wird durch eine Interrupt-Acknowledge-Sequenz angekündigt. Dus Steuerwerk (10) erkennt die Interrupt-Acknowledge-Sequenz am aktiven Steuersignal INT-ACKNOWLEDGE des Systembusses (7) und stößt daraufhin Steuerablauf c) an. Im Steuerablauf c) wird zuerst das dritte Ausgangssignal UP desThe transition of the central processing unit to an interrupt routine is announced by an interrupt acknowledge sequence. Dus control unit (10) detects the interrupt acknowledge sequence on the active control signal INT-ACKNOWLEDGE of the system bus (7) and then triggers control process c). In the control process c) first the third output signal UP of the

Steuerwerkes (10) aktiviert und damit der Zähler (9) um 1 inkrementiert. Dann wird das zweite Ausgangssignal WE des Steuerwerkes (10) aktiviert, so daß der 8-biMnterrupwektor vom System-Datenbus in die vom Zähler (9) adressierte Speicherzelle des statischen Schreib-Lesespeichers (8) gespeichert wird. Nach dem Inaktivwerden des Siganls WE legt der Schreib-Lesespeicher den Interruptvektor als Start-Kennzahl an seine Datenausgänge. Erfolgt nun innerhalb der Interruptroutine eine Kennzahlübergabe, erfolgt der Vergleich mit dieser Start-Kennzahl entsprechend Steuerablauf b). Den Aufruf eines NMI erkennt das Steuerwerk (10) durch das Eingangssignal NMI. Wird ein NMI erkannt, wird der Steuerablauf d) angestoßen. Im Steuerablauf d) wird das Signal MUX aktiv, so daß der Multiplexer (12) 0 an die Dateneingänge des Schreib-Lesespeichers (8) legt. Gleichzeitig wird das Signal UP aktiv, wodurch der Zähler (9) inkrementiert wird. Danach wird das Signal WE aktiv. Dadurch wird in die vom Zähler (9) adressierte Speicherzelle des Schreib-Lesespeichers (8) 0 eingeschrieben. Mit inaktivem WE wird 0 an die Datftnausgänge des Schreib-Lesespeichers (8) als Start-Kennzahl für die NMI-Routine gelegt. Den Rücksprung aus einer Interrupt/NMI-Routine erkennt das Steuerwerk (10) am aktiven Eingangssignal RETURN FROM INT/NMI. Dieses Signal kann z. B. durch eine Schaltung generiert werden, die einen zu definierenden I/O-Zyklus der zentralen Verarbeitungseinheit, den diese unmittelbar vor jedem Rücksprung ausführt, erkennt. Oder es kann durch eine Schaltung generiert werden, die die Befehlsholezyklen der zentralen Verarbeitungseinheit beobachtet und Befehlscodes für den Rücksprung aus INT/NMI-Routine erkennt. Wird der Rücksprung erkannt, wird Steuerablaufe) angestoßen. Im Steuerablaufe) wird das Signal DOWN aktiviert und damit der Zähler (9) um 1 dekrementiert. Damit zeigt die Adresse des Zählers (9) auf die Speicherzelle des Schreib-Lesespeichers (8), in dem die vor der INT/NMI-Routine zuletzt übergebene Kennzahl steht. Mit der erfindungsgemäßen Lösung erfolgt, bei entsprechend den Bedingungen des Erfindungsprinzips modifiziertem Programm, eine simultane Überwachung des Programmablaufs, der auch bei Programmverzweigungen oder Interrupts garantiert ist. Damit kann eine schnelle und gezielte FehlerlokaMslerung erfolgen. Die Zuverlässigkeit des Gesamtsystems wird bei geringem zusätzlichem Hardwareaufwand erhöht und ein sicheres Ausfallverhalten, welches insbesondere bei fehlertoleranten Rechnersystemen von Bedeutung ist erreicht.Control unit (10) is activated and thus the counter (9) is incremented by 1. Then, the second output signal WE of the control unit (10) is activated, so that the 8-BiInterrupwektor is stored by the system data bus in the by the counter (9) addressed memory cell of the static random access memory (8). After the signal WE inactive, the read-write memory applies the interrupt vector as a start code to its data outputs. If a key figure transfer takes place within the interrupt routine, the comparison with this start key figure takes place in accordance with the control sequence b). The control unit (10) recognizes the call of an NMI by the input signal NMI. If an NMI is detected, control process d) is initiated. In the control sequence d), the signal MUX becomes active, so that the multiplexer (12) applies 0 to the data inputs of the read-write memory (8). At the same time, the signal UP becomes active, whereby the counter (9) is incremented. Thereafter, the signal WE becomes active. As a result, zero is written into the memory cell of the read-write memory (8) addressed by the counter (9). With idle WE, 0 is applied to the data RAM outputs of the random access memory (8) as the starting code for the NMI routine. The control unit (10) recognizes the return from an interrupt / NMI routine at the active input signal RETURN FROM INT / NMI. This signal can z. Example, be generated by a circuit that detects an I / O cycle of the central processing unit to be defined, which performs this immediately before each return. Or, it may be generated by a circuit that observes the command-shell cycles of the central processing unit and recognizes command codes for the return from the INT / NMI routine. If the return is detected, Steuerablaufe) is triggered. In Steuerablaufe) the signal DOWN is activated and thus the counter (9) decremented by 1. Thus, the address of the counter (9) points to the memory cell of the read-write memory (8), which contains the last code passed before the INT / NMI routine. With the solution according to the invention, if the program is modified according to the conditions of the inventive principle, simultaneous monitoring of the program sequence, which is also guaranteed in the case of program branches or interrupts, takes place. This can be done quickly and targeted error locating. The reliability of the overall system is increased with little additional hardware complexity and a safe failure behavior, which is particularly important in fault-tolerant computer systems of importance.

Claims (3)

1. Schaltungsanordnung zur Programmüberwachung in Mikrorechnersystemen, die einen Systembus aufweisen und deren Programme bestimmte Überwachungsmerkmale beinhalten, gekennzeichnet dadurch, daß der Systembus (7) mit einer ersten Gruppe von Eingängen eines Hammingkomperators (1) und dem Eingang eines LIFO-Speichers (2), dessen Ausgang an einer zweiten Gruppe von Eingängen des Hammingkomparators (1) anliegt, sowie mit dem Eingang einer Steuerung (4) verbunden ist, deren erster Ausgang mit einem weiteren Eingang des LIFO-Speichers (2), deren zweiter Ausgang mit einem dritten Eingeng des Hammingkomparators (1) und deren dritter Ausgang mit einem ODER-Gatter (6) verbunden ist, daß der zweite Eingang des ODER-Gatters (6) weiterhin mit einem ersten Ausgang des Hammingkomparators (1) verbunden ist, daß der Ausgang des ODER-Gatters (6) über einen monostabilen Multivibrator (3) mit dem ersten Eingang eines ODER-Gatters (5) verbunden ist, an dessen zweitem Eingang ein zweiter Ausgang des Hammingkomparators (1) anliegt, und dessen Ausgang zur Abgabe eines Fehlersignales mit dem Systembus (7) verbunden ist, daß in jedem linearen Programmabschnitt mindestens ein I/O-Write-Befehl eingefügt ist, bei dessen Ausführung der erfindungsgemäßen Schaltungsanordnung eine im Programmcode des I/O-Write-Befehls enthaltene beliebige Kennzahl gesendet wird, daß die Kennzahlen so gewählt werden müssen, daß bei fehlerfreier Programmabarbeitung immer zwei zeitlich aufeinanderfolgende Kennzahlen die Hammingdistanz 1 aufweisen, daß in Routinen nichtvektorisierter Interrupts und nach RESET die erste übergebene Kennzahl die Hammingdistanz 1 zu einer festen, durch die erfindungsgemäße Schaltungsanordnung vorgebene Start-Kennzahl aufweisen muß und daß in Routinen vektorisierter Interrupts die erste übergebene Kennzahl die Hammingdistanz 1 zum Interruptsvektor aufweisen muß.1. Circuit arrangement for program monitoring in microcomputer systems which have a system bus and whose programs contain certain monitoring features, characterized in that the system bus (7) is connected to a first group of inputs of a Hamming comparator (1) and the input of a LIFO memory (2), whose output is applied to a second group of inputs of the Hammingcomparators (1), and to the input of a controller (4) is connected, the first output to a further input of the LIFO memory (2), whose second output to a third Eingeng des Hammingkomparators (1) and whose third output is connected to an OR gate (6), that the second input of the OR gate (6) is further connected to a first output of the Hammingcomparators (1) that the output of the OR gate (6) via a monostable multivibrator (3) to the first input of an OR gate (5) is connected to the second input of a second output of the H ammingkomparators (1) is applied, and whose output is connected to the output of an error signal to the system bus (7), that in each linear program section at least one I / O write command is inserted, in its execution of the circuit arrangement according to the invention in the program code of I / O-Write command contained any code is sent, that the codes must be chosen so that in error-free program execution always two consecutive codes Hammingdistanz 1 have that in routines of non-vectored interrupts and after RESET the first transmitted code Hammingdistanz 1 to a fixed, by the inventive circuitry vorgebene start-key number must have and that in routines vectorized interrupts the first passed code must have the Hammingdistanz 1 to the interrupt vector. 2. Schaltungsanordnung zur Programmüberwachung in Mikrorechnersystemen, die einen Systembus aufweisen und deren Programme bestimmte Überwachungsmerkmale beinhalten, gemäß Punkt 1, gekennzeichnet dadurch, daß der UFO-Speicher (2) derart ausgebildet ist, daß er einen achtfachen 1 -aus-2-Multiplexer (12) aufweist, dessen erste Gruppe von acht Eingängen ebenfalls mit den acht niederwertigen Datenleitungen des Systembusses (7) verbunden ist, daß die acht Eingänge der zweiten Gruppe des Multiplexers (12) mit festen Pegeln und die acht Ausgänge mit den acht Dateneingängen eines statischen 2m x 8bit Schreib-Lesespeichers (8) verbunden sind, dessen acht Datenausgänge mit der zweiten Gruppe von acht Eingängen des Hammingkomparators (1) und dessen m Adreßeingänge mit den Ausgängen eines m-bit Binär-Vorwärts-Rückwärts-Zählers (S) verbunden sind, daß der Zähler (9) je einen mit der Steuerung (4) verbundenen Eingang zum Hochbzw. Herunterzählen sowie einen Rücksetzeingang besitzt, der mit einem System-Reset-Signal des Systembusses (7) verbunden ist.2. Circuitry for program monitoring in microcomputer systems, which have a system bus and whose programs contain certain monitoring features, according to item 1, characterized in that the UFO memory (2) is designed such that it has an eight-fold 1-out-of-2 multiplexer ( 12), whose first group of eight inputs is also connected to the eight lower order data lines of the system bus (7), that the eight inputs of the second group of the multiplexer (12) with fixed levels and the eight outputs with the eight data inputs of a static 2 m x 8bit random access memory (8) are connected, whose eight data outputs are connected to the second group of eight inputs of the Hammingcomparator (1) and whose m address inputs are connected to the outputs of an m-bit binary-up-down counter (S) in that the counter (9) has in each case one input connected to the controller (4) for the high or low input. Count down and has a reset input, which is connected to a system reset signal of the system bus (7). 3. Schaltungsanordnung zur Programmüberwachung in Mikrorechnersystemen, die einen Systembus aufweisen und deren Programme bestimmte Überwachungsmerkmale beinhalten, gemäß Punkt 1, gekennzeichnet dadurch, daß die Steuerung (4) aus einem mit dem Adreßbus verbundenen Adreßdekoder (11) und einem mit seinem Ausgang verbundenen Steuerwerk (10) aufgebaut ist, dessen weitere Eingänge mit dem I/O-Write-Signal, dem Interrupt-Acknowledge-Signal, dem NMI-Signal, dem RETURN FROM INT/NMI-Signol und dem System-Reset-Signal des Systembusses (7) verbunden sind und dessen ersten Ausgang mit einem Steuereingang COMPARE des Hammingkomparators (1), dessen zweiter Ausgang mit einem Write- Enable-Eingang (WE) des Schreib-Lesespeichers (8), dessen dritter und vierter Ausgang jeweils mit dem zweiten und dritten Eingang (UP, DOWN) des Zählers (9), dessen fünfter Ausgang mit dem Steuereingang MUX des Multiplexers (12) und dessen sechster Ausgang mit einer READY-Leitung des Systembusses (7) verbunden ist.3. Circuit arrangement for program monitoring in microcomputer systems, which have a system bus and whose programs contain certain monitoring features, according to item 1, characterized in that the controller (4) consists of an address decoder connected to the address bus (11) and connected to its output control unit ( 10) whose further inputs are provided with the I / O write signal, the interrupt acknowledge signal, the NMI signal, the RETURN FROM INT / NMI signal and the system reset signal of the system bus (7). whose first output is connected to a control input COMPARE of the Hamming comparator (1), whose second output is connected to a write-enable input (WE) of the random access memory (8), whose third and fourth output are connected to the second and third inputs ( UP, DOWN) of the counter (9) whose fifth output is connected to the control input MUX of the multiplexer (12) and whose sixth output is connected to a READY line of the system bus (7) t.
DD31688988A 1988-06-17 1988-06-17 CIRCUIT ARRANGEMENT FOR PROGRAM MONITORING IN MICRORECHNER SYSTEMS DD273137A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DD31688988A DD273137A1 (en) 1988-06-17 1988-06-17 CIRCUIT ARRANGEMENT FOR PROGRAM MONITORING IN MICRORECHNER SYSTEMS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DD31688988A DD273137A1 (en) 1988-06-17 1988-06-17 CIRCUIT ARRANGEMENT FOR PROGRAM MONITORING IN MICRORECHNER SYSTEMS

Publications (1)

Publication Number Publication Date
DD273137A1 true DD273137A1 (en) 1989-11-01

Family

ID=5600134

Family Applications (1)

Application Number Title Priority Date Filing Date
DD31688988A DD273137A1 (en) 1988-06-17 1988-06-17 CIRCUIT ARRANGEMENT FOR PROGRAM MONITORING IN MICRORECHNER SYSTEMS

Country Status (1)

Country Link
DD (1) DD273137A1 (en)

Similar Documents

Publication Publication Date Title
DE3206891C2 (en)
EP0238841B1 (en) Error-protected multiprocessor controller having a high availability to a switching system, and method for memory configuration operation of this centraller
EP0011685B1 (en) Programmable memory protection arrangement for microprocessors and circuitry with such an arrangement
DE2319753B2 (en) Arrangement for data processing by means of processors operated in microprogramming
DE69904618T2 (en) DETECTION TECHNOLOGY OF STORAGE SECTION ERRORS AND SINGLE, DOUBLE AND TRIPLEBIT ERRORS
DE4335061C2 (en) Multi-storage device
DE2336020B2 (en) ADDRESS CALCULATION CIRCUIT FOR PARITY ERROR CORRECTION PROGRAMS
EP0048991A1 (en) Method and device for the treatment of interruption conditions during the operating sequence in microprogramme-controlled data-processing systems
EP1359485B1 (en) Control and monitoring system
EP0141161A2 (en) Circuit arrangement for the detection of static and dynamic errors in circuit subassemblies
EP0151810B1 (en) Method and circuit arrangement for testing a program in data processing systems
EP0353660B1 (en) Fault prevention method in memory systems of data-processing installations, in particular telephone exchanges
DD273137A1 (en) CIRCUIT ARRANGEMENT FOR PROGRAM MONITORING IN MICRORECHNER SYSTEMS
DE2737350C2 (en) Device for error handling in a microprogram-controlled data processing system
DE102020209228A1 (en) Method for monitoring at least one computing unit
DE3531901C2 (en)
EP1774417B1 (en) Method and device for monitoring the running of a control program on an arithmetic processing unit
EP1461701B1 (en) Program-controlled unit with monitoring device
EP0613077B1 (en) Method for generating a reset signal in a data processing system
DE2505475C3 (en) Method and device for checking errors in a programmable logic unit for the execution of logical operations
DE2616186C3 (en) Method for testing the memory part of a control device for a switching system, in particular a telephone switching system
DE3625271C2 (en)
DE2821882A1 (en) Programmed controller for electromechanical systems - uses instruction monitoring test data store receiving individual instruction series information
DE2261211C3 (en) Circuit arrangement to facilitate diagnosis in data processing systems
DE10135285A1 (en) Storage device and method for operating a system containing a storage device

Legal Events

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