[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

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
Application number
DE19752523795
Other languages
English (en)
Other versions
DE2523795A1 (de
DE2523795C3 (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
to wiederholten Ausführen von Maschinenbefehlen in einer Verarbeuungseinheit einer Datenverarbeitungsanlage gemiO den Oberbegriffen der Ansprüche 1 oder 3. · ■ ■■■. .. ·:. .·■■■■■ .;:
Im Laufe der Ausführung eines Befehles in der
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
Pufferspeicher für gültig erklärt und an sich
ohnehin üblicherweise vorgesehen ist.
ein Schreibbit, das im gesetzten Zustand ein 4U
Pufferspeicherwort kennzeichnet, dessen Datenteil
in den Arbeitsspeicher zurückgeschrieben werden muß und
ein sogenanntes »Vorläufig«i-Kennzeichenbit, das
im gesetzten Zustand das betreffende Puffer- 4>
Speicherwort 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 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.
Tabellel
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)

Patentansprüche:
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.
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 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)

* 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
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