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 DatenverarbeitungsanlageInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/141—Saving, 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.
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 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
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.
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)
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.
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)
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 |
-
1975
- 1975-05-28 DE DE19752523795 patent/DE2523795C3/de not_active Expired
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 |