DE2523795C3 - Verfahren zum wiederholten Ausführen von Maschinenbefehlen durch eine festverdrahtete Steuerung in einer Verarbeitungseinheit einer Datenverarbeitungsanlage - Google Patents

Verfahren zum wiederholten Ausführen von Maschinenbefehlen durch eine festverdrahtete Steuerung in einer Verarbeitungseinheit einer Datenverarbeitungsanlage

Info

Publication number
DE2523795C3
DE2523795C3 DE19752523795 DE2523795A DE2523795C3 DE 2523795 C3 DE2523795 C3 DE 2523795C3 DE 19752523795 DE19752523795 DE 19752523795 DE 2523795 A DE2523795 A DE 2523795A DE 2523795 C3 DE2523795 C3 DE 2523795C3
Authority
DE
Germany
Prior art keywords
command
result
error
processing unit
buffer memory
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.)
Expired
Application number
DE19752523795
Other languages
English (en)
Other versions
DE2523795A1 (de
DE2523795B2 (de
Inventor
Peter Dipl.-Ing. Dr. 8011 Baldham Mueller-Stoy
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE19752523795 priority Critical patent/DE2523795C3/de
Publication of DE2523795A1 publication Critical patent/DE2523795A1/de
Publication of DE2523795B2 publication Critical patent/DE2523795B2/de
Application granted granted Critical
Publication of DE2523795C3 publication Critical patent/DE2523795C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Retry When Errors Occur (AREA)

Description

Die Erfindung bezieht sich auf Verfahren zum
jo wiederholten Ausführen von Maschinenbefehlen in einer Verarbeitungseinheit einer Datenverarbeitungsanlage gemäß den Oberbegriffen der Ansprüche 1 oder 3.
Im Laufe der Ausführung eines Befehles in der
ji Verarbeitungseinheit einer datenverarbeitenden Anlage können zwei verschiedene Gruppen von Fehlern auftreten: Zumindestens teilweises Versagen der Schaltungsanordnung führt zu ?inem Hardwarefehler, ein logisch nicht vollkommen korrekt entwickeltes Pro-
4fi gramm ergibt einen Programmfehler. In beiden Fällen ist die uneingeschränkte Wiederholbarkeit in der Ausführung des betroffenen Befehls wünschenswert. Bei einem Hardwarefehler kann eine Auswirkung auf das ablaufende Programm durch eine Wiederholung des
4-, von ihm betroffenen Befehls beseitigt werden, sofern der Fehler bei der Wiederholung nicht mehr auftritt. Bei einem während der Ausführung eines Befehls erkannten Programmfehler muß zu dessen Beseitigung vielfach eine Routine des Betriebssystems der datenverarbeiter
w den Anlage ablaufen, ehe der vom Programmfehler betroffene Befehl weitergeführt werden kann Fm Beispiel dafür ist das Fehlen einer Speicherseite im reellen Arbeitsspeicher bei Datenverarbeitungsanlagen mit virtueller Adressierung, bei dem vor der endgültige,>
V1 Ausführung des betroffenen Befehls die entsprechende Speicherseite des virtuellen Speichers an eine freie Stelle des reellen Arbeitsspeichers übertragen werden muß. In allen diesen Fällen ist es wegen des geringen Aufwandes allgemein üblich, den betroffenen Befehl nicht in derjenigen Phase seiner Ausführung fortzusetzen, in welcher der Fehler erkannt wurde, sondern den Befehl nochmals von Beginn an zu wiederholen.
Bei den bisher bekannten Datenverarbeitungsanlagen ist der automalischen Wiederholbarkeit von fehlerhaft ausgeführten Befehlen allerdings eine enge Grenze gesetzt: Ein Befehl bleibt nämlich nur automatisch wiederholbar, wenn noch keine Operanden verändert sind. Ist die Befehlsausführung jedoch soweit fortge-
schritten, daß Befehlsoperanden in der Verarbeitungseinheit bereits verarbeitet sind, muß eine unterschiedlich lange Phase in Kauf genommen werden, in welcher der Befehl nicht automatisch wiederholbar ist, weil diese Befehlsoperanden erst erneut durch Wiederholung bereitgestellt werden müssen.
Zur Erkennung von Programmfehlern wird zu Beginn der Befehlsausführung geprüft, ob solche Fehler auftreten und durch eingeschobene Routinen des Betriebssystems vor einer Wiederholung des Befehls beseitigt werden können. Diese Prüfung erfolgt, ehe die Operanden des Befehls verändert werden, daher bleibt dieser automatisch wiederholbar, wenn seine Ausführung wegen eines potentiellen Programmfehlers abgebrochen werden muß. Derartige Prüfungen sind jedoch zeitraubend und aufwendig, sie wirken sich deshalb leistungsmindernd aus, weil sie in jedem Fall, also auch dann vorgenommen werden, wenn ein solcher Fehler nicht vorliegt.
Aus der DE-OS !9 36 25! ist eine Datenverarbeitungsanlage sowie ein Verfahren zu deren Betrieb bekannt, die eine laufende dynamische Aufzeichnung ihres Programmzustandes in Form eines »Protokolls« gestattet. Der Programmzustand soll in Form eines Protokolls oder eines Profils ohne besonderen Zeitaufwand dynamisch aufgezeichnet werden und so eine durch Fehler unterbrochene Operation nochmals durchzufuhren sein. Dazu ist für mindestens eine Verarbeitungseinheit eine Fehlererkennungsschaltung sowie eine Protokolleinrichtung mit einem Protokollspeicher vorgesehen, die an bestimmte Speichervorrichlungen in der zugeordneten Verarbeitungseinheit zur Übernahme von Daten angeschlossen ist.
Damit in einem Fehlerfall der fehlerfreie Status der zentralen Verarbeitungseinheit wieder herstellbar ist, ist also Vorsorge dafür getroffen, daß die Inhalte aller wahrend einer Befehlsausführung möglicherweise sich ändernden Register lautend in eine auch als Rückgriffspeicher . j bezeichnende Protokolleinrichtung kopien werden können. Diese Einrichtung wird gepuffert ausgelührt. damit Änderungen /wischen zwei Testzeitpunkten nicht »fest« werden können.
Diese Lösung ist nicht nur wegen der gepufferten Austulirurig sehr aufwendig. Fin bestimmter Befehl beniii/t jder verändert bekanntlich während seiner Bct'iisifilung und Ausführung immer nur wenige sptviciic Register. Die Protokolleinrichtung muß jedoch standig den fehlerfreien, aktuellen Status aller an sich veränderbaren Registe. festhallen, damit jeweils vollständige l'iogrammddten mindestens über den Progranini/!. suiid. der dir. F.nde des letzten fehlerfrei ausgeführten /yklus in der betreffenden Verarbeitungs-Ci 11 hen V(H laf? vorhanden sind.
WciKrhi; ist aus der DEOS 19 01 0J6 eine Ann;ι.τ* )£ iiir die wiederholte Ausführung fehlerhaft ausgi icintier I unktionen bekannt, die auf vorüberge henücv. I ehlern beruhen. Dabei handel! es sich um eine mikroprogrammgesteuerte Anlage, in der ein Mikrobefehl eine Opeiation definiert und unter einer Funktion wird eine wiederholbare Folge von Mikrobefehlen verstanden.
Die bekannte Anordnung ist mit Schaltungen zur Folgesteuerung, Wiederholungssteuerung und Fehlererkennung und mit einem dem Hauptspeicher zugeordneten Rückgriffspeicher ausgestattet. Sie ent· hält weitere Rückgriffsveicher. die über Torschaltungen mit Daten- und Instruktionsregistern verbunden sind und eine zusätzliche Folgesteuerung für die Wiederholung. Diese erzeugt Ausgangssignale, die der ausgeführten Funktion entsprechen und nur die Torschaltungen zwischen denjenigen Rückgriffspeichern und Registern öffnen, die für die Wiederholung der fehlerhaften Funktion erforderlich sind.
Mit der bekannten Anordnung wird also eine Befehlswiederholung auf Mikroprogrammebene angestrebt. Eine solche Wiederholbarkeit von Funktionen ist zwar vorteilhaft, weil fehlerfrei ausgeführte Zyklen der Verarbeitungsanlage während der Verarbeitung eines Maschinenbefehls, also einer »Instruktion«, nicht mehr wiederholt werden müssen, diese Leistungssteigerung wird also mit einem hohen Aufwand erkauft Im übrigen zielt auch diese bekannte Lösung wieder darauf ab, während einer Operationsfolge einen vollständigen Oberblick über den Status der Verarbeitungseinheit zu fixieren, d.h. Registerinhalte in Rückgriffspeicher zu kopieren.
Schließlich ist aus der DE * S 22 41 257 eine datenverarbeitende Anlage mit einem Hauptspeicher und mindestens zwei Verarbeitungseinrichtungen bekannt, denen je ein schneller Arbeitsspeicher mit zugehörigem Verzeichnis der gespeicherten Dutenblökke und mit zugehöriger Speichersteuereinrichtung zugeordnet ist. Im Verzeichnis zu jedem Datenblock ist eine Gültigkeitsinformation gespeichert, welche aussagt, ob der Datenblock dem neuesten Verarbeitungsstand entspricht.
Darüber hinaus können neben der Gültigkeitsinformation noch weitere Steuerinformationen in den Verzeichnissen gesetzt und/oder von allen Verarbeitungseinrichtungen abgefragt werden. So ist ein Speicherbit vorgesehen, welches von einer Verarbeitungseinrichtung im zugehörigen Verzeichnis gesetzt wird, wenn ein Datenblock im zugehörigen Arbeitsspeicher von ihr verändert wird und sich dadurch vom Hauptspeicher unterscheidet. Zusätzlich gibt e!n Abrufbit an. ob der Arbeitsspeicher die einzige Kopie des Datenblocks aus dem Hauptspeicher enthält.
Diese bekannte datenverarbeitende Anlage zeigt Beispiele für die in der Datenverarbeitung häufiger eingesetzten Möglichkeiten, mit Steuer- oder Gültigkeitsbits auch Vorgänge mit einer wesentlichen Zeitersparnis einfacher /u steuern. Mit diesem Prinzip ist jedoch noch nicht ohne weiteres eine einfache Fehlerbehandlungsroutine abzuleiten.
Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren gemäß dem Oberbegriff des Hauptanspruches zu schaffen, das ohne umfangreiche Protokolleinrichtungen über den Status der Verarbeitungseinheit, wie Protokoll- oder Rückgriffspeicher eine automatische Wiederholung der Ausführung von Maschinenbefehlen gestattet, dabei sollen insbesondere leistungsmindernde Progranimfehlerkontrollen oder Statusrr.eldungen der Verarbeitungseinheiten vermieden werden, die nicht von aktiven Verarbeitungsschritten mit Veränderungen von Operanden während der Ausführung einps Maschinenbefef '.s begleitet sind.
Bei dem Verfahren der eingangs genannten Art wird diese Aufgabe erfindungsgemäß gelöst durch die in den Kennzeichen der Patentansprüche 1 oder 3 genannten Merkmale. Damit bleibt ein Befehl so lange automatisch wiederholbar, als der auf seinen Ort im Arbeitsspeicher zeigende Befehlszähler auf den Befehlsanfang eingestellt werden kann, da seine Parameter und Operanden bis zur fehlerfreien Ausführung erhalten bleiben. Dies wird dadurch erreicht, daß die Operanden des Befehls zu Beginn seiner Ausführung in einem ersten Register-
salz gespeichert sind und das bei der Ausführung erhaltene Ergebnis in einem zweiten Registersatz abgelegt wird, dessen Inhalt erst bei fehlerfreier Ausführung in den ersten Kegistersatz kopiert wird. Während der gesamten Ausführung des Befehls bleiben seine Operanden zur Verfügung, deshalb kann auf aufwendige »Look Ahead^Routinen verzichtet wer* den. Die Ausführung eines Befehls wird nur dann abgebrochen, wenn wirklich ein Prögfammfehlcf auftritt. Bei einem Hardwarefehier in der Ausführung spielt es nunmehr keine Rolle mehr, wann der Fehler auftritt, da Parameter und Operanden des Befehls statisch bereitgehalten werden. Man kann deshalb im Fehlerfall automatisch wieder zum Beginn der Ausführung des Befehls zurückkehren.
Die gemäß dem Kennzeichen des Patentanspruches 2 ausgebildete Weiterbildung dieser Lösung sieht noch
Parameter und Operanden zur Ausführung eines Befehls entweder in einem Registersatz oder in einem Pufferspeicher bereitgestellt sind und
F i g. 2,F i g. 4 bzw. F i g. 6 die entsprechenden, jeweils in Form eines Programmablaufplanes dargestellten Veffährensabläufe bei der Ausführung eines Befehls für die in den obengenannten Figuren dargestellten Zentraleinheiten.
Die in Fig. 1 schemätisch dargestellte Zentraleinheit enthält einen Arbeitsspeicher ÄSP. eine diesem zugeordnete Verarbeitungseinheit VE und zwei Registersätze RSi bzw. RS2, in denen zusammengefaßt sämtliche Register gedacht sind, in denen die Parameter PAR bzw. Operanden OP auszuführender Befehle bereitgestellt bzw. Resultate RES als Ergebnis einer Befehlsausführung zwischengespeichert werden. Beide Registersätze sind untereinander durch ein schematisch
einen dritten Registersatz vor. ou läui sich uas
des zwischengespeicherten Ergebnisses in den ersten Registersatz bei normaler Befehlsausführung vermeiden und eine weitere Leistungssteigerung der Zentraleinheit der datenverarbeitenden Anlage erreichen.
Bei Datenverarbeitungsanlagen mit einem Pufferspeicher, in dem Parameter und Operanden auszuführender Befehle bereitgestellt werden, ist eine vom gleichen Grundgedanken ausgehende, parallele Lösung der obengenannten Aufgabe erfindungsgemäße gekennzeichnet durch die im Kennzeichen des Patentanspruches 3 erläuterten Merkmale. Deren wesentlicher Vorteil besteht darin, daß bei modernen größeren Zentraleinheiten ein Pufferspeicher an sich ohnehin vorhanden ist und dieser hier in bekannter Weise betrieben werden kann. Die Lösung beruht auf der besonderen Verwendung weniger Steuerbits, die Teil eines Pufferspeicherwortes sind. Es handelt sich dabei um:
ein Gültigkeitsbit, das den zugehörigen Eintrag im Pufferspeicher für gültig erklärt und an sich ohnehin üblicherweise vorgesehen ist,
ein Schreibbit, das im gesetzten Zustand ein Kitterspeicherwort kennzeichnet, dessen Daicnicii in den Arbeitsspeicher zurückgeschrieben werden muß und
ein sogenanntes »Vorläufigw-Kennzeichenbit, das im gesetzten Zustand das betreffende Pufferspeicherwort als einen vorläufigen, noch nicht getesteten Eintrag im Pufferspeicher kennzeichnet.
Diese Lösung hat einerseits den großen Vorteil eines geringen technischen Aufwandes und dabei die Eigenschaften der vorstehend beschriebenen Lösungen. Gemeinsam ist allen Lösungen, daß sie eine uneingeschränkte automatische Wiederholbarkeit von Befehlen ohne leistungsmindernde, der Befehlsausführung vorangestellte Routinen des Betriebssystems ermöglichen. Dabei bedeutet die uneingeschränkte automatische Wiederholbarkeit von Befehlen als solche bereits auch eine weitere Leistungssteigerung einer Zentraleinheit einer datenverarbeitenden Anlage, da einmal bereitgestellte Befehle auch bei wiederholter Ausführung keinerlei zusätzliche, bereits einmal ausgeführte Arbeitsspeicherzugriffe erfordern.
Zur näheren Erläuterung der Erfindung werden im folgenden Ausführungsbeispiele anhand der Zeichnung im einzelnen beschrieben. Dabei zeigen
Fig. 1, Fig.3 und Fig.5 jeweils die schematische Darstellung eines Blockschaltbildes einer Zentraleinheit einer datenverarbeitenden Anlage, bei denen die üargesiciiies ufSLz-vjiieu UL) vciuufiucii, uas üci einem durch eine Fehlererkennung FEdurchgeführten Test im Fehlerfall eine Kopie des Inhalts des zweiten Registersatzes RS2 in den ersten Registersatz RS1 verhindert
In F i g. 2 ist zweckmäßig in einer in der Datenverarbeitung geläufigen Notation, d. h. anhand eines Programmablaufplanes der Verfahrensablauf bei der Ausführung eines Befehls in der obenerläuterten Zentraleinheit im Detail dargestellt. Zum Beginn 20 der AusführiiAg sind die auf herkömmliche Weise aus dem Arbeitsspeicher ASP übernommenen Operanden OP und Parameter PAR eines Befehls im ersten Registersatz RS1 bereitgestellt. Sie werden mit den Schritten 21 und 22 in die Verarbeitungseinheit VE übernommen. Der ursprüngliche Inhalt des ersten Registersatzes RS1, z.B. zwei Operanden OPl und OP2 bleibt dabei erhalten. Aus diesen Operanden wird im Verfahrensschritt 23 in der Verarbeitungseinheit aufgrund der Befehlsparameter PAR ein Ergebnis RES errechnet. Dieses wird in den zweiten Registersatz RS 2 mit dem Verfahrensschritt 24 übertragen und anschließend im Verfahrensschritt 25 getestet, ob ein Fehler aufgetreten ist. Bei negativem Ergebnis des Tests, also fehlerfreiem Ergebnis, wird im nächsten Verfahrensschritt 26 der Inhalt des zweiten Registersatzes RS2 in den ersten Registersatz RSi kopiert Bei normalem Befehlsende END 1 steht damit im Verfahrensschritt 27 in den beiden Registersätzen RSi und RS 2 wiederum der erste Operand OP1 und das Resultat RES der aufgrund des Befehls vorgenommenen Verknüpfungsoperation.
ist jedoch der Test im Verfahrensschritt 25 positiv, d. h. in der Fehlererkennung FEein Resultatfehler RESF ermittelt, so wird im Verfahrensschritt 28 durch Spurren des UND-Gliedes t/G die Kopie des Inhalts des zweiten Registersatzes RS 2 in den ersten Registersatz verhindert, so daß bei abnormalem Befehlsende END 2 im Verfahrensschritt 29 im zweiten Registersatz RS 2 der erste Operand OPl und das Resultat RES, im ersten Registersatz RSi jedoch immer noch die beiden Operanden OPl und OP2 enthalten sind. Bei einem derartigen abnormalen Befehlsende laufen Fehlerroutinen des Betriebssystems an, die den aufgetretenen Fehler zu identifizieren und zu beheben versuchen. Gelingt dies, kann der fehlerhaft ausgeführte Befehl im nächsten Zyklus der Verarbeitungseinheit VE automatisch sofort wiederholt werden.
Kann aus Leistungsgründen die für die Übertragung des Inhalts des zweiten Registersatzes RS 2 in den ersten Registersatz RSi erforderliche Zeitspanne nicht erübrigt werden, dann bietet die in Fig.3 dargestellte Zentraleinheit dafür eine Lösung an. Diese Anordnung
ist um einen dritten Registersatz RS3 erweitert. Die Erweiterung bedingt ein zweites UND-Glied UG 2, das zwischen diesem dritten Registersatz RS3 und dem ersten Registersatz RSl angeordnet ist. Beide UND-Glieder UG1 und UG 2 entsprechen in ihrer Funktion dem anhand der F ig. 1 erläuterten UND-Glied UG.
Zwischen der Verarbeitungseinheit VE und dem ersten Regislersatz RS1 können in beiden Richtungen Parameter PAR und Operanden OPbzw. Resultate RES übertragen werden. In die beiden anderen Registersätze RS2 bzw. RS3 sind im Verfahrensablauf jedoch nur Daten aus der Verarbeitungseinheit VE und zwar nur abwechselnd zu übertragen, weil zwischen die Verarbeitungseinheit VE und jeden dieser Registersätze RS 2 und RS3 je ein weiteres UND-Glied UG3 bzw. UG4 geschaltet isL Diese werden durch ein von der Verarbeitungseinheit angesteuertes Steuer-Flipflop FF komplementär vorbereitet.
Wie im ersten Beispiel zeigt F i g. 4 den zugehörigen Verfahrensablauf: Vor der Ausführung eines Befehls enthalten die drei Registersätze RSl, RS2 und RS3 den gleichen Inhalt, z. B. also zwei durch den nachfolgenden Befehl miteinander zu verknüpfende Operanden OP1 und OP2. Während der Befehlsausführung werden dem ersten Registersatz RSi in den Verfahrensschritten 41 und 42 Parameter PAR und Operanden OP entnommen und in die Verarbeitungseinheit VE übertragen, im Verfahrensschritt 43 das Ergebnis RES gebildet, das im Verfahrensschritt 44 von Befehl zu Befehl wechselnd im zweiten bzw. dritten Registersatz abgelegt wird. Steht z. B. das Steuer-Flipflop FFbei dem im Verfahrensschritt 44 angedeuteten Test im Zustand »1«, so wird mit dem Verfahrensschritt 451 das Ergebnis RESm den ersten Registersatz RSi und den zweiten Registersatz RS 2 übertragen, während es im anderen Fall entsprechend dem Verfahrensschritt 481 in den ersten Registersatz RSi und den dritten Registersatz RS3 übertragen wird.
In beiden Fällen schließt sich nun in den Verfahrensschritten 452 bzw. 482 ein Test des Ergebnisses an, der K^i n*»cratiis«>m FrcroKnic alert fol-»l«ai-freiorv» DacitWit in *-- -ο-- -· * ο— · -—.-...-.-... «»«..>.-.»... ...
den Verfahrensschritten 453 bzw. 483 eine Umschaltung des Steuer-Flipflops FFin seinen anderen Zustand und zu einem normalen Befehlsende ENDi mit dem Verfahrensschritt 46 führt Dann steht bereits das korrekte Ergebnis im ersten Registersatz RSi, nach obigem Beispiel enthält er also den ersten Operanden OP i und das errechnete Resultat RES.
Wird jedoch in den Verfahrensschritten 452 bzw. 482 ein Fehlerfall ermittelt, so wird — bedingt durch den Zustand des Steuerflipflops FFund eine Fehlermeldung von der Fehlererkennung FE — jeweils eines der beiden UND-Glieder UGi oder UG 2 vorbereitet Der Inhalt des zweiten oder des dritten Registersatzes RS2 bzw. RS3 kann dann in den Verfahrensschritten 484 bzw. 454 in den ersten Registersatz RSi übertragen werden. Im Fehlerfall steht damit für die Befehlswiederholung der gesamte ursprüngliche Inhalt des ersten Registersatzes RSl wieder dort zur Verfugung. Hierdurch ist die mehrfache Wiederholbarkeit des Befehls gesichert
In F i g. 5 ist das Prinzipschaltbild einer Zentraleinheit einer datenverarbeitenden Anlage dargestellt bei der zwischen einem Arbeitsspeicher ASP, in dem eine Vielzahl von Arbeitsspeicherworten ASWabgelegt sind und einer Verarbeitungseinheit VE ein Pufferspeicher PSPangeordnet ist Dieser wird bei'modemen größeren Zentraleinheiten ohnehin vielfach verwendet und auch hier in bekannter V/eise derart betrieben, daß er stets eine Kopie aller vom Befehl benutzten Arbeitsspeicherwörter ASW enthält. Dazu werden einzelne oder mehrere aufeinanderfolgende Arbeilssipeicherwörter nach bekannten Regeln in Einträgen dies Pufferspeichers PSPabgelegt. Ein solches einen Eintrag bildendes Pufferspeicherwort PSW enthält aber neben den Datenbits DB des Arbeitsspeicherworts ASW eine Anzahl von Steuerbits SB, von denen in diesem Zusammenhang nur drei interessant sind, die in der Darstellung mit 5, V, Gbezeichnet sind.
Mit Hilfe der Zustände dieser Steuerbits wird ein einzelner Eintrag im Pufferspeicher PSP, also ein Pufferspeicherwort PSW, ähnlich wie bei den vorher geschilderten Ausführungsbeispielen beispielsweise noch als vorläufig und noch zu testen oder als gültig gekennzeichnet. Die Steuerbits 5, V, G geben daher Auskunft über den Status des zugehörigen Pufferspeicherwortes PSW, so daU abhängig von ihrem Zustand ein einzelnes Pufferspeicherwort PSW löschbar, in den Arbeitsspeicher ASP überschreibbar usw. ist. Im einzelnen stellt das Steuerbit G ein Gültigkeitsbit dar. Das »Vorläufig«-Kennzeichenbit V kennzeichnet im Zustand »1« den Inhalt eines Pufferspeicherwortes PSWals vorläufig und noch zu testen. Das Steuerbit S bedeutet ein Schreibbit, das im Zustand »1« ein Programmspeicherwort PSW kennzeichnet, das in den Arbeitsspeicher ASPkopiert werden soll. Nachfolgende Tabelle 1 ergibt einen Überblick über den jeweiligen Status des zugehörigen Programmspeicherwortes PSW in Abhängigkeit von dem Zustand der drei Steuerbits S, Vn nd G.
Tabelle
45
50
55
60
Zustand V von Status des Pufrerspeicherwortcs
S 1 G
1 0 1 Eintrag ist vorläufig
1 1 Endgültiger Eintrag, in den Arbeits
1 speicher kupieren
1 0 Wegen eines Fehlers ungültiger
0 Eintrag
0 1 Gültiger, in den Arbeitsspeicher
1 kopierter Eintrag
0 0 1
0 1 0
0 0 0 Freier Eintrag des Pufferspeichers,
1 0 kann beliebig belegt werden
Damit läßt sich nun der in F i g. 6 wieder in Form eines Programmablaufplanes dargestellte Verfahrensablauf dieses Ausführungsbeispieles erläutern. Nach Abschluß der Bereitstellungsphase eines Befehls stehen im Pufferspeicher PSW die zum Ausführen dieses Befehls notwendigen Arbeitsspeicherwörter ASWm einzelnen Einträgen als Pufferspeicherwörter PSW.
Mit dem Verfahrensschritt 60 beginnt die Ausführungsphase dieses Befehls. Im Verfahrensschritt 61 werden die Parameter PAR und Operanden OPaus dem Pufferspeicher PSP in die Verarbeitungseinheit VE übertragen. Daraus wird im Verfahrensschritt 62 in beschriebener Weise ein Resultat RES errechnet und dieses im Verfahrensschritt 63 in freie Einträge des Pufferspeichers PSP übertragen. In den dabei belegten Pufferspeicherwörtern PSlVwerden die Steuerbits S, V
und G in den Zustand »1« gesetzt. Im nächsten Verfahrensschritt 64 wird dieses zwischengespeicherte Ergebnis RES durch die Fehlererkennungseinheit FE hinsichtlich möglicherweise aufgetretener Fehler getestet. Bei negativem Test, also korrektem Ergebnis RES, werden in den getesteten Pufferspeicherwörtern PSW die jeweiliger» »Vorläufigw-Kennzeichenbits V im Verfahrensschritt 65 gelöscht. Damit ist das normale Befehlsende ENDi mit dem Verfahrensschritt 66 erreicht, wonach die getesteten und endgültigen Einträge im Pufferspeicher PSP aufgrund des gesetzten Schreibbits 5 in den Arbeitsspeicher ASP kopiert werden.
Ist der im Verfahrensschritt 64 ausgeführte Test jedoch positiv, d.h. das bei der Befehlsausführung erzielte Resultat RES fehlerhaft, so wird im Verfahrensschritt 67 das Gültigkeitsbit G gelöscht und damit ein abnormales Befehlsende END2\m Verfahrensschritt68 erreicht, das, wie oben nach Fehlerroutinen des Betriebssystems eine Wiederholung des Befehls erfordert
Aus diesem Verfahrensablauf ergibt sich, daß keine Einträge mit einem gesetzten »Vorläufig«-Kennzeichenbit V belegt werden dürfen, wenn während der Ausführung eines Befehls Einträge im Pufferspeicher aus dem Arbeitsspeicher ASP neu gefüllt werden müssen. Nur durch ein gesetztes Schreibbit 5 gekennzeichnete Einträge im Pufferspeicher dürfen erst dann für einen neuen Eintrag benutzt werden, wenn der Datenteil des Pufferspeicherwortes PSW in das entsprechende Arbeitsspeicherwort ASW übertragen ist und damit das Schreibbit S gelöscht ist.
Wird die Ausführung eines Befehles wegen eines festgestellten Hardware- oder Programmfehlers abgebrochen, so sind im Pufferspeicher PSPaIIe Einträge mit gesetzten Steue^bits 5 und V für ungültig zu erklären. Übrig bleiben also dann nur die bei der Bereitstellung des Befehls als gültig bezeichneten Einträge im Pufferspeicher.
Diese Art der Befehlsausführung erfordert bei Transferbefehlen in ein peripheres Gerät, das in Fig.5 schematisch angegeben und mit PER bezeichnet ist, einen Datentransfer nicht mehr aus dem Arbeitsspeicher ASP, sondern aus dem Pufferspeicher PSP, wenn Arbeitsspeicheradressen berührt werden, deren Inhalt im Pufferspeicher PSP enthalten ist und ein entsprechendes Pufferspeicherwort PSW durch ein gesetztes Schfeibbit S gekennzeichnet ist. Hierbei läßt sich auch ein Beispiel für einen Programmierer zeigen: Wenn nämlich in einem derartigen Eintrag zugleich auch das »Vorläufig«-Kennzeichen gesetzt ist, handelt es sich um einen Fehler im Eingabe-/Ausgabeprogramm. Denn das würde bedeuten, daß Arbeitsspeicherwörter ASW durch einen Befehl gleichzeitig ausgegeben und verändert werden. Der Ausgabevorgang muß daher so lange suspendiert werden, bis das »Vorläufig«-Kennzeichenbit Kgelöschtist.
Das beschriebene Verfahren erfordert eine ausreichende Größe des Pufferspeichers PSP, damit alle Befehlsparameter PAR, Operanden OP und Ergebnisse RES eines Befehls im Pufferspeicher Platz finden. Bei Zentraleinheiten moderner Datenverarbeitungsanlagen mit Pufferspeichern besitzt letzterer eine ausreichende Speicherkapazität für die meisten Befehle. Die wenigen Befehle, für die diese Voraussetzung manchmal nicht erfüllt sein kann, z. B. Befehle zum Bearbeiten von Bytefeldern, haben besondere Eigenschaften und bedingen vielfach bereits bestimmte Sonderroutinen, so daß sie auch in bezug auf ihre Wiederholbarkeit anders als die Mehrzahl der Befehle beurteilt werden müssen.
Hierzu 3 Blatt Zeichnungen

Claims (3)

Patentansprüche:
1. Verfahren zum wiederholten Ausführen von Maschinenbefehlen durch eine festverdrahtete Steuerung in einer Verarbeitungseinheit einer Datenverarbeitungsanlage, bei dem zum Ausführen eines solchen Befehls seine in einem Registersatz und/oder in Speicherplätzen eines Arbeitsspeichers bereitgestellten Parameter bzw. Operanden in die Verarbeitungseinheit übertragen und dort zu einem Resultat verarbeitet werden, das in Ergebriisregistern oder bestimmten Speicherplätzen des Arbeitsspeichers niedergelegt wird, worauf im Normalfall der nächste Befehl bearbeitet, in einem durch Testen des Ergebnisses ermittelten Fehlarfall jedoch durch Fehlerroutinen den Fehler zu beheben versucht und ciann derselbe Befehl nochmals ausgeführt wird, dadurch gekennzeichnet, daß das «n der Verarbeitungseinheit ('Vc/ermittelte Resuitai (RHS) vor dem Test zunächst nur in einen zweiten Registersatz (RS2) oder — sofern dabei die Ausgangsoperanden nicht gelöscht werden — den Arbeitsspeicher eingeschrieben wird, daß erst bei einem durch den Test als gültig bestäti,gbaren Resultat der Inhalt des zweiten Registersatzes; in den ersten kopien und damit die normale Befehlsausführung abgeschlossen wird (ENDi), während eine Fehlermeldung ein abnormales Befehlsende [END 2) be '.eutet und Fehlerroutinen auslöst, nach deren erfolgreichem Abschuß mit den im ersten Registersatz bis dahin fixierten Daten der bereits einmal ausgeführte Befeh.: mi? Beginn des nächsten Verarbeitungszyklus unmittelbar wiederholt wird.
2. Verfahren nach Anspruch i. dadurch gekenn zeichnet, daß das in der Verarbeitungseinheit (VE) ermittelte Resultat in den ersten Registersatz (RS 1) und durch den Zustand eines Steuer-Flipflops (FF) gesteuert, für aufeinanderfolgende Befehle abwechselnd in den zweiten bzw. einen dritten Registersat/ (RS2 bzw. RS3) übertragen wird und damit dir erste Registersatz bei fehlerfreier Befehlsausführung das korrekte Resultat (RES) enthält, daß bei durch Testen als fehlerhaft ermitteltem Resultat (RFSF) der Inhalt des die Parameter und Operanden des eben ausgeführten Befehls enthaltenden Registersatzes (RS2 bzw. Λ5 3) in den ersten Registersat/ übertragen wird und damit die mehrfache Wiederholbarkeit des Befehls gesichert ist.
3. Verfahren /um wiederholten Ausführen von Maschinenbefehlen durch eine festverdrahtete Steuerung in einer Verarbeitungseinheit einer Datenverarbeitungsanlage, bei dem /um Ausführen eines solchen Befehls seine im einem Registersat/ und/oder in Speicherplätzen eines Arbeitsspeichers bereitgestellten Parameter b/w. Operanden in die Verarbeitungseinheit übertragen und dort /u einem Resultat verarbeitet werden, das in Frgebriisregi stern, einem Pufferspeicher oder bestimmten Speicherplätzen des Arbeitsspeichers niedergelegt wird, worauf im Normalfall der nächste I3efehl bearbeitet, in einem durch Testen des Ergebnisses ermittelten Fehlerfall jedoch durch Fehlerroutinen den Fehler zu beheben versucht und dann derselbe Befehl nochmals ausgeführt wird, dadurch gekennzeichnet, daß die Parameter (PAR) und Operanden (OP) eines Befehls beim Bereitstellen in a.ti sich bekannter Weise aus einem Arbeitsspeicher (ASP)
gelesen und in einem Pufferspeicher (PSP) als Datenbits (DB) eines um zusatzliche Steuerbits (S, V. G) erweiterten Pufferspeicherwortes (PSW) abgelegt werden, daß zum Ausführen des Befehls die Datenbits des Pufferspeicherwortes in die Verarbeitungseinheit (VE) übertragen werden und ein dort ermitteltes Resultat (RES) in freien Einträgen des Pufferspeichers abgelegt wird, wobei m einem betroffenen Pufferspeicherwort sämtliche Steuerbits gesetzt werden, daß anschließend das Resultat auf Fehler getestet wird, bei negativem Test bzw. Fehlerlosigkeit sodann das »Vorläufig«-Kennzeichenbit (V) gelöscht, damit der Datenteil des betreffenden Pufferspeicherwortes in den Arbeitsspeicher übertragen werden kann und dann mit Löschen des Schreibbits (SJ die normale Befehlsausführung abgeschlossen ist und daß jedoch bei einem fehlerhaften Ergebnis durch Löschen des Gültigkeitsbits (C) der betreffende Eintrag für ungültig erklärt, also ein abnormales Befehlende {END 2) erreicht wird, bei dem der Befehl nach dadurch ausgelösten Fehlerroutinen erneut aufgrund der ursprüngliche weiterhin gültig gebliebenen Pufferspeichereinträge ausgeführt wird.
DE19752523795 1975-05-28 1975-05-28 Verfahren zum wiederholten Ausführen von Maschinenbefehlen durch eine festverdrahtete Steuerung in einer Verarbeitungseinheit einer Datenverarbeitungsanlage Expired DE2523795C3 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19752523795 DE2523795C3 (de) 1975-05-28 1975-05-28 Verfahren zum wiederholten Ausführen von Maschinenbefehlen durch eine festverdrahtete Steuerung in einer Verarbeitungseinheit einer Datenverarbeitungsanlage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19752523795 DE2523795C3 (de) 1975-05-28 1975-05-28 Verfahren zum wiederholten Ausführen von Maschinenbefehlen durch eine festverdrahtete Steuerung in einer Verarbeitungseinheit einer Datenverarbeitungsanlage

Publications (3)

Publication Number Publication Date
DE2523795A1 DE2523795A1 (de) 1976-12-09
DE2523795B2 DE2523795B2 (de) 1979-03-15
DE2523795C3 true DE2523795C3 (de) 1979-11-22

Family

ID=5947697

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19752523795 Expired DE2523795C3 (de) 1975-05-28 1975-05-28 Verfahren zum wiederholten Ausführen von Maschinenbefehlen durch eine festverdrahtete Steuerung in einer Verarbeitungseinheit einer Datenverarbeitungsanlage

Country Status (1)

Country Link
DE (1) DE2523795C3 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3211256C2 (de) * 1982-03-26 1984-03-22 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung zur im Fehlerfall vorgesehenen Wiederholung von Maschinenbefehlen in einer Datenverarbeitungsanlage
EP0187373B1 (de) * 1985-01-11 1995-04-12 Wang Laboratories Inc. Verwaltungssystem für relationale datenbank
US4751639A (en) * 1985-06-24 1988-06-14 Ncr Corporation Virtual command rollback in a fault tolerant data processing system
US5408651A (en) * 1993-09-27 1995-04-18 Bull Hn Information Systems Inc. Store "undo" for cache store error recovery

Also Published As

Publication number Publication date
DE2523795A1 (de) 1976-12-09
DE2523795B2 (de) 1979-03-15

Similar Documents

Publication Publication Date Title
DE2523414C3 (de) Hierarchische Speicheranordnung mit mehr als zwei Speicherstufen
DE2241257B2 (de) Datenverarbeitende Anlage
EP0228559A1 (de) Fehlertolerante Mehrrechneranordnung
DE3614795A1 (de) Schreibverfahren fuer dateidaten in einen einmal beschreibbaren speicher
DE3439302A1 (de) Speichersteuerungsvorrichtung
DE3508291A1 (de) Realzeit-datenverarbeitungssystem
DE2244402A1 (de) Datenverarbeitungsanlage
DE3710813A1 (de) Datenverarbeitungssystem sowie verfahren dafuer
DE2432608A1 (de) Speicheranordnung fuer datenverarbeitungseinrichtungen
DE2450468C2 (de) Fehlerkorrekturanordnung für einen Speicher
DE3421737C2 (de) Vorrichtung zur Ermittlung einer Überlappung von Operanden
DE2350229A1 (de) Datenverarbeitungsanlage, insbesondere als steuereinrichtung fuer fernsprechvermittlungsanlagen
DE2523795C3 (de) Verfahren zum wiederholten Ausführen von Maschinenbefehlen durch eine festverdrahtete Steuerung in einer Verarbeitungseinheit einer Datenverarbeitungsanlage
DE2702722C2 (de) Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen
EP0350016B1 (de) Verfahren und Einrichtung zum Duplizieren des Inhalts von Datenträgern
DE19905541B4 (de) Verfahren zum Steuern des Speicherzugriffs in einer Maschine mit einem Speicher mit ungleichmäßigem Zugriff und Maschine zur Ausführung eines solchen Verfahrens
EP0265636A1 (de) Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher
DE2610428C3 (de) Anordnung zur Steuerung der Zwischenspeicherung von zwischen zwei Funktionseinheiten zu übertragenden Daten in einem Pufferspeicher
EP0525214A1 (de) Verfahren zum Betreiben eines Automatisierungsgeräts
DE2827745C2 (de) Dynamische Adressenübersetzungsanordnung
DE3534871C2 (de)
DE19909081C2 (de) Anordnung zur Übertragung von in mehrere Wörter unterteilten Datensätzen
DE2460006C3 (de) Multiplex-Schleifenschaltung zur Datenübertragung und Steuerung zwischen Datenverarbeitungsanordnungen und Unteranordnungen
EP1176513A2 (de) Verfahren und Vorrichtung zum Bearbeiten von Daten in einem Speicher
DE2523686A1 (de) Einrichtung und verfahren zur adressuebersetzung in einem multiprozessorsystem mit virtueller adressierung

Legal Events

Date Code Title Description
BI Miscellaneous see part 2
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee