DE2523795B2 - - Google Patents
Info
- Publication number
- DE2523795B2 DE2523795B2 DE19752523795 DE2523795A DE2523795B2 DE 2523795 B2 DE2523795 B2 DE 2523795B2 DE 19752523795 DE19752523795 DE 19752523795 DE 2523795 A DE2523795 A DE 2523795A DE 2523795 B2 DE2523795 B2 DE 2523795B2
- Authority
- DE
- Germany
- Prior art keywords
- command
- result
- error
- memory
- processing unit
- 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.)
- Granted
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
to wiederholten Ausführen von Maschinenbefehlen in einer Verarbeuungseinheit einer Datenverarbeitungsanlage
gemiO den Oberbegriffen der Ansprüche 1 oder
3. · ■ ■■■. .. ·:. .·■■■■■ .;:
Verarbciiungseinheit einer datenverarbeitcnden Anlage
können zwei verschiedene Gruppen von Fehlern auftreten: Zumindestens teilweise? Versagen der Schaltungsanordnung
führt zu einem Hardwarefehler, ein
logisch nirhi vollkommen korrekt entwickeltes ϊ*το-grsmrn
ergibt einen Programrnfehler. In beiden Fällen
ist die uneingeschränkte Wiiderfcoibarkeit in der
Ausfuhrung det betroffenen Befehls wünschenswert Bei
einem Hardwarefehier kann eine Auswirkung auf das
abteufend? Programm durch eine Wiederholung des
vo'i ihm betroffeneil Befehlt beseitig« werden, sofern
der Fehler bei der Wiederholung ;>lchi mehr auftritt Bei
einem während der Ausführung eines BefchSs erksnr.ten
Programmierer mu3 zu dessen Beseitiguiig vielfach
eine Routine dsj Betncbssyiten-sderdstenvenirbeftcn-
» den Anlage ablaufen, ehe der vom Progranimiehler
betroffene Befehl weitergeführt werden kann. Ein Beispiel dafür ist das Fehlen einer Speicherseile im
ieellen Arbeitsspeicher bei Datenvererbeiningsaiuagef»
mit virtueller Adressierung, bei dem vor der endgültigen
ss Ausführung des betroffenen Befehls die entsprechend«
Speicherr*ite des virtuellen Speichers an eine freie
Steile des reellen Arbeitsspeichers übertragen werden muß. !n allen diesen F£l:en ist es s-egefi des geringen
Aufwandes allgemein Gblk-h, den betroffenen Befeb!
μ 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 automatischen Wiederholbarkeit von fehlerhaft
t5 ausgeführten Befehlen allerdings eine enge Grenze
gesetzt: Ein Befehl bleibt näm'ich nur automatisch
wiederholbar, wenn noch keine Operanden verändert sind. Ist die Befehlsausführung jedoch soweit fortgc-
schritten, daß Befehlsoperanden in der Verarbcitungseir.hei!
bereits verarbeitet sind, müß eine unterschiedlich
lange Phase in Kauf genommen werden, in welcher der Refehl nicht automatisch wiederholbar ist, weil d'ese
Bcfehlsuperanden erst erneut durch Wiederholung bereitgestellt werden nüssen.
Zur Erkennung von Programmfc-hlern wird zu Beginn
der Befehlsausführung geprüft, ob solche Fehler
auftreten und dutch eingeschobene Routinen des Betriebssystems vor einer Wiederholung des Beiehls
beseitigt werden können. Diese Prüfung erfolgt, ehe die
Operanden des Befehls verändert werden, daher bleibt
dieser automatisch wiederhotbar, wenn seine Ausführung
wegen eines potentiellen Programmfchlers abgebrochen werden muß. Derartige Prüfungen sind jedoch
zeitraubend und aufwrndig. sie Wirker, sich deshalb leistungtmindernd aus, weil sie in jedem Fall, also auch
dann vorgenommen werden, wenn ein solcher Fehirr nicht vorliegt.
Aus der DE-OS 19 36 25t ist eine Datenverarbeitungsanlage
iowie ein Verfahicn /u deicn Rclricb
bekannt, die eine laufende dynamisch: Aufzeichnung
ihres Programmzustandes in Form fines »Protokolle
gestattet Der Programmzustand soll in Form eine*
Protokolls oder eines Profils ohne besendeen Zeitaufwand
d> na misch aufgezeichnet wc, den und so eif-.c
durch Fehler unterbrochene Operatic» nochmals durchzufuhren sein. Dazu ist fur mindestens eine
Verarbeitungseinheit eine Fchlererktnnungsschaltung
sowie eine Protokolleinrichtung mit einem Protokollspeicher vorgesehen, die an bestimmte Speichervorrithtungen
in der zugeordneten Verarbeitungseinheit zur Übernahme von Daten angeschlossen ist
Damit in einem Fehicrfall der fehlerfreie Status der
zentralen Vef arbeitungseinheit wieder herstellbar ist, ist
also Vorsorge dafür getroffen, daO die Inhalte aller während einer Sefehtsausfühning möglicherweise sich
ändernden Register laufend in eine auch eis Rückgriff-Speicher zu bezeichnende Prolokolleinrichtung kopiert
werden können. Diese Einrichiung wird gepuffert ausgeführt dainit Änderungen zwischen zwei Testzeitpunkten
nicht »lest« werden können.
Diese Lösung ist nicht nur wegen der gepufferten Ausführung sehr aufwendig. Ein bestimmter Befehl
b<nui?! oder verändert bekanntlich während semer
Bereitsteüung und Ausführung immer nur wen'ge
spezielle Register. Die Protokoileinriehtung muß jedoch ständig den fehlerfreien, aktuellen Status al'er an sich
veränderbaren Register festhalten, damit jeweils vollständige Programmdsten mindestens über den Programmzustand,
der am Ende des letzten fehlerfrei ausgeführter. Zyklus i.i der betreffenden Verarbeitungseinheii
vorlag, vorhanden sind.
Weiterhin ist aus der DE-OS 1901036 eine
Anordnung für die wiederholte Ausführung fehlerhaft ausgeführter Funktionen bekannt, die auf vorübergehenden
Fehlern beruhen. Dabei handelt es sich um eine tnikreprogrammgeueuerte Anlage, in der ein Mikrobefehl
eine Operation definiert und unter einer Funktion wird eine wiederiiolbare 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 enthält
weitere Rückgriffspeicher, die über Torschsiuingen mit Daten- und Instruktionsregistern verbunden sind
und eine zusätzliche Folgesteuerung für die Wiederho-
g- Diese erzeugt Ausgangssignale, die der ausgeführten
Funktion entsprechen und nur die Torschahungen zwischen denjenigen Rückgriffspeichern und Registern
öffnen, die für die Wiederholung der fehlerhaften Funktion erforderlich sind.
Mit der bekannten Anordnung wird also eine BefehUwiederholung auf Mikroprogrammebene angestrebt.
Eine solche Wiederholbarkeit von Funktionen ist zwar vorteilhaft, weil fehlerfrei ausgeführte Zyklen der
Verarbcitungsanlagc wahrend der Verarbeitung eines
Maschinenbefehls, also einer »Insiruktion«, 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 cb, während einer Opcrstionsfolgc einen vollständigen
Oberblick über den Statut der Vcrarbcitungscinheit zu
fixieren, d.h. Registetinhalic in Rückgriffspeicher zu
kopi»ren.
Schließlich ist aus der DE-AS 2241257 eine
datcnvcrarbeitcrtie Anlüge mit einer; Hauptspeicher
und niir.tieMin* /wet Verarbcitungseinrichiui^en bekannt,
denen je ein ichncl'er Arbeitsspeicher mit
z-jgehörigein Verzeichnis der gespeicherten Dstenblök-
ke und mit zugehöriger Spciehersleuercinrichtung
zu »ec-dnet ist. lir. Verzeichnis zu jeden» Datenblock ist
eine Gültigkeitsirformation gespeichert, nclci.t aus·
sagi. ob der Da'enblock dem neuesten Verarfceitungssiand
entspricht
Darüber hinaus können neben der Güitigkeiuinformation
noch weitere Sieüerinbrmalioncr. in den
Verzeichnissen gesetzt und/oder vo.» allen Verarbeitungieinrichtungen
abgefragi werden. So ist ein
Speicherbit vorgesehen, welches von einer Verarbcituneicinrichtung
im zugehörigen Verzeichnis gesetzt wird, wenn tin Datenblock im zugehörigen Arbeitsspeicher
von ihr verändert wird und sich dadurch vorn Haup'spcichcr untei-scheidct. Zusätzlich gibt ein Abrufbit
an, ob der Arbeitsspeicher die einzige Kopie des Datenblocks aus dim Hauptspeicher enthalt
Diese befcsnrte daienverarbeitewie Anlage zeigt
Beispiele für die in der Datenverarbeitung häufiger
eingesctrten Möglichkeiten, mit Steuer- oder Gfiiiigkeiisbits
auch Vorgangs mit «ifser wesentlich™
Zeitersparnis einfacher zu steuern. Mit d'esem Prinzip
ist jedoch noch nicht ohne weiteres «ine einfache
Fehlerbehandlungsrtjutine ableiten.
Der Erfindung liegt daher die Aufgabe zugrunde, ein
Verfahren gsmä'B dem Oberbegriff des Hauptfinspruches
zu schaffen, das ohne umfangreiche Prctokoileinrichtungen
über den Status der '/er&rheitungseinheit.
wie Protokoll- oder Rückgriffipeicher eine automatische
Wiederholung de* Ausführung von Maschinenbefehle!! gestattet, dabei sollen insbesondere leistangsiiiindeiT:de
Programmfehlerkontrollen oder Staiusmeldungen
der Verarbcitungscinheiten vermiede werden, die
nicht von aktiven Verarbeitjngsschritten mit VerÄnJerungen
von Operanden während der Ausführung eine» Maschinenbefehls begleitet sind.
Bei dem Verfahren der eingangs genannten Art wird diese Aufgabe »,-findungsgem£ß gelöst durch die in den
Kennzeichen der Patenunsprüche 1 oder 3 genannten Merkmale. Damii bleibt ein Befehl se lange automatisch
wiederholbir, als der auf seinen Ort «m Arbeitsspeicher
zeigende Befehlszähler auf der. Befehlsanfang eingestellt werden kann, da seine Parameter und Operanden
bis zur fehierfreien Ausführung erhalten bleiben. Dies
wird dadurch erreicht. da3 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 Registersatz kopiert wird.
Während der gesamten Ausführung des Befehls bleiben
seine Operanden zur Verfügung, deshalb kann auf aufwendige »Look Ahead«-Routinen verzichtet werden.
Die Ausführung eines Befehls wird nur dann abgebrochen, wenn wirklich ein Programmfehler
auftritt Bei einem Hardwarefehler 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
Fehlerfa!) automatisch wieder zum Beginn der Ausführung
des Befehls zurückkehren.
Die gemäß dem Kennzeichen des Patentanspruches 2 ausgebildete Weiterbildung dieser Lösung siein noch
einen dritten Registersatz vor. So läßt sich das Kopieren
des zwischengespeicherten Ergebnisses in den ersten Registersatz bei normaler Befehlsausführung vermeiden
und eine wettere Leistungssteigerung der Zentraleinheit der daten verarbeitenden 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 jo
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
ohnehin üblicherweise vorgesehen ist.
ein Schreibbit, das im gesetzten Zustand ein 4U
in den Arbeitsspeicher zurückgeschrieben werden muß und
ein sogenanntes »Vorläufig«i-Kennzeichenbit, das
im gesetzten Zustand das betreffende Puffer- 4>
getesteten Eintrag im Pufferspeicher kennzeichnet.
Diese Lösung hat einerseits den großen Vorteil eines geringen technischen Aufwandes und dabei die Eigen- ί»
schäften 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 datcnvcrarbcilcndcn Anlage, da einmal bereitgestellte
Befehle auch bei wiederholter Ausführung mi keinerlei zusätzliche, bereits einmal ausgeführte Arbritsspeicher/.ügriffc
erfordern.
Zur näheren Erläuterung der Erfindung werden im folgenden Ausführungsbcispiclc anhand der Zeichnung
im einzelnen beschrieben. Dabei zeigen μ
Fig. I. Fig. 3 und Fig.5 jeweils die schematische
Darstellung eines Blockschaltbildes einer Zentrateinheil einer dalcnvcrarbcitenden Anlage, bei denen die
Parameter und Operanden zur Ausführung eines Befehls entweder in einem Registersatz oder in einem
Pufferspeicher bereitgestellt sind und
Fi g. 2, F i g. 4 bzw. F i g. 6 die entsprechenden, jeweils
in Form eines Programmablaufplanes dargestellten Verfahrensabläufe bei der Ausführung eines Befehls für
die in den obengenannten Figuren dargestellten Zentraleinheiten.
Die in Fig. I schematisch dargestellte Zentraleinheit enthält einen Arbeitsspeicher ASP, eine diesem
zugeordnete Verarbeitungseinheit VE und zwei Registersatze RSi bzw. RSZ 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 dargestelltes UND-Glied UG verbunden, das bei einem
durch eine Fehlererkennung FEdurchgeführten Test im
Fehlerfall eine Kopie des Inhalts des zweiten Registersatzes RS 2 in den ersten Registersatz RS I 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ührung sind die auf herkömmliche Weise aus dem Arbeitsspeicher ASP übernommenen Operanden OP
und Parameter PAR eines Befehls im ersten Registersau RS1 bereitgestellt. Sie werden mit den Schritten 21
• und 22 in die Verarbeitungseinheit VE übernommen. Der ursprüngliche Inhalt des ersten Registersatzes ÄS t,
z.B. zwei Operanden OPi und OP2 bleibt dabei
erhalten. Aus diesen Operanden wird im Verfahrensschritt 23 in der Verarbeitungseinheit aufgrund der
Bcfehlsparamcter PAR ein Ergebnis RES errechnet Dieses wird in den zweiten Registersatz ÄS2 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 RS 2 in den ersten
Registersatz RSl kopiert Bei normalem Befehlsende
ENDi steht damit im Verfahrensschritt 27 in den beiden Registersätzen RSi und Af52 wiederum der
erste Operand OP i und das Resultat RES der aufgrund
des Befehls vorgenommenen Verknüpfungsoperation.
Ist jedoch der Test im Verfahrensschritt 25 positiv,
d. h. in der Fehlererkennung FFein Resultatfehler RESF
ermittelt, so wird im Verfahrensschritt 28 durch Sperren des UND-Gliedes UGdie Kopie des Inhalts des zweiten
Registersatzes /752 in den ersten Registersatz verhindert,
so daß bei abnormalem Befehlende END 2 im Verfshrensschritt 29 im zweiten Registers»/ ÄS 2 der
erste Operand OPi und das Resultat RES im ersten
Registersalz ÄS I jedoch immer noch die beiden Operanden OPX und OPl enthalten lind. Bei einem
derartigen abnormalen Bcfehlscnde laufen Fchlcrroutincn
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 Verarbeitungseinheil VE automatisch sofort wiederholt werden.
Kann aus Leistungsgründen die für die Übertragung
des Inhalts des zweiten Rcgistersalzcs RS2 in den
ersten Registersatz ÄS I erforderliche Zeitspanne nicht
erübrigt werden, dann bidet die in Fig.3 dargestellte
Zentraleinheit dafür eine Lösung an. Diese Anordnuni
ist um einen dritten Registersatz RS3 erweitert. Die
Erweiterung bedingt ein zweites UND-Glied {7(72, das
zwischen diesem dritten Rcgislcrsalz RS3 und dem
ersten Registersat/. RSi angeordnet ist. Beide UND-Glieder UG i und UG 2 entsprechen in ihrer Funktion
dem anhand der F i g. 1 erläuterten UND-Glied UG.
Zwischen der Vcrarbcitungseinhcit VE und dem ersten Registersatz RSi können in beiden Richtungen
Parameter PAR und Operanden OPbzw. Resultate RES
übertragen werden. In die beiden anderen Rcgistcrsälzc RS2 bzw. RS 3 sind im Vcrfahrcnsablauf jedoch nur
Daten aus der Vcrarbcitungscinheit VE und zwar nur
abwechselnd zu übertragen, weil zwischen die Vcrarbcitungscinhcit
VE und jeden dieser Registerwalze RS2 und RS3 je ein weiteres UND-Glied UG 3 bzw. UGA r,
geschaltet ist. Diese werden durch ein von der Vcrarbcitungscinheit angesteuertes Stcucr-Flipflup FF
komplementär vorbereitet.
Wie im ersten Beispiel zeigt F i g. 4 den zugehörigen Vcrfahrcnsablauf: Vor der Ausführung eines Befehls
enthalten die drei Rcgistcrsatzc RSi, RS2 und RS3 den gleichen liihati, /. R. also zwei durch den
nachfolgenden Befehl miteinander zu verknüpfende Operanden OP I und OPZ Während der Befehlsausführung
werden dem ersten Registersatz RSi in den r>
VerfahrcnsNchriltcn 41 und 42 Parameter PAR und
Operanden OP entnommen und in die Verarbeitungseinheit VE übertragen, im Vcrfahrcnsschritt 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 Sleucr-Flipflop
FFbci dem im Verfahrensschritt 44 angedeuteten Test im Zustand »I«, so wird mit dem Verfahrensschritt 4SI das Ergebnis ÄKS in den ersten Registersatz
RSi und den zwcitm RcgiMcrsatz RS2 übertragen, r>
während es im anderen Fall entsprechend dem Verfahrcnsschritt 48t in den ersten Registersatz RSt
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 «1 bei negativem Ergebnis, also fehlerfreiem Resultat in
den Verfahrensschritten 453 bzw. 483 eine Umschaltung des Steucr-Flipflops FFin seinen anderen Zustand und
zu einem normalen Beichtende EAVDl mit dem
Vcrfahrcnsschriti 46 führt. Dann steht bereits das 4·,
korrekte Ergebnis im ersten Registersatz RSi, nach
obigem Beispiel enthält er also den ersten Operand«*» OP i und das errechnete Resultat RES
Wird jedoch in den Verfahrcnsschritlen 4S2 bzw. 482
ein Fehlcrfall ermittelt, so wird — bedingt durch den *>
Zustand des Steuerflipflops FFund eine Fehlermeldung
von der Fehlererkennung FE — jeweils eines der beiden UND-Glieder UGI oder UG2 vorbereitet. Der Inhalt
des zweiten oder des dritten Regisiersaizes KS2 bzw.
PS3 kann dann in den Verfahrensschritten 484 bzw. 454 η
in den ersten Registersatz ÄS t übertragen werden. Im
Fehlcrfall steht damit für die Befchlswiedcrholung der gesamte ursprüngliche Inhalt des ersten Rcgis'ersatzes
RSi wieder dort zur Verfügung. Hierdurch ist die mehrfache Wiederholbarkeit des Befehls gesichert. ; to
In F i g. 5 ist das Prinzipschaltbild einer Zentraleinneil
einer daienverarbeitenden Anlage dargestellt, bei der
zwischen einem Arbeitsspeicher ASP, in dem eine ■Vielzahl von Arbeitsspeicherworten AStfabgelegt sind
und einer Verarbeitungseinheit VE ein Pufferspeicher /Wangeordnet ist. Dieser wird bei modernen größeren
Zentraleinheiten ohnehin vielfach verwendet und auch hier in bekannter Weise derart betrieben, daß er stets
eine Kopie aller vom Befehl benutzten Arbeitsspeicher- *
Wörter ASW enthält. Dazu werden einzelne oder
mehrere aufeinanderfolgende Arbcitsspcichcrwörtcr nach bekannten Regeln in Einträgen des Pufferspeichers
PSPabgelegt. Ein solches einen Eintrag bildendes
Pufferspeicherwort PSW enthält aber neben den Datenbits DJS des Arbeitsspeicherworts ASW eine
Anzahl von Stcuerbils SB, von denen in diesem
Zusammenhang nur drei interessant sind, die in der Darstellung mit S, K C bezeichnet sind.
Mit Hilfe der Zustände dieser Steuerbits wird ein
einzelner Eintrag im Pufferspeicher PSP, also ein Pufferspeicherwon PSW, ähnlich wie bei den vorher
geschilderten Ausführungsbeispielen beispielsweise noch als vorläufig und noch zu testen oder als güllig
gekennzeichnet. Die Steuerbits S, V, G geben daher
Auskunft über den Status des zugehörigen Pufferspcichcrwortcs
PSW, so daß abhängig von ihrem Zustand ein einzelnes Pufferspeicherwort PSW löschbar,
in den Arbeitsspeicher ^SPüberschreibbar usw. ist
Im einzelnen stellt das Stcuerbii G ein Güliigkeitsbii
dar. Das »Vorläufigw-Kcnnzeichenbit V kennzeichnet
im Zustand »I« den Inhalt eines Pufferspeicherwortes MSIVaIs vorläufig und noch zu testen. Das Steuerbit S
bedeutet ein Schreibbit, das im Zustand »I« ein Programmspeicherwort PSW kennzeichnet, das in den
Arbeitsspeicher ^SPkopiert werden soll. Nachfolgende
Tabelle I ergibt einen Überblick über den jeweiligen Status des zugehörigen Piogrammspeichcrwortes PSW
in Abhängigkeit von dem Zustand der drei Steuerbus S, VundG.
Zustand von | V | O | Status du Puffenpcichcrwortes |
S | 1 | I | ■' -. . . ■ ■ . . -. |
t | 0 | J | Eintrag ist vorläufig. |
I | Endgültiger Eintrag, in den Arbeits | ||
I | 0 | speicher kopieren | |
I | Wegen eines Fehlen ungültiger | ||
0 | I | Eintiig | |
0 | Gültiger, in den Arbeitsspeicher | ||
1 | i | kopierter Eintraf | |
0 | 0 | 0 | |
0 | I | 0 | |
C | 0 | 0 | Freier Eintrag des Pufferspeichers, |
I | kann beliebig belegt werden |
Damit IiBt sich nun der in F i g. 6 wieder in Form eines
Programmablauf planes dargestellte Vcrf ihrcnsablauf
dieses Ausführungsbeispieles erliulern. Nach Abschluß
der Bercitftellungsphase eines Befehls stehen im Pufferspeicher PS W die zum Ausführen dieses Befehls
notwendigen Arbeitsspeicherwörter ASH'in einzelnen
Eintrlgen als Pufferspcicherworter PSW.
Mit dem Verfahrcnsschriti 60 beginnt die Ausführungsphase
dieses Befehls. Im Verfahrensschritt if werden die Parameter PA Äund Operanden O/»ausdem
Pufferspeicher PSP in die Verarbeitungseinheit VE übertragen. Daraus wird im Verfahrcnsschrilt 62 in
beschriebener Weise ein Resultat RES errechnet und dieses im Verfahrensschrill 63 in freie Einirige des
Pufferspeichers PSP übertragen. In den dabei belegten
Puffertpeicherwörtern PSW werden die Steuerbits S V
MttH/ttl
und G in den Zustand »1« gesetzt. Im nächsten
Verfahrensschritt 64 wird dieses zwischengespeichcrtp
Ergebnis RES durch die Fehlcrerkennungseinheit Ff
hinsichtlich möglicherweise aufgetretener Fehler getestet Bei negativem Test, also korrektem Ergebnis RES.
werden in den getesteten Pufferspeicherwörtern PSW die jeweiligen »Vorläufigw-Kennzeichenbits V im
Verfahrensschritt 65 gelöscht Damit ist das normale Befehlsende END! mit dem Verfahrensschritt 66
erreicht wonach die getesteten und endgültigen Einträge im Pufferspeicher PSPaufgrund des gesetzten
Schreibbits 5 in den Arbeitsspeicher ASP kopien
werden.
ist der im Verfahrensschrift 64 ausgeführte Test
jedoch positiv, d. h. das bei der Befehlsausführung erzielte Resultat ÄES fehlerhaft so wird im Verfahrensschritt 67 das Gültigkeitsbit C gelöscht und damit ein
abnormales Befehlende END2im Verfahrensschritt 68
erreicht, das, wie oben nach Fehlerroutinen des Betriebssystems eine Wiederholung des Befehls erfordert.
Aus diesem Verfahrensablauf ergib! sich. daS keine Einträge mit einem gesetzten »Vorlauf ig«· Kennel·
chenbit 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 S 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 Schreibbi; Sgetöscht ist
Wird die Ausführung eines Befehles wegen eines festgestellten Hardware- oder Programmfehlers abgebrochen,
so sind im Pufferspeicher PSPMc Einträge mit gesetzten Steuerbus Sund Vfür ungültig zu erklären.
Übrig bieibcn also dann nur die bei der Bereitstellung
des Befehls als güllig bezeichneten Einträge im Pufferspeicher.
ί Diese Art der Befehlsausführung erfordert bei
Transferbcfehlcn in ein periphere;. Gerät das in Fig. S
schematisch angegeben und mit PER bezeichnet ist einen Datentransfer nicht mehr aus dem Arbeitsspeicher
ASP. sondern aus dem Pufferspeicher PSP. wenn
in Arbeiisspeicheradressen berührt werden, deren Inhalt
im Pufferspeicher PSP enthalten ist und ein entsprechendes
Pufferspeicherwort PSW durch ein gesetztes Schreibbit 5 gekennzeichnet ist. Hierbei IaBt sich auch
ein Beispiel für einen Programmierer zeigen: Wenn
r> nämlich in einem derartigen Eintrag zugleich auch das
»Vorläufig«-Kennzeichen gesetzt ist. handelt es sich um einen Fehler im Eingabe-ZAusgabeprogramm. Denn das
würde bedeuten, daß Arbcitsspcichcrwörtcr 4SW
durch einen Befehl gleichzeitig ausgegeben und
jit verändert werden. Der Ausgabevorgang muß daher so
lange suspendiert werden, bis das »VorläufigK-Kcnnzcichenbit
^gelöscht ist
Das beschriebene Verfahren erfordert eine ausreichende
Größe des Pufferspeichers PSP. damit alle
>-> Bcfchlsparameter PAR. Operanden (Vund 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
m Befehle, für die diese Voraussetzung manchmal nicht
erfüllt sein kann, z. B. Befehle zum Bearbeiten von Bytcfeldern. 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.
llicr/u 3 Blatt Zeichnungen
Claims (3)
1. Verfahren rum 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 RegistcrsaU
und/oder in Speicherplätzen, eines Arbeitsspeichers bereitgestellten Parameter bzw. Operanden in die
Verarbeitungscinheit übertragen und dort zu einem Resultat verarbeitet werden, das in Ergebnisregiitcrrt
oder bestimmten Speicherplätzen des Arbeitsspeichers niedergelegt wird, worauf im Normalfall
dtr nächste Befehl bearbeitet, in einem durch Testen des Ergebnisses ermittelten Fchlcrfall jedoch durch
Fehlerroutinen den Fehler zu beheben versucht und dann derselbe Befehl nochmals ausgeführt wird,
dadurch gekennzeichnet, daO des in der Verarbeitungseinheit (VE) ermittelte Resultat (RES)
vor dem Test zunächst nur in einen zwciien .Registersatz (RS2) oder — sofern dabei die
Ausgangsoperanden nicht gelöscht werden - den
Arbeitsspeicher eingeschrieben wird, daß erst bei
einem durch den Test als giltig bcstitigbarcn Resultat der Inhalt des zweiten Registersatzes in den
ersten kopiert und damit die norma'e Befehlsausführung abgeschlossen wird [ENDi). während eine
Fehlermeldung ein abnormales BefehUende (ENO 2) bedeutet und Fchlcrroutinen auslöst, nach
deren erfolgreichem Abschluß mit den im ersten Registersatz bis dahin fixierten Daten der bereits
einmal ausgeführte Befehl mit Beginn des nfichsten Verarbeilimgszyklus unmittelbar wiederholt wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß das in der Verarbeitungseinheit (VE)
ermittelte Resultat in den ersten Regisicrsatz (ASt)
und durch den Zustand eines Stcuer-Flipflops (FF)
gesteuert, für aufeinanderfolgende Befehle abwechselnd
in den zweiten bzw. einen anttcn Registerrad
(flS2 bzw. RS3) übertragen wsrd und damit der
erste Regisiersau bei fehlerfreier Befenlsausführung
das korrekte Resultat (RES) enshält, Usß bei djrch
Tester, eis fehlerhaft ennittsltem Resultat (REOF)
der Inhalt des die Paramcier ütA Operanden des
eben ausgeführten Befehls enthalicridcri Register-
saizet (RSZ br*. RSS) in den ersten Regiitersatz
übertragen wird und damit die mehrfache Wiederhc-iberteit
des Befehls gesichert ist
3. VV-ifahreo zum wiederholten Ausführen von
Maschinenbefehlen durch eins 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 berehgestelhen Parameter bzw. Operanden in die
Verarbeitungseinheit übertragen und dort zu einem Resultat verarbeitet werden, du in Ergebnisregistern,
einem Pufferspeicher oder bcstimrnfen
Speicherplatzen des Arbeiisspttehers niedergelegt
wird, worauf im Normalfall der nächste Befehl bearbeitet, in einem durch Testen des Ergebnisses
ermittelten Fehlcrfall 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 an sich
bekannter Weise aus einem Arbeitsspeicher (ASP)
gelesen und in einem Pufferspeicher (PSP) als
Datenbit!. (DB) eme* um zusätzliche Steuerbits (S, V,
O) erweiterten Pn'ferspeicherwortei (PSW) abgt'
legt werden, daß zum Ausführen des Befehls die
Datenbus des Pufferspeicherwortes;in die Versrbei-
tung&eitiheit (VE) übertragen werden und ein dort
ermitteltes Resultat (RES) in freien Einträgen des
-Pufferspeichers abgelegt wird, wobei in einem
betroffenen Pufferspciciierwori sämtliche Steuerbus
ίο gesetzt werden, daß anschließend das Resultat auf
Fehler getestet wird, bei negativem Test bzw.:
Fehlerlosigkeil sodann das »Vorläufigu-Kcnnzei-
'·, chenbit (V) gelöscht, damit der Datenteil de»
betreffenden Pufferspcieherwortes in den Arbeit*·
ti speicher übertragen werden kann und dann mit
Löschen dct Schrcibbiis (S)d\c normale Befehlsausführung abgeschlossen ist und daß jedoch bei einem
fehlerhaften Ergebnis durch Löschen des Gültigkeitsbits
(G) der betreffende Eintrag für ungültig erklärt, also ein abnormales Befehlende \END2)
erreicht wird, bei dem der Befehl nach dadurch ausgelösten Fehlerroutincn erneut aufgrund der
ursprüngliche weiterhin gültig gebliebenen PufferspeichereintrBge
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 true DE2523795B2 (de) | 1979-03-15 |
DE2523795C3 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 |
DE2523795C3 (de) | 1979-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69730449T2 (de) | Erzeugung einer spiegeldatenkopie (bild) unter verwendung von referenzetiketten | |
DE2523414C3 (de) | Hierarchische Speicheranordnung mit mehr als zwei Speicherstufen | |
DE69126050T2 (de) | Verfahren zur Aktualisierung oder Wiedergabe gespeicherter Datengruppen und System zu dessen Erzeugung | |
DE2350884C2 (de) | Adreßumsetzungseinheit | |
DE69717876T2 (de) | Eingabe-/Ausgabesteuergerät mit Wiederanlaufkennzeichnungsfunktion | |
DE69131840T2 (de) | Verfahren zur Vervielfältigung eines geteilten Speichers | |
DE3789176T2 (de) | Mikroprozessor zur Datentransferwiederholung. | |
DE2210325C3 (de) | Datenverarbeitungseinrichtung | |
DE69126057T2 (de) | Ein Informationsverarbeitungsgerät mit einer Fehlerprüf- und Korrekturschaltung | |
EP0010198A2 (de) | Vorrichtung zur Steuerung des Seitenaustausches in einem Datenverarbeitungssystem mit virtuellem Speicher | |
DE3508291A1 (de) | Realzeit-datenverarbeitungssystem | |
EP0228559A1 (de) | Fehlertolerante Mehrrechneranordnung | |
DE3900187A1 (de) | Ein-chip-mikrocomputer | |
DE3886756T2 (de) | Betriebsmittelzugriff für Multiprozessorrechnersystem. | |
DE3710813A1 (de) | Datenverarbeitungssystem sowie verfahren dafuer | |
DE2054830A1 (de) | Informationsverarbeitungssystem mit wortstrukturiertem Speicher und Verfahren fur einen Zugriff zu einem derar tigen Speicher | |
DE69527862T2 (de) | Schaltung zur Zeitüberschreitungsverarbeitung und Empfänger mit dieser Schaltung | |
DE1524788B2 (de) | Schaltungsanordnung zum erkennen und zum automatischen ersetzen von schadhaften speicherstellen in datenspeichern | |
DE2350229A1 (de) | Datenverarbeitungsanlage, insbesondere als steuereinrichtung fuer fernsprechvermittlungsanlagen | |
EP0350016B1 (de) | Verfahren und Einrichtung zum Duplizieren des Inhalts von Datenträgern | |
DE60300233T2 (de) | Fehlertolerante Vorrichtung zur informationsverarbeitung | |
EP0265636A1 (de) | Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher | |
DE2523795B2 (de) | ||
DE19905541A1 (de) | Verfahren zum Steuern des Speicherzugriffs in einer Maschine mit einem Speicher mit ungleichmäßigem Zugriff und Maschine zur Ausführung eines solchen Verfahrens | |
DE2842603A1 (de) | Schnittstelle zwischen einem wartungsprozessor und einer mehrzahl einzeln zu pruefender funktionseinheiten eines datenverarbeitenden systems |
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 |