DE1267887B - Fehlererkennungseinrichtung zur UEberwachung von Programmverzweigungen in datenverarbeitenden Maschinen - Google Patents

Fehlererkennungseinrichtung zur UEberwachung von Programmverzweigungen in datenverarbeitenden Maschinen

Info

Publication number
DE1267887B
DE1267887B DEP1267A DE1267887A DE1267887B DE 1267887 B DE1267887 B DE 1267887B DE P1267 A DEP1267 A DE P1267A DE 1267887 A DE1267887 A DE 1267887A DE 1267887 B DE1267887 B DE 1267887B
Authority
DE
Germany
Prior art keywords
command
instruction
program
branch
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DEP1267A
Other languages
English (en)
Inventor
Frank Salvatore Vigliante
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Corp
Original Assignee
Western Electric Co Inc
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 Western Electric Co Inc filed Critical Western Electric Co Inc
Publication of DE1267887B publication Critical patent/DE1267887B/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Retry When Errors Occur (AREA)
  • Executing Machine-Instructions (AREA)

Description

BUNDESREPUBLIK DEUTSCHLAND
DEUTSCHES
PATENTAMT
AUSLEGESCHRIFT
Int. CI.:
G06f
Deutsche Kl.: 42 m3 -11/06
Nummer: 1267 887
Aktenzeichen: P 12 67 887.4-53
Anmeldetag: 17. Dezember 1963
Auslegetag: 9. Mai 1968
Die Erfindung betrifft eine Fehlererkennungseinrichtung zur Überwachung von Programmverzweigungen in datenverarbeitenden Maschinen, mit einem Programmspeicher zur Speicherung von Teilprogrammen, die aus einzelnen Befehlen aufgebaut sind, unter anderem auch aus Verzweigungsbefehlen, die veranlassen, daß das Leitwerk in der Ablesung der Befehle die fortlaufende Reihenfolge unterbricht und an der durch die Verzweigungsadresse bestimmten Speicherzelle, z. B. zur Einreihung eines Unterprogramms in den Befehlsablauf des Hauptprogramms, den Programmablauf fortsetzt, mit einem Befehlsregister, in welches die aus dem Programmspeicher gelesenen Befehle gespeichert werden, und mit einem an einen Ausgang des Befehlsregisters angeschalteten Befehldekodierer zum Interpretieren der Befehlsschlüssel.
Ein Programm wird gebildet von einer Reihe von Befehlen zur Durchführung von vorbestimmten Operationen an Daten. Um die Daten nach Bedarf verfügbar zu machen, werden sie in eine Form umgewandelt, die der Einrichtung entspricht, und vor und nach der Verarbeitung in einem Arbeitsspeicher bereitgestellt. Um die Befehle leicht verfügbar zu machen, werden sie ebenfalls in eine Form umgewandelt, die der Verarbeitungseinrichtung entspricht. Die Befehle werden in diejenigen Teile des Speichers eingebracht, die den Programmspeicher bilden.
Zu jedem Befehl gehört eine Befehlsadresse, die seine Lage im Programmspeicher angibt. Zusammengenommen kennzeichnen ein Befehl und seine zugehörige Befehlsadresse einen Programmschritt. Zweckmäßig werden die Befehlsadressen aufeinanderfolgend den Schritten des Programms zugeordnet. Dies bedeutet jedoch nicht, daß die ausgeführten Befehle immer in aufeinanderfolgenden Speicherzellen des Programmspeichers zu finden sind. Vielmehr sind bei der Verarbeitung unvermeidlich Operationsabläufe notwendig, die in modifizierter Weise wiederholt werden. Zum Beispiel können diejenigen Schritte eines Programms, welche die Multiplikation steuern, während des Verarbeitungsvorganges mehrfach angefordert werden. Um Speicherraum einzusparen, haben die zu den wiederkehrenden Operationen gehörigen Befehle als Teil- oder Unterprogramme Sonderplätze im Programmspeicher. Wenn das Programm an einer Stelle anlangt, bei der ein bestimmtes Teil- oder Unterprogramm verwendet werden muß, wird eine Verzweigung zu diesem Teilprogramm vorgenommen. Das Teilprogramm wird durch einen speziellen Verzweigungsbefehl aufgerufen; wenn es sich z. B. um einen Unterprogrammsprung handelt, enthält das Unterprogramm wiederum eine Speicherzelle, in die
Fehlererkennungseinrichtung zur Überwachung
von Programmverzweigungen in
datenverarbeitenden Maschinen
Anmelder:
Western Electric Company Incorporated,
New York, N. Y. (V. St. A.)
Vertreter:
Dipl.-Ing. H. Fecht, Patentanwalt,
6200 Wiesbaden, Hohenlohestr. 21
Als Erfinder benannt:
Frank Salvatore Vigliante,
Piscataway Township, N. J. (V. St. A.)
Beanspruchte Priorität:
V. St. v. Amerika vom 3. Januar 1963
(249 150)
die Befehlsadresse für den auf dieses Unterprogramm folgenden Befehl des Hauptprogramms durch den Verzweigungsbefehl für den Unterprogrammsprung eingeschrieben wird.
Wegen der unvermeidlichen Störungen während der Verarbeitung kann ein Verzweigungsbefehl falsch ausgeführt werden. Wenn dies eintritt, wird die nachfolgende Ausführung des weiteren Programms in beträchtlicher Weise fehlerhaft. Der entstehende Fehler ist weit folgenschwerer als in dem Fall, daß die Daten Störungen ausgesetzt sind. Im letztgenannten Fall kann die gesamte Wirkung eines Fehlers oftmals ohne große Schwierigkeit isoliert und berichtigt werden.
Wenn jedoch ein Verzweigungsbefehl fehlerhaft ist, weicht die entstehende Folge von ausgeführten Befehlen erheblich von der durch das Programm diktierten Folge ab, so daß es schwierig ist, die genaue Quelle des Fehlers zu isolieren und festzustellen.
Tatsächlich findet die maschinelle Verarbeitung mit einer solch großen Geschwindigkeit statt, daß oftmals viele tausend Programmschritte fehlerhaft durchgeführt sind, bevor die Feststellung getroffen werden kann, daß ein Verzweigungsfehler vorgekommen ist.
Aufgabe der Erfindung ist es, die Ausführung fehlerhafter Verzweigungsoperationen zu verhindern oder zumindest anzuzeigen.
809 548/200

Claims (1)

  1. 3 4
    Hierzu wird dem ersten Befehl jedes Teilprogramms zwar unter Vermittlung einer Erhöhungsschaltung 41 ein Zusatzsignal zugeordnet. Das Zusatzsignal dient und einer Torschaltung 42, Wenn jedoch eine Verdazu, eine Anzeigeeinheit wieder auszuschalten, die zweigung stattfinden soll, muß die vom Befehlszählerdurdh einen Verzweigungsbefehl vorbereitend ein- register 40 angegebene Befehlsadresse so geändert geschaltet wurde. Bei einer unrichtig ausgeführten 5 werden, daß sie mit der Befehlsadresse im Programm-Verzweigung wird die Anzeigeeinheit nicht ausge- speicher 10 für den ersten Befehl des durch die Verschaltet und unterbricht nach, einer vorbestimmten zweigung anzusteuernden Teilprogramms überein-Zeitverzögerung entweder die Verarbeitung oder stimmt. Diese Befehlsadressenänderung wird durch dient als Anzeige dafür, daß beim Verzweigungsvor- einen Verzweigungsbefehl bewirkt, dessen Adressengang ein Fehler (falsche Verzweigung oder Fehler in io teil in diesem Fall keine Adresse des Datenspeichers den Befehlswörtern) vorgekommen ist. angibt, sondern eine Befehlsadresse des Programm-
    Die Erfindung ist demnach gekennzeichnet da- Speichers 10. Wenn bei diesem Ablauf der Verzweidurch, daß eine Fehlerdetektorschaltung bei einer gungsbefehl in das Befehlsregister 20 eingeht, betätigt Verzweigung zuerst mit einem vom Verzweigungs- der Befehlsdekodierer 30 eine Torschaltung 43, die befehl abgeleiteten Steuersignal beaufschlagt wird 15 bewirkt, daß die Verzweigungsadresse vom Befehlsund dann durch ein Sondermerkmal (Zusatzsignal) register 20 in das Befehlszählerregister 40 eingeht, wo des durch die Verzweigung erreichten Programmteils die vorher vorhandene Befehlsadresse nun entweder zurückgestellt wird bzw. bei fehlendem Sondermerk- ersetzt oder abgeändert wird. Auf Grund der neuen mal eine Anzeige über die fehlerhafte Verzweigung Einstellung des Befehlszählerregisters 40 sollte nunbewirkt, ao mehr der nächste in das Befehlsregister 20 eingehende
    Weiterbildungen der Erfindung sind in den Unter- Befehl der erste- Befehl desjenigen Teilprogramms
    ansprächen angegeben. sein, das durch die Verzweigung anzusteuern war.
    Bei einer Ausführungsform der Erfindung ent- Um eine Anzeige za erhalten, ob die Verzweigung
    spricht das Zusatzsignal einem einzigen Bit, das das richtig durchgeführt wurde, wird der erste Befehl
    erste Befehlswort eines Teilprogramms ergänzt. Die 35 jedes Teilprogramms, von einem Zusatzsignal be-
    Anzeigeeinheit ist als Flip-Flop ausgebildet. Dieses gleitet, das von dem,Zusatzteil 23 des Befehlsregisters
    wird vom Verzweigungsbefehl gesetzt und durch das 20 aufgenommen wird. Ferner ist als Anzeigevorrich"
    Zusatzsignal des ersten Befehlswortes im angesteuer- tung ein Flip-Flop 60 vorgesehen, um die Verzwei-
    ten Teilprogramm rückgesetzt, wenn die Verzwei- gungsoperation zu überwachen,
    gung richtig angelaufen ist. 3° Nachdem ein Verzweigungsbefehl in das Befehls-
    Diese Ausführungsform wird nachfolgend an Hand register 20 übernommen worden ist, spricht der
    der Figur erläutert. Befehlsdekodierer 30 auf den Operationsteil dieses
    Wie aus der Figur hervorgeht, ist dem Programm- Befehls im Teil 21 des Befehlsregisters 20 an, und es speicher 10 über ein Befehlsregister 20 ein Befehls- wird das. Flip-Flop 60 gesetzt. Gleichzeitig wird der dekodierer 30 nachgeschaltet. Der Adressenteil 22 35 eine Eingang einer UND-Schaltung 61 über eine Verdes Befehlsregisters 20 enthält die Angabe, wo sich zögerungseinheit 62 beaufschlagt. Wenn als Folge des. die dem Befehl zugeordneten Daten im Datenspeicher Verzweigungsbefehls nunmehr der erste Befehl des 70 befinden. Der Einfachheit halber ist der Programm- angesteuerten Teil- oder Unterprogramms in das speicher 10 als eine vom Datenspeicher getrennte Befehlsregister 20 aufgenommen wird, dann wird Einheit dargestellt worden. Jedoch kann die gleiche 40 sein Zusatzsignal in den Zusatzteil 23 des Befehls-Einheit, z. B. eine magnetische Kernmatrix bekannten registers 20 eingeführt. Wenn z. B. das Zusatzsignal Aufbaus, für beide Speicher benutzt werden. von einem einzelnen Bit gebildet ist, d. h, ein »L«
    Bevor ein Befehl ausgeführt werden kann, muß er darstellt, besteht dieser Zusatzteil 23 aus einem dem Programmspeicher entnommen werden. Dies Speicher für ein Bit, und es wird ein Signalpegel entgeschieht mit Hilfe eines Befehlszählerregisters 40, 45 sprechend dem Zusatzsignal »L« abgegeben. Hier' das die Lage des Befehls im Programmspeicher 10 durch wird das Flip-Flop 60 rückgesetzt, so daß das angibt. Nachdem die Befehlsadresse parallel über danach der UND-Schaltung 61 über die Verzöge= eine Torschaltung 51 zum Programmspeicher ge- rungseinheit 62 zugeführte Signal die Fehleranzeigegeben worden ist, wird der damit angesteuerte Befehl Schaltung 63 nicht betätigen kann. Wenn jedoch das über eine Torschaltung 52 in das Befehlsregister 20 5° Flip-Flop 60 nicht rechtzeitig zurückgestellt wird, eingegeben. Die beiden Torschaltungen 51 und 52 weil infolge falscher Ansteuerung der jetzt im Bewerden von einem Synchronisiernetzwerk 71 in fehlsregister 20 befindliche Befehl kein Zusatzsignal Tätigkeit gesetzt. Der in das Befehlsregister 20 ein- enthält, wird die UND'Schaltung 61 durchlässig, so gegebene Befehl besteht aus mehreren Teilen, näm- daß die Fehleranzeigeschaltung 63 anspricht und anlieh aus einem Operationsteil im Teil 21 des Befehls- 55 zeigt, daß ein Verzweigungsfehler aufgetreten ist.
    registers 20 und einem Adressenteil im Teil 22 des
    Befehlsregisters 20. Der Operationsteil des Befehls . Patentansprüche:
    wird durdh den Befehlsdekodierer 30 interpretiert,
    der durch das Synchronisiernetzwerk 71 gesteuert 1. FeMererkennungseinrichtung zur Überwa-
    wird. Der Adressenteil wirkt auf den Datenspeicher 60 ehung von Pragrammverzweigungen in datenver-
    70 ein und bestimmt dort diejenigen Daten, die durch arbeitenden Maschinen, mit einem Programm-
    den Operationsteil dieses Befehls verarbeitet werden speicher zur Speicherung von Teilprogrammen,
    sollen. die aus einzelnen Befehlen aufgebaut sind, unter
    Dann, wenn die einzelnen Schritte des Programms anderem auch aus Verzweigungsbefehlen, die ver-
    ohne Verzweigungen aufeinanderfolgen, erhält man 65 anlassen, daß das Leitwerk in der Ablesung der
    jede nachfolgende Befehlsadresse am Ausgang des Befehle die fortlaufende Reihenfolge unterbricht
    Befehlszählerregisters 40 dadurch, daß die vorher- und an der durch die Verzweigungsadresse be-
    gehende Befehlsadresse um Eins erhöht wird, und stimmten Speicherzelle, z. B. durch Einreihung
    eines Unterprogramms, den Programmablauf fortsetzt, mit einem Befehlsregister, in welches die aus dem Programmspeicher gelesenen Befehle gespeichert werden, und mit einem an einen Ausgang des Befehlsregisters angeschalteten Befehlsdekodierer zum Interpretieren der Befehlssc'hlüssel, dadurch gekennzeichnet, daß eine Fehlerdetektorschaltung (60, 61, 62, 63) bei einer Verzweigung zuerst mit einem vom Verzweigungsbefehl abgeleiteten Steuersignal beaufschlagt wird und dann durch ein Sondermerkmal (Zusatzsignal) des durch die Verzweigung erreichten Programmteils zurückgestellt wird bzw. bei fehlendem Sondermerkmal eine Anzeige über die fehlerhafte Verzweigung bewirkt.
    2. Fehlererkennungseinrichtung zur Überwachung von Programmverzweigungen in datenverarbeitenden Maschinen nach Anspruch 1, dadurch gekennzeichnet, daß die Fehlerdetektorschaltung eine an den Befehlsdekodierer (30) und eine an den das Sondermerkmal aufnehmenden Zusatzteil (23) des Befehlsregisters (20) angekoppelte bistabile Schaltung (60) aufweist, die bei Vofhandensein eines Verzweigungsbefehls im Befehlsregister durch ein über den Befehlsdekodierer abgeleitetes Steuersignal in den »L«-Zustand gesetzt wird und durch ein Sondermerkmal im Zusatzteil des nachfolgend angesteuerten Befehls rücksetzbar ist.
    3. Fehlererkennungseinrichtung zur Überwachung von Programmverzweigungen in datenverarbeitenden Maschinen nach Anspruch 2, dadurch gekennzeichnet, daß die Fehlerdetektorschaltung (60, 61, 62, 63) eine mit dem Ausgang des Befehlsdekodierers (30) verbundene Verzögerungsschaltung (62) und ein an deren Ausgang und den »L«-Ausgang der bistabilen Schaltung (60) angeschaltetes UND-Verknüpfungsglied (61) aufweist, dessen Ausgang mit einer Fehleranzeigeschaltung (63) verbunden ist.
    Hierzu 1 Blatt Zeichnungen
    809 548/200 4.68 ® Bundesdruckerei Berlin
DEP1267A 1963-01-03 1963-12-17 Fehlererkennungseinrichtung zur UEberwachung von Programmverzweigungen in datenverarbeitenden Maschinen Pending DE1267887B (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US249150A US3283307A (en) 1963-01-03 1963-01-03 Detection of erroneous data processing transfers

Publications (1)

Publication Number Publication Date
DE1267887B true DE1267887B (de) 1968-05-09

Family

ID=22942249

Family Applications (1)

Application Number Title Priority Date Filing Date
DEP1267A Pending DE1267887B (de) 1963-01-03 1963-12-17 Fehlererkennungseinrichtung zur UEberwachung von Programmverzweigungen in datenverarbeitenden Maschinen

Country Status (5)

Country Link
US (1) US3283307A (de)
BE (1) BE642007A (de)
DE (1) DE1267887B (de)
GB (1) GB1062780A (de)
NL (1) NL302252A (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1167336A (en) * 1966-08-12 1969-10-15 British Telecomminications Res Improvements in or relating to Data Processing Devices
US3518413A (en) * 1968-03-21 1970-06-30 Honeywell Inc Apparatus for checking the sequencing of a data processing system
US3593306A (en) * 1969-07-25 1971-07-13 Bell Telephone Labor Inc Apparatus for reducing memory fetches in program loops
US3787815A (en) * 1971-06-24 1974-01-22 Honeywell Inf Systems Apparatus for the detection and correction of errors for a rotational storage device
USRE28421E (en) * 1971-07-26 1975-05-20 Encoding network
FR2257213A5 (de) * 1973-12-04 1975-08-01 Cii
JPS5642806A (en) * 1979-09-18 1981-04-21 Fanuc Ltd Sequence control system for numerical control machine tool

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL267514A (de) * 1960-07-25

Also Published As

Publication number Publication date
BE642007A (de) 1964-04-16
GB1062780A (en) 1967-03-22
US3283307A (en) 1966-11-01
NL302252A (de)

Similar Documents

Publication Publication Date Title
DE1449529C3 (de) Unterbrechungseinrichtung für ein Datenverarbeitungssystem
DE3206891C2 (de)
DE1524239A1 (de) Verfahren zur Lokalisierung eines Fehlers in einer Anlage mit mindestens zwei parallel arbeitenden Rechengeraeten
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE1474062B2 (de) Datenverarbeitungsanlage mit einer anzahl von pufferspeichern
DE2003150C3 (de) Prioritätsschaltung
DE2064383B2 (de) Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen
DE2522343C3 (de) Anordnung zur Steuerung Von Verfahrensabläufen
DE2246863C3 (de) Einrichtung zur Protokollierung des Programmablaufs in einer Datenverarbeitungsanlage
DE1267887B (de) Fehlererkennungseinrichtung zur UEberwachung von Programmverzweigungen in datenverarbeitenden Maschinen
DE2321200C3 (de) Schaltungsanordnung zur Durchführung logischer, durch Boolesche Gleichungen dargestellter Verknüpfungen
DE2554502B2 (de)
DE1260532B (de) Speicher mit Kenn-Wert-Aufruf
DE2657897A1 (de) Externes geraet, das die ureingabe fest gespeichert enthaelt, fuer elektronische datenverarbeitungsanlagen mit einem zentralen speicher
DE2720842A1 (de) Daten-uebertragungssystem
DE1197651B (de) Datenverarbeitungssystem
DE2242009C2 (de) Verfahren und Anordnung zum Erkennen, ob im Mikroprogramm einer Datenverarbeitungsanlage vorgesehene Verzweigungsoperationen ausgeführt werden
EP0151810A2 (de) Verfahren und Schaltungsanordnung zum Prüfen eines Programms in Datenverarbeitungsanlagen
DE2936801C2 (de) Steuereinrichtung zur Ausführung von Instruktionen
DE2530920C3 (de) Prüfanordnung für ein programmierbares Steuerwerk
DE1270305B (de) Mikroprogrammgesteuerte Datenverarbeitungsanlage
DE1152278B (de) Datenverarbeitende Anlage
DE1914576C3 (de) Programmgesteuerte Datenverar beitungsanlage, insbesondere fur die Abwicklung von Vermittlungsvorgangen in einer Fernsprechvermittlung
DE2735874C2 (de)
DE2616186C3 (de) Verfahren zur Prüfung des Speicherteiles einer Steuereinrichtung für eine Vermittlungsanlage, insbesondere Fernsprechvermittlungsanlage